summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2012-12-07 02:53:31 -0800
committerAnas Nashif <anas.nashif@intel.com>2012-12-07 02:53:31 -0800
commitcbb6286cb92020dd7ae88798ed831ed76fd2130e (patch)
tree782a01c00d5e064aa67ea3f9241a8ef1de1060c6
downloadlinks-cbb6286cb92020dd7ae88798ed831ed76fd2130e.tar.gz
links-cbb6286cb92020dd7ae88798ed831ed76fd2130e.tar.bz2
links-cbb6286cb92020dd7ae88798ed831ed76fd2130e.zip
Imported Upstream version 2.6upstream/2.6upstream
-rw-r--r--AUTHORS369
-rw-r--r--BRAILLE_HOWTO29
-rw-r--r--COPYING353
-rw-r--r--ChangeLog4234
-rw-r--r--INSTALL114
-rw-r--r--KEYS77
-rw-r--r--Links_logo.pngbin0 -> 650 bytes
-rw-r--r--Makefile.am38
-rw-r--r--Makefile.in564
-rw-r--r--NEWS16
-rw-r--r--PATCH-gpm-1.20.0-smooth-cursor84
-rw-r--r--PATCH-libpng-1.2.1814
-rw-r--r--README48
-rw-r--r--SITES14
-rw-r--r--Unicode/7bit.cp3
-rw-r--r--Unicode/7bitrepl.lnx2232
-rw-r--r--Unicode/8859_1.cp193
-rw-r--r--Unicode/8859_10.cp305
-rw-r--r--Unicode/8859_13.cp134
-rw-r--r--Unicode/8859_14.cp303
-rw-r--r--Unicode/8859_15.cp305
-rw-r--r--Unicode/8859_16.cp301
-rw-r--r--Unicode/8859_2.cp193
-rw-r--r--Unicode/8859_3.cp298
-rw-r--r--Unicode/8859_4.cp133
-rw-r--r--Unicode/8859_5.cp305
-rw-r--r--Unicode/8859_6.cp262
-rw-r--r--Unicode/8859_7.cp304
-rw-r--r--Unicode/8859_8.cp272
-rw-r--r--Unicode/8859_9.cp309
-rw-r--r--Unicode/cp1125.cp137
-rw-r--r--Unicode/cp1250.cp276
-rw-r--r--Unicode/cp1251.cp225
-rw-r--r--Unicode/cp1252.cp254
-rw-r--r--Unicode/cp1256.cp276
-rw-r--r--Unicode/cp1257.cp153
-rw-r--r--Unicode/cp437.cp275
-rw-r--r--Unicode/cp737.cp275
-rw-r--r--Unicode/cp850.cp275
-rw-r--r--Unicode/cp852.cp275
-rw-r--r--Unicode/cp866.cp276
-rw-r--r--Unicode/entities.lnx1100
-rwxr-xr-xUnicode/gen5
-rwxr-xr-xUnicode/gen-7b20
-rwxr-xr-xUnicode/gen-cp34
-rwxr-xr-xUnicode/gen-ent20
-rwxr-xr-xUnicode/gen-upc14
-rw-r--r--Unicode/index.txt35
-rw-r--r--Unicode/kamen.cp263
-rw-r--r--Unicode/koi8_r.cp226
-rw-r--r--Unicode/koi8_ru.cp137
-rw-r--r--Unicode/koi8_u.cp136
-rw-r--r--Unicode/mac_lat2.cp276
-rw-r--r--Unicode/macroman.cp258
-rw-r--r--Unicode/tcvn5712.cp264
-rwxr-xr-xUnicode/tr7bit.awk35
-rw-r--r--Unicode/upcase.uni674
-rw-r--r--Unicode/utf_8.cp3
-rw-r--r--Unicode/viscii.cp264
-rw-r--r--acconfig.h146
-rw-r--r--aclocal.m4384
-rw-r--r--af_unix.c242
-rw-r--r--arrow.inc36
-rw-r--r--atheos.cpp647
-rw-r--r--auth.c235
-rw-r--r--beos.c267
-rw-r--r--beos.h22
-rw-r--r--bfu.c2342
-rw-r--r--bits.h50
-rw-r--r--block.c365
-rw-r--r--bookmarks.c900
-rw-r--r--cache.c444
-rw-r--r--cfg.h35
-rw-r--r--charsets.c630
-rw-r--r--codepage.h1
-rw-r--r--codepage.inc4311
-rw-r--r--compress.c621
-rw-r--r--config.guess976
-rw-r--r--config.h.in670
-rw-r--r--config.sub958
-rwxr-xr-xconfigure11633
-rw-r--r--configure.in1029
-rw-r--r--connect.c581
-rw-r--r--cookies.c314
-rw-r--r--default.c2069
-rw-r--r--dip.c2206
-rw-r--r--directfb.c891
-rw-r--r--directfb_cursors.h97
-rw-r--r--dither.c974
-rw-r--r--dns.c355
-rw-r--r--doc/links_cal/adjusted.pngbin0 -> 135 bytes
-rw-r--r--doc/links_cal/black-control-rocking.pngbin0 -> 396 bytes
-rw-r--r--doc/links_cal/black-icon.pngbin0 -> 253 bytes
-rw-r--r--doc/links_cal/calibration.html68
-rw-r--r--doc/links_cal/elbow.pngbin0 -> 1074 bytes
-rw-r--r--doc/links_cal/kalibrace.html88
-rw-r--r--doc/links_cal/picture-crank-0.pngbin0 -> 439 bytes
-rw-r--r--doc/links_cal/picture-crank-up.pngbin0 -> 312 bytes
-rw-r--r--doc/links_cal/picture-icon.pngbin0 -> 216 bytes
-rw-r--r--doc/links_cal/test_pattern.pngbin0 -> 20566 bytes
-rw-r--r--drivers.c305
-rw-r--r--entity.inc1006
-rw-r--r--error.c799
-rw-r--r--fbcommon.inc154
-rw-r--r--file.c429
-rw-r--r--finger.c99
-rw-r--r--font_include.c58347
-rw-r--r--framebuffer.c1685
-rw-r--r--ftp.c792
-rw-r--r--gif.c543
-rw-r--r--graphics/Fontmap7
-rw-r--r--graphics/Makefile23
-rw-r--r--graphics/arrow.c84
-rw-r--r--graphics/arrow.pngbin0 -> 393 bytes
-rw-r--r--graphics/clip.c943
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0020.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0021.pngbin0 -> 559 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0022.pngbin0 -> 452 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0023.pngbin0 -> 640 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0024.pngbin0 -> 1052 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0025.pngbin0 -> 1481 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0026.pngbin0 -> 1320 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0027.pngbin0 -> 385 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0028.pngbin0 -> 639 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0029.pngbin0 -> 645 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/002a.pngbin0 -> 759 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/002b.pngbin0 -> 201 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/002c.pngbin0 -> 380 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/002d.pngbin0 -> 149 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/002e.pngbin0 -> 254 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/002f.pngbin0 -> 346 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0030.pngbin0 -> 900 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0031.pngbin0 -> 298 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0032.pngbin0 -> 923 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0033.pngbin0 -> 1012 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0034.pngbin0 -> 598 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0035.pngbin0 -> 989 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0036.pngbin0 -> 1013 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0037.pngbin0 -> 773 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0038.pngbin0 -> 1013 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0039.pngbin0 -> 1012 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/003a.pngbin0 -> 392 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/003b.pngbin0 -> 511 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/003c.pngbin0 -> 559 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/003d.pngbin0 -> 168 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/003e.pngbin0 -> 534 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/003f.pngbin0 -> 791 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0040.pngbin0 -> 1692 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0041.pngbin0 -> 863 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0042.pngbin0 -> 841 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0043.pngbin0 -> 1072 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0044.pngbin0 -> 755 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0045.pngbin0 -> 772 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0046.pngbin0 -> 601 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0047.pngbin0 -> 1132 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0048.pngbin0 -> 384 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0049.pngbin0 -> 225 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/004a.pngbin0 -> 650 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/004b.pngbin0 -> 851 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/004c.pngbin0 -> 414 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/004d.pngbin0 -> 1013 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/004e.pngbin0 -> 883 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/004f.pngbin0 -> 1091 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0050.pngbin0 -> 623 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0051.pngbin0 -> 1415 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0052.pngbin0 -> 924 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0053.pngbin0 -> 1159 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0054.pngbin0 -> 516 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0055.pngbin0 -> 698 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0056.pngbin0 -> 912 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0057.pngbin0 -> 1324 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0058.pngbin0 -> 918 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0059.pngbin0 -> 666 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/005a.pngbin0 -> 847 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/005b.pngbin0 -> 167 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/005c.pngbin0 -> 651 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/005d.pngbin0 -> 169 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/005e.pngbin0 -> 552 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/005f.pngbin0 -> 133 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0060.pngbin0 -> 381 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0061.pngbin0 -> 822 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0062.pngbin0 -> 808 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0063.pngbin0 -> 755 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0064.pngbin0 -> 800 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0065.pngbin0 -> 744 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0066.pngbin0 -> 526 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0067.pngbin0 -> 1064 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0068.pngbin0 -> 560 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0069.pngbin0 -> 392 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/006a.pngbin0 -> 610 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/006b.pngbin0 -> 637 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/006c.pngbin0 -> 259 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/006d.pngbin0 -> 712 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/006e.pngbin0 -> 542 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/006f.pngbin0 -> 767 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0070.pngbin0 -> 814 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0071.pngbin0 -> 830 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0072.pngbin0 -> 553 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0073.pngbin0 -> 807 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0074.pngbin0 -> 500 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0075.pngbin0 -> 549 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0076.pngbin0 -> 660 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0077.pngbin0 -> 968 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0078.pngbin0 -> 648 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0079.pngbin0 -> 888 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/007a.pngbin0 -> 643 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/007b.pngbin0 -> 484 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/007c.pngbin0 -> 130 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/007d.pngbin0 -> 478 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/007e.pngbin0 -> 406 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00a1.pngbin0 -> 561 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00a2.pngbin0 -> 931 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00a3.pngbin0 -> 1002 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00a5.pngbin0 -> 677 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00a6.pngbin0 -> 130 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00a7.pngbin0 -> 1058 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00a8.pngbin0 -> 322 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00ab.pngbin0 -> 567 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00af.pngbin0 -> 132 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00b0.pngbin0 -> 372 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00b1.pngbin0 -> 285 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00b4.pngbin0 -> 283 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00b6.pngbin0 -> 493 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00b7.pngbin0 -> 230 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00b8.pngbin0 -> 327 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00bb.pngbin0 -> 548 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00bf.pngbin0 -> 803 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00c0.pngbin0 -> 1108 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00c1.pngbin0 -> 1109 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00c2.pngbin0 -> 1177 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00c3.pngbin0 -> 1200 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00c4.pngbin0 -> 1174 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00c5.pngbin0 -> 1204 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00c6.pngbin0 -> 1222 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00c7.pngbin0 -> 1373 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00c8.pngbin0 -> 1015 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00c9.pngbin0 -> 1023 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00ca.pngbin0 -> 1077 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00cb.pngbin0 -> 1064 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00cc.pngbin0 -> 435 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00cd.pngbin0 -> 451 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00ce.pngbin0 -> 497 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00cf.pngbin0 -> 484 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00d0.pngbin0 -> 846 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00d1.pngbin0 -> 1206 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00d2.pngbin0 -> 1330 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00d3.pngbin0 -> 1341 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00d4.pngbin0 -> 1383 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00d5.pngbin0 -> 1399 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00d6.pngbin0 -> 1370 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00d8.pngbin0 -> 1446 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00d9.pngbin0 -> 922 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00da.pngbin0 -> 934 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00db.pngbin0 -> 977 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00dc.pngbin0 -> 975 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00dd.pngbin0 -> 901 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00df.pngbin0 -> 876 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00e0.pngbin0 -> 1031 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00e1.pngbin0 -> 1035 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00e2.pngbin0 -> 1079 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00e3.pngbin0 -> 1090 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00e4.pngbin0 -> 1077 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00e5.pngbin0 -> 1139 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00e6.pngbin0 -> 1137 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00e7.pngbin0 -> 1000 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00e8.pngbin0 -> 948 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00e9.pngbin0 -> 954 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00ea.pngbin0 -> 999 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00eb.pngbin0 -> 983 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00ec.pngbin0 -> 461 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00ed.pngbin0 -> 480 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00ee.pngbin0 -> 513 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00ef.pngbin0 -> 507 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00f1.pngbin0 -> 827 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00f2.pngbin0 -> 970 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00f3.pngbin0 -> 981 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00f4.pngbin0 -> 1017 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00f5.pngbin0 -> 1043 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00f6.pngbin0 -> 1015 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00f8.pngbin0 -> 1020 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00f9.pngbin0 -> 788 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00fa.pngbin0 -> 807 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00fb.pngbin0 -> 846 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00fc.pngbin0 -> 831 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00fd.pngbin0 -> 1096 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/00ff.pngbin0 -> 1143 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0100.pngbin0 -> 996 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0101.pngbin0 -> 908 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0102.pngbin0 -> 1189 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0103.pngbin0 -> 1089 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0104.pngbin0 -> 1108 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0105.pngbin0 -> 1015 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0106.pngbin0 -> 1311 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0107.pngbin0 -> 964 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0108.pngbin0 -> 1358 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0109.pngbin0 -> 995 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/010a.pngbin0 -> 1269 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/010b.pngbin0 -> 919 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/010c.pngbin0 -> 1361 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/010d.pngbin0 -> 1002 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/010e.pngbin0 -> 1030 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/010f.pngbin0 -> 1188 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0110.pngbin0 -> 859 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0111.pngbin0 -> 900 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0112.pngbin0 -> 900 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0113.pngbin0 -> 826 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0114.pngbin0 -> 1082 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0115.pngbin0 -> 1010 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0116.pngbin0 -> 986 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0117.pngbin0 -> 908 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0118.pngbin0 -> 1016 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0119.pngbin0 -> 932 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/011a.pngbin0 -> 1069 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/011b.pngbin0 -> 994 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/011c.pngbin0 -> 1426 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/011d.pngbin0 -> 1343 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/011e.pngbin0 -> 1447 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/011f.pngbin0 -> 1364 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0120.pngbin0 -> 1334 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0121.pngbin0 -> 1264 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0124.pngbin0 -> 670 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0125.pngbin0 -> 846 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0126.pngbin0 -> 505 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0127.pngbin0 -> 658 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0128.pngbin0 -> 512 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0129.pngbin0 -> 535 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/012a.pngbin0 -> 298 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/012b.pngbin0 -> 327 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/012c.pngbin0 -> 504 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/012d.pngbin0 -> 519 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/012e.pngbin0 -> 433 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/012f.pngbin0 -> 605 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0130.pngbin0 -> 393 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0132.pngbin0 -> 874 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0133.pngbin0 -> 883 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0134.pngbin0 -> 914 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0135.pngbin0 -> 714 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0139.pngbin0 -> 648 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/013a.pngbin0 -> 478 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/013d.pngbin0 -> 763 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/013e.pngbin0 -> 633 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0141.pngbin0 -> 647 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0142.pngbin0 -> 411 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0143.pngbin0 -> 1128 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0144.pngbin0 -> 770 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0147.pngbin0 -> 1179 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0148.pngbin0 -> 815 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/014c.pngbin0 -> 1192 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/014d.pngbin0 -> 853 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/014e.pngbin0 -> 1400 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/014f.pngbin0 -> 1036 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0150.pngbin0 -> 1431 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0151.pngbin0 -> 1076 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0152.pngbin0 -> 1250 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0153.pngbin0 -> 1101 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0154.pngbin0 -> 1181 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0155.pngbin0 -> 761 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0158.pngbin0 -> 1227 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0159.pngbin0 -> 797 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/015a.pngbin0 -> 1389 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/015b.pngbin0 -> 1016 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/015c.pngbin0 -> 1431 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/015d.pngbin0 -> 1066 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/015e.pngbin0 -> 1451 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/015f.pngbin0 -> 1059 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0160.pngbin0 -> 1435 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0161.pngbin0 -> 1056 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0162.pngbin0 -> 794 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0163.pngbin0 -> 752 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0164.pngbin0 -> 787 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0165.pngbin0 -> 811 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0166.pngbin0 -> 632 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0167.pngbin0 -> 602 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0168.pngbin0 -> 1007 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0169.pngbin0 -> 863 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/016a.pngbin0 -> 808 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/016b.pngbin0 -> 659 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/016c.pngbin0 -> 999 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/016d.pngbin0 -> 860 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/016e.pngbin0 -> 1021 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/016f.pngbin0 -> 891 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0170.pngbin0 -> 1024 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0171.pngbin0 -> 888 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0172.pngbin0 -> 911 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0173.pngbin0 -> 780 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0174.pngbin0 -> 1610 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0175.pngbin0 -> 1218 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0176.pngbin0 -> 947 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0177.pngbin0 -> 1134 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0178.pngbin0 -> 936 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0179.pngbin0 -> 1072 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/017a.pngbin0 -> 847 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/017b.pngbin0 -> 1026 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/017c.pngbin0 -> 809 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/017d.pngbin0 -> 1122 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/017e.pngbin0 -> 887 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01cd.pngbin0 -> 1818 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01ce.pngbin0 -> 1089 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01cf.pngbin0 -> 748 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01d0.pngbin0 -> 514 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01d1.pngbin0 -> 1385 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01d2.pngbin0 -> 1025 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01d3.pngbin0 -> 987 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01d4.pngbin0 -> 851 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01e6.pngbin0 -> 1424 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01e7.pngbin0 -> 1348 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01e8.pngbin0 -> 1948 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01e9.pngbin0 -> 931 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01ea.pngbin0 -> 1321 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01eb.pngbin0 -> 959 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01f0.pngbin0 -> 716 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01f4.pngbin0 -> 2278 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01f5.pngbin0 -> 2267 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01f8.pngbin0 -> 1850 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/01f9.pngbin0 -> 697 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/02c6.pngbin0 -> 326 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/02c7.pngbin0 -> 324 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/02d9.pngbin0 -> 230 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/02da.pngbin0 -> 372 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/02db.pngbin0 -> 271 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/02dc.pngbin0 -> 351 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/02dd.pngbin0 -> 452 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0300.pngbin0 -> 269 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0306.pngbin0 -> 333 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/030b.pngbin0 -> 373 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0462.pngbin0 -> 890 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0463.pngbin0 -> 834 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0472.pngbin0 -> 1096 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/0473.pngbin0 -> 801 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/2013.pngbin0 -> 136 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/2014.pngbin0 -> 149 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/2020.pngbin0 -> 786 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/2021.pngbin0 -> 1004 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/2022.pngbin0 -> 409 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/2026.pngbin0 -> 541 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/2030.pngbin0 -> 1776 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/2039.pngbin0 -> 346 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/203a.pngbin0 -> 354 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/2116.pngbin0 -> 1329 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/aliases5
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/fb01.pngbin0 -> 658 bytes
-rw-r--r--graphics/font/century_school-bold-roman-serif-vari/fb02.pngbin0 -> 592 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0000.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0001.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0002.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0003.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0004.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0005.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0006.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0007.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0008.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0009.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/000a.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/000b.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/000c.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/000d.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/000e.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/000f.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0010.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0011.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0012.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0013.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0014.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0015.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0016.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0017.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0018.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0019.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/001a.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/001b.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/001c.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/001d.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/001e.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/001f.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0020.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0021.pngbin0 -> 528 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0022.pngbin0 -> 393 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0023.pngbin0 -> 722 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0024.pngbin0 -> 1081 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0025.pngbin0 -> 1614 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0026.pngbin0 -> 1439 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0027.pngbin0 -> 342 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0028.pngbin0 -> 675 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0029.pngbin0 -> 683 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/002a.pngbin0 -> 763 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/002b.pngbin0 -> 202 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/002c.pngbin0 -> 358 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/002d.pngbin0 -> 147 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/002e.pngbin0 -> 226 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/002f.pngbin0 -> 575 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0030.pngbin0 -> 992 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0031.pngbin0 -> 347 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0032.pngbin0 -> 972 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0033.pngbin0 -> 1058 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0034.pngbin0 -> 679 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0035.pngbin0 -> 1036 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0036.pngbin0 -> 1090 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0037.pngbin0 -> 768 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0038.pngbin0 -> 1112 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0039.pngbin0 -> 1100 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/003a.pngbin0 -> 336 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/003b.pngbin0 -> 463 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/003c.pngbin0 -> 606 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/003d.pngbin0 -> 173 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/003e.pngbin0 -> 582 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/003f.pngbin0 -> 773 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0040.pngbin0 -> 1769 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0041.pngbin0 -> 1040 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0042.pngbin0 -> 872 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0043.pngbin0 -> 1096 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0044.pngbin0 -> 807 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0045.pngbin0 -> 799 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0046.pngbin0 -> 624 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0047.pngbin0 -> 1183 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0048.pngbin0 -> 445 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0049.pngbin0 -> 266 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/004a.pngbin0 -> 652 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/004b.pngbin0 -> 845 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/004c.pngbin0 -> 479 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/004d.pngbin0 -> 1196 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/004e.pngbin0 -> 983 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/004f.pngbin0 -> 1167 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0050.pngbin0 -> 652 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0051.pngbin0 -> 1539 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0052.pngbin0 -> 979 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0053.pngbin0 -> 1206 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0054.pngbin0 -> 573 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0055.pngbin0 -> 765 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0056.pngbin0 -> 1056 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0057.pngbin0 -> 1511 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0058.pngbin0 -> 1087 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0059.pngbin0 -> 802 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/005a.pngbin0 -> 972 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/005b.pngbin0 -> 180 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/005c.pngbin0 -> 675 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/005d.pngbin0 -> 182 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/005e.pngbin0 -> 632 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/005f.pngbin0 -> 121 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0060.pngbin0 -> 352 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0061.pngbin0 -> 866 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0062.pngbin0 -> 839 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0063.pngbin0 -> 737 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0064.pngbin0 -> 849 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0065.pngbin0 -> 776 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0066.pngbin0 -> 500 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0067.pngbin0 -> 1172 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0068.pngbin0 -> 563 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0069.pngbin0 -> 358 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/006a.pngbin0 -> 560 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/006b.pngbin0 -> 736 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/006c.pngbin0 -> 255 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/006d.pngbin0 -> 802 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/006e.pngbin0 -> 546 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/006f.pngbin0 -> 775 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0070.pngbin0 -> 859 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0071.pngbin0 -> 847 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0072.pngbin0 -> 536 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0073.pngbin0 -> 793 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0074.pngbin0 -> 518 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0075.pngbin0 -> 566 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0076.pngbin0 -> 684 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0077.pngbin0 -> 1043 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0078.pngbin0 -> 714 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0079.pngbin0 -> 881 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/007a.pngbin0 -> 588 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/007b.pngbin0 -> 515 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/007c.pngbin0 -> 148 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/007d.pngbin0 -> 521 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/007e.pngbin0 -> 416 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0080.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0081.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0082.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0083.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0084.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0085.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0086.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0087.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0088.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0089.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/008a.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/008b.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/008c.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/008d.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/008e.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/008f.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0090.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0091.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0092.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0093.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0094.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0095.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0096.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0097.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0098.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0099.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/009a.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/009b.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/009c.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/009d.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/009e.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/009f.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00a0.pngbin0 -> 99 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00a1.pngbin0 -> 520 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00a2.pngbin0 -> 1023 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00a3.pngbin0 -> 1038 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00a4.pngbin0 -> 2380 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00a5.pngbin0 -> 765 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00a6.pngbin0 -> 148 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00a7.pngbin0 -> 1133 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00a8.pngbin0 -> 276 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00a9.pngbin0 -> 1462 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00ab.pngbin0 -> 581 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00ac.pngbin0 -> 168 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00ad.pngbin0 -> 147 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00ae.pngbin0 -> 1494 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00af.pngbin0 -> 130 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00b0.pngbin0 -> 353 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00b1.pngbin0 -> 212 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00b4.pngbin0 -> 234 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00b5.pngbin0 -> 840 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00b6.pngbin0 -> 1233 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00b7.pngbin0 -> 206 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00b8.pngbin0 -> 311 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00ba.pngbin0 -> 543 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00bb.pngbin0 -> 572 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00bf.pngbin0 -> 789 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00c0.pngbin0 -> 1033 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00c1.pngbin0 -> 1030 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00c2.pngbin0 -> 1115 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00c3.pngbin0 -> 1102 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00c4.pngbin0 -> 1089 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00c5.pngbin0 -> 1148 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00c6.pngbin0 -> 1282 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00c7.pngbin0 -> 1218 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00c8.pngbin0 -> 909 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00c9.pngbin0 -> 912 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00ca.pngbin0 -> 1012 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00cb.pngbin0 -> 965 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00cc.pngbin0 -> 365 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00cd.pngbin0 -> 361 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00ce.pngbin0 -> 463 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00cf.pngbin0 -> 416 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00d0.pngbin0 -> 799 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00d1.pngbin0 -> 1098 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00d2.pngbin0 -> 1158 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00d3.pngbin0 -> 1156 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00d4.pngbin0 -> 1271 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00d5.pngbin0 -> 1236 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00d6.pngbin0 -> 1223 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00d7.pngbin0 -> 508 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00d8.pngbin0 -> 1581 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00d9.pngbin0 -> 824 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00da.pngbin0 -> 823 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00db.pngbin0 -> 920 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00dc.pngbin0 -> 883 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00dd.pngbin0 -> 833 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00de.pngbin0 -> 643 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00df.pngbin0 -> 977 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00e0.pngbin0 -> 877 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00e1.pngbin0 -> 878 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00e2.pngbin0 -> 968 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00e3.pngbin0 -> 942 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00e4.pngbin0 -> 922 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00e5.pngbin0 -> 990 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00e6.pngbin0 -> 1214 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00e7.pngbin0 -> 828 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00e8.pngbin0 -> 794 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00e9.pngbin0 -> 791 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00ea.pngbin0 -> 884 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00eb.pngbin0 -> 836 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00ec.pngbin0 -> 364 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00ed.pngbin0 -> 359 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00ee.pngbin0 -> 463 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00ef.pngbin0 -> 415 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00f0.pngbin0 -> 1059 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00f1.pngbin0 -> 687 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00f2.pngbin0 -> 820 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00f3.pngbin0 -> 813 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00f4.pngbin0 -> 912 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00f5.pngbin0 -> 878 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00f6.pngbin0 -> 855 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00f7.pngbin0 -> 335 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00f8.pngbin0 -> 1069 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00f9.pngbin0 -> 650 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00fa.pngbin0 -> 647 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00fb.pngbin0 -> 741 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00fc.pngbin0 -> 701 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00fd.pngbin0 -> 883 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00fe.pngbin0 -> 864 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/00ff.pngbin0 -> 938 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0100.pngbin0 -> 948 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0101.pngbin0 -> 802 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0102.pngbin0 -> 1128 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0103.pngbin0 -> 974 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0104.pngbin0 -> 1067 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0105.pngbin0 -> 899 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0106.pngbin0 -> 1130 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0107.pngbin0 -> 758 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0108.pngbin0 -> 1236 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0109.pngbin0 -> 846 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/010a.pngbin0 -> 1118 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/010b.pngbin0 -> 736 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/010c.pngbin0 -> 1227 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/010d.pngbin0 -> 846 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/010e.pngbin0 -> 957 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/010f.pngbin0 -> 988 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0111.pngbin0 -> 800 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0112.pngbin0 -> 834 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0113.pngbin0 -> 723 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0114.pngbin0 -> 1009 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0115.pngbin0 -> 886 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0116.pngbin0 -> 898 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0117.pngbin0 -> 775 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0118.pngbin0 -> 958 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0119.pngbin0 -> 823 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/011a.pngbin0 -> 1005 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/011b.pngbin0 -> 894 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/011c.pngbin0 -> 1314 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/011d.pngbin0 -> 1363 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/011e.pngbin0 -> 1318 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/011f.pngbin0 -> 1221 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0120.pngbin0 -> 1203 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0121.pngbin0 -> 1104 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0123.pngbin0 -> 1387 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0124.pngbin0 -> 650 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0125.pngbin0 -> 734 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0126.pngbin0 -> 476 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0127.pngbin0 -> 574 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0128.pngbin0 -> 431 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0129.pngbin0 -> 440 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/012a.pngbin0 -> 278 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/012b.pngbin0 -> 267 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/012c.pngbin0 -> 464 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/012d.pngbin0 -> 457 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/012e.pngbin0 -> 406 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/012f.pngbin0 -> 498 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0130.pngbin0 -> 350 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0131.pngbin0 -> 250 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0132.pngbin0 -> 778 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0133.pngbin0 -> 759 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0134.pngbin0 -> 815 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0135.pngbin0 -> 639 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0136.pngbin0 -> 1033 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0137.pngbin0 -> 916 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0138.pngbin0 -> 794 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0139.pngbin0 -> 572 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/013a.pngbin0 -> 347 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/013b.pngbin0 -> 681 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/013c.pngbin0 -> 462 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/013d.pngbin0 -> 722 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/013e.pngbin0 -> 477 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/013f.pngbin0 -> 577 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0140.pngbin0 -> 351 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0141.pngbin0 -> 771 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0142.pngbin0 -> 401 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0143.pngbin0 -> 1029 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0144.pngbin0 -> 621 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0145.pngbin0 -> 1183 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0146.pngbin0 -> 757 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0147.pngbin0 -> 1138 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0148.pngbin0 -> 726 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0149.pngbin0 -> 802 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/014a.pngbin0 -> 1273 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/014b.pngbin0 -> 778 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/014c.pngbin0 -> 1081 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/014d.pngbin0 -> 736 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/014e.pngbin0 -> 1273 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/014f.pngbin0 -> 903 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0150.pngbin0 -> 1282 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0151.pngbin0 -> 917 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0152.pngbin0 -> 1399 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0153.pngbin0 -> 1205 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0154.pngbin0 -> 1023 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0155.pngbin0 -> 614 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0156.pngbin0 -> 1174 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0157.pngbin0 -> 738 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0158.pngbin0 -> 1129 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0159.pngbin0 -> 713 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/015a.pngbin0 -> 1238 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/015b.pngbin0 -> 809 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/015c.pngbin0 -> 1337 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/015d.pngbin0 -> 893 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/015e.pngbin0 -> 1332 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/015f.pngbin0 -> 887 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0160.pngbin0 -> 1331 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0161.pngbin0 -> 905 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0162.pngbin0 -> 783 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0163.pngbin0 -> 682 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0164.pngbin0 -> 789 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0165.pngbin0 -> 686 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0166.pngbin0 -> 632 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0167.pngbin0 -> 534 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0168.pngbin0 -> 889 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0169.pngbin0 -> 712 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/016a.pngbin0 -> 747 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/016b.pngbin0 -> 563 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/016c.pngbin0 -> 926 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/016d.pngbin0 -> 751 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/016e.pngbin0 -> 942 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/016f.pngbin0 -> 769 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0170.pngbin0 -> 930 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0171.pngbin0 -> 748 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0172.pngbin0 -> 853 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0173.pngbin0 -> 676 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0174.pngbin0 -> 1568 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0175.pngbin0 -> 1143 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0176.pngbin0 -> 914 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0177.pngbin0 -> 965 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0178.pngbin0 -> 890 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0179.pngbin0 -> 996 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/017a.pngbin0 -> 687 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/017b.pngbin0 -> 980 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/017c.pngbin0 -> 623 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/017d.pngbin0 -> 1092 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/017e.pngbin0 -> 737 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/017f.pngbin0 -> 489 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0186.pngbin0 -> 1094 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0187.pngbin0 -> 1302 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0188.pngbin0 -> 886 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0189.pngbin0 -> 837 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/018a.pngbin0 -> 935 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/018c.pngbin0 -> 899 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/018e.pngbin0 -> 817 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/018f.pngbin0 -> 1151 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0190.pngbin0 -> 1005 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0191.pngbin0 -> 789 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0192.pngbin0 -> 712 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0193.pngbin0 -> 1335 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0197.pngbin0 -> 281 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0198.pngbin0 -> 963 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0199.pngbin0 -> 931 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/019a.pngbin0 -> 276 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/019b.pngbin0 -> 814 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/019c.pngbin0 -> 1140 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/019d.pngbin0 -> 984 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/019e.pngbin0 -> 587 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/019f.pngbin0 -> 1173 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01c3.pngbin0 -> 528 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01c4.pngbin0 -> 1854 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01c5.pngbin0 -> 1537 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01c6.pngbin0 -> 1568 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01c7.pngbin0 -> 1008 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01c8.pngbin0 -> 960 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01c9.pngbin0 -> 732 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01ca.pngbin0 -> 1523 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01cb.pngbin0 -> 1470 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01cc.pngbin0 -> 1023 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01cd.pngbin0 -> 1115 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01ce.pngbin0 -> 978 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01cf.pngbin0 -> 460 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01d0.pngbin0 -> 458 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01d1.pngbin0 -> 1268 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01d2.pngbin0 -> 913 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01d3.pngbin0 -> 919 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01d4.pngbin0 -> 751 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01e6.pngbin0 -> 1305 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01e7.pngbin0 -> 1227 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01e8.pngbin0 -> 987 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01e9.pngbin0 -> 887 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01ea.pngbin0 -> 1188 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01eb.pngbin0 -> 844 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01f0.pngbin0 -> 643 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01f4.pngbin0 -> 1212 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01f5.pngbin0 -> 1120 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01f8.pngbin0 -> 1033 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/01f9.pngbin0 -> 621 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0218.pngbin0 -> 1357 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0219.pngbin0 -> 946 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/021a.pngbin0 -> 737 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/021b.pngbin0 -> 673 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0226.pngbin0 -> 1123 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0227.pngbin0 -> 946 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0230.pngbin0 -> 1274 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0231.pngbin0 -> 869 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/02c6.pngbin0 -> 329 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/02c7.pngbin0 -> 354 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/02d9.pngbin0 -> 206 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/02da.pngbin0 -> 379 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/02db.pngbin0 -> 264 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/02dc.pngbin0 -> 319 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/02dd.pngbin0 -> 393 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0300.pngbin0 -> 224 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0306.pngbin0 -> 328 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/030b.pngbin0 -> 333 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0386.pngbin0 -> 940 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0387.pngbin0 -> 327 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0388.pngbin0 -> 973 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0389.pngbin0 -> 859 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/038a.pngbin0 -> 580 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/038c.pngbin0 -> 1042 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/038e.pngbin0 -> 859 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/038f.pngbin0 -> 1116 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0390.pngbin0 -> 844 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0391.pngbin0 -> 706 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0392.pngbin0 -> 739 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0393.pngbin0 -> 448 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0394.pngbin0 -> 742 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0395.pngbin0 -> 758 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0396.pngbin0 -> 704 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0397.pngbin0 -> 597 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0398.pngbin0 -> 967 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0399.pngbin0 -> 321 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/039a.pngbin0 -> 821 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/039b.pngbin0 -> 618 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/039c.pngbin0 -> 928 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/039d.pngbin0 -> 794 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/039e.pngbin0 -> 711 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/039f.pngbin0 -> 783 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03a0.pngbin0 -> 474 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03a1.pngbin0 -> 610 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03a3.pngbin0 -> 732 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03a4.pngbin0 -> 543 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03a5.pngbin0 -> 610 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03a6.pngbin0 -> 755 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03a7.pngbin0 -> 828 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03a8.pngbin0 -> 717 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03a9.pngbin0 -> 857 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03aa.pngbin0 -> 473 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03ab.pngbin0 -> 756 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03ac.pngbin0 -> 991 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03ad.pngbin0 -> 813 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03ae.pngbin0 -> 1076 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03af.pngbin0 -> 714 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03b0.pngbin0 -> 1029 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03b1.pngbin0 -> 741 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03b2.pngbin0 -> 965 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03b3.pngbin0 -> 708 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03b4.pngbin0 -> 757 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03b5.pngbin0 -> 556 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03b6.pngbin0 -> 762 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03b7.pngbin0 -> 829 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03b8.pngbin0 -> 908 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03b9.pngbin0 -> 468 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03ba.pngbin0 -> 710 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03bb.pngbin0 -> 639 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03bc.pngbin0 -> 840 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03bd.pngbin0 -> 623 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03be.pngbin0 -> 743 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03bf.pngbin0 -> 601 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03c0.pngbin0 -> 610 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03c1.pngbin0 -> 730 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03c2.pngbin0 -> 788 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03c3.pngbin0 -> 618 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03c4.pngbin0 -> 501 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03c5.pngbin0 -> 676 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03c6.pngbin0 -> 879 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03c7.pngbin0 -> 819 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03c8.pngbin0 -> 1059 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03c9.pngbin0 -> 782 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03ca.pngbin0 -> 604 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03cb.pngbin0 -> 809 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03cc.pngbin0 -> 850 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03cd.pngbin0 -> 916 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03ce.pngbin0 -> 1026 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03d0.pngbin0 -> 857 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03d1.pngbin0 -> 934 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03d2.pngbin0 -> 594 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03d3.pngbin0 -> 848 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03d4.pngbin0 -> 739 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03d5.pngbin0 -> 768 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03d6.pngbin0 -> 913 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03d7.pngbin0 -> 1210 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/03f0.pngbin0 -> 1019 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0401.pngbin0 -> 812 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0402.pngbin0 -> 381 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0404.pngbin0 -> 896 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0406.pngbin0 -> 299 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0407.pngbin0 -> 461 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0408.pngbin0 -> 652 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0409.pngbin0 -> 609 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/040a.pngbin0 -> 849 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/040b.pngbin0 -> 314 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/040f.pngbin0 -> 233 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0410.pngbin0 -> 904 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0411.pngbin0 -> 681 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0412.pngbin0 -> 785 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0413.pngbin0 -> 400 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0414.pngbin0 -> 1727 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0415.pngbin0 -> 588 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0416.pngbin0 -> 2467 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0417.pngbin0 -> 1023 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0418.pngbin0 -> 854 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0419.pngbin0 -> 2311 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/041a.pngbin0 -> 902 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/041b.pngbin0 -> 1644 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/041c.pngbin0 -> 1012 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/041d.pngbin0 -> 531 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/041e.pngbin0 -> 1089 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/041f.pngbin0 -> 407 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0420.pngbin0 -> 600 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0421.pngbin0 -> 846 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0422.pngbin0 -> 491 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0423.pngbin0 -> 1857 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0424.pngbin0 -> 870 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0425.pngbin0 -> 988 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0426.pngbin0 -> 547 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0427.pngbin0 -> 578 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0428.pngbin0 -> 545 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0429.pngbin0 -> 691 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/042a.pngbin0 -> 721 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/042b.pngbin0 -> 774 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/042c.pngbin0 -> 586 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/042d.pngbin0 -> 895 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/042e.pngbin0 -> 1237 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/042f.pngbin0 -> 874 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0430.pngbin0 -> 746 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0431.pngbin0 -> 935 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0432.pngbin0 -> 546 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0433.pngbin0 -> 301 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0434.pngbin0 -> 1322 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0435.pngbin0 -> 781 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0436.pngbin0 -> 1578 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0437.pngbin0 -> 744 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0438.pngbin0 -> 615 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0439.pngbin0 -> 1684 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/043a.pngbin0 -> 660 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/043b.pngbin0 -> 1204 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/043c.pngbin0 -> 750 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/043d.pngbin0 -> 419 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/043e.pngbin0 -> 782 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/043f.pngbin0 -> 354 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0440.pngbin0 -> 796 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0441.pngbin0 -> 635 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0442.pngbin0 -> 401 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0443.pngbin0 -> 3354 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0444.pngbin0 -> 844 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0445.pngbin0 -> 785 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0446.pngbin0 -> 532 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0447.pngbin0 -> 871 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0448.pngbin0 -> 831 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0449.pngbin0 -> 1296 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/044a.pngbin0 -> 670 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/044b.pngbin0 -> 607 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/044c.pngbin0 -> 468 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/044d.pngbin0 -> 1578 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/044e.pngbin0 -> 922 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/044f.pngbin0 -> 605 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0451.pngbin0 -> 973 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0452.pngbin0 -> 319 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0454.pngbin0 -> 667 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0456.pngbin0 -> 357 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0457.pngbin0 -> 438 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0458.pngbin0 -> 557 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0459.pngbin0 -> 292 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/045a.pngbin0 -> 270 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/045b.pngbin0 -> 272 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/045e.pngbin0 -> 1504 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/045f.pngbin0 -> 232 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0462.pngbin0 -> 890 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0463.pngbin0 -> 834 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0472.pngbin0 -> 1096 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0473.pngbin0 -> 801 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05d0.pngbin0 -> 1019 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05d1.pngbin0 -> 597 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05d2.pngbin0 -> 733 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05d3.pngbin0 -> 593 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05d4.pngbin0 -> 717 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05d5.pngbin0 -> 513 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05d6.pngbin0 -> 561 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05d7.pngbin0 -> 774 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05d8.pngbin0 -> 1050 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05d9.pngbin0 -> 455 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05da.pngbin0 -> 504 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05db.pngbin0 -> 694 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05dc.pngbin0 -> 843 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05dd.pngbin0 -> 808 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05de.pngbin0 -> 1031 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05df.pngbin0 -> 545 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05e0.pngbin0 -> 529 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05e1.pngbin0 -> 871 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05e2.pngbin0 -> 973 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05e3.pngbin0 -> 750 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05e4.pngbin0 -> 885 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05e5.pngbin0 -> 769 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05e6.pngbin0 -> 896 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05e7.pngbin0 -> 931 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05e8.pngbin0 -> 548 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05e9.pngbin0 -> 1314 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/05ea.pngbin0 -> 835 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0604.pngbin0 -> 138 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/060c.pngbin0 -> 443 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/061b.pngbin0 -> 557 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/061f.pngbin0 -> 967 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0621.pngbin0 -> 777 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0622.pngbin0 -> 766 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0623.pngbin0 -> 789 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0624.pngbin0 -> 1091 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0625.pngbin0 -> 793 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0626.pngbin0 -> 1561 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0627.pngbin0 -> 515 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0628.pngbin0 -> 1064 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/062a.pngbin0 -> 1153 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/062b.pngbin0 -> 1246 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/062c.pngbin0 -> 1362 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/062d.pngbin0 -> 1209 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/062e.pngbin0 -> 1325 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/062f.pngbin0 -> 689 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0630.pngbin0 -> 813 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0631.pngbin0 -> 704 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0632.pngbin0 -> 831 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0633.pngbin0 -> 1363 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0634.pngbin0 -> 1661 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0635.pngbin0 -> 1575 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0636.pngbin0 -> 1718 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0637.pngbin0 -> 1271 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0638.pngbin0 -> 1429 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0639.pngbin0 -> 1285 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/063a.pngbin0 -> 1403 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0640.pngbin0 -> 183 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0641.pngbin0 -> 1276 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0642.pngbin0 -> 1293 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0643.pngbin0 -> 1330 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0644.pngbin0 -> 1144 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0645.pngbin0 -> 677 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0646.pngbin0 -> 1018 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0647.pngbin0 -> 926 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0648.pngbin0 -> 853 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0649.pngbin0 -> 1310 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/064a.pngbin0 -> 1486 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/064b.pngbin0 -> 440 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/064c.pngbin0 -> 612 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/064d.pngbin0 -> 413 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/064e.pngbin0 -> 287 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/064f.pngbin0 -> 486 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0650.pngbin0 -> 307 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0651.pngbin0 -> 462 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0652.pngbin0 -> 417 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0660.pngbin0 -> 367 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0661.pngbin0 -> 829 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0662.pngbin0 -> 1017 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0663.pngbin0 -> 1173 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0664.pngbin0 -> 1007 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0665.pngbin0 -> 1024 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0666.pngbin0 -> 872 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0667.pngbin0 -> 1292 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0668.pngbin0 -> 1277 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0669.pngbin0 -> 1068 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/066a.pngbin0 -> 1054 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/066c.pngbin0 -> 416 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/066d.pngbin0 -> 1403 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0670.pngbin0 -> 347 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0671.pngbin0 -> 815 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0674.pngbin0 -> 485 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0686.pngbin0 -> 1422 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/068d.pngbin0 -> 704 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/0698.pngbin0 -> 925 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06a9.pngbin0 -> 1019 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06af.pngbin0 -> 1837 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06be.pngbin0 -> 926 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06c2.pngbin0 -> 697 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06c3.pngbin0 -> 691 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06cc.pngbin0 -> 1256 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06d5.pngbin0 -> 663 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06d9.pngbin0 -> 1384 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06f0.pngbin0 -> 383 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06f1.pngbin0 -> 668 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06f2.pngbin0 -> 864 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06f3.pngbin0 -> 956 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06f4.pngbin0 -> 857 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06f5.pngbin0 -> 1144 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06f6.pngbin0 -> 966 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06f7.pngbin0 -> 1134 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06f8.pngbin0 -> 1117 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/06f9.pngbin0 -> 895 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f00.pngbin0 -> 1017 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f01.pngbin0 -> 1419 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f02.pngbin0 -> 1592 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f03.pngbin0 -> 1636 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f04.pngbin0 -> 1604 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f05.pngbin0 -> 1640 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f10.pngbin0 -> 843 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f11.pngbin0 -> 1184 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f12.pngbin0 -> 1356 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f13.pngbin0 -> 1394 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f14.pngbin0 -> 1374 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f15.pngbin0 -> 1394 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f20.pngbin0 -> 1112 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f21.pngbin0 -> 1141 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f22.pngbin0 -> 1296 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f23.pngbin0 -> 1336 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f24.pngbin0 -> 1304 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f25.pngbin0 -> 1341 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f30.pngbin0 -> 958 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f31.pngbin0 -> 990 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f32.pngbin0 -> 1176 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f33.pngbin0 -> 1207 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f34.pngbin0 -> 1188 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f35.pngbin0 -> 947 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f40.pngbin0 -> 888 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f41.pngbin0 -> 912 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f42.pngbin0 -> 1373 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f43.pngbin0 -> 1405 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f44.pngbin0 -> 1083 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f45.pngbin0 -> 1117 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f50.pngbin0 -> 1278 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f51.pngbin0 -> 975 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f52.pngbin0 -> 1492 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f53.pngbin0 -> 1533 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f54.pngbin0 -> 1137 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f55.pngbin0 -> 1166 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f60.pngbin0 -> 1386 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f61.pngbin0 -> 1431 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f62.pngbin0 -> 1598 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f63.pngbin0 -> 1640 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f64.pngbin0 -> 1608 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f65.pngbin0 -> 1643 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f70.pngbin0 -> 1373 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f71.pngbin0 -> 1070 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f72.pngbin0 -> 1101 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f73.pngbin0 -> 876 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f74.pngbin0 -> 1452 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f75.pngbin0 -> 1163 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f76.pngbin0 -> 920 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f77.pngbin0 -> 774 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f78.pngbin0 -> 1118 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f79.pngbin0 -> 926 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f7a.pngbin0 -> 1245 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f7b.pngbin0 -> 982 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f7c.pngbin0 -> 1381 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1f7d.pngbin0 -> 1108 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1fd3.pngbin0 -> 906 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/1fe3.pngbin0 -> 1113 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2013.pngbin0 -> 135 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2014.pngbin0 -> 126 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2018.pngbin0 -> 343 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2019.pngbin0 -> 342 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/201a.pngbin0 -> 358 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/201b.pngbin0 -> 355 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/201c.pngbin0 -> 367 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/201d.pngbin0 -> 375 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/201e.pngbin0 -> 377 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/201f.pngbin0 -> 393 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2020.pngbin0 -> 797 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2021.pngbin0 -> 1053 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2022.pngbin0 -> 423 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2026.pngbin0 -> 446 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2030.pngbin0 -> 1899 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2039.pngbin0 -> 358 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/203a.pngbin0 -> 353 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2062.pngbin0 -> 462 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/20ac.pngbin0 -> 1056 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/20e8.pngbin0 -> 392 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2103.pngbin0 -> 1340 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2109.pngbin0 -> 915 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2116.pngbin0 -> 1441 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2120.pngbin0 -> 1199 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2122.pngbin0 -> 842 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/21d1.pngbin0 -> 524 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/21d2.pngbin0 -> 541 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/21d3.pngbin0 -> 518 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2200.pngbin0 -> 802 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2202.pngbin0 -> 981 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2203.pngbin0 -> 191 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2205.pngbin0 -> 1166 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2206.pngbin0 -> 757 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2207.pngbin0 -> 835 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2209.pngbin0 -> 777 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/220a.pngbin0 -> 552 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/220d.pngbin0 -> 544 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/220f.pngbin0 -> 514 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2211.pngbin0 -> 802 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2215.pngbin0 -> 478 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2219.pngbin0 -> 184 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/221a.pngbin0 -> 901 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/221d.pngbin0 -> 749 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/221e.pngbin0 -> 851 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2220.pngbin0 -> 590 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2223.pngbin0 -> 143 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2227.pngbin0 -> 643 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2228.pngbin0 -> 641 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/222b.pngbin0 -> 502 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2234.pngbin0 -> 452 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2245.pngbin0 -> 400 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2248.pngbin0 -> 621 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2260.pngbin0 -> 440 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2261.pngbin0 -> 183 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2264.pngbin0 -> 563 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2265.pngbin0 -> 527 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2282.pngbin0 -> 547 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2283.pngbin0 -> 526 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2284.pngbin0 -> 832 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2286.pngbin0 -> 581 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2287.pngbin0 -> 556 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2295.pngbin0 -> 1149 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2297.pngbin0 -> 1356 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/22a5.pngbin0 -> 168 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/22c0.pngbin0 -> 643 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/22c1.pngbin0 -> 641 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/22c2.pngbin0 -> 639 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/22c3.pngbin0 -> 653 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2300.pngbin0 -> 1166 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2329.pngbin0 -> 387 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/232a.pngbin0 -> 383 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/239b.pngbin0 -> 544 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/239c.pngbin0 -> 152 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/239d.pngbin0 -> 564 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/239e.pngbin0 -> 566 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/239f.pngbin0 -> 151 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23a0.pngbin0 -> 534 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23a1.pngbin0 -> 167 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23a2.pngbin0 -> 148 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23a3.pngbin0 -> 165 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23a4.pngbin0 -> 166 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23a5.pngbin0 -> 145 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23a6.pngbin0 -> 158 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23a7.pngbin0 -> 344 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23a8.pngbin0 -> 523 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23a9.pngbin0 -> 347 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23aa.pngbin0 -> 162 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23ab.pngbin0 -> 349 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23ac.pngbin0 -> 511 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/23ad.pngbin0 -> 340 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2622.pngbin0 -> 1812 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/27e9.pngbin0 -> 383 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/27f8.pngbin0 -> 570 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/27fa.pngbin0 -> 833 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/2981.pngbin0 -> 415 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/299f.pngbin0 -> 590 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/aliases5
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/fb01.pngbin0 -> 629 bytes
-rw-r--r--graphics/font/century_school-medium-roman-serif-vari/fb02.pngbin0 -> 555 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0020.pngbin0 -> 103 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0021.pngbin0 -> 391 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0022.pngbin0 -> 364 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0023.pngbin0 -> 811 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0024.pngbin0 -> 774 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0025.pngbin0 -> 846 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0026.pngbin0 -> 735 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0027.pngbin0 -> 348 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0028.pngbin0 -> 520 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0029.pngbin0 -> 493 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/002a.pngbin0 -> 480 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/002b.pngbin0 -> 330 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/002c.pngbin0 -> 335 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/002d.pngbin0 -> 184 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/002e.pngbin0 -> 222 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/002f.pngbin0 -> 509 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0030.pngbin0 -> 788 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0031.pngbin0 -> 330 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0032.pngbin0 -> 674 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0033.pngbin0 -> 719 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0034.pngbin0 -> 662 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0035.pngbin0 -> 616 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0036.pngbin0 -> 794 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0037.pngbin0 -> 564 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0038.pngbin0 -> 851 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0039.pngbin0 -> 810 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/003a.pngbin0 -> 313 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/003b.pngbin0 -> 450 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/003c.pngbin0 -> 468 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/003d.pngbin0 -> 249 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/003e.pngbin0 -> 444 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/003f.pngbin0 -> 593 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0040.pngbin0 -> 879 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0041.pngbin0 -> 769 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0042.pngbin0 -> 745 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0043.pngbin0 -> 737 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0044.pngbin0 -> 655 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0045.pngbin0 -> 637 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0046.pngbin0 -> 578 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0047.pngbin0 -> 764 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0048.pngbin0 -> 629 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0049.pngbin0 -> 350 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/004a.pngbin0 -> 549 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/004b.pngbin0 -> 852 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/004c.pngbin0 -> 413 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/004d.pngbin0 -> 783 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/004e.pngbin0 -> 740 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/004f.pngbin0 -> 800 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0050.pngbin0 -> 640 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0051.pngbin0 -> 938 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0052.pngbin0 -> 772 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0053.pngbin0 -> 788 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0054.pngbin0 -> 464 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0055.pngbin0 -> 601 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0056.pngbin0 -> 778 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0057.pngbin0 -> 1011 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0058.pngbin0 -> 797 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0059.pngbin0 -> 631 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/005a.pngbin0 -> 685 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/005b.pngbin0 -> 294 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/005c.pngbin0 -> 491 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/005d.pngbin0 -> 289 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/005e.pngbin0 -> 388 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/005f.pngbin0 -> 151 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0060.pngbin0 -> 329 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0061.pngbin0 -> 665 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0062.pngbin0 -> 782 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0063.pngbin0 -> 617 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0064.pngbin0 -> 770 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0065.pngbin0 -> 649 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0066.pngbin0 -> 489 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0067.pngbin0 -> 803 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0068.pngbin0 -> 622 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0069.pngbin0 -> 396 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/006a.pngbin0 -> 492 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/006b.pngbin0 -> 719 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/006c.pngbin0 -> 318 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/006d.pngbin0 -> 612 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/006e.pngbin0 -> 533 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/006f.pngbin0 -> 674 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0070.pngbin0 -> 795 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0071.pngbin0 -> 796 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0072.pngbin0 -> 489 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0073.pngbin0 -> 668 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0074.pngbin0 -> 524 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0075.pngbin0 -> 536 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0076.pngbin0 -> 661 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0077.pngbin0 -> 786 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0078.pngbin0 -> 651 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0079.pngbin0 -> 779 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/007a.pngbin0 -> 552 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/007b.pngbin0 -> 454 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/007c.pngbin0 -> 177 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/007d.pngbin0 -> 452 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/007e.pngbin0 -> 353 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/007f.pngbin0 -> 1039 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00a0.pngbin0 -> 103 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00a1.pngbin0 -> 386 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00a2.pngbin0 -> 637 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00a3.pngbin0 -> 657 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00a5.pngbin0 -> 744 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00a6.pngbin0 -> 177 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00a7.pngbin0 -> 901 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00a8.pngbin0 -> 274 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00a9.pngbin0 -> 1129 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00ab.pngbin0 -> 619 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00ae.pngbin0 -> 1175 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00af.pngbin0 -> 196 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00b0.pngbin0 -> 350 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00b1.pngbin0 -> 350 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00b4.pngbin0 -> 229 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00b6.pngbin0 -> 709 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00b7.pngbin0 -> 205 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00b8.pngbin0 -> 293 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00bb.pngbin0 -> 429 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00bf.pngbin0 -> 596 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00c0.pngbin0 -> 861 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00c1.pngbin0 -> 857 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00c2.pngbin0 -> 898 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00c3.pngbin0 -> 877 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00c4.pngbin0 -> 860 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00c5.pngbin0 -> 954 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00c6.pngbin0 -> 872 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00c7.pngbin0 -> 853 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00c8.pngbin0 -> 711 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00c9.pngbin0 -> 705 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00ca.pngbin0 -> 746 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00cb.pngbin0 -> 745 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00cc.pngbin0 -> 428 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00cd.pngbin0 -> 420 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00ce.pngbin0 -> 461 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00cf.pngbin0 -> 460 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00d0.pngbin0 -> 719 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00d1.pngbin0 -> 840 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00d2.pngbin0 -> 915 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00d3.pngbin0 -> 904 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00d4.pngbin0 -> 943 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00d5.pngbin0 -> 924 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00d6.pngbin0 -> 944 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00d8.pngbin0 -> 1049 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00d9.pngbin0 -> 673 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00da.pngbin0 -> 673 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00db.pngbin0 -> 716 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00dc.pngbin0 -> 706 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00dd.pngbin0 -> 725 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00de.pngbin0 -> 626 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00df.pngbin0 -> 808 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00e0.pngbin0 -> 762 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00e1.pngbin0 -> 762 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00e2.pngbin0 -> 798 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00e3.pngbin0 -> 777 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00e4.pngbin0 -> 802 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00e5.pngbin0 -> 863 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00e6.pngbin0 -> 805 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00e7.pngbin0 -> 743 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00e8.pngbin0 -> 734 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00e9.pngbin0 -> 730 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00ea.pngbin0 -> 773 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00eb.pngbin0 -> 776 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00ec.pngbin0 -> 408 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00ed.pngbin0 -> 399 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00ee.pngbin0 -> 441 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00ef.pngbin0 -> 446 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00f0.pngbin0 -> 884 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00f1.pngbin0 -> 618 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00f2.pngbin0 -> 795 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00f3.pngbin0 -> 799 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00f4.pngbin0 -> 834 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00f5.pngbin0 -> 812 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00f6.pngbin0 -> 835 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00f8.pngbin0 -> 861 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00f9.pngbin0 -> 631 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00fa.pngbin0 -> 626 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00fb.pngbin0 -> 664 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00fc.pngbin0 -> 666 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00fd.pngbin0 -> 847 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00fe.pngbin0 -> 844 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/00ff.pngbin0 -> 891 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0100.pngbin0 -> 811 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0101.pngbin0 -> 713 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0102.pngbin0 -> 909 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0103.pngbin0 -> 818 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0104.pngbin0 -> 886 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0105.pngbin0 -> 773 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0106.pngbin0 -> 831 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0107.pngbin0 -> 713 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0108.pngbin0 -> 867 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0109.pngbin0 -> 758 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/010a.pngbin0 -> 812 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/010b.pngbin0 -> 688 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/010c.pngbin0 -> 881 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/010d.pngbin0 -> 780 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/010e.pngbin0 -> 766 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/010f.pngbin0 -> 836 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0110.pngbin0 -> 722 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0111.pngbin0 -> 794 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0112.pngbin0 -> 652 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0113.pngbin0 -> 685 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0114.pngbin0 -> 758 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0115.pngbin0 -> 783 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0116.pngbin0 -> 678 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0117.pngbin0 -> 706 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0118.pngbin0 -> 733 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0119.pngbin0 -> 755 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/011a.pngbin0 -> 761 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/011b.pngbin0 -> 792 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/011c.pngbin0 -> 896 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/011d.pngbin0 -> 913 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/011e.pngbin0 -> 913 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/011f.pngbin0 -> 933 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0120.pngbin0 -> 835 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0121.pngbin0 -> 853 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0124.pngbin0 -> 729 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0125.pngbin0 -> 753 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0126.pngbin0 -> 681 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0127.pngbin0 -> 724 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0128.pngbin0 -> 433 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0129.pngbin0 -> 409 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/012a.pngbin0 -> 352 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/012b.pngbin0 -> 337 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/012c.pngbin0 -> 497 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/012d.pngbin0 -> 463 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/012e.pngbin0 -> 453 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/012f.pngbin0 -> 501 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0130.pngbin0 -> 386 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0132.pngbin0 -> 716 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0133.pngbin0 -> 666 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0134.pngbin0 -> 678 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0135.pngbin0 -> 549 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0139.pngbin0 -> 475 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/013a.pngbin0 -> 393 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/013d.pngbin0 -> 550 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/013e.pngbin0 -> 485 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0141.pngbin0 -> 639 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0142.pngbin0 -> 494 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0143.pngbin0 -> 824 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0144.pngbin0 -> 592 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0147.pngbin0 -> 885 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0148.pngbin0 -> 670 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/014c.pngbin0 -> 860 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/014d.pngbin0 -> 749 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/014e.pngbin0 -> 959 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/014f.pngbin0 -> 843 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0150.pngbin0 -> 976 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0151.pngbin0 -> 860 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0152.pngbin0 -> 812 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0153.pngbin0 -> 841 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0154.pngbin0 -> 852 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0155.pngbin0 -> 555 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0158.pngbin0 -> 911 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0159.pngbin0 -> 627 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/015a.pngbin0 -> 872 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/015b.pngbin0 -> 738 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/015c.pngbin0 -> 914 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/015d.pngbin0 -> 784 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/015e.pngbin0 -> 898 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/015f.pngbin0 -> 773 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0160.pngbin0 -> 932 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0161.pngbin0 -> 792 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0162.pngbin0 -> 570 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0163.pngbin0 -> 647 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0164.pngbin0 -> 588 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0165.pngbin0 -> 656 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0166.pngbin0 -> 525 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0167.pngbin0 -> 620 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0168.pngbin0 -> 693 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0169.pngbin0 -> 640 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/016a.pngbin0 -> 611 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/016b.pngbin0 -> 583 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/016c.pngbin0 -> 724 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/016d.pngbin0 -> 680 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/016e.pngbin0 -> 773 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/016f.pngbin0 -> 728 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0170.pngbin0 -> 730 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0171.pngbin0 -> 696 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0172.pngbin0 -> 698 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0173.pngbin0 -> 640 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0174.pngbin0 -> 1156 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0175.pngbin0 -> 964 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0176.pngbin0 -> 768 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0177.pngbin0 -> 894 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0178.pngbin0 -> 759 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0179.pngbin0 -> 752 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/017a.pngbin0 -> 647 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/017b.pngbin0 -> 731 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/017c.pngbin0 -> 635 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/017d.pngbin0 -> 814 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/017e.pngbin0 -> 713 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01cd.pngbin0 -> 913 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01ce.pngbin0 -> 813 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01cf.pngbin0 -> 477 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01d0.pngbin0 -> 455 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01d1.pngbin0 -> 959 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01d2.pngbin0 -> 846 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01d3.pngbin0 -> 724 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01d4.pngbin0 -> 686 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01e6.pngbin0 -> 914 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01e7.pngbin0 -> 930 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01e8.pngbin0 -> 954 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01e9.pngbin0 -> 920 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01ea.pngbin0 -> 930 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01eb.pngbin0 -> 816 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01f0.pngbin0 -> 569 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01f4.pngbin0 -> 850 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01f5.pngbin0 -> 874 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01f8.pngbin0 -> 830 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/01f9.pngbin0 -> 614 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/02c6.pngbin0 -> 287 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/02c7.pngbin0 -> 297 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/02d9.pngbin0 -> 205 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/02da.pngbin0 -> 350 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/02db.pngbin0 -> 285 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/02dc.pngbin0 -> 276 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/02dd.pngbin0 -> 364 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0300.pngbin0 -> 230 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/0306.pngbin0 -> 299 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/030b.pngbin0 -> 328 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/2013.pngbin0 -> 186 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/2014.pngbin0 -> 166 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/2018.pngbin0 -> 285 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/2019.pngbin0 -> 288 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/201a.pngbin0 -> 290 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/201b.pngbin0 -> 288 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/201c.pngbin0 -> 327 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/201d.pngbin0 -> 337 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/201e.pngbin0 -> 336 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/201f.pngbin0 -> 337 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/2020.pngbin0 -> 362 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/2021.pngbin0 -> 479 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/2022.pngbin0 -> 281 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/2026.pngbin0 -> 285 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/2030.pngbin0 -> 1003 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/2039.pngbin0 -> 384 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/203a.pngbin0 -> 388 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/2116.pngbin0 -> 487 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/fb01.pngbin0 -> 698 bytes
-rw-r--r--graphics/font/courier-medium-roman-serif-mono/fb02.pngbin0 -> 647 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05d0.pngbin0 -> 951 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05d1.pngbin0 -> 302 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05d2.pngbin0 -> 453 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05d3.pngbin0 -> 194 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05d4.pngbin0 -> 272 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05d5.pngbin0 -> 250 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05d6.pngbin0 -> 211 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05d7.pngbin0 -> 220 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05d8.pngbin0 -> 577 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05d9.pngbin0 -> 224 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05da.pngbin0 -> 247 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05db.pngbin0 -> 394 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05dc.pngbin0 -> 448 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05dd.pngbin0 -> 308 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05de.pngbin0 -> 515 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05df.pngbin0 -> 292 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05e0.pngbin0 -> 276 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05e1.pngbin0 -> 533 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05e2.pngbin0 -> 466 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05e3.pngbin0 -> 443 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05e4.pngbin0 -> 510 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05e5.pngbin0 -> 526 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05e6.pngbin0 -> 751 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05e7.pngbin0 -> 564 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05e8.pngbin0 -> 288 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05e9.pngbin0 -> 511 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/05ea.pngbin0 -> 323 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3002.pngbin0 -> 461 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3041.pngbin0 -> 773 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3042.pngbin0 -> 973 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3043.pngbin0 -> 534 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3044.pngbin0 -> 573 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3045.pngbin0 -> 511 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3046.pngbin0 -> 633 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3047.pngbin0 -> 584 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3048.pngbin0 -> 732 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3049.pngbin0 -> 745 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/304a.pngbin0 -> 910 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/304b.pngbin0 -> 870 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/304c.pngbin0 -> 1009 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/304d.pngbin0 -> 719 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/304e.pngbin0 -> 844 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/304f.pngbin0 -> 511 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3050.pngbin0 -> 694 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3051.pngbin0 -> 789 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3052.pngbin0 -> 823 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3053.pngbin0 -> 445 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3054.pngbin0 -> 555 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3055.pngbin0 -> 731 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3056.pngbin0 -> 799 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3057.pngbin0 -> 445 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3058.pngbin0 -> 616 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3059.pngbin0 -> 636 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/305a.pngbin0 -> 783 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/305b.pngbin0 -> 495 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/305c.pngbin0 -> 609 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/305d.pngbin0 -> 711 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/305e.pngbin0 -> 852 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/305f.pngbin0 -> 702 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3060.pngbin0 -> 880 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3061.pngbin0 -> 820 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3062.pngbin0 -> 876 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3063.pngbin0 -> 478 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3064.pngbin0 -> 564 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3065.pngbin0 -> 703 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3066.pngbin0 -> 651 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3067.pngbin0 -> 701 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3068.pngbin0 -> 623 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3069.pngbin0 -> 755 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/306a.pngbin0 -> 878 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/306b.pngbin0 -> 661 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/306c.pngbin0 -> 1093 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/306d.pngbin0 -> 887 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/306e.pngbin0 -> 838 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/306f.pngbin0 -> 823 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3070.pngbin0 -> 915 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3071.pngbin0 -> 966 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3072.pngbin0 -> 919 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3073.pngbin0 -> 997 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3074.pngbin0 -> 989 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3075.pngbin0 -> 829 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3076.pngbin0 -> 997 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3077.pngbin0 -> 985 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3078.pngbin0 -> 594 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3079.pngbin0 -> 719 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/307a.pngbin0 -> 754 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/307b.pngbin0 -> 883 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/307c.pngbin0 -> 962 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/307d.pngbin0 -> 949 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/307e.pngbin0 -> 756 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/307f.pngbin0 -> 831 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3080.pngbin0 -> 839 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3081.pngbin0 -> 1063 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3082.pngbin0 -> 657 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3083.pngbin0 -> 676 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3084.pngbin0 -> 868 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3085.pngbin0 -> 719 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3086.pngbin0 -> 947 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3087.pngbin0 -> 492 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3088.pngbin0 -> 572 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3089.pngbin0 -> 820 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/308b.pngbin0 -> 830 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/308c.pngbin0 -> 733 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/308d.pngbin0 -> 679 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/308f.pngbin0 -> 856 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3092.pngbin0 -> 809 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/3093.pngbin0 -> 789 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30a1.pngbin0 -> 458 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30a3.pngbin0 -> 406 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30a4.pngbin0 -> 453 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30a5.pngbin0 -> 470 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30a6.pngbin0 -> 537 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30a7.pngbin0 -> 276 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30a8.pngbin0 -> 299 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30a9.pngbin0 -> 447 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30aa.pngbin0 -> 568 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30ab.pngbin0 -> 651 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30ac.pngbin0 -> 785 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30ad.pngbin0 -> 383 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30ae.pngbin0 -> 512 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30af.pngbin0 -> 646 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30b0.pngbin0 -> 765 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30b1.pngbin0 -> 583 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30b2.pngbin0 -> 714 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30b3.pngbin0 -> 289 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30b4.pngbin0 -> 421 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30b5.pngbin0 -> 544 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30b6.pngbin0 -> 647 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30b7.pngbin0 -> 618 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30b8.pngbin0 -> 745 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30b9.pngbin0 -> 551 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30ba.pngbin0 -> 712 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30bb.pngbin0 -> 592 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30bc.pngbin0 -> 706 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30bd.pngbin0 -> 626 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30be.pngbin0 -> 718 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30bf.pngbin0 -> 727 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30c0.pngbin0 -> 821 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30c1.pngbin0 -> 587 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30c2.pngbin0 -> 700 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30c3.pngbin0 -> 525 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30c5.pngbin0 -> 745 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30c6.pngbin0 -> 468 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30c7.pngbin0 -> 565 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30c8.pngbin0 -> 326 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30c9.pngbin0 -> 465 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30ca.pngbin0 -> 476 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30cb.pngbin0 -> 249 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30cc.pngbin0 -> 648 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30cd.pngbin0 -> 642 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30ce.pngbin0 -> 429 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30cf.pngbin0 -> 673 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30d0.pngbin0 -> 837 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30d1.pngbin0 -> 850 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30d2.pngbin0 -> 493 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30d3.pngbin0 -> 555 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30d4.pngbin0 -> 659 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30d5.pngbin0 -> 511 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30d6.pngbin0 -> 590 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30d7.pngbin0 -> 687 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30d8.pngbin0 -> 556 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30d9.pngbin0 -> 700 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30da.pngbin0 -> 745 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30db.pngbin0 -> 622 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30dc.pngbin0 -> 765 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30dd.pngbin0 -> 765 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30de.pngbin0 -> 528 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30df.pngbin0 -> 599 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30e0.pngbin0 -> 679 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30e1.pngbin0 -> 588 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30e2.pngbin0 -> 402 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30e3.pngbin0 -> 571 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30e4.pngbin0 -> 431 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30e5.pngbin0 -> 322 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30e6.pngbin0 -> 295 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30e7.pngbin0 -> 289 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30e8.pngbin0 -> 310 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30e9.pngbin0 -> 520 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30ea.pngbin0 -> 454 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30eb.pngbin0 -> 637 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30ec.pngbin0 -> 446 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30ed.pngbin0 -> 282 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30ef.pngbin0 -> 512 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30f2.pngbin0 -> 534 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30f3.pngbin0 -> 499 bytes
-rw-r--r--graphics/font/japanese-medium-roman-sans-mono/30fc.pngbin0 -> 186 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10d0.pngbin0 -> 890 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10d1.pngbin0 -> 1485 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10d2.pngbin0 -> 1406 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10d3.pngbin0 -> 1920 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10d4.pngbin0 -> 1291 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10d5.pngbin0 -> 1425 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10d6.pngbin0 -> 1461 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10d7.pngbin0 -> 1554 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10d8.pngbin0 -> 1114 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10d9.pngbin0 -> 1292 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10da.pngbin0 -> 2128 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10db.pngbin0 -> 1421 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10dc.pngbin0 -> 1292 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10dd.pngbin0 -> 1415 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10de.pngbin0 -> 1338 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10df.pngbin0 -> 1481 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10e0.pngbin0 -> 1710 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10e1.pngbin0 -> 910 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10e2.pngbin0 -> 2396 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10e3.pngbin0 -> 1753 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10e4.pngbin0 -> 1958 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10e5.pngbin0 -> 1188 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10e6.pngbin0 -> 1799 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10e7.pngbin0 -> 1043 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10e8.pngbin0 -> 1610 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10e9.pngbin0 -> 1311 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10ea.pngbin0 -> 1660 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10eb.pngbin0 -> 1066 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10ec.pngbin0 -> 2002 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10ed.pngbin0 -> 1900 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10ee.pngbin0 -> 1144 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10ef.pngbin0 -> 1969 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10f0.pngbin0 -> 1440 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10f1.pngbin0 -> 1949 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10f2.pngbin0 -> 1106 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10f3.pngbin0 -> 1160 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10f4.pngbin0 -> 1322 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10f5.pngbin0 -> 1627 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/10f6.pngbin0 -> 1326 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25a0.pngbin0 -> 269 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25a1.pngbin0 -> 301 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25a2.pngbin0 -> 1235 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25a3.pngbin0 -> 456 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25a4.pngbin0 -> 606 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25a5.pngbin0 -> 566 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25a6.pngbin0 -> 649 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25a7.pngbin0 -> 1027 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25a8.pngbin0 -> 1006 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25a9.pngbin0 -> 2660 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25aa.pngbin0 -> 330 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25ab.pngbin0 -> 197 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25ac.pngbin0 -> 345 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25ad.pngbin0 -> 446 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25ae.pngbin0 -> 428 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25af.pngbin0 -> 491 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25b0.pngbin0 -> 944 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25b1.pngbin0 -> 1096 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25b2.pngbin0 -> 1292 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25b3.pngbin0 -> 1224 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25b4.pngbin0 -> 861 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25b5.pngbin0 -> 923 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25b6.pngbin0 -> 1324 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25b7.pngbin0 -> 1543 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25b8.pngbin0 -> 495 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25b9.pngbin0 -> 623 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25ba.pngbin0 -> 694 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25bb.pngbin0 -> 730 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25bc.pngbin0 -> 1792 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25bd.pngbin0 -> 1546 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25be.pngbin0 -> 1045 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25bf.pngbin0 -> 931 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25c0.pngbin0 -> 1245 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25c1.pngbin0 -> 1165 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25c2.pngbin0 -> 698 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25c3.pngbin0 -> 820 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25c4.pngbin0 -> 806 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25c5.pngbin0 -> 1144 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25c6.pngbin0 -> 764 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25c7.pngbin0 -> 757 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25c8.pngbin0 -> 794 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25c9.pngbin0 -> 2806 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25ca.pngbin0 -> 963 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25cb.pngbin0 -> 2194 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25cc.pngbin0 -> 2249 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25cd.pngbin0 -> 3024 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25ce.pngbin0 -> 3302 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25cf.pngbin0 -> 1808 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25d0.pngbin0 -> 2639 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25d1.pngbin0 -> 2211 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25d2.pngbin0 -> 2029 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25d3.pngbin0 -> 2339 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25d4.pngbin0 -> 2608 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25d5.pngbin0 -> 2008 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25d6.pngbin0 -> 1352 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25d7.pngbin0 -> 1351 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25d8.pngbin0 -> 828 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25d9.pngbin0 -> 2624 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25da.pngbin0 -> 1992 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25db.pngbin0 -> 2109 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25dc.pngbin0 -> 786 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25dd.pngbin0 -> 1139 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25de.pngbin0 -> 1145 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25df.pngbin0 -> 1176 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25e0.pngbin0 -> 1600 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25e1.pngbin0 -> 1287 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25e2.pngbin0 -> 634 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25e3.pngbin0 -> 713 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25e4.pngbin0 -> 704 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25e5.pngbin0 -> 749 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25e6.pngbin0 -> 864 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25e7.pngbin0 -> 303 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25e8.pngbin0 -> 356 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25e9.pngbin0 -> 681 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25ea.pngbin0 -> 703 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25eb.pngbin0 -> 477 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25ec.pngbin0 -> 1276 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25ed.pngbin0 -> 1339 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25ee.pngbin0 -> 1594 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25ef.pngbin0 -> 2194 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25f0.pngbin0 -> 582 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25f1.pngbin0 -> 584 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25f2.pngbin0 -> 480 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25f3.pngbin0 -> 604 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25f4.pngbin0 -> 2741 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25f5.pngbin0 -> 2803 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25f6.pngbin0 -> 2348 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/25f7.pngbin0 -> 2763 bytes
-rw-r--r--graphics/font/symbol-medium-roman-sans-vari/aliases4
-rwxr-xr-xgraphics/gen7
-rw-r--r--graphics/generate_font.c490
-rw-r--r--graphics/genps.c51
-rw-r--r--graphics/improcess.c480
-rw-r--r--graphics/links.xpm143
-rwxr-xr-xgraphics/makefont21
-rw-r--r--graphics/pbm2png.c493
-rwxr-xr-xgraphics/pdf2html28
-rw-r--r--graphics/spacer.pngbin0 -> 190 bytes
-rw-r--r--graphics/system_font/0000.pngbin0 -> 4775 bytes
-rw-r--r--html.c3193
-rw-r--r--html_gr.c1084
-rw-r--r--html_r.c1459
-rw-r--r--html_tbl.c1831
-rw-r--r--http.c1042
-rw-r--r--https.c81
-rw-r--r--img.c1366
-rw-r--r--imgcache.c140
-rwxr-xr-xinstall-sh251
-rw-r--r--intl/bahasa_indonesian.lng594
-rw-r--r--intl/belarusian.lng594
-rw-r--r--intl/brazilian_portuguese.lng594
-rw-r--r--intl/bulgarian.lng594
-rw-r--r--intl/catalan.lng594
-rw-r--r--intl/croatian.lng594
-rw-r--r--intl/czech.lng594
-rw-r--r--intl/danish.lng594
-rw-r--r--intl/dutch.lng594
-rw-r--r--intl/english.lng594
-rw-r--r--intl/estonian.lng594
-rw-r--r--intl/finnish.lng594
-rw-r--r--intl/french.lng594
-rw-r--r--intl/galician.lng594
-rwxr-xr-xintl/gen-intl46
-rw-r--r--intl/german.lng594
-rw-r--r--intl/greek.lng594
-rw-r--r--intl/hungarian.lng594
-rw-r--r--intl/icelandic.lng594
-rw-r--r--intl/index.txt33
-rw-r--r--intl/intl.txt10
-rw-r--r--intl/italian.lng594
-rw-r--r--intl/lithuanian.lng594
-rwxr-xr-xintl/mangle-unprintable13
-rw-r--r--intl/norwegian.lng594
-rw-r--r--intl/polish.lng594
-rw-r--r--intl/portuguese.lng594
-rw-r--r--intl/romanian.lng594
-rw-r--r--intl/russian.lng594
-rw-r--r--intl/serbian.lng594
-rw-r--r--intl/slovak.lng594
-rw-r--r--intl/spanish.lng594
-rw-r--r--intl/swedish.lng594
-rw-r--r--intl/swiss_german.lng594
-rwxr-xr-xintl/synclang19
-rw-r--r--intl/synclang.awk17
-rw-r--r--intl/turkish.lng594
-rw-r--r--intl/ukrainian.lng594
-rw-r--r--intl/upper_sorbian.lng594
-rw-r--r--jpeg.c398
-rw-r--r--jsint.c3990
-rw-r--r--kbd.c1184
-rw-r--r--language.c133
-rw-r--r--language.h599
-rw-r--r--language.inc19806
-rw-r--r--links.1702
-rw-r--r--links.h4283
-rw-r--r--links.nsi141
-rw-r--r--links.wis43
-rw-r--r--links_16x16_1.xpm25
-rw-r--r--links_16x16_2.xpm78
-rw-r--r--links_32x32.xpm115
-rw-r--r--links_icon.c242
-rw-r--r--linksos2.icobin0 -> 4480 bytes
-rw-r--r--linksos2.rc1
-rw-r--r--listedit.c1934
-rw-r--r--lru.c102
-rwxr-xr-xmailcap.pl51
-rw-r--r--mailto.c98
-rw-r--r--main.c457
-rw-r--r--memory.c153
-rw-r--r--menu.c3040
-rwxr-xr-xmissing190
-rw-r--r--mk-release-os232
-rw-r--r--mkinstalldirs40
-rw-r--r--objreq.c356
-rw-r--r--os_dep.c2689
-rw-r--r--os_dep.h216
-rw-r--r--os_depx.h108
-rw-r--r--pmshell.c1194
-rw-r--r--png.c259
-rwxr-xr-xrebuild115
-rw-r--r--sched.c1026
-rw-r--r--select.c555
-rw-r--r--session.c2855
-rw-r--r--setup.h204
-rw-r--r--smb.c664
-rw-r--r--stamp-h.in1
-rw-r--r--svgalib.c2572
-rw-r--r--terminal.c1302
-rw-r--r--tiff.c276
-rw-r--r--types.c1201
-rw-r--r--uni_7b.inc2324
-rw-r--r--upcase.inc679
-rw-r--r--url.c575
-rw-r--r--view.c4332
-rw-r--r--view_gr.c1612
-rw-r--r--x.c2526
-rw-r--r--xbm.c303
2080 files changed, 215765 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..f9e7896
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,369 @@
+Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
+Petr Kulhavy <brain@artax.karlin.mff.cuni.cz>
+Karel Kulhavy <clock@atrey.karlin.mff.cuni.cz>
+Martin Pergel <mper7437@artax.karlin.mff.cuni.cz>
+
+http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/links/
+
+Unicode2ascii replacement and entity name tables are taken from Lynx.
+
+People who contributed to links:
+
+Unai Uribarri <unai@telecable.es>
+ History
+
+Uwe Hermann <uh1763@bingo-ev.de>
+ Manpage
+ Command line switch -version
+ Open link in new xterm
+
+Sebastian Zagrodzki <s.zagrodzki@sith.mimuw.edu.pl>
+ Shift-G opens dialog with pre-displayed current URL
+
+Alexander Mai <st002279@hrzpub.tu-darmstadt.de>
+ OS/2 xterm support
+ Fix includes for AIX
+ Updated manpage
+
+Dakshinamurthy Karra <kd@blr.vsnl.net.in>
+ Win NT port
+ Saving goto history
+
+Peter Gervai <grin@tolna.net>
+ Manpage updates
+ Mailcap to links.cfg convertor
+
+Arkadiusz Miskiewicz <misiek@pld.org.pl>
+ Internationalization (GNU gettext)
+
+Oleg Deribas <older@iname.com>
+ Window title and clipboard support in OS/2
+
+Felix von Leitner <felix@convergence.de>
+ Set file date/time when downloading
+
+Arkadiusz Sochala <jojoro@priv2.onet.pl>
+ Polish translation
+
+Petr Cech <cech@atrey.karlin.mff.cuni.cz>
+ Allow spaces at the beginning of url
+
+Dmitry M. Klimov <dmk@gtrk.kmtn.ru>
+ KOI8-R frames
+ Russian localization
+
+Yurii Rashkovskii <yrashk@univer.kharkov.ua>
+ Updated Russian localization
+
+Lukasz Dobrek <dobrek@student.ifpan.edu.pl>
+ $CONFIG_DIR for config directory
+
+beckers <beckers@st-oneline.de>
+ German translation
+
+Evan Hughes <hughes@lab43.org>
+ Bookmarks
+
+Armon Red <armon@islandia.isarmon@islandia.is>
+ Icelandic translation
+
+M.K.Srikant <srix@vsnl.com>
+ Small fix in forms
+
+Cliff Cunnington <cliff@ccnet.demon.nl>
+ User's manual at http://links.sourceforge.net/docs/manual-0.82-en/
+
+Wojtek Bojdo/l <wojboj@lp.net.pl>
+ Updated Polish localization
+
+Jan Bobrowski <jb@mohan.krakow.pl>
+ Small optimization in file listing
+
+Serge Winitzki <serge at mendax dot phys dot cwru dot edu>,
+ <serge at cosmos dot phy dot tufts dot edu>
+ Upadted Russian localization
+ Updated German localication
+ SSL detection fix
+
+Alex Antropoff <alex@tirastel.md>
+ 'charset' attribute of META element
+
+Aurimas Mikalauskas <inner@dammit.lt>
+ Lithuanian translation
+
+Martin Norback <d95mback@dtek.chalmers.se>
+ Swedish translation
+
+Jimenez Martinez Angel Luis <al026635@alumail.uji.es>
+David Mediavilla Ezquibela <davidme.forum@bigfoot.com>
+ Spanish translation
+
+Suveg Gabor <gsuveg@sgmobil2000.hu>
+ Hungarian translation
+
+Gianluca Montecchi <gianluca@pluto.linux.it>
+ Italian translation
+
+Sergei Borushevsky <b_sp@usa.net>
+ No-proxy-for, HTTP auth, Ctrl-W completion
+ SSL
+
+Fabrice Haberer-Proust <fric@gmx.li>
+ French translation
+
+Cristiano Guadagnino <cris@geppo.cmb2000.it>
+ Updated italian translation
+
+Fabio Junior Beneditto <betatest@catolico.com.br>
+ Brazilian Portuguese translation
+
+Martin Kavalec <martin@penguin.cz>
+ Fixed redundant ':' in host header
+
+Peter Wang <tjaden@alphalink.com.au>
+ Rebindable keys, /etc/links.cfg
+
+Mike Swieton <pyromage@pyromage.net>
+ Fixed bug: Form is not posted when jumping to field by number
+
+Kaloian Doganov <kaloian@europe.com>
+ Bulgarian translation
+
+Baris Metin <baris@gelecek.com.tr>
+ Turkish translation
+
+Dmitry Pinchukov <dpinch@mail.ru>
+ Ukrainian translation
+
+Kalev Lember <kalev@colleduc.ee>
+Taniel Kirikal <taniel@colleduc.ee>
+ Estonian translation
+
+zas <zas@norz.org>
+ Updated French translation
+ Table frame and rules when no border attribute present
+
+Oleg Belousov <strijar@urai.ru>
+ "Ignore charset info sent by server" is saved din config file
+
+Nuno Miguel Rodrigues <nmr@europa.net.dhis.org>
+ Unixware console fix
+
+Adam Harvey <matlhdam@iinet.net.au>
+ Fixed sometimes badly posted form
+
+Alberto García <berto@gpul.org>
+ Galician translation
+
+Radovan Stas <radoone@skmi.science.upjs.sk>
+ Slovak translation
+
+Marco Bodrato <bodrato@linuz.sns.it>
+ Twinterm support
+
+Kaloian Doganov <kaloian@europe.com>
+ Bulgarian translation update
+
+Olexander Kunytsa <kunia@istc.kiev.ua>
+ Ukrainian translation update
+
+Marius Gedminas <marius.gedminas@uosis.mif.vu.lt>
+ Fixed reversed HOME/END on RXVT
+
+Mediavilla David <f4j900zx001@NOSPAMsneakemail.com>
+ Updated Spanish translation
+
+Simos Xenitellis <simos@hellug.gr>
+Alejandros Diamandidis <adia@egnatia.ee.auth.gr>
+ Greek codepages & translation
+
+Anton Voloshin <vav@isv.ru>
+ Proper encoding of form entries
+
+Michail Litvak <mci@owl.openwall.com>
+ Patch configure.in to force error if OpenSSL not found
+
+Nalin Dahyabhai <nalin@redhat.com>
+ Fixed occasional destroying of read buffer on Alpha
+
+Andrew Rodionoff <arnost@mail.ru>
+ Fixed minor bug in kbd binding
+
+Stefan de Groot <stefan@nllinux.nl>
+ Dutch translation
+
+Carles Sadurní Anguita <isard@ctv.es>
+ Catalan translation
+
+Ionel Mugurel Ciobîcã
+ Romanian translation
+
+Petr Baudis <pasky@pasky.ji.cz>
+ Use "imgtitle" if there's no "alt"
+ Fix relative redirect on -dump and -source
+ Add "LISTING" tag
+ Fix stripping '?' out of form url
+ Cookie expiration
+ Manpage update
+ Fixed one small leak when links goes out of memory
+ Do not call memset from signal handler
+ Fixed user in smb
+
+Jacek Fedorynski <jfedor@jfedor.org>
+ Fixed segfault when posting large forms
+
+Aldy Hernandez <aldyh@cygnus.com>
+ MacOS address resolution fix
+
+Muhamad Faizal <faizal@mfaizal.net>
+ Indonesian translation
+
+Peter Naulls <peter@chocky.org>
+ RiscOS support
+
+Jonas Fonseca <fonseca@diku.dk>
+ Danish translation
+
+David O'Brien <obrien@FreeBSD.org>
+ -force-html
+
+Sergey Karpov <karpov@sai.msu.su>
+ Updated russian translation
+ Fixed image alt displayed in incorrect codepage
+
+Simen Graaten <simeng@slarkware.com>
+ Norwegian translation
+
+Miroslav Rudisin <miero@atrey.karlin.mff.cuni.cz>:
+ Updated Slovak translation
+
+Varga Balázs <vinnui@broadband.hu>, <vinnui@ent.hu>
+ Updated Hungarian translation
+
+Denis Lackovic <delacko@fly.srk.fer.hr>
+ Croatian translation
+
+Richard Pecl <pecl@unicontrols.cz>
+ Use threads on windows
+
+Chris Lightfoot <chris@ex-parrot.com>
+ \xab parsing in strings in Javascript
+
+Yevgeny Gromov <yevgeny@tut.by>
+ Belarusian translation
+
+William Yodlowsky <wyodlows@andromeda.rutgers.edu>
+ SSL patch for Solaris and other systems without /dev/random
+
+Koblinger Egmont <egmont@cs.bme.hu>
+ Updated Hungarian translation
+
+Ludvik Tesar <tesar@mee.tcd.ie>
+ URL to clipboard copying in X.
+
+Stanson <stanson@btv.ru>
+ Clipboard pasting into links (works from all applications)
+
+Andre Valente <a.valente@netcabo.pt>
+ Portuguese translation
+
+Sven Neumann <sven@convergence.de>
+ DirectFB graphics driver
+
+Mátyás János <jani@mail.xubion.hu>
+ Updated Hungarian translation
+
+Anton 'Keeper' Kopyov <keeper@dfipm.vpti.vladimir.ru>
+ Updated Russian translation
+
+Karvinen Ilkka <ik@cs.tut.fi>
+ Updated Finnish translation
+
+Guido Schimmels <guido.schimmels@freenet.de>
+ Updated German translation
+
+Tamas Gervai <crown@tolna.net>
+ Links icons
+
+Daniel Berlin <dan@cgsoftware.com>
+ Cookies can contain whitespace (fixes bugzilla)
+
+Thomas Klausner <tk@giga.or.at>
+ Support for 16-bit 565 RGB big endian
+ Fix for 24-bit RGB big endian
+ libpng-1.5 support
+
+Strahinya Radich <mr99164@alas.matf.bg.ac.yu>
+ Serbian translation
+ Serbian Cyrillic letters
+
+Andrei Paskevich <andrei@capet.iut-fbleau.fr>
+ Image view & download with 'i', '*' to change inlined image display
+ Fix tokenizer of javascript when it encounters 0xff character
+
+Wojciech Puchar <wojtek@tensor.3miasto.net>
+ SunOS 4 portability fixes
+
+Marc Zonzon <Marc.Zonzon@univ-rennes1.fr>
+ Disable AC_BIG_ENDIAN and AC_LITTLE_ENDIAN name clash
+ Use pkg-config to find openssl
+
+Eduard Werner <edi.werner@gmx.de>
+ Upper Sorbian translation
+ Updated Polish translation
+
+Vladimir Marek <marek@printsoft.cz>
+ Fixed --disable-graphics and --disable-javascript
+
+Sam <sam@frida.fri.utc.sk>
+ SDL graphics driver
+
+Karel Karlik <kkar8447@ss1000.ms.mff.cuni.cz>
+ Fixed framebuffer in 15 and 16-bit modes
+
+Edward Rosten <er258@hermes.cam.ac.uk>
+ Block ad images
+
+Dieter <netbsd@sopwith.solgatos.com>
+ Fix warnings on 64-bit machines
+
+Jakub Bogusz <qboosh@pld-linux.org>
+ Updated Polish translation
+ Fixed memory corruption when passing parameters to framebuffer driver
+
+Federico G. Schwindt <fgsch@lodoss.net>
+ Use MD5 functions from libc when available
+
+Rezzie <rezzie@telkom.net>
+ Updated Indonesian translation
+
+Konstantin S. Kravtsov <k6@pisem.net>
+ Regular expressions for javascript
+
+Lech Lorens <lech_lorens@interia.pl>
+ Optional scrollbars in frames
+
+Matthew Fischer <futhark@mchsi.com>
+ Fixed Japanese fonts
+
+Jindrich Makovicka <makovick@gmail.com>
+ Fixed memory corruption when redirecting URLs with user:password
+
+Carles Pina i Estany <carles@pina.cat>
+ Add more top-level domains
+
+Didier Mequignon <didiermequignon@wanadoo.fr>
+ Updated French translation
+
+Ben Secrest <blsecres@gmail.com>
+ Don't change Xwindow class
+
+mab
+ Swiss German (Zueriduetsch) translation
+
+Christian Biere <christianbiere@gmx.de>
+ magnet: URL support
+
+Hazel Russman <hazeldebian@googlemail.com>
+ Updated Links manual
+
diff --git a/BRAILLE_HOWTO b/BRAILLE_HOWTO
new file mode 100644
index 0000000..3058fff
--- /dev/null
+++ b/BRAILLE_HOWTO
@@ -0,0 +1,29 @@
+Braille terminal support in Links
+=================================
+
+1) To turn on braille support:
+==============================
+- run Links in text mode
+- check "Braille terminal" in menu Setup->Terminal options
+
+2) What does it do:
+===================
+
+- all menu and dialogs are displayed full-screen
+- menu hot keys are displayed in front of the menu item (e.g. "O Html options")
+- in bookmark manager, associations manager and extensions manager:
+ keys up/down move cursor through the bookmarks and keys left/right move the
+ cursor through the buttons (add, delete, edit, ...)
+- all links are prepended with '~' (tilde) character
+- text fields are indicated with '>' character
+- arrow keys move the cursor around the page
+- key '{' (left bracket with shift) moves cursor to the beginning of a line
+- key '}' (right bracket with shift) moves cursor to the end of a line
+- to go to previous page: use 'z' key
+- key 'a' moves cursor to status bar
+- key 'w' moves cursor to title bar
+- key 't' moves to the previous word
+- key 'y' moves to the next word
+- key Ctrl-T moves to the previous link
+- key Ctrl-Y moves to the next link
+- key Ctrl-O moves to the next form field
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..248ec20
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,353 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ on, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USAThis 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
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+
+ In addition, as a special exception, the copyright holders give
+ permission to link the code of portions of this program with the
+ OpenSSL library under certain conditions as described in each
+ individual source file, and distribute linked combinations
+ including the two.
+ You must obey the GNU General Public License in all respects
+ for all of the code used other than OpenSSL. If you modify
+ file(s) with this exception, you may extend this exception to your
+ version of the file(s), but you are not obligated to do so. If you
+ do not wish to do so, delete this exception statement from your
+ version. If you delete this exception statement from all source
+ files in the program, then also delete it here.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..4f18a1d
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,4234 @@
+=== RELEASE 2.6 ===
+
+Sat Apr 7 03:54:41 CEST 2012 mikulas:
+
+ Fixed reads and writes out of memory in the xbm decoder
+ It may have security implications
+
+Mon Apr 2 05:34:15 CEST 2012 mikulas:
+
+ Fixed character set in the window title in X11
+
+Fri Mar 30 05:10:32 CEST 2012 mikulas:
+
+ Check EINTR after each syscall to work around non-working SA_RESTART
+ on some old Unices
+
+Wed Mar 28 22:11:23 CEST 2012 mikulas:
+
+ Fixed access out of allocated memory in the graphics renderer.
+ It may have security implications --- although just two characters
+ ('-' and 0) were written to the unallocated area.
+
+Tue Mar 27 21:49:38 CEST 2012 mikulas:
+
+ Fixed an infinite loop in usemap when invalid html tag was processed
+
+Sun Mar 25 04:46:43 CEST 2012 mikulas:
+
+ Fixed a crash if the user runs links with pipe on stdin
+
+Sun Mar 25 02:42:11 MET 2012 mikulas:
+
+ Fixed inefficiency when moving or dragging mouse over big documents
+
+Sat Mar 24 01:26:05 CET 2012 mikulas:
+
+ Fixed inefficiency when displaying documents with long lines
+
+Wed Mar 7 23:02:27 CET 2012 mikulas:
+
+ Fix copy and paste of Unicode characters to/from Xwindow
+ clipboard
+
+Tue Feb 28 21:04:51 CET 2012 mikulas:
+
+ Fixed visual glitches in the select box in text-mode UTF-8
+
+Sun Feb 26 18:31:17 MET 2012 mikulas:
+
+ Use key ' to move forward
+
+Thu Feb 23 23:13:35 CET 2012 mikulas:
+
+ Fixed access out of memory when pasting too long string from
+ a clipboard
+
+Thu Feb 23 00:52:09 CET 2012 mikulas:
+
+ The NSS encryption library can cause browser lockup. Add a warning.
+ The user should use OpenSSL instead of NSS.
+
+Wed Feb 22 23:11:45 CET 2012 mikulas:
+
+ Fix for big endian Xserver
+
+Tue Feb 21 03:03:33 MET 2012 mikulas:
+
+ Restrict textarea and input field width to screen size minus margins
+
+Tue Feb 21 00:29:09 CET 2012 mikulas:
+
+ Fixed saving formatted document when UTF-8 is used
+
+Sun Feb 19 22:24:20 MET 2012 mikulas:
+
+ Fixed a crash if the user selected "Frame at full-screen" in the menu
+ and there was no page displayed in the current frame
+
+Mon Feb 13 19:35:07 MET 2012 mikulas:
+
+ Reload bookmarks if some other Links instance changes them
+
+Mon Feb 13 18:37:41 MET 2012 mikulas:
+
+ Fixed some messages about decompression errors when http authentication
+ and compression was used at the same time
+
+Sun Feb 12 18:32:26 MET 2012 mikulas:
+
+ Display filename and percentage in the download menu
+
+Sun Feb 12 17:50:01 MET 2012 mikulas:
+
+ Fixed divide-by-zero crash in the download code
+
+Sun Feb 12 15:22:12 MET 2012 mikulas:
+
+ Continue downloads to partially downloaded file
+
+Tue Feb 7 07:13:49 MET 2012 mikulas:
+
+ Add information about versions of libraries
+
+Tue Feb 7 00:39:28 cet 2012 mikulas:
+
+ Fixed visual glitches in the list editor
+
+Sun Feb 5 20:35:43 cet 2012 mikulas:
+
+ Fixed integer overflows if file cache has more than 2GB
+
+Mon Jan 23 21:54:19 MET 2012 mikulas:
+
+ Don't compact <br> tags inside <pre> (fixes line numbers in
+ source code viewer on github)
+
+Mon Jan 23 03:23:07 CET 2012 mikulas:
+
+ Support non-english keyboard in the Xwindow driver
+
+Sun Jan 15 01:42:59 cet 2012 mikulas:
+
+ When opening a new window, copy html options from the existing session
+
+Sat Jan 14 22:59:53 cet 2012 mikulas:
+
+ Support #! translation according to Google specification
+
+Thu Jan 5 02:43:42 CET 2012 mikulas:
+
+ Fixed reading of a freed memory if the user deletes a user program
+ while a query box with user programs is displayed
+
+Fri Dec 30 15:34:11 MET 2011 mikulas:
+
+ Allow the user to set local IP address
+
+Thu Dec 29 18:41:51 MET 2011 mikulas:
+
+ Allow the user to change colors
+
+=== RELEASE 2.5 ===
+
+Sat Dec 24 20:30:41 MET 2011 mikulas:
+
+ Use icon in pmshell
+
+Wed Dec 21 01:46:04 cet 2011 mikulas:
+
+ Do not guess compression type from extension if Content-Type is html
+
+Mon Dec 19 03:09:04 MET 2011 mikulas:
+
+ Recognise tgz extension
+
+Sun Dec 18 21:33:52 cet 2011 mikulas:
+
+ Fixed some visual glitches in the list editor, window is automatically
+ resized with the terminal
+
+ Fixed a crash if the user changes bookmarks location while some bookmark
+ editing dialog was displayed
+
+ Fixed a bug that bookmark location couldn't be changed on text-only
+ builds
+
+ Removed save bookmarks menu option, bookmarks are saved always when
+ closing bookmark window
+
+Fri Dec 16 02:12:37 MET 2011 mikulas:
+
+ Search for viewer application according to file extension if the server
+ returns content type application/x-<compression method>.
+
+Tue Dec 6 20:03:21 cet 2011 mikulas:
+
+ Implemented forward history
+
+Sun Dec 4 11:35:17 CET 2011 mikulas:
+
+ Fixed memory leaks or lockups if a connection between
+ two links instances was unexpectedly broken
+
+ Implemented a handshake in the communication protocol so that
+ different Links versions won't communicate with each other
+
+ Fixed a possible lockup if the user presses key and the master
+ Links instance disconnects at the same time
+
+Sun Dec 4 06:05:03 CEST 2011 mikulas:
+
+ Use AF_UNIX on Windows
+
+Tue Nov 29 02:44:44 CET 2011 mikulas:
+
+ Do not send spaces in Accept-Charset
+
+Mon Nov 28 03:03:26 CET 2011 mikulas:
+
+ Identify compier in User-Agent
+
+Sun Nov 27 02:28:35 cet 2011 mikulas:
+
+ Heap in high memory on OS/2
+
+Fri Nov 25 01:25:56 CET 2011 mikulas:
+
+ Support lzma compression
+
+=== RELEASE 2.4 ===
+
+Sat Nov 19 01:21:25 MET 2011 mikulas:
+
+ Do not translate '\' to '/' in HTTP requests
+
+Sat Nov 19 01:19:12 MET 2011 mikulas:
+
+ Do not test for existing strings when loading links history file
+ => avoid quadratic-complexity on startup
+
+Sat Nov 19 01:18:59 MET 2011 mikulas:
+
+ Fixed a possible memory leak on Windows
+
+Wed Nov 16 17:59:49 MET 2011 mikulas:
+
+ Fixed a crash on systems that don't have strerror
+
+Fri Nov 11 23:22:25 CEST 2011 mikulas:
+
+ Fixed a crash in Windows console code
+
+Wed Oct 12 22:08:39 MET 2011 mikulas:
+
+ Fixed a possible crash if the user changes socks dns append string
+ while socks connection is in progress
+
+Sun Sep 25 18:40:57 MET 2011 mikulas:
+
+ Do not send '#' in the url when downloading
+
+Sun Sep 18 16:57:38 CEST 2011 mikulas:
+
+ Fixed crashes with libpng-1.5
+
+Fri Sep 16 20:16:01 CEST 2011 mikulas:
+
+ Fixed bugs in the directfb driver
+
+Fri Sep 16 18:40:41 CEST 2011 mikulas:
+
+ Workaround for icc optimization bug on framebuffer
+ Don't clear the whole framebuffer, clear just an used area
+ (fixes problems with Nvidia framebuffer)
+
+Tue Sep 13 23:13:52 CEST 2011 mikulas:
+
+ Make it compile with OpenWatcom for Linux
+ Note: because of unimplemented "gethostbyname" function,
+ it requires installed "host" command to do name lookups
+
+Tue Sep 13 03:53:06 cet 2011 mikulas:
+
+ Try to free internal caches when out of memory happens
+
+Mon Sep 12 19:57:13 CEST 2011 mikulas:
+
+ Fixed a crash when cache is flushed while auth dialog is displayed
+
+Sun Sep 11 02:02:09 MET 2011 mikulas:
+
+ Reduced memory consumption
+ Don't reformat plain text if window size changes
+
+=== RELEASE 2.3 ===
+
+Wed Aug 10 20:10:45 CEST 2011 mikulas:
+
+ Fixed leaked process if the user pressed Ctrl-Z and logged out
+
+Tue Aug 9 00:08:58 CEST 2011 mikulas:
+
+ Fix downloads of files larger than 4G
+
+Mon Aug 8 22:02:19 MET 2011 mikulas:
+
+ Fix 32-bit mode in DirectFB
+ (reported by Filip Szczepanski <jazz2rulez@googlemail.com>)
+
+Mon Aug 8 20:51:08 MET 2011 mikulas:
+
+ Don't cache HTTP 303 response
+
+Mon Jun 27 02:49:50 MET DST 2011 mikulas:
+
+ Update BeOS and AtheOS port to support Haiku and Syllable
+
+Fri May 13 20:29:54 CEDT 2011 mikulas:
+
+ Fix Utf-8 with block cursor
+
+Fri May 13 20:29:23 CEDT 2011 mikulas:
+
+ Fix login on iacbox
+
+Fri Apr 22 17:17:17 MET 2011 Thomas Klausner <tk@giga.or.at>:
+
+ libpng-1.5 support
+
+=== RELEASE 2.3pre2 ===
+
+Sat Apr 16 20:19:07 CEST 2011 mikulas:
+
+ Utf-8 text terminal support
+
+Sat Mar 12 23:55:56 MET 2011 mikulas:
+
+ Fixed a bug with gpm, if gpm closed a handle on its own,
+ links would occasionaly close it again
+
+Mon Aug 9 01:35:29 UTC 2010 mikulas:
+
+ Don't report terminal size in User-Agent
+
+Thu Aug 5 23:31:59 MET 2010 mikulas:
+
+ Scan for header tags even in document body
+
+Sat Jul 31 22:35:04 MET 2010 mikulas:
+
+ link rel=prefetch
+
+Sat Jul 31 22:24:06 MET 2010 mikulas:
+
+ Interpret style="display:none"
+
+Fri Jun 18 20:39:46 MET 2010 mikulas:
+
+ Fixed crash when unknown Content-Enconding is returned by the server
+
+Sat Apr 24 04:11:58 CEST 2010 mikulas:
+
+ Fix an occasional lockup with Ctrl-Z, fg and framebuffer
+
+=== RELEASE 2.3pre1 ===
+
+Sun Aug 16 06:17:03 MET 2009 mikulas:
+
+ Accept cookies for domains with two parts, such as xxxx.yy, where
+ "xxxx" has at least 4 chars. This likely won't be generic domain such
+ as "co.tw", so accepting the cookie is safe.
+
+Sun May 17 22:29:43 MET DST 2009 mikulas:
+
+ Support encryption with NSS (GPL fanatics don't like OpenSSL, grrr)
+
+Sun May 17 18:51:07 cet 2009 mikulas:
+
+ Ignore textarea that is not inside form (for Google)
+
+Sun Jan 18 19:27:56 CET 2009 mikulas:
+
+ Avoid quadratic complexity when parsing long forms
+
+Thu Jan 1 14:04:38 CET 2009 mikulas:
+
+ UTF-8 text mode terminal support
+
+Sun Sep 14 01:02:06 MET 2008 mikulas:
+
+ Decode '%' in downloaded file names
+
+Tue Sep 9 23:13:20 MET 2008 mikulas:
+
+ Do not add another '?' or '&' if already present at the end of form
+ submit URL
+
+Sun Aug 24 17:19:32 MET 2008 Christian Biere <christianbiere@gmx.de>:
+
+ magnet: URL support
+
+Wed Aug 20 23:03:10 cet 2008 mikulas:
+
+ More strict check for invalid GIF header
+ (catches some misgenerated images that reported too big size and
+ overflowed the memory allocator)
+
+Sun Aug 17 23:30:34 MET 2008 mikulas:
+
+ Check for too big images
+
+Wed Aug 13 00:24:41 CEST 2008 mikulas:
+
+ Fixed occassional drawing after VT switch on framebuffer
+
+Mon Aug 4 18:53:52 cet 2008 mikulas:
+
+ Don't submit disabled form entries (this is compatible with
+ Mozilla/MSIE; Netscape and Lynx do submit them)
+
+Sun Aug 3 02:40:58 MET 2008 mikulas:
+
+ Handle restart with servers that send 206 but don't send Content-Range
+
+=== RELEASE 2.2 ===
+
+Mon Jul 28 14:39:24 CEST 2008 mab:
+
+ Swiss German (Zueriduetsch) translation
+
+Fri Jul 18 23:35:44 MET 2008 mikulas:
+
+ Fix scrollbars being offset by few pixels when "scrolling" attribute
+ was used
+
+Fri Jul 11 20:40:38 MET 2008 mikulas:
+
+ Drop .gz or .bz2 extension when viewing files downloaded from ftp (and
+ decompressing them)
+
+=== RELEASE 2.1 ===
+
+Wed Jul 2 03:48:23 MET DST 2008 mikulas:
+
+ Turn memory debugging off by default
+
+Tue Jun 24 06:08:04 MET 2008 mikulas:
+
+ Security bug fixed: when "only proxies" is selected, don't pass URLs
+ to external programs
+
+=== RELEASE 2.1pre37 ===
+
+Sun Jun 22 17:07:20 cet 2008 mikulas:
+
+ -dump and -source don't lockup on authentication failure
+
+Sat Jun 21 19:58:53 MET 2008 mikulas
+
+ Accept broken numbers in HTTP code
+
+Sat Jun 21 18:00:54 cet 2008 mikulas:
+
+ Allow '+' in command-line URLs
+
+Thu Jun 12 03:34:53 cet 2008 mikulas:
+
+ Erase clipboard on OS/2 before copying to it - this prevents bugs
+ when copying to/from Mozilla
+
+Mon Jun 9 02:34:24 MET 2008 mikulas:
+
+ Process &#10; and &#9; in form entry "value" attribute
+
+Tue Jun 3 00:22:49 CEST 2008 mikulas:
+
+ Fixed various display glitches with 64-bit big endian systems
+
+Sun May 18 21:47:46 CEST 2008 mikulas:
+
+ Fixed display quirks on Sparc framebuffer console
+ Fixed some quirks on 64-bit big endian systems
+
+=== RELEASE 2.1pre36 ===
+
+Tue May 13 04:04:47 MET 2008 mikulas:
+
+ Fixed crash that was introduced with Sun May 4 20:13:21 MET 2008 fix
+
+Mon May 12 23:26:51 MET 2008 mikulas:
+
+ Blacklist another broken HTTP/1.1 server - Apache Sausalito
+
+Fri May 9 04:06:47 MET 2008 mikulas:
+
+ Take downloaded file name from Content-Type; name argument, if it exists
+ Also, get encoding information from Content-Type/Content-Disposition
+ filename
+
+=== RELEASE 2.1pre35 ===
+
+Mon May 5 20:06:19 MET 2008 mikulas:
+
+ The fix from Sun May 4 20:13:21 MET 2008 broke loading of animated gifs
+
+=== RELEASE 2.1pre34 ===
+
+Sun May 4 21:18:15 MET 2008 mikulas:
+
+ Allow displaying large images in xwindow (that do not fit into xserver
+ memory)
+
+Sun May 4 20:13:21 MET 2008 mikulas:
+
+ Fixed image was sometimes not redrawn, when connection was interrupted
+ in the middle and resumed
+
+Sun May 4 17:52:29 MET 2008 Ben Secrest <blsecres@gmail.com>:
+
+ Don't change Xwindow class
+
+Wed Apr 16 03:10:02 cet 2008 Didier Mequignon <didiermequignon@wanadoo.fr>:
+
+ Updated French translation
+
+Wed Mar 26 20:50:32 MET 2008 mikulas:
+
+ Fixed crash in text mode with small window height and bookmarks
+
+Sat Mar 22 22:01:15 MET 2008 mikulas:
+
+ Accept </> as an empty tag
+
+Thu Mar 20 22:47:09 CET 2008 mikulas:
+
+ Accept alternate description attributes for image buttons
+
+Thu Mar 20 04:36:45 MET 2008 mikulas:
+
+ Fixed the bug that when displaying source, some html entities were
+ errorneously translated
+
+Thu Mar 20 04:30:52 MET 2008 mikulas:
+
+ Added fallback for &#8209; entity
+
+Thu Mar 13 22:43:48 CET 2008 mikulas:
+
+ Allow multiple WWW-Authenticate headers
+
+=== RELEASE 2.1pre33 ===
+
+Thu Jan 31 21:11:40 MET 2008 mikulas:
+
+ Fixed memory leak when there was an error in decompression
+
+Thu Dec 27 23:37:03 MET 2007 mikulas:
+
+ Support few more keycodes on ANSI terminal (PAGE UP, PAGE DOWN and few
+ F* keys)
+
+Wed Dec 26 03:43:35 cet 2007 mikulas:
+
+ Disable smb:// URLs on OS/2, fork+threads can cause crashes in EMX
+ Besides, there's no usable smb client program anyway
+
+Tue Dec 25 01:44:28 MET 2007 mikulas (sponsored by Dondor Ltd.):
+
+ A .nsi file to make Windows installer with Nullsoft scriptable install
+
+Mon Dec 24 01:44:11 MET 2007 mikulas:
+
+ Fixed a bug that strings with spaces could not be passed from command
+ line
+
+Mon Dec 24 00:43:57 MET 2007 mikulas:
+
+ Socks 4A support (so that Links can be used with tor without
+ intermediate proxy)
+
+Thu Dec 20 05:40:22 cet 2007 mikulas:
+
+ Thre previous Windows fix broke opening new windows on OS/2
+
+=== RELEASE 2.1pre32 ===
+
+Thu Dec 13 04:44:01 MET 2007 mikulas:
+
+ Do not display links to alternate stylesheets
+
+Tue Dec 11 06:37:56 MET 2007 mikulas:
+
+ Use Content-Disposition as a suggestion for downloaded file name
+
+Sun Dec 9 04:52:37 MET 2007 mikulas:
+
+ Fixed write to freed memory resulting in misbehavior of radio buttons
+ and a possible crash
+
+Wed Dec 5 23:26:55 MET 2007 mikulas:
+
+ Make it run without Cygwin environment (only with Cygwin DLLs)
+ Workaround for flaws in Cygwin Unix emulation:
+ SIGWINCH is sometimes lost
+ Signal handlers write to a pipe and it should wake select() up,
+ sometimes, it doesn't
+ exec("command.com") crashes Windows 98 when some sockets are
+ open
+
+Wed Dec 5 18:05:00 MET 2007 mikulas:
+
+ Do not search for compressed-file extension (.gz, .bz2) in URLs
+ containing '?', '&' or ';' --- they are likely scripts and they should
+ provide information about compression in the header.
+
+Tue Dec 4 04:09:51 MET 2007 mikulas:
+
+ When the document was truncated to zero size on reload and no data were
+ received, links didn't invalidate formatted document cache
+
+Wed Nov 7 00:20:12 MET 2007 mikulas:
+
+ Accept capital 'X' as a hex number mark in html entities
+
+Fri Nov 2 19:53:01 MET 2007 mikulas:
+
+ Do not print links to stylesheet to the document
+
+Fri Nov 2 19:52:22 MET 2007 mikulas:
+
+ Slightly improve parsing of ftp --- when the line contains "<DIR>", we
+ can assume that it is a directory
+
+Tue Oct 30 21:22:27 cet 2007 mikulas:
+
+ Previous release didn't compile on OS/2 due to missing SIGCONT
+
+=== RELEASE 2.1pre31 ===
+
+Sat Oct 27 02:52:07 CEST 2007 mikulas:
+
+ Some newer Linuxes unfortunatelly do not send SIGCONT when running
+ process is brougt to foreground with 'fg' command. So implement 0.5s
+ polling to test if we're on foreground.
+
+Wed Oct 24 03:41:19 MET 2007 mikulas:
+
+ Do not request compression for files with .Z, .gz or .bz2 suffix
+ --- some servers will compress them again
+
+Wed Oct 24 03:16:43 MET 2007 mikulas:
+
+ Support HTTP/0.9 (without header)
+
+Mon Oct 22 18:35:16 MET 2007 mikulas:
+
+ In case of non-restartable connection, proceed with the connection
+ even if the server is on blacklist
+
+Mon Oct 22 02:00:13 MET 2007 mikulas:
+
+ An option to disallow non-proxy connections (for anonymization via tor
+ or similar services)
+
+Sat Oct 20 22:08:02 MET 2007 mikulas:
+
+ Turn off compression if the server closes the connection prematurely
+ Some servers errorneously send the size of uncompressed data
+
+Sat Oct 13 18:19:45 MET 2007 mikulas:
+
+ An option to disable compression. Disable compression automatically for
+ a given server if links receives errorneous compressed data
+
+Mon Sep 17 03:59:33 CEST 2007 mikulas:
+
+ Break ansi aliasing on ICC 10 with -ipo
+ Empty function call was not enough to break it
+
+Fri Sep 7 00:00:29 MET 2007 mikulas:
+
+ When the connection dies after the last received byte, do not send
+ "Range:" header in retry request --- servers don't like "Range" pointing
+ after the last byte
+
+=== RELEASE 2.1pre30 ===
+
+Mon Aug 6 04:01:05 MET 2007 mikulas:
+
+ Fixed security bug in pre29 (not in any previous versions):
+ special characters in URL could be passed to a shell when spawning
+ user viewer
+
+Sat Jul 28 02:28:15 MET 2007 mikulas:
+
+ Fixed needlessly large selection boxes in graphics mode
+
+Mon Jul 16 02:41:18 MET 2007 mikulas:
+
+ Release mouse when spawning OS shell or user viewers
+
+=== RELEASE 2.1pre29 ===
+
+Sun Jul 8 01:05:08 MET DST 2007 mikulas:
+
+ Fixed bad redraw of X window when Expose event come for some area while
+ scrolling different area
+
+Sat Jul 7 04:06:52 cet 2007 mikulas:
+
+ Accept drive letters without file: prefix in OS/2 and Win32
+
+Sat Jul 7 03:50:27 cet 2007 mikulas:
+
+ Use _getcwd2 on OS/2 --- it returns path including the drive letter
+
+Sat Jul 7 02:19:35 cet 2007 mikulas:
+
+ Set extension of downloaded or viewed files according to content-type,
+ not according to URL extension
+
+Sun May 27 17:15:00 MET 2007 mikulas:
+
+ Fixed bad displaying of jpeg images on machines where memcpy operates in
+ different order
+
+Sun May 27 14:06:41 MET DST 2007 mikulas:
+
+ Fixed crash on invalid jpeg files (found by Michael Scherer
+ <misc@zarb.org> with http://fusil.hachoir.org/)
+
+Wed May 23 00:41:53 MET 2007 mikulas:
+
+ Do not send If-Modified-Since or Range in HTTP request if cached page
+ has an error code
+
+Tue May 15 23:15:21 MET 2007 mikulas:
+
+ Fixed some quirks with download file handling --- when each terminal had
+ different CWD, downloaded files were not deleted
+
+ When getting EFBIG error (file size exceeded), continue download in
+ another file
+
+Fri May 11 22:39:02 MET 2007 mikulas:
+
+ A possibility to pass HTTP or FTP URLs directly to external programs
+ (programs such as mpg321, ogg123, mplayer can play directly from the
+ network)
+
+Thu May 10 23:07:47 cet 2007 mikulas:
+
+ Fixed inability to display images compressed on the fly by the server
+ (it is pointless to try to compress already compressed images, but some
+ servers do it anyway)
+
+Wed May 9 00:32:17 CEST 2007 mikulas:
+
+ Escape Referer: correctly
+
+Wed May 9 00:32:09 CEST 2007 mikulas:
+
+ Fixed bug that it couldn't be compiled without optimization without
+ javascript
+
+Mon Apr 30 03:48:40 cet 2007 mikulas:
+
+ Blacklist FORPSI server --- do not send Range: to it
+
+Mon Apr 16 01:49:07 MET DST 2007 mikulas:
+
+ Javascript was removed. The reason is that it is very buggy, Martin
+ Pergel doesn't have time to develop it and code is so messy that no one
+ else can understand it.
+
+ If you use links for special purposes (embedded devices, etc.), you can
+ bring javascript back by copying javascript files from previous release,
+ removing "dnl javascript" lines from configure.in, adding *.c and *.h
+ files to Makefile.am and re-running automake and autoconf.
+
+ Javascript hooks from main code were not removed --- they just won't be
+ maintained.
+
+=== RELEASE 2.1pre28 ===
+
+Wed Apr 11 01:39:36 cet 2007 mikulas:
+
+ Fixed a bug in decompression and javascript document.write introduced in
+ previous release (compressed data were displayed after document.write)
+
+ (BTW. because the javascript interpreter has bugs, Martin Pergel has not
+ time for it and the code is so messy that it couldn't be understand by
+ anyone else, javascript will likely be removed in next release)
+
+=== RELEASE 2.1pre27 ===
+
+Sat Apr 7 02:43:28 CEST 2007 mikulas:
+
+ Terminal resize, window title and clipboard support for Cygwin
+ Clipboard supports non-ascii characters badly, it is a limitation in
+ Cygwin
+
+Wed Apr 4 23:19:00 MET 2007 Carles Pina i Estany <carles@pina.cat>:
+
+ Add more top-level domains
+
+Sat Mar 31 03:02:40 CEST 2007 student:
+
+ win32.c file removed because in each new version of windows it doesn't
+ work. Don't even try to fix it unless you have computers with Windows
+ NT, Window 2000, Windows XP and Windows Vista side by side.
+
+ (new Cygwin emulates xterm-like mouse on the console, so it's not needed
+ for mouse)
+
+ Cygwin sometimes doesn't send SIGWINCH, it is its bug, so I didn't try
+ to fix it in links. Press twice Alt-Enter if links doesn't notify window
+ size change
+
+Sun Mar 25 22:26:41 MET 2007 mikulas:
+
+ Fixed bad behaviour of scrollbars on very large documents due to integer
+ overflow
+
+Wed Mar 21 22:15:25 MET 2007 mikulas:
+
+ Support for zlib, gzip and bzip2 files
+
+Wed Mar 21 04:37:42 MET 2007 mikulas:
+
+ Limit image scaling to prevent allocation overflow
+
+Tue Feb 6 00:23:43 MET 2007 mikulas:
+
+ Allow quotation marks in Refresh URL parameter --- fixes Google Picasa
+
+=== RELEASE 2.1pre26 ===
+
+Tue Nov 28 23:13:38 MET 2006 mikulas:
+
+ Fixed severe security bug: '"' and ';' in smb:// url could be used for
+ remote command execution.
+
+=== RELEASE 2.1pre25 ===
+
+Wed Nov 22 23:55:21 MET 2006 mikulas:
+
+ DirectFB no longer causes internal error on unsupported color depth.
+ Normal error reporting and trying other drivers is be done.
+
+Wed Nov 22 22:26:58 MET 2006 Jakub Bogusz <qboosh@pld-linux.org>:
+
+ Updated Polish Translation
+
+Sun Nov 12 17:23:46 MET 2006 mikulas:
+
+ Fixed memory leak in http authentication
+
+=== RELEASE 2.1pre24 ===
+
+Mon Nov 6 02:13:48 cet 2006 mikulas:
+
+ Fixed incorrect page displayed when search string ended with space and
+ the word was last on page
+
+Thu Oct 26 16:10:01 MET 2006 mikulas:
+
+ More strict parsing of ftp list, fixes ftp.su.se
+
+Sun Oct 15 22:55:28 MET DST 2006 mikulas:
+
+ Allow cookie path to point to file, not only directory
+
+Wed Oct 11 00:17:27 MET DST 2006 mikulas:
+
+ Fixed quirk with displaying of links in text mode
+
+Mon Oct 9 23:33:03 MET 2006 Jakub Bogusz <qboosh@pld-linux.org>:
+
+ Updated Polish translation
+
+Mon Oct 9 21:55:24 MET 2006 Jindrich Makovicka <makovick@gmail.com>:
+
+ Fixed memory corruption when redirecting URLs with user:password
+
+Mon Sep 11 02:43:32 MET DST 2006 mikulas:
+
+ Test for socklen_t
+ Work without PF_INET (for Minix 3)
+ Cleaned up use of AF_ and PF_ constants
+
+Sat Sep 9 00:05:16 MET 2006 mikulas:
+
+ Fixed double-to-string conversion for config files
+
+Fri Aug 25 00:48:05 MET 2006 mikulas:
+
+ Parsing ftp directories starts to be difficult because fixing one bug
+ introduces other. Previous fix sometimes mistook size for year :-/
+
+Sun Aug 20 05:06:57 cet 2006 mikulas:
+
+ Correctly translate character set of "label" attribute
+
+Thu Aug 17 19:57:34 MET 2006 mikulas:
+
+ Fixed incremental loading of XBM images
+
+Mon Aug 7 05:11:47 CEST 2006 Matthew Fischer <futhark@mchsi.com>:
+
+ Fixed Japanese fonts
+
+Mon Jul 31 00:32:58 MET 2006 mikulas:
+
+ More cygwin fixes
+
+=== RELEASE 2.1pre23 ===
+
+Thu Jul 27 04:53:01 CEST 2006 mikulas:
+
+ Fixed pagedown and search bugs in braille terminal introduced in
+ links-2.1pre20
+
+Sun Jul 16 16:35:54 cet 2006 mikulas:
+
+ Link to "" redirects to current file rather than current directory
+ (fixes some forms)
+
+Sun Jul 16 00:08:30 cet 2006 mikulas:
+
+ Better ftp directory parsing (process correctly file names starting with
+ year)
+
+Sat Jul 15 16:37:36 MET 2006 mikulas:
+
+ Bigger default textarea
+
+Mon Jul 10 22:53:09 MET DST 2006 mikulas:
+
+ Use pkg-config to search for libpng and pcre
+
+Tue Jun 27 23:50:43 cet 2006 mikulas:
+
+ Fixed display of multiple consecutive spaces when searching
+
+Tue Jun 27 23:14:35 cet 2006 mikulas:
+
+ View &nbsp; as space when searching
+
+Sun Jun 18 16:11:57 MET 2006 mikulas:
+
+ Command "kill background connections" aborts also keepalive connections
+
+Sat Jun 17 21:43:01 cet 2006 mikulas:
+
+ Removed SDL support until someone fixes it.
+ Remaining bugs:
+ palette not installed with 256-color svgalib support
+ drawing doesn't synchronize with softcursor (seen on svgalib)
+ stupid keyboard handling (SDL has the ability to query
+ operating system keymap and translate keys to unicode
+ but this driver didn't use it)
+ doesn't support virtual devices with Alt-1 ... Alt-0, like
+ svgalib and framebuffer
+ reportedly crashes with sdl-1.2.10
+ If you want SDL support continued, take file sdl.c from previous
+ version of links, fix the above issues and resubmit it.
+
+Sat Jun 17 21:08:04 cet 2006 mikulas:
+
+ Fixed exponential memory consumption with table cell colspan/rowspan
+
+Sat Jun 17 20:30:49 cet 2006 mikulas:
+
+ Do not try to interpret <script src=...> if server returns HTTP error
+
+Sat Jun 10 23:52:00 cet 2006 mikulas:
+
+ Decode %AB sequences in position tags
+
+Fri Jun 9 18:32:55 cet 2006 mikulas:
+
+ Accept broken meta refresh tags (fixes www.seznam.cz)
+
+Fri Jun 9 02:14:42 MET 2006 mikulas:
+
+ Shift-Q exits without question
+
+Sat Jun 3 21:47:19 cet 2006 mikulas:
+
+ Fixed a bug that <body onload=...> was not processed when there were no
+ other scripts on that page
+
+Sat Jun 3 19:31:35 CEST 2006 mikulas:
+
+ Fixed crash in javascript regular expressions
+
+Wed May 31 18:25:32 CEST 2006 mikulas
+
+ Fixed mouse in Cygwin
+ Allowed to run in xterm or rxvt in Cygwin
+
+=== RELEASE 2.1pre22 ===
+
+Wed May 24 20:03:59 MET DST 2006 mikulas:
+
+ sponsored by Alex Poylisher <sher@komkon.org>
+ Use 8-bit gamma correction on machines with slow FPU (or with FPU
+ emulation) --- this significantly reduces startup time
+
+Fri May 12 04:23:58 MET DST 2006 Lech Lorens <lech_lorens@interia.pl>:
+
+ Optional scrollbars in frames
+
+Sat Apr 29 18:06:05 CEST 2006 clock:
+
+ Implemented porn mode (bare image autoscaling aka fullscreen).
+
+Sat Apr 29 12:45:07 CEST 2006 clock:
+
+ Fixed ignorance of aspect ratio for images where only one dimension
+ is specified.
+
+Thu Apr 27 03:08:27 MET 2006 mikulas:
+
+ Fixed crash when deleting item at the top of the window in bookmarks
+ or associations or extensions
+
+Thu Apr 20 18:27:07 MET 2006 mikulas:
+
+ Ignore space at the end of url
+
+Wed Apr 5 04:28:09 cet 2006 mikulas:
+
+ Fixed memory leak on image with no src attribute and usemap attribute
+
+Tue Apr 4 00:37:49 MET 2006 mikulas:
+
+ Support 4th and 6th mouse button on svgalib
+
+=== RELEASE 2.1pre21 ===
+
+Sun Apr 2 19:37:50 MET 2006 mikulas:
+
+ Fixed some quirks when URL contained multiple '#' characters
+
+Sun Apr 2 19:08:45 MET 2006 mikulas:
+
+ Better parsing of FTP directories (fixes Quick 'n Easy FTP Server)
+
+Sun Apr 2 17:10:30 CEST 2006 mikulas:
+
+ Fixed javascript memory leak on www.ebay.com
+ The bug was due to namespace containing reference to itself
+ PerM is really a programmer pig. After writing namespace allocation and
+ initialization 39 times, he didn't even consider making it function :-(
+
+Thu Mar 30 20:36:39 cet 2006 mikulas:
+
+ Location: field in HTTP reply is now allowed to contain position
+ specification '#'
+
+Thu Mar 23 15:20:22 CET 2006 mikulas:
+
+ Do not send Accept-Language to a buggy Netscape-Enterprise server
+ Do not send "en" language twice in Accept-Language
+
+Mon Mar 20 01:14:58 MET 2006 mikulas:
+
+ Changes license to allow linking with OpenSSL
+
+Sun Mar 19 03:07:32 MET 2006 mikulas:
+
+ Support &#10;, &#13; and &#9;
+
+Sat Mar 11 04:08:15 MET 2006 mikulas:
+
+ An option to turn off IP type-of-service (some misconfigured firewalls
+ drop packets with it)
+
+Mon Mar 6 17:27:27 MET 2006 mikulas:
+
+ When clicking on images with keyboard, submit point (1,1), not (0,0)
+ (work around another bug on mail.centrum.cz)
+ Submit value attribute with image
+
+Sun Mar 5 21:07:38 MET 2006 mikulas:
+
+ Ignore percentual height specification in html (links took it relatively
+ to the height of the screen while other browsers interpreted it
+ relatively to the height of a table cell)
+
+Sun Mar 5 20:47:23 MET 2006 mikulas:
+
+ Make multipart boundary format compatible with Netscape (unfortunatelly
+ there are buggy servers that depend on it --- for example
+ mail.centrum.cz)
+ Do not send Content-Type when there's no file to upload
+
+Wed Mar 1 01:01:36 MET 2006 Andrei Paskevich <andrei@capet.iut-fbleau.fr>:
+
+ Fix tokenizer of javascript when it encounters 0xff character
+
+Tue Feb 28 01:46:18 cet 2006 mikulas:
+
+ OS/2 Pmshell gui: Ignore mouse-move events if mouse position stays the
+ same. Mozilla is somehow generating these events when its javascript
+ runs and it disrupts links
+
+Mon Feb 27 05:24:28 cet 2006 mikulas:
+
+ Make textarea wrapping default (compatible with Mozilla, Netscape has
+ default no wrapping)
+
+Sat Feb 11 02:26:24 cet 2006 mikulas:
+
+ More bug-compatible parsing of superfluous quotation marks
+
+Sun Feb 5 21:11:49 MET 2006 mikulas:
+
+ Fixed some quirks when searching in associations or extensions ---
+ search sometimes didn't find anything (depending on random memory)
+ and window was not properly redrawn
+
+Sun Feb 5 20:15:38 MET 2006 mikulas:
+
+ Fixed crash when bookmarks window was opened after changing bookmarks
+ charset
+
+Sun Feb 5 18:54:52 MET 2006 mikulas:
+
+ Case-insensitive search of all characters
+
+Wed Jan 25 16:26:35 MET 2006 mikulas:
+
+ Fixed some quirks in graphics user interface:
+ selection didn't work when javascript was not compiled in
+ right mouse button didn't display menu when text was selected
+ serch text temporarily disappeared when user clicked on it
+ middle button didn't click on scrollbars
+
+Wed Jan 25 05:18:08 CET 2006 mikulas:
+
+ Updated manpage
+
+Mon Jan 23 18:22:41 MET 2006 mikulas:
+
+ Fixed textarea content corruption due to overlapping areas in memcpy
+
+Thu Jan 19 18:13:52 MET 2006 mikulas:
+
+ Disallow access to proxy:// urls from user interface
+ (they are internal-only)
+
+Thu Jan 19 17:57:13 MET 2006 mikulas:
+
+ Accept urls http://host.domain#position
+
+Sun Jan 15 16:29:19 MET 2006 mikulas:
+
+ Find X-window in X11R7 directory
+
+Sun Jan 15 05:51:13 MET 2006 mikulas:
+
+ Preserve config, history and bookmarks in case of IO error (including
+ full disk)
+
+Fri Dec 30 17:31:26 MET 2005 mikulas:
+
+ Guess content-type by extension on misconfigured servers that
+ return text/plain or application/octet-stream
+
+Thu Dec 29 23:35:32 MET 2005 Jakub Bogusz <qboosh@pld-linux.org>:
+
+ Updated Polish translation
+
+Thu Dec 22 15:14:00 MET 2005 mikulas:
+
+ Discard mouse events while user viewer is in foreground (but due to some
+ quirks in gpm/svgalib, it may still produce spurious mouse-click events)
+
+Thu Dec 22 13:36:38 MET 2005 mikulas:
+
+ Fixed bug with downloads and cyclic redirects (now, as when loading
+ real documents, it turns off cache and displays error if it doesn't
+ help)
+
+=== RELEASE 2.1pre20 ===
+
+Wed Dec 7 21:21:18 MET 2005 E. Rosten <er258@eng.cam.ac.uk>:
+
+ Blocklist blocks all accesses, not only images
+
+Wed Dec 7 00:41:09 MET 2005 mikulas:
+
+ Fixed proper position after go-back if the file was not in cache
+ Fixed incorrect initial position on some pages with long tables during
+ viewing while loading
+ Fixed some quirks with Braille terminal and jumping by words
+ -dump -html-numbered-links 1 prints links' locations
+
+Tue Nov 29 00:36:24 MET 2005 mikulas:
+
+ Do not load too big files on background (maximum size is cache size / 4)
+
+Mon Nov 28 01:49:54 MET 2005 mikulas:
+
+ Restore terminal attributes on fatal errors
+
+Sun Nov 27 22:35:25 CET 2005 mikulas:
+
+ Allowed download of files larger than 2G
+
+Thu Nov 24 18:17:38 MET 2005 Konstantin <k6@pisem.net>:
+
+ Regular expressions for javascript
+
+Sat Nov 19 18:57:04 MET 2005 mikulas:
+
+ Allow cookies with "secure" parameter
+ Cookies without path act as if path was "/" instead of current directory
+
+Sat Nov 12 23:34:13 cet 2005 mikulas:
+
+ Remove username and password from referer
+ An option to send real referer only to the same server
+
+Sat Nov 12 20:37:06 MET 2005 mikulas:
+
+ Allow user and password in http url --- http://user:password@host/
+
+Wed Nov 9 20:20:45 MET 2005 mikulas:
+
+ In graphics mode, prefer "title" to "alt" in <img> tag
+
+Thu Nov 3 00:22:18 MET 2005 mikulas:
+
+ Status line is redrawn only when it changes --- prevents cursor flicker
+
+Wed Nov 2 15:36:17 MET 2005 mikulas:
+
+ Do not use HTTP/1.1 on lighttpd server
+
+Mon Oct 24 22:19:33 CEST 2005 mikulas:
+
+ Account document.write content to javascript memory quota
+ Print javascript memory in "memory info" dialog window
+
+Mon Oct 24 16:32:40 MET 2005 mikulas:
+
+ Recognise "title" attribute in <LINK> tag
+
+Mon Oct 24 16:23:41 MET 2005 mikulas:
+
+ Accept application/xhtml as html type
+
+Sun Oct 23 03:38:48 cet 2005 mikulas:
+
+ Allow usemap and ismap on images simultaneously
+
+Sat Oct 22 17:16:52 MET 2005 Rezzie <rezzie@telkom.net>:
+
+ Updated Indonesian translation
+
+Fri Oct 21 15:58:56 MET 2005 mikulas:
+
+ &quote;
+
+Thu Oct 20 03:30:48 MET DST 2005 mikulas:
+
+ Special handling for relative URLs beginning with '&' or '?'
+
+Wed Oct 12 13:27:52 MET 2005 Jakub Bogusz <qboosh@pld-linux.org>:
+
+ Updated Polish translation
+
+Tue Oct 11 17:23:26 MET 2005 mikulas:
+
+ An optional retry on internal server errors
+
+Tue Oct 11 03:48:52 MET DST 2005 mikulas:
+
+ Get indenting of TAB character in UTF-8 documents right
+
+Tue Oct 11 02:40:17 MET DST 2005 mikulas:
+
+ Better glob match that does not cause stack overflow
+
+=== RELEASE 2.1pre19 ===
+
+Fri Sep 9 00:37:42 CEST 2005 mikulas:
+
+ Fix crash when directory disappeared while opening it
+
+Tue Sep 6 16:14:26 MET 2005 mikulas:
+
+ HTTP 307 redirect (as equivalent of 302)
+
+Sun Aug 21 19:18:34 MET 2005 mikulas:
+
+ sponsored by Arida Technology (www.arida-technology.com)
+ Keyboard handlers in javascript
+ Inverted text
+
+Tue Aug 9 16:06:38 MET DST 2005 Jakub Bogusz <qboosh@pld-linux.org>:
+
+ Updated Polish translation
+
+Tue Aug 9 16:05:04 MET DST 2005 Jakub Bogusz <qboosh@pld-linux.org>:
+
+ Fixed memory corruption when passing parameters to framebuffer driver
+
+Thu Aug 4 18:11:37 CEST 2005 mikulas:
+
+ Fixed compilation problem without javascript
+
+=== RELEASE 2.1pre18 ===
+
+Sat Jul 30 00:01:55 MET DST 2005 mikulas:
+
+ Fixed reverse numbering of form fields in javascript
+
+Fri Jul 29 22:45:30 MET 2005 mikulas:
+
+ Fixed cursor position in bookmarks after HOME, END, PAGE UP, PAGE DOWN
+
+Thu Jun 23 04:05:45 cet 2005 mikulas:
+
+ <sub>, <sup> and alignment images to top and middle of line
+
+Wed Jun 22 18:15:11 MET 2005 mikulas:
+
+ Implemented <hr> in graphics mode
+
+Mon Jun 20 15:57:00 cet 2005 mikulas:
+
+ Do not make whitechar-elimination on invisible form entries
+
+Sat Jun 18 18:16:24 MET 2005 mikulas:
+
+ Allow '#' in smb files and directories
+
+Fri Jun 17 23:10:24 MET 2005 Simen Graaten <simeng@slarkware.com>:
+
+ Updated Norwegian translation
+
+Mon Jun 6 18:47:37 MET 2005 mikulas:
+
+ Do not respond to unknown authentication methods with basic response
+
+Sun May 29 05:43:58 cet 2005 mikulas:
+
+ Do always use cache when going back
+
+Sun May 22 21:03:16 MET 2005 mikulas:
+
+ Allow '#' in ftp password
+
+Wed May 18 01:18:58 cet 2005 mikulas:
+
+ Allow image map elements without href and only with javascript
+
+Thu May 12 04:15:43 MET 2005 mikulas:
+
+ Fixed crash with -anonymous and "frame at full-screen" in menu
+
+Sun May 8 15:37:22 cet 2005 mikulas:
+
+ Fix lockup with terminal height only 1 or 2 characters
+
+Fri May 6 20:06:50 MET 2005 mikulas:
+
+ Make '*' work in graphics mode too
+ Fixed badly displayed images when image displaying was toggled
+
+Thu Apr 21 21:52:28 cet 2005 mikulas:
+
+ Do not count time that connection waits in queue
+
+Fri Apr 15 17:37:51 MET 2005 mikulas:
+
+ Do not parse <TITLE> inside <SCRIPT>
+
+Sat Apr 2 20:32:01 MET DST 2005 mikulas:
+
+ Workaround for bug in Sun C compiler
+
+Fri Apr 1 00:21:39 MET DST 2005 mikulas:
+
+ Accept &#13; as line break in textarea (fixes bugzilla)
+
+Thu Mar 24 04:06:53 MET 2005 Federico G. Schwindt <fgsch@lodoss.net>:
+
+ Use MD5 functions from libc when available
+
+Mon Mar 7 22:36:45 MET 2005 mikulas:
+
+ Support for another smb client --- smbc by Martin Zlomek
+
+Wed Mar 2 23:39:30 CET 2005 mikulas:
+
+ Fixed crash of javascript with debuglevel<2 (uninitialized memory)
+ Fixed possible touching of data beyond allocated space in javascript
+
+=== RELEASE 2.1pre17 ===
+
+Wed Feb 23 19:46:01 MET 2005 mikulas:
+
+ Correct implementation of non-aggressive cache (i.e. allow more keywords
+ in Cache-Control
+
+Wed Feb 23 18:36:52 MET 2005 mikulas:
+
+ Allow typing only characters valid in current character set into form
+ fields on web
+
+Wed Feb 23 16:31:56 MET 2005 Serge Winitzki <serge at cosmos dot phy dot tufts dot edu>:
+
+ Updated Russian translation
+
+Wed Feb 23 16:25:41 MET 2005 mikulas:
+
+ Allow cookies without a value
+
+Mon Feb 14 13:15:00 MET 2005 mikulas:
+
+ When server returns cookie values as "deleted", delete it
+
+Tue Feb 1 18:22:11 MET 2005 mikulas:
+
+ Fixed non-working find next/previous in view menu
+
+Thu Jan 27 19:09:46 CET 2005 mikulas:
+
+ Fixed wrong prototypes causing compilation problem on MacOS X and some
+ other systems
+
+Thu Jan 27 16:28:35 MET 2005 mikulas:
+
+ Fixed configure failure on Solaris
+
+Thu Jan 27 00:23:09 CET 2005 Brain
+
+ javascript: set form action
+
+=== RELEASE 2.1pre16 ===
+
+Sat Jan 22 20:27:41 cet 2005 mikulas:
+
+ Fixed empty lines in lists in graphics mode
+
+Sat Jan 22 04:40:28 cet 2005 mikulas:
+
+ On OS/2 use 8.3 temp names, allowing DOS viewers
+
+Sat Jan 22 03:55:08 cet 2005 mikulas:
+
+ Send Accept-Language
+
+Sat Jan 22 02:05:47 MET 2005 mikulas:
+
+ Display is scrolled to see the whole textarea when modifying it
+
+Wed Jan 19 02:57:56 MET 2005 Jakub Bogusz <qboosh@pld-linux.org>:
+
+ Updated Polish translation
+
+Wed Jan 19 01:39:44 MET 2005 mikulas:
+
+ -dump url
+ Completed option documentation in links -h
+
+Sun Jan 16 23:57:58 MET 2005 mikulas:
+
+ Fixed bug in svgalib accelerator (tested for different operations)
+
+Mon Jan 10 23:04:22 MET 2005 mikulas:
+
+ Support for border on framebuffer (use -mode left,top,right,bottom)
+ to set screen border
+
+Sun Jan 2 20:46:18 MET 2005 Dieter <netbsd@sopwith.solgatos.com>:
+
+ Fix warnings on 64-bit machines
+
+Sun Jan 2 20:39:51 MET 2005 Edward Rosten <er258@hermes.cam.ac.uk>:
+
+ Block ad images
+
+Sun Jan 2 18:51:15 cet 2005 mikulas:
+
+ Do not cache redirects if redirect loop is going to happen
+
+Wed Nov 17 15:16:01 MET 2004 mikulas:
+
+ Support for mms:// urls
+
+Tue Nov 16 15:18:55 MET 2004 mikulas:
+
+ Send content-type when uploading files
+
+Tue Nov 9 00:12:05 MET 2004 mikulas:
+
+ ^O to go to next form field in braill mode
+
+Sun Oct 31 17:17:53 MET 2004 mikulas:
+
+ Correct jump at tag if it points to position, that moves during loading
+
+Sat Oct 23 22:14:03 MET 2004 mikulas:
+
+ Disallow opening new windows in anonymous mode
+
+Fri Oct 22 22:31:20 MET DST 2004 mikulas:
+
+ Fixed bugs discovered with mangleme:
+ http://lcamtuf.coredump.cx/mangleme/mangle2.cgi
+ memory leak with nested <select multiple name=n> tags
+ integer overflow in frame widths causes an internal error
+ internal error with base url only containing //
+ internal error with base url containing javascript:
+ fixed incorrect generating of title (does not cause crash, but excessive
+ memory allocation)
+ fixed some quadratic algorithms in title displaying
+ internal error with invalid codebase attribute in OBJECT tag
+ fixed quadratic algorithm in menu creating
+
+Fri Oct 22 20:12:05 MET DST 2004 mikulas:
+
+ Cleaned up configure script, wrote some more replacements of non-present
+ functions
+
+Fri Oct 22 20:11:56 MET DST 2004 mikulas:
+
+ Fixed a lot of cases where overflowed integer arithmetic could cause
+ memory allocation corruption
+
+Sat Oct 16 21:38:00 MET 2004 mikulas:
+
+ Allow browsing local and ftp files with '#' in filename
+
+Mon Oct 11 01:26:54 CEST 2004 Karel Karlik <kkar8447@ss1000.ms.mff.cuni.cz>:
+
+ Fixed framebuffer in 15 and 16-bit modes
+
+Wed Oct 6 00:39:27 MET 2004 mikulas:
+
+ Improved parsing of ftp directories in Windows NT format
+
+Sun Oct 3 17:37:32 MET 2004 mikulas:
+
+ Correct reporting of error on ftp directories
+
+Sat Oct 2 04:29:40 MET 2004 mikulas:
+
+ Ctrl-U cuts into clipboard
+
+Fri Oct 1 15:51:37 MET 2004 mikulas:
+
+ Display the whole page when connection to an image stucks
+
+Thu Sep 23 18:47:11 MET 2004 mikulas:
+
+ Resolving of double '..' in references
+
+Fri Sep 10 04:23:24 cet 2004 mikulas:
+
+ Correctly find file extension if '?' and ';' is in ftp file
+
+Fri Sep 3 03:07:52 MET DST 2004 Wojciech Puchar <wojtek@tensor.3miasto.net>:
+
+ Portability fixes for SunOS
+
+Fri Sep 3 02:47:18 MET DST 2004 mikulas:
+
+ Fixed memory leak in http authentication
+
+Wed Sep 1 19:08:46 MET DST 2004 Strahinya Radich <mr99164@alas.matf.bg.ac.yu>:
+
+ Updated Serbian translation
+
+Sun Aug 29 17:43:39 MET DST 2004 mikulas:
+
+ Fix crash when saving options in svgalib due to missing shell
+
+Thu Jul 29 13:03:07 MET 2004 mikulas:
+
+ Allowed dots in extensions (for example "ps.gz")
+
+Sun Jul 25 00:34:04 MET DST 2004 mikulas:
+
+ Allow Ctrl-Z in framebuffer driver
+
+Sat Jul 24 14:56:13 MET DST 2004 mikulas:
+
+ Fixed an error when signal interrupted another syscall
+
+Sat Jul 24 02:15:35 MET 2004 mikulas:
+
+ Fixed bad error codes because of errno modified by signal handler
+
+Fri Jul 23 21:29:22 MET 2004 mikulas:
+
+ Fixed links stuck after Ctrl-Z when one code path lasted more than
+ 1 second (because of pagefault, too high cpu load or similar)
+
+Fri Jul 23 20:15:29 MET 2004 mikulas:
+
+ Fixed incorrectly displayed character entities (&) in attributes (img
+ alt, etc.)
+
+Tue Jun 29 03:35:32 MET 2004 mikulas:
+
+ Fixed overflow when accessing local files >= 2G
+
+Mon Jun 28 01:34:45 MET 2004 mikulas:
+
+ Ctrl-K cuts current line
+
+Sat Jun 26 13:54:53 MET DST 2004 mikulas:
+
+ Send Content-Type when uploading files
+
+Sat Jun 26 02:24:32 MET 2004 mikulas:
+
+ y and t move word forward and backward in braille terminal
+
+Sat Jun 26 00:35:17 MET 2004 mikulas:
+
+ Resolve dot-number IP address on systems when gethostbyname and
+ gethostbyaddr can't resolve it
+
+Mon Jun 21 15:02:25 MDT 2004 mpat7421:
+
+ Fixed compilation problems on Irix
+
+Sun Jun 20 18:49:53 MET DST 2004 mikulas:
+
+ Posting of <option> fields in correct charset
+
+Sun Jun 20 15:58:08 MET DST 2004 Sam <sam@frida.fri.utc.sk>:
+
+ SDL graphics driver
+
+Sat Jun 19 18:10:05 MET 2004 mikulas:
+
+ Fixed case when '&' entities or special characters were in ftp or disk
+ filenames
+
+Sat Jun 19 18:09:50 MET 2004 mikulas:
+
+ Fixed compilation problem on AIX
+
+Thu Jun 17 20:32:59 MET DST 2004 mikulas:
+
+ Correct handling of Ctrl-Z when executing user viewer
+
+Fri Jun 11 03:17:20 MET 2004 mikulas:
+
+ Fixed incorrect error handling in smb
+
+Sun Jun 6 03:12:00 MET 2004 mikulas:
+
+ Allow '@' in ftp password in url
+
+Thu Jun 3 22:39:24 MET 2004 mikulas:
+
+ Allow characters >= 128 in ftp filenames
+
+Fri May 28 15:40:35 CEST 2004 mikulas
+
+ Handling URLs in form http://host?params
+
+Mon May 17 17:10:22 MET DST 2004 Serge Winitzki <serge at cosmos dot phy dot tufts dot edu>:
+
+ Updated German and Russian localization
+
+=== RELEASE 2.1pre15 ===
+
+Wed Apr 28 17:08:38 CEST 2004 BRain
+
+ KEYS: overview of all keys
+
+Tue Apr 6 21:27:36 CEST 2004 mikulas:
+
+ Support for braille terminal
+
+Sun Apr 4 04:45:28 MET DST 2004 Kalev Lember <kalev@colleduc.ee>:
+
+ Updated Estonian translation
+
+Fri Apr 2 00:01:44 MET DST 2004 mikulas:
+
+ More svgalib modes added
+
+Wed Mar 24 15:50:09 CET 2004 mikulas:
+
+ Cursor on selected line in bookmarks (for Braille terminals)
+
+Mon Mar 15 17:26:02 MET 2004 Vladimir Marek <marek@printsoft.cz>:
+
+ Fixed --disable-graphics and --disable-javascript
+
+Wed Mar 3 19:49:52 CET 2004 BRain
+
+ Fixed encoding bug in javascript when modifying form element value and
+ default value.
+
+Wed Mar 3 18:43:05 CET 2004 mikulas:
+
+ Fixed crash when document changes under us and user presses 'd'
+
+Tue Feb 24 23:26:10 cet 2004 mikulas:
+
+ Fixed crash when pressed '=' on page with incomplete frames
+
+Mon Feb 23 01:37:44 cet 2004 mikulas:
+
+ Do not strip filename when relative url begins with '?'
+
+Sun Feb 15 17:46:53 cet 2004 mikulas:
+
+ SSL fix on OS/2
+
+Sat Feb 14 21:09:45 MET 2004 mikulas:
+
+ Do not timeout when file upload lasts too long
+
+Thu Feb 12 16:22:23 CET 2004 mikulas:
+
+ Terminal mouse handling returned back before change from
+ Thu Oct 9 16:44:10 GMT 2003
+
+Mon Feb 2 17:28:31 cet 2004 BRain
+
+ Copy and paste to clipboard
+
+Sun Feb 8 20:00:50 cet 2004 BRain & mikulas:
+
+ Selecting text to clipboard
+
+Sun Feb 8 18:04:48 CET 2004 mikulas:
+
+ Allow '?' instead of '/' as separator of host and path in url
+
+Sat Feb 7 22:55:39 MET 2004 BRain:
+
+ Ask for overwrite when file exists.
+
+Sun Feb 1 04:40:55 MET 2004 mikulas:
+
+ Fixed memory leak with read-only select boxes
+
+Sun Jan 18 02:10:03 cet 2004 mikulas:
+
+ textarea wrap=hard
+
+Wed Jan 7 10:58:29 MET 2004 BRain:
+
+ Added language hints to encodings.
+
+Thu Jan 1 18:54:50 MET 2004 mikulas:
+
+ Strip '#' of tag names
+
+Tue Dec 30 01:15:54 MET 2003 mikulas:
+
+ Disallow network options in anonymous mode
+
+Tue Dec 30 01:12:15 MET 2003 mikulas:
+
+ Fixed wrong error code and fd leak on error when uploading files
+
+Tue Dec 30 00:58:41 MET 2003 mikulas:
+
+ Fixed incorrect parsing of '&' entities in image maps
+
+Thu Dec 18 17:20:10 MET 2003 mikulas:
+
+ Do not hang when opening filo with file://
+
+Tue Dec 16 13:29:35 MET 2003 mikulas:
+
+ Fixed crash when url contains character with code 1
+ Fixed a security bug --- hiding url was possible with character code 1
+
+Sun Dec 14 22:39:27 MET 2003 Eduard Werner <edi.werner@gmx.de>:
+
+ Updated Upper Sorbian translation
+ Updated Polish translation
+
+Sun Dec 14 15:06:00 cet 2003 mikulas:
+
+ Allow urls: file:///d:/directory/file on OS/2
+
+Thu Dec 11 23:37:50 MET 2003 mikulas:
+
+ Fixed proxy sent in referrer
+
+Thu Dec 11 17:31:59 MET 2003 Eduard Werner <edi.werner@gmx.de>:
+
+ Upper Sorbian translation
+
+Mon Dec 8 02:41:38 MET 2003 Petr Baudis <pasky@ucw.cz>:
+
+ Fixed user in smb
+
+Sun Dec 7 12:44:10 cet 2003 mikulas:
+
+ Support directories without '/' at the end on just another ftp server
+
+Sun Nov 30 01:03:55 MET 2003 Petr Baudis <pasky@ucw.cz>:
+
+ Do not call memset from signal handler
+
+Sun Nov 30 00:22:04 MET 2003 Marc Zonzon <Marc.Zonzon@univ-rennes1.fr>:
+
+ Disable AC_BIG_ENDIAN and AC_LITTLE_ENDIAN name clash
+ Use pkg-config to find openssl
+
+Wed Nov 26 22:52:25 MET 2003 mikulas:
+
+ Fixed signal-delivery delay
+
+Sat Nov 22 23:11:41 MET 2003 mikulas:
+
+ Fixed crash in view_gr.c when displaying source
+
+Sat Nov 22 23:07:46 MET 2003 mikulas:
+
+ Fixed cache problems with long files in smb and when restarting http
+
+Fri Nov 21 02:46:24 MET 2003 mikulas:
+
+ Removed useless reallocs, speed up rendering
+
+Wed Nov 19 00:14:11 MET 2003 mikulas:
+
+ Do not send more Authorization headers
+ Detect infinite loop in authorization responses
+
+Tue Nov 18 15:59:14 GMT 2003 mikulas:
+
+ FreeBSD frames
+
+=== RELEASE 2.1pre14 ===
+
+Wed Nov 5 03:43:33 MET 2003 Wojciech Puchar <wojtek@tensor.3miasto.net>:
+
+ SunOS 4 portability fixes
+
+Thu Oct 30 11:10:26 MET 2003 Brain:
+
+ Fixed bug with moving bookmark directory into itself
+ Search in bookmarks, extensions and associations
+
+Mon Oct 27 23:28:32 MET 2003 mikulas:
+
+ FTP rest was broken after passive FTP
+
+Mon Oct 27 21:43:55 MET 2003 mikulas:
+
+ Support for smb:// urls. smbclient must be installed
+
+Mon Oct 27 02:51:46 MET 2003 mikulas:
+
+ Support for incomplete pasv addresses
+
+Sun Oct 26 15:37:13 MET 2003 mikulas:
+
+ Fixed blank page instead of directory redirect when using passive ftp
+
+Sat Oct 25 02:53:27 cet 2003 mikulas:
+
+ Do not send first ftp command until head is received
+
+Wed Oct 22 23:41:07 MET DST 2003 Andrei Paskevich <andrei@capet.iut-fbleau.fr>:
+
+ Image view & download with 'i', '*' to change inlined image display
+
+Wed Oct 22 21:00:28 MET DST 2003 mikulas:
+
+ Display image names
+
+Wed Oct 22 17:12:23 MET DST 2003 mikulas:
+
+ Better parsing of ftp directories
+
+Tue Oct 21 13:39:04 MET DST 2003 mikulas:
+
+ Fixed authorization not working when file was in top directory
+
+Mon Oct 20 16:33:47 GMT 2003 Serge Winitzki <serge at cosmos dot phy dot tufts dot edu>:
+
+ Updated Russian translation
+
+Mon Oct 13 21:42:39 MET DST 2003 mikulas:
+
+ Allow broken html tags with '=' inside
+
+Mon Oct 13 03:58:59 MET DST 2003 mikulas:
+
+ Do not retry DNS failures
+
+=== RELEASE 2.1pre13 ===
+
+Thu Oct 9 22:37:06 MET DST 2003 mikulas:
+
+ Fixed possibility that invalid communication on socket could crash links
+
+Thu Oct 9 16:44:10 GMT 2003 mikulas:
+
+ Do not print 1000l on FreeBSD console on exit
+
+Tue Oct 7 18:38:48 GMT 2003 mikulas:
+
+ Fixed passive FTP, added option to fast FTP
+
+Mon Oct 6 00:29:56 cet 2003 mikulas:
+
+ Print host name in HTTP auth dialog
+
+Sun Oct 5 22:35:21 MET DST 2003 Brain:
+
+ Passive FTP.
+
+Fri Oct 3 23:02:59 MET DST 2003 mikulas:
+
+ Fixed incorrect truncating of file on 304 reply
+
+Fri Oct 3 21:22:11 MET DST 2003 Serge Winitzki <serge at cosmos dot phy dot tufts dot edu>:
+
+ Updated Russian translation
+ Russian letters
+ Changed translation of Russian letters into 7bit ascii
+
+Thu Oct 2 23:29:47 cet 2003 mikulas:
+
+ Basic HTTP authentication (sponsored PerMov^(TM))
+
+Sun Sep 28 06:05:05 CEST 2003 mikulas:
+
+ Fixed aliasing problem on gcc 3.31
+
+Fri Sep 26 00:17:04 cet 2003 mikulas:
+
+ Do not set timeout in DNS lookup and connection making
+
+Thu Sep 25 01:10:25 cet 2003 mikulas:
+
+ Fixed PmShell quirks in keyboard handling
+
+Thu Sep 25 00:37:12 cet 2003 mikulas:
+
+ Fixed screen sometimes not updating highlighted link
+
+=== RELEASE 2.1pre12 ===
+
+Sun Sep 14 20:28:13 MET DST 2003 mikulas:
+
+ Fixed memory leak with Content-Type at http.c:37
+
+Sun Sep 14 19:57:48 MET DST 2003 mikulas:
+
+ Workaround broken cfmakeraw on AIX
+
+Mon Sep 1 20:18:35 MET DST 2003 Brain:
+
+ Users can enter own shell command for executing external programs.
+
+Mon Sep 1 16:21:28 MET DST 2003 Brain:
+
+ Commands in X are executed in xterm, not on console.
+
+Sun Aug 31 23:51:58 MET DST 2003 mikulas:
+
+ Do not send Range on refresh
+
+Sun Aug 31 21:33:48 MET DST 2003 Brain
+
+ More information on image files in Info menu.
+
+Sat Aug 30 01:04:33 MET DST 2003 Brain
+
+ Allow opening of a link in a new window (target="_blank").
+
+Fri Aug 29 19:30:35 MET DST 2003 Strahinya Radich <mr99164@alas.matf.bg.ac.yu>:
+
+ Serbian translation
+
+Fri Aug 29 11:51:11 MET DST 2003 Brain
+
+ Added "id" attribute to the <img> tag.
+
+Sun Aug 17 02:24:51 MET DST 2003 Strahinya Radich <mr99164@alas.matf.bg.ac.yu>:
+
+ Serbian Cyrillic letters
+
+Thu Jul 17 19:39:30 MET DST 2003 Varga Balazs <vinnui@ent.hu>:
+
+ Updated Hungarian translation
+
+Sat Jul 5 13:54:27 MET DST 2003 zas <zas@norz.org>:
+
+ Table frame and rules when no border attribute present
+
+Thu Jul 3 15:18:20 cet 2003 mikulas:
+
+ Fixed spelling errors found by Francois Gouget's program
+
+Wed Jun 25 17:12:56 MET DST 2003 mikulas:
+
+ Fixed crash in frames introduced in Tue Jun 17 23:15:46 MET DST 2003
+
+Sun Jun 22 01:43:41 cet 2003 mikulas:
+
+ Add slash after URLs like ftp://host:1234
+
+Tue Jun 17 23:15:46 MET DST 2003 mikulas:
+
+ Anchors allowed in frame locations
+
+Mon Jun 16 16:17:06 cet 2003 mikulas:
+
+ No char with code 13 when pasting in OS/2
+
+Thu Jun 12 20:11:01 cet 2003 mikulas:
+
+ Aggressive cache is in cache dialog, not in HTTP bugs dialog
+
+Thu Jun 12 19:58:42 cet 2003 mikulas:
+
+ 302 redirects are not cached
+ Fixed redirect left after reloading cached document
+ Do not send "Range" when cache expires
+
+Wed May 28 02:45:06 cet 2003 mikulas:
+
+ Fixed some languages (removed name ELinks)
+
+Wed May 28 02:05:07 cet 2003 Serge Winitzki <serge at cosmos dot phy dot tufts dot edu>:
+
+ Updated Russian localization
+
+Tue May 27 22:51:57 cet 2003 mikulas:
+
+ Fixed \001 in bookmarks and window title when title contained 0xa0
+
+Sat May 24 23:24:46 cet 2003 mikulas:
+
+ Fixed bug that can't happen in select_mainmenu
+
+Sat May 24 18:50:35 cet 2003 mikulas:
+
+ Fixed numbers on links not consistent with internal order. Still not
+ perfect but better than it used to be.
+
+=== RELEASE 2.1pre11 ===
+
+Thu May 22 02:58:00 MET DST 2003 mikulas:
+
+ Correct parse_http_date (sponsored by Awite Bioenergie
+ <http://www.awite.com/> )
+
+Thu May 22 02:57:52 MET DST 2003 mikulas:
+
+ Non-aggressive cache (sponsored by Awite Bioenergie
+ <http://www.awite.com/> )
+
+Wed May 21 23:26:08 cet 2003 mikulas:
+
+ Refresh (sponsored by Awite Bioenergie <http://www.awite.com> )
+
+Wed May 21 19:38:29 MET DST 2003 Thomas Klausner <tk@giga.or.at>
+
+ Support for 16-bit 565 RGB big endian
+ Fix for 24-bit RGB big endian
+
+=== RELEASE 2.1pre10 ===
+
+Sun May 18 12:20:48 MET DST 2003 Brain:
+
+ HTML entities in bookmark file
+
+Sat May 17 21:58:32 MET DST 2003 Brain:
+
+ Manual/automatic javascript action confirmation (sponsored by Awite
+ Bioenergie <http://www.awite.com/> )
+
+Sat May 10 23:15:24 cet 2003 Daniel Berlin <dan@cgsoftware.com>:
+
+ Cookies can contain whitespace (fixes bugzilla)
+
+Sat May 10 19:39:09 cet 2003 mikulas:
+
+ Fixed cookie not used when parsing of expiration date fails
+
+Wed May 7 21:31:38 MET DST 2003 Sergey Karpov <karpov@sai.msu.su>:
+
+ Fixed image alt displayed in incorrect codepage
+
+Mon May 5 19:22:17 MET DST 2003 Tamas Gervai <crown@tolna.net>:
+
+ Links icons
+
+Fri May 2 08:27:01 MET DST 2003 Brain:
+
+ Submit/clean form in link menu of form elements
+
+=== RELEASE 2.1pre9 ===
+
+Wed Feb 26 19:43:00 CET 2003 mikulas:
+
+ Fixed unability to move out of textarea
+
+Mon Apr 21 19:08:08 cet 2003 mikulas:
+
+ 99 max connections
+
+Mon Apr 14 23:41:14 MET DST 2003 mikulas:
+
+ Connected frame lines
+
+Mon Apr 14 22:25:15 MET DST 2003 Guido Schimmels <guido.schimmels@freenet.de>:
+
+ Updated German translation
+
+Fri Apr 11 22:07:07 MET DST 2003 Karvinen Ilkka <ik@cs.tut.fi>:
+
+ Updated Finnish translation
+
+Fri Apr 11 22:01:29 MET DST 2003 "Anton 'Keeper' Kopyov" <keeper@dfipm.vpti.vladimir.ru>:
+
+ Updated Russian translation
+
+Fri Apr 11 21:52:42 MET DST 2003 mikulas:
+
+ Convert '\' to '/' in HTTP requests (Windowz ruleeeeez)
+
+Wed Apr 9 21:12:51 cet 2003 mikulas:
+
+ Allow relative redirects in downloads
+
+Thu Mar 27 17:15:12 MET 2003 Mátyás János <jani@mail.xubion.hu>:
+
+ Updated Hungarian translation
+
+Thu Mar 20 19:31:54 MET 2003 Sven Neumann <sven@convergence.de>:
+
+ DirectFB graphics driver
+
+Wed Mar 19 22:49:21 MET 2003 Andre Valente <a.valente@netcabo.pt>:
+
+ Portuguese translation
+
+Wed Mar 19 20:58:12 MET 2003 mikulas:
+
+ Do not allow more same associations or extensions
+
+Sat Mar 15 14:32:23 MET 2003 mikulas:
+
+ Option to not send Accept-Charset
+
+Thu Mar 13 14:05:12 MET 2003 Miroslav Tichy <tichm9am@ss1000.ms.mff.cuni.cz>:
+
+ Added several Greek letter pictures.
+
+Thu Feb 27 18:26:15 MET 2003 mikulas:
+
+ Coords in usemap can contain decimal point
+
+Thu Feb 27 18:14:11 MET 2003 Serge Winitzki <serge at cosmos dot phy dot tufts dot edu>:
+
+ Updated Russian localization
+
+=== RELEASE 2.1pre8 ===
+
+Wed Feb 19 21:56:32 cet 2003 mikulas:
+
+ Use arrow keys to select links in graphics mode
+
+Tue Feb 18 23:50:00 cet 2003 mikulas:
+
+ Upload files in BINARY mode on OS/2
+
+Sun Feb 9 22:12:19 MET 2003 mikulas:
+
+ Max tries 0 means unlimited retries
+
+Mon Feb 8 03:25:39 MET DST 2001 Serge Winitzki <serge at cosmos dot phy dot tutfs dot edu>:
+
+ Updated russian translation
+
+Wed Feb 5 12:13:35 MET 2003 mikulas:
+
+ parse_element rewritten to be faster because it is most used function
+
+Wed Feb 5 11:53:37 MET 2003 mikulas:
+
+ Use hash for cache of table cell sizes -- improves performance
+
+Wed Feb 5 11:15:57 MET 2003 mikulas:
+
+ Do not display '0xa0' on terminal
+
+Wed Feb 5 10:55:58 MET 2003 mikulas:
+
+ Do not put characters <= 0x20 to HTTP request
+
+Fri Jan 10 12:12:08 CET 2003 Stanson <stanson@btv.ru>
+
+ Clipboard pasting into links (works from all applications).
+
+Thu Jan 9 16:05:11 CET 2003 Mikulas
+
+ Fixed file uploading bug.
+
+Fri Jan 3 15:33:36 CET 2003 mikulas
+
+ Fixed usemap & image scaling
+
+Wed Dec 18 18:38:38 CET 2002 Brain
+
+ Fixed bug in XBM parser.
+
+Tue Dec 3 18:55:05 CET 2002 Brain
+
+ "Kill all connections" function.
+
+Fri Nov 29 15:02:44 CET 2002 Brain
+
+ "Abort and delete file" button in download window.
+
+Wed Nov 27 23:32:37 CET 2002 Brain
+
+ Save bookmarks in File menu
+
+Wed Nov 20 12:22:42 CET 2002 Ludvik Tesar <tesar@mee.tcd.ie>, Brain
+
+ URL to clipboard copying in X.
+
+Mon Nov 18 13:29:56 CET 2002 mikulas
+
+ Fixed an overflow in search
+
+Tue Nov 12 23:51:36 CET 2002 Brain
+
+ Bookmark saving on "Save options"
+
+Mon Nov 11 16:30:27 CET 2002 mikulas
+
+ Apage Coyote added to list of buggy http/1.1 servers
+ (http://abclinuxu.cz)
+
+=== RELEASE 2.1pre7 ===
+
+Fri Nov 8 15:31:06 CET 2002 Clock
+
+ Regenerated font_include.c to comply with the
+ fonts.
+
+=== RELEASE 2.1pre6 ===
+
+Sun Nov 3 11:04:26 CET 2002 Clock
+
+ Fixed invalid Unicode/cp1252.cp which caused 2.1pre5 to
+ be uncompilable
+
+=== RELEASE 2.1pre5 ===
+
+Wed Oct 30 17:22:26 CET 2002 Koblinger Egmont <egmont@cs.bme.hu>
+
+ Updated Hungarian translation
+
+Sun Oct 27 18:02:49 CEST 2002 Brain
+
+ Fixed terrible keyboard bug in X.
+
+Tue Oct 22 18:21:36 CEST 2002 mikulas
+
+ Fixed a crash on svgalib in check_keepalive_connections
+
+Mon Oct 14 17:10:52 CEST 2002 Alexander Udalov <aludal@softhome.net>
+
+ Better Cyrillic characters.
+
+Mon Oct 14 11:00:17 CEST 2002 Yevgeny Gromov <yevgeny@tut.by>
+
+ Belarusian translation updated and new charset koi8_ru
+
+=== RELEASE 2.1pre4 ===
+
+Mon Sep 30 13:22:34 cet 2002 Wojciech Bojdol <wojbol@htc.net.pl>
+
+ Polish translation update.
+
+Mon Sep 30 11:37:05 cet 2002 William Yodlowsky <wyodlows@andromeda.rutgers.edu>
+
+ SSL patch for Solaris and other systems without /dev/random
+
+Mon Sep 30 10:05:39 cet 2002 Josef Schugt <jupp@gmx.de>, Brain
+
+ Links-now button.
+
+Tue Sep 24 19:18:22 CEST 2002 Yevgeny Gromov <yevgeny@tut.by>
+
+ Belarusian translation
+
+Fri Sep 20 13:58:10 cet 2002 Brain, PerM
+
+ document.all
+
+Wed Sep 18 19:09:52 cet 2002 Brain
+
+ Swaped open and closed folder symbol in bookmarks.
+
+Wed Sep 18 9:30:15 cet 2002 Brain:
+
+ Fixed Solaris keyboard translation bug.
+
+=== RELEASE 2.1pre3
+
+Wed Sep 11 13:29:25 cet 2002 PerM:
+
+ 2 bugfixes in Javascript - first segfault in for(a in b), second
+ caused segfault by return this; construction.
+
+Mon Aug 26 23:39:07 cet 2002 Brain
+
+ Icon name is set in X
+
+Tue Aug 20 10:54:32 cet 2002 Brain:
+
+ Fixed associations bug
+
+Mon Jul 22 09:00:23 cet 2002 Jordan DeLong <fracture@allusion.net>:
+
+ Fixed occasional paste bug
+
+Sun Jul 21 22:37:21 cet 2002 Brain:
+
+ Euro entity
+
+Mon Jul 16 11:45:17 cet 2002 Chris Lightfoot:
+
+ \xab parsing as hex-number in Javascript
+
+=== RELEASE 2.1pre2
+
+Sat Jun 29 02:41:50 cet 2002 mikulas:
+
+ Use filesystem prealloc on OS/2 - it prevents fragmentation of
+ downloaded files
+
+Sat Jun 29 02:41:29 cet 2002 mikulas:
+
+ Fixed shoting to memory with javascript and input fields
+
+Tue Jun 25 20:18:00 MET DST 2002 mikulas:
+
+ Do not call gethostbyaddr when name is not ip address (it should avoid
+ some useless nameserver queries)
+
+Sun Jun 23 13:35:56 MET DST 2002 mikulas:
+
+ -I/usr/local/include was removed (it was needed for some misconfigured
+ OpenBSD, but it doesn't work with gcc 3.1).
+
+Sun Jun 23 13:13:03 MET DST 2002 mikulas:
+
+ Fixed a delay on quit until async lookup terminates
+
+Wed Jun 19 10:41:51 MET DST 2002 brain:
+
+ Floating point numbers in configure file are stored with '.' even on
+ systems with ',' in locales.
+
+Wed Jun 19 10:13:52 MET DST 2002 brain:
+
+ Line length fix on framebuffer.
+
+Mon Jun 17 17:44:21 MET DST 2002 Richard Pecl <pecl@unicontrols.cz>:
+
+ Use threads on windows
+
+Mon Jun 17 15:28:35 MET DST 2002 mikulas:
+
+ New domain names
+
+Mon Jun 17 15:00:38 MET DST 2002 Denis Lackovic <delacko@fly.srk.fer.hr>:
+
+ Croatian translation
+
+Mon Jun 17 10:20:03 MET DST 2002 brain:
+
+ Small change in x.c to work on some 8-bit displays.
+
+=== RELEASE 2.1pre1
+
+Tue Jun 11 14:23:52 MET DST 2002 brain:
+
+ Fixed mem_free(NULL) in x.c:1001
+
+=== RELEASE 2.0
+
+Mon Jun 10 01:15:33 MET DST 2002 mikulas:
+
+ Fixed FP-exception on Alpha
+
+Tue Jun 4 20:19:33 CEST 2002 mpat7421:
+
+ C aliasing bugs fixed in lists
+
+Tue Jun 4 19:02:17 CEST 2002 brain:
+
+ Fixed crash on 16 color modes in X
+
+Tue Jun 4 16:25:31 CEST 2002 brain:
+
+ Fixed problem with colors on X with big endian, 24bits/4bytes, 0xff0000
+ 0xff00 0xff R G B mask
+
+Mon Jun 3 23:28:25 CEST 2002 Jonas Fonseca <fonseca@diku.dk>:
+
+ Updated danish translation
+
+Mon Jun 3 23:25:04 CEST 2002 mpat7421:
+
+ Fixed crash in text-mode html renderer
+
+=== RELEASE 2.0pre6
+
+Thu May 30 22:41:43 MET DST 2002 "Varga Balázs" <vinnui@broadband.hu>:
+
+ Updated Hungarian translation
+
+=== RELEASE 2.0pre5
+
+Tue May 28 18:00:43 CEST 2002 clock:
+
+ fixed segfault on big 16-bit png's (when gamma table is
+ used)
+
+=== RELEASE 2.0pre4
+
+Sun May 26 23:53:31 CEST 2002 brain:
+
+ Fixed bug in TIFF's with odd height on big endian
+ machines (white line in half of the height)
+
+Sun May 26 10:14:49 CEST 2002 clock:
+
+ Fixed bad decoding of 16-bit PNG's on big endian
+ platforms and platforms where unsigned short has
+ different size than 2 chars.
+
+Sat May 25 18:47:33 CEST 2002 clock:
+
+ Fixed bad dithering on big endian and depth=130
+ Optimized startup (1/2 of former count of float exponentiations)
+
+Fri May 24 22:04:38 CEST 2002 brain:
+
+ Fixed several C incompatibilities to compile on MIPSpro Compilers,
+ Version 7.3.1.3m (problems noticed by Heiko Schlichting
+ <heiko@FU-Berlin.DE>)
+
+Fri May 24 22:00:00 CEST 2002 PerM:
+
+ Changed debugging system in ipret.c and builtin.c
+
+Fri May 24 20:12:19 CEST 2002 brain:
+
+ Fixed segfault in js_upcall_set_image_src
+
+Thu May 23 22:21:03 CEST 2002 brain:
+
+ Bugfix in name resolving in JS
+ Frame->top upcall fixed
+ Removed possible null-pointer-dereferencing bugs in jsint.c
+
+=== RELEASE 2.0pre3
+
+Thu May 23 18:13:25 CEST 2002 PerM:
+
+ Bugfix in function program(), added document to
+ frames and several other creeping features.
+
+Thu May 23 16:28:20 CEST 2002 clock:
+
+ Fixed a bug in configure.in around libpng
+
+Thu May 23 15:23:10 CEST 2002 brain:
+
+ Added calibration into help menu
+
+=== RELEASE 2.0pre2
+
+Thu May 23 08:47:13 CEST 2002 clock:
+
+ Now compiles with libpng-1.2.2, which has got
+ libpng/png.h instead of png.h
+
+Wed May 22 21:47:27 CEST 2002 brain:
+
+ Fixed frame->top upcall bug
+
+Wed May 22 19:02:36 CEST 2002 brain:
+
+ Fixed referer bug (POST data in URL)
+
+Wed May 22 14:39:58 CEST 2002 clock:
+
+ Moved fonts from 9 directories to just 5 to make font
+ matching faster during runtime.
+
+=== RELEASE 2.0pre1
+
+Mon May 20 14:29:13 CEST 2002 Miroslav Rudisin <miero@atrey.karlin.mff.cuni.cz>:
+
+ Updated Slovak translation
+
+Mon May 20 14:20:20 CEST 2002 brain:
+
+ Added X Window graphics driver
+ Javascript builtin functions
+ Remade the bookmarks
+
+Mon May 20 14:20:10 CEST 2002 mikulas:
+
+ Rewritten for graphics
+ Added Atheos GUI graphics driver
+ Added PMShell graphics driver
+
+Mon May 20 14:19:40 CEST 2002 clock:
+ Added fonts & images
+ Added SVGAlib graphics driver
+
+Mon May 20 14:18:34 CEST 2002 perm:
+
+ Added Javascript
+
+Sun Jul 23 16:30:23 MET DST 2000 mikulas:
+
+ Fixed crash on Unix when $HOME didn't exist
+
+Mon Jul 17 23:36:20 cet 2000 mikulas:
+
+ OS/2: fixed "Process terminated by SIGPIPE" when user touched mouse
+ while exiting
+
+=== RELEASE 0.97 ===
+
+Fri May 10 02:35:31 MET DST 2002 mikulas:
+
+ Fixed another crash in OS/2 with empty clipboard
+
+Fri May 10 00:35:47 MET DST 2002 Fabio Bonelli <fabiobonelli@libero.it>:
+
+ Fix deleted bookmarks when disk was full
+
+Thu May 9 03:16:17 cet 2002 mikulas:
+
+ Fixed crash when CTRL-INS pressed in OS/2 and there was no selected link
+
+Mon May 6 03:56:05 MET DST 2002 David O'Brien <obrien@FreeBSD.org>:
+
+ -force-html
+
+Mon May 6 02:18:00 MET DST 2002 mikulas:
+
+ Big forms are a bit faster
+
+Mon May 6 02:08:04 MET DST 2002 mikulas:
+
+ Fixed few most obvious bugs in win32 support
+
+Mon May 6 01:50:27 cet 2002 mikulas:
+
+ Swapeed x and y entries when reporting image in form
+
+Mon May 6 00:38:04 cet 2002 mikulas:
+
+ END doesn't skip to next line when wrapping
+
+Sun May 5 22:41:10 cet 2002 mikulas:
+
+ Do not recode invisible form values to display charset and back
+
+Wed May 1 22:10:03 MET DST 2002 mikulas:
+
+ Do not strip '?' from url when method is POST
+
+Sat Apr 27 18:23:02 MET DST 2002 mikulas:
+
+ Memory debugger disabled
+
+Wed Apr 24 22:12:16 cet 2002 mikulas:
+
+ Treat LF as space in attributes
+
+Tue Apr 23 00:38:24 MET DST 2002 Jonas Fonseca <fonseca@diku.dk>:
+
+ Danish translation
+
+Sat Apr 20 23:01:27 MET DST 2002 mikulas:
+
+ Process broken html tags
+
+Sat Apr 20 19:12:56 MET DST 2002 mikulas:
+
+ Ctrl-W selects last item in menu
+
+Wed Apr 10 18:35:20 MET DST 2002 mikulas:
+
+ Fixed name clashes on MaxOS X
+
+Mon Apr 8 01:57:04 MET DST 2002 mikulas:
+
+ ^[[11m is selected as default
+
+=== RELEASE 0.97pre12 ===
+
+Sun Apr 7 17:41:10 cet 2002 mikulas:
+
+ Fixed internal error at www.esolutions-ukraine.com
+
+=== RELEASE 0.97pre11 ===
+
+Thu Apr 4 20:12:12 cet 2002 mikulas:
+
+ Work around some subtle bug in OS/2. Create pipe before socket
+
+=== RELEASE 0.97pre10 ===
+
+Wed Apr 3 23:48:10 MET DST 2002 mikulas:
+
+ Fixed internal error: cell is now wider
+
+=== RELEASE 0.97pre9 ===
+
+Mon Apr 1 16:57:17 cet 2002 mikulas:
+
+ Fixes in af_unix
+
+Mon Apr 1 16:25:43 cet 2002 mikulas:
+
+ Increase priority on OS/2
+
+Thu Mar 28 00:30:39 cet 2002 Petr Baudis <pasky@pasky.ji.cz>:
+
+ Fixed one leak when links came out of memory
+
+=== RELEASE 0.97pre8 ===
+
+Wed Mar 27 01:52:24 MET 2002 mikulas:
+
+ Ftp doesn't send more commands at once -- slower but safe with MS IIS or
+ Novell
+
+Tue Mar 26 23:39:42 MET 2002 mikulas:
+
+ Do not swallow ' ' in filenames
+
+Sun Mar 24 11:13:52 cet 2002 mikulas:
+
+ Fixed double newline when rendering lists: <li><p> xxx
+
+Wed Mar 20 02:24:29 MET 2002 mikulas:
+
+ Fixed Ctrl-B binding
+
+Wed Mar 20 02:24:26 MET 2002 mikulas:
+
+ va_end used
+
+=== RELEASE 0.97pre7 ===
+
+Sat Mar 16 03:06:52 MET 2002 mikulas:
+
+ Fixed files not displayed properly when there was reload request on
+ background
+
+Sat Mar 16 02:49:17 MET 2002 mikulas:
+
+ ??? -> \?\?\? (so that it is not recognised as trigraph)
+
+Sat Mar 9 17:56:39 cet 2002 mikulas:
+
+ Do not print contents of posted data in 'downloads' menu
+
+=== RELEASE 0.97pre6 ===
+
+Wed Mar 6 01:11:33 MET 2002 mikulas:
+
+ Charset in values in <SELECT> tag
+
+=== RELEASE 0.97pre5 ===
+
+Mon Mar 4 14:26:39 MET 2002 mikulas:
+
+ Undefine UNIX on win32. Maybe it helps ... I don't know
+
+Mon Mar 4 13:58:14 MET 2002 mikulas:
+
+ Fixed bad loading of imgmap
+
+=== RELEASE 0.97pre4 ===
+
+Sun Mar 3 23:14:58 MET 2002 mikulas:
+
+ Always trust 'Content-Length' when communicating with HTTP/1.1 server --
+ work around broken HTTP/1.1 servers that send Connection: close, but
+ keep the connection
+
+Sun Mar 3 22:55:58 MET 2002 mikulas:
+
+ Handle encoding to utf-8 correctly
+
+Sun Mar 3 22:01:43 cet 2002 mikulas:
+
+ Do not accept '<' without name as a tag
+
+Sun Mar 3 21:05:10 MET 2002 Peter Naulls <peter@chocky.org>:
+
+ RiscOS support
+
+Sun Mar 3 20:58:12 MET 2002 mikulas:
+
+ -dump does not stuck in redirect loops
+
+Sun Mar 3 20:57:54 MET 2002 mikulas:
+
+ Test for dlopen in configure (openssl needs it)
+
+Sun Mar 3 05:32:09 MET 2002 mikulas:
+
+ Fixed ESC timeout
+
+Sun Mar 3 03:24:14 MET 2002 mikulas:
+
+ Input field is one char larger
+
+Sat Mar 2 14:36:13 cet 2002 mikulas:
+
+ Report terminal size in User-Agent
+
+Sat Mar 2 12:13:20 cet 2002 mikulas:
+
+ Improved performance of rendering nested tables
+
+Tue Feb 26 03:26:43 cet 2002 mikulas:
+
+ Removed LONG_MIN, LONG_MAX because they were undefined on irix
+
+Fri Feb 8 21:48:58 MET 2002 mikulas:
+
+ Fixed one case where 0 would go to the 'save formatted document' output
+
+Fri Feb 8 09:21:33 MET 2002 Muhamad Faizal <faizal@mfaizal.net>:
+
+ Indonesian translation
+
+Mon Feb 4 22:58:38 MET 2002 mikulas:
+
+ Include <wait.h> if found
+
+Mon Feb 4 14:52:36 MET 2002 mikulas:
+
+ #define __EXTENSIONS__ -- I hope it helps on SunOS
+
+=== RELEASE 0.97pre3 ===
+
+Mon Feb 4 13:55:56 MET 2002 mikulas:
+
+ Fix compile error
+
+Sat Feb 2 03:10:20 MET 2002 Karvinen Ilkka <ik@iki.fi>:
+
+ Finnish translation
+
+=== RELEASE 0.97pre2 ===
+
+Wed Jan 30 13:16:30 cet 2002 mikulas:
+
+ Fix compile error when -lgpm works but gpm.h is not there
+
+Wed Jan 30 13:15:38 cet 2002 Aldy Hernandez <aldyh@cygnus.com>:
+
+ MacOS address resolution fix
+
+Wed Jan 30 13:05:35 cet 2002 Cliff Cunnington <cliff@ccnet.demon.nl>:
+
+ Added &euro; symbol
+
+Wed Jan 30 13:01:11 cet 2002 Jacek Fedorynski <jfedor@jfedor.org>:
+
+ Fixed segfault when posting large form
+
+=== RELEASE 0.97pre1 ===
+
+Tue Jan 29 17:17:22 MET 2002 Petr Baudis <pasky@pasky.ji.cz>:
+
+ Manpage update
+
+Tue Jan 29 17:06:11 MET 2002 zas <zas@norz.org>:
+
+ Updated french translation
+
+Tue Jan 29 17:04:59 MET 2002 Ionel Mugurel Ciobica:
+
+ Romanian translation
+
+Tue Jan 29 17:02:48 MET 2002 mikulas:
+
+ Fixed error when sprintf return value is defined as 'void' in headers
+
+Tue Jan 29 16:50:53 MET 2002 Petr Baudis <pasky@pasky.ji.cz>:
+
+ Cookie expiration
+
+Tue Jan 29 16:49:48 MET 2002 mikulas:
+
+ Do not reject cookies with insecure domain (but send them only to
+ original server, not to the whole domain)
+
+Tue Jan 29 16:45:31 MET 2002 Petr Baudis <pasky@pasky.ji.cz>:
+
+ Fix stripping '?' out of form url
+
+Tue Jan 29 16:40:32 MET 2002 Petr Baudis <pasky@pasky.ji.cz>:
+
+ Add "LISTING" tag
+
+Tue Jan 29 16:39:03 MET 2002 Petr Baudis <pasky@pasky.ji.cz>:
+
+ Fix relative redirect on -dump and -source
+
+Tue Jan 29 16:36:02 MET 2002 Petr Baudis <pasky@pasky.ji.cz>:
+
+ Use "imgtitle" if there's no "alt"
+
+Tue Jan 29 16:20:19 cet 2002 Carles <isard@ctv.es>:
+
+ Catalan translation
+
+Tue Jan 29 16:18:45 cet 2002 Stefan de Groot <stefan@nllinux.nl>:
+
+ Dutch translation
+
+Tue Jan 29 16:16:53 cet 2002 mikulas:
+
+ Fixed name clash of struct option with includes on cygwin
+
+Tue Jan 29 16:12:59 cet 2002 mikulas:
+
+ Do not allow larger input fiels than screen size
+
+Tue Jan 29 16:12:43 cet 2002 mikulas:
+
+ Fixed internal error "cell_with" in table parser
+
+Tue Jan 29 15:36:51 cet 2002 mikulas:
+
+ Fixed double %0d when posting textarea
+
+Tue Jan 29 15:35:51 cet 2002 mikulas:
+
+ Fixed crash when amount of items in select box decreases after reload
+ Make it remember select item on reload (fixes www.xchat.cz)
+
+Sat Jan 26 03:47:13 MET 2002 mikulas:
+
+ Work-around for Sun C bug
+
+Sat Jan 26 03:47:00 MET 2002 mikulas:
+
+ Fixed one read overrun in parser
+
+Fri Jan 11 19:02:02 cet 2002 mikulas:
+
+ Fixed crash in OS/2 when user pressed Ctrl-V and clipboard was empty
+
+Sat Dec 8 23:19:27 MET 2001 mikulas:
+
+ Fixed leaving zombie processes when more children exited simultaneously
+
+Tue Sep 25 11:16:29 MET DST 2001 karel.kulhavy@pharma.novartis.com:
+
+ Fixed compile incompatibility
+
+Tue Sep 25 11:10:36 MET DST 2001 Andrew Rodionoff <arnost@mail.ru>:
+
+ Fixed minor bug in kbd binding
+
+=== RELEASE 0.96 ===
+
+Mon Jul 2 03:25:39 MET DST 2001 Serge Winitzki <serge at scriabin dot PHYS dot cwru dot edu>:
+
+ SSL detection fix
+
+Mon Jul 2 03:21:50 MET DST 2001 Serge Winitzki <serge at scriabin dot PHYS dot cwru dot edu>:
+
+ Updated Russian translation
+
+=== RELEASE 0.96pre8 ===
+
+Sat Jun 23 00:57:42 cet 2001 Nalin Dahyabhai <nalin@redhat.com>:
+
+ Fixed occasional destroying of read buffer on Alpha
+
+Fri Jun 22 21:50:08 cet 2001 mikulas:
+
+ One more charset fix
+
+=== RELEASE 0.96pre7 ===
+
+Mon Jun 18 23:39:22 MET DST 2001 mikulas:
+
+ Do not retry on SSL error
+
+Mon Jun 18 23:12:36 MET DST 2001 Michail Litvak <mci@owl.openwall.com>:
+
+ Patch configure.in to force error if OpenSSL not found
+
+Mon Jun 18 23:03:03 MET DST 2001 mikulas:
+
+ Charset from server has higher precedence than charset in document
+
+=== RELEASE 0.96pre6 ===
+
+Tue Jun 12 23:08:11 MET DST 2001 mikulas:
+
+ '?' and anything behind it is completely stripped out of form action url
+ (it fixes problem when browsing newsgroups on google)
+
+=== RELEASE 0.96pre5 ===
+
+Tue Jun 12 21:31:01 MET DST 2001 mikulas:
+
+ Fixed memory leak when SSL protocol was violated
+
+=== RELEASE 0.96pre4 ===
+
+Tue Jun 12 14:19:05 MET DST 2001 mikulas:
+
+ Fixed '->' not working in menus
+
+Mon Jun 11 15:24:09 MET DST 2001 mikulas:
+
+ Don't use unrestartable timeout when server does not send Accept-ranges,
+ but supports range requests
+
+=== RELEASE 0.96pre3 ===
+
+Mon Jun 11 13:16:49 MET DST 2001 Peter Wang <tjaden@alphalink.com.au>:
+
+ Rebindable keys in menus
+
+Mon Jun 11 13:05:18 MET DST 2001 mikulas:
+
+ Fixed memory leak when SSL aborted
+
+=== RELEASE 0.96pre2 ===
+
+Thu Jun 7 14:24:17 MET DST 2001 mikulas:
+
+ Fixed crashes in 0.96pre1 with some languages because intl/synclang was
+ not run
+
+Wed Jun 6 18:33:19 cet 2001 mikulas:
+
+ Fixed crash when received invalid cookie
+
+Sun Jun 3 14:11:54 cet 2001 mikulas:
+
+ Fixed searching for -lsocket in configure.in
+ (bug introduced in 0.96pre1)
+
+=== RELEASE 0.96pre1 ===
+
+Sun Jun 3 01:49:44 MET DST 2001 mikulas:
+
+ Ctrl-A, Ctrl-E, Ctrl-F, Ctrl-B work again (were disable by kbdbind
+ patch)
+
+Sun Jun 3 01:36:09 MET DST 2001 Anton Voloshin <vav@isv.ru>:
+
+ Proper encoding of form entries
+
+Sat Jun 2 02:45:49 MET DST 2001 Simos Xenitellis <simos@hellug.gr>
+ Alejandros Diamandidis <adia@egnatia.ee.auth.gr>:
+
+ Greek codepages & translation
+
+Sat Jun 2 02:39:21 MET DST 2001 Mediavilla David <f4j900zx001@NOSPAMsneakemail.com>:
+
+ Updated Spanish translation
+
+Sat Jun 2 02:15:19 MET DST 2001 "Martin Norba:ck" <d95mback@dtek.chalmers.se>:
+
+ Updated Swedish translation
+
+Sat Jun 2 02:14:47 MET DST 2001 "Benjamin C. W. Sittler" <bsittler@iname.com>:
+
+ Macroman 2000 charset
+
+Sat Jun 2 02:05:46 MET DST 2001 Marius Gedminas <marius.gedminas@uosis.mif.vu.lt>:
+
+ Fixed reversed HOME/END on RXVT
+
+Sat Jun 2 01:50:10 MET DST 2001 mikulas:
+
+ Fixed textarea overlapping next frame
+
+Sat Jun 2 01:39:19 MET DST 2001 Peter Wang <tjaden@alphalink.com.au>:
+
+ More keys to bind
+
+Sun May 27 13:20:12 cet 2001 mikulas:
+
+ Fixed badly displayed time when time was >1d and <1d1h
+
+Tue Apr 17 18:52:11 MET DST 2001 mikulas:
+
+ Fixed color handling for dos telnet with broken VT100
+
+Mon Apr 9 01:38:02 MET DST 2001 Olexander Kunytsa <kunia@istc.kiev.ua>:
+
+ Ukrainian translation update
+
+Mon Apr 9 01:37:33 MET DST 2001 Kaloian Doganov <kaloian@europe.com>:
+
+ Bulgarian translation update
+
+Mon Apr 9 01:35:04 MET DST 2001 Han The Thanh <thanh@informatics.muni.cz>:
+
+ Vietnamesse codepages
+
+Mon Apr 9 01:12:23 MET DST 2001 Marco Bodrato <bodrato@linuz.sns.it>:
+
+ Twinterm support
+
+Sun Apr 8 23:47:35 MET DST 2001 mikulas:
+
+ Noproxy removed because it is broken
+
+Fri Mar 23 04:23:51 MET 2001 Radovan Stas <radoone@skmi.science.upjs.sk>:
+
+ Slovak translation
+
+Fri Mar 23 04:23:17 MET 2001 Alberto Garcia <berto@gpul.org>:
+
+ Galician translation
+
+Fri Mar 23 04:13:35 MET 2001 Adam Harvey <matlhdam@iinet.net.au>:
+
+ Fixed sometimes badly posted form
+
+Fri Mar 23 03:40:39 MET 2001 Nuno Miguel Rodrigues <nmr@europa.net.dhis.org>:
+
+ Unixware console fix
+
+Sun Feb 11 22:18:20 MET 2001 mikulas:
+
+ Fixed bug in HTTP requester when server sends only one byte
+
+Mon Jan 15 23:04:06 MET 2001 Oleg Belousov <strijar@urai.ru>:
+
+ "Ignore charset info sent by server" is saved din config file
+
+Sat Jan 13 14:40:14 cet 2001 mikulas:
+
+ Fixed crash when '|' was pressed and there was no header
+
+=== RELEASE 0.95 ===
+
+Tue Jan 2 12:57:29 MET 2001 zas@norz.org:
+
+ Updated French translation
+
+Tue Jan 2 12:55:44 MET 2001 mikulas:
+
+ HTTP auth disabled again because it is really buggy
+
+=== RELEASE 0.94 ===
+
+Sun Dec 31 23:36:11 MET 2000 Alexander Mai <st002279@hrzpub.tu-darmstadt.de>:
+
+ Updated manpage and help
+
+Sun Dec 31 23:30:35 MET 2000 mikulas:
+
+ Fixed race in keyboard code (links sometimes blocked on tty read)
+
+Sun Dec 31 22:58:31 MET 2000 mikulas:
+
+ Fixed overflow when loading files longer than 200M
+
+Sun Dec 31 21:23:13 cet 2000 mikulas:
+
+ Updated Czech translation
+
+Sun Dec 31 21:22:47 cet 2000 Taniel Kirikal <taniel@colleduc.ee>:
+
+ Estonian translation
+
+Sat Dec 30 17:11:06 MET 2000 Dmitry Pinchukov <dpinch@mail.ru>:
+
+ Ukrainian translation
+
+Sat Dec 30 13:41:37 MET 2000 Baris Metin <baris@gelecek.com.tr>:
+
+ Turkish translation
+
+Sat Dec 30 13:27:50 MET 2000 Kaloian Doganov <kaloian@europe.com>:
+
+ Bulgarian translation
+
+Wed Dec 13 22:07:53 MET 2000 mikulas:
+
+ Compatible behaviour when FORM ACTION contains '?'
+
+=== RELEASE 0.94pre9 ===
+
+Tue Dec 12 12:41:03 MET 2000 mikulas:
+
+ Fixed crash in table parser
+
+Sun Dec 10 22:27:16 cet 2000 mikulas:
+
+ Changed weird 'D' behaviour when document changed under menu
+
+=== RELEASE 0.94pre8 ===
+
+Sat Dec 9 23:59:10 MET 2000 Mike Swieton <pyromage@pyromage.net>:
+
+ Form is not posted when jumping to field by number
+
+Sat Dec 9 23:53:47 MET 2000 mikulas:
+
+ Better handling of ESC followed by an arrow within timeout
+
+Sat Dec 9 23:43:19 MET 2000 mikulas:
+
+ Fixed incorrect processing of strings containing space or " in config file
+
+Sat Dec 9 23:12:54 MET 2000 mikulas:
+
+ Fixed BAD pointer operations in new config code
+
+Sun Dec 3 20:24:37 cet 2000 mikulas:
+
+ Fixed memory leak in ssl
+
+=== RELEASE 0.94pre7 ===
+
+Fri Dec 1 15:38:39 MET 2000 mikulas:
+
+ Fixed bug in action tag handling that appeared in previous version
+
+=== RELEASE 0.94pre6 ===
+
+Fri Dec 1 01:41:06 MET 2000 mikulas:
+
+ History was misdisplayed when there were posted documents
+
+Fri Dec 1 01:37:17 MET 2000 mikulas:
+
+ Better handling of missing action in form tag
+
+Fri Dec 1 01:33:26 MET 2000 mikulas:
+
+ Algoritm to find file names in ftp lists improved
+
+Fri Dec 1 01:32:55 MET 2000 mikulas:
+
+ 'Save formatted document' should no more save zeros, no more beeps on
+ win32
+
+=== RELEASE 0.94pre5 ===
+
+Thu Nov 16 23:07:44 MET 2000 mikulas:
+
+ --without-ssl
+
+Thu Nov 16 22:53:55 MET 2000 Peter Wang <tjaden@alphalink.com.au>:
+
+ Rebindable keys, /etc/links.cfg
+
+Wed Nov 15 14:00:17 cet 2000 mikulas:
+
+ Fixes for OS/2
+
+Tue Nov 14 16:43:59 MET 2000 mikulas:
+
+ wipe-out-ssl script that clears all SSL hooks
+
+=== RELEASE 0.94pre4 ===
+
+Thu Nov 9 22:51:35 MET 2000 Sergei Borushevsky <b_sp@usa.net>:
+
+ SSL
+
+=== RELEASE 0.94pre3 ===
+
+Thu Nov 2 21:20:23 MET 2000 Martin Kavalec <martin@penguin.cz>:
+
+ Fixed redundant ':' in Host header
+
+Thu Nov 2 21:08:17 MET 2000 Sergei Borushevsky <b_sp@usa.net>:
+
+ Fixed HTTP auth
+
+=== RELEASE 0.94pre2 ===
+
+Thu Nov 2 00:31:20 MET 2000 mikulas:
+
+ Fixed weird behavior of 'G' when page was created by POST
+
+Thu Nov 2 00:23:17 MET 2000 mikulas:
+
+ HTTP auth disabled because it can cause random crashing
+
+Wed Nov 1 23:05:02 MET 2000 mikulas:
+
+ Fixed a bug that it didn't send port number in Host field
+
+Mon Oct 30 22:55:30 MET 2000 mikulas:
+
+ Fixed memory leak when Ctrl-C is pressed in authentication window
+
+Mon Oct 30 22:45:32 MET 2000 mikulas:
+
+ Fixed badly posted form when <FORM> without "action" was on page
+ generated from POST request
+
+Mon Oct 30 22:44:40 MET 2000 "-=[KamiKazeNH]=-" <kamikazenh@gmx.net>:
+
+ Brazilian Portuguese translation
+
+Mon Oct 30 22:11:52 MET 2000 Cristiano Guadagnino <cris@geppo.cmb2000.it>:
+
+ Updated Italian translation
+
+Mon Oct 30 22:04:37 MET 2000 mikulas:
+
+ Fixed INTERNAL ERROR: cell is now wider if there is <pre> inside <li>
+ inside table
+
+Tue Oct 24 18:39:52 MET DST 2000 Fabrice Haberer-Proust <fric@gmx.li>:
+
+ French translation
+
+=== RELEASE-0.94pre1 ===
+
+Tue Oct 24 01:02:50 MET DST 2000 Sergei Borushevsky <b_sp@usa.net>:
+
+ No-proxy-for, HTTP authentication
+
+Tue Oct 24 01:02:47 MET DST 2000 Sergei Borushevsky <b_sp@usa.net>:
+
+ Ctrl-W completition
+
+=== RELEASE 0.93 ===
+
+Mon Oct 23 23:16:56 MET DST 2000 mikulas:
+
+ Fixed one ANSI C incompatibility
+
+Mon Oct 23 22:13:12 MET DST 2000 mikulas:
+
+ Don't use af_unix sockets if sys/un.h doesn't exist
+
+Mon Oct 23 21:53:53 MET DST 2000 mikulas:
+
+ Fixed memory leak when Ctrl-C is pressed in type query window
+
+Mon Oct 16 21:14:45 MET DST 2000 Gianluca Montecchi <gianluca@pluto.linux.it>:
+
+ Italian translation
+
+Mon Oct 16 21:10:03 MET DST 2000 Jimenez Martinez Angel Luis <al026635@alumail.uji.es>:
+
+ Updated Spanish translation
+
+=== RELEASE 0.93pre4 ===
+
+Mon Oct 16 12:02:10 cet 2000 mikulas:
+
+ Fixed "INTERNAL ERROR: cell is now wider" in table renderer
+
+Thu Oct 12 23:42:33 cet 2000 mikulas:
+
+ Fixed crash when bookmarks file didn't end with '\n'
+ Fixed bad behaviour when bookmark title contained '|'
+
+=== RELEASE 0.93pre3 ===
+
+Tue Oct 10 11:48:08 MET DST 2000 mikulas:
+
+ Fixed inconsistent behaviour of search in more frames
+
+=== RELEASE 0.93pre2 ===
+
+Mon Oct 9 20:33:44 MET DST 2000 Suveg Gabor <gsuveg@sgmobil2000.hu>:
+
+ Hungarian translation
+
+Mon Oct 9 20:18:23 MET DST 2000 mikulas:
+
+ Space handling in URL is compatible with lynx
+
+Mon Oct 9 20:09:20 MET DST 2000 mikulas:
+
+ Fixed bug that connection end was sometimes missed when downloading more
+ files
+
+Wed Oct 4 15:23:54 cet 2000 Martin Norback <d95mback@dtek.chalmers.se>
+
+ Swedish translation
+
+Wed Oct 4 15:23:39 cet 2000 Jimenez Martinez Angel Luis <al026635@alumail.uji.es> &
+ David Mediavilla Ezquibela <davidme.forum@bigfootNOSPAM.com>:
+
+ Spanish translation
+
+Sun Aug 13 18:03:22 cet 2000 mikulas:
+
+ It is working with buggy HTTP/1.0 servers that send invalid Content-Type
+
+Sat Aug 12 23:44:57 cet 2000 mikulas:
+
+ OS/2: fixed mouse cursor sometimes left after terminating
+
+Sat Aug 12 23:07:04 cet 2000 mikulas:
+
+ Fixed crash on error in -dump or -source
+
+Sun Jul 23 16:30:23 MET DST 2000 mikulas:
+
+ Fixed crash on Unix when $HOME didn't exist
+
+Mon Jul 17 23:36:20 cet 2000 mikulas:
+
+ OS/2: fixed "Process terminated by SIGPIPE" when user touched mouse
+ while exiting
+
+=== RELEASE 0.93pre1 ===
+
+Tue Sep 19 17:22:54 CEST 2000 mikulas:
+
+ Fixed crash in html parser
+ Fixed crash in bookmark window
+
+=== RELEASE 0.92 ===
+
+Fri Jun 30 00:06:18 MET DST 2000 mikulas:
+
+ Fixed sometimes incorrectly displayed window title in OS/2
+
+Fri Jun 30 00:05:19 MET DST 2000 Aurimas Mikalauskas <inner@dammit.lt>:
+
+ Lithuanian translation
+
+=== RELEASE 0.91 ===
+
+Wed Jun 28 12:19:31 MET DST 2000 mikulas:
+
+ Target was not working in 0.90, links were always displayed in top frame
+
+=== RELEASE 0.90 ===
+
+Tue Jun 27 18:25:50 MET DST 2000 mikulas:
+
+ Fixed incorrect blocking of terminal that caused problems on sun
+
+Tue Jun 27 14:00:55 MET DST 2000 mikulas:
+
+ Fixed incorrectly displayed estimated length when restarting ftp
+ download
+
+Tue Jun 27 11:22:54 MET DST 2000 mikulas:
+
+ Now it ignores spaces in html attribute values
+ Fixed incorrect display when link with content type: text/plain was
+ pointing to frame
+
+=== RELEASE 0.90pre3 ===
+
+Thu Jun 22 23:00:19 MET DST 2000 mikulas:
+
+ Fixed incorrectly displayed textarea when numbered links are on
+ Alex Antropoff's patch for spaces at the end of url was not correct;
+ removed
+ err changed to er because of name conflict on Apple
+ Fixed crash when links received HUP signal
+
+Thu Jun 22 22:42:10 MET DST 2000 Alexander Mai <mai@migdal.ikp.physik.tu-darmstadt.de>:
+
+ Updated manpage
+
+Thu Jun 22 22:21:00 MET DST 2000 Peter Gervai <grin@tolna.net>:
+
+ Mailcap to links.cfg convertor
+
+Thu Jun 22 09:11:30 MET DST 2000 Serge Winitzki <serge at mendax dot phys dot cwru dot edu>:
+
+ Updated Russian localization
+
+Tue Jun 20 23:43:25 MET DST 2000 mikulas:
+
+ Removed DOS end-of-line from some files
+ Servers are added to blacklist rather than proxies
+
+=== RELEASE 0.90pre2 ===
+
+Mon Jun 19 12:21:55 MET DST 2000 beckers <beckers@st-oneline.de>:
+
+ Updated German translation
+
+Sun Jun 18 18:37:21 MET DST 2000 mikulas:
+
+ Fixed lockup on systems with too small socket size (NetBSD)
+
+Sun Jun 18 11:57:41 MET DST 2000 mikulas:
+
+ Workaround for libcs that lock up when qsort is called with zero length
+ array (NetBSD)
+ Home and End work in NetBSD console
+ Workaround for buggy servers that can't handle too long Accept-Charset
+ (www.seznam.cz)
+
+Sat Jun 17 13:37:24 MET DST 2000 Marius Gedminas <mgedmin@takas.lt>:
+
+ ISO-8859-4 and ISO-8859-13 codepages
+
+=== RELEASE 0.90pre1 ===
+
+Wed Jun 14 19:13:36 MET DST 2000 Alex Antropoff <alex@tirastel.md>:
+
+ Allowed spaces at the end of URL
+
+Wed Jun 14 18:26:12 MET DST 2000 mikulas:
+
+ Fixed shooting to memory when DNS query was cancelled
+
+Wed Jun 14 00:28:34 MET DST 2000 Alexander Mai <st002279@hrzpub.tu-darmstadt.de>:
+
+ Updated manpage
+
+Tue Jun 13 23:53:05 MET DST 2000 Arkadiusz 'Jo Joro' Sochala <jojoro@poczta.onet.pl>:
+
+ Updated Polish translation
+
+Tue Jun 13 23:52:36 MET DST 2000 Armon Red <armon@islandia.is>:
+
+ Updated Icelandic translation
+
+Mon Jun 12 17:18:17 MET DST 2000 mikulas:
+
+ Fixes for BeOS
+
+Mon Jun 12 13:45:44 MET DST 2000 mikulas:
+
+ Fixed infinite loop in requester
+
+Mon Jun 12 13:11:26 MET DST 2000 mikulas:
+
+ -anonymous
+
+Sun Jun 11 22:27:48 MET DST 2000 mikulas:
+
+ Accept-charset
+
+Sun Jun 11 20:29:22 cet 2000 root:
+
+ Timeouts don't flood the queue in environments that can't do paralel
+ DNS lookup (OS/2, BeOS)
+
+Sun Jun 11 20:25:47 cet 2000 Alex Antropoff <alex@tirastel.md>:
+
+ Added 'Accept: */*' to the request header
+
+Sat Jun 10 17:56:23 MET DST 2000 mikulas:
+
+ Fixed memory leak in put_link_line
+ Refresh now loads the document to the same frame
+
+Sat Jun 10 10:19:41 MET DST 2000 mikulas:
+
+ Fixed shooting to memory in telnet protocol
+
+Sat Jun 10 10:04:14 MET DST 2000 mikulas:
+
+ Fixed crash in url requester introduced yesterday
+
+Fri Jun 9 21:02:12 MET DST 2000 mikulas:
+
+ Fixed badly displayed document sometimes when user pressed '\'
+ Finger protocol
+ Now it doesn't stop loading main page when image is viewed
+ Fixed security bug: proxy:// url is now only for internal use (it could
+ be used to force links to accept any cookie)
+ Fixed security bug: when opening new window, links encodes special
+ characters so that they are not interpreted by shell
+ Fixed crash in cache when server sent incomplete page on reload
+
+Fri Jun 9 13:44:10 MET DST 2000 mikulas:
+
+ Support for terminals with block cursor (xterm, FreeBSD console)
+
+Fri Jun 9 11:14:26 MET DST 2000 mikulas:
+
+ Document info didn't show info about current link when in frame
+ Memory info window has also refresh
+ Fixed memory leak when saving config file failed
+
+Fri Jun 9 01:38:35 MET DST 2000 mikulas:
+
+ Mailto and telnet support
+
+Thu Jun 8 02:33:02 cet 2000 root:
+
+ Fixed crash when user presses ^C in resources window
+
+Thu Jun 8 01:37:30 cet 2000 root:
+
+ Correct behaviour when there are more forms in a table
+
+Wed Jun 7 13:37:15 MET DST 2000 mikulas:
+
+ It doesn't display some xml tags
+ Fixed incorrect restart of connection when formatting document took
+ longer than timeout
+
+Mon Jun 5 22:55:06 MET DST 2000 Alex Antropoff <alex@tirastel.md>:
+
+ Now it accepts 'charset' attribute of meta element
+
+Mon Jun 5 22:54:05 MET DST 2000 mikulas:
+
+ Fixed "Unknown error" or crash on startup
+
+Wed May 31 21:58:43 MET DST 2000 mikulas:
+
+ Fixed memory leak
+
+Wed May 31 21:30:31 MET DST 2000 Serge Winitzki <serge at mendax dot phys dot cwru dot edu>:
+
+ Upadted Russian localization
+
+Wed May 31 18:14:22 MET DST 2000 mikulas:
+
+ It displays loading status when loading frames
+
+Wed May 31 11:31:40 MET DST 2000 mikulas:
+
+ Now it compiles on BSD
+ Fixed bug with user viewers introduced with ^C fix
+ Configure script checks for XFree for OS/2
+ Some fixes for XFree under OS/2
+
+Tue May 30 19:01:04 MET DST 2000 mikulas:
+
+ Changed gen-intl script so that it works on buggy Solaris shell
+
+Tue May 30 16:54:07 MET DST 2000 mikulas:
+
+ Menu contains link for user's manual
+ When you press ^C in master xterm, it doesn't kill all xterms
+
+Tue May 30 16:07:58 MET DST 2000 Jan Bobrowski <jb@mohan.krakow.pl>:
+
+ Small optimization in file listing
+
+Tue May 30 11:36:50 MET DST 2000 mikulas:
+
+ Fixed bug that bookmarks and history were sometimes lost
+
+Tue May 30 11:26:56 MET DST 2000 Wojtek Bojdo/l <wojboj@lp.net.pl>:
+
+ Updated Polish translation
+
+Tue May 30 11:26:47 MET DST 2000 Armon Red <armon@islandia.isarmon@islandia.is>:
+
+ Updated Icelandic translation
+
+Tue May 30 00:27:53 cet 2000 root:
+
+ Rewritten mouse driver for OS/2. Mouse doesn't leave shadows in full
+ screen
+
+Wed May 24 23:42:34 MET DST 2000 mikulas:
+
+ Few optimizations
+
+Tue May 23 18:09:26 MET DST 2000 mikulas:
+
+ Ctrl-C doesn't break Links when external viewer running
+ Now it doesn't display text when running in background
+ Fixed to compile on non-GNU c
+
+Tue May 23 15:53:23 MET DST 2000 mikulas:
+
+ Fixed memory leak in terminal introduced in previous version
+
+Mon May 22 17:32:11 cet 2000 root:
+
+ Better parsing of directory listing in ftp
+ Handling of broken links, that reference beyound root (like ../../..)
+ Handling of broken pages, that have '?' in form action
+ Now it asks before exiting
+ It recognises '~' as home directory
+ Ctrl-L for redraw
+ Using WWW_HOME variable
+ HTTP bug workarounds are configurable
+ FTP password configurable
+ Jump to selected link when searching
+
+Mon May 22 17:08:30 cet 2000 M.K.Srikant <srix@vsnl.com>:
+
+ Fixed incorrect behaviour when "value" attribute was missing
+
+Mon May 22 14:58:46 cet 2000 root:
+
+ Correct reporting of error when connect fails
+ intl/synclang rewritten in awk, so it's much faster
+
+Sat May 20 22:35:45 MET DST 2000 mikulas:
+
+ Fixed crash when user jumped to page via history and the page was not
+ cached
+ Fixed crash sometimes when disk was out of space while downloading (it
+ was not fixed entirely)
+ Correct parsing of XML tags
+
+Fri May 19 21:27:46 MET DST 2000 mikulas:
+
+ Fixed bug that cookies didn't work with proxy
+
+Wed May 17 11:17:18 MET DST 2000 mikulas:
+
+ Fixed one very rare shooting to memory in bookmarks
+
+Wed May 17 10:21:04 MET DST 2000 Armon Red <armon@islandia.isarmon@islandia.is>:
+
+ Icelandic translation
+
+Wed May 17 10:19:45 MET DST 2000 Arkadiusz 'Jo Joro' Sochala <jojoro@poczta.onet.pl>:
+
+ Updated Polish translation
+
+Tue May 16 19:18:21 MET DST 2000 mikulas:
+
+ Pthreads are disabled, they'll be probably used only for systems that
+ really need it (W32)
+
+Mon May 15 23:27:30 MET DST 2000 mikulas:
+
+ Few frame fixes
+
+Mon May 15 15:07:16 MET DST 2000 mikulas:
+
+ Fixed configure so that it works on Solaris
+
+Sat May 13 19:00:24 MET DST 2000 mikulas:
+
+ Pthreads
+ Only one pending lookup at a time
+ Better memory leak debugging
+
+Sat May 13 17:27:01 MET DST 2000 Evan Hughes <hughes@lab43.org>:
+
+ Bookmarks
+
+Sat May 13 17:26:46 MET DST 2000 mikulas:
+
+ Change size of window in OS/2
+
+Sat May 6 00:44:14 MET DST 2000 mikulas:
+
+ Fixed file descriptor leak when browsing local directories
+
+Fri May 5 01:32:27 MET DST 2000 mikulas:
+
+ Support for buggy servers that send space before HTTP response
+
+Wed May 3 15:33:26 MET DST 2000 mikulas:
+
+ Numbered links
+ Codepage 1257
+
+Thu Apr 27 23:16:55 cet 2000 root:
+
+ Correct handling of responses that have space at the end of line
+
+Thu Apr 27 11:25:02 MET DST 2000 mikulas:
+
+ Fixed crash introduced with previous fix
+
+Wed Apr 26 22:19:27 MET DST 2000 mikulas:
+
+ Fixed crash sometimes when disk was out of space while downloading
+ Fixed bug that it didn't cache ftp redirects
+
+Fri Apr 21 21:41:13 cet 2000 root:
+
+ Fixed memory leak when history file could not be written
+
+Wed Apr 19 19:46:23 MET DST 2000 mikulas:
+
+ German translation updated
+
+Wed Apr 19 19:44:33 MET DST 2000 mikulas:
+
+ Fixed bug that it didn't allow chars >= 128 in hotkeys
+
+Tue Apr 18 17:38:25 MET DST 2000 Alexander Mai <mai@migdal.ikp.physik.tu-darmstadt.de>:
+
+ Small fix for one warning
+
+Mon Apr 17 14:35:21 MET DST 2000 mikulas:
+
+ Fixed bug when frame src attribute contained #
+ target attribute in forms should work
+
+Sun Apr 16 21:55:24 cet 2000 root:
+
+ Fixed bug that caused nasty crash in OS/2 (introduced with BeOS port)
+
+Sat Apr 15 20:38:53 MET DST 2000 beckers <beckers@st-oneline.de>:
+
+ German translation
+
+Sat Apr 15 20:38:10 MET DST 2000 mikulas:
+
+ BeOS port
+ Links no longer leaves garbage on BSD console when quitting
+
+Sun Apr 9 23:37:35 MET DST 2000 mikulas:
+
+ Fixed crash when pasting too long text from clipboard
+ Now it works on non-gnu compiler
+
+Sun Apr 9 20:52:02 cet 2000 root:
+
+ New interface for opening in new xterm/screen/session
+
+Sat Apr 8 22:38:57 MET DST 2000 mikulas:
+
+ Fixed incorrectly displayed counter when downloading large files (>20M)
+
+Sat Apr 8 19:19:06 MET DST 2000 mikulas:
+
+ VT100 frames work in screen and xterm
+
+Fri Apr 7 22:29:08 MET DST 2000 mikulas:
+
+ Fixed bug when aborting waiting connection
+
+Fri Apr 7 20:41:02 MET DST 2000 Yurii Rashkovskii <yrashk@univer.kharkov.ua>:
+
+ Updated Russian localization
+
+Tue Apr 4 17:14:59 MET DST 2000 Alexander Mai <st002279@hrzpub.tu-darmstadt.de>:
+
+ Fixed includes so that it works on AIX
+
+Sun Apr 2 21:29:29 cet 2000 root:
+
+ Changed handling of OPTGROUP and OPTION
+ Corrected history menu when you're on first page
+
+Thu Mar 30 18:12:27 MET DST 2000 mikulas:
+
+ Fixed crash in USEMAP introduced with translation changes
+
+Wed Mar 29 19:24:44 MET DST 2000 mikulas:
+
+ Netscape-Enterprise added to blacklist
+ Fixed bug when there are more spaces in header
+
+Sun Mar 26 23:03:19 cet 2000 root:
+
+ Better algoritm for finding next link. Now it doesn't swap so hard on
+ large files
+ Allocating of memory when searching improved
+
+Sat Mar 25 21:28:20 cet 2000 Petr Kulhavy <brain@artax.karlin.mff.cuni.cz> &
+ Karel Kulhavy <clock@atrey.karlin.mff.cuni.cz>:
+
+ Czech translation
+
+Sat Mar 25 19:15:40 cet 2000 root:
+
+ Fixed crash when <OPTION> contains no value
+
+Sat Mar 25 17:39:38 MET 2000 mikulas:
+
+ Better movement around frames (now it's not random)
+ Rewritten support for more langugages; gettext is gone; now it can
+ recode charsets
+ Fixed shooting to memory when user entered longer text in "text margin"
+ field
+
+Mon Mar 13 00:46:53 MET 2000 Lukasz Dobrek <dobrek@student.ifpan.edu.pl>:
+
+ Now it places config files to directory $CONFIG_DIR
+
+Sat Mar 11 13:11:09 MET 2000 mikulas:
+
+ Fixed crash when user pressed '\' on blank screen
+
+Thu Mar 9 11:31:48 MET 2000 mikulas:
+
+ Fixed bug that it sometomes doesn't accept cookie
+
+Thu Mar 9 10:57:43 MET 2000 mikulas:
+
+ Fixed bug when gpm was killed while links running
+
+Wed Mar 8 23:15:15 cet 2000 root:
+
+ Fixed security bug: links passes file extension to shell - if the
+ extension contained character `, it could trigger program execution
+
+Tue Mar 7 18:46:09 cet 2000 root:
+
+ "Kill background connections" sometimes didn't work
+
+Tue Mar 7 17:25:13 cet 2000 root:
+
+ VMS server Purveyor added to HTTP/1.1 blacklist
+ All versions of mod_czech for Apache 1.3 are blacklisted
+ Fixed bug that it badly computed expected length when restarting request
+ while http server doesn't support restart
+
+Mon Mar 6 14:12:13 MET 2000 mikulas:
+
+ Fixed divide by zero when frameset cols or rows attribute is empty
+
+Wed Mar 1 00:14:59 cet 2000 root:
+
+ Cleaned up window title setting in OS/2
+ Fixed bug that it sometimes doesn't delete files in temp
+
+Tue Feb 22 08:56:55 MET 2000 Arkadiusz 'Jo Joro' Sochala <jojoro@poczta.onet.pl>:
+
+ Polish translation updated
+
+Sat Feb 19 17:51:08 MET 2000 Yurii Rashkovskii <yrashk@univer.kharkov.ua>:
+
+ Russian localization updated
+
+Sat Feb 19 14:40:31 MET 2000 mikulas:
+
+ Fixed crash when frames were enabled on page with frames
+
+Fri Feb 18 20:11:16 cet 2000 Alexander Mai <st002279@hrzpub.tu-darmstadt.de>:
+
+ Links now handles resize of OS/2 xterm
+
+Fri Feb 18 20:10:53 cet 2000 root:
+
+ Fixed one uninitialized variable in frames
+
+Wed Feb 16 22:05:14 MET 2000 mikulas:
+
+ Fixed crash in network options dialog
+
+Wed Feb 16 15:10:58 MET 2000 mikulas:
+
+ Fixed crash when selected 'Display' in unknown type dialog window
+ New dialog window with html formatting options
+
+Tue Feb 15 20:45:49 MET 2000 mikulas:
+
+ Fixed bug in frame width computing
+
+Mon Feb 14 12:14:31 cet 2000 root:
+
+ Fixed a 'file diappeared from cache' bug
+
+Wed Feb 9 19:45:19 MET 2000 mikulas:
+
+ Fixed crash introduced with previous fix
+
+Wed Feb 9 19:06:41 MET 2000 mikulas:
+
+ Fixed a possible lockup on bad pages with frames
+
+Wed Feb 9 18:22:38 MET 2000 mikulas:
+
+ Now it allows '#' in form url
+
+Tue Feb 8 23:07:47 cet 2000 root:
+
+ Fixed bug that it tried to close socket twice (problems on OS/2)
+
+Thu Feb 3 01:23:29 MET 2000 mikulas:
+
+ Fixed a bug that caused random crashing on frames
+
+Wed Feb 2 22:18:59 cet 2000 Yurii Rashkovskii <yrashk@univer.kharkov.ua>:
+
+ Updated Russian localization
+
+Sun Jan 30 11:21:26 MET 2000 mikulas:
+
+ Fixed crash when there was frame with no url
+
+Sat Jan 29 22:50:45 cet 2000 root:
+
+ Now it works in xterm in OS/2
+
+Sat Jan 29 16:34:35 MET 2000 Oleg Deribas <Oleg_Deribas@f13.n461.z2.fidonet.org>:
+
+ Fixed version of patch for clipboard and window title in OS/2
+
+Sat Jan 29 16:27:55 MET 2000 mikulas:
+
+ Frame support
+
+Sun Jan 23 12:47:49 cet 2000 root:
+
+ Fixed lockup in OS/2 when waiting for nonexisting process
+
+Sat Jan 15 22:10:01 MET 2000 mikulas:
+
+ Now it allows control characters in HTTP header
+
+Thu Jan 13 12:57:53 MET 2000 mikulas:
+
+ Updated AUTHORS file
+
+Wed Jan 12 10:18:32 MET 2000 mikulas:
+
+ Fixed crash when exit while there was downloading request waiting in
+ queue
+
+Mon Jan 10 15:55:25 MET 2000 Dmitr M. Klimov <dmk@gtrk.kmtn.ru>:
+
+ Russian localization
+
+Fri Jan 7 23:35:07 cet 2000 root:
+
+ Oleg Deribas's patch for windows title caused random crashes - it was
+ removed
+
+Fri Jan 7 17:00:30 cet 2000 root:
+
+ Fixed security bug: viewed files were created in /tmp readable for
+ anybody and without O_EXCL
+ 0.8x is not affected by the bug
+
+Thu Jan 6 17:40:39 MET 2000 mikulas:
+
+ Fixed crash because of buggy gpm TSTP handler
+
+Thu Jan 6 17:40:13 MET 2000 Dmitry M. Klimov <dmk@gtrk.kmtn.ru>:
+
+ KOI8-R frames
+
+Wed Jan 5 20:55:47 MET 2000 Petr Cech <cech@atrey.karlin.mff.cuni.cz>:
+
+ Allows spaces at the beginning of url
+
+Wed Jan 5 20:53:33 MET 2000 mikulas:
+
+ Fixed crash in garbage collection
+
+Wed Jan 5 18:43:46 MET 2000 mikulas:
+
+ Fixed shooting to memory in -dump
+
+Wed Jan 5 14:18:47 MET 2000 mikulas:
+
+ Now it interprets some undocumented sequences &#128; - &#159;
+
+Wed Jan 5 13:35:36 MET 2000 mikulas:
+
+ url is interpreted as http only if it ends with top-level domain
+
+Tue Jan 4 23:54:42 MET 2000 Arkadiusz Sochala <jojoro@priv2.onet.pl>:
+
+ Polish translation
+
+Tue Jan 4 23:39:23 MET 2000 mikulas:
+
+ Fixed crash when IMGMAP has no items
+
+Tue Jan 4 19:20:40 MET 2000 Felix von Leitner <felix@convergence.de>:
+
+ When downloading file, time is set to server date
+
+Tue Jan 4 18:30:35 MET 2000 Oleg Deribas <older@iname.com>:
+
+ Window title and clipboard support in OS/2
+
+Fri Dec 31 13:27:37 MET 1999 mikulas:
+
+ Now it doesn't count locked files when doing garbage collection
+
+Thu Dec 30 17:21:00 MET 1999 mikulas:
+
+ URL file:/ now works
+ Now every terminal remembers its current directory
+
+Thu Dec 30 13:12:08 MET 1999 mikulas:
+
+ Fixed crash when WINCH is received after terminal is destroyed
+
+Mon Dec 27 20:05:17 MET 1999 mikulas:
+
+ -dump and -source
+
+Mon Dec 27 13:35:29 MET 1999 mikulas:
+
+ Save formatted document to file
+
+Sun Dec 26 16:19:54 MET 1999 mikulas:
+
+ Better signal handling. Now it continues after ^Z
+ Signals are handled also in slave sessions
+ Fixed crash when pending signal was unhandled
+ (crash when you send STOP; TERM; CONT)
+
+Fri Dec 17 10:23:11 MET 1999 mikulas:
+
+ Fixed infinite loop in table parser
+
+Wed Dec 15 23:39:49 MET 1999 Arkadiusz Miskiewicz <misiek@misiek.eu.org>:
+
+ More changes in internationalization
+
+Wed Dec 15 22:39:07 cet 1999 root:
+
+ Fixed few nasty bugs in interprocess communication. Now it runs on OS/2.
+
+Mon Dec 13 00:10:37 MET 1999 mikulas:
+
+ Fixed crash when received HTTP 100 response
+
+Thu Dec 9 20:40:00 CET 1999 Arkadiusz Miskiewicz <misiek@pld.org.pl>:
+
+ Added internationalization support (GNU gettext).
+
+Thu Dec 9 22:44:12 MET 1999 mikulas:
+
+ ~/.links has permissions 0700
+
+Thu Dec 9 22:37:50 MET 1999 Dakshinamurthy Karra <kd@blr.vsnl.net.in>:
+
+ More fixes for NT
+ Saving goto history
+
+Thu Dec 9 21:04:20 MET 1999 Peter Gervai <grin@tolna.net>:
+
+ Updated manpage
+
+Thu Dec 9 17:12:42 cet 1999 root:
+
+ When user aborts viewing, the temporary file is deleted
+
+Wed Dec 8 23:47:39 MET 1999 mikulas:
+
+ Fixed more bugs in communication. Now it shouldn't crash.
+
+Wed Dec 8 23:41:12 MET 1999 Andrew Porokhnyak <aop@porokh.kiev.ua>:
+
+ Ukrainian code page 1125
+
+Tue Dec 7 23:38:11 cet 1999 Dakshinamurthy Karra <kd@blr.vsnl.net.in>:
+
+ Windows NT port
+
+Tue Dec 7 23:24:12 cet 1999 root:
+
+ IPC now doesn't crash so often. Terminating is not yet very good.
+ Executing viewers in slave session doesn't work.
+
+Sun Dec 5 17:42:55 MET 1999 mikulas:
+
+ Interprocess communication via af_unix. If you launch links multiple
+ times, the one becomes 'master' and other connect to it.
+
+Sun Dec 5 15:18:28 MET 1999 mikulas:
+
+ Fixed memory leak in cookies
+
+Sat Dec 4 13:50:18 MET 1999 mikulas:
+
+ Cookies support
+
+Thu Dec 2 23:18:11 MET 1999 Alexander Mai <st002279@hrzpub.tu-darmstadt.de>:
+
+ Changes so that it works in xterm in OS/2
+
+Thu Dec 2 20:49:29 MET 1999 mikulas:
+
+ Fixed crashing because of download wothout cache
+
+Thu Dec 2 12:51:20 MET 1999 mikulas:
+
+ Fixed download withoud cache with FTP
+
+Thu Dec 2 11:19:37 MET 1999 mikulas:
+
+ Download without cache (I guess it still have many bugs)
+
+Thu Dec 2 00:15:20 MET 1999 mikulas:
+
+ SA_RESTART is no more set
+
+Wed Dec 1 23:46:21 MET 1999 mikulas:
+
+ Fixed bug on IRIX that have default unsigned char
+
+Wed Dec 1 22:09:36 MET 1999 mikulas:
+
+ Now it really compiles on non-GNU C
+
+Wed Dec 1 12:49:20 MET 1999 mikulas:
+
+ Fixed another bug in new cache - crash when downloading file twice
+ Removed ^M from os_dep.h
+ Now it should compile with non-GNU C
+
+Wed Dec 1 10:57:04 MET 1999 Sebastian Zagrodzki <s.zagrodzki@sith.mimuw.edu.pl>:
+
+ Shift-G opens dialog with pre-displayed current URL
+
+Tue Nov 30 22:01:27 CET 1999 Uwe Hermann <uh1763@bingo-ev.de>
+
+ Added a basic manpage for links. It's not very detailed yet
+ Commandline option '-version' now prints the version of links
+ Added code to allow you to open a link in a new xterm
+
+Wed Dec 1 00:14:53 MET 1999 mikulas:
+
+ Fixed another (less random) crashing bug in requester
+
+Tue Nov 30 23:51:00 MET 1999 mikulas:
+
+ Added copying info to help menu
+ Added keys to help menu
+
+Tue Nov 30 23:27:41 MET 1999 mikulas:
+
+ Fixed crash when ^C was pressed while usemap displayed
+ Fixed random crashing due to previous change in requester
+
+Tue Nov 30 20:20:24 MET 1999 Jan Bobrowski <jb@wizard.ae.krakow.pl>:
+
+ Handling of more colors, corect RGB->16colors translation
+
+Tue Nov 30 14:48:29 MET 1999 mikulas:
+
+ Connection is no more referenced via URL
+
+Tue Nov 30 14:11:14 MET 1999 mikulas:
+
+ A key to quit
+ Added ESC key to README
+
+Tue Nov 30 11:20:43 MET 1999 mikulas:
+
+ Fixed leak debug so that it works on Alpha
+
+Sun Nov 28 18:06:19 MET 1999 mikulas:
+
+ Support for stupid terminals that do not report screen size
+
+Sun Nov 28 12:54:10 MET 1999 mikulas:
+
+ Fixed a bug in roman number convertor
+ Fixed a small bug in table parser
+
+Sun Nov 28 12:53:30 MET 1999 mikulas:
+
+ Removed compiler warnings
+
+Sun Nov 28 12:11:41 MET 1999 mikulas:
+
+ Fixed problem with different size of int and long
+
+Sun Nov 28 10:29:18 MET 1999 mikulas:
+
+ Scrolling large textarea is not so slow
+
+Sat Nov 27 21:37:39 MET 1999 mikulas:
+
+ Fixed bug in new cache code
+
+Sat Nov 27 17:25:27 MET 1999 Unai Uribarri <unai@telecable.es>:
+
+ History
+
+Sat Nov 27 17:24:15 MET 1999 mikulas:
+
+ Improved cache performance when downloading (there may be new BUGS)
+
+=== Links-CURRENT forked ===
+
+=== RELEASE 0.81pre3 ===
+
+Sat Nov 27 11:42:37 cet 1999 Evgenij M. Baldin <baldin@sky.inp.nsk.su>:
+
+ Added support for Russian codepages 866 and iso8859-5
+
+Sat Nov 27 11:00:14 cet 1999 root:
+
+ Added frame restrictions when display is in cp850 or cp852
+
+=== RELEASE 0.81pre2 ===
+
+Fri Nov 26 20:58:01 MET 1999 mikulas:
+
+ Fixed a typo in destroy_all_sessions (it called bad function, however it
+ didn't cause crash)
+ Fixed small race in signal handling
+ Added handler for SIGINT, SIGTERM, SIGTSTP and SIGCONT
+
+=== RELEASE 0.81pre1 ===
+
+Fri Nov 26 17:53:18 MET 1999 mikulas:
+
+ Fixed bug with Squid. Keepalive connection was hanging until Squid
+ closed it. Now keepalive connections to HTTP/1.0 proxies work.
+
+Fri Nov 26 17:35:43 MET 1999 mikulas:
+
+ Changed it to work on 64b machines
+
+Fri Nov 26 17:21:30 MET 1999 mikulas:
+
+ Default codepage is now 8859-1 instead of us-ascii
+
+Fri Nov 26 17:18:46 MET 1999 mikulas:
+
+ Fixed a typo ISO-8895-1 -> ISO-8859-1
+
+Fri Nov 26 16:21:14 MET 1999 Eugene Osintsev <osgene@omskelecom.ru>:
+
+ Added support for Russian codepages 1251 and KOI8-R
+
+=== RELEASE 0.80 ===
+
+Wed Nov 24 13:25:33 MET 1999 mikulas:
+
+ First public release.
+
+vim: textwidth=80
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..315db5d
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,114 @@
+Links 2.6 -- How To Install
+---------------------------
+
+Follow this step-by-step:
+0) Check you have installed the following libraries and are able to compile with
+ them. On a package-driven distribution, you will need both "library" and
+ "library-dev(el)":
+
+ Mandatory libraries
+ -------------------
+ libpng - required to compile links in graphics mode (not required in text
+ mode). Libpng 2.1.18 has a bug and must be patched by the patch
+ PATCH-libpng-1.2.18 which is shipped with Links.
+ IJG libjpeg - if you want to display JPEG's (probably yes).
+ TIFF Library - if you want TIFFs.
+ SVGAlib - if you want Links to be able to display on SVGAlib.
+ OpenSSL and zlib - if you want SSL connections. zlib is not necessary if you
+ know the SSL is compiled without zlib.
+
+ Optional libraries
+ ------------------
+ zlib - shows gzipped pages
+ libbz2 - shows bzipped content
+ lzma - shows content compressed with lzma
+
+ If any of the library is not present on the system or is unusably old and you cannot install it
+ (typically because you are not a root), then go to 11) Compiling with
+ user-supplied libraries.
+1) Do not forget to run "ldconfig" if you have installed any new libraries :-)
+2) "./configure --help"
+ Read the output and choose which options you want to give ./configure.
+ Probably you will want --enable-graphics
+3) "./configure <your options>"
+4) Check the output of ./configure (in the table at the end) whether you really
+ get what you want
+5) "make"
+6) If you are a root, "make install" with root privileges. If not, copy the
+ resulting "links" executable into some suitable place, preferrably within
+ your $PATH. The whole browser is just one executable.
+7) If you haven't got a permanent Internet connection, save the "doc/"
+ subdirectory into some suitable place (/usr/share/, /usr/local/share). The
+ most important part is the "doc/links_cal/" subdirectory which contains a calibration pattern
+ (calibration.html in English, kalibrace.html in Czech)
+ you will need to get a flawless picture on your monitor.
+8) If you want to supply a Links icon into your X Window System windowmanager,
+ you will find a suitable 48x48 icon in graphics/links.xpm
+9) Delete the archive and source directory - no more needed
+10) The browser is ready now. You just have to calibrate it to get a flawless
+ picture (see doc/calibration.html or the Links homepage, which is in default
+ bookmarks).
+
+11) Compiling with user-supplied libraries.
+ This describes how to compile Links with user-supplied libraries zlib,
+ libpng, libpjpeg and libtiff. If you want to use any of these libraries from
+ the system, omit appropriate references. The versions are just for example:
+
+ Download libpng-1.2.3, zlib-1.1.4, libjpeg-6b and libtiff-v3.5.7
+ archives and unpack them. Build the libraries according to their
+ instructions to get static (*.a) library in each.
+
+ Please note libpng-1.2.18 is buggy and must be patched with
+ PATCH-libpng-1.2.18 which is shipped with Links.
+
+ export CPPFLAGS="-I../zlib-1.1.4 -I../libpng-1.2.3 -I../jpeg-6b
+ -I../tiff-v3.5.7/libtiff"
+ export LDFLAGS="=L../zlib-1.1.4 -L../libpng-1.2.3 -L../jpeg-6b
+ -L ../tiff-v3.5.7/libtiff"
+ goto 2)
+
+PITFALLS
+--------
+
+Compile:
+
+Unix - use ./configure; make
+ in some FreeBSD 3 distributions you have to set CFLAGS=-aout before
+ running ./configure
+ Tested on Linux, FreeBSD, Solaris, IRIX
+
+OS/2 - use ./configure; make
+ You must have GNU bash and GNU text/shell/file utilities so that
+ configure can run
+ The only supported compiler is EMX, you probably won't be able to
+ compile it with anything else
+
+ configure under OS/2 needs to know paths to gcc, make anb bash. Set (for
+ example):
+ SET HOSTTYPE=i586
+ SET MACHTYPE=i586-pc-os2
+ SET CONFIG_SHELL=d:/prg/gnu/bin/bash.exe
+ SET CC=d:/prg/emx/bin/gcc.exe
+ SET MAKE=d:/prg/emx/bin/make.exe
+ SET EMXOPT=-h100
+
+Windows - you must have Cygwin or Interix environment
+ Otherwise, compile it just like on Unix
+
+Install:
+
+Unix - make install
+
+OS/2 - copy file links.exe somewhere to your path or create CMD file that runs
+ links
+
+WARNING: EMX has nasty limit of open files. Links will work badly or won't work
+ with default settings. Set variable EMXOPT=-h100 before you run links.
+
+libpng-1.2.18 - "Error when loading compiled-in font: png_do_rgb_to_gray found
+ nongray pixel. libpng error: png_do_rgb_to_gray found nongray
+ pixel Abort." This is caused by a bug in libpng and
+ PATCH-libpng-1.2.18 shipped with Links must be used to patch
+ libpng to fix the bug.
+
+vim: textwidth=80
diff --git a/KEYS b/KEYS
new file mode 100644
index 0000000..2185403
--- /dev/null
+++ b/KEYS
@@ -0,0 +1,77 @@
+GENERAL
+-------
+ESC show menu
+^C, q, Q quit
+ALT-1 ... ALT-9 select virtual screen (framebuffer, svgalib only)
+g goto URL
+G goto URL based on current URL
+^G goto URL based on current link
+s bookmark manager
+^R reload page
+ pressed 2x=reload without internal cache
+ pressed 3x=force reload through all proxy caches
+f frame to full screen
+i view image
+d download link
+I download image
+* toggle displaying image links
+\ toggle document source
+= document info
+| HTTP header info
+
+
+BASIC NAVIGATION
+----------------
+UP/DOWN select link
+RIGHT, ENTER follow link
+LEFT, z go back
+', x go forward
+^P, INS scroll up
+^N, DEL scroll down
+[ scroll left
+] scroll right
+PAGE_UP, ^B previous page
+PAGE_DOWN, ^F next page
+HOME, ^A go to start of the document
+END, ^E go to end of the document
+TAB switch frames
+1-9 count to repeat the next move (only text)
+ (you can press more number keys to repeat more than 9 times)
+ALT-1 ... ALT-9 the same as previous --- if you have numbered links
+ (only text)
+
+
+SEARCH
+------
+/ search
+? search back
+n find next
+N find previous
+
+
+DIALOGS, CLIPBOARD
+------------------
+^A go to beginning
+^E go to end
+^W complete string in a dialog (e.g. URL or search dialog)
+^B, ^INS copy text to clipboard
+^X, SH-DEL cut text to clipboard
+^V, SH-INS paste from clipboard
+^U delete text from cursor position to start of the line
+ (or field, textarea)
+^K delete line (in textarea) or text to end (in field)
+^INS copy current link to clipboard
+
+
+BRAILLE TERMINAL
+----------------
+^T, ^TAB previous link
+^Y, TAB next link
+t previous word
+y next word
+^O next form field
+LEFT, RIGHT, UP, DOWN move cursor around
+a move cursor to status bar
+w move curosor to title bar
+{ move cursor to start of current line
+} move cursor to end of current line
diff --git a/Links_logo.png b/Links_logo.png
new file mode 100644
index 0000000..7eb6af7
--- /dev/null
+++ b/Links_logo.png
Binary files differ
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..d3d3f78
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,38 @@
+# Makefile.am
+# (c) 2002 Mikulas Patocka, Karel 'Clock' Kulhavy, Petr 'Brain' Kulhavy,
+# Martin 'PerM' Pergel
+
+man_MANS=links.1
+
+EXTRA_DIST=atheos.cpp $(man_MANS) BRAILLE_HOWTO KEYS SITES PATCH-gpm-1.20.0-smooth-cursor PATCH-libpng-1.2.18 mailcap.pl rebuild Links_logo.png Unicode/*.cp Unicode/[!C]* intl/[!C]* graphics/*.c graphics/arrow.png graphics/gen graphics/system_font/*.png graphics/font/century_school-medium-roman-serif-vari/*.png graphics/font/century_school-bold-roman-serif-vari/*.png graphics/font/symbol-medium-roman-sans-vari/*.png graphics/font/courier-medium-roman-serif-mono/*.png graphics/font/japanese-medium-roman-sans-mono/*.png graphics/font/century_school-bold-roman-serif-vari/aliases graphics/font/century_school-medium-roman-serif-vari/aliases graphics/font/symbol-medium-roman-sans-vari/aliases doc/links_cal/*.png doc/links_cal/*.html graphics/Makefile graphics/Fontmap graphics/clip.c graphics/links.xpm graphics/makefont graphics/pdf2html graphics/spacer.png links_16x16_1.xpm links_16x16_2.xpm links_32x32.xpm linksos2.ico linksos2.rc mk-release-os2 links.wis links.nsi
+
+bin_PROGRAMS=links
+
+if ATHEOS_GR
+links_LDADD=atheos.o
+else
+endif
+
+links_SOURCES=af_unix.c auth.c beos.c bfu.c block.c bookmarks.c cache.c charsets.c compress.c connect.c cookies.c default.c dip.c directfb.c directfb_cursors.h dither.c dns.c drivers.c error.c file.c finger.c font_include.c framebuffer.c ftp.c gif.c html.c html_gr.c html_r.c html_tbl.c http.c https.c img.c imgcache.c jpeg.c jsint.c kbd.c language.c links_icon.c listedit.c lru.c mailto.c main.c memory.c menu.c objreq.c os_dep.c pmshell.c png.c sched.c select.c session.c smb.c svgalib.c terminal.c tiff.c types.c url.c view.c view_gr.c x.c xbm.c beos.h bits.h cfg.h codepage.h language.h links.h os_dep.h os_depx.h setup.h arrow.inc codepage.inc entity.inc fbcommon.inc language.inc uni_7b.inc upcase.inc
+
+dist-hook:
+#remove the symlinka:
+ rm $(distdir)/README
+ rm $(distdir)/INSTALL
+ echo Links $(VERSION) > $(distdir)/README
+ echo Links $(VERSION) -- How To Install > $(distdir)/INSTALL
+ echo Links $(VERSION) | tr -c '\n' '-' >> $(distdir)/README
+ echo Links $(VERSION) -- How To Install | tr -c '\n' '-' >> $(distdir)/INSTALL
+ echo >> $(distdir)/README
+ echo >> $(distdir)/INSTALL
+ cat $(srcdir)/README >> $(distdir)/README
+ cat $(srcdir)/INSTALL >> $(distdir)/INSTALL
+
+CXXFLAGS=@CXXFLAGS@
+
+atheos.o: atheos.cpp
+ $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c atheos.cpp
+
+datadir = $(prefix)/@DATADIRNAME@
+LIBS = @LIBS@
+
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..6c8f317
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,564 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# Makefile.am
+# (c) 2002 Mikulas Patocka, Karel 'Clock' Kulhavy, Petr 'Brain' Kulhavy,
+# Martin 'PerM' Pergel
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+CC = @CC@
+CXX = @CXX@
+DIRECTFB_CONFIG = @DIRECTFB_CONFIG@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+man_MANS = links.1
+
+EXTRA_DIST = atheos.cpp $(man_MANS) BRAILLE_HOWTO KEYS SITES PATCH-gpm-1.20.0-smooth-cursor PATCH-libpng-1.2.18 mailcap.pl rebuild Links_logo.png Unicode/*.cp Unicode/[!C]* intl/[!C]* graphics/*.c graphics/arrow.png graphics/gen graphics/system_font/*.png graphics/font/century_school-medium-roman-serif-vari/*.png graphics/font/century_school-bold-roman-serif-vari/*.png graphics/font/symbol-medium-roman-sans-vari/*.png graphics/font/courier-medium-roman-serif-mono/*.png graphics/font/japanese-medium-roman-sans-mono/*.png graphics/font/century_school-bold-roman-serif-vari/aliases graphics/font/century_school-medium-roman-serif-vari/aliases graphics/font/symbol-medium-roman-sans-vari/aliases doc/links_cal/*.png doc/links_cal/*.html graphics/Makefile graphics/Fontmap graphics/clip.c graphics/links.xpm graphics/makefont graphics/pdf2html graphics/spacer.png links_16x16_1.xpm links_16x16_2.xpm links_32x32.xpm linksos2.ico linksos2.rc mk-release-os2 links.wis links.nsi
+
+bin_PROGRAMS = links
+
+@ATHEOS_GR_TRUE@links_LDADD = atheos.o
+
+links_SOURCES = af_unix.c auth.c beos.c bfu.c block.c bookmarks.c cache.c charsets.c compress.c connect.c cookies.c default.c dip.c directfb.c directfb_cursors.h dither.c dns.c drivers.c error.c file.c finger.c font_include.c framebuffer.c ftp.c gif.c html.c html_gr.c html_r.c html_tbl.c http.c https.c img.c imgcache.c jpeg.c jsint.c kbd.c language.c links_icon.c listedit.c lru.c mailto.c main.c memory.c menu.c objreq.c os_dep.c pmshell.c png.c sched.c select.c session.c smb.c svgalib.c terminal.c tiff.c types.c url.c view.c view_gr.c x.c xbm.c beos.h bits.h cfg.h codepage.h language.h links.h os_dep.h os_depx.h setup.h arrow.inc codepage.inc entity.inc fbcommon.inc language.inc uni_7b.inc upcase.inc
+
+CXXFLAGS = @CXXFLAGS@
+
+datadir = $(prefix)/@DATADIRNAME@
+LIBS = @LIBS@
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(bin_PROGRAMS)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir) -I.
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+links_OBJECTS = af_unix.o auth.o beos.o bfu.o block.o bookmarks.o \
+cache.o charsets.o compress.o connect.o cookies.o default.o dip.o \
+directfb.o dither.o dns.o drivers.o error.o file.o finger.o \
+font_include.o framebuffer.o ftp.o gif.o html.o html_gr.o html_r.o \
+html_tbl.o http.o https.o img.o imgcache.o jpeg.o jsint.o kbd.o \
+language.o links_icon.o listedit.o lru.o mailto.o main.o memory.o \
+menu.o objreq.o os_dep.o pmshell.o png.o sched.o select.o session.o \
+smb.o svgalib.o terminal.o tiff.o types.o url.o view.o view_gr.o x.o \
+xbm.o
+@ATHEOS_GR_TRUE@links_DEPENDENCIES = atheos.o
+links_LDFLAGS =
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+man1dir = $(mandir)/man1
+MANS = $(man_MANS)
+
+NROFF = nroff
+DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \
+Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 config.guess \
+config.h.in config.sub configure configure.in install-sh missing \
+mkinstalldirs
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(links_SOURCES)
+OBJECTS = $(links_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): configure.in
+ cd $(srcdir) && $(ACLOCAL)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+config.h: stamp-h
+ @if test ! -f $@; then \
+ rm -f stamp-h; \
+ $(MAKE) stamp-h; \
+ else :; fi
+stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES= CONFIG_HEADERS=config.h \
+ $(SHELL) ./config.status
+ @echo timestamp > stamp-h 2> /dev/null
+$(srcdir)/config.h.in: $(srcdir)/stamp-h.in
+ @if test ! -f $@; then \
+ rm -f $(srcdir)/stamp-h.in; \
+ $(MAKE) $(srcdir)/stamp-h.in; \
+ else :; fi
+$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
+ cd $(top_srcdir) && $(AUTOHEADER)
+ @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
+
+mostlyclean-hdr:
+
+clean-hdr:
+
+distclean-hdr:
+ -rm -f config.h
+
+maintainer-clean-hdr:
+
+mostlyclean-binPROGRAMS:
+
+clean-binPROGRAMS:
+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+distclean-binPROGRAMS:
+
+maintainer-clean-binPROGRAMS:
+
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ if test -f $$p; then \
+ echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ list='$(bin_PROGRAMS)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ done
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+links: $(links_OBJECTS) $(links_DEPENDENCIES)
+ @rm -f links
+ $(LINK) $(links_LDFLAGS) $(links_OBJECTS) $(links_LDADD) $(LIBS)
+
+install-man1:
+ $(mkinstalldirs) $(DESTDIR)$(man1dir)
+ @list='$(man1_MANS)'; \
+ l2='$(man_MANS)'; for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+ else file=$$i; fi; \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
+ done
+
+uninstall-man1:
+ @list='$(man1_MANS)'; \
+ l2='$(man_MANS)'; for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
+ rm -f $(DESTDIR)$(man1dir)/$$inst; \
+ done
+install-man: $(MANS)
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) install-man1
+uninstall-man:
+ @$(NORMAL_UNINSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) uninstall-man1
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ $(mkinstalldirs) $(distdir)/Unicode $(distdir)/doc/links_cal \
+ $(distdir)/graphics \
+ $(distdir)/graphics/font/century_school-bold-roman-serif-vari \
+ $(distdir)/graphics/font/century_school-medium-roman-serif-vari \
+ $(distdir)/graphics/font/courier-medium-roman-serif-mono \
+ $(distdir)/graphics/font/japanese-medium-roman-sans-mono \
+ $(distdir)/graphics/font/symbol-medium-roman-sans-vari \
+ $(distdir)/graphics/system_font $(distdir)/intl
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
+af_unix.o: af_unix.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+auth.o: auth.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+beos.o: beos.c
+bfu.o: bfu.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+block.o: block.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+bookmarks.o: bookmarks.c links.h cfg.h config.h os_dep.h os_depx.h \
+ setup.h language.h codepage.h
+cache.o: cache.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+charsets.o: charsets.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h codepage.inc uni_7b.inc entity.inc \
+ upcase.inc
+compress.o: compress.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+connect.o: connect.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+cookies.o: cookies.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+default.o: default.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+dip.o: dip.c cfg.h config.h links.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+directfb.o: directfb.c cfg.h config.h
+dither.o: dither.c cfg.h config.h links.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h bits.h
+dns.o: dns.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+drivers.o: drivers.c cfg.h config.h links.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+error.o: error.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+file.o: file.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+finger.o: finger.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+font_include.o: font_include.c cfg.h config.h links.h os_dep.h os_depx.h \
+ setup.h language.h codepage.h
+framebuffer.o: framebuffer.c cfg.h config.h links.h os_dep.h os_depx.h \
+ setup.h language.h codepage.h bits.h arrow.inc fbcommon.inc
+ftp.o: ftp.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+gif.o: gif.c cfg.h config.h links.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+html.o: html.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+html_gr.o: html_gr.c cfg.h config.h links.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+html_r.o: html_r.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+html_tbl.o: html_tbl.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+http.o: http.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+https.o: https.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+img.o: img.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+imgcache.o: imgcache.c cfg.h config.h links.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+jpeg.o: jpeg.c cfg.h config.h links.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+jsint.o: jsint.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+kbd.o: kbd.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+language.o: language.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h language.inc
+links_icon.o: links_icon.c cfg.h config.h links.h os_dep.h os_depx.h \
+ setup.h language.h codepage.h
+listedit.o: listedit.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+lru.o: lru.c cfg.h config.h links.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+mailto.o: mailto.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+main.o: main.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+memory.o: memory.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+menu.o: menu.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+objreq.o: objreq.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+os_dep.o: os_dep.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+pmshell.o: pmshell.c cfg.h config.h
+png.o: png.c cfg.h config.h links.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+sched.o: sched.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+select.o: select.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+session.o: session.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+smb.o: smb.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+svgalib.o: svgalib.c cfg.h config.h links.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h bits.h arrow.inc fbcommon.inc
+terminal.o: terminal.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+tiff.o: tiff.c cfg.h config.h links.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h bits.h
+types.o: types.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+url.o: url.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+view.o: view.c links.h cfg.h config.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+view_gr.o: view_gr.c cfg.h config.h links.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+x.o: x.c cfg.h config.h links.h os_dep.h os_depx.h setup.h language.h \
+ codepage.h
+xbm.o: xbm.c cfg.h config.h links.h os_dep.h os_depx.h setup.h \
+ language.h codepage.h
+
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+all-recursive-am: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+install-exec-am: install-binPROGRAMS
+install-exec: install-exec-am
+
+install-data-am: install-man
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-binPROGRAMS uninstall-man
+uninstall: uninstall-am
+all-am: Makefile $(PROGRAMS) $(MANS) config.h
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS \
+ mostlyclean-compile mostlyclean-tags \
+ mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-tags \
+ clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-hdr distclean-binPROGRAMS distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-hdr maintainer-clean-binPROGRAMS \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+ -rm -f config.status
+
+.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
+mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
+maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile install-man1 uninstall-man1 install-man \
+uninstall-man tags mostlyclean-tags distclean-tags clean-tags \
+maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
+installcheck-am installcheck all-recursive-am install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+dist-hook:
+#remove the symlinka:
+ rm $(distdir)/README
+ rm $(distdir)/INSTALL
+ echo Links $(VERSION) > $(distdir)/README
+ echo Links $(VERSION) -- How To Install > $(distdir)/INSTALL
+ echo Links $(VERSION) | tr -c '\n' '-' >> $(distdir)/README
+ echo Links $(VERSION) -- How To Install | tr -c '\n' '-' >> $(distdir)/INSTALL
+ echo >> $(distdir)/README
+ echo >> $(distdir)/INSTALL
+ cat $(srcdir)/README >> $(distdir)/README
+ cat $(srcdir)/INSTALL >> $(distdir)/INSTALL
+
+atheos.o: atheos.cpp
+ $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c atheos.cpp
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..6623f94
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,16 @@
+Version 0.80
+
+- First public release
+
+Version 0.90
+
+- Frames
+ Bookmarks
+ Support for more languages
+ Mailto:
+ -dump, -source
+ -anonymous
+ A lot of small improvements, see ChangeLog
+
+Version 2
+- Graphics mode
diff --git a/PATCH-gpm-1.20.0-smooth-cursor b/PATCH-gpm-1.20.0-smooth-cursor
new file mode 100644
index 0000000..3e1fd9d
--- /dev/null
+++ b/PATCH-gpm-1.20.0-smooth-cursor
@@ -0,0 +1,84 @@
+--- src/gpm.c_ Sat Jun 8 14:14:19 2002
++++ src/gpm.c Sat Jun 8 14:51:18 2002
+@@ -106,6 +106,11 @@
+ static int mouse_argc[3]; /* 0 for default (unused) and two mice */
+ static char **mouse_argv[3]; /* 0 for default (unused) and two mice */
+
++/* pixel-level mouse delta. Should be in event, but I don't want to break interface */
++static int smooth_dx, smooth_dy;
++
++static int number_of_smooth_clients = 0;
++
+ /*===================================================================*/
+ /*
+ * first, all the stuff that used to be in gpn.c (i.e., not main-loop)
+@@ -317,7 +322,15 @@
+
+ /* WARNING */ /* This can generate a SIGPIPE... I'd better catch it */
+ MAGIC_P((write(fd,&magic, sizeof(int))));
+- write(fd,event, sizeof(Gpm_Event));
++ if (info.eventMask & info.defaultMask & GPM_SMOOTH && !m_type->absolute) {
++ Gpm_Event new = *event;
++ new.dx = smooth_dx;
++ new.dy = smooth_dy;
++ new.type |= GPM_SMOOTH;
++ write(fd,&new, sizeof(Gpm_Event));
++ } else {
++ write(fd,event, sizeof(Gpm_Event));
++ }
+
+ return info.defaultMask & GPM_HARD ? res : 1; /* HARD forces pass-on */
+
+@@ -503,6 +516,7 @@
+
+ /* use fine delta values now, if delta is the information */
+ if (!(m_type)->absolute) {
++ smooth_dx=event->dx; smooth_dy=event->dy;
+ fine_dx+=event->dx; fine_dy+=event->dy;
+ event->dx=fine_dx/opt_scale; event->dy=fine_dy/opt_scaley;
+ fine_dx %= opt_scale; fine_dy %= opt_scaley;
+@@ -511,7 +525,7 @@
+ /* up and down, up and down, ... who does a do..while(0) loop ???
+ and then makes a break into it... argh ! */
+
+- if (!event->dx && !event->dy && (event->buttons==oldB))
++ if (!event->dx && !event->dy && (event->buttons==oldB) && !number_of_smooth_clients)
+ do { /* so to break */
+ static long awaketime;
+ /*
+@@ -680,6 +694,7 @@
+ FD_CLR(ci->fd,&readySet);
+ if (cinfo[vc]->fd == ci->fd) { /* it was on top of the stack */
+ cinfoPtr = cinfo[vc];
++ if (cinfoPtr->data.eventMask & cinfoPtr->data.defaultMask & GPM_SMOOTH) number_of_smooth_clients--;
+ cinfo[vc]=cinfo[vc]->next; /* pop the stack */
+ free(cinfoPtr);
+ return -1;
+@@ -850,6 +865,8 @@
+ }
+ free(tty); /* at least here it's not needed anymore */
+ }
++
++ if (info->data.eventMask & info->data.defaultMask & GPM_SMOOTH) number_of_smooth_clients++;
+
+ /* register the connection information in the right place */
+ info->next=next=cinfo[vc];
+--- src/headers/gpm.h_ Sat Jun 8 13:20:25 2002
++++ src/headers/gpm.h Sat Jun 8 14:52:35 2002
+@@ -102,8 +102,15 @@
+ used event to pass over to another handler */
+
+ GPM_ENTER=512, /* enter event, user in Roi's */
+- GPM_LEAVE=1024 /* leave event, used in Roi's */
++ GPM_LEAVE=1024, /* leave event, used in Roi's */
++
++ GPM_SMOOTH=2048, /* if application want to receive smooth movement,
++ it sets GPM_SMOOTH in both eventMask and defaultMask.
++ In returned event, type GPM_SMOOTH signals that dx and dy
++ are smooth */
+ };
++
++#define GPM_HAVE_SMOOTH /* so that apps can #ifdef for old/new version */
+
+ #define Gpm_StrictSingle(type) (((type)&GPM_SINGLE) && !((type)&GPM_MFLAG))
+ #define Gpm_AnySingle(type) ((type)&GPM_SINGLE)
diff --git a/PATCH-libpng-1.2.18 b/PATCH-libpng-1.2.18
new file mode 100644
index 0000000..b3b8f47
--- /dev/null
+++ b/PATCH-libpng-1.2.18
@@ -0,0 +1,14 @@
+--- pngrtran.c_ 2007-06-25 04:09:58.000000000 +0200
++++ pngrtran.c 2007-06-25 04:09:53.000000000 +0200
+@@ -1293,9 +1293,9 @@
+ if(rgb_error)
+ {
+ png_ptr->rgb_to_gray_status=1;
+- if(png_ptr->transformations & PNG_RGB_TO_GRAY_WARN)
++ if((png_ptr->transformations & PNG_RGB_TO_GRAY) == PNG_RGB_TO_GRAY_WARN)
+ png_warning(png_ptr, "png_do_rgb_to_gray found nongray pixel");
+- if(png_ptr->transformations & PNG_RGB_TO_GRAY_ERR)
++ if((png_ptr->transformations & PNG_RGB_TO_GRAY) == PNG_RGB_TO_GRAY_ERR)
+ png_error(png_ptr, "png_do_rgb_to_gray found nongray pixel");
+ }
+ }
diff --git a/README b/README
new file mode 100644
index 0000000..1a50b45
--- /dev/null
+++ b/README
@@ -0,0 +1,48 @@
+Links 2.6
+---------
+
+Links
+=====
+
+
+Contents
+--------
+
+1. About
+2. Installation
+3. Usage
+4. Braille terminal support
+5. More features
+
+
+1. About
+--------
+Links is a Lynx-like text and graphics WWW browser.
+
+
+2. Installation
+---------------
+See INSTALL
+
+
+3. Usage
+--------
+Commandline: links [options] <url>
+
+See end of file default.c for list of options. Most options can be set in luser
+interface or config file, so you do not need to care about them.
+
+Keys: see KEYS
+
+
+4. Braille terminal support
+---------------------------
+See BRAILLE_HOWTO
+
+
+5. More features
+----------------
+Links is a free software. If you would like to have more features, see
+this URL for details:
+http://links.twibright.com/development.php
+
diff --git a/SITES b/SITES
new file mode 100644
index 0000000..d9f6e62
--- /dev/null
+++ b/SITES
@@ -0,0 +1,14 @@
+Primary site:
+ http://links.twibright.com/download/
+
+Mirrors:
+ http://piotrkosoft.net/pub/mirrors/links2
+ ftp://ftp.piotrkosoft.net/pub/mirrors/links2
+ rsync://piotrkosoft.net/mirrors/links2
+ http://atrey.karlin.mff.cuni.cz/~clock/twibright/links
+ ftp://atrey.karlin.mff.cuni.cz/pub/local/clock/links
+
+Mailing list:
+ links-list@linuxfromscratch.org
+ http://links.sf.net/mailing.html
+ http://www.egroups.com/group/links-browser
diff --git a/Unicode/7bit.cp b/Unicode/7bit.cp
new file mode 100644
index 0000000..5edd094
--- /dev/null
+++ b/Unicode/7bit.cp
@@ -0,0 +1,3 @@
+7-bit ASCII
+"us-ascii", "ascii", "7bit", "7-bit", "iso-ir-6", "ANSI_X3.4", "646", "it-ascii"
+# Dummy table for 7-bit terminals
diff --git a/Unicode/7bitrepl.lnx b/Unicode/7bitrepl.lnx
new file mode 100644
index 0000000..1378ed6
--- /dev/null
+++ b/Unicode/7bitrepl.lnx
@@ -0,0 +1,2232 @@
+# M.P.: unicode to ascii table. I took this file from lynx.
+# lynx/src/chrtrans/def7_uni.tbl
+
+# Default 7bit replacements. If the MIME name is set to us-ascii,
+# this will be identified with the "7 bit approximations" Display
+# character set.
+
+#The MIME name of this charset.
+Mus-ascii
+
+# Shall this become the "default" translation table? YES!
+# There has to be exactly one table marked as "default".
+D1
+
+
+# us-ascii characters should not normally pass here,
+# they are always processed directly but let declare it here:
+0x20-0x7e idem
+
+
+# NO-BREAK SPACE,
+# should not happen (processed in the code):
+#U+00a0:NS
+U+00a1:!
+U+00a2:-c-
+U+00a3:-L-
+U+00a4:CUR
+U+00a5:YEN
+U+00a6:|
+U+00a7:S:
+U+00a8:"
+# COPYRIGHT SIGN:
+U+00a9:(c)
+U+00aa:-a
+U+00ab:<<
+U+00ac:NOT
+# SOFT HYPHEN,
+# should not happen (processed in the code):
+#U+00ad:-
+U+00ad:
+# REGISTERED SIGN:
+U+00ae:(R)
+U+00af:-
+U+00b0:DEG
+U+00b1:+-
+U+00b2:^2
+U+00b3:^3
+U+00b4:'
+# My -> u
+U+00b5:u
+U+00b6:P:
+U+00b7:.
+U+00b8:,
+U+00b9:^1
+U+00ba:-o
+U+00bb:>>
+U+00bc: 1/4
+U+00bd: 1/2
+U+00be: 3/4
+U+00bf:?
+0x41 U+00c0-U+00c3
+U+00c4:A:
+U+00c5:AA
+U+00c6:AE
+U+00c7:C,
+0x45 U+00c8-U+00cb
+0x49 U+00cc-U+00cf
+U+00d0:D-
+0x4e U+00d1
+0x4f U+00d2-U+00d5
+U+00d6:O:
+U+00d7: *
+U+00d8:O/
+0x55 U+00d9-U+00db
+U+00dc:U:
+0x59 U+00dd
+U+00de:TH
+U+00df:ss
+U+00e0:`a
+0x61 U+00e1-U+00e3
+U+00e4:a:
+U+00e5:aa
+U+00e6:ae
+U+00e7:c,
+0x65 U+00e8-U+00eb
+U+00ec:`i
+0x69 U+00ed-U+00ef
+U+00f0:d-
+0x6e U+00f1
+0x6f U+00f2-U+00f5
+U+00f6:o:
+U+00f7:-:
+U+00f8:o/
+0x75 U+00f9-U+00fb
+U+00fc:u:
+0x79 U+00fd
+U+00fe:th
+0x79 U+00ff
+# end of latin-1 repertoire
+0x41 U+0100 U+0102 U+0104 # A
+0x61 U+0101 U+0103 U+0105 # a
+0x43 U+0106 U+0108 U+010a U+010c # C
+# The following line is an example for mapping several accented versions
+# of small letter 'c' to 'c':
+0x63 U+0107 U+0109 U+010b U+010d # c
+0x44 U+010e
+0x64 U+010f
+U+0110:D/
+U+0111:d/
+0x45 U+0112 U+0114 U+0116 U+0118 U+011a # E
+0x65 U+0113 U+0115 U+0117 U+0119 U+011b # e
+0x47 U+011c U+011e U+0120 U+0122 # G
+0x67 U+011d U+011f U+0121 U+0123 # g
+0x48 U+0124
+0x68 U+0125
+U+0126:H/
+0x48 U+0127 # LATIN SMALL LETTER H BAR -> H
+0x49 U+0128 U+012a U+012c U+012e U+0130 # I
+0x69 U+0129 U+012b U+012d U+012f U+0131 # i
+U+0132:IJ
+U+0133:ij
+0x4a U+0134
+0x6a U+0135
+0x4b U+0136
+0x6b U+0137
+U+0138:kk
+0x4c U+0139 U+013b U+013d # L
+0x6c U+013a U+013c U+013e # l
+U+013f:L.
+U+0140:l.
+U+0141:L
+U+0142:l
+0x4e U+0143 U+0145 U+0147 # N
+0x6e U+0144 U+0146 U+0148 # n
+U+0149:'n
+U+014a:NG
+0x4e U+014B # LATIN SMALL LETTER ENG -> N
+0x4f U+014c U+014e # O
+0x6f U+014d U+014f # o
+U+0150:O"
+U+0151:o"
+U+0152:OE
+U+0153:oe
+0x52 U+0154 U+0156 U+0158 # R
+0x72 U+0155 U+0157 U+0159 # r
+0x53 U+015a U+015c U+015e U+0160 # S
+0x73 U+015b U+015d U+015f U+0161 # s
+0x54 U+0162 U+0164 # T
+0x74 U+0163 U+0165 # t
+U+0166:T/
+U+0167:t/
+0x55 U+0168 U+016a U+016c U+016e U+0172 # U
+0x75 U+0169 U+016b U+016d U+016f U+0173 # u
+U+0170:U"
+U+0171:u"
+0x57 U+0174
+0x77 U+0175
+0x59 U+0176 U+0178
+0x79 U+0177
+0x5a U+0179 U+017b U+017d
+0x7a U+017a U+017c U+017e
+U+017f:s1
+U+0187:C2
+U+0188:c2
+U+0191:F2
+U+0192: f
+U+0198:K2
+U+0199:k2
+U+01a0:O9
+U+01a1:o9
+U+01a2:OI
+U+01a3:oi
+U+01a6:yr
+U+01af:U9
+U+01b0:u9
+U+01b5:Z/
+U+01b6:z/
+U+01b7:ED
+0x41 U+01cd
+0x61 U+01ce
+0x49 U+01cf
+0x69 U+01d0
+0x4f U+01d1
+0x6f U+01d2
+0x55 U+01d3
+0x75 U+01d4
+U+01d5:U:-
+U+01d6:u:-
+U+01d7:U:'
+U+01d8:u:'
+U+01d9:U:<
+U+01da:u:<
+U+01db:U:!
+U+01dc:u:!
+U+01de:A1
+U+01df:a1
+U+01e0:A7
+U+01e1:a7
+U+01e2:A3
+U+01e3:a3
+U+01e4:G/
+U+01e5:g/
+0x47 U+01e6
+0x67 U+01e7
+0x4b U+01e8
+0x6b U+01e9
+0x4f U+01ea
+0x6f U+01eb
+U+01ec:O1
+U+01ed:o1
+U+01ee:EZ
+U+01ef:ez
+0x6a U+01f0
+0x47 U+01f4
+0x67 U+01f5
+U+01fa:AA'
+U+01fb:aa'
+U+01fc:AE'
+U+01fd:ae'
+U+01fe:O/'
+U+01ff:o/'
+U+0200:A!!
+U+0201:a!!
+U+0202:A)
+U+0203:a)
+U+0204:E!!
+U+0205:e!!
+U+0206:E)
+U+0207:e)
+U+0208:I!!
+U+0209:i!!
+U+020a:I)
+U+020b:i)
+U+020c:O!!
+U+020d:o!!
+U+020e:O)
+U+020f:o)
+U+0210:R!!
+U+0211:r!!
+U+0212:R)
+U+0213:r)
+U+0214:U!!
+U+0215:u!!
+U+0216:U)
+U+0217:u)
+
+# IPA symbols, from
+# Linkname: FAQ: Representing IPA Phonetics in ASCII
+# URL: http://www.hpl.hp.com/personal/Evan_Kirshenbaum/IPA/faq.html
+# (corrected in Russian Cyrillic area).
+# (corrected in Greek area).
+#
+0x41 U+0251 # LATIN SMALL LETTER SCRIPT A -> A
+U+0252:A.
+U+0253:b`
+0x4f U+0254 # LATIN SMALL LETTER OPEN O -> O
+U+0256:d.
+U+0257:d`
+U+0258:@<umd>
+0x40 U+0259 # LATIN SMALL LETTER SCHWA -> @
+0x52 U+025A # LATIN SMALL LETTER SCHWA HOOK -> R
+0x45 U+025B # LATIN SMALL LETTER EPSILON -> E
+U+025c:V"
+U+025d:R<umd>
+U+025e:O"
+0x4a U+025F # LATIN SMALL LETTER DOTLESS J BAR -> J
+U+0260:g`
+0x67 U+0261 # LATIN SMALL LETTER SCRIPT G
+0x47 U+0262 # LATIN LETTER SMALL CAPITAL G
+0x51 U+0263 # LATIN SMALL LETTER GAMMA -> Q
+U+0264:o-
+U+0265:j<rnd>
+U+0266:h<?>
+U+0268:i"
+0x49 U+026A U+0269 # LATIN LETTER SMALL CAPITAL I, LATIN SMALL LETTER IOTA
+0x4c U+026B # LATIN SMALL LETTER L WITH MIDDLE TILDE
+0x4c U+026C # LATIN SMALL LETTER L BELT
+U+026d:l.
+U+026e:z<lat>
+U+026f:u-
+U+0270:j<vel>
+0x4d U+0271 # LATIN SMALL LETTER M HOOK
+U+0273:n.
+U+0274:n"
+U+0275:@.
+U+0276:&.
+0x55 U+0277 # LATIN SMALL LETTER CLOSED OMEGA -> U
+0x72 U+0279 # LATIN SMALL LETTER TURNED R -> r
+U+027a:*<lat>
+U+027b:r.
+U+027d:*.
+0x2a U+027E # LATIN SMALL LETTER FISHHOOK R -> *
+U+0280:r"
+0x52 U+0280 # LATIN LETTER SMALL CAPITAL R -> R
+U+0281:g"
+U+0282:s.
+0x53 U+0283 # LATIN SMALL LETTER ESH -> S
+U+0284:J`
+U+0287:t!
+U+0288:t.
+U+0289:u"
+0x55 U+028A # LATIN SMALL LETTER UPSILON -> U
+U+028b:r<lbd>
+0x56 U+028C # LATIN SMALL LETTER TURNED V -> V
+U+028d:w<vls>
+U+028e:l^
+U+028f:I.
+U+0290:z.
+U+0292:ed
+0x3f U+0294 # LATIN SMALL LETTER GLOTTAL STOP -> ?
+U+0295:H<vcd>
+U+0296:l!
+U+0297:c!
+U+0298:p!
+U+0299:b<trl>
+U+029b:G`
+0x6a U+029d # LATIN SMALL LETTER CROSSED-TAIL J
+U+029e:k!
+0x4c U+029F # LATIN LETTER SMALL CAPITAL L
+U+02a0:q`
+U+02b0:<h>
+U+02b1:<?>
+0x3b U+02b2 U+0321
+U+02b3:<r>
+U+02b7:<w>
+U+02bb:;S
+0x60 U+02bc
+U+02c6:^
+U+02c7:'<
+U+02c9:1-
+U+02cb:1!
+0x3a U+02d0
+U+02d8:'(
+U+02d9:'.
+U+02da:'0
+U+02db:';
+U+02dc:~
+U+02dd:'"
+0x7e U+0303 U+0334
+0x2e U+0322 U+0323
+U+0324:<?>
+U+0325:<o>
+0x2d U+0329
+0x5b U+032a
+U+032b:<w>
+U+0334:<H>
+U+0374:'
+U+0375:,
+U+037a:j3
+U+037e:?%
+U+0384:'*
+U+0385:'%
+# Greek letters
+U+0386:A%
+U+0387:.*
+U+0388:E%
+U+0389:Y%
+U+038a:I%
+U+038c:O%
+U+038e:U%
+U+038f:W%
+U+0390:i3
+U+0391:A
+U+0392:B
+U+0393:G
+U+0394:D
+U+0395:E
+U+0396:Z
+U+0397:Y
+U+0398:TH
+U+0399:I
+U+039a:K
+U+039b:L
+U+039c:M
+U+039d:N
+U+039e:C
+U+039f:O
+U+03a0:P
+U+03a1:R
+U+03a3:S
+U+03a4:T
+U+03a5:U
+U+03a6:F
+U+03a7:X
+U+03a8:Q
+U+03a9:W
+U+03aa:J
+U+03ab:V*
+U+03ac:a%
+U+03ad:e%
+U+03ae:y%
+U+03af:i%
+U+03b0:u3
+U+03b1:a
+U+03b2:b
+U+03b3:g
+U+03b4:d
+U+03b5:e
+U+03b6:z
+U+03b7:y
+U+03b8:th
+U+03b9:i
+U+03ba:k
+U+03bb:l
+U+03bc:m
+U+03bd:n
+U+03be:c
+U+03bf:o
+U+03c0:p
+U+03c1:r
+U+03c2:*s
+U+03c3:s
+U+03c4:t
+U+03c5:u
+U+03c6:f
+U+03c7:x
+U+03c8:q
+U+03c9:w
+U+03ca:j
+U+03cb:v*
+U+03cc:o%
+U+03cd:u%
+U+03ce:w%
+# Greek symbols
+U+03d0:beta
+U+03d1:theta
+U+03d2:upsi
+U+03d5:phi
+U+03d6:pi
+U+03da:T3
+U+03db:t3
+U+03dc:M3
+U+03dd:m3
+U+03de:K3
+U+03df:k3
+U+03e0:P3
+U+03e1:p3
+U+03f0:kappa
+U+03f1:rho
+U+03f4:'%
+U+03f5:j3
+# Cyrillic capital letters
+U+0402:D%
+U+0403:G%
+U+0404:IE
+U+0405:DS
+U+0406:I~
+U+0407:YI
+U+0408:J%
+U+0409:LJ
+U+040a:NJ
+U+040b:Ts
+U+040c:KJ
+U+040e:V%
+U+040f:DZ
+# Russian Cyrillic letters, transliterated
+U+0401:YO
+U+0410:A
+U+0411:B
+U+0412:V
+U+0413:G
+U+0414:D
+U+0415:E
+U+0416:ZH
+U+0417:Z
+U+0418:I
+U+0419:J
+U+041a:K
+U+041b:L
+U+041c:M
+U+041d:N
+U+041e:O
+U+041f:P
+U+0420:R
+U+0421:S
+U+0422:T
+U+0423:U
+U+0424:F
+U+0425:H
+U+0426:C
+U+0427:CH
+U+0428:SH
+U+0429:SHCH
+U+042a:~
+U+042b:Y
+U+042c:'
+U+042d:E'
+U+042e:YU
+U+042f:YA
+U+0430:a
+U+0431:b
+U+0432:v
+U+0433:g
+U+0434:d
+U+0435:e
+U+0436:zh
+U+0437:z
+U+0438:i
+U+0439:j
+U+043a:k
+U+043b:l
+U+043c:m
+U+043d:n
+U+043e:o
+U+043f:p
+U+0440:r
+U+0441:s
+U+0442:t
+U+0443:u
+U+0444:f
+U+0445:h
+U+0446:c
+U+0447:ch
+U+0448:sh
+U+0449:shch
+U+044a:~
+U+044b:y
+U+044c:'
+U+044d:e'
+U+044e:yu
+U+044f:ya
+U+0451:yo
+# end of Russian Cyrillic letters.
+# Cyrillic small letters (and some archaic)
+U+0452:d%
+U+0453:g%
+U+0454:ie
+U+0455:ds
+U+0456:i~
+U+0457:yi
+U+0458:j%
+U+0459:lj
+U+045a:nj
+U+045b:ts
+U+045c:kj
+U+045e:v%
+U+045f:dz
+U+0462:E~
+U+0463:e~
+U+046a:O3
+U+046b:o3
+U+0472:~F
+U+0473:~f
+U+0474:~V
+U+0475:~v
+U+0480:C3
+U+0481:c3
+U+0490:G3
+U+0491:g3
+
+# These may make Yiddish slightly more readable, until we have
+# something better.
+
+0x69 U+05b4 # i
+0x61 U+05b7 # a
+0x6f U+05b8 # o
+0x75 U+05bc # u
+0x68 U+05bf # h
+0x3a U+05c2 # :
+
+0x76 U+05f0 # v
+U+05f1:oy
+U+05f2:ey
+
+# U+05d0:A+
+0x23 U+05d0 # '#'
+
+U+05d1:B+
+U+05d2:G+
+U+05d3:D+
+U+05d4:H+
+U+05d5:W+
+U+05d6:Z+
+U+05d7:X+
+U+05d8:Tj
+U+05d9:J+
+U+05da:K%
+U+05db:K+
+U+05dc:L+
+U+05dd:M%
+U+05de:M+
+U+05df:N%
+U+05e0:N+
+U+05e1:S+
+U+05e2:E+
+U+05e3:P%
+U+05e4:P+
+U+05e5:Zj
+U+05e6:ZJ
+U+05e7:Q+
+U+05e8:R+
+U+05e9:Sh
+U+05ea:T+
+
+U+060c:,+
+U+061b:;+
+U+061f:?+
+U+0621:H'
+U+0622:aM
+U+0623:aH
+U+0624:wH
+U+0625:ah
+U+0626:yH
+U+0627:a+
+U+0628:b+
+U+0629:tm
+U+062a:t+
+U+062b:tk
+U+062c:g+
+U+062d:hk
+U+062e:x+
+U+062f:d+
+U+0630:dk
+U+0631:r+
+U+0632:z+
+U+0633:s+
+U+0634:sn
+U+0635:c+
+U+0636:dd
+U+0637:tj
+U+0638:zH
+U+0639:e+
+U+063a:i+
+U+0640:++
+U+0641:f+
+U+0642:q+
+U+0643:k+
+U+0644:l+
+U+0645:m+
+U+0646:n+
+U+0647:h+
+U+0648:w+
+U+0649:j+
+U+064a:y+
+U+064b::+
+U+064c:"+
+U+064d:=+
+U+064e:/+
+U+064f:'+
+U+0650:1+
+U+0651:3+
+U+0652:0+
+U+0660:0a
+U+0661:1a
+U+0662:2a
+U+0663:3a
+U+0664:4a
+U+0665:5a
+U+0666:6a
+U+0667:7a
+U+0668:8a
+U+0669:9a
+U+0670:aS
+U+067e:p+
+U+0681:hH
+U+0686:tc
+U+0698:zj
+U+06a4:v+
+U+06af:gf
+U+06f0:0a
+U+06f1:1a
+U+06f2:2a
+U+06f3:3a
+U+06f4:4a
+U+06f5:5a
+U+06f6:6a
+U+06f7:7a
+U+06f8:8a
+U+06f9:9a
+
+# Replacement strings for Ethiopic characters
+U+1200:he
+U+1201:hu
+U+1202:hi
+U+1203:ha
+U+1204:hE
+0x68 U+1205 #:h
+U+1206:ho
+U+1208:le
+U+1209:lu
+U+120A:li
+U+120B:la
+U+120C:lE
+0x6c U+120D #:l
+U+120E:lo
+U+120F:lWa
+U+1210:He
+U+1211:Hu
+U+1212:Hi
+U+1213:Ha
+U+1214:HE
+0x48 U+1215 #:H
+U+1216:Ho
+U+1217:HWa
+U+1218:me
+U+1219:mu
+U+121A:mi
+U+121B:ma
+U+121C:mE
+0x6d U+121D #:m
+U+121E:mo
+U+121F:mWa
+U+1220:`se
+U+1221:`su
+U+1222:`si
+U+1223:`sa
+U+1224:`sE
+U+1225:`s
+U+1226:`so
+U+1227:`sWa
+U+1228:re
+U+1229:ru
+U+122A:ri
+U+122B:ra
+U+122C:rE
+0x72 U+122D #:r
+U+122E:ro
+U+122F:rWa
+U+1230:se
+U+1231:su
+U+1232:si
+U+1233:sa
+U+1234:sE
+0x73 U+1235 #:s
+U+1236:so
+U+1237:sWa
+U+1238:xe
+U+1239:xu
+U+123A:xi
+U+123B:xa
+U+123C:xE
+U+123D:xa
+U+123E:xo
+U+123F:xWa
+U+1240:qe
+U+1241:qu
+U+1242:qi
+U+1243:qa
+U+1244:qE
+0x71 U+1245 #:q
+U+1246:qo
+U+1248:qWe
+U+124A:qWi
+U+124B:qWa
+U+124C:qWE
+U+124D:qW
+U+1250:Qe
+U+1251:Qu
+U+1252:Qi
+U+1253:Qa
+U+1254:QE
+0x51 U+1255 #:Q
+U+1256:Qo
+U+1258:QWe
+U+125A:QWi
+U+125B:QWa
+U+125C:QWE
+U+125D:QW
+U+1260:be
+U+1261:bu
+U+1262:bi
+U+1263:ba
+U+1264:bE
+0x62 U+1265 #:b
+U+1266:bo
+U+1267:bWa
+U+1268:ve
+U+1269:vu
+U+126A:vi
+U+126B:va
+U+126C:vE
+0x76 U+126D #:v
+U+126E:vo
+U+126F:vWa
+U+1270:te
+U+1271:tu
+U+1272:ti
+U+1273:ta
+U+1274:tE
+0x74 U+1275 #:t
+U+1276:to
+U+1277:tWa
+U+1278:ce
+U+1279:cu
+U+127A:ci
+U+127B:ca
+U+127C:cE
+0x63 U+127D #:c
+U+127E:co
+U+127F:cWa
+U+1280:`he
+U+1281:`hu
+U+1282:`hi
+U+1283:`ha
+U+1284:`hE
+U+1285:`h
+U+1286:`ho
+U+1288:hWe
+U+128A:hWi
+U+128B:hWa
+U+128C:hWE
+U+128D:hW
+U+1290:na
+U+1291:nu
+U+1292:ni
+U+1293:na
+U+1294:nE
+0x6e U+1295 #:n
+U+1296:no
+U+1297:nWa
+U+1298:Ne
+U+1299:Nu
+U+129A:Ni
+U+129B:Na
+U+129C:NE
+0x4e U+129D #:N
+U+129E:No
+U+129F:NWa
+0x65 U+12A0 #:e
+0x75 U+12A1 #:u
+0x69 U+12A2 #:i
+0x61 U+12A3 #:a
+0x45 U+12A4 #:E
+0x49 U+12A5 #:I
+0x6f U+12A6 #:o
+U+12A7:e3
+U+12A8:ke
+U+12A9:ku
+U+12AA:ki
+U+12AB:ka
+U+12AC:kE
+0x6b U+12AD #:k
+U+12AE:ko
+U+12B0:kWe
+U+12B2:kWi
+U+12B3:kWa
+U+12B4:kWE
+U+12B5:kW
+U+12B8:Ke
+U+12B9:Ku
+U+12BA:Ki
+U+12BB:Ka
+U+12BC:KE
+0x4b U+12BD #:K
+U+12BE:Ko
+U+12C0:KWe
+U+12C2:KWi
+U+12C3:KWa
+U+12C4:KWE
+U+12C5:KW
+U+12C8:we
+U+12C9:wu
+U+12CA:wi
+U+12CB:wa
+U+12CC:wE
+0x77 U+12CD #:w
+U+12CE:wo
+U+12D0:`e
+U+12D1:`u
+U+12D2:`i
+U+12D3:`a
+U+12D4:`E
+U+12D5:`I
+U+12D6:`o
+U+12D8:ze
+U+12D9:zu
+U+12DA:zi
+U+12DB:za
+U+12DC:zE
+0x7a U+12DD #:z
+U+12DE:zo
+U+12DF:zWa
+U+12E0:Ze
+U+12E1:Zu
+U+12E2:Zi
+U+12E3:Za
+U+12E4:ZE
+0x5a U+12E5 #:Z
+U+12E6:Zo
+U+12E7:ZWa
+U+12E8:ye
+U+12E9:yu
+U+12EA:yi
+U+12EB:ya
+U+12EC:yE
+0x79 U+12ED #:y
+U+12EE:yo
+U+12EF:yWa
+U+12F0:de
+U+12F1:du
+U+12F2:di
+U+12F3:da
+U+12F4:dE
+0x64 U+12F5 #:d
+U+12F6:do
+U+12F7:dWa
+U+12F8:De
+U+12F9:Du
+U+12FA:Di
+U+12FB:Da
+U+12FC:DE
+0x44 U+12FD #:D
+U+12FE:Do
+U+12FF:DWa
+U+1300:je
+U+1301:ju
+U+1302:ji
+U+1303:ja
+U+1304:jE
+0x6a U+1305 #:j
+U+1306:jo
+U+1307:jWa
+U+1308:ga
+U+1309:gu
+U+130A:gi
+U+130B:ga
+U+130C:gE
+0x67 U+130D #:g
+U+130E:go
+U+1310:gWu
+U+1312:gWi
+U+1313:gWa
+U+1314:gWE
+U+1315:gW
+U+1318:Ge
+U+1319:Gu
+U+131A:Gi
+U+131B:Ga
+U+131C:GE
+0x47 U+131D #:G
+U+131E:Go
+U+131F:GWa
+U+1320:Te
+U+1321:Tu
+U+1322:Ti
+U+1323:Ta
+U+1324:TE
+0x54 U+1325 #:T
+U+1326:To
+U+1327:TWa
+U+1328:Ce
+U+1329:Ca
+U+132A:Cu
+U+132B:Ca
+U+132C:CE
+0x43 U+132D #:C
+U+132E:Co
+U+132F:CWa
+U+1330:Pe
+U+1331:Pu
+U+1332:Pi
+U+1333:Pa
+U+1334:PE
+0x50 U+1335 #:P
+U+1336:Po
+U+1337:PWa
+U+1338:SWe
+U+1339:SWu
+U+133A:SWi
+U+133B:SWa
+U+133C:SWE
+U+133D:SW
+U+133E:SWo
+U+133F:SWa
+U+1340:`Sa
+U+1341:`Su
+U+1342:`Si
+U+1343:`Sa
+U+1344:`SE
+U+1345:`S
+U+1346:`So
+U+1348:fa
+U+1349:fu
+U+134A:fi
+U+134B:fa
+U+134C:fE
+0x6f U+134D #:f
+U+134E:fo
+U+134F:fWa
+U+1350:pe
+U+1351:pu
+U+1352:pi
+U+1353:pa
+U+1354:pE
+0x70 U+1355 #:p
+U+1356:po
+U+1357:pWa
+U+1358:mYa
+U+1359:rYa
+U+135A:fYa
+# ETHIOPIC SPACE U+1360 mapped to ASCII space
+0x20 U+1360
+0x3a U+1361 #::
+U+1362:::
+0x2c U+1363 #:,
+U+1364:;
+U+1365:-:
+U+1366::-
+U+1367:`?
+U+1368::|:
+U+1369:`1
+U+136A:`2
+U+136B:`3
+U+136C:`4
+U+136D:`5
+U+136E:`6
+U+136F:`7
+U+1370:`8
+U+1371:`9
+U+1372:`10
+U+1373:`20
+U+1374:`30
+U+1375:`40
+U+1376:`50
+U+1377:`60
+U+1378:`70
+U+1379:`80
+U+137A:`90
+U+137B:`100
+U+137C:`10000
+
+
+U+1e00:A-0
+U+1e01:a-0
+U+1e02:B.
+U+1e03:b.
+U+1e04:B-.
+U+1e05:b-.
+U+1e06:B_
+U+1e07:b_
+U+1e08:C,'
+U+1e09:c,'
+U+1e0a:D.
+U+1e0b:d.
+U+1e0c:D-.
+U+1e0d:d-.
+U+1e0e:D_
+U+1e0f:d_
+U+1e10:D,
+U+1e11:d,
+U+1e12:D->
+U+1e13:d->
+U+1e14:E-!
+U+1e15:e-!
+U+1e16:E-'
+U+1e17:e-'
+U+1e18:E->
+U+1e19:e->
+U+1e1a:E-?
+U+1e1b:e-?
+U+1e1c:E,(
+U+1e1d:e,(
+U+1e1e:F.
+U+1e1f:f.
+U+1e20:G-
+U+1e21:g-
+U+1e22:H.
+U+1e23:h.
+U+1e24:H-.
+U+1e25:h-.
+U+1e26:H:
+U+1e27:h:
+U+1e28:H,
+U+1e29:h,
+U+1e2a:H-(
+U+1e2b:h-(
+U+1e2c:I-?
+U+1e2d:i-?
+U+1e2e:I:'
+U+1e2f:i:'
+U+1e30:K'
+U+1e31:k'
+U+1e32:K-.
+U+1e33:k-.
+U+1e34:K_
+U+1e35:k_
+U+1e36:L-.
+U+1e37:l-.
+U+1e38:L--.
+U+1e39:l--.
+U+1e3a:L_
+U+1e3b:l_
+U+1e3c:L->
+U+1e3d:l->
+U+1e3e:M'
+U+1e3f:m'
+U+1e40:M.
+U+1e41:m.
+U+1e42:M-.
+U+1e43:m-.
+U+1e44:N.
+U+1e45:n.
+U+1e46:N-.
+U+1e47:n-.
+U+1e48:N_
+U+1e49:n_
+U+1e4a:N->
+U+1e4b:n->
+U+1e4c:O?'
+U+1e4d:o?'
+U+1e4e:O?:
+U+1e4f:o?:
+U+1e50:O-!
+U+1e51:o-!
+U+1e52:O-'
+U+1e53:o-'
+U+1e54:P'
+U+1e55:p'
+U+1e56:P.
+U+1e57:p.
+U+1e58:R.
+U+1e59:r.
+U+1e5a:R-.
+U+1e5b:r-.
+U+1e5c:R--.
+U+1e5d:r--.
+U+1e5e:R_
+U+1e5f:r_
+U+1e60:S.
+U+1e61:s.
+U+1e62:S-.
+U+1e63:s-.
+U+1e64:S'.
+U+1e65:s'.
+U+1e66:S<.
+U+1e67:s<.
+U+1e68:S.-.
+U+1e69:s.-.
+U+1e6a:T.
+U+1e6b:t.
+U+1e6c:T-.
+U+1e6d:t-.
+U+1e6e:T_
+U+1e6f:t_
+U+1e70:T->
+U+1e71:t->
+U+1e72:U--:
+U+1e73:u--:
+U+1e74:U-?
+U+1e75:u-?
+U+1e76:U->
+U+1e77:u->
+U+1e78:U?'
+U+1e79:u?'
+U+1e7a:U-:
+U+1e7b:u-:
+U+1e7c:V?
+U+1e7d:v?
+U+1e7e:V-.
+U+1e7f:v-.
+U+1e80:W!
+U+1e81:w!
+U+1e82:W'
+U+1e83:w'
+U+1e84:W:
+U+1e85:w:
+U+1e86:W.
+U+1e87:w.
+U+1e88:W-.
+U+1e89:w-.
+U+1e8a:X.
+U+1e8b:x.
+U+1e8c:X:
+U+1e8d:x:
+U+1e8e:Y.
+U+1e8f:y.
+U+1e90:Z>
+U+1e91:z>
+U+1e92:Z-.
+U+1e93:z-.
+U+1e94:Z_
+U+1e95:z_
+U+1e96:h_
+U+1e97:t:
+U+1e98:w0
+U+1e99:y0
+U+1ea0:A-.
+U+1ea1:a-.
+U+1ea2:A2
+U+1ea3:a2
+U+1ea4:A>'
+U+1ea5:a>'
+U+1ea6:A>!
+U+1ea7:a>!
+U+1ea8:A>2
+U+1ea9:a>2
+U+1eaa:A>?
+U+1eab:a>?
+U+1eac:A>-.
+U+1ead:a>-.
+U+1eae:A('
+U+1eaf:a('
+U+1eb0:A(!
+U+1eb1:a(!
+U+1eb2:A(2
+U+1eb3:a(2
+U+1eb4:A(?
+U+1eb5:a(?
+U+1eb6:A(-.
+U+1eb7:a(-.
+U+1eb8:E-.
+U+1eb9:e-.
+U+1eba:E2
+U+1ebb:e2
+U+1ebc:E?
+U+1ebd:e?
+U+1ebe:E>'
+U+1ebf:e>'
+U+1ec0:E>!
+U+1ec1:e>!
+U+1ec2:E>2
+U+1ec3:e>2
+U+1ec4:E>?
+U+1ec5:e>?
+U+1ec6:E>-.
+U+1ec7:e>-.
+U+1ec8:I2
+U+1ec9:i2
+U+1eca:I-.
+U+1ecb:i-.
+U+1ecc:O-.
+U+1ecd:o-.
+U+1ece:O2
+U+1ecf:o2
+U+1ed0:O>'
+U+1ed1:o>'
+U+1ed2:O>!
+U+1ed3:o>!
+U+1ed4:O>2
+U+1ed5:o>2
+U+1ed6:O>?
+U+1ed7:o>?
+U+1ed8:O>-.
+U+1ed9:o>-.
+U+1eda:O9'
+U+1edb:o9'
+U+1edc:O9!
+U+1edd:o9!
+U+1ede:O92
+U+1edf:o92
+U+1ee0:O9?
+U+1ee1:o9?
+U+1ee2:O9-.
+U+1ee3:o9-.
+U+1ee4:U-.
+U+1ee5:u-.
+U+1ee6:U2
+U+1ee7:u2
+U+1ee8:U9'
+U+1ee9:u9'
+U+1eea:U9!
+U+1eeb:u9!
+U+1eec:U92
+U+1eed:u92
+U+1eee:U9?
+U+1eef:u9?
+U+1ef0:U9-.
+U+1ef1:u9-.
+U+1ef2:Y!
+U+1ef3:y!
+U+1ef4:Y-.
+U+1ef5:y-.
+U+1ef6:Y2
+U+1ef7:y2
+U+1ef8:Y?
+U+1ef9:y?
+U+1f00:;'
+U+1f01:,'
+U+1f02:;!
+U+1f03:,!
+U+1f04:?;
+U+1f05:?,
+U+1f06:!:
+U+1f07:?:
+U+1fbf:,,
+U+1fc0:?*
+U+1fc1:?:
+U+1fcd:,!
+U+1fce:,'
+U+1fcf:?,
+U+1fdd:;!
+U+1fde:;'
+U+1fdf:?;
+U+1fed:!:
+U+1fef:!*
+U+1ffe:;;
+# General punctuation:
+0x20 U+2000 U+2002 U+2004-U+2009 # spaces
+U+2001:
+U+2003:
+U+200e:(->)
+U+200f:(<-)
+U+200a:
+0x2d U+2010 U+2013-U+2015 # hyphen-like
+0x2d U+2011
+U+2016:||
+U+2017:=2
+0x60 U+2018 # left single quotation mark <`>
+0x27 U+2019-U+201b # various single quotation marks <'>
+0x22 U+201c-U+201f # various double quotation marks <">
+U+2020:/-
+U+2021:/=
+U+2022: o
+U+2025:..
+U+2026:...
+
+# Dont wanna see these:
+# POP DIRECTIONAL FORMATTING 202C
+U+202c:
+# LEFT-TO-RIGHT OVERRIDE 202D
+U+202d:
+
+U+2030: 0/00
+U+2032:'
+U+2033:''
+U+2034:'''
+U+2035:`
+U+2036:``
+U+2037:```
+U+2038:Ca
+U+2039:<
+U+203a:>
+U+203b::X
+U+203c:!!
+U+203e:'-
+0x2d U+2043 # HYPHEN BULLET ?
+U+2044:/
+# end of General punctuation.
+U+2070:^0
+U+2074:^4
+U+2075:^5
+U+2076:^6
+U+2077:^7
+U+2078:^8
+U+2079:^9
+U+207a:^+
+U+207b:^-
+U+207c:^=
+U+207d:^(
+U+207e:^)
+U+207f:^n
+U+2080:_0
+U+2081:_1
+U+2082:_2
+U+2083:_3
+U+2084:_4
+U+2085:_5
+U+2086:_6
+U+2087:_7
+U+2088:_8
+U+2089:_9
+U+208a:_+
+U+208b:_-
+U+208c:_=
+U+208d:(
+U+208e:)
+# Old euro currency sign glyph:
+#U+20A0:CE
+U+20a3:Ff
+U+20a4:Li
+U+20a7:Pt
+U+20a9:W=
+# New euro currency sign glyph:
+U+20AC:EUR
+U+2103:oC
+U+2105:c/o
+U+2109:oF
+U+2111:Im
+U+2116:No.
+U+2117:PO
+U+2118:P
+U+211C:Re
+U+211e:Rx
+U+2120:(SM)
+# TRADE MARK SIGN:
+U+2122:(TM)
+U+2126:Ohm
+0x4b U+212A # Kelvin sign - K
+U+212b:Ang.
+U+212E:est.
+U+2135:Aleph
+U+2136:Bet
+U+2137:Gimel
+U+2138:Dalet
+U+2153: 1/3
+U+2154: 2/3
+U+2155: 1/5
+U+2156: 2/5
+U+2157: 3/5
+U+2158: 4/5
+U+2159: 1/6
+U+215a: 5/6
+U+215b: 1/8
+U+215c: 3/8
+U+215d: 5/8
+U+215e: 7/8
+U+2160:I
+U+2161:II
+U+2162:III
+U+2163:IV
+U+2164:V
+U+2165:VI
+U+2166:VII
+U+2167:VIII
+U+2168:IX
+U+2169:X
+U+216a:XI
+U+216b:XII
+U+216c:L
+U+216d:C
+U+216e:D
+U+216f:M
+U+2170:i
+U+2171:ii
+U+2172:iii
+U+2173:iv
+U+2174:v
+U+2175:vi
+U+2176:vii
+U+2177:viii
+U+2178:ix
+U+2179:x
+U+217a:xi
+U+217b:xii
+U+217c:l
+U+217d:c
+U+217e:d
+U+217f:m
+U+2180:1000RCD
+U+2181:5000R
+U+2182:10000R
+U+2190:<-
+U+2191:-^
+U+2192:->
+U+2193:-v
+U+2194:<->
+U+2195:UD
+U+2196:<!!
+U+2197://>
+U+2198:!!>
+U+2199:<//
+U+21a8:UD-
+U+21B5:RET
+U+21c0:>V
+U+21d0:<=
+U+21d1:^^
+U+21d2:=>
+U+21d3:vv
+U+21d4:<=>
+U+2200:FA
+U+2202:\partial
+U+2203:TE
+U+2205:{}
+U+2206:decr.
+U+2207:Nabla
+U+2208:(-
+U+2209:!(-
+U+220b:-)
+U+220f:\prod
+U+2211:\sum
+U+2212: -
+U+2213:-/+
+U+2214:.+
+U+2217:*
+U+2218:Ob
+U+2219:sb
+U+221a: SQRT
+U+221d:0(
+U+221e:infty
+U+221f:-L
+U+2220:-V
+U+2225:PP
+U+2227:AND
+U+2228:OR
+U+2229:(U
+U+222a:)U
+U+222b:\int
+U+222c:DI
+U+222e:Io
+U+2234:.:
+U+2235::.
+U+2236::R
+U+2237:::
+U+223c:?1
+U+223e:CG
+U+2243:?-
+U+2245:?=
+# ALMOST EQUAL TO:
+U+2248:~=
+U+224c:=?
+U+2253:HI
+U+2260:!=
+U+2261:=3
+U+2264:=<
+U+2265:>=
+U+226a:<<
+U+226b:>>
+U+226e:!<
+U+226f:!>
+U+2282:(C
+U+2283:)C
+U+2282:!(C
+U+2286:(_
+U+2287:)_
+U+2295:(+)
+U+2297:(x)
+U+2299:0.
+U+229a:02
+U+22a5:-T
+U+22c5:.P
+U+22ee::3
+U+22ef:.3
+U+2302:Eh
+U+2308:<7
+U+2309:>7
+U+230a:7<
+U+230b:7>
+U+2310:NI
+U+2312:(A
+U+2315:TR
+U+2318:88
+U+2320:Iu
+U+2321:Il
+U+2323::)
+U+2329:</
+U+232a:/>
+U+2423:Vs
+U+2440:1h
+U+2441:3h
+U+2442:2h
+U+2443:4h
+U+2446:1j
+U+2447:2j
+U+2448:3j
+U+2449:4j
+U+2460:1-o
+U+2461:2-o
+U+2462:3-o
+U+2463:4-o
+U+2464:5-o
+U+2465:6-o
+U+2466:7-o
+U+2467:8-o
+U+2468:9-o
+U+2469:10-o
+U+246a:11-o
+U+246b:12-o
+U+246c:13-o
+U+246d:14-o
+U+246e:15-o
+U+246f:16-o
+U+2470:17-o
+U+2471:18-o
+U+2472:19-o
+U+2473:20-o
+U+2474:(1)
+U+2475:(2)
+U+2476:(3)
+U+2477:(4)
+U+2478:(5)
+U+2479:(6)
+U+247a:(7)
+U+247b:(8)
+U+247c:(9)
+U+247d:(10)
+U+247e:(11)
+U+247f:(12)
+U+2480:(13)
+U+2481:(14)
+U+2482:(15)
+U+2483:(16)
+U+2484:(17)
+U+2485:(18)
+U+2486:(19)
+U+2487:(20)
+U+2488:1.
+U+2489:2.
+U+248a:3.
+U+248b:4.
+U+248c:5.
+U+248d:6.
+U+248e:7.
+U+248f:8.
+U+2490:9.
+U+2491:10.
+U+2492:11.
+U+2493:12.
+U+2494:13.
+U+2495:14.
+U+2496:15.
+U+2497:16.
+U+2498:17.
+U+2499:18.
+U+249a:19.
+U+249b:20.
+U+249c:(a)
+U+249d:(b)
+U+249e:(c)
+U+249f:(d)
+U+24a0:(e)
+U+24a1:(f)
+U+24a2:(g)
+U+24a3:(h)
+U+24a4:(i)
+U+24a5:(j)
+U+24a6:(k)
+U+24a7:(l)
+U+24a8:(m)
+U+24a9:(n)
+U+24aa:(o)
+U+24ab:(p)
+U+24ac:(q)
+U+24ad:(r)
+U+24ae:(s)
+U+24af:(t)
+U+24b0:(u)
+U+24b1:(v)
+U+24b2:(w)
+U+24b3:(x)
+U+24b4:(y)
+U+24b5:(z)
+U+24b6:A-o
+U+24b7:B-o
+U+24b8:C-o
+U+24b9:D-o
+U+24ba:E-o
+U+24bb:F-o
+U+24bc:G-o
+U+24bd:H-o
+U+24be:I-o
+U+24bf:J-o
+U+24c0:K-o
+U+24c1:L-o
+U+24c2:M-o
+U+24c3:N-o
+U+24c4:O-o
+U+24c5:P-o
+U+24c6:Q-o
+U+24c7:R-o
+U+24c8:S-o
+U+24c9:T-o
+U+24ca:U-o
+U+24cb:V-o
+U+24cc:W-o
+U+24cd:X-o
+U+24ce:Y-o
+U+24cf:Z-o
+U+24d0:a-o
+U+24d1:b-o
+U+24d2:c-o
+U+24d3:d-o
+U+24d4:e-o
+U+24d5:f-o
+U+24d6:g-o
+U+24d7:h-o
+U+24d8:i-o
+U+24d9:j-o
+U+24da:k-o
+U+24db:l-o
+U+24dc:m-o
+U+24dd:n-o
+U+24de:o-o
+U+24df:p-o
+U+24e0:q-o
+U+24e1:r-o
+U+24e2:s-o
+U+24e3:t-o
+U+24e4:u-o
+U+24e5:v-o
+U+24e6:w-o
+U+24e7:x-o
+U+24e8:y-o
+U+24e9:z-o
+U+24ea:0-o
+U+2500:-
+U+2501:=
+U+2502:|
+U+2503:|
+U+2504:-
+U+2505:=
+U+2506:|
+U+2507:|
+U+2508:-
+U+2509:=
+U+250a:|
+U+250b:|
+0x2b U+250c-U+256c # box drawings, use +
+U+2571:/
+U+2572:\
+U+2580:TB
+U+2584:LB
+U+2588:FB
+U+258c:lB
+U+2590:RB
+U+2591:.S
+U+2592::S
+U+2593:?S
+U+25a0:fS
+U+25a1:OS
+U+25a2:RO
+U+25a3:Rr
+U+25a4:RF
+U+25a5:RY
+U+25a6:RH
+U+25a7:RZ
+U+25a8:RK
+U+25a9:RX
+U+25aa:sB
+U+25ac:SR
+U+25ad:Or
+U+25b2:UT
+U+25b3:uT
+U+25b6:PR
+U+25b7:Tr
+U+25ba:PR
+U+25bc:Dt
+U+25bd:dT
+U+25c0:PL
+U+25c1:Tl
+U+25c4:PL
+U+25c6:Db
+U+25c7:Dw
+U+25ca:LZ
+U+25cb:0m
+U+25ce:0o
+U+25cf:0M
+U+25d0:0L
+U+25d1:0R
+U+25d8:Sn
+U+25d9:Ic
+U+25e2:Fd
+U+25e3:Bd
+U+25ef:Ci
+U+2605:*2
+U+2606:*1
+U+260e:TEL
+U+260f:tel
+U+261c:<--
+U+261e:-->
+U+263a::-)
+U+263b:(-:
+U+263c:SU
+U+2640:f.
+U+2642:m.
+U+2660:cS
+U+2661:cH
+U+2662:cD
+U+2663:cC
+U+2664:cS-
+U+2665:cH-
+U+2666:cD-
+U+2667:cC-
+U+2669:Md
+U+266a:M8
+U+266b:M2
+U+266c:M16
+U+266d:b
+U+266e:Mx
+U+266f:#
+0x58 U+2713 U+2717 # check marks -> x
+U+2720:-X
+# CJK area:
+0x20 U+3000 # ideographic space
+U+3001:,_
+U+3002:._
+U+3003:+"
+U+3004:JIS
+U+3005:*_
+U+3006:;_
+U+3007:0_
+U+300a:<+
+U+300b:>+
+U+300c:<'
+U+300d:>'
+U+300e:<"
+U+300f:>"
+U+3010:("
+U+3011:)"
+U+3012:=T
+U+3013:=_
+U+3014:('
+U+3015:)'
+U+3016:(I
+U+3017:)I
+U+301c:-?
+U+3020:=T:)
+U+3041:A5
+U+3042:a5
+U+3043:I5
+U+3044:i5
+U+3045:U5
+U+3046:u5
+U+3047:E5
+U+3048:e5
+U+3049:O5
+U+304a:o5
+U+304b:ka
+U+304c:ga
+U+304d:ki
+U+304e:gi
+U+304f:ku
+U+3050:gu
+U+3051:ke
+U+3052:ge
+U+3053:ko
+U+3054:go
+U+3055:sa
+U+3056:za
+U+3057:si
+U+3058:zi
+U+3059:su
+U+305a:zu
+U+305b:se
+U+305c:ze
+U+305d:so
+U+305e:zo
+U+305f:ta
+U+3060:da
+U+3061:ti
+U+3062:di
+U+3063:tU
+U+3064:tu
+U+3065:du
+U+3066:te
+U+3067:de
+U+3068:to
+U+3069:do
+U+306a:na
+U+306b:ni
+U+306c:nu
+U+306d:ne
+U+306e:no
+U+306f:ha
+U+3070:ba
+U+3071:pa
+U+3072:hi
+U+3073:bi
+U+3074:pi
+U+3075:hu
+U+3076:bu
+U+3077:pu
+U+3078:he
+U+3079:be
+U+307a:pe
+U+307b:ho
+U+307c:bo
+U+307d:po
+U+307e:ma
+U+307f:mi
+U+3080:mu
+U+3081:me
+U+3082:mo
+U+3083:yA
+U+3084:ya
+U+3085:yU
+U+3086:yu
+U+3087:yO
+U+3088:yo
+U+3089:ra
+U+308a:ri
+U+308b:ru
+U+308c:re
+U+308d:ro
+U+308e:wA
+U+308f:wa
+U+3090:wi
+U+3091:we
+U+3092:wo
+U+3093:n5
+U+3094:vu
+U+309b:"5
+U+309c:05
+U+309d:*5
+U+309e:+5
+U+30a1:a6
+U+30a2:A6
+U+30a3:i6
+U+30a4:I6
+U+30a5:u6
+U+30a6:U6
+U+30a7:e6
+U+30a8:E6
+U+30a9:o6
+U+30aa:O6
+U+30ab:Ka
+U+30ac:Ga
+U+30ad:Ki
+U+30ae:Gi
+U+30af:Ku
+U+30b0:Gu
+U+30b1:Ke
+U+30b2:Ge
+U+30b3:Ko
+U+30b4:Go
+U+30b5:Sa
+U+30b6:Za
+U+30b7:Si
+U+30b8:Zi
+U+30b9:Su
+U+30ba:Zu
+U+30bb:Se
+U+30bc:Ze
+U+30bd:So
+U+30be:Zo
+U+30bf:Ta
+U+30c0:Da
+U+30c1:Ti
+U+30c2:Di
+U+30c3:TU
+U+30c4:Tu
+U+30c5:Du
+U+30c6:Te
+U+30c7:De
+U+30c8:To
+U+30c9:Do
+U+30ca:Na
+U+30cb:Ni
+U+30cc:Nu
+U+30cd:Ne
+U+30ce:No
+U+30cf:Ha
+U+30d0:Ba
+U+30d1:Pa
+U+30d2:Hi
+U+30d3:Bi
+U+30d4:Pi
+U+30d5:Hu
+U+30d6:Bu
+U+30d7:Pu
+U+30d8:He
+U+30d9:Be
+U+30da:Pe
+U+30db:Ho
+U+30dc:Bo
+U+30dd:Po
+U+30de:Ma
+U+30df:Mi
+U+30e0:Mu
+U+30e1:Me
+U+30e2:Mo
+U+30e3:YA
+U+30e4:Ya
+U+30e5:YU
+U+30e6:Yu
+U+30e7:YO
+U+30e8:Yo
+U+30e9:Ra
+U+30ea:Ri
+U+30eb:Ru
+U+30ec:Re
+U+30ed:Ro
+U+30ee:WA
+U+30ef:Wa
+U+30f0:Wi
+U+30f1:We
+U+30f2:Wo
+U+30f3:N6
+U+30f4:Vu
+U+30f5:KA
+U+30f6:KE
+U+30f7:Va
+U+30f8:Vi
+U+30f9:Ve
+U+30fa:Vo
+U+30fb:.6
+U+30fc:-6
+U+30fd:*6
+U+30fe:+6
+U+3105:b4
+U+3106:p4
+U+3107:m4
+U+3108:f4
+U+3109:d4
+U+310a:t4
+U+310b:n4
+U+310c:l4
+U+310d:g4
+U+310e:k4
+U+310f:h4
+U+3110:j4
+U+3111:q4
+U+3112:x4
+U+3113:zh
+U+3114:ch
+U+3115:sh
+U+3116:r4
+U+3117:z4
+U+3118:c4
+U+3119:s4
+U+311a:a4
+U+311b:o4
+U+311c:e4
+U+311d:eh4
+U+311e:ai
+U+311f:ei
+U+3120:au
+U+3121:ou
+U+3122:an
+U+3123:en
+U+3124:aN
+U+3125:eN
+U+3126:er
+U+3127:i4
+U+3128:u4
+U+3129:iu
+U+312a:v4
+U+312b:nG
+U+312c:gn
+U+321c:(JU)
+U+3220:1c
+U+3221:2c
+U+3222:3c
+U+3223:4c
+U+3224:5c
+U+3225:6c
+U+3226:7c
+U+3227:8c
+U+3228:9c
+U+3229:10c
+U+327f:KSC
+U+33c2:am
+U+33d8:pm
+#
+#
+#There are four special ranges of characters that are represented only by
+#their start and end characters <...>
+#
+# The CJK Ideographs Area (U+4E00 - U+9FFF)
+# The Hangul Syllables Area (U+AC00 - U+D7A3)
+# The Surrogates Area (U+D800 - U+DFFF)
+# The Private Use Area (U+E000 - U+F8FF)
+#
+#
+U+fb00:ff
+U+fb01:fi
+U+fb02:fl
+U+fb03:ffi
+U+fb04:ffl
+U+fb05:St
+U+fb06:st
+U+fe7d:3+;
+U+fe82:aM.
+U+fe84:aH.
+U+fe88:ah.
+U+fe8d:a+-
+U+fe8e:a+.
+U+fe8f:b+-
+U+fe90:b+.
+U+fe91:b+,
+U+fe92:b+;
+U+fe93:tm-
+U+fe94:tm.
+U+fe95:t+-
+U+fe96:t+.
+U+fe97:t+,
+U+fe98:t+;
+U+fe99:tk-
+U+fe9a:tk.
+U+fe9b:tk,
+U+fe9c:tk;
+U+fe9d:g+-
+U+fe9e:g+.
+U+fe9f:g+,
+U+fea0:g+;
+U+fea1:hk-
+U+fea2:hk.
+U+fea3:hk,
+U+fea4:hk;
+U+fea5:x+-
+U+fea6:x+.
+U+fea7:x+,
+U+fea8:x+;
+U+fea9:d+-
+U+feaa:d+.
+U+feab:dk-
+U+feac:dk.
+U+fead:r+-
+U+feae:r+.
+U+feaf:z+-
+U+feb0:z+.
+U+feb1:s+-
+U+feb2:s+.
+U+feb3:s+,
+U+feb4:s+;
+U+feb5:sn-
+U+feb6:sn.
+U+feb7:sn,
+U+feb8:sn;
+U+feb9:c+-
+U+feba:c+.
+U+febb:c+,
+U+febc:c+;
+U+febd:dd-
+U+febe:dd.
+U+febf:dd,
+U+fec0:dd;
+U+fec1:tj-
+U+fec2:tj.
+U+fec3:tj,
+U+fec4:tj;
+U+fec5:zH-
+U+fec6:zH.
+U+fec7:zH,
+U+fec8:zH;
+U+fec9:e+-
+U+feca:e+.
+U+fecb:e+,
+U+fecc:e+;
+U+fecd:i+-
+U+fece:i+.
+U+fecf:i+,
+U+fed0:i+;
+U+fed1:f+-
+U+fed2:f+.
+U+fed3:f+,
+U+fed4:f+;
+U+fed5:q+-
+U+fed6:q+.
+U+fed7:q+,
+U+fed8:q+;
+U+fed9:k+-
+U+feda:k+.
+U+fedb:k+,
+U+fedc:k+;
+U+fedd:l+-
+U+fede:l+.
+U+fedf:l+,
+U+fee0:l+;
+U+fee1:m+-
+U+fee2:m+.
+U+fee3:m+,
+U+fee4:m+;
+U+fee5:n+-
+U+fee6:n+.
+U+fee7:n+,
+U+fee8:n+;
+U+fee9:h+-
+U+feea:h+.
+U+feeb:h+,
+U+feec:h+;
+U+feed:w+-
+U+feee:w+.
+U+feef:j+-
+U+fef0:j+.
+U+fef1:y+-
+U+fef2:y+.
+U+fef3:y+,
+U+fef4:y+;
+U+fef5:lM-
+U+fef6:lM.
+U+fef7:lH-
+U+fef8:lH.
+U+fef9:lh-
+U+fefa:lh.
+U+fefb:la-
+U+fefc:la.
+
+# Symbols for C0 and C1 control characters, in case they get through...
+U+0000:NUL
+U+0001:SH
+U+0002:SX
+U+0003:EX
+U+0004:ET
+U+0005:ENQ
+U+0006:AK
+U+0007:BL
+U+0008:BS
+U+0009:HT
+U+000a:LF
+U+000b:VT
+U+000c:FF
+U+000d:CR
+U+000e:SO
+U+000f:SI
+U+0010:DL
+U+0011:DC1
+U+0012:DC2
+U+0013:DC3
+U+0014:DC4
+U+0015:NAK
+U+0016:SYN
+U+0017:EB
+U+0018:CN
+U+0019:EM
+U+001a:SB
+U+001b:ESC
+U+001c:FS
+U+001d:GS
+U+001e:RS
+U+001f:US
+U+007f:DT
+# Most of these characters (80-9F) may be inflicted on us
+# by MS FrontPages which uses Unicode notation such as &#153;
+# but there are no assigned letters in Unicode 128-159 range.
+# It is assumed in the code that those codepoints are from windows-1252.
+#U+0080:PA
+#U+0081:HO
+#U+0082:BH
+#U+0083:NH
+#U+0084:IN
+#U+0085:NL
+#U+0086:SA
+#U+0087:ES
+#U+0088:HS
+#U+0089:HJ
+#U+008a:VS
+#U+008b:PD
+#U+008c:PU
+#U+008d:RI
+#U+008e:SS2
+#U+008f:SS3
+#U+0090:DCS
+#U+0091:P1
+#U+0092:P2
+#U+0093:TS
+#U+0094:CC
+#U+0095:MW
+#U+0096:SG
+#U+0097:EG
+#U+0098:SS
+#U+0099:GC
+#U+009a:SC
+#U+009b:CSI
+#U+009c:ST
+#U+009d:OC
+#U+009e:PM
+#U+009f:AC
+
+# Let's try to show a question mark for character that cannot
+# be shown. U+fffd is used for invalid characters.
+# It works, but let's stick with UHHH representatiion. - FM
+#U+fffd:?
diff --git a/Unicode/8859_1.cp b/Unicode/8859_1.cp
new file mode 100644
index 0000000..efaae2a
--- /dev/null
+++ b/Unicode/8859_1.cp
@@ -0,0 +1,193 @@
+ISO 8859-1 (Western European)
+"ISO-8859-1", "8859-1", "iso-ir-100", "latin1", "l1", "819","iso-latin1"
+0x20 0x0020 #SPACE
+0x21 0x0021 #EXCLAMATION MARK
+0x22 0x0022 #QUOTATION MARK
+0x23 0x0023 #NUMBER SIGN
+0x24 0x0024 #DOLLAR SIGN
+0x25 0x0025 #PERCENT SIGN
+0x26 0x0026 #AMPERSAND
+0x27 0x0027 #APOSTROPHE
+0x28 0x0028 #LEFT PARENTHESIS
+0x29 0x0029 #RIGHT PARENTHESIS
+0x2A 0x002A #ASTERISK
+0x2B 0x002B #PLUS SIGN
+0x2C 0x002C #COMMA
+0x2D 0x002D #HYPHEN-MINUS
+0x2E 0x002E #FULL STOP
+0x2F 0x002F #SOLIDUS
+0x30 0x0030 #DIGIT ZERO
+0x31 0x0031 #DIGIT ONE
+0x32 0x0032 #DIGIT TWO
+0x33 0x0033 #DIGIT THREE
+0x34 0x0034 #DIGIT FOUR
+0x35 0x0035 #DIGIT FIVE
+0x36 0x0036 #DIGIT SIX
+0x37 0x0037 #DIGIT SEVEN
+0x38 0x0038 #DIGIT EIGHT
+0x39 0x0039 #DIGIT NINE
+0x3A 0x003A #COLON
+0x3B 0x003B #SEMICOLON
+0x3C 0x003C #LESS-THAN SIGN
+0x3D 0x003D #EQUALS SIGN
+0x3E 0x003E #GREATER-THAN SIGN
+0x3F 0x003F #QUESTION MARK
+0x40 0x0040 #COMMERCIAL AT
+0x41 0x0041 #LATIN CAPITAL LETTER A
+0x42 0x0042 #LATIN CAPITAL LETTER B
+0x43 0x0043 #LATIN CAPITAL LETTER C
+0x44 0x0044 #LATIN CAPITAL LETTER D
+0x45 0x0045 #LATIN CAPITAL LETTER E
+0x46 0x0046 #LATIN CAPITAL LETTER F
+0x47 0x0047 #LATIN CAPITAL LETTER G
+0x48 0x0048 #LATIN CAPITAL LETTER H
+0x49 0x0049 #LATIN CAPITAL LETTER I
+0x4A 0x004A #LATIN CAPITAL LETTER J
+0x4B 0x004B #LATIN CAPITAL LETTER K
+0x4C 0x004C #LATIN CAPITAL LETTER L
+0x4D 0x004D #LATIN CAPITAL LETTER M
+0x4E 0x004E #LATIN CAPITAL LETTER N
+0x4F 0x004F #LATIN CAPITAL LETTER O
+0x50 0x0050 #LATIN CAPITAL LETTER P
+0x51 0x0051 #LATIN CAPITAL LETTER Q
+0x52 0x0052 #LATIN CAPITAL LETTER R
+0x53 0x0053 #LATIN CAPITAL LETTER S
+0x54 0x0054 #LATIN CAPITAL LETTER T
+0x55 0x0055 #LATIN CAPITAL LETTER U
+0x56 0x0056 #LATIN CAPITAL LETTER V
+0x57 0x0057 #LATIN CAPITAL LETTER W
+0x58 0x0058 #LATIN CAPITAL LETTER X
+0x59 0x0059 #LATIN CAPITAL LETTER Y
+0x5A 0x005A #LATIN CAPITAL LETTER Z
+0x5B 0x005B #LEFT SQUARE BRACKET
+0x5C 0x005C #REVERSE SOLIDUS
+0x5D 0x005D #RIGHT SQUARE BRACKET
+0x5E 0x005E #CIRCUMFLEX ACCENT
+0x5F 0x005F #LOW LINE
+0x60 0x0060 #GRAVE ACCENT
+0x61 0x0061 #LATIN SMALL LETTER A
+0x62 0x0062 #LATIN SMALL LETTER B
+0x63 0x0063 #LATIN SMALL LETTER C
+0x64 0x0064 #LATIN SMALL LETTER D
+0x65 0x0065 #LATIN SMALL LETTER E
+0x66 0x0066 #LATIN SMALL LETTER F
+0x67 0x0067 #LATIN SMALL LETTER G
+0x68 0x0068 #LATIN SMALL LETTER H
+0x69 0x0069 #LATIN SMALL LETTER I
+0x6A 0x006A #LATIN SMALL LETTER J
+0x6B 0x006B #LATIN SMALL LETTER K
+0x6C 0x006C #LATIN SMALL LETTER L
+0x6D 0x006D #LATIN SMALL LETTER M
+0x6E 0x006E #LATIN SMALL LETTER N
+0x6F 0x006F #LATIN SMALL LETTER O
+0x70 0x0070 #LATIN SMALL LETTER P
+0x71 0x0071 #LATIN SMALL LETTER Q
+0x72 0x0072 #LATIN SMALL LETTER R
+0x73 0x0073 #LATIN SMALL LETTER S
+0x74 0x0074 #LATIN SMALL LETTER T
+0x75 0x0075 #LATIN SMALL LETTER U
+0x76 0x0076 #LATIN SMALL LETTER V
+0x77 0x0077 #LATIN SMALL LETTER W
+0x78 0x0078 #LATIN SMALL LETTER X
+0x79 0x0079 #LATIN SMALL LETTER Y
+0x7A 0x007A #LATIN SMALL LETTER Z
+0x7B 0x007B #LEFT CURLY BRACKET
+0x7C 0x007C #VERTICAL LINE
+0x7D 0x007D #RIGHT CURLY BRACKET
+0x7E 0x007E #TILDE
+0xA0 0x00A0 #NO-BREAK SPACE
+0xA1 0x00A1 #INVERTED EXCLAMATION MARK
+0xA2 0x00A2 #CENT SIGN
+0xA3 0x00A3 #POUND SIGN
+0xA4 0x00A4 #CURRENCY SIGN
+0xA5 0x00A5 #YEN SIGN
+0xA6 0x00A6 #BROKEN BAR
+0xA7 0x00A7 #SECTION SIGN
+0xA8 0x00A8 #DIAERESIS
+0xA9 0x00A9 #COPYRIGHT SIGN
+0xAA 0x00AA #FEMININE ORDINAL INDICATOR
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC 0x00AC #NOT SIGN
+0xAD 0x00AD #SOFT HYPHEN
+0xAE 0x00AE #REGISTERED SIGN
+0xAF 0x00AF #MACRON
+0xB0 0x00B0 #DEGREE SIGN
+0xB1 0x00B1 #PLUS-MINUS SIGN
+0xB2 0x00B2 #SUPERSCRIPT TWO
+0xB3 0x00B3 #SUPERSCRIPT THREE
+0xB4 0x00B4 #ACUTE ACCENT
+0xB5 0x00B5 #MICRO SIGN
+0xB6 0x00B6 #PILCROW SIGN
+0xB7 0x00B7 #MIDDLE DOT
+0xB8 0x00B8 #CEDILLA
+0xB9 0x00B9 #SUPERSCRIPT ONE
+0xBA 0x00BA #MASCULINE ORDINAL INDICATOR
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC 0x00BC #VULGAR FRACTION ONE QUARTER
+0xBD 0x00BD #VULGAR FRACTION ONE HALF
+0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS
+0xBF 0x00BF #INVERTED QUESTION MARK
+0xC0 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE
+0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE
+0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3 0x00C3 #LATIN CAPITAL LETTER A WITH TILDE
+0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6 0x00C6 #LATIN CAPITAL LETTER AE
+0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE
+0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC 0x00CC #LATIN CAPITAL LETTER I WITH GRAVE
+0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE
+0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0 0x00D0 #LATIN CAPITAL LETTER ETH
+0xD1 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE
+0xD2 0x00D2 #LATIN CAPITAL LETTER O WITH GRAVE
+0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE
+0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE
+0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7 0x00D7 #MULTIPLICATION SIGN
+0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE
+0xD9 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE
+0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE
+0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE 0x00DE #LATIN CAPITAL LETTER THORN
+0xDF 0x00DF #LATIN SMALL LETTER SHARP S
+0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE
+0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE
+0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3 0x00E3 #LATIN SMALL LETTER A WITH TILDE
+0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS
+0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE
+0xE6 0x00E6 #LATIN SMALL LETTER AE
+0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA
+0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS
+0xEC 0x00EC #LATIN SMALL LETTER I WITH GRAVE
+0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE
+0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS
+0xF0 0x00F0 #LATIN SMALL LETTER ETH
+0xF1 0x00F1 #LATIN SMALL LETTER N WITH TILDE
+0xF2 0x00F2 #LATIN SMALL LETTER O WITH GRAVE
+0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE
+0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE
+0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS
+0xF7 0x00F7 #DIVISION SIGN
+0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE
+0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE
+0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE
+0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE
+0xFE 0x00FE #LATIN SMALL LETTER THORN
+0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS
diff --git a/Unicode/8859_10.cp b/Unicode/8859_10.cp
new file mode 100644
index 0000000..b589fd7
--- /dev/null
+++ b/Unicode/8859_10.cp
@@ -0,0 +1,305 @@
+ISO 8859-10 (Lappish, Nordic, Eskimo)
+"ISO-8859-10", "8859-10"
+#
+# Name: ISO/IEC 8859-10:1998 to Unicode
+# Unicode version: 3.0
+# Table version: 1.1
+# Table format: Format A
+# Date: 1999 October 11
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
+#
+# General notes:
+#
+# This table contains the data the Unicode Consortium has on how
+# ISO/IEC 8859-10:1998 characters map into Unicode.
+#
+# Format: Three tab-separated columns
+# Column #1 is the ISO/IEC 8859-10 code (in hex as 0xXX)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 the Unicode name (follows a comment sign, '#')
+#
+# The entries are in ISO/IEC 8859-10 order.
+#
+# Version history
+# 1.0 version new.
+# 1.1 corrected mistake in mapping of 0xA4
+#
+# Updated versions of this file may be found in:
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
+#
+0x00 0x0000 # NULL
+0x01 0x0001 # START OF HEADING
+0x02 0x0002 # START OF TEXT
+0x03 0x0003 # END OF TEXT
+0x04 0x0004 # END OF TRANSMISSION
+0x05 0x0005 # ENQUIRY
+0x06 0x0006 # ACKNOWLEDGE
+0x07 0x0007 # BELL
+0x08 0x0008 # BACKSPACE
+0x09 0x0009 # HORIZONTAL TABULATION
+0x0A 0x000A # LINE FEED
+0x0B 0x000B # VERTICAL TABULATION
+0x0C 0x000C # FORM FEED
+0x0D 0x000D # CARRIAGE RETURN
+0x0E 0x000E # SHIFT OUT
+0x0F 0x000F # SHIFT IN
+0x10 0x0010 # DATA LINK ESCAPE
+0x11 0x0011 # DEVICE CONTROL ONE
+0x12 0x0012 # DEVICE CONTROL TWO
+0x13 0x0013 # DEVICE CONTROL THREE
+0x14 0x0014 # DEVICE CONTROL FOUR
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE
+0x16 0x0016 # SYNCHRONOUS IDLE
+0x17 0x0017 # END OF TRANSMISSION BLOCK
+0x18 0x0018 # CANCEL
+0x19 0x0019 # END OF MEDIUM
+0x1A 0x001A # SUBSTITUTE
+0x1B 0x001B # ESCAPE
+0x1C 0x001C # FILE SEPARATOR
+0x1D 0x001D # GROUP SEPARATOR
+0x1E 0x001E # RECORD SEPARATOR
+0x1F 0x001F # UNIT SEPARATOR
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x7F 0x007F # DELETE
+0x80 0x0080 # <control>
+0x81 0x0081 # <control>
+0x82 0x0082 # <control>
+0x83 0x0083 # <control>
+0x84 0x0084 # <control>
+0x85 0x0085 # <control>
+0x86 0x0086 # <control>
+0x87 0x0087 # <control>
+0x88 0x0088 # <control>
+0x89 0x0089 # <control>
+0x8A 0x008A # <control>
+0x8B 0x008B # <control>
+0x8C 0x008C # <control>
+0x8D 0x008D # <control>
+0x8E 0x008E # <control>
+0x8F 0x008F # <control>
+0x90 0x0090 # <control>
+0x91 0x0091 # <control>
+0x92 0x0092 # <control>
+0x93 0x0093 # <control>
+0x94 0x0094 # <control>
+0x95 0x0095 # <control>
+0x96 0x0096 # <control>
+0x97 0x0097 # <control>
+0x98 0x0098 # <control>
+0x99 0x0099 # <control>
+0x9A 0x009A # <control>
+0x9B 0x009B # <control>
+0x9C 0x009C # <control>
+0x9D 0x009D # <control>
+0x9E 0x009E # <control>
+0x9F 0x009F # <control>
+0xA0 0x00A0 # NO-BREAK SPACE
+0xA1 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK
+0xA2 0x0112 # LATIN CAPITAL LETTER E WITH MACRON
+0xA3 0x0122 # LATIN CAPITAL LETTER G WITH CEDILLA
+0xA4 0x012A # LATIN CAPITAL LETTER I WITH MACRON
+0xA5 0x0128 # LATIN CAPITAL LETTER I WITH TILDE
+0xA6 0x0136 # LATIN CAPITAL LETTER K WITH CEDILLA
+0xA7 0x00A7 # SECTION SIGN
+0xA8 0x013B # LATIN CAPITAL LETTER L WITH CEDILLA
+0xA9 0x0110 # LATIN CAPITAL LETTER D WITH STROKE
+0xAA 0x0160 # LATIN CAPITAL LETTER S WITH CARON
+0xAB 0x0166 # LATIN CAPITAL LETTER T WITH STROKE
+0xAC 0x017D # LATIN CAPITAL LETTER Z WITH CARON
+0xAD 0x00AD # SOFT HYPHEN
+0xAE 0x016A # LATIN CAPITAL LETTER U WITH MACRON
+0xAF 0x014A # LATIN CAPITAL LETTER ENG
+0xB0 0x00B0 # DEGREE SIGN
+0xB1 0x0105 # LATIN SMALL LETTER A WITH OGONEK
+0xB2 0x0113 # LATIN SMALL LETTER E WITH MACRON
+0xB3 0x0123 # LATIN SMALL LETTER G WITH CEDILLA
+0xB4 0x012B # LATIN SMALL LETTER I WITH MACRON
+0xB5 0x0129 # LATIN SMALL LETTER I WITH TILDE
+0xB6 0x0137 # LATIN SMALL LETTER K WITH CEDILLA
+0xB7 0x00B7 # MIDDLE DOT
+0xB8 0x013C # LATIN SMALL LETTER L WITH CEDILLA
+0xB9 0x0111 # LATIN SMALL LETTER D WITH STROKE
+0xBA 0x0161 # LATIN SMALL LETTER S WITH CARON
+0xBB 0x0167 # LATIN SMALL LETTER T WITH STROKE
+0xBC 0x017E # LATIN SMALL LETTER Z WITH CARON
+0xBD 0x2015 # HORIZONTAL BAR
+0xBE 0x016B # LATIN SMALL LETTER U WITH MACRON
+0xBF 0x014B # LATIN SMALL LETTER ENG
+0xC0 0x0100 # LATIN CAPITAL LETTER A WITH MACRON
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6 0x00C6 # LATIN CAPITAL LETTER AE
+0xC7 0x012E # LATIN CAPITAL LETTER I WITH OGONEK
+0xC8 0x010C # LATIN CAPITAL LETTER C WITH CARON
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC 0x0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0 0x00D0 # LATIN CAPITAL LETTER ETH (Icelandic)
+0xD1 0x0145 # LATIN CAPITAL LETTER N WITH CEDILLA
+0xD2 0x014C # LATIN CAPITAL LETTER O WITH MACRON
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7 0x0168 # LATIN CAPITAL LETTER U WITH TILDE
+0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
+0xD9 0x0172 # LATIN CAPITAL LETTER U WITH OGONEK
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE 0x00DE # LATIN CAPITAL LETTER THORN (Icelandic)
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S (German)
+0xE0 0x0101 # LATIN SMALL LETTER A WITH MACRON
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
+0xE6 0x00E6 # LATIN SMALL LETTER AE
+0xE7 0x012F # LATIN SMALL LETTER I WITH OGONEK
+0xE8 0x010D # LATIN SMALL LETTER C WITH CARON
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x0119 # LATIN SMALL LETTER E WITH OGONEK
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
+0xEC 0x0117 # LATIN SMALL LETTER E WITH DOT ABOVE
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
+0xF0 0x00F0 # LATIN SMALL LETTER ETH (Icelandic)
+0xF1 0x0146 # LATIN SMALL LETTER N WITH CEDILLA
+0xF2 0x014D # LATIN SMALL LETTER O WITH MACRON
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0xF7 0x0169 # LATIN SMALL LETTER U WITH TILDE
+0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE
+0xF9 0x0173 # LATIN SMALL LETTER U WITH OGONEK
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
+0xFE 0x00FE # LATIN SMALL LETTER THORN (Icelandic)
+0xFF 0x0138 # LATIN SMALL LETTER KRA
diff --git a/Unicode/8859_13.cp b/Unicode/8859_13.cp
new file mode 100644
index 0000000..4fb6c4e
--- /dev/null
+++ b/Unicode/8859_13.cp
@@ -0,0 +1,134 @@
+ISO 8859-13 (Baltic)
+"ISO-8859-13", "8859-13", "iso-ir-179", "latin7", "l7","iso-latin7"
+
+0x20-0x7e idem
+#
+0x80 0x0080 #PADDING CHARACTER (PAD)
+0x81 0x0081 #HIGH OCTET PRESET (HOP)
+0x82 0x0082 #BREAK PERMITTED HERE (BPH)
+0x83 0x0083 #NO BREAK HERE (NBH)
+0x84 0x0084 #INDEX (IND)
+0x85 0x0085 #NEXT LINE (NEL)
+0x86 0x0086 #START OF SELECTED AREA (SSA)
+0x87 0x0087 #END OF SELECTED AREA (ESA)
+0x88 0x0088 #CHARACTER TABULATION SET (HTS)
+0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+0x8A 0x008A #LINE TABULATION SET (VTS)
+0x8B 0x008B #PARTIAL LINE FORWARD (PLD)
+0x8C 0x008C #PARTIAL LINE BACKWARD (PLU)
+0x8D 0x008D #REVERSE LINE FEED (RI)
+0x8E 0x008E #SINGLE-SHIFT TWO (SS2)
+0x8F 0x008F #SINGLE-SHIFT THREE (SS3)
+0x90 0x0090 #DEVICE CONTROL STRING (DCS)
+0x91 0x0091 #PRIVATE USE ONE (PU1)
+0x92 0x0092 #PRIVATE USE TWO (PU2)
+0x93 0x0093 #SET TRANSMIT STATE (STS)
+0x94 0x0094 #CANCEL CHARACTER (CCH)
+0x95 0x0095 #MESSAGE WAITING (MW)
+0x96 0x0096 #START OF GUARDED AREA (SPA)
+0x97 0x0097 #END OF GUARDED AREA (EPA)
+0x98 0x0098 #START OF STRING (SOS)
+0x99 0x0099 #SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+0x9A 0x009A #SINGLE CHARACTER INTRODUCER (SCI)
+0x9B 0x009B #CONTROL SEQUENCE INTRODUCER (CSI)
+0x9C 0x009C #STRING TERMINATOR (ST)
+0x9D 0x009D #OPERATING SYSTEM COMMAND (OSC)
+0x9E 0x009E #PRIVACY MESSAGE (PM)
+0x9F 0x009F #APPLICATION PROGRAM COMMAND (APC)
+0xA0 0x00A0 #NO-BREAK SPACE
+0xA1 0x201D #RIGHT DOUBLE QUOTATION MARK
+0xA2 0x00A2 #CENT SIGN
+0xA3 0x00A3 #POUND SIGN
+0xA4 0x00A4 #CURRENCY SIGN
+0xA5 0x201E #DOUBLE LOW-9 QUOTATION MARK
+0xA6 0x00A6 #BROKEN BAR
+0xA7 0x00A7 #SECTION SIGN
+0xA8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE
+0xA9 0x00A9 #COPYRIGHT SIGN
+0xAA 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC 0x00AC #NOT SIGN
+0xAD 0x00AD #SOFT HYPHEN
+0xAE 0x00AE #REGISTERED SIGN
+0xAF 0x00C6 #LATIN CAPITAL LETTER AE
+0xB0 0x00B0 #DEGREE SIGN
+0xB1 0x00B1 #PLUS-MINUS SIGN
+0xB2 0x00B2 #SUPERSCRIPT TWO
+0xB3 0x00B3 #SUPERSCRIPT THREE
+0xB4 0x201C #LEFT DOUBLE QUOTATION MARK
+0xB5 0x00B5 #MICRO SIGN
+0xB6 0x00B6 #PILCROW SIGN
+0xB7 0x00B7 #MIDDLE DOT
+0xB8 0x00F8 #LATIN SMALL LETTER O WITH STROKE
+0xB9 0x00B9 #SUPERSCRIPT ONE
+0xBA 0x0157 #LATIN SMALL LETTER R WITH CEDILLA
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC 0x00BC #VULGAR FRACTION ONE QUARTER
+0xBD 0x00BD #VULGAR FRACTION ONE HALF
+0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS
+0xBF 0x00E6 #LATIN SMALL LETTER AE
+0xC0 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
+0xC1 0x012E #LATIN CAPITAL LETTER I WITH OGONEK
+0xC2 0x0100 #LATIN CAPITAL LETTER A WITH MACRON
+0xC3 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE
+0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
+0xC7 0x0112 #LATIN CAPITAL LETTER E WITH MACRON
+0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON
+0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE
+0xCB 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xCC 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA
+0xCD 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA
+0xCE 0x012A #LATIN CAPITAL LETTER I WITH MACRON
+0xCF 0x013B #LATIN CAPITAL LETTER L WITH CEDILLA
+0xD0 0x0160 #LATIN CAPITAL LETTER S WITH CARON
+0xD1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE
+0xD2 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA
+0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE
+0xD4 0x014C #LATIN CAPITAL LETTER O WITH MACRON
+0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE
+0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7 0x00D7 #MULTIPLICATION SIGN
+0xD8 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK
+0xD9 0x0141 #LATIN CAPITAL LETTER L WITH STROKE
+0xDA 0x015A #LATIN CAPITAL LETTER S WITH ACUTE
+0xDB 0x016A #LATIN CAPITAL LETTER U WITH MACRON
+0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xDE 0x017D #LATIN CAPITAL LETTER Z WITH CARON
+0xDF 0x00DF #LATIN SMALL LETTER SHARP S
+0xE0 0x0105 #LATIN SMALL LETTER A WITH OGONEK
+0xE1 0x012F #LATIN SMALL LETTER I WITH OGONEK
+0xE2 0x0101 #LATIN SMALL LETTER A WITH MACRON
+0xE3 0x0107 #LATIN SMALL LETTER C WITH ACUTE
+0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS
+0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE
+0xE6 0x0119 #LATIN SMALL LETTER E WITH OGONEK
+0xE7 0x0113 #LATIN SMALL LETTER E WITH MACRON
+0xE8 0x010D #LATIN SMALL LETTER C WITH CARON
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x017A #LATIN SMALL LETTER Z WITH ACUTE
+0xEB 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE
+0xEC 0x0123 #LATIN SMALL LETTER G WITH CEDILLA
+0xED 0x0137 #LATIN SMALL LETTER K WITH CEDILLA
+0xEE 0x012B #LATIN SMALL LETTER I WITH MACRON
+0xEF 0x013C #LATIN SMALL LETTER L WITH CEDILLA
+0xF0 0x0161 #LATIN SMALL LETTER S WITH CARON
+0xF1 0x0144 #LATIN SMALL LETTER N WITH ACUTE
+0xF2 0x0146 #LATIN SMALL LETTER N WITH CEDILLA
+0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE
+0xF4 0x014D #LATIN SMALL LETTER O WITH MACRON
+0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE
+0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS
+0xF7 0x00F7 #DIVISION SIGN
+0xF8 0x0173 #LATIN SMALL LETTER U WITH OGONEK
+0xF9 0x0142 #LATIN SMALL LETTER L WITH STROKE
+0xFA 0x015B #LATIN SMALL LETTER S WITH ACUTE
+0xFB 0x016B #LATIN SMALL LETTER U WITH MACRON
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE
+0xFE 0x017E #LATIN SMALL LETTER Z WITH CARON
+0xFF 0x2019 #RIGHT SINGLE QUOTATION MARK
+
diff --git a/Unicode/8859_14.cp b/Unicode/8859_14.cp
new file mode 100644
index 0000000..96dcffb
--- /dev/null
+++ b/Unicode/8859_14.cp
@@ -0,0 +1,303 @@
+ISO 8859-14 (Celtic)
+"ISO-8859-14", "8859-14"
+#
+# Name: ISO/IEC 8859-14:1998 to Unicode
+# Unicode version: 3.0
+# Table version: 1.0
+# Table format: Format A
+# Date: 1999 July 27
+# Authors: Markus Kuhn <mkuhn@acm.org>
+# Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1998 - 1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
+#
+# General notes:
+#
+# This table contains the data the Unicode Consortium has on how
+# ISO/IEC 8859-14:1998 characters map into Unicode.
+#
+# Format: Three tab-separated columns
+# Column #1 is the ISO/IEC 8859-14 code (in hex as 0xXX)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 the Unicode name (follows a comment sign, '#')
+#
+# The entries are in ISO/IEC 8859-14 order.
+#
+# Updated versions of this file may be found in:
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
+#
+0x00 0x0000 # NULL
+0x01 0x0001 # START OF HEADING
+0x02 0x0002 # START OF TEXT
+0x03 0x0003 # END OF TEXT
+0x04 0x0004 # END OF TRANSMISSION
+0x05 0x0005 # ENQUIRY
+0x06 0x0006 # ACKNOWLEDGE
+0x07 0x0007 # BELL
+0x08 0x0008 # BACKSPACE
+0x09 0x0009 # HORIZONTAL TABULATION
+0x0A 0x000A # LINE FEED
+0x0B 0x000B # VERTICAL TABULATION
+0x0C 0x000C # FORM FEED
+0x0D 0x000D # CARRIAGE RETURN
+0x0E 0x000E # SHIFT OUT
+0x0F 0x000F # SHIFT IN
+0x10 0x0010 # DATA LINK ESCAPE
+0x11 0x0011 # DEVICE CONTROL ONE
+0x12 0x0012 # DEVICE CONTROL TWO
+0x13 0x0013 # DEVICE CONTROL THREE
+0x14 0x0014 # DEVICE CONTROL FOUR
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE
+0x16 0x0016 # SYNCHRONOUS IDLE
+0x17 0x0017 # END OF TRANSMISSION BLOCK
+0x18 0x0018 # CANCEL
+0x19 0x0019 # END OF MEDIUM
+0x1A 0x001A # SUBSTITUTE
+0x1B 0x001B # ESCAPE
+0x1C 0x001C # FILE SEPARATOR
+0x1D 0x001D # GROUP SEPARATOR
+0x1E 0x001E # RECORD SEPARATOR
+0x1F 0x001F # UNIT SEPARATOR
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x7F 0x007F # DELETE
+0x80 0x0080 # <control>
+0x81 0x0081 # <control>
+0x82 0x0082 # <control>
+0x83 0x0083 # <control>
+0x84 0x0084 # <control>
+0x85 0x0085 # <control>
+0x86 0x0086 # <control>
+0x87 0x0087 # <control>
+0x88 0x0088 # <control>
+0x89 0x0089 # <control>
+0x8A 0x008A # <control>
+0x8B 0x008B # <control>
+0x8C 0x008C # <control>
+0x8D 0x008D # <control>
+0x8E 0x008E # <control>
+0x8F 0x008F # <control>
+0x90 0x0090 # <control>
+0x91 0x0091 # <control>
+0x92 0x0092 # <control>
+0x93 0x0093 # <control>
+0x94 0x0094 # <control>
+0x95 0x0095 # <control>
+0x96 0x0096 # <control>
+0x97 0x0097 # <control>
+0x98 0x0098 # <control>
+0x99 0x0099 # <control>
+0x9A 0x009A # <control>
+0x9B 0x009B # <control>
+0x9C 0x009C # <control>
+0x9D 0x009D # <control>
+0x9E 0x009E # <control>
+0x9F 0x009F # <control>
+0xA0 0x00A0 # NO-BREAK SPACE
+0xA1 0x1E02 # LATIN CAPITAL LETTER B WITH DOT ABOVE
+0xA2 0x1E03 # LATIN SMALL LETTER B WITH DOT ABOVE
+0xA3 0x00A3 # POUND SIGN
+0xA4 0x010A # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0xA5 0x010B # LATIN SMALL LETTER C WITH DOT ABOVE
+0xA6 0x1E0A # LATIN CAPITAL LETTER D WITH DOT ABOVE
+0xA7 0x00A7 # SECTION SIGN
+0xA8 0x1E80 # LATIN CAPITAL LETTER W WITH GRAVE
+0xA9 0x00A9 # COPYRIGHT SIGN
+0xAA 0x1E82 # LATIN CAPITAL LETTER W WITH ACUTE
+0xAB 0x1E0B # LATIN SMALL LETTER D WITH DOT ABOVE
+0xAC 0x1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE
+0xAD 0x00AD # SOFT HYPHEN
+0xAE 0x00AE # REGISTERED SIGN
+0xAF 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xB0 0x1E1E # LATIN CAPITAL LETTER F WITH DOT ABOVE
+0xB1 0x1E1F # LATIN SMALL LETTER F WITH DOT ABOVE
+0xB2 0x0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0xB3 0x0121 # LATIN SMALL LETTER G WITH DOT ABOVE
+0xB4 0x1E40 # LATIN CAPITAL LETTER M WITH DOT ABOVE
+0xB5 0x1E41 # LATIN SMALL LETTER M WITH DOT ABOVE
+0xB6 0x00B6 # PILCROW SIGN
+0xB7 0x1E56 # LATIN CAPITAL LETTER P WITH DOT ABOVE
+0xB8 0x1E81 # LATIN SMALL LETTER W WITH GRAVE
+0xB9 0x1E57 # LATIN SMALL LETTER P WITH DOT ABOVE
+0xBA 0x1E83 # LATIN SMALL LETTER W WITH ACUTE
+0xBB 0x1E60 # LATIN CAPITAL LETTER S WITH DOT ABOVE
+0xBC 0x1EF3 # LATIN SMALL LETTER Y WITH GRAVE
+0xBD 0x1E84 # LATIN CAPITAL LETTER W WITH DIAERESIS
+0xBE 0x1E85 # LATIN SMALL LETTER W WITH DIAERESIS
+0xBF 0x1E61 # LATIN SMALL LETTER S WITH DOT ABOVE
+0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6 0x00C6 # LATIN CAPITAL LETTER AE
+0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0 0x0174 # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
+0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7 0x1E6A # LATIN CAPITAL LETTER T WITH DOT ABOVE
+0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
+0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE 0x0176 # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S
+0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
+0xE6 0x00E6 # LATIN SMALL LETTER AE
+0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
+0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
+0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
+0xF0 0x0175 # LATIN SMALL LETTER W WITH CIRCUMFLEX
+0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE
+0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0xF7 0x1E6B # LATIN SMALL LETTER T WITH DOT ABOVE
+0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE
+0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
+0xFE 0x0177 # LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
+
diff --git a/Unicode/8859_15.cp b/Unicode/8859_15.cp
new file mode 100644
index 0000000..d16a84e
--- /dev/null
+++ b/Unicode/8859_15.cp
@@ -0,0 +1,305 @@
+ISO 8859-15 (Western European)
+"ISO-8859-15", "8859-15"
+#
+# Name: ISO/IEC 8859-15:1999 to Unicode
+# Unicode version: 3.0
+# Table version: 1.0
+# Table format: Format A
+# Date: 1999 July 27
+# Authors: Markus Kuhn <mkuhn@acm.org>
+# Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1998 - 1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
+#
+# General notes:
+#
+# This table contains the data the Unicode Consortium has on how
+# ISO/IEC 8859-15:1999 characters map into Unicode.
+#
+# Format: Three tab-separated columns
+# Column #1 is the ISO/IEC 8859-15 code (in hex as 0xXX)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 the Unicode name (follows a comment sign, '#')
+#
+# The entries are in ISO/IEC 8859-15 order.
+#
+# Version history
+#
+# Updated versions of this file may be found in:
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
+#
+0x00 0x0000 # NULL
+0x01 0x0001 # START OF HEADING
+0x02 0x0002 # START OF TEXT
+0x03 0x0003 # END OF TEXT
+0x04 0x0004 # END OF TRANSMISSION
+0x05 0x0005 # ENQUIRY
+0x06 0x0006 # ACKNOWLEDGE
+0x07 0x0007 # BELL
+0x08 0x0008 # BACKSPACE
+0x09 0x0009 # HORIZONTAL TABULATION
+0x0A 0x000A # LINE FEED
+0x0B 0x000B # VERTICAL TABULATION
+0x0C 0x000C # FORM FEED
+0x0D 0x000D # CARRIAGE RETURN
+0x0E 0x000E # SHIFT OUT
+0x0F 0x000F # SHIFT IN
+0x10 0x0010 # DATA LINK ESCAPE
+0x11 0x0011 # DEVICE CONTROL ONE
+0x12 0x0012 # DEVICE CONTROL TWO
+0x13 0x0013 # DEVICE CONTROL THREE
+0x14 0x0014 # DEVICE CONTROL FOUR
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE
+0x16 0x0016 # SYNCHRONOUS IDLE
+0x17 0x0017 # END OF TRANSMISSION BLOCK
+0x18 0x0018 # CANCEL
+0x19 0x0019 # END OF MEDIUM
+0x1A 0x001A # SUBSTITUTE
+0x1B 0x001B # ESCAPE
+0x1C 0x001C # FILE SEPARATOR
+0x1D 0x001D # GROUP SEPARATOR
+0x1E 0x001E # RECORD SEPARATOR
+0x1F 0x001F # UNIT SEPARATOR
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x7F 0x007F # DELETE
+0x80 0x0080 # <control>
+0x81 0x0081 # <control>
+0x82 0x0082 # <control>
+0x83 0x0083 # <control>
+0x84 0x0084 # <control>
+0x85 0x0085 # <control>
+0x86 0x0086 # <control>
+0x87 0x0087 # <control>
+0x88 0x0088 # <control>
+0x89 0x0089 # <control>
+0x8A 0x008A # <control>
+0x8B 0x008B # <control>
+0x8C 0x008C # <control>
+0x8D 0x008D # <control>
+0x8E 0x008E # <control>
+0x8F 0x008F # <control>
+0x90 0x0090 # <control>
+0x91 0x0091 # <control>
+0x92 0x0092 # <control>
+0x93 0x0093 # <control>
+0x94 0x0094 # <control>
+0x95 0x0095 # <control>
+0x96 0x0096 # <control>
+0x97 0x0097 # <control>
+0x98 0x0098 # <control>
+0x99 0x0099 # <control>
+0x9A 0x009A # <control>
+0x9B 0x009B # <control>
+0x9C 0x009C # <control>
+0x9D 0x009D # <control>
+0x9E 0x009E # <control>
+0x9F 0x009F # <control>
+0xA0 0x00A0 # NO-BREAK SPACE
+0xA1 0x00A1 # INVERTED EXCLAMATION MARK
+0xA2 0x00A2 # CENT SIGN
+0xA3 0x00A3 # POUND SIGN
+0xA4 0x20AC # EURO SIGN
+0xA5 0x00A5 # YEN SIGN
+0xA6 0x0160 # LATIN CAPITAL LETTER S WITH CARON
+0xA7 0x00A7 # SECTION SIGN
+0xA8 0x0161 # LATIN SMALL LETTER S WITH CARON
+0xA9 0x00A9 # COPYRIGHT SIGN
+0xAA 0x00AA # FEMININE ORDINAL INDICATOR
+0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC 0x00AC # NOT SIGN
+0xAD 0x00AD # SOFT HYPHEN
+0xAE 0x00AE # REGISTERED SIGN
+0xAF 0x00AF # MACRON
+0xB0 0x00B0 # DEGREE SIGN
+0xB1 0x00B1 # PLUS-MINUS SIGN
+0xB2 0x00B2 # SUPERSCRIPT TWO
+0xB3 0x00B3 # SUPERSCRIPT THREE
+0xB4 0x017D # LATIN CAPITAL LETTER Z WITH CARON
+0xB5 0x00B5 # MICRO SIGN
+0xB6 0x00B6 # PILCROW SIGN
+0xB7 0x00B7 # MIDDLE DOT
+0xB8 0x017E # LATIN SMALL LETTER Z WITH CARON
+0xB9 0x00B9 # SUPERSCRIPT ONE
+0xBA 0x00BA # MASCULINE ORDINAL INDICATOR
+0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC 0x0152 # LATIN CAPITAL LIGATURE OE
+0xBD 0x0153 # LATIN SMALL LIGATURE OE
+0xBE 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xBF 0x00BF # INVERTED QUESTION MARK
+0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6 0x00C6 # LATIN CAPITAL LETTER AE
+0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0 0x00D0 # LATIN CAPITAL LETTER ETH
+0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
+0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7 0x00D7 # MULTIPLICATION SIGN
+0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
+0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE 0x00DE # LATIN CAPITAL LETTER THORN
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S
+0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
+0xE6 0x00E6 # LATIN SMALL LETTER AE
+0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
+0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
+0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
+0xF0 0x00F0 # LATIN SMALL LETTER ETH
+0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE
+0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0xF7 0x00F7 # DIVISION SIGN
+0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE
+0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
+0xFE 0x00FE # LATIN SMALL LETTER THORN
+0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
+
diff --git a/Unicode/8859_16.cp b/Unicode/8859_16.cp
new file mode 100644
index 0000000..58781de
--- /dev/null
+++ b/Unicode/8859_16.cp
@@ -0,0 +1,301 @@
+ISO 8859-16 (Romainian)
+"ISO-8859-16", "8859-16"
+#
+# Name: ISO/IEC 8859-16:2001 to Unicode
+# Unicode version: 3.0
+# Table version: 1.0
+# Table format: Format A
+# Date: 2001 July 26
+# Authors: Markus Kuhn <mkuhn@acm.org>
+#
+# Copyright (c) 1999-2001 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
+#
+# General notes:
+#
+# This table contains the data the Unicode Consortium has on how
+# ISO/IEC 8859-16:2001 characters map into Unicode.
+#
+# Format: Three tab-separated columns
+# Column #1 is the ISO/IEC 8859-16 code (in hex as 0xXX)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 the Unicode name (follows a comment sign, '#')
+#
+# The entries are in ISO/IEC 8859-16 order.
+#
+# Updated versions of this file may be found in:
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
+#
+0x00 0x0000 # NULL
+0x01 0x0001 # START OF HEADING
+0x02 0x0002 # START OF TEXT
+0x03 0x0003 # END OF TEXT
+0x04 0x0004 # END OF TRANSMISSION
+0x05 0x0005 # ENQUIRY
+0x06 0x0006 # ACKNOWLEDGE
+0x07 0x0007 # BELL
+0x08 0x0008 # BACKSPACE
+0x09 0x0009 # HORIZONTAL TABULATION
+0x0A 0x000A # LINE FEED
+0x0B 0x000B # VERTICAL TABULATION
+0x0C 0x000C # FORM FEED
+0x0D 0x000D # CARRIAGE RETURN
+0x0E 0x000E # SHIFT OUT
+0x0F 0x000F # SHIFT IN
+0x10 0x0010 # DATA LINK ESCAPE
+0x11 0x0011 # DEVICE CONTROL ONE
+0x12 0x0012 # DEVICE CONTROL TWO
+0x13 0x0013 # DEVICE CONTROL THREE
+0x14 0x0014 # DEVICE CONTROL FOUR
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE
+0x16 0x0016 # SYNCHRONOUS IDLE
+0x17 0x0017 # END OF TRANSMISSION BLOCK
+0x18 0x0018 # CANCEL
+0x19 0x0019 # END OF MEDIUM
+0x1A 0x001A # SUBSTITUTE
+0x1B 0x001B # ESCAPE
+0x1C 0x001C # FILE SEPARATOR
+0x1D 0x001D # GROUP SEPARATOR
+0x1E 0x001E # RECORD SEPARATOR
+0x1F 0x001F # UNIT SEPARATOR
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x7F 0x007F # DELETE
+0x80 0x0080 # <control>
+0x81 0x0081 # <control>
+0x82 0x0082 # <control>
+0x83 0x0083 # <control>
+0x84 0x0084 # <control>
+0x85 0x0085 # <control>
+0x86 0x0086 # <control>
+0x87 0x0087 # <control>
+0x88 0x0088 # <control>
+0x89 0x0089 # <control>
+0x8A 0x008A # <control>
+0x8B 0x008B # <control>
+0x8C 0x008C # <control>
+0x8D 0x008D # <control>
+0x8E 0x008E # <control>
+0x8F 0x008F # <control>
+0x90 0x0090 # <control>
+0x91 0x0091 # <control>
+0x92 0x0092 # <control>
+0x93 0x0093 # <control>
+0x94 0x0094 # <control>
+0x95 0x0095 # <control>
+0x96 0x0096 # <control>
+0x97 0x0097 # <control>
+0x98 0x0098 # <control>
+0x99 0x0099 # <control>
+0x9A 0x009A # <control>
+0x9B 0x009B # <control>
+0x9C 0x009C # <control>
+0x9D 0x009D # <control>
+0x9E 0x009E # <control>
+0x9F 0x009F # <control>
+0xA0 0x00A0 # NO-BREAK SPACE
+0xA1 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK
+0xA2 0x0105 # LATIN SMALL LETTER A WITH OGONEK
+0xA3 0x0141 # LATIN CAPITAL LETTER L WITH STROKE
+0xA4 0x20AC # EURO SIGN
+0xA5 0x201E # DOUBLE LOW-9 QUOTATION MARK
+0xA6 0x0160 # LATIN CAPITAL LETTER S WITH CARON
+0xA7 0x00A7 # SECTION SIGN
+0xA8 0x0161 # LATIN SMALL LETTER S WITH CARON
+0xA9 0x00A9 # COPYRIGHT SIGN
+0xAA 0x0218 # LATIN CAPITAL LETTER S WITH COMMA BELOW
+0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC 0x0179 # LATIN CAPITAL LETTER Z WITH ACUTE
+0xAD 0x00AD # SOFT HYPHEN
+0xAE 0x017A # LATIN SMALL LETTER Z WITH ACUTE
+0xAF 0x017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xB0 0x00B0 # DEGREE SIGN
+0xB1 0x00B1 # PLUS-MINUS SIGN
+0xB2 0x010C # LATIN CAPITAL LETTER C WITH CARON
+0xB3 0x0142 # LATIN SMALL LETTER L WITH STROKE
+0xB4 0x017D # LATIN CAPITAL LETTER Z WITH CARON
+0xB5 0x201D # RIGHT DOUBLE QUOTATION MARK
+0xB6 0x00B6 # PILCROW SIGN
+0xB7 0x00B7 # MIDDLE DOT
+0xB8 0x017E # LATIN SMALL LETTER Z WITH CARON
+0xB9 0x010D # LATIN SMALL LETTER C WITH CARON
+0xBA 0x0219 # LATIN SMALL LETTER S WITH COMMA BELOW
+0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC 0x0152 # LATIN CAPITAL LIGATURE OE
+0xBD 0x0153 # LATIN SMALL LIGATURE OE
+0xBE 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xBF 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE
+0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3 0x0102 # LATIN CAPITAL LETTER A WITH BREVE
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5 0x0106 # LATIN CAPITAL LETTER C WITH ACUTE
+0xC6 0x00C6 # LATIN CAPITAL LETTER AE
+0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0 0x0110 # LATIN CAPITAL LETTER D WITH STROKE
+0xD1 0x0143 # LATIN CAPITAL LETTER N WITH ACUTE
+0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5 0x0150 # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7 0x015A # LATIN CAPITAL LETTER S WITH ACUTE
+0xD8 0x0170 # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK
+0xDE 0x021A # LATIN CAPITAL LETTER T WITH COMMA BELOW
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S
+0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3 0x0103 # LATIN SMALL LETTER A WITH BREVE
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0xE5 0x0107 # LATIN SMALL LETTER C WITH ACUTE
+0xE6 0x00E6 # LATIN SMALL LETTER AE
+0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
+0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
+0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
+0xF0 0x0111 # LATIN SMALL LETTER D WITH STROKE
+0xF1 0x0144 # LATIN SMALL LETTER N WITH ACUTE
+0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5 0x0151 # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0xF7 0x015B # LATIN SMALL LETTER S WITH ACUTE
+0xF8 0x0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x0119 # LATIN SMALL LETTER E WITH OGONEK
+0xFE 0x021B # LATIN SMALL LETTER T WITH COMMA BELOW
+0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
diff --git a/Unicode/8859_2.cp b/Unicode/8859_2.cp
new file mode 100644
index 0000000..cfb6e42
--- /dev/null
+++ b/Unicode/8859_2.cp
@@ -0,0 +1,193 @@
+ISO 8859-2 (Central European)
+"ISO-8859-2", "8859-2", "iso-ir-101", "latin2", "l2","iso-latin2", "iso8859-2"
+0x20 0x0020 #SPACE
+0x21 0x0021 #EXCLAMATION MARK
+0x22 0x0022 #QUOTATION MARK
+0x23 0x0023 #NUMBER SIGN
+0x24 0x0024 #DOLLAR SIGN
+0x25 0x0025 #PERCENT SIGN
+0x26 0x0026 #AMPERSAND
+0x27 0x0027 #APOSTROPHE
+0x28 0x0028 #LEFT PARENTHESIS
+0x29 0x0029 #RIGHT PARENTHESIS
+0x2A 0x002A #ASTERISK
+0x2B 0x002B #PLUS SIGN
+0x2C 0x002C #COMMA
+0x2D 0x002D #HYPHEN-MINUS
+0x2E 0x002E #FULL STOP
+0x2F 0x002F #SOLIDUS
+0x30 0x0030 #DIGIT ZERO
+0x31 0x0031 #DIGIT ONE
+0x32 0x0032 #DIGIT TWO
+0x33 0x0033 #DIGIT THREE
+0x34 0x0034 #DIGIT FOUR
+0x35 0x0035 #DIGIT FIVE
+0x36 0x0036 #DIGIT SIX
+0x37 0x0037 #DIGIT SEVEN
+0x38 0x0038 #DIGIT EIGHT
+0x39 0x0039 #DIGIT NINE
+0x3A 0x003A #COLON
+0x3B 0x003B #SEMICOLON
+0x3C 0x003C #LESS-THAN SIGN
+0x3D 0x003D #EQUALS SIGN
+0x3E 0x003E #GREATER-THAN SIGN
+0x3F 0x003F #QUESTION MARK
+0x40 0x0040 #COMMERCIAL AT
+0x41 0x0041 #LATIN CAPITAL LETTER A
+0x42 0x0042 #LATIN CAPITAL LETTER B
+0x43 0x0043 #LATIN CAPITAL LETTER C
+0x44 0x0044 #LATIN CAPITAL LETTER D
+0x45 0x0045 #LATIN CAPITAL LETTER E
+0x46 0x0046 #LATIN CAPITAL LETTER F
+0x47 0x0047 #LATIN CAPITAL LETTER G
+0x48 0x0048 #LATIN CAPITAL LETTER H
+0x49 0x0049 #LATIN CAPITAL LETTER I
+0x4A 0x004A #LATIN CAPITAL LETTER J
+0x4B 0x004B #LATIN CAPITAL LETTER K
+0x4C 0x004C #LATIN CAPITAL LETTER L
+0x4D 0x004D #LATIN CAPITAL LETTER M
+0x4E 0x004E #LATIN CAPITAL LETTER N
+0x4F 0x004F #LATIN CAPITAL LETTER O
+0x50 0x0050 #LATIN CAPITAL LETTER P
+0x51 0x0051 #LATIN CAPITAL LETTER Q
+0x52 0x0052 #LATIN CAPITAL LETTER R
+0x53 0x0053 #LATIN CAPITAL LETTER S
+0x54 0x0054 #LATIN CAPITAL LETTER T
+0x55 0x0055 #LATIN CAPITAL LETTER U
+0x56 0x0056 #LATIN CAPITAL LETTER V
+0x57 0x0057 #LATIN CAPITAL LETTER W
+0x58 0x0058 #LATIN CAPITAL LETTER X
+0x59 0x0059 #LATIN CAPITAL LETTER Y
+0x5A 0x005A #LATIN CAPITAL LETTER Z
+0x5B 0x005B #LEFT SQUARE BRACKET
+0x5C 0x005C #REVERSE SOLIDUS
+0x5D 0x005D #RIGHT SQUARE BRACKET
+0x5E 0x005E #CIRCUMFLEX ACCENT
+0x5F 0x005F #LOW LINE
+0x60 0x0060 #GRAVE ACCENT
+0x61 0x0061 #LATIN SMALL LETTER A
+0x62 0x0062 #LATIN SMALL LETTER B
+0x63 0x0063 #LATIN SMALL LETTER C
+0x64 0x0064 #LATIN SMALL LETTER D
+0x65 0x0065 #LATIN SMALL LETTER E
+0x66 0x0066 #LATIN SMALL LETTER F
+0x67 0x0067 #LATIN SMALL LETTER G
+0x68 0x0068 #LATIN SMALL LETTER H
+0x69 0x0069 #LATIN SMALL LETTER I
+0x6A 0x006A #LATIN SMALL LETTER J
+0x6B 0x006B #LATIN SMALL LETTER K
+0x6C 0x006C #LATIN SMALL LETTER L
+0x6D 0x006D #LATIN SMALL LETTER M
+0x6E 0x006E #LATIN SMALL LETTER N
+0x6F 0x006F #LATIN SMALL LETTER O
+0x70 0x0070 #LATIN SMALL LETTER P
+0x71 0x0071 #LATIN SMALL LETTER Q
+0x72 0x0072 #LATIN SMALL LETTER R
+0x73 0x0073 #LATIN SMALL LETTER S
+0x74 0x0074 #LATIN SMALL LETTER T
+0x75 0x0075 #LATIN SMALL LETTER U
+0x76 0x0076 #LATIN SMALL LETTER V
+0x77 0x0077 #LATIN SMALL LETTER W
+0x78 0x0078 #LATIN SMALL LETTER X
+0x79 0x0079 #LATIN SMALL LETTER Y
+0x7A 0x007A #LATIN SMALL LETTER Z
+0x7B 0x007B #LEFT CURLY BRACKET
+0x7C 0x007C #VERTICAL LINE
+0x7D 0x007D #RIGHT CURLY BRACKET
+0x7E 0x007E #TILDE
+0xA0 0x00A0 #NO-BREAK SPACE
+0xA1 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
+0xA2 0x02D8 #BREVE
+0xA3 0x0141 #LATIN CAPITAL LETTER L WITH STROKE
+0xA4 0x00A4 #CURRENCY SIGN
+0xA5 0x013D #LATIN CAPITAL LETTER L WITH CARON
+0xA6 0x015A #LATIN CAPITAL LETTER S WITH ACUTE
+0xA7 0x00A7 #SECTION SIGN
+0xA8 0x00A8 #DIAERESIS
+0xA9 0x0160 #LATIN CAPITAL LETTER S WITH CARON
+0xAA 0x015E #LATIN CAPITAL LETTER S WITH CEDILLA
+0xAB 0x0164 #LATIN CAPITAL LETTER T WITH CARON
+0xAC 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE
+0xAD 0x00AD #SOFT HYPHEN
+0xAE 0x017D #LATIN CAPITAL LETTER Z WITH CARON
+0xAF 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xB0 0x00B0 #DEGREE SIGN
+0xB1 0x0105 #LATIN SMALL LETTER A WITH OGONEK
+0xB2 0x02DB #OGONEK
+0xB3 0x0142 #LATIN SMALL LETTER L WITH STROKE
+0xB4 0x00B4 #ACUTE ACCENT
+0xB5 0x013E #LATIN SMALL LETTER L WITH CARON
+0xB6 0x015B #LATIN SMALL LETTER S WITH ACUTE
+0xB7 0x02C7 #CARON
+0xB8 0x00B8 #CEDILLA
+0xB9 0x0161 #LATIN SMALL LETTER S WITH CARON
+0xBA 0x015F #LATIN SMALL LETTER S WITH CEDILLA
+0xBB 0x0165 #LATIN SMALL LETTER T WITH CARON
+0xBC 0x017A #LATIN SMALL LETTER Z WITH ACUTE
+0xBD 0x02DD #DOUBLE ACUTE ACCENT
+0xBE 0x017E #LATIN SMALL LETTER Z WITH CARON
+0xBF 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE
+0xC0 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE
+0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE
+0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3 0x0102 #LATIN CAPITAL LETTER A WITH BREVE
+0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE
+0xC6 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE
+0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON
+0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
+0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC 0x011A #LATIN CAPITAL LETTER E WITH CARON
+0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE
+0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF 0x010E #LATIN CAPITAL LETTER D WITH CARON
+0xD0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE
+0xD1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE
+0xD2 0x0147 #LATIN CAPITAL LETTER N WITH CARON
+0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE
+0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7 0x00D7 #MULTIPLICATION SIGN
+0xD8 0x0158 #LATIN CAPITAL LETTER R WITH CARON
+0xD9 0x016E #LATIN CAPITAL LETTER U WITH RING ABOVE
+0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE
+0xDB 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE 0x0162 #LATIN CAPITAL LETTER T WITH CEDILLA
+0xDF 0x00DF #LATIN SMALL LETTER SHARP S
+0xE0 0x0155 #LATIN SMALL LETTER R WITH ACUTE
+0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE
+0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3 0x0103 #LATIN SMALL LETTER A WITH BREVE
+0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS
+0xE5 0x013A #LATIN SMALL LETTER L WITH ACUTE
+0xE6 0x0107 #LATIN SMALL LETTER C WITH ACUTE
+0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA
+0xE8 0x010D #LATIN SMALL LETTER C WITH CARON
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x0119 #LATIN SMALL LETTER E WITH OGONEK
+0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS
+0xEC 0x011B #LATIN SMALL LETTER E WITH CARON
+0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE
+0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF 0x010F #LATIN SMALL LETTER D WITH CARON
+0xF0 0x0111 #LATIN SMALL LETTER D WITH STROKE
+0xF1 0x0144 #LATIN SMALL LETTER N WITH ACUTE
+0xF2 0x0148 #LATIN SMALL LETTER N WITH CARON
+0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE
+0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS
+0xF7 0x00F7 #DIVISION SIGN
+0xF8 0x0159 #LATIN SMALL LETTER R WITH CARON
+0xF9 0x016F #LATIN SMALL LETTER U WITH RING ABOVE
+0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE
+0xFB 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE
+0xFE 0x0163 #LATIN SMALL LETTER T WITH CEDILLA
+0xFF 0x02D9 #DOT ABOVE
diff --git a/Unicode/8859_3.cp b/Unicode/8859_3.cp
new file mode 100644
index 0000000..1f3ba34
--- /dev/null
+++ b/Unicode/8859_3.cp
@@ -0,0 +1,298 @@
+ISO 8859-3 (Esperanto, Maltese)
+"ISO-8859-3", "8859-3"
+#
+# Name: ISO/IEC 8859-3:1999 to Unicode
+# Unicode version: 3.0
+# Table version: 1.0
+# Table format: Format A
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
+#
+# General notes:
+#
+# This table contains the data the Unicode Consortium has on how
+# ISO/IEC 8859-3:1999 characters map into Unicode.
+#
+# Format: Three tab-separated columns
+# Column #1 is the ISO/IEC 8859-3 code (in hex as 0xXX)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 the Unicode name (follows a comment sign, '#')
+#
+# The entries are in ISO/IEC 8859-3 order.
+#
+# Version history
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
+#
+# Updated versions of this file may be found in:
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
+#
+0x00 0x0000 # NULL
+0x01 0x0001 # START OF HEADING
+0x02 0x0002 # START OF TEXT
+0x03 0x0003 # END OF TEXT
+0x04 0x0004 # END OF TRANSMISSION
+0x05 0x0005 # ENQUIRY
+0x06 0x0006 # ACKNOWLEDGE
+0x07 0x0007 # BELL
+0x08 0x0008 # BACKSPACE
+0x09 0x0009 # HORIZONTAL TABULATION
+0x0A 0x000A # LINE FEED
+0x0B 0x000B # VERTICAL TABULATION
+0x0C 0x000C # FORM FEED
+0x0D 0x000D # CARRIAGE RETURN
+0x0E 0x000E # SHIFT OUT
+0x0F 0x000F # SHIFT IN
+0x10 0x0010 # DATA LINK ESCAPE
+0x11 0x0011 # DEVICE CONTROL ONE
+0x12 0x0012 # DEVICE CONTROL TWO
+0x13 0x0013 # DEVICE CONTROL THREE
+0x14 0x0014 # DEVICE CONTROL FOUR
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE
+0x16 0x0016 # SYNCHRONOUS IDLE
+0x17 0x0017 # END OF TRANSMISSION BLOCK
+0x18 0x0018 # CANCEL
+0x19 0x0019 # END OF MEDIUM
+0x1A 0x001A # SUBSTITUTE
+0x1B 0x001B # ESCAPE
+0x1C 0x001C # FILE SEPARATOR
+0x1D 0x001D # GROUP SEPARATOR
+0x1E 0x001E # RECORD SEPARATOR
+0x1F 0x001F # UNIT SEPARATOR
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x7F 0x007F # DELETE
+0x80 0x0080 # <control>
+0x81 0x0081 # <control>
+0x82 0x0082 # <control>
+0x83 0x0083 # <control>
+0x84 0x0084 # <control>
+0x85 0x0085 # <control>
+0x86 0x0086 # <control>
+0x87 0x0087 # <control>
+0x88 0x0088 # <control>
+0x89 0x0089 # <control>
+0x8A 0x008A # <control>
+0x8B 0x008B # <control>
+0x8C 0x008C # <control>
+0x8D 0x008D # <control>
+0x8E 0x008E # <control>
+0x8F 0x008F # <control>
+0x90 0x0090 # <control>
+0x91 0x0091 # <control>
+0x92 0x0092 # <control>
+0x93 0x0093 # <control>
+0x94 0x0094 # <control>
+0x95 0x0095 # <control>
+0x96 0x0096 # <control>
+0x97 0x0097 # <control>
+0x98 0x0098 # <control>
+0x99 0x0099 # <control>
+0x9A 0x009A # <control>
+0x9B 0x009B # <control>
+0x9C 0x009C # <control>
+0x9D 0x009D # <control>
+0x9E 0x009E # <control>
+0x9F 0x009F # <control>
+0xA0 0x00A0 # NO-BREAK SPACE
+0xA1 0x0126 # LATIN CAPITAL LETTER H WITH STROKE
+0xA2 0x02D8 # BREVE
+0xA3 0x00A3 # POUND SIGN
+0xA4 0x00A4 # CURRENCY SIGN
+0xA6 0x0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0xA7 0x00A7 # SECTION SIGN
+0xA8 0x00A8 # DIAERESIS
+0xA9 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0xAA 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA
+0xAB 0x011E # LATIN CAPITAL LETTER G WITH BREVE
+0xAC 0x0134 # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+0xAD 0x00AD # SOFT HYPHEN
+0xAF 0x017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xB0 0x00B0 # DEGREE SIGN
+0xB1 0x0127 # LATIN SMALL LETTER H WITH STROKE
+0xB2 0x00B2 # SUPERSCRIPT TWO
+0xB3 0x00B3 # SUPERSCRIPT THREE
+0xB4 0x00B4 # ACUTE ACCENT
+0xB5 0x00B5 # MICRO SIGN
+0xB6 0x0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0xB7 0x00B7 # MIDDLE DOT
+0xB8 0x00B8 # CEDILLA
+0xB9 0x0131 # LATIN SMALL LETTER DOTLESS I
+0xBA 0x015F # LATIN SMALL LETTER S WITH CEDILLA
+0xBB 0x011F # LATIN SMALL LETTER G WITH BREVE
+0xBC 0x0135 # LATIN SMALL LETTER J WITH CIRCUMFLEX
+0xBD 0x00BD # VULGAR FRACTION ONE HALF
+0xBF 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE
+0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5 0x010A # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0xC6 0x0108 # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
+0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5 0x0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7 0x00D7 # MULTIPLICATION SIGN
+0xD8 0x011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD 0x016C # LATIN CAPITAL LETTER U WITH BREVE
+0xDE 0x015C # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S
+0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0xE5 0x010B # LATIN SMALL LETTER C WITH DOT ABOVE
+0xE6 0x0109 # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
+0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
+0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
+0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE
+0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5 0x0121 # LATIN SMALL LETTER G WITH DOT ABOVE
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0xF7 0x00F7 # DIVISION SIGN
+0xF8 0x011D # LATIN SMALL LETTER G WITH CIRCUMFLEX
+0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x016D # LATIN SMALL LETTER U WITH BREVE
+0xFE 0x015D # LATIN SMALL LETTER S WITH CIRCUMFLEX
+0xFF 0x02D9 # DOT ABOVE
diff --git a/Unicode/8859_4.cp b/Unicode/8859_4.cp
new file mode 100644
index 0000000..abe189f
--- /dev/null
+++ b/Unicode/8859_4.cp
@@ -0,0 +1,133 @@
+ISO 8859-4 (Scandinavia, Baltic)
+"ISO-8859-4", "8859-4", "iso-ir-110", "latin4", "l4","iso-latin4"
+
+0x20-0x7e idem
+#
+0x80 0x0080 #PADDING CHARACTER (PAD)
+0x81 0x0081 #HIGH OCTET PRESET (HOP)
+0x82 0x0082 #BREAK PERMITTED HERE (BPH)
+0x83 0x0083 #NO BREAK HERE (NBH)
+0x84 0x0084 #INDEX (IND)
+0x85 0x0085 #NEXT LINE (NEL)
+0x86 0x0086 #START OF SELECTED AREA (SSA)
+0x87 0x0087 #END OF SELECTED AREA (ESA)
+0x88 0x0088 #CHARACTER TABULATION SET (HTS)
+0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+0x8A 0x008A #LINE TABULATION SET (VTS)
+0x8B 0x008B #PARTIAL LINE FORWARD (PLD)
+0x8C 0x008C #PARTIAL LINE BACKWARD (PLU)
+0x8D 0x008D #REVERSE LINE FEED (RI)
+0x8E 0x008E #SINGLE-SHIFT TWO (SS2)
+0x8F 0x008F #SINGLE-SHIFT THREE (SS3)
+0x90 0x0090 #DEVICE CONTROL STRING (DCS)
+0x91 0x0091 #PRIVATE USE ONE (PU1)
+0x92 0x0092 #PRIVATE USE TWO (PU2)
+0x93 0x0093 #SET TRANSMIT STATE (STS)
+0x94 0x0094 #CANCEL CHARACTER (CCH)
+0x95 0x0095 #MESSAGE WAITING (MW)
+0x96 0x0096 #START OF GUARDED AREA (SPA)
+0x97 0x0097 #END OF GUARDED AREA (EPA)
+0x98 0x0098 #START OF STRING (SOS)
+0x99 0x0099 #SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+0x9A 0x009A #SINGLE CHARACTER INTRODUCER (SCI)
+0x9B 0x009B #CONTROL SEQUENCE INTRODUCER (CSI)
+0x9C 0x009C #STRING TERMINATOR (ST)
+0x9D 0x009D #OPERATING SYSTEM COMMAND (OSC)
+0x9E 0x009E #PRIVACY MESSAGE (PM)
+0x9F 0x009F #APPLICATION PROGRAM COMMAND (APC)
+0xA0 0x00A0 #NO-BREAK SPACE
+0xA1 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
+0xA2 0x0138 #LATIN SMALL LETTER KRA (Greenlandic)
+0xA3 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA
+0xA4 0x00A4 #CURRENCY SIGN
+0xA5 0x0128 #LATIN CAPITAL LETTER I WITH TILDE
+0xA6 0x013B #LATIN CAPITAL LETTER L WITH CEDILLA
+0xA7 0x00A7 #SECTION SIGN
+0xA8 0x00A8 #DIAERESIS
+0xA9 0x0160 #LATIN CAPITAL LETTER S WITH CARON
+0xAA 0x0112 #LATIN CAPITAL LETTER E WITH MACRON
+0xAB 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA
+0xAC 0x0166 #LATIN CAPITAL LETTER T WITH STROKE
+0xAD 0x00AD #SOFT HYPHEN
+0xAE 0x017D #LATIN CAPITAL LETTER Z WITH CARON
+0xAF 0x00AF #MACRON
+0xB0 0x00B0 #DEGREE SIGN
+0xB1 0x0105 #LATIN SMALL LETTER A WITH OGONEK
+0xB2 0x02DB #OGONEK
+0xB3 0x0157 #LATIN SMALL LETTER R WITH CEDILLA
+0xB4 0x00B4 #ACUTE ACCENT
+0xB5 0x0129 #LATIN SMALL LETTER I WITH TILDE
+0xB6 0x013C #LATIN SMALL LETTER L WITH CEDILLA
+0xB7 0x02C7 #CARON (Mandarin Chinese third tone)
+0xB8 0x00B8 #CEDILLA
+0xB9 0x0161 #LATIN SMALL LETTER S WITH CARON
+0xBA 0x0113 #LATIN SMALL LETTER E WITH MACRON
+0xBB 0x0123 #LATIN SMALL LETTER G WITH CEDILLA
+0xBC 0x0167 #LATIN SMALL LETTER T WITH STROKE
+0xBD 0x014A #LATIN CAPITAL LETTER ENG (Sami)
+0xBE 0x017E #LATIN SMALL LETTER Z WITH CARON
+0xBF 0x014B #LATIN SMALL LETTER ENG (Sami)
+0xC0 0x0100 #LATIN CAPITAL LETTER A WITH MACRON
+0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE
+0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3 0x00C3 #LATIN CAPITAL LETTER A WITH TILDE
+0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6 0x00C6 #LATIN CAPITAL LETTER AE
+0xC7 0x012E #LATIN CAPITAL LETTER I WITH OGONEK
+0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON
+0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
+0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE
+0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF 0x012A #LATIN CAPITAL LETTER I WITH MACRON
+0xD0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE
+0xD1 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA
+0xD2 0x014C #LATIN CAPITAL LETTER O WITH MACRON
+0xD3 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA
+0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE
+0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7 0x00D7 #MULTIPLICATION SIGN
+0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE
+0xD9 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK
+0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE
+0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD 0x0168 #LATIN CAPITAL LETTER U WITH TILDE
+0xDE 0x016A #LATIN CAPITAL LETTER U WITH MACRON
+0xDF 0x00DF #LATIN SMALL LETTER SHARP S (German)
+0xE0 0x0101 #LATIN SMALL LETTER A WITH MACRON
+0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE
+0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3 0x00E3 #LATIN SMALL LETTER A WITH TILDE
+0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS
+0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE
+0xE6 0x00E6 #LATIN SMALL LETTER AE
+0xE7 0x012F #LATIN SMALL LETTER I WITH OGONEK
+0xE8 0x010D #LATIN SMALL LETTER C WITH CARON
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x0119 #LATIN SMALL LETTER E WITH OGONEK
+0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS
+0xEC 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE
+0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE
+0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF 0x012B #LATIN SMALL LETTER I WITH MACRON
+0xF0 0x0111 #LATIN SMALL LETTER D WITH STROKE
+0xF1 0x0146 #LATIN SMALL LETTER N WITH CEDILLA
+0xF2 0x014D #LATIN SMALL LETTER O WITH MACRON
+0xF3 0x0137 #LATIN SMALL LETTER K WITH CEDILLA
+0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE
+0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS
+0xF7 0x00F7 #DIVISION SIGN
+0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE
+0xF9 0x0173 #LATIN SMALL LETTER U WITH OGONEK
+0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE
+0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x0169 #LATIN SMALL LETTER U WITH TILDE
+0xFE 0x016B #LATIN SMALL LETTER U WITH MACRON
+0xFF 0x02D9 #DOT ABOVE (Mandarin Chinese light tone)
diff --git a/Unicode/8859_5.cp b/Unicode/8859_5.cp
new file mode 100644
index 0000000..2f13cd6
--- /dev/null
+++ b/Unicode/8859_5.cp
@@ -0,0 +1,305 @@
+ISO 8859-5 (Cyrillic)
+"ISO-8859-5", "8859-5"
+#
+# Name: ISO 8859-5:1999 to Unicode
+# Unicode version: 3.0
+# Table version: 1.0
+# Table format: Format A
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
+#
+# General notes:
+#
+# This table contains the data the Unicode Consortium has on how
+# ISO/IEC 8859-5:1999 characters map into Unicode.
+#
+# Format: Three tab-separated columns
+# Column #1 is the ISO/IEC 8859-5 code (in hex as 0xXX)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 the Unicode name (follows a comment sign, '#')
+#
+# The entries are in ISO/IEC 8859-5 order.
+#
+# Version history
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
+#
+# Updated versions of this file may be found in:
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
+#
+0x00 0x0000 # NULL
+0x01 0x0001 # START OF HEADING
+0x02 0x0002 # START OF TEXT
+0x03 0x0003 # END OF TEXT
+0x04 0x0004 # END OF TRANSMISSION
+0x05 0x0005 # ENQUIRY
+0x06 0x0006 # ACKNOWLEDGE
+0x07 0x0007 # BELL
+0x08 0x0008 # BACKSPACE
+0x09 0x0009 # HORIZONTAL TABULATION
+0x0A 0x000A # LINE FEED
+0x0B 0x000B # VERTICAL TABULATION
+0x0C 0x000C # FORM FEED
+0x0D 0x000D # CARRIAGE RETURN
+0x0E 0x000E # SHIFT OUT
+0x0F 0x000F # SHIFT IN
+0x10 0x0010 # DATA LINK ESCAPE
+0x11 0x0011 # DEVICE CONTROL ONE
+0x12 0x0012 # DEVICE CONTROL TWO
+0x13 0x0013 # DEVICE CONTROL THREE
+0x14 0x0014 # DEVICE CONTROL FOUR
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE
+0x16 0x0016 # SYNCHRONOUS IDLE
+0x17 0x0017 # END OF TRANSMISSION BLOCK
+0x18 0x0018 # CANCEL
+0x19 0x0019 # END OF MEDIUM
+0x1A 0x001A # SUBSTITUTE
+0x1B 0x001B # ESCAPE
+0x1C 0x001C # FILE SEPARATOR
+0x1D 0x001D # GROUP SEPARATOR
+0x1E 0x001E # RECORD SEPARATOR
+0x1F 0x001F # UNIT SEPARATOR
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x7F 0x007F # DELETE
+0x80 0x0080 # <control>
+0x81 0x0081 # <control>
+0x82 0x0082 # <control>
+0x83 0x0083 # <control>
+0x84 0x0084 # <control>
+0x85 0x0085 # <control>
+0x86 0x0086 # <control>
+0x87 0x0087 # <control>
+0x88 0x0088 # <control>
+0x89 0x0089 # <control>
+0x8A 0x008A # <control>
+0x8B 0x008B # <control>
+0x8C 0x008C # <control>
+0x8D 0x008D # <control>
+0x8E 0x008E # <control>
+0x8F 0x008F # <control>
+0x90 0x0090 # <control>
+0x91 0x0091 # <control>
+0x92 0x0092 # <control>
+0x93 0x0093 # <control>
+0x94 0x0094 # <control>
+0x95 0x0095 # <control>
+0x96 0x0096 # <control>
+0x97 0x0097 # <control>
+0x98 0x0098 # <control>
+0x99 0x0099 # <control>
+0x9A 0x009A # <control>
+0x9B 0x009B # <control>
+0x9C 0x009C # <control>
+0x9D 0x009D # <control>
+0x9E 0x009E # <control>
+0x9F 0x009F # <control>
+0xA0 0x00A0 # NO-BREAK SPACE
+0xA1 0x0401 # CYRILLIC CAPITAL LETTER IO
+0xA2 0x0402 # CYRILLIC CAPITAL LETTER DJE
+0xA3 0x0403 # CYRILLIC CAPITAL LETTER GJE
+0xA4 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0xA5 0x0405 # CYRILLIC CAPITAL LETTER DZE
+0xA6 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0xA7 0x0407 # CYRILLIC CAPITAL LETTER YI
+0xA8 0x0408 # CYRILLIC CAPITAL LETTER JE
+0xA9 0x0409 # CYRILLIC CAPITAL LETTER LJE
+0xAA 0x040A # CYRILLIC CAPITAL LETTER NJE
+0xAB 0x040B # CYRILLIC CAPITAL LETTER TSHE
+0xAC 0x040C # CYRILLIC CAPITAL LETTER KJE
+0xAD 0x00AD # SOFT HYPHEN
+0xAE 0x040E # CYRILLIC CAPITAL LETTER SHORT U
+0xAF 0x040F # CYRILLIC CAPITAL LETTER DZHE
+0xB0 0x0410 # CYRILLIC CAPITAL LETTER A
+0xB1 0x0411 # CYRILLIC CAPITAL LETTER BE
+0xB2 0x0412 # CYRILLIC CAPITAL LETTER VE
+0xB3 0x0413 # CYRILLIC CAPITAL LETTER GHE
+0xB4 0x0414 # CYRILLIC CAPITAL LETTER DE
+0xB5 0x0415 # CYRILLIC CAPITAL LETTER IE
+0xB6 0x0416 # CYRILLIC CAPITAL LETTER ZHE
+0xB7 0x0417 # CYRILLIC CAPITAL LETTER ZE
+0xB8 0x0418 # CYRILLIC CAPITAL LETTER I
+0xB9 0x0419 # CYRILLIC CAPITAL LETTER SHORT I
+0xBA 0x041A # CYRILLIC CAPITAL LETTER KA
+0xBB 0x041B # CYRILLIC CAPITAL LETTER EL
+0xBC 0x041C # CYRILLIC CAPITAL LETTER EM
+0xBD 0x041D # CYRILLIC CAPITAL LETTER EN
+0xBE 0x041E # CYRILLIC CAPITAL LETTER O
+0xBF 0x041F # CYRILLIC CAPITAL LETTER PE
+0xC0 0x0420 # CYRILLIC CAPITAL LETTER ER
+0xC1 0x0421 # CYRILLIC CAPITAL LETTER ES
+0xC2 0x0422 # CYRILLIC CAPITAL LETTER TE
+0xC3 0x0423 # CYRILLIC CAPITAL LETTER U
+0xC4 0x0424 # CYRILLIC CAPITAL LETTER EF
+0xC5 0x0425 # CYRILLIC CAPITAL LETTER HA
+0xC6 0x0426 # CYRILLIC CAPITAL LETTER TSE
+0xC7 0x0427 # CYRILLIC CAPITAL LETTER CHE
+0xC8 0x0428 # CYRILLIC CAPITAL LETTER SHA
+0xC9 0x0429 # CYRILLIC CAPITAL LETTER SHCHA
+0xCA 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN
+0xCB 0x042B # CYRILLIC CAPITAL LETTER YERU
+0xCC 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN
+0xCD 0x042D # CYRILLIC CAPITAL LETTER E
+0xCE 0x042E # CYRILLIC CAPITAL LETTER YU
+0xCF 0x042F # CYRILLIC CAPITAL LETTER YA
+0xD0 0x0430 # CYRILLIC SMALL LETTER A
+0xD1 0x0431 # CYRILLIC SMALL LETTER BE
+0xD2 0x0432 # CYRILLIC SMALL LETTER VE
+0xD3 0x0433 # CYRILLIC SMALL LETTER GHE
+0xD4 0x0434 # CYRILLIC SMALL LETTER DE
+0xD5 0x0435 # CYRILLIC SMALL LETTER IE
+0xD6 0x0436 # CYRILLIC SMALL LETTER ZHE
+0xD7 0x0437 # CYRILLIC SMALL LETTER ZE
+0xD8 0x0438 # CYRILLIC SMALL LETTER I
+0xD9 0x0439 # CYRILLIC SMALL LETTER SHORT I
+0xDA 0x043A # CYRILLIC SMALL LETTER KA
+0xDB 0x043B # CYRILLIC SMALL LETTER EL
+0xDC 0x043C # CYRILLIC SMALL LETTER EM
+0xDD 0x043D # CYRILLIC SMALL LETTER EN
+0xDE 0x043E # CYRILLIC SMALL LETTER O
+0xDF 0x043F # CYRILLIC SMALL LETTER PE
+0xE0 0x0440 # CYRILLIC SMALL LETTER ER
+0xE1 0x0441 # CYRILLIC SMALL LETTER ES
+0xE2 0x0442 # CYRILLIC SMALL LETTER TE
+0xE3 0x0443 # CYRILLIC SMALL LETTER U
+0xE4 0x0444 # CYRILLIC SMALL LETTER EF
+0xE5 0x0445 # CYRILLIC SMALL LETTER HA
+0xE6 0x0446 # CYRILLIC SMALL LETTER TSE
+0xE7 0x0447 # CYRILLIC SMALL LETTER CHE
+0xE8 0x0448 # CYRILLIC SMALL LETTER SHA
+0xE9 0x0449 # CYRILLIC SMALL LETTER SHCHA
+0xEA 0x044A # CYRILLIC SMALL LETTER HARD SIGN
+0xEB 0x044B # CYRILLIC SMALL LETTER YERU
+0xEC 0x044C # CYRILLIC SMALL LETTER SOFT SIGN
+0xED 0x044D # CYRILLIC SMALL LETTER E
+0xEE 0x044E # CYRILLIC SMALL LETTER YU
+0xEF 0x044F # CYRILLIC SMALL LETTER YA
+0xF0 0x2116 # NUMERO SIGN
+0xF1 0x0451 # CYRILLIC SMALL LETTER IO
+0xF2 0x0452 # CYRILLIC SMALL LETTER DJE
+0xF3 0x0453 # CYRILLIC SMALL LETTER GJE
+0xF4 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE
+0xF5 0x0455 # CYRILLIC SMALL LETTER DZE
+0xF6 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0xF7 0x0457 # CYRILLIC SMALL LETTER YI
+0xF8 0x0458 # CYRILLIC SMALL LETTER JE
+0xF9 0x0459 # CYRILLIC SMALL LETTER LJE
+0xFA 0x045A # CYRILLIC SMALL LETTER NJE
+0xFB 0x045B # CYRILLIC SMALL LETTER TSHE
+0xFC 0x045C # CYRILLIC SMALL LETTER KJE
+0xFD 0x00A7 # SECTION SIGN
+0xFE 0x045E # CYRILLIC SMALL LETTER SHORT U
+0xFF 0x045F # CYRILLIC SMALL LETTER DZHE
diff --git a/Unicode/8859_6.cp b/Unicode/8859_6.cp
new file mode 100644
index 0000000..9078c08
--- /dev/null
+++ b/Unicode/8859_6.cp
@@ -0,0 +1,262 @@
+ISO 8859-6 (Arabic)
+"ISO-8859-6", "8859-6"
+#
+# Name: ISO 8859-6:1999 to Unicode
+# Unicode version: 3.0
+# Table version: 1.0
+# Table format: Format A
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
+#
+# General notes:
+#
+# This table contains the data the Unicode Consortium has on how
+# ISO/IEC 8859-6:1999 characters map into Unicode.
+#
+# Format: Three tab-separated columns
+# Column #1 is the ISO/IEC 8859-6 code (in hex as 0xXX)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 the Unicode name (follows a comment sign, '#')
+#
+# The entries are in ISO/IEC 8859-6 order.
+#
+# Version history
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
+# 0x30..0x39 remapped to the ASCII digits (U+0030..U+0039) instead
+# of the Arabic digits (U+0660..U+0669).
+#
+# Updated versions of this file may be found in:
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
+#
+0x00 0x0000 # NULL
+0x01 0x0001 # START OF HEADING
+0x02 0x0002 # START OF TEXT
+0x03 0x0003 # END OF TEXT
+0x04 0x0004 # END OF TRANSMISSION
+0x05 0x0005 # ENQUIRY
+0x06 0x0006 # ACKNOWLEDGE
+0x07 0x0007 # BELL
+0x08 0x0008 # BACKSPACE
+0x09 0x0009 # HORIZONTAL TABULATION
+0x0A 0x000A # LINE FEED
+0x0B 0x000B # VERTICAL TABULATION
+0x0C 0x000C # FORM FEED
+0x0D 0x000D # CARRIAGE RETURN
+0x0E 0x000E # SHIFT OUT
+0x0F 0x000F # SHIFT IN
+0x10 0x0010 # DATA LINK ESCAPE
+0x11 0x0011 # DEVICE CONTROL ONE
+0x12 0x0012 # DEVICE CONTROL TWO
+0x13 0x0013 # DEVICE CONTROL THREE
+0x14 0x0014 # DEVICE CONTROL FOUR
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE
+0x16 0x0016 # SYNCHRONOUS IDLE
+0x17 0x0017 # END OF TRANSMISSION BLOCK
+0x18 0x0018 # CANCEL
+0x19 0x0019 # END OF MEDIUM
+0x1A 0x001A # SUBSTITUTE
+0x1B 0x001B # ESCAPE
+0x1C 0x001C # FILE SEPARATOR
+0x1D 0x001D # GROUP SEPARATOR
+0x1E 0x001E # RECORD SEPARATOR
+0x1F 0x001F # UNIT SEPARATOR
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x7F 0x007F # DELETE
+0x80 0x0080 # <control>
+0x81 0x0081 # <control>
+0x82 0x0082 # <control>
+0x83 0x0083 # <control>
+0x84 0x0084 # <control>
+0x85 0x0085 # <control>
+0x86 0x0086 # <control>
+0x87 0x0087 # <control>
+0x88 0x0088 # <control>
+0x89 0x0089 # <control>
+0x8A 0x008A # <control>
+0x8B 0x008B # <control>
+0x8C 0x008C # <control>
+0x8D 0x008D # <control>
+0x8E 0x008E # <control>
+0x8F 0x008F # <control>
+0x90 0x0090 # <control>
+0x91 0x0091 # <control>
+0x92 0x0092 # <control>
+0x93 0x0093 # <control>
+0x94 0x0094 # <control>
+0x95 0x0095 # <control>
+0x96 0x0096 # <control>
+0x97 0x0097 # <control>
+0x98 0x0098 # <control>
+0x99 0x0099 # <control>
+0x9A 0x009A # <control>
+0x9B 0x009B # <control>
+0x9C 0x009C # <control>
+0x9D 0x009D # <control>
+0x9E 0x009E # <control>
+0x9F 0x009F # <control>
+0xA0 0x00A0 # NO-BREAK SPACE
+0xA4 0x00A4 # CURRENCY SIGN
+0xAC 0x060C # ARABIC COMMA
+0xAD 0x00AD # SOFT HYPHEN
+0xBB 0x061B # ARABIC SEMICOLON
+0xBF 0x061F # ARABIC QUESTION MARK
+0xC1 0x0621 # ARABIC LETTER HAMZA
+0xC2 0x0622 # ARABIC LETTER ALEF WITH MADDA ABOVE
+0xC3 0x0623 # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0xC4 0x0624 # ARABIC LETTER WAW WITH HAMZA ABOVE
+0xC5 0x0625 # ARABIC LETTER ALEF WITH HAMZA BELOW
+0xC6 0x0626 # ARABIC LETTER YEH WITH HAMZA ABOVE
+0xC7 0x0627 # ARABIC LETTER ALEF
+0xC8 0x0628 # ARABIC LETTER BEH
+0xC9 0x0629 # ARABIC LETTER TEH MARBUTA
+0xCA 0x062A # ARABIC LETTER TEH
+0xCB 0x062B # ARABIC LETTER THEH
+0xCC 0x062C # ARABIC LETTER JEEM
+0xCD 0x062D # ARABIC LETTER HAH
+0xCE 0x062E # ARABIC LETTER KHAH
+0xCF 0x062F # ARABIC LETTER DAL
+0xD0 0x0630 # ARABIC LETTER THAL
+0xD1 0x0631 # ARABIC LETTER REH
+0xD2 0x0632 # ARABIC LETTER ZAIN
+0xD3 0x0633 # ARABIC LETTER SEEN
+0xD4 0x0634 # ARABIC LETTER SHEEN
+0xD5 0x0635 # ARABIC LETTER SAD
+0xD6 0x0636 # ARABIC LETTER DAD
+0xD7 0x0637 # ARABIC LETTER TAH
+0xD8 0x0638 # ARABIC LETTER ZAH
+0xD9 0x0639 # ARABIC LETTER AIN
+0xDA 0x063A # ARABIC LETTER GHAIN
+0xE0 0x0640 # ARABIC TATWEEL
+0xE1 0x0641 # ARABIC LETTER FEH
+0xE2 0x0642 # ARABIC LETTER QAF
+0xE3 0x0643 # ARABIC LETTER KAF
+0xE4 0x0644 # ARABIC LETTER LAM
+0xE5 0x0645 # ARABIC LETTER MEEM
+0xE6 0x0646 # ARABIC LETTER NOON
+0xE7 0x0647 # ARABIC LETTER HEH
+0xE8 0x0648 # ARABIC LETTER WAW
+0xE9 0x0649 # ARABIC LETTER ALEF MAKSURA
+0xEA 0x064A # ARABIC LETTER YEH
+0xEB 0x064B # ARABIC FATHATAN
+0xEC 0x064C # ARABIC DAMMATAN
+0xED 0x064D # ARABIC KASRATAN
+0xEE 0x064E # ARABIC FATHA
+0xEF 0x064F # ARABIC DAMMA
+0xF0 0x0650 # ARABIC KASRA
+0xF1 0x0651 # ARABIC SHADDA
+0xF2 0x0652 # ARABIC SUKUN
diff --git a/Unicode/8859_7.cp b/Unicode/8859_7.cp
new file mode 100644
index 0000000..59731a0
--- /dev/null
+++ b/Unicode/8859_7.cp
@@ -0,0 +1,304 @@
+ISO 8859-7 (Greek)
+"ISO-8859-7", "8859-7", "iso-ir-126", "elot-928"
+#
+# Name: ISO 8859-7:1987 to Unicode
+# Unicode version: 3.0
+# Table version: 1.0
+# Table format: Format A
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
+#
+# General notes:
+#
+# This table contains the data the Unicode Consortium has on how
+# ISO 8859-7:1987 characters map into Unicode.
+#
+# ISO 8859-7:1987 is equivalent to ISO-IR-126, ELOT 928,
+# and ECMA 118.
+#
+# Format: Three tab-separated columns
+# Column #1 is the ISO 8859-7 code (in hex as 0xXX)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 the Unicode name (follows a comment sign, '#')
+#
+# The entries are in ISO 8859-7 order.
+#
+# Version history
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
+# Remap 0xA1 to U+2018 (instead of 0x02BD) to match text of 8859-7
+# Remap 0xA2 to U+2019 (instead of 0x02BC) to match text of 8859-7
+#
+# Updated versions of this file may be found in:
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
+#
+0x00 0x0000 # NULL
+0x01 0x0001 # START OF HEADING
+0x02 0x0002 # START OF TEXT
+0x03 0x0003 # END OF TEXT
+0x04 0x0004 # END OF TRANSMISSION
+0x05 0x0005 # ENQUIRY
+0x06 0x0006 # ACKNOWLEDGE
+0x07 0x0007 # BELL
+0x08 0x0008 # BACKSPACE
+0x09 0x0009 # HORIZONTAL TABULATION
+0x0A 0x000A # LINE FEED
+0x0B 0x000B # VERTICAL TABULATION
+0x0C 0x000C # FORM FEED
+0x0D 0x000D # CARRIAGE RETURN
+0x0E 0x000E # SHIFT OUT
+0x0F 0x000F # SHIFT IN
+0x10 0x0010 # DATA LINK ESCAPE
+0x11 0x0011 # DEVICE CONTROL ONE
+0x12 0x0012 # DEVICE CONTROL TWO
+0x13 0x0013 # DEVICE CONTROL THREE
+0x14 0x0014 # DEVICE CONTROL FOUR
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE
+0x16 0x0016 # SYNCHRONOUS IDLE
+0x17 0x0017 # END OF TRANSMISSION BLOCK
+0x18 0x0018 # CANCEL
+0x19 0x0019 # END OF MEDIUM
+0x1A 0x001A # SUBSTITUTE
+0x1B 0x001B # ESCAPE
+0x1C 0x001C # FILE SEPARATOR
+0x1D 0x001D # GROUP SEPARATOR
+0x1E 0x001E # RECORD SEPARATOR
+0x1F 0x001F # UNIT SEPARATOR
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x7F 0x007F # DELETE
+0x80 0x0080 # <control>
+0x81 0x0081 # <control>
+0x82 0x0082 # <control>
+0x83 0x0083 # <control>
+0x84 0x0084 # <control>
+0x85 0x0085 # <control>
+0x86 0x0086 # <control>
+0x87 0x0087 # <control>
+0x88 0x0088 # <control>
+0x89 0x0089 # <control>
+0x8A 0x008A # <control>
+0x8B 0x008B # <control>
+0x8C 0x008C # <control>
+0x8D 0x008D # <control>
+0x8E 0x008E # <control>
+0x8F 0x008F # <control>
+0x90 0x0090 # <control>
+0x91 0x0091 # <control>
+0x92 0x0092 # <control>
+0x93 0x0093 # <control>
+0x94 0x0094 # <control>
+0x95 0x0095 # <control>
+0x96 0x0096 # <control>
+0x97 0x0097 # <control>
+0x98 0x0098 # <control>
+0x99 0x0099 # <control>
+0x9A 0x009A # <control>
+0x9B 0x009B # <control>
+0x9C 0x009C # <control>
+0x9D 0x009D # <control>
+0x9E 0x009E # <control>
+0x9F 0x009F # <control>
+0xA0 0x00A0 # NO-BREAK SPACE
+0xA1 0x2018 # LEFT SINGLE QUOTATION MARK
+0xA2 0x2019 # RIGHT SINGLE QUOTATION MARK
+0xA3 0x00A3 # POUND SIGN
+0xA6 0x00A6 # BROKEN BAR
+0xA7 0x00A7 # SECTION SIGN
+0xA8 0x00A8 # DIAERESIS
+0xA9 0x00A9 # COPYRIGHT SIGN
+0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC 0x00AC # NOT SIGN
+0xAD 0x00AD # SOFT HYPHEN
+0xAF 0x2015 # HORIZONTAL BAR
+0xB0 0x00B0 # DEGREE SIGN
+0xB1 0x00B1 # PLUS-MINUS SIGN
+0xB2 0x00B2 # SUPERSCRIPT TWO
+0xB3 0x00B3 # SUPERSCRIPT THREE
+0xB4 0x0384 # GREEK TONOS
+0xB5 0x0385 # GREEK DIALYTIKA TONOS
+0xB6 0x0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS
+0xB7 0x00B7 # MIDDLE DOT
+0xB8 0x0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS
+0xB9 0x0389 # GREEK CAPITAL LETTER ETA WITH TONOS
+0xBA 0x038A # GREEK CAPITAL LETTER IOTA WITH TONOS
+0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC 0x038C # GREEK CAPITAL LETTER OMICRON WITH TONOS
+0xBD 0x00BD # VULGAR FRACTION ONE HALF
+0xBE 0x038E # GREEK CAPITAL LETTER UPSILON WITH TONOS
+0xBF 0x038F # GREEK CAPITAL LETTER OMEGA WITH TONOS
+0xC0 0x0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+0xC1 0x0391 # GREEK CAPITAL LETTER ALPHA
+0xC2 0x0392 # GREEK CAPITAL LETTER BETA
+0xC3 0x0393 # GREEK CAPITAL LETTER GAMMA
+0xC4 0x0394 # GREEK CAPITAL LETTER DELTA
+0xC5 0x0395 # GREEK CAPITAL LETTER EPSILON
+0xC6 0x0396 # GREEK CAPITAL LETTER ZETA
+0xC7 0x0397 # GREEK CAPITAL LETTER ETA
+0xC8 0x0398 # GREEK CAPITAL LETTER THETA
+0xC9 0x0399 # GREEK CAPITAL LETTER IOTA
+0xCA 0x039A # GREEK CAPITAL LETTER KAPPA
+0xCB 0x039B # GREEK CAPITAL LETTER LAMDA
+0xCC 0x039C # GREEK CAPITAL LETTER MU
+0xCD 0x039D # GREEK CAPITAL LETTER NU
+0xCE 0x039E # GREEK CAPITAL LETTER XI
+0xCF 0x039F # GREEK CAPITAL LETTER OMICRON
+0xD0 0x03A0 # GREEK CAPITAL LETTER PI
+0xD1 0x03A1 # GREEK CAPITAL LETTER RHO
+0xD3 0x03A3 # GREEK CAPITAL LETTER SIGMA
+0xD4 0x03A4 # GREEK CAPITAL LETTER TAU
+0xD5 0x03A5 # GREEK CAPITAL LETTER UPSILON
+0xD6 0x03A6 # GREEK CAPITAL LETTER PHI
+0xD7 0x03A7 # GREEK CAPITAL LETTER CHI
+0xD8 0x03A8 # GREEK CAPITAL LETTER PSI
+0xD9 0x03A9 # GREEK CAPITAL LETTER OMEGA
+0xDA 0x03AA # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0xDB 0x03AB # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+0xDC 0x03AC # GREEK SMALL LETTER ALPHA WITH TONOS
+0xDD 0x03AD # GREEK SMALL LETTER EPSILON WITH TONOS
+0xDE 0x03AE # GREEK SMALL LETTER ETA WITH TONOS
+0xDF 0x03AF # GREEK SMALL LETTER IOTA WITH TONOS
+0xE0 0x03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+0xE1 0x03B1 # GREEK SMALL LETTER ALPHA
+0xE2 0x03B2 # GREEK SMALL LETTER BETA
+0xE3 0x03B3 # GREEK SMALL LETTER GAMMA
+0xE4 0x03B4 # GREEK SMALL LETTER DELTA
+0xE5 0x03B5 # GREEK SMALL LETTER EPSILON
+0xE6 0x03B6 # GREEK SMALL LETTER ZETA
+0xE7 0x03B7 # GREEK SMALL LETTER ETA
+0xE8 0x03B8 # GREEK SMALL LETTER THETA
+0xE9 0x03B9 # GREEK SMALL LETTER IOTA
+0xEA 0x03BA # GREEK SMALL LETTER KAPPA
+0xEB 0x03BB # GREEK SMALL LETTER LAMDA
+0xEC 0x03BC # GREEK SMALL LETTER MU
+0xED 0x03BD # GREEK SMALL LETTER NU
+0xEE 0x03BE # GREEK SMALL LETTER XI
+0xEF 0x03BF # GREEK SMALL LETTER OMICRON
+0xF0 0x03C0 # GREEK SMALL LETTER PI
+0xF1 0x03C1 # GREEK SMALL LETTER RHO
+0xF2 0x03C2 # GREEK SMALL LETTER FINAL SIGMA
+0xF3 0x03C3 # GREEK SMALL LETTER SIGMA
+0xF4 0x03C4 # GREEK SMALL LETTER TAU
+0xF5 0x03C5 # GREEK SMALL LETTER UPSILON
+0xF6 0x03C6 # GREEK SMALL LETTER PHI
+0xF7 0x03C7 # GREEK SMALL LETTER CHI
+0xF8 0x03C8 # GREEK SMALL LETTER PSI
+0xF9 0x03C9 # GREEK SMALL LETTER OMEGA
+0xFA 0x03CA # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+0xFB 0x03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+0xFC 0x03CC # GREEK SMALL LETTER OMICRON WITH TONOS
+0xFD 0x03CD # GREEK SMALL LETTER UPSILON WITH TONOS
+0xFE 0x03CE # GREEK SMALL LETTER OMEGA WITH TONOS
diff --git a/Unicode/8859_8.cp b/Unicode/8859_8.cp
new file mode 100644
index 0000000..887cf2b
--- /dev/null
+++ b/Unicode/8859_8.cp
@@ -0,0 +1,272 @@
+ISO 8859-8 (Hebrew)
+"ISO-8859-8", "8859-8"
+#
+# Name: ISO/IEC 8859-8:1999 to Unicode
+# Unicode version: 3.0
+# Table version: 1.1
+# Table format: Format A
+# Date: 2000-Jan-03
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
+#
+# General notes:
+#
+# This table contains the data the Unicode Consortium has on how
+# ISO/IEC 8859-8:1999 characters map into Unicode.
+#
+# Format: Three tab-separated columns
+# Column #1 is the ISO/IEC 8859-8 code (in hex as 0xXX)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 the Unicode name (follows a comment sign, '#')
+#
+# The entries are in ISO/IEC 8859-8 order.
+#
+# Version history
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
+# 1.1 version updates to the published 8859-8:1999, correcting
+# the mapping of 0xAF and adding mappings for LRM and RLM.
+#
+# Updated versions of this file may be found in:
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
+#
+0x00 0x0000 # NULL
+0x01 0x0001 # START OF HEADING
+0x02 0x0002 # START OF TEXT
+0x03 0x0003 # END OF TEXT
+0x04 0x0004 # END OF TRANSMISSION
+0x05 0x0005 # ENQUIRY
+0x06 0x0006 # ACKNOWLEDGE
+0x07 0x0007 # BELL
+0x08 0x0008 # BACKSPACE
+0x09 0x0009 # HORIZONTAL TABULATION
+0x0A 0x000A # LINE FEED
+0x0B 0x000B # VERTICAL TABULATION
+0x0C 0x000C # FORM FEED
+0x0D 0x000D # CARRIAGE RETURN
+0x0E 0x000E # SHIFT OUT
+0x0F 0x000F # SHIFT IN
+0x10 0x0010 # DATA LINK ESCAPE
+0x11 0x0011 # DEVICE CONTROL ONE
+0x12 0x0012 # DEVICE CONTROL TWO
+0x13 0x0013 # DEVICE CONTROL THREE
+0x14 0x0014 # DEVICE CONTROL FOUR
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE
+0x16 0x0016 # SYNCHRONOUS IDLE
+0x17 0x0017 # END OF TRANSMISSION BLOCK
+0x18 0x0018 # CANCEL
+0x19 0x0019 # END OF MEDIUM
+0x1A 0x001A # SUBSTITUTE
+0x1B 0x001B # ESCAPE
+0x1C 0x001C # FILE SEPARATOR
+0x1D 0x001D # GROUP SEPARATOR
+0x1E 0x001E # RECORD SEPARATOR
+0x1F 0x001F # UNIT SEPARATOR
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x7F 0x007F # DELETE
+0x80 0x0080 # <control>
+0x81 0x0081 # <control>
+0x82 0x0082 # <control>
+0x83 0x0083 # <control>
+0x84 0x0084 # <control>
+0x85 0x0085 # <control>
+0x86 0x0086 # <control>
+0x87 0x0087 # <control>
+0x88 0x0088 # <control>
+0x89 0x0089 # <control>
+0x8A 0x008A # <control>
+0x8B 0x008B # <control>
+0x8C 0x008C # <control>
+0x8D 0x008D # <control>
+0x8E 0x008E # <control>
+0x8F 0x008F # <control>
+0x90 0x0090 # <control>
+0x91 0x0091 # <control>
+0x92 0x0092 # <control>
+0x93 0x0093 # <control>
+0x94 0x0094 # <control>
+0x95 0x0095 # <control>
+0x96 0x0096 # <control>
+0x97 0x0097 # <control>
+0x98 0x0098 # <control>
+0x99 0x0099 # <control>
+0x9A 0x009A # <control>
+0x9B 0x009B # <control>
+0x9C 0x009C # <control>
+0x9D 0x009D # <control>
+0x9E 0x009E # <control>
+0x9F 0x009F # <control>
+0xA0 0x00A0 # NO-BREAK SPACE
+0xA2 0x00A2 # CENT SIGN
+0xA3 0x00A3 # POUND SIGN
+0xA4 0x00A4 # CURRENCY SIGN
+0xA5 0x00A5 # YEN SIGN
+0xA6 0x00A6 # BROKEN BAR
+0xA7 0x00A7 # SECTION SIGN
+0xA8 0x00A8 # DIAERESIS
+0xA9 0x00A9 # COPYRIGHT SIGN
+0xAA 0x00D7 # MULTIPLICATION SIGN
+0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC 0x00AC # NOT SIGN
+0xAD 0x00AD # SOFT HYPHEN
+0xAE 0x00AE # REGISTERED SIGN
+0xAF 0x00AF # MACRON
+0xB0 0x00B0 # DEGREE SIGN
+0xB1 0x00B1 # PLUS-MINUS SIGN
+0xB2 0x00B2 # SUPERSCRIPT TWO
+0xB3 0x00B3 # SUPERSCRIPT THREE
+0xB4 0x00B4 # ACUTE ACCENT
+0xB5 0x00B5 # MICRO SIGN
+0xB6 0x00B6 # PILCROW SIGN
+0xB7 0x00B7 # MIDDLE DOT
+0xB8 0x00B8 # CEDILLA
+0xB9 0x00B9 # SUPERSCRIPT ONE
+0xBA 0x00F7 # DIVISION SIGN
+0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC 0x00BC # VULGAR FRACTION ONE QUARTER
+0xBD 0x00BD # VULGAR FRACTION ONE HALF
+0xBE 0x00BE # VULGAR FRACTION THREE QUARTERS
+0xDF 0x2017 # DOUBLE LOW LINE
+0xE0 0x05D0 # HEBREW LETTER ALEF
+0xE1 0x05D1 # HEBREW LETTER BET
+0xE2 0x05D2 # HEBREW LETTER GIMEL
+0xE3 0x05D3 # HEBREW LETTER DALET
+0xE4 0x05D4 # HEBREW LETTER HE
+0xE5 0x05D5 # HEBREW LETTER VAV
+0xE6 0x05D6 # HEBREW LETTER ZAYIN
+0xE7 0x05D7 # HEBREW LETTER HET
+0xE8 0x05D8 # HEBREW LETTER TET
+0xE9 0x05D9 # HEBREW LETTER YOD
+0xEA 0x05DA # HEBREW LETTER FINAL KAF
+0xEB 0x05DB # HEBREW LETTER KAF
+0xEC 0x05DC # HEBREW LETTER LAMED
+0xED 0x05DD # HEBREW LETTER FINAL MEM
+0xEE 0x05DE # HEBREW LETTER MEM
+0xEF 0x05DF # HEBREW LETTER FINAL NUN
+0xF0 0x05E0 # HEBREW LETTER NUN
+0xF1 0x05E1 # HEBREW LETTER SAMEKH
+0xF2 0x05E2 # HEBREW LETTER AYIN
+0xF3 0x05E3 # HEBREW LETTER FINAL PE
+0xF4 0x05E4 # HEBREW LETTER PE
+0xF5 0x05E5 # HEBREW LETTER FINAL TSADI
+0xF6 0x05E6 # HEBREW LETTER TSADI
+0xF7 0x05E7 # HEBREW LETTER QOF
+0xF8 0x05E8 # HEBREW LETTER RESH
+0xF9 0x05E9 # HEBREW LETTER SHIN
+0xFA 0x05EA # HEBREW LETTER TAV
+0xFD 0x200E # LEFT-TO-RIGHT MARK
+0xFE 0x200F # RIGHT-TO-LEFT MARK
+
diff --git a/Unicode/8859_9.cp b/Unicode/8859_9.cp
new file mode 100644
index 0000000..290a511
--- /dev/null
+++ b/Unicode/8859_9.cp
@@ -0,0 +1,309 @@
+ISO 8859-9 (Turkish)
+"ISO-8859-9", "8859-9"
+#
+# Name: ISO/IEC 8859-9:1999 to Unicode
+# Unicode version: 3.0
+# Table version: 1.0
+# Table format: Format A
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on magnetic media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
+#
+# General notes:
+#
+# This table contains the data the Unicode Consortium has on how
+# ISO/IEC 8859-9:1999 characters map into Unicode.
+#
+# Format: Three tab-separated columns
+# Column #1 is the ISO/IEC 8859-9 code (in hex as 0xXX)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 the Unicode name (follows a comment sign, '#')
+#
+# The entries are in ISO/IEC 8859-9 order.
+#
+# ISO/IEC 8859-9 is also equivalent to ISO-IR-148.
+#
+# Version history
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
+#
+# Updated versions of this file may be found in:
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
+#
+0x00 0x0000 # NULL
+0x01 0x0001 # START OF HEADING
+0x02 0x0002 # START OF TEXT
+0x03 0x0003 # END OF TEXT
+0x04 0x0004 # END OF TRANSMISSION
+0x05 0x0005 # ENQUIRY
+0x06 0x0006 # ACKNOWLEDGE
+0x07 0x0007 # BELL
+0x08 0x0008 # BACKSPACE
+0x09 0x0009 # HORIZONTAL TABULATION
+0x0A 0x000A # LINE FEED
+0x0B 0x000B # VERTICAL TABULATION
+0x0C 0x000C # FORM FEED
+0x0D 0x000D # CARRIAGE RETURN
+0x0E 0x000E # SHIFT OUT
+0x0F 0x000F # SHIFT IN
+0x10 0x0010 # DATA LINK ESCAPE
+0x11 0x0011 # DEVICE CONTROL ONE
+0x12 0x0012 # DEVICE CONTROL TWO
+0x13 0x0013 # DEVICE CONTROL THREE
+0x14 0x0014 # DEVICE CONTROL FOUR
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE
+0x16 0x0016 # SYNCHRONOUS IDLE
+0x17 0x0017 # END OF TRANSMISSION BLOCK
+0x18 0x0018 # CANCEL
+0x19 0x0019 # END OF MEDIUM
+0x1A 0x001A # SUBSTITUTE
+0x1B 0x001B # ESCAPE
+0x1C 0x001C # FILE SEPARATOR
+0x1D 0x001D # GROUP SEPARATOR
+0x1E 0x001E # RECORD SEPARATOR
+0x1F 0x001F # UNIT SEPARATOR
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x7F 0x007F # DELETE
+0x80 0x0080 # <control>
+0x81 0x0081 # <control>
+0x82 0x0082 # <control>
+0x83 0x0083 # <control>
+0x84 0x0084 # <control>
+0x85 0x0085 # <control>
+0x86 0x0086 # <control>
+0x87 0x0087 # <control>
+0x88 0x0088 # <control>
+0x89 0x0089 # <control>
+0x8A 0x008A # <control>
+0x8B 0x008B # <control>
+0x8C 0x008C # <control>
+0x8D 0x008D # <control>
+0x8E 0x008E # <control>
+0x8F 0x008F # <control>
+0x90 0x0090 # <control>
+0x91 0x0091 # <control>
+0x92 0x0092 # <control>
+0x93 0x0093 # <control>
+0x94 0x0094 # <control>
+0x95 0x0095 # <control>
+0x96 0x0096 # <control>
+0x97 0x0097 # <control>
+0x98 0x0098 # <control>
+0x99 0x0099 # <control>
+0x9A 0x009A # <control>
+0x9B 0x009B # <control>
+0x9C 0x009C # <control>
+0x9D 0x009D # <control>
+0x9E 0x009E # <control>
+0x9F 0x009F # <control>
+0xA0 0x00A0 # NO-BREAK SPACE
+0xA1 0x00A1 # INVERTED EXCLAMATION MARK
+0xA2 0x00A2 # CENT SIGN
+0xA3 0x00A3 # POUND SIGN
+0xA4 0x00A4 # CURRENCY SIGN
+0xA5 0x00A5 # YEN SIGN
+0xA6 0x00A6 # BROKEN BAR
+0xA7 0x00A7 # SECTION SIGN
+0xA8 0x00A8 # DIAERESIS
+0xA9 0x00A9 # COPYRIGHT SIGN
+0xAA 0x00AA # FEMININE ORDINAL INDICATOR
+0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC 0x00AC # NOT SIGN
+0xAD 0x00AD # SOFT HYPHEN
+0xAE 0x00AE # REGISTERED SIGN
+0xAF 0x00AF # MACRON
+0xB0 0x00B0 # DEGREE SIGN
+0xB1 0x00B1 # PLUS-MINUS SIGN
+0xB2 0x00B2 # SUPERSCRIPT TWO
+0xB3 0x00B3 # SUPERSCRIPT THREE
+0xB4 0x00B4 # ACUTE ACCENT
+0xB5 0x00B5 # MICRO SIGN
+0xB6 0x00B6 # PILCROW SIGN
+0xB7 0x00B7 # MIDDLE DOT
+0xB8 0x00B8 # CEDILLA
+0xB9 0x00B9 # SUPERSCRIPT ONE
+0xBA 0x00BA # MASCULINE ORDINAL INDICATOR
+0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC 0x00BC # VULGAR FRACTION ONE QUARTER
+0xBD 0x00BD # VULGAR FRACTION ONE HALF
+0xBE 0x00BE # VULGAR FRACTION THREE QUARTERS
+0xBF 0x00BF # INVERTED QUESTION MARK
+0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
+0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6 0x00C6 # LATIN CAPITAL LETTER AE
+0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
+0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0 0x011E # LATIN CAPITAL LETTER G WITH BREVE
+0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
+0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
+0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7 0x00D7 # MULTIPLICATION SIGN
+0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
+0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
+0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0xDE 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA
+0xDF 0x00DF # LATIN SMALL LETTER SHARP S
+0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE
+0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
+0xE6 0x00E6 # LATIN SMALL LETTER AE
+0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
+0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
+0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
+0xF0 0x011F # LATIN SMALL LETTER G WITH BREVE
+0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE
+0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE
+0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0xF7 0x00F7 # DIVISION SIGN
+0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE
+0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x0131 # LATIN SMALL LETTER DOTLESS I
+0xFE 0x015F # LATIN SMALL LETTER S WITH CEDILLA
+0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
+
+
diff --git a/Unicode/cp1125.cp b/Unicode/cp1125.cp
new file mode 100644
index 0000000..177e953
--- /dev/null
+++ b/Unicode/cp1125.cp
@@ -0,0 +1,137 @@
+CP 1125 (Ukrainian)
+"x-cp866-u", "ruscii", "1125"
+#
+# DOS Ukrainian (RUSCII, cp1125) to UNICODE translation table
+#
+# Based on cp866u_uni.tbl from lynx 2.8.2 distribution
+# by porokh
+#
+0x80 0x0410 #CYRILLIC CAPITAL LETTER A
+0x81 0x0411 #CYRILLIC CAPITAL LETTER BE
+0x82 0x0412 #CYRILLIC CAPITAL LETTER VE
+0x83 0x0413 #CYRILLIC CAPITAL LETTER GHE
+0x84 0x0414 #CYRILLIC CAPITAL LETTER DE
+0x85 0x0415 #CYRILLIC CAPITAL LETTER IE
+0x86 0x0416 #CYRILLIC CAPITAL LETTER ZHE
+0x87 0x0417 #CYRILLIC CAPITAL LETTER ZE
+0x88 0x0418 #CYRILLIC CAPITAL LETTER I
+0x89 0x0419 #CYRILLIC CAPITAL LETTER SHORT I
+0x8a 0x041a #CYRILLIC CAPITAL LETTER KA
+0x8b 0x041b #CYRILLIC CAPITAL LETTER EL
+0x8c 0x041c #CYRILLIC CAPITAL LETTER EM
+0x8d 0x041d #CYRILLIC CAPITAL LETTER EN
+0x8e 0x041e #CYRILLIC CAPITAL LETTER O
+0x8f 0x041f #CYRILLIC CAPITAL LETTER PE
+0x90 0x0420 #CYRILLIC CAPITAL LETTER ER
+0x91 0x0421 #CYRILLIC CAPITAL LETTER ES
+0x92 0x0422 #CYRILLIC CAPITAL LETTER TE
+0x93 0x0423 #CYRILLIC CAPITAL LETTER U
+0x94 0x0424 #CYRILLIC CAPITAL LETTER EF
+0x95 0x0425 #CYRILLIC CAPITAL LETTER HA
+0x96 0x0426 #CYRILLIC CAPITAL LETTER TSE
+0x97 0x0427 #CYRILLIC CAPITAL LETTER CHE
+0x98 0x0428 #CYRILLIC CAPITAL LETTER SHA
+0x99 0x0429 #CYRILLIC CAPITAL LETTER SHCHA
+0x9a 0x042a #CYRILLIC CAPITAL LETTER HARD SIGN
+0x9b 0x042b #CYRILLIC CAPITAL LETTER YERU
+0x9c 0x042c #CYRILLIC CAPITAL LETTER SOFT SIGN
+0x9d 0x042d #CYRILLIC CAPITAL LETTER E
+0x9e 0x042e #CYRILLIC CAPITAL LETTER YU
+0x9f 0x042f #CYRILLIC CAPITAL LETTER YA
+0xa0 0x0430 #CYRILLIC SMALL LETTER A
+0xa1 0x0431 #CYRILLIC SMALL LETTER BE
+0xa2 0x0432 #CYRILLIC SMALL LETTER VE
+0xa3 0x0433 #CYRILLIC SMALL LETTER GHE
+0xa4 0x0434 #CYRILLIC SMALL LETTER DE
+0xa5 0x0435 #CYRILLIC SMALL LETTER IE
+0xa6 0x0436 #CYRILLIC SMALL LETTER ZHE
+0xa7 0x0437 #CYRILLIC SMALL LETTER ZE
+0xa8 0x0438 #CYRILLIC SMALL LETTER I
+0xa9 0x0439 #CYRILLIC SMALL LETTER SHORT I
+0xaa 0x043a #CYRILLIC SMALL LETTER KA
+0xab 0x043b #CYRILLIC SMALL LETTER EL
+0xac 0x043c #CYRILLIC SMALL LETTER EM
+0xad 0x043d #CYRILLIC SMALL LETTER EN
+0xae 0x043e #CYRILLIC SMALL LETTER O
+0xaf 0x043f #CYRILLIC SMALL LETTER PE
+0xb0 0x2591 #LIGHT SHADE
+0xb1 0x2592 #MEDIUM SHADE
+0xb2 0x2593 #DARK SHADE
+0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
+0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
+0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
+0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb 0x2588 #FULL BLOCK
+0xdc 0x2584 #LOWER HALF BLOCK
+0xdd 0x258c #LEFT HALF BLOCK
+0xde 0x2590 #RIGHT HALF BLOCK
+0xdf 0x2580 #UPPER HALF BLOCK
+0xe0 0x0440 #CYRILLIC SMALL LETTER ER
+0xe1 0x0441 #CYRILLIC SMALL LETTER ES
+0xe2 0x0442 #CYRILLIC SMALL LETTER TE
+0xe3 0x0443 #CYRILLIC SMALL LETTER U
+0xe4 0x0444 #CYRILLIC SMALL LETTER EF
+0xe5 0x0445 #CYRILLIC SMALL LETTER HA
+0xe6 0x0446 #CYRILLIC SMALL LETTER TSE
+0xe7 0x0447 #CYRILLIC SMALL LETTER CHE
+0xe8 0x0448 #CYRILLIC SMALL LETTER SHA
+0xe9 0x0449 #CYRILLIC SMALL LETTER SHCHA
+0xea 0x044a #CYRILLIC SMALL LETTER HARD SIGN
+0xeb 0x044b #CYRILLIC SMALL LETTER YERU
+0xec 0x044c #CYRILLIC SMALL LETTER SOFT SIGN
+0xed 0x044d #CYRILLIC SMALL LETTER E
+0xee 0x044e #CYRILLIC SMALL LETTER YU
+0xef 0x044f #CYRILLIC SMALL LETTER YA
+0xf0 0x0401 #CYRILLIC CAPITAL LETTER IO
+0xf1 0x0451 #CYRILLIC SMALL LETTER IO
+0xf2 0x0490 #CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0xf3 0x0491 #CYRILLIC SMALL LETTER GHE WITH UPTURN
+0xf4 0x0404 #CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0xf5 0x0454 #CYRILLIC SMALL LETTER UKRAINIAN IE
+0xf6 0x0406 #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0xf7 0x0456 #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0xf8 0x0407 #CYRILLIC CAPITAL LETTER YI
+0xf9 0x0457 #CYRILLIC SMALL LETTER YI
+0xfa 0x00b7 #MIDDLE DOT
+0xfb 0x221a #SQUARE ROOT
+0xfc 0x2116 #NUMERO SIGN
+0xfd 0x00a4 #CURRENCY SIGN
+0xfe 0x25a0 #BLACK SQUARE
+0xff 0x00a0 #NO-BREAK SPACE
+
diff --git a/Unicode/cp1250.cp b/Unicode/cp1250.cp
new file mode 100644
index 0000000..41f05ef
--- /dev/null
+++ b/Unicode/cp1250.cp
@@ -0,0 +1,276 @@
+Window$ 1250 (Central European)
+"windows-1250", "1250"
+#
+# Name: cp1250 to Unicode table
+# Unicode version: 2.0
+# Table version: 2.01
+# Table format: Format A
+# Date: 04/15/98
+#
+# Contact: cpxlate@microsoft.com
+#
+# General notes: none
+#
+# Format: Three tab-separated columns
+# Column #1 is the cp1250 code (in hex)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 is the Unicode name (follows a comment sign, '#')
+#
+# The entries are in cp1250 order
+#
+0x00 0x0000 #NULL
+0x01 0x0001 #START OF HEADING
+0x02 0x0002 #START OF TEXT
+0x03 0x0003 #END OF TEXT
+0x04 0x0004 #END OF TRANSMISSION
+0x05 0x0005 #ENQUIRY
+0x06 0x0006 #ACKNOWLEDGE
+0x07 0x0007 #BELL
+0x08 0x0008 #BACKSPACE
+0x09 0x0009 #HORIZONTAL TABULATION
+0x0A 0x000A #LINE FEED
+0x0B 0x000B #VERTICAL TABULATION
+0x0C 0x000C #FORM FEED
+0x0D 0x000D #CARRIAGE RETURN
+0x0E 0x000E #SHIFT OUT
+0x0F 0x000F #SHIFT IN
+0x10 0x0010 #DATA LINK ESCAPE
+0x11 0x0011 #DEVICE CONTROL ONE
+0x12 0x0012 #DEVICE CONTROL TWO
+0x13 0x0013 #DEVICE CONTROL THREE
+0x14 0x0014 #DEVICE CONTROL FOUR
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE
+0x16 0x0016 #SYNCHRONOUS IDLE
+0x17 0x0017 #END OF TRANSMISSION BLOCK
+0x18 0x0018 #CANCEL
+0x19 0x0019 #END OF MEDIUM
+0x1A 0x001A #SUBSTITUTE
+0x1B 0x001B #ESCAPE
+0x1C 0x001C #FILE SEPARATOR
+0x1D 0x001D #GROUP SEPARATOR
+0x1E 0x001E #RECORD SEPARATOR
+0x1F 0x001F #UNIT SEPARATOR
+0x20 0x0020 #SPACE
+0x21 0x0021 #EXCLAMATION MARK
+0x22 0x0022 #QUOTATION MARK
+0x23 0x0023 #NUMBER SIGN
+0x24 0x0024 #DOLLAR SIGN
+0x25 0x0025 #PERCENT SIGN
+0x26 0x0026 #AMPERSAND
+0x27 0x0027 #APOSTROPHE
+0x28 0x0028 #LEFT PARENTHESIS
+0x29 0x0029 #RIGHT PARENTHESIS
+0x2A 0x002A #ASTERISK
+0x2B 0x002B #PLUS SIGN
+0x2C 0x002C #COMMA
+0x2D 0x002D #HYPHEN-MINUS
+0x2E 0x002E #FULL STOP
+0x2F 0x002F #SOLIDUS
+0x30 0x0030 #DIGIT ZERO
+0x31 0x0031 #DIGIT ONE
+0x32 0x0032 #DIGIT TWO
+0x33 0x0033 #DIGIT THREE
+0x34 0x0034 #DIGIT FOUR
+0x35 0x0035 #DIGIT FIVE
+0x36 0x0036 #DIGIT SIX
+0x37 0x0037 #DIGIT SEVEN
+0x38 0x0038 #DIGIT EIGHT
+0x39 0x0039 #DIGIT NINE
+0x3A 0x003A #COLON
+0x3B 0x003B #SEMICOLON
+0x3C 0x003C #LESS-THAN SIGN
+0x3D 0x003D #EQUALS SIGN
+0x3E 0x003E #GREATER-THAN SIGN
+0x3F 0x003F #QUESTION MARK
+0x40 0x0040 #COMMERCIAL AT
+0x41 0x0041 #LATIN CAPITAL LETTER A
+0x42 0x0042 #LATIN CAPITAL LETTER B
+0x43 0x0043 #LATIN CAPITAL LETTER C
+0x44 0x0044 #LATIN CAPITAL LETTER D
+0x45 0x0045 #LATIN CAPITAL LETTER E
+0x46 0x0046 #LATIN CAPITAL LETTER F
+0x47 0x0047 #LATIN CAPITAL LETTER G
+0x48 0x0048 #LATIN CAPITAL LETTER H
+0x49 0x0049 #LATIN CAPITAL LETTER I
+0x4A 0x004A #LATIN CAPITAL LETTER J
+0x4B 0x004B #LATIN CAPITAL LETTER K
+0x4C 0x004C #LATIN CAPITAL LETTER L
+0x4D 0x004D #LATIN CAPITAL LETTER M
+0x4E 0x004E #LATIN CAPITAL LETTER N
+0x4F 0x004F #LATIN CAPITAL LETTER O
+0x50 0x0050 #LATIN CAPITAL LETTER P
+0x51 0x0051 #LATIN CAPITAL LETTER Q
+0x52 0x0052 #LATIN CAPITAL LETTER R
+0x53 0x0053 #LATIN CAPITAL LETTER S
+0x54 0x0054 #LATIN CAPITAL LETTER T
+0x55 0x0055 #LATIN CAPITAL LETTER U
+0x56 0x0056 #LATIN CAPITAL LETTER V
+0x57 0x0057 #LATIN CAPITAL LETTER W
+0x58 0x0058 #LATIN CAPITAL LETTER X
+0x59 0x0059 #LATIN CAPITAL LETTER Y
+0x5A 0x005A #LATIN CAPITAL LETTER Z
+0x5B 0x005B #LEFT SQUARE BRACKET
+0x5C 0x005C #REVERSE SOLIDUS
+0x5D 0x005D #RIGHT SQUARE BRACKET
+0x5E 0x005E #CIRCUMFLEX ACCENT
+0x5F 0x005F #LOW LINE
+0x60 0x0060 #GRAVE ACCENT
+0x61 0x0061 #LATIN SMALL LETTER A
+0x62 0x0062 #LATIN SMALL LETTER B
+0x63 0x0063 #LATIN SMALL LETTER C
+0x64 0x0064 #LATIN SMALL LETTER D
+0x65 0x0065 #LATIN SMALL LETTER E
+0x66 0x0066 #LATIN SMALL LETTER F
+0x67 0x0067 #LATIN SMALL LETTER G
+0x68 0x0068 #LATIN SMALL LETTER H
+0x69 0x0069 #LATIN SMALL LETTER I
+0x6A 0x006A #LATIN SMALL LETTER J
+0x6B 0x006B #LATIN SMALL LETTER K
+0x6C 0x006C #LATIN SMALL LETTER L
+0x6D 0x006D #LATIN SMALL LETTER M
+0x6E 0x006E #LATIN SMALL LETTER N
+0x6F 0x006F #LATIN SMALL LETTER O
+0x70 0x0070 #LATIN SMALL LETTER P
+0x71 0x0071 #LATIN SMALL LETTER Q
+0x72 0x0072 #LATIN SMALL LETTER R
+0x73 0x0073 #LATIN SMALL LETTER S
+0x74 0x0074 #LATIN SMALL LETTER T
+0x75 0x0075 #LATIN SMALL LETTER U
+0x76 0x0076 #LATIN SMALL LETTER V
+0x77 0x0077 #LATIN SMALL LETTER W
+0x78 0x0078 #LATIN SMALL LETTER X
+0x79 0x0079 #LATIN SMALL LETTER Y
+0x7A 0x007A #LATIN SMALL LETTER Z
+0x7B 0x007B #LEFT CURLY BRACKET
+0x7C 0x007C #VERTICAL LINE
+0x7D 0x007D #RIGHT CURLY BRACKET
+0x7E 0x007E #TILDE
+0x7F 0x007F #DELETE
+0x80 0x20AC #EURO SIGN
+0x81 0 #UNDEFINED
+0x82 0x201A #SINGLE LOW-9 QUOTATION MARK
+0x83 0 #UNDEFINED
+0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK
+#0x85 0x2026 #HORIZONTAL ELLIPSIS
+0x86 0x2020 #DAGGER
+0x87 0x2021 #DOUBLE DAGGER
+0x88 0 #UNDEFINED
+0x89 0x2030 #PER MILLE SIGN
+0x8A 0x0160 #LATIN CAPITAL LETTER S WITH CARON
+0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C 0x015A #LATIN CAPITAL LETTER S WITH ACUTE
+0x8D 0x0164 #LATIN CAPITAL LETTER T WITH CARON
+0x8E 0x017D #LATIN CAPITAL LETTER Z WITH CARON
+0x8F 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE
+0x90 0 #UNDEFINED
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK
+#0x95 0x2022 #BULLET
+0x96 0x2013 #EN DASH
+0x97 0x2014 #EM DASH
+0x98 0 #UNDEFINED
+0x99 0x2122 #TRADE MARK SIGN
+0x9A 0x0161 #LATIN SMALL LETTER S WITH CARON
+0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C 0x015B #LATIN SMALL LETTER S WITH ACUTE
+0x9D 0x0165 #LATIN SMALL LETTER T WITH CARON
+0x9E 0x017E #LATIN SMALL LETTER Z WITH CARON
+0x9F 0x017A #LATIN SMALL LETTER Z WITH ACUTE
+0xA0 0x00A0 #NO-BREAK SPACE
+0xA1 0x02C7 #CARON
+0xA2 0x02D8 #BREVE
+0xA3 0x0141 #LATIN CAPITAL LETTER L WITH STROKE
+0xA4 0x00A4 #CURRENCY SIGN
+0xA5 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
+0xA6 0x00A6 #BROKEN BAR
+0xA7 0x00A7 #SECTION SIGN
+0xA8 0x00A8 #DIAERESIS
+0xA9 0x00A9 #COPYRIGHT SIGN
+0xAA 0x015E #LATIN CAPITAL LETTER S WITH CEDILLA
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC 0x00AC #NOT SIGN
+0xAD 0x00AD #SOFT HYPHEN
+0xAE 0x00AE #REGISTERED SIGN
+0xAF 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xB0 0x00B0 #DEGREE SIGN
+0xB1 0x00B1 #PLUS-MINUS SIGN
+0xB2 0x02DB #OGONEK
+0xB3 0x0142 #LATIN SMALL LETTER L WITH STROKE
+0xB4 0x00B4 #ACUTE ACCENT
+0xB5 0x00B5 #MICRO SIGN
+0xB6 0x00B6 #PILCROW SIGN
+#0xB7 0x00B7 #MIDDLE DOT
+0xB8 0x00B8 #CEDILLA
+0xB9 0x0105 #LATIN SMALL LETTER A WITH OGONEK
+0xBA 0x015F #LATIN SMALL LETTER S WITH CEDILLA
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC 0x013D #LATIN CAPITAL LETTER L WITH CARON
+0xBD 0x02DD #DOUBLE ACUTE ACCENT
+0xBE 0x013E #LATIN SMALL LETTER L WITH CARON
+0xBF 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE
+0xC0 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE
+0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE
+0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3 0x0102 #LATIN CAPITAL LETTER A WITH BREVE
+0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE
+0xC6 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE
+0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON
+0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
+0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC 0x011A #LATIN CAPITAL LETTER E WITH CARON
+0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE
+0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF 0x010E #LATIN CAPITAL LETTER D WITH CARON
+0xD0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE
+0xD1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE
+0xD2 0x0147 #LATIN CAPITAL LETTER N WITH CARON
+0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE
+0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7 0x00D7 #MULTIPLICATION SIGN
+0xD8 0x0158 #LATIN CAPITAL LETTER R WITH CARON
+0xD9 0x016E #LATIN CAPITAL LETTER U WITH RING ABOVE
+0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE
+0xDB 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE 0x0162 #LATIN CAPITAL LETTER T WITH CEDILLA
+0xDF 0x00DF #LATIN SMALL LETTER SHARP S
+0xE0 0x0155 #LATIN SMALL LETTER R WITH ACUTE
+0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE
+0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3 0x0103 #LATIN SMALL LETTER A WITH BREVE
+0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS
+0xE5 0x013A #LATIN SMALL LETTER L WITH ACUTE
+0xE6 0x0107 #LATIN SMALL LETTER C WITH ACUTE
+0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA
+0xE8 0x010D #LATIN SMALL LETTER C WITH CARON
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x0119 #LATIN SMALL LETTER E WITH OGONEK
+0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS
+0xEC 0x011B #LATIN SMALL LETTER E WITH CARON
+0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE
+0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF 0x010F #LATIN SMALL LETTER D WITH CARON
+0xF0 0x0111 #LATIN SMALL LETTER D WITH STROKE
+0xF1 0x0144 #LATIN SMALL LETTER N WITH ACUTE
+0xF2 0x0148 #LATIN SMALL LETTER N WITH CARON
+0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE
+0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS
+0xF7 0x00F7 #DIVISION SIGN
+0xF8 0x0159 #LATIN SMALL LETTER R WITH CARON
+0xF9 0x016F #LATIN SMALL LETTER U WITH RING ABOVE
+0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE
+0xFB 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE
+0xFE 0x0163 #LATIN SMALL LETTER T WITH CEDILLA
+0xFF 0x02D9 #DOT ABOVE
diff --git a/Unicode/cp1251.cp b/Unicode/cp1251.cp
new file mode 100644
index 0000000..58e891b
--- /dev/null
+++ b/Unicode/cp1251.cp
@@ -0,0 +1,225 @@
+Window$ 1251 (Cyrillic)
+"windows-1251", "1251", "cp1251"
+
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x80 0x0402 # CYRILLIC CAPITAL LETTER DJE
+0x81 0x0403 # CYRILLIC CAPITAL LETTER GJE
+0x82 0x201A # SINGLE LOW-9 QUOTATION MARK
+0x83 0x0453 # CYRILLIC SMALL LETTER GJE
+0x84 0x201E # DOUBLE LOW-9 QUOTATION MARK
+0x85 0x2026 # HORIZONTAL ELLIPSIS
+0x86 0x2020 # DAGGER
+0x87 0x2021 # DOUBLE DAGGER
+0x88 0x20AC # EURO SIGN
+0x89 0x2030 # PER MILLE SIGN
+0x8A 0x0409 # CYRILLIC CAPITAL LETTER LJE
+0x8B 0x2039 # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C 0x040A # CYRILLIC CAPITAL LETTER NJE
+0x8D 0x040C # CYRILLIC CAPITAL LETTER KJE
+0x8E 0x040B # CYRILLIC CAPITAL LETTER TSHE
+0x8F 0x040F # CYRILLIC CAPITAL LETTER DZHE
+0x90 0x0452 # CYRILLIC SMALL LETTER DJE
+0x91 0x2018 # LEFT SINGLE QUOTATION MARK
+0x92 0x2019 # RIGHT SINGLE QUOTATION MARK
+0x93 0x201C # LEFT DOUBLE QUOTATION MARK
+0x94 0x201D # RIGHT DOUBLE QUOTATION MARK
+0x95 0x2022 # BULLET
+0x96 0x2013 # EN DASH
+0x97 0x2014 # EM DASH
+0x99 0x2122 # TRADE MARK SIGN
+0x9A 0x0459 # CYRILLIC SMALL LETTER LJE
+0x9B 0x203A # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C 0x045A # CYRILLIC SMALL LETTER NJE
+0x9D 0x045C # CYRILLIC SMALL LETTER KJE
+0x9E 0x045B # CYRILLIC SMALL LETTER TSHE
+0x9F 0x045F # CYRILLIC SMALL LETTER DZHE
+0xA0 0x00A0 # NO-BREAK SPACE
+0xA1 0x040E # CYRILLIC CAPITAL LETTER SHORT U
+0xA2 0x045E # CYRILLIC SMALL LETTER SHORT U
+0xA3 0x0408 # CYRILLIC CAPITAL LETTER JE
+0xA4 0x00A4 # CURRENCY SIGN
+0xA5 0x0490 # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0xA6 0x00A6 # BROKEN BAR
+0xA7 0x00A7 # SECTION SIGN
+0xA8 0x0401 # CYRILLIC CAPITAL LETTER IO
+0xA9 0x00A9 # COPYRIGHT SIGN
+0xAA 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC 0x00AC # NOT SIGN
+0xAD 0x00AD # SOFT HYPHEN
+0xAE 0x00AE # REGISTERED SIGN
+0xAF 0x0407 # CYRILLIC CAPITAL LETTER YI
+0xB0 0x00B0 # DEGREE SIGN
+0xB1 0x00B1 # PLUS-MINUS SIGN
+0xB2 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0xB3 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0xB4 0x0491 # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0xB5 0x00B5 # MICRO SIGN
+0xB6 0x00B6 # PILCROW SIGN
+0xB7 0x00B7 # MIDDLE DOT
+0xB8 0x0451 # CYRILLIC SMALL LETTER IO
+0xB9 0x2116 # NUMERO SIGN
+0xBA 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE
+0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC 0x0458 # CYRILLIC SMALL LETTER JE
+0xBD 0x0405 # CYRILLIC CAPITAL LETTER DZE
+0xBE 0x0455 # CYRILLIC SMALL LETTER DZE
+0xBF 0x0457 # CYRILLIC SMALL LETTER YI
+0xC0 0x0410 # CYRILLIC CAPITAL LETTER A
+0xC1 0x0411 # CYRILLIC CAPITAL LETTER BE
+0xC2 0x0412 # CYRILLIC CAPITAL LETTER VE
+0xC3 0x0413 # CYRILLIC CAPITAL LETTER GHE
+0xC4 0x0414 # CYRILLIC CAPITAL LETTER DE
+0xC5 0x0415 # CYRILLIC CAPITAL LETTER IE
+0xC6 0x0416 # CYRILLIC CAPITAL LETTER ZHE
+0xC7 0x0417 # CYRILLIC CAPITAL LETTER ZE
+0xC8 0x0418 # CYRILLIC CAPITAL LETTER I
+0xC9 0x0419 # CYRILLIC CAPITAL LETTER SHORT I
+0xCA 0x041A # CYRILLIC CAPITAL LETTER KA
+0xCB 0x041B # CYRILLIC CAPITAL LETTER EL
+0xCC 0x041C # CYRILLIC CAPITAL LETTER EM
+0xCD 0x041D # CYRILLIC CAPITAL LETTER EN
+0xCE 0x041E # CYRILLIC CAPITAL LETTER O
+0xCF 0x041F # CYRILLIC CAPITAL LETTER PE
+0xD0 0x0420 # CYRILLIC CAPITAL LETTER ER
+0xD1 0x0421 # CYRILLIC CAPITAL LETTER ES
+0xD2 0x0422 # CYRILLIC CAPITAL LETTER TE
+0xD3 0x0423 # CYRILLIC CAPITAL LETTER U
+0xD4 0x0424 # CYRILLIC CAPITAL LETTER EF
+0xD5 0x0425 # CYRILLIC CAPITAL LETTER HA
+0xD6 0x0426 # CYRILLIC CAPITAL LETTER TSE
+0xD7 0x0427 # CYRILLIC CAPITAL LETTER CHE
+0xD8 0x0428 # CYRILLIC CAPITAL LETTER SHA
+0xD9 0x0429 # CYRILLIC CAPITAL LETTER SHCHA
+0xDA 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN
+0xDB 0x042B # CYRILLIC CAPITAL LETTER YERU
+0xDC 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN
+0xDD 0x042D # CYRILLIC CAPITAL LETTER E
+0xDE 0x042E # CYRILLIC CAPITAL LETTER YU
+0xDF 0x042F # CYRILLIC CAPITAL LETTER YA
+0xE0 0x0430 # CYRILLIC SMALL LETTER A
+0xE1 0x0431 # CYRILLIC SMALL LETTER BE
+0xE2 0x0432 # CYRILLIC SMALL LETTER VE
+0xE3 0x0433 # CYRILLIC SMALL LETTER GHE
+0xE4 0x0434 # CYRILLIC SMALL LETTER DE
+0xE5 0x0435 # CYRILLIC SMALL LETTER IE
+0xE6 0x0436 # CYRILLIC SMALL LETTER ZHE
+0xE7 0x0437 # CYRILLIC SMALL LETTER ZE
+0xE8 0x0438 # CYRILLIC SMALL LETTER I
+0xE9 0x0439 # CYRILLIC SMALL LETTER SHORT I
+0xEA 0x043A # CYRILLIC SMALL LETTER KA
+0xEB 0x043B # CYRILLIC SMALL LETTER EL
+0xEC 0x043C # CYRILLIC SMALL LETTER EM
+0xED 0x043D # CYRILLIC SMALL LETTER EN
+0xEE 0x043E # CYRILLIC SMALL LETTER O
+0xEF 0x043F # CYRILLIC SMALL LETTER PE
+0xF0 0x0440 # CYRILLIC SMALL LETTER ER
+0xF1 0x0441 # CYRILLIC SMALL LETTER ES
+0xF2 0x0442 # CYRILLIC SMALL LETTER TE
+0xF3 0x0443 # CYRILLIC SMALL LETTER U
+0xF4 0x0444 # CYRILLIC SMALL LETTER EF
+0xF5 0x0445 # CYRILLIC SMALL LETTER HA
+0xF6 0x0446 # CYRILLIC SMALL LETTER TSE
+0xF7 0x0447 # CYRILLIC SMALL LETTER CHE
+0xF8 0x0448 # CYRILLIC SMALL LETTER SHA
+0xF9 0x0449 # CYRILLIC SMALL LETTER SHCHA
+0xFA 0x044A # CYRILLIC SMALL LETTER HARD SIGN
+0xFB 0x044B # CYRILLIC SMALL LETTER YERU
+0xFC 0x044C # CYRILLIC SMALL LETTER SOFT SIGN
+0xFD 0x044D # CYRILLIC SMALL LETTER E
+0xFE 0x044E # CYRILLIC SMALL LETTER YU
+0xFF 0x044F # CYRILLIC SMALL LETTER YA
diff --git a/Unicode/cp1252.cp b/Unicode/cp1252.cp
new file mode 100644
index 0000000..cf8d851
--- /dev/null
+++ b/Unicode/cp1252.cp
@@ -0,0 +1,254 @@
+Window$ 1252 (Western European)
+"windows-1252", "1252"
+
+0x00 0x0000 #NULL
+0x01 0x0001 #START OF HEADING
+0x02 0x0002 #START OF TEXT
+0x03 0x0003 #END OF TEXT
+0x04 0x0004 #END OF TRANSMISSION
+0x05 0x0005 #ENQUIRY
+0x06 0x0006 #ACKNOWLEDGE
+0x07 0x0007 #BELL
+0x08 0x0008 #BACKSPACE
+0x09 0x0009 #HORIZONTAL TABULATION
+0x0A 0x000A #LINE FEED
+0x0B 0x000B #VERTICAL TABULATION
+0x0C 0x000C #FORM FEED
+0x0D 0x000D #CARRIAGE RETURN
+0x0E 0x000E #SHIFT OUT
+0x0F 0x000F #SHIFT IN
+0x10 0x0010 #DATA LINK ESCAPE
+0x11 0x0011 #DEVICE CONTROL ONE
+0x12 0x0012 #DEVICE CONTROL TWO
+0x13 0x0013 #DEVICE CONTROL THREE
+0x14 0x0014 #DEVICE CONTROL FOUR
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE
+0x16 0x0016 #SYNCHRONOUS IDLE
+0x17 0x0017 #END OF TRANSMISSION BLOCK
+0x18 0x0018 #CANCEL
+0x19 0x0019 #END OF MEDIUM
+0x1A 0x001A #SUBSTITUTE
+0x1B 0x001B #ESCAPE
+0x1C 0x001C #FILE SEPARATOR
+0x1D 0x001D #GROUP SEPARATOR
+0x1E 0x001E #RECORD SEPARATOR
+0x1F 0x001F #UNIT SEPARATOR
+0x20 0x0020 #SPACE
+0x21 0x0021 #EXCLAMATION MARK
+0x22 0x0022 #QUOTATION MARK
+0x23 0x0023 #NUMBER SIGN
+0x24 0x0024 #DOLLAR SIGN
+0x25 0x0025 #PERCENT SIGN
+0x26 0x0026 #AMPERSAND
+0x27 0x0027 #APOSTROPHE
+0x28 0x0028 #LEFT PARENTHESIS
+0x29 0x0029 #RIGHT PARENTHESIS
+0x2A 0x002A #ASTERISK
+0x2B 0x002B #PLUS SIGN
+0x2C 0x002C #COMMA
+0x2D 0x002D #HYPHEN-MINUS
+0x2E 0x002E #FULL STOP
+0x2F 0x002F #SOLIDUS
+0x30 0x0030 #DIGIT ZERO
+0x31 0x0031 #DIGIT ONE
+0x32 0x0032 #DIGIT TWO
+0x33 0x0033 #DIGIT THREE
+0x34 0x0034 #DIGIT FOUR
+0x35 0x0035 #DIGIT FIVE
+0x36 0x0036 #DIGIT SIX
+0x37 0x0037 #DIGIT SEVEN
+0x38 0x0038 #DIGIT EIGHT
+0x39 0x0039 #DIGIT NINE
+0x3A 0x003A #COLON
+0x3B 0x003B #SEMICOLON
+0x3C 0x003C #LESS-THAN SIGN
+0x3D 0x003D #EQUALS SIGN
+0x3E 0x003E #GREATER-THAN SIGN
+0x3F 0x003F #QUESTION MARK
+0x40 0x0040 #COMMERCIAL AT
+0x41 0x0041 #LATIN CAPITAL LETTER A
+0x42 0x0042 #LATIN CAPITAL LETTER B
+0x43 0x0043 #LATIN CAPITAL LETTER C
+0x44 0x0044 #LATIN CAPITAL LETTER D
+0x45 0x0045 #LATIN CAPITAL LETTER E
+0x46 0x0046 #LATIN CAPITAL LETTER F
+0x47 0x0047 #LATIN CAPITAL LETTER G
+0x48 0x0048 #LATIN CAPITAL LETTER H
+0x49 0x0049 #LATIN CAPITAL LETTER I
+0x4A 0x004A #LATIN CAPITAL LETTER J
+0x4B 0x004B #LATIN CAPITAL LETTER K
+0x4C 0x004C #LATIN CAPITAL LETTER L
+0x4D 0x004D #LATIN CAPITAL LETTER M
+0x4E 0x004E #LATIN CAPITAL LETTER N
+0x4F 0x004F #LATIN CAPITAL LETTER O
+0x50 0x0050 #LATIN CAPITAL LETTER P
+0x51 0x0051 #LATIN CAPITAL LETTER Q
+0x52 0x0052 #LATIN CAPITAL LETTER R
+0x53 0x0053 #LATIN CAPITAL LETTER S
+0x54 0x0054 #LATIN CAPITAL LETTER T
+0x55 0x0055 #LATIN CAPITAL LETTER U
+0x56 0x0056 #LATIN CAPITAL LETTER V
+0x57 0x0057 #LATIN CAPITAL LETTER W
+0x58 0x0058 #LATIN CAPITAL LETTER X
+0x59 0x0059 #LATIN CAPITAL LETTER Y
+0x5A 0x005A #LATIN CAPITAL LETTER Z
+0x5B 0x005B #LEFT SQUARE BRACKET
+0x5C 0x005C #REVERSE SOLIDUS
+0x5D 0x005D #RIGHT SQUARE BRACKET
+0x5E 0x005E #CIRCUMFLEX ACCENT
+0x5F 0x005F #LOW LINE
+0x60 0x0060 #GRAVE ACCENT
+0x61 0x0061 #LATIN SMALL LETTER A
+0x62 0x0062 #LATIN SMALL LETTER B
+0x63 0x0063 #LATIN SMALL LETTER C
+0x64 0x0064 #LATIN SMALL LETTER D
+0x65 0x0065 #LATIN SMALL LETTER E
+0x66 0x0066 #LATIN SMALL LETTER F
+0x67 0x0067 #LATIN SMALL LETTER G
+0x68 0x0068 #LATIN SMALL LETTER H
+0x69 0x0069 #LATIN SMALL LETTER I
+0x6A 0x006A #LATIN SMALL LETTER J
+0x6B 0x006B #LATIN SMALL LETTER K
+0x6C 0x006C #LATIN SMALL LETTER L
+0x6D 0x006D #LATIN SMALL LETTER M
+0x6E 0x006E #LATIN SMALL LETTER N
+0x6F 0x006F #LATIN SMALL LETTER O
+0x70 0x0070 #LATIN SMALL LETTER P
+0x71 0x0071 #LATIN SMALL LETTER Q
+0x72 0x0072 #LATIN SMALL LETTER R
+0x73 0x0073 #LATIN SMALL LETTER S
+0x74 0x0074 #LATIN SMALL LETTER T
+0x75 0x0075 #LATIN SMALL LETTER U
+0x76 0x0076 #LATIN SMALL LETTER V
+0x77 0x0077 #LATIN SMALL LETTER W
+0x78 0x0078 #LATIN SMALL LETTER X
+0x79 0x0079 #LATIN SMALL LETTER Y
+0x7A 0x007A #LATIN SMALL LETTER Z
+0x7B 0x007B #LEFT CURLY BRACKET
+0x7C 0x007C #VERTICAL LINE
+0x7D 0x007D #RIGHT CURLY BRACKET
+0x7E 0x007E #TILDE
+0x7F 0x007F #DELETE
+0x80 0x20AC #EURO SIGN
+0x82 0x201A #SINGLE LOW-9 QUOTATION MARK
+0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK
+0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK
+0x85 0x2026 #HORIZONTAL ELLIPSIS
+0x86 0x2020 #DAGGER
+0x87 0x2021 #DOUBLE DAGGER
+0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT
+0x89 0x2030 #PER MILLE SIGN
+0x8A 0x0160 #LATIN CAPITAL LETTER S WITH CARON
+0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C 0x0152 #LATIN CAPITAL LIGATURE OE
+0x8E 0x017D #LATIN CAPITAL LETTER Z WITH CARON
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK
+0x95 0x2022 #BULLET
+0x96 0x2013 #EN DASH
+0x97 0x2014 #EM DASH
+0x98 0x02DC #SMALL TILDE
+0x99 0x2122 #TRADE MARK SIGN
+0x9A 0x0161 #LATIN SMALL LETTER S WITH CARON
+0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C 0x0153 #LATIN SMALL LIGATURE OE
+0x9E 0x017E #LATIN SMALL LETTER Z WITH CARON
+0x9F 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xA0 0x00A0 #NO-BREAK SPACE
+0xA1 0x00A1 #INVERTED EXCLAMATION MARK
+0xA2 0x00A2 #CENT SIGN
+0xA3 0x00A3 #POUND SIGN
+0xA4 0x00A4 #CURRENCY SIGN
+0xA5 0x00A5 #YEN SIGN
+0xA6 0x00A6 #BROKEN BAR
+0xA7 0x00A7 #SECTION SIGN
+0xA8 0x00A8 #DIAERESIS
+0xA9 0x00A9 #COPYRIGHT SIGN
+0xAA 0x00AA #FEMININE ORDINAL INDICATOR
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC 0x00AC #NOT SIGN
+0xAD 0x00AD #SOFT HYPHEN
+0xAE 0x00AE #REGISTERED SIGN
+0xAF 0x00AF #MACRON
+0xB0 0x00B0 #DEGREE SIGN
+0xB1 0x00B1 #PLUS-MINUS SIGN
+0xB2 0x00B2 #SUPERSCRIPT TWO
+0xB3 0x00B3 #SUPERSCRIPT THREE
+0xB4 0x00B4 #ACUTE ACCENT
+0xB5 0x00B5 #MICRO SIGN
+0xB6 0x00B6 #PILCROW SIGN
+0xB7 0x00B7 #MIDDLE DOT
+0xB8 0x00B8 #CEDILLA
+0xB9 0x00B9 #SUPERSCRIPT ONE
+0xBA 0x00BA #MASCULINE ORDINAL INDICATOR
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC 0x00BC #VULGAR FRACTION ONE QUARTER
+0xBD 0x00BD #VULGAR FRACTION ONE HALF
+0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS
+0xBF 0x00BF #INVERTED QUESTION MARK
+0xC0 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE
+0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE
+0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3 0x00C3 #LATIN CAPITAL LETTER A WITH TILDE
+0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6 0x00C6 #LATIN CAPITAL LIGATURE AE
+0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE
+0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC 0x00CC #LATIN CAPITAL LETTER I WITH GRAVE
+0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE
+0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0 0x00D0 #LATIN CAPITAL LETTER ETH
+0xD1 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE
+0xD2 0x00D2 #LATIN CAPITAL LETTER O WITH GRAVE
+0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE
+0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE
+0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7 0x00D7 #MULTIPLICATION SIGN
+0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE
+0xD9 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE
+0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE
+0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE 0x00DE #LATIN CAPITAL LETTER THORN
+0xDF 0x00DF #LATIN SMALL LETTER SHARP S
+0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE
+0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE
+0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3 0x00E3 #LATIN SMALL LETTER A WITH TILDE
+0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS
+0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE
+0xE6 0x00E6 #LATIN SMALL LIGATURE AE
+0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA
+0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS
+0xEC 0x00EC #LATIN SMALL LETTER I WITH GRAVE
+0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE
+0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS
+0xF0 0x00F0 #LATIN SMALL LETTER ETH
+0xF1 0x00F1 #LATIN SMALL LETTER N WITH TILDE
+0xF2 0x00F2 #LATIN SMALL LETTER O WITH GRAVE
+0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE
+0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE
+0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS
+0xF7 0x00F7 #DIVISION SIGN
+0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE
+0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE
+0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE
+0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE
+0xFE 0x00FE #LATIN SMALL LETTER THORN
+0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS
diff --git a/Unicode/cp1256.cp b/Unicode/cp1256.cp
new file mode 100644
index 0000000..57333f9
--- /dev/null
+++ b/Unicode/cp1256.cp
@@ -0,0 +1,276 @@
+Window$ 1256 (Arabic)
+"windows-1256", "1256", "cp1256"
+#
+# Name: cp1256 to Unicode table
+# Unicode version: 2.1
+# Table version: 2.01
+# Table format: Format A
+# Date: 01/5/99
+#
+# Contact: cpxlate@microsoft.com
+#
+# General notes: none
+#
+# Format: Three tab-separated columns
+# Column #1 is the cp1256 code (in hex)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 is the Unicode name (follows a comment sign, '#')
+#
+# The entries are in cp1256 order
+#
+0x00 0x0000 #NULL
+0x01 0x0001 #START OF HEADING
+0x02 0x0002 #START OF TEXT
+0x03 0x0003 #END OF TEXT
+0x04 0x0004 #END OF TRANSMISSION
+0x05 0x0005 #ENQUIRY
+0x06 0x0006 #ACKNOWLEDGE
+0x07 0x0007 #BELL
+0x08 0x0008 #BACKSPACE
+0x09 0x0009 #HORIZONTAL TABULATION
+0x0A 0x000A #LINE FEED
+0x0B 0x000B #VERTICAL TABULATION
+0x0C 0x000C #FORM FEED
+0x0D 0x000D #CARRIAGE RETURN
+0x0E 0x000E #SHIFT OUT
+0x0F 0x000F #SHIFT IN
+0x10 0x0010 #DATA LINK ESCAPE
+0x11 0x0011 #DEVICE CONTROL ONE
+0x12 0x0012 #DEVICE CONTROL TWO
+0x13 0x0013 #DEVICE CONTROL THREE
+0x14 0x0014 #DEVICE CONTROL FOUR
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE
+0x16 0x0016 #SYNCHRONOUS IDLE
+0x17 0x0017 #END OF TRANSMISSION BLOCK
+0x18 0x0018 #CANCEL
+0x19 0x0019 #END OF MEDIUM
+0x1A 0x001A #SUBSTITUTE
+0x1B 0x001B #ESCAPE
+0x1C 0x001C #FILE SEPARATOR
+0x1D 0x001D #GROUP SEPARATOR
+0x1E 0x001E #RECORD SEPARATOR
+0x1F 0x001F #UNIT SEPARATOR
+0x20 0x0020 #SPACE
+0x21 0x0021 #EXCLAMATION MARK
+0x22 0x0022 #QUOTATION MARK
+0x23 0x0023 #NUMBER SIGN
+0x24 0x0024 #DOLLAR SIGN
+0x25 0x0025 #PERCENT SIGN
+0x26 0x0026 #AMPERSAND
+0x27 0x0027 #APOSTROPHE
+0x28 0x0028 #LEFT PARENTHESIS
+0x29 0x0029 #RIGHT PARENTHESIS
+0x2A 0x002A #ASTERISK
+0x2B 0x002B #PLUS SIGN
+0x2C 0x002C #COMMA
+0x2D 0x002D #HYPHEN-MINUS
+0x2E 0x002E #FULL STOP
+0x2F 0x002F #SOLIDUS
+0x30 0x0030 #DIGIT ZERO
+0x31 0x0031 #DIGIT ONE
+0x32 0x0032 #DIGIT TWO
+0x33 0x0033 #DIGIT THREE
+0x34 0x0034 #DIGIT FOUR
+0x35 0x0035 #DIGIT FIVE
+0x36 0x0036 #DIGIT SIX
+0x37 0x0037 #DIGIT SEVEN
+0x38 0x0038 #DIGIT EIGHT
+0x39 0x0039 #DIGIT NINE
+0x3A 0x003A #COLON
+0x3B 0x003B #SEMICOLON
+0x3C 0x003C #LESS-THAN SIGN
+0x3D 0x003D #EQUALS SIGN
+0x3E 0x003E #GREATER-THAN SIGN
+0x3F 0x003F #QUESTION MARK
+0x40 0x0040 #COMMERCIAL AT
+0x41 0x0041 #LATIN CAPITAL LETTER A
+0x42 0x0042 #LATIN CAPITAL LETTER B
+0x43 0x0043 #LATIN CAPITAL LETTER C
+0x44 0x0044 #LATIN CAPITAL LETTER D
+0x45 0x0045 #LATIN CAPITAL LETTER E
+0x46 0x0046 #LATIN CAPITAL LETTER F
+0x47 0x0047 #LATIN CAPITAL LETTER G
+0x48 0x0048 #LATIN CAPITAL LETTER H
+0x49 0x0049 #LATIN CAPITAL LETTER I
+0x4A 0x004A #LATIN CAPITAL LETTER J
+0x4B 0x004B #LATIN CAPITAL LETTER K
+0x4C 0x004C #LATIN CAPITAL LETTER L
+0x4D 0x004D #LATIN CAPITAL LETTER M
+0x4E 0x004E #LATIN CAPITAL LETTER N
+0x4F 0x004F #LATIN CAPITAL LETTER O
+0x50 0x0050 #LATIN CAPITAL LETTER P
+0x51 0x0051 #LATIN CAPITAL LETTER Q
+0x52 0x0052 #LATIN CAPITAL LETTER R
+0x53 0x0053 #LATIN CAPITAL LETTER S
+0x54 0x0054 #LATIN CAPITAL LETTER T
+0x55 0x0055 #LATIN CAPITAL LETTER U
+0x56 0x0056 #LATIN CAPITAL LETTER V
+0x57 0x0057 #LATIN CAPITAL LETTER W
+0x58 0x0058 #LATIN CAPITAL LETTER X
+0x59 0x0059 #LATIN CAPITAL LETTER Y
+0x5A 0x005A #LATIN CAPITAL LETTER Z
+0x5B 0x005B #LEFT SQUARE BRACKET
+0x5C 0x005C #REVERSE SOLIDUS
+0x5D 0x005D #RIGHT SQUARE BRACKET
+0x5E 0x005E #CIRCUMFLEX ACCENT
+0x5F 0x005F #LOW LINE
+0x60 0x0060 #GRAVE ACCENT
+0x61 0x0061 #LATIN SMALL LETTER A
+0x62 0x0062 #LATIN SMALL LETTER B
+0x63 0x0063 #LATIN SMALL LETTER C
+0x64 0x0064 #LATIN SMALL LETTER D
+0x65 0x0065 #LATIN SMALL LETTER E
+0x66 0x0066 #LATIN SMALL LETTER F
+0x67 0x0067 #LATIN SMALL LETTER G
+0x68 0x0068 #LATIN SMALL LETTER H
+0x69 0x0069 #LATIN SMALL LETTER I
+0x6A 0x006A #LATIN SMALL LETTER J
+0x6B 0x006B #LATIN SMALL LETTER K
+0x6C 0x006C #LATIN SMALL LETTER L
+0x6D 0x006D #LATIN SMALL LETTER M
+0x6E 0x006E #LATIN SMALL LETTER N
+0x6F 0x006F #LATIN SMALL LETTER O
+0x70 0x0070 #LATIN SMALL LETTER P
+0x71 0x0071 #LATIN SMALL LETTER Q
+0x72 0x0072 #LATIN SMALL LETTER R
+0x73 0x0073 #LATIN SMALL LETTER S
+0x74 0x0074 #LATIN SMALL LETTER T
+0x75 0x0075 #LATIN SMALL LETTER U
+0x76 0x0076 #LATIN SMALL LETTER V
+0x77 0x0077 #LATIN SMALL LETTER W
+0x78 0x0078 #LATIN SMALL LETTER X
+0x79 0x0079 #LATIN SMALL LETTER Y
+0x7A 0x007A #LATIN SMALL LETTER Z
+0x7B 0x007B #LEFT CURLY BRACKET
+0x7C 0x007C #VERTICAL LINE
+0x7D 0x007D #RIGHT CURLY BRACKET
+0x7E 0x007E #TILDE
+0x7F 0x007F #DELETE
+0x80 0x20AC #EURO SIGN
+0x81 0x067E #ARABIC LETTER PEH
+0x82 0x201A #SINGLE LOW-9 QUOTATION MARK
+0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK
+0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK
+0x85 0x2026 #HORIZONTAL ELLIPSIS
+0x86 0x2020 #DAGGER
+0x87 0x2021 #DOUBLE DAGGER
+0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT
+0x89 0x2030 #PER MILLE SIGN
+0x8A 0x0679 #ARABIC LETTER TTEH
+0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C 0x0152 #LATIN CAPITAL LIGATURE OE
+0x8D 0x0686 #ARABIC LETTER TCHEH
+0x8E 0x0698 #ARABIC LETTER JEH
+0x8F 0x0688 #ARABIC LETTER DDAL
+0x90 0x06AF #ARABIC LETTER GAF
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK
+0x95 0x2022 #BULLET
+0x96 0x2013 #EN DASH
+0x97 0x2014 #EM DASH
+0x98 0x06A9 #ARABIC LETTER KEHEH
+0x99 0x2122 #TRADE MARK SIGN
+0x9A 0x0691 #ARABIC LETTER RREH
+0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C 0x0153 #LATIN SMALL LIGATURE OE
+0x9D 0x200C #ZERO WIDTH NON-JOINER
+0x9E 0x200D #ZERO WIDTH JOINER
+0x9F 0x06BA #ARABIC LETTER NOON GHUNNA
+0xA0 0x00A0 #NO-BREAK SPACE
+0xA1 0x060C #ARABIC COMMA
+0xA2 0x00A2 #CENT SIGN
+0xA3 0x00A3 #POUND SIGN
+0xA4 0x00A4 #CURRENCY SIGN
+0xA5 0x00A5 #YEN SIGN
+0xA6 0x00A6 #BROKEN BAR
+0xA7 0x00A7 #SECTION SIGN
+0xA8 0x00A8 #DIAERESIS
+0xA9 0x00A9 #COPYRIGHT SIGN
+0xAA 0x06BE #ARABIC LETTER HEH DOACHASHMEE
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC 0x00AC #NOT SIGN
+0xAD 0x00AD #SOFT HYPHEN
+0xAE 0x00AE #REGISTERED SIGN
+0xAF 0x00AF #MACRON
+0xB0 0x00B0 #DEGREE SIGN
+0xB1 0x00B1 #PLUS-MINUS SIGN
+0xB2 0x00B2 #SUPERSCRIPT TWO
+0xB3 0x00B3 #SUPERSCRIPT THREE
+0xB4 0x00B4 #ACUTE ACCENT
+0xB5 0x00B5 #MICRO SIGN
+0xB6 0x00B6 #PILCROW SIGN
+0xB7 0x00B7 #MIDDLE DOT
+0xB8 0x00B8 #CEDILLA
+0xB9 0x00B9 #SUPERSCRIPT ONE
+0xBA 0x061B #ARABIC SEMICOLON
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC 0x00BC #VULGAR FRACTION ONE QUARTER
+0xBD 0x00BD #VULGAR FRACTION ONE HALF
+0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS
+0xBF 0x061F #ARABIC QUESTION MARK
+0xC0 0x06C1 #ARABIC LETTER HEH GOAL
+0xC1 0x0621 #ARABIC LETTER HAMZA
+0xC2 0x0622 #ARABIC LETTER ALEF WITH MADDA ABOVE
+0xC3 0x0623 #ARABIC LETTER ALEF WITH HAMZA ABOVE
+0xC4 0x0624 #ARABIC LETTER WAW WITH HAMZA ABOVE
+0xC5 0x0625 #ARABIC LETTER ALEF WITH HAMZA BELOW
+0xC6 0x0626 #ARABIC LETTER YEH WITH HAMZA ABOVE
+0xC7 0x0627 #ARABIC LETTER ALEF
+0xC8 0x0628 #ARABIC LETTER BEH
+0xC9 0x0629 #ARABIC LETTER TEH MARBUTA
+0xCA 0x062A #ARABIC LETTER TEH
+0xCB 0x062B #ARABIC LETTER THEH
+0xCC 0x062C #ARABIC LETTER JEEM
+0xCD 0x062D #ARABIC LETTER HAH
+0xCE 0x062E #ARABIC LETTER KHAH
+0xCF 0x062F #ARABIC LETTER DAL
+0xD0 0x0630 #ARABIC LETTER THAL
+0xD1 0x0631 #ARABIC LETTER REH
+0xD2 0x0632 #ARABIC LETTER ZAIN
+0xD3 0x0633 #ARABIC LETTER SEEN
+0xD4 0x0634 #ARABIC LETTER SHEEN
+0xD5 0x0635 #ARABIC LETTER SAD
+0xD6 0x0636 #ARABIC LETTER DAD
+0xD7 0x00D7 #MULTIPLICATION SIGN
+0xD8 0x0637 #ARABIC LETTER TAH
+0xD9 0x0638 #ARABIC LETTER ZAH
+0xDA 0x0639 #ARABIC LETTER AIN
+0xDB 0x063A #ARABIC LETTER GHAIN
+0xDC 0x0640 #ARABIC TATWEEL
+0xDD 0x0641 #ARABIC LETTER FEH
+0xDE 0x0642 #ARABIC LETTER QAF
+0xDF 0x0643 #ARABIC LETTER KAF
+0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE
+0xE1 0x0644 #ARABIC LETTER LAM
+0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3 0x0645 #ARABIC LETTER MEEM
+0xE4 0x0646 #ARABIC LETTER NOON
+0xE5 0x0647 #ARABIC LETTER HEH
+0xE6 0x0648 #ARABIC LETTER WAW
+0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA
+0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS
+0xEC 0x0649 #ARABIC LETTER ALEF MAKSURA
+0xED 0x064A #ARABIC LETTER YEH
+0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS
+0xF0 0x064B #ARABIC FATHATAN
+0xF1 0x064C #ARABIC DAMMATAN
+0xF2 0x064D #ARABIC KASRATAN
+0xF3 0x064E #ARABIC FATHA
+0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5 0x064F #ARABIC DAMMA
+0xF6 0x0650 #ARABIC KASRA
+0xF7 0x00F7 #DIVISION SIGN
+0xF8 0x0651 #ARABIC SHADDA
+0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE
+0xFA 0x0652 #ARABIC SUKUN
+0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x200E #LEFT-TO-RIGHT MARK
+0xFE 0x200F #RIGHT-TO-LEFT MARK
+0xFF 0x06D2 #ARABIC LETTER YEH BARREE
diff --git a/Unicode/cp1257.cp b/Unicode/cp1257.cp
new file mode 100644
index 0000000..3656f13
--- /dev/null
+++ b/Unicode/cp1257.cp
@@ -0,0 +1,153 @@
+Window$ 1257 (Baltic)
+"windows-1257", "1257", "cp1257"
+#
+# Name: cp1257 to Unicode table
+# Unicode version: 2.0
+# Table version: 2.01
+# Table format: Format A
+# Date: 04/15/98
+#
+# Contact: cpxlate@microsoft.com
+#
+# General notes: none
+#
+# Format: Three tab-separated columns
+# Column #1 is the cp1257 code (in hex)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 is the Unicode name (follows a comment sign, '#')
+#
+# The entries are in cp1257 order
+#
+##################
+
+0x20-0x7e idem
+#
+0x80 0x20AC #EURO SIGN
+0x81 0 #UNDEFINED
+0x82 0x201A #SINGLE LOW-9 QUOTATION MARK
+0x83 0 #UNDEFINED
+0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK
+0x85 0x2026 #HORIZONTAL ELLIPSIS
+0x86 0x2020 #DAGGER
+0x87 0x2021 #DOUBLE DAGGER
+0x88 0 #UNDEFINED
+0x89 0x2030 #PER MILLE SIGN
+0x8A 0 #UNDEFINED
+0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C 0 #UNDEFINED
+0x8D 0x00A8 #DIAERESIS
+0x8E 0x02C7 #CARON
+0x8F 0x00B8 #CEDILLA
+0x90 0 #UNDEFINED
+0x91 0x2018 #LEFT SINGLE QUOTATION MARK
+0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
+0x93 0x201C #LEFT DOUBLE QUOTATION MARK
+0x94 0x201D #RIGHT DOUBLE QUOTATION MARK
+0x95 0x2022 #BULLET
+0x96 0x2013 #EN DASH
+0x97 0x2014 #EM DASH
+0x98 0 #UNDEFINED
+0x99 0x2122 #TRADE MARK SIGN
+0x9A 0 #UNDEFINED
+0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C 0 #UNDEFINED
+0x9D 0x00AF #MACRON
+0x9E 0x02DB #OGONEK
+0x9F 0 #UNDEFINED
+0xA0 0x00A0 #NO-BREAK SPACE
+0xA1 0 #UNDEFINED
+0xA2 0x00A2 #CENT SIGN
+0xA3 0x00A3 #POUND SIGN
+0xA4 0x00A4 #CURRENCY SIGN
+0xA5 0 #UNDEFINED
+0xA6 0x00A6 #BROKEN BAR
+0xA7 0x00A7 #SECTION SIGN
+0xA8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE
+0xA9 0x00A9 #COPYRIGHT SIGN
+0xAA 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA
+0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC 0x00AC #NOT SIGN
+0xAD 0x00AD #SOFT HYPHEN
+0xAE 0x00AE #REGISTERED SIGN
+0xAF 0x00C6 #LATIN CAPITAL LETTER AE
+0xB0 0x00B0 #DEGREE SIGN
+0xB1 0x00B1 #PLUS-MINUS SIGN
+0xB2 0x00B2 #SUPERSCRIPT TWO
+0xB3 0x00B3 #SUPERSCRIPT THREE
+0xB4 0x00B4 #ACUTE ACCENT
+0xB5 0x00B5 #MICRO SIGN
+0xB6 0x00B6 #PILCROW SIGN
+0xB7 0x00B7 #MIDDLE DOT
+0xB8 0x00F8 #LATIN SMALL LETTER O WITH STROKE
+0xB9 0x00B9 #SUPERSCRIPT ONE
+0xBA 0x0157 #LATIN SMALL LETTER R WITH CEDILLA
+0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC 0x00BC #VULGAR FRACTION ONE QUARTER
+0xBD 0x00BD #VULGAR FRACTION ONE HALF
+0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS
+0xBF 0x00E6 #LATIN SMALL LETTER AE
+0xC0 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
+0xC1 0x012E #LATIN CAPITAL LETTER I WITH OGONEK
+0xC2 0x0100 #LATIN CAPITAL LETTER A WITH MACRON
+0xC3 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE
+0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
+0xC7 0x0112 #LATIN CAPITAL LETTER E WITH MACRON
+0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON
+0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE
+0xCB 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xCC 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA
+0xCD 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA
+0xCE 0x012A #LATIN CAPITAL LETTER I WITH MACRON
+0xCF 0x013B #LATIN CAPITAL LETTER L WITH CEDILLA
+0xD0 0x0160 #LATIN CAPITAL LETTER S WITH CARON
+0xD1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE
+0xD2 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA
+0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE
+0xD4 0x014C #LATIN CAPITAL LETTER O WITH MACRON
+0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE
+0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7 0x00D7 #MULTIPLICATION SIGN
+0xD8 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK
+0xD9 0x0141 #LATIN CAPITAL LETTER L WITH STROKE
+0xDA 0x015A #LATIN CAPITAL LETTER S WITH ACUTE
+0xDB 0x016A #LATIN CAPITAL LETTER U WITH MACRON
+0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xDE 0x017D #LATIN CAPITAL LETTER Z WITH CARON
+0xDF 0x00DF #LATIN SMALL LETTER SHARP S
+0xE0 0x0105 #LATIN SMALL LETTER A WITH OGONEK
+0xE1 0x012F #LATIN SMALL LETTER I WITH OGONEK
+0xE2 0x0101 #LATIN SMALL LETTER A WITH MACRON
+0xE3 0x0107 #LATIN SMALL LETTER C WITH ACUTE
+0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS
+0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE
+0xE6 0x0119 #LATIN SMALL LETTER E WITH OGONEK
+0xE7 0x0113 #LATIN SMALL LETTER E WITH MACRON
+0xE8 0x010D #LATIN SMALL LETTER C WITH CARON
+0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x017A #LATIN SMALL LETTER Z WITH ACUTE
+0xEB 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE
+0xEC 0x0123 #LATIN SMALL LETTER G WITH CEDILLA
+0xED 0x0137 #LATIN SMALL LETTER K WITH CEDILLA
+0xEE 0x012B #LATIN SMALL LETTER I WITH MACRON
+0xEF 0x013C #LATIN SMALL LETTER L WITH CEDILLA
+0xF0 0x0161 #LATIN SMALL LETTER S WITH CARON
+0xF1 0x0144 #LATIN SMALL LETTER N WITH ACUTE
+0xF2 0x0146 #LATIN SMALL LETTER N WITH CEDILLA
+0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE
+0xF4 0x014D #LATIN SMALL LETTER O WITH MACRON
+0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE
+0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS
+0xF7 0x00F7 #DIVISION SIGN
+0xF8 0x0173 #LATIN SMALL LETTER U WITH OGONEK
+0xF9 0x0142 #LATIN SMALL LETTER L WITH STROKE
+0xFA 0x015B #LATIN SMALL LETTER S WITH ACUTE
+0xFB 0x016B #LATIN SMALL LETTER U WITH MACRON
+0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE
+0xFE 0x017E #LATIN SMALL LETTER Z WITH CARON
+0xFF 0x02D9 #DOT ABOVE
+
diff --git a/Unicode/cp437.cp b/Unicode/cp437.cp
new file mode 100644
index 0000000..67b4728
--- /dev/null
+++ b/Unicode/cp437.cp
@@ -0,0 +1,275 @@
+CP 437 (US)
+"cp437", "437"
+#
+# Name: cp437_DOSLatinUS to Unicode table
+# Unicode version: 2.0
+# Table version: 2.00
+# Table format: Format A
+# Date: 04/24/96
+# Authors: Lori Brownell <loribr@microsoft.com>
+# K.D. Chang <a-kchang@microsoft.com>
+# General notes: none
+#
+# Format: Three tab-separated columns
+# Column #1 is the cp437_DOSLatinUS code (in hex)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 is the Unicode name (follows a comment sign, '#')
+#
+# The entries are in cp437_DOSLatinUS order
+#
+0x00 0x0000 #NULL
+0x01 0x0001 #START OF HEADING
+0x02 0x0002 #START OF TEXT
+0x03 0x0003 #END OF TEXT
+0x04 0x0004 #END OF TRANSMISSION
+0x05 0x0005 #ENQUIRY
+0x06 0x0006 #ACKNOWLEDGE
+0x07 0x0007 #BELL
+0x08 0x0008 #BACKSPACE
+0x09 0x0009 #HORIZONTAL TABULATION
+0x0a 0x000a #LINE FEED
+0x0b 0x000b #VERTICAL TABULATION
+0x0c 0x000c #FORM FEED
+0x0d 0x000d #CARRIAGE RETURN
+0x0e 0x000e #SHIFT OUT
+0x0f 0x000f #SHIFT IN
+0x10 0x0010 #DATA LINK ESCAPE
+0x11 0x0011 #DEVICE CONTROL ONE
+0x12 0x0012 #DEVICE CONTROL TWO
+0x13 0x0013 #DEVICE CONTROL THREE
+0x14 0x0014 #DEVICE CONTROL FOUR
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE
+0x16 0x0016 #SYNCHRONOUS IDLE
+0x17 0x0017 #END OF TRANSMISSION BLOCK
+0x18 0x0018 #CANCEL
+0x19 0x0019 #END OF MEDIUM
+0x1a 0x001a #SUBSTITUTE
+0x1b 0x001b #ESCAPE
+0x1c 0x001c #FILE SEPARATOR
+0x1d 0x001d #GROUP SEPARATOR
+0x1e 0x001e #RECORD SEPARATOR
+0x1f 0x001f #UNIT SEPARATOR
+0x20 0x0020 #SPACE
+0x21 0x0021 #EXCLAMATION MARK
+0x22 0x0022 #QUOTATION MARK
+0x23 0x0023 #NUMBER SIGN
+0x24 0x0024 #DOLLAR SIGN
+0x25 0x0025 #PERCENT SIGN
+0x26 0x0026 #AMPERSAND
+0x27 0x0027 #APOSTROPHE
+0x28 0x0028 #LEFT PARENTHESIS
+0x29 0x0029 #RIGHT PARENTHESIS
+0x2a 0x002a #ASTERISK
+0x2b 0x002b #PLUS SIGN
+0x2c 0x002c #COMMA
+0x2d 0x002d #HYPHEN-MINUS
+0x2e 0x002e #FULL STOP
+0x2f 0x002f #SOLIDUS
+0x30 0x0030 #DIGIT ZERO
+0x31 0x0031 #DIGIT ONE
+0x32 0x0032 #DIGIT TWO
+0x33 0x0033 #DIGIT THREE
+0x34 0x0034 #DIGIT FOUR
+0x35 0x0035 #DIGIT FIVE
+0x36 0x0036 #DIGIT SIX
+0x37 0x0037 #DIGIT SEVEN
+0x38 0x0038 #DIGIT EIGHT
+0x39 0x0039 #DIGIT NINE
+0x3a 0x003a #COLON
+0x3b 0x003b #SEMICOLON
+0x3c 0x003c #LESS-THAN SIGN
+0x3d 0x003d #EQUALS SIGN
+0x3e 0x003e #GREATER-THAN SIGN
+0x3f 0x003f #QUESTION MARK
+0x40 0x0040 #COMMERCIAL AT
+0x41 0x0041 #LATIN CAPITAL LETTER A
+0x42 0x0042 #LATIN CAPITAL LETTER B
+0x43 0x0043 #LATIN CAPITAL LETTER C
+0x44 0x0044 #LATIN CAPITAL LETTER D
+0x45 0x0045 #LATIN CAPITAL LETTER E
+0x46 0x0046 #LATIN CAPITAL LETTER F
+0x47 0x0047 #LATIN CAPITAL LETTER G
+0x48 0x0048 #LATIN CAPITAL LETTER H
+0x49 0x0049 #LATIN CAPITAL LETTER I
+0x4a 0x004a #LATIN CAPITAL LETTER J
+0x4b 0x004b #LATIN CAPITAL LETTER K
+0x4c 0x004c #LATIN CAPITAL LETTER L
+0x4d 0x004d #LATIN CAPITAL LETTER M
+0x4e 0x004e #LATIN CAPITAL LETTER N
+0x4f 0x004f #LATIN CAPITAL LETTER O
+0x50 0x0050 #LATIN CAPITAL LETTER P
+0x51 0x0051 #LATIN CAPITAL LETTER Q
+0x52 0x0052 #LATIN CAPITAL LETTER R
+0x53 0x0053 #LATIN CAPITAL LETTER S
+0x54 0x0054 #LATIN CAPITAL LETTER T
+0x55 0x0055 #LATIN CAPITAL LETTER U
+0x56 0x0056 #LATIN CAPITAL LETTER V
+0x57 0x0057 #LATIN CAPITAL LETTER W
+0x58 0x0058 #LATIN CAPITAL LETTER X
+0x59 0x0059 #LATIN CAPITAL LETTER Y
+0x5a 0x005a #LATIN CAPITAL LETTER Z
+0x5b 0x005b #LEFT SQUARE BRACKET
+0x5c 0x005c #REVERSE SOLIDUS
+0x5d 0x005d #RIGHT SQUARE BRACKET
+0x5e 0x005e #CIRCUMFLEX ACCENT
+0x5f 0x005f #LOW LINE
+0x60 0x0060 #GRAVE ACCENT
+0x61 0x0061 #LATIN SMALL LETTER A
+0x62 0x0062 #LATIN SMALL LETTER B
+0x63 0x0063 #LATIN SMALL LETTER C
+0x64 0x0064 #LATIN SMALL LETTER D
+0x65 0x0065 #LATIN SMALL LETTER E
+0x66 0x0066 #LATIN SMALL LETTER F
+0x67 0x0067 #LATIN SMALL LETTER G
+0x68 0x0068 #LATIN SMALL LETTER H
+0x69 0x0069 #LATIN SMALL LETTER I
+0x6a 0x006a #LATIN SMALL LETTER J
+0x6b 0x006b #LATIN SMALL LETTER K
+0x6c 0x006c #LATIN SMALL LETTER L
+0x6d 0x006d #LATIN SMALL LETTER M
+0x6e 0x006e #LATIN SMALL LETTER N
+0x6f 0x006f #LATIN SMALL LETTER O
+0x70 0x0070 #LATIN SMALL LETTER P
+0x71 0x0071 #LATIN SMALL LETTER Q
+0x72 0x0072 #LATIN SMALL LETTER R
+0x73 0x0073 #LATIN SMALL LETTER S
+0x74 0x0074 #LATIN SMALL LETTER T
+0x75 0x0075 #LATIN SMALL LETTER U
+0x76 0x0076 #LATIN SMALL LETTER V
+0x77 0x0077 #LATIN SMALL LETTER W
+0x78 0x0078 #LATIN SMALL LETTER X
+0x79 0x0079 #LATIN SMALL LETTER Y
+0x7a 0x007a #LATIN SMALL LETTER Z
+0x7b 0x007b #LEFT CURLY BRACKET
+0x7c 0x007c #VERTICAL LINE
+0x7d 0x007d #RIGHT CURLY BRACKET
+0x7e 0x007e #TILDE
+0x7f 0x007f #DELETE
+0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
+0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
+0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
+0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
+0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
+0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
+0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
+0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
+0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
+0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
+0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x8d 0x00ec #LATIN SMALL LETTER I WITH GRAVE
+0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
+0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
+0x91 0x00e6 #LATIN SMALL LIGATURE AE
+0x92 0x00c6 #LATIN CAPITAL LIGATURE AE
+0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
+0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE
+0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
+0x98 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS
+0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b 0x00a2 #CENT SIGN
+0x9c 0x00a3 #POUND SIGN
+0x9d 0x00a5 #YEN SIGN
+0x9e 0x20a7 #PESETA SIGN
+0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK
+0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
+0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE
+0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
+0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE
+0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE
+0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
+0xa6 0x00aa #FEMININE ORDINAL INDICATOR
+0xa7 0x00ba #MASCULINE ORDINAL INDICATOR
+0xa8 0x00bf #INVERTED QUESTION MARK
+0xa9 0x2310 #REVERSED NOT SIGN
+0xaa 0x00ac #NOT SIGN
+0xab 0x00bd #VULGAR FRACTION ONE HALF
+0xac 0x00bc #VULGAR FRACTION ONE QUARTER
+0xad 0x00a1 #INVERTED EXCLAMATION MARK
+0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0 0x2591 #LIGHT SHADE
+0xb1 0x2592 #MEDIUM SHADE
+0xb2 0x2593 #DARK SHADE
+0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
+0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
+0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
+0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb 0x2588 #FULL BLOCK
+0xdc 0x2584 #LOWER HALF BLOCK
+0xdd 0x258c #LEFT HALF BLOCK
+0xde 0x2590 #RIGHT HALF BLOCK
+0xdf 0x2580 #UPPER HALF BLOCK
+0xe0 0x03b1 #GREEK SMALL LETTER ALPHA
+0xe1 0x00df #LATIN SMALL LETTER SHARP S
+0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA
+0xe3 0x03c0 #GREEK SMALL LETTER PI
+0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA
+0xe5 0x03c3 #GREEK SMALL LETTER SIGMA
+0xe6 0x00b5 #MICRO SIGN
+0xe7 0x03c4 #GREEK SMALL LETTER TAU
+0xe8 0x03a6 #GREEK CAPITAL LETTER PHI
+0xe9 0x0398 #GREEK CAPITAL LETTER THETA
+0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA
+0xeb 0x03b4 #GREEK SMALL LETTER DELTA
+0xec 0x221e #INFINITY
+0xed 0x03c6 #GREEK SMALL LETTER PHI
+0xee 0x03b5 #GREEK SMALL LETTER EPSILON
+0xef 0x2229 #INTERSECTION
+0xf0 0x2261 #IDENTICAL TO
+0xf1 0x00b1 #PLUS-MINUS SIGN
+0xf2 0x2265 #GREATER-THAN OR EQUAL TO
+0xf3 0x2264 #LESS-THAN OR EQUAL TO
+0xf4 0x2320 #TOP HALF INTEGRAL
+0xf5 0x2321 #BOTTOM HALF INTEGRAL
+0xf6 0x00f7 #DIVISION SIGN
+0xf7 0x2248 #ALMOST EQUAL TO
+0xf8 0x00b0 #DEGREE SIGN
+0xf9 0x2219 #BULLET OPERATOR
+0xfa 0x00b7 #MIDDLE DOT
+0xfb 0x221a #SQUARE ROOT
+0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N
+0xfd 0x00b2 #SUPERSCRIPT TWO
+0xfe 0x25a0 #BLACK SQUARE
+0xff 0x00a0 #NO-BREAK SPACE
diff --git a/Unicode/cp737.cp b/Unicode/cp737.cp
new file mode 100644
index 0000000..16d3401
--- /dev/null
+++ b/Unicode/cp737.cp
@@ -0,0 +1,275 @@
+CP 737 (Greek)
+"cp737", "737"
+#
+# Name: cp737_DOSGreek to Unicode table
+# Unicode version: 2.0
+# Table version: 2.00
+# Table format: Format A
+# Date: 04/24/96
+# Authors: Lori Brownell <loribr@microsoft.com>
+# K.D. Chang <a-kchang@microsoft.com>
+# General notes: none
+#
+# Format: Three tab-separated columns
+# Column #1 is the cp737_DOSGreek code (in hex)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 is the Unicode name (follows a comment sign, '#')
+#
+# The entries are in cp737_DOSGreek order
+#
+0x00 0x0000 #NULL
+0x01 0x0001 #START OF HEADING
+0x02 0x0002 #START OF TEXT
+0x03 0x0003 #END OF TEXT
+0x04 0x0004 #END OF TRANSMISSION
+0x05 0x0005 #ENQUIRY
+0x06 0x0006 #ACKNOWLEDGE
+0x07 0x0007 #BELL
+0x08 0x0008 #BACKSPACE
+0x09 0x0009 #HORIZONTAL TABULATION
+0x0a 0x000a #LINE FEED
+0x0b 0x000b #VERTICAL TABULATION
+0x0c 0x000c #FORM FEED
+0x0d 0x000d #CARRIAGE RETURN
+0x0e 0x000e #SHIFT OUT
+0x0f 0x000f #SHIFT IN
+0x10 0x0010 #DATA LINK ESCAPE
+0x11 0x0011 #DEVICE CONTROL ONE
+0x12 0x0012 #DEVICE CONTROL TWO
+0x13 0x0013 #DEVICE CONTROL THREE
+0x14 0x0014 #DEVICE CONTROL FOUR
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE
+0x16 0x0016 #SYNCHRONOUS IDLE
+0x17 0x0017 #END OF TRANSMISSION BLOCK
+0x18 0x0018 #CANCEL
+0x19 0x0019 #END OF MEDIUM
+0x1a 0x001a #SUBSTITUTE
+0x1b 0x001b #ESCAPE
+0x1c 0x001c #FILE SEPARATOR
+0x1d 0x001d #GROUP SEPARATOR
+0x1e 0x001e #RECORD SEPARATOR
+0x1f 0x001f #UNIT SEPARATOR
+0x20 0x0020 #SPACE
+0x21 0x0021 #EXCLAMATION MARK
+0x22 0x0022 #QUOTATION MARK
+0x23 0x0023 #NUMBER SIGN
+0x24 0x0024 #DOLLAR SIGN
+0x25 0x0025 #PERCENT SIGN
+0x26 0x0026 #AMPERSAND
+0x27 0x0027 #APOSTROPHE
+0x28 0x0028 #LEFT PARENTHESIS
+0x29 0x0029 #RIGHT PARENTHESIS
+0x2a 0x002a #ASTERISK
+0x2b 0x002b #PLUS SIGN
+0x2c 0x002c #COMMA
+0x2d 0x002d #HYPHEN-MINUS
+0x2e 0x002e #FULL STOP
+0x2f 0x002f #SOLIDUS
+0x30 0x0030 #DIGIT ZERO
+0x31 0x0031 #DIGIT ONE
+0x32 0x0032 #DIGIT TWO
+0x33 0x0033 #DIGIT THREE
+0x34 0x0034 #DIGIT FOUR
+0x35 0x0035 #DIGIT FIVE
+0x36 0x0036 #DIGIT SIX
+0x37 0x0037 #DIGIT SEVEN
+0x38 0x0038 #DIGIT EIGHT
+0x39 0x0039 #DIGIT NINE
+0x3a 0x003a #COLON
+0x3b 0x003b #SEMICOLON
+0x3c 0x003c #LESS-THAN SIGN
+0x3d 0x003d #EQUALS SIGN
+0x3e 0x003e #GREATER-THAN SIGN
+0x3f 0x003f #QUESTION MARK
+0x40 0x0040 #COMMERCIAL AT
+0x41 0x0041 #LATIN CAPITAL LETTER A
+0x42 0x0042 #LATIN CAPITAL LETTER B
+0x43 0x0043 #LATIN CAPITAL LETTER C
+0x44 0x0044 #LATIN CAPITAL LETTER D
+0x45 0x0045 #LATIN CAPITAL LETTER E
+0x46 0x0046 #LATIN CAPITAL LETTER F
+0x47 0x0047 #LATIN CAPITAL LETTER G
+0x48 0x0048 #LATIN CAPITAL LETTER H
+0x49 0x0049 #LATIN CAPITAL LETTER I
+0x4a 0x004a #LATIN CAPITAL LETTER J
+0x4b 0x004b #LATIN CAPITAL LETTER K
+0x4c 0x004c #LATIN CAPITAL LETTER L
+0x4d 0x004d #LATIN CAPITAL LETTER M
+0x4e 0x004e #LATIN CAPITAL LETTER N
+0x4f 0x004f #LATIN CAPITAL LETTER O
+0x50 0x0050 #LATIN CAPITAL LETTER P
+0x51 0x0051 #LATIN CAPITAL LETTER Q
+0x52 0x0052 #LATIN CAPITAL LETTER R
+0x53 0x0053 #LATIN CAPITAL LETTER S
+0x54 0x0054 #LATIN CAPITAL LETTER T
+0x55 0x0055 #LATIN CAPITAL LETTER U
+0x56 0x0056 #LATIN CAPITAL LETTER V
+0x57 0x0057 #LATIN CAPITAL LETTER W
+0x58 0x0058 #LATIN CAPITAL LETTER X
+0x59 0x0059 #LATIN CAPITAL LETTER Y
+0x5a 0x005a #LATIN CAPITAL LETTER Z
+0x5b 0x005b #LEFT SQUARE BRACKET
+0x5c 0x005c #REVERSE SOLIDUS
+0x5d 0x005d #RIGHT SQUARE BRACKET
+0x5e 0x005e #CIRCUMFLEX ACCENT
+0x5f 0x005f #LOW LINE
+0x60 0x0060 #GRAVE ACCENT
+0x61 0x0061 #LATIN SMALL LETTER A
+0x62 0x0062 #LATIN SMALL LETTER B
+0x63 0x0063 #LATIN SMALL LETTER C
+0x64 0x0064 #LATIN SMALL LETTER D
+0x65 0x0065 #LATIN SMALL LETTER E
+0x66 0x0066 #LATIN SMALL LETTER F
+0x67 0x0067 #LATIN SMALL LETTER G
+0x68 0x0068 #LATIN SMALL LETTER H
+0x69 0x0069 #LATIN SMALL LETTER I
+0x6a 0x006a #LATIN SMALL LETTER J
+0x6b 0x006b #LATIN SMALL LETTER K
+0x6c 0x006c #LATIN SMALL LETTER L
+0x6d 0x006d #LATIN SMALL LETTER M
+0x6e 0x006e #LATIN SMALL LETTER N
+0x6f 0x006f #LATIN SMALL LETTER O
+0x70 0x0070 #LATIN SMALL LETTER P
+0x71 0x0071 #LATIN SMALL LETTER Q
+0x72 0x0072 #LATIN SMALL LETTER R
+0x73 0x0073 #LATIN SMALL LETTER S
+0x74 0x0074 #LATIN SMALL LETTER T
+0x75 0x0075 #LATIN SMALL LETTER U
+0x76 0x0076 #LATIN SMALL LETTER V
+0x77 0x0077 #LATIN SMALL LETTER W
+0x78 0x0078 #LATIN SMALL LETTER X
+0x79 0x0079 #LATIN SMALL LETTER Y
+0x7a 0x007a #LATIN SMALL LETTER Z
+0x7b 0x007b #LEFT CURLY BRACKET
+0x7c 0x007c #VERTICAL LINE
+0x7d 0x007d #RIGHT CURLY BRACKET
+0x7e 0x007e #TILDE
+0x7f 0x007f #DELETE
+0x80 0x0391 #GREEK CAPITAL LETTER ALPHA
+0x81 0x0392 #GREEK CAPITAL LETTER BETA
+0x82 0x0393 #GREEK CAPITAL LETTER GAMMA
+0x83 0x0394 #GREEK CAPITAL LETTER DELTA
+0x84 0x0395 #GREEK CAPITAL LETTER EPSILON
+0x85 0x0396 #GREEK CAPITAL LETTER ZETA
+0x86 0x0397 #GREEK CAPITAL LETTER ETA
+0x87 0x0398 #GREEK CAPITAL LETTER THETA
+0x88 0x0399 #GREEK CAPITAL LETTER IOTA
+0x89 0x039a #GREEK CAPITAL LETTER KAPPA
+0x8a 0x039b #GREEK CAPITAL LETTER LAMDA
+0x8b 0x039c #GREEK CAPITAL LETTER MU
+0x8c 0x039d #GREEK CAPITAL LETTER NU
+0x8d 0x039e #GREEK CAPITAL LETTER XI
+0x8e 0x039f #GREEK CAPITAL LETTER OMICRON
+0x8f 0x03a0 #GREEK CAPITAL LETTER PI
+0x90 0x03a1 #GREEK CAPITAL LETTER RHO
+0x91 0x03a3 #GREEK CAPITAL LETTER SIGMA
+0x92 0x03a4 #GREEK CAPITAL LETTER TAU
+0x93 0x03a5 #GREEK CAPITAL LETTER UPSILON
+0x94 0x03a6 #GREEK CAPITAL LETTER PHI
+0x95 0x03a7 #GREEK CAPITAL LETTER CHI
+0x96 0x03a8 #GREEK CAPITAL LETTER PSI
+0x97 0x03a9 #GREEK CAPITAL LETTER OMEGA
+0x98 0x03b1 #GREEK SMALL LETTER ALPHA
+0x99 0x03b2 #GREEK SMALL LETTER BETA
+0x9a 0x03b3 #GREEK SMALL LETTER GAMMA
+0x9b 0x03b4 #GREEK SMALL LETTER DELTA
+0x9c 0x03b5 #GREEK SMALL LETTER EPSILON
+0x9d 0x03b6 #GREEK SMALL LETTER ZETA
+0x9e 0x03b7 #GREEK SMALL LETTER ETA
+0x9f 0x03b8 #GREEK SMALL LETTER THETA
+0xa0 0x03b9 #GREEK SMALL LETTER IOTA
+0xa1 0x03ba #GREEK SMALL LETTER KAPPA
+0xa2 0x03bb #GREEK SMALL LETTER LAMDA
+0xa3 0x03bc #GREEK SMALL LETTER MU
+0xa4 0x03bd #GREEK SMALL LETTER NU
+0xa5 0x03be #GREEK SMALL LETTER XI
+0xa6 0x03bf #GREEK SMALL LETTER OMICRON
+0xa7 0x03c0 #GREEK SMALL LETTER PI
+0xa8 0x03c1 #GREEK SMALL LETTER RHO
+0xa9 0x03c3 #GREEK SMALL LETTER SIGMA
+0xaa 0x03c2 #GREEK SMALL LETTER FINAL SIGMA
+0xab 0x03c4 #GREEK SMALL LETTER TAU
+0xac 0x03c5 #GREEK SMALL LETTER UPSILON
+0xad 0x03c6 #GREEK SMALL LETTER PHI
+0xae 0x03c7 #GREEK SMALL LETTER CHI
+0xaf 0x03c8 #GREEK SMALL LETTER PSI
+0xb0 0x2591 #LIGHT SHADE
+0xb1 0x2592 #MEDIUM SHADE
+0xb2 0x2593 #DARK SHADE
+0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
+0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
+0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
+0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb 0x2588 #FULL BLOCK
+0xdc 0x2584 #LOWER HALF BLOCK
+0xdd 0x258c #LEFT HALF BLOCK
+0xde 0x2590 #RIGHT HALF BLOCK
+0xdf 0x2580 #UPPER HALF BLOCK
+0xe0 0x03c9 #GREEK SMALL LETTER OMEGA
+0xe1 0x03ac #GREEK SMALL LETTER ALPHA WITH TONOS
+0xe2 0x03ad #GREEK SMALL LETTER EPSILON WITH TONOS
+0xe3 0x03ae #GREEK SMALL LETTER ETA WITH TONOS
+0xe4 0x03ca #GREEK SMALL LETTER IOTA WITH DIALYTIKA
+0xe5 0x03af #GREEK SMALL LETTER IOTA WITH TONOS
+0xe6 0x03cc #GREEK SMALL LETTER OMICRON WITH TONOS
+0xe7 0x03cd #GREEK SMALL LETTER UPSILON WITH TONOS
+0xe8 0x03cb #GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+0xe9 0x03ce #GREEK SMALL LETTER OMEGA WITH TONOS
+0xea 0x0386 #GREEK CAPITAL LETTER ALPHA WITH TONOS
+0xeb 0x0388 #GREEK CAPITAL LETTER EPSILON WITH TONOS
+0xec 0x0389 #GREEK CAPITAL LETTER ETA WITH TONOS
+0xed 0x038a #GREEK CAPITAL LETTER IOTA WITH TONOS
+0xee 0x038c #GREEK CAPITAL LETTER OMICRON WITH TONOS
+0xef 0x038e #GREEK CAPITAL LETTER UPSILON WITH TONOS
+0xf0 0x038f #GREEK CAPITAL LETTER OMEGA WITH TONOS
+0xf1 0x00b1 #PLUS-MINUS SIGN
+0xf2 0x2265 #GREATER-THAN OR EQUAL TO
+0xf3 0x2264 #LESS-THAN OR EQUAL TO
+0xf4 0x03aa #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0xf5 0x03ab #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+0xf6 0x00f7 #DIVISION SIGN
+0xf7 0x2248 #ALMOST EQUAL TO
+0xf8 0x00b0 #DEGREE SIGN
+0xf9 0x2219 #BULLET OPERATOR
+0xfa 0x00b7 #MIDDLE DOT
+0xfb 0x221a #SQUARE ROOT
+0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N
+0xfd 0x00b2 #SUPERSCRIPT TWO
+0xfe 0x25a0 #BLACK SQUARE
+0xff 0x00a0 #NO-BREAK SPACE
diff --git a/Unicode/cp850.cp b/Unicode/cp850.cp
new file mode 100644
index 0000000..cf0eba6
--- /dev/null
+++ b/Unicode/cp850.cp
@@ -0,0 +1,275 @@
+CP 850 (Western European)
+"cp850", "850"
+#
+# Name: cp850_DOSLatin1 to Unicode table
+# Unicode version: 2.0
+# Table version: 2.00
+# Table format: Format A
+# Date: 04/24/96
+# Authors: Lori Brownell <loribr@microsoft.com>
+# K.D. Chang <a-kchang@microsoft.com>
+# General notes: none
+#
+# Format: Three tab-separated columns
+# Column #1 is the cp850_DOSLatin1 code (in hex)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 is the Unicode name (follows a comment sign, '#')
+#
+# The entries are in cp850_DOSLatin1 order
+#
+0x00 0x0000 #NULL
+0x01 0x0001 #START OF HEADING
+0x02 0x0002 #START OF TEXT
+0x03 0x0003 #END OF TEXT
+0x04 0x0004 #END OF TRANSMISSION
+0x05 0x0005 #ENQUIRY
+0x06 0x0006 #ACKNOWLEDGE
+0x07 0x0007 #BELL
+0x08 0x0008 #BACKSPACE
+0x09 0x0009 #HORIZONTAL TABULATION
+0x0a 0x000a #LINE FEED
+0x0b 0x000b #VERTICAL TABULATION
+0x0c 0x000c #FORM FEED
+0x0d 0x000d #CARRIAGE RETURN
+0x0e 0x000e #SHIFT OUT
+0x0f 0x000f #SHIFT IN
+0x10 0x0010 #DATA LINK ESCAPE
+0x11 0x0011 #DEVICE CONTROL ONE
+0x12 0x0012 #DEVICE CONTROL TWO
+0x13 0x0013 #DEVICE CONTROL THREE
+0x14 0x0014 #DEVICE CONTROL FOUR
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE
+0x16 0x0016 #SYNCHRONOUS IDLE
+0x17 0x0017 #END OF TRANSMISSION BLOCK
+0x18 0x0018 #CANCEL
+0x19 0x0019 #END OF MEDIUM
+0x1a 0x001a #SUBSTITUTE
+0x1b 0x001b #ESCAPE
+0x1c 0x001c #FILE SEPARATOR
+0x1d 0x001d #GROUP SEPARATOR
+0x1e 0x001e #RECORD SEPARATOR
+0x1f 0x001f #UNIT SEPARATOR
+0x20 0x0020 #SPACE
+0x21 0x0021 #EXCLAMATION MARK
+0x22 0x0022 #QUOTATION MARK
+0x23 0x0023 #NUMBER SIGN
+0x24 0x0024 #DOLLAR SIGN
+0x25 0x0025 #PERCENT SIGN
+0x26 0x0026 #AMPERSAND
+0x27 0x0027 #APOSTROPHE
+0x28 0x0028 #LEFT PARENTHESIS
+0x29 0x0029 #RIGHT PARENTHESIS
+0x2a 0x002a #ASTERISK
+0x2b 0x002b #PLUS SIGN
+0x2c 0x002c #COMMA
+0x2d 0x002d #HYPHEN-MINUS
+0x2e 0x002e #FULL STOP
+0x2f 0x002f #SOLIDUS
+0x30 0x0030 #DIGIT ZERO
+0x31 0x0031 #DIGIT ONE
+0x32 0x0032 #DIGIT TWO
+0x33 0x0033 #DIGIT THREE
+0x34 0x0034 #DIGIT FOUR
+0x35 0x0035 #DIGIT FIVE
+0x36 0x0036 #DIGIT SIX
+0x37 0x0037 #DIGIT SEVEN
+0x38 0x0038 #DIGIT EIGHT
+0x39 0x0039 #DIGIT NINE
+0x3a 0x003a #COLON
+0x3b 0x003b #SEMICOLON
+0x3c 0x003c #LESS-THAN SIGN
+0x3d 0x003d #EQUALS SIGN
+0x3e 0x003e #GREATER-THAN SIGN
+0x3f 0x003f #QUESTION MARK
+0x40 0x0040 #COMMERCIAL AT
+0x41 0x0041 #LATIN CAPITAL LETTER A
+0x42 0x0042 #LATIN CAPITAL LETTER B
+0x43 0x0043 #LATIN CAPITAL LETTER C
+0x44 0x0044 #LATIN CAPITAL LETTER D
+0x45 0x0045 #LATIN CAPITAL LETTER E
+0x46 0x0046 #LATIN CAPITAL LETTER F
+0x47 0x0047 #LATIN CAPITAL LETTER G
+0x48 0x0048 #LATIN CAPITAL LETTER H
+0x49 0x0049 #LATIN CAPITAL LETTER I
+0x4a 0x004a #LATIN CAPITAL LETTER J
+0x4b 0x004b #LATIN CAPITAL LETTER K
+0x4c 0x004c #LATIN CAPITAL LETTER L
+0x4d 0x004d #LATIN CAPITAL LETTER M
+0x4e 0x004e #LATIN CAPITAL LETTER N
+0x4f 0x004f #LATIN CAPITAL LETTER O
+0x50 0x0050 #LATIN CAPITAL LETTER P
+0x51 0x0051 #LATIN CAPITAL LETTER Q
+0x52 0x0052 #LATIN CAPITAL LETTER R
+0x53 0x0053 #LATIN CAPITAL LETTER S
+0x54 0x0054 #LATIN CAPITAL LETTER T
+0x55 0x0055 #LATIN CAPITAL LETTER U
+0x56 0x0056 #LATIN CAPITAL LETTER V
+0x57 0x0057 #LATIN CAPITAL LETTER W
+0x58 0x0058 #LATIN CAPITAL LETTER X
+0x59 0x0059 #LATIN CAPITAL LETTER Y
+0x5a 0x005a #LATIN CAPITAL LETTER Z
+0x5b 0x005b #LEFT SQUARE BRACKET
+0x5c 0x005c #REVERSE SOLIDUS
+0x5d 0x005d #RIGHT SQUARE BRACKET
+0x5e 0x005e #CIRCUMFLEX ACCENT
+0x5f 0x005f #LOW LINE
+0x60 0x0060 #GRAVE ACCENT
+0x61 0x0061 #LATIN SMALL LETTER A
+0x62 0x0062 #LATIN SMALL LETTER B
+0x63 0x0063 #LATIN SMALL LETTER C
+0x64 0x0064 #LATIN SMALL LETTER D
+0x65 0x0065 #LATIN SMALL LETTER E
+0x66 0x0066 #LATIN SMALL LETTER F
+0x67 0x0067 #LATIN SMALL LETTER G
+0x68 0x0068 #LATIN SMALL LETTER H
+0x69 0x0069 #LATIN SMALL LETTER I
+0x6a 0x006a #LATIN SMALL LETTER J
+0x6b 0x006b #LATIN SMALL LETTER K
+0x6c 0x006c #LATIN SMALL LETTER L
+0x6d 0x006d #LATIN SMALL LETTER M
+0x6e 0x006e #LATIN SMALL LETTER N
+0x6f 0x006f #LATIN SMALL LETTER O
+0x70 0x0070 #LATIN SMALL LETTER P
+0x71 0x0071 #LATIN SMALL LETTER Q
+0x72 0x0072 #LATIN SMALL LETTER R
+0x73 0x0073 #LATIN SMALL LETTER S
+0x74 0x0074 #LATIN SMALL LETTER T
+0x75 0x0075 #LATIN SMALL LETTER U
+0x76 0x0076 #LATIN SMALL LETTER V
+0x77 0x0077 #LATIN SMALL LETTER W
+0x78 0x0078 #LATIN SMALL LETTER X
+0x79 0x0079 #LATIN SMALL LETTER Y
+0x7a 0x007a #LATIN SMALL LETTER Z
+0x7b 0x007b #LEFT CURLY BRACKET
+0x7c 0x007c #VERTICAL LINE
+0x7d 0x007d #RIGHT CURLY BRACKET
+0x7e 0x007e #TILDE
+0x7f 0x007f #DELETE
+0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
+0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
+0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
+0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
+0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
+0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
+0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
+0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
+0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
+0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
+0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x8d 0x00ec #LATIN SMALL LETTER I WITH GRAVE
+0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
+0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
+0x91 0x00e6 #LATIN SMALL LIGATURE AE
+0x92 0x00c6 #LATIN CAPITAL LIGATURE AE
+0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
+0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE
+0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
+0x98 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS
+0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b 0x00f8 #LATIN SMALL LETTER O WITH STROKE
+0x9c 0x00a3 #POUND SIGN
+0x9d 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
+0x9e 0x00d7 #MULTIPLICATION SIGN
+0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK
+0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
+0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE
+0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
+0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE
+0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE
+0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
+0xa6 0x00aa #FEMININE ORDINAL INDICATOR
+0xa7 0x00ba #MASCULINE ORDINAL INDICATOR
+0xa8 0x00bf #INVERTED QUESTION MARK
+0xa9 0x00ae #REGISTERED SIGN
+0xaa 0x00ac #NOT SIGN
+0xab 0x00bd #VULGAR FRACTION ONE HALF
+0xac 0x00bc #VULGAR FRACTION ONE QUARTER
+0xad 0x00a1 #INVERTED EXCLAMATION MARK
+0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0 0x2591 #LIGHT SHADE
+0xb1 0x2592 #MEDIUM SHADE
+0xb2 0x2593 #DARK SHADE
+0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
+0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
+0xb6 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xb7 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE
+0xb8 0x00a9 #COPYRIGHT SIGN
+0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
+0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd 0x00a2 #CENT SIGN
+0xbe 0x00a5 #YEN SIGN
+0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6 0x00e3 #LATIN SMALL LETTER A WITH TILDE
+0xc7 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE
+0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf 0x00a4 #CURRENCY SIGN
+0xd0 0x00f0 #LATIN SMALL LETTER ETH
+0xd1 0x00d0 #LATIN CAPITAL LETTER ETH
+0xd2 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xd3 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xd4 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE
+0xd5 0x0131 #LATIN SMALL LETTER DOTLESS I
+0xd6 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
+0xd7 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xd8 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS
+0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
+0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb 0x2588 #FULL BLOCK
+0xdc 0x2584 #LOWER HALF BLOCK
+0xdd 0x00a6 #BROKEN BAR
+0xde 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE
+0xdf 0x2580 #UPPER HALF BLOCK
+0xe0 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
+0xe1 0x00df #LATIN SMALL LETTER SHARP S
+0xe2 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xe3 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE
+0xe4 0x00f5 #LATIN SMALL LETTER O WITH TILDE
+0xe5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE
+0xe6 0x00b5 #MICRO SIGN
+0xe7 0x00fe #LATIN SMALL LETTER THORN
+0xe8 0x00de #LATIN CAPITAL LETTER THORN
+0xe9 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
+0xea 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xeb 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE
+0xec 0x00fd #LATIN SMALL LETTER Y WITH ACUTE
+0xed 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE
+0xee 0x00af #MACRON
+0xef 0x00b4 #ACUTE ACCENT
+0xf0 0x00ad #SOFT HYPHEN
+0xf1 0x00b1 #PLUS-MINUS SIGN
+0xf2 0x2017 #DOUBLE LOW LINE
+0xf3 0x00be #VULGAR FRACTION THREE QUARTERS
+0xf4 0x00b6 #PILCROW SIGN
+0xf5 0x00a7 #SECTION SIGN
+0xf6 0x00f7 #DIVISION SIGN
+0xf7 0x00b8 #CEDILLA
+0xf8 0x00b0 #DEGREE SIGN
+0xf9 0x00a8 #DIAERESIS
+0xfa 0x00b7 #MIDDLE DOT
+0xfb 0x00b9 #SUPERSCRIPT ONE
+0xfc 0x00b3 #SUPERSCRIPT THREE
+0xfd 0x00b2 #SUPERSCRIPT TWO
+0xfe 0x25a0 #BLACK SQUARE
+0xff 0x00a0 #NO-BREAK SPACE
diff --git a/Unicode/cp852.cp b/Unicode/cp852.cp
new file mode 100644
index 0000000..5f0fc2c
--- /dev/null
+++ b/Unicode/cp852.cp
@@ -0,0 +1,275 @@
+CP 852 (Central European)
+"cp852", "852"
+#
+# Name: cp852_DOSLatin2 to Unicode table
+# Unicode version: 2.0
+# Table version: 2.00
+# Table format: Format A
+# Date: 04/24/96
+# Authors: Lori Brownell <loribr@microsoft.com>
+# K.D. Chang <a-kchang@microsoft.com>
+# General notes: none
+#
+# Format: Three tab-separated columns
+# Column #1 is the cp852_DOSLatin2 code (in hex)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 is the Unicode name (follows a comment sign, '#')
+#
+# The entries are in cp852_DOSLatin2 order
+#
+0x00 0x0000 #NULL
+0x01 0x0001 #START OF HEADING
+0x02 0x0002 #START OF TEXT
+0x03 0x0003 #END OF TEXT
+0x04 0x0004 #END OF TRANSMISSION
+0x05 0x0005 #ENQUIRY
+0x06 0x0006 #ACKNOWLEDGE
+0x07 0x0007 #BELL
+0x08 0x0008 #BACKSPACE
+0x09 0x0009 #HORIZONTAL TABULATION
+0x0a 0x000a #LINE FEED
+0x0b 0x000b #VERTICAL TABULATION
+0x0c 0x000c #FORM FEED
+0x0d 0x000d #CARRIAGE RETURN
+0x0e 0x000e #SHIFT OUT
+0x0f 0x000f #SHIFT IN
+0x10 0x0010 #DATA LINK ESCAPE
+0x11 0x0011 #DEVICE CONTROL ONE
+0x12 0x0012 #DEVICE CONTROL TWO
+0x13 0x0013 #DEVICE CONTROL THREE
+0x14 0x0014 #DEVICE CONTROL FOUR
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE
+0x16 0x0016 #SYNCHRONOUS IDLE
+0x17 0x0017 #END OF TRANSMISSION BLOCK
+0x18 0x0018 #CANCEL
+0x19 0x0019 #END OF MEDIUM
+0x1a 0x001a #SUBSTITUTE
+0x1b 0x001b #ESCAPE
+0x1c 0x001c #FILE SEPARATOR
+0x1d 0x001d #GROUP SEPARATOR
+0x1e 0x001e #RECORD SEPARATOR
+0x1f 0x001f #UNIT SEPARATOR
+0x20 0x0020 #SPACE
+0x21 0x0021 #EXCLAMATION MARK
+0x22 0x0022 #QUOTATION MARK
+0x23 0x0023 #NUMBER SIGN
+0x24 0x0024 #DOLLAR SIGN
+0x25 0x0025 #PERCENT SIGN
+0x26 0x0026 #AMPERSAND
+0x27 0x0027 #APOSTROPHE
+0x28 0x0028 #LEFT PARENTHESIS
+0x29 0x0029 #RIGHT PARENTHESIS
+0x2a 0x002a #ASTERISK
+0x2b 0x002b #PLUS SIGN
+0x2c 0x002c #COMMA
+0x2d 0x002d #HYPHEN-MINUS
+0x2e 0x002e #FULL STOP
+0x2f 0x002f #SOLIDUS
+0x30 0x0030 #DIGIT ZERO
+0x31 0x0031 #DIGIT ONE
+0x32 0x0032 #DIGIT TWO
+0x33 0x0033 #DIGIT THREE
+0x34 0x0034 #DIGIT FOUR
+0x35 0x0035 #DIGIT FIVE
+0x36 0x0036 #DIGIT SIX
+0x37 0x0037 #DIGIT SEVEN
+0x38 0x0038 #DIGIT EIGHT
+0x39 0x0039 #DIGIT NINE
+0x3a 0x003a #COLON
+0x3b 0x003b #SEMICOLON
+0x3c 0x003c #LESS-THAN SIGN
+0x3d 0x003d #EQUALS SIGN
+0x3e 0x003e #GREATER-THAN SIGN
+0x3f 0x003f #QUESTION MARK
+0x40 0x0040 #COMMERCIAL AT
+0x41 0x0041 #LATIN CAPITAL LETTER A
+0x42 0x0042 #LATIN CAPITAL LETTER B
+0x43 0x0043 #LATIN CAPITAL LETTER C
+0x44 0x0044 #LATIN CAPITAL LETTER D
+0x45 0x0045 #LATIN CAPITAL LETTER E
+0x46 0x0046 #LATIN CAPITAL LETTER F
+0x47 0x0047 #LATIN CAPITAL LETTER G
+0x48 0x0048 #LATIN CAPITAL LETTER H
+0x49 0x0049 #LATIN CAPITAL LETTER I
+0x4a 0x004a #LATIN CAPITAL LETTER J
+0x4b 0x004b #LATIN CAPITAL LETTER K
+0x4c 0x004c #LATIN CAPITAL LETTER L
+0x4d 0x004d #LATIN CAPITAL LETTER M
+0x4e 0x004e #LATIN CAPITAL LETTER N
+0x4f 0x004f #LATIN CAPITAL LETTER O
+0x50 0x0050 #LATIN CAPITAL LETTER P
+0x51 0x0051 #LATIN CAPITAL LETTER Q
+0x52 0x0052 #LATIN CAPITAL LETTER R
+0x53 0x0053 #LATIN CAPITAL LETTER S
+0x54 0x0054 #LATIN CAPITAL LETTER T
+0x55 0x0055 #LATIN CAPITAL LETTER U
+0x56 0x0056 #LATIN CAPITAL LETTER V
+0x57 0x0057 #LATIN CAPITAL LETTER W
+0x58 0x0058 #LATIN CAPITAL LETTER X
+0x59 0x0059 #LATIN CAPITAL LETTER Y
+0x5a 0x005a #LATIN CAPITAL LETTER Z
+0x5b 0x005b #LEFT SQUARE BRACKET
+0x5c 0x005c #REVERSE SOLIDUS
+0x5d 0x005d #RIGHT SQUARE BRACKET
+0x5e 0x005e #CIRCUMFLEX ACCENT
+0x5f 0x005f #LOW LINE
+0x60 0x0060 #GRAVE ACCENT
+0x61 0x0061 #LATIN SMALL LETTER A
+0x62 0x0062 #LATIN SMALL LETTER B
+0x63 0x0063 #LATIN SMALL LETTER C
+0x64 0x0064 #LATIN SMALL LETTER D
+0x65 0x0065 #LATIN SMALL LETTER E
+0x66 0x0066 #LATIN SMALL LETTER F
+0x67 0x0067 #LATIN SMALL LETTER G
+0x68 0x0068 #LATIN SMALL LETTER H
+0x69 0x0069 #LATIN SMALL LETTER I
+0x6a 0x006a #LATIN SMALL LETTER J
+0x6b 0x006b #LATIN SMALL LETTER K
+0x6c 0x006c #LATIN SMALL LETTER L
+0x6d 0x006d #LATIN SMALL LETTER M
+0x6e 0x006e #LATIN SMALL LETTER N
+0x6f 0x006f #LATIN SMALL LETTER O
+0x70 0x0070 #LATIN SMALL LETTER P
+0x71 0x0071 #LATIN SMALL LETTER Q
+0x72 0x0072 #LATIN SMALL LETTER R
+0x73 0x0073 #LATIN SMALL LETTER S
+0x74 0x0074 #LATIN SMALL LETTER T
+0x75 0x0075 #LATIN SMALL LETTER U
+0x76 0x0076 #LATIN SMALL LETTER V
+0x77 0x0077 #LATIN SMALL LETTER W
+0x78 0x0078 #LATIN SMALL LETTER X
+0x79 0x0079 #LATIN SMALL LETTER Y
+0x7a 0x007a #LATIN SMALL LETTER Z
+0x7b 0x007b #LEFT CURLY BRACKET
+0x7c 0x007c #VERTICAL LINE
+0x7d 0x007d #RIGHT CURLY BRACKET
+0x7e 0x007e #TILDE
+0x7f 0x007f #DELETE
+0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
+0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
+0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
+0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
+0x85 0x016f #LATIN SMALL LETTER U WITH RING ABOVE
+0x86 0x0107 #LATIN SMALL LETTER C WITH ACUTE
+0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
+0x88 0x0142 #LATIN SMALL LETTER L WITH STROKE
+0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
+0x8a 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0x8b 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x8d 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE
+0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE
+0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
+0x91 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE
+0x92 0x013a #LATIN SMALL LETTER L WITH ACUTE
+0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
+0x95 0x013d #LATIN CAPITAL LETTER L WITH CARON
+0x96 0x013e #LATIN SMALL LETTER L WITH CARON
+0x97 0x015a #LATIN CAPITAL LETTER S WITH ACUTE
+0x98 0x015b #LATIN SMALL LETTER S WITH ACUTE
+0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b 0x0164 #LATIN CAPITAL LETTER T WITH CARON
+0x9c 0x0165 #LATIN SMALL LETTER T WITH CARON
+0x9d 0x0141 #LATIN CAPITAL LETTER L WITH STROKE
+0x9e 0x00d7 #MULTIPLICATION SIGN
+0x9f 0x010d #LATIN SMALL LETTER C WITH CARON
+0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
+0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE
+0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
+0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE
+0xa4 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
+0xa5 0x0105 #LATIN SMALL LETTER A WITH OGONEK
+0xa6 0x017d #LATIN CAPITAL LETTER Z WITH CARON
+0xa7 0x017e #LATIN SMALL LETTER Z WITH CARON
+0xa8 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
+0xa9 0x0119 #LATIN SMALL LETTER E WITH OGONEK
+0xaa 0x00ac #NOT SIGN
+0xab 0x017a #LATIN SMALL LETTER Z WITH ACUTE
+0xac 0x010c #LATIN CAPITAL LETTER C WITH CARON
+0xad 0x015f #LATIN SMALL LETTER S WITH CEDILLA
+0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0 0x2591 #LIGHT SHADE
+0xb1 0x2592 #MEDIUM SHADE
+0xb2 0x2593 #DARK SHADE
+0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
+0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
+0xb6 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xb7 0x011a #LATIN CAPITAL LETTER E WITH CARON
+0xb8 0x015e #LATIN CAPITAL LETTER S WITH CEDILLA
+0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
+0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd 0x017b #LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xbe 0x017c #LATIN SMALL LETTER Z WITH DOT ABOVE
+0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6 0x0102 #LATIN CAPITAL LETTER A WITH BREVE
+0xc7 0x0103 #LATIN SMALL LETTER A WITH BREVE
+0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf 0x00a4 #CURRENCY SIGN
+0xd0 0x0111 #LATIN SMALL LETTER D WITH STROKE
+0xd1 0x0110 #LATIN CAPITAL LETTER D WITH STROKE
+0xd2 0x010e #LATIN CAPITAL LETTER D WITH CARON
+0xd3 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xd4 0x010f #LATIN SMALL LETTER D WITH CARON
+0xd5 0x0147 #LATIN CAPITAL LETTER N WITH CARON
+0xd6 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
+0xd7 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xd8 0x011b #LATIN SMALL LETTER E WITH CARON
+0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
+0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb 0x2588 #FULL BLOCK
+0xdc 0x2584 #LOWER HALF BLOCK
+0xdd 0x0162 #LATIN CAPITAL LETTER T WITH CEDILLA
+0xde 0x016e #LATIN CAPITAL LETTER U WITH RING ABOVE
+0xdf 0x2580 #UPPER HALF BLOCK
+0xe0 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
+0xe1 0x00df #LATIN SMALL LETTER SHARP S
+0xe2 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xe3 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE
+0xe4 0x0144 #LATIN SMALL LETTER N WITH ACUTE
+0xe5 0x0148 #LATIN SMALL LETTER N WITH CARON
+0xe6 0x0160 #LATIN CAPITAL LETTER S WITH CARON
+0xe7 0x0161 #LATIN SMALL LETTER S WITH CARON
+0xe8 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE
+0xe9 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
+0xea 0x0155 #LATIN SMALL LETTER R WITH ACUTE
+0xeb 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xec 0x00fd #LATIN SMALL LETTER Y WITH ACUTE
+0xed 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE
+0xee 0x0163 #LATIN SMALL LETTER T WITH CEDILLA
+0xef 0x00b4 #ACUTE ACCENT
+0xf0 0x00ad #SOFT HYPHEN
+0xf1 0x02dd #DOUBLE ACUTE ACCENT
+0xf2 0x02db #OGONEK
+0xf3 0x02c7 #CARON
+0xf4 0x02d8 #BREVE
+0xf5 0x00a7 #SECTION SIGN
+0xf6 0x00f7 #DIVISION SIGN
+0xf7 0x00b8 #CEDILLA
+0xf8 0x00b0 #DEGREE SIGN
+0xf9 0x00a8 #DIAERESIS
+0xfa 0x02d9 #DOT ABOVE
+0xfb 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xfc 0x0158 #LATIN CAPITAL LETTER R WITH CARON
+0xfd 0x0159 #LATIN SMALL LETTER R WITH CARON
+0xfe 0x25a0 #BLACK SQUARE
+0xff 0x00a0 #NO-BREAK SPACE
diff --git a/Unicode/cp866.cp b/Unicode/cp866.cp
new file mode 100644
index 0000000..a78df1b
--- /dev/null
+++ b/Unicode/cp866.cp
@@ -0,0 +1,276 @@
+CP 866 (Cyrillic)
+"cp866", "866"
+#
+# Name: cp866_DOSCyrillicRussian to Unicode table
+# Unicode version: 2.0
+# Table version: 2.00
+# Table format: Format A
+# Date: 04/24/96
+# Authors: Lori Brownell <loribr@microsoft.com>
+# K.D. Chang <a-kchang@microsoft.com>
+# General notes: none
+#
+# Format: Three tab-separated columns
+# Column #1 is the cp866_DOSCyrillicRussian code (in hex)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 is the Unicode name (follows a comment sign, '#')
+#
+# The entries are in cp866_DOSCyrillicRussian order
+#
+0x00 0x0000 #NULL
+0x01 0x0001 #START OF HEADING
+0x02 0x0002 #START OF TEXT
+0x03 0x0003 #END OF TEXT
+0x04 0x0004 #END OF TRANSMISSION
+0x05 0x0005 #ENQUIRY
+0x06 0x0006 #ACKNOWLEDGE
+0x07 0x0007 #BELL
+0x08 0x0008 #BACKSPACE
+0x09 0x0009 #HORIZONTAL TABULATION
+0x0a 0x000a #LINE FEED
+0x0b 0x000b #VERTICAL TABULATION
+0x0c 0x000c #FORM FEED
+0x0d 0x000d #CARRIAGE RETURN
+0x0e 0x000e #SHIFT OUT
+0x0f 0x000f #SHIFT IN
+0x10 0x0010 #DATA LINK ESCAPE
+0x11 0x0011 #DEVICE CONTROL ONE
+0x12 0x0012 #DEVICE CONTROL TWO
+0x13 0x0013 #DEVICE CONTROL THREE
+0x14 0x0014 #DEVICE CONTROL FOUR
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE
+0x16 0x0016 #SYNCHRONOUS IDLE
+0x17 0x0017 #END OF TRANSMISSION BLOCK
+0x18 0x0018 #CANCEL
+0x19 0x0019 #END OF MEDIUM
+0x1a 0x001a #SUBSTITUTE
+0x1b 0x001b #ESCAPE
+0x1c 0x001c #FILE SEPARATOR
+0x1d 0x001d #GROUP SEPARATOR
+0x1e 0x001e #RECORD SEPARATOR
+0x1f 0x001f #UNIT SEPARATOR
+0x20 0x0020 #SPACE
+0x21 0x0021 #EXCLAMATION MARK
+0x22 0x0022 #QUOTATION MARK
+0x23 0x0023 #NUMBER SIGN
+0x24 0x0024 #DOLLAR SIGN
+0x25 0x0025 #PERCENT SIGN
+0x26 0x0026 #AMPERSAND
+0x27 0x0027 #APOSTROPHE
+0x28 0x0028 #LEFT PARENTHESIS
+0x29 0x0029 #RIGHT PARENTHESIS
+0x2a 0x002a #ASTERISK
+0x2b 0x002b #PLUS SIGN
+0x2c 0x002c #COMMA
+0x2d 0x002d #HYPHEN-MINUS
+0x2e 0x002e #FULL STOP
+0x2f 0x002f #SOLIDUS
+0x30 0x0030 #DIGIT ZERO
+0x31 0x0031 #DIGIT ONE
+0x32 0x0032 #DIGIT TWO
+0x33 0x0033 #DIGIT THREE
+0x34 0x0034 #DIGIT FOUR
+0x35 0x0035 #DIGIT FIVE
+0x36 0x0036 #DIGIT SIX
+0x37 0x0037 #DIGIT SEVEN
+0x38 0x0038 #DIGIT EIGHT
+0x39 0x0039 #DIGIT NINE
+0x3a 0x003a #COLON
+0x3b 0x003b #SEMICOLON
+0x3c 0x003c #LESS-THAN SIGN
+0x3d 0x003d #EQUALS SIGN
+0x3e 0x003e #GREATER-THAN SIGN
+0x3f 0x003f #QUESTION MARK
+0x40 0x0040 #COMMERCIAL AT
+0x41 0x0041 #LATIN CAPITAL LETTER A
+0x42 0x0042 #LATIN CAPITAL LETTER B
+0x43 0x0043 #LATIN CAPITAL LETTER C
+0x44 0x0044 #LATIN CAPITAL LETTER D
+0x45 0x0045 #LATIN CAPITAL LETTER E
+0x46 0x0046 #LATIN CAPITAL LETTER F
+0x47 0x0047 #LATIN CAPITAL LETTER G
+0x48 0x0048 #LATIN CAPITAL LETTER H
+0x49 0x0049 #LATIN CAPITAL LETTER I
+0x4a 0x004a #LATIN CAPITAL LETTER J
+0x4b 0x004b #LATIN CAPITAL LETTER K
+0x4c 0x004c #LATIN CAPITAL LETTER L
+0x4d 0x004d #LATIN CAPITAL LETTER M
+0x4e 0x004e #LATIN CAPITAL LETTER N
+0x4f 0x004f #LATIN CAPITAL LETTER O
+0x50 0x0050 #LATIN CAPITAL LETTER P
+0x51 0x0051 #LATIN CAPITAL LETTER Q
+0x52 0x0052 #LATIN CAPITAL LETTER R
+0x53 0x0053 #LATIN CAPITAL LETTER S
+0x54 0x0054 #LATIN CAPITAL LETTER T
+0x55 0x0055 #LATIN CAPITAL LETTER U
+0x56 0x0056 #LATIN CAPITAL LETTER V
+0x57 0x0057 #LATIN CAPITAL LETTER W
+0x58 0x0058 #LATIN CAPITAL LETTER X
+0x59 0x0059 #LATIN CAPITAL LETTER Y
+0x5a 0x005a #LATIN CAPITAL LETTER Z
+0x5b 0x005b #LEFT SQUARE BRACKET
+0x5c 0x005c #REVERSE SOLIDUS
+0x5d 0x005d #RIGHT SQUARE BRACKET
+0x5e 0x005e #CIRCUMFLEX ACCENT
+0x5f 0x005f #LOW LINE
+0x60 0x0060 #GRAVE ACCENT
+0x61 0x0061 #LATIN SMALL LETTER A
+0x62 0x0062 #LATIN SMALL LETTER B
+0x63 0x0063 #LATIN SMALL LETTER C
+0x64 0x0064 #LATIN SMALL LETTER D
+0x65 0x0065 #LATIN SMALL LETTER E
+0x66 0x0066 #LATIN SMALL LETTER F
+0x67 0x0067 #LATIN SMALL LETTER G
+0x68 0x0068 #LATIN SMALL LETTER H
+0x69 0x0069 #LATIN SMALL LETTER I
+0x6a 0x006a #LATIN SMALL LETTER J
+0x6b 0x006b #LATIN SMALL LETTER K
+0x6c 0x006c #LATIN SMALL LETTER L
+0x6d 0x006d #LATIN SMALL LETTER M
+0x6e 0x006e #LATIN SMALL LETTER N
+0x6f 0x006f #LATIN SMALL LETTER O
+0x70 0x0070 #LATIN SMALL LETTER P
+0x71 0x0071 #LATIN SMALL LETTER Q
+0x72 0x0072 #LATIN SMALL LETTER R
+0x73 0x0073 #LATIN SMALL LETTER S
+0x74 0x0074 #LATIN SMALL LETTER T
+0x75 0x0075 #LATIN SMALL LETTER U
+0x76 0x0076 #LATIN SMALL LETTER V
+0x77 0x0077 #LATIN SMALL LETTER W
+0x78 0x0078 #LATIN SMALL LETTER X
+0x79 0x0079 #LATIN SMALL LETTER Y
+0x7a 0x007a #LATIN SMALL LETTER Z
+0x7b 0x007b #LEFT CURLY BRACKET
+0x7c 0x007c #VERTICAL LINE
+0x7d 0x007d #RIGHT CURLY BRACKET
+0x7e 0x007e #TILDE
+0x7f 0x007f #DELETE
+0x80 0x0410 #CYRILLIC CAPITAL LETTER A
+0x81 0x0411 #CYRILLIC CAPITAL LETTER BE
+0x82 0x0412 #CYRILLIC CAPITAL LETTER VE
+0x83 0x0413 #CYRILLIC CAPITAL LETTER GHE
+0x84 0x0414 #CYRILLIC CAPITAL LETTER DE
+0x85 0x0415 #CYRILLIC CAPITAL LETTER IE
+0x86 0x0416 #CYRILLIC CAPITAL LETTER ZHE
+0x87 0x0417 #CYRILLIC CAPITAL LETTER ZE
+0x88 0x0418 #CYRILLIC CAPITAL LETTER I
+0x89 0x0419 #CYRILLIC CAPITAL LETTER SHORT I
+0x8a 0x041a #CYRILLIC CAPITAL LETTER KA
+0x8b 0x041b #CYRILLIC CAPITAL LETTER EL
+0x8c 0x041c #CYRILLIC CAPITAL LETTER EM
+0x8d 0x041d #CYRILLIC CAPITAL LETTER EN
+0x8e 0x041e #CYRILLIC CAPITAL LETTER O
+0x8f 0x041f #CYRILLIC CAPITAL LETTER PE
+0x90 0x0420 #CYRILLIC CAPITAL LETTER ER
+0x91 0x0421 #CYRILLIC CAPITAL LETTER ES
+0x92 0x0422 #CYRILLIC CAPITAL LETTER TE
+0x93 0x0423 #CYRILLIC CAPITAL LETTER U
+0x94 0x0424 #CYRILLIC CAPITAL LETTER EF
+0x95 0x0425 #CYRILLIC CAPITAL LETTER HA
+0x96 0x0426 #CYRILLIC CAPITAL LETTER TSE
+0x97 0x0427 #CYRILLIC CAPITAL LETTER CHE
+0x98 0x0428 #CYRILLIC CAPITAL LETTER SHA
+0x99 0x0429 #CYRILLIC CAPITAL LETTER SHCHA
+0x9a 0x042a #CYRILLIC CAPITAL LETTER HARD SIGN
+0x9b 0x042b #CYRILLIC CAPITAL LETTER YERU
+0x9c 0x042c #CYRILLIC CAPITAL LETTER SOFT SIGN
+0x9d 0x042d #CYRILLIC CAPITAL LETTER E
+0x9e 0x042e #CYRILLIC CAPITAL LETTER YU
+0x9f 0x042f #CYRILLIC CAPITAL LETTER YA
+0xa0 0x0430 #CYRILLIC SMALL LETTER A
+0xa1 0x0431 #CYRILLIC SMALL LETTER BE
+0xa2 0x0432 #CYRILLIC SMALL LETTER VE
+0xa3 0x0433 #CYRILLIC SMALL LETTER GHE
+0xa4 0x0434 #CYRILLIC SMALL LETTER DE
+0xa5 0x0435 #CYRILLIC SMALL LETTER IE
+0xa6 0x0436 #CYRILLIC SMALL LETTER ZHE
+0xa7 0x0437 #CYRILLIC SMALL LETTER ZE
+0xa8 0x0438 #CYRILLIC SMALL LETTER I
+0xa9 0x0439 #CYRILLIC SMALL LETTER SHORT I
+0xaa 0x043a #CYRILLIC SMALL LETTER KA
+0xab 0x043b #CYRILLIC SMALL LETTER EL
+0xac 0x043c #CYRILLIC SMALL LETTER EM
+0xad 0x043d #CYRILLIC SMALL LETTER EN
+0xae 0x043e #CYRILLIC SMALL LETTER O
+0xaf 0x043f #CYRILLIC SMALL LETTER PE
+0xb0 0x2591 #LIGHT SHADE
+0xb1 0x2592 #MEDIUM SHADE
+0xb2 0x2593 #DARK SHADE
+0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
+0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
+0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
+0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb 0x2588 #FULL BLOCK
+0xdc 0x2584 #LOWER HALF BLOCK
+0xdd 0x258c #LEFT HALF BLOCK
+0xde 0x2590 #RIGHT HALF BLOCK
+0xdf 0x2580 #UPPER HALF BLOCK
+0xe0 0x0440 #CYRILLIC SMALL LETTER ER
+0xe1 0x0441 #CYRILLIC SMALL LETTER ES
+0xe2 0x0442 #CYRILLIC SMALL LETTER TE
+0xe3 0x0443 #CYRILLIC SMALL LETTER U
+0xe4 0x0444 #CYRILLIC SMALL LETTER EF
+0xe5 0x0445 #CYRILLIC SMALL LETTER HA
+0xe6 0x0446 #CYRILLIC SMALL LETTER TSE
+0xe7 0x0447 #CYRILLIC SMALL LETTER CHE
+0xe8 0x0448 #CYRILLIC SMALL LETTER SHA
+0xe9 0x0449 #CYRILLIC SMALL LETTER SHCHA
+0xea 0x044a #CYRILLIC SMALL LETTER HARD SIGN
+0xeb 0x044b #CYRILLIC SMALL LETTER YERU
+0xec 0x044c #CYRILLIC SMALL LETTER SOFT SIGN
+0xed 0x044d #CYRILLIC SMALL LETTER E
+0xee 0x044e #CYRILLIC SMALL LETTER YU
+0xef 0x044f #CYRILLIC SMALL LETTER YA
+0xf0 0x0401 #CYRILLIC CAPITAL LETTER IO
+0xf1 0x0451 #CYRILLIC SMALL LETTER IO
+0xf2 0x0404 #CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0xf3 0x0454 #CYRILLIC SMALL LETTER UKRAINIAN IE
+0xf4 0x0407 #CYRILLIC CAPITAL LETTER YI
+0xf5 0x0457 #CYRILLIC SMALL LETTER YI
+0xf6 0x040e #CYRILLIC CAPITAL LETTER SHORT U
+0xf7 0x045e #CYRILLIC SMALL LETTER SHORT U
+0xf8 0x00b0 #DEGREE SIGN
+0xf9 0x2219 #BULLET OPERATOR
+0xfa 0x00b7 #MIDDLE DOT
+0xfb 0x221a #SQUARE ROOT
+0xfc 0x2116 #NUMERO SIGN
+0xfd 0x00a4 #CURRENCY SIGN
+0xfe 0x25a0 #BLACK SQUARE
+0xff 0x00a0 #NO-BREAK SPACE
+
diff --git a/Unicode/entities.lnx b/Unicode/entities.lnx
new file mode 100644
index 0000000..ea233d1
--- /dev/null
+++ b/Unicode/entities.lnx
@@ -0,0 +1,1100 @@
+/*
+# M.P.: entity to unicode table. I took this file from lynx.
+# lynx/WWW/Library/Implementation/entities.h
+*/
+
+/* Entity Names to Unicode table
+** -----------------------------
+**
+*
+* Whole entities[] thing (and much more) now present
+* in this kind of structure. The structured streams to which
+* the SGML modules sends its output could then easily have access
+* to both entity names and unicode values for each (special)
+* character. Probably the whole translation to display characters
+* should be done at that later stage (e.g. in HTML.c).
+* What's missing is a way for the later stage to return info
+* to SGML whether the entity could be displayed or not.
+* (like between SGML_character() and handle_entity() via FoundEntity.)
+* Well, trying to do that now.
+* Why keep two structures for entities? Backward compatibility..
+*/
+
+#ifndef ENTITIES_H
+#define ENTITIES_H 1
+
+#include <HTUtils.h>
+#include <SGML.h>
+
+/* UC_entity_info structure is defined in SGML.h.
+ This has to be sorted alphabetically (case-sensitive),
+ bear this in mind when you add some more entities.. */
+
+/*
+
+This table available from ftp://ftp.unicode.org/
+original comment follows:
+
+
+# Author: John Cowan <cowan@ccil.org>
+# Date: 25 July 1997
+#
+# The following table maps SGML character entities from various
+# public sets (namely, ISOamsa, ISOamsb, ISOamsc, ISOamsn, ISOamso,
+# ISOamsr, ISObox, ISOcyr1, ISOcyr2, ISOdia, ISOgrk1, ISOgrk2,
+# ISOgrk3, ISOgrk4, ISOlat1, ISOlat2, ISOnum, ISOpub, ISOtech,
+# HTMLspecial, HTMLsymbol) to corresponding Unicode characters.
+#
+# The table has four tab-separated columns:
+# Column 1: SGML character entity name
+# Column 2: SGML public entity set
+# Column 3: Unicode 2.0 character code
+# Column 4: Unicode 2.0 character name (UPPER CASE)
+# Entries which don't have Unicode equivalents have "0x????"
+# in Column 3 and a lower case description (from the public entity
+# set DTD) in Column 4. The mapping is not reversible, because many
+# distinctions are unified away in Unicode, particularly between
+# mathematical symbols.
+#
+# The table is sorted case-blind by SGML character entity name.
+#
+# The contents of this table are drawn from various sources, and
+# are in the public domain.
+#
+########################
+
+ We just sort it and move column 2 away (line too long, sorry;
+ look at sgml.html in test/ directory for details).
+ Also we add a few (obsolete) synonyms:
+ "brkbar" for "brvbar" 0x00A6
+ "emdash" for "mdash" 0x2014
+ "endash" for "ndash" 0x2013
+ "hibar" for "macr" 0x00AF
+ for exact compatibility with entities[] and previous bevavior.
+ BTW, lots of synonyms found in this table, we shouldn't worry about...
+*/
+
+static CONST UC_entity_info unicode_entities[] = {
+ {"AElig", 0x00C6}, /* LATIN CAPITAL LETTER AE */
+ {"Aacgr", 0x0386}, /* GREEK CAPITAL LETTER ALPHA WITH TONOS */
+ {"Aacute", 0x00C1}, /* LATIN CAPITAL LETTER A WITH ACUTE */
+ {"Abreve", 0x0102}, /* LATIN CAPITAL LETTER A WITH BREVE */
+ {"Acirc", 0x00C2}, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
+ {"Acy", 0x0410}, /* CYRILLIC CAPITAL LETTER A */
+ {"Agr", 0x0391}, /* GREEK CAPITAL LETTER ALPHA */
+ {"Agrave", 0x00C0}, /* LATIN CAPITAL LETTER A WITH GRAVE */
+ {"Alpha", 0x0391}, /* GREEK CAPITAL LETTER ALPHA */
+ {"Amacr", 0x0100}, /* LATIN CAPITAL LETTER A WITH MACRON */
+ {"Aogon", 0x0104}, /* LATIN CAPITAL LETTER A WITH OGONEK */
+ {"Aring", 0x00C5}, /* LATIN CAPITAL LETTER A WITH RING ABOVE */
+ {"Atilde", 0x00C3}, /* LATIN CAPITAL LETTER A WITH TILDE */
+ {"Auml", 0x00C4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */
+ {"Barwed", 0x2306}, /* PERSPECTIVE */
+ {"Bcy", 0x0411}, /* CYRILLIC CAPITAL LETTER BE */
+ {"Beta", 0x0392}, /* GREEK CAPITAL LETTER BETA */
+ {"Bgr", 0x0392}, /* GREEK CAPITAL LETTER BETA */
+ {"CHcy", 0x0427}, /* CYRILLIC CAPITAL LETTER CHE */
+ {"Cacute", 0x0106}, /* LATIN CAPITAL LETTER C WITH ACUTE */
+ {"Cap", 0x22D2}, /* DOUBLE INTERSECTION */
+ {"Ccaron", 0x010C}, /* LATIN CAPITAL LETTER C WITH CARON */
+ {"Ccedil", 0x00C7}, /* LATIN CAPITAL LETTER C WITH CEDILLA */
+ {"Ccirc", 0x0108}, /* LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
+ {"Cdot", 0x010A}, /* LATIN CAPITAL LETTER C WITH DOT ABOVE */
+ {"Chi", 0x03A7}, /* GREEK CAPITAL LETTER CHI */
+ {"Cup", 0x22D3}, /* DOUBLE UNION */
+ {"DJcy", 0x0402}, /* CYRILLIC CAPITAL LETTER DJE */
+ {"DScy", 0x0405}, /* CYRILLIC CAPITAL LETTER DZE */
+ {"DZcy", 0x040F}, /* CYRILLIC CAPITAL LETTER DZHE */
+ {"Dagger", 0x2021}, /* DOUBLE DAGGER */
+ {"Dcaron", 0x010E}, /* LATIN CAPITAL LETTER D WITH CARON */
+ {"Dcy", 0x0414}, /* CYRILLIC CAPITAL LETTER DE */
+ {"Delta", 0x0394}, /* GREEK CAPITAL LETTER DELTA */
+ {"Dgr", 0x0394}, /* GREEK CAPITAL LETTER DELTA */
+ {"Dot", 0x00A8}, /* DIAERESIS */
+ {"DotDot", 0x20DC}, /* COMBINING FOUR DOTS ABOVE */
+ {"Dstrok", 0x0110}, /* LATIN CAPITAL LETTER D WITH STROKE */
+ {"EEacgr", 0x0389}, /* GREEK CAPITAL LETTER ETA WITH TONOS */
+ {"EEgr", 0x0397}, /* GREEK CAPITAL LETTER ETA */
+ {"ENG", 0x014A}, /* LATIN CAPITAL LETTER ENG */
+ {"ETH", 0x00D0}, /* LATIN CAPITAL LETTER ETH */
+ {"Eacgr", 0x0388}, /* GREEK CAPITAL LETTER EPSILON WITH TONOS */
+ {"Eacute", 0x00C9}, /* LATIN CAPITAL LETTER E WITH ACUTE */
+ {"Ecaron", 0x011A}, /* LATIN CAPITAL LETTER E WITH CARON */
+ {"Ecirc", 0x00CA}, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
+ {"Ecy", 0x042D}, /* CYRILLIC CAPITAL LETTER E */
+ {"Edot", 0x0116}, /* LATIN CAPITAL LETTER E WITH DOT ABOVE */
+ {"Egr", 0x0395}, /* GREEK CAPITAL LETTER EPSILON */
+ {"Egrave", 0x00C8}, /* LATIN CAPITAL LETTER E WITH GRAVE */
+ {"Emacr", 0x0112}, /* LATIN CAPITAL LETTER E WITH MACRON */
+ {"Eogon", 0x0118}, /* LATIN CAPITAL LETTER E WITH OGONEK */
+ {"Epsilon", 0x0395}, /* GREEK CAPITAL LETTER EPSILON */
+ {"Eta", 0x0397}, /* GREEK CAPITAL LETTER ETA */
+ {"Euml", 0x00CB}, /* LATIN CAPITAL LETTER E WITH DIAERESIS */
+ {"Euro", 0x20AC}, /* EURO SYMBOL */
+ {"Fcy", 0x0424}, /* CYRILLIC CAPITAL LETTER EF */
+ {"GJcy", 0x0403}, /* CYRILLIC CAPITAL LETTER GJE */
+ {"Gamma", 0x0393}, /* GREEK CAPITAL LETTER GAMMA */
+ {"Gbreve", 0x011E}, /* LATIN CAPITAL LETTER G WITH BREVE */
+ {"Gcedil", 0x0122}, /* LATIN CAPITAL LETTER G WITH CEDILLA */
+ {"Gcirc", 0x011C}, /* LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
+ {"Gcy", 0x0413}, /* CYRILLIC CAPITAL LETTER GHE */
+ {"Gdot", 0x0120}, /* LATIN CAPITAL LETTER G WITH DOT ABOVE */
+ {"Gg", 0x22D9}, /* VERY MUCH GREATER-THAN */
+ {"Ggr", 0x0393}, /* GREEK CAPITAL LETTER GAMMA */
+ {"Gt", 0x226B}, /* MUCH GREATER-THAN */
+ {"HARDcy", 0x042A}, /* CYRILLIC CAPITAL LETTER HARD SIGN */
+ {"Hcirc", 0x0124}, /* LATIN CAPITAL LETTER H WITH CIRCUMFLEX */
+ {"Hstrok", 0x0126}, /* LATIN CAPITAL LETTER H WITH STROKE */
+ {"IEcy", 0x0415}, /* CYRILLIC CAPITAL LETTER IE */
+ {"IJlig", 0x0132}, /* LATIN CAPITAL LIGATURE IJ */
+ {"IOcy", 0x0401}, /* CYRILLIC CAPITAL LETTER IO */
+ {"Iacgr", 0x038A}, /* GREEK CAPITAL LETTER IOTA WITH TONOS */
+ {"Iacute", 0x00CD}, /* LATIN CAPITAL LETTER I WITH ACUTE */
+ {"Icirc", 0x00CE}, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
+ {"Icy", 0x0418}, /* CYRILLIC CAPITAL LETTER I */
+ {"Idigr", 0x03AA}, /* GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
+ {"Idot", 0x0130}, /* LATIN CAPITAL LETTER I WITH DOT ABOVE */
+ {"Igr", 0x0399}, /* GREEK CAPITAL LETTER IOTA */
+ {"Igrave", 0x00CC}, /* LATIN CAPITAL LETTER I WITH GRAVE */
+ {"Imacr", 0x012A}, /* LATIN CAPITAL LETTER I WITH MACRON */
+ {"Iogon", 0x012E}, /* LATIN CAPITAL LETTER I WITH OGONEK */
+ {"Iota", 0x0399}, /* GREEK CAPITAL LETTER IOTA */
+ {"Itilde", 0x0128}, /* LATIN CAPITAL LETTER I WITH TILDE */
+ {"Iukcy", 0x0406}, /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN*/
+ {"Iuml", 0x00CF}, /* LATIN CAPITAL LETTER I WITH DIAERESIS */
+ {"Jcirc", 0x0134}, /* LATIN CAPITAL LETTER J WITH CIRCUMFLEX */
+ {"Jcy", 0x0419}, /* CYRILLIC CAPITAL LETTER SHORT I */
+ {"Jsercy", 0x0408}, /* CYRILLIC CAPITAL LETTER JE */
+ {"Jukcy", 0x0404}, /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */
+ {"KHcy", 0x0425}, /* CYRILLIC CAPITAL LETTER HA */
+ {"KHgr", 0x03A7}, /* GREEK CAPITAL LETTER CHI */
+ {"KJcy", 0x040C}, /* CYRILLIC CAPITAL LETTER KJE */
+ {"Kappa", 0x039A}, /* GREEK CAPITAL LETTER KAPPA */
+ {"Kcedil", 0x0136}, /* LATIN CAPITAL LETTER K WITH CEDILLA */
+ {"Kcy", 0x041A}, /* CYRILLIC CAPITAL LETTER KA */
+ {"Kgr", 0x039A}, /* GREEK CAPITAL LETTER KAPPA */
+ {"LJcy", 0x0409}, /* CYRILLIC CAPITAL LETTER LJE */
+ {"Lacute", 0x0139}, /* LATIN CAPITAL LETTER L WITH ACUTE */
+ {"Lambda", 0x039B}, /* GREEK CAPITAL LETTER LAMDA */
+ {"Larr", 0x219E}, /* LEFTWARDS TWO HEADED ARROW */
+ {"Lcaron", 0x013D}, /* LATIN CAPITAL LETTER L WITH CARON */
+ {"Lcedil", 0x013B}, /* LATIN CAPITAL LETTER L WITH CEDILLA */
+ {"Lcy", 0x041B}, /* CYRILLIC CAPITAL LETTER EL */
+ {"Lgr", 0x039B}, /* GREEK CAPITAL LETTER LAMDA */
+ {"Ll", 0x22D8}, /* VERY MUCH LESS-THAN */
+ {"Lmidot", 0x013F}, /* LATIN CAPITAL LETTER L WITH MIDDLE DOT */
+ {"Lstrok", 0x0141}, /* LATIN CAPITAL LETTER L WITH STROKE */
+ {"Lt", 0x226A}, /* MUCH LESS-THAN */
+ {"Mcy", 0x041C}, /* CYRILLIC CAPITAL LETTER EM */
+ {"Mgr", 0x039C}, /* GREEK CAPITAL LETTER MU */
+ {"Mu", 0x039C}, /* GREEK CAPITAL LETTER MU */
+ {"NJcy", 0x040A}, /* CYRILLIC CAPITAL LETTER NJE */
+ {"Nacute", 0x0143}, /* LATIN CAPITAL LETTER N WITH ACUTE */
+ {"Ncaron", 0x0147}, /* LATIN CAPITAL LETTER N WITH CARON */
+ {"Ncedil", 0x0145}, /* LATIN CAPITAL LETTER N WITH CEDILLA */
+ {"Ncy", 0x041D}, /* CYRILLIC CAPITAL LETTER EN */
+ {"Ngr", 0x039D}, /* GREEK CAPITAL LETTER NU */
+ {"Ntilde", 0x00D1}, /* LATIN CAPITAL LETTER N WITH TILDE */
+ {"Nu", 0x039D}, /* GREEK CAPITAL LETTER NU */
+ {"OElig", 0x0152}, /* LATIN CAPITAL LIGATURE OE */
+ {"OHacgr", 0x038F}, /* GREEK CAPITAL LETTER OMEGA WITH TONOS */
+ {"OHgr", 0x03A9}, /* GREEK CAPITAL LETTER OMEGA */
+ {"Oacgr", 0x038C}, /* GREEK CAPITAL LETTER OMICRON WITH TONOS */
+ {"Oacute", 0x00D3}, /* LATIN CAPITAL LETTER O WITH ACUTE */
+ {"Ocirc", 0x00D4}, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
+ {"Ocy", 0x041E}, /* CYRILLIC CAPITAL LETTER O */
+ {"Odblac", 0x0150}, /* LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */
+ {"Ogr", 0x039F}, /* GREEK CAPITAL LETTER OMICRON */
+ {"Ograve", 0x00D2}, /* LATIN CAPITAL LETTER O WITH GRAVE */
+ {"Omacr", 0x014C}, /* LATIN CAPITAL LETTER O WITH MACRON */
+ {"Omega", 0x03A9}, /* GREEK CAPITAL LETTER OMEGA */
+ {"Omicron", 0x039F}, /* GREEK CAPITAL LETTER OMICRON */
+ {"Oslash", 0x00D8}, /* LATIN CAPITAL LETTER O WITH STROKE */
+ {"Otilde", 0x00D5}, /* LATIN CAPITAL LETTER O WITH TILDE */
+ {"Ouml", 0x00D6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */
+ {"PHgr", 0x03A6}, /* GREEK CAPITAL LETTER PHI */
+ {"PSgr", 0x03A8}, /* GREEK CAPITAL LETTER PSI */
+ {"Pcy", 0x041F}, /* CYRILLIC CAPITAL LETTER PE */
+ {"Pgr", 0x03A0}, /* GREEK CAPITAL LETTER PI */
+ {"Phi", 0x03A6}, /* GREEK CAPITAL LETTER PHI */
+ {"Pi", 0x03A0}, /* GREEK CAPITAL LETTER PI */
+ {"Prime", 0x2033}, /* DOUBLE PRIME */
+ {"Psi", 0x03A8}, /* GREEK CAPITAL LETTER PSI */
+ {"Racute", 0x0154}, /* LATIN CAPITAL LETTER R WITH ACUTE */
+ {"Rarr", 0x21A0}, /* RIGHTWARDS TWO HEADED ARROW */
+ {"Rcaron", 0x0158}, /* LATIN CAPITAL LETTER R WITH CARON */
+ {"Rcedil", 0x0156}, /* LATIN CAPITAL LETTER R WITH CEDILLA */
+ {"Rcy", 0x0420}, /* CYRILLIC CAPITAL LETTER ER */
+ {"Rgr", 0x03A1}, /* GREEK CAPITAL LETTER RHO */
+ {"Rho", 0x03A1}, /* GREEK CAPITAL LETTER RHO */
+ {"SHCHcy", 0x0429}, /* CYRILLIC CAPITAL LETTER SHCHA */
+ {"SHcy", 0x0428}, /* CYRILLIC CAPITAL LETTER SHA */
+ {"SOFTcy", 0x042C}, /* CYRILLIC CAPITAL LETTER SOFT SIGN */
+ {"Sacute", 0x015A}, /* LATIN CAPITAL LETTER S WITH ACUTE */
+ {"Scaron", 0x0160}, /* LATIN CAPITAL LETTER S WITH CARON */
+ {"Scedil", 0x015E}, /* LATIN CAPITAL LETTER S WITH CEDILLA */
+ {"Scirc", 0x015C}, /* LATIN CAPITAL LETTER S WITH CIRCUMFLEX */
+ {"Scy", 0x0421}, /* CYRILLIC CAPITAL LETTER ES */
+ {"Sgr", 0x03A3}, /* GREEK CAPITAL LETTER SIGMA */
+ {"Sigma", 0x03A3}, /* GREEK CAPITAL LETTER SIGMA */
+ {"Sub", 0x22D0}, /* DOUBLE SUBSET */
+ {"Sup", 0x22D1}, /* DOUBLE SUPERSET */
+ {"THORN", 0x00DE}, /* LATIN CAPITAL LETTER THORN */
+ {"THgr", 0x0398}, /* GREEK CAPITAL LETTER THETA */
+ {"TSHcy", 0x040B}, /* CYRILLIC CAPITAL LETTER TSHE */
+ {"TScy", 0x0426}, /* CYRILLIC CAPITAL LETTER TSE */
+ {"Tau", 0x03A4}, /* GREEK CAPITAL LETTER TAU */
+ {"Tcaron", 0x0164}, /* LATIN CAPITAL LETTER T WITH CARON */
+ {"Tcedil", 0x0162}, /* LATIN CAPITAL LETTER T WITH CEDILLA */
+ {"Tcy", 0x0422}, /* CYRILLIC CAPITAL LETTER TE */
+ {"Tgr", 0x03A4}, /* GREEK CAPITAL LETTER TAU */
+ {"Theta", 0x0398}, /* GREEK CAPITAL LETTER THETA */
+ {"Tstrok", 0x0166}, /* LATIN CAPITAL LETTER T WITH STROKE */
+ {"Uacgr", 0x038E}, /* GREEK CAPITAL LETTER UPSILON WITH TONOS */
+ {"Uacute", 0x00DA}, /* LATIN CAPITAL LETTER U WITH ACUTE */
+ {"Ubrcy", 0x040E}, /* CYRILLIC CAPITAL LETTER SHORT U */
+ {"Ubreve", 0x016C}, /* LATIN CAPITAL LETTER U WITH BREVE */
+ {"Ucirc", 0x00DB}, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
+ {"Ucy", 0x0423}, /* CYRILLIC CAPITAL LETTER U */
+ {"Udblac", 0x0170}, /* LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */
+ {"Udigr", 0x03AB}, /* GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
+ {"Ugr", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */
+ {"Ugrave", 0x00D9}, /* LATIN CAPITAL LETTER U WITH GRAVE */
+ {"Umacr", 0x016A}, /* LATIN CAPITAL LETTER U WITH MACRON */
+ {"Uogon", 0x0172}, /* LATIN CAPITAL LETTER U WITH OGONEK */
+ {"Upsi", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */
+ {"Upsilon", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */
+ {"Uring", 0x016E}, /* LATIN CAPITAL LETTER U WITH RING ABOVE */
+ {"Utilde", 0x0168}, /* LATIN CAPITAL LETTER U WITH TILDE */
+ {"Uuml", 0x00DC}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */
+ {"Vcy", 0x0412}, /* CYRILLIC CAPITAL LETTER VE */
+ {"Vdash", 0x22A9}, /* FORCES */
+ {"Verbar", 0x2016}, /* DOUBLE VERTICAL LINE */
+ {"Vvdash", 0x22AA}, /* TRIPLE VERTICAL BAR RIGHT TURNSTILE */
+ {"Wcirc", 0x0174}, /* LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
+ {"Xgr", 0x039E}, /* GREEK CAPITAL LETTER XI */
+ {"Xi", 0x039E}, /* GREEK CAPITAL LETTER XI */
+ {"YAcy", 0x042F}, /* CYRILLIC CAPITAL LETTER YA */
+ {"YIcy", 0x0407}, /* CYRILLIC CAPITAL LETTER YI */
+ {"YUcy", 0x042E}, /* CYRILLIC CAPITAL LETTER YU */
+ {"Yacute", 0x00DD}, /* LATIN CAPITAL LETTER Y WITH ACUTE */
+ {"Ycirc", 0x0176}, /* LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
+ {"Ycy", 0x042B}, /* CYRILLIC CAPITAL LETTER YERU */
+ {"Yuml", 0x0178}, /* LATIN CAPITAL LETTER Y WITH DIAERESIS */
+ {"ZHcy", 0x0416}, /* CYRILLIC CAPITAL LETTER ZHE */
+ {"Zacute", 0x0179}, /* LATIN CAPITAL LETTER Z WITH ACUTE */
+ {"Zcaron", 0x017D}, /* LATIN CAPITAL LETTER Z WITH CARON */
+ {"Zcy", 0x0417}, /* CYRILLIC CAPITAL LETTER ZE */
+ {"Zdot", 0x017B}, /* LATIN CAPITAL LETTER Z WITH DOT ABOVE */
+ {"Zeta", 0x0396}, /* GREEK CAPITAL LETTER ZETA */
+ {"Zgr", 0x0396}, /* GREEK CAPITAL LETTER ZETA */
+ {"aacgr", 0x03AC}, /* GREEK SMALL LETTER ALPHA WITH TONOS */
+ {"aacute", 0x00E1}, /* LATIN SMALL LETTER A WITH ACUTE */
+ {"abreve", 0x0103}, /* LATIN SMALL LETTER A WITH BREVE */
+ {"acirc", 0x00E2}, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */
+ {"acute", 0x00B4}, /* ACUTE ACCENT */
+ {"acy", 0x0430}, /* CYRILLIC SMALL LETTER A */
+ {"aelig", 0x00E6}, /* LATIN SMALL LETTER AE */
+ {"agr", 0x03B1}, /* GREEK SMALL LETTER ALPHA */
+ {"agrave", 0x00E0}, /* LATIN SMALL LETTER A WITH GRAVE */
+ {"alefsym", 0x2135}, /* ALEF SYMBOL */
+ {"aleph", 0x2135}, /* ALEF SYMBOL */
+ {"alpha", 0x03B1}, /* GREEK SMALL LETTER ALPHA */
+ {"amacr", 0x0101}, /* LATIN SMALL LETTER A WITH MACRON */
+ {"amalg", 0x2210}, /* N-ARY COPRODUCT */
+ {"amp", 0x0026}, /* AMPERSAND */
+ {"and", 0x2227}, /* LOGICAL AND */
+ {"ang", 0x2220}, /* ANGLE */
+ {"ang90", 0x221F}, /* RIGHT ANGLE */
+ {"angmsd", 0x2221}, /* MEASURED ANGLE */
+ {"angsph", 0x2222}, /* SPHERICAL ANGLE */
+ {"angst", 0x212B}, /* ANGSTROM SIGN */
+ {"aogon", 0x0105}, /* LATIN SMALL LETTER A WITH OGONEK */
+ {"ap", 0x2248}, /* ALMOST EQUAL TO */
+ {"ape", 0x224A}, /* ALMOST EQUAL OR EQUAL TO */
+ {"apos", 0x02BC}, /* MODIFIER LETTER APOSTROPHE */
+ {"aring", 0x00E5}, /* LATIN SMALL LETTER A WITH RING ABOVE */
+ {"ast", 0x002A}, /* ASTERISK */
+ {"asymp", 0x2248}, /* ALMOST EQUAL TO */
+ {"atilde", 0x00E3}, /* LATIN SMALL LETTER A WITH TILDE */
+ {"auml", 0x00E4}, /* LATIN SMALL LETTER A WITH DIAERESIS */
+ {"b.Delta", 0x0394}, /* GREEK CAPITAL LETTER DELTA */
+ {"b.Gamma", 0x0393}, /* GREEK CAPITAL LETTER GAMMA */
+ {"b.Lambda", 0x039B}, /* GREEK CAPITAL LETTER LAMDA */
+ {"b.Omega", 0x03A9}, /* GREEK CAPITAL LETTER OMEGA */
+ {"b.Phi", 0x03A6}, /* GREEK CAPITAL LETTER PHI */
+ {"b.Pi", 0x03A0}, /* GREEK CAPITAL LETTER PI */
+ {"b.Psi", 0x03A8}, /* GREEK CAPITAL LETTER PSI */
+ {"b.Sigma", 0x03A3}, /* GREEK CAPITAL LETTER SIGMA */
+ {"b.Theta", 0x0398}, /* GREEK CAPITAL LETTER THETA */
+ {"b.Upsi", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */
+ {"b.Xi", 0x039E}, /* GREEK CAPITAL LETTER XI */
+ {"b.alpha", 0x03B1}, /* GREEK SMALL LETTER ALPHA */
+ {"b.beta", 0x03B2}, /* GREEK SMALL LETTER BETA */
+ {"b.chi", 0x03C7}, /* GREEK SMALL LETTER CHI */
+ {"b.delta", 0x03B3}, /* GREEK SMALL LETTER GAMMA */
+ {"b.epsi", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
+ {"b.epsis", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
+ {"b.epsiv", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
+ {"b.eta", 0x03B7}, /* GREEK SMALL LETTER ETA */
+ {"b.gamma", 0x03B3}, /* GREEK SMALL LETTER GAMMA */
+ {"b.gammad", 0x03DC}, /* GREEK LETTER DIGAMMA */
+ {"b.iota", 0x03B9}, /* GREEK SMALL LETTER IOTA */
+ {"b.kappa", 0x03BA}, /* GREEK SMALL LETTER KAPPA */
+ {"b.kappav", 0x03F0}, /* GREEK KAPPA SYMBOL */
+ {"b.lambda", 0x03BB}, /* GREEK SMALL LETTER LAMDA */
+ {"b.mu", 0x03BC}, /* GREEK SMALL LETTER MU */
+ {"b.nu", 0x03BD}, /* GREEK SMALL LETTER NU */
+ {"b.omega", 0x03CE}, /* GREEK SMALL LETTER OMEGA WITH TONOS */
+ {"b.phis", 0x03C6}, /* GREEK SMALL LETTER PHI */
+ {"b.phiv", 0x03D5}, /* GREEK PHI SYMBOL */
+ {"b.pi", 0x03C0}, /* GREEK SMALL LETTER PI */
+ {"b.piv", 0x03D6}, /* GREEK PI SYMBOL */
+ {"b.psi", 0x03C8}, /* GREEK SMALL LETTER PSI */
+ {"b.rho", 0x03C1}, /* GREEK SMALL LETTER RHO */
+ {"b.rhov", 0x03F1}, /* GREEK RHO SYMBOL */
+ {"b.sigma", 0x03C3}, /* GREEK SMALL LETTER SIGMA */
+ {"b.sigmav", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */
+ {"b.tau", 0x03C4}, /* GREEK SMALL LETTER TAU */
+ {"b.thetas", 0x03B8}, /* GREEK SMALL LETTER THETA */
+ {"b.thetav", 0x03D1}, /* GREEK THETA SYMBOL */
+ {"b.upsi", 0x03C5}, /* GREEK SMALL LETTER UPSILON */
+ {"b.xi", 0x03BE}, /* GREEK SMALL LETTER XI */
+ {"b.zeta", 0x03B6}, /* GREEK SMALL LETTER ZETA */
+ {"barwed", 0x22BC}, /* NAND */
+ {"bcong", 0x224C}, /* ALL EQUAL TO */
+ {"bcy", 0x0431}, /* CYRILLIC SMALL LETTER BE */
+ {"bdquo", 0x201E}, /* DOUBLE LOW-9 QUOTATION MARK */
+ {"becaus", 0x2235}, /* BECAUSE */
+ {"bepsi", 0x220D}, /* SMALL CONTAINS AS MEMBER */
+ {"bernou", 0x212C}, /* SCRIPT CAPITAL B */
+ {"beta", 0x03B2}, /* GREEK SMALL LETTER BETA */
+ {"beth", 0x2136}, /* BET SYMBOL */
+ {"bgr", 0x03B2}, /* GREEK SMALL LETTER BETA */
+ {"blank", 0x2423}, /* OPEN BOX */
+ {"blk12", 0x2592}, /* MEDIUM SHADE */
+ {"blk14", 0x2591}, /* LIGHT SHADE */
+ {"blk34", 0x2593}, /* DARK SHADE */
+ {"block", 0x2588}, /* FULL BLOCK */
+ {"bottom", 0x22A5}, /* UP TACK */
+ {"bowtie", 0x22C8}, /* BOWTIE */
+ {"boxDL", 0x2557}, /* BOX DRAWINGS DOUBLE DOWN AND LEFT */
+ {"boxDR", 0x2554}, /* BOX DRAWINGS DOUBLE DOWN AND RIGHT */
+ {"boxDl", 0x2556}, /* BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE */
+ {"boxDr", 0x2553}, /* BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE */
+ {"boxH", 0x2550}, /* BOX DRAWINGS DOUBLE HORIZONTAL */
+ {"boxHD", 0x2566}, /* BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL */
+ {"boxHU", 0x2569}, /* BOX DRAWINGS DOUBLE UP AND HORIZONTAL */
+ {"boxHd", 0x2564}, /* BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE*/
+ {"boxHu", 0x2567}, /* BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE */
+ {"boxUL", 0x255D}, /* BOX DRAWINGS DOUBLE UP AND LEFT */
+ {"boxUR", 0x255A}, /* BOX DRAWINGS DOUBLE UP AND RIGHT */
+ {"boxUl", 0x255C}, /* BOX DRAWINGS UP DOUBLE AND LEFT SINGLE */
+ {"boxUr", 0x2559}, /* BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE */
+ {"boxV", 0x2551}, /* BOX DRAWINGS DOUBLE VERTICAL */
+ {"boxVH", 0x256C}, /* BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL */
+ {"boxVL", 0x2563}, /* BOX DRAWINGS DOUBLE VERTICAL AND LEFT */
+ {"boxVR", 0x2560}, /* BOX DRAWINGS DOUBLE VERTICAL AND RIGHT */
+ {"boxVh", 0x256B}, /* BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SI*/
+ {"boxVl", 0x2562}, /* BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE */
+ {"boxVr", 0x255F}, /* BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE */
+ {"boxdL", 0x2555}, /* BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE */
+ {"boxdR", 0x2552}, /* BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE */
+ {"boxdl", 0x2510}, /* BOX DRAWINGS LIGHT DOWN AND LEFT */
+ {"boxdr", 0x250C}, /* BOX DRAWINGS LIGHT DOWN AND RIGHT */
+ {"boxh", 0x2500}, /* BOX DRAWINGS LIGHT HORIZONTAL */
+ {"boxhD", 0x2565}, /* BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE*/
+ {"boxhU", 0x2568}, /* BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE */
+ {"boxhd", 0x252C}, /* BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
+ {"boxhu", 0x2534}, /* BOX DRAWINGS LIGHT UP AND HORIZONTAL */
+ {"boxuL", 0x255B}, /* BOX DRAWINGS UP SINGLE AND LEFT DOUBLE */
+ {"boxuR", 0x2558}, /* BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE */
+ {"boxul", 0x2518}, /* BOX DRAWINGS LIGHT UP AND LEFT */
+ {"boxur", 0x2514}, /* BOX DRAWINGS LIGHT UP AND RIGHT */
+ {"boxv", 0x2502}, /* BOX DRAWINGS LIGHT VERTICAL */
+ {"boxvH", 0x256A}, /* BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DO*/
+ {"boxvL", 0x2561}, /* BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE */
+ {"boxvR", 0x255E}, /* BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE */
+ {"boxvh", 0x253C}, /* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
+ {"boxvl", 0x2524}, /* BOX DRAWINGS LIGHT VERTICAL AND LEFT */
+ {"boxvr", 0x251C}, /* BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
+ {"bprime", 0x2035}, /* REVERSED PRIME */
+ {"breve", 0x02D8}, /* BREVE */
+ {"brkbar", 0x00A6}, /* obsolete synonym for "brvbar" 0x00A6 */
+ {"brvbar", 0x00A6}, /* BROKEN BAR */
+ {"bsim", 0x223D}, /* REVERSED TILDE */
+ {"bsime", 0x22CD}, /* REVERSED TILDE EQUALS */
+ {"bsol", 0x005C}, /* REVERSE SOLIDUS */
+ {"bull", 0x2022}, /* BULLET */
+ {"bump", 0x224E}, /* GEOMETRICALLY EQUIVALENT TO */
+ {"bumpe", 0x224F}, /* DIFFERENCE BETWEEN */
+ {"cacute", 0x0107}, /* LATIN SMALL LETTER C WITH ACUTE */
+ {"cap", 0x2229}, /* INTERSECTION */
+ {"caret", 0x2041}, /* CARET INSERTION POINT */
+ {"caron", 0x02C7}, /* CARON */
+ {"ccaron", 0x010D}, /* LATIN SMALL LETTER C WITH CARON */
+ {"ccedil", 0x00E7}, /* LATIN SMALL LETTER C WITH CEDILLA */
+ {"ccirc", 0x0109}, /* LATIN SMALL LETTER C WITH CIRCUMFLEX */
+ {"cdot", 0x010B}, /* LATIN SMALL LETTER C WITH DOT ABOVE */
+ {"cedil", 0x00B8}, /* CEDILLA */
+ {"cent", 0x00A2}, /* CENT SIGN */
+ {"chcy", 0x0447}, /* CYRILLIC SMALL LETTER CHE */
+ {"check", 0x2713}, /* CHECK MARK */
+ {"chi", 0x03C7}, /* GREEK SMALL LETTER CHI */
+ {"cir", 0x25CB}, /* WHITE CIRCLE */
+ {"circ", 0x02C6}, /* MODIFIER LETTER CIRCUMFLEX ACCENT */
+ {"cire", 0x2257}, /* RING EQUAL TO */
+ {"clubs", 0x2663}, /* BLACK CLUB SUIT */
+ {"colon", 0x003A}, /* COLON */
+ {"colone", 0x2254}, /* COLON EQUALS */
+ {"comma", 0x002C}, /* COMMA */
+ {"commat", 0x0040}, /* COMMERCIAL AT */
+ {"comp", 0x2201}, /* COMPLEMENT */
+ {"compfn", 0x2218}, /* RING OPERATOR */
+ {"cong", 0x2245}, /* APPROXIMATELY EQUAL TO */
+ {"conint", 0x222E}, /* CONTOUR INTEGRAL */
+ {"coprod", 0x2210}, /* N-ARY COPRODUCT */
+ {"copy", 0x00A9}, /* COPYRIGHT SIGN */
+ {"copysr", 0x2117}, /* SOUND RECORDING COPYRIGHT */
+ {"crarr", 0x21B5}, /* DOWNWARDS ARROW WITH CORNER LEFTWARDS */
+ {"cross", 0x2717}, /* BALLOT X */
+ {"cuepr", 0x22DE}, /* EQUAL TO OR PRECEDES */
+ {"cuesc", 0x22DF}, /* EQUAL TO OR SUCCEEDS */
+ {"cularr", 0x21B6}, /* ANTICLOCKWISE TOP SEMICIRCLE ARROW */
+ {"cup", 0x222A}, /* UNION */
+ {"cupre", 0x227C}, /* PRECEDES OR EQUAL TO */
+ {"curarr", 0x21B7}, /* CLOCKWISE TOP SEMICIRCLE ARROW */
+ {"curren", 0x00A4}, /* CURRENCY SIGN */
+ {"cuvee", 0x22CE}, /* CURLY LOGICAL OR */
+ {"cuwed", 0x22CF}, /* CURLY LOGICAL AND */
+ {"dArr", 0x21D3}, /* DOWNWARDS DOUBLE ARROW */
+ {"dagger", 0x2020}, /* DAGGER */
+ {"daleth", 0x2138}, /* DALET SYMBOL */
+ {"darr", 0x2193}, /* DOWNWARDS ARROW */
+ {"darr2", 0x21CA}, /* DOWNWARDS PAIRED ARROWS */
+ {"dash", 0x2010}, /* HYPHEN */
+ {"dashv", 0x22A3}, /* LEFT TACK */
+ {"dblac", 0x02DD}, /* DOUBLE ACUTE ACCENT */
+ {"dcaron", 0x010F}, /* LATIN SMALL LETTER D WITH CARON */
+ {"dcy", 0x0434}, /* CYRILLIC SMALL LETTER DE */
+ {"deg", 0x00B0}, /* DEGREE SIGN */
+ {"delta", 0x03B4}, /* GREEK SMALL LETTER DELTA */
+ {"dgr", 0x03B4}, /* GREEK SMALL LETTER DELTA */
+ {"dharl", 0x21C3}, /* DOWNWARDS HARPOON WITH BARB LEFTWARDS */
+ {"dharr", 0x21C2}, /* DOWNWARDS HARPOON WITH BARB RIGHTWARDS */
+ {"diam", 0x22C4}, /* DIAMOND OPERATOR */
+ {"diams", 0x2666}, /* BLACK DIAMOND SUIT */
+ {"die", 0x00A8}, /* DIAERESIS */
+ {"divide", 0x00F7}, /* DIVISION SIGN */
+ {"divonx", 0x22C7}, /* DIVISION TIMES */
+ {"djcy", 0x0452}, /* CYRILLIC SMALL LETTER DJE */
+ {"dlarr", 0x2199}, /* SOUTH WEST ARROW */
+ {"dlcorn", 0x231E}, /* BOTTOM LEFT CORNER */
+ {"dlcrop", 0x230D}, /* BOTTOM LEFT CROP */
+ {"dollar", 0x0024}, /* DOLLAR SIGN */
+ {"dot", 0x02D9}, /* DOT ABOVE */
+ {"drarr", 0x2198}, /* SOUTH EAST ARROW */
+ {"drcorn", 0x231F}, /* BOTTOM RIGHT CORNER */
+ {"drcrop", 0x230C}, /* BOTTOM RIGHT CROP */
+ {"dscy", 0x0455}, /* CYRILLIC SMALL LETTER DZE */
+ {"dstrok", 0x0111}, /* LATIN SMALL LETTER D WITH STROKE */
+ {"dtri", 0x25BF}, /* WHITE DOWN-POINTING SMALL TRIANGLE */
+ {"dtrif", 0x25BE}, /* BLACK DOWN-POINTING SMALL TRIANGLE */
+ {"dzcy", 0x045F}, /* CYRILLIC SMALL LETTER DZHE */
+ {"eDot", 0x2251}, /* GEOMETRICALLY EQUAL TO */
+ {"eacgr", 0x03AD}, /* GREEK SMALL LETTER EPSILON WITH TONOS */
+ {"eacute", 0x00E9}, /* LATIN SMALL LETTER E WITH ACUTE */
+ {"ecaron", 0x011B}, /* LATIN SMALL LETTER E WITH CARON */
+ {"ecir", 0x2256}, /* RING IN EQUAL TO */
+ {"ecirc", 0x00EA}, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */
+ {"ecolon", 0x2255}, /* EQUALS COLON */
+ {"ecy", 0x044D}, /* CYRILLIC SMALL LETTER E */
+ {"edot", 0x0117}, /* LATIN SMALL LETTER E WITH DOT ABOVE */
+ {"eeacgr", 0x03AE}, /* GREEK SMALL LETTER ETA WITH TONOS */
+ {"eegr", 0x03B7}, /* GREEK SMALL LETTER ETA */
+ {"efDot", 0x2252}, /* APPROXIMATELY EQUAL TO OR THE IMAGE OF */
+ {"egr", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
+ {"egrave", 0x00E8}, /* LATIN SMALL LETTER E WITH GRAVE */
+ {"egs", 0x22DD}, /* EQUAL TO OR GREATER-THAN */
+ {"ell", 0x2113}, /* SCRIPT SMALL L */
+ {"els", 0x22DC}, /* EQUAL TO OR LESS-THAN */
+ {"emacr", 0x0113}, /* LATIN SMALL LETTER E WITH MACRON */
+ {"emdash", 0x2014}, /* obsolete synonym for "mdash" 0x2014 */
+ {"empty", 0x2205}, /* EMPTY SET */
+ {"emsp", 0x2003}, /* EM SPACE */
+ {"emsp13", 0x2004}, /* THREE-PER-EM SPACE */
+ {"emsp14", 0x2005}, /* FOUR-PER-EM SPACE */
+ {"endash", 0x2013}, /* obsolete synonym for "ndash" 0x2013 */
+ {"eng", 0x014B}, /* LATIN SMALL LETTER ENG */
+ {"ensp", 0x2002}, /* EN SPACE */
+ {"eogon", 0x0119}, /* LATIN SMALL LETTER E WITH OGONEK */
+ {"epsi", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
+ {"epsilon", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
+ {"epsis", 0x220A}, /* SMALL ELEMENT OF */
+ {"equals", 0x003D}, /* EQUALS SIGN */
+ {"equiv", 0x2261}, /* IDENTICAL TO */
+ {"erDot", 0x2253}, /* IMAGE OF OR APPROXIMATELY EQUAL TO */
+ {"esdot", 0x2250}, /* APPROACHES THE LIMIT */
+ {"eta", 0x03B7}, /* GREEK SMALL LETTER ETA */
+ {"eth", 0x00F0}, /* LATIN SMALL LETTER ETH */
+ {"euml", 0x00EB}, /* LATIN SMALL LETTER E WITH DIAERESIS */
+ {"euro", 0x20AC}, /* EURO SYMBOL */
+ {"excl", 0x0021}, /* EXCLAMATION MARK */
+ {"exist", 0x2203}, /* THERE EXISTS */
+ {"fcy", 0x0444}, /* CYRILLIC SMALL LETTER EF */
+ {"female", 0x2640}, /* FEMALE SIGN */
+ {"ffilig", 0xFB03}, /* LATIN SMALL LIGATURE FFI */
+ {"fflig", 0xFB00}, /* LATIN SMALL LIGATURE FF */
+ {"ffllig", 0xFB04}, /* LATIN SMALL LIGATURE FFL */
+ {"filig", 0xFB01}, /* LATIN SMALL LIGATURE FI */
+ {"flat", 0x266D}, /* MUSIC FLAT SIGN */
+ {"fllig", 0xFB02}, /* LATIN SMALL LIGATURE FL */
+ {"fnof", 0x0192}, /* LATIN SMALL LETTER F WITH HOOK */
+ {"forall", 0x2200}, /* FOR ALL */
+ {"fork", 0x22D4}, /* PITCHFORK */
+ {"frac12", 0x00BD}, /* VULGAR FRACTION ONE HALF */
+ {"frac13", 0x2153}, /* VULGAR FRACTION ONE THIRD */
+ {"frac14", 0x00BC}, /* VULGAR FRACTION ONE QUARTER */
+ {"frac15", 0x2155}, /* VULGAR FRACTION ONE FIFTH */
+ {"frac16", 0x2159}, /* VULGAR FRACTION ONE SIXTH */
+ {"frac18", 0x215B}, /* VULGAR FRACTION ONE EIGHTH */
+ {"frac23", 0x2154}, /* VULGAR FRACTION TWO THIRDS */
+ {"frac25", 0x2156}, /* VULGAR FRACTION TWO FIFTHS */
+ {"frac34", 0x00BE}, /* VULGAR FRACTION THREE QUARTERS */
+ {"frac35", 0x2157}, /* VULGAR FRACTION THREE FIFTHS */
+ {"frac38", 0x215C}, /* VULGAR FRACTION THREE EIGHTHS */
+ {"frac45", 0x2158}, /* VULGAR FRACTION FOUR FIFTHS */
+ {"frac56", 0x215A}, /* VULGAR FRACTION FIVE SIXTHS */
+ {"frac58", 0x215D}, /* VULGAR FRACTION FIVE EIGHTHS */
+ {"frac78", 0x215E}, /* VULGAR FRACTION SEVEN EIGHTHS */
+ {"frasl", 0x2044}, /* FRACTION SLASH */
+ {"frown", 0x2322}, /* FROWN */
+ {"gE", 0x2267}, /* GREATER-THAN OVER EQUAL TO */
+ {"gacute", 0x01F5}, /* LATIN SMALL LETTER G WITH ACUTE */
+ {"gamma", 0x03B3}, /* GREEK SMALL LETTER GAMMA */
+ {"gammad", 0x03DC}, /* GREEK LETTER DIGAMMA */
+ {"gbreve", 0x011F}, /* LATIN SMALL LETTER G WITH BREVE */
+ {"gcedil", 0x0123}, /* LATIN SMALL LETTER G WITH CEDILLA */
+ {"gcirc", 0x011D}, /* LATIN SMALL LETTER G WITH CIRCUMFLEX */
+ {"gcy", 0x0433}, /* CYRILLIC SMALL LETTER GHE */
+ {"gdot", 0x0121}, /* LATIN SMALL LETTER G WITH DOT ABOVE */
+ {"ge", 0x2265}, /* GREATER-THAN OR EQUAL TO */
+ {"gel", 0x22DB}, /* GREATER-THAN EQUAL TO OR LESS-THAN */
+ {"ges", 0x2265}, /* GREATER-THAN OR EQUAL TO */
+ {"ggr", 0x03B3}, /* GREEK SMALL LETTER GAMMA */
+ {"gimel", 0x2137}, /* GIMEL SYMBOL */
+ {"gjcy", 0x0453}, /* CYRILLIC SMALL LETTER GJE */
+ {"gl", 0x2277}, /* GREATER-THAN OR LESS-THAN */
+ {"gnE", 0x2269}, /* GREATER-THAN BUT NOT EQUAL TO */
+ {"gne", 0x2269}, /* GREATER-THAN BUT NOT EQUAL TO */
+ {"gnsim", 0x22E7}, /* GREATER-THAN BUT NOT EQUIVALENT TO */
+ {"grave", 0x0060}, /* GRAVE ACCENT */
+ {"gsdot", 0x22D7}, /* GREATER-THAN WITH DOT */
+ {"gsim", 0x2273}, /* GREATER-THAN OR EQUIVALENT TO */
+ {"gt", 0x003E}, /* GREATER-THAN SIGN */
+ {"gvnE", 0x2269}, /* GREATER-THAN BUT NOT EQUAL TO */
+ {"hArr", 0x21D4}, /* LEFT RIGHT DOUBLE ARROW */
+ {"hairsp", 0x200A}, /* HAIR SPACE */
+ {"half", 0x00BD}, /* VULGAR FRACTION ONE HALF */
+ {"hamilt", 0x210B}, /* SCRIPT CAPITAL H */
+ {"hardcy", 0x044A}, /* CYRILLIC SMALL LETTER HARD SIGN */
+ {"harr", 0x2194}, /* LEFT RIGHT ARROW */
+ {"harrw", 0x21AD}, /* LEFT RIGHT WAVE ARROW */
+ {"hcirc", 0x0125}, /* LATIN SMALL LETTER H WITH CIRCUMFLEX */
+ {"hearts", 0x2665}, /* BLACK HEART SUIT */
+ {"hellip", 0x2026}, /* HORIZONTAL ELLIPSIS */
+ {"hibar", 0x00AF}, /* obsolete synonym for "macr" 0x00AF */
+ {"horbar", 0x2015}, /* HORIZONTAL BAR */
+ {"hstrok", 0x0127}, /* LATIN SMALL LETTER H WITH STROKE */
+ {"hybull", 0x2043}, /* HYPHEN BULLET */
+ {"hyphen", 0x002D}, /* HYPHEN-MINUS */
+ {"iacgr", 0x03AF}, /* GREEK SMALL LETTER IOTA WITH TONOS */
+ {"iacute", 0x00ED}, /* LATIN SMALL LETTER I WITH ACUTE */
+ {"icirc", 0x00EE}, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */
+ {"icy", 0x0438}, /* CYRILLIC SMALL LETTER I */
+ {"idiagr", 0x0390}, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TON*/
+ {"idigr", 0x03CA}, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA */
+ {"iecy", 0x0435}, /* CYRILLIC SMALL LETTER IE */
+ {"iexcl", 0x00A1}, /* INVERTED EXCLAMATION MARK */
+ {"iff", 0x21D4}, /* LEFT RIGHT DOUBLE ARROW */
+ {"igr", 0x03B9}, /* GREEK SMALL LETTER IOTA */
+ {"igrave", 0x00EC}, /* LATIN SMALL LETTER I WITH GRAVE */
+ {"ijlig", 0x0133}, /* LATIN SMALL LIGATURE IJ */
+ {"imacr", 0x012B}, /* LATIN SMALL LETTER I WITH MACRON */
+ {"image", 0x2111}, /* BLACK-LETTER CAPITAL I */
+ {"incare", 0x2105}, /* CARE OF */
+ {"infin", 0x221E}, /* INFINITY */
+ {"inodot", 0x0131}, /* LATIN SMALL LETTER DOTLESS I */
+ {"int", 0x222B}, /* INTEGRAL */
+ {"intcal", 0x22BA}, /* INTERCALATE */
+ {"iocy", 0x0451}, /* CYRILLIC SMALL LETTER IO */
+ {"iogon", 0x012F}, /* LATIN SMALL LETTER I WITH OGONEK */
+ {"iota", 0x03B9}, /* GREEK SMALL LETTER IOTA */
+ {"iquest", 0x00BF}, /* INVERTED QUESTION MARK */
+ {"isin", 0x2208}, /* ELEMENT OF */
+ {"itilde", 0x0129}, /* LATIN SMALL LETTER I WITH TILDE */
+ {"iukcy", 0x0456}, /* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I*/
+ {"iuml", 0x00EF}, /* LATIN SMALL LETTER I WITH DIAERESIS */
+ {"jcirc", 0x0135}, /* LATIN SMALL LETTER J WITH CIRCUMFLEX */
+ {"jcy", 0x0439}, /* CYRILLIC SMALL LETTER SHORT I */
+ {"jsercy", 0x0458}, /* CYRILLIC SMALL LETTER JE */
+ {"jukcy", 0x0454}, /* CYRILLIC SMALL LETTER UKRAINIAN IE */
+ {"kappa", 0x03BA}, /* GREEK SMALL LETTER KAPPA */
+ {"kappav", 0x03F0}, /* GREEK KAPPA SYMBOL */
+ {"kcedil", 0x0137}, /* LATIN SMALL LETTER K WITH CEDILLA */
+ {"kcy", 0x043A}, /* CYRILLIC SMALL LETTER KA */
+ {"kgr", 0x03BA}, /* GREEK SMALL LETTER KAPPA */
+ {"kgreen", 0x0138}, /* LATIN SMALL LETTER KRA */
+ {"khcy", 0x0445}, /* CYRILLIC SMALL LETTER HA */
+ {"khgr", 0x03C7}, /* GREEK SMALL LETTER CHI */
+ {"kjcy", 0x045C}, /* CYRILLIC SMALL LETTER KJE */
+ {"lAarr", 0x21DA}, /* LEFTWARDS TRIPLE ARROW */
+ {"lArr", 0x21D0}, /* LEFTWARDS DOUBLE ARROW */
+ {"lE", 0x2266}, /* LESS-THAN OVER EQUAL TO */
+ {"lacute", 0x013A}, /* LATIN SMALL LETTER L WITH ACUTE */
+ {"lagran", 0x2112}, /* SCRIPT CAPITAL L */
+ {"lambda", 0x03BB}, /* GREEK SMALL LETTER LAMDA */
+ {"lang", 0x2329}, /* LEFT-POINTING ANGLE BRACKET */
+ {"laquo", 0x00AB}, /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
+ {"larr", 0x2190}, /* LEFTWARDS ARROW */
+ {"larr2", 0x21C7}, /* LEFTWARDS PAIRED ARROWS */
+ {"larrhk", 0x21A9}, /* LEFTWARDS ARROW WITH HOOK */
+ {"larrlp", 0x21AB}, /* LEFTWARDS ARROW WITH LOOP */
+ {"larrtl", 0x21A2}, /* LEFTWARDS ARROW WITH TAIL */
+ {"lcaron", 0x013E}, /* LATIN SMALL LETTER L WITH CARON */
+ {"lcedil", 0x013C}, /* LATIN SMALL LETTER L WITH CEDILLA */
+ {"lceil", 0x2308}, /* LEFT CEILING */
+ {"lcub", 0x007B}, /* LEFT CURLY BRACKET */
+ {"lcy", 0x043B}, /* CYRILLIC SMALL LETTER EL */
+ {"ldot", 0x22D6}, /* LESS-THAN WITH DOT */
+ {"ldquo", 0x201C}, /* LEFT DOUBLE QUOTATION MARK */
+ {"ldquor", 0x201E}, /* DOUBLE LOW-9 QUOTATION MARK */
+ {"le", 0x2264}, /* LESS-THAN OR EQUAL TO */
+ {"leg", 0x22DA}, /* LESS-THAN EQUAL TO OR GREATER-THAN */
+ {"les", 0x2264}, /* LESS-THAN OR EQUAL TO */
+ {"lfloor", 0x230A}, /* LEFT FLOOR */
+ {"lg", 0x2276}, /* LESS-THAN OR GREATER-THAN */
+ {"lgr", 0x03BB}, /* GREEK SMALL LETTER LAMDA */
+ {"lhard", 0x21BD}, /* LEFTWARDS HARPOON WITH BARB DOWNWARDS */
+ {"lharu", 0x21BC}, /* LEFTWARDS HARPOON WITH BARB UPWARDS */
+ {"lhblk", 0x2584}, /* LOWER HALF BLOCK */
+ {"ljcy", 0x0459}, /* CYRILLIC SMALL LETTER LJE */
+ {"lmidot", 0x0140}, /* LATIN SMALL LETTER L WITH MIDDLE DOT */
+ {"lnE", 0x2268}, /* LESS-THAN BUT NOT EQUAL TO */
+ {"lne", 0x2268}, /* LESS-THAN BUT NOT EQUAL TO */
+ {"lnsim", 0x22E6}, /* LESS-THAN BUT NOT EQUIVALENT TO */
+ {"lowast", 0x2217}, /* ASTERISK OPERATOR */
+ {"lowbar", 0x005F}, /* LOW LINE */
+ {"loz", 0x25CA}, /* LOZENGE */
+ {"loz", 0x2727}, /* WHITE FOUR POINTED STAR */
+ {"lozf", 0x2726}, /* BLACK FOUR POINTED STAR */
+ {"lpar", 0x0028}, /* LEFT PARENTHESIS */
+ {"lrarr2", 0x21C6}, /* LEFTWARDS ARROW OVER RIGHTWARDS ARROW */
+ {"lrhar2", 0x21CB}, /* LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON */
+ {"lrm", 0x200E}, /* LEFT-TO-RIGHT MARK */
+ {"lsaquo", 0x2039}, /* SINGLE LEFT-POINTING ANGLE QUOTATION MARK */
+ {"lsh", 0x21B0}, /* UPWARDS ARROW WITH TIP LEFTWARDS */
+ {"lsim", 0x2272}, /* LESS-THAN OR EQUIVALENT TO */
+ {"lsqb", 0x005B}, /* LEFT SQUARE BRACKET */
+ {"lsquo", 0x2018}, /* LEFT SINGLE QUOTATION MARK */
+ {"lsquor", 0x201A}, /* SINGLE LOW-9 QUOTATION MARK */
+ {"lstrok", 0x0142}, /* LATIN SMALL LETTER L WITH STROKE */
+ {"lt", 0x003C}, /* LESS-THAN SIGN */
+ {"lthree", 0x22CB}, /* LEFT SEMIDIRECT PRODUCT */
+ {"ltimes", 0x22C9}, /* LEFT NORMAL FACTOR SEMIDIRECT PRODUCT */
+ {"ltri", 0x25C3}, /* WHITE LEFT-POINTING SMALL TRIANGLE */
+ {"ltrie", 0x22B4}, /* NORMAL SUBGROUP OF OR EQUAL TO */
+ {"ltrif", 0x25C2}, /* BLACK LEFT-POINTING SMALL TRIANGLE */
+ {"lvnE", 0x2268}, /* LESS-THAN BUT NOT EQUAL TO */
+ {"macr", 0x00AF}, /* MACRON */
+ {"male", 0x2642}, /* MALE SIGN */
+ {"malt", 0x2720}, /* MALTESE CROSS */
+ {"map", 0x21A6}, /* RIGHTWARDS ARROW FROM BAR */
+ {"marker", 0x25AE}, /* BLACK VERTICAL RECTANGLE */
+ {"mcy", 0x043C}, /* CYRILLIC SMALL LETTER EM */
+ {"mdash", 0x2014}, /* EM DASH */
+ {"mgr", 0x03BC}, /* GREEK SMALL LETTER MU */
+ {"micro", 0x00B5}, /* MICRO SIGN */
+ {"mid", 0x2223}, /* DIVIDES */
+ {"middot", 0x00B7}, /* MIDDLE DOT */
+ {"minus", 0x2212}, /* MINUS SIGN */
+ {"minusb", 0x229F}, /* SQUARED MINUS */
+ {"mldr", 0x2026}, /* HORIZONTAL ELLIPSIS */
+ {"mnplus", 0x2213}, /* MINUS-OR-PLUS SIGN */
+ {"models", 0x22A7}, /* MODELS */
+ {"mu", 0x03BC}, /* GREEK SMALL LETTER MU */
+ {"mumap", 0x22B8}, /* MULTIMAP */
+ {"nVDash", 0x22AF}, /* NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNS*/
+ {"nVdash", 0x22AE}, /* DOES NOT FORCE */
+ {"nabla", 0x2207}, /* NABLA */
+ {"nacute", 0x0144}, /* LATIN SMALL LETTER N WITH ACUTE */
+ {"nap", 0x2249}, /* NOT ALMOST EQUAL TO */
+ {"napos", 0x0149}, /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */
+ {"natur", 0x266E}, /* MUSIC NATURAL SIGN */
+ {"nbsp", 0x00A0}, /* NO-BREAK SPACE */
+ {"ncaron", 0x0148}, /* LATIN SMALL LETTER N WITH CARON */
+ {"ncedil", 0x0146}, /* LATIN SMALL LETTER N WITH CEDILLA */
+ {"ncong", 0x2247}, /* NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO */
+ {"ncy", 0x043D}, /* CYRILLIC SMALL LETTER EN */
+ {"ndash", 0x2013}, /* EN DASH */
+ {"ne", 0x2260}, /* NOT EQUAL TO */
+ {"nearr", 0x2197}, /* NORTH EAST ARROW */
+ {"nequiv", 0x2262}, /* NOT IDENTICAL TO */
+ {"nexist", 0x2204}, /* THERE DOES NOT EXIST */
+ {"nge", 0x2271}, /* NEITHER GREATER-THAN NOR EQUAL TO */
+ {"nges", 0x2271}, /* NEITHER GREATER-THAN NOR EQUAL TO */
+ {"ngr", 0x03BD}, /* GREEK SMALL LETTER NU */
+ {"ngt", 0x226F}, /* NOT GREATER-THAN */
+ {"nhArr", 0x21CE}, /* LEFT RIGHT DOUBLE ARROW WITH STROKE */
+ {"nharr", 0x21AE}, /* LEFT RIGHT ARROW WITH STROKE */
+ {"ni", 0x220B}, /* CONTAINS AS MEMBER */
+ {"njcy", 0x045A}, /* CYRILLIC SMALL LETTER NJE */
+ {"nlArr", 0x21CD}, /* LEFTWARDS DOUBLE ARROW WITH STROKE */
+ {"nlarr", 0x219A}, /* LEFTWARDS ARROW WITH STROKE */
+ {"nldr", 0x2025}, /* TWO DOT LEADER */
+ {"nle", 0x2270}, /* NEITHER LESS-THAN NOR EQUAL TO */
+ {"nles", 0x2270}, /* NEITHER LESS-THAN NOR EQUAL TO */
+ {"nlt", 0x226E}, /* NOT LESS-THAN */
+ {"nltri", 0x22EA}, /* NOT NORMAL SUBGROUP OF */
+ {"nltrie", 0x22EC}, /* NOT NORMAL SUBGROUP OF OR EQUAL TO */
+ {"nmid", 0x2224}, /* DOES NOT DIVIDE */
+ {"not", 0x00AC}, /* NOT SIGN */
+ {"notin", 0x2209}, /* NOT AN ELEMENT OF */
+ {"npar", 0x2226}, /* NOT PARALLEL TO */
+ {"npr", 0x2280}, /* DOES NOT PRECEDE */
+ {"npre", 0x22E0}, /* DOES NOT PRECEDE OR EQUAL */
+ {"nrArr", 0x21CF}, /* RIGHTWARDS DOUBLE ARROW WITH STROKE */
+ {"nrarr", 0x219B}, /* RIGHTWARDS ARROW WITH STROKE */
+ {"nrtri", 0x22EB}, /* DOES NOT CONTAIN AS NORMAL SUBGROUP */
+ {"nrtrie", 0x22ED}, /* DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL */
+ {"nsc", 0x2281}, /* DOES NOT SUCCEED */
+ {"nsce", 0x22E1}, /* DOES NOT SUCCEED OR EQUAL */
+ {"nsim", 0x2241}, /* NOT TILDE */
+ {"nsime", 0x2244}, /* NOT ASYMPTOTICALLY EQUAL TO */
+ {"nspar", 0x2226}, /* NOT PARALLEL TO */
+ {"nsub", 0x2284}, /* NOT A SUBSET OF */
+ {"nsubE", 0x2288}, /* NEITHER A SUBSET OF NOR EQUAL TO */
+ {"nsube", 0x2288}, /* NEITHER A SUBSET OF NOR EQUAL TO */
+ {"nsup", 0x2285}, /* NOT A SUPERSET OF */
+ {"nsupE", 0x2289}, /* NEITHER A SUPERSET OF NOR EQUAL TO */
+ {"nsupe", 0x2289}, /* NEITHER A SUPERSET OF NOR EQUAL TO */
+ {"ntilde", 0x00F1}, /* LATIN SMALL LETTER N WITH TILDE */
+ {"nu", 0x03BD}, /* GREEK SMALL LETTER NU */
+ {"num", 0x0023}, /* NUMBER SIGN */
+ {"numero", 0x2116}, /* NUMERO SIGN */
+ {"numsp", 0x2007}, /* FIGURE SPACE */
+ {"nvDash", 0x22AD}, /* NOT TRUE */
+ {"nvdash", 0x22AC}, /* DOES NOT PROVE */
+ {"nwarr", 0x2196}, /* NORTH WEST ARROW */
+ {"oS", 0x24C8}, /* CIRCLED LATIN CAPITAL LETTER S */
+ {"oacgr", 0x03CC}, /* GREEK SMALL LETTER OMICRON WITH TONOS */
+ {"oacute", 0x00F3}, /* LATIN SMALL LETTER O WITH ACUTE */
+ {"oast", 0x229B}, /* CIRCLED ASTERISK OPERATOR */
+ {"ocir", 0x229A}, /* CIRCLED RING OPERATOR */
+ {"ocirc", 0x00F4}, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */
+ {"ocy", 0x043E}, /* CYRILLIC SMALL LETTER O */
+ {"odash", 0x229D}, /* CIRCLED DASH */
+ {"odblac", 0x0151}, /* LATIN SMALL LETTER O WITH DOUBLE ACUTE */
+ {"odot", 0x2299}, /* CIRCLED DOT OPERATOR */
+ {"oelig", 0x0153}, /* LATIN SMALL LIGATURE OE */
+ {"ogon", 0x02DB}, /* OGONEK */
+ {"ogr", 0x03BF}, /* GREEK SMALL LETTER OMICRON */
+ {"ograve", 0x00F2}, /* LATIN SMALL LETTER O WITH GRAVE */
+ {"ohacgr", 0x03CE}, /* GREEK SMALL LETTER OMEGA WITH TONOS */
+ {"ohgr", 0x03C9}, /* GREEK SMALL LETTER OMEGA */
+ {"ohm", 0x2126}, /* OHM SIGN */
+ {"olarr", 0x21BA}, /* ANTICLOCKWISE OPEN CIRCLE ARROW */
+ {"oline", 0x203E}, /* OVERLINE */
+ {"omacr", 0x014D}, /* LATIN SMALL LETTER O WITH MACRON */
+ {"omega", 0x03C9}, /* GREEK SMALL LETTER OMEGA */
+ {"omicron", 0x03BF}, /* GREEK SMALL LETTER OMICRON */
+ {"ominus", 0x2296}, /* CIRCLED MINUS */
+ {"oplus", 0x2295}, /* CIRCLED PLUS */
+ {"or", 0x2228}, /* LOGICAL OR */
+ {"orarr", 0x21BB}, /* CLOCKWISE OPEN CIRCLE ARROW */
+ {"order", 0x2134}, /* SCRIPT SMALL O */
+ {"ordf", 0x00AA}, /* FEMININE ORDINAL INDICATOR */
+ {"ordm", 0x00BA}, /* MASCULINE ORDINAL INDICATOR */
+ {"oslash", 0x00F8}, /* LATIN SMALL LETTER O WITH STROKE */
+ {"osol", 0x2298}, /* CIRCLED DIVISION SLASH */
+ {"otilde", 0x00F5}, /* LATIN SMALL LETTER O WITH TILDE */
+ {"otimes", 0x2297}, /* CIRCLED TIMES */
+ {"ouml", 0x00F6}, /* LATIN SMALL LETTER O WITH DIAERESIS */
+ {"par", 0x2225}, /* PARALLEL TO */
+ {"para", 0x00B6}, /* PILCROW SIGN */
+ {"part", 0x2202}, /* PARTIAL DIFFERENTIAL */
+ {"pcy", 0x043F}, /* CYRILLIC SMALL LETTER PE */
+ {"percnt", 0x0025}, /* PERCENT SIGN */
+ {"period", 0x002E}, /* FULL STOP */
+ {"permil", 0x2030}, /* PER MILLE SIGN */
+ {"perp", 0x22A5}, /* UP TACK */
+ {"pgr", 0x03C0}, /* GREEK SMALL LETTER PI */
+ {"phgr", 0x03C6}, /* GREEK SMALL LETTER PHI */
+ {"phi", 0x03C6}, /* GREEK SMALL LETTER PHI */
+ {"phis", 0x03C6}, /* GREEK SMALL LETTER PHI */
+ {"phiv", 0x03D5}, /* GREEK PHI SYMBOL */
+ {"phmmat", 0x2133}, /* SCRIPT CAPITAL M */
+ {"phone", 0x260E}, /* BLACK TELEPHONE */
+ {"pi", 0x03C0}, /* GREEK SMALL LETTER PI */
+ {"piv", 0x03D6}, /* GREEK PI SYMBOL */
+ {"planck", 0x210F}, /* PLANCK CONSTANT OVER TWO PI */
+ {"plus", 0x002B}, /* PLUS SIGN */
+ {"plusb", 0x229E}, /* SQUARED PLUS */
+ {"plusdo", 0x2214}, /* DOT PLUS */
+ {"plusmn", 0x00B1}, /* PLUS-MINUS SIGN */
+ {"pound", 0x00A3}, /* POUND SIGN */
+ {"pr", 0x227A}, /* PRECEDES */
+ {"pre", 0x227C}, /* PRECEDES OR EQUAL TO */
+ {"prime", 0x2032}, /* PRIME */
+ {"prnsim", 0x22E8}, /* PRECEDES BUT NOT EQUIVALENT TO */
+ {"prod", 0x220F}, /* N-ARY PRODUCT */
+ {"prop", 0x221D}, /* PROPORTIONAL TO */
+ {"prsim", 0x227E}, /* PRECEDES OR EQUIVALENT TO */
+ {"psgr", 0x03C8}, /* GREEK SMALL LETTER PSI */
+ {"psi", 0x03C8}, /* GREEK SMALL LETTER PSI */
+ {"puncsp", 0x2008}, /* PUNCTUATION SPACE */
+ {"quest", 0x003F}, /* QUESTION MARK */
+ {"quot", 0x0022}, /* QUOTATION MARK */
+ {"quote", 0x0022}, /* QUOTATION MARK */
+ {"rAarr", 0x21DB}, /* RIGHTWARDS TRIPLE ARROW */
+ {"rArr", 0x21D2}, /* RIGHTWARDS DOUBLE ARROW */
+ {"racute", 0x0155}, /* LATIN SMALL LETTER R WITH ACUTE */
+ {"radic", 0x221A}, /* SQUARE ROOT */
+ {"rang", 0x232A}, /* RIGHT-POINTING ANGLE BRACKET */
+ {"raquo", 0x00BB}, /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
+ {"rarr", 0x2192}, /* RIGHTWARDS ARROW */
+ {"rarr2", 0x21C9}, /* RIGHTWARDS PAIRED ARROWS */
+ {"rarrhk", 0x21AA}, /* RIGHTWARDS ARROW WITH HOOK */
+ {"rarrlp", 0x21AC}, /* RIGHTWARDS ARROW WITH LOOP */
+ {"rarrtl", 0x21A3}, /* RIGHTWARDS ARROW WITH TAIL */
+ {"rarrw", 0x219D}, /* RIGHTWARDS WAVE ARROW */
+ {"rcaron", 0x0159}, /* LATIN SMALL LETTER R WITH CARON */
+ {"rcedil", 0x0157}, /* LATIN SMALL LETTER R WITH CEDILLA */
+ {"rceil", 0x2309}, /* RIGHT CEILING */
+ {"rcub", 0x007D}, /* RIGHT CURLY BRACKET */
+ {"rcy", 0x0440}, /* CYRILLIC SMALL LETTER ER */
+ {"rdquo", 0x201D}, /* RIGHT DOUBLE QUOTATION MARK */
+ {"rdquor", 0x201C}, /* LEFT DOUBLE QUOTATION MARK */
+ {"real", 0x211C}, /* BLACK-LETTER CAPITAL R */
+ {"rect", 0x25AD}, /* WHITE RECTANGLE */
+ {"reg", 0x00AE}, /* REGISTERED SIGN */
+ {"rfloor", 0x230B}, /* RIGHT FLOOR */
+ {"rgr", 0x03C1}, /* GREEK SMALL LETTER RHO */
+ {"rhard", 0x21C1}, /* RIGHTWARDS HARPOON WITH BARB DOWNWARDS */
+ {"rharu", 0x21C0}, /* RIGHTWARDS HARPOON WITH BARB UPWARDS */
+ {"rho", 0x03C1}, /* GREEK SMALL LETTER RHO */
+ {"rhov", 0x03F1}, /* GREEK RHO SYMBOL */
+ {"ring", 0x02DA}, /* RING ABOVE */
+ {"rlarr2", 0x21C4}, /* RIGHTWARDS ARROW OVER LEFTWARDS ARROW */
+ {"rlhar2", 0x21CC}, /* RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON */
+ {"rlm", 0x200F}, /* RIGHT-TO-LEFT MARK */
+ {"rpar", 0x0029}, /* RIGHT PARENTHESIS */
+ {"rsaquo", 0x203A}, /* SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */
+ {"rsh", 0x21B1}, /* UPWARDS ARROW WITH TIP RIGHTWARDS */
+ {"rsqb", 0x005D}, /* RIGHT SQUARE BRACKET */
+ {"rsquo", 0x2019}, /* RIGHT SINGLE QUOTATION MARK */
+ {"rsquor", 0x2018}, /* LEFT SINGLE QUOTATION MARK */
+ {"rthree", 0x22CC}, /* RIGHT SEMIDIRECT PRODUCT */
+ {"rtimes", 0x22CA}, /* RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT */
+ {"rtri", 0x25B9}, /* WHITE RIGHT-POINTING SMALL TRIANGLE */
+ {"rtrie", 0x22B5}, /* CONTAINS AS NORMAL SUBGROUP OR EQUAL TO */
+ {"rtrif", 0x25B8}, /* BLACK RIGHT-POINTING SMALL TRIANGLE */
+ {"rx", 0x211E}, /* PRESCRIPTION TAKE */
+ {"sacute", 0x015B}, /* LATIN SMALL LETTER S WITH ACUTE */
+ {"samalg", 0x2210}, /* N-ARY COPRODUCT */
+ {"sbquo", 0x201A}, /* SINGLE LOW-9 QUOTATION MARK */
+ {"sbsol", 0x005C}, /* REVERSE SOLIDUS */
+ {"sc", 0x227B}, /* SUCCEEDS */
+ {"scaron", 0x0161}, /* LATIN SMALL LETTER S WITH CARON */
+ {"sccue", 0x227D}, /* SUCCEEDS OR EQUAL TO */
+ {"sce", 0x227D}, /* SUCCEEDS OR EQUAL TO */
+ {"scedil", 0x015F}, /* LATIN SMALL LETTER S WITH CEDILLA */
+ {"scirc", 0x015D}, /* LATIN SMALL LETTER S WITH CIRCUMFLEX */
+ {"scnsim", 0x22E9}, /* SUCCEEDS BUT NOT EQUIVALENT TO */
+ {"scsim", 0x227F}, /* SUCCEEDS OR EQUIVALENT TO */
+ {"scy", 0x0441}, /* CYRILLIC SMALL LETTER ES */
+ {"sdot", 0x22C5}, /* DOT OPERATOR */
+ {"sdotb", 0x22A1}, /* SQUARED DOT OPERATOR */
+ {"sect", 0x00A7}, /* SECTION SIGN */
+ {"semi", 0x003B}, /* SEMICOLON */
+ {"setmn", 0x2216}, /* SET MINUS */
+ {"sext", 0x2736}, /* SIX POINTED BLACK STAR */
+ {"sfgr", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */
+ {"sfrown", 0x2322}, /* FROWN */
+ {"sgr", 0x03C3}, /* GREEK SMALL LETTER SIGMA */
+ {"sharp", 0x266F}, /* MUSIC SHARP SIGN */
+ {"shchcy", 0x0449}, /* CYRILLIC SMALL LETTER SHCHA */
+ {"shcy", 0x0448}, /* CYRILLIC SMALL LETTER SHA */
+ {"shy", 0x00AD}, /* SOFT HYPHEN */
+ {"sigma", 0x03C3}, /* GREEK SMALL LETTER SIGMA */
+ {"sigmaf", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */
+ {"sigmav", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */
+ {"sim", 0x223C}, /* TILDE OPERATOR */
+ {"sime", 0x2243}, /* ASYMPTOTICALLY EQUAL TO */
+ {"smile", 0x2323}, /* SMILE */
+ {"softcy", 0x044C}, /* CYRILLIC SMALL LETTER SOFT SIGN */
+ {"sol", 0x002F}, /* SOLIDUS */
+ {"spades", 0x2660}, /* BLACK SPADE SUIT */
+ {"spar", 0x2225}, /* PARALLEL TO */
+ {"sqcap", 0x2293}, /* SQUARE CAP */
+ {"sqcup", 0x2294}, /* SQUARE CUP */
+ {"sqsub", 0x228F}, /* SQUARE IMAGE OF */
+ {"sqsube", 0x2291}, /* SQUARE IMAGE OF OR EQUAL TO */
+ {"sqsup", 0x2290}, /* SQUARE ORIGINAL OF */
+ {"sqsupe", 0x2292}, /* SQUARE ORIGINAL OF OR EQUAL TO */
+ {"squ", 0x25A1}, /* WHITE SQUARE */
+ {"square", 0x25A1}, /* WHITE SQUARE */
+ {"squf", 0x25AA}, /* BLACK SMALL SQUARE */
+ {"ssetmn", 0x2216}, /* SET MINUS */
+ {"ssmile", 0x2323}, /* SMILE */
+ {"sstarf", 0x22C6}, /* STAR OPERATOR */
+ {"star", 0x2606}, /* WHITE STAR */
+ {"starf", 0x2605}, /* BLACK STAR */
+ {"sub", 0x2282}, /* SUBSET OF */
+ {"subE", 0x2286}, /* SUBSET OF OR EQUAL TO */
+ {"sube", 0x2286}, /* SUBSET OF OR EQUAL TO */
+ {"subnE", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */
+ {"subne", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */
+ {"sum", 0x2211}, /* N-ARY SUMMATION */
+ {"sung", 0x266A}, /* EIGHTH NOTE */
+ {"sup", 0x2283}, /* SUPERSET OF */
+ {"sup1", 0x00B9}, /* SUPERSCRIPT ONE */
+ {"sup2", 0x00B2}, /* SUPERSCRIPT TWO */
+ {"sup3", 0x00B3}, /* SUPERSCRIPT THREE */
+ {"supE", 0x2287}, /* SUPERSET OF OR EQUAL TO */
+ {"supe", 0x2287}, /* SUPERSET OF OR EQUAL TO */
+ {"supnE", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */
+ {"supne", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */
+ {"szlig", 0x00DF}, /* LATIN SMALL LETTER SHARP S */
+ {"target", 0x2316}, /* POSITION INDICATOR */
+ {"tau", 0x03C4}, /* GREEK SMALL LETTER TAU */
+ {"tcaron", 0x0165}, /* LATIN SMALL LETTER T WITH CARON */
+ {"tcedil", 0x0163}, /* LATIN SMALL LETTER T WITH CEDILLA */
+ {"tcy", 0x0442}, /* CYRILLIC SMALL LETTER TE */
+ {"tdot", 0x20DB}, /* COMBINING THREE DOTS ABOVE */
+ {"telrec", 0x2315}, /* TELEPHONE RECORDER */
+ {"tgr", 0x03C4}, /* GREEK SMALL LETTER TAU */
+ {"there4", 0x2234}, /* THEREFORE */
+ {"theta", 0x03B8}, /* GREEK SMALL LETTER THETA */
+ {"thetas", 0x03B8}, /* GREEK SMALL LETTER THETA */
+ {"thetasym", 0x03D1}, /* GREEK THETA SYMBOL */
+ {"thetav", 0x03D1}, /* GREEK THETA SYMBOL */
+ {"thgr", 0x03B8}, /* GREEK SMALL LETTER THETA */
+ {"thinsp", 0x2009}, /* THIN SPACE */
+ {"thkap", 0x2248}, /* ALMOST EQUAL TO */
+ {"thksim", 0x223C}, /* TILDE OPERATOR */
+ {"thorn", 0x00FE}, /* LATIN SMALL LETTER THORN */
+ {"tilde", 0x02DC}, /* SMALL TILDE */
+ {"times", 0x00D7}, /* MULTIPLICATION SIGN */
+ {"timesb", 0x22A0}, /* SQUARED TIMES */
+ {"top", 0x22A4}, /* DOWN TACK */
+ {"tprime", 0x2034}, /* TRIPLE PRIME */
+ {"trade", 0x2122}, /* TRADE MARK SIGN */
+ {"trie", 0x225C}, /* DELTA EQUAL TO */
+ {"tscy", 0x0446}, /* CYRILLIC SMALL LETTER TSE */
+ {"tshcy", 0x045B}, /* CYRILLIC SMALL LETTER TSHE */
+ {"tstrok", 0x0167}, /* LATIN SMALL LETTER T WITH STROKE */
+ {"twixt", 0x226C}, /* BETWEEN */
+ {"uArr", 0x21D1}, /* UPWARDS DOUBLE ARROW */
+ {"uacgr", 0x03CD}, /* GREEK SMALL LETTER UPSILON WITH TONOS */
+ {"uacute", 0x00FA}, /* LATIN SMALL LETTER U WITH ACUTE */
+ {"uarr", 0x2191}, /* UPWARDS ARROW */
+ {"uarr2", 0x21C8}, /* UPWARDS PAIRED ARROWS */
+ {"ubrcy", 0x045E}, /* CYRILLIC SMALL LETTER SHORT U */
+ {"ubreve", 0x016D}, /* LATIN SMALL LETTER U WITH BREVE */
+ {"ucirc", 0x00FB}, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */
+ {"ucy", 0x0443}, /* CYRILLIC SMALL LETTER U */
+ {"udblac", 0x0171}, /* LATIN SMALL LETTER U WITH DOUBLE ACUTE */
+ {"udiagr", 0x03B0}, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND */
+ {"udigr", 0x03CB}, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */
+ {"ugr", 0x03C5}, /* GREEK SMALL LETTER UPSILON */
+ {"ugrave", 0x00F9}, /* LATIN SMALL LETTER U WITH GRAVE */
+ {"uharl", 0x21BF}, /* UPWARDS HARPOON WITH BARB LEFTWARDS */
+ {"uharr", 0x21BE}, /* UPWARDS HARPOON WITH BARB RIGHTWARDS */
+ {"uhblk", 0x2580}, /* UPPER HALF BLOCK */
+ {"ulcorn", 0x231C}, /* TOP LEFT CORNER */
+ {"ulcrop", 0x230F}, /* TOP LEFT CROP */
+ {"umacr", 0x016B}, /* LATIN SMALL LETTER U WITH MACRON */
+ {"uml", 0x00A8}, /* DIAERESIS */
+ {"uogon", 0x0173}, /* LATIN SMALL LETTER U WITH OGONEK */
+ {"uplus", 0x228E}, /* MULTISET UNION */
+ {"upsi", 0x03C5}, /* GREEK SMALL LETTER UPSILON */
+ {"upsih", 0x03D2}, /* GREEK UPSILON WITH HOOK SYMBOL */
+ {"upsilon", 0x03C5}, /* GREEK SMALL LETTER UPSILON */
+ {"urcorn", 0x231D}, /* TOP RIGHT CORNER */
+ {"urcrop", 0x230E}, /* TOP RIGHT CROP */
+ {"uring", 0x016F}, /* LATIN SMALL LETTER U WITH RING ABOVE */
+ {"utilde", 0x0169}, /* LATIN SMALL LETTER U WITH TILDE */
+ {"utri", 0x25B5}, /* WHITE UP-POINTING SMALL TRIANGLE */
+ {"utrif", 0x25B4}, /* BLACK UP-POINTING SMALL TRIANGLE */
+ {"uuml", 0x00FC}, /* LATIN SMALL LETTER U WITH DIAERESIS */
+ {"vArr", 0x21D5}, /* UP DOWN DOUBLE ARROW */
+ {"vDash", 0x22A8}, /* TRUE */
+ {"varr", 0x2195}, /* UP DOWN ARROW */
+ {"vcy", 0x0432}, /* CYRILLIC SMALL LETTER VE */
+ {"vdash", 0x22A2}, /* RIGHT TACK */
+ {"veebar", 0x22BB}, /* XOR */
+ {"vellip", 0x22EE}, /* VERTICAL ELLIPSIS */
+ {"verbar", 0x007C}, /* VERTICAL LINE */
+ {"vltri", 0x22B2}, /* NORMAL SUBGROUP OF */
+ {"vprime", 0x2032}, /* PRIME */
+ {"vprop", 0x221D}, /* PROPORTIONAL TO */
+ {"vrtri", 0x22B3}, /* CONTAINS AS NORMAL SUBGROUP */
+ {"vsubnE", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */
+ {"vsubne", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */
+ {"vsupnE", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */
+ {"vsupne", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */
+ {"wcirc", 0x0175}, /* LATIN SMALL LETTER W WITH CIRCUMFLEX */
+ {"wedgeq", 0x2259}, /* ESTIMATES */
+ {"weierp", 0x2118}, /* SCRIPT CAPITAL P */
+ {"wreath", 0x2240}, /* WREATH PRODUCT */
+ {"xcirc", 0x25CB}, /* WHITE CIRCLE */
+ {"xdtri", 0x25BD}, /* WHITE DOWN-POINTING TRIANGLE */
+ {"xgr", 0x03BE}, /* GREEK SMALL LETTER XI */
+ {"xhArr", 0x2194}, /* LEFT RIGHT ARROW */
+ {"xharr", 0x2194}, /* LEFT RIGHT ARROW */
+ {"xi", 0x03BE}, /* GREEK SMALL LETTER XI */
+ {"xlArr", 0x21D0}, /* LEFTWARDS DOUBLE ARROW */
+ {"xrArr", 0x21D2}, /* RIGHTWARDS DOUBLE ARROW */
+ {"xutri", 0x25B3}, /* WHITE UP-POINTING TRIANGLE */
+ {"yacute", 0x00FD}, /* LATIN SMALL LETTER Y WITH ACUTE */
+ {"yacy", 0x044F}, /* CYRILLIC SMALL LETTER YA */
+ {"ycirc", 0x0177}, /* LATIN SMALL LETTER Y WITH CIRCUMFLEX */
+ {"ycy", 0x044B}, /* CYRILLIC SMALL LETTER YERU */
+ {"yen", 0x00A5}, /* YEN SIGN */
+ {"yicy", 0x0457}, /* CYRILLIC SMALL LETTER YI */
+ {"yucy", 0x044E}, /* CYRILLIC SMALL LETTER YU */
+ {"yuml", 0x00FF}, /* LATIN SMALL LETTER Y WITH DIAERESIS */
+ {"zacute", 0x017A}, /* LATIN SMALL LETTER Z WITH ACUTE */
+ {"zcaron", 0x017E}, /* LATIN SMALL LETTER Z WITH CARON */
+ {"zcy", 0x0437}, /* CYRILLIC SMALL LETTER ZE */
+ {"zdot", 0x017C}, /* LATIN SMALL LETTER Z WITH DOT ABOVE */
+ {"zeta", 0x03B6}, /* GREEK SMALL LETTER ZETA */
+ {"zgr", 0x03B6}, /* GREEK SMALL LETTER ZETA */
+ {"zhcy", 0x0436}, /* CYRILLIC SMALL LETTER ZHE */
+ {"zwj", 0x200D}, /* ZERO WIDTH JOINER */
+ {"zwnj", 0x200C}, /* ZERO WIDTH NON-JOINER */
+/* {"epsiv", 0x????}, variant epsilon # ISOgrk3 */
+/* {"fjlig", 0x????}, fj ligature # ISOpub */
+/* {"gEl", 0x????}, greater-than, double equals, less-than # ISOamsr */
+/* {"gap", 0x????}, greater-than, approximately equal to # ISOamsr */
+/* {"gnap", 0x????}, greater-than, not approximately equal t# ISOamsn */
+/* {"jnodot", 0x????}, latin small letter dotless j # ISOamso */
+/* {"lEg", 0x????}, less-than, double equals, greater-than # ISOamsr */
+/* {"lap", 0x????}, less-than, approximately equal to # ISOamsr */
+/* {"lnap", 0x????}, less-than, not approximately equal to # ISOamsn */
+/* {"lpargt", 0x????}, left parenthesis, greater-than # ISOamsc */
+/* {"ngE", 0x????}, not greater-than, double equals # ISOamsn */
+/* {"nlE", 0x????}, not less-than, double equals # ISOamsn */
+/* {"nsmid", 0x????}, nshortmid # ISOamsn */
+/* {"prap", 0x????}, precedes, approximately equal to # ISOamsr */
+/* {"prnE", 0x????}, precedes, not double equal # ISOamsn */
+/* {"prnap", 0x????}, precedes, not approximately equal to # ISOamsn */
+/* {"rpargt", 0x????}, right parenthesis, greater-than # ISOamsc */
+/* {"scap", 0x????}, succeeds, approximately equal to # ISOamsr */
+/* {"scnE", 0x????}, succeeds, not double equals # ISOamsn */
+/* {"scnap", 0x????}, succeeds, not approximately equal to # ISOamsn */
+/* {"smid", 0x????}, shortmid # ISOamsr */
+};
+
+#endif /* ENTITIES_H */
diff --git a/Unicode/gen b/Unicode/gen
new file mode 100755
index 0000000..41bf33d
--- /dev/null
+++ b/Unicode/gen
@@ -0,0 +1,5 @@
+#!/bin/sh
+./gen-cp
+./gen-7b
+./gen-ent
+./gen-upc
diff --git a/Unicode/gen-7b b/Unicode/gen-7b
new file mode 100755
index 0000000..a879fc9
--- /dev/null
+++ b/Unicode/gen-7b
@@ -0,0 +1,20 @@
+#!/bin/sh
+LC_ALL=C
+export LC_ALL
+echo
+echo Generating Unicode2ascii translation table.
+(
+cat 7bitrepl.lnx | awk -f tr7bit.awk >tmp
+N=`cat tmp | wc -l`
+echo '/* Automatically generated by gen-7b */'
+echo
+echo 'static struct { int x; unsigned char *s; } unicode_7b ['`expr $N + 1`'] = {'
+sort tmp | sed 's/"/\\"/g' | sed 's/^/ { /' | sed 's/:/, "/' | sed 's/$/" },/'
+echo ' { -1, NULL }'
+echo '};'
+echo
+echo '#define N_UNICODE_7B' $N
+)>../uni_7b.inc
+rm -f tmp
+echo Done.
+echo
diff --git a/Unicode/gen-cp b/Unicode/gen-cp
new file mode 100755
index 0000000..628c0e3
--- /dev/null
+++ b/Unicode/gen-cp
@@ -0,0 +1,34 @@
+#!/bin/sh
+LC_ALL=C
+export LC_ALL
+echo
+echo Generating code page translation tables.
+codepages=`cat index.txt|sed 's/ //g'`
+if [ -n "$codepages" ]; then
+(
+n=0
+echo '/* Automatically generated by gen-cp */'
+for i in $codepages; do
+ echo -n $i' ' 1>&2
+ echo
+ echo 'static struct table_entry table_'$i' [] = {'
+ tail -n +3 $i.cp | sed 's/#.*$//' | grep '^0x[89a-zA-Z]' | sed 's/[ ][ ]*/ /g' | sed 's/[ ]*$/ },/' | sed 's/ /, /' | sed 's/^[ ]*/ { /' | grep '.*,.*,'
+ echo ' { 0, 0 }'
+ echo '};'
+ echo
+ echo 'static unsigned char *aliases_'$i' [] = {'`head -2 $i.cp | tail -n +2`', NULL };'
+ n=`expr $n + 1`
+done
+echo
+echo 'static struct codepage_desc codepages [] = {'
+for i in $codepages; do
+ echo ' { "'`head -1 $i.cp`'", aliases_'$i', table_'$i' },'
+done
+echo ' { NULL, NULL, NULL }'
+echo '};'
+echo '#define N_CODEPAGES '$n | sed 's/ //g' > ../codepage.h
+) | sed 's/ //g' > ../codepage.inc
+echo
+echo Done.
+fi
+echo
diff --git a/Unicode/gen-ent b/Unicode/gen-ent
new file mode 100755
index 0000000..7f43f7c
--- /dev/null
+++ b/Unicode/gen-ent
@@ -0,0 +1,20 @@
+#!/bin/sh
+LC_ALL=c
+export LC_ALL
+echo
+echo Generating entity table.
+(
+cat entities.lnx | sed 's/ $//' | grep '^[ ]*{"' | sort >tmp
+N=`cat tmp | wc -l`
+echo '/* Automatically generated by gen-ent */'
+echo
+echo 'static struct { unsigned char *s; int c; } entities ['`expr $N + 1`'] = {'
+cat tmp
+echo ' {NULL, 0}'
+echo '};'
+echo
+echo '#define N_ENTITIES' $N
+) > ../entity.inc
+rm -f tmp
+echo Done.
+echo
diff --git a/Unicode/gen-upc b/Unicode/gen-upc
new file mode 100755
index 0000000..724e6ff
--- /dev/null
+++ b/Unicode/gen-upc
@@ -0,0 +1,14 @@
+#!/bin/sh
+LC_ALL=C
+export LC_ALL
+echo
+echo Generating Unicode upcase table.
+(
+echo '/* Automatically generated by gen-upc */'
+echo
+echo 'static struct { unsigned lo; unsigned up; } unicode_upcase [] = {'
+(echo ' 160 32';cat upcase.uni) | sed 's/^[ ]*//' | sed 's/[ ]*$//' | sed 's/ */, /' | sort -n | sed 's/^/ { /' | sed 's/$/ },/'
+echo '};'
+) > ../upcase.inc
+echo Done.
+echo
diff --git a/Unicode/index.txt b/Unicode/index.txt
new file mode 100644
index 0000000..07b0606
--- /dev/null
+++ b/Unicode/index.txt
@@ -0,0 +1,35 @@
+7bit
+8859_1
+8859_2
+8859_3
+8859_4
+8859_5
+8859_6
+8859_7
+8859_8
+8859_9
+8859_10
+8859_13
+8859_14
+8859_15
+8859_16
+cp1250
+cp1251
+cp1252
+cp1256
+cp1257
+cp437
+cp737
+cp850
+cp852
+cp866
+cp1125
+macroman
+mac_lat2
+kamen
+koi8_r
+koi8_u
+koi8_ru
+tcvn5712
+viscii
+utf_8
diff --git a/Unicode/kamen.cp b/Unicode/kamen.cp
new file mode 100644
index 0000000..860d330
--- /dev/null
+++ b/Unicode/kamen.cp
@@ -0,0 +1,263 @@
+Kamenicky Brothers
+"x-kam-cs", "kam", "867", "869"
+
+# Kamenicky Brothers Charset File
+# Czech characters extracted from CStoCS "kam.enc" and others copied from
+# IBM charset by Martin Mares <mj@atrey.karlin.mff.cuni.cz>
+
+0x00 0x0000 #<control>
+0x01 0x263A #WHITE SMILING FACE
+0x02 0x263B #BLACK SMILING FACE
+0x03 0x2665 #BLACK HEART SUIT
+0x04 0x2666 #BLACK DIAMOND SUIT
+0x05 0x2663 #BLACK CLUB SUIT
+0x06 0x2660 #BLACK SPADE SUIT
+0x07 0x2022 #BULLET
+0x08 0x25D8 #INVERSE BULLET
+0x09 0x25CB #WHITE CIRCLE
+0x0A 0x25D9 #INVERSE WHITE CIRCLE
+0x0B 0x2642 #MALE SIGN
+0x0C 0x2640 #FEMALE SIGN
+0x0D 0x266A #EIGHTH NOTE
+0x0E 0x266B #BEAMED EIGHTH NOTES
+0x0F 0x263C #WHITE SUN WITH RAYS
+0x10 0x25B6 #BLACK RIGHT-POINTING TRIANGLE
+0x11 0x25C0 #BLACK LEFT-POINTING TRIANGLE
+0x12 0x2195 #UP DOWN ARROW
+0x13 0x203C #DOUBLE EXCLAMATION MARK
+0x14 0x00B6 #PILCROW SIGN
+0x15 0x00A7 #SECTION SIGN
+0x16 0x25AC #BLACK RECTANGLE
+0x17 0x21A8 #UP DOWN ARROW WITH BASE
+0x18 0x2191 #UPWARDS ARROW
+0x19 0x2193 #DOWNWARDS ARROW
+0x1A 0x2192 #RIGHTWARDS ARROW
+0x1B 0x2190 #LEFTWARDS ARROW
+0x1C 0x221F #RIGHT ANGLE
+0x1D 0x2194 #LEFT RIGHT ARROW
+0x1E 0x25B2 #BLACK UP-POINTING TRIANGLE
+0x1F 0x25BC #BLACK DOWN-POINTING TRIANGLE
+0x20 0x0020 #SPACE
+0x21 0x0021 #EXCLAMATION MARK
+0x22 0x0022 #QUOTATION MARK
+0x23 0x0023 #NUMBER SIGN
+0x24 0x0024 #DOLLAR SIGN
+0x25 0x0025 #PERCENT SIGN
+0x26 0x0026 #AMPERSAND
+0x27 0x0027 #APOSTROPHE
+0x28 0x0028 #LEFT PARENTHESIS
+0x29 0x0029 #RIGHT PARENTHESIS
+0x2A 0x002A #ASTERISK
+0x2B 0x002B #PLUS SIGN
+0x2C 0x002C #COMMA
+0x2D 0x002D #HYPHEN-MINUS
+0x2E 0x002E #FULL STOP
+0x2F 0x002F #SOLIDUS
+0x30 0x0030 #DIGIT ZERO
+0x31 0x0031 #DIGIT ONE
+0x32 0x0032 #DIGIT TWO
+0x33 0x0033 #DIGIT THREE
+0x34 0x0034 #DIGIT FOUR
+0x35 0x0035 #DIGIT FIVE
+0x36 0x0036 #DIGIT SIX
+0x37 0x0037 #DIGIT SEVEN
+0x38 0x0038 #DIGIT EIGHT
+0x39 0x0039 #DIGIT NINE
+0x3A 0x003A #COLON
+0x3B 0x003B #SEMICOLON
+0x3C 0x003C #LESS-THAN SIGN
+0x3D 0x003D #EQUALS SIGN
+0x3E 0x003E #GREATER-THAN SIGN
+0x3F 0x003F #QUESTION MARK
+0x40 0x0040 #COMMERCIAL AT
+0x41 0x0041 #LATIN CAPITAL LETTER A
+0x42 0x0042 #LATIN CAPITAL LETTER B
+0x43 0x0043 #LATIN CAPITAL LETTER C
+0x44 0x0044 #LATIN CAPITAL LETTER D
+0x45 0x0045 #LATIN CAPITAL LETTER E
+0x46 0x0046 #LATIN CAPITAL LETTER F
+0x47 0x0047 #LATIN CAPITAL LETTER G
+0x48 0x0048 #LATIN CAPITAL LETTER H
+0x49 0x0049 #LATIN CAPITAL LETTER I
+0x4A 0x004A #LATIN CAPITAL LETTER J
+0x4B 0x004B #LATIN CAPITAL LETTER K
+0x4C 0x004C #LATIN CAPITAL LETTER L
+0x4D 0x004D #LATIN CAPITAL LETTER M
+0x4E 0x004E #LATIN CAPITAL LETTER N
+0x4F 0x004F #LATIN CAPITAL LETTER O
+0x50 0x0050 #LATIN CAPITAL LETTER P
+0x51 0x0051 #LATIN CAPITAL LETTER Q
+0x52 0x0052 #LATIN CAPITAL LETTER R
+0x53 0x0053 #LATIN CAPITAL LETTER S
+0x54 0x0054 #LATIN CAPITAL LETTER T
+0x55 0x0055 #LATIN CAPITAL LETTER U
+0x56 0x0056 #LATIN CAPITAL LETTER V
+0x57 0x0057 #LATIN CAPITAL LETTER W
+0x58 0x0058 #LATIN CAPITAL LETTER X
+0x59 0x0059 #LATIN CAPITAL LETTER Y
+0x5A 0x005A #LATIN CAPITAL LETTER Z
+0x5B 0x005B #LEFT SQUARE BRACKET
+0x5C 0x005C #REVERSE SOLIDUS
+0x5D 0x005D #RIGHT SQUARE BRACKET
+0x5E 0x005E #CIRCUMFLEX ACCENT
+0x5F 0x005F #LOW LINE
+0x60 0x0060 #GRAVE ACCENT
+0x61 0x0061 #LATIN SMALL LETTER A
+0x62 0x0062 #LATIN SMALL LETTER B
+0x63 0x0063 #LATIN SMALL LETTER C
+0x64 0x0064 #LATIN SMALL LETTER D
+0x65 0x0065 #LATIN SMALL LETTER E
+0x66 0x0066 #LATIN SMALL LETTER F
+0x67 0x0067 #LATIN SMALL LETTER G
+0x68 0x0068 #LATIN SMALL LETTER H
+0x69 0x0069 #LATIN SMALL LETTER I
+0x6A 0x006A #LATIN SMALL LETTER J
+0x6B 0x006B #LATIN SMALL LETTER K
+0x6C 0x006C #LATIN SMALL LETTER L
+0x6D 0x006D #LATIN SMALL LETTER M
+0x6E 0x006E #LATIN SMALL LETTER N
+0x6F 0x006F #LATIN SMALL LETTER O
+0x70 0x0070 #LATIN SMALL LETTER P
+0x71 0x0071 #LATIN SMALL LETTER Q
+0x72 0x0072 #LATIN SMALL LETTER R
+0x73 0x0073 #LATIN SMALL LETTER S
+0x74 0x0074 #LATIN SMALL LETTER T
+0x75 0x0075 #LATIN SMALL LETTER U
+0x76 0x0076 #LATIN SMALL LETTER V
+0x77 0x0077 #LATIN SMALL LETTER W
+0x78 0x0078 #LATIN SMALL LETTER X
+0x79 0x0079 #LATIN SMALL LETTER Y
+0x7A 0x007A #LATIN SMALL LETTER Z
+0x7B 0x007B #LEFT CURLY BRACKET
+0x7C 0x007C #VERTICAL LINE
+0x7D 0x007D #RIGHT CURLY BRACKET
+0x7E 0x007E #TILDE
+0x7F 0x2302 #HOUSE
+0x80 0x010C #LATIN CAPITAL LETTER C WITH CARON
+0x81 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
+0x82 0x00E9 #LATIN SMALL LETTER E WITH ACUTE
+0x83 0x010F #LATIN SMALL LETTER D WITH CARON
+0x84 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS
+0x85 0x010E #LATIN CAPITAL LETTER D WITH CARON
+0x86 0x0164 #LATIN CAPITAL LETTER T WITH CARON
+0x87 0x010D #LATIN SMALL LETTER C WITH CARON
+0x88 0x011B #LATIN SMALL LETTER E WITH CARON
+0x89 0x011A #LATIN CAPITAL LETTER E WITH CARON
+0x8A 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE
+0x8B 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE
+0x8C 0x013E #LATIN SMALL LETTER L WITH CARON
+0x8D 0x013A #LATIN SMALL LETTER L WITH ACUTE
+0x8E 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8F 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE
+0x90 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE
+0x91 0x017E #LATIN SMALL LETTER Z WITH CARON
+0x92 0x017D #LATIN CAPITAL LETTER Z WITH CARON
+0x93 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS
+0x95 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE
+0x96 0x016F #LATIN SMALL LETTER U WITH RING ABOVE
+0x97 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE
+0x98 0x00FD #LATIN SMALL LETTER Y WITH ACUTE
+0x99 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9A 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9B 0x0160 #LATIN CAPITAL LETTER S WITH CARON
+0x9C 0x013D #LATIN CAPITAL LETTER L WITH CARON
+0x9D 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE
+0x9E 0x0158 #LATIN CAPITAL LETTER R WITH CARON
+0x9F 0x0165 #LATIN SMALL LETTER T WITH CARON
+0xA0 0x00E1 #LATIN SMALL LETTER A WITH ACUTE
+0xA1 0x00ED #LATIN SMALL LETTER I WITH ACUTE
+0xA2 0x00F3 #LATIN SMALL LETTER O WITH ACUTE
+0xA3 0x00FA #LATIN SMALL LETTER U WITH ACUTE
+0xA4 0x0148 #LATIN SMALL LETTER N WITH CARON
+0xA5 0x0147 #LATIN CAPITAL LETTER N WITH CARON
+0xA6 0x016E #LATIN CAPITAL LETTER U WITH RING ABOVE
+0xA7 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xA8 0x0161 #LATIN SMALL LETTER S WITH CARON
+0xA9 0x0159 #LATIN SMALL LETTER R WITH CARON
+0xAA 0x0155 #LATIN SMALL LETTER R WITH ACUTE
+0xAB 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE
+0xAC 0x00BC #VULGAR FRACTION ONE QUARTER
+0xAD 0x00A7 #SECTION SIGN
+0xAE 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAF 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xB0 0x2591 #LIGHT SHADE
+0xB1 0x2592 #MEDIUM SHADE
+0xB2 0x2593 #DARK SHADE
+0xB3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
+0xB4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xB5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xB6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xB7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xB8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xB9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xBA 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
+0xBB 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xBC 0x255D #BOX DRAWINGS DOUBLE UP AND LEFT
+0xBD 0x255C #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xBE 0x255B #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xBF 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xC0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
+0xC1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xC2 0x252C #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xC3 0x251C #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xC4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
+0xC5 0x253C #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xC6 0x255E #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xC7 0x255F #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xC8 0x255A #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xC9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xCA 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xCB 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xCC 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xCD 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
+0xCE 0x256C #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xCF 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xD0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xD1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xD2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xD3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xD4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xD5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xD6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xD7 0x256B #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xD8 0x256A #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xD9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
+0xDA 0x250C #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xDB 0x2588 #FULL BLOCK
+0xDC 0x2584 #LOWER HALF BLOCK
+0xDD 0x258C #LEFT HALF BLOCK
+0xDE 0x2590 #RIGHT HALF BLOCK
+0xDF 0x2580 #UPPER HALF BLOCK
+0xE0 0x03B1 #GREEK SMALL LETTER ALPHA
+0xE1 0x03B2 #GREEK SMALL LETTER BETA
+0xE2 0x0194 #LATIN CAPITAL LETTER GAMMA
+0xE3 0x03C0 #GREEK SMALL LETTER PI
+0xE4 0x03A3 #GREEK CAPITAL LETTER SIGMA
+0xE5 0x03C3 #GREEK SMALL LETTER SIGMA
+0xE6 0x03BC #GREEK SMALL LETTER MU
+0xE7 0x03C4 #GREEK SMALL LETTER TAU
+0xE8 0x03A6 #GREEK CAPITAL LETTER PHI
+0xE9 0x0398 #GREEK CAPITAL LETTER THETA
+0xEA 0x03A9 #GREEK CAPITAL LETTER OMEGA
+0xEB 0x03B4 #GREEK SMALL LETTER DELTA
+0xEC 0x221E #INFINITY
+0xED 0x03C6 #GREEK SMALL LETTER PHI
+0xEE 0x2208 #ELEMENT OF
+0xEF 0x2229 #INTERSECTION
+0xF0 0x224D #EQUIVALENT TO
+0xF1 0x00B1 #PLUS-MINUS SIGN
+0xF2 0x2265 #GREATER-THAN OR EQUAL TO
+0xF3 0x2264 #LESS-THAN OR EQUAL TO
+0xF4 0x2320 #TOP HALF INTEGRAL
+0xF5 0x2321 #BOTTOM HALF INTEGRAL
+0xF6 0x00F7 #DIVISION SIGN
+0xF7 0x2248 #ALMOST EQUAL TO
+0xF8 0x00B0 #DEGREE SIGN
+0xF9 0x2219 #BULLET OPERATOR
+0xFA 0x00B7 #MIDDLE DOT
+0xFB 0x221A #SQUARE ROOT
+0xFC 0x207F #SUPERSCRIPT LATIN SMALL LETTER N
+0xFD 0x00B2 #SUPERSCRIPT TWO
+0xFE 0x25A0 #BLACK SQUARE
+0xFF 0x00A0 #NO-BREAK SPACE
diff --git a/Unicode/koi8_r.cp b/Unicode/koi8_r.cp
new file mode 100644
index 0000000..2f3f416
--- /dev/null
+++ b/Unicode/koi8_r.cp
@@ -0,0 +1,226 @@
+KOI8-R
+"koi8-r"
+
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x80 0x2500 # BOX DRAWINGS LIGHT HORIZONTAL
+0x81 0x2502 # BOX DRAWINGS LIGHT VERTICAL
+0x82 0x250C # BOX DRAWINGS LIGHT DOWN AND RIGHT
+0x83 0x2510 # BOX DRAWINGS LIGHT DOWN AND LEFT
+0x84 0x2514 # BOX DRAWINGS LIGHT UP AND RIGHT
+0x85 0x2518 # BOX DRAWINGS LIGHT UP AND LEFT
+0x86 0x251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0x87 0x2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0x88 0x252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0x89 0x2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0x8A 0x253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0x8B 0x2580 # UPPER HALF BLOCK
+0x8C 0x2584 # LOWER HALF BLOCK
+0x8D 0x2588 # FULL BLOCK
+0x8E 0x258C # LEFT HALF BLOCK
+0x8F 0x2590 # RIGHT HALF BLOCK
+0x90 0x2591 # LIGHT SHADE
+0x91 0x2592 # MEDIUM SHADE
+0x92 0x2593 # DARK SHADE
+0x93 0x2320 # TOP HALF INTEGRAL
+0x94 0x25A0 # BLACK SQUARE
+0x95 0x2022 # BULLET
+0x96 0x221A # SQUARE ROOT
+0x97 0x2248 # ALMOST EQUAL TO
+0x98 0x2264 # LESS-THAN OR EQUAL TO
+0x99 0x2265 # GREATER-THAN OR EQUAL TO
+0x9A 0x00A0 # NO-BREAK SPACE
+0x9B 0x2321 # BOTTOM HALF INTEGRAL
+0x9C 0x00B0 # DEGREE SIGN
+0x9D 0x00B2 # SUPERSCRIPT TWO
+0x9E 0x00B7 # MIDDLE DOT
+0x9F 0x00F7 # DIVISION SIGN
+0xA0 0x2550 # BOX DRAWINGS DOUBLE HORIZONTAL
+0xA1 0x2551 # BOX DRAWINGS DOUBLE VERTICAL
+0xA2 0x2552 # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xA3 0x0451 # CYRILLIC SMALL LETTER IO
+0xA4 0x2553 # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xA5 0x2554 # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xA6 0x2555 # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xA7 0x2556 # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xA8 0x2557 # BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xA9 0x2558 # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xAA 0x2559 # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xAB 0x255A # BOX DRAWINGS DOUBLE UP AND RIGHT
+0xAC 0x255B # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xAD 0x255C # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xAE 0x255D # BOX DRAWINGS DOUBLE UP AND LEFT
+0xAF 0x255E # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xB0 0x255F # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xB1 0x2560 # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xB2 0x2561 # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xB3 0x0401 # CYRILLIC CAPITAL LETTER IO
+0xB4 0x2562 # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xB5 0x2563 # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xB6 0x2564 # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xB7 0x2565 # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xB8 0x2566 # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xB9 0x2567 # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xBA 0x2568 # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xBB 0x2569 # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xBC 0x256A # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xBD 0x256B # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xBE 0x256C # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xBF 0x00A9 # COPYRIGHT SIGN
+0xC0 0x044E # CYRILLIC SMALL LETTER YU
+0xC1 0x0430 # CYRILLIC SMALL LETTER A
+0xC2 0x0431 # CYRILLIC SMALL LETTER BE
+0xC3 0x0446 # CYRILLIC SMALL LETTER TSE
+0xC4 0x0434 # CYRILLIC SMALL LETTER DE
+0xC5 0x0435 # CYRILLIC SMALL LETTER IE
+0xC6 0x0444 # CYRILLIC SMALL LETTER EF
+0xC7 0x0433 # CYRILLIC SMALL LETTER GHE
+0xC8 0x0445 # CYRILLIC SMALL LETTER HA
+0xC9 0x0438 # CYRILLIC SMALL LETTER I
+0xCA 0x0439 # CYRILLIC SMALL LETTER SHORT I
+0xCB 0x043A # CYRILLIC SMALL LETTER KA
+0xCC 0x043B # CYRILLIC SMALL LETTER EL
+0xCD 0x043C # CYRILLIC SMALL LETTER EM
+0xCE 0x043D # CYRILLIC SMALL LETTER EN
+0xCF 0x043E # CYRILLIC SMALL LETTER O
+0xD0 0x043F # CYRILLIC SMALL LETTER PE
+0xD1 0x044F # CYRILLIC SMALL LETTER YA
+0xD2 0x0440 # CYRILLIC SMALL LETTER ER
+0xD3 0x0441 # CYRILLIC SMALL LETTER ES
+0xD4 0x0442 # CYRILLIC SMALL LETTER TE
+0xD5 0x0443 # CYRILLIC SMALL LETTER U
+0xD6 0x0436 # CYRILLIC SMALL LETTER ZHE
+0xD7 0x0432 # CYRILLIC SMALL LETTER VE
+0xD8 0x044C # CYRILLIC SMALL LETTER SOFT SIGN
+0xD9 0x044B # CYRILLIC SMALL LETTER YERU
+0xDA 0x0437 # CYRILLIC SMALL LETTER ZE
+0xDB 0x0448 # CYRILLIC SMALL LETTER SHA
+0xDC 0x044D # CYRILLIC SMALL LETTER E
+0xDD 0x0449 # CYRILLIC SMALL LETTER SHCHA
+0xDE 0x0447 # CYRILLIC SMALL LETTER CHE
+0xDF 0x044A # CYRILLIC SMALL LETTER HARD SIGN
+0xE0 0x042E # CYRILLIC CAPITAL LETTER YU
+0xE1 0x0410 # CYRILLIC CAPITAL LETTER A
+0xE2 0x0411 # CYRILLIC CAPITAL LETTER BE
+0xE3 0x0426 # CYRILLIC CAPITAL LETTER TSE
+0xE4 0x0414 # CYRILLIC CAPITAL LETTER DE
+0xE5 0x0415 # CYRILLIC CAPITAL LETTER IE
+0xE6 0x0424 # CYRILLIC CAPITAL LETTER EF
+0xE7 0x0413 # CYRILLIC CAPITAL LETTER GHE
+0xE8 0x0425 # CYRILLIC CAPITAL LETTER HA
+0xE9 0x0418 # CYRILLIC CAPITAL LETTER I
+0xEA 0x0419 # CYRILLIC CAPITAL LETTER SHORT I
+0xEB 0x041A # CYRILLIC CAPITAL LETTER KA
+0xEC 0x041B # CYRILLIC CAPITAL LETTER EL
+0xED 0x041C # CYRILLIC CAPITAL LETTER EM
+0xEE 0x041D # CYRILLIC CAPITAL LETTER EN
+0xEF 0x041E # CYRILLIC CAPITAL LETTER O
+0xF0 0x041F # CYRILLIC CAPITAL LETTER PE
+0xF1 0x042F # CYRILLIC CAPITAL LETTER YA
+0xF2 0x0420 # CYRILLIC CAPITAL LETTER ER
+0xF3 0x0421 # CYRILLIC CAPITAL LETTER ES
+0xF4 0x0422 # CYRILLIC CAPITAL LETTER TE
+0xF5 0x0423 # CYRILLIC CAPITAL LETTER U
+0xF6 0x0416 # CYRILLIC CAPITAL LETTER ZHE
+0xF7 0x0412 # CYRILLIC CAPITAL LETTER VE
+0xF8 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN
+0xF9 0x042B # CYRILLIC CAPITAL LETTER YERU
+0xFA 0x0417 # CYRILLIC CAPITAL LETTER ZE
+0xFB 0x0428 # CYRILLIC CAPITAL LETTER SHA
+0xFC 0x042D # CYRILLIC CAPITAL LETTER E
+0xFD 0x0429 # CYRILLIC CAPITAL LETTER SHCHA
+0xFE 0x0427 # CYRILLIC CAPITAL LETTER CHE
+0xFF 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN
diff --git a/Unicode/koi8_ru.cp b/Unicode/koi8_ru.cp
new file mode 100644
index 0000000..2e363bc
--- /dev/null
+++ b/Unicode/koi8_ru.cp
@@ -0,0 +1,137 @@
+KOI8-RU
+"koi8-ru"
+#
+# UNIX Belarusian and Ukrainian (koi8-u) to UNICODE translation table
+#
+# Based on koi8u_uni.tbl from lynx 2.8.2 distribution
+# by porokh
+# Belarusian language support by Yevgeny Gromov <yevgeny@tut.by>
+#
+0x80 0x2500 # BOX DRAWINGS LIGHT HORIZONTAL
+0x81 0x2502 # BOX DRAWINGS LIGHT VERTICAL
+0x82 0x250C # BOX DRAWINGS LIGHT DOWN AND RIGHT
+0x83 0x2510 # BOX DRAWINGS LIGHT DOWN AND LEFT
+0x84 0x2514 # BOX DRAWINGS LIGHT UP AND RIGHT
+0x85 0x2518 # BOX DRAWINGS LIGHT UP AND LEFT
+0x86 0x251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0x87 0x2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0x88 0x252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0x89 0x2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0x8A 0x253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0x8B 0x2580 # UPPER HALF BLOCK
+0x8C 0x2584 # LOWER HALF BLOCK
+0x8D 0x2588 # FULL BLOCK
+0x8E 0x258C # LEFT HALF BLOCK
+0x8F 0x2590 # RIGHT HALF BLOCK
+0x90 0x2591 # LIGHT SHADE
+0x91 0x2592 # MEDIUM SHADE
+0x92 0x2593 # DARK SHADE
+0x93 0x2320 # TOP HALF INTEGRAL
+0x94 0x25A0 # BLACK SQUARE
+0x95 0x2219 # BULLET OPERATOR
+0x96 0x221A # SQUARE ROOT
+0x97 0x2248 # ALMOST EQUAL TO
+0x98 0x2264 # LESS THAN OR EQUAL TO
+0x99 0x2265 # GREATER THAN OR EQUAL TO
+0x9A 0x00A0 # NO-BREAK SPACE
+0x9B 0x2321 # BOTTOM HALF INTEGRAL
+0x9C 0x00B0 # DEGREE SIGN
+0x9D 0x00B2 # SUPERSCRIPT TWO
+0x9E 0x00B7 # MIDDLE DOT
+0x9F 0x00F7 # DIVISION SIGN
+0xA0 0x2550 # BOX DRAWINGS DOUBLE HORIZONTAL
+0xA1 0x2551 # BOX DRAWINGS DOUBLE VERTICAL
+0xA2 0x2552 # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xA3 0x0451 # CYRILLIC SMALL LETTER IO
+0xA4 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE
+0xA5 0x2554 # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xA6 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0xA7 0x0457 # CYRILLIC SMALL LETTER YI (UKRAINIAN)
+0xA8 0x2557 # BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xA9 0x2558 # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xAA 0x2559 # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xAB 0x255A # BOX DRAWINGS DOUBLE UP AND RIGHT
+0xAC 0x255B # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xAD 0x0491 # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0xAE 0x045E # CYRILLIC SMALL LETTER SHORT U
+0xAF 0x255E # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xB0 0x255F # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xB1 0x2560 # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xB2 0x2561 # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xB3 0x0401 # CYRILLIC CAPITAL LETTER IO
+0xB4 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0xB5 0x2563 # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xB6 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0xB7 0x0407 # CYRILLIC CAPITAL LETTER YI (UKRAINIAN)
+0xB8 0x2566 # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xB9 0x2567 # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xBA 0x2568 # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xBB 0x2569 # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xBC 0x256A # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xBD 0x0490 # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0xBE 0x040E # CYRILLIC CAPITAL LETTER SHORT U
+0xBF 0x00A9 # COPYRIGHT SIGN
+0xC0 0x044E # CYRILLIC SMALL LETTER YU
+0xC1 0x0430 # CYRILLIC SMALL LETTER A
+0xC2 0x0431 # CYRILLIC SMALL LETTER BE
+0xC3 0x0446 # CYRILLIC SMALL LETTER TSE
+0xC4 0x0434 # CYRILLIC SMALL LETTER DE
+0xC5 0x0435 # CYRILLIC SMALL LETTER IE
+0xC6 0x0444 # CYRILLIC SMALL LETTER EF
+0xC7 0x0433 # CYRILLIC SMALL LETTER GHE
+0xC8 0x0445 # CYRILLIC SMALL LETTER KHA
+0xC9 0x0438 # CYRILLIC SMALL LETTER I
+0xCA 0x0439 # CYRILLIC SMALL LETTER SHORT I
+0xCB 0x043A # CYRILLIC SMALL LETTER KA
+0xCC 0x043B # CYRILLIC SMALL LETTER EL
+0xCD 0x043C # CYRILLIC SMALL LETTER EM
+0xCE 0x043D # CYRILLIC SMALL LETTER EN
+0xCF 0x043E # CYRILLIC SMALL LETTER O
+0xD0 0x043F # CYRILLIC SMALL LETTER PE
+0xD1 0x044F # CYRILLIC SMALL LETTER YA
+0xD2 0x0440 # CYRILLIC SMALL LETTER ER
+0xD3 0x0441 # CYRILLIC SMALL LETTER ES
+0xD4 0x0442 # CYRILLIC SMALL LETTER TE
+0xD5 0x0443 # CYRILLIC SMALL LETTER U
+0xD6 0x0436 # CYRILLIC SMALL LETTER ZHE
+0xD7 0x0432 # CYRILLIC SMALL LETTER VE
+0xD8 0x044C # CYRILLIC SMALL LETTER SOFT SIGN
+0xD9 0x044B # CYRILLIC SMALL LETTER YERU
+0xDA 0x0437 # CYRILLIC SMALL LETTER ZE
+0xDB 0x0448 # CYRILLIC SMALL LETTER SHA
+0xDC 0x044D # CYRILLIC SMALL LETTER E
+0xDD 0x0449 # CYRILLIC SMALL LETTER SHCHA
+0xDE 0x0447 # CYRILLIC SMALL LETTER CHE
+0xDF 0x044A # CYRILLIC SMALL LETTER HARD SIGN
+0xE0 0x042E # CYRILLIC CAPITAL LETTER YU
+0xE1 0x0410 # CYRILLIC CAPITAL LETTER A
+0xE2 0x0411 # CYRILLIC CAPITAL LETTER BE
+0xE3 0x0426 # CYRILLIC CAPITAL LETTER TSE
+0xE4 0x0414 # CYRILLIC CAPITAL LETTER DE
+0xE5 0x0415 # CYRILLIC CAPITAL LETTER IE
+0xE6 0x0424 # CYRILLIC CAPITAL LETTER EF
+0xE7 0x0413 # CYRILLIC CAPITAL LETTER GHE
+0xE8 0x0425 # CYRILLIC CAPITAL LETTER KHA
+0xE9 0x0418 # CYRILLIC CAPITAL LETTER I
+0xEA 0x0419 # CYRILLIC CAPITAL LETTER SHORT I
+0xEB 0x041A # CYRILLIC CAPITAL LETTER KA
+0xEC 0x041B # CYRILLIC CAPITAL LETTER EL
+0xED 0x041C # CYRILLIC CAPITAL LETTER EM
+0xEE 0x041D # CYRILLIC CAPITAL LETTER EN
+0xEF 0x041E # CYRILLIC CAPITAL LETTER O
+0xF0 0x041F # CYRILLIC CAPITAL LETTER PE
+0xF1 0x042F # CYRILLIC CAPITAL LETTER YA
+0xF2 0x0420 # CYRILLIC CAPITAL LETTER ER
+0xF3 0x0421 # CYRILLIC CAPITAL LETTER ES
+0xF4 0x0422 # CYRILLIC CAPITAL LETTER TE
+0xF5 0x0423 # CYRILLIC CAPITAL LETTER U
+0xF6 0x0416 # CYRILLIC CAPITAL LETTER ZHE
+0xF7 0x0412 # CYRILLIC CAPITAL LETTER VE
+0xF8 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN
+0xF9 0x042B # CYRILLIC CAPITAL LETTER YERU
+0xFA 0x0417 # CYRILLIC CAPITAL LETTER ZE
+0xFB 0x0428 # CYRILLIC CAPITAL LETTER SHA
+0xFC 0x042D # CYRILLIC CAPITAL LETTER E
+0xFD 0x0429 # CYRILLIC CAPITAL LETTER SHCHA
+0xFE 0x0427 # CYRILLIC CAPITAL LETTER CHE
+0xFF 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN
diff --git a/Unicode/koi8_u.cp b/Unicode/koi8_u.cp
new file mode 100644
index 0000000..ecff9ee
--- /dev/null
+++ b/Unicode/koi8_u.cp
@@ -0,0 +1,136 @@
+KOI8-U
+"koi8-u"
+#
+# UNIX Ukrainian (koi8-u) to UNICODE translation table
+#
+# Based on koi8u_uni.tbl from lynx 2.8.2 distribution
+# by porokh
+#
+0x80 0x2500 # BOX DRAWINGS LIGHT HORIZONTAL
+0x81 0x2502 # BOX DRAWINGS LIGHT VERTICAL
+0x82 0x250C # BOX DRAWINGS LIGHT DOWN AND RIGHT
+0x83 0x2510 # BOX DRAWINGS LIGHT DOWN AND LEFT
+0x84 0x2514 # BOX DRAWINGS LIGHT UP AND RIGHT
+0x85 0x2518 # BOX DRAWINGS LIGHT UP AND LEFT
+0x86 0x251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0x87 0x2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0x88 0x252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0x89 0x2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0x8A 0x253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0x8B 0x2580 # UPPER HALF BLOCK
+0x8C 0x2584 # LOWER HALF BLOCK
+0x8D 0x2588 # FULL BLOCK
+0x8E 0x258C # LEFT HALF BLOCK
+0x8F 0x2590 # RIGHT HALF BLOCK
+0x90 0x2591 # LIGHT SHADE
+0x91 0x2592 # MEDIUM SHADE
+0x92 0x2593 # DARK SHADE
+0x93 0x2320 # TOP HALF INTEGRAL
+0x94 0x25A0 # BLACK SQUARE
+0x95 0x2219 # BULLET OPERATOR
+0x96 0x221A # SQUARE ROOT
+0x97 0x2248 # ALMOST EQUAL TO
+0x98 0x2264 # LESS THAN OR EQUAL TO
+0x99 0x2265 # GREATER THAN OR EQUAL TO
+0x9A 0x00A0 # NO-BREAK SPACE
+0x9B 0x2321 # BOTTOM HALF INTEGRAL
+0x9C 0x00B0 # DEGREE SIGN
+0x9D 0x00B2 # SUPERSCRIPT TWO
+0x9E 0x00B7 # MIDDLE DOT
+0x9F 0x00F7 # DIVISION SIGN
+0xA0 0x2550 # BOX DRAWINGS DOUBLE HORIZONTAL
+0xA1 0x2551 # BOX DRAWINGS DOUBLE VERTICAL
+0xA2 0x2552 # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xA3 0x0451 # CYRILLIC SMALL LETTER IO
+0xA4 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE
+0xA5 0x2554 # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xA6 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0xA7 0x0457 # CYRILLIC SMALL LETTER YI (UKRAINIAN)
+0xA8 0x2557 # BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xA9 0x2558 # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xAA 0x2559 # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xAB 0x255A # BOX DRAWINGS DOUBLE UP AND RIGHT
+0xAC 0x255B # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xAD 0x0491 # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0xAE 0x255D # BOX DRAWINGS DOUBLE UP AND LEFT
+0xAF 0x255E # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xB0 0x255F # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xB1 0x2560 # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xB2 0x2561 # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xB3 0x0401 # CYRILLIC CAPITAL LETTER IO
+0xB4 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0xB5 0x2563 # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xB6 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0xB7 0x0407 # CYRILLIC CAPITAL LETTER YI (UKRAINIAN)
+0xB8 0x2566 # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xB9 0x2567 # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xBA 0x2568 # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xBB 0x2569 # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xBC 0x256A # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xBD 0x0490 # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0xBE 0x256C # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xBF 0x00A9 # COPYRIGHT SIGN
+0xC0 0x044E # CYRILLIC SMALL LETTER YU
+0xC1 0x0430 # CYRILLIC SMALL LETTER A
+0xC2 0x0431 # CYRILLIC SMALL LETTER BE
+0xC3 0x0446 # CYRILLIC SMALL LETTER TSE
+0xC4 0x0434 # CYRILLIC SMALL LETTER DE
+0xC5 0x0435 # CYRILLIC SMALL LETTER IE
+0xC6 0x0444 # CYRILLIC SMALL LETTER EF
+0xC7 0x0433 # CYRILLIC SMALL LETTER GHE
+0xC8 0x0445 # CYRILLIC SMALL LETTER KHA
+0xC9 0x0438 # CYRILLIC SMALL LETTER I
+0xCA 0x0439 # CYRILLIC SMALL LETTER SHORT I
+0xCB 0x043A # CYRILLIC SMALL LETTER KA
+0xCC 0x043B # CYRILLIC SMALL LETTER EL
+0xCD 0x043C # CYRILLIC SMALL LETTER EM
+0xCE 0x043D # CYRILLIC SMALL LETTER EN
+0xCF 0x043E # CYRILLIC SMALL LETTER O
+0xD0 0x043F # CYRILLIC SMALL LETTER PE
+0xD1 0x044F # CYRILLIC SMALL LETTER YA
+0xD2 0x0440 # CYRILLIC SMALL LETTER ER
+0xD3 0x0441 # CYRILLIC SMALL LETTER ES
+0xD4 0x0442 # CYRILLIC SMALL LETTER TE
+0xD5 0x0443 # CYRILLIC SMALL LETTER U
+0xD6 0x0436 # CYRILLIC SMALL LETTER ZHE
+0xD7 0x0432 # CYRILLIC SMALL LETTER VE
+0xD8 0x044C # CYRILLIC SMALL LETTER SOFT SIGN
+0xD9 0x044B # CYRILLIC SMALL LETTER YERU
+0xDA 0x0437 # CYRILLIC SMALL LETTER ZE
+0xDB 0x0448 # CYRILLIC SMALL LETTER SHA
+0xDC 0x044D # CYRILLIC SMALL LETTER E
+0xDD 0x0449 # CYRILLIC SMALL LETTER SHCHA
+0xDE 0x0447 # CYRILLIC SMALL LETTER CHE
+0xDF 0x044A # CYRILLIC SMALL LETTER HARD SIGN
+0xE0 0x042E # CYRILLIC CAPITAL LETTER YU
+0xE1 0x0410 # CYRILLIC CAPITAL LETTER A
+0xE2 0x0411 # CYRILLIC CAPITAL LETTER BE
+0xE3 0x0426 # CYRILLIC CAPITAL LETTER TSE
+0xE4 0x0414 # CYRILLIC CAPITAL LETTER DE
+0xE5 0x0415 # CYRILLIC CAPITAL LETTER IE
+0xE6 0x0424 # CYRILLIC CAPITAL LETTER EF
+0xE7 0x0413 # CYRILLIC CAPITAL LETTER GHE
+0xE8 0x0425 # CYRILLIC CAPITAL LETTER KHA
+0xE9 0x0418 # CYRILLIC CAPITAL LETTER I
+0xEA 0x0419 # CYRILLIC CAPITAL LETTER SHORT I
+0xEB 0x041A # CYRILLIC CAPITAL LETTER KA
+0xEC 0x041B # CYRILLIC CAPITAL LETTER EL
+0xED 0x041C # CYRILLIC CAPITAL LETTER EM
+0xEE 0x041D # CYRILLIC CAPITAL LETTER EN
+0xEF 0x041E # CYRILLIC CAPITAL LETTER O
+0xF0 0x041F # CYRILLIC CAPITAL LETTER PE
+0xF1 0x042F # CYRILLIC CAPITAL LETTER YA
+0xF2 0x0420 # CYRILLIC CAPITAL LETTER ER
+0xF3 0x0421 # CYRILLIC CAPITAL LETTER ES
+0xF4 0x0422 # CYRILLIC CAPITAL LETTER TE
+0xF5 0x0423 # CYRILLIC CAPITAL LETTER U
+0xF6 0x0416 # CYRILLIC CAPITAL LETTER ZHE
+0xF7 0x0412 # CYRILLIC CAPITAL LETTER VE
+0xF8 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN
+0xF9 0x042B # CYRILLIC CAPITAL LETTER YERU
+0xFA 0x0417 # CYRILLIC CAPITAL LETTER ZE
+0xFB 0x0428 # CYRILLIC CAPITAL LETTER SHA
+0xFC 0x042D # CYRILLIC CAPITAL LETTER E
+0xFD 0x0429 # CYRILLIC CAPITAL LETTER SHCHA
+0xFE 0x0427 # CYRILLIC CAPITAL LETTER CHE
+0xFF 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN
diff --git a/Unicode/mac_lat2.cp b/Unicode/mac_lat2.cp
new file mode 100644
index 0000000..f8b791c
--- /dev/null
+++ b/Unicode/mac_lat2.cp
@@ -0,0 +1,276 @@
+Mac latin 2
+"x-mac-ce", "mac-ce", "maclatin2", "10029"
+#
+# Name: cp10029_MacLatin2 to Unicode table
+# Unicode version: 2.0
+# Table version: 2.00
+# Table format: Format A
+# Date: 04/24/96
+# Authors: Lori Brownell <loribr@microsoft.com>
+# K.D. Chang <a-kchang@microsoft.com>
+# General notes: none
+#
+# Format: Three tab-separated columns
+# Column #1 is the cp10029_MacLatin2 code (in hex)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 is the Unicode name (follows a comment sign, '#')
+#
+# The entries are in cp10029_MacLatin2 order
+#
+0x00 0x0000 #NULL
+0x01 0x0001 #START OF HEADING
+0x02 0x0002 #START OF TEXT
+0x03 0x0003 #END OF TEXT
+0x04 0x0004 #END OF TRANSMISSION
+0x05 0x0005 #ENQUIRY
+0x06 0x0006 #ACKNOWLEDGE
+0x07 0x0007 #BELL
+0x08 0x0008 #BACKSPACE
+0x09 0x0009 #HORIZONTAL TABULATION
+0x0A 0x000A #LINE FEED
+0x0B 0x000B #VERTICAL TABULATION
+0x0C 0x000C #FORM FEED
+0x0D 0x000D #CARRIAGE RETURN
+0x0E 0x000E #SHIFT OUT
+0x0F 0x000F #SHIFT IN
+0x10 0x0010 #DATA LINK ESCAPE
+0x11 0x0011 #DEVICE CONTROL ONE
+0x12 0x0012 #DEVICE CONTROL TWO
+0x13 0x0013 #DEVICE CONTROL THREE
+0x14 0x0014 #DEVICE CONTROL FOUR
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE
+0x16 0x0016 #SYNCHRONOUS IDLE
+0x17 0x0017 #END OF TRANSMISSION BLOCK
+0x18 0x0018 #CANCEL
+0x19 0x0019 #END OF MEDIUM
+0x1A 0x001A #SUBSTITUTE
+0x1B 0x001B #ESCAPE
+0x1C 0x001C #FILE SEPARATOR
+0x1D 0x001D #GROUP SEPARATOR
+0x1E 0x001E #RECORD SEPARATOR
+0x1F 0x001F #UNIT SEPARATOR
+0x20 0x0020 #SPACE
+0x21 0x0021 #EXCLAMATION MARK
+0x22 0x0022 #QUOTATION MARK
+0x23 0x0023 #NUMBER SIGN
+0x24 0x0024 #DOLLAR SIGN
+0x25 0x0025 #PERCENT SIGN
+0x26 0x0026 #AMPERSAND
+0x27 0x0027 #APOSTROPHE
+0x28 0x0028 #LEFT PARENTHESIS
+0x29 0x0029 #RIGHT PARENTHESIS
+0x2A 0x002A #ASTERISK
+0x2B 0x002B #PLUS SIGN
+0x2C 0x002C #COMMA
+0x2D 0x002D #HYPHEN-MINUS
+0x2E 0x002E #FULL STOP
+0x2F 0x002F #SOLIDUS
+0x30 0x0030 #DIGIT ZERO
+0x31 0x0031 #DIGIT ONE
+0x32 0x0032 #DIGIT TWO
+0x33 0x0033 #DIGIT THREE
+0x34 0x0034 #DIGIT FOUR
+0x35 0x0035 #DIGIT FIVE
+0x36 0x0036 #DIGIT SIX
+0x37 0x0037 #DIGIT SEVEN
+0x38 0x0038 #DIGIT EIGHT
+0x39 0x0039 #DIGIT NINE
+0x3A 0x003A #COLON
+0x3B 0x003B #SEMICOLON
+0x3C 0x003C #LESS-THAN SIGN
+0x3D 0x003D #EQUALS SIGN
+0x3E 0x003E #GREATER-THAN SIGN
+0x3F 0x003F #QUESTION MARK
+0x40 0x0040 #COMMERCIAL AT
+0x41 0x0041 #LATIN CAPITAL LETTER A
+0x42 0x0042 #LATIN CAPITAL LETTER B
+0x43 0x0043 #LATIN CAPITAL LETTER C
+0x44 0x0044 #LATIN CAPITAL LETTER D
+0x45 0x0045 #LATIN CAPITAL LETTER E
+0x46 0x0046 #LATIN CAPITAL LETTER F
+0x47 0x0047 #LATIN CAPITAL LETTER G
+0x48 0x0048 #LATIN CAPITAL LETTER H
+0x49 0x0049 #LATIN CAPITAL LETTER I
+0x4A 0x004A #LATIN CAPITAL LETTER J
+0x4B 0x004B #LATIN CAPITAL LETTER K
+0x4C 0x004C #LATIN CAPITAL LETTER L
+0x4D 0x004D #LATIN CAPITAL LETTER M
+0x4E 0x004E #LATIN CAPITAL LETTER N
+0x4F 0x004F #LATIN CAPITAL LETTER O
+0x50 0x0050 #LATIN CAPITAL LETTER P
+0x51 0x0051 #LATIN CAPITAL LETTER Q
+0x52 0x0052 #LATIN CAPITAL LETTER R
+0x53 0x0053 #LATIN CAPITAL LETTER S
+0x54 0x0054 #LATIN CAPITAL LETTER T
+0x55 0x0055 #LATIN CAPITAL LETTER U
+0x56 0x0056 #LATIN CAPITAL LETTER V
+0x57 0x0057 #LATIN CAPITAL LETTER W
+0x58 0x0058 #LATIN CAPITAL LETTER X
+0x59 0x0059 #LATIN CAPITAL LETTER Y
+0x5A 0x005A #LATIN CAPITAL LETTER Z
+0x5B 0x005B #LEFT SQUARE BRACKET
+0x5C 0x005C #REVERSE SOLIDUS
+0x5D 0x005D #RIGHT SQUARE BRACKET
+0x5E 0x005E #CIRCUMFLEX ACCENT
+0x5F 0x005F #LOW LINE
+0x60 0x0060 #GRAVE ACCENT
+0x61 0x0061 #LATIN SMALL LETTER A
+0x62 0x0062 #LATIN SMALL LETTER B
+0x63 0x0063 #LATIN SMALL LETTER C
+0x64 0x0064 #LATIN SMALL LETTER D
+0x65 0x0065 #LATIN SMALL LETTER E
+0x66 0x0066 #LATIN SMALL LETTER F
+0x67 0x0067 #LATIN SMALL LETTER G
+0x68 0x0068 #LATIN SMALL LETTER H
+0x69 0x0069 #LATIN SMALL LETTER I
+0x6A 0x006A #LATIN SMALL LETTER J
+0x6B 0x006B #LATIN SMALL LETTER K
+0x6C 0x006C #LATIN SMALL LETTER L
+0x6D 0x006D #LATIN SMALL LETTER M
+0x6E 0x006E #LATIN SMALL LETTER N
+0x6F 0x006F #LATIN SMALL LETTER O
+0x70 0x0070 #LATIN SMALL LETTER P
+0x71 0x0071 #LATIN SMALL LETTER Q
+0x72 0x0072 #LATIN SMALL LETTER R
+0x73 0x0073 #LATIN SMALL LETTER S
+0x74 0x0074 #LATIN SMALL LETTER T
+0x75 0x0075 #LATIN SMALL LETTER U
+0x76 0x0076 #LATIN SMALL LETTER V
+0x77 0x0077 #LATIN SMALL LETTER W
+0x78 0x0078 #LATIN SMALL LETTER X
+0x79 0x0079 #LATIN SMALL LETTER Y
+0x7A 0x007A #LATIN SMALL LETTER Z
+0x7B 0x007B #LEFT CURLY BRACKET
+0x7C 0x007C #VERTICAL LINE
+0x7D 0x007D #RIGHT CURLY BRACKET
+0x7E 0x007E #TILDE
+0x7F 0x007F #DELETE
+0x80 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81 0x0100 #LATIN CAPITAL LETTER A WITH MACRON
+0x82 0x0101 #LATIN SMALL LETTER A WITH MACRON
+0x83 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE
+0x84 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
+0x85 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87 0x00E1 #LATIN SMALL LETTER A WITH ACUTE
+0x88 0x0105 #LATIN SMALL LETTER A WITH OGONEK
+0x89 0x010C #LATIN CAPITAL LETTER C WITH CARON
+0x8A 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS
+0x8B 0x010D #LATIN SMALL LETTER C WITH CARON
+0x8C 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE
+0x8D 0x0107 #LATIN SMALL LETTER C WITH ACUTE
+0x8E 0x00E9 #LATIN SMALL LETTER E WITH ACUTE
+0x8F 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE
+0x90 0x017A #LATIN SMALL LETTER Z WITH ACUTE
+0x91 0x010E #LATIN CAPITAL LETTER D WITH CARON
+0x92 0x00ED #LATIN SMALL LETTER I WITH ACUTE
+0x93 0x010F #LATIN SMALL LETTER D WITH CARON
+0x94 0x0112 #LATIN CAPITAL LETTER E WITH MACRON
+0x95 0x0113 #LATIN SMALL LETTER E WITH MACRON
+0x96 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE
+0x97 0x00F3 #LATIN SMALL LETTER O WITH ACUTE
+0x98 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE
+0x99 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS
+0x9B 0x00F5 #LATIN SMALL LETTER O WITH TILDE
+0x9C 0x00FA #LATIN SMALL LETTER U WITH ACUTE
+0x9D 0x011A #LATIN CAPITAL LETTER E WITH CARON
+0x9E 0x011B #LATIN SMALL LETTER E WITH CARON
+0x9F 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
+0xA0 0x2020 #DAGGER
+0xA1 0x00B0 #DEGREE SIGN
+0xA2 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
+0xA3 0x00A3 #POUND SIGN
+0xA4 0x00A7 #SECTION SIGN
+0xA5 0x2022 #BULLET
+0xA6 0x00B6 #PILCROW SIGN
+0xA7 0x00DF #LATIN SMALL LETTER SHARP S
+0xA8 0x00AE #REGISTERED SIGN
+0xA9 0x00A9 #COPYRIGHT SIGN
+0xAA 0x2122 #TRADE MARK SIGN
+0xAB 0x0119 #LATIN SMALL LETTER E WITH OGONEK
+0xAC 0x00A8 #DIAERESIS
+0xAD 0x2260 #NOT EQUAL TO
+0xAE 0x0123 #LATIN SMALL LETTER G WITH CEDILLA
+0xAF 0x012E #LATIN CAPITAL LETTER I WITH OGONEK
+0xB0 0x012F #LATIN SMALL LETTER I WITH OGONEK
+0xB1 0x012A #LATIN CAPITAL LETTER I WITH MACRON
+0xB2 0x2264 #LESS-THAN OR EQUAL TO
+0xB3 0x2265 #GREATER-THAN OR EQUAL TO
+0xB4 0x012B #LATIN SMALL LETTER I WITH MACRON
+0xB5 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA
+0xB6 0x2202 #PARTIAL DIFFERENTIAL
+0xB7 0x2211 #N-ARY SUMMATION
+0xB8 0x0142 #LATIN SMALL LETTER L WITH STROKE
+0xB9 0x013B #LATIN CAPITAL LETTER L WITH CEDILLA
+0xBA 0x013C #LATIN SMALL LETTER L WITH CEDILLA
+0xBB 0x013D #LATIN CAPITAL LETTER L WITH CARON
+0xBC 0x013E #LATIN SMALL LETTER L WITH CARON
+0xBD 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE
+0xBE 0x013A #LATIN SMALL LETTER L WITH ACUTE
+0xBF 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA
+0xC0 0x0146 #LATIN SMALL LETTER N WITH CEDILLA
+0xC1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE
+0xC2 0x00AC #NOT SIGN
+0xC3 0x221A #SQUARE ROOT
+0xC4 0x0144 #LATIN SMALL LETTER N WITH ACUTE
+0xC5 0x0147 #LATIN CAPITAL LETTER N WITH CARON
+0xC6 0x2206 #INCREMENT
+0xC7 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9 0x2026 #HORIZONTAL ELLIPSIS
+0xCA 0x00A0 #NO-BREAK SPACE
+0xCB 0x0148 #LATIN SMALL LETTER N WITH CARON
+0xCC 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0xCD 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE
+0xCE 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0xCF 0x014C #LATIN CAPITAL LETTER O WITH MACRON
+0xD0 0x2013 #EN DASH
+0xD1 0x2014 #EM DASH
+0xD2 0x201C #LEFT DOUBLE QUOTATION MARK
+0xD3 0x201D #RIGHT DOUBLE QUOTATION MARK
+0xD4 0x2018 #LEFT SINGLE QUOTATION MARK
+0xD5 0x2019 #RIGHT SINGLE QUOTATION MARK
+0xD6 0x00F7 #DIVISION SIGN
+0xD7 0x25CA #LOZENGE
+0xD8 0x014D #LATIN SMALL LETTER O WITH MACRON
+0xD9 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE
+0xDA 0x0155 #LATIN SMALL LETTER R WITH ACUTE
+0xDB 0x0158 #LATIN CAPITAL LETTER R WITH CARON
+0xDC 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0xDD 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0xDE 0x0159 #LATIN SMALL LETTER R WITH CARON
+0xDF 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA
+0xE0 0x0157 #LATIN SMALL LETTER R WITH CEDILLA
+0xE1 0x0160 #LATIN CAPITAL LETTER S WITH CARON
+0xE2 0x201A #SINGLE LOW-9 QUOTATION MARK
+0xE3 0x201E #DOUBLE LOW-9 QUOTATION MARK
+0xE4 0x0161 #LATIN SMALL LETTER S WITH CARON
+0xE5 0x015A #LATIN CAPITAL LETTER S WITH ACUTE
+0xE6 0x015B #LATIN SMALL LETTER S WITH ACUTE
+0xE7 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE
+0xE8 0x0164 #LATIN CAPITAL LETTER T WITH CARON
+0xE9 0x0165 #LATIN SMALL LETTER T WITH CARON
+0xEA 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE
+0xEB 0x017D #LATIN CAPITAL LETTER Z WITH CARON
+0xEC 0x017E #LATIN SMALL LETTER Z WITH CARON
+0xED 0x016A #LATIN CAPITAL LETTER U WITH MACRON
+0xEE 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE
+0xEF 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xF0 0x016B #LATIN SMALL LETTER U WITH MACRON
+0xF1 0x016E #LATIN CAPITAL LETTER U WITH RING ABOVE
+0xF2 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE
+0xF3 0x016F #LATIN SMALL LETTER U WITH RING ABOVE
+0xF4 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xF5 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xF6 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK
+0xF7 0x0173 #LATIN SMALL LETTER U WITH OGONEK
+0xF8 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE
+0xF9 0x00FD #LATIN SMALL LETTER Y WITH ACUTE
+0xFA 0x0137 #LATIN SMALL LETTER K WITH CEDILLA
+0xFB 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xFC 0x0141 #LATIN CAPITAL LETTER L WITH STROKE
+0xFD 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE
+0xFE 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA
+0xFF 0x02C7 #CARON
+
diff --git a/Unicode/macroman.cp b/Unicode/macroman.cp
new file mode 100644
index 0000000..d544587
--- /dev/null
+++ b/Unicode/macroman.cp
@@ -0,0 +1,258 @@
+MacRoman 2000
+"x-mac", "mac", "macroman"
+0x00 0x0000 #NULL
+0x01 0x0001 #START OF HEADING
+0x02 0x0002 #START OF TEXT
+0x03 0x0003 #END OF TEXT
+0x04 0x0004 #END OF TRANSMISSION
+0x05 0x0005 #ENQUIRY
+0x06 0x0006 #ACKNOWLEDGE
+0x07 0x0007 #BELL
+0x08 0x0008 #BACKSPACE
+0x09 0x0009 #HORIZONTAL TABULATION
+0x0A 0x000A #LINE FEED
+0x0B 0x000B #VERTICAL TABULATION
+0x0C 0x000C #FORM FEED
+0x0D 0x000D #CARRIAGE RETURN
+0x0E 0x000E #SHIFT OUT
+0x0F 0x000F #SHIFT IN
+0x10 0x0010 #DATA LINK ESCAPE
+0x11 0x0011 #DEVICE CONTROL ONE
+0x12 0x0012 #DEVICE CONTROL TWO
+0x13 0x0013 #DEVICE CONTROL THREE
+0x14 0x0014 #DEVICE CONTROL FOUR
+0x15 0x0015 #NEGATIVE ACKNOWLEDGE
+0x16 0x0016 #SYNCHRONOUS IDLE
+0x17 0x0017 #END OF TRANSMISSION BLOCK
+0x18 0x0018 #CANCEL
+0x19 0x0019 #END OF MEDIUM
+0x1A 0x001A #SUBSTITUTE
+0x1B 0x001B #ESCAPE
+0x1C 0x001C #FILE SEPARATOR
+0x1D 0x001D #GROUP SEPARATOR
+0x1E 0x001E #RECORD SEPARATOR
+0x1F 0x001F #UNIT SEPARATOR
+0x20 0x0020 #SPACE
+0x21 0x0021 #EXCLAMATION MARK
+0x22 0x0022 #QUOTATION MARK
+0x23 0x0023 #NUMBER SIGN
+0x24 0x0024 #DOLLAR SIGN
+0x25 0x0025 #PERCENT SIGN
+0x26 0x0026 #AMPERSAND
+0x27 0x0027 #APOSTROPHE
+0x28 0x0028 #LEFT PARENTHESIS
+0x29 0x0029 #RIGHT PARENTHESIS
+0x2A 0x002A #ASTERISK
+0x2B 0x002B #PLUS SIGN
+0x2C 0x002C #COMMA
+0x2D 0x002D #HYPHEN-MINUS
+0x2E 0x002E #FULL STOP
+0x2F 0x002F #SOLIDUS
+0x30 0x0030 #DIGIT ZERO
+0x31 0x0031 #DIGIT ONE
+0x32 0x0032 #DIGIT TWO
+0x33 0x0033 #DIGIT THREE
+0x34 0x0034 #DIGIT FOUR
+0x35 0x0035 #DIGIT FIVE
+0x36 0x0036 #DIGIT SIX
+0x37 0x0037 #DIGIT SEVEN
+0x38 0x0038 #DIGIT EIGHT
+0x39 0x0039 #DIGIT NINE
+0x3A 0x003A #COLON
+0x3B 0x003B #SEMICOLON
+0x3C 0x003C #LESS-THAN SIGN
+0x3D 0x003D #EQUALS SIGN
+0x3E 0x003E #GREATER-THAN SIGN
+0x3F 0x003F #QUESTION MARK
+0x40 0x0040 #COMMERCIAL AT
+0x41 0x0041 #LATIN CAPITAL LETTER A
+0x42 0x0042 #LATIN CAPITAL LETTER B
+0x43 0x0043 #LATIN CAPITAL LETTER C
+0x44 0x0044 #LATIN CAPITAL LETTER D
+0x45 0x0045 #LATIN CAPITAL LETTER E
+0x46 0x0046 #LATIN CAPITAL LETTER F
+0x47 0x0047 #LATIN CAPITAL LETTER G
+0x48 0x0048 #LATIN CAPITAL LETTER H
+0x49 0x0049 #LATIN CAPITAL LETTER I
+0x4A 0x004A #LATIN CAPITAL LETTER J
+0x4B 0x004B #LATIN CAPITAL LETTER K
+0x4C 0x004C #LATIN CAPITAL LETTER L
+0x4D 0x004D #LATIN CAPITAL LETTER M
+0x4E 0x004E #LATIN CAPITAL LETTER N
+0x4F 0x004F #LATIN CAPITAL LETTER O
+0x50 0x0050 #LATIN CAPITAL LETTER P
+0x51 0x0051 #LATIN CAPITAL LETTER Q
+0x52 0x0052 #LATIN CAPITAL LETTER R
+0x53 0x0053 #LATIN CAPITAL LETTER S
+0x54 0x0054 #LATIN CAPITAL LETTER T
+0x55 0x0055 #LATIN CAPITAL LETTER U
+0x56 0x0056 #LATIN CAPITAL LETTER V
+0x57 0x0057 #LATIN CAPITAL LETTER W
+0x58 0x0058 #LATIN CAPITAL LETTER X
+0x59 0x0059 #LATIN CAPITAL LETTER Y
+0x5A 0x005A #LATIN CAPITAL LETTER Z
+0x5B 0x005B #LEFT SQUARE BRACKET
+0x5C 0x005C #REVERSE SOLIDUS
+0x5D 0x005D #RIGHT SQUARE BRACKET
+0x5E 0x005E #CIRCUMFLEX ACCENT
+0x5F 0x005F #LOW LINE
+0x60 0x0060 #GRAVE ACCENT
+0x61 0x0061 #LATIN SMALL LETTER A
+0x62 0x0062 #LATIN SMALL LETTER B
+0x63 0x0063 #LATIN SMALL LETTER C
+0x64 0x0064 #LATIN SMALL LETTER D
+0x65 0x0065 #LATIN SMALL LETTER E
+0x66 0x0066 #LATIN SMALL LETTER F
+0x67 0x0067 #LATIN SMALL LETTER G
+0x68 0x0068 #LATIN SMALL LETTER H
+0x69 0x0069 #LATIN SMALL LETTER I
+0x6A 0x006A #LATIN SMALL LETTER J
+0x6B 0x006B #LATIN SMALL LETTER K
+0x6C 0x006C #LATIN SMALL LETTER L
+0x6D 0x006D #LATIN SMALL LETTER M
+0x6E 0x006E #LATIN SMALL LETTER N
+0x6F 0x006F #LATIN SMALL LETTER O
+0x70 0x0070 #LATIN SMALL LETTER P
+0x71 0x0071 #LATIN SMALL LETTER Q
+0x72 0x0072 #LATIN SMALL LETTER R
+0x73 0x0073 #LATIN SMALL LETTER S
+0x74 0x0074 #LATIN SMALL LETTER T
+0x75 0x0075 #LATIN SMALL LETTER U
+0x76 0x0076 #LATIN SMALL LETTER V
+0x77 0x0077 #LATIN SMALL LETTER W
+0x78 0x0078 #LATIN SMALL LETTER X
+0x79 0x0079 #LATIN SMALL LETTER Y
+0x7A 0x007A #LATIN SMALL LETTER Z
+0x7B 0x007B #LEFT CURLY BRACKET
+0x7C 0x007C #VERTICAL LINE
+0x7D 0x007D #RIGHT CURLY BRACKET
+0x7E 0x007E #TILDE
+0x7F 0x007F #DELETE
+0x80 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE
+0x82 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA
+0x83 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE
+0x84 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE
+0x85 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87 0x00E1 #LATIN SMALL LETTER A WITH ACUTE
+0x88 0x00E0 #LATIN SMALL LETTER A WITH GRAVE
+0x89 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS
+0x8B 0x00E3 #LATIN SMALL LETTER A WITH TILDE
+0x8C 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE
+0x8D 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA
+0x8E 0x00E9 #LATIN SMALL LETTER E WITH ACUTE
+0x8F 0x00E8 #LATIN SMALL LETTER E WITH GRAVE
+0x90 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS
+0x92 0x00ED #LATIN SMALL LETTER I WITH ACUTE
+0x93 0x00EC #LATIN SMALL LETTER I WITH GRAVE
+0x94 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS
+0x96 0x00F1 #LATIN SMALL LETTER N WITH TILDE
+0x97 0x00F3 #LATIN SMALL LETTER O WITH ACUTE
+0x98 0x00F2 #LATIN SMALL LETTER O WITH GRAVE
+0x99 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS
+0x9B 0x00F5 #LATIN SMALL LETTER O WITH TILDE
+0x9C 0x00FA #LATIN SMALL LETTER U WITH ACUTE
+0x9D 0x00F9 #LATIN SMALL LETTER U WITH GRAVE
+0x9E 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
+0xA0 0x2020 #DAGGER
+0xA1 0x00B0 #DEGREE SIGN
+0xA2 0x00A2 #CENT SIGN
+0xA3 0x00A3 #POUND SIGN
+0xA4 0x00A7 #SECTION SIGN
+0xA5 0x2022 #PUCE
+0xA6 0x00B6 #PILCROW SIGN
+0xA7 0x00DF #LATIN SMALL LETTER SHARP S (GERMAN)
+0xA8 0x00AE #REGISTERED SIGN
+0xA9 0x00A9 #COPYRIGHT SIGN
+0xAA 0x2122 #TRADE MARK SIGN
+0xAB 0x00B4 #ACUTE ACCENT
+0xAC 0x00A8 #DIAERESIS
+0xAD 0x2260 #NOT EQUAL TO
+0xAE 0x00C6 #LATIN CAPITAL LETTER AE
+0xAF 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE
+0xB0 0x221E #INFINITY
+0xB1 0x00B1 #PLUS-MINUS SIGN
+0xB2 0x2264 #LESS-THAN OR EQUAL TO
+0xB3 0x2265 #GREATER-THAN OR EQUAL TO
+0xB4 0x00A5 #YEN SIGN
+0xB5 0x00B5 #MICRO SIGN
+0xB6 0x2202 #PARTIAL DIFFERENTIAL
+0xB7 0x2211 #N-ARY SUMMATION
+0xB8 0x220F #N-ARY PRODUCT
+0xB9 0x03C0 #GREEK SMALL LETTER PI
+0xBA 0x222B #INTEGRAL
+0xBB 0x00AA #FEMININE ORDINAL INDICATOR
+0xBC 0x00BA #MASCULINE ORDINAL INDICATOR
+0xBD 0x03A9 #GREEK CAPITAL LETTER OMEGA
+0xBE 0x00E6 #LATIN SMALL LETTER AE
+0xBF 0x00F8 #LATIN SMALL LETTER O WITH STROKE
+0xC0 0x00BF #INVERTED QUESTION MARK
+0xC1 0x00A1 #INVERTED EXCLAMATION MARK
+0xC2 0x00AC #NOT SIGN
+0xC3 0x221A #SQUARE ROOT
+0xC4 0x0192 #LETTRE MINUSCULE LATINE F CEDILLE
+0xC5 0x2248 #ALMOST EQUAL TO
+0xC6 0x0394 #GREEK CAPITAL LETTER DELTA
+0xC7 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9 0x2026 #MIDLINE HORIZONTAL ELLIPSIS
+0xCA 0x00A0 #NO-BREAK SPACE
+0xCB 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE
+0xCC 0x00C3 #LATIN CAPITAL LETTER A WITH TILDE
+0xCD 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE
+0xCE 0x0152 #LATIN CAPITAL LIGATURE OE
+0xCF 0x0153 #LATIN SMALL LIGATURE OE
+0xD0 0x2013 #EN DASH
+0xD1 0x2014 #EM DASH
+0xD2 0x201C #LEFT DOUBLE QUOTATION MARK
+0xD3 0x201D #RIGHT DOUBLE QUOTATION MARK
+0xD4 0x2018 #LEFT SINGLE QUOTATION MARK
+0xD5 0x2019 #RIGHT SINGLE QUOTATION MARK
+0xD6 0x00F7 #DIVISION SIGN
+0xD7 0x25CA #LOZENGE
+0xD8 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS
+0xD9 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xDA 0x2044 #FRACTION SLASH
+0xDB 0x20AC #SYMBOLE EURO
+0xDC 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0xDD 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0xDE 0xFB01 #LATIN SMALL LIGATURE FI
+0xDF 0xFB02 #LATIN SMALL LIGATURE FL
+0xE0 0x2021 #DOUBLE DAGGER
+0xE1 0x00B7 #MIDDLE DOT
+0xE2 0x201A #SINGLE LOW-9 QUOTATION MARK
+0xE3 0x201E #DOUBLE LOW-9 QUOTATION MARK
+0xE4 0x2030 #PER MILLE SIGN
+0xE5 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xE6 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xE7 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE
+0xE8 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xE9 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE
+0xEA 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE
+0xEB 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xEC 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS
+0xED 0x00CC #LATIN CAPITAL LETTER I WITH GRAVE
+0xEE 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE
+0xEF 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xF0 0xF8FF #Mac Logo (in Private Use Area)
+0xF1 0x00D2 #LATIN CAPITAL LETTER O WITH GRAVE
+0xF2 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE
+0xF3 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xF4 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE
+0xF5 0x0131 #LATIN SMALL LETTER I DOTLESS
+0xF6 0x02C6 #LETTRE MODIFICATIVE ACCENT CIRCONFLEXE
+0xF7 0x02DC #PETIT TILDE
+0xF8 0x00AF #MACRON
+0xF9 0x02D8 #BREVE
+0xFA 0x02D9 #DOT ABOVE
+0xFB 0x02DA #RING ABOVE
+0xFC 0x00B8 #CEDILLA
+0xFD 0x02DD #DOUBLE ACUTE ACCENT
+0xFE 0x02DB #OGONEK
+0xFF 0x02C7 #CARON
diff --git a/Unicode/tcvn5712.cp b/Unicode/tcvn5712.cp
new file mode 100644
index 0000000..f6b0f03
--- /dev/null
+++ b/Unicode/tcvn5712.cp
@@ -0,0 +1,264 @@
+TCVN-5712 (Vietnamese)
+"TCVN-5712", "TCVN", "TCVN-0", "TCVN-1"
+0x00 0x0000 # NUL
+0x00 0x0000 # NULL (NUL)
+0x01 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
+0x02 0x1EE4 # LATIN CAPITAL LETTER U WITH DOT BELOW
+0x03 0x0003 # END OF TEXT (ETX)
+0x04 0x1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+0x05 0x1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+0x06 0x1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE
+0x07 0x0007 # BELL (BEL)
+0x08 0x0008 # BACKSPACE (BS)
+0x09 0x0009 # CHARACTER TABULATION (HT)
+0x0A 0x000A # LINE FEED (LF)
+0x0B 0x000B # LINE TABULATION (VT)
+0x0C 0x000C # FORM FEED (FF)
+0x0D 0x000D # CARRIAGE RETURN (CR)
+0x0E 0x000E # SHIFT OUT (SO)
+0x0F 0x000F # SHIFT IN (SI)
+0x10 0x0010 # DATALINK ESCAPE (DLE)
+0x11 0x1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+0x12 0x1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+0x13 0x1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE
+0x14 0x1EF6 # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+0x15 0x1EF8 # LATIN CAPITAL LETTER Y WITH TILDE
+0x16 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE
+0x17 0x1EF4 # LATIN CAPITAL LETTER Y WITH DOT BELOW
+0x18 0x0018 # CANCEL (CAN)
+0x19 0x0019 # END OF MEDIUM (EM)
+0x1A 0x001A # SUBSTITUTE (SUB)
+0x1B 0x001B # ESCAPE (ESC)
+0x1C 0x001C # FILE SEPARATOR (IS4)
+0x1D 0x001D # GROUP SEPARATOR (IS3)
+0x1E 0x001E # RECORD SEPARATOR (IS2)
+0x1F 0x001F # UNIT SEPARATOR (IS1)
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x7F 0x007F # DELETE (DEL)
+0x80 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
+0x81 0x1EA2 # LATIN CAPITAL LETTER A WITH HOOK ABOVE
+0x82 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
+0x83 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
+0x84 0x1EA0 # LATIN CAPITAL LETTER A WITH DOT BELOW
+0x85 0x1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+0x86 0x1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+0x87 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
+0x88 0x1EBA # LATIN CAPITAL LETTER E WITH HOOK ABOVE
+0x89 0x1EBC # LATIN CAPITAL LETTER E WITH TILDE
+0x8A 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0x8B 0x1EB8 # LATIN CAPITAL LETTER E WITH DOT BELOW
+0x8C 0x1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+0x8D 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
+0x8E 0x1EC8 # LATIN CAPITAL LETTER I WITH HOOK ABOVE
+0x8F 0x0128 # LATIN CAPITAL LETTER I WITH TILDE
+0x90 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
+0x91 0x1ECA # LATIN CAPITAL LETTER I WITH DOT BELOW
+0x92 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
+0x93 0x1ECE # LATIN CAPITAL LETTER O WITH HOOK ABOVE
+0x94 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
+0x95 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
+0x96 0x1ECC # LATIN CAPITAL LETTER O WITH DOT BELOW
+0x97 0x1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0x98 0x1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+0x99 0x1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+0x9A 0x1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+0x9B 0x1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+0x9C 0x1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+0x9D 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
+0x9E 0x1EE6 # LATIN CAPITAL LETTER U WITH HOOK ABOVE
+0x9F 0x0168 # LATIN CAPITAL LETTER U WITH TILDE
+0xA0 0x00A0 # NO-BREAK SPACE
+0xA1 0x0102 # LATIN CAPITAL LETTER A WITH BREVE
+0xA2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xA3 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xA4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xA5 0x01A0 # LATIN CAPITAL LETTER O WITH HOOK
+0xA6 0x01AF # LATIN CAPITAL LETTER U WITH HORN
+0xA7 0x0110 # LATIN CAPITAL LETTER D WITH STROKE
+0xA8 0x0103 # LATIN SMALL LETTER A WITH BREVE
+0xA9 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xAA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xAB 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xAC 0x01A1 # LATIN SMALL LETTER O WITH HOOK
+0xAD 0x01B0 # LATIN SMALL LETTER U WITH HORN
+0xAE 0x0111 # LATIN SMALL LETTER D WITH STROKE
+0xAF 0x1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+0xB0 0x0300 # COMBINING GRAVE ACCENT
+0xB1 0x0309 # COMBINING HOOK ABOVE
+0xB2 0x0303 # COMBINING TILDE
+0xB3 0x0301 # COMBINING ACUTE ACCENT
+0xB4 0x0323 # COMBINING DOT BELOW
+0xB5 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0xB6 0x1EA3 # LATIN SMALL LETTER A WITH HOOK ABOVE
+0xB7 0x00E3 # LATIN SMALL LETTER A WITH TILDE
+0xB8 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0xB9 0x1EA1 # LATIN SMALL LETTER A WITH DOT BELOW
+0xBA 0x1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+0xBB 0x1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+0xBC 0x1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+0xBD 0x1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE
+0xBE 0x1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+0xBF 0x1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+0xC0 0x1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+0xC1 0x1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+0xC2 0x1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+0xC3 0x1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+0xC4 0x1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+0xC5 0x1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0xC6 0x1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+0xC7 0x1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+0xC8 0x1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+0xC9 0x1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+0xCA 0x1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+0xCB 0x1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+0xCC 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0xCD 0x1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+0xCE 0x1EBB # LATIN SMALL LETTER E WITH HOOK ABOVE
+0xCF 0x1EBD # LATIN SMALL LETTER E WITH TILDE
+0xD0 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0xD1 0x1EB9 # LATIN SMALL LETTER E WITH DOT BELOW
+0xD2 0x1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0xD3 0x1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+0xD4 0x1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+0xD5 0x1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0xD6 0x1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+0xD7 0x00EC # LATIN SMALL LETTER I WITH GRAVE
+0xD8 0x1EC9 # LATIN SMALL LETTER I WITH HOOK ABOVE
+0xD9 0x1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+0xDA 0x1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0xDB 0x1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+0xDC 0x0129 # LATIN SMALL LETTER I WITH TILDE
+0xDD 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0xDE 0x1ECB # LATIN SMALL LETTER I WITH DOT BELOW
+0xDF 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
+0xE0 0x1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+0xE1 0x1ECF # LATIN SMALL LETTER O WITH HOOK ABOVE
+0xE2 0x00F5 # LATIN SMALL LETTER O WITH TILDE
+0xE3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0xE4 0x1ECD # LATIN SMALL LETTER O WITH DOT BELOW
+0xE5 0x1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+0xE6 0x1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+0xE7 0x1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+0xE8 0x1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+0xE9 0x1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0xEA 0x1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE
+0xEB 0x1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+0xEC 0x1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE
+0xED 0x1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE
+0xEE 0x1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+0xEF 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0xF0 0x1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+0xF1 0x1EE7 # LATIN SMALL LETTER U WITH HOOK ABOVE
+0xF2 0x0169 # LATIN SMALL LETTER U WITH TILDE
+0xF3 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0xF4 0x1EE5 # LATIN SMALL LETTER U WITH DOT BELOW
+0xF5 0x1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE
+0xF6 0x1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+0xF7 0x1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE
+0xF8 0x1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE
+0xF9 0x1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+0xFA 0x1EF3 # LATIN SMALL LETTER Y WITH GRAVE
+0xFB 0x1EF7 # LATIN SMALL LETTER Y WITH HOOK ABOVE
+0xFC 0x1EF9 # LATIN SMALL LETTER Y WITH TILDE
+0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
+0xFE 0x1EF5 # LATIN SMALL LETTER Y WITH DOT BELOW
+0xFF 0x1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+
+# compatibility
+0xA7 0x00D0 # letter ETH
+0xAE 0x00F0
+
diff --git a/Unicode/tr7bit.awk b/Unicode/tr7bit.awk
new file mode 100755
index 0000000..dc2256a
--- /dev/null
+++ b/Unicode/tr7bit.awk
@@ -0,0 +1,35 @@
+#!/bin/awk -f
+function hex2dec(xx) {
+ nn = 0;
+ while (xx != "") {
+ aa = substr(xx, 1, 1);
+ ii = index("0123456789ABCDEF", aa);
+ if (!ii) ii = index("0123456789abcdef", aa);
+ if (!ii) return -1;
+ nn = nn * 16 + ii - 1;
+ xx = substr(xx, 2);
+ }
+ return nn;
+}
+
+/^U/{
+ gsub("\\\\", "\\\\");
+ printf("0x%s\n", substr($0, 3));
+}
+/^0x[0-9a-fA-F]*[ ]/{
+ c = hex2dec(substr($1, 3));
+ for (i = 2; i <= NF; i++) {
+ if (substr($i, 1, 1) == "#") break;
+ if (p = index($i, "-")) {
+ p1 = hex2dec(substr($i, 3, p - 3));
+ p2 = hex2dec(substr($i, p + 3));
+ } else {
+ p1 = hex2dec(substr($i, 3));
+ p2 = p1;
+ }
+ for (p = p1; p <= p2; p++) printf("0x%04x:%c\n", p, c);
+ }
+}
+BEGIN{
+ printf("0x00a0:\\001\n0x00ad:\n");
+}
diff --git a/Unicode/upcase.uni b/Unicode/upcase.uni
new file mode 100644
index 0000000..22d2565
--- /dev/null
+++ b/Unicode/upcase.uni
@@ -0,0 +1,674 @@
+ 97 65
+ 98 66
+ 99 67
+ 100 68
+ 101 69
+ 102 70
+ 103 71
+ 104 72
+ 105 73
+ 106 74
+ 107 75
+ 108 76
+ 109 77
+ 110 78
+ 111 79
+ 112 80
+ 113 81
+ 114 82
+ 115 83
+ 116 84
+ 117 85
+ 118 86
+ 119 87
+ 120 88
+ 121 89
+ 122 90
+ 181 924
+ 224 192
+ 225 193
+ 226 194
+ 227 195
+ 228 196
+ 229 197
+ 230 198
+ 231 199
+ 232 200
+ 233 201
+ 234 202
+ 235 203
+ 236 204
+ 237 205
+ 238 206
+ 239 207
+ 240 208
+ 241 209
+ 242 210
+ 243 211
+ 244 212
+ 245 213
+ 246 214
+ 248 216
+ 249 217
+ 250 218
+ 251 219
+ 252 220
+ 253 221
+ 254 222
+ 255 376
+ 257 256
+ 259 258
+ 261 260
+ 263 262
+ 265 264
+ 267 266
+ 269 268
+ 271 270
+ 273 272
+ 275 274
+ 277 276
+ 279 278
+ 281 280
+ 283 282
+ 285 284
+ 287 286
+ 289 288
+ 291 290
+ 293 292
+ 295 294
+ 297 296
+ 299 298
+ 301 300
+ 303 302
+ 305 73
+ 307 306
+ 309 308
+ 311 310
+ 314 313
+ 316 315
+ 318 317
+ 320 319
+ 322 321
+ 324 323
+ 326 325
+ 328 327
+ 331 330
+ 333 332
+ 335 334
+ 337 336
+ 339 338
+ 341 340
+ 343 342
+ 345 344
+ 347 346
+ 349 348
+ 351 350
+ 353 352
+ 355 354
+ 357 356
+ 359 358
+ 361 360
+ 363 362
+ 365 364
+ 367 366
+ 369 368
+ 371 370
+ 373 372
+ 375 374
+ 378 377
+ 380 379
+ 382 381
+ 383 83
+ 387 386
+ 389 388
+ 392 391
+ 396 395
+ 402 401
+ 405 502
+ 409 408
+ 414 544
+ 417 416
+ 419 418
+ 421 420
+ 424 423
+ 429 428
+ 432 431
+ 436 435
+ 438 437
+ 441 440
+ 445 444
+ 447 503
+ 454 452
+ 457 455
+ 460 458
+ 462 461
+ 464 463
+ 466 465
+ 468 467
+ 470 469
+ 472 471
+ 474 473
+ 476 475
+ 477 398
+ 479 478
+ 481 480
+ 483 482
+ 485 484
+ 487 486
+ 489 488
+ 491 490
+ 493 492
+ 495 494
+ 499 497
+ 501 500
+ 505 504
+ 507 506
+ 509 508
+ 511 510
+ 513 512
+ 515 514
+ 517 516
+ 519 518
+ 521 520
+ 523 522
+ 525 524
+ 527 526
+ 529 528
+ 531 530
+ 533 532
+ 535 534
+ 537 536
+ 539 538
+ 541 540
+ 543 542
+ 547 546
+ 549 548
+ 551 550
+ 553 552
+ 555 554
+ 557 556
+ 559 558
+ 561 560
+ 563 562
+ 595 385
+ 596 390
+ 598 393
+ 599 394
+ 601 399
+ 603 400
+ 608 403
+ 611 404
+ 616 407
+ 617 406
+ 623 412
+ 626 413
+ 629 415
+ 640 422
+ 643 425
+ 648 430
+ 650 433
+ 651 434
+ 658 439
+ 940 902
+ 941 904
+ 942 905
+ 943 906
+ 945 913
+ 946 914
+ 947 915
+ 948 916
+ 949 917
+ 950 918
+ 951 919
+ 952 920
+ 953 921
+ 954 922
+ 955 923
+ 956 924
+ 957 925
+ 958 926
+ 959 927
+ 960 928
+ 961 929
+ 962 931
+ 963 931
+ 964 932
+ 965 933
+ 966 934
+ 967 935
+ 968 936
+ 969 937
+ 970 938
+ 971 939
+ 972 908
+ 973 910
+ 974 911
+ 976 914
+ 977 920
+ 981 934
+ 982 928
+ 985 984
+ 987 986
+ 989 988
+ 991 990
+ 993 992
+ 995 994
+ 997 996
+ 999 998
+ 1001 1000
+ 1003 1002
+ 1005 1004
+ 1007 1006
+ 1008 922
+ 1009 929
+ 1010 931
+ 1013 917
+ 1072 1040
+ 1073 1041
+ 1074 1042
+ 1075 1043
+ 1076 1044
+ 1077 1045
+ 1078 1046
+ 1079 1047
+ 1080 1048
+ 1081 1049
+ 1082 1050
+ 1083 1051
+ 1084 1052
+ 1085 1053
+ 1086 1054
+ 1087 1055
+ 1088 1056
+ 1089 1057
+ 1090 1058
+ 1091 1059
+ 1092 1060
+ 1093 1061
+ 1094 1062
+ 1095 1063
+ 1096 1064
+ 1097 1065
+ 1098 1066
+ 1099 1067
+ 1100 1068
+ 1101 1069
+ 1102 1070
+ 1103 1071
+ 1104 1024
+ 1105 1025
+ 1106 1026
+ 1107 1027
+ 1108 1028
+ 1109 1029
+ 1110 1030
+ 1111 1031
+ 1112 1032
+ 1113 1033
+ 1114 1034
+ 1115 1035
+ 1116 1036
+ 1117 1037
+ 1118 1038
+ 1119 1039
+ 1121 1120
+ 1123 1122
+ 1125 1124
+ 1127 1126
+ 1129 1128
+ 1131 1130
+ 1133 1132
+ 1135 1134
+ 1137 1136
+ 1139 1138
+ 1141 1140
+ 1143 1142
+ 1145 1144
+ 1147 1146
+ 1149 1148
+ 1151 1150
+ 1153 1152
+ 1163 1162
+ 1165 1164
+ 1167 1166
+ 1169 1168
+ 1171 1170
+ 1173 1172
+ 1175 1174
+ 1177 1176
+ 1179 1178
+ 1181 1180
+ 1183 1182
+ 1185 1184
+ 1187 1186
+ 1189 1188
+ 1191 1190
+ 1193 1192
+ 1195 1194
+ 1197 1196
+ 1199 1198
+ 1201 1200
+ 1203 1202
+ 1205 1204
+ 1207 1206
+ 1209 1208
+ 1211 1210
+ 1213 1212
+ 1215 1214
+ 1218 1217
+ 1220 1219
+ 1222 1221
+ 1224 1223
+ 1226 1225
+ 1228 1227
+ 1230 1229
+ 1233 1232
+ 1235 1234
+ 1237 1236
+ 1239 1238
+ 1241 1240
+ 1243 1242
+ 1245 1244
+ 1247 1246
+ 1249 1248
+ 1251 1250
+ 1253 1252
+ 1255 1254
+ 1257 1256
+ 1259 1258
+ 1261 1260
+ 1263 1262
+ 1265 1264
+ 1267 1266
+ 1269 1268
+ 1273 1272
+ 1281 1280
+ 1283 1282
+ 1285 1284
+ 1287 1286
+ 1289 1288
+ 1291 1290
+ 1293 1292
+ 1295 1294
+ 1377 1329
+ 1378 1330
+ 1379 1331
+ 1380 1332
+ 1381 1333
+ 1382 1334
+ 1383 1335
+ 1384 1336
+ 1385 1337
+ 1386 1338
+ 1387 1339
+ 1388 1340
+ 1389 1341
+ 1390 1342
+ 1391 1343
+ 1392 1344
+ 1393 1345
+ 1394 1346
+ 1395 1347
+ 1396 1348
+ 1397 1349
+ 1398 1350
+ 1399 1351
+ 1400 1352
+ 1401 1353
+ 1402 1354
+ 1403 1355
+ 1404 1356
+ 1405 1357
+ 1406 1358
+ 1407 1359
+ 1408 1360
+ 1409 1361
+ 1410 1362
+ 1411 1363
+ 1412 1364
+ 1413 1365
+ 1414 1366
+ 7681 7680
+ 7683 7682
+ 7685 7684
+ 7687 7686
+ 7689 7688
+ 7691 7690
+ 7693 7692
+ 7695 7694
+ 7697 7696
+ 7699 7698
+ 7701 7700
+ 7703 7702
+ 7705 7704
+ 7707 7706
+ 7709 7708
+ 7711 7710
+ 7713 7712
+ 7715 7714
+ 7717 7716
+ 7719 7718
+ 7721 7720
+ 7723 7722
+ 7725 7724
+ 7727 7726
+ 7729 7728
+ 7731 7730
+ 7733 7732
+ 7735 7734
+ 7737 7736
+ 7739 7738
+ 7741 7740
+ 7743 7742
+ 7745 7744
+ 7747 7746
+ 7749 7748
+ 7751 7750
+ 7753 7752
+ 7755 7754
+ 7757 7756
+ 7759 7758
+ 7761 7760
+ 7763 7762
+ 7765 7764
+ 7767 7766
+ 7769 7768
+ 7771 7770
+ 7773 7772
+ 7775 7774
+ 7777 7776
+ 7779 7778
+ 7781 7780
+ 7783 7782
+ 7785 7784
+ 7787 7786
+ 7789 7788
+ 7791 7790
+ 7793 7792
+ 7795 7794
+ 7797 7796
+ 7799 7798
+ 7801 7800
+ 7803 7802
+ 7805 7804
+ 7807 7806
+ 7809 7808
+ 7811 7810
+ 7813 7812
+ 7815 7814
+ 7817 7816
+ 7819 7818
+ 7821 7820
+ 7823 7822
+ 7825 7824
+ 7827 7826
+ 7829 7828
+ 7835 7776
+ 7841 7840
+ 7843 7842
+ 7845 7844
+ 7847 7846
+ 7849 7848
+ 7851 7850
+ 7853 7852
+ 7855 7854
+ 7857 7856
+ 7859 7858
+ 7861 7860
+ 7863 7862
+ 7865 7864
+ 7867 7866
+ 7869 7868
+ 7871 7870
+ 7873 7872
+ 7875 7874
+ 7877 7876
+ 7879 7878
+ 7881 7880
+ 7883 7882
+ 7885 7884
+ 7887 7886
+ 7889 7888
+ 7891 7890
+ 7893 7892
+ 7895 7894
+ 7897 7896
+ 7899 7898
+ 7901 7900
+ 7903 7902
+ 7905 7904
+ 7907 7906
+ 7909 7908
+ 7911 7910
+ 7913 7912
+ 7915 7914
+ 7917 7916
+ 7919 7918
+ 7921 7920
+ 7923 7922
+ 7925 7924
+ 7927 7926
+ 7929 7928
+ 7936 7944
+ 7937 7945
+ 7938 7946
+ 7939 7947
+ 7940 7948
+ 7941 7949
+ 7942 7950
+ 7943 7951
+ 7952 7960
+ 7953 7961
+ 7954 7962
+ 7955 7963
+ 7956 7964
+ 7957 7965
+ 7968 7976
+ 7969 7977
+ 7970 7978
+ 7971 7979
+ 7972 7980
+ 7973 7981
+ 7974 7982
+ 7975 7983
+ 7984 7992
+ 7985 7993
+ 7986 7994
+ 7987 7995
+ 7988 7996
+ 7989 7997
+ 7990 7998
+ 7991 7999
+ 8000 8008
+ 8001 8009
+ 8002 8010
+ 8003 8011
+ 8004 8012
+ 8005 8013
+ 8017 8025
+ 8019 8027
+ 8021 8029
+ 8023 8031
+ 8032 8040
+ 8033 8041
+ 8034 8042
+ 8035 8043
+ 8036 8044
+ 8037 8045
+ 8038 8046
+ 8039 8047
+ 8048 8122
+ 8049 8123
+ 8050 8136
+ 8051 8137
+ 8052 8138
+ 8053 8139
+ 8054 8154
+ 8055 8155
+ 8056 8184
+ 8057 8185
+ 8058 8170
+ 8059 8171
+ 8060 8186
+ 8061 8187
+ 8064 8072
+ 8065 8073
+ 8066 8074
+ 8067 8075
+ 8068 8076
+ 8069 8077
+ 8070 8078
+ 8071 8079
+ 8080 8088
+ 8081 8089
+ 8082 8090
+ 8083 8091
+ 8084 8092
+ 8085 8093
+ 8086 8094
+ 8087 8095
+ 8096 8104
+ 8097 8105
+ 8098 8106
+ 8099 8107
+ 8100 8108
+ 8101 8109
+ 8102 8110
+ 8103 8111
+ 8112 8120
+ 8113 8121
+ 8115 8124
+ 8126 921
+ 8131 8140
+ 8144 8152
+ 8145 8153
+ 8160 8168
+ 8161 8169
+ 8165 8172
+ 8179 8188
+ 65345 65313
+ 65346 65314
+ 65347 65315
+ 65348 65316
+ 65349 65317
+ 65350 65318
+ 65351 65319
+ 65352 65320
+ 65353 65321
+ 65354 65322
+ 65355 65323
+ 65356 65324
+ 65357 65325
+ 65358 65326
+ 65359 65327
+ 65360 65328
+ 65361 65329
+ 65362 65330
+ 65363 65331
+ 65364 65332
+ 65365 65333
+ 65366 65334
+ 65367 65335
+ 65368 65336
+ 65369 65337
+ 65370 65338
diff --git a/Unicode/utf_8.cp b/Unicode/utf_8.cp
new file mode 100644
index 0000000..01c5536
--- /dev/null
+++ b/Unicode/utf_8.cp
@@ -0,0 +1,3 @@
+Unicode UTF-8
+"utf-8", "utf8"
+# Handled specially in charsets.c
diff --git a/Unicode/viscii.cp b/Unicode/viscii.cp
new file mode 100644
index 0000000..2761629
--- /dev/null
+++ b/Unicode/viscii.cp
@@ -0,0 +1,264 @@
+VISCII
+"VISCII", "VISCII-1", "VISCII 1.1", "VISCII-1.1", "VISCII1.1-1"
+0x00 0x0000 # NUL
+0x00 0x0000 # NULL (NUL)
+0x01 0x0001 # START OF HEADING (SOH)
+0x02 0x1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+0x03 0x0003 # END OF TEXT (ETX)
+0x04 0x0004 # END OF TRANSMISSION (EOT)
+0x05 0x1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+0x06 0x1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+0x07 0x0007 # BELL (BEL)
+0x08 0x0008 # BACKSPACE (BS)
+0x09 0x0009 # CHARACTER TABULATION (HT)
+0x0A 0x000A # LINE FEED (LF)
+0x0B 0x000B # LINE TABULATION (VT)
+0x0C 0x000C # FORM FEED (FF)
+0x0D 0x000D # CARRIAGE RETURN (CR)
+0x0E 0x000E # SHIFT OUT (SO)
+0x0F 0x000F # SHIFT IN (SI)
+0x10 0x0010 # DATALINK ESCAPE (DLE)
+0x11 0x0011 # DEVICE CONTROL ONE (DC1)
+0x12 0x0012 # DEVICE CONTROL TWO (DC2)
+0x13 0x0013 # DEVICE CONTROL THREE (DC3)
+0x14 0x1EF6 # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+0x15 0x0015 # NEGATIVE ACKNOWLEDGE (NAK)
+0x16 0x0016 # SYNCHRONOUS IDLE (SYN)
+0x17 0x0017 # END OF TRANSMISSION BLOCK (ETB)
+0x18 0x0018 # CANCEL (CAN)
+0x19 0x1EF8 # LATIN CAPITAL LETTER Y WITH TILDE
+0x1A 0x001A # SUBSTITUTE (SUB)
+0x1B 0x001B # ESCAPE (ESC)
+0x1C 0x001C # FILE SEPARATOR (IS4)
+0x1D 0x001D # GROUP SEPARATOR (IS3)
+0x1E 0x1EF4 # LATIN CAPITAL LETTER Y WITH DOT BELOW
+0x1F 0x001F # UNIT SEPARATOR (IS1)
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+0x7F 0x007F # DELETE (DEL)
+0x80 0x1EA0 # LATIN CAPITAL LETTER A WITH DOT BELOW
+0x81 0x1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+0x82 0x1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+0x83 0x1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+0x84 0x1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+0x85 0x1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+0x86 0x1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+0x87 0x1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+0x88 0x1EBC # LATIN CAPITAL LETTER E WITH TILDE
+0x89 0x1EB8 # LATIN CAPITAL LETTER E WITH DOT BELOW
+0x8A 0x1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0x8B 0x1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0x8C 0x1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+0x8D 0x1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+0x8E 0x1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+0x8F 0x1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+0x90 0x1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+0x91 0x1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+0x92 0x1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+0x93 0x1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0x94 0x1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+0x95 0x1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+0x96 0x1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+0x97 0x1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+0x98 0x1ECA # LATIN CAPITAL LETTER I WITH DOT BELOW
+0x99 0x1ECE # LATIN CAPITAL LETTER O WITH HOOK ABOVE
+0x9A 0x1ECC # LATIN CAPITAL LETTER O WITH DOT BELOW
+0x9B 0x1EC8 # LATIN CAPITAL LETTER I WITH HOOK ABOVE
+0x9C 0x1EE6 # LATIN CAPITAL LETTER U WITH HOOK ABOVE
+0x9D 0x0168 # LATIN CAPITAL LETTER U WITH TILDE
+0x9E 0x1EE4 # LATIN CAPITAL LETTER U WITH DOT BELOW
+0x9F 0x1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE
+0xA0 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
+0xA1 0x1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+0xA2 0x1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+0xA3 0x1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+0xA4 0x1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+0xA5 0x1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+0xA6 0x1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+0xA7 0x1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+0xA8 0x1EBD # LATIN SMALL LETTER E WITH TILDE
+0xA9 0x1EB9 # LATIN SMALL LETTER E WITH DOT BELOW
+0xAA 0x1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0xAB 0x1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0xAC 0x1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+0xAD 0x1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+0xAE 0x1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+0xAF 0x1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+0xB0 0x1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+0xB1 0x1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+0xB2 0x1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+0xB3 0x1EE0 # LATIN CAPITAL LETTER O WITH HOOK AND TILDE
+0xB4 0x01A0 # LATIN CAPITAL LETTER O WITH HOOK
+0xB5 0x1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0xB6 0x1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE
+0xB7 0x1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+0xB8 0x1ECB # LATIN SMALL LETTER I WITH DOT BELOW
+0xB9 0x1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+0xBA 0x1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+0xBB 0x1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+0xBC 0x1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+0xBD 0x01A1 # LATIN SMALL LETTER O WITH HORN
+0xBE 0x1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE
+0xBF 0x01AF # LATIN CAPITAL LETTER U WITH HORN
+0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
+0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
+0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
+0xC4 0x1EA2 # LATIN CAPITAL LETTER A WITH HOOK ABOVE
+0xC5 0x0102 # LATIN CAPITAL LETTER A WITH BREVE
+0xC6 0x1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+0xC7 0x1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE
+0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
+0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB 0x1EBA # LATIN CAPITAL LETTER E WITH HOOK ABOVE
+0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
+0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
+0xCE 0x0128 # LATIN CAPITAL LETTER I WITH TILDE
+0xCF 0x1EF3 # LATIN SMALL LETTER Y WITH GRAVE
+0xD0 0x0110 # LATIN CAPITAL LETTER D WITH STROKE
+0xD1 0x1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE
+0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
+0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
+0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5 0x1EA1 # LATIN SMALL LETTER A WITH DOT BELOW
+0xD6 0x1EF7 # LATIN SMALL LETTER Y WITH HOOK ABOVE
+0xD7 0x1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE
+0xD8 0x1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
+0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
+0xDB 0x1EF9 # LATIN SMALL LETTER Y WITH TILDE
+0xDC 0x1EF5 # LATIN SMALL LETTER Y WITH DOT BELOW
+0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE 0x1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE
+0xDF 0x01B0 # LATIN SMALL LETTER U WITH HORN
+0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE
+0xE4 0x1EA3 # LATIN SMALL LETTER A WITH HOOK ABOVE
+0xE5 0x0103 # LATIN SMALL LETTER A WITH BREVE
+0xE6 0x1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE
+0xE7 0x1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB 0x1EBB # LATIN SMALL LETTER E WITH HOOK ABOVE
+0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE
+0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0xEE 0x0129 # LATIN SMALL LETTER I WITH TILDE
+0xEF 0x1EC9 # LATIN SMALL LETTER I WITH HOOK ABOVE
+0xF0 0x0111 # LATIN SMALL LETTER D WITH STROKE
+0xF1 0x1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
+0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE
+0xF6 0x1ECF # LATIN SMALL LETTER O WITH HOOK ABOVE
+0xF7 0x1ECD # LATIN SMALL LETTER O WITH DOT BELOW
+0xF8 0x1EE5 # LATIN SMALL LETTER U WITH DOT BELOW
+0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0xFB 0x0169 # LATIN SMALL LETTER U WITH TILDE
+0xFC 0x1EE7 # LATIN SMALL LETTER U WITH HOOK ABOVE
+0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
+0xFE 0x1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+0xFF 0x1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE
+
+# compatibility
+0xD0 0x00D0 # letter ETH
+0xF0 0x00F0
+
diff --git a/acconfig.h b/acconfig.h
new file mode 100644
index 0000000..83b3e0b
--- /dev/null
+++ b/acconfig.h
@@ -0,0 +1,146 @@
+
+@BOTTOM@
+
+/* */
+#undef VERSION
+
+/* */
+#undef HAVE_TYPEOF
+
+/* */
+#undef HAVE_LONG_LONG
+
+/* */
+#undef HAVE_POINTER_COMPARISON_BUG
+
+/* */
+#undef HAVE_MAXINT_CONVERSION_BUG
+
+/* */
+#undef HAVE_SOCKLEN_T
+
+/* */
+#undef C_BIG_ENDIAN
+
+/* */
+#undef C_LITTLE_ENDIAN
+
+/* */
+#undef RENAME_OVER_EXISTING_FILES
+
+/* */
+#undef HAVE_STRLEN
+
+/* */
+#undef HAVE_STRCPY
+
+/* */
+#undef HAVE_STRCHR
+
+/* */
+#undef HAVE_STRRCHR
+
+/* */
+#undef HAVE_STRCMP
+
+/* */
+#undef HAVE_STRNCMP
+
+/* */
+#undef HAVE_STRCSPN
+
+/* */
+#undef HAVE_STRSTR
+
+/* */
+#undef HAVE_MEMMOVE
+
+/* */
+#undef HAVE_STRERROR
+
+/* */
+#undef HAVE_SIGSETJMP
+
+/* */
+#undef HAVE_GETHOSTBYNAME
+
+/* */
+#undef HAVE_GETHOSTBYNAME_BUG
+
+/* */
+#undef DEBUGLEVEL
+
+/* */
+#undef JS
+
+/* */
+#undef CHCEME_FLEXI_LIBU
+
+/* */
+#undef HAVE_PCRE
+
+/* */
+#undef HAVE_REGEX
+
+/* */
+#undef ENABLE_UTF8
+
+/* */
+#undef HAVE_BEGINTHREAD
+
+/* */
+#undef HAVE_PTHREADS
+
+/* */
+#undef X2
+
+/* */
+#undef HAVE_SSL
+
+/* */
+#undef HAVE_OPENSSL
+
+/* */
+#undef HAVE_NSS
+
+/* */
+#undef HAVE_ZLIB
+
+/* */
+#undef HAVE_BZIP2
+
+/* */
+#undef HAVE_LZMA
+
+/* */
+#undef G
+
+/* */
+#undef GRDRV_SVGALIB
+
+/* */
+#undef GRDRV_FB
+
+/* */
+#undef GRDRV_DIRECTFB
+
+/* */
+#undef GRDRV_X
+
+/* */
+#undef GRDRV_SDL
+
+/* */
+#undef GRDRV_PMSHELL
+
+/* */
+#undef GRDRV_ATHEOS
+
+/* */
+#undef DONT_INCLUDE_SETJMP
+
+/* Jpeg by Clock */
+#undef HAVE_JPEG
+
+/* Tiff by Brain */
+#undef HAVE_TIFF
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..171fa5a
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,384 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+# lib-prefix.m4 serial 5 (gettext-0.15)
+dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
+dnl require excessive bracketing.
+ifdef([AC_HELP_STRING],
+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ dnl By default, look in $includedir and $libdir.
+ use_additional=yes
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ AC_LIB_ARG_WITH([lib-prefix],
+[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+ --without-lib-prefix don't search for libraries in includedir and libdir],
+[
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ fi
+ fi
+])
+ if test $use_additional = yes; then
+ dnl Potentially add $additional_includedir to $CPPFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's already present in $CPPFLAGS,
+ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ for x in $CPPFLAGS; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $CPPFLAGS.
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ dnl Potentially add $additional_libdir to $LDFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's already present in $LDFLAGS,
+ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+ haveit=
+ for x in $LDFLAGS; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LDFLAGS.
+ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+ dnl Unfortunately, prefix and exec_prefix get only finally determined
+ dnl at the end of configure.
+ if test "X$prefix" = "XNONE"; then
+ acl_final_prefix="$ac_default_prefix"
+ else
+ acl_final_prefix="$prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ acl_final_exec_prefix='${prefix}'
+ else
+ acl_final_exec_prefix="$exec_prefix"
+ fi
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+ prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ $1
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
+dnl the basename of the libdir, either "lib" or "lib64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+ dnl There is no formal standard regarding lib and lib64. The current
+ dnl practice is that on a system supporting 32-bit and 64-bit instruction
+ dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit
+ dnl libraries go under $prefix/lib. We determine the compiler's default
+ dnl mode by looking at the compiler's library search path. If at least
+ dnl of its elements ends in /lib64 or points to a directory whose absolute
+ dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
+ dnl default, namely "lib".
+ acl_libdirstem=lib
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Like AC_CONFIG_HEADER, but automatically create stamp file.
+
+AC_DEFUN(AM_CONFIG_HEADER,
+[AC_PREREQ([2.12])
+AC_CONFIG_HEADER([$1])
+dnl When config.status generates a header, we must update the stamp-h file.
+dnl This file resides in the same directory as the config header
+dnl that is generated. We must strip everything past the first ":",
+dnl and everything past the last "/".
+AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
+ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
+<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
+<<am_indx=1
+for am_file in <<$1>>; do
+ case " <<$>>CONFIG_HEADERS " in
+ *" <<$>>am_file "*<<)>>
+ echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
+ ;;
+ esac
+ am_indx=`expr "<<$>>am_indx" + 1`
+done<<>>dnl>>)
+changequote([,]))])
+
+
+dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
+dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
+dnl also defines GSTUFF_PKG_ERRORS on error
+AC_DEFUN(PKG_CHECK_MODULES, [
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ PKG_CONFIG_MIN_VERSION=0.9.0
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+ AC_MSG_CHECKING(for $2)
+
+ if $PKG_CONFIG --exists "$2" ; then
+ AC_MSG_RESULT(yes)
+ succeeded=yes
+
+ AC_MSG_CHECKING($1_CFLAGS)
+ $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
+ AC_MSG_RESULT($$1_CFLAGS)
+
+ AC_MSG_CHECKING($1_LIBS)
+ $1_LIBS=`$PKG_CONFIG --libs "$2"`
+ AC_MSG_RESULT($$1_LIBS)
+ else
+ $1_CFLAGS=""
+ $1_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ ifelse([$4], ,echo $$1_PKG_ERRORS,)
+ fi
+
+ AC_SUBST($1_CFLAGS)
+ AC_SUBST($1_LIBS)
+ else
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ ifelse([$3], , :, [$3])
+ else
+ ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
+ fi
+])
+
+
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/af_unix.c b/af_unix.c
new file mode 100644
index 0000000..faf2e64
--- /dev/null
+++ b/af_unix.c
@@ -0,0 +1,242 @@
+/* af_unix.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL
+ */
+
+#include "links.h"
+
+#ifdef DONT_USE_AF_UNIX
+
+int bind_to_af_unix(void)
+{
+ return -1;
+}
+
+void af_unix_close(void)
+{
+}
+
+#else
+
+#ifdef USE_AF_UNIX
+#include <sys/un.h>
+#endif
+
+static void af_unix_connection(void *);
+
+#define ADDR_SIZE 4096
+
+union address {
+ struct sockaddr s;
+#ifdef USE_AF_UNIX
+ struct sockaddr_un sun;
+#endif
+ struct sockaddr_in sin;
+ unsigned char buffer[ADDR_SIZE];
+};
+
+static union address s_unix;
+static union address s_unix_acc;
+
+static socklen_t s_unix_l;
+static int s_unix_fd = -1;
+static int s_unix_master = 0;
+
+
+#define S2C1_HANDSHAKE_LENGTH 6
+#define C2S2_HANDSHAKE_LENGTH sizeof(struct links_handshake)
+#define S2C3_HANDSHAKE_LENGTH sizeof(struct links_handshake)
+
+static struct links_handshake {
+ unsigned char version[30];
+ unsigned char system_name[32];
+ unsigned char system_id;
+ unsigned char sizeof_long;
+} links_handshake;
+
+#define HANDSHAKE_WRITE(hndl, sz) \
+ if ((r = hard_write(hndl, (unsigned char *)&links_handshake, sz)) != (sz))
+#define HANDSHAKE_READ(hndl, sz) \
+ if ((r = hard_read(hndl, (unsigned char *)&received_handshake, sz)) != (sz) || memcmp(&received_handshake, &links_handshake, sz))
+
+
+#ifdef USE_AF_UNIX
+
+static int get_address(void)
+{
+ unsigned char *path;
+ if (!links_home) return -1;
+ path = stracpy(links_home);
+ add_to_strn(&path, LINKS_SOCK_NAME);
+ s_unix_l = (unsigned char *)&s_unix.sun.sun_path - (unsigned char *)&s_unix.sun + strlen(path) + 1;
+ if (strlen(path) > sizeof(union address) || (size_t)s_unix_l > sizeof(union address)) {
+ mem_free(path);
+ return -1;
+ }
+ memset(&s_unix, 0, sizeof s_unix);
+ s_unix.sun.sun_family = AF_UNIX;
+ strcpy(s_unix.sun.sun_path, path);
+ mem_free(path);
+ return PF_UNIX;
+}
+
+static void unlink_unix(void)
+{
+ int rs;
+ /*debug("unlink: %s", s_unix.sun.sun_path);*/
+ EINTRLOOP(rs, unlink(s_unix.sun.sun_path));
+ if (rs) {
+ /*perror("unlink");*/
+ }
+}
+
+#else
+
+static int get_address(void)
+{
+ memset(&s_unix, 0, sizeof s_unix);
+ s_unix.sin.sin_family = AF_INET;
+ s_unix.sin.sin_port = htons(LINKS_PORT);
+ s_unix.sin.sin_addr.s_addr = htonl(0x7f000001);
+ s_unix_l = sizeof(struct sockaddr_in);
+ return PF_INET;
+}
+
+static void unlink_unix(void)
+{
+}
+
+#endif
+
+static void sleep_a_little_bit(void)
+{
+ struct timeval tv = { 0, 100000 };
+ fd_set dummy;
+ int rs;
+ FD_ZERO(&dummy);
+ EINTRLOOP(rs, select(0, &dummy, &dummy, &dummy, &tv));
+}
+
+int bind_to_af_unix(void)
+{
+ int u = 0;
+ int a1 = 1;
+ int cnt = 0;
+ int af;
+ int r;
+ int rs;
+ struct links_handshake received_handshake;
+ memset(&links_handshake, 0, sizeof links_handshake);
+ safe_strncpy(links_handshake.version, "Links " VERSION_STRING, sizeof links_handshake.version);
+ safe_strncpy(links_handshake.system_name, system_name, sizeof links_handshake.system_name);
+ links_handshake.system_id = SYSTEM_ID;
+ links_handshake.sizeof_long = sizeof(long);
+ if ((af = get_address()) == -1) return -1;
+ again:
+ EINTRLOOP(s_unix_fd, socket(af, SOCK_STREAM, 0));
+ if (s_unix_fd == -1) return -1;
+#if defined(SOL_SOCKET) && defined(SO_REUSEADDR)
+ EINTRLOOP(rs, setsockopt(s_unix_fd, SOL_SOCKET, SO_REUSEADDR, (void *)&a1, sizeof a1));
+#endif
+ EINTRLOOP(rs, bind(s_unix_fd, &s_unix.s, s_unix_l));
+ if (rs) {
+ /*perror("");
+ debug("bind: %d", errno);*/
+ if (af == PF_INET && errno == EADDRNOTAVAIL) {
+ /* do not try to connect if the user has not configured loopback interface */
+ EINTRLOOP(rs, close(s_unix_fd));
+ return -1;
+ }
+ EINTRLOOP(rs, close(s_unix_fd));
+ EINTRLOOP(s_unix_fd, socket(af, SOCK_STREAM, 0));
+ if (s_unix_fd == -1) return -1;
+#if defined(SOL_SOCKET) && defined(SO_REUSEADDR)
+ EINTRLOOP(rs, setsockopt(s_unix_fd, SOL_SOCKET, SO_REUSEADDR, (void *)&a1, sizeof a1));
+#endif
+ EINTRLOOP(rs, connect(s_unix_fd, &s_unix.s, s_unix_l));
+ if (rs) {
+retry:
+ /*perror("");
+ debug("connect: %d", errno);*/
+ if (++cnt < MAX_BIND_TRIES) {
+ sleep_a_little_bit();
+ EINTRLOOP(rs, close(s_unix_fd));
+ s_unix_fd = -1;
+ goto again;
+ }
+ EINTRLOOP(rs, close(s_unix_fd));
+ s_unix_fd = -1;
+ if (!u) {
+ unlink_unix();
+ u = 1;
+ goto again;
+ }
+ return -1;
+ }
+ HANDSHAKE_READ(s_unix_fd, S2C1_HANDSHAKE_LENGTH) {
+ if (r != S2C1_HANDSHAKE_LENGTH) goto retry;
+ goto close_and_fail;
+ }
+ HANDSHAKE_WRITE(s_unix_fd, C2S2_HANDSHAKE_LENGTH)
+ goto close_and_fail;
+ HANDSHAKE_READ(s_unix_fd, S2C3_HANDSHAKE_LENGTH)
+ goto close_and_fail;
+ return s_unix_fd;
+ }
+ EINTRLOOP(rs, listen(s_unix_fd, 100));
+ if (rs) {
+ error("ERROR: listen failed: %d", errno);
+ close_and_fail:
+ EINTRLOOP(rs, close(s_unix_fd));
+ s_unix_fd = -1;
+ return -1;
+ }
+ s_unix_master = 1;
+ set_handlers(s_unix_fd, af_unix_connection, NULL, NULL, NULL);
+ return -1;
+}
+
+static void af_unix_connection(void *xxx)
+{
+ socklen_t l = s_unix_l;
+ int ns;
+ int r;
+ int rs;
+ struct links_handshake received_handshake;
+ memset(&s_unix_acc, 0, sizeof s_unix_acc);
+ EINTRLOOP(ns, accept(s_unix_fd, &s_unix_acc.s, &l));
+ if (ns == -1) return;
+ HANDSHAKE_WRITE(ns, S2C1_HANDSHAKE_LENGTH) {
+ EINTRLOOP(rs, close(ns));
+ return;
+ }
+ HANDSHAKE_READ(ns, C2S2_HANDSHAKE_LENGTH) {
+ sleep_a_little_bit(); /* workaround a race in previous Links version */
+ EINTRLOOP(rs, close(ns));
+ return;
+ }
+ HANDSHAKE_WRITE(ns, S2C3_HANDSHAKE_LENGTH) {
+ EINTRLOOP(rs, close(ns));
+ return;
+ }
+ init_term(ns, ns, win_func);
+ set_highpri();
+}
+
+void af_unix_close(void)
+{
+ int rs;
+ if (s_unix_master) {
+ set_handlers(s_unix_fd, NULL, NULL, NULL, NULL);
+ }
+ if (s_unix_fd != -1) {
+ EINTRLOOP(rs, close(s_unix_fd));
+ s_unix_fd = -1;
+ }
+ if (s_unix_master) {
+ unlink_unix();
+ s_unix_master = 0;
+ }
+}
+
+#endif
diff --git a/arrow.inc b/arrow.inc
new file mode 100644
index 0000000..1483931
--- /dev/null
+++ b/arrow.inc
@@ -0,0 +1,36 @@
+/* Automatically generated by the program "arrow" (arrow.c) */enum {arrow_width=32, arrow_height=32, arrow_area=1024};
+
+static unsigned int arrow[64]={
+ 0xf0000000,0x00000000,
+ 0x9c000000,0x60000000,
+ 0x87000000,0x78000000,
+ 0xc1c00000,0x3e000000,
+ 0x40700000,0x3f800000,
+ 0x601c0000,0x1fe00000,
+ 0x20070000,0x1ff80000,
+ 0x3001c000,0x0ffe0000,
+ 0x10007000,0x0fff8000,
+ 0x18001c00,0x07ffe000,
+ 0x08000700,0x07fff800,
+ 0x0c000100,0x03fffe00,
+ 0x04000f00,0x03fff000,
+ 0x06003c00,0x01ffc000,
+ 0x0200f000,0x01ff0000,
+ 0x03006000,0x00ff8000,
+ 0x01023000,0x00fdc000,
+ 0x01831800,0x007ce000,
+ 0x00878c00,0x00787000,
+ 0x00c6c600,0x00383800,
+ 0x004c6300,0x00301c00,
+ 0x006c3180,0x00100e00,
+ 0x002818c0,0x00100700,
+ 0x00380c60,0x00000380,
+ 0x00000630,0x000001c0,
+ 0x00000318,0x000000e0,
+ 0x0000018c,0x00000070,
+ 0x000000c6,0x00000038,
+ 0x00000063,0x0000001c,
+ 0x00000031,0x0000000e,
+ 0x0000001b,0x00000004,
+ 0x0000000e,0x00000000,
+};
diff --git a/atheos.cpp b/atheos.cpp
new file mode 100644
index 0000000..7bc4adc
--- /dev/null
+++ b/atheos.cpp
@@ -0,0 +1,647 @@
+#include "cfg.h"
+
+#ifdef GRDRV_ATHEOS
+
+#include <atheos/threads.h>
+#include <gui/view.h>
+#include <gui/window.h>
+#include <gui/desktop.h>
+#include <gui/bitmap.h>
+#include <util/locker.h>
+#include <util/application.h>
+#include <string>
+
+using namespace std;
+
+extern "C" {
+#include "links.h"
+}
+
+#define WINDOW_TITLE_SIZE 16
+#define TOP_PANEL_SIZE 32
+#define NEW_WINDOW_X_ADD 16
+#define NEW_WINDOW_Y_ADD 16
+#define NEW_WINDOW_X_MIN 8
+#define NEW_WINDOW_Y_MIN 8
+
+#ifdef debug
+#undef debug
+#endif
+#ifdef debug2
+#undef debug2
+#endif
+#define debug(x)
+#define debug2(x)
+
+extern struct graphics_driver atheos_driver;
+
+using namespace os;
+
+class LinksApplication : public Application {
+ public:
+ LinksApplication():Application("application/x-vnd.links"){}
+ virtual bool OkToQuit(){return false;}
+};
+
+class LinksView;
+
+class LinksWindow : public Window {
+ public:
+ LinksWindow(Rect r);
+ ~LinksWindow();
+ virtual void FrameSized(const Point &d);
+ virtual bool OkToQuit();
+ int resized;
+ LinksView *view;
+};
+
+class LinksView : public View {
+ public:
+ LinksView(LinksWindow *w);
+ ~LinksView();
+ virtual void Paint(const Rect &r);
+ virtual void MouseDown(const Point &p, uint32 b);
+ virtual void MouseUp(const Point &p, uint32 b, Message *m);
+ virtual void MouseMove(const Point &p, int c, uint32 b, Message *m);
+ virtual void KeyDown(const char *s, const char *rs, uint32 q);
+ virtual void WheelMove(const point &d);
+ LinksWindow *win;
+ struct graphics_device *dev;
+ void d_flush();
+ int flushing;
+ int last_x, last_y;
+};
+
+#define lv(dev) ((LinksView *)(dev)->driver_data)
+
+#define lock_dev(dev) do { if (lv(dev)->win->Lock()) return; } while (0)
+#define lock_dev0(dev) do { if (lv(dev)->win->Lock()) return 0; } while (0)
+#define unlock_dev(dev) do { lv(dev)->win->Unlock(); } while (0)
+
+LinksApplication *ath_links_app;
+Locker *ath_lock = NULL;
+
+int msg_pipe[2];
+
+thread_id ath_app_thread_id;
+
+#define rpipe (msg_pipe[0])
+#define wpipe (msg_pipe[1])
+
+#define small_color (sizeof(Color32_s) <= sizeof(long))
+#define get_color32(c, rgb) Color32_s c((rgb >> 16) & 255, (rgb >> 8) & 255, rgb & 255, 255)
+
+color_space ath_cs_desktop, ath_cs_bmp;
+
+int ath_x_size, ath_y_size;
+int ath_y_panel;
+
+int ath_win_x_size, ath_win_y_size;
+int ath_win_x_pos, ath_win_y_pos;
+
+LinksWindow::LinksWindow(Rect r):Window(r, "links_wnd", "Links")
+{
+ debug2("LINKSWINDOW\n");
+ resized = 0;
+ view = NULL;
+}
+
+LinksWindow::~LinksWindow()
+{
+ view = NULL;
+ debug2("~LINKSWINDOW\n");
+}
+
+void LinksWindow::FrameSized(const Point &d)
+{
+ resized = 1;
+}
+
+bool LinksWindow::OkToQuit()
+{
+ ath_lock->Lock();
+ Lock();
+ if (view) if (view->dev) view->dev->keyboard_handler(view->dev, KBD_CTRL_C, 0);
+ Unlock();
+ ath_lock->Unlock();
+ write(wpipe, " ", 1);
+ /*debug2("key: :%s: :%s: %d %d\n", s, rs, q, c);*/
+ return false;
+}
+
+void do_flush(void *p_dev)
+{
+ struct graphics_device *dev = (struct graphics_device *)p_dev;
+ LinksView *v = lv(dev);
+ v->win->Lock();
+ v->win->Flush();
+ v->win->Unlock();
+ v->flushing = 0;
+}
+
+LinksView::LinksView(LinksWindow *w):View(w->GetBounds(), "Links", CF_FOLLOW_ALL, WID_WILL_DRAW | WID_FULL_UPDATE_ON_RESIZE)
+{
+ debug2("LINKSVIEW\n");
+ (win = w)->AddChild(this);
+ w->SetFocusChild(this);
+ w->view = this;
+ flushing = 0;
+ last_x = last_y = 0;
+}
+
+LinksView::~LinksView()
+{
+ win->view = NULL;
+ debug2("~LINKSVIEW\n");
+}
+
+void LinksView::d_flush()
+{
+ if (flushing) return;
+ register_bottom_half(do_flush, this->dev);
+ flushing = 1;
+}
+
+#undef select
+
+int ath_select(int n, fd_set *r, fd_set *w, fd_set *e, struct timeval *t)
+{
+ int v;
+ if (ath_lock) ath_lock->Unlock();
+ v = select(n, r, w, e, t);
+ if (ath_lock) {
+ ath_lock->Lock();
+ check_bottom_halves();
+ }
+ return v;
+}
+
+void ath_get_event(void *dummy)
+{
+ char dummy_buffer[256];
+ read(rpipe, dummy_buffer, 256);
+ debug2("GETE\n");
+}
+
+void ath_get_size(struct graphics_device *dev)
+{
+ Rect r = lv(dev)->GetBounds();
+ dev->size.x1 = dev->size.y1 = 0;
+ dev->size.x2 = (int)r.Width() + 1;
+ dev->size.y2 = (int)r.Height() + 1;
+}
+
+void LinksView::Paint(const Rect &r)
+{
+ struct rect rr;
+ win->Unlock();
+ ath_lock->Lock();
+ win->Lock();
+ rr.x1 = (int)r.left;
+ rr.x2 = (int)r.right + 1;
+ rr.y1 = (int)r.top;
+ rr.y2 = (int)r.bottom + 1;
+ /*debug2("paint: %d %d %d %d\n", rr.x1, rr.x2, rr.y1, rr.y2);*/
+ if (dev) {
+ if (!win->resized) dev->redraw_handler(dev, &rr);
+ else {
+ ath_get_size(dev);
+ win->resized = 0;
+ dev->resize_handler(dev);
+ }
+ }
+ check_bottom_halves();
+ ath_lock->Unlock();
+ write(wpipe, " ", 1);
+}
+
+
+void LinksView::MouseDown(const Point &p, uint32 b)
+{
+ win->Unlock();
+ ath_lock->Lock();
+ win->Lock();
+ if (dev) dev->mouse_handler(dev, last_x = (int)p.x, last_y = (int)p.y, B_DOWN | (b == 2 ? B_RIGHT : b == 3 ? B_MIDDLE : B_LEFT));
+ ath_lock->Unlock();
+ write(wpipe, " ", 1);
+}
+
+void LinksView::MouseUp(const Point &p, uint32 b, Message *m)
+{
+ win->Unlock();
+ ath_lock->Lock();
+ win->Lock();
+ if (dev) dev->mouse_handler(dev, last_x = (int)p.x, last_y = (int)p.y, B_UP | (b == 2 ? B_RIGHT : b == 3 ? B_MIDDLE : B_LEFT));
+ ath_lock->Unlock();
+ write(wpipe, " ", 1);
+}
+
+void LinksView::MouseMove(const Point &p, int c, uint32 b, Message *m)
+{
+ win->Unlock();
+ ath_lock->Lock();
+ win->Lock();
+ if (dev) dev->mouse_handler(dev, last_x = (int)p.x, last_y = (int)p.y, !b ? B_MOVE : B_DRAG | (b & 1 ? B_LEFT : b & 2 ? B_RIGHT : b & 4 ? B_MIDDLE : B_LEFT));
+ ath_lock->Unlock();
+ write(wpipe, " ", 1);
+}
+
+void LinksView::WheelMove(const point &d)
+{
+ win->Unlock();
+ ath_lock->Lock();
+ win->Lock();
+ if (d.y) if (dev) dev->mouse_handler(dev, last_x, last_y, B_MOVE | (d.y > 0 ? B_WHEELDOWN : B_WHEELUP));
+ if (d.x) if (dev) dev->mouse_handler(dev, last_x, last_y, B_MOVE | (d.x < 0 ? B_WHEELLEFT : B_WHEELRIGHT));
+ ath_lock->Unlock();
+ write(wpipe, " ", 1);
+}
+
+void LinksView::KeyDown(const char *s, const char *rs, uint32 q)
+{
+ int c;
+ unsigned char *ss = q & (QUAL_CTRL | QUAL_ALT) ? (unsigned char *)rs : (unsigned char *)s;
+ win->Unlock();
+ ath_lock->Lock();
+ win->Lock();
+ GET_UTF_8(ss, c);
+ switch (c) {
+ case VK_BACKSPACE: c = KBD_BS; break;
+ case VK_ENTER: c = KBD_ENTER; break;
+ case VK_SPACE: c = ' '; break;
+ case VK_TAB: c = KBD_TAB; break;
+ case VK_ESCAPE: c = KBD_ESC; break;
+ case VK_LEFT_ARROW: c = KBD_LEFT; break;
+ case VK_RIGHT_ARROW: c = KBD_RIGHT; break;
+ case VK_UP_ARROW: c = KBD_UP; break;
+ case VK_DOWN_ARROW: c = KBD_DOWN; break;
+ case VK_INSERT: c = KBD_INS; break;
+ case VK_DELETE: c = KBD_DEL; break;
+ case VK_HOME: c = KBD_HOME; break;
+ case VK_END: c = KBD_END; break;
+ case VK_PAGE_UP: c = KBD_PAGE_UP; break;
+ case VK_PAGE_DOWN: c = KBD_PAGE_DOWN; break;
+ default: if (c < 32) c = 0;
+ else q &= ~QUAL_SHIFT;
+ break;
+ }
+ if (c) if (dev) dev->keyboard_handler(dev, c, (q & QUAL_SHIFT ? KBD_SHIFT : 0) | (q & QUAL_CTRL ? KBD_CTRL : 0) | (q & QUAL_ALT ? KBD_ALT : 0));
+ ath_lock->Unlock();
+ write(wpipe, " ", 1);
+ /*debug2("key: :%s: :%s: %d %d\n", s, rs, q, c);*/
+}
+
+unsigned char *ath_get_driver_param(void)
+{
+ return NULL;
+}
+
+uint32 ath_app_thread(void *p)
+{
+ ath_links_app->Run();
+ delete ath_links_app;
+ return 0;
+}
+
+unsigned char *ath_init_driver(unsigned char *param, unsigned char *display)
+{
+ Desktop *d;
+ ath_links_app = new LinksApplication();
+ if (!ath_links_app) {
+ return stracpy((unsigned char *)"Unable to allocate Application object.\n");
+ }
+ ath_lock = new Locker("links_sem", false, false);
+ if (!ath_lock || ath_lock->Lock()) {
+ delete ath_links_app;
+ return stracpy((unsigned char *)"Could not create lock.\n");
+ }
+ if (c_pipe(msg_pipe)) {
+ delete ath_lock; ath_lock = NULL;
+ delete ath_links_app;
+ return stracpy((unsigned char *)"Could not create pipe.\n");
+ }
+ fcntl(rpipe, F_SETFL, O_NONBLOCK);
+ fcntl(wpipe, F_SETFL, O_NONBLOCK);
+ set_handlers(rpipe, ath_get_event, NULL, NULL, NULL);
+ ath_app_thread_id = spawn_thread("links_app", (void *)ath_app_thread, 0, 0, NULL);
+ resume_thread(ath_app_thread_id);
+ if ((d = new Desktop)) {
+ ath_cs_desktop = d->GetColorSpace();
+ ath_x_size = d->GetResolution().x;
+ ath_y_size = d->GetResolution().y;
+ delete d;
+ } else {
+ ath_cs_desktop = CS_NO_COLOR_SPACE;
+ ath_x_size = 640;
+ ath_y_size = 480;
+ }
+ ath_y_panel = WINDOW_TITLE_SIZE;
+#ifdef __SYLLABLE__
+ ath_y_panel += TOP_PANEL_SIZE;
+#endif
+ if (ath_y_panel > ath_y_size) ath_y_panel = 0;
+ ath_win_y_size = (ath_y_size - ath_y_panel) * 9 / 10;
+ ath_win_x_size = ath_win_y_size;
+ /*
+ debug2("%d %d\n", ath_x_size, ath_y_size);
+ debug2("%d %d\n", ath_win_x_size, ath_win_y_size);
+ */
+ ath_win_y_pos = (ath_y_size - ath_y_panel - ath_win_y_size) / 2 + ath_y_panel;
+ ath_win_x_pos = ath_x_size - ath_win_x_size - ath_win_y_pos;
+ if (/*ath_cs_desktop == CS_RGB32 ||*/ ath_cs_desktop == CS_RGB24 || ath_cs_desktop == CS_RGB16 || ath_cs_desktop == CS_RGB15)
+ ath_cs_bmp = ath_cs_desktop;
+ else if (ath_cs_desktop == CS_RGB32 || ath_cs_desktop == CS_RGBA32) ath_cs_bmp = CS_RGB24;
+ else ath_cs_bmp = CS_RGB15;
+ switch (ath_cs_bmp) {
+ case CS_RGB24:
+ atheos_driver.depth = 0xc3;
+ break;
+ case CS_RGB16:
+ atheos_driver.depth = 0x82;
+ break;
+ case CS_RGB15:
+ atheos_driver.depth = 0x7a;
+ break;
+ default:
+ internal((unsigned char *)"unknown depth");
+ }
+ return NULL;
+}
+
+void ath_shutdown_driver()
+{
+ debug((unsigned char *)"D");
+ close(rpipe);
+ close(wpipe);
+ set_handlers(rpipe, NULL, NULL, NULL, NULL);
+ ath_lock->Unlock();
+ debug((unsigned char *)"DD");
+ ath_links_app->PostMessage(M_TERMINATE);
+ debug((unsigned char *)"E");
+ /*delete ath_lock; ath_lock = NULL;*/
+ debug((unsigned char *)"F");
+}
+
+struct graphics_device *ath_init_device()
+{
+ LinksView *view;
+ LinksWindow *win;
+ struct graphics_device *dev = (struct graphics_device *)mem_calloc(sizeof(struct graphics_device));
+ if (!dev) return NULL;
+ debug((unsigned char *)"1");
+ retry:
+ win = new LinksWindow(Rect(ath_win_x_pos, ath_win_y_pos, ath_win_x_pos + ath_win_x_size, ath_win_y_pos + ath_win_y_size));
+ debug((unsigned char *)"2");
+ if (!win) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ mem_free(dev);
+ return NULL;
+ }
+ debug((unsigned char *)"3");
+ retry2:
+ view = new LinksView(win);
+ if (!view) {
+ if (out_of_memory(NULL, 0))
+ goto retry2;
+ delete win;
+ mem_free(dev);
+ return NULL;
+ }
+ view->dev = dev;
+ dev->driver_data = view;
+ ath_get_size(dev);
+ memcpy(&dev->clip, &dev->size, sizeof(struct rect));
+ debug((unsigned char *)"4");
+ win->Show();
+ win->MakeFocus();
+ debug((unsigned char *)"5");
+
+ ath_win_x_pos += NEW_WINDOW_X_ADD;
+ ath_win_y_pos += NEW_WINDOW_Y_ADD;
+ if (ath_win_x_pos + ath_win_x_size > ath_x_size - NEW_WINDOW_X_MIN)
+ ath_win_x_pos = NEW_WINDOW_X_MIN;
+ if (ath_win_y_pos + ath_win_y_size > ath_y_size - NEW_WINDOW_Y_MIN)
+ ath_win_y_pos = ath_y_panel + NEW_WINDOW_Y_MIN;
+
+ return dev;
+}
+
+void ath_shutdown_device(struct graphics_device *dev)
+{
+ LinksWindow *win = lv(dev)->win;
+ unregister_bottom_half(do_flush, dev);
+ lv(dev)->dev = NULL;
+ win->PostMessage(M_TERMINATE);
+ mem_free(dev);
+}
+
+void ath_set_title(struct graphics_device *dev, unsigned char *title)
+{
+ LinksWindow *win = lv(dev)->win;
+ lock_dev(dev);
+ win->SetTitle(string((char *)title));
+ lv(dev)->d_flush();
+ unlock_dev(dev);
+}
+
+int ath_get_empty_bitmap(struct bitmap *bmp)
+{
+ debug2("bmp\n");
+ Bitmap *b;
+ retry:
+ b = new Bitmap(bmp->x, bmp->y, ath_cs_bmp, Bitmap::SHARE_FRAMEBUFFER);
+ if (!b) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ bmp->data = NULL;
+ bmp->flags = NULL;
+ return -1;
+ }
+ bmp->data = b->LockRaster();
+ bmp->skip = b->GetBytesPerRow();
+ bmp->flags = b;
+ return 0;
+}
+
+void ath_register_bitmap(struct bitmap *bmp)
+{
+ Bitmap *b = (Bitmap *)bmp->flags;
+ if (!b) return;
+ b->UnlockRaster();
+}
+
+void *ath_prepare_strip(struct bitmap *bmp, int top, int lines)
+{
+ debug2("preps\n");
+ Bitmap *b = (Bitmap *)bmp->flags;
+ if (!b) return NULL;
+ bmp->data = b->LockRaster();
+ bmp->skip = b->GetBytesPerRow();
+ return ((char *)bmp->data) + bmp->skip * top;
+}
+
+void ath_commit_strip(struct bitmap *bmp, int top, int lines)
+{
+ Bitmap *b = (Bitmap *)bmp->flags;
+ if (!b) return;
+ b->UnlockRaster();
+}
+
+void ath_unregister_bitmap(struct bitmap *bmp)
+{
+ debug2("unb\n");
+ Bitmap *b = (Bitmap *)bmp->flags;
+ if (!b) return;
+ delete b;
+}
+
+void ath_draw_bitmap(struct graphics_device *dev, struct bitmap *bmp, int x, int y)
+{
+ debug2("drawb\n");
+ Bitmap *b = (Bitmap *)bmp->flags;
+ if (!b) return;
+ lock_dev(dev);
+ lv(dev)->DrawBitmap(b, b->GetBounds(), Rect(x, y, x + bmp->x - 1, y + bmp->y - 1));
+ lv(dev)->d_flush();
+ unlock_dev(dev);
+}
+
+#if 0
+void ath_draw_bitmaps(struct graphics_device *dev, struct bitmap **bmp, int n, int x, int y)
+{
+ LinksView *lvv = lv(dev);
+ lock_dev(dev);
+ while (n--) {
+ Bitmap *b = (Bitmap *)(*bmp)->flags;
+ lvv->DrawBitmap(b, b->GetBounds(), Rect(x, y, x + (*bmp)->x, y + (*bmp)->y));
+ x += (*bmp)->x;
+ bmp++;
+ }
+ lv(dev)->d_flush();
+ unlock_dev(dev);
+}
+#endif
+
+long ath_get_color(int rgb)
+{
+ if (small_color) {
+ get_color32(c, rgb);
+ return *(long *)(void *)&c;
+ } else return rgb & 0xffffff;
+}
+
+void ath_fill_area(struct graphics_device *dev, int x1, int y1, int x2, int y2, long color)
+{
+ debug2("fill\n");
+ if (x1 >= x2 || y1 >= y2) return;
+ lock_dev(dev);
+ if (small_color)
+ lv(dev)->FillRect(Rect(x1, y1, x2 - 1, y2 - 1), *(Color32_s *)(void *)&color);
+ else
+ lv(dev)->FillRect(Rect(x1, y1, x2 - 1, y2 - 1), get_color32(, color));
+ lv(dev)->d_flush();
+ unlock_dev(dev);
+}
+
+void ath_draw_hline(struct graphics_device *dev, int x1, int y, int x2, long color)
+{
+ debug2("hline\n");
+ if (x1 >= x2) return;
+ lock_dev(dev);
+ if (small_color)
+ lv(dev)->SetFgColor(*(Color32_s *)(void *)&color);
+ else
+ lv(dev)->SetFgColor(get_color32(, color));
+ lv(dev)->DrawLine(Point(IPoint(x1, y)), Point(IPoint(x2 - 1, y)));
+ lv(dev)->d_flush();
+ unlock_dev(dev);
+}
+
+void ath_draw_vline(struct graphics_device *dev, int x, int y1, int y2, long color)
+{
+ debug2("vline\n");
+ if (y1 >= y2) return;
+ lock_dev(dev);
+ if (small_color)
+ lv(dev)->SetFgColor(*(Color32_s *)(void *)&color);
+ else
+ lv(dev)->SetFgColor(get_color32(, color));
+ lv(dev)->DrawLine(Point(IPoint(x, y1)), Point(IPoint(x, y2 - 1)));
+ lv(dev)->d_flush();
+ unlock_dev(dev);
+}
+
+int ath_hscroll(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ debug2("hscroll\n");
+ if (dev->clip.x1 >= dev->clip.x2 || dev->clip.y1 >= dev->clip.y2) return 0;
+ if (sc <= dev->clip.x1 - dev->clip.x2) return 1;
+ if (sc >= dev->clip.x2 - dev->clip.x1) return 1;
+ lock_dev0(dev);
+ if (sc > 0) lv(dev)->ScrollRect(Rect(dev->clip.x1, dev->clip.y1, dev->clip.x2 - sc - 1, dev->clip.y2 - 1), Rect(dev->clip.x1 + sc, dev->clip.y1, dev->clip.x2 - 1, dev->clip.y2 - 1));
+ else lv(dev)->ScrollRect(Rect(dev->clip.x1 - sc, dev->clip.y1, dev->clip.x2 - 1, dev->clip.y2 - 1), Rect(dev->clip.x1, dev->clip.y1, dev->clip.x2 + sc - 1, dev->clip.y2 - 1));
+ lv(dev)->d_flush();
+ unlock_dev(dev);
+ return 1;
+}
+
+int ath_vscroll(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ debug2("vscroll\n");
+ if (!sc || dev->clip.x1 >= dev->clip.x2 || dev->clip.y1 >= dev->clip.y2) return 0;
+ if (sc <= dev->clip.y1 - dev->clip.y2) return 1;
+ if (sc >= dev->clip.y2 - dev->clip.y1) return 1;
+ lock_dev0(dev);
+ if (sc > 0) lv(dev)->ScrollRect(Rect(dev->clip.x1, dev->clip.y1, dev->clip.x2 - 1, dev->clip.y2 - sc - 1), Rect(dev->clip.x1, dev->clip.y1 + sc, dev->clip.x2 - 1, dev->clip.y2 - 1));
+ else lv(dev)->ScrollRect(Rect(dev->clip.x1, dev->clip.y1 - sc, dev->clip.x2 - 1, dev->clip.y2 - 1), Rect(dev->clip.x1, dev->clip.y1, dev->clip.x2 - 1, dev->clip.y2 + sc - 1));
+ lv(dev)->d_flush();
+ unlock_dev(dev);
+ return 1;
+}
+
+void ath_set_clip_area(struct graphics_device *dev, struct rect *r)
+{
+ debug2("setc\n");
+ memcpy(&dev->clip, r, sizeof(struct rect));
+ lock_dev(dev);
+ lv(dev)->SetDrawingRegion(Region(IRect(r->x1, r->y1, r->x2 - 1, r->y2 - 1)));
+ unlock_dev(dev);
+}
+
+struct graphics_driver atheos_driver = {
+ (unsigned char *)"atheos",
+ ath_init_driver,
+ ath_init_device,
+ ath_shutdown_device,
+ ath_shutdown_driver,
+ ath_get_driver_param,
+ ath_get_empty_bitmap,
+ /*ath_get_filled_bitmap,*/
+ ath_register_bitmap,
+ ath_prepare_strip,
+ ath_commit_strip,
+ ath_unregister_bitmap,
+ ath_draw_bitmap,
+ /*ath_draw_bitmaps,*/
+ ath_get_color,
+ ath_fill_area,
+ ath_draw_hline,
+ ath_draw_vline,
+ ath_hscroll,
+ ath_vscroll,
+ ath_set_clip_area,
+ dummy_block,
+ dummy_unblock,
+ ath_set_title,
+ NULL, /* exec */
+ NULL, /* set_clipboard_text */
+ NULL, /* get_clipboard_text */
+ 0, /* depth */
+ 0, 0, /* size */
+ GD_NO_OS_SHELL, /* flags */
+ 0, /* codepage */
+ NULL, /* shell */
+};
+
+#endif
diff --git a/auth.c b/auth.c
new file mode 100644
index 0000000..d2e6042
--- /dev/null
+++ b/auth.c
@@ -0,0 +1,235 @@
+#include "links.h"
+
+static struct list_head auth = {&auth, &auth};
+
+struct http_auth {
+ struct http_auth *next;
+ struct http_auth *prev;
+ unsigned char *host;
+ int port;
+ unsigned char *realm;
+ unsigned char *user;
+ unsigned char *password;
+ unsigned char *directory;
+ unsigned char *user_password_encoded;
+ int proxy;
+};
+
+static unsigned char base64_chars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+static unsigned char *base64_encode(unsigned char *in)
+{
+ unsigned char *out, *outstr;
+ size_t inlen = strlen(in);
+ if (inlen > MAXINT / 4) overalloc();
+ outstr = out = mem_alloc(((inlen / 3) + 1) * 4 + 1 );
+ while (inlen >= 3) {
+ *out++ = base64_chars[ (int)(*in >> 2) ];
+ *out++ = base64_chars[ (int)((*in << 4 | *(in + 1) >> 4) & 63) ];
+ *out++ = base64_chars[ (int)((*(in + 1) << 2 | *(in + 2) >> 6) & 63) ];
+ *out++ = base64_chars[ (int)(*(in + 2) & 63) ];
+ inlen -= 3; in += 3;
+ }
+ if (inlen == 1) {
+ *out++ = base64_chars[ (int)(*in >> 2) ];
+ *out++ = base64_chars[ (int)(*in << 4 & 63) ];
+ *out++ = '=';
+ *out++ = '=';
+ }
+ if (inlen == 2) {
+ *out++ = base64_chars[ (int)(*in >> 2) ];
+ *out++ = base64_chars[ (int)((*in << 4 | *(in + 1) >> 4) & 63) ];
+ *out++ = base64_chars[ (int)((*(in + 1) << 2) & 63) ];
+ *out++ = '=';
+ }
+ *out = 0;
+ return outstr;
+}
+
+static unsigned char *basic_encode(unsigned char *user, unsigned char *password)
+{
+ unsigned char *e, *p = mem_alloc(strlen(user) + strlen(password) + 2);
+ strcpy(p, user);
+ strcat(p, ":");
+ strcat(p, password);
+ e = base64_encode(p);
+ mem_free(p);
+ return e;
+}
+
+unsigned char *get_auth_realm(unsigned char *url, unsigned char *head, int proxy)
+{
+ unsigned char *ch = head;
+ unsigned char *h, *q, *r;
+ int l;
+ int unknown = 0;
+ int known = 0;
+ try_next:
+ h = parse_http_header(ch, !proxy ? "WWW-Authenticate" : "Proxy-Authenticate", &ch);
+ if (!h) {
+ if (unknown && !known) return NULL;
+ if (proxy) return stracpy(proxies.http_proxy);
+ h = get_host_name(url);
+ if (h) return h;
+ return stracpy("");
+ }
+ if (casecmp(h, "Basic", 5)) {
+ mem_free(h);
+ unknown = 1;
+ goto try_next;
+ }
+ known = 1;
+ q = strchr(h, '"');
+ if (!q) {
+ mem_free(h);
+ goto try_next;
+ }
+ q++;
+ r = init_str();
+ l = 0;
+ while (*q && *q != '"') {
+ if (*q == '\\' && !*++q) break;
+ add_chr_to_str(&r, &l, *q++);
+ }
+ mem_free(h);
+ return r;
+}
+
+unsigned char *get_auth_string(unsigned char *url)
+{
+ struct http_auth *a;
+ unsigned char *host;
+ int port;
+ unsigned char *r = NULL;
+ int l = 0;
+ unsigned char *user, *password;
+ if (!(host = get_host_name(url))) return NULL;
+ port = get_port(url);
+ if (upcase(url[0]) == 'P') {
+ foreach(a, auth) {
+ if (a->proxy && !strcasecmp(a->host, host) && a->port == port) {
+ if (!r) r = init_str();
+ add_to_str(&r, &l, "Proxy-Authorization: Basic ");
+ add_to_str(&r, &l, a->user_password_encoded);
+ add_to_str(&r, &l, "\r\n");
+ break;
+ }
+ }
+ url = get_url_data(url);
+ mem_free(host);
+ if (!(host = get_host_name(url))) return NULL;
+ port = get_port(url);
+ }
+
+ user = get_user_name(url);
+ password = get_pass(url);
+ if (user && *user && password) {
+ unsigned char *e = basic_encode(user, password);
+ if (!r) r = init_str();
+ add_to_str(&r, &l, "Authorization: Basic ");
+ add_to_str(&r, &l, e);
+ add_to_str(&r, &l, "\r\n");
+ mem_free(e);
+ if (user) mem_free(user);
+ if (password) mem_free(password);
+ goto have_passwd;
+ }
+ if (user) mem_free(user);
+ if (password) mem_free(password);
+
+ foreach(a, auth) if (!a->proxy && !strcasecmp(a->host, host) && a->port == port) {
+ unsigned char *d, *data;
+ data = get_url_data(url);
+ d = strrchr(data, '/');
+ if (!d) d = data;
+ else d++;
+ if ((size_t)(d - data) >= strlen(a->directory) && !memcmp(data, a->directory, strlen(a->directory))) {
+ if (!r) r = init_str();
+ add_to_str(&r, &l, "Authorization: Basic ");
+ add_to_str(&r, &l, a->user_password_encoded);
+ add_to_str(&r, &l, "\r\n");
+ goto have_passwd;
+ }
+ }
+ have_passwd:
+ mem_free(host);
+ return r;
+}
+
+static void free_auth_entry(struct http_auth *a)
+{
+ mem_free(a->host);
+ mem_free(a->realm);
+ mem_free(a->user);
+ mem_free(a->password);
+ if (a->directory) mem_free(a->directory);
+ mem_free(a->user_password_encoded);
+ del_from_list(a);
+ mem_free(a);
+}
+
+void cleanup_auth(void)
+{
+ while (!list_empty(auth)) free_auth_entry(auth.next);
+}
+
+void add_auth(unsigned char *url, unsigned char *realm, unsigned char *user, unsigned char *password, int proxy)
+{
+ struct http_auth *a;
+ unsigned char *host;
+ int port;
+ if (!proxy) {
+ host = get_host_name(url);
+ port = get_port(url);
+ } else {
+ unsigned char *p = get_proxy(url);
+ host = get_host_name(p);
+ port = get_port(p);
+ mem_free(p);
+ }
+ if (!host) return;
+ foreach(a, auth) if (a->proxy == proxy && !strcasecmp(a->host, host) && a->port == port && !strcmp(a->realm, realm)) {
+ a = a->prev;
+ free_auth_entry(a->next);
+ }
+ a = mem_alloc(sizeof(struct http_auth));
+ a->host = host;
+ a->port = port;
+ a->realm = stracpy(realm);
+ a->user = stracpy(user);
+ a->password = stracpy(password);
+ if (!proxy) {
+ unsigned char *data = stracpy(get_url_data(url));
+ unsigned char *d = strrchr(data, '/');
+ if (d) d[1] = 0;
+ else data[0] = 0;
+ a->directory = data;
+ } else a->directory = NULL;
+ a->proxy = proxy;
+ a->user_password_encoded = basic_encode(a->user, a->password);
+ add_to_list(auth, a);
+}
+
+int find_auth(unsigned char *url, unsigned char *realm)
+{
+ struct http_auth *a;
+ unsigned char *data, *d;
+ unsigned char *host = get_host_name(url);
+ int port = get_port(url);
+ if (!host) return -1;
+ data = stracpy(get_url_data(url));
+ d = strrchr(data, '/');
+ if (d) d[1] = 0;
+ foreach(a, auth) if (!a->proxy && !strcasecmp(a->host, host) && a->port == port && !strcmp(a->realm, realm) && strcmp(a->directory, data)) {
+ mem_free(a->directory);
+ a->directory = data;
+ mem_free(host);
+ del_from_list(a);
+ add_to_list(auth, a);
+ return 0;
+ }
+ mem_free(host);
+ mem_free(data);
+ return -1;
+}
+
diff --git a/beos.c b/beos.c
new file mode 100644
index 0000000..49384f7
--- /dev/null
+++ b/beos.c
@@ -0,0 +1,267 @@
+/* beos.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL
+ */
+
+#if defined(__BEOS__) || defined(__HAIKU__)
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/time.h>
+#include <netinet/in.h>
+#include <be/kernel/OS.h>
+
+#define SHS 128
+
+#ifndef MAXINT
+#define MAXINT 0x7fffffff
+#endif
+
+#ifdef __HAIKU__
+int closesocket(int);
+#endif
+
+#include "beos.h"
+
+int be_read(int s, void *ptr, int len)
+{
+ if (s >= SHS) return recv(s - SHS, ptr, len, 0);
+ return read(s, ptr, len);
+}
+
+int be_write(int s, void *ptr, int len)
+{
+ if (s >= SHS) return send(s - SHS, ptr, len, 0);
+ return write(s, ptr, len);
+}
+
+int be_close(int s)
+{
+ if (s >= SHS) return closesocket(s - SHS);
+ return close(s);
+}
+
+int be_socket(int af, int sock, int prot)
+{
+ int h = socket(af, sock, prot);
+ if (h < 0) return h;
+ return h + SHS;
+}
+
+int be_connect(int s, struct sockaddr *sa, int sal)
+{
+ return connect(s - SHS, sa, sal);
+}
+
+int be_getpeername(int s, struct sockaddr *sa, int *sal)
+{
+ return getpeername(s - SHS, sa, sal);
+}
+
+int be_getsockname(int s, struct sockaddr *sa, int *sal)
+{
+ return getsockname(s - SHS, sa, sal);
+}
+
+int be_listen(int s, int c)
+{
+ return listen(s - SHS, c);
+}
+
+int be_accept(int s, struct sockaddr *sa, int *sal)
+{
+ int a = accept(s - SHS, sa, sal);
+ if (a < 0) return -1;
+ return a + SHS;
+}
+
+int be_bind(int s, struct sockaddr *sa, int sal)
+{
+ /*struct sockaddr_in *sin = (struct sockaddr_in *)sa;
+ if (!ntohs(sin->sin_port)) {
+ int i;
+ for (i = 16384; i < 49152; i++) {
+ sin->sin_port = htons(i);
+ if (!be_bind(s, sa, sal)) return 0;
+ }
+ return -1;
+ }*/
+ if (bind(s - SHS, sa, sal)) return -1;
+ getsockname(s - SHS, sa, &sal);
+ return 0;
+}
+
+#define PIPE_RETRIES 10
+
+int be_pipe(int *fd)
+{
+ int s1, s2, s3, l;
+ struct sockaddr_in sa1, sa2;
+ int retry_count = 0;
+ again:
+ if ((s1 = be_socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) {
+ /*perror("socket1");*/
+ goto fatal_retry;
+ }
+ if ((s2 = be_socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) {
+ /*perror("socket2");*/
+ be_close(s1);
+ goto fatal_retry;
+ }
+ memset(&sa1, 0, sizeof(sa1));
+ sa1.sin_family = AF_INET;
+ sa1.sin_port = htons(0);
+ sa1.sin_addr.s_addr = INADDR_ANY;
+ if (be_bind(s1, (struct sockaddr *)&sa1, sizeof(sa1))) {
+ /*perror("bind");*/
+ clo:
+ be_close(s1);
+ be_close(s2);
+ goto fatal_retry;
+ }
+ if (be_listen(s1, 1)) {
+ /*perror("listen");*/
+ goto clo;
+ }
+ if (be_connect(s2, (struct sockaddr *)&sa1, sizeof(sa1))) {
+ /*perror("connect");*/
+ goto clo;
+ }
+ l = sizeof(sa2);
+ if ((s3 = be_accept(s1, (struct sockaddr *)&sa2, &l)) < 0) {
+ /*perror("accept");*/
+ goto clo;
+ }
+ be_getsockname(s3, (struct sockaddr *)&sa1, &l);
+ if (sa1.sin_addr.s_addr != sa2.sin_addr.s_addr) {
+ be_close(s3);
+ goto clo;
+ }
+ be_close(s1);
+ fd[0] = s2;
+ fd[1] = s3;
+ return 0;
+
+ fatal_retry:
+ if (++retry_count > PIPE_RETRIES) return -1;
+ sleep(1);
+ goto again;
+}
+
+int be_select(int n, struct fd_set *rd, struct fd_set *wr, struct fd_set *exc, struct timeval *tm)
+{
+ int i, s;
+ struct fd_set d, rrd;
+retry:
+ FD_ZERO(&d);
+ if (!rd) rd = &d;
+ if (!wr) wr = &d;
+ if (!exc) exc = &d;
+ if (n >= FD_SETSIZE) n = FD_SETSIZE;
+ FD_ZERO(exc);
+ for (i = 0; i < n; i++) if ((i < SHS && FD_ISSET(i, rd)) || FD_ISSET(i, wr)) {
+ for (i = SHS; i < n; i++) FD_CLR(i, rd);
+ return MAXINT;
+ }
+ FD_ZERO(&rrd);
+ for (i = SHS; i < n; i++) if (FD_ISSET(i, rd)) FD_SET(i - SHS, &rrd);
+ if ((s = select(FD_SETSIZE, &rrd, &d, &d, tm)) < 0) {
+ if (errno == EINTR) goto retry;
+ FD_ZERO(rd);
+ return 0;
+ }
+ FD_ZERO(rd);
+ for (i = SHS; i < n; i++) if (FD_ISSET(i - SHS, &rrd)) FD_SET(i, rd);
+ return s;
+}
+
+#ifndef SO_ERROR
+#define SO_ERROR 10001
+#endif
+
+int be_getsockopt(int s, int level, int optname, void *optval, int *optlen)
+{
+ if (optname == SO_ERROR && *optlen >= sizeof(int)) {
+ *(int *)optval = 0;
+ *optlen = sizeof(int);
+ return 0;
+ }
+ return -1;
+}
+
+static int ihpipe[2];
+
+static int inth;
+
+static void input_handle_th(void *p)
+{
+ char c;
+ int b = 0;
+ setsockopt(ihpipe[1], SOL_SOCKET, SO_NONBLOCK, &b, sizeof(b));
+ while (1) if (read(0, &c, 1) == 1) be_write(ihpipe[1], &c, 1);
+}
+
+int get_input_handle(void)
+{
+ static int h = -1;
+ if (h >= 0) return h;
+ if (be_pipe(ihpipe) < 0) return -1;
+ if ((inth = start_thr(input_handle_th, NULL, "input_thread")) < 0) {
+ closesocket(ihpipe[0]);
+ closesocket(ihpipe[1]);
+ error("Can't spawn input thread");
+ fatal_tty_exit();
+ exit(4);
+ }
+ return h = ihpipe[0];
+}
+
+void block_stdin(void)
+{
+ suspend_thread(inth);
+}
+
+void unblock_stdin(void)
+{
+ resume_thread(inth);
+}
+
+/*int ohpipe[2];
+
+#define O_BUF 16384
+
+static void output_handle_th(void *p)
+{
+ char *c = malloc(O_BUF);
+ int r, b = 0;
+ if (!c) return;
+ setsockopt(ohpipe[1], SOL_SOCKET, SO_NONBLOCK, &b, sizeof(b));
+ while ((r = be_read(ohpipe[0], c, O_BUF)) > 0) write(1, c, r);
+ free(c);
+}
+
+int get_output_handle(void)
+{
+ static int h = -1;
+ if (h >= 0) return h;
+ if (be_pipe(ohpipe) < 0) return -1;
+ if (start_thr(output_handle_th, NULL, "output_thread") < 0) {
+ closesocket(ohpipe[0]);
+ closesocket(ohpipe[1]);
+ error("Can't spawn output thread");
+ fatal_tty_exit();
+ exit(4);
+ }
+ return h = ohpipe[1];
+}*/
+
+#else
+
+typedef int beos_c_no_empty_unit;
+
+#endif
diff --git a/beos.h b/beos.h
new file mode 100644
index 0000000..0143fce
--- /dev/null
+++ b/beos.h
@@ -0,0 +1,22 @@
+int be_socket(int, int, int);
+int be_connect(int, struct sockaddr *, int);
+int be_getpeername(int, struct sockaddr *, int *);
+int be_getsockname(int, struct sockaddr *, int *);
+int be_listen(int, int);
+int be_accept(int, struct sockaddr *, int *);
+int be_bind(int, struct sockaddr *, int);
+int be_pipe(int *);
+int be_read(int, void *, int);
+int be_write(int, void *, int);
+int be_close(int);
+int be_select(int, struct fd_set *, struct fd_set *, struct fd_set *, struct timeval *);
+int be_getsockopt(int, int, int, void *, int *);
+
+int start_thr(void (*fn)(void *), void *data, unsigned char *name);
+
+int get_input_handle(void);
+void block_stdin(void);
+void unblock_stdin(void);
+
+void error(unsigned char *, ...);
+void fatal_tty_exit(void);
diff --git a/bfu.c b/bfu.c
new file mode 100644
index 0000000..8673964
--- /dev/null
+++ b/bfu.c
@@ -0,0 +1,2342 @@
+/* bfu.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+int menu_font_size=G_BFU_DEFAULT_FONT_SIZE;
+
+unsigned G_BFU_FG_COLOR;
+unsigned G_BFU_BG_COLOR;
+unsigned G_SCROLL_BAR_AREA_COLOR;
+unsigned G_SCROLL_BAR_BAR_COLOR;
+unsigned G_SCROLL_BAR_FRAME_COLOR;
+
+static void menu_func(struct window *, struct event *, int);
+static void mainmenu_func(struct window *, struct event *, int);
+
+struct memory_list *getml(void *p, ...)
+{
+ struct memory_list *ml;
+ va_list ap;
+ int n = 0;
+ void *q = p;
+ va_start(ap, p);
+ while (q) {
+ if (n == MAXINT) overalloc();
+ n++, q = va_arg(ap, void *);
+ }
+ if ((unsigned)n > (MAXINT - sizeof(struct memory_list)) / sizeof(void *)) overalloc();
+ ml = mem_alloc(sizeof(struct memory_list) + n * sizeof(void *));
+ ml->n = n;
+ n = 0;
+ q = p;
+ va_end(ap);
+ va_start(ap, p);
+ while (q) ml->p[n++] = q, q = va_arg(ap, void *);
+ va_end(ap);
+ return ml;
+}
+
+void add_to_ml(struct memory_list **ml, ...)
+{
+ struct memory_list *nml;
+ va_list ap;
+ int n = 0;
+ void *q;
+ if (!*ml) {
+ *ml = mem_alloc(sizeof(struct memory_list));
+ (*ml)->n = 0;
+ }
+ va_start(ap, ml);
+ while ((q = va_arg(ap, void *))) {
+ if (n == MAXINT) overalloc();
+ n++;
+ }
+ if ((unsigned)n + (unsigned)((*ml)->n) > (MAXINT - sizeof(struct memory_list)) / sizeof(void *)) overalloc();
+ nml = mem_realloc(*ml, sizeof(struct memory_list) + (n + (*ml)->n) * sizeof(void *));
+ va_end(ap);
+ va_start(ap, ml);
+ while ((q = va_arg(ap, void *))) nml->p[nml->n++] = q;
+ *ml = nml;
+ va_end(ap);
+}
+
+void freeml(struct memory_list *ml)
+{
+ int i;
+ if (!ml) return;
+ for (i = 0; i < ml->n; i++) mem_free(ml->p[i]);
+ mem_free(ml);
+}
+
+static inline int is_utf_8(struct terminal *term)
+{
+#ifdef G
+ if (F) return 1;
+#endif
+#ifdef ENABLE_UTF8
+ if (term->spec->charset == utf8_table) return 1;
+#endif
+ return 0;
+}
+
+static inline int ttxtlen(struct terminal *term, unsigned char *s)
+{
+#ifdef ENABLE_UTF8
+ if (term->spec->charset == utf8_table)
+ return strlen_utf8(s);
+#endif
+ return strlen(s);
+}
+
+static inline int txtlen(struct terminal *term, unsigned char *s)
+{
+#ifdef G
+ if (F)
+ return g_text_width(bfu_style_wb, s);
+ else
+#endif
+ return ttxtlen(term, s);
+}
+
+#ifdef G
+struct style *bfu_style_wb, *bfu_style_wb_b, *bfu_style_bw, *bfu_style_bw_u;
+struct style *bfu_style_bw_mono;
+struct style *bfu_style_wb_mono, *bfu_style_wb_mono_u;
+
+long bfu_fg_color, bfu_bg_color;
+
+static int G_DIALOG_FIELD_WIDTH;
+
+void init_bfu(void)
+{
+ if (!F) return;
+ bfu_bg_color = dip_get_color_sRGB(G_BFU_BG_COLOR);
+ bfu_fg_color = dip_get_color_sRGB(G_BFU_FG_COLOR);
+ bfu_style_wb = g_get_style(G_BFU_BG_COLOR, G_BFU_FG_COLOR, G_BFU_FONT_SIZE, G_BFU_DEFAULT_FONT, 0);
+ bfu_style_wb_b = g_get_style(G_BFU_BG_COLOR, G_BFU_FG_COLOR, G_BFU_FONT_SIZE, G_BFU_DEFAULT_FONT, 0);
+ bfu_style_bw = g_get_style(G_BFU_FG_COLOR, G_BFU_BG_COLOR, G_BFU_FONT_SIZE, G_BFU_DEFAULT_FONT, 0);
+ bfu_style_bw_u = g_get_style(G_BFU_FG_COLOR, G_BFU_BG_COLOR, G_BFU_FONT_SIZE, G_BFU_DEFAULT_FONT, FF_UNDERLINE);
+ bfu_style_bw_mono = g_get_style(G_BFU_FG_COLOR, G_BFU_BG_COLOR, G_BFU_FONT_SIZE, "monospaced", 0);
+ bfu_style_wb_mono = g_get_style(G_BFU_BG_COLOR, G_BFU_FG_COLOR, G_BFU_FONT_SIZE, "monospaced", 0);
+ bfu_style_wb_mono_u = g_get_style(G_BFU_BG_COLOR, G_BFU_FG_COLOR, G_BFU_FONT_SIZE, "monospaced", FF_UNDERLINE);
+ G_DIALOG_FIELD_WIDTH = g_char_width(bfu_style_wb_mono, ' ');
+}
+
+void shutdown_bfu(void)
+{
+ if (!F) return;
+ g_free_style(bfu_style_wb);
+ g_free_style(bfu_style_wb_b);
+ g_free_style(bfu_style_bw);
+ g_free_style(bfu_style_bw_u);
+ g_free_style(bfu_style_bw_mono);
+ g_free_style(bfu_style_wb_mono);
+ g_free_style(bfu_style_wb_mono_u);
+}
+
+#else
+
+void init_bfu(void) {}
+void shutdown_bfu(void) {}
+
+#endif
+
+void iinit_bfu(void)
+{
+ G_BFU_FG_COLOR=G_DEFAULT_BFU_FG_COLOR;
+ G_BFU_BG_COLOR=G_DEFAULT_BFU_BG_COLOR;
+ G_SCROLL_BAR_AREA_COLOR=G_DEFAULT_SCROLL_BAR_AREA_COLOR;
+ G_SCROLL_BAR_BAR_COLOR=G_DEFAULT_SCROLL_BAR_BAR_COLOR;
+ G_SCROLL_BAR_FRAME_COLOR=G_DEFAULT_SCROLL_BAR_FRAME_COLOR;
+}
+
+unsigned char m_bar = 0;
+
+static unsigned select_hotkey(struct terminal *term, unsigned char *text, unsigned char *hotkey, unsigned *hotkeys, int n)
+{
+ unsigned c;
+ if (hotkey == M_BAR) return 0;
+ if (text) {
+ text = stracpy(_(text, term));
+ charset_upcase_string(&text, term->spec->charset);
+ }
+ hotkey = _(hotkey, term);
+ while (1) {
+ int i;
+ c = GET_TERM_CHAR(term, &hotkey);
+ if (!c) break;
+ c = charset_upcase(c, term->spec->charset);
+ for (i = 0; i < n; i++) if (hotkeys[i] == c) goto cont;
+ if (!text || cp_strchr(term->spec->charset, text, c)) break;
+ cont:;
+ }
+ if (text) mem_free(text);
+ return c;
+}
+
+void do_menu_selected(struct terminal *term, struct menu_item *items, void *data, int selected)
+{
+ int i;
+ struct menu *menu;
+ for (i = 0; items[i].text; i++) if (i == (MAXINT - sizeof(struct menu)) / sizeof(unsigned)) overalloc();
+ menu = mem_alloc(sizeof(struct menu) + (!i ? 0 : i - 1) * sizeof(unsigned));
+ menu->selected = selected;
+ menu->view = 0;
+ menu->ni = i;
+ menu->items = items;
+ menu->data = data;
+ for (i = 0; i < menu->ni; i++)
+ menu->hotkeys[i] = select_hotkey(term, !term->spec->braille ? items[i].text : NULL, items[i].hotkey, menu->hotkeys, i);
+#ifdef G
+ if (F) {
+ if ((unsigned)menu->ni > MAXINT / sizeof(unsigned char *)) overalloc();
+ menu->hktxt1 = mem_calloc(menu->ni * sizeof(unsigned char *));
+ menu->hktxt2 = mem_calloc(menu->ni * sizeof(unsigned char *));
+ menu->hktxt3 = mem_calloc(menu->ni * sizeof(unsigned char *));
+ for (i = 0; i < menu->ni; i++) {
+ unsigned char *txt = _(items[i].text, term);
+ unsigned char *txt2, *txt3 = txt;
+ if (items[i].hotkey != M_BAR) while (*txt3) {
+ unsigned u;
+ txt2 = txt3;
+ GET_UTF_8(txt3, u);
+ u = uni_upcase(u);
+ if (u == menu->hotkeys[i]) {
+ menu->hktxt1[i] = memacpy(txt, txt2 - txt);
+ menu->hktxt2[i] = memacpy(txt2, txt3 - txt2);
+ menu->hktxt3[i] = stracpy(txt3);
+ goto x;
+ }
+ }
+ menu->hktxt1[i] = stracpy(txt);
+ menu->hktxt2[i] = stracpy("");
+ menu->hktxt3[i] = stracpy("");
+ x:;
+ }
+ }
+#endif
+ add_window(term, menu_func, menu);
+}
+
+void do_menu(struct terminal *term, struct menu_item *items, void *data)
+{
+ do_menu_selected(term, items, data, 0);
+}
+
+static void select_menu(struct terminal *term, struct menu *menu)
+{
+ struct menu_item *it;
+ void (*func)(struct terminal *, void *, void *);
+ void *data1;
+ void *data2;
+ if (menu->selected < 0 || menu->selected >= menu->ni) return;
+ it = &menu->items[menu->selected];
+ func = it->func;
+ data1 = it->data;
+ data2 = menu->data;
+ if (it->hotkey == M_BAR) return;
+ if (!it->in_m) {
+ struct window *win, *win1;
+ for (win = term->windows.next; (void *)win != &term->windows && (win->handler == menu_func || win->handler == mainmenu_func); win1 = win->next, delete_window(win), win = win1)
+ ;
+ }
+ func(term, data1, data2);
+}
+
+static void count_menu_size(struct terminal *term, struct menu *menu)
+{
+ int sx = term->x;
+ int sy = term->y;
+ int mx = gf_val(4, 2 * (G_MENU_LEFT_BORDER + G_MENU_LEFT_INNER_BORDER));
+ int my;
+ for (my = 0; my < menu->ni; my++) {
+ int s = txtlen(term, _(menu->items[my].text, term)) + txtlen(term, _(menu->items[my].rtext, term)) + gf_val(MENU_HOTKEY_SPACE, G_MENU_HOTKEY_SPACE) * (_(menu->items[my].rtext, term)[0] != 0) + gf_val(4, 2 * (G_MENU_LEFT_BORDER + G_MENU_LEFT_INNER_BORDER));
+ if (s > mx) mx = s;
+ }
+ my = gf_val(my, my * G_BFU_FONT_SIZE);
+ my += gf_val(2, 2 * G_MENU_TOP_BORDER);
+ if (mx > sx) mx = sx;
+ if (my > sy) my = sy;
+#ifdef G
+ if (F) {
+ my -= 2 * G_MENU_TOP_BORDER;
+ my -= my % G_BFU_FONT_SIZE;
+ my += 2 * G_MENU_TOP_BORDER;
+ }
+#endif
+ menu->nview = gf_val(my - 2, (my - 2 * G_MENU_TOP_BORDER) / G_BFU_FONT_SIZE);
+ menu->xw = mx;
+ menu->yw = my;
+ if ((menu->x = menu->xp) < 0) menu->x = 0;
+ if ((menu->y = menu->yp) < 0) menu->y = 0;
+ if (menu->x + mx > sx) menu->x = sx - mx;
+ if (menu->y + my > sy) menu->y = sy - my;
+ if (term->spec->braille) {
+ menu->x = -1;
+ menu->y = -1;
+ menu->xw = term->x + 2;
+ menu->yw = term->y + 2;
+ menu->nview = term->y;
+ }
+#ifdef G
+ if (F) set_window_pos(menu->win, menu->x, menu->y, menu->x + menu->xw, menu->y + menu->yw);
+#endif
+}
+
+static void scroll_menu(struct menu *menu, int d)
+{
+ int c = 0;
+ int w = menu->nview;
+ int scr_i = SCROLL_ITEMS > (w-1)/2 ? (w-1)/2 : SCROLL_ITEMS;
+ if (scr_i < 0) scr_i = 0;
+ if (w < 0) w = 0;
+ menu->selected += d;
+ while (1) {
+ if (c++ > menu->ni) {
+ menu->selected = -1;
+ menu->view = 0;
+ return;
+ }
+ if (menu->selected < 0) menu->selected = 0;
+ if (menu->selected >= menu->ni) menu->selected = menu->ni - 1;
+ if (menu->ni && menu->items[menu->selected].hotkey != M_BAR) break;
+ menu->selected += d;
+ }
+ if (menu->selected < menu->view + scr_i) menu->view = menu->selected - scr_i;
+ if (menu->selected >= menu->view + w - scr_i - 1) menu->view = menu->selected - w + scr_i + 1;
+ if (menu->view > menu->ni - w) menu->view = menu->ni - w;
+ if (menu->view < 0) menu->view = 0;
+}
+
+static void display_menu_txt(struct terminal *term, struct menu *menu)
+{
+ int p, s;
+ int setc = 0;
+ fill_area(term, menu->x+1, menu->y+1, menu->xw-2, menu->yw-2, ' ', COLOR_MENU_TEXT);
+ draw_frame(term, menu->x, menu->y, menu->xw, menu->yw, COLOR_MENU_FRAME, 1);
+ set_window_ptr(menu->win, menu->x, menu->y);
+ for (p = menu->view, s = menu->y + 1; p < menu->ni && p < menu->view + menu->yw - 2; p++, s++) {
+ int x;
+ int h = 0;
+ unsigned c;
+ unsigned char *tmptext = _(menu->items[p].text, term);
+ int co = p == menu->selected ? h = 1, COLOR_MENU_SELECTED : COLOR_MENU_TEXT;
+ if (h) {
+ setc = 1;
+ set_cursor(term, menu->x + 1 + !!term->spec->braille, s, term->x - 1, term->y - 1);
+ /*set_window_ptr(menu->win, menu->x+3, s+1);*/
+ set_window_ptr(menu->win, menu->x+menu->xw, s);
+ fill_area(term, menu->x+1, s, menu->xw-2, 1, ' ', co);
+ }
+ if (term->spec->braille) h = 1;
+ if (menu->items[p].hotkey != M_BAR || (tmptext[0])) {
+ unsigned char *rt = _(menu->items[p].rtext, term);
+ int l = ttxtlen(term, rt);
+ for (x = 0;; x++) {
+ c = GET_TERM_CHAR(term, &rt);
+ if (!c) break;
+ if (!term->spec->braille) {
+ if (menu->xw - 4 >= l - x)
+ set_char(term, menu->x + menu->xw - 2 - l + x, s, c, co);
+ } else {
+ set_char(term, menu->x + ttxtlen(term, tmptext) + 4 + x + 2, s, c, COLOR_MENU_HOTKEY);
+ }
+ }
+ for (x = 0; x < menu->xw - 4; x++) {
+ c = GET_TERM_CHAR(term, &tmptext);
+ if (!c) break;
+ set_char(term, menu->x + x + 2 + 2 * !!term->spec->braille, s, c, !h && charset_upcase(c, term->spec->charset) == menu->hotkeys[p] ? h = 1, COLOR_MENU_HOTKEY : co);
+ }
+ if (term->spec->braille && menu->hotkeys[p]) {
+ set_char(term, menu->x + 2, s, menu->hotkeys[p], COLOR_MENU_HOTKEY);
+ }
+ } else {
+ set_char(term, menu->x, s, 0xc3, COLOR_MENU_FRAME | ATTR_FRAME);
+ fill_area(term, menu->x+1, s, menu->xw-2, 1, 0xc4, COLOR_MENU_FRAME | ATTR_FRAME);
+ set_char(term, menu->x+menu->xw-1, s, 0xb4, COLOR_MENU_FRAME | ATTR_FRAME);
+ }
+ }
+ if (!setc && term->spec->braille) {
+ set_cursor(term, menu->x + 1, menu->y + 1, term->x - 1, term->y - 1);
+ }
+}
+
+static int menu_oldview = -1;
+static int menu_oldsel = -1;
+
+#ifdef G
+
+static int menu_ptr_set;
+
+static void display_menu_item_gfx(struct terminal *term, struct menu *menu, int it)
+{
+ struct menu_item *item = &menu->items[it];
+ struct graphics_device *dev = term->dev;
+ int y;
+ if (it < menu->view || it >= menu->ni || it >= menu->view + menu->nview) return;
+ y = menu->y + G_MENU_TOP_BORDER + (it - menu->view) * G_BFU_FONT_SIZE;
+ if (item->hotkey == M_BAR && !_(item->text, term)[0]) {
+ drv->fill_area(dev, menu->x + (G_MENU_LEFT_BORDER - 1) / 2 + 1, y, menu->x + menu->xw - (G_MENU_LEFT_BORDER + 1) / 2, y + (G_BFU_FONT_SIZE - 1) / 2, bfu_bg_color);
+ drv->draw_hline(dev, menu->x + (G_MENU_LEFT_BORDER - 1) / 2 + 1, y + (G_BFU_FONT_SIZE - 1) / 2, menu->x + menu->xw - G_MENU_LEFT_BORDER / 2, bfu_fg_color);
+ drv->fill_area(dev, menu->x + (G_MENU_LEFT_BORDER - 1) / 2 + 1, y + (G_BFU_FONT_SIZE - 1) / 2 + 1, menu->x + menu->xw - (G_MENU_LEFT_BORDER + 1) / 2, y + G_BFU_FONT_SIZE, bfu_bg_color);
+ } else {
+ int p;
+ struct rect r;
+ unsigned char *rtext = _(item->rtext, term);
+ if (it != menu->selected) {
+ drv->fill_area(dev, menu->x + (G_MENU_LEFT_BORDER - 1) / 2 + 1, y, menu->x + G_MENU_LEFT_BORDER + G_MENU_LEFT_INNER_BORDER, y + G_BFU_FONT_SIZE, bfu_bg_color);
+ } else {
+ menu->xl1 = menu->x;
+ menu->yl1 = y;
+ menu->xl2 = menu->x + menu->xw;
+ menu->yl2 = y + G_BFU_FONT_SIZE;
+ menu_ptr_set = 1;
+ set_window_ptr(menu->win, menu->x + menu->xw, y);
+ drv->fill_area(dev, menu->x + (G_MENU_LEFT_BORDER - 1) / 2 + 1, y, menu->x + G_MENU_LEFT_BORDER, y + G_BFU_FONT_SIZE, bfu_bg_color);
+ drv->fill_area(dev, menu->x + menu->xw - G_MENU_LEFT_BORDER, y, menu->x + menu->xw - (G_MENU_LEFT_BORDER + 1) / 2, y + G_BFU_FONT_SIZE, bfu_bg_color);
+ drv->fill_area(dev, menu->x + G_MENU_LEFT_BORDER, y, menu->x + G_MENU_LEFT_BORDER + G_MENU_LEFT_INNER_BORDER, y + G_BFU_FONT_SIZE, bfu_fg_color);
+ }
+ restrict_clip_area(dev, &r, menu->x + G_MENU_LEFT_BORDER + G_MENU_LEFT_INNER_BORDER, y, menu->x + menu->xw - G_MENU_LEFT_BORDER - G_MENU_LEFT_INNER_BORDER, y + G_BFU_FONT_SIZE);
+ if (it == menu->selected) {
+ p = menu->x + G_MENU_LEFT_BORDER + G_MENU_LEFT_INNER_BORDER;
+ g_print_text(drv, dev, p, y, bfu_style_wb, menu->hktxt1[it], &p);
+ g_print_text(drv, dev, p, y, bfu_style_wb, menu->hktxt2[it], &p);
+ g_print_text(drv, dev, p, y, bfu_style_wb, menu->hktxt3[it], &p);
+ } else {
+ p = menu->x + G_MENU_LEFT_BORDER + G_MENU_LEFT_INNER_BORDER;
+ g_print_text(drv, dev, p, y, bfu_style_bw, menu->hktxt1[it], &p);
+ g_print_text(drv, dev, p, y, bfu_style_bw_u, menu->hktxt2[it], &p);
+ g_print_text(drv, dev, p, y, bfu_style_bw, menu->hktxt3[it], &p);
+ }
+ if (!*rtext) {
+ drv->set_clip_area(dev, &r);
+ if (p > menu->x + menu->xw - G_MENU_LEFT_BORDER - G_MENU_LEFT_INNER_BORDER) p = menu->x + menu->xw - G_MENU_LEFT_BORDER - G_MENU_LEFT_INNER_BORDER;
+ if (it != menu->selected)
+ drv->fill_area(dev, p, y, menu->x + menu->xw - (G_MENU_LEFT_BORDER + 1) / 2, y + G_BFU_FONT_SIZE, bfu_bg_color);
+ else
+ drv->fill_area(dev, p, y, menu->x + menu->xw - G_MENU_LEFT_BORDER, y + G_BFU_FONT_SIZE, bfu_fg_color);
+ } else {
+ int s = menu->x + menu->xw - G_MENU_LEFT_BORDER - G_MENU_LEFT_INNER_BORDER - g_text_width(bfu_style_wb, rtext);
+ if (s < p) s = p;
+ drv->fill_area(dev, p, y, s, y + G_BFU_FONT_SIZE, it != menu->selected ? bfu_bg_color : bfu_fg_color);
+ g_print_text(drv, dev, s, y, it != menu->selected ? bfu_style_bw : bfu_style_wb, rtext, NULL);
+ drv->set_clip_area(dev, &r);
+ if (it != menu->selected)
+ drv->fill_area(dev, menu->x + menu->xw - G_MENU_LEFT_BORDER - G_MENU_LEFT_INNER_BORDER, y, menu->x + menu->xw - (G_MENU_LEFT_BORDER + 1) / 2, y + G_BFU_FONT_SIZE, bfu_bg_color);
+ else
+ drv->fill_area(dev, menu->x + menu->xw - G_MENU_LEFT_BORDER - G_MENU_LEFT_INNER_BORDER, y, menu->x + menu->xw - G_MENU_LEFT_BORDER, y + G_BFU_FONT_SIZE, bfu_fg_color);
+ }
+ }
+}
+
+static void display_menu_gfx(struct terminal *term, struct menu *menu)
+{
+ int p;
+ struct graphics_device *dev = term->dev;
+ if (menu_oldview == menu->view) {
+ if (menu_oldsel >= 0 && menu_oldsel < menu->ni && menu_oldsel < menu->view + menu->nview) display_menu_item_gfx(term, menu, menu_oldsel);
+ if (menu->selected >= 0 && menu->selected < menu->ni && menu->selected < menu->view + menu->nview) display_menu_item_gfx(term, menu, menu->selected);
+ return;
+ }
+#define PX1 (menu->x + (G_MENU_LEFT_BORDER - 1) / 2)
+#define PX2 (menu->x + menu->xw - (G_MENU_LEFT_BORDER + 1) / 2)
+#define PY1 (menu->y + (G_MENU_TOP_BORDER - 1) / 2)
+#define PY2 (menu->y + menu->yw - (G_MENU_TOP_BORDER + 1) / 2)
+ drv->fill_area(dev, menu->x, menu->y, menu->x + menu->xw, PY1, bfu_bg_color);
+ drv->fill_area(dev, menu->x, PY1, PX1, PY2 + 1, bfu_bg_color);
+ drv->fill_area(dev, PX2 + 1, PY1, menu->x + menu->xw, PY2 + 1, bfu_bg_color);
+ drv->fill_area(dev, menu->x, PY2 + 1, menu->x + menu->xw, menu->y + menu->yw, bfu_bg_color);
+ drv->draw_hline(dev, PX1, PY1, PX2 + 1, bfu_fg_color);
+ drv->draw_hline(dev, PX1, PY2, PX2 + 1, bfu_fg_color);
+ drv->draw_vline(dev, PX1, PY1 + 1, PY2, bfu_fg_color);
+ drv->draw_vline(dev, PX2, PY1 + 1, PY2, bfu_fg_color);
+ drv->fill_area(dev, PX1 + 1, PY1 + 1, PX2, menu->y + G_MENU_TOP_BORDER, bfu_bg_color);
+ drv->fill_area(dev, PX1 + 1, menu->y + menu->yw - G_MENU_TOP_BORDER, PX2, PY2, bfu_bg_color);
+ menu->xl1 = menu->yl1 = menu->xl2 = menu->yl2 = 0;
+ menu_ptr_set = 0;
+ for (p = menu->view; p < menu->ni && p < menu->view + menu->nview; p++) display_menu_item_gfx(term, menu, p);
+ if (!menu_ptr_set) set_window_ptr(menu->win, menu->x, menu->y);
+}
+
+#endif
+
+static void menu_func(struct window *win, struct event *ev, int fwd)
+{
+ int s = 0;
+ int xp, yp;
+ struct menu *menu = win->data;
+ struct window *w1;
+ menu->win = win;
+ switch ((int)ev->ev) {
+ case EV_INIT:
+ case EV_RESIZE:
+ get_parent_ptr(win, &menu->xp, &menu->yp);
+ count_menu_size(win->term, menu);
+ goto xxx;
+ case EV_REDRAW:
+ get_parent_ptr(win, &xp, &yp);
+ if (xp != menu->xp || yp != menu->yp) {
+ menu->xp = xp;
+ menu->yp = yp;
+ count_menu_size(win->term, menu);
+ }
+ xxx:
+ menu->selected--;
+ scroll_menu(menu, 1);
+ draw_to_window(win, (void (*)(struct terminal *, void *))gf_val(display_menu_txt, display_menu_gfx), menu);
+ break;
+ case EV_MOUSE:
+ if ((ev->b & BM_ACT) == B_MOVE) break;
+ if (ev->x < menu->x || ev->x >= menu->x+menu->xw || ev->y < menu->y || ev->y >= menu->y+menu->yw) {
+ int f = 1;
+ for (w1 = win; (void *)w1 != &win->term->windows; w1 = w1->next) {
+ struct menu *m1;
+ if (w1->handler == mainmenu_func) {
+#ifdef G
+ struct mainmenu *m2 = w1->data;
+ if (F && !f && ev->x >= m2->xl1 && ev->x < m2->xl2 && ev->y >= m2->yl1 && ev->y < m2->yl2) goto bbb;
+#endif
+ if (ev->y < gf_val(1, G_BFU_FONT_SIZE)) {
+ del:delete_window_ev(win, ev);
+ goto bbb;
+ }
+ break;
+ }
+ if (w1->handler != menu_func) break;
+ m1 = w1->data;
+#ifdef G
+ if (F && !f && ev->x >= m1->xl1 && ev->x < m1->xl2 && ev->y >= m1->yl1 && ev->y < m1->yl2) goto bbb;
+#endif
+ if (ev->x > m1->x && ev->x < m1->x+m1->xw-1 && ev->y > m1->y && ev->y < m1->y+m1->yw-1) goto del;
+ f--;
+ }
+ if ((ev->b & BM_ACT) == B_DOWN) goto del;
+ bbb:;
+ } else {
+ if (!(ev->x < menu->x || ev->x >= menu->x+menu->xw || ev->y < menu->y + gf_val(1, G_MENU_TOP_BORDER) || ev->y >= menu->y + menu->yw - gf_val(1, G_MENU_TOP_BORDER))) {
+ int s = gf_val(ev->y - menu->y-1 + menu->view, (ev->y - menu->y - G_MENU_TOP_BORDER) / G_BFU_FONT_SIZE + menu->view);
+ if (s >= 0 && s < menu->ni && menu->items[s].hotkey != M_BAR) {
+ menu_oldview = menu->view;
+ menu_oldsel = menu->selected;
+ menu->selected = s;
+ scroll_menu(menu, 0);
+ draw_to_window(win, (void (*)(struct terminal *, void *))gf_val(display_menu_txt, display_menu_gfx), menu);
+ menu_oldview = menu_oldsel = -1;
+ if ((ev->b & BM_ACT) == B_UP/* || menu->items[s].in_m*/) select_menu(win->term, menu);
+ }
+ }
+ }
+ break;
+ case EV_KBD:
+ if (ev->x == KBD_LEFT || ev->x == KBD_RIGHT) {
+ if ((void *)win->next != &win->term->windows && win->next->handler == mainmenu_func) goto mm;
+ /*for (w1 = win; (void *)w1 != &win->term->windows; w1 = w1->next) {
+ if (w1->handler == mainmenu_func) goto mm;
+ if (w1->handler != menu_func) break;
+ }*/
+ if (ev->x == KBD_RIGHT) goto enter;
+ delete_window(win);
+ break;
+ }
+ if ((ev->x >= KBD_F1 && ev->x <= KBD_F12) || ev->y & KBD_ALT) {
+ mm:
+ delete_window_ev(win, ev);
+ break;
+ }
+ if (ev->x == KBD_ESC) {
+ delete_window_ev(win, (void *)win->next != &win->term->windows && win->next->handler == mainmenu_func ? ev : NULL);
+ break;
+ }
+ menu_oldview = menu->view;
+ menu_oldsel = menu->selected;
+ if (ev->x == KBD_UP) scroll_menu(menu, -1);
+ else if (ev->x == KBD_DOWN) scroll_menu(menu, 1);
+ else if (ev->x == KBD_HOME || (upcase(ev->x) == 'A' && ev->y & KBD_CTRL)) menu->selected = -1, scroll_menu(menu, 1);
+ else if (ev->x == KBD_END || (upcase(ev->x) == 'E' && ev->y & KBD_CTRL)) menu->selected = menu->ni, scroll_menu(menu, -1);
+ else if (ev->x == KBD_PAGE_UP || (upcase(ev->x) == 'B' && ev->y & KBD_CTRL)) {
+ if ((menu->selected -= menu->yw / gf_val(1, G_BFU_FONT_SIZE) - 3) < -1) menu->selected = -1;
+ if ((menu->view -= menu->yw / gf_val(1, G_BFU_FONT_SIZE) - 2) < 0) menu->view = 0;
+ scroll_menu(menu, -1);
+ }
+ else if (ev->x == KBD_PAGE_DOWN || (upcase(ev->x) == 'F' && ev->y & KBD_CTRL)) {
+ if ((menu->selected += menu->yw / gf_val(1, G_BFU_FONT_SIZE) - 3) > menu->ni) menu->selected = menu->ni;
+ if ((menu->view += menu->yw / gf_val(1, G_BFU_FONT_SIZE) - 2) >= menu->ni - menu->yw + 2) menu->view = menu->ni - menu->yw + 2;
+ scroll_menu(menu, 1);
+ }
+ else if (ev->x > ' ') {
+ int i;
+ for (i = 0; i < menu->ni; i++) {
+ if (charset_upcase(ev->x, win->term->spec->charset) == menu->hotkeys[i]) {
+ menu->selected = i;
+ scroll_menu(menu, 0);
+ s = 1;
+ }
+ }
+ }
+ draw_to_window(win, (void (*)(struct terminal *, void *))gf_val(display_menu_txt, display_menu_gfx), menu);
+ if (s || ev->x == KBD_ENTER || ev->x == ' ') {
+ enter:
+ menu_oldview = menu_oldsel = -1;
+ select_menu(win->term, menu);
+ }
+ menu_oldview = menu_oldsel = -1;
+ break;
+ case EV_ABORT:
+#ifdef G
+ if (F) {
+ int i;
+ for (i = 0; i < menu->ni; i++) {
+ mem_free(menu->hktxt1[i]);
+ mem_free(menu->hktxt2[i]);
+ mem_free(menu->hktxt3[i]);
+ }
+ mem_free(menu->hktxt1);
+ mem_free(menu->hktxt2);
+ mem_free(menu->hktxt3);
+ }
+#endif
+ if (menu->items->free_i) {
+ int i;
+ for (i = 0; i < menu->ni; i++) {
+ if (menu->items[i].free_i & 2) mem_free(menu->items[i].text);
+ if (menu->items[i].free_i & 4) mem_free(menu->items[i].rtext);
+ }
+ mem_free(menu->items);
+ }
+ break;
+ }
+}
+
+void do_mainmenu(struct terminal *term, struct menu_item *items, void *data, int sel)
+{
+ int i;
+ struct mainmenu *menu;
+ for (i = 0; items[i].text; i++) if (i == (MAXINT - sizeof(struct mainmenu)) / sizeof(unsigned)) overalloc();
+ menu = mem_alloc(sizeof(struct mainmenu) + (!i ? 0 : i - 1) * sizeof(unsigned));
+ menu->selected = sel == -1 ? 0 : sel;
+ menu->ni = i;
+ menu->items = items;
+ menu->data = data;
+ for (i = 0; i < menu->ni; i++)
+ menu->hotkeys[i] = select_hotkey(term, NULL, items[i].hotkey, menu->hotkeys, i);
+ add_window(term, mainmenu_func, menu);
+ if (sel != -1) {
+ /* volatile is workaround for some weird bug in icc or linker,
+ it results in unaligned sse load */
+ volatile struct event ev = {EV_KBD, KBD_ENTER, 0, 0};
+ struct window *win = term->windows.next;
+ win->handler(win, (struct event *)&ev, 0);
+ }
+}
+
+static void display_mainmenu(struct terminal *term, struct mainmenu *menu)
+{
+ if (!F) {
+ int i;
+ int p = 2;
+ fill_area(term, 0, 0, term->x, 1, ' ', COLOR_MAINMENU);
+ for (i = 0; i < menu->ni; i++) {
+ int s = 0;
+ unsigned c;
+ unsigned char *tmptext = _(menu->items[i].text, term);
+ int co = i == menu->selected ? s = 1, COLOR_MAINMENU_SELECTED : COLOR_MAINMENU;
+ if (i == menu->selected) {
+ fill_area(term, p, 0, 2, 1, ' ', co);
+ menu->sp = p;
+ set_cursor(term, p, 0, term->x - 1, term->y - 1);
+ set_window_ptr(menu->win, p, 1);
+ }
+ if (term->spec->braille) {
+ s = 1;
+ if (menu->hotkeys[i]) set_char(term, p, 0, menu->hotkeys[i], COLOR_MAINMENU_HOTKEY);
+ }
+ p += 2;
+ for (;; p++) {
+ c = GET_TERM_CHAR(term, &tmptext);
+ if (!c) break;
+ set_char(term, p, 0, c, !s && charset_upcase(c, term->spec->charset) == menu->hotkeys[i] ? s = 1, COLOR_MAINMENU_HOTKEY : co);
+ }
+ if (i == menu->selected) {
+ fill_area(term, p, 0, 2, 1, ' ', co);
+ }
+ p += 2;
+ }
+#ifdef G
+ } else {
+ struct graphics_device *dev = term->dev;
+ int i, p;
+ drv->fill_area(dev, 0, 0, p = G_MAINMENU_LEFT_BORDER, G_BFU_FONT_SIZE, bfu_bg_color);
+ for (i = 0; i < menu->ni; i++) {
+ int s = i == menu->selected;
+ unsigned char *text = _(menu->items[i].text, term);
+ if (s) {
+ menu->xl1 = p;
+ menu->yl1 = 0;
+ set_window_ptr(menu->win, p, G_BFU_FONT_SIZE);
+ }
+ drv->fill_area(dev, p, 0, p + G_MAINMENU_BORDER, G_BFU_FONT_SIZE, s ? bfu_fg_color : bfu_bg_color);
+ p += G_MAINMENU_BORDER;
+ g_print_text(drv, dev, p, 0, s ? bfu_style_wb : bfu_style_bw, text, &p);
+ drv->fill_area(dev, p, 0, p + G_MAINMENU_BORDER, G_BFU_FONT_SIZE, s ? bfu_fg_color : bfu_bg_color);
+ p += G_MAINMENU_BORDER;
+ if (s) {
+ menu->xl2 = p;
+ menu->yl2 = G_BFU_FONT_SIZE;
+ }
+ }
+ drv->fill_area(dev, p, 0, term->x, G_BFU_FONT_SIZE, bfu_bg_color);
+#endif
+ }
+}
+
+static void select_mainmenu(struct terminal *term, struct mainmenu *menu)
+{
+ struct menu_item *it;
+ if (menu->selected < 0 || menu->selected >= menu->ni) return;
+ it = &menu->items[menu->selected];
+ if (it->hotkey == M_BAR) return;
+ if (!it->in_m) {
+ struct window *win, *win1;
+ for (win = term->windows.next; (void *)win != &term->windows && (win->handler == menu_func || win->handler == mainmenu_func); win1 = win->next, delete_window(win), win = win1)
+ ;
+ }
+ it->func(term, it->data, menu->data);
+}
+
+static void mainmenu_func(struct window *win, struct event *ev, int fwd)
+{
+ int s = 0;
+ struct mainmenu *menu = win->data;
+ menu->win = win;
+ switch ((int)ev->ev) {
+ case EV_INIT:
+ case EV_RESIZE:
+#ifdef G
+ if (F) set_window_pos(win, 0, 0, win->term->x, G_BFU_FONT_SIZE);
+#endif
+ case EV_REDRAW:
+ draw_to_window(win, (void (*)(struct terminal *, void *))display_mainmenu, menu);
+ break;
+ case EV_MOUSE:
+ if ((ev->b & BM_ACT) == B_MOVE) break;
+ if ((ev->b & BM_ACT) == B_DOWN && ev->y >= gf_val(1, G_BFU_FONT_SIZE)) delete_window_ev(win, ev);
+ else if (ev->y < gf_val(1, G_BFU_FONT_SIZE)) {
+ int i;
+ int p = gf_val(2, G_MAINMENU_LEFT_BORDER);
+ for (i = 0; i < menu->ni; i++) {
+ int o = p;
+ unsigned char *tmptext = _(menu->items[i].text, win->term);
+ p += txtlen(win->term, tmptext) + gf_val(4, 2 * G_MAINMENU_BORDER);
+ if (ev->x >= o && ev->x < p) {
+ menu->selected = i;
+ draw_to_window(win, (void (*)(struct terminal *, void *))display_mainmenu, menu);
+ if ((ev->b & BM_ACT) == B_UP || (menu->items[s].in_m && !win->term->spec->braille)) select_mainmenu(win->term, menu);
+ break;
+ }
+ }
+ }
+ break;
+ case EV_KBD:
+ if (ev->x == ' ' || ev->x == KBD_ENTER || ev->x == KBD_DOWN || ev->x == KBD_UP || ev->x == KBD_PAGE_DOWN || (upcase(ev->x) == 'F' && ev->y & KBD_CTRL) || ev->x == KBD_PAGE_UP || (upcase(ev->x) == 'B' && ev->y & KBD_CTRL)) {
+ select_mainmenu(win->term, menu);
+ break;
+ } else if (ev->x == KBD_LEFT) {
+ if (!menu->selected--) menu->selected = menu->ni - 1;
+ s = 1;
+ if (fwd) s = 2;
+ } else if (ev->x == KBD_RIGHT) {
+ if (++menu->selected >= menu->ni) menu->selected = 0;
+ s = 1;
+ if (fwd) s = 2;
+ } else if (ev->x == KBD_HOME || (upcase(ev->x) == 'A' && ev->y & KBD_CTRL)) {
+ menu->selected = 0;
+ s = 1;
+ } else if (ev->x == KBD_END || (upcase(ev->x) == 'E' && ev->y & KBD_CTRL)) {
+ menu->selected = menu->ni - 1;
+ s = 1;
+ } else if (ev->x > ' ') {
+ int i;
+ s = 1;
+ for (i = 0; i < menu->ni; i++) {
+ if (charset_upcase(ev->x, win->term->spec->charset) == menu->hotkeys[i]) {
+ menu->selected = i;
+ s = 2;
+ }
+ }
+ }
+ if (!s) {
+ delete_window_ev(win, (ev->x >= KBD_F1 && ev->x <= KBD_F12) || ev->y & KBD_ALT ? ev : NULL);
+ break;
+ }
+ draw_to_window(win, (void (*)(struct terminal *, void *))display_mainmenu, menu);
+ if (s == 2) select_mainmenu(win->term, menu);
+ break;
+ case EV_ABORT:
+ break;
+ }
+}
+
+struct menu_item *new_menu(int free_i)
+{
+ struct menu_item *mi;
+ mi = mem_calloc(sizeof(struct menu_item));
+ mi->free_i = free_i;
+ return mi;
+}
+
+void add_to_menu(struct menu_item **mi, unsigned char *text, unsigned char *rtext, unsigned char *hotkey, void (*func)(struct terminal *, void *, void *), void *data, int in_m, int pos)
+{
+ struct menu_item *mii;
+ int n;
+ if (pos != -1) {
+ n = pos;
+ if ((*mi)[n].text) internal("invalid menu position %d", n);
+ } else {
+ for (n = 0; (*mi)[n].text; n++) if (n == MAXINT) overalloc();
+ }
+ if (((unsigned)n + 2) > MAXINT / sizeof(struct menu_item)) overalloc();
+ mii = mem_realloc(*mi, (n + 2) * sizeof(struct menu_item));
+ *mi = mii;
+ memcpy(mii + n + 1, mii + n, sizeof(struct menu_item));
+ mii[n].text = text;
+ mii[n].rtext = rtext;
+ mii[n].hotkey = hotkey;
+ mii[n].func = func;
+ mii[n].data = data;
+ mii[n].in_m = in_m;
+}
+
+void do_dialog(struct terminal *term, struct dialog *dlg, struct memory_list *ml)
+{
+ struct dialog_data *dd;
+ struct dialog_item *d;
+ int n = 0;
+ for (d = dlg->items; d->type != D_END; d++) {
+ if (n == MAXINT) overalloc();
+ n++;
+ }
+ if ((unsigned)n > (MAXINT - sizeof(struct dialog_data)) / sizeof(struct dialog_item_data)) overalloc();
+ dd = mem_calloc(sizeof(struct dialog_data) + sizeof(struct dialog_item_data) * n);
+ dd->dlg = dlg;
+ dd->n = n;
+ dd->ml = ml;
+ add_window(term, dialog_func, dd);
+}
+
+void display_dlg_item(struct dialog_data *dlg, struct dialog_item_data *di, int sel)
+{
+ struct terminal *term = dlg->win->term;
+ if (!F) switch (di->item->type) {
+ int co;
+ unsigned char *text, *t;
+ int vposlen, cposlen;
+ case D_CHECKBOX:
+ if (di->item->gid) /* radio */
+ {
+ if (di->checked) print_text(term, di->x, di->y, 3, "[X]", COLOR_DIALOG_CHECKBOX);
+ else print_text(term, di->x, di->y, 3, "[ ]", COLOR_DIALOG_CHECKBOX);
+ }
+ else /* checkbox */
+ {
+ if (di->checked) print_text(term, di->x, di->y, 3, "[X]", COLOR_DIALOG_CHECKBOX);
+ else print_text(term, di->x, di->y, 3, "[ ]", COLOR_DIALOG_CHECKBOX);
+ }
+ if (sel) {
+ set_cursor(term, di->x + 1, di->y, di->x + 1, di->y);
+ set_window_ptr(dlg->win, di->x, di->y);
+ }
+ break;
+ case D_FIELD:
+ case D_FIELD_PASS:
+ fill_area(term, di->x, di->y, di->l, 1, ' ', COLOR_DIALOG_FIELD);
+ if (di->vpos > di->cpos) di->vpos = di->cpos;
+ vposlen = ttxtlen(term, di->cdata + di->vpos);
+ cposlen = ttxtlen(term, di->cdata + di->cpos);
+ if (!di->l) {
+ di->vpos = di->cpos;
+ vposlen = cposlen;
+ } else {
+ while (vposlen - cposlen > di->l - 1) {
+ t = di->cdata + di->vpos;
+ GET_TERM_CHAR(term, &t);
+ di->vpos = t - di->cdata;
+ vposlen--;
+ }
+ }
+ if (di->item->type == D_FIELD_PASS) {
+ t = mem_alloc(vposlen + 1);
+ memset(t, '*', vposlen);
+ t[vposlen] = 0;
+ } else {
+ t = di->cdata + di->vpos;
+ }
+ print_text(term, di->x, di->y, di->l, t, COLOR_DIALOG_FIELD_TEXT);
+ if (di->item->type == D_FIELD_PASS) mem_free(t);
+ if (sel) {
+ set_cursor(term, di->x + vposlen - cposlen, di->y, di->x + vposlen - cposlen, di->y);
+ set_window_ptr(dlg->win, di->x, di->y);
+ }
+ break;
+ case D_BUTTON:
+ co = sel ? COLOR_DIALOG_BUTTON_SELECTED : COLOR_DIALOG_BUTTON;
+ text = _(di->item->text, term);
+ print_text(term, di->x, di->y, 2, "[ ", co);
+ print_text(term, di->x + 2, di->y, ttxtlen(term, text), text, co);
+ print_text(term, di->x + 2 + ttxtlen(term, text), di->y, 2, " ]", co);
+ if (sel) {
+ set_cursor(term, di->x + 2, di->y, di->x + 2, di->y);
+ set_window_ptr(dlg->win, di->x, di->y);
+ }
+ break;
+ default:
+ internal("display_dlg_item: unknown item: %d", di->item->type);
+#ifdef G
+ } else {
+ struct rect rr;
+ struct graphics_device *dev = term->dev;
+ if (!dlg->s) restrict_clip_area(dev, &rr, dlg->rr.x1, dlg->rr.y1, dlg->rr.x2, dlg->rr.y2);
+ switch (di->item->type) {
+ int p, pp;
+ struct style *st;
+ unsigned char *text, *text2, *text3, *tt, *t;
+ struct rect r;
+ case D_CHECKBOX:
+ p = di->x;
+ if (di->checked) {
+ if (!sel) g_print_text(drv, dev, di->x, di->y, bfu_style_bw, di->item->gid?(G_DIALOG_RADIO_L G_DIALOG_RADIO_X G_DIALOG_RADIO_R):(G_DIALOG_CHECKBOX_L G_DIALOG_CHECKBOX_X G_DIALOG_CHECKBOX_R), &p);
+ else {
+ g_print_text(drv, dev, di->x, di->y, bfu_style_bw, di->item->gid?G_DIALOG_RADIO_L:G_DIALOG_CHECKBOX_L, &p);
+ g_print_text(drv, dev, p, di->y, bfu_style_bw_u, di->item->gid?G_DIALOG_RADIO_X:G_DIALOG_CHECKBOX_X, &p);
+ g_print_text(drv, dev, p, di->y, bfu_style_bw, di->item->gid?G_DIALOG_RADIO_R:G_DIALOG_CHECKBOX_R, &p);
+ }
+ } else {
+ int s = g_text_width(bfu_style_bw, di->item->gid?G_DIALOG_RADIO_X:G_DIALOG_CHECKBOX_X);
+ g_print_text(drv, dev, di->x, di->y, bfu_style_bw, di->item->gid?G_DIALOG_RADIO_L:G_DIALOG_CHECKBOX_L, &p);
+ if (!sel) drv->fill_area(dev, p, di->y, p + s, di->y + G_BFU_FONT_SIZE, bfu_bg_color), p += s;
+ else {
+ restrict_clip_area(dev, &r, p, di->y, p + s, di->y + G_BFU_FONT_SIZE);
+ g_print_text(drv, dev, p, di->y, bfu_style_bw_u, " ", NULL);
+ p += s;
+ drv->set_clip_area(dev, &r);
+ }
+ g_print_text(drv, dev, p, di->y, bfu_style_bw, di->item->gid?G_DIALOG_RADIO_R:G_DIALOG_CHECKBOX_R, &p);
+ }
+ di->l = p - di->x;
+ if (sel) set_window_ptr(dlg->win, di->x, di->y + G_BFU_FONT_SIZE);
+ if (dlg->s) exclude_from_set(&dlg->s, di->x, di->y, p, di->y + G_BFU_FONT_SIZE);
+ break;
+ case D_FIELD:
+ case D_FIELD_PASS:
+ if (!(text = memacpy(di->cdata, di->cpos))) break;
+ if (*(text2 = text3 = di->cdata + di->cpos)) {
+ GET_UTF_8(text3, p);
+ text2 = memacpy(text2, text3 - text2);
+ } else {
+ text2 = stracpy(" ");
+ text3 = "";
+ }
+ if (!text2) {
+ mem_free(text);
+ break;
+ }
+ text3 = stracpy(text3);
+ if (di->item->type == D_FIELD_PASS) {
+ unsigned d;
+ for (tt = t = text; *tt; ) {
+ t = tt;
+ GET_UTF_8(tt, d);
+ *t++ = '*';
+ }
+ *t = 0;
+ if (di->cdata[di->cpos]) {
+ for (tt = t = text2; *tt; ) {
+ t = tt;
+ GET_UTF_8(tt, d);
+ *t++ = '*';
+ }
+ *t = 0;
+ for (tt = t = text3; *tt; ) {
+ t = tt;
+ GET_UTF_8(tt, d);
+ *t++ = '*';
+ }
+ *t = 0;
+ }
+ }
+ p = g_text_width(bfu_style_wb_mono, text);
+ pp = g_text_width(bfu_style_wb_mono, text2);
+ if (di->vpos + di->l < p + pp) di->vpos = p + pp - di->l;
+ if (di->vpos > p) di->vpos = p;
+ if (di->vpos < 0) di->vpos = 0;
+
+ if (dlg->s) exclude_from_set(&dlg->s, di->x, di->y, di->x + di->l, di->y + G_BFU_FONT_SIZE);
+ restrict_clip_area(dev, &r, di->x, di->y, di->x + di->l, di->y + G_BFU_FONT_SIZE);
+ p = di->x - di->vpos;
+ g_print_text(drv, dev, p, di->y, bfu_style_wb_mono, text, &p);
+ g_print_text(drv, dev, p, di->y, sel ? bfu_style_wb_mono_u : bfu_style_wb_mono, text2, &p);
+ g_print_text(drv, dev, p, di->y, bfu_style_wb_mono, text3, &p);
+ drv->fill_area(dev, p, di->y, di->x + di->l, di->y + G_BFU_FONT_SIZE, bfu_fg_color);
+ drv->set_clip_area(dev, &r);
+ mem_free(text);
+ mem_free(text2);
+ mem_free(text3);
+ if (sel) {
+ set_window_ptr(dlg->win, di->x, di->y);
+ }
+
+ break;
+ case D_BUTTON:
+ st = sel ? bfu_style_wb_b : bfu_style_bw;
+ text = _(di->item->text, term);
+ text2 = mem_alloc(strlen(text) + 5);
+ strcpy(text2, G_DIALOG_BUTTON_L);
+ strcpy(text2 + 2, text);
+ strcat(text2, G_DIALOG_BUTTON_R);
+ di->l = 0;
+ g_print_text(drv, dev, di->x, di->y, st, text2, &di->l);
+ mem_free(text2);
+ if (dlg->s) exclude_from_set(&dlg->s, di->x, di->y, di->x + di->l, di->y + G_BFU_FONT_SIZE);
+ if (sel) set_window_ptr(dlg->win, di->x, di->y + G_BFU_FONT_SIZE);
+ break;
+ default:
+ internal("display_dlg_item: unknown item: %d", di->item->type);
+ }
+ if (!dlg->s) drv->set_clip_area(dev, &rr);
+#endif
+ }
+}
+
+struct dspd {
+ struct dialog_data *dlg;
+ struct dialog_item_data *di;
+ int sel;
+};
+
+static void u_display_dlg_item(struct terminal *term, void *p)
+{
+ struct dspd *d = p;
+ display_dlg_item(d->dlg, d->di, d->sel);
+}
+
+static void x_display_dlg_item(struct dialog_data *dlg, struct dialog_item_data *di, int sel)
+{
+ struct dspd dspd;
+ dspd.dlg = dlg, dspd.di = di, dspd.sel = sel;
+ draw_to_window(dlg->win, u_display_dlg_item, &dspd);
+}
+
+static void dlg_select_item(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ if (di->item->type == D_CHECKBOX) {
+ if (!di->item->gid) di -> checked = *(int *)di->cdata = !*(int *)di->cdata;
+ else {
+ int i;
+ for (i = 0; i < dlg->n; i++) {
+ if (dlg->items[i].item->type == D_CHECKBOX && dlg->items[i].item->gid == di->item->gid) {
+ *(int *)dlg->items[i].cdata = di->item->gnum;
+ dlg->items[i].checked = 0;
+ x_display_dlg_item(dlg, &dlg->items[i], 0);
+ }
+ }
+ di->checked = 1;
+ }
+ x_display_dlg_item(dlg, di, 1);
+ }
+ else if (di->item->type == D_BUTTON) di->item->fn(dlg, di);
+}
+
+static void dlg_set_history(struct dialog_item_data *di)
+{
+ unsigned char *s = "";
+ size_t l;
+ if ((void *)di->cur_hist != &di->history) s = di->cur_hist->d;
+ if ((l = strlen(s)) >= (size_t)di->item->dlen) l = di->item->dlen - 1;
+ memcpy(di->cdata, s, l);
+ di->cdata[l] = 0;
+ di->cpos = l;
+ di->vpos = 0;
+}
+
+static int dlg_mouse(struct dialog_data *dlg, struct dialog_item_data *di, struct event *ev)
+{
+ switch (di->item->type) {
+ case D_BUTTON:
+ if (gf_val(ev->y != di->y, ev->y < di->y || ev->y >= di->y + G_BFU_FONT_SIZE) || ev->x < di->x || ev->x >= di->x + gf_val(ttxtlen(dlg->win->term, _(di->item->text, dlg->win->term)) + 4, di->l)) return 0;
+ if (dlg->selected != di - dlg->items) {
+ x_display_dlg_item(dlg, &dlg->items[dlg->selected], 0);
+ dlg->selected = di - dlg->items;
+ x_display_dlg_item(dlg, di, 1);
+ }
+ if ((ev->b & BM_ACT) == B_UP) dlg_select_item(dlg, di);
+ return 1;
+ case D_FIELD:
+ case D_FIELD_PASS:
+ if (gf_val(ev->y != di->y, ev->y < di->y || ev->y >= di->y + G_BFU_FONT_SIZE) || ev->x < di->x || ev->x >= di->x + di->l) return 0;
+ if (!is_utf_8(dlg->win->term)) {
+ if ((size_t)(di->cpos = di->vpos + ev->x - di->x) > strlen(di->cdata)) di->cpos = strlen(di->cdata);
+ } else {
+ int p, u;
+ unsigned char *t = di->cdata;
+ p = di->x - di->vpos;
+ while (1) {
+ di->cpos = t - di->cdata;
+ if (!*t) break;
+ GET_UTF_8(t, u);
+ if (!u) continue;
+ if (!F) p++;
+#ifdef G
+ else p += g_char_width(bfu_style_wb_mono, u);
+#endif
+ if (p > ev->x) break;
+ }
+ }
+ if (dlg->selected != di - dlg->items) {
+ x_display_dlg_item(dlg, &dlg->items[dlg->selected], 0);
+ dlg->selected = di - dlg->items;
+ x_display_dlg_item(dlg, di, 1);
+ } else x_display_dlg_item(dlg, di, 1);
+ return 1;
+ case D_CHECKBOX:
+ if (gf_val(ev->y != di->y, ev->y < di->y || ev->y >= di->y + G_BFU_FONT_SIZE) || ev->x < di->x || ev->x >= di->x + gf_val(3, di->l)) return 0;
+ if (dlg->selected != di - dlg->items) {
+ x_display_dlg_item(dlg, &dlg->items[dlg->selected], 0);
+ dlg->selected = di - dlg->items;
+ x_display_dlg_item(dlg, di, 1);
+ }
+ if ((ev->b & BM_ACT) == B_UP) dlg_select_item(dlg, di);
+ return 1;
+ }
+ return 0;
+}
+
+static void redraw_dialog_items(struct terminal *term, struct dialog_data *dlg)
+{
+ int i;
+ for (i = 0; i < dlg->n; i++) display_dlg_item(dlg, &dlg->items[i], i == dlg->selected);
+}
+
+static int dlg_is_braille_moving(struct dialog_data *dlg)
+{
+ return dlg->win->term->spec->braille && (dlg->dlg->fn == msg_box_fn || dlg->dlg->fn == download_window_function);
+}
+
+static void redraw_dialog(struct terminal *term, struct dialog_data *dlg)
+{
+#ifdef G
+ int i;
+#endif
+ dlg->dlg->fn(dlg);
+ redraw_dialog_items(term, dlg);
+ if (dlg_is_braille_moving(dlg)) {
+ if (dlg->brl_y < dlg->items[0].y - 3)
+ set_cursor(term, dlg->x + 6, dlg->y + 3 + dlg->brl_y, dlg->x + 6, dlg->y + 3 + dlg->brl_y);
+ }
+#ifdef G
+ if (F) {
+ drv->set_clip_area(term->dev, &dlg->r);
+ for (i = 0; i < dlg->s->m; i++) if (is_rect_valid(&dlg->s->r[i]))
+ drv->fill_area(term->dev, dlg->s->r[i].x1, dlg->s->r[i].y1, dlg->s->r[i].x2, dlg->s->r[i].y2, bfu_bg_color);
+ mem_free(dlg->s);
+ dlg->s = NULL;
+ }
+#endif
+}
+
+static void tab_compl(struct terminal *term, unsigned char *item, struct window *win)
+{
+ struct event ev = {EV_REDRAW, 0, 0, 0};
+ struct dialog_item_data *di = &((struct dialog_data*)win->data)->items[((struct dialog_data*)win->data)->selected];
+ size_t l = strlen(item);
+ if (l >= (size_t)di->item->dlen) l = di->item->dlen - 1;
+ memcpy(di->cdata, item, l);
+ di->cdata[l] = 0;
+ di->cpos = l;
+ di->vpos = 0;
+ ev.x = term->x;
+ ev.y = term->y;
+ dialog_func(win, &ev, 0);
+}
+
+static void do_tab_compl(struct terminal *term, struct list_head *history, struct window *win)
+{
+ unsigned char *cdata = ((struct dialog_data*)win->data)->items[((struct dialog_data*)win->data)->selected].cdata;
+ int l = strlen(cdata), n = 0;
+ struct history_item *hi;
+ struct menu_item *items = DUMMY;
+ foreach(hi, *history) if (!strncmp(cdata, hi->d, l)) {
+ if (!(n & (ALLOC_GR - 1))) {
+ if ((unsigned)n > MAXINT / sizeof(struct menu_item) - ALLOC_GR - 1) overalloc();
+ items = mem_realloc(items, (n + ALLOC_GR + 1) * sizeof(struct menu_item));
+ }
+ items[n].text = hi->d;
+ items[n].rtext = "";
+ items[n].hotkey = "";
+ items[n].func = (void(*)(struct terminal *, void *, void *))tab_compl;
+ items[n].rtext = "";
+ items[n].data = hi->d;
+ items[n].in_m = 0;
+ items[n].free_i = 1;
+ if (n == MAXINT) overalloc();
+ n++;
+ }
+ if (n == 1) {
+ tab_compl(term, items->data, win);
+ mem_free(items);
+ return;
+ }
+ if (n) {
+ memset(&items[n], 0, sizeof(struct menu_item));
+ do_menu_selected(term, items, win, n - 1);
+ }
+}
+
+void dialog_func(struct window *win, struct event *ev, int fwd)
+{
+ int i;
+ struct terminal *term = win->term;
+ struct dialog_data *dlg = win->data;
+ struct dialog_item_data *di;
+
+ dlg->win = win;
+
+ /* Use nonstandard event handlers */
+ if (dlg->dlg->handle_event && ((dlg->dlg->handle_event)(dlg, ev) == EVENT_PROCESSED) ) {
+ return;
+ }
+
+ switch ((int)ev->ev) {
+ case EV_INIT:
+ for (i = 0; i < dlg->n; i++) {
+ /* volatile because of a compiler bug */
+ struct dialog_item_data * volatile di = &dlg->items[i];
+ memset(di, 0, sizeof(struct dialog_item_data));
+ di->item = &dlg->dlg->items[i];
+ di->cdata = mem_alloc(di->item->dlen);
+ memcpy(di->cdata, di->item->data, di->item->dlen);
+ if (di->item->type == D_CHECKBOX) {
+ if (di->item->gid) {
+ if (*(int *)di->cdata == di->item->gnum) di->checked = 1;
+ } else if (*(int *)di->cdata) di->checked = 1;
+ }
+ init_list(di->history);
+ di->cur_hist = (struct history_item *)(void *)&di->history;
+ if (di->item->type == D_FIELD || di->item->type == D_FIELD_PASS) {
+ if (di->item->history) {
+ struct history_item *j;
+ foreach(j, di->item->history->items) {
+ struct history_item *hi;
+ hi = mem_alloc(sizeof(struct history_item) + strlen(j->d) + 1);
+ strcpy(hi->d, j->d);
+ add_to_list(di->history, hi);
+ }
+ }
+ di->cpos = strlen(di->cdata);
+ }
+ }
+ dlg->selected = 0;
+ case EV_RESIZE:
+ /* this must be really called twice !!! */
+ draw_to_window(dlg->win, (void (*)(struct terminal *, void *))redraw_dialog, dlg);
+ case EV_REDRAW:
+ redraw:
+ draw_to_window(dlg->win, (void (*)(struct terminal *, void *))redraw_dialog, dlg);
+ break;
+ case EV_MOUSE:
+ if ((ev->b & BM_ACT) == B_MOVE) break;
+ for (i = 0; i < dlg->n; i++) if (dlg_mouse(dlg, &dlg->items[i], ev)) break;
+ if ((ev->b & BM_ACT) == B_DOWN && (ev->b & BM_BUTT) == B_MIDDLE) {
+ di = &dlg->items[dlg->selected]; /* don't delete this!!! it's here because of jump from mouse event */
+ if (di->item->type == D_FIELD || di->item->type == D_FIELD_PASS) goto clipbd_paste;
+ }
+ break;
+ case EV_KBD:
+ if (ev->x == KBD_UP && dlg_is_braille_moving(dlg)) {
+ if (dlg->brl_y) dlg->brl_y--;
+ goto redraw;
+ }
+ if (ev->x == KBD_DOWN && dlg_is_braille_moving(dlg)) {
+ if (dlg->brl_y < dlg->items[0].y - 3) dlg->brl_y++;
+ goto redraw;
+ }
+ if ((ev->x == KBD_HOME || (upcase(ev->x) == 'A' && ev->y & KBD_CTRL) || ev->x == KBD_PAGE_UP || (upcase(ev->x) == 'B' && ev->y & KBD_CTRL)) && dlg_is_braille_moving(dlg)) {
+ dlg->brl_y = 0;
+ goto redraw;
+ }
+ if ((ev->x == KBD_END || (upcase(ev->x) == 'E' && ev->y & KBD_CTRL)) && dlg_is_braille_moving(dlg)) {
+ dlg->brl_y = dlg->items[0].y - 4;
+ goto redraw;
+ }
+ if ((ev->x == KBD_PAGE_DOWN || (upcase(ev->x) == 'F' && ev->y & KBD_CTRL)) && dlg_is_braille_moving(dlg)) {
+ dlg->brl_y = dlg->items[0].y - 3;
+ goto redraw;
+ }
+ di = &dlg->items[dlg->selected];
+ if (di->item->type == D_FIELD || di->item->type == D_FIELD_PASS) {
+ if (ev->x == KBD_UP && (void *)di->cur_hist->prev != &di->history) {
+ di->cur_hist = di->cur_hist->prev;
+ dlg_set_history(di);
+ goto dsp_f;
+ }
+ if (ev->x == KBD_DOWN && (void *)di->cur_hist != &di->history) {
+ di->cur_hist = di->cur_hist->next;
+ dlg_set_history(di);
+ goto dsp_f;
+ }
+ if (ev->x == KBD_RIGHT) {
+ if ((size_t)di->cpos < strlen(di->cdata)) {
+ if (!is_utf_8(term)) di->cpos++;
+ else {
+ int u;
+ unsigned char *p = di->cdata + di->cpos;
+ GET_UTF_8(p, u);
+ di->cpos = p - di->cdata;
+ }
+ }
+ goto dsp_f;
+ }
+ if (ev->x == KBD_LEFT) {
+ if (di->cpos > 0) {
+ if (!is_utf_8(term)) di->cpos--;
+ else {
+ unsigned char *p = di->cdata + di->cpos;
+ BACK_UTF_8(p, di->cdata);
+ di->cpos = p - di->cdata;
+ }
+ }
+ goto dsp_f;
+ }
+ if (ev->x == KBD_HOME || (upcase(ev->x) == 'A' && ev->y & KBD_CTRL)) {
+ di->cpos = 0;
+ goto dsp_f;
+ }
+ if (ev->x == KBD_END || (upcase(ev->x) == 'E' && ev->y & KBD_CTRL)) {
+ di->cpos = strlen(di->cdata);
+ goto dsp_f;
+ }
+ if (ev->x >= ' ' && !(ev->y & (KBD_CTRL | KBD_ALT))) {
+ unsigned char *u;
+ unsigned char p[2] = { 0, 0 };
+ if (!is_utf_8(term)) {
+ p[0] = ev->x, u = p;
+ } else {
+ u = encode_utf_8(ev->x);
+ }
+ if (strlen(di->cdata) + strlen(u) < (size_t)di->item->dlen) {
+ memmove(di->cdata + di->cpos + strlen(u), di->cdata + di->cpos, strlen(di->cdata) - di->cpos + 1);
+ memcpy(&di->cdata[di->cpos], u, strlen(u));
+ di->cpos += strlen(u);
+ }
+ goto dsp_f;
+ }
+ if (ev->x == KBD_BS) {
+ if (di->cpos) {
+ int s = 1;
+ if (is_utf_8(term)) {
+ unsigned u;
+ unsigned char *p, *pp;
+ p = di->cdata;
+ a:
+ pp = p;
+ GET_UTF_8(p, u);
+ if (p < di->cdata + di->cpos) goto a;
+ s = p - pp;
+ }
+ memmove(di->cdata + di->cpos - s, di->cdata + di->cpos, strlen(di->cdata) - di->cpos + s);
+ di->cpos -= s;
+ }
+ goto dsp_f;
+ }
+ if (ev->x == KBD_DEL || (upcase(ev->x) == 'D' && ev->y & KBD_CTRL)) {
+ if ((size_t)di->cpos < strlen(di->cdata)) {
+ int s = 1;
+ if (is_utf_8(term)) {
+ unsigned u;
+ unsigned char *p = di->cdata + di->cpos;
+ GET_UTF_8(p, u);
+ s = p - (di->cdata + di->cpos);
+ }
+ memmove(di->cdata + di->cpos, di->cdata + di->cpos + s, strlen(di->cdata) - di->cpos + s);
+ }
+ goto dsp_f;
+ }
+ if (upcase(ev->x) == 'U' && ev->y & KBD_CTRL) {
+ unsigned char *a = memacpy(di->cdata, di->cpos);
+ if (a) {
+ set_clipboard_text(term, a);
+ mem_free(a);
+ }
+ memmove(di->cdata, di->cdata + di->cpos, strlen(di->cdata + di->cpos) + 1);
+ di->cpos = 0;
+ goto dsp_f;
+ }
+ if (upcase(ev->x) == 'K' && ev->y & KBD_CTRL) {
+ set_clipboard_text(term, di->cdata + di->cpos);
+ di->cdata[di->cpos] = 0;
+ goto dsp_f;
+ }
+ /* Copy to clipboard */
+ if ((ev->x == KBD_INS && ev->y & KBD_CTRL) || (upcase(ev->x) == 'B' && ev->y & KBD_CTRL)) {
+ set_clipboard_text(term, di->cdata);
+ break; /* We don't need to redraw */
+ }
+ /* FIXME -- why keyboard shortcuts with shift don't works??? */
+ /* Cut to clipboard */
+ if ((ev->x == KBD_DEL && ev->y & KBD_SHIFT) || (upcase(ev->x) == 'X' && ev->y & KBD_CTRL)) {
+ set_clipboard_text(term, di->cdata);
+ di->cdata[0] = 0;
+ di->cpos = 0;
+ goto dsp_f;
+ }
+ /* Paste from clipboard */
+ if ((ev->x == KBD_INS && ev->y & KBD_SHIFT) || (upcase(ev->x) == 'V' && ev->y & KBD_CTRL)) {
+ unsigned char *clipboard;
+clipbd_paste:
+ clipboard = get_clipboard_text(term);
+ if (clipboard) {
+ unsigned char *nl = clipboard;
+ while ((nl = strchr(nl, '\n'))) *nl = ' ';
+ if (strlen(di->cdata) + strlen(clipboard) < (size_t)di->item->dlen ||
+ strlen(di->cdata) + strlen(clipboard) < strlen(di->cdata)) {
+ memmove(di->cdata + di->cpos + strlen(clipboard), di->cdata + di->cpos, strlen(di->cdata) - di->cpos + 1);
+ memcpy(&di->cdata[di->cpos], clipboard, strlen(clipboard));
+ di->cpos += strlen(clipboard);
+ }
+ mem_free(clipboard);
+ }
+ goto dsp_f;
+ }
+ if (upcase(ev->x) == 'W' && ev->y & KBD_CTRL) {
+ do_tab_compl(term, &di->history, win);
+ goto dsp_f;
+ }
+ goto gh;
+ dsp_f:
+ x_display_dlg_item(dlg, di, 1);
+ break;
+ }
+ if ((ev->x == KBD_ENTER && di->item->type == D_BUTTON) || ev->x == ' ') {
+ dlg_select_item(dlg, di);
+ break;
+ }
+ gh:
+ if (ev->x > ' ') for (i = 0; i < dlg->n; i++) {
+ unsigned char *tx = _(dlg->dlg->items[i].text, term);
+ if (dlg->dlg->items[i].type == D_BUTTON && charset_upcase(GET_TERM_CHAR(term, &tx), term->spec->charset) == charset_upcase(ev->x, term->spec->charset)) {
+ sel:
+ if (dlg->selected != i) {
+ x_display_dlg_item(dlg, &dlg->items[dlg->selected], 0);
+ x_display_dlg_item(dlg, &dlg->items[i], 1);
+ dlg->selected = i;
+ }
+ dlg_select_item(dlg, &dlg->items[i]);
+ goto bla;
+ }
+ }
+ if (ev->x == KBD_ENTER) for (i = 0; i < dlg->n; i++)
+ if (dlg->dlg->items[i].type == D_BUTTON && dlg->dlg->items[i].gid & B_ENTER) goto sel;
+ if (ev->x == KBD_ESC) for (i = 0; i < dlg->n; i++)
+ if (dlg->dlg->items[i].type == D_BUTTON && dlg->dlg->items[i].gid & B_ESC) goto sel;
+ if (((ev->x == KBD_TAB && !ev->y) || ev->x == KBD_DOWN || ev->x == KBD_RIGHT) && (dlg->n > 1 || term->spec->braille)) {
+ if (term->spec->braille) dlg->brl_y = dlg->items[0].y - 3;
+ x_display_dlg_item(dlg, &dlg->items[dlg->selected], 0);
+ if ((++dlg->selected) >= dlg->n) dlg->selected = 0;
+ x_display_dlg_item(dlg, &dlg->items[dlg->selected], 1);
+ break;
+ }
+ if (((ev->x == KBD_TAB && ev->y) || ev->x == KBD_UP || ev->x == KBD_LEFT) && (dlg->n > 1 || term->spec->braille)) {
+ if (term->spec->braille) dlg->brl_y = dlg->items[0].y - 3;
+ x_display_dlg_item(dlg, &dlg->items[dlg->selected], 0);
+ if ((--dlg->selected) < 0) dlg->selected = dlg->n - 1;
+ x_display_dlg_item(dlg, &dlg->items[dlg->selected], 1);
+ break;
+ }
+ break;
+ case EV_ABORT:
+ /* Moved this line up so that the dlg would have access to its
+ member vars before they get freed. */
+ if (dlg->dlg->abort) dlg->dlg->abort(dlg);
+ for (i = 0; i < dlg->n; i++) {
+ struct dialog_item_data *di = &dlg->items[i];
+ if (di->cdata) mem_free(di->cdata);
+ free_list(di->history);
+ }
+ freeml(dlg->ml);
+ }
+ bla:;
+}
+
+/* gid and gnum are 100 times greater than boundaries (e.g. if gid==1 boundary is 0.01) */
+int check_float(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ unsigned char *end;
+ double d = strtod(di->cdata, (char **)(void *)&end);
+ if (!*di->cdata || *end) {
+ msg_box(dlg->win->term, NULL, TEXT_(T_BAD_NUMBER), AL_CENTER, TEXT_(T_NUMBER_EXPECTED), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return 1;
+ }
+ if (100*d < di->item->gid || 100*d > di->item->gnum) {
+ msg_box(dlg->win->term, NULL, TEXT_(T_BAD_NUMBER), AL_CENTER, TEXT_(T_NUMBER_OUT_OF_RANGE), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return 1;
+ }
+ return 0;
+}
+
+int check_number(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ unsigned char *end;
+ long l = strtol(di->cdata, (char **)(void *)&end, 10);
+ if (!*di->cdata || *end) {
+ msg_box(dlg->win->term, NULL, TEXT_(T_BAD_NUMBER), AL_CENTER, TEXT_(T_NUMBER_EXPECTED), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return 1;
+ }
+ if (l < di->item->gid || l > di->item->gnum) {
+ msg_box(dlg->win->term, NULL, TEXT_(T_BAD_NUMBER), AL_CENTER, TEXT_(T_NUMBER_OUT_OF_RANGE), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return 1;
+ }
+ return 0;
+}
+
+int check_hex_number(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ unsigned char *end;
+ long l = strtol(di->cdata, (char **)(void *)&end, 16);
+ if (!*di->cdata || *end) {
+ msg_box(dlg->win->term, NULL, TEXT_(T_BAD_NUMBER), AL_CENTER, TEXT_(T_NUMBER_EXPECTED), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return 1;
+ }
+ if (l < di->item->gid || l > di->item->gnum) {
+ msg_box(dlg->win->term, NULL, TEXT_(T_BAD_NUMBER), AL_CENTER, TEXT_(T_NUMBER_OUT_OF_RANGE), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return 1;
+ }
+ return 0;
+}
+
+int check_nonempty(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ unsigned char *p;
+ for (p = di->cdata; *p; p++) if (*p > ' ') return 0;
+ msg_box(dlg->win->term, NULL, TEXT_(T_BAD_STRING), AL_CENTER, TEXT_(T_EMPTY_STRING_NOT_ALLOWED), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return 1;
+}
+
+int check_local_ip_address(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ int s;
+ int rs;
+ unsigned char *p = di->cdata;
+ if (!*p) {
+ return 0;
+ }
+ if (numeric_ip_address(p, NULL) == -1) {
+ msg_box(dlg->win->term, NULL, TEXT_(T_BAD_IP_ADDRESS), AL_CENTER, TEXT_(T_INVALID_IP_ADDRESS_SYNTAX), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return 1;
+ }
+ s = socket_and_bind(p);
+ if (s != -1) {
+ EINTRLOOP(rs, close(s));
+ } else {
+ if (1
+#ifdef ENFILE
+ && errno != ENFILE
+#endif
+#ifdef EMFILE
+ && errno != EMFILE
+#endif
+#ifdef ENOBUFS
+ && errno != ENOBUFS
+#endif
+#ifdef ENOMEM
+ && errno != ENOMEM
+#endif
+ ) {
+ unsigned char *er = stracpy(strerror(errno));
+ unsigned char *ad = stracpy(p);
+ msg_box(dlg->win->term, getml(er, ad, NULL), TEXT_(T_BAD_IP_ADDRESS), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_UNABLE_TO_USE_LOCAL_IP_ADDRESS), " ", ad, ": ", er, NULL, NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return 1;
+ }
+ }
+ return 0;
+}
+
+int cancel_dialog(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ delete_window(dlg->win);
+ return 0;
+}
+
+int check_dialog(struct dialog_data *dlg)
+{
+ int i;
+ for (i = 0; i < dlg->n; i++)
+ if (dlg->dlg->items[i].type == D_CHECKBOX || dlg->dlg->items[i].type == D_FIELD || dlg->dlg->items[i].type == D_FIELD_PASS)
+ if (dlg->dlg->items[i].fn && dlg->dlg->items[i].fn(dlg, &dlg->items[i])) {
+ dlg->selected = i;
+ draw_to_window(dlg->win, (void (*)(struct terminal *, void *))redraw_dialog_items, dlg);
+ return 1;
+ }
+ return 0;
+}
+
+void get_dialog_data(struct dialog_data *dlg)
+{
+ int i;
+ for (i = 0; i < dlg->n; i++) {
+ /* volatile because of a compiler bug */
+ void * volatile p1 = dlg->dlg->items[i].data;
+ void * volatile p2 = dlg->items[i].cdata;
+ volatile int l = dlg->dlg->items[i].dlen;
+ memcpy(p1, p2, l);
+ }
+}
+
+int ok_dialog(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ void (*fn)(void *) = dlg->dlg->refresh;
+ void *data = dlg->dlg->refresh_data;
+ if (check_dialog(dlg)) return 1;
+ get_dialog_data(dlg);
+ if (fn) fn(data);
+ return cancel_dialog(dlg, di);
+}
+
+void center_dlg(struct dialog_data *dlg)
+{
+ if (!dlg->win->term->spec->braille) {
+ dlg->x = (dlg->win->term->x - dlg->xw) / 2;
+ dlg->y = (dlg->win->term->y - dlg->yw) / 2;
+ } else {
+ dlg->x = -6;
+ dlg->y = -1;
+ dlg->xw = dlg->win->term->x + 12;
+ dlg->yw = dlg->win->term->y + 3;
+ }
+}
+
+void draw_dlg(struct dialog_data *dlg)
+{
+ if (!F) {
+ int i, tpos;
+ struct terminal *term = dlg->win->term;
+ fill_area(term, dlg->x, dlg->y, dlg->xw, dlg->yw, ' ', COLOR_DIALOG);
+ draw_frame(term, dlg->x + DIALOG_LEFT_BORDER, dlg->y + DIALOG_TOP_BORDER, dlg->xw - 2 * DIALOG_LEFT_BORDER, dlg->yw - 2 * DIALOG_TOP_BORDER, COLOR_DIALOG_FRAME, DIALOG_FRAME);
+ i = ttxtlen(term, _(dlg->dlg->title, term));
+ tpos = (dlg->xw - i) / 2;
+ if (term->spec->braille) tpos = 9;
+ print_text(term, tpos + dlg->x - 1, dlg->y + DIALOG_TOP_BORDER, 1, " ", COLOR_DIALOG_TITLE);
+ print_text(term, tpos + dlg->x, dlg->y + DIALOG_TOP_BORDER, i, _(dlg->dlg->title, term), COLOR_DIALOG_TITLE);
+ print_text(term, tpos + dlg->x + i, dlg->y + DIALOG_TOP_BORDER, 1, " ", COLOR_DIALOG_TITLE);
+#ifdef G
+ } else {
+ struct graphics_device *dev = dlg->win->term->dev;
+ struct rect r;
+ struct rect rt;
+ unsigned char *text = _(dlg->dlg->title, dlg->win->term);
+ int xtl = txtlen(dlg->win->term, text);
+ int tl = xtl + 2 * G_DIALOG_TITLE_BORDER;
+ int TXT_X, TXT_Y;
+ if (tl > dlg->xw - 2 * G_DIALOG_LEFT_BORDER - 2 * G_DIALOG_VLINE_SPACE) tl = dlg->xw - 2 * G_DIALOG_LEFT_BORDER - 2 * G_DIALOG_VLINE_SPACE;
+ TXT_X = dlg->x + (dlg->xw - tl) / 2;
+ TXT_Y = dlg->y + G_DIALOG_TOP_BORDER + (G_DIALOG_HLINE_SPACE + 1) / 2 - G_BFU_FONT_SIZE / 2;
+ if (TXT_Y < dlg->y) TXT_Y = dlg->y;
+ if (TXT_Y < dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE + 1 - G_BFU_FONT_SIZE) TXT_Y = dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE + 1 - G_BFU_FONT_SIZE;
+ set_window_pos(dlg->win, dlg->x, dlg->y, dlg->x + dlg->xw, dlg->y + dlg->yw);
+
+ restrict_clip_area(dev, &r, TXT_X, TXT_Y, TXT_X + tl, TXT_Y + G_BFU_FONT_SIZE);
+ rt.x1 = TXT_X;
+ rt.x2 = TXT_X + tl;
+ rt.y1 = TXT_Y;
+ rt.y2 = TXT_Y + G_BFU_FONT_SIZE;
+ if (xtl > tl) g_print_text(drv, dev, TXT_X, TXT_Y, bfu_style_wb, text, NULL);
+ else {
+ drv->fill_area(dev, TXT_X, TXT_Y, TXT_X + (tl - xtl) / 2, TXT_Y + G_BFU_FONT_SIZE, bfu_fg_color);
+ g_print_text(drv, dev, TXT_X + (tl - xtl) / 2, TXT_Y, bfu_style_wb, text, NULL);
+ drv->fill_area(dev, TXT_X + (tl - xtl) / 2 + xtl, TXT_Y, TXT_X + tl, TXT_Y + G_BFU_FONT_SIZE, bfu_fg_color);
+ }
+ drv->set_clip_area(dev, &r);
+
+ drv->draw_hline(dev, dlg->x + G_DIALOG_LEFT_BORDER, dlg->y + G_DIALOG_TOP_BORDER, TXT_X, bfu_fg_color);
+ drv->draw_hline(dev, dlg->x + G_DIALOG_LEFT_BORDER + G_DIALOG_VLINE_SPACE, dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE, TXT_X, bfu_fg_color);
+ drv->draw_hline(dev, TXT_X + tl, dlg->y + G_DIALOG_TOP_BORDER, dlg->x + dlg->xw - G_DIALOG_LEFT_BORDER, bfu_fg_color);
+ drv->draw_hline(dev, TXT_X + tl, dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE, dlg->x + dlg->xw - G_DIALOG_LEFT_BORDER - G_DIALOG_VLINE_SPACE, bfu_fg_color);
+ drv->draw_hline(dev, dlg->x + G_DIALOG_LEFT_BORDER, dlg->y + dlg->yw - G_DIALOG_TOP_BORDER - 1, dlg->x + dlg->xw - G_DIALOG_LEFT_BORDER, bfu_fg_color);
+ drv->draw_hline(dev, dlg->x + G_DIALOG_LEFT_BORDER + G_DIALOG_VLINE_SPACE, dlg->y + dlg->yw - G_DIALOG_TOP_BORDER - G_DIALOG_HLINE_SPACE - 1, dlg->x + dlg->xw - G_DIALOG_LEFT_BORDER - G_DIALOG_VLINE_SPACE, bfu_fg_color);
+
+ drv->draw_vline(dev, dlg->x + G_DIALOG_LEFT_BORDER, dlg->y + G_DIALOG_TOP_BORDER + 1, dlg->y + dlg->yw - G_DIALOG_TOP_BORDER - 1, bfu_fg_color);
+ drv->draw_vline(dev, dlg->x + G_DIALOG_LEFT_BORDER + G_DIALOG_VLINE_SPACE, dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE + 1, dlg->y + dlg->yw - G_DIALOG_TOP_BORDER - G_DIALOG_HLINE_SPACE - 1, bfu_fg_color);
+ drv->draw_vline(dev, dlg->x + dlg->xw - G_DIALOG_LEFT_BORDER - 1, dlg->y + G_DIALOG_TOP_BORDER + 1, dlg->y + dlg->yw - G_DIALOG_TOP_BORDER - 1, bfu_fg_color);
+ drv->draw_vline(dev, dlg->x + dlg->xw - G_DIALOG_LEFT_BORDER - G_DIALOG_VLINE_SPACE - 1, dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE + 1, dlg->y + dlg->yw - G_DIALOG_TOP_BORDER - G_DIALOG_HLINE_SPACE - 1, bfu_fg_color);
+
+ drv->fill_area(dev, dlg->x, dlg->y, TXT_X, dlg->y + G_DIALOG_TOP_BORDER, bfu_bg_color);
+ drv->fill_area(dev, TXT_X, dlg->y, TXT_X + tl, TXT_Y, bfu_bg_color);
+ drv->fill_area(dev, TXT_X + tl, dlg->y, dlg->x + dlg->xw, dlg->y + G_DIALOG_TOP_BORDER, bfu_bg_color);
+ drv->fill_area(dev, dlg->x, dlg->y + G_DIALOG_TOP_BORDER, dlg->x + G_DIALOG_LEFT_BORDER, dlg->y + dlg->yw - G_DIALOG_TOP_BORDER, bfu_bg_color);
+ drv->fill_area(dev, dlg->x + dlg->xw - G_DIALOG_LEFT_BORDER, dlg->y + G_DIALOG_TOP_BORDER, dlg->x + dlg->xw, dlg->y + dlg->yw - G_DIALOG_TOP_BORDER, bfu_bg_color);
+ drv->fill_area(dev, dlg->x, dlg->y + dlg->yw - G_DIALOG_TOP_BORDER, dlg->x + dlg->xw, dlg->y + dlg->yw, bfu_bg_color);
+
+ drv->fill_area(dev, dlg->x + G_DIALOG_LEFT_BORDER + 1, dlg->y + G_DIALOG_TOP_BORDER + 1, TXT_X, dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE, bfu_bg_color);
+ drv->fill_area(dev, TXT_X + tl, dlg->y + G_DIALOG_TOP_BORDER + 1, dlg->x + dlg->xw - G_DIALOG_LEFT_BORDER - 1, dlg->y + G_DIALOG_TOP_BORDER + + G_DIALOG_HLINE_SPACE, bfu_bg_color);
+ drv->fill_area(dev, dlg->x + G_DIALOG_LEFT_BORDER + 1, dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE, dlg->x + G_DIALOG_LEFT_BORDER + G_DIALOG_VLINE_SPACE, dlg->y + dlg->yw - G_DIALOG_TOP_BORDER - G_DIALOG_HLINE_SPACE, bfu_bg_color);
+ drv->fill_area(dev, dlg->x + dlg->xw - G_DIALOG_LEFT_BORDER - G_DIALOG_VLINE_SPACE, dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE, dlg->x + dlg->xw - G_DIALOG_LEFT_BORDER - 1, dlg->y + dlg->yw - G_DIALOG_TOP_BORDER - G_DIALOG_HLINE_SPACE, bfu_bg_color);
+ drv->fill_area(dev, dlg->x + G_DIALOG_LEFT_BORDER + 1, dlg->y + dlg->yw - G_DIALOG_TOP_BORDER - G_DIALOG_HLINE_SPACE, dlg->x + dlg->xw - G_DIALOG_LEFT_BORDER - 1, dlg->y + dlg->yw - G_DIALOG_TOP_BORDER - 1, bfu_bg_color);
+
+ /*
+ drv->fill_area(dev, dlg->x + G_DIALOG_LEFT_BORDER + G_DIALOG_VLINE_SPACE + 1, dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE + 1, TXT_X, TXT_Y + G_BFU_FONT_SIZE, bfu_bg_color);
+ drv->fill_area(dev, TXT_X + tl, dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE + 1, dlg->x + dlg->xw - G_DIALOG_LEFT_BORDER - G_DIALOG_VLINE_SPACE - 1, TXT_Y + G_BFU_FONT_SIZE, bfu_bg_color);
+ */
+ dlg->s = init_rect_set();
+ dlg->rr.x1 = dlg->x + G_DIALOG_LEFT_BORDER + G_DIALOG_VLINE_SPACE + 1;
+ dlg->rr.x2 = dlg->x + dlg->xw - G_DIALOG_LEFT_BORDER - G_DIALOG_VLINE_SPACE - 1;
+ /*dlg->rr.y1 = TXT_Y + G_BFU_FONT_SIZE;*/
+ dlg->rr.y1 = dlg->y + G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE + 1;
+ dlg->rr.y2 = dlg->y + dlg->yw - G_DIALOG_TOP_BORDER - G_DIALOG_HLINE_SPACE - 1;
+ add_to_rect_set(&dlg->s, &dlg->rr);
+ exclude_rect_from_set(&dlg->s, &rt);
+ restrict_clip_area(dev, &dlg->r, dlg->rr.x1, dlg->rr.y1, dlg->rr.x2, dlg->rr.y2);
+#endif
+ }
+}
+
+void max_text_width(struct terminal *term, unsigned char *text, int *width, int align)
+{
+ if (term->spec->braille) *width = term->x;
+ text = _(text, term);
+ do {
+ int c = 0;
+ while (*text && *text != '\n') {
+ if (!is_utf_8(term)) text++, c++;
+ else {
+ int u;
+ GET_UTF_8(text, u);
+ if (!F) c++;
+#ifdef G
+ else c += g_char_width(align & AL_MONO ? bfu_style_wb_mono : bfu_style_wb, u);
+#endif
+ }
+ }
+ if (c > *width) *width = c;
+ } while (*(text++));
+}
+
+void min_text_width(struct terminal *term, unsigned char *text, int *width, int align)
+{
+ if (term->spec->braille) *width = term->x;
+ text = _(text, term);
+ do {
+ int c = 0;
+ while (*text && *text != '\n' && *text != ' ') {
+ if (!is_utf_8(term)) text++, c++;
+ else {
+ int u;
+ GET_UTF_8(text, u);
+ if (!F) c++;
+#ifdef G
+ else c += g_char_width(align & AL_MONO ? bfu_style_wb_mono : bfu_style_wb, u);
+#endif
+ }
+ }
+ if (c > *width) *width = c;
+ } while (*(text++));
+}
+
+int dlg_format_text(struct dialog_data *dlg, struct terminal *term, unsigned char *text, int x, int *y, int w, int *rw, int co, int align)
+{
+ int xx = x;
+#ifdef G
+ unsigned char *tx2;
+#endif
+ text = _(text, dlg->win->term);
+ if (dlg->win->term->spec->braille && !(align & AL_NOBRLEXP)) w = dlg->win->term->x;
+ if (!F) do {
+ unsigned char *t1;
+ unsigned ch;
+ int cx, lbr;
+
+ next_line:
+ t1 = text;
+ cx = 0;
+ lbr = 0;
+ next_chr:
+ ch = GET_TERM_CHAR(dlg->win->term, &t1);
+ if (ch == ' ') {
+ lbr = cx;
+ }
+ if (ch && ch != '\n') {
+ if (cx == w) {
+ if (!lbr) lbr = cx;
+ goto print_line;
+ }
+ cx++;
+ goto next_chr;
+ }
+ if (!ch && !cx)
+ break;
+ lbr = cx;
+ print_line:
+ if (rw && lbr > *rw) *rw = lbr;
+ xx = x;
+ if ((align & AL_MASK) == AL_CENTER && !dlg->win->term->spec->braille) {
+ xx += (w - lbr) / 2;
+ }
+ for (; lbr--; xx++) {
+ ch = GET_TERM_CHAR(dlg->win->term, &text);
+ if (term) set_char(term, xx, *y, ch, co);
+ }
+ xx++;
+ if (*text == ' ' || *text == '\n') text++;
+ (*y)++;
+ goto next_line;
+ } while (*(text - 1));
+#ifdef G
+ else if ((tx2 = strchr(text, '\n'))) {
+ unsigned char *txt = stracpy(text);
+ unsigned char *tx1 = txt;
+ tx2 = txt + (tx2 - text);
+ do {
+ *tx2 = 0;
+ dlg_format_text(dlg, term, tx1, x, y, w, rw, co, align);
+ tx1 = tx2 + 1;
+ } while ((tx2 = strchr(tx1, '\n')));
+ dlg_format_text(dlg, term, tx1, x, y, w, rw, co, align);
+ mem_free(txt);
+ } else {
+ int www;
+ unsigned char *txt;
+ struct wrap_struct ww;
+ int r;
+ ww.style = align & AL_MONO ? bfu_style_bw_mono : bfu_style_bw;
+ ww.width = w;
+ new_ln:
+ ww.text = text;
+ ww.pos = 0;
+ ww.last_wrap = NULL;
+ ww.last_wrap_obj = NULL;
+ ww.force_break = 1;
+ r = g_wrap_text(&ww);
+ if (!r) {
+ txt = memacpy(text, ww.last_wrap - text);
+ www = g_text_width(ww.style, txt);
+ if (!term) mem_free(txt);
+ text = ww.last_wrap;
+ if (*text == ' ') text++;
+ } else {
+ www = ww.pos;
+ txt = text;
+ }
+ if (term) {
+ int xx = (align & AL_MASK) == AL_CENTER ? x + (w - www) / 2 : x;
+ g_print_text(drv, dlg->win->term->dev, xx, *y, ww.style, txt, NULL);
+ if (dlg->s) exclude_from_set(&dlg->s, xx, *y, xx + www, *y + G_BFU_FONT_SIZE);
+ if (!r) mem_free(txt);
+ }
+ if (www > w) www = w;
+ if (rw && www > *rw) *rw = www;
+ *y += G_BFU_FONT_SIZE;
+ if (!r) goto new_ln;
+ }
+#endif
+ return xx - x;
+}
+
+void max_buttons_width(struct terminal *term, struct dialog_item_data *butt, int n, int *width)
+{
+ int w = gf_val(-2, -G_DIALOG_BUTTON_SPACE);
+ int i;
+ if (term->spec->braille) *width = term->x;
+ for (i = 0; i < n; i++) w += txtlen(term, _((butt++)->item->text, term)) + gf_val(6, G_DIALOG_BUTTON_SPACE + txtlen(term, G_DIALOG_BUTTON_L) + txtlen(term, G_DIALOG_BUTTON_R));
+ if (w > *width) *width = w;
+}
+
+void min_buttons_width(struct terminal *term, struct dialog_item_data *butt, int n, int *width)
+{
+ int i;
+ if (term->spec->braille) *width = term->x;
+ for (i = 0; i < n; i++) {
+ int w = txtlen(term, _((butt++)->item->text, term)) + gf_val(4, txtlen(term, G_DIALOG_BUTTON_L G_DIALOG_BUTTON_R));
+ if (w > *width) *width = w;
+ }
+}
+
+void dlg_format_buttons(struct dialog_data *dlg, struct terminal *term, struct dialog_item_data *butt, int n, int x, int *y, int w, int *rw, int align)
+{
+ int i1 = 0;
+ if (dlg->win->term->spec->braille) w = dlg->win->term->x;
+ while (i1 < n) {
+ int i2 = i1 + 1;
+ int mw;
+ while (i2 < n) {
+ mw = 0;
+ max_buttons_width(dlg->win->term, butt + i1, i2 - i1 + 1, &mw);
+ if (mw <= w) i2++;
+ else break;
+ }
+ mw = 0;
+ max_buttons_width(dlg->win->term, butt + i1, i2 - i1, &mw);
+ if (rw && mw > *rw) if ((*rw = mw) > w) *rw = w;
+ if (term) {
+ int i;
+ int p = x + ((align & AL_MASK) == AL_CENTER ? (w - mw) / 2 : 0);
+ for (i = i1; i < i2; i++) {
+ butt[i].x = p;
+ butt[i].y = *y;
+ p += (butt[i].l = txtlen(dlg->win->term, _(butt[i].item->text, dlg->win->term)) + gf_val(4, txtlen(dlg->win->term, G_DIALOG_BUTTON_L G_DIALOG_BUTTON_R))) + gf_val(2, G_DIALOG_BUTTON_SPACE);
+ }
+ }
+ *y += gf_val(2, G_BFU_FONT_SIZE * 2);
+ i1 = i2;
+ }
+}
+
+void dlg_format_checkbox(struct dialog_data *dlg, struct terminal *term, struct dialog_item_data *chkb, int x, int *y, int w, int *rw, unsigned char *text)
+{
+ int k = gf_val(4, txtlen(dlg->win->term, G_DIALOG_CHECKBOX_L G_DIALOG_CHECKBOX_X G_DIALOG_CHECKBOX_R) + G_DIALOG_CHECKBOX_SPACE);
+ if (term) {
+ chkb->x = x;
+ chkb->y = *y;
+ }
+ if (rw) *rw -= k;
+ dlg_format_text(dlg, term, text, x + k, y, w - k, rw, COLOR_DIALOG_CHECKBOX_TEXT, AL_LEFT | AL_NOBRLEXP);
+ if (rw) *rw += k;
+}
+
+void dlg_format_checkboxes(struct dialog_data *dlg, struct terminal *term, struct dialog_item_data *chkb, int n, int x, int *y, int w, int *rw, unsigned char **texts)
+{
+ if (dlg->win->term->spec->braille) w = dlg->win->term->x;
+ while (n) {
+ dlg_format_checkbox(dlg, term, chkb, x, y, w, rw, texts[0]);
+ texts++; chkb++; n--;
+ }
+}
+
+void checkboxes_width(struct terminal *term, unsigned char **texts, int n, int *w, void (*fn)(struct terminal *, unsigned char *, int *, int))
+{
+ int k = gf_val(4, txtlen(term, G_DIALOG_CHECKBOX_L G_DIALOG_CHECKBOX_X G_DIALOG_CHECKBOX_R) + G_DIALOG_CHECKBOX_SPACE);
+ while (n--) {
+ *w -= k;
+ fn(term, _(texts[0], term), w, 0);
+ *w += k;
+ texts++;
+ }
+}
+
+void dlg_format_field(struct dialog_data *dlg, struct terminal *term, struct dialog_item_data *item, int x, int *y, int w, int *rw, int align)
+{
+ if (dlg->win->term->spec->braille) w = dlg->win->term->x;
+ if (term) {
+ item->x = x;
+ item->y = *y;
+ item->l = w;
+ }
+ if (rw && item->l > *rw) if ((*rw = item->l) > w) *rw = w;
+ (*y) += gf_val(1, G_BFU_FONT_SIZE);
+}
+
+void dlg_format_text_and_field(struct dialog_data *dlg, struct terminal *term, unsigned char *text, struct dialog_item_data *item, int x, int *y, int w, int *rw, int co, int align)
+{
+ if (!dlg->win->term->spec->braille) {
+ dlg_format_text(dlg, term, text, x, y, w, rw, co, align);
+ dlg_format_field(dlg, term, item, x, y, w, rw, align);
+ } else {
+ int pos = dlg_format_text(dlg, term, text, x, y, w, rw, co, align);
+ if (pos >= w - 4) (*y)++, pos = 0;
+ if (term) {
+ item->x = x + pos;
+ item->y = *y - 1;
+ item->l = w - pos;
+ }
+ }
+}
+
+
+#if 0
+/* Layout for generic boxes */
+void dlg_format_box(struct terminal *term, struct terminal *t2, struct dialog_item_data *item, int x, int *y, int w, int *rw, int align) {
+ item->x = x;
+ item->y = *y;
+ item->l = w;
+ if (rw && item->l > *rw) if ((*rw = item->l) > w) *rw = w;
+ (*y) += item->item->gid;
+}
+#endif
+
+void max_group_width(struct terminal *term, unsigned char **texts, struct dialog_item_data *item, int n, int *w)
+{
+ int ww = 0;
+ if (term->spec->braille) *w = term->x;
+ while (n--) {
+ int wx = item->item->type == D_CHECKBOX ? gf_val(4, txtlen(term, G_DIALOG_CHECKBOX_L G_DIALOG_CHECKBOX_X G_DIALOG_CHECKBOX_R) + G_DIALOG_CHECKBOX_SPACE) :
+ item->item->type == D_BUTTON ? txtlen(term, _(item->item->text, term)) + (gf_val(4, txtlen(term, G_DIALOG_BUTTON_L G_DIALOG_BUTTON_R))) :
+ gf_val(item->item->dlen + 1, (item->item->dlen + 1) * G_DIALOG_FIELD_WIDTH);
+ wx += txtlen(term, _(texts[0], term));
+ if (n) gf_val(wx++, wx += G_DIALOG_GROUP_SPACE);
+ ww += wx;
+ texts++;
+ item++;
+ }
+ if (ww > *w) *w = ww;
+}
+
+void min_group_width(struct terminal *term, unsigned char **texts, struct dialog_item_data *item, int n, int *w)
+{
+ if (term->spec->braille) *w = term->x;
+ while (n--) {
+ int wx = item->item->type == D_CHECKBOX ? gf_val(4, txtlen(term, G_DIALOG_CHECKBOX_L G_DIALOG_CHECKBOX_X G_DIALOG_CHECKBOX_R) + G_DIALOG_CHECKBOX_SPACE) :
+ item->item->type == D_BUTTON ? txtlen(term, _(item->item->text, term)) + (gf_val(4, txtlen(term, G_DIALOG_BUTTON_L G_DIALOG_BUTTON_R))) :
+ gf_val(item->item->dlen + 1, (item->item->dlen + 1) * G_DIALOG_FIELD_WIDTH);
+ wx += txtlen(term, _(texts[0], term));
+ if (wx > *w) *w = wx;
+ texts++;
+ item++;
+ }
+}
+
+void dlg_format_group(struct dialog_data *dlg, struct terminal *term, unsigned char **texts, struct dialog_item_data *item, int n, int x, int *y, int w, int *rw)
+{
+ int f = 1;
+ int nx = 0;
+ if (dlg->win->term->spec->braille) w = dlg->win->term->x;
+ while (n--) {
+ int wx = item->item->type == D_CHECKBOX ? gf_val(3, txtlen(dlg->win->term, G_DIALOG_CHECKBOX_L G_DIALOG_CHECKBOX_X G_DIALOG_CHECKBOX_R)) :
+ item->item->type == D_BUTTON ? txtlen(dlg->win->term, _(item->item->text, dlg->win->term)) + (gf_val(4, txtlen(dlg->win->term, G_DIALOG_BUTTON_L G_DIALOG_BUTTON_R))) :
+ gf_val(item->item->dlen, item->item->dlen * G_DIALOG_FIELD_WIDTH);
+ int sl;
+ if (_(texts[0], dlg->win->term)[0]) sl = txtlen(dlg->win->term, _(texts[0], dlg->win->term)) + gf_val(1, G_DIALOG_GROUP_TEXT_SPACE);
+ else sl = 0;
+ wx += sl;
+ if (dlg->win->term->spec->braille) {
+ if (!f) {
+ nx = 0;
+ (*y) += gf_val(1, G_BFU_FONT_SIZE * 1);
+ } else f = 0;
+ } else if (nx && nx + wx > w) {
+ nx = 0;
+ (*y) += gf_val(2, G_BFU_FONT_SIZE * 2);
+ }
+ if (term) {
+ if (!F) print_text(term, x + nx + 4 * (item->item->type == D_CHECKBOX), *y, ttxtlen(term, _(texts[0], dlg->win->term)), _(texts[0], dlg->win->term), COLOR_DIALOG_TEXT);
+#ifdef G
+ else {
+ int l, ll;
+ l = ll = x + nx + (item->item->type == D_CHECKBOX ? txtlen(dlg->win->term, G_DIALOG_CHECKBOX_L G_DIALOG_CHECKBOX_X G_DIALOG_CHECKBOX_R) + G_DIALOG_GROUP_TEXT_SPACE : 0);
+ g_print_text(drv, term->dev, ll, *y, bfu_style_bw, _(texts[0], dlg->win->term), &ll);
+ exclude_from_set(&dlg->s, l, *y, ll, *y + G_BFU_FONT_SIZE);
+ }
+#endif
+ item->x = x + nx + sl * (item->item->type != D_CHECKBOX);
+ item->y = *y;
+ if (item->item->type == D_FIELD || item->item->type == D_FIELD_PASS) item->l = gf_val(item->item->dlen, item->item->dlen * G_DIALOG_FIELD_WIDTH);
+ }
+ if (rw && nx + wx > *rw) if ((*rw = nx + wx) > w) *rw = w;
+ nx += wx + gf_val(1, G_DIALOG_GROUP_SPACE);
+ texts++;
+ item++;
+ }
+ (*y) += gf_val(1, G_BFU_FONT_SIZE);
+}
+
+#define LL gf_val(1, G_BFU_FONT_SIZE)
+
+void checkbox_list_fn(struct dialog_data *dlg)
+{
+ struct terminal *term = dlg->win->term;
+ int n_checkboxes;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = 0;
+ for (n_checkboxes = 0; ((unsigned char **)dlg->dlg->udata)[n_checkboxes]; n_checkboxes++)
+ ;
+ checkboxes_width(term, dlg->dlg->udata, n_checkboxes, &max, max_text_width);
+ checkboxes_width(term, dlg->dlg->udata, n_checkboxes, &min, min_text_width);
+ max_buttons_width(term, dlg->items + n_checkboxes, dlg->n - n_checkboxes, &max);
+ min_buttons_width(term, dlg->items + n_checkboxes, dlg->n - n_checkboxes, &min);
+ w = term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ if (w > term->x - 2 * DIALOG_LB) w = term->x - 2 * DIALOG_LB;
+ if (w < 5) w = 5;
+ rw = 0;
+ dlg_format_checkboxes(dlg, NULL, dlg->items, n_checkboxes, 0, &y, w, &rw, dlg->dlg->udata);
+ y += LL;
+ dlg_format_buttons(dlg, NULL, dlg->items + n_checkboxes, dlg->n - n_checkboxes, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = rw + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB + LL;
+ dlg_format_checkboxes(dlg, term, dlg->items, n_checkboxes, dlg->x + DIALOG_LB, &y, w, NULL, dlg->dlg->udata);
+ y += LL;
+ dlg_format_buttons(dlg, term, dlg->items + n_checkboxes, dlg->n - n_checkboxes, dlg->x + DIALOG_LB, &y, w, &rw, AL_CENTER);
+}
+
+void group_fn(struct dialog_data *dlg)
+{
+ struct terminal *term = dlg->win->term;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = 0;
+ max_group_width(term, dlg->dlg->udata, dlg->items, dlg->n - 2, &max);
+ min_group_width(term, dlg->dlg->udata, dlg->items, dlg->n - 2, &min);
+ max_buttons_width(term, dlg->items + dlg->n - 2, 2, &max);
+ min_buttons_width(term, dlg->items + dlg->n - 2, 2, &min);
+ w = term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ if (w > term->x - 2 * DIALOG_LB) w = term->x - 2 * DIALOG_LB;
+ if (w < 1) w = 1;
+ rw = 0;
+ dlg_format_group(dlg, NULL, dlg->dlg->udata, dlg->items, dlg->n - 2, 0, &y, w, &rw);
+ y += LL;
+ dlg_format_buttons(dlg, NULL, dlg->items + dlg->n - 2, 2, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = rw + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB + LL;
+ dlg_format_group(dlg, term, dlg->dlg->udata, dlg->items, dlg->n - 2, dlg->x + DIALOG_LB, &y, w, NULL);
+ y += LL;
+ dlg_format_buttons(dlg, term, dlg->items + dlg->n - 2, 2, dlg->x + DIALOG_LB, &y, w, &rw, AL_CENTER);
+}
+
+void msg_box_fn(struct dialog_data *dlg)
+{
+ struct terminal *term = dlg->win->term;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = 0;
+ unsigned char **ptr;
+ unsigned char *text = init_str();
+ int textl = 0;
+ for (ptr = dlg->dlg->udata; *ptr; ptr++) add_to_str(&text, &textl, _(*ptr, term));
+ max_text_width(term, text, &max, dlg->dlg->align);
+ min_text_width(term, text, &min, dlg->dlg->align);
+ max_buttons_width(term, dlg->items, dlg->n, &max);
+ min_buttons_width(term, dlg->items, dlg->n, &min);
+ w = term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ if (w > term->x - 2 * DIALOG_LB) w = term->x - 2 * DIALOG_LB;
+ if (w < 1) w = 1;
+ rw = 0;
+ dlg_format_text(dlg, NULL, text, 0, &y, w, &rw, COLOR_DIALOG_TEXT, dlg->dlg->align);
+ y += LL;
+ dlg_format_buttons(dlg, NULL, dlg->items, dlg->n, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = rw + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB + LL;
+ dlg_format_text(dlg, term, text, dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, dlg->dlg->align);
+ y += LL;
+ dlg_format_buttons(dlg, term, dlg->items, dlg->n, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER);
+ mem_free(text);
+}
+
+static int msg_box_button(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ void (*fn)(void *) = (void (*)(void *))di->item->udata;
+ void *data = dlg->dlg->udata2;
+ /*struct dialog *dl = dlg->dlg;*/
+ if (fn) fn(data);
+ cancel_dialog(dlg, di);
+ return 0;
+}
+
+void msg_box(struct terminal *term, struct memory_list *ml, unsigned char *title, int align, /*unsigned char *text, void *data, int n,*/ ...)
+{
+ struct dialog *dlg;
+ int i;
+ int n;
+ unsigned char *text;
+ unsigned char **udata;
+ void *udata2;
+ int udatan;
+ va_list ap;
+ va_start(ap, align);
+ udata = DUMMY;
+ udatan = 0;
+ do {
+ text = va_arg(ap, unsigned char *);
+ na_kovarne__to_je_narez:
+ udatan++;
+ if ((unsigned)udatan > MAXINT / sizeof(unsigned char *)) overalloc();
+ udata = mem_realloc(udata, udatan * sizeof(unsigned char *));
+ udata[udatan - 1] = text;
+ if (text && !(align & AL_EXTD_TEXT)) {
+ text = NULL;
+ goto na_kovarne__to_je_narez;
+ }
+ } while (text);
+ udata2 = va_arg(ap, void *);
+ n = va_arg(ap, int);
+ if ((unsigned)n > (MAXINT - sizeof(struct dialog)) / sizeof(struct dialog_item) - 1) overalloc();
+ dlg = mem_alloc(sizeof(struct dialog) + (n + 1) * sizeof(struct dialog_item));
+ memset(dlg, 0, sizeof(struct dialog) + (n + 1) * sizeof(struct dialog_item));
+ dlg->title = title;
+ dlg->fn = msg_box_fn;
+ dlg->udata = udata;
+ dlg->udata2 = udata2;
+ dlg->align = align;
+ for (i = 0; i < n; i++) {
+ unsigned char *m;
+ void (*fn)(void *);
+ int flags;
+ m = va_arg(ap, unsigned char *);
+ fn = va_arg(ap, void *);
+ flags = va_arg(ap, int);
+ if (!m) {
+ i--, n--;
+ continue;
+ }
+ dlg->items[i].type = D_BUTTON;
+ dlg->items[i].gid = flags;
+ dlg->items[i].fn = msg_box_button;
+ dlg->items[i].dlen = 0;
+ dlg->items[i].text = m;
+ dlg->items[i].udata = fn;
+ }
+ va_end(ap);
+ dlg->items[i].type = D_END;
+ add_to_ml(&ml, dlg, udata, NULL);
+ do_dialog(term, dlg, ml);
+}
+
+void add_to_history(struct history *h, unsigned char *t, int check_duplicates)
+{
+ struct history_item *hi, *hs;
+ size_t l;
+ if (!h || !t || !*t) return;
+ l = strlen(t);
+ if (l > MAXINT - sizeof(struct history_item)) overalloc();
+ hi = mem_alloc(sizeof(struct history_item) + l);
+ memcpy(hi->d, t, l + 1);
+ if (check_duplicates) foreach(hs, h->items) if (!strcmp(hs->d, t)) {
+ struct history_item *hd = hs;
+ hs = hs->prev;
+ del_from_list(hd);
+ mem_free(hd);
+ h->n--;
+ }
+ add_to_list(h->items, hi);
+ h->n++;
+ while (h->n > MAX_HISTORY_ITEMS) {
+ struct history_item *hd = h->items.prev;
+ if ((void *)hd == &h->items) {
+ internal("history is empty");
+ h->n = 0;
+ return;
+ }
+ del_from_list(hd);
+ mem_free(hd);
+ h->n--;
+ }
+}
+
+static int input_field_cancel(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ void (*fn)(void *) = di->item->udata;
+ void *data = dlg->dlg->udata2;
+ if (fn) fn(data);
+ cancel_dialog(dlg, di);
+ return 0;
+}
+
+static int input_field_ok(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ void (*fn)(void *, unsigned char *) = di->item->udata;
+ void *data = dlg->dlg->udata2;
+ unsigned char *text = dlg->items->cdata;
+ if (check_dialog(dlg)) return 1;
+ add_to_history(dlg->dlg->items->history, text, 1);
+ if (fn) fn(data, text);
+ ok_dialog(dlg, di);
+ return 0;
+}
+
+void input_field_fn(struct dialog_data *dlg)
+{
+ struct terminal *term = dlg->win->term;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = gf_val(-1, -G_BFU_FONT_SIZE);
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ max_text_width(term, dlg->dlg->udata, &max, AL_LEFT);
+ min_text_width(term, dlg->dlg->udata, &min, AL_LEFT);
+ max_buttons_width(term, dlg->items + 1, dlg->n - 1, &max);
+ min_buttons_width(term, dlg->items + 1, dlg->n - 1, &min);
+ if (max < dlg->dlg->items->dlen) max = dlg->dlg->items->dlen;
+ w = term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ rw = w;
+ dlg_format_text_and_field(dlg, NULL, dlg->dlg->udata, dlg->items, 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += LL;
+ dlg_format_buttons(dlg, NULL, dlg->items + 1, dlg->n - 1, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = rw + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB;
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, dlg->dlg->udata, dlg->items, dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += LL;
+ dlg_format_buttons(dlg, term, dlg->items + 1, dlg->n - 1, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER);
+}
+
+typedef void (*input_field_t)(void *, unsigned char *);
+
+void input_field(struct terminal *term, struct memory_list *ml, unsigned char *title, unsigned char *text, void *data, struct history *history, int l, unsigned char *def, int min, int max, int (*check)(struct dialog_data *, struct dialog_item_data *), ...)
+{
+ struct dialog *dlg;
+ unsigned char *field;
+ va_list va;
+ unsigned i, n;
+ va_start(va, check);
+ n = 0;
+ while (va_arg(va, unsigned char *)) {
+ /* volatile because of a compiler bug */
+ void * volatile q = va_arg(va, input_field_t);
+ q = q; /* suppress warning */
+ n++;
+ }
+ va_end(va);
+ if ((unsigned)l > MAXINT - sizeof(struct dialog) + (2 + n) * sizeof(struct dialog_item)) overalloc();
+ dlg = mem_alloc(sizeof(struct dialog) + (2 + n) * sizeof(struct dialog_item) + l);
+ memset(dlg, 0, sizeof(struct dialog) + (2 + n) * sizeof(struct dialog_item) + l);
+ *(field = (unsigned char *)dlg + sizeof(struct dialog) + (2 + n) * sizeof(struct dialog_item)) = 0;
+ if (def) {
+ if (strlen(def) + 1 > (size_t)l) memcpy(field, def, l - 1);
+ else strcpy(field, def);
+ }
+ dlg->title = title;
+ dlg->fn = input_field_fn;
+ dlg->udata = text;
+ dlg->udata2 = data;
+ dlg->items[0].type = D_FIELD;
+ dlg->items[0].gid = min;
+ dlg->items[0].gnum = max;
+ dlg->items[0].fn = check;
+ dlg->items[0].history = history;
+ dlg->items[0].dlen = l;
+ dlg->items[0].data = field;
+ va_start(va, check);
+ for (i = 1; i <= n; i++) {
+ dlg->items[i].type = D_BUTTON;
+ dlg->items[i].gid = i == 1 ? B_ENTER : i == n ? B_ESC : 0;
+ dlg->items[i].fn = i != n || n == 1 ? input_field_ok : input_field_cancel;
+ dlg->items[i].dlen = 0;
+ dlg->items[i].text = va_arg(va, unsigned char *);
+ dlg->items[i].udata = va_arg(va, input_field_t);
+ }
+ va_end(va);
+
+ dlg->items[i].type = D_END;
+ add_to_ml(&ml, dlg, NULL);
+ do_dialog(term, dlg, ml);
+}
+
diff --git a/bits.h b/bits.h
new file mode 100644
index 0000000..ca49811
--- /dev/null
+++ b/bits.h
@@ -0,0 +1,50 @@
+/* bits.h
+ * (c) 2002 Karel 'Clock' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ */
+
+/* t2c
+ * Type that has exactly 2 chars.
+ * If there is none, t2c is not defined
+ * The type may be signed or unsigned, it doesn't matter
+ */
+#if SIZEOF_UNSIGNED_SHORT == 2
+#define t2c unsigned short
+#elif SIZEOF_UNSIGNED == 2
+#define t2c unsigned
+#elif SIZEOF_UNSIGNED_LONG == 2
+#define t2c unsigned long
+#elif defined(SIZEOF_UNSIGNED_LONG_LONG) && SIZEOF_UNSIGNED_LONG_LONG == 2
+#define t2c unsigned long long
+#endif /* #if sizeof(short) */
+
+/* t4c
+ * Type that has exactly 4 chars.
+ * If there is none, t4c is not defined
+ * The type may be signed or unsigned, it doesn't matter
+ */
+#if SIZEOF_UNSIGNED_SHORT == 4
+#define t4c unsigned short
+#elif SIZEOF_UNSIGNED == 4
+#define t4c unsigned
+#elif SIZEOF_UNSIGNED_LONG == 4
+#define t4c unsigned long
+#elif defined(SIZEOF_UNSIGNED_LONG_LONG) && SIZEOF_UNSIGNED_LONG_LONG == 4
+#define t4c unsigned long long
+#endif /* #if sizeof(short) */
+
+/* t8c
+ * Type that has exactly 8 chars.
+ * If there is none, t8c is not defined
+ * The type may be signed or unsigned, it doesn't matter
+ */
+#if SIZEOF_UNSIGNED_SHORT == 8
+#define t8c unsigned short
+#elif SIZEOF_UNSIGNED == 8
+#define t8c unsigned
+#elif SIZEOF_UNSIGNED_LONG == 8
+#define t8c unsigned long
+#elif defined(SIZEOF_UNSIGNED_LONG_LONG) && SIZEOF_UNSIGNED_LONG_LONG == 8
+#define t8c unsigned long long
+#endif /* #if sizeof(short) */
+
diff --git a/block.c b/block.c
new file mode 100644
index 0000000..f69de8a
--- /dev/null
+++ b/block.c
@@ -0,0 +1,365 @@
+#include "links.h"
+
+static void* block_new_item(void* ignore);
+static void block_delete_item(void* data);
+static void block_copy_item(void *in, void *out);
+static unsigned char *block_type_item(struct terminal *term, void *data, int x);
+static void block_edit_item(struct dialog_data *dlg, void *data, void (*ok_fn)(struct dialog_data *, void *, void *, struct list_description *), void *ok_arg, unsigned char dlg_title);
+static void *block_find_item(void *start, unsigned char *str, int direction);
+
+static struct history block_search_histroy = { 0, {&block_search_histroy.items, &block_search_histroy.items} };
+
+struct list blocks = { &blocks, &blocks, 0, -1, NULL};
+static struct list_description blocks_ld={
+ 0, /*flat*/
+ &blocks, /*list head*/
+ block_new_item, /*ext_new_item,*/
+ block_edit_item, /*ext_edit_item,*/
+ NULL, /*default_value,*/
+ block_delete_item, /*ext_delete_item,*/
+ block_copy_item, /*ext_copy_item,*/
+ block_type_item, /*ext_type_item,*/
+ block_find_item, /*ext_find_item,*/
+ &block_search_histroy, /*&ext_search_history,*/
+ 0, /* this is set in init_assoc function */
+ 15, /* # of items in main window */
+ T_BLOCKED_IMAGE, /*item title*/
+ T_BLOCK_LIST_IN_USE, /*Already open message*/
+ T_BLOCK_LIST_MANAGER, /*Window title*/
+ T_BLOCK_DELETE,
+ 0, /* no button */
+ NULL, /* no button */
+ NULL, /* no save */
+
+ NULL,NULL,0,0, /* internal vars */
+ 0, /* modified */
+ NULL,
+ NULL,
+ 0,
+};
+
+
+static void* block_new_item(void* ignore)
+{
+ /*Default constructor*/
+ struct block *new;
+
+ new = mem_alloc(sizeof(struct block));
+ new->url = stracpy("");
+ return new;
+}
+
+static void block_delete_item(void* data)
+{
+ /*Destructor */
+ struct block *del=(struct block *)data;
+ struct block *next=del->next;
+ struct block *prev=del->prev;
+
+ if (del->url)mem_free(del->url);
+
+ if (next)next->prev=del->prev;
+ if (prev)prev->next=del->next;
+ mem_free(del);
+}
+
+static void block_copy_item(void *in, void *out)
+{
+ /*Copy construction */
+ struct block *item_in=(struct block *)in;
+ struct block *item_out=(struct block *)out;
+
+ if (item_out->url)mem_free(item_out->url);
+ item_out->url=stracpy(item_in->url);
+}
+
+/*This is used to display the items in the menu*/
+static unsigned char *block_type_item(struct terminal *term, void *data, int x)
+{
+ unsigned char *txt, *txt1;
+ struct conv_table *table;
+ struct block* item=(struct block*)data;
+
+ if ((struct list*)item==(&blocks)) return stracpy(_(TEXT_(T_BLOCK_LIST),term));
+ txt=stracpy(item->url);
+
+
+ /*I have no idea what this does, but it os copied from working code in types.c*/
+ table=get_translation_table(blocks_ld.codepage,term->spec->charset);
+ txt1=convert_string(table,txt,strlen(txt),NULL);
+ mem_free(txt);
+
+ return txt1;
+}
+
+struct assoc_ok_struct{
+ void (*fn)(struct dialog_data *,void *,void *,struct list_description *);
+ void *data;
+ struct dialog_data *dlg;
+};
+
+/* destroys an item, this function is called when edit window is aborted */
+static void block_edit_abort(struct dialog_data *data)
+{
+ struct block *item=(struct block*)data->dlg->udata;
+ struct dialog *dlg=data->dlg;
+
+ mem_free(dlg->udata2);
+ if (item)block_delete_item(item);
+}
+
+/* Puts url into the block list */
+static void block_edit_done(void *data)
+{
+ /*Copied from types.c*/
+ struct dialog *d=(struct dialog*)data;
+ struct block *item=(struct block *)d->udata;
+ struct assoc_ok_struct* s=(struct assoc_ok_struct*)d->udata2;
+ unsigned char *txt;
+ struct conv_table *table;
+ unsigned char *url;
+
+ /*See block_edit_item*/
+ url=(unsigned char *)&d->items[4];
+
+ table=get_translation_table(s->dlg->win->term->spec->charset,blocks_ld.codepage);
+ txt=convert_string(table,url,strlen(url),NULL);
+ mem_free(item->url); item->url=txt;
+
+ s->fn(s->dlg,s->data,item,&blocks_ld);
+ d->udata=NULL; /* for abort function */
+}
+
+static void block_edit_item_fn(struct dialog_data *dlg)
+{
+ /*Copied from input_field. I don't know how most of it works.*/
+#define LL gf_val(1, G_BFU_FONT_SIZE)
+ struct terminal *term = dlg->win->term;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = gf_val(-1, -G_BFU_FONT_SIZE);
+ unsigned char *text = TEXT_(T_ENTER_URL);
+
+
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ max_text_width(term, text, &max, AL_LEFT);
+ min_text_width(term, text, &min, AL_LEFT);
+ max_buttons_width(term, dlg->items + 1, 2, &max);
+ min_buttons_width(term, dlg->items + 1, 2, &min);
+ if (max < dlg->dlg->items->dlen) max = dlg->dlg->items->dlen;
+ w = term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ rw = w;
+ dlg_format_text_and_field(dlg, NULL, text, dlg->items, 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += LL;
+ dlg_format_buttons(dlg, NULL, dlg->items + 1, 2, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = rw + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB;
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, text, dlg->items, dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += LL;
+ dlg_format_buttons(dlg, term, dlg->items + 1, 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER);
+}
+
+
+static void block_edit_item(struct dialog_data *dlg, void *data, void (*ok_fn)(struct dialog_data *, void *, void *, struct list_description *), void *ok_arg, unsigned char dlg_title)
+{
+ /*Copied from types.c */
+ /*Data is a new item generated by the "default" function*/
+ struct block *new=(struct block*)data;
+
+ struct terminal *term=dlg->win->term;
+ struct dialog *d;
+ struct assoc_ok_struct *s;
+ unsigned char *url;
+
+
+ /*Allocate space for dialog, 4 items followed by 1 string*/
+ d = mem_alloc(sizeof(struct dialog) + 4 * sizeof(struct dialog_item) + 1 * MAX_STR_LEN);
+ memset(d, 0, sizeof(struct dialog) + 4 * sizeof(struct dialog_item) + 1 * MAX_STR_LEN);
+
+ /*Set up this string */
+ url=(unsigned char *)&d->items[4];
+ if (new->url)safe_strncpy(url,new->url,MAX_STR_LEN);
+
+ /* Create the dialog */
+ s = mem_alloc(sizeof(struct assoc_ok_struct));
+
+ s->fn=ok_fn;
+ s->data=ok_arg;
+ s->dlg=dlg;
+
+ switch (dlg_title)
+ {
+ case TITLE_EDIT:
+ d->title=TEXT_(T_BLOCK_EDIT);
+ break;
+
+ case TITLE_ADD:
+ d->title=TEXT_(T_BLOCK_ADD);
+ break;
+
+ default:
+ internal("Unsupported dialog title.\n");
+ }
+
+ d->udata=data;
+ d->udata2=s;
+ d->fn = block_edit_item_fn;
+ d->abort=block_edit_abort;
+ d->refresh=block_edit_done;
+ d->refresh_data = d;
+ d->items[0].type = D_FIELD;
+ d->items[0].dlen = MAX_STR_LEN;
+ d->items[0].data = url;
+ d->items[0].fn = check_nonempty;
+ d->items[1].type = D_BUTTON;
+ d->items[1].gid = B_ENTER;
+ d->items[1].fn = ok_dialog;
+ d->items[1].text = TEXT_(T_OK);
+ d->items[2].type = D_BUTTON;
+ d->items[2].gid = B_ESC;
+ d->items[2].text = TEXT_(T_CANCEL);
+ d->items[2].fn = cancel_dialog;
+ d->items[3].type = D_END;
+ do_dialog(term, d, getml(d, NULL));
+}
+
+static void *block_find_item(void *start, unsigned char *str, int direction)
+{
+ struct block *e,*s=start;
+
+ if (direction==1)
+ {
+ for (e=s->next; e!=s; e=e->next)
+ if (e->depth>-1)
+ {
+ if (e->url && casestrstr(e->url,str)) return e;
+ }
+ }
+ else
+ {
+ for (e=s->prev; e!=s; e=e->prev)
+ if (e->depth>-1)
+ {
+ if (e->url && casestrstr(e->url,str)) return e;
+ }
+ }
+
+ if (e==s&&e->depth>-1&&e->url && casestrstr(e->url,str)) return e;
+
+ return NULL;
+}
+
+
+void block_manager(struct terminal *term,void *fcp,struct session *ses)
+{
+ create_list_window(&blocks_ld,&blocks,term,ses);
+}
+
+
+void *block_add_URL_fn(struct session *ses, unsigned char *url)
+{
+ /*Callback from the dialog box created from the link menu*/
+ struct block* new_b;
+ struct terminal *term = ses ? ses->term : NULL;
+
+ if (test_list_window_in_use(&blocks_ld, term))
+ return NULL;
+
+ new_b = block_new_item(0);
+
+ if (new_b->url)
+ mem_free(new_b->url);
+
+ new_b->url = stracpy(url);
+ new_b->type = 0;
+
+ add_at_pos((struct block *)blocks_ld.list->prev, new_b);
+ return NULL;
+}
+
+void block_add_URL(struct terminal *term, void *xxx, struct session *ses)
+{
+ /*"Block Image" menu item calls this function*/
+ unsigned char *u;
+ struct f_data_c *fd = current_frame(ses);
+
+ if (!fd) return;
+ if (fd->vs->current_link == -1) return;
+ if (!(u = fd->f_data->links[fd->vs->current_link].where_img)) return;
+
+ if (test_list_window_in_use(&blocks_ld, term))
+ return;
+
+ input_field(ses->term, NULL, TEXT_(T_BLOCK_URL) , TEXT_(T_BLOCK_ADD), ses, 0, MAX_INPUT_URL_LEN, u, 0, 0, NULL, TEXT_(T_OK), (void (*)(void *, unsigned char *)) block_add_URL_fn, TEXT_(T_CANCEL), NULL, NULL);
+
+}
+
+static unsigned char *find_first_match(unsigned char *s, unsigned char *p, unsigned *ii)
+{
+ unsigned i;
+ retry:
+ for (i = 0; s[i] && p[i] && p[i] != '*'; i++) {
+ if (s[i] != p[i] && p[i] != '?') {
+ s++;
+ goto retry;
+ }
+ }
+ *ii = i;
+ if (!p[i] || p[i] == '*') return s;
+ return NULL;
+}
+
+static int simple_glob_match(unsigned char *s, unsigned char *p)
+{
+ unsigned i;
+ if (find_first_match(s, p, &i) != s) return 0;
+ if (!p[i]) return !s[i];
+ while (1) {
+ s += i;
+ p += i + 1;
+ if (!(s = find_first_match(s, p, &i))) return 0;
+ if (!p[i]) {
+ s += strlen(s) - i;
+ return !!find_first_match(s, p, &i);
+ }
+ }
+}
+
+
+int is_url_blocked(unsigned char* url)
+{
+ struct block* b;
+
+ foreach(b, blocks)
+ {
+ if(simple_glob_match(url, b->url))
+ return 1;
+ }
+
+ return 0;
+}
+
+void free_blocks(void)
+{
+ /*List destructor */
+ struct block* b;
+
+ foreach(b, blocks)
+ {
+ if(b->url)mem_free(b->url);
+ }
+
+ free_list(blocks);
+ free_list(block_search_histroy.items);
+}
+
+
+
+
diff --git a/bookmarks.c b/bookmarks.c
new file mode 100644
index 0000000..3a094c6
--- /dev/null
+++ b/bookmarks.c
@@ -0,0 +1,900 @@
+/* bookmarks.c
+ * (c) 2002 Petr 'Brain' Kulhavy, Karel 'Clock' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include <stdio.h>
+#include <string.h>
+
+#include "links.h"
+
+#define SEARCH_IN_URL
+
+#ifdef SEARCH_IN_URL
+#define SHOW_URL
+#endif
+
+int bookmarks_codepage=0;
+
+unsigned char bookmarks_file[MAX_STR_LEN]="";
+
+static struct stat bookmarks_st;
+
+static void *bookmark_new_item(void *);
+static unsigned char *bookmark_type_item(struct terminal *, void *, int);
+static void bookmark_delete_item(void *);
+static void bookmark_edit_item(struct dialog_data *,void *,void (*)(struct dialog_data *,void *,void *,struct list_description *),void *, unsigned char);
+static void bookmark_copy_item(void *, void *);
+static void bookmark_goto_item(struct session *, void *);
+static void *bookmark_default_value(struct session*, unsigned char);
+static void *bookmark_find_item(void *start, unsigned char *str, int direction);
+static void save_bookmarks(struct session *ses);
+
+struct list bookmarks={&bookmarks,&bookmarks,0,-1,NULL};
+
+static struct history bookmark_search_history = { 0, { &bookmark_search_history.items, &bookmark_search_history.items } };
+
+/* when you change anything, don't forget to change it in reinit_bookmarks too !*/
+
+struct bookmark_ok_struct{
+ void (*fn)(struct dialog_data *,void *,void *,struct list_description *);
+ void *data;
+ struct dialog_data *dlg;
+};
+
+
+struct bookmark_list{
+ /* common for all lists */
+ struct bookmark_list *next;
+ struct bookmark_list *prev;
+ unsigned char type;
+ int depth;
+ void *fotr;
+
+ /* bookmark specific */
+ unsigned char *title;
+ unsigned char *url;
+};
+
+
+static struct list_description bookmark_ld=
+{
+ 1, /* 0= flat; 1=tree */
+ &bookmarks, /* list */
+ bookmark_new_item, /* no codepage translations */
+ bookmark_edit_item, /* translate when create dialog and translate back when ok is pressed */
+ bookmark_default_value, /* codepage translation from current_page_encoding to UTF8 */
+ bookmark_delete_item, /* no codepage translations */
+ bookmark_copy_item, /* no codepage translations */
+ bookmark_type_item, /* no codepage translations (bookmarks are internally in UTF8) */
+ bookmark_find_item,
+ &bookmark_search_history,
+ 0, /* this is set in init_bookmarks function */
+ 15, /* # of items in main window */
+ T_BOOKMARK,
+ T_BOOKMARKS_ALREADY_IN_USE,
+ T_BOOKMARK_MANAGER,
+ T_DELETE_BOOKMARK,
+ T_GOTO,
+ bookmark_goto_item, /* FIXME: should work (URL in UTF8), but who knows? */
+ save_bookmarks,
+
+ NULL,NULL,0,0, /* internal vars */
+ 0, /* modified */
+ NULL,
+ NULL,
+ 0,
+};
+
+
+struct kawasaki
+{
+ unsigned char *title;
+ unsigned char *url;
+};
+
+
+/* clears the bookmark list */
+static void free_bookmarks(void)
+{
+ struct bookmark_list *bm;
+
+ foreach(bm, bookmarks) {
+ mem_free(bm->title);
+ mem_free(bm->url);
+ }
+
+ free_list(bookmarks);
+ free_list(bookmark_search_history.items);
+}
+
+
+/* called before exiting the links */
+void finalize_bookmarks(void)
+{
+ free_bookmarks();
+}
+
+
+
+/* allocates struct kawasaki and puts current page title and url */
+/* type: 0=item, 1=directory */
+/* on error returns NULL */
+static void *bookmark_default_value(struct session *ses, unsigned char type)
+{
+ struct kawasaki *zelena;
+ unsigned char *txt;
+
+ txt=mem_alloc(MAX_STR_LEN);
+
+ zelena=mem_alloc(sizeof(struct kawasaki));
+
+ zelena->url=NULL;
+ zelena->title=NULL;
+ if (get_current_url(ses,txt,MAX_STR_LEN))
+ {
+ if (ses->screen->f_data)
+ {
+ struct conv_table* ct;
+
+ ct=get_translation_table(ses->term->spec->charset,bookmark_ld.codepage);
+ zelena->url=convert_string(ct,txt,strlen(txt),NULL);
+ clr_white(zelena->url);
+ }
+ else
+ zelena->url=stracpy(txt);
+ }
+ if (get_current_title(ses,txt,MAX_STR_LEN)) /* ses->screen->f_data must exist here */
+ {
+ struct conv_table* ct;
+
+ ct=get_translation_table(ses->term->spec->charset,bookmark_ld.codepage);
+ zelena->title=convert_string(ct,txt,strlen(txt),NULL);
+ clr_white(zelena->title);
+ }
+
+ mem_free(txt);
+
+ return zelena;
+}
+
+
+static void bookmark_copy_item(void *in, void *out)
+{
+ struct bookmark_list *item_in=(struct bookmark_list*)in;
+ struct bookmark_list *item_out=(struct bookmark_list*)out;
+
+ item_out->type=item_in->type;
+ item_out->depth=item_in->depth;
+
+ if (item_out->title)
+ {
+ mem_free(item_out->title);
+ item_out->title=stracpy(item_in->title);
+ }
+ else internal("Bookmarks inconsistency.\n");
+ if (item_out->url)
+ {
+ mem_free(item_out->url);
+ item_out->url=stracpy(item_in->url);
+ }
+ else internal("Bookmarks inconsistency.\n");
+ return;
+}
+
+
+static unsigned char *bm_add_msg[] = {
+ TEXT_(T_NNAME),
+ TEXT_(T_URL),
+};
+
+
+/* Called to setup the add bookmark dialog */
+static void bookmark_edit_item_fn(struct dialog_data *dlg)
+{
+ int max = 0, min = 0;
+ int w, rw;
+ int y = gf_val(-1, -1*G_BFU_FONT_SIZE);
+ struct terminal *term;
+ int a;
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+
+ term = dlg->win->term;
+
+ for (a=0;a<dlg->n-2;a++)
+ {
+ max_text_width(term, bm_add_msg[a], &max, AL_LEFT);
+ min_text_width(term, bm_add_msg[a], &min, AL_LEFT);
+ }
+ max_buttons_width(term, dlg->items + dlg->n-2, 2, &max);
+ min_buttons_width(term, dlg->items + dlg->n-2, 2, &min);
+ w = term->x * 9 / 10 - 2 * DIALOG_LB;
+
+ /*if (w > max) w = max;*/
+ if (w < min) w = min;
+ /*
+ if (w > term->x - 2 * DIALOG_LB) w = term->x - 2 * DIALOG_LB;
+ if (w < 1) w = 1;
+ */
+
+ /*w = rw = gf_val(50,30*G_BFU_FONT_SIZE);*/
+ rw = w;
+
+ for (a=0;a<dlg->n-2;a++)
+ {
+ dlg_format_text_and_field(dlg, NULL, bm_add_msg[a], &dlg->items[a], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1,1*G_BFU_FONT_SIZE);
+ }
+ dlg_format_buttons(dlg, NULL, dlg->items+dlg->n-2, 2, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = w + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB;
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ for (a=0;a<dlg->n-2;a++)
+ {
+ dlg_format_text_and_field(dlg, term, bm_add_msg[a], &dlg->items[a], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y+=gf_val(1,G_BFU_FONT_SIZE);
+ }
+ dlg_format_buttons(dlg, term, &dlg->items[dlg->n-2], 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER);
+}
+
+
+/* Puts url and title into the bookmark item */
+static void bookmark_edit_done(void *data)
+{
+ struct dialog *d=(struct dialog*)data;
+ struct bookmark_list *item=(struct bookmark_list *)d->udata;
+ unsigned char *title, *url;
+ struct bookmark_ok_struct* s=(struct bookmark_ok_struct*)d->udata2;
+ int a;
+
+ if ((item->type)&1)a=4; /* folder */
+ else a=5;
+ title = (unsigned char *)&d->items[a];
+ url = title + MAX_STR_LEN;
+
+ if (item->title)
+ {
+ struct conv_table* ct;
+
+ mem_free(item->title);
+ ct=get_translation_table(s->dlg->win->term->spec->charset,bookmark_ld.codepage);
+ item->title=convert_string(ct,title,strlen(title),NULL);
+ clr_white(item->title);
+ }
+
+ if (item->url)
+ {
+ struct conv_table* ct;
+
+ mem_free(item->url);
+ ct=get_translation_table(s->dlg->win->term->spec->charset,bookmark_ld.codepage);
+ item->url=convert_string(ct,url,strlen(url),NULL);
+ clr_white(item->url);
+ }
+
+ s->fn(s->dlg,s->data,item,&bookmark_ld);
+ d->udata=NULL; /* for abort function */
+}
+
+
+/* destroys an item, this function is called when edit window is aborted */
+static void bookmark_edit_abort(struct dialog_data *data)
+{
+ struct bookmark_list *item=(struct bookmark_list*)data->dlg->udata;
+ struct dialog *dlg=data->dlg;
+
+ mem_free(dlg->udata2);
+ if (item)bookmark_delete_item(item);
+}
+
+
+/* dlg_title is TITLE_EDIT or TITLE_ADD */
+/* edit item function */
+static void bookmark_edit_item(struct dialog_data *dlg,void *data,void (*ok_fn)(struct dialog_data *,void * ,void *, struct list_description *),void * ok_arg, unsigned char dlg_title)
+{
+ struct bookmark_list *item=(struct bookmark_list *)data;
+ unsigned char *title, *url;
+ struct dialog *d;
+ struct bookmark_ok_struct *s;
+ int a;
+
+ /* Create the dialog */
+ s=mem_alloc(sizeof(struct bookmark_ok_struct));
+ s->fn=ok_fn;
+ s->data=ok_arg;
+ s->dlg=dlg;
+
+
+ if ((item->type)&1)a=4; /* folder */
+ else a=5;
+ d = mem_calloc(sizeof(struct dialog) + a * sizeof(struct dialog_item) + 2 * MAX_STR_LEN);
+
+
+ title = (unsigned char *)&d->items[a];
+ url = title + MAX_STR_LEN;
+
+ {
+ unsigned char *txt;
+ struct conv_table* ct;
+
+ ct=get_translation_table(bookmark_ld.codepage,dlg->win->term->spec->charset);
+ txt=convert_string(ct,item->title,strlen(item->title),NULL);
+ clr_white(txt);
+ safe_strncpy(title,txt,MAX_STR_LEN);
+ mem_free(txt);
+
+ txt=convert_string(ct,item->url,strlen(item->url),NULL);
+ clr_white(txt);
+ safe_strncpy(url,txt,MAX_STR_LEN);
+ mem_free(txt);
+ }
+
+ switch (dlg_title)
+ {
+ case TITLE_EDIT:
+ if ((item->type)&1)d->title=TEXT_(T_EDIT_FOLDER);
+ else d->title=TEXT_(T_EDIT_BOOKMARK);
+ break;
+
+ case TITLE_ADD:
+ if ((item->type)&1)d->title=TEXT_(T_ADD_FOLDER);
+ else d->title=TEXT_(T_ADD_BOOKMARK);
+ break;
+
+ default:
+ internal("Unsupported dialog title.\n");
+ }
+ d->fn = bookmark_edit_item_fn;
+ d->udata=data; /* item */
+ d->udata2=s;
+ d->refresh = bookmark_edit_done;
+ d->abort = bookmark_edit_abort;
+ d->refresh_data = d;
+
+ d->items[0].type = D_FIELD;
+ d->items[0].dlen = MAX_STR_LEN;
+ d->items[0].data = title;
+ d->items[0].fn = check_nonempty;
+
+ a=0;
+ if (!((item->type)&1)) /* item */
+ {
+ d->items[1].type = D_FIELD;
+ d->items[1].dlen = MAX_STR_LEN;
+ d->items[1].data = url;
+ d->items[1].fn = check_nonempty;
+ a++;
+ }
+
+ d->items[a+1].type = D_BUTTON;
+ d->items[a+1].gid = B_ENTER;
+ d->items[a+1].fn = ok_dialog;
+ d->items[a+1].text = TEXT_(T_OK);
+
+ d->items[a+2].type = D_BUTTON;
+ d->items[a+2].gid = B_ESC;
+ d->items[a+2].text = TEXT_(T_CANCEL);
+ d->items[a+2].fn = cancel_dialog;
+
+ d->items[a+3].type = D_END;
+
+ do_dialog(dlg->win->term, d, getml(d, NULL));
+}
+
+
+/* create new bookmark item and returns pointer to it, on error returns 0*/
+/* bookmark is filled with given data, data are deallocated afterwards */
+static void *bookmark_new_item(void * data)
+{
+ struct bookmark_list *b;
+ struct kawasaki *zelena=(struct kawasaki *)data;
+
+ b=mem_alloc(sizeof(struct bookmark_list));
+
+ b->url=mem_alloc(1);
+ b->title=mem_alloc(1);
+
+ *(b->url)=0; /* empty strings */
+ *(b->title)=0;
+
+ if (!zelena) return b;
+
+ if (zelena->title)
+ {
+ add_to_strn(&(b->title),zelena->title);
+ mem_free(zelena->title);
+ }
+ if (zelena->url)
+ {
+ add_to_strn(&(b->url),zelena->url);
+ mem_free(zelena->url);
+ }
+
+ mem_free(zelena);
+
+ return b;
+}
+
+
+/* allocate string and print bookmark into it */
+/* x: 0=type all, 1=type title only */
+static unsigned char *bookmark_type_item(struct terminal *term, void *data, int x)
+{
+ unsigned char *txt, *txt1;
+ struct bookmark_list* item=(struct bookmark_list*)data;
+ struct conv_table *table;
+
+ if (item==(struct bookmark_list*)(void *)&bookmarks) /* head */
+ return stracpy(_(TEXT_(T_BOOKMARKS),term));
+
+ txt=stracpy(item->title);
+#ifdef SHOW_URL
+ x=0;
+#endif
+ if (!x&&!((item->type)&1))
+ {
+ add_to_strn(&txt," (");
+ if (item->url)add_to_strn(&txt,item->url);
+ add_to_strn(&txt,")");
+ }
+
+ table=get_translation_table(bookmark_ld.codepage,term->spec->charset);
+ txt1=convert_string(table,txt,strlen(txt),NULL);
+ clr_white(txt1);
+ mem_free(txt);
+ return txt1;
+}
+
+
+/* goto bookmark (called when goto button is pressed) */
+static void bookmark_goto_item(struct session *ses, void *i)
+{
+ struct bookmark_list *item=(struct bookmark_list*)i;
+
+ goto_url(ses,item->url);
+}
+
+
+/* delete bookmark from list */
+static void bookmark_delete_item(void *data)
+{
+ struct bookmark_list* item=(struct bookmark_list*)data;
+ struct bookmark_list *prev=item->prev;
+ struct bookmark_list *next=item->next;
+
+ if (list_empty(*item)||((struct list*)data==&bookmarks))return; /* empty list or head */
+ if (item->url)mem_free(item->url);
+ if (item->title)mem_free(item->title);
+ if (next)next->prev=item->prev;
+ if (prev)prev->next=item->next;
+ mem_free(item);
+}
+
+static int substr_utf8(unsigned char *string, unsigned char *substr)
+{
+ int r;
+ string = unicode_upcase_string(string);
+ substr = unicode_upcase_string(substr);
+ r = !!strstr(string, substr);
+ mem_free(string);
+ mem_free(substr);
+ return r;
+}
+
+static void * bookmark_find_item(void *start, unsigned char *str, int direction)
+{
+ struct bookmark_list *b,*s=(struct bookmark_list *)start;
+
+
+ if (direction==1)
+ {
+ for (b=s->next; b!=s; b=b->next)
+ if (b->depth>-1)
+ {
+ if (b->title && substr_utf8(b->title,str)) return b;
+#ifdef SEARCH_IN_URL
+ if (b->url && casestrstr(b->url,str)) return b;
+#endif
+ }
+ }
+ else
+ {
+ for (b=s->prev; b!=s; b=b->prev)
+ if (b->depth>-1)
+ {
+ if (b->title && substr_utf8(b->title,str)) return b;
+#ifdef SEARCH_IN_URL
+ if (b->url && casestrstr(b->url,str)) return b;
+#endif
+ }
+ }
+ if (b==s&&b->depth>-1&&b->title && substr_utf8(b->title,str)) return b;
+#ifdef SEARCH_IN_URL
+ if (b==s&&b->depth>-1&&b->url && casestrstr(b->url,str)) return b;
+#endif
+
+ return NULL;
+}
+
+
+/* returns previous item in the same folder and with same the depth, or father if there's no previous item */
+/* we suppose that previous items have correct pointer fotr */
+static struct bookmark_list *previous_on_this_level(struct bookmark_list *item)
+{
+ struct bookmark_list *p;
+
+ for (p=item->prev;p->depth>item->depth;p=p->fotr)
+ ;
+ return p;
+}
+
+
+/* create new bookmark at the end of the list */
+/* if url is NULL, create folder */
+/* both strings are null terminated */
+static void add_bookmark(unsigned char *title, unsigned char *url, int depth)
+{
+ struct bookmark_list *b,*p;
+ struct document_options *dop;
+
+ if (!title) return;
+
+ b=mem_alloc(sizeof(struct bookmark_list));
+
+ dop=mem_calloc(sizeof(struct document_options));
+ dop->cp=bookmarks_codepage;
+
+ {
+ struct conv_table* ct;
+
+ ct=get_translation_table(bookmarks_codepage,bookmark_ld.codepage);
+ b->title=convert_string(ct,title,strlen(title),dop);
+ clr_white(b->title);
+ }
+
+ if (url)
+ {
+ struct conv_table* ct;
+
+ dop->plain=1;
+ ct=get_translation_table(bookmarks_codepage,bookmark_ld.codepage);
+ b->url=convert_string(ct,url,strlen(url),dop);
+ clr_white(b->url);
+ dop->plain=0;
+
+ b->type=0;
+ }
+ else
+ {
+ b->url=mem_alloc(1);
+ *(b->url)=0;
+ b->type=1;
+ }
+
+ b->depth=depth;
+
+ p=bookmarks.prev;
+ b->prev=p;
+ b->next=(struct bookmark_list *)(void *)&bookmarks;
+ p->next=b;
+ bookmarks.prev=b;
+
+
+ p=previous_on_this_level(b);
+ if (p->depth<b->depth)b->fotr=p; /* directory b belongs into */
+ else b->fotr=p->fotr;
+ mem_free(dop);
+}
+
+/* Created pre-cooked bookmarks */
+static void create_initial_bookmarks(void)
+{
+ bookmarks_codepage=utf8_table;
+ add_bookmark("Links",NULL,0);
+ add_bookmark("English",NULL,1);
+ add_bookmark("Calibration Procedure","http://atrey.karlin.mff.cuni.cz/~clock/twibright/links/calibration.html",2);
+ add_bookmark("Links Homepage","http://atrey.karlin.mff.cuni.cz/~clock/twibright/links/",2);
+ add_bookmark("Links Manual","http://links.twibright.com/user_en.html",2);
+ add_bookmark("Cesky",NULL,1);
+ add_bookmark("Kalibracni procedura","http://atrey.karlin.mff.cuni.cz/~clock/twibright/links/kalibrace.html",2);
+ add_bookmark("Links: domaci stranka","http://atrey.karlin.mff.cuni.cz/~clock/twibright/links/index_cz.html",2);
+ add_bookmark("Manual k Linksu","http://links.twibright.com/user.html",2);
+}
+
+static void load_bookmarks(struct session *ses)
+{
+ unsigned char *buf;
+ long len;
+
+ unsigned char *p, *end;
+ unsigned char *name, *attr;
+ int namelen;
+ int status;
+ unsigned char *title=0;
+ unsigned char *url=0;
+ int depth;
+
+ struct document_options dop;
+ int rs;
+
+ memset(&dop, 0, sizeof(dop));
+ dop.plain=1;
+
+ /* status:
+ * 0 = find <dt> or </dl> element
+ * 1 = find <a> or <h3> element
+ * 2 = reading bookmark, find </a> element, title is pointer
+ * behind the leading <a> element
+ * 3 = reading folder name, find </h3> element, title is
+ * pointer behind leading <h3> element
+ */
+
+ buf=read_config_file(bookmarks_file);
+ if (!buf){
+ create_initial_bookmarks();
+ bookmark_ld.modified=1;
+ save_bookmarks(ses);
+ return;
+ }
+
+ len=strlen(buf);
+
+ p=buf;
+ end=buf+len;
+
+ status=0; /* find bookmark */
+ depth=0;
+
+ d_opt=&dop;
+ while (1)
+ {
+ unsigned char *s;
+
+ while (p<end&&*p!='<')p++; /* find start of html tag */
+ if (p>=end)break; /* parse end */
+ s=p;
+ if (p+2<=end&&(p[1]=='!'||p[1]=='?')){p=skip_comment(p,end);continue;}
+ if (parse_element(p, end, &name, &namelen, &attr, &p)){p++;continue;}
+
+ switch (status)
+ {
+ case 0: /* <dt> or </dl> */
+ if (namelen==2&&!casecmp(name,"dt",2))
+ status=1;
+ else if (namelen==3&&!casecmp(name,"/dl",3))
+ {
+ depth--;
+ if (depth==-1)goto smitec;
+ }
+ continue;
+
+ case 1: /* find "a" element */
+ if (namelen==1&&!casecmp(name,"a",1))
+ {
+ if (!(url=get_attr_val(attr,"href")))continue;
+ status=2;
+ title=p;
+ }
+ if (namelen==2&&!casecmp(name,"h3",1))
+ {
+ status=3;
+ title=p;
+ }
+ continue;
+
+ case 2: /* find "/a" element */
+ if (namelen!=2||casecmp(name,"/a",2))continue; /* ignore all other elements */
+ *s=0;
+ add_bookmark(title,url,depth);
+ mem_free(url);
+ status=0;
+ continue;
+
+ case 3: /* find "/h3" element */
+ if (namelen!=3||casecmp(name,"/h3",2))continue; /* ignore all other elements */
+ *s=0;
+ add_bookmark(title,NULL,depth);
+ status=0;
+ depth++;
+ continue;
+ }
+ }
+ if (status==2)mem_free(url);
+smitec:
+ mem_free(buf);
+ d_opt=&dd_opt;
+ bookmark_ld.modified=0;
+
+ EINTRLOOP(rs, stat(bookmarks_file, &bookmarks_st));
+ if (rs)
+ memset(&bookmarks_st, 0, sizeof bookmarks_st);
+}
+
+void init_bookmarks(void)
+{
+ memset(&bookmarks_st, 0, sizeof bookmarks_st);
+ if (!*bookmarks_file)
+ snprintf(bookmarks_file,MAX_STR_LEN,"%sbookmarks.html",links_home?links_home:(unsigned char*)"");
+
+ bookmark_ld.codepage=utf8_table;
+ load_bookmarks(NULL);
+}
+
+void reinit_bookmarks(struct session *ses, unsigned char *new_bookmarks_file, int new_bookmarks_codepage)
+{
+ unsigned char *buf;
+ if (test_list_window_in_use(&bookmark_ld, ses->term))
+ return;
+
+ if (!strcmp(bookmarks_file, new_bookmarks_file)) {
+ goto save_only;
+ }
+
+ buf=read_config_file(new_bookmarks_file);
+ if (buf) {
+ mem_free(buf);
+ free_bookmarks();
+ safe_strncpy(bookmarks_file,new_bookmarks_file,MAX_STR_LEN);
+ bookmarks_codepage=new_bookmarks_codepage;
+ load_bookmarks(ses);
+ reinit_list_window(&bookmark_ld);
+ } else {
+ save_only:
+ safe_strncpy(bookmarks_file,new_bookmarks_file,MAX_STR_LEN);
+ bookmarks_codepage=new_bookmarks_codepage;
+ bookmark_ld.modified=1;
+ save_bookmarks(ses);
+ }
+}
+
+
+/* gets str, converts all < = > & to appropriate entity
+ * returns allocated string with result
+ */
+static unsigned char *convert_to_entity_string(unsigned char *str)
+{
+ unsigned char *dst, *p, *q;
+ int size;
+
+ for (size=1,p=str;*p;size+=*p=='&'?5:*p=='<'||*p=='>'||*p=='='?4:*p=='"'?6:1,p++)
+ ;
+
+ dst=mem_alloc(size);
+
+ for (p=str,q=dst;*p;p++,q++)
+ {
+ switch(*p)
+ {
+ case '<':
+ case '>':
+ q[0]='&',q[1]=*p=='<'?'l':'g',q[2]='t',q[3]=';',q+=3;
+ break;
+
+ case '=':
+ q[0]='&',q[1]='e',q[2]='q',q[3]=';',q+=3;
+ break;
+
+ case '&':
+ q[0]='&',q[1]='a',q[2]='m',q[3]='p',q[4]=';',q+=4;
+ break;
+
+ case '"':
+ q[0]='&',q[1]='q',q[2]='u',q[3]='o',q[4]='t',q[5]=';',q+=5;
+ break;
+
+ default:
+ *q=*p;
+ break;
+ }
+ }
+ *q=0;
+ return dst;
+}
+
+/* writes bookmarks to disk */
+static void save_bookmarks(struct session *ses)
+{
+ struct bookmark_list *b;
+ int depth;
+ int a;
+ struct conv_table *ct;
+ unsigned char *data;
+ int l;
+ int err;
+ int rs;
+
+ if (!bookmark_ld.modified)return;
+ ct=get_translation_table(bookmark_ld.codepage,bookmarks_codepage);
+ data=init_str();
+ l=0;
+ add_to_str(&data, &l,
+ "<HTML>\n"
+ "<HEAD>\n"
+ "<!-- This is an automatically generated file.\n"
+ "It will be read and overwritten.\n"
+ "Do Not Edit! -->\n"
+ "<TITLE>Links bookmarks</TITLE>\n"
+ "</HEAD>\n"
+ "<H1>Links bookmarks</H1>\n\n"
+ "<DL><P>\n"
+ );
+ depth=0;
+ foreach(b,bookmarks)
+ {
+ for (a=b->depth;a<depth;a++)add_to_str(&data, &l,"</DL>\n");
+ depth=b->depth;
+
+ if ((b->type)&1)
+ {
+ unsigned char *txt, *txt1;
+ txt=convert_string(ct,b->title,strlen(b->title),NULL);
+ clr_white(txt);
+ txt1=convert_to_entity_string(txt);
+ add_to_str(&data, &l, " <DT><H3>");
+ add_to_str(&data, &l, txt1);
+ add_to_str(&data, &l, "</H3>\n<DL>\n");
+ mem_free(txt);
+ mem_free(txt1);
+ depth++;
+ }
+ else
+ {
+ unsigned char *txt1, *txt2, *txt11;
+ txt1=convert_string(ct,b->title,strlen(b->title),NULL);
+ clr_white(txt1);
+ txt2=convert_string(ct,b->url,strlen(b->url),NULL);
+ clr_white(txt2);
+ txt11=convert_to_entity_string(txt1);
+ add_to_str(&data, &l, " <DT><A HREF=\"");
+ add_to_str(&data, &l, txt2);
+ add_to_str(&data, &l, "\">");
+ add_to_str(&data, &l, txt11);
+ add_to_str(&data, &l, "</A>\n");
+ mem_free(txt1);
+ mem_free(txt2);
+ mem_free(txt11);
+ }
+ }
+ for (a=0;a<depth;a++)add_to_str(&data, &l,"</DL>\n");
+ add_to_str(&data, &l,
+ "</DL><P>\n"
+ "</HTML>\n"
+ );
+ err = write_to_config_file(bookmarks_file, data);
+ mem_free(data);
+ if (!err) {
+ bookmark_ld.modified=0;
+ } else {
+ if (ses) {
+ unsigned char *f = stracpy(bookmarks_file);
+ msg_box(ses->term, getml(f, NULL), TEXT_(T_BOOKMARK_ERROR), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE), " ", f, ": ", get_err_msg(err), NULL, NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ }
+ }
+
+ EINTRLOOP(rs, stat(bookmarks_file, &bookmarks_st));
+ if (rs)
+ memset(&bookmarks_st, 0, sizeof bookmarks_st);
+}
+
+void menu_bookmark_manager(struct terminal *term,void *fcp,struct session *ses)
+{
+ struct stat st;
+ int rs;
+ EINTRLOOP(rs, stat(bookmarks_file, &st));
+ if (!rs &&
+ (st.st_ctime != bookmarks_st.st_ctime ||
+ st.st_mtime != bookmarks_st.st_mtime ||
+ st.st_size != bookmarks_st.st_size)) {
+ if (!test_list_window_in_use(&bookmark_ld, NULL)) {
+ free_bookmarks();
+ load_bookmarks(ses);
+ reinit_list_window(&bookmark_ld);
+ }
+ }
+ create_list_window(&bookmark_ld,&bookmarks,term,ses);
+}
+
diff --git a/cache.c b/cache.c
new file mode 100644
index 0000000..eda72e4
--- /dev/null
+++ b/cache.c
@@ -0,0 +1,444 @@
+/* cache.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+static struct list_head cache = {&cache, &cache};
+
+static unsigned long cache_size;
+
+static tcount cache_count = 1;
+
+unsigned long cache_info(int type)
+{
+ unsigned long i = 0;
+ struct cache_entry *ce;
+ switch (type) {
+ case CI_BYTES:
+ return cache_size;
+ case CI_FILES:
+ foreach(ce, cache) i++;
+ return i;
+ case CI_LOCKED:
+ foreach(ce, cache) i += !!ce->refcount;
+ return i;
+ case CI_LOADING:
+ foreach(ce, cache) i += is_entry_used(ce);
+ return i;
+ case CI_LIST:
+ return (unsigned long) &cache;
+ default:
+ internal("cache_info: bad request");
+ }
+ return 0;
+}
+
+unsigned long decompress_info(int type)
+{
+ unsigned long i = 0;
+ struct cache_entry *ce;
+ switch (type) {
+ case CI_BYTES:
+ return decompressed_cache_size;
+ case CI_FILES:
+ foreach(ce, cache) i += !!ce->decompressed;
+ return i;
+ case CI_LOCKED:
+ foreach(ce, cache) i += ce->decompressed && ce->refcount;
+ return i;
+ default:
+ internal("compress_info: bad request");
+ }
+ return 0;
+}
+
+static unsigned char *extract_proxy(unsigned char *url)
+{
+ unsigned char *a;
+ if (strlen(url) < 8 || casecmp(url, "proxy://", 8)) return url;
+ if (!(a = strchr(url + 8, '/'))) return url;
+ return a + 1;
+}
+
+int find_in_cache(unsigned char *url, struct cache_entry **f)
+{
+ struct cache_entry *e;
+ url = extract_proxy(url);
+ foreach(e, cache) if (!strcmp(e->url, url)) {
+ e->refcount++;
+ del_from_list(e);
+ add_to_list(cache, e);
+ *f = e;
+ return 0;
+ }
+ return -1;
+}
+
+int get_cache_entry(unsigned char *url, struct cache_entry **f)
+{
+ if (!find_in_cache(url, f)) return 0;
+ return new_cache_entry(url, f);
+}
+
+int new_cache_entry(unsigned char *url, struct cache_entry **f)
+{
+ struct cache_entry *e;
+ shrink_memory(SH_CHECK_QUOTA);
+ url = extract_proxy(url);
+ e = mem_calloc(sizeof(struct cache_entry));
+ e->url = mem_alloc(strlen(url)+1);
+ strcpy(e->url, url);
+ e->length = 0;
+ e->incomplete = 1;
+ e->data_size = 0;
+ e->http_code = -1;
+ init_list(e->frag);
+ e->count = cache_count++;
+ e->count2 = cache_count++;
+ e->refcount = 1;
+ e->decompressed = NULL;
+ e->decompressed_len = 0;
+ add_to_list(cache, e);
+ *f = e;
+ return 0;
+}
+
+void detach_cache_entry(struct cache_entry *e)
+{
+ e->url[0] = 0;
+}
+
+#define sf(x) e->data_size += (x), cache_size += (x)
+
+int page_size = 4096;
+
+#define C_ALIGN(x) ((((x) + sizeof(struct fragment) + 64) | (page_size - 1)) - sizeof(struct fragment) - 64)
+
+int add_fragment(struct cache_entry *e, off_t offset, unsigned char *data, off_t length)
+{
+ struct fragment *f;
+ struct fragment *nf;
+ int a = 0;
+ int trunc = 0;
+ volatile off_t ca;
+ if (!length) return 0;
+ free_decompressed_data(e);
+ e->incomplete = 1;
+ if ((off_t)(0UL + offset + length) < 0 || (off_t)(0UL + offset + length) < offset) return S_LARGE_FILE;
+ if ((off_t)(0UL + offset + (off_t)C_ALIGN(length)) < 0 || (off_t)(0UL + offset + (off_t)C_ALIGN(length)) < offset) return S_LARGE_FILE;
+ if (e->length < offset + length) e->length = offset + length;
+ e->count = cache_count++;
+ if (list_empty(e->frag)) e->count2 = cache_count++;
+ else {
+ f = e->frag.prev;
+ if (f->offset + f->length != offset) e->count2 = cache_count++;
+ }
+ foreach(f, e->frag) {
+ if (f->offset > offset) break;
+ if (f->offset <= offset && f->offset+f->length >= offset) {
+ if (offset+length > f->offset+f->length) {
+ if (memcmp(f->data+offset-f->offset, data, f->offset+f->length-offset)) trunc = 1;
+ a = 1; /* !!! FIXME */
+ if (offset-f->offset+length <= f->real_length) {
+ sf((offset+length) - (f->offset+f->length));
+ f->length = offset-f->offset+length;
+ }
+ else {
+ sf(-(f->offset+f->length-offset));
+ f->length = offset-f->offset;
+ f = f->next;
+ break;
+ }
+ } else {
+ if (memcmp(f->data+offset-f->offset, data, length)) trunc = 1;
+ }
+ memcpy(f->data+offset-f->offset, data, length);
+ goto ch_o;
+ }
+ }
+/* Intel C 9 has a bug and miscompiles this statement (< 0 test is true) */
+ /*if (C_ALIGN(length) > MAXINT - sizeof(struct fragment) || C_ALIGN(length) < 0) overalloc();*/
+ ca = C_ALIGN(length);
+ if (ca > MAXINT - (int)sizeof(struct fragment) || ca < 0) return S_LARGE_FILE;
+ nf = mem_alloc_mayfail(sizeof(struct fragment) + ca);
+ if (!nf) return S_OUT_OF_MEM;
+ a = 1;
+ sf(length);
+ nf->offset = offset;
+ nf->length = length;
+ nf->real_length = C_ALIGN(length);
+ memcpy(nf->data, data, length);
+ add_at_pos(f->prev, nf);
+ f = nf;
+ ch_o:
+ while ((void *)f->next != &e->frag && f->offset+f->length > f->next->offset) {
+ if (f->offset+f->length < f->next->offset+f->next->length) {
+ nf = mem_realloc(f, sizeof(struct fragment)+f->next->offset-f->offset+f->next->length);
+ nf->prev->next = nf;
+ nf->next->prev = nf;
+ f = nf;
+ if (memcmp(f->data+f->next->offset-f->offset, f->next->data, f->offset+f->length-f->next->offset)) trunc = 1;
+ memcpy(f->data+f->length, f->next->data+f->offset+f->length-f->next->offset, f->next->offset+f->next->length-f->offset-f->length);
+ sf(f->next->offset+f->next->length-f->offset-f->length);
+ f->length = f->real_length = f->next->offset+f->next->length-f->offset;
+ } else {
+ if (memcmp(f->data+f->next->offset-f->offset, f->next->data, f->next->length)) trunc = 1;
+ }
+ nf = f->next;
+ del_from_list(nf);
+ sf(-nf->length);
+ mem_free(nf);
+ }
+ if (trunc) truncate_entry(e, offset + length, 0);
+ /*{
+ foreach(f, e->frag) fprintf(stderr, "%d, %d, %d\n", f->offset, f->length, f->real_length);
+ debug("a-");
+ }*/
+ return a;
+}
+
+int defrag_entry(struct cache_entry *e)
+{
+ struct fragment *f, *g, *h, *n, *x;
+ off_t l;
+ if (list_empty(e->frag)) {
+ return 0;
+ }
+ f = e->frag.next;
+ if (f->offset) {
+ return 0;
+ }
+ for (g = f->next; g != (void *)&e->frag && g->offset <= g->prev->offset+g->prev->length; g = g->next) if (g->offset < g->prev->offset+g->prev->length) {
+ internal("fragments overlay");
+ return S_INTERNAL;
+ }
+ /*debug("%p %p %d %d", g, f->next, f->length, f->real_length);*/
+ if (g == f->next) {
+ if (f->length != f->real_length) {
+ f = mem_realloc_mayfail(f, sizeof(struct fragment) + f->length);
+ if (f) {
+ f->real_length = f->length;
+ f->next->prev = f;
+ f->prev->next = f;
+ }
+ }
+ return 0;
+ }
+ for (l = 0, h = f; h != g; h = h->next) {
+ if ((off_t)(0UL + l + h->length) < 0 || (off_t)(0UL + l + h->length) < l) return S_LARGE_FILE;
+ l += h->length;
+ }
+ if (l > MAXINT - (int)sizeof(struct fragment)) return S_LARGE_FILE;
+ n = mem_alloc_mayfail(sizeof(struct fragment) + l);
+ if (!n) return S_OUT_OF_MEM;
+ n->offset = 0;
+ n->length = l;
+ n->real_length = l;
+ /*{
+ struct fragment *f;
+ foreach(f, e->frag) fprintf(stderr, "%d, %d, %d\n", f->offset, f->length, f->real_length);
+ debug("d1-");
+ }*/
+ for (l = 0, h = f; h != g; h = h->next) {
+ memcpy(n->data + l, h->data, h->length);
+ l += h->length;
+ x = h;
+ h = h->prev;
+ del_from_list(x);
+ mem_free(x);
+ }
+ add_to_list(e->frag, n);
+ /*{
+ foreach(f, e->frag) fprintf(stderr, "%d, %d, %d\n", f->offset, f->length, f->real_length);
+ debug("d-");
+ }*/
+ return 0;
+}
+
+void truncate_entry(struct cache_entry *e, off_t off, int final)
+{
+ int modified = 0;
+ struct fragment *f, *g;
+ if (e->length > off) e->length = off, e->incomplete = 1;
+ foreach(f, e->frag) {
+ if (f->offset >= off) {
+ del:
+ while ((void *)f != &e->frag) {
+ modified = 1;
+ sf(-f->length);
+ g = f->next;
+ del_from_list(f);
+ mem_free(f);
+ f = g;
+ }
+ goto ret;
+ }
+ if (f->offset + f->length > off) {
+ modified = 1;
+ sf(-(f->offset + f->length - off));
+ f->length = off - f->offset;
+ if (final) {
+ g = mem_realloc(f, sizeof(struct fragment) + f->length);
+ g->next->prev = g;
+ g->prev->next = g;
+ f = g;
+ f->real_length = f->length;
+ }
+ f = f->next;
+ goto del;
+ }
+ }
+ ret:
+ if (modified) {
+ free_decompressed_data(e);
+ e->count = cache_count++;
+ e->count2 = cache_count++;
+ }
+}
+
+void free_entry_to(struct cache_entry *e, off_t off)
+{
+ struct fragment *f, *g;
+ e->incomplete = 1;
+ free_decompressed_data(e);
+ foreach(f, e->frag) {
+ if (f->offset + f->length <= off) {
+ sf(-f->length);
+ g = f;
+ f = f->prev;
+ del_from_list(g);
+ mem_free(g);
+ } else if (f->offset < off) {
+ sf(f->offset - off);
+ memmove(f->data, f->data + (off - f->offset), f->length -= off - f->offset);
+ f->offset = off;
+ } else break;
+ }
+}
+
+void delete_entry_content(struct cache_entry *e)
+{
+ e->count = cache_count++;
+ e->count2 = cache_count++;
+ free_list(e->frag);
+ e->length = 0;
+ e->incomplete = 1;
+ if (cache_size < (unsigned long)e->data_size) {
+ internal("cache_size underflow: %lu, %lu", cache_size, (unsigned long)e->data_size);
+ }
+ cache_size -= e->data_size;
+ e->data_size = 0;
+ if (e->last_modified) {
+ mem_free(e->last_modified);
+ e->last_modified = NULL;
+ }
+ free_decompressed_data(e);
+}
+
+void trim_cache_entry(struct cache_entry *e)
+{
+ struct fragment *f, *nf;
+ foreach(f, e->frag) {
+ if (f->length != f->real_length) {
+ nf = mem_realloc_mayfail(f, sizeof(struct fragment) + f->length);
+ if (nf) {
+ f = nf;
+ f->real_length = f->length;
+ f->next->prev = f;
+ f->prev->next = f;
+ }
+ }
+ }
+}
+
+void delete_cache_entry(struct cache_entry *e)
+{
+ if (e->refcount) internal("deleteing locked cache entry");
+#ifdef DEBUG
+ if (is_entry_used(e)) internal("deleting loading cache entry");
+#endif
+ delete_entry_content(e);
+ del_from_list(e);
+ mem_free(e->url);
+ if (e->head) mem_free(e->head);
+ if (e->last_modified) mem_free(e->last_modified);
+ if (e->redirect) mem_free(e->redirect);
+#ifdef HAVE_SSL
+ if (e->ssl_info) mem_free(e->ssl_info);
+#endif
+ mem_free(e);
+}
+
+static int shrink_file_cache(int u)
+{
+ int r = 0;
+ struct cache_entry *e, *f;
+ unsigned long ncs = cache_size;
+ unsigned long ccs = 0, ccs2 = 0;
+
+ if (u == SH_CHECK_QUOTA && cache_size + decompressed_cache_size <= (unsigned long)memory_cache_size) goto ret;
+ foreachback(e, cache) {
+ if (e->refcount || is_entry_used(e)) {
+ if (ncs < (unsigned long)e->data_size) {
+ internal("cache_size underflow: %lu, %lu", ncs, (unsigned long)e->data_size);
+ }
+ ncs -= e->data_size;
+ } else if (u == SH_FREE_SOMETHING) {
+ if (e->decompressed_len) free_decompressed_data(e);
+ else delete_cache_entry(e);
+ r |= ST_SOMETHING_FREED;
+ goto ret;
+ }
+ if (!e->refcount && e->decompressed_len && cache_size + decompressed_cache_size > (unsigned long)memory_cache_size) {
+ free_decompressed_data(e);
+ r |= ST_SOMETHING_FREED;
+ }
+ ccs += e->data_size;
+ ccs2 += e->decompressed_len;
+ }
+ if (ccs != cache_size) internal("cache size badly computed: %lu != %lu", cache_size, ccs), cache_size = ccs;
+ if (ccs2 != decompressed_cache_size) internal("decompressed cache size badly computed: %lu != %lu", decompressed_cache_size, ccs2), decompressed_cache_size = ccs2;
+ if (u == SH_CHECK_QUOTA && ncs <= (unsigned long)memory_cache_size) goto ret;
+ foreachback(e, cache) {
+ if (u == SH_CHECK_QUOTA && (longlong)ncs <= (longlong)memory_cache_size * MEMORY_CACHE_GC_PERCENT) goto g;
+ if (e->refcount || is_entry_used(e)) {
+ e->tgc = 0;
+ continue;
+ }
+ e->tgc = 1;
+ if (ncs < (unsigned long)e->data_size) {
+ internal("cache_size underflow: %lu, %lu", ncs, (unsigned long)e->data_size);
+ }
+ ncs -= e->data_size;
+ }
+ if (ncs) internal("cache_size(%lu) is larger than size of all objects(%lu)", cache_size, cache_size - ncs);
+ g:
+ if ((void *)(e = e->next) == &cache) goto ret;
+ if (u == SH_CHECK_QUOTA) for (f = e; (void *)f != &cache; f = f->next) {
+ if (f->data_size && (longlong)ncs + f->data_size <= (longlong)memory_cache_size * MEMORY_CACHE_GC_PERCENT) {
+ ncs += f->data_size;
+ f->tgc = 0;
+ }
+ }
+ for (f = e; (void *)f != &cache;) {
+ f = f->next;
+ if (f->prev->tgc) {
+ delete_cache_entry(f->prev);
+ r |= ST_SOMETHING_FREED;
+ }
+ }
+ ret:
+ return r | (list_empty(cache) ? ST_CACHE_EMPTY : 0);
+}
+
+void init_cache(void)
+{
+#ifdef HAVE_GETPAGESIZE
+ int getpg;
+ EINTRLOOP(getpg, getpagesize());
+ if (getpg > 0 && getpg < 0x10000 && !(getpg & (getpg - 1))) page_size = getpg;
+#endif
+ register_cache_upcall(shrink_file_cache, "file");
+}
diff --git a/cfg.h b/cfg.h
new file mode 100644
index 0000000..37506fb
--- /dev/null
+++ b/cfg.h
@@ -0,0 +1,35 @@
+/* cfg.h
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#ifndef CFG_H
+#define CFG_H
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#ifdef HAVE_CONFIG2_H
+#include "config2.h"
+#endif
+
+/* no one will probably ever port svgalib on atheos or beos or port atheos
+ interface to beos, but anyway: make sure they don't clash */
+
+#if defined(__BEOS__) || defined(__HAIKU__)
+#ifdef GRDRV_SVGALIB
+#undef GRDRV_SVGALIB
+#endif
+#ifdef GRDRV_ATHEOS
+#undef GRDRV_ATHEOS
+#endif
+#endif
+
+#ifdef GRDRV_ATHEOS
+#ifdef GRDRV_SVGALIB
+#undef GRDRV_SVGALIB
+#endif
+#endif
+
+typedef int cfg_h_no_empty_unit;
+
+#endif
diff --git a/charsets.c b/charsets.c
new file mode 100644
index 0000000..07d8197
--- /dev/null
+++ b/charsets.c
@@ -0,0 +1,630 @@
+/* charsets.c
+ * (c) 2002 Mikulas Patocka, Karel 'Clock' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+int utf8_table;
+
+struct table_entry {
+ unsigned char c;
+ int u;
+};
+
+struct codepage_desc {
+ unsigned char *name;
+ unsigned char **aliases;
+ struct table_entry *table;
+};
+
+#include "codepage.inc"
+#include "uni_7b.inc"
+#include "entity.inc"
+#include "upcase.inc"
+
+static unsigned char strings[256][2] = {
+ "\000", "\001", "\002", "\003", "\004", "\005", "\006", "\007",
+ "\010", "\011", "\012", "\013", "\014", "\015", "\016", "\017",
+ "\020", "\021", "\022", "\023", "\024", "\025", "\026", "\033",
+ "\030", "\031", "\032", "\033", "\034", "\035", "\036", "\033",
+ "\040", "\041", "\042", "\043", "\044", "\045", "\046", "\047",
+ "\050", "\051", "\052", "\053", "\054", "\055", "\056", "\057",
+ "\060", "\061", "\062", "\063", "\064", "\065", "\066", "\067",
+ "\070", "\071", "\072", "\073", "\074", "\075", "\076", "\077",
+ "\100", "\101", "\102", "\103", "\104", "\105", "\106", "\107",
+ "\110", "\111", "\112", "\113", "\114", "\115", "\116", "\117",
+ "\120", "\121", "\122", "\123", "\124", "\125", "\126", "\127",
+ "\130", "\131", "\132", "\133", "\134", "\135", "\136", "\137",
+ "\140", "\141", "\142", "\143", "\144", "\145", "\146", "\147",
+ "\150", "\151", "\152", "\153", "\154", "\155", "\156", "\157",
+ "\160", "\161", "\162", "\163", "\164", "\165", "\166", "\167",
+ "\170", "\171", "\172", "\173", "\174", "\175", "\176", "\177",
+ "\200", "\201", "\202", "\203", "\204", "\205", "\206", "\207",
+ "\210", "\211", "\212", "\213", "\214", "\215", "\216", "\217",
+ "\220", "\221", "\222", "\223", "\224", "\225", "\226", "\227",
+ "\230", "\231", "\232", "\233", "\234", "\235", "\236", "\237",
+ "\240", "\241", "\242", "\243", "\244", "\245", "\246", "\247",
+ "\250", "\251", "\252", "\253", "\254", "\255", "\256", "\257",
+ "\260", "\261", "\262", "\263", "\264", "\265", "\266", "\267",
+ "\270", "\271", "\272", "\273", "\274", "\275", "\276", "\277",
+ "\300", "\301", "\302", "\303", "\304", "\305", "\306", "\307",
+ "\310", "\311", "\312", "\313", "\314", "\315", "\316", "\317",
+ "\320", "\321", "\322", "\323", "\324", "\325", "\326", "\327",
+ "\330", "\331", "\332", "\333", "\334", "\335", "\336", "\337",
+ "\340", "\341", "\342", "\343", "\344", "\345", "\346", "\347",
+ "\350", "\351", "\352", "\353", "\354", "\355", "\356", "\357",
+ "\360", "\361", "\362", "\363", "\364", "\365", "\366", "\367",
+ "\370", "\371", "\372", "\373", "\374", "\375", "\376", "\377",
+};
+
+static void free_translation_table(struct conv_table *p)
+{
+ int i;
+ for (i = 0; i < 256; i++) if (p[i].t) free_translation_table(p[i].u.tbl);
+ mem_free(p);
+}
+
+static unsigned char *no_str = "*";
+
+static void new_translation_table(struct conv_table *p)
+{
+ int i;
+ for (i = 0; i < 256; i++) if (p[i].t) free_translation_table(p[i].u.tbl);
+ for (i = 0; i < 128; i++) p[i].t = 0, p[i].u.str = strings[i];
+ for (; i < 256; i++) p[i].t = 0, p[i].u.str = no_str;
+}
+
+static int strange_chars[32] = {
+ 0x20ac, 0x0000, 0x002a, 0x0000, 0x201e, 0x2026, 0x2020, 0x2021,
+ 0x005e, 0x2030, 0x0160, 0x003c, 0x0152, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0060, 0x0027, 0x0022, 0x0022, 0x002a, 0x2013, 0x2014,
+ 0x007e, 0x2122, 0x0161, 0x003e, 0x0153, 0x0000, 0x0000, 0x0000,
+};
+
+#define U_EQUAL(a, b) unicode_7b[a].x == (b)
+#define U_ABOVE(a, b) unicode_7b[a].x > (b)
+
+unsigned char *u2cp(int u, int to, int fallback)
+{
+ int j, s;
+ again:
+ if (u < 128) return strings[u];
+ if (u == 0xa0) return "\001";
+ if (u == 0xad) return "";
+ if (to == utf8_table) return encode_utf_8(u);
+ if (u < 0xa0) {
+ u = strange_chars[u - 0x80];
+ if (!u) return NULL;
+ goto again;
+ }
+ for (j = 0; codepages[to].table[j].c; j++)
+ if (codepages[to].table[j].u == u)
+ return strings[codepages[to].table[j].c];
+ if (!fallback) return NULL;
+ BIN_SEARCH(N_UNICODE_7B, U_EQUAL, U_ABOVE, u, s);
+ if (s != -1) return unicode_7b[s].s;
+ return NULL;
+}
+
+int cp2u(unsigned ch, int from)
+{
+ struct table_entry *e;
+ if (from == utf8_table) return ch;
+ if (from < 0 || ch < 0x80) return ch;
+ for (e = codepages[from].table; e->c; e++) if (e->c == ch) return e->u;
+ return -1;
+}
+
+static unsigned char utf_buffer[7];
+
+unsigned char *encode_utf_8(int u)
+{
+ memset(utf_buffer, 0, 7);
+ if (u < 0x80) utf_buffer[0] = u;
+ else if (u < 0x800)
+ utf_buffer[0] = 0xc0 | ((u >> 6) & 0x1f),
+ utf_buffer[1] = 0x80 | (u & 0x3f);
+ else if (u < 0x10000)
+ utf_buffer[0] = 0xe0 | ((u >> 12) & 0x0f),
+ utf_buffer[1] = 0x80 | ((u >> 6) & 0x3f),
+ utf_buffer[2] = 0x80 | (u & 0x3f);
+ else if (u < 0x200000)
+ utf_buffer[0] = 0xf0 | ((u >> 18) & 0x0f),
+ utf_buffer[1] = 0x80 | ((u >> 12) & 0x3f),
+ utf_buffer[2] = 0x80 | ((u >> 6) & 0x3f),
+ utf_buffer[3] = 0x80 | (u & 0x3f);
+ else if (u < 0x4000000)
+ utf_buffer[0] = 0xf8 | ((u >> 24) & 0x0f),
+ utf_buffer[1] = 0x80 | ((u >> 18) & 0x3f),
+ utf_buffer[2] = 0x80 | ((u >> 12) & 0x3f),
+ utf_buffer[3] = 0x80 | ((u >> 6) & 0x3f),
+ utf_buffer[4] = 0x80 | (u & 0x3f);
+ else utf_buffer[0] = 0xfc | ((u >> 30) & 0x01),
+ utf_buffer[1] = 0x80 | ((u >> 24) & 0x3f),
+ utf_buffer[2] = 0x80 | ((u >> 18) & 0x3f),
+ utf_buffer[3] = 0x80 | ((u >> 12) & 0x3f),
+ utf_buffer[4] = 0x80 | ((u >> 6) & 0x3f),
+ utf_buffer[5] = 0x80 | (u & 0x3f);
+ return utf_buffer;
+}
+
+static void add_utf_8(struct conv_table *ct, int u, unsigned char *str)
+{
+ unsigned char *p = encode_utf_8(u);
+ while (p[1]) {
+ if (ct[*p].t) ct = ct[*p].u.tbl;
+ else {
+ struct conv_table *nct;
+ if (ct[*p].u.str != no_str) {
+ internal("bad utf encoding #1");
+ return;
+ }
+ nct = mem_alloc(sizeof(struct conv_table) * 256);
+ memset(nct, 0, sizeof(struct conv_table) * 256);
+ new_translation_table(nct);
+ ct[*p].t = 1;
+ ct[*p].u.tbl = nct;
+ ct = nct;
+ }
+ p++;
+ }
+ if (ct[*p].t) {
+ internal("bad utf encoding #2");
+ return;
+ }
+ if (ct[*p].u.str == no_str) ct[*p].u.str = str;
+}
+
+static struct conv_table utf_table[256];
+static int utf_table_init = 1;
+
+static void free_utf_table(void)
+{
+ int i;
+ for (i = 128; i < 256; i++) mem_free(utf_table[i].u.str);
+}
+
+static struct conv_table *get_translation_table_to_utf_8(int from)
+{
+ int i;
+ static int lfr = -1;
+ if (from == -1) return NULL;
+ if (from == lfr) return utf_table;
+ lfr = from;
+ if (utf_table_init) memset(utf_table, 0, sizeof(struct conv_table) * 256), utf_table_init = 0;
+ else free_utf_table();
+ for (i = 0; i < 128; i++) utf_table[i].u.str = strings[i];
+ if (from == utf8_table) {
+ for (i = 128; i < 256; i++) utf_table[i].u.str = stracpy(strings[i]);
+ return utf_table;
+ }
+ for (i = 128; i < 256; i++) utf_table[i].u.str = NULL;
+ for (i = 0; codepages[from].table[i].c; i++) {
+ int u = codepages[from].table[i].u;
+ if (!utf_table[codepages[from].table[i].c].u.str)
+ utf_table[codepages[from].table[i].c].u.str = stracpy(encode_utf_8(u));
+ }
+ for (i = 128; i < 256; i++)
+ if (!utf_table[i].u.str) utf_table[i].u.str = stracpy(no_str);
+ return utf_table;
+}
+
+unsigned short int utf8_2_uni_table[0x200] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 192, 0,
+ 0, 0, 256, 0, 0, 0, 320, 0, 0, 0, 384, 0, 0, 0, 448, 0,
+ 0, 0, 512, 0, 0, 0, 576, 0, 0, 0, 640, 0, 0, 0, 704, 0,
+ 0, 0, 768, 0, 0, 0, 832, 0, 0, 0, 896, 0, 0, 0, 960, 0,
+ 0, 0, 1024, 0, 0, 0, 1088, 0, 0, 0, 1152, 0, 0, 0, 1216, 0,
+ 0, 0, 1280, 0, 0, 0, 1344, 0, 0, 0, 1408, 0, 0, 0, 1472, 0,
+ 0, 0, 1536, 0, 0, 0, 1600, 0, 0, 0, 1664, 0, 0, 0, 1728, 0,
+ 0, 0, 1792, 0, 0, 0, 1856, 0, 0, 0, 1920, 0, 0, 0, 1984, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+};
+
+unsigned char utf_8_1[256] = {
+ 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 6, 6,
+};
+
+static unsigned min_utf_8[9] = {
+ 0, 0x4000000, 0x200000, 0x10000, 0x800, 0x80, 0x100, 0x1,
+};
+
+unsigned get_utf_8(unsigned char **s)
+{
+ unsigned v, min;
+ int l;
+ unsigned char *p = *s;
+ l = utf_8_1[p[0]];
+ min = min_utf_8[l];
+ v = p[0] & ((1 << l) - 1);
+ (*s)++;
+ while (l++ <= 5) {
+ unsigned c = **s - 0x80;
+ if (c >= 0x40) {
+ return 0;
+ }
+ (*s)++;
+ v = (v << 6) + c;
+ }
+ if (v < min) {
+ return 0;
+ }
+ return v;
+}
+
+static struct conv_table table[256];
+static int table_init = 1;
+
+void free_conv_table(void)
+{
+ if (!utf_table_init) free_utf_table();
+ if (!table_init) new_translation_table(table);
+}
+
+struct conv_table *get_translation_table(int from, int to)
+{
+ int i;
+ static int lfr = -1;
+ static int lto = -1;
+ if (/*from == to ||*/ from == -1 || to == -1) return NULL;
+ if (to == utf8_table) return get_translation_table_to_utf_8(from);
+ if (table_init) memset(table, 0, sizeof(struct conv_table) * 256), table_init = 0;
+ if (from == lfr && to == lto) return table;
+ lfr = from; lto = to;
+ new_translation_table(table);
+ if (from == utf8_table) {
+ int j;
+ for (j = 0; codepages[to].table[j].c; j++) add_utf_8(table, codepages[to].table[j].u, codepages[to].table[j].u == 0xa0 ? (unsigned char *)"\001" : codepages[to].table[j].u == 0xad ? (unsigned char *)"" : strings[codepages[to].table[j].c]);
+ for (i = 0; unicode_7b[i].x != -1; i++) if (unicode_7b[i].x >= 0x80) add_utf_8(table, unicode_7b[i].x, unicode_7b[i].s);
+ } else for (i = 128; i < 256; i++) {
+ int j;
+ unsigned char *u;
+ for (j = 0; codepages[from].table[j].c; j++) {
+ if (codepages[from].table[j].c == i) goto f;
+ }
+ continue;
+ f:
+ u = u2cp(codepages[from].table[j].u, to, 1);
+ if (u) table[i].u.str = u;
+ }
+ return table;
+}
+
+static inline int xxstrcmp(unsigned char *s1, unsigned char *s2, int l2)
+{
+ while (l2) {
+ if (*s1 > *s2) return 1;
+ if (!*s1 || *s1 < *s2) return -1;
+ s1++, s2++, l2--;
+ }
+ return !!*s1;
+}
+
+int get_entity_number(unsigned char *st, int l)
+{
+ int n = 0;
+ if (upcase(st[0]) == 'X') {
+ st++, l--;
+ if (!l) return -1;
+ do {
+ unsigned char c = upcase(*(st++));
+ if (c >= '0' && c <= '9') n = n * 16 + c - '0';
+ else if (c >= 'A' && c <= 'F') n = n * 16 + c - 'A' + 10;
+ else return -1;
+ if (n >= 0x10000) return -1;
+ } while (--l);
+ } else {
+ if (!l) return -1;
+ do {
+ unsigned char c = *(st++);
+ if (c >= '0' && c <= '9') n = n * 10 + c - '0';
+ else return -1;
+ if (n >= 0x10000) return -1;
+ } while (--l);
+ }
+ return n;
+}
+
+unsigned char *get_entity_string(unsigned char *st, int l, int encoding)
+{
+ int n;
+ if (l <= 0) return NULL;
+ if (st[0] == '#') {
+ if (l == 1) return NULL;
+ if ((n = get_entity_number(st + 1, l - 1)) == -1) return NULL;
+ if (n < 32 && get_attr_val_nl != 2) n = 32;
+ } else {
+ int s = 0, e = N_ENTITIES - 1;
+ while (s <= e) {
+ int c;
+ int m = (s + e) / 2;
+ c = xxstrcmp(entities[m].s, st, l);
+ if (!c) {
+ n = entities[m].c;
+ goto f;
+ }
+ if (c > 0) e = m - 1;
+ else s = m + 1;
+ }
+ return NULL;
+ f:;
+ }
+
+ return u2cp(n, encoding, 1);
+}
+
+unsigned char *convert_string(struct conv_table *ct, unsigned char *c, int l, struct document_options *dopt)
+{
+ unsigned char *buffer;
+ int bp = 0;
+ int pp = 0;
+ if (!ct) {
+ int i;
+ for (i = 0; i < l; i++) if (c[i] == '&') goto xx;
+ return memacpy(c, l);
+ xx:;
+ }
+ buffer = mem_alloc(ALLOC_GR);
+ while (pp < l) {
+ unsigned char *e = NULL; /* against warning */
+ if (c[pp] < 128 && c[pp] != '&') {
+ put_c:
+ buffer[bp++] = c[pp++];
+ if (!(bp & (ALLOC_GR - 1))) {
+ if ((unsigned)bp > MAXINT - ALLOC_GR) overalloc();
+ buffer = mem_realloc(buffer, bp + ALLOC_GR);
+ }
+ continue;
+ }
+ if (c[pp] != '&') {
+ struct conv_table *t;
+ int i;
+ if (!ct) goto put_c;
+ t = ct;
+ i = pp;
+ decode:
+ if (!t[c[i]].t) {
+ e = t[c[i]].u.str;
+ } else {
+ t = t[c[i++]].u.tbl;
+ if (i >= l) goto put_c;
+ goto decode;
+ }
+ pp = i + 1;
+ } else {
+ int i = pp + 1;
+ if (!dopt || dopt->plain) goto put_c;
+ while (i < l && c[i] != ';' && c[i] != '&' && c[i] > ' ') i++;
+ if (!(e = get_entity_string(&c[pp + 1], i - pp - 1, dopt->cp))) goto put_c;
+ pp = i + (i < l && c[i] == ';');
+ }
+ if (!e[0]) continue;
+ if (!e[1]) {
+ buffer[bp++] = e[0];
+ if (!(bp & (ALLOC_GR - 1))) {
+ if ((unsigned)bp > MAXINT - ALLOC_GR) overalloc();
+ buffer = mem_realloc(buffer, bp + ALLOC_GR);
+ }
+ continue;
+ }
+ while (*e) {
+ buffer[bp++] = *(e++);
+ if (!(bp & (ALLOC_GR - 1))) {
+ if ((unsigned)bp > MAXINT - ALLOC_GR) overalloc();
+ buffer = mem_realloc(buffer, bp + ALLOC_GR);
+ }
+ }
+ }
+ buffer[bp] = 0;
+ return buffer;
+}
+
+/* 1 match 0 mismatch */
+static inline int compare_names(unsigned char *one, unsigned char *two)
+{
+
+ while(1){
+ if (!*one) return !*two;
+ if (!*two||(upcase(*one)!=upcase(*two))) return 0;
+ one++;
+ two++;
+ }
+
+}
+
+int get_cp_index(unsigned char *n)
+{
+ int i, a, p, q;
+ int ii = -1, ll = 0;
+ for (i = 0; codepages[i].name; i++) {
+ for (a = 0; codepages[i].aliases[a]; a++) {
+ for (p = 0; n[p]; p++) {
+ if (upcase(n[p]) == upcase(codepages[i].aliases[a][0])) {
+ for (q = 1; codepages[i].aliases[a][q]; q++) {
+ if (upcase(n[p+q]) != upcase(codepages[i].aliases[a][q])) goto fail;
+ }
+ if (strlen(codepages[i].aliases[a]) > (size_t)ll) {
+ ll = strlen(codepages[i].aliases[a]);
+ ii = i;
+ }
+ }
+ fail:;
+ }
+ }
+ }
+ return ii;
+}
+
+unsigned char *get_cp_name(int index)
+{
+ if (index < 0) return "none";
+ return codepages[index].name;
+}
+
+unsigned char *get_cp_mime_name(int index)
+{
+ if (index < 0) return "none";
+ if (!codepages[index].aliases) return NULL;
+ return codepages[index].aliases[0];
+}
+
+#define UP_EQUAL(a, b) unicode_upcase[a].lo == (b)
+#define UP_ABOVE(a, b) unicode_upcase[a].lo > (b)
+
+unsigned charset_upcase(unsigned ch, int cp)
+{
+ unsigned u;
+ int res;
+ unsigned char *str;
+ if (ch < 0x80) return upcase(ch);
+ u = cp2u(ch, cp);
+ BIN_SEARCH(sizeof(unicode_upcase) / sizeof(*unicode_upcase), UP_EQUAL, UP_ABOVE, u, res);
+ if (res == -1) return ch;
+ if (cp == utf8_table) return unicode_upcase[res].up;
+ str = u2cp(unicode_upcase[res].up, cp, 0);
+ if (!str || !str[0] || str[1]) return ch;
+ return str[0];
+}
+
+unsigned uni_upcase(unsigned ch)
+{
+ return charset_upcase(ch, utf8_table);
+}
+
+void charset_upcase_string(unsigned char **chp, int cp)
+{
+ unsigned char *ch = *chp;
+ int i;
+ if (cp == utf8_table) {
+ ch = unicode_upcase_string(ch);
+ mem_free(*chp);
+ *chp = ch;
+ } else {
+ for (i = 0; ch[i]; i++) ch[i] = charset_upcase(ch[i], cp);
+ }
+}
+
+unsigned char *unicode_upcase_string(unsigned char *ch)
+{
+ unsigned char *r = init_str();
+ int rl = 0;
+ while (1) {
+ unsigned c;
+ int res;
+ GET_UTF_8(ch, c);
+ if (!c) break;
+ BIN_SEARCH(sizeof(unicode_upcase) / sizeof(*unicode_upcase), UP_EQUAL, UP_ABOVE, c, res);
+ if (res != -1) c = unicode_upcase[res].up;
+ add_to_str(&r, &rl, encode_utf_8(c));
+ }
+ return r;
+}
+
+unsigned char *to_utf8_upcase(unsigned char *str, int cp)
+{
+ unsigned char *str1, *str2;
+ struct conv_table *ct = get_translation_table(cp, utf8_table);
+ str1 = convert_string(ct, str, strlen(str), NULL);
+ str2 = unicode_upcase_string(str1);
+ mem_free(str1);
+ return str2;
+}
+
+int compare_case_utf8(unsigned char *u1, unsigned char *u2)
+{
+ unsigned char *uu1 = u1;
+ unsigned c1, c2;
+ int cc1;
+ while (1) {
+ GET_UTF_8(u2, c2);
+ if (!c2) return u1 - uu1;
+ skip_discr:
+ GET_UTF_8(u1, c1);
+ BIN_SEARCH(sizeof(unicode_upcase) / sizeof(*unicode_upcase), UP_EQUAL, UP_ABOVE, c1, cc1);
+ if (cc1 != -1) c1 = unicode_upcase[cc1].up;
+ if (c1 == 0xad) goto skip_discr;
+ if (c1 != c2) return 0;
+ if (c1 == ' ') {
+ unsigned char *x1;
+ do {
+ x1 = u1;
+ GET_UTF_8(u1, c1);
+ BIN_SEARCH(sizeof(unicode_upcase) / sizeof(*unicode_upcase), UP_EQUAL, UP_ABOVE, c1, cc1);
+ if (cc1 != -1) c1 = unicode_upcase[cc1].up;
+ } while (c1 == ' ');
+ u1 = x1;
+ }
+ }
+}
+
+int strlen_utf8(unsigned char *s)
+{
+ int len = 0;
+ while (1) {
+ unsigned c;
+ GET_UTF_8(s, c);
+ if (!c) return len;
+ len++;
+ }
+}
+
+int cp_len(int cp, unsigned char *s)
+{
+ if (cp == utf8_table) return strlen_utf8(s);
+ return strlen(s);
+}
+
+unsigned char *cp_strchr(int charset, unsigned char *str, unsigned chr)
+{
+ if (charset != utf8_table) {
+ if (chr >= 0x100)
+ return NULL;
+ return (unsigned char *)strchr(str, chr);
+ }
+ while (1) {
+ unsigned char *o_str = str;
+ unsigned c;
+ GET_UTF_8(str, c);
+ if (!c) return NULL;
+ if (c == chr) return o_str;
+ }
+}
diff --git a/codepage.h b/codepage.h
new file mode 100644
index 0000000..8174855
--- /dev/null
+++ b/codepage.h
@@ -0,0 +1 @@
+#define N_CODEPAGES 35
diff --git a/codepage.inc b/codepage.inc
new file mode 100644
index 0000000..f38143a
--- /dev/null
+++ b/codepage.inc
@@ -0,0 +1,4311 @@
+/* Automatically generated by gen-cp */
+
+static struct table_entry table_7bit [] = {
+ { 0, 0 }
+};
+
+static unsigned char *aliases_7bit [] = {"us-ascii", "ascii", "7bit", "7-bit", "iso-ir-6", "ANSI_X3.4", "646", "it-ascii", NULL };
+
+static struct table_entry table_8859_1 [] = {
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x00A1 },
+ { 0xA2, 0x00A2 },
+ { 0xA3, 0x00A3 },
+ { 0xA4, 0x00A4 },
+ { 0xA5, 0x00A5 },
+ { 0xA6, 0x00A6 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x00A8 },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x00AA },
+ { 0xAB, 0x00AB },
+ { 0xAC, 0x00AC },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x00AE },
+ { 0xAF, 0x00AF },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x00B1 },
+ { 0xB2, 0x00B2 },
+ { 0xB3, 0x00B3 },
+ { 0xB4, 0x00B4 },
+ { 0xB5, 0x00B5 },
+ { 0xB6, 0x00B6 },
+ { 0xB7, 0x00B7 },
+ { 0xB8, 0x00B8 },
+ { 0xB9, 0x00B9 },
+ { 0xBA, 0x00BA },
+ { 0xBB, 0x00BB },
+ { 0xBC, 0x00BC },
+ { 0xBD, 0x00BD },
+ { 0xBE, 0x00BE },
+ { 0xBF, 0x00BF },
+ { 0xC0, 0x00C0 },
+ { 0xC1, 0x00C1 },
+ { 0xC2, 0x00C2 },
+ { 0xC3, 0x00C3 },
+ { 0xC4, 0x00C4 },
+ { 0xC5, 0x00C5 },
+ { 0xC6, 0x00C6 },
+ { 0xC7, 0x00C7 },
+ { 0xC8, 0x00C8 },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x00CA },
+ { 0xCB, 0x00CB },
+ { 0xCC, 0x00CC },
+ { 0xCD, 0x00CD },
+ { 0xCE, 0x00CE },
+ { 0xCF, 0x00CF },
+ { 0xD0, 0x00D0 },
+ { 0xD1, 0x00D1 },
+ { 0xD2, 0x00D2 },
+ { 0xD3, 0x00D3 },
+ { 0xD4, 0x00D4 },
+ { 0xD5, 0x00D5 },
+ { 0xD6, 0x00D6 },
+ { 0xD7, 0x00D7 },
+ { 0xD8, 0x00D8 },
+ { 0xD9, 0x00D9 },
+ { 0xDA, 0x00DA },
+ { 0xDB, 0x00DB },
+ { 0xDC, 0x00DC },
+ { 0xDD, 0x00DD },
+ { 0xDE, 0x00DE },
+ { 0xDF, 0x00DF },
+ { 0xE0, 0x00E0 },
+ { 0xE1, 0x00E1 },
+ { 0xE2, 0x00E2 },
+ { 0xE3, 0x00E3 },
+ { 0xE4, 0x00E4 },
+ { 0xE5, 0x00E5 },
+ { 0xE6, 0x00E6 },
+ { 0xE7, 0x00E7 },
+ { 0xE8, 0x00E8 },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x00EA },
+ { 0xEB, 0x00EB },
+ { 0xEC, 0x00EC },
+ { 0xED, 0x00ED },
+ { 0xEE, 0x00EE },
+ { 0xEF, 0x00EF },
+ { 0xF0, 0x00F0 },
+ { 0xF1, 0x00F1 },
+ { 0xF2, 0x00F2 },
+ { 0xF3, 0x00F3 },
+ { 0xF4, 0x00F4 },
+ { 0xF5, 0x00F5 },
+ { 0xF6, 0x00F6 },
+ { 0xF7, 0x00F7 },
+ { 0xF8, 0x00F8 },
+ { 0xF9, 0x00F9 },
+ { 0xFA, 0x00FA },
+ { 0xFB, 0x00FB },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x00FD },
+ { 0xFE, 0x00FE },
+ { 0xFF, 0x00FF },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_1 [] = {"ISO-8859-1", "8859-1", "iso-ir-100", "latin1", "l1", "819","iso-latin1", NULL };
+
+static struct table_entry table_8859_2 [] = {
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x0104 },
+ { 0xA2, 0x02D8 },
+ { 0xA3, 0x0141 },
+ { 0xA4, 0x00A4 },
+ { 0xA5, 0x013D },
+ { 0xA6, 0x015A },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x00A8 },
+ { 0xA9, 0x0160 },
+ { 0xAA, 0x015E },
+ { 0xAB, 0x0164 },
+ { 0xAC, 0x0179 },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x017D },
+ { 0xAF, 0x017B },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x0105 },
+ { 0xB2, 0x02DB },
+ { 0xB3, 0x0142 },
+ { 0xB4, 0x00B4 },
+ { 0xB5, 0x013E },
+ { 0xB6, 0x015B },
+ { 0xB7, 0x02C7 },
+ { 0xB8, 0x00B8 },
+ { 0xB9, 0x0161 },
+ { 0xBA, 0x015F },
+ { 0xBB, 0x0165 },
+ { 0xBC, 0x017A },
+ { 0xBD, 0x02DD },
+ { 0xBE, 0x017E },
+ { 0xBF, 0x017C },
+ { 0xC0, 0x0154 },
+ { 0xC1, 0x00C1 },
+ { 0xC2, 0x00C2 },
+ { 0xC3, 0x0102 },
+ { 0xC4, 0x00C4 },
+ { 0xC5, 0x0139 },
+ { 0xC6, 0x0106 },
+ { 0xC7, 0x00C7 },
+ { 0xC8, 0x010C },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x0118 },
+ { 0xCB, 0x00CB },
+ { 0xCC, 0x011A },
+ { 0xCD, 0x00CD },
+ { 0xCE, 0x00CE },
+ { 0xCF, 0x010E },
+ { 0xD0, 0x0110 },
+ { 0xD1, 0x0143 },
+ { 0xD2, 0x0147 },
+ { 0xD3, 0x00D3 },
+ { 0xD4, 0x00D4 },
+ { 0xD5, 0x0150 },
+ { 0xD6, 0x00D6 },
+ { 0xD7, 0x00D7 },
+ { 0xD8, 0x0158 },
+ { 0xD9, 0x016E },
+ { 0xDA, 0x00DA },
+ { 0xDB, 0x0170 },
+ { 0xDC, 0x00DC },
+ { 0xDD, 0x00DD },
+ { 0xDE, 0x0162 },
+ { 0xDF, 0x00DF },
+ { 0xE0, 0x0155 },
+ { 0xE1, 0x00E1 },
+ { 0xE2, 0x00E2 },
+ { 0xE3, 0x0103 },
+ { 0xE4, 0x00E4 },
+ { 0xE5, 0x013A },
+ { 0xE6, 0x0107 },
+ { 0xE7, 0x00E7 },
+ { 0xE8, 0x010D },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x0119 },
+ { 0xEB, 0x00EB },
+ { 0xEC, 0x011B },
+ { 0xED, 0x00ED },
+ { 0xEE, 0x00EE },
+ { 0xEF, 0x010F },
+ { 0xF0, 0x0111 },
+ { 0xF1, 0x0144 },
+ { 0xF2, 0x0148 },
+ { 0xF3, 0x00F3 },
+ { 0xF4, 0x00F4 },
+ { 0xF5, 0x0151 },
+ { 0xF6, 0x00F6 },
+ { 0xF7, 0x00F7 },
+ { 0xF8, 0x0159 },
+ { 0xF9, 0x016F },
+ { 0xFA, 0x00FA },
+ { 0xFB, 0x0171 },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x00FD },
+ { 0xFE, 0x0163 },
+ { 0xFF, 0x02D9 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_2 [] = {"ISO-8859-2", "8859-2", "iso-ir-101", "latin2", "l2","iso-latin2", "iso8859-2", NULL };
+
+static struct table_entry table_8859_3 [] = {
+ { 0x80, 0x0080 },
+ { 0x81, 0x0081 },
+ { 0x82, 0x0082 },
+ { 0x83, 0x0083 },
+ { 0x84, 0x0084 },
+ { 0x85, 0x0085 },
+ { 0x86, 0x0086 },
+ { 0x87, 0x0087 },
+ { 0x88, 0x0088 },
+ { 0x89, 0x0089 },
+ { 0x8A, 0x008A },
+ { 0x8B, 0x008B },
+ { 0x8C, 0x008C },
+ { 0x8D, 0x008D },
+ { 0x8E, 0x008E },
+ { 0x8F, 0x008F },
+ { 0x90, 0x0090 },
+ { 0x91, 0x0091 },
+ { 0x92, 0x0092 },
+ { 0x93, 0x0093 },
+ { 0x94, 0x0094 },
+ { 0x95, 0x0095 },
+ { 0x96, 0x0096 },
+ { 0x97, 0x0097 },
+ { 0x98, 0x0098 },
+ { 0x99, 0x0099 },
+ { 0x9A, 0x009A },
+ { 0x9B, 0x009B },
+ { 0x9C, 0x009C },
+ { 0x9D, 0x009D },
+ { 0x9E, 0x009E },
+ { 0x9F, 0x009F },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x0126 },
+ { 0xA2, 0x02D8 },
+ { 0xA3, 0x00A3 },
+ { 0xA4, 0x00A4 },
+ { 0xA6, 0x0124 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x00A8 },
+ { 0xA9, 0x0130 },
+ { 0xAA, 0x015E },
+ { 0xAB, 0x011E },
+ { 0xAC, 0x0134 },
+ { 0xAD, 0x00AD },
+ { 0xAF, 0x017B },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x0127 },
+ { 0xB2, 0x00B2 },
+ { 0xB3, 0x00B3 },
+ { 0xB4, 0x00B4 },
+ { 0xB5, 0x00B5 },
+ { 0xB6, 0x0125 },
+ { 0xB7, 0x00B7 },
+ { 0xB8, 0x00B8 },
+ { 0xB9, 0x0131 },
+ { 0xBA, 0x015F },
+ { 0xBB, 0x011F },
+ { 0xBC, 0x0135 },
+ { 0xBD, 0x00BD },
+ { 0xBF, 0x017C },
+ { 0xC0, 0x00C0 },
+ { 0xC1, 0x00C1 },
+ { 0xC2, 0x00C2 },
+ { 0xC4, 0x00C4 },
+ { 0xC5, 0x010A },
+ { 0xC6, 0x0108 },
+ { 0xC7, 0x00C7 },
+ { 0xC8, 0x00C8 },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x00CA },
+ { 0xCB, 0x00CB },
+ { 0xCC, 0x00CC },
+ { 0xCD, 0x00CD },
+ { 0xCE, 0x00CE },
+ { 0xCF, 0x00CF },
+ { 0xD1, 0x00D1 },
+ { 0xD2, 0x00D2 },
+ { 0xD3, 0x00D3 },
+ { 0xD4, 0x00D4 },
+ { 0xD5, 0x0120 },
+ { 0xD6, 0x00D6 },
+ { 0xD7, 0x00D7 },
+ { 0xD8, 0x011C },
+ { 0xD9, 0x00D9 },
+ { 0xDA, 0x00DA },
+ { 0xDB, 0x00DB },
+ { 0xDC, 0x00DC },
+ { 0xDD, 0x016C },
+ { 0xDE, 0x015C },
+ { 0xDF, 0x00DF },
+ { 0xE0, 0x00E0 },
+ { 0xE1, 0x00E1 },
+ { 0xE2, 0x00E2 },
+ { 0xE4, 0x00E4 },
+ { 0xE5, 0x010B },
+ { 0xE6, 0x0109 },
+ { 0xE7, 0x00E7 },
+ { 0xE8, 0x00E8 },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x00EA },
+ { 0xEB, 0x00EB },
+ { 0xEC, 0x00EC },
+ { 0xED, 0x00ED },
+ { 0xEE, 0x00EE },
+ { 0xEF, 0x00EF },
+ { 0xF1, 0x00F1 },
+ { 0xF2, 0x00F2 },
+ { 0xF3, 0x00F3 },
+ { 0xF4, 0x00F4 },
+ { 0xF5, 0x0121 },
+ { 0xF6, 0x00F6 },
+ { 0xF7, 0x00F7 },
+ { 0xF8, 0x011D },
+ { 0xF9, 0x00F9 },
+ { 0xFA, 0x00FA },
+ { 0xFB, 0x00FB },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x016D },
+ { 0xFE, 0x015D },
+ { 0xFF, 0x02D9 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_3 [] = {"ISO-8859-3", "8859-3", NULL };
+
+static struct table_entry table_8859_4 [] = {
+ { 0x80, 0x0080 },
+ { 0x81, 0x0081 },
+ { 0x82, 0x0082 },
+ { 0x83, 0x0083 },
+ { 0x84, 0x0084 },
+ { 0x85, 0x0085 },
+ { 0x86, 0x0086 },
+ { 0x87, 0x0087 },
+ { 0x88, 0x0088 },
+ { 0x89, 0x0089 },
+ { 0x8A, 0x008A },
+ { 0x8B, 0x008B },
+ { 0x8C, 0x008C },
+ { 0x8D, 0x008D },
+ { 0x8E, 0x008E },
+ { 0x8F, 0x008F },
+ { 0x90, 0x0090 },
+ { 0x91, 0x0091 },
+ { 0x92, 0x0092 },
+ { 0x93, 0x0093 },
+ { 0x94, 0x0094 },
+ { 0x95, 0x0095 },
+ { 0x96, 0x0096 },
+ { 0x97, 0x0097 },
+ { 0x98, 0x0098 },
+ { 0x99, 0x0099 },
+ { 0x9A, 0x009A },
+ { 0x9B, 0x009B },
+ { 0x9C, 0x009C },
+ { 0x9D, 0x009D },
+ { 0x9E, 0x009E },
+ { 0x9F, 0x009F },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x0104 },
+ { 0xA2, 0x0138 },
+ { 0xA3, 0x0156 },
+ { 0xA4, 0x00A4 },
+ { 0xA5, 0x0128 },
+ { 0xA6, 0x013B },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x00A8 },
+ { 0xA9, 0x0160 },
+ { 0xAA, 0x0112 },
+ { 0xAB, 0x0122 },
+ { 0xAC, 0x0166 },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x017D },
+ { 0xAF, 0x00AF },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x0105 },
+ { 0xB2, 0x02DB },
+ { 0xB3, 0x0157 },
+ { 0xB4, 0x00B4 },
+ { 0xB5, 0x0129 },
+ { 0xB6, 0x013C },
+ { 0xB7, 0x02C7 },
+ { 0xB8, 0x00B8 },
+ { 0xB9, 0x0161 },
+ { 0xBA, 0x0113 },
+ { 0xBB, 0x0123 },
+ { 0xBC, 0x0167 },
+ { 0xBD, 0x014A },
+ { 0xBE, 0x017E },
+ { 0xBF, 0x014B },
+ { 0xC0, 0x0100 },
+ { 0xC1, 0x00C1 },
+ { 0xC2, 0x00C2 },
+ { 0xC3, 0x00C3 },
+ { 0xC4, 0x00C4 },
+ { 0xC5, 0x00C5 },
+ { 0xC6, 0x00C6 },
+ { 0xC7, 0x012E },
+ { 0xC8, 0x010C },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x0118 },
+ { 0xCB, 0x00CB },
+ { 0xCC, 0x0116 },
+ { 0xCD, 0x00CD },
+ { 0xCE, 0x00CE },
+ { 0xCF, 0x012A },
+ { 0xD0, 0x0110 },
+ { 0xD1, 0x0145 },
+ { 0xD2, 0x014C },
+ { 0xD3, 0x0136 },
+ { 0xD4, 0x00D4 },
+ { 0xD5, 0x00D5 },
+ { 0xD6, 0x00D6 },
+ { 0xD7, 0x00D7 },
+ { 0xD8, 0x00D8 },
+ { 0xD9, 0x0172 },
+ { 0xDA, 0x00DA },
+ { 0xDB, 0x00DB },
+ { 0xDC, 0x00DC },
+ { 0xDD, 0x0168 },
+ { 0xDE, 0x016A },
+ { 0xDF, 0x00DF },
+ { 0xE0, 0x0101 },
+ { 0xE1, 0x00E1 },
+ { 0xE2, 0x00E2 },
+ { 0xE3, 0x00E3 },
+ { 0xE4, 0x00E4 },
+ { 0xE5, 0x00E5 },
+ { 0xE6, 0x00E6 },
+ { 0xE7, 0x012F },
+ { 0xE8, 0x010D },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x0119 },
+ { 0xEB, 0x00EB },
+ { 0xEC, 0x0117 },
+ { 0xED, 0x00ED },
+ { 0xEE, 0x00EE },
+ { 0xEF, 0x012B },
+ { 0xF0, 0x0111 },
+ { 0xF1, 0x0146 },
+ { 0xF2, 0x014D },
+ { 0xF3, 0x0137 },
+ { 0xF4, 0x00F4 },
+ { 0xF5, 0x00F5 },
+ { 0xF6, 0x00F6 },
+ { 0xF7, 0x00F7 },
+ { 0xF8, 0x00F8 },
+ { 0xF9, 0x0173 },
+ { 0xFA, 0x00FA },
+ { 0xFB, 0x00FB },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x0169 },
+ { 0xFE, 0x016B },
+ { 0xFF, 0x02D9 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_4 [] = {"ISO-8859-4", "8859-4", "iso-ir-110", "latin4", "l4","iso-latin4", NULL };
+
+static struct table_entry table_8859_5 [] = {
+ { 0x80, 0x0080 },
+ { 0x81, 0x0081 },
+ { 0x82, 0x0082 },
+ { 0x83, 0x0083 },
+ { 0x84, 0x0084 },
+ { 0x85, 0x0085 },
+ { 0x86, 0x0086 },
+ { 0x87, 0x0087 },
+ { 0x88, 0x0088 },
+ { 0x89, 0x0089 },
+ { 0x8A, 0x008A },
+ { 0x8B, 0x008B },
+ { 0x8C, 0x008C },
+ { 0x8D, 0x008D },
+ { 0x8E, 0x008E },
+ { 0x8F, 0x008F },
+ { 0x90, 0x0090 },
+ { 0x91, 0x0091 },
+ { 0x92, 0x0092 },
+ { 0x93, 0x0093 },
+ { 0x94, 0x0094 },
+ { 0x95, 0x0095 },
+ { 0x96, 0x0096 },
+ { 0x97, 0x0097 },
+ { 0x98, 0x0098 },
+ { 0x99, 0x0099 },
+ { 0x9A, 0x009A },
+ { 0x9B, 0x009B },
+ { 0x9C, 0x009C },
+ { 0x9D, 0x009D },
+ { 0x9E, 0x009E },
+ { 0x9F, 0x009F },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x0401 },
+ { 0xA2, 0x0402 },
+ { 0xA3, 0x0403 },
+ { 0xA4, 0x0404 },
+ { 0xA5, 0x0405 },
+ { 0xA6, 0x0406 },
+ { 0xA7, 0x0407 },
+ { 0xA8, 0x0408 },
+ { 0xA9, 0x0409 },
+ { 0xAA, 0x040A },
+ { 0xAB, 0x040B },
+ { 0xAC, 0x040C },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x040E },
+ { 0xAF, 0x040F },
+ { 0xB0, 0x0410 },
+ { 0xB1, 0x0411 },
+ { 0xB2, 0x0412 },
+ { 0xB3, 0x0413 },
+ { 0xB4, 0x0414 },
+ { 0xB5, 0x0415 },
+ { 0xB6, 0x0416 },
+ { 0xB7, 0x0417 },
+ { 0xB8, 0x0418 },
+ { 0xB9, 0x0419 },
+ { 0xBA, 0x041A },
+ { 0xBB, 0x041B },
+ { 0xBC, 0x041C },
+ { 0xBD, 0x041D },
+ { 0xBE, 0x041E },
+ { 0xBF, 0x041F },
+ { 0xC0, 0x0420 },
+ { 0xC1, 0x0421 },
+ { 0xC2, 0x0422 },
+ { 0xC3, 0x0423 },
+ { 0xC4, 0x0424 },
+ { 0xC5, 0x0425 },
+ { 0xC6, 0x0426 },
+ { 0xC7, 0x0427 },
+ { 0xC8, 0x0428 },
+ { 0xC9, 0x0429 },
+ { 0xCA, 0x042A },
+ { 0xCB, 0x042B },
+ { 0xCC, 0x042C },
+ { 0xCD, 0x042D },
+ { 0xCE, 0x042E },
+ { 0xCF, 0x042F },
+ { 0xD0, 0x0430 },
+ { 0xD1, 0x0431 },
+ { 0xD2, 0x0432 },
+ { 0xD3, 0x0433 },
+ { 0xD4, 0x0434 },
+ { 0xD5, 0x0435 },
+ { 0xD6, 0x0436 },
+ { 0xD7, 0x0437 },
+ { 0xD8, 0x0438 },
+ { 0xD9, 0x0439 },
+ { 0xDA, 0x043A },
+ { 0xDB, 0x043B },
+ { 0xDC, 0x043C },
+ { 0xDD, 0x043D },
+ { 0xDE, 0x043E },
+ { 0xDF, 0x043F },
+ { 0xE0, 0x0440 },
+ { 0xE1, 0x0441 },
+ { 0xE2, 0x0442 },
+ { 0xE3, 0x0443 },
+ { 0xE4, 0x0444 },
+ { 0xE5, 0x0445 },
+ { 0xE6, 0x0446 },
+ { 0xE7, 0x0447 },
+ { 0xE8, 0x0448 },
+ { 0xE9, 0x0449 },
+ { 0xEA, 0x044A },
+ { 0xEB, 0x044B },
+ { 0xEC, 0x044C },
+ { 0xED, 0x044D },
+ { 0xEE, 0x044E },
+ { 0xEF, 0x044F },
+ { 0xF0, 0x2116 },
+ { 0xF1, 0x0451 },
+ { 0xF2, 0x0452 },
+ { 0xF3, 0x0453 },
+ { 0xF4, 0x0454 },
+ { 0xF5, 0x0455 },
+ { 0xF6, 0x0456 },
+ { 0xF7, 0x0457 },
+ { 0xF8, 0x0458 },
+ { 0xF9, 0x0459 },
+ { 0xFA, 0x045A },
+ { 0xFB, 0x045B },
+ { 0xFC, 0x045C },
+ { 0xFD, 0x00A7 },
+ { 0xFE, 0x045E },
+ { 0xFF, 0x045F },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_5 [] = {"ISO-8859-5", "8859-5" , NULL };
+
+static struct table_entry table_8859_6 [] = {
+ { 0x80, 0x0080 },
+ { 0x81, 0x0081 },
+ { 0x82, 0x0082 },
+ { 0x83, 0x0083 },
+ { 0x84, 0x0084 },
+ { 0x85, 0x0085 },
+ { 0x86, 0x0086 },
+ { 0x87, 0x0087 },
+ { 0x88, 0x0088 },
+ { 0x89, 0x0089 },
+ { 0x8A, 0x008A },
+ { 0x8B, 0x008B },
+ { 0x8C, 0x008C },
+ { 0x8D, 0x008D },
+ { 0x8E, 0x008E },
+ { 0x8F, 0x008F },
+ { 0x90, 0x0090 },
+ { 0x91, 0x0091 },
+ { 0x92, 0x0092 },
+ { 0x93, 0x0093 },
+ { 0x94, 0x0094 },
+ { 0x95, 0x0095 },
+ { 0x96, 0x0096 },
+ { 0x97, 0x0097 },
+ { 0x98, 0x0098 },
+ { 0x99, 0x0099 },
+ { 0x9A, 0x009A },
+ { 0x9B, 0x009B },
+ { 0x9C, 0x009C },
+ { 0x9D, 0x009D },
+ { 0x9E, 0x009E },
+ { 0x9F, 0x009F },
+ { 0xA0, 0x00A0 },
+ { 0xA4, 0x00A4 },
+ { 0xAC, 0x060C },
+ { 0xAD, 0x00AD },
+ { 0xBB, 0x061B },
+ { 0xBF, 0x061F },
+ { 0xC1, 0x0621 },
+ { 0xC2, 0x0622 },
+ { 0xC3, 0x0623 },
+ { 0xC4, 0x0624 },
+ { 0xC5, 0x0625 },
+ { 0xC6, 0x0626 },
+ { 0xC7, 0x0627 },
+ { 0xC8, 0x0628 },
+ { 0xC9, 0x0629 },
+ { 0xCA, 0x062A },
+ { 0xCB, 0x062B },
+ { 0xCC, 0x062C },
+ { 0xCD, 0x062D },
+ { 0xCE, 0x062E },
+ { 0xCF, 0x062F },
+ { 0xD0, 0x0630 },
+ { 0xD1, 0x0631 },
+ { 0xD2, 0x0632 },
+ { 0xD3, 0x0633 },
+ { 0xD4, 0x0634 },
+ { 0xD5, 0x0635 },
+ { 0xD6, 0x0636 },
+ { 0xD7, 0x0637 },
+ { 0xD8, 0x0638 },
+ { 0xD9, 0x0639 },
+ { 0xDA, 0x063A },
+ { 0xE0, 0x0640 },
+ { 0xE1, 0x0641 },
+ { 0xE2, 0x0642 },
+ { 0xE3, 0x0643 },
+ { 0xE4, 0x0644 },
+ { 0xE5, 0x0645 },
+ { 0xE6, 0x0646 },
+ { 0xE7, 0x0647 },
+ { 0xE8, 0x0648 },
+ { 0xE9, 0x0649 },
+ { 0xEA, 0x064A },
+ { 0xEB, 0x064B },
+ { 0xEC, 0x064C },
+ { 0xED, 0x064D },
+ { 0xEE, 0x064E },
+ { 0xEF, 0x064F },
+ { 0xF0, 0x0650 },
+ { 0xF1, 0x0651 },
+ { 0xF2, 0x0652 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_6 [] = {"ISO-8859-6", "8859-6", NULL };
+
+static struct table_entry table_8859_7 [] = {
+ { 0x80, 0x0080 },
+ { 0x81, 0x0081 },
+ { 0x82, 0x0082 },
+ { 0x83, 0x0083 },
+ { 0x84, 0x0084 },
+ { 0x85, 0x0085 },
+ { 0x86, 0x0086 },
+ { 0x87, 0x0087 },
+ { 0x88, 0x0088 },
+ { 0x89, 0x0089 },
+ { 0x8A, 0x008A },
+ { 0x8B, 0x008B },
+ { 0x8C, 0x008C },
+ { 0x8D, 0x008D },
+ { 0x8E, 0x008E },
+ { 0x8F, 0x008F },
+ { 0x90, 0x0090 },
+ { 0x91, 0x0091 },
+ { 0x92, 0x0092 },
+ { 0x93, 0x0093 },
+ { 0x94, 0x0094 },
+ { 0x95, 0x0095 },
+ { 0x96, 0x0096 },
+ { 0x97, 0x0097 },
+ { 0x98, 0x0098 },
+ { 0x99, 0x0099 },
+ { 0x9A, 0x009A },
+ { 0x9B, 0x009B },
+ { 0x9C, 0x009C },
+ { 0x9D, 0x009D },
+ { 0x9E, 0x009E },
+ { 0x9F, 0x009F },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x2018 },
+ { 0xA2, 0x2019 },
+ { 0xA3, 0x00A3 },
+ { 0xA6, 0x00A6 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x00A8 },
+ { 0xA9, 0x00A9 },
+ { 0xAB, 0x00AB },
+ { 0xAC, 0x00AC },
+ { 0xAD, 0x00AD },
+ { 0xAF, 0x2015 },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x00B1 },
+ { 0xB2, 0x00B2 },
+ { 0xB3, 0x00B3 },
+ { 0xB4, 0x0384 },
+ { 0xB5, 0x0385 },
+ { 0xB6, 0x0386 },
+ { 0xB7, 0x00B7 },
+ { 0xB8, 0x0388 },
+ { 0xB9, 0x0389 },
+ { 0xBA, 0x038A },
+ { 0xBB, 0x00BB },
+ { 0xBC, 0x038C },
+ { 0xBD, 0x00BD },
+ { 0xBE, 0x038E },
+ { 0xBF, 0x038F },
+ { 0xC0, 0x0390 },
+ { 0xC1, 0x0391 },
+ { 0xC2, 0x0392 },
+ { 0xC3, 0x0393 },
+ { 0xC4, 0x0394 },
+ { 0xC5, 0x0395 },
+ { 0xC6, 0x0396 },
+ { 0xC7, 0x0397 },
+ { 0xC8, 0x0398 },
+ { 0xC9, 0x0399 },
+ { 0xCA, 0x039A },
+ { 0xCB, 0x039B },
+ { 0xCC, 0x039C },
+ { 0xCD, 0x039D },
+ { 0xCE, 0x039E },
+ { 0xCF, 0x039F },
+ { 0xD0, 0x03A0 },
+ { 0xD1, 0x03A1 },
+ { 0xD3, 0x03A3 },
+ { 0xD4, 0x03A4 },
+ { 0xD5, 0x03A5 },
+ { 0xD6, 0x03A6 },
+ { 0xD7, 0x03A7 },
+ { 0xD8, 0x03A8 },
+ { 0xD9, 0x03A9 },
+ { 0xDA, 0x03AA },
+ { 0xDB, 0x03AB },
+ { 0xDC, 0x03AC },
+ { 0xDD, 0x03AD },
+ { 0xDE, 0x03AE },
+ { 0xDF, 0x03AF },
+ { 0xE0, 0x03B0 },
+ { 0xE1, 0x03B1 },
+ { 0xE2, 0x03B2 },
+ { 0xE3, 0x03B3 },
+ { 0xE4, 0x03B4 },
+ { 0xE5, 0x03B5 },
+ { 0xE6, 0x03B6 },
+ { 0xE7, 0x03B7 },
+ { 0xE8, 0x03B8 },
+ { 0xE9, 0x03B9 },
+ { 0xEA, 0x03BA },
+ { 0xEB, 0x03BB },
+ { 0xEC, 0x03BC },
+ { 0xED, 0x03BD },
+ { 0xEE, 0x03BE },
+ { 0xEF, 0x03BF },
+ { 0xF0, 0x03C0 },
+ { 0xF1, 0x03C1 },
+ { 0xF2, 0x03C2 },
+ { 0xF3, 0x03C3 },
+ { 0xF4, 0x03C4 },
+ { 0xF5, 0x03C5 },
+ { 0xF6, 0x03C6 },
+ { 0xF7, 0x03C7 },
+ { 0xF8, 0x03C8 },
+ { 0xF9, 0x03C9 },
+ { 0xFA, 0x03CA },
+ { 0xFB, 0x03CB },
+ { 0xFC, 0x03CC },
+ { 0xFD, 0x03CD },
+ { 0xFE, 0x03CE },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_7 [] = {"ISO-8859-7", "8859-7", "iso-ir-126", "elot-928", NULL };
+
+static struct table_entry table_8859_8 [] = {
+ { 0x80, 0x0080 },
+ { 0x81, 0x0081 },
+ { 0x82, 0x0082 },
+ { 0x83, 0x0083 },
+ { 0x84, 0x0084 },
+ { 0x85, 0x0085 },
+ { 0x86, 0x0086 },
+ { 0x87, 0x0087 },
+ { 0x88, 0x0088 },
+ { 0x89, 0x0089 },
+ { 0x8A, 0x008A },
+ { 0x8B, 0x008B },
+ { 0x8C, 0x008C },
+ { 0x8D, 0x008D },
+ { 0x8E, 0x008E },
+ { 0x8F, 0x008F },
+ { 0x90, 0x0090 },
+ { 0x91, 0x0091 },
+ { 0x92, 0x0092 },
+ { 0x93, 0x0093 },
+ { 0x94, 0x0094 },
+ { 0x95, 0x0095 },
+ { 0x96, 0x0096 },
+ { 0x97, 0x0097 },
+ { 0x98, 0x0098 },
+ { 0x99, 0x0099 },
+ { 0x9A, 0x009A },
+ { 0x9B, 0x009B },
+ { 0x9C, 0x009C },
+ { 0x9D, 0x009D },
+ { 0x9E, 0x009E },
+ { 0x9F, 0x009F },
+ { 0xA0, 0x00A0 },
+ { 0xA2, 0x00A2 },
+ { 0xA3, 0x00A3 },
+ { 0xA4, 0x00A4 },
+ { 0xA5, 0x00A5 },
+ { 0xA6, 0x00A6 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x00A8 },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x00D7 },
+ { 0xAB, 0x00AB },
+ { 0xAC, 0x00AC },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x00AE },
+ { 0xAF, 0x00AF },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x00B1 },
+ { 0xB2, 0x00B2 },
+ { 0xB3, 0x00B3 },
+ { 0xB4, 0x00B4 },
+ { 0xB5, 0x00B5 },
+ { 0xB6, 0x00B6 },
+ { 0xB7, 0x00B7 },
+ { 0xB8, 0x00B8 },
+ { 0xB9, 0x00B9 },
+ { 0xBA, 0x00F7 },
+ { 0xBB, 0x00BB },
+ { 0xBC, 0x00BC },
+ { 0xBD, 0x00BD },
+ { 0xBE, 0x00BE },
+ { 0xDF, 0x2017 },
+ { 0xE0, 0x05D0 },
+ { 0xE1, 0x05D1 },
+ { 0xE2, 0x05D2 },
+ { 0xE3, 0x05D3 },
+ { 0xE4, 0x05D4 },
+ { 0xE5, 0x05D5 },
+ { 0xE6, 0x05D6 },
+ { 0xE7, 0x05D7 },
+ { 0xE8, 0x05D8 },
+ { 0xE9, 0x05D9 },
+ { 0xEA, 0x05DA },
+ { 0xEB, 0x05DB },
+ { 0xEC, 0x05DC },
+ { 0xED, 0x05DD },
+ { 0xEE, 0x05DE },
+ { 0xEF, 0x05DF },
+ { 0xF0, 0x05E0 },
+ { 0xF1, 0x05E1 },
+ { 0xF2, 0x05E2 },
+ { 0xF3, 0x05E3 },
+ { 0xF4, 0x05E4 },
+ { 0xF5, 0x05E5 },
+ { 0xF6, 0x05E6 },
+ { 0xF7, 0x05E7 },
+ { 0xF8, 0x05E8 },
+ { 0xF9, 0x05E9 },
+ { 0xFA, 0x05EA },
+ { 0xFD, 0x200E },
+ { 0xFE, 0x200F },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_8 [] = {"ISO-8859-8", "8859-8", NULL };
+
+static struct table_entry table_8859_9 [] = {
+ { 0x80, 0x0080 },
+ { 0x81, 0x0081 },
+ { 0x82, 0x0082 },
+ { 0x83, 0x0083 },
+ { 0x84, 0x0084 },
+ { 0x85, 0x0085 },
+ { 0x86, 0x0086 },
+ { 0x87, 0x0087 },
+ { 0x88, 0x0088 },
+ { 0x89, 0x0089 },
+ { 0x8A, 0x008A },
+ { 0x8B, 0x008B },
+ { 0x8C, 0x008C },
+ { 0x8D, 0x008D },
+ { 0x8E, 0x008E },
+ { 0x8F, 0x008F },
+ { 0x90, 0x0090 },
+ { 0x91, 0x0091 },
+ { 0x92, 0x0092 },
+ { 0x93, 0x0093 },
+ { 0x94, 0x0094 },
+ { 0x95, 0x0095 },
+ { 0x96, 0x0096 },
+ { 0x97, 0x0097 },
+ { 0x98, 0x0098 },
+ { 0x99, 0x0099 },
+ { 0x9A, 0x009A },
+ { 0x9B, 0x009B },
+ { 0x9C, 0x009C },
+ { 0x9D, 0x009D },
+ { 0x9E, 0x009E },
+ { 0x9F, 0x009F },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x00A1 },
+ { 0xA2, 0x00A2 },
+ { 0xA3, 0x00A3 },
+ { 0xA4, 0x00A4 },
+ { 0xA5, 0x00A5 },
+ { 0xA6, 0x00A6 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x00A8 },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x00AA },
+ { 0xAB, 0x00AB },
+ { 0xAC, 0x00AC },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x00AE },
+ { 0xAF, 0x00AF },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x00B1 },
+ { 0xB2, 0x00B2 },
+ { 0xB3, 0x00B3 },
+ { 0xB4, 0x00B4 },
+ { 0xB5, 0x00B5 },
+ { 0xB6, 0x00B6 },
+ { 0xB7, 0x00B7 },
+ { 0xB8, 0x00B8 },
+ { 0xB9, 0x00B9 },
+ { 0xBA, 0x00BA },
+ { 0xBB, 0x00BB },
+ { 0xBC, 0x00BC },
+ { 0xBD, 0x00BD },
+ { 0xBE, 0x00BE },
+ { 0xBF, 0x00BF },
+ { 0xC0, 0x00C0 },
+ { 0xC1, 0x00C1 },
+ { 0xC2, 0x00C2 },
+ { 0xC3, 0x00C3 },
+ { 0xC4, 0x00C4 },
+ { 0xC5, 0x00C5 },
+ { 0xC6, 0x00C6 },
+ { 0xC7, 0x00C7 },
+ { 0xC8, 0x00C8 },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x00CA },
+ { 0xCB, 0x00CB },
+ { 0xCC, 0x00CC },
+ { 0xCD, 0x00CD },
+ { 0xCE, 0x00CE },
+ { 0xCF, 0x00CF },
+ { 0xD0, 0x011E },
+ { 0xD1, 0x00D1 },
+ { 0xD2, 0x00D2 },
+ { 0xD3, 0x00D3 },
+ { 0xD4, 0x00D4 },
+ { 0xD5, 0x00D5 },
+ { 0xD6, 0x00D6 },
+ { 0xD7, 0x00D7 },
+ { 0xD8, 0x00D8 },
+ { 0xD9, 0x00D9 },
+ { 0xDA, 0x00DA },
+ { 0xDB, 0x00DB },
+ { 0xDC, 0x00DC },
+ { 0xDD, 0x0130 },
+ { 0xDE, 0x015E },
+ { 0xDF, 0x00DF },
+ { 0xE0, 0x00E0 },
+ { 0xE1, 0x00E1 },
+ { 0xE2, 0x00E2 },
+ { 0xE3, 0x00E3 },
+ { 0xE4, 0x00E4 },
+ { 0xE5, 0x00E5 },
+ { 0xE6, 0x00E6 },
+ { 0xE7, 0x00E7 },
+ { 0xE8, 0x00E8 },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x00EA },
+ { 0xEB, 0x00EB },
+ { 0xEC, 0x00EC },
+ { 0xED, 0x00ED },
+ { 0xEE, 0x00EE },
+ { 0xEF, 0x00EF },
+ { 0xF0, 0x011F },
+ { 0xF1, 0x00F1 },
+ { 0xF2, 0x00F2 },
+ { 0xF3, 0x00F3 },
+ { 0xF4, 0x00F4 },
+ { 0xF5, 0x00F5 },
+ { 0xF6, 0x00F6 },
+ { 0xF7, 0x00F7 },
+ { 0xF8, 0x00F8 },
+ { 0xF9, 0x00F9 },
+ { 0xFA, 0x00FA },
+ { 0xFB, 0x00FB },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x0131 },
+ { 0xFE, 0x015F },
+ { 0xFF, 0x00FF },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_9 [] = {"ISO-8859-9", "8859-9" , NULL };
+
+static struct table_entry table_8859_10 [] = {
+ { 0x80, 0x0080 },
+ { 0x81, 0x0081 },
+ { 0x82, 0x0082 },
+ { 0x83, 0x0083 },
+ { 0x84, 0x0084 },
+ { 0x85, 0x0085 },
+ { 0x86, 0x0086 },
+ { 0x87, 0x0087 },
+ { 0x88, 0x0088 },
+ { 0x89, 0x0089 },
+ { 0x8A, 0x008A },
+ { 0x8B, 0x008B },
+ { 0x8C, 0x008C },
+ { 0x8D, 0x008D },
+ { 0x8E, 0x008E },
+ { 0x8F, 0x008F },
+ { 0x90, 0x0090 },
+ { 0x91, 0x0091 },
+ { 0x92, 0x0092 },
+ { 0x93, 0x0093 },
+ { 0x94, 0x0094 },
+ { 0x95, 0x0095 },
+ { 0x96, 0x0096 },
+ { 0x97, 0x0097 },
+ { 0x98, 0x0098 },
+ { 0x99, 0x0099 },
+ { 0x9A, 0x009A },
+ { 0x9B, 0x009B },
+ { 0x9C, 0x009C },
+ { 0x9D, 0x009D },
+ { 0x9E, 0x009E },
+ { 0x9F, 0x009F },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x0104 },
+ { 0xA2, 0x0112 },
+ { 0xA3, 0x0122 },
+ { 0xA4, 0x012A },
+ { 0xA5, 0x0128 },
+ { 0xA6, 0x0136 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x013B },
+ { 0xA9, 0x0110 },
+ { 0xAA, 0x0160 },
+ { 0xAB, 0x0166 },
+ { 0xAC, 0x017D },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x016A },
+ { 0xAF, 0x014A },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x0105 },
+ { 0xB2, 0x0113 },
+ { 0xB3, 0x0123 },
+ { 0xB4, 0x012B },
+ { 0xB5, 0x0129 },
+ { 0xB6, 0x0137 },
+ { 0xB7, 0x00B7 },
+ { 0xB8, 0x013C },
+ { 0xB9, 0x0111 },
+ { 0xBA, 0x0161 },
+ { 0xBB, 0x0167 },
+ { 0xBC, 0x017E },
+ { 0xBD, 0x2015 },
+ { 0xBE, 0x016B },
+ { 0xBF, 0x014B },
+ { 0xC0, 0x0100 },
+ { 0xC1, 0x00C1 },
+ { 0xC2, 0x00C2 },
+ { 0xC3, 0x00C3 },
+ { 0xC4, 0x00C4 },
+ { 0xC5, 0x00C5 },
+ { 0xC6, 0x00C6 },
+ { 0xC7, 0x012E },
+ { 0xC8, 0x010C },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x0118 },
+ { 0xCB, 0x00CB },
+ { 0xCC, 0x0116 },
+ { 0xCD, 0x00CD },
+ { 0xCE, 0x00CE },
+ { 0xCF, 0x00CF },
+ { 0xD0, 0x00D0 },
+ { 0xD1, 0x0145 },
+ { 0xD2, 0x014C },
+ { 0xD3, 0x00D3 },
+ { 0xD4, 0x00D4 },
+ { 0xD5, 0x00D5 },
+ { 0xD6, 0x00D6 },
+ { 0xD7, 0x0168 },
+ { 0xD8, 0x00D8 },
+ { 0xD9, 0x0172 },
+ { 0xDA, 0x00DA },
+ { 0xDB, 0x00DB },
+ { 0xDC, 0x00DC },
+ { 0xDD, 0x00DD },
+ { 0xDE, 0x00DE },
+ { 0xDF, 0x00DF },
+ { 0xE0, 0x0101 },
+ { 0xE1, 0x00E1 },
+ { 0xE2, 0x00E2 },
+ { 0xE3, 0x00E3 },
+ { 0xE4, 0x00E4 },
+ { 0xE5, 0x00E5 },
+ { 0xE6, 0x00E6 },
+ { 0xE7, 0x012F },
+ { 0xE8, 0x010D },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x0119 },
+ { 0xEB, 0x00EB },
+ { 0xEC, 0x0117 },
+ { 0xED, 0x00ED },
+ { 0xEE, 0x00EE },
+ { 0xEF, 0x00EF },
+ { 0xF0, 0x00F0 },
+ { 0xF1, 0x0146 },
+ { 0xF2, 0x014D },
+ { 0xF3, 0x00F3 },
+ { 0xF4, 0x00F4 },
+ { 0xF5, 0x00F5 },
+ { 0xF6, 0x00F6 },
+ { 0xF7, 0x0169 },
+ { 0xF8, 0x00F8 },
+ { 0xF9, 0x0173 },
+ { 0xFA, 0x00FA },
+ { 0xFB, 0x00FB },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x00FD },
+ { 0xFE, 0x00FE },
+ { 0xFF, 0x0138 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_10 [] = {"ISO-8859-10", "8859-10", NULL };
+
+static struct table_entry table_8859_13 [] = {
+ { 0x80, 0x0080 },
+ { 0x81, 0x0081 },
+ { 0x82, 0x0082 },
+ { 0x83, 0x0083 },
+ { 0x84, 0x0084 },
+ { 0x85, 0x0085 },
+ { 0x86, 0x0086 },
+ { 0x87, 0x0087 },
+ { 0x88, 0x0088 },
+ { 0x89, 0x0089 },
+ { 0x8A, 0x008A },
+ { 0x8B, 0x008B },
+ { 0x8C, 0x008C },
+ { 0x8D, 0x008D },
+ { 0x8E, 0x008E },
+ { 0x8F, 0x008F },
+ { 0x90, 0x0090 },
+ { 0x91, 0x0091 },
+ { 0x92, 0x0092 },
+ { 0x93, 0x0093 },
+ { 0x94, 0x0094 },
+ { 0x95, 0x0095 },
+ { 0x96, 0x0096 },
+ { 0x97, 0x0097 },
+ { 0x98, 0x0098 },
+ { 0x99, 0x0099 },
+ { 0x9A, 0x009A },
+ { 0x9B, 0x009B },
+ { 0x9C, 0x009C },
+ { 0x9D, 0x009D },
+ { 0x9E, 0x009E },
+ { 0x9F, 0x009F },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x201D },
+ { 0xA2, 0x00A2 },
+ { 0xA3, 0x00A3 },
+ { 0xA4, 0x00A4 },
+ { 0xA5, 0x201E },
+ { 0xA6, 0x00A6 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x00D8 },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x0156 },
+ { 0xAB, 0x00AB },
+ { 0xAC, 0x00AC },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x00AE },
+ { 0xAF, 0x00C6 },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x00B1 },
+ { 0xB2, 0x00B2 },
+ { 0xB3, 0x00B3 },
+ { 0xB4, 0x201C },
+ { 0xB5, 0x00B5 },
+ { 0xB6, 0x00B6 },
+ { 0xB7, 0x00B7 },
+ { 0xB8, 0x00F8 },
+ { 0xB9, 0x00B9 },
+ { 0xBA, 0x0157 },
+ { 0xBB, 0x00BB },
+ { 0xBC, 0x00BC },
+ { 0xBD, 0x00BD },
+ { 0xBE, 0x00BE },
+ { 0xBF, 0x00E6 },
+ { 0xC0, 0x0104 },
+ { 0xC1, 0x012E },
+ { 0xC2, 0x0100 },
+ { 0xC3, 0x0106 },
+ { 0xC4, 0x00C4 },
+ { 0xC5, 0x00C5 },
+ { 0xC6, 0x0118 },
+ { 0xC7, 0x0112 },
+ { 0xC8, 0x010C },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x0179 },
+ { 0xCB, 0x0116 },
+ { 0xCC, 0x0122 },
+ { 0xCD, 0x0136 },
+ { 0xCE, 0x012A },
+ { 0xCF, 0x013B },
+ { 0xD0, 0x0160 },
+ { 0xD1, 0x0143 },
+ { 0xD2, 0x0145 },
+ { 0xD3, 0x00D3 },
+ { 0xD4, 0x014C },
+ { 0xD5, 0x00D5 },
+ { 0xD6, 0x00D6 },
+ { 0xD7, 0x00D7 },
+ { 0xD8, 0x0172 },
+ { 0xD9, 0x0141 },
+ { 0xDA, 0x015A },
+ { 0xDB, 0x016A },
+ { 0xDC, 0x00DC },
+ { 0xDD, 0x017B },
+ { 0xDE, 0x017D },
+ { 0xDF, 0x00DF },
+ { 0xE0, 0x0105 },
+ { 0xE1, 0x012F },
+ { 0xE2, 0x0101 },
+ { 0xE3, 0x0107 },
+ { 0xE4, 0x00E4 },
+ { 0xE5, 0x00E5 },
+ { 0xE6, 0x0119 },
+ { 0xE7, 0x0113 },
+ { 0xE8, 0x010D },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x017A },
+ { 0xEB, 0x0117 },
+ { 0xEC, 0x0123 },
+ { 0xED, 0x0137 },
+ { 0xEE, 0x012B },
+ { 0xEF, 0x013C },
+ { 0xF0, 0x0161 },
+ { 0xF1, 0x0144 },
+ { 0xF2, 0x0146 },
+ { 0xF3, 0x00F3 },
+ { 0xF4, 0x014D },
+ { 0xF5, 0x00F5 },
+ { 0xF6, 0x00F6 },
+ { 0xF7, 0x00F7 },
+ { 0xF8, 0x0173 },
+ { 0xF9, 0x0142 },
+ { 0xFA, 0x015B },
+ { 0xFB, 0x016B },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x017C },
+ { 0xFE, 0x017E },
+ { 0xFF, 0x2019 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_13 [] = {"ISO-8859-13", "8859-13", "iso-ir-179", "latin7", "l7","iso-latin7", NULL };
+
+static struct table_entry table_8859_14 [] = {
+ { 0x80, 0x0080 },
+ { 0x81, 0x0081 },
+ { 0x82, 0x0082 },
+ { 0x83, 0x0083 },
+ { 0x84, 0x0084 },
+ { 0x85, 0x0085 },
+ { 0x86, 0x0086 },
+ { 0x87, 0x0087 },
+ { 0x88, 0x0088 },
+ { 0x89, 0x0089 },
+ { 0x8A, 0x008A },
+ { 0x8B, 0x008B },
+ { 0x8C, 0x008C },
+ { 0x8D, 0x008D },
+ { 0x8E, 0x008E },
+ { 0x8F, 0x008F },
+ { 0x90, 0x0090 },
+ { 0x91, 0x0091 },
+ { 0x92, 0x0092 },
+ { 0x93, 0x0093 },
+ { 0x94, 0x0094 },
+ { 0x95, 0x0095 },
+ { 0x96, 0x0096 },
+ { 0x97, 0x0097 },
+ { 0x98, 0x0098 },
+ { 0x99, 0x0099 },
+ { 0x9A, 0x009A },
+ { 0x9B, 0x009B },
+ { 0x9C, 0x009C },
+ { 0x9D, 0x009D },
+ { 0x9E, 0x009E },
+ { 0x9F, 0x009F },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x1E02 },
+ { 0xA2, 0x1E03 },
+ { 0xA3, 0x00A3 },
+ { 0xA4, 0x010A },
+ { 0xA5, 0x010B },
+ { 0xA6, 0x1E0A },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x1E80 },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x1E82 },
+ { 0xAB, 0x1E0B },
+ { 0xAC, 0x1EF2 },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x00AE },
+ { 0xAF, 0x0178 },
+ { 0xB0, 0x1E1E },
+ { 0xB1, 0x1E1F },
+ { 0xB2, 0x0120 },
+ { 0xB3, 0x0121 },
+ { 0xB4, 0x1E40 },
+ { 0xB5, 0x1E41 },
+ { 0xB6, 0x00B6 },
+ { 0xB7, 0x1E56 },
+ { 0xB8, 0x1E81 },
+ { 0xB9, 0x1E57 },
+ { 0xBA, 0x1E83 },
+ { 0xBB, 0x1E60 },
+ { 0xBC, 0x1EF3 },
+ { 0xBD, 0x1E84 },
+ { 0xBE, 0x1E85 },
+ { 0xBF, 0x1E61 },
+ { 0xC0, 0x00C0 },
+ { 0xC1, 0x00C1 },
+ { 0xC2, 0x00C2 },
+ { 0xC3, 0x00C3 },
+ { 0xC4, 0x00C4 },
+ { 0xC5, 0x00C5 },
+ { 0xC6, 0x00C6 },
+ { 0xC7, 0x00C7 },
+ { 0xC8, 0x00C8 },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x00CA },
+ { 0xCB, 0x00CB },
+ { 0xCC, 0x00CC },
+ { 0xCD, 0x00CD },
+ { 0xCE, 0x00CE },
+ { 0xCF, 0x00CF },
+ { 0xD0, 0x0174 },
+ { 0xD1, 0x00D1 },
+ { 0xD2, 0x00D2 },
+ { 0xD3, 0x00D3 },
+ { 0xD4, 0x00D4 },
+ { 0xD5, 0x00D5 },
+ { 0xD6, 0x00D6 },
+ { 0xD7, 0x1E6A },
+ { 0xD8, 0x00D8 },
+ { 0xD9, 0x00D9 },
+ { 0xDA, 0x00DA },
+ { 0xDB, 0x00DB },
+ { 0xDC, 0x00DC },
+ { 0xDD, 0x00DD },
+ { 0xDE, 0x0176 },
+ { 0xDF, 0x00DF },
+ { 0xE0, 0x00E0 },
+ { 0xE1, 0x00E1 },
+ { 0xE2, 0x00E2 },
+ { 0xE3, 0x00E3 },
+ { 0xE4, 0x00E4 },
+ { 0xE5, 0x00E5 },
+ { 0xE6, 0x00E6 },
+ { 0xE7, 0x00E7 },
+ { 0xE8, 0x00E8 },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x00EA },
+ { 0xEB, 0x00EB },
+ { 0xEC, 0x00EC },
+ { 0xED, 0x00ED },
+ { 0xEE, 0x00EE },
+ { 0xEF, 0x00EF },
+ { 0xF0, 0x0175 },
+ { 0xF1, 0x00F1 },
+ { 0xF2, 0x00F2 },
+ { 0xF3, 0x00F3 },
+ { 0xF4, 0x00F4 },
+ { 0xF5, 0x00F5 },
+ { 0xF6, 0x00F6 },
+ { 0xF7, 0x1E6B },
+ { 0xF8, 0x00F8 },
+ { 0xF9, 0x00F9 },
+ { 0xFA, 0x00FA },
+ { 0xFB, 0x00FB },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x00FD },
+ { 0xFE, 0x0177 },
+ { 0xFF, 0x00FF },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_14 [] = {"ISO-8859-14", "8859-14", NULL };
+
+static struct table_entry table_8859_15 [] = {
+ { 0x80, 0x0080 },
+ { 0x81, 0x0081 },
+ { 0x82, 0x0082 },
+ { 0x83, 0x0083 },
+ { 0x84, 0x0084 },
+ { 0x85, 0x0085 },
+ { 0x86, 0x0086 },
+ { 0x87, 0x0087 },
+ { 0x88, 0x0088 },
+ { 0x89, 0x0089 },
+ { 0x8A, 0x008A },
+ { 0x8B, 0x008B },
+ { 0x8C, 0x008C },
+ { 0x8D, 0x008D },
+ { 0x8E, 0x008E },
+ { 0x8F, 0x008F },
+ { 0x90, 0x0090 },
+ { 0x91, 0x0091 },
+ { 0x92, 0x0092 },
+ { 0x93, 0x0093 },
+ { 0x94, 0x0094 },
+ { 0x95, 0x0095 },
+ { 0x96, 0x0096 },
+ { 0x97, 0x0097 },
+ { 0x98, 0x0098 },
+ { 0x99, 0x0099 },
+ { 0x9A, 0x009A },
+ { 0x9B, 0x009B },
+ { 0x9C, 0x009C },
+ { 0x9D, 0x009D },
+ { 0x9E, 0x009E },
+ { 0x9F, 0x009F },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x00A1 },
+ { 0xA2, 0x00A2 },
+ { 0xA3, 0x00A3 },
+ { 0xA4, 0x20AC },
+ { 0xA5, 0x00A5 },
+ { 0xA6, 0x0160 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x0161 },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x00AA },
+ { 0xAB, 0x00AB },
+ { 0xAC, 0x00AC },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x00AE },
+ { 0xAF, 0x00AF },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x00B1 },
+ { 0xB2, 0x00B2 },
+ { 0xB3, 0x00B3 },
+ { 0xB4, 0x017D },
+ { 0xB5, 0x00B5 },
+ { 0xB6, 0x00B6 },
+ { 0xB7, 0x00B7 },
+ { 0xB8, 0x017E },
+ { 0xB9, 0x00B9 },
+ { 0xBA, 0x00BA },
+ { 0xBB, 0x00BB },
+ { 0xBC, 0x0152 },
+ { 0xBD, 0x0153 },
+ { 0xBE, 0x0178 },
+ { 0xBF, 0x00BF },
+ { 0xC0, 0x00C0 },
+ { 0xC1, 0x00C1 },
+ { 0xC2, 0x00C2 },
+ { 0xC3, 0x00C3 },
+ { 0xC4, 0x00C4 },
+ { 0xC5, 0x00C5 },
+ { 0xC6, 0x00C6 },
+ { 0xC7, 0x00C7 },
+ { 0xC8, 0x00C8 },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x00CA },
+ { 0xCB, 0x00CB },
+ { 0xCC, 0x00CC },
+ { 0xCD, 0x00CD },
+ { 0xCE, 0x00CE },
+ { 0xCF, 0x00CF },
+ { 0xD0, 0x00D0 },
+ { 0xD1, 0x00D1 },
+ { 0xD2, 0x00D2 },
+ { 0xD3, 0x00D3 },
+ { 0xD4, 0x00D4 },
+ { 0xD5, 0x00D5 },
+ { 0xD6, 0x00D6 },
+ { 0xD7, 0x00D7 },
+ { 0xD8, 0x00D8 },
+ { 0xD9, 0x00D9 },
+ { 0xDA, 0x00DA },
+ { 0xDB, 0x00DB },
+ { 0xDC, 0x00DC },
+ { 0xDD, 0x00DD },
+ { 0xDE, 0x00DE },
+ { 0xDF, 0x00DF },
+ { 0xE0, 0x00E0 },
+ { 0xE1, 0x00E1 },
+ { 0xE2, 0x00E2 },
+ { 0xE3, 0x00E3 },
+ { 0xE4, 0x00E4 },
+ { 0xE5, 0x00E5 },
+ { 0xE6, 0x00E6 },
+ { 0xE7, 0x00E7 },
+ { 0xE8, 0x00E8 },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x00EA },
+ { 0xEB, 0x00EB },
+ { 0xEC, 0x00EC },
+ { 0xED, 0x00ED },
+ { 0xEE, 0x00EE },
+ { 0xEF, 0x00EF },
+ { 0xF0, 0x00F0 },
+ { 0xF1, 0x00F1 },
+ { 0xF2, 0x00F2 },
+ { 0xF3, 0x00F3 },
+ { 0xF4, 0x00F4 },
+ { 0xF5, 0x00F5 },
+ { 0xF6, 0x00F6 },
+ { 0xF7, 0x00F7 },
+ { 0xF8, 0x00F8 },
+ { 0xF9, 0x00F9 },
+ { 0xFA, 0x00FA },
+ { 0xFB, 0x00FB },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x00FD },
+ { 0xFE, 0x00FE },
+ { 0xFF, 0x00FF },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_15 [] = {"ISO-8859-15", "8859-15", NULL };
+
+static struct table_entry table_8859_16 [] = {
+ { 0x80, 0x0080 },
+ { 0x81, 0x0081 },
+ { 0x82, 0x0082 },
+ { 0x83, 0x0083 },
+ { 0x84, 0x0084 },
+ { 0x85, 0x0085 },
+ { 0x86, 0x0086 },
+ { 0x87, 0x0087 },
+ { 0x88, 0x0088 },
+ { 0x89, 0x0089 },
+ { 0x8A, 0x008A },
+ { 0x8B, 0x008B },
+ { 0x8C, 0x008C },
+ { 0x8D, 0x008D },
+ { 0x8E, 0x008E },
+ { 0x8F, 0x008F },
+ { 0x90, 0x0090 },
+ { 0x91, 0x0091 },
+ { 0x92, 0x0092 },
+ { 0x93, 0x0093 },
+ { 0x94, 0x0094 },
+ { 0x95, 0x0095 },
+ { 0x96, 0x0096 },
+ { 0x97, 0x0097 },
+ { 0x98, 0x0098 },
+ { 0x99, 0x0099 },
+ { 0x9A, 0x009A },
+ { 0x9B, 0x009B },
+ { 0x9C, 0x009C },
+ { 0x9D, 0x009D },
+ { 0x9E, 0x009E },
+ { 0x9F, 0x009F },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x0104 },
+ { 0xA2, 0x0105 },
+ { 0xA3, 0x0141 },
+ { 0xA4, 0x20AC },
+ { 0xA5, 0x201E },
+ { 0xA6, 0x0160 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x0161 },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x0218 },
+ { 0xAB, 0x00AB },
+ { 0xAC, 0x0179 },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x017A },
+ { 0xAF, 0x017B },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x00B1 },
+ { 0xB2, 0x010C },
+ { 0xB3, 0x0142 },
+ { 0xB4, 0x017D },
+ { 0xB5, 0x201D },
+ { 0xB6, 0x00B6 },
+ { 0xB7, 0x00B7 },
+ { 0xB8, 0x017E },
+ { 0xB9, 0x010D },
+ { 0xBA, 0x0219 },
+ { 0xBB, 0x00BB },
+ { 0xBC, 0x0152 },
+ { 0xBD, 0x0153 },
+ { 0xBE, 0x0178 },
+ { 0xBF, 0x017C },
+ { 0xC0, 0x00C0 },
+ { 0xC1, 0x00C1 },
+ { 0xC2, 0x00C2 },
+ { 0xC3, 0x0102 },
+ { 0xC4, 0x00C4 },
+ { 0xC5, 0x0106 },
+ { 0xC6, 0x00C6 },
+ { 0xC7, 0x00C7 },
+ { 0xC8, 0x00C8 },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x00CA },
+ { 0xCB, 0x00CB },
+ { 0xCC, 0x00CC },
+ { 0xCD, 0x00CD },
+ { 0xCE, 0x00CE },
+ { 0xCF, 0x00CF },
+ { 0xD0, 0x0110 },
+ { 0xD1, 0x0143 },
+ { 0xD2, 0x00D2 },
+ { 0xD3, 0x00D3 },
+ { 0xD4, 0x00D4 },
+ { 0xD5, 0x0150 },
+ { 0xD6, 0x00D6 },
+ { 0xD7, 0x015A },
+ { 0xD8, 0x0170 },
+ { 0xD9, 0x00D9 },
+ { 0xDA, 0x00DA },
+ { 0xDB, 0x00DB },
+ { 0xDC, 0x00DC },
+ { 0xDD, 0x0118 },
+ { 0xDE, 0x021A },
+ { 0xDF, 0x00DF },
+ { 0xE0, 0x00E0 },
+ { 0xE1, 0x00E1 },
+ { 0xE2, 0x00E2 },
+ { 0xE3, 0x0103 },
+ { 0xE4, 0x00E4 },
+ { 0xE5, 0x0107 },
+ { 0xE6, 0x00E6 },
+ { 0xE7, 0x00E7 },
+ { 0xE8, 0x00E8 },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x00EA },
+ { 0xEB, 0x00EB },
+ { 0xEC, 0x00EC },
+ { 0xED, 0x00ED },
+ { 0xEE, 0x00EE },
+ { 0xEF, 0x00EF },
+ { 0xF0, 0x0111 },
+ { 0xF1, 0x0144 },
+ { 0xF2, 0x00F2 },
+ { 0xF3, 0x00F3 },
+ { 0xF4, 0x00F4 },
+ { 0xF5, 0x0151 },
+ { 0xF6, 0x00F6 },
+ { 0xF7, 0x015B },
+ { 0xF8, 0x0171 },
+ { 0xF9, 0x00F9 },
+ { 0xFA, 0x00FA },
+ { 0xFB, 0x00FB },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x0119 },
+ { 0xFE, 0x021B },
+ { 0xFF, 0x00FF },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_8859_16 [] = {"ISO-8859-16", "8859-16", NULL };
+
+static struct table_entry table_cp1250 [] = {
+ { 0x80, 0x20AC },
+ { 0x81, 0 },
+ { 0x82, 0x201A },
+ { 0x83, 0 },
+ { 0x84, 0x201E },
+ { 0x86, 0x2020 },
+ { 0x87, 0x2021 },
+ { 0x88, 0 },
+ { 0x89, 0x2030 },
+ { 0x8A, 0x0160 },
+ { 0x8B, 0x2039 },
+ { 0x8C, 0x015A },
+ { 0x8D, 0x0164 },
+ { 0x8E, 0x017D },
+ { 0x8F, 0x0179 },
+ { 0x90, 0 },
+ { 0x91, 0x2018 },
+ { 0x92, 0x2019 },
+ { 0x93, 0x201C },
+ { 0x94, 0x201D },
+ { 0x96, 0x2013 },
+ { 0x97, 0x2014 },
+ { 0x98, 0 },
+ { 0x99, 0x2122 },
+ { 0x9A, 0x0161 },
+ { 0x9B, 0x203A },
+ { 0x9C, 0x015B },
+ { 0x9D, 0x0165 },
+ { 0x9E, 0x017E },
+ { 0x9F, 0x017A },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x02C7 },
+ { 0xA2, 0x02D8 },
+ { 0xA3, 0x0141 },
+ { 0xA4, 0x00A4 },
+ { 0xA5, 0x0104 },
+ { 0xA6, 0x00A6 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x00A8 },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x015E },
+ { 0xAB, 0x00AB },
+ { 0xAC, 0x00AC },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x00AE },
+ { 0xAF, 0x017B },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x00B1 },
+ { 0xB2, 0x02DB },
+ { 0xB3, 0x0142 },
+ { 0xB4, 0x00B4 },
+ { 0xB5, 0x00B5 },
+ { 0xB6, 0x00B6 },
+ { 0xB8, 0x00B8 },
+ { 0xB9, 0x0105 },
+ { 0xBA, 0x015F },
+ { 0xBB, 0x00BB },
+ { 0xBC, 0x013D },
+ { 0xBD, 0x02DD },
+ { 0xBE, 0x013E },
+ { 0xBF, 0x017C },
+ { 0xC0, 0x0154 },
+ { 0xC1, 0x00C1 },
+ { 0xC2, 0x00C2 },
+ { 0xC3, 0x0102 },
+ { 0xC4, 0x00C4 },
+ { 0xC5, 0x0139 },
+ { 0xC6, 0x0106 },
+ { 0xC7, 0x00C7 },
+ { 0xC8, 0x010C },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x0118 },
+ { 0xCB, 0x00CB },
+ { 0xCC, 0x011A },
+ { 0xCD, 0x00CD },
+ { 0xCE, 0x00CE },
+ { 0xCF, 0x010E },
+ { 0xD0, 0x0110 },
+ { 0xD1, 0x0143 },
+ { 0xD2, 0x0147 },
+ { 0xD3, 0x00D3 },
+ { 0xD4, 0x00D4 },
+ { 0xD5, 0x0150 },
+ { 0xD6, 0x00D6 },
+ { 0xD7, 0x00D7 },
+ { 0xD8, 0x0158 },
+ { 0xD9, 0x016E },
+ { 0xDA, 0x00DA },
+ { 0xDB, 0x0170 },
+ { 0xDC, 0x00DC },
+ { 0xDD, 0x00DD },
+ { 0xDE, 0x0162 },
+ { 0xDF, 0x00DF },
+ { 0xE0, 0x0155 },
+ { 0xE1, 0x00E1 },
+ { 0xE2, 0x00E2 },
+ { 0xE3, 0x0103 },
+ { 0xE4, 0x00E4 },
+ { 0xE5, 0x013A },
+ { 0xE6, 0x0107 },
+ { 0xE7, 0x00E7 },
+ { 0xE8, 0x010D },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x0119 },
+ { 0xEB, 0x00EB },
+ { 0xEC, 0x011B },
+ { 0xED, 0x00ED },
+ { 0xEE, 0x00EE },
+ { 0xEF, 0x010F },
+ { 0xF0, 0x0111 },
+ { 0xF1, 0x0144 },
+ { 0xF2, 0x0148 },
+ { 0xF3, 0x00F3 },
+ { 0xF4, 0x00F4 },
+ { 0xF5, 0x0151 },
+ { 0xF6, 0x00F6 },
+ { 0xF7, 0x00F7 },
+ { 0xF8, 0x0159 },
+ { 0xF9, 0x016F },
+ { 0xFA, 0x00FA },
+ { 0xFB, 0x0171 },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x00FD },
+ { 0xFE, 0x0163 },
+ { 0xFF, 0x02D9 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_cp1250 [] = {"windows-1250", "1250", NULL };
+
+static struct table_entry table_cp1251 [] = {
+ { 0x80, 0x0402 },
+ { 0x81, 0x0403 },
+ { 0x82, 0x201A },
+ { 0x83, 0x0453 },
+ { 0x84, 0x201E },
+ { 0x85, 0x2026 },
+ { 0x86, 0x2020 },
+ { 0x87, 0x2021 },
+ { 0x88, 0x20AC },
+ { 0x89, 0x2030 },
+ { 0x8A, 0x0409 },
+ { 0x8B, 0x2039 },
+ { 0x8C, 0x040A },
+ { 0x8D, 0x040C },
+ { 0x8E, 0x040B },
+ { 0x8F, 0x040F },
+ { 0x90, 0x0452 },
+ { 0x91, 0x2018 },
+ { 0x92, 0x2019 },
+ { 0x93, 0x201C },
+ { 0x94, 0x201D },
+ { 0x95, 0x2022 },
+ { 0x96, 0x2013 },
+ { 0x97, 0x2014 },
+ { 0x99, 0x2122 },
+ { 0x9A, 0x0459 },
+ { 0x9B, 0x203A },
+ { 0x9C, 0x045A },
+ { 0x9D, 0x045C },
+ { 0x9E, 0x045B },
+ { 0x9F, 0x045F },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x040E },
+ { 0xA2, 0x045E },
+ { 0xA3, 0x0408 },
+ { 0xA4, 0x00A4 },
+ { 0xA5, 0x0490 },
+ { 0xA6, 0x00A6 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x0401 },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x0404 },
+ { 0xAB, 0x00AB },
+ { 0xAC, 0x00AC },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x00AE },
+ { 0xAF, 0x0407 },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x00B1 },
+ { 0xB2, 0x0406 },
+ { 0xB3, 0x0456 },
+ { 0xB4, 0x0491 },
+ { 0xB5, 0x00B5 },
+ { 0xB6, 0x00B6 },
+ { 0xB7, 0x00B7 },
+ { 0xB8, 0x0451 },
+ { 0xB9, 0x2116 },
+ { 0xBA, 0x0454 },
+ { 0xBB, 0x00BB },
+ { 0xBC, 0x0458 },
+ { 0xBD, 0x0405 },
+ { 0xBE, 0x0455 },
+ { 0xBF, 0x0457 },
+ { 0xC0, 0x0410 },
+ { 0xC1, 0x0411 },
+ { 0xC2, 0x0412 },
+ { 0xC3, 0x0413 },
+ { 0xC4, 0x0414 },
+ { 0xC5, 0x0415 },
+ { 0xC6, 0x0416 },
+ { 0xC7, 0x0417 },
+ { 0xC8, 0x0418 },
+ { 0xC9, 0x0419 },
+ { 0xCA, 0x041A },
+ { 0xCB, 0x041B },
+ { 0xCC, 0x041C },
+ { 0xCD, 0x041D },
+ { 0xCE, 0x041E },
+ { 0xCF, 0x041F },
+ { 0xD0, 0x0420 },
+ { 0xD1, 0x0421 },
+ { 0xD2, 0x0422 },
+ { 0xD3, 0x0423 },
+ { 0xD4, 0x0424 },
+ { 0xD5, 0x0425 },
+ { 0xD6, 0x0426 },
+ { 0xD7, 0x0427 },
+ { 0xD8, 0x0428 },
+ { 0xD9, 0x0429 },
+ { 0xDA, 0x042A },
+ { 0xDB, 0x042B },
+ { 0xDC, 0x042C },
+ { 0xDD, 0x042D },
+ { 0xDE, 0x042E },
+ { 0xDF, 0x042F },
+ { 0xE0, 0x0430 },
+ { 0xE1, 0x0431 },
+ { 0xE2, 0x0432 },
+ { 0xE3, 0x0433 },
+ { 0xE4, 0x0434 },
+ { 0xE5, 0x0435 },
+ { 0xE6, 0x0436 },
+ { 0xE7, 0x0437 },
+ { 0xE8, 0x0438 },
+ { 0xE9, 0x0439 },
+ { 0xEA, 0x043A },
+ { 0xEB, 0x043B },
+ { 0xEC, 0x043C },
+ { 0xED, 0x043D },
+ { 0xEE, 0x043E },
+ { 0xEF, 0x043F },
+ { 0xF0, 0x0440 },
+ { 0xF1, 0x0441 },
+ { 0xF2, 0x0442 },
+ { 0xF3, 0x0443 },
+ { 0xF4, 0x0444 },
+ { 0xF5, 0x0445 },
+ { 0xF6, 0x0446 },
+ { 0xF7, 0x0447 },
+ { 0xF8, 0x0448 },
+ { 0xF9, 0x0449 },
+ { 0xFA, 0x044A },
+ { 0xFB, 0x044B },
+ { 0xFC, 0x044C },
+ { 0xFD, 0x044D },
+ { 0xFE, 0x044E },
+ { 0xFF, 0x044F },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_cp1251 [] = {"windows-1251", "1251", "cp1251", NULL };
+
+static struct table_entry table_cp1252 [] = {
+ { 0x80, 0x20AC },
+ { 0x82, 0x201A },
+ { 0x83, 0x0192 },
+ { 0x84, 0x201E },
+ { 0x85, 0x2026 },
+ { 0x86, 0x2020 },
+ { 0x87, 0x2021 },
+ { 0x88, 0x02C6 },
+ { 0x89, 0x2030 },
+ { 0x8A, 0x0160 },
+ { 0x8B, 0x2039 },
+ { 0x8C, 0x0152 },
+ { 0x8E, 0x017D },
+ { 0x91, 0x2018 },
+ { 0x92, 0x2019 },
+ { 0x93, 0x201C },
+ { 0x94, 0x201D },
+ { 0x95, 0x2022 },
+ { 0x96, 0x2013 },
+ { 0x97, 0x2014 },
+ { 0x98, 0x02DC },
+ { 0x99, 0x2122 },
+ { 0x9A, 0x0161 },
+ { 0x9B, 0x203A },
+ { 0x9C, 0x0153 },
+ { 0x9E, 0x017E },
+ { 0x9F, 0x0178 },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x00A1 },
+ { 0xA2, 0x00A2 },
+ { 0xA3, 0x00A3 },
+ { 0xA4, 0x00A4 },
+ { 0xA5, 0x00A5 },
+ { 0xA6, 0x00A6 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x00A8 },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x00AA },
+ { 0xAB, 0x00AB },
+ { 0xAC, 0x00AC },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x00AE },
+ { 0xAF, 0x00AF },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x00B1 },
+ { 0xB2, 0x00B2 },
+ { 0xB3, 0x00B3 },
+ { 0xB4, 0x00B4 },
+ { 0xB5, 0x00B5 },
+ { 0xB6, 0x00B6 },
+ { 0xB7, 0x00B7 },
+ { 0xB8, 0x00B8 },
+ { 0xB9, 0x00B9 },
+ { 0xBA, 0x00BA },
+ { 0xBB, 0x00BB },
+ { 0xBC, 0x00BC },
+ { 0xBD, 0x00BD },
+ { 0xBE, 0x00BE },
+ { 0xBF, 0x00BF },
+ { 0xC0, 0x00C0 },
+ { 0xC1, 0x00C1 },
+ { 0xC2, 0x00C2 },
+ { 0xC3, 0x00C3 },
+ { 0xC4, 0x00C4 },
+ { 0xC5, 0x00C5 },
+ { 0xC6, 0x00C6 },
+ { 0xC7, 0x00C7 },
+ { 0xC8, 0x00C8 },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x00CA },
+ { 0xCB, 0x00CB },
+ { 0xCC, 0x00CC },
+ { 0xCD, 0x00CD },
+ { 0xCE, 0x00CE },
+ { 0xCF, 0x00CF },
+ { 0xD0, 0x00D0 },
+ { 0xD1, 0x00D1 },
+ { 0xD2, 0x00D2 },
+ { 0xD3, 0x00D3 },
+ { 0xD4, 0x00D4 },
+ { 0xD5, 0x00D5 },
+ { 0xD6, 0x00D6 },
+ { 0xD7, 0x00D7 },
+ { 0xD8, 0x00D8 },
+ { 0xD9, 0x00D9 },
+ { 0xDA, 0x00DA },
+ { 0xDB, 0x00DB },
+ { 0xDC, 0x00DC },
+ { 0xDD, 0x00DD },
+ { 0xDE, 0x00DE },
+ { 0xDF, 0x00DF },
+ { 0xE0, 0x00E0 },
+ { 0xE1, 0x00E1 },
+ { 0xE2, 0x00E2 },
+ { 0xE3, 0x00E3 },
+ { 0xE4, 0x00E4 },
+ { 0xE5, 0x00E5 },
+ { 0xE6, 0x00E6 },
+ { 0xE7, 0x00E7 },
+ { 0xE8, 0x00E8 },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x00EA },
+ { 0xEB, 0x00EB },
+ { 0xEC, 0x00EC },
+ { 0xED, 0x00ED },
+ { 0xEE, 0x00EE },
+ { 0xEF, 0x00EF },
+ { 0xF0, 0x00F0 },
+ { 0xF1, 0x00F1 },
+ { 0xF2, 0x00F2 },
+ { 0xF3, 0x00F3 },
+ { 0xF4, 0x00F4 },
+ { 0xF5, 0x00F5 },
+ { 0xF6, 0x00F6 },
+ { 0xF7, 0x00F7 },
+ { 0xF8, 0x00F8 },
+ { 0xF9, 0x00F9 },
+ { 0xFA, 0x00FA },
+ { 0xFB, 0x00FB },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x00FD },
+ { 0xFE, 0x00FE },
+ { 0xFF, 0x00FF },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_cp1252 [] = {"windows-1252", "1252", NULL };
+
+static struct table_entry table_cp1256 [] = {
+ { 0x80, 0x20AC },
+ { 0x81, 0x067E },
+ { 0x82, 0x201A },
+ { 0x83, 0x0192 },
+ { 0x84, 0x201E },
+ { 0x85, 0x2026 },
+ { 0x86, 0x2020 },
+ { 0x87, 0x2021 },
+ { 0x88, 0x02C6 },
+ { 0x89, 0x2030 },
+ { 0x8A, 0x0679 },
+ { 0x8B, 0x2039 },
+ { 0x8C, 0x0152 },
+ { 0x8D, 0x0686 },
+ { 0x8E, 0x0698 },
+ { 0x8F, 0x0688 },
+ { 0x90, 0x06AF },
+ { 0x91, 0x2018 },
+ { 0x92, 0x2019 },
+ { 0x93, 0x201C },
+ { 0x94, 0x201D },
+ { 0x95, 0x2022 },
+ { 0x96, 0x2013 },
+ { 0x97, 0x2014 },
+ { 0x98, 0x06A9 },
+ { 0x99, 0x2122 },
+ { 0x9A, 0x0691 },
+ { 0x9B, 0x203A },
+ { 0x9C, 0x0153 },
+ { 0x9D, 0x200C },
+ { 0x9E, 0x200D },
+ { 0x9F, 0x06BA },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x060C },
+ { 0xA2, 0x00A2 },
+ { 0xA3, 0x00A3 },
+ { 0xA4, 0x00A4 },
+ { 0xA5, 0x00A5 },
+ { 0xA6, 0x00A6 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x00A8 },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x06BE },
+ { 0xAB, 0x00AB },
+ { 0xAC, 0x00AC },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x00AE },
+ { 0xAF, 0x00AF },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x00B1 },
+ { 0xB2, 0x00B2 },
+ { 0xB3, 0x00B3 },
+ { 0xB4, 0x00B4 },
+ { 0xB5, 0x00B5 },
+ { 0xB6, 0x00B6 },
+ { 0xB7, 0x00B7 },
+ { 0xB8, 0x00B8 },
+ { 0xB9, 0x00B9 },
+ { 0xBA, 0x061B },
+ { 0xBB, 0x00BB },
+ { 0xBC, 0x00BC },
+ { 0xBD, 0x00BD },
+ { 0xBE, 0x00BE },
+ { 0xBF, 0x061F },
+ { 0xC0, 0x06C1 },
+ { 0xC1, 0x0621 },
+ { 0xC2, 0x0622 },
+ { 0xC3, 0x0623 },
+ { 0xC4, 0x0624 },
+ { 0xC5, 0x0625 },
+ { 0xC6, 0x0626 },
+ { 0xC7, 0x0627 },
+ { 0xC8, 0x0628 },
+ { 0xC9, 0x0629 },
+ { 0xCA, 0x062A },
+ { 0xCB, 0x062B },
+ { 0xCC, 0x062C },
+ { 0xCD, 0x062D },
+ { 0xCE, 0x062E },
+ { 0xCF, 0x062F },
+ { 0xD0, 0x0630 },
+ { 0xD1, 0x0631 },
+ { 0xD2, 0x0632 },
+ { 0xD3, 0x0633 },
+ { 0xD4, 0x0634 },
+ { 0xD5, 0x0635 },
+ { 0xD6, 0x0636 },
+ { 0xD7, 0x00D7 },
+ { 0xD8, 0x0637 },
+ { 0xD9, 0x0638 },
+ { 0xDA, 0x0639 },
+ { 0xDB, 0x063A },
+ { 0xDC, 0x0640 },
+ { 0xDD, 0x0641 },
+ { 0xDE, 0x0642 },
+ { 0xDF, 0x0643 },
+ { 0xE0, 0x00E0 },
+ { 0xE1, 0x0644 },
+ { 0xE2, 0x00E2 },
+ { 0xE3, 0x0645 },
+ { 0xE4, 0x0646 },
+ { 0xE5, 0x0647 },
+ { 0xE6, 0x0648 },
+ { 0xE7, 0x00E7 },
+ { 0xE8, 0x00E8 },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x00EA },
+ { 0xEB, 0x00EB },
+ { 0xEC, 0x0649 },
+ { 0xED, 0x064A },
+ { 0xEE, 0x00EE },
+ { 0xEF, 0x00EF },
+ { 0xF0, 0x064B },
+ { 0xF1, 0x064C },
+ { 0xF2, 0x064D },
+ { 0xF3, 0x064E },
+ { 0xF4, 0x00F4 },
+ { 0xF5, 0x064F },
+ { 0xF6, 0x0650 },
+ { 0xF7, 0x00F7 },
+ { 0xF8, 0x0651 },
+ { 0xF9, 0x00F9 },
+ { 0xFA, 0x0652 },
+ { 0xFB, 0x00FB },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x200E },
+ { 0xFE, 0x200F },
+ { 0xFF, 0x06D2 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_cp1256 [] = {"windows-1256", "1256", "cp1256", NULL };
+
+static struct table_entry table_cp1257 [] = {
+ { 0x80, 0x20AC },
+ { 0x81, 0 },
+ { 0x82, 0x201A },
+ { 0x83, 0 },
+ { 0x84, 0x201E },
+ { 0x85, 0x2026 },
+ { 0x86, 0x2020 },
+ { 0x87, 0x2021 },
+ { 0x88, 0 },
+ { 0x89, 0x2030 },
+ { 0x8A, 0 },
+ { 0x8B, 0x2039 },
+ { 0x8C, 0 },
+ { 0x8D, 0x00A8 },
+ { 0x8E, 0x02C7 },
+ { 0x8F, 0x00B8 },
+ { 0x90, 0 },
+ { 0x91, 0x2018 },
+ { 0x92, 0x2019 },
+ { 0x93, 0x201C },
+ { 0x94, 0x201D },
+ { 0x95, 0x2022 },
+ { 0x96, 0x2013 },
+ { 0x97, 0x2014 },
+ { 0x98, 0 },
+ { 0x99, 0x2122 },
+ { 0x9A, 0 },
+ { 0x9B, 0x203A },
+ { 0x9C, 0 },
+ { 0x9D, 0x00AF },
+ { 0x9E, 0x02DB },
+ { 0x9F, 0 },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0 },
+ { 0xA2, 0x00A2 },
+ { 0xA3, 0x00A3 },
+ { 0xA4, 0x00A4 },
+ { 0xA5, 0 },
+ { 0xA6, 0x00A6 },
+ { 0xA7, 0x00A7 },
+ { 0xA8, 0x00D8 },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x0156 },
+ { 0xAB, 0x00AB },
+ { 0xAC, 0x00AC },
+ { 0xAD, 0x00AD },
+ { 0xAE, 0x00AE },
+ { 0xAF, 0x00C6 },
+ { 0xB0, 0x00B0 },
+ { 0xB1, 0x00B1 },
+ { 0xB2, 0x00B2 },
+ { 0xB3, 0x00B3 },
+ { 0xB4, 0x00B4 },
+ { 0xB5, 0x00B5 },
+ { 0xB6, 0x00B6 },
+ { 0xB7, 0x00B7 },
+ { 0xB8, 0x00F8 },
+ { 0xB9, 0x00B9 },
+ { 0xBA, 0x0157 },
+ { 0xBB, 0x00BB },
+ { 0xBC, 0x00BC },
+ { 0xBD, 0x00BD },
+ { 0xBE, 0x00BE },
+ { 0xBF, 0x00E6 },
+ { 0xC0, 0x0104 },
+ { 0xC1, 0x012E },
+ { 0xC2, 0x0100 },
+ { 0xC3, 0x0106 },
+ { 0xC4, 0x00C4 },
+ { 0xC5, 0x00C5 },
+ { 0xC6, 0x0118 },
+ { 0xC7, 0x0112 },
+ { 0xC8, 0x010C },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x0179 },
+ { 0xCB, 0x0116 },
+ { 0xCC, 0x0122 },
+ { 0xCD, 0x0136 },
+ { 0xCE, 0x012A },
+ { 0xCF, 0x013B },
+ { 0xD0, 0x0160 },
+ { 0xD1, 0x0143 },
+ { 0xD2, 0x0145 },
+ { 0xD3, 0x00D3 },
+ { 0xD4, 0x014C },
+ { 0xD5, 0x00D5 },
+ { 0xD6, 0x00D6 },
+ { 0xD7, 0x00D7 },
+ { 0xD8, 0x0172 },
+ { 0xD9, 0x0141 },
+ { 0xDA, 0x015A },
+ { 0xDB, 0x016A },
+ { 0xDC, 0x00DC },
+ { 0xDD, 0x017B },
+ { 0xDE, 0x017D },
+ { 0xDF, 0x00DF },
+ { 0xE0, 0x0105 },
+ { 0xE1, 0x012F },
+ { 0xE2, 0x0101 },
+ { 0xE3, 0x0107 },
+ { 0xE4, 0x00E4 },
+ { 0xE5, 0x00E5 },
+ { 0xE6, 0x0119 },
+ { 0xE7, 0x0113 },
+ { 0xE8, 0x010D },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x017A },
+ { 0xEB, 0x0117 },
+ { 0xEC, 0x0123 },
+ { 0xED, 0x0137 },
+ { 0xEE, 0x012B },
+ { 0xEF, 0x013C },
+ { 0xF0, 0x0161 },
+ { 0xF1, 0x0144 },
+ { 0xF2, 0x0146 },
+ { 0xF3, 0x00F3 },
+ { 0xF4, 0x014D },
+ { 0xF5, 0x00F5 },
+ { 0xF6, 0x00F6 },
+ { 0xF7, 0x00F7 },
+ { 0xF8, 0x0173 },
+ { 0xF9, 0x0142 },
+ { 0xFA, 0x015B },
+ { 0xFB, 0x016B },
+ { 0xFC, 0x00FC },
+ { 0xFD, 0x017C },
+ { 0xFE, 0x017E },
+ { 0xFF, 0x02D9 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_cp1257 [] = {"windows-1257", "1257", "cp1257", NULL };
+
+static struct table_entry table_cp437 [] = {
+ { 0x80, 0x00c7 },
+ { 0x81, 0x00fc },
+ { 0x82, 0x00e9 },
+ { 0x83, 0x00e2 },
+ { 0x84, 0x00e4 },
+ { 0x85, 0x00e0 },
+ { 0x86, 0x00e5 },
+ { 0x87, 0x00e7 },
+ { 0x88, 0x00ea },
+ { 0x89, 0x00eb },
+ { 0x8a, 0x00e8 },
+ { 0x8b, 0x00ef },
+ { 0x8c, 0x00ee },
+ { 0x8d, 0x00ec },
+ { 0x8e, 0x00c4 },
+ { 0x8f, 0x00c5 },
+ { 0x90, 0x00c9 },
+ { 0x91, 0x00e6 },
+ { 0x92, 0x00c6 },
+ { 0x93, 0x00f4 },
+ { 0x94, 0x00f6 },
+ { 0x95, 0x00f2 },
+ { 0x96, 0x00fb },
+ { 0x97, 0x00f9 },
+ { 0x98, 0x00ff },
+ { 0x99, 0x00d6 },
+ { 0x9a, 0x00dc },
+ { 0x9b, 0x00a2 },
+ { 0x9c, 0x00a3 },
+ { 0x9d, 0x00a5 },
+ { 0x9e, 0x20a7 },
+ { 0x9f, 0x0192 },
+ { 0xa0, 0x00e1 },
+ { 0xa1, 0x00ed },
+ { 0xa2, 0x00f3 },
+ { 0xa3, 0x00fa },
+ { 0xa4, 0x00f1 },
+ { 0xa5, 0x00d1 },
+ { 0xa6, 0x00aa },
+ { 0xa7, 0x00ba },
+ { 0xa8, 0x00bf },
+ { 0xa9, 0x2310 },
+ { 0xaa, 0x00ac },
+ { 0xab, 0x00bd },
+ { 0xac, 0x00bc },
+ { 0xad, 0x00a1 },
+ { 0xae, 0x00ab },
+ { 0xaf, 0x00bb },
+ { 0xb0, 0x2591 },
+ { 0xb1, 0x2592 },
+ { 0xb2, 0x2593 },
+ { 0xb3, 0x2502 },
+ { 0xb4, 0x2524 },
+ { 0xb5, 0x2561 },
+ { 0xb6, 0x2562 },
+ { 0xb7, 0x2556 },
+ { 0xb8, 0x2555 },
+ { 0xb9, 0x2563 },
+ { 0xba, 0x2551 },
+ { 0xbb, 0x2557 },
+ { 0xbc, 0x255d },
+ { 0xbd, 0x255c },
+ { 0xbe, 0x255b },
+ { 0xbf, 0x2510 },
+ { 0xc0, 0x2514 },
+ { 0xc1, 0x2534 },
+ { 0xc2, 0x252c },
+ { 0xc3, 0x251c },
+ { 0xc4, 0x2500 },
+ { 0xc5, 0x253c },
+ { 0xc6, 0x255e },
+ { 0xc7, 0x255f },
+ { 0xc8, 0x255a },
+ { 0xc9, 0x2554 },
+ { 0xca, 0x2569 },
+ { 0xcb, 0x2566 },
+ { 0xcc, 0x2560 },
+ { 0xcd, 0x2550 },
+ { 0xce, 0x256c },
+ { 0xcf, 0x2567 },
+ { 0xd0, 0x2568 },
+ { 0xd1, 0x2564 },
+ { 0xd2, 0x2565 },
+ { 0xd3, 0x2559 },
+ { 0xd4, 0x2558 },
+ { 0xd5, 0x2552 },
+ { 0xd6, 0x2553 },
+ { 0xd7, 0x256b },
+ { 0xd8, 0x256a },
+ { 0xd9, 0x2518 },
+ { 0xda, 0x250c },
+ { 0xdb, 0x2588 },
+ { 0xdc, 0x2584 },
+ { 0xdd, 0x258c },
+ { 0xde, 0x2590 },
+ { 0xdf, 0x2580 },
+ { 0xe0, 0x03b1 },
+ { 0xe1, 0x00df },
+ { 0xe2, 0x0393 },
+ { 0xe3, 0x03c0 },
+ { 0xe4, 0x03a3 },
+ { 0xe5, 0x03c3 },
+ { 0xe6, 0x00b5 },
+ { 0xe7, 0x03c4 },
+ { 0xe8, 0x03a6 },
+ { 0xe9, 0x0398 },
+ { 0xea, 0x03a9 },
+ { 0xeb, 0x03b4 },
+ { 0xec, 0x221e },
+ { 0xed, 0x03c6 },
+ { 0xee, 0x03b5 },
+ { 0xef, 0x2229 },
+ { 0xf0, 0x2261 },
+ { 0xf1, 0x00b1 },
+ { 0xf2, 0x2265 },
+ { 0xf3, 0x2264 },
+ { 0xf4, 0x2320 },
+ { 0xf5, 0x2321 },
+ { 0xf6, 0x00f7 },
+ { 0xf7, 0x2248 },
+ { 0xf8, 0x00b0 },
+ { 0xf9, 0x2219 },
+ { 0xfa, 0x00b7 },
+ { 0xfb, 0x221a },
+ { 0xfc, 0x207f },
+ { 0xfd, 0x00b2 },
+ { 0xfe, 0x25a0 },
+ { 0xff, 0x00a0 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_cp437 [] = {"cp437", "437", NULL };
+
+static struct table_entry table_cp737 [] = {
+ { 0x80, 0x0391 },
+ { 0x81, 0x0392 },
+ { 0x82, 0x0393 },
+ { 0x83, 0x0394 },
+ { 0x84, 0x0395 },
+ { 0x85, 0x0396 },
+ { 0x86, 0x0397 },
+ { 0x87, 0x0398 },
+ { 0x88, 0x0399 },
+ { 0x89, 0x039a },
+ { 0x8a, 0x039b },
+ { 0x8b, 0x039c },
+ { 0x8c, 0x039d },
+ { 0x8d, 0x039e },
+ { 0x8e, 0x039f },
+ { 0x8f, 0x03a0 },
+ { 0x90, 0x03a1 },
+ { 0x91, 0x03a3 },
+ { 0x92, 0x03a4 },
+ { 0x93, 0x03a5 },
+ { 0x94, 0x03a6 },
+ { 0x95, 0x03a7 },
+ { 0x96, 0x03a8 },
+ { 0x97, 0x03a9 },
+ { 0x98, 0x03b1 },
+ { 0x99, 0x03b2 },
+ { 0x9a, 0x03b3 },
+ { 0x9b, 0x03b4 },
+ { 0x9c, 0x03b5 },
+ { 0x9d, 0x03b6 },
+ { 0x9e, 0x03b7 },
+ { 0x9f, 0x03b8 },
+ { 0xa0, 0x03b9 },
+ { 0xa1, 0x03ba },
+ { 0xa2, 0x03bb },
+ { 0xa3, 0x03bc },
+ { 0xa4, 0x03bd },
+ { 0xa5, 0x03be },
+ { 0xa6, 0x03bf },
+ { 0xa7, 0x03c0 },
+ { 0xa8, 0x03c1 },
+ { 0xa9, 0x03c3 },
+ { 0xaa, 0x03c2 },
+ { 0xab, 0x03c4 },
+ { 0xac, 0x03c5 },
+ { 0xad, 0x03c6 },
+ { 0xae, 0x03c7 },
+ { 0xaf, 0x03c8 },
+ { 0xb0, 0x2591 },
+ { 0xb1, 0x2592 },
+ { 0xb2, 0x2593 },
+ { 0xb3, 0x2502 },
+ { 0xb4, 0x2524 },
+ { 0xb5, 0x2561 },
+ { 0xb6, 0x2562 },
+ { 0xb7, 0x2556 },
+ { 0xb8, 0x2555 },
+ { 0xb9, 0x2563 },
+ { 0xba, 0x2551 },
+ { 0xbb, 0x2557 },
+ { 0xbc, 0x255d },
+ { 0xbd, 0x255c },
+ { 0xbe, 0x255b },
+ { 0xbf, 0x2510 },
+ { 0xc0, 0x2514 },
+ { 0xc1, 0x2534 },
+ { 0xc2, 0x252c },
+ { 0xc3, 0x251c },
+ { 0xc4, 0x2500 },
+ { 0xc5, 0x253c },
+ { 0xc6, 0x255e },
+ { 0xc7, 0x255f },
+ { 0xc8, 0x255a },
+ { 0xc9, 0x2554 },
+ { 0xca, 0x2569 },
+ { 0xcb, 0x2566 },
+ { 0xcc, 0x2560 },
+ { 0xcd, 0x2550 },
+ { 0xce, 0x256c },
+ { 0xcf, 0x2567 },
+ { 0xd0, 0x2568 },
+ { 0xd1, 0x2564 },
+ { 0xd2, 0x2565 },
+ { 0xd3, 0x2559 },
+ { 0xd4, 0x2558 },
+ { 0xd5, 0x2552 },
+ { 0xd6, 0x2553 },
+ { 0xd7, 0x256b },
+ { 0xd8, 0x256a },
+ { 0xd9, 0x2518 },
+ { 0xda, 0x250c },
+ { 0xdb, 0x2588 },
+ { 0xdc, 0x2584 },
+ { 0xdd, 0x258c },
+ { 0xde, 0x2590 },
+ { 0xdf, 0x2580 },
+ { 0xe0, 0x03c9 },
+ { 0xe1, 0x03ac },
+ { 0xe2, 0x03ad },
+ { 0xe3, 0x03ae },
+ { 0xe4, 0x03ca },
+ { 0xe5, 0x03af },
+ { 0xe6, 0x03cc },
+ { 0xe7, 0x03cd },
+ { 0xe8, 0x03cb },
+ { 0xe9, 0x03ce },
+ { 0xea, 0x0386 },
+ { 0xeb, 0x0388 },
+ { 0xec, 0x0389 },
+ { 0xed, 0x038a },
+ { 0xee, 0x038c },
+ { 0xef, 0x038e },
+ { 0xf0, 0x038f },
+ { 0xf1, 0x00b1 },
+ { 0xf2, 0x2265 },
+ { 0xf3, 0x2264 },
+ { 0xf4, 0x03aa },
+ { 0xf5, 0x03ab },
+ { 0xf6, 0x00f7 },
+ { 0xf7, 0x2248 },
+ { 0xf8, 0x00b0 },
+ { 0xf9, 0x2219 },
+ { 0xfa, 0x00b7 },
+ { 0xfb, 0x221a },
+ { 0xfc, 0x207f },
+ { 0xfd, 0x00b2 },
+ { 0xfe, 0x25a0 },
+ { 0xff, 0x00a0 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_cp737 [] = {"cp737", "737", NULL };
+
+static struct table_entry table_cp850 [] = {
+ { 0x80, 0x00c7 },
+ { 0x81, 0x00fc },
+ { 0x82, 0x00e9 },
+ { 0x83, 0x00e2 },
+ { 0x84, 0x00e4 },
+ { 0x85, 0x00e0 },
+ { 0x86, 0x00e5 },
+ { 0x87, 0x00e7 },
+ { 0x88, 0x00ea },
+ { 0x89, 0x00eb },
+ { 0x8a, 0x00e8 },
+ { 0x8b, 0x00ef },
+ { 0x8c, 0x00ee },
+ { 0x8d, 0x00ec },
+ { 0x8e, 0x00c4 },
+ { 0x8f, 0x00c5 },
+ { 0x90, 0x00c9 },
+ { 0x91, 0x00e6 },
+ { 0x92, 0x00c6 },
+ { 0x93, 0x00f4 },
+ { 0x94, 0x00f6 },
+ { 0x95, 0x00f2 },
+ { 0x96, 0x00fb },
+ { 0x97, 0x00f9 },
+ { 0x98, 0x00ff },
+ { 0x99, 0x00d6 },
+ { 0x9a, 0x00dc },
+ { 0x9b, 0x00f8 },
+ { 0x9c, 0x00a3 },
+ { 0x9d, 0x00d8 },
+ { 0x9e, 0x00d7 },
+ { 0x9f, 0x0192 },
+ { 0xa0, 0x00e1 },
+ { 0xa1, 0x00ed },
+ { 0xa2, 0x00f3 },
+ { 0xa3, 0x00fa },
+ { 0xa4, 0x00f1 },
+ { 0xa5, 0x00d1 },
+ { 0xa6, 0x00aa },
+ { 0xa7, 0x00ba },
+ { 0xa8, 0x00bf },
+ { 0xa9, 0x00ae },
+ { 0xaa, 0x00ac },
+ { 0xab, 0x00bd },
+ { 0xac, 0x00bc },
+ { 0xad, 0x00a1 },
+ { 0xae, 0x00ab },
+ { 0xaf, 0x00bb },
+ { 0xb0, 0x2591 },
+ { 0xb1, 0x2592 },
+ { 0xb2, 0x2593 },
+ { 0xb3, 0x2502 },
+ { 0xb4, 0x2524 },
+ { 0xb5, 0x00c1 },
+ { 0xb6, 0x00c2 },
+ { 0xb7, 0x00c0 },
+ { 0xb8, 0x00a9 },
+ { 0xb9, 0x2563 },
+ { 0xba, 0x2551 },
+ { 0xbb, 0x2557 },
+ { 0xbc, 0x255d },
+ { 0xbd, 0x00a2 },
+ { 0xbe, 0x00a5 },
+ { 0xbf, 0x2510 },
+ { 0xc0, 0x2514 },
+ { 0xc1, 0x2534 },
+ { 0xc2, 0x252c },
+ { 0xc3, 0x251c },
+ { 0xc4, 0x2500 },
+ { 0xc5, 0x253c },
+ { 0xc6, 0x00e3 },
+ { 0xc7, 0x00c3 },
+ { 0xc8, 0x255a },
+ { 0xc9, 0x2554 },
+ { 0xca, 0x2569 },
+ { 0xcb, 0x2566 },
+ { 0xcc, 0x2560 },
+ { 0xcd, 0x2550 },
+ { 0xce, 0x256c },
+ { 0xcf, 0x00a4 },
+ { 0xd0, 0x00f0 },
+ { 0xd1, 0x00d0 },
+ { 0xd2, 0x00ca },
+ { 0xd3, 0x00cb },
+ { 0xd4, 0x00c8 },
+ { 0xd5, 0x0131 },
+ { 0xd6, 0x00cd },
+ { 0xd7, 0x00ce },
+ { 0xd8, 0x00cf },
+ { 0xd9, 0x2518 },
+ { 0xda, 0x250c },
+ { 0xdb, 0x2588 },
+ { 0xdc, 0x2584 },
+ { 0xdd, 0x00a6 },
+ { 0xde, 0x00cc },
+ { 0xdf, 0x2580 },
+ { 0xe0, 0x00d3 },
+ { 0xe1, 0x00df },
+ { 0xe2, 0x00d4 },
+ { 0xe3, 0x00d2 },
+ { 0xe4, 0x00f5 },
+ { 0xe5, 0x00d5 },
+ { 0xe6, 0x00b5 },
+ { 0xe7, 0x00fe },
+ { 0xe8, 0x00de },
+ { 0xe9, 0x00da },
+ { 0xea, 0x00db },
+ { 0xeb, 0x00d9 },
+ { 0xec, 0x00fd },
+ { 0xed, 0x00dd },
+ { 0xee, 0x00af },
+ { 0xef, 0x00b4 },
+ { 0xf0, 0x00ad },
+ { 0xf1, 0x00b1 },
+ { 0xf2, 0x2017 },
+ { 0xf3, 0x00be },
+ { 0xf4, 0x00b6 },
+ { 0xf5, 0x00a7 },
+ { 0xf6, 0x00f7 },
+ { 0xf7, 0x00b8 },
+ { 0xf8, 0x00b0 },
+ { 0xf9, 0x00a8 },
+ { 0xfa, 0x00b7 },
+ { 0xfb, 0x00b9 },
+ { 0xfc, 0x00b3 },
+ { 0xfd, 0x00b2 },
+ { 0xfe, 0x25a0 },
+ { 0xff, 0x00a0 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_cp850 [] = {"cp850", "850", NULL };
+
+static struct table_entry table_cp852 [] = {
+ { 0x80, 0x00c7 },
+ { 0x81, 0x00fc },
+ { 0x82, 0x00e9 },
+ { 0x83, 0x00e2 },
+ { 0x84, 0x00e4 },
+ { 0x85, 0x016f },
+ { 0x86, 0x0107 },
+ { 0x87, 0x00e7 },
+ { 0x88, 0x0142 },
+ { 0x89, 0x00eb },
+ { 0x8a, 0x0150 },
+ { 0x8b, 0x0151 },
+ { 0x8c, 0x00ee },
+ { 0x8d, 0x0179 },
+ { 0x8e, 0x00c4 },
+ { 0x8f, 0x0106 },
+ { 0x90, 0x00c9 },
+ { 0x91, 0x0139 },
+ { 0x92, 0x013a },
+ { 0x93, 0x00f4 },
+ { 0x94, 0x00f6 },
+ { 0x95, 0x013d },
+ { 0x96, 0x013e },
+ { 0x97, 0x015a },
+ { 0x98, 0x015b },
+ { 0x99, 0x00d6 },
+ { 0x9a, 0x00dc },
+ { 0x9b, 0x0164 },
+ { 0x9c, 0x0165 },
+ { 0x9d, 0x0141 },
+ { 0x9e, 0x00d7 },
+ { 0x9f, 0x010d },
+ { 0xa0, 0x00e1 },
+ { 0xa1, 0x00ed },
+ { 0xa2, 0x00f3 },
+ { 0xa3, 0x00fa },
+ { 0xa4, 0x0104 },
+ { 0xa5, 0x0105 },
+ { 0xa6, 0x017d },
+ { 0xa7, 0x017e },
+ { 0xa8, 0x0118 },
+ { 0xa9, 0x0119 },
+ { 0xaa, 0x00ac },
+ { 0xab, 0x017a },
+ { 0xac, 0x010c },
+ { 0xad, 0x015f },
+ { 0xae, 0x00ab },
+ { 0xaf, 0x00bb },
+ { 0xb0, 0x2591 },
+ { 0xb1, 0x2592 },
+ { 0xb2, 0x2593 },
+ { 0xb3, 0x2502 },
+ { 0xb4, 0x2524 },
+ { 0xb5, 0x00c1 },
+ { 0xb6, 0x00c2 },
+ { 0xb7, 0x011a },
+ { 0xb8, 0x015e },
+ { 0xb9, 0x2563 },
+ { 0xba, 0x2551 },
+ { 0xbb, 0x2557 },
+ { 0xbc, 0x255d },
+ { 0xbd, 0x017b },
+ { 0xbe, 0x017c },
+ { 0xbf, 0x2510 },
+ { 0xc0, 0x2514 },
+ { 0xc1, 0x2534 },
+ { 0xc2, 0x252c },
+ { 0xc3, 0x251c },
+ { 0xc4, 0x2500 },
+ { 0xc5, 0x253c },
+ { 0xc6, 0x0102 },
+ { 0xc7, 0x0103 },
+ { 0xc8, 0x255a },
+ { 0xc9, 0x2554 },
+ { 0xca, 0x2569 },
+ { 0xcb, 0x2566 },
+ { 0xcc, 0x2560 },
+ { 0xcd, 0x2550 },
+ { 0xce, 0x256c },
+ { 0xcf, 0x00a4 },
+ { 0xd0, 0x0111 },
+ { 0xd1, 0x0110 },
+ { 0xd2, 0x010e },
+ { 0xd3, 0x00cb },
+ { 0xd4, 0x010f },
+ { 0xd5, 0x0147 },
+ { 0xd6, 0x00cd },
+ { 0xd7, 0x00ce },
+ { 0xd8, 0x011b },
+ { 0xd9, 0x2518 },
+ { 0xda, 0x250c },
+ { 0xdb, 0x2588 },
+ { 0xdc, 0x2584 },
+ { 0xdd, 0x0162 },
+ { 0xde, 0x016e },
+ { 0xdf, 0x2580 },
+ { 0xe0, 0x00d3 },
+ { 0xe1, 0x00df },
+ { 0xe2, 0x00d4 },
+ { 0xe3, 0x0143 },
+ { 0xe4, 0x0144 },
+ { 0xe5, 0x0148 },
+ { 0xe6, 0x0160 },
+ { 0xe7, 0x0161 },
+ { 0xe8, 0x0154 },
+ { 0xe9, 0x00da },
+ { 0xea, 0x0155 },
+ { 0xeb, 0x0170 },
+ { 0xec, 0x00fd },
+ { 0xed, 0x00dd },
+ { 0xee, 0x0163 },
+ { 0xef, 0x00b4 },
+ { 0xf0, 0x00ad },
+ { 0xf1, 0x02dd },
+ { 0xf2, 0x02db },
+ { 0xf3, 0x02c7 },
+ { 0xf4, 0x02d8 },
+ { 0xf5, 0x00a7 },
+ { 0xf6, 0x00f7 },
+ { 0xf7, 0x00b8 },
+ { 0xf8, 0x00b0 },
+ { 0xf9, 0x00a8 },
+ { 0xfa, 0x02d9 },
+ { 0xfb, 0x0171 },
+ { 0xfc, 0x0158 },
+ { 0xfd, 0x0159 },
+ { 0xfe, 0x25a0 },
+ { 0xff, 0x00a0 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_cp852 [] = {"cp852", "852", NULL };
+
+static struct table_entry table_cp866 [] = {
+ { 0x80, 0x0410 },
+ { 0x81, 0x0411 },
+ { 0x82, 0x0412 },
+ { 0x83, 0x0413 },
+ { 0x84, 0x0414 },
+ { 0x85, 0x0415 },
+ { 0x86, 0x0416 },
+ { 0x87, 0x0417 },
+ { 0x88, 0x0418 },
+ { 0x89, 0x0419 },
+ { 0x8a, 0x041a },
+ { 0x8b, 0x041b },
+ { 0x8c, 0x041c },
+ { 0x8d, 0x041d },
+ { 0x8e, 0x041e },
+ { 0x8f, 0x041f },
+ { 0x90, 0x0420 },
+ { 0x91, 0x0421 },
+ { 0x92, 0x0422 },
+ { 0x93, 0x0423 },
+ { 0x94, 0x0424 },
+ { 0x95, 0x0425 },
+ { 0x96, 0x0426 },
+ { 0x97, 0x0427 },
+ { 0x98, 0x0428 },
+ { 0x99, 0x0429 },
+ { 0x9a, 0x042a },
+ { 0x9b, 0x042b },
+ { 0x9c, 0x042c },
+ { 0x9d, 0x042d },
+ { 0x9e, 0x042e },
+ { 0x9f, 0x042f },
+ { 0xa0, 0x0430 },
+ { 0xa1, 0x0431 },
+ { 0xa2, 0x0432 },
+ { 0xa3, 0x0433 },
+ { 0xa4, 0x0434 },
+ { 0xa5, 0x0435 },
+ { 0xa6, 0x0436 },
+ { 0xa7, 0x0437 },
+ { 0xa8, 0x0438 },
+ { 0xa9, 0x0439 },
+ { 0xaa, 0x043a },
+ { 0xab, 0x043b },
+ { 0xac, 0x043c },
+ { 0xad, 0x043d },
+ { 0xae, 0x043e },
+ { 0xaf, 0x043f },
+ { 0xb0, 0x2591 },
+ { 0xb1, 0x2592 },
+ { 0xb2, 0x2593 },
+ { 0xb3, 0x2502 },
+ { 0xb4, 0x2524 },
+ { 0xb5, 0x2561 },
+ { 0xb6, 0x2562 },
+ { 0xb7, 0x2556 },
+ { 0xb8, 0x2555 },
+ { 0xb9, 0x2563 },
+ { 0xba, 0x2551 },
+ { 0xbb, 0x2557 },
+ { 0xbc, 0x255d },
+ { 0xbd, 0x255c },
+ { 0xbe, 0x255b },
+ { 0xbf, 0x2510 },
+ { 0xc0, 0x2514 },
+ { 0xc1, 0x2534 },
+ { 0xc2, 0x252c },
+ { 0xc3, 0x251c },
+ { 0xc4, 0x2500 },
+ { 0xc5, 0x253c },
+ { 0xc6, 0x255e },
+ { 0xc7, 0x255f },
+ { 0xc8, 0x255a },
+ { 0xc9, 0x2554 },
+ { 0xca, 0x2569 },
+ { 0xcb, 0x2566 },
+ { 0xcc, 0x2560 },
+ { 0xcd, 0x2550 },
+ { 0xce, 0x256c },
+ { 0xcf, 0x2567 },
+ { 0xd0, 0x2568 },
+ { 0xd1, 0x2564 },
+ { 0xd2, 0x2565 },
+ { 0xd3, 0x2559 },
+ { 0xd4, 0x2558 },
+ { 0xd5, 0x2552 },
+ { 0xd6, 0x2553 },
+ { 0xd7, 0x256b },
+ { 0xd8, 0x256a },
+ { 0xd9, 0x2518 },
+ { 0xda, 0x250c },
+ { 0xdb, 0x2588 },
+ { 0xdc, 0x2584 },
+ { 0xdd, 0x258c },
+ { 0xde, 0x2590 },
+ { 0xdf, 0x2580 },
+ { 0xe0, 0x0440 },
+ { 0xe1, 0x0441 },
+ { 0xe2, 0x0442 },
+ { 0xe3, 0x0443 },
+ { 0xe4, 0x0444 },
+ { 0xe5, 0x0445 },
+ { 0xe6, 0x0446 },
+ { 0xe7, 0x0447 },
+ { 0xe8, 0x0448 },
+ { 0xe9, 0x0449 },
+ { 0xea, 0x044a },
+ { 0xeb, 0x044b },
+ { 0xec, 0x044c },
+ { 0xed, 0x044d },
+ { 0xee, 0x044e },
+ { 0xef, 0x044f },
+ { 0xf0, 0x0401 },
+ { 0xf1, 0x0451 },
+ { 0xf2, 0x0404 },
+ { 0xf3, 0x0454 },
+ { 0xf4, 0x0407 },
+ { 0xf5, 0x0457 },
+ { 0xf6, 0x040e },
+ { 0xf7, 0x045e },
+ { 0xf8, 0x00b0 },
+ { 0xf9, 0x2219 },
+ { 0xfa, 0x00b7 },
+ { 0xfb, 0x221a },
+ { 0xfc, 0x2116 },
+ { 0xfd, 0x00a4 },
+ { 0xfe, 0x25a0 },
+ { 0xff, 0x00a0 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_cp866 [] = {"cp866", "866", NULL };
+
+static struct table_entry table_cp1125 [] = {
+ { 0x80, 0x0410 },
+ { 0x81, 0x0411 },
+ { 0x82, 0x0412 },
+ { 0x83, 0x0413 },
+ { 0x84, 0x0414 },
+ { 0x85, 0x0415 },
+ { 0x86, 0x0416 },
+ { 0x87, 0x0417 },
+ { 0x88, 0x0418 },
+ { 0x89, 0x0419 },
+ { 0x8a, 0x041a },
+ { 0x8b, 0x041b },
+ { 0x8c, 0x041c },
+ { 0x8d, 0x041d },
+ { 0x8e, 0x041e },
+ { 0x8f, 0x041f },
+ { 0x90, 0x0420 },
+ { 0x91, 0x0421 },
+ { 0x92, 0x0422 },
+ { 0x93, 0x0423 },
+ { 0x94, 0x0424 },
+ { 0x95, 0x0425 },
+ { 0x96, 0x0426 },
+ { 0x97, 0x0427 },
+ { 0x98, 0x0428 },
+ { 0x99, 0x0429 },
+ { 0x9a, 0x042a },
+ { 0x9b, 0x042b },
+ { 0x9c, 0x042c },
+ { 0x9d, 0x042d },
+ { 0x9e, 0x042e },
+ { 0x9f, 0x042f },
+ { 0xa0, 0x0430 },
+ { 0xa1, 0x0431 },
+ { 0xa2, 0x0432 },
+ { 0xa3, 0x0433 },
+ { 0xa4, 0x0434 },
+ { 0xa5, 0x0435 },
+ { 0xa6, 0x0436 },
+ { 0xa7, 0x0437 },
+ { 0xa8, 0x0438 },
+ { 0xa9, 0x0439 },
+ { 0xaa, 0x043a },
+ { 0xab, 0x043b },
+ { 0xac, 0x043c },
+ { 0xad, 0x043d },
+ { 0xae, 0x043e },
+ { 0xaf, 0x043f },
+ { 0xb0, 0x2591 },
+ { 0xb1, 0x2592 },
+ { 0xb2, 0x2593 },
+ { 0xb3, 0x2502 },
+ { 0xb4, 0x2524 },
+ { 0xb5, 0x2561 },
+ { 0xb6, 0x2562 },
+ { 0xb7, 0x2556 },
+ { 0xb8, 0x2555 },
+ { 0xb9, 0x2563 },
+ { 0xba, 0x2551 },
+ { 0xbb, 0x2557 },
+ { 0xbc, 0x255d },
+ { 0xbd, 0x255c },
+ { 0xbe, 0x255b },
+ { 0xbf, 0x2510 },
+ { 0xc0, 0x2514 },
+ { 0xc1, 0x2534 },
+ { 0xc2, 0x252c },
+ { 0xc3, 0x251c },
+ { 0xc4, 0x2500 },
+ { 0xc5, 0x253c },
+ { 0xc6, 0x255e },
+ { 0xc7, 0x255f },
+ { 0xc8, 0x255a },
+ { 0xc9, 0x2554 },
+ { 0xca, 0x2569 },
+ { 0xcb, 0x2566 },
+ { 0xcc, 0x2560 },
+ { 0xcd, 0x2550 },
+ { 0xce, 0x256c },
+ { 0xcf, 0x2567 },
+ { 0xd0, 0x2568 },
+ { 0xd1, 0x2564 },
+ { 0xd2, 0x2565 },
+ { 0xd3, 0x2559 },
+ { 0xd4, 0x2558 },
+ { 0xd5, 0x2552 },
+ { 0xd6, 0x2553 },
+ { 0xd7, 0x256b },
+ { 0xd8, 0x256a },
+ { 0xd9, 0x2518 },
+ { 0xda, 0x250c },
+ { 0xdb, 0x2588 },
+ { 0xdc, 0x2584 },
+ { 0xdd, 0x258c },
+ { 0xde, 0x2590 },
+ { 0xdf, 0x2580 },
+ { 0xe0, 0x0440 },
+ { 0xe1, 0x0441 },
+ { 0xe2, 0x0442 },
+ { 0xe3, 0x0443 },
+ { 0xe4, 0x0444 },
+ { 0xe5, 0x0445 },
+ { 0xe6, 0x0446 },
+ { 0xe7, 0x0447 },
+ { 0xe8, 0x0448 },
+ { 0xe9, 0x0449 },
+ { 0xea, 0x044a },
+ { 0xeb, 0x044b },
+ { 0xec, 0x044c },
+ { 0xed, 0x044d },
+ { 0xee, 0x044e },
+ { 0xef, 0x044f },
+ { 0xf0, 0x0401 },
+ { 0xf1, 0x0451 },
+ { 0xf2, 0x0490 },
+ { 0xf3, 0x0491 },
+ { 0xf4, 0x0404 },
+ { 0xf5, 0x0454 },
+ { 0xf6, 0x0406 },
+ { 0xf7, 0x0456 },
+ { 0xf8, 0x0407 },
+ { 0xf9, 0x0457 },
+ { 0xfa, 0x00b7 },
+ { 0xfb, 0x221a },
+ { 0xfc, 0x2116 },
+ { 0xfd, 0x00a4 },
+ { 0xfe, 0x25a0 },
+ { 0xff, 0x00a0 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_cp1125 [] = {"x-cp866-u", "ruscii", "1125", NULL };
+
+static struct table_entry table_macroman [] = {
+ { 0x80, 0x00C4 },
+ { 0x81, 0x00C5 },
+ { 0x82, 0x00C7 },
+ { 0x83, 0x00C9 },
+ { 0x84, 0x00D1 },
+ { 0x85, 0x00D6 },
+ { 0x86, 0x00DC },
+ { 0x87, 0x00E1 },
+ { 0x88, 0x00E0 },
+ { 0x89, 0x00E2 },
+ { 0x8A, 0x00E4 },
+ { 0x8B, 0x00E3 },
+ { 0x8C, 0x00E5 },
+ { 0x8D, 0x00E7 },
+ { 0x8E, 0x00E9 },
+ { 0x8F, 0x00E8 },
+ { 0x90, 0x00EA },
+ { 0x91, 0x00EB },
+ { 0x92, 0x00ED },
+ { 0x93, 0x00EC },
+ { 0x94, 0x00EE },
+ { 0x95, 0x00EF },
+ { 0x96, 0x00F1 },
+ { 0x97, 0x00F3 },
+ { 0x98, 0x00F2 },
+ { 0x99, 0x00F4 },
+ { 0x9A, 0x00F6 },
+ { 0x9B, 0x00F5 },
+ { 0x9C, 0x00FA },
+ { 0x9D, 0x00F9 },
+ { 0x9E, 0x00FB },
+ { 0x9F, 0x00FC },
+ { 0xA0, 0x2020 },
+ { 0xA1, 0x00B0 },
+ { 0xA2, 0x00A2 },
+ { 0xA3, 0x00A3 },
+ { 0xA4, 0x00A7 },
+ { 0xA5, 0x2022 },
+ { 0xA6, 0x00B6 },
+ { 0xA7, 0x00DF },
+ { 0xA8, 0x00AE },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x2122 },
+ { 0xAB, 0x00B4 },
+ { 0xAC, 0x00A8 },
+ { 0xAD, 0x2260 },
+ { 0xAE, 0x00C6 },
+ { 0xAF, 0x00D8 },
+ { 0xB0, 0x221E },
+ { 0xB1, 0x00B1 },
+ { 0xB2, 0x2264 },
+ { 0xB3, 0x2265 },
+ { 0xB4, 0x00A5 },
+ { 0xB5, 0x00B5 },
+ { 0xB6, 0x2202 },
+ { 0xB7, 0x2211 },
+ { 0xB8, 0x220F },
+ { 0xB9, 0x03C0 },
+ { 0xBA, 0x222B },
+ { 0xBB, 0x00AA },
+ { 0xBC, 0x00BA },
+ { 0xBD, 0x03A9 },
+ { 0xBE, 0x00E6 },
+ { 0xBF, 0x00F8 },
+ { 0xC0, 0x00BF },
+ { 0xC1, 0x00A1 },
+ { 0xC2, 0x00AC },
+ { 0xC3, 0x221A },
+ { 0xC4, 0x0192 },
+ { 0xC5, 0x2248 },
+ { 0xC6, 0x0394 },
+ { 0xC7, 0x00AB },
+ { 0xC8, 0x00BB },
+ { 0xC9, 0x2026 },
+ { 0xCA, 0x00A0 },
+ { 0xCB, 0x00C0 },
+ { 0xCC, 0x00C3 },
+ { 0xCD, 0x00D5 },
+ { 0xCE, 0x0152 },
+ { 0xCF, 0x0153 },
+ { 0xD0, 0x2013 },
+ { 0xD1, 0x2014 },
+ { 0xD2, 0x201C },
+ { 0xD3, 0x201D },
+ { 0xD4, 0x2018 },
+ { 0xD5, 0x2019 },
+ { 0xD6, 0x00F7 },
+ { 0xD7, 0x25CA },
+ { 0xD8, 0x00FF },
+ { 0xD9, 0x0178 },
+ { 0xDA, 0x2044 },
+ { 0xDB, 0x20AC },
+ { 0xDC, 0x2039 },
+ { 0xDD, 0x203A },
+ { 0xDE, 0xFB01 },
+ { 0xDF, 0xFB02 },
+ { 0xE0, 0x2021 },
+ { 0xE1, 0x00B7 },
+ { 0xE2, 0x201A },
+ { 0xE3, 0x201E },
+ { 0xE4, 0x2030 },
+ { 0xE5, 0x00C2 },
+ { 0xE6, 0x00CA },
+ { 0xE7, 0x00C1 },
+ { 0xE8, 0x00CB },
+ { 0xE9, 0x00C8 },
+ { 0xEA, 0x00CD },
+ { 0xEB, 0x00CE },
+ { 0xEC, 0x00CF },
+ { 0xED, 0x00CC },
+ { 0xEE, 0x00D3 },
+ { 0xEF, 0x00D4 },
+ { 0xF0, 0xF8FF },
+ { 0xF1, 0x00D2 },
+ { 0xF2, 0x00DA },
+ { 0xF3, 0x00DB },
+ { 0xF4, 0x00D9 },
+ { 0xF5, 0x0131 },
+ { 0xF6, 0x02C6 },
+ { 0xF7, 0x02DC },
+ { 0xF8, 0x00AF },
+ { 0xF9, 0x02D8 },
+ { 0xFA, 0x02D9 },
+ { 0xFB, 0x02DA },
+ { 0xFC, 0x00B8 },
+ { 0xFD, 0x02DD },
+ { 0xFE, 0x02DB },
+ { 0xFF, 0x02C7 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_macroman [] = {"x-mac", "mac", "macroman", NULL };
+
+static struct table_entry table_mac_lat2 [] = {
+ { 0x80, 0x00C4 },
+ { 0x81, 0x0100 },
+ { 0x82, 0x0101 },
+ { 0x83, 0x00C9 },
+ { 0x84, 0x0104 },
+ { 0x85, 0x00D6 },
+ { 0x86, 0x00DC },
+ { 0x87, 0x00E1 },
+ { 0x88, 0x0105 },
+ { 0x89, 0x010C },
+ { 0x8A, 0x00E4 },
+ { 0x8B, 0x010D },
+ { 0x8C, 0x0106 },
+ { 0x8D, 0x0107 },
+ { 0x8E, 0x00E9 },
+ { 0x8F, 0x0179 },
+ { 0x90, 0x017A },
+ { 0x91, 0x010E },
+ { 0x92, 0x00ED },
+ { 0x93, 0x010F },
+ { 0x94, 0x0112 },
+ { 0x95, 0x0113 },
+ { 0x96, 0x0116 },
+ { 0x97, 0x00F3 },
+ { 0x98, 0x0117 },
+ { 0x99, 0x00F4 },
+ { 0x9A, 0x00F6 },
+ { 0x9B, 0x00F5 },
+ { 0x9C, 0x00FA },
+ { 0x9D, 0x011A },
+ { 0x9E, 0x011B },
+ { 0x9F, 0x00FC },
+ { 0xA0, 0x2020 },
+ { 0xA1, 0x00B0 },
+ { 0xA2, 0x0118 },
+ { 0xA3, 0x00A3 },
+ { 0xA4, 0x00A7 },
+ { 0xA5, 0x2022 },
+ { 0xA6, 0x00B6 },
+ { 0xA7, 0x00DF },
+ { 0xA8, 0x00AE },
+ { 0xA9, 0x00A9 },
+ { 0xAA, 0x2122 },
+ { 0xAB, 0x0119 },
+ { 0xAC, 0x00A8 },
+ { 0xAD, 0x2260 },
+ { 0xAE, 0x0123 },
+ { 0xAF, 0x012E },
+ { 0xB0, 0x012F },
+ { 0xB1, 0x012A },
+ { 0xB2, 0x2264 },
+ { 0xB3, 0x2265 },
+ { 0xB4, 0x012B },
+ { 0xB5, 0x0136 },
+ { 0xB6, 0x2202 },
+ { 0xB7, 0x2211 },
+ { 0xB8, 0x0142 },
+ { 0xB9, 0x013B },
+ { 0xBA, 0x013C },
+ { 0xBB, 0x013D },
+ { 0xBC, 0x013E },
+ { 0xBD, 0x0139 },
+ { 0xBE, 0x013A },
+ { 0xBF, 0x0145 },
+ { 0xC0, 0x0146 },
+ { 0xC1, 0x0143 },
+ { 0xC2, 0x00AC },
+ { 0xC3, 0x221A },
+ { 0xC4, 0x0144 },
+ { 0xC5, 0x0147 },
+ { 0xC6, 0x2206 },
+ { 0xC7, 0x00AB },
+ { 0xC8, 0x00BB },
+ { 0xC9, 0x2026 },
+ { 0xCA, 0x00A0 },
+ { 0xCB, 0x0148 },
+ { 0xCC, 0x0150 },
+ { 0xCD, 0x00D5 },
+ { 0xCE, 0x0151 },
+ { 0xCF, 0x014C },
+ { 0xD0, 0x2013 },
+ { 0xD1, 0x2014 },
+ { 0xD2, 0x201C },
+ { 0xD3, 0x201D },
+ { 0xD4, 0x2018 },
+ { 0xD5, 0x2019 },
+ { 0xD6, 0x00F7 },
+ { 0xD7, 0x25CA },
+ { 0xD8, 0x014D },
+ { 0xD9, 0x0154 },
+ { 0xDA, 0x0155 },
+ { 0xDB, 0x0158 },
+ { 0xDC, 0x2039 },
+ { 0xDD, 0x203A },
+ { 0xDE, 0x0159 },
+ { 0xDF, 0x0156 },
+ { 0xE0, 0x0157 },
+ { 0xE1, 0x0160 },
+ { 0xE2, 0x201A },
+ { 0xE3, 0x201E },
+ { 0xE4, 0x0161 },
+ { 0xE5, 0x015A },
+ { 0xE6, 0x015B },
+ { 0xE7, 0x00C1 },
+ { 0xE8, 0x0164 },
+ { 0xE9, 0x0165 },
+ { 0xEA, 0x00CD },
+ { 0xEB, 0x017D },
+ { 0xEC, 0x017E },
+ { 0xED, 0x016A },
+ { 0xEE, 0x00D3 },
+ { 0xEF, 0x00D4 },
+ { 0xF0, 0x016B },
+ { 0xF1, 0x016E },
+ { 0xF2, 0x00DA },
+ { 0xF3, 0x016F },
+ { 0xF4, 0x0170 },
+ { 0xF5, 0x0171 },
+ { 0xF6, 0x0172 },
+ { 0xF7, 0x0173 },
+ { 0xF8, 0x00DD },
+ { 0xF9, 0x00FD },
+ { 0xFA, 0x0137 },
+ { 0xFB, 0x017B },
+ { 0xFC, 0x0141 },
+ { 0xFD, 0x017C },
+ { 0xFE, 0x0122 },
+ { 0xFF, 0x02C7 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_mac_lat2 [] = {"x-mac-ce", "mac-ce", "maclatin2", "10029", NULL };
+
+static struct table_entry table_kamen [] = {
+ { 0x80, 0x010C },
+ { 0x81, 0x00FC },
+ { 0x82, 0x00E9 },
+ { 0x83, 0x010F },
+ { 0x84, 0x00E4 },
+ { 0x85, 0x010E },
+ { 0x86, 0x0164 },
+ { 0x87, 0x010D },
+ { 0x88, 0x011B },
+ { 0x89, 0x011A },
+ { 0x8A, 0x0139 },
+ { 0x8B, 0x00CD },
+ { 0x8C, 0x013E },
+ { 0x8D, 0x013A },
+ { 0x8E, 0x00C4 },
+ { 0x8F, 0x00C1 },
+ { 0x90, 0x00C9 },
+ { 0x91, 0x017E },
+ { 0x92, 0x017D },
+ { 0x93, 0x00F4 },
+ { 0x94, 0x00F6 },
+ { 0x95, 0x00D3 },
+ { 0x96, 0x016F },
+ { 0x97, 0x00DA },
+ { 0x98, 0x00FD },
+ { 0x99, 0x00D6 },
+ { 0x9A, 0x00DC },
+ { 0x9B, 0x0160 },
+ { 0x9C, 0x013D },
+ { 0x9D, 0x00DD },
+ { 0x9E, 0x0158 },
+ { 0x9F, 0x0165 },
+ { 0xA0, 0x00E1 },
+ { 0xA1, 0x00ED },
+ { 0xA2, 0x00F3 },
+ { 0xA3, 0x00FA },
+ { 0xA4, 0x0148 },
+ { 0xA5, 0x0147 },
+ { 0xA6, 0x016E },
+ { 0xA7, 0x00D4 },
+ { 0xA8, 0x0161 },
+ { 0xA9, 0x0159 },
+ { 0xAA, 0x0155 },
+ { 0xAB, 0x0154 },
+ { 0xAC, 0x00BC },
+ { 0xAD, 0x00A7 },
+ { 0xAE, 0x00BB },
+ { 0xAF, 0x00AB },
+ { 0xB0, 0x2591 },
+ { 0xB1, 0x2592 },
+ { 0xB2, 0x2593 },
+ { 0xB3, 0x2502 },
+ { 0xB4, 0x2524 },
+ { 0xB5, 0x2561 },
+ { 0xB6, 0x2562 },
+ { 0xB7, 0x2556 },
+ { 0xB8, 0x2555 },
+ { 0xB9, 0x2563 },
+ { 0xBA, 0x2551 },
+ { 0xBB, 0x2557 },
+ { 0xBC, 0x255D },
+ { 0xBD, 0x255C },
+ { 0xBE, 0x255B },
+ { 0xBF, 0x2510 },
+ { 0xC0, 0x2514 },
+ { 0xC1, 0x2534 },
+ { 0xC2, 0x252C },
+ { 0xC3, 0x251C },
+ { 0xC4, 0x2500 },
+ { 0xC5, 0x253C },
+ { 0xC6, 0x255E },
+ { 0xC7, 0x255F },
+ { 0xC8, 0x255A },
+ { 0xC9, 0x2554 },
+ { 0xCA, 0x2569 },
+ { 0xCB, 0x2566 },
+ { 0xCC, 0x2560 },
+ { 0xCD, 0x2550 },
+ { 0xCE, 0x256C },
+ { 0xCF, 0x2567 },
+ { 0xD0, 0x2568 },
+ { 0xD1, 0x2564 },
+ { 0xD2, 0x2565 },
+ { 0xD3, 0x2559 },
+ { 0xD4, 0x2558 },
+ { 0xD5, 0x2552 },
+ { 0xD6, 0x2553 },
+ { 0xD7, 0x256B },
+ { 0xD8, 0x256A },
+ { 0xD9, 0x2518 },
+ { 0xDA, 0x250C },
+ { 0xDB, 0x2588 },
+ { 0xDC, 0x2584 },
+ { 0xDD, 0x258C },
+ { 0xDE, 0x2590 },
+ { 0xDF, 0x2580 },
+ { 0xE0, 0x03B1 },
+ { 0xE1, 0x03B2 },
+ { 0xE2, 0x0194 },
+ { 0xE3, 0x03C0 },
+ { 0xE4, 0x03A3 },
+ { 0xE5, 0x03C3 },
+ { 0xE6, 0x03BC },
+ { 0xE7, 0x03C4 },
+ { 0xE8, 0x03A6 },
+ { 0xE9, 0x0398 },
+ { 0xEA, 0x03A9 },
+ { 0xEB, 0x03B4 },
+ { 0xEC, 0x221E },
+ { 0xED, 0x03C6 },
+ { 0xEE, 0x2208 },
+ { 0xEF, 0x2229 },
+ { 0xF0, 0x224D },
+ { 0xF1, 0x00B1 },
+ { 0xF2, 0x2265 },
+ { 0xF3, 0x2264 },
+ { 0xF4, 0x2320 },
+ { 0xF5, 0x2321 },
+ { 0xF6, 0x00F7 },
+ { 0xF7, 0x2248 },
+ { 0xF8, 0x00B0 },
+ { 0xF9, 0x2219 },
+ { 0xFA, 0x00B7 },
+ { 0xFB, 0x221A },
+ { 0xFC, 0x207F },
+ { 0xFD, 0x00B2 },
+ { 0xFE, 0x25A0 },
+ { 0xFF, 0x00A0 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_kamen [] = {"x-kam-cs", "kam", "867", "869", NULL };
+
+static struct table_entry table_koi8_r [] = {
+ { 0x80, 0x2500 },
+ { 0x81, 0x2502 },
+ { 0x82, 0x250C },
+ { 0x83, 0x2510 },
+ { 0x84, 0x2514 },
+ { 0x85, 0x2518 },
+ { 0x86, 0x251C },
+ { 0x87, 0x2524 },
+ { 0x88, 0x252C },
+ { 0x89, 0x2534 },
+ { 0x8A, 0x253C },
+ { 0x8B, 0x2580 },
+ { 0x8C, 0x2584 },
+ { 0x8D, 0x2588 },
+ { 0x8E, 0x258C },
+ { 0x8F, 0x2590 },
+ { 0x90, 0x2591 },
+ { 0x91, 0x2592 },
+ { 0x92, 0x2593 },
+ { 0x93, 0x2320 },
+ { 0x94, 0x25A0 },
+ { 0x95, 0x2022 },
+ { 0x96, 0x221A },
+ { 0x97, 0x2248 },
+ { 0x98, 0x2264 },
+ { 0x99, 0x2265 },
+ { 0x9A, 0x00A0 },
+ { 0x9B, 0x2321 },
+ { 0x9C, 0x00B0 },
+ { 0x9D, 0x00B2 },
+ { 0x9E, 0x00B7 },
+ { 0x9F, 0x00F7 },
+ { 0xA0, 0x2550 },
+ { 0xA1, 0x2551 },
+ { 0xA2, 0x2552 },
+ { 0xA3, 0x0451 },
+ { 0xA4, 0x2553 },
+ { 0xA5, 0x2554 },
+ { 0xA6, 0x2555 },
+ { 0xA7, 0x2556 },
+ { 0xA8, 0x2557 },
+ { 0xA9, 0x2558 },
+ { 0xAA, 0x2559 },
+ { 0xAB, 0x255A },
+ { 0xAC, 0x255B },
+ { 0xAD, 0x255C },
+ { 0xAE, 0x255D },
+ { 0xAF, 0x255E },
+ { 0xB0, 0x255F },
+ { 0xB1, 0x2560 },
+ { 0xB2, 0x2561 },
+ { 0xB3, 0x0401 },
+ { 0xB4, 0x2562 },
+ { 0xB5, 0x2563 },
+ { 0xB6, 0x2564 },
+ { 0xB7, 0x2565 },
+ { 0xB8, 0x2566 },
+ { 0xB9, 0x2567 },
+ { 0xBA, 0x2568 },
+ { 0xBB, 0x2569 },
+ { 0xBC, 0x256A },
+ { 0xBD, 0x256B },
+ { 0xBE, 0x256C },
+ { 0xBF, 0x00A9 },
+ { 0xC0, 0x044E },
+ { 0xC1, 0x0430 },
+ { 0xC2, 0x0431 },
+ { 0xC3, 0x0446 },
+ { 0xC4, 0x0434 },
+ { 0xC5, 0x0435 },
+ { 0xC6, 0x0444 },
+ { 0xC7, 0x0433 },
+ { 0xC8, 0x0445 },
+ { 0xC9, 0x0438 },
+ { 0xCA, 0x0439 },
+ { 0xCB, 0x043A },
+ { 0xCC, 0x043B },
+ { 0xCD, 0x043C },
+ { 0xCE, 0x043D },
+ { 0xCF, 0x043E },
+ { 0xD0, 0x043F },
+ { 0xD1, 0x044F },
+ { 0xD2, 0x0440 },
+ { 0xD3, 0x0441 },
+ { 0xD4, 0x0442 },
+ { 0xD5, 0x0443 },
+ { 0xD6, 0x0436 },
+ { 0xD7, 0x0432 },
+ { 0xD8, 0x044C },
+ { 0xD9, 0x044B },
+ { 0xDA, 0x0437 },
+ { 0xDB, 0x0448 },
+ { 0xDC, 0x044D },
+ { 0xDD, 0x0449 },
+ { 0xDE, 0x0447 },
+ { 0xDF, 0x044A },
+ { 0xE0, 0x042E },
+ { 0xE1, 0x0410 },
+ { 0xE2, 0x0411 },
+ { 0xE3, 0x0426 },
+ { 0xE4, 0x0414 },
+ { 0xE5, 0x0415 },
+ { 0xE6, 0x0424 },
+ { 0xE7, 0x0413 },
+ { 0xE8, 0x0425 },
+ { 0xE9, 0x0418 },
+ { 0xEA, 0x0419 },
+ { 0xEB, 0x041A },
+ { 0xEC, 0x041B },
+ { 0xED, 0x041C },
+ { 0xEE, 0x041D },
+ { 0xEF, 0x041E },
+ { 0xF0, 0x041F },
+ { 0xF1, 0x042F },
+ { 0xF2, 0x0420 },
+ { 0xF3, 0x0421 },
+ { 0xF4, 0x0422 },
+ { 0xF5, 0x0423 },
+ { 0xF6, 0x0416 },
+ { 0xF7, 0x0412 },
+ { 0xF8, 0x042C },
+ { 0xF9, 0x042B },
+ { 0xFA, 0x0417 },
+ { 0xFB, 0x0428 },
+ { 0xFC, 0x042D },
+ { 0xFD, 0x0429 },
+ { 0xFE, 0x0427 },
+ { 0xFF, 0x042A },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_koi8_r [] = {"koi8-r", NULL };
+
+static struct table_entry table_koi8_u [] = {
+ { 0x80, 0x2500 },
+ { 0x81, 0x2502 },
+ { 0x82, 0x250C },
+ { 0x83, 0x2510 },
+ { 0x84, 0x2514 },
+ { 0x85, 0x2518 },
+ { 0x86, 0x251C },
+ { 0x87, 0x2524 },
+ { 0x88, 0x252C },
+ { 0x89, 0x2534 },
+ { 0x8A, 0x253C },
+ { 0x8B, 0x2580 },
+ { 0x8C, 0x2584 },
+ { 0x8D, 0x2588 },
+ { 0x8E, 0x258C },
+ { 0x8F, 0x2590 },
+ { 0x90, 0x2591 },
+ { 0x91, 0x2592 },
+ { 0x92, 0x2593 },
+ { 0x93, 0x2320 },
+ { 0x94, 0x25A0 },
+ { 0x95, 0x2219 },
+ { 0x96, 0x221A },
+ { 0x97, 0x2248 },
+ { 0x98, 0x2264 },
+ { 0x99, 0x2265 },
+ { 0x9A, 0x00A0 },
+ { 0x9B, 0x2321 },
+ { 0x9C, 0x00B0 },
+ { 0x9D, 0x00B2 },
+ { 0x9E, 0x00B7 },
+ { 0x9F, 0x00F7 },
+ { 0xA0, 0x2550 },
+ { 0xA1, 0x2551 },
+ { 0xA2, 0x2552 },
+ { 0xA3, 0x0451 },
+ { 0xA4, 0x0454 },
+ { 0xA5, 0x2554 },
+ { 0xA6, 0x0456 },
+ { 0xA7, 0x0457 },
+ { 0xA8, 0x2557 },
+ { 0xA9, 0x2558 },
+ { 0xAA, 0x2559 },
+ { 0xAB, 0x255A },
+ { 0xAC, 0x255B },
+ { 0xAD, 0x0491 },
+ { 0xAE, 0x255D },
+ { 0xAF, 0x255E },
+ { 0xB0, 0x255F },
+ { 0xB1, 0x2560 },
+ { 0xB2, 0x2561 },
+ { 0xB3, 0x0401 },
+ { 0xB4, 0x0404 },
+ { 0xB5, 0x2563 },
+ { 0xB6, 0x0406 },
+ { 0xB7, 0x0407 },
+ { 0xB8, 0x2566 },
+ { 0xB9, 0x2567 },
+ { 0xBA, 0x2568 },
+ { 0xBB, 0x2569 },
+ { 0xBC, 0x256A },
+ { 0xBD, 0x0490 },
+ { 0xBE, 0x256C },
+ { 0xBF, 0x00A9 },
+ { 0xC0, 0x044E },
+ { 0xC1, 0x0430 },
+ { 0xC2, 0x0431 },
+ { 0xC3, 0x0446 },
+ { 0xC4, 0x0434 },
+ { 0xC5, 0x0435 },
+ { 0xC6, 0x0444 },
+ { 0xC7, 0x0433 },
+ { 0xC8, 0x0445 },
+ { 0xC9, 0x0438 },
+ { 0xCA, 0x0439 },
+ { 0xCB, 0x043A },
+ { 0xCC, 0x043B },
+ { 0xCD, 0x043C },
+ { 0xCE, 0x043D },
+ { 0xCF, 0x043E },
+ { 0xD0, 0x043F },
+ { 0xD1, 0x044F },
+ { 0xD2, 0x0440 },
+ { 0xD3, 0x0441 },
+ { 0xD4, 0x0442 },
+ { 0xD5, 0x0443 },
+ { 0xD6, 0x0436 },
+ { 0xD7, 0x0432 },
+ { 0xD8, 0x044C },
+ { 0xD9, 0x044B },
+ { 0xDA, 0x0437 },
+ { 0xDB, 0x0448 },
+ { 0xDC, 0x044D },
+ { 0xDD, 0x0449 },
+ { 0xDE, 0x0447 },
+ { 0xDF, 0x044A },
+ { 0xE0, 0x042E },
+ { 0xE1, 0x0410 },
+ { 0xE2, 0x0411 },
+ { 0xE3, 0x0426 },
+ { 0xE4, 0x0414 },
+ { 0xE5, 0x0415 },
+ { 0xE6, 0x0424 },
+ { 0xE7, 0x0413 },
+ { 0xE8, 0x0425 },
+ { 0xE9, 0x0418 },
+ { 0xEA, 0x0419 },
+ { 0xEB, 0x041A },
+ { 0xEC, 0x041B },
+ { 0xED, 0x041C },
+ { 0xEE, 0x041D },
+ { 0xEF, 0x041E },
+ { 0xF0, 0x041F },
+ { 0xF1, 0x042F },
+ { 0xF2, 0x0420 },
+ { 0xF3, 0x0421 },
+ { 0xF4, 0x0422 },
+ { 0xF5, 0x0423 },
+ { 0xF6, 0x0416 },
+ { 0xF7, 0x0412 },
+ { 0xF8, 0x042C },
+ { 0xF9, 0x042B },
+ { 0xFA, 0x0417 },
+ { 0xFB, 0x0428 },
+ { 0xFC, 0x042D },
+ { 0xFD, 0x0429 },
+ { 0xFE, 0x0427 },
+ { 0xFF, 0x042A },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_koi8_u [] = {"koi8-u", NULL };
+
+static struct table_entry table_koi8_ru [] = {
+ { 0x80, 0x2500 },
+ { 0x81, 0x2502 },
+ { 0x82, 0x250C },
+ { 0x83, 0x2510 },
+ { 0x84, 0x2514 },
+ { 0x85, 0x2518 },
+ { 0x86, 0x251C },
+ { 0x87, 0x2524 },
+ { 0x88, 0x252C },
+ { 0x89, 0x2534 },
+ { 0x8A, 0x253C },
+ { 0x8B, 0x2580 },
+ { 0x8C, 0x2584 },
+ { 0x8D, 0x2588 },
+ { 0x8E, 0x258C },
+ { 0x8F, 0x2590 },
+ { 0x90, 0x2591 },
+ { 0x91, 0x2592 },
+ { 0x92, 0x2593 },
+ { 0x93, 0x2320 },
+ { 0x94, 0x25A0 },
+ { 0x95, 0x2219 },
+ { 0x96, 0x221A },
+ { 0x97, 0x2248 },
+ { 0x98, 0x2264 },
+ { 0x99, 0x2265 },
+ { 0x9A, 0x00A0 },
+ { 0x9B, 0x2321 },
+ { 0x9C, 0x00B0 },
+ { 0x9D, 0x00B2 },
+ { 0x9E, 0x00B7 },
+ { 0x9F, 0x00F7 },
+ { 0xA0, 0x2550 },
+ { 0xA1, 0x2551 },
+ { 0xA2, 0x2552 },
+ { 0xA3, 0x0451 },
+ { 0xA4, 0x0454 },
+ { 0xA5, 0x2554 },
+ { 0xA6, 0x0456 },
+ { 0xA7, 0x0457 },
+ { 0xA8, 0x2557 },
+ { 0xA9, 0x2558 },
+ { 0xAA, 0x2559 },
+ { 0xAB, 0x255A },
+ { 0xAC, 0x255B },
+ { 0xAD, 0x0491 },
+ { 0xAE, 0x045E },
+ { 0xAF, 0x255E },
+ { 0xB0, 0x255F },
+ { 0xB1, 0x2560 },
+ { 0xB2, 0x2561 },
+ { 0xB3, 0x0401 },
+ { 0xB4, 0x0404 },
+ { 0xB5, 0x2563 },
+ { 0xB6, 0x0406 },
+ { 0xB7, 0x0407 },
+ { 0xB8, 0x2566 },
+ { 0xB9, 0x2567 },
+ { 0xBA, 0x2568 },
+ { 0xBB, 0x2569 },
+ { 0xBC, 0x256A },
+ { 0xBD, 0x0490 },
+ { 0xBE, 0x040E },
+ { 0xBF, 0x00A9 },
+ { 0xC0, 0x044E },
+ { 0xC1, 0x0430 },
+ { 0xC2, 0x0431 },
+ { 0xC3, 0x0446 },
+ { 0xC4, 0x0434 },
+ { 0xC5, 0x0435 },
+ { 0xC6, 0x0444 },
+ { 0xC7, 0x0433 },
+ { 0xC8, 0x0445 },
+ { 0xC9, 0x0438 },
+ { 0xCA, 0x0439 },
+ { 0xCB, 0x043A },
+ { 0xCC, 0x043B },
+ { 0xCD, 0x043C },
+ { 0xCE, 0x043D },
+ { 0xCF, 0x043E },
+ { 0xD0, 0x043F },
+ { 0xD1, 0x044F },
+ { 0xD2, 0x0440 },
+ { 0xD3, 0x0441 },
+ { 0xD4, 0x0442 },
+ { 0xD5, 0x0443 },
+ { 0xD6, 0x0436 },
+ { 0xD7, 0x0432 },
+ { 0xD8, 0x044C },
+ { 0xD9, 0x044B },
+ { 0xDA, 0x0437 },
+ { 0xDB, 0x0448 },
+ { 0xDC, 0x044D },
+ { 0xDD, 0x0449 },
+ { 0xDE, 0x0447 },
+ { 0xDF, 0x044A },
+ { 0xE0, 0x042E },
+ { 0xE1, 0x0410 },
+ { 0xE2, 0x0411 },
+ { 0xE3, 0x0426 },
+ { 0xE4, 0x0414 },
+ { 0xE5, 0x0415 },
+ { 0xE6, 0x0424 },
+ { 0xE7, 0x0413 },
+ { 0xE8, 0x0425 },
+ { 0xE9, 0x0418 },
+ { 0xEA, 0x0419 },
+ { 0xEB, 0x041A },
+ { 0xEC, 0x041B },
+ { 0xED, 0x041C },
+ { 0xEE, 0x041D },
+ { 0xEF, 0x041E },
+ { 0xF0, 0x041F },
+ { 0xF1, 0x042F },
+ { 0xF2, 0x0420 },
+ { 0xF3, 0x0421 },
+ { 0xF4, 0x0422 },
+ { 0xF5, 0x0423 },
+ { 0xF6, 0x0416 },
+ { 0xF7, 0x0412 },
+ { 0xF8, 0x042C },
+ { 0xF9, 0x042B },
+ { 0xFA, 0x0417 },
+ { 0xFB, 0x0428 },
+ { 0xFC, 0x042D },
+ { 0xFD, 0x0429 },
+ { 0xFE, 0x0427 },
+ { 0xFF, 0x042A },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_koi8_ru [] = {"koi8-ru", NULL };
+
+static struct table_entry table_tcvn5712 [] = {
+ { 0x80, 0x00C0 },
+ { 0x81, 0x1EA2 },
+ { 0x82, 0x00C3 },
+ { 0x83, 0x00C1 },
+ { 0x84, 0x1EA0 },
+ { 0x85, 0x1EB6 },
+ { 0x86, 0x1EAC },
+ { 0x87, 0x00C8 },
+ { 0x88, 0x1EBA },
+ { 0x89, 0x1EBC },
+ { 0x8A, 0x00C9 },
+ { 0x8B, 0x1EB8 },
+ { 0x8C, 0x1EC6 },
+ { 0x8D, 0x00CC },
+ { 0x8E, 0x1EC8 },
+ { 0x8F, 0x0128 },
+ { 0x90, 0x00CD },
+ { 0x91, 0x1ECA },
+ { 0x92, 0x00D2 },
+ { 0x93, 0x1ECE },
+ { 0x94, 0x00D5 },
+ { 0x95, 0x00D3 },
+ { 0x96, 0x1ECC },
+ { 0x97, 0x1ED8 },
+ { 0x98, 0x1EDC },
+ { 0x99, 0x1EDE },
+ { 0x9A, 0x1EE0 },
+ { 0x9B, 0x1EDA },
+ { 0x9C, 0x1EE2 },
+ { 0x9D, 0x00D9 },
+ { 0x9E, 0x1EE6 },
+ { 0x9F, 0x0168 },
+ { 0xA0, 0x00A0 },
+ { 0xA1, 0x0102 },
+ { 0xA2, 0x00C2 },
+ { 0xA3, 0x00CA },
+ { 0xA4, 0x00D4 },
+ { 0xA5, 0x01A0 },
+ { 0xA6, 0x01AF },
+ { 0xA7, 0x0110 },
+ { 0xA8, 0x0103 },
+ { 0xA9, 0x00E2 },
+ { 0xAA, 0x00EA },
+ { 0xAB, 0x00F4 },
+ { 0xAC, 0x01A1 },
+ { 0xAD, 0x01B0 },
+ { 0xAE, 0x0111 },
+ { 0xAF, 0x1EB0 },
+ { 0xB0, 0x0300 },
+ { 0xB1, 0x0309 },
+ { 0xB2, 0x0303 },
+ { 0xB3, 0x0301 },
+ { 0xB4, 0x0323 },
+ { 0xB5, 0x00E0 },
+ { 0xB6, 0x1EA3 },
+ { 0xB7, 0x00E3 },
+ { 0xB8, 0x00E1 },
+ { 0xB9, 0x1EA1 },
+ { 0xBA, 0x1EB2 },
+ { 0xBB, 0x1EB1 },
+ { 0xBC, 0x1EB3 },
+ { 0xBD, 0x1EB5 },
+ { 0xBE, 0x1EAF },
+ { 0xBF, 0x1EB4 },
+ { 0xC0, 0x1EAE },
+ { 0xC1, 0x1EA6 },
+ { 0xC2, 0x1EA8 },
+ { 0xC3, 0x1EAA },
+ { 0xC4, 0x1EA4 },
+ { 0xC5, 0x1EC0 },
+ { 0xC6, 0x1EB7 },
+ { 0xC7, 0x1EA7 },
+ { 0xC8, 0x1EA9 },
+ { 0xC9, 0x1EAB },
+ { 0xCA, 0x1EA5 },
+ { 0xCB, 0x1EAD },
+ { 0xCC, 0x00E8 },
+ { 0xCD, 0x1EC2 },
+ { 0xCE, 0x1EBB },
+ { 0xCF, 0x1EBD },
+ { 0xD0, 0x00E9 },
+ { 0xD1, 0x1EB9 },
+ { 0xD2, 0x1EC1 },
+ { 0xD3, 0x1EC3 },
+ { 0xD4, 0x1EC5 },
+ { 0xD5, 0x1EBF },
+ { 0xD6, 0x1EC7 },
+ { 0xD7, 0x00EC },
+ { 0xD8, 0x1EC9 },
+ { 0xD9, 0x1EC4 },
+ { 0xDA, 0x1EBE },
+ { 0xDB, 0x1ED2 },
+ { 0xDC, 0x0129 },
+ { 0xDD, 0x00ED },
+ { 0xDE, 0x1ECB },
+ { 0xDF, 0x00F2 },
+ { 0xE0, 0x1ED4 },
+ { 0xE1, 0x1ECF },
+ { 0xE2, 0x00F5 },
+ { 0xE3, 0x00F3 },
+ { 0xE4, 0x1ECD },
+ { 0xE5, 0x1ED3 },
+ { 0xE6, 0x1ED5 },
+ { 0xE7, 0x1ED7 },
+ { 0xE8, 0x1ED1 },
+ { 0xE9, 0x1ED9 },
+ { 0xEA, 0x1EDD },
+ { 0xEB, 0x1EDF },
+ { 0xEC, 0x1EE1 },
+ { 0xED, 0x1EDB },
+ { 0xEE, 0x1EE3 },
+ { 0xEF, 0x00F9 },
+ { 0xF0, 0x1ED6 },
+ { 0xF1, 0x1EE7 },
+ { 0xF2, 0x0169 },
+ { 0xF3, 0x00FA },
+ { 0xF4, 0x1EE5 },
+ { 0xF5, 0x1EEB },
+ { 0xF6, 0x1EED },
+ { 0xF7, 0x1EEF },
+ { 0xF8, 0x1EE9 },
+ { 0xF9, 0x1EF1 },
+ { 0xFA, 0x1EF3 },
+ { 0xFB, 0x1EF7 },
+ { 0xFC, 0x1EF9 },
+ { 0xFD, 0x00FD },
+ { 0xFE, 0x1EF5 },
+ { 0xFF, 0x1ED0 },
+ { 0xA7, 0x00D0 },
+ { 0xAE, 0x00F0 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_tcvn5712 [] = {"TCVN-5712", "TCVN", "TCVN-0", "TCVN-1", NULL };
+
+static struct table_entry table_viscii [] = {
+ { 0x80, 0x1EA0 },
+ { 0x81, 0x1EAE },
+ { 0x82, 0x1EB0 },
+ { 0x83, 0x1EB6 },
+ { 0x84, 0x1EA4 },
+ { 0x85, 0x1EA6 },
+ { 0x86, 0x1EA8 },
+ { 0x87, 0x1EAC },
+ { 0x88, 0x1EBC },
+ { 0x89, 0x1EB8 },
+ { 0x8A, 0x1EBE },
+ { 0x8B, 0x1EC0 },
+ { 0x8C, 0x1EC2 },
+ { 0x8D, 0x1EC4 },
+ { 0x8E, 0x1EC6 },
+ { 0x8F, 0x1ED0 },
+ { 0x90, 0x1ED2 },
+ { 0x91, 0x1ED4 },
+ { 0x92, 0x1ED6 },
+ { 0x93, 0x1ED8 },
+ { 0x94, 0x1EE2 },
+ { 0x95, 0x1EDA },
+ { 0x96, 0x1EDC },
+ { 0x97, 0x1EDE },
+ { 0x98, 0x1ECA },
+ { 0x99, 0x1ECE },
+ { 0x9A, 0x1ECC },
+ { 0x9B, 0x1EC8 },
+ { 0x9C, 0x1EE6 },
+ { 0x9D, 0x0168 },
+ { 0x9E, 0x1EE4 },
+ { 0x9F, 0x1EF2 },
+ { 0xA0, 0x00D5 },
+ { 0xA1, 0x1EAF },
+ { 0xA2, 0x1EB1 },
+ { 0xA3, 0x1EB7 },
+ { 0xA4, 0x1EA5 },
+ { 0xA5, 0x1EA7 },
+ { 0xA6, 0x1EA9 },
+ { 0xA7, 0x1EAD },
+ { 0xA8, 0x1EBD },
+ { 0xA9, 0x1EB9 },
+ { 0xAA, 0x1EBF },
+ { 0xAB, 0x1EC1 },
+ { 0xAC, 0x1EC3 },
+ { 0xAD, 0x1EC5 },
+ { 0xAE, 0x1EC7 },
+ { 0xAF, 0x1ED1 },
+ { 0xB0, 0x1ED3 },
+ { 0xB1, 0x1ED5 },
+ { 0xB2, 0x1ED7 },
+ { 0xB3, 0x1EE0 },
+ { 0xB4, 0x01A0 },
+ { 0xB5, 0x1ED9 },
+ { 0xB6, 0x1EDD },
+ { 0xB7, 0x1EDF },
+ { 0xB8, 0x1ECB },
+ { 0xB9, 0x1EF0 },
+ { 0xBA, 0x1EE8 },
+ { 0xBB, 0x1EEA },
+ { 0xBC, 0x1EEC },
+ { 0xBD, 0x01A1 },
+ { 0xBE, 0x1EDB },
+ { 0xBF, 0x01AF },
+ { 0xC0, 0x00C0 },
+ { 0xC1, 0x00C1 },
+ { 0xC2, 0x00C2 },
+ { 0xC3, 0x00C3 },
+ { 0xC4, 0x1EA2 },
+ { 0xC5, 0x0102 },
+ { 0xC6, 0x1EB3 },
+ { 0xC7, 0x1EB5 },
+ { 0xC8, 0x00C8 },
+ { 0xC9, 0x00C9 },
+ { 0xCA, 0x00CA },
+ { 0xCB, 0x1EBA },
+ { 0xCC, 0x00CC },
+ { 0xCD, 0x00CD },
+ { 0xCE, 0x0128 },
+ { 0xCF, 0x1EF3 },
+ { 0xD0, 0x0110 },
+ { 0xD1, 0x1EE9 },
+ { 0xD2, 0x00D2 },
+ { 0xD3, 0x00D3 },
+ { 0xD4, 0x00D4 },
+ { 0xD5, 0x1EA1 },
+ { 0xD6, 0x1EF7 },
+ { 0xD7, 0x1EEB },
+ { 0xD8, 0x1EED },
+ { 0xD9, 0x00D9 },
+ { 0xDA, 0x00DA },
+ { 0xDB, 0x1EF9 },
+ { 0xDC, 0x1EF5 },
+ { 0xDD, 0x00DD },
+ { 0xDE, 0x1EE1 },
+ { 0xDF, 0x01B0 },
+ { 0xE0, 0x00E0 },
+ { 0xE1, 0x00E1 },
+ { 0xE2, 0x00E2 },
+ { 0xE3, 0x00E3 },
+ { 0xE4, 0x1EA3 },
+ { 0xE5, 0x0103 },
+ { 0xE6, 0x1EEF },
+ { 0xE7, 0x1EAB },
+ { 0xE8, 0x00E8 },
+ { 0xE9, 0x00E9 },
+ { 0xEA, 0x00EA },
+ { 0xEB, 0x1EBB },
+ { 0xEC, 0x00EC },
+ { 0xED, 0x00ED },
+ { 0xEE, 0x0129 },
+ { 0xEF, 0x1EC9 },
+ { 0xF0, 0x0111 },
+ { 0xF1, 0x1EF1 },
+ { 0xF2, 0x00F2 },
+ { 0xF3, 0x00F3 },
+ { 0xF4, 0x00F4 },
+ { 0xF5, 0x00F5 },
+ { 0xF6, 0x1ECF },
+ { 0xF7, 0x1ECD },
+ { 0xF8, 0x1EE5 },
+ { 0xF9, 0x00F9 },
+ { 0xFA, 0x00FA },
+ { 0xFB, 0x0169 },
+ { 0xFC, 0x1EE7 },
+ { 0xFD, 0x00FD },
+ { 0xFE, 0x1EE3 },
+ { 0xFF, 0x1EEE },
+ { 0xD0, 0x00D0 },
+ { 0xF0, 0x00F0 },
+ { 0, 0 }
+};
+
+static unsigned char *aliases_viscii [] = {"VISCII", "VISCII-1", "VISCII 1.1", "VISCII-1.1", "VISCII1.1-1", NULL };
+
+static struct table_entry table_utf_8 [] = {
+ { 0, 0 }
+};
+
+static unsigned char *aliases_utf_8 [] = {"utf-8", "utf8", NULL };
+
+static struct codepage_desc codepages [] = {
+ { "7-bit ASCII", aliases_7bit, table_7bit },
+ { "ISO 8859-1 (Western European)", aliases_8859_1, table_8859_1 },
+ { "ISO 8859-2 (Central European)", aliases_8859_2, table_8859_2 },
+ { "ISO 8859-3 (Esperanto, Maltese)", aliases_8859_3, table_8859_3 },
+ { "ISO 8859-4 (Scandinavia, Baltic)", aliases_8859_4, table_8859_4 },
+ { "ISO 8859-5 (Cyrillic)", aliases_8859_5, table_8859_5 },
+ { "ISO 8859-6 (Arabic)", aliases_8859_6, table_8859_6 },
+ { "ISO 8859-7 (Greek)", aliases_8859_7, table_8859_7 },
+ { "ISO 8859-8 (Hebrew)", aliases_8859_8, table_8859_8 },
+ { "ISO 8859-9 (Turkish)", aliases_8859_9, table_8859_9 },
+ { "ISO 8859-10 (Lappish, Nordic, Eskimo)", aliases_8859_10, table_8859_10 },
+ { "ISO 8859-13 (Baltic)", aliases_8859_13, table_8859_13 },
+ { "ISO 8859-14 (Celtic)", aliases_8859_14, table_8859_14 },
+ { "ISO 8859-15 (Western European)", aliases_8859_15, table_8859_15 },
+ { "ISO 8859-16 (Romainian)", aliases_8859_16, table_8859_16 },
+ { "Window$ 1250 (Central European)", aliases_cp1250, table_cp1250 },
+ { "Window$ 1251 (Cyrillic)", aliases_cp1251, table_cp1251 },
+ { "Window$ 1252 (Western European)", aliases_cp1252, table_cp1252 },
+ { "Window$ 1256 (Arabic)", aliases_cp1256, table_cp1256 },
+ { "Window$ 1257 (Baltic)", aliases_cp1257, table_cp1257 },
+ { "CP 437 (US)", aliases_cp437, table_cp437 },
+ { "CP 737 (Greek)", aliases_cp737, table_cp737 },
+ { "CP 850 (Western European)", aliases_cp850, table_cp850 },
+ { "CP 852 (Central European)", aliases_cp852, table_cp852 },
+ { "CP 866 (Cyrillic)", aliases_cp866, table_cp866 },
+ { "CP 1125 (Ukrainian)", aliases_cp1125, table_cp1125 },
+ { "MacRoman 2000", aliases_macroman, table_macroman },
+ { "Mac latin 2", aliases_mac_lat2, table_mac_lat2 },
+ { "Kamenicky Brothers", aliases_kamen, table_kamen },
+ { "KOI8-R", aliases_koi8_r, table_koi8_r },
+ { "KOI8-U", aliases_koi8_u, table_koi8_u },
+ { "KOI8-RU", aliases_koi8_ru, table_koi8_ru },
+ { "TCVN-5712 (Vietnamese)", aliases_tcvn5712, table_tcvn5712 },
+ { "VISCII", aliases_viscii, table_viscii },
+ { "Unicode UTF-8", aliases_utf_8, table_utf_8 },
+ { NULL, NULL, NULL }
+};
diff --git a/compress.c b/compress.c
new file mode 100644
index 0000000..a36979d
--- /dev/null
+++ b/compress.c
@@ -0,0 +1,621 @@
+#include "links.h"
+
+unsigned long decompressed_cache_size;
+
+static int display_error(struct terminal *term, unsigned char *msg, int *errp)
+{
+ struct window *win;
+ if (errp) *errp = 1;
+ if (!term) return 0;
+ if (!errp) foreach(win, term->windows) if (win->handler == dialog_func) {
+ struct dialog_data *d = win->data;
+ if (d->dlg->title == msg) {
+ return 0;
+ }
+ }
+ return 1;
+}
+
+#ifdef HAVE_ANY_COMPRESSION
+
+static void decoder_memory_init(unsigned char **p, size_t *size, off_t init_length)
+{
+ if (init_length > 0 && init_length < MAXINT) *size = init_length;
+ else *size = 4096;
+ *p = mem_alloc(*size);
+}
+
+static int decoder_memory_expand(unsigned char **p, size_t size, size_t *addsize)
+{
+ unsigned char *pp;
+ size_t add = size / 4 + 1;
+ if (size + add < size) {
+ if (add > 1) add >>= 1;
+ else overalloc();
+ }
+ pp = mem_realloc_mayfail(*p, size + add);
+ if (!pp) {
+ *addsize = 0;
+ return -1;
+ }
+ *addsize = add;
+ *p = pp;
+ return 0;
+}
+
+static void decompress_error(struct terminal *term, struct cache_entry *ce, unsigned char *lib, unsigned char *msg, int *errp)
+{
+ unsigned char *u, *uu, *server;
+ if ((u = parse_http_header(ce->head, "Content-Encoding", NULL))) {
+ mem_free(u);
+ if ((server = get_host_name(ce->url))) {
+ add_blacklist_entry(server, BL_NO_COMPRESSION);
+ mem_free(server);
+ }
+ }
+ if (!display_error(term, TEXT_(T_DECOMPRESSION_ERROR), errp)) return;
+ u = stracpy(ce->url);
+ if ((uu = strchr(u, POST_CHAR))) *uu = 0;
+ msg_box(term, getml(u, NULL), TEXT_(T_DECOMPRESSION_ERROR), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_ERROR_DECOMPRESSING_), u, TEXT_(T__wITH_), lib, ": ", msg, NULL, NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+}
+
+#endif
+
+#ifdef HAVE_ZLIB
+#include <zlib.h>
+static int decode_gzip(struct terminal *term, struct cache_entry *ce, unsigned char **p_start, size_t *p_len, int defl, int *errp)
+{
+ unsigned char err;
+ unsigned char memory_error;
+ unsigned char skip_gzip_header;
+ unsigned char old_zlib;
+ z_stream z;
+ off_t offset;
+ size_t header;
+ int r;
+ unsigned char *p;
+ struct fragment *f;
+ size_t size;
+
+ retry_after_memory_error:
+ memory_error = 0;
+ header = 0;
+ decoder_memory_init(&p, &size, ce->length);
+ init_again:
+ err = 0;
+ skip_gzip_header = 0;
+ old_zlib = 0;
+ memset(&z, 0, sizeof z);
+ z.next_in = NULL;
+ z.avail_in = 0;
+ z.next_out = p;
+ z.avail_out = size;
+ z.zalloc = NULL;
+ z.zfree = NULL;
+ z.opaque = NULL;
+ r = inflateInit2(&z, defl == 1 ? 15 : defl == 2 ? -15 : 15 + 16);
+ init_failed:
+ switch (r) {
+ case Z_OK: break;
+ case Z_MEM_ERROR: memory_error = 1;
+ err = 1;
+ goto after_inflateend;
+ case Z_STREAM_ERROR:
+ if (!defl && !old_zlib) {
+ if (defrag_entry(ce)) {
+ memory_error = 1;
+ err = 1;
+ goto after_inflateend;
+ }
+ r = inflateInit2(&z, -15);
+ skip_gzip_header = 1;
+ old_zlib = 1;
+ goto init_failed;
+ }
+ decompress_error(term, ce, "zlib", z.msg ? (unsigned char *)z.msg : (unsigned char *)"Invalid parameter", errp);
+ err = 1;
+ goto after_inflateend;
+ case Z_VERSION_ERROR: decompress_error(term, ce, "zlib", z.msg ? (unsigned char *)z.msg : (unsigned char *)"Bad zlib version", errp);
+ err = 1;
+ goto after_inflateend;
+ default: decompress_error(term, ce, "zlib", z.msg ? (unsigned char *)z.msg : (unsigned char *)"Unknown return value on inflateInit2", errp);
+ err = 1;
+ goto after_inflateend;
+ }
+ offset = 0;
+ foreach(f, ce->frag) {
+ if (f->offset != offset) break;
+ z.next_in = f->data;
+ z.avail_in = f->length;
+ if (header && !offset) {
+ z.next_in = (unsigned char *)z.next_in + header;
+ z.avail_in -= header;
+ }
+ repeat_frag:
+ if (skip_gzip_header == 2) {
+ if (z.avail_in < 8) goto finish;
+ z.next_in = (unsigned char *)z.next_in + 8;
+ z.avail_in -= 8;
+ skip_gzip_header = 1;
+ }
+ if (skip_gzip_header) {
+ /* if zlib is old, we have to skip gzip header manually
+ otherwise zlib 1.2.x can do it automatically */
+ unsigned char *head = z.next_in;
+ unsigned headlen = 10;
+ if (z.avail_in <= 11) goto finish;
+ if (head[0] != 0x1f || head[1] != 0x8b) {
+ decompress_error(term, ce, "zlib", TEXT_(T_COMPRESSED_ERROR), errp);
+ err = 1;
+ goto finish;
+ }
+ if (head[2] != 8 || head[3] & 0xe0) {
+ decompress_error(term, ce, "zlib", TEXT_(T_UNKNOWN_COMPRESSION_METHOD), errp);
+ err = 1;
+ goto finish;
+ }
+ if (head[3] & 0x04) {
+ headlen += 2 + head[10] + (head[11] << 8);
+ if (headlen >= z.avail_in) goto finish;
+ }
+ if (head[3] & 0x08) {
+ do {
+ headlen++;
+ if (headlen >= z.avail_in) goto finish;
+ } while (head[headlen - 1]);
+ }
+ if (head[3] & 0x10) {
+ do {
+ headlen++;
+ if (headlen >= z.avail_in) goto finish;
+ } while (head[headlen - 1]);
+ }
+ if (head[3] & 0x01) {
+ headlen += 2;
+ if (headlen >= z.avail_in) goto finish;
+ }
+ z.next_in = (unsigned char *)z.next_in + headlen;
+ z.avail_in -= headlen;
+ skip_gzip_header = 0;
+ }
+ r = inflate(&z, (void *)f->next == (void *)&ce->frag ? Z_SYNC_FLUSH : Z_NO_FLUSH);
+ switch (r) {
+ case Z_OK: break;
+ case Z_BUF_ERROR: break;
+ case Z_STREAM_END: r = inflateEnd(&z);
+ if (r != Z_OK) goto end_failed;
+ r = inflateInit2(&z, old_zlib ? -15 : defl ? 15 : 15 + 16);
+ if (r != Z_OK) {
+ old_zlib = 0;
+ goto init_failed;
+ }
+ if (old_zlib) {
+ skip_gzip_header = 2;
+ }
+ break;
+ case Z_NEED_DICT:
+ case Z_DATA_ERROR: if (defl == 1) {
+ defl = 2;
+ r = inflateEnd(&z);
+ if (r != Z_OK) goto end_failed;
+ goto init_again;
+ }
+ decompress_error(term, ce, "zlib", z.msg ? (unsigned char *)z.msg : TEXT_(T_COMPRESSED_ERROR), errp);
+ err = 1;
+ goto finish;
+ case Z_STREAM_ERROR: decompress_error(term, ce, "zlib", z.msg ? (unsigned char *)z.msg : (unsigned char *)"Internal error on inflate", errp);
+ err = 1;
+ goto finish;
+ case Z_MEM_ERROR:
+ mem_error: memory_error = 1;
+ err = 1;
+ goto finish;
+ default: decompress_error(term, ce, "zlib", z.msg ? (unsigned char *)z.msg : (unsigned char *)"Unknown return value on inflate", errp);
+ err = 1;
+ break;
+ }
+ if (!z.avail_out) {
+ size_t addsize;
+ if (decoder_memory_expand(&p, size, &addsize) < 0)
+ goto mem_error;
+ z.next_out = p + size;
+ z.avail_out = addsize;
+ size += addsize;
+ }
+ if (z.avail_in) goto repeat_frag;
+ /* In zlib 1.1.3, inflate(Z_SYNC_FLUSH) doesn't work.
+ The following line fixes it --- for last fragment, loop until
+ we get an eof. */
+ if (r == Z_OK && (void *)f->next == (void *)&ce->frag) goto repeat_frag;
+ offset += f->length;
+ }
+ finish:
+ r = inflateEnd(&z);
+ end_failed:
+ switch (r) {
+ case Z_OK: break;
+ case Z_STREAM_ERROR: decompress_error(term, ce, "zlib", z.msg ? (unsigned char *)z.msg : (unsigned char *)"Internal error on inflateEnd", errp);
+ err = 1;
+ break;
+ case Z_MEM_ERROR: memory_error = 1;
+ err = 1;
+ break;
+ default: decompress_error(term, ce, "zlib", z.msg ? (unsigned char *)z.msg : (unsigned char *)"Unknown return value on inflateEnd", errp);
+ err = 1;
+ break;
+ }
+ after_inflateend:
+ if (memory_error) {
+ mem_free(p);
+ if (out_of_memory(NULL, 0))
+ goto retry_after_memory_error;
+ decompress_error(term, ce, "zlib", z.msg ? (unsigned char *)z.msg : TEXT_(T_OUT_OF_MEMORY), errp);
+ return 1;
+ }
+ if (err && (unsigned char *)z.next_out == p) {
+ mem_free(p);
+ return 1;
+ }
+ *p_start = p;
+ *p_len = (unsigned char *)z.next_out - (unsigned char *)p;
+ *p_start = mem_realloc(*p_start, *p_len);
+ return 0;
+}
+#endif
+
+#ifdef HAVE_BZIP2
+#include <bzlib.h>
+static int decode_bzip2(struct terminal *term, struct cache_entry *ce, unsigned char **p_start, size_t *p_len, int *errp)
+{
+ unsigned char err;
+ unsigned char memory_error;
+ bz_stream z;
+ off_t offset;
+ int r;
+ unsigned char *p;
+ struct fragment *f;
+ size_t size;
+
+ retry_after_memory_error:
+ err = 0;
+ memory_error = 0;
+ decoder_memory_init(&p, &size, ce->length);
+ memset(&z, 0, sizeof z);
+ z.next_in = NULL;
+ z.avail_in = 0;
+ z.next_out = p;
+ z.avail_out = size;
+ z.bzalloc = NULL;
+ z.bzfree = NULL;
+ z.opaque = NULL;
+ r = BZ2_bzDecompressInit(&z, 0, 0);
+ init_failed:
+ switch (r) {
+ case BZ_OK: break;
+ case BZ_MEM_ERROR: memory_error = 1;
+ err = 1;
+ goto after_inflateend;
+ case BZ_PARAM_ERROR:
+ decompress_error(term, ce, "bzip2", "Invalid parameter", errp);
+ err = 1;
+ goto after_inflateend;
+ case BZ_CONFIG_ERROR: decompress_error(term, ce, "bzip2", "Bzlib is miscompiled", errp);
+ err = 1;
+ goto after_inflateend;
+ default: decompress_error(term, ce, "bzip2", "Unknown return value on BZ2_bzDecompressInit", errp);
+ err = 1;
+ goto after_inflateend;
+ }
+ offset = 0;
+ foreach(f, ce->frag) {
+ if (f->offset != offset) break;
+ z.next_in = f->data;
+ z.avail_in = f->length;
+ repeat_frag:
+ r = BZ2_bzDecompress(&z);
+ switch (r) {
+ case BZ_OK: break;
+ case BZ_STREAM_END:
+ r = BZ2_bzDecompressEnd(&z);
+ if (r != BZ_OK) goto end_failed;
+ r = BZ2_bzDecompressInit(&z, 0, 0);
+ if (r != BZ_OK) goto init_failed;
+ break;
+ case BZ_DATA_ERROR_MAGIC:
+ case BZ_DATA_ERROR: decompress_error(term, ce, "bzip2", TEXT_(T_COMPRESSED_ERROR), errp);
+ err = 1;
+ goto finish;
+ case BZ_PARAM_ERROR: decompress_error(term, ce, "bzip2", "Internal error on BZ2_bzDecompress", errp);
+ err = 1;
+ goto finish;
+ case BZ_MEM_ERROR:
+ mem_error: memory_error = 1;
+ err = 1;
+ goto finish;
+ default: decompress_error(term, ce, "bzip2", "Unknown return value on BZ2_bzDecompress", errp);
+ err = 1;
+ break;
+ }
+ if (!z.avail_out) {
+ size_t addsize;
+ if (decoder_memory_expand(&p, size, &addsize) < 0)
+ goto mem_error;
+ z.next_out = p + size;
+ z.avail_out = addsize;
+ size += addsize;
+ }
+ if (z.avail_in) goto repeat_frag;
+ offset += f->length;
+ }
+ finish:
+ r = BZ2_bzDecompressEnd(&z);
+ end_failed:
+ switch (r) {
+ case BZ_OK: break;
+ case BZ_PARAM_ERROR: decompress_error(term, ce, "bzip2", "Internal error on BZ2_bzDecompressEnd", errp);
+ err = 1;
+ break;
+ case BZ_MEM_ERROR: memory_error = 1;
+ err = 1;
+ break;
+ default: decompress_error(term, ce, "bzip2", "Unknown return value on BZ2_bzDecompressEnd", errp);
+ err = 1;
+ break;
+ }
+ after_inflateend:
+ if (memory_error) {
+ mem_free(p);
+ if (out_of_memory(NULL, 0))
+ goto retry_after_memory_error;
+ decompress_error(term, ce, "bzip2", TEXT_(T_OUT_OF_MEMORY), errp);
+ return 1;
+ }
+ if (err && (unsigned char *)z.next_out == p) {
+ mem_free(p);
+ return 1;
+ }
+ *p_start = p;
+ *p_len = (unsigned char *)z.next_out - (unsigned char *)p;
+ *p_start = mem_realloc(*p_start, *p_len);
+ return 0;
+}
+#endif
+
+#ifdef HAVE_LZMA
+#undef internal
+#include <lzma.h>
+#define internal internal_
+static int decode_lzma(struct terminal *term, struct cache_entry *ce, unsigned char **p_start, size_t *p_len, int *errp)
+{
+ unsigned char err;
+ unsigned char memory_error;
+ lzma_stream z = LZMA_STREAM_INIT;
+ off_t offset;
+ int r;
+ unsigned char *p;
+ struct fragment *f;
+ size_t size;
+
+ retry_after_memory_error:
+ err = 0;
+ memory_error = 0;
+ decoder_memory_init(&p, &size, ce->length);
+ z.next_in = NULL;
+ z.avail_in = 0;
+ z.next_out = p;
+ z.avail_out = size;
+ r = lzma_auto_decoder(&z, UINT64_MAX, 0);
+ init_failed:
+ switch (r) {
+ case LZMA_OK: break;
+ case LZMA_MEM_ERROR: memory_error = 1;
+ err = 1;
+ goto after_inflateend;
+ case LZMA_OPTIONS_ERROR:
+ decompress_error(term, ce, "lzma", "Invalid parameter", errp);
+ err = 1;
+ goto after_inflateend;
+ case LZMA_PROG_ERROR: decompress_error(term, ce, "lzma", "Lzma is miscompiled", errp);
+ err = 1;
+ goto after_inflateend;
+ default: decompress_error(term, ce, "lzma", "Unknown return value on lzma_auto_decoder", errp);
+ err = 1;
+ goto after_inflateend;
+ }
+ offset = 0;
+ foreach(f, ce->frag) {
+ if (f->offset != offset) break;
+ z.next_in = f->data;
+ z.avail_in = f->length;
+ repeat_frag:
+ r = lzma_code(&z, LZMA_RUN);
+ switch (r) {
+ case LZMA_OK:
+ case LZMA_NO_CHECK:
+ case LZMA_UNSUPPORTED_CHECK:
+ case LZMA_GET_CHECK:
+ break;
+ case LZMA_STREAM_END:
+ lzma_end(&z);
+ r = lzma_auto_decoder(&z, UINT64_MAX, 0);
+ if (r != LZMA_OK) goto init_failed;
+ break;
+ case LZMA_MEM_ERROR:
+ mem_error: memory_error = 1;
+ err = 1;
+ goto finish;
+ case LZMA_MEMLIMIT_ERROR:
+ decompress_error(term, ce, "lzma", "Memory limit was exceeded", errp);
+ err = 1;
+ goto finish;
+ case LZMA_FORMAT_ERROR:
+ case LZMA_DATA_ERROR:
+ case LZMA_BUF_ERROR:
+ decompress_error(term, ce, "lzma", TEXT_(T_COMPRESSED_ERROR), errp);
+ err = 1;
+ goto finish;
+ case LZMA_OPTIONS_ERROR:decompress_error(term, ce, "lzma", "File contains unsupported options", errp);
+ err = 1;
+ goto finish;
+ case LZMA_PROG_ERROR: decompress_error(term, ce, "lzma", "Lzma is miscompiled", errp);
+ err = 1;
+ goto finish;
+ default: decompress_error(term, ce, "lzma", "Unknown return value on lzma_code", errp);
+ err = 1;
+ break;
+ }
+ if (!z.avail_out) {
+ size_t addsize;
+ if (decoder_memory_expand(&p, size, &addsize) < 0)
+ goto mem_error;
+ z.next_out = p + size;
+ z.avail_out = addsize;
+ size += addsize;
+ }
+ if (z.avail_in) goto repeat_frag;
+ offset += f->length;
+ }
+ finish:
+ lzma_end(&z);
+ after_inflateend:
+ if (memory_error) {
+ mem_free(p);
+ if (out_of_memory(NULL, 0))
+ goto retry_after_memory_error;
+ decompress_error(term, ce, "lzma", TEXT_(T_OUT_OF_MEMORY), errp);
+ return 1;
+ }
+ if (err && (unsigned char *)z.next_out == p) {
+ mem_free(p);
+ return 1;
+ }
+ *p_start = p;
+ *p_len = (unsigned char *)z.next_out - (unsigned char *)p;
+ *p_start = mem_realloc(*p_start, *p_len);
+ return 0;
+}
+#endif
+
+int get_file_by_term(struct terminal *term, struct cache_entry *ce, unsigned char **start, unsigned char **end, int *errp)
+{
+ unsigned char *enc;
+ struct fragment *fr;
+ int e;
+ if (errp) *errp = 0;
+ *start = *end = NULL;
+ if (!ce) return 1;
+ if (ce->decompressed) {
+#if defined(HAVE_ANY_COMPRESSION)
+ return_decompressed:
+#endif
+ *start = ce->decompressed;
+ *end = ce->decompressed + ce->decompressed_len;
+ return 0;
+ }
+ enc = get_content_encoding(ce->head, ce->url);
+ if (enc) {
+#ifdef HAVE_ZLIB
+ if (!strcasecmp(enc, "gzip") || !strcasecmp(enc, "x-gzip") || !strcasecmp(enc, "deflate")) {
+ int defl = !strcasecmp(enc, "deflate");
+ mem_free(enc);
+ if (decode_gzip(term, ce, &ce->decompressed, &ce->decompressed_len, defl, errp)) goto uncompressed;
+ decompressed_cache_size += ce->decompressed_len;
+ goto return_decompressed;
+ }
+#endif
+#ifdef HAVE_BZIP2
+ if (!strcasecmp(enc, "bzip2")) {
+ mem_free(enc);
+ if (decode_bzip2(term, ce, &ce->decompressed, &ce->decompressed_len, errp)) goto uncompressed;
+ decompressed_cache_size += ce->decompressed_len;
+ goto return_decompressed;
+ }
+#endif
+#ifdef HAVE_LZMA
+ if (!strcasecmp(enc, "lzma") || !strcasecmp(enc, "lzma2")) {
+ mem_free(enc);
+ if (decode_lzma(term, ce, &ce->decompressed, &ce->decompressed_len, errp)) goto uncompressed;
+ decompressed_cache_size += ce->decompressed_len;
+ goto return_decompressed;
+ }
+#endif
+ mem_free(enc);
+ goto uncompressed;
+ }
+ uncompressed:
+ if ((e = defrag_entry(ce)) < 0) {
+ unsigned char *msg = get_err_msg(e);
+ if (display_error(term, TEXT_(T_ERROR), errp)) {
+ unsigned char *u = stracpy(ce->url), *uu;
+ if ((uu = strchr(u, POST_CHAR))) *uu = 0;
+ msg_box(term, getml(u, NULL), TEXT_(T_ERROR), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_ERROR_LOADING), " ", u, ":\n\n", msg, NULL, NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ }
+ }
+ fr = ce->frag.next;
+ if ((void *)fr == &ce->frag || fr->offset || !fr->length) return 1;
+ *start = fr->data, *end = fr->data + fr->length;
+ return 0;
+}
+
+int get_file(struct object_request *o, unsigned char **start, unsigned char **end)
+{
+ struct terminal *term;
+ *start = *end = NULL;
+ if (!o) return 1;
+ foreach(term, terminals) if (o->term == term->count) goto ok;
+ term = NULL;
+ ok:
+ return get_file_by_term(term, o->ce, start, end, NULL);
+}
+
+void free_decompressed_data(struct cache_entry *e)
+{
+ if (e->decompressed) {
+ if (decompressed_cache_size < e->decompressed_len)
+ internal("free_decompressed_data: decompressed_cache_size underflow %lu, %lu", decompressed_cache_size, (unsigned long)e->decompressed_len);
+ decompressed_cache_size -= e->decompressed_len;
+ mem_free(e->decompressed);
+ e->decompressed = NULL;
+ e->decompressed_len = 0;
+ }
+}
+
+#ifdef HAVE_ANY_COMPRESSION
+
+void add_compress_methods(unsigned char **s, int *l)
+{
+ int cl = 0;
+#ifdef HAVE_ZLIB
+ {
+ if (!cl) cl = 1; else add_to_str(s, l, ", ");
+ add_to_str(s, l, "ZLIB");
+#ifdef zlib_version
+ add_to_str(s, l, " (");
+ add_to_str(s, l, (unsigned char *)zlib_version);
+ add_to_str(s, l, ")");
+#endif
+ }
+#endif
+#ifdef HAVE_BZIP2
+ {
+ unsigned char *b = (unsigned char *)BZ2_bzlibVersion();
+ int bl = strcspn(b, ",");
+ if (!cl) cl = 1; else add_to_str(s, l, ", ");
+ add_to_str(s, l, "BZIP2");
+ add_to_str(s, l, " (");
+ add_bytes_to_str(s, l, b, bl);
+ add_to_str(s, l, ")");
+ }
+#endif
+#ifdef HAVE_LZMA
+ {
+ if (!cl) cl = 1; else add_to_str(s, l, ", ");
+ add_to_str(s, l, "LZMA");
+ add_to_str(s, l, " (");
+ add_to_str(s, l, (unsigned char *)lzma_version_string());
+ add_to_str(s, l, ")");
+ }
+#endif
+}
+
+#endif
diff --git a/config.guess b/config.guess
new file mode 100644
index 0000000..a940c19
--- /dev/null
+++ b/config.guess
@@ -0,0 +1,976 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
+#
+# This file 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.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Written by Per Bothner <bothner@cygnus.com>.
+# The master version of this file is at the FSF in /home/gd/gnu/lib.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit system type (host/target name).
+#
+# Only a few systems have been added to this list; please add others
+# (but try to keep the structure clean).
+#
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 8/24/94.)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+dummy=dummy-$$
+trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:OS/2:*:*)
+ echo "i386-pc-os2_emx"
+ exit 0;;
+ alpha:OSF1:*:*)
+ if test $UNAME_RELEASE = "V4.0"; then
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ fi
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ cat <<EOF >$dummy.s
+ .globl main
+ .ent main
+main:
+ .frame \$30,0,\$26,0
+ .prologue 0
+ .long 0x47e03d80 # implver $0
+ lda \$2,259
+ .long 0x47e20c21 # amask $2,$1
+ srl \$1,8,\$2
+ sll \$2,2,\$2
+ sll \$0,3,\$0
+ addl \$1,\$0,\$0
+ addl \$2,\$0,\$0
+ ret \$31,(\$26),1
+ .end main
+EOF
+ ${CC-cc} $dummy.s -o $dummy 2>/dev/null
+ if test "$?" = 0 ; then
+ ./$dummy
+ case "$?" in
+ 7)
+ UNAME_MACHINE="alpha"
+ ;;
+ 15)
+ UNAME_MACHINE="alphaev5"
+ ;;
+ 14)
+ UNAME_MACHINE="alphaev56"
+ ;;
+ 10)
+ UNAME_MACHINE="alphapca56"
+ ;;
+ 16)
+ UNAME_MACHINE="alphaev6"
+ ;;
+ esac
+ fi
+ rm -f $dummy.s $dummy
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
+ exit 0 ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit 0 ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-cbm-sysv4
+ exit 0;;
+ amiga:NetBSD:*:*)
+ echo m68k-cbm-netbsd${UNAME_RELEASE}
+ exit 0 ;;
+ amiga:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit 0 ;;
+ arc64:OpenBSD:*:*)
+ echo mips64el-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ arc:OpenBSD:*:*)
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ hkmips:OpenBSD:*:*)
+ echo mips-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ pmax:OpenBSD:*:*)
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ sgi:OpenBSD:*:*)
+ echo mips-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ wgrisc:OpenBSD:*:*)
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit 0;;
+ arm32:NetBSD:*:*)
+ echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ exit 0 ;;
+ SR2?01:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit 0;;
+ Pyramid*:OSx*:*:*|MIS*:OSx*:*:*|MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit 0 ;;
+ NILE:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit 0 ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ i86pc:SunOS:5.*:*)
+ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit 0 ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit 0 ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit 0 ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit 0 ;;
+ atari*:NetBSD:*:*)
+ echo m68k-atari-netbsd${UNAME_RELEASE}
+ exit 0 ;;
+ atari*:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ sun3*:NetBSD:*:*)
+ echo m68k-sun-netbsd${UNAME_RELEASE}
+ exit 0 ;;
+ sun3*:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mac68k:NetBSD:*:*)
+ echo m68k-apple-netbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mac68k:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mvme68k:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mvme88k:OpenBSD:*:*)
+ echo m88k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit 0 ;;
+ macppc:NetBSD:*:*)
+ echo powerpc-apple-netbsd${UNAME_RELEASE}
+ exit 0 ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit 0 ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit 0 ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit 0 ;;
+ 2020:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit 0 ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ sed 's/^ //' << EOF >$dummy.c
+ int main (argc, argv) int argc; char **argv; {
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ ${CC-cc} $dummy.c -o $dummy \
+ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+ && rm $dummy.c $dummy && exit 0
+ rm -f $dummy.c $dummy
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit 0 ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit 0 ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit 0 ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit 0 ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit 0 ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
+ -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit 0 ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit 0 ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit 0 ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit 0 ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit 0 ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit 0 ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i?86:AIX:*:*)
+ echo i386-ibm-aix
+ exit 0 ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ ${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
+ rm -f $dummy.c $dummy
+ echo rs6000-ibm-aix3.2.5
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit 0 ;;
+ *:AIX:*:4)
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=4.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit 0 ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit 0 ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit 0 ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit 0 ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit 0 ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit 0 ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit 0 ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit 0 ;;
+ 9000/[34678]??:HP-UX:*:*)
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/6?? | 9000/7?? | 9000/80[24] | 9000/8?[13679] | 9000/892 )
+ sed 's/^ //' << EOF >$dummy.c
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (${CC-cc} $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
+ rm -f $dummy.c $dummy
+ esac
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit 0 ;;
+ 3050*:HI-UX:*:*)
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ ${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
+ rm -f $dummy.c $dummy
+ echo unknown-hitachi-hiuxwe2
+ exit 0 ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit 0 ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit 0 ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit 0 ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit 0 ;;
+ i?86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit 0 ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit 0 ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit 0 ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit 0 ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit 0 ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit 0 ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit 0 ;;
+ CRAY*X-MP:*:*:*)
+ echo xmp-cray-unicos
+ exit 0 ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE}
+ exit 0 ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
+ exit 0 ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE}
+ exit 0 ;;
+ CRAY*T3E:*:*:*)
+ echo t3e-cray-unicosmk${UNAME_RELEASE}
+ exit 0 ;;
+ CRAY-2:*:*:*)
+ echo cray2-cray-unicos
+ exit 0 ;;
+ F300:UNIX_System_V:*:*)
+ FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit 0 ;;
+ F301:UNIX_System_V:*:*)
+ echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
+ exit 0 ;;
+ hp3[0-9][05]:NetBSD:*:*)
+ echo m68k-hp-netbsd${UNAME_RELEASE}
+ exit 0 ;;
+ hp300:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+ i?86:BSD/386:*:* | i?86:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+ *:FreeBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit 0 ;;
+ *:NetBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ exit 0 ;;
+ *:OpenBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ exit 0 ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit 0 ;;
+ i*:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit 0 ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit 0 ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ *:GNU:*:*)
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit 0 ;;
+ *:Linux:*:*)
+ # uname on the ARM produces all sorts of strangeness, and we need to
+ # filter it out.
+ case "$UNAME_MACHINE" in
+ arm* | sa110*) UNAME_MACHINE="arm" ;;
+ esac
+
+ # The BFD linker knows what the default object file format is, so
+ # first see if it will tell us.
+ ld_help_string=`ld --help 2>&1`
+ ld_supported_emulations=`echo $ld_help_string \
+ | sed -ne '/supported emulations:/!d
+ s/[ ][ ]*/ /g
+ s/.*supported emulations: *//
+ s/ .*//
+ p'`
+ case "$ld_supported_emulations" in
+ i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
+ i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
+ sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
+ armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
+ m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
+ elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
+ esac
+
+ if test "${UNAME_MACHINE}" = "alpha" ; then
+ sed 's/^ //' <<EOF >$dummy.s
+ .globl main
+ .ent main
+ main:
+ .frame \$30,0,\$26,0
+ .prologue 0
+ .long 0x47e03d80 # implver $0
+ lda \$2,259
+ .long 0x47e20c21 # amask $2,$1
+ srl \$1,8,\$2
+ sll \$2,2,\$2
+ sll \$0,3,\$0
+ addl \$1,\$0,\$0
+ addl \$2,\$0,\$0
+ ret \$31,(\$26),1
+ .end main
+EOF
+ LIBC=""
+ ${CC-cc} $dummy.s -o $dummy 2>/dev/null
+ if test "$?" = 0 ; then
+ ./$dummy
+ case "$?" in
+ 7)
+ UNAME_MACHINE="alpha"
+ ;;
+ 15)
+ UNAME_MACHINE="alphaev5"
+ ;;
+ 14)
+ UNAME_MACHINE="alphaev56"
+ ;;
+ 10)
+ UNAME_MACHINE="alphapca56"
+ ;;
+ 16)
+ UNAME_MACHINE="alphaev6"
+ ;;
+ esac
+
+ objdump --private-headers $dummy | \
+ grep ld.so.1 > /dev/null
+ if test "$?" = 0 ; then
+ LIBC="libc1"
+ fi
+ fi
+ rm -f $dummy.s $dummy
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
+ elif test "${UNAME_MACHINE}" = "mips" ; then
+ cat >$dummy.c <<EOF
+main(argc, argv)
+ int argc;
+ char *argv[];
+{
+#ifdef __MIPSEB__
+ printf ("%s-unknown-linux-gnu\n", argv[1]);
+#endif
+#ifdef __MIPSEL__
+ printf ("%sel-unknown-linux-gnu\n", argv[1]);
+#endif
+ return 0;
+}
+EOF
+ ${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
+ rm -f $dummy.c $dummy
+ else
+ # Either a pre-BFD a.out linker (linux-gnuoldld)
+ # or one that does not give us useful --help.
+ # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
+ # If ld does not provide *any* "supported emulations:"
+ # that means it is gnuoldld.
+ echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
+ test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
+
+ case "${UNAME_MACHINE}" in
+ i?86)
+ VENDOR=pc;
+ ;;
+ *)
+ VENDOR=unknown;
+ ;;
+ esac
+ # Determine whether the default compiler is a.out or elf
+ cat >$dummy.c <<EOF
+#include <features.h>
+main(argc, argv)
+ int argc;
+ char *argv[];
+{
+#ifdef __ELF__
+# ifdef __GLIBC__
+# if __GLIBC__ >= 2
+ printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
+# else
+ printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
+# endif
+# else
+ printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
+# endif
+#else
+ printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
+#endif
+ return 0;
+}
+EOF
+ ${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
+ rm -f $dummy.c $dummy
+ fi ;;
+# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
+# are messed up and put the nodename in both sysname and nodename.
+ i?86:DYNIX/ptx:4*:*)
+ echo i386-sequent-sysv4
+ exit 0 ;;
+ i?86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit 0 ;;
+ i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
+ fi
+ exit 0 ;;
+ i?86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit 0 ;;
+ i?86:UnixWare:*:*)
+ if /bin/uname -X 2>/dev/null >/dev/null ; then
+ (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ fi
+ echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION}
+ exit 0 ;;
+ pc:*:*:*)
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i386.
+ echo i386-pc-msdosdjgpp
+ exit 0 ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit 0 ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit 0 ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit 0 ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit 0 ;;
+ M68*:*:R3V[567]*:*)
+ test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+ 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && echo i486-ncr-sysv4 && exit 0 ;;
+ m68*:LynxOS:2.*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit 0 ;;
+ i?86:LynxOS:2.*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit 0 ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit 0 ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit 0 ;;
+ PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit 0 ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit 0 ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit 0 ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit 0 ;;
+ news*:NEWS-OS:*:6*)
+ echo mips-sony-newsos6
+ exit 0 ;;
+ R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit 0 ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit 0 ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit 0 ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit 0 ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit 0 ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit 0 ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit 0 ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit 0 ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+#if !defined (ultrix)
+ printf ("vax-dec-bsd\n"); exit (0);
+#else
+ printf ("vax-dec-ultrix\n"); exit (0);
+#endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
+rm -f $dummy.c $dummy
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit 0 ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit 0 ;;
+ c34*)
+ echo c34-convex-bsd
+ exit 0 ;;
+ c38*)
+ echo c38-convex-bsd
+ exit 0 ;;
+ c4*)
+ echo c4-convex-bsd
+ exit 0 ;;
+ esac
+fi
+
+#echo '(Unable to guess system type)' 1>&2
+
+exit 1
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 0000000..e5fceef
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,670 @@
+/* config.h.in. Generated automatically from configure.in by autoheader. */
+
+/* Define to empty if the keyword does not work. */
+#undef const
+
+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
+ This function is required for alloca.c support on those systems. */
+#undef CRAY_STACKSEG_END
+
+/* Define to the type of elements in the array set by `getgroups'.
+ Usually this is either `int' or `gid_t'. */
+#undef GETGROUPS_T
+
+/* Define if the `getloadavg' function needs to be run setuid or setgid. */
+#undef GETLOADAVG_PRIVILEGED
+
+/* Define if the `getpgrp' function takes no argument. */
+#undef GETPGRP_VOID
+
+/* Define if you don't have vprintf but do have _doprnt. */
+#undef HAVE_DOPRNT
+
+/* Define if you have the strftime function. */
+#undef HAVE_STRFTIME
+
+/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
+#undef HAVE_SYS_WAIT_H
+
+/* Define if you have the vprintf function. */
+#undef HAVE_VPRINTF
+
+/* Define as __inline if that's what the C compiler calls it. */
+#undef inline
+
+/* Define as the return type of signal handlers (int or void). */
+#undef RETSIGTYPE
+
+/* Define to `unsigned' if <sys/types.h> doesn't define. */
+#undef size_t
+
+/* Define if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Define if your <sys/time.h> declares struct tm. */
+#undef TM_IN_SYS_TIME
+
+/* The number of bytes in a unsigned. */
+#undef SIZEOF_UNSIGNED
+
+/* The number of bytes in a unsigned long. */
+#undef SIZEOF_UNSIGNED_LONG
+
+/* The number of bytes in a unsigned long long. */
+#undef SIZEOF_UNSIGNED_LONG_LONG
+
+/* The number of bytes in a unsigned short. */
+#undef SIZEOF_UNSIGNED_SHORT
+
+/* Define if you have the DirectFBInit function. */
+#undef HAVE_DIRECTFBINIT
+
+/* Define if you have the Gpm_GetLibVersion function. */
+#undef HAVE_GPM_GETLIBVERSION
+
+/* Define if you have the MouOpen function. */
+#undef HAVE_MOUOPEN
+
+/* Define if you have the XCloseIM function. */
+#undef HAVE_XCLOSEIM
+
+/* Define if you have the XCreateIC function. */
+#undef HAVE_XCREATEIC
+
+/* Define if you have the XDestroyIC function. */
+#undef HAVE_XDESTROYIC
+
+/* Define if you have the XOpenDisplay function. */
+#undef HAVE_XOPENDISPLAY
+
+/* Define if you have the XOpenIM function. */
+#undef HAVE_XOPENIM
+
+/* Define if you have the XSupportsLocale function. */
+#undef HAVE_XSUPPORTSLOCALE
+
+/* Define if you have the XmbTextListToTextProperty function. */
+#undef HAVE_XMBTEXTLISTTOTEXTPROPERTY
+
+/* Define if you have the Xutf8LookupString function. */
+#undef HAVE_XUTF8LOOKUPSTRING
+
+/* Define if you have the XwcLookupString function. */
+#undef HAVE_XWCLOOKUPSTRING
+
+/* Define if you have the _heapmin function. */
+#undef HAVE__HEAPMIN
+
+/* Define if you have the _read_kbd function. */
+#undef HAVE__READ_KBD
+
+/* Define if you have the _ucreate function. */
+#undef HAVE__UCREATE
+
+/* Define if you have the _udefault function. */
+#undef HAVE__UDEFAULT
+
+/* Define if you have the _udestroy function. */
+#undef HAVE__UDESTROY
+
+/* Define if you have the _uopen function. */
+#undef HAVE__UOPEN
+
+/* Define if you have the calloc function. */
+#undef HAVE_CALLOC
+
+/* Define if you have the cfmakeraw function. */
+#undef HAVE_CFMAKERAW
+
+/* Define if you have the chmod function. */
+#undef HAVE_CHMOD
+
+/* Define if you have the cygwin_conv_path function. */
+#undef HAVE_CYGWIN_CONV_PATH
+
+/* Define if you have the cygwin_conv_to_full_win32_path function. */
+#undef HAVE_CYGWIN_CONV_TO_FULL_WIN32_PATH
+
+/* Define if you have the dhcp_option function. */
+#undef HAVE_DHCP_OPTION
+
+/* Define if you have the getgrgid function. */
+#undef HAVE_GETGRGID
+
+/* Define if you have the gethostbyaddr function. */
+#undef HAVE_GETHOSTBYADDR
+
+/* Define if you have the getpagesize function. */
+#undef HAVE_GETPAGESIZE
+
+/* Define if you have the getpid function. */
+#undef HAVE_GETPID
+
+/* Define if you have the getpwuid function. */
+#undef HAVE_GETPWUID
+
+/* Define if you have the getrlimit function. */
+#undef HAVE_GETRLIMIT
+
+/* Define if you have the gettimeofday function. */
+#undef HAVE_GETTIMEOFDAY
+
+/* Define if you have the herror function. */
+#undef HAVE_HERROR
+
+/* Define if you have the mkdir function. */
+#undef HAVE_MKDIR
+
+/* Define if you have the nl_langinfo function. */
+#undef HAVE_NL_LANGINFO
+
+/* Define if you have the png_create_info_struct function. */
+#undef HAVE_PNG_CREATE_INFO_STRUCT
+
+/* Define if you have the png_get_bit_depth function. */
+#undef HAVE_PNG_GET_BIT_DEPTH
+
+/* Define if you have the png_get_color_type function. */
+#undef HAVE_PNG_GET_COLOR_TYPE
+
+/* Define if you have the png_get_gAMA function. */
+#undef HAVE_PNG_GET_GAMA
+
+/* Define if you have the png_get_image_height function. */
+#undef HAVE_PNG_GET_IMAGE_HEIGHT
+
+/* Define if you have the png_get_image_width function. */
+#undef HAVE_PNG_GET_IMAGE_WIDTH
+
+/* Define if you have the png_get_libpng_ver function. */
+#undef HAVE_PNG_GET_LIBPNG_VER
+
+/* Define if you have the png_get_sRGB function. */
+#undef HAVE_PNG_GET_SRGB
+
+/* Define if you have the png_get_valid function. */
+#undef HAVE_PNG_GET_VALID
+
+/* Define if you have the png_set_rgb_to_gray function. */
+#undef HAVE_PNG_SET_RGB_TO_GRAY
+
+/* Define if you have the png_set_strip_alpha function. */
+#undef HAVE_PNG_SET_STRIP_ALPHA
+
+/* Define if you have the popen function. */
+#undef HAVE_POPEN
+
+/* Define if you have the raise function. */
+#undef HAVE_RAISE
+
+/* Define if you have the resume_thread function. */
+#undef HAVE_RESUME_THREAD
+
+/* Define if you have the select function. */
+#undef HAVE_SELECT
+
+/* Define if you have the setlocale function. */
+#undef HAVE_SETLOCALE
+
+/* Define if you have the setpgid function. */
+#undef HAVE_SETPGID
+
+/* Define if you have the setrlimit function. */
+#undef HAVE_SETRLIMIT
+
+/* Define if you have the sigdelset function. */
+#undef HAVE_SIGDELSET
+
+/* Define if you have the sigfillset function. */
+#undef HAVE_SIGFILLSET
+
+/* Define if you have the snprintf function. */
+#undef HAVE_SNPRINTF
+
+/* Define if you have the spawn_thread function. */
+#undef HAVE_SPAWN_THREAD
+
+/* Define if you have the strptime function. */
+#undef HAVE_STRPTIME
+
+/* Define if you have the strtol function. */
+#undef HAVE_STRTOL
+
+/* Define if you have the strtoll function. */
+#undef HAVE_STRTOLL
+
+/* Define if you have the strtoq function. */
+#undef HAVE_STRTOQ
+
+/* Define if you have the strtoul function. */
+#undef HAVE_STRTOUL
+
+/* Define if you have the tempnam function. */
+#undef HAVE_TEMPNAM
+
+/* Define if you have the uname function. */
+#undef HAVE_UNAME
+
+/* Define if you have the unixpath2win function. */
+#undef HAVE_UNIXPATH2WIN
+
+/* Define if you have the uwin_path function. */
+#undef HAVE_UWIN_PATH
+
+/* Define if you have the winpath2unix function. */
+#undef HAVE_WINPATH2UNIX
+
+/* Define if you have the <X11/X.h> header file. */
+#undef HAVE_X11_X_H
+
+/* Define if you have the <X11/Xatom.h> header file. */
+#undef HAVE_X11_XATOM_H
+
+/* Define if you have the <X11/Xlib.h> header file. */
+#undef HAVE_X11_XLIB_H
+
+/* Define if you have the <X11/Xlocale.h> header file. */
+#undef HAVE_X11_XLOCALE_H
+
+/* Define if you have the <X11/Xutil.h> header file. */
+#undef HAVE_X11_XUTIL_H
+
+/* Define if you have the <X11/keysymdef.h> header file. */
+#undef HAVE_X11_KEYSYMDEF_H
+
+/* Define if you have the <alloca.h> header file. */
+#undef HAVE_ALLOCA_H
+
+/* Define if you have the <arpa/inet.h> header file. */
+#undef HAVE_ARPA_INET_H
+
+/* Define if you have the <atheos/threads.h> header file. */
+#undef HAVE_ATHEOS_THREADS_H
+
+/* Define if you have the <bzlib.h> header file. */
+#undef HAVE_BZLIB_H
+
+/* Define if you have the <cygwin/process.h> header file. */
+#undef HAVE_CYGWIN_PROCESS_H
+
+/* Define if you have the <directfb.h> header file. */
+#undef HAVE_DIRECTFB_H
+
+/* Define if you have the <dirent.h> header file. */
+#undef HAVE_DIRENT_H
+
+/* Define if you have the <endian.h> header file. */
+#undef HAVE_ENDIAN_H
+
+/* Define if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define if you have the <gpm.h> header file. */
+#undef HAVE_GPM_H
+
+/* Define if you have the <grp.h> header file. */
+#undef HAVE_GRP_H
+
+/* Define if you have the <gui/bitmap.h> header file. */
+#undef HAVE_GUI_BITMAP_H
+
+/* Define if you have the <gui/desktop.h> header file. */
+#undef HAVE_GUI_DESKTOP_H
+
+/* Define if you have the <gui/view.h> header file. */
+#undef HAVE_GUI_VIEW_H
+
+/* Define if you have the <gui/window.h> header file. */
+#undef HAVE_GUI_WINDOW_H
+
+/* Define if you have the <ieee.h> header file. */
+#undef HAVE_IEEE_H
+
+/* Define if you have the <interix/interix.h> header file. */
+#undef HAVE_INTERIX_INTERIX_H
+
+/* Define if you have the <io.h> header file. */
+#undef HAVE_IO_H
+
+/* Define if you have the <jpeglib.h> header file. */
+#undef HAVE_JPEGLIB_H
+
+/* Define if you have the <langinfo.h> header file. */
+#undef HAVE_LANGINFO_H
+
+/* Define if you have the <libpng/png.h> header file. */
+#undef HAVE_LIBPNG_PNG_H
+
+/* Define if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* Define if you have the <linux/fb.h> header file. */
+#undef HAVE_LINUX_FB_H
+
+/* Define if you have the <linux/kd.h> header file. */
+#undef HAVE_LINUX_KD_H
+
+/* Define if you have the <linux/vt.h> header file. */
+#undef HAVE_LINUX_VT_H
+
+/* Define if you have the <lzma.h> header file. */
+#undef HAVE_LZMA_H
+
+/* Define if you have the <malloc.h> header file. */
+#undef HAVE_MALLOC_H
+
+/* Define if you have the <math.h> header file. */
+#undef HAVE_MATH_H
+
+/* Define if you have the <ndir.h> header file. */
+#undef HAVE_NDIR_H
+
+/* Define if you have the <net/socket.h> header file. */
+#undef HAVE_NET_SOCKET_H
+
+/* Define if you have the <netinet/dhcp.h> header file. */
+#undef HAVE_NETINET_DHCP_H
+
+/* Define if you have the <netinet/in_system.h> header file. */
+#undef HAVE_NETINET_IN_SYSTEM_H
+
+/* Define if you have the <netinet/in_systm.h> header file. */
+#undef HAVE_NETINET_IN_SYSTM_H
+
+/* Define if you have the <netinet/ip.h> header file. */
+#undef HAVE_NETINET_IP_H
+
+/* Define if you have the <png.h> header file. */
+#undef HAVE_PNG_H
+
+/* Define if you have the <process.h> header file. */
+#undef HAVE_PROCESS_H
+
+/* Define if you have the <pwd.h> header file. */
+#undef HAVE_PWD_H
+
+/* Define if you have the <setjmp.h> header file. */
+#undef HAVE_SETJMP_H
+
+/* Define if you have the <sigaction.h> header file. */
+#undef HAVE_SIGACTION_H
+
+/* Define if you have the <sys/cygwin.h> header file. */
+#undef HAVE_SYS_CYGWIN_H
+
+/* Define if you have the <sys/dir.h> header file. */
+#undef HAVE_SYS_DIR_H
+
+/* Define if you have the <sys/fmutex.h> header file. */
+#undef HAVE_SYS_FMUTEX_H
+
+/* Define if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define if you have the <sys/mman.h> header file. */
+#undef HAVE_SYS_MMAN_H
+
+/* Define if you have the <sys/ndir.h> header file. */
+#undef HAVE_SYS_NDIR_H
+
+/* Define if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
+
+/* Define if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define if you have the <sys/un.h> header file. */
+#undef HAVE_SYS_UN_H
+
+/* Define if you have the <sys/utsname.h> header file. */
+#undef HAVE_SYS_UTSNAME_H
+
+/* Define if you have the <tiffio.h> header file. */
+#undef HAVE_TIFFIO_H
+
+/* Define if you have the <time.h> header file. */
+#undef HAVE_TIME_H
+
+/* Define if you have the <umalloc.h> header file. */
+#undef HAVE_UMALLOC_H
+
+/* Define if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define if you have the <util/application.h> header file. */
+#undef HAVE_UTIL_APPLICATION_H
+
+/* Define if you have the <util/locker.h> header file. */
+#undef HAVE_UTIL_LOCKER_H
+
+/* Define if you have the <uwin.h> header file. */
+#undef HAVE_UWIN_H
+
+/* Define if you have the <values.h> header file. */
+#undef HAVE_VALUES_H
+
+/* Define if you have the <zlib.h> header file. */
+#undef HAVE_ZLIB_H
+
+/* Define if you have the Xau library (-lXau). */
+#undef HAVE_LIBXAU
+
+/* Define if you have the Xdmcp library (-lXdmcp). */
+#undef HAVE_LIBXDMCP
+
+/* Define if you have the atheos library (-latheos). */
+#undef HAVE_LIBATHEOS
+
+/* Define if you have the bz2 library (-lbz2). */
+#undef HAVE_LIBBZ2
+
+/* Define if you have the dl library (-ldl). */
+#undef HAVE_LIBDL
+
+/* Define if you have the gpm library (-lgpm). */
+#undef HAVE_LIBGPM
+
+/* Define if you have the jbig library (-ljbig). */
+#undef HAVE_LIBJBIG
+
+/* Define if you have the jpeg library (-ljpeg). */
+#undef HAVE_LIBJPEG
+
+/* Define if you have the lzma library (-llzma). */
+#undef HAVE_LIBLZMA
+
+/* Define if you have the m library (-lm). */
+#undef HAVE_LIBM
+
+/* Define if you have the network library (-lnetwork). */
+#undef HAVE_LIBNETWORK
+
+/* Define if you have the nsl library (-lnsl). */
+#undef HAVE_LIBNSL
+
+/* Define if you have the png library (-lpng). */
+#undef HAVE_LIBPNG
+
+/* Define if you have the pthread library (-lpthread). */
+#undef HAVE_LIBPTHREAD
+
+/* Define if you have the socket library (-lsocket). */
+#undef HAVE_LIBSOCKET
+
+/* Define if you have the stdc++ library (-lstdc++). */
+#undef HAVE_LIBSTDC__
+
+/* Define if you have the syllable library (-lsyllable). */
+#undef HAVE_LIBSYLLABLE
+
+/* Define if you have the tiff library (-ltiff). */
+#undef HAVE_LIBTIFF
+
+/* Define if you have the x86 library (-lx86). */
+#undef HAVE_LIBX86
+
+/* Define if you have the xcb library (-lxcb). */
+#undef HAVE_LIBXCB
+
+/* Define if you have the xcb-xlib library (-lxcb-xlib). */
+#undef HAVE_LIBXCB_XLIB
+
+/* Define if you have the z library (-lz). */
+#undef HAVE_LIBZ
+
+/* Name of package */
+#undef PACKAGE
+
+/* Version number of package */
+#undef VERSION
+
+
+/* */
+#undef VERSION
+
+/* */
+#undef HAVE_TYPEOF
+
+/* */
+#undef HAVE_LONG_LONG
+
+/* */
+#undef HAVE_POINTER_COMPARISON_BUG
+
+/* */
+#undef HAVE_MAXINT_CONVERSION_BUG
+
+/* */
+#undef HAVE_SOCKLEN_T
+
+/* */
+#undef C_BIG_ENDIAN
+
+/* */
+#undef C_LITTLE_ENDIAN
+
+/* */
+#undef RENAME_OVER_EXISTING_FILES
+
+/* */
+#undef HAVE_STRLEN
+
+/* */
+#undef HAVE_STRCPY
+
+/* */
+#undef HAVE_STRCHR
+
+/* */
+#undef HAVE_STRRCHR
+
+/* */
+#undef HAVE_STRCMP
+
+/* */
+#undef HAVE_STRNCMP
+
+/* */
+#undef HAVE_STRCSPN
+
+/* */
+#undef HAVE_STRSTR
+
+/* */
+#undef HAVE_MEMMOVE
+
+/* */
+#undef HAVE_STRERROR
+
+/* */
+#undef HAVE_SIGSETJMP
+
+/* */
+#undef HAVE_GETHOSTBYNAME
+
+/* */
+#undef HAVE_GETHOSTBYNAME_BUG
+
+/* */
+#undef DEBUGLEVEL
+
+/* */
+#undef JS
+
+/* */
+#undef CHCEME_FLEXI_LIBU
+
+/* */
+#undef HAVE_PCRE
+
+/* */
+#undef HAVE_REGEX
+
+/* */
+#undef ENABLE_UTF8
+
+/* */
+#undef HAVE_BEGINTHREAD
+
+/* */
+#undef HAVE_PTHREADS
+
+/* */
+#undef X2
+
+/* */
+#undef HAVE_SSL
+
+/* */
+#undef HAVE_OPENSSL
+
+/* */
+#undef HAVE_NSS
+
+/* */
+#undef HAVE_ZLIB
+
+/* */
+#undef HAVE_BZIP2
+
+/* */
+#undef HAVE_LZMA
+
+/* */
+#undef G
+
+/* */
+#undef GRDRV_SVGALIB
+
+/* */
+#undef GRDRV_FB
+
+/* */
+#undef GRDRV_DIRECTFB
+
+/* */
+#undef GRDRV_X
+
+/* */
+#undef GRDRV_SDL
+
+/* */
+#undef GRDRV_PMSHELL
+
+/* */
+#undef GRDRV_ATHEOS
+
+/* */
+#undef DONT_INCLUDE_SETJMP
+
+/* Jpeg by Clock */
+#undef HAVE_JPEG
+
+/* Tiff by Brain */
+#undef HAVE_TIFF
diff --git a/config.sub b/config.sub
new file mode 100644
index 0000000..c7e43f3
--- /dev/null
+++ b/config.sub
@@ -0,0 +1,958 @@
+#! /bin/sh
+# Configuration validation subroutine script, version 1.1.
+# Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file 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.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+if [ x$1 = x ]
+then
+ echo Configuration name missing. 1>&2
+ echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
+ echo "or $0 ALIAS" 1>&2
+ echo where ALIAS is a recognized configuration type. 1>&2
+ exit 1
+fi
+
+# First pass through any local machine types.
+case $1 in
+ *local*)
+ echo $1
+ exit 0
+ ;;
+ *)
+ ;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ linux-gnu*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple)
+ os=
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco5)
+ os=sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
+ | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
+ | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 \
+ | alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
+ | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
+ | mips64 | mipsel | mips64el | mips64orion | mips64orionel \
+ | mipstx39 | mipstx39el \
+ | sparc | sparclet | sparclite | sparc64 | v850)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i[34567]86)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
+ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
+ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
+ | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
+ | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \
+ | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
+ | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
+ | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
+ | sparc64-* | mips64-* | mipsel-* \
+ | mips64el-* | mips64orion-* | mips64orionel-* \
+ | mipstx39-* | mipstx39el-* \
+ | f301-*)
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-cbm
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-cbm
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-cbm
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ cray2)
+ basic_machine=cray2-cray
+ os=-unicos
+ ;;
+ [ctj]90-cray)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i[34567]86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i[34567]86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i[34567]86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i[34567]86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ mipsel*-linux*)
+ basic_machine=mipsel-unknown
+ os=-linux-gnu
+ ;;
+ mips*-linux*)
+ basic_machine=mips-unknown
+ os=-linux-gnu
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pentium | p5 | k5 | nexen)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | k6 | 6x86)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | nexen-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | k6-* | 6x86-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=rs6000-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ xmp)
+ basic_machine=xmp-cray
+ os=-unicos
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ mips)
+ if [ x$os = x-linux-gnu ]; then
+ basic_machine=mips-unknown
+ else
+ basic_machine=mips-mips
+ fi
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sparc)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ -os2_emx)
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
+ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -rhapsody* \
+ | -openstep*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f301-fujitsu)
+ os=-uxpv
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -aix*)
+ vendor=ibm
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -vxsim* | -vxworks*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
diff --git a/configure b/configure
new file mode 100755
index 0000000..2be8026
--- /dev/null
+++ b/configure
@@ -0,0 +1,11633 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-debuglevel set internal checking level
+ -1 - recover from segmentation faults
+ 0 - no checks (fastest)
+ 1 - check memory leaks
+ 2 - check memory leaks, red zone
+ 3 - check memory leaks, red zone, pattern filling"
+ac_help="$ac_help
+ --enable-graphics use graphics"
+ac_help="$ac_help
+ --disable-utf8 disable UTF-8 terminal (saves memory)"
+ac_help="$ac_help
+ --without-gpm compile without gpm mouse"
+ac_help="$ac_help
+ --with-ssl(=directory) enable SSL support
+ --with-ssl=nss enable SSL support through NSS OpenSSL emulation"
+ac_help="$ac_help
+ --disable-ssl-pkgconfig don't use pkgconfig when searching for openssl"
+ac_help="$ac_help
+ --without-zlib compile without zlib compression"
+ac_help="$ac_help
+ --without-bzip2 compile without bzip2 compression"
+ac_help="$ac_help
+ --without-lzma compile without lzma compression"
+ac_help="$ac_help
+ --without-svgalib compile without svgalib graphics driver"
+ac_help="$ac_help
+ --without-x compile without X Window System graphics driver"
+ac_help="$ac_help
+ --without-fb compile without Linux Framebuffer graphics driver"
+ac_help="$ac_help
+ --without-directfb compile without DirectFB graphics driver"
+ac_help="$ac_help
+ --without-pmshell compile without PMShell graphics driver"
+ac_help="$ac_help
+ --without-atheos compile without Atheos graphics driver"
+ac_help="$ac_help
+ --with-x use the X Window System"
+ac_help="$ac_help
+ --disable-png-pkgconfig don't use pkgconfig when searching for libpng"
+ac_help="$ac_help
+ --without-libjpeg compile without JPEG support"
+ac_help="$ac_help
+ --without-libtiff compile without TIFF support"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=main.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:601: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:654: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:711: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+PACKAGE=links
+
+VERSION=2.6
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:757: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:770: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:783: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:796: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:809: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+ACLOCAL="./missing aclocal"
+AUTOCONF="./missing autoconf"
+AUTOMAKE="./missing automake"
+AUTOHEADER="./missing autoheader"
+image_formats="GIF PNG XBM"
+
+
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:836: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:866: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test -z "$CC"; then
+ case "`uname -s`" in
+ *win32* | *WIN32*)
+ # Extract the first word of "cl", so it can be a program name with args.
+set dummy cl; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:917: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="cl"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+ ;;
+ esac
+ fi
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:949: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext << EOF
+
+#line 960 "configure"
+#include "confdefs.h"
+
+main(){return(0);}
+EOF
+if { (eval echo configure:965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ ac_cv_prog_cc_works=yes
+ # If we can't run a trivial program, we are probably using a cross compiler.
+ if (./conftest; exit) 2>/dev/null; then
+ ac_cv_prog_cc_cross=no
+ else
+ ac_cv_prog_cc_cross=yes
+ fi
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_cv_prog_cc_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+if test $ac_cv_prog_cc_works = no; then
+ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:991: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:996: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1005: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+
+ac_test_CFLAGS="${CFLAGS+set}"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS=
+echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1024: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+
+
+#AC_PROG_CXX
+#AC_PROG_AWK
+#AM_PROG_LEX
+#AC_PROG_YACC
+
+static_link=0
+if test -n "`echo "$CC" "$LDFLAGS" "$CFLAGS" "$LIBS" | grep 'static\>'`"; then
+ static_link=1
+fi
+
+if test -n "`uname|grep -i bsd`"; then
+ CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+ LDFLAGS="$LDFLAGS -L/usr/local/lib"
+fi
+
+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+echo "configure:1072: checking how to run the C preprocessor" >&5
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ # This must be in double quotes, not single quotes, because CPP may get
+ # substituted into the Makefile and "${CC-cc}" will confuse make.
+ CPP="${CC-cc} -E"
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp.
+ cat > conftest.$ac_ext <<EOF
+#line 1087 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1093: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP="${CC-cc} -E -traditional-cpp"
+ cat > conftest.$ac_ext <<EOF
+#line 1104 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1110: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP="${CC-cc} -nologo -E"
+ cat > conftest.$ac_ext <<EOF
+#line 1121 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1127: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP=/lib/cpp
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+ ac_cv_prog_CPP="$CPP"
+fi
+ CPP="$ac_cv_prog_CPP"
+else
+ ac_cv_prog_CPP="$CPP"
+fi
+echo "$ac_t""$CPP" 1>&6
+
+echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+echo "configure:1152: checking for ANSI C header files" >&5
+if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1157 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1165: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ ac_cv_header_stdc=yes
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+cat > conftest.$ac_ext <<EOF
+#line 1182 "configure"
+#include "confdefs.h"
+#include <string.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "memchr" >/dev/null 2>&1; then
+ :
+else
+ rm -rf conftest*
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+cat > conftest.$ac_ext <<EOF
+#line 1200 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "free" >/dev/null 2>&1; then
+ :
+else
+ rm -rf conftest*
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+if test "$cross_compiling" = yes; then
+ :
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1221 "configure"
+#include "confdefs.h"
+#include <ctype.h>
+#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int main () { int i; for (i = 0; i < 256; i++)
+if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
+exit (0); }
+
+EOF
+if { (eval echo configure:1232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ :
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_header_stdc=no
+fi
+rm -fr conftest*
+fi
+
+fi
+fi
+
+echo "$ac_t""$ac_cv_header_stdc" 1>&6
+if test $ac_cv_header_stdc = yes; then
+ cat >> confdefs.h <<\EOF
+#define STDC_HEADERS 1
+EOF
+
+fi
+
+if test $ac_cv_prog_gcc = yes; then
+ echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
+echo "configure:1257: checking whether ${CC-cc} needs -traditional" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_pattern="Autoconf.*'x'"
+ cat > conftest.$ac_ext <<EOF
+#line 1263 "configure"
+#include "confdefs.h"
+#include <sgtty.h>
+Autoconf TIOCGETP
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "$ac_pattern" >/dev/null 2>&1; then
+ rm -rf conftest*
+ ac_cv_prog_gcc_traditional=yes
+else
+ rm -rf conftest*
+ ac_cv_prog_gcc_traditional=no
+fi
+rm -f conftest*
+
+
+ if test $ac_cv_prog_gcc_traditional = no; then
+ cat > conftest.$ac_ext <<EOF
+#line 1281 "configure"
+#include "confdefs.h"
+#include <termio.h>
+Autoconf TCGETA
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "$ac_pattern" >/dev/null 2>&1; then
+ rm -rf conftest*
+ ac_cv_prog_gcc_traditional=yes
+fi
+rm -f conftest*
+
+ fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6
+ if test $ac_cv_prog_gcc_traditional = yes; then
+ CC="$CC -traditional"
+ fi
+fi
+
+
+
+echo $ac_n "checking for EMX""... $ac_c" 1>&6
+echo "configure:1305: checking for EMX" >&5
+if eval "test \"`echo '$''{'ac_cv_have_emx'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1310 "configure"
+#include "confdefs.h"
+
+int main() {
+#ifndef __EMX__
+ kill me!
+ #endif
+; return 0; }
+EOF
+if { (eval echo configure:1319: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_have_emx=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_emx=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_emx" 1>&6
+test "$ac_cv_have_emx" = yes && LDFLAGS="`echo "$LDFLAGS" | sed "s/-Zexe//g" | sed "s/-Zbin-files//g"`"
+test "$ac_cv_have_emx" = yes && test "$static_link" = 0 && LDFLAGS="$LDFLAGS -Zcrtdll"
+
+echo $ac_n "checking for OpenWatcom""... $ac_c" 1>&6
+echo "configure:1337: checking for OpenWatcom" >&5
+if eval "test \"`echo '$''{'ac_cv_have_watcom'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1342 "configure"
+#include "confdefs.h"
+
+int main() {
+#ifndef __WATCOMC__
+ kill me!
+ #endif
+; return 0; }
+EOF
+if { (eval echo configure:1351: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_have_watcom=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_watcom=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_watcom" 1>&6
+test "$ac_cv_have_watcom" = yes && ac_cv_lib_dir_opendir=no
+
+echo $ac_n "checking for typeof""... $ac_c" 1>&6
+echo "configure:1368: checking for typeof" >&5
+if eval "test \"`echo '$''{'ac_cv_have_typeof'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1373 "configure"
+#include "confdefs.h"
+
+int main() {
+int a;
+ typeof(a) b;
+; return 0; }
+EOF
+if { (eval echo configure:1381: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_have_typeof=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_typeof=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_typeof" 1>&6
+test "$ac_cv_have_typeof" = yes && cat >> confdefs.h <<\EOF
+#define HAVE_TYPEOF 1
+EOF
+
+
+echo $ac_n "checking for long long""... $ac_c" 1>&6
+echo "configure:1401: checking for long long" >&5
+if eval "test \"`echo '$''{'ac_cv_have_long_long'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1406 "configure"
+#include "confdefs.h"
+
+int main() {
+unsigned long long a;
+; return 0; }
+EOF
+if { (eval echo configure:1413: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_have_long_long=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_long_long=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_long_long" 1>&6
+test "$ac_cv_have_long_long" = yes && cat >> confdefs.h <<\EOF
+#define HAVE_LONG_LONG 1
+EOF
+
+
+echo $ac_n "checking for pointer comparison bug""... $ac_c" 1>&6
+echo "configure:1433: checking for pointer comparison bug" >&5
+if eval "test \"`echo '$''{'ac_cv_pointer_comparison_bug'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ if test -n "`echo "$CC"|grep ^tcc`"; then
+ ac_cv_pointer_comparison_bug=yes
+ else
+ ac_cv_pointer_comparison_bug=no
+ fi
+
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1446 "configure"
+#include "confdefs.h"
+
+ int main()
+ {
+ void *p = (void *)-1L;
+ return p != (void *)-1L;
+ }
+
+EOF
+if { (eval echo configure:1456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_pointer_comparison_bug=no
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_pointer_comparison_bug=yes
+fi
+rm -fr conftest*
+fi
+
+
+fi
+
+echo "$ac_t""$ac_cv_pointer_comparison_bug" 1>&6
+test "$ac_cv_pointer_comparison_bug" = yes && cat >> confdefs.h <<\EOF
+#define HAVE_POINTER_COMPARISON_BUG 1
+EOF
+
+
+if test "$ac_cv_have_long_long" = yes; then
+ echo $ac_n "checking for maxint conversion bug""... $ac_c" 1>&6
+echo "configure:1479: checking for maxint conversion bug" >&5
+if eval "test \"`echo '$''{'ac_cv_maxint_conversion_bug'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ if test -n "`echo "$CC"|grep ^cc`" -a "`uname -s`" = HP-UX; then
+ ac_cv_maxint_conversion_bug=yes
+ else
+ ac_cv_maxint_conversion_bug=no
+ fi
+
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1492 "configure"
+#include "confdefs.h"
+
+ int main()
+ {
+ volatile long long q = 0x7FFFFFEF;
+ return q < 0;
+ }
+
+EOF
+if { (eval echo configure:1502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_maxint_conversion_bug=no
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_maxint_conversion_bug=yes
+fi
+rm -fr conftest*
+fi
+
+
+fi
+
+echo "$ac_t""$ac_cv_maxint_conversion_bug" 1>&6
+ test "$ac_cv_maxint_conversion_bug" = yes && cat >> confdefs.h <<\EOF
+#define HAVE_MAXINT_CONVERSION_BUG 1
+EOF
+
+fi
+
+
+ac_header_dirent=no
+for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
+echo "configure:1530: checking for $ac_hdr that defines DIR" >&5
+if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1535 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <$ac_hdr>
+int main() {
+DIR *dirp = 0;
+; return 0; }
+EOF
+if { (eval echo configure:1543: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ eval "ac_cv_header_dirent_$ac_safe=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_dirent_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_dirent_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+ ac_header_dirent=$ac_hdr; break
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+if test $ac_header_dirent = dirent.h; then
+echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
+echo "configure:1568: checking for opendir in -ldir" >&5
+ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-ldir $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1576 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char opendir();
+
+int main() {
+opendir()
+; return 0; }
+EOF
+if { (eval echo configure:1587: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ LIBS="$LIBS -ldir"
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
+echo "configure:1609: checking for opendir in -lx" >&5
+ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lx $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1617 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char opendir();
+
+int main() {
+opendir()
+; return 0; }
+EOF
+if { (eval echo configure:1628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ LIBS="$LIBS -lx"
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+fi
+
+echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
+echo "configure:1651: checking for sys/wait.h that is POSIX.1 compatible" >&5
+if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1656 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <sys/wait.h>
+#ifndef WEXITSTATUS
+#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
+#endif
+#ifndef WIFEXITED
+#define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
+#endif
+int main() {
+int s;
+wait (&s);
+s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
+; return 0; }
+EOF
+if { (eval echo configure:1672: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_header_sys_wait_h=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_header_sys_wait_h=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_header_sys_wait_h" 1>&6
+if test $ac_cv_header_sys_wait_h = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_SYS_WAIT_H 1
+EOF
+
+fi
+
+for ac_hdr in fcntl.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1696: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1701 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1706: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in limits.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1736: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1741 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1746: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in sys/ioctl.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1776: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1781 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1786: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in sys/time.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1816: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1821 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1826: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in time.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1856: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1861 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1866: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in unistd.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1896: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1901 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1906: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in math.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1936: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1941 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1946: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in ieee.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1976: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1981 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1986: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in endian.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2016: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2021 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2026: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in values.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2056: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2061 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2066: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in sigaction.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2096: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2101 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2106: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in netinet/in_systm.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2136: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2141 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2146: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in netinet/in_system.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2176: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2181 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2186: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in netinet/ip.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2216: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2221 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2226: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in arpa/inet.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2256: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2261 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2266: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in netinet/dhcp.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2296: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2301 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2306: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in net/socket.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2336: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2341 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2346: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in sys/select.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2376: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2381 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2386: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in sys/resource.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2416: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2421 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2426: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in sys/utsname.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2456: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2461 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2466: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in sys/un.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2496: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2501 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2506: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in sys/fmutex.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2536: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2541 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2546: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in sys/cygwin.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2576: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2581 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2586: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in uwin.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2616: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2621 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2626: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in interix/interix.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2656: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2661 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2666: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in io.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2696: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2701 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2706: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in process.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2736: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2741 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2746: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in cygwin/process.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2776: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2781 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2786: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in setjmp.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2816: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2821 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2826: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in langinfo.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2856: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2861 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2866: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in pwd.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2896: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2901 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2906: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in grp.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2936: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2941 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2946: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in malloc.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2976: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2981 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2986: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in alloca.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:3016: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3021 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:3026: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in umalloc.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:3056: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3061 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:3066: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+echo $ac_n "checking for working const""... $ac_c" 1>&6
+echo "configure:3094: checking for working const" >&5
+if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3099 "configure"
+#include "confdefs.h"
+
+int main() {
+
+/* Ultrix mips cc rejects this. */
+typedef int charset[2]; const charset x;
+/* SunOS 4.1.1 cc rejects this. */
+char const *const *ccp;
+char **p;
+/* NEC SVR4.0.2 mips cc rejects this. */
+struct point {int x, y;};
+static struct point const zero = {0,0};
+/* AIX XL C 1.02.0.0 rejects this.
+ It does not let you subtract one const X* pointer from another in an arm
+ of an if-expression whose if-part is not a constant expression */
+const char *g = "string";
+ccp = &g + (g ? g-g : 0);
+/* HPUX 7.0 cc rejects these. */
+++ccp;
+p = (char**) ccp;
+ccp = (char const *const *) p;
+{ /* SCO 3.2v4 cc rejects this. */
+ char *t;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
+}
+{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+ int x[] = {25, 17};
+ const int *foo = &x[0];
+ ++foo;
+}
+{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+ typedef const int *iptr;
+ iptr p = 0;
+ ++p;
+}
+{ /* AIX XL C 1.02.0.0 rejects this saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+ struct s { int j; const int *ap[3]; };
+ struct s *b; b->j = 5;
+}
+{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+}
+
+; return 0; }
+EOF
+if { (eval echo configure:3148: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_const=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_c_const=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_c_const" 1>&6
+if test $ac_cv_c_const = no; then
+ cat >> confdefs.h <<\EOF
+#define const
+EOF
+
+fi
+
+echo $ac_n "checking for inline""... $ac_c" 1>&6
+echo "configure:3169: checking for inline" >&5
+if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+ cat > conftest.$ac_ext <<EOF
+#line 3176 "configure"
+#include "confdefs.h"
+
+int main() {
+} $ac_kw foo() {
+; return 0; }
+EOF
+if { (eval echo configure:3183: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_inline=$ac_kw; break
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+done
+
+fi
+
+echo "$ac_t""$ac_cv_c_inline" 1>&6
+case "$ac_cv_c_inline" in
+ inline | yes) ;;
+ no) cat >> confdefs.h <<\EOF
+#define inline
+EOF
+ ;;
+ *) cat >> confdefs.h <<EOF
+#define inline $ac_cv_c_inline
+EOF
+ ;;
+esac
+
+echo $ac_n "checking for size_t""... $ac_c" 1>&6
+echo "configure:3209: checking for size_t" >&5
+if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3214 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
+ rm -rf conftest*
+ ac_cv_type_size_t=yes
+else
+ rm -rf conftest*
+ ac_cv_type_size_t=no
+fi
+rm -f conftest*
+
+fi
+echo "$ac_t""$ac_cv_type_size_t" 1>&6
+if test $ac_cv_type_size_t = no; then
+ cat >> confdefs.h <<\EOF
+#define size_t unsigned
+EOF
+
+fi
+
+echo $ac_n "checking for socklen_t""... $ac_c" 1>&6
+echo "configure:3242: checking for socklen_t" >&5
+if eval "test \"`echo '$''{'ac_cv_have_socklen_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3247 "configure"
+#include "confdefs.h"
+
+ #include <sys/types.h>
+ #include <sys/socket.h>
+
+int main() {
+
+ socklen_t a = 0;
+ return a;
+
+; return 0; }
+EOF
+if { (eval echo configure:3260: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_have_socklen_t=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_socklen_t=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_socklen_t" 1>&6
+if test "$ac_cv_have_socklen_t" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_SOCKLEN_T 1
+EOF
+
+fi
+
+echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
+echo "configure:3282: checking whether time.h and sys/time.h may both be included" >&5
+if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3287 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <sys/time.h>
+#include <time.h>
+int main() {
+struct tm *tp;
+; return 0; }
+EOF
+if { (eval echo configure:3296: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_header_time=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_header_time=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_header_time" 1>&6
+if test $ac_cv_header_time = yes; then
+ cat >> confdefs.h <<\EOF
+#define TIME_WITH_SYS_TIME 1
+EOF
+
+fi
+
+echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
+echo "configure:3317: checking whether struct tm is in sys/time.h or time.h" >&5
+if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3322 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <time.h>
+int main() {
+struct tm *tp; tp->tm_sec;
+; return 0; }
+EOF
+if { (eval echo configure:3330: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_struct_tm=time.h
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_struct_tm=sys/time.h
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_struct_tm" 1>&6
+if test $ac_cv_struct_tm = sys/time.h; then
+ cat >> confdefs.h <<\EOF
+#define TM_IN_SYS_TIME 1
+EOF
+
+fi
+
+
+if test "$ac_cv_have_emx" = yes; then
+ default_short=2
+ default_int=4
+ default_long=4
+ default_long_long=8
+else
+ default_short=0
+ default_int=0
+ default_long=0
+ default_long_long=0
+fi
+
+echo $ac_n "checking size of unsigned short""... $ac_c" 1>&6
+echo "configure:3364: checking size of unsigned short" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_short'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_sizeof_unsigned_short="$default_short"
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3372 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+main()
+{
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f, "%d\n", sizeof(unsigned short));
+ exit(0);
+}
+EOF
+if { (eval echo configure:3383: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_sizeof_unsigned_short=`cat conftestval`
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_sizeof_unsigned_short=0
+fi
+rm -fr conftest*
+fi
+
+fi
+echo "$ac_t""$ac_cv_sizeof_unsigned_short" 1>&6
+cat >> confdefs.h <<EOF
+#define SIZEOF_UNSIGNED_SHORT $ac_cv_sizeof_unsigned_short
+EOF
+
+
+echo $ac_n "checking size of unsigned""... $ac_c" 1>&6
+echo "configure:3403: checking size of unsigned" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_sizeof_unsigned="$default_int"
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3411 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+main()
+{
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f, "%d\n", sizeof(unsigned));
+ exit(0);
+}
+EOF
+if { (eval echo configure:3422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_sizeof_unsigned=`cat conftestval`
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_sizeof_unsigned=0
+fi
+rm -fr conftest*
+fi
+
+fi
+echo "$ac_t""$ac_cv_sizeof_unsigned" 1>&6
+cat >> confdefs.h <<EOF
+#define SIZEOF_UNSIGNED $ac_cv_sizeof_unsigned
+EOF
+
+
+echo $ac_n "checking size of unsigned long""... $ac_c" 1>&6
+echo "configure:3442: checking size of unsigned long" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_long'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_sizeof_unsigned_long="$default_long"
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3450 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+main()
+{
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f, "%d\n", sizeof(unsigned long));
+ exit(0);
+}
+EOF
+if { (eval echo configure:3461: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_sizeof_unsigned_long=`cat conftestval`
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_sizeof_unsigned_long=0
+fi
+rm -fr conftest*
+fi
+
+fi
+echo "$ac_t""$ac_cv_sizeof_unsigned_long" 1>&6
+cat >> confdefs.h <<EOF
+#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long
+EOF
+
+
+if test "$ac_cv_have_long_long" = yes; then
+ echo $ac_n "checking size of unsigned long long""... $ac_c" 1>&6
+echo "configure:3482: checking size of unsigned long long" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_long_long'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_sizeof_unsigned_long_long="$default_long"
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3490 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+main()
+{
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f, "%d\n", sizeof(unsigned long long));
+ exit(0);
+}
+EOF
+if { (eval echo configure:3501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_sizeof_unsigned_long_long=`cat conftestval`
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_sizeof_unsigned_long_long=0
+fi
+rm -fr conftest*
+fi
+
+fi
+echo "$ac_t""$ac_cv_sizeof_unsigned_long_long" 1>&6
+cat >> confdefs.h <<EOF
+#define SIZEOF_UNSIGNED_LONG_LONG $ac_cv_sizeof_unsigned_long_long
+EOF
+
+
+fi
+echo $ac_n "checking for big endian""... $ac_c" 1>&6
+echo "configure:3522: checking for big endian" >&5
+if eval "test \"`echo '$''{'ac_cv_big_endian'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_big_endian=no
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3530 "configure"
+#include "confdefs.h"
+
+ long l;
+ char *c = (char *)&l;
+ int main()
+ {
+ l = 0x12345678L;
+ return !(c[sizeof(long) - 1] == 0x78 && c[sizeof(long) - 2] == 0x56 && c[sizeof(long) - 3] == 0x34 && c[sizeof(long) - 4] == 0x12);
+ }
+
+EOF
+if { (eval echo configure:3542: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_big_endian=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_big_endian=no
+fi
+rm -fr conftest*
+fi
+
+
+fi
+
+echo "$ac_t""$ac_cv_big_endian" 1>&6
+echo $ac_n "checking for little endian""... $ac_c" 1>&6
+echo "configure:3559: checking for little endian" >&5
+if eval "test \"`echo '$''{'ac_cv_little_endian'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_little_endian="$ac_cv_have_emx"
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3567 "configure"
+#include "confdefs.h"
+
+ long l;
+ char *c = (char *)&l;
+ int main()
+ {
+ l = 0x12345678L;
+ return !(c[0] == 0x78 && c[1] == 0x56 && c[2] == 0x34 && c[3] == 0x12);
+ }
+
+EOF
+if { (eval echo configure:3579: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_little_endian=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_little_endian=no
+fi
+rm -fr conftest*
+fi
+
+
+fi
+
+echo "$ac_t""$ac_cv_little_endian" 1>&6
+
+if test "$ac_cv_big_endian" = yes; then
+ cat >> confdefs.h <<\EOF
+#define C_BIG_ENDIAN 1
+EOF
+
+else if test "$ac_cv_little_endian" = yes; then
+ cat >> confdefs.h <<\EOF
+#define C_LITTLE_ENDIAN 1
+EOF
+
+fi
+fi
+
+echo $ac_n "checking if rename can replace existing files""... $ac_c" 1>&6
+echo "configure:3610: checking if rename can replace existing files" >&5
+if eval "test \"`echo '$''{'ac_cv_rename_over_existing_files'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_rename_over_existing_files=no
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3618 "configure"
+#include "confdefs.h"
+
+ #include <fcntl.h>
+ #include <stdio.h>
+ #include <unistd.h>
+
+ int main()
+ {
+ int ret;
+ close(creat("conftest.rename1", 0600));
+ close(creat("conftest.rename2", 0600));
+ ret = rename("conftest.rename1", "conftest.rename2");
+ unlink("conftest.rename1");
+ unlink("conftest.rename2");
+ return !!ret;
+ }
+
+EOF
+if { (eval echo configure:3637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_rename_over_existing_files=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_rename_over_existing_files=no
+fi
+rm -fr conftest*
+fi
+
+
+fi
+
+echo "$ac_t""$ac_cv_rename_over_existing_files" 1>&6
+
+if test "$ac_cv_rename_over_existing_files" = yes; then
+ cat >> confdefs.h <<\EOF
+#define RENAME_OVER_EXISTING_FILES 1
+EOF
+
+fi
+
+echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
+echo "configure:3662: checking return type of signal handlers" >&5
+if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3667 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <signal.h>
+#ifdef signal
+#undef signal
+#endif
+#ifdef __cplusplus
+extern "C" void (*signal (int, void (*)(int)))(int);
+#else
+void (*signal ()) ();
+#endif
+
+int main() {
+int i;
+; return 0; }
+EOF
+if { (eval echo configure:3684: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_type_signal=void
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_type_signal=int
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_type_signal" 1>&6
+cat >> confdefs.h <<EOF
+#define RETSIGTYPE $ac_cv_type_signal
+EOF
+
+
+echo $ac_n "checking for strftime""... $ac_c" 1>&6
+echo "configure:3703: checking for strftime" >&5
+if eval "test \"`echo '$''{'ac_cv_func_strftime'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3708 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char strftime(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char strftime();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_strftime) || defined (__stub___strftime)
+choke me
+#else
+strftime();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_strftime=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_strftime=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'strftime`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRFTIME 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+# strftime is in -lintl on SCO UNIX.
+echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6
+echo "configure:3753: checking for strftime in -lintl" >&5
+ac_lib_var=`echo intl'_'strftime | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lintl $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 3761 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char strftime();
+
+int main() {
+strftime()
+; return 0; }
+EOF
+if { (eval echo configure:3772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRFTIME 1
+EOF
+
+LIBS="-lintl $LIBS"
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+fi
+
+echo $ac_n "checking for vprintf""... $ac_c" 1>&6
+echo "configure:3799: checking for vprintf" >&5
+if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3804 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char vprintf(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char vprintf();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_vprintf) || defined (__stub___vprintf)
+choke me
+#else
+vprintf();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3827: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_vprintf=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_vprintf=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'vprintf`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ cat >> confdefs.h <<\EOF
+#define HAVE_VPRINTF 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test "$ac_cv_func_vprintf" != yes; then
+echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
+echo "configure:3851: checking for _doprnt" >&5
+if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3856 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char _doprnt(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char _doprnt();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub__doprnt) || defined (__stub____doprnt)
+choke me
+#else
+_doprnt();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3879: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func__doprnt=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func__doprnt=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'_doprnt`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ cat >> confdefs.h <<\EOF
+#define HAVE_DOPRNT 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+fi
+
+for ac_func in calloc
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:3906: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3911 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in mkdir
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:3961: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3966 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in select
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4016: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4021 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in chmod
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4071: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4076 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in getpid
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4126: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4131 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in setpgid
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4181: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4186 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in popen
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4236: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4241 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4264: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in uname
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4291: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4296 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in getpagesize
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4346: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4351 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in strptime
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4401: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4406 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in getpwuid
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4456: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4461 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in getgrgid
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4511: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4516 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in getrlimit
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4566: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4571 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4594: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in setrlimit
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4621: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4626 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in setlocale
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4676: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4681 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in nl_langinfo
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4731: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4736 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4759: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in _heapmin
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4786: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4791 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4814: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in _ucreate
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4841: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4846 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in _uopen
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4896: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4901 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4924: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in _udestroy
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:4951: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4956 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in _udefault
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:5006: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5011 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:5034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+for ac_func in snprintf
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:5062: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5067 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:5090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in raise
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:5117: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5122 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:5145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in gettimeofday
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:5172: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5177 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:5200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in tempnam
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:5227: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5232 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:5255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in sigfillset
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:5282: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5287 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:5310: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in sigdelset
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:5337: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5342 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:5365: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in strtol
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:5392: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5397 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:5420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in strtoul
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:5447: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5452 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:5475: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in strtoq
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:5502: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5507 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:5530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in strtoll
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:5557: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5562 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:5585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+echo $ac_n "checking for strlen""... $ac_c" 1>&6
+echo "configure:5611: checking for strlen" >&5
+if eval "test \"`echo '$''{'ac_cv_have_strlen'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5616 "configure"
+#include "confdefs.h"
+#include <string.h>
+int main() {
+strlen(""); return 0;
+; return 0; }
+EOF
+if { (eval echo configure:5623: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_strlen=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_strlen=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_strlen" 1>&6
+if test "$ac_cv_have_strlen" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRLEN 1
+EOF
+
+fi
+
+echo $ac_n "checking for strcpy""... $ac_c" 1>&6
+echo "configure:5645: checking for strcpy" >&5
+if eval "test \"`echo '$''{'ac_cv_have_strcpy'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5650 "configure"
+#include "confdefs.h"
+#include <string.h>
+int main() {
+char a[1]; strcpy(a, ""); return 0;
+; return 0; }
+EOF
+if { (eval echo configure:5657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_strcpy=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_strcpy=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_strcpy" 1>&6
+if test "$ac_cv_have_strcpy" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRCPY 1
+EOF
+
+fi
+
+echo $ac_n "checking for strchr""... $ac_c" 1>&6
+echo "configure:5679: checking for strchr" >&5
+if eval "test \"`echo '$''{'ac_cv_have_strchr'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5684 "configure"
+#include "confdefs.h"
+#include <string.h>
+int main() {
+strchr("", 0); return 0;
+; return 0; }
+EOF
+if { (eval echo configure:5691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_strchr=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_strchr=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_strchr" 1>&6
+if test "$ac_cv_have_strchr" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRCHR 1
+EOF
+
+fi
+
+echo $ac_n "checking for strrchr""... $ac_c" 1>&6
+echo "configure:5713: checking for strrchr" >&5
+if eval "test \"`echo '$''{'ac_cv_have_strrchr'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5718 "configure"
+#include "confdefs.h"
+#include <string.h>
+int main() {
+strrchr("", 0); return 0;
+; return 0; }
+EOF
+if { (eval echo configure:5725: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_strrchr=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_strrchr=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_strrchr" 1>&6
+if test "$ac_cv_have_strrchr" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRRCHR 1
+EOF
+
+fi
+
+echo $ac_n "checking for strcmp""... $ac_c" 1>&6
+echo "configure:5747: checking for strcmp" >&5
+if eval "test \"`echo '$''{'ac_cv_have_strcmp'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5752 "configure"
+#include "confdefs.h"
+#include <string.h>
+int main() {
+strcmp("", ""); return 0;
+; return 0; }
+EOF
+if { (eval echo configure:5759: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_strcmp=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_strcmp=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_strcmp" 1>&6
+if test "$ac_cv_have_strcmp" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRCMP 1
+EOF
+
+fi
+
+echo $ac_n "checking for strncmp""... $ac_c" 1>&6
+echo "configure:5781: checking for strncmp" >&5
+if eval "test \"`echo '$''{'ac_cv_have_strncmp'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5786 "configure"
+#include "confdefs.h"
+#include <string.h>
+int main() {
+strncmp("", "", 1); return 0;
+; return 0; }
+EOF
+if { (eval echo configure:5793: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_strncmp=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_strncmp=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_strncmp" 1>&6
+if test "$ac_cv_have_strncmp" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRNCMP 1
+EOF
+
+fi
+
+echo $ac_n "checking for strcspn""... $ac_c" 1>&6
+echo "configure:5815: checking for strcspn" >&5
+if eval "test \"`echo '$''{'ac_cv_have_strcspn'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5820 "configure"
+#include "confdefs.h"
+#include <string.h>
+int main() {
+strcspn("", ""); return 0;
+; return 0; }
+EOF
+if { (eval echo configure:5827: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_strcspn=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_strcspn=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_strcspn" 1>&6
+if test "$ac_cv_have_strcspn" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRCSPN 1
+EOF
+
+fi
+
+echo $ac_n "checking for strstr""... $ac_c" 1>&6
+echo "configure:5849: checking for strstr" >&5
+if eval "test \"`echo '$''{'ac_cv_have_strstr'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5854 "configure"
+#include "confdefs.h"
+#include <string.h>
+int main() {
+strstr("", ""); return 0;
+; return 0; }
+EOF
+if { (eval echo configure:5861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_strstr=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_strstr=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_strstr" 1>&6
+if test "$ac_cv_have_strstr" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRSTR 1
+EOF
+
+fi
+
+echo $ac_n "checking for memmove""... $ac_c" 1>&6
+echo "configure:5883: checking for memmove" >&5
+if eval "test \"`echo '$''{'ac_cv_have_memmove'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5888 "configure"
+#include "confdefs.h"
+#include <string.h>
+int main() {
+char a[1]; memmove(a, a, 1); return 0;
+; return 0; }
+EOF
+if { (eval echo configure:5895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_memmove=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_memmove=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_memmove" 1>&6
+if test "$ac_cv_have_memmove" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_MEMMOVE 1
+EOF
+
+fi
+
+echo $ac_n "checking for strerror""... $ac_c" 1>&6
+echo "configure:5917: checking for strerror" >&5
+if eval "test \"`echo '$''{'ac_cv_have_strerror'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5922 "configure"
+#include "confdefs.h"
+#include <string.h>
+int main() {
+char *c = strerror(1); return 0;
+; return 0; }
+EOF
+if { (eval echo configure:5929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_strerror=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_strerror=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_strerror" 1>&6
+if test "$ac_cv_have_strerror" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRERROR 1
+EOF
+
+fi
+
+echo $ac_n "checking for sigsetjmp/siglongjmp""... $ac_c" 1>&6
+echo "configure:5951: checking for sigsetjmp/siglongjmp" >&5
+if eval "test \"`echo '$''{'ac_cv_have_sigsetjmp'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5956 "configure"
+#include "confdefs.h"
+#include <setjmp.h>
+int main() {
+sigjmp_buf env;sigsetjmp(env, 1);siglongjmp(env, 2);
+; return 0; }
+EOF
+if { (eval echo configure:5963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_sigsetjmp=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_sigsetjmp=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_sigsetjmp" 1>&6
+if test "$ac_cv_have_sigsetjmp" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_SIGSETJMP 1
+EOF
+
+fi
+
+if test "$ac_cv_func_select" != yes; then
+ { echo "configure: error: select function not present" 1>&2; exit 1; }
+fi
+if test "$ac_cv_func_strtol" != yes; then
+ { echo "configure: error: strtol function not present" 1>&2; exit 1; }
+fi
+
+
+
+echo $ac_n "checking for socket""... $ac_c" 1>&6
+echo "configure:5994: checking for socket" >&5
+if eval "test \"`echo '$''{'ac_cv_func_socket'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5999 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char socket(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char socket();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_socket) || defined (__stub___socket)
+choke me
+#else
+socket();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_socket=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_socket=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'socket`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ cf_result=yes
+else
+ echo "$ac_t""no" 1>&6
+cf_result=no
+fi
+
+if test "$cf_result" = no; then
+ echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
+echo "configure:6044: checking for socket in -lsocket" >&5
+ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lsocket $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 6052 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char socket();
+
+int main() {
+socket()
+; return 0; }
+EOF
+if { (eval echo configure:6063: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lsocket $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test "$ac_cv_lib_socket_socket" = no; then
+ echo $ac_n "checking for socket in -lnetwork""... $ac_c" 1>&6
+echo "configure:6092: checking for socket in -lnetwork" >&5
+ac_lib_var=`echo network'_'socket | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lnetwork $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 6100 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char socket();
+
+int main() {
+socket()
+; return 0; }
+EOF
+if { (eval echo configure:6111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo network | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lnetwork $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test "$ac_cv_lib_network_socket" = no; then
+ { echo "configure: error: socket function not present" 1>&2; exit 1; }
+ fi
+ fi
+fi
+echo $ac_n "checking for setsockopt""... $ac_c" 1>&6
+echo "configure:6144: checking for setsockopt" >&5
+if eval "test \"`echo '$''{'ac_cv_func_setsockopt'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 6149 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char setsockopt(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char setsockopt();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_setsockopt) || defined (__stub___setsockopt)
+choke me
+#else
+setsockopt();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6172: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_setsockopt=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_setsockopt=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'setsockopt`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ cf_result=yes
+else
+ echo "$ac_t""no" 1>&6
+cf_result=no
+fi
+
+if test "$cf_result" = no; then
+ echo $ac_n "checking for setsockopt in -lsocket""... $ac_c" 1>&6
+echo "configure:6194: checking for setsockopt in -lsocket" >&5
+ac_lib_var=`echo socket'_'setsockopt | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lsocket $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 6202 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char setsockopt();
+
+int main() {
+setsockopt()
+; return 0; }
+EOF
+if { (eval echo configure:6213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lsocket $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+fi
+
+#AC_MSG_CHECKING([for gethostbyname])
+#AC_TRY_LINK([#include <netdb.h>], [gethostbyname("")], cf_result=yes, cf_result=no)
+#AC_MSG_RESULT($cf_result)
+echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
+echo "configure:6246: checking for gethostbyname" >&5
+if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 6251 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char gethostbyname(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char gethostbyname();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
+choke me
+#else
+gethostbyname();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6274: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_gethostbyname=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_gethostbyname=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ cf_result=yes
+else
+ echo "$ac_t""no" 1>&6
+cf_result=no
+fi
+
+if test "$cf_result" = no; then
+ echo $ac_n "checking for gethostbyname in -lsocket""... $ac_c" 1>&6
+echo "configure:6296: checking for gethostbyname in -lsocket" >&5
+ac_lib_var=`echo socket'_'gethostbyname | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lsocket $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 6304 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char gethostbyname();
+
+int main() {
+gethostbyname()
+; return 0; }
+EOF
+if { (eval echo configure:6315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lsocket $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ cf_result="$ac_cv_lib_socket_gethostbyname"
+ if test "$ac_cv_lib_socket_gethostbyname" = no; then
+ echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
+echo "configure:6345: checking for gethostbyname in -lnsl" >&5
+ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lnsl $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 6353 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char gethostbyname();
+
+int main() {
+gethostbyname()
+; return 0; }
+EOF
+if { (eval echo configure:6364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo nsl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lnsl $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ cf_result="$ac_cv_lib_nsl_gethostbyname"
+ fi
+fi
+test "$cf_result" = yes && cat >> confdefs.h <<\EOF
+#define HAVE_GETHOSTBYNAME 1
+EOF
+
+
+if test "$cf_result" = yes && test "$ac_cv_have_watcom" = yes -o "`uname -s`" = SunOS; then
+ echo $ac_n "checking for flawed gethostbyname""... $ac_c" 1>&6
+echo "configure:6401: checking for flawed gethostbyname" >&5
+if eval "test \"`echo '$''{'ac_cv_gethostbyname_bug'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_gethostbyname_bug="$ac_cv_have_watcom"
+else
+ cat > conftest.$ac_ext <<EOF
+#line 6409 "configure"
+#include "confdefs.h"
+
+ #include <netdb.h>
+ int main()
+ {
+ return !gethostbyname("www.gnu.org");
+ }
+
+EOF
+if { (eval echo configure:6419: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_gethostbyname_bug=no
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_gethostbyname_bug=yes
+fi
+rm -fr conftest*
+fi
+
+
+fi
+
+echo "$ac_t""$ac_cv_gethostbyname_bug" 1>&6
+ test "$ac_cv_gethostbyname_bug" = yes && cat >> confdefs.h <<\EOF
+#define HAVE_GETHOSTBYNAME_BUG 1
+EOF
+
+fi
+
+for ac_func in gethostbyaddr
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:6444: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 6449 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in dhcp_option
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:6499: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 6504 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6527: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+for ac_func in herror
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:6555: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 6560 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in cfmakeraw
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:6610: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 6615 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+for ac_func in cygwin_conv_to_full_win32_path
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:6666: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 6671 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6694: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in cygwin_conv_path
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:6721: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 6726 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+for ac_func in uwin_path
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:6777: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 6782 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6805: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+for ac_func in unixpath2win
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:6833: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 6838 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in winpath2unix
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:6888: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 6893 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6916: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+echo $ac_n "checking for requested debug level""... $ac_c" 1>&6
+echo "configure:6942: checking for requested debug level" >&5
+# Check whether --enable-debuglevel or --disable-debuglevel was given.
+if test "${enable_debuglevel+set}" = set; then
+ enableval="$enable_debuglevel"
+ cf_debuglevel="$enableval"
+else
+ cf_debuglevel=0
+fi
+
+if test "$cf_debuglevel" = no; then cf_debuglevel=0; fi
+if test "$cf_debuglevel" = yes; then cf_debuglevel=2; fi
+echo "$ac_t""$cf_debuglevel" 1>&6
+if test "$cf_debuglevel" != -1 && test "$cf_debuglevel" != 0 && test "$cf_debuglevel" != 1 && test "$cf_debuglevel" != 2 && test "$cf_debuglevel" != 3; then
+ { echo "configure: error: Invalid debuglevel specified" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define DEBUGLEVEL $cf_debuglevel
+EOF
+
+
+
+cf_use_graphics=no
+echo $ac_n "checking if you want to use graphics""... $ac_c" 1>&6
+echo "configure:6965: checking if you want to use graphics" >&5
+# Check whether --enable-graphics or --disable-graphics was given.
+if test "${enable_graphics+set}" = set; then
+ enableval="$enable_graphics"
+ cf_use_graphics="$enableval"
+fi
+
+echo "$ac_t""$cf_use_graphics" 1>&6
+
+echo $ac_n "checking if you want to enable UTF-8 terminal""... $ac_c" 1>&6
+echo "configure:6975: checking if you want to enable UTF-8 terminal" >&5
+cf_enable_utf8=yes
+# Check whether --enable-utf8 or --disable-utf8 was given.
+if test "${enable_utf8+set}" = set; then
+ enableval="$enable_utf8"
+ cf_enable_utf8="$enableval"
+fi
+
+echo "$ac_t""$cf_enable_utf8" 1>&6
+
+if test "$cf_enable_utf8" != no; then
+ cat >> confdefs.h <<\EOF
+#define ENABLE_UTF8 1
+EOF
+
+fi
+
+if test "$cf_use_graphics" != no; then
+ echo $ac_n "checking for pow in -lm""... $ac_c" 1>&6
+echo "configure:6994: checking for pow in -lm" >&5
+ac_lib_var=`echo m'_'pow | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lm $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 7002 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char pow();
+
+int main() {
+pow()
+; return 0; }
+EOF
+if { (eval echo configure:7013: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo m | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lm $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test "$ac_cv_lib_m_pow" = no; then
+ echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
+echo "configure:7042: checking for main in -lm" >&5
+ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lm $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 7050 "configure"
+#include "confdefs.h"
+
+int main() {
+main()
+; return 0; }
+EOF
+if { (eval echo configure:7057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo m | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lm $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+fi
+
+# Check whether --with-gpm or --without-gpm was given.
+if test "${with_gpm+set}" = set; then
+ withval="$with_gpm"
+ if test "$withval" = no; then disable_gpm=yes; else disable_gpm=no; fi
+fi
+
+
+if test "$disable_gpm" != yes; then
+ for ac_hdr in gpm.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:7099: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 7104 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:7109: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
+echo "configure:7136: checking for Gpm_Open in -lgpm" >&5
+ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lgpm $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 7144 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char Gpm_Open();
+
+int main() {
+Gpm_Open()
+; return 0; }
+EOF
+if { (eval echo configure:7155: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo gpm | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lgpm $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ for ac_func in Gpm_GetLibVersion
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:7185: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 7190 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:7213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ if test "$ac_cv_lib_gpm_Gpm_Open" = yes && test "$ac_cv_header_gpm_h" = yes ; then cf_have_gpm=yes ; else cf_have_gpm=no; fi
+else
+ cf_have_gpm=no
+fi
+
+echo $ac_n "checking for OS/2 threads""... $ac_c" 1>&6
+echo "configure:7243: checking for OS/2 threads" >&5
+if eval "test \"`echo '$''{'ac_cv_have_beginthread'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ CFLAGS_X="$CFLAGS"
+ CFLAGS="$CFLAGS -Zmt"
+ cat > conftest.$ac_ext <<EOF
+#line 7250 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+int main() {
+_beginthread(NULL, NULL, 0, NULL)
+; return 0; }
+EOF
+if { (eval echo configure:7257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_beginthread=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_beginthread=no
+fi
+rm -f conftest*
+ CFLAGS="$CFLAGS_X"
+
+fi
+
+echo "$ac_t""$ac_cv_have_beginthread" 1>&6
+if test "$ac_cv_have_beginthread" = yes; then
+ CFLAGS="$CFLAGS -Zmt"
+ cat >> confdefs.h <<\EOF
+#define HAVE_BEGINTHREAD 1
+EOF
+
+#else
+# AC_CHECK_FUNC(pthread_create, cf_result=yes, cf_result=no)
+# if test "$cf_result" = yes; then
+# AC_DEFINE(HAVE_PTHREADS)
+# else
+# AC_CHECK_LIB(pthread, pthread_create, AC_DEFINE(HAVE_PTHREADS)
+# LDFLAGS="$LDFLAGS -lpthread" )
+# fi
+fi
+#AC_HAVE_FUNCS(clone)
+for ac_hdr in atheos/threads.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:7292: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 7297 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:7302: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in spawn_thread
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:7331: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 7336 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:7359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in resume_thread
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:7386: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 7391 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:7414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+for ac_func in MouOpen
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:7442: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 7447 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:7470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in _read_kbd
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:7497: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 7502 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:7525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+echo $ac_n "checking for XFree for OS/2""... $ac_c" 1>&6
+echo "configure:7551: checking for XFree for OS/2" >&5
+if eval "test \"`echo '$''{'ac_cv_have_x2'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ CPPFLAGS_X="$CPPFLAGS"
+ LIBS_X="$LIBS"
+ ac_cv_have_x2=no
+ if test -n "$X11ROOT"; then
+ CPPFLAGS="$CPPFLAGS_X -I$X11ROOT/XFree86/include"
+ LIBS="$LIBS_X -L$X11ROOT/XFree86/lib -lxf86_gcc"
+ cat > conftest.$ac_ext <<EOF
+#line 7562 "configure"
+#include "confdefs.h"
+#include <pty.h>
+int main() {
+struct winsize win;ptioctl(1, TIOCGWINSZ, &win)
+; return 0; }
+EOF
+if { (eval echo configure:7569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_x2=xf86_gcc
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_x2=no
+fi
+rm -f conftest*
+ if test "$ac_cv_have_x2" = no; then
+ LIBS="$LIBS_X -L$X11ROOT/XFree86/lib -lxf86"
+ cat > conftest.$ac_ext <<EOF
+#line 7582 "configure"
+#include "confdefs.h"
+#include <pty.h>
+int main() {
+struct winsize win;ptioctl(1, TIOCGWINSZ, &win)
+; return 0; }
+EOF
+if { (eval echo configure:7589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_x2=xf86
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_x2=no
+fi
+rm -f conftest*
+ fi
+ fi
+ CPPFLAGS="$CPPFLAGS_X"
+ LIBS="$LIBS_X"
+
+fi
+
+echo "$ac_t""$ac_cv_have_x2" 1>&6
+if test "$ac_cv_have_x2" != no; then
+ CPPFLAGS="$CPPFLAGS -I$X11ROOT/XFree86/include"
+ LIBS="$LIBS -L$X11ROOT/XFree86/lib -l$ac_cv_have_x2"
+ cat >> confdefs.h <<\EOF
+#define X2 1
+EOF
+
+fi
+
+cf_result=no
+#ifdef HAVE_SSL
+ssld=yes
+withval=
+# Check whether --with-ssl or --without-ssl was given.
+if test "${with_ssl+set}" = set; then
+ withval="$with_ssl"
+ if test "$withval" = no; then disable_ssl=yes; else ssld="$withval"; fi
+fi
+
+# Check whether --enable-ssl-pkgconfig or --disable-ssl-pkgconfig was given.
+if test "${enable_ssl_pkgconfig+set}" = set; then
+ enableval="$enable_ssl_pkgconfig"
+ cf_openssl_pkgconfig="$enableval"
+else
+ cf_openssl_pkgconfig=yes
+fi
+
+if test -z "$disable_ssl"; then
+ CPPFLAGS_X="$CPPFLAGS"
+ LIBS_X="$LIBS"
+ if test "$static_link" != 0; then
+ echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
+echo "configure:7639: checking for dlopen in -ldl" >&5
+ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-ldl $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 7647 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char dlopen();
+
+int main() {
+dlopen()
+; return 0; }
+EOF
+if { (eval echo configure:7658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo dl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-ldl $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6
+echo "configure:7686: checking for inflate in -lz" >&5
+ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lz $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 7694 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char inflate();
+
+int main() {
+inflate()
+; return 0; }
+EOF
+if { (eval echo configure:7705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo z | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lz $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+ CPPFLAGS_XX="$CPPFLAGS"
+ LIBS_XX="$LIBS"
+ if test "$cf_result" = no && test "$ssld" = yes -o "$ssld" = openssl; then
+ if test "$cf_openssl_pkgconfig" = no; then
+ pkgconfig_openssl=no
+ else
+
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:7746: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$PKG_CONFIG" in
+ /*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+esac
+fi
+PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+if test -n "$PKG_CONFIG"; then
+ echo "$ac_t""$PKG_CONFIG" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ PKG_CONFIG_MIN_VERSION=0.9.0
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+ echo $ac_n "checking for openssl""... $ac_c" 1>&6
+echo "configure:7790: checking for openssl" >&5
+
+ if $PKG_CONFIG --exists "openssl" ; then
+ echo "$ac_t""yes" 1>&6
+ succeeded=yes
+
+ echo $ac_n "checking OPENSSL_CFLAGS""... $ac_c" 1>&6
+echo "configure:7797: checking OPENSSL_CFLAGS" >&5
+ OPENSSL_CFLAGS=`$PKG_CONFIG --cflags "openssl"`
+ echo "$ac_t""$OPENSSL_CFLAGS" 1>&6
+
+ echo $ac_n "checking OPENSSL_LIBS""... $ac_c" 1>&6
+echo "configure:7802: checking OPENSSL_LIBS" >&5
+ OPENSSL_LIBS=`$PKG_CONFIG --libs "openssl"`
+ echo "$ac_t""$OPENSSL_LIBS" 1>&6
+ else
+ OPENSSL_CFLAGS=""
+ OPENSSL_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ OPENSSL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "openssl"`
+
+ fi
+
+
+
+ else
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ pkgconfig_openssl=yes
+ else
+ pkgconfig_openssl=no
+ fi
+
+ if test "$PKG_CONFIG" != no -a "$pkgconfig_openssl" = no; then
+ echo "$ac_t""no" 1>&6
+ fi
+ fi
+ if test "$pkgconfig_openssl" = yes; then
+ echo $ac_n "checking for OpenSSL""... $ac_c" 1>&6
+echo "configure:7834: checking for OpenSSL" >&5
+ CPPFLAGS="$CPPFLAGS_XX $OPENSSL_CFLAGS"
+ LIBS="$OPENSSL_LIBS $LIBS_XX"
+ cat > conftest.$ac_ext <<EOF
+#line 7838 "configure"
+#include "confdefs.h"
+#include <openssl/ssl.h>
+int main() {
+SSLeay_add_ssl_algorithms()
+; return 0; }
+EOF
+if { (eval echo configure:7845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_result=openssl
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ cf_result=no
+fi
+rm -f conftest*
+ echo "$ac_t""$cf_result" 1>&6
+ fi
+ fi
+
+ if test "$cf_result" = no && test "$ssld" != nss; then
+ echo $ac_n "checking for OpenSSL""... $ac_c" 1>&6
+echo "configure:7861: checking for OpenSSL" >&5
+ if test "$ssld" = yes -o "$ssld" = openssl; then
+ ssld=". /usr /usr/local /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/local/www /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl"
+ fi
+ for ssldir in $ssld; do
+ if test "$cf_result" = no; then
+ if test ! -z "$ssldir" && test "$ssldir" != /usr && test "$ssldir" != .; then
+ LIBS="-L$ssldir/lib -lssl -lcrypto $LIBS_XX"
+ CPPFLAGS="$CPPFLAGS_XX -I$ssldir/include"
+ else
+ LIBS="-lssl -lcrypto $LIBS_XX"
+ CPPFLAGS="$CPPFLAGS_XX"
+ fi
+ cat > conftest.$ac_ext <<EOF
+#line 7875 "configure"
+#include "confdefs.h"
+#include <openssl/ssl.h>
+int main() {
+SSLeay_add_ssl_algorithms()
+; return 0; }
+EOF
+if { (eval echo configure:7882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_result=openssl
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ cf_result=no
+fi
+rm -f conftest*
+ fi
+ done
+ echo "$ac_t""$cf_result" 1>&6
+ fi
+
+ if test "$cf_result" = no && test "$ssld" = yes -o "$ssld" = nss; then
+ if test "$cf_openssl_pkgconfig" = no; then
+ pkgconfig_nss=no
+ else
+
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:7908: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$PKG_CONFIG" in
+ /*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+esac
+fi
+PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+if test -n "$PKG_CONFIG"; then
+ echo "$ac_t""$PKG_CONFIG" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ PKG_CONFIG_MIN_VERSION=0.9.0
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+ echo $ac_n "checking for nss""... $ac_c" 1>&6
+echo "configure:7952: checking for nss" >&5
+
+ if $PKG_CONFIG --exists "nss" ; then
+ echo "$ac_t""yes" 1>&6
+ succeeded=yes
+
+ echo $ac_n "checking NSS_CFLAGS""... $ac_c" 1>&6
+echo "configure:7959: checking NSS_CFLAGS" >&5
+ NSS_CFLAGS=`$PKG_CONFIG --cflags "nss"`
+ echo "$ac_t""$NSS_CFLAGS" 1>&6
+
+ echo $ac_n "checking NSS_LIBS""... $ac_c" 1>&6
+echo "configure:7964: checking NSS_LIBS" >&5
+ NSS_LIBS=`$PKG_CONFIG --libs "nss"`
+ echo "$ac_t""$NSS_LIBS" 1>&6
+ else
+ NSS_CFLAGS=""
+ NSS_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ NSS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "nss"`
+
+ fi
+
+
+
+ else
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ pkgconfig_nss=yes
+ else
+ pkgconfig_nss=no
+ fi
+
+ if test "$PKG_CONFIG" != no -a "$pkgconfig_nss" = no; then
+ echo "$ac_t""no" 1>&6
+ fi
+ fi
+ if test "$pkgconfig_nss" = no; then
+ NSS_CFLAGS=""
+ NSS_LIBS=""
+ fi
+ CPPFLAGS="$CPPFLAGS_X $NSS_CFLAGS"
+ LIBS="-lnss_compat_ossl $NSS_LIBS $LIBS_X"
+ echo $ac_n "checking for NSS-compat-ossl""... $ac_c" 1>&6
+echo "configure:8001: checking for NSS-compat-ossl" >&5
+ cat > conftest.$ac_ext <<EOF
+#line 8003 "configure"
+#include "confdefs.h"
+#include <nss_compat_ossl/nss_compat_ossl.h>
+int main() {
+SSLeay_add_ssl_algorithms()
+; return 0; }
+EOF
+if { (eval echo configure:8010: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_result=nss
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ cf_result=no
+fi
+rm -f conftest*
+ echo "$ac_t""$cf_result" 1>&6
+ fi
+
+ if test "$cf_result" = no; then
+ if test -n "$withval" -a "$withval" != no; then
+ { echo "configure: error: "OpenSSL not found"" 1>&2; exit 1; }
+ fi
+ CPPFLAGS="$CPPFLAGS_X"
+ LIBS="$LIBS_X"
+ else
+ cat >> confdefs.h <<\EOF
+#define HAVE_SSL 1
+EOF
+
+ if test "$cf_result" = openssl; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_OPENSSL 1
+EOF
+
+ fi
+ if test "$cf_result" = nss; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_NSS 1
+EOF
+
+ fi
+ fi
+fi
+#endif
+cf_have_ssl=$cf_result
+
+# Check whether --with-zlib or --without-zlib was given.
+if test "${with_zlib+set}" = set; then
+ withval="$with_zlib"
+ if test "$withval" = no; then disable_zlib=yes; else disable_zlib=no; fi
+fi
+
+# Check whether --with-bzip2 or --without-bzip2 was given.
+if test "${with_bzip2+set}" = set; then
+ withval="$with_bzip2"
+ if test "$withval" = no; then disable_bzip2=yes; else disable_bzip2=no; fi
+fi
+
+# Check whether --with-lzma or --without-lzma was given.
+if test "${with_lzma+set}" = set; then
+ withval="$with_lzma"
+ if test "$withval" = no; then disable_lzma=yes; else disable_lzma=no; fi
+fi
+
+compression=""
+
+if test "$disable_zlib" != yes ; then
+ for ac_hdr in zlib.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:8076: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 8081 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:8086: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6
+echo "configure:8113: checking for inflate in -lz" >&5
+ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lz $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 8121 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char inflate();
+
+int main() {
+inflate()
+; return 0; }
+EOF
+if { (eval echo configure:8132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo z | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lz $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test "$ac_cv_header_zlib_h" = yes && test "$ac_cv_lib_z_inflate" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_ZLIB 1
+EOF
+
+ compression="$compression ZLIB"
+ fi
+fi
+if test "$disable_bzip2" != yes ; then
+ for ac_hdr in bzlib.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:8172: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 8177 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:8182: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ echo $ac_n "checking for BZ2_bzDecompress in -lbz2""... $ac_c" 1>&6
+echo "configure:8209: checking for BZ2_bzDecompress in -lbz2" >&5
+ac_lib_var=`echo bz2'_'BZ2_bzDecompress | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lbz2 $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 8217 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char BZ2_bzDecompress();
+
+int main() {
+BZ2_bzDecompress()
+; return 0; }
+EOF
+if { (eval echo configure:8228: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo bz2 | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lbz2 $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test "$ac_cv_header_bzlib_h" = yes && test "$ac_cv_lib_bz2_BZ2_bzDecompress" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_BZIP2 1
+EOF
+
+ compression="$compression BZIP2"
+ fi
+fi
+
+if test "$disable_lzma" != yes ; then
+ for ac_hdr in lzma.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:8269: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 8274 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:8279: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ echo $ac_n "checking for lzma_auto_decoder in -llzma""... $ac_c" 1>&6
+echo "configure:8306: checking for lzma_auto_decoder in -llzma" >&5
+ac_lib_var=`echo lzma'_'lzma_auto_decoder | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-llzma $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 8314 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char lzma_auto_decoder();
+
+int main() {
+lzma_auto_decoder()
+; return 0; }
+EOF
+if { (eval echo configure:8325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo lzma | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-llzma $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test "$ac_cv_header_lzma_h" = yes && test "$ac_cv_lib_lzma_lzma_auto_decoder" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_LZMA 1
+EOF
+
+ compression="$compression LZMA"
+ fi
+fi
+
+
+cf_have_atheos=no
+
+if test "$cf_use_graphics" != no; then
+ cat >> confdefs.h <<\EOF
+#define G 1
+EOF
+
+
+# Check whether --with-svgalib or --without-svgalib was given.
+if test "${with_svgalib+set}" = set; then
+ withval="$with_svgalib"
+ if test "$withval" = no; then disable_svgalib=yes; else disable_svgalib=no; fi
+fi
+
+# Check whether --with-x or --without-x was given.
+if test "${with_x+set}" = set; then
+ withval="$with_x"
+ if test "$withval" = no; then disable_x=yes; else disable_x=no; fi
+fi
+
+# Check whether --with-fb or --without-fb was given.
+if test "${with_fb+set}" = set; then
+ withval="$with_fb"
+ if test "$withval" = no; then disable_fb=yes; else disable_fb=no; fi
+fi
+
+# Check whether --with-directfb or --without-directfb was given.
+if test "${with_directfb+set}" = set; then
+ withval="$with_directfb"
+ if test "$withval" = no; then disable_directfb=yes; else disable_directfb=no; fi
+fi
+
+# Check whether --with-pmshell or --without-pmshell was given.
+if test "${with_pmshell+set}" = set; then
+ withval="$with_pmshell"
+ if test "$withval" = no; then disable_pmshell=yes; else disable_pmshell=no; fi
+fi
+
+# Check whether --with-atheos or --without-atheos was given.
+if test "${with_atheos+set}" = set; then
+ withval="$with_atheos"
+ if test "$withval" = no; then disable_atheos=yes; else disable_atheos; fi
+fi
+
+
+ drivers=""
+
+if test "$disable_svgalib" != yes ; then
+ LIBS_X="$LIBS"
+ if test "$static_link" != 0; then
+ echo $ac_n "checking for LRMI_init in -lx86""... $ac_c" 1>&6
+echo "configure:8413: checking for LRMI_init in -lx86" >&5
+ac_lib_var=`echo x86'_'LRMI_init | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lx86 $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 8421 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char LRMI_init();
+
+int main() {
+LRMI_init()
+; return 0; }
+EOF
+if { (eval echo configure:8432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo x86 | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lx86 $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+ LIBS="-lvga $LIBS"
+ echo $ac_n "checking for svgalib""... $ac_c" 1>&6
+echo "configure:8462: checking for svgalib" >&5
+if eval "test \"`echo '$''{'ac_cv_have_svgalib'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 8467 "configure"
+#include "confdefs.h"
+#include <vga.h>
+int main() {
+vga_setmode(0)
+; return 0; }
+EOF
+if { (eval echo configure:8474: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_svgalib=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_svgalib=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_svgalib" 1>&6
+
+ if test "$ac_cv_have_svgalib" = yes; then
+ cat >> confdefs.h <<\EOF
+#define GRDRV_SVGALIB 1
+EOF
+
+ drivers="$drivers SVGALIB"
+ else
+ LIBS="$LIBS_X"
+ fi
+fi
+
+if test "$disable_fb" != yes ; then
+ for ac_hdr in linux/fb.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:8505: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 8510 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:8515: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_hdr in linux/kd.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:8545: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 8550 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:8555: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_hdr in linux/vt.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:8585: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 8590 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:8595: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_hdr in sys/mman.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:8625: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 8630 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:8635: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ if test "$ac_cv_header_linux_fb_h" = yes && test "$ac_cv_header_linux_kd_h" = yes && test "$ac_cv_header_linux_vt_h" = yes && test "$ac_cv_header_sys_mman_h" = yes && test "$ac_cv_header_sys_ioctl_h" = yes && test "$cf_have_gpm" = yes; then
+ cat >> confdefs.h <<\EOF
+#define GRDRV_FB 1
+EOF
+
+ drivers="$drivers FB"
+ fi
+fi
+
+if test "$disable_directfb" != yes ; then
+ # Extract the first word of "directfb-config", so it can be a program name with args.
+set dummy directfb-config; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:8674: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_DIRECTFB_CONFIG'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$DIRECTFB_CONFIG" in
+ /*)
+ ac_cv_path_DIRECTFB_CONFIG="$DIRECTFB_CONFIG" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_DIRECTFB_CONFIG="$DIRECTFB_CONFIG" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_DIRECTFB_CONFIG="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_DIRECTFB_CONFIG" && ac_cv_path_DIRECTFB_CONFIG="no"
+ ;;
+esac
+fi
+DIRECTFB_CONFIG="$ac_cv_path_DIRECTFB_CONFIG"
+if test -n "$DIRECTFB_CONFIG"; then
+ echo "$ac_t""$DIRECTFB_CONFIG" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test "$DIRECTFB_CONFIG" != "no"; then
+ echo $ac_n "checking for DirectFB >= 0.9.17""... $ac_c" 1>&6
+echo "configure:8709: checking for DirectFB >= 0.9.17" >&5
+ directfb_version=`$DIRECTFB_CONFIG --version`
+ if expr $directfb_version \>= 0.9.17 >/dev/null; then
+ echo "$ac_t""yes" 1>&6
+
+ DIRECTFB_CFLAGS="`$DIRECTFB_CONFIG --cflags`"
+ DIRECTFB_LIBS="`$DIRECTFB_CONFIG --libs`"
+ pkgconfig_directfb=yes
+ else
+ echo "$ac_t""no" 1>&6
+ pkgconfig_directfb=no
+ fi
+ else
+
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:8729: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$PKG_CONFIG" in
+ /*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+esac
+fi
+PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+if test -n "$PKG_CONFIG"; then
+ echo "$ac_t""$PKG_CONFIG" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ PKG_CONFIG_MIN_VERSION=0.9.0
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+ echo $ac_n "checking for directfb""... $ac_c" 1>&6
+echo "configure:8773: checking for directfb" >&5
+
+ if $PKG_CONFIG --exists "directfb" ; then
+ echo "$ac_t""yes" 1>&6
+ succeeded=yes
+
+ echo $ac_n "checking DIRECTFB_CFLAGS""... $ac_c" 1>&6
+echo "configure:8780: checking DIRECTFB_CFLAGS" >&5
+ DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags "directfb"`
+ echo "$ac_t""$DIRECTFB_CFLAGS" 1>&6
+
+ echo $ac_n "checking DIRECTFB_LIBS""... $ac_c" 1>&6
+echo "configure:8785: checking DIRECTFB_LIBS" >&5
+ DIRECTFB_LIBS=`$PKG_CONFIG --libs "directfb"`
+ echo "$ac_t""$DIRECTFB_LIBS" 1>&6
+ else
+ DIRECTFB_CFLAGS=""
+ DIRECTFB_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "directfb"`
+
+ fi
+
+
+
+ else
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ pkgconfig_directfb=yes
+ else
+ pkgconfig_directfb=no
+ fi
+
+ if test "$PKG_CONFIG" != no -a "$pkgconfig_directfb" = no; then
+ echo "$ac_t""no" 1>&6
+ fi
+ fi
+
+ if test "$pkgconfig_directfb" = "yes"; then
+ CPPFLAGS_X="$CPPFLAGS"
+ LIBS_X="$LIBS"
+
+ CPPFLAGS="$CPPFLAGS $DIRECTFB_CFLAGS"
+ LIBS="$DIRECTFB_LIBS $LIBS"
+
+ for ac_hdr in directfb.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:8827: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 8832 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:8837: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_func in DirectFBInit
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:8866: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 8871 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:8894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+ if test "$ac_cv_header_directfb_h" = yes && test "$ac_cv_func_DirectFBInit" = yes; then
+ cat >> confdefs.h <<\EOF
+#define GRDRV_DIRECTFB 1
+EOF
+
+ drivers="$drivers DIRECTFB"
+ else
+ CPPFLAGS="$CPPFLAGS_X"
+ LIBS="$LIBS_X"
+ fi
+ fi
+fi
+
+if test "$disable_x" != yes ; then
+ CPPFLAGS_X="$CPPFLAGS"
+ LIBS_X="$LIBS"
+
+ # If we find X, set shell vars x_includes and x_libraries to the
+# paths, otherwise set no_x=yes.
+# Uses ac_ vars as temps to allow command line to override cache and checks.
+# --without-x overrides everything else, but does not touch the cache.
+echo $ac_n "checking for X""... $ac_c" 1>&6
+echo "configure:8941: checking for X" >&5
+
+# Check whether --with-x or --without-x was given.
+if test "${with_x+set}" = set; then
+ withval="$with_x"
+ :
+fi
+
+# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
+if test "x$with_x" = xno; then
+ # The user explicitly disabled X.
+ have_x=disabled
+else
+ if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
+ # Both variables are already set.
+ have_x=yes
+ else
+if eval "test \"`echo '$''{'ac_cv_have_x'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ # One or both of the vars are not set, and there is no cached value.
+ac_x_includes=NO ac_x_libraries=NO
+rm -fr conftestdir
+if mkdir conftestdir; then
+ cd conftestdir
+ # Make sure to not put "make" in the Imakefile rules, since we grep it out.
+ cat > Imakefile <<'EOF'
+acfindx:
+ @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
+EOF
+ if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
+ # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+ eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
+ # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+ for ac_extension in a so sl; do
+ if test ! -f $ac_im_usrlibdir/libX11.$ac_extension &&
+ test -f $ac_im_libdir/libX11.$ac_extension; then
+ ac_im_usrlibdir=$ac_im_libdir; break
+ fi
+ done
+ # Screen out bogus values from the imake configuration. They are
+ # bogus both because they are the default anyway, and because
+ # using them would break gcc on systems where it needs fixed includes.
+ case "$ac_im_incroot" in
+ /usr/include) ;;
+ *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;;
+ esac
+ case "$ac_im_usrlibdir" in
+ /usr/lib | /lib) ;;
+ *) test -d "$ac_im_usrlibdir" && ac_x_libraries="$ac_im_usrlibdir" ;;
+ esac
+ fi
+ cd ..
+ rm -fr conftestdir
+fi
+
+if test "$ac_x_includes" = NO; then
+ # Guess where to find include files, by looking for this one X11 .h file.
+ test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
+
+ # First, try using that file with no special directory specified.
+cat > conftest.$ac_ext <<EOF
+#line 9003 "configure"
+#include "confdefs.h"
+#include <$x_direct_test_include>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:9008: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ # We can compile using X headers with no special include directory.
+ac_x_includes=
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ # Look for the header file in a standard set of common directories.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+ for ac_dir in \
+ /usr/X11/include \
+ /usr/X11R7/include \
+ /usr/X11R6/include \
+ /usr/X11R5/include \
+ /usr/X11R4/include \
+ \
+ /usr/include/X11 \
+ /usr/include/X11R7 \
+ /usr/include/X11R6 \
+ /usr/include/X11R5 \
+ /usr/include/X11R4 \
+ \
+ /usr/local/X11/include \
+ /usr/local/X11R7/include \
+ /usr/local/X11R6/include \
+ /usr/local/X11R5/include \
+ /usr/local/X11R4/include \
+ \
+ /usr/local/include/X11 \
+ /usr/local/include/X11R7 \
+ /usr/local/include/X11R6 \
+ /usr/local/include/X11R5 \
+ /usr/local/include/X11R4 \
+ \
+ /usr/X386/include \
+ /usr/x386/include \
+ /usr/XFree86/include/X11 \
+ \
+ /usr/include \
+ /usr/local/include \
+ /usr/unsupported/include \
+ /usr/athena/include \
+ /usr/local/x11r5/include \
+ /usr/lpp/Xamples/include \
+ \
+ /usr/openwin/include \
+ /usr/openwin/share/include \
+ ; \
+ do
+ if test -r "$ac_dir/$x_direct_test_include"; then
+ ac_x_includes=$ac_dir
+ break
+ fi
+ done
+fi
+rm -f conftest*
+fi # $ac_x_includes = NO
+
+if test "$ac_x_libraries" = NO; then
+ # Check for the libraries.
+
+ test -z "$x_direct_test_library" && x_direct_test_library=Xt
+ test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
+
+ # See if we find them without any special options.
+ # Don't add to $LIBS permanently.
+ ac_save_LIBS="$LIBS"
+ LIBS="-l$x_direct_test_library $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 9077 "configure"
+#include "confdefs.h"
+
+int main() {
+${x_direct_test_function}()
+; return 0; }
+EOF
+if { (eval echo configure:9084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ LIBS="$ac_save_LIBS"
+# We can link X programs with no special library path.
+ac_x_libraries=
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ LIBS="$ac_save_LIBS"
+# First see if replacing the include by lib works.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \
+ /usr/X11/lib \
+ /usr/X11R7/lib \
+ /usr/X11R6/lib \
+ /usr/X11R5/lib \
+ /usr/X11R4/lib \
+ \
+ /usr/lib/X11 \
+ /usr/lib/X11R7 \
+ /usr/lib/X11R6 \
+ /usr/lib/X11R5 \
+ /usr/lib/X11R4 \
+ \
+ /usr/local/X11/lib \
+ /usr/local/X11R7/lib \
+ /usr/local/X11R6/lib \
+ /usr/local/X11R5/lib \
+ /usr/local/X11R4/lib \
+ \
+ /usr/local/lib/X11 \
+ /usr/local/lib/X11R7 \
+ /usr/local/lib/X11R6 \
+ /usr/local/lib/X11R5 \
+ /usr/local/lib/X11R4 \
+ \
+ /usr/X386/lib \
+ /usr/x386/lib \
+ /usr/XFree86/lib/X11 \
+ \
+ /usr/lib \
+ /usr/local/lib \
+ /usr/unsupported/lib \
+ /usr/athena/lib \
+ /usr/local/x11r5/lib \
+ /usr/lpp/Xamples/lib \
+ /lib/usr/lib/X11 \
+ \
+ /usr/openwin/lib \
+ /usr/openwin/share/lib \
+ ; \
+do
+ for ac_extension in a so sl; do
+ if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
+ ac_x_libraries=$ac_dir
+ break 2
+ fi
+ done
+done
+fi
+rm -f conftest*
+fi # $ac_x_libraries = NO
+
+if test "$ac_x_includes" = NO || test "$ac_x_libraries" = NO; then
+ # Didn't find X anywhere. Cache the known absence of X.
+ ac_cv_have_x="have_x=no"
+else
+ # Record where we found X for the cache.
+ ac_cv_have_x="have_x=yes \
+ ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
+fi
+fi
+ fi
+ eval "$ac_cv_have_x"
+fi # $with_x != no
+
+if test "$have_x" != yes; then
+ echo "$ac_t""$have_x" 1>&6
+ no_x=yes
+else
+ # If each of the values was on the command line, it overrides each guess.
+ test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+ test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+ # Update the cache value to reflect the command line values.
+ ac_cv_have_x="have_x=yes \
+ ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
+ echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6
+fi
+
+
+ if test "$static_link" != 0; then
+ echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
+echo "configure:9173: checking for pthread_create in -lpthread" >&5
+ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lpthread $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 9181 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char pthread_create();
+
+int main() {
+pthread_create()
+; return 0; }
+EOF
+if { (eval echo configure:9192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo pthread | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lpthread $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
+echo "configure:9220: checking for dlopen in -ldl" >&5
+ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-ldl $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 9228 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char dlopen();
+
+int main() {
+dlopen()
+; return 0; }
+EOF
+if { (eval echo configure:9239: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo dl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-ldl $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ echo $ac_n "checking for XdmcpWrap in -lXdmcp""... $ac_c" 1>&6
+echo "configure:9267: checking for XdmcpWrap in -lXdmcp" >&5
+ac_lib_var=`echo Xdmcp'_'XdmcpWrap | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lXdmcp $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 9275 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char XdmcpWrap();
+
+int main() {
+XdmcpWrap()
+; return 0; }
+EOF
+if { (eval echo configure:9286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo Xdmcp | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lXdmcp $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ echo $ac_n "checking for XauGetBestAuthByAddr in -lXau""... $ac_c" 1>&6
+echo "configure:9314: checking for XauGetBestAuthByAddr in -lXau" >&5
+ac_lib_var=`echo Xau'_'XauGetBestAuthByAddr | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lXau $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 9322 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char XauGetBestAuthByAddr();
+
+int main() {
+XauGetBestAuthByAddr()
+; return 0; }
+EOF
+if { (eval echo configure:9333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo Xau | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lXau $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ echo $ac_n "checking for xcb_connect in -lxcb""... $ac_c" 1>&6
+echo "configure:9361: checking for xcb_connect in -lxcb" >&5
+ac_lib_var=`echo xcb'_'xcb_connect | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lxcb $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 9369 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char xcb_connect();
+
+int main() {
+xcb_connect()
+; return 0; }
+EOF
+if { (eval echo configure:9380: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo xcb | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lxcb $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ echo $ac_n "checking for xcb_get_request_sent in -lxcb-xlib""... $ac_c" 1>&6
+echo "configure:9408: checking for xcb_get_request_sent in -lxcb-xlib" >&5
+ac_lib_var=`echo xcb-xlib'_'xcb_get_request_sent | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lxcb-xlib $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 9416 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char xcb_get_request_sent();
+
+int main() {
+xcb_get_request_sent()
+; return 0; }
+EOF
+if { (eval echo configure:9427: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo xcb-xlib | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lxcb-xlib $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+
+ LIBS="-lX11 $LIBS"
+ if test "$have_x" = yes; then
+ test -n "$x_libraries" && LIBS="-L$x_libraries $LIBS"
+ test -n "$x_includes" && CPPFLAGS="$CPPFLAGS -I$x_includes"
+ fi
+
+ for ac_hdr in X11/Xlib.h X11/X.h X11/Xutil.h X11/Xatom.h X11/Xlocale.h X11/keysymdef.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:9466: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 9471 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:9476: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+ for ac_func in XOpenDisplay
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:9506: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 9511 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:9534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_func in XOpenIM XCloseIM XCreateIC XDestroyIC XwcLookupString
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:9561: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 9566 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:9589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_func in Xutf8LookupString
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:9616: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 9621 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:9644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_func in XSupportsLocale XmbTextListToTextProperty
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:9671: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 9676 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:9699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+ if test "$have_x" = yes -o "$ac_cv_have_x2" != no && test "$ac_cv_func_XOpenDisplay" = yes && test "$ac_cv_header_X11_Xlib_h" = yes && test "$ac_cv_header_X11_X_h" = yes && test "$ac_cv_header_X11_Xutil_h" = yes && test "$ac_cv_header_X11_Xatom_h" = yes && test "$ac_cv_header_X11_keysymdef_h" = yes; then
+ cat >> confdefs.h <<\EOF
+#define GRDRV_X 1
+EOF
+
+ drivers="$drivers X"
+ else
+ CPPFLAGS="$CPPFLAGS_X"
+ LIBS="$LIBS_X"
+ fi
+fi
+
+
+if test "$disable_pmshell" != yes ; then
+ echo $ac_n "checking for pmshell""... $ac_c" 1>&6
+echo "configure:9739: checking for pmshell" >&5
+if eval "test \"`echo '$''{'ac_cv_have_pmshell'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 9744 "configure"
+#include "confdefs.h"
+#define INCL_WIN
+ #define INCL_GPI
+ #include <os2.h>
+ #include <sys/fmutex.h>
+int main() {
+_fmutex mutex;
+ WinDrawText(NULLHANDLE, -1, NULL, NULL, 0, 0, 0),
+ GpiSetPel(NULLHANDLE, NULL)
+; return 0; }
+EOF
+if { (eval echo configure:9756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_have_pmshell=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_have_pmshell=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_have_pmshell" 1>&6
+
+ if test "$ac_cv_have_pmshell" = yes; then
+ cat >> confdefs.h <<\EOF
+#define GRDRV_PMSHELL 1
+EOF
+
+ drivers="$drivers PMSHELL"
+ fi
+fi
+
+if test "$disable_atheos" != yes ; then
+ old_ext="$ac_ext"
+ ac_ext=cpp
+ for ac_hdr in gui/view.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:9787: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 9792 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:9797: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_hdr in gui/window.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:9827: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 9832 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:9837: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_hdr in gui/desktop.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:9867: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 9872 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:9877: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_hdr in gui/bitmap.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:9907: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 9912 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:9917: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_hdr in util/locker.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:9947: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 9952 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:9957: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_hdr in util/application.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:9987: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 9992 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:9997: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ ac_ext="$old_ext"
+
+ if test "$ac_cv_header_atheos_threads_h" = yes &&
+ test "$ac_cv_header_gui_view_h" = yes &&
+ test "$ac_cv_header_gui_window_h" = yes &&
+ test "$ac_cv_header_gui_desktop_h" = yes &&
+ test "$ac_cv_header_gui_bitmap_h" = yes &&
+ test "$ac_cv_header_util_locker_h" = yes &&
+ test "$ac_cv_header_util_application_h" = yes; then
+ echo $ac_n "checking for main in -lstdc++""... $ac_c" 1>&6
+echo "configure:10033: checking for main in -lstdc++" >&5
+ac_lib_var=`echo stdc++'_'main | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lstdc++ $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 10041 "configure"
+#include "confdefs.h"
+
+int main() {
+main()
+; return 0; }
+EOF
+if { (eval echo configure:10048: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo stdc++ | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lstdc++ $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ echo $ac_n "checking for main in -latheos""... $ac_c" 1>&6
+echo "configure:10076: checking for main in -latheos" >&5
+ac_lib_var=`echo atheos'_'main | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-latheos $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 10084 "configure"
+#include "confdefs.h"
+
+int main() {
+main()
+; return 0; }
+EOF
+if { (eval echo configure:10091: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo atheos | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-latheos $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test "$ac_cv_lib_atheos_main" = no; then
+ echo $ac_n "checking for main in -lsyllable""... $ac_c" 1>&6
+echo "configure:10120: checking for main in -lsyllable" >&5
+ac_lib_var=`echo syllable'_'main | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lsyllable $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 10128 "configure"
+#include "confdefs.h"
+
+int main() {
+main()
+; return 0; }
+EOF
+if { (eval echo configure:10135: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo syllable | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lsyllable $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+ if test "$ac_cv_lib_atheos_main" = yes -o "$ac_cv_lib_syllable_main" = yes; then
+ for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:10169: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CXX="$ac_prog"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+ echo "$ac_t""$CXX" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+test -n "$CXX" && break
+done
+test -n "$CXX" || CXX="gcc"
+
+
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:10201: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+cat > conftest.$ac_ext << EOF
+
+#line 10212 "configure"
+#include "confdefs.h"
+
+int main(){return(0);}
+EOF
+if { (eval echo configure:10217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ ac_cv_prog_cxx_works=yes
+ # If we can't run a trivial program, we are probably using a cross compiler.
+ if (./conftest; exit) 2>/dev/null; then
+ ac_cv_prog_cxx_cross=no
+ else
+ ac_cv_prog_cxx_cross=yes
+ fi
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_cv_prog_cxx_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
+if test $ac_cv_prog_cxx_works = no; then
+ { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:10243: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
+cross_compiling=$ac_cv_prog_cxx_cross
+
+echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
+echo "configure:10248: checking whether we are using GNU C++" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.C <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:10257: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gxx=yes
+else
+ ac_cv_prog_gxx=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gxx" 1>&6
+
+if test $ac_cv_prog_gxx = yes; then
+ GXX=yes
+else
+ GXX=
+fi
+
+ac_test_CXXFLAGS="${CXXFLAGS+set}"
+ac_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS=
+echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
+echo "configure:10276: checking whether ${CXX-g++} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.cc
+if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
+ ac_cv_prog_cxx_g=yes
+else
+ ac_cv_prog_cxx_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS="$ac_save_CXXFLAGS"
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+
+ cat >> confdefs.h <<\EOF
+#define GRDRV_ATHEOS 1
+EOF
+
+ drivers="$drivers ATHEOS"
+ cf_have_atheos=yes
+ fi
+ fi
+fi
+
+ # Check whether --enable-png-pkgconfig or --disable-png-pkgconfig was given.
+if test "${enable_png_pkgconfig+set}" = set; then
+ enableval="$enable_png_pkgconfig"
+ cf_libpng_pkgconfig="$enableval"
+else
+ cf_libpng_pkgconfig=yes
+fi
+
+
+ if test "$static_link" != 0; then
+ echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6
+echo "configure:10328: checking for inflate in -lz" >&5
+ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lz $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 10336 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char inflate();
+
+int main() {
+inflate()
+; return 0; }
+EOF
+if { (eval echo configure:10347: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo z | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lz $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+ if test "$cf_libpng_pkgconfig" != no; then
+
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:10383: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$PKG_CONFIG" in
+ /*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+esac
+fi
+PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+if test -n "$PKG_CONFIG"; then
+ echo "$ac_t""$PKG_CONFIG" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ PKG_CONFIG_MIN_VERSION=0.9.0
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+ echo $ac_n "checking for libpng >= 1.0.0""... $ac_c" 1>&6
+echo "configure:10427: checking for libpng >= 1.0.0" >&5
+
+ if $PKG_CONFIG --exists "libpng >= 1.0.0" ; then
+ echo "$ac_t""yes" 1>&6
+ succeeded=yes
+
+ echo $ac_n "checking LIBPNG_CFLAGS""... $ac_c" 1>&6
+echo "configure:10434: checking LIBPNG_CFLAGS" >&5
+ LIBPNG_CFLAGS=`$PKG_CONFIG --cflags "libpng >= 1.0.0"`
+ echo "$ac_t""$LIBPNG_CFLAGS" 1>&6
+
+ echo $ac_n "checking LIBPNG_LIBS""... $ac_c" 1>&6
+echo "configure:10439: checking LIBPNG_LIBS" >&5
+ LIBPNG_LIBS=`$PKG_CONFIG --libs "libpng >= 1.0.0"`
+ echo "$ac_t""$LIBPNG_LIBS" 1>&6
+ else
+ LIBPNG_CFLAGS=""
+ LIBPNG_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ LIBPNG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libpng >= 1.0.0"`
+
+ fi
+
+
+
+ else
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ pkgconfig_libpng=yes
+ else
+ pkgconfig_libpng=no
+ fi
+
+ if test "$PKG_CONFIG" != no -a "$pkgconfig_libpng" = no; then
+ echo "$ac_t""no" 1>&6
+ fi
+ if test "$pkgconfig_libpng" = "yes"; then
+ CPPFLAGS="$CPPFLAGS $LIBPNG_CFLAGS"
+ LIBS="$LIBPNG_LIBS $LIBS"
+ else
+
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:10479: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$PKG_CONFIG" in
+ /*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+esac
+fi
+PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+if test -n "$PKG_CONFIG"; then
+ echo "$ac_t""$PKG_CONFIG" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ PKG_CONFIG_MIN_VERSION=0.9.0
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+ echo $ac_n "checking for libpng12""... $ac_c" 1>&6
+echo "configure:10523: checking for libpng12" >&5
+
+ if $PKG_CONFIG --exists "libpng12" ; then
+ echo "$ac_t""yes" 1>&6
+ succeeded=yes
+
+ echo $ac_n "checking LIBPNG12_CFLAGS""... $ac_c" 1>&6
+echo "configure:10530: checking LIBPNG12_CFLAGS" >&5
+ LIBPNG12_CFLAGS=`$PKG_CONFIG --cflags "libpng12"`
+ echo "$ac_t""$LIBPNG12_CFLAGS" 1>&6
+
+ echo $ac_n "checking LIBPNG12_LIBS""... $ac_c" 1>&6
+echo "configure:10535: checking LIBPNG12_LIBS" >&5
+ LIBPNG12_LIBS=`$PKG_CONFIG --libs "libpng12"`
+ echo "$ac_t""$LIBPNG12_LIBS" 1>&6
+ else
+ LIBPNG12_CFLAGS=""
+ LIBPNG12_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ LIBPNG12_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libpng12"`
+
+ fi
+
+
+
+ else
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ pkgconfig_libpng12=yes
+ else
+ pkgconfig_libpng12=no
+ fi
+
+ if test "$PKG_CONFIG" != no -a "$pkgconfig_libpng12" = no; then
+ echo "$ac_t""no" 1>&6
+ fi
+ if test "$pkgconfig_libpng12" = "yes"; then
+ CPPFLAGS="$CPPFLAGS $LIBPNG12_CFLAGS"
+ LIBS="$LIBPNG12_LIBS $LIBS"
+ fi
+ fi
+ fi
+ for ac_hdr in png.h libpng/png.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:10574: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 10579 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:10584: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_func in png_create_info_struct
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:10613: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 10618 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:10641: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ if test "$ac_cv_func_png_create_info_struct" != yes; then
+ echo $ac_n "checking for png_create_info_struct in -lpng""... $ac_c" 1>&6
+echo "configure:10667: checking for png_create_info_struct in -lpng" >&5
+ac_lib_var=`echo png'_'png_create_info_struct | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lpng $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 10675 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char png_create_info_struct();
+
+int main() {
+png_create_info_struct()
+; return 0; }
+EOF
+if { (eval echo configure:10686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo png | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lpng $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+ if test "$ac_cv_header_png_h" != yes -a "$ac_cv_header_libpng_png_h" != yes || test "$ac_cv_func_png_create_info_struct" != yes -a "$ac_cv_lib_png_png_create_info_struct" != yes; then
+ { echo "configure: error: You need libpng to compile Links in graphics mode" 1>&2; exit 1; }
+ fi
+
+ for ac_func in png_set_rgb_to_gray
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:10721: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 10726 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:10749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_func in png_get_libpng_ver
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:10776: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 10781 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:10804: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_func in png_get_image_width png_get_image_height png_get_gAMA png_get_color_type png_get_bit_depth png_set_strip_alpha png_get_valid png_get_sRGB
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:10831: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 10836 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:10859: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ if test "$ac_cv_func_png_get_image_width" != yes ||
+ test "$ac_cv_func_png_get_image_height" != yes ||
+ test "$ac_cv_func_png_get_gAMA" != yes ||
+ test "$ac_cv_func_png_get_color_type" != yes ||
+ test "$ac_cv_func_png_get_bit_depth" != yes ||
+ test "$ac_cv_func_png_set_strip_alpha" != yes ||
+ test "$ac_cv_func_png_get_valid" != yes ||
+ test "$ac_cv_func_png_get_sRGB" != yes; then
+ { echo "configure: error: Your libpng is too old" 1>&2; exit 1; }
+ fi
+
+ echo $ac_n "checking if you can include both setjmp.h and png.h""... $ac_c" 1>&6
+echo "configure:10895: checking if you can include both setjmp.h and png.h" >&5
+if eval "test \"`echo '$''{'ac_cv_include_setjmp_png'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 10900 "configure"
+#include "confdefs.h"
+#include <setjmp.h>
+ #include <png.h>
+int main() {
+jmp_buf bla;
+; return 0; }
+EOF
+if { (eval echo configure:10908: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_include_setjmp_png=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_include_setjmp_png=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_include_setjmp_png" 1>&6
+
+ if test "$ac_cv_include_setjmp_png" != yes; then
+ cat >> confdefs.h <<\EOF
+#define DONT_INCLUDE_SETJMP 1
+EOF
+
+ fi
+
+ # Check whether --with-libjpeg or --without-libjpeg was given.
+if test "${with_libjpeg+set}" = set; then
+ withval="$with_libjpeg"
+ if test "$withval" = no; then disable_jpeg=yes; else disable_jpeg=no; fi
+fi
+
+ cf_have_jpeg=no
+ if test "$disable_jpeg" != yes ; then
+ for ac_hdr in jpeglib.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:10942: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 10947 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:10952: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6
+echo "configure:10979: checking for jpeg_destroy_decompress in -ljpeg" >&5
+ac_lib_var=`echo jpeg'_'jpeg_destroy_decompress | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-ljpeg $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 10987 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char jpeg_destroy_decompress();
+
+int main() {
+jpeg_destroy_decompress()
+; return 0; }
+EOF
+if { (eval echo configure:10998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo jpeg | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-ljpeg $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test "$ac_cv_header_jpeglib_h" = yes && test "$ac_cv_lib_jpeg_jpeg_destroy_decompress" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_JPEG 1
+EOF
+
+ cf_have_jpeg=yes
+ image_formats="$image_formats JPEG"
+ fi
+ fi
+
+ # Check whether --with-libtiff or --without-libtiff was given.
+if test "${with_libtiff+set}" = set; then
+ withval="$with_libtiff"
+ if test "$withval" = no; then disable_tiff=yes; else disable_tiff=no; fi
+fi
+
+ cf_have_tiff=no
+ if test "$disable_tiff" != yes ; then
+ if test "$static_link" != 0; then
+ echo $ac_n "checking for jbg_enc_init in -ljbig""... $ac_c" 1>&6
+echo "configure:11045: checking for jbg_enc_init in -ljbig" >&5
+ac_lib_var=`echo jbig'_'jbg_enc_init | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-ljbig $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 11053 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char jbg_enc_init();
+
+int main() {
+jbg_enc_init()
+; return 0; }
+EOF
+if { (eval echo configure:11064: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo jbig | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-ljbig $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+ for ac_hdr in tiffio.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:11096: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 11101 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:11106: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ echo $ac_n "checking for TIFFClientOpen in -ltiff""... $ac_c" 1>&6
+echo "configure:11133: checking for TIFFClientOpen in -ltiff" >&5
+ac_lib_var=`echo tiff'_'TIFFClientOpen | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-ltiff $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 11141 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char TIFFClientOpen();
+
+int main() {
+TIFFClientOpen()
+; return 0; }
+EOF
+if { (eval echo configure:11152: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo tiff | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-ltiff $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test "$ac_cv_header_tiffio_h" = yes && test "$ac_cv_lib_tiff_TIFFClientOpen" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_TIFF 1
+EOF
+
+ cf_have_tiff=yes
+ image_formats="$image_formats TIFF"
+ fi
+ fi
+
+
+ if test -z "$drivers" && test "$cf_use_graphics" != no; then
+ { echo "configure: error: No graphics drivers found." 1>&2; exit 1; }
+ fi
+fi
+
+
+
+
+if test "$cf_have_atheos" = yes; then
+ ATHEOS_GR_TRUE=
+ ATHEOS_GR_FALSE='#'
+else
+ ATHEOS_GR_TRUE='#'
+ ATHEOS_GR_FALSE=
+fi
+
+test "$ac_cv_have_emx" = yes && LDFLAGS="$LDFLAGS -Zexe"
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+DEFS=-DHAVE_CONFIG_H
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@CPP@%$CPP%g
+s%@PKG_CONFIG@%$PKG_CONFIG%g
+s%@OPENSSL_CFLAGS@%$OPENSSL_CFLAGS%g
+s%@OPENSSL_LIBS@%$OPENSSL_LIBS%g
+s%@NSS_CFLAGS@%$NSS_CFLAGS%g
+s%@NSS_LIBS@%$NSS_LIBS%g
+s%@DIRECTFB_CONFIG@%$DIRECTFB_CONFIG%g
+s%@DIRECTFB_CFLAGS@%$DIRECTFB_CFLAGS%g
+s%@DIRECTFB_LIBS@%$DIRECTFB_LIBS%g
+s%@CXX@%$CXX%g
+s%@LIBPNG_CFLAGS@%$LIBPNG_CFLAGS%g
+s%@LIBPNG_LIBS@%$LIBPNG_LIBS%g
+s%@LIBPNG12_CFLAGS@%$LIBPNG12_CFLAGS%g
+s%@LIBPNG12_LIBS@%$LIBPNG12_LIBS%g
+s%@ATHEOS_GR_TRUE@%$ATHEOS_GR_TRUE%g
+s%@ATHEOS_GR_FALSE@%$ATHEOS_GR_FALSE%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
+ac_dC='\3'
+ac_dD='%g'
+# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
+ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='\([ ]\)%\1#\2define\3'
+ac_uC=' '
+ac_uD='\4%g'
+# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_eB='$%\1#\2define\3'
+ac_eC=' '
+ac_eD='%g'
+
+if test "${CONFIG_HEADERS+set}" != set; then
+EOF
+cat >> $CONFIG_STATUS <<EOF
+ CONFIG_HEADERS="config.h"
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+fi
+for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ echo creating $ac_file
+
+ rm -f conftest.frag conftest.in conftest.out
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ cat $ac_file_inputs > conftest.in
+
+EOF
+
+# Transform confdefs.h into a sed script conftest.vals that substitutes
+# the proper values into config.h.in to produce config.h. And first:
+# Protect against being on the right side of a sed subst in config.status.
+# Protect against being in an unquoted here document in config.status.
+rm -f conftest.vals
+cat > conftest.hdr <<\EOF
+s/[\\&%]/\\&/g
+s%[\\$`]%\\&%g
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
+s%ac_d%ac_u%gp
+s%ac_u%ac_e%gp
+EOF
+sed -n -f conftest.hdr confdefs.h > conftest.vals
+rm -f conftest.hdr
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >> conftest.vals <<\EOF
+s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
+EOF
+
+# Break up conftest.vals because some shells have a limit on
+# the size of here documents, and old seds have small limits too.
+
+rm -f conftest.tail
+while :
+do
+ ac_lines=`grep -c . conftest.vals`
+ # grep -c gives empty output for an empty file on some AIX systems.
+ if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
+ # Write a limited-size here document to conftest.frag.
+ echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
+ echo 'CEOF
+ sed -f conftest.frag conftest.in > conftest.out
+ rm -f conftest.in
+ mv conftest.out conftest.in
+' >> $CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
+ rm -f conftest.vals
+ mv conftest.tail conftest.vals
+done
+rm -f conftest.vals
+
+cat >> $CONFIG_STATUS <<\EOF
+ rm -f conftest.frag conftest.h
+ echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
+ cat conftest.in >> conftest.h
+ rm -f conftest.in
+ if cmp -s $ac_file conftest.h 2>/dev/null; then
+ echo "$ac_file is unchanged"
+ rm -f conftest.h
+ else
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ fi
+ rm -f $ac_file
+ mv conftest.h $ac_file
+ fi
+fi; done
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
+
+echo "---------------------------------------------------------"
+echo "Configuration results:"
+echo ""
+if test "$cf_enable_utf8" != no; then echo "UTF-8 terminal: YES"; else echo "UTF-8 terminal: NO"; fi
+if test "$cf_have_gpm" = yes; then echo "GPM support: YES"; else echo "GPM support: NO"; fi
+echo "SSL support: `echo $cf_have_ssl|tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`"
+compression="`echo "$compression"|sed 's/^ //'`"
+if test -z "$compression"; then compression="NONE"; fi
+ echo "Supported compression: $compression"
+if test "$cf_use_graphics" != no; then
+ echo "Graphics enabled: YES"
+ echo "Graphics drivers: `echo "$drivers"|sed 's/^ //'`"
+ echo "Image formats: $image_formats"
+else echo "Graphics enabled: NO"; fi
+if test "$ac_cv_have_emx" = yes; then
+ if test "$ac_cv_have_x2" != no; then echo "xterm for OS/2 support: YES"; else echo "xterm for OS/2 support: NO"; fi
+fi
+echo "---------------------------------------------------------"
+if test "$cf_have_ssl" = "nss"; then
+ echo "!!! WARNING !!! NSS encryption library can cause lockup"
+ echo "of the whole browser if the server is not responding."
+ echo "It is recommended to use OpenSSL instead."
+ echo "---------------------------------------------------------"
+fi
+if test -n "`echo "$drivers"|grep -w X`" -a "$ac_cv_header_interix_interix_h" = yes; then
+ echo "!!! WARNING !!! Xwindow in Interix is unreliable and"
+ echo "it may cause browser lockup."
+ echo "It is recommended to use Cygwin instead."
+ echo "---------------------------------------------------------"
+fi
+
+
+#mv Makefile Makefile.tmp
+#grep -v DEPS_MAGIC Makefile.tmp >Makefile
+#rm Makefile.tmp
+
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..a2f60db
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,1029 @@
+# configure.in
+# (c) 2002 Mikulas Patocka, Karel 'Clock' Kulhavy, Petr 'Brain' Kulhavy,
+# Martin 'PerM' Pergel
+# This file is a part of the Links program, released under GPL.
+
+AC_INIT(main.c)
+
+AM_INIT_AUTOMAKE(links, 2.6)
+
+ACLOCAL="./missing aclocal"
+AUTOCONF="./missing autoconf"
+AUTOMAKE="./missing automake"
+AUTOHEADER="./missing autoheader"
+image_formats="GIF PNG XBM"
+
+AM_CONFIG_HEADER(config.h)
+
+dnl Checks for programs.
+AC_PROG_CC
+
+#AC_PROG_CXX
+#AC_PROG_AWK
+#AM_PROG_LEX
+#AC_PROG_YACC
+
+static_link=0
+if test -n "`echo "$CC" "$LDFLAGS" "$CFLAGS" "$LIBS" | grep 'static\>'`"; then
+ static_link=1
+fi
+
+if test -n "`uname|grep -i bsd`"; then
+ CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+ LDFLAGS="$LDFLAGS -L/usr/local/lib"
+fi
+
+AC_HEADER_STDC
+AC_PROG_GCC_TRADITIONAL
+
+dnl Check for libraries
+
+AC_CACHE_CHECK([for EMX], ac_cv_have_emx,
+ AC_TRY_COMPILE(, [#ifndef __EMX__
+ kill me!
+ #endif ], ac_cv_have_emx=yes, ac_cv_have_emx=no)
+)
+test "$ac_cv_have_emx" = yes && LDFLAGS="`echo "$LDFLAGS" | sed "s/-Zexe//g" | sed "s/-Zbin-files//g"`"
+test "$ac_cv_have_emx" = yes && test "$static_link" = 0 && LDFLAGS="$LDFLAGS -Zcrtdll"
+
+AC_CACHE_CHECK([for OpenWatcom], ac_cv_have_watcom,
+ AC_TRY_COMPILE(, [#ifndef __WATCOMC__
+ kill me!
+ #endif ], ac_cv_have_watcom=yes, ac_cv_have_watcom=no)
+)
+test "$ac_cv_have_watcom" = yes && ac_cv_lib_dir_opendir=no
+
+AC_CACHE_CHECK([for typeof], ac_cv_have_typeof,
+ AC_TRY_COMPILE(, [int a;
+ typeof(a) b;], ac_cv_have_typeof=yes, ac_cv_have_typeof=no)
+ )
+test "$ac_cv_have_typeof" = yes && AC_DEFINE(HAVE_TYPEOF)
+
+AC_CACHE_CHECK([for long long], ac_cv_have_long_long,
+ AC_TRY_COMPILE(, [unsigned long long a; ], ac_cv_have_long_long=yes, ac_cv_have_long_long=no)
+)
+test "$ac_cv_have_long_long" = yes && AC_DEFINE(HAVE_LONG_LONG)
+
+AC_CACHE_CHECK([for pointer comparison bug], ac_cv_pointer_comparison_bug,
+ AC_TRY_RUN([
+ int main()
+ {
+ void *p = (void *)-1L;
+ return p != (void *)-1L;
+ }
+ ], ac_cv_pointer_comparison_bug=no, ac_cv_pointer_comparison_bug=yes,
+ [if test -n "`echo "$CC"|grep ^tcc`"; then
+ ac_cv_pointer_comparison_bug=yes
+ else
+ ac_cv_pointer_comparison_bug=no
+ fi]
+ )
+)
+test "$ac_cv_pointer_comparison_bug" = yes && AC_DEFINE(HAVE_POINTER_COMPARISON_BUG)
+
+if test "$ac_cv_have_long_long" = yes; then
+ AC_CACHE_CHECK([for maxint conversion bug], ac_cv_maxint_conversion_bug,
+ AC_TRY_RUN([
+ int main()
+ {
+ volatile long long q = 0x7FFFFFEF;
+ return q < 0;
+ }
+ ], ac_cv_maxint_conversion_bug=no, ac_cv_maxint_conversion_bug=yes,
+ [if test -n "`echo "$CC"|grep ^cc`" -a "`uname -s`" = HP-UX; then
+ ac_cv_maxint_conversion_bug=yes
+ else
+ ac_cv_maxint_conversion_bug=no
+ fi]
+ )
+ )
+ test "$ac_cv_maxint_conversion_bug" = yes && AC_DEFINE(HAVE_MAXINT_CONVERSION_BUG)
+fi
+
+dnl AC_CACHE_CHECK([for _FILE_OFFSET_BITS 64], ac_cv_have_file_offset_bits,
+dnl AC_TRY_COMPILE([
+dnl #define _FILE_OFFSET_BITS 64
+dnl #include <stdio.h>
+dnl ], [
+dnl return 0;
+dnl ], ac_cv_have_file_offset_bits=yes, ac_cv_have_file_offset_bits=no)
+dnl )
+dnl test "$ac_cv_have_file_offset_bits" = yes && AC_DEFINE(HAVE_FILE_OFFSET_BITS)
+
+dnl Checks for header files.
+AC_HEADER_DIRENT
+AC_HEADER_SYS_WAIT
+AC_CHECK_HEADERS(fcntl.h)
+AC_CHECK_HEADERS(limits.h)
+AC_CHECK_HEADERS(sys/ioctl.h)
+AC_CHECK_HEADERS(sys/time.h)
+AC_CHECK_HEADERS(time.h)
+AC_CHECK_HEADERS(unistd.h)
+AC_CHECK_HEADERS(math.h)
+AC_CHECK_HEADERS(ieee.h)
+AC_CHECK_HEADERS(endian.h)
+AC_CHECK_HEADERS(values.h)
+AC_CHECK_HEADERS(sigaction.h)
+AC_CHECK_HEADERS(netinet/in_systm.h)
+AC_CHECK_HEADERS(netinet/in_system.h)
+AC_CHECK_HEADERS(netinet/ip.h)
+AC_CHECK_HEADERS(arpa/inet.h)
+AC_CHECK_HEADERS(netinet/dhcp.h)
+AC_CHECK_HEADERS(net/socket.h)
+AC_CHECK_HEADERS(sys/select.h)
+AC_CHECK_HEADERS(sys/resource.h)
+AC_CHECK_HEADERS(sys/utsname.h)
+AC_CHECK_HEADERS(sys/un.h)
+AC_CHECK_HEADERS(sys/fmutex.h)
+AC_CHECK_HEADERS(sys/cygwin.h)
+AC_CHECK_HEADERS(uwin.h)
+AC_CHECK_HEADERS(interix/interix.h)
+AC_CHECK_HEADERS(io.h)
+AC_CHECK_HEADERS(process.h)
+AC_CHECK_HEADERS(cygwin/process.h)
+AC_CHECK_HEADERS(setjmp.h)
+AC_CHECK_HEADERS(langinfo.h)
+AC_CHECK_HEADERS(pwd.h)
+AC_CHECK_HEADERS(grp.h)
+AC_CHECK_HEADERS(malloc.h)
+AC_CHECK_HEADERS(alloca.h)
+AC_CHECK_HEADERS(umalloc.h)
+dnl javascript AC_CHECK_HEADERS(md5.h)
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_C_INLINE
+AC_TYPE_SIZE_T
+AC_CACHE_CHECK([for socklen_t], ac_cv_have_socklen_t,
+ AC_TRY_COMPILE([
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ], [
+ socklen_t a = 0;
+ return a;
+ ], ac_cv_have_socklen_t=yes, ac_cv_have_socklen_t=no)
+)
+if test "$ac_cv_have_socklen_t" = yes; then
+ AC_DEFINE(HAVE_SOCKLEN_T)
+fi
+
+AC_HEADER_TIME
+AC_STRUCT_TM
+
+if test "$ac_cv_have_emx" = yes; then
+ default_short=2
+ default_int=4
+ default_long=4
+ default_long_long=8
+else
+ default_short=0
+ default_int=0
+ default_long=0
+ default_long_long=0
+fi
+
+dnl Check for compiler type sizes
+dnl AC_CHECK_SIZEOF(short, "$default_short")
+AC_CHECK_SIZEOF(unsigned short,"$default_short")
+dnl AC_CHECK_SIZEOF(int,"$default_int")
+AC_CHECK_SIZEOF(unsigned, "$default_int")
+dnl AC_CHECK_SIZEOF(long, "$default_long")
+AC_CHECK_SIZEOF(unsigned long, "$default_long")
+if test "$ac_cv_have_long_long" = yes; then
+dnl AC_CHECK_SIZEOF(long long, "$default_long")
+ AC_CHECK_SIZEOF(unsigned long long, "$default_long")
+fi
+AC_CACHE_CHECK([for big endian], ac_cv_big_endian,
+ AC_TRY_RUN([
+ long l;
+ char *c = (char *)&l;
+ int main()
+ {
+ l = 0x12345678L;
+ return !(c[[sizeof(long) - 1]] == 0x78 && c[[sizeof(long) - 2]] == 0x56 && c[[sizeof(long) - 3]] == 0x34 && c[[sizeof(long) - 4]] == 0x12);
+ }
+ ], ac_cv_big_endian=yes, ac_cv_big_endian=no, ac_cv_big_endian=no)
+)
+AC_CACHE_CHECK([for little endian], ac_cv_little_endian,
+ AC_TRY_RUN([
+ long l;
+ char *c = (char *)&l;
+ int main()
+ {
+ l = 0x12345678L;
+ return !(c[[0]] == 0x78 && c[[1]] == 0x56 && c[[2]] == 0x34 && c[[3]] == 0x12);
+ }
+ ], ac_cv_little_endian=yes, ac_cv_little_endian=no, ac_cv_little_endian="$ac_cv_have_emx")
+)
+
+if test "$ac_cv_big_endian" = yes; then
+ AC_DEFINE(C_BIG_ENDIAN)
+else if test "$ac_cv_little_endian" = yes; then
+ AC_DEFINE(C_LITTLE_ENDIAN)
+fi
+fi
+
+AC_CACHE_CHECK([if rename can replace existing files], ac_cv_rename_over_existing_files,
+ AC_TRY_RUN([
+ #include <fcntl.h>
+ #include <stdio.h>
+ #include <unistd.h>
+
+ int main()
+ {
+ int ret;
+ close(creat("conftest.rename1", 0600));
+ close(creat("conftest.rename2", 0600));
+ ret = rename("conftest.rename1", "conftest.rename2");
+ unlink("conftest.rename1");
+ unlink("conftest.rename2");
+ return !!ret;
+ }
+ ], ac_cv_rename_over_existing_files=yes, ac_cv_rename_over_existing_files=no, ac_cv_rename_over_existing_files=no)
+)
+
+if test "$ac_cv_rename_over_existing_files" = yes; then
+ AC_DEFINE(RENAME_OVER_EXISTING_FILES)
+fi
+
+dnl Checks for library functions.
+AC_TYPE_SIGNAL
+AC_FUNC_STRFTIME
+AC_FUNC_VPRINTF
+AC_HAVE_FUNCS(calloc)
+AC_HAVE_FUNCS(mkdir)
+AC_HAVE_FUNCS(select)
+AC_HAVE_FUNCS(chmod)
+AC_HAVE_FUNCS(getpid)
+AC_HAVE_FUNCS(setpgid)
+AC_HAVE_FUNCS(popen)
+AC_HAVE_FUNCS(uname)
+AC_HAVE_FUNCS(getpagesize)
+AC_HAVE_FUNCS(strptime)
+AC_HAVE_FUNCS(getpwuid)
+AC_HAVE_FUNCS(getgrgid)
+AC_HAVE_FUNCS(getrlimit)
+AC_HAVE_FUNCS(setrlimit)
+AC_HAVE_FUNCS(setlocale)
+AC_HAVE_FUNCS(nl_langinfo)
+AC_HAVE_FUNCS(_heapmin)
+AC_HAVE_FUNCS(_ucreate)
+AC_HAVE_FUNCS(_uopen)
+AC_HAVE_FUNCS(_udestroy)
+AC_HAVE_FUNCS(_udefault)
+
+AC_HAVE_FUNCS(snprintf)
+AC_HAVE_FUNCS(raise)
+AC_HAVE_FUNCS(gettimeofday)
+AC_HAVE_FUNCS(tempnam)
+AC_HAVE_FUNCS(sigfillset)
+AC_HAVE_FUNCS(sigdelset)
+AC_HAVE_FUNCS(strtol)
+AC_HAVE_FUNCS(strtoul)
+AC_HAVE_FUNCS(strtoq)
+AC_HAVE_FUNCS(strtoll)
+
+dnl AC_HAVE_FUNCS(strlen)
+AC_CACHE_CHECK([for strlen], ac_cv_have_strlen,
+ AC_TRY_LINK([#include <string.h>], [strlen(""); return 0;], ac_cv_have_strlen=yes, ac_cv_have_strlen=no)
+)
+if test "$ac_cv_have_strlen" = yes; then
+ AC_DEFINE(HAVE_STRLEN)
+fi
+
+dnl AC_HAVE_FUNCS(strcpy)
+AC_CACHE_CHECK([for strcpy], ac_cv_have_strcpy,
+ AC_TRY_LINK([#include <string.h>], [char a[[1]]; strcpy(a, ""); return 0;], ac_cv_have_strcpy=yes, ac_cv_have_strcpy=no)
+)
+if test "$ac_cv_have_strcpy" = yes; then
+ AC_DEFINE(HAVE_STRCPY)
+fi
+
+dnl AC_HAVE_FUNCS(strchr)
+AC_CACHE_CHECK([for strchr], ac_cv_have_strchr,
+ AC_TRY_LINK([#include <string.h>], [strchr("", 0); return 0;], ac_cv_have_strchr=yes, ac_cv_have_strchr=no)
+)
+if test "$ac_cv_have_strchr" = yes; then
+ AC_DEFINE(HAVE_STRCHR)
+fi
+
+dnl AC_HAVE_FUNCS(strrchr)
+AC_CACHE_CHECK([for strrchr], ac_cv_have_strrchr,
+ AC_TRY_LINK([#include <string.h>], [strrchr("", 0); return 0;], ac_cv_have_strrchr=yes, ac_cv_have_strrchr=no)
+)
+if test "$ac_cv_have_strrchr" = yes; then
+ AC_DEFINE(HAVE_STRRCHR)
+fi
+
+dnl AC_HAVE_FUNCS(strcmp)
+AC_CACHE_CHECK([for strcmp], ac_cv_have_strcmp,
+ AC_TRY_LINK([#include <string.h>], [strcmp("", ""); return 0;], ac_cv_have_strcmp=yes, ac_cv_have_strcmp=no)
+)
+if test "$ac_cv_have_strcmp" = yes; then
+ AC_DEFINE(HAVE_STRCMP)
+fi
+
+dnl AC_HAVE_FUNCS(strncmp)
+AC_CACHE_CHECK([for strncmp], ac_cv_have_strncmp,
+ AC_TRY_LINK([#include <string.h>], [strncmp("", "", 1); return 0;], ac_cv_have_strncmp=yes, ac_cv_have_strncmp=no)
+)
+if test "$ac_cv_have_strncmp" = yes; then
+ AC_DEFINE(HAVE_STRNCMP)
+fi
+
+dnl AC_HAVE_FUNCS(strcspn)
+AC_CACHE_CHECK([for strcspn], ac_cv_have_strcspn,
+ AC_TRY_LINK([#include <string.h>], [strcspn("", ""); return 0;], ac_cv_have_strcspn=yes, ac_cv_have_strcspn=no)
+)
+if test "$ac_cv_have_strcspn" = yes; then
+ AC_DEFINE(HAVE_STRCSPN)
+fi
+
+dnl AC_HAVE_FUNCS(strstr)
+AC_CACHE_CHECK([for strstr], ac_cv_have_strstr,
+ AC_TRY_LINK([#include <string.h>], [strstr("", ""); return 0;], ac_cv_have_strstr=yes, ac_cv_have_strstr=no)
+)
+if test "$ac_cv_have_strstr" = yes; then
+ AC_DEFINE(HAVE_STRSTR)
+fi
+
+dnl AC_HAVE_FUNCS(memmove)
+AC_CACHE_CHECK([for memmove], ac_cv_have_memmove,
+ AC_TRY_LINK([#include <string.h>], [char a[[1]]; memmove(a, a, 1); return 0;], ac_cv_have_memmove=yes, ac_cv_have_memmove=no)
+)
+if test "$ac_cv_have_memmove" = yes; then
+ AC_DEFINE(HAVE_MEMMOVE)
+fi
+
+dnl AC_HAVE_FUNCS(strerror)
+AC_CACHE_CHECK([for strerror], ac_cv_have_strerror,
+ AC_TRY_LINK([#include <string.h>], [char *c = strerror(1); return 0;], ac_cv_have_strerror=yes, ac_cv_have_strerror=no)
+)
+if test "$ac_cv_have_strerror" = yes; then
+ AC_DEFINE(HAVE_STRERROR)
+fi
+
+dnl AC_HAVE_FUNCS(sigsetjmp siglongjmp)
+AC_CACHE_CHECK([for sigsetjmp/siglongjmp], ac_cv_have_sigsetjmp,
+ AC_TRY_LINK([#include <setjmp.h>], [sigjmp_buf env;sigsetjmp(env, 1);siglongjmp(env, 2);], ac_cv_have_sigsetjmp=yes, ac_cv_have_sigsetjmp=no)
+)
+if test "$ac_cv_have_sigsetjmp" = yes; then
+ AC_DEFINE(HAVE_SIGSETJMP)
+fi
+
+if test "$ac_cv_func_select" != yes; then
+ AC_ERROR([select function not present])
+fi
+if test "$ac_cv_func_strtol" != yes; then
+ AC_ERROR([strtol function not present])
+fi
+
+dnl Checks for libraries.
+
+dnl javascript AC_CHECK_LIB(md, MD5Data)
+dnl javascript AC_HAVE_FUNCS(MD5Init MD5Data)
+
+AC_CHECK_FUNC(socket, cf_result=yes, cf_result=no)
+if test "$cf_result" = no; then
+ AC_CHECK_LIB(socket, socket)
+ if test "$ac_cv_lib_socket_socket" = no; then
+ AC_CHECK_LIB(network, socket)
+ if test "$ac_cv_lib_network_socket" = no; then
+ AC_ERROR([socket function not present])
+ fi
+ fi
+fi
+AC_CHECK_FUNC(setsockopt, cf_result=yes, cf_result=no)
+if test "$cf_result" = no; then
+ AC_CHECK_LIB(socket, setsockopt)
+fi
+
+#AC_MSG_CHECKING([for gethostbyname])
+#AC_TRY_LINK([#include <netdb.h>], [gethostbyname("")], cf_result=yes, cf_result=no)
+#AC_MSG_RESULT($cf_result)
+AC_CHECK_FUNC(gethostbyname, cf_result=yes, cf_result=no)
+if test "$cf_result" = no; then
+ AC_CHECK_LIB(socket, gethostbyname)
+ cf_result="$ac_cv_lib_socket_gethostbyname"
+ if test "$ac_cv_lib_socket_gethostbyname" = no; then
+ AC_CHECK_LIB(nsl, gethostbyname)
+ cf_result="$ac_cv_lib_nsl_gethostbyname"
+ fi
+fi
+test "$cf_result" = yes && AC_DEFINE(HAVE_GETHOSTBYNAME)
+
+if test "$cf_result" = yes && test "$ac_cv_have_watcom" = yes -o "`uname -s`" = SunOS; then
+ AC_CACHE_CHECK([for flawed gethostbyname], ac_cv_gethostbyname_bug,
+ AC_TRY_RUN([
+ #include <netdb.h>
+ int main()
+ {
+ return !gethostbyname("www.gnu.org");
+ }
+ ], ac_cv_gethostbyname_bug=no, ac_cv_gethostbyname_bug=yes, ac_cv_gethostbyname_bug="$ac_cv_have_watcom")
+ )
+ test "$ac_cv_gethostbyname_bug" = yes && AC_DEFINE(HAVE_GETHOSTBYNAME_BUG)
+fi
+
+AC_HAVE_FUNCS(gethostbyaddr)
+AC_HAVE_FUNCS(dhcp_option)
+
+AC_HAVE_FUNCS(herror)
+AC_HAVE_FUNCS(cfmakeraw)
+
+AC_HAVE_FUNCS(cygwin_conv_to_full_win32_path)
+AC_HAVE_FUNCS(cygwin_conv_path)
+
+AC_HAVE_FUNCS(uwin_path)
+
+AC_HAVE_FUNCS(unixpath2win)
+AC_HAVE_FUNCS(winpath2unix)
+
+AC_MSG_CHECKING([for requested debug level])
+AC_ARG_ENABLE(debuglevel, [ --enable-debuglevel set internal checking level
+ -1 - recover from segmentation faults
+ 0 - no checks (fastest)
+ 1 - check memory leaks
+ 2 - check memory leaks, red zone
+ 3 - check memory leaks, red zone, pattern filling], cf_debuglevel="$enableval", cf_debuglevel=0)
+if test "$cf_debuglevel" = no; then cf_debuglevel=0; fi
+if test "$cf_debuglevel" = yes; then cf_debuglevel=2; fi
+AC_MSG_RESULT($cf_debuglevel)
+if test "$cf_debuglevel" != -1 && test "$cf_debuglevel" != 0 && test "$cf_debuglevel" != 1 && test "$cf_debuglevel" != 2 && test "$cf_debuglevel" != 3; then
+ AC_ERROR([Invalid debuglevel specified])
+fi
+AC_DEFINE_UNQUOTED(DEBUGLEVEL, $cf_debuglevel)
+
+dnl javascript AC_MSG_CHECKING([if you want to enable javascript])
+dnl javascript cf_use_javascript=no
+dnl javascript AC_ARG_ENABLE(javascript, [ --enable-javascript use javascript interpreter], cf_use_javascript="$enableval")
+dnl javascript AC_MSG_RESULT($cf_use_javascript)
+dnl javascript if test "$cf_use_javascript" = yes; then
+dnl javascript AC_DEFINE(JS)
+dnl javascript AC_MSG_CHECKING([if you want to link with system libfl])
+dnl javascript cf_use_libfl=no
+dnl javascript AC_ARG_WITH(libfl, [ --with-libfl use libfl],cf_use_libfl="$withval")
+dnl javascript AC_MSG_RESULT($cf_use_libfl)
+dnl javascript if test "$cf_use_libfl" != no; then
+dnl javascript LIBS="$LIBS -lfl"
+dnl javascript else
+dnl javascript AC_DEFINE(CHCEME_FLEXI_LIBU)
+dnl javascript fi
+dnl javascript
+dnl javascript reg_exp_mode="NONE"
+dnl javascript PKG_CHECK_MODULES(LIBPCRE,libpcre,pkgconfig_libpcre=yes,pkgconfig_libpcre=no)
+dnl javascript if test "$pkgconfig_libpcre" = "yes"; then
+dnl javascript CPPFLAGS="$CPPFLAGS $LIBPCRE_CFLAGS"
+dnl javascript LIBS="$LIBPCRE_LIBS $LIBS"
+dnl javascript fi
+dnl javascript AC_CHECK_LIB(pcre, pcre_compile)
+dnl javascript AC_CHECK_HEADERS(pcre.h)
+dnl javascript if test "$ac_cv_lib_pcre_pcre_compile" = yes && test "$ac_cv_header_pcre_h" = yes; then
+dnl javascript AC_DEFINE(HAVE_PCRE)
+dnl javascript reg_exp_mode="PCRE"
+dnl javascript else
+dnl javascript AC_HAVE_FUNCS(regcomp)
+dnl javascript AC_CHECK_HEADERS(regex.h)
+dnl javascript if test "$ac_cv_func_regcomp" = yes && test "$ac_cv_header_regex_h" = yes; then
+dnl javascript AC_DEFINE(HAVE_REGEX)
+dnl javascript reg_exp_mode="LIBC"
+dnl javascript fi
+dnl javascript fi
+dnl javascript fi
+
+cf_use_graphics=no
+AC_MSG_CHECKING([if you want to use graphics])
+AC_ARG_ENABLE(graphics, [ --enable-graphics use graphics], cf_use_graphics="$enableval" )
+AC_MSG_RESULT($cf_use_graphics)
+
+AC_MSG_CHECKING([if you want to enable UTF-8 terminal])
+cf_enable_utf8=yes
+AC_ARG_ENABLE(utf8, [ --disable-utf8 disable UTF-8 terminal (saves memory)], cf_enable_utf8="$enableval" )
+AC_MSG_RESULT($cf_enable_utf8)
+
+if test "$cf_enable_utf8" != no; then
+ AC_DEFINE(ENABLE_UTF8)
+fi
+
+if test "$cf_use_graphics" != no; then
+ AC_CHECK_LIB(m, pow)
+ if test "$ac_cv_lib_m_pow" = no; then
+ AC_CHECK_LIB(m, main)
+ fi
+fi
+
+AC_ARG_WITH(gpm, [ --without-gpm compile without gpm mouse],[if test "$withval" = no; then disable_gpm=yes; else disable_gpm=no; fi])
+
+if test "$disable_gpm" != yes; then
+ AC_CHECK_HEADERS(gpm.h)
+ AC_CHECK_LIB(gpm, Gpm_Open)
+ AC_HAVE_FUNCS(Gpm_GetLibVersion)
+ if test "$ac_cv_lib_gpm_Gpm_Open" = yes && test "$ac_cv_header_gpm_h" = yes ; then cf_have_gpm=yes ; else cf_have_gpm=no; fi
+else
+ cf_have_gpm=no
+fi
+
+AC_CACHE_CHECK([for OS/2 threads], ac_cv_have_beginthread,
+ CFLAGS_X="$CFLAGS"
+ CFLAGS="$CFLAGS -Zmt"
+ AC_TRY_LINK([#include <stdlib.h>], [_beginthread(NULL, NULL, 0, NULL)], ac_cv_have_beginthread=yes, ac_cv_have_beginthread=no)
+ CFLAGS="$CFLAGS_X"
+)
+if test "$ac_cv_have_beginthread" = yes; then
+ CFLAGS="$CFLAGS -Zmt"
+ AC_DEFINE(HAVE_BEGINTHREAD)
+#else
+# AC_CHECK_FUNC(pthread_create, cf_result=yes, cf_result=no)
+# if test "$cf_result" = yes; then
+# AC_DEFINE(HAVE_PTHREADS)
+# else
+# AC_CHECK_LIB(pthread, pthread_create, AC_DEFINE(HAVE_PTHREADS)
+# LDFLAGS="$LDFLAGS -lpthread" )
+# fi
+fi
+#AC_HAVE_FUNCS(clone)
+AC_CHECK_HEADERS(atheos/threads.h)
+AC_HAVE_FUNCS(spawn_thread)
+AC_HAVE_FUNCS(resume_thread)
+
+AC_HAVE_FUNCS(MouOpen)
+AC_HAVE_FUNCS(_read_kbd)
+
+AC_CACHE_CHECK([for XFree for OS/2], ac_cv_have_x2,
+ CPPFLAGS_X="$CPPFLAGS"
+ LIBS_X="$LIBS"
+ ac_cv_have_x2=no
+ if test -n "$X11ROOT"; then
+ CPPFLAGS="$CPPFLAGS_X -I$X11ROOT/XFree86/include"
+ LIBS="$LIBS_X -L$X11ROOT/XFree86/lib -lxf86_gcc"
+ AC_TRY_LINK([#include <pty.h>], [struct winsize win;ptioctl(1, TIOCGWINSZ, &win)], ac_cv_have_x2=xf86_gcc, ac_cv_have_x2=no)
+ if test "$ac_cv_have_x2" = no; then
+ LIBS="$LIBS_X -L$X11ROOT/XFree86/lib -lxf86"
+ AC_TRY_LINK([#include <pty.h>], [struct winsize win;ptioctl(1, TIOCGWINSZ, &win)], ac_cv_have_x2=xf86, ac_cv_have_x2=no)
+ fi
+ fi
+ CPPFLAGS="$CPPFLAGS_X"
+ LIBS="$LIBS_X"
+)
+if test "$ac_cv_have_x2" != no; then
+ CPPFLAGS="$CPPFLAGS -I$X11ROOT/XFree86/include"
+ LIBS="$LIBS -L$X11ROOT/XFree86/lib -l$ac_cv_have_x2"
+ AC_DEFINE(X2)
+fi
+
+cf_result=no
+#ifdef HAVE_SSL
+ssld=yes
+withval=
+AC_ARG_WITH(ssl, [ --with-ssl(=directory) enable SSL support
+ --with-ssl=nss enable SSL support through NSS OpenSSL emulation], [if test "$withval" = no; then disable_ssl=yes; else ssld="$withval"; fi])
+AC_ARG_ENABLE(ssl-pkgconfig, [ --disable-ssl-pkgconfig don't use pkgconfig when searching for openssl], cf_openssl_pkgconfig="$enableval", cf_openssl_pkgconfig=yes)
+if test -z "$disable_ssl"; then
+ CPPFLAGS_X="$CPPFLAGS"
+ LIBS_X="$LIBS"
+ if test "$static_link" != 0; then
+ AC_CHECK_LIB(dl, dlopen)
+ AC_CHECK_LIB(z, inflate)
+ fi
+ CPPFLAGS_XX="$CPPFLAGS"
+ LIBS_XX="$LIBS"
+ if test "$cf_result" = no && test "$ssld" = yes -o "$ssld" = openssl; then
+ if test "$cf_openssl_pkgconfig" = no; then
+ pkgconfig_openssl=no
+ else
+ PKG_CHECK_MODULES(OPENSSL,openssl,pkgconfig_openssl=yes,pkgconfig_openssl=no)
+ if test "$PKG_CONFIG" != no -a "$pkgconfig_openssl" = no; then
+ AC_MSG_RESULT(no)
+ fi
+ fi
+ if test "$pkgconfig_openssl" = yes; then
+ AC_MSG_CHECKING([for OpenSSL])
+ CPPFLAGS="$CPPFLAGS_XX $OPENSSL_CFLAGS"
+ LIBS="$OPENSSL_LIBS $LIBS_XX"
+ AC_TRY_LINK([#include <openssl/ssl.h>], [SSLeay_add_ssl_algorithms()], cf_result=openssl, cf_result=no)
+ AC_MSG_RESULT($cf_result)
+ fi
+ fi
+
+ if test "$cf_result" = no && test "$ssld" != nss; then
+ AC_MSG_CHECKING([for OpenSSL])
+ if test "$ssld" = yes -o "$ssld" = openssl; then
+ ssld=". /usr /usr/local /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/local/www /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl"
+ fi
+ for ssldir in $ssld; do
+ if test "$cf_result" = no; then
+ if test ! -z "$ssldir" && test "$ssldir" != /usr && test "$ssldir" != .; then
+ LIBS="-L$ssldir/lib -lssl -lcrypto $LIBS_XX"
+ CPPFLAGS="$CPPFLAGS_XX -I$ssldir/include"
+ else
+ LIBS="-lssl -lcrypto $LIBS_XX"
+ CPPFLAGS="$CPPFLAGS_XX"
+ fi
+ AC_TRY_LINK([#include <openssl/ssl.h>], [SSLeay_add_ssl_algorithms()], cf_result=openssl, cf_result=no)
+ fi
+ done
+ AC_MSG_RESULT($cf_result)
+ fi
+
+ if test "$cf_result" = no && test "$ssld" = yes -o "$ssld" = nss; then
+ if test "$cf_openssl_pkgconfig" = no; then
+ pkgconfig_nss=no
+ else
+ PKG_CHECK_MODULES(NSS,nss,pkgconfig_nss=yes,pkgconfig_nss=no)
+ if test "$PKG_CONFIG" != no -a "$pkgconfig_nss" = no; then
+ AC_MSG_RESULT(no)
+ fi
+ fi
+ if test "$pkgconfig_nss" = no; then
+ NSS_CFLAGS=""
+ NSS_LIBS=""
+ fi
+ CPPFLAGS="$CPPFLAGS_X $NSS_CFLAGS"
+ LIBS="-lnss_compat_ossl $NSS_LIBS $LIBS_X"
+ AC_MSG_CHECKING([for NSS-compat-ossl])
+ AC_TRY_LINK([#include <nss_compat_ossl/nss_compat_ossl.h>], [SSLeay_add_ssl_algorithms()], cf_result=nss, cf_result=no)
+ AC_MSG_RESULT($cf_result)
+ fi
+
+ if test "$cf_result" = no; then
+ if test -n "$withval" -a "$withval" != no; then
+ AC_MSG_ERROR("OpenSSL not found")
+ fi
+ CPPFLAGS="$CPPFLAGS_X"
+ LIBS="$LIBS_X"
+ else
+ AC_DEFINE(HAVE_SSL)
+ if test "$cf_result" = openssl; then
+ AC_DEFINE(HAVE_OPENSSL)
+ fi
+ if test "$cf_result" = nss; then
+ AC_DEFINE(HAVE_NSS)
+ fi
+ fi
+fi
+#endif
+cf_have_ssl=$cf_result
+
+AC_ARG_WITH(zlib, [ --without-zlib compile without zlib compression],[if test "$withval" = no; then disable_zlib=yes; else disable_zlib=no; fi])
+AC_ARG_WITH(bzip2, [ --without-bzip2 compile without bzip2 compression],[if test "$withval" = no; then disable_bzip2=yes; else disable_bzip2=no; fi])
+AC_ARG_WITH(lzma, [ --without-lzma compile without lzma compression],[if test "$withval" = no; then disable_lzma=yes; else disable_lzma=no; fi])
+compression=""
+
+if test "$disable_zlib" != yes ; then
+ AC_CHECK_HEADERS(zlib.h)
+ AC_CHECK_LIB(z, inflate)
+ if test "$ac_cv_header_zlib_h" = yes && test "$ac_cv_lib_z_inflate" = yes; then
+ AC_DEFINE(HAVE_ZLIB)
+ compression="$compression ZLIB"
+ fi
+fi
+if test "$disable_bzip2" != yes ; then
+ AC_CHECK_HEADERS(bzlib.h)
+ AC_CHECK_LIB(bz2, BZ2_bzDecompress)
+ if test "$ac_cv_header_bzlib_h" = yes && test "$ac_cv_lib_bz2_BZ2_bzDecompress" = yes; then
+ AC_DEFINE(HAVE_BZIP2)
+ compression="$compression BZIP2"
+ fi
+fi
+
+if test "$disable_lzma" != yes ; then
+ AC_CHECK_HEADERS(lzma.h)
+ AC_CHECK_LIB(lzma, lzma_auto_decoder)
+ if test "$ac_cv_header_lzma_h" = yes && test "$ac_cv_lib_lzma_lzma_auto_decoder" = yes; then
+ AC_DEFINE(HAVE_LZMA)
+ compression="$compression LZMA"
+ fi
+fi
+
+
+cf_have_atheos=no
+
+if test "$cf_use_graphics" != no; then
+ AC_DEFINE(G)
+
+AC_ARG_WITH(svgalib, [ --without-svgalib compile without svgalib graphics driver],[if test "$withval" = no; then disable_svgalib=yes; else disable_svgalib=no; fi])
+AC_ARG_WITH(x, [ --without-x compile without X Window System graphics driver],[if test "$withval" = no; then disable_x=yes; else disable_x=no; fi])
+AC_ARG_WITH(fb, [ --without-fb compile without Linux Framebuffer graphics driver],[if test "$withval" = no; then disable_fb=yes; else disable_fb=no; fi])
+AC_ARG_WITH(directfb, [ --without-directfb compile without DirectFB graphics driver],[if test "$withval" = no; then disable_directfb=yes; else disable_directfb=no; fi])
+dnl AC_ARG_WITH(sdl, [ --without-sdl compile without SDL graphics driver],[if test "$withval" = no; then disable_sdl=yes; else disable_sdl=no; fi])
+AC_ARG_WITH(pmshell, [ --without-pmshell compile without PMShell graphics driver],[if test "$withval" = no; then disable_pmshell=yes; else disable_pmshell=no; fi])
+AC_ARG_WITH(atheos, [ --without-atheos compile without Atheos graphics driver],[if test "$withval" = no; then disable_atheos=yes; else disable_atheos; fi])
+
+ drivers=""
+
+if test "$disable_svgalib" != yes ; then
+ LIBS_X="$LIBS"
+ if test "$static_link" != 0; then
+ AC_CHECK_LIB(x86, LRMI_init)
+ fi
+ LIBS="-lvga $LIBS"
+ AC_CACHE_CHECK([for svgalib], ac_cv_have_svgalib,
+ AC_TRY_LINK([#include <vga.h>], [vga_setmode(0)], ac_cv_have_svgalib=yes, ac_cv_have_svgalib=no)
+ )
+
+ if test "$ac_cv_have_svgalib" = yes; then
+ AC_DEFINE(GRDRV_SVGALIB)
+ drivers="$drivers SVGALIB"
+ else
+ LIBS="$LIBS_X"
+ fi
+fi
+
+if test "$disable_fb" != yes ; then
+ AC_CHECK_HEADERS(linux/fb.h)
+ AC_CHECK_HEADERS(linux/kd.h)
+ AC_CHECK_HEADERS(linux/vt.h)
+ AC_CHECK_HEADERS(sys/mman.h)
+ if test "$ac_cv_header_linux_fb_h" = yes && test "$ac_cv_header_linux_kd_h" = yes && test "$ac_cv_header_linux_vt_h" = yes && test "$ac_cv_header_sys_mman_h" = yes && test "$ac_cv_header_sys_ioctl_h" = yes && test "$cf_have_gpm" = yes; then
+ AC_DEFINE(GRDRV_FB)
+ drivers="$drivers FB"
+ fi
+fi
+
+if test "$disable_directfb" != yes ; then
+ AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no)
+ if test "$DIRECTFB_CONFIG" != "no"; then
+ AC_MSG_CHECKING(for DirectFB >= 0.9.17)
+ directfb_version=`$DIRECTFB_CONFIG --version`
+ if expr $directfb_version \>= 0.9.17 >/dev/null; then
+ AC_MSG_RESULT(yes)
+
+ DIRECTFB_CFLAGS="`$DIRECTFB_CONFIG --cflags`"
+ DIRECTFB_LIBS="`$DIRECTFB_CONFIG --libs`"
+ pkgconfig_directfb=yes
+ else
+ AC_MSG_RESULT(no)
+ pkgconfig_directfb=no
+ fi
+ else
+ PKG_CHECK_MODULES(DIRECTFB,directfb,pkgconfig_directfb=yes,pkgconfig_directfb=no)
+ if test "$PKG_CONFIG" != no -a "$pkgconfig_directfb" = no; then
+ AC_MSG_RESULT(no)
+ fi
+ fi
+
+ if test "$pkgconfig_directfb" = "yes"; then
+ CPPFLAGS_X="$CPPFLAGS"
+ LIBS_X="$LIBS"
+
+ CPPFLAGS="$CPPFLAGS $DIRECTFB_CFLAGS"
+ LIBS="$DIRECTFB_LIBS $LIBS"
+
+ AC_CHECK_HEADERS(directfb.h)
+ AC_HAVE_FUNCS(DirectFBInit)
+
+ if test "$ac_cv_header_directfb_h" = yes && test "$ac_cv_func_DirectFBInit" = yes; then
+ AC_DEFINE(GRDRV_DIRECTFB)
+ drivers="$drivers DIRECTFB"
+ else
+ CPPFLAGS="$CPPFLAGS_X"
+ LIBS="$LIBS_X"
+ fi
+ fi
+fi
+
+if test "$disable_x" != yes ; then
+ CPPFLAGS_X="$CPPFLAGS"
+ LIBS_X="$LIBS"
+
+ AC_PATH_X
+
+ if test "$static_link" != 0; then
+ AC_CHECK_LIB(pthread, pthread_create)
+ AC_CHECK_LIB(dl, dlopen)
+ AC_CHECK_LIB(Xdmcp, XdmcpWrap)
+ AC_CHECK_LIB(Xau, XauGetBestAuthByAddr)
+ AC_CHECK_LIB(xcb, xcb_connect)
+ AC_CHECK_LIB(xcb-xlib, xcb_get_request_sent)
+ fi
+
+ LIBS="-lX11 $LIBS"
+ if test "$have_x" = yes; then
+ test -n "$x_libraries" && LIBS="-L$x_libraries $LIBS"
+ test -n "$x_includes" && CPPFLAGS="$CPPFLAGS -I$x_includes"
+ fi
+
+ AC_CHECK_HEADERS(X11/Xlib.h X11/X.h X11/Xutil.h X11/Xatom.h X11/Xlocale.h X11/keysymdef.h)
+
+ AC_HAVE_FUNCS(XOpenDisplay)
+ AC_HAVE_FUNCS(XOpenIM XCloseIM XCreateIC XDestroyIC XwcLookupString)
+ AC_HAVE_FUNCS(Xutf8LookupString)
+ AC_HAVE_FUNCS(XSupportsLocale XmbTextListToTextProperty)
+
+ if test "$have_x" = yes -o "$ac_cv_have_x2" != no && test "$ac_cv_func_XOpenDisplay" = yes && test "$ac_cv_header_X11_Xlib_h" = yes && test "$ac_cv_header_X11_X_h" = yes && test "$ac_cv_header_X11_Xutil_h" = yes && test "$ac_cv_header_X11_Xatom_h" = yes && test "$ac_cv_header_X11_keysymdef_h" = yes; then
+ AC_DEFINE(GRDRV_X)
+ drivers="$drivers X"
+ else
+ CPPFLAGS="$CPPFLAGS_X"
+ LIBS="$LIBS_X"
+ fi
+fi
+
+dnl if test "$disable_sdl" != yes ; then
+dnl AC_PATH_PROG(SDL_CONFIG, sdl-config, no)
+dnl if test "$SDL_CONFIG" != "no"; then
+dnl AC_MSG_CHECKING(for SDL >= 1.2.0)
+dnl sdl_version="`$SDL_CONFIG --version`"
+dnl if expr "$sdl_version" \>= 1.2.0 >/dev/null; then
+dnl AC_MSG_RESULT(yes)
+dnl SDL_CFLAGS="`$SDL_CONFIG --cflags`"
+dnl SDL_LIBS="`$SDL_CONFIG --libs`"
+dnl AC_DEFINE(GRDRV_SDL)
+dnl drivers="$drivers SDL"
+dnl CPPFLAGS="$CPPFLAGS $SDL_CFLAGS"
+dnl AC_CHECK_LIB(Xext, XextAddDisplay)
+dnl LIBS="$SDL_LIBS $LIBS"
+dnl else
+dnl AC_MSG_RESULT(no)
+dnl fi
+dnl fi
+dnl fi
+
+if test "$disable_pmshell" != yes ; then
+ AC_CACHE_CHECK([for pmshell], ac_cv_have_pmshell,
+ AC_TRY_LINK([#define INCL_WIN
+ #define INCL_GPI
+ #include <os2.h>
+ #include <sys/fmutex.h>],
+ [_fmutex mutex;
+ WinDrawText(NULLHANDLE, -1, NULL, NULL, 0, 0, 0),
+ GpiSetPel(NULLHANDLE, NULL)],
+ ac_cv_have_pmshell=yes, ac_cv_have_pmshell=no)
+ )
+
+ if test "$ac_cv_have_pmshell" = yes; then
+ AC_DEFINE(GRDRV_PMSHELL)
+ drivers="$drivers PMSHELL"
+ fi
+fi
+
+if test "$disable_atheos" != yes ; then
+ old_ext="$ac_ext"
+ ac_ext=cpp
+ AC_CHECK_HEADERS(gui/view.h)
+ AC_CHECK_HEADERS(gui/window.h)
+ AC_CHECK_HEADERS(gui/desktop.h)
+ AC_CHECK_HEADERS(gui/bitmap.h)
+ AC_CHECK_HEADERS(util/locker.h)
+ AC_CHECK_HEADERS(util/application.h)
+ ac_ext="$old_ext"
+
+ if test "$ac_cv_header_atheos_threads_h" = yes &&
+ test "$ac_cv_header_gui_view_h" = yes &&
+ test "$ac_cv_header_gui_window_h" = yes &&
+ test "$ac_cv_header_gui_desktop_h" = yes &&
+ test "$ac_cv_header_gui_bitmap_h" = yes &&
+ test "$ac_cv_header_util_locker_h" = yes &&
+ test "$ac_cv_header_util_application_h" = yes; then
+ AC_CHECK_LIB(stdc++, main)
+ AC_CHECK_LIB(atheos, main)
+ if test "$ac_cv_lib_atheos_main" = no; then
+ AC_CHECK_LIB(syllable, main)
+ fi
+ if test "$ac_cv_lib_atheos_main" = yes -o "$ac_cv_lib_syllable_main" = yes; then
+ AC_PROG_CXX
+ AC_DEFINE(GRDRV_ATHEOS)
+ drivers="$drivers ATHEOS"
+ cf_have_atheos=yes
+ fi
+ fi
+fi
+
+ AC_ARG_ENABLE(png-pkgconfig, [ --disable-png-pkgconfig don't use pkgconfig when searching for libpng], cf_libpng_pkgconfig="$enableval", cf_libpng_pkgconfig=yes)
+
+ if test "$static_link" != 0; then
+ AC_CHECK_LIB(z, inflate)
+ fi
+ if test "$cf_libpng_pkgconfig" != no; then
+ PKG_CHECK_MODULES(LIBPNG,libpng >= 1.0.0,pkgconfig_libpng=yes,pkgconfig_libpng=no)
+ if test "$PKG_CONFIG" != no -a "$pkgconfig_libpng" = no; then
+ AC_MSG_RESULT(no)
+ fi
+ if test "$pkgconfig_libpng" = "yes"; then
+ CPPFLAGS="$CPPFLAGS $LIBPNG_CFLAGS"
+ LIBS="$LIBPNG_LIBS $LIBS"
+ else
+ PKG_CHECK_MODULES(LIBPNG12,libpng12,pkgconfig_libpng12=yes,pkgconfig_libpng12=no)
+ if test "$PKG_CONFIG" != no -a "$pkgconfig_libpng12" = no; then
+ AC_MSG_RESULT(no)
+ fi
+ if test "$pkgconfig_libpng12" = "yes"; then
+ CPPFLAGS="$CPPFLAGS $LIBPNG12_CFLAGS"
+ LIBS="$LIBPNG12_LIBS $LIBS"
+ fi
+ fi
+ fi
+ AC_CHECK_HEADERS(png.h libpng/png.h)
+ AC_HAVE_FUNCS(png_create_info_struct)
+ if test "$ac_cv_func_png_create_info_struct" != yes; then
+ AC_CHECK_LIB(png, png_create_info_struct)
+ fi
+ if test "$ac_cv_header_png_h" != yes -a "$ac_cv_header_libpng_png_h" != yes || test "$ac_cv_func_png_create_info_struct" != yes -a "$ac_cv_lib_png_png_create_info_struct" != yes; then
+ AC_ERROR([You need libpng to compile Links in graphics mode])
+ fi
+
+ AC_HAVE_FUNCS(png_set_rgb_to_gray)
+ AC_HAVE_FUNCS(png_get_libpng_ver)
+ AC_HAVE_FUNCS(png_get_image_width png_get_image_height png_get_gAMA png_get_color_type png_get_bit_depth png_set_strip_alpha png_get_valid png_get_sRGB)
+ if test "$ac_cv_func_png_get_image_width" != yes ||
+ test "$ac_cv_func_png_get_image_height" != yes ||
+ test "$ac_cv_func_png_get_gAMA" != yes ||
+ test "$ac_cv_func_png_get_color_type" != yes ||
+ test "$ac_cv_func_png_get_bit_depth" != yes ||
+ test "$ac_cv_func_png_set_strip_alpha" != yes ||
+ test "$ac_cv_func_png_get_valid" != yes ||
+ test "$ac_cv_func_png_get_sRGB" != yes; then
+ AC_ERROR([Your libpng is too old])
+ fi
+
+ AC_CACHE_CHECK(if you can include both setjmp.h and png.h, ac_cv_include_setjmp_png,
+ AC_TRY_COMPILE([#include <setjmp.h>
+ #include <png.h>], [jmp_buf bla;], ac_cv_include_setjmp_png=yes, ac_cv_include_setjmp_png=no)
+ )
+
+ if test "$ac_cv_include_setjmp_png" != yes; then
+ AC_DEFINE(DONT_INCLUDE_SETJMP)
+ fi
+
+ AC_ARG_WITH(libjpeg, [ --without-libjpeg compile without JPEG support],[if test "$withval" = no; then disable_jpeg=yes; else disable_jpeg=no; fi])
+ cf_have_jpeg=no
+ if test "$disable_jpeg" != yes ; then
+ AC_CHECK_HEADERS(jpeglib.h)
+ AC_CHECK_LIB(jpeg, jpeg_destroy_decompress)
+ if test "$ac_cv_header_jpeglib_h" = yes && test "$ac_cv_lib_jpeg_jpeg_destroy_decompress" = yes; then
+ AC_DEFINE(HAVE_JPEG)
+ cf_have_jpeg=yes
+ image_formats="$image_formats JPEG"
+ fi
+ fi
+
+ AC_ARG_WITH(libtiff, [ --without-libtiff compile without TIFF support],[if test "$withval" = no; then disable_tiff=yes; else disable_tiff=no; fi])
+ cf_have_tiff=no
+ if test "$disable_tiff" != yes ; then
+ if test "$static_link" != 0; then
+ AC_CHECK_LIB(jbig, jbg_enc_init)
+ fi
+ AC_CHECK_HEADERS(tiffio.h)
+ AC_CHECK_LIB(tiff, TIFFClientOpen)
+ if test "$ac_cv_header_tiffio_h" = yes && test "$ac_cv_lib_tiff_TIFFClientOpen" = yes; then
+ AC_DEFINE(HAVE_TIFF)
+ cf_have_tiff=yes
+ image_formats="$image_formats TIFF"
+ fi
+ fi
+
+
+ if test -z "$drivers" && test "$cf_use_graphics" != no; then
+ AC_MSG_ERROR([No graphics drivers found.])
+dnl else
+dnl AC_MSG_RESULT([The following graphics drivers are available:$drivers])
+ fi
+fi
+
+
+AM_CONDITIONAL(ATHEOS_GR, test "$cf_have_atheos" = yes)
+
+test "$ac_cv_have_emx" = yes && LDFLAGS="$LDFLAGS -Zexe"
+
+AC_OUTPUT(Makefile)
+
+echo "---------------------------------------------------------"
+echo "Configuration results:"
+echo ""
+if test "$cf_enable_utf8" != no; then echo "UTF-8 terminal: YES"; else echo "UTF-8 terminal: NO"; fi
+if test "$cf_have_gpm" = yes; then echo "GPM support: YES"; else echo "GPM support: NO"; fi
+echo "SSL support: `echo $cf_have_ssl|tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`"
+compression="`echo "$compression"|sed 's/^ //'`"
+if test -z "$compression"; then compression="NONE"; fi
+ echo "Supported compression: $compression"
+dnl javascript if test "$cf_use_javascript" = yes; then
+dnl javascript echo "Javascript enabled: YES"
+dnl javascript echo "Regular expressions: $reg_exp_mode"
+dnl javascript else echo "Javascript enabled: NO"; fi
+if test "$cf_use_graphics" != no; then
+ echo "Graphics enabled: YES"
+ echo "Graphics drivers: `echo "$drivers"|sed 's/^ //'`"
+ echo "Image formats: $image_formats"
+else echo "Graphics enabled: NO"; fi
+if test "$ac_cv_have_emx" = yes; then
+ if test "$ac_cv_have_x2" != no; then echo "xterm for OS/2 support: YES"; else echo "xterm for OS/2 support: NO"; fi
+fi
+echo "---------------------------------------------------------"
+if test "$cf_have_ssl" = "nss"; then
+ echo "!!! WARNING !!! NSS encryption library can cause lockup"
+ echo "of the whole browser if the server is not responding."
+ echo "It is recommended to use OpenSSL instead."
+ echo "---------------------------------------------------------"
+fi
+if test -n "`echo "$drivers"|grep -w X`" -a "$ac_cv_header_interix_interix_h" = yes; then
+ echo "!!! WARNING !!! Xwindow in Interix is unreliable and"
+ echo "it may cause browser lockup."
+ echo "It is recommended to use Cygwin instead."
+ echo "---------------------------------------------------------"
+fi
+
+
+#mv Makefile Makefile.tmp
+#grep -v DEPS_MAGIC Makefile.tmp >Makefile
+#rm Makefile.tmp
+
diff --git a/connect.c b/connect.c
new file mode 100644
index 0000000..305a4d1
--- /dev/null
+++ b/connect.c
@@ -0,0 +1,581 @@
+/* connect.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+/*
+#define LOG_TRANSFER "/tmp/log"
+*/
+
+#ifdef LOG_TRANSFER
+static void log_data(unsigned char *data, int len)
+{
+ static int hlaseno = 0;
+ int fd;
+ if (!hlaseno) {
+ printf("\n\033[1mWARNING -- LOGGING NETWORK TRANSFERS !!!\033[0m%c\n", 7);
+ fflush(stdout);
+ sleep(1);
+ hlaseno = 1;
+ }
+ EINTRLOOP(fd, open(LOG_TRANSFER, O_WRONLY | O_APPEND | O_CREAT, 0600));
+ if (fd != -1) {
+ int rw;
+ set_bin(fd);
+ EINTRLOOP(rw, write(fd, data, len));
+ EINTRLOOP(rw, close(fd));
+ }
+}
+
+#else
+#define log_data(x, y)
+#endif
+
+static void connected(struct connection *);
+static void dns_found(struct connection *, int);
+static void handle_socks_reply(struct connection *);
+
+static void exception(struct connection *c)
+{
+ setcstate(c, S_EXCEPT);
+ retry_connection(c);
+}
+
+int socket_and_bind(unsigned char *address)
+{
+ int s;
+ int rs;
+ EINTRLOOP(s, socket(PF_INET, SOCK_STREAM, IPPROTO_TCP));
+ if (s == -1)
+ return -1;
+ if (address && *address) {
+ struct sockaddr_in sa;
+ ip__address addr;
+ if (numeric_ip_address(address, &addr) == -1) {
+ errno = EINVAL;
+ return -1;
+ }
+ memset(&sa, 0, sizeof(struct sockaddr_in));
+ sa.sin_family = AF_INET;
+ sa.sin_addr.s_addr = addr;
+ sa.sin_port = htons(0);
+ EINTRLOOP(rs, bind(s, (struct sockaddr *)(void *)&sa, sizeof sa));
+ if (rs) {
+ int sv_errno = errno;
+ EINTRLOOP(rs, close(s));
+ errno = sv_errno;
+ return -1;
+ }
+ }
+ return s;
+}
+
+void close_socket(int *s)
+{
+ int rs;
+ if (*s == -1) return;
+ EINTRLOOP(rs, close(*s));
+ set_handlers(*s, NULL, NULL, NULL, NULL);
+ *s = -1;
+}
+
+struct conn_info {
+ void (*func)(struct connection *);
+ ip__address addr;
+ int port;
+ int *sock;
+ int real_port;
+ int socks_byte_count;
+ unsigned char socks_reply[8];
+ unsigned char dns_append[1];
+};
+
+void make_connection(struct connection *c, int port, int *sock, void (*func)(struct connection *))
+{
+ int real_port = -1;
+ int as;
+ unsigned char *dns_append = "";
+ unsigned char *host;
+ struct conn_info *b;
+ if (*c->socks_proxy) {
+ unsigned char *p = strchr(c->socks_proxy, '@');
+ if (p) p++;
+ else p = c->socks_proxy;
+ host = stracpy(p);
+ real_port = port;
+ port = 1080;
+ if ((p = strchr(host, ':'))) {
+ *p++ = 0;
+ if (!*p) goto badu;
+ port = strtoul(p, (char **)(void *)&p, 10);
+ if (*p) {
+ badu:
+ mem_free(host);
+ setcstate(c, S_BAD_URL);
+ abort_connection(c);
+ return;
+ }
+ }
+ dns_append = proxies.dns_append;
+ } else if (!(host = get_host_name(c->url))) {
+ setcstate(c, S_INTERNAL);
+ abort_connection(c);
+ return;
+ }
+ if (c->newconn)
+ internal("already making a connection");
+ b = mem_alloc(sizeof(struct conn_info) + strlen(dns_append));
+ b->func = func;
+ b->sock = sock;
+ b->port = port;
+ b->real_port = real_port;
+ b->socks_byte_count = 0;
+ strcpy(b->dns_append, dns_append);
+ c->newconn = b;
+ log_data("\nCONNECTION: ", 13);
+ log_data(host, strlen(host));
+ log_data("\n", 1);
+ if (c->no_cache >= NC_RELOAD) as = find_host_no_cache(host, &b->addr, &c->dnsquery, (void(*)(void *, int))dns_found, c);
+ else as = find_host(host, &b->addr, &c->dnsquery, (void(*)(void *, int))dns_found, c);
+ mem_free(host);
+ if (as) setcstate(c, S_DNS);
+}
+
+int get_pasv_socket(struct connection *c, int cc, int *sock, unsigned char *port)
+{
+ int s;
+ int rs;
+ struct sockaddr_in sa;
+ struct sockaddr_in sb;
+ socklen_t len = sizeof(sa);
+ memset(&sa, 0, sizeof sa);
+ memset(&sb, 0, sizeof sb);
+ EINTRLOOP(rs, getsockname(cc, (struct sockaddr *)(void *)&sa, &len));
+ if (rs) {
+ e:
+ setcstate(c, get_error_from_errno(errno));
+ retry_connection(c);
+ return -1;
+ }
+ EINTRLOOP(s, socket(PF_INET, SOCK_STREAM, IPPROTO_TCP));
+ if (s == -1) goto e;
+ EINTRLOOP(rs, fcntl(s, F_SETFL, O_NONBLOCK));
+ *sock = s;
+ memcpy(&sb, &sa, sizeof(struct sockaddr_in));
+ sb.sin_port = htons(0);
+ EINTRLOOP(rs, bind(s, (struct sockaddr *)(void *)&sb, sizeof sb));
+ if (rs) goto e;
+ len = sizeof(sa);
+ EINTRLOOP(rs, getsockname(s, (struct sockaddr *)(void *)&sa, &len));
+ if (rs) goto e;
+ EINTRLOOP(rs, listen(s, 1));
+ if (rs) goto e;
+ memcpy(port, &sa.sin_addr.s_addr, 4);
+ memcpy(port + 4, &sa.sin_port, 2);
+ return 0;
+}
+
+#ifdef HAVE_SSL
+static void ssl_want_read(struct connection *c)
+{
+ struct conn_info *b = c->newconn;
+
+ set_timeout(c);
+
+#ifndef HAVE_NSS
+ if (c->no_tsl) c->ssl->options |= SSL_OP_NO_TLSv1;
+#endif
+ switch (SSL_get_error(c->ssl, SSL_connect(c->ssl))) {
+ case SSL_ERROR_NONE:
+ c->newconn = NULL;
+ b->func(c);
+ mem_free(b);
+ break;
+ case SSL_ERROR_WANT_READ:
+ set_handlers(*b->sock, (void(*)(void *))ssl_want_read, NULL, (void(*)(void *))exception, c);
+ break;
+ case SSL_ERROR_WANT_WRITE:
+ set_handlers(*b->sock, NULL, (void(*)(void *))ssl_want_read, (void(*)(void *))exception, c);
+ break;
+ default:
+ c->no_tsl++;
+ setcstate(c, S_SSL_ERROR);
+ retry_connection(c);
+ break;
+ }
+}
+#endif
+
+static void handle_socks(struct connection *c)
+{
+ struct conn_info *b = c->newconn;
+ unsigned char *command = init_str();
+ int len = 0;
+ unsigned char *host;
+ int wr;
+ setcstate(c, S_SOCKS_NEG);
+ set_timeout(c);
+ add_bytes_to_str(&command, &len, "\004\001", 2);
+ add_chr_to_str(&command, &len, b->real_port >> 8);
+ add_chr_to_str(&command, &len, b->real_port);
+ add_bytes_to_str(&command, &len, "\000\000\000\001", 4);
+ if (strchr(c->socks_proxy, '@'))
+ add_bytes_to_str(&command, &len, c->socks_proxy, strcspn(c->socks_proxy, "@"));
+ add_chr_to_str(&command, &len, 0);
+ if (!(host = get_host_name(c->url))) {
+ mem_free(command);
+ setcstate(c, S_INTERNAL);
+ abort_connection(c);
+ return;
+ }
+ add_to_str(&command, &len, host);
+ add_to_str(&command, &len, b->dns_append);
+ add_chr_to_str(&command, &len, 0);
+ mem_free(host);
+ if (b->socks_byte_count >= len) {
+ mem_free(command);
+ setcstate(c, S_MODIFIED);
+ retry_connection(c);
+ return;
+ }
+ EINTRLOOP(wr, write(*b->sock, command + b->socks_byte_count, len - b->socks_byte_count));
+ mem_free(command);
+ if (wr <= 0) {
+ setcstate(c, wr ? get_error_from_errno(errno) : S_CANT_WRITE);
+ retry_connection(c);
+ return;
+ }
+ b->socks_byte_count += wr;
+ if (b->socks_byte_count < len) {
+ set_handlers(*b->sock, NULL, (void(*)(void *))handle_socks, (void(*)(void *))exception, c);
+ return;
+ } else {
+ b->socks_byte_count = 0;
+ set_handlers(*b->sock, (void(*)(void *))handle_socks_reply, NULL, (void(*)(void *))exception, c);
+ return;
+ }
+}
+
+static void handle_socks_reply(struct connection *c)
+{
+ struct conn_info *b = c->newconn;
+ int rd;
+ set_timeout(c);
+ EINTRLOOP(rd, read(*b->sock, b->socks_reply + b->socks_byte_count, sizeof b->socks_reply - b->socks_byte_count));
+ if (rd <= 0) {
+ setcstate(c, rd ? get_error_from_errno(errno) : S_CANT_READ);
+ retry_connection(c);
+ return;
+ }
+ b->socks_byte_count += rd;
+ if (b->socks_byte_count < (int)sizeof b->socks_reply) return;
+ /* debug("%x %x %x %x %x %x %x %x", b->socks_reply[0], b->socks_reply[1], b->socks_reply[2], b->socks_reply[3], b->socks_reply[4], b->socks_reply[5], b->socks_reply[6], b->socks_reply[7]); */
+ if (b->socks_reply[0]) {
+ setcstate(c, S_BAD_SOCKS_VERSION);
+ abort_connection(c);
+ return;
+ }
+ switch (b->socks_reply[1]) {
+ case 91:
+ setcstate(c, S_SOCKS_REJECTED);
+ retry_connection(c);
+ return;
+ case 92:
+ setcstate(c, S_SOCKS_NO_IDENTD);
+ abort_connection(c);
+ return;
+ case 93:
+ setcstate(c, S_SOCKS_BAD_USERID);
+ abort_connection(c);
+ return;
+ default:
+ setcstate(c, S_SOCKS_UNKNOWN_ERROR);
+ retry_connection(c);
+ return;
+ case 90:
+ break;
+ }
+ b->real_port = -1;
+ connected(c);
+}
+
+static void dns_found(struct connection *c, int state)
+{
+ int s;
+ int rs;
+ struct conn_info *b = c->newconn;
+ struct sockaddr_in sa;
+ if (state) {
+ setcstate(c, S_NO_DNS);
+ abort_connection(c);
+ return;
+ }
+ if ((s = socket_and_bind(bind_ip_address)) == -1) {
+ setcstate(c, get_error_from_errno(errno));
+ retry_connection(c);
+ return;
+ }
+ EINTRLOOP(rs, fcntl(s, F_SETFL, O_NONBLOCK));
+ *b->sock = s;
+ memset(&sa, 0, sizeof(struct sockaddr_in));
+ sa.sin_family = AF_INET;
+ sa.sin_addr.s_addr = b->addr;
+ sa.sin_port = htons(b->port);
+ EINTRLOOP(rs, connect(s, (struct sockaddr *)(void *)&sa, sizeof sa));
+ if (rs) {
+ if (errno != EALREADY && errno != EINPROGRESS) {
+#ifdef BEOS
+ if (errno == EWOULDBLOCK) errno = ETIMEDOUT;
+#endif
+ setcstate(c, get_error_from_errno(errno));
+ retry_connection(c);
+ return;
+ }
+ set_handlers(s, NULL, (void(*)(void *))connected, (void(*)(void *))exception, c);
+ setcstate(c, S_CONN);
+ } else {
+ connected(c);
+ }
+}
+
+static void connected(struct connection *c)
+{
+ struct conn_info *b = c->newconn;
+ int err = 0;
+ socklen_t len = sizeof(int);
+ int rs;
+ errno = 0;
+ EINTRLOOP(rs, getsockopt(*b->sock, SOL_SOCKET, SO_ERROR, (void *)&err, &len));
+ if (!rs) {
+ if (err >= 10000) err -= 10000; /* Why does EMX return so large values? */
+ } else {
+ if (!(err = errno)) {
+ setcstate(c, S_STATE);
+ retry_connection(c);
+ return;
+ }
+ }
+ if (err > 0) {
+ setcstate(c, get_error_from_errno(err));
+ retry_connection(c);
+ return;
+ }
+ set_timeout(c);
+ if (b->real_port != -1) {
+ handle_socks(c);
+ return;
+ }
+#ifdef HAVE_SSL
+ if (c->ssl) {
+ c->ssl = getSSL();
+ if (!c->ssl) {
+ goto ssl_error;
+ }
+ SSL_set_fd(c->ssl, *b->sock);
+#ifndef HAVE_NSS
+ if (c->no_tsl) c->ssl->options |= SSL_OP_NO_TLSv1;
+#endif
+ switch (SSL_get_error(c->ssl, SSL_connect(c->ssl))) {
+ case SSL_ERROR_WANT_READ:
+ setcstate(c, S_SSL_NEG);
+ set_handlers(*b->sock, (void(*)(void *))ssl_want_read, NULL, (void(*)(void *))exception, c);
+ return;
+ case SSL_ERROR_WANT_WRITE:
+ setcstate(c, S_SSL_NEG);
+ set_handlers(*b->sock, NULL, (void(*)(void *))ssl_want_read, (void(*)(void *))exception, c);
+ return;
+ case SSL_ERROR_NONE:
+ break;
+ default:
+ ssl_error:
+ c->no_tsl++;
+ setcstate(c, S_SSL_ERROR);
+ retry_connection(c);
+ return;
+ }
+ }
+#endif
+ c->newconn = NULL;
+ b->func(c);
+ mem_free(b);
+}
+
+struct write_buffer {
+ int sock;
+ int len;
+ int pos;
+ void (*done)(struct connection *);
+ unsigned char data[1];
+};
+
+static void write_select(struct connection *c)
+{
+ struct write_buffer *wb;
+ int wr;
+ if (!(wb = c->buffer)) {
+ internal("write socket has no buffer");
+ setcstate(c, S_INTERNAL);
+ abort_connection(c);
+ return;
+ }
+ set_timeout(c);
+ /*printf("ws: %d\n",wb->len-wb->pos);
+ for (wr = wb->pos; wr < wb->len; wr++) printf("%c", wb->data[wr]);
+ printf("-\n");*/
+
+#ifdef HAVE_SSL
+ if(c->ssl) {
+ if ((wr = SSL_write(c->ssl, wb->data + wb->pos, wb->len - wb->pos)) <= 0) {
+ int err;
+ if ((err = SSL_get_error(c->ssl, wr)) != SSL_ERROR_WANT_WRITE) {
+ setcstate(c, wr ? (err == SSL_ERROR_SYSCALL ? get_error_from_errno(errno) : S_SSL_ERROR) : S_CANT_WRITE);
+ if (!wr || err == SSL_ERROR_SYSCALL) retry_connection(c);
+ else abort_connection(c);
+ return;
+ }
+ else return;
+ }
+ } else
+#endif
+ {
+ EINTRLOOP(wr, write(wb->sock, wb->data + wb->pos, wb->len - wb->pos));
+ if (wr <= 0) {
+#ifdef ATHEOS
+ /* Workaround for a bug in Syllable */
+ if (wr && errno == EAGAIN) {
+ return;
+ }
+#endif
+ setcstate(c, wr ? get_error_from_errno(errno) : S_CANT_WRITE);
+ retry_connection(c);
+ return;
+ }
+ }
+
+ if ((wb->pos += wr) == wb->len) {
+ void (*f)(struct connection *) = wb->done;
+ c->buffer = NULL;
+ set_handlers(wb->sock, NULL, NULL, NULL, NULL);
+ mem_free(wb);
+ f(c);
+ }
+}
+
+void write_to_socket(struct connection *c, int s, unsigned char *data, int len, void (*write_func)(struct connection *))
+{
+ struct write_buffer *wb;
+ log_data(data, len);
+ if ((unsigned)len > MAXINT - sizeof(struct write_buffer)) overalloc();
+ wb = mem_alloc(sizeof(struct write_buffer) + len);
+ wb->sock = s;
+ wb->len = len;
+ wb->pos = 0;
+ wb->done = write_func;
+ memcpy(wb->data, data, len);
+ if (c->buffer) mem_free(c->buffer);
+ c->buffer = wb;
+ set_handlers(s, NULL, (void (*)(void *))write_select, (void (*)(void *))exception, c);
+}
+
+#define READ_SIZE 64240
+
+static void read_select(struct connection *c)
+{
+ struct read_buffer *rb;
+ int rd;
+ if (!(rb = c->buffer)) {
+ internal("read socket has no buffer");
+ setcstate(c, S_INTERNAL);
+ abort_connection(c);
+ return;
+ }
+ set_handlers(rb->sock, NULL, NULL, NULL, NULL);
+ if ((unsigned)rb->len > MAXINT - sizeof(struct read_buffer) - READ_SIZE) overalloc();
+ rb = mem_realloc(rb, sizeof(struct read_buffer) + rb->len + READ_SIZE);
+ c->buffer = rb;
+
+#ifdef HAVE_SSL
+ if(c->ssl) {
+ if ((rd = SSL_read(c->ssl, rb->data + rb->len, READ_SIZE)) <= 0) {
+ int err;
+ if ((err = SSL_get_error(c->ssl, rd)) == SSL_ERROR_WANT_READ) {
+ read_from_socket(c, rb->sock, rb, rb->done);
+ return;
+ }
+ if (rb->close && !rd) {
+ rb->close = 2;
+ rb->done(c, rb);
+ return;
+ }
+ setcstate(c, rd ? (err == SSL_ERROR_SYSCALL ? get_error_from_errno(errno) : S_SSL_ERROR) : S_CANT_READ);
+ /*mem_free(rb);*/
+ if (!rd || err == SSL_ERROR_SYSCALL) retry_connection(c);
+ else abort_connection(c);
+ return;
+ }
+ } else
+#endif
+ {
+ EINTRLOOP(rd, read(rb->sock, rb->data + rb->len, READ_SIZE));
+ if (rd <= 0) {
+ if (rb->close && !rd) {
+ rb->close = 2;
+ rb->done(c, rb);
+ return;
+ }
+ if (!rd) {
+/* Many servers supporting compression have a bug
+ --- they send the size of uncompressed data.
+ Turn off compression support once before the final retry.
+*/
+ unsigned char *prot, *h;
+ if (is_last_try(c) && (prot = get_protocol_name(c->url))) {
+ if (!strcasecmp(prot, "http")) {
+ if ((h = get_host_name(c->url))) {
+ add_blacklist_entry(h, BL_NO_COMPRESSION);
+ mem_free(h);
+ }
+ }
+ mem_free(prot);
+ }
+ }
+ setcstate(c, rd ? get_error_from_errno(errno) : S_CANT_READ);
+ /*mem_free(rb);*/
+ retry_connection(c);
+ return;
+ }
+ }
+ log_data(rb->data + rb->len, rd);
+ rb->len += rd;
+ rb->done(c, rb);
+}
+
+struct read_buffer *alloc_read_buffer(struct connection *c)
+{
+ struct read_buffer *rb;
+ rb = mem_alloc(sizeof(struct read_buffer) + READ_SIZE);
+ memset(rb, 0, sizeof(struct read_buffer));
+ return rb;
+}
+
+void read_from_socket(struct connection *c, int s, struct read_buffer *buf, void (*read_func)(struct connection *, struct read_buffer *))
+{
+ buf->done = read_func;
+ buf->sock = s;
+ if (c->buffer && buf != c->buffer) mem_free(c->buffer);
+ c->buffer = buf;
+ set_handlers(s, (void (*)(void *))read_select, NULL, (void (*)(void *))exception, c);
+}
+
+void kill_buffer_data(struct read_buffer *rb, int n)
+{
+ if (n > rb->len || n < 0) {
+ internal("called kill_buffer_data with bad value");
+ rb->len = 0;
+ return;
+ }
+ memmove(rb->data, rb->data + n, rb->len - n);
+ rb->len -= n;
+}
diff --git a/cookies.c b/cookies.c
new file mode 100644
index 0000000..3ff982c
--- /dev/null
+++ b/cookies.c
@@ -0,0 +1,314 @@
+/* cookies.c
+ * Cookies
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL
+ */
+
+#include "links.h"
+
+#define ACCEPT_NONE 0
+#define ACCEPT_ALL 1
+
+static int accept_cookies = ACCEPT_ALL;
+
+static tcount cookie_id = 0;
+
+struct list_head cookies = { &cookies, &cookies };
+
+struct list_head c_domains = { &c_domains, &c_domains };
+
+struct c_server {
+ struct c_server *next;
+ struct c_server *prev;
+ int accpt;
+ unsigned char server[1];
+};
+
+static struct list_head c_servers = { &c_servers, &c_servers };
+
+void free_cookie(struct cookie *c)
+{
+ mem_free(c->name);
+ if (c->value) mem_free(c->value);
+ if (c->server) mem_free(c->server);
+ if (c->path) mem_free(c->path);
+ if (c->domain) mem_free(c->domain);
+}
+
+static int check_domain_security(unsigned char *server, unsigned char *domain)
+{
+ size_t i, j, dl;
+ int nd;
+ unsigned char *tld[] = { ".com", ".edu", ".net", ".org", ".gov", ".mil", ".int", NULL };
+ if (domain[0] == '.') domain++;
+ dl = strlen(domain);
+ if (dl > strlen(server)) return 1;
+ for (i = strlen(server) - dl, j = 0; server[i]; i++, j++)
+ if (upcase(server[i]) != upcase(domain[j])) return 1;
+ nd = 2;
+ for (i = 0; tld[i]; i++) {
+ size_t tl = strlen(tld[i]);
+ if (dl > tl && !casecmp(tld[i], &domain[dl - tl], tl)) {
+ nd = 1;
+ break;
+ }
+ }
+ if (nd == 2) {
+ unsigned char *last_dot = strrchr(domain, '.');
+ i = 0;
+ if (last_dot) {
+ while (last_dot > domain) {
+ last_dot--;
+ if (*last_dot == '.') break;
+ i++;
+ }
+ }
+ if (i >= 4) nd = 1;
+ }
+ for (i = 0; domain[i]; i++) if (domain[i] == '.') if (!--nd) break;
+ if (nd > 0) return 1;
+ return 0;
+}
+
+static void accept_cookie(struct cookie *);
+
+/* sezere 1 cookie z retezce str, na zacatku nesmi byt zadne whitechars
+ * na konci muze byt strednik nebo 0
+ * cookie musi byt ve tvaru nazev=hodnota, kolem rovnase nesmi byt zadne mezery
+ * (respektive mezery se budou pocitat do nazvu a do hodnoty)
+ */
+int set_cookie(struct terminal *term, unsigned char *url, unsigned char *str)
+{
+ int noval = 0;
+ struct cookie *cookie;
+ struct c_server *cs;
+ unsigned char *p, *q, *s, *server, *date;
+ if (accept_cookies == ACCEPT_NONE) return 0;
+ for (p = str; *p != ';' && *p; p++) {/*if (WHITECHAR(*p)) return 0*/}
+ for (q = str; *q != '='; q++) if (!*q || q >= p) {
+ noval = 1;
+ break;
+ }
+ if (str == q || q + 1 == p) return 0;
+ cookie = mem_alloc(sizeof(struct cookie));
+ server = get_host_name(url);
+ cookie->name = memacpy(str, q - str);
+ cookie->value = !noval ? memacpy(q + 1, p - q - 1) : NULL;
+ cookie->server = stracpy(server);
+ date = parse_header_param(str, "expires", 0);
+ if (date) {
+ cookie->expires = parse_http_date(date);
+ /* kdo tohle napsal a proc ?? */
+ /*if (! cookie->expires) cookie->expires++;*/ /* no harm and we can use zero then */
+ mem_free(date);
+ } else
+ cookie->expires = 0;
+ if (!(cookie->path = parse_header_param(str, "path", 0))) {
+ /*unsigned char *w;*/
+ cookie->path = stracpy("/");
+ /*
+ add_to_strn(&cookie->path, document);
+ for (w = cookie->path; *w; w++) if (end_of_dir(cookie->path, *w)) {
+ *w = 0;
+ break;
+ }
+ for (w = cookie->path + strlen(cookie->path) - 1; w >= cookie->path; w--)
+ if (*w == '/') {
+ w[1] = 0;
+ break;
+ }
+ */
+ } else {
+ if (cookie->path[0] != '/') {
+ add_to_strn(&cookie->path, "x");
+ memmove(cookie->path + 1, cookie->path, strlen(cookie->path) - 1);
+ cookie->path[0] = '/';
+ }
+ }
+ if (!(cookie->domain = parse_header_param(str, "domain", 0))) cookie->domain = stracpy(server);
+ if (cookie->domain[0] == '.') memmove(cookie->domain, cookie->domain + 1, strlen(cookie->domain));
+ if ((s = parse_header_param(str, "secure", 0))) {
+ cookie->secure = 1;
+ mem_free(s);
+ } else cookie->secure = 0;
+ if (check_domain_security(server, cookie->domain)) {
+ mem_free(cookie->domain);
+ cookie->domain = stracpy(server);
+ }
+ cookie->id = cookie_id++;
+ foreach (cs, c_servers) if (!strcasecmp(cs->server, server)) {
+ if (cs->accpt) goto ok;
+ else {
+ free_cookie(cookie);
+ mem_free(cookie);
+ mem_free(server);
+ return 0;
+ }
+ }
+ if (accept_cookies != ACCEPT_ALL) {
+ free_cookie(cookie);
+ mem_free(cookie);
+ mem_free(server);
+ return 1;
+ }
+ ok:
+ accept_cookie(cookie);
+ mem_free(server);
+ return 0;
+}
+
+static void accept_cookie(struct cookie *c)
+{
+ struct c_domain *cd;
+ struct cookie *d, *e;
+ foreach(d, cookies) if (!strcasecmp(d->name, c->name) && !strcasecmp(d->domain, c->domain)) {
+ e = d;
+ d = d->prev;
+ del_from_list(e);
+ free_cookie(e);
+ mem_free(e);
+ }
+ if (c->value && !strcasecmp(c->value, "deleted")) {
+ free_cookie(c);
+ mem_free(c);
+ return;
+ }
+ add_to_list(cookies, c);
+ foreach(cd, c_domains) if (!strcasecmp(cd->domain, c->domain)) return;
+ cd = mem_alloc(sizeof(struct c_domain) + strlen(c->domain) + 1);
+ strcpy(cd->domain, c->domain);
+ add_to_list(c_domains, cd);
+}
+
+#if 0
+static void delete_cookie(struct cookie *c)
+{
+ struct c_domain *cd;
+ struct cookie *d;
+ foreach(d, cookies) if (!strcasecmp(d->domain, c->domain)) goto x;
+ foreach(cd, c_domains) if (!strcasecmp(cd->domain, c->domain)) {
+ del_from_list(cd);
+ mem_free(cd);
+ break;
+ }
+ x:
+ del_from_list(c);
+ free_cookie(c);
+ mem_free(c);
+}
+
+static struct cookie *find_cookie_id(void *idp)
+{
+ long id = (my_intptr_t)idp;
+ struct cookie *c;
+ foreach(c, cookies) if (c->id == id) return c;
+ return NULL;
+}
+
+static void reject_cookie(void *idp)
+{
+ struct cookie *c;
+ if (!(c = find_cookie_id(idp))) return;
+ delete_cookie(c);
+}
+
+static void cookie_default(void *idp, int a)
+{
+ struct cookie *c;
+ struct c_server *s;
+ if (!(c = find_cookie_id(idp))) return;
+ foreach(s, c_servers) if (!strcasecmp(s->server, c->server)) goto found;
+ s = mem_alloc(sizeof(struct c_server) + strlen(c->server) + 1);
+ strcpy(s->server, c->server);
+ add_to_list(c_servers, s);
+ found:
+ s->accpt = a;
+}
+
+static void accept_cookie_always(void *idp)
+{
+ cookie_default(idp, 1);
+}
+
+static void accept_cookie_never(void *idp)
+{
+ cookie_default(idp, 0);
+ reject_cookie(idp);
+}
+#endif
+
+int is_in_domain(unsigned char *d, unsigned char *s)
+{
+ int dl = strlen(d);
+ int sl = strlen(s);
+ if (dl > sl) return 0;
+ if (dl == sl) return !strcasecmp(d, s);
+ if (s[sl - dl - 1] != '.') return 0;
+ return !casecmp(d, s + sl - dl, dl);
+}
+
+int is_path_prefix(unsigned char *d, unsigned char *s)
+{
+ int dl = strlen(d);
+ int sl = strlen(s);
+ if (!dl) return 1;
+ if (dl > sl) return 0;
+ if (memcmp(d, s, dl)) return 0;
+ return d[dl - 1] == '/' || !s[dl] || s[dl] == '/' || s[dl] == POST_CHAR || s[dl] == '?' || s[dl] == '&';
+}
+
+int cookie_expired(struct cookie *c) /* parse_http_date is broken */
+{
+ time_t t;
+ EINTRLOOPX(t, time(NULL), (time_t)-1);
+ return 0 && (c->expires && c->expires < t);
+}
+
+void add_cookies(unsigned char **s, int *l, unsigned char *url)
+{
+ int nc = 0;
+ struct c_domain *cd;
+ struct cookie *c, *d;
+ unsigned char *server = get_host_name(url);
+ unsigned char *data = get_url_data(url);
+ if (data > url) data--;
+ foreach (cd, c_domains) if (is_in_domain(cd->domain, server)) goto ok;
+ mem_free(server);
+ return;
+ ok:
+ foreachback (c, cookies) if (is_in_domain(c->domain, server)) if (is_path_prefix(c->path, data)) {
+ if (cookie_expired(c)) {
+ d = c;
+ c = c->prev;
+ del_from_list(d);
+ free_cookie(d);
+ mem_free(d);
+ continue;
+ }
+ if (c->secure && casecmp(url, "https://", 8)) continue;
+ if (!nc) add_to_str(s, l, "Cookie: "), nc = 1;
+ else add_to_str(s, l, "; ");
+ add_to_str(s, l, c->name);
+ if (c->value) {
+ add_to_str(s, l, "=");
+ add_to_str(s, l, c->value);
+ }
+ }
+ if (nc) add_to_str(s, l, "\r\n");
+ mem_free(server);
+}
+
+void init_cookies(void)
+{
+ /* !!! FIXME: read cookies */
+}
+
+void cleanup_cookies(void)
+{
+ struct cookie *c;
+ free_list(c_domains);
+ /* !!! FIXME: save cookies */
+ foreach (c, cookies) free_cookie(c);
+ free_list(cookies);
+}
+
diff --git a/default.c b/default.c
new file mode 100644
index 0000000..db1d815
--- /dev/null
+++ b/default.c
@@ -0,0 +1,2069 @@
+/* default.c
+ * (c) 2002 Mikulas Patocka, Petr 'Brain' Kulhavy
+ * This file is a part of the Links program, released under GPL
+ *
+ * Does the configuration file.
+ */
+
+#include "links.h"
+
+unsigned char system_name[MAX_STR_LEN];
+
+static void get_system_name(void)
+{
+#ifdef OS2
+ if (!os_get_system_name(system_name))
+ return;
+#endif
+#if defined(HAVE_SYS_UTSNAME_H) && defined(HAVE_UNAME)
+ {
+ struct utsname name;
+ int rs;
+ memset(&name, 0, sizeof name);
+ EINTRLOOP(rs, uname(&name));
+ if (!rs) {
+ unsigned char *str = init_str();
+ int l = 0;
+ add_to_str(&str, &l, name.sysname);
+ add_to_str(&str, &l, " ");
+ add_to_str(&str, &l, name.release);
+ add_to_str(&str, &l, " ");
+ add_to_str(&str, &l, name.machine);
+ if (l >= MAX_STR_LEN) str[MAX_STR_LEN - 1] = 0;
+ strcpy(system_name, str);
+ mem_free(str);
+ return;
+ }
+ }
+#endif
+#ifdef HAVE_POPEN
+ if (0) {
+ FILE *f;
+ unsigned char *p;
+ memset(system_name, 0, MAX_STR_LEN);
+ ENULLLOOP(f, popen("uname -srm", "r"));
+ if (!f) goto fail;
+ if (fread(system_name, 1, MAX_STR_LEN - 1, f) <= 0) {
+ pclose(f);
+ goto fail;
+ }
+ pclose(f);
+ for (p = system_name; *p; p++) if (*p < ' ') {
+ *p = 0;
+ break;
+ }
+ if (system_name[0]) return;
+ }
+ fail:
+#endif
+ strcpy(system_name, SYSTEM_NAME);
+}
+
+unsigned char compiler_name[MAX_STR_LEN];
+
+static void get_compiler_name(void)
+{
+#if defined(__BORLANDC__)
+
+ int w = __BORLANDC__+0;
+ int v1 = w / 0x100;
+ int v2 = w / 0x10 % 0x10;
+ int v3 = w % 0x10;
+ if (v1 == 4 && v2 < 5) v1 = 3;
+ if (v1 == 4 && v2 == 5) v2 = 0;
+
+ if (!v3) sprintf(compiler_name, "Borland C %d.%d", v1, v2);
+ else sprintf(compiler_name, "Borland C %d.%d.%d", v1, v2, v3);
+
+#elif defined(__clang__)
+
+#if !defined(__clang_major__) || !defined(__clang_minor__)
+ sprintf(compiler_name, "LLVM/Clang");
+#else
+ int v1 = __clang_major__+0;
+ int v2 = __clang_minor__+0;
+#ifdef __clang_patchlevel__
+ int v3 = __clang_patchlevel__+0;
+#else
+ int v3 = 0;
+#endif
+ if (v3 > 0) sprintf(compiler_name, "LLVM/Clang %d.%d.%d", v1, v2, v3);
+ else sprintf(compiler_name, "LLVM/Clang %d.%d", v1, v2);
+#endif
+
+#elif defined(__COMO_VERSION__)
+
+ int w = __COMO_VERSION__+0;
+ int v1 = w / 100;
+ int v2 = w % 100;
+ if (!(v2 % 10)) sprintf(compiler_name, "Comeau C %d.%d", v1, v2 / 10);
+ else sprintf(compiler_name, "Comeau C %d.%02d", v1, v2);
+
+#elif defined(__convexc__)
+
+ sprintf(compiler_name, "Convex C");
+
+#elif defined(_CRAYC)
+
+#if !defined(_RELEASE) || !defined(_RELEASE_MINOR)
+ sprintf(compiler_name, "Cray C");
+#else
+ int v1 = _RELEASE+0;
+ int v2 = _RELEASE_MINOR+0;
+ sprintf(compiler_name, "Cray C %d.%d", v1, v2);
+#endif
+
+#elif defined(__DCC__)
+
+#ifndef __VERSION_NUMBER__
+ sprintf(compiler_name, "Diab C");
+#else
+ int w = __VERSION_NUMBER__+0;
+ int v1 = w / 1000;
+ int v2 = w / 100 % 10;
+ int v3 = w % 100;
+ sprintf(compiler_name, "Diab C %d.%d.%02d", v1, v2, v3);
+#endif
+
+#elif defined(__DMC__)
+
+ int w = __DMC__+0;
+ int v1 = w / 0x100;
+ int v2 = w / 0x10 % 0x10;
+ int v3 = w % 0x10;
+ if (!v3) sprintf(compiler_name, "Digital Mars C %d.%d", v1, v2);
+ else sprintf(compiler_name, "Digital Mars C %d.%d.%d", v1, v2, v3);
+
+#elif defined(__DECC_VER)
+
+ int w = __DECC_VER+0;
+ int v1 = w / 10000000;
+ int v2 = w / 100000 % 100;
+ int v3 = w % 10000;
+ if (!(v2 % 10)) sprintf(compiler_name, "DEC C %d.%d-%d", v1, v2 / 10, v3);
+ else sprintf(compiler_name, "DEC C %d.%02d-%d", v1, v2, v3);
+
+#elif defined(__ghs__)
+
+#ifndef __GHS_VERSION_NUMBER__
+ sprintf(compiler_name, "Green Hill C");
+#else
+ int w = __GHS_VERSION_NUMBER__+0;
+ int v1 = w / 100;
+ int v2 = w / 10 % 10;
+ int v3 = w % 10;
+ sprintf(compiler_name, "Green Hill C %d.%d.%d", v1, v2, v3);
+#endif
+
+#elif defined(__HIGHC__)
+
+ sprintf(compiler_name, "MetaWare High C");
+
+#elif defined(__HP_cc)
+
+ int w = __HP_cc+0;
+ int v1 = w / 10000;
+ int v2 = w / 100 % 100;
+ int v3 = w % 100;
+ if (w <= 1) sprintf(compiler_name, "HP CC");
+ else sprintf(compiler_name, "HP CC %d.%02d.%02d", v1, v2, v3);
+
+#elif defined(__xlc__)
+
+ int w = __xlc__+0;
+ int v1 = w / 0x100;
+ int v2 = w % 0x100;
+ sprintf(compiler_name, "IBM XL C %X.%X", v1, v2);
+
+#elif defined(__IBMC__) && defined(__COMPILER_VER__)
+
+ unsigned w = __COMPILER_VER__+0;
+ int v0 = w / 0x10000000;
+ int v1 = w / 0x1000000 % 0x10;
+ int v2 = w / 0x10000 % 0x100;
+ int v3 = w % 0x10000;
+ unsigned char *os = !v0 ? "S/370" : v0 == 1 ? "OS/390" : v0 == 4 ? "z/OS" : "";
+ sprintf(compiler_name, "IBM%s%s XL C %X.%0X.%X", *os ? " " : "", os, v1, v2, v3);
+
+#elif defined(__ICC)
+
+ int w = __ICC+0;
+ int v1 = w / 100;
+ int v2 = w % 100;
+ if (!(v2 % 10)) sprintf(compiler_name, "Intel C %d.%d", v1, v2 / 10);
+ else sprintf(compiler_name, "Intel C %d.%02d", v1, v2);
+
+#elif defined(__LCC__)
+
+ sprintf(compiler_name, "LCC");
+
+#elif defined(__NDPC__)
+
+ sprintf(compiler_name, "Microway NDP C");
+
+#elif defined(_MSC_VER)
+
+ int w = _MSC_VER+0;
+ int v1 = w / 100;
+ int v2 = w % 100;
+ unsigned char *visual = "";
+ if (v1 >= 8) {
+ v1 -= 6;
+ if (v1 == 2) v1 = 1;
+ visual = "Visual ";
+ }
+ if (!(v2 % 10)) sprintf(compiler_name, "Microsoft %sC %d.%d", visual, v1, v2 / 10);
+ else sprintf(compiler_name, "Microsoft %sC %d.%02d", visual, v1, v2);
+
+#elif defined(__MWERKS__)
+
+ int w = __MWERKS__+0;
+ int v1 = w / 0x1000;
+ int v2 = w / 0x100 % 0x10;
+ int v3 = w % 0x100;
+ if (w <= 1) sprintf(compiler_name, "Metrowerks CodeWarrior");
+ sprintf(compiler_name, "Metrowerks CodeWarrior %x.%x.%x", v1, v2, v3);
+
+#elif defined(__NWCC__)
+
+ sprintf(compiler_name, "NWCC");
+
+#elif defined(__OPEN64__)
+
+ unsigned char *n = "Open64 " __OPEN64__;
+ if (strlen(n) >= sizeof(compiler_name)) n = "Open64";
+ strcpy(compiler_name, n);
+
+#elif defined(__PATHSCALE__)
+
+ unsigned char *n = "PathScale " __PATHSCALE__;
+ if (strlen(n) >= sizeof(compiler_name)) n = "PathScale";
+ strcpy(compiler_name, n);
+
+#elif defined(__PCC__)
+
+ int v1 = __PCC__+0;
+#ifdef __PCC_MINOR__
+ int v2 = __PCC_MINOR__+0;
+#else
+ int v2 = 0;
+#endif
+#ifdef __PCC_MINORMINOR__
+ int v3 = __PCC_MINORMINOR__+0;
+#else
+ int v3 = 0;
+#endif
+ sprintf(compiler_name, "PCC %d.%d.%d", v1, v2, v3);
+
+#elif defined(__PGI) || defined(__PGIC__)
+
+#if !defined(__PGIC__) || !defined(__PGIC_MINOR__)
+ sprintf(compiler_name, "The Portland Group C");
+#else
+ int v1 = __PGIC__+0;
+ int v2 = __PGIC_MINOR__+0;
+#ifdef __PGIC_PATCHLEVEL__
+ int v3 = __PGIC_PATCHLEVEL__+0;
+#else
+ int v3 = 0;
+#endif
+ if (v3 > 0) sprintf(compiler_name, "The Portland Group C %d.%d.%d", v1, v2, v3);
+ else sprintf(compiler_name, "The Portland Group C %d.%d", v1, v2);
+#endif
+
+#elif defined(__SASC__)
+
+ int w = __SASC__+0;
+ int v1 = w / 100;
+ int v2 = w % 100;
+ sprintf(compiler_name, "SAS C %d.%02d", v1, v2);
+
+#elif (defined(__sgi) && defined(_COMPILER_VERSION)) || defined(_SGI_COMPILER_VERSION)
+
+#ifdef _SGI_COMPILER_VERSION
+ int w = _SGI_COMPILER_VERSION;
+#else
+ int w = _COMPILER_VERSION;
+#endif
+ int v1 = w / 100;
+ int v2 = w / 10 % 10;
+ int v3 = w % 10;
+ sprintf(compiler_name, "MIPSpro %d.%d.%d", v1, v2, v3);
+
+#elif defined(__SUNPRO_C)
+
+ int w = __SUNPRO_C+0;
+ int div = w >= 0x1000 ? 0x1000 : 0x100;
+ int v2_digits = w >= 0x1000 ? 2 : 1;
+ int v1 = w / div;
+ int v2 = w % div / 0x10;
+ int v3 = w % 0x10;
+ if (!v3) sprintf(compiler_name, "Sun C %X.%0*X", v1, v2_digits, v2);
+ else sprintf(compiler_name, "Sun C %X.%0*X.%X", v1, v2_digits, v2, v3);
+
+#elif defined(__SYSC__) && defined(__SYSC_VER__)
+
+ int w = __SYSC_VER__+0;
+ int v1 = w / 10000;
+ int v2 = w / 100 % 100;
+ int v3 = w % 100;
+ sprintf(compiler_name, "Dignus Systems C %d.%02d.%02d", v1, v2, v3);
+
+#elif defined(__TenDRA__)
+
+ sprintf(compiler_name, "TenDRA C");
+
+#elif defined(__TINYC__)
+
+ sprintf(compiler_name, "Tiny C");
+
+#elif defined(_UCC)
+
+#if !defined(_MAJOR_REV) || !defined(_MINOR_REV)
+ sprintf(compiler_name, "Ultimate C");
+#else
+ int v1 = _MAJOR_REV+0;
+ int v2 = _MAJOR_REV+0;
+ sprintf(compiler_name, "Ultimate C %d.%d", v1, v2);
+#endif
+
+#elif defined(__USLC__)
+
+ sprintf(compiler_name, "USL C");
+
+#elif defined(__VAXC)
+
+ sprintf(compiler_name, "VAX C");
+
+#elif defined(__VOSC__)
+
+ sprintf(compiler_name, "Stratus VOS C");
+
+#elif defined(__WATCOMC__)
+
+ int w = __WATCOMC__+0;
+ int v1 = w / 100;
+ int v2 = w % 100;
+ unsigned char *op = "";
+ if (v1 >= 12) {
+ v1 -= 11;
+ op = "Open";
+ }
+ if (!(v2 % 10)) sprintf(compiler_name, "%sWatcom C %d.%d", op, v1, v2 / 10);
+ else sprintf(compiler_name, "%sWatcom C %d.%02d", op, v1, v2);
+
+#elif defined(__GNUC__)
+
+ int v1 = __GNUC__+0;
+#ifdef __GNUC_MINOR__
+ int v2 = __GNUC_MINOR__+0;
+#else
+ int v2 = 0;
+#endif
+#ifdef __GNUC_PATCHLEVEL__
+ int v3 = __GNUC_PATCHLEVEL__+0;
+#else
+ int v3 = 0;
+#endif
+#if defined(__llvm__)
+ unsigned char *prefix = "LLVM/";
+#else
+ unsigned char *prefix = "";
+#endif
+ if (v1 == 2 && (v2 >= 90 && v2 <= 91)) sprintf(compiler_name, "%sEGCS 1.%d", prefix, v2 - 90);
+ else if (v3 > 0) sprintf(compiler_name, "%sGNU C %d.%d.%d", prefix, v1, v2, v3);
+ else sprintf(compiler_name, "%sGNU C %d.%d", prefix, v1, v2);
+
+#else
+
+ sprintf(compiler_name, "unknown compiler");
+
+#endif
+}
+
+struct option {
+ int p;
+ unsigned char *(*rd_cmd)(struct option *, unsigned char ***, int *);
+ unsigned char *(*rd_cfg)(struct option *, unsigned char *);
+ void (*wr_cfg)(struct option *, unsigned char **, int *);
+ int min, max; /* for double min and max are in 1/100's (e.g. 0.1 is min==10) */
+ void *ptr;
+ unsigned char *cfg_name;
+ unsigned char *cmd_name;
+};
+
+static unsigned char *p_arse_options(int argc, unsigned char *argv[], struct option **opt)
+{
+ unsigned char *e, *u = NULL;
+ while (argc) {
+ int i;
+ argv++, argc--;
+ if (argv[-1][0] == '-') {
+ struct option *options;
+ struct option **op;
+ for (op = opt; (options = *op); op++) for (i = 0; options[i].p; i++)
+ if (options[i].rd_cmd && options[i].cmd_name &&
+ !strcasecmp(options[i].cmd_name, &argv[-1][1])) {
+ if ((e = options[i].rd_cmd(&options[i], &argv, &argc))) {
+ if (e[0]) fprintf(stderr, "Error parsing option %s: %s\n", argv[-1], e);
+ return NULL;
+ }
+ goto found;
+ }
+ uu:
+#ifdef GRDRV_DIRECTFB
+ if (!strncmp(argv[-1], "--dfb:", 6))
+ goto found;
+#endif
+ fprintf(stderr, "Unknown option %s\n", argv[-1]);
+ return NULL;
+ } else if (!u) u = argv[-1];
+ else goto uu;
+ found:;
+ }
+ if (u) return u;
+ return "";
+}
+
+static unsigned char *get_token(unsigned char **line)
+{
+ unsigned char *s = NULL;
+ int l = 0;
+ int escape = 0;
+ int quote = 0;
+
+ while (**line == ' ' || **line == 9) (*line)++;
+ if (**line) {
+ for (s = init_str(); **line; (*line)++) {
+ if (escape)
+ escape = 0;
+ else if (**line == '\\') {
+ escape = 1;
+ continue;
+ }
+ else if (**line == '"') {
+ quote = !quote;
+ continue;
+ }
+ else if ((**line == ' ' || **line == 9) && !quote)
+ break;
+ add_chr_to_str(&s, &l, **line);
+ }
+ }
+ return s;
+}
+
+static void parse_config_file(unsigned char *name, unsigned char *file, struct option **opt)
+{
+ struct option *options;
+ struct option **op;
+ int err = 0;
+ int line = 0;
+ unsigned char *e;
+ int i;
+ unsigned char *n, *p;
+ unsigned char *tok;
+ int nl, pl;
+ while (file[0]) {
+ line++;
+ while (file[0] && (file[0] == ' ' || file[0] == 9)) file++;
+ n = file;
+ while (file[0] && file[0] > ' ') file++;
+ if (file == n) {
+ if (file[0]) file++;
+ continue;
+ }
+ nl = file - n;
+ while (file[0] == 9 || file[0] == ' ') file++;
+ p = file;
+ while (file[0] && file[0] != 10 && file[0] != 13) file++;
+ pl = file - p;
+ if (file[0]) {
+ if ((file[1] == 10 || file[1] == 13) && file[0] != file[1]) file++;
+ file++;
+ }
+ tok = NULL;
+ if (n[0] == '#') goto f;
+ if (!(tok = get_token(&n))) goto f;
+ nl = strlen(tok);
+ for (op = opt; (options = *op); op++)
+ for (i = 0; options[i].p; i++) if (options[i].cfg_name && (size_t)nl == strlen(options[i].cfg_name) && !casecmp(tok, options[i].cfg_name, nl)) {
+ unsigned char *o = memacpy(p, pl);
+ if ((e = options[i].rd_cfg(&options[i], o))) {
+ if (e[0]) fprintf(stderr, "Error parsing config file %s, line %d: %s\n", name, line, e), err = 1;
+ }
+ mem_free(o);
+ goto f;
+ }
+ fprintf(stderr, "Unknown option in config file %s, line %d\n", name, line);
+ err = 1;
+ f:
+ if (tok) mem_free(tok);
+ }
+ if (err) fprintf(stderr, "\007"), sleep(1);
+}
+
+static unsigned char *create_config_string(struct option *options)
+{
+ unsigned char *s = init_str();
+ int l = 0;
+ int i;
+ add_to_str(&s, &l, "# This file is automatically generated by Links -- please do not edit.");
+ for (i = 0; options[i].p; i++) if (options[i].wr_cfg)
+ options[i].wr_cfg(&options[i], &s, &l);
+ add_to_str(&s, &l, NEWLINE);
+ return s;
+}
+
+#define FILE_BUF 1024
+
+static unsigned char cfg_buffer[FILE_BUF];
+
+unsigned char *read_config_file(unsigned char *name)
+{
+ int h, r;
+ int l = 0;
+ unsigned char *s;
+ int rs;
+ EINTRLOOP(h, open(name, O_RDONLY | O_NOCTTY));
+ if (h == -1) return NULL;
+ set_bin(h);
+ s = init_str();
+ while ((r = hard_read(h, cfg_buffer, FILE_BUF)) > 0) {
+ int i;
+ for (i = 0; i < r; i++) if (!cfg_buffer[i]) cfg_buffer[i] = ' ';
+ add_bytes_to_str(&s, &l, cfg_buffer, r);
+ }
+ if (r == -1) mem_free(s), s = NULL;
+ EINTRLOOP(rs, close(h));
+ return s;
+}
+
+int write_to_config_file(unsigned char *name, unsigned char *c)
+{
+ int rr;
+ int r;
+ int h, w;
+ int count = 0;
+ int tmp_namel;
+ unsigned char *tmp_name;
+ int rs;
+try_new_count:
+ tmp_namel = 0;
+ tmp_name = init_str();
+ add_to_str(&tmp_name, &tmp_namel, name);
+ add_to_str(&tmp_name, &tmp_namel, ".tmp.");
+ add_num_to_str(&tmp_name, &tmp_namel, count);
+ EINTRLOOP(h, open(tmp_name, O_WRONLY | O_NOCTTY | O_CREAT | O_TRUNC | O_EXCL, 0600));
+ if (h == -1) {
+ if (errno == EEXIST && count < MAXINT) {
+ count++;
+ mem_free(tmp_name);
+ goto try_new_count;
+ }
+ mem_free(tmp_name);
+ return get_error_from_errno(errno);
+ }
+ set_bin(h);
+ rr = strlen(c);
+ r = rr;
+ while (r > 0) {
+ if ((w = hard_write(h, c + rr - r, r)) <= 0) {
+ int err = !w ? ENOSPC : errno;
+ EINTRLOOP(rs, close(h));
+ EINTRLOOP(rs, unlink(tmp_name));
+ mem_free(tmp_name);
+ return get_error_from_errno(err);
+ }
+ r -= w;
+ }
+ EINTRLOOP(rs, close(h));
+#ifndef RENAME_OVER_EXISTING_FILES
+ EINTRLOOP(rs, unlink(name));
+#endif
+ EINTRLOOP(rs, rename(tmp_name, name));
+ if (rs) {
+ int err = errno;
+ EINTRLOOP(rs, unlink(tmp_name));
+ mem_free(tmp_name);
+ return get_error_from_errno(err);
+ }
+ mem_free(tmp_name);
+ return 0;
+}
+
+static unsigned char *get_home(int *n)
+{
+ struct stat st;
+ int rs;
+ unsigned char *home = NULL;
+ unsigned char *home_links;
+ unsigned char *config_dir = stracpy(getenv("CONFIG_DIR"));
+
+ if (n) *n = 1;
+#ifdef WIN32
+ if (!home) {
+ home = stracpy(getenv("APPDATA"));
+#ifdef HAVE_CYGWIN_CONV_PATH
+ /*
+ * Newer Cygwin complains about windows-style path, so
+ * we have to convert it.
+ */
+ if (home) {
+ unsigned char *new_path;
+ ssize_t sz = cygwin_conv_path(CCP_WIN_A_TO_POSIX | CCP_ABSOLUTE, home, NULL, 0);
+ if (sz < 0)
+ goto skip_path_conv;
+ new_path = mem_alloc(sz);
+ sz = cygwin_conv_path(CCP_WIN_A_TO_POSIX | CCP_ABSOLUTE, home, new_path, sz);
+ if (sz < 0) {
+ mem_free(new_path);
+ goto skip_path_conv;
+ }
+ mem_free(home);
+ home = new_path;
+skip_path_conv:;
+ }
+#endif
+ if (home) {
+ EINTRLOOP(rs, stat(home, &st));
+ if (rs || !S_ISDIR(st.st_mode)) {
+ mem_free(home);
+ home = NULL;
+ }
+ }
+ }
+#endif
+ if (!home) home = stracpy(getenv("HOME"));
+#ifdef WIN32
+/* When we run in Cygwin without Cygwin environment, it reports home "/".
+ Unfortunatelly, it can't write anything to that directory */
+ if (home && !strcmp(home, "/")) {
+ mem_free(home);
+ home = NULL;
+ }
+#endif
+ if (!home) {
+ int i;
+ home = stracpy(path_to_exe);
+ if (!home) {
+ if (config_dir) mem_free(config_dir);
+ return NULL;
+ }
+ for (i = strlen(home) - 1; i >= 0; i--) if (dir_sep(home[i])) {
+ home[i + 1] = 0;
+ goto br;
+ }
+ home[0] = 0;
+ br:;
+ }
+ while (home[0] && dir_sep(home[strlen(home) - 1])) home[strlen(home) - 1] = 0;
+ if (home[0]) add_to_strn(&home, "/");
+ home_links = stracpy(home);
+ if (config_dir)
+ {
+ add_to_strn(&home_links, config_dir);
+ while (home_links[0] && dir_sep(home_links[strlen(home_links) - 1])) home_links[strlen(home_links) - 1] = 0;
+ EINTRLOOP(rs, stat(home_links, &st));
+ if (!rs && S_ISDIR(st.st_mode)) {
+ add_to_strn(&home_links, "/links");
+ } else {
+ fprintf(stderr, "CONFIG_DIR set to %s. But directory %s doesn't exist.\n\007", config_dir, home_links);
+ sleep(3);
+ mem_free(home_links);
+ home_links = stracpy(home);
+ add_to_strn(&home_links, ".links");
+ }
+ mem_free(config_dir);
+ } else add_to_strn(&home_links, ".links");
+ EINTRLOOP(rs, stat(home_links, &st));
+ if (rs) {
+#ifdef HAVE_MKDIR
+ EINTRLOOP(rs, mkdir(home_links, 0700));
+ if (!rs) goto home_creat;
+#endif
+ if (config_dir) goto failed;
+ goto first_failed;
+ }
+ if (S_ISDIR(st.st_mode)) goto home_ok;
+ /* This is a Cygwin hack! Cygwin reports stat for "links" if no
+ "links" exists and only "links.exe" does. So try to create directory
+ anyway. */
+#ifdef HAVE_MKDIR
+ EINTRLOOP(rs, mkdir(home_links, 0700));
+ if (!rs) goto home_creat;
+#endif
+ first_failed:
+ mem_free(home_links);
+ home_links = stracpy(home);
+ add_to_strn(&home_links, "links");
+ EINTRLOOP(rs, stat(home_links, &st));
+ if (rs) {
+#ifdef HAVE_MKDIR
+ EINTRLOOP(rs, mkdir(home_links, 0700));
+ if (!rs) goto home_creat;
+#else
+ mem_free(home_links);
+ home_links = stracpy(home);
+ goto home_ok;
+#endif
+ goto failed;
+ }
+ if (S_ISDIR(st.st_mode)) goto home_ok;
+#ifdef HAVE_MKDIR
+ EINTRLOOP(rs, mkdir(home_links, 0700));
+ if (!rs) goto home_creat;
+#endif
+ failed:
+ mem_free(home_links);
+ mem_free(home);
+ return NULL;
+
+ home_ok:
+ if (n) *n = 0;
+ home_creat:
+#ifdef HAVE_CHMOD
+ EINTRLOOP(rs, chmod(home_links, 0700));
+#endif
+ add_to_strn(&home_links, "/");
+ mem_free(home);
+ return home_links;
+}
+
+void init_home(void)
+{
+ get_system_name();
+ get_compiler_name();
+ links_home = get_home(&first_use);
+ if (!links_home) {
+ fprintf(stderr, "Unable to find or create links config directory. Please check, that you have $HOME variable set correctly and that you have write permission to your home directory.\n\007");
+ sleep(3);
+ return;
+ }
+}
+
+/* prefix: directory
+ * name: name of the configuration file (typ. links.cfg)
+ */
+static int write_config_data(unsigned char *prefix, unsigned char *name, struct option *o, struct terminal *term)
+{
+ int err;
+ unsigned char *c, *config_file;
+ if (!(c = create_config_string(o))) return -1;
+ config_file = stracpy(prefix);
+ if (!config_file) {
+ mem_free(c);
+ return -1;
+ }
+ add_to_strn(&config_file, name);
+ if ((err = write_to_config_file(config_file, c))) {
+ if (term) msg_box(term, NULL, TEXT_(T_CONFIG_ERROR), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_UNABLE_TO_WRITE_TO_CONFIG_FILE), ": ", get_err_msg(err), NULL, NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ mem_free(c);
+ mem_free(config_file);
+ return -1;
+ }
+ mem_free(c);
+ mem_free(config_file);
+ return 0;
+}
+
+static void add_nm(struct option *o, unsigned char **s, int *l)
+{
+ if (*l) add_to_str(s, l, NEWLINE);
+ add_to_str(s, l, o->cfg_name);
+ add_to_str(s, l, " ");
+}
+
+static void add_quoted_to_str(unsigned char **s, int *l, unsigned char *q)
+{
+ add_chr_to_str(s, l, '"');
+ while (*q) {
+ if (*q == '"' || *q == '\\') add_chr_to_str(s, l, '\\');
+ add_chr_to_str(s, l, *q);
+ q++;
+ }
+ add_chr_to_str(s, l, '"');
+}
+
+static unsigned char *num_rd(struct option *o, unsigned char *c)
+{
+ unsigned char *tok = get_token(&c);
+ unsigned char *end;
+ long l;
+ if (!tok) return "Missing argument";
+ l = strtolx(tok, &end);
+ if (*end) {
+ mem_free(tok);
+ return "Number expected";
+ }
+ if (l < o->min || l > o->max) {
+ mem_free(tok);
+ return "Out of range";
+ }
+ *(int *)o->ptr = l;
+ mem_free(tok);
+ return NULL;
+}
+
+static void num_wr(struct option *o, unsigned char **s, int *l)
+{
+ add_nm(o, s, l);
+ add_knum_to_str(s, l, *(int *)o->ptr);
+}
+
+static unsigned char *dbl_rd(struct option *o, unsigned char *c)
+{
+ unsigned char *tok = get_token(&c);
+ unsigned char *end;
+ double d;
+
+ if (!tok) return "Missing argument";
+ d = strtod(tok, (char **)(void *)&end);
+
+ if (*end) {
+ mem_free(tok);
+ return "Number expected";
+ }
+ if (100*d < o->min || 100*d > o->max) {
+ mem_free(tok);
+ return "Out of range";
+ }
+ *(double *)o->ptr = d;
+ mem_free(tok);
+ return NULL;
+}
+
+static void dbl_wr(struct option *o, unsigned char **s, int *l)
+{
+ unsigned char number[80];
+ snprintf(number, sizeof number, "%.4f", *(double*)o->ptr);
+
+ add_nm(o, s, l);
+ add_to_str(s, l, number);
+}
+
+static unsigned char *str_rd(struct option *o, unsigned char *c)
+{
+ unsigned char *tok = get_token(&c);
+ unsigned char *e = NULL;
+ if (!tok) return NULL;
+ if (strlen(tok) + 1 > (size_t)o->max) e = "String too long";
+ else strcpy(o->ptr, tok);
+ mem_free(tok);
+ return e;
+}
+
+static void str_wr(struct option *o, unsigned char **s, int *l)
+{
+ add_nm(o, s, l);
+ if (strlen(o->ptr) + 1 > (size_t)o->max) {
+ unsigned char *s1 = init_str();
+ int l1 = 0;
+ add_bytes_to_str(&s1, &l1, o->ptr, o->max - 1);
+ add_quoted_to_str(s, l, s1);
+ mem_free(s1);
+ }
+ else add_quoted_to_str(s, l, o->ptr);
+}
+
+static unsigned char *cp_rd(struct option *o, unsigned char *c)
+{
+ unsigned char *tok = get_token(&c);
+ unsigned char *e = NULL;
+ int i;
+ if (!tok) return "Missing argument";
+ if ((i = get_cp_index(tok)) == -1) e = "Unknown codepage";
+#ifndef ENABLE_UTF8
+ else if (o->min == 1 && i == utf8_table) e = "UTF-8 can't be here";
+#endif
+ else *(int *)o->ptr = i;
+ mem_free(tok);
+ return e;
+}
+
+static void cp_wr(struct option *o, unsigned char **s, int *l)
+{
+ unsigned char *n = get_cp_mime_name(*(int *)o->ptr);
+ add_nm(o, s, l);
+ add_to_str(s, l, n);
+}
+
+static unsigned char *lang_rd(struct option *o, unsigned char *c)
+{
+ int i;
+ unsigned char *tok = get_token(&c);
+ if (!tok) return "Missing argument";
+ for (i = 0; i < n_languages(); i++)
+ if (!(strcasecmp(language_name(i), tok))) {
+ set_language(i);
+ mem_free(tok);
+ return NULL;
+ }
+ mem_free(tok);
+ return "Unknown language";
+}
+
+static void lang_wr(struct option *o, unsigned char **s, int *l)
+{
+ add_nm(o, s, l);
+ add_quoted_to_str(s, l, language_name(current_language));
+}
+
+static int getnum(unsigned char *s, int *n, int r1, int r2)
+{
+ unsigned char *e;
+ long l = strtol(s, (char **)(void *)&e, 10);
+ if (*e || !*s) return -1;
+ if (l < r1 || l >= r2) return -1;
+ *n = (int)l;
+ return 0;
+}
+
+static unsigned char *type_rd(struct option *o, unsigned char *c)
+{
+ unsigned char *err = "Error reading association specification";
+ struct assoc new;
+ unsigned char *w;
+ int n = 0; /* against warning */
+ memset(&new, 0, sizeof(struct assoc));
+ if (!(new.label = get_token(&c))) goto err;
+ if (!(new.ct = get_token(&c))) goto err;
+ if (!(new.prog = get_token(&c))) goto err;
+ if (!(w = get_token(&c))) goto err;
+ if (getnum(w, &n, 0, 128)) goto err_f;
+ mem_free(w);
+ new.cons = !!(n & 1);
+ new.xwin = !!(n & 2);
+ new.ask = !!(n & 4);
+ if ((n & 8) || (n & 16)) new.block = !!(n & 16);
+ else new.block = !new.xwin || new.cons;
+ new.accept_http = !!(n & 32);
+ new.accept_ftp = !!(n & 64);
+ if (!(w = get_token(&c))) goto err;
+ if (strlen(w) != 1 || w[0] < '0' || w[0] > '9') goto err_f;
+ new.system = w[0] - '0';
+ mem_free(w);
+ update_assoc(&new);
+ err = NULL;
+ err:
+ if (new.label) mem_free(new.label);
+ if (new.ct) mem_free(new.ct);
+ if (new.prog) mem_free(new.prog);
+ return err;
+ err_f:
+ mem_free(w);
+ goto err;
+}
+
+static unsigned char *block_rd(struct option *o, unsigned char *c)
+{
+ unsigned char *err = "Error reading image block specification";
+ unsigned char* url;
+
+ if(!(url = get_token(&c)))
+ return err;
+
+ block_add_URL_fn(NULL, url);
+
+ mem_free(url);
+
+ return NULL;
+}
+
+static void block_wr(struct option *o, unsigned char **s, int *l)
+{
+ struct block *a;
+ foreachback(a, blocks) {
+ add_nm(o, s, l);
+ add_quoted_to_str(s, l, a->url);
+ }
+}
+
+static void type_wr(struct option *o, unsigned char **s, int *l)
+{
+ struct assoc *a;
+ foreachback(a, assoc) {
+ add_nm(o, s, l);
+ add_quoted_to_str(s, l, a->label);
+ add_to_str(s, l, " ");
+ add_quoted_to_str(s, l, a->ct);
+ add_to_str(s, l, " ");
+ add_quoted_to_str(s, l, a->prog);
+ add_to_str(s, l, " ");
+ add_num_to_str(s, l, (!!a->cons) + (!!a->xwin) * 2 + (!!a->ask) * 4 + (!a->block) * 8 + (!!a->block) * 16 + (!!a->accept_http) * 32 + (!!a->accept_ftp) * 64);
+ add_to_str(s, l, " ");
+ add_num_to_str(s, l, a->system);
+ }
+}
+
+static unsigned char *ext_rd(struct option *o, unsigned char *c)
+{
+ unsigned char *err = "Error reading extension specification";
+ struct extension new;
+ memset(&new, 0, sizeof(struct extension));
+ if (!(new.ext = get_token(&c))) goto err;
+ if (!(new.ct = get_token(&c))) goto err;
+ update_ext(&new);
+ err = NULL;
+ err:
+ if (new.ext) mem_free(new.ext);
+ if (new.ct) mem_free(new.ct);
+ return err;
+}
+
+static void ext_wr(struct option *o, unsigned char **s, int *l)
+{
+ struct extension *a;
+ foreachback(a, extensions) {
+ add_nm(o, s, l);
+ add_quoted_to_str(s, l, a->ext);
+ add_to_str(s, l, " ");
+ add_quoted_to_str(s, l, a->ct);
+ }
+}
+
+static unsigned char *prog_rd(struct option *o, unsigned char *c)
+{
+ unsigned char *err = "Error reading program specification";
+ unsigned char *prog, *w;
+ if (!(prog = get_token(&c))) goto err_1;
+ if (!(w = get_token(&c))) goto err_2;
+ if (strlen(w) != 1 || w[0] < '0' || w[0] > '9') goto err_3;
+ update_prog(o->ptr, prog, w[0] - '0');
+ err = NULL;
+ err_3:
+ mem_free(w);
+ err_2:
+ mem_free(prog);
+ err_1:
+ return err;
+}
+
+static void prog_wr(struct option *o, unsigned char **s, int *l)
+{
+ struct protocol_program *a;
+ foreachback(a, *(struct list_head *)o->ptr) {
+ if (!*a->prog) continue;
+ add_nm(o, s, l);
+ add_quoted_to_str(s, l, a->prog);
+ add_to_str(s, l, " ");
+ add_num_to_str(s, l, a->system);
+ }
+}
+
+static unsigned char *term_rd(struct option *o, unsigned char *c)
+{
+ struct term_spec *ts;
+ unsigned char *w;
+ int i;
+ if (!(w = get_token(&c))) goto err;
+ if (!(ts = new_term_spec(w))) {
+ mem_free(w);
+ goto end;
+ }
+ mem_free(w);
+ if (!(w = get_token(&c))) goto err;
+ if (strlen(w) != 1 || w[0] < '0' || w[0] > '4') goto err_f;
+ ts->mode = w[0] - '0';
+ mem_free(w);
+ if (!(w = get_token(&c))) goto err;
+ if (strlen(w) != 1 || w[0] < '0' || w[0] > '3') goto err_f;
+ ts->m11_hack = (w[0] - '0') & 1;
+ ts->braille = !!((w[0] - '0') & 2);
+ mem_free(w);
+ if (!(w = get_token(&c))) goto err;
+ if (strlen(w) != 1 || w[0] < '0' || w[0] > '7') goto err_f;
+ ts->col = (w[0] - '0') & 1;
+ ts->restrict_852 = !!((w[0] - '0') & 2);
+ ts->block_cursor = !!((w[0] - '0') & 4);
+ mem_free(w);
+ if (!(w = get_token(&c))) goto err;
+ if ((i = get_cp_index(w)) == -1) goto err_f;
+#ifndef ENABLE_UTF8
+ if (i == utf8_table) {
+ i = 0;
+ }
+#endif
+ ts->charset = i;
+ mem_free(w);
+ end:
+ return NULL;
+ err_f:
+ mem_free(w);
+ err:
+ return "Error reading terminal specification";
+}
+
+static unsigned char *term2_rd(struct option *o, unsigned char *c)
+{
+ struct term_spec *ts;
+ unsigned char *w;
+ int i;
+ if (!(w = get_token(&c))) goto err;
+ if (!(ts = new_term_spec(w))) {
+ mem_free(w);
+ goto end;
+ }
+ mem_free(w);
+ if (!(w = get_token(&c))) goto err;
+ if (strlen(w) != 1 || w[0] < '0' || w[0] > '3') goto err_f;
+ ts->mode = w[0] - '0';
+ mem_free(w);
+ if (!(w = get_token(&c))) goto err;
+ if (strlen(w) != 1 || w[0] < '0' || w[0] > '1') goto err_f;
+ ts->m11_hack = w[0] - '0';
+ mem_free(w);
+ if (!(w = get_token(&c))) goto err;
+ if (strlen(w) != 1 || w[0] < '0' || w[0] > '1') goto err_f;
+ ts->restrict_852 = w[0] - '0';
+ mem_free(w);
+ if (!(w = get_token(&c))) goto err;
+ if (strlen(w) != 1 || w[0] < '0' || w[0] > '1') goto err_f;
+ ts->col = w[0] - '0';
+ mem_free(w);
+ if (!(w = get_token(&c))) goto err;
+ if ((i = get_cp_index(w)) == -1) goto err_f;
+#ifndef ENABLE_UTF8
+ if (i == utf8_table) {
+ i = 0;
+ }
+#endif
+ ts->charset = i;
+ mem_free(w);
+ end:
+ return NULL;
+ err_f:
+ mem_free(w);
+ err:
+ return "Error reading terminal specification";
+}
+
+static void term_wr(struct option *o, unsigned char **s, int *l)
+{
+ struct term_spec *ts;
+ foreachback(ts, term_specs) {
+ add_nm(o, s, l);
+ add_quoted_to_str(s, l, ts->term);
+ add_to_str(s, l, " ");
+ add_num_to_str(s, l, ts->mode);
+ add_to_str(s, l, " ");
+ add_num_to_str(s, l, !!ts->m11_hack + !!ts->braille * 2);
+ add_to_str(s, l, " ");
+ add_num_to_str(s, l, !!ts->col + !!ts->restrict_852 * 2 + !!ts->block_cursor * 4);
+ add_to_str(s, l, " ");
+ add_to_str(s, l, get_cp_mime_name(ts->charset));
+ }
+}
+
+static struct list_head driver_params = { &driver_params, &driver_params };
+
+struct driver_param *get_driver_param(unsigned char *n)
+{
+ struct driver_param *dp;
+ foreach(dp, driver_params) if (!strcasecmp(dp->name, n)) return dp;
+ dp = mem_calloc(sizeof(struct driver_param) + strlen(n) + 1);
+ dp->codepage = get_cp_index("iso-8859-1");
+ strcpy(dp->name, n);
+ dp->shell = mem_calloc(1);
+ dp->nosave = 1;
+ add_to_list(driver_params, dp);
+ return dp;
+}
+
+static unsigned char *dp_rd(struct option *o, unsigned char *c)
+{
+ int cc;
+ unsigned char *n, *param, *cp, *shell;
+ struct driver_param *dp;
+ if (!(n = get_token(&c))) goto err;
+ if (!(param = get_token(&c))) {
+ mem_free(n);
+ goto err;
+ }
+ if (!(shell = get_token(&c))){
+ mem_free(n);
+ mem_free(param);
+ goto err;
+ }
+ if (!(cp = get_token(&c))) {
+ mem_free(n);
+ mem_free(param);
+ mem_free(shell);
+ goto err;
+ }
+ if ((cc=get_cp_index(cp)) == -1) {
+ mem_free(n);
+ mem_free(param);
+ mem_free(shell);
+ mem_free(cp);
+ goto err;
+ }
+ dp=get_driver_param(n);
+ dp->codepage=cc;
+ if (dp->param) mem_free(dp->param);
+ dp->param=param;
+ if (dp->shell) mem_free(dp->shell);
+ dp->shell=shell;
+ dp->nosave = 0;
+ mem_free(cp);
+ mem_free(n);
+ return NULL;
+ err:
+ return "Error reading driver mode specification";
+}
+
+static void dp_wr(struct option *o, unsigned char **s, int *l)
+{
+ struct driver_param *dp;
+ foreachback(dp, driver_params) {
+ if ((!dp->param || !*dp->param) && !dp->codepage && !*dp->shell) continue;
+ if (dp->nosave) continue;
+ add_nm(o, s, l);
+ add_quoted_to_str(s, l, dp->name);
+ add_to_str(s, l, " ");
+ add_quoted_to_str(s, l, dp->param ? dp->param : (unsigned char*)"");
+ add_to_str(s, l, " ");
+ add_quoted_to_str(s, l, dp->shell);
+ add_to_str(s, l, " ");
+ add_to_str(s, l, get_cp_mime_name(dp->codepage));
+ }
+}
+
+static unsigned char *ip_rd(struct option *o, unsigned char *c)
+{
+ unsigned char *e;
+ e = str_rd(o, c);
+ if (e) return e;
+ if (*(unsigned char *)o->ptr && numeric_ip_address(o->ptr, NULL) == -1) return "Invalid IP address";
+ return NULL;
+}
+
+static unsigned char *gen_cmd(struct option *o, unsigned char ***argv, int *argc)
+{
+ unsigned char *e;
+ int l;
+ unsigned char *r;
+ if (!*argc) return "Parameter expected";
+ e = init_str();
+ l = 0;
+ add_quoted_to_str(&e, &l, **argv);
+ r = o->rd_cfg(o, e);
+ mem_free(e);
+ if (r) return r;
+ (*argv)++; (*argc)--;
+ return NULL;
+}
+
+static unsigned char *lookup_cmd(struct option *o, unsigned char ***argv, int *argc)
+{
+ ip__address addr;
+ unsigned char *p = (unsigned char *)&addr;
+ if (!*argc) return "Parameter expected";
+ if (*argc >= 2) return "Too many parameters";
+ (*argv)++; (*argc)--;
+ if (do_real_lookup(*(*argv - 1), &addr)) {
+#if defined(HAVE_GETHOSTBYNAME) && defined(HAVE_HERROR)
+ herror("error");
+#else
+ fprintf(stderr, "error: host not found\n");
+#endif
+ return "";
+ }
+ printf("%d.%d.%d.%d\n", (int)p[0], (int)p[1], (int)p[2], (int)p[3]);
+ fflush(stdout);
+ return "";
+}
+
+static unsigned char *version_cmd(struct option *o, unsigned char ***argv, int *argc)
+{
+ printf("Links " VERSION_STRING "\n");
+ fflush(stdout);
+ return "";
+}
+
+static unsigned char *set_cmd(struct option *o, unsigned char ***argv, int *argc)
+{
+ *(int *)o->ptr = 1;
+ return NULL;
+}
+
+static unsigned char *unset_cmd(struct option *o, unsigned char ***argv, int *argc)
+{
+ *(int *)o->ptr = 0;
+ return NULL;
+}
+
+static unsigned char *setstr_cmd(struct option *o, unsigned char ***argv, int *argc)
+{
+ if (!*argc) return "Parameter expected";
+ safe_strncpy(o->ptr, **argv, o->max);
+ (*argv)++; (*argc)--;
+ return NULL;
+}
+
+static unsigned char *dump_cmd(struct option *o, unsigned char ***argv, int *argc)
+{
+ if (dmp != o->min && dmp) return "Can't use both -dump and -source";
+ dmp = o->min;
+ no_connect = 1;
+ return NULL;
+}
+
+static unsigned char *printhelp_cmd(struct option *o, unsigned char ***argv, int *argc)
+{
+/* Changed and splited - translation is much easier.
+ * Print to stdout instead stderr (,,links -help | more''
+ * is much better than ,,links -help 2>&1 | more'').
+ */
+fprintf(stdout, "%s%s%s%s%s%s\n",
+
+("links [options] URL\n"
+"Options are:\n"
+"\n"
+" -g\n"
+" Run in graphics mode.\n"
+"\n"
+" -no-g\n"
+" Run in text mode (overrides previous -g).\n"
+"\n"
+" -driver <driver name>\n"
+" Graphics driver to use. Drivers are: x, svgalib, fb, directfb, pmshell,\n"
+" atheos.\n"
+" List of drivers will be shown if you give it an unknown driver.\n"
+" Available drivers depend on your operating system and available libraries.\n"
+"\n"
+" -mode <graphics mode>\n"
+" Graphics mode. For SVGALIB it is in format COLUMNSxROWSxCOLORS --\n"
+" for example 640x480x256, 800x600x64k, 960x720x16M, 1024x768x16M32\n"
+" List of modes will be shown if you give it an unknown videomode.\n"
+" For framebuffer it is number of pixels in border --- LEFT,TOP,RIGHT,BOTTOM\n"
+" other 3 values are optional --- i.e. -mode 10 will set all borders to 10,\n"
+" -mode 10,20 will set left & right border to 10 and top & bottom to 20.\n"
+" For Xwindow it is size of a window in format WIDTHxHEIGHT.\n"
+"\n"
+" -display <x-display>\n"
+" Set Xwindow display.\n"
+"\n"
+" -force-html\n"
+" Treat files with unknown type as html rather than text.\n"
+" (can be toggled with '\\' key)\n"
+"\n"
+" -source <url>\n"
+" Write unformatted data stream to stdout.\n"
+"\n"
+" -dump <url>\n"
+" Write formatted document to stdout.\n"
+"\n"
+" -width <number>\n"
+" For dump, document will be formatted to this screen width (but it can still\n"
+" exceed it if lines can't be broken).\n"
+"\n"
+" -codepage <codepage>\n"
+" For dump, convert output to specified character set --\n"
+" for eaxmple iso-8859-2, windows-1250.\n"
+"\n"
+" -anonymous\n"
+" Restrict links so that it can run on an anonymous account.\n"
+" No local file browsing. No downloads. Executing viewers\n"
+" is allowed, but user can't add or modify entries in\n"
+" association table.\n"
+"\n"
+" -no-connect\n"
+" Runs links as a separate instance - instead of connecting to\n"
+" existing instance.\n"
+"\n"
+" -max-connections <max>\n"
+" Maximum number of concurrent connections.\n"
+" (default: 10)\n"
+"\n"),
+(" -max-connections-to-host <max>\n"
+" Maximum number of concurrent connection to a given host.\n"
+" (default: 2)\n"
+"\n"
+" -retries <retry>\n"
+" Number of retries.\n"
+" (default: 3)\n"
+"\n"
+" -receive-timeout <sec>\n"
+" Timeout on receive.\n"
+" (default: 120)\n"
+"\n"),
+(" -unrestartable-receive-timeout <sec>\n"
+" Timeout on non restartable connections.\n"
+" (default: 600)\n"
+"\n"
+" -bind-address <ip address>\n"
+" Use a specific local IP address.\n"
+"\n"
+" -async-dns <0>/<1>\n"
+" Asynchronous DNS resolver on(1)/off(0).\n"
+"\n"
+" -download-utime <0>/<1>\n"
+" Set time of downloaded files to last modification time reported by server.\n"
+"\n"
+" -format-cache-size <num>\n"
+" Number of formatted document pages cached.\n"
+" (default: 5)\n"
+"\n"
+" -memory-cache-size <bytes>\n"
+" Cache memory in bytes.\n"
+" (default: 1048576)\n"
+"\n"
+" -image-cache-size <bytes>\n"
+" Cache memory in bytes.\n"
+" (default: 1048576)\n"
+"\n"),
+(" -http-proxy <host:port>\n"
+" Host and port number of the HTTP proxy, or blank.\n"
+" (default: blank)\n"
+"\n"
+" -ftp-proxy <host:port>\n"
+" Host and port number of the FTP proxy, or blank.\n"
+" (default: blank)\n"
+"\n"
+" -socks-proxy <user@host:port>\n"
+" Userid, host and port of Socks4a, or blank.\n"
+" (default: blank)\n"
+"\n"
+" -append-text-to-dns-lookups <text>\n"
+" Append text to dns lookups. It is useful for specifying fixed\n"
+" tor exit node.\n"
+" (default: blank)\n"
+"\n"
+" -only-proxies <0>/<1>\n"
+" (default 0)\n"
+" \"1\" causes that Links won't initiate any non-proxy connection.\n"
+" It is useful for anonymization with tor or similar networks.\n"
+"\n"
+" -download-dir <path>\n"
+" Default download directory.\n"
+" (default: actual dir)\n"
+"\n"
+" -aggressive-cache <0>/<1>\n"
+" (default 1)\n"
+" Always cache everything regardless of server's caching recomendations.\n"
+" Many servers deny caching even if their content is not changing\n"
+" just to get more hits and more money from ads.\n"
+"\n"),
+(" -language <language>\n"
+" Set user interface language.\n"
+"\n"
+" -http-bugs.http10 <0>/<1>\n"
+" (default 0)\n"
+" \"1\" forces using only HTTP/1.0 protocol. (useful for buggy servers\n"
+" that claim to be HTTP/1.1 compliant but are not)\n"
+" \"0\" use both HTTP/1.0 and HTTP/1.1.\n"
+"\n"
+" -http-bugs.allow-blacklist <0>/<1>\n"
+" (default 1)\n"
+" \"1\" defaults to using list of servers that have broken HTTP/1.1 support.\n"
+" When links finds such server, it will retry the request with HTTP/1.0.\n"
+"\n"
+" -http-bugs.bug-302-redirect <0>/<1>\n"
+" (default 1)\n"
+" Process 302 redirect in a way that is incompatible with RFC1945 and RFC2068,\n"
+" but the same as Netscape and MSIE. Many pages depend on it.\n"
+"\n"
+" -http-bugs.bug-post-no-keepalive <0>/<1>\n"
+" (default 0)\n"
+" No keepalive connection after post requests. For some buggy servers.\n"
+"\n"
+" -http-bugs.bug-no-accept-charset <0>/<1>\n"
+" (default 0)\n"
+" Do not send Accept-Charset field of HTTP header. Because it is too long\n"
+" some servers will deny the request. Other servers will convert content\n"
+" to plain ascii when Accept-Charset is missing.\n"
+"\n"
+" -http-bugs.no-compression <0>/<1>\n"
+" (default 0)\n"
+" \"1\" causes that links won't advertise HTTP compression support (but it\n"
+" will still accept compressed data). Use it when you communicate with\n"
+" server that has broken compression support.\n"
+"\n"
+" -http-bugs.retry-internal-errors <0>/<1>\n"
+" (default 0)\n"
+" Retry on internal server errors (50x).\n"
+"\n"
+" -http.referer <0>/<1>/<2>/<3>/<4>\n"
+" (default 0)\n"
+" 0 - do not send referer\n"
+" 1 - send the requested URL as referer\n"
+" 2 - send fake referer\n"
+" 3 - send real referer\n"
+" 4 - send real referer only to the same server\n"
+"\n"
+" -http.fake-referer <string>\n"
+" Fake referer value.\n"
+"\n"
+" -http.fake-user-agent <string>\n"
+" Fake user agent value.\n"
+"\n"
+" -http.extra-header <string>\n"
+" Extra string added to HTTP header.\n"
+"\n"
+" -ftp.anonymous-password <string>\n"
+" Password for anonymous ftp access.\n"
+"\n"
+" -ftp.use-passive <0>/<1>\n"
+" Use ftp PASV command to bypass firewalls.\n"
+"\n"
+" -ftp.fast <0>/<1>\n"
+" Send more ftp commands simultaneously. Faster response when\n"
+" browsing ftp directories, but it is incompatible with RFC\n"
+" and some servers don't like it.\n"
+"\n"
+" -ftp.set-iptos <0>/<1>\n"
+" Set IP Type-of-service to high throughput on ftp connections.\n"
+"\n"
+" -menu-font-size <size>\n"
+" Size of font in menu.\n"
+"\n"
+" -menu-background-color 0xRRGGBB\n"
+" Set menu background color in graphics mode, RRGGBB are hex.\n"
+"\n"
+" -menu-foreground-color 0xRRGGBB\n"
+" Set menu foreground color in graphics mode.\n"
+"\n"
+" -scroll-bar-area-color 0xRRGGBB\n"
+" Set color of scroll bar area.\n"
+"\n"
+" -scroll-bar-bar-color 0xRRGGBB\n"
+" Set color of scroll bar.\n"
+"\n"
+" -scroll-bar-frame-color 0xRRGGBB\n"
+" Set color of scroll bar frame.\n"
+"\n"
+" -display-red-gamma <fp-value>\n"
+" Red gamma of display.\n"
+" (default 2.2)\n"
+"\n"
+" -display-green-gamma <fp-value>\n"
+" Green gamma of display.\n"
+" (default 2.2)\n"
+"\n"
+" -display-blue-gamma <fp-value>\n"
+" Blue gamma of display.\n"
+" (default 2.2)\n"
+"\n"
+" -user-gamma <fp-value>\n"
+" Additional gamma.\n"
+" (default 1)\n"
+"\n"
+" -bfu-aspect <fp-value>\n"
+" Display aspect ration.\n"
+"\n"
+" -aspect-on <0>/<1>\n"
+" Enable aspect ratio correction.\n"
+"\n"
+" -dither-letters <0>/<1>\n"
+" Do letter dithering.\n"
+"\n"
+" -dither-images <0>/<1>\n"
+" Do image dithering.\n"
+"\n"
+" -display-optimize <0>/<1>/<2>\n"
+" Optimize for CRT (0), LCD RGB (1), LCD BGR (2).\n"
+"\n"
+" -gamma correction <0>/<1>/<2>\n"
+" Type of gamma correction:\n"
+" (default 2)\n"
+" 0 - 8-bit (fast).\n"
+" 1 - 16-bit (slow).\n"
+" 2 - automatically detect according to speed of FPU.\n"
+"\n"
+#ifdef JS
+" -enable-javascript <0>/<1>\n"
+" Enable javascript.\n"
+"\n"
+" -js.verbose-errors <0>/<1>\n"
+" Display javascript errors.\n"
+"\n"
+" -js.verbose-warnings <0>/<1>\n"
+" Display javascript warnings.\n"
+"\n"
+" -js.enable-all-conversions <0>/<1>\n"
+" Enable conversions between all types in javascript.\n"
+"\n"
+" -js.enable-global-resolution <0>/<1>\n"
+" Resolve global names.\n"
+"\n"
+" -js.manual-confirmation <0>/<1>\n"
+" Ask user to confirm potentially dangerous operations.\n"
+" (opening windows, going to url etc.) Default 1.\n"
+"\n"
+" -js.recursion-depth <integer>\n"
+" Depth of javascript call stack.\n"
+"\n"
+" -js.memory-limit <memory amount>\n"
+" Amount of kilobytes the javascript may allocate.\n"
+"\n"
+#endif
+" -bookmarks-codepage <codepage>\n"
+" Character set of bookmarks file.\n"
+"\n"
+" -bookmarks-file <file>\n"
+" File to store bookmarks.\n"
+"\n"
+" -html-assume-codepage <codepage>\n"
+" If server didn't specify document character set, assume this.\n"
+"\n"
+" -html-hard-assume <0>/<1>\n"
+" Use always character set from \"-html-assume-codepage\" no matter\n"
+" what server sent.\n"
+"\n"
+" -html-tables <0>/<1>\n"
+" Render tables. (0) causes tables being rendered like in lynx.\n"
+"\n"
+" -html-frames <0>/<1>\n"
+" Render frames. (0) causes frames rendered like in lynx.\n"
+"\n"
+" -html-images <0>/<1>\n"
+" Display links to unnamed images as [IMG].\n"
+"\n"
+" -html-image-names <0>/<1>\n"
+" Display filename of an image instead of [IMG].\n"
+"\n"
+" -html-display-images <0>/<1>\n"
+" Display images in graphics mode.\n"
+"\n"
+" -html-image-scale <percent>\n"
+" Scale images in graphics mode.\n"
+"\n"
+" -html-bare-image-autoscale <0>/<1>\n"
+" Autoscale images displayed on full screen.\n"
+"\n"
+" -html-numbered-links <0>/<1>\n"
+" Number links in text mode. Allow quick link selection by typing\n"
+" link number and enter.\n"
+"\n"
+" -html-table-order <0>/<1>\n"
+" In text mode, walk through table by rows (0) or columns (1).\n"
+"\n"
+" -html-auto-refresh <0>/<1>\n"
+" Process refresh to other page (1), or display link to that page (0).\n"
+"\n"
+" -html-target-in-new-window <0>/<1>\n"
+" Allow opening new windows from html.\n"
+"\n"
+" -html-margin <number of spaces>\n"
+" Margin in text mode.\n"
+"\n"
+" -html-user-font-size <size>\n"
+" Size of font on pages in graphics mode.\n"
+"\n"
+" -html-t-text-color <0>-<15>\n"
+" Text color in text mode.\n"
+"\n"
+" -html-t-link-color <0>-<15>\n"
+" Link color in text mode.\n"
+"\n"
+" -html-t-background-color <0>-<7>\n"
+" Background color in text mode.\n"
+"\n"
+" -html-t-ignore-document-color <0>/<1>\n"
+" Ignore colors specified in html document in text mode.\n"
+"\n"
+" -html-g-text-color 0xRRGGBB\n"
+" Text color in graphics mode.\n"
+"\n"
+" -html-g-link-color 0xRRGGBB\n"
+" Link color in graphics mode.\n"
+"\n"
+" -html-g-background-color 0xRRGGBB\n"
+" Background color in graphics mode.\n"
+"\n"
+" -html-g-ignore-document-color <0>/<1>\n"
+" Ignore colors specified in html document in graphics mode.\n"
+"\n"
+" -lookup <hostname>\n"
+" Does name lookup, like command \"host\".\n"
+"\n"
+" -version\n"
+" Prints the links version number and exit.\n"
+"\n"
+" -help\n"
+" Prints this help screen\n"
+"\n"
+"\n"),
+("Keys:\n"
+" ESC display menu\n"
+" ^C quit\n"
+" ^P scroll up\n"
+" ^N scroll down\n"
+" [, ] scroll left, right\n"
+" up, down select link\n"
+" ->, enter follow link\n"
+" <-, z go back\n"
+" g go to url\n"
+" G go to url based on current url\n"
+" ^G go to url based on current link\n"
+" ^R reload\n"
+" / search\n"
+" ? search back\n"
+" n find next\n"
+" N find previous\n"
+" = document info\n"
+" \\ document source\n"
+" | HTTP header\n"
+" * toggle displaying of image links (text mode)\n"
+" d download\n"
+" s bookmarks\n"
+" q quit or close current window\n"
+" ^X cut to clipboard\n"
+" ^V paste from clipboard\n"
+" ^K cut line (in textarea) or text to the end (in field)\n"
+" ^U cut all text before cursor\n"
+" ^W autocomplete url\n"
+" Alt-1 .. Alt-9\n"
+" switch virtual screens (svgalib and framebuffer)\n"
+"\n"
+"Keys for braille terminal:\n"
+" arrows move the cursor\n"
+" enter follow link\n"
+" a cursor to status line\n"
+" w cursor to title\n"
+" ^Y next link\n"
+" ^T previous link\n"
+" y next word\n"
+" t previous word\n"
+" ^O next form field entry\n"
+));
+
+ fflush(stdout);
+ return "";
+}
+
+void end_config(void)
+{
+ struct driver_param *dp;
+ foreach(dp,driver_params)
+ {
+ if (dp->param)mem_free(dp->param);
+ if (dp->shell)mem_free(dp->shell);
+ }
+ free_list(driver_params);
+ if (links_home) mem_free(links_home);
+}
+
+int ggr = 0;
+unsigned char ggr_drv[MAX_STR_LEN] = "";
+unsigned char ggr_mode[MAX_STR_LEN] = "";
+unsigned char ggr_display[MAX_STR_LEN] = "";
+
+int anonymous = 0;
+
+unsigned char default_target[MAX_STR_LEN] ="";
+
+unsigned char *links_home = NULL;
+int first_use = 0;
+
+int no_connect = 0;
+int base_session = 0;
+int dmp = 0;
+int force_html = 0;
+
+int max_connections = 10;
+int max_connections_to_host = 8;
+int max_tries = 3;
+int receive_timeout = 120;
+int unrestartable_receive_timeout = 600;
+unsigned char bind_ip_address[16] = "";
+int async_lookup = 1;
+int download_utime = 0;
+
+int screen_width = 80;
+int dump_codepage = -1;
+
+int max_format_cache_entries = 5;
+int memory_cache_size = 1048576;
+int image_cache_size = 1048576;
+int font_cache_size = 2097152;
+
+struct document_setup dds = {
+ 0, /* assumed codepage */
+ 0, /* ignore codepage from server */
+ 1, /* tables */
+ 1, /* frames */
+ 0, /* images */
+ 0, /* image_names */
+ 3, /* margin */
+ 0, /* num_links */
+ 0, /* table_order */
+ 0, /* auto_refresh */
+ 18, /* font_size */
+ 1, /* display images */
+ 100, /* image scale */
+ 0, /* porn enable */
+ 0, /* target in new window */
+ 7, /* t text color */
+ 15, /* t link color */
+ 0, /* t background color */
+ 0, /* t ignore document color */
+ 0x000000, /* g text color */
+ 0x0000ff, /* g link color */
+ 0xc0c0c0, /* g background color */
+ 0, /* g ignore document color */
+};
+
+struct proxies proxies = { "", "", "", "", 0 };
+int js_enable=1; /* 0=disable javascript */
+int js_verbose_errors=0; /* 1=create dialog on every javascript error, 0=be quiet and continue */
+int js_verbose_warnings=0; /* 1=create dialog on every javascript warning, 0=be quiet and continue */
+int js_all_conversions=1;
+int js_global_resolve=1; /* resolvovani v globalnim adresnim prostoru, kdyz BFU vomitne document */
+int js_manual_confirmation=1; /* !0==annoying dialog on every goto url etc. */
+int js_fun_depth=100;
+int js_memory_limit=5*1024; /* in kilobytes, should be in range 1M-20M (1MB=1024*1024B) */
+
+int display_optimize=0; /*0=CRT, 1=LCD RGB, 2=LCD BGR */
+int gamma_bits=2; /*0 --- 8, 1 --- 16, 2 --- auto */
+double bfu_aspect=1; /* 0.1 to 10.0, 1.0 default. >1 makes circle wider */
+int aspect_on=1;
+
+unsigned char download_dir[MAX_STR_LEN] = "";
+
+int aggressive_cache = 1;
+
+struct ftp_options ftp_options = { "somebody@host.domain", 0, 0, 1 };
+
+/* These are workarounds for some CGI script bugs */
+struct http_options http_options = { 0, 1, 1, 0, 0, 0, 0, { REFERER_NONE, "", "", "" } };
+/*int bug_302_redirect = 0;*/
+ /* When got 301 or 302 from POST request, change it to GET
+ - this violates RFC2068, but some buggy message board scripts rely on it */
+/*int bug_post_no_keepalive = 0;*/
+ /* No keepalive connection after POST request. Some buggy PHP databases report bad
+ results if GET wants to retreive data POSTed in the same connection */
+
+static struct option links_options[] = {
+ {1, printhelp_cmd, NULL, NULL, 0, 0, NULL, NULL, "?"},
+ {1, printhelp_cmd, NULL, NULL, 0, 0, NULL, NULL, "h"},
+ {1, printhelp_cmd, NULL, NULL, 0, 0, NULL, NULL, "help"},
+ {1, printhelp_cmd, NULL, NULL, 0, 0, NULL, NULL, "-help"},
+ {1, lookup_cmd, NULL, NULL, 0, 0, NULL, NULL, "lookup"},
+ {1, version_cmd, NULL, NULL, 0, 0, NULL, NULL, "version"},
+ {1, set_cmd, NULL, NULL, 0, 0, &no_connect, NULL, "no-connect"},
+ {1, set_cmd, NULL, NULL, 0, 0, &anonymous, NULL, "anonymous"},
+ {1, set_cmd, NULL, NULL, 0, 0, &ggr, NULL, "g"},
+ {1, unset_cmd, NULL, NULL, 0, 0, &ggr, NULL, "no-g"},
+ {1, setstr_cmd, NULL, NULL, 0, MAX_STR_LEN, &ggr_drv, NULL, "driver"},
+ {1, setstr_cmd, NULL, NULL, 0, MAX_STR_LEN, &default_target, NULL, "target"},
+ {1, setstr_cmd, NULL, NULL, 0, MAX_STR_LEN, &ggr_mode, NULL, "mode"},
+ {1, setstr_cmd, NULL, NULL, 0, MAX_STR_LEN, &ggr_display, NULL, "display"},
+ {1, gen_cmd, num_rd, NULL, 0, MAXINT, &base_session, NULL, "base-session"},
+ {1, set_cmd, NULL, NULL, 0, 0, &force_html, NULL, "force-html"},
+ {1, dump_cmd, NULL, NULL, D_SOURCE, 0, NULL, NULL, "source"},
+ {1, dump_cmd, NULL, NULL, D_DUMP, 0, NULL, NULL, "dump"},
+ {1, gen_cmd, num_rd, NULL, 10, 512, &screen_width, "dump_width", "width" },
+ {1, gen_cmd, cp_rd, NULL, 1, 0, &dump_codepage, "dump_codepage", "codepage" },
+ {1, gen_cmd, num_rd, num_wr, 1, 99, &max_connections, "max_connections", "max-connections"},
+ {1, gen_cmd, num_rd, num_wr, 1, 99, &max_connections_to_host, "max_connections_to_host", "max-connections-to-host"},
+ {1, gen_cmd, num_rd, num_wr, 0, 16, &max_tries, "retries", "retries"},
+ {1, gen_cmd, num_rd, num_wr, 1, 9999, &receive_timeout, "receive_timeout", "receive-timeout"},
+ {1, gen_cmd, num_rd, num_wr, 1, 9999, &unrestartable_receive_timeout, "unrestartable_receive_timeout", "unrestartable-receive-timeout"},
+ {1, gen_cmd, ip_rd, str_wr, 0, 16, bind_ip_address, "bind_address", "bind-address"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &async_lookup, "async_dns", "async-dns"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &download_utime, "download_utime", "download-utime"},
+ {1, gen_cmd, num_rd, num_wr, 0, 999, &max_format_cache_entries, "format_cache_size", "format-cache-size"},
+ {1, gen_cmd, num_rd, num_wr, 0, MAXINT, &memory_cache_size, "memory_cache_size", "memory-cache-size"},
+ {1, gen_cmd, num_rd, num_wr, 0, MAXINT, &image_cache_size, "image_cache_size", "image-cache-size"},
+ {1, gen_cmd, num_rd, num_wr, 0, MAXINT, &font_cache_size, "font_cache_size", "font-cache-size"},
+ {1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, proxies.http_proxy, "http_proxy", "http-proxy"},
+ {1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, proxies.ftp_proxy, "ftp_proxy", "ftp-proxy"},
+ {1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, proxies.socks_proxy, "socks_proxy", "socks-proxy"},
+ {1, gen_cmd, str_rd, NULL, 0, MAX_STR_LEN, proxies.dns_append, "-append_text_to_dns_lookups", NULL}, /* old version incorrectly saved it with '-' */
+ {1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, proxies.dns_append, "append_text_to_dns_lookups", "append-text-to-dns-lookups"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &proxies.only_proxies, "only_proxies", "only-proxies"},
+ {1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, download_dir, "download_dir", "download-dir"},
+ {1, gen_cmd, lang_rd, lang_wr, 0, 0, &current_language, "language", "language"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &http_options.http10, "http_bugs.http10", "http-bugs.http10"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &http_options.allow_blacklist, "http_bugs.allow_blacklist", "http-bugs.allow-blacklist"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &http_options.bug_302_redirect, "http_bugs.bug_302_redirect", "http-bugs.bug-302-redirect"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &http_options.bug_post_no_keepalive, "http_bugs.bug_post_no_keepalive", "http-bugs.bug-post-no-keepalive"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &http_options.no_accept_charset, "http_bugs.no_accept_charset", "http-bugs.bug-no-accept-charset"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &http_options.no_compression, "http_bugs.no_compression", "http-bugs.no-compression"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &http_options.retry_internal_errors, "http_bugs.retry_internal_errors", "http-bugs.retry-internal-errors"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &aggressive_cache, "http_bugs.aggressive_cache", "aggressive-cache"},
+ {1, gen_cmd, num_rd, num_wr, 0, 4, &http_options.header.referer, "http_referer", "http.referer"},
+ {1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, &http_options.header.fake_referer, "fake_referer", "http.fake-referer"},
+ {1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, &http_options.header.fake_useragent, "fake_useragent", "http.fake-user-agent"},
+ {1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, &http_options.header.extra_header, "http.extra_header", "http.extra-header"},
+ {1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, ftp_options.anon_pass, "ftp.anonymous_password", "ftp.anonymous-password"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &ftp_options.passive_ftp, "ftp.use_passive", "ftp.use-passive"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &ftp_options.fast_ftp, "ftp.fast", "ftp.fast"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &ftp_options.set_tos, "ftp.set_iptos", "ftp.set-iptos"},
+ {1, gen_cmd, num_rd, num_wr, 1, MAX_FONT_SIZE, &menu_font_size, "menu_font_size", "menu-font-size"},
+ {1, gen_cmd, num_rd, num_wr, 0, 0xffffff, &G_BFU_BG_COLOR, "background_color", "menu-background-color"},
+ {1, gen_cmd, num_rd, num_wr, 0, 0xffffff, &G_BFU_FG_COLOR, "foreground_color", "menu-foreground-color"},
+ {1, gen_cmd, num_rd, num_wr, 0, 0xffffff, &G_SCROLL_BAR_AREA_COLOR, "scroll_bar_area_color", "scroll-bar-area-color"},
+ {1, gen_cmd, num_rd, num_wr, 0, 0xffffff, &G_SCROLL_BAR_BAR_COLOR, "scroll_bar_bar_color", "scroll-bar-bar-color"},
+ {1, gen_cmd, num_rd, num_wr, 0, 0xffffff, &G_SCROLL_BAR_FRAME_COLOR, "scroll_bar_frame_color", "scroll-bar-frame-color"},
+ {1, gen_cmd, dbl_rd, dbl_wr, 1, 10000, &display_red_gamma, "display_red_gamma", "display-red-gamma"},
+ {1, gen_cmd, dbl_rd, dbl_wr, 1, 10000, &display_green_gamma, "display_green_gamma", "display-green-gamma"},
+ {1, gen_cmd, dbl_rd, dbl_wr, 1, 10000, &display_blue_gamma, "display_blue_gamma", "display-blue-gamma"},
+ {1, gen_cmd, dbl_rd, dbl_wr, 1, 10000, &user_gamma, "user_gamma", "user-gamma"},
+ {1, gen_cmd, dbl_rd, dbl_wr, 25, 400, &bfu_aspect, "bfu_aspect", "bfu-aspect"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &aspect_on, "aspect_on", "aspect-on"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dither_letters, "dither_letters", "dither-letters"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dither_images, "dither_images", "dither-images"},
+ {1, gen_cmd, num_rd, num_wr, 0, 2, &display_optimize, "display_optimize", "display-optimize"},
+ {1, gen_cmd, num_rd, num_wr, 0, 2, &gamma_bits, "gamma_correction", "gamma-correction"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &js_enable, "enable_javascript", "enable-javascript"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &js_verbose_errors, "verbose_javascript_errors", "js.verbose-errors"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &js_verbose_warnings, "verbose_javascript_warnings", "js.verbose-warnings"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &js_all_conversions, "enable_all_conversions", "js.enable-all-conversions"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &js_global_resolve, "enable_global_resolution", "js.enable-global-resolution"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &js_manual_confirmation, "javascript_manual_confirmation", "js.manual-confirmation"},
+ {1, gen_cmd, num_rd, num_wr, 0, 999999, &js_fun_depth, "js_recursion_depth", "js.recursion-depth"},
+ {1, gen_cmd, num_rd, num_wr, 1024, 30*1024, &js_memory_limit, "js_memory_limit", "js.memory-limit"},
+ {1, gen_cmd, cp_rd, cp_wr, 0, 0, &bookmarks_codepage, "bookmarks_codepage", "bookmarks-codepage"},
+ {1, gen_cmd, str_rd, str_wr, 0, MAX_STR_LEN, bookmarks_file, "bookmarks_file", "bookmarks-file"},
+ {1, gen_cmd, cp_rd, NULL, 0, 0, &dds.assume_cp, "assume_codepage", "assume-codepage"},
+ {1, NULL, term_rd, term_wr, 0, 0, NULL, "terminal", NULL},
+ {1, NULL, term2_rd, NULL, 0, 0, NULL, "terminal2", NULL},
+ {1, NULL, type_rd, type_wr, 0, 0, NULL, "association", NULL},
+ {1, NULL, ext_rd, ext_wr, 0, 0, NULL, "extension", NULL},
+ {1, NULL, prog_rd, prog_wr, 0, 0, &mailto_prog, "mailto", NULL},
+ {1, NULL, prog_rd, prog_wr, 0, 0, &telnet_prog, "telnet", NULL},
+ {1, NULL, prog_rd, prog_wr, 0, 0, &tn3270_prog, "tn3270", NULL},
+ {1, NULL, prog_rd, prog_wr, 0, 0, &mms_prog, "mms", NULL},
+ {1, NULL, prog_rd, prog_wr, 0, 0, &magnet_prog, "magnet", NULL},
+ {1, NULL, block_rd, block_wr, 0, 0, NULL, "imageblock", NULL},
+ {1, NULL, dp_rd, dp_wr, 0, 0, NULL, "video_driver", NULL},
+ {0, NULL, NULL, NULL, 0, 0, NULL, NULL, NULL},
+};
+
+static struct option html_options[] = {
+ {1, gen_cmd, cp_rd, cp_wr, 0, 0, &dds.assume_cp, "html_assume_codepage", "html-assume-codepage"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dds.hard_assume, "html_hard_assume", "html-hard-assume"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dds.tables, "html_tables", "html-tables"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dds.frames, "html_frames", "html-frames"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dds.images, "html_images", "html-images"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dds.image_names, "html_image_names", "html-image-names"},
+ {1, gen_cmd, num_rd, num_wr, 0, 9, &dds.margin, "html_margin", "html-margin"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dds.num_links, "html_numbered_links", "html-numbered-links"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dds.table_order, "html_table_order", "html-table-order"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dds.auto_refresh, "html_auto_refresh", "html-auto-refresh"},
+ {1, gen_cmd, num_rd, num_wr, 1, MAX_FONT_SIZE, &dds.font_size, "html_font_size", "html-user-font-size"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dds.display_images, "html_display_images", "html-display-images"},
+ {1, gen_cmd, num_rd, num_wr, 1, 500, &dds.image_scale, "html_image_scale", "html-image-scale"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dds.porn_enable, "html_bare_image_autoscale", "html-bare-image-autoscale"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dds.target_in_new_window, "html_target_in_new_window", "html-target-in-new-window"},
+ {1, gen_cmd, num_rd, num_wr, 0, 15, &dds.t_text_color, "html_text_color", "html-text-color"},
+ {1, gen_cmd, num_rd, num_wr, 0, 15, &dds.t_link_color, "html_link_color", "html-link-color"},
+ {1, gen_cmd, num_rd, num_wr, 0, 7, &dds.t_background_color, "html_background_color", "html-background-color"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dds.t_ignore_document_color, "html_ignore_document_color", "html-ignore-document-color"},
+ {1, gen_cmd, num_rd, num_wr, 0, 0xffffff, &dds.g_text_color, "html_g_text_color", "html-g-text-color"},
+ {1, gen_cmd, num_rd, num_wr, 0, 0xffffff, &dds.g_link_color, "html_g_link_color", "html-g-link-color"},
+ {1, gen_cmd, num_rd, num_wr, 0, 0xffffff, &dds.g_background_color, "html_g_background_color", "html-g-background-color"},
+ {1, gen_cmd, num_rd, num_wr, 0, 1, &dds.g_ignore_document_color, "html_g_ignore_document_color", "html-g-ignore-document-color"},
+ {0, NULL, NULL, NULL, 0, 0, NULL, NULL, NULL},
+};
+
+static struct option *all_options[] = { links_options, html_options, NULL, };
+
+unsigned char *parse_options(int argc, unsigned char *argv[])
+{
+ return p_arse_options(argc, argv, all_options);
+}
+
+static void load_config_file(unsigned char *prefix, unsigned char *name)
+{
+ unsigned char *c, *config_file;
+ config_file = stracpy(prefix);
+ if (!config_file) return;
+ add_to_strn(&config_file, name);
+ if ((c = read_config_file(config_file))) goto ok;
+ mem_free(config_file);
+ config_file = stracpy(prefix);
+ if (!config_file) return;
+ add_to_strn(&config_file, ".");
+ add_to_strn(&config_file, name);
+ if ((c = read_config_file(config_file))) goto ok;
+ mem_free(config_file);
+ return;
+ ok:
+ parse_config_file(config_file, c, all_options);
+ mem_free(c);
+ mem_free(config_file);
+}
+
+void load_config(void)
+{
+#ifdef SHARED_CONFIG_DIR
+ load_config_file(SHARED_CONFIG_DIR, "links.cfg");
+#endif
+ load_config_file(links_home, "links.cfg");
+ load_config_file(links_home, "html.cfg");
+ load_config_file(links_home, "user.cfg");
+}
+
+void write_config(struct terminal *term)
+{
+#ifdef G
+ if (F) update_driver_param();
+#endif
+ write_config_data(links_home, "links.cfg", links_options, term);
+}
+
+void write_html_config(struct terminal *term)
+{
+ write_config_data(links_home, "html.cfg", html_options, term);
+}
+
+void load_url_history(void)
+{
+ unsigned char *history_file, *hs;
+ unsigned char *hsp;
+
+ if (anonymous) return;
+ /* Must have been called after init_home */
+ if (!links_home) return;
+ history_file = stracpy(links_home);
+ add_to_strn(&history_file, "links.his");
+ hs = read_config_file(history_file);
+ mem_free(history_file);
+ if (!hs) return;
+ for (hsp = hs; *hsp; ) {
+ unsigned char *hsl, *hsc;
+ for (hsl = hsp; *hsl && *hsl != 10 && *hsl != 13; hsl++)
+ ;
+ hsc = memacpy(hsp, hsl - hsp);
+ add_to_history(&goto_url_history, hsc, 0);
+ mem_free(hsc);
+ hsp = hsl;
+ while (*hsp == 10 || *hsp == 13) hsp++;
+ }
+ mem_free(hs);
+}
+
+void save_url_history(void)
+{
+ struct history_item *hi;
+ unsigned char *history_file;
+ unsigned char *hs;
+ int hsl = 0;
+ int i = 0;
+ if (anonymous) return;
+
+ /* Must have been called after init_home */
+ if (!links_home) return;
+ history_file = stracpy(links_home);
+ add_to_strn(&history_file, "links.his");
+ hs = init_str();
+ hsl = 0;
+ foreachback(hi, goto_url_history.items) {
+ if (!*hi->d || strchr(hi->d, 10) || strchr(hi->d, 13)) continue;
+ if (i++ > MAX_HISTORY_ITEMS)
+ break;
+ else {
+ add_to_str(&hs, &hsl, hi->d);
+ add_to_str(&hs, &hsl, NEWLINE);
+ }
+ }
+ write_to_config_file(history_file, hs);
+ mem_free(history_file);
+ mem_free(hs);
+ return;
+}
+
diff --git a/dip.c b/dip.c
new file mode 100644
index 0000000..ac9381b
--- /dev/null
+++ b/dip.c
@@ -0,0 +1,2206 @@
+/* dip.c
+ * Digital Image Processing routines
+ * (c) 2000-2002 Karel 'Clock' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ * This does various utilities for digital image processing including font
+ * rendering.
+ */
+
+#include "cfg.h"
+
+#ifdef G
+
+#include "links.h"
+
+#ifdef HAVE_MATH_H
+#include <math.h>
+#endif /* HAVE_MATH_H */
+
+#endif
+int dither_letters=1;
+
+double user_gamma=1.0; /* 1.0 for 64 lx. This is the number user directly changes in the menu */
+
+double display_red_gamma=2.2; /* Red gamma exponent of the display */
+double display_green_gamma=2.2; /* Green gamma exponent of the display */
+double display_blue_gamma=2.2; /* Blue gamma exponent of the display */
+#ifdef G
+
+/* #define this if you want to report missing letters to stderr.
+ * Leave it commented up for normal operation and releases! */
+/* #define REPORT_UNKNOWN 1 */
+
+double sRGB_gamma=0.45455; /* For HTML, which runs
+ * according to sRGB standard. Number
+ * in HTML tag is linear to photons raised
+ * to this power.
+ */
+
+unsigned long aspect=65536; /* aspect=65536 for 320x240
+ * aspect=157286 for 640x200 (tall pixels)
+ * Defines aspect ratio of screen pixels.
+ * aspect=(196608*xsize+ysize<<1)/(ysize<<1);
+ * Default is 65536 because we assume square pixel
+ * when not specified otherwise. Aspect is ratio of
+ * the pixel height (in milimeters) to pixel width,
+ * multiplied by 65536. */
+unsigned long aspect_native=65536; /* Like aspect, but not influenced by
+ * user, just determined by graphics driver.
+ */
+
+/* Limitation: No input image's dimension may exceed 2^(32-1-8) pixels.
+ */
+
+/* Each input byte represents 1 byte (gray). The question whether 0 is
+ * black or 255 is black doesn't matter.
+ */
+
+/* These constants represent contrast-enhancement and sharpen filter (which is one filter
+ * together) that is applied onto the letters to enhance their appearance at low height.
+ * They were determined by experiment for several values, interpolated, checked and tuned.
+ * If you change them, don't wonder if the letters start to look strange.
+ * The numers in the comments denote which height the line applies for.
+ */
+static float fancy_constants[64]={
+ 0,3, /* 1 */
+ .1,3, /* 2 */
+ .2,3, /* 3 */
+ .3,2.9, /* 4 */
+ .4,2.7, /* 5 */
+ .4,2.5, /* 6 */
+ .4,2, /* 7 */
+ .5,2, /* 8 */
+ .4,2, /* 9 */
+ .38,1.9, /* 10 */
+ .36,1.8, /* 11 */
+ .33,1.7, /* 12 */
+ .30,1.6, /* 13 */
+ .25,1.5, /* 14 */
+ .20,1.5, /* 15 */
+ .15,1.5, /* 16 */
+ .14,1.5, /* 17 */
+ .13,1.5, /* 18 */
+ .12,1.5, /* 19 */
+ .12,1.5, /* 20 */
+ .12,1.5, /* 21 */
+ .12,1.5, /* 22 */
+ .11,1.5, /* 23 */
+ .10,1.4, /* 24 */
+ .09,1.3, /* 25 */
+ .08,1.3, /* 26 */
+ .04,1.2, /* 27 */
+ .04,1.2, /* 28 */
+ .02,1.1, /* 29 */
+ .02,1.1, /* 30 */
+ .01,1, /* 31 */
+ .01,1 /* 32 */
+};
+
+
+/* This shall be hopefully reasonably fast and portable
+ * We assume ix is <65536. If not, the letters will be smaller in
+ * horizontal dimension (because of overflow) but this will not cause
+ * a segfault. 65536 pixels wide bitmaps are not normal and will anyway
+ * exhaust the memory.
+ */
+static inline int compute_width (int ix, int iy, int required_height)
+{
+ int width;
+ unsigned long reg;
+
+ reg=(unsigned long)aspect*(unsigned long)required_height;
+
+ if (reg>=0x1000000UL){
+ /* It's big */
+ reg=(reg+32768)>>16;
+ width=(reg*ix+(iy>>1))/iy;
+ }else{
+ /* It's small */
+ reg=(reg+128)>>8;
+ iy<<=8;
+ width=(reg*ix+(iy>>1))/iy;
+ }
+ if (width<1) width=1;
+ return width;
+}
+
+static struct lru font_cache;
+ /* This is a cache for screen-ready colored bitmaps
+ * of lettrs and/or alpha channels for these (are the
+ * same size, only one byte per pixel and are used
+ * for letters with an image under them )
+ */
+
+/* Each input byte represents 1 byte (gray). The question whether 0 is
+ * black or 255 is black doesn't matter.
+ */
+
+inline static void add_col_gray(unsigned *col_buf, unsigned char *ptr, int
+ line_skip, int n, unsigned weight)
+{
+ for (;n;n--){
+ *col_buf+=weight*(*ptr);
+ ptr+=line_skip;
+ col_buf++;
+ }
+}
+
+/* line_skip is in pixels. The column contains the whole pixels (R G B)
+ * We assume unsigned short holds at least 16 bits. */
+inline static void add_col_color(unsigned *col_buf, unsigned short *ptr
+ , int line_skip, int n, unsigned weight)
+{
+ for (;n;n--){
+ *col_buf+=weight*(*ptr);
+ col_buf[1]+=weight*ptr[1];
+ col_buf[2]+=weight*ptr[2];
+ ptr+=line_skip;
+ col_buf+=3;
+ }
+}
+
+ /* We assume unsigned short holds at least 16 bits. */
+inline static void add_row_gray(unsigned *row_buf, unsigned char *ptr, int n,
+ unsigned weight)
+{
+ for (;n;n--){
+ *row_buf+=weight**ptr;
+ ptr++;
+ row_buf++;
+ }
+}
+
+/* n is in pixels. pixel is 3 unsigned shorts in series */
+ /* We assume unsigned short holds at least 16 bits. */
+inline static void add_row_color(unsigned *row_buf, unsigned short *ptr, int n, unsigned weight)
+{
+ for (;n;n--){
+ *row_buf+=weight**ptr;
+ row_buf[1]+=weight*ptr[1];
+ row_buf[2]+=weight*ptr[2];
+ ptr+=3;
+ row_buf+=3;
+ }
+}
+
+/* We assume unsigned holds at least 32 bits */
+inline static void emit_and_bias_col_gray(unsigned *col_buf, unsigned char *out, int
+ line_skip, int n, unsigned weight)
+{
+ unsigned half=weight>>1;
+
+ for (;n;n--){
+ *out=*col_buf/weight;
+ out+=line_skip;
+ *col_buf++=half;
+ }
+}
+
+/* We assume unsigned holds at least 32 bits */
+static inline void bias_buf_gray(unsigned *col_buf, int n, unsigned half)
+{
+ for (;n;n--) *col_buf++=half;
+}
+
+/* We assume unsigned holds at least 32 bits */
+inline static void bias_buf_color(unsigned *col_buf, int n, unsigned half)
+{
+ for (;n;n--){
+ *col_buf=half;
+ col_buf[1]=half;
+ col_buf[2]=half;
+ col_buf+=3;
+ }
+ /* System activated */
+}
+
+/* line skip is in pixels. Pixel is 3*unsigned short */
+/* We assume unsigned holds at least 32 bits */
+/* We assume unsigned short holds at least 16 bits. */
+inline static void emit_and_bias_col_color(unsigned *col_buf
+ , unsigned short *out, int line_skip, int n, unsigned weight)
+{
+ unsigned half=weight>>1;
+
+ for (;n;n--){
+ *out=(*col_buf)/weight;
+ *col_buf=half;
+ out[1]=col_buf[1]/weight;
+ col_buf[1]=half;
+ /* The following line is an enemy of the State and will be
+ * prosecuted according to the Constitution of The United States
+ * Cap. 20/3 ix. Sel. Bill 12/1920
+ * Moses 12/20 Erizea farizea 2:2:1:14
+ */
+ out[2]=col_buf[2]/weight;
+ col_buf[2]=half;
+ out+=line_skip;
+ col_buf+=3;
+ }
+}
+
+/* We assume unsigned holds at least 32 bits */
+inline static void emit_and_bias_row_gray(unsigned *row_buf, unsigned char *out, int n
+ ,unsigned weight)
+{
+ unsigned half=weight>>1;
+
+ for (;n;n--){
+ *out++=*row_buf/weight;
+ *row_buf++=half;
+ }
+}
+
+/* n is in pixels. pixel is 3 unsigned shorts in series. */
+/* We assume unsigned holds at least 32 bits */
+/* We assume unsigned short holds at least 16 bits. */
+inline static void emit_and_bias_row_color(unsigned *row_buf, unsigned short
+ *out, int n, unsigned weight)
+{
+ unsigned half=weight>>1;
+
+ for (;n;n--){
+ *out=*row_buf/weight;
+ *row_buf=half;
+ out[1]=row_buf[1]/weight;
+ row_buf[1]=half;
+ out[2]=row_buf[2]/weight;
+ row_buf[2]=half;
+ out+=3;
+ row_buf+=3;
+ }
+}
+
+/* For enlargement only -- does linear filtering.
+ * Allocates output and frees input.
+ * We assume unsigned holds at least 32 bits */
+inline static void enlarge_gray_horizontal(unsigned char *in, int ix, int y
+ ,unsigned char ** out, int ox)
+{
+ unsigned *col_buf;
+ int total;
+ int out_pos,in_pos,in_begin,in_end;
+ unsigned half=(ox-1)>>1;
+ unsigned char *outptr;
+ unsigned char *inptr;
+
+ if (ox && (unsigned)ox * (unsigned)y / (unsigned)ox != (unsigned)y) overalloc();
+ if ((unsigned)ox * (unsigned)y > MAXINT) overalloc();
+ outptr=mem_alloc(ox*y);
+ inptr=in;
+ *out=outptr;
+ if (ix==1){
+ /* Dull copying */
+ for (;y;y--){
+ memset(outptr,*inptr,ox);
+ outptr+=ox;
+ inptr++;
+ }
+ mem_free(in);
+ }else{
+ total=(ix-1)*(ox-1);
+ if ((unsigned)y > MAXINT / sizeof(*col_buf)) overalloc();
+ col_buf=mem_alloc(y*sizeof(*col_buf));
+ bias_buf_gray(col_buf, y, half);
+ out_pos=0;
+ in_pos=0;
+ again:
+ in_begin=in_pos;
+ in_end=in_pos+ox-1;
+ add_col_gray(col_buf,inptr, ix, y, in_end-out_pos);
+ add_col_gray(col_buf,inptr+1, ix, y, out_pos-in_begin);
+ emit_and_bias_col_gray(col_buf,outptr,ox,y,ox-1);
+ outptr++;
+ out_pos+=ix-1;
+ if (out_pos>in_end){
+ in_pos=in_end;
+ inptr++;
+ }
+ if (out_pos>total){
+ mem_free(in);
+ mem_free(col_buf);
+ return;
+ }
+ goto again;
+ }
+ /* Rohan, oh Rohan... */
+ /* ztracena zeme :) */
+}
+
+/* For enlargement only -- does linear filtering
+ * Frees input and allocates output.
+ * We assume unsigned holds at least 32 bits
+ */
+static inline void enlarge_color_horizontal(unsigned short *ina, int ix, int y,
+ unsigned short ** outa, int ox)
+{
+ unsigned *col_buf;
+ int total,a,out_pos,in_pos,in_begin,in_end;
+ unsigned half=(ox-1)>>1;
+ unsigned skip=3*ix;
+ unsigned oskip=3*ox;
+ unsigned short *out, *in;
+
+ if (ix==ox){
+ *outa=ina;
+ return;
+ }
+ if (ox && (unsigned)ox * (unsigned)y / (unsigned)ox != (unsigned)y) overalloc();
+ if ((unsigned)ox * (unsigned)y > MAXINT / 3 / sizeof(*out)) overalloc();
+ out=mem_alloc(sizeof(*out)*3*ox*y);
+ *outa=out;
+ in=ina;
+ if (ix==1){
+ for (;y;y--,in+=3) for (a=ox;a;a--,out+=3){
+ *out=*in;
+ out[1]=in[1];
+ out[2]=in[2];
+ }
+ mem_free(ina);
+ return;
+ }
+ total=(ix-1)*(ox-1);
+ if ((unsigned)y > MAXINT / 3 / sizeof(*col_buf)) overalloc();
+ col_buf=mem_alloc(y*3*sizeof(*col_buf));
+ bias_buf_color(col_buf,y,half);
+ out_pos=0;
+ in_pos=0;
+ again:
+ in_begin=in_pos;
+ in_end=in_pos+ox-1;
+ add_col_color(col_buf,in,skip,y
+ ,in_end-out_pos);
+ add_col_color(col_buf,in+3,skip,y
+ ,out_pos-in_begin);
+ emit_and_bias_col_color(col_buf,out,oskip,y,ox-1);
+ out+=3;
+ out_pos+=ix-1;
+ if (out_pos>in_end){
+ in_pos=in_end;
+ in+=3;
+ }
+ if (out_pos>total){
+ mem_free(col_buf);
+ mem_free(ina);
+ return;
+ }
+ goto again;
+}
+
+/* Works for both enlarging and diminishing. Linear resample, no low pass.
+ * Automatically mem_frees the "in" and allocates "out". */
+/* We assume unsigned holds at least 32 bits */
+inline static void scale_gray_horizontal(unsigned char *in, int ix, int y
+ ,unsigned char ** out, int ox)
+{
+ unsigned *col_buf;
+ int total=ix*ox;
+ int out_pos,in_pos,in_begin,in_end,out_end;
+ unsigned char *outptr;
+ unsigned char *inptr;
+
+ if (ix<ox){
+ enlarge_gray_horizontal(in,ix,y,out,ox);
+ return;
+ }else if (ix==ox){
+ *out=in;
+ return;
+ }
+ if (ox && (unsigned)ox * (unsigned)y / (unsigned)ox != (unsigned)y) overalloc();
+ if ((unsigned)ox * (unsigned)y > MAXINT) overalloc();
+ outptr=mem_alloc(ox*y);
+ inptr=in;
+ *out=outptr;
+ if ((unsigned)y > MAXINT / sizeof(*col_buf)) overalloc();
+ col_buf=mem_alloc(y*sizeof(*col_buf));
+ bias_buf_gray(col_buf, y, ix>>1);
+ out_pos=0;
+ in_pos=0;
+ again:
+ in_begin=in_pos;
+ in_end=in_pos+ox;
+ out_end=out_pos+ix;
+ if (in_begin<out_pos)in_begin=out_pos;
+ if (in_end>out_end)in_end=out_end;
+ add_col_gray(col_buf,inptr,ix,y,in_end-in_begin);
+ in_end=in_pos+ox;
+ if (out_end>=in_end){
+ in_pos=in_end;
+ inptr++;
+ }
+ if (out_end<=in_end){
+ emit_and_bias_col_gray(col_buf,outptr,ox,y,ix);
+ out_pos=out_pos+ix;
+ outptr++;
+ }
+ if (out_pos==total) {
+ mem_free(in);
+ mem_free(col_buf);
+ return;
+ }
+ goto again;
+}
+
+/* Works for both enlarging and diminishing. Linear resample, no low pass.
+ * Does only one color component.
+ * Frees ina and allocates outa.
+ * If ox*3<=ix, and display_optimize, performs optimization for LCD.
+ */
+inline static void scale_color_horizontal(unsigned short *ina, int ix, int y,
+ unsigned short **outa, int ox)
+{
+ unsigned *col_buf;
+ int total=ix*ox;
+ int out_pos,in_pos,in_begin,in_end,out_end;
+ unsigned skip=3*ix;
+ unsigned oskip=3*ox;
+ unsigned short *in, *out;
+
+ if (ix==ox){
+ *outa=ina;
+ return;
+ }
+ if (ix<ox){
+ enlarge_color_horizontal(ina,ix,y,outa,ox);
+ return;
+ }else if (ix==ox){
+ *outa=ina;
+ return;
+ }
+ if (ox && (unsigned)ox * (unsigned)y / (unsigned)ox != (unsigned)y) overalloc();
+ if ((unsigned)ox * (unsigned)y > MAXINT / 3 / sizeof(*out)) overalloc();
+ out=mem_alloc(sizeof(*out)*3*ox*y);
+ *outa=out;
+ in=ina;
+ if ((unsigned)y > MAXINT / 3 / sizeof(*col_buf)) overalloc();
+ col_buf=mem_alloc(y*3*sizeof(*col_buf));
+ bias_buf_color(col_buf,y,ix>>1);
+ out_pos=0;
+ in_pos=0;
+ again:
+ in_begin=in_pos;
+ in_end=in_pos+ox;
+ out_end=out_pos+ix;
+ if (in_begin<out_pos)in_begin=out_pos;
+ if (in_end>out_end)in_end=out_end;
+ add_col_color(col_buf,in,skip,y,in_end-in_begin);
+ in_end=in_pos+ox;
+ if (out_end>=in_end){
+ in_pos=in_end;
+ in+=3;
+ }
+ if (out_end<=in_end){
+ emit_and_bias_col_color(col_buf,out,oskip,y,ix);
+ out_pos=out_pos+ix;
+ out+=3;
+ }
+ if (out_pos==total) {
+ mem_free(ina);
+ mem_free(col_buf);
+ return;
+ }
+ goto again;
+}
+
+/* For magnification only. Does linear filtering. */
+/* We assume unsigned holds at least 32 bits */
+inline static void enlarge_gray_vertical(unsigned char *in, int x, int iy,
+ unsigned char ** out ,int oy)
+{
+ unsigned *row_buf;
+ int total;
+ int out_pos,in_pos,in_begin,in_end;
+ int half=(oy-1)>>1;
+ unsigned char *outptr;
+ unsigned char *inptr;
+
+ if (iy==1){
+ if (x && (unsigned)x * (unsigned)oy / (unsigned)x != (unsigned)oy) overalloc();
+ if ((unsigned)x * (unsigned)oy > MAXINT) overalloc();
+ outptr=mem_alloc(oy*x);
+ *out=outptr;
+ for(;oy;oy--,outptr+=x)
+ memcpy(outptr,in,x);
+ mem_free(in);
+ }
+ else if (iy==oy){
+ *out=in;
+ }else{
+ if (x && (unsigned)x * (unsigned)oy / (unsigned)x != (unsigned)oy) overalloc();
+ if ((unsigned)x * (unsigned)oy > MAXINT) overalloc();
+ outptr=mem_alloc(oy*x);
+ inptr=in;
+ *out=outptr;
+ total=(iy-1)*(oy-1);
+ if ((unsigned)x > MAXINT / sizeof(*row_buf)) overalloc();
+ row_buf=mem_alloc(x*sizeof(*row_buf));
+ bias_buf_gray(row_buf, x, half);
+ out_pos=0;
+ in_pos=0;
+ again:
+ in_begin=in_pos;
+ in_end=in_pos+oy-1;
+ add_row_gray(row_buf, inptr, x, in_end-out_pos);
+ add_row_gray(row_buf, inptr+x, x, out_pos-in_begin);
+ emit_and_bias_row_gray(row_buf, outptr, x, oy-1);
+ outptr+=x;
+ out_pos+=iy-1;
+ if (out_pos>in_end){
+ in_pos=in_end;
+ inptr+=x;
+ }
+ if (out_pos>total){
+ mem_free(in);
+ mem_free(row_buf);
+ return;
+ }
+ goto again;
+ }
+}
+
+/* For magnification only. Does linear filtering */
+/* We assume unsigned holds at least 32 bits */
+inline static void enlarge_color_vertical(unsigned short *ina, int x, int iy,
+ unsigned short **outa ,int oy)
+{
+ unsigned *row_buf;
+ int total,out_pos,in_pos,in_begin,in_end;
+ int half=(oy-1)>>1;
+ unsigned short *out, *in;
+
+ if (iy==oy){
+ *outa=ina;
+ return;
+ }
+ /* Rivendell */
+ if (x && (unsigned)x * (unsigned)oy / (unsigned)x != (unsigned)oy) overalloc();
+ if ((unsigned)x * (unsigned)oy > MAXINT / 3 / sizeof(*out)) overalloc();
+ out=mem_alloc(sizeof(*out)*3*oy*x);
+ *outa=out;
+ in=ina;
+ if (iy==1){
+ for (;oy;oy--){
+ memcpy(out,in,3*x*sizeof(*out));
+ out+=3*x;
+ }
+ mem_free(ina);
+ return;
+ }
+ total=(iy-1)*(oy-1);
+ if ((unsigned)x > MAXINT / 3 / sizeof(*row_buf)) overalloc();
+ row_buf=mem_alloc(x*3*sizeof(*row_buf));
+ bias_buf_color(row_buf,x,half);
+ out_pos=0;
+ in_pos=0;
+ again:
+ in_begin=in_pos;
+ in_end=in_pos+oy-1;
+ add_row_color(row_buf,in,x
+ ,in_end-out_pos);
+ add_row_color(row_buf,in+3*x,x
+ ,out_pos-in_begin);
+ emit_and_bias_row_color(row_buf,out,x,oy-1);
+ out+=3*x;
+ out_pos+=iy-1;
+ if (out_pos>in_end){
+ in_pos=in_end;
+ in+=3*x;
+ }
+ if (out_pos>total){
+ mem_free(ina);
+ mem_free(row_buf);
+ return;
+ }
+ goto again;
+
+}
+
+/* Both enlarges and diminishes. Linear filtering.
+ * Automatically allocates output and frees input.
+ * We assume unsigned holds at least 32 bits */
+inline static void scale_gray_vertical(unsigned char *in, int x, int iy,
+ unsigned char ** out ,int oy)
+{
+ unsigned *row_buf;
+ int total=iy*oy;
+ int out_pos,in_pos,in_begin,in_end,out_end;
+ unsigned char *outptr;
+ unsigned char *inptr;
+
+ /* Snow White, Snow White... */
+ if (iy<oy){
+ enlarge_gray_vertical(in,x,iy,out,oy);
+ return;
+ }
+ if (iy==oy){
+ *out=in;
+ return;
+ }
+ if (x && (unsigned)x * (unsigned)oy / (unsigned)x != (unsigned)oy) overalloc();
+ if ((unsigned)x * (unsigned)oy > MAXINT) overalloc();
+ outptr=mem_alloc(x*oy);
+ inptr=in;
+ *out=outptr;
+ if ((unsigned)x > MAXINT / sizeof(*row_buf)) overalloc();
+ row_buf=mem_calloc(x*sizeof(*row_buf));
+ bias_buf_gray(row_buf, x, iy>>1);
+ out_pos=0;
+ in_pos=0;
+ again:
+ in_begin=in_pos;
+ in_end=in_pos+oy;
+ out_end=out_pos+iy;
+ if (in_begin<out_pos)in_begin=out_pos;
+ if (in_end>out_end)in_end=out_end;
+ add_row_gray(row_buf,inptr,x,in_end-in_begin);
+ in_end=in_pos+oy;
+ if (out_end>=in_end){
+ in_pos=in_end;
+ inptr+=x;
+ }
+ if (out_end<=in_end){
+ emit_and_bias_row_gray(row_buf,outptr,x,iy);
+ out_pos=out_pos+iy;
+ outptr+=x;
+ }
+ if (out_pos==total){
+ mem_free(in);
+ mem_free(row_buf);
+ return;
+ }
+ goto again;
+}
+
+/* Both enlarges and diminishes. Linear filtering. Sizes are
+ in pixels. Sizes are not in bytes. 1 pixel=3 unsigned shorts.
+ We assume unsigned short can hold at least 16 bits.
+ We assume unsigned holds at least 32 bits.
+ */
+inline static void scale_color_vertical(unsigned short *ina, int x, int iy
+ ,unsigned short **outa, int oy)
+{
+ unsigned *row_buf;
+ int total=iy*oy;
+ int out_pos,in_pos,in_begin,in_end,out_end;
+ unsigned short *in, *out;
+
+ if (iy==oy){
+ *outa=ina;
+ return;
+ }
+ if (iy<oy){
+ enlarge_color_vertical(ina,x,iy,outa,oy);
+ return;
+ }
+ if (x && (unsigned)x * (unsigned)oy / (unsigned)x != (unsigned)oy) overalloc();
+ if ((unsigned)x * (unsigned)oy > MAXINT / 3 / sizeof(*out)) overalloc();
+ out=mem_alloc(sizeof(*out)*3*oy*x);
+ *outa=out;
+ in=ina;
+ if ((unsigned)x > MAXINT / 3 / sizeof(*row_buf)) overalloc();
+ row_buf=mem_alloc(x*3*sizeof(*row_buf));
+ bias_buf_color(row_buf,x,iy>>1);
+ out_pos=0;
+ in_pos=0;
+ again:
+ in_begin=in_pos;
+ in_end=in_pos+oy;
+ out_end=out_pos+iy;
+ if (in_begin<out_pos)in_begin=out_pos;
+ if (in_end>out_end)in_end=out_end;
+ add_row_color(row_buf,in,x,in_end-in_begin);
+ in_end=in_pos+oy;
+ if (out_end>=in_end){
+ in_pos=in_end;
+ in+=3*x;
+ }
+ if (out_end<=in_end){
+ emit_and_bias_row_color(row_buf,out,x,iy);
+ out_pos=out_pos+iy;
+ out+=3*x;
+ }
+ if (out_pos==total){
+ mem_free(ina);
+ mem_free(row_buf);
+ return;
+ }
+ goto again;
+}
+
+
+/* Scales grayscale 8-bit map. Both enlarges and diminishes. Uses either low
+ * pass or bilinear filtering. Automatically mem_frees the "in".
+ * Automatically allocates "out".
+ */
+inline static void scale_gray(unsigned char *in, int ix, int iy, unsigned char **out
+ ,int ox, int oy)
+{
+ unsigned char *intermediate_buffer;
+
+ if (!ix||!iy){
+ if (in) mem_free(in);
+ if (ox && (unsigned)ox * (unsigned)oy / (unsigned)ox != (unsigned)oy) overalloc();
+ if ((unsigned)ox * (unsigned)oy > MAXINT) overalloc();
+ *out=mem_calloc(ox*oy);
+ return;
+ }
+ if (ix*oy<ox*iy){
+ scale_gray_vertical(in,ix,iy,&intermediate_buffer,oy);
+ scale_gray_horizontal(intermediate_buffer,ix,oy,out,ox);
+ }else{
+ scale_gray_horizontal(in,ix,iy,&intermediate_buffer,ox);
+ scale_gray_vertical(intermediate_buffer,ox,iy,out,oy);
+ }
+}
+
+/* To be called only when global variable display_optimize is 1 or 2.
+ * Performs a decimation according to this variable. Data shrink to 1/3
+ * and x is the smaller width.
+ * There must be 9*x*y unsigned shorts of data.
+ * x must be >=1.
+ * Performs realloc onto the buffer after decimation to save memory.
+ */
+static void decimate_3(unsigned short **data0, int x, int y)
+{
+ unsigned short *data=*data0;
+ unsigned short *ahead=data;
+ int i, futuresize;
+ if (x && (unsigned)x * (unsigned)y / (unsigned)x != (unsigned)y) overalloc();
+ if ((unsigned)x * (unsigned)y > MAXINT / 3 / sizeof(**data0)) overalloc();
+ futuresize=x*y*3*sizeof(**data0);
+
+#ifdef DEBUG
+ if (!(x>0&&y>0)) internal("zero width or height in decimate_3");
+#endif /* #Ifdef DEBUG */
+ if (display_optimize==1){
+ if (x==1){
+ for (;y;y--,ahead+=9,data+=3){
+ data[0]=(ahead[0]+ahead[0]+ahead[3])/3;
+ data[1]=(ahead[1]+ahead[4]+ahead[7])/3;
+ data[2]=(ahead[5]+ahead[8]+ahead[8])/3;
+ }
+ }else{
+ for (;y;y--){
+ data[0]=(ahead[0]+ahead[0]+ahead[3])/3;
+ data[1]=(ahead[1]+ahead[4]+ahead[7])/3;
+ data[2]=(ahead[5]+ahead[8]+ahead[11])/3;
+ for (ahead+=9,data+=3,i=x-2;i;i--,ahead+=9,data+=3){
+ data[0]=(ahead[-3]+ahead[0]+ahead[3])/3;
+ data[1]=(ahead[1]+ahead[4]+ahead[7])/3;
+ data[2]=(ahead[5]+ahead[8]+ahead[11])/3;
+ }
+ data[0]=(ahead[-3]+ahead[0]+ahead[3])/3;
+ data[1]=(ahead[1]+ahead[4]+ahead[7])/3;
+ data[2]=(ahead[5]+ahead[8]+ahead[8])/3;
+ ahead+=9,data+=3;
+ }
+ }
+ }else{
+ /* display_optimize==2 */
+ if (x==1){
+ for (;y;y--,ahead+=9,data+=3){
+ data[0]=(ahead[3]+ahead[6]+ahead[6])/3;
+ data[1]=(ahead[1]+ahead[4]+ahead[7])/3;
+ data[2]=(ahead[2]+ahead[2]+ahead[5])/3;
+ }
+ }else{
+ for (;y;y--){
+ data[0]=(ahead[3]+ahead[6]+ahead[9])/3;
+ data[1]=(ahead[1]+ahead[4]+ahead[7])/3;
+ data[2]=(ahead[2]+ahead[2]+ahead[5])/3;
+ for (ahead+=9,data+=3,i=x-2;i;i--,ahead+=9,data+=3){
+ data[0]=(ahead[3]+ahead[6]+ahead[9])/3;
+ data[1]=(ahead[1]+ahead[4]+ahead[7])/3;
+ data[2]=(ahead[-1]+ahead[2]+ahead[5])/3;
+ }
+ data[0]=(ahead[3]+ahead[6]+ahead[6])/3;
+ data[1]=(ahead[1]+ahead[4]+ahead[7])/3;
+ data[2]=(ahead[-1]+ahead[2]+ahead[5])/3;
+ ahead+=9,data+=3;
+ }
+ }
+ }
+ *data0=mem_realloc(*data0,futuresize);
+}
+
+/* Scales color 48-bits-per-pixel bitmap. Both enlarges and diminishes. Uses
+ * either low pass or bilinear filtering. The memory organization for both
+ * input and output are red, green, blue. All three of them are unsigned shorts 0-65535.
+ * Allocates output and frees input
+ * We assume unsigned short holds at least 16 bits.
+ */
+void scale_color(unsigned short *in, int ix, int iy, unsigned short **out,
+ int ox, int oy)
+{
+ unsigned short *intermediate_buffer;
+ int do_optimize;
+ int ox0=ox;
+
+ if (!ix||!iy){
+ if (in) mem_free(in);
+ if (ox && (unsigned)ox * (unsigned)oy / (unsigned)ox != (unsigned)oy) overalloc();
+ if ((unsigned)ox * (unsigned)oy > MAXINT / 3 / sizeof(**out)) overalloc();
+ *out=mem_calloc(ox*oy*sizeof(**out)*3);
+ return;
+ }
+ if (display_optimize&&ox*3<=ix){
+ do_optimize=1;
+ ox0=ox;
+ ox*=3;
+ }else do_optimize=0;
+ if (ix*oy<ox*iy){
+ scale_color_vertical(in,ix,iy,&intermediate_buffer,oy);
+ scale_color_horizontal(intermediate_buffer,ix,oy,out,ox);
+ }else{
+ scale_color_horizontal(in,ix,iy,&intermediate_buffer,ox);
+ scale_color_vertical(intermediate_buffer,ox,iy,out,oy);
+ }
+ if (do_optimize) decimate_3(out, ox0, oy);
+}
+
+/* Fills a block with given color. length is number of pixels. pixel is a
+ * tribyte. 24 bits per pixel.
+ */
+void mix_one_color_24(unsigned char *dest, int length,
+ unsigned char r, unsigned char g, unsigned char b)
+{
+ for (;length;length--){
+ dest[0]=r;
+ dest[1]=g;
+ dest[2]=b;
+ dest+=3;
+ }
+}
+
+/* Fills a block with given color. length is number of pixels. pixel is a
+ * tribyte. 48 bits per pixel.
+ * We assume unsigned short holds at least 16 bits.
+ */
+void mix_one_color_48(unsigned short *dest, int length,
+ unsigned short r, unsigned short g, unsigned short b)
+{
+ for (;length;length--){
+ dest[0]=r;
+ dest[1]=g;
+ dest[2]=b;
+ dest+=3;
+ }
+}
+
+/* Mixes ink and paper of a letter, using alpha as alpha mask.
+ * Only mixing in photon space makes physical sense so that the input values
+ * must always be equivalent to photons and not to electrons!
+ * length is number of pixels. pixel is a tribyte
+ * alpha is 8-bit, rgb are all 16-bit
+ * We assume unsigned short holds at least 16 bits.
+ */
+inline static void mix_two_colors(unsigned short *dest, unsigned char *alpha, int length
+ ,unsigned short r0, unsigned short g0, unsigned short b0,
+ unsigned short r255, unsigned short g255, unsigned short b255)
+{
+ unsigned mask,cmask;
+
+ for (;length;length--){
+ mask=*alpha++;
+ if (((unsigned char)(mask+1))>=2){
+ cmask=255-mask;
+ dest[0]=(mask*r255+cmask*r0+127)/255;
+ dest[1]=(mask*g255+cmask*g0+127)/255;
+ dest[2]=(mask*b255+cmask*b0+127)/255;
+ }else{
+ if (mask){
+ dest[0]=r255;
+ dest[1]=g255;
+ dest[2]=b255;
+ }else{
+ dest[0]=r0;
+ dest[1]=g0;
+ dest[2]=b0;
+ }
+ }
+ dest+=3;
+ }
+}
+
+/* We assume unsigned short holds at least 16 bits. */
+void apply_gamma_exponent_and_undercolor_32_to_48_table(unsigned short *dest,
+ unsigned char *src, int lenght, unsigned short *table
+ ,unsigned short rb, unsigned short gb, unsigned short bb)
+{
+ unsigned alpha, ri, gi, bi, calpha;
+
+ for (;lenght;lenght--)
+ {
+ ri=table[src[0]];
+ gi=table[src[1]+256];
+ bi=table[src[2]+512];
+ alpha=src[3];
+ src+=4;
+ if (((unsigned char)(alpha+1))>=2){
+ calpha=255U-alpha;
+ dest[0]=(ri*alpha+calpha*rb+127)/255;
+ dest[1]=(gi*alpha+calpha*gb+127)/255;
+ dest[2]=(bi*alpha+calpha*bb+127)/255;
+ }else{
+ if (alpha){
+ dest[0]=ri;
+ dest[1]=gi;
+ dest[2]=bi;
+ }else{
+ dest[0]=rb;
+ dest[1]=gb;
+ dest[2]=bb;
+ }
+ }
+ dest+=3;
+ }
+}
+
+/* src is a block of four-bytes RGBA. All bytes are gamma corrected. length is
+ * number of pixels. output is input powered to the given gamma, passed into
+ * dest. src and dest may be identical and it will work. rb, gb, bb are 0-65535
+ * in linear monitor output photon space
+ */
+/* We assume unsigned short holds at least 16 bits. */
+void apply_gamma_exponent_and_undercolor_32_to_48(unsigned short *dest,
+ unsigned char *src, int lenght, float red_gamma
+ ,float green_gamma, float blue_gamma, unsigned short rb, unsigned
+ short gb, unsigned short bb)
+{
+ float r,g,b;
+ unsigned alpha, calpha;
+ unsigned ri,gi,bi;
+ const float inv_255=1/255.0;
+
+ for (;lenght;lenght--)
+ {
+ r=src[0];
+ g=src[1];
+ b=src[2];
+ alpha=src[3];
+ src+=4;
+ r*=inv_255;
+ g*=inv_255;
+ b*=inv_255;
+ r=pow(r,red_gamma);
+ g=pow(g,green_gamma);
+ b=pow(b,blue_gamma);
+ ri=(r*65535)+0.5;
+ gi=(g*65535)+0.5;
+ bi=(b*65535)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ /* To prevent segfaults in case of crappy floating arithmetics
+ */
+ if (ri>=65536) ri=65535;
+ if (gi>=65536) gi=65535;
+ if (bi>=65536) bi=65535;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ if (((alpha+1U)&0xffU)>=2U){
+ calpha=255U-alpha;
+ *dest=(ri*alpha+calpha*rb+127U)/255U;
+ dest[1]=(gi*alpha+calpha*gb+127U)/255U;
+ dest[2]=(bi*alpha+calpha*bb+127U)/255U;
+ }else{
+ if (alpha){
+ *dest=ri;
+ dest[1]=gi;
+ dest[2]=bi;
+ }else{
+ *dest=rb;
+ dest[1]=gb;
+ dest[2]=bb;
+ }
+ }
+ dest+=3;
+ }
+}
+
+/* src is a block of four-bytes RGBA. All bytes are gamma corrected. length is
+ * number of pixels. output is input powered to the given gamma, passed into
+ * dest. src and dest may be identical and it will work. rb, gb, bb are 0-65535
+ * in linear monitor output photon space. alpha 255 means full image no background.
+ */
+/* We assume unsigned short holds at least 16 bits. */
+void apply_gamma_exponent_and_undercolor_64_to_48(unsigned short *dest,
+ unsigned short *src, int lenght, float red_gamma
+ ,float green_gamma, float blue_gamma, unsigned short rb, unsigned
+ short gb, unsigned short bb)
+{
+ float r,g,b;
+ unsigned alpha, calpha;
+ unsigned short ri,gi,bi;
+ const float inv_65535=1/((float)65535);
+
+ for (;lenght;lenght--)
+ {
+ r=src[0];
+ g=src[1];
+ b=src[2];
+ alpha=src[3];
+ src+=4;
+ r*=inv_65535;
+ g*=inv_65535;
+ b*=inv_65535;
+ r=pow(r,red_gamma);
+ g=pow(g,green_gamma);
+ b=pow(b,blue_gamma);
+ ri=r*65535+0.5;
+ gi=g*65535+0.5;
+ bi=b*65535+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ /* To prevent segfaults in case of crappy floating arithmetics
+ */
+ if (ri>=65536) ri=65535;
+ if (gi>=65536) gi=65535;
+ if (bi>=65536) bi=65535;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ if (((alpha+1U)&255U)>=2U){
+ calpha=65535U-alpha;
+ *dest=(ri*alpha+calpha*rb+32767U)/65535U;
+ dest[1]=(gi*alpha+calpha*gb+32767U)/65535U;
+ dest[2]=(bi*alpha+calpha*bb+32767U)/65535U;
+ }else{
+ if (alpha){
+ *dest=ri;
+ dest[1]=gi;
+ dest[2]=bi;
+ }else{
+ *dest=rb;
+ dest[1]=gb;
+ dest[2]=bb;
+ }
+ }
+ dest+=3;
+ }
+}
+
+/* src is a block of four-bytes RGBA. All bytes are gamma corrected. length is
+ * number of pixels. output is input powered to the given gamma, passed into
+ * dest. src and dest may be identical and it will work. rb, gb, bb are 0-65535
+ * in linear monitor output photon space. alpha 255 means full image no background.
+ * We assume unsigned short holds at least 16 bits. */
+void apply_gamma_exponent_and_undercolor_64_to_48_table(unsigned short *dest
+ ,unsigned short *src, int lenght, unsigned short *gamma_table
+ ,unsigned short rb, unsigned short gb, unsigned short bb)
+{
+ unsigned alpha, calpha;
+ unsigned short ri,gi,bi;
+
+ for (;lenght;lenght--)
+ {
+ ri=gamma_table[*src];
+ gi=gamma_table[src[1]+65536];
+ bi=gamma_table[src[2]+131072];
+ alpha=src[3];
+ src+=4;
+ if (((alpha+1)&0xffff)>=2){
+ calpha=65535-alpha;
+ *dest=(ri*alpha+calpha*rb+32767)/65535;
+ dest[1]=(gi*alpha+calpha*gb+32767)/65535;
+ dest[2]=(bi*alpha+calpha*bb+32767)/65535;
+ }else{
+ if (alpha){
+ *dest=ri;
+ dest[1]=gi;
+ dest[2]=bi;
+ }else{
+ *dest=rb;
+ dest[1]=gb;
+ dest[2]=bb;
+ }
+ }
+ dest+=3;
+ }
+}
+
+/* src is a block of three-bytes. All bytes are gamma corrected. length is
+ * number of triplets. output is input powered to the given gamma, passed into
+ * dest. src and dest may be identical and it will work.
+ * We assume unsigned short holds at least 16 bits. */
+void apply_gamma_exponent_48_to_48(unsigned short *dest,
+ unsigned short *src, int lenght, float red_gamma
+ ,float green_gamma, float blue_gamma)
+{
+ float a, inv_65535=1/((float)65535);
+
+ for (;lenght;lenght--,src+=3,dest+=3)
+ {
+ a=*src;
+ a*=inv_65535;
+ a=pow(a,red_gamma);
+ *dest=(a*65535)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ if (*dest>=0x10000) *dest=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ a=src[1];
+ a*=inv_65535;
+ a=pow(a,green_gamma);
+ dest[1]=(a*65535)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ if (dest[1]>=0x10000) dest[1]=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ a=src[2];
+ a*=inv_65535;
+ a=pow(a,blue_gamma);
+ dest[2]=(a*65535)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ if (dest[2]>=0x10000) dest[2]=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ }
+}
+
+/* src is a block of three-bytes. All bytes are gamma corrected. length is
+ * number of triples. output is input powered to the given gamma, passed into
+ * dest. src and dest may be identical and it will work.
+ * We assume unsigned short holds at least 16 bits. */
+void apply_gamma_exponent_48_to_48_table(unsigned short *dest,
+ unsigned short *src, int lenght, unsigned short *table)
+{
+ for (;lenght;lenght--,src+=3,dest+=3)
+ {
+ *dest=table[*src];
+ dest[1]=table[src[1]+65536];
+ dest[2]=table[src[2]+131072];
+ }
+}
+
+/* src is a block of three-bytes. All bytes are gamma corrected. length is
+ * number of triples. output is input powered to the given gamma, passed into
+ * dest. src and dest may be identical and it will work.
+ * We assume unsigned short holds at least 16 bits. */
+void apply_gamma_exponent_24_to_48(unsigned short *dest, unsigned char *src, int
+ lenght, float red_gamma, float green_gamma, float
+ blue_gamma)
+{
+ float a;
+ float inv_255=1/((float)255);
+
+ for (;lenght;lenght--,src+=3,dest+=3)
+ {
+ a=*src;
+ a*=inv_255;
+ a=pow(a,red_gamma);
+ *dest=(a*65535)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ if (*dest>=0x10000) *dest=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ a=src[1];
+ a*=inv_255;
+ a=pow(a,green_gamma);
+ dest[1]=(a*65535)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ if (dest[1]>=0x10000) dest[1]=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ a=src[2];
+ a*=inv_255;
+ a=pow(a,blue_gamma);
+ dest[2]=(a*65535)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ if (dest[2]>=0x10000) dest[2]=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ }
+}
+
+/* Allocates new gamma_table and fills it with mapping 8 bits ->
+ * power to user_gamma/cimg->*_gamma -> 16 bits
+ * We assume unsigned short holds at least 16 bits. */
+void make_gamma_table(struct cached_image *cimg)
+{
+ double rg=user_gamma/cimg->red_gamma;
+ double gg=user_gamma/cimg->green_gamma;
+ double bg=user_gamma/cimg->blue_gamma;
+ double inv;
+ int a;
+ unsigned short *ptr_16;
+
+ if (cimg->buffer_bytes_per_pixel<=4){
+ /* 8-bit */
+ inv=1/((double)255);
+ ptr_16=mem_alloc(768*sizeof(*(cimg->gamma_table)));
+ cimg->gamma_table=ptr_16;
+ for (a=0;a<256;a++,ptr_16++){
+ *ptr_16=65535*pow(((double)a)*inv,rg)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ /* To test against crappy arithmetics */
+ if (*ptr_16>=0x10000) *ptr_16=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ }
+ for (a=0;a<256;a++,ptr_16++){
+ *ptr_16=65535*pow(((double)a)*inv,gg)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ if (*ptr_16>=0x10000) *ptr_16=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ }
+ for (a=0;a<256;a++,ptr_16++){
+ *ptr_16=65535*pow(((double)a)*inv,bg)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ if (*ptr_16>=0x10000) *ptr_16=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ }
+ }else{
+ /* 16-bit */
+ inv=1/((double)65535);
+ ptr_16=mem_alloc(196608*sizeof(*(cimg->gamma_table)));
+ cimg->gamma_table=ptr_16;
+ for (a=0;a<0x10000;a++,ptr_16++){
+ *ptr_16=65535*pow(((double)a)*inv,rg)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ if (*ptr_16>=0x10000) *ptr_16=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ }
+ for (a=0;a<0x10000;a++,ptr_16++){
+ *ptr_16=65535*pow(((double)a)*inv,gg)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ if (*ptr_16>=0x10000) *ptr_16=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ }
+ for (a=0;a<0x10000;a++,ptr_16++){
+ *ptr_16=65535*pow(((double)a)*inv,bg)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ if (*ptr_16>=0x10000) *ptr_16=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ }
+ }
+}
+
+/* We assume unsigned short holds at least 16 bits. */
+void apply_gamma_exponent_24_to_48_table(unsigned short *dest, unsigned char *src, int
+ lenght, unsigned short *table)
+{
+ for (;lenght;lenght--,src+=3,dest+=3)
+ {
+ dest[0]=table[src[0]];
+ dest[1]=table[src[1]+256];
+ dest[2]=table[src[2]+512];
+ }
+}
+
+#if 0
+/* Input is 0-255 (8-bit). Output is 0-255 (8-bit)*/
+unsigned char apply_gamma_single_8_to_8(unsigned char input, float gamma)
+{
+ return 255*pow(((float) input)/255,gamma)+0.5;
+}
+#endif
+
+/* Input is 0-255 (8-bit). Output is 0-65535 (16-bit)*/
+/* We assume unsigned short holds at least 16 bits. */
+unsigned short apply_gamma_single_8_to_16(unsigned char input, float gamma)
+{
+ float a=input;
+ unsigned short retval;
+
+ a/=255;
+ a=pow(a,gamma);
+ a*=65535;
+ retval = a+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ if (retval>=0x10000) retval=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ return retval;
+}
+
+/* Input is 0-65535 (16-bit). Output is 0-255 (8-bit)*/
+/* We assume unsigned short holds at least 16 bits. */
+unsigned char apply_gamma_single_16_to_8(unsigned short input, float gamma)
+{
+ return pow(((float)input)/65535,gamma)*255+0.5;
+}
+
+/* Input is 0-65535 (16-bit). Output is 0-255 (8-bit)*/
+unsigned short apply_gamma_single_16_to_16(unsigned short input, float gamma)
+{
+ unsigned short retval;
+
+ retval = 65535*pow(((float)input)/65535,gamma)+0.5;
+#if !SIZEOF_UNSIGNED_SHORT || SIZEOF_UNSIGNED_SHORT > 2
+ if (retval>=0x10000) retval=0xffff;
+#endif /* #if SIZEOF_UNSIGNED_SHORT > 2 */
+ return retval;
+}
+
+/* Points to the next unread byte from png data block */
+extern unsigned char font_data[];
+extern struct letter letter_data[];
+extern struct font font_table[];
+extern int n_fonts; /* Number of fonts. font number 0 is system_font (it's
+ * images are in system_font/ directory) and is used
+ * for special purpose.
+ */
+
+/* Returns a pointer to a structure describing the letter found or NULL
+ * if the letter is not found. Tries all possibilities in the style table
+ * before returning NULL.
+ */
+static struct letter *find_stored_letter(int *style_table, int letter_number)
+{
+ int first, last, half, diff, font_index, font_number;
+
+ for (font_index=n_fonts-1;font_index;font_index--)
+ {
+ font_number=*style_table++;
+
+ first=font_table[font_number].begin;
+ last=font_table[font_number].length+first-1;
+
+ while(first<=last){
+ half=(first+last)>>1;
+ diff=letter_data[half].code-letter_number;
+ if (diff>=0){
+ if (diff==0){
+ return letter_data+half;
+ }else{
+ /* Value in table is bigger */
+ last=half-1;
+ }
+ }else{
+ /* Value in the table is smaller */
+ first=half+1;
+ }
+ }
+ }
+
+ /* 0 is system font, 0 is blotch char. This must be present
+ * or we segfault :) */
+#ifdef REPORT_UNKNOWN
+ fprintf(stderr,"letter 0x%04x not found\n",letter_number);
+#endif /* #ifdef REPORT_UNKNOWN */
+ return letter_data+font_table[0].begin;
+}
+
+static void read_stored_data(png_structp png_ptr, png_bytep data, png_uint_32 length)
+{
+ struct read_work *work;
+
+ work=png_get_io_ptr(png_ptr);
+ if (length>(png_uint_32)work->length) png_error(png_ptr,"Ran out of input data");
+ memcpy(data,work->pointer,length);
+ work->length-=length;
+ work->pointer+=length;
+}
+
+static void my_png_warning(png_structp a, png_const_charp b)
+{
+}
+
+static void my_png_error(png_structp a, png_const_charp error_string)
+{
+ error("Error when loading compiled-in font: %s.",error_string);
+}
+
+/* Loads width and height of the PNG (nothing is scaled). Style table is
+ * already incremented.
+ */
+inline static void load_metric(int *x, int *y, int char_number, int *style_table)
+{
+ struct letter *l;
+
+ l=find_stored_letter(style_table,char_number);
+ if (!l){
+ *x=0;
+ *y=0;
+ }else{
+ *x=l->xsize;
+ *y=l->ysize;
+ }
+ return;
+}
+
+/* The data tha fall out of this function express this: 0 is paper. 255 is ink. 34
+ * is 34/255ink+(255-34)paper. No gamma is involved in this formula, as you can see.
+ * The multiplications and additions take place in photon space.
+ */
+static void load_char(unsigned char **dest, int *x, int *y,
+unsigned char *png_data, int png_length, struct style *style)
+{
+ png_structp png_ptr;
+ png_infop info_ptr;
+ double gamma;
+ int y1,number_of_passes;
+ unsigned char **ptrs;
+ struct read_work work;
+
+ work.pointer = png_data;
+ work.length = png_length;
+
+ retry1:
+ png_ptr=png_create_read_struct(PNG_LIBPNG_VER_STRING,
+ NULL, my_png_error, my_png_warning);
+ if (!png_ptr) {
+ if (out_of_memory(NULL, 0)) goto retry1;
+ error("png_create_read_struct failed");
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+ retry2:
+ info_ptr=png_create_info_struct(png_ptr);
+ if (!info_ptr) {
+ if (out_of_memory(NULL, 0)) goto retry2;
+ error("png_create_info_struct failed");
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+ png_set_read_fn(png_ptr,&work,(png_rw_ptr)&read_stored_data);
+ png_read_info(png_ptr, info_ptr);
+ *x=png_get_image_width(png_ptr,info_ptr);
+ *y=png_get_image_height(png_ptr,info_ptr);
+ if (png_get_gAMA(png_ptr,info_ptr, &gamma))
+ png_set_gamma(png_ptr, 1.0, gamma);
+ else
+ png_set_gamma(png_ptr, 1.0, sRGB_gamma);
+ {
+ int bit_depth;
+ int color_type;
+
+ color_type=png_get_color_type(png_ptr, info_ptr);
+ bit_depth=png_get_bit_depth(png_ptr, info_ptr);
+ if (color_type==PNG_COLOR_TYPE_GRAY){
+ if (bit_depth<8){
+ png_set_expand(png_ptr);
+ }
+ if (bit_depth==16){
+ png_set_strip_16(png_ptr);
+ }
+ }
+ if (color_type==PNG_COLOR_TYPE_PALETTE){
+ png_set_expand(png_ptr);
+#ifdef HAVE_PNG_SET_RGB_TO_GRAY
+ png_set_rgb_to_gray(png_ptr, 1, -1, -1);
+#else
+ goto end;
+#endif
+ }
+ if (color_type & PNG_COLOR_MASK_ALPHA){
+ png_set_strip_alpha(png_ptr);
+ }
+ if (color_type==PNG_COLOR_TYPE_RGB ||
+ color_type==PNG_COLOR_TYPE_RGB_ALPHA){
+#ifdef HAVE_PNG_SET_RGB_TO_GRAY
+ png_set_rgb_to_gray(png_ptr, 1, -1, -1);
+#else
+ goto end;
+#endif
+ }
+
+ }
+ /* If the depth is different from 8 bits/gray, make the libpng expand
+ * it to 8 bit gray.
+ */
+ number_of_passes=png_set_interlace_handling(png_ptr);
+ png_read_update_info(png_ptr,info_ptr);
+ if (*x && (unsigned)*x * (unsigned)*y / (unsigned)*x != (unsigned)*y) overalloc();
+ if ((unsigned)*x * (unsigned)*y > MAXINT) overalloc();
+ *dest=mem_alloc(*x*(*y));
+ if ((unsigned)*y > MAXINT / sizeof(*ptrs)) overalloc();
+ ptrs=mem_alloc(*y*sizeof(*ptrs));
+ for (y1=0;y1<*y;y1++) ptrs[y1]=*dest+*x*y1;
+ for (;number_of_passes;number_of_passes--){
+ png_read_rows(png_ptr, ptrs, NULL, *y);
+ }
+ png_read_end(png_ptr, NULL);
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ mem_free(ptrs);
+ return;
+#ifndef HAVE_PNG_SET_RGB_TO_GRAY
+ end:
+ if (*x && (unsigned)*x * (unsigned)*y / (unsigned)*x != (unsigned)*y) overalloc();
+ if ((unsigned)*x * (unsigned)*y > MAXINT) overalloc();
+ *dest=mem_calloc(*x*(*y));
+ return;
+#endif
+}
+
+/* Like load_char, but we dictate the y.
+ */
+static void load_scaled_char(void **dest, int *x, int y,
+unsigned char *png_data, int png_length, struct style *style)
+{
+ unsigned char *interm;
+ unsigned char *interm2;
+ unsigned char *i2ptr,*dptr;
+ int ix, iy, y0, x0, c;
+ float conv0, conv1,sharpness,contrast;
+
+ load_char(&interm, &ix,&iy,png_data, png_length,style);
+ if (style->mono_space>=0)
+ *x=compute_width(style->mono_space, style->mono_height, y);
+ else
+ *x=compute_width(ix,iy,y);
+ if (display_optimize) *x*=3;
+ scale_gray(interm, ix,iy, (unsigned char **)dest, *x, y);
+ if (y>32||y<=0) return ; /* No convolution */
+ ix=*x+2; /* There is one-pixel border around */
+ iy=y+2;
+ if (ix && (unsigned)ix * (unsigned)iy / (unsigned)ix != (unsigned)iy) overalloc();
+ if ((unsigned)ix * (unsigned)iy > MAXINT) overalloc();
+ interm2=mem_alloc(ix*iy);
+ i2ptr=interm2+ix+1;
+ dptr=*dest;
+ memset(interm2,0,ix);
+ memset(interm2+(iy-1)*ix,0,ix);
+ for (y0=y;y0;y0--){
+ i2ptr[-1]=0;
+ memcpy(i2ptr,dptr,*x);
+ i2ptr[ix-1]=0;
+ i2ptr+=ix;
+ dptr+=*x;
+ }
+ i2ptr=interm2+ix+1;
+ dptr=*dest;
+
+ /* Determine the sharpness and contrast */
+ sharpness=fancy_constants[2*y-2];
+ contrast=fancy_constants[2*y-1];
+
+ /* Compute the matrix constants from contrast and sharpness */
+ conv0=(1+sharpness)*contrast;
+ conv1=-sharpness*0.25*contrast;
+
+ for (y0=y;y0;y0--){
+ for (x0=*x;x0;x0--){
+ /* Convolution */
+ c=((*i2ptr)*conv0)+i2ptr[-ix]*conv1+i2ptr[-1]*conv1+i2ptr[1]*conv1+i2ptr[ix]*conv1+0.5;
+ if (((unsigned)c)>=256) c=c<0?0:255;
+ *dptr=c;
+ dptr++;
+ i2ptr++;
+ }
+ i2ptr+=2;
+ }
+ mem_free(interm2);
+}
+
+static struct font_cache_entry *locked_bw_entry = NULL;
+static struct font_cache_entry *locked_color_entry = NULL;
+
+/* Adds required entry into font_cache and returns pointer to the entry.
+ * We assume the entry is FC_COLOR.
+ */
+static struct font_cache_entry *supply_color_cache_entry (struct graphics_driver
+*gd, struct style *style, struct letter *letter)
+{
+ struct font_cache_entry *found, *new;
+ unsigned short *primary_data;
+ int do_free=0;
+ struct font_cache_entry template;
+ unsigned short red, green, blue;
+ unsigned bytes_consumed;
+
+ template.bitmap.y=style->height;
+ template.type=FC_BW;
+ /* The BW entries will be added only for background images which
+ * are not yet implemented, but will be in the future.
+ */
+
+ found=lru_lookup(&font_cache, &template, letter->bw_list);
+ if (!found){
+ found=mem_alloc(sizeof(*found));
+ found->bitmap.y=style->height;
+ load_scaled_char(&(found->bitmap.data),&(found->bitmap.x),
+ found->bitmap.y, font_data+letter->begin,
+ letter->length, style);
+ do_free=1;
+ } else {
+ locked_bw_entry = found;
+ }
+ new=mem_alloc(sizeof(*new));
+ locked_color_entry = new;
+ new->type=FC_COLOR;
+ new->bitmap=found->bitmap;
+ new->r0=style->r0;
+ new->g0=style->g0;
+ new->b0=style->b0;
+ new->r1=style->r1;
+ new->g1=style->g1;
+ new->b1=style->b1;
+ new->mono_space=style->mono_space;
+ new->mono_height=style->mono_height;
+
+ if (new->bitmap.x && (unsigned)new->bitmap.x * (unsigned)new->bitmap.y / (unsigned)new->bitmap.x != (unsigned)new->bitmap.y) overalloc();
+ if ((unsigned)new->bitmap.x * (unsigned)new->bitmap.y > MAXINT / 3 / sizeof(*primary_data)) overalloc();
+ primary_data=mem_alloc(3
+ *new->bitmap.x*new->bitmap.y*sizeof(*primary_data));
+
+ /* We assume the gamma of HTML styles is in sRGB space */
+ round_color_sRGB_to_48(&red, &green, &blue,
+ ((style->r0)<<16)|((style->g0)<<8)|(style->b0));
+ mix_two_colors(primary_data, found->bitmap.data,
+ found->bitmap.x*found->bitmap.y,
+ red,green,blue,
+ apply_gamma_single_8_to_16(style->r1,user_gamma/sRGB_gamma),
+ apply_gamma_single_8_to_16(style->g1,user_gamma/sRGB_gamma),
+ apply_gamma_single_8_to_16(style->b1,user_gamma/sRGB_gamma)
+ );
+ if (display_optimize){
+ /* A correction for LCD */
+ new->bitmap.x/=3;
+ decimate_3(&primary_data,new->bitmap.x,new->bitmap.y);
+ }
+ /* We have a buffer with photons */
+ if (gd->get_empty_bitmap(&(new->bitmap)))
+ goto skip_dither;
+ if (dither_letters)
+ dither(primary_data, &(new->bitmap));
+ else
+ (*round_fn)(primary_data,&(new->bitmap));
+ skip_dither:
+ mem_free(primary_data);
+ gd->register_bitmap(&(new->bitmap));
+ if (do_free){
+ mem_free(found->bitmap.data);
+ mem_free(found);
+ } else {
+ locked_bw_entry = NULL;
+ }
+ bytes_consumed=new->bitmap.x*new->bitmap.y*(gd->depth&7);
+ /* Number of bytes per pixel in passed bitmaps */
+ bytes_consumed+=sizeof(*new);
+ bytes_consumed+=sizeof(struct lru_entry);
+ lru_insert(&font_cache, new, &(letter->color_list),
+ bytes_consumed);
+ return new;
+}
+
+static int destroy_font_cache_bottom(void)
+{
+ struct font_cache_entry *bottom;
+ bottom=lru_get_bottom(&font_cache);
+ if (!bottom) return 0;
+ if (bottom == locked_bw_entry || bottom == locked_color_entry) return 0;
+ if (bottom->type==FC_COLOR){
+ drv->unregister_bitmap(&(bottom->bitmap));
+ }else{
+ mem_free(bottom->bitmap.data);
+ }
+ mem_free(bottom);
+ lru_destroy_bottom(&font_cache);
+ return 1;
+}
+
+/* Prunes the cache to comply with maximum size */
+static int prune_font_cache(void)
+{
+ int r = 0;
+
+ while (font_cache.bytes > (unsigned)font_cache_size) {
+ if (destroy_font_cache_bottom()) {
+ r = 1;
+ } else {
+ break;
+ }
+ }
+ return r;
+}
+
+/* Prints a letter to the specified position and
+ * returns the width of the printed letter */
+inline static int print_letter(struct graphics_driver *gd, struct
+ graphics_device *device, int x, int y, struct style *style,
+ int char_number)
+
+{
+ int xw;
+ struct font_cache_entry *found;
+ struct font_cache_entry template;
+ struct letter *letter;
+
+ /* Find a suitable letter */
+ letter=find_stored_letter(style->table,char_number);
+#ifdef DEBUG
+ if (!letter) internal("print_letter could not find a letter - even not the blotch!");
+#endif /* #ifdef DEBUG */
+ template.type=FC_COLOR;
+ template.r0=style->r0;
+ template.r1=style->r1;
+ template.g0=style->g0;
+ template.g1=style->g1;
+ template.b0=style->b0;
+ template.b1=style->b1;
+ template.bitmap.y=style->height;
+ template.mono_space=style->mono_space;
+ template.mono_height=style->mono_height;
+
+ found=lru_lookup(&font_cache, &template, letter->color_list);
+ if (!found) found=supply_color_cache_entry(gd, style, letter);
+ else locked_color_entry = found;
+ gd->draw_bitmap(device, &(found->bitmap), x, y);
+ xw = found->bitmap.x;
+ if (locked_color_entry != found) internal("bad letter lock");
+ locked_color_entry = NULL;
+ prune_font_cache();
+ return xw;
+}
+
+/* Must return values that are:
+ * >=0
+ * <=height
+ * at least 1 apart
+ * Otherwise g_print_text will print nonsense (but won't segfault)
+ */
+static void get_underline_pos(int height, int *top, int *bottom)
+{
+ int thickness, baseline;
+ thickness=(height+15)/16;
+ baseline=height/7;
+ if (baseline<=0) baseline=1;
+ if (thickness>baseline) thickness=baseline;
+ *top=height-baseline;
+ *bottom=*top+thickness;
+}
+
+/* *width will be advanced by the width of the text */
+void g_print_text(struct graphics_driver *gd, struct graphics_device *device,
+int x, int y, struct style *style, unsigned char *text, int *width)
+{
+ int original_flags, top_underline, bottom_underline, original_width,
+ my_width;
+ struct rect saved_clip;
+
+ if (y+style->height<=device->clip.y1||y>=device->clip.y2) goto o;
+ if (style -> flags){
+ /* Underline */
+ if (!width){
+ width=&my_width;
+ *width=0;
+ }
+ original_flags=style->flags;
+ original_width=*width;
+ style -> flags=0;
+ get_underline_pos(style->height, &top_underline, &bottom_underline);
+ restrict_clip_area(device, &saved_clip, 0, 0, device->size.x2, y+
+ top_underline);
+ g_print_text(gd, device, x, y, style, text, width);
+ gd->set_clip_area(device, &saved_clip);
+ if (bottom_underline-top_underline==1){
+ /* Line */
+ drv->draw_hline(device, x, y+top_underline
+ , x+*width-original_width
+ , style->underline_color);
+ }else{
+ /* Area */
+ drv->fill_area(device, x, y+top_underline,
+ x+*width-original_width
+ ,y+bottom_underline,
+ style->underline_color);
+ }
+ if (bottom_underline<style->height){
+ /* Do the bottom half only if the underline is above
+ * the bottom of the letters.
+ */
+ *width=original_width;
+ restrict_clip_area(device, &saved_clip, 0,
+ y+bottom_underline, device->size.x2,
+ device->size.y2);
+ g_print_text(gd, device, x, y, style, text, width);
+ gd->set_clip_area(device, &saved_clip);
+ }
+ style -> flags=original_flags;
+ return;
+ }
+ while (*text) {
+ int p;
+ int u;
+ GET_UTF_8(text, u);
+ /* 00-09, 0b-1f, 80, 81, 84, 86-9f ignorovat
+ * 0a = LF
+ * 82 = ' '
+ * 83 = nobrk
+ * 85 = radkovy zlom
+ * a0 = NBSP
+ * ad = soft hyphen
+ */
+ #if 0
+ if ( (u>=0x00&&u<=0x09)||
+ (u>=0x0b&&u<=0x1f)||
+ u==0x80||
+ u==0x82||
+ u==0x84||
+ (u>=0x86&&u<=0x9f)
+ )continue;
+ if (u==0x82)u=' ';
+ #endif
+ /* stare Mikulasovo patchovani, musim to opravit -- Brain */
+ if (!u || u == 0xad) continue;
+ if (u == 0x01 || u == 0xa0) u = ' ';
+ p=print_letter(gd,device,x,y,style, u);
+ x += p;
+ if (width) {
+ *width += p;
+ continue;
+ }
+ if (x>=device->clip.x2) return;
+ }
+ return;
+ o:
+ if (width) *width += g_text_width(style, text);
+}
+
+/* 0=equality 1=inequality */
+static int compare_font_entries(void *entry, void *template)
+{
+ struct font_cache_entry*e1=entry;
+ struct font_cache_entry*e2=template;
+
+ if (e1->type==FC_COLOR){
+ return(
+ (e1->r0!=e2->r0)||
+ (e1->g0!=e2->g0)||
+ (e1->b0!=e2->b0)||
+ (e1->r1!=e2->r1)||
+ (e1->g1!=e2->g1)||
+ (e1->b1!=e2->b1)||
+ (e1->bitmap.y!=e2->bitmap.y)||
+ (e1->mono_space!=e2->mono_space)||
+ (e1->mono_space>=0&&e1->mono_height!=e2->mono_height));
+ }else{
+ return e1->bitmap.y!=e2->bitmap.y;
+ }
+
+}
+
+/* If the cache already exists, it is destroyed and reallocated. If you call it with the same
+ * size argument, only a cache flush will yield.
+ */
+static void init_font_cache(void)
+{
+ lru_init(&font_cache, &compare_font_entries);
+}
+
+/* Ensures there are no lru_entry objects allocated - destroys them.
+ * Also destroys the bitmaps asociated with them. Does not destruct the
+ font_cache per se.
+ */
+static void destroy_font_cache(void)
+{
+ while (destroy_font_cache_bottom())
+ ;
+ if (lru_get_bottom(&font_cache))
+ internal("destroy_font_cache: cache not freed due to locks");
+}
+
+/* Returns 0 in case the char is not found. */
+static inline int g_get_width(struct style *style, unsigned charcode)
+{
+ int x, y, width;
+
+ if (!charcode || charcode == 0xad) return 0;
+ if (charcode == 0x01 || charcode == 0xa0) charcode = ' ';
+ if (style->mono_space>=0){
+ x=style->mono_space;
+ y=style->mono_height;
+ }else load_metric(&x,&y,charcode,style->table);
+ if (!(x&&y)) width=0;
+ else width=compute_width(x,y,style->height);
+ return width;
+}
+
+int g_text_width(struct style *style, unsigned char *text)
+{
+ int w = 0;
+ while (*text) {
+ int u;
+ GET_UTF_8(text, u);
+ w += g_get_width(style, u);
+ }
+ return w;
+}
+
+int g_char_width(struct style *style, unsigned charcode)
+{
+ return g_get_width(style, charcode);
+}
+
+int g_wrap_text(struct wrap_struct *w)
+{
+ unsigned char *init_text = w->text;
+ while (*w->text) {
+ int u;
+ int s;
+ unsigned char *l_text = w->text;
+ if (*l_text == ' ') w->last_wrap = l_text,
+ w->last_wrap_obj = w->obj;
+ GET_UTF_8(w->text, u);
+ if (!u) continue;
+ s = g_get_width(w->style, u);
+ if ((w->pos += s) <= w->width) {
+ c:
+ if (u != 0xad || *w->text == ' ' || w->force_break) continue;
+ s = g_char_width(w->style, '-');
+ if (w->pos + s <= w->width || (!w->last_wrap && !w->last_wrap_obj)) {
+ w->last_wrap = l_text;
+ w->last_wrap_obj = w->obj;
+ continue;
+ }
+ }
+ if (w->force_break && !w->last_wrap && l_text != init_text) {
+ w->last_wrap = l_text;
+ w->last_wrap_obj = w->obj;
+ }
+ if (!w->last_wrap && !w->last_wrap_obj) goto c;
+ return 0;
+ }
+ return 1;
+}
+
+void update_aspect(void)
+{
+ aspect=aspect_on?(aspect_native*bfu_aspect+0.5):65536UL;
+ destroy_font_cache();
+}
+
+unsigned long fontcache_info(int type)
+{
+ switch (type) {
+ case CI_BYTES:
+ return font_cache.bytes;
+ case CI_FILES:
+ return font_cache.items;
+ default:
+ internal("fontcache_info: query %d", type);
+ return 0;
+ }
+}
+
+static int shrink_font_cache(int u)
+{
+ int freed_something = 0;
+ int has_something;
+ if (u == SH_CHECK_QUOTA) {
+ freed_something = prune_font_cache();
+ }
+ if (u == SH_FREE_ALL) {
+ while (destroy_font_cache_bottom())
+ freed_something = 1;
+ }
+ if (u == SH_FREE_SOMETHING) {
+ freed_something = destroy_font_cache_bottom();
+ }
+ has_something = !!lru_get_bottom(&font_cache);
+ return (freed_something ? ST_SOMETHING_FREED : 0) |
+ (has_something ? 0 : ST_CACHE_EMPTY);
+}
+
+void init_dip(void)
+{
+ init_font_cache();
+ update_aspect();
+ register_cache_upcall(shrink_font_cache, "fontcache");
+}
+
+static void recode_font_name(unsigned char **name)
+{
+ int dashes=0;
+ unsigned char *p;
+
+ if (!strcmp(*name,"monospaced")) *name="courier-medium-roman-serif-mono";
+ if (!strcmp(*name,"monospace")) *name="courier-medium-roman-serif-mono";
+ else if (!strcmp(*name,"")) *name="century_school-medium-roman-serif-vari";
+ p=*name;
+ while(*p){
+ if (*p=='-')dashes++;
+ p++;
+ }
+ if (dashes!=4) *name="century_school-medium-roman-serif-vari";
+}
+
+/* Compares single=a multi=b-c-a as matching.
+ * 0 matches
+ * 1 doesn't match
+ */
+static int compare_family(unsigned char *single, unsigned char *multi)
+{
+ unsigned char *p,*r;
+ int single_length=strlen(single);
+
+ r=multi;
+ while(1){
+ p=r;
+ while (*r&&*r!='-')r++;
+ if ((r-p==single_length)&&!strncmp(single,p,r-p)) return 0;
+ if (!*r) return 1;
+ r++;
+ }
+ return 1;
+}
+
+/* Input name must contain exactly 4 dashes, otherwise the
+ * result is undefined (parsing into weight, slant, adstyl, spacing
+ * will result deterministically random results).
+ * Returns 1 if the font is monospaced or 0 if not.
+ */
+static int fill_style_table(int * table, unsigned char *name)
+{
+ unsigned char *p;
+ unsigned char *family, *weight, *slant, *adstyl, *spacing;
+ int pass,result,f;
+ int masks[6]={0x1f,0x1f,0xf,0x7,0x3,0x1};
+ int xors[6]={0,0x10,0x8,0x4,0x2,0x1};
+ /* Top bit of the values belongs to family, bottom to spacing */
+ int monospaced;
+
+ /* Parse the name */
+ recode_font_name(&name);
+ family=stracpy(name);
+ p=family;
+ while(*p&&*p!='-') p++;
+ *p=0;
+ p++;
+ weight=p;
+ while(*p&&*p!='-') p++;
+ *p=0;
+ p++;
+ slant=p;
+ while(*p&&*p!='-') p++;
+ *p=0;
+ p++;
+ adstyl=p;
+ while(*p&&*p!='-') p++;
+ *p=0;
+ p++;
+ spacing=p;
+ monospaced=!strcmp(spacing,"mono");
+
+ for (pass=0;pass<6;pass++){
+ for (f=1;f<n_fonts;f++){
+ /* Font 0 must not be int style_table */
+ result=compare_family(family,font_table[f].family);
+ result<<=1;
+ result|=!!strcmp(weight,font_table[f].weight);
+ result<<=1;
+ result|=!!strcmp(slant,font_table[f].slant);
+ result<<=1;
+ result|=!!strcmp(adstyl,font_table[f].adstyl);
+ result<<=1;
+ result|=!!strcmp(spacing,font_table[f].spacing);
+ result^=xors[pass];
+ result&=masks[pass];
+ if (!result) /* Fot complies */
+ *table++=f;
+ }
+ }
+ mem_free(family);
+ return monospaced;
+}
+
+struct style *g_invert_style(struct style *old)
+{
+ int length;
+
+ struct style *st;
+ st = mem_alloc(sizeof(struct style));
+ st->refcount=1;
+ st->r0=old->r1;
+ st->g0=old->g1;
+ st->b0=old->b1;
+ st->r1=old->r0;
+ st->g1=old->g0;
+ st->b1=old->b0;
+ st->height=old->height;
+ st->flags=old->flags;
+ if (st->flags)
+ {
+ /* We have to get a foreground color for underlining */
+ st->underline_color=dip_get_color_sRGB(
+ (st->r1<<16)|(st->g1<<8)|(st->b1));
+ }
+ if ((unsigned)n_fonts > MAXINT / sizeof(*st->table)) overalloc();
+ length=sizeof(*st->table)*(n_fonts-1);
+ st->table=mem_alloc(length);
+ memcpy(st->table,old->table,length);
+ st->mono_space=old->mono_space;
+ st->mono_height=old->mono_height;
+ return st;
+}
+
+/* Never returns NULL. */
+struct style *g_get_style(int fg, int bg, int size, unsigned char *font, int flags)
+{
+ struct style *st;
+
+ st = mem_alloc(sizeof(struct style));
+ /* strcpy(st->font, font); */
+ st->refcount = 1;
+ st->r0 = bg >> 16;
+ st->g0 = (bg >> 8) & 255;
+ st->b0 = bg & 255;
+ st->r1 = fg >> 16;
+ st->g1 = (fg >> 8) & 255;
+ st->b1 = fg & 255;
+ if (size<=0) size=1;
+ st->height = size;
+ st->flags=flags&FF_UNDERLINE;
+ if (st->flags)
+ {
+ /* We have to get a foreground color for underlining */
+ st->underline_color=dip_get_color_sRGB(fg);
+ }
+ if ((unsigned)n_fonts > MAXINT / sizeof(*st->table)) overalloc();
+ st->table=mem_alloc(sizeof(*st->table)*(n_fonts-1));
+ if(fill_style_table(st->table, font))
+ load_metric(&(st->mono_space), &(st->mono_height),' ',st->table);
+ else
+ st->mono_space=-1;
+ return st;
+}
+
+struct style *g_clone_style(struct style *st)
+{
+ st->refcount++;
+ return st;
+}
+
+void g_free_style(struct style *st)
+{
+ if (--st->refcount) return;
+ mem_free(st->table);
+ mem_free(st);
+}
+
+long gamma_cache_color;
+int gamma_cache_rgb = -2;
+
+/* IEC 61966-2-1
+ * Input gamma: sRGB space (directly from HTML, i. e. unrounded)
+ * Output: color index for graphics driver that is closest to the
+ * given sRGB value.
+ * We assume unsigned short holds at least 16 bits. */
+long real_dip_get_color_sRGB(int rgb)
+{
+ unsigned short r,g,b;
+ int new_rgb;
+
+ round_color_sRGB_to_48(&r,&g,&b,rgb);
+ r=apply_gamma_single_16_to_8(r,1/display_red_gamma);
+ g=apply_gamma_single_16_to_8(g,1/display_green_gamma);
+ b=apply_gamma_single_16_to_8(b,1/display_blue_gamma);
+ new_rgb=b|(g<<8)|(r<<16);
+ gamma_cache_rgb = rgb;
+ /* The get_color takes values with gamma of display_*_gamma */
+ return gamma_cache_color = drv->get_color(new_rgb);
+}
+
+/* ATTENTION!!! allocates using malloc. Due to braindead Xlib, which
+ * frees it using free and thus it is not possible to use mem_alloc. */
+void get_links_icon(unsigned char **data, int *width, int *height, int depth)
+{
+ struct bitmap b;
+ unsigned short *tmp1;
+ double g=user_gamma/sRGB_gamma;
+
+ b.x=48;
+ b.y=48;
+ *width=b.x;
+ *height=b.y;
+ b.skip=b.x*(depth&7);
+ retry:
+ if (!(b.data=*data=malloc(b.skip*b.y))) {
+ out_of_memory("icon malloc", b.skip*b.y);
+ goto retry;
+ }
+ tmp1=mem_alloc(6*b.y*b.x);
+ apply_gamma_exponent_24_to_48(tmp1,links_icon,b.x*b.y,g,g,g);
+ dither(tmp1, &b);
+ mem_free(tmp1);
+}
+
+#endif /* G */
diff --git a/directfb.c b/directfb.c
new file mode 100644
index 0000000..23668b3
--- /dev/null
+++ b/directfb.c
@@ -0,0 +1,891 @@
+/* directfb.c
+ * DirectFB graphics driver
+ * (c) 2002 Sven Neumann <sven@directfb.org>
+ *
+ * This file is a part of the Links program, released under GPL.
+ */
+
+/* TODO:
+ * - Store window size as driver params (?)
+ * - Fix wrong colors on big-endian systems (fixed?)
+ * - Make everything work correctly ;-)
+ *
+ * KNOWN PROBLEMS:
+ * - If mouse drags don't work for you, update DirectFB
+ * (the upcoming 0.9.14 release fixes this).
+ */
+
+
+#include "cfg.h"
+
+#ifdef GRDRV_DIRECTFB
+
+#include <netinet/in.h> /* for htons */
+
+#include <directfb.h>
+
+#include "links.h"
+#include "directfb_cursors.h"
+
+
+#define FOCUSED_OPACITY 0xFF
+#define UNFOCUSED_OPACITY 0xC0
+
+#define DIRECTFB_HASH_TABLE_SIZE 23
+static struct graphics_device **directfb_hash_table[DIRECTFB_HASH_TABLE_SIZE];
+
+typedef struct _DFBDeviceData DFBDeviceData;
+struct _DFBDeviceData
+{
+ DFBWindowID id;
+ IDirectFBWindow *window;
+ IDirectFBSurface *surface;
+ DFBRegion flip_region;
+ int flip_pending;
+};
+
+
+extern struct graphics_driver directfb_driver;
+
+static IDirectFB *dfb = NULL;
+static IDirectFBDisplayLayer *layer = NULL;
+static IDirectFBSurface *arrow = NULL;
+static IDirectFBEventBuffer *events = NULL;
+static DFBSurfacePixelFormat pixelformat = DSPF_UNKNOWN;
+static int event_timer = -1;
+
+
+static inline void directfb_set_color (IDirectFBSurface *surface, long color);
+static void directfb_register_flip (DFBDeviceData *data,
+ int x, int y, int w, int h);
+static void directfb_flip_surface (void *pointer);
+static void directfb_check_events (void *pointer);
+static void directfb_translate_key (DFBWindowEvent *event,
+ int *key, int *flag);
+static void directfb_add_to_table (struct graphics_device *gd);
+static void directfb_remove_from_table (struct graphics_device *gd);
+static struct graphics_device * directfb_lookup_in_table (DFBWindowID id);
+
+
+static unsigned char *
+directfb_fb_init_driver (unsigned char *param, unsigned char *display)
+{
+ DFBDisplayLayerConfig config;
+ DFBResult ret;
+ unsigned char *error;
+ unsigned char *result;
+
+ DirectFBInit (&g_argc, (char ***)(void *)&g_argv);
+ if ((ret = DirectFBCreate (&dfb)) != DFB_OK) {
+ error = (unsigned char *)DirectFBErrorString(ret);
+ goto ret;
+ }
+
+ if ((ret = dfb->GetDisplayLayer (dfb, DLID_PRIMARY, &layer)) != DFB_OK) {
+ error = (unsigned char *)DirectFBErrorString(ret);
+ goto ret_dfb;
+ }
+
+ if ((ret = layer->GetConfiguration (layer, &config)) != DFB_OK) {
+ error = (unsigned char *)DirectFBErrorString(ret);
+ goto ret_layer;
+ }
+
+ pixelformat = config.pixelformat;
+
+ directfb_driver.depth = (((DFB_BYTES_PER_PIXEL (pixelformat) & 0x7)) |
+ ((DFB_COLOR_BITS_PER_PIXEL (pixelformat) & 0x1F) << 3));
+
+ if (directfb_driver.depth == 4)
+ directfb_driver.depth = 196;
+
+ /* endian test */
+ if (htons (0x1234) == 0x1234) {
+ if ((directfb_driver.depth & 0x7) == 2)
+ directfb_driver.depth |= 0x100;
+ if ((directfb_driver.depth & 0x7) == 4)
+ directfb_driver.depth |= 0x200;
+ }
+
+ if (!get_color_fn(directfb_driver.depth)) {
+ error = "Unsupported color depth";
+ goto ret_layer;
+ }
+
+ directfb_driver.x = config.width;
+ directfb_driver.y = config.height;
+
+ memset (directfb_hash_table, 0, sizeof (directfb_hash_table));
+
+ if ((ret = dfb->CreateEventBuffer (dfb, &events)) != DFB_OK) {
+ error = (unsigned char *)DirectFBErrorString(ret);
+ goto ret_layer;
+ }
+
+ event_timer = install_timer (20, directfb_check_events, events);
+
+ if (dfb->CreateSurface (dfb, directfb_get_arrow_desc(), &arrow) != DFB_OK)
+ arrow = NULL;
+
+ return NULL;
+
+ret_layer:
+ layer->Release(layer);
+ret_dfb:
+ dfb->Release(dfb);
+ret:
+ result = init_str();
+ add_to_strn(&result, error);
+ add_to_strn(&result, "\n");
+ return result;
+}
+
+static struct graphics_device *
+directfb_init_device (void)
+{
+ struct graphics_device *gd;
+ DFBDeviceData *data;
+ IDirectFBWindow *window;
+ DFBWindowDescription desc;
+
+ desc.flags = DWDESC_WIDTH | DWDESC_HEIGHT | DWDESC_POSX | DWDESC_POSY;
+ desc.width = directfb_driver.x;
+ desc.height = directfb_driver.y;
+ desc.posx = 0;
+ desc.posy = 0;
+
+ retry:
+ if (layer->CreateWindow (layer, &desc, &window) != DFB_OK) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ return NULL;
+ }
+
+ gd = mem_alloc (sizeof (struct graphics_device));
+
+ gd->size.x1 = 0;
+ gd->size.y1 = 0;
+ window->GetSize (window, &gd->size.x2, &gd->size.y2);
+
+ gd->clip = gd->size;
+
+ data = mem_alloc (sizeof (DFBDeviceData));
+
+ data->window = window;
+ data->flip_pending = 0;
+
+ if (arrow)
+ window->SetCursorShape (window, arrow, arrow_hot_x, arrow_hot_y);
+
+ window->GetSurface (window, &data->surface);
+ window->GetID (window, &data->id);
+
+ gd->driver_data = data;
+ gd->user_data = NULL;
+
+ directfb_add_to_table (gd);
+
+ window->AttachEventBuffer (window, events);
+
+ window->SetOpacity (window, FOCUSED_OPACITY);
+
+ return gd;
+}
+
+static void
+directfb_shutdown_device (struct graphics_device *gd)
+{
+ DFBDeviceData *data;
+
+ if (!gd)
+ return;
+
+ data = gd->driver_data;
+
+ unregister_bottom_half (directfb_flip_surface, data);
+ directfb_remove_from_table (gd);
+
+ data->surface->Release (data->surface);
+ data->window->Destroy (data->window);
+ data->window->Release (data->window);
+
+ mem_free (data);
+ mem_free (gd);
+}
+
+static void
+directfb_shutdown_driver (void)
+{
+ int i;
+
+ kill_timer (event_timer);
+ events->Release (events);
+ events = NULL;
+
+ if (arrow)
+ arrow->Release (arrow);
+
+ layer->Release (layer);
+ dfb->Release (dfb);
+
+ for (i = 0; i < DIRECTFB_HASH_TABLE_SIZE; i++)
+ if (directfb_hash_table[i])
+ mem_free (directfb_hash_table[i]);
+
+ dfb = NULL;
+}
+
+static unsigned char *
+directfb_get_driver_param (void)
+{
+ return NULL;
+}
+
+static int
+directfb_get_empty_bitmap (struct bitmap *bmp)
+{
+ IDirectFBSurface *surface;
+ DFBSurfaceDescription desc;
+
+ bmp->data = bmp->flags = NULL;
+
+ desc.flags = DSDESC_WIDTH | DSDESC_HEIGHT;
+ desc.width = bmp->x;
+ desc.height = bmp->y;
+
+ retry:
+ if (dfb->CreateSurface (dfb, &desc, &surface) != DFB_OK) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ return -1;
+ }
+
+ surface->Lock (surface, DSLF_READ | DSLF_WRITE, &bmp->data, &bmp->skip);
+
+ bmp->flags = surface;
+
+ return 0;
+}
+
+/*
+static int
+directfb_get_filled_bitmap (struct bitmap *bmp, long color)
+{
+ IDirectFBSurface *surface;
+ DFBSurfaceDescription desc;
+
+ bmp->data = bmp->flags = NULL;
+
+ desc.flags = DSDESC_WIDTH | DSDESC_HEIGHT;
+ desc.width = bmp->x;
+ desc.height = bmp->y;
+
+ retry:
+ if (dfb->CreateSurface (dfb, &desc, &surface) != DFB_OK) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ return 0;
+ }
+
+ directfb_set_color (surface, color);
+ surface->FillRectangle (surface, 0, 0, bmp->x, bmp->y);
+ surface->Lock (surface, DSLF_READ | DSLF_WRITE, &bmp->data, &bmp->skip);
+
+ bmp->flags = surface;
+
+ return 0;
+}
+*/
+
+static void
+directfb_register_bitmap (struct bitmap *bmp)
+{
+ IDirectFBSurface *surface = bmp->flags;
+ if (!surface) return;
+
+ surface->Unlock (surface);
+ bmp->data = NULL;
+}
+
+static void *
+directfb_prepare_strip (struct bitmap *bmp, int top, int lines)
+{
+ IDirectFBSurface *surface = bmp->flags;
+ if (!surface) return NULL;
+
+ surface->Lock (surface, DSLF_READ | DSLF_WRITE, &bmp->data, &bmp->skip);
+
+ return ((unsigned char *) bmp->data + top * bmp->skip);
+}
+
+static void
+directfb_commit_strip (struct bitmap *bmp, int top, int lines)
+{
+ IDirectFBSurface *surface = bmp->flags;
+ if (!surface) return;
+
+ surface->Unlock (surface);
+ bmp->data = NULL;
+}
+
+static void
+directfb_unregister_bitmap (struct bitmap *bmp)
+{
+ IDirectFBSurface *surface = bmp->flags;
+ if (!surface) return;
+
+ surface->Release (surface);
+}
+
+static void
+directfb_draw_bitmap (struct graphics_device *gd, struct bitmap *bmp,
+ int x, int y)
+{
+ DFBDeviceData *data = gd->driver_data;
+ IDirectFBSurface *src = bmp->flags;
+ if (!src) return;
+
+ if (gd->clip.x1 >= gd->clip.x2 ||
+ gd->clip.y1 >= gd->clip.y2) return;
+
+ data->surface->Blit (data->surface, src, NULL, x, y);
+
+ directfb_register_flip (data, x, y, bmp->x, bmp->y);
+}
+
+#if 0
+static void
+directfb_draw_bitmaps (struct graphics_device *gd, struct bitmap **bmps,
+ int n, int x, int y)
+{
+ DFBDeviceData *data = gd->driver_data;
+ struct bitmap *bmp = *bmps;
+ int x1 = x;
+ int h = 0;
+
+ if (n < 1)
+ return;
+
+ do
+ {
+ IDirectFBSurface *src = bmp->flags;
+
+ if (src)
+ data->surface->Blit (data->surface, src, NULL, x, y);
+
+ if (h < bmp->y)
+ h = bmp->y;
+
+ x += bmp->x;
+ bmp++;
+ }
+ while (--n);
+
+ directfb_register_flip (data, x1, y, x - x1, h);
+}
+#endif
+
+static long
+directfb_get_color (int rgb)
+{
+ return rgb;
+}
+
+
+static void
+directfb_fill_area (struct graphics_device *gd,
+ int x1, int y1, int x2, int y2, long color)
+{
+ DFBDeviceData *data = gd->driver_data;
+ int w = x2 - x1;
+ int h = y2 - y1;
+
+ directfb_set_color (data->surface, color);
+ data->surface->FillRectangle (data->surface, x1, y1, w, h);
+
+ directfb_register_flip (data, x1, y1, w, h);
+}
+
+static void
+directfb_draw_hline (struct graphics_device *gd,
+ int left, int y, int right, long color)
+{
+ DFBDeviceData *data = gd->driver_data;
+
+ if (right <= left) return;
+
+ right--;
+
+ directfb_set_color (data->surface, color);
+ data->surface->DrawLine (data->surface, left, y, right, y);
+
+ directfb_register_flip (data, left, y, right - left, 1);
+}
+
+static void
+directfb_draw_vline (struct graphics_device *gd,
+ int x, int top, int bottom, long color)
+{
+ DFBDeviceData *data = gd->driver_data;
+
+ if (bottom <= top) return;
+
+ bottom--;
+
+ directfb_set_color (data->surface, color);
+ data->surface->DrawLine (data->surface, x, top, x, bottom);
+
+ directfb_register_flip (data, x, top, 1, bottom - top);
+}
+
+static void
+directfb_set_clip_area (struct graphics_device *gd, struct rect *r)
+{
+ DFBDeviceData *data = gd->driver_data;
+ DFBRegion region;
+ region.x1 = r->x1;
+ region.y1 = r->y1;
+ region.x2 = r->x2 - 1;
+ region.y2 = r->y2 - 1;
+
+ gd->clip = *r;
+
+ data->surface->SetClip (data->surface, &region);
+}
+
+static int
+directfb_hscroll (struct graphics_device *gd, struct rect_set **set, int sc)
+{
+ DFBDeviceData *data = gd->driver_data;
+ DFBRectangle rect;
+
+ *set = NULL;
+ if (!sc)
+ return 0;
+
+ rect.x = gd->clip.x1;
+ rect.y = gd->clip.y1;
+ rect.w = gd->clip.x2 - rect.x;
+ rect.h = gd->clip.y2 - rect.y;
+
+ data->surface->Blit (data->surface,
+ data->surface, &rect, rect.x + sc, rect.y);
+
+ directfb_register_flip (data, rect.x, rect.y, rect.w, rect.h);
+
+ return 1;
+}
+
+static int
+directfb_vscroll (struct graphics_device *gd, struct rect_set **set, int sc)
+{
+ DFBDeviceData *data = gd->driver_data;
+ DFBRectangle rect;
+
+ *set = NULL;
+ if (!sc)
+ return 0;
+
+ rect.x = gd->clip.x1;
+ rect.y = gd->clip.y1;
+ rect.w = gd->clip.x2 - rect.x;
+ rect.h = gd->clip.y2 - rect.y;
+
+ data->surface->Blit (data->surface,
+ data->surface, &rect, rect.x, rect.y + sc);
+
+ directfb_register_flip (data, rect.x, rect.y, rect.w, rect.h);
+
+ return 1;
+}
+
+struct graphics_driver directfb_driver =
+{
+ "directfb",
+ directfb_fb_init_driver,
+ directfb_init_device,
+ directfb_shutdown_device,
+ directfb_shutdown_driver,
+ directfb_get_driver_param,
+ directfb_get_empty_bitmap,
+ /*directfb_get_filled_bitmap,*/
+ directfb_register_bitmap,
+ directfb_prepare_strip,
+ directfb_commit_strip,
+ directfb_unregister_bitmap,
+ directfb_draw_bitmap,
+ /*directfb_draw_bitmaps,*/
+ directfb_get_color,
+ directfb_fill_area,
+ directfb_draw_hline,
+ directfb_draw_vline,
+ directfb_hscroll,
+ directfb_vscroll,
+ directfb_set_clip_area,
+ dummy_block,
+ dummy_unblock,
+ NULL, /* set_title */
+ NULL, /* exec */
+ NULL, /* set_clipboard_text */
+ NULL, /* get_clipboard_text */
+ 0, /* depth */
+ 0, 0, /* size */
+ GD_NO_OS_SHELL, /* flags */
+ 0, /* codepage */
+ NULL, /* shell */
+};
+
+
+static inline void directfb_set_color (IDirectFBSurface *surface, long color)
+{
+ surface->SetColor (surface,
+ (color & 0xFF0000) >> 16,
+ (color & 0xFF00) >> 8,
+ (color & 0xFF),
+ 0xFF);
+}
+
+static void directfb_register_flip (DFBDeviceData *data,
+ int x, int y, int w, int h)
+{
+ if (x < 0 || y < 0 || w < 1 || h < 1)
+ return;
+
+ w = x + w - 1;
+ h = y + h - 1;
+
+ if (data->flip_pending)
+ {
+ if (data->flip_region.x1 > x) data->flip_region.x1 = x;
+ if (data->flip_region.y1 > y) data->flip_region.y1 = y;
+ if (data->flip_region.x2 < w) data->flip_region.x2 = w;
+ if (data->flip_region.y2 < h) data->flip_region.y2 = h;
+ }
+ else
+ {
+ data->flip_region.x1 = x;
+ data->flip_region.y1 = y;
+ data->flip_region.x2 = w;
+ data->flip_region.y2 = h;
+
+ data->flip_pending = 1;
+
+ register_bottom_half (directfb_flip_surface, data);
+ }
+}
+
+static void
+directfb_flip_surface (void *pointer)
+{
+ DFBDeviceData *data = pointer;
+
+ if (!data->flip_pending)
+ return;
+
+ data->surface->Flip (data->surface, &data->flip_region, 0);
+
+ data->flip_pending = 0;
+}
+
+static void
+directfb_check_events (void *pointer)
+{
+ struct graphics_device *gd = NULL;
+ DFBDeviceData *data = NULL;
+ DFBWindowEvent event;
+ DFBWindowEvent next;
+
+ while (events->GetEvent (events, DFB_EVENT (&event)) == DFB_OK)
+ {
+ switch (event.type)
+ {
+ case DWET_GOTFOCUS:
+ case DWET_LOSTFOCUS:
+ case DWET_POSITION_SIZE:
+ case DWET_SIZE:
+ case DWET_KEYDOWN:
+ case DWET_BUTTONDOWN:
+ case DWET_BUTTONUP:
+ case DWET_WHEEL:
+ case DWET_MOTION:
+ break;
+ default:
+ continue;
+ }
+
+ if (!data || data->id != event.window_id)
+ {
+ gd = directfb_lookup_in_table (event.window_id);
+ if (!gd)
+ continue;
+ }
+
+ data = gd->driver_data;
+
+ switch (event.type)
+ {
+#if 0
+ case DWET_GOTFOCUS:
+ data->window->SetOpacity (data->window, FOCUSED_OPACITY);
+ break;
+
+ case DWET_LOSTFOCUS:
+ data->window->SetOpacity (data->window, UNFOCUSED_OPACITY);
+ break;
+#endif
+
+ case DWET_POSITION_SIZE:
+ case DWET_SIZE:
+ while ((events->PeekEvent (events, DFB_EVENT (&next)) == DFB_OK) &&
+ (next.type == DWET_SIZE || next.type == DWET_POSITION_SIZE) &&
+ (next.window_id == data->id))
+ events->GetEvent (events, DFB_EVENT (&event));
+
+ gd->size.x2 = event.w;
+ gd->size.y2 = event.h;
+ gd->resize_handler (gd);
+ break;
+
+ case DWET_KEYDOWN:
+ {
+ int key, flag;
+
+ directfb_translate_key (&event, &key, &flag);
+ if (key)
+ gd->keyboard_handler (gd, key, flag);
+ }
+ break;
+
+ case DWET_BUTTONDOWN:
+ case DWET_BUTTONUP:
+ {
+ int flags;
+
+ /*
+ * For unknown reason, we get the event twice
+ */
+ while ((events->PeekEvent (events, DFB_EVENT (&next)) == DFB_OK) &&
+ (next.type == event.type && next.button == event.button &&
+ next.x == event.x && next.y == event.y && next.window_id == data->id))
+ events->GetEvent (events, DFB_EVENT (&event));
+
+ if (event.type == DWET_BUTTONUP)
+ {
+ flags = B_UP;
+ data->window->UngrabPointer (data->window);
+ }
+ else
+ {
+ flags = B_DOWN;
+ data->window->GrabPointer (data->window);
+ }
+
+ switch (event.button)
+ {
+ case DIBI_LEFT:
+ flags |= B_LEFT;
+ break;
+ case DIBI_RIGHT:
+ flags |= B_RIGHT;
+ break;
+ case DIBI_MIDDLE:
+ flags |= B_MIDDLE;
+ break;
+ default:
+ continue;
+ }
+
+ gd->mouse_handler (gd, event.x, event.y, flags);
+ }
+ break;
+
+ case DWET_WHEEL:
+ gd->mouse_handler (gd, event.x, event.y,
+ B_MOVE |
+ (event.step > 0 ? B_WHEELUP : B_WHEELDOWN));
+ break;
+
+ case DWET_MOTION:
+ {
+ int flags;
+
+ while ((events->PeekEvent (events, DFB_EVENT (&next)) == DFB_OK) &&
+ (next.type == DWET_MOTION) &&
+ (next.window_id == data->id))
+ events->GetEvent (events, DFB_EVENT (&event));
+
+ switch (event.buttons)
+ {
+ case DIBM_LEFT:
+ flags = B_DRAG | B_LEFT;
+ break;
+ case DIBM_RIGHT:
+ flags = B_DRAG | B_RIGHT;
+ break;
+ case DIBM_MIDDLE:
+ flags = B_DRAG | B_MIDDLE;
+ break;
+ default:
+ flags = B_MOVE;
+ break;
+ }
+
+ gd->mouse_handler (gd, event.x, event.y, flags);
+ }
+ break;
+
+ case DWET_CLOSE:
+ gd->keyboard_handler (gd, KBD_CLOSE, 0);
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ event_timer = install_timer (20, directfb_check_events, events);
+}
+
+static void
+directfb_translate_key (DFBWindowEvent *event, int *key, int *flag)
+{
+ *key = 0;
+ *flag = 0;
+
+ if (event->modifiers & DIMM_CONTROL && event->key_id == DIKI_C)
+ {
+ *key = KBD_CTRL_C;
+ return;
+ }
+
+ /* setting Shift seems to break things
+ *
+ * if (event->modifiers & DIMM_SHIFT)
+ * *flag |= KBD_SHIFT;
+ */
+ if (event->modifiers & DIMM_CONTROL)
+ *flag |= KBD_CTRL;
+ if (event->modifiers & DIMM_ALT)
+ *flag |= KBD_ALT;
+
+ switch (event->key_symbol)
+ {
+ case DIKS_ENTER: *key = KBD_ENTER; break;
+ case DIKS_BACKSPACE: *key = KBD_BS; break;
+ case DIKS_TAB: *key = KBD_TAB; break;
+ case DIKS_ESCAPE: *key = KBD_ESC; break;
+ case DIKS_CURSOR_UP: *key = KBD_UP; break;
+ case DIKS_CURSOR_DOWN: *key = KBD_DOWN; break;
+ case DIKS_CURSOR_LEFT: *key = KBD_LEFT; break;
+ case DIKS_CURSOR_RIGHT: *key = KBD_RIGHT; break;
+ case DIKS_INSERT: *key = KBD_INS; break;
+ case DIKS_DELETE: *key = KBD_DEL; break;
+ case DIKS_HOME: *key = KBD_HOME; break;
+ case DIKS_END: *key = KBD_END; break;
+ case DIKS_PAGE_UP: *key = KBD_PAGE_UP; break;
+ case DIKS_PAGE_DOWN: *key = KBD_PAGE_DOWN; break;
+ case DIKS_F1: *key = KBD_F1; break;
+ case DIKS_F2: *key = KBD_F2; break;
+ case DIKS_F3: *key = KBD_F3; break;
+ case DIKS_F4: *key = KBD_F4; break;
+ case DIKS_F5: *key = KBD_F5; break;
+ case DIKS_F6: *key = KBD_F6; break;
+ case DIKS_F7: *key = KBD_F7; break;
+ case DIKS_F8: *key = KBD_F8; break;
+ case DIKS_F9: *key = KBD_F9; break;
+ case DIKS_F10: *key = KBD_F10; break;
+ case DIKS_F11: *key = KBD_F11; break;
+ case DIKS_F12: *key = KBD_F12; break;
+
+ default:
+ if (DFB_KEY_TYPE (event->key_symbol) == DIKT_UNICODE)
+ *key = event->key_symbol;
+ break;
+ }
+}
+
+static void
+directfb_add_to_table (struct graphics_device *gd)
+{
+ DFBDeviceData *data = gd->driver_data;
+ struct graphics_device **devices;
+ int i;
+
+ i = data->id % DIRECTFB_HASH_TABLE_SIZE;
+
+ devices = directfb_hash_table[i];
+
+ if (devices)
+ {
+ int c = 0;
+
+ while (devices[c++])
+ if (c == MAXINT) overalloc();
+
+ if ((unsigned)c > MAXINT / sizeof(void *) - 1) overalloc();
+ devices = mem_realloc (devices, (c + 1) * sizeof (void *));
+ devices[c-1] = gd;
+ devices[c] = NULL;
+ }
+ else
+ {
+ devices = mem_alloc (2 * sizeof (void *));
+ devices[0] = gd;
+ devices[1] = NULL;
+ }
+
+ directfb_hash_table[i] = devices;
+}
+
+static void
+directfb_remove_from_table (struct graphics_device *gd)
+{
+ DFBDeviceData *data = gd->driver_data;
+ struct graphics_device **devices;
+ int i, j, c;
+
+ i = data->id % DIRECTFB_HASH_TABLE_SIZE;
+
+ devices = directfb_hash_table[i];
+ if (!devices)
+ return;
+
+ for (j = 0, c = -1; devices[j]; j++)
+ if (devices[j] == gd)
+ c = j;
+
+ if (c < 0)
+ return;
+
+ memmove (devices + c, devices + c + 1, (j - c) * sizeof (void *));
+ devices = mem_realloc (devices, j * sizeof (void *));
+
+ directfb_hash_table[i] = devices;
+}
+
+static struct graphics_device *
+directfb_lookup_in_table (DFBWindowID id)
+{
+ struct graphics_device **devices;
+ int i;
+
+ i = id % DIRECTFB_HASH_TABLE_SIZE;
+
+ devices = directfb_hash_table[i];
+ if (!devices)
+ return NULL;
+
+ while (*devices)
+ {
+ DFBDeviceData *data = (*devices)->driver_data;
+
+ if (data->id == id)
+ return *devices;
+
+ devices++;
+ }
+
+ return NULL;
+}
+
+#endif /* GRDRV_DIRECTFB */
diff --git a/directfb_cursors.h b/directfb_cursors.h
new file mode 100644
index 0000000..b9163b5
--- /dev/null
+++ b/directfb_cursors.h
@@ -0,0 +1,97 @@
+/* DirectFB surface dump created by directfb-csource 0.9.14 */
+
+/* This arrow cursor surface is based on a cursor drawn by Ville Pätsi. */
+static unsigned char arrow_data[] =
+ "\0\0\0\0\0\0\0#\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0/\253\253\253\320\0\0\0N\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0H\306\306\306\363\200\200\200\320\0\0\0Y\0"
+ "\0\0\21\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Z\377\377\377\377\301"
+ "\301\301\372\223\223\223\347\0\0\0k\0\0\0\30\0\0\0\6\0\0\0\2\0\0\0\1"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0]\377\377\377\377\377\377\377\377\264\264\264\373\213\213\213"
+ "\352\0\0\0u\0\0\0\36\0\0\0\10\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\377\377\377\377\375\375"
+ "\375\377\356\356\356\377\254\254\254\374\206\206\206\354\0\0\0y\0\0\0"
+ "!\0\0\0\10\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0`\377\377\377\377\372\372\372\377\355\355\355\377"
+ "\343\343\343\377\247\247\247\374\203\203\203\354\0\0\0z\0\0\0\"\0\0\0"
+ "\11\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0`\377\377\377\377\365\365\365\377\351\351\351\377\341\341\341\377"
+ "\335\335\335\377\243\243\243\374\177\177\177\355\0\0\0{\0\0\0\"\0\0\0"
+ "\11\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\371"
+ "\371\371\377\360\360\360\377\346\346\346\377\337\337\337\377\333\333"
+ "\333\377\327\327\327\377\236\236\236\374{{{\355\0\0\0{\0\0\0\"\0\0\0"
+ "\11\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\365\365\365"
+ "\377\355\355\355\377\342\342\342\377\333\333\333\377\330\330\330\377"
+ "\325\325\325\377\317\317\317\377\227\227\227\374vvv\355\0\0\0{\0\0\0"
+ "\"\0\0\0\11\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\361\361\361"
+ "\377\350\350\350\377\335\335\335\377\326\326\326\377\324\324\324\377"
+ "\317\317\317\377\307\307\307\377\277\277\277\377\216\216\216\374qqq\352"
+ "\0\0\0r\0\0\0\33\0\0\0\11\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0`\353"
+ "\353\353\377\340\340\340\377\324\324\324\377\317\317\317\377\315\315"
+ "\315\377\307\307\307\377\274\274\274\377\257\257\257\377\212\212\212"
+ "\375ggg\357\\\\\\\313\0\0\0F\0\0\0\24\0\0\0\11\0\0\0\3\0\0\0\1\0\0\0"
+ "\0\0\0\0`\340\340\340\377\321\321\321\377\305\305\305\377\304\304\304"
+ "\377\307\307\307\377\302\302\302\377\242\242\242\376HHH\361\0\0\0\267"
+ "\0\0\0\224\0\0\0t\0\0\0?\0\0\0\"\0\0\0\22\0\0\0\7\0\0\0\2\0\0\0\0\0\0"
+ "\0]\321\321\321\377\277\277\277\377\207\207\207\374jjj\367\302\302\302"
+ "\377\301\301\301\377\263\263\263\377!!!\334\0\0\0\215\0\0\0d\0\0\0Q\0"
+ "\0\0>\0\0\0-\0\0\0\33\0\0\0\14\0\0\0\4\0\0\0\1\0\0\0E\230\230\230\363"
+ "kkk\353\0\0\0\243\0\0\0\254\200\200\200\370\304\304\304\377\271\271\271"
+ "\377ttt\371\0\0\0\233\0\0\0Y\0\0\0F\0\0\0<\0\0\0.\0\0\0\36\0\0\0\16\0"
+ "\0\0\4\0\0\0\1\0\0\0\7\0\0\0M\0\0\0]\0\0\0O\0\0\0f'''\305\304\304\304"
+ "\377\274\274\274\377\253\253\253\377\22\22\22\277\0\0\0e\0\0\0A\0\0\0"
+ "3\0\0\0%\0\0\0\27\0\0\0\13\0\0\0\4\0\0\0\1\0\0\0\0\0\0\0\3\0\0\0\24\0"
+ "\0\0)\0\0\0<\0\0\0\207\223\223\223\373\267\267\267\377\252\252\252\377"
+ "YYY\360\0\0\0\203\0\0\0@\0\0\0+\0\0\0\32\0\0\0\15\0\0\0\6\0\0\0\2\0\0"
+ "\0\0\0\0\0\0\0\0\0\2\0\0\0\11\0\0\0\27\0\0\0'\0\0\0N===\312\257\257\257"
+ "\377\242\242\242\377lll\370\0\0\0\221\0\0\0E\0\0\0)\0\0\0\26\0\0\0\11"
+ "\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\15\0\0\0\26\0"
+ "\0\0\33\0\0\0\\CCC\322ppp\366MMM\345\0\0\0\204\0\0\0I\0\0\0-\0\0\0\31"
+ "\0\0\0\12\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0"
+ "\0\11\0\0\0\13\0\0\0\20\0\0\0E\0\0\0s\0\0\0w\0\0\0Z\0\0\0E\0\0\0""2\0"
+ "\0\0\35\0\0\0\14\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\1\0\0\0\2\0\0\0\3\0\0\0\4\0\0\0\12\0\0\0\36\0\0\0""4\0\0\0>\0\0\0"
+ "<\0\0\0""1\0\0\0\36\0\0\0\15\0\0\0\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\4\0\0\0\15\0\0\0\33\0"
+ "\0\0)\0\0\0.\0\0\0(\0\0\0\31\0\0\0\13\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\6\0\0"
+ "\0\15\0\0\0\26\0\0\0\33\0\0\0\30\0\0\0\17\0\0\0\7\0\0\0\2\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\1\0\0\0\4\0\0\0\10\0\0\0\13\0\0\0\12\0\0\0\6\0\0\0\3\0\0\0\1\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0\3\0\0\0\1\0\0\0\1\0"
+ "\0\0\0\0\0\0\0\0\0\0\0";
+
+static DFBSurfaceDescription *directfb_get_arrow_desc(void)
+{
+ static DFBSurfaceDescription arrow_desc;
+
+ arrow_desc.flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT |
+ DSDESC_PREALLOCATED,
+ arrow_desc.width = 18,
+ arrow_desc.height = 25,
+ arrow_desc.pixelformat = DSPF_ARGB,
+ arrow_desc.preallocated[0].data = (void *) arrow_data,
+ arrow_desc.preallocated[0].pitch = 72;
+
+ return &arrow_desc;
+}
+
+#if 0 /* this is GNU extension, not C */
+static DFBSurfaceDescription arrow_desc = {
+ flags : DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT |
+ DSDESC_PREALLOCATED,
+ width : 18,
+ height : 25,
+ pixelformat : DSPF_ARGB,
+ preallocated : {{ data : (void *) arrow_data,
+ pitch : 72 }}
+};
+#endif
+
+#define arrow_hot_x 1
+#define arrow_hot_y 1
diff --git a/dither.c b/dither.c
new file mode 100644
index 0000000..9d1488d
--- /dev/null
+++ b/dither.c
@@ -0,0 +1,974 @@
+/* dither.c
+ * Dithering
+ * (c) 2000-2002 Karel 'Clock' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "cfg.h"
+
+#ifdef G
+
+#include "links.h"
+
+#include "bits.h"
+
+#ifdef HAVE_ENDIAN_H
+#include <endian.h>
+#endif
+#ifdef HAVE_MATH_H
+#include <math.h>
+#endif
+
+/* The input of dithering function is 3 times 16-bit value. The value is
+ * proportional to light that will go out of the monitor. Only in this space it
+ * is possible to dither accurately because distributing the error means maintaining
+ * the photon count (blurring caused by human eye from big distance preservers photon
+ * count, just spreads the photons a little around)
+ * The 8-bit dithering functions are to be used only for dithering text.
+ */
+
+/* This source does dithering and rounding of images (in photon space) into
+ * struct bitmap. It also computes colors given r,g,b.
+ */
+
+/* No dither function destroys the passed bitmap */
+/* All dither functions take format in booklike order without inter-line gaps.
+ * red, green, blue order. Input bytes=3*y*x. Takes x and y from bitmap.
+ */
+
+/* The input of dithering function is 3 times 8-bit value. The value is
+ * proportional to desired input into graphics driver (which is in fact
+ * proportional to monitor's input voltage for graphic drivers that do not
+ * pollute the picture with gamma correction)
+ */
+
+/* Dithering algorithm: Floyd-Steinberg error distribution. The used
+ * coefficients are depicted in the following table. The empty box denotes the
+ * originator pixel that generated the error.
+ *
+ * +----+----+
+ * | |7/16|
+ * +----+----+----+
+ * |3/16|5/16|1/16|
+ * +----+----+----+
+ */
+
+/* We assume here int holds at least 32 bits */
+static int red_table[65536],green_table[65536],blue_table[65536];
+/* If we want to represent some 16-bit from-screen-light, it would require certain display input
+ * value (0-255 red, 0-255 green, 0-255 blue), possibly not a whole number. [red|green|blue]_table
+ * translares 16-bit light to the nearest index (that should be fed into the
+ * display). Nearest is meant in realm of numbers that are proportional to
+ * display input. The table also says what will be the real value this rounded
+ * display input yields. index is in
+ * bits 16-31, real light value is in bits 0-15. real light value is 0 (no
+ * photons) to 65535 (maximum photon flux). This is subtracted from wanted
+ * value and error remains which is the distributed into some neighboring
+ * pixels.
+ *
+ * Index memory organization
+ * -------------------------
+ * 1 byte per pixel: obvious. The output byte is OR of all three LSB's from red_table,
+ * green_table, blue_table
+ * 2 bytes per pixel: cast all three values to unsigned short, OR them together
+ * and dump the short into the memory
+ * 3 and 4 bytes per pixel: LSB's contain the red, green, and blue bytes.
+ */
+
+/* These tables allow the most precise dithering possible:
+ * a) Rouding is performed always to perceptually nearest value, not to
+ * nearest light flux
+ * b) error addition is performed in photon space to maintain fiedlity
+ * c) photon space addition from b) is performed with 16 bits thus not
+ * degrading 24-bit images
+ */
+
+/* We assume here unsigned short holds at least 16 bits */
+static unsigned short round_red_table[256];
+static unsigned short round_green_table[256];
+static unsigned short round_blue_table[256];
+/* Transforms sRGB red, green, blue (0-255) to light of nearest voltage to
+ * voltage appropriate to given sRGB coordinate.
+ */
+
+void (*round_fn)(unsigned short *in, struct bitmap *out);
+/* When you finish the stuff with dither_start, dither_restart, just do "if (dregs) mem_free(dregs);" */
+static void (*dither_fn_internal)(unsigned short *in, struct bitmap *out, int * dregs);
+
+
+ /* prototypes */
+static void dither_1byte(unsigned short *, struct bitmap *, int *); /* DITHER_TEMPLATE */
+static void round_1byte(unsigned short *, struct bitmap *); /* ROUND_TEMPLATE */
+static void dither_2byte(unsigned short *, struct bitmap *, int *); /* DITHER_TEMPLATE */
+static void round_2byte(unsigned short *, struct bitmap *); /* ROUND_TEMPLATE */
+static void dither_195(unsigned short *, struct bitmap *, int *); /* DITHER_TEMPLATE */
+static void round_195(unsigned short *, struct bitmap *); /* ROUND_TEMPLATE */
+static void dither_451(unsigned short *, struct bitmap *, int *); /* DITHER_TEMPLATE */
+static void round_451(unsigned short *, struct bitmap *); /* ROUND_TEMPLATE */
+static void dither_196(unsigned short *, struct bitmap *, int *); /* DITHER_TEMPLATE */
+static void round_196(unsigned short *, struct bitmap *); /* ROUND_TEMPLATE */
+static void dither_452(unsigned short *, struct bitmap *, int *); /* DITHER_TEMPLATE */
+static void round_452(unsigned short *, struct bitmap *); /* ROUND_TEMPLATE */
+static void dither_708(unsigned short *, struct bitmap *, int *); /* DITHER_TEMPLATE */
+static void round_708(unsigned short *, struct bitmap *); /* ROUND_TEMPLATE */
+static long color_332(int);
+static long color_121(int);
+static long color_pass_rgb(int);
+static long color_888_bgr(int);
+/*static void pass_bgr(unsigned short *, struct bitmap *);*/
+static long color_8888_bgr0(int);
+static long color_8888_0bgr(int);
+static long color_8888_0rgb(int);
+/*static void pass_0bgr(unsigned short *, struct bitmap *);*/
+static long color_555be(int);
+static long color_555(int);
+static long color_565be(int);
+static long color_565(int);
+/*static void make_8_table(int *, double);*/
+static void make_16_table(int *, int, int, double , int, int);
+static void make_red_table(int, int, int, int);
+static void make_green_table(int, int, int, int);
+static void make_blue_table(int, int, int, int);
+static void make_round_tables(void);
+
+int slow_fpu = -1;
+
+#define LIN \
+ r+=(int)(in[0]);\
+ g+=(int)(in[1]);\
+ b+=(int)(in[2]);\
+ in+=3;
+
+/* EMPIRE IMAGINE FEAR */
+#define LTABLES \
+ {\
+ int rc=r,gc=g,bc=b;\
+ if ((unsigned)rc>65535) rc=rc<0?0:65535;\
+ if ((unsigned)gc>65535) gc=gc<0?0:65535;\
+ if ((unsigned)bc>65535) bc=bc<0?0:65535;\
+ rt=red_table[rc];\
+ gt=green_table[gc];\
+ bt=blue_table[bc];\
+ }\
+ SAVE_CODE\
+ rt=r-(rt&65535);\
+ gt=g-(gt&65535);\
+ bt=b-(bt&65535);\
+
+
+#define BODY \
+ LIN\
+ LTABLES\
+ r=bptr[3];\
+ g=bptr[4];\
+ b=bptr[5];\
+ r+=rt;\
+ g+=gt;\
+ b+=bt;\
+ rt+=8;\
+ gt+=8;\
+ bt+=8;\
+ rt>>=4;\
+ gt>>=4;\
+ bt>>=4;\
+ r-=9*rt;\
+ g-=9*gt;\
+ b-=9*bt;\
+ bptr[3]=rt;\
+ bptr[4]=gt;\
+ bptr[5]=bt;
+
+#define BODYR \
+ LIN\
+ LTABLES\
+ rt+=8;\
+ gt+=8;\
+ bt+=8;\
+ rt>>=4;\
+ gt>>=4;\
+ bt>>=4;\
+ bptr[-3]+=3*rt;\
+ bptr[-2]+=3*gt;\
+ bptr[-1]+=3*bt;\
+ *bptr+=5*rt;\
+ bptr[1]+=5*gt;\
+ bptr[2]+=5*bt;
+
+#define BODYC \
+ LIN\
+ LTABLES\
+ r=rt;\
+ g=gt;\
+ b=bt;
+
+#define BODYL \
+ bptr=dregs;\
+ r=bptr[0];\
+ g=bptr[1];\
+ b=bptr[2];\
+ BODY\
+ bptr[0]=5*rt;\
+ bptr[1]=5*gt;\
+ bptr[2]=5*bt;\
+ bptr+=3;
+
+#define BODYI \
+ BODY\
+ bptr[0]+=5*rt;\
+ bptr[1]+=5*gt;\
+ bptr[2]+=5*bt;\
+ bptr[-3]+=3*rt;\
+ bptr[-2]+=3*gt;\
+ bptr[-1]+=3*bt;\
+ bptr+=3;
+
+#define DITHER_TEMPLATE(template_name) \
+ static void template_name(unsigned short *in, struct bitmap *out, int *dregs)\
+ {\
+ int r,g,b,o,rt,gt,bt,y,x;\
+ unsigned char *outp=out->data;\
+ int *bptr;\
+ int skip=out->skip-SKIP_CODE;\
+\
+ o=0;o=o; /*warning go away */\
+ switch(out->x){\
+\
+ case 0:\
+ return;\
+\
+ case 1:\
+ r=g=b=0;\
+ for (y=out->y;y;y--){\
+ BODYC\
+ outp+=skip;\
+ }\
+ break;\
+\
+ default:\
+ for (y=out->y;y;y--){\
+ BODYL\
+ for (x=out->x-2;x;x--){\
+ BODYI\
+ }\
+ BODYR\
+ outp+=skip;\
+ }\
+ break;\
+ }\
+ }
+
+#define ROUND_TEMPLATE(template_name)\
+ static void template_name(unsigned short *in, struct bitmap *out)\
+ {\
+ int rt,gt,bt,o,x,y;\
+ unsigned char *outp=out->data;\
+ int skip=out->skip-SKIP_CODE;\
+ \
+ o=0;o=o; /*warning go away */\
+ for (y=out->y;y;y--){\
+ for (x=out->x;x;x--){\
+ rt=red_table[in[0]];\
+ gt=green_table[in[1]];\
+ bt=blue_table[in[2]];\
+ in+=3;\
+ SAVE_CODE\
+ }\
+ outp+=skip;\
+ }\
+ }
+
+/* Expression determining line length in bytes */
+#define SKIP_CODE out->x
+
+/* Code with input in rt, gt, bt (values from red_table, green_table, blue_table)
+ * that saves appropriate code on *outp (unsigned char *outp). We can use int o;
+ * as a scratchpad.
+ */
+#define SAVE_CODE \
+ o=rt|gt|bt;\
+ *outp++=(o>>16);
+
+DITHER_TEMPLATE(dither_1byte)
+ROUND_TEMPLATE(round_1byte)
+
+#undef SKIP_CODE
+#undef SAVE_CODE
+
+#define SKIP_CODE out->x*2
+#if defined(t2c) && defined(C_LITTLE_ENDIAN)
+#define SAVE_CODE \
+ o=rt|gt|bt;\
+ *(t2c *)outp=(o>>16);\
+ outp+=2;
+#else
+#define SAVE_CODE \
+ o=rt|gt|bt;\
+ o>>=16;\
+ *(unsigned char *)outp=o;\
+ ((unsigned char *)outp)[1]=o>>8;\
+ outp+=2;
+#endif /* #ifdef t2c */
+
+DITHER_TEMPLATE(dither_2byte)
+ROUND_TEMPLATE(round_2byte)
+#undef SAVE_CODE
+#undef SKIP_CODE
+
+/* B G R */
+#define SKIP_CODE out->x*3;
+#define SAVE_CODE outp[0]=bt>>16;\
+ outp[1]=gt>>16;\
+ outp[2]=rt>>16;\
+ outp+=3;
+DITHER_TEMPLATE(dither_195)
+ROUND_TEMPLATE(round_195)
+#undef SAVE_CODE
+#undef SKIP_CODE
+
+/* R G B */
+#define SKIP_CODE out->x*3;
+#define SAVE_CODE *outp=rt>>16;\
+ outp[1]=gt>>16;\
+ outp[2]=bt>>16;\
+ outp+=3;
+DITHER_TEMPLATE(dither_451)
+ROUND_TEMPLATE(round_451)
+#undef SAVE_CODE
+#undef SKIP_CODE
+
+/* B G R 0 */
+#define SKIP_CODE out->x*4;
+#define SAVE_CODE *outp=bt>>16;\
+ outp[1]=gt>>16;\
+ outp[2]=rt>>16;\
+ outp[3]=0;\
+ outp+=4;
+DITHER_TEMPLATE(dither_196)
+ROUND_TEMPLATE(round_196)
+#undef SAVE_CODE
+#undef SKIP_CODE
+
+/* 0 B G R */
+#define SKIP_CODE out->x*4;
+#define SAVE_CODE *outp=0;\
+ outp[1]=bt>>16;\
+ outp[2]=gt>>16;\
+ outp[3]=rt>>16;\
+ outp+=4;
+DITHER_TEMPLATE(dither_452)
+ROUND_TEMPLATE(round_452)
+#undef SAVE_CODE
+#undef SKIP_CODE
+
+/* 0 R G B */
+#define SKIP_CODE out->x*4;
+#define SAVE_CODE *outp=0;\
+ outp[1]=rt>>16;\
+ outp[2]=gt>>16;\
+ outp[3]=bt>>16;\
+ outp+=4;
+DITHER_TEMPLATE(dither_708)
+ROUND_TEMPLATE(round_708)
+#undef SAVE_CODE
+#undef SKIP_CODE
+
+
+
+/* For 256-color cube */
+static long color_332(int rgb)
+{
+ int r,g,b;
+ long ret;
+
+ r=(rgb>>16)&255;
+ g=(rgb>>8)&255;
+ b=rgb&255;
+ r=(r*7+127)/255;
+ g=(g*7+127)/255;
+ b=(b*3+127)/255;
+
+ *(char *)&ret=(r<<5)|(g<<2)|b;
+ return ret;
+
+}
+
+static long color_121(int rgb)
+{
+ int r,g,b;
+ long ret;
+
+ r=(rgb>>16)&255;
+ g=(rgb>>8)&255;
+ b=rgb&255;
+ r=(r+127)/255;
+ g=(3*g+127)/255;
+ b=(b+127)/255;
+ *(char *)&ret=(r<<3)|(g<<1)|b;
+ return ret;
+
+}
+
+static long color_pass_rgb(int rgb)
+{
+ long ret;
+
+ *(char *)&ret=rgb>>16;
+ ((char *)&ret)[1]=rgb>>8;
+ ((char *)&ret)[2]=rgb;
+
+ return ret;
+
+}
+
+static long color_888_bgr(int rgb)
+{
+ long ret;
+
+ ((char *)&ret)[0]=rgb;
+ ((char *)&ret)[1]=rgb>>8;
+ ((char *)&ret)[2]=rgb>>16;
+
+ return ret;
+}
+
+#if 0
+/* Long live the Manchester Modulation! */
+static void pass_bgr(unsigned short *in, struct bitmap *out)
+{
+ int skip=out->skip-3*out->x,y,x;
+ unsigned char *outp=out->data;
+
+ for (y=out->y;y;y--){
+ for (x=out->x;x;x--){
+ outp[0]=in[2];
+ outp[1]=in[1];
+ outp[2]=in[0];
+ outp+=3;
+ in+=3;
+ }
+ outp+=skip;
+ }
+
+}
+#endif
+
+static long color_8888_bgr0(int rgb)
+{
+ long ret;
+
+ ((char *)&ret)[0]=rgb;
+ ((char *)&ret)[1]=rgb>>8;
+ ((char *)&ret)[2]=rgb>>16;
+ ((char *)&ret)[3]=0;
+
+ return ret;
+}
+
+/* Long live the sigma-delta modulator! */
+static long color_8888_0bgr(int rgb)
+{
+ long ret;
+
+ /* Atmospheric lightwave communication rulez */
+ ((char *)&ret)[0]=0;
+ ((char *)&ret)[1]=rgb;
+ ((char *)&ret)[2]=rgb>>8;
+ ((char *)&ret)[3]=rgb>>16;
+
+ return ret;
+}
+
+/* Long live His Holiness The 14. Dalai Lama Taendzin Gjamccho! */
+/* The above line will probably cause a ban of this browser in China under
+ * the capital punishment ;-) */
+static long color_8888_0rgb(int rgb)
+{
+ long ret;
+
+ /* Chokpori Dharamsala Lhasa Laddakh */
+ ((char *)&ret)[0]=0;
+ ((char *)&ret)[1]=rgb>>16;
+ ((char *)&ret)[2]=rgb>>8;
+ ((char *)&ret)[3]=rgb;
+
+ return ret;
+}
+
+#if 0
+/* We assume unsgned short holds at least 16 bits. */
+static void pass_0bgr(unsigned short *in, struct bitmap *out)
+{
+ int skip=out->skip-4*out->x,y,x;
+ unsigned char *outp=out->data;
+
+ for (y=out->y;y;y--){
+ for (x=out->x;x;x--){
+ outp[0]=0;
+ outp[1]=in[2]>>8;
+ outp[2]=in[1]>>8;
+ outp[3]=in[0]>>8;
+ outp+=4;
+ in+=3;
+ }
+ outp+=skip;
+ }
+
+}
+#endif
+
+/* We assume long holds at least 32 bits */
+static long color_555be(int rgb)
+{
+ int r=(rgb>>16)&255;
+ int g=(rgb>>8)&255;
+ int b=(rgb)&255;
+ int i;
+ long ret;
+
+ r=(r*31+127)/255;
+ g=(g*31+127)/255;
+ b=(b*31+127)/255;
+ i=(r<<10)|(g<<5)|b;
+ ((unsigned char *)&ret)[0]=i>>8;
+ ((unsigned char *)&ret)[1]=i;
+ return ret;
+}
+
+/* We assume long holds at least 32 bits */
+long color_555(int rgb)
+{
+ int r=(rgb>>16)&255;
+ int g=(rgb>>8)&255;
+ int b=(rgb)&255;
+ int i;
+ long ret;
+
+ r=(r*31+127)/255;
+ g=(g*31+127)/255;
+ b=(b*31+127)/255;
+ i=(r<<10)|(g<<5)|b;
+ ((unsigned char *)&ret)[0]=i;
+ ((unsigned char *)&ret)[1]=i>>8;
+ return ret;
+}
+
+static long color_565be(int rgb)
+{
+ int r,g,b;
+ long ret;
+ int i;
+
+ r=(rgb>>16)&255;
+ g=(rgb>>8)&255;
+ /* Long live the PIN photodiode */
+ b=rgb&255;
+
+ r=(r*31+127)/255;
+ g=(g*63+127)/255;
+ b=(b*31+127)/255;
+ i = (r<<11)|(g<<5)|b;
+ ((unsigned char *)&ret)[0]=i>>8;
+ ((unsigned char *)&ret)[1]=i;
+ return ret;
+}
+
+long color_565(int rgb)
+{
+ int r,g,b;
+ long ret;
+ int i;
+
+ r=(rgb>>16)&255;
+ g=(rgb>>8)&255;
+ /* Long live the PIN photodiode */
+ b=rgb&255;
+
+ r=(r*31+127)/255;
+ g=(g*63+127)/255;
+ b=(b*31+127)/255;
+ i=(r<<11)|(g<<5)|b;
+ ((unsigned char *)&ret)[0]=i;
+ ((unsigned char *)&ret)[1]=i>>8;
+ return ret;
+}
+
+/* rgb = r*65536+g*256+b */
+/* The selected color_fn returns a long.
+ * When we have for example 2 bytes per pixel, we make them in the memory,
+ * then copy them to the beginning of the memory occupied by the long
+ * variable, and return that long variable.
+ */
+long (*get_color_fn(int depth))(int rgb)
+{
+ switch(depth)
+ {
+ case 33:
+ return color_121;
+ break;
+
+ case 65:
+ return color_332;
+ break;
+
+ case 122:
+ return color_555;
+ break;
+
+ case 378:
+ return color_555be;
+ break;
+
+ case 130:
+ return color_565;
+ break;
+
+ case 386:
+ return color_565be;
+ break;
+
+ case 451:
+ return color_pass_rgb;
+ break;
+
+ case 195:
+ return color_888_bgr;
+ break;
+
+ case 452:
+ return color_8888_0bgr;
+ break;
+
+ case 196:
+ return color_8888_bgr0;
+ break;
+
+ case 708:
+ return color_8888_0rgb;
+ break;
+
+ default:
+ return NULL;
+ break;
+
+ }
+}
+
+#if 0
+static void make_8_table(int *table, double gamma)
+{
+ int i,light0;
+ double light;
+
+ for (i=0;i<256;i++){
+ light=pow((double)i/255,gamma);
+ /* Long live the Nipkow Disk */
+ light0=65535*light;
+ if (light0<0) light0=0;
+ if (light0>65535) light0=65535;
+ table[i]=light0;
+ }
+}
+#endif
+
+/* Gamma says that light=electricity raised to gamma */
+/* dump_t2c means memory organization defined in comment for
+ * red_table on the top of dither.c */
+/* dump_t2c is taken into account only if t2c is defined. */
+static void make_16_table(int *table, int bits, int pos,double gamma, int dump_t2c,
+ int bigendian)
+{
+ int j,light_val,grades=(1<<bits)-1,grade;
+ double voltage;
+ double rev_gamma=1/gamma;
+ const double t=((double)1)/65535;
+ int last_grade, last_content;
+ ttime start_time = get_time();
+ int sample_state = 0;
+ int x_slow_fpu = slow_fpu;
+ if (gamma_bits != 2) x_slow_fpu = !gamma_bits;
+
+ repeat_loop:
+ last_grade=-1;
+ last_content=0;
+
+ for (j=0;j<65536;j++){
+ if (x_slow_fpu) {
+ if (x_slow_fpu == 1) {
+ if (j & 255) {
+ table[j] = last_content;
+ continue;
+ }
+ } else {
+ if (!(j & (j - 1))) {
+ ttime now = get_time();
+ if (!sample_state) {
+ if (now != start_time) start_time = now, sample_state = 1;
+ } else {
+ if ((uttime)now - (uttime)start_time > SLOW_FPU_DETECT_THRESHOLD && ((uttime)now - (uttime)start_time) * 65536 / j > SLOW_FPU_MAX_STARTUP / 3) {
+ x_slow_fpu = 1;
+ goto repeat_loop;
+ }
+ }
+ }
+ }
+ }
+ voltage=pow(j*t,rev_gamma);
+ /* Determine which monitor input voltage is equivalent
+ * to said photon flux level
+ */
+
+ grade=voltage*grades+.5;
+ if (grade==last_grade){
+ table[j]=last_content;
+ continue;
+ }
+ last_grade=grade;
+ voltage=(double)grade/grades;
+ /* Find nearest voltage to this voltage. Finding nearest voltage, not
+ * nearest photon flux ensures the dithered pixels will be perceived to be
+ * near. The voltage input into the monitor was intentionally chosen by
+ * generations of television engineers to roughly comply with eye's
+ * response, thus minimizing and unifying noise impact on transmitted
+ * signal. This is only marginal enhancement however it sounds
+ * kool ;-) (and is kool)
+ */
+
+ light_val=pow(voltage,gamma)*65535+0.5;
+ /* Find out what photon flux this index represents */
+
+ if (light_val<0) light_val=0;
+ if (light_val>65535) light_val=65535;
+ /* Clip photon flux for safety */
+
+#ifdef t2c_xxx
+/* This branch is broken, but it was never tried */
+ if (dump_t2c){
+ t2c sh;
+ int val=grade<<pos;
+
+ if (bigendian) {
+ ((unsigned char *)&sh)[0]=val;
+ ((unsigned char *)&sh)[1]=val>>8;
+ }else{
+ ((unsigned char *)&sh)[1]=val;
+ ((unsigned char *)&sh)[0]=val>>8;
+ }
+ last_content=light_val|(sh<<16U);
+ }else{
+#endif /* #ifdef t2c */
+ if (bigendian) {
+ int val, val2;
+ val = grade<<pos;
+ val2 = (val>>8) | ((val&0xff)<<8);
+ last_content=light_val|(val2<<16U);
+ }else{
+ last_content=light_val|(grade<<(pos+16U));
+ }
+#ifdef t2c_xxx
+ }
+#endif /* #ifdef t2c */
+ table[j]=last_content;
+ /* Save index and photon flux. */
+ }
+ if (x_slow_fpu == -1) slow_fpu = 0; /* if loop passed once without
+ detecting slow fpu, always assume fast FPU */
+ if (gamma_bits == 2 && x_slow_fpu == 1) slow_fpu = 1;
+}
+
+static void make_red_table(int bits, int pos, int dump_t2c, int be)
+{
+ make_16_table(red_table,bits,pos,display_red_gamma,dump_t2c, be);
+}
+
+static void make_green_table(int bits, int pos, int dump_t2c, int be)
+{
+ make_16_table(green_table,bits,pos,display_green_gamma,dump_t2c, be);
+}
+
+static void make_blue_table(int bits, int pos,int dump_t2c, int be)
+{
+ make_16_table(blue_table,bits,pos,display_blue_gamma, dump_t2c, be);
+}
+
+void dither(unsigned short *in, struct bitmap *out)
+{
+ int *dregs;
+
+ if ((unsigned)out->x > MAXINT / 3 / sizeof(*dregs)) overalloc();
+ dregs=mem_calloc(out->x*3*sizeof(*dregs));
+ (*dither_fn_internal)(in, out, dregs);
+ mem_free(dregs);
+}
+
+/* For functions that do dithering.
+ * Returns allocated dregs. */
+int *dither_start(unsigned short *in, struct bitmap *out)
+{
+ int *dregs;
+
+ if ((unsigned)out->x > MAXINT / 3 / sizeof(*dregs)) overalloc();
+ dregs=mem_calloc(out->x*3*sizeof(*dregs));
+ (*dither_fn_internal)(in, out, dregs);
+ return dregs;
+}
+
+void dither_restart(unsigned short *in, struct bitmap *out, int *dregs)
+{
+ (*dither_fn_internal)(in, out, dregs);
+}
+
+static void make_round_tables(void)
+{
+ int a;
+ unsigned short v;
+
+ for (a=0;a<256;a++){
+ /* a is sRGB coordinate */
+ v=apply_gamma_single_8_to_16(a,user_gamma/sRGB_gamma);
+ round_red_table[a]=red_table[v];
+ round_green_table[a]=green_table[v];
+ round_blue_table[a]=blue_table[v];
+ }
+
+}
+
+/* Also makes up the dithering tables.
+ * You may call it twice - it doesn't leak any memory.
+ */
+void init_dither(int depth)
+{
+ switch(depth){
+ case 33:
+ /* 4bpp, 1Bpp */
+ make_red_table(1,3,0,0);
+ make_green_table(2,1,0,0);
+ make_blue_table(1,0,0,0);
+ dither_fn_internal=dither_1byte;
+ round_fn=round_1byte;
+ break;
+
+ case 65:
+ /* 8 bpp, 1 Bpp */
+ make_red_table(3,5,0,0);
+ make_green_table(3,2,0,0);
+ make_blue_table(2,0,0,0);
+ dither_fn_internal=dither_1byte;
+ round_fn=round_1byte;
+ break;
+
+ case 122:
+ /* 15bpp, 2Bpp */
+ make_red_table(5,10,1,0);
+ make_green_table(5,5,1,0);
+ make_blue_table(5,0,1,0);
+ dither_fn_internal=dither_2byte;
+ round_fn=round_2byte;
+ break;
+
+ case 378:
+ /* 15bpp, 2Bpp, disordered (I have a mental disorder) */
+ make_red_table(5,10,1,1);
+ make_green_table(5,5,1,1);
+ make_blue_table(5,0,1,1);
+ dither_fn_internal=dither_2byte;
+ round_fn=round_2byte;
+ break;
+
+ case 130:
+ /* 16bpp, 2Bpp */
+ make_red_table(5,11,1,0);
+ make_green_table(6,5,1,0);
+ make_blue_table(5,0,1,0);
+ dither_fn_internal=dither_2byte;
+ round_fn=round_2byte;
+ break;
+
+ case 386:
+ /* 16bpp, 2Bpp, disordered */
+ make_red_table(5,11,1,1);
+ make_green_table(6,5,1,1);
+ make_blue_table(5,0,1,1);
+ dither_fn_internal=dither_2byte;
+ round_fn=round_2byte;
+ break;
+
+ case 451:
+ /* 24bpp, 3Bpp, misordered
+ * Even this is dithered!
+ * R G B
+ */
+ make_red_table(8,0,0,0);
+ make_green_table(8,0,0,0);
+ make_blue_table(8,0,0,0);
+ dither_fn_internal=dither_451;
+ round_fn=round_451;
+ break;
+
+ case 195:
+ /* 24bpp, 3Bpp
+ * Even this is dithered!
+ * B G R
+ */
+ make_red_table(8,0,0,0);
+ make_green_table(8,0,0,0);
+ make_blue_table(8,0,0,0);
+ dither_fn_internal=dither_195;
+ round_fn=round_195;
+ break;
+
+ case 452:
+ /* 24bpp, 4Bpp, misordered
+ * Even this is dithered!
+ * 0 B G R
+ */
+ make_red_table(8,0,0,0);
+ make_green_table(8,0,0,0);
+ make_blue_table(8,0,0,0);
+ dither_fn_internal=dither_452;
+ round_fn=round_452;
+ break;
+
+ case 196:
+ /* 24bpp, 4Bpp
+ * Even this is dithered!
+ * B G R 0
+ */
+ make_red_table(8,0,0,0);
+ make_green_table(8,0,0,0);
+ make_blue_table(8,0,0,0);
+ dither_fn_internal=dither_196;
+ round_fn=round_196;
+ break;
+
+ case 708:
+ /* 24bpp, 4Bpp
+ * Even this is dithered!
+ * 0 R G B
+ */
+ make_red_table(8,0,0,0);
+ make_green_table(8,0,0,0);
+ make_blue_table(8,0,0,0);
+ dither_fn_internal=dither_708;
+ round_fn=round_708;
+ break;
+
+ default:
+ internal("Graphics driver returned unsupported \
+pixel memory organisation %d",depth);
+ }
+ make_round_tables();
+}
+
+/* Input is in sRGB space (unrounded, i. e. directly from HTML)
+ * Output is linear 48-bit value (in photons) that has corresponding
+ * voltage nearest to the voltage that would be procduced ideally
+ * by the input value. */
+void round_color_sRGB_to_48(unsigned short *red, unsigned short *green,
+ unsigned short *blue, int rgb)
+{
+ *red=round_red_table[(rgb>>16)&255];
+ *green=round_green_table[(rgb>>8)&255];
+ *blue=round_blue_table[rgb&255];
+}
+
+#endif
diff --git a/dns.c b/dns.c
new file mode 100644
index 0000000..0b69295
--- /dev/null
+++ b/dns.c
@@ -0,0 +1,355 @@
+/* dns.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL
+ */
+
+#include "links.h"
+
+#if defined(HAVE_GETHOSTBYNAME_BUG) || !defined(HAVE_GETHOSTBYNAME)
+#define EXTERNAL_LOOKUP
+#endif
+
+struct dnsentry {
+ struct dnsentry *next;
+ struct dnsentry *prev;
+ ttime get_time;
+ ip__address addr;
+ unsigned char name[1];
+};
+
+#ifndef THREAD_SAFE_LOOKUP
+struct dnsquery *dns_queue = NULL;
+#endif
+
+struct dnsquery {
+#ifndef THREAD_SAFE_LOOKUP
+ struct dnsquery *next_in_queue;
+#endif
+ void (*fn)(void *, int);
+ void *data;
+ void (*xfn)(struct dnsquery *, int);
+ int h;
+ struct dnsquery **s;
+ ip__address *addr;
+ unsigned char name[1];
+};
+
+static struct list_head dns_cache = {&dns_cache, &dns_cache};
+
+static int get_addr_byte(unsigned char **ptr, unsigned char *res, unsigned char stp)
+{
+ unsigned u = 0;
+ if (!(**ptr >= '0' && **ptr <= '9')) return -1;
+ while (**ptr >= '0' && **ptr <= '9') {
+ u = u * 10 + **ptr - '0';
+ if (u >= 256) return -1;
+ (*ptr)++;
+ }
+ if (stp != 255 && **ptr != stp) return -1;
+ (*ptr)++;
+ *res = u;
+ return 0;
+}
+
+int numeric_ip_address(unsigned char *name, ip__address *host)
+{
+ ip__address dummy;
+ if (!host) host = &dummy;
+ if (get_addr_byte(&name, ((unsigned char *)host + 0), '.')) return -1;
+ if (get_addr_byte(&name, ((unsigned char *)host + 1), '.')) return -1;
+ if (get_addr_byte(&name, ((unsigned char *)host + 2), '.')) return -1;
+ if (get_addr_byte(&name, ((unsigned char *)host + 3), 0)) return -1;
+ return 0;
+}
+
+#ifdef EXTERNAL_LOOKUP
+
+static int do_external_lookup(unsigned char *name, ip__address *host)
+{
+ unsigned char buffer[1024];
+ unsigned char sink[16];
+ int rd;
+ int pi[2];
+ pid_t f;
+ unsigned char *n;
+ int rs;
+ if (c_pipe(pi) == -1)
+ return -1;
+ EINTRLOOP(f, fork());
+ if (f == -1) {
+ EINTRLOOP(rs, close(pi[0]));
+ EINTRLOOP(rs, close(pi[1]));
+ return -1;
+ }
+ if (!f) {
+ EINTRLOOP(rs, close(pi[0]));
+ EINTRLOOP(rs, dup2(pi[1], 1));
+ if (rs == -1) _exit(1);
+ EINTRLOOP(rs, dup2(pi[1], 2));
+ if (rs == -1) _exit(1);
+ EINTRLOOP(rs, close(pi[1]));
+ EINTRLOOP(rs, execlp("host", "host", name, NULL));
+ EINTRLOOP(rs, execl("/usr/sbin/host", "host", name, NULL));
+ _exit(1);
+ }
+ EINTRLOOP(rs, close(pi[1]));
+ rd = hard_read(pi[0], buffer, sizeof buffer - 1);
+ if (rd >= 0) buffer[rd] = 0;
+ if (rd > 0) {
+ while (hard_read(pi[0], sink, sizeof sink) > 0);
+ }
+ EINTRLOOP(rs, close(pi[0]));
+ /* Don't wait for the process, we already have sigchld handler that
+ * does cleanup.
+ * waitpid(f, NULL, 0); */
+ if (rd < 0) return -1;
+ /*fprintf(stderr, "query: '%s', result: %s\n", name, buffer);*/
+ while ((n = strstr(buffer, name))) {
+ memset(n, '-', strlen(name));
+ }
+ for (n = buffer; n < buffer + rd; n++) {
+ if (*n >= '0' && *n <= '9') {
+ if (get_addr_byte(&n, ((unsigned char *)host + 0), '.')) goto skip_addr;
+ if (get_addr_byte(&n, ((unsigned char *)host + 1), '.')) goto skip_addr;
+ if (get_addr_byte(&n, ((unsigned char *)host + 2), '.')) goto skip_addr;
+ if (get_addr_byte(&n, ((unsigned char *)host + 3), 255)) goto skip_addr;
+ return 0;
+skip_addr:
+ if (n >= buffer + rd) break;
+ }
+ }
+ return -1;
+}
+
+#endif
+
+int do_real_lookup(unsigned char *name, ip__address *host)
+{
+ unsigned char *n;
+ struct hostent *hst;
+ if (!*name) return -1;
+ for (n = name; *n; n++) if (*n != '.' && (*n < '0' || *n > '9')) goto nogethostbyaddr;
+ if (!numeric_ip_address(name, host)) return 0;
+#ifdef HAVE_GETHOSTBYADDR
+ if (!(hst = gethostbyaddr(name, strlen(name), AF_INET)))
+#endif
+ {
+ nogethostbyaddr:
+#ifdef HAVE_GETHOSTBYNAME
+ if (!(hst = gethostbyname(name)))
+#endif
+ {
+#ifdef EXTERNAL_LOOKUP
+ return do_external_lookup(name, host);
+#endif
+ return -1;
+ }
+ }
+ memcpy(host, hst->h_addr_list[0], sizeof(ip__address));
+ return 0;
+}
+
+#ifndef NO_ASYNC_LOOKUP
+static void lookup_fn(unsigned char *name, int h)
+{
+ ip__address host;
+ if (do_real_lookup(name, &host)) return;
+ hard_write(h, (unsigned char *)&host, sizeof(ip__address));
+}
+
+static void end_real_lookup(struct dnsquery *q)
+{
+ int r = 1;
+ int rs;
+ if (!q->addr || hard_read(q->h, (unsigned char *)q->addr, sizeof(ip__address)) != sizeof(ip__address)) goto end;
+ r = 0;
+
+ end:
+ set_handlers(q->h, NULL, NULL, NULL, NULL);
+ EINTRLOOP(rs, close(q->h));
+ q->xfn(q, r);
+}
+
+static void failed_real_lookup(struct dnsquery *q)
+{
+ int rs;
+ set_handlers(q->h, NULL, NULL, NULL, NULL);
+ EINTRLOOP(rs, close(q->h));
+ q->xfn(q, -1);
+}
+#endif
+
+static int do_lookup(struct dnsquery *q, int force_async)
+{
+ /*debug("starting lookup for %s", q->name);*/
+#ifndef NO_ASYNC_LOOKUP
+ if (!async_lookup && !force_async) {
+#endif
+ int r;
+#ifndef NO_ASYNC_LOOKUP
+ sync_lookup:
+#endif
+ r = do_real_lookup(q->name, q->addr);
+ q->xfn(q, r);
+ return 0;
+#ifndef NO_ASYNC_LOOKUP
+ } else {
+ if ((q->h = start_thread((void (*)(void *, int))lookup_fn, q->name, strlen(q->name) + 1)) == -1) goto sync_lookup;
+ set_handlers(q->h, (void (*)(void *))end_real_lookup, NULL, (void (*)(void *))failed_real_lookup, q);
+ return 1;
+ }
+#endif
+}
+
+static int do_queued_lookup(struct dnsquery *q)
+{
+#ifndef THREAD_SAFE_LOOKUP
+ q->next_in_queue = NULL;
+ if (!dns_queue) {
+ dns_queue = q;
+ /*debug("direct lookup");*/
+#endif
+ return do_lookup(q, 0);
+#ifndef THREAD_SAFE_LOOKUP
+ } else {
+ /*debug("queuing lookup for %s", q->name);*/
+ if (dns_queue->next_in_queue) internal("DNS queue corrupted");
+ dns_queue->next_in_queue = q;
+ dns_queue = q;
+ return 1;
+ }
+#endif
+}
+
+static int find_in_dns_cache(unsigned char *name, struct dnsentry **dnsentry)
+{
+ struct dnsentry *e;
+ foreach(e, dns_cache)
+ if (!strcasecmp(e->name, name)) {
+ del_from_list(e);
+ add_to_list(dns_cache, e);
+ *dnsentry=e;
+ return 0;
+ }
+ return -1;
+}
+
+static void end_dns_lookup(struct dnsquery *q, int a)
+{
+ struct dnsentry *dnsentry;
+ void (*fn)(void *, int);
+ void *data;
+ /*debug("end lookup %s", q->name);*/
+#ifndef THREAD_SAFE_LOOKUP
+ if (q->next_in_queue) {
+ /*debug("processing next in queue: %s", q->next_in_queue->name);*/
+ do_lookup(q->next_in_queue, 1);
+ } else dns_queue = NULL;
+#endif
+ if (!q->fn || !q->addr) {
+ free(q);
+ return;
+ }
+ if (!find_in_dns_cache(q->name, &dnsentry)) {
+ if (a) {
+ memcpy(q->addr, &dnsentry->addr, sizeof(ip__address));
+ a = 0;
+ goto e;
+ }
+ del_from_list(dnsentry);
+ mem_free(dnsentry);
+ }
+ if (a) goto e;
+ dnsentry = mem_alloc(sizeof(struct dnsentry) + strlen(q->name) + 1);
+ strcpy(dnsentry->name, q->name);
+ memcpy(&dnsentry->addr, q->addr, sizeof(ip__address));
+ dnsentry->get_time = get_time();
+ add_to_list(dns_cache, dnsentry);
+ e:
+ if (q->s) *q->s = NULL;
+ fn = q->fn;
+ data = q->data;
+ free(q);
+ fn(data, a);
+}
+
+int find_host_no_cache(unsigned char *name, ip__address *addr, void **qp, void (*fn)(void *, int), void *data)
+{
+ struct dnsquery *q;
+ retry:
+ if (!(q = (struct dnsquery *)malloc(sizeof(struct dnsquery) + strlen(name) + 1))) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ fn(data, -1);
+ return 0;
+ }
+ q->fn = fn;
+ q->data = data;
+ q->s = (struct dnsquery **)qp;
+ q->addr = addr;
+ strcpy(q->name, name);
+ if (qp) *(struct dnsquery **) qp = q;
+ q->xfn = end_dns_lookup;
+ return do_queued_lookup(q);
+}
+
+int find_host(unsigned char *name, ip__address *addr, void **qp, void (*fn)(void *, int), void *data)
+{
+ struct dnsentry *dnsentry;
+ if (qp) *qp = NULL;
+ if (!find_in_dns_cache(name, &dnsentry)) {
+ if ((uttime)get_time() - (uttime)dnsentry->get_time > DNS_TIMEOUT) goto timeout;
+ memcpy(addr, &dnsentry->addr, sizeof(ip__address));
+ fn(data, 0);
+ return 0;
+ }
+ timeout:
+ return find_host_no_cache(name, addr, qp, fn, data);
+}
+
+void kill_dns_request(void **qp)
+{
+ struct dnsquery *q = *qp;
+ q->fn = NULL;
+ q->addr = NULL;
+ *qp = NULL;
+}
+
+unsigned long dns_info(int type)
+{
+ switch (type) {
+ case CI_FILES: {
+ unsigned long n = 0;
+ struct dnsentry *e;
+ foreach(e, dns_cache) n++;
+ return n;
+ }
+ default:
+ internal("dns_info: bad request");
+ }
+ return 0;
+}
+
+static int shrink_dns_cache(int u)
+{
+ struct dnsentry *d, *e;
+ int f = 0;
+ if (u == SH_FREE_SOMETHING && !list_empty(dns_cache)) {
+ d = dns_cache.prev;
+ goto free_e;
+ }
+ foreach(d, dns_cache) if (u == SH_FREE_ALL || (uttime)get_time() - (uttime)d->get_time > DNS_TIMEOUT) {
+ free_e:
+ e = d;
+ d = d->prev;
+ del_from_list(e);
+ mem_free(e);
+ f = ST_SOMETHING_FREED;
+ }
+ return f | (list_empty(dns_cache) ? ST_CACHE_EMPTY : 0);
+}
+
+void init_dns(void)
+{
+ register_cache_upcall(shrink_dns_cache, "dns");
+}
diff --git a/doc/links_cal/adjusted.png b/doc/links_cal/adjusted.png
new file mode 100644
index 0000000..eceadd6
--- /dev/null
+++ b/doc/links_cal/adjusted.png
Binary files differ
diff --git a/doc/links_cal/black-control-rocking.png b/doc/links_cal/black-control-rocking.png
new file mode 100644
index 0000000..6e54250
--- /dev/null
+++ b/doc/links_cal/black-control-rocking.png
Binary files differ
diff --git a/doc/links_cal/black-icon.png b/doc/links_cal/black-icon.png
new file mode 100644
index 0000000..567785f
--- /dev/null
+++ b/doc/links_cal/black-icon.png
Binary files differ
diff --git a/doc/links_cal/calibration.html b/doc/links_cal/calibration.html
new file mode 100644
index 0000000..7dd0b9f
--- /dev/null
+++ b/doc/links_cal/calibration.html
@@ -0,0 +1,68 @@
+<!doctype html public "-//W3C/DTD HTML 3.0//EN">
+<html>
+<head><title>Links Calibration</title></head>
+<body bgcolor="#000000" text="#ffffff">
+<h1>Links Calibration Procedure</h1>
+<p>To get a flawless picture while browsing the Web with Links,
+you have to perform the described procedure step-by-step. A test pattern
+for the adjustment follows:
+<br><center><img src="test_pattern.png" width=480 height=480
+alt="Monoscope"></center>
+
+<br><center><table border=1>
+<tr><td>1.</td><td>Set &quot;Setup -&gt; Video options -&gt; User gamma&quot; to
+1.0</td></tr>
+<tr><td>2.</td><td>Switch off &quot;Setup -&gt; Video options -&gt; Aspect
+correction on&quot;.</td></tr>
+<tr><td>3.</td><td>Set &quot;View -&gt; Html options -&gt; Scale all images by (%)&quot;
+to 100.</td></tr>
+<tr><td>4. <img src="picture-crank-0.png" alt="Contrast to 0"></td><td>Turn
+&quot;Contrast <img src="picture-icon.png" alt="Contrast">&quot; to it's
+minimum.</td></tr>
+<tr><td>5. <img src="black-control-rocking.png" alt="Set brightness"></td><td>Set &quot; Brightness <img
+src="black-icon.png" alt="Brightness">&quot; to the highest level where black
+just still stays black. <img src="elbow.png" alt="Find the elbow"> The gradient (where light
+output is proportional to horizontal offset) in
+the lower part of the image may assist you to perform this task or you may
+diminish horizontal size of the picture on your monitor's controls and
+check at the edge of the screen.</td></tr>
+<tr><td>6. <img src="picture-crank-up.png" alt="Set contrast"></td><td>Set &quot;Contrast
+<img src="picture-icon.png" alt="Contrast">&quot; as you like it.</td></tr>
+<tr><td>7.</td><td>Adjust &quot;Setup -&gt; Video options -&gt; Red,
+Green, Blue display gamma&quot; until the inside of the test pattern looks
+like this: <img src="adjusted.png" alt="The center of the monoscope should look like this"> Red gamma influences the red field,
+green gamma green field, blue gamma blue field. When right part of
+particularly coloured field is too dark, increase the appropriate gamma. When the right
+part is too light, decrease the gamma. The white
+field is there for confidence only. You shall not see the fringes in left
+parts of the fields. If you see them, go farther from the screen or take
+off glasses.</td></tr>
+<tr><td>8.</td><td>Set &quot;Setup -&gt; Video options -&gt; User
+gamma&quot; according to recommended setting that are provided in the
+dialog box.</td></tr>
+<tr><td>9.</td><td>Switch on &quot;Setup -&gt; Video options -&gt; Aspect
+correction on&quot;.</td></tr>
+<tr><td>10.</td><td>Adjust you picture's size so that it just fits on the
+screen</td></tr>
+<tr><td>11.</td><td>Adjust &quot;Setup -&gt; Video options -&gt; Aspect
+ratio&quot; so that the white circle is perfectly circular.</td></tr>
+<tr><td>12.</td><td>If you are using a picture tube monitor, set
+&quot;Setup -&gt; Video options -&gt; Display optimization for CRT&quot;.
+If you have got a flat panel LCD monitor, choose between &quot;Setup -&gt;
+Video options -&gt; Display optimization for LCD (RGB)&quot; and &quot;Setup -&gt;
+Video options -&gt; Display optimization for LCD (BGR)&quot; , whichever looks
+better.</td></tr>
+<tr><td>13.</td><td>Save your settings with &quot;Setup -&gt; Save
+options&quot;.</td></tr>
+<tr><td>14.</td><td>Do not touch &quot;Brightness <img
+src="black-icon.png" alt="Brightness">&quot; any more. You may adjust &quot;Contrast <img
+src="picture-icon.png" alt="Contrast">&quot; whenever you want.</td></tr>
+</table></center>
+<h1>Recommendation</h1>
+<p>If you have got an X Server that supports built-in software gamma
+correction, switch this gamma correction completely off. You will get a
+better picture. To switch the gamma correction off, edit the configuration file and set all &quot;gamma&quot;
+values to 1.0. After doing that, restart X Server, run Links and calibrate
+Links and the monitor.
+</body>
+</html>
diff --git a/doc/links_cal/elbow.png b/doc/links_cal/elbow.png
new file mode 100644
index 0000000..52f035c
--- /dev/null
+++ b/doc/links_cal/elbow.png
Binary files differ
diff --git a/doc/links_cal/kalibrace.html b/doc/links_cal/kalibrace.html
new file mode 100644
index 0000000..baf9769
--- /dev/null
+++ b/doc/links_cal/kalibrace.html
@@ -0,0 +1,88 @@
+<!doctype html public "-//W3C/DTD HTML 3.0//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Kalibrace Linkse</title>
+</head>
+<body bgcolor="#000000" text="#ffffff">
+<h1>Procedura kalibrace Linkse</h1>
+<p>K tomu, aby Links při prohlížení stránek zobrazoval bezvadně, je nutno
+provést krok po kroku popsanou nastavovací proceduru. Následuje monoskop,
+který je k nastavení potřeba:
+
+<br><center><img src="test_pattern.png" width=480 height=480
+alt="Monoskop"></center>
+
+<br><center><table border=1>
+<tr><td>1.</td><td>Nastavte &quot;Nastavení -&gt; Video nastavení -&gt;
+Uživatelská gamma&quot; na hodnotu 1.0</td></tr>
+
+<tr><td>2.</td><td>Vypněte &quot;Nastavení -&gt; Video nastavení -&gt;
+Zapnout korekci poměru stran&quot;</td></tr>
+<tr><td>3.</td><td>Nastavte &quot;Zobrazení -&gt; Html nastavení -&gt;
+Zvětšení všech obrázků (%)&quot; na hodnotu 100.</td></tr>
+
+<tr><td>4. <img src="picture-crank-0.png" alt="Kontrast na 0">
+</td><td>Nastavte &quot;Kontrast <img src="picture-icon.png"
+alt="Kontrast">&quot; na minimální hodnotu.</td></tr>
+
+<tr><td>5. <img src="black-control-rocking.png" alt="Nastavte jas">
+</td><td>Nastavte &quot;Jas <img src="black-icon.png"
+alt="Jas">&quot; na nejvyšší úroveň, pÅ™i které jeÅ¡tÄ› Äerná stále zůstává
+Äernou. <img src="elbow.png" alt="Nastavte na zlom Äerné"> Napomoci vám k
+tomu může Äernobílý klín (kde svÄ›telný výstup je přímo úmÄ›rný vodorovné
+poloze) v dolní Äásti monoskopu, nebo můžete zmenÅ¡it vodorovný rozmÄ›r
+obrazu na ovládacích prvcích monitoru a zkoumat Äernou pÅ™i kraji
+obrazovky.</td></tr>
+
+<tr><td>6. <img src="picture-crank-up.png" alt="Nastavte kontrast">
+</td><td>Nastavte &quot;Kontrast <img src="picture-icon.png"
+alt="Kontrast">&quot; tak, jak vám to vyhovuje.</td></tr>
+
+<tr><td>7.</td><td>Upravujte &quot;Nastavení -&gt; Video nastavení -&gt;
+Červená, Zelená, Modrá display gamma&quot;, dokud vnitřní obrazec
+monoskopu nebude vypadat takto: <img src="adjusted.png"
+alt="Takto má správně vypadat střed monoskopu"> Červená gamma ovlivňuje
+Äervené pole, zelená gamma zelené pole, modrá gamma modré pole. Když je
+pravá Äást pole urÄité barvy příliÅ¡ tmavá, zvÄ›tÅ¡ete přísluÅ¡nou gammu. Když
+je moc světlá, gammu snižte. Bílé pole je zde pouze pro kontrolu. Jemné
+proužky v levé Äásti pole by nemÄ›ly být vidÄ›t. Pokud je vidíte, vzdalte se
+od obrazovky nebo si sundejte brýle.</td></tr>
+
+<tr><td>8.</td><td>Nastavte &quot;Nastavení -&gt; Video nastavení -&gt;
+Uživatelská gamma&quot; podle návodu přiloženého v dialogovém
+oknÄ›.</td></tr>
+
+<tr><td>9.</td><td>Zapněte &quot;Nastavení -&gt; Video nastavení -&gt;
+Zapnout korekci poměru stran&quot;</td></tr>
+<tr><td>10.</td><td>Nastavte velikost obrazu na monitoru tak, aby se právě
+vešel na obrazovku.</td></tr>
+
+<tr><td>11.</td><td>Nastavte &quot;Nastavení -&gt; Video nastavení -&gt;
+Poměr stran&quot; tak, aby bílý kruh monoskopu byl přesně
+kruhový.</td></tr>
+
+<tr><td>12.</td><td>Pokud používáte monitor s obrazovkou, nastavte
+&quot;Nastavení -&gt; Video nastavení -&gt; Optimalizovat výstup pro
+obrazovku&quot;. Pokud používáte plochý monitor LCD, vyberte si mezi
+&quot;Nastavení -&gt; Video nastavení -&gt; Optimalizovat výstup pro LCD
+(RGB)&quot; a &quot;Nastavení -&gt; Video nastavení -&gt; Optimalizovat
+výstup pro LCD (BGR)&quot; podle toho, který z nich vypadá lépe.</td></tr>
+
+<tr><td>13.</td><td>Uložte vaše nastavení pomocí &quot;Nastavení -&gt;
+Ulož nastavení&quot;.</td></tr>
+
+<tr><td>14.</td><td>Nesahejte již nikdy více na &quot;Jas <img
+src="black-icon.png" alt="Jas">&quot;. &quot;Kontrast <img
+src="picture-icon.png" alt="Kontrast">&quot; můžete nastavovat dle libosti
+kdykoliv bude třeba.</td></tr>
+
+</table></center>
+<h1>DoporuÄení</h1>
+<p>Pokud máte X Server, který podporuje vestavěnou gamma korekci,
+zcela tuto korekci vypněte. Dostanete lepší obraz. K tomu, abyste
+korekci vypnuli, staÄí oeditovat konfiguraÄní soubor X Serveru a nastavit
+všechny &quot;gamma&quot; položky na 1.0. Potom X Server restartujte,
+pusťte Links a normálně Links i monitor zkalibrujte.
+</body>
+</html>
diff --git a/doc/links_cal/picture-crank-0.png b/doc/links_cal/picture-crank-0.png
new file mode 100644
index 0000000..85f0fa8
--- /dev/null
+++ b/doc/links_cal/picture-crank-0.png
Binary files differ
diff --git a/doc/links_cal/picture-crank-up.png b/doc/links_cal/picture-crank-up.png
new file mode 100644
index 0000000..c40f6fe
--- /dev/null
+++ b/doc/links_cal/picture-crank-up.png
Binary files differ
diff --git a/doc/links_cal/picture-icon.png b/doc/links_cal/picture-icon.png
new file mode 100644
index 0000000..dee4a66
--- /dev/null
+++ b/doc/links_cal/picture-icon.png
Binary files differ
diff --git a/doc/links_cal/test_pattern.png b/doc/links_cal/test_pattern.png
new file mode 100644
index 0000000..5cad5b4
--- /dev/null
+++ b/doc/links_cal/test_pattern.png
Binary files differ
diff --git a/drivers.c b/drivers.c
new file mode 100644
index 0000000..8679b99
--- /dev/null
+++ b/drivers.c
@@ -0,0 +1,305 @@
+/* drivers.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL
+ */
+
+#include "cfg.h"
+
+#ifdef G
+
+#include "links.h"
+
+int F = 0;
+
+struct graphics_driver *drv = NULL;
+
+#ifdef GRDRV_X
+extern struct graphics_driver x_driver;
+#endif
+#ifdef GRDRV_SVGALIB
+extern struct graphics_driver svga_driver;
+#endif
+#ifdef GRDRV_FB
+extern struct graphics_driver fb_driver;
+#endif
+#ifdef GRDRV_DIRECTFB
+extern struct graphics_driver directfb_driver;
+#endif
+#ifdef GRDRV_PMSHELL
+extern struct graphics_driver pmshell_driver;
+#endif
+#ifdef GRDRV_ATHEOS
+extern struct graphics_driver atheos_driver;
+#endif
+#ifdef GRDRV_SDL
+extern struct graphics_driver sdl_driver;
+#endif
+
+/*
+ * On SPAD you must test first svgalib and then X (because X test is slow).
+ * On other systems you must test first X and then svgalib (because svgalib
+ * would work in X too and it's undesirable).
+ */
+
+static struct graphics_driver *graphics_drivers[] = {
+#ifdef GRDRV_PMSHELL
+ &pmshell_driver,
+#endif
+#ifdef GRDRV_ATHEOS
+ &atheos_driver,
+#endif
+#ifndef SPAD
+#ifdef GRDRV_X
+ &x_driver,
+#endif
+#endif
+#ifdef GRDRV_FB
+ /* use FB before DirectFB because DirectFB has bugs */
+ &fb_driver,
+#endif
+#ifdef GRDRV_DIRECTFB
+ &directfb_driver,
+#endif
+#ifdef GRDRV_SVGALIB
+ &svga_driver,
+#endif
+#ifdef SPAD
+#ifdef GRDRV_X
+ &x_driver,
+#endif
+#endif
+#ifdef GRDRV_SDL
+ &sdl_driver,
+#endif
+ NULL
+};
+
+int dummy_block(struct graphics_device *dev)
+{
+ return 0;
+}
+
+int dummy_unblock(struct graphics_device *dev)
+{
+ return 0;
+}
+
+#if 0
+static unsigned char *list_graphics_drivers(void)
+{
+ unsigned char *d = init_str();
+ int l = 0;
+ struct graphics_driver **gd;
+ for (gd = graphics_drivers; *gd; gd++) {
+ if (l) add_to_str(&d, &l, " ");
+ add_to_str(&d, &l, (*gd)->name);
+ }
+ return d;
+}
+#endif
+
+/* Driver je jednorazovy argument, kterej se preda grafickymu driveru, nikde se dal
+ * neuklada. Param se skladuje v default_driver param a uklada se do konfiguraku. Pred
+ * ukoncenim grafickeho driveru se nastavi default_driver_param podle
+ * drv->get_driver_param.
+ */
+static unsigned char *init_graphics_driver(struct graphics_driver *gd, unsigned char *param, unsigned char *display)
+{
+ unsigned char *r;
+ unsigned char *p = param;
+ struct driver_param *dp=get_driver_param(gd->name);
+ if (!param || !*param) p = dp->param;
+ gd->codepage=dp->codepage;
+ gd->shell=mem_calloc(MAX_STR_LEN);
+ if (dp->shell) safe_strncpy(gd->shell,dp->shell,MAX_STR_LEN);
+ r = gd->init_driver(p,display);
+ if (r) mem_free(gd->shell), gd->shell = NULL;
+ return r;
+}
+
+
+void add_graphics_drivers(unsigned char **s, int *l)
+{
+ struct graphics_driver **gd;
+ for (gd = graphics_drivers; *gd; gd++) {
+ if (gd != graphics_drivers) add_to_str(s, l, ", ");
+ add_to_str(s, l, (*gd)->name);
+ }
+}
+
+unsigned char *init_graphics(unsigned char *driver, unsigned char *param, unsigned char *display)
+{
+ unsigned char *s = init_str();
+ int l = 0;
+ struct graphics_driver **gd;
+#if defined(GRDRV_PMSHELL) && defined(GRDRV_X)
+ if (is_xterm()) {
+ static unsigned char swapped = 0;
+ if (!swapped) {
+ for (gd = graphics_drivers; *gd; gd++) {
+ if (*gd == &pmshell_driver) *gd = &x_driver;
+ else if (*gd == &x_driver) *gd = &pmshell_driver;
+ }
+ swapped = 1;
+ }
+ }
+#endif
+ for (gd = graphics_drivers; *gd; gd++) {
+ if (!driver || !*driver || !strcasecmp((*gd)->name, driver)) {
+ unsigned char *r;
+ if ((!driver || !*driver) && (*gd)->flags & GD_NOAUTO) continue;
+ if (!(r = init_graphics_driver(*gd, param, display))) {
+ mem_free(s);
+ drv = *gd;
+ F = 1;
+ return NULL;
+ }
+ if (!l) {
+ if (!driver || !*driver) add_to_str(&s, &l, "Could not initialize any graphics driver. Tried the following drivers:\n");
+ else add_to_str(&s, &l, "Could not initialize graphics driver ");
+ }
+ add_to_str(&s, &l, (*gd)->name);
+ add_to_str(&s, &l, ":\n");
+ add_to_str(&s, &l, r);
+ mem_free(r);
+ }
+ }
+ if (!l) {
+ add_to_str(&s, &l, "Unknown graphics driver ");
+ if (driver) add_to_str(&s, &l, driver);
+ add_to_str(&s, &l, ".\nThe following graphics drivers are supported:\n");
+ add_graphics_drivers(&s, &l);
+ add_to_str(&s, &l, "\n");
+ }
+ return s;
+}
+
+void shutdown_graphics(void)
+{
+ if (drv)
+ {
+ if (drv->shell) mem_free(drv->shell);
+ drv->shutdown_driver();
+ }
+}
+
+void update_driver_param(void)
+{
+ if (drv)
+ {
+ struct driver_param *dp=get_driver_param(drv->name);
+ dp->codepage=drv->codepage;
+ if (dp->param) mem_free(dp->param);
+ dp->param=stracpy(drv->get_driver_param());
+ if (dp->shell) mem_free(dp->shell);
+ dp->shell=stracpy(drv->shell);
+ dp->nosave = 0;
+ }
+}
+
+#if defined(GRDRV_SVGALIB)|defined(GRDRV_FB)
+
+static struct graphics_driver *virtual_device_driver;
+struct graphics_device **virtual_devices;
+int n_virtual_devices = 0;
+struct graphics_device *current_virtual_device;
+
+static int virtual_device_timer;
+
+int init_virtual_devices(struct graphics_driver *drv, int n)
+{
+ if (n_virtual_devices) {
+ internal("init_virtual_devices: already initialized");
+ return -1;
+ }
+ if ((unsigned)n > MAXINT / sizeof(struct graphics_device *)) overalloc();
+ virtual_devices = mem_calloc(n * sizeof(struct graphics_device *));
+ n_virtual_devices = n;
+ virtual_device_driver = drv;
+ virtual_device_timer = -1;
+ current_virtual_device = NULL;
+ return 0;
+}
+
+struct graphics_device *init_virtual_device(void)
+{
+ int i;
+ for (i = 0; i < n_virtual_devices; i++) if (!virtual_devices[i]) {
+ struct graphics_device *dev;
+ dev = mem_calloc(sizeof(struct graphics_device));
+ dev->size.x2 = virtual_device_driver->x;
+ dev->size.y2 = virtual_device_driver->y;
+ current_virtual_device = virtual_devices[i] = dev;
+ virtual_device_driver->set_clip_area(dev, &dev->size);
+ return dev;
+ }
+ return NULL;
+}
+
+static void virtual_device_timer_fn(void *p)
+{
+ virtual_device_timer = -1;
+ if (current_virtual_device && current_virtual_device->redraw_handler) {
+ drv->set_clip_area(current_virtual_device, &current_virtual_device->size);
+ current_virtual_device->redraw_handler(current_virtual_device, &current_virtual_device->size);
+ }
+}
+
+void switch_virtual_device(int i)
+{
+ if (i == VD_NEXT) {
+ int j;
+ int t = 0;
+ for (j = 0; j < n_virtual_devices * 2; j++)
+ if (virtual_devices[j % n_virtual_devices] == current_virtual_device) t = 1;
+ else if (virtual_devices[j % n_virtual_devices] && t) {
+ current_virtual_device = virtual_devices[j % n_virtual_devices];
+ goto ok_switch;
+ }
+ return;
+ }
+ if (i < 0 || i >= n_virtual_devices || !virtual_devices[i]) return;
+ current_virtual_device = virtual_devices[i];
+ ok_switch:
+ if (virtual_device_timer == -1)
+ virtual_device_timer = install_timer(0, virtual_device_timer_fn, NULL);
+}
+
+void shutdown_virtual_device(struct graphics_device *dev)
+{
+ int i;
+ for (i = 0; i < n_virtual_devices; i++) if (virtual_devices[i] == dev) {
+ virtual_devices[i] = NULL;
+ mem_free(dev);
+ if (current_virtual_device != dev) return;
+ for (; i < n_virtual_devices; i++) if (virtual_devices[i]) {
+ switch_virtual_device(i);
+ return;
+ }
+ for (i = 0; i < n_virtual_devices; i++) if (virtual_devices[i]) {
+ switch_virtual_device(i);
+ return;
+ }
+ current_virtual_device = NULL;
+ return;
+ }
+ mem_free(dev);
+ /*internal("shutdown_virtual_device: device not initialized");*/
+}
+
+void shutdown_virtual_devices(void)
+{
+ int i;
+ if (!n_virtual_devices) {
+ internal("shutdown_virtual_devices: already shut down");
+ return;
+ }
+ for (i = 0; i < n_virtual_devices; i++) if (virtual_devices[i]) internal("shutdown_virtual_devices: virtual device %d is still active", i);
+ mem_free(virtual_devices);
+ n_virtual_devices = 0;
+ if (virtual_device_timer != -1) kill_timer(virtual_device_timer), virtual_device_timer = -1;
+}
+
+#endif
+
+#endif
diff --git a/entity.inc b/entity.inc
new file mode 100644
index 0000000..87eefa4
--- /dev/null
+++ b/entity.inc
@@ -0,0 +1,1006 @@
+/* Automatically generated by gen-ent */
+
+static struct { unsigned char *s; int c; } entities [1000] = {
+ {"AElig", 0x00C6}, /* LATIN CAPITAL LETTER AE */
+ {"Aacgr", 0x0386}, /* GREEK CAPITAL LETTER ALPHA WITH TONOS */
+ {"Aacute", 0x00C1}, /* LATIN CAPITAL LETTER A WITH ACUTE */
+ {"Abreve", 0x0102}, /* LATIN CAPITAL LETTER A WITH BREVE */
+ {"Acirc", 0x00C2}, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
+ {"Acy", 0x0410}, /* CYRILLIC CAPITAL LETTER A */
+ {"Agr", 0x0391}, /* GREEK CAPITAL LETTER ALPHA */
+ {"Agrave", 0x00C0}, /* LATIN CAPITAL LETTER A WITH GRAVE */
+ {"Alpha", 0x0391}, /* GREEK CAPITAL LETTER ALPHA */
+ {"Amacr", 0x0100}, /* LATIN CAPITAL LETTER A WITH MACRON */
+ {"Aogon", 0x0104}, /* LATIN CAPITAL LETTER A WITH OGONEK */
+ {"Aring", 0x00C5}, /* LATIN CAPITAL LETTER A WITH RING ABOVE */
+ {"Atilde", 0x00C3}, /* LATIN CAPITAL LETTER A WITH TILDE */
+ {"Auml", 0x00C4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */
+ {"Barwed", 0x2306}, /* PERSPECTIVE */
+ {"Bcy", 0x0411}, /* CYRILLIC CAPITAL LETTER BE */
+ {"Beta", 0x0392}, /* GREEK CAPITAL LETTER BETA */
+ {"Bgr", 0x0392}, /* GREEK CAPITAL LETTER BETA */
+ {"CHcy", 0x0427}, /* CYRILLIC CAPITAL LETTER CHE */
+ {"Cacute", 0x0106}, /* LATIN CAPITAL LETTER C WITH ACUTE */
+ {"Cap", 0x22D2}, /* DOUBLE INTERSECTION */
+ {"Ccaron", 0x010C}, /* LATIN CAPITAL LETTER C WITH CARON */
+ {"Ccedil", 0x00C7}, /* LATIN CAPITAL LETTER C WITH CEDILLA */
+ {"Ccirc", 0x0108}, /* LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
+ {"Cdot", 0x010A}, /* LATIN CAPITAL LETTER C WITH DOT ABOVE */
+ {"Chi", 0x03A7}, /* GREEK CAPITAL LETTER CHI */
+ {"Cup", 0x22D3}, /* DOUBLE UNION */
+ {"DJcy", 0x0402}, /* CYRILLIC CAPITAL LETTER DJE */
+ {"DScy", 0x0405}, /* CYRILLIC CAPITAL LETTER DZE */
+ {"DZcy", 0x040F}, /* CYRILLIC CAPITAL LETTER DZHE */
+ {"Dagger", 0x2021}, /* DOUBLE DAGGER */
+ {"Dcaron", 0x010E}, /* LATIN CAPITAL LETTER D WITH CARON */
+ {"Dcy", 0x0414}, /* CYRILLIC CAPITAL LETTER DE */
+ {"Delta", 0x0394}, /* GREEK CAPITAL LETTER DELTA */
+ {"Dgr", 0x0394}, /* GREEK CAPITAL LETTER DELTA */
+ {"Dot", 0x00A8}, /* DIAERESIS */
+ {"DotDot", 0x20DC}, /* COMBINING FOUR DOTS ABOVE */
+ {"Dstrok", 0x0110}, /* LATIN CAPITAL LETTER D WITH STROKE */
+ {"EEacgr", 0x0389}, /* GREEK CAPITAL LETTER ETA WITH TONOS */
+ {"EEgr", 0x0397}, /* GREEK CAPITAL LETTER ETA */
+ {"ENG", 0x014A}, /* LATIN CAPITAL LETTER ENG */
+ {"ETH", 0x00D0}, /* LATIN CAPITAL LETTER ETH */
+ {"Eacgr", 0x0388}, /* GREEK CAPITAL LETTER EPSILON WITH TONOS */
+ {"Eacute", 0x00C9}, /* LATIN CAPITAL LETTER E WITH ACUTE */
+ {"Ecaron", 0x011A}, /* LATIN CAPITAL LETTER E WITH CARON */
+ {"Ecirc", 0x00CA}, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
+ {"Ecy", 0x042D}, /* CYRILLIC CAPITAL LETTER E */
+ {"Edot", 0x0116}, /* LATIN CAPITAL LETTER E WITH DOT ABOVE */
+ {"Egr", 0x0395}, /* GREEK CAPITAL LETTER EPSILON */
+ {"Egrave", 0x00C8}, /* LATIN CAPITAL LETTER E WITH GRAVE */
+ {"Emacr", 0x0112}, /* LATIN CAPITAL LETTER E WITH MACRON */
+ {"Eogon", 0x0118}, /* LATIN CAPITAL LETTER E WITH OGONEK */
+ {"Epsilon", 0x0395}, /* GREEK CAPITAL LETTER EPSILON */
+ {"Eta", 0x0397}, /* GREEK CAPITAL LETTER ETA */
+ {"Euml", 0x00CB}, /* LATIN CAPITAL LETTER E WITH DIAERESIS */
+ {"Euro", 0x20AC}, /* EURO SYMBOL */
+ {"Fcy", 0x0424}, /* CYRILLIC CAPITAL LETTER EF */
+ {"GJcy", 0x0403}, /* CYRILLIC CAPITAL LETTER GJE */
+ {"Gamma", 0x0393}, /* GREEK CAPITAL LETTER GAMMA */
+ {"Gbreve", 0x011E}, /* LATIN CAPITAL LETTER G WITH BREVE */
+ {"Gcedil", 0x0122}, /* LATIN CAPITAL LETTER G WITH CEDILLA */
+ {"Gcirc", 0x011C}, /* LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
+ {"Gcy", 0x0413}, /* CYRILLIC CAPITAL LETTER GHE */
+ {"Gdot", 0x0120}, /* LATIN CAPITAL LETTER G WITH DOT ABOVE */
+ {"Gg", 0x22D9}, /* VERY MUCH GREATER-THAN */
+ {"Ggr", 0x0393}, /* GREEK CAPITAL LETTER GAMMA */
+ {"Gt", 0x226B}, /* MUCH GREATER-THAN */
+ {"HARDcy", 0x042A}, /* CYRILLIC CAPITAL LETTER HARD SIGN */
+ {"Hcirc", 0x0124}, /* LATIN CAPITAL LETTER H WITH CIRCUMFLEX */
+ {"Hstrok", 0x0126}, /* LATIN CAPITAL LETTER H WITH STROKE */
+ {"IEcy", 0x0415}, /* CYRILLIC CAPITAL LETTER IE */
+ {"IJlig", 0x0132}, /* LATIN CAPITAL LIGATURE IJ */
+ {"IOcy", 0x0401}, /* CYRILLIC CAPITAL LETTER IO */
+ {"Iacgr", 0x038A}, /* GREEK CAPITAL LETTER IOTA WITH TONOS */
+ {"Iacute", 0x00CD}, /* LATIN CAPITAL LETTER I WITH ACUTE */
+ {"Icirc", 0x00CE}, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
+ {"Icy", 0x0418}, /* CYRILLIC CAPITAL LETTER I */
+ {"Idigr", 0x03AA}, /* GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
+ {"Idot", 0x0130}, /* LATIN CAPITAL LETTER I WITH DOT ABOVE */
+ {"Igr", 0x0399}, /* GREEK CAPITAL LETTER IOTA */
+ {"Igrave", 0x00CC}, /* LATIN CAPITAL LETTER I WITH GRAVE */
+ {"Imacr", 0x012A}, /* LATIN CAPITAL LETTER I WITH MACRON */
+ {"Iogon", 0x012E}, /* LATIN CAPITAL LETTER I WITH OGONEK */
+ {"Iota", 0x0399}, /* GREEK CAPITAL LETTER IOTA */
+ {"Itilde", 0x0128}, /* LATIN CAPITAL LETTER I WITH TILDE */
+ {"Iukcy", 0x0406}, /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN*/
+ {"Iuml", 0x00CF}, /* LATIN CAPITAL LETTER I WITH DIAERESIS */
+ {"Jcirc", 0x0134}, /* LATIN CAPITAL LETTER J WITH CIRCUMFLEX */
+ {"Jcy", 0x0419}, /* CYRILLIC CAPITAL LETTER SHORT I */
+ {"Jsercy", 0x0408}, /* CYRILLIC CAPITAL LETTER JE */
+ {"Jukcy", 0x0404}, /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */
+ {"KHcy", 0x0425}, /* CYRILLIC CAPITAL LETTER HA */
+ {"KHgr", 0x03A7}, /* GREEK CAPITAL LETTER CHI */
+ {"KJcy", 0x040C}, /* CYRILLIC CAPITAL LETTER KJE */
+ {"Kappa", 0x039A}, /* GREEK CAPITAL LETTER KAPPA */
+ {"Kcedil", 0x0136}, /* LATIN CAPITAL LETTER K WITH CEDILLA */
+ {"Kcy", 0x041A}, /* CYRILLIC CAPITAL LETTER KA */
+ {"Kgr", 0x039A}, /* GREEK CAPITAL LETTER KAPPA */
+ {"LJcy", 0x0409}, /* CYRILLIC CAPITAL LETTER LJE */
+ {"Lacute", 0x0139}, /* LATIN CAPITAL LETTER L WITH ACUTE */
+ {"Lambda", 0x039B}, /* GREEK CAPITAL LETTER LAMDA */
+ {"Larr", 0x219E}, /* LEFTWARDS TWO HEADED ARROW */
+ {"Lcaron", 0x013D}, /* LATIN CAPITAL LETTER L WITH CARON */
+ {"Lcedil", 0x013B}, /* LATIN CAPITAL LETTER L WITH CEDILLA */
+ {"Lcy", 0x041B}, /* CYRILLIC CAPITAL LETTER EL */
+ {"Lgr", 0x039B}, /* GREEK CAPITAL LETTER LAMDA */
+ {"Ll", 0x22D8}, /* VERY MUCH LESS-THAN */
+ {"Lmidot", 0x013F}, /* LATIN CAPITAL LETTER L WITH MIDDLE DOT */
+ {"Lstrok", 0x0141}, /* LATIN CAPITAL LETTER L WITH STROKE */
+ {"Lt", 0x226A}, /* MUCH LESS-THAN */
+ {"Mcy", 0x041C}, /* CYRILLIC CAPITAL LETTER EM */
+ {"Mgr", 0x039C}, /* GREEK CAPITAL LETTER MU */
+ {"Mu", 0x039C}, /* GREEK CAPITAL LETTER MU */
+ {"NJcy", 0x040A}, /* CYRILLIC CAPITAL LETTER NJE */
+ {"Nacute", 0x0143}, /* LATIN CAPITAL LETTER N WITH ACUTE */
+ {"Ncaron", 0x0147}, /* LATIN CAPITAL LETTER N WITH CARON */
+ {"Ncedil", 0x0145}, /* LATIN CAPITAL LETTER N WITH CEDILLA */
+ {"Ncy", 0x041D}, /* CYRILLIC CAPITAL LETTER EN */
+ {"Ngr", 0x039D}, /* GREEK CAPITAL LETTER NU */
+ {"Ntilde", 0x00D1}, /* LATIN CAPITAL LETTER N WITH TILDE */
+ {"Nu", 0x039D}, /* GREEK CAPITAL LETTER NU */
+ {"OElig", 0x0152}, /* LATIN CAPITAL LIGATURE OE */
+ {"OHacgr", 0x038F}, /* GREEK CAPITAL LETTER OMEGA WITH TONOS */
+ {"OHgr", 0x03A9}, /* GREEK CAPITAL LETTER OMEGA */
+ {"Oacgr", 0x038C}, /* GREEK CAPITAL LETTER OMICRON WITH TONOS */
+ {"Oacute", 0x00D3}, /* LATIN CAPITAL LETTER O WITH ACUTE */
+ {"Ocirc", 0x00D4}, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
+ {"Ocy", 0x041E}, /* CYRILLIC CAPITAL LETTER O */
+ {"Odblac", 0x0150}, /* LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */
+ {"Ogr", 0x039F}, /* GREEK CAPITAL LETTER OMICRON */
+ {"Ograve", 0x00D2}, /* LATIN CAPITAL LETTER O WITH GRAVE */
+ {"Omacr", 0x014C}, /* LATIN CAPITAL LETTER O WITH MACRON */
+ {"Omega", 0x03A9}, /* GREEK CAPITAL LETTER OMEGA */
+ {"Omicron", 0x039F}, /* GREEK CAPITAL LETTER OMICRON */
+ {"Oslash", 0x00D8}, /* LATIN CAPITAL LETTER O WITH STROKE */
+ {"Otilde", 0x00D5}, /* LATIN CAPITAL LETTER O WITH TILDE */
+ {"Ouml", 0x00D6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */
+ {"PHgr", 0x03A6}, /* GREEK CAPITAL LETTER PHI */
+ {"PSgr", 0x03A8}, /* GREEK CAPITAL LETTER PSI */
+ {"Pcy", 0x041F}, /* CYRILLIC CAPITAL LETTER PE */
+ {"Pgr", 0x03A0}, /* GREEK CAPITAL LETTER PI */
+ {"Phi", 0x03A6}, /* GREEK CAPITAL LETTER PHI */
+ {"Pi", 0x03A0}, /* GREEK CAPITAL LETTER PI */
+ {"Prime", 0x2033}, /* DOUBLE PRIME */
+ {"Psi", 0x03A8}, /* GREEK CAPITAL LETTER PSI */
+ {"Racute", 0x0154}, /* LATIN CAPITAL LETTER R WITH ACUTE */
+ {"Rarr", 0x21A0}, /* RIGHTWARDS TWO HEADED ARROW */
+ {"Rcaron", 0x0158}, /* LATIN CAPITAL LETTER R WITH CARON */
+ {"Rcedil", 0x0156}, /* LATIN CAPITAL LETTER R WITH CEDILLA */
+ {"Rcy", 0x0420}, /* CYRILLIC CAPITAL LETTER ER */
+ {"Rgr", 0x03A1}, /* GREEK CAPITAL LETTER RHO */
+ {"Rho", 0x03A1}, /* GREEK CAPITAL LETTER RHO */
+ {"SHCHcy", 0x0429}, /* CYRILLIC CAPITAL LETTER SHCHA */
+ {"SHcy", 0x0428}, /* CYRILLIC CAPITAL LETTER SHA */
+ {"SOFTcy", 0x042C}, /* CYRILLIC CAPITAL LETTER SOFT SIGN */
+ {"Sacute", 0x015A}, /* LATIN CAPITAL LETTER S WITH ACUTE */
+ {"Scaron", 0x0160}, /* LATIN CAPITAL LETTER S WITH CARON */
+ {"Scedil", 0x015E}, /* LATIN CAPITAL LETTER S WITH CEDILLA */
+ {"Scirc", 0x015C}, /* LATIN CAPITAL LETTER S WITH CIRCUMFLEX */
+ {"Scy", 0x0421}, /* CYRILLIC CAPITAL LETTER ES */
+ {"Sgr", 0x03A3}, /* GREEK CAPITAL LETTER SIGMA */
+ {"Sigma", 0x03A3}, /* GREEK CAPITAL LETTER SIGMA */
+ {"Sub", 0x22D0}, /* DOUBLE SUBSET */
+ {"Sup", 0x22D1}, /* DOUBLE SUPERSET */
+ {"THORN", 0x00DE}, /* LATIN CAPITAL LETTER THORN */
+ {"THgr", 0x0398}, /* GREEK CAPITAL LETTER THETA */
+ {"TSHcy", 0x040B}, /* CYRILLIC CAPITAL LETTER TSHE */
+ {"TScy", 0x0426}, /* CYRILLIC CAPITAL LETTER TSE */
+ {"Tau", 0x03A4}, /* GREEK CAPITAL LETTER TAU */
+ {"Tcaron", 0x0164}, /* LATIN CAPITAL LETTER T WITH CARON */
+ {"Tcedil", 0x0162}, /* LATIN CAPITAL LETTER T WITH CEDILLA */
+ {"Tcy", 0x0422}, /* CYRILLIC CAPITAL LETTER TE */
+ {"Tgr", 0x03A4}, /* GREEK CAPITAL LETTER TAU */
+ {"Theta", 0x0398}, /* GREEK CAPITAL LETTER THETA */
+ {"Tstrok", 0x0166}, /* LATIN CAPITAL LETTER T WITH STROKE */
+ {"Uacgr", 0x038E}, /* GREEK CAPITAL LETTER UPSILON WITH TONOS */
+ {"Uacute", 0x00DA}, /* LATIN CAPITAL LETTER U WITH ACUTE */
+ {"Ubrcy", 0x040E}, /* CYRILLIC CAPITAL LETTER SHORT U */
+ {"Ubreve", 0x016C}, /* LATIN CAPITAL LETTER U WITH BREVE */
+ {"Ucirc", 0x00DB}, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
+ {"Ucy", 0x0423}, /* CYRILLIC CAPITAL LETTER U */
+ {"Udblac", 0x0170}, /* LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */
+ {"Udigr", 0x03AB}, /* GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
+ {"Ugr", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */
+ {"Ugrave", 0x00D9}, /* LATIN CAPITAL LETTER U WITH GRAVE */
+ {"Umacr", 0x016A}, /* LATIN CAPITAL LETTER U WITH MACRON */
+ {"Uogon", 0x0172}, /* LATIN CAPITAL LETTER U WITH OGONEK */
+ {"Upsi", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */
+ {"Upsilon", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */
+ {"Uring", 0x016E}, /* LATIN CAPITAL LETTER U WITH RING ABOVE */
+ {"Utilde", 0x0168}, /* LATIN CAPITAL LETTER U WITH TILDE */
+ {"Uuml", 0x00DC}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */
+ {"Vcy", 0x0412}, /* CYRILLIC CAPITAL LETTER VE */
+ {"Vdash", 0x22A9}, /* FORCES */
+ {"Verbar", 0x2016}, /* DOUBLE VERTICAL LINE */
+ {"Vvdash", 0x22AA}, /* TRIPLE VERTICAL BAR RIGHT TURNSTILE */
+ {"Wcirc", 0x0174}, /* LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
+ {"Xgr", 0x039E}, /* GREEK CAPITAL LETTER XI */
+ {"Xi", 0x039E}, /* GREEK CAPITAL LETTER XI */
+ {"YAcy", 0x042F}, /* CYRILLIC CAPITAL LETTER YA */
+ {"YIcy", 0x0407}, /* CYRILLIC CAPITAL LETTER YI */
+ {"YUcy", 0x042E}, /* CYRILLIC CAPITAL LETTER YU */
+ {"Yacute", 0x00DD}, /* LATIN CAPITAL LETTER Y WITH ACUTE */
+ {"Ycirc", 0x0176}, /* LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
+ {"Ycy", 0x042B}, /* CYRILLIC CAPITAL LETTER YERU */
+ {"Yuml", 0x0178}, /* LATIN CAPITAL LETTER Y WITH DIAERESIS */
+ {"ZHcy", 0x0416}, /* CYRILLIC CAPITAL LETTER ZHE */
+ {"Zacute", 0x0179}, /* LATIN CAPITAL LETTER Z WITH ACUTE */
+ {"Zcaron", 0x017D}, /* LATIN CAPITAL LETTER Z WITH CARON */
+ {"Zcy", 0x0417}, /* CYRILLIC CAPITAL LETTER ZE */
+ {"Zdot", 0x017B}, /* LATIN CAPITAL LETTER Z WITH DOT ABOVE */
+ {"Zeta", 0x0396}, /* GREEK CAPITAL LETTER ZETA */
+ {"Zgr", 0x0396}, /* GREEK CAPITAL LETTER ZETA */
+ {"aacgr", 0x03AC}, /* GREEK SMALL LETTER ALPHA WITH TONOS */
+ {"aacute", 0x00E1}, /* LATIN SMALL LETTER A WITH ACUTE */
+ {"abreve", 0x0103}, /* LATIN SMALL LETTER A WITH BREVE */
+ {"acirc", 0x00E2}, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */
+ {"acute", 0x00B4}, /* ACUTE ACCENT */
+ {"acy", 0x0430}, /* CYRILLIC SMALL LETTER A */
+ {"aelig", 0x00E6}, /* LATIN SMALL LETTER AE */
+ {"agr", 0x03B1}, /* GREEK SMALL LETTER ALPHA */
+ {"agrave", 0x00E0}, /* LATIN SMALL LETTER A WITH GRAVE */
+ {"alefsym", 0x2135}, /* ALEF SYMBOL */
+ {"aleph", 0x2135}, /* ALEF SYMBOL */
+ {"alpha", 0x03B1}, /* GREEK SMALL LETTER ALPHA */
+ {"amacr", 0x0101}, /* LATIN SMALL LETTER A WITH MACRON */
+ {"amalg", 0x2210}, /* N-ARY COPRODUCT */
+ {"amp", 0x0026}, /* AMPERSAND */
+ {"and", 0x2227}, /* LOGICAL AND */
+ {"ang", 0x2220}, /* ANGLE */
+ {"ang90", 0x221F}, /* RIGHT ANGLE */
+ {"angmsd", 0x2221}, /* MEASURED ANGLE */
+ {"angsph", 0x2222}, /* SPHERICAL ANGLE */
+ {"angst", 0x212B}, /* ANGSTROM SIGN */
+ {"aogon", 0x0105}, /* LATIN SMALL LETTER A WITH OGONEK */
+ {"ap", 0x2248}, /* ALMOST EQUAL TO */
+ {"ape", 0x224A}, /* ALMOST EQUAL OR EQUAL TO */
+ {"apos", 0x02BC}, /* MODIFIER LETTER APOSTROPHE */
+ {"aring", 0x00E5}, /* LATIN SMALL LETTER A WITH RING ABOVE */
+ {"ast", 0x002A}, /* ASTERISK */
+ {"asymp", 0x2248}, /* ALMOST EQUAL TO */
+ {"atilde", 0x00E3}, /* LATIN SMALL LETTER A WITH TILDE */
+ {"auml", 0x00E4}, /* LATIN SMALL LETTER A WITH DIAERESIS */
+ {"b.Delta", 0x0394}, /* GREEK CAPITAL LETTER DELTA */
+ {"b.Gamma", 0x0393}, /* GREEK CAPITAL LETTER GAMMA */
+ {"b.Lambda", 0x039B}, /* GREEK CAPITAL LETTER LAMDA */
+ {"b.Omega", 0x03A9}, /* GREEK CAPITAL LETTER OMEGA */
+ {"b.Phi", 0x03A6}, /* GREEK CAPITAL LETTER PHI */
+ {"b.Pi", 0x03A0}, /* GREEK CAPITAL LETTER PI */
+ {"b.Psi", 0x03A8}, /* GREEK CAPITAL LETTER PSI */
+ {"b.Sigma", 0x03A3}, /* GREEK CAPITAL LETTER SIGMA */
+ {"b.Theta", 0x0398}, /* GREEK CAPITAL LETTER THETA */
+ {"b.Upsi", 0x03A5}, /* GREEK CAPITAL LETTER UPSILON */
+ {"b.Xi", 0x039E}, /* GREEK CAPITAL LETTER XI */
+ {"b.alpha", 0x03B1}, /* GREEK SMALL LETTER ALPHA */
+ {"b.beta", 0x03B2}, /* GREEK SMALL LETTER BETA */
+ {"b.chi", 0x03C7}, /* GREEK SMALL LETTER CHI */
+ {"b.delta", 0x03B3}, /* GREEK SMALL LETTER GAMMA */
+ {"b.epsi", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
+ {"b.epsis", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
+ {"b.epsiv", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
+ {"b.eta", 0x03B7}, /* GREEK SMALL LETTER ETA */
+ {"b.gamma", 0x03B3}, /* GREEK SMALL LETTER GAMMA */
+ {"b.gammad", 0x03DC}, /* GREEK LETTER DIGAMMA */
+ {"b.iota", 0x03B9}, /* GREEK SMALL LETTER IOTA */
+ {"b.kappa", 0x03BA}, /* GREEK SMALL LETTER KAPPA */
+ {"b.kappav", 0x03F0}, /* GREEK KAPPA SYMBOL */
+ {"b.lambda", 0x03BB}, /* GREEK SMALL LETTER LAMDA */
+ {"b.mu", 0x03BC}, /* GREEK SMALL LETTER MU */
+ {"b.nu", 0x03BD}, /* GREEK SMALL LETTER NU */
+ {"b.omega", 0x03CE}, /* GREEK SMALL LETTER OMEGA WITH TONOS */
+ {"b.phis", 0x03C6}, /* GREEK SMALL LETTER PHI */
+ {"b.phiv", 0x03D5}, /* GREEK PHI SYMBOL */
+ {"b.pi", 0x03C0}, /* GREEK SMALL LETTER PI */
+ {"b.piv", 0x03D6}, /* GREEK PI SYMBOL */
+ {"b.psi", 0x03C8}, /* GREEK SMALL LETTER PSI */
+ {"b.rho", 0x03C1}, /* GREEK SMALL LETTER RHO */
+ {"b.rhov", 0x03F1}, /* GREEK RHO SYMBOL */
+ {"b.sigma", 0x03C3}, /* GREEK SMALL LETTER SIGMA */
+ {"b.sigmav", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */
+ {"b.tau", 0x03C4}, /* GREEK SMALL LETTER TAU */
+ {"b.thetas", 0x03B8}, /* GREEK SMALL LETTER THETA */
+ {"b.thetav", 0x03D1}, /* GREEK THETA SYMBOL */
+ {"b.upsi", 0x03C5}, /* GREEK SMALL LETTER UPSILON */
+ {"b.xi", 0x03BE}, /* GREEK SMALL LETTER XI */
+ {"b.zeta", 0x03B6}, /* GREEK SMALL LETTER ZETA */
+ {"barwed", 0x22BC}, /* NAND */
+ {"bcong", 0x224C}, /* ALL EQUAL TO */
+ {"bcy", 0x0431}, /* CYRILLIC SMALL LETTER BE */
+ {"bdquo", 0x201E}, /* DOUBLE LOW-9 QUOTATION MARK */
+ {"becaus", 0x2235}, /* BECAUSE */
+ {"bepsi", 0x220D}, /* SMALL CONTAINS AS MEMBER */
+ {"bernou", 0x212C}, /* SCRIPT CAPITAL B */
+ {"beta", 0x03B2}, /* GREEK SMALL LETTER BETA */
+ {"beth", 0x2136}, /* BET SYMBOL */
+ {"bgr", 0x03B2}, /* GREEK SMALL LETTER BETA */
+ {"blank", 0x2423}, /* OPEN BOX */
+ {"blk12", 0x2592}, /* MEDIUM SHADE */
+ {"blk14", 0x2591}, /* LIGHT SHADE */
+ {"blk34", 0x2593}, /* DARK SHADE */
+ {"block", 0x2588}, /* FULL BLOCK */
+ {"bottom", 0x22A5}, /* UP TACK */
+ {"bowtie", 0x22C8}, /* BOWTIE */
+ {"boxDL", 0x2557}, /* BOX DRAWINGS DOUBLE DOWN AND LEFT */
+ {"boxDR", 0x2554}, /* BOX DRAWINGS DOUBLE DOWN AND RIGHT */
+ {"boxDl", 0x2556}, /* BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE */
+ {"boxDr", 0x2553}, /* BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE */
+ {"boxH", 0x2550}, /* BOX DRAWINGS DOUBLE HORIZONTAL */
+ {"boxHD", 0x2566}, /* BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL */
+ {"boxHU", 0x2569}, /* BOX DRAWINGS DOUBLE UP AND HORIZONTAL */
+ {"boxHd", 0x2564}, /* BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE*/
+ {"boxHu", 0x2567}, /* BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE */
+ {"boxUL", 0x255D}, /* BOX DRAWINGS DOUBLE UP AND LEFT */
+ {"boxUR", 0x255A}, /* BOX DRAWINGS DOUBLE UP AND RIGHT */
+ {"boxUl", 0x255C}, /* BOX DRAWINGS UP DOUBLE AND LEFT SINGLE */
+ {"boxUr", 0x2559}, /* BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE */
+ {"boxV", 0x2551}, /* BOX DRAWINGS DOUBLE VERTICAL */
+ {"boxVH", 0x256C}, /* BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL */
+ {"boxVL", 0x2563}, /* BOX DRAWINGS DOUBLE VERTICAL AND LEFT */
+ {"boxVR", 0x2560}, /* BOX DRAWINGS DOUBLE VERTICAL AND RIGHT */
+ {"boxVh", 0x256B}, /* BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SI*/
+ {"boxVl", 0x2562}, /* BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE */
+ {"boxVr", 0x255F}, /* BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE */
+ {"boxdL", 0x2555}, /* BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE */
+ {"boxdR", 0x2552}, /* BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE */
+ {"boxdl", 0x2510}, /* BOX DRAWINGS LIGHT DOWN AND LEFT */
+ {"boxdr", 0x250C}, /* BOX DRAWINGS LIGHT DOWN AND RIGHT */
+ {"boxh", 0x2500}, /* BOX DRAWINGS LIGHT HORIZONTAL */
+ {"boxhD", 0x2565}, /* BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE*/
+ {"boxhU", 0x2568}, /* BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE */
+ {"boxhd", 0x252C}, /* BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
+ {"boxhu", 0x2534}, /* BOX DRAWINGS LIGHT UP AND HORIZONTAL */
+ {"boxuL", 0x255B}, /* BOX DRAWINGS UP SINGLE AND LEFT DOUBLE */
+ {"boxuR", 0x2558}, /* BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE */
+ {"boxul", 0x2518}, /* BOX DRAWINGS LIGHT UP AND LEFT */
+ {"boxur", 0x2514}, /* BOX DRAWINGS LIGHT UP AND RIGHT */
+ {"boxv", 0x2502}, /* BOX DRAWINGS LIGHT VERTICAL */
+ {"boxvH", 0x256A}, /* BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DO*/
+ {"boxvL", 0x2561}, /* BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE */
+ {"boxvR", 0x255E}, /* BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE */
+ {"boxvh", 0x253C}, /* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
+ {"boxvl", 0x2524}, /* BOX DRAWINGS LIGHT VERTICAL AND LEFT */
+ {"boxvr", 0x251C}, /* BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
+ {"bprime", 0x2035}, /* REVERSED PRIME */
+ {"breve", 0x02D8}, /* BREVE */
+ {"brkbar", 0x00A6}, /* obsolete synonym for "brvbar" 0x00A6 */
+ {"brvbar", 0x00A6}, /* BROKEN BAR */
+ {"bsim", 0x223D}, /* REVERSED TILDE */
+ {"bsime", 0x22CD}, /* REVERSED TILDE EQUALS */
+ {"bsol", 0x005C}, /* REVERSE SOLIDUS */
+ {"bull", 0x2022}, /* BULLET */
+ {"bump", 0x224E}, /* GEOMETRICALLY EQUIVALENT TO */
+ {"bumpe", 0x224F}, /* DIFFERENCE BETWEEN */
+ {"cacute", 0x0107}, /* LATIN SMALL LETTER C WITH ACUTE */
+ {"cap", 0x2229}, /* INTERSECTION */
+ {"caret", 0x2041}, /* CARET INSERTION POINT */
+ {"caron", 0x02C7}, /* CARON */
+ {"ccaron", 0x010D}, /* LATIN SMALL LETTER C WITH CARON */
+ {"ccedil", 0x00E7}, /* LATIN SMALL LETTER C WITH CEDILLA */
+ {"ccirc", 0x0109}, /* LATIN SMALL LETTER C WITH CIRCUMFLEX */
+ {"cdot", 0x010B}, /* LATIN SMALL LETTER C WITH DOT ABOVE */
+ {"cedil", 0x00B8}, /* CEDILLA */
+ {"cent", 0x00A2}, /* CENT SIGN */
+ {"chcy", 0x0447}, /* CYRILLIC SMALL LETTER CHE */
+ {"check", 0x2713}, /* CHECK MARK */
+ {"chi", 0x03C7}, /* GREEK SMALL LETTER CHI */
+ {"cir", 0x25CB}, /* WHITE CIRCLE */
+ {"circ", 0x02C6}, /* MODIFIER LETTER CIRCUMFLEX ACCENT */
+ {"cire", 0x2257}, /* RING EQUAL TO */
+ {"clubs", 0x2663}, /* BLACK CLUB SUIT */
+ {"colon", 0x003A}, /* COLON */
+ {"colone", 0x2254}, /* COLON EQUALS */
+ {"comma", 0x002C}, /* COMMA */
+ {"commat", 0x0040}, /* COMMERCIAL AT */
+ {"comp", 0x2201}, /* COMPLEMENT */
+ {"compfn", 0x2218}, /* RING OPERATOR */
+ {"cong", 0x2245}, /* APPROXIMATELY EQUAL TO */
+ {"conint", 0x222E}, /* CONTOUR INTEGRAL */
+ {"coprod", 0x2210}, /* N-ARY COPRODUCT */
+ {"copy", 0x00A9}, /* COPYRIGHT SIGN */
+ {"copysr", 0x2117}, /* SOUND RECORDING COPYRIGHT */
+ {"crarr", 0x21B5}, /* DOWNWARDS ARROW WITH CORNER LEFTWARDS */
+ {"cross", 0x2717}, /* BALLOT X */
+ {"cuepr", 0x22DE}, /* EQUAL TO OR PRECEDES */
+ {"cuesc", 0x22DF}, /* EQUAL TO OR SUCCEEDS */
+ {"cularr", 0x21B6}, /* ANTICLOCKWISE TOP SEMICIRCLE ARROW */
+ {"cup", 0x222A}, /* UNION */
+ {"cupre", 0x227C}, /* PRECEDES OR EQUAL TO */
+ {"curarr", 0x21B7}, /* CLOCKWISE TOP SEMICIRCLE ARROW */
+ {"curren", 0x00A4}, /* CURRENCY SIGN */
+ {"cuvee", 0x22CE}, /* CURLY LOGICAL OR */
+ {"cuwed", 0x22CF}, /* CURLY LOGICAL AND */
+ {"dArr", 0x21D3}, /* DOWNWARDS DOUBLE ARROW */
+ {"dagger", 0x2020}, /* DAGGER */
+ {"daleth", 0x2138}, /* DALET SYMBOL */
+ {"darr", 0x2193}, /* DOWNWARDS ARROW */
+ {"darr2", 0x21CA}, /* DOWNWARDS PAIRED ARROWS */
+ {"dash", 0x2010}, /* HYPHEN */
+ {"dashv", 0x22A3}, /* LEFT TACK */
+ {"dblac", 0x02DD}, /* DOUBLE ACUTE ACCENT */
+ {"dcaron", 0x010F}, /* LATIN SMALL LETTER D WITH CARON */
+ {"dcy", 0x0434}, /* CYRILLIC SMALL LETTER DE */
+ {"deg", 0x00B0}, /* DEGREE SIGN */
+ {"delta", 0x03B4}, /* GREEK SMALL LETTER DELTA */
+ {"dgr", 0x03B4}, /* GREEK SMALL LETTER DELTA */
+ {"dharl", 0x21C3}, /* DOWNWARDS HARPOON WITH BARB LEFTWARDS */
+ {"dharr", 0x21C2}, /* DOWNWARDS HARPOON WITH BARB RIGHTWARDS */
+ {"diam", 0x22C4}, /* DIAMOND OPERATOR */
+ {"diams", 0x2666}, /* BLACK DIAMOND SUIT */
+ {"die", 0x00A8}, /* DIAERESIS */
+ {"divide", 0x00F7}, /* DIVISION SIGN */
+ {"divonx", 0x22C7}, /* DIVISION TIMES */
+ {"djcy", 0x0452}, /* CYRILLIC SMALL LETTER DJE */
+ {"dlarr", 0x2199}, /* SOUTH WEST ARROW */
+ {"dlcorn", 0x231E}, /* BOTTOM LEFT CORNER */
+ {"dlcrop", 0x230D}, /* BOTTOM LEFT CROP */
+ {"dollar", 0x0024}, /* DOLLAR SIGN */
+ {"dot", 0x02D9}, /* DOT ABOVE */
+ {"drarr", 0x2198}, /* SOUTH EAST ARROW */
+ {"drcorn", 0x231F}, /* BOTTOM RIGHT CORNER */
+ {"drcrop", 0x230C}, /* BOTTOM RIGHT CROP */
+ {"dscy", 0x0455}, /* CYRILLIC SMALL LETTER DZE */
+ {"dstrok", 0x0111}, /* LATIN SMALL LETTER D WITH STROKE */
+ {"dtri", 0x25BF}, /* WHITE DOWN-POINTING SMALL TRIANGLE */
+ {"dtrif", 0x25BE}, /* BLACK DOWN-POINTING SMALL TRIANGLE */
+ {"dzcy", 0x045F}, /* CYRILLIC SMALL LETTER DZHE */
+ {"eDot", 0x2251}, /* GEOMETRICALLY EQUAL TO */
+ {"eacgr", 0x03AD}, /* GREEK SMALL LETTER EPSILON WITH TONOS */
+ {"eacute", 0x00E9}, /* LATIN SMALL LETTER E WITH ACUTE */
+ {"ecaron", 0x011B}, /* LATIN SMALL LETTER E WITH CARON */
+ {"ecir", 0x2256}, /* RING IN EQUAL TO */
+ {"ecirc", 0x00EA}, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */
+ {"ecolon", 0x2255}, /* EQUALS COLON */
+ {"ecy", 0x044D}, /* CYRILLIC SMALL LETTER E */
+ {"edot", 0x0117}, /* LATIN SMALL LETTER E WITH DOT ABOVE */
+ {"eeacgr", 0x03AE}, /* GREEK SMALL LETTER ETA WITH TONOS */
+ {"eegr", 0x03B7}, /* GREEK SMALL LETTER ETA */
+ {"efDot", 0x2252}, /* APPROXIMATELY EQUAL TO OR THE IMAGE OF */
+ {"egr", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
+ {"egrave", 0x00E8}, /* LATIN SMALL LETTER E WITH GRAVE */
+ {"egs", 0x22DD}, /* EQUAL TO OR GREATER-THAN */
+ {"ell", 0x2113}, /* SCRIPT SMALL L */
+ {"els", 0x22DC}, /* EQUAL TO OR LESS-THAN */
+ {"emacr", 0x0113}, /* LATIN SMALL LETTER E WITH MACRON */
+ {"emdash", 0x2014}, /* obsolete synonym for "mdash" 0x2014 */
+ {"empty", 0x2205}, /* EMPTY SET */
+ {"emsp", 0x2003}, /* EM SPACE */
+ {"emsp13", 0x2004}, /* THREE-PER-EM SPACE */
+ {"emsp14", 0x2005}, /* FOUR-PER-EM SPACE */
+ {"endash", 0x2013}, /* obsolete synonym for "ndash" 0x2013 */
+ {"eng", 0x014B}, /* LATIN SMALL LETTER ENG */
+ {"ensp", 0x2002}, /* EN SPACE */
+ {"eogon", 0x0119}, /* LATIN SMALL LETTER E WITH OGONEK */
+ {"epsi", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
+ {"epsilon", 0x03B5}, /* GREEK SMALL LETTER EPSILON */
+ {"epsis", 0x220A}, /* SMALL ELEMENT OF */
+ {"equals", 0x003D}, /* EQUALS SIGN */
+ {"equiv", 0x2261}, /* IDENTICAL TO */
+ {"erDot", 0x2253}, /* IMAGE OF OR APPROXIMATELY EQUAL TO */
+ {"esdot", 0x2250}, /* APPROACHES THE LIMIT */
+ {"eta", 0x03B7}, /* GREEK SMALL LETTER ETA */
+ {"eth", 0x00F0}, /* LATIN SMALL LETTER ETH */
+ {"euml", 0x00EB}, /* LATIN SMALL LETTER E WITH DIAERESIS */
+ {"euro", 0x20AC}, /* EURO SYMBOL */
+ {"excl", 0x0021}, /* EXCLAMATION MARK */
+ {"exist", 0x2203}, /* THERE EXISTS */
+ {"fcy", 0x0444}, /* CYRILLIC SMALL LETTER EF */
+ {"female", 0x2640}, /* FEMALE SIGN */
+ {"ffilig", 0xFB03}, /* LATIN SMALL LIGATURE FFI */
+ {"fflig", 0xFB00}, /* LATIN SMALL LIGATURE FF */
+ {"ffllig", 0xFB04}, /* LATIN SMALL LIGATURE FFL */
+ {"filig", 0xFB01}, /* LATIN SMALL LIGATURE FI */
+ {"flat", 0x266D}, /* MUSIC FLAT SIGN */
+ {"fllig", 0xFB02}, /* LATIN SMALL LIGATURE FL */
+ {"fnof", 0x0192}, /* LATIN SMALL LETTER F WITH HOOK */
+ {"forall", 0x2200}, /* FOR ALL */
+ {"fork", 0x22D4}, /* PITCHFORK */
+ {"frac12", 0x00BD}, /* VULGAR FRACTION ONE HALF */
+ {"frac13", 0x2153}, /* VULGAR FRACTION ONE THIRD */
+ {"frac14", 0x00BC}, /* VULGAR FRACTION ONE QUARTER */
+ {"frac15", 0x2155}, /* VULGAR FRACTION ONE FIFTH */
+ {"frac16", 0x2159}, /* VULGAR FRACTION ONE SIXTH */
+ {"frac18", 0x215B}, /* VULGAR FRACTION ONE EIGHTH */
+ {"frac23", 0x2154}, /* VULGAR FRACTION TWO THIRDS */
+ {"frac25", 0x2156}, /* VULGAR FRACTION TWO FIFTHS */
+ {"frac34", 0x00BE}, /* VULGAR FRACTION THREE QUARTERS */
+ {"frac35", 0x2157}, /* VULGAR FRACTION THREE FIFTHS */
+ {"frac38", 0x215C}, /* VULGAR FRACTION THREE EIGHTHS */
+ {"frac45", 0x2158}, /* VULGAR FRACTION FOUR FIFTHS */
+ {"frac56", 0x215A}, /* VULGAR FRACTION FIVE SIXTHS */
+ {"frac58", 0x215D}, /* VULGAR FRACTION FIVE EIGHTHS */
+ {"frac78", 0x215E}, /* VULGAR FRACTION SEVEN EIGHTHS */
+ {"frasl", 0x2044}, /* FRACTION SLASH */
+ {"frown", 0x2322}, /* FROWN */
+ {"gE", 0x2267}, /* GREATER-THAN OVER EQUAL TO */
+ {"gacute", 0x01F5}, /* LATIN SMALL LETTER G WITH ACUTE */
+ {"gamma", 0x03B3}, /* GREEK SMALL LETTER GAMMA */
+ {"gammad", 0x03DC}, /* GREEK LETTER DIGAMMA */
+ {"gbreve", 0x011F}, /* LATIN SMALL LETTER G WITH BREVE */
+ {"gcedil", 0x0123}, /* LATIN SMALL LETTER G WITH CEDILLA */
+ {"gcirc", 0x011D}, /* LATIN SMALL LETTER G WITH CIRCUMFLEX */
+ {"gcy", 0x0433}, /* CYRILLIC SMALL LETTER GHE */
+ {"gdot", 0x0121}, /* LATIN SMALL LETTER G WITH DOT ABOVE */
+ {"ge", 0x2265}, /* GREATER-THAN OR EQUAL TO */
+ {"gel", 0x22DB}, /* GREATER-THAN EQUAL TO OR LESS-THAN */
+ {"ges", 0x2265}, /* GREATER-THAN OR EQUAL TO */
+ {"ggr", 0x03B3}, /* GREEK SMALL LETTER GAMMA */
+ {"gimel", 0x2137}, /* GIMEL SYMBOL */
+ {"gjcy", 0x0453}, /* CYRILLIC SMALL LETTER GJE */
+ {"gl", 0x2277}, /* GREATER-THAN OR LESS-THAN */
+ {"gnE", 0x2269}, /* GREATER-THAN BUT NOT EQUAL TO */
+ {"gne", 0x2269}, /* GREATER-THAN BUT NOT EQUAL TO */
+ {"gnsim", 0x22E7}, /* GREATER-THAN BUT NOT EQUIVALENT TO */
+ {"grave", 0x0060}, /* GRAVE ACCENT */
+ {"gsdot", 0x22D7}, /* GREATER-THAN WITH DOT */
+ {"gsim", 0x2273}, /* GREATER-THAN OR EQUIVALENT TO */
+ {"gt", 0x003E}, /* GREATER-THAN SIGN */
+ {"gvnE", 0x2269}, /* GREATER-THAN BUT NOT EQUAL TO */
+ {"hArr", 0x21D4}, /* LEFT RIGHT DOUBLE ARROW */
+ {"hairsp", 0x200A}, /* HAIR SPACE */
+ {"half", 0x00BD}, /* VULGAR FRACTION ONE HALF */
+ {"hamilt", 0x210B}, /* SCRIPT CAPITAL H */
+ {"hardcy", 0x044A}, /* CYRILLIC SMALL LETTER HARD SIGN */
+ {"harr", 0x2194}, /* LEFT RIGHT ARROW */
+ {"harrw", 0x21AD}, /* LEFT RIGHT WAVE ARROW */
+ {"hcirc", 0x0125}, /* LATIN SMALL LETTER H WITH CIRCUMFLEX */
+ {"hearts", 0x2665}, /* BLACK HEART SUIT */
+ {"hellip", 0x2026}, /* HORIZONTAL ELLIPSIS */
+ {"hibar", 0x00AF}, /* obsolete synonym for "macr" 0x00AF */
+ {"horbar", 0x2015}, /* HORIZONTAL BAR */
+ {"hstrok", 0x0127}, /* LATIN SMALL LETTER H WITH STROKE */
+ {"hybull", 0x2043}, /* HYPHEN BULLET */
+ {"hyphen", 0x002D}, /* HYPHEN-MINUS */
+ {"iacgr", 0x03AF}, /* GREEK SMALL LETTER IOTA WITH TONOS */
+ {"iacute", 0x00ED}, /* LATIN SMALL LETTER I WITH ACUTE */
+ {"icirc", 0x00EE}, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */
+ {"icy", 0x0438}, /* CYRILLIC SMALL LETTER I */
+ {"idiagr", 0x0390}, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TON*/
+ {"idigr", 0x03CA}, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA */
+ {"iecy", 0x0435}, /* CYRILLIC SMALL LETTER IE */
+ {"iexcl", 0x00A1}, /* INVERTED EXCLAMATION MARK */
+ {"iff", 0x21D4}, /* LEFT RIGHT DOUBLE ARROW */
+ {"igr", 0x03B9}, /* GREEK SMALL LETTER IOTA */
+ {"igrave", 0x00EC}, /* LATIN SMALL LETTER I WITH GRAVE */
+ {"ijlig", 0x0133}, /* LATIN SMALL LIGATURE IJ */
+ {"imacr", 0x012B}, /* LATIN SMALL LETTER I WITH MACRON */
+ {"image", 0x2111}, /* BLACK-LETTER CAPITAL I */
+ {"incare", 0x2105}, /* CARE OF */
+ {"infin", 0x221E}, /* INFINITY */
+ {"inodot", 0x0131}, /* LATIN SMALL LETTER DOTLESS I */
+ {"int", 0x222B}, /* INTEGRAL */
+ {"intcal", 0x22BA}, /* INTERCALATE */
+ {"iocy", 0x0451}, /* CYRILLIC SMALL LETTER IO */
+ {"iogon", 0x012F}, /* LATIN SMALL LETTER I WITH OGONEK */
+ {"iota", 0x03B9}, /* GREEK SMALL LETTER IOTA */
+ {"iquest", 0x00BF}, /* INVERTED QUESTION MARK */
+ {"isin", 0x2208}, /* ELEMENT OF */
+ {"itilde", 0x0129}, /* LATIN SMALL LETTER I WITH TILDE */
+ {"iukcy", 0x0456}, /* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I*/
+ {"iuml", 0x00EF}, /* LATIN SMALL LETTER I WITH DIAERESIS */
+ {"jcirc", 0x0135}, /* LATIN SMALL LETTER J WITH CIRCUMFLEX */
+ {"jcy", 0x0439}, /* CYRILLIC SMALL LETTER SHORT I */
+ {"jsercy", 0x0458}, /* CYRILLIC SMALL LETTER JE */
+ {"jukcy", 0x0454}, /* CYRILLIC SMALL LETTER UKRAINIAN IE */
+ {"kappa", 0x03BA}, /* GREEK SMALL LETTER KAPPA */
+ {"kappav", 0x03F0}, /* GREEK KAPPA SYMBOL */
+ {"kcedil", 0x0137}, /* LATIN SMALL LETTER K WITH CEDILLA */
+ {"kcy", 0x043A}, /* CYRILLIC SMALL LETTER KA */
+ {"kgr", 0x03BA}, /* GREEK SMALL LETTER KAPPA */
+ {"kgreen", 0x0138}, /* LATIN SMALL LETTER KRA */
+ {"khcy", 0x0445}, /* CYRILLIC SMALL LETTER HA */
+ {"khgr", 0x03C7}, /* GREEK SMALL LETTER CHI */
+ {"kjcy", 0x045C}, /* CYRILLIC SMALL LETTER KJE */
+ {"lAarr", 0x21DA}, /* LEFTWARDS TRIPLE ARROW */
+ {"lArr", 0x21D0}, /* LEFTWARDS DOUBLE ARROW */
+ {"lE", 0x2266}, /* LESS-THAN OVER EQUAL TO */
+ {"lacute", 0x013A}, /* LATIN SMALL LETTER L WITH ACUTE */
+ {"lagran", 0x2112}, /* SCRIPT CAPITAL L */
+ {"lambda", 0x03BB}, /* GREEK SMALL LETTER LAMDA */
+ {"lang", 0x2329}, /* LEFT-POINTING ANGLE BRACKET */
+ {"laquo", 0x00AB}, /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
+ {"larr", 0x2190}, /* LEFTWARDS ARROW */
+ {"larr2", 0x21C7}, /* LEFTWARDS PAIRED ARROWS */
+ {"larrhk", 0x21A9}, /* LEFTWARDS ARROW WITH HOOK */
+ {"larrlp", 0x21AB}, /* LEFTWARDS ARROW WITH LOOP */
+ {"larrtl", 0x21A2}, /* LEFTWARDS ARROW WITH TAIL */
+ {"lcaron", 0x013E}, /* LATIN SMALL LETTER L WITH CARON */
+ {"lcedil", 0x013C}, /* LATIN SMALL LETTER L WITH CEDILLA */
+ {"lceil", 0x2308}, /* LEFT CEILING */
+ {"lcub", 0x007B}, /* LEFT CURLY BRACKET */
+ {"lcy", 0x043B}, /* CYRILLIC SMALL LETTER EL */
+ {"ldot", 0x22D6}, /* LESS-THAN WITH DOT */
+ {"ldquo", 0x201C}, /* LEFT DOUBLE QUOTATION MARK */
+ {"ldquor", 0x201E}, /* DOUBLE LOW-9 QUOTATION MARK */
+ {"le", 0x2264}, /* LESS-THAN OR EQUAL TO */
+ {"leg", 0x22DA}, /* LESS-THAN EQUAL TO OR GREATER-THAN */
+ {"les", 0x2264}, /* LESS-THAN OR EQUAL TO */
+ {"lfloor", 0x230A}, /* LEFT FLOOR */
+ {"lg", 0x2276}, /* LESS-THAN OR GREATER-THAN */
+ {"lgr", 0x03BB}, /* GREEK SMALL LETTER LAMDA */
+ {"lhard", 0x21BD}, /* LEFTWARDS HARPOON WITH BARB DOWNWARDS */
+ {"lharu", 0x21BC}, /* LEFTWARDS HARPOON WITH BARB UPWARDS */
+ {"lhblk", 0x2584}, /* LOWER HALF BLOCK */
+ {"ljcy", 0x0459}, /* CYRILLIC SMALL LETTER LJE */
+ {"lmidot", 0x0140}, /* LATIN SMALL LETTER L WITH MIDDLE DOT */
+ {"lnE", 0x2268}, /* LESS-THAN BUT NOT EQUAL TO */
+ {"lne", 0x2268}, /* LESS-THAN BUT NOT EQUAL TO */
+ {"lnsim", 0x22E6}, /* LESS-THAN BUT NOT EQUIVALENT TO */
+ {"lowast", 0x2217}, /* ASTERISK OPERATOR */
+ {"lowbar", 0x005F}, /* LOW LINE */
+ {"loz", 0x25CA}, /* LOZENGE */
+ {"loz", 0x2727}, /* WHITE FOUR POINTED STAR */
+ {"lozf", 0x2726}, /* BLACK FOUR POINTED STAR */
+ {"lpar", 0x0028}, /* LEFT PARENTHESIS */
+ {"lrarr2", 0x21C6}, /* LEFTWARDS ARROW OVER RIGHTWARDS ARROW */
+ {"lrhar2", 0x21CB}, /* LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON */
+ {"lrm", 0x200E}, /* LEFT-TO-RIGHT MARK */
+ {"lsaquo", 0x2039}, /* SINGLE LEFT-POINTING ANGLE QUOTATION MARK */
+ {"lsh", 0x21B0}, /* UPWARDS ARROW WITH TIP LEFTWARDS */
+ {"lsim", 0x2272}, /* LESS-THAN OR EQUIVALENT TO */
+ {"lsqb", 0x005B}, /* LEFT SQUARE BRACKET */
+ {"lsquo", 0x2018}, /* LEFT SINGLE QUOTATION MARK */
+ {"lsquor", 0x201A}, /* SINGLE LOW-9 QUOTATION MARK */
+ {"lstrok", 0x0142}, /* LATIN SMALL LETTER L WITH STROKE */
+ {"lt", 0x003C}, /* LESS-THAN SIGN */
+ {"lthree", 0x22CB}, /* LEFT SEMIDIRECT PRODUCT */
+ {"ltimes", 0x22C9}, /* LEFT NORMAL FACTOR SEMIDIRECT PRODUCT */
+ {"ltri", 0x25C3}, /* WHITE LEFT-POINTING SMALL TRIANGLE */
+ {"ltrie", 0x22B4}, /* NORMAL SUBGROUP OF OR EQUAL TO */
+ {"ltrif", 0x25C2}, /* BLACK LEFT-POINTING SMALL TRIANGLE */
+ {"lvnE", 0x2268}, /* LESS-THAN BUT NOT EQUAL TO */
+ {"macr", 0x00AF}, /* MACRON */
+ {"male", 0x2642}, /* MALE SIGN */
+ {"malt", 0x2720}, /* MALTESE CROSS */
+ {"map", 0x21A6}, /* RIGHTWARDS ARROW FROM BAR */
+ {"marker", 0x25AE}, /* BLACK VERTICAL RECTANGLE */
+ {"mcy", 0x043C}, /* CYRILLIC SMALL LETTER EM */
+ {"mdash", 0x2014}, /* EM DASH */
+ {"mgr", 0x03BC}, /* GREEK SMALL LETTER MU */
+ {"micro", 0x00B5}, /* MICRO SIGN */
+ {"mid", 0x2223}, /* DIVIDES */
+ {"middot", 0x00B7}, /* MIDDLE DOT */
+ {"minus", 0x2212}, /* MINUS SIGN */
+ {"minusb", 0x229F}, /* SQUARED MINUS */
+ {"mldr", 0x2026}, /* HORIZONTAL ELLIPSIS */
+ {"mnplus", 0x2213}, /* MINUS-OR-PLUS SIGN */
+ {"models", 0x22A7}, /* MODELS */
+ {"mu", 0x03BC}, /* GREEK SMALL LETTER MU */
+ {"mumap", 0x22B8}, /* MULTIMAP */
+ {"nVDash", 0x22AF}, /* NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNS*/
+ {"nVdash", 0x22AE}, /* DOES NOT FORCE */
+ {"nabla", 0x2207}, /* NABLA */
+ {"nacute", 0x0144}, /* LATIN SMALL LETTER N WITH ACUTE */
+ {"nap", 0x2249}, /* NOT ALMOST EQUAL TO */
+ {"napos", 0x0149}, /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */
+ {"natur", 0x266E}, /* MUSIC NATURAL SIGN */
+ {"nbsp", 0x00A0}, /* NO-BREAK SPACE */
+ {"ncaron", 0x0148}, /* LATIN SMALL LETTER N WITH CARON */
+ {"ncedil", 0x0146}, /* LATIN SMALL LETTER N WITH CEDILLA */
+ {"ncong", 0x2247}, /* NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO */
+ {"ncy", 0x043D}, /* CYRILLIC SMALL LETTER EN */
+ {"ndash", 0x2013}, /* EN DASH */
+ {"ne", 0x2260}, /* NOT EQUAL TO */
+ {"nearr", 0x2197}, /* NORTH EAST ARROW */
+ {"nequiv", 0x2262}, /* NOT IDENTICAL TO */
+ {"nexist", 0x2204}, /* THERE DOES NOT EXIST */
+ {"nge", 0x2271}, /* NEITHER GREATER-THAN NOR EQUAL TO */
+ {"nges", 0x2271}, /* NEITHER GREATER-THAN NOR EQUAL TO */
+ {"ngr", 0x03BD}, /* GREEK SMALL LETTER NU */
+ {"ngt", 0x226F}, /* NOT GREATER-THAN */
+ {"nhArr", 0x21CE}, /* LEFT RIGHT DOUBLE ARROW WITH STROKE */
+ {"nharr", 0x21AE}, /* LEFT RIGHT ARROW WITH STROKE */
+ {"ni", 0x220B}, /* CONTAINS AS MEMBER */
+ {"njcy", 0x045A}, /* CYRILLIC SMALL LETTER NJE */
+ {"nlArr", 0x21CD}, /* LEFTWARDS DOUBLE ARROW WITH STROKE */
+ {"nlarr", 0x219A}, /* LEFTWARDS ARROW WITH STROKE */
+ {"nldr", 0x2025}, /* TWO DOT LEADER */
+ {"nle", 0x2270}, /* NEITHER LESS-THAN NOR EQUAL TO */
+ {"nles", 0x2270}, /* NEITHER LESS-THAN NOR EQUAL TO */
+ {"nlt", 0x226E}, /* NOT LESS-THAN */
+ {"nltri", 0x22EA}, /* NOT NORMAL SUBGROUP OF */
+ {"nltrie", 0x22EC}, /* NOT NORMAL SUBGROUP OF OR EQUAL TO */
+ {"nmid", 0x2224}, /* DOES NOT DIVIDE */
+ {"not", 0x00AC}, /* NOT SIGN */
+ {"notin", 0x2209}, /* NOT AN ELEMENT OF */
+ {"npar", 0x2226}, /* NOT PARALLEL TO */
+ {"npr", 0x2280}, /* DOES NOT PRECEDE */
+ {"npre", 0x22E0}, /* DOES NOT PRECEDE OR EQUAL */
+ {"nrArr", 0x21CF}, /* RIGHTWARDS DOUBLE ARROW WITH STROKE */
+ {"nrarr", 0x219B}, /* RIGHTWARDS ARROW WITH STROKE */
+ {"nrtri", 0x22EB}, /* DOES NOT CONTAIN AS NORMAL SUBGROUP */
+ {"nrtrie", 0x22ED}, /* DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL */
+ {"nsc", 0x2281}, /* DOES NOT SUCCEED */
+ {"nsce", 0x22E1}, /* DOES NOT SUCCEED OR EQUAL */
+ {"nsim", 0x2241}, /* NOT TILDE */
+ {"nsime", 0x2244}, /* NOT ASYMPTOTICALLY EQUAL TO */
+ {"nspar", 0x2226}, /* NOT PARALLEL TO */
+ {"nsub", 0x2284}, /* NOT A SUBSET OF */
+ {"nsubE", 0x2288}, /* NEITHER A SUBSET OF NOR EQUAL TO */
+ {"nsube", 0x2288}, /* NEITHER A SUBSET OF NOR EQUAL TO */
+ {"nsup", 0x2285}, /* NOT A SUPERSET OF */
+ {"nsupE", 0x2289}, /* NEITHER A SUPERSET OF NOR EQUAL TO */
+ {"nsupe", 0x2289}, /* NEITHER A SUPERSET OF NOR EQUAL TO */
+ {"ntilde", 0x00F1}, /* LATIN SMALL LETTER N WITH TILDE */
+ {"nu", 0x03BD}, /* GREEK SMALL LETTER NU */
+ {"num", 0x0023}, /* NUMBER SIGN */
+ {"numero", 0x2116}, /* NUMERO SIGN */
+ {"numsp", 0x2007}, /* FIGURE SPACE */
+ {"nvDash", 0x22AD}, /* NOT TRUE */
+ {"nvdash", 0x22AC}, /* DOES NOT PROVE */
+ {"nwarr", 0x2196}, /* NORTH WEST ARROW */
+ {"oS", 0x24C8}, /* CIRCLED LATIN CAPITAL LETTER S */
+ {"oacgr", 0x03CC}, /* GREEK SMALL LETTER OMICRON WITH TONOS */
+ {"oacute", 0x00F3}, /* LATIN SMALL LETTER O WITH ACUTE */
+ {"oast", 0x229B}, /* CIRCLED ASTERISK OPERATOR */
+ {"ocir", 0x229A}, /* CIRCLED RING OPERATOR */
+ {"ocirc", 0x00F4}, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */
+ {"ocy", 0x043E}, /* CYRILLIC SMALL LETTER O */
+ {"odash", 0x229D}, /* CIRCLED DASH */
+ {"odblac", 0x0151}, /* LATIN SMALL LETTER O WITH DOUBLE ACUTE */
+ {"odot", 0x2299}, /* CIRCLED DOT OPERATOR */
+ {"oelig", 0x0153}, /* LATIN SMALL LIGATURE OE */
+ {"ogon", 0x02DB}, /* OGONEK */
+ {"ogr", 0x03BF}, /* GREEK SMALL LETTER OMICRON */
+ {"ograve", 0x00F2}, /* LATIN SMALL LETTER O WITH GRAVE */
+ {"ohacgr", 0x03CE}, /* GREEK SMALL LETTER OMEGA WITH TONOS */
+ {"ohgr", 0x03C9}, /* GREEK SMALL LETTER OMEGA */
+ {"ohm", 0x2126}, /* OHM SIGN */
+ {"olarr", 0x21BA}, /* ANTICLOCKWISE OPEN CIRCLE ARROW */
+ {"oline", 0x203E}, /* OVERLINE */
+ {"omacr", 0x014D}, /* LATIN SMALL LETTER O WITH MACRON */
+ {"omega", 0x03C9}, /* GREEK SMALL LETTER OMEGA */
+ {"omicron", 0x03BF}, /* GREEK SMALL LETTER OMICRON */
+ {"ominus", 0x2296}, /* CIRCLED MINUS */
+ {"oplus", 0x2295}, /* CIRCLED PLUS */
+ {"or", 0x2228}, /* LOGICAL OR */
+ {"orarr", 0x21BB}, /* CLOCKWISE OPEN CIRCLE ARROW */
+ {"order", 0x2134}, /* SCRIPT SMALL O */
+ {"ordf", 0x00AA}, /* FEMININE ORDINAL INDICATOR */
+ {"ordm", 0x00BA}, /* MASCULINE ORDINAL INDICATOR */
+ {"oslash", 0x00F8}, /* LATIN SMALL LETTER O WITH STROKE */
+ {"osol", 0x2298}, /* CIRCLED DIVISION SLASH */
+ {"otilde", 0x00F5}, /* LATIN SMALL LETTER O WITH TILDE */
+ {"otimes", 0x2297}, /* CIRCLED TIMES */
+ {"ouml", 0x00F6}, /* LATIN SMALL LETTER O WITH DIAERESIS */
+ {"par", 0x2225}, /* PARALLEL TO */
+ {"para", 0x00B6}, /* PILCROW SIGN */
+ {"part", 0x2202}, /* PARTIAL DIFFERENTIAL */
+ {"pcy", 0x043F}, /* CYRILLIC SMALL LETTER PE */
+ {"percnt", 0x0025}, /* PERCENT SIGN */
+ {"period", 0x002E}, /* FULL STOP */
+ {"permil", 0x2030}, /* PER MILLE SIGN */
+ {"perp", 0x22A5}, /* UP TACK */
+ {"pgr", 0x03C0}, /* GREEK SMALL LETTER PI */
+ {"phgr", 0x03C6}, /* GREEK SMALL LETTER PHI */
+ {"phi", 0x03C6}, /* GREEK SMALL LETTER PHI */
+ {"phis", 0x03C6}, /* GREEK SMALL LETTER PHI */
+ {"phiv", 0x03D5}, /* GREEK PHI SYMBOL */
+ {"phmmat", 0x2133}, /* SCRIPT CAPITAL M */
+ {"phone", 0x260E}, /* BLACK TELEPHONE */
+ {"pi", 0x03C0}, /* GREEK SMALL LETTER PI */
+ {"piv", 0x03D6}, /* GREEK PI SYMBOL */
+ {"planck", 0x210F}, /* PLANCK CONSTANT OVER TWO PI */
+ {"plus", 0x002B}, /* PLUS SIGN */
+ {"plusb", 0x229E}, /* SQUARED PLUS */
+ {"plusdo", 0x2214}, /* DOT PLUS */
+ {"plusmn", 0x00B1}, /* PLUS-MINUS SIGN */
+ {"pound", 0x00A3}, /* POUND SIGN */
+ {"pr", 0x227A}, /* PRECEDES */
+ {"pre", 0x227C}, /* PRECEDES OR EQUAL TO */
+ {"prime", 0x2032}, /* PRIME */
+ {"prnsim", 0x22E8}, /* PRECEDES BUT NOT EQUIVALENT TO */
+ {"prod", 0x220F}, /* N-ARY PRODUCT */
+ {"prop", 0x221D}, /* PROPORTIONAL TO */
+ {"prsim", 0x227E}, /* PRECEDES OR EQUIVALENT TO */
+ {"psgr", 0x03C8}, /* GREEK SMALL LETTER PSI */
+ {"psi", 0x03C8}, /* GREEK SMALL LETTER PSI */
+ {"puncsp", 0x2008}, /* PUNCTUATION SPACE */
+ {"quest", 0x003F}, /* QUESTION MARK */
+ {"quot", 0x0022}, /* QUOTATION MARK */
+ {"quote", 0x0022}, /* QUOTATION MARK */
+ {"rAarr", 0x21DB}, /* RIGHTWARDS TRIPLE ARROW */
+ {"rArr", 0x21D2}, /* RIGHTWARDS DOUBLE ARROW */
+ {"racute", 0x0155}, /* LATIN SMALL LETTER R WITH ACUTE */
+ {"radic", 0x221A}, /* SQUARE ROOT */
+ {"rang", 0x232A}, /* RIGHT-POINTING ANGLE BRACKET */
+ {"raquo", 0x00BB}, /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
+ {"rarr", 0x2192}, /* RIGHTWARDS ARROW */
+ {"rarr2", 0x21C9}, /* RIGHTWARDS PAIRED ARROWS */
+ {"rarrhk", 0x21AA}, /* RIGHTWARDS ARROW WITH HOOK */
+ {"rarrlp", 0x21AC}, /* RIGHTWARDS ARROW WITH LOOP */
+ {"rarrtl", 0x21A3}, /* RIGHTWARDS ARROW WITH TAIL */
+ {"rarrw", 0x219D}, /* RIGHTWARDS WAVE ARROW */
+ {"rcaron", 0x0159}, /* LATIN SMALL LETTER R WITH CARON */
+ {"rcedil", 0x0157}, /* LATIN SMALL LETTER R WITH CEDILLA */
+ {"rceil", 0x2309}, /* RIGHT CEILING */
+ {"rcub", 0x007D}, /* RIGHT CURLY BRACKET */
+ {"rcy", 0x0440}, /* CYRILLIC SMALL LETTER ER */
+ {"rdquo", 0x201D}, /* RIGHT DOUBLE QUOTATION MARK */
+ {"rdquor", 0x201C}, /* LEFT DOUBLE QUOTATION MARK */
+ {"real", 0x211C}, /* BLACK-LETTER CAPITAL R */
+ {"rect", 0x25AD}, /* WHITE RECTANGLE */
+ {"reg", 0x00AE}, /* REGISTERED SIGN */
+ {"rfloor", 0x230B}, /* RIGHT FLOOR */
+ {"rgr", 0x03C1}, /* GREEK SMALL LETTER RHO */
+ {"rhard", 0x21C1}, /* RIGHTWARDS HARPOON WITH BARB DOWNWARDS */
+ {"rharu", 0x21C0}, /* RIGHTWARDS HARPOON WITH BARB UPWARDS */
+ {"rho", 0x03C1}, /* GREEK SMALL LETTER RHO */
+ {"rhov", 0x03F1}, /* GREEK RHO SYMBOL */
+ {"ring", 0x02DA}, /* RING ABOVE */
+ {"rlarr2", 0x21C4}, /* RIGHTWARDS ARROW OVER LEFTWARDS ARROW */
+ {"rlhar2", 0x21CC}, /* RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON */
+ {"rlm", 0x200F}, /* RIGHT-TO-LEFT MARK */
+ {"rpar", 0x0029}, /* RIGHT PARENTHESIS */
+ {"rsaquo", 0x203A}, /* SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */
+ {"rsh", 0x21B1}, /* UPWARDS ARROW WITH TIP RIGHTWARDS */
+ {"rsqb", 0x005D}, /* RIGHT SQUARE BRACKET */
+ {"rsquo", 0x2019}, /* RIGHT SINGLE QUOTATION MARK */
+ {"rsquor", 0x2018}, /* LEFT SINGLE QUOTATION MARK */
+ {"rthree", 0x22CC}, /* RIGHT SEMIDIRECT PRODUCT */
+ {"rtimes", 0x22CA}, /* RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT */
+ {"rtri", 0x25B9}, /* WHITE RIGHT-POINTING SMALL TRIANGLE */
+ {"rtrie", 0x22B5}, /* CONTAINS AS NORMAL SUBGROUP OR EQUAL TO */
+ {"rtrif", 0x25B8}, /* BLACK RIGHT-POINTING SMALL TRIANGLE */
+ {"rx", 0x211E}, /* PRESCRIPTION TAKE */
+ {"sacute", 0x015B}, /* LATIN SMALL LETTER S WITH ACUTE */
+ {"samalg", 0x2210}, /* N-ARY COPRODUCT */
+ {"sbquo", 0x201A}, /* SINGLE LOW-9 QUOTATION MARK */
+ {"sbsol", 0x005C}, /* REVERSE SOLIDUS */
+ {"sc", 0x227B}, /* SUCCEEDS */
+ {"scaron", 0x0161}, /* LATIN SMALL LETTER S WITH CARON */
+ {"sccue", 0x227D}, /* SUCCEEDS OR EQUAL TO */
+ {"sce", 0x227D}, /* SUCCEEDS OR EQUAL TO */
+ {"scedil", 0x015F}, /* LATIN SMALL LETTER S WITH CEDILLA */
+ {"scirc", 0x015D}, /* LATIN SMALL LETTER S WITH CIRCUMFLEX */
+ {"scnsim", 0x22E9}, /* SUCCEEDS BUT NOT EQUIVALENT TO */
+ {"scsim", 0x227F}, /* SUCCEEDS OR EQUIVALENT TO */
+ {"scy", 0x0441}, /* CYRILLIC SMALL LETTER ES */
+ {"sdot", 0x22C5}, /* DOT OPERATOR */
+ {"sdotb", 0x22A1}, /* SQUARED DOT OPERATOR */
+ {"sect", 0x00A7}, /* SECTION SIGN */
+ {"semi", 0x003B}, /* SEMICOLON */
+ {"setmn", 0x2216}, /* SET MINUS */
+ {"sext", 0x2736}, /* SIX POINTED BLACK STAR */
+ {"sfgr", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */
+ {"sfrown", 0x2322}, /* FROWN */
+ {"sgr", 0x03C3}, /* GREEK SMALL LETTER SIGMA */
+ {"sharp", 0x266F}, /* MUSIC SHARP SIGN */
+ {"shchcy", 0x0449}, /* CYRILLIC SMALL LETTER SHCHA */
+ {"shcy", 0x0448}, /* CYRILLIC SMALL LETTER SHA */
+ {"shy", 0x00AD}, /* SOFT HYPHEN */
+ {"sigma", 0x03C3}, /* GREEK SMALL LETTER SIGMA */
+ {"sigmaf", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */
+ {"sigmav", 0x03C2}, /* GREEK SMALL LETTER FINAL SIGMA */
+ {"sim", 0x223C}, /* TILDE OPERATOR */
+ {"sime", 0x2243}, /* ASYMPTOTICALLY EQUAL TO */
+ {"smile", 0x2323}, /* SMILE */
+ {"softcy", 0x044C}, /* CYRILLIC SMALL LETTER SOFT SIGN */
+ {"sol", 0x002F}, /* SOLIDUS */
+ {"spades", 0x2660}, /* BLACK SPADE SUIT */
+ {"spar", 0x2225}, /* PARALLEL TO */
+ {"sqcap", 0x2293}, /* SQUARE CAP */
+ {"sqcup", 0x2294}, /* SQUARE CUP */
+ {"sqsub", 0x228F}, /* SQUARE IMAGE OF */
+ {"sqsube", 0x2291}, /* SQUARE IMAGE OF OR EQUAL TO */
+ {"sqsup", 0x2290}, /* SQUARE ORIGINAL OF */
+ {"sqsupe", 0x2292}, /* SQUARE ORIGINAL OF OR EQUAL TO */
+ {"squ", 0x25A1}, /* WHITE SQUARE */
+ {"square", 0x25A1}, /* WHITE SQUARE */
+ {"squf", 0x25AA}, /* BLACK SMALL SQUARE */
+ {"ssetmn", 0x2216}, /* SET MINUS */
+ {"ssmile", 0x2323}, /* SMILE */
+ {"sstarf", 0x22C6}, /* STAR OPERATOR */
+ {"star", 0x2606}, /* WHITE STAR */
+ {"starf", 0x2605}, /* BLACK STAR */
+ {"sub", 0x2282}, /* SUBSET OF */
+ {"subE", 0x2286}, /* SUBSET OF OR EQUAL TO */
+ {"sube", 0x2286}, /* SUBSET OF OR EQUAL TO */
+ {"subnE", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */
+ {"subne", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */
+ {"sum", 0x2211}, /* N-ARY SUMMATION */
+ {"sung", 0x266A}, /* EIGHTH NOTE */
+ {"sup", 0x2283}, /* SUPERSET OF */
+ {"sup1", 0x00B9}, /* SUPERSCRIPT ONE */
+ {"sup2", 0x00B2}, /* SUPERSCRIPT TWO */
+ {"sup3", 0x00B3}, /* SUPERSCRIPT THREE */
+ {"supE", 0x2287}, /* SUPERSET OF OR EQUAL TO */
+ {"supe", 0x2287}, /* SUPERSET OF OR EQUAL TO */
+ {"supnE", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */
+ {"supne", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */
+ {"szlig", 0x00DF}, /* LATIN SMALL LETTER SHARP S */
+ {"target", 0x2316}, /* POSITION INDICATOR */
+ {"tau", 0x03C4}, /* GREEK SMALL LETTER TAU */
+ {"tcaron", 0x0165}, /* LATIN SMALL LETTER T WITH CARON */
+ {"tcedil", 0x0163}, /* LATIN SMALL LETTER T WITH CEDILLA */
+ {"tcy", 0x0442}, /* CYRILLIC SMALL LETTER TE */
+ {"tdot", 0x20DB}, /* COMBINING THREE DOTS ABOVE */
+ {"telrec", 0x2315}, /* TELEPHONE RECORDER */
+ {"tgr", 0x03C4}, /* GREEK SMALL LETTER TAU */
+ {"there4", 0x2234}, /* THEREFORE */
+ {"theta", 0x03B8}, /* GREEK SMALL LETTER THETA */
+ {"thetas", 0x03B8}, /* GREEK SMALL LETTER THETA */
+ {"thetasym", 0x03D1}, /* GREEK THETA SYMBOL */
+ {"thetav", 0x03D1}, /* GREEK THETA SYMBOL */
+ {"thgr", 0x03B8}, /* GREEK SMALL LETTER THETA */
+ {"thinsp", 0x2009}, /* THIN SPACE */
+ {"thkap", 0x2248}, /* ALMOST EQUAL TO */
+ {"thksim", 0x223C}, /* TILDE OPERATOR */
+ {"thorn", 0x00FE}, /* LATIN SMALL LETTER THORN */
+ {"tilde", 0x02DC}, /* SMALL TILDE */
+ {"times", 0x00D7}, /* MULTIPLICATION SIGN */
+ {"timesb", 0x22A0}, /* SQUARED TIMES */
+ {"top", 0x22A4}, /* DOWN TACK */
+ {"tprime", 0x2034}, /* TRIPLE PRIME */
+ {"trade", 0x2122}, /* TRADE MARK SIGN */
+ {"trie", 0x225C}, /* DELTA EQUAL TO */
+ {"tscy", 0x0446}, /* CYRILLIC SMALL LETTER TSE */
+ {"tshcy", 0x045B}, /* CYRILLIC SMALL LETTER TSHE */
+ {"tstrok", 0x0167}, /* LATIN SMALL LETTER T WITH STROKE */
+ {"twixt", 0x226C}, /* BETWEEN */
+ {"uArr", 0x21D1}, /* UPWARDS DOUBLE ARROW */
+ {"uacgr", 0x03CD}, /* GREEK SMALL LETTER UPSILON WITH TONOS */
+ {"uacute", 0x00FA}, /* LATIN SMALL LETTER U WITH ACUTE */
+ {"uarr", 0x2191}, /* UPWARDS ARROW */
+ {"uarr2", 0x21C8}, /* UPWARDS PAIRED ARROWS */
+ {"ubrcy", 0x045E}, /* CYRILLIC SMALL LETTER SHORT U */
+ {"ubreve", 0x016D}, /* LATIN SMALL LETTER U WITH BREVE */
+ {"ucirc", 0x00FB}, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */
+ {"ucy", 0x0443}, /* CYRILLIC SMALL LETTER U */
+ {"udblac", 0x0171}, /* LATIN SMALL LETTER U WITH DOUBLE ACUTE */
+ {"udiagr", 0x03B0}, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND */
+ {"udigr", 0x03CB}, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */
+ {"ugr", 0x03C5}, /* GREEK SMALL LETTER UPSILON */
+ {"ugrave", 0x00F9}, /* LATIN SMALL LETTER U WITH GRAVE */
+ {"uharl", 0x21BF}, /* UPWARDS HARPOON WITH BARB LEFTWARDS */
+ {"uharr", 0x21BE}, /* UPWARDS HARPOON WITH BARB RIGHTWARDS */
+ {"uhblk", 0x2580}, /* UPPER HALF BLOCK */
+ {"ulcorn", 0x231C}, /* TOP LEFT CORNER */
+ {"ulcrop", 0x230F}, /* TOP LEFT CROP */
+ {"umacr", 0x016B}, /* LATIN SMALL LETTER U WITH MACRON */
+ {"uml", 0x00A8}, /* DIAERESIS */
+ {"uogon", 0x0173}, /* LATIN SMALL LETTER U WITH OGONEK */
+ {"uplus", 0x228E}, /* MULTISET UNION */
+ {"upsi", 0x03C5}, /* GREEK SMALL LETTER UPSILON */
+ {"upsih", 0x03D2}, /* GREEK UPSILON WITH HOOK SYMBOL */
+ {"upsilon", 0x03C5}, /* GREEK SMALL LETTER UPSILON */
+ {"urcorn", 0x231D}, /* TOP RIGHT CORNER */
+ {"urcrop", 0x230E}, /* TOP RIGHT CROP */
+ {"uring", 0x016F}, /* LATIN SMALL LETTER U WITH RING ABOVE */
+ {"utilde", 0x0169}, /* LATIN SMALL LETTER U WITH TILDE */
+ {"utri", 0x25B5}, /* WHITE UP-POINTING SMALL TRIANGLE */
+ {"utrif", 0x25B4}, /* BLACK UP-POINTING SMALL TRIANGLE */
+ {"uuml", 0x00FC}, /* LATIN SMALL LETTER U WITH DIAERESIS */
+ {"vArr", 0x21D5}, /* UP DOWN DOUBLE ARROW */
+ {"vDash", 0x22A8}, /* TRUE */
+ {"varr", 0x2195}, /* UP DOWN ARROW */
+ {"vcy", 0x0432}, /* CYRILLIC SMALL LETTER VE */
+ {"vdash", 0x22A2}, /* RIGHT TACK */
+ {"veebar", 0x22BB}, /* XOR */
+ {"vellip", 0x22EE}, /* VERTICAL ELLIPSIS */
+ {"verbar", 0x007C}, /* VERTICAL LINE */
+ {"vltri", 0x22B2}, /* NORMAL SUBGROUP OF */
+ {"vprime", 0x2032}, /* PRIME */
+ {"vprop", 0x221D}, /* PROPORTIONAL TO */
+ {"vrtri", 0x22B3}, /* CONTAINS AS NORMAL SUBGROUP */
+ {"vsubnE", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */
+ {"vsubne", 0x228A}, /* SUBSET OF WITH NOT EQUAL TO */
+ {"vsupnE", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */
+ {"vsupne", 0x228B}, /* SUPERSET OF WITH NOT EQUAL TO */
+ {"wcirc", 0x0175}, /* LATIN SMALL LETTER W WITH CIRCUMFLEX */
+ {"wedgeq", 0x2259}, /* ESTIMATES */
+ {"weierp", 0x2118}, /* SCRIPT CAPITAL P */
+ {"wreath", 0x2240}, /* WREATH PRODUCT */
+ {"xcirc", 0x25CB}, /* WHITE CIRCLE */
+ {"xdtri", 0x25BD}, /* WHITE DOWN-POINTING TRIANGLE */
+ {"xgr", 0x03BE}, /* GREEK SMALL LETTER XI */
+ {"xhArr", 0x2194}, /* LEFT RIGHT ARROW */
+ {"xharr", 0x2194}, /* LEFT RIGHT ARROW */
+ {"xi", 0x03BE}, /* GREEK SMALL LETTER XI */
+ {"xlArr", 0x21D0}, /* LEFTWARDS DOUBLE ARROW */
+ {"xrArr", 0x21D2}, /* RIGHTWARDS DOUBLE ARROW */
+ {"xutri", 0x25B3}, /* WHITE UP-POINTING TRIANGLE */
+ {"yacute", 0x00FD}, /* LATIN SMALL LETTER Y WITH ACUTE */
+ {"yacy", 0x044F}, /* CYRILLIC SMALL LETTER YA */
+ {"ycirc", 0x0177}, /* LATIN SMALL LETTER Y WITH CIRCUMFLEX */
+ {"ycy", 0x044B}, /* CYRILLIC SMALL LETTER YERU */
+ {"yen", 0x00A5}, /* YEN SIGN */
+ {"yicy", 0x0457}, /* CYRILLIC SMALL LETTER YI */
+ {"yucy", 0x044E}, /* CYRILLIC SMALL LETTER YU */
+ {"yuml", 0x00FF}, /* LATIN SMALL LETTER Y WITH DIAERESIS */
+ {"zacute", 0x017A}, /* LATIN SMALL LETTER Z WITH ACUTE */
+ {"zcaron", 0x017E}, /* LATIN SMALL LETTER Z WITH CARON */
+ {"zcy", 0x0437}, /* CYRILLIC SMALL LETTER ZE */
+ {"zdot", 0x017C}, /* LATIN SMALL LETTER Z WITH DOT ABOVE */
+ {"zeta", 0x03B6}, /* GREEK SMALL LETTER ZETA */
+ {"zgr", 0x03B6}, /* GREEK SMALL LETTER ZETA */
+ {"zhcy", 0x0436}, /* CYRILLIC SMALL LETTER ZHE */
+ {"zwj", 0x200D}, /* ZERO WIDTH JOINER */
+ {"zwnj", 0x200C}, /* ZERO WIDTH NON-JOINER */
+ {NULL, 0}
+};
+
+#define N_ENTITIES 999
diff --git a/error.c b/error.c
new file mode 100644
index 0000000..08698b4
--- /dev/null
+++ b/error.c
@@ -0,0 +1,799 @@
+/* error.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+#if DEBUGLEVEL >= 2
+#define RED_ZONE 'R'
+#endif
+#if DEBUGLEVEL >= 3
+#define FREE_FILL 0xfe
+#define REALLOC_FILL 0xfd
+#define ALLOC_FILL 0xfc
+#endif
+
+#if DEBUGLEVEL < 0
+#define FREE_FILL 0xfe
+#endif
+
+#if DEBUGLEVEL < 0
+#define NO_IE
+#endif
+
+#ifdef RED_ZONE
+#define RED_ZONE_INC 1
+#else
+#define RED_ZONE_INC 0
+#endif
+
+volatile char dummy_val;
+volatile char * volatile dummy_ptr = &dummy_val;
+volatile char * volatile x_ptr;
+
+void *do_not_optimize_here(void *p)
+{
+ /* break ANSI aliasing */
+ x_ptr = p;
+ *dummy_ptr = 0;
+ return p;
+}
+
+#ifdef LEAK_DEBUG
+
+unsigned long mem_amount = 0;
+unsigned long mem_blocks = 0;
+
+#define ALLOC_MAGIC 0xa110c
+#define ALLOC_FREE_MAGIC 0xf4ee
+#define ALLOC_REALLOC_MAGIC 0x4ea110c
+
+#ifndef LEAK_DEBUG_LIST
+struct alloc_header {
+ int magic;
+ size_t size;
+};
+#else
+struct alloc_header {
+ struct alloc_header *next;
+ struct alloc_header *prev;
+ size_t size;
+ int magic;
+ int line;
+ unsigned char *file;
+ unsigned char *comment;
+};
+static struct list_head memory_list = { &memory_list, &memory_list };
+#endif
+
+#define L_D_S ((sizeof(struct alloc_header) + 15) & ~15)
+
+#endif
+
+static inline void force_dump(void)
+{
+ int rs;
+ fprintf(stderr, "\n\033[1m%s\033[0m\n", "Forcing core dump");
+ fflush(stdout);
+ fflush(stderr);
+ fatal_tty_exit();
+ EINTRLOOP(rs, raise(SIGSEGV));
+}
+
+void check_memory_leaks(void)
+{
+#if defined(NO_IE)
+ return;
+#else
+#ifdef LEAK_DEBUG
+ if (mem_amount || mem_blocks) {
+ fprintf(stderr, "\n\033[1mMemory leak by %lu bytes (%lu blocks)\033[0m\n", mem_amount, mem_blocks);
+#ifdef LEAK_DEBUG_LIST
+ fprintf(stderr, "\nList of blocks: ");
+ {
+ int r = 0;
+ struct alloc_header *ah;
+ foreach (ah, memory_list) {
+ fprintf(stderr, "%s%p:%lu @ %s:%d", r ? ", ": "", (unsigned char *)ah + L_D_S, (unsigned long)ah->size, ah->file, ah->line), r = 1;
+ if (ah->comment) fprintf(stderr, ":\"%s\"", ah->comment);
+ }
+ fprintf(stderr, "\n");
+ }
+#endif
+ force_dump();
+ }
+#endif
+#endif
+}
+
+static void er(int b, unsigned char *m, va_list l)
+{
+ if (b) fprintf(stderr, "%c", (unsigned char)7);
+#ifdef HAVE_VPRINTF
+ vfprintf(stderr, m, l);
+#else
+ fprintf(stderr, "%s", m);
+#endif
+ fprintf(stderr, "\n");
+ fflush(stderr);
+ sleep(1);
+}
+
+void error(unsigned char *m, ...)
+{
+ va_list l;
+ va_start(l, m);
+ fprintf(stderr, "\n");
+ er(1, m, l);
+ va_end(l);
+}
+
+int errline;
+unsigned char *errfile;
+
+static unsigned char errbuf[4096];
+
+void int_error(unsigned char *m, ...)
+{
+#ifdef NO_IE
+ return;
+#else
+ va_list l;
+ va_start(l, m);
+ sprintf(errbuf, "\n\033[1mINTERNAL ERROR\033[0m at %s:%d: ", errfile, errline);
+ strcat(errbuf, m);
+ er(1, errbuf, l);
+ force_dump();
+ va_end(l);
+#endif
+}
+
+void debug_msg(unsigned char *m, ...)
+{
+ va_list l;
+ va_start(l, m);
+ sprintf(errbuf, "\nDEBUG MESSAGE at %s:%d: ", errfile, errline);
+ strcat(errbuf, m);
+ er(0, errbuf, l);
+ va_end(l);
+}
+
+#ifdef LEAK_DEBUG
+
+void *debug_mem_alloc(unsigned char *file, int line, size_t size, int mayfail)
+{
+ void *p;
+#ifdef LEAK_DEBUG
+ struct alloc_header *ah;
+#endif
+ debug_test_free(file, line);
+ if (!size) return DUMMY;
+ if (size > MAXINT) {
+ if (mayfail) return NULL;
+ overalloc();
+ }
+#ifdef LEAK_DEBUG
+ mem_amount += size;
+ mem_blocks++;
+ size += L_D_S;
+#endif
+ retry:
+ if (!(p = malloc(size + RED_ZONE_INC))) {
+ if (out_of_memory(!mayfail ? "malloc" : NULL, size + RED_ZONE_INC)) goto retry;
+#ifdef LEAK_DEBUG
+ mem_amount -= (size - L_D_S);
+ mem_blocks--;
+#endif
+ return NULL;
+ }
+#ifdef RED_ZONE
+ *((unsigned char *)p + size + RED_ZONE_INC - 1) = RED_ZONE;
+#endif
+#ifdef LEAK_DEBUG
+ ah = p;
+ p = (unsigned char *)p + L_D_S;
+ ah->size = size - L_D_S;
+ ah->magic = ALLOC_MAGIC;
+#ifdef LEAK_DEBUG_LIST
+ ah->file = file;
+ ah->line = line;
+ ah->comment = NULL;
+ add_to_list(memory_list, ah);
+#endif
+#endif
+#ifdef ALLOC_FILL
+ memset(p, ALLOC_FILL, size - L_D_S);
+#endif
+ return p;
+}
+
+void *debug_mem_calloc(unsigned char *file, int line, size_t size, int mayfail)
+{
+ void *p;
+#ifdef LEAK_DEBUG
+ struct alloc_header *ah;
+#endif
+ debug_test_free(file, line);
+ if (!size) return DUMMY;
+ if (size > MAXINT) {
+ if (mayfail) return NULL;
+ overalloc();
+ }
+#ifdef LEAK_DEBUG
+ mem_amount += size;
+ mem_blocks++;
+ size += L_D_S;
+#endif
+ retry:
+ if (!(p = x_calloc(size + RED_ZONE_INC))) {
+ if (out_of_memory(!mayfail ? "calloc" : NULL, size + RED_ZONE_INC)) goto retry;
+#ifdef LEAK_DEBUG
+ mem_amount -= (size - L_D_S);
+ mem_blocks--;
+#endif
+ return NULL;
+ }
+#ifdef RED_ZONE
+ *((unsigned char *)p + size + RED_ZONE_INC - 1) = RED_ZONE;
+#endif
+#ifdef LEAK_DEBUG
+ ah = p;
+ p = (unsigned char *)p + L_D_S;
+ ah->size = size - L_D_S;
+ ah->magic = ALLOC_MAGIC;
+#ifdef LEAK_DEBUG_LIST
+ ah->file = file;
+ ah->line = line;
+ ah->comment = NULL;
+ add_to_list(memory_list, ah);
+#endif
+#endif
+ return p;
+}
+
+void debug_mem_free(unsigned char *file, int line, void *p)
+{
+#ifdef LEAK_DEBUG
+ struct alloc_header *ah;
+#endif
+ if (p == DUMMY) return;
+ if (!p) {
+ errfile = file, errline = line, int_error("mem_free(NULL)");
+ return;
+ }
+#ifdef LEAK_DEBUG
+ p = (unsigned char *)p - L_D_S;
+ ah = p;
+ if (ah->magic != ALLOC_MAGIC) {
+ errfile = file, errline = line, int_error("mem_free: magic doesn't match: %08x", ah->magic);
+ return;
+ }
+#ifdef FREE_FILL
+ memset((unsigned char *)p + L_D_S, FREE_FILL, ah->size);
+#endif
+ ah->magic = ALLOC_FREE_MAGIC;
+#ifdef LEAK_DEBUG_LIST
+ del_from_list(ah);
+ if (ah->comment) free(ah->comment);
+#endif
+ mem_amount -= ah->size;
+ mem_blocks--;
+#endif
+#ifdef RED_ZONE
+ if (*((unsigned char *)p + L_D_S + ah->size + RED_ZONE_INC - 1) != RED_ZONE) {
+ errfile = file, errline = line, int_error("mem_free: red zone damaged: %02x (block allocated at %s:%d%s%s)", *((unsigned char *)p + L_D_S + ah->size + RED_ZONE_INC - 1),
+#ifdef LEAK_DEBUG_LIST
+ ah->file, ah->line, ah->comment ? ":" : "", ah->comment ? ah->comment : (unsigned char *)"");
+#else
+ "-", 0, "-");
+#endif
+ return;
+ }
+#endif
+ free(p);
+}
+
+void *debug_mem_realloc(unsigned char *file, int line, void *p, size_t size, int mayfail)
+{
+#ifdef LEAK_DEBUG
+ struct alloc_header *ah;
+#endif
+ void *np;
+ if (p == DUMMY) return debug_mem_alloc(file, line, size, mayfail);
+ debug_test_free(file, line);
+ if (!p) {
+ errfile = file, errline = line, int_error("mem_realloc(NULL, %d)", size);
+ return NULL;
+ }
+ if (!size) {
+ debug_mem_free(file, line, p);
+ return DUMMY;
+ }
+ if (size > MAXINT) {
+ if (mayfail) return NULL;
+ overalloc();
+ }
+#ifdef LEAK_DEBUG
+ p = (unsigned char *)p - L_D_S;
+ ah = p;
+ if (ah->magic != ALLOC_MAGIC) {
+ errfile = file, errline = line, int_error("mem_realloc: magic doesn't match: %08x", ah->magic);
+ return NULL;
+ }
+ ah->magic = ALLOC_REALLOC_MAGIC;
+#ifdef REALLOC_FILL
+ if (!mayfail && size < (size_t)ah->size) memset((unsigned char *)p + L_D_S + size, REALLOC_FILL, ah->size - size);
+#endif
+#endif
+#ifdef RED_ZONE
+ if (*((unsigned char *)p + L_D_S + ah->size + RED_ZONE_INC - 1) != RED_ZONE) {
+ errfile = file, errline = line, int_error("mem_realloc: red zone damaged: %02x (block allocated at %s:%d%s%s)", *((unsigned char *)p + L_D_S + ah->size + RED_ZONE_INC - 1),
+#ifdef LEAK_DEBUG_LIST
+ ah->file, ah->line, ah->comment ? ":" : "", ah->comment ? ah->comment : (unsigned char *)"");
+#else
+ "-", 0, "-");
+#endif
+ return (unsigned char *)p + L_D_S;
+ }
+#endif
+ retry:
+ if (!(np = realloc(p, size + L_D_S + RED_ZONE_INC))) {
+ if (out_of_memory(!mayfail ? "realloc" : NULL, size + L_D_S + RED_ZONE_INC)) goto retry;
+ ah->magic = ALLOC_MAGIC;
+ return NULL;
+ }
+ p = np;
+#ifdef RED_ZONE
+ *((unsigned char *)p + size + L_D_S + RED_ZONE_INC - 1) = RED_ZONE;
+#endif
+#ifdef LEAK_DEBUG
+ ah = p;
+ mem_amount += size - ah->size;
+ ah->size = size;
+ ah->magic = ALLOC_MAGIC;
+#ifdef LEAK_DEBUG_LIST
+ ah->prev->next = ah;
+ ah->next->prev = ah;
+#endif
+#endif
+ return (unsigned char *)p + L_D_S;
+}
+
+void set_mem_comment(void *p, unsigned char *c, int l)
+{
+#ifdef LEAK_DEBUG_LIST
+ struct alloc_header *ah = (struct alloc_header *)((unsigned char *)p - L_D_S);
+ if (ah->comment) free(ah->comment);
+ if ((ah->comment = malloc(l + 1))) memcpy(ah->comment, c, l), ah->comment[l] = 0;
+#endif
+}
+
+#ifdef JS
+unsigned char *get_mem_comment(void *p)
+{
+#ifdef LEAK_DEBUG_LIST
+ /* perm je prase: return ((struct alloc_header*)((unsigned char*)((void*)((unsigned char*)p-sizeof(int))) - L_D_S))->comment;*/
+ struct alloc_header *ah = (struct alloc_header *)((unsigned char *)p - L_D_S);
+ if (!ah->comment) return "";
+ else return ah->comment;
+#else
+ return "";
+#endif
+}
+#endif
+
+#else
+
+void *mem_alloc_(size_t size, int mayfail)
+{
+ void *p;
+ debug_test_free(NULL, 0);
+ if (!size) return DUMMY;
+ if (size > MAXINT) {
+ if (mayfail) return NULL;
+ overalloc();
+ }
+ retry:
+ if (!(p = malloc(size))) {
+ if (out_of_memory(!mayfail ? "malloc" : NULL, size)) goto retry;
+ return NULL;
+ }
+ return p;
+}
+
+void *mem_calloc_(size_t size, int mayfail)
+{
+ void *p;
+ debug_test_free(NULL, 0);
+ if (!size) return DUMMY;
+ if (size > MAXINT) {
+ if (mayfail) return NULL;
+ overalloc();
+ }
+ retry:
+ if (!(p = x_calloc(size))) {
+ if (out_of_memory(!mayfail ? "calloc" : NULL, size)) goto retry;
+ return NULL;
+ }
+ return p;
+}
+
+void mem_free(void *p)
+{
+ if (p == DUMMY) return;
+ if (!p) {
+ internal((unsigned char *)"mem_free(NULL)");
+ return;
+ }
+ free(p);
+}
+
+void *mem_realloc_(void *p, size_t size, int mayfail)
+{
+ void *np;
+ if (p == DUMMY) return mem_alloc_(size, mayfail);
+ debug_test_free(NULL, 0);
+ if (!p) {
+ internal((unsigned char *)"mem_realloc(NULL, %d)", size);
+ return NULL;
+ }
+ if (!size) {
+ mem_free(p);
+ return DUMMY;
+ }
+ if (size > MAXINT) {
+ if (mayfail) return NULL;
+ overalloc();
+ }
+ retry:
+ if (!(np = realloc(p, size))) {
+ if (out_of_memory(!mayfail ? "realloc" : NULL, size)) goto retry;
+ return NULL;
+ }
+ return np;
+}
+
+#endif
+
+#ifdef OOPS
+
+struct prot {
+ struct prot *next;
+ struct prot *prev;
+ sigjmp_buf buf;
+};
+
+static struct list_head prot = {&prot, &prot };
+
+static void fault(void *dummy)
+{
+ struct prot *p;
+ /*fprintf(stderr, "FAULT: %d !\n", (int)(unsigned long)dummy);*/
+ if (list_empty(prot)) {
+ fatal_tty_exit();
+ exit(0);
+ }
+ p = prot.next;
+ del_from_list(p);
+ longjmp(p->buf, 1);
+}
+
+sigjmp_buf *new_stack_frame(void)
+{
+ static int handled = 0;
+ struct prot *new;
+ if (!handled) {
+ install_signal_handler(SIGSEGV, fault, (void *)SIGSEGV, 1);
+ install_signal_handler(SIGBUS, fault, (void *)SIGBUS, 1);
+ install_signal_handler(SIGFPE, fault, (void *)SIGFPE, 1);
+ install_signal_handler(SIGILL, fault, (void *)SIGILL, 1);
+ install_signal_handler(SIGABRT, fault, (void *)SIGABRT, 1);
+ handled = 1;
+ }
+ if (!(new = mem_alloc(sizeof(struct prot)))) return NULL;
+ add_to_list(prot, new);
+ return &new->buf;
+}
+
+void xpr(void)
+{
+ if (!list_empty(prot)) {
+ struct prot *next = prot.next;
+ del_from_list(next);
+ mem_free(next);
+ }
+}
+
+void nopr(void)
+{
+ free_list(prot);
+}
+
+#endif
+
+#if !(defined(LEAK_DEBUG) && defined(LEAK_DEBUG_LIST))
+
+unsigned char *memacpy(const unsigned char *src, size_t len)
+{
+ unsigned char *m;
+ m = (unsigned char *)mem_alloc(len + 1);
+ memcpy(m, src, len);
+ m[len] = 0;
+ return m;
+}
+
+unsigned char *stracpy(const unsigned char *src)
+{
+ return src ? memacpy(src, src != DUMMY ? strlen(src) : 0) : NULL;
+}
+
+#else
+
+unsigned char *debug_memacpy(unsigned char *f, int l, unsigned char *src, size_t len)
+{
+ unsigned char *m;
+ m = (unsigned char *)debug_mem_alloc(f, l, len + 1, 0);
+ memcpy(m, src, len);
+ m[len] = 0;
+ return m;
+}
+
+unsigned char *debug_stracpy(unsigned char *f, int l, unsigned char *src)
+{
+ return src ? (unsigned char *)debug_memacpy(f, l, src, src != DUMMY ? strlen(src) : 0L) : NULL;
+}
+
+#endif
+
+
+int snprint(unsigned char *s, int n, unsigned long num)
+{
+ unsigned long q = 1;
+ while (q <= num / 10) q *= 10;
+ while (n-- > 1 && q) *(s++) = num / q + '0', num %= q, q /= 10;
+ *s = 0;
+ return !!q;
+}
+
+int snzprint(unsigned char *s, int n, off_t num)
+{
+ off_t q = 1;
+ if (n > 1 && num < 0) *(s++) = '-', num = -num, n--;
+ while (q <= num / 10) q *= 10;
+ while (n-- > 1 && q) *(s++) = num / q + '0', num %= q, q /= 10;
+ *s = 0;
+ return !!q;
+}
+
+void add_to_strn(unsigned char **s, unsigned char *a)
+{
+ unsigned char *p;
+ size_t l1 = strlen(*s), l2 = strlen(a);
+ if (((l1 | l2) | (l1 + l2 + 1)) > MAXINT) overalloc();
+ p = (unsigned char *)mem_realloc(*s, l1 + l2 + 1);
+ strcat(p, a);
+ *s = p;
+}
+
+void extend_str(unsigned char **s, int n)
+{
+ size_t l = strlen(*s);
+ if (((l | n) | (l + n + 1)) > MAXINT) overalloc();
+ *s = (unsigned char *)mem_realloc(*s, l + n + 1);
+}
+
+void add_to_str(unsigned char **s, int *l, unsigned char *a)
+{
+ unsigned char *p=*s;
+ unsigned old_length;
+ size_t new_length;
+ unsigned x;
+
+ old_length=*l;
+ new_length=strlen(a);
+ if (new_length + old_length >= MAXINT / 2 || new_length + old_length < new_length) overalloc();
+ new_length+=old_length;
+ *l=new_length;
+ x=old_length^new_length;
+ if (x>=old_length){
+ /* Need to realloc */
+ new_length|=(new_length>>1);
+ new_length|=(new_length>>2);
+ new_length|=(new_length>>4);
+ new_length|=(new_length>>8);
+ new_length|=(new_length>>16);
+ p=(unsigned char *)mem_realloc(p,new_length+1L);
+ }
+ *s=p;
+ strcpy((p+old_length),a);
+}
+
+void add_bytes_to_str(unsigned char **s, int *l, unsigned char *a, size_t ll)
+{
+ unsigned char *p=*s;
+ unsigned long old_length;
+ unsigned long new_length;
+ unsigned long x;
+
+ old_length=*l;
+ if (ll + old_length >= (unsigned)MAXINT / 2 || ll + old_length < (unsigned)ll) overalloc();
+ new_length=old_length+ll;
+ *l=new_length;
+ x=old_length^new_length;
+ if (x>=old_length){
+ /* Need to realloc */
+ new_length|=(new_length>>1);
+ new_length|=(new_length>>2);
+ new_length|=(new_length>>4);
+ new_length|=(new_length>>8);
+ new_length|=(new_length>>16);
+ p=(unsigned char *)mem_realloc(p,new_length+1);
+ }
+ *s=p;
+ memcpy(p+old_length,a,ll);
+ p[*l]=0;
+}
+
+void add_chr_to_str(unsigned char **s, int *l, unsigned char a)
+{
+ unsigned char *p=*s;
+ unsigned long old_length;
+ unsigned long new_length;
+ unsigned long x;
+
+ old_length=*l;
+ if (1 + old_length >= MAXINT / 2 || 1 + old_length < 1) overalloc();
+ new_length=old_length+1;
+ *l=new_length;
+ x=old_length^new_length;
+ if (x>=old_length){
+ p=(unsigned char *)mem_realloc(p,new_length<<1);
+ }
+ *s=p;
+ p[old_length]=a;
+ p[new_length]=0;
+}
+
+void add_unsigned_long_num_to_str(unsigned char **s, int *l, unsigned long n)
+{
+ unsigned char a[64];
+ snprint(a, 64, n);
+ add_to_str(s, l, a);
+}
+
+void add_num_to_str(unsigned char **s, int *l, off_t n)
+{
+ unsigned char a[64];
+ snzprint(a, 64, n);
+ add_to_str(s, l, a);
+}
+
+void add_knum_to_str(unsigned char **s, int *l, off_t n)
+{
+ unsigned char a[13];
+ if (n && n / (1024 * 1024) * (1024 * 1024) == n) snzprint(a, 12, n / (1024 * 1024)), a[strlen(a) + 1] = 0, a[strlen(a)] = 'M';
+ else if (n && n / 1024 * 1024 == n) snzprint(a, 12, n / 1024), a[strlen(a) + 1] = 0, a[strlen(a)] = 'k';
+ else snzprint(a, 13, n);
+ add_to_str(s, l, a);
+}
+
+long strtolx(unsigned char *c, unsigned char **end)
+{
+ long l;
+ if (c[0] == '0' && upcase(c[1]) == 'X' && c[2]) l = strtol(c + 2, (char **)(void *)end, 16);
+ else l = strtol(c, (char **)(void *)end, 10);
+ if (!*end) return l;
+ if (upcase(**end) == 'K') {
+ (*end)++;
+ if (l < -MAXINT / 1024) return -MAXINT;
+ if (l > MAXINT / 1024) return MAXINT;
+ return l * 1024;
+ }
+ if (upcase(**end) == 'M') {
+ (*end)++;
+ if (l < -MAXINT / (1024 * 1024)) return -MAXINT;
+ if (l > MAXINT / (1024 * 1024)) return MAXINT;
+ return l * (1024 * 1024);
+ }
+ return l;
+}
+
+/* Copies at most dst_size chars into dst. Ensures null termination of dst. */
+unsigned char *safe_strncpy(unsigned char *dst, const unsigned char *src, size_t dst_size)
+{
+ size_t to_copy;
+ if (!dst_size) return dst;
+ to_copy = strlen(src);
+ if (to_copy >= dst_size) to_copy = dst_size - 1;
+ memcpy(dst, src, to_copy);
+ memset(dst + to_copy, 0, dst_size - to_copy);
+ return dst;
+}
+
+#ifdef JS
+/* deletes all nonprintable characters from string */
+void skip_nonprintable(unsigned char *txt)
+{
+ unsigned char *txt1=txt;
+
+ if (!txt||!*txt)return;
+ for (;*txt;txt++)
+ switch(*txt)
+ {
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ case 19:
+ case 20:
+ case 21:
+ case 22:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 27:
+ case 28:
+ case 29:
+ case 30:
+ case 31:
+ break;
+
+ case 9:
+ *txt1=' ';
+ txt1++;
+ break;
+
+ default:
+ *txt1=*txt;
+ txt1++;
+ break;
+ }
+ *txt1=0;
+}
+#endif
+
+/* case insensitive compare of 2 strings */
+/* comparison ends after len (or less) characters */
+/* return value: 1=strings differ, 0=strings are same */
+int casecmp(unsigned char *c1, unsigned char *c2, size_t len)
+{
+ size_t i;
+ for (i = 0; i < len; i++) if (upcase(c1[i]) != upcase(c2[i])) return 1;
+ return 0;
+}
+
+int casestrstr(unsigned char *h, unsigned char *n)
+{
+ unsigned char *p;
+
+ for (p=h;*p;p++)
+ {
+ if (!srch_cmp(*p,*n)) /* same */
+ {
+ unsigned char *q, *r;
+ for (q=n, r=p;*r&&*q;)
+ {
+ if (!srch_cmp(*q,*r)) r++,q++; /* same */
+ else break;
+ }
+ if (!*q) return 1;
+ }
+ }
+
+ return 0;
+}
+
diff --git a/fbcommon.inc b/fbcommon.inc
new file mode 100644
index 0000000..edcf749
--- /dev/null
+++ b/fbcommon.inc
@@ -0,0 +1,154 @@
+/* n is in bytes. dest must begin on pixel boundary. If n is not a whole number
+ * of pixels, rounding is performed downwards.
+ * if bmpixelsize is 1, no alignment is required.
+ * if bmpixelsize is 2, dest must be aligned to 2 bytes.
+ * if bmpixelsize is 3, no alignment is required.
+ * if bmpixelsize is 4, dest must be aligned to 4 bytes.
+ * -- The following do not occur, this is only for forward compatibility.
+ * if bmpixelsize is 5, no alignment is required.
+ * if bmpixelsize is 6, dest must be aligned to 2 bytes.
+ * if bmpixelsize is 7, no alignment is required.
+ * if bmpixelsize is 8, dest must be aligned to 8 bytes.
+ */
+
+static inline void pixel_set(unsigned char *dest, int n,void * pattern)
+{
+ switch(fb_pixelsize)
+ {
+ case 1:
+ memset(dest,*(unsigned char *)pattern,n);
+ break;
+
+ case 2:
+ {
+#ifdef t2c
+ t2c v=*(t2c *)do_not_optimize_here(pattern);
+#ifdef __ICC
+ volatile /* ICC has an optimization bug here */
+#endif
+ int a;
+
+ if ((v & 255) == ((v >> 8) & 255)) {
+ memset(dest, v, n);
+ } else {
+#ifdef t8c
+ t8c vvvv=((t8c)v << 48) | ((t8c)v << 32) | ((t8c)v << 16) | v;
+#elif defined(t4c)
+ t4c vv=((t4c)v << 16) | v;
+#endif
+ a = n >> 1;
+ while (a) {
+#ifdef t8c
+ if (!((unsigned long)dest & 7) && a >= 4) {
+ do {
+ *((t8c *)dest) = vvvv;
+ dest += 8;
+ a -= 4;
+ } while (a >= 4);
+ } else
+#elif defined(t4c)
+ if (!((unsigned long)dest & 3) && a >= 2) {
+ do {
+ *((t4c *)dest) = vv;
+ dest += 4;
+ a -= 2;
+ } while (a >= 2);
+ } else
+#endif
+ {
+ *((t2c *)dest) = v;
+ dest += 2;
+ a--;
+ }
+ }
+ }
+#else
+ unsigned char a,b;
+ int i;
+
+ a=*(unsigned char*)pattern;
+ b=((unsigned char*)pattern)[1];
+ if (a == b) memset(dest, a, n);
+ else for (i=0;i<=n-2;i+=2){
+ dest[i]=a;
+ dest[i+1]=b;
+ }
+#endif
+ }
+ break;
+
+ case 3:
+ {
+ unsigned char a,b,c;
+ int i;
+
+ a=*(unsigned char*)pattern;
+ b=((unsigned char*)pattern)[1];
+ c=((unsigned char*)pattern)[2];
+ if (a == b && b == c) memset(dest, a, n);
+ else for (i=0;i<=n-3;i+=3){
+ dest[i]=a;
+ dest[i+1]=b;
+ dest[i+2]=c;
+ }
+ }
+ break;
+
+ case 4:
+ {
+#ifdef t4c
+ t4c v=*(t4c *)do_not_optimize_here(pattern);
+#ifdef __ICC
+ volatile /* ICC has an optimization bug here */
+#endif
+ int a;
+
+ {
+#ifdef t8c
+ t8c vv = ((t8c)v << 32) | v;
+#endif
+ a = n >> 2;
+ while (a) {
+#ifdef t8c
+ if (!((unsigned long)dest & 7) && a >= 2) {
+ do {
+ *((t8c *)dest) = vv;
+ dest += 8;
+ a -= 2;
+ } while (a >= 2);
+ } else
+#endif
+ {
+ *(t4c *)dest = v;
+ dest += 4;
+ a--;
+ }
+ }
+ }
+#else
+ unsigned char a,b,c,d;
+ int i;
+
+ a=*(unsigned char*)pattern;
+ b=((unsigned char*)pattern)[1];
+ c=((unsigned char*)pattern)[2];
+ d=((unsigned char*)pattern)[3];
+ for (i=0;i<=n-4;i+=4){
+ dest[i]=a;
+ dest[i+1]=b;
+ dest[i+2]=c;
+ dest[i+3]=d;
+ }
+#endif
+ }
+ break;
+
+ default:
+ {
+ int a;
+ for (a=0;a<n/fb_pixelsize;a++,dest+=fb_pixelsize) memcpy(dest,pattern,fb_pixelsize);
+ }
+ break;
+ }
+}
+
diff --git a/file.c b/file.c
new file mode 100644
index 0000000..676a2b2
--- /dev/null
+++ b/file.c
@@ -0,0 +1,429 @@
+/* file.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+#ifdef FS_UNIX_RIGHTS
+static void setrwx(int m, unsigned char *p)
+{
+ if(m & S_IRUSR) p[0] = 'r';
+ if(m & S_IWUSR) p[1] = 'w';
+ if(m & S_IXUSR) p[2] = 'x';
+}
+
+static void setst(int m, unsigned char *p)
+{
+#ifdef S_ISUID
+ if (m & S_ISUID) {
+ p[2] = 'S';
+ if (m & S_IXUSR) p[2] = 's';
+ }
+#endif
+#ifdef S_ISGID
+ if (m & S_ISGID) {
+ p[5] = 'S';
+ if (m & S_IXGRP) p[5] = 's';
+ }
+#endif
+#ifdef S_ISVTX
+ if (m & S_ISVTX) {
+ p[8] = 'T';
+ if (m & S_IXOTH) p[8] = 't';
+ }
+#endif
+}
+#endif
+
+static void stat_mode(unsigned char **p, int *l, struct stat *stp)
+{
+ unsigned char c = '?';
+ if (stp) {
+ if (0) {}
+#ifdef S_ISBLK
+ else if (S_ISBLK(stp->st_mode)) c = 'b';
+#endif
+#ifdef S_ISCHR
+ else if (S_ISCHR(stp->st_mode)) c = 'c';
+#endif
+ else if (S_ISDIR(stp->st_mode)) c = 'd';
+ else if (S_ISREG(stp->st_mode)) c = '-';
+#ifdef S_ISFIFO
+ else if (S_ISFIFO(stp->st_mode)) c = 'p';
+#endif
+#ifdef S_ISLNK
+ else if (S_ISLNK(stp->st_mode)) c = 'l';
+#endif
+#ifdef S_ISSOCK
+ else if (S_ISSOCK(stp->st_mode)) c = 's';
+#endif
+#ifdef S_ISNWK
+ else if (S_ISNWK(stp->st_mode)) c = 'n';
+#endif
+ }
+ add_chr_to_str(p, l, c);
+#ifdef FS_UNIX_RIGHTS
+ {
+ unsigned char rwx[10] = "---------";
+ if (stp) {
+ int mode = stp->st_mode;
+ setrwx(mode << 0, &rwx[0]);
+ setrwx(mode << 3, &rwx[3]);
+ setrwx(mode << 6, &rwx[6]);
+ setst(mode, rwx);
+ }
+ add_to_str(p, l, rwx);
+ }
+#endif
+ add_chr_to_str(p, l, ' ');
+}
+
+
+static void stat_links(unsigned char **p, int *l, struct stat *stp)
+{
+#ifdef FS_UNIX_HARDLINKS
+ unsigned char lnk[64];
+ if (!stp) add_to_str(p, l, " ");
+ else {
+ sprintf(lnk, "%3ld ", (unsigned long)stp->st_nlink);
+ add_to_str(p, l, lnk);
+ }
+#endif
+}
+
+#ifdef FS_UNIX_USERS
+static int last_uid = -1;
+static unsigned char last_user[64];
+
+static int last_gid = -1;
+static unsigned char last_group[64];
+#endif
+
+static void stat_user(unsigned char **p, int *l, struct stat *stp, int g)
+{
+#ifdef FS_UNIX_USERS
+ struct passwd *pwd;
+ struct group *grp;
+ int id;
+ unsigned char *pp;
+ int i;
+ if (!stp) {
+ add_to_str(p, l, " ");
+ return;
+ }
+ id = !g ? stp->st_uid : stp->st_gid;
+ pp = !g ? last_user : last_group;
+ if (!g && id == last_uid && last_uid != -1) goto a;
+ if (g && id == last_gid && last_gid != -1) goto a;
+ if (!g) {
+ ENULLLOOP(pwd, getpwuid(id));
+ if (!pwd || !pwd->pw_name) sprintf(pp, "%d", id);
+ else sprintf(pp, "%.8s", pwd->pw_name);
+ last_uid = id;
+ } else {
+ ENULLLOOP(grp, getgrgid(id));
+ if (!grp || !grp->gr_name) sprintf(pp, "%d", id);
+ else sprintf(pp, "%.8s", grp->gr_name);
+ last_gid = id;
+ }
+ a:
+ add_to_str(p, l, pp);
+ for (i = strlen(pp); i < 8; i++) add_chr_to_str(p, l, ' ');
+ add_chr_to_str(p, l, ' ');
+#endif
+}
+
+static void stat_size(unsigned char **p, int *l, struct stat *stp)
+{
+ unsigned char num[64];
+ const int digits = 8;
+ int i;
+ if (!stp) {
+ num[0] = 0;
+ } else {
+ snzprint(num, sizeof num, stp->st_size);
+ }
+ for (i = strlen(num); i < digits; i++)
+ add_chr_to_str(p, l, ' ');
+ add_to_str(p, l, num);
+ add_chr_to_str(p, l, ' ');
+}
+
+static void stat_date(unsigned char **p, int *l, struct stat *stp)
+{
+ time_t current_time;
+ time_t when;
+ struct tm *when_local;
+ unsigned char *fmt;
+ unsigned char str[13];
+ int wr;
+ EINTRLOOPX(current_time, time(NULL), (time_t)-1);
+ if (!stp) {
+ add_to_str(p, l, " ");
+ return;
+ }
+ when = stp->st_mtime;
+ when_local = localtime(&when);
+ if ((ulonglong)current_time > (ulonglong)when + 6L * 30L * 24L * 60L * 60L ||
+ (ulonglong)current_time < (ulonglong)when - 60L * 60L) fmt = "%b %e %Y";
+ else fmt = "%b %e %H:%M";
+#ifdef HAVE_STRFTIME
+ wr = strftime(str, 13, fmt, when_local);
+#else
+ wr = 0;
+#endif
+ while (wr < 12) str[wr++] = ' ';
+ str[12] = 0;
+ add_to_str(p, l, str);
+ add_chr_to_str(p, l, ' ');
+}
+
+static unsigned char *get_filename(unsigned char *url)
+{
+ unsigned char *p, *m;
+ int ml;
+#ifdef DOS_FS
+ if (url[7] == '/' && strchr(url + 8, ':')) url++;
+#endif
+ for (p = url + 7; *p && *p != POST_CHAR; p++)
+ ;
+ m = init_str(), ml = 0;
+ add_conv_str(&m, &ml, url + 7, p - url - 7, -2);
+ return m;
+}
+
+struct dirs {
+ unsigned char *s;
+ unsigned char *f;
+};
+
+LIBC_CALLBACK static int comp_de(struct dirs *d1, struct dirs *d2)
+{
+ if (d1->f[0] == '.' && d1->f[1] == '.' && !d1->f[2]) return -1;
+ if (d2->f[0] == '.' && d2->f[1] == '.' && !d2->f[2]) return 1;
+ if (d1->s[0] == 'd' && d2->s[0] != 'd') return -1;
+ if (d1->s[0] != 'd' && d2->s[0] == 'd') return 1;
+ return strcmp(d1->f, d2->f);
+}
+
+void file_func(struct connection *c)
+{
+ struct cache_entry *e;
+ unsigned char *file, *name, *head = NULL; /* against warning */
+ int fl;
+ DIR *d;
+ int h, r;
+ struct stat stt;
+ int rs;
+ if (anonymous) {
+ setcstate(c, S_BAD_URL);
+ abort_connection(c);
+ return;
+ }
+ if (!(name = get_filename(c->url))) {
+ setcstate(c, S_OUT_OF_MEM); abort_connection(c); return;
+ }
+ EINTRLOOP(rs, stat(name, &stt));
+ if (rs) {
+ mem_free(name);
+ setcstate(c, get_error_from_errno(errno)); abort_connection(c); return;
+ }
+ if (!S_ISDIR(stt.st_mode) && !S_ISREG(stt.st_mode)) {
+ mem_free(name);
+ setcstate(c, S_FILE_TYPE); abort_connection(c); return;
+ }
+ EINTRLOOP(h, open(name, O_RDONLY | O_NOCTTY));
+ if (h == -1) {
+ int er = errno;
+ ENULLLOOP(d, opendir(name));
+ if (d) goto dir;
+ mem_free(name);
+ setcstate(c, get_error_from_errno(er));
+ abort_connection(c);
+ return;
+ }
+ set_bin(h);
+ if (S_ISDIR(stt.st_mode)) {
+ struct dirs *dir;
+ int dirl;
+ int i;
+ int er;
+ struct dirent *de;
+ ENULLLOOP(d, opendir(name));
+ er = errno;
+ EINTRLOOP(rs, close(h));
+ if (!d) {
+ mem_free(name);
+ setcstate(c, get_error_from_errno(er)); abort_connection(c); return;
+ }
+ dir:
+ dir = DUMMY, dirl = 0;
+ if (name[0] && !dir_sep(name[strlen(name) - 1])) {
+ if (!c->cache) {
+ if (get_cache_entry(c->url, &c->cache)) {
+ mem_free(name);
+ EINTRLOOP(rs, closedir(d));
+ setcstate(c, S_OUT_OF_MEM); abort_connection(c); return;
+ }
+ c->cache->refcount--;
+ }
+ e = c->cache;
+ if (e->redirect) mem_free(e->redirect);
+ e->redirect = stracpy(c->url);
+ e->redirect_get = 1;
+ add_to_strn(&e->redirect, "/");
+ mem_free(name);
+ EINTRLOOP(rs, closedir(d));
+ goto end;
+ }
+#ifdef FS_UNIX_USERS
+ last_uid = -1;
+ last_gid = -1;
+#endif
+ file = init_str();
+ fl = 0;
+ add_to_str(&file, &fl, "<html><head><title>");
+ add_conv_str(&file, &fl, name, strlen(name), -1);
+ add_to_str(&file, &fl, "</title></head><body><h2>Directory ");
+ add_conv_str(&file, &fl, name, strlen(name), -1);
+ add_to_str(&file, &fl, "</h2><pre>");
+ while (1) {
+ struct stat stt, *stp;
+ unsigned char **p;
+ int l;
+ unsigned char *n;
+ ENULLLOOP(de, (void *)readdir(d));
+ if (!de) break;
+ if (!strcmp(de->d_name, ".")) continue;
+ if ((unsigned)dirl > MAXINT / sizeof(struct dirs) - 1) overalloc();
+ dir = mem_realloc(dir, (dirl + 1) * sizeof(struct dirs));
+ dir[dirl].f = stracpy(de->d_name);
+ *(p = &dir[dirl++].s) = init_str();
+ l = 0;
+ n = stracpy(name);
+ add_to_strn(&n, de->d_name);
+#ifdef FS_UNIX_SOFTLINKS
+ EINTRLOOP(rs, lstat(n, &stt));
+#else
+ EINTRLOOP(rs, stat(n, &stt));
+#endif
+ if (rs) stp = NULL;
+ else stp = &stt;
+ mem_free(n);
+ stat_mode(p, &l, stp);
+ stat_links(p, &l, stp);
+ stat_user(p, &l, stp, 0);
+ stat_user(p, &l, stp, 1);
+ stat_size(p, &l, stp);
+ stat_date(p, &l, stp);
+ }
+ EINTRLOOP(rs, closedir(d));
+ if (dirl) qsort(dir, dirl, sizeof(struct dirs), (int(*)(const void *, const void *))comp_de);
+ for (i = 0; i < dirl; i++) {
+ unsigned char *lnk = NULL;
+#ifdef FS_UNIX_SOFTLINKS
+ if (dir[i].s[0] == 'l') {
+ unsigned char *buf = NULL;
+ int size = 0;
+ int r;
+ unsigned char *n = stracpy(name);
+ add_to_strn(&n, dir[i].f);
+ do {
+ if (buf) mem_free(buf);
+ size += ALLOC_GR;
+ if ((unsigned)size > MAXINT) overalloc();
+ buf = mem_alloc(size);
+ EINTRLOOP(r, readlink(n, buf, size));
+ } while (r == size);
+ if (r == -1) goto yyy;
+ buf[r] = 0;
+ lnk = buf;
+ goto xxx;
+ yyy:
+ mem_free(buf);
+ xxx:
+ mem_free(n);
+ }
+#endif
+ /*add_to_str(&file, &fl, " ");*/
+ add_to_str(&file, &fl, dir[i].s);
+ add_to_str(&file, &fl, "<a href=\"./");
+ add_conv_str(&file, &fl, dir[i].f, strlen(dir[i].f), 1);
+ if (dir[i].s[0] == 'd') add_to_str(&file, &fl, "/");
+ else if (lnk) {
+ struct stat st;
+ unsigned char *n = stracpy(name);
+ add_to_strn(&n, dir[i].f);
+ EINTRLOOP(rs, stat(n, &st));
+ if (!rs) if (S_ISDIR(st.st_mode)) add_to_str(&file, &fl, "/");
+ mem_free(n);
+ }
+ add_to_str(&file, &fl, "\">");
+ /*if (dir[i].s[0] == 'd') add_to_str(&file, &fl, "<font color=\"yellow\">");*/
+ add_conv_str(&file, &fl, dir[i].f, strlen(dir[i].f), 0);
+ /*if (dir[i].s[0] == 'd') add_to_str(&file, &fl, "</font>");*/
+ add_to_str(&file, &fl, "</a>");
+ if (lnk) {
+ add_to_str(&file, &fl, " -> ");
+ add_to_str(&file, &fl, lnk);
+ mem_free(lnk);
+ }
+ add_to_str(&file, &fl, "\n");
+ }
+ mem_free(name);
+ for (i = 0; i < dirl; i++) mem_free(dir[i].s), mem_free(dir[i].f);
+ mem_free(dir);
+ add_to_str(&file, &fl, "</pre></body></html>\n");
+ head = stracpy("\r\nContent-Type: text/html\r\n");
+ } else {
+ mem_free(name);
+ if (
+#ifndef __WATCOMC__
+ stt.st_size < 0 ||
+#endif
+ stt.st_size > MAXINT) {
+ EINTRLOOP(rs, close(h));
+ setcstate(c, S_LARGE_FILE); abort_connection(c);
+ return;
+ }
+ /* + !stt.st_size is there because of bug in Linux. Read returns
+ -EACCES when reading 0 bytes to invalid address */
+ file = mem_alloc_mayfail(stt.st_size + !stt.st_size);
+ if (!file) {
+ EINTRLOOP(rs, close(h));
+ setcstate(c, S_OUT_OF_MEM);
+ abort_connection(c); return;
+ }
+ if ((r = hard_read(h, file, stt.st_size)) != stt.st_size) {
+ mem_free(file);
+ EINTRLOOP(rs, close(h));
+ setcstate(c, r == -1 ? get_error_from_errno(errno) : S_FILE_ERROR);
+ abort_connection(c); return;
+ }
+ EINTRLOOP(rs, close(h));
+ fl = stt.st_size;
+ head = stracpy("");
+ }
+ if (!c->cache) {
+ if (get_cache_entry(c->url, &c->cache)) {
+ mem_free(file);
+ mem_free(head);
+ setcstate(c, S_OUT_OF_MEM); abort_connection(c); return;
+ }
+ c->cache->refcount--;
+ }
+ e = c->cache;
+ if (e->head) mem_free(e->head);
+ e->head = head;
+ if ((r = add_fragment(e, 0, file, fl)) < 0) {
+ mem_free(file);
+ setcstate(c, r); abort_connection(c); return;
+ }
+ truncate_entry(e, fl, 1);
+ mem_free(file);
+ end:
+ c->cache->incomplete = 0;
+ setcstate(c, S__OK);
+ abort_connection(c);
+}
diff --git a/finger.c b/finger.c
new file mode 100644
index 0000000..3fbe147
--- /dev/null
+++ b/finger.c
@@ -0,0 +1,99 @@
+/* finger.c
+ * finger:// processing
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+static void finger_send_request(struct connection *);
+static void finger_sent_request(struct connection *);
+static void finger_get_response(struct connection *, struct read_buffer *);
+static void finger_end_request(struct connection *, int);
+
+void finger_func(struct connection *c)
+{
+ int p;
+ if ((p = get_port(c->url)) == -1) {
+ setcstate(c, S_INTERNAL);
+ abort_connection(c);
+ return;
+ }
+ c->from = 0;
+ make_connection(c, p, &c->sock1, finger_send_request);
+}
+
+static void finger_send_request(struct connection *c)
+{
+ unsigned char *req = init_str();
+ int rl = 0;
+ unsigned char *user;
+ add_to_str(&req, &rl, "/W");
+ if ((user = get_user_name(c->url))) {
+ add_to_str(&req, &rl, " ");
+ add_to_str(&req, &rl, user);
+ mem_free(user);
+ }
+ add_to_str(&req, &rl, "\r\n");
+ write_to_socket(c, c->sock1, req, rl, finger_sent_request);
+ mem_free(req);
+ setcstate(c, S_SENT);
+}
+
+static void finger_sent_request(struct connection *c)
+{
+ struct read_buffer *rb;
+ set_timeout(c);
+ if (!(rb = alloc_read_buffer(c))) return;
+ rb->close = 1;
+ read_from_socket(c, c->sock1, rb, finger_get_response);
+}
+
+static void finger_get_response(struct connection *c, struct read_buffer *rb)
+{
+ int l;
+ int a;
+ set_timeout(c);
+ if (!c->cache) {
+ if (get_cache_entry(c->url, &c->cache)) {
+ setcstate(c, S_OUT_OF_MEM);
+ abort_connection(c);
+ return;
+ }
+ c->cache->refcount--;
+ }
+ if (rb->close == 2) {
+ finger_end_request(c, S__OK);
+ return;
+ }
+ l = rb->len;
+ if ((off_t)(0UL + c->from + l) < 0) {
+ setcstate(c, S_LARGE_FILE);
+ abort_connection(c);
+ return;
+ }
+ c->received += l;
+ a = add_fragment(c->cache, c->from, rb->data, l);
+ if (a < 0) {
+ setcstate(c, a);
+ abort_connection(c);
+ return;
+ }
+ if (a == 1) c->tries = 0;
+ c->from += l;
+ kill_buffer_data(rb, l);
+ read_from_socket(c, c->sock1, rb, finger_get_response);
+ setcstate(c, S_TRANS);
+}
+
+static void finger_end_request(struct connection *c, int state)
+{
+ if (state == S__OK) {
+ if (c->cache) {
+ truncate_entry(c->cache, c->from, 1);
+ c->cache->incomplete = 0;
+ }
+ }
+ setcstate(c, state);
+ abort_connection(c);
+}
diff --git a/font_include.c b/font_include.c
new file mode 100644
index 0000000..3b34bc2
--- /dev/null
+++ b/font_include.c
@@ -0,0 +1,58347 @@
+#include "cfg.h"
+
+#ifdef G
+
+#include "links.h"
+
+unsigned char font_data[]={
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0{\0\0\0\207\b\2\0\0\0\271\365\261J\0"
+"\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\0\6bKGD\0\0\0\0\0\0\371C\273\177\0"
+"\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\4\35\21"
+"&\24\0\61\240\30\0\0\22$IDATx\234\355\235yP\23\347\33\30771v\2532\t\224"
+"qDj\304`\203\264Mc\207\351P\332x\265\32\3044\25[<Z\20:\36\240V\7\301\213"
+"i\245V\3538\316X\250\324Z\305\301\243PF\247\210\203\2\212\225\251J\5\361"
+"\240\4\323\340\200BP\4\5\344H\310A\216=~\177\244\345GI\b\273\357\356& "
+"|\376\323\311\276\317\363|y\367}\336k\337\27\202F\31ed!\223\311rss[[[q"
+"\34omm\315\315\315\225\311d\356v\352\205\202\325\367\37\351\351\351\353"
+"\326\255\263\377\321\261c\307\326\257_\357*\227\34\60}\372\364E\213\26"
+"\5\7\7O\2324\t\202\240\326\326\326;w\356\24\25\25\325\327\327\273\321+"
+"\252\244\247\247\343\3s\346\314\31w9\26\26\26v\345\312\225\316\316N\4A"
+"l\316 \b\322\331\331y\345\312\225\260\2600wy\325\17>\237/\227\313\343\343"
+"\343\277\371\346\233\35;v\254\\\271R,\26\3030<\340\3\62\231\314\211\334"
+"6RRR\234\25\301\faaaUUU(\212\332\373\203\242hUU\325P\20}\366\354\331\207"
+"\16\35\272{\367nGG\7\202 \6\203\341\341\303\207\347\316\235\213\216\216"
+"\346\361x\216\237\311\315\315\35Tq\213\305\222\234\234<`\21\f0}\372\364"
+"\222\222\22\207r\367\212^RR2}\372t\227\271d\317\222%K\24\n\205\325j\305"
+"\354\250\256\256\216\215\215u\254X{{\373\240\212\3438\256\327\353\367\356"
+"\335\353\345\345\345\232`\22\23\23\r\6\203s\227\f\6Cbb\242k\374\261G&\223"
+"566b\30f\357X\257\350R\251\324A\333@Dn\33Z\255\366\253\257\276\2320a\202"
+"\13\342),,t\30L\277\300.^\274\350\2g\354\t\t\tQ\253\325\316}\3030\354\360"
+"\341\303>>>\375\37\326\351t\304E\327h4\333\267o\347p8L\207T__O\304\237"
+"\306\306F\246=\261g\306\214\31w\356\334\31\3247\f\303T*U```\377\347\357"
+"\337\277O\\q\233\350\33\67nd\263\331\214FE\260\2553\32\215\214\272a\17"
+"\217\307;\177\376\374\240\357\237Mq\203\301\360\366\333o\367/\342\304\211"
+"\23\244\24\307q\274\243\243\343\313/\277d.*\17\17\217\356\356n\42\236\240"
+"(\312\347\363\231\363\244\37\60\f\357\332\265\313j\265\22\24\312\261\342"
+"\313\227/7\233\315dEooo\377\374\363\317\31\n\314\317\317\257\247\247\207"
+"\240\'r\271\234!7\354\371\342\213/\264Z-q\225\34\267*B\241\220l\303b\343"
+"\361\343\307\37}\364\21\23\201\315\237\77\277w\310\343\34\f\303v\355\332"
+"\305\204\17\366|\360\301\7\217\37\77&%\221\343\314\tAPjj\252\305b!\253"
+"8\206aJ\245r\356\334\271\264\307\266{\367n\42\r\245\215\274\274<\332\35"
+"\260G$\22UTT\20\367\n\307q\243\321\350\270w\bA\220X,.++#\253\270M\364\277"
+"\377\376\233v\321\213\213\213\211\373\240T*\351\265n\217@ \310\315\315"
+"u2\34s\250LQQ\321\200cF\30\206\243\243\243\2117\235\375\212V*\22546/\\"
+".\267\261\261\221\270\3\317\236=\363\360\360\240\313\272=<\36/==\235l\252"
+"\353\354\354|\377\375\367\7)7//\217\244\332\377\200a\330\375\373\367CC"
+"Ci\211\320\337\337\177\320\321f_t:\235\237\237\37-\246\355\201a811Q\257"
+"\327\223\22\304b\261\354\333\267o\360\322\203\202\202H\215\206\372\202"
+"aXee\345;\357\274C=H\271\\N\252\271\264Z\255\363\347\317\247n\327!+W\256"
+"|\366\354\31Y5\362\363\363\275\275\275\t\31\310\316\316&\325Z\365\5\303"
+"\260\362\362r___\212A^\274x\221\254\351\335\273wS4\352\220\271s\347\326"
+"\326\326\222\372\363\3438^WW\27\20\20@\324\306\314\2313\333\332\332\310"
+"\6\334\227\2337o\332\226\16\300\b\f\f4\231Ld\215^\271r\5\330\342@\210D"
+"\242\262\2622\262\365\317h4FDD\220\263t\344\310\21\342c*\207\334\274y\23"
+"\254\246s8\234\343\307\217\3XT\253\325\364&O\201@\220\223\223CpL\320\13"
+"\202 \'O\236$mL(\24\336\273w\17 \354\276\24\25\25M\2336\215\224]6\233\35"
+"\22\22B*g\366\242\325jiL\236<\36/##\3\340U+--\5\234rX\277~=\200\275\276"
+" \b\222\233\233K\252\246O\235:\365\374\371\363`\346hL\2360\f\'\'\'\33\215"
+"F\262>tvv\316\236=\33\320\252\217\217Oaa!X\360}U8w\356\234@ \30\347\326"
+"\255[\301\6\4\66\350J\236\33\66l\350\352\352\2p`\373\366\355\340Va\30\226"
+"J\245T\342\267a\261XrrrD\42\321\240\26\305bqEE\5\25[\305\305\305\340\1"
+"\377\213T*mii\1\260^VVF\3256\225\1Q_,\26K~~\376\240\242\357\335\273\27"
+"`\376\262/MMM\\.\227J\310\42\221\250\262\262\22\300tCC\203X,\246b\372\37"
+"\202\202\202\0\2323{l5\335I\363\302\347\363\37=zD\321\212\311dz\357\275"
+"\367\200\203\265uN\0\306\42f\2639::\232\266\215\16yyy\300\3\242~rddd\f"
+"4\255STTDv\224\341\220\235;w\202\365\21\201;\'8\216\347\345\345\321\271"
+"\305A\42\221\220\232\200w\202\321hLNN\356W\27\330l\366\251S\247h\221\33"
+"\307q\205B\1\320G\4\356\234\3408\336\332\332\32\24\24D\233\3346\300\336"
+"5\207\230\315\346\313\227/\333\266,q\271\334)S\246deeQ\34m\365\305j\265"
+"\2l\224\4\356\234\350t\272\235;w\322,7\4Ab\261\270\256\256\216.Qp\34G\20"
+"\244\247\247G\247\323Q\357\13\331\223\225\225E*:\340\316\t\212\242\231"
+"\231\231D\247\253H\1\303\360\216\35;\0V\210\334\202N\247{\345\225W\b\206"
+"&\22\211\24\n\5\230\241\212\212\n\22\323Ud\t\b\b\270z\365*\275\3220\307"
+"w\337}Gd;\215@ \310\313\313\3K!\32\215F*\2252%7\4A0\f/Y\262\204\306\6\227"
+"Q:::D\42\221\363\3554<\36\357\354\331\263d\'\252l\230\315\346\3\7\16\60"
+"(w\257\2137n\334\240]\35\206HII\361\364\364\34(\26\30\206O\236<\t\334\35"
+"\270v\355\232\213v\310,\\\270p\270Ts\215F3k\326\254\201\2IMM\5\16\244\265"
+"\265u\331\262e\256\220\333Fii)]}g\246Q(\24\16\247\213###\201\247E\21\4"
+"\331\267o\37\243\253\330\375\221H$`\363\327\256\7\303\260\33\67n\364\353"
+"N\4\4\4\64\64\64\200\25\210\242\350\37\177\374A}M\2214\300\371\335\365"
+"`\30VRR\322\273\355O&\223\335\276}\33\2704\265Z-\221H\\-7\4As\346\314!"
+"\270\7s(\200\242hiiiHHHJJJKK\13X\347\4\307\361\236\236\236\215\33\67\272"
+"An\b\202\274\275\275)Nd\273\30\4AZ[[)\346\374\354\354l\'\235\37\3069u\352"
+"\24Mj\f\17\332\332\332\6\355\340\23\4\260\b\205BA\335\366p\301b\261\34"
+"\77~\274\246\246\6\3030\352\245\1*\336\324\324\204\3438u\363C\37\34\307"
+"\357\336\275\233\221\221\201 \b-\5\2*\356\262\317\335\334\316\223\'ORS"
+"S\33\32\32\350*\20P\361\311\223\'\323\345\301P\306l6\247\245\245]\272t"
+"\211\3062\1\25w\274\351\377\305\2\303\260\202\202\202\223\'O\232\315f\32"
+"\213\5\257\343,\26k\360\337\rg\252\253\253\277\375\366[\255VKo\261 \212"
+"\217\33\67\356\365\327_\247\327\217\241\6\216\343W\257^\275\177\377>\355"
+"%\217!\373\0\207\303\211\213\213\373\354\263\317\306\214!\375\3540\202"
+"\305b\t\205\302\266\2666\265ZMo\253B\16\16\207\23\23\23C\327\322\376\320"
+"\247\273\273;--m\352\324\251\356\221\233\315f\307\304\304tvv\272[\7WSU"
+"U\265p\341B\2726\0\221h\31\302\302\302\366\357\337\377\352\253\257\322"
+"bx\30\341\343\343\23\32\32\312f\263\33\32\32\272\273\273]d\225\317\347"
+"\27\24\24\f\227IZ&0\231Lg\316\234y\363\3157]$waa!]\233\204\2065\315\315"
+"\315\261\261\261\f\256\1I$\222\13\27.0\261\217g\370\202\242hMM\315\226"
+"-[h^\\\226\311d*\225j$7#\316\3010\314b\261<x\360\340\320\241C2\231l\322"
+"\244I\340s\271\22\211\244\272\272\332\335\21\r3\254Vkmm\355\327_\177M\256"
+"\342{xxdee\1\257K\215\202\3438\206a\266\343\340\352\353\353\263\263\263"
+"\227.]:\340\306D__\337\322\322\322\321\364H#\30\206=\177\376\374\330\261"
+"c}\367\23\214\351\225\373\340\301\203\241\241\241/\366\330\335\305\260"
+"X\254\361\343\307\213D\242\311\223\'+\225\312\216\216\16\310\246\270\207"
+"\207Gxx\370\326\255[\307\216\35\353n\'_@8\34\216\277\277\277\325jU(\24"
+"===l\b\202\246M\233\266n\335:\327\237\3279r\30\77~\374\242E\213l\243\'"
+"6\217\307\213\210\210\240\377\273\212Q\376\213\237\237\337\214\31\63 \b"
+"b\7\7\7\307\304\304\270\340\360\302\21\216\207\207\307\304\211\23!\bb\207"
+"\207\207\23\374\246x\24Z`\317\2337\317\335>\214\b\272\273\273\237\77\177"
+"\16A\20{\264\202\273\206\272\272\272\332\332Z\bxey\24Rh4\232\202\202\202"
+"\352\352j\b\202\3304\356}\319 \b\362\370\361c\333\266\377A\177\254\325"
+"j\263\263\263\177\373\3557\333\b\210}\375\372u\306\35|\341(//\227J\245"
+"\236\236\236\263f\315:z\364\250\355s\320~\277\301q\274\247\247G\251T\376"
+"\370\343\217\77\375\364\323\203\7\17l\377\317\222J\245iiio\274\361\206"
+"\313\335\36\256\230L\246\265k\327\346\346\346\366]\343\367\360\360\230"
+"<yr``\240X,\346\363\371\343\306\2153\30\fj\265Z\241PTUU\331j\367\77\360"
+"x\274\330\330X\340\17\65F\32\b\202\244\247\247S9\367`\214\331l\256\257"
+"\257\177\372\364i@@\200\267\2677\323G\212\17w\256]\273\226\224\224\324"
+"\322\322\2\\\302\30\b\202\314fsmmmII\311\304\211\23\247L\2312v\354\330"
+"Q\335\35\202\343\370\2325k\252\252\252\350,T\42\221\234>}\272\255\255m"
+"t\242\334\36\4A\250\317\3679\336\255\311\347\363\227-[\266f\315\32\241"
+"P\310\341p^\370M\235\4A\20\204\372\204\2663)=<<\346\315\233\227\220\220"
+"\20\34\34<a\302\204\321\246\6\3030\352+6\204*\357\314\2313\243\242\242"
+"\242\242\242F\302&f\'\230\315\346\227_~\331u\366D\42QUU\225\273\333RwB"
+"\313\247@$\32\n\225Je\273\371\200\272\325\221\f\271\246\271\270\270\370"
+"\317\77\377d\310\225\241\17N\307\347}\344\24\357\352\352:x\360\240m\236"
+"w\4B\313J\319\305\315fsYY\331\367\337\177\337\323\323C\335\366\260\303"
+"m\37K\360x<*\'\302\f_\272\272\272\334\2438\4A\\.733\323\335\n\270\232\366"
+"\366v\267)\16A\220H$\322h4\356\26\301\245\30\f\6\352\213\224\340#(\243"
+"\321\30\36\36>B>^\266\301\341p\274\274\274\256]\273F\245A\7\37\270\353"
+"\365z\223\311\4\374\370p\204\305bEFF\332\37\275K\nJS%\256\274sy\2100v\354"
+"\330\325\253WS\271\313\36\\qooo7\234\3215\4\360\362\362Z\265j\325\314\231"
+"3\301\36\7W|\300[\262_tX,\226\237\237\37\300\t\3206\0\25\17\f\f\214\217"
+"\217\37\261\363\267\343\307\217\177\367\335w\301\236\5\221\214\303\341"
+"$&&\216\250^J\77\306\214\31\3|\336\ti\305\331lv```dd$\230\275\27\3\26\213"
+"\5|\2356i\305\271\\nBB\202K\217\21\35z\270T\361\205\13\27.]\272\24\314"
+"\330\13\3\213\305z\355\265\327\204B!\300\263\344\24\347\363\371k\327\256"
+"\35\231]\224~\b\4\202m\333\266\1<HN\361\310\310\310\220\220\20\0\63/\36"
+"/\275\364RDD\4\263\307\330\362\371|\225J\345\356\331$\322`\30\306\320\267"
+"\356(\212\26\26\26\222}\343I\324\361\25+V0xQ\5\63`\30v\375\372\365\322"
+"\322R\272\316\207\354\13\233\315^\260`\301\247\237~\312\310g\202\\.\367"
+"\311\223\'L\324\24\346\3000\354\257\277\376\362\365\365\r\16\16\276x\361"
+"\42Cw\275(\225\312A.\f\7#!!\201\tw\31\245\271\271y\371\362\3456\377\3\2"
+"\2\62\63\63\2318\253\36E\321\214\214\f\232o\5\232:u*\305\233\227]\217\311"
+"d\332\277\177\177_!\274\275\275\367\354\331\3v\267\225s:;;\351\274Y\202"
+"\313\345\246\245\245\321\356%\243 \b\222\237\237\3570\353H\245R\245RI{"
+".U\251T\24/\252\374\77+V\254\350\350\350\240\327\77{l\22\230L&\212Wt\342"
+"\377^\37\321{\223\201=\301\301\301\277\377\376;\355+\343\251\251\2514\310"
+"\315\347\363\213\213\213\351\365\f\307q\f\303\314f\263\325j5\30\f\215\215"
+"\215\245\245\245G\217\36\215\213\213\2333gN\\\\\34\305\33Ao\337\276=\350"
+"\371aL\344R\275^/\227\313\251*\236\224\224\244\323\351ht\13\307q\253\325"
+"z\375\372\365O>\371$((\350\255\267\336\362\367\367\367\364\364\354;\361"
+"{\366\354Y\340\335\353\217\36=\262}\376>(L\344\322\362\362r\260\241\377"
+"\77\60\61\3441\30\f\307\216\35s\276x$\24\nkjj\300\n\217\216\216&\36 \355"
+"\271\324b\261ddd\200+\276m\3336z\337\273g\317\236%$$\20\31\244\255]\273"
+"\226\254i\f\303._\276\f\320K\223J\245\225\225\225t}\23\322\335\335\275"
+"`\301\2\20\271\271\\nss3-N\330\250\251\251\221\313\345\4\207g\236\236\236"
+"dOG\323j\265QQQ \241B\220H$\312\311\311\1\276\b\253/\30\206\335\272u\13"
+"d\5855\225\272y\33f\263\371\304\211\23S\246L!n\235\315f\379r\204T\37\256"
+"\244\244\204\3120D \20ddd\320r\2157\202 ;v\354 \267\204 \227\313\351\272"
+"c\251\253\253k\373\366\355\0\23\274\361\361\361\304\25\267Z\255\2337o&"
+"k\242\37<\36/99\231\226f\275\241\241\201\304\241\36B\2410\77\77\237\272"
+"U\34\307[ZZ6m\332\4\66\321\263b\305\n\342mkWW\27\245N\302\277\3000\274"
+"a\303\6\260K\200\373\202a\330\205\13\27\210\276s\2337o\246\345\357\374"
+"\360\341C*\375\323\305\213\27\23\77y\361\316\235;\300\206\354\241%\227"
+"\32\f\206\344\344\344\301\215y{{\337\272u\213\212%\33eee\24+]xx8\361Ve"
+"\317\236=Tl\331CK.mii\31\374\0\262M\2336Q\314\36z\275~\367\356\335\324"
+"c\376\370\343\217\t\3262\253\325\32\32\32J\335b\77h\311\245yyy\316r\30"
+"\237\317W(\24Tfy\32\33\33{\'H)\22\21\21A\320\223\246\246&\177\177\177Z"
+"\214\366\203z.5\231L\321\321\321\3f\262\270\2708*\243\336\352\352\352\271"
+"s\347\322\25\355\322\245K\t\332-((\240m\336\316\16\352\271\364\322\245"
+"Kb\261\330q\351\300wk#\bRPP@\357\r\27\304\25OJJ\242\321\256C\250\344\322"
+"\247O\237\256\\\271\262\267\250\377\254s\n\4\2\200\257\240-\26KfffTTTc"
+"c#\r\301\375\13qO\312\313\313i\264\353\220\342\342\342\230\230\230s\347"
+"\316\1\354\325\357\267\t\371\77\212\3\354\334\324h4\311\311\311k\326\254"
+"\241\375J\13\24E\211\374\f\3030\333\211_L\243R\251\222\222\222~\375\365"
+"W\262\337\371q8\234\1\333\361\302\302BR\357\13\305\36\267s\344r9\221\314"
+"i0\30\30r\300!\0\271\324`0\304\307\307;.n\347\316\235\304g\354n\335\272"
+"E\3130o $\22\t\21g\352\352\352\230\363\301!ds\251Z\255\36\260^\6\5\5=|"
+"\370p\320\42\214F\343\17\77\374\300t`\201\201\201\265\265\265\316=A\20"
+"$++\213iO\34B0\227Z\255\326\323\247O\17x\325\1\f\303\211\211\211N\346\260"
+"0\f\353\350\350\330\262e\213\13B\362\361\3619|\370\260\223\206\5\303\260"
+"\246\246\246\325\253W\273\300\31\207\330\306\245N.\222AQ\264\262\262\362"
+"\303\17\77tV\n\217\307;p\340\200\303\245d\24EkkkW\255Z\345\232x`\30\226"
+"J\245\325\325\325\16\267\261a\30\246\327\353srrh\276\42\206$\2\201\340"
+"\300\201\3\355\355\355\16kwEEEXX\330\340\245\360x\274\315\2337\227\225"
+"\225=\177\376\334b\261\240(\252\323\351T*\325\317\77\377<{\366l\346\243"
+"\370\217\'\261\261\261\275\242\367E\257\327\347\347\347\273\330\237\201"
+"\234\224J\245\277\374\362Kss\263\325jEQ\324`0\324\324\324\244\244\2448"
+"<E\322\361\201@0\f\317\2301C,\26\373\372\372\3020\254\325j\325j\365\275"
+"{\367\236<y\302\260\377\375\341\361x\213\27/^\262dI\77g\312\313\313\317"
+"\236={\343\306\r\27\373\343\20\30\206\275\274\274<==m\'\f\231L&\215F\323"
+"\325\325\345\260\363>\f\216`\32:\177\376QF\31e\224QF\201\376\7P\363\322"
+"\327\206\6\7H\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34"
+"\0\0\0p\b\0\0\0\0(POi\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332"
+"\355\3011\1\0\0\0\302\240\365Om\r\17\240\0\0\0>\r\f\260\0\1\336\211\0J"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\35\0\0\0p\b\0"
+"\0\0\0\307\222$W\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\346IDATx\332\355"
+"\326\313+DQ\34\7\360/]yS\36S(I\36e!\13egc\251\254$\13\311\212\265\254\254"
+"\374\5\66V\266\376\1\205\344U\344\21\26bh<6\246)\362\30c<\306\240\256\356"
+"\261\230q\347\367\373\2353w\245\244\346\267\230\356\235\3179\347\336{\316"
+"\357<\200Ld\342\367#\213\\[\255u\25\261\220\377\303T\256j*\252\224R*>\323"
+"\240cWD\375D\274_b{\\\245\342\253\233\243u\252h\334\27\63\355S<F\231\316"
+"\n\335cz\'\324\316%X\250d4\1\0\262\1\0\345\332\7\226\21\2655\265\210\276"
+"i\372N4\26\227\372D\24!\201\3665\325s\241\2476U\277\320}P\335\25\272\311"
+"\356\362\336Y_8>^x\205\351!X\313\230\347e\305\203jY\335N\371\371\'\4\237"
+"sD\313X&%Wm/]\324\272=7\225vN\225\236\262K\256\36\273\377\271-c\303\275"
+"Z3h\252\363v\f3%\307}p\245i\42m%1\bC\3138\2006\232D\217~z\315\250\1\230"
+"\363$\21\5N\342\271m\346u\340*\241E\306\226\223\211\31y3\353\25\371\325"
+"\365\306So\1\0\3414\32!-\350\372H\312\350\32\365\324\27\0\300s\32}%s3\235"
+"\306\322h\314S\235\17\251\26\35\206\213Rw\305\370\'\221\77\64\27\214\206"
+"\26F\212L\330s\223\314\366\207A\35\307\235\324\334\237\2248\300\326\215"
+"1\216\345OL\77\33\231N\210\245}\232i@h\204\216N\236#\367\205z2\202\276"
+",\371\226>\317\225\237\2162\302r\77*\244\271\261$\252n\263\215\242C\324"
+"\355\345\205g\30\256\213\267,\361\23\fVk[\333\232\213\2735\206\363\301"
+"\320\271RJ\251\263a\313xf@sKE8p\2319He\342O\343\33\317\356\326\311\373"
+":Vj\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0p\b"
+"\0\0\0\0^j\375\342\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1{IDATx\332\355"
+"T\273JCA\24\34\17&\20\b\26A\13\13\21A\305\316JD\77\300R\301\177\260\367"
+"\13\354\375\0\361\3\254\255\305/\20,\356\275\346\32c\42\211$\242Q0\30c"
+"n\310{-\356>N\262)m\204\235jfv\316c\267X\300\301\341\177b\6\0R;\313\355"
+"l~\342di+\363z\323\210y\342\244!\204\20\267\273<\260z5\22Bt\316\346\0 "
+"y-b\364\366Mb\373K\232\341<\200S\241\320ZQ\211tU\233\227@\246\255\2258"
+"W\221c\343\211M\332K\231\366\7\26\1pH\33L-\246%Yg\346\32\215]4\311\237"
+"B\42AM\246F-IZ\314\374\241\nSo=I\236\231Y&\376\250\217\26\1P\240B\333\250"
+"\300\42\0|\32\206Fy\3326^\263D\\j\232\353\232\316\202L)\242\'\305\3729"
+"VFlnvh\367\203\17B8\260V\341\221\0\204N~\312=t\244\233\3\61\311\26\277"
+"\33I\22\16x\244\177o\42Q\321t&\323\377\241\13\373\25}\200\0_\330O\252W"
+"\367\0\2\276\313\326*Z\fC\200L\371XDz\305(\216\304gbl\320\347\213.#=\267"
+"\324\204\275\214\212\4\366\34n\22\200\332\273u!U\21\310H|\352M\211T\352"
+"*\342M\31T\255+o\26\0.*\300\340c\342g8Z\0B\367u:888888\374!~\1\177\232"
+"\274/kX\321^\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66"
+"\0\0\0p\b\0\0\0\0p/\334p\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\67IDA"
+"Tx\332\355\226\275N\2A\20\200\178\b\32EM,,\344\'\307\36$$\32;-,\254}\0"
+";\23\37\306g\360\rLh\265\2673\26\226\306B\20\210\321\220(\304\203\30\22"
+"\64 X\334\314\301\315\355\356-6&\270\323\fs\314w3;;\263\267\206\241E\213"
+"\26-Zf\225S\307\225+\260\17\301v\26<\27\223\203m\255\271\372\r\354\22\330"
+"\315\276\347\22\345`\ft\35t\36t\303\220a1\304\252\4\253I\261L\202\270\331"
+"\240\37\245X\21\177T\\\225H+%\2119:\216\253\255\230R4\346\17\346--dm6)"
+"$\276\246\375!\305\n$\'\26\314\221\203\305s\304-O\242\3631\313$\333f\7"
+"\227\306\301\320\13\243\231Y%\fsz\205\nd\343JXA\320#\212I\242\227\5\272"
+"\343(E\253\212;\222\203%\323\202m\253K1\26\r\37\33\303\210\200s\31\37,"
+"c\222w\3W\357@\'\77\267\341\217\203\336\344\34\30\253\313\212\340PP\220"
+"y\306`J\276;8mK\360\243;v7h\25\354\336\0\2211\3475\'P\345>\244\301\260"
+"\354{\322$\275\376\37\371m\177K\6\60[\320\310\335w\245h\25b\327\245\225"
+"\214\322\261)\360\329\200\245\223d)E%\314\253\0D[\334T\302\260\2\35\230"
+"\22\26QZ\33\346\364@\243\3279]\262\236Bs\33t\13\16\236]\260\277\222\360"
+"\240\327\232\260g\3523z>\377\363\366\7\323}\215w\201c\270U\335\334\273"
+"z\277\4\37\255K\364\277\345\274#1\204\3359\202\7\27`\227\245I\262\30\31"
+"\33\213\337\310\24#_\300(\275\242\3601l\344f\217L_C)ZM0}\2\314&9y\347O"
+"\373W\321\252\322\355\16\234\0\214{FR\314;\1\350g[\36\rs\32A4S\270m>\f"
+"+\360\362\351\352\\|&\254\32Z\177\377\332\310\322\3605\355\256R\264\360"
+"\372Oc\251\r\22\315\22\326\177\32\243\27I\257E\345\3210\247!4n\42#jdn\264"
+"\247\1\231\276\212\24\243=\301\f\341\266\361\260\232`\372\264h\321\242"
+"\345_\312\17\267L\b\3375|\201\361\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0\66\0\0\0p\b\0\0\0\0p/\334p\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\3\323IDATx\332\355\230[H\223Q\34\300\377m5c\244fi\241\206"
+"\221\33\261\32V\326\42e\322\305\313\2!z***\32\4\366 D\31ZAATD\224]\220"
+"\2022S\272@\364Pi\245t\261\310\264\314d\21\26]L\203\260r\352L\331\254\345"
+"t\247\207\355;\3379\3379\347\373\252\227\36\332y\332\371\377\317\357|\347"
+"\362\277\235\1DZ\244\375\317m\214H\21\353\0\0\270;\370\207\363\245!\204"
+"\20J\23hu\177\267\310\b\366\2171\236\225\214\261,\260\316\264\314\6\0\360"
+"t\177\351\374\360\322\345\321\236\310^\336\203\224\355uY\3568U\310\361"
+"\24\361\233\373\350\f!\224Z\207\304-P\225\310\2476z\221j\363n\341\235D"
+")\326\17\327\269\21B\b\345\332\13*\272\b\360\222\201\241*\360\244{\23H"
+"\307\321\255|\'s\325z\5vH\322<IV\372[\\\247\314\35\241\251U\230\212b\335"
+"t\277\214\5\63H*\251\77,\366%r\274\273\232\330\336\35\22\273,IK9A!\217"
+"<\316\321$\231\232\23\224\244v\16F\233\300j\331\224wH\266\211\236\2617"
+"c\245\266\3f\214\305\256\222d\236\21\26\313\241\273\321\30[1^\222\59v`"
+"\242\273\275\30\313\303\262\311cYL!j\303X&\226\351m,\326I\365\274\217%"
+",*U\226\256c\261\32j\345\247\374x\361\304\361\16\231\330\13\250$\364\357"
+"\243\361\4\13\310ki\235\310`\321\315X\373\311,\1777\213\272\316\27&\306"
+"\270\214e\201\220\205\\L \226\233N{\343\320\236X&\343$\27\236\273z\246"
+"0\205\332\363t\245\33\17\226/\233\247\232\250B\27\363\223\r\0C\332\371"
+"m\244\215U\30\1\0`\202\0\13\371\270\311.P;\35\361\356~\341*mj\361\312U"
+"\222$\342\232T\3\335\310\315\345\374\322 +\250\36!\321\253\265\334$s\32"
+"i5\327R\16fl\326\344Pe,\313\305\273\264\271\316\271,7\261V\233\363987\277"
+"\313\257\311\371\2639\33\234U\247\311\rXx\7\232\323\240\305\265\360\323"
+"\252\355\302wu\256PT\22:k\207U\260\257\6\241\215\306m\270.\376\346z5\37"
+"\234/\304\252\325\312\231\0\0\0\364q4\271c5\253\240\354\205\307{\31;\264"
+"\22\65\356\261\347\237\77\65\34\60\263E\257q\273G\261J\234g\306\237\r;"
+"N\240\324\300\346\267\251\267il{x\210\341\201,\253\321\263QY_Ea{\303\330"
+"\tRX\314\311\335\372Fr\304\241pz\f\220B\17\247R\200\231\243\304\210\335"
+"\241\223\334L%\260I\231\234\23}\177\213\350\374\bay\212z\215w\23\267\350"
+"|\247\3\0+=b\230\207\265\22\277;\0t\0\61Q\364\210v\36\326C\244\3237\0:"
+"\0\77=\340\233\213\207\21Kh\34\5\320\1\f\17P\3\252\2<\214\310k\327\302"
+"\246L%\216\201\303\\\343L\307\277\206$\254\236P\243-n.\226\217\177\235"
+"\227R\211I\216\344\301\2\376\373-\21{\2557\31Op\5cU\202g\237l\224E\362"
+"\nR\6q\r\252\343bN\271\232$\35t\r^\346\225\30\16V0\42\251\337$P;\336\212"
+"\271\356\342)\n,\355\6\376V\3734\305Im\372!\77\23\352w.\211\13c\3719%\r"
+"\362\2015\305\263\27\323F\271b\177\7\23\261F\17\362\2\262\241\250O5\32"
+"\77L\27\204\251\t\333\336\211\230\340\275<\265\327\\\326\311\217\34\350"
+"\345>\223\346\263\317\274x\221\315b\224z}o]-\217\272~\367\219u\316f\204"
+"\20B\31\242r\213/v\273Q\310\334#\317\365\b&\264\22\0\337}\0\0_\344/\275"
+"H\373\353\366\13\305\265\227\342\343\200pM\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\5\200IDATx\332\355\230ilUE\24\200\247\205"
+"\322\26\b\24j\13\224\260\b\205\206\245\220\n\301\202\26*F4A\20\t\213\241"
+"*\306\230\250D\304\bR\220M\324\260\4\67\202 \n\n\224\6\210 6\42a\221=b"
+"#\213T1\24\313\42\217B\201\32\350^\n\355\273\237\77\312\235\345\276\367"
+"\356%\361\247\357\374i\317\2343\337=w\336\3149g\256\20a\tKX\302\22\226"
+"\260\374\37%b+\360c\300p\323 \2561\217\f\354\321\232\312\302\375\5\241"
+"q\213\306\tQ\77\375>\236;,\267\206{r\362\361PN\323\1>\361\206\245\37E\23"
+"kiD0\247\310E\0\245q^\260\326\353,LY\23\304+i\27\0\257{\321\6\\\322#k\374"
+"3\77\322\341\3242\273\34\200\323M<hco+\330\367\31\217U7\376wq~\252z\343"
+"\350\341\237\227\335\363\b\272\256\332\332L\312\221\317\273\225\265[\210"
+"A\333:\331j\301\337\245\25\42:.\251g\357h\333%\357Y\367\330F7\310\320\312"
+"\373\t!\204\210\373\270\206PR\327\303\235\326_M\265F\331\203m>\n\205[\346"
+"Nku^\271\256V\303\211NL\375\241\271\265\300\215V\3011\366\251X\325]\16"
+"]\317V\346\322\253\35\305\301%\351};\265m*\252*|gO\344W-\214\25B\314\251"
+"t_8-\200\347u\303\257Phxv\256\1N\271o\222\346>E\3137\16B>\3342\\s\1\62"
+"\335Wn\216\266{\323\r\313i(1\16\241\5|\347N\213+W\270\315\246\351\226\371"
+"\262\21\371@\335\203\356\270\271\332~\352jX\332\2\2735=\13`\261;-\252D"
+"\341>3MO\0\237jk|\31\270\326\312\35\67F\321\252\23M\323{@\226R\27\0\274"
+"\354q\364\267*\334R\207\3518\220$\265\2165\300\211HwZt\225\244\325\266"
+"7M]-\3202|\16`ex\4\67T\5\367\225\b|\327YR\33d\1\337z%\315w\24\256\237\243"
+"\6\225\200\277\213\334$\277\0\267\273x\3416J\332I\207\3455 Oj\317\1|\340"
+"Ym\16H\334lG\32/\1\206\332Z\254\17\270\322\322\23W q\3L\303b`\217\324\346"
+"\1L\366\256\205\307m\332\35\263\206\17\252\7\177\232\334$U\300\261\bo\334"
+"N\33w\301<\310\347\201\25R]\17XC\356\243\354/\263qg\364\321f\373\200Kr"
+"\251\6Z\300&\357\326E\210\221v\347R\26\217:\307\33\'\nq73\337v;\362\250"
+"\20\265\275.\233\223\233\244\77\324\'>\256\322wb\267\226\23\233\375c\207"
+"7X\225\216\235\0S\244>\1`\241\t\353\375\205\234x779H~:h\347\354\301Ef\42"
+"\212\271\4\24\67\327a\335\267\33\375G\335\233\322\22{\316\36\334\226(\204"
+"\20\3r-\200\325\21f\266\316\322\233\236\331\265\316\32\247\372\251\264"
+"j\231\3\366|\235w\271\361\337\17\325\344\16U\216\32\222\260\'H\351\235"
+"\252z\272r\247\255l\214\26\3137\200\365\260\322\273\374\245\34\33\326g"
+"\266O\316.\7\352\272I\207\224c\6\314\332\224\2447V~ G\351\311\305\312\363"
+"zc\276\352Y\fl\320\26\343\205S\252EY\223j\374\204G\200\352\216\352M\317"
+")Zi\312\275\301\f\13\356\264\321g\245LY\271\375\247mkgdF\231\33b<\300<"
+"\225m\177\323~O\265\2y\300\244\373841\27\1_\254\324Wh\2132Mk\16\3\353V"
+"P\231\5\60Q\252Oi\333m\177\204\331\34\345y\323\332W\0\77\313y\261\27\24"
+"\355vw\335\261\26\216x\343\326\2\376\201F\365\260e\256\341Xm\26\370\340"
+"\222\346\7\326K\365\201JE+\2126r\t\260\305\23w\b\250\352 \325\245Zp\243"
+"\f\307N\300\22/\332X\200wU\365(S\264\275\246\347p\340E\17Z\364\5\340b\214"
+"\324_Q4\277\243\210\316\4\372x\340f\2\214W\372a\205\333\350p\375\1\256"
+"yT\222v\25\300a\355\366\344W-w\262\351\332\2426\360\tNY\203^\313\204\230"
+"\254\202\313u\270N\0Fz\\5\32\34w\274\r\n\227\346\360\335\7\67\243\274\333"
+"\203\n\275\247\372C\322\234\373\277\237\345ys\31\3\60S/\\u\22\367\222\303"
+"w\13\324wv\337$\347\200\363\372\316o\'iw[;.\325\226\221_\203\311\f\0=\305"
+"\213\236\241\3365\352$\334qo\347\23*\200\3\306PJ\250\13\336\2`\271{p\253"
+"\201\206\376\306P\274\304\275j\214\217h\200\253\356\355|j\3\360\245c\360"
+"\206\2153\16g\352M`\234{p\373\200\362\4\307\340\346`\231\256\327\25`\235"
+";\355\31\200\200\257.O\333\270S\352t\16\273\t\24\266p\277\7\25\1E\315\2"
+"\276\237\310}\374\206\235\353\337o\0\256&\273\7\3676\300\350\300\361\f"
+"\373{\201\177a\254\20\242\355T\37\300\265\276\356\264\204\262\300\364\250"
+"mF\0*\366\356(hL0g\273yd\222U@}\360Gf;\77\3\221\343\325\314\367\255\7V"
+"\2060>\3513`\177\216\360,7{\201\262\370P\326\330igd\253\277ktd\310\257"
+"<r;\354\20B\274\345vhz\rII\214)+\376\375h\271w\235\216:\13\24F\205\77\240"
+"\206%,a\tKX\302\362\237\345_\375:\237\6<\365\255\24\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0P\0\0\0p\b\0\0\0\0\254\326\250G\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\4\337IDATx\332\355XoL\225U\30\177.xQ\376"
+"\352\275E\3!\302\221\3132$\r\'k\270\271\212\304\25I\32\223\245\321f8\326"
+"\7\254\311r\313e\306J\251\371\301&e\320,\302lSW\24I\37\356\300\376Xfk\375"
+"\2317H0\223-@\4\312\213\202\227\373^n<}\360\276\347\317{\316\361r.}i{\237"
+"O\347<\347y~\357\363\276\3479\277\3479/\200-\266\330b\213-\266\3747\342"
+"\210l\22\233\225\2216;\361\212\377\342\371+3\177^\314\312=\247\256\241"
+")\27\232\313\23g\4\227\262\243\27-2\266\77+\372\350\236\375\33%\342\337"
+"5+:\274[O\243B\276\273%\232MY\336F\335~o\273\20\237W\222B\346\347\nG\264"
+"\343[:J\2\272Z\21\3\0\60\257\236\306\370C\234.^j\37q\276\266\302TVS\304"
+"Z]\300\317\250o5\325\36\244;\223\256\207\267\216\342\r:\251\372\2461\242"
+"~Y/a~\243\200\r\354B\3Q{\265\0\32729\362\f\273\3600\325\317U\5#Snf\306"
+"\334\371\375\221\16\357\320\0\214/b&.ve(H\206\3634\0\357\213g\17\f\267"
+"D\1\'5\0s\331\311=\354\304\231D\206\177i\0.\340\302e\17E6\31\5\2725\0\271"
+"\rL~\210\231\24\220\321I\235W\346\351\351If\274\236\214\16\353\244\341"
+"\1\216\254\fz\312\262\203\246r@\311\16\262\byn\212\333J\206\257\221c\270"
+"#\250\23a%\317\247\243f*n\42\252V\207\326\311+\2600\364\356\353\352\42"
+"R\255\274s\365\270f\316\4\178\236\6\0\260\321o\316;3t\331\360\13K\210\357"
+"\0\2447\223\231\307\245\315\377[-\200\241\342:\302\204\306\366\30\375\202"
+"\227>\251*x\370\355\342\250J\350\347\n\270\356\r\216\250\360`\215\24\356"
+"\227\'b\243n\32z\4\264\320\247\17\314\244\253\331\42\0\256\236\246\247"
+"\274O\271-OPm\363\204\7G\363\25P\r{U\17Y|X\266\313\353\302\253\337\250"
+"\22\240NA\16w\36\363n\224\305\275/iz\237\3372\277\371-o\231<s\263vF\323"
+" W^&o \274v0w:\257\314%\352\374&\302\367cUw\275h}\334\251\225\b\0\13\334"
+"\251\231K\212\27r+=\355\336\276\221\376!\253C\341 y\332\360Rp\215\n1TQ"
+"\333\342>\246\1-\224\277oY\200\230\4V\0@\255\0\350\233\317\354\235aj\367"
+")\316Oy\210z\356\2\0H\31\26\20\77f\354[\303\272\3\212\375\270\337\240~"
+"#\tR\26CDZ\366`o\230~\24\361e\263\35\377\33\341>\341\274\08\350\266\264"
+"v\376\34E\276|\315\272\255\tkK\305\20\77 ._!\42\242*9\237\342\2742M\265"
+"GD,5\273\262 \42\342\237\tr\274\331}\234\323\34S\277((\0^Je;\370\312i\5"
+"H\1\341u1\304\226\353=d\77\42b\227\352Ru\222\367\241\315G\302\37\42\342"
+"\323\0\0\257 \42\342#\252[\311\77\274\13\223\371\253E\300\361E\0\313\f"
+"D\304\16\25\'<nqy\216Y{_D\3745!\371,\42b(W\5Xg\361he{\354~\21\361\350G"
+"\210\210X\257d\255#\26\207@2[\1\247\24t5\240\356p\332\255\266[\330\325"
+"F\5`\211\232W\5\316\354bi2\361\254\24\357\240\245\224\337\316L\332\4\353"
+"\307X\333{\rY\23\301\227\230D\3\207\217\223[W\223`\336\343d\255k$\200\215"
+"|\200%\\\32\275 \332\327p\324\321*A\334\304\1~\310m\373*\321|\342n\326"
+"\334\325+Z\30\354\5.#\200\210XAZ\326\253\242}\'\227\24\371\222\317\350"
+"\177\224\256\277\213\2108EX\n\16I^\351\4ws\330,\261\230\334irC9\42\42~"
+"\257n\323\21\21\261\203k}\337\224\231t\255w\2\200\263&(do\207\264\275d"
+"\313c\\\2274\33G=\315\237\f\205\231\222\275\304.\t\311\254\247\16-#\27"
+"\312#\30I\252\271\316\241\366%\371!\352\374\362\314\210\77~a\321\203\21"
+"\377Oy\363\271\373\344\254\2383\t.\267\336i\317DvjyO\275\266M\b\331}:\2"
+"\334\305\r\340\330\255\342\262\267e7\262\372\251\33\300\371_M\2\0(\365"
+"IW\233\344\375\303\252\237Up\276=i\346!;&\311\360\355\252\353K\314Z\217"
+"$\312P{\5\313U\5\307-5\255#\357F\273\237Q\325\302V}\343\247\3062\267\325"
+"&\363y\317\270ipn\177~\344\37\222\2519\231\356\224X\360M\364\17\364N\252"
+"~\35\347\270\222\35\276K\335\227\355\77\355\266\330b\213-\266\374_\344"
+"_\355V\20\332g\211Xs\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0\27\0\0\0p\b\0\0\0\0\320\260\264\236\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\18IDATx\332\355\224\301+\204A\30\306\37\323\312\301\1k\277Vr"
+"\240lZ\16r!\345\244msp\340\276\345\346\346\2548\271\361\17(}\305Q\271\370"
+"\2389I\3316\7\313a\205\3\326\n\305\26\3738\314|\373\355;\343\2564\277\313"
+"\367\366\233g\336\336i\232\17\360\374g\332\232\325H6\250\226K\224\313\211"
+"\225+\222\344\355zg\253\36<cDy,\326\3\67\214yl.\250\23\266r\321a|\201\222"
+"U\343O-\177\237\0\0\244i\223\7\24\60\341\34j\26P@\322\361\343\200\2\276"
+"\34\337\17(\340\332\361\335\200\2\316\237l\377\251\373\354\332\376\325"
+"l\253Xs\36\0\n\300\313\374\263\314\227\242\42s,\362\271\370^f\26F\223\265"
+"9]\277\5u\261=k\342{\320\375#\206\315w\307\32/\324\361#K\247\337I\222\215"
+"I\313o\353xh\351\\\203$Y\351\222z\350\201$Y\237\226:U\324]\226\245\16\214"
+"\336\220:s\251\365\246\324\371\252\236pM\330\366\255o\222\344GA\246{\356"
+"\364\200S\366\365,\222\344a\257\373\b\366Y[\372\355q\244\302>\377\207\360"
+"x<\236\277\341\7\346\357\363\275G\270\261\243\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0%\0\0\0p\b\0\0\0\0\274\266\346\233\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\2\66IDATx\332\355\327OH\24Q\34\7\3607"
+"\256\211\271\242\371\207@7CB\211\24\241\202\254K\7\21\204\202@\360\20\202"
+"\22\212\36:\2127/\211\240\7o\336\204\256\241\241\235:\225X\210(D\21\4\22"
+"\201\220\332\301\264ve\323\325\26\315\361\353\341\315\2337(\277\357\314"
+"9\366\235\206\357~\370\275\235\231\267\357\375V\251\334\310\215\3348;\256"
+"E0U\223\251PS0\230\301\2370\324\274\2\204\251\374\321c\204\252\352e\0\300"
+"\311\4Cw6\1\0{\35\f\265e\0\0\353\215\f=:\4\0|\253f\350\201F\33W\30\272"
+"{\0\0\330ob\250\3567\0\0\275\f\225\254h\364\216>\250i\215\\:_\277FxI\27"
+"J\306S\267\br\336{h\231\225\352\366\20\372\b*\376\351\241l)Q\303\246\324"
+"+\202\312w\215zB\324\210A\356e\31]L\32\365\345\354Gy\366\262\263\322\\"
+"\261\347\360\301\224B\227\214\256\373\b\r\362\214\235\376\325\341\252\\"
+"\3533\304/ok\325\334\366\263UY\265\330l]V\367m\266&\253f\233\375\22Ua\340"
+"\356\267DU\237o\263\244\254\2YZTW\3\331\236\250\22\66\372\353\212\252\314"
+"F\377\224\250\212lt$\253\22\33ee\5\272-\344\235\277\257\230\254\2\323\24"
+"GRd\306\300\273\213\313\352G\340<\210GQ\352\222\250\276GR[\333\201\363"
+"N^\253\37m\226\220\325\247\300I%\253\5\233\325\312\17.\266\343\377j\27"
+"\345Z\356\33\77\253\'o\341\261\335M*\310&\227\366U\233\274\347d\247\354"
+"IK\246\274\351\327z\315\326\307\202Q\2731\242Z\375b\367X\261%\243\206\231"
+"j1\352+]\2713\206\335`*a\216\307qZl\320S\311\2\246\234y\217\365\360\276"
+",\245\325\332\5\312\36\272\232\r\360\306kH\253t\202*\347\205fo\35\336\16"
+"zw\360\214\317Y\264\250\373\270>\316\342zu\270O9+\234\365^A\214oEc\'\272"
+"s\252\342\345\332\365\317`#\244\251\255\231\13\357W\225RN\177*\202R\252"
+"\362\371q\4\245T\303T\356\317\313\1774N\1\266d\253\27\352\375\343\341\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0%\0\0\0p\b\0\0\0"
+"\0\274\266\346\233\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2<IDATx\332\355"
+"\327OH\224A\30\6\360\361\317\206\233\256+\202\26\245\224\364\7\305<(\201"
+"\302fT\210\333\251\354\3241\202@\362\326Q\20\304\203\4\236\272\225\'/z"
+"\250 \20\17\341))\312\360$\5\231\211\24\232R\260\207-\3334w\335\247\303"
+"|3\363\261\366>\337\327\331\235\313\276\313\376\366\231a\231\231\357]\245"
+"\212\2438\16\352h\n\245^=k\t\243\220\35\253\n\241\200\365\253a\24\362\343"
+"\225\\\335\335\5\0\274o\346\354\374\32\0\340g\222\263\3727\0\200\354m\316"
+"\16\317\2\0\362\3\1\354\255f\375\1\223\256\3\0r\3279\273\224\7\0\354tr"
+"\366\b\0\200\215\6\252\352\322\232\275./\370\240\314\377\346w\344\262R"
+"J\251\306\222\27,\254zK\207\345\272\351\234\17\265\302j\5S\355\236\302"
+"0\r[\362\324v\223\270z\245\324\321\213\372\265\374\330S\222\325a\246\334"
+";GTi\312\260)\266\260\'F\345N\373\276[\250^\332\25\337!Y\235&\13\337\42"
+"\262\252\310Z\326\'\317\270\363\301\2267\311\224\217mV:\42f\251\25[\305"
+"/\310j\331\225IY}ue\227\274\256\263v]\330*\23U\245Sh\25g\314l\273ZV*\355"
+"\312\223\262\372\21J\371\262N\310*\347;S\241T\225\2542\256\214\312J\375"
+"\257\312\312*\276\177r\236\225\226\225\357!\222\222Ul\377.\342\352\213"
+"\250Jj\377\271o\13\257M\337\376j\20\263\216\270\362\273\274\256FW\316\313"
+"\247\303w\275\315\205R\263\262rO\360\325\217\262j\263\25\2713k\334\357"
+"@\356\314\244E\13\344.L\330j\234l\2269\23\265\31\225Q|\327\250A\22u\303"
+"\240T\214\250)\243\356\21\24\373\345\241O\207\210\272e\242z\331q\230\367"
+"\320$C]\36\332\250ej\332{\4\3650\224\320\r\5F\30\212,j4M\217\362\250F\357"
+"\342\f]\333\3\0\254\3241\324\235\1\0\254\321\256\264W\377\352\237O1\324"
+"\357u\206\307Y\2076\241\27>S\315\222ftS8T\32\334\257.\'\202\273\332\77"
+"\367\243\301\275\357\3633\301\335\366\203+\305\177/\7a\374\5\16@\246@,"
+"\347\5\3\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0\0"
+"\0p\b\0\0\0\0}1\2547\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\256IDATx\332"
+"\355V[HTQ\24]3\216\243R06\221)\211ZZYVR\202\217\32\245\262\301\354\251"
+"\5e_=$\304\250~2!\372\t\42\374)\372P\360/\302\277 z\374\31\275\13\42\b"
+"\243\207T F\245\314\210\357\322q\234\324Y}\234{\356C\'9\237\21w\375\314"
+"\331{\355\265\3679s\366\276\367\2\66l\330\370\237\20\27\333\235\271;\247"
+"\77\254\236\305\325<CN\234U\27\264\220$Y\247\32\277jF\b\206\26\304 \235"
+"1|{5\247\267TQ\260L.2\24\5Cr1\251x\206\255\342\b\214f\315\27\345.\361\313"
+"\2558\273\204\240]ry\25E\256\331\361\307\7H>\311\27\306I!\250\20V\331\7"
+"\222\275\373\255\361\307DH\270RT\13\220\344[A\325L\221$\247\313-\r\22\324"
+"\266=\222\t\0h \311C\0\200\202\210F\2756\13\362(\361\310\1\0\213\303\344"
+"7\27\0$~\222L4\336$\310\325\5<\5\0\270C^\7\0\\\323\211i\267I\20\77\250"
+"\373C\371\0p\206\254\2\200\235Q\235xe9\364y\243DO:\200]d.\200\265\303\272"
+";Zi\218Z\f\305\3275\200\217L\5J\202\306\206\3464\373\266\373!I\216\325"
+";}\244\'\351\362\224\364\214\336+\322S\233\332*=\305\233\222\261\251<\31"
+"x\323\326\214\232+\331\300\340\303\367\301\201\336\340\340|=\222p\242["
+"&\3568\350Rj>\367\271a\222\374~\304\241\330\336\277\273\306\1`|\204J\371"
+"\235\376grKO\313\347\3260{\22\275\236\324\354b\177\6\360\271\255\tu\227"
+"\322\200\356\366\217\77\372\207\3\221XSs\273O&\236\274\350\366\221\36O"
+"\253\274\346\231/Mi\263\13]5]\365F\240\214\364\0\7~\351\316\237UVA\275"
+")~\5\200j2\35\200oLwG\nc\316\3\31\331\254\rD)\0\3543\232\357\201Y\260\332"
+"(\320\b\0\270K^\0\0\64\31\231\3147\260Nw\77w\2@r\210|\'j\277\324\251\304"
+"X\3630\232e\214h1\0`i\217FuZ\16}Z8\'\266\233\36\2\267\4\265^$\213V[\377"
+"\246\206\20\311\216\2a\324\222$\247r\204\265\362\5\311\201\243\263/n\321"
+"\236\303\33\344\272S\324k\225\366\362\35\205\356\371\272\251X\16R\222b"
+"\267\372\265\337\205\5\212\202%r\341U\24\364\312E\237\342\343>O\353\207"
+"@\234\352K\356\206\20\324*\277E\23n\222\2144\306\344\34\177\331\325\226"
+"\360\343\200\375\331c\303\206\r\33\66l\330\260\361O\342\17\177\371,E\6"
+"=\1\343\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0"
+"p\b\0\0\0\0\201$\207\375\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\200ID"
+"ATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\364\6\2148\304\233\242\341"
+"L\203\317XU\260\340\320)\242\4g2aW\301D\266kGu\216\352\34\325Ik\235\220"
+"\234\335b\216.\256\201`n\370\203.\31\360\25\316\334\362\237$\300\77\32"
+"+\3035\r}y\217.\316\305\16g~\370\217.\371\37\237\211\323\320R\314h\254"
+"\214\352\34\32592t\216\202Q0\nF\301( \5\0\0\334xD~MU\277\351\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\33\0\0\0p\b\0\0\0\0\312"
+"\214T\20\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\63IDATx\332c`\30\5\243"
+"`\24\214\202Q0\nF\301\260\6\334\374\330\305\31\375\327\274\372\377\377"
+"\313\301ln\f)\325\343\377\241\340\251;\232\224\311\333\377p\360\'\16EJ"
+"\374\305\177$\360\333\32Yn\321\177\24p\235\5!%\377\33U\356\177\f\3\3\3"
+"\3\3\23\3\3\3C\20\13\232\365\311\b\346\n4m\377\177\361\302\365I\243\373"
+"\210\325\20.\207\t\224\341r\3170\344\204\340r\3070\344\230\341r+\177\242"
+"\313}\202\313\275\350E\227{\216`\262\355A\363\204\26\222:\256\371(R\237"
+"P\235o1\357\376\277\237\277\240r\353\261x\253\37*\27\307\200\351w1\b\365"
+"q-\2466\246\'\20m\235X\214t\203H}\24\303\222\234\240i\246\f\213\266l\210"
+"\324\31\26L)\335/\377\377\377\377\377\377\263\6\246\224\314\343\377\377"
+"\377\377\377\377/\34SJ\362:\304\304\nL)\305\33\20\251vL)\313\227\20\251"
+"&L\307\27\374\200\244\350lL]\245\20Mo\334\260xL\354\365\377\377\377\377"
+"\237\222\307\232\254\242\376\377\377\335\310\212#Wn:g\2143\307\362\263"
+"\f\362\42\5\0H]\365\232\271W\353\233\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0 \0\0\0p\b\0\0\0\0Z\237-\337\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\0LIDATx\332\355\3221\r\300 \20F\341\7\251\224\16,\270@D"
+"w\34a\5\37\30h\352\245\6.\241k\223\367\255\377Kn9\220$I\177\222\0\372\25"
+"ns\0\7\300\331\302\340\6\310\273\23\6\37\203\4PK\270=\313_\225\244\27;"
+"\217\5^\267i#k\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\33\0\0\0p\b\0\0\0\0\312\214T\20\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\0\265IDATx\332c`\30\5\243`\24\214\202Q0\nF\301\360\6<8\304e\232\317\377"
+"\374\377\363l\223$\206\fS\325\267\377\20\360\255\204\21U\212y\371\177\4"
+"\230\207*\331\361\37\31\324!K\351\376A\221\373\245\216$\267\360\77*\230"
+"\211d\333\7\64\271\327\b\33U\377\243\3y\6\6\6\6&\6\6\6\6\61\f/\361\301"
+"\345\276`\310\375\206\263\270\177\243\31\371\203\35\256\357\353a4m\7\177"
+"\42\330Ah\372\2\220\3241\356E\221\332\205b\210\324\35$\251\333\242h1t\32"
+".u\24#\226X\262 Z\257$3\301mB\222\326\322\20zu\371\376h\352\37\5\324\7"
+"\0\334\77\301\341\1\231#6\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\37\0\0\0p\b\0\0\0\0\303g\364j\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\21IDATx\332\355\326\315m\302@\20\5\340\307\n\22\332\240\f $\'\356"
+"\34\260[H7\224\220@\340\4i\202\22(\201\277\344F\22\32\30\16\203\370\211"
+"\375\230\265\27\t!\371],y\265\237F\273O\226\201\42En\227\22y_k\3\0fl_O"
+"DD\244\303\330\271\210\210\374U\311z]\267\217\340\322\327#}|2~\241\374"
+"\243\305\23\177\317O\202\371t\177\317\217\31\277\364\346S\3758\214o(\77"
+"\4\361\255\3031\370\246\362\37 ~\327\270Z\345\177\375\370\244\337\275<"
+"\275\313\306\'|\213_e\343\377\373Fs<\371\1\210\37]e\372>\210\37_\276Z\213"
+"\177J\362g~\344\305\3770\276\225\302\237\372F1\335Z\371\207,\374\211o5"
+"\'\27\177\364-\376+\27\177\360\255b\372\361\357 ~|\225\351\337@|\253\230"
+"\312o\30\377Ly\365\2430\376\205\363p\36\305\374V\276\222\203\207\263\77"
+"\n!<\234\331\234 \36\345\355+\0`Z\374\312\25\271\303\354\0\354\b[\7\246"
+"\3\13\300\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0"
+"\0\0p\b\0\0\0\0p/\334p\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3;IDATx\332"
+"\355\227]HTA\24\307g\375X77\267\222\2764\335\334-VM(*\351\213\4\303\354"
+"\213\242\254\240\202\bz\212\210z\220\240\350)\244\350\305G\241\27A{\310"
+"\254\267\20[\2412\b\222\210\\\241(\313UI\22\255mW\327\334u\333\275\356"
+"\336\36\356\275s\317\231{w\366\3z\352\236\227\345\234\377\374f\346\316"
+"\316\2343C\210a\206\31f\330\177b&\375\260}W\215\335J\302\301\317\37\6\27"
+"\323\355\312\321\362E\2446\363p\277)\35hc\327\242\210\355cSJ\310|7*j\255"
+"\337\301\2476xD]\233=\315\243\366\6\224vB\327\361Jgc[D\361\23\67\222S\215"
+"a\245\225\257N\212Ty\351\200\255\311\250\235\224\22v\323U\245\343\2137"
+"\365\251\n\237^\317Wh0qVw\r\337\321\6B\211\32^\342\247\341P\265\16vG]\267"
+"\3470\336\256\306\7\3635\324\26A\225oA\341\274\230D \204\20\362\32\250"
+"G\240\260\t\b\221\n\206:\1\377\\\27T\362b@y\304\34\204!\240%\314H\33\205"
+"\322f$\35\204\203\375\300]\276\200\332c)\226#\375\\\205\355\2460\366\35"
+":\'\355\0+;\f\245_\30C\203\347]\4\330\271\34(\3710\206\335\13\0;\205\224"
+"\0\341\270\316Z\212\225\354@\312\f\17#G)\326\200\263E\220\360\334\3\24"
+"\253\307\302o\256[[\250`{\270\355\346\260\233\277M\306\254.,\204\261\33"
+"b\366\241\202\325\344r\261\77\fV-c\225\204\333\375\2#W\311\230\223\211"
+"\263\351;\212\335r\31\263\23\356\222\260\263T\260\325\231U\33s\221\204"
+"\25\363\'\245\371\270b\t+\342O\212\b\214o\223\260e\31\326D+=\246\31Y^v"
+"\230\274\222\261\354\260P\206\314\234\204\5\265\237\314\365\347%\314\257"
+"\375d\256\357\227\260\351\24\227\16\366\200\204$lB\373w\42[\212\335\ty"
+"I\274\374I\25\60\362\230\214\r\363\227\300\302\310\303266\217\343\314\36"
+"e\367\336\220\214%\6\271\337\302\270\344\275\222\271\336pGcVhzT\301^ba"
+"9w\222\257hz\35\300i`\5\267\227^\212E\373\220\260\222p\334\3303\265\342"
+"t#e\25\17\353\13\252X/\252\204k0\2063T\'\250o\261\16\250\254\303\330Z\350"
+"L\366\240\2731\270\314\210Q|\344\337\302\222\177\35w\331\16\265r$M\1\305"
+"\317\374\247\25\21 \356C;\24v\330\314\236\364{@D\327\215\355@\30)\320$"
+"\277qU}\0\205K\340\16\324\240M,\365q*O\302\363\335\243bmz\t\251E\325\17"
+"\201\372\242^\360=\26=,\367)m0\244\36\360\16\32\364\225\351\347\277\302"
+"\1\332\344\276Is\t\rnM\2267m\352]\364I)!\204\24\336\246\17\227@m\362\344"
+"f\351<Cwz\377\247\270\243\201\226>\357\261\257\274w\331\265\5\335\307J"
+"\267-E\202w\271\265\320\267\2464*C\275;\216\240\221\313\346\364J\212\275"
+"\331=+\77$<\255u\246\364\37\231\204\224\256\267\22\341\347x\26\265\317"
+"0\303\f3\354\37\333_\17\317\323\337\356\35b\3\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0p\b\0\0\0\0p/\334p\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\0\341IDATx\332c`\30\5\243`\24\214\202\21\2\30"
+"\361K3\227\32\61\60\204\221j\250\316\361\377\377\377\377\'Q\223H\357\257"
+"\377$kS\354\371\374\377\77\211\332D\223w\377\375\377\37\2676\26L\21\25"
+"\3s{}&\374\306\302\265\231*\260\360\362\13KH*(\260\221\342\225-\377q\2"
+",\252\231\310\213n\372j\203\7\311\227\367\f\f\f\f\f\274,\344\231\303\245"
+"]\360\232p\220`\3\26\344ic\270N^\4\334\42/$\77\220\247\355\353 \213\356"
+"Qm\243\332F\265\215j\33\3256\252mT\333\360\323\306H\2446.T.\37\221\332"
+"$P\271R\3049\334\340;jSm6\226N\f\232{\204\224\355\n&r\242\n\32\271p\262"
+"11\375\302\336@|\370\237\b 7\2R\311(\30\5\243`\24\214\30\0\0\33\25\251"
+"a\322\342\232X\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\66\0\0\0p\b\0\0\0\0p/\334p\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3RID"
+"ATx\332\355\227KH\224Q\24\307\357\370hr\306G\222\222\rVJ\223YfE\340\243"
+"0\23\222,(ZdQ&\21\225-*\13\242\300\20\212\21000\27-\224t\'J\345\364\300"
+"\240E/\305E\224\202\221EDihM\202\346d\243\371H\35gN\213o\346~\367\234\357"
+"\33\273\272\213\346\277\372\346\374\347w\237\347\276\30\13(\240\200\2\372"
+"Od\320\13\206\254IM\260D\7\261Ig\257\375\375\307i\251\202,\247\236\214"
+"\201\240\361\247\347\227\377\25\312nt\201F\236\227\205!3Ak\237\203\37\365"
+"\34\60\370\203B\257\271\300\277^X\365\207\304r\77\323\3735\331\361i\302"
+"`I]\212K\35;vG\247.k\217\267\330\346}&%\262\252b\34w\361\202\226\212\377"
+"\246x\2359B0\241\r7\364\34\245L\357\24\343q\4\n\233_\341\372v\23\354\246"
+"\22o7\221x\334 \342\234\26\344fy\303Y\232\306\237\306\315\274\215Lo\37"
+"\246\264\223\23>\202\233\271Z\360r|\321\215\332\261\272\207\253\253\21"
+"\254[\276\340Hi8\305\316b\314\21\254\246\307\220\32\356+ \330N\222-i\334"
+"IG\361:#\302\322\tV\304\30cA\2141\226\212\376WX\217\6\3467\251}\t\307\22"
+"\261\221\177T\3745\217`\138\26E\234\322 \3727AS\34\13&N\302:1O\210\351"
+"\344\330(\35t\21[I\274\317\34\373B\261h\341{\3\361\336p\3545\305<\302\222"
+"\'i\332\337\311\261v\7\301\354\352\347f2^\217\30\307\334\265\330\202Va"
+"\26I\211\342\306\260\310\211\22\241Iub\360\276\0]\342\334\260\375\36\301"
+"r\251i\307\256\222\324:\201\353.\236\346\216\273H\230\264_\230\262\33\351"
+"v\334\341u:\363\204h-\251\254@\263O\32\62\267%\305\fw77\271Uj\3533\274"
+"\334\233sA\342\24\211\354\301u\r-\223:|\352\311\t\262W\212:N:V\42EeL`\352"
+"\212\24\25\337\213\240\3513R\224\251\35Q\77wHQ\301\17\21\325\226(w\25\250"
+"\22!wY\250\34u\31\35\300\331\222\327\216bq\266\252#$\251C\302z\260o\227"
+"\275\342\354QW\203\247&R0\222m6\233\355\272\37*o\222S\335\271\3109\t\0"
+"\320\242Oe\361;\220\373\206\31[u\0\0wu\251\365\374\364\371\260\211z]\0"
+"\0\225z\224u\300\2673\224\321\205\314b\1\0\340\222^\42~\365\255\361\f\255"
+"\271Ko7a\214\261\205\336k\6T\233u\312,\7\0\200|m\372\266*\320\260\376z"
+"T\312\334\342/}\337\256\320\245\254\212\233\354\'}\33\314\3723S\255\330"
+"1$\\\242\344\305E\335\213cXR\271\222q.\262\341\35\25430\306\230gX\7\232"
+"\37\246\2368\213\361\3161\6R\352PO\34\306X|\243I.\317\35\42f|\20\'\271"
+"<\6D\254*\215\315\1;|D\372\275\361C\305R*\345\237)\375\34\13k0\311c\203"
+"\34\253H\231\305\243\250\217\337\374<0\13Y}\265\371\177\206\314\334\267"
+"\331hbtN\330w6\'\314\301\217\374\314\320~\307\220\fb\214\212\2115\264\4"
+"^\330\1\5\24\320\77\252\77\376A\243L\305\236E\230\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0p\b\0\0\0\0p/\334p\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\3\253IDATx\332\355\227YHTa\24\307\77\307"
+"1G3\307%\2650\265TJrK\312\245\3242\312$\304\7\355!\234\n[ \352-\304\f*"
+"J\212\36|\210\212y\213\254\260$\204H\t\242h!\243\305\5[\324\324\33470\327"
+"\34\33\235Q\307\346\353\301\2713\347\234\271s\275\217As\236\356w\376\367"
+"\367\335s\277\345\234\357c\314iNs\232\323\376\23s\21\361\251b\242C\203"
+"\374\224\214\315\214\17\367\264\366s9\375\304\226|2qh\23U\247\202\226a"
+"\\5\215\\\304\26\237e\271HP\231\35\334\221\325\2469\202<\356r\t3k=E\251"
+"\265_\2057&o\347\307\207G\354:\367\5\203\215\301\42T@\273E\235+\266v\233"
+"7\212\270\356uv\224\362\235\360\373{\2007\254\33q\315+)vY\220\352\221;"
+"\332\200\270{\204\n\237\23\224\331-H(\301\343\222\216\261\373`z\23\240"
+"\3403\203\270\267\210Z=\17\244\2610(U\342\341\214_\362*\30c\214\345\254"
+"\200cZ\241\0\255W8\254\3\20\333\211\244T\rh|\306X\6l\324\343Hj\200\244"
+"\306\222\16bd-\316)\201\266\200\265U \310Y\34\211\2737h\30\260\346\r\260"
+".2\215\363\216w\211\t`/\2614\2\276\356\242F\222y\n4\274&P\374w\340\224"
+"\342_\353E\235\234\200\222)\6(\t\30{\204\343\322\2\251\30\n\32\214\35\42"
+"\277Z(\254\365\371\42\344\277\216\250I\17:D\301W\233\26\370\237\216\233"
+"\21\330\375\ra\347E\223\246\257\33umDT\233\273\314\364{\3R\32312\251p#"
+"\240fv\313\244T\37\0\65\260M2\233\379\2727`\3511\350\r\240\312\375%J\207"
+"K\371a\306\30\353ol\352sO\314\267-\254\327\227j\245\276\225)\226\221\177"
+"j\343i~$\355x\273\216z*\2367\230\355j\fiG\346\3227\374\266&%\7\33\307\245"
+"\307\316oJ\274r\364^\t\226\344\322\3739\347\13CuO\253\33\214\b\234\327"
+"\252%KcT\334\232\245\361\365<>\210\300\201t\231\323\355[\2038c\216L\316"
+"\263\r\7\232$\223K1#n\310G&\367\2\217\350-\231\330A\214\231B\345a>\213"
+"\230+%Ky\303z\327\3616\223=\327\24\207\232\203\260\214y\227\fp\316\371"
+"\314\203\315vX\5Y/\2616)qHp.\24R\354\32\301N\332v\246\16\270\317\22\354"
+"\fw0\226\312\357\350\200E\366\3161\202=\26J\207&\32\255\311\213\322\325"
+"G-`\5\330\237\255\222<q\252,\230\333\16rd\213\24\251\2036\233\266`!*:\303"
+"\250\345O\324a\13fw\220\232\306\265\201\250\235\26LO\374F\\\2227\21\271"
+"A\330Sd\325\225\241\267\24:\254\352\255\325\243\35\371\207\361\201:\231"
+"L[\245\265\344\243\202o\310\35EX\36\211\321\26\313v\320\331l\6\231\r|\200"
+"\345\315`\32\337\333\334\373I\347E$\306l\240%Y\7e\224&i=\246\252\3047\207"
+"\31\3270\377fL\r\5\340\224Z-\b#\260bF\265\222\343],\tf\305\23\353\367\252"
+"\366Y\252PH)>_\363\361d\273\365\255(\271`=\263\376\256\357\322\263\240"
+"\2048\262\366\3534}\42)*\265E\352\256\302\307N+\304S\233\262\240\323!4"
+"P\344%q\7\314|(V\336F\313\262\24\313\334\26\335R\322\22\243\303\255\245"
+"Y\377\243\275\376c\213Y\326%\223)\3\3\375\24\214\31~\215\350\234\327p\247"
+"9\315i\377\236\375\5\312\270\253]\231\n\242h\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0p\b\0\0\0\0p/\334p\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\2\rIDATx\332\355\227=H\34Q\24\205\317\314\202"
+"\306E]\214\254X\250Q\24M\20\13\211\245\202\244\20D+7\202\22\220`eaa\221"
+"bI!\204 6J\272\r\4\13\13\305\77p\203\275`mR\210h\241`e\227 \32\23\27\242"
+"\253\'\305s\343\314\352\356\334;\245;\247\2317\357\315\367\346\3363\357"
+"o\200@\201\2\5*\20Y\202gjf-\0X_V\365\34\376N\222d\334Qg{c\237_\232\353"
+"/\325\313&x\253\21\r\365*\235\301b\212 \353\227C\231bJ\216\205\223\321"
+"\377\345\337\362\20\227x\247v1\365\316A\361\205\224\352I;\261:!\325x\342"
+"\244X%\34\35\273.\212\21\331h]uS,\26a\357\263(\212\250\336\264\37\254\351"
+"\214>\260\362=\372\300\254u\372\301&\351\7\353\277!I^\351\260\347\306\216"
+"\235\371\334\330\3\23\'\3625\2\0\247\261T\356\236\357c\326B\13\0\\\277"
+"9R\255\35\37LH\223@B\221\333\200\261c\303Ra\255\347$\311\303\b\362bv\266"
+"\35e\0p1\340\261(\272\261\320R\23\0`tOe\307\264\tg\326\334Is\33\64vl\205"
+"TX\333\5I\3628\2634\312,\251L\206\1\3402\366\323;\33\333aG#\0`|[e\307\214"
+"\te\356\256F\222\333\220i\373V\254\302\332\215\35\77j!\302ns\213\32;\256"
+"\207\217e\31\31,\264\362\f\0\20\337T\331\361\311\204\261\346>7x\3456b\352"
+"\367K\241\301:R$\311\263f\2101\33\210&K\0\200o\17U\211}1\235}\274\327\220"
+"\77\310E*\325):\5\311\26\274\307\203Y@\303\323\34m\361\327\356Q\221)\34"
+"\374\311\333eB\265\343\24\372\7\260\375\375#\344\303\312\263N|B\254\332"
+"}+<O\266\376u\177\356)\347F\370 \361\244\242\276s,Q\342\256\354\352.-\342"
+"\315e\256\267\364yL\356\276G>J\2\5\n\24\250`\364\17\273\0\264\225\17\224"
+"*\30\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0p"
+"\b\0\0\0\0p/\334p\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\224IDATx\332"
+"\355\227KHTQ\30\307\277\321\311\3611\243\3168N\251e\346H\241\230\217\f"
+"\27\222\4\211\205\224=\\\204-$\312V)\230\5\5RP-\212\254]\264\2500\241\205"
+"\20\244\220\213J\13%#\265\22\61\37\205\231:\216\217P\36319\r\243\243\236"
+"\26\63w\3569\337\275s\2573\253\240\3716z\276\377\375\335\363\272\337\377"
+"\234\1\360\207\77\374\341\217\377$\2\371\177O\37\twX\244\236\325f\237,"
+"\237\232\0\0\0%\237\315+\1\260\215\214\216O\317.,\330\255`Y\7\0\b\16\t"
+"\210P\253\265\272\350\270\330\4\3\0\230:0\246\1\200\320\324T\351\321\231"
+"\235\177\2\370L\304F&\365\301\'l\250\317\'\354\2210\365\213\310\306\234"
+"\310\253\327\344\261KB*R\236\352R\n\261DYj&\311\3750\277$Z\271\345X,\374"
+"!\202\351d\250\261\375\37\301\373\336\236\355\351\5\61L/\5u\345\27\317"
+"\323m~m\242\0\0\340O\230\220\2615>nA)%\232[\242&3mW\222\321\275\255s\375"
+"\237\337\265\330\4oB\230}ff\3709\0\4o\326+5`]\234\\\222[\337\227\204\20"
+"\62\270\301\352\16`\347f\366\32\323\371\206E\1\0\214{\213)\265>\365\246"
+"\3o0%\273\333\256A\206g\247$h\303\310\242\335d\352\37\222\344s\t!\204\204"
+"\0\300\216+\355\253T\271\314\326\227H|\256\'\b!d\26\66\25\267\254\13\n"
+"\315V\223\346\t+%\204\220\357US\342\25\272V\227(\216]\226)mk\271Bl%\243"
+"e\326.\354~\203Zd%\351\342\36\63\317;\364\306m\b<\336vhV\360\266&\327`"
+"\226j\217\271\26.\341\372\2\32h\217\240\224/:\5KU8\22544#\356m K\25:W\275"
+")\206M\7\275@\334mFV\214\22B\bY\21\330g\3700\213\255f\321j\214++4\275\243"
+"\250\273\16Z\3248\375\377\267\320\254\25_\20W@\253\316\271\337\23\331\257"
+"J\204\275\246\305\255=\204\254\327\4\211`F\374\2311\333\31\230[d\24\377"
+"<&\20w~c\25\331\210\260zt\b{:\256Q;kc\30v\245\370P\306\225\3659\211*\313"
+"@\247\3c\363xK\342\250\3763\33\235F\360\353f\bz\254\bW^&\257]p\270\263"
+"\275q,v\30c9n\251\234Nw\253\244\261\335\234\222\274\314\344+\31\354\24"
+"\306\228\245\216\315\17\n\275\211\nG\220k\3\324E\354lv\306\322-\\\321\246"
+"\25\27\226\243B\312v\272\201-\245\227\333\356d\211+-\0\66\310V\16\23x\335"
+"$\335\310@\342\33\16[\305\27\27\23=Fd/]\203\34\206\357\325w\t\3258\210"
+"\304ZO\33\372\224vmx\305\212\77\371o\317@\337$\227\2571E\21\357`\261\n"
+"J\353\344\323\r)\354\230\36\260T7mRg\334\351R4\223t\266\263\345L\306|G"
+"\270\374^\226\212\370\312vv\226\225\13\270\23\264\225\271\251\351\336K"
+"Y9\0\334\341\224\201|>\231\217\234\274Zx\317x\342\26\373n\34\330\2\20\234"
+"^\326\316B+eb\367\223[\353\322\207\360p\256\270C\25\230% {u\250\'gS_\235"
+"\367\0\331\36\306K\36\353\347\332\204\77=\326:+\204\327\31\5j\33\362\366"
+"e$\273\37\263|\353\372\324<-\322\201B\254\327\310\30\275\n\300j\35\267"
+"\370\177\205\373\303\37\376\370\7\343/\275\271\27\320\267\225\343T\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0p\b\0\0\0"
+"\0p/\334p\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\254IDATx\332\355\227"
+"[H\323Q\34\307\317\246-\347\264\31:\261\234\226e\245\261dby\201./\222\321"
+"\213B\215$\223z\t\252\247\242\36\24\204$\350\246\335\36%\b\323 B\324$\n"
+"\324\274d+4\255P\212V\230F35\357m\316\313t\227\36\366\337\376\277\337\357"
+"\377\337\3451h\277\247\235\337\367|\316\3319\347w~\277\363g,hA\13Z\320"
+"\376\23\223x\227\222\264\311\352h\31c\13c#\206\217\363\1\215\266V\367h"
+"\334\t\314\326[\226\344\27RW\3168\5foJ\363\tE\336Zt\212\232\375v\230w*"
+"o\304\351\325\272U^\240\220k\16\276\227\376\264vKja\7\340\6\224\242\224"
+"\274\211\3572q\230\333\354\6\300\325\213Q\341\257\370\16C\211n\357\5\370"
+"\77\363\205\224\354%/\377Iv{C\373 \366^\210\325\2\371\230\307[\202\267"
+"EC\251\363@l\361xc\311q\\$T\246\25\210\273=\356Rr\b5\230R|\7Z\'\357\327"
+"\23\254\31cw\241\246\343\375&\202\351\21\245\265\1\311\304G\221\204FJ#"
+"c\214I\335\362\235\20\60\306\363e\317O\247\205l\201\1E\42\32\261\b(\35"
+"d\266\375\20\303\13\217\7J1\246\6\340\305\316F\3220\nn4\2425\7j\17\21V"
+"\207\26\243\352\347\225e\35\272\231\13\b+%\1~\303\302\tmZ\224\202\212k"
+"Q\277\374gd\367\224\207\366\250\2453\206\226o\330\335\210\227\235\22X\326"
+"[3\217(\207\314/!e\214\261\354\b\344\233X\t\f\333\213}#\376\377_(c\214"
+"eb\337\270[\313H\335\34%gs\223\203\37\306\304\330\37xG\36\60\306\230$\257"
+"\316\302\273\6+v\t\250\b\22u\225\214\261\234n\32\371-\331\4\323\222\16"
+"\245LZ\276*\222\224\357\343\235+ \372\331\260:\361\244l\330\16wRMf_\252"
+"\327\211\357_\312\233\f\320*\'\203\372(\2\223\311\374\1D\323:\305\30c\316"
+"\266\366Q\231\346h\2\226T\r\231V\367\357\32\221a\77\245\273\362t\211\215"
+"\b\25\236!\352\205\324;Oe9I\224\225\35\236\204#\240f\325\342\31\36\245"
+"W!v\t,\'\221\34\2415\216;\200U\272\321KU\240a|A\312R!\207-R\254\25\345"
+"\306&\242\26p\230\235b\275\250\365\232\250Y2\27\66K\261\317\2505l\302j"
+"\230\306\205MR\314\210\233CD\336\346\302~S\354\227\370\265u[\202\13\63"
+"Rl\16\67\351\42\344.\314@\334f\262G\26ql\224\254\331\352\'\377\230\271"
+"\314\325GN\333\17f\342\260.\337\335\42I\373\'\207u\222\307$\351\246 \355"
+"\257\356\3140\206\202u\201tk\307\261<%\341fs\340\202\26N\246\333\210\233"
+"\35NO\312s\240\361\266\342~\270\2608O\360J3\22\16\42j\3\246\314\n\376\201"
+"q\23u\334\211Z\344\211\\\r\227\376\24\16\370\4\365\273\214&[\216G\217~"
+"X\275\247\244\336\337\36W\361\334g\240\226\13\227f\207\312 }\234\303\274"
+"\337\0\374e\350H\323\5\357\344\36P\\\370\347\244r\32V\365\42a\350\251\f"
+"\274\376e\235\330C\307qN,dc@)\324\273>\24$\327a\206<%\36\352\362\307`7"
+"K4\353\343\216\274\5\224q\237\327;r|\326[\211rT+}\334\255\230{VQ\2525\335"
+"\317\335M\270b\244\314tUZ\0_\213!Y\271\7\64\261\\c\246\277\247\263\313"
+"\26\360Gf\324&E8[2\33M\301\17\361\240\5-h\377\232\375\5\362\255\32X\324"
+"\273<\t\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0"
+"\0p\b\0\0\0\0p/\334p\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\274IDATx\332"
+"\355\227\317k\23Q\20\307\247!m65\264\261\215A\373\13\223\266z\320x\20E"
+"\5\25\301\203\224\326\203X(\bR<\350M\17\236\4\377\1\177\240\26Q\21\275"
+"(Zh\361\242\250\b\202\240(\352\241P\264Tr\20*&4MKk\273\241M\3234\375z\330"
+"M\262\357m\266\314\356Ip\347\362\366\315\344\263\3632\373f\346=\42W\\q"
+"\305\225\377D\252\3641|-\221JNMN\257\254\377\363\215-[\243\235w\342\344"
+"\325\347\221~m\234\237\236\373\263\240\252\371\5\312-\351\246Z\37\371\25"
+"%PW\37\n\205\25\42\242!*a\255\372\30\f\262\26\351\2210\2468\300V\177\225"
+"\2616>6\224,\77\177\5W\326b\206WL\262\261W\6\252\272\300\306\16\33\260"
+"\b\233\372b\214d\13; W\214\30;\220\361\227\216\274\335\\s\342-\365\204"
+"\234x\273\267\254\215^ao\245/\276[T\352j}\265>\305O\365\36\42\265\200y"
+"*\250TP\217\17\20\321\342}\361-3\0\200\325=\226n\32R\0p[T\372\265o2l\275"
+"\272A\0(t\210\312m\32\326eI\235\0\0<\227\264G\1\0\31\237\25\25\232\2\0"
+"\34\221\324gL\233T\312\25\0\300\250\234\246Z\374\337[Q\275}Z\364e\375C"
+"\0\300\1\13*<\r\0\230\365\313\2067\0\220\255\261\300\236i\1\273n2\214\3"
+"\300g\13\252O\317\352\16\223e\1\0nT\246\32\323\32\366\326d\t\2\0z+c\217"
+"\365\374<i\262\354\4\0T\336\316\307t*-\374s/\21Q\274\275\271\265\271!Y"
+"\211\n\24\67\357\323\25;\345\367V\261\206\354\262C\355[\325\251ov\250\352"
+"\357Eg\227\354`\227Ku.b\203\332\236-R#\26\35\247b\247}\240\24\37_\330p"
+"v\266\\\213w\363\251\315s%*U\305\307\206\313\316\6\371T\267\241_\234cS"
+"\33&\f\330\16\66v\325@e<\\*\2267`\237,O\n\362\'\273\3535\314\306\270X\317"
+"!\241\251qOb#B\343\355fb=b\277\2161\261\17\42\326\310\243\366\213T\216"
+"x!9/Ngy\3166\345Do\77x\336NIU=\303\304\244\3712\13k\332KN\274u1r\262\2"
+"v\220\34-\322T7x\337-JN\26\351\138\302\24\223F\345`j^\326$8\30~\312\232"
+"QVH\344\343I\366\243\223\264\301#f\222\276\26\250\245(\23kJ\30/\31\375"
+"\354\322\332>V\256\254\247m\264\250\232\13\343\0\200\311\201\266\365/\231"
+"&\331\322Y\223\377=\341\336\302]q\305\225\177P\376\2nj\214\231\343\361"
+"}t\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0p\b"
+"\0\0\0\0p/\334p\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\254IDATx\332\355"
+"\227ML\23A\24\200\207\42\205\42\77\362S\250R\4E\33T@\16\22\42\210\32\344"
+"B$\30\65\244\42\61zP\214\21\16\4CL\304\3\32\17F\215\77\301\250\211\321"
+"D1\230(\211\34\4\21\25E\224\237\210\210\b(\6P\251\201\42\320B+P)]\17\355"
+"\356\274\331\235\355r4q\337i\366\275\371f\336\233\235\367f\6!Yd\221E\226"
+"\377D<\350\352\25\tQ\332\240@\204\230\321\321\301\336\236\231\205\214\244"
+"-xdb\240\3146\225\256\223`\24;\353\347\31\212\264\354U\270\241v\3640b\362"
+")]\f\322<f\334\210\243\\I]\222-\3675ls\256\266\256s\30\251t)9Q\240\303"
+"\353\254)\341\\\273m\334\2707\42X\245g\336\b\230\360\255\267\200\312\266"
+"\263F\313v\302\363w\200\273\311\247\326\232Y\223\215\27\273\272\37\304"
+"\267\215\264y\265s\246R\376\210\251\16\360#H\3231\316`T\t\374\257\6n&A"
+"C\300/N\177Y\270X\331\0;\3\r\5X\277K\210\251\376`\363Sh\370\200\365\33"
+"(\373\240\23\233\7\234{\20!\204P\344z\260+)\230\1\67\3A\'\270\254Z\nf\306"
+"\315\31\200%\202.\233(\230/n\16\3L\7\367\330\42!\246\306\315.\200i@\227"
+"\345\373\204X,n>\1\352>\230 c\341\2\n\33M~`6bc\207T\373\362\223\27\67\257"
+"Z\201\376#\231\220\255\344|\212\317\234\345\207\37\64<\347%\2621\27\246"
+"\257\236\323\333R\211\361\256\13*@\367\221P\326\30d`\225v=\351\374!J\351"
+"\2607\226$z \204\2245\254f2\213\27s\214H\3251V\346\307qY\323\264J\360c"
+":\30)\351\310\241\24\360\303\22P\325Vj\205\364\31r\217\r\35\17\240rz)\'"
+"\307\213\2254\256R2\272/)\264\334\220^\25\373I\312\252\250\273%9\346\36"
+"\305\321\340Fi\356\201\247\220\363\272\350\220\344\316\323\326%\275O\n"
+"sd\3228\345])\356\233\217\0\212\77\333/\35^\21\77\207[\230\205\310w\242"
+"\220\352\236a\313\205\274\212Qqn3\234j\n\353\213\21B\212\244Sm\363t\354"
+"\34\246r\355X]\302*\303\17<\264\320\356\32\34\265\321\206\265\267\241\353"
+"\336\231\25\263|\314\312\6\247\372\n\42^\314\337t\247\371S\262u\255\b\350"
+"\366\13\177fD\r\211\305\271\352\240\1\224dZV)\312\t\314\225@ip\217\323"
+"\357\201\265\20Kv\26\363\f\320\241\231\2121G\355\340\313\342\304\300Q\212"
+"\372\351\267\261\201\6\3601\356\304\264\364s\223\220W\2709etb\201\300l"
+"\25\301\200\27=\256\203j\236~\334\22b!\'V\360\34\13\25\301\374q\263\336"
+"\205\365\1\363j\21,\232k\375|\351\302\336\303k\231\b\206\365\267\330\230"
+"t\340WN\252\250T\360\f\327\1\207\321\f\270|*V\306\331O\200\253\b<$\374"
+")T\3544w^\201=\353\321\0\270Ja\305\16\351e\215f\342\35\21\63\1\270+\374"
+"\313Z4w\221\260g\223\226\f\220\336L\335r\42k\16\216s\27\5=\337\217\314"
+"\337\200\233\276\226\314z\272\254\20_JL\231\302\347Cb\325J8\314X\373\340"
+"$RF\306\353p\244m{\6)\253\345wi\316]U5\25z\212\354\4\335\35\233\30\64Q"
+"\26\354\346A\25V\322J9\253luy*\251\327\242&-%a\315R\356s\244\253\343\315"
+"\13\353\2\37\231\2520\365\22\204\220\311l\260\311\357pYd\221\345\237\223"
+"\277\24\242\2626T\332c\212\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0\66\0\0\0p\b\0\0\0\0p/\334p\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3\253IDATx\332\355\227YHTa\24\200\217\346\3508Y\243\271/\204{\232"
+"Z\241\225\266\231!\225&\tR)=\24\6F\21=\205\3\202\340K\4IO\366 \6\321\223"
+"D\13\201a\250\225I\221\222\355.\211\345\222I\266\270\245\223\343\226\263"
+"\364p\235{\3179\367\336q\36\203\346\274\314\234s\376\357\374\367\376\377"
+"\371\317\371/\200K\\\342\22\227\374\'\342\246d\fK\213\211\322\353\300:"
+"\376\365\323\233o\316\305Y\225]3hC2pu\307\312\220\3360l\223\311\207b\17"
+"\207\220\307\271q\233\242|<\344\200\212\177iS\225Z\275\32U0\203\206MWf"
+"Fo(~+\31\372\223\224\251\363fD\265\207\3\0\200{\245d\232\332\253D\225X"
+"\361\273\210\217tC2\316f\311\251\203x.k\206\264\264\23\350\301S8\25A\226"
+"\260\36y.!\373p \303\352\311\262\345!O\264Z<\0\310\'\324\214\6\373\272"
+"\260\253\230$f\7\301\32H\310*\354\232\364\23\214\356\0\09\233\311\300W"
+"Dk\303\312\272r\244\334\245\31QD\2608\342[\b\225\26y\236b[\351\221X$\316"
+"\213\242\3430\313\2770\272^\275\304\371Cc\1777\276\373ST\35!Z\310>;\266"
+"\205\16\63\317S}\214\252\205v,\216\332g\331\344F\252\346\330\261\b\307"
+"\'\3767U\303c\4L\357\346\30\2631}\267\200\351\230\331\207\351^LO\26\260"
+"9^\273X\34^\16\22\5\314\304\237\202\35\217`\346\216\25\60\313\b\263\207"
+"S5\212\271C\226Wr@!\234$\332x^K\265\2\366\202\331\351\366o\223\325\326"
+"\0\1{\252\260\302\222\344\312v\304]\370\321L\320T\266\204\3421C\262R\233"
+"$\220K7Y\264\22\244\34\215T\233\rb\3154\334\224\224n\253\7\345\205]\fT"
+"\303\34\257}\355[\177K\241\37\254\27\67x\214y\372\204\312\35P\247\324F"
+"|\305n\232_\307\363\271\255\361\213.\375\330Z\245\324\3664\213\377\313"
+"\324{\24\177\273Q\34\343\212\32\325\276\213\31:\311\334\245K\212T\303\232"
+"\24fid\311\321/\207\314\227=\200cU\354]\265e\243lD[\6\200\f;+[$\335\311"
+"\2469\321m\254\315\6\0\200\f\206e*]g\274\322\22#}tF\323\347\236.\213`\331"
+"\377\210\f\260\370\33\235\272\340\24\321\311\336\343\264t \241Tmu\22c\265"
+"\344\231\223\30\255\276\213M\0\0\322\211\327\344\347%\4N\17\64\33761,\232"
+"h\217\251;\327~\212\307\2173\354\247M\265{\203\1\335f\f\304\23D(#\251\331"
+"\205$\243H\r:@\260j\322\311\'\211\257\5\373*\260\307\272\t\273\312\351"
+"\216Z\361\2327cO\35y\376n\226v\350\326\351\263\200\343\245\342\342\245"
+"\347wE_\351o\36\356S\367\336a,\212\'\264U\372{\2\231M\27\310(~\354m\351"
+"R\33\261 s)\r\276\221QCR\312]\307U\2055\21oVFN\211\236T4\331t,\317\326"
+"VZ\253\304\311t=(\t\362dI~\232`{\354f\317\373h\355\345%\4\264\270\204."
+"\332\'\13nA\315\353\214\322\231\312\304=Gh\204~\6\224q\246\2\345/\252\222"
+"k\322\352Y\37\366X|\223\267\243\253owQ\257\312\31>2\243\332\4\346*<\325"
+"\317~\364\3eh\276z\205;\331\316;\13\62\250\323\20\270\362\327\242>\'+="
+"\301{Y\371\323\327\361\374\311\240\263\37\231naA\376\0\360k\354\273\325"
+"\365\r\356\22\227\270\344\237\224\2773\206\363J\t\265\311\217\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\33\0\0\0p\b\0\0\0\0\312"
+"\214T\20\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\77IDATx\332c`\30\5\243"
+"`\24\214\202\341\1\30\221\330B^\272\2\237.\357x\205\251Jx\326\217\377\377"
+"\377\377\377\377{\261\f\272\224\361\223\3770\360\306\31UJ\343\303\177\4"
+"\370j\201,\305|\356\77\62\270\317\215$\27\365\37\25\224 \311\355F\223\273"
+"\206d\344w4\271\377\242\f\f\fL\f\f\f\f\fb\34\350\316\226\203\313\341\3"
+"\230f\212#$\367\240I\335d@\230\271\b\315 d>\313%\24m\317\370\221\25\32"
+"~E\222\372\355\216j\212\343{Dp\6\241\273Uq\13Tj\227&\226\270\325\365\323"
+"\26~}e\313\225\321\24O\25\300\231\260\361\336\273\7\233\323y0\245\374\236"
+"A\343\341u\34\272T\345\77D\334\366\242J\305\240\244\211b\224\314\367\36"
+"E\356\207*\222\\=Z\32\234\201$w\5M\356\r\42\275s\374CO\327J\210\274\302"
+"\210\356l1\270\334\27\f\337~F0_\241\31\371\233\33\221\37\266\243i;\374"
+"\25\3016G\323\27\202\254p!\212\324>\24\267\361]@\222\272\'\205j\203\20"
+"\242\2508&\215Q\352%\\\207\24\37i,X\362\n\203\272\226\310\253+wGS\371("
+"\240:\0\0s\342z8[\25\305H\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\33\0\0\0p\b\0\0\0\0\312\214T\20\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\266IDATx\332\355\324M(\303a\34\7\360g\366b\263\245\2548x\233"
+"\344$.\344 \231%%j\234(\'\306IN\222\203\234\224r\223rv\301II\b\27\7j\233"
+"\344b\245\344B\333J\312;\223\227l_\207g\333\363:g\351\377=\375\373\177"
+"\236\347\371\77\377\347y~\17!F\214\30\61\362\77b\342\236\233|Uy\361P0\251"
+"\266\352\216\0\0\20\r\230\344\376\363\310f\243@\264\5p\3315\363\324\5!"
+"\223\274\235\212\366X\310\250\21R\206\b!$\217\20B\210W\236\264\227\231"
+"G6\17\63}\250E\345\3271fA\331\370\27g\3424_\335\234\365\2126#\f\262\304"
+"S\330&\230u\205\321\241[\376\374\310Mz\275\246,\352\336:\374^\17b\241\355"
+"\204q\342\177\217pJ\355\25\316\367\224\256\225{:\222\4>\17\206m\n\r\334"
+"g\266\350\274A\242\t\376D\264\n\344O\361\373~W\306\221#&\236\2275\316\2"
+"R9\244j\331\371\354\223+u\220=\337\312u\24\311\222M&|\3333c\252\5c\256"
+"\314\274\376\270SW)\333%\254\275w\250-+\366\314Z\35\311\223)b\315\252\257"
+"E\272\341\307\250:\26lS,\356\376\255[$2K>\252\331\340\223\364\257\227j"
+",JmGC5\351!}\32\233\245\264\257\241\342\27\0\300W\275\306\326u\267\4\315"
+"\30\245\240U\245\316o\0@\274\\\245\2167\0\300\223\346c=\224\22-*\215\323"
+"\1\37\232\25q\255\322i\\\326\251\275\366\322\227U\211f\366\355)\0\3119"
+"\213\266\f\27\201\253\266\34%\352\274Xp\345\254\337\374\77~\277\374\0\25"
+"l\272Sk \353\235\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\09\0\0\0p\b\0\0\0\0\201$\207\375\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\1\346IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\261\200\211\201\201"
+"\201\201\231t}6\223\377_!\307\272\240\243\377\377G\221\256\217+\363\366"
+"\377\377P\235,$\350\23\311\312\25!\'XT\246}\375\17\5$\271\326b\355\337"
+"\377\377I\327\311\344w\350\77\62 V\'G\332\215\377\3771u\22\f!\241\214|"
+"1\254\22\4t*\25$q\223\23\234&\253\376\374\307\6\b\370\223\321{\337\177"
+"\354\340\221\31>}\354\311Wq\350\273\34\317\206G\237@\3713\34\372\16x3\342"
+"\321\'\337\377\t\273\266\277k\360\272\323`\371o\354\372\276\317P\301\27"
+",\356\273q8\363m\213\30\36}l\361\227p\350{P\200/Z\371J\36\343\320w>\6_"
+"\202\221\355\376\210C\337\36w|\301\251\273\370\27vm\177V\30\343M/+\376"
+"a\327\367u\212\22\201\4\372\20\253\276\327\r\204\13\17l:\357\346p\21\221"
+")0u\236\211 \256$\306\320YIlF\304\264s\257\33\271:\377\377\77\27\316L\246"
+"\316\377\377\357dp\20\324y\5G\362yQ)@\\}\201\5|\354\222\42T\30\207\236"
+"\304\241\367\307luBN\266\335\370\27GQ\260\326\214\220^\365\331\77pX\274"
+"\317\235\220^\211\326\267\270\362(\301D\305\235{\27\207\336\273\231\204"
+"\42\211%\342\f\16\275/\253\bE\22\203\343\26\34\31\366S7\241Hb\320\232\377"
+"\23\273\336\237s\bF\222T\307{\\\221\244@H/o\301\203\377\344\324e\f\f\f"
+"\f\2541\347\311\324\311\300\300\340\262\343\37\231:\261\225\250\304\267"
+"M\320KqR\332C\2505\7i\355>\344\332\212\324\26#\242\206$\243\255\t\255\225"
+"\311\320\tm\t\220\245\223\201A\240\374\31\231:\31\30\330\305F\2732\243"
+"`\24\214\202\301\0\0<\336\246\362\262\274\1\217\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0p\b\0\0\0\0\201$\207\375\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\0_IDATx\332\355\324\241\r\2000\20@\321\17"
+"\301W\343\31\203a\31\241\202\rX\200qH\b\1\207\77ZA\340\77u\346\'\25\275"
+"\3I\222$I%\32\0\306>\24\345\375\36\3473$\1\264\217_k\371\255\262\364\367"
+"\351\215\327dH\241h=\274&\226\25\312\16\200i\tE\233[+I\372\267\13\362\344"
+"e\261\16it\332\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"9\0\0\0p\b\0\0\0\0\201$\207\375\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1"
+"\315IDATx\332\355\326\335+\303Q\30\7\3603\303D\244%\tk%%B+%\24\341\202"
+"P\212RB\271\20\245(\27JS\224\13\345\302D\271\240\274&)%\24\245\224PS\213"
+"\362R\244$Z\264\206\304L\263\315\366\370\7\3169\317<wt\276\367\237~\347"
+"\234\347w\236\3470\246\242\242\242\242\242\242\242\362\177\22F0Z\306\30"
+"c\307\332+\77\355\233o\360<\224H\224\0\236\251t\242\4\b\254\25\21%\0X\353"
+"\303\210\22\340\272#\212(\1\234\203\tD\t\3609\231F\224\0\337\253\371D\t"
+"\0\207\265\32\242\4\270l\323\241r\23\370q\364\3531jZ\366\363\255{\334\210"
+"Y\343\204\233o\375+y\230\325\178\5\213\336\253\301\16+\252\363F`/Z#\261"
+"+\336`\23\330\307\276xl\321e\333A\276uY\f\230\315Y\364\361\255o\311\204"
+"Y\203\305%X\364n%f\343\315\16\201=m\211@\254\256\375Z`\355\271h/\255\263"
+"\362iM\bW\241x3H\224\214e\315z\211\222\261\354\7\256D[]\252\345(\205\322"
+"\3023\347\274\244}\26\254\7(g\253\251\332\27\3243P*s\341Mg\2\347\231\316"
+"\220\270\350\256;\201{\221\316<\375\300\223\300\335v\307\310\356\311\330"
+"\207\300\331\32\264\262_f\336\313g\301\255\22\331\271\24n\360\313\0_3Y"
+"\2622T\37\b\226\371:\234$+C\363\271\300\335\367\304\222\312p\322\30.\333"
+"\237YP\206\340N9i\226y\27rHS\360}$\2314\77\355\275q\244\231\215wF\276\334"
+"\255 \275MB\230\0\\\351\32\65\374\256\335\274\205<\351\270\22\237\256|"
+"\271W\255\2414\307\27\374\25!H2SQQQ\371{\371\1\257j\301\372\34\24\373\230"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0\0\0p\b\0"
+"\0\0\0}1\2547\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\316IDATx\332\355"
+"WKhSA\24\275M\322\20c\342\247\222\244X\264J\212\264\350\302\17V\324\205"
+"\326\270\250\342_\320\202\250(u\243\242\340ZAD\252H\21u#b\5ATp\321\205"
+" Z\265JA\305B1R\351\'\205\3266\24\333(\265\245\371\330\332$\327\305\313"
+"L\336\334\367\342\314\272\274\273z9\237\274\371\334\271w\36\200\25VX1\233"
+"\242\310\b9\227\5\374Nojz|$\32\227\32\312wl^\37t\360\237C\235m\255_\13"
+"\277m\376\231\16\64F\337%\277\271\334sy\2\315\343O\343\2\23\375\316(\26"
+"\216\330^\303T\32\262\234M\f\306\262\6\313uq\262E\17\30\61r\276\34\0\346"
+"lm\232&\216&\301q\215\301\223K\31T\325E\34Wt\372\355|\b\335y\320\327#\32"
+"\322[8\345\210\344\341;\371MX\233\26\35]\234\252\323\303\357K\270\343)"
+"\31\324QF\274\20\340\317.\206\207\210\341\23\33QJ\304\33xR%\211\243L\303"
+"+\t\34\237\307\34\355\2049\16\0\66\0\232*\236\32\366\24%\314*\315\340\240"
+"\333\276\202=\214\21\42\250\31F\251\301[\350\260x5Cd\222\3401\236\357\204"
+"\260k\206L3\301\333\331C\31!\330\1\\9#\356(\37I\214\254\322mF\\\324\243"
+"\331Z\6/\2419^\317\'wC\247\277\300Gp\204\32\226\347G\267\257\77\207\r\354"
+"\316\203\17\211>\254_9\373\266P\225{\252\257\265%\303\365\305\243%\342"
+"\234O\337\375\177\311\332C^0\354\222\324\270\347\304pH\242\257\310\210"
+"\372G\262\42zO\324\177pK\364Aq7\337zd/x&\356q\261L\277I_\313\342u\362."
+"\360Q\247\357\251\224\267\215\3:\375c\217\\\357\310\27\261\251\263*}\351"
+"$\327\17U\253\350\35\3L\377r\221R\343;\306\213\274M\255Sv\346\312\357\t"
+"\305\316\2721\247\77\250\332\212oj\206s\312\275;\214\210\210\257\225\365"
+"\366\277\210\210\270A\331P\212\210\210\275\5X\223us\2\0@\233\272A\213o"
+"\352\206$\0\0\f\253\33\3063\0\0\77\13\245\215\21\312v\370Lz\303l\n\273"
+")\272\320>\243\376\27\256S\357\22\210\77\236\204\24\3655\337\371\361,U"
+"\321\37\326U\310\301\n\271\276Z\270\210u\317\225\26\274/b\311\276*3\324"
+"\222\36\62\341\226$\337~z\365\rI\f\253)\275Fb\bP: 1\30n\363\t\211!B\351"
+"^\211\341\25=Ko$\313\352\371%.k\263t\247\353\5}R!7\356\353/\317*\325\330"
+"\326\310\333\347\357]\212\305\276%\203\2108v\313\257\372\225\5\276u\213"
+"S\375\341\264\365\tj\205\25V\230\304\77\321\303R\214\t\352\357c\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0F\0\0\0p\b\0\0\0\0\206"
+"fY\350\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\6SIDATx\332\355XYl\225E\24"
+"\376\270\224n\224\26\351\302\322jk[vJ\1\r%-\42\26Q\f[\b \30\244(F@A\3\206"
+"U\305T\215\242!QP\fn\321\312\2324PD\226\24Q) \2\42[)`\1\245\205B\27\300"
+"\226\322\275\275\367\363a\376\177f\356\326{\341\305\7\357<\334\314\234"
+"\345\273\347\77s\316\2343\3\370\206o\370\206o\370\306\177=\332x\340\267"
+"\275\77&\428\244\345NeiQ\355=\302\304\214\30\66\250\217\277\\^9yx\337\37"
+"\266\27343z\311\t:\217\262\265\251w\3\222\226\323B7#\177\246\277\227 )"
+"\77\263\265Q4\303\342\5HT\226\215\36\306\221d\217.\236\2706R-\312N\237"
+"/\272Y]\37\32\30\36\27\77\350\1Eo~{E\253\316\16\370\\\376eS\356\234\4{"
+"\257O\313\251\223\334=\235Z\373\240C\246\330\265e\235]\360;\274z\321\24"
+"(\214w\213\22o\n\225\316u\267\35\226\231\327\r\231\353\275\335\210$^\21"
+"\2\326O:\266bq\310\32c\13\256%\272\216\332b\301.I\367\260\227\243n\t\301"
+"\213\341\256\276;_0\17u\366\30\23\275.\31~n\353\234][\5\353\373 /b\253"
+"\233\341\304\327\2358\363\5c\273w\241\36WB\222lLr\240\367k I\3469\243\370"
+"E\304\273\360AZ#I\362\240}\374Z\216\210t\211\264\27\356\370\354\346B+\311"
+"\332\375\363\332;\340,\26\326O\266K\206Y_\0@\313\320\243\272d\217\205\31"
+"\1rQ\234q\0\1\231\246\374\261\255~\307\6\0\300\331\376ZVt(#I\276k\27\37"
+"+\233\355\362\261a,&\311\305t U\314\306i*KE\34\4j\244\344K\216y]\233\234"
+"#\363\255#\200\275$\311]J%\250\202$9QC\231P\253\364k\362\266\377E\222\205"
+"\r&%\27\0\322I\222-]\244\316\213$\311\23\232\327\247\252\17\272\375J \200"
+"q7t\303f\3@\233\42\65\7\0\34%I>\255P\322\25\312\5\343\264H\321<e\25\26"
+"\274/\342\325T\352-\262\272\235\312\364[R\343j\264I\334\250`\16\n\312#"
+"$\311\233\246\300[$\311\225\2528\35R\3333@R\347)\230\5\306\31\'N\261\7"
+"\315 I\16\226\n\213\224\302B\365\241\13\24\65\316 \35&I\216\26\213p+I"
+"\226J\7G\337\221\362\'\265\24\376RR\217\233\244u$\311y\200\5@\252\5\0\366"
+"\321d\276\27\242,\260*\30e\3556sr\t\0\20)`\4_\246A\317\351R>7O\241\334"
+"\247\2229\307\234T\2\0\302\4L\77\0\300\t\223\267D\25\2637\265x\34.\311"
+"\205\347\314\231\350\16\374\5LO\0\300\237\6\253\3634\251\271\347\270\6"
+"\63R\316\266\252re\376Z\0\304\2@\335\r\2035C\2358\37\353\231:\332\3315"
+"\20N\374\7\260\0!\301\0Pf\262\236\227B\27~\3243U\326\314\253\312\306P\30"
+"\252\26@\224\277\333\346i\335K\n}K\rf\274r\260\42\307\230\373e1-\253u\22"
+"\267\255\323\277i\202\213o\202(\234\5\0\200$=M\260[\6\331\257:JwI.\327"
+"\42\262\210$\377\6`1\335\35l\234\311\251\316\321\1\0\223\345\354\7\25\221"
+"\17\304\2\300/\2\246F\363\26\342\303\244\220\356`Lu\205>\34\0\260C,\202"
+"\305\341d\324Ui|\251^:\222%\271J\35\362\330I\222U\201\302\232\272j\0\b"
+"\25\325\77V\312\34\321\367I\345\307\256F9\215|\2\0\66\65\b\30\24\213T\22"
+"\231#\205\364\bn7\335\3257\315o\7\200k`\300\24\212\262)*\215\24*\320`\306"
+"F\231\263\372\\I\3544\27\0\266\2373a\316\0\0\206\0\0\224\311\2275\2309"
+"\312\357\252W\377 \f\200u\271\\\77%\212\224\303I\31\241P\222Tk\232!\211"
+"\217\333H\3623%\25&Z\351\4\5I\222Z\177\262^\225\4\t\36_A\222%a\232\315"
+"\277\221$\27\3@\244\324\360S\273\255:v\351\260.\5$\3312B\217\255e\342\334"
+"\25\33dj\310\236\313r@\235\345Y\6-\366\2I2\23.\22&\305\256*\214r\350@H"
+"\222+\4iD9Ir\203Cs.\352\322f\0\210\250646\231\251\335B\332\352\364\332"
+"\35\375\225U4\1\216-U\6I\262\271\7\0,74l\23\1\300\262\240\205d\226\354"
+"\13\266\275\274tg\223\230nqj\314\2\205\221[\0\300\377\224\271+\33\237\31"
+"\263(\237$\257G\325;\335>l\37:w\241X\42x\217\1@B\205\203F\343p\34tD)\37"
+"\17\264Y\225\235\235\235\235\375\222\202i_*\272\207 \0\350{\325N\243y\22"
+"\60\306\36\304\372u\4\200\331b\361\250f\316,AZ\13\0\350\272[S\2716\f\0"
+"^\323\332\222\206u}\1\240\227\250\321\373\355:\321\243\262\247\3\200Q\77"
+"Y\215\306\77\323\250\304\3\67\210-\254\3306K\324\200\3403\302\260\207\355"
+"\256eI\307\2\0\240.\335(\302\221i\t\21\65\25\307O\251>\323\222\20\31\\"
+"YRn6/9\242w\\=\337\336\313F\334U\r\364\356\376\376\215\321r8^\r\332\354"
+"\20\214[C\274@ik\240T\3049\261\302\n\214\276s\262G\224\320\235Fw\231\342"
+"\202\31kl\264\355#\17\327\217\344\363F\243<\314%\273O\231yeOi\5\304\377"
+"\r\243=\256Lsw\335\272b\306WV\254;\337N*4\37\32\222\335\277L\310\207\211"
+"\246\357\6\273\272g\276\220o\n\234Ol\305\342\340\r*Z\317f\16\366\323y\221"
+"S\326\253\3462;\244\365W\201\347Vi\347k\315\311\202\313\345\3255\201\301"
+"Q]{\366\357\256\350\365\313V{\332\315\230\34OO\24\334\23\357M\210\246\377"
+"\336*\310\271)\336>U=\271\327\355\253I\376T\13\274\37\335\337)t\201Q\376"
+"\351Cw\375\266\2258r\350\300\36\362\250\264\26\27\344\345\235\266\335\333"
+"K\233\177l\267\360\366AU\365u%\227\233|\357\222\276\341\33\276\341\33\377"
+"\207\361/\356\302\377\37\304\344\26\35\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0K\0\0\0p\b\0\0\0\0s\230\322X\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3\26IDATx\332\355\230Kh\23Q\24\206OclH\211\244J5\rE"
+"\251\17P\27j\352[|T\20\25D*\42bl}B\301T\205\256\304\307\242\276\260\13"
+"]\272\351\252\13\265\306\272\320\n\22\212R7\1\37\245\261\270\b\212\25\304"
+"\252\265\305\250\201\320\2264\215\307\305M\232\23133wf\356dU\347\337\204"
+"9\367\360\33533\377\234{o\0l\331\262e\313\326\377\240\22\39\307]\0\0\320"
+"=h}\272\215\310t\273\b\245w\346XI\217e\224\177\42\307\302S\226Y\327\363"
+"(|g\25U:2\305\302-\26Y\307\n(\354\260\310\352\223\260\322\363\212b\b\246"
+"K\226X\17d\254/3\254\30\42-ca]Q\f\301\324m\301\20\303\204\225]\302\311"
+"vpYA\37M\17\t\327\325\213T\277\334E1\4\323\tAVX\205\325[\34C0\255\23z\366"
+"\247KU\243B\206\30R+\13\307\346\b\324\25\364\3\0\340\7\22v\237\24\250\353"
+"\r\42\42>\77D\13\33p\210\32b\237\302\373\270\3334\253\203u\6\7\264R\326"
+"\23AC\234\3X\230%\254\311\5&Y\327\330K\253\0\200\b-\354\206\220!\332\1"
+"\0\352(k\244Td\311\250\1\0p\16RX\275)\326+DD|\311.Z(+*`\210 \273\252\312"
+"P\330J\23\254{\210\2108\224\177.\217(\253\315\264!\256\346\257wQV\312k"
+"\230u\205-\255\376\251\257\366\23\205\2355i\210\316B\344<e\305K\f\262\216"
+"\262\374\315\205\310\\E[\334n\312\20o\245\241\373\224\365\320\224!\32\245"
+"\261m\224\225\361\33b\335AD\304\204|\365\212SX\213\tC\334\222G\233)\353"
+"\233\323\0\3532[\355\253\345\321\3621\n;`\330\20]4\336NY=\372\254\6\215"
+"F\274\236\262\376.#\31\312\233f\216\36\257\t\320\201\324,rdij\26\330Ch"
+"\350\217Gg}l2\336\1\312\17\213\354!4\324\317\257\253\321L+\17l\22\330C"
+"h\351.\357\374X\317\216\26\361\37\2523\315_J\2\23U\t\275\16\221\321XLW"
+"(\n\273\240k\210.\303\373\327\317\16\275c\347N\255\361\220\242\260\275"
+"Z\251\2132:\375\327;JY\21\255\32466~F\257\265I\17\17\213\325\23\253\231"
+"O\3079\353U\255\342&or\'\215\360\376\202\30\240\254\237n5\337\257m`\277"
+"\375\34\26\333\370HUqP%\315\31\323\367\214\332\326\342\265J]\27W\3477\312"
+"<\326\367\2474\262a\215\42i\307d~\242\307\334\357y\277\342\351\207i\312"
+"\252d\3410P\311c\225)n2K:\360\326\204d\360\231\213\7S\274I\214\225I\206"
+"=\255\362\311b\265\234f:\252l=/|\271\236S\31\330sd\266b\362H\337\307\257"
+"\277\323\262\230\313\353\231\351\13\204\226\253L\220\n\367\274\37N\202"
+"W\273\323\221W\26\325i\214Q\363g\33\321\263\373\364`\331\262e\313\226-"
+"[\323E\377\0\307\235\26kt\364e#\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0I\0\0\0p\b\0\0\0\0wm\2e\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3\0IDATx\332\355\230_HSQ\34\307\177\352\232\327e\3231\377\224\177"
+"\306\240\242\30\214|\261Y\bb\5&>\4%!\25\214Bz\352\321\254 \210\240\210"
+"\336\262|\210\314e\b=\330^Bt\220\31\251\17\265,[\353\252\245\230\221(\306"
+"\232\323-g\326\354\364`\321\356\357\\\353\356\307^\202\363}\272\347{\276"
+"|vv/\347\234\3379\0BBBBBB\311U\n\200\337\256)\371u)\26\t\7gg\336\17\373"
+"\42j\375:\315\277)I\220\273\372\264\342\353\356\220\325\42~F\320\323C\251"
+"I\42\61\66\2647Y$\366\303\225\305\17Ko\332ZyZ\215\350\336\237\237\6\0R"
+"A\331\311{\363\\\257lQ\177\245\272\207\\\364x|\177\306\251O\270\177\252"
+"@\35U\313\275V\24\60{p\342\231^\225T\216s\267p\42\355\1\216\\T%\331q\354"
+"\n\27\311\34C\221\345\342\337]\251\211M\211/\r\370[5\22I\320\371\26\31"
+"G\365D\22\273\217\f\323\36\42\t\372\261QF%\rs\337\211J\232\305F.\225\304"
+"\26\220a\244\222@B\355\20\225\224\236\216\214\0\225\264\31\33/\250\244"
+"\22l\364QIx\245|\347%\2222\16\42\243\211:\357\352\263\225m\271\205H\312"
+"=\257lG\217\305h\244\264;y\212v\314\371\32H$]k\215r[\256uS\366`\200\215"
+"\355\373\224\223\271.~\'\326>\246\354\306Q\5h\376l\251\234p]`\334d\335"
+"QQ\231\21oM\266\336\fr\265\312\237\225\306\317\225\'\253\313\42\262\277"
+"\17\366v=g\t\325*\222\304YK\275]\257|\313k\324Ok\217IU\213\243C\336\276"
+"\211\277g\354\332\253\213\361\313\333\223Db\214\365T\'\360\357\332\232"
+"\177=d\31r\212meV\324\375\262\341\211\3261\241\335\334~=\212\2\355\331"
+"4\22\200\245\27%&Kh\363\16>V\265)\r\353@\5qU\211\325{P\361\322\355 \256"
+"t+\316\200\3220\270\315\304u<p\t\31E7\250;gK\b\31u\273\210\244\245\16<"
+"\341\316\20I\340\301FM\36\2214\310\255\'\325D\322L\30;\273\211$\230\303"
+"\3066*\211;\336\345SIFl\30\250$3W\245\23I\205\231\330\231&\222\34\352\365"
+"0\201T\3059\3\64\222\36WP\20\355\241\221\2349\330qGH\244\r\27\270%\353"
+"*7\203S\264\220\256\25b\347\366\310\277\317\234\374I\21\316q\373\336\7"
+"\223\206s\360]\256\254o\346@Q\207J=\321\217S\301\42E`\335\221q\16\364\355"
+"\200\362\335\244\257\317\261\224\236\330\302\301\247\233\36O\316\1\0d\232"
+",\266\362\32\63\177\232=\354I\302\35\6c\314g\243T\207\274B\r;Gh\25\253"
+"Ro\\\2560\355\376IQ\215y\37u\312\344\233,\200\20,,\316\177\236\236\232"
+"\220\307V\304m\242\220\220\220\220\320\377\244\237SP-\26zH\345&\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0p\b\0\0\0\0wm\2"
+"e\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\347IDATx\332\355\230kH\24Q\24"
+"\307\257\353\373\271F\276\362E%\225h\n\212\221\202E\31\221\344\207\42\3"
+"A\352\213\330\7\65(M\305\224\210HI\202\254\17&\330\30300(\21\13\262\42"
+"\42B\23l\255\304\7e%\242\3423\205]\37k\355\352z\3720\263\356\235{g\346"
+"\216\203_\2029_v\367\234\377\376\346\316\314=\347\236{\21\322L3\3154\323"
+"\354\1776\'\266$8<\320\327\307\325l5\316\214\315\253\276\316\216\234z\303"
+"\428l\374EQ\f\26>\262\0\0g\330\230\304\352\237 b\3\305[xA\226\5\0 \217"
+"\201\361\310\355\5)3\337\tA\b\241\374U\0\0\270 \313\361,\234\69[\256\364"
+"A\327\370\357e\374\177\\\304@\2315\221\370O[o\337\310\302\212w\310\356"
+"\244 \373\225*r\f\'\370\357\3362\357\252U\370\\\316\5\254\207\342\256O"
+"P\343\253\226\4\35\235\301u\263\331:A\324=\177\216 \325I\201JVq\331\307"
+"`J\20\330\42$=\220\230\250\265\2U\233\247\230\246|\r\3274\211\202t\r\2"
+"P\227\227\370\365\362pT\253\250\244N\0\62EH=\2022L\365\222%\0\200\\\351"
+"\367\333\350Pu\210\204\323m\2\320W\231\354\366q$R\27\35\r\235\25\16\351"
+"\270\\\26\244\256\77\252>\372\225\274\26\202\276\313\27\234\207v\335\20"
+"\25\312&f\334E\371\24\17\61\363\272Q\352\316\247\204 [\20\243Z\334\340"
+"\205F2p\225\30R\7\253|\5,s\302%\302\357o$H\245\314Jx\217W\222\351F\246"
+"x\n\223\24\313+\205\31\345<J\32627vy\356\344\244z>\323\370R\22I\250\372"
+"\255l\322#\356\303O@:K\252\372\25\254<-V\274\354r$\327\fR\365M\1\311\370"
+"\216\233\778\351\240\236T\r+Y\16\271\202\342\201\223\322(\321\270\22\322"
+"+@\b!w|mI\245DcJH\223=\321\243\343\343\277\3619\260H\255\30NJH\366\33s"
+"\330.\nd\334x\17\241C\b\241=\224\333\244\222\264\235r/\252$\205nF\'\246"
+"C\b\241\0\312\275\244\222D7\t6\225$\375\246\335\35m\336*I\364\233rQI\262"
+"PnW\225$3\345\326\253$\315Pn\177\225\244\21\272euSG\22)!\333\324\221~\320"
+"\376pu\244)\272B\206)\372wPa\22\61_\232\251\2uY\21\3514\300\302\233\362"
+"xl\216w\322\13\254\42R\nB\276\307\252N\341{&jL=\212H}\0\0p\30w\365\220"
+"$\213\247\2P\4\'\365\3023\270\231\24\271\355W@\342n\353\303\262\240\31"
+"\262\220\203\272\242\200\324\r\0\0\5\222m1g\237\330\240\4\256\371#\246"
+"^\234\215 \255\261\347&w\365\267\244\273\201\34T\t\13\24e\5\0\200,*=\314"
+"\4iX\307 =\1\0\200I:\327/\221\203\312\224\7\245q\275}\21\35qn\'H\203\262"
+"%\330w\b\0\0f|Db;M\4\252P\216\364Ln\227\224\261*$\375\331+\r\252\344$\335"
+"\22\17\263\230\30\324\257@\306\6oY\362Z\265\4\312\20 *s\275\313\307\13"
+"\244\317k\356\223S!^D\25m`m\313\21BN5dM\250\42\227\343\220[\366\34}\356"
+",;M\316\257\220\355\335\315\4G\253\350\236\376\370\257=\360\324\215q\376"
+"t\240\211\332HO\33\6\'\314Kz\277\250\330}\353\235%\334.e64\372z\33\60m"
+"\366\244\242\242\232\334\316\340\330\352\267*]\274\322\332d\306em\214\331"
+"\310B\30Y\361yM\224\363\2450t\303\'~\301\207\222\23\243\361\355\360\374"
+"@\177\307\373i\265g\207~a\301\376\356zd\2\323\324\364\234v\326\252\231"
+"f\232i\246\31\333\376\1o\327\252\360\213\235gj\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\2\252IDATx\332\355\230\317k\23A\24\307\'"
+"\33\333\2645*\233\26[\32\324\266\24\305C\301\212=(\211\240T\250\7E/\36"
+"<(\bR<\364\77\60\247R\360 *\376\270h@A#\5A\24\274T\212\215^\332\\\264\21"
+"E\252VS5\332\322\244\355\332Mm\232d\327\223`\337\233\3255\337\\\204\371"
+"\236\312w\277|:\223\331}3\363\204PRRRRR\372\237\345\21\42v\374\357\261"
+"\374\222\275\360\303\230\313|MO\276KY\316\2715\356\376\253\317\'\2\277"
+"\3766\307G\237\304\227\35\2431\373\337e\16\366h\25\304\331\266=qR\2\324"
+"\312\376\325\267\336J\206\34\36y\365\226p_B2\204;\335M^!\304\332\206\35"
+"\307\6\306\212\364\251u\241\346\17\213\34e\264s\253\2\301\310,\r\214\267"
+":\363\266\321pA\'\t\377@\201D2\273\35q\353)\356\25\317\204\323t\215\17"
+"8\362(nX\222iK\221Pn\217[\334#Y\250=K\347\333\216\340D\217Eb\311Z\4\'\256"
+"\323\334\25\bWO\247k\205\221\257\42KG\343\271\346\5F\'\32r4y\2\371f3\17"
+"\251\23\321\220\22\20co\317!\4\67\274D\2353\b.\377\224:\335\315H\275\213"
+"\263\22w\24\301=g\316a\4\367\2029\241*\0\227\235\241N\335Nd\257\370\310"
+"\234.\4\227bN\7\202\373\306w6\4\67\317\234\26\4\67\307\234`eGW\265\16:"
+"\5\60\351\0\316\344V\r\200+I\16m\225\235,\262\24\325\334\372\16\340$[k"
+"\36\300\371\345\357N\271\270\r|\255\221\321\3253\347\23\262\24\33\2313"
+"\205\340\202\314y\203\34063\3475\200\323\332\230\225\0p[\330kl \223\355"
+"`\316\210\5\340:\2313\204|\263\273X\205y\0\3404vZ\217O\3\270\316\0u\242"
+"H\201:\310\366\311\373\b\356\b5.\256\0g\343\35548\355G\252q/;\32\233\300"
+"\311=\260Hr\t/\262W\234%\245x\371T\t\270\365t\321;m/r\305k\372LRQ\267\27"
+"\320\270$\323\234$\241\241j\267\267\355\367<\23\232\242\264:\327\275\200"
+"R#\335!.\227Hd\320\347\330\251`\367T\373\322\3522r\325$\317\213\21\217"
+"\264\23\245\267\206\373\306$}\224\333\373\33\65!<\372\246}\247o\246\330"
+"\323\311\275\225k\32\331f\177m\271\35\62.\343\306\371\31Q!\\q\344\356\275"
+"\34\320\277\373M\205\227\243\317\36\33X;P\30\326\2029\77\233\376\362\341"
+"\355\304\212\352\311*)))))\271\323O|X\234R\6\336\232\331\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0H\0\0\0p\b\0\0\0\0\230\257i[\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\273IDATx\332c`\30\5\243`\24\214"
+"\202Q0\n(\0\37\376S\2\242\240\2460Q\3139\24\33\304M-\203X\250e\20\63\302"
+"@\1\6\6\16n\21E\253D\31Le\337W\355\272\362\354\r\3\3\3+\217\200\242\252"
+"\251\275\n\206\n\36LM\2W1\242\344\274\2\232\32\215\216\27hJ*\260\2702\37"
+"\335\234\237\362\230\2128K\336\242\250i\304\22F/\3205\355{\210\305\263"
+"=:\333\221\371lX\f\372\202\256\351\n\326\340}\356\335\205\304c$&\326\336"
+"b\27\376_^\213\340\360\21c\320G\\\22\255\313\250\224\262\377\247\337\207"
+"19(K\220_\na,v\nS\366\306\3\324\312\264uP\232\37-\317\21\1\304\375\31\30"
+"\30\336\255\201\362\16\37\261\301\232y\211\0\2663\31\30\30.\303\fb\350"
+"\261\301\231 \t\0-T\356\326G\220,C\272A\226\250\334\77\13\310\flv{4\201"
+"\371\377\31\30\30\30xI6\310\213\23M\340\301\td\3\2107(\35Cd\25\3\3\3\3"
+"+\251\6\31\271a\bmf```\340\42\61\372\231\'1b\210\335Udb`\370C\242AU\326"
+"X\4\37\220\36k\311\215T\251 YZf3\22[\277\341\13\36\377f-\342+J\254@\316"
+"\230YX\321\314S\214\324\222\301\233\210\306\307%\2325\42\6\257Ax\3\373"
+"\333Of>\252\270\250D\210\237M-f\305\17jx\355\367\355\245\221\362\323\376"
+"R\'\214^e\273\276\243R`\357w\374H\245X\273\24\361\237J\321\277c6\265\322"
+"Q\355w*\31\364j\1\26\301\213\357\336\275{\247Ib\312^\210)\244\253\'((("
+"\370\225D\203N=\303\20\362Ej1\22o\320\377\203\30B\21\220\214Dj\246=\205"
+".`\240\313\300\300\300\360\357\7\251\6\335@\27Hb````\370Lr\263f\267\20"
+"\3\3\3R\256\343\211CnT\223`\320\337\367\250\374\24Hc\355+\245\5\33G)\3"
+"RXS`P\256\24J\177\201l\203$j\240\214\317\24\32\64\35V\bS\350\265\344\0"
+"\6\252\30d1\r\275O\305DL\177\25\3\350of\203\263\77\21a\220 \16q\233=\42"
+"Hu\26\246A\30\375\\5\354EX\336^\21\6\274\6\211c\264*\370\261\230cz`\42"
+"\33\62\377+\206\n\376K\30m\217\315\354hj\330\374\266\375CS\23\215\234\327"
+"8\270E\25\254\22d1\314\36699\361\364\213\317\77!J$\344\365\314]0\273\371"
+"_\2514Z\363\337\215Z\255\221o\3242\350\343\240s\3217\206Q0\nF\301(\30\5"
+"\243`\260\0\0c\307\210\270\34ur!\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0D\0\0\0p\b\0\0\0\0\202\223\211\325\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\20IDATx\332c`\30\5\243`\24\214\202Q0\42@\324\177J"
+"\0\77\3\3\3\23\245N`\243\206!\234\3240\204\201\32\206\3602000B\230\2\334"
+"\22Z\336\241XL\274\271\354\330\355\327\337\30\308\271\304\2244\255\354"
+"\2041\24\350]F\345\207`\206}\r\252\271L.\213~\240\2510B7\365>\272\31k0"
+"\235&;\363\17\212\22\33t\5\207\321\r\361\301\26\n6w\320\rAq\356gt\365W"
+"\261\31r\304\344 \22\217\33\335\220\177\350\352\337a\215\220\17\36\373"
+"\20\34\26\202Q\374\21\273\360\217\220;p63\331\351\344}\344\37\30\223\207"
+"\374\304vf\32\65Rl\303{(\203\213\2C\336\367B\31\254\320\300%\26\270(10"
+"0\354\203\206\351\324\n\36\354^\331\202\236\330\320\22\310\377\377\377"
+"\377G\301x\23 J*H\363\16\243\26\nw\332\177r\2V]\20\205{\3530\3\3\3\3\3"
+"\7i\2068\241\361\27\62\60\60\60\60\260\223fH0\32\177\335/\322\275\243\342"
+"\200\236\205\3660000\220V\332\227`F&r&$\n\350\'c\b\315\337\311\300\300"
+"\360\211\4C\270\226`\252\374q\217\2640\341\\\255Cq\225!\267\337\213\322"
+"zG\244\341\2529^\5\370\303\304\230\201KL\323\306\211\225\200-\370\r9C\247"
+"jtp\31\202\77L\3363p\261Sl\210\20\3\203\240\246M\270\21)\316\302U<\332"
+"\237G\bE\221\33&\7\315&Q!`\177\347wR#v*7P\301\220\377i\37\250\220N^wR#"
+"\261\315\370F\5C>l\240F\262\337L\rC\366S\303\220\227\217\251\221\213\257"
+"\222\227\1\321Z\334l\f\f\f_)4\344\353\327\221Q<\216\32B\300\20&j\30\302"
+"\213.\313M\206!2\350\262\22\244\273*\30\2433:\231\310\2666\254_,\251\211"
+"\255_||\331\305\307\37\77\377\241\322\250\305\341\321\24;\nF\301(\30\5"
+"\243`\24\320\4\0\0\210\315]\21mj\216\347\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\4#IDATx\332\355\230IL\24A\24\206\37\n\3122\bb"
+"0\f#c4\200\321\210\242F\22q\211\373\232(q\271\240\321h4\2\27\16\32\343"
+"\305D\242\t\306]\343v\22\25\215K\42\21\35\214\211q.\22\17h\334EQ\38qA\20"
+"\30\366\31\226.\17M\317L\325\353\252\352\330$^\372\235\246\253\376\372"
+"\246\372\365\253\367\252\n\3002\313,\263\3142\313\304\26&\227D\246$%D\306"
+"\21o\177\323\357\372>S\177\26\275\342`E\235B\2\326[}e{r\250 \257\217\20"
+"\262\316\20+a\347\243\36\202m\240r\267mP1\374$!\204\220\\\3\260Y\245\335"
+"\204gm\247\34\0\0\266\373\352\3436),\3731\21\232\377\274\35\306\275\32"
+"|\310\17\216\13\327\2039\217o\242\236\225\352\327\265m\2751cSg\244\f\266"
+"\214(\330z)W\363\342H\361\307\316o\247f\362\241 \350\375\t\205/\360T\367"
+"\213hc\\\224\266~=\23K\363\221\37\212\4\264\214:JZ\22\203%\33\177\321\270"
+"b>mi\7\245\334\247+JrS\242\263\\\332:\77%<\300\221\205_\13U]\340\321\326"
+"\320\264r\356\22\f\273\24\42+\345\210\346tQ\264\346D\276S\206\227\7u7\364"
+"%\251\315\264\213\367\210\2`TM@\347\322\25\304\274\247i\36qxN\357\325\204"
+"\17u\373/3\341\264W\262\20\17i\302\247z\2759\f\255#^\202\33\251E\3503\235"
+"N\333w\6W\42\315\23\233\7\225ou\372\216\260Kg\225\24\67\354\203\252\374"
+"\210\273\34lvk\216\220\347\304]\252\364\33\3569\301N\356\266\201\24\33"
+"\245FV\3\352\210\355`q\273\215\344\377s\204\20B\274\250=\17%\261t#\270"
+"\331jjF\355\225\250\34\204\31\301\205y\b!\204\204|\35\0\0H\316f\205\257"
+"\210\21\34y\240\256\'\6\267\32\315\345\215\261B\374\210)8*n1\322}6\206"
+"\253T\0\0b\231J\206\336\25\352\215\341Z\213\23\1\240\233\251\367\270:M"
+"\371\267]\3100\0\200\f\334\336`\2\227\212\232\373[L\340RP\363\77\322T\\"
+"\362\320\342p\242\3543\203\263a\337\231\301\305\242\346.3\270\241\263p"
+"\0\0\274\334uk\242#I\2\3634\1\0\200\13-\n\275j\2\305Db\371\352\313v\242"
+"\221\21f|\367\7\65\307\231\301\375\30\62\\\270~6\212\216\364amK-\0\304"
+"\215\321\7\r\264\267)\355\352\317\231\330\253\23\371\325p\376=V\254\224"
+",\263\207\236\272\372\20n\236\250\340\270\31\361\t\332w\276whH\212\250"
+"\340\260\333\227\373\314\252\300[\2524\221\303\253\271\371G\305=A#&\211"
+"pl`\371\31\234\33}\307\f\21\216M_>\6\327Y\301\216\230\34-\300u\3112\312"
+"u\24\217\231f\22\224\353\'\333\261Pt\b\227\341\372\317\263\35KD\267\3\322"
+"Y\306\2670\241\351\33\305\27\317c\264N\224\215\275\307\331\4\272\226\217"
+"K3p\275Q\313\374\245\213\257\275\310\235]\320V\2637\22\343\271\270:\38"
+"t\3529\306\243\315!Fp\266O\264\250+\231\203\273k\b\7\351^Zu\22339\305\30"
+"\16\26\63\267:\333uc\370\23\61\210\203\225>\372\362E\347 5B;\27+G\25\31"
+"\16\26\265\321\261\274\5\205{\205\366\341wB\231\24\7S\277\320\357Qj\247"
+"\272\227k\321\351\317\5\310T\2448\210\277E\363:O\7rK\324\206@\221h\\\b"
+"\0\201\3519E\327\201\233\316\330\231\255\307\363\232\326\3568\307\324\254"
+"(\255\305\275\355;\0@\346Ku\370x\217h\275\331\16w\b\267\42\77vh\223(\223"
+"\276,\0\0$\26\65pa_\13\3\223\324\274\347\224f\204\210\234;\235:,\357\325"
+"\25\324\216\260L\356\273@\216\311^\2205\315\21\254\256\2367U\356\252\1"
+"Z\243z/\350;\3319\323\346\264\217\216\216\354\36675\326\365\350\365\317"
+"\215\2\200J\237u\305m\231e\226Yf\331\177\262\277\211\326\37L\244&\205D"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0p\b\0\0"
+"\0\0\250#xz\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\67IDATx\332c`\30\5"
+"\243`\24\214\202Q0\nF\1V\320\376\2370hg```XJ\204\302\n\6\6&\352;q\304\32"
+"\311\b1\230\237WF/\314\21Sz\363\346+O\77\177\374\7\3473\363\361\311\31"
+"DY`\250\373\267n\353\365\247_\337c\2107c\304_\6vg\314\302P\30\214\303\305"
+"|\350\n\77\341\b\26ut\205wp\205\345\247OhZ_\377\303n\344s\274\2(\356\370"
+"\214\246\362+\16\357|\302+\200b\344_r#\371\377hR\37\65r\324\310Q#G\215"
+"\34\256F\262\340\223d\26\244\272\221Z\357F\243g\20\307\370\353y8$\312\211"
+"6\377!Z\353\351\22\316\326\5\32\3302\32=\243F\216\329j\344\250\221\243"
+"F\16\32#\231\251o$/\232$\'\16M\350\352\30\370q\31\311\313\207\246R\214"
+"\21\273\221\342\4\5`\240\tc`%\25\253:\306\351\30\n\3\221\245!n\345\347"
+"\225\321\13q\306l\2l\331p\365\331\227\17\210q\6f>~Y\203HK\f\205\377Vo\273"
+"\376\34\61N4:28x\215\34\5\243`\24\214\202Q0\nF\1\235\0\0\224\22G\16f\n"
+"\367\256\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0*\0\0\0"
+"p\b\0\0\0\0M\275\275\26\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\230IDA"
+"Tx\332c`\30\5\243`\24\f-p\351\77a\340\315\300\300D\274\211\3\256\224\21"
+"B\261q\213\310\231%\250aH\177_\262\367\326\213\257\2370\304\331\17\242"
+"\373\373\253\1.+\2\321\225\256\303\351\326\227\350z_\340T\372\31]\351\307"
+"A\25\256\243JG\225\216*\35U:\252tT\351\250\322\301\245\224\7]\226\37\247"
+"R\tt\245\22\270l`\337\207\336\314\371\242\217$\315\fmg\361\311\31D\314"
+"0A\327\314\26/\303\305\312\304\364s8\2674G\301(\30\5\303\24\0\0=\342\213"
+"(@\314\220\324\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"=\0\0\0p\b\0\0\0\0\210\317\'\207\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2AIDATx\332c`\30\5\243`\24\214\202Q@k`\363\2370x\310\300D\221\35CW7#\36"
+"9^n1u\327\30N\f\361\233\213N\77z\363\365\7\61\306\233~G\17\352\35l$\270"
+"n\7\272nwR\374\375\22]\340\31)\272\277\242\13|\242(\314\377\17\207\324"
+"2\252{T\367\250\356Q\335\243\272\251\247\233\5\316\322\265V\342\377x\367"
+"\340\rr\fI\274\16\255!\317\370\243IMC\257C\345\3205\313\37G\222]\314N\232"
+"n\355\347(\322\33\231\211\325\315\304\300\300 \272C\2\3050\2772R\302|\216"
+"\f\232`\215(\361\272=\374\320\5\271\22\211\327]\205)\352\201O\13J\333A"
+"\325\26S\201>>\335\337\220u\373aQ \204G\363\367_\310\272\261X\315\360\27"
+"\211\315\201&\367\32\305\337zXt\77Fb\243\267\25\237\242\350\226\306\242"
+"\373(\22\233\17M\356\1\262n.l\355\306\25Hl\364\270\277\216\254\33[3\367"
+"\344V$\216\4\232\344\5\24\336\77\214\36\303\7\r\344\224\363\27U\362\37"
+"\252[\236\243k~e\201,m\202&{\36\65\255\335Fu\330\2579z\'\220\371\350\21"
+"\272\21\265l\271\0\221\177\230\362BS\213\363\307\325\275\357PU\373\242"
+"5R\227\240\362\375 .\312\304\236\262T\320\274\275\35M\236\373\343\377\377"
+"\377\377\377\317\305\256{\1\232\267\255\321\25\314\370\377\377\377\377"
+"\377;\261jvG\213\221\225\30*\24\177\376\377\377\377\377\177\177,\232\365"
+"\337\243E\207\4\246\232\236\377\377\377\377\377\377\311\36C\302\345\35"
+"\252\346\77\256Xl\340\274\366\377\377\377\377\377\177U\243&Z\201~\364\204"
+"\222\202=`_A\244\357\345\t#\304\332\336\240\5\330\2374\34\2759\223\35P"
+"m\177N\234\270\361\372\27\257\214\206\235\6F\201\24\275\5W\201\241q\203"
+"Pw\371\230\42\236\362\206g\306_|z\337\347\261\340/]Mv\343\324\373\266U"
+"\204p\351l0\375\r\26\255\177v%r\23\327\7f\265v\260\326\25G\360\337]\271"
+"p\340\300{\222z\320\202\322\322|l\334\237\377|z\372\342\315\350\0\314("
+"\30\5\243`\24\220\0\0%a>\24\311[\334\333\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0M\0\0\0p\b\0\0\0\0~\206\242\37\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\3\nIDATx\332c`\30\5\243`\24\214\202Q0\n\206\f\370"
+"O\4\340g``\360&\240\206\201\201\201\211\252\16\339\246120000pq\213([\247"
+"\210`\310\276\236w\354\316\233\257_\21\252\5\305\265\335\42y0\324]\334"
+"u\352\306\343\217(B\22\217\320c\351\216(6\7H_BU\365\271O\3\233\262Vt\323"
+"j\261\373\307\5Y\315\357\tH^bAR\365\4]\333\13\354\246=Fb\237O\270\204#"
+"\26>\243k\373\212\335\264 D\302\3574G6\f\305m\377\210\2138\321\22\30\353"
+"c\354fT)\26\322\223\3014!(\343\256\317\r\212\323[^\b\224q\322\362\6\305"
+"\251\327\257\17\312\330\346\364\232\342\274\340\264\222\31\302X\21\370"
+"\215\342\234e\276\211\3\302X\20\363\13\2134i\261\240\273\203\33\302X\224"
+"\364\237\342\\\257\262W\0\302X\203\3350\222L\223\335\17\315\267[\243\377"
+"R\\\42\211\357\223\2010\366\205\375\242\270|\23\334\255\2a\34\367\373F"
+"qi\311\273]\27\232\317=\277R\\\366rn0\2070\256\272\177\244\270$g[\351\4"
+"a\334q{Mq\275\300\274\300\27\312z\360\214\342Z\206qz$\274\334\215\246\330"
+"\264\356T\4\273O\210B\323\352\212\2218b]D\306[\24z-\23\305\300\300\300"
+"\300\220\217*\370\317\226\22\267%\365\243\5\342Lv\362M\13\233\305\210&"
+"\242YJ\266i^\213\2311\304\252\325\3104\315a5\33\246 \3074F\262L3\333\300"
+"\205M\3309\226\34\323t\267\362c\227\350\25&#\205\374\203P\77_c\264J\347"
+"\223\3416H\360\374\215\310\303\220\211w \335m\377\377\377\377\377\377o"
+"\f\3\303\36\f\321\33\354d\231\366/\235\201\201A\375\7\206x\3Y\246\25\61"
+"\60\60\60\60\264`\210\377P\'\303\264zh\321{\17C\346\0#\311\246\365\300"
+"\344\260t=\22I5m:\302\376u\30\222oDI3m9\222g\344>c\30\267\210\264\364\266"
+"\31\251}\360\250\tC:\306\231\374\332y\302\25\214\304=\203\203l\323~ga\264"
+"dT\252\311o\207\34^\210!T\246E~\33\251\354\35F\245=\203\221l\323^Wa\b\331"
+"\246\220\337\32\234}\22C\250C\214l\323\376eb\264\2\205\372\311oE\237\237"
+"\206\231\344\335\310o\223\327`6j\246q\222m\332\247b\f!\345Z\362{\37+\366"
+"`\b\225\350\221\3373\312\376\211.\302:\217\31\233iD\231|k*\206\220q\31"
+"\66\23x\321\225qc3\256\7\263\257\320`\204\3054\31tU\22\330L{~\5\263U\274"
+"\32\263\340\224x\210^\34\336\302V\245\13\275\301R}\234\207\270\4\22\200"
+"\\\2\362\226\211s$\3215\n\307\ts132\374F\264\363%\214\242\347`s\261D\212"
+"(3\323\337\37T\34\343\372\377\277bt\214k\24\214\202Q0\nF\301(\30\5\304"
+"\3\0\331V\307t/`Z\346\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0D\0\0\0p\b\0\0\0\0\202\223\211\325\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1UIDATx\332c`\30\5\243`\24\214\202Q0\42\300\322\377D\09|&0Q\303"
+"\31\303\314\20F\6\6\6\6\6f>~Y\203\30\63\f\331\177\253\267]\177\366\355"
+"=)\346\315\301\210\223@\322]\245\216n\306-2\302\344\5\272\344\13\62\f\371"
+"\210.\371id\246\223QCF\r\31\65d\324\220QCF\r\31\65d\244\33\222\371\356"
+"\335\273w\375\f\f,\224\30\22 \bi\177R\342\22\1G\6\6\6\206o\224\31\22\310"
+"\nm\330QbH8\3\3\3\3\303W\212\f\221qe\240\334;)L\224\273\204=\rB\177\246"
+"\304\220dI\b\375\205\2Cx\252\241\fJ\302\244R\212rCLJa,\362\303\204\177"
+")+\305\206\260\255U\203\263\ty\7\227$\333rg8\373\357O4I\364\236\327\t\354"
+"f\b\35@R\363\1\335\243\350\206\274f\304f\206\323\3d5\217\t\365\1\377\273"
+"a\32!\77\377\37\212\222\233h\275\321Y\30\206<V@Sb\267\360\'\232\222s\f"
+"\260\222\215\231O@\306 \332\34\63\243\236\351\331\377\350\363\27\6\6\6"
+"V\36aE\r+Gq\f%_I\30\265\300\t\266R\243\264\3776h\f\371J\rC>2\214\202Q0"
+"\nF\301(\30\5D\3\0W\3447W\36\275\257\233\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0\\\0\0\0p\b\0\0\0\0\266\352H\311\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\3\254IDATx\332\355X\333K\24Q\34\376\3344/\350"
+"\206i%\231\331E\362\301D\13\273!b\24B\26\331EM\321\r\337\203\350\265\77"
+"\240g\37\203\240Go\353Z\26[J\241\201J`B\250D\251\24\245E[.K\255\312\32"
+"\346\272\323\303\354n3\3472\2273+=4\337\303\254\363;\277\371\346\370\315"
+"wf~\347\7\330\260a\303\206\r\33\66\376;\4%\rD\16\360/\274 ib/\34:wNj\345"
+"\217]\263:si\226{]\352\222\325\231\243\3708o\244\326\251w\255.9\\\342\252"
+"$\1\0\234\31;\213k\\\351\314\f\177~\230\31\317X\314d\306\245~\357\314\327"
+"PPRG\217\376bkw\236=\255\6\216\324m\354\364Avv\27;\333#I\222$\205V\211"
+"\354E\216\346r\374;\311r)\213\305\235)\377C\336\337D\374\33\207|\25\0\60"
+"\342#\305\275\312\42\277\230\1\0p\223\361\25M\267l\364\220\221V\276W\226"
+"\7LZ\261\203\f\234\335M\'9k\1\0\375k&\311\'\337\2219-t\322\345T\266*\272"
+"\213\250\303\200.\262*\201!\323\344]\304\2@y)\231\222]\3\0x\260n\232|a"
+"Lw\352W\266\32P\205\375n\351$\3-dZ\223\354\351\21\1\362>\322\3\5\325\352"
+"\363\3343\0\200\336\210\0\371\217\1\235Wc}\262\21U8\257\\\312/\ri\f\257"
+"\314\217\13\221\77\r\222k\246Ny\226\'\253\344\226\204\310\327<\232~\251"
+"\337bH\25\336\227\210\362Km.\345\225\271IA\362\261\5\42\220\322\364\367"
+"\357\374J\0@\17\4\311#\335\32\2724:\254\221\323~9YD\2502=+L\376v\212[\35"
+"\25\23608q~i\321\301]G\215I\0 \365Z \357&\227v\321)\225*\23\37-\220\373"
+"^Po/\371\347`\205QU4*.\312\352\315)\212\245\37\351\265D\376p\225\b\344"
+"\236S\2502\346\263D\276\354eZ\275\270\314\330\322\327)D)\277\3249\343\23"
+"\17{,\222\77\13\20\201\364\372\270\344\303\1\213\344\353n\206\325\17\227"
+"\30\366\212v}N\371\345tAt\342k\217,\223\217\177 \223\233\243\222\17\6-"
+"\223\323\305\363\365#\207\214{Eg\333B\371\245\364\16\0 \344M\0\371\373"
+"\t2\42\27\345OB\t \247\247\16\63\252\350\220\273\231{\255\245\201\204\220"
+"\373\237\263\242\332E\271\361}h\247\25U\364\310\37\257\320\261\300p\202"
+"\310C\214\245\250S\224\233\330\2363\374\322\203D\221\17S\333R\337\250\20"
+"\271\203q\273\r\252:\362D\204\310\263\24G\276_\214\253\242\42OQ\34\343"
+"x=\243>\377\364J\214\\n\316l\323\266\272nQ\316!\317Q\34\25\344\222\330"
+"\n\42\310\13\344\29I\2351\377Ry67%F\276}\227\374\31\336\257eu\23\217SE"
+"^\31\375\255\42\275\247l\251t\13\222\2738\333e\345\306qj\16B\250\b\363"
+"\232Z\212n\326m\372CK\200\371L\366}\211\217\373\313\324Ci\77\343\315W\362"
+"y O\322\350q\305\324q\371\25\t\3137\267\252F\357\307\6\350]m;\325oS\251"
+"\352\310)ih_ \357\177\317U\276#9\226R\35\13\337R\\\227\234]Xuc\224n\346"
+"mx\332\216\355\311\216&\335\3456c\343\333E\307\347\350u\361~\224N\3\332"
+"h/\27\0\42\321\352h\324g\316#\206\310c\357\27\67\66\203\374\3154\0\204"
+"\3736\205\\\236\372P\0\66l\330\260a\303\206\r\33\377\f\177\0P\212wV\30"
+"\306%g\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p"
+"\b\0\0\0\0\225\261\31\34\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3*IDATx"
+"\332\355\227_HSQ\34\307\177\363\256Q\203R*\263p\344\42\3-\26\375y\330S"
+"\t\203 l\216M\b\23\25B\t2,\310\227d\25\4EI\21\375\31\364\27|\210\r\205"
+"\310\322j\366\222AQ1\310\36\32=\b.\22\7\246\243\330\324\26-\267\323\303"
+"]z\327~\347\3769\273/\305\371>\334\303~\277s>\367\334\335\337\375\236s"
+"\0\270\270\270\270\270\270\376q\275\42\250\246+i\3n\20\232\306\213\250"
+"w)\35Z\251}jt\34T\3367\351\211\3G\217\2568h\352\322\2123\0T\224W\331]k"
+"\321,i\t`\341\222uU\273\352+rc\337\6_~\234\230\311\37606F\320W\365\335"
+"N}\254\246iI\277\271\316\245\271\351ew4\226\13X\'\26z\305w\346\247\275"
+"(/\\L\345\355\370\365\247\223\7K_Cy\317\351\345r/\333\345-\2325\315\241"
+"\274[T\334\236l\217#x:\216\177:\324r1\317\213\35\266j\302e\3344\336\230"
+"\2307i\302\321\313e\230\20B\310\224\312\257b\341\241\6,x\342\253\344\252"
+"\36\7eA\274\\\22\222+\r\27F\306\331\372\4\f\227\2\0\200yY\334\251g\310"
+"\300\275>\f7\13\0\0\63\262\270\364\1l~\355\307\221`F4\n\371\377.\341\211"
+"!\321K.V\277\213xR\371A\241w;\253}\276n\303\312e\320\302\352\306\376n$"
+"h\t\232Y\315\335\373\20+\227^\201\21G\232G\220\250\353*\353\322\223tG\221"
+"hG;\353J\26\365$\221\250\317\311\2720\276k!H\271\370m\254\353l\277\27\t"
+"\26\7\313Y\227\355nl\225\265<03\342\240\365\r\22\264\313\224\213<.\345"
+"\376\204\225\3139F\34\304\334\t$\332\325\316\210\203pc\32\211^w0\342`\b"
+"\3639c\277\215\21\7\276\233X\271\f\2242\342\340\3500\22\334\360\330\314"
+"\210K\327\217b\345\322c`\303A\302\211\231}\303yF\34\2145\244\260r9\310"
+"\210\203\27h\241\335v0\342\240\347\42\266\201\353\337$;H\334\362\354\303"
+"R\302\0\365\250C\236h\236\35\244\33\303\5\237+r\314\276\366\213\2368\210"
+"\272\223z\342 \324F\364\304A\337\31]qp6\240\tW\244p\7r(\244\5\267\\rE\365"
+"\243.\252\36\267$[\354rf_;\253\32\267\42k\215\262f\337\234V\213[%6\253"
+"e\357\77xB-n}NC\323\345\273*q\325b\263Y\341\355u\f\253\303\355\26\233m"
+"%\362\270\324\37615EZ\232\314\32\3161\245\236\225q\232AI\264pz\237Z\243"
+"\304s\374T\304u.\346C%J\274\303\n8\253_\332!\342R\372\226\257\3408\3\200"
+"\265\314\262\245\246\346\257M\326\347\241\221\321\311I\272\303\t\217\26"
+"w\265O\235j\16\305\204\\\220\231^\361\207B\326\212\374\265\274.V\250\337"
+"\345h\274.\245\'\16B\255\371fo\4\210g\250\366&\317\13T\237DpV\346\371\235"
+"\26\66\2\0\274\7.....\256\377D\277\1+\252c;\220\367\355E\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\372IDATx\332\355\230KL\24A\20"
+"\206\227\225\267\2\213\300\212\200 \250`\4\2\42\b\342\13Q11$jB H4Qb<p"
+"0\321\213\21\60rB\17(x0!J\214\36Ab\210D0\32\214\301,`\344\251(\30\336\212"
+"\274\337\217]X\17\62Kw\325L\367\316r\3610u\233\252\277\277\351\351\256"
+"\356\351.\225J1\305\24SL1\305\330f\305Wx\372i\234\354\34\307\227\'\177"
+"\367M\255\13\247\216\214\213\212\f\260]sL\26664\326\374\262\250\337\352"
+"\344\'CF\21[\251\277\355+\33\346~\253\307(i\206WI\262`.\271\223F\266\325"
+"\306\233\77v\251\205Z\362\361[S\307\314\254\306\'\42\312\232\364\276\310"
+"\36\61\253k\332\n\262\33\3039\376B\300#{\200\214\f\2355\207\26\335G\216"
+"\373cg2\346P\260B\6\13\66pi\31\363D\3\375E\30NY ;X\255\341\320\256S\257"
+"O\307\202$\3\311k\332\312\244\335\240\246/_L\222MI\332=\30\264\253\224"
+"\264\331VTTE\213\\$i\311\324\207\30\17\211\253\374\347)U\245\324|\370\217"
+"Q\272\327Ro}Dg\364]q\225\265\216\226\305H\341\374\26\351E|LT\225C\323>"
+"K\17q\31\255\354\25\33\276]\13\264(K\32w\32,\340\42\21M5\3305\30\31`\r"
+"v.C8\222\234\0o|\313J\317\247@\374\6)\352\201\342&\13w\36\356W\t@p\34\n"
+"bY\270\315+@\r\223\252\22\304gm\230\213\261\25\356\370!\253\177\204\325"
+"\f>\t\365z&\256\16\356\302Y\24.C\r\342-\354\215\7%e\232\r\211K\205\341"
+"v6\256\25\375\252\222\b\\\340n\30\356f\343\332\220\'\205\300%\243h/\33"
+"\67\66\6=\247\b\334\21\2718U\37tx\7\255\341\342\220|T.N\25o\302ykalz\231"
+"\203\33D\236\b\23n/\36\33\336\17\17\367>\314\204\13@1\356\311k\34y\2M8"
+"\177\371\347+\214\363\262\23p\356(6\307\303a\201\225\233\200sC1\275\5\7"
+"B\23\316Q~\333i\354r\24p\370\367\354\304\303\255`\227\215\200\303I\246"
+"\266\340c\227\204v3(d\317=\237\212\317\216Z|\3265\26\364nT\300\r\243\220"
+"+\257\355F<\232c\2\256\7\377I]d\177\354\340\242\200\353\304r/\16\16\217"
+"F\247i\n\361\336\252\342\335D\360\31\241\311\204\353\306\203\267\215\203"
+"\363A\236\306\265\4\373\210\202A\262q\265k\270\32\24\f\345\340\374\240"
+"\243\213\230\317\355\350\222\324\303\351\34jp\217\f\353P\330\203\211KB"
+"\372\30rq\226\242\6\7\230\270\b\350\370\376\211\304=G\3136\216\211C\321"
+"b\372\361\1\354|#\363\352<\f\324\23 \255}\27!\217\225\310\373\2418\17*"
+"\n\241\342\32\3\227\17\264\177\320\22v\33\1\222:F=\242\13h/c\315\5\330"
+"\275\20I\334Q\240\374 vg\2570\343\266\360\317\312i\341\324\16\321\342\4"
+"\250M\314m\221\240\205\203\203v\272\270,j\226\226\335\227\300U3\226\27"
+"ig\350\13\350\322\36QU&M+\223.\b\244\321\274\6\7\21M(]b\251\262e$\3249"
+":\233\237\341)\363\371A)^\3321\27\343Az\371\224\302\333J\360O*\376\220"
+"W\372\360\255\243\364\272`j\255^\231&\2033\227\370\177_\233\274%\262\211"
+"\276$Z\370b\347\314\26\372\2\275\323\254\32Th\321a\352y@\3271>\243\361"
+"\n\213\244ff\42\267\330`\346\371 \271\236S 3\316\26j\345\348\22\313\r\f"
+"X\377\35\17\271\'\30m\366;\2758\253$QmQ\355\3239!v_\2107y\346lk\376\362"
+"\376\353\272*\263\216~\236\256\366\233\26\347\364\23C\375\323J)[1\305\24"
+"SL\261\377\314\376\2\326\360\372M\255\36\212@\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0H\0\0\0p\b\0\0\0\0\230\257i[\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\2&IDATx\332\355\230;H[a\24\307O\342\3\275F\254"
+"\32\5\61C\244\266]\32\212\342`\301\273\271\210X\'A\324\311\301\332\241"
+"\305\305\255`\267\200:\204B]\\\24W\13\42*\n\42\212\240\31D|\200\42\32\37"
+"\21\261\4\32|&Z\275~.\16\361\234h\277\34\62\311\371O\227\377\367\277\277"
+"\373\275\356w\17\27@$\22\211D\42\256l\0\2365\275h\344:r\36\376{\24\fll"
+"\335\320\326T\375g\32F\356\303Utyvr\341\216\4<\212\243\243\236\267\311"
+"\1)e\215|H\16H\251[_f\354d\247\273\0\34\206\263\324\254K#\303\336\375\271"
+"\24\262\0\0^9K*\252\335\244}\365S0\316l\226G\361#\17\363\36\5\314q\322"
+"\251`i\274u\31\305\261.\234h8\307\221mg\34P\37N\325\222\310\307K\234\231"
+"\260\1\0\200=6u\206o\13\21\320b;vj\232)H\341\320\25\355\365\320\34v\274"
+"\351\4\244\245nl\270\32y\240)2\336V\36\310\232\301\216Y\300\2\301\22\66"
+"\354U<\320\26q\312x\240\77\304)\341\201\310n\3\346\34\321\315\225\305\3"
+"\3213\342\222\7r\20\347\202\7\242\257\3731\17TL\234M\36\350==\'y\240Jl"
+"\234\372Y\240|\2\32\263X\240\26\262\374\277Xo\277\321\211\235\371E\26\250"
+"\27/\232\365\r8\240\316/\330\371\261BS^\374\205\360\240@v\77\371\260\r"
+"\333\22\256F\300\331\332Q\204\275\337M*!\220\341~Sn\232$\254\272\277\337"
+"j\325G\23\377\0\0 \'+#n\363\316\327I\315B\313\365\\c\310\347\213\262*\266"
+"\307\362\17\16\\1K\277\230\203l~z$\300\257!\1\0N\16\366\3k+\33\t\27\243"
+"m{1\f\25\t\207o\236\214>\17\362\257k\367\325\16I\222\200\4$ \1\275lP\316"
+"\377\13X=P!n-\344\365\356\365\31.5FS\264o~H:r\335U\237\373\310\320\336"
+"\325\33\31iJYz,\255\77\21^\331G\42\221H$\22\275\b\335\3\273V\323\201\333"
+"d\270h\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p"
+"\b\0\0\0\0\225\261\31\34\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5>IDATx"
+"\332\355\231]lTE\24\307\317\356\302\266\335\266ni\355\207(+\322BZ\241\224"
+"`\211Z\1\33\65\61\204\210\22Q7\32\2146\5C\37lc\250\2651-4\301T#\t`\42\21"
+"} &($&\42\322\30\324\6\244*\241\221hiEj\371hiiA\272\375\332\246\273t{w"
+"\307\207\335\275\2359\347\336;{\27\37|\330\363\320t\346\374\357o\346\336"
+"\371:g\26 a\tKX\302\22\2260c\263\310\25y\256\254T\247\325\353\33\31\30"
+"\f\336\31nQy\331\212\42\207Z\f\\\3548s\362r\234\35_\371~\17\323\260\236"
+"\367\226\231g%Wv0];\343\236c\n\226\362\326\rfhW^\265\306\376\355^\330\355"
+"\342J\241\363\35}^K\306\375\253\ny\304\37o\376\22[\327\3569\316\367c\240"
+"f~\324\341j\30\346\34\301\217\35\261\320\326{\270g\2\215v\336\227\361Q"
+"\210sv\227\310gY\23\377\200\347\21\354w\3738\367\224[B\263\177\301\277"
+"\350\255B\252\330\240p\202\320;\306\264\26\2366\375\270\226\246F\30\342"
+"f\3\232\355\250 m\324\376\34\255\202\250I\37\267_\20^\230\253\255*\230"
+"\21d\333\364h\325\342T\335\250\247;(\310\224\'\265U\17O\13\262N\335\335"
+"\241Pl\366\326\275Z\242\264K\242\252J\377\243\374,*[\265\32\336#j\374N"
+"}\\%Z\301oP\311rE\224\264\30\314\200l\244\35\313&\222\37Q\213[\215\346"
+"\347i$\376\4\13\326\342-\250\300\b\327\200\3043\213\220\340\4\22\374c\270"
+"z\36\303\215\177*\372\37\f!\3777\206\270\244i$\367\345\206\35\221\35\261"
+"\22\217\365\5C\334t\'\336\276_\343q\266\227\301\24\16~\307\25\2nM.v_2\306"
+"]$+e9\207[O\364\327\215q=\244\346Y\376\34\301#\25\260\32\343\226\220\263"
+"\255\215[\256\nvJ:\7\16\202\233NV_\366!\33\226\217Kp\276Q\262\221\257P"
+"q4J\220\341\300C\27\275\212[L|\23\62\34mo\261\212s\21\37\63\217[\250\342"
+"r\210oJ\206\233!5\271*\356.\342Sd8\332^\206\1Nj\264\275t\25g\201\377\300"
+"\254\352\37:\216\311\262\207\347h\277\276\25\0\300O74\31.\225\324\334V"
+"qS1\250\245\355yT\334\0]\2232\34\25\f\251\270+\332\243nd\363H\315U\25\327"
+"k\36\227Ij\272\325\21\352$\276,[4\301\261>Z^\342\232\27\364\366u\235j\237"
+"Mz,\24\3271;e\306\311\366\225\27\301\356\34\232\255\33lV\243\356\34\362"
+"\300\b7y\177 \336U\0\0\226\255c\350\374\333\25\231\220+\311\3G\271\216"
+"\326\22\357\213\0`\77L\363\223\277\302\341\362&\342\330\302\7\224\304\373"
+".\200\355\230V\2763\276\32\0\240\36W\7\347s\213\345\362y\234\42\24\3\324"
+"m\b\357l\337u\215f-]\27\375\366\316\226\247\316\1\24\341\201\370i\210/"
+"m\307\255u\303}>\306\30\363\325\206\'lJ\335\355\250\2537\35\340O\254\337"
+",\316\263I\354\317\336\307\30c\236RUR>\25u}\b\351\370\350\33N\21;{\0\343"
+"*&\31c\n\237Y\274\256\216o\336:\254\306\351@>\216\211\206\31c\354\200\220"
+"P\374\32\365\355\330\207\304^2\253\367j\214bp\241 \331\250f\221\327\221"
+"p\7Y#wOP\334Yt2\217\353$\313\327\34\302\226\f\0\340\331N\327y\233X\f\264"
+"\351\354\7\65>\215\\\353{\303\231\16\0\320\250\335\271\303\350\300\b\237"
+"\324[Fd\247\237v\320\327W\245\205\203~wPr\276\334\320\242\5\334c\2328h"
+"\255\305\2672\250<\252Ac\25\3551f\240\3544^\310\32\37\356m\243\374\370"
+"sA\32*\224\342\232\f\217\0\233\230\253\236\20\343\2032\f\13\325\312n*\232"
+"\5\375\7\202\363\31D\363\277\42\21756\373\204\354(\215sU\210\264\276\322"
+"Xb\227\342N\376\231\376\352\350\362N\333\326+\320\276t\306v\7\225T_\317"
+"\337\355(\355\35\203#\366\334\222\'P\244\361\334\261X\203\253\202#A&\265"
+"C&\242\265\245\7\3752\234\327a\202\7\231Um\2121\357%\223\1e\346\246=m\243"
+"|R-\342\216\307s3\233\271 \'\303\221\4\336\311\241\253\373\305<UYpSM\30"
+"\213\1\240\273\313\\o\77Co[\247zvG\256\267\254fp\1T\256Rw\260\7\42\271"
+"\206)\3340*\273\236\217\376W\2\0p\323$\256\237\\\200DRMW>\0\300\337&G\272"
+"\224\314\225j\356^E1\233\355\330I\350\341_\r\0P0\301\30c\247Lg6_\221\356"
+"\371w\255Y[7\22\16CL\343\2366X#\375v\363\77G\234\323\307\271\301\274\225"
+"\351.\343#q\345\205;uhg\35q\341,{5i\'\235\361\346\255\325t#T\232\347\306"
+"\237\7\27}-n\325\301o\227\301\35YA\323o\201\350\355R{C\276\251\375N\347"
+"\307\233%.g\252\317{\255\307\17\t\373_\332\277lvg\370\247&\316\225\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0M\0\0\0p\b\0\0\0\0"
+"~\206\242\37\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3SIDATx\332\355\230"
+"[H\24Q\30\307\377{A4mg\327\13j\231iA\251IYPJ\321C$\331\205\240\220\b\354"
+"!\202(\26!%J\2\t\f\326|\365\311\240\360!\241\36z\262\242\250L1C)\354%\301"
+"\324v37]\rluu\325\365\332\351\301\325\234\357\354\350\316\34\t\202\371"
+"^v\346\177\376\363\233\263\347\372\235\1\364\320C\17=\364\320\343\377\b"
+"\3Pu+\\\363(F\375#\236!\327\327\216\221\320\6\263\232W\333`[\274`\316\367"
+"/_O\206\364T1M1V\223\316\241\214\232\333\310b\357v\230\327\215\6D\224\267"
+"$s\275\0\300(\305l\316*<\311\371Y\355\223N\337\24\0\263-1#\367T&g\350\315"
+"\377\256\364\256\233\\\333\334\221\33\16\66s\216o\tJ\264h\316\233D\307"
+"\323\215\5ji5)\341|\304\371\213\267\24so\274\256D\353\'\306\236\20\236"
+"zJ\233\210W\350\323\337\344\311\231\20\2642j\212.Q\250\233\233\274\266"
+"#\224\251\201Vn\320(0\336\236Q!9O\200\366\221S\16\t\320\2728%G\200\346"
+"\347\326\216d\221y:F\5I\2046\257\\\244\201\266\201\n^\21\232\205\n.\1Z"
+"B\4U>\t\320\262\270E\260A\200v\230\n\255\375\2\264B*T\13\314\372|:\351"
+"\333\r\332iR\27\361\314\354\201f\232\245\221V\355\n4\323\n\234k\354C\341"
+"\323v\226\264S\326|\251\212<D:\27\314\77b\254[\322\262\343\271\362\276"
+"K\315\b\277n\253\307\270#z\325\241\244\206\326^j\25\314\270\226\247y\333"
+"\2737\3k\272\302\252\233\253(n\265\334r\5-U^\30\370\2\0\260&\311\32h\256"
+"\276\272-\234\177\2408BR/<\227% osDh\0\366\311\246\324\234\303,D\203$\37"
+"\273M\26!\32\266\216\313\n\77X\204v\31w\215\3546\267\316 R7\354%\305W\205"
+"h\246\200\274\330k\23\331O\27\234\362\373\330b\241\335\331C\356\355B\347"
+"\205\237\344~\323\21\21\232\227\n\247EhCT8*B\33\246B\246$@\33\344V\240"
+"\234u\354\205\225I\352:\264\33v\13\254\344\336\351H\242,o\364\351\261\0"
+"~\250\333\235]tY\237Z\232\371\217\30c\314\256.G\342\266\226\250\224\225"
+"\231\264_\35\315\315)\333\202\277\211\0\60\253\216\326\307)\333\227\332"
+"\r\0\6\324\321\\\234\262+\b\213\3\200^\31\315\264\26\355\263\322\209\1"
+"\0\36\371x\34\243\207vn\375\32\346:\325\6\0\246\16\306\30{(\363Z\251\225"
+"\357\243\373\334\326\3774\2@%c\214\26132\353]\316j\247\264\375|&\321SQ"
+"\326\304\30c\314m\206\1\210\212\204Q\262\244d\237=\3007T\343\213\256\301"
+"\t\37\3\246\3\213\302\253\2\305F\275\\\33\366w\244\252\340#\31\1%G\213"
+"I\375y\241\373\232\3224)Z\320p\372xp;4\354\370\200\246\263\214\343\242"
+"\237\27\233\362:\203+R`4\fF\340\357e]K\345y\3718wU<f\2\337\312\322\312"
+"\333f\227Z\337y\357\2301dn\251\352\343\333\216Ti\343\304\244\307\345\323"
+"\77\376\352\241\207\36z\350\361O\342\17\2300<Y\252\16B\253\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0p\b\0\0\0\0\214:\367"
+"\272\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4>IDATx\332\355XYL\24A\20mv"
+"@\361`=\302j\0\215\327\32\211\200\n\212\n\212w\324x\223\210Q\371\320x\23"
+"M\360\210\327\207\306\333\240&\342E\274\23M$\361\214F\3750&h\224\305\23"
+"\361\2101\36a]\5\205E\344\20\221\25\330\362c\216\356\236\355\356\31\23"
+"\377\234\372\231\236\252zU\323\335U\325\325\203\220E\26Yd\321\377IA<Ah"
+"\327(GpX]\243\327\373\361\327\337\342{NJ\36\350\264\251o\376\342\247wn"
+"\273\261tt\6Bhy\5\317\242c\325\13\b \377\303\2146\212|\256\17\0 \216\203"
+"\216\330_\17l\372\276\315\216\20Bk\375\0\0\60\214\211\2262k\201O\25Km\322"
+"Ae<\2015\377\210\363)\332\270\344\311\373o5\366\266\275\342b%\254\340\252"
+"\234\246\214\322.\5z\217\377\242z\252\334\31\243q\355s\2565\7~\313\374"
+"@xb\225\42k\312jKK\234\247\2,\254\b\200;\275\212\250f\\\240\355\204\347"
+":\374F\275FKU\303\227\314Z\331\26\7i\374n\275B\226*Y\315\331\331EM$\376"
+"\260N\332\273Q\21x\202y\2015\323G\340\317\350\204\271\252`3\77\326\323"
+"\375\30\177\231\26E\252\356!E\220,\33\61\376\26-Y\257\t\42D\311vAS+\240"
+"%\5\232\300!\312v\273[U{I\363\361\332\306\b\313\305p5\220<\nC\316\362\376"
+"8\306\207\n\361\371\307\225A\30\275\267xa\356\210\353U\3732Y\3557\345\77"
+"\n+\214\232*\304Wo\221\237!\241$w/\21\31\336X\241\201\3407\262Z8\351\277"
+"5Y\277\356N\21\341\233\266\313O*Ew\323\311q%Q`@z\13D\1\224\375W\323*\251"
+"\217\237\256r\362\360\315\373\20B\b\265\243R\203Q\355J.\256\33\333\201"
+"e\240U\5\0\300D\262\376\365}\315q\346.z\350*\364\351\230c\234\b\241[\36"
+"\2\37\344\r\347O\330W\350\272\237_%\16\213\\\20S\363\263]\3116\1~2\30\323"
+"\227\3C\370QQ\ff\250hI(\307\30020G%\231-\330\37\360\302\244\1x\77\201i"
+"`H\243Y\3p\254\r\313\300\32\323x(\352\302*n\'\315\33\370\314\212n)\327"
+"\274\1\67\253\314\6\3553o\340\236\304Z\203\3315\246\rl`\356B\217\33f\361"
+"\77\42\331\201\224\372\312\244\201\275\234H\264\315*0\205\257j\305\315"
+"\206\370\354R\23\6f\b\362\321\226\264\325\3453\300\237\300\365c\361 \204"
+"\320\266R]G2 1>!&\204\353\3435.\364\347\0\0\66\61\373\226\204\305G\\uL"
+"\377M!4\336\315-0R\354\202\323\356@\3=5\205\23\0\0\60]X\342b\262*ux\334"
+"h\345\0\0@\276A\257o\337C\265P0V\207\207\341F\267\205\251\324\236L\322"
+"\316\237\37\262x\207\21\376z&\371V\253\341\3752c\344D#\3\307\nEx\264\77"
+"\304\0\17\207\210\27\217\376\373Q\364J\243\17\270\211\207e5\32^\243\255"
+"}\f\360\337\312\265a!>\277\33\265\263\365\254\321\f*\265Q\36\306\327k\314"
+"\301{\f\360\241\254\251d\20\273\232.\204K\277T\275\7D\377\321@h\234\36"
+"#\302\367\323\374\37%\270s\311\260\252N\22\340\267\253Z\37\202yx\250\35"
+"\315\205\207\225\253J3I\366t:\261|\13y\370lU\345\252\270}8\25&\276A|r\30"
+"\264\37\305\251\fx\206\232\277\77\7\352\332rFy\312\323_\343\272]QE\77G"
+" \36~\363yl\341\325\206h\\\7\307\235\375\255\362\313\223\364\367\377$\345"
+":\2+rPz6\321\313}}\376\266\254N\262GE\17\302\375\356\243\264\317\372\211"
+"\305)\25u\36B\bu<\42jE\352\3260N^\31\357KS\257\262\'ygG\303!\346\375\252"
+"\17\0@\375d\314\350\304\372\t\1o\3269\330\377\77\302s\20BG\363(I\367\361"
+")\3\242q\220z\36\77\270\371\356/\376\277\310\253\36\331\245\263\255}CC"
+"u\351\307z\353_\225E\26Yd\321\277\244\77@\206Kx\247\273\23\341\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0D\0\0\0p\b\0\0\0\0\202"
+"\223\211\325\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\273IDATx\332\355\230"
+"\277K\2a\30\307\277\2367\244G*A\221\320\17\32\302\255!j\210\240\305=\202"
+"h\215\232\332Z\212 \242\241\377\301\245\240\245\37\64\65T\20\344hI\21d"
+"PM\25\22uj\16F&i\206r\r\352q\367\236\222\357\253\233\317w\271\227\357{"
+"\367y\237{\336\347\336\227\367\0\22\211D\42\265\206\16\264\6t\7@\2\340"
+"j$\2W3!\356F!r\265H\262\361\264g@\262>\240&\225\256\16\306\263+\337\0\200"
+"\17S\246\324\215!;\200\301W6\205\2311\0\350]\210\230mo\tV0X\371UGy\210"
+"5\26\262]\31|&a\264}\0\0\305\340\304\206\3658\247Y\310\222\336\345\275"
+"4\330\243\200dJ\211:\36\321\333\77\226L\351\255\204\77d\312\254\t\222\362"
+"\277\3247%\331\311\373Z\20m\376\261\336\211MO}\325\200l\236\324_\36\321"
+"E3\244Rk\261\25\236\42\3339/7\334\246H\3263<\20m\271\332\353<\357\362\325"
+"\373u\260\n$P\340\374j\2VH~\217\367\323;}\267@\202)^H\361\320\222\330c"
+"\376U\340\310\22\311\31\77$\224c\352\344\351\215\37\222\277`\42\t\213\254"
+"j,\344J\4\22\6\0\331\251C\42\42\220\33\255\24J\31R|\20\201|FK\20\31\360"
+"\1(\346\204\226\372\2116\0*d *\276_\304K\27\251\31\3730A\bB\20\202\20\204"
+" \4i-\210$\320\343d\215v\1H7k\364\b\34\232o\331\203d\262\277\326\275\366"
+"*\236\303\32372\273\345cme\256\323)\331l\277\377\7\260_\357\237\n*6\22"
+"\211D\42\221\232\242\77\331\4>%\244\22b\241\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2qIDATx\332c`\30\5\243`\24\214\202Q0\n\206"
+"8\370O\4\340GR\237\211G\31\23u\2356\242\214cd````\340\342\26Q\266N\21\301"
+"\220}5\377\330\2357_\277\242\211\362\212\253X\5\350\242\212}\337\272\357"
+"\362\203O\237\220D$\36\241G\324\35Q\334\356p\276\211\244\360O\217 \246"
+"\212Vt\343j\361\371K\340\4\\\335\357 la\367\4]\307\13|\306}\360\177\13"
+"c\326\255\303f\334gt\35_\361\6\373\313n(\343y/\326\230\375Gb4.\207\322"
+"+~Q%\241<z\4\241\17S)\335]G\241(6\356)\204zH%\343 Q\373\355;\225\214\373"
+"\310\300\300\300\300\360\211Zy\366/\3\3\3\3\303/j\31\367\t#\271Rd\334\177"
+"\214\344:Z\32\217\32\67j\334\250q\243\306\215\32\67\202\215c\244\256q|"
+"\324\255\266\31H\253\266\331\210r\3357\34\306}GW\316I\3008^\274\306\375"
+"\304\256\34\67\20\2064\341q\30\367\t]\271\20\1\343 \275\230\3678\214\303"
+"\350\bH\22\60N\31\243\367\201l\334+t\345r\370M\343\202\310\77\306a\334"
+"\353\77h\352\265\360\33g\302\314\300\300\300\300p\7\207q\177\320{QbRx\215"
+"\363\206\264h\257\341JwW\3215\330\343M\2251\20M_q\31w\26]\207\17>\343\222"
+" n\337\215S\201-z\17\364\253\0n\323\204^A\324\330\340T\301\362\2\335\274"
+"z\334\245\311z\210\212\253\214\270m\354@7\356\233&.\245\355P\25\211x\202"
+"C\362+\272y\367\345\261\273\255\13*\177\231\5_\360Vc\f\334<\267\305\242"
+"Lz\7l\20\300\noRb;\206a\336\337\31\350\251O\250\3763L\262\211@6\224y\214"
+"9\262\364sy0b B,l\3317\270\314\26fB\305\275\346NYl\335\245;w\237~\373\306"
+"\303/\245\212,{\334\345\33\301\262Z\366\364\177\42\301^^\6\42\0{\327ob"
+"\f\3737\201\205\310\312\304p;a\323n\273\222P;\231\255\370\201\327\260\207"
+"\331l\f$\1\241\324M_p\230\365e\225/3\321\259\2\260\232\230\33h\252\240"
+"T\30\277\37\\9\177\350\304O\22\332\5\350\200GZ\224\217\233\203\223\341"
+"\333\317\217\37\236\275\370\3030\nF\301(\30\5\243`\24\f&\0\0\225\30Eoc"
+"\303\77F\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0"
+"p\b\0\0\0\0s\230\322X\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3GIDATx\332"
+"\355\230MHTQ\24\307\317\350(:ce\306h\244H\265\261\250\205\6\6\322\306\362"
+"\13\213\240\264\242(\304\354\213\332I\320\2426\256j\341\302\332TT\n\5a"
+"\37\30\222D\13m\21eD\266\220BD#\2131\'\230\260\31\60g\322i\274-\356S\356"
+"\273\347\336\373>Fh\321\375o\336\2339\347\375\346\274\363\356;\347\334"
+"\1\320\322\322\322\322\322\372\207ZE\254t\205u\277.\367{\225\266\214a\375"
+"\17,\17\244\257\fl\256k\362\13l\223\327\6\203\361\b\367\245\77\247p\333"
+"\301Z\344;\374\340\355G\343t\3750~.\263\371\322\b*\203f\3277\25\254\265"
+"\340;b\215(n\247(\3048&Z9\353a\304\232\363)`\rL\374U(q\370.\33T\317lr\351"
+"\'wck\23b=Q=\264\236E\257V\2011{\232g\315\27(X\235\206\323s\217`}\305\357"
+"\361\356\31\315\nV!=\374>KD\326-\350&\307<RTFT\360\3423z\215`;\245\254"
+"\275\324!\232+\2617#\326})\253\227:\264\313\354\276(\317\212\347\311\262"
+"\225\240\253\264X\366n\307P\30Y\307$\254\343^\0\0\350\13J\3/E7\371A\262"
+"R\277Rs\215\342A\277C\260\n\241_=5\216{\24\365\353\16\272\352\244\220u"
+"\212\36n\22E\\93|\\3+\4n\353h\346cy\252\272\372\253\33\321\217\210\26\17"
+"\315\374\303\237\3122[\216\22\66$\310\374\27j\332nQ\263q\345)E>u\324\360"
+"\336\252w\334\222\345\231\321iz\270a\325Krg\371\270\42\331\234\313Z\232"
+"\371\210\317*\256\350cD\77 ^\363wc\226Mn\7\236\23\270_\237 \204\20\262"
+"\260\311F\307\34A0\363U5\364\313\27v\372\366m\213\265\177\306f\346\1\0"
+"\326\304\371\270\302\231l#\235\'\204\20\22\362\332\211k\32\265\237\300"
+">6\363\31\64\372\77\266F\214J\224\260~\246\215~\246E\260\310\346\2702\306"
+"\263\222\33\226\214\325\212\326)\230\231H\'r:\341*\363\0\0\371s|`\337\274"
+"f\323\270\307\356,\27~\212ZE\375b\3463\255\213\240Y\265(\373}F*\77\t\213"
+"\240r\360\234\340Y\t\332\362\253\350\247.\'\223\347E\24\330%ZI\351\207"
+"r\',\243\2403\232H\3\200\300\234\254\324\252\324\213\2\253\5\200\13\364"
+"\264\305\31k\17b=ZZ\304\2508Z(=\210\246\327\0\354\242g\35N\347\3766\24"
+"\330y\350\246E\260\304)\2538\311\263F\215\314\178\337\220<C\201\31\317"
+"\243\3219k\277d\2278\345u\316\362\206\304\25467\273\256\313B\224\36129"
+"\324\306\244\210\325\343n;\330/bU\273c\35\22\240\24\23\277R\231a\314ju"
+"\273\347mG\250\330j\267\254\222\5\236\325\5\256\365\222g\225\273g\35\265"
+"\2367m+\213\333R\266\244\300\202\253\352\t\321\221\266\232X\35\220\222"
+"\6\31\224\363\42\310\315\246\fk 5\24\370\231-ec\212,\346\27737E\320\254"
+"\262\324\212\240YC\366\213\240e\340\347\312\350\361\307\224\376oUKKKKk"
+"\331\365\27\224<\360nH\246P\32\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0\\\0\0\0p\b\0\0\0\0\266\352H\311\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\4\343IDATx\332\355\230[lTU\24\206\377\3510mG\333\224\30"
+"\254X\255iS\324xA\242\200\246\211\6\324T\253\201\22\212\202x\3\23cbb\42"
+"<\30\65\30\23\25C\324\7\302\213<\b\211\4\215\26zahBSE\214\341\242\\\32"
+"\302-Q.Q\n\332h\261T\6K\2072\363\373\260\347\364\234\275\366\2363g&\361"
+"\301x\326K\317>_\327\236\265\327\331k\355\265\27\20J(\241\204\22J(\241"
+"\374\337\3444s\313i\0\30\316\315W\1\0V\331\341a\224\374\233v\207\223\347"
+"\222x\303\222#\226\357\321\376\314\364\232\n\0(\253_\270\333\304\251uO"
+"\317\250)S3T\326>\260l\257\216/}\266prv\376\262\36Cy\203\367\367\243m\6"
+"_ m|n\304C\77\255\366\220k\215\375\366\232\2469qH\362j\303\3O\270\360U"
+"\235\254\224\312\37\353\374}\311\3571\375\373\225\303V\13P\227\21\312\307"
+"u>%\343\2732\0\300\322,:Q.\211\361\315\246\352\374\200\300;\315\311gf\321"
+"bc+\266\313\177\25_\254K\340F\323\351i\365\247\177\263A\f\277\34\326\371"
+"mreK\214)Z\24x\323\262\335\367I\355[t\376\243\300\233\214\31\336%I\246"
+"k-\21\332\221\307/\2227\227I\205\331\352\343\235\261X>EZ\276\337\376\271"
+"\306\345\21\61A\325e\222\3442k\328(\2243u\32\216\364\13\276F\350\77\251"
+"^7X\23\227\\wd\2766\244\334/-\326\361\321SV\313\215\375\260[\270\324\77"
+"\22\242\177\222$\337\313\221\36\217\t\345\364\365\272\366\240\340oh\370"
+"A\365rz\216|.\343\250\244U\217\221>_\277\314Q\'r_\16\313\357\222\353\376"
+"F\303\345I\2712-HOZs\226+\307\205\366\225I^:\227~Az\273z5+\3471\'\367K"
+"t\236w4\337\214w\343ypWN\313gH\323\266y\177\351\234ay\322\23\244\337\223"
+"$\327\371\34\247\77\313\203\262\312e\17Y\316Y7H\253\323$\3119>\247\277"
+"\364Ki\213\237W\200\271\256WJ\0 \371\265\217\345\215\322\264N7^\317\344"
+"*\367\0\0[H\222m~UF\344\254\320\36\251p\320\275\326z\320\t\322\270:\372"
+"\27\371\25E\224~\211\77\346<\265Z\255q\334\326\24\7\200T\217o\2014K\232"
+"\366\245C~\42I^\24\370\207,\375\304\330\\\266\352n@h_\310\236\344w\220"
+"$/\277n\17\322\254\332\213yj\273\265\322\364\354\302\337\42I\366\326\310"
+"\223\366\5\0\300}\226t`)D\215\42\240\325\373\247\343\267}V\247\253H\336"
+"\365G\36\313\'\310\274:\24\3\200:\225k\252\261\302\32\244\252\220]\236"
+"\267\346]/\375\362(\0,\'I~\13L\225\270\31@\203z\254\313[\237o\266\372E"
+"y\245\238r\312\342\27\25\250\7\177\311ky\351ya\332\357Q\340\2724Ifn\0\260"
+"\332\22\244;H\222o\7\270\13l\220\13\237\r\274D\222\334\3439\315\\\231\206"
+"kTMqg\200kK\207\305/\255.\3319d\370\2459\6\0\'\217\6\260\274\374\2020\355"
+"l\244*E\222\254\7\0l4\202t\23I\362\303@w\244/\344\302\33\237%I\366i\265"
+"\217\33\2447\251[Ic\240\311\27\310\311\77j\'I\256P\270bTV\244$\311_\203"
+"\335\13\257\372[n\b\225\256n\315ry9S\31am\300\273c\2735u\37s\360\313V\334"
+"\24p\362\305V\355w\34l$/\222<\37\138y\345\250m\362i\343|\277\205n\fz=O"
+"\366Z^\23684\376\270\325\202\273\2_\330\237\267\230\366\201O\331G\216\\"
+"\35x\362\211)S}\246OyCn\t\336\265\30\336a\274\352\77\340\31l\r\350\25\373"
+"\3267\316#t\3223HH:\326]@\227d\322\230\\\367\375^\34\223iy{A=\230\355B"
+"{@_\341\347\2\277RP\247H\372\245+\243\r\305\367cWA\226ON\353\246=,\256"
+"\234z\230\355-\2607\365\235\246}n\202\300\275>7\257\374\r4\375<J\\\218"
+"Qdx*\271Q\313N\217K\\\233\261\345\313\300\262\307\243=l\364\20\320\347"
+"\301+\13\356+z\375\322\2352p\42\367\336\t \365\36\323,\265\371\335\236"
+"\203*Rx/\323\315\332\27\343\276\315\3535E\264[\335\353P\317%\13N\24\275"
+"W\0\340\346q\323\26\331p\223C\7\243\305\364x\17e\265G+m4\346\364P\327\27"
+"\325\205v\366Ko\322F\307\266\25\275W<\255\2K\217\17\0\360T\266\372/\367"
+"\271y\372\314\276\264\24\0\320\366\227\275FP\215\317\201n\204\22J(\241"
+"\204\22J(\377%\371\7\322\262}\34{\r\7\'\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0F\0\0\0p\b\0\0\0\0\206fY\350\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3MIDATx\332\355\230MHTQ\24\307\317\370\374\36LT,\24"
+"I\220PS\373\300P\261$\301 \20TLjc\250\213\2516\245\213(\252E\6\22D\37."
+",(\42\355\213Zi\205$Bf!\30\251} eQf\205V\323\2079\242b\352\214\316\330"
+"\342\276\247\363\346\234\367qEZ\304=\33\337\334s\374\335\373\356=\347\177"
+"\336{\0\302\204\t\23&L\230\312N\315\33X\13\0@\216^D)\200\337\362,\346\277"
+"\304X\2\243\23\263\312RH\337\314\245\316!\307\304\37\27\0@\270\177\\Bv"
+"Q\22\212\351i\355\32\260\317\312K\252rQ\'p\2\315YhW\5\270o&\253\3J\346"
+"\b\314~\274\3005\243^\376\376\315\310\177\224\3004\352\247Y\313\nb\217"
+"\36`\214;\33\307\355Z\360^\223\250\375\214\31\301\234~+\n\263)\276z\215"
+"3\336A\334\326E\24uG\3664KZg\337\2001\236|\237\23047s\364\206j\246P\330"
+"\'\314\371\21\245\n\221:\331\360p\234N*f\23\247\336\244\212\250f\203\316"
+"-\272)]ClO\205\227\277H\236\307\246_\31\1\3170f<~\301\235:\306\206\352"
+"\214*,q\22s:\224\223\215\30`\3\355\222a\245\356#n\353\220\274\275r\202"
+"\16D\230(\370\373\30\63\263\36\0\0j\331\257\261\24\63\302\261\352\'\346"
+"\274\n\2\200rv=W`N\200\n\210\333:\3\2205\315.\217\230\25\262\313D\215\346"
+"\306~eW\267,f1\326~\314\31\354f\177{B\315\353j\306\254VC\262\307\361\350"
+"s\265\6e&\213K\346\245\2474\246\234\263]$LP\224\263\334m\307FP\272%\376"
+"\366u\27c\246S\3711Q\3371\347e\0\77\'\337\20395K\350\312\27\60f6\223\37"
+"\23\362\26s\336\207\360s\322\235\230S\267\204\333\42\372\261\'\217\37C"
+"%\363P87&\3417\221\204\327y)\326\327da\25s>\2065\321\365\371k%,\207Z\314"
+"\337\343\241\24{4\237\246+\314S\322\306\331\277\274#\224yl\265Y\212\322"
+" \'\326\6\367a\316#\223\272.\265\311\331\266\23`\3\221\314U\3460\265\336"
+"zw\30c\246\222\314P\344\69\377X\2\0\220:0\247\307\337\230\222)7\310/\321"
+"\354w\3748\346\34\67\244\304\310\r\322\231\241\214\224a\214+\335\200\22"
+"\250\24\344\336\305\261F\314y\23\254\217Q\236G\33\274\306\42\355\230sN"
+"\227R)G=W\315\266\35\347\264{\253\16%O\356\337\16\237L=\217\227\3639L["
+"b\206\27\337B\r\225\271^\213\22\256HL/J\367MD2\27i\324@\253\22p\20;\217"
+"a\314H,)T7\26\2r\2109\236\20\65J\264u\213\3276n$fIvc\316I\24\345\177\305"
+"\313\275\207Zm\33\321pv\373>\310\266\253\16\63\212\300\234&\224\320\251"
+"zS\n:\340\363n\367\261\20\277\2745S\212\352\252\364\3\0\260\370E\306\244"
+"\346\226`\271\377\366\360\305\7\273cr\212\251\24156\255t\33}\276}W\273"
+"\6G\215\276\230\254\3\0\270m\364U\245S|1\21&L\2300a\302\376\261\375\5+"
+"{OJ1\22I\212\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0F\0"
+"\0\0p\b\0\0\0\0\206fY\350\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2QIDAT"
+"x\332c`\30\5\243`\24\214\202Q0\nP@\373\177\2\340!L\3454\334j\16\63Q\307"
+"1\303\322\30F\6A.%\207LIlr_\246\354\270\363\345#\222\0;\237\212M\254.\232"
+"\252\217\33\366^z\0a\362n\307\26\376aX\235\237\367\7Y\315\353,n$I\256\323"
+"X\2141\303\356\201\32$%\253\4P\345T\277c\32\323\214\335\30\236_p\25\325"
+"\214\350\222\325\230\306|\224\304n\316\23\230\202\nL9\266k\230\346,\305"
+"j\n\373O\250\364\fl\262v\3770\214\371\347\210M\241\23T\3668\33V[\346b:"
+"\347*+nu\337T\261{Y\370\25\2469%\230\312\304\276A\244\212q%\3058Lc>Kc\250"
+"\202f\364\353,8S\364>LsV\242+\322\372\r\221p\303\2353\324\177`\232\343"
+"\214\246f\33Dx=\276\34\326\200i\314u\324\370p\207\210~W\304g\f\373MLsP"
+"\322\30\363e\210`\23\376\f\357\204\231x\276\310!\311\247A\304\36s\21(8"
+"\26a:g\rB\226\357\5D(\212P\371#\372\6\323\34w\270l+D\340\20#\301r,\31\323"
+"\230[\354P99H1\360\307\200\210\342\360\20\2469\325P\271\245\20\3564b\212"
+"U\255\237\30\306|U`````0\203\204\377[a\242\212\347VL\347\254g````<\2\341"
+"\344\21W\312s\334\3014\307\233\201\201!\4\302\274\314Bdm\341\206i\314\35"
+"\16\6\366\273\20\246#\321\265\3162Ls\352\31J\240\2058\361\225\227\370{"
+"\fc\276\233B\304\276\312\221P\t\246c:\347+\204j$\251J>\212\253\225\302"
+"ER\235\254\367\13\2731\241$\326\355\35XM\331Gj\23\201\353\36\26S~\353\220"
+"\334\324\360\304b\314d2\232,+1Ly#L\2061R\37\320\215\251!\247\265\365\f"
+"\243\274}KV\243\355\346Ho\211\216\32\63j\314\2501\243\306\20T\213G\212"
+"\33]\200\227,c$\320\5d\310\361.\337\5\364\n\346\245<N\305\314\330\49\5"
+"\344L\342f\251a\3702A\204\233\211\221\361\27\61\216X\372\237\bpi4\371\215"
+"\202Q0\nF\301(\30\5\3\f\0\0\212\305\310\226o\77y\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0p\b\0\0\0\0\214:\367\272\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\3\6IDATx\332\355\230KHTq\24\306\377"
+"\343\370H\3244-\263\262\302\36\240\225\240\24\225\25\205A\26\205Q\20d\321"
+"B\222\26\341\42j\341\302\312\240\264\214\210\\\231\221!(\325B\260\b4$\27"
+"\322C\350AF\212\205H$5\250T2>\322L\233\257\305<\357\375N\315\2351\220\340"
+"\236\325\314w\316\217\363\335\377\275\234{f\2242\303\f3\3140c\6\343\31"
+"\202\210\343J\251\20\'\37\23l\343\177\304GO\223\217\n\226\17UJ)e\215\244"
+"D\377\313\256^\333\340\270\35\316\257\233\352\250\302\361\332\3631Vw\262"
+"\37\317\256\321\326\316z\307\307_\341M/\326$\372\216\206\352{]f\274\307"
+"\347\232\323|\23\367\343\311\352\372)\302\35\331>\371u>\211k\26\302#:\271"
+"}\225o\3016\257^)\34\362\5\306{5O\314\36\217\376\320\312x\306O\346wi*\16"
+"\273e\333\\\306\303\332\31\257\321\226\34s\37\312N\301}\t\343\2669\332"
+"\222\223.\275V\300\323\'\230\337\247\2539\343\224G\27\60n}\301\370]}Q\271"
+"S\277$\264/b|\200\16\251\22\0\60\66\217\361\324q\346\363\250\252\26\0p"
+"Kp\337\306x\3\2275\0\0\2628q\212\361oI\\\326\f\0\357Y_>\312|\376\237\306"
+"g\t\311\226V\306\233\244)\362\26\0RI.d|(Y\232\77\27g+5A\376S\312\205\333"
+"\371\331\360h\263<\342\366-\26\343\243\261\200\361\221\24\343x\262\235"
+"\371\23\1L\346&\306\237\204\30\307\363\31\37_i\34O\32d\276(\0\367\r\214"
+"\77\267\32\307\363\30\237Xm\34O\374\302|I\0\356\353\31o\17\63\216\357g"
+"|2\3238\36\337\307|Y\0\356\353\30\357\2140\216\3472>\265\3218\36gc\376"
+"j\0\356\253\31\357\2164\216\3478\370U\277\325\337\376\343\215\230\233<"
+"!*\37\223tp\273R\3526\353\252\212\335\177\20\226\273\26\08\304z\266\340"
+">Gp=\f\0\273I\217\352\341\366\325\302Ug\1\0\66\223^\301\370\247X\201/\5"
+"\0\244\353\345-\277\230\317\225N\275\13\0\260D\247Fv3^\'\341\231\316\234"
+"\336\331\25\306\373\343%\376\2723\351\177I\304\1\tO\30\1\0\330\375/\211"
+"\365\3423w\336\265\2j\3252\306\277&\212\303m\330\231\355\320\250k\'\231"
+"\77\42\266\257qe\237j\226\3047\214\77\20\361\35\356G\264\321\317\222h_"
+"(\341\363=\343\341\216\237%\261@\302\303\333\244\r<\364\25\343\315\322"
+"\253>\374\236\267\340\262W.\26^\365K\5<\272\321\247\242\370\257Kb\241\200"
+"\257\352\20+\244%\261\225\335G\237\373!\337]aI\34[A\353\310\351\1]\315"
+"^\327\374K*e\2477\34\313<m\303\342\22\26\245mH\'CC\356{\207\340\42\303"
+"\347\367k014M~xf\373\177\2372\377\2661\303\f3\314\370\177\3437\310j\315"
+"T\200G\335\314\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"%\0\0\0p\b\0\0\0\0\274\266\346\233\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\0^IDATx\332c`\30\5\243`\24P\5,\375\217\35\36030000\21e\4\65U\261`\21"
+"{\263\37\211\363\33\227\252\33a\264t\327\250\252QU\243\252FU\215\252\32"
+"U5\252jT\325\250\252\201o\27\252\314D\342\24|\37\304\255ZF\30\203\233\r"
+"\273\202\17\377G{\42\303\6\0\0\216\35\67\320\262\331\0\42\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0p\b\0\0\0\0\201$\207\375"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2BIDATx\332\355\227\301K\323a\34"
+"\306\237m\312\304\306R\22652\f\13\301\203\207\35\f<$\262\260A\fB\b\377"
+"+/^\274H\340\305\213P\36\362\42\230\3010FXII\t;\30\302D\223\305\32\333"
+"\332\332\346>\35\336s\324\367\r\326\345\367\\~\247\207\347\373>\317s\370"
+"=R\200\0\1\2\374_\204$I\363w$I\317Kf~\32\0V=\2447\0\270\234\2663\307\352"
+"\0\344C\177O\211\270O%\222\226\244[_>\230E\7N\08\213[5\3259]\224\244Xx"
+"\307\376\324]\0\232\23v\346T\33\200-\217d\226]\250Y;s\350\2\200B\324\346"
+"\220\244f-+I\211\332k\263h\344\0\200J\322~\357l\27\2005\17\223\326\1\350"
+"\316\330\231\243U\0\366\3036\207$U\303\17$\351f\361\275\275\276\307\0|"
+"\215\333\357]puX\3620i\33\200\326\244\2359\331\2`\333Ct\311\335\273\340"
+"]\337\343\1S*\222\324,\77\226\244\341\372\236Y4\274\17@u\324~\357\214\253"
+"\357\272\207Ik\256\276\263vf\322\325\367 bsHR\215yIJ\236\2763\213F\13\0"
+"\\\f\331\357\315\272:,{\230\264\5@{\312\316\234h\2\260\353_\337E;3~\366"
+"\207\372\3766\262\237\245\5I\32n\345\354\177\20y\0\352c\366{\247/\1\330"
+"\3600\351\2513)\355Q\337\n\0\37#6\207$\325\332\31I\272q\376\326,\332\177"
+"\4@)a\2777\343^\272\342a\322&\0\235\224\235y\327\3257\27\2629$\251|\345"
+"\276$\335\376\364\331,\32+\2p2h\325T\353\374\211$]\355\276\262\3277\7@"
+"c\334nR\312\325w\323#\231U\27\352C;s\244\f\300a\237\315!I\77\32\217$\351"
+"\372\2677f\321\276C\0\312#\366{\377a <\363\36\b\343\r\0\366B6\207$}\217"
+"\316I\322X\341\320,:\350\6B1f\325T\333\r\204x\370e/\7B\252\3\300\13\217"
+"dV\\\250\31;3Q\2\340\250\337\346\220\244F5+I\327*\371^\16\2049\274\7\202"
+"\333\267\335{=\331\267\1\2\4\b\20\300\341\27[\360\245\233\351t\23\33\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0%\0\0\0p\b\0\0\0"
+"\0\274\266\346\233\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0`IDATx\332c`"
+"\30\5\243`\24P\n\332\377c\7rp\25LD\231CMU,\f\f\f\227W#\370\2226\304\350"
+"\362\36$\256\37U5\252jT\325\250\252QU\243\252FU\215\252\32UE\315va\240"
+"\7\202/\207S\225Y\332\340s=#\3\3\3\'\7v\271\217\377F{\42\303\13\0\0\275"
+"\'(\260\341\277\16\334\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\09\0\0\0p\b\0\0\0\0\201$\207\375\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\337IDATx\332\355\226K(DQ\34\306\377&\215<\206\2464\212\305D\26"
+"\262\301\312\306c\')\262\221\24\33\354,,\310\302\253\204l\304b\224\205"
+"\305()\261\42%K\244dA\221$\205\5\345U\310s\274\376\26\303\371\356\343\334"
+";\367.\325\371V\367|\337\367;5s\357\271\377K\244\244\244\244\244$\324\311"
+"Q]&\271\4}7\277$w\271${\377@\276Mu\5\372\357\5\311}\256\310a\200|\357w"
+"\1\6\2364$\17\273 \307\264 \77\6\34\203Y\257:\222G\35\223\223z\220_2\35"
+"\202\331\357\6\222\'\34\222\323F\220#AG`\336\247\211\344)G\344\234\31\344"
+"\217\\\7`\301\227\204\344\31\7\344\42\352\353\21q\371\225\37\23,\376\26"
+"\355\317\374\20v\231\217I\256\242\34\246\214g\261\370.\214\1\226\3|\13"
+"\22\215`\271\24\203\\Gu\234\210\374wX\27\333\202\225(>\244\23\21\365\300"
+"X\265\3\343\266Q\354\'\42\242\344K8e6d-jW\276\250\325\16k\315\32\364\354"
+"\241\326\376\353%\234\301\253\260$\33P:I\3703[`nY\201\361G(5\301=\204["
+"mA6\243\262\357\201]\17{7N\nzOQ\251\321\376\341;\360\353\244d\33\n\233"
+"\272\240\n\301\201G\2&^\240P\242\2176\2204\332\214 f^6D\245\210\216\343"
+"\315#\350\32g\261\300\30\256\0m\265\31A<k\n\213ph\317\274\306\21\204C\21"
+"\3111\377\224\5\354\333f=\202B\262\367\341\207\210/\22\365#\350Q$O\31\262"
+"[\26\306\316\35V#hHz\263\203o8E)\332\21\364\202\21\235&\17745/\263\356"
+"\350\363\34%\7Dc\367AN\16\236\213\313;\365\375\245\244\244\244\244\244"
+"\244\244\244\244\364O\365\3\30\341\330\t\b\314\346\231\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0\0\0p\b\0\0\0\0}1\2547\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\0<IDATx\332\355\322\261\r\2000\20\3"
+"@\203\262\27{\260\0\312\216\31\'{\300\f\337\362w\265-\271p\2\0\0\0\300"
+"\177\35\327]\312\77\231oI\316\352\244\226\205\261\2273\266\360\1\313\16"
+"\60\355\223\377Y\231\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0\27\0\0\0p\b\0\0\0\0\320\260\264\236\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\64IDATx\332\355\324\277J\303P\24\6\360\257Wt\260\240S\7)R\21"
+"\21\21\244\203\240\202\177\6E\34\304\335\251\316\272\t\212\340\242\217"
+"\340\344\3\270\370\0\212C\307\16\n\242K\267\212\305\77\5\205\200U\7\207"
+"\264\232\317\341\2306\347^\37@\344~K\302/7\347\236\234\204\0>\3773\246"
+"\357W\316_\226\273\\\355\330m\220\373\16gK$\31\216Y<\33\220$y\240y-$I6"
+"w\214\342\255\210$Y_\320\253\267\245\306\303\210\346u\341\273\1\315\213"
+"\237$\311`Hs\277t\322\230\321\234*J\225=\253\361\202\360M\247\346\364\223"
+"x\301Z\276)\374\321mM\366^\274\2244\0\36399\177\313\f\246\223\353\17\331"
+"\312\327\365F{\372\25&S\216\37\2557R\316ZV|\234V\212\342\313\266s\16\60"
+"@\217\363:W\1\3\64\35\237\0\f\360\342x\6\60\300\255\343\21`\200\332\263"
+"\355\2172\2073\333/\3440e\367\231\377\271~\252\371$\276/WOr\220k\25\234"
+"~o\363\353db\247\321\253\230\317\207\365\27\261r\\\r\303\352\321R\312\377"
+"\31||||\376B\276\1jb\6\234\347\222\263\326\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\2\355IDATx\332c`\30\5\243`\24\214\202Q0\nF\301("
+"\30\5\303\22\60\342\20\26\26\346\341\340\374\361\375\307\2337\177\211\327"
+"*lc\256\247*\317\16\343\376{|\353\352\311\303O\t;B\242\344\370\337\377"
+"X\300\271\32)\374\32\65\226\376\372\217\13\374^\250\200[#W\337\357\377"
+"\370\300\367|F\34~U\334\250\213\20\376w\355\332\233\317\374\362&\242(\212"
+"W$\374\304f\247\312c\204\371\317\nD \202L\376\267Q,\336\310\214E\'\347"
+"%\204\202kHv\t^A\321[\206Ek\35\222|1\262\204\361\77d\255\337$1-}\207$\177"
+"\234\rY\352\20\212\265\r\30Z\275Q\344[\220\245\252P\244.\341u\357\377\377"
+"\337\304\221\244|P\243\210\37.\301\4\241DP\235\357\213\304AK\203:\350Z"
+"\277\242\312+!\261\337\243JI\242k\275\200*\377\21\211\375\17UJ\24]\353"
+"VT\263w\340I\256\350Z\277\324 K\257\274\210[++\246\320DD \36\344C\226\220"
+"C\r\341\n,\306\305>\201\310\275\257F5\30\247V\268k\361Jg\33\351\377\317"
+"N\356\376\216\234\365uL\234q9\35\241\225\341\327\366\355(2\372V\226\226"
+"x\2627\262V\344`\264\264\2633\345&P\30a\321\252\343\353f\305FDa\212\256"
+"U#6L\205\310r\30E+{D\272%\252\364\347\223\307\356\317\'\254\225-\253\f"
+"%#\177\337\267\353\340\225\277\fr\204\355wG-\206.$\361\22\231$X\'\241\24"
+"$\257\42\31\211M\22\\k<\221\r\272\344\371\214\330`b\\\202\242\363\231\353"
+"+\42B\30\222s2\3Q\4\213\220ur\342\325\317\377\16\305;O\230\220%\255p\371"
+"\225\211\201\201\201!V\20\305\244\335(\5\203\42^\7\373\243\212\335B\341"
+"\31\341\325j\212*\366\1\205\347\210*\311\214\242\225\227\37\255^G\346\250"
+"\33\242J\362\242h\25@s\211:2\247\200\1W\211\310\300\300\300\300\213V\7"
+"\277\340@\310\31\240\327\363\307PMz\217&]\204\260\3436F\303@\231\201A\244"
+"\363p\32T\301v4\351\37^P\t\315k\230\355\202\307]\223^\377\377\377\16\252"
+"\42\31]\372\317<K6\6N\333\31\77!\215\b,\r\213\'\260\242\3501\26\311O0\306"
+"G\207}\230\262\13a^\362\377\207\273\341rO\227\301\6C\372\27\242\302+\303"
+"\251s\265 \3\3C\37\272h)R \'}\301\252\3616$\2152\257E\21\375W\207Z\245"
+".\301lp\235\216\207\325!\314\215\77\21\302\17\275\320\223\263t\321\356"
+"\317\b\371\247\33\213\325P\332U3\337\376\377\377\377\377\377\277G\222\331"
+"\261\265L\231\344\344Ey\330\376|\376\370\374\321G\314\234\242\241*\360"
+"\347\351\205\17\243=\201Q0\nF\3010\5\0\62\364XT\317\360\b\344\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0p\b\0\0\0\0\210\317"
+"\'\207\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\337IDATx\332\355\230\313"
+"k\23Q\24\207O^6\326\244s\373\2425-v\241\342\263.\252\241\212\32\220\326"
+"\205\272\r\202\13W\202\350FE\377\2E(uY\354\302\215EW\256\304\212\230\205"
+"Y\4\244X\213\317\224J\260\17b\233\26i\323&\246$\215\264\315\270h&\3169"
+"w\356\314\350,\2442\207@8\347w\277y\334{\356=\207\1\260\3156\333l\373\277"
+"\314\301E|\214I\314=h\222\226\230\304\312\77\306\30c.\0\200\3516s7\277"
+"*k\3317s\260\323\322{\377K\332\235\212\2\370\333\232-]\344\360\304_\315"
+"\232bg-\321\236\242\225\25[MZ\232\363EKt\301\22\375s\263\345\232Mo\272"
+"\323\301xHc\213\327\273\2740\273\376\347\364\356pw\7\333\310\344D,\22]"
+"\27\215{\241\261\277\217\276*\241\350\354\355Z\323t\315\343\22w\316gn8"
+"\315\321\7\276j\326\211\241V3\364\221\264\254msAc\272=+\213,\33\64\232"
+"\363mO%\0\0\310\214\246\353\3665aM\212tN\352\337\273\374\216\247\235\0"
+"\34085L\342q\257\t\372\2162\277\356\7D\3515\246{TU>\202\245\265\203F\364"
+"\33\227Jm\311cq\320\210\356Dr\37\26K\355\372t\f\313\373\211\334\257O_$"
+"\317\366\205,\272Go\177\257\77\'\201(Y\364\220\36=\362\203\4\336\22\377"
+"\214\36M\7\303(\361\203z\364G\32\230\240\335\206\36=N\3\205%\262\23\232"
+"u\350).2O\374\35bzm\201\13\321il\20\323\231\22\27\312\23\337+\246s|h\205"
+"\370Ub\332D\37\222\263TK\nbZ\243\213\361\23\377\273\230\256\342C[\261+"
+"\'\305\264\207\17\325`wfEL3>D\332\350\21\224\251.\244\325sW\255\226\260"
+"\377\32\321>\374\344\\\303\276\213\370\21\275]\262\207\6\366b\367\3238"
+"\242\267`\365\20h\355\310\337\366\20w\36dA\216S\372$\362\262\3d\367\343"
+"So\211\254Y\335\32.3\344\332s\344L=\207\345\313\270\n\373\b\275L\350\b"
+"\226\77 1L;/\256\214\205\324r\30I\3\\[U\221V\313\377\tUz\324\247\324\360"
+"p5\267\276\212\224\356\210+\265\250\362r\276!5\234h\344\262#\244\324\326"
+".h\235T\206uoh\307\306\324\360\273&>\267\316\227\265\353\0\260\375\263"
+"2r\254\357\346\265{\357\321;\77\361kd\346-\365|\260g\242\216\'sI3\257\357"
+"o\314\207\222\257W2Zl\261\277A{W\274\224eYN\5*~m\357\42egz\2\2423.)\313"
+"r\21\265\13\336\13\217\246+d>v\367\204S\374\315\243\313\1\60\37\347\216"
+"\230\235\1om\256\230\236\232\263\277\16\331f\233m\266\31\333/\1\16\223"
+"\306q\331\261 \0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\65\0\0\0p\b\0\0\0\0\233\30gs\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\252"
+"IDATx\332\355\226_HSQ\34\307\217w\316D\32\316Z[\2535H\247F\21\211\6FE\13"
+"!&\31\22\6\321s\320C\364\220\17\6Q\344\210z\210\250\247^\212\376P\24\4"
+"\321\303\312\n\306\210\4G\220D4\222\220\245\17\342\232\265B]\316\364\232"
+"\333\257\207\271{~\347w\357\235\253\227\36:\337\247\373\373}\367\271g\347"
+"w\316\371\335\303\230\224\224\224\224\224\224\224\324\377\2562s\253\332"
+"e\253\262\246\347R\337K\245\352\374\255-\2655KA&\376>\32N.7\374\306\13"
+"C@\225{}tE1f\327\363,\30*q\314t6\233\372\300\\\375n\303y\225\367\4+Q\270"
+"\360&>Y\323\330Z\241%\22\373\206\365\3\255~\211\337\374\265\333\316\30"
+"c\314u\223\347\306\327\353\240\206Q\fE\234\232\21FY:\267\372\4\206\236"
+"X\271\363\0\345\273D\3109\216\241O+\271\343_D\306\200\0U\f\b\345\332\313"
+"\35\367\27a\341\326b\352\242\0\205\221\363T,\177\'\262\232\26\4+\300\235"
+"f\262h\'\30cL\311{W\255x\340d\204\77\357&E\263q\312\337&8\241\34\177\256"
+"\42\3247N\235\22\235W\350y\232P\37x\231~\211\377\335\213~\265U\264\306"
+"\24\315\351\26\235)\341\345Q\301;\316\215g\42\365N\2406\317\342-\303\207"
+"*\377!R!q&;\223\232s\27\35\t\37Y\222;\244\0\366\340\b\0\300\314\343=8{"
+"\200P\327\364\207\310\331\334RkA\7\2211\346!\77\311\350\251TJ\b\25\306"
+"\230\375\217\373\241R\330$\314|;\30S\352_Q\263$\267\252$\212\266dwI\324"
+"\b\355\327%U\304A\333\245\303\254\3076\340h\230P\355&T\37\304z\267h\321"
+"uB]2\206\274\213\0\0\207\na\200PC\306\324\25\0\200\371\352BhI\22\254\311"
+"\bre\0\0\36\362\3049B\3356\242n\321Ni\237\22)\265^\17\265\345\0\0\336\342"
+"\324I2XD\241\220\3473\0\0t\340\234e\220`\347\t\264&\6\0\0/\310~\230$\330"
+"\31\301\336\26\317\367!/yY@%Xh\3\377\34^\236\317\177\32:u\263\355\242\230"
+"z\357\240\2071\245\356\310\375\237K\231\36\203\312\266O\353\77\340\271"
+"4\n\202\206k\337\30+r\1\200\334Y\223\335i\355\2353\2052\207\315\17\215"
+"\347\206j\fE\212\37:\347\351\217z&\272\277l\331\333\227\257c\307v\237\26"
+"\315\f\366\77\212\227x\323\253\364\256sXm\351\354\304\330DV\336\207\245"
+"\244\244\376\225~\3LN_\214*\213\354\5\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0p\b\0\0\0\0\214:\367\272\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\2\327IDATx\332\355\230\313kSA\24\306\'\246)1\r"
+"w\22_\210\215\202\261\17\221\212\13\241v\247\202\245J\203\322\212\242\6"
+"WZ\n.\354\302M\5q\'\372\17\224\42.\4\255\202\210V+>\20\251\13\67\255-Z"
+"\254\265Zm\253\246\332\22\265\344qs\323\3465.\232\332\314\231\233\231I"
+"/\242\350\375V\3119\337org\2309sn\20\62e\312\224\251\377S\226\2\375\16"
+"\214\261\342\352\t\314\177/\342\333K\24\214\25\227\13c\5c\254\2701\236"
+"\363\373$\371\315\257D\317\263\304\340\374\3774\317\237\277\372\4!d[Yn"
+"3\366#\270\235\320\252/p\0\353H>^n\376\351G\6\327o\324 \377\303 \37\63"
+"\310\'\376\325\375k\362\177e\375\300\245\212=\32\372\224Z\f\277\332\267"
+"\273z-B\b\241\344\273\247]\335\231\302\36h\333\315\4U*\306\217\25!\204"
+"\352%\353\317\372\333\31\2\365r\2234\337\24!:\322\366\313\361\266v\242"
+"\257\324q\31\276\370\36\311\247\324E1o\275\5\240\373\207*WU5\367\353\215"
+"\247\307\237\247-S\265\331\13\276yF\212\337K/|\260\342Wf\317\254\4\357"
+"\376B\31\62\273rr\247$\3706\332p\205:#\275B~\3\275\351\322eT\266V\310_"
+"\242\363\17@\3725\341\337\177n\77\355\277\1\370\16\301\371\367/\245\202"
+"\344!p\335\25\360\rtp$\b\\\303\223\\\336\275\235\16\3661\266>._c\245\203"
+"C\214m\220\317\203\340x\201\367\377F\20\374\312\330\2\\\336+\354\26\246"
+"\271|)l\333\30[\230\313;@0\302\330\222\\^\1AR\340\375\223\20\332\212\271"
+"\374\f\274}\30\233\213\313\177\207o\r\214m9\227\237\0\301\25\214m\35\227"
+"\207\373\315\303\330\312\271\374\0\b\2261\266-\\\3769\bV1wC5\227\357\7"
+"\333\13\236\'\264\225\277\376\311\307`\265\340t\33\4\365\347*\2106\202"
+"&\343\250\250\13\t\320\365\365-\335\26\35\201\365\333\7\7h\1\206\3\271"
+"I\373{\3103\317c\377L\33>:s\222\27\230\373\353\f3\203}\300\321\271P\22"
+"\17\263-\315\13\266\355\353\200\3d\17\265\345d\212\20B\206\350\354e/<\221"
+"\216\1\60\300dk\245\5-;\330C\b!\344Z+\21\365\21\236\17L:\35\313~\350u\346"
+"\343\27&2\261\363\r\2639\262\205m\320\247J\364\277\201\232N}O\367\216o"
+"R\375s\264\321\37\324y\365:W7-\333\377^\357:\321\262\206~s\275svnZ\252"
+"\246F4-\24\327BZ<\254\306\243\221x,\254\305u\332\270\272\266\341\371\345"
+"\231}v\332\273\230\377_\234\25\36GI$:6\226B\246L\2312e\352\367\350\'\331"
+"\371\77\310z\344\263t\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0\66\0\0\0p\b\0\0\0\0p/\334p\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2\237IDATx\332\355\226=LSQ\24\307O\77xX\2\362Ul#\17\277\207\6%\212\260"
+"\210\21\2531Fc\28\250\203\321\311\301\304\305\t\343Bb\254\243\21\23\7\'"
+"\23\243Qpp0\21\5\61j\242\20S\'\7\221\252\211\rMSR\321\207\332P\332\352"
+"q\350\243\357\234\333\367\332\327\315\341\376\227\366\236\377\375\275{"
+"\336\3758\367\1HIIIIIIII\331\226\303\322X\333\\]\277\230I\314\333\307:"
+"\202\273\272\326W\347\377/E\336\276y\274P~\374\266\320,\n\312\216\178K"
+"C[\356d\320L\263GK@5\241e\264\322\270\337\352\335\332G\267\221Vl*\256\264"
+"\367(\205v\362\370K\323\261\372R\344\341\37\16;\0\0\374\267\215Pz\300\214"
+":\235#\324C\317Jx\310\b.\3577\31\213R\257\214\334\34\23FX\13\210T\27\315"
+"\360w\33q\266\3775\214p\25\247j#t\326\2560o\2128\203\34\273I\251\214\217"
+"y\27\211\245y\251\263\203\276\30\216\361G\6\251w\231:\223le\317q\314O\275"
+"\2701Y\320\3157\304Na\272\330~\3533\342\367\30\225S\4,A\335[\205p]\212"
+"aQqq\242\324\215\1\08\1\0\372kX\257\242\223\351\241\215Vu\5;\310{i\2\265"
+"\271\205o\f\0p\3\0\354\345\335V\37`M\337\5no\322\177\233\260\42]\323\223"
+"\fTV\265\274:\266\2562l\225\216\325U\206y\364)\21\16\3\374\374V\22K\350"
+"\30\n\361G\247\312\216\350\4\200\37B\254\nla1!\326h\17\213\b\261f\233s"
+"3\307\3273io4x-\254\247\327\262{\23\305\236\nf\267\25\265\'1\272\317\250"
+"\343\ri\236\345U\253\324\302\210\370\321\250\315\36796\3476\307\316\42"
+"\42b\177\241\335#l\362\223\246\324\6\r\21q\206\\u\3179\26\2557\241\224"
+"|\231=A\'\341\17\347\36\24_\316\216\273\210\2108\315\234\33B\232\303\42"
+"\347\312\327\355l\'\277\3f\4n\244\226\257\345X><$<m\253&p_\217\31\357\256"
+"\234\321K\345\204K\314=\230\22\213\306\347P\260\21\300\251\36\271\36\327"
+"#\357M\246\252w\301\244\336\344\276\323\213\331g\266.\33\303\245K\326\13"
+"\213\23\245\f\376\262\206\262\227\334\226;\\\35NYP\223\35%OR\313\371w\305"
+"Lzdw\371O5\365Pog\240\220Q\356\323\364\263\'\2136\77\f\225Vu\215\253a)"
+"\235\234\377\222\221\237\317RRR\377\227\376\1\275\356/e\37\3409\204\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0,\0\0\0p\b\0\0\0\0"
+"@\243\315Q\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\305IDATx\332\355\226"
+";,CQ\30\307\377\275i\233\306#*\21$D$^\213\307\240hjQ\203I\244F\206\32X"
+",\6\221\20\203X\304DL\202\301f\251A\30,\22\22225!\301\3421\b\325\206E\274"
+"\242\332\244\275\6\315=\337\327\336[:\20\222\363_\356w\276\377\357\236"
+"\363\335{\3179\367\0RRR\377F&\203\274\315\345n\252-\266\233b\341\313\300"
+"\316~\42S\27\r\313\217*Qh2\317\20\255\364\305\325\24\205{\r\330\341\27"
+"UG3z\250u\225\20O\207\317Z<\255\303n\t\364a\320\202\42\255\242DG\32\274"
+"&\330`\r\2009\321>JeG\205\27w\1\30\241e\267p\266>*,\37\200\242W\n\217+"
+"\354\13-YEc\5\2007\227\332U\f\356n\27q\324\17\240\215\215ka\360\24\211"
+"\317c\0\n\30\34\242\260\303A\32A\0\b1\370\200\302\3\324y\0\200m\326\361"
+".m]\323G_\4\0\3631\311\364\261\367\306\346\302\2\0\240\366^K\314\3\244"
+"\f\'+0\2\0\270p\356%\253\32\32\5\314\302n\326\233WW\235\255=\3259w\376"
+"\315\27\60\270N\177\306\6\2ZH\312\250\370r\r\22\270,\33\330\226\5\234\217"
+",`\345;\373F\371I2\2623\343=\42\342\306\333\317\253\31J\241\376.cK\37^"
+"\311f\373\3729\330\214\267\365\344\242\3610\343\354T\304oi\267\25\360\355"
+"j\366Wk\226\260\204%,\341\277\b+_\367\42r\245\334(\315\bwq\303m5.\307\346"
+"}J9OnT\351\35\211=\375&{I\215\316\3775x\375\30\1\306nhnB\315\250\206\77"
+"\367Q\244\244\244\244\0|\0\16\34O|\272[j\243\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0;\0\0\0p\b\0\0\0\0\205\321W\300\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\3\337IDATx\332\355\230[HTQ\24\206\227\216"
+"\316\250\223f\326 eE\227\t3\363\222]\350&\331\305\250\260\202\212\356\276"
+"\364`aDE\217Q\204\321C\21EA\21\225\20]\250|\20\42\260\13\244\230\246e\27"
+"h\22\315\3124\35\7u4M;\352\330\234\331=Xs\326\332\347\3429\357g=\315\336"
+"\377\372\316\331{\355\265\367\332g\0L3\3154\323L3\3154\323L\343-\304\240"
+"\377\314\335\313\234\261\77\77\227\334\21\214\276ivq\200\215X[\226\301"
+"1\36\36dA\23\26\30A\255\267\31\266\32\325\371FM\216\216\214\350\37\350"
+"n\17\4\321G\353\250Kr\230\34\213\317\312L\231\33\367\257\341ktU\227}\2"
+"\0K\21\207\302\34\36\2149X!2\336\32\13\246\303UY\357\36JN\270\320\307\24"
+"\355O)c\214\261\222\244\243R\337\22L\206\36\351g\232v\337\29\301\206\333"
+"\202\347Y\216\375\2\65\205go}!\2507\32\300\332\370\277\225\213\320$7\366"
+"{\236\b\0\09m\270\2638\22 \3253\362\373\fB\235\355\330\353\336\377\19\275"
+"\270\373Y\4\200\343\202\207\tOV\343\370\326c\237\357\366\240\260\223\f"
+"\373a\b\0\200\225F\370\32q\311C\211\330@\224|y>\244\7\260\203/\32I\'\t"
+"\373k\202\214}H\34*\261\264\234\256\323q\36\35;D\364+X\263S\326\205\362"
+"\1\0\0\326\330\310\243~\340\206\320A\264\224\261\34\233A\207\321\245\321"
+"\202Y\34;\205\312C\244\325C\305X\216\215\245r\204\346\21\300\261>-\226"
+"\306\2\2729\266\235\312\t\244\345\0\225@\216\260uT\236\216\33a\364I\356"
+"v\216\255\240,\t\373\234p\242=\225\5\240\226&\300$$\35\246R\246\214\315"
+"\243\16\307\220\364\206(\257\344\201\17s\21\217\257\322\361\271\212\b\376"
+"E\n\253\226.\20\237C\301L\247[\360\224\342\222o\32&\273p\327H\357\244j"
+"\202\336S)\5\353\177\21\267\322\374\225\3637_\242}\205a\252\345\261B\373"
+"\204\375}@\253\316\355\254W\'\305\273SG\251\222\7\272\224\311\316KN\315"
+"\272\37\276v\313\332\311r\17\261\345\363\333\27U~\255;\203-\377X0q=%\265"
+"\35\275~\0\200\236\301\237^q\264\302\234\216\246Zh5t\35\310DUL\2141\204"
+"::P\\\372\215\335B.\222\240&\352\244,\0\0\241\267\355$\303\204a\321\307"
+"t\336\315f~\323r\21\206\7\205\256\256\326\346\332w^\5u)\323g\37\13f\310"
+"\330$\246\327\3747\307q\254}H7\314\232\2229\370\221~\226ur\231\275 `\0"
+"v\331\360\32\201G\\\245\77\31\342\7*\351R\25\30x\2637\222{\332\206&\375"
+"\360v~(\266<\227^\366&\236/\0\200\330\320\20\232\254\357\23\200]\247\23"
+"\336\370\330\247{\314\264lf\2747\260H\254\33\243{Qb\225\245\361\227\240"
+"\370\324\335\305d\31\32\221\232\355\227\372oX\24\247\230\215>3X9: \277"
+"K\335\3156\225\370\234E\354ET\212P\3679\265\330.FNk\244\272\277\34\271"
+"\264\250\261\350\226\325\\&\261\270\312OSc\347I\77O\243\23\3732^\272X\225"
+"[\325\7\251B\206\242\376\\\34\377\362qJ\350\304\27\322\346\307\303\204"
+"1\244\200y\16\312\316\366\264\363\322\247O\223\223\236\223\333\212H\36"
+"\17UT\325\265v\364\211\20>&\3061\321\231\274\30\275\251t\7w5\205}:\17\254"
+"\356\375\n\233%\243J\317\268\241R\251V>\30\320\4\373\212\266\206\253\327"
+"\356\250\25Y\13\323\342\224\236\353\376\364\372e\265o\324\357}\2073!!n"
+"\274\335n\267\2\f\13\177z{\274\255\356/\275\346\377\42\0\0\177\1\206\252"
+"\17\275\222\5\265\252\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0A\0\0\0p\b\0\0\0\0d\272B\221\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\1\347IDATx\332\355\227\77,CA\34\307\177\375\237\266\321wm\320bE\242"
+"\243Q\32\241\22!\42\61\223H,\302h\244\23\3\213\221NV\221\260\330$\42\325"
+"h\f\6\32\211\315\277\206T\220J\32m\321\326\353\31$\332\273\367\372\334"
+"\353\31\204\373nw\337_>\357~\277w\357\356\367\0\204\204\204\204\204\264"
+"dPN\231\21\222\334\350\344\212\221`\6\260I\bI\310\215\220\204\220\204\20"
+"r\2\0\300\230\16\302\203\304\225\205\221\273\16\277\201`\6\210:\301X\337"
+"\352\340%\331\26\60\251Q\375\214x\215\204r\35v\271+y\311Mx\342&\274q\23"
+"\262\334\4\371_\177\27\202\360\203\'\fCPS#z\317>$qM\4Sp\270\333o\1\0\200"
+"\327\343\375\3153\215\320\200\332\tc\237\271!\247\17z\364\21\202\27\230"
+"Vi\315\241\203\20\222\261\212\216$V\202!\214\325uhe|\233\213\323U\214\256"
+"e\2665L\340\252\222;Y\326\320\261\242\261\rC\252\375C FD\25\254\0\0\305"
+"\275\330\35\264\217\370)D\2619\365}\26\30c,\257\372>\37\63\225g\271\321"
+"\224\204\314\320\2279NY+L\204Bo\205\273CzQ&\302\\\245\333Oz\t\26B\302V"
+"\351Z2\204\371\302\262\243\302y\242\372q\302\264\33\30\b\33\344\220j\355"
+"\\\337\23\316o\311qJ\367)wJo\42\335\204k\356\223\366\236\233\220\343&d"
+"\304\255\'\b\202\360W\bFm4\365\203nR\t\364\221!^\212\340\2536,\23\6\310"
+"\220>\252\347\243:\260AE6\336\371\22ug-z*\354\266-\312\315M\272\312\351"
+"\315\6M\310\327\244,Q\351\346\3619\262\4\260]\347iiP\332r\3621\rK\21\0"
+"\200\365\352\355\16^\7\200\264\206\77\372Wv\224\220\220\220\220\320\177"
+"\320\7,\223\22U~\42W_\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0#\0\0\0p\b\0\0\0\0\261\250\226\334\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\77IDATx\332c`\30\5\243`\370\0F4\276\212\216\350\313\13\217"
+"\360i\210\274\370\377\377\377\377\377\217{\342T\302\263\371\77\f\314a\305"
+"\256\204m\357\177\4X\302\210UM\323\177d\220\214M\211\3107\24\65\317\330"
+"\3402LpV8\'\212\26Iw,j\254\321\314\265\306\242F\nM\215\24\26\65\77\320"
+"\324\374\304\242\346\6\232\232[X\374\345\376\37\25\350aQ\303t\25E\311A"
+"\254a\350\360\7I\311w=\354\221\221\376\17\256\344W8\256H\ry\rUr\317\1w"
+"\342\20(;\376\365\377\253m\t\354\243\31\213\304<h!\316\306\312\303 \300"
+"\310\305\316\302\313\300\317\304\311\301\302\313\300\317\244\214\242\356"
+"\322\177l\200\1K\32\303\r\250\245\206\221\201\201!I\224\201G\306Y\226@"
+"\211\302\300\300\300\262\34\247\233\21@\342\17a5\fW\211\360\373C\42\374"
+"\365\236\b5_\211P\363\207\326\341<\252fT\3150U\303\214K\6I\215$Z\31\201"
+"\305D\376\17\250eB\22\246\235\346G\321\312\237\17\361\334H\245\325,EN\1"
+"\5nL\223\377<z\363\211\241\360\n\236\262\27\nl\350\33\206\243`\24\214\2"
+"\362\0\0\225\312\25W\267\200\351Q\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0)\0\0\0p\b\0\0\0\0\246\212\6\25\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\31IDATx\332c`\30\5\243`\24P\n\30\261\13K\30K|\274~\225"
+"\260v\207}\377\376\377\377\377\377v*\23~u\314}\377\376C\301^A\274*\247"
+"\375G\200\23\\x\24\206\376G\6\23p+d\272\215\242\362\267\34\\\2]\245\215"
+"\n\n\227%\6\247Jk\\|\f\225R\270\370\30*\177\240\361\177\342Ty\3\215\177"
+"\13\247\337e\376\242\370\375\1774\356`Z\205\242\360)\'n\225\362\37\220"
+"U\206\340\213M\247o\b\205\r\370\223\210\371-\250\272\367q\204R\35[\312"
+"\236\367\377\77\34.\26\34\315\277\364(\31\\xYXx\31xX\231\371\30\270\331"
+"\230\370\31\270\330\31\5\3089\272g\300\362\t\\\345n\354F\t\340L\311\270"
+"3-\rT\42\334Y\301\300\300\300&bd\315H\254V\307_\250\371\250\2\247\355\373"
+"\227\22\355\316\375D\253\274O\264\312\17D\253\374D\264\312\377t\214\243"
+"Q\225\243*GU\16*\225\277\211V\371\215\6f~!Z\345G\242U\276#Z\345+bU\376"
+"\177F\254\312g\77\211Uy\23\265\346\342sPez\262\34756\225\227\2209|\223"
+"\277\377\377\377\377\377\317~v\6\6\6\6\69\224\212+\2\271qx\3&\272\203\31"
+"C\345\77\t\244\212\363\24B<\37C\345\31$#\23\221\304\37\60\60\60\60\350"
+" \253,CR\271\27YB\236\201\201\301\4\211\377\23\311r&Sd\317I200\310!\361"
+"\227\277@R\311\213\254\362\27\3\3\203:\202\373\247\rY\362=\222e\2378\30"
+"\30\30\66#\370\23Q\202v7\222\312z\6\6\6\221\357p\356M\36\24\225H~_\310"
+"\314\300\300\320\17\347~\320A\215.\326\2530\231+\254\f\fLE\360\276\321"
+"G\33\364\230\325\205\267\265\357.\\\371\0n\342C\3\314D`\361\342\77&X.\204"
+"-\275H\256\371\207\246\356\2243\256Th<\37)\260\336\316\263\301\327Vd35"
+"V\225\20`x\373\342\306\351\13\177\207t\353\27\0\207S\324a\245\235\324\22"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0p\b\0"
+"\0\0\0\214:\367\272\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\64IDATx\332"
+"c`\30\5\243`\24\214\202\221\t\30\61\205\270\4\4\370\5\4\226\23\255\237"
+"W\200_@\200_@@\200_@P\200_@\200\25\227\301\330\201\367\177\254\200H\335"
+"L\24\372\177\240\365\2630\274\331\303\300\300--G\2419\352\247\311\13\77"
+"8\320\241P\77\303C\n\343\357&\205\341\377\226B\375\337(\324\377sH\246\277"
+"Q\375\243\372)+\277\360\203\303R8\245\352\226\22\241_\16w\301\3107\24\374"
+"\377\350\17\273\4\63\246\360\267\27\f\f\237P\205\246\341*\77\331m\346\377"
+"C\221:\234\242\214\305\246ix\312\3376$\211\223\326\244\373\177;\242\224"
+"+\261<J\212\377!\300\20\306x\32t\n\227\32<\356\27}\6\25<!IN\374\tl\206"
+"j[\346\360\34\267*\234\366K_\200\210\374\253\302\333\246\301\245_\3671"
+"D\340s ~W\342\320\357\362\1\302\177h\300@\216\376\204_\20\3561qr\322\77"
+"c\303<Hk\216a\301K\6\322\355g\235\17\347~7%]\77\377n$\376c1R\365\313^B"
+"\218\304F\232~\375\'h-\242)$\351w\377\204\321\244M\42E\377o\314&\361\17"
+"\63\22\342\17K\306d_+NY\371\'\263\206\215\24\375Wg\243\213\330L \332\377"
+"\377\377\37\26d\336\214\21\6\311D\353_\307\311\300\300\177\31]\377Os\42"
+"\365Ogf```Py\205n\300c\t\222\362\237\343Ot\3\216\260\221\224\377\3231\202"
+"`\6i\345\317$\42\303\20\227~\346\335\30ahAJ\372\371\33r\33M\204m\215$)"
+"\351\357\243\367G4\21\351\325l\244\244\337\333\241\350\275\21\353\36LU"
+"3P=\211b\360l\2140\214\307\320\277\1U\1J\273\307\0C\377O\'4\355<oP\25\304"
+"!K\362c\26\6\37,P\nj\343}h\362\257C\21\351\214s\22\226\16\366\267BNH7}"
+"7\3\27\277\34/f\200\374\274\367\356{\315I\206<_A-N\254\341\372\355\372"
+"\2714\6\6\206\377x\2007\226|\215\4.\r\371\366\357(\30\5\243`\24\214\202"
+"\241\t\0\21\31\200\237\256\77\22k\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0\42\0\0\0p\b\0\0\0\0^j\375\342\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\0\272IDATx\332c`\30\5\243`h\2FL!\26\1\1~A\201s\367\340|"
+"\6\6v~\1\1~\1A\1\1~\1\1~\1\1\1n\6\6\6\6\206hd%/\371\361[\304D\330-\324"
+"Q\302\302\300p\200\233\201UX\235\225\240R\236\356\377\250 \nK\0\235\303"
+"\245\4\356\226\377[\t;\367.a%o\t+\371FX\311\317\1\217\200Q%\243JF\225\214"
+"*\31U2\354\2250\21V\42\201*!\202E\211\7\252\22\33\f\323\304\33\377\241"
+"V\302\377:U\20\355\227J\'f\1\tI,\216\370\372\350\335\367\232\223\f\f\f"
+"\fK\377\343\1\336t\f\272Q0\nF\1\1\0\0\356\346_\351\370\270\42\77\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Z\0\0\0p\b\0\0\0\0\273"
+"\3648\216\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\177IDATx\332\355\227"
+"Kh\23A\30\307\277<\226\266!4\331j[\213\232\223\242\227@\265\264\213\5k"
+"/^\352\305\203\217\252\24\305\202\42\bRP\4A\304\213-\36\4\205\3421\340"
+"\203\200\320\203=\244=\211\207\242\36\24\65\210\207\42\352\306Z\260\205"
+"\270\3246\17\223\315x\b\311\316\314~\273l\214\336\276\337if~3\377\231\335"
+"\354fv\0\b\202 \b\202 \b\202 \b\202\360\214\317C\37%\26U\177\255dL\314"
+"\251\333\302\312Z&\373Ws\367\337~Sd\2141\226_\270\26\23U\353\321\3447\306"
+"\30cl)y\274\5[\365\216]!\177\4\42\376P\213\22\6\25\302Jk[\240}v\2\0\0F"
+"n\fp\235+O\256f\254k\271x\245\207s\253w\356\346m\351\223\f\3411\0@\327"
+"\214\334\274~\2666\252\367\235\354\26\65\357\321{\227\21q\253:\350H\316"
+"\256\n\'\274F\17\257a\202]\6\08_\301T\371\230\267\350\270\201&\263\262"
+"\6p\312\304\335F\234\313\r\2\314\33\240l\352\35\362\213\23v\246\42\370"
+"#\23\230\356\337\237\360\343.\224\30\250\330[\207\n\342\252\2372G\306\177"
+"8\273Q\354\225I\234\341g\372\251\2\0\224\346^|\17\356\31S\261\25\232\317"
+"\236/)\361\223\235b\353\313A\244\353i\373\22f\252\357Hw\32Y\336\334\316"
+"\352}{%\265oG\242\207m\243o\326\324\356\222\315\335\253]n,/\2121$:.\217"
+"~h\271Y\331\245\270\33)\232\311\272\260~\352\2344U\366\222UNI\256p\201"
+"\325\313\363\322\223\205D\227\244\341\367\271\277\263\367\222{\244[\345"
+"\264\250\332\220h\231\7\\Y\227\\\222+\177v\np\214\326\27\271\212!\272\334"
+"\2W)\232\215F\277\25\262D\367\3617_[o4\372\213\313\366\240{\332D\34\243"
+"\335\366\244ls\321e\227A\345\346\242\233\207\242)\232\242)\232\242\377"
+"Kt\340_\7Z\245-b\227\16\276\262\331\305\5\333\5\327\203D\217H\'/\276\262"
+"Ot}\374\221P\23\317\207Z\227\355\3747Q\224>\353\256\327W\343\33\374$\271"
+"i\3532\372>H\356\365\201`\375\373z|\324\27\355\336j\77\233\232\372j\372"
+"\34hS\35\261\250\315\261\314\312\362a\320\246\324\30\362\355\235\377jl"
+"\300A\307\263L\2254\300!\'g\2708\306\30\2752\4A\20\4A\20\215\361\7\254"
+"q\312\t9p@\13\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A"
+"\0\0\0p\b\0\0\0\0d\272B\221\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\325"
+"IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\244\3Fb\24\61I\211"
+"\3613|z\375\364/yV\330\364\234\372\371\377\377\377\377\377\377\377:\331"
+"c\205\325\r*\352\\L\374\f|\314\234\34,\274\f\202\f<\254\354\\L\374\373"
+"S \266\307Tj\240\250\277\324\266\22\323\220\366\377X\300\26\6\6\6\6\6\255"
+"S\2302\273$\320\274\210\317\7\21\247M1\5]O\251\22mB\3662.l\302\262\373"
+"\304\2114!e2\216\210\222Y\201,\301\302\300\260\343\3\3\253\210\211\25\272"
+"r\247\318c\332!v\21\26\321\240\177\250!)\373\372\77np\213\21[\212\332\343"
+"\214l\340vN\7\6\6\6\206\277{\17\77fP\361\323C\267\317\366\b\26G\324\242"
+"\330\2IDK\345\240\221\362\31\315\21\355\330<\27\207\341\326\237\221\210"
+"@\371\203*u\b\233\t>\350\6\374\13F\222\235\214*\367\26\233\tN\350&LD\226"
+"U@\r\350\377|XL\260A3\340\235 \212\364yTY\25\42R\324\364\367(\334\23\250"
+"\262\\D\230\260\4\225{\7\225\313G\330\204\207\327Q\371op\26\77\270$\316"
+"\241\361\177\223l\302=b\13\61\234&<\247\330\204/\24\233\360\231b\23\30"
+"FM\30\65a\324\204\301a\2\63\376&\32\32\237\31\213\th\215\33q4\23$pq\21"
+"&x\242*qa\300\313\367\302\360\215x#Z\265\366\277\33\331V\211n\364J\265"
+"I\34\341\275\344\b&Aq),a\364\344\305\207+\205\f\f-\346\2\22\62X\244\237"
+"\275\374\360w\363$\6\26\6\6\25\27\34\241,#\303\300\301\300\300`\200C^J"
+"\212\201\341\366pIQ\243`\24\214\202Q0\nF\2\0\0\314\374_\20\351\356b\255"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0"
+"\0\0j\23<\376\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\266IDATx\332\355"
+"\226OHTQ\24\306\257o\232\306\246\34\315\241\251q\244Zd\177\214\42\322\212"
+"\211\f[(\5E\177\210\26Y\6m5BZ\325\242M\313v\203\213\202\300\240\334\4\211"
+"D\16QPIDM\222Q!\30\231\342\214\215\250S::&S9\257\305\314<\317w\356{\216"
+"\266\254\373\255\346\334\357\374\336\334w\357y\207#\204\222\222\222\222"
+"\222\222\222\222\322\77\251<K\307\341u;\234S\361\350\344\242\320\374j\277"
+"\177K\211\226\16\306>\206\236u\376\\\320>\264#\367\22:S\274\245*7\270\364"
+"b\277n\252\267Gs\220\247\6tKun\237\7\\}\237\246~k\17\64\77\236&\13\311"
+"\313\232\25Y9D\362F\317\333\205\20\242\360\n\205\203\205\346\344\261\37"
+"$\251\307\227].\247\357\360\301kJ&I\312X\351\234\261!F\214\336U2\271\227"
+"\222\372ij\325Q\'\344\344\244o\230\372\335P)y=\324k\345h\20\356\341\34"
+"\232M`\326\243y\6\314\304rt\313\300\215\301\353:\302`>\344{\32\2\273\231"
+"Z\215X7\2278\n\245\242\'\323\307\237\256\217F\314\354\342\350{\254\363"
+"\13s\277\367\261j-\222J\33\375\221%\306\277\236\300\304\330\4G\3730\364"
+"T\33h\r:\203R\275\204Y|0\213\26mEcDBc\2770\256\312\242\345\254\313\214"
+"\313e\32\303p\233-\203\226\261<\223F\26\307p\231/\203\272Y\336\214\214"
+"N\263\330\233A\13\330\272I\373\343O+\316\240\266\277k\341\232\20\42a\262"
+"\306\304\237>\225I\343\'Z \243+\204|\t\232\20b\200\255;s\243\341\f\372"
+"\211\255\273d\264\230}\204\331\rG\206\345\223g\373`M\264\3338\222\247h"
+"\224H\350:\26\77\61\320\16\64J\3639\312\352M\17\32h;\226\236\266\211\243"
+";0|\321o\2403w\321\252\340\350.\fo\222\337k\241\177\353\267\31i\217\203"
+"\335\13\5\22\0/\312\352\251\6\373\313I\274\312\b\230\7\20\275\3\346\3\336"
+"2f\251\333\206\227\5\2573*\335\335Uj\317VR\353\26\64\341\375\362(\323B"
+"\23\336\221\253=\224\42\306\357:\223\317\317\6o\324\3460nj\202\222\365"
+"\346#\3245\372\370\327;\323\367\322@\7\202\357\265V#\327\361\33\36\22\205"
+"\236G\355\33\17\323Cyu\366\213e\317\360\264\246\254\207\237\361&m\336\206"
+"S\361\310\2\236\274\356\316\331\2556\7\206%.\325\325\340Z\320x\251\371"
+"kw\357Yi|a\237\337\274\354\210,f\250u\257_\343t%\223\261\257\203I5\372"
+"+))\375\37\372\3\315\347\353\330RL\276\233\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0p\b\0\0\0\0\214:\367\272\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2\345IDATx\332\355\230KL\23Q\24\206O\351"
+"\320\227}*\232\250@\27\42\42Q#\301\30\65$D\26DM\334h\224\205qgLH\324\272"
+"\300\307\312\205\t\356\220\310\202\215!.\354Bb \256\24#\222 \206h\345\21"
+" \222\2601i\306J\260\241R\350\203\266\226q\321\264\364\236;=3\272\302\344"
+"\376\233\346\374\377\375\356\355t\246\347\336\26@HHHHHHHHH\350\377\221"
+"A\307\30g\225\307\22\215\313k\3772\277\375j\277\254\344\24\32\274Y\255"
+"\266\376\261=f\243\23\234F\213\265\314\5\16\311l3\270\301^~n\1\0\234\35"
+">g\361\350\215\221\256!n\2121EM\207\1\240\365;\357\2177\350\346\357g\325"
+"\202\314C\243>\276K)\241!\227\36\276S)\251\200\247\0\33\1\322\201\341\321"
+"9\250DW\225\270\227{\rMN\207\335\26\66\333\333\344\317\342O\341\266\352"
+"\265\366\36\2\0(\277\42\243\340\31w\27\312B<\36l\314\247\25_Pt\221\233"
+"`\200\303\345\252\315t\27\232\376\247\13\363\335\334\233\77^\34_@\351#"
+"\314\77\300\374\23\66\237b\323\270;w\331\205<\215\346Ku\262u/[\332\256"
+"\241\361>\264\374s\224\2733l\376Uc\375~T\257|f\353\372\203,\217\337\376"
+"{\354\214\243\372\f\311O&\2613\215\352S$\77\3059\13\250n \371\5\316\221"
+"Q\355\225(>\3109\341\24[K\273)~\211\267\242\370\216R\374/\336J\340\336"
+"J\336\77\336\302\r<K\361i\355\336\236\244x\23o\341\261\313\24\257\42\7"
+"[f\226(\336\303[\250e\310\344\365\357\340\34\63\342g\310\347\257\222s\360"
+"\346\367\211\344\367sN-\252\77\220\374\21\3169\312\226\213\1\222\77\311"
+"\235\f\232\330rp\203\344w\242\345\300\332\314\326O\201\344\3412\252\317"
+"[\231rt\6\345\355\250\177.\232\331|\204\215[@\203W|L\334\214\366p\320\344"
+"\243\336\342\207g\216\311b\373\264ye\326\275yL\362\263\321\r\320\301+\263"
+"\365\371o\316\13\66\360\203.^I\365\235\266\203\241\366\316\17\326\36\263"
+"i\363\23\205\215\3627\236\365\243\243tO(\350\372@~\243D\307-x\331\272\246"
+"\203\317\264u\253\372\353w\333\22\252A;w\376\273\24\346\77\221wu\245\26"
+"\344y\250x\234d\274\354\233\226\322\335M\205\7\330~k8\77E\354m\7\177|\6"
+"\211n\231\221\236\36SM\215m\333\352\362\267\240\2426@\322\354\272\351\371"
+"y\42\375\233\376-\370\255\314\2334\367o\232\257\246w;-\331\202\354\363"
+"\377\312\240\13\3135\7\223\367l\337\1\66\250k\214\305\23\212\236)^Gb\245"
+"~h\255F\42\'hX\2px\250\23\213\264\265\357\277\4\60\261N\rX\21\377\221P"
+"\372\3\b\250g\237\205\233nj\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0=\0\0\0p\b\0\0\0\0\210\317\'\207\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\365IDATx\332\355\230MHTQ\24\307\217\3238\325\350|\251\343G"
+"\6\332`\250\364\261\210\244(\31\255\210\b\373\244u\256\302p[\332\242U\224"
+"\2136\5\t\321\242\26\25\211P\264H\27A\24A\3060\13#Li\21jF5\3228:\316\307"
+"\233t\276n\213\231\327\274s\356\273\357MD\24\364\376\2539\347\177~\357"
+"\336w\337\275\357\3367\0\206\f\31\62d\310\220!C\206\f\375\t\225\210\fw"
+"\265\325\21^\231_\342\r\33\0\314\212\257h=~\335\37f9-\216]\361\242\26\32"
+"\203\214\261\230\220m\177\20cX\323\27\312\13W~\313\30cS\2\266\3635SQ\240"
+"[\366\207\31c\214=Uek\206\231@\17\235\0\0p>\27\335Q\203\17\314+\201\304"
+"\263\233\203\243\77\357b\252\36\0\16\246s\301%\25\270\'\255`\223\3\16\0"
+"\200\262\276x>1\267\21<\241\374\357\36\36\276\250l8\336!\247\233\77\346"
+"S\357\352&d\367$\7\367*\341\354\321\202\341\t\346\223\205g\261\213\33l"
+"e\267\331]\245\325\305\215a\23\201\253\276*\335\325\r\310\34\245\264\213"
+"\320\367\221;D&\20\201\323t\202e\221\335E\354\31L\207\210\375\22\271\211"
+"u\304\36\304\364\214\2347\1\0@[\'*\366\255\20\372\25\16\343\230>\213\335"
+"q\372@&p\30E\364\332S\330\235\244\364l\n\205\22\242\3679q\3614\2453\1\24"
+"\246\21\355%\305\237\270\211\270\200\242\4\242\367\340\322\354\2G/\243"
+"(\205\350\26\62(\31\216^U\177\227\230\0\300^#\30\322\202\276\213\351j\375"
+"\322\244\230.\323/-\27\3236\375\327\376\32\61\35\323/\265\211\351\204~"
+"7+\304t\200\344\354|Y\255\230\226\310\354p\224r{S\225\230\206\367dg\344"
+"Zj\1\r\232\256H\17\255\332\256E\373H\262\225V\355\326\242_\340\345\13;"
+"iU\207\26\35\31\323.\336\254y\337p\17\'\233\232q|\32\64\351\307\21\234"
+"\355F\221\345\2146-\335\42\273)\232n\275u:\253\300MN\33W\25^C\230nDC\24"
+"\357\'{\315\241\302<\3633]\332\374\6\27H\'\362F=\17\3634l\n\221\222\'G"
+"\34P\262\365r\2041\306\342I\35\32\332\343\\\33R&\277!\357_\326\243\301"
+"\273(8/\305\17\203>\r\236qU\370K\33\24C\203\271\77\312\303\217*\2418\32"
+"\240b\340\33f\375\271\275\2718\32\240\364\330m\371\210\305&\257\355\220"
+"w\42u\332L\351\324\310\b\270Zk\355\311\304\347\17\61\275\27\265Y-\31\366"
+"\25y\2727\375\326\267\201A\377\263\264E=*\216v\257Ga\303\257\365\260\17"
+"/\235\314\226\342\321\312\2757Rd\325\6\317m\263j~\207\346\264\4\340\24"
+"\224$\245h\243Y\233vi\f\244\305\364W\237\267N\317\237k\231\322\177\373"
+"\257\305\17\231*G5\255\320C\274\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0\61\0\0\0p\b\0\0\0\0\222\363\307\t\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\340IDATx\332\355\226\275K#A\30\207\177\331\315\207"
+"\206\340\31\361 \212\212\242\205\205\212\202\330x\\s6g)\b\202\225\225\350"
+"\201h\21\260S\b\211\250E\376\1\13\255l\204k\16\264\364\270\23\341\360\232"
+"D\374\0\25\264\360[.\212\4\324L\336+b63Iv\223)D\304\371U\263\363\3143;"
+";\357~\1********/\21[\21c\\\365\25\356\233\343\177\305N\331\30\330z$\42"
+"\242\335`m\372\34\235\325.\207\7^x\34.\267\366\1ezI\251nkO\215\257\233"
+"\353\327\f\371a6\220\0\0\374\242\334\304Rc\6\357\304\3565w\1c:\247\177"
+"\305\332\230\314\3\6\254\214\276d\252\235x\342\300\16l\300`\rJ|\335\255"
+"\302\16\335\226\243&\342\5\200Xx\177\231/A\207\321\232\312>\307w\42\42"
+"\372\361\21\177\5\62j\30\366S\321\370BDD\13:\332\304\365\206\214\335N\374"
+"\26+\27\2\200\325a\206\346\254\233$S\237\23\1\364t\1\270\32b\200]4\316"
+"2\306\215\0\306\0\300\177\1\340B462\315q~\265O\214\210\42\32\0x\342<\330"
+"\6w\327\3603\3315\0\63I\0\270_\344\201\237k\217dW\361\322\231\2\25G\334"
+"N\301\312\b\247IC\364\271\'>\1K\343\263\201\234\3376\37\211\355\315\327"
+"\303\322\270\326y\252{]\351K4}\370~2\376\210\31\17\255fj\254\233\364\233"
+"\33\177d\r\26\2255\16\343\262\306\1d\215#i\343T\332\270\2246\256\245\215"
+"\204\264q/m0i\3\357\307\320E\340(l\370DPU\320\260}\25Ao\241\3255-e\275"
+"J\222A\237\351\37@\270\305Y^]\231\207\235\235\307\30\60\261\235\3\362}"
+"\7\271|z\23\25TQQQy\235\374\7N\322\320\356\233\345\222f\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0\0\0p\b\0\0\0\0}1\2547\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\2\336IDATx\332\355\226\337KTA\24\307"
+"\217\356\17V]\177\220ll\261\21YJD\366S\351\327\212=\224\230\321\213 Y\212"
+"\275\31FD\17\341\217\20L*%J_\n_\312\247\24\332\207\2EB\42\212\326\332\207"
+"\274\211\254F\220\245[\42\333b\230\256\273\264\351\352\351a\357\314\316"
+"\314\275{\327\77\340~\237\346~g>\367\314\314=g\346\2\350\322\245K\227."
+"]\272tmX)*\336&G\2725\274<\37\330\b\220r\244\302y0\'\326\16N|\30v\257\1"
+"\0\30\313\323\0<sJ\332\332\370\ry\315\265o\689\211\210xQ1<\365\362<*\25"
+"\356p\305\32\n\300\376\6\65U\37\33f$\343\13^m\'\315\2004\23\316\334\262"
+"7\237\177\241\201\177t\314\2227\r\34\2277b[\343O6\302un\274Y\222\355\350"
+"%\326m\372\33\7\2329\240\215\330M|\340\302)\n\334\344\26\34\226\335\5\263"
+"\260\25\66\22\32;\345\275\4\0\200\206t\271\177lE\0\346\313&\204\315\7\0"
+"\200Z\362hT|\235\205\n9E\254\214\231O\'\272\234\245\374\376\245QDD\354"
+"a\42\34\210\'\307S%\361\356.\0\0X\30\253\221\331n\177\213C$Lc\210\210\375"
+"\214s\207\313\201\265\217\267Oep\304\241(\42>cV\371\217\337\207\342\342"
+"\326U\311\355~\37$\316XY.\200\237\31R\257\232mQ\251\373\\\266z\331\35M"
+"\230\242QO\333a\25\300\264\244\225\3273\355[\25\304\23\355R\210<\310\24"
+"\200=k\332\4~\335\'\20=I\0\f:\205\362\377\222\214X\334\315\23\273f\223"
+"\21\343Bb\346M%#\32\304\363n0\t0\2558%\317Ok\23\307\24\237\303\\\3756\252"
+"\1\264\322\263\325i\1\230\374\25\253\356\263\247K\355\t\16nW5i\371\20q"
+"\200Y\177\355#iU%\302\b\35\341ED,\341\336\226Vr\343\205x\324zy`\324\240"
+"\270\n\212\272\270\254\364\320\236\21DD\274\2462\355\234>\6\30\22\200\345"
+"\2\265\13\307\25\7\356S\367e\314\220,*\204c\235\2\225\324\34\222\235>\265"
+"\33\317G\253\42\233\236K!\271\257\346\236\n\260N\32\317\227\250\327O\243"
+"v\247\212\343sW\310\351\263\77n>\216/l0W\0n\221\236\336\4\365\346\277\300"
+"\5\251$\1|\354\211\323\305}\320\317Wm\264\254zI\261/\26\262\27{g\263\260"
+"N\357\270\357\317zV^\21\235\366\357\362O\252\363L\244\321\35\374\205\22"
+"\1\0\200\357W\352|\252i\35j91\303;u\222$\275\2562\0\30\253\206\25\25\24"
+"\350\260i\376\336\330jz\'i1\254z\37\2361%\377\375\1\323N\273-\303\20\f"
+"\375\230\216\350\77\210\272t\351\342\365\37\217\314\277\302D\323\34\334"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0p\b\0\0"
+"\0\0\246\212\6\25\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\253IDATx\332"
+"\355\226M+Da\24\307\3773\6\61/\r\315xK\232\304\254\314B)c\222$6()\37@)"
+"\13v\362\t|\6\26\263\262\262a\213\322\224\42\33\226\32\254f!\244\206\311"
+"\274d\ff\346X\270\314}\356\313\334\223\24\213\347\277\270\367t\372\335"
+"s\356\363z\16 %%%\365s\331\364\256q\0(\234X\177\353\'\42\242k\235\337\256"
+"\363\4M\42\350\311>69\300&#\334\311h#\356\210\246\301\315>\307M\336U\342"
+"f_\2623C\372r\304\214\271\346b\206\34U\376\322(\246\240\316;\342\221\376"
+"s\342\221\275W\304\42\355\3139\342\220\215\363q\242\352\244\rp\205C#\23"
+"N\215\277\234\251\330\331\200bL\221\205\322&\373\223\275\227~\201t\0\367"
+";\0\200\341v\265\77\277\247\2625\337\354Z\314\322\337\216H\222\222\374"
+"\317\244\303\222\b\273\0\34\2753N\\\234\210(\300\311\356V\36\326d\223r"
+"\344+$\31\203\36\67\0\344\324dV\0\32\276\214\20\0\274$\325dQ \277\357\323"
+"!\0\270\20\3463#^\322n\305\230\5\200S\201Li\352\303\347k0\2\0\61\201\274"
+"\21\3111\0@\335\6\0dc\342ZhJB3\0\337>\21\21E\305~\251\376Q\254\231\267"
+"\333O\301\31\17\0\224C\227b\276-\263\212\260\251\235\343\376\2221\230l"
+"\321-\307\272!X\2344(tgF\340\202\321\32{\17u\340\203I\257S\263\222\22\270"
+"\327h\253\351\36\363,\36<+X\341x\265\243z\377Y\333\335\343\364\246\363"
+"\211\304\233l\317\245\244\376L\37\352\32w\367y\2\240\203\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0p\b\0\0\0\0d\272B\221\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\334IDATx\332c`\30\5\243`\24\214"
+"\202Q0\nF\301(\30\5\243`\24\f<`d\340\261\20d\340fc\345a\340g\342\344`\346"
+"c\340cf\347b\24\270\351\5U `*\0\221\26`\344bg\341e\340c\346\340d\342\77"
+"\23\16\67\201\205Aq76\223\277\302\30:\273\260I\77C0\231(\366\305`0\201"
+"\205\341E\5\3\3\217\254\233$\16\5\17*\30\30\370T\\\5\t\232\304u\370\77"
+"\n\270\204*-|\1U\3720\246/\2765\341\265\340m\3\341p8\201\337\215G\b\233"
+"\360\371\3^\23\336|%\34\27\37\361;\342-a\23>\3417\341;\305\351\341\27a"
+"\23~Q\234&\277\17\341|1j\302\20\64\201\211b\23x)6\201\207R\23\330\204("
+"5A\201\344\0Bw\264\1\21&\374E\21G\257\37\34\2110\341\13\212\270\0j\330"
+"\263\5\21a\302\17T\t=\24^\234\30\21&\240\225\366\16\310\34\376&b\222\332"
+"cT\211(\2440f^,I\214\t\327P%\264\322\20u\3522_\314\246\17\26 \366\7\265"
+"r\375\1\13<\307+\3771\300m\254\206m\363D3s\377\352\233\337D\214\2!I\341"
+"\226\32\262\324\177\365\333X\34a\367\37\17\270d\203\312\277\25)\317\216"
+"i\304*\334\6<\226\321\305*^\201\232\252\13^\343\n\357g\216O\210\312\27"
+"\317Bq\324|wm\356\20Y\364\34\f\370\206M\315~\213\373D\27^\333mo`V\332\325"
+"\256o\360\267\212Q\1gi>JY\362wu-\304\7\272\247\276\277\377\366\375\343"
+"\227\357\237\77\177\373\372\361\33\214\203\265@L\334\362\31\32\322\277"
+"\216W+\20\3212\307\3465Ee~\301\357\357\37\337\3741\332u\31\5\243`\24\214"
+"\202A\0\0vq\7\352\373C\307\36\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2KIDATx\332\355\226MHTQ\24\307\317L\343\223Di\26!(*}\330\242"
+"\202(\204\334\24\224\4.\224\202\2W\321\252\240\255\324RhQ\31n\204D\nD\2"
+"[H\213\26\226\22B\222\320&\4\373X\344\252\206\250PD!\231\6,\233\217\177"
+"\2137\327\367\316\271\367}U\273\356o3\303\373\337\337\2347\357\236{\337"
+"%\262X,\26\213\305b\261X\376\31):=\36\224\255\234t\77s\246\360h!Cu\373"
+"\202\324L\365\3238 M\351\77\277\341\277P3\224\377\330\346\230\222o\253"
+"\237\252\337^7d\33E\370u\255LDDN\317{H\236\264\263\241\rg\36y\331\317\333"
+"-^\262\353\235T[\264\273\270\246\242\215Nv\375\360/\241\352O\325\371\356"
+"&\245S\42\30\25j\277\376\347sn2(\2577\377\340\352\207\35\332\\\344\1\0"
+"\237\353\264\337\274/\312\366\311\1\307\335\353\227\365\333\331[\344\352"
+"\202\34\60\354\26\2551\314\343CQV<\rg\r\0p\335\324\2\7\313\\\235\346q\37"
+"\0\240\22056\326c\256V\16\261t\16\0\60b\356\311\16q\307\17\374\341\376"
+"\n\0\224\333\3\372\371\31W\267\232|\331\35\0\300T\320R8!\312\16yQ\315\252"
+"\351\321\371x\311\325\215\372\355\344\2\0\340M\360\n\354\26e\275\231\230"
+"\5\0\\\nY\275\213\\\335\236\377=e\0XqB\324\363\242\254*s\13\0\60\20\272"
+"\335,q\365m\312\335J\226\1`sw\350~sQ\224\355&\42\242\263\0\200\261\210"
+"\255*\307\325\347DD4c\350.\235\253\242\3541\42j-\205\266\203\242v\231\253"
+"\223Dt#\242\35\24\375\\-\266Q\372KD;(\352\327\271{\227z\42\333A1\300\325"
+"Bv*\262\35\24\331<w\357\25#\333A\254/ND;(\32\67uu,\346+lD3#\333A\321\272"
+"%\325\331\330o\316q\30[9\16\7J\334\\J\305\177aOr\365J\202w\375\221\212"
+"\337\\\337\231\344\234\360\324\257\336Lt\304\350\f\332\217c0\347\251\23"
+"\tO6]|\265\'\342\2252\347\23\37\250z\225z.\370x\31\24tU\243\27\25{\b\267"
+"X,\377\7\277\1\60\77!\310\36\240]K\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0T\0\0\0p\b\0\0\0\0\245=\b=\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\3\177IDATx\332\355\230MHTQ\24\307\377c\303\224\245d\322"
+"\7\2650\r\251\20\222\242\205\26\225Y\321\364\1\265\210\42\214\202\240\210"
+"\2i#\205\321*\351\13\241h\210\332%}\200\264*\42J\2020\250\310\210\312@"
+"\213\22\5)tj\242\250IIm\374\267xof\356\271\357\275\2317\2136q\377\313\373"
+"\363\234y\357\276\3779\367\\\1#############\243\377P\1\340\374\26\17\26"
+"_\214\5\367\274\2\333\367\1s\36\273\200\201\225\b\2\63\347y\304\375\0B"
+"^\f\357\0\4\335h\20\310\373\27\257\377O\222\6\201\330\320\24\67\62\36\213"
+"\2\243}\305E.,\21\33\216\2\370\3237i\326\4\r\375\31\264\77V\305\231\337"
+"\324\364)<\311\376\253\322\310\270\306\336l\230\234\312\221_{5\221&\211"
+"k5\23\323\371\227\305\265\300c\312\2177i\254B>\333\272\241$\370Z#\311^"
+"-\360\250\302&\366K\246\177\363\243\366\372P\225\356\327\3472\360\271\n"
+"\33$;\244\305\226\331\353\7\35{\277U{\324E\n+\36\26\250S\13\235a-\77\13"
+"8\275\325#\223^P\341\25\311\226\313\320e\256\253\0\200z\31\370-_aK%\273"
+"!#\33I\222\17\334|Y\244\31`\227\n;\4\32\231.\42_\222$W\273\326AD&}\244"
+"\262=\336\336@%I\362\225{q-\224&\37\237\357\2757}ju_t\276\230\2426\31y"
+"V1\334[\315\33\233\322\254\340\7I\366\7=\222n\224\201\237C)\262^\257\342"
+"\273\351\250\3$\311\6\317\216\245\271j[\212\334\326\223&JS\254\223$\343"
+"E\236-K\333\271\373\311\365\322\204\236\224\247\223l9I2\342\335\7\247J"
+"W%\346\332\353\315\216\234\374\222\334\233\353$9V\226\241\273j\256:a\267"
+"\267\257$\2515\300:\213M\377M\22273\265\354\3712\362\243\325\201\367\221"
+"$\233F\4{bE\34!IVg<\b4Wm\6\0\274\42\311\357\5\255\222U\2@^/I>\313|\272"
+"\204e\340-\0Xa\177\212\32\311.\247]\270#\3139(]56\7\300M\222L\224\353\25"
+"\20/\4p\207${\202Y\16B\315U\215\300\354Q\222\274\r\340\260\243W\227$H\262"
+">\333\351Z(]\325\33\300\t\222d-\200i\262Ww\1\'\255\335\316zfk\256Z\33\32"
+" \311\356\0\0\264H\266*\24%\311\346\354\203@\271tUk\35Ir\77\0\240J&m\335"
+"I\222c%>\306\13\351\252\2217$\31\263\217\201\327\222u\222\344U\77\63K\330"
+"Y\223<%:\222\324\22_\303e\217#.\365\206\5\77\35\254\335\337xU\357\bL\227"
+"\366%\7\333\352/\251\363q\252\265\363H\321\7\277c\243\346*\276P\330S\215"
+"\355\367;^\226k=y\217\302vK\24\313\367=\264JW\r\204\24d\365\326\224\232"
+"\374O\302\322U\307\5;\'\234:;\207+\313{5p\226`\13\324\212k\311ehW]\245"
+"W\314Ce\336\250\310%\2515 \270W\314\3664j\313\355~\21\361\256\230\320`"
+"\212\205sK\232v\225\363\2508\231D\335\201\34\257B\367\354@\227\31in\362"
+"\7\367\346z\277J\272\312mF\272\353\342_\375\302\353\276\276\306\42\35\277"
+"\234\254\304\32\62\243]\346\377\5FFFFFF\0\376\2k\376\223\206\313\213>\206"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0"
+"\0\0j\23<\376\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\77IDATx\332c`\30"
+"\5\243`\24\214\202Q0\nF\301(\30\5\243\200j\200\221A}\33n\331\3603\fs\34"
+"\261\312\330>c`a`S\302\255\225\203\201A\2\2734\13\3\3\23\371\16\246@+\13"
+"\303\257Wb\330\245\376=\375\375\203\201\341\305=\6^Qt\251Oo\376@\30\42"
+"\251O\376c\202\205\302p\225\352k\221\304\177\254\bB\266K\3700\246V\13d"
+"\267\275\206\211\376[ \207\346\2\336\23\30Zg#\207\310\33\250\340+wL\217"
+"\211\336\307\320\233\210\220\215\203\n\235\221\306\26(\272\37\320\265\376"
+"\264\202\311Y|\202\210l\347\301\36\240~\177\320\365\276\222\205\310XAM"
+"]\301\206+\236J0\234|\221\213\201\201\201\301\3413\2047\207\31w\34\317"
+"\301\320\273\226\221\201\301\343+\204\335\317\210\'y\260\355\307\320\333"
+"\304\20\360\23\302j\304\237\264Do\243k\3757\343\27\204.\42\224,\265\77"
+"\374\307\n\376$\23N\322\36\177\260\351\374\31NLv\310\303\242\363\2337q"
+"Yi:\206\316\177\316D\346B\266\275\30z\333\211\315\301B\30\301\374\77\201"
+"X\275\252\230\251\331\201X\275N\230\251Y\205X\275\231\30N\276\316O\244"
+"V\261W\30z\3670\23\245S\346:\226\310\235F\214N\305{X\23c\16a\235\232Oq"
+"\244c\17B:\r\241\376<\373\23]\357\7]\374:\255\336C\324\355\347\216\303"
+"\260\367\216(\336(\205\26&\273\271\30\30:0\364\36a\303\255\323\347;D\315"
+"\16.\6\6\6\346\215\30z\227\340\256N\241\376\333\306\301\300\300\300\300"
+"\300w\tCo\5\16\235\211\320\4\270\t\346.E\214\244\361/\b\253\316\334\177"
+"\30>\262\305\b\346\257\346XZ\6M0YS$\321\264\377\204s\2\367r\230\334w\24"
+"\361\253\30z\357\241Uu\226H\311V\rY\342\20f\262\272\257\211T\5\332\256"
+"\370\207$u\323\t\336J`\212\305VB~)\207\326\332\212\247>\242\313\2759\272"
+";\231\201\201{\367\2217\377q\244\347\233\7\270\31\30\30t\261J\26630\360"
+"\377\307\7\370\7\250\361C\201\326Q0\nF\301(\30\5T\0\0\225\371\275\362\234"
+"&\211\265\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0"
+"\0p\b\0\0\0\0j\23<\376\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3/IDATx\332"
+"\355\227MHTQ\24\307\317L/u\24KkD-\261\17)\211\242\321\42&\2022\202\212"
+"\202h\21a\220$T&d\355\2\27nD\312E\22FC\24}A\42\222\213\2146fm\244&\302"
+"\250\214\262\2142\221\t\2230\320\322i\320F\337\277\305\233\231\367\356"
+"}_w\254U\274\377f\36\347\274\37\347\336y\347\343^\42G\216\349r\344\310"
+"\221#G\216\376\231\\\264$h\352,\177IDD\235\305\6\276\222I\211\244\225\246"
+"h\232\362S`\364\206\233\334s_\360_\240\22\315\f\345y\214<\243a\232R\236"
+"\2063<y.\326\211\257\262\362\260\376\16x\275[\313\274\352\331\321&\253"
+"\316\336\362L\325\325\312\243\225\272UT&|\27$\255}\361\30\207\326\350w"
+"\20\214\271\256p\366:\16\355\322\243W\25\317\253\24\316\2369\312\242\362"
+":\35\332\6\0\230-\3259\316pa\333to\364\3\0n\352\227\343\31a\321Y>\373\226"
+"\312\0\60\275\334\340;\236\342\302\266p\376Z\0\300\r\243\24H\r\261h\264"
+"\210q\247\214\0\300\354j\303\304:\316\205ewu\4\0p\327$\'\7X\364\267v[\256"
+"\267\0\0\277I>Wpa\265\337~7\0\240\333\264\212\336\263\350t\201\352{\4\0"
+"\330cZF\7\271\260\201\204\247\24\0\360\306e\336m^\263h$\77\356\271\r\0"
+"\250\260\250\336}\\\330\346\230\2750\n\0!\311\252\362{\270\260\271\212"
+"\271\t\0p\332\262i\354\342\302\236\'\42\242\254q\0\370\236a\335p\36\263"
+"\350\244W-\215z\233^\265\215\13\333HD\363C\0\360\313k\327\347\36\262\350"
+"\317\354x\16^\262m\221~.l=Q/\0D\227\331\267\327\373,:\276P\371\353Z\5:"
+"\263Of\331\272.\0\220}\42]\275\235\333\255\f\0\17\204\6\302\232\31\350"
+"\265]l\230\264\350\311\36\3019T\24\325\241\7Dg\3305\236\374$<\20\13\247"
+"8\264J|t\6Xr$U\34\315\2170hm2\23\273IK\376\310J\6\315\231\320\25\255\260"
+"\316j\32c~rh\266:\253\257\'{>\2513\35y\266J\314\352\216\344\217E\361Y\275"
+"9y46\253\273\347r\32\273h3fbS\304\355/\315\234\376\20\214h<\13\6\275D\324"
+"\347\203\365A\361\344\27%m\32\322Tc\3\0\340\260\365\312\322;\23\3370\230"
+"\36\67\346\206\1`P\262>Mwi\222.q\314\270\f\08a\35\264\2129\363\254P\214"
+"\305Q\0\370l\35\324=\304\24X\265bUVRn\35t\243~\310\20\35\5\0<qY\237\302"
+"KX\203LD\344\13\20\21Ek`\215\346\260\206\1\42Z\325\231ND\324\330g\2234"
+"\325\314z\303^\242\235J\346\77\223\354\362m\13\203~\334z\250Cy\372V`\233"
+"\252\363B0R\330/\220\346\307\214\310\3112\241\273Y\273\236\34\336$V])\267"
+"x\362^\256pi\356\357\327\202\317\367&u\241,k~\21\1\200\211\247\3476\b_"
+"BUe-\222\307&\376\343\13\367\37\353\313&\rn\360\377g\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\63\0\0\0p\b\0\0\0\0\226\6\27\64"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2:IDATx\332\355\226MHTQ\30\206\77"
+"u\262&LIQ\212\300,\245\237E\302\330\42\f\22\211pcD \b\31\32XR\4J\213\n"
+"Z\264(t\323\317\42\212j\321*\222 \250\26S\273h\21\5\263QDj!A\371\7.r\214"
+"f\222\311\34\346mq\256\367~\367\235\344L-\202\340\274\2339\363~\3679\177"
+"\367;\347\273\42NNNNNNNNN\254\42\3633x\254\260\307\357_\27\221\210i7l/"
+"\214\251\24\21)6\355\215\1772\267\277a\42\277a2\363\231\264Yl\254\210\36"
+"_P\355/\360\264\374\360\360&\337\35\0il\255b\262\2369\325\244\314\306\f"
+"!\213\273U\264\3023gk\225\31}\317\303\234\326\323\334\346\231\207\264y"
+"\227\221g\241\245\305\214\31\327\336\221\34!3\225!\346\240q\367+k\363<"
+"!\331\326\360\26v\0\0\306\365{{\3053\33\242m\77\5\0\270\240\234\213\214"
+"$\42\304\234\7\200\234\332\264\275K\204|\313K\310!\0H\4\377\313&x\230\343"
+"y\371V%\42\242\266\362\326\16\352\364\321p^\276%GD\344\271ov\366\22\362"
+"\351\254-o\267.\320\304~\356\263!%ox1\227\254\307\3432#\257KlHs\226\220"
+"\344\26\33R\376\231\2079j\235\3310#\367\254H7#\37\326\333\220\372\24!\77"
+"\32m\310\232\4\17\63\260\372\275\343\351\n\277\274\227\267\375f\365\240"
+"\210\304_p\7\255\274\315s5A\360\4\37\27s\261N\23\222kS\3218\0\234a\346"
+")/\346\206\nV-\1@\27!}\214\214\224\252\3509\0@{\30\331\265H\310\367\235"
+":q\77\2\0ZBH\351(\17sR\207{\214\27\13\61\67\31y\242\243e3\306l\320f\33"
+"\337\200\223\241Rq\307s\325\336K\315\34\337\200\7B\367\337J\217QUU\343"
+"<\263\253\32iJ\257T\32e\3663\362N\37\315\26\377\32V%k\17\27\232\257uAB"
+"6\77\b2j\322\317\321\350\343u\364z\223\327\274\22\264\241\272^\227\266"
+"T0\f\n\325[]\267\13T\372\37\61)\367\261\347\344\344\364\337\350\27j\373"
+"\366G\335\4\207w\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0%\0\0\0p\b\0\0\0\0\274\266\346\233\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\1\233IDATx\332c`\30\5\243`\24P\37\260{v\356\272\367\345\377\377\377"
+"\377\377g2000\260`Q#R\231$\200*\202E\225\375jQt!LU\226\3339\t;\211\355"
+"\316\177\4x3;U\1\253\252d$E\263xp\231\265\37\241h\'#.E\234\77\21\252\234"
+"p:\313\f\241\350\27\33\\\224\tM\225*\202\371\354\27NU\342\b\346\'\6\234"
+"\252\204\260\272\3]\25\27Q\2528\210R\3050\252j\4\251b%5}}\305\255\212\37"
+"\301|\215[\225\34\202y\37\247*a-\4\373\fN\317\24#\262\343OQ\\\212\304_"
+"#T\315\303\245H\346\fB\321cq\354j\24\232\77#)\322\306^\42]@*\222\376\316"
+"\305\236{\31\226\42\324<\355S\301\345&\270\252\247Ix\342\26\311\254\273"
+"M\262\270Te\335Gr\327\257\251\374\270\324\31\317@*\7\357j\340\264U\353"
+"\36B\331#!\234\312T>!\224\315\304\355\207\22\244x\24\304\251\212\17\311"
+"i\2218S\316\247\253H\3055\356T\370\b\301T\304\255\n)\261\213\341V\365\31"
+"\301\344\301\255\352\337h\2313\252\n\215\377\223(U\337\210R\365\16\251"
+"1\203[\325K\254\315\1tUw\21LQ\334>\343\372\215\310\220f\270=}\30\241j\17"
+"\274\375\305\214\321\342\363\2013\225$\366\376\301a\26\307C\244r\354\331"
+"\224\4\31\354\312l\221\212\nX\253\26\323\37\207}\77\20\23\217\273\264\246"
+"~&*v\271\374\372\367\77\371\215\260q\24\214$\0\0\336OE#\353pe4\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0p\b\0\0\0\0\201"
+"$\207\375\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\09IDATx\332\355\314\241"
+"\21\0 \f\4\301\f\375\320\177=TB\24Q\30P\21{\372\367#$I\247\265\253y_\214"
+"\357o\222$I\222$I\222$I\222\354-%I/%\35\6\13\211\17\326\250\204\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0%\0\0\0p\b\0\0\0\0\274"
+"\266\346\233\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\225IDATx\332\355\327"
+"=KBQ\30\7\360\2236h\232D$\30$\242I\r\r--}\200\214\300\326 \32\243O\20A"
+"\253\49\224S\r\21\21\364\5\34\213\240!\32k(*\212\336oK/\6\212\336n/V\236"
+"\306\347I\357\337{\240\321\363\214\177~x\356s\3569\217*\204.]\272\376["
+"i)\245\224\226\261\223\31\365:))\245\224\245\245N\5%e!i#\\\325A[6Q\253"
+"\334B\210\307\323|\304C\311\320j\31,\332\272\316\26\235\206\35\64m\222"
+":\302\215\16\222\252t@\345*\21K\300\36+\6\205q\274\23E\nC\216\373%\204"
+"\20\355J\312\253\244<JJh\325@\312\205\3\213\335;\254^(\364cuGa\30\253\3"
+"\n\243!\330\207\337\244\13\231\302\355fHY\335P\5\256\210\235E \213]\22"
+"+\246\272\340\247-\227\331L\331\37F.\234\276\'7[\347\235\215\33\265\252"
+"\371/\tMM\364:\275z\337\342\7\33\234\307I[\24=\'b\316\307\300\4\276 t\22"
+"F\353-\260\335\202\310\307\6\353\34|\364${\3608<9\3\24>\\C\305z2\360)\f"
+"RX\300\212\35\3667\245\233\366\245g\216VU\365\251\244\352\234\257\26\n"
+"\363X\261/\376\'\254\330\304\275\201m\364\263\371\26D\310\275\253\360\373"
+"\313\277\301n\366\214-\351\231\\\3111\224\138\377\22\225\337#\n{\377:\266"
+"\345\250\336\327\372\2626\253\321\364\375y\276=\334\3336\365\337\212\206"
+"\257_\375ZN\342k\232\337\207\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\09\0\0\0p\b\0\0\0\0\201$\207\375\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\1MIDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24"
+"\214\202\341\6\2301\205x\230\377\220a\220a\357\245o\377\377\277\331]c\210"
+"MV\b\247>\215\235\377\341\340v\223*\272\264\363\227j6\354\32s\277\375G"
+"\1\307rD\221\245e^\376\377\177\331\32\213>\246\376\377\30\340\327\226H"
+"N\230\274\300\245\377\377\377\377\377;]\0C\347\264\377X\301\207\231\326"
+"\214\f\f\f\f\232W\240\2O\203!\352\31a\32\313:qz\377\351\336\333\314\206"
+"^\254p\376\206\240\377H\262\226\177\376\23\r\246!\33\313w\237x\215\257"
+"\205\221uN$^\343\377Hd\215:\277\211\327\270\b\252\207\205\201\201\201\201"
+"\301\344\37\302\224\'\273^\213[\252\343\f\256\313\331\250|\235#P\23\377"
+"V\2630000h5=\304n\343c\31\214t\220\361\376\377\377\377\377\377\305\302"
+"\5\\\26~\306\324xW\5\2133$\327\374\377\377\277\6Y\204+j\353/T\215\207$"
+"\260{\301\367\321\26F4!\261\262\313\b}o\13\230p\371\236\7[6\322\251\332"
+"\367\341\377\377\377\337v\346\362\240\2103\22\225m\205\371\337\277\37-"
+"\5G\301(\30\5\243`\24\214\202Q@{\0\0\231\233\214 ]3\374\r\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\35\0\0\0p\b\0\0\0\0\307\222$W"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\350IDATx\332\355\325\275/CQ\24"
+"\0\360\323\17_\317GUB\253\250\210\317P\251\357J$\206\222(\3\6\23\302h\267"
+"\331\355\376\5\33\61\64i,M\b\21\213\250&\22\211\210D\204Acb\320\220\266"
+"\3515\364\3659\347\334\373\3300\364\f}\267\367w\337\351\273}\367\236\13"
+"P\210B\24\242\20\277\27\226\257\246gu\242\243<\21\337\215\nyX\321\346\207"
+"\310\305\205OB\355H\30\3616\305\177 ,P$\331\335\213\202D\314B\364\232\252"
+" \271\375\f\305v\256\337\n\0\0C\374!\207\261\326r\365`\315pMa\275\343z"
+"\213\365$\315\364\230|\333\241\217\234n!\332\236$\272\305R-e\21\236\225"
+"\361\347Xy7\360\260Z~\205\235\341\214\20B\210\3735\253\352\355\203+\330"
+"^\232\210\235g\377\325\232\4o\b\0\22\373&#g\205\20\342\24\367XQ\273\2\0"
+"\240\312L5\343\303T+\315\264\372g\325\354&\352\370\32\243\320:\0\0p\232"
+"\250\13\0\0j\276\275\327\255Vk=\32#\251\273\30\0\0\32\324\352\315]\232"
+"\325\332\232\273\264\250\265K_\332j\355\320\267\237S\251~\375\332\253\322"
+"\3626\2751\240\322>\233\336\b\250t,\337\30U\255\252\210\261\217\232d\264"
+"\277\32\272,g\168\214\276\240\254\250~M\312\231\343hww\363{=\375h\3444"
+"\327)\274eB<\361\36.*\37\25\24m/\244\346\314\323\314\1ZHf\250\262IL\260"
+"\312\307\352s#9P\222L\347p\346\36\215M\301\217\265\213O\260\25k=\327&\254"
+"%\\\235\362>BQ\374\355\271\220\306\372\3045\201\365\222+\351\260<\260\177"
+"c\234\214\335\240xEOI\355\26c\226\275\5\360=#\\\227f\350=\310\343\343\254"
+"\252\2\217,\f6\330\237o\242\221\324\237\237\13\237\260\224[\215i\205vc"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0p\b\0"
+"\0\0\0p/\334p\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3ZIDATx\332\355\227"
+"]H\24Q\24\307\217\253\271\256\210\262\206\225\250\25\211T\242b\224\331"
+"\227I\221\37d\364\201\205\204=\204\254\222=D)\301\222}\20Q\211=Ed\321C"
+"\b>\205\244\341\203\204Y\20\205\26\4\205\212\230Z\230\230\246\371m.\346"
+"\272\373\357\301\335\235\271gg\306\3461\232\377\323\336\373\237\337\275"
+"s\357=s\316]\42C\206\f\31\62d\310\320\277\244\0\35\317n+&\242\221\253z"
+"gh\3\200\263z_\3548\0t\7\351\244V\364\2\300Q\275\223\235\3\200\267z\251"
+"\360Q\0\356\35z\261[\0P\367\27\7\20\22\35\31a\232\\\30\36#\42\212\355\261"
+"\209\23\373<\236\362\306\204\356\315HK\214\3614\346\273:Z_VX\210\350A\237"
+"\326\226\345\327;\240\244\351(u(\354\342w\250\350\212z$\24\rAU\2039*1\271"
+"\241&C\336\234y\377e.*5\331\367\214\333~Gi\256#\323\362\301{\nC\210\210"
+"hs\263\324gW\240.\270\344\324#\213\267\77x\300\327\351\316\363\243*\204"
+"\205TIF\220\204a \204Q\245\2\325 [t\265\334(\26\251\314E\2719\36\305b\330"
+"\247\26\201\212\24O\253Lr\342\346\4g\326$\307j\4o2Lr\36\263\323\213\224"
+"Q\351n\301\272\'9\311.\206\305\312\260\27\242\265Gr\232\30\3452K^\252h"
+"M\5\372\234\375<\302:\210\210hi\201lW[]\276\330\253\342\247\373T\372\31"
+"\370S\34\361\206\3179\311\'\233\224\235\314n\346\25z\r\363W\346\270\13"
+"d\23_b\346N\257q\36\0\332\213\346\275\306\274M\376\276\365\f\213\367\364"
+"G\214\1\300AJjp\2\200\263!IXf\'\303\254\236\376J\0xEDd\315\265\25\347F"
+"\262\335\231e\230\347h\342\34\0\334ij\231 \230o\227<\254\236\250&\220\b"
+"\216Y\244\260Z\210W\305B\241\30\255M\0pW#3:\31\226\340\13+\255\324H\203"
+"\f\313!\242\200\17\0pY\253,\274f\330\31oX\r\205\252\20&\42\242v\326\271"
+"\235\310|\223\210\350\232C4,B\253\200\315\366\331\23V]\254\260\230\6[\355"
+"\211\262D\262\310\270\365Ka\305+n6\0t\5\373\332\317\31V^\251Xq\237\1@\243"
+"\324>\301\260n\7\0\354bT\212\33\0\16\313\362n\237B\201\251\347\325\250"
+"\5\0z\345\t\257\320\237rnbX\t\0\240D\30\351\215\37\366\220Q\351\16\0\350"
+"\23\67\67\201\177<\277\242Ej\353(\0\340\20\33\254\300\315ve\245h\317@\371"
+"3\262\263\351\6\216IE\'\245q\251\257\337\352\37g\267\371\352\272\256\37"
+"Xg\265\306\355\263\267y\323n2-[M\3755\233\251\34\327\331\243Z\324\260\352"
+"\205ku\235:\325\22\243\361\351\331T\240o\2475\257\307\265\212\320\273\42"
+"\263\346\365o\213\13\0\312\252\77\375\366\22\13\335\265\245k\227\273\231"
+"7g\21Q}>QPtt8\21M\375\30q.\177\327\314\2\0\347F\2357T\323G\0\270\257\367"
+"b{\n\0fV\351\244B\372\265o\215**\327L\215j\262\216\3\200M\357dU\0\320\31"
+"\250\223Z34111\221g\374\3114\364_\351\17_\320\265\302\16\375\330\316\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0p\b\0\0"
+"\0\0p/\334p\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\241IDATx\332\355\227"
+"MHTQ\24\200\217\316\370\233:ZZij6\210`\346\220Am\264\260l*\3032#\215\212"
+" \324\242v.\224\42p%\225\225Z\b%\322\42\b\231EVVPZ.\264\2622\312\354G4"
+"\235\322\n\307\3242B\363g\234qN\213y\77\367\336\367\336\314sW4gu\3379\357"
+"\273\367\335s\3569\367<\0\217x\304#\36\371O\304K\331\2445\30\342\42\303"
+"\0\246,_\336\276\233V7]\370\261\246)\24e\372\301\21\235{(\351\332\f\262"
+"2y1\3225\24qu\16\345d\242\310\305\226 g\24\225\244)T\321Ge\16\361\265\231"
+"\272\375\6}B\306\211v^\361>B\201\252!&\277\31\305\253\323\315\234\252="
+"P\26;CP\347\211\255D\364s\312Z9j/A5P\16(\344\264\2164)\25\365S\244\254"
+"\321\224)\223\327\267H1\23\261X=eI\350\22\f\311,\225L\306\253\2000\4\225"
+"[EC)\213]!c\264^\324\257\354#\r\17\31*p\202\264\212\337\22\65B\305|\20"
+"\0\274\t,=\210\234d\2010*[L\315\276\220\3012$Vg\2\345\321\37\345\313`\253"
+"(\253\340\377\230 \32\33e\260\4\312\32\317\17\2\30\27t1X\30\235s\374`\20"
+"i\254\221\231\306A9lH\320w\320Y\27\356\22\303\245\274>\237R\27\263\321"
+"\36\243\261\335\274^\323JhoiX\254\227\306*\5\203\356\211\240\254\361\221"
+"\34\344&\32{I\324\276\242\1DD\333\275\r2\311VEc\366\20\62\353\23\263s\323"
+"\202e3\373\0Sp\262\224\313\24\31\2676\306fTY\331\373\350\325\272\324\255"
+"\306\306\77)F\35v\2271nuy\343hy\17i\314t\325m(\240\36\307\347\250\3074"
+"T\'\311\n\37\251^\376\tL\13\0\203g\305\347\355T\315\355\241B\362]y\232"
+"T\312w-\252\227o!\261\217\252\261\34\22\373\255\32\363\241*\267jO\332n"
+"\20\17\263\352\3p\233\30\377R\37\22\77\242\373\351T\277\232\365\2318\356"
+"\236\307)y!\16_\317\3#jA\353<\316\333Zak\26i\217\25]\270\\\1\213\27\260"
+"\13Rc\31bO\365:R\243\211\324/\321\0@\254\200\255\226P!\77\20\21O\202\226"
+"\277\326\13\262R|\0l\275\355\315\303\374;\355o$X\351\42\0\0\276\314\373"
+"\235&\332N\341\276\312\225PF;\42\342,w+\353\236\312U\234\17\22/\33\307"
+"\21\21\3611\227\252\217d\13\325Xm\246/\325:T\332\235\206\343\316:Yr\16"
+"\0`\352\325H\370\32\246\217\266v<\357\36\30\34\237\5\377e\6c6\177\367\'"
+"\230\1\0\2\306\20\21/\353\0\300g_\277\373r\311\35\276]\210\210&n\246`\223"
+"[,\237hX\rBuotC\rq]P\24\0@\17\217\205\246\2729{\345\263N\314\16\0 t\23"
+"\247\202]S\346\32.\3>\3\0\34\344\264yG]Sx\330\306\2156!\42Z\363\0\0|Kl"
+"\210\210hnV\332\231X\211\275\779\373\211\312r\23W\265&S4\345\16Y\352\16"
+"\321\314\354al\366\235\0\260\371\253\fu\337\237\374\340\n\272\27\333\341"
+"\314\221\n+\39\252\264\364F\213\211\4hK\344\265+.\221\277p\330\271Q\342"
+" }\3657\347J\365\333\310B\20t\350\372\260\223\31\255\333\342%\373\223\251"
+"\217\325\332,\375\16\351\177c\\(\314\fX<\377\343\36\361\210G\376\32\371"
+"\3R\233E\r\265\243\327\234\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0\66\0\0\0p\b\0\0\0\0p/\334p\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\\IDATx\332\355\226\77h\23Q\34\307\177\251Z\275\322h\225\f*\242"
+"\242\rU4\210\202TP\7u\360\317\242\203\225\22D\220B\235\304%\203\202\233"
+"`\325!B\7\7\301\241\240\30\21\241C\5A\305A\301\322A\212P\20\211\4]*Z\214"
+"Pm\23\243\367q\270\3365\371\275\273$d\221\330\373.\367\370\375\336\347"
+"\335\335\373\375yO$T\250P\241\232N\353\t\320ww\306\200\351\273\325\322"
+"\330\313\232\2\23\211v\245\246\315\237\276\273i\321\374\224\266\356\221"
+"2\327\317\364\336v\21\21\351\376\245\251\302\322\312\265#\217<\327\350"
+"\6\317\232\326\330\357\25\352\233\342\256\347\2715o\\S\324\\\277\376\227"
+"\234c\317u\224\33\20746\246\261\267\0\330\7+\214{\214=\331\255\260\217"
+"\0\334W\326Q\215\r\251\375\266\1J\233\25vFc\305X\205\377\230\23\26\375"
+"\351\255\2375wY\314\237\337iD\375\212\306>-.\363v\314\0\2746\223emIs\247"
+"\312\274\27\08\353\223d\17\64\366\242\3149\1\220\267|\260\375F\fv(\337"
+"\240oN\277\321\330m\317u\17\200m\276X\237\306fV\316yb\5\200\227\376\25"
+"d}\325\\j\316\223\2\340t@\345\335\320\330\7\247\210#\357\1\246\226\5\65"
+"\61#\6\307ED\344\20\0\351\300B\37\326\330\23\21\21y\b`w\5b\7\64fo\25\221"
+"\325E\35E\245\310\204\346\6E\344\22\0\275U\332\3219\215MG\245%\7\360\245"
+"\265\n\326\236\327\334y9\n\300\365\252\335\317\350E\357\42\303\0vgU\254"
+"\363\217\346\372J\0Ok4\333\307F\225\3p\262\6v\330\367\320\232\\R\3s\22"
+"I\353\252\236\346U~b\213\363\34\217\373,\366\255\307yN\276\322\236\1\352"
+"\320HS\35\213\rb\21/\77\66\272\243\3557\325\234;\31w45\256\3\220\315\272"
+"\243\202^:\373\2549\267\244A\314\333\222\344\tw\24\323s\222\273\274~\177"
+"\315H\345\236\300\245\23\t\357^\323\234[2\233\367LQ5g\326\313\233\37UV"
+"\332\247\213\363\242,\250\344\372\347X\233q\205\250\13[U\323\340\253\214"
+"q\317\260j!\326\272#\31\263\207\217\365\306\227\7\63\311:\17\200\377<\334"
+"\241B\205\n\265`\364\27_MY)\205\264\30\341\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0p\b\0\0\0\0\201$\207\375\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\09IDATx\332\355\314\241\21\0 \f\4\301\f\375"
+"\320\177=TB\24Q\30P\21{\372\367#$I\247\265\253y_\214\357o\222$I\222$I\222"
+"$I\222\354-%I/%\35\6\13\211\17\326\250\204\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0\0\0p\b\0\0\0\0}1\2547\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\3\331IDATx\332\355\227iHUA\24\307\307\324\42\r_"
+".O\250\210l\1\313J\241\36i\13\224-B\264XP\246e\21E{\24\257\25Bh\3016h\221"
+"V\202\242\5\n\372\320\227\312\240,\242\42SP\202\312J[\260Rsiy\225\226\353"
+"\373\367a\346\336;3\316\275\343\327\342\235/s\317\231\363\273\367\316\314"
+"9gf\b\tH@\2\362\77I\220\312\30\32\77\60\42\374{\303\333\252.\275\242\327"
+"\252\202\337\240R}v\242\326=d\3637\360R8\312\331\277_1\0\240\265\360\342"
+"\305\7\177\350\343\n\'\377\201\37\0\2401\'\212\20Bz\37\2\0\370\227:\374"
+"\376+\0\250\32n\350\367\0\0\277\207\330\2\247\0\240}\214\241\272*\3518"
+".\331\371\17k\7\200k\206\32|\203\r\274\271\227\rp\32\0\260\306P7\230S5"
+"\211s\352\306\315\350|B\b!-\206\3565{\342\324@R4m\230\32\36\247\f\7\16"
+"`K\2640\214\266\255\35f\317;5\320\23761\273h\333V`t|x\242\36\36316D\177"
+":\325\23\233\250\3361\303i\25\0\240)\215\32</\0\240j\266\3352\3543\247"
+"\261y\36\373\337\261k7\244\365\260]\347uV\214\372s\202\272\220\bc\371\260"
+"\276\32\246\7B\352y\242\264\277\236\330-\244N\3558-\20Q-\20\315\313\264"
+"\304\324v\201\300\321`\35\261I\4p;RG\344JD\305P\35\261_\42|\323uD\216D"
+"\264\257q*\203\223\317\274l\205,\333m\375\307\227B)\33m\374wt\250\375\341"
+"\317p\232\240\306\3743\27\236IDS\222\302\177\256\37\0\374y.B\bI\312\27"
+"\211\362\360N\376\3415\0\200\34C_\362K \216w\2\274t\235BL\303\210\367<"
+"\320\341\221\201\347\0\200\203\234%\266\230\'\36H\376\3\250y=o\353y\215"
+"\'R\30423\2326n\36\3703\3770\247e+\303\364\261\364\341\325V\274\277QG\251"
+"\\\202f6\231D\204\320\261\223Y\353\345\315#\325$\22\2041\374`\375\356\202"
+"8\21\270\277\b\354)J\260O7\277\\\223(}\343\4\353H\26\254n+\360|\251\42"
+"\340n\241v\351gK\254\31o\311\22\273\212\2505T\264\256\347\303y\213\320"
+"u\227\356\360\322\237\272\276\362\313\232\307m\33\335\352\324y\347\25\242"
+"\363\272U_\26\320\252\326G\6\202\213\4\342\343\34fO\240\25\67\257s\6\r"
+"\252\27\223\2460;\232\20\367v\232\27\225.E\316%\373\344d\256\371\314f\333"
+"\347Qf\365\250z\233*\3609\331\246n\f.W\271\267\236\213\265\255LQ\17\345"
+"\ns\363\344\312\276N\205\262\307\25\211x\344\322\35\32\367JD\221\216 \313"
+"\333D\342^w\35\221\366S$\316kw\256\221\237D\42KK\364}*\0u\21\372\303\356"
+"-\201\330\246\337\262\203\217\13;]WN\324^~\13\266=\210\206\246\314N1\352"
+"\361,\256~g\330,\232\367\13\200\352\305L\365\324\232\300f5p\236u\257f\372"
+"p3z\367*\3753\315\35\312\210\316Tc\34\271\312C\242\371\335\260t\243\354"
+"\235c\17>\25\320\333\272)\f0\317\215\254\255T\1}\254\307j\343\241\354\'"
+"+s\312t3\347\344k\214i\244Q\365Z}\202k4\306<\301\332\265\332\234B\303H"
+"\2669\226)\13\0\320`\23|#\350\271\204\273\213\271\77\2\0\62\355\2c+\315"
+"\373\251\346\33\312\0\0G\354\3\356\0-\354G\307t\'\304=\3532\35\300\21\247"
+"3o\346\27\66\216o\306\335\257!\3239\250#s\205\352W\267\'R{\27\r\2352\315"
+"\23\37\33DP[Qr\347~[W\257\264\221.\22\220\200\374\363\362\27\34\324\224"
+"\24n\215\205d\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42"
+"\0\0\0p\b\0\0\0\0^j\375\342\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\371"
+"IDATx\332c`\30\5\243`\24P\n\230\31\30\30\30\30DMU\31\337\243\311\210\233"
+"*\377\377\0\343\350\357\370\373\377\377\377\253!\310\n\314\366\376\373"
+"\377\377\377yo\b/\342\307\177\b\350g\204\253H\376\r\25kb```\260\204\361"
+"\376\377/\204\251p\375\7\27Kb``8\r\347\375\377$\fQ\301x\35!\366\206\233"
+"A\373\77\22H\203(\261B\26\213`2Bv\244\21\n\5\3450q\42s\271 \24\212\30\'"
+"\323}d\356\3\b\205&\306\371\21\311^k\210\250\340\17$1\35\6\206F\4\357\20"
+"L\347\4\204\330f\6\6\6\266c0\336K%\270\233.\300\304\36K1000\360,\203\360"
+"\316\252\42\34 \270\1\42vT\236\201\201\221\201\201\201\301\42J\207\345"
+"\366\306-\377\220]i\37\246\305tc\343\366\377\243)}\24\214\202Q0\nF\301"
+"(\30\5\243`\24 \3\0\235\302\305fK7\337\220\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0\0\0p\b\0\0\0\0}1\2547\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\1\356IDATx\332\355\225OHTA\34\307\337\272f\233l"
+"\32\266yH\b,\202\26\241\222\376@ dt\b!\301\16E$\321\245\214\300ct\211\b"
+"<\270\213\b\25t\b\312Cu(\210 \42II\\\320\376\34\64P\352\24\264\20\375\331"
+"\16\346\301\25\314}\273\373\35103\357\275\311\231\316\35\346{{\237\357"
+"\3677\314\f\277\371=\317srrrrrrrr\372\17\265\'\367\240F\'\353\6\347\17"
+"\332\363\207\213T\2334R7\n\31k\376\3702\274\324H\303\4T\367\332\362}e\340"
+"P\224\264\314\3\317,\361\330\0\300\323(j\373\2\370is\276\356>\300Jk\4\35"
+"Y\4\270i\3167N\0p=\202zW\1\n\r\306\374\266\17\0\344\23!\272Z\5\340\254"
+"1\277\357;\0t\207\327\77\42\310T\314\224\357.\n\367E\270\303W\202\370\306"
+"+\355/\13weG\260\303\217\202p\313\20\217\337\220&\3\n\35(H\362s\323\332"
+"|\362\271\312\347\353%:\261\254\320\271\265\371\255\357\225I\217D\227+"
+"\212\2741\234x.\310\217Jr: e\375\304\242\215W\203\357\rr9\77L$\fGn\232"
+"\16\26<#\321\371\222\42\263qC\305\372\207\312\376\226\224\350\350\242B"
+"\227\214]z\255*\355a\205\322yI\26\266\30\33\243\367\267\260KA#7\277\225"
+"\25w\315\255\332\361K\330\223\341\r<\21\244by\317;\77\t\377T\270\321\254"
+" 35\346\212\324k\375\334\236\347]\360\1\270hy\240\211\307\200> \216-\1"
+",l\266=\351\f@iW\4\355\376\np\307:d\372|`\\\33\32s@e\277\265\242\253\b"
+"tE\311\3061 g\37|\355\77\340\235Fj\357\1\235\366\212\326\317\240\217\312"
+"X\26\206\3761\214S\267\257\374\215N>\332\356~RNNNNNv\375\1\25i|@\302\302"
+"\236/\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0!\0\0\0p\b"
+"\0\0\0\0\265]F\341\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0;IDATx\332\355"
+"\3221\16\0\20\20D\321!z\216\253\334\253r\16\301\r\226r\213\377\352\237"
+"L3\22\200XRo~`\32\307W\363s%JQ\346\362\203\315#\0\0\0\360\347\2\270\333"
+"#\305U\350P\3\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 "
+"\0\0\0p\b\0\0\0\0Z\237-\337\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1+ID"
+"ATx\332\355\2231/CQ\30\206_\fb)\21\3224m\247Vb\2204\322\301\375\r\42\204"
+"\370\5~\200\205\201\305\300b1a\361\37\210X\31:Y\252\3266\25!\242Dr\223"
+"\206\244\35\332\\\217\341\272W\317\355\265\211\351<\313\315{\336g8\371"
+"\276s%\213\345/\31\60\322\214\223\35z\271-{\361\356\340Z\25\0\32\333#q"
+"}\366\232\220\373\331\376>\377L\17\37s\321>Q\307\300\315D\204#\0\332\307"
+"\253\213\373M\0\316\42\27\350\0\324r\222\224,\3P0\204-\200\366\224\37\222"
+".\300\201!\\\1\34\6i\7\340\306\20\36\1\346\203\344\0\274\177O\307\377\214"
+"I\322[ \270\222\2240\4W\222R\201\220\t\217B\241&I+\201\260$Iu\343\16\353"
+"\0\235\242\37\246[\0\273\2060\321\2xu$\251\360\0\320\315\231\223\332\3"
+"\300\273\330\3348\355\2p\22\31\365p\305\334\305\335ht[\351jo\377\224\357"
+"\337\367\370\371O\177\231\216}R\13%\17\300+-\377\372&\'\213\251\317F\245"
+"i\177U\213\305b\261X,\226\177\340\13\t\13\323\337x|\312d\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0p\b\0\0\0\0\201$\207\375"
+"\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374"
+"\0\0\0\7tIME\7\322\5\6\3\42\60\375\204\17\375\0\0\0\256IDATx\234c`\30\5"
+"\243`\24\f\77\300\210C\274)\32\3164\370\214U\5\13\16\235\42Jp&\23v\258"
+"\204\211\0\243:Gu\216\352\244\265NH\316n1G\27\327@07\374A\227\f\370\ng"
+"n\371O\22\340\247\314\265\243:\7\243NH\32\372\362\36]\234\213\35\316\374"
+"\360\37]\22C\0\31LCK1\230`h\205\320\250\316Q\235\243:G\301(\30\5\230\0"
+"\322/K\216 E\317\346I\f\f\260\232W\305\205\24\235\267\31\30\30\206Z\231"
+"0\252s0\352\204\244[]\r\2\312P\300\335sd[7\nF\301(\30\5C\34\0\0\276VI\333"
+"N\223\373\207\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 "
+"\0\0\0p\b\0\0\0\0Z\237-\337\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\322"
+"IDATx\332c`\30\5\243`p\1f\\\22,\42\34\337\361\350\323\335\370\343\377\377"
+"\347}B\270\344\203\277\377\377\377\377\377\377\377\367\345\260\313\373"
+"\375\371\17\5\373\261\312\233\177\375\17\7\252X\344e^\42\344\377{`\312"
+"s\235C\222\377\257\213!\317\270\22Y\376:#\206\202\32d\371\2376\30\362\376"
+"\377\220\344\337\270`\6\320\'\204\364\277\205b\30\362\42\267\21\362\347"
+"\254\260\204\377^\270\364\353L&,!0\31&\375w\232\b\266\20L\205\311\37\63"
+"\304\32\302\266\77!\322\317\342\30\261\312\313\275\372\377\377\377\377"
+"\377\277z\370\260\307 \327\205\377\377\377\377\377\277G\13=da\f\13{\6\6"
+"\6\206k\233G3\331(\30\5\243`\24\214\202Q0\nF\1\235\0\0v\305\265\332\254"
+"&\223\224\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0F\0\0"
+"\0p\b\0\0\0\0\206fY\350\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\244IDA"
+"Tx\332\355\327O(\203q\30\7\360\357\206\325l\266\2215\346B\16\354\300\301"
+"f\7m\16\222,\27\245\34(Q\304Q\212\243\223\23\316\\\315Er\327\250\331\212"
+"\3\27I\212\26\227\35\244\35403m\226\274\16\212w\357\253\275\177\366\24"
+"\351\371\236\336\236z\77\357\373<\277\337[\277\27\340p8\34\16G\34\203\264"
+"\340\nt\265\271]\16\253I5q\22\4*\213*5\223\343~\203\236\267\21\63\346\205"
+"%\233\316\246DL0\334\242{6\306\257\253\231#\375\312\367\333\314m\224\32"
+"\312t\f\0|\273EE\3410z}\237F^T\n\275\t\2452\4\0\b\24\27\27eM9\303\25\232"
+"\33y\337\2241\253N\355\363x\314J\31\317\204\216\261\276\312Vj\336X\346"
+"\307`\4\0\363\30(\230\1+\t\323\17\22\246\233\206\361\2200v\33\r\203\277"
+"\304dh\230\27\32&\225\245Y\360\4\rsJ\303Di\230\375\f\t\223\337&a\260V "
+"a\222\353$\fV\256H\230\334H\232\202Ab\360\211\202\301Yo\222\202\301\245"
+"w\217\202Aj4tN\300\0\21o\337\216\276\r]|hC,f\352\361w67Z\f\16S\31\fP\210"
+"\307\77G\325\241\273)\222\21\63\303\f3\3140\303\f3\314\374o\246J\361V\203"
+"\32F\371\337\274V\5\323\324\240\310X\333\225\30\313\360\201\212\241E\246"
+"\352~j\20@\365\26\200zw\253\364\200z\221\2\0\207OR\26\356n\237q\263,{\200"
+"]\320\236\343\377\272\375$\263\314\315j\'\36\300\341\374j>\0\335\353\246"
+"\314\204\32\261\6\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0 \0\0\0p\b\0\0\0\0Z\237-\337\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0"
+"\235IDATx\332c`\30\5\243`\24\240\3fT\256\244\211\362\277\217\270U[\35\370"
+"\367\377\377\377\323\356\270\344s\376\374\377\377\377\377\377\377\377j"
+"\261\313{\377\373\17\3\361X]s\17.\377\377\25\'\26\5\216\377\221@(\\\230"
+"\t\3162BVm\200E\1;\262\2n,\n\36!+x\210\305\r\342\277\221\334\240\211\315"
+"\33\63\20\362\353\261\206\3\337%\230\374#\t\354!%\274\r\42\177X\26I\220"
+"\21\65,B\265\31n\254\337\371\1774\21\217\202Q0\nF\301(\30\5\243`\24\f\2"
+"\0\0\63\344cZ\33\307\315^\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0 \0\0\0p\b\0\0\0\0Z\237-\337\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\0\376IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\320"
+"\23D\375\377\377\377\42#ny\306\313\377\377\377\217\304c\200\377\377\377"
+"\377o\263\340Qp\352\377\377\377ix\344]\377\377\377\377\224\r\213\3150\306"
+"\1{\6\206]\27\325%\230\237\235Yu\3\213\1\326\377\21\340\337R\21L\5[\377"
+"#\203[2\350\362\206\377P\24\374\77\4\267\232\31J\361\211,\330xKL\0&,\177"
+"\376&6\237\260-\200\33\261\34\273_\271>\300\24\\\201\t1\241(\370\6\67\230"
+"\3\273\2F)\30\353\21\262\2a\270\267\203\341\336\333\211\254\257\341\353"
+"\\G\26\6\6\6\216\254\2570\'\274\26D\222g~\364\377\377\377/\347v\237\371"
+"\2\367\303\37\37d\3|\376\243\203\257\241(.[\201.\277M\r\325\363\354!\253"
+"^#d\237N7\301\22\335L\232\232\312\202\274,\237^\336\277x\207\352i\35\0"
+"\344\362\270V\264\305\331\260\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0\60\0\0\0p\b\0\0\0\0}1\2547\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\333IDATx\332\355\225;K\\A\30\206]WY\214A\23\305\304`XA\5!\42"
+"\b\212\227\210\332\210\235I\241H\n;\rH\304\200\240\250\340\37\20\321B\360"
+"V\b\226\336\212D\322\244\tVF!\260a\263 \42\bV\206\25\274D\tQ\327\363X\314"
+"\231sYg\3042\305\274\3159<\337\367\302|\2273\'%\305\310\310\310\310\310"
+"\310\310\310\350\177P\372\332\227p\22j\3729\20\320\33J\341w\271\37\315"
+"\301bP\357\210\301q\243\217\264\0\237\36i\r\357\200\177\35>\264\5l\345"
+"\351\f\201M\340\246\337\213^[\300^\261\316Q\221\0\230\362\236z\21 ^\247"
+"sL\3\3609\323%y\'\0\177\3335\206\'q\0~\344\273\250\17\200\233A\215\243"
+"\13\0\16\334\366\6#\2\315\246\251\353\376.\302\177Z\34\324`\t\3645[\351"
+"\250L\210\360u\217\277n \26V:f\3540\223\262Y\371g69\254V\31r\217\244c\375"
+"\261\215>J\242nV\267\f\23y)HZT\22kDaH\335v\34\321\244\272\201N\221\343"
+"3\204\234\327K\373\231\21\270\203<rN\314\267\34AB\273\222\\\275\277\233"
+"\377\374DFg\323m4,\311Q\223\242\4\331\365\353^I\302\347r\20E\212\374z\273"
+"\276Sw\324+\3343j\2719\373e\16j\346\276e\352\25\301\315g\356\325\260\3"
+"@\242_\271\27b\373Y\315p\321\20\0\27o\324\333\275\0\300\270g.\5\347\0\207"
+"U\352\374Z\13H|\360\242%\200X\241:\77\30\1.Z\275\250\31`\343\251\346s\353"
+"\6\3425\2765\211\2\313!M~\352>\354\225\370P\33\60\241\275,_\301\257\27"
+"~4\2175\252\277)\3c\23YI\250l\355\255\371I\31\31\31\31\31=X\267I\201}\0"
+"\260Gu\371\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0"
+"\0\0p\b\0\0\0\0}1\2547\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\332IDAT"
+"x\332\355VKh\23a\20\236\246\232\244j\37V\253i\250)>\2ZKN\352E\264>\240"
+"\210\212ED\274\5\24j\364PA\305K\274\210Z\24Q\24\24!\242\21\213\340E\351"
+"AEs\261^| Z\301R\210\251hU\250\r\232,4&il\223\361\260\317\177\222\335\377"
+"\27<\225\235\313fg\276/\273\377\354\3147\3`\233m\266\331f\233m\266\375"
+"O\233\265\347\356p\352[\354\350\2A|G\2e\313\364T\211\340C\323\250Y_5\37"
+"\277\253\204\6\273\300\305\327\'\215x,\256\345\21N k\375<\302[B\370Sk\215"
+"wN\23\2nd\342\16Jh*KK\2635a\262\354\231\5kBJ\242\236\21\316\241\37\220"
+"#\374pX\77\1\42\344>Z\342\345\365)\373\200\6\356\247\366|5\340\13\233\4"
+"\212\257\365\203\206Ou\n\225wM\370\'\42\42NF\275e1\223z\237\275!\340\231"
+"\210\17H3S\37\314\232|\233\17\0\236}\22\377\243\30\42\342\221\n\1\207\t"
+"\241\21\0\240\351\37\b\315\0\0\363\305\ts\275fA\23\302\32S\3053!t\1\0@"
+"Z8G\r\22\42\42\356\27&\334\224\213{\225(\376\260\214O\210\342C\212\32\237"
+"\24,\226\263J\267\345\26\13\341\353\372\325\366\274.\204o\217k\355\357"
+"\23\301\7\263Z\377_\25\200\273#\272\276d\4N\260\364\235A\220N\361\361;"
+"%\243\340\315\343\301\253{\231Y\330\315\255\236\30\243\250C\274i\273p\220"
+"\325\370.\16\336\371\222\305\17\362\26\200+d\210\49\370uE\26\377\313e\261"
+"\267\0\0\234!}w\3178\7\35\313[`l\204\31C\253\351d\356\320c+\42)D\304\364"
+"-c3\235#\370\264\236\323P^uN\205\365D\2747\335.\16\32\335Z5\272\311\221"
+"1\254\315\256\34\343\337\247\270\3\364\b;T\302%\326\77\352\224u\251\221"
+"fnT\375\261\235\f\313N\231PC\t\232~\371I`\253L\310PBN\271\272h\5.\223\t"
+"\343eJ\254\2561t\210\326\312\204/\5\342\327\232\363\5\tH2\241\370\206\370"
+"\333\324\37\67H\340\263\242\336\217\211_\333\331\36\222\310+\345\352\235"
+"b\363\235tj+\351k\243\377\367\34\325\177\233|\271C\372\326q\307\340\276"
+"\254\271[&XB\252U\177\215k\272\327\240TA\362\210\270\3168\240\372J{\215"
+"\3079O+\274Gy\337\315c\252\253\227\331\4\252.\36#\251\312>O$\335K\326\257"
+"Tn\3614\225\302\356,Z\230\264\273\274\273\375OL\341\305>OEA\330\362\250"
+"X\t\236\213\266\231j\210\357\370@\236(\316\375`\275\365\372\343\16\264"
+"\373\275\213\\u \345\307\277\307\207>\342\f\334\371\376\2S\42\42b\326\371"
+"1\205\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0p\b"
+"\0\0\0\0s\230\322X\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13"
+"\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\5\24\30\7kLn\220\0\0\3"
+"\345IDATx\234\355\230]H\24Q\24\307\317\232)\212\262kh\272XQYTF\345\226"
+"\231\321\'D\5\21\206Ed\231}\200\220V`/a\365\240\245\330CE/A\bA\17}YAe\20"
+"bEQHe\246E\17b\264A\250eZV\202\244\254\272\236\36\356\214;s\356\334\331"
+"\231\275>\325\376_\364\236{\366w\317\314=s\356\7\200H\t\211\302.{\212\257"
+"\352D\374~i\3668\240\222\332\20\21\21\7\217\310\263\356\240\252r\351\260"
+"\374c\254\321\\IV&\6\3247W\216\225\252a\241\327)\7{\246\205=\234 \305\232"
+"\337\247\205\235\227\13,\253S\13\333\'\7s]\f\314%\372\262\345`\340y\21"
+"\200}\233\42\ts\24t\215\301\336\304J\302 \376\334\220\n\273\341\220\205"
+"A\372c\25V*\315\2\330\332\316X#\233\307\1\26S1\300>\246\364q\200AZ-\373"
+"\230\22\202\370Y{\245\33<\0\0\215\317e\243\262.+q\355\215\6\0\200\372\16"
+"\371\341\262\225\254\270 \217\202[jU\214\223F\271\307r\377\2004\253r\354"
+"\243|/\213\212\352\t\224\213\225\222\254=\232\232x]\222\325\254a\371&K"
+"\241\262Q\253\23R\254\233:V\273\314\222\344\366\351X\230#\301\252\324\243"
+"\260>tTT7a\371g\231xG\230\262\362\222\251{Q\310q5!\325\317\230\20Q\331"
+"\34*\3645\274\306\200\325\24\32\212&\4\323R\241\277\331\273\77\30eh\r%"
+"\254\250.\243\260p`R\bq\345\271\1\0\360\3\61\307\354\17!\256\327\210\210"
+"\370x\7\r\314k\236\223FR\22b\13\227\373\270\3216\353:\42\42\266G\300i\312"
+"\272o\27\245$\304Q\200\31~\302\32\231f\223U\301&-\21\0\352h`U\366PJB\\"
+"\6\0\310\241\254\36\303\304\23JY2<\0\0\221\35\24\266\313\26\353\25\42\42"
+"\276d\2152\312j\260\203R\22\42\217\265R\207)l\241\r\3265DD\354R\337\313"
+"]\312\252\266\216R\22\342\224\332\336@Y\375\326\17\\\'\21\21\321\347V\333"
+"\21\237(\354\260U\224\222\20\267\2\226R\312j\265\272\337/`\376+\2\226$"
+"\256,\256\265\310b\t\361Vk\272AY\267\255\241\224\204(\324\332VS\326\260"
+"[\364s\235\256 \42b\257~\365j\245\2602+(%!\316\352\255%\224\365%\322\2"
+"\253\34\21\21\375\323\365V\327\0\205m\13\216R\22\242\226\332/S\326\223"
+"\340\254|\346\311\25\342,\312\32\2457\27\374C\263\214\36\364d\320\216\376"
+"x}\333Q\\\22$,\243=\204@\277\311\341\201[\237\212\203\214\245\221k\247"
+"y\277\361\36B\240w\346q\25\332)\345\31\313\315z\5{\b\221\256\352~LJ\307"
+".v\264h\375f8\322\3249\3040\224\332+\216\213U\210a\301b\272\200\13\354"
+"\230\30\245$\4\227\363\252\270\375\353g\361>E9v\256\27\365\27q\201\to-"
+"f\262\265K\\\177\235\177(\253N\344Z\315\372\17\t\343VJ\233F\3764c\307\351"
+",O\7M\326\2535\334C\2361\35T\30\66\08\274\224\365#P~5\363\220\231\317\376"
+"\222/C\'\266\361\321*q\273\201[dK\360\2341\332Z4\32\304u|\261\362\217\351"
+"\211\347\353\3jY\266\204sZ7\242\16t\317\214\5\271\334\333\257\241.\213"
+"\2\67\252\3)f\254X\356!\375\244\2\257\352\325t>\2126\203q3\211-\332\213"
+"\311\270\323\372\301Z\326\210Q..\365\21\237\262#\253\3R26\355\346n\334"
+"\274u\315\37;\177\371t\266hg\334\304\344\214\242y\6\3\364\327<i\353\356"
+"\3\'\77\214*2e\rbODDl\260\177\266\21\353\177`\205\25VXa\205\25\326\277"
+"\242\2770Z\313>\3629\340\200\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0K\0\0\0p\b\0\0\0\0s\230\322X\0\0\0\2bKGD\0\377\207\217\314"
+"\277\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5"
+"\5\24\30,\307\360\227\320\0\0\3\346IDATx\234\355\230Ih\24A\24\206\337\304"
+"\230`\210&J\\\6\27\\q\201h\342\32\327\b\256\210DD\304\230\270\202b\242"
+"\202\'qA\\\321\203\212\27A<\t\256Q\17.(A\324\350!\340\206\211z\210\212"
+"\21\304-nQ\203\301\304I\234\374\36\252{\246\373UWO\367\324A\320\371/I\277"
+"z\375\325\353\351\177^U\r\221oe_\376\5|8\324\305\377\235\222\26\64\3\0"
+"\360\252\2176\252\3407\f\335\326E\215\373\211\210\6\351\241z}\212\2420"
+"[\13\225VmA![\7\258gE=\13\350\260\266YQ\241I:\250ym\26T\375t\35T\366\217"
+"(\251\355x7\35TVm\24U=A\207D\311\25\21\322\227\322$-\24\35\66I\341#Yz$"
+"Zm\242\356\344j\222hrH\220\352\226i\231\212\210\250\317g\0@\313\301N\272"
+"$J{\f\0\2709\314=\315S\311y\371DDO\257h\27\365w\344\345\31\227\247\22\21"
+"\321\2657\372\323\345\31\316:\254\217\42\263i5\244k\243\202-\246\345\327"
+"h\263\366D\276\323OtQ)\226\325B\253\223\22\3212K/=\255\311zhm\361Z\315"
+"4b\b\241\255Z\254\2636\326\353v\32\250`\310\306B\201\6k\217\35\205k\361"
+"\243R>2Vx\240K\266\373\212R\330\235\247\227\304]\327\3p}\355\20\'*OB\1"
+"+\342d\2259\260\36\304\207\342\206\20\32\243\314w\373\354\327\2468F\343"
+")+\245\316\251,4)7\343.u\25\6\211\210\360\234\205;\254\214\243\256\373"
+"\0\200\33\213xa\265\376w9\206!\346I\336\307,\337\254\323\0\200\327I\264"
+"\217\263.\373E\31\206\330H\324/\314X\277\375\236^v\213\227\226ED\345\274"
+"\260\275\376P\206!\216\21\21\25p\326\'G\343)e,\31\271DD\311o8\254\310\27"
+"\353.\0\340\216\270\330\316Y\225~P\206!\n\305U\317V\16\33\356\203u\n\0"
+"Pg~.\278\353\250w\224a\210]\346\365L\316j\314\360\314\332\t\0\b\5\315\353"
+"\244\227\34\266\336+\3120\304\271hd\23g\325x\335\233/\25\371\23\243\221"
+"\256R[\234\352\221%\fQm\r\235\341\254\363\336P\206!VYcS8\2535\250\272\335"
+"\246\23\0\200z\373\352U\303a\333\275\240\fC\34\260G7p\326\273d\17\254\35"
+"\0\200p_{4\263\211\303\26\304F\31\206\270\304\343\3078\253\42\66\253Xd"
+"J\215x,g\265\ra\31\362C\13G7\347\346\360\201\306\216\366\353@\351\206\30"
+"e9\355!\24\372\316\16\17\322\372T\32c.\2132\27\273\217;\357!\24z\344^\327"
+"*\77\255<g\274\333\250b\17\241\322I\333\315\254u\24\211\243E\315\7\307"
+"\231z\17f\201\226\236\365\352\272D\207hU,\246\331Ra\233\325(\303\20\222"
+"\347MI\373\327W\352}\212q\354\234\241\32/\221\n\233\253J\355/\326.u\377"
+"\315\370\311Y\345\252\324\243b|\235\262n\243\265Y\24\36\340\234\330W\370"
+"\264\331e\275\312\227\36r\277\353\244\312\262\211(P\313Y_\242\355\327\362"
+"\36F\27\213\277\354\233a\223\330\370X\225\265\320!-\271*\266g\234\266\26"
+"\367\34\352\3322\322\370\307\365\304\363\376*\217\214\33%%M\213\374f}\321"
+"\215E\363\245O\277\214\247\214h\210\2145\365pc\245I\17\31f\35xr\275e\360"
+"z\252\33Lz\223\250J\263\f\247\357\263OV\225\257FeJ\326\7n\211#k\200z\344"
+"\314Y\322Y\232\274\374\341\213\267\337B\266XjFz\373\3569%C\35&h,\253x\366"
+"\261\2012\344iL\261WV\251\316\4\0Tj\376\202k\323\377\300J(\241\204\22J"
+"(\241\177E\177\0\33\61\313*J\314\303w\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0K\0\0\0p\b\0\0\0\0s\230\322X\0\0\0\2bKGD\0\377\207"
+"\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIM"
+"E\7\322\5\5\24\31\2\2=\253^\0\0\4*IDATx\234\355\230]l\25E\24\307\317-\375"
+"\240\244\346\26R\240W\42i\261F|@\212\37m\215($\6\65\304\320\240\30j\13"
+"J\23\22[$i\232h\264\220\240@\350\203\276\230\360@\343\3&h\255\305\370A"
+" \rZ\313K\t \341JHhhZ\3R\221\266i\2517)\26K{\373\347afow\316\354\354\275"
+"\273\233h\202\367\377\264{\346\314o\316\354\236=3\263D\377\246\326\315"
+"\300Rs@Tx \201\302ty0\326\347\260\25177\bj\3\24}\32\0U0\250\262f\326\372"
+"g\35\5\323\325\7\374\2426s\24\360\231OT\341\255\4\42\236\230\345\313\376"
+"X\307\23\200\246\262!\353\372\306|\77\250Z\253\373\304&\242\342\313\326"
+"\335\21\37\250\2451\331y\260\214\210h\376\317\26\354U\317\250P\247\354"
+"z\271X\30\262\254\264\35^\344\225\265S\366\3741\2340\355\226\237\346\267"
+"\36Q%\267E\277C\2316c\325\77\302X\343\t5\3474\0`\272Q5\257\36\1\0\214="
+"\350\205\365.\0\340v%\267\77\322\7\0\350\b9\364q\262\21Q\326\356\271DD"
+"\337D\265\226\5\215YDD-\277{\211\354\277\225a\216\212\336\312!\42\242\223"
+"\3\301\207\253\220\211v08\212\332%+\226\27\30\25\271k}\207o\7f\355O\324"
+"\260KAQ\331\303\2635uu@\326\233\266\372\334\32\220u\301\306\232\364\\l"
+"\24U\300\256]\201X_+\254\353s\2\240\42\223\n\13\33\2\260\366\253(\234\364"
+"\217\312\36b\254x\211\213w\206+\253j1w\257\363\35\327yp\335\362\273k\252"
+"\320P\3006\237\2546\7\326y\177(\236\20BO\33\375\335\236\375\216lG\253\237"
+"\260\262o:\205\205\211\5>\342\252\212\20\21\241\227\231sk}\304\365\13\0"
+"\240S\333\33\366\273\347\244\223dBTj\271\217\227<\263Z\1\0\3273\250\231"
+"\263\216yE\311\204x\217\2508\316X\323K=\262\366\211\227V@D\35<\260\3\336"
+"P2!\16\23ig\17`\3301\361\214\222K\306*\42\242\314\1\16\253\366\304:\13"
+"\08#n\366pV\267\27\224L\210*q\267d\212\303\36\367\300\372\22\0p\323z.\337"
+"qVK\352(\231\20{\255\373\279k<\354\326]\321G\0\200\311\210u\237\361\33"
+"\207\355L\25%\23\242}\326\362>g\365\244\262\t$\42\332*\374\237\235\265"
+",\324\312\342\332\24Y\42!~\265\233\276\342\254\243\251\241dBl\267\333\236"
+"\347\254\251\210\251\273\242#\0\200Qu\365\352\341\260=\251\240dB|\242Z"
+"\338\353F\246swE\37\2\0\342E\2525\177\202\303^K\216\222\t\361\3\267\37"
+"\346\254\256\344\254\32\341\251\25\3422\316\232Y\316<\364I\213\214\276"
+"\263\252\2247\214\263_\23\241\372\206$a9\355!\f\372\213\35\36\264\365\251"
+">\311X6\345\277\341\336\356\274\2070\350\242{\\\333\275\224\362\322g\334"
+"Z\r{\b\223\276P:\263\322Q-\216\26=\203\216#=\364(3\334]2j\216KT\210)\303"
+"b\272B\13\354\3\63J&\204\226\363\226\264\375\3535\363>E\36;\327\231\332"
+"\353\264\300^1\271.\23k\227\271\376\206\377\346\254\16\223k\213h\177\307"
+"\30\267,m6\305\37vv,\22yz\307e\275Z\243M\362c\327A\215a\23Q\250\237\263"
+"Ff\313\257\355=<%\377\36\261/C\221\330\370\330U\360\272\203[f4y\3168m-"
+"\3169\304\325\364\204\274p=\361\374y\202[\312\237\324\234^\230\266\6\372"
+"\336\215E\33\265\247\337\306]V\306\22m\23\205n\254y\332$\343\254\2\77\67"
+"jk\374)\307\r\246\275ID\347\331\232\363\232\325\301\242k\314\250|-\365"
+"\201S\342\310\32\242\302\322\365[\264_\271\375\35\27\372\376\30\233Tl9"
+"\341\274\254\305\245u\2179\f0\336\326ue(Fa}\30K\354\225u\233=\1\0\335\336"
+"\3176f\375\37Xi\245\225VZi\245u\277\350\36\n\257\34\232{\n\323\332\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0p\b\0\0\0\0"
+"s\230\322X\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0"
+"\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\5\24\31\26\30\347\177#\0\0\4"
+"AIDATx\234\355\230]lTE\24\307\317\226~\244\244\315.\37B7\r\4\252\tHPZ\321"
+"Z\202\b\t\1R1\30\61\204\n\2125!\261(I\37\214Qy\250\n\1\23y\360\201\220"
+"\360\4\361\3*<\324\232\230\6\60 \261\361\213\264\42&U\322\222\b\5i\t\13"
+"\324\226\226,\335\365\317\303\314v\357=3s\357\235\275/F\367\377\322\316"
+"\2313\2779{\357\377\316\235\271D\377NE\374\22\346\327\224\217_\351\32b"
+"\321\362B\242\364\260\325L\5\215\277\3\0R\3376\226:\343%\t\0\'\254P\361"
+"3\230Pb\367\214l\307\26\0\370\330\6\65\367\22\234\32\333_%;\212z\1`\243"
+"\5*\332\7\246T\333\352ID\24\331\7\0\311)\26\254c\34\5\0\3\207\232\337\374"
+"\16\0p\324\2\265V\207\312*]\35\34\259\357\315:\240\31bb\255:IDt\373\223"
+"\304\2025\3234\335\275\213\357\4\257\353\b\0\\\234EDE\353\277W\252\372"
+"{ap\22\25\r\3H\327\312V\375\257n\324\350J\13\24-\1\200\266\211fd\303o\16"
+"\324\325%6(j\6\200\265\216@\244\276=)H\267>\214\351\307\230\256\375\324"
+"\30\21\365\247\\\261\262\272\252)\351\304\205\256\224~H^\226\362]W\211"
+"\350\225\22\42\42:\336\37~\272:\351\252}\341QtT\262\206\312B\243\342\367"
+"2v\177-4k\327\304\243s>,\252\370z\3669|*$k\213\343\231>\34\222\325\345"
+"`%g\370\347{\250\16N\355\b\305\372\302\305\272<)\4*\236t/\250\353B\260"
+"v\271Q8\236;\252x\220\261\322\17yd\27x\262\32f\362\364\246\234\353:\13"
+"\256\233\245\376\243\264\252SP@c\216\254V\r\353ln(n\b\241\'\214\371^\327"
+"\376\365bm4\227\262\212\257\351\312\302\330\324\34\352j\210\23\21\341\2"
+"\13\227\276\232C]\77\3\0\276\331\310\13\353\363\366\244N\322\20\317)\336"
+"\307\32k\326a\0\300\345\2\332\303Y_\331\242\244!\336\42\232\233f\254\324"
+"lK\326Nq\323\246\23Q\7/l\267\35J\32\342 \21\321:\316\272\2565\236Q\362"
+"\225QCDT\330\317a\233\254X\77\2\0~\20\215\26\316\352\264AIC4\210V\3458"
+"\207=j\301\372\34\0p-s]\3328KsR0I\32\342\203L{5g\215D\3\263\336\7\0$\343"
+"\231v\301E\16\333\36\24%\r\3418\211\275\315Y=A6\201DD/\213\374\245\331"
+"\310\3\312\262\270\42 K\30\342\27g\350\bg\35\13\206\222\206\330\352\214"
+"=\315Y\343q\323p\227>\5\0$\334o\257\36\16k\t\202\222\206\330\353\2166s"
+"\326\325\302\0\254\367\0\0\3519\356hl\214\303^\360GIC\264\363\370A\316"
+":\345\317\332,2\225\205\270\226\263\376\231\3172\324\37-\34}\267F9\347"
+"\217\224\273\333\221m\315>e\351\366\20\6\335f\207\7\345\375\264\315g.\207"
+"b/z\367\353\367\20\6\235\363\256k\253\315R^\355y\2067\354!L\372\3145\230"
+"-\35\233\304\321\242g@;\323\254y,p\2572a\256K\254\20\343\206\227\351#J"
+"a\357\230Q\322\20\212\3473R\366\257\177\232\367)\362\330\271\312\324\337"
+"\244\24\366\254)\265J\274\273\314\353ot\224\263:L\251\7D\377\33\306\272"
+"\345\322\346P\372A}\342\34\341\323\273\36\357\253\345\312\217\374\310s"
+"Rc\331D\24Q\276G\336\310.\277\216\373\360\370f\361\227=\31.\211\215\217"
+"S\3237h\322\n\273\375=\243\333Z\374\244\251\353\335\307\344\77\236\'\236"
+"\277\276\346\221\'\27+I+S\231\211\276\364b\321\363\312\325o\345)\213\206"
+"&\372\306*\274X\223\225\37\311\277\264.K8:O\226x\301\224;\211\356\311\216"
+"\356\262=\356\311\272\227\233Q1\305\372\300iqd\215PE\3653/)\237\251\373"
+":\272z\257\334J\272b%\321\262\242\231\325M\17k&\30i=\365\307\340\20E\325"
+"i2b\267\254\323\234\t\0\350\264\77\333\230\365\177`\345\225W^y\345\225"
+"\327\177E\367\1\222P\37rC.\215\313\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0K\0\0\0p\b\0\0\0\0s\230\322X\0\0\0\2bKGD\0\377\207"
+"\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIM"
+"E\7\322\5\5\24\31.0\345\307\275\0\0\4\'IDATx\234\355\230KlUE\30\307\277"
+"[\312mZJ\332\312\243\\\t\212 \341!BA\213\5\224\222\30 \1\2021\362(\305"
+"\27H\240\200\tqa|,P \260\200\5$nX\261@\240\342B\333@J\203)\13\32Q\201\362"
+"X4\20J\302K\221\206\42\325\206B)\267\177\26\63\347\2369\337\314\234{\316"
+"=\306\205\334\377\246\231\377|\363\233\357\234\363\335y\224\350\337S\77"
+"{\327\220\3621\261{\314+-\37\215\316\320\223LnL\2h]\254z\323\232\372\0"
+"\234[\20\22U\365\20B\273b)\357\243^\351m\t\205\232\356\f\3>q\2749})oU\30"
+"\326\351\3240\3743HX\261\213\256\3271 8\352%(Z#\274\31\252We\32\225cdM"
+"54L^\20V\276\332(0x\236\206\77\353\252\332\270f\367\202(\377o\345\335\314"
+"\24^\311C\305\233\30\234E\233\335a\'\34o\267\353\35\16\201\242\370IgX\373"
+"(\307+8\357x7\237\r\303\242\302\203bX\313\30\327+\251\23\336\317\317\233"
+"\307\304\3146\21UTO\314m\253\77\322\247z\225K\'\344\\\252\77\212Pie\365"
+"\37\310\376\35]}\220GDD\2157\242OW!+\364\233\350(:$Y\235\205\221Q\211G"
+"\316Ogmd\326\326\324/\372BTT\274\335]\36^\217\310z_Y\265\16Dd\235QX=C#"
+"\241*\240\352\313H\254\357<\254\353>\307\217\264J\364xXX\24\201\265\325"
+"\213Bc\346\250\370m\306J\276\350\23m\336\37\35U\225\362\360\232\214\363"
+":\5\256\273\306\35;\200*4\24\360a\206\254Z\3\353Tf(^\20B\345\326x\277w"
+"\277>nt3I+~\313\224\26\272\237\311 \257\252\4\21\21.1;\177e\6y\375\6\0"
+"\370i\31O\254\315\277&M\222\5\361\226V\373\230\27\232u\0\0p=\207\266sV"
+"}X\224,\210O\211^H2\326\343\347B\262\266\210\2176\230\210\32xb\333\302"
+"\241dA\354%\42Z\304Y\355\306\302\263Jn\31S\210\210ropXu(\326/\0\200\223"
+"\242\261\211\263\232\303\240dA\310\253\312\360^\16\233\24\202\265\37\0"
+"p\313y/\77p\326\236\340(Y\20\233\235\366\\\316\352*\n\314\372\32\0\320"
+"\223p\3329W8\354\343\240(Y\20\207\\\3473\316j\rr\b$\42zO\304\317t\235!"
+"\332\2628; K\24\304Y\325:\310Y\337\7C\311\202X\255z\2638\2537a\33\356\321"
+">\0@\207w\367j\345\260MAP\262 vz\335\215\234\365{n\0\326W\0\200\344H\257"
+"[\334\315a\357\244G\311\202\250\343\376^\316jJ\317Z!\42\265\205x\32g\365"
+"\215c\21\372C\213\212~0\245\214wt\r\364\266c\3536\246I\313t\206\260\350"
+"\36\273<h\373\323\2724s)*^\356\337o>CXt\316\77\257\325a\226\362\262\351"
+"~\275\2263\204M\337z\6\263\245\243Z\\-Z\3774\3164b,3\36\r\357\260\347%"
+"V\210^\313f\372\262\226\330\347v\224,\b\255\346\35i\347\327\253\366s\212"
+"\274v\316\261\365\327h\211-\264\205\216\22{\227}\375-\272\317Y\r\266\320"
+"=\242\177\2035o\271\264)J\2166\7\216\24u\372\300g\277\252\324\36r\207\357"
+"\244\326\264\211(\326\306Yw\334\345W\371\16\257\256\20\177\331/\303#q\360"
+"Q5x\211!,\267%}\315\230\216\26\277\32\362\372\302\371\77\247\357\215\347"
+"\217#\334y\355\25-\350\315\307\316D\77\372\261\350m\355\355\327\362\220"
+"\311\235\251\276\356a~\254\2\355!\223l\5~\243C\351<\226\347\7\323\276$"
+"Z\n\224\356\302\355\336\311Z*\355\250b\255\364\201\343\342\312\32\243a"
+"e\363\337-\321&o8s\371\346_=\36/\257\250\260\177iY\315x\303\4]\265M\27"
+"owR\221>\215#\366\311\232\355\221\0\200\346\360w\33\273\236\6VVYe\225U"
+"VY\375_\364\4\b\301\333\3206\305`\36\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0K\0\0\0p\b\0\0\0\0s\230\322X\0\0\0\2bKGD\0\377\207"
+"\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIM"
+"E\7\322\5\5\24\32!\213w\211\357\0\0\4EIDATx\234\355\230]l\24U\24\307\317"
+"\226\332\6Ri%\305\262)% \20\61Q\332R\2055~@b\224\204\220\22@C\245j\300"
+"4\261(\221\7\60\202\17Ui$F\343\223\222\20\37x@\261`\42\2021\r\341\303\220"
+"4A\204\266\306\207\246M\253\1*-4,\266\332tI\273\f\177\36\356\314\356\314"
+"\271s\357\316\334y\303\375\277\264\347\3343\277{v\346\314\271\367N\214"
+"\2\350\361D\325\264\341\356KV\220X\255\n\336\354\5\0`h\317\364\210\250"
+"\252\363\310\350\257\332H\250E\327\340\322\177+\42\240f\366\303\243\344"
+"\\s\326W\0\200\324\376\227\353\77\35\5\0\34\63FUM\1@\337B\42\242\212K\0"
+"\200jS\326n\0H-\26FE\22\0\2760e\235\1\200/\35\253\5\0:MYW\0`\215c%\0\340"
+"_ut\201\226UFD4\342XI\42\242\231\246\254$\21Q\334\261\346f\\&\254>\42\242"
+"\r\216\265\216\210\250_{\201F\357\2\300T\2350\226L\0\300^SV\371\4\0\\O"
+"\20\21U_\6\200\364BS\26\265\2\0\254\237v\355\374!\r\0\370\332\30E\305]"
+"\336\367q\240\324\234E\225\275n\324\340\242\b(\242Y\307\263\250\323\225"
+"\221PD\264\366\234\5\0\326\271\3659\2cAh\263\353\342w\207\272F\243&E\366"
+"k\350~\307#\350\250\315\32+\211\214\212O9\267\376\255\310\254\326\314c"
+"\374#*\252h$[\23\317Fd\275\341*\325\303\21Y\235.\326\344\303\221P\t\270"
+"\365A$\326\21\17\353\352\264\b\250\370\244\267O\324G`\265zQ8i\216*\272"
+"\301X\226\256\351\350\327\216\206\n\36\336l\234\327Ep\3352\335\317%$\24"
+"\260\305\220\325\346\303\272h\206\342\5!\364\2242^w\357\337.\362\365\232"
+"\244U4\354\227\26R\263\f\362j\210\23\21\241\217\271\247o5\310\3537\0\300"
+"\351M<\261\1}M\372\311.\210uR\355cuh\326a\0\300\325\2\332\307Y\'\302\242"
+"\354\202x\217h\201\305Xw\346\205d\355\25\17\255\234\210\332yb\237\204C"
+"\331\5q\220\210\250\236\263F|\13O){\311\250%\42*\34\344\260\315\241X\277"
+"\2\0\316\13\243\205\263:\302\240\354\202h\20Ve\232\303\226\206`}\13\0\30"
+"v\356\3131\316:\20\34e\27\304\307\216\375\22g\215\7\337k~\4\0\230\314\234"
+"\22\n\376\344\260\355AQvA\34\315z\336\347\254\236@\233@\42z]\304\77\223"
+"\365\314\226\332\342\252\200,Q\20\335n\327w\234\365}0\224]\20Mn\337\363"
+"\234\225\216\253.\367\350\20\0 \351]\275z8\254%\b\312.\210\317\275\336"
+"\35\234u\2550\0\353C\0\2005\337\353-Kq\330\306\334(\273 \216s\377A\316"
+":\233\233\325(\42\245F\274\234\263\356.a\21\362\217\26\25}\273\266\206"
+"\17\214\77\350\265c\333v\344H\313o\17\241\320(;<H\353\323\266\34s\271T"
+"\366\252~\334\177\17\241\320\357\372\274\232\302\264\362\232\247u\243\212"
+"=\204J\337x.f\255c\2638Z\364\\\367\235\251\352Q\346\230\252\324|\372\20"
+"\35\42\255XL\237\220\22\333\255F\331\5!\325\274#i\377zY\275O\261\217\235"
+"/\252\306\233\245\304\326\252B\37\21k\227\272\377\226NpV\273*\364\200\30"
+"\177G\231\267\335\332\\\262\24\337d\346\213:\275\255Y\257VJ\77\3623\355"
+"\244\312\264\211(6\300Y7\263\355\327\365\34\236l\24\177\331\233\341\221"
+"\330\370\270U\376\212OX\241\363\31HS3~[\213\13>y\355Yf\377\243=\361\f\375"
+"\314=+\352\244\240\27\3568\23\375\250c\321z\351\356\267\361\220\352\261"
+"\314Xj\216\2165C\372\221\26\353\300\317%]\203\247\212u0\351I\242k\206k"
+"\270d\237w\262\256\225jT\231T\372\300/\342\310\32\24395k^{H\232\274\275"
+"\263\377\357\177&=\276\342\322\222\7*j\232\37\363\231`\274\355l\357\215"
+"1*\225\247q\304\36Y\207:\22\0\320\21\376l\243\326\377\201\225W^y\345\225"
+"W^\367\213\356\1\r\344\350H\215\22\343D\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0_\0\0\0p\b\0\0\0\0]\335\363\312\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\4}IDATx\332\355X[L\24W\30\376\206]aw\271\270`"
+"\261\246(U\253\250EL\f\365\t\37z1}Q\343\5\65+\332\2101\255`k\2421\32\357"
+"7\32h\342%\244-E\214\241\220\240\246\241OF_\304\370b\237\214Fb\r\336/D"
+"\203\301U@\1w\225e\217\17gv9s\346vf\227I|\230\377e\316\371\347\237\357"
+"|\363\237\377\77\377\77\38\342\210#\2168\342\210#\216\214\202\234\'\243"
+"\42k\0\244\330H3\313f|\330\214\357\261\31\77M\17\177\221\344\312\231\271"
+"\374\317\27\254n\343\344a\265a\333\372Y^I\222\322\13\26\36\2702ly}_u4\36"
+"\13\355\22\236\361\361\361n)k\375\351\266\'\334\375j\323\25\16\307mK\201"
+"N\36\177/g\235\272\351\245\342~\215)\276\267O6\375\77E\3\177\222\312~\274"
+"\42s\216\231\356o\250]\36TG\3257\373\237\252T/\26W\261\354\314\343g\210"
+"^\356\376\243q\257WCG\366\357\262\24\377S\351\345W\r\372x\255\371\304o"
+"\'\342\303LS\377\177N\35y\317\r\250\375\177S\'\253:b\6\247M\371\7\350\245"
+"&b!\252\303\33\211<\32czx\334\'\204\20\362\310\r\13\374\201V\331\340\274"
+"\31\377%\323\250K#\326\362\362\0\263[n\3;i\77\0\340i\223\bhq1\200\366\253"
+"\0\320q\216&v\272\311#\313\350kn\222\247\306\376i`2v>5\270b\354\37\351"
+" \0\240\253Q\310)E\314\370\77\272\264\313\30\277t\16\0\340HX\350,\236\313"
+"\316(\245\fC\374\24\352\375\356\6!\372\363=\354\354L\304<\177W\3207>\32"
+"\22\302_\241\230\5/\3\200\317\b_\246\37\254\27\202\317\b(\347\377\306\362"
+"K\27\177U!\0\340\370\240\20~\205_9\277@dl\2671\375\236:!\370\t{8E\327\324"
+"\24 j\200\37\230\5\0\250\355\27\201w5\371y\325\23\223\223\347\16!\204\220"
+"^\3669\335\374r\235\322\257\210:\374\3\63\0\0\177\364\t\260\37\327\274"
+"\320j\347\340\242\364\337\344\300\224\177\346\326\240QE\327\346\277\232"
+"\322\257\3531,\376\305\276O\246\225|\357\265\336x\271\357\22B\b\31\310"
+"\205\21\177\r\251\21\353\77\313\n\0\0\365A{\372[\367>\332\234\34\265\251"
+"\177^K\313VC\367(\340\273u\351\207\217\230<\32\352\360\215\33\237\0\376"
+":\332\3644v\231<\372\340+`lIi\300g\355\215\306<\242\315\261\252\273\324"
+"\311\337\334\23QK\361_>\5\0\360\222\357\216\221\243\315\'Xq\261\305B\16"
+"\244>\26\375<\34\251\357\13\336\211\307\377\372\311\326\203\344\322.\341"
+"\370L\335\235H\24\326^\23\305\337\220\237\b~t\267`|\246Q\303h\355\220\332"
+"\2642K\177\201\266[\263\225\212\374v\0\257\246\363v\77\323}:\253\205a\330"
+"\277\355\340\366\267\222\20B:y\377x\350F\r\37\266\376\313\202\233/\6\200"
+"~\36\377\307<\0\300\331\333\226\361;\224g\255\377;\0\bq\370\336\235\0\200"
+"HU\2[\254\214\240e\251\0\20\346\360\177\372\214vw\367\22\300W\276r\271"
+"\326\27\232\3679!\204\220\241/\264\21\214\373sOvvvv\354\234\370\222\36"
+"I\255\312\370\254\230\0\0h~\230H\n\204\3316{\263\4\331\77j\372\357\247"
+" \21\376\254\344\205\250\305_\n\377WR\372M\217\223.Z\7\345f\375-\253L\357"
+"\246\336\327\243/\316\177\336\260lQ\305\362\337Bk\335\271\244\351\247\375"
+"\35\3\35d\360s\267\323ks\322\336\371\27506\32`\264\365\364\225\372\323"
+"\220\244\177\266\216Xl`|\26\241\2526\b\343k\37\42\345#\325\230\224\305"
+"\375\343it\311M\201x\253\244Y\217w4J#\2237\361\321\311\330\222-\372\370"
+"}|\1V/\220uZa\260 \246\337\23W\365\346\352\301g\252\n\374:\376\203|%\327"
+"\33\224\310\211[\307\350\256\353\305\377!\25~g\236\42,\177\270\312\33\24"
+"\1\22f,\375e\42k\367\276\365\302\215\347\212\223\317\235\351\237X\264\362"
+"k\365\222\257\352/\335\357\t\3\376\214\202\302o\276\35\253\272\77\375\1"
+"\220\257\323\335\304\276y\312\222\370\201\236g\363\377\355\1\233\361\7"
+"\355\305\37\212\330\213\377\26\2168\342\210#\2168\342\210#\37\237|\0\236"
+"\221-L\345#\r\255\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0I\0\0\0p\b\0\0\0\0wm\2e\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHY"
+"s\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\5\24\33+r\271"
+"Q\260\0\0\4\356IDATx\234\355\230]l\24U\24\307\317\356\266\264\205mKC\277"
+"\204R\305F(THJj\204\210\37\3244\22!\301X\f\221\350\13A\23\212\211\26)A"
+"\210Q#\215\304D\364\1\61UAjR\324\22\202$\26\25\215\22\220\4\227J\323\217"
+"h-\4i\323OK\322\322vW[\272\375\3730\323\331\231s\357\314\235N\365\301\244"
+"\377\227\335=\347\77\277\2713s\357\231s\227hF3\232\321\214f\364\177\226"
+"Om\311\312\311H\16\306\207\307\6\372:ny>\317\242\255U\241a\304\324yz\347"
+"2S\372\321!\0\317\2501+\17\264A\242\226]i\272a\363(\0lW`\22\2675\3120\0"
+"\200\360{\331DDe\343\0\200\27\359I\345\275\266\34\0\210\354\17\322\33\372"
+"\367=\3721q2P\351\301\\\363\317hc\323\215\241\333s\262\27\27eN\236i\337"
+"\326\320F\375\373\34\373\1e\235\262\336\227\347\322\215\324\3627\273\204"
+"\361\35\260\5\225\364\231}\375[\374\226lB\331MF:l\7\252\30\67\333~\312"
+"\22\f\31\'\255\244\217\345\34\337!\213\253.I\346\331;a\366\324HA\376\243"
+"\26\320\245\331\362\363m7\243NI-\207-\240\301\205r\20\321\36\223\353+\225"
+"\1\3006;\20Qu\314uA\222^\27\265\200\2568\254\356`l!]\22\263\363\373\255"
+"Cz\334\36D\264\306\270UMB\316\367\265\25\364\233s\30192\351\273&\244\266"
+"XAx\311\21D\331a\335\327\3163\301\36+(\232);\336\244\267t\343\0O\274\306"
+"\206${$\26\245G4\343\b\213\317\35`\244\335*\22}\250;Y\270\202\201\260Z"
+"I*\320\235\326\25\25hg\240\310,%\211.j\326T\355\227^3Jr\231\253yLM\372"
+"D\373H\261\220\236\345\256f5\210Njg\2133\223\342\327s\327\257.H\3\337\23"
+"\21Q\320Lz(\225\273\256\273 \221VP\22\315\244b\301\324\351\206t\6DD\t\332"
+"\17\355\42\327\b\246\16\67\244\356\206\374\366\316\316\77M\221\3000\270"
+"\\\364\13d\\XL\367\b a1\251\345\'\42Z\42\204\7=\222\356\22\302\303\36I"
+"\363\247~\234\r)]\b\363R\341\226$6\tQ\217$a\206{\221_\36vhe\34I\342\223"
+"\222\266U.H\243B8\336#),\204=\3349\77\21Q\237\20\236\353\221tC\b\'\271"
+"(\3432\222\244\204\334\341\215\364\273\30\317\361F\352\21+\344\2WGg\226"
+"\27\261\371rB(P\257\270\42m\2\206\276\331\273\42\66&\272(x\n\\\221V\23"
+"%\77V\371\244)\262H\30S\203+R\23\0`\2559\324\300I\243\262\376\231k\241"
+"f\325:d}\5\237\340\246Y\367\273 i\227u.b\216\245\217\362A\275\352\202t"
+"\31\0\260\303\32\254\346\244\237\325\240B\0@\224M\275\345QF\232P\317M\355"
+"\354gy\370(#\241B\5\312\33\3\0l\346\361\2340#]\267)\247\206\216\3\0\272"
+"\305\265\3762\37T\2513\250X\353\355w\212\231\300yFju,\301\311\327\0\0}"
+"AI\356\356A\206*w\42\325j\36\371.i\375\270\225\364\327\275\366\240\375"
+"\232\345\262\315\315\334\305\6u5\303\16\244\357\337\42\266\347:\304P!\361"
+"=OD\24\377\276\236\337!M\23\21\371>\342Sa\205\304\225\37\322\263\266\333"
+"r\42\362\35d\250\321J\376:\316~gr\215~\31p \21\275p\233\261\6\336.\214"
+"\265\212\t\353>\375{2\361\205uN\212\375\344\2035\302F\2727\324\332\25\36"
+"IM\311+\270\317\350,\361\356neC\223Z\305W\263D\375O\2500DD\264\212Ow\256"
+"h\325<W \42*\256s\30\327X\36525!\246\334}\365\23R\316/\345\362\266\324"
+"\251\203\317zd\325\312|\363v\370VK\363\205\37zm\334\312\275@\312\202\254"
+"\37\211\232*1\330\323{Sev\226\257\31\300\323\323ch\332\b\340\252\207nQ"
+"T\b\300\363\377\6\250\4@\227\233\276Ly\307\317=Lt\266qIv\240\273\276\266"
+"u:Cz\3004\223&j\344\345\312\235\352,\263\262m\352\255\336\244\n\331<\77"
+"o\1777\234\213\25\5R\322\217\235n\3134\232\352;\33$=\351\24\64\353\230"
+"1\250\317\246\5\42\232m\274\n[l=\252\227\277\246\210qM\302n|\212$\237Q"
+"H\354\377Gp\42\3153\246O\251\361\364\277uuf\256\327\303G\326\306\21Qb\231"
+"\321\21\365\247)\217\222(\320\1`\344\312w\365#\306\223\33\337\340iH\33"
+"\204\302\33~\312\23\210>\347\2403\213\275\201(aS\255\351\377\333\256\17"
+"\212\234\355\316U\305\277ti^Zr\334P\337\37\215\342\237\262\377\231\376"
+"\1x\226`+\362\354\262\37\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0H\0\0\0p\b\0\0\0\0\230\257i[\0\0\0\2bKGD\0\377\207\217\314\277"
+"\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\5\24"
+"\34\4\226)\372.\0\0\3\210IDATx\234\355\230[HTA\30\307\377\272\353\272\233"
+"\267]\323\224n\272\224b\226\226\225ffHPBiY=\331\25\313\300\207\350\6\206"
+"\21YX\t\21\22\330\203\21>d\17IHA!]\355bT`\372\20\231Q \221&\250Hn\232\272"
+"\353\226:=\234=\273g\317\234\335=g\347<\24\354\377\345\314\367\3157\77"
+"\276\231\3319\373\235\1|\310\24\343+B\216\42\252\373\b\31\252Ob\345\304"
+"~&\204\20Bl\307\31Aw\t\257sl\tM;A3;X@\253\211K#)\f\240y\2\20\351\216b "
+"\265\nIO4\376\203\226\216\bIW\30R\312\352\23\222J\30H\306:\327\316\21{"
+"6\3\t\31o]\244\201\371,\244\240}\375NR\307,\26\22\42j~\363\244\306 &\22"
+"R[xR\5\33\b\330\331\313\201\246\nYI\206\363V\356\254\244\262\222\260\350"
+"\36wVL\222\275\212\26/\77\3\0\332^1\347\364\337\311\355\210+\326n\7%X\255"
+"t\230Aaj\201\264j\201\370\27\260\26\60\2\372\260\30s\316\1\211\267\215"
+"\255\351iW\377\17\0!\341FsRf\336b*\42\234\36d\374Dm\311\373DQL\312\245"
+"AQ\310)\211,\217\2119\366\4:\310P>\354\26S\345\360\13\327hP<\350E\257\304"
+"dk\226=\22\332:\t\320\270xP\227D\332\300@\301e\201\305\237z\257\2736,\355"
+"&\25\225.#R\16h\324SGu#\345\362\357wD\312\276\361M=\23\b\343\'\370V(\33"
+"\b\367[E\16\277\217\310Y\307\223\257v\264\236\2i\305\25\1\260\334qX\257"
+"\337\344\272\365*\0\255\277\16\340#\17B\r\7\222\372A\372\220\350\17\355"
+"\301w\0\200A9h\255\2739\325\340f\312\7\205\346\211\34\67\b\0D(\6m1\210"
+"\34=mB\200|P\31\345i\2\200\20\245\240\225\371\224\253\31\0\370\322K\356"
+"\366k\256\322U\302Ws00\245\20tz\235\204\263G\320\2269\265\322*_\21\262"
+"@\332\213\365>\313\37\31S\323\24]\220Q\245y\5-\\\245\231m\316\332<\307"
+"7\306]\5\62\212\217NO\203\377\235jDu\220\327\305\266\3325\221\336\372\205"
+"\362\232Qyt\224.y\357\355If\20\200\77\335\267v%\324M\263\203\0`\350\360"
+"&\213* \340\345\6\217\377\336\312@\350,&\352\200\360\270^%\20*m*\201\206"
+"\32$\234\37,\26\213e\2112\20n\322\256\264t\223\311d\232P\bj\357\247\\["
+"\1\360\25\243|\20\241\277\367\212\1\0V\205 \264\213\35+\322\0`fR)\350\213"
+"\330q\20\0\60\306\31\n\312\232\226h\0\202S\27\276\37\200\263\250V\0\232"
+"\376\351n\37\342\2125n\323\30^l\372\223\334\323\312\n:2\227{\2163\202\342"
+"\3178\32c\214\240k\374K\230qj\245\333\371\26\33(\273\316\331\224\263F\36"
+"/\f\2277\353\234\355_2@\322\3672@\3563\301\335\264\304\324\250\357\334"
+"dIL\360\321\347\302;n\tP\234xH\201\324\265jfk\255NhOP\21Q\235T\355\321"
+"\34*\212\321m{8#\212\331\303\365pgM\37\26\233\230S\262\200b\27\276\253"
+"\355\30\34\263s!\361\t\351k6\322\237\371\256\214\330nkH>\275F\376\211\371"
+"\320\362\32U\13\244ZFVfB@\1\5\24P@\1\251\245\277c\4=\232\33\f\253\262\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0H\0\0\0p\b\0\0\0"
+"\0\230\257i[\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\22\0"
+"\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\5\24\34\26e\220\213f\0\0\3"
+"\220IDATx\234\355\230[H\24Q\30\307\377\272\353\272^J\327,%L[H\251h\355"
+"\206i\246H`RY\32\364b\27\244\262\220\210\212\300(B\3\251 B\2\13\214\360"
+"!}(Jz\21\351Bi\32E\224\201\225\331\5$\264\36\324L\267\274\255n\251\247"
+"\207\231\331\235\2353\273;3g\36\42\366\377r\316\367\237\357\3748gf\316"
+"\3147c\200b\31c\315\223\312\263\275\312\3268EH\377\345\30V\316\316IB\b"
+"!\244\'\221\215S0Mx\2652q\322\'\210K\311\f\234\204\357n\16\331\254\235"
+"\23\336!\342\20\233fN\320\35\61\347S\220fP\271\230\343\314\322\314)\234"
+"\25q\206r5sl\243n\314l\375\2\315\234\330n7\247#S3\6\306\26\27\346\307\341"
+"`\355\34\\\25\60\63\65\261\f\30\34\228/V\263`\220\355\3440}\305\332o\36"
+"\0H\34$\204\20\362\273j.\23\6\341o\t!\2044/W\224\355c\316\319\0\360\261"
+"\211m:\377\207~\21\26\355\346),\267\275\207\230A\21z\201\214z\201\fn`4"
+"`\216\210\265f\356O\240\323&\33\36u\365\r\1\b\211\214\266&\247\345,\241"
+"2\42\351A\321\37\250K\362f\261$g\351\305\1I\312i\231Y\36\227r\234ItRX\331"
+"\260GN%\357\213\317\321\200t\320\223\2572\213\255Z\361@\34\233d@\343\322"
+"A]2\323\6\372\363/\211\42a\327\373\274j\303\36269U\341\16\204g\225O\320"
+"\210\267\3\27nQ\226\266\373\210\224\366\b]3\23\b\343\'\204^(\33\b\215m"
+"\22C\363\269\313\267Q|k\364\226H+\256\20\200\375.\37={\356Y\227\250\0e"
+"_\7\360^\0\241\212\3\311\335\220~$y-\335\373\6\0\bS\17Z\357\31N\327y\204"
+"\312A\2419\22\343\6\1\2009\252A[\303$F\357K1@9\250\224r\32\0 D-hM\36e5"
+"\1@8\37(\275\374\206+t\225\360\305\32\fL\253\4\235\331 c\366\212\372\n"
+"\227VR\351/C\21\310x\276\326o\311\246`i\206\302s\nj-\237\240\304\265\206"
+"y\326u[TW\351\371\n\212\217No\203\377\235jDw\220\317\223\355p\32\24\227"
+"\330>gT\26\23eJ\331{{\212\31\4\340O\367\315]I53\354 \0\30<\262\311\256"
+"\13\bh\335\350\365\355\255\16\204\316\42\242\17\b\17ku\2\241\302\317/\37"
+"\305\240\301:\31\363\235\335n\267/S\7B=m\331R-\26\213eB%\250\275\217\262"
+"\266\3\20*F\345 \362\224\262\212\0\0\16\225 \264K\215U6\0\230\235R\13\372"
+",5\16\0\0\306\270@EY\3638\6\200h\327E\26\3p\25\325*@3\77=\343\203\\\261"
+"\306]4\206\7\233\371$\327:XAG\27r\3558#(\276\234\357\2141\202\256\t\17"
+"a\306\245\225\354\20zl\240\214\32WW\31192x;\260\262\311\344\352\217*\0"
+"Y\274\370Y\315\242\337[2K\243\276sSd1\301\307Z\304\277\311d@q\322!\371"
+"QR\7@Z[\265I\34OP\31Q\235T\355\321\24*\3111\25\334\237\225\344\354\341"
+"\216p{\315\34\61\177q\346\276E\24{\333\253\352\327\3cN.%>)5=\227\376\314"
+"w\317\210\355o\r\311\243\317\22161oZA#z\201t\233\221\203\231\20P@\1\5\24"
+"P@z\351/\274\303>\240qO\2377\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0H\0\0\0p\b\0\0\0\0\230\257i[\0\0\0\2bKGD\0\377\207\217\314"
+"\277\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5"
+"\5\24\34\'4N\213\\\0\0\3\306IDATx\234\355\230[h\24W\30\307\377\311f7\253"
+"I\263\33145\241\264I\26\242h\250\27Z\222\2646\305\nMh\33MD\4\243\25Q#\370"
+"`\253\b)^R\13\322\13\245\370P\373\240\265y\320\26ZJZ\37$\30\3577\364A#"
+"\42\246\21Di\33E\314V\315z\311\272I0\311\347\303\314\231\314\2343\273\231"
+"3g(}\330\377\313\236\357\77\337\367\343\234\23193\337\16\360_\251v\214"
+"\230\276V\341\204n\33\34\32\251V\0\355#\223\256Or\315i \213\276s\313)\354"
+"\263\202\306\336u\tj\'N\177\277\340\212\263\224\347\20\375\350\206S\334"
+"o\324\217\32\213{\337\5\250\303\250\336Z\25e\343;ai\316jV\233X\2DzX\364"
+"\263,\247\344\221^\331W\5\0\341\23\214\264X\216\223q\\\257\353\211h\206"
+"\237\335\233\377N\221\2}\254\227\35\r\31V\253\276\355\16\310p\312\343Z"
+"\321\236,\223\3314\244\231\379\347\370\316\23\21\321\310&\253]s\237\210"
+"\210b/;\6\265\20\21Q\274\221\367\247\336 \42\242\316\f\241Bt\0\300\337"
+"\32\4\200\337/\13G\n6\371\1\340\207^\307sJ\313,\266\25\334i\271N\311\364"
+"j:\312\240\34\257@l\13)\203|\343\300| \230S\30\231\273\372\25\61m\260\375"
+"X\317\335\7\0\374\271\371\221\251\225\363\312\205\214\\\261(\377\232pI"
+"\256\224q9\323\277\211r)[lf\271\221\347\f\227\212I\223Z\372-9;t\337|\216"
+"\242|\321\251[6\213\335\371\332as\34\260\1\305\371\242\36\233i\3}\365\337"
+"\232\42\366\370Hy\325\372\355m\332\274}<\310s\2z\234\354\300W\277\n\226"
+"\273\373\210\326\375\303\206A%\20\342\306\303<[\r\204\203g8\303\365\26"
+"\371\\\377e\257\275\254d\211\242\212\32\1\304\376\320\243s\347k,G%@\357"
+"\354\5\360\'\3a\247\6\262\273!\'P\2055<t\33\0\300\372S\t\320[\326pd\277"
+"%t\16\312\236\307\31\373\b\0XS\351\34\364!\337d\367^0\3\234\203\326\tN"
+";\0\370eA\257\327\tV\7\0L\326\3\247\227\337\367\275\330n\374\25\311\4F"
+"$A\333\336\2661{Mc\207Kk\3361Q\206#P\326\227m\366}\2249gb\214\257\361\213"
+"\212\211\263R\202J\336\360\275\30\251\372@\256\35\6P\357\240\371\350NV"
+"\374\377\351F<\7\245<\331\211a_^\252\343f\245\234QKA(0m\305oC\312 \0\317"
+"n\376\262\254t\367\250:\b\0\356\255\257\215y\2\2N\317O\372\366\226\3\241"
+"\273\211\274\1\341H\233G l\37\364\bto\277\215y5\26\213\305f\310\201\360"
+"\223h\315\234\25\16\207\303O%A]w\5k!\0\3261:\7\321Y\301j\2\0$$A\350\342"
+"\21593\1`lH\26t\2357\326\0\0\6\264@\242\2559^\0\300\264\353rW\2\60\232"
+"j\t\320\350Ck\274Vk\326\264\213\246\360`\13~\252\375&TA\237\350\237#\342"
+"\212\240\342\317\364\301\200\42h\17{\b+.\255y\21\33\251\201\336\334m\f"
+"\235\234#_\262\3\263;\2\306\370\211\3P\262\17|5\'\n\307\3\233\245\t\377"
+"s\247\331b27\2344q\354@E|I}\210w\0T\236\331\25\60\307O\205\214P\267\320"
+"{tds9\201\206\3161.G\377\340\246\355\265`\316KesW\275*\260\27\\\334u):"
+"0\254\245\24\227\316\252~O\374\233\77>#\265\2575T\'\236#wR\336\264L\217"
+"\275\2y6\243\2042!\255\264\322J+\255\264\274\322s\277\f\216\347\364I\0"
+"\214\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0H\0\0\0p\b"
+"\0\0\0\0\230\257i[\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13"
+"\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\5\24\349\316A\266\77\0"
+"\0\3\271IDATx\234\355\230[l\fQ\30\307\377\333\335n[-\333EU\4UT\250^\204"
+"\224\266H#\241\tE=\210T\211\240\242\17\202H*D\220\324%\21iB=\20\361\240"
+"\36\64\42\36\64\353\26\367{\\\42\2506$\42\212\204\222v\351m\333\246\272"
+"\307\303\334\316\3169\263{\246\263\22\221\375\277\314|\377\371\276\337"
+"\236\231\3313\363\315\1\376[\331\r\217$\345\244\331~\352\274\344\234\t"
+"\344\227\271\37\310\276\326O\bi\\N{3o\371\t!/\213\314pJz\210\244#6\325"
+"+\353\223\275}\342\234<\245\206\220m\212\267\300\257z\353\205A\317\325"
+"\32\322>L\262lo5\257%^\2203\225P\332(y\371\264W\302\326D\361@\3239\1\317"
+"\13\t\212\243\203A\34/ \b\2\372H\7M\306^H\305\265Q\327c\266\344\271{(/"
+"C\20\204J\255\346\276\342\35\325<\217(\7\316\307J\315\367\361\2127\350"
+"\225\342}\31%\fBB\255T\363\42M\363\334\27%\357Q\n\257\302\3063\1 \2674"
+"\303\361\276\356\222\237\366\nV\244G\275\253\273J\304\7\24\321\337\322"
+"/bE\2452\205;\327\6\42\313 \345\31g\31\344\b\27Hy\2379\200D 6~xj\376\272"
+"\321lZ\367\371\353\r_[\0D\'$\246\246\345\24Ld2\22\330\242\304F\346\226"
+"\274\34\247\313\231|\250Y\227\262\2233\312\255zN/g\236\307U\264\6\344T"
+"\312>}\215\232\365E\267\77qN\266*\343*\35;9\240N}Q\3g\330\300\267\242\303"
+"T\244<\207\202\336\265V\276Mv\354\321\202!\42\2406\243\3\7k\31k`\377#R"
+"\256\276\235b-\201\320\251\366\26\61\326@\250\273\2533\6<E\366\312[\227"
+"\274u\30%\262J.\6\340\275 G\17\36\316\t8j\2\64\367$\2007\n\bU\22\210\367"
+"\207\f\241\364\300\360\362g\0Zcb\2\224\27\30\376\256\t\b\305A1\5:\3434"
+"\1\200\301\246A\213\364\335U\323\23\32 \16*g\234\363\0\20m\26\64\275\220"
+"\261<\200\332\31\n\337~\3731\266o\371\220\32\5\3746\t\3325\233c6Q\373\202"
+"\247VV\31*C\b\3448p\312\260!SsBc\354\305\373\323Cg\5\5\215\235a\37\226"
+":s\341\210\320\230@\25\t4\37\365F\305\377N7\22vP\320\213\355\353\265\17"
+"\tv\234V\320\21U\fu9\'\255>\327c\31\4\240\357\375\331\225)\307\373\255"
+"\203\0\340\307\246\5\336\260\200\200;\363\f\337\336\346@\250/\t\365%#z"
+"\373\257\235\n\23\b{\272\303\4\372Q\3031_{\275^\357\24s \234a\255\314,"
+"\267\333\355\3562\tz\366\225\261\226\0P:Fq\20\271\307X\322\312\206\317"
+"$\b\317\364\306\264L\0\360\367\230\5\275\323\33\322\352O\207\24\230hkn"
+"\f\5@\315\272\2045\0\324\246\332\4\250_\267\342\266Aj\326\244\233f\341"
+"\301\26\273]\332\372\254\2026\313\13\33\235\26A#w\313;\35\26A\'\224\207"
+"\260\305S+[\246\354Y\3\345\36WwE\256\221\341\372k\266\307\251\356\267\13"
+"\200\334\6\376\234\233\303\265\200sj\314w\356$.&j\313-\212\303\3%\353K"
+"\212\\z\7@\316\335j\'\35w1\31\256z\246\367\360\304\350r\234K\257\370u9"
+"\253\244#\322\\\213\215O\32\227\277v\f\303^\374\264\372ysG\257\22422%k"
+"\326|\3663_\33\221\265\325\32R\310^\243\201\311\362\244U\324\26.P\330F"
+"\344\263L\210(\242\210\42\212(\242p\351\17X\310N,<p3\312\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0*\0\0\0p\b\0\0\0\0M\275\275\26"
+"\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322"
+"\335~\374\0\0\0\7tIME\7\322\5\5\24\32\r\271\257\345\f\0\0\1DIDATx\234c"
+"`@\5\202\42\fD\1\336\326\307\377\377\277\232\255JX\245\350\365\377\377"
+"\377\377\377\377\377{\1A\245k\377\303@=!C\377\302\225\376\13\304\257\324"
+"\344\77\2|\320\300\253T\32I\351\377\333\374x\325\36@V\273\223\31\237R\355"
+"\17\310j\373\360\32k\366\30Ym\2^\265\2\323\20\241\360\377\247\5^\265\f"
+"\206G\21j\237\313\340W\313\30\373\f\256\3664\27~\265\f\274=\277`j\2271"
+"\22P\313\240\265\33\246\266\234\220R\6\206\240\207\20\245\177|\b\253\345"
+"l\372\6\211a-\302j\31\2247@bX\20&\200\317\335n\206\f\f\f\f\'\16\22a.\335"
+"\300\245\377\204\2017\3\3\23\361&\16\270Rh\24\260q\213\310\231%\250aH\177"
+"_\262\367\326\213\257\2370\304\331\17\242\373\373\253\1.+\2\321\225\256"
+"\303\351\326\227\350z_\340T\372\31]\351G\234J\361\203Q\245\243JG\225\216"
+"*\35U:\252tT\351HP\312\203.\213\322\345@Q*\201\256\24C\0\6\330\367\241"
+"7s\276\350#IC{*l|r\6\21\63L\3205\263\305\313p\26121\375\204\13\f\303\226"
+"\346(\30\5\243`\230\2\0\225j@\n\42|Z\t\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0*\0\0\0p\b\0\0\0\0M\275\275\26\0\0\0\2bKGD\0\377"
+"\207\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7"
+"tIME\7\322\5\5\24\35\20\225\350\37\22\0\0\1TIDATx\234\355\326=K\303P\24"
+"\6\340\323\264\246\22\245\202\4q(\331t\20\202\25DE\24\27\7AP\304\305I]"
+"\34\374\17\376\4q\21\304Upq\21\304\325Z\\\34\2138(\350\340\246\255\272"
+"X\r1\242}\35\332|xC\316\35\13\365\276K\340\234\347\346~-7M\222d\314NWf"
+"\210\210\310>\371\4\236vz\345r\331\5\0\340\301\222\311\205o4S\222\310q"
+"\7A\6X\231\257\206\22s\2344\312\21\t\233\221\251\243\250\274M1t+*\275)"
+"F.\326#\362u\226\221v-\204\365\203>F\232\367\241,O2\2202\305\0\276lj\234"
+"\244]\37\376\354\231,\244\r_^\216\360\220\246\275\6|\\\345\16\223\210\310"
+"z\6\0|m\347$\220\214+\0\300\331P\254\23\233cb\206\210\350\346T\366\313"
+"\26\345\32\362\314\23\361\327\366\'-\247\315+\320\273Lkl}0\326v\17\213"
+"w\25\247\26\253g/\304};\205\244)\226Dz\234\270\326\2528\266\222H\337E\372"
+"\226H\371(\252\250\242\212*\252\250\242\377\201v\213\335\236D\332/\322"
+"X\301O\366\\|\346|\fG\332\351\306G\317Y\205\225\375Qq\260\276\2267:4\315"
+"\13\nm\370\322TQQi\323\374\2\231\5A\20\376@<\307\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0*\0\0\0p\b\0\0\0\0M\275\275\26\0\0\0"
+"\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335"
+"~\374\0\0\0\7tIME\7\322\5\5\24\35*S\344\306\240\0\0\1\202IDATx\234c`\240"
+"\13p\375\367\37\6\332\360\253\344\177\4W\371\377\2179^\245\363\377#\201"
+"\33\234xT\372\375G\1\23p\253\24y\216\252\364\237\3N\245\253\376\243\201"
+"{\2748T\206\243\253\374\377\177\26v\225\22o\341*\376\302\235\340\201U\351"
+"f\270|\245\331\13\30\373\211 \26\225\2110\331o!\f\f\212W`\274E\230*\345"
+">@\345\236\2331000\b\356\201\251\rBW\311\270\33*sE\21\42\300\n\213\215"
+"\227bhJs\240\22;\371\341B\325\320\344\260\26U\245\312\27\210\360t\26$\301"
+"\210\37\20\301hd\225\314G\376\377\377\377\377\377\237BT\3l^\377\377\377"
+"\377\377\377wRHb%\377\377\377\377\377\377\213\77\272\17To\375\377\377\377"
+"\377\377m\214\f\f\f\214\20/Ts0000\254>\213\21.B\205\254\f\f\f\f3\36`\310"
+"\f\f\270\204\231\2400\2007\3\3\23\361&\16\270RH\24\60\260q\213\310\231"
+"%\250aH\177_\262\367\326\213\257\2370\304\331\17\242\373\373\253\1.+\2"
+"\321\225\256\303\351\326\227\350z_\340T\372\31]\351G\234J\361\203Q\245"
+"\243JG\225\216*\35U:\252tT\351HP\312\203.\313\217\314AQ*\201\256\24C\0"
+"\6\330\367\2417s\276\350#I3C(6>9\203\210\31&\350\232\331\342e\270X\231"
+"\230~\302\5\206aKs\24\214\202Q0L\1\0\246\352\221W\202\224\25-\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0*\0\0\0p\b\0\0\0\0M\275"
+"\275\26\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0\13"
+"\22\1\322\335~\374\0\0\0\7tIME\7\322\5\5\24\36\0\243r\\\265\0\0\1uIDAT"
+"x\234c`\240\5`\206\263DMU\31\337\243\311\212\233*\377\377\200\256E\177"
+"\307\337\377\377\377_\rA\26\63\333\373\357\377\377\377\347\275QUF\374\370"
+"\17\1\375\214p\261\344\337P\261&d\225\2260\321\377\377\13ab\256\377\340"
+"bIHJO\303E\377\177\22\206\b1^G\210\275\341\206\253\324\376\217\4\322 b"
+"V\310b\21\f\f\f\fL\f\f\f\fF\310\2161B\241\2208L\f\f\f\f\234\310\302\\\20"
+"\nE\214\23\256\364>\262\360\3\b\205M\214\201\201\201\363#\222\273\254!"
+"b\202\77\220\304t\20\272\32\21\242\207`b\23\20b\233\221,`;\6\23}\251\4"
+"w\363\5\230\330c)d\307\360,\203\210\236UE\210\tn\200\210\35\225\207\360"
+"\341\361h\21\245\303r{\343\226\177\310\6\330\207i1\335\330\270\375\77\303"
+"(\200\203K\377\t\3ohr!\16\f\270Rh\32`\343\26\2213KP\303\220\376\276d\357"
+"\255\27_\77a\210\263\37D\367\367W\3\\V\4\242+]\207\323\255/\321\365\276"
+"\300\251\3643\272\322\2178\225\342\7\243JG\225\216*\35U:\252tT\351\250"
+"\322\221\240\224\7]\226\37\247R\tt\245\30\2\60\300\276\17\275\231\363E"
+"\37I\32\3325c\343\2233\210\230a\202\256\231-^\206\213\225\211\351\'\\`"
+"\30\2664G\301(\30\5\303\24\0\0P\235P\234\201!g!\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2"
+"bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374"
+"\0\0\0\7tIME\7\322\5\5\24\36\66l\310\311,\0\0\2\337IDATx\234\355\230_H"
+"SQ\34\307\177\373c3\263`ST\34\225\3120z\20\62\24*\266\240X`\17E\275D\364"
+"PPD\364\340co\355)\204\36\242\302\352\245\6\5\265\20\202(\352\305\222\\"
+"\275\350^\312E\21f\326\254L\303M]\336\231k\333\275\2754i\277\3379xw\177"
+"\275\4\347\373t\371\376\276\373\234\337\201\273s\3569\0JJJJJJ\377\263l"
+"\0\221#+\307\262\213\306\374\317\364l\362\333\344\370XB\227\347\234\346"
+"Fu\271\300S|\326F\206\236E\227\244\321\210Q\276\264\276.\373\77\304\31"
+"\2061zL\0\224\215\261\262Zo\305\375\222\222\303\335\24\350\216\tZ\270\23"
+"lp\0\300\232\332-\207z\206\363\270\252_\254\224\17g\13\23\332\371\222\200"
+"74\203\3#\315r\336&\34\316\271Q\242\272\'\207\42\311\355R\334:\214{C3\201"
+"I\224\321\366Hy\30\67 \310\264$P(\263\303,\356\261(\344K\341\371\37288"
+"\350\322Q,\276\232\203\203\3538w\205\205\253\301\323\325\3\305\222\225"
+"\177E\nwc\273\346`t\7\265\31\234<\312\350\16\222\17\261\23\2623p\20\301"
+"\206o\37\7\67\260\210\235\323\34\\\3669v\202\215\f\34D\261\3418\310\301"
+"\275$\316~\16\356\25q\374\25\f\\\352;v\252\2662p\360\2118\235\0\0N\200"
+"\23\207e\277q=]~|\324[ZJl\303\341\266\778_P\206\373\2530\206JS$\334\n`"
+"}\262s\304i\342\340f\211\343\345\340hw\25k\318\201\334\f\234F\255J\6\256"
+"@-\27\3\'\221U\334*j\375`\340\4[k\226\201\253\246\26yw\314\356d\0p\6g\215"
+"\5`tWC\234\317\34\\\35q&88/q\336qp\33\210\363\226\201\263\267\20+\306\300"
+"m$\257q\2323\3316\342\f\352\f\\;q\372\201\201\353\300F\341\1\3g\'_\353"
+"\321i\6\256\335\203\23500p{\2611u\237\203;\200\215K\277\4)\263+\312f\34"
+"\234.\256W\226\272;\205\215\220`\'2\335\235g\1\345b\313\347\0+\335\235"
+"EK\361\322q\301\276f\272\273N|\246%s/\7\327\360\5\245\302\262Y`\\T\220"
+"i\214\243P\277`\217\4\0\301i\373\3\315\370\'0\255J\326\34\271\13(\324\243"
+"D]o\1E\372\\2\232\215\234S\215\313%\201\216\253\32\252\347C6\21\311\351"
+"n\16t\17\23\232a\334\336]o\7\260\271\327\357:y\23_\2\30\306\370N\1\313"
+"\342\245\221\241\235\243_\26&o\310\250\3227.\220\263\205U\\~\360\356\275"
+"\214\250P>.\367z\350\305\223\264\244h\26\227\326\347\265\271\231\311\257"
+"\37\337\217\212\2266%%%%%%%\201~\3`\5\301\324#V\n\0\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0"
+"\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0"
+"\0\0\7tIME\7\322\5\6\3;!\f4\206\27\0\0\4GIDATx\234\355\230olSU\30\306\237"
+"\256\333\224\305\331\201\16$L\318\223\201\316\200$N>(\311\f*\2145\335\22"
+"\62\27\376d\201\230\210A\211\370\301ejb\342\37\210\306\240.\376Of4CPce"
+"S75\21\b\4\315\222A\224E#\270\31pK&lb\13\243d\243\335\353\207\226\366\266"
+"}\316\275\367\234\354\3\211}>\334\233>\3579\277s\332\373\336\367\234S\340"
+"\177$\217C\274ri\361\345\241\276P\206[\234\17\304\316\353\216\225\327\374"
+"\233\210\210D\17\64\317\260\372\327\214\211\310w\272\264\271\7%\251\261"
+"\227f\247\2\33EDvi\322\26\234\22\253\42o-L\4\nN\212\2104\352\321|\177H"
+"\206\242\301\7\274\0<m\42\42\23\63\365p\237e\322DDF>\334\366\324!\21\21"
+"\371T\217V\313h)\305\226h\321<\277\330\343\336UtS\340V~\17\0\377~4\266"
+"\370\301\33H\370\344\262q\255\331}\42\42\62p3\200\202\206#Ys\13\337\241"
+"\5C\301y\21\211\335\235\370\264\352\347t\332\305\373\365hX.\42\22L~\364"
+"\254=n\241\r/\327\244a\233\210H\255\305\360\254\3327\21\207\235\333Q\242"
+"\356\247x\24\263J\0\374\25M\363\256\273g\341\314\330\330\357}Q\336%\247"
+"\253N\207\371[y\266B\325\341m\345\233|:O9Ji\317,\375\251\251q\250\370\274"
+"p:q\250i\237V\34\326\265\350\342<\300\374y\225\325\376\233hT6\354fv\311"
+"\334\312{\33\346\247{\347\272\16\375:te\351\315o\32\244\217\352b\265j\36"
+"y\353\316Z\332\215o\2776=<\343}\315tA\371P\262UhYv\270\225\362\372}J\336"
+"]\227\2574\252g\3417(\357\7u\272|\234h\362\23\215\26\216S\236b\321\2\260"
+"2\321\3421\36\16Q\234(\323\245(\32op\247\26n*\240\342\r\304\343\212\237"
+"C\201S\247\313~\21\219\2232l\337\212\344\227\352,\343\201\177,W\3678\314"
+"\351\346\351\22\266\\U\270~\322\257j\257\227\341&\1\0\226\245\215\340\236"
+"\375\226t|\250\215\341.\0\0,\233d\202\213=\314\346\267\345IbN\1\0\304\26"
+"\207p\375(q_\365\263\371e\210>\212\301\372\311l\323\273g\251!\16G6\23\263"
+"\250K\221.\2168t\354$fYw\221!\16\255_\22\263j\17M\27\278Y\177\224\270\376"
+"\327\rq\210\4\206\211\273u\213!\16\303\365\21\342\266\2551\304\241o\203"
+"d\233\336\216*C\34\202\255\304\364u\3173\304a\'[e\313\276\260I\27\373\2"
+"\265\351GbV\333\244\213=n2\360\'q\375/\32\3420\32\b\23\267E\231.N\325\270"
+"\277)F\3347k\fq\350au.\77\250H\27\347\265\242\355\35b\372:K\rqx|\77\61"
+"\27|E\323\305\5.\326p\202\270\325\355\354\374\345fa\f\257a\305\276\361"
+"eC\34\6\32I\261GK\263!\16\7h\242\275\227\235.\356ph\177\205\230\205\301"
+"\333l;\305\267<\265,\344\355Tl\207D\344k\355\331!\326\304\326\362,\271"
+"\305!\262\372\357\351\304a8\300\212\2751\16\275\233I\2617\307a\357\363"
+"\323\212\303\13\364H\245\304\3459\214 \217\364\352\340\212-W\252Kul-W\340"
+"\n\3427\273C\361\350\352\13\256q\327\307o\352C\30\200\376\365\254\330S"
+"\\\342\217\272\33m\307\357z\332-\356\226\264\233J\257}\340\22\267(~[l\217"
+"\303VV\354\t\356\276\370m\211\315\37j\0\60\271v\300a@\0@i$Qp\236pjY\21"
+"R\25(\213\222\247\3673\263i\334\242\232\tG\334\366T\274\327\341\353\2\217"
+":\340\312;\254\r\6\375N\357\362.\216\363\0\345s\312n_\261\42c\223u\252"
+"\347\350\211\221\21u\205\363\356K\355j\277I\333\340\252\16\305\42;l\246"
+"\347;\316f\247U\240\254\n\327\261\265\334\30\207\323ud-7\307\241wSv\261"
+"\317\7BS\252\16\227\354y\273\27=Cp\345\372\23K\3509\357\255\0p\314\30\220"
+"SN9\345\224SNW\231\376\3\327\314lBa\3177L\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKG"
+"D\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7"
+"tIME\7\322\5\6\3#2\n\221_\220\0\0\4\303IDATx\234\355\230[lTE\30\307\277"
+"][J+-[{\1\333\332\262T\20[#lZ\21\4\361\6\253Vc\360\226\20LEM\224\30\37"
+"jb\2/\204\2\261O\24\222\42\360\240!J\214\274\311%\204p)F\304\20HK\211\205"
+"\2\42`(\205b)\264[\332n\331\356\366\f\17\333sv\346\373\346\314\354z6\341"
+"e\277\227\315\371\376\377\371\235\331\271\234\271\0\350\42\67_k\211;\262"
+"\33\272\30\273\375\303\214\344\320\n.2\306\30c#_\'\5\367+3\243>\t\264\202"
+"1\13g\274\353\34W\315b\21\230\345\30W\314\341\330\345\311\216y\307x\336"
+"\341G\234\342*\3<o\263\343\352\315\355\342y\2378\346y\266\307z\227\205"
+"\3469\346\201\357D\214w\253\3049\317U\333m\361Z\263\234\363 \273q\324\344"
+"\355r%\201\7\25\315&ou2p\0\357uFq\221\267\223\303\313\334\20\214\316\266"
+"\212\344\360\240|ot\266\345\332[\22kY\277\17\0\340\324\37\216j\225@\350"
+"k\347\232Z\346\311\316\310\352\37\33\370\257\353\236#\234\273jAu\325\364"
+"\t\261\304@\307\351\266\243\267\342\250\245\204U\363c\17\223\204\321\272"
+"\2664aX\376\232N\31k|\354\355\367\'\4\233\274n\300\36\306\30c\354\370B"
+"iAi\333-k*\344\37\377n\27744\354)\361U\247\361\331]uw\342\252Z\341>\276"
+"\32\275\365^S(\250\273\311+=\357\307C\23>\300\306\3679\274\226\271\321"
+"\340\305\215\372\325\243v\204+\20\376\24\313K\357\363\25l\366hh\337\b\257"
+"\377\210\32\374\21\236\327\376\270\222\266J\350\276\6\231\245N\260\\(P"
+"\320\276\24\254g\'HM\207D\223\375j^#\374\21\366\222\334\345\35\21\\\7\354"
+"\372\303\333\'\370\16\332\275u\273`c\337\312]i-\242\315vQ-\13\t>\3435\251"
+"\253^\244\235\261\243\1\354\26\235\327e\3157\353\276hZi\217{Kt\262\255"
+"\22O\263h\211(F@\32\372rE\346\20\313\353\350\215\277\331\323\0~B\346#\304"
+"\321\212\34\312\345\371Cdf\213\220a\t6\314W\341\36\63\220\33\17\252\3H"
+"\37NW\341\240\3\331\215\361\265\334\35\375\361\276\201\375a%\356$zv\255"
+"\24p\265n\244\237S\322\200\f\312\345\351<n\31\226/\250q\358\221\357\347"
+"p\345Oc\371\232\32w\236d\226r\270\32\242^W\343\372\372p\346M\16\367J\242"
+"8\350\302\211\342\31\61\334\2b\277\233(\16\26Z\270\342B\254\r\216ip\335"
+"$\343\263p\317\22\2154\r\16Z\373\331\26n:\321\264;\257~\222)\267p^\242"
+"i\203\342\2122L\34\275<\b\352p\324\340\3123qyDS\317XyX\270\377q2\32\244"
+"\251,\23G\227\347l\35\316\240\251t\23G\7\31\376\300\304\23\243f\271!\42"
+"M\324\225\225\254\205A\23G{]\267\321\222\305]\23\327K$\3059)\32\217\222"
+"\214\321g\342:\211\226\246\273\345\240zw\310\304]\241\366\42\r\216\266"
+"\306\25\60q\364\333\n\272\223\b\335#\264[\270k\264\361\236\320\340\350"
+"\35C\233\205\203\23D\324\335\330Q\334\361\30\356(\21+5\2702\234\270\312"
+"\365\3474\274\245`\264\263\305\312\221\2\215\274\334Bd\325\216\34\300O"
+"\374\321\275\352\370\344\334I\n\274\240\304\371p\342\237S<\356\27\62m\351"
+"\342\246T\267\211\217[p\345\333T4w/r\7\320\260.\ra\236j \77\217\315\353"
+"\261\243\t;\276R\340\32\220\3676\231\302yw\220\5o\341\270p]E\336\317\251"
+"\347c\\=\373\313\241W\221\363O\331\231}\37\62\311N\13\321\330#\32\357="
+")3\345\243\273\211\340\24\33\332\34\264\321\226\234z\1\0\252\207E\333&"
+"\33\34:\3204\332\330\340\35\361\0:\372\214\324\265B\244\355\266\277\20"
+"X.\362NgJ<\225\342\25\313!\371\31:\32\37\210\243\371g\332e%\227\5\307\336"
+"\f\5\r\340Eq\372\354\304\247\225\231\377\n\372w\272\253\217\322\223\202"
+"\277e&/\272\277\30\344\305\241\31740\0H_\77\312\27\t\357\230k\376\343\234"
+"\25\347\204W\235y\212\24\226\215\347\312\255/\13\3177[.\365\17y\212fW\t"
+"=\23X\267-\242\257\34\0\0\324\340\343(\211\341&\262=W\305\342=\21\5\354"
+"\306\6\365\267_\22\205u\277\207\345\254\35\213m\367k\312\273\317\234E\363"
+"\237\253(\346\22\203\347\317\376u\354\242\242\204\376f6\253lj\356\304I"
+"\241`8\320sC\262\205ME*R\221\212T\244\342\241\306\3\20:\257/\246\b\360"
+"r\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0"
+"\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0"
+"\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3$\13\32\325A_\0\0\4\316ID"
+"ATx\234\355\230]lTU\20\307g\313\226\226UJ\241K\305\266\266,\b*\265B\323"
+"\312\207|\371Q\253\326DI\320\204`\200h\202\204\370\320\7\23}!\2F\236\250"
+"&\225\217\7\23\242\215\321\304\27\240!D\42%\20\214b\nm(\224\42\2\n\24\212"
+"\245\245\337\333v\273\333\35\37\266\367\35693\347\236\323\355m\342\313"
+"\316\333\316\374\317\357\316\336\363q\347\314\24H\334\274\376\364\241\t"
+"\fS[Q\3550\342\375\257fM\16m\375\20\42\42\342\77\371\223A{+\202cvz\22h"
+"\313\202h\333\2\327\264\274\3668\r_wK\3635\n4,rI\363\374$\322\256z\\\342"
+"v\210\264\320*\227\264\267\243\2\255\263\314%\255\250/\16\213\326d\273"
+"\244\371\257\307i\215/\270\204\201\367\224\r\353\330\236\342\226\6\373"
+",\330\350A\277k\30l\265h\277\27\273\207\301\352P\f\326\266\331\355b\3\0"
+"\310\177\200\210\210#U\31\223\0\3\337EDD\254[d\226\216\'\371\345k\1\0Z"
+"\216\271\314j\2f\316\3163\247 sz\232\257{\264\367\337\326>W\270\224\222"
+"\225\245%\363\246\306\35\275\315\27\32\352\356\217#K\5\253\342[\361\260"
+"\214\357\327\363\237%\376\231\360\357\270\255b\305,r\254<!\330\214]\275"
+"\3160DD<\253>\356\224\357nC\265t\376\374\331tm \230\231W\\\352\25\275\77"
+"Vv\216+\265\354Z1\215\216\235\1+0\273\362\236\30i_\77\36\332\322V\361\275"
+"\177#\355\253i{\305\239\272w\212\221\266iH\30\20~\237\206\327\r\213\t\236"
+"\3144\320>\226\36\377\36\27\224GD^\323\343Z\332\'\322\364\355QI*%I\313"
+"l\rm\273$\2754U):!\213f8\322*\244\77\202k\325\252\300\220\244:\3564\37"
+"\201.I\367\263\323S\17J2\374B\255\362\326\313\262\345N\270\202\220\244"
+"\213\276\242T\355\224i\215N4\200\303\262\362\216\352\365==,\213\2669\343"
+"\336\224\225\270_\2419)K\42\232\25\340%\'Wd\t\223\274F\236x\312\231\6\360"
+"\35\21\377\302\24\347\211\342S\35\356]\42\3065D\360*\25\254\320\341fE\211"
+"\232.\252\343$\36L\325\341\240\231\310\243c\337\340\261b(@\353\346\346"
+"\260\26w\216\374\366l\223p\233h\215uYK\3\266(7\246\212\270\r4\334\242\307"
+"5S\207\277\\\300\315\177\206\206o\351qW\230g\235\200\253`\321;z\\W\27\365"
+"\274!\340^J\24\7\255\324\221\273 \216[\311\344\17\23\305\301*\33\227\313"
+"\312\372\376Q\3\256\215y\212m\334s,\306^\r5\236\375b\33\67\217\305\214"
+"\225W7\363\314\267q\1\26\63\32\307\345\244Y8~S\30\64\341\270\300\223e\341"
+"\262XL\277c\325f\343|\211\217\355\347.\237\205\343\237\347\351&\\\224\273"
+"R-\34_d\23\271\304\215X\343\6X(\3354V\361-\34\264p|\326M\205\226\312\36"
+"Z\270\16\26\232i\32\373\b\363D\273,\334m\26\363:\327E1\343\361\266\220"
+"\205\273\301\3459\6\34\177\33\67\300\302\361\263\25L7\21^#4\331\270[\374"
+"\345=a\300\3451O\203\215\203\337X\320\324\257\342\270\263q\\\35\13\26\32"
+"p\5\324qS\230\317\271\264\244@>\331rrl@\225\30\256ga]E\16P\316\364\261"
+"Zuls\326\260\1\372F\16k\177\374\365\207\210\373\201m[\376q\323F\17\310"
+"\77\277\246\3117\350h)\35D\335C\226u~\210\362t\13y\31\25\357\246\212j\252"
+"\370H\203\333C\264\17\330\26\316\352$\22Z\302\t\346\271I\264[\271f3M\317"
+"\271\251\3632Q\376\252\272\263\327\22\221\352\266\20\263#\262\260\357I"
+"\225\310Oz\23\203\2179\320\226\220B[q\353\5\0(\r\312\262/\35p\344BS\345"
+" \23\32\352\210\2108\362\254R\265E\246\35vn\bl\224y\27\246)4\205r\213\345"
+"\204\372\16\35\263w\344\325\374=\237\262\274\353\222\342h\232\206\6\260"
+"Z\336>5\364\266\262\360o)\276\317\324\372\310\77\'\351\353\27\212\301\224"
+"\17\373\305\340\300\7\6\30\0\244\356\36\21\207\204\17-\265\376q\306\226"
+"\313\322\243\32\237b\203U\353\271p\377\213\322\357{\365\327\272\7\62s\26"
+"\227H3\323\263\353@\304\234\34\0\0T\320\353(\263`uB]\367\262#\21\r\354"
+"\356\347\372\263_a\331\225\247\303j\326\2412\307zM\333\373\314X\263\342"
+"\371E\271\202\243\377\312\245\213g\256jF\230;\263\276\20293\323\37\r\r"
+"\206{\332\357*J\330\244%-iIKZ\322\376W\373\17i\237\2605\16\273\276E\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0"
+"\225\261\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22"
+"\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3$$\261\4|\6\0\0\4\370IDATx\234\355"
+"\230]lTE\24\307\317.]Z\252\364\203.\265\266\265u\201\242\266FhZ\213HET"
+"\250Z\23$\212\261\301 \301D\211\321\244!\32\215\301\b\30\361\5L\254\202"
+"\32\22\2h\364A#H\b\212\266F\203\32L\241\304\302\202\200@J[(\265t\333\322"
+"\355\322\217\355\36\37\266\367v\346\234\271s{w\23\365a\317K{\317\377\177"
+"~w\356\235\231\2733\3\360/\307\222\b\32\361n\374\264\364V\223\206\341y"
+"q\343v\242\20\247\247\304I[\212R\274\37\37\315\333!\343\42\213\342\302"
+"}\211$.L\215\203\3664\245!n\217\235\226\323mRF\315\307}$f\334~\223\361"
+"F\305\25\343\377\366\314\30i\253\rBh9\200\317o\\}\32\33\255\240w\254\276"
+"\243\2\0 \263\301\340=\21\13\315U\77V\355\367E\23\36cDwf\307\200{y\254"
+"\370\373t3\265nl\372~\355\2346+\30-\3758IH\326\fF\223\3178\245M\372\25"
+"\21\21\303k\345te\27\42\42\6r\35\342^ED\304\340\3434_t\26\21\21\277u\251"
+"\313,\322\236u)\0\0_51e\332Z\17\0\300\'-\16\333\367\177\b\213\207\25\35"
+"9\205\31S\223S{F\373\256\264]\213\13\347.[P^6c\362x\242\317\177\264\251"
+"\241c\2\255T\260\252wv\362\357\23b\344\310[\5\216a\3367/\252X\321\b\357"
+"\257r\4K\337\320g\rCD\304C\225\312B\345\273\253\251\223&\371\351\3463\301"
+"\201\214\374\322rq\276\301\27\265W\'\324\264\354}b3\272\326\373\faz\355"
+"%Q\351|r\42\264\2126\361\275oO\23\265)\233#\242\270y\222-m\345u\241`d5"
+"\225\227\r\212\r\254\317\260\241\275\42\335^\361!\252\n\213\274\346\233"
+"\265\264\327\244\356\333\244\262\324J\226S\3235\264\27%\353\361\311J\323"
+"A\331\224\2564\1\0TK\17\202\367\253]\276\353\222\353\200U\177\370\2\222"
+"\357;\253\273~$\331\360\35\265+\251Q\266\335c\205+\34\222|\221\207\224"
+"\256\3652\355\230\25\r`\217\354lU\275\276\333\7e\323\32k\334c\262\23\267"
+"*<\365\262%\254\31\1I\344\313\25\236\313,\17\223;\376hM\3\330E\314\77\60"
+"\307\21\342x]\207{\212\230q!1,\241\206\371:\334\264\bq\323Au\200\350\3"
+"\36\35\16\374\304\36)\216\346\335\321\77>\272\246\364\217hq\207\311\265"
+"k\215\204[\351&\372\t-\r\330\240\\\341\21q5T>\245\307\371i\302[%\340f\336"
+"A\345\26=\356$\313,\23p\325Lm\325\343\2\1\232yT\300=\340\24\7m4\221W4\216"
+"[\300\354\335NqPi\342\362\330\332\271\177\324\6w\231eJM\334]Lc\257\206"
+"\6o\375\34\23\67\203i\266+\257\36\226\231i\342|L\263\r\216\313M6p^\246"
+"\205\354p\334\340\3122pYL\323\317Xu\230\270T\347\265\375<\225j\340\370"
+"\317\263\355\236:\302S\36\3\307\7\31\375\300L$\206\215\272 \223R\354j\25"
+"\277\205!\3\307{\335n\241\245\212n\3\327\305$\333\r\372\r,\23\t\30\270"
+"\213LK\262^\27E\203\353\227\207\f\3349n\267\333a\362\267q\16\f\34\377\266"
+"\202\335N\204\257\21\232M\\\13\177y\267\330\340\362Y\246\311\304\301oL"
+",r\214;4\216k`b\211\r\256\220&\316\13\375y+]R \357l\271q\254`\213(72Y\267"
+"\42\7\250b\376\350Zulr\356f\5\367jq\2454q\366w\21\3679\233\266\374\307"
+"M\253n\223/\77\240\215\347g\24B\270\273\210\273\227\f\353\202!\312\323"
+"\r\344y\324\274\221:\352\250\343%\rn\23\361\376\315\246p\326Ub\241K8!\\"
+"\347\211\367y\356y\2266\257\330\22\367 q\376\242\332\263\357#&\325n!\32"
+"{e\343\265Y*\223\227\234M\204n\262\240\315%\13m\213\343\267\362\1\331\366"
+"\236\5\216lh\266X\330`\251\274\1\35\276S\351Z%\323\366X\37\b\254\220yG"
+"U\'\366%\362\21\313A\365\36:\32\313\345\321\374\31\357\262\374\277$\307"
+"7\311\32\32\300}\362\364\331Mw+\263/H\372\207vG\37\5\207%\177\343lQt\277"
+"\320/\212\301\347l`\0\340\3318,\226\214\354\2500\2368m\325\t\351V\307n"
+"c\305\252\361\\\262u\221t}\251\361LO0#wN\231\3243\275\33\266\205\355\33"
+"\7\0\0\325t;\312b\240\316\321\321\366\342\275a\r\254\375m\375\267_\21\331"
+"\265\77\215\250Y;\26[\256\327\264g\237i\13\347\337]\234\'$\372O\36\377"
+"\343\347\77\65\25\366\'\263\251\2059\231)7\16\205Fz;\333\25K\330D$\42\21"
+"\211HD\42\376\323\370\7\7\356\0\213\255\314/\312\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0"
+"\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0"
+"\0\0\7tIME\7\322\5\6\3$9\322\2\20\337\0\0\5\bIDATx\234\355\230]lTE\24\307"
+"\317.]J+m\267\264ThK\353\26Al\215\320\264V*\210_PlI\fQ\211\4\303\207&J"
+"\214\17\373@\242/F\300\330\370\0\306T\2501&\4\33#\t>\24\210!\42` 5\4SZ"
+"BK\251P\213)m\1k\227~\357\302v\77\216\17\333\273\2359g\356\334\336\370"
+"\240\17{^6\367\374\377\363\273\263w\346\316=3\0\377\347p\350\345e\245i"
+"\241\276\226\21\222MK\2\210\214\331\275\225sG\'\42\42\206\317\355H\21\363"
+"\311>D\374\331.m\341y\214\207\2576gZ\330\206\210\370\205M\232\247\7\305"
+"\b\324\27M\t\256.D\3047\354\3212\376@\22\341\306\252Y\0\3408\200\210\30"
+"\314\264\207\373\201\322\20\21\357\36\366\356jBD\304\243\366h\33T\264\351"
+"\210\254\260Es\264\351q_\233\265S\247\327\235\6\0\30n\360\25\257\317R\310"
+"]e\23\266zw\4\21\261{\21\0\270^\275\300\3726\372\204-\30\270\306\20\61"
+"R1uU}E\246\371_\262G\203JD\304\306\370\245cS\273@\353\257\264I\3/\42\342"
+"\6!\341\250>\36\214\301\206>sk\32\252\207b\236\33\0z\303Rn\356\312\242"
+"\314\210\357zKX\331\42\21\377:,Vc\0p,(t\247%\247\16GF\377\352\263\\\201"
+"\2658g\331\252\362\262\242\331\323\211\321\216\226\326\263wg\320K\5\253"
+"\346\360\200\352\355\217^\372\270\3006,\373\243[\346\353I\370\307*[\260"
+"\214=\243\372\5\n\233V+\33*\237\335\346\272\34\361\362z\333\215\t\277;"
+"\277\264<I\314\36\361\372f\324\265\234\23b7\6w{\fa\276\367\266\250\f\274"
+"6\23ZE\237\370\334\277I\27\265\224}QQ\3347\313\222\266\365\276\320 \364"
+"\26\2257>\20;xF\267\272\0\0\354\222n\377&7T\205E^\333B-\355\3i\370jU\26"
+"\257d\351\234\257\241\275\'Y\333g+M\247dS\206)\255F\372#\370\234\332\345"
+"\271/\271N\232\215\207gH\362\375dv\327\257$\33~\252v%5\313\266\225f\270"
+"\302\240\344\213\252\77l\273e\332e3\32@\243\354\354U=\276e\17d\323Ns\34"
+"-`\16*<gdKX3\3\222\310\312\25\346\5\320zr\307_\314i\0\337\22\363i\346\270"
+"D\34\37\352p\233\210\31\327\20\303:j\320V\16\363\242\304M\'\325I\242\373"
+"]:\34t\20{\2648\226w\306~</S\177H\213\273H\256\35;%\334V\'\321\257ji\300"
+"&\345\26\227\210\333L\345N=\256\203&\262\253\4\334\342\307\251\334\243"
+"\307]c\231\215\2\256\206\251\275z\334\320\20\315T\13\270\27\354\342\240"
+"\217&\362\226L\343V1\373=\2738X\35\307\345\345Pm<b\201\273\3032\245q\334"
+"\223Lc\217\206\6\357\375\3628\256\210i\226\225\3270\313,\216\343<L\263"
+"\f\216\313M6p\331L\13X\341\270\301\221e\340\370\266K\377\306\252#\216K"
+"\265\337v\234\247R\r\34\377<\247Y\341\242<\3452p|\222\321\5f&1i\264\343"
+"\233\3239Vm\25\337\302\200\201\343\243nUh\251\342\236\201\33d\222\3459"
+"\304C,\23\35\62p\267\230\226d^\27\305\202\353w\202\6\256\233\333s-p\374"
+"it\203\201\343k+X\355Dx\215\320\26\307\365\360\207\267\310\2\227\3172\255"
+"q\34\\`\342\22\333\270\246i\334Y&\226X\340\ni\342\2460\236\217\320\222"
+"\2\371`\313\235c\r\366\213r3\223u\259@\25\363\307j\325\251\227\263\201"
+"5xF\213+\245\211\256\337D\334\367\354\265\345\37\67\255Z/_~I;\337\252\243"
+"9\7\211{\204L\353\202 \345\351&\362\323\324\274\227:\352\250\343}\r\256"
+"\226x\377f\257p\226\217Xh\t\'\204\343&\361\276\303=\333h\367\212Mq/\22"
+"\347\257\252=\373\tbR\355\26bqL6\216=\2522e\223\263\211\300\303&\264\25"
+"\244\320V\354z\1\0\312\375\262\355s\23\34\331\320\3547\261\301+\362\6t"
+"R}\304\271]\2465\232\37\bl\221y-)\nO\211|\304rJ\275\207\216\305\353\362"
+"l\376\216\17Y\276|x~<YC\3xV~}\32\350ne\351\237\222~\300\352\350\243\340"
+"\242\344o^*\212\316w\307Eq\342m\13\30\0\270\366N\212MB\207*\214\177\234"
+"\276\375\252t\253\313\217\261\306\252\371\\r\360y\351\372v\363\215\341"
+"\tw\356\3622idF\366\324\317\364\220\266\206nGY\370\353Xy\256\213\265\307"
+"\302\32X\377\'\372\265_\219\336s!5\353\320Z\323zM{\366\231\276\246\362"
+"\251\342<!1~\255\375\312\371\3375-\254OfS\13\27d\316\231\33\f\204F\6\372"
+"\25%l\42\22\221\210D$\42\21\377i\374\3U{\3c\220\32\327\360\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261"
+"\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322"
+"\335~\374\0\0\0\7tIME\7\322\5\6\3%\22g\245\330\336\0\0\4\353IDATx\234\355"
+"\231[lTE\30\307g\327mKW(\255\275\200mm\335\326\42\264\204R{\221R\4/P\265"
+"$\206D4M\t\22\65B\b\17\r1\321\27#\224\310\23\30\255\202\17&D\211\221G\240"
+"AB#\20\r\6\61-E\n-\367K\241\334jK\357-mw{\306\207\3239;\363}s\331\243\17"
+"\372\260\337\333\374\277\377\367;\263g\346\23433K\310\3779\36\323\344R"
+"K\363<}@\233U\232K\373\377\311\205\n\33\')\245\355\253y\255\354\270E)\375"
+"s\245{Z\365\30\265\343\13\217\243\275\37\234\322\266\271\245\225\263JJ"
+"73m\205\345h\357\271\3045;\225t0\331\226<\27\303Z\317\343\256h\5\224\213"
+"\365\266\266\230\327\252\345u^\271\374\234\244!\323\42\304\305\363\r\277"
+"D\23\32F\334M\276\321\241\326\42\214\370\1\356>U\330Z\322\30\247\315w\205"
+"#u\341\312\23L\3732\254\35rG#\261\277\263\312\256\34\246\371\3172\2553"
+"\335%\216L\337gW\266\344\205\265\244\203\266v2[U\345Q%\bYT3\337w\265\341"
+"\'\213\327\226\275\235\357\275\324p\204\272\355\\4\314\241\31\n\346\230"
+"\235\2358#\316\33779\360\240s\360_\341\274\305\25%\3059\261aa\240\355t"
+"\313\261\373\21\364R\302\252\372\256\213J\302j\3764\3135,\345\223[2\226"
+"\35\241C\225\256`3\267\16\250a\366\203\274DZ(\275w\325\365i|\363R\353\345"
+"\341\221\304\314\242\22\37\257\356\253\355\211\250ki\r|7\272\267\4X\42"
+"\265\366.\237\351z3\22ZY\'\177\337\277M\340s\361;,>\271C\367\321\267c\355"
+"#\256 \370.L\257\342\337\241\364h\242\201\366\241p\3715\330P\31\342y\255"
+"Oji\37\t\303\267]f\251\25,\27R5\264\215\202\365\\\254\324\324(\232f*iU"
+"\302\17\241\313\344\256\300#\301uX5\36\201^\301wDu\325o\4\33\375L\356\362"
+"5\211\266E*\\\366\270\340\263^\221\272\266\210\2643*\32!\373E\347m\331"
+"\355\233;&\2326\250q+E\'\335%\361\34\25-!\315\f\360\2017Wh!\262\274\n\256"
+"x\\M#\344{`\376\319\232\201\343c\35\356-`\246K\201a\5\64\224\353pOX\300"
+"\r\'\325a\220\37\211\321\341H\33\260[\371\266>\265\276\13\274\6\375A-\356"
+"\24h{6\b\270\265p\331x^K#hR\326\304\3608\264r\276\240\307\265A!\245\222"
+"\303\345\316\203\351\16=\256\35)\2538\\\25\312\336\326\343z{\241\362:\207"
+"{\311-\216tB!#/\214\253@\366\207nqd\211\203\313H\203\271\241I\3\356\36"
+"R\212\34\334\2\224C\267\6\6\356}\241\203\313A9\343\312\13n\233\t\311up"
+"\1\2243\6\306\245\3071\\\n\312\215\232p\330\340If\270d\224\323\77\261\362"
+"pp~\367\265CX\3623\34\376<\3170\341,,\3050\34\236d\212}\2516&X\3350JM3"
+"\325J\276\205\243\f\207G\335\264\320\222\305C\206\353F\251$S->\251\260"
+"z\31\356\26\312\371\324\353\42;p\376\3368\303]\303v\323\376\27\337\215"
+"k\204\341\360\273\225\230v\42x\215\320\352\340:\360\315{\312\200\313DJ"
+"\213\203#\'Q2\17)&\334\2110\356\30J\26\30p\3504\340:7\236O\303%\5\305\203"
+"-v\16\25\354\344\323M(\255[\221\23R\211\374\366Zu\352\341\334\213\n\26"
+"kqEP\270\362\7\217\373\21=\266\370\343\246\315\356\26\233_\301\316\267"
+"\350h\336n\340\356\7\323:k\34\362t\23\371yh\256\203\216z\350\330\244\301"
+"m\7\336\277\320#\234\334\3,p\t\307\205\347:\360~\200=\357\300\356\345+"
+"q/\3\347o\262={\3\60\311v\13v\34\20\215\203\317\310L)\340lbt\226\202\266"
+"\20,\264%\273^B\b)\31\21m\237+p`C\263Sa#o\210\33\320\t\371\1\347:\221\266"
+"_} P#\362N\313\216s\13\304#\226F\371\36\332\216\325\342l\376\1\17Y\346"
+"U\301q0NC#\344\5\361\361\331\13w+sn\b\371\257MG\37Y\247\4\177\323\34>\351"
+"]\77\304\'\207#\370c \246n\202/\t\356)c\2778a\335y\341Rg\236E\305\262\371"
+"\\\260\353E\241}\267\351r\337pbza\26102\375[w\207\314\235#\204\20R\5\267"
+"\243(F\352\321\362\\\27\313\17\2044\260;\333\364\357~I\244\325\376\22\224"
+"\263\366,W\256\327\264g\237\tK\313K\36338a\250\375\334\331_/j*\314\'\263"
+"\376\354\331I\323\246\217\217\6\373\273\356H\226\260\321\210F4\242\21\215"
+"h\374\247\3617\3341\277\301yA=3\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\5]IDATx\332\355XklTU\20\376v\333.-\24(}H\5kZ\240\330\264"
+"\42\2156\204\304T#\326\7J\242I\255R\210Z\42\215\24\305\250\204@\214\317"
+"X\202\202<\325\210m\354\303\250\240\211J\rH\224\30b\0\t-\4\252FKZl\223"
+"\266\b\330\255-\333\307\356\262\273\237\77\226\335\275\347q\367\256\301"
+"\304\77;\277\356\275\363\315w\316\2713\347\314\234\1\342\22\227\270\304"
+"%.\377\277\330\256\311:\241>\7\0W\375\361\337L\346%\222\344\326\1773\273"
+"\244\334\234\354\364I\300\250\353R_\327\270\240Zp4\t\300\231\205\236\30"
+"G\237U\335\370\263\207\21\361w\177\361\374\374\260vr\'I\216\26\306\306"
+"U\264\261\203:\351\3316/\bh\42I\326\304\302\225\264\354\4\315\245ui\42"
+"\260\224$\331\22\2033\23\237\356ft\351\252\314\373\233$\317gY\7J\331N\343"
+"\377`\333\311\337\206=S2\212Ko0\202\334\311\0x\377\367VS\233\366\261q\32"
+"\203/\347\204\24\366;\17\312\223\334j\271\320\322^#\276!MP>\344\24\330"
+"NO\260b{\306k\200\373\252\224\320\3511\322u\314\262\330s\333\215h_\271"
+"\212\230s\311\210\2700\77\32\233\375#a-\353u\230\373\2F\310\300\274(s\253"
+"\27\330\16\351C\352]\1tq\216)\335+\2p|\266\211\347\7\4X\307T\23\266G\204"
+"ep\247\331\250\237\212\301\262_\277\210|\227\200r\3170a\273\313\'\5\337"
+"\213\332\215\325*\202\366\230\260\245\367\312\261\354.\322\300\326I\240"
+"{L\350\276T7\360Ov\5\65sD\204\f$\350\331\252u\7\302\223\n\254IB4\351\331"
+"\nFH\322+\201\373S$\330M\362\377\255\324\2629N\221\244\277\302o\341\215"
+":y\376\271Z\272-$\311\267\320.\241\317;\4X\226G\322\377\251e+\13\220d\253"
+"\3\273\345\321\237\20pke\365\267:\266\314\363$\351\312\7\236\222\361G\4"
+"\340\351X\316E[\13I\262\n\300B\31\37\60n\335|\305\365\325\32\272\232Hx"
+"OU\f\214\247\317s\212\266Le+\34#\311\236\340\361\374\227lp\334\200\334"
+"\257\320\251\271xB;I\372n\17\276\265\311\6\276H\26\2609\25\272)\n\335\16"
+"\222\344\353W\337\276V,\226\204\221y\212\356\212\302\2668@\222\307\22\314"
+"\34248\220\35\0nV\214\207\344\17\323\33m\0\206\226\373\257\276_RLn\r\323"
+"\345+\272a9F\32\246\3\300\352\236\320\7\227b2;Lw\243\242\33\223\336\327"
+"<\0\0\315\2213\360r\24\272\353\24\35\305\327[\336\6\200\2565\221/\343\252"
+"\347\247\206\350T7\212\203\247|\226\f\340\3122\303\n\275j\\F\241\223\316"
+"\221\42\0x\265-:jr\210\316\242D[\262\32\0\16o\26\22\274&\347\207>\273\243"
+"\26\364\331\r6\0\316\307\3\362T$\31\t\321\215)*\303\362m\315Y\0\260\262"
+"\337\252Xr\205\350\234j-\33y|\341^\0\330\275O\4\244*&>g\210\356\242\366"
+"\267\6\245x\23\0\374\276V\343FQz\31\242\353\321:\35\0\60q\217\3\200\247"
+"R\376\37i\212Ig\330C\235\212.5\224J\266\25\0\300\206v\31\220\241\230D "
+"\31j\42\236\31\324<\34L\34j$\35V,\36\215(\317)\312\222`i0@\222\27\246\253"
+"n<\253X\30*\244fEY\16\0\366\37H2\260X\23\25\243\262\301\257\206\350\376"
+"N\201\347\1\300\272E\0\260\353\240\312\226=Q\376b\4\245_\221\7\253\3P\342"
+"!\3113\272b\277TY\316\2\201[\326\36\5R\317\232_\bW\312\370N\301[\313e\265"
+"\313\216`\25\277J\273\241v\311\370\r\202:Y\311\233\5\25$\311}\372\375y"
+"DB\217e\212\3727e\2727\6I\262/C\337\3pI\350\17\345jfD.:H\322\277H\77\271"
+"\333\344<\232\'#juE\352&\223\263H.\270>PO\270\213\232K\265\303\204N*B\206"
+"\325\334\245:\227.\263\373Q\252[\4>\253\3\35\260\256\307\257J\205\210;"
+"\246-\362\263\245\345\266\230\36\343-\2\356\262\311\42\312\304\352\275"
+"\335,\301\315\24\267\344cf\243J\27\237\n\23\330\306\230\274\17\340}\261"
+"\3772I\13\312\26Bto\224$mk\264\b\'\0\66\301e\3378\242w\320\4>]CH\210\367"
+"O\222\242\347^\273pj\373\24\276\204\315F\375\16\253\216Q\215|\323K\27\324"
+"s\1774\350F\253\254\n\203B%\7\f\326\206\303\312~G\2631D~)\264jV:N\24\3"
+"`\335r\241f\350<u\3169\226\226YXb\334\232#\265\333\275V\223{\207$\271\5"
+"\327\327{\2437\310\274\3153\254\373lw\7H\362\244\3@\356{C\346d\303[rbh"
+"\1f\364\223\244kn\360mR\325\201q\35\327\350\347\345)1u\'\277\42I\2560\34"
+"D\17\326\36\3523.\261\263e}ir\214}\343\352:\0\330+\337\332Ss\262\262\354"
+"\323\334\343\303\356\236~\177\354=\340\271#$\331\235vM\215\344\304\360"
+"\323\212\343\0\360\332P\274\323\37\227\270\304%.q\21\345\37\216\30\234"
+"2\244\236\234T\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs"
+"\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3%(\241\251\1"
+"l\0\0\3+IDATx\234\355\331KHTQ\34\6\360\3172\313\307\370\230\34\313W-TH"
+"#H\20\13KZ\364\330TT\6\255\n*j\21m\332\265\210\22\4)\314\242U\4-\332\251"
+"\4=\210\242D\212\36d\202D\13\63\t\'R\'\37ME\343c\3564:\343iq\346q\356\271"
+"\367\234\319\267\f\272\337\346\16\347\376\317o\216s\37\207s\4\376n\362"
+"\362\255\263\34\315\36B\2747+\254\321\\\3\204\20BH\340\214%\334\35\22M"
+"\243\5\232+\34\343\346\17\250s5$\36\337:e\256\230\341\310`\216\262\367"
+"\234\365:\227\252r\353}\254wUyx\265\36\326;\252\354\345^\217_]\22\334\254"
+"\354\241\372u\334\33/Q\367R\216\214\305\274\336\fu\17\216\326\331\250\327"
+"\226b\201\207\252\256\250w\326\n\16h\30\246\\h\2175^z\223F\237\266*k<\224"
+"\335\247O[\236\244fA\77\355\256j\0\350y\2414\252\305\rI\42\354\333\351"
+"\224\244l\211\265C\373\2578z\337ed\346\227m9a\234\357\275\267\272\335\337"
+"\375~\256\325\261\252\274n\377\6}[\340\321\263\276\241\251)\246e\365\b"
+"\177\241\334.\3618\266\177d\nC\255&\217J3\317\235\227\375]\271=\261\272"
+"\271\206h#\373\333}\341{L\3108\337\276\37\321\217\27\356\232q\323|\17\376"
+"G\323\347\353\345\310\207\361+\2616\226\233\227\3666\246=r\354\2305\345"
+"\26\232\221\21z|\25oR\272\357\6t\7en\224\36\206-\342\350\245\325\2\26q"
+"\223\0\0\366QP\342\302\0\200Y\246E\211\243\343boW%\216\0\320\337\256\377"
+"\366\373\316\346l\316\346l\316\346l\356\217r\306\5\235\22\227\r\300\302"
+"i\233&\351i;-\1DG\247\t\270\0\270\244\'\340\34R.h^.\316J\0\200O\300M\201"
+"\2133\1GW1\77\5\234a!P\230\200+\3\240_}\260\234\227/_#\3272\350y\217\200"
+"\373\26\342\352\23\354q\324\320\35=\267\200\13\361\253\250\202\42)\267"
+"\33\0\20\376 \340\320\317w\330&\323\322\16\323N\354RK\307\275\345{Hw\210"
+"\216\323\261w\t\13\352\371\25\250\77W\2549\275\264f\253\260\42u\202\367"
+"\304\333\317)\367hE\277d\237\350\22\317i\225\242\322\213\221\212cb\r\205"
+"~\336\373\274\326|l-\221\363}\251\22\16\347x\216\214\327\233\224\25\77"
+"\211n\2\324\3114\244u\33\274\360\r\376\356s6NGO6I5\240\304c\360H\260\375"
+"`|#\242\340P\233\26;\363\220\337\3516\\\227\312\316R\223o!\356O\243\232"
+"\226\225ST\301\236}\263C3\251\325\247\264\3278>\363<M\364>\4\0,o\231K\6"
+"\233\277&\275\250L\252\37\'\326\6w&\211\1@m\307/)6|:\321\264\304\305y\362"
+"\301\214\300\232\271\275W\364\277\13\331\316\354\262\232M\33+\313u\23\306"
+"\334\320\373w/{\fsTR\34MV\261+;sE:\264\340\244ol\202\177a\333\261c\307"
+"\216\35;\213\233\337\262\317\372B\316\205\343F\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2"
+"bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0"
+"\7tIME\7\322\5\6\3%;%\27@\262\0\0\3\67IDATx\234\355\330\333KTA\34\7\360"
+"\257\271\231\256\327\266\325\362\332\203\372` $H\206%>d\20t1\22z\212\240"
+"\310\7\351O\350\42\4Q\230E\20Do\321KZ\17E7*\312\202\2\23\42\13L%\334\360"
+"\226w#]\335\263\256\356\356\3640{\2313\347\2349\233\263Q\324\371\276\34"
+"\231\363\233\217\343\236\3313\316$b\225\2619\223\275\253\355\253I\371\203"
+"%B&\2568\342\2435x\t!\204\220\301\242xh\7\374$\224\327q\320\252<$\222R"
+"i\255`*\252\221=\262\232\275\233\321H\271\244\226p\207\325\372\23$\271"
+"\323\254\346\333)\251\325\7\31m\266NR+wG\261\340\255\34I\3159\20\325\272"
+"\253%1\330:\42\330L\323\32Y\r\327\302X\340\272S\32CcX\353\254\220\307P"
+"\343\243\330\370Q\331\311\6\0E\323\204\20B\226[3\342\200\301\376\211\20"
+"B\310\313-\302\252\230\307\275\275\26\0\372\36I\216\352\37\13\211!\231"
+"L}\223\240L\376\253\242\312\177\305\321ilOu\26\3578\241}KL\337\354t\315"
+"z<\\k\372\306\222\352\203\334\232\343}\362\252g\310\355fZ6\215\360\17\312"
+"\225m<\216]_\230B\177\353zm\305y\236;#\372\273\262\272\42u+\207\302\215"
+"\354g\367\215\3571)\342\346\352\277\207\177<{O\217[\340{\360\37\232:S\227"
+"B\77L\\\216\264\261\\P\330[\233\266\320\265}Y\227\373\325\214\214\320\353"
+"\333h\223\324\274\353W]\244\2711z\31\216\23G\37\255\302\374\217,\305\315"
+"\3\0\330\257\202\24\27\0\0,3-R\34\35\27;]\2458\2@=]\377\356\367\235\305"
+"Y\234\305Y\234\305Y\334o\345\264\373C)\216\356l\343\266l\323\304\274l\'"
+"\231@tt\212\1\2479|L1\341\322\205\234O\277\3348\33\0\0s\6\234\33\\\314"
+"\2166\351.\346\207\1\247\331\b\344\232p\305\0\324\273\17\226\233\346\313"
+"M\16J\355\364\376\250\1\67\343\347\352\305\207\34\250L\4\0\270\f8\77\277"
+"\213\312\311\23r{\1\0\201>\3\16\275|\207Z\221\226t\204vb\267Z*\356\3\337"
+"c\237\210;N\307\376\302\260\240\206\337\201z\262\2145\7=\223\42\306\307"
+"\237\266I\336k6\254M\270O+z\5\307N\27yN)3*\275\20\2528f\254!\327\303{\203"
+"\233\365\307\326\22\272\337c\23p8\305sd\242F\247,\377Y\370\20@|\236\232"
+"\324\251\361\2\67\370\331\347h^\b\337<\'\324\200\202Q\215G|m\r\321\203"
+"\210\234\303\267\225\310\235\307\211\\w\315s){^\250\363[\210\353\353\230"
+"\242\244e\346\225\262w\337\325):\265\352\24\276\327\216O\77\35f\357C\0"
+"\300\272\226\225X\260\340U\341CeR\361\324\\\33\330\35#\6\0\333\332\227"
+"\204\330\360I\263e\211\213\243\361\341\242\201\265xw\77\377D\303\21\35"
+"\364\256\255\254\332ZV\242Z0V\206>\177|\323\245Y\243b\342h\322\362\263"
+"3R\223S\240\370\346\347\306\'\371\27\266\25+V\254X\261\362g\363\23\232"
+"b\373H\fm|\261\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs"
+"\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3&.c\347\367"
+"\232\0\0\3bIDATx\234\355\231[H\24Q\30\307\377\346%\357\253\233\232\227"
+"4D}0\b\nD\301\224\202\22\202.FE\5\365b\324C\324\213\320KH\tA\27\254\300"
+"\267\244\27\241\207\24\243\202\356b\365PaBD\17j\327\255t\325\326K\326\252"
+"\273\343m\365\364pf\306\23133g/\263Q\320\374_f\366;\377\357\267\337\354"
+"9s\16\347,\3607T\265H$\2357O\2639e\32\361\225\231\3065\23\205>\304\231"
+"\244\355$*5\232\243\245\271\324\270\305M\246pm\204\321\327$\23\264\375"
+",\215\220k\241\3232\307e\312\202\374\270[C\306\335\223\31\247J\207\245"
+"\373\301\324\20i5\22A\330\13\344\367H\237\256\207F\313s\213\371\256R\0"
+"H}\42\361v\207B\213\350\20\263{\362i Z\32\321#\31!\340N\210\311\35569T"
+"\'\276\276\267\202\247\25zh\352\325(E\360\300\f\r\36\f\226\26\371\222\20"
+"B\210\257V\35\256\30#\204\20\3623;H\334IB\b!\236j6^\364\211\20B\310\303"
+"\bM\2066\262\244\350\272X\0\270\371F\323b\257\215\6\200\246\276 \353\263"
+"\304\227v\376\321\312\246\360\37\343\330\226\205\267\264\377\nG\337\212"
+"\370\204\264\202\rG\3224\255\243\315\235\216\37^/\23MZYX\276k\255:6\375"
+"\340Yw\337\344\244\42\222\351d;\312\221n\\\307\346\217\n\243\357\262\316"
+"d\177\216\305\235\346=WJ\227\354\233\227\247f\345o7\310f\f\363p\356\352"
+"q\351\366\314m=\334\24\233\301\376hj\215\\\22o\\W\344\230\22\267\310\315"
+"\326\252E\274\266\316\351\342\202\225\323I\257/\226B\246\306\335{\325\305"
+"4n\210^\372\303\204\243]+L\207\t7\1\0P\276\n\246p\13\0\2009E\304\24\216"
+"\326\245\34\256\246p\4\200z\270\376\333\363\235\205\263p\26\316\302Y8\13"
+"\367Gq\332\355\246)\\2\2000.\333T\1/\3331~@\264:\301\0\67\rF\376\16\352"
+"\222\270\270Y}\273\261V\0\0\334\6\270I0\262\373\301\321]\314/\3\234f#\220"
+"\345\7W\0@\275\373P\342FY{\36\237\26O\333\7\fpc>\306\277\206\217+\211\4"
+"\08\fp>v\27\225\301\77\307\331\6\0Xxg\200C/\233\260\221G\2139D\223\224"
+"[-\25Ns\234\263\235\207;Lk\35704T\262;Po\2121\315>J=\25\206\216\250a\226"
+"Wo\350\215\270C\35\275\234S\254\213,N(6\262^\20\35\65\3064dyY\336\267\325"
+"\372\2655\210\355\335Q\272\355\242\352X\34qU\352\330r\36K\207\0\345<\32"
+"b:5\274\205&v\364\331\353\247\244\306\263\\\32\260j@\303#\263-{\226\16"
+"\42\62\366\335\20\344\226\373\221L\272\246_\212\333su\276\2058\276\f\t"
+"B\242-\273H\331\372j\213\240\343U+\367\265\266>}=\r\350\217\201\345\r\363"
+"\201\300\26\33\271\235\252\320\372G\376i\237\253\2\204\1@i\353\f\27\326"
+"\177\334\337\262\304\310~\364\256\307\200\345i\333\301\366\250$\356\271"
+"qI\331\272\342B\325\2021\337\327\363\366y\227f\215\n\bG\225\230\223\236"
+"\234\20\33\7av\302\375}\230\235\260-Y\262d\311\222\245\277\253\337\247"
+"!K\236\257&e\37\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs"
+"\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3\'\34\262+\227"
+"[\0\0\3`IDATx\234\355\231KL\324@\30\307\277EDY\336+\17\1\321D\340\0b|\4"
+"PA\302A9\251\321\250!\304x\21\37\211\361\344\331(\321\304hP#Go\336\200"
+"xPQ\f\30\203\7\214HB\b&\bhX\303K\344!\306ea\313\302\262;\36f\333\235N;"
+"\323\226\305G\302\374/\263\375\317\367\375:\333i;\231\257\0kH\353\214\2"
+"R\212rm\277(/\255(\33\271Vr\266]\255~\204P\337i\322+n\13 \204z\216X\247"
+"Uy\21\326C\233\342\235\367\5\275[Vi\7\344L\204\256\312^E@\361\252-\342"
+"\272\224L\344\336\204-\333@\310\233\211\261D\333\201\b]\302^\t\351UiR\42"
+"8\270\275:\7z\236I\\4y`\327\361T\7\206\270!\362`\230\355\231T\364,q\235"
+"J\261\227\344%\274\2K8\270\31\312l\227\275\272\220\367\322\32\r\242:\344"
+"\314\251\355\262g\377({c\31\26q\20[\2173\273sC^\322s\354\275\337\246\223"
+"`\323\361H\355\77S\209\330\324\34 \275\362\312\374\210\317M-\310\352\340"
+"\204\376\262\220\t%\20\361\2279a\274gv\5ZS8\374\220\331c\222\263K/$kz\247"
+"\37w8g<\36\312\215K\313)9\261S\355-\274z\333;\354v\23\316\346Qz\242\234"
+")\354q\34\372B\4.\337O\322F\334\246q\327y\377+\261S\211\363\235\224M\362"
+"\332}\2433&y8\327\361\237\362\317\33O\365pst\6}\321\324\232\272\27\374"
+"1\361@\361H\234\352\245fB\r\301\266qI\27gU\243\243\270}\27\262\302\272"
+"\357\6TM\330\270q\334\214\254\22\16O\255\264\260J\270Y\0\0 \37\205\260"
+"p~\0\0X\42\234\260px\\\344\355\32\26\16\257\264\344\355\372\177\277\357"
+"\4N\340\4N\340\4N\340\376(N\273{\r\13\27\17\0\253\270lc\231^\266\243\f"
+"@xt\22\3\267\0\224\264e\27\265\342\270\270E\375p\266p\231\213,\f\22287"
+"Pr\30\340\360.\206\254=r7\2\351\6\270l\0P\357>H\3344\35\276\225O\263\343"
+"\3761\6\356\3072\25\237\317\307\25\342:\254\223\201[\246wQ\251\374\262"
+"\20.\246\372\373\318\350\243\23\312y\264\250\2638\211\334j\251p\335t\306"
+"Q\36\256\32\217\375\r3\240\214\336\201z\22\3314\3074\2169\310\214\210\234"
+"\244y5\314X\3333\34\321\307)\212\335\245qR\36+\364N0\342\34\233\6\351\36"
+"\2327\244W\245\3\260\325\6\373{#98\270F\343\320D\231NXf\253\\\4(\341\321"
+"\210\362\244\42\377#\372\356s\324\314\311\235Fu\367-c\32\36Zl8\25*D\244"
+"V\326KJO3\375}B3/y\257\263t\316\202\234_\307%)6!#\227\354\375pX\322\211"
+"U+\253K;>}\265\31\275\17\1\0`C\255\317\30\205P\240\216;\251\204\366\264"
+"\30\323\6+L\302\0\0\212\33\275\\\330\310\25\243e\211\222\343\342\213y\6"
+"k\376\3111\326\27\'^\31z}\341\276\335y9\252\5\3037\374\251\247\275S\263"
+"F\231\302a\305f\246\304\307l\214\6iq\326\365}\222~a\13\t\t\t\t\t\375[\375"
+"\6\321\230\n\343s\272\270A\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0F\0\0\0p\b\0\0\0\0\206fY\350\0\0\0\2bKGD\0\0\252\215#2\0\0"
+"\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3&\26"
+"K\345O\4\0\0\3\26IDATx\234\355\327]HSa\30\7\360\347l\313\331\226\303r\331"
+"\227\254\17\262@2\n\312\42\354\313B\213\240.\372\270\b\222 *\354\302\233"
+"\274\b\24\372\42\352\42\2721F\4]\24\30(\201EP]\244\201}]\4\42J\16\313>"
+"\244\260\374\242,\347t\332\236.\336\263\355\234\363\274\357\266\363\16"
+"!\343\374\257\316\236\347\331o\257\307s\336\235\331\301t\34\336\314\220"
+"\371w\31R\370`\f\361\333\2659\351)\373C\210\210\210\237|\351({\'Q\315\263"
+"4\224\rA\214%_Z\311\353\213+\270KVq\265j\24,\224T\224z\255\22P$\231\32"
+"\2552^,\251\354\213h\224\301\235\222J\341\2578\22\271\235+\251x\337\307"
+"\225\326M\222\b8\232b\310@\205MV\201\332(\362\307\357\225F\340xTy\265V"
+"\36\201\315\343\f\351-\227\275X\0\0|\375\210\210\30\276\352I\3\1W\33\42"
+"\42>-H0\223\302*7n\5\0\350|\230\316R\246g.c\222\364D\'\375\342\231\347"
+"\362\27\266.\377%\243\300l\327\262m\25\13x\275\221\353O\272G\2065\5\247"
+"gy\361\21\343V>|\277\251\3753;\314z\314;\377\207x\266\255rR;3p\312\255"
+"i\272\336p\230\42\376\37\240\335\332\33\262\365\275\374\20e.\362\231Y\341"
+"\330D5\271%\253)3\314=c\0_\243\3gh/\243\223:u\\\305\251nbx\203\327\335"
+"\22!Ld;o\260D\355\276\316\340~\312-\272\234\2673\304s\243\202G\212\234"
+"~\352T\321\261\334Q\326:\315W\0\312)\363{\21\231Ro\364\200C\304(\315\324"
+"\2517\16\25L\260F\251H\1X9F\235\35\206\231G\254\334(V\0\316Q&\240\377\177"
+"\224\261jhi\42\306\331E\35\3355f\357`\305\13\211\24\200\22z\361\214h\37"
+"]O\260\332\27Wb\6\356\320\345\334\213w=\337Y\351p\22\5\346\16R\247,\326"
+"\275\304\n-\311\277$\217Q\346\235S\355\371\33060\271&\251\2J\13u\252\325"
+"^\35{\351O\256\0\24\214\23&\270\4\0\0\212\330\371\37\312I\205\211\236\0"
+"m\32\1\0\224\27\354EeJ\ndvSg\17\0\34`\207\35\302\233\311\220R\312tg\202"
+"\363\3;\344\356A\334\334\245\316Y\250b\7\r)+0\357\7aB\353Y-h\346\347\330"
+"I\272\34\365\227\324y\23\n\330^R\7\21\21{\222\335L\372\254\16\363\231\203"
+"\246\24\200+\\\245\331\244\2\256\217\34eb\225Y\6vs\230Z\323\n@=Q\6S\273"
+"\231\364Y\370\323\310\324\210\207\305O[\275d\277\35\222a\240K\3342\303"
+"\230\211\305X\214\305X\314\277\310$\230M\320r\33\13YR\314|c!O<+\216\247"
+"\315\370\5\323\267X8l\347\25gf\373\326\225\337\\a,\273\217z\3356E\t\247"
+"\262\210:\376\243\204>\355\306wM\337\353f\352\31+V\254X\261beJ\362\27 "
+"`{\260-d\35/\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0"
+"\0\0p\b\0\0\0\0j\23<\376\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3#IDATx"
+"\332\355\230ML\23A\24\307\207\266\312G\200\362)R\211@EB\f\24\374H\210X"
+"1j\203\361B8\32\22O\352\1M0r 1\232\230\350A\23\77\17F\17\312\305\204\223"
+"\2\361`\202\201\240A\301\3\212 r\0i\375\252\5\33+E\4l\13]\17P\346\275\331"
+"\17\367y2f\377\247\371\2777\277\314\354\356\233\235\331e\314\220!C\206"
+"\376=\305\251%2l\271i\226\224\360\334|\300\347\215\352FM\225\256\352\262"
+"\34\356C\343/\373\36{u\314#\353\374GIA\375\307\22\376\0\2569\373CR\221"
+"\257\301\244E\332\7$\r\275\310S\277VGg.7\201\7#\376\264\222:;\310O\271"
+"FU\306\314\363\201!:\254\313\367\2541\f\202\223\33\225I3\234\355\320\332"
+"X\3700\272[\26E\264\t\366\251\345\361v\30oT\42S\247A\217\200\231\'*!\352"
+"OT@\233a\217v\230\361\300\314\321\325\312\341\35\216\300\336C\320<\201"
+"\246^\216n/\206\35\334\320\fC\343L\222\2415h\366>h\336\243z+\225\241\325"
+"\b\r@3\205R\5\62t\7\312\7\241\231A)\253\210fe\241|\30\232_(\265$\242\233"
+"\361\223ZP_\42\337D4Wc=\305#\367ND\2635\320\24h\276\217\211h\272\6\212"
+"r\235Q\21\65k\240h\205\267\310\252)Y\3\335\4\332\375=\n5\254.\7oF\370\242"
+"\323\203\232v\361\366\351W$t7\257\226\33W\31\tm\2125\242gN)\345/\342\367"
+"\246\225gN\304b\23{\21a\321\32\256\2669\350M\255\312_6\376+7U\252Sa\324"
+"\362E\356{\353\343EBk\324\203\240Lv\232sZ\375\302\215\327@\341\346f\251"
+"\272\366\351n!~m\307\32.\'\212_\n16\3626\364up\334\24{4\226m\r\t\317\227"
+"Hwxk7\17\17\346\223Pfj\343\361\251\nRID\33C\253\355\234\356-\244\362\377"
+"\2\366\202\314\207\351\24\224u\200v\321-\22\332\5\3170\207j(hp\f\272\313"
+"q\4\224\275F+\277\206\202\242QW\366D\235\250\7\257\250D\2\352\303\257\364"
+"=\4\24\357u\254\222\200\6\261-#\240s\330\346\23\320yl\327\21\320\b\266"
+"\311\4T\220D@\23\24.]\'*\34\321\246\th*\266\37\bh\6\266n\2\232\211\355"
+"\0\1\265a\333G@7 7\364\231\200\332\221k\243\254Wtj\r\267P\320Rh\356O\352"
+"\77\374\260\42\370p\302\347\2047\342z-t\37\64\327\335\3021\320\253\276"
+"\3470\326\13\62\243B=;\36Ir\264\254.\266G\203D\260\204S\255]\317F\246e"
+"\237oV\306\2303z\257\2001\306\312\375<>\277\37\f\250\370\311\271\214J\322"
+"\342\323\13\'\357,\360\360\354\1\246\27\25\344v\350<K\310\366\331\333\25"
+"o\376\n]j\2578>\253\267\263\311\3252\2712\323PO\263M\367\37\202\25\25\26"
+"g\'\315\374\234\360D\214\237)\206\f\31\372\357\365\33\272\326gcH\353>\353"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0"
+"\0\0j\23<\376\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22"
+"\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3\'\6OIn!\0\0\3\230IDATx\234\355"
+"\227]HTA\24\307g\327\\\335\315M\27\225,\303o\323L+K\253\25\223B24E\352"
+"!\352aI\24\212zI\264,J\354\203z(B\310\207(\202B\262HJ\310\207\260\22$\263"
+"4\21\302\3046p\241\260\3255\314\374Hs]\77\366\364\260w\2359\367\356\335"
+"\353\225\236\342\376_\366\316\371\317o\316\314\334\331\231\271\204(R\244"
+"\350_\311\20\262<N\177\315\n0|/^>\31\372\5\0\0\300^*\33m\0\267.\312M\272"
+"\260\210:\17\310C\323\200j<Q\26\32\316\240`\t\224\305\276a\331W>r\320\215"
+"\343,[-+\355v+\313\26\311b\203n\323Y\6\307NY,I}O\331\241u\362X\225\311"
+"\266\310v\351\344\261D\177s\326\315>V\311dIR\263\233=+\27%\344`\277\13"
+"\235\317\227\317j\257L\273Vd\222|\226\304>w\255H\203\320\222\236\201\234"
+"TB\b\371\320\272\214\274\212\24-U\42\13Q\25\34\34\340\257\235\261\317\214"
+"\214,,\35\r\316\334\261)>\322\317]tZ\373>w\266\rJw\42\354t\7\263\245Q}"
+"\254\\\353\35L|4\353\211\3\0\200\271\332(qPW=\'\n\2\0\330O\341\321\321"
+"Rtc\n\r;\315\346\221\311\300\310\264PT\371I\221\303S\3168f\317\267\225"
+"r\27\2u\241\5%n\364t\4i{h\5\63\223\313\320\213\330\n\17h\25\343\227\263"
+"\3066\'\213N\257\21&\35e\374\16\rk\275Ei/\t\320\375\310\277\312Z\347\221"
+"\325\343\265\277\0\323\253\31+\37\277\42z\316\253]\77\370\212\245-`\n\274"
+"5\230\314G\377`\77\206y\36\303\26\235\'\16\355\306\376\4\363\354\304\26"
+"}q\34\372\2\267\375\222\210\212\36\266\34:U\311\332\365\237\304Q_a\350"
+"\26\235\304\326U\254\21\201g\370\234\207\346L\3.o\354\2nX\24]\261\370\364"
+"\260>;3\34l\235\315v\206\13KN\313\26\353:E\311lS\23r6g\30\215Qb\34F\31"
+"\351\214YY\351+\275`\42hrAN\206F\30\226D\23M\207\342\226\200\tP\277\303"
+"\307\215\330\236\354l\377\366@\32\325\234\254@\177d{\313\353\326\336\5"
+"\22!\235\177\37\336\206\272\213\365\256\270\344\222\360\255A\33\311\360"
+"\221\305\255RjI\350\236\345\262\r\365\344\332\244\273\351BUu\210\264\355"
+"\35\226&\271\177\316\t\374YR\306\222Z\257|\340(\32\316\200\23253\304\306"
+"\252&\204\20\23\276\1\66\243\215!\332k\207\13q\254\17\225\266zE\323ql\34"
+"\225\366`\223\236:jB\210\236\367\r\25\314\26\22R\261\251Gh\20\257\'\tl"
+"\201\377)\212\217M=\236C\370\341O\275-\374s\276\35\2674\306\263\313h\16"
+"\13\317\202\271XBB\256\267\35\343*4\361\354\231<\316\330`\346\223\0\326"
+"\33\65\77\1F\271\32%|{\376\276QC\264\273\3568\0\0\300.\344a\200CuV\17\346"
+"o\367\303\304\356\26\241[\353\36R\241Sh\272\3655\205d\n\354Yz\340U\210"
+"\222O\r\204\220j~\364\f3\311\305S\36A\213k\215\3724\240\250\263\n\275\240"
+"\230:\341\205\253\353\250\373\f\361\271\354\240\341\376<\302SxY\363$\365"
+"\7\33\313\327\263n\334\335_\0\0\260\360\256\204\273z\342\273\233:\42\62"
+"\64@3\7791\364}\202\360\245N\214\17\232\37\354\36\27\30\212\24)R\364\177"
+"\350/\341\361\r6\241\224\3358\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0\0\252\215#2\0\0"
+"\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3\'2"
+"n\375\232\224\0\0\3\234IDATx\234\355\227[H\24Q\30\307\77W]\335MSS\3132"
+"\274\245i\241]\25[Q+\354\246e\22A\324\203\25J\205\275$Z\22%R\320K\21B\6"
+"Q/\205d\220T\17\22ad\31f(\22\210\211m\240\220\224\272\226\232\227\274\254"
+"\256\356~=\354\354\316\371fvv==E\355\377i\316\367\77\277s\235\371\316\31"
+"\0\267\334r\353\77\220\347b+z\205\370\32\377\250\207\244\272Y\304\301\312"
+"e\374\344a#\42\42bo\4/yp\1\5\275\345$S\247\321\2568.r\365\17\221\304}<"
+"\244\266\235!1\211\203\364\250e\311\317\36\34h9K\316\245s\220y\26\206\34"
+"\331\305A&\375\22AK\365r\16\62\244G$\333\3238@\360zc\7\207\213T<$\334\266"
+"\201\346;!\\ \234\262\221-\233\371@\310\230\263\202\206\343<\233\t\0\20"
+"\61\204\210\210\246\233K9A\320v \42\342\353\365\2125\24\307\262m;\0\200"
+"\3769o\227n\375\25R\330W\217\340`\77_\315\254qvd\304\274x48=uC\\\244\217"
+"\255h\351\353\376\324\326<\340z\20a\347[\315\350@\355\345\253\234\203\t"
+"\217L\2168DD\234\257\216R\6\265\225\363\212 \42\242\361\34\235\235X\212"
+"\256c\322\263E\257\37\231\f\210L\16%\225\37\237\234s\324gl\237\330\276"
+"\241X\310\'\252\274\36\322q\235\243\343X\323)V\3203}\5u\21\266\314\1Z\301"
+"\370\245\254\261\225\315\3418\263R\336\351(\343\267\252Y\353\35\351\366"
+"\212\f\335O\374k\254u\211X\235N\307\2138\263\202\261\16\320-\n\260\33B"
+"N\247\31Z\223\313\24$\357`\242\24\235\246~\f\363<F-q\235\4\264\203\372"
+"\23\314\263\205Z\342\306\t\350\13\332\366KP\224V\212N\225\263v\355Ge\324"
+"[\36\272%.b\239*\42\350\n_t\320\\~\277\325\33\273L\33VD\275\354O\17k\263"
+"\322\303\321\320\326\300\336\42\303\22\223\263\224\206.\242`\252\257\'"
+"\316\3064\235.J\211\243(#\255.33e\211\23L\1M\314\335\223\246\226\207]\242"
+"\t\371Gb\27\201\311P\237\243gt\324\236lk\351}\340\32U\237-#\37\262\261"
+"\361US\227\31\26q{\336K\323PG\201\2775\356\362\225\360\256\42\211d\350"
+"\230=U\272z%\264O\263\331\206:\263\r\256\207iE=j\bi\330=\344\232\24\276"
+"\234\242C$X\302\222\32\247|\300(\231N\77\271I\246)\315U\5\0\220\37DZj "
+"\211!\332\351\200\363h\254\233\224\2668EShl\234\224vRS<uT\0\340\37@\335"
+"`\266\20/\271\320\372\23\64P2\222x\266P,1\351\261\351O\327\20\277\373\212"
+"\336&\3519\337B[\32\223\330%b\37=\22\13\347\327\0\204\\o>-T\250\227\330"
+"\2639\202\261N/%\21\373nT\r#\216\n5\n\245\366\302}\235\32\64\31w\255Wx"
+"\243\234\307~\1\325\36690\355\77G\23;\32\345n\265mJ\344\367K\242/I\220"
+".\263M\342\201W\246H>\t\2\200Ji\364\2\263\310\5S\16\301\36\353;\352\371"
+"\214D-\25d\203bj\344\27\256\17\'lg\210\347\32591\3745\7$\n/i\230\24\375"
+"\201\272\322\265\254\33{\357\'\42\42\232\337\27\nWOzwSED\206\372\251\27"
+"&\'\6\277M\200T\252\204\270\300\205\201\216q\231\341\226[n\271\365o\350"
+"7\215\206\16<\24\350\177\367\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0\0\252\215#2\0\0"
+"\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3(\b"
+"/i_\351\0\0\3\310IDATx\234\355\227[H\24Q\30\307\77w\333M\267l5\255\254"
+"@\2634\r\264\373\205\25\213\42\354nRD\31!]\204\242\bR+\251\214(\210\240"
+"\36\242z\351\362PT\6\225\365 QV\206`E\42Q\230\230\204\202]\274f\346\245"
+"\335\\/\353~=\314\314\316\371\316\354\314\254\320K1\377\227=\347\373\177"
+"\277s\316\2349s\316Y\0C\206\f\31\372g\224\346EIg\206G\332\277\371H\364"
+",\32\26z\3\31}\n\31\6\271\36\211.\4NF\266R\324\2734`\364>rj\b\r\220\334"
+"\302\223\210\327\2#\243~\372\210!\337\220W\5\204>\362\345\37]\330&\225"
+"\233\302\3 wJ\331\275\233\0bk\244\332-}2\272[\314m]\b\0\20\376Bb7\352\221"
+"A\245bfM\254\20\260H\253\343\373x\35t\277\230\370\314\356\13\25\210\313"
+"\371\2416\31\347\22\322.\217`\202\231}Bp\233\26i~\215\210\210\236\\\32"
+"N\375\201\210\210\235\2234\320C\210\210\350\312\340\343\361u\210\210\370"
+"$\210D\331\232\245 \30\0\240\350\235\242\315\261\271\26\0\200+_\264\306"
+"l\350o+H%\34\21\61:8\244\317\335\327\3211\248\32\221\272hf|\314H\251\352"
+"m\254\373X\371\252Y\177\20Q\207*|[\3\253\367\307\265V!\0$\336\31\360\307"
+"!\42\342\340\315)\352\240\355\374\240*\210\210\350>\240\266\206c\213\223"
+"\345\260\267\266\266\303i\217\231\77\216$\337\335\321\357\257\317\270F"
+"\271\375\226\234H!h\312\250\'\35\27\233\375\220!\325rB-\323Wx\ra\363\375"
+"\240\'\30\377 k\314\363\262h\357De\247\235\214_ae\255\227\244\333\223\n"
+"t-\361O\263\3261bUk\216\27\261w\2c\255\243\257H\336*M\302O$\35~:S\341\326"
+"`\22\217\376\246\376T\246\334E-y\236D\264\212\372=L\331K-\371\305\211\350"
+"c\332\366SP\225\215G]\307Y\373\336\7u\324\242\f]\224\'\261|\fkD\323\31"
+">\342\247\271\254&\301\353*\240\r\253\242\362\271t\373\336\362\324\311"
+"\330RY\352f\270\250\244\371\313\325\206\316\34i\3%%\304\231\225\342pLQ"
+"\343(\312\310\346X\262d\301(\rL\5MJ_\221bU\206u\321\304\254\315q\1`\nt"
+"d\346\36\7\265\235\225o>\337\320G\255\373\362\311\207\354.{^^3\4\321\372"
+"\375\257\244\333P\325.\361b\250\273$,\227\310F\322\276\325\267U\352-\t"
+"\333\203\325lC\325\253[\364\207)\240A\205\204lIk\327\'\305/g\357\6\22\314"
+"cI\355\353\273\275\223<N\223\2115S\324\236\325\4\0\220E\257\254\245dc\210"
+"\325\34\60w\307\252#\265\271\232\350\2\32\353&\265e\324\224O\35\23\0\204"
+"\332\251\33\301V\22\346PS\376\7a\2\2000n$\tl%\2073\351\261\31J\347\20\333"
+"\202eo6\177\316\277\241-uqv\236\334G=g\341\3404\200\310\263\257v\213\t"
+"%\234\335\267F4f\324\362$b\343\271K\77\20;\305\214l\336\366\\wX!d\361\225"
+"~DDt+yl\22Q[\243\37\363\227T\350YZ\246toJ\217\224\341U\232\222\32\222!"
+"Ua\17\310\7^\276*Y\24\16\0\347\371\350af\222w\271\374\202\365\302\32\65"
+"\77$Q\357\t\362\202\246\26*/\\o\267Kg\210\371T\277\34\376\272\68M\316+"
+"u\312~s\361\301\351\254\33wU\370\2079\364:[\274z\322\273\233):f\334h\253"
+"\307\331\323\372\255\7x\231\22\343\303<\315U\335\n\303\220!C\206\376\17"
+"\375\1\265\256^\203\236\240\'\215\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0\0\252\215#"
+"2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\3(\32\334\320.\241\0\0\3\323IDATx\234\355\227YHTQ\30\307\277\31\233Q\'"
+"\247\321\324V\3224+\13\333\327\21\213\42*lA\n\332\36,I(\352E\321\222\250"
+"\210\202\42\352\241\250\b\352\245\220\26\262\215|\b+\241}A\2120\251!4\332"
+"\306%j\322F\315q\231\231\257\207\271\3439\337\271\367\334\351Y\356\377"
+"\345\336\363\375\317\357l\367\336\357\234\13`\310\220!C\3J&\255`\346\f"
+"{\237\373\315\37!j\37\4\20h\327k\314\\\340BDD\377\243\202X>\36\355A\304"
+"\373z\344\310\307\330/\317\221a\314\330\214\210xR\207L\373\212\274\272"
+"\316\246+\206\245\36\21q\203\234t4\240 \377\355eQ\0`:\203\210\330\223 "
+"G\257\213$\42b\313\305\242\322\247\210\210X!\'Wj\221L\201\351R\322\364"
+"N\37=Gk\363\205\245\17\0\0\332\312=\223\227\'j\264\\\77\253S\332\353UD"
+"\304Oc\0\300\262\366\205\252Oo\226|\246\226vD\f\314UJ\271\265\224\374\273"
+"DN\202\23\21\3616\233\313\272:\216lt\352\220P\204\210\270\222\13\230r\357"
+"\364\204\300\326\243\361\252\352\3742\r\215\7\200\357~\342\307\315OO\b"
+"x>\276\241QC\3X\232\31\21\300\224\230\30\27\23\333\355\353\366x\2\377\217"
+"&\346\314\233:>5:\\\f\272\353\77\324<k\212<\210\21\273^\5\264>\362\267"
+"\373G\351\203\231Wz\245\31\242\257|\254\34\264\235\350\323M/\276\42:;V"
+"J\253\234\302\302A\227\313\323\341H\235\235L*_+\350\321\3523\303\315\332"
+"o.N\n\5\315y4/WFi\220\261\\Fpq}%\274\'l\231\6z\200\363KycV\220G\273F\252"
+";m\345\374WV\336zJ\272=\250Bi\332\77\314[{\211U\247;^\304\256\341\234\265"
+"\212>\42G\277a\16]\222\350\360Ws\5\341\35dy\\A\377R\77\235\273o\243\26"
+"[\'\5\255\245\276\227\273\17R\213=8\5\275K\333\276\7R\331D\264s\77oW\274"
+"\223\243\26u\350\24[\304\'Cx#\205\256\360\36\215\346\362\33C^\333>\332"
+"\260\24\35\324\177w\251bI\316hl\256\251\366q\334\210\254\331\322\275\221"
+"\241\320[UE\234i\331N\347X\31GQN6\347\302\205s\6\353`\22\64k\365\262l\253"
+":\34\21\315\314_\237\361\37\230\n\215\336\270]\330\366;j^~\271\30\31\265"
+"\356,#\37\262\357\341\203\'\357\3\220\22\271\377\3454\r\325n\265\207\342"
+"\21_\t\313i\222H~n\352O\225\221^\t\333\315\\\276\241\272\334\346\310\303"
+"\f\241\246\313\204l^\37232\251|9;\326\220`\tO\222S\274J\216V2\235F3of\313"
+"\346j\6\0\310\247\207\353j\222\30\322t\7\234Gc\365\2444S\27\235Cc\364\7"
+"g15\331\256c\6\0\273\203\272\344\30=q\6\65\355\4\25\17\235\23\371B\261"
+"`\322m\323N\327\20\177\3040o\272\270\317\277\244-\265\tv\t\353C\365\337"
+"\3237\16 \351\330\263mJ\205*\301\356^\241\30\223\\\42\211\350>~\372\27"
+"b\253R\243P\264\375\27\234V\210]p.t\6\367\251ylTP\233[\303l\17\337x\27"
+"=T\273\345\341)\345\5\325fX\237\247@\216\312\356e\33^\231\224\274\221\0"
+"\0\'\304\350nn\221\267vj\202\r\241w4\352\26\211\6\17\220\7\224~Y}\340z"
+"\275%\274\207D\35\352a\341o+@\320\350\222\352\16\3467U\226N\340\335\214"
+"\363\277\21\21\61\360\274P9z\322\263\2339%59\316\352\357\360\266|\367\202"
+"(s\346\370x\177S\255\370\367o\310\220!C\3E\377\0K\20a[5\3\16P\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<"
+"\376\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335"
+"~\374\0\0\0\7tIME\7\322\5\6\3(+\215\16.\233\0\0\3\306IDATx\234\355\227"
+"[H\24Q\34\306\317\256\265\271\233\246\313*]\4-/ee\331\305\255\326\354F"
+"Xd\205\4\21\26H\241P\324Ke%Q\22\25\275\324\203]\236\352\245\210.\24\25"
+"\264T(I\201Z\212DeR\26.t[\2652\323\2665wu\335\371\36703{\316\377\314\314"
+"N\257\305|Os\276\357\374\31693s\346\2343\204\30\62d\310\320\177\245\30"
+"\336Hvf\231\3729o\2743\3~\352\265\224[\33\6\2007\33Yo\301#\1\0^\256\215"
+"N\226\4A\324iS\304+\17I\336\361h\244K\256\5\260W\366\n\205\210W\26\5}\26"
+"\251\5\277\34\242ezK\275\336\261\232\344L`\264]\364\362Y\257\4U73\327\363"
+"\210\262\240\346\251\240V6\260\251x\250\200\320\17l\360Q\333S\221\325\307"
+"\334\327b\321\263\7\31/G\23%\307h\255\6\331;C\275{\332$\2614\311\265\276"
+"\245\313\236\255U\366\274\223\242\240$\356\272X\353y\26\365\354wE\357i"
+"\32W\331\304\225\27m\311\31\345q\337\27Xo\331\246\31\346w\356\32\210\326"
+"\251\241\377F\374\224\220m\207#.\326\32\f\4{{\303\177\217:\n\26\316\316"
+"J\33#\27\5o\307\233\226\306.\375AL\330\337\34\6\25\275\250\212:\367\t\311"
+"\2766\254\306\1\0@\350\362dm\320V\35\322\4\1\0\2\273\361\335\321\322\24"
+"\367,j\13\355\355\275\376\204\264\274dT\371\306\266!\265>3\275\264\375"
+"\356=I\242i.\366\240\216\335\212-\212\20bm\243\25\332\231\276\354\257\21"
+"[\251\202\36a\362}l0_`\321\301\211\312N\373\230\274\331\302F\r\250\333"
+"\243\nt-\312O\260\321!\24\265E\35/\300\340x&Z\207_QB$\220V\377$<\374\365"
+"L\201\233\203t\31\227\320\3378Og\256\271\323\1}N\22\332\212s\37s-\340\210"
+"\2768\t}\200\333\256%\232\262\361\350@\25\33\337|\245\215\216VZg\351C\254"
+"\37\307\6\251\370\t\37Ti\256\264S\314\372\17\343\2065\321Q\221\253+7W\26"
+"\244@wK]\200\341&\344\344\255\324\32:E\311pM\rJr\363]\256\311Z\34F\31\331"
+"\\K\227:\265\217:\232h\316\372U\371\26\245\255\213f\227n\312\374\13L\201"
+"\216)\331\341\302\261\277\245\351\303%}\324\262\253\22}\310\201\307\17"
+"\353_\207I\252~\377\253\3612\324Z\26/\372\272Sb\3649\264\220\364l\216,"
+"\225zS\302v{\r\333P\333\232n\375a\212\250\351*\42\273\13{\364I\351\313"
+"\331\271\1\231\25,\211\317\224\274\22\372\320\355t\262gN|\42f\357\325L"
+"\b!\245v\324R\35Z\30\246D\35p1\366:P\t\237\237y\324\211=\374K\263\2\207"
+"t\3271\23B\342\23p\352`\13\323\346\3420\36\241\211\334H\246\261\205=\\"
+"\210\267\315x\374\f\341k,\315\346\360\373|\23n\251\237\213+h\37\36.\202"
+"P\6!I\'\33\245\177\31R\303\305\301\42)\230\336\316\223\0\336S\347\276\3"
+"\364I5\312\371x\344\242\313B\254K\316\17\1\0@@\311C\247\204\332\274*\341"
+"/\371\302\267\374\2612\275,\337R\261\240\fe\275\237E\n\24\3610\335\360"
+"*5\311[vBH5\357\36`\36r\331\200*\350\21\347h\314\35\344\nG\320\13J\277"
+"\252<p=\333*\357!1\307\206\250\375\251\210pJ\251\250\363\323\274\313\275"
+"o*\233f^\370\1\0\0\341\'\345\322\321\23\237\335\314\251i\311q\226\21\277"
+"\357\313g\37\341e\316\316J\34\351j\325\375\3377d\310\220\241\177T\177\0"
+"\310x\35\310\3379\42\322\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0\0\252\215#2\0\0\0\t"
+"pHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3)\08\251"
+"\346\232\0\0\4\4IDATx\234\355\227[L\24W\30\307\77\26]\334\25\4\4\202\310"
+"M\5\24\23\224V4\262\204\2326D\215V%\32\323\264\17D\203\211\246}\260\6\224"
+"x\13Q\333\207j\242\211h\223\266\17m\214\232h\274DL\32\232b\214\267`\bj"
+"(Q4\20k\25v\275mADX\330e\367\357\303\3160\347\233\313\356l\322\227\232"
+"\375\77\315\367\375\317\357\2343gf\316w\206(\252\250\242\372\277(\306\320"
+")*\315\216u\335k\363G\332\243\245\372!\0\0\316]\266\310\310\354\26\214"
+"\353\361\307\221\220\371\275\20\364v\261yrJ\27\230\334Y\246\321\343\0\200"
+"\341\37\327\257\371\241\37\0p\321,\231\355\5\200GyDD\351m\0\200b\223\350"
+"N\0\30.\b\6\351n\08l\22\275\2\0\307\344\250\36\0\356\230D\377\1\200\225"
+"rT\n\0\3z\355,\332T\22\21\321K9r\23\21M1\211\272\211\2102\344(k<e\2}DD"
+"\264N\216*\211\210\272\364P\35m\5\0oI0(\34\2\200\3&\321\324!\0x^JDT\374"
+"\4\0|y&Q\372\16\0\340\277\274\275\366\202\17\0\360\213Y\222\342\356\362"
+"w\270;\3214J\231\17E\362Y\276y\222h\352%\205l\316\214\204$\242U\327\374"
+"\0\340\277\266\326\260\211\361\336\224V\222\21p\336\355\217p\310\250\376"
+"C\31<\234\230\224\224\370I\266\21\317\210\333mX9\264hJ\371\342\371\5\271"
+"qr\30\350\351z\320z\323\31~\22\323\266\337\366CG\367\366N\17\r\26\236\366"
+"\352q\0\0\337\211\31\306\240\375\210\317\20\4\0\317\267\374\356\224hf\343"
+"<%\35\350\354t\17&\346.Lc\215\317l\34\325\33\63\277G\351\337\265-5\230"
+"\264Tv\263\201\33cuH[\207\322\240S\30+\371>c\353t\320z\301\257\25\215\222"
+"\200\210\16ghH[\237\340\337\266\212\326\r6\354>\r\3729\363\277\27\255\335"
+"\314\352\b9_`8]\260V\361G\244\354\216R\341H\345\323_-\4\252w\260H\215\16"
+"q\177\226p\255\332\235\224u\222\320v\356\213\3654\300-\345\301I\350\357"
+"\274\357\77\310Pv5\372n\257h\237\375\313\30\235\250M\35U\26\361:+\3429"
+"|\205w\352tW%\35\321\372\367\360\216\r\321\t\343W\'\317V\224g\302\325\332"
+"\354\21\270iE\13+\214\246\256\240\344mjbNq\231\3031\303\210\343\250 \273"
+"c\311\222E\223C`\6h\321\352eeVm:,ZX\365\205\331J\314\320\270/\2678\270"
+"=\330\332\362\344\267\360\250\365\233:\366!{\256\376y\375\276\237r\302"
+"\217\277\234oC\355\325\t\301|\330Wbb\3\333H^}5\276U\206{%\354\347W\210"
+"\35u\254p\205\237f\20\2159\305H\327\322W\341I\351\313\371\232\237SjD2\364"
+"\177Nb\37\273\235^v\\-3\272W\13\21QU2\353\251\231m\f3CN\270\222\347\370"
+"\351wAHt\21\317\275a\321g\334T\252\216\205\210\22T\'\317\24\61\230\243"
+"\372\245K`h\222j&s\304`\233\312\344e3\201\257!^LR\274\217\324u\276\205"
+"\367\324\257\262k\2241\272U\26|yD\251\7on\226\32\64\251\354\21\371\7in"
+"\247\232\4z\16\65\274\6\372\244\26\233\324\366\330\257\16+\331>\371i\24"
+"\0\340\321\362\350\225P{\217\216\371V\276\30\370\364\252\326=!\337Re@k"
+"\312\372{\36\225kl\257R\360\352\f\311s\311DtD\235\335!,r\365;]\260;\370"
+"\216\306^`\331@={@\263Ni\17\\m\33\344\32\22\273\177TI\77]I*e\3264\17*\276"
+"\263\261v\266\350\346\377\374/\0\300\177k\223t\364\344g7KNnZ\274ulp\340"
+"\3713\355\337\256\245\260 i\314\331\376FcD\25UTQ}\30z\17\r$,A\212\35j\31"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0p\b\0\0"
+"\0\0\250#xz\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4(IDATx\332\355XiHTQ"
+"\24>\343\214i:\216\243\226\241\255\206X\211-6\232\223\205\321\236\245\206"
+"\264\320FBE\220\24d\264\320\6a\320BA\321B$\21\321BED(\25-\264(\355\77\312"
+"h\261\275\320\232\250\324\31\33\35\235r\346\366c\226w\316}KV\377\342~\277"
+"\346\334\357\234\357\335\367\356=\347\236;\0\2\2\2\2\2\2\2\2\2\2\2\2\2"
+"\377%t\312\303\246.1\235\42]n\207\255U\221\16\353\31mjk\373b\353\230\244"
+">cDzZRt\300\254\177\366\270\252\262\36;\364\313\359\264\217/\254\355\305"
+"\255\252\13.\3559\207\344\36\2653\31\332\257\24\205\5f\277\3741G:\217\16"
+"\321\20\f]\374\226\251\340s\211\1\0\214\245\16\5\316[\336WMq\304s\246\201"
+"g\31\60\303\246\302\271Jt\212\337r\3456\2754\334\360\260\326n\210O\33\210"
+"\\\335\267\306\6\177{\356\3258\22\262\223$\362\354|\205OZ\212\336\344\324"
+"p\277T\2572\245Iy\366%\2\0\350\n\352\244\261\233Q2\305\271(d\21\32_.Wl"
+"\311\13\220=\321\267\277\26\312)\306\325K\3447\302\\\225\255F\241Dfy\244"
+"\361=\234\344:\34\64\t3\5\274d\31fO#b2\225\254&;&\16\61\341\77\271\325"
+"\215\307q\243\21\3631\202$X;\t\333\212\271\247T\362\0\3155\234\31\3531"
+"\223H\303^a\356\n\345\262\351\353]F\224\335\350KA\0\0h\241~I\330\370N\250"
+"\306\373\324\265\6\3756\317F\222Mo\211\37Ys7\241\356z\250d\35\66\26\42"
+"I8B\374.\252\327\201j\316n\304Ff\42\222\334\375\32\61M\245\352\222o8\233"
+"\274C\310D$\331<\2456H\330\13j\325%\371\252\333\231XV$\t\257\323\17\371"
+"\36\370\363\330\240*\215\2\350\340l+\2612\271\252\36\67.5\314\365\364\206"
+"\35o\256\364t\353(#\16Z\374\236T\330\234Uzl;M\352g\17@\267\314\f\213%\341"
+"O\217\262X;\200Aa\\\778\307j\355\375W\247c7%\311\350\374\251cc\376\372"
+"\300\r\7\231d\366\222i\235\377\345\f7r\222!3VY\250\207\247\272\252ra>\36"
+"\371\340\325\224\244\331\13\2055\264@<\3311\331\4\0\'\310`\367\77\230r"
+"\357K$\264iG\177\77A%S:\256\230GZ\2\357~i\205\250dV\207\25\27\220\32\354"
+"F\307\13\'9\365\367Z\276\204\314+#IPtN\265k\352\321\3019&\320F\250\234"
+"\220\347\t\267WU\304L\236\3155\0\243\211\353m\302\335W\225\274\363rEl\320"
+"\210i\245G\77\335\376\264\21j\217UQ\234\316\30s\35\t\367[\263\271\375H"
+"\263\226;\306\227\252\244\315{\306\30\273\33X\36\213VI\34\303\305\226\204"
+")Jn\357\3\0\2603`\236\241\363xN|+\370nc\243\222b\241\2271\306\36\351\224"
+"\327\224\271\360<\372\265\363\222\77\262\345\212\31N\306\30cR\267x\234"
+"\13\312C\233\362\242\274s\373:\200W\264|c\2141vR\32\331\302\305<\220\226"
+"|\255\77A\t\3370\216*\316\362\315\321\206Z\251|~\36\207\375\232\235\266"
+"\373\354\346\t\345\264\37<\210\nR\3529\177\26\347\340\203Sv\213x8\247+"
+"@\337%\376j\347\30\t\21\225\324\301}f^\212\36\300hYv\335\377\6\336\42\265"
+"\246:\210\326`\23\3702\25\0\42+\344.N\224\42\336b\3721\42k4\256\22gM\276"
+"3n\227W\303\251e&\277d\311\237\325|\77M\13:\215\377\250\252\370$M\276\261"
+"z=Ptm\330`BNQ\233\234\212^\215\253C\225\266\277\241X>\207{K\371\233G\227"
+"5\257d^\357\326\230\325\212\223!\377\320\33\351k\1778Y\234\254x\215\315"
+"Z\177]\332 \337+7\17\323i\337tM\311\tQ\246\2266\207\355\235[\253d\307\247"
+"\230#\314\315\255_\353j\305\277\17\2\2\2\2\2\377)~\1\326\373G\3147\216"
+"C\336\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\65\0\0\0"
+"p\b\0\0\0\0\233\30gs\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0"
+"\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3)\33\262\314/v\0\0\3yID"
+"ATx\234\355\226MlLQ\24\307\217\231\351G\32\245\325\232*\243\302\324\264"
+"\210\370L\210\212\322D*\b\242%XJH\260\320E%B(a!\302\312\2\361\221\nRi,"
+"ZU\311\230\210\206F\242i0!R\203\bm\'\264\322*S\332\252\371[h\357\273\367"
+"\274\373\372Z\226\346\277\272\347\374\317\357\335\257\367\356\273D1\305"
+"\24SL1\305\24SL\377\273FY[c3\222\223\342\272~\264}\36.\345\315_\264`Z\352"
+"@\20\t=\253\367\207\355\272\237z\354\5\270\242\217\266\'\f\305\344\325"
+"\37621\0\200\226\35\226\263\311\255\321#\0\200\272L\355\274\\\245e\211"
+"R\330\3678\324\221\232\263(^$ZV6\231;J\273\'\77\371SI\n\21\21e\\0r\315"
+"\223L\220\357\255\f\5\334\302\360KY>\267\351-2T\35g8\327\244\374F\25r7"
+"\313\320\353\321\206\223\337/\31\17\25(\376\241\262\\\313\r\'\363\243l"
+"D\'\310\324q\5\362K\316-u\371\327I\326\334>\305*4\234\371*\204=DD\216\77"
+"\336ii\362D\341\200\321^\312\26-\331\240\362\13\24\247*j\264\223\30\325"
+"nP\373T\347\276\324\376\302\250\347\242\225\371S\35{\226T5[\265\336;\204"
+"S\242:\235\312\303\353\25o\227a\334V\251\'\n5\263[\262\252\215\256\\_U"
+"\252J\235\311\222\260p\312\245O\42\233m\311e\266\0)eo\0\340\333\315erv"
+"-\243\316\220I\356\371\13\2469\215\320ED\36V\22\61SmmJ\350 \242\24s\225"
+"\215\34\64\360\222H\342\257\203\236\352\375+\252\233\345\306\r\213\342"
+"Gr\246\256\320D\275a9\257-ED\224\316\366\13\351\26\205\271>9jb\324*\13"
+"\252\6\301\303\263Dt\216Q\'\364PV\77\0\24\r\206\205\214z\241\247N\1@\317"
+"\330\301\320\31f\330\\\35\224\21\1\200\n#q\210Q\227t\324E\0\312I\231\322"
+"\251R\275\323\315PA\24\0\32\345\324^\326Y\300\301!O+\0`\215\234s60\354"
+"(\203\306\7\1\0w\324\254\267\203a\7\24{N\b\0\320\231\245RT\330\313\260"
+"\252\311\302K;\331\3\0\210\256#\256\215\34\353\275\262\301C\344\360n\271"
+"\372} Sj^#Z\365\5&E\273\244\240L\3\21\345\4\315\230\364\200\203Z\210(\356"
+"\360\17K(\262\331\2\42\42\317y>\273\1\5\206\376\350\334\373_\232\231\372"
+"\325\352\277_w\313\311^\263xa\266\210\2765\324U\206\206\354\310P\242o\33"
+"\200`q\236\307i_,\r\3429\200\255#!\210\210\326\3x\355\32)\325\0`\347H\241"
+"\225\0Z\343\255\\\253\233b]>\321\335`\316\4g\270\261Rs\275\323+O~\225\256"
+"[\235\217\\\265\312&\207\370\37N\257yQ\365\335x\300&\242\337C\347\230\364"
+"\362\352\220[\374\16\247<}5\314A\22\305\227\213\316*\354\253\205\222\304"
+"w\312Nc\323\t&\353\273\30W\242j\fI\215\2328\330\372`K\245\211\355)\22+"
+"\3567\2271\35\351\276\264\302ED\211\273\305\r\252=\325\16r~\0\20y\22h\214"
+"\210\25\354_k\333\25\277\37\1\335\233l!\272\301\241;>{\210\22\212+\333"
+"\r\244\365\354BM\215\366Kq\314\230\341MMv}\375\364.\310o\25\377\242\337"
+"{Q\22\312\25\'m\341\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0\66\0\0\0p\b\0\0\0\0p/\334p\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0"
+"\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3)*\343\22/L\0"
+"\0\3EIDATx\234\355\227MHTQ\30\206\337\31ml\304IG\307\224\34\373\263@\246"
+"\244&%\312\310\246\b)\n\265\240Z\204\321\242E\320\306\225\321\306\250t"
+"\327\217AD\20\4Q\230\6E\4Y\376D\n\245\305\264j\241\251\5\r#6f\326X\231"
+"\3438\372\265\230\237{\316\271\367\316\334\273\251\26\363n\364|\357y\356"
+"\367\2353\347\236s.\220TRI\375[Ym\372\31K\223\227\350\313\315\265\372\250"
+"\334A\42\42\242\231:]\330\3\212\352\254\236d\3631l\341\200v\254\214$\371"
+"\2135c\5\fF#\231\232\271\36\226\353H\321\212\255\363\263\334e\315\3516"
+"{Y\356\270f.\353\2724\2334\273E3\7\347+\211\373l\327\316\31j\307b\234;"
+"];\7\313\305`\224k1\350\340\340\350\212r\247\365`\300AO\30\13\355\327\307"
+"\231\317\377\16\2572\207>\16E\217\302\253\314\312\207\23\217\266\322\t"
+"\0\257{u\346K\352\177\224\352\317mX\226\223\2269\25\364\215k\307J\\[KW"
+"\244\205\377\237\31~\363\352\311d\342\374\205\215C$h\256\243\306\30\37"
+"Zs\'(BDD4\24o\207No\234U\204\210\210:\362\325\306\346h[\317\264F\373\306"
+"L\216rS\254=q\270G1W\3254\363\360\201\275\6\0\310\277-\205\2\65J\324\261"
+"\20C=4G\303\r\314\236\271K!\27K\365J\265\31:\245\260\374\b*e+\374U\310"
+"8\33\26$\303\275\210\2472\206\331Yk\342\274>\306\251\347\261\33,\25\314"
+"\343\2743\214\345\347\356\20\33\331\201Q;\377H\27\353]`\235n\326\241S<"
+"\226\317zc\322dq\7\66\21m\22\246\213[oUR\274\205\243B&\1\363\261\356\255"
+"X\3302\315a\36\201\202\207uG\1\300\b\0\325\374\t&{3\315l\243\300\36\305"
+"*\371^~\201*\312\345\232\245\0R\1`\7\337m\311n\256\231\'\34o\253#\177\263"
+"I\227\256D\212\324~E\2\0\330\42\330r}\330\342\bf\321\207\231\21\236\22"
+"\341e\300\217\257q1_\4#!\376\2706aF#\200\357BL\314\256\202\215\n1\253R"
+"G96,\304r\22c\0\0/\377{Nh\313\206\227|\314\246\376\361\220\315b\317\4\263"
+"L\215\332\356k\333)\355\343Y\1\276\312Kj\245\271\211\350\275\2647\337\343"
+"1o\2522v\222\210\210\252c\355ra\221\37U\244V\372\211\210\6\231\243\356"
+"9\217y\224\356\377\246\3606{\204\t\225\315\363\334}\371\341l\270KDD\375"
+"\234sM(\263Y\344R\302\373\366\234\223\213f\f\n\\k\6\347\333\332\303\341"
+"\6\341i\374\307\6\21}:$\215\335t\42\262Uv\312>^\\\323\2G\37\32]V\300h\337"
+"w5z\273\177\2470U\25\223\42GD\241oLc ON\1\253\334\n\34\243\27*o\224\251"
+"\376\247:4wNe\355\0\2607\313F\30Qw\211*\4\0\271uo\345L\240u\33\337K\351"
+"\252f\337S\341,\216U\24\32\351\357z:%tQ\273\30\232\n\354KS\262f\2\23\343"
+"\37\203q\253K*\251\244\222\372\353\372\3\374J\3448\25\257\310C\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0p\b\0\0\0\0p/"
+"\334p\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335"
+"~\374\0\0\0\7tIME\7\322\5\6\3);\211\242\17\276\0\0\3KIDATx\234\355\327"
+"KHTQ\30\7\360\377\2146>\360\355\370 G{\203XC\231Be\251SD\30\201\32Q-\42"
+"W\5E\233VF\20Bd\273\36F\21\255\2)J[\4\25Y\232bA)aH\264\320\324\242D\231"
+"\264\321\32-q\34G\277\26sg\3569g\356\35\317\335H\213\3716z\276\357\374"
+"\3569\367u\356\31 \22\221\210\304\177\36Q\262\35\243\255\261\263\206\217"
+"n\177\342!\372q-\315\230:4KDD\364-\317\210\252\364\221\22\235\6\324\266"
+"\31\n\306\6ie\33W\25U\310\252\370^F\221]R\231\232Y\325o\222d\27X5\267K"
+"RU-2jb\257\244\262O\253h\2611SRY\207T\325[\42\211\20\335\21D\256\323fY"
+"\205\233\1\264p\333*\215p2\240\272\n\345\21J\347\374\310Y#{\263\0 \357"
+"\'\21\21y\257$\31@\210\377HDD\355\5\232U\335\361\267\227\3@\3373#CEb\331"
+"B\367\276\231V\246\307$Oy\307\306\345\231\335\261\243hU\214\377\377\331"
+"\301\367\357\236O.=~n\375\0\t1\337Z\275\304\333\266\376\236WDDD4p0\f\212"
+"\257\237\323DDD\255\331z\347V\320\274\211i\215v9-\5%\226`\333u\344\265"
+"\346X\225\314ZO}\373M\0\220\335\250\246<\325Z\252\306\307\250\307q\201"
+"t\235\232\234\333\2431\26\253\336\250s3\265\251iw\276\250\212\330\31\376"
+"\315e*\233\231\205\271g\5\257\22\6\331\253v\231\253u1\225Z\236\335a\225"
+"7\213\253\235gJnn\301\334\302\236\30\265\360\207t\260\265Kl\245\235\255"
+"\320\31\236e\2635\247z\261P\314)\332*\\.\356y\253T\363\178\345\263\bl\214"
+"\255\336\r\246\23g86,(\f\263\325Q\0\60\3@U<\327+\344\315\214c\339\266\0"
+"\333\307\367r\13j]\6\327,\2\20\r\0\345|\267$\376\23\235u\216/\257U\376"
+"\246\221\241\270\256L2\344\371\f\37V\205\31\332\266\1\261\nK4\306\342\340"
+"\277$\302\313\200\351\211\260lLa$\344\237\36_rD3\200\337BN\34]\207\215"
+"\n\271T96(\344\322\227f\0\200\21\376~\272\344F\303[>g\325\337)\5v\364f"
+"\0x)\24\213\365T\351X\363nu\35O\361\360\263\274\2527\265\36\42\372\254"
+"\256\315\17y6\22\255\315N\21\21QU\260]\42<\344\3074\325j7\21Q\77\363\251"
+"\353\340\331p\262\206\262\370\227\331\243L\252x\201w\217B\77\316\246\373"
+"DD\324\315Un\t\323l\20]\224\177\335\236\347w\244\t\375\202kJ\340\352\326"
+"\26\177\272N8\332F\267\340\276\37V\317\335rBY*\333B~&:f\4G_\352\35\251"
+"\200\331v\340\206S\311|\322\270Te\223\242#\42\337/\246\321\227\25\252\200"
+"5=\32\216\211N\2357\312R\373G\37\315_\324yv\0\330\32B\316P\211\366\360"
+"\277\3342\316~\b5\236\246\235|/\255\255\232\255\242\2540\778#\337P\367"
+"\253\27SB\27\275\215\241%\307\226\31\2252\353q\215\177\365\206\235]$\42"
+"\21\211H,{\374\3T\254\345>\320~\b\22\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\66\0\0\0p\b\0\0\0\0p/\334p\0\0\0\2bKGD\0\0\252\215"
+"#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\3*\17\203;\250\310\0\0\3xIDATx\234\355\226[HTA\30\307\277\335u\327\13"
+"\332zYu\321\325\262\f\304\2222\305\310\312\266\250(\2\265\250\f\242 \350"
+"!\250\207\2040D\20\42\353-2\b\222\36\212.\224\32\365Pdy\211\nL\t\353%\304"
+"\313vAs\321\225M[Ks]W\277\36\316\331sf\346\\\366\370\22=\234\377\313\356"
+"\374\277\3577\363\315\2349s\6@\227.]\272\3767\355Z\304\220.k\247\254\337"
+"\5\n\203\33\65c\267\221\320@\264F\252\24)\325k\243lc4\266\350\324\2045"
+"#\243oq\32\250\n\226B\274\31\236\262O\b\331\13B\231{\302b\317\204\334\352"
+"\42O\350\277;!\fu\42\224\371\347 @Vo\250uW\235\312\364\361ycE\0\0\t\35"
+"!\356\200\32eh\347\263z\2638\303\34z\362\343)*\330\31>\251\325*X5\374\366"
+"|\254LeOs)7\42\b\363\210\2373\217*Q\246NDD\fV\322\366\26/\42\42N\246)`"
+"\347\20\21q\272\214\365W\273\20\21\261\305 8\6\42j\256\211\2\0x\364Q\322"
+"_b\245\31\0\240aH\251N]\324J\322\201\264\244H\353T\3003\256\35\313sn*X"
+"\36\311\375\237u\275\177\367|\42\374\370\31u\203\354\313=\337ZnT\207\262"
+"\357\5\244g\2\42\16\356W\201b\352\346d!D\304V\273\322\334r\233\326\22-"
+"w\327\250%\267\330\42\264\275\207\337\310\216U:Ct\336\267\327\0\0`\277"
+"#Z\376r9\352x\220\240\236\b\'x\255h\316\355\220\31\213\244\336\212\265"
+"\31\332D\333\227\303R\5d\205\323\31Dd\235\370\321\302\36\63M\305\272\310"
+"U\273D\305\272\210H\25\2155\220T \225\212U\23!\237\215\214\254\'\'\206"
+"-t\227N2v\221\214t\220\21<Mcv26*.\26\24R\24n`\226\213\332o\245\242\377"
+"\200\242\202\26\6\363\220\321[\202\35\67Ca\303\f\5\303d\324\r\0`\4\0(\213"
+"\241\262$o&\365\315Ow\204\260\335t\226\217\241V%S\315\2\0\210\0\0\330F"
+"\247-\333I5S\317\323\341\225\374o\42.IW\371\42%\373S]6\36\313\\\32\26\305"
+"cZn\35\204\242\201[\22\346e\200_\77T1\17\217!\343\77=\26vD#\0\374d<vt\5"
+"\314\315x\341\256.<\346b\274\244\360\30\0\0\214\320\317\323\253m4\350\244"
+"=\233M.\23\0\0\22I\354%\23,T\242\266z\232\266\213\347x\274\237\256\362"
+"\212Ri=\2108 \236\315\17il$B\36;\205\210\210\342\265\245\230\331\344\362"
+"\367\244\25>D\304~\342S\367\212\306\206\2552\224\205;f+\b\253p\201\346"
+"\232\245\37g\303}DD\354\246\42\327\2312\353Y\316\304\235\333\363\371\224"
+"\33\333\317p\215\261T\334\326\302\331\265Lok|\f7tH\234\273\345$\177T\266"
+"\231\330\332\2353\f\207_\352\234\t\0F\307\276k\243\274\363If\251J&X\16"
+"\21\203\223D\243/UJ\1d\365\310p\204^+\274Q\226\252\337\312\320\374\5\205"
+"\275\3\0\216z\311\fyu\344)B\0\0\311g\77H\31\177\343f:K\356\252\346\330"
+"S\222\237#T\24\374\334\335\376b\212IQ\272\30Z\322\35)\246\370Y\277w\374"
+"k@\265:]\272t\351\372\347\372\13\60\f5\224k1\nt\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0p\b\0\0\0\0p/\334p\0\0\0\2bKGD\0"
+"\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIM"
+"E\7\322\5\6\3*\35p\202\331\200\0\0\3hIDATx\234\355\227KHTQ\30\307\277\31"
+"m\314iLG\307Ft\314\312\4\361\201\371\212T\322)*\nA\r\312\244\250EE\4mj"
+"c\264\21,[\206\6-Z\5Q\230\266\210\354\341+\245\7\251\304\24E\220\317\42"
+"E\21E\255\321\22\307\231\321\257\305}\235s\356\271\243n\212\340\376W\363"
+"\375\277\357w^\367\336s\316\0\350\322\245K\327\77S\220\312\211\316M2\374"
+"d<{n\42\272\3\65\223\321\272\204\210_\216\220\336\316\316eD\374X\254MU"
+"xPP\255A\366\316\370D\357\252\26\225\'U ^\222\274\375\313\262wZ\3s\311"
+"\258\27%X\206>\305\233\336\300\245R\221\3209\301\313\'\275\n\251\322Hb"
+"Y\234\200\3471X(\31\2309\236\34P\330w2\30\326\366\30\205\316\22\363(\20"
+"<\253\207\360\322\270\30T+\25o$\257N\361\236\362)0uK\25\223\333$\317\374"
+"I\362Fc50\260\324\13\25\37\222\24\317\372X\360\272\22\24\317\300\202\273"
+"\216\247\5\17\65=[&\275\242\362\24c\177S\13ju\246\353\177\221\352q\313"
+"\211\330\250\220\360Y\357\304\344\352\261tg^vB\210\360{a\360]\327\363\231"
+"\225\373\217\257\31@F\276\2662c`h\373=/\13!\42\342\300\341\0\220\271f\221"
+"\13!\42\266\305h\315-\245\221\374|\307\272\307M)\371&9\236*\177\305\355"
+"\253d\236h\274\367\220\1\0 \346\256by\312x\324)\77A=\2227\251*\305\\\334"
+"\313\351\213\244^+c3\264+\266;\231\245\262\311\21\376\216\'2\31\312!\200"
+"\256u4e\31$W\355:\225\353&2\2254v\233\244\274v*w\205H\271mdf\791l\246\233"
+"t\222\271kd\246\203\314\340\5\32\213!s\343\312bA\16Ea\26\215\1\365\276"
+"\225(~=E\371M\f6Af\357\310v\330<\205\2150\24\214\220\3311\0\361\240*5S"
+"U\252/\223:\343\342\34\22v\200\256bo \211\321T\230\r\0\301\0\0Et\331\306"
+"}Th\277L\247\245\263(\22\327\244Zq\220\252\3673\260l\42\266ym\330z\21\13"
+"[\33\26\n\302\2220\37\3\314M\7\304&D\214=%\237\234\\\261G#\0\260\267G\266"
+"w\rl\214\361\254\253\303\6\31/je\f\0\0F\351\3479\265\272\336\340-\355\331"
+"l\274J\0\0\210$\261V&\231\243E\355\236h\334\243\354\343\21\36z\2247\264"
+"\206\346B\304~eo~@c\243\301|\354<\42\42\226\312q>\215\341\t.\265\305\215"
+"\210\330G\34u\23546\22\316\241\304\353\3371\302\312Y\242\271\207\352\303"
+"\331p\37\21\21{\250\314-f\230u,\27$\354\333\276L\312\265\3641\\\203\205"
+"\312\333\232\5\273\212i-\325\315p\303G\225\271\233\316\212[e\273\352\257"
+"\224s\236\341\360k\215\323\n`t\24\337\34\27\235\317\234\245*\234a9D\364"
+"\377 \202^\273\232\2\330\352\342p\204^j|Q\246\312_\332\220\257Z\343\335"
+"\1\0G\235j\206\242:\3225!\0\200\350\213\357\325\214\247\241\200\256\342"
+"]\325\34\7\13\63\223\345\21\371\207z^\264\3142%Z\27CS\234cSP\304\202gj"
+"\362\2337\340\350t\351\322\245\353\257\353\17L\343\364\312\302g\306\6\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0#\0\0\0p\b\0\0\0"
+"\0\261\250\226\334\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0"
+"\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3*/\270U\210\0\0\0\1^IDATx"
+"\234\355\324\275K\303@\30\307\361_\332\370\222\266!)X\254XA)\202\324\251"
+" \332\301Mpr\321]\224\376\5:9\n\202\2338:\350\256\223\340*.:\24\4\67Q\34"
+"\234jAA\4\203\240\242D\37\2074Mb\357I\203\26\27\357\273\336\'\367\222\203"
+"\3d\262\337\227\356i\1\364\365\32\321\375\316p\b\311\\\21\21\21\275.\361"
+"f\237\334V\331i>\32\346s\2261c\344e\215\210M\277\317\320\265!F\307~t\30"
+"\27\232Q\313\2176\305\23\215\327\374hQ\214\314-\357l\364Vb\16W\254x\350"
+".\307 e\376\266\201\316\22\f\202\276\361\356\242]\205C(\34\271h\2055\300"
+"\\\3251\366L\b\322\326^\234K)\204 \344\17\234KI{\307\21\250\351\42\0\234"
+"\236\204\315$k\177\n\200RogG\n\246\222\350Ru\30\61\255[\325a\304\362\1"
+"wN\242\274\361X\204\265\332e\24\0\345\fR\271\251\1\301\310\267\324=v\317"
+"^Y\273\265\301e\204\263W\271=\373\314c\4\363\34\301\330\21\f\2334\322\374"
+"c\23\347F|\246/h\262\202\31\r+\370&\224\233\327\234\250\4\tY\13\311\372"
+"\230\2`{H3\7\223M\237\301\276yx\302\362\5\0\356\355\2557\371\267\377P&"
+"\223\375\254/3\222A\325#\206\255p\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0%\0\0\0p\b\0\0\0\0\274\266\346\233\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\3+\27\211L\1\337\0\0\1qIDATx\234\355\324\275K\303@\30\307\361_\332"
+"\250}\265E\252V\250E\21\27\241\203S\213T\34tp\322\301]\241\340\340\350"
+"\356\237 .\202\203\233\2238\212k\305I\307\42\342\313\340 :(j\301R(\265"
+"\22\3738\3306\227\364\236\230\241v\272\357\224\344>\271\\B8@\245\372\277"
+"\274\216\243z\314W\375k\206\324\361\'\321\313\316\200#Z\251\22\21\21=$"
+"\35\320\222A\215\316x\224\256P\253I\16%^MD\213\f\n\24\4D)9\322\216Dt\247"
+"\311\325\226\210jY9Z\256\13\250\270 G\251\262i\352\7Cr\24\2737Qa\206y="
+"\375\264e\3367<\f\302n\323|\357\3058\203\365&\272\230f\rfk\277\346y\225"
+"\371H\0\220|#\42\242\257\355~\336 pIDD\371)\333u\353\274\2319\0\270=q\230"
+"H\325\3454\0\231\341\336\236\20\242Z\240O\17#\342\361\373\3640\42\236\t"
+"\233\274\42Y\242`\177YK\235T\32\200\334 B\211\371Q\311H[\372\241\303\352"
+"\315\342\206\33\205\33W_\342\221_\275\240>\\\251\212+e\270R\16)\245\224"
+"R.\224\227\35\21\217G\254*.\2355R\262\356&9\331\223\323\347\266\375\253"
+"\264\26l\215j\0\366\307\375\321\261`\373\235\306S\261\214\315\353\306\231"
+"|\'o\224\265\277\t_\'\225J\245\352F\77P\300B\333\311\341\343\34\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0#\0\0\0p\b\0\0\0\0\261"
+"\250\226\334\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22"
+"\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3+3\265O\345\16\0\0\1\222IDATx\234"
+"\355\224\275K\303@\30\207\177i\23mmKZ\361\243\212\212E\375\27Z\207\16\202"
+"\bN\n\42(8\210\235]\n.\322\335\331M\351\42\270\b\212\223 \210\216:\272"
+"H\5q\20-B\25\277\212Tq\210}\35\232\244\271K\202QD\20\357\231r\357\357\271"
+"\274w\227p\200@\360\367\30\251\222\301\222\213\242\26M\205\264\224\263"
+"\263F\26\316\202N\312\30\61,;(-%\326\251\16\331\235M\342\270\210\360\312"
+"\24\257\20\3459%\376`F\357f\267Q\326\3311\203\305\344\215\361|\35\263*"
+"sF\371u\22H\24\214\321\272E\351)\353\305R\22\0b\7\2064a*\322\276^*$j\5"
+"\3058\316\3336\303\231\327+{\2529-\247\177\272m}\334_\251\215WdK\373\351"
+"\267Zq\6\0\340\77$\42\42-\313\3564}GDD\217\235\0\260@DD\225q\376T\7\316"
+"\211\210hW\202\244\344\2\0\260u\314;h\316*\0\260ziK\4_F\2\60\330\336\240"
+"\204\21\225\232\32\345\bT_0 G\240\372\372\30\357\304\376\277\23Q=\367y"
+"\350\365S\216\4 \323\212p\327p\267C\302!o\270\256\271N\\\373\334\301\251"
+"\207\275_\271\255\331\342<yp^<8\232\7\307\25\341\b\347\37;~\267\304\342"
+"t\260N\334\341\215j\231\275\23\62\366\236\251#\356\376)\317\206\364L\2"
+"\220O\4\243\275!\3334h\305\373gd\13\0\334\356^\235\364\357\236\241@ \370"
+"\36\37R\235\223\42@\223\372\t\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0#\0\0\0p\b\0\0\0\0\261\250\226\334\0\0\0\2bKGD\0\0\252\215"
+"#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\3,\16\242f\77\330\0\0\1\214IDATx\234\355\224;K\3A\24\205\317N\326\350"
+"\346A\22$$\212\342#\244\321\200\20\210\306\7X\210\225\255H\260\21\42\330"
+"\347\'\350\37\320\332\37\240\255AA\33\33!6\42\212\30\24,|UB\300\30\20\2"
+"\306\214\305\354cv\263\213\213\210\210\316i.\347\334ov\356Nq\1!\241\277"
+"#\17+\321LRz\266\264b\231\4\255\352n\344\340\235RZ\236\347\211\321\303"
+"&\245\364lN\265\271:eZ\227td\371M\315\326\0\0\343\232\245\264\240!\263"
+"M=\313\3\300\211ni\255\223!\322\225\221U\374\3000\345\264\302\230\t>\313"
+"\21\244\371I\323\246\242\32\2\205\367>VL\231Bp\313\373;V\254\231\362\302"
+"\335=\311\342H\235\313R\0V\r{\244\235\3350\262]\0\360\36k\366iP\237\353"
+"\\\313\36\273\1\0\201-fO\223\306\20\221\35\226\225\372\0\366\372\331\305"
+"\224|S\334k\362\243N/\f\221\353\342>\205\320/\222\4 \33\363\266\5\20\226"
+"|\355r\20!\242t\310A\204H\302\304]P;\31}\342\342\256\357b$\0\371(\2=3\275"
+"6\35\213\344m\307\231\r\305\33\2373(\273\370\367{\247\2319\306\272\353"
+"\354\230W\27L\303\5\343(\301\b\346\37\63\36\247\16\307t\231\231\270\315"
+"\27CU\363N\310\267\3369V\262\354\237\352\222_\355I\0\66\7\224p\277\277"
+"\345\30\32\17\225\32\n\227\0\234v\257\252\251\237}C!!\241\257\351\3\201"
+"nRgJ[\251\327\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A"
+"\0\0\0p\b\0\0\0\0d\272B\221\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13"
+"\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3,\37\310\326\37*\0"
+"\0\2\314IDATx\234\355\226_H\223Q\30\306\237\315\r\335P\267U\2705\266(Y"
+"$\22a\364W1\20\313b\31]\30\221A\211\220w]Ht\325E\27E\265\13\205\250\21"
+"y\27EIu!AA%\225a\5\265\244\77\22\25S\242\322\262p\351\322\n\314}\276]l"
+"\372}\347\354|\373V\42tq\236\253\275\357s\316\357\274\347|g\347\34@JJJ"
+"J*\223LzF\311\312\202\311\201\2368\227-\260\0\312X\26\\s\343k\42\42Jt5"
+"\332\264\371\334\30\21\335\316\2\260\360>\315(v\274H5\32\210\210N\32\3"
+"\226\274\'\255~\235)N\31\326(\21\321.C\200\243\2178%:6\347\0\60\205\211"
+"\210&\\\206\204\253<\200\210h\350\\\363\301n\42\42\272b\b\250\25\1T)eF"
+"\0\323\313\314\204\266\264\16|\242\246\23\0F\317\307J\267\314\27\f\20]"
+"\365\303\250\206v\42\242~\77\0k\335\243\264\n\276/7\352\17\353\30\21)k"
+"SQ\360\5\13\370\271\321\20\200r\42\242\216\231\320\264\263W\3\30,7\6\240"
+"\231\210\250V\2230\5\257M$\373\217\204\234\242\36\374J\316s\2\370\230`"
+"r\371\353\213]J\354mO\2RRs/\335\323^+\263\267\310\201\261\341O\312\277"
+"\rQ\331\32I\3751~\77i\255\20\326\20Xf7;P\230c\313\263\24\300\205|k\256"
+"\335\354\350jJ\216\276\347P\t\323\276\367\204\340\234\f\211\16\263\33\0"
+"\200\322H\272\323\351\341\246\230i\6\365O\327\244\'k\42K\263&\354o\267"
+"\213\322\376{\356,\tMa\235\17\345\273\2545,\300\2558\254\13VW\360\315\253"
+"\333t\277t\325\336\13\202l\335\24\273\222\376\341\f\227FT\3W\177\336a\316"
+"\341\233\266*\0P\356>\30@`\373\n~\274\r\17\5E\34fFIn\242K\213\222^\375"
+"8WDH4\271\206\264Z\'v\253\213\222`\255n\21a\33\17\230\332\241q\303\254"
+"\367MD\250\346\t\247\264\356bv\241\251P@\250\344\0#\354K\3439\353\6f\f"
+"\375\35uv\224\t\37\263\256\272[\365\t\27\331\260\237\r\325Y\350\22>\274"
+"a\343\230^C]\3023.\236\374k\302;=#k\302\320\254\t\206\317%C\302\370\254"
+"\tYK\22$A\22\346\226\220\303\32\374\305\315\305jk\225\300=n\334l\310\333"
+"j\250\22\202l\223M\310\30o\5/\367\21\356Z\243\26\355\250\236\26\376R=:"
+"]\244\t\330Wov\271\275iL`\360K\374\325\1\340\330:\247\307\'\260\77\177"
+"\215+\327O\303\2\4\370\202\247\345\363!\17@\231\216\357\365\2}\377\333"
+"~\220\222\222\222\222\222\322\327\37\335\221h\27\343\241(T\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376"
+"\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374"
+"\0\0\0\7tIME\7\322\5\6\3,.\231\b\37\20\0\0\3[IDATx\234\355\227MHTQ\24\307"
+"\317\214M\243S~\247\245#\25\224e#E\246YF\206-\24\3\243\224p\221i\321V\243"
+"\244E\324\242\240hU\264\20\211\242\300\240l\21(\22)\225PJH\232dTH\206\245"
+"\350\330\f\352\224\216\237\214\251\267\305\314\2749\347\2747M\327MP\363"
+"_\315\271\377\363{\367\343\35\217\367\1\4\25TP\377\255\242W-\215\13\277"
+"j\25b\344N\262<\31\367I\b!\204\230=#\215\326\t\257.\311N\272\240\240\213"
+"\205rh\206\360i<E\n5#T\364FJ\261-\230}\26\42\203\246\216c\366\206\324\264"
+"\231V\314\236\220b\243n\372NY\270vK\261\220\326\346c\355Ir\254\256\324"
+"\246\260\235&9\26\302\257\317y\331\207:I\26,\315^\366\234,\nP4\340F\347"
+"\13\344\331\260\3133\356\212\264\310\263\260\241\301]\221\321j+\360\t\344"
+"\245\1\0\264\267.a\336\240\376\232\374\277WcB\254\3214\351\264MH\241\241"
+"9YY[\22\365\356`\364c\307\313\326\271\77Z\207\376\340\243)\301\344\254"
+"\311\16\f.\77\335\3079\267\336\36\n@\26\367k\203B\b\321\272\3557\340\352"
+":\234\372\275\241\252\372\3714\32p\235\327\373#3\206P\336\310I\3\0@\344"
+"\5\f7\371\371opx\6%u\233\275\303\26\274\207\17\t\232\244\13\245\214\242"
+"\16\272\321\201\214\23685\271\7\223\342(\266J\260\323\241j\255f;\366\273"
+"H\245\350\272\261W\313\321&\362\36\216S\263\222\230e\324<F\314\251\25\324"
+"M&\256\203l\3278H\314\'|MC\304\256\306V\5\261\304Y\216\222R\21.\367\361"
+"\273\353\243\202fvr\364=\211\226\237\362\375\336K\'\25Q\34-\246\376\360"
+"2e\326\42\232\350\30\347\350\27\32\306\347(h.u\68\t\203,\316\367\242Q\251"
+"\324\30V\241\216\2374\316\366\242\26\326e\306T(8h\2705\304\203\362;\250"
+"F#s\3220\314\354AcY\336\254\32\235fq\202\7\rg\343\32\355\217\77-\306\203"
+"J]\346|\322\3\300\224\306\30\23\177\372\244\'\215\237(\337\0\0\254d\361"
+"\230\7\355g\343\32W,\216\16z\320\317l<B\215\306\320p\310\273`\253\235\32"
+"\352\256gbM\264\13<(\274\240F\242\n]\307\342f\5m\244FR(GY\275\211&\5m\240"
+"\245\247\337\314\321\3554|\325\247\240\263\17\250\225\316\321\2354\274"
+"\215~\257%\375[\334c\244\301I\354\36R U\304\263\261z\312\245\375\345\b"
+"1#\310\247\202\330O\321\373\304|\314\326\224\277\200\335z\342%\222\355"
+"\214\250\336\335El/d`\353.\266\\\3738\t\272\32\234\360\16\275\332\3\213"
+"\310\230/Q\221\0!dG\365F\357x:\376\332\232/\323 \1tW\360\343\333w\0\0\200"
+"\241\34_\b~\344\341|\f\27\336\212GQG\213\315\260\251\0\37\312\353\322\257"
+"\232\223\2\0\304\327\342\211\231\306*\375^`\334;{\352\7\236\270\306\33"
+"\247Z)Uv\25\267\330Y\256\376\373\327\272^\352\263\3622w)_\'\242\367M[\243"
+"U#\315\357\2456v\375\32S\204\313\345\3706\340\n\270\320\240\202\n*\250"
+"\177B\277\0o\275\240\272\373Y\216\275\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\3-\32\241\247\332\344\0\0\3fIDATx\234\355\227KlLa\24\307\317L\37S"
+"\203\266\332*}\244,<+#(\252MK%\332T\202z\245\13\245\22\211\205\264\42b"
+"E\304\306\222X\224\b\211\4\301\202\204x\265\21o\21\217\22\343\225R)m\372"
+"0\223\266C\37J]\264\307b\356\314\234s\356\35\355\'\261\221\373_\315\371"
+"\376\347w\277\357\273\3377\'\347\2X\262d\311\322\77R\3040\363\42\223b\372"
+"\377j\2\327\245\357\210\336\3\t\352\344\232~DD\304\246\fUr\305/\324uG\221"
+"\314\376\212AMV\42\323\333C$\26\253\220N7!\321\245@\332\316R\362\255M\1"
+"\335MI-O\201,\31$\244o\211\2\351\352\r\201\203\'\223\25\310\244\206\20"
+"\351\316U\0!\362V\20\354\334bW!\341`\0\348\234\244\4\302\346\0\371p\266"
+"\32\b\371\232\37\364\224\253\34&\0@F\7\42\42\376\330\37\253\b\202\363\5"
+"\42\42\336\314\f\237\22n1\13\26\1\0\274\271\242:\245%\251\360\307\355H"
+"It8\277\364xz\225\320\230\202\234\234\351\251\372\205\357|]{\347\336\217"
+"a\255\303\276\374\\\37\n\365\34\317\37\32\214\336\326(9\277\236\225\fA"
+"\2266\231\203\210\210\367f\376\1\34w\236\246~\272Xu\350:)\337\250\355\f"
+"\373\177\237\333F\362:6E\1\0\304\355\242pM\2349\271\362\33I\252K\13\fg"
+"\322=\274J1%5\222\322\231\36\62&\371\210Q\77\326H\346R\22\327Q\253\214"
+":\265NI\246y\251\357f7\305VG\2753\22\255a\347\260\221\233\333\231Y\316"
+"\315\365\314\354\33\311\335\311\314\365\261\355:Z\230yU\256\251\215\331"
+"\207\250U\311,\334!QvUP\363\277~\377\375\250\344\231O%\372\222E\321[C\277"
+"\363\370\244\30/\321R\356\267G\6g]\315\23}\335\22}\317\303\344\202 Z\310"
+"\235fIB\213\210\213\3h\374\fn\264\33P\337O\36\347\7\320LQe\272\f(\370x"
+"\350\212\320Q\331G\231\24\262\36\36\216H\323\321D\221g\322\202~\25q\212"
+"\216\216\26\343&\345O>-AG\207\333\23\13\331\1\240\317dLH>\375\213\236&"
+"\337\250\334\0\0\214\22q\227\2166\211qC\35\60\242-:\372N\214\233t\17\242"
+"uo\13,\270\325\313\rc\325s\212\42\352\6\35\205\333\334H5\240\23D|#\210"
+"Vs#=F\242\342\276aM\20\275\310\257\236}\252Dg\361\360~c\20\355\77\315\255"
+",\211\316\343\341Q\362;\203\325o<!\310\250\36f\327\263\13R\305<\217\270"
+"O\205\274\276\254efl+3\27s\364\24\63/\2135\25\17P\367\2\363R\331v:\fg\267"
+"\207\332\3s\251u\214Z\332BI\202\3558MxN\216v)\375\352\370Uf \1\42\330\216"
+".8\2\343Y\335\224,7!\1l{\351\343\37\317\1\0\200\250\n\332\20|.\242\371"
+"\24^u\204~\312\324\336\365DMYF_\312\243\r\37L\'\5\0H>C\'\26\352\332\376"
+"\347\17\226\254ka\340\336}\262p\32\65\255\312k\340\6\237V\30\377\377f\355"
+"\245=\247h~\366\230@\204\rO\36T\267\232\244\205mj\23\'\216w\306j\232\357"
+"c\2636\344B-Y\262d\351\277\320o\7z\241\300QB\35Z\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2b"
+"KGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0"
+"\7tIME\7\322\5\6\3-*\207~\352H\0\0\3\212IDATx\234\355\227YHTa\24\307\317"
+"\214M\232\225\343R\346\206%d\213QD\232bT\330\203b\320\216Td\13\365\252"
+"\21R/\25\364\22\364\322K\210\220E`\264\274\24\212TJeTRQ&\26-\202mZj\232"
+":\246\326\264L\251\247\207\271\367z\316\371\356,\276D\304\375\77\335s\376"
+"\347\367\335\357\273\367\233s\277\1\260d\311\222\245\277\254\334Q\324u"
+"l|\244\263\335 q8k\\h\5\22\265L\32\7\271\16\231N\4ON\353\346\350hN\320"
+"\350%\24j\235\32$\271E\222\210\247\203#\343\372\rb\304\230r~P\350U\243"
+"\376`\346\'\375\2723*\br\267^\375\275\0 \345\245\36\235\13L&\17j\265\335"
+"\231\0\0Q\267tvS \322V\247U\276L\361&\34\372\356\350\211\r\200\26k\205"
+"7\234F\352\260\266\235+\375\223\263\335\336\262\223\23Hr\353Oo\262\320"
+"\37\31r\37\21\21\207Kxzy\37\42\42~N\360\203\36@DD\367z\231O}\215\210\210"
+"\2656\232d\201\343p\30\0\300\345&e\314\350\22\7\0@\371{\177s\266\364\357"
+"\310\346\323\t\215\217\t\r\377:\324\365e\\hXNv\366\374\4\2737\350{\321"
+"p\247\376WP\363\260\257\275\344\226\255i\250bE`p\342\276V\265\251!\42\66"
+")\33[hs\2339\210\210X\277\310\178\243\222\226\366W\227\226\335\374F\22"
+"\236\203v_dF\'\251\353\335\343\0\0p\36\242p\255\323\234\334\360\235\24"
+"\65\'\352\3514\272\206\347\361\246\244\207\224\364%\215\31\263]\304h\231"
+"\256\222\313(\211\333\250UH\235\206pI&\262\217\333\23\336I\232\251wQ\242"
+"\265\354=\354\342f\t3wrs;3\335\223\271\233\312\\\27[nh;3\257\3119u2\273"
+"\214Z\305\314\302\375\22e[\5=\336\307\357\335\37\305\274\262Q\242\317X"
+"4q\357\330\365r~S\214\224\350f\356\367L0\356*\276\177\256A\211\276\345"
+"al\216\201\346r\347\203$\241]\304\371:\32\271\200\33=\n\352\372\315\343"
+"\25:\232&\272\314\200\202\202\213\207\13C44U\324\2314\262!\36NJ\324\320"
+"\30Q\367CE\277\2118^C\345Q\314\244\375\311\321\24254D-\rFv\0p\233\344\204"
+"\344\350_\2652\371DM\316\222SD<\240\241m\42\257\364\1\25m\327\320W\42\37"
+"\241\242\321<\354\324\'\334\321\315\r\265\353\205\213&\372\4\64\24nsC="
+"\36\315\24q\235\201\326p#)L\242b\277a\255\201V\363\255g\237+\321\305<\274"
+"\327j\240\77.p+]\242Kyx\212\\\'\263\376\215g\5\351\30bv\13\333 \245\314"
+"\353\22\373)\227\367\227\2fFt0s\25G\3173\363\212\230S\376\bu\253\230\227"
+"\300\226\323\253\274\273#\324\36\311\240\326\31jyVJ\22l\25\264\340)y\265"
+"\253G\2111lv\24\17a+\252\n\325\363\351\203\224\334iB\2\330\216\322\341"
+"\37-\1\0\0G\21=\20|\316\243\365\24\336XN\377\2204\334\355r\314YC\37\312"
+"\303\35\357Lo\n\0\20{\221\336Xh\240\304\347\1\306\273\262\353>\340/\307"
+"e\343T5\257\264[\341F\33\213\324\337\277\331\361\322\236\235\227\231e\374"
+"s\3047\217\37\324t\230\224\371<\324\306\314\212\13\217\360x\\\37\77x\2"
+"N\324\222%K\226\376\13\375\1\267f\362\7<\372\201\212\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0"
+"\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0"
+"\0\7tIME\7\322\5\6\3.\5\7\202\204\322\0\0\3\244IDATx\234\355\227YlLa\24"
+"\307\317L\215\251\322=\312\264\366Xk\tj\33A*\322j\203XB%\226\22\257H#\236"
+"x\360\42\342\301\203\244HH$%\226\204\304\244\21m,\211Z\322P\255=\244\264"
+"\224N\265\301e\264Zr\231q<\314\235\231s\316w\357\324\3/r\377O\367\234\377"
+"\371}\337\375\356\375\346\314w\1l\331\262e\353\37\311a\232\35\77-\371\247"
+"\277\341\213\310&\367\1\bu\305\33\315\271\3719\42\42\6k6\367\243y\267\206"
+"\210W\342\221\236\33\30\225\266/+f\224\42\42\36\214C\216|\203T\337\216"
+"\2142\f\327KD\304\265\326dj\23\n\5}\205\t\0\3408\204\210\250\247[\243\347"
+"%\211\210\330QQ\266\363\26\42\42\236\263&\227\230\2211\205\246Z\222\216"
+"\307\361\321\243\254\230\241\5W\1\0\2\'\265\334\305\231&#\277\314\353\266"
+"\234\365,\42b\363P\0p\255\252U\346\354\234d\275RW\27\42\206f\31Q\361#N"
+"\366,\262&\301\213\210\350\213-f\315\23B\266y\343\220P\206\210\270\204"
+"$\34\305\225z\30\374\274\77MV\263\307\224\221\6\0\255AV0`\316\250\364\220"
+"\326\330\300\263\266l\375]\231\367a\0\0\267\'\323\235\364\265\263\335\262"
+"\361\232\242\211\371^\357\204lg8\370\370\264\256\346\346\217\77\272\17"
+"\347\262\363\335\312\217\274b~\357`\337\262\327\346m\351\376\362^\310\222"
+"\26\353\236vsJ\34p\320\5Z\372\251\262\374\360\325\36\222\320w9\255\310"
+"\31m\244\356\303\26\27\0@\352n\nW\247\232\223+\276\221\242g9\221t.]\303"
+"\23\217)\251\223\222\217Cb\306h\215\30\215\3Ur.%q\35\265\326S\247.I\222"
+"9\35\324\177\300v\212\343\31\365\316H\264\232\275\207M\334\334\301\314"
+"Rnn`fw\177\356\216a\256\306\226\353ne\346%yOm\314>L\255m\314\302\235\22"
+"e[\5\365\360\343\17\357\217m\274\262^\242\217Y\324w{\354z\36\237\24\225"
+"\277\227\22\356\277\357\23\235u\25/\324\344Y\13\232y\230\225\37E\13\270"
+"\363V\222\320*\342\242\b\2326\221\33\357\25T\373\311\343\371\21\64Wt\231"
+"\200\202\202\306\303\311\t\6:F\324\2314\262N\36\366\3131PyX\371\256\242"
+"=\42\366\30h\262\310\233\264\779Z\206\201&\250\245\177\42\'\0\310s\224"
+"I\7\222\243\1775\312\344\23\225\13\0\200\1\42\16\30h\213\310+}@E[\r\364"
+"\205\310\247\250h\6\17\333\42\67\354\357\340\206\332\365\222D\23}\0\6\n"
+"\327\271\221\255\240\303E|-\212VqcH\242D\305~\303\352(Z\311\267\236s\234"
+"D\305\341\373\366\353(\372\3754\267\362$:\223\207\307\310\3650\326\277"
+"\361\204 ]\235\314nd\33\244\234y\355b\77\25\360\376\262\232\231)~f.\344"
+"\350)f^\24\367T\24\242\256\217y\331l9\37\224w\267\207\332\241\31\324:N"
+"-}\201$\301QA\13\36\222W[\374\213\30\301\365\n\t\220\300V\344sG\362y_("
+"YjB\28\366\322\341\357N\7\0\0\327Vz \370\\H\353)\274\362(\371\\\205\272"
+"\33\355\256\261K\351C\271\263\361\225\351\244\0\0Yg\350\304B\201\35\226"
+"\7\230\360\312.[\300]\7\314\276\362\270\306\227w(\334\257\372\255\352\357"
+"\337\354x\351\364\26\316\232\35\375<\306\246{\265U~\2232\313Cm\346\210"
+"\301I)\272\256\275{\253\367z\243\266l\331\262\365_\3507\6\204\364\337\301"
+"\215\221\237\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0"
+"\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22"
+"\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3/6\241I\324\205\0\0\3"
+"\210IDATx\234\355\227[H\24Q\30\307\317\256\256\253\233y[\324\274\220Qm"
+"\27\265\13y\251\265,{P\214\212.\204\210\226\201A/\32!=\325CP=\366P\210"
+"\17\5\201A\331C\220h\251I\321\305\302\312$\355\202dX\232\256)\352\226\256"
+"\227t3\367\3640\227\375\276ofV{\225\371\77\355\367\377\177\277\23193g\316"
+"\236aL\227.]\272\26\225\374\224Vd\232\3150J\274\350\264U|l\276cmj\234\343"
+"\234w\34\201^\372\23\17\347\274}\257o2\177\206\13\272b\220\275\23\263\242"
+"w\321\27i\227\2728/\223\274l\217\354\25\373@[\345.>n\25,\303g\257\347\\"
+"\242I&q\240\223\202\227\1\275|\320lD\350\26\225B\315SA\203`aQ\361`\201"
+"\321\36X|\327\366T\24\344\2\343\332.x\3413\300K\326D\331\5o\327\13\311"
+"\273\352\365\36h\223,\340\225\3245\264R\362,\357%\317\21\353\3e\301w\204"
+"\256w6\257\27^#x\315\t\250\325\300\250\266\25$\373w\325\326y\240\267+/"
+"\321\330Y\373\220\373:\251\256E\42\345\224\220d\216\261\232-\23\256\201"
+"\361\377B\3\263\354\366\365\261\342\3738\362\251\345Y\323\237\5]\207q\377"
+"\335IN\344\252\314\234\37\f8\335M9\361}80\17\231\327\243\16r\316y\323F"
+"\37`\364=\330\372\263\246\274\342\321\24\60\334g\215Zdj\77\350\33.61\306"
+"X\3509\b7\204\252\223\7\177\203\246\2168\311N\204c\370\30\243J\272A\313"
+"H\2747X\355\4Ag\244\222\314\200$/\200Q!LZ,\224\214\33\204y\33\232)\206"
+"\16\230UQ\264\1=\207\3438,Ca\21\16\217\242p\222\374\241\331P\352D\3035"
+"\367\241\260\216^S\77\212+`T\212\42~\206\242h\252p\267p\373\205\371Q\212"
+";[)\372\1U\1\247\274\277w\340\223\3620\212\346\341|\310_>\353a\334\350"
+"Tls\276\3422*KF\263q\322KI\326G\352\\\t\rK\302\301\220\2u\316\342:SB\23"
+"\311*C\267j\2141\'.7\370\211\250\215\364\251,d.\\\6\305\211\250\225\364"
+"M+\321)R\307\210\350R\342\253,\177\364h\21\42\252\262;]\210\214\214\261"
+"I\25\217\210\36}Bl\243w\224\16\2001\26L\352Q\21\355!\276b\35P\242}\42\372"
+"\205\370!J4\2\227\375\322\5;\6q\240\\\365,d\21mc\42\312\236\342@\271\261"
+"J \365c\31\255\307A| E\311|\343\r2Z\203\247\236q-E7\343\362e\267\214N\337"
+"\306Q\nE\323py\35\374^\216\326o~\223\220&\27\212;\321\4)G\331\0\231O\331"
+"x}A\337@,\304\201\302\335\30\275\205\302\373\344\232r\347`Z\215\262X4\234"
+"a\305\263;\17\343\271T\30\335\200\221{\'%\231\241\22\66\264\203G\273\307"
+"\3\202\277\205\n\2221\77\64\242j\263\344\247\214A\262H\205d\314p\t\36\376"
+"\215\3605d*\201\33\202_9\260\37\302\207\256E\201\252\345\371\200i\315>"
+"xS^\37\373\246zR\306\30\213\252\202\'&\32-\323\334\300\b#k\324\200\307"
+"/\323\205S\251u\345\203\n\316\323Z\242|\377\325\266\227F{N\372\326p\251"
+"\342]o\233\353\35*m\232\233Z\353\212e\226\20\267\333\371\243\327=\357\205"
+"\352\322\245K\327\242\320\77\330\246\261L\311\205t\324\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\3\263IDATx\332\355\227YhSA\24\206\377"
+"6\211\326\30\333T[\327\270\325\7\255(\250\24T\212\212\270UA-\342B\305\245"
+"\17\202(UD\254\n\242\17\42\270\240T\237\212\372`\301\5\67\250\212\26\212"
+"\342F\241\24\301\25Q\253\242\246\255B\253\306Xm\322\244\351\357C\356\275"
+"\231\231,\325\13\276\335\3\341\222\363\237o\346\336\23193g\0\313,\263\314"
+"2\313,\263\3142\363\226\366\17\261\203&\2\300\375.\23\335T\223d\265\231"
+"\27\234K\222\3011&H\373\13\222<h\246\323M$\371%\323\4\351\376J\222\353"
+"\315tz\234$\37\245\377\325\344\364\37\344t\377\n\265}\211\0\0\306=w\0,"
+"\254\357\251\207\354\25\'\32|\214Z\350\375\325\362\251i\250!\311\363=p"
+"\216\3255!*\326r\211$\177\17K\t\366\331\325\302d\2667%\271\352SR\220]c"
+"S\254\341\234\223\313\204\177muM\351y3]1\307\317\315I\77vR\223\320Gk\251"
+"\3\0\372\224\371\4g\245#1Y\324.\4\275\361\350\356\274W\202\373N\277D\344"
+"\374\200\20\362}DL\30\31\26\204\206\254xr\362oqHJ\325\305k\330\335^*\231"
+"\363A\324_\n\13.\373\253<\320U*zY\2227\n\312\tu\222\224\24(\226\304\240"
+";\246\214\17\253\350\217!R\32\67J\342mA\252\215_\33gD\264T\326v\307\224"
+"\245$\31\272/\311\221|\1}&\243s\f\241w#I\36\337\42\353\'cd\201\362F\271"
+"\206\262\213$[\335\13d\335\3574\2\16\313\212\317\20\6\373Ir\3\306*m\27"
+"\33\21\217e\341\251!\234!\311\'6\270\24\264R\17\310\214\310B\255\361!\21"
+"\222\3353\0t$i|\252\322\246\236Zi\365$y\21\0\232\344\210\220\35@:\0%\205"
+"\361S{\226L\3\320\261St\351\233\320H\r\315Q\320@\364\341:\2\0\207\274\0"
+"\320\241\204\344j\250\232\203\235\321\307\316a\0\274G\1\0A%$KC3\22f\376"
+"\350r\0\330\21H(\246k\77\277z0E\';\3\300\275+Q\227M\ti\327\320o\212\277"
+"/\0\314^\1 \262]s\271\224\20\237\206z\25\177\6\0[\5\0\234\322\'P\35\16"
+"\35\361(\363Z\255\357*\276\1z\350\179\242\311h\243Y\26\36\2\3566\222\334"
+"\252\78\225\306\257\33\350YY\370\250\355*/\354z@\276\202\226\31\350rY\b"
+"\333\307\205Ir\236\21\260D\16\350\316\213\215\213\362)\23j\225Ze\237\254"
+"\77\20\6\354\230,]$\311\300\350\230~S\326W\13\350\360`\374\346%\324*\216"
+"vIym\27\347\251\42\216l\26V\301|YZ)Mq\346g\25]+\250\347$\345\206\262<\26"
+"v\313d\275p\360z:E\245\325\243\346\302\1y\253-\20\244*Q\351\234\25\237"
+"F\27\304\200\267B\252,\26_\250\2534A\n\366\272\42\262g\215Q,\364\367D\2"
+"\66\351L\253\233\20mp\207xb\373\212\222\225!%\225\302\231\315\272\272\26"
+"\347\370E\3\5\275a]c\322\332g\350\255\344\265\17\375\345\266TuSmR\260\275"
+"\42\'e\305UL\222\1o<\370x[V\352\3620z$\356\307\224=7[c\330\273\363e\243"
+"z\274q\354>\b\300\233\337\1\0\331\243\206:\373\205\203\276\346\217\301"
+"\277\250\226\243Gb\211\231B\273\212$\37\246\231 \13\272IF&\233\271g\325"
+"\223\344i3\257\273\206$}\271&HW3In7s\35\364L\7\200ka\353\206l\231e\377"
+"\327\376\0\346\342\3609H\300\375\373\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0A\0\0\0p\b\0\0\0\0d\272B\221\0\0\0\2bKGD\0\0\252\215"
+"#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\3-\7\302\241\266=\0\0\2\245IDATx\234\355\326Oh\323P\34\7\360_\332\332"
+"\256\265mR\235\3q\342\306\374Gu\342D\245\207)\366\260\201\242\340\6\42"
+"\n\216y\361\352.ba\2102\360&\36\275x\24vp\b\36D\321\35\346\230\342P\17"
+"\42\242vUT*u\350\306Z\273&\265\254>\17Y\376\274\344\275$\274\202({\337"
+"S\222\337\313\'///y\1\340\341\341\341Y\201I47tz\354j\36\241\3577\2670\3"
+"\353\336!\204\20B\312\20\253p\7i\271\314\330\205\272.\374\356c\22\366\42"
+"#\305\355,\302\6\223\200r\42\13\361\330L<\3643\b;\212f\342:K\'\366\347"
+"\315\304 \13!\3350\236\7\372\225b!\240\353\251A|ke\42\2043\5\235x\21a\42"
+" v\255\246\21\243\2\33\1\311q\215\270\310(\0\364\177Q\205\245\243\314D"
+"xDV\247w\222\231\200\216\273\352\364N\320\32x\30\243\336.\0\200\351I\366"
+"^\360\3747\21 \232J\300\352\340\252(\210\276p\223\77\16q\177(\42H\331#"
+"\313\r\244}\222Z\226\204H(\20\203\270\277)\354\23_\236\324\205\0\264\217"
+"\223\344\212\266\261\363\21\251\\06}\r\337\305\277 \4`6\3\20\335\330\273"
+"\236\322\340s\6 \276\271\207\372j\352\211L!,\257\361\362\332Wxy\312(iw"
+"!\2178^`\376\n\265\244\217\303\264s\37\237\270\13\345\242\2430W\241U\214"
+"gQr\356\304\274\273\360\323YP\334\5\227\324\334\5j\23\227\30\2\265\233"
+"\236\5\326paE\n\324\206\236\205X\303B\264Q!\270\246Q\241\215Z\241\t\326"
+"N\357\366 \324\261\343\326\365!\355AX\304\216K\370\330\7\373=\bU\274\260"
+"\13\333\33h\361 X\276\366\207\314;\242\303zd\by\274p\3324\306\376[\264"
+"U\25\23\336\342\205\3449}32z\314z\32\361W\270e\t_\\\253\332\340\245\337"
+" [rD\354\376a\21391\226\225\233\367\364\251Saf\253\271\204\266\345\300"
+"\236\203\366K\231\376\6\272\361\375\231S\233Bv\3426\35\310\267v\22\217"
+"g\360Y=\364\2034>\0\0\205\364WZ\t\23\n\'(+\337\307\356\17T\0\177\263&\217"
+"\313\2446\23\251Ot\300\362n>8\360\336\326\2426\3343\347\0\330\246F\370"
+"\302y\354[R\37\273\244\336A\347seAVJ\213J\271,WJ\262\266C2cg\357\225\227"
+"G\272\366l\270\315\351\362\304>\0\0\200\257\275CL(\13\371l\225T\345\341"
+"\341\341\341\371\313\371\3\317s\274\275\4\363\214Z\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0p\b\0\0\0\0d\272B\221\0\0\0\2"
+"bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0"
+"\7tIME\7\322\5\6\3\60\21\311\31op\0\0\2\270IDATx\234\355\227Kh\23A\30\307"
+"\277<l\2225O\r\5\241\326\26_P\214\250 \6I\325\200\25\25|#\242\207\202\7"
+"\5Oz\21\2U\20\317\342E\360.\202\240=\211\242\340\203 \25\25\221RD\252i"
+"\224\n\221\370hJM\323\354\246\241\351\347!\331\354\316\356\316>& \21\367"
+"\177\232\231\377\367\375fvvvf\26\300\226-[\266\332W.\263\201\356\250Wh"
+"\245\243\330\375\n\342\367\353\313\230\1\307\4DD\304\311nF\300\301\5l("
+"\315\6\330V\306\246\326\262\0\272~J\0\334\313\0\340Fe\0\214Y\78\356\312"
+"\1\37\35\326\t\227\344\200\371\204u\300\241E\31\240\260\333: 6+\345/\336"
+"\352\264\16\210f%\300\350v\353\371\340~\336\314\237:\347d\0\300\r1\277"
+"v3\312\222\17gD\300\253\315L\371\320\77_\317\317\17\62,\2\0\200\356_\210"
+"\210X\275\26d\313\7n\f\21\21\237\365\31\5R\7\30\337\t\0\60\376\200q\0\266"
+"\376W9\300\37\217\300\322\216%~\b9}^W\20\202.\17\347\bg\3667\2\302[\303"
+"u;\354\340<\356\0\4]^\2373\364\356D\223\340\206\336\247Z\344\262X\330\360"
+"D\313\316KE\246}\203P;\20\334\360#\5\340_\271g\5%\340k\n \270f bH\342F"
+"\220\320{\322^>F\332#\222%>\5\177U\267\203\351+T\2539\17o\364\307\370\322"
+"\230P\372\255K(\224i\216\364.\212\372\203\2306&\314\352\23\250\279\323"
+"\353\241jL\240\206\30H\42\260\3367\333\341\273\260\t\377 \201\32h\232\20"
+"h\231\340o\225\320A\375\3052K\350\241:4\202r\320\233L\20jD\273\362|H\232"
+" \314\21\355ar\356;\216\232 THc#Q\33\244\377ZH\4\305n\277K^\t\351\234G"
+"\22!G\32\247ds\354\272M;U\t\3028i\364\235m\26\271;\7\224i\232\227\351\316"
+"\5\362p\255\210\223\227\374\200*e5a\217\366)\230\351\341\f\37\335r\244"
+"\276\24&\326\311-\\\237\5\265v\250\273\222\335\6\22d}\342\344*\217\32q"
+"\217\16\310u\3054\333S\344\252\2760\2455\77\0\0\371\3447\232E\20\362\307"
+")\'\337\227\304g*\200\374\262^\34\346\265b\322\361I:@\361m>\356\377\244"
+"\212\250\16\r\24t\0\252\245\341\273x\236\330Kj\303\227\353O\20{+\314\360"
+"BqN(\225\370r\221\27+Z\314\300\351\207\245\306LW_\17\365\350u\2579\6\0"
+"\0p\366\256\16E\204\231\\\246\242\345\332\262e\313\226\255\277\254\77C"
+"!\275\303\334Fw\360\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0A\0\0\0p\b\0\0\0\0d\272B\221\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs"
+"\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3\64\f\316s\306"
+"\255\0\0\2\337IDATx\234\355\230Kh\23A\30\307\277\274\233\230\247\226\242"
+"\242\266\301\252 VD\260\346\20\2459DT\360\211R\37 \364\342I\320\202B$\b"
+"\342A\360\346M\360\42(x0xR*Z\241H\13\212(\210\24i\22\37\305\224\264\322"
+"\3066&\331\204\220\364\363\220\354cvw\366\221\200\b\335\377i\346\373\177"
+"\363\333\231\311l\276L\0\f\31\62\264\322\24]FV\267[\2\370~r\0\254\355m"
+"\205\360\0\5\232r\352\7\34EBwu\3:gI\302\362\200^\302\23\24\351\273G\37"
+"`P\f@\274\257\13\2606\307\r\254s\3538\250\207\360\214\33v\275\177\216m"
+"\317\4\264\3\206\330A\314)\200\340$\333{\250\31\260i\2519d\266\37\0 \360"
+"\232E\234\324\b0\2156\7L\6\33\1\33{\270~ui#\\j\346\277\364q\241x\363\25"
+"y\252\t\320[ld\337\263\n\202g*\215\340y\r\0\313\4\42\42\326\206\311px\36"
+"\21\21\177\257W\'\\ED\304\3421q|K\n\21\21GL\222\21VQ\337}\7\0 \361Q\234"
+"\227\16\r\333\0\0\272\247\325ga\310\220\241\366e\2w(\0\253\35467\370\314"
+"\316\16\213\27\274\26\207\313\344O\36n&\370\367\370\33\266\337\344rX=\340"
+"\265t8\315\276\17\203\34\301\n\301Q9r\211m\354x%gg\371\246\271\355U\374"
+"\17\4+\314\305\0\334\33\17\254\243$L\307\0\274\275Q\365\222\347\32\'K\365"
+"g\322^\363\211\264\307y\213]\5sK\361\1\271\233T\213\333\207w\312s\234P"
+"\'\24\226\24\t\13%\232\303\177\26y\345I\344\324\t\177\224\teu\202\212\252"
+"\352\4j\212\212x\2u\232\232\t\255\312 \254H\2\65Q3\201zC\321Lp\267K\260"
+"\257n\227\320Cuh\4\361\244wi \324\211\270\270>D4\20\212D\334O\356\275\235"
+"~\277\341\t\25\322\330I\364.\320\2577<A\364m\77 \354\370\24\352\21O\310"
+"\220\3069\301\36[\36\321\252*A\370B\32\333/rM\327\343#\342a\322\213\n\0"
+"t\325\310\342Za7/2\211\22\245ea#\207D\314\261D\222\351\334}\242q\24R[\205"
+"\26nK\203T\373\245\217\22\374\32\b\223\375\324\331n\207\24!\371\313\200"
+"WfC\237l<F\236\352+\363r\373\3\0\220\215\314\320,\202\220=M\251|\337\302"
+"_\251\0\362\315zs\234\221\313\31\13\375\240\3D\357\346\213}S\222\214j<"
+"\272\240\0\220\34\r\347\265\313\304wI=q\243\261\202\276\367\345E\246\234"
+"/\226\13\5\246\224g\330\216\34\3233\364\274\320\334\351\352\333x\217\322"
+"\343e\347\0\0\0\346\340f_\240\274\230IV\344\\C\206\f\31\62\364\217\365"
+"\27}\210\16\261\260\375\37f\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0A\0\0\0p\b\0\0\0\0d\272B\221\0\0\0\2bKGD\0\0\252\215#2\0\0"
+"\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3\64"
+"\33M\240Cj\0\0\2\320IDATx\234\355\227[k\23A\30\206\277\335\304\244\331"
+"\346h\265\242(m\255U\250\251J!\22\265\36r\21AEP\361P{!\250\320[\365B\b"
+"\24A\375\3\372\37\204^\330\33\213\305\212\42E\353\t\17X\304C\323(-D\202"
+"bJM\323lB4\31/6{\230\335\231\335\325\200\210\316{5\337\373~\373\354\354"
+"d\263\263\13\300\304\304\304\304d&\207\321Z\32\351\340\346t\336\262H;\372"
+"f\23\271\361v\5!\364\366\260\326\333|\257\212\20z\265\317\26\240\267\204"
+"$]\341\24\357\364\367\232w\331\6`\213\334\214\3209\331\213W\25\357\224"
+"5\341\271\322\214\346\233$\213{\257z\331F+\300z\244Q\277\344m\325z\275"
+"\306cx\254\352&\24$\217N\360h\13\201\340a\5\2110\255-f\350\36]\236\234"
+"\346\232\267I^\250\244\361\302V\4\270\2446\77\220\275\253\252w\323\22\0"
+"\256\307r\363\227\325\262\'L\310^z\2055\1\274\203R\363\313\16\325\13\335"
+"\220\274G-\244#8\203\23\355\13;S\303#U\255\267\363h\'\779<\212lL\201\211"
+"\351\37\20\7\336h\b\32]\213\274\20\340=\r\16\77\370\35n\201\13&\367\326"
+"\32\202\221\240\24\79\301\355\364\201\337\321\340\341\3/\216)\4\'\264\335"
+"%\221\13\362 |\207\24g\324!O\312\177I\177\3\301\t\237\23\0\336U\273\227"
+"S\32f\22\0\3765\361\220%I\30G\230^\343q\323\4\36\217\253\221|\25\242\371"
+"\276<{\221\32)\353\360\324|\216\17\255\ty\363W\224l\201\226\250\277E\316"
+"|\22\263\326\204ysB\321\232`\241\2625\201\332b!\225@\235\246m\302\357\212"
+"\21\376K\2\265\3216\301W7\301[/\301\265\270^B+5\241\21\364\223\336d\203"
+"P\301|\375\376\20\263AX\300\374 \276\366\256C6\b%<\330\200U\'\232m\20t"
+"O\373]\332\42`\262\37\251\2044\36\364i\326\330q\215\266\253b\204wx\320"
+"\331\257\f\205\301\375\372\303\214\237\4\0\320\374\3\337\\K\362\342\305"
+"\336 \203RD\330\255=:\346\330PR\\\322}P\272\25\246\326j#\264.\5F\3550\236"
+"J\3636\320\203\327S\307[\334F\304u: \275\262\213\350\'\360\273\372\354"
+"W\322\372\0\0db\237h\21F\310\34\241\354|\37{>P\1\370\77\353\376\1\221\324"
+"3\26\235&\331$\2\214n\2374t\224\7\342Y\23\200\341\326\360\234\77\203=K"
+"*C\27\244+\350zV\234\23\213\271\205b>/\26r\242\\\220\230\276\223#\371\332"
+"J\227\237\f\264\232\235\2368\7\0\0\340\333\332\3\241\342\\:Y\42\245LLL"
+"LL\177X\77\1\332R\315O\237q\r\363\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0\0\252\215#"
+"2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\3\64+kys\306\0\0\3\331IDATx\234\355\330]L\24W\24\7\360\377\256+\37k\260"
+"H\227\42\225\320VBM\77(`c D\2121Z[\23\365\3014\230\224hbKIK\373\326\204"
+"\7\372`L\345\241\255\245)\251mZ5\201\20\242\17j\214\t\305\306\306(\r\261"
+"\251\3427D\251!\30\245-4Z\276Y\26\346\337\207\331\335\271\367\316\356\354"
+"\\\337H\366\2740\271\347\3768wvf\366\334Y \31\311H\206~,q=\323\27H\233"
+"y\242\22E\247g\311\277\276\316\322\227;gH\222\34\314\327\225\333\347\31"
+"\216\363\232\262l\212\321(\324\222y\377X\222o\351H\177\257 Y\244!=\307"
+"E\331\357\321\240\237\2112\270^C\3560\4\371\357&\rY4nA\243\365\31\r\31"
+"\30\260do\205\6\204\357\327(\34\375\320\253#\321\22\201\13\207\2Z\20\265"
+"\21\331S\252\7Q\31\64\341\360n\235\213\t\0\371#$\311\271\257\226kB\370"
+"\257\221$\317\275\34oB\374\245\224W\1@\337\31\335\222\311H\306\242\t\17"
+"\236\355\216\233\254\276\f\0\350\\\23#W2\341\203ou\\\232f\376\311\2135"
+"\303\13\275\357*\5\77q\3700\77\2702=Vfd\22\263\346\321\203e\351+\225\257"
+"\4>4\314\203\327\216Q\215[\257HS\3237v\b\r\244\267:\303J\265\253t\217m"
+"\25{\242\271\203>q\374\351G\n\255\267\237Aw8\365\2752\336\250\320.;\375"
+"\301\314\\IQ\3063Fdj\274j\243\35f\13\2617\202O\225\262\35\266\31}$\311"
+"#\366\345\244\17\313tA\275\373V\31$\31|\336N\361\261R\266M\3117\220$\17"
+"\307\220H\35\222i\250@J\247\f\223\344\302\213\261(\336W\312\312g\265\233"
+"$y\42\246\204o@\246s\342iyn\220$\313bS\324(e\305k\277\205\244\303\16\321"
+"{[\246\301<+\367\13I\362\355x\24\357(e[\242\231R\222\344\365\370-\325s"
+"U\246\323\271\221L+I\262&\256\4\266)e\233\303\343\371!\222\34\3629P\\R"
+"\312\346\230\303_\222$\77q\222xS)\373\5\0 \3631I\216.s\244\270 \323\211"
+"\0\20y4\3669K\274\241\224m\2\260t\210$\247\22\356\327\316\312tlE\344\36"
+"\3746\221D\231Rv\37\320K\222\241\347\22R\234\226\351\343\247\314\217\256"
+"=\261D\261!\333\306.\2224\212]P\34\227\351\230A\222\77\273\221xi\236\366"
+"\330\340\212\242\315./\271\223(\b\331\350N\227\24\77\252\362\256\353\206"
+"\230\77\253\320Z\267Rx]0c8\325=\315\235\226h\203{\31y@\303\361_\246\16"
+"\315\26\336\307\302\17\255\353\370\334\222\301\334\304\323\305Xa\365\352"
+"\237\364\244\320\253m-/aD{\365I]i\365\352r}\32\356\325\272\77D\0\0\276"
+"!\351\324f\302]\304[V\232\21\354\357\236\26\62\313\357\5\0\334,\246\343"
+"\377\367~t\337\274m\366\247Y\203\373I\222\357:\257\314\337\31\275\206\335"
+"\376\310`\316$I\336sl3\360t\t7]t\233\361\35I\362\3\347\242\265\202\344"
+"\302\13\346\340\232\20I\376\351\\\324;(=`u\346\250\271\222j\347\242\257"
+"K\222M\0\200\275$\311\213\216\357\350^\224\310\3\6\0\24\267\0@\250\336"
+"\361\302x\221-\17\f\0(\354\364\3@\323M\347\365\242NZ\357d\0\330l\336\371"
+"=\316\237\21\200\n\211\336\251\334u\322<\372;/\221\304\22eo\30)\37oc&\306"
+"{\261\344D\225\13\251\374\2f\306\203un$\220rT\225\247r\334I\0;\372D\370"
+"\373V\327\20\200\247\252\371\217i\222\34\377\355\300Z\267F8\316\3142\36"
+"\215\353\24\\d\361\77R\363\333\346\240\254C*\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0"
+"\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIM"
+"E\7\322\5\6\3\64;v\316c\242\0\0\4\bIDATx\234\355\230]l\24U\30\206\337\31"
+"\326\302.V[iS\212\r(M%\nq)\246\26\65Zc\202F\214\361B\261\215\22I@$\21\275"
+"01\341\202\33l\264\27\30Scc4\376%\22\322\310\205h\243)\325\204\20\251\22"
+"\b\362\243\b\250\225\324*6\212\206B[\233\326e\347\365\342\314\3179gf\316"
+"\314\306xA\262\357\315\316\274\337\367\354w\316\316\231\363\315,PVYe\225"
+"\365\77iV\224Y\333\322d\215i^]K#/$}[~\240H\362\344#\262w\353^\207\344\261"
+"\7\314d\3074\205\272-\337\333Pp\275N\23y\233\227E>\347y\253\34\337[o@\17"
+"\373Y\34\237\',\353t\340\37557\226\\JIO\t\357v\331\353\360Sm\r]\21q\22"
+"\345E\240Y\371$\27\341\5\'::,\237\374\34\357E({Q\232\327\35\302\253\236"
+"\226\274e\261(^\b\262\366{\336\253\201\367I<\211\212\3^\326\37\213=/w\334"
+"\363~]`@qe\257\310:\322\24x\325\37\13\357\253ER\242\25B\201\225\217-\313"
+"\f\365}\352\310^\333\2437\331\337\367\355\241\251hYe]f\262\260`06\330\376"
+"5\0\240\177IDl\371D\6\231\305\21\1\2419\342\243!*\303\16\355M%\350\77\240"
+"\31\\\32\236\237\215\212\234\233\304\2648:;7;_\333\22\370\233\273\21\334"
+"\374\1u}\267TI\315\336\323\33\364\35\36m\257\fB;ut]h\24\353\374\330+\31"
+"\331\237w^C7\207g0\350\206\336\320\374\255\32:\20F\337tw\312\n\315\257"
+"<\247\242Nx\227\27\233l\2619\24x^+\333\33\3128E\222|7<\234\354\250\212"
+"\26\365\325w\255C\2223\327\205Q<\243\225\335\241\305\267\220$\337\211 "
+"1{DE\13\215J\270b\224$\2137D\241xR+\253\316\352\t\222\344\207\221$2C*\372"
+"\217<-\353[\222dk4\212\265ZY\371\332\337G\222\334\27C\302>\251\2423\rA"
+"\354s\222\344\375q(\326he{\374H3I\362\233\250\226\352N\350\230\212N\325"
+"{\221\367I\222kcI\340A\255l\267\353/,\220\344H\306\200\342\240V\266N\330"
+"/\223$\2375\221\270W+\273\35\0P5F\222\177\306\77\36\2\0\276P\321\211\32"
+"\300\2735\266\231I\334\245\225\355\2p\305\bI\376]\223\200\3423\25\275X"
+"\355\255\301\327\222H\264je\267\1GI\262\260(\21E\237\212\216]-~\272\235"
+"\311$\362\216\312n\35 I\'\237\2\305.m\266\16I\356IC\342\306K\f\353\356"
+"T(v\204\311\203\351H4\26B\350\303)Q\274\245\223\77\246n\210\13\2475tcZ"
+"\22\350Q\311\321\331\351\321\372)\5\335\222\236\364nPW\27\252JAk\307%t"
+"{)$\360b@\316\324\'\247\313\252\16z\365\333\245\221R\257\16\265\274D\371"
+"\275zw\251d\320\253W\226\216\272\275:\266\315\230$^\2\343\333\214\333E"
+"\354\326\346\312\231\323\203SR\344\25235\0N\344\315\357b\366\323\277\210"
+"e\3239\'0;I\222\217\233G\226\353\367\257\341`\3163\353&I\362\214\261\315"
+"\300\32\220\26\235\377\230\361:I\377\77\2028m\224\227z\361za.)\220\344"
+"O\346\242\366\260r\203m\22\256\30I\273\271\350-\n\311.\0\300z\222\344\376"
+"\370.\16\300\306r\325p\0 \337\3\0\205\315\306\13c\243V5\206\0\64\365\347"
+"\0\240\353\204y\274\330\244\214w\262\6X%V\376\1\363o\4\355\317\31\376p"
+"g\307nq\364{C\22\211Y\332\263\241W>\356\301L\326\206(r\242-\5\tkW\230<"
+"\333\222\206\4*\336\323\311\217\352\322\221\0\36:%\203\207V\247\6\1Xm\335"
+"\207\247Hr\374\313\227V$\247\13F:\256\272\3069\77^J\301\313L\377\2m\250"
+"\353r;\7:\370\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K"
+"\0\0\0p\b\0\0\0\0s\230\322X\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13"
+"\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3\65\169f\226\300\0"
+"\0\3uIDATx\234\355\230KH\224Q\24\307\317\230\215(\306La\351 \205=\240Z"
+"TcO\243\207AT\20aDD\246=AH+p\25Y\13\263$\27\265l\343\312Eef\213\36\20\42"
+"\205m\204\36\242F\13)2\b\255L\311J\220\264Q\307\323\342\336q\276\357\334"
+"\307|\217 \221\357\277\321{\356\271\277{\276\357;\236{\256\0\236\376\227"
+"|\n{EP\277\256\352\217\365=zP\257\200dM\222u|By,{JV\330{\'\364\353&\377"
+"a\f\236f\256T5\307\250\23)\0\0\320\334\353~\273<^fn\272GA#g\r\245\273F"
+"\205\306b\365\357\264kV\365T-}\353\26\345\37\210\27\346\255.Y\307\rE\276"
+"\336%\253\335\300\212,p\205\312C\243.\271b\3353\261zf\271@\205\42\346c"
+"\261\300\5\253\332\214\302f\347(\177\77aE\227i\274\365\347Pa&u/u\34W\233"
+"\320G\374Hu\210\312\23P\210\'\35\262\32$\2546g(\232\20L\33\224\376\272"
+"w\177\306/\265:\t\313\337\'\13\13G\3469\210\2530\4\0\200\357\2119\365\224"
+"\203\270^#\42\342\263\3034\260n\373\275\21O\210\375B\356\343\36\333\254"
+"zDD\354I\202\32\312zl\27\305\23\342<\300\342(aM,\262\311\272\312>Z\6\0"
+"\64\321\300\256\331C\361\204\250\3\0(\240\254\1i\342)\305\217\214\\\0\200"
+"\344^\n+\262\305z\211\210\210/\330\240\222\262Z\355\240xB\24\262Q\3668"
+"\205\255\266\301\272\203\210\210}\261\367\362\200\262j\255\243xB\\\211"
+"\215wS\326\260\354n%W\25\42\42FB\261q\322G\n;g\25\305\23\2421n\271@Y]V"
+"\232@\0\200c\314\177K\3342_(\213;,\262XBt\32Mw)\353\2765\24O\210\22\243"
+"m;e\215\207T\313M\272\205\210\210\203\346\323\253\213\302*\255\240xB\334"
+"0[\313)\353\213\352\212g\324eDD\214\346\230\255\301\21\n;\230\30\305\23"
+"\342\21\265\327QVKbV1\363\24\n\361F\312\232\\A<\304\207f\31=\232\33\246"
+"\23\303s\314c_Yy\202\260d=\204B\277\310\345A8\237\312\22\354eP\360\210"
+"~^\336C(\364F\37W\211\235R\36\336\254\233U\364\20*\3356-&\245\243\210]"
+"-\272\276IwZ\270\234\30\306\262\7\325q\261\n1\2568LW\t\201U\250Q<!\204"
+"\234\217I\350_\77\251\373\24~\355\334\245\232/\25\2\333\247r]\302\316."
+"u\375\r\374\246\254&\225k-\233\77\253\214\233\2276\203\242K\345\2169,O"
+"G5\347U\276\360\220\327\265\233*\303\6\0_7e}\217\227_\303wX_\314~\222\277"
+"\f\223X\343cT\306!\211[rG\342\234\221\265\26\257$q]\\\313\177\321\336x"
+"\276>\241\226M\353\4\247\235\23\261\215\36\352Xp@x\373\r\324e\315\320\324"
+"\334H\226\216\225&<d\224T\340m\203\206\311\247):\230\360%\261#\3150\235"
+"^c\336\254#_\215\n\n\251\217\370\234]Y}\220\25\336{t\256\260yS\373\207"
+"\317\77#&[J }vf\270t\245d\203\341\206\226w\375C\20\20\267\211\211|\262"
+"V\265\'\42\42\266N\327\377!OW\226\'O\236<y\3624S\364\27\306[;\'\2466\210"
+"\303\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b"
+"\0\0\0\0j\23<\376\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13"
+"\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\3\65\36$\321\206\244\0\0\3\35"
+"IDATx\234\355\227_HSQ\34\307\317\266\234n\271\346\330$K\360_3\27\314\376"
+"*11)\244BKF/Q\17\243P(\352%\321\32R\42\6\275\324\203\220O\365RH\6I\365"
+"\340C\30\t\202\31\212\4\261\206\355A\241\320\351\n[\3235s\323\3759=\354"
+"\256s~\347\376\23\337\252\373}\272\277\337\367|\3169\367\334\273\337\357"
+"\16!E\212\24)R\364\227J\5\242\216<\351\321\3351Qk\26K\313H\17Vo~\303\377"
+"\23\272\5Ds\t\351\321\251\315/\244H\221\224T\42i\26397G\27\213\306\202"
+"\301\344\306Qs\355\341\275\345\305\331\2310\345\237\37649\266 \277\211"
+"\202\353\23I\241\312\362\241s\2474h{\272.Z\226\342}%\342\240\276\'.Y\323"
+"\242\327\340\335\221\250t\260\222\244S>_0b,\256\312\7\203\237]\\\23Z\323"
+"\352\'\363\7Z-\351\244\3329\3\26\36\324\b\220:/\31\340\243\3262M\1\326"
+"-\200vQ~;m\34J\321\350\352\16\376\242!\312\237\320\322\326[\260l7\17=\5"
+"\374;\264u\23X^\311\375b\274\272\235\262N\303GD\332\16W\207-p\373MT\300"
+"\274\203v\26\375\5\3752\352z\tZ\344\2348\324\3\3750u\315\224m\362\3408"
+"\364\25\234\3735\22\225\236EW:i{\340\2438\232\305O\335\'\2078\272\2156"
+"\212\340\tw\bL\347\232O{K\267\340\304\242(\351tO\6\352k\13q`r8Jq\5\366"
+"\252z\261\255SMr}h\b8\373j\34\216\22\61\16\261\3755#\275\243\256\256z\253"
+"\4&\202\332\233N\324h\371iY\324\346:k\335\0\306C\263\317]v@;29\376\345"
+"\261<\252\275\352\6\77\344\350\310\233\321\251$*\222_\377$,C\236fC:/\373"
+"Jd\365\202B\262x\376O\251\224{%\364/\32\350\211\274\r\1\371m\246QU\77 "
+"\3\307\27\345I\356\227s\345\fH\266\321\244N\2227\206\300\355\314\203\257"
+"\277\32\261{U#\204\220\313\4f\32\6\205\241Tr\303N\230\233\6\321AI\264\32"
+"\346\226At\f\232\244\353\250\21B\6#t\315tPq\0\232\6\200\262\1773*\350\240"
+"\2251a\3334\3003\304\337r\210\267\237\355\363\343p\246%\306n#k\3140\26"
+"\216\357B\310rw\354\22\67`\210\261c\215\234\261\307\307\222\30\373\357"
+"\365~\3078\304\215ha\355\304#\207\26\351\216<X\303\30c\34\345\363x\236"
+"C\365~\1\363g\346\42|t\204\357\366en\311\231\342\233\31}\256D\265<{\235"
+"4<\267(\371\334\204\20\352a\2637\250Cn^\21\4g\322\357\250\346%\310\246"
+"\272\300\3*\353\347\177p\275\277\220\351!\232\333k$=\333\210\30\25\266"
+"\rG\210\2770\330\276\233v\255\17\177`\2141N\276k\341>=\341\267\233\272"
+"\2508\77W\233\210\204\277\316\205\21+\265\255</\261\340Y\346\31\212\24"
+")R\364o\3507\246\303}\20\216\350\366\244\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0p\b\0\0\0\0s\230\322X\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\3\67\36\26\347\344&\0\0\4\66IDATx\234\355\230]lTE\24\307\377[\333"
+"mh\252[\rR6()\242\25\36\220\256|\264\6\265&F\210\306`\324\30+_JB\264\250"
+"\tOF\340\1P\42\t\232\230\250\17\220\230\360\200b\301\7\77\22\323\20\r\232"
+"\320\240B(\306\207FB\t\330U\201\206V\253M\333l\333\365\317\303\235\333"
+"\336{f\346\356\375x\203\375\277\354\316\2313\2779\367\336sg\316\334\24"
+",\252\251\6\60\62\256\331\253j\1\214\217\330\206\31\365>In\321\355\33I"
+"\362\23\343\220\n\33k\f\0\232u\3732\0\30\216\306\352\7\200\307gHs\3253"
+"S\235\341Y}\0P\367\2624\257\253\7\200\213\266Qf5\220$\377\273\307o\235"
+";@\222\\\34\215\205<I2\237\363\332\26\\ I\16\336\24\221\265\237$\311\302"
+"\7\215\256e\376\336\202c;h\36\221\262\262\226\237t\377\365\236\311\17\246"
+"o\271#\327\350:\267\36\217\30\27~\240E\'\242\222\200%\23f\324\344\262\350"
+",l7\263\266\306@!\365\261\t\265\317~\213\3a\273&%ib[<\24\200\346\23~\324"
+"\361\\\3511v\255\330\367\273\13:\377\241\341]\367(L\304\263\32\263\31\376"
+"{\371\334\325$1]\'\ns\277^\254\6\0\34\315\'\237\256E=\306\217\222\243p"
+"D\261\206j\23\243\262\343n~\275\222\230\265{*\351\177M\212J\367O\277A\17"
+"&dm\360\274\215\207\22\262N{X\205Y\211P-\364j{\42\326a\37\253/\352f\346"
+"U\266\340_\277V\'`\355\366\243x4>*}E\260\212w\7x[k\23\0@[\275to\217\35"
+"\327)J\rjUTH\265h(\362\245\230\254\16\3\353T<\224L\bG\366\n \350\336\277"
+"\2326Z\343\204\225\276d\n\213\243\267\305\210\253-\13\0<+\31436\306\210"
+"\353$I\362\273\347e`\275\3019i\222J\210\247\264\334\347\252\310\254C$\311"
+"\276\n\354\221\254\257\243\242TB\274\1\314+\n\326\344\334\210\254\267\235"
+"\2076\23@\247\f\354\235h(\225\20\7\0`\265d\365\33\23\317*\265e\344\0\240"
+"2/ak\42\261~\42I\376\3504vHVW\24\224J\2106\2475G\253\316\357\213\300\372"
+"\224$y\311\275/_H\326\376\360(\225\20o\271\355\225\2225\234\t\315\332E"
+"\222,d\335v\305y\t{=,J%\304\221i\313\233\222\325\23\266\314_\357\370\257"
+"\230\266\334\256-\213\217\204d9\tq\306k\372L\262>\17\207R\t\261\311k{X"
+"\262&\262\266\341>\35$I\16\370w\257\36\t\333\21\6\245\22\342=\277u\213"
+"d\375Y\31\202\265\223$Yl\360[\353F%\354\331\322(\225\20_I\373\1\311:V\232"
+"\265\326\361\324\26\342\345\222\365\377\2\341\241_\264\223\321c\271&\331"
+"1|\263\277\235\332l\370t\344\223\251\206\260\350\37qx\320\366\247\315%"
+"\346\362\250\356\205\340~s\ra\321/\301qm\212\262\2247=\20\324k\251!l\362"
+"\177\237\23K\307\32\347h\321s\3318\323\235\367\n\303\370\234\1{\\\316\n"
+"1a\331L\27i\201\5|CQ\t\241\345\274+\255~\275h\257S\324\261\3631[\177\273"
+"\26\330\2236\327\273\234\275\313\276\376fF$\253\323\346\252>\305\275f\215"
+"[-m\36\25\347\233\35\33\234<\35\13\330\257Z\265\213|7pRk\330\0R\275\222"
+"uuz\371\365<\207\245k\235_\361f\370\344\24>^\315|\316\340V\331]:gL\245"
+"\305\317\206\270\266\335\257\376\4\236x\376\372FZ\232\227hN\217N}\202\373"
+"2\210\205\247\265\273\337!]\26\17M\365\215\316\16b\325h\27Y\24+\360C\3"
+"\236\316o\253\203`\332\223dw\215\247\273v\217\177\262\356V;\252NK}\362"
+"{\347\310\232\302\354\246\'\326\335\252M\336y\372\334\37\177\27|\266\352"
+"LmU}S\373B\303\4\303\35\307~\2732\204\214>\215+\361\310\272\354\236$\311"
+"\256\350g\33\273n\4VYe\225UVYe]/\272\6\223\324\355tZ_\220\5\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376"
+"\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374"
+"\0\0\0\7tIME\7\322\5\6\3\67\13{:\0\315\0\0\3\322IDATx\234\355\227KHTQ\30"
+"\307\77\307\34u\322F\321J+\324\362\31hee2f/\242\302J\244\26Q\220T\6Em\n"
+"+\351!Q\320\306\26An*\202\242\27\24\325\302E\30\tE\226\212\4aR.4*\337\225"
+"\257\306QG\307q\276\26s\357\334\363\235s\37\266\b\42\356\177u\316\367\77"
+"\277\363\274\347q\1L\2312e\352/)\210fm\241\0\60\352\21\212\205D\0\200g"
+"T\257\246+\210\210\307\304\370\1D\304{4f\241Y7\0@\256\210\346\0\0\270t"
+"\321\37\0\0\5\341B\177w\6LM\264\35\0 \352\20\217\356\235\13\0\360U\354"
+"\r\243$DD\34N\245\321\204~DD\\\252\213B\7\42\42vd\263\261\214/\210\210"
+"8\20\254\217^GDD\234\270\232&G\222+&\374\261\273\\Qn]aU\243\234j{\3371"
+"`\235\265 ;M.\262\256V\277Ux\205\32\2523\0\1VL\252\223\336\34C\24\316\252"
+"\243\247\215I\b\272\251F^\343\'E\235\275\340\345\301\3113\323\42\1 \267"
+"\216\222\265\331\306L@\253\257}\223\271\317\225*\333\1@\\WEs\322\342\355"
+"\350\354m\355\373\203\26M\375+\322X\327\240\230\230\210\260\360q\367x\177"
+"\377\324\364\321\230\374\334%\251\211\241r\326\327\331\372\251\361M\267"
+"q\'\342N6L\251m\234\367\345\363\364\301\214\7\36\365\315\212\210\223w\222"
+"\264A\333\25\215\3B\222\373\30\35\235\222[X\225\245\204}--\375.{\342\312"
+"\331\244\360\303\375\23jm\246t*\365\367\34\217\365\7-Em\244\341*\265\243"
+"8\274Y)\320\302\264\25\375\221\260e*\350y\306\77\301\32+|,:\26/6:\310\370"
+"\rV\326\252%\315^\20\320m\304\277\304Z\364pm\326\355/\342\330\\\306\332"
+"N\227\310\36\60\244\3735\226v\277\220\311p\337`&\217r\17\214ELz\210Z\312"
+"<Ih\23\365\235L\332G-e\341$\364\31\255\3739h\312\306\243#\345\254\375\350"
+"\2036\32\42\206\256*\223\370z\26k$\320\31V\273\361\212\273\374\336\320"
+"9Z\261&:#\220\272\367hc\376|\354i\254q3\\\\\346\312\215Z]WP\360TW\23gi"
+"\236\303\221\244\305Q\224\221\315\261vm\316L\35L\3\315,\334\234g\25\303"
+"\206hF\361\256\224i`\2\32\272\373\260\203\332\256\306\372\257\267\215Q"
+"\353\3212\262\221\335/_\274\3768\5\t\306\355o\241\307PSI\244\77n\370I\204"
+"T\222\203\344\347\236\300Qi\364I\330\236\24\260\25\65\27\364\30w\323\217"
+"\6\335\'d\317\246\237\306\244\264s\216\354 \301R\226\24^\363D\366A2\234"
+".\362\252\317\323\32\253\5\0\2408\232\324TC\16\206\205\272\35.\242\261"
+"V\222[\256\213rO\335_$\267\201\232\312\255c\1\200H;uc\330L:\367\264\214"
+"$h\24\327\223t6s\2343\351\265\31I\347\20\277\207)\3362\376\236\257\247"
+"5\rqv\251\322F\33g\341d2@l\305\33\371\7\254\232\263\307\267J\306\342\26"
+"\236D\354\274\\\331\2078(\2258\310\333\336[\16+\204\257\271\356\3779r\213"
+"<vI\250\255S\305\34\226\23\316\365/E\367\216<\244\42\237h\312\372\222\5"
+"\371\202\355Q.\2742M\362q4H\77\323\254N1\223\\2\242\n\266\371\277\321\340"
+"\247$\352;O\26h\321}\361\301\365n\237|\207\4_\234P\302\355[\201\323\374"
+"\322\32\227\342wW\235Hc\335\224\33\3\210\2108\365\366\240\364\364\244o"
+"7KB\342\354\b\253\327\345\354\355p\2/KFj\224\267\273\351\227`\2302e\312"
+"\324\377\241\337\27\20/l\344|\275\235\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0K\0\0\0p\b\0\0\0\0s\230\322X\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\3\668\335\361P\232\0\0\3\345IDATx\234\355\230Yl\ra\24\307\317m\253"
+"\245*\267DqS\232Z\22<\240\366\212\245B\220\210hDD\325\236T\324\222x\22"
+"\313\2035$x\364bI<\330\252$\266H#\204H+\224(\361\320X*\21\265\265\24\225"
+"K\345\266\256\277\207\357\273\356\314\371\346\233;K\337\334\377\313\275"
+"s\2763\277\357\314\314\231\363\235o\210\222J*\251\244\222\372\37\24p\340"
+"\2632\203\210\210\2567\372\237\256\20B\207\375\243\250R\262Z\263|\243B"
+"\355\222\205\265\276Y{c(<\365\213Jo\376\307\302\24\237\254\25q\24\316\370"
+"d=2\260\42}|\241\na\324v_\254s&\326\233T\37\250P\304\304\302|\37\254\275"
+"f\24\256{G\24571Vt\210\215w\212-\253\244/w/\367\34\327Cp}\351\346\21U\250"
+"\240\200U\36Y\25\26\254\207\336P<!\204\306k\375\355\356\375\372tK\253\227"
+"\260\322\77X\205\205\266^\36\342*\t\21\21\34193w[\355!\256\7\0\200\233"
+"\213y`\r\3669i%\231\20\305J\356c\216k\326\31\0\300\233\24\332\317YW\334"
+"\242dBl&\32\30e\254\337y.Y{\304C\353MDU<\260}\356P2!N\20\21\315\347\254"
+"f\313\304\323J.\31\243\211\210\322\329\254\324\25\353>\0\340\2368\330\301"
+"Y5nP2!J\304Qn\7\207\215t\301:\r\0\370\20\273/\279\353\210s\224L\210\335"
+"\261\343\331\234\25\16:f\355\2\0DB\261\343\224W\34\266\321)J&De\334\262"
+"\205\263\352\2354\201DD\313\205\377\344\270%G)\213\323\35\262DB<6\232\316"
+"r\326yg(\231\20eF\3334\316\352\b\351N7\351$\0\240\305\274z\325s\330\16"
+"\'(\231\20\207\314\326M\234\365.\315\1k\'\0 \232o\266f\267q\330\302\304"
+"(\231\20\227\271\375\4g\335J\314Z*<\225B<\201\263\376\fc\36\352E\213\214"
+"\3765\272\200\17\204{\230\217\3\3536%\b\313\252\207\320\350\33\333<(\353"
+"\323\272\4s\31\224\275\304~\334\272\207\320\350\211}\\enJy\301$\273QM\17"
+"\241\323)\323\311\254t\224\212\255E\375G\313\231\6\fe\206\366\334\26}\\"
+"\242Bth\26\323\21J`[\365(\231\20J\316\307\244\364\257\257\365}\212\334"
+"v\316\322\215\227+\201\315\323\271\16\22k\227\276\376\6\177rV\225\316\365"
+"\210\30\337\240\215[\2266\203\242\203\255\35\363E\236\376\262Y\257\212"
+"\224\213<h;\2516l\42\n4p\326\347x\3715<\207qK\305/{3L\22\215\217Q\275\27"
+"Y\270\245\325%\316\31\253\326\242\326\42\256mc\344\37\333\35\317\373k\334"
+"2q\254\3424\363wl\242Kv,Z\240\334\375\n\3562\252\365\337X[\77;V\246r\221"
+"QV\201\247\266\30\6od\330\301\224\'\211\272L\303p\326~\363duEzT\266\222"
+"\372\300m\261e\rP\277\202\271\313z*\223W=z\371\366k\304d\313\bfu\351[P"
+">\334b\202p\305\255gM\255\24T\247\211\211=\262\32\275\'\0\240\306\375\336"
+"F\257\377\201\345E\307\1\0\247;\3u\0\0p\307\335\236\310Zb\237\373#\267"
+"\23P\301O\0\200\243\26C\256\357}Y\16\21\21Uw\6Kv\226\337;\201\225*+\346"
+"\0\361\343\353\363m\216|\371\356\6\210\210J\232\334n\275\215\312\213\275"
+"\311\27\347LYS\r\\\360\301\352\312\253\303\344\304\347h\365\302\214j\350"
+"\36\37r\375\34\315\37:\332J\177\372\210\253\177\330\20UD\333\3468Si\374"
+"3J\363\f\177(\242b\331\323\266\37c_9\235nu\215\312\\P\224\27i\256\275j"
+"\323\253&\225\24\21\21\375\5G\42\222\201(\327tT\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0"
+"\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIM"
+"E\7\322\5\6\3\66\2\33\375\211(\0\0\3\210IDATx\234\355\227YHTQ\30\307\77"
+"g\312ej\232d\214\26\313-+\13m\217\30\233vJ\262b\220\240\305\220\242\225"
+"zI\264$J\242\240\27{\20\352\251\5\212\310\240h\201\t\302H\210\\\250$\b"
+"\223\22J(bt0\2334\323\34g\314\371z\270w\346\236\357\334\325\240\227\270"
+"\377\227{\316\367\77\277\263\337s\356\5\60e\312\224)S\246L\2312\365_*N"
+"%\354t\216OL\32\n\16\5\2#\306Q\247{\371\374Y\351\t\321l\304\367\361}sc"
+"\247~\'\246\34\1779\202\nzS9M\33\314\271\35V\342\20\21q\370f\206:h\253"
+"\36V\5\21\21\203\307\350\350\244\\\2467O\nG\332\332\2\375\216\364\245\223"
+"H\341;{CJmf\373\244\372\375\245)B\320\342i\'\r{\255\ndR\253T\240\215i+"
+"\371\35a+\24\3203\214_\316\32K\42,:8U\336h\17\343\277\214g\255\6\322\354"
+"Y\31\272\231\370\347Y\353\24\261Z5\373\21388\231\261\266\320%r\304\f\213"
+"\360H\241\335\337\312d\270=\230\313\243\277\250\237\305\244{\251%\315\223"
+"\210\266P\277\217IG\250%-\234\210>\246u\77\1U\331xt\240\222\265\357\276"
+"UG\307\312C\27\245I\254\237\300\32it\206O*TW\322!x\275\247i\305\252\350"
+"\230X\352\326\335\365\356T\3647\327\5\31nJ\356\322\365j]\227P\b\327\326"
+"\22gA\276\313\225\241\306Q\224\221\315\265j\325\262q\32\230\n\232\273u"
+"c~\274<\254\213\346\224l\3176\200\311\320\204\235\207]\324\356o~\361\371"
+"\206>\32\177\264\202\274\310\301gO\353\337\215@\232~\373\5\364\30j\331"
+"g\27\342\272[b\354%r\220t\357\212\35\225z[\302v\177\23[Q\353&\277~7\5\64"
+"\256\206\220\376\r\335\372\244\370\346\34)\42\3012\226L\322\344\35=d8\35"
+"\26\326\314W\33\253\5\0\240$\231\324TG\16\206L\315\16{h\354#\311-\326D"
+"\227\321\330\17\222[KM\351\326\261\0\200\335A]\'\233\231\263\210\232v\202"
+"N\344z2\207\315\224r&\2756\355t\16\261+Q\362\26\362\367\374\13ZS/g\227"
+"Im\264s\26\16\317\4H\251j<$\26\250\345\354\241B\321\230\333\306\223\210"
+"\276\13\227\276!\366\210%\366\363\366\357\353\256xHZy9\204\210\210A9\217"
+"\35\42j\363)\230\77\243\211\2765\317\344\356\315\350\220<\21\271\31\325"
+"\247<p\313\354\260t\341U\250\222\367\222\1\240\232\217\236`&y\337\200\42"
+"\330.\354Q\353\3\22\215\234!\13\224U#\377\340z\275\'z\207X\317\205\244"
+"\360\227B\340\224ZV\327/\371\235\336\362\331\254\233}\345;\42\42\2164\355"
+"O\340I\0\0K\3065DD\254\311s(\230\363<{v\257\341wmLU\210\210\370\334\310"
+"\341\317i\7\42\42\16\244\216\236tt#\42\342\25c\245\3111t@x\243\32\376\2"
+"\335&<\372\224\nj\243V\361\30\232!<\306\33\253\1\0\0&\211K\332\24\7\0\260"
+"\263\313\300E\25U\354vyX\340>\330\200x\3178\232\310o\304\25\306\331\17"
+"\334\336\327\376\232 3\354%\326`1\367\321\251\245\351\314\366\307\320\26"
+"\343 \0\24K\277V_\327\215\212\4\360\370\5\60|u\262nY\376w\320V\264:-\364"
+"\365\325\243\300(\3334\365\17\364\7v\235\314L\b>\6\326\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0p\b\0\0\0\0wm\2e\0\0\0\2"
+"bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0"
+"\7tIME\7\322\5\6\3\66 \316\235\310\314\0\0\4\260IDATx\234\355\330kl\24"
+"U\24\7\360\263}\320\7\333\207\272e+\224F$hc]\222\22\f\305\200\217*\261"
+"\221\4\2145!!\352\7\2\37\n&Z\244\4Ac\214\20\211\321j\42\66\251\17LM0\1"
+"B\220\bj\f>\42bp\321VZ\202(\4))}\320&\273\264\354\226]\272\375\373af\273"
+"3\347\336\231;\316|\335\363\245\335s\317\376\346\356\354\334;g6\227\334"
+"D^\240p\302\325\33Y\204\216\334\4\6\333n\367\f5M\0\0\360o\265Gh\325$\364"
+"\370\321\33\264$\206\351X\340\5\252\32\316@h\364\0\25w\31 \204\334C\276"
+"\375F\350/\237{\351U#\224X\346\36Z=e\200F\37w\17\205\3062\316T\347,\367"
+"P\340B\6\352z\320\275Cy\337O;#\3159\36 \372 \355\244\332\3^\34\332\220"
+"\206~\255\363\344\320\362\204\346\f<\357\341\42\42\42\252\276\6\0H\276"
+"S\352\315\241\342\77\1\0\307\357\263\251q6\327\372\207\211\210\316}\345"
+"qB\16\303\301\234\202U\25%\376\374X22|\345\272\353\343\314[\327\21\36\67"
+"\254\265\376#\233\215\247\352\2611\0\317\252\231E\273\377\201$\316n\271"
+"M/X\223\0\200f\5S\270\376\214\214\1\0\304\336\257$\42\332\250m\350/\332"
+":E-C\226\16\0\304w\372\351\r\375\377m\372{\362dPS\233\351\6\224:\323sy"
+"\354\326\314\312{\26\247w\222\242\35\353\302\253\365\377gZO(x\330|^6d\26"
+"l\350\315\253\302\374v[B+\214w\17\214\2545o \5\33G\231\324n\5\265N\32\313"
+"~\t\n\5\25\207\314\322\'r\307\267\307Tu\254HV\263\335\270\235c\237\24\312"
+"\331k\202N\25\313\217\327l\244\16KK\332MPt\256\34\42\332f\250:\252*\0\260"
+"\336\n\42\352\314T\235\220\f7\246LP\227\315\352\366g\26\322)qt\366\210"
+"yJOZCD\313\246OU\2170\346\373\306\f)\356\372\237\246\353.\nCk\315\20^\262"
+"\205\2502\335G\365\361\21\377\240\31J\251\356\326o\351\205\21>\360:\233"
+"\222\354+1E \256\25\336`\371\362\b\223\266\252$\372H\257d\351V\6a\251R"
+"\252\325+\315+*\267\217A\361\31J\211Nj\245e\332+}\317X\301{\353\336\244"
+"Z\372L\373Sj\222\236\343U\275j\210\16iG\3133J\371+y\3259\7R\3448\21\21"
+"\371\215\322Ce\274\352\222\3\211\264\r\245\320(5\bE\375N\244\257ADT\240"
+"\275\320>\244\330\17_q\42\rt\327\364\365\367_3dr\307\301\303Y\17S\310\23"
+"\13\4HXL\352\310!\42\272WHG]Jw\t\351q\227\322\354\377\377>\13I\354\257"
+"\371V\341T\22\233\204\224KI\270\302\335\204\305\3\210M+c+\211\337\224\264"
+"\255r %\204t\276K)&\244]\234\271\34\42\242a!]\356R\272,\244\213\34l\343"
+"2I\262\205\334\351N\372[\314W\271\223\6\305\35r\216\243w\317jY\314\256"
+"\227\203\302\6\365\212#\351\31`\354\333\355\13\63s\242\223BM\255#i)Q\311"
+"\23\273\2366d\346\ts\352v$\365\0\0\36\65\246\272\271\224\220\365\317<\346"
+"j\245Z\207\254\257\340\203\274h\306\22\7\222\366\261~\212\33s\201\4\237"
+"\324k\16\244\323\0\200M\346d\'\227~SCu\0\200\24\273\364B)&M\251\257M\355"
+"\350\337\361\364^&\241U\5\315O\2\0\326\360|U\214I\227T\277\347|\1\0\30"
+"\20\327\372\313|RM\366P\203\326\333o\26Gr\177f\322y\333-\270\344\42\0`"
+"\330/\31\273;\312\250\26;\351\200V#\177JZ9i\226&\356\267\206vj%\247-N\346"
+"\26\66\251\13\25V\220\376\374\26\267<\326\36F\205\345\277\243\345\177\250"
+"\217o\222\16\23\21\371>\346\227\302BIUMX\37\265|,\'\42_\33\243\22\273\370"
+"\355\270\362\335\364\32\3752\327F\42z\341\26\263\42o\327eZ\305\202\306"
+"\317o\246\7\366\233\257I\261\237\\\276Ox\220\36\n\237\277\32\273QV:\277"
+"\366\201\351\316\22\357mU64e\35|5Kb\344)\25CDD\365\374r\347\221\352\270"
+"\303\21DD\r\307l\346\225\354\264\373\rQ\210\352\35\277OI\235\77Z\344m\251"
+"]\7\37|\244~Q\215\361q\370\372\331\336\23\77\fYT+\237\5J\347\4\313\13\312"
+"(\212\350\340\320\250\2528\33\331\310F6\262\221\r\242\377\0=U`\330\42\23"
+"\221W\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\65\0\0\0"
+"p\b\0\0\0\0\233\30gs\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0"
+"\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\49B\311\42\370\0\0\3UI"
+"DATx\234\355\327]HSa\30\7\360\307\271\231\214L\3155[\255A~c\214L\3\305"
+">\f)\224\f\13\205\350\252\213\300\13\351\42/\f\242\17%\352\42\302\272\21"
+"\242\350\203\244 \212.4+\20\223\4EHB\224\304d\32!\332L\23\277m\316\334"
+"\376]4\367~\2343w\26t\23{\256\316\373<\357\357\234\363\236sv\3163\242p"
+"\204#\34\377CDj\231\2447E\273B\335\261\275i\31\30\277\2759$T\356\2\0\340"
+"\253-\4T\272\n_\274\327\216r\227\340\217T\255\310:\301\20\2125\42c\17\207"
+"`\327\206\42\236\363\350s\2046u\231G\356\375\332\320q/\207\246\16kC\366"
+"yf\274\rfm\3104\304PO\2766C\3726\277\371Q\251\323\210\250~\315x\356\230"
+"\264\32\252XC]{4\33:\340\376c\234\2475\336$\42\42\333$\0`\245n\223vC\306"
+"^\0\300\273\314@\23TO \257\200\210h\2409\204\3\205#\324X\347\326\307&\306"
+"\30\rs\256\311)\255*\271 7\')\3367Xt\364v\2668\203\35~\347\265~\310\341"
+"\355:\263a=\263\357\215Ga\0\0c\25\1W\223\321\254N\0\0\355\26\325u\351\253"
+"k\243\271\341\312\7\307t|zn\224\77\61vdPy\240\2046~\317\23UqDD\224x\237"
+"\345F\267+P\332\27\36\265\262\227R\13\227\225\327\226:\306\243&\3\253<"
+"\345\362e\42\62\217\362hh#\253\24\254r\205\16\1Eu\b\227\353\20\253X\276"
+"\363\5\357V^]\27P\13Wy%^\376R\256\224\265\42\224\212X%[D8KD\344{\253\336"
+"\342\26O\344le\333\362\227$\206\251\202B\241\322\350e\333FI\375`\352\274"
+"X\341\277\333\263\222\372\344\337\262\374\22\317\235\357\21\354bi\204}"
+"(\252\304\312\214\260\363N\241V\311\n\257E\325#\250L\256w@\23;\224~^T\215"
+"\342J\362\235\376\312c\356\'\221\42\335\222G\322\5\210\253\35\6\200\205"
+"\227\7\371\3541I\325\223\42\314\3319I\\{\247\'\42\2534eQ\251&\'\205\241"
+"\216\210\342\224\263\202\204\216|\17\t\27\362\343\240\256\334\177\245\226"
+"\244\\\360\256SGD\362+\331\2426Q\241\206\245\\rPEDd\222\356\27\2\265%\31"
+"i\374hPR\201\232\316f\364\325\354\362\217\356J\352\206:\262\255\2@\371"
+"\332\260HR\375\352\252\16\0\226c\327\206\221N\211e\251\241\304E\0x\306"
+"\22W$\365PM=\0 \274)\343fD\345Vi\335\13\275\0\360\221O\235\223\16\326\252"
+"\350#\255\337\0\0%|.\262[bW%\264\245\17\0\360V\314&OK\354\242P\336\355"
+"\0\0\314\310\377p\212\334\22k\334\341\257%\334\\\6\0xKI\2162\231\271\33"
+"NX\211t\311\247\236\374\364e\252\225\327\210\212g\241\b\357\34\67\250U"
+"AD\351}J\306\355\340\222*\42\62\324\270\2\242\305\223\1\20\21Y\357\311"
+"\253\363E\353\372\77:\363\205\1\245\351<*~\373\325\272\234\224\222\274"
+"\275)\376\321Bw\373\13\2074#Po\24m\333f2\304\314y\306G\306=\353\236[8\302"
+"\21\216p\374\303\370\r+\211\25t\270\357\225u\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0p\b\0\0\0\0wm\2e\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\4\6\7\261\236]\321\0\0\4\337IDATx\234\355\230]l\24U\24\307\317v\273"
+"\224\312\266[bK+\224jE\264\241B\2A,I5X\323\330H\242FHjP\37$\370\300G\242"
+"\213-\1\32c\214\240h\42\362\200\230\242BJ\202\2116\r\32\5\277\2101\2\t"
+".bC\333h\5\322\264M\241\255Ewi\273+-\335\376}\230\217\2359\367\316\307"
+"\16\211\276\354yi\367\177\376\3677wf\357=s\356\22\375wQ;\r-\336\274%P\250"
+"_\7a\352\301[!\35\206!\272s\275\203\236\200)\366y\6\25\16\232I\323\253"
+"\274\222>\3\213\236<o\240z\16\2\16z\2\225\374\245\3\222\372\375\325y!}"
+"\251\17\337\261bH\373\177`v\372\240\27\264\301\211\265D\345]\332\247#i"
+"\203\312b\352\320\301\25DD\263Oj\250\247\323\4\371\276W\7v\225+B@[\244"
+"\303s\322#mQ\307}\33\322\245&u\13\266\245\5\272g\\\31\365A\266A|\346\206"
+"\42>\233\6\310\177\32\0\60\25\66\313\325#\0\200\277\347\272\'5\0\0\306"
+"\237\344\372\302\213\0\200\23>aD\266\240(\21|\233\210\250\365<\327/U\205"
+"\3DDw\366\272\237\325\377\27\342\375\nQ\\Z\224\27\f\304\'\243\303\375\327"
+"=_\247|}sd\314P\b\6\276\330\272\310\220~t\24\300s\316\230e{.\212E\5\350"
+"j\320\266p\375\4\0lt\300\314\334pA\206\1\0\304\367\225\20\21m\232\2\0\274"
+"d\313\311\r\17Yr\0 \261+H\257\253\377oW\307H\327\323\232\275e\306\217\311"
+"\13\35\275\2437g\225\334\273\\\333\272\271M\353#\332\242\235e=\241\342"
+"c\346\347\362b\241\236Z\374\306\25a~{,A\265\303F\337\310\272,S6g\3235F"
+":`\5j\2342\332N\27\13\206\24263\351#9\307\267\337\344:.{\347\372vN\33="
+"G\245\240\254C&\320\331\333\344\327\333hD\35\223Z\16\230@\261\371r\20\321"
+"v\203\353+\'\3\200\rV \242\226\224\353\224$]\2274\201~\265\331\335\301"
+"\324F:+f\347\216\230\247\364\2705\210\250Z\177T\35B\316\367\265\31\364"
+"\273}\301\371X\363]\26R\353\314 \274l\13\242\222\270\352\353\343\231 \353"
+"\224\222N\257\307\267Tc\224\'^cS\222}%\246(L(\306q\246\27D\31i\233\23\211"
+"\16\252N&72\20V:\222*U\247yG\371\373\30(1\303\221Dg\24\253\3327\2505\243"
+"\266\214\271:\'\235I\207\225\77\371&\322\363\334\325\351\f\2426\345j\331"
+"FR`5w\375\346\202\24=IDDA#\351\341\20w\365\270 \221RPf\32I5\202i\300\r"
+"\351\4\210\210r\224\17\312MV\13\246~7\244\253\355\25}\3\3\177\32\24\377"
+"\30x\270\350\27H\277\261T,\24@\302fr\216,\42\242\373\49\346\221t\227 \217"
+"y$\245\321\177:\220\n\5\231\227\n\267$\261IHz$\t+\334Kd\311e\233V\306\226"
+"$~SVm\272\23iB\220\3\36IqA\366\360\344\262\210\210\206\5\271\300#\251W"
+"\220s]\224q\31IRB\356\360F\372C\324K\275\221\6\305\n9\317\325\3509\341"
+"\345l\275\264\n\5j\207+\322Z`\364\233\235KRs\2423\202\247\322\25i%Q\336"
+"c\273\215\247\376raN\355\256H\35\0\200G\214R;\'M\270\371\315j\276bU:du"
+"\7\267r\323\f7\77\244)\267\365c\302\250\25N\360I\275\352\202t\16\0\260"
+"\331,\266p\322\317\316\240\245\0\200$[z\213\223\2144\355\2746\225\253\177"
+"\307\345C\214\204F\'\320\202I\0@=\327K\343\214\324cQN\365\370\4\0pU\334"
+"\353\257\360I\255\261\7\325(\275\375V1\343\377\211\221\272mKp\336e\0\300"
+"pP\222\273;\306Pa\211I\17\365\367I\371)i\365\224\231\364\317\375\326\240"
+"]\212\345\234\305\303l`\223\272Td\5R\317o\t\313k\355g\250\210\370\236\'"
+"\42\n\274\257\3467K\323DD\276\17\371RX\42qUD\324\254\345\261\234\210|{"
+"\31jb7\177\35\227\274\253\355\321\317\3756$\242-7\31+\372\316\322T\253"
+"\230Sw\344\206\226\370\324\274&\305~\362\241\243\302Az(\322}%>\36\312_"
+"P\371\200\336Y\342\275m\216\rM\250\231\357fI\214<\345\204!\42\242*\276"
+"\334y$\233ow\5\42\242\232\3436\363\232lY\344LHEY\323/\323R\316\371\260"
+"\274-\265\353\340\213WU-\2530\36\207\257wu\236\372a\310\302\355x\26\310"
+"\237W\\\220\23\242\30b\203C\327\234\314\231\310D&2\221\211L\20\375\13\240"
+"\373\261\267X\207\26\277\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\65\0\0\0p\b\0\0\0\0\233\30gs\0\0\0\2bKGD\0\0\252\215#2\0\0\0"
+"\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\6 \24"
+"\224\350\272\0\0\3tIDATx\234\355\226[H\24Q\34\306\377\256\256\231$^\363"
+"\226-\350z\243\210DC\243$E\20%\303\302\242\204\236\nz\210\202\24\f*I\211"
+"\42\42\n\202\36\262\373\25\2+\320,A\266HP\202\244\42IB\314\42\323\274\226"
+"\227\\\257\351~=\354\316\3149gfv\267\250\267\371\236\316\377\373\376\277"
+"\2319g\366\314\36\42C\206\f\31\372\'\312w@\322i\257\241\340\2572\204\205"
+",o\251\233`\324\271\324;\250\30\234.x\5E\f\360\224#\327\33\252\26\202>"
+"\7y\206v\211\20p\305#\24\375Cn^\224\237\261\320\23\325 \267\36\315\34\224"
+"\306}\241\356\241=R\343\364\16\242\370\16\251\272\343\26\262\214\273\332"
+"\6\62\211\210B\237IX\211\33\310\307\346j\352\210w\32f\351\205\17E\352S"
+"\7]=M\301\262U\351\372I>\322\205\22\355\316\216K~\214Y:\3534w\353@\276"
+"\255\0\200\205r\336\316\36\1\0\214\306jS\25\0\0\373V\321O\352\2\0\64\372"
+"H\206\17\23\232+\3\210\210\36\274Q].\254\334LDT\363E\347!\r\375\271|\364"
+"\243\340\250\240@\363\304\314\360wo)kNVF\202\264\245\354]\357Z\233\372"
+"=\335>\376\244\274\253d9^\356]\342\216\331\370tQ\3058\267\363>\335\331"
+"\2446h#\0\200\346\30\315y\371UT\7\60\345\374\253\256\321\320\224,\177\331"
+"\350\313\357T\337(\3749{\345\241\262\20\42\42\212\272\252x\275+TP\362\'"
+"\26\262);\276\211q\305\271%\365\261P\275YI\3561\276\360\321\211\354e\241"
+"\217\313\224$g\201\tZ8\310\277\205[\256\\%\211\31d\3G4K\235\342\240&&y"
+"\314/\1771\23\245\315sQ\201\222\244\363\20\16\20\21\231\234\331yf\362D"
+"\3756e\234-,Z\220B\345\344qI\235C\31\7\n\324\210B\35\346\223\27\314x\\"
+"\240\336\313\243\230_\374\263[\230\2565|\324c\222\2232>\31\343.\336\312"
+"e\373\225\340\tO\275\345\250USLT\257\334\312\357\'O\325\3613\331\320/\'"
+"\267\230-\221(\274\222\33\302\2\204Tw\3\300\344\303M\254\273E\240.\222"
+"J\221\351\31\t\276J\351GDqB\213]M\r\17s\245\211\210B\324]\36d\42\327\217"
+"\204\221\370s\320\246\346\376\212\232\22\2740\257(\361\223\34\243\325\250"
+"\242\272\5\317\352\221\42\42\212\20\336\27\42t\32S\223\331\252S\240\364"
+"Nh\rh\257Z-W5\2uF\33\262,\0\300v\251,\20\250\16m\352\34\0\314\312g%\337"
+"~\1K\323\202\242\354\0p_1\216\13\324u-\352\32\0\356K\31\62\306SsIj(\317"
+"\1\0\257Y\353\220p3\233I\204\342\276\1\0\212X\317\267M\300N\b\320\362v"
+"\0@#\357ZG\5\354\30\27\257u\236\332\306,<E\5s\2V\267R\316\302\317:\17\226"
+"\216b\22U\42bs\267\267\305\21\231\254\245w\247]N\205z\215\250p\34*9&\230"
+"\242Z\3\42JiWc\314\5*5!\42s\325\214.d\337\251\3\21Q\334eqv.\331\334o\272"
+"\310#\37\324L\353f\376\277_\353\224\223X\264~]\242\\M\2665\327v\t\35zg"
+"\243\0Kl\2049hbq\240g`\321\355\263\31\62d\310\320\177\324o\343he\273\261"
+"`\f\340\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0"
+"p\b\0\0\0\0wm\2e\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13"
+"\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\68\7\370p\354\0\0\4\206IDAT"
+"x\234\355\230]lTE\24\307\317v)me\333\255\241\355.P\32\261\21+\25\42M\215"
+"`\320\330\32\2\261\17\32\201\220\20\215\t\301\7>\22-R\202\20c\214\20\211"
+"\211\350\3\22\353\7\246&\230(!\225\4\360#\306\20*\tl\325\206\226hA\322"
+"\320\246\320\226\222\354\322\262\253\333v\367\3700wwg\316\314\2753\336"
+"\353\203\17{^v\3579\377\373\233\263\2633\347\236\271\0\377\77\363\233\311"
+"\3465\326\246\357\374\7\303=~6\215\210\335k<\203v\314 \42\42\246\337\360"
+"\bjIc\306^\362\4\362\17dAx\253\304\13\251\t9\333`\257+\320\222\32\370\213"
+"G\274\220\212\370\2139^HC\374\305\240V\356`\241in\236\36\362B\202\217r"
+"\240NO (\353\315\200\206\302\336H0\367\f\3u-tR\371\214XM\33\352\241\277"
+"\363{\364\230R\336\300h\306C\325\225\245\201\302\370Ttl\310}\331\\\264"
+"\271=2\311-\361\341\223;\227p\341\247\'\20\361\5=\246\341\340UT\330\345"
+"]\367Z\202\215ID\304\255\32L\361\226K*\f\42\42\306\77\b\3\0lcE\371\25G"
+"NI\353\250-\7\21\61\261\77\0oY\337\367X\367\314R\201\326\35\252\341/S\227"
+"z\257OL\317\t/n\254\312\214\264os\344Y\353\273C\311\nu\212\363\362rE6\264"
+"\364\355\33R~\7mA\253\307x\335\370&\261\26\26m\273MHG\354@m3\274\354\347"
+"\220$\250<!\222>Us|\207\5\325i\325S\311\2677\315k\216)A\5G\5\320\205{\324"
+"\343m\345Q\352:zD\0\305l+\333\36NuJ\'@\304-v \200\216\234\252K\21^\233"
+"\22@\2779\354\356@n#]\220\243\363\307\305\224\236\261\7\1\254\312NU\257"
+"\24\363}+\202\376p.8\237et\327\244\320&\21\204\257:\202 \34\267t\322c9"
+"0\42\202RU\252\3739{\307\22Fi\340M\222\222\352/\21\254\42\301\204w\211"
+"\277<JH\273u$\370\330R\22w\33\1\341J-\251\336R\212;\312\77H@\211\331Z\22"
+"\234g\322 \273\262j\306\352\32\242\352\233\322\223>g\37e\2\351E\252\352"
+"\323\203\340\4\33m\26O*l\241\252\337\rH\321\37\1\0 \300\223\236\fR\325"
+"\200\1\tXA)\346I\315\222h\330\204t\6\1\262--\373\221\253$\321\220\344Q"
+"\330\315\236\272\301\341\341[\234\307\77\211\324\314:\264b\352x@\2I\233"
+"Io\5\0\0\17J\356\230K\322}\222{\322%i\376\277\277\317\206T!\271i\2510%"
+"\311MB\312%IZ\341n\314\346,\345\320\3128\222\344\177J\331V\31\220\222\222"
+"\273\320%).\271]\314\\\1\0\300\230\344.wI\272.\271K\f\312\270\212\244("
+"!\363\334\221\256\310\376jw\244\21\271B.0\272\273\252\265\221\254\227\343"
+"R\201z\335\210\264\36q\342\273\275\313r9\301yISoDZ\tP\272\346\300\363\234"
+"g\221\224S\217\21\211\235\332\233xW\17%%M\336\352,dR\326![;\3708\25\315"
+"~\314\200\304~\326\331\4\357\253H\322\244L\336\177u#\42\342v\321\331AI"
+"\27\365\240\345\210\210\230\42Koi\212\220\322\372\265\311F\377\201\272"
+"\217\22\22\266\351@\265S\210\210\270\221\372\253\343\2044\240{5\365%\42"
+"\42\336\224\367\372k4\251u\316\240f\326\333\357\224#\376s\204\324\357X"
+"\202K\257!\42\342X@\21\273\77FP\255N\244\257\231F}Jj\231\21I\177=l\17\332"
+"\317$\3356\223\271\213$\365g\245\35\310:\277%l\307:LP\21\3719\17\0P\370"
+"\241\25\337\256\f\3\0\370>\241Ka\231BU\27\261\242\266\307r\0\360\35\42"
+"\250\344\1\3728\16\277\227\331\243\3378\277\\\3371MX\321w\227\347Z\305"
+"\242\265_\374\235\t|%\256I\271\237|\342\230t\220\36\215\364\337\210\337"
+"\r\226\325\326\77\232\355,\361\375\335\332\206&\330Nw\263\302\306\237\323"
+"a\0\0`\5]\356\324R\355s\215@\0\320|\332!\257\251\216%zB\316j\366\375\222"
+"Vr~mU\267\245N\35|\350\251\25\ru\374q\370\316\345\276\256\237Fm\324\332"
+"\263@\331\202PyQ\20b\30\33\31\275\255\23\347-oy\313[\336\362\6\360\17\222"
+"D\16X4\205\3\211\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0\65\0\0\0p\b\0\0\0\0\233\30gs\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0"
+"\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\7\rHP\205\216"
+"\0\0\3(IDATx\234\355\226_HSQ\34\307\177mN\3152g\332\326j\rr\376+\211D\5"
+"\303\42S\b%C\3020z\13\202\36\242 \37\f\242P\211z\210\250\247^\214\376P"
+"\24\4\21\250Y\302\30\221\240\4YD\226\204,\13\374\323\254\25\352r\246\363"
+"\317\375\366\320\266{\316\271w\363.\350%\356\367\351\374~\337\3639\347"
+"\376\316\275\367\234C\244K\227.]\377\233\214\261L[\211S\362\3079`Y\267"
+"\4\340UU\\\320\311E\0\0\244\2468\240\32\ta\35\321\f\31\77G \370Vj\245*"
+"\300\250^t\rQ\250\42\66(\324J%\261\301*\255\324\b\33\fG\351\244\220u\201"
+"\251k\213V\212Ze\250M3Dk\336\205\241\221\365\332)\312\350\372\3\365lRz"
+"+bp\25\365\5\64\330\346B\34S\351\322\254\30+\237fMM1\371g}\77\264R\316"
+"\362\322\342\254\364P\20\360\274\355uy\227\233~\363\205\1\210\222^\34M"
+"\212\305\354|\272\244`\0\0c\307\242V\223\337\251\216\0\0\272m\252u%4\266"
+"$3\341\374K\317Dz^ib$1\266wP9Q\3063v\344o\rf\42\42\262\336\220s\243\33"
+"\25P\356\'\26r[\42\206\213\311\212\265\345\214\261P\207Iv\3563\371:\36"
+"\262\214\262\320\307\325\262S\276\310\30=\34\224\330\303-\327\36\331\261"
+"}e\r\211\333\16.r\220\213q\36\363\313_\313X\205\363\234\305\234>E<\204"
+"\23D\221]\364*S<\221\327-\267w\t\213\226*S\345\225\234\323.\311\355\24"
+"\201\372.S\247y\3479\323\236\22\250\367\221\226m\201\177v\7\323k\33o\r"
+"\313\7C\3\357Lr\203\367r\336q\331x\302So8j\353\fcu\310S%\374\344\251v\276"
+"\2222o\304\271\303\374\22\331\302+\271-,\200\271e\b\0\246\37\355f\263\373"
+"\5\352\32)d)*\316b.4\tDd\27\272\4\224\224\317\307\205\6\42\62+{-#\3\205"
+">\22F\342\347\240N\5\377\212\232\21rk5Q\342\226lS\353\250\240\206\204\234"
+"sY\212\210(Sx_\310\214\3221\77\227\215\6\5\252:\n\325\211\376\346\202H"
+"\324*P\227\324!\307\42\0\34\f\207U\2\65\240N]\1\200\271\264ph\364\n\230"
+"\342jGDd\r\0\300\39\321$P\267\324\250\233\0\270\235\322<\311S\301\34%T"
+")\1\300k6uJ\230\314\255\2707\332\277\0\0j\330\234\261O\300\316\13\320\272"
+"~\0@\27\237uN\b\330Y\316\336\356\1\0L:x\212\252\202\2\326.\337\3602.\317"
+"\1\0\244Z\22U\'b\301\273\7\354D\6\347\341{\277B\231F\345\32Q\365\24\24"
+"\222\374L\320\242\2\21\345\365+1f\200s\252\20\221\251y6*\248\24\5\42\42"
+"\373u\261\272\220\334\261\177:\313\231\17J\246w\37\177\366\253\335r\262"
+"kv\224dG\242\351\276\356\207\36\241G\264\273Q\262cC\246)\325\2774><\276"
+"\24\363\331t\351\322\245\353\37\3527t&\302\345\21\t\3169\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0p\b\0\0\0\0wm\2e\0\0\0\2"
+"bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0"
+"\7tIME\7\322\5\6\4\7%}\345-t\0\0\4\342IDATx\234\355\230\177lSU\24\307O"
+"\333\215m\256[G\330\326:\306\302\\\324\205\t\6\202\n\t\376\232!NIT\304"
+"d\t\352\37\22Ld\220\310`#\b1\306\b\221\230\0&\342\222\241\262\214\4\223"
+"\211\210F7\215\22c\4\22,\350\302\266\350T\2620\34\264u\350J\267vv[w\374"
+"\343\276\266\367\235{\337\273\257\217\30\377\351\371\247\357}\317\367~"
+"\356\355\353=\267\367>\200\3776r\316#\42bG\256\220yi\32\21\61\262\3202"
+"\252n\22\21\21O\315\325\313\316\375\210\210\210\33\63\30U\13k2P\315\213"
+"\205\2370\265\307\221\1\311u\2065\n\334\233\326*.0\355\357\212\f@\0\65"
+"\23\254YlmR\271\373\17\246\340\263\31\201\0\232\264v\211\355\354\376\261"
+"\210&|\234!\b\34\337h-\261\315\5\0[f\264\273PY\246$\250\n\'Q=E\256w\222"
+"\327\270V\335R\210\27R\255{\273S\227Gm\200\0>G!F\346\252\233I\302\367\27"
+"\5\3156\330\2\1\64R\322a\233 \200.=h\250\3106i^\200\7%\36\264\r\2x\202"
+"\'\35\274\t\20@G\32\64X`f\314Q\221\266\6S\205\3375ySc\372\37\302\302\232"
+"\345\255,+r\347F\247\306BWn\330\356\247zC\273\177\234\257\225\317\266-"
+"\342\322\217D\20\36195f\331\276\337\304\272C\34hI\226^c\34\21q\223\2\223"
+"\277\361\242\f\203\210\210\321\267}\0\0Ml\305z\331\224S\320\34\64\344 "
+"\42\306\366\270\341u\355z\247\326F:\237\326\35\250\342o\23\27\373.G\246"
+"\13}w,/O\366\264{\203\377I\355\272\320x@\336\223\372\347\362bi*\265\370"
+"\215\253\302\370\366\31\202V\207x\337\350z\247.\233\327t\235\220\332\214"
+"@\2553\274\355\214W0\224\235\320\223\336\227s\34\207t\256nY\315:v\315\362"
+"\236cR\220\363\210\16t\356\26y\177\233x\324I\251\245M\7\n/\220\203\0vr"
+"\256/T\6\64\335\221t\246]\247%\351\206\204\16\364\223Iu\273\323\205tN\314"
+"V\214\352\207\364\2701\b`U\352Q\365\t9\307\227z\320/\346\13\316\7I\337"
+"%!\265^\17\302\255\246 \360E5\3370\315\270\3zP\242\\\326\236\21375\343"
+"\30M\274F\206$\373ItQ\32c\306\t\242\227\214\21\322\16\25\t\16kN\42\267"
+"\22\20\256T\222\3524\247\276\242\\\303\4\24\233\243$\301Yf\365\260;m\315"
+"X]E\\\375SjR\7\373(\326\221\236\247\256~5\bN\260\336rxR\356\32\352\372"
+"\331\2i\354\24\0\0\270y\322\3\36\352\32\262@\2\266\240\344\363\244z\301"
+"4b\205\324\203\0\0y\354\206}\311U\202\351\212\25\322\265\336\332\341\221"
+"\221\779\3055\2164\254\235q\362\251p\273\0\22\212I\35N\0\200;\59l\223\264"
+"P\220\307m\2222;\257\231\221J\5\231.\25VI\342&!a\223$\314p;\341\224\313"
+"&[\31S\222\370K)\267\351\6\244\270 \213\257\34\254\221\242\202l\343\311"
+"9\1\0B\202\\b\223tY\220\13,,\3432\222d\t\271\325\36\351WQ\257\264G\n\210"
+"+\344|K\255\313\233\227\223\371r\\X\240^\261Dz\6\61\362\325\256%\3511\301"
+"Y\301Sg\211\264\22\240\350\321\275OsJ\2650\246^K\244>DD|\230\227z))nz\346"
+"\325b\1\263\262\35\262V\301\307\251i\316}\26H\354k}\27\343\265\3228\35"
+"\324\253\26H\354\275\340f\275\330II\77\250AK\21\21\61A\246\336\342\4!\315"
+"\252\347&\353\375k*\37!$lU\201j\246\20\21\261\221\352\225QB\32\62XNS\361"
+"!\42\42^\23k};\35\324:sP=\333\333o\23\63\256\357\ti\320t\t.\272\204\210"
+"\210!\267$w[\230\240\232\315H\37\61\217\374\224\264fFO\232\274\313\30\264"
+"\207Y\316\33<\314\26\62\250\337\r_]j\347\267\230a_\207\b\312/\376\317\3"
+"\0\344\276\253\3457K\323\0\0\216\367\350TX\42q\325\372\265\254\341\261"
+"\34\0\34\7\b*\276\227\376\35\373\366\'k\364S\227\t\t`\3134a\215\275\265"
+"4\275U\314k8\372O2\321\245\237\223\342~\362\376c\302A:\350\37\274\32\235"
+"\360\24\327\324\335\223\332Y\342\301\35\312\r\215\247\235V\263$F\237Ra"
+"\0\0`\5\235\3564\22\355\363,\201\0\240\276\333d\\S\235\213\324\204tT\355"
+"\2760+\345\374\330,\337\226\232\355\340\275\17\255XV\313\37\207o\f\364"
+"\237\3766h\340V\236\5\212\347{K\362<\20\306p x]e\316F6\262\221\215ld\3"
+"\340_\305\317\261\'\260\316g\211\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0\65\0\0\0p\b\0\0\0\0\233\30gs\0\0\0\2bKGD\0\0\252\215"
+"#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\4\7\67\216\\\\<\0\0\3{IDATx\234\355\226kH\223Q\34\306\377m\263\3542\324"
+"\324\331\314F:o$\221TdT\264\b\302\312\2204\250\240OEA7H\310 \212\224\250"
+"\17\21E\37\204\350n7\bC\302.\n\262\42A\t\272PI\22b\26\210\266\251\225\267"
+"VSs{\372\260\355}\3179\357\373n#\350\203\360>\237\316\377y\376\277\367"
+"\354\234\235\367B\244K\227.]\223C\246\327\0\200\352\30E\262\367\17\0\214"
+"\314W\305\362\274\0\200\247\t\274m8\17\0\300n\215\331\312\3q[:k\316|\20"
+"p\33\246hP\306\226@\203{\231\354\245\276\tx\3\251\32\20\221\335\23h\371"
+"]\22r\26u\7\34\354\320\204\210\366\7{|\207\3\365\206\221\240Q\33\6\242"
+")\316`\27.\32\211\350\340D\260\352K\16G\221m(\2045\230\215U\2411J\302B"
+"D;\245\316w\365\322\360v\4\210\3501\24\352I\210H\315\371!B\376\365\21!"
+"\242m\42u%\n\210\250\206\207\276\230\243\242\22\335,\344sD\5\21\25\263"
+"\324\205(!\242j\31j\237\256\214M\352TY\257t\300k\274Q\3175\351\245uW\23"
+"Q\\\212yF\314\260\267\377{\264\224\335Q\260$#tb=\35\357[\32]\221\246O\77"
+"\325\2468\364\376\27\273\246\205cV\326\373\224w\n\0\364\354\321\\M\256"
+"\312\315%\251\311\252\272.Sye,S\216\277\354\30H\310)\230*\31=\353\332\225"
+"\23%>c\257\334W\26ODD)We\257{\256\2\312\376\314BN\213\24\64\62\256\270"
+"\266\254\36\26z\310\274\42\3562~)\17Y\272Y\350\323,9qL0A3\7Mm\346\266k"
+"\215\234X{\331\300\77\207\245NsP#\223<\342\267\277\230\211\362\307\271"
+"\250PN\26\363\20\16\20\21\31\2\331y\356\375\350r\312\343U\302\246\231e"
+"\312\261\226K\352\374\362x\206@}\223\251#|\362\234\31\17\t\324\7id\375"
+"\303\377v\33\323\265\220\217\272\fRR\306\'\203\334\305[\270l\237\34<\341"
+"\251\267\34\265\340\27\23=\224\2472\215\360T\35\277\222\25.)\271\311\334"
+"\22\231\302_rC\330\200\370\312N\0\370Y\273\232u7\tT\25)dY\274$\303(\227"
+"&\42J\23Z<J\252\277\237+\rD\24\257\354\212 \3\5\17\t#\3618\250Sc\377D\375"
+"\22\274\331QQ\342#\331\252\326\250\240:\5\317\36\221\42\42J\22\376/$i4"
+"\346f\263U\273@i}\224<FkE\236T]\22\2503\352\220m\2\0\266\204\312B\201j"
+"S\247\316\1\300h\\\2504\272\4,_\rJ\361\0\300=\3318!P\327\325\250k\0\270"
+"\'e\374 O\215e)\241\265~\0x\303Z\207\204\311\234\6\21J\373\n\0(b=\343+"
+"\1;)@\311\255\0\200\6\336\265\17\b\3301.^\324\1\0\30\264\361\24\25\216"
+"\tX\335<)K<;\n\0\360\27\223\250R\21\33\273\2659\215\310`\337~\347w\320"
+")W\356\21\255\37\202B\376a\246\250T\201\210rZ\225\30s\201\343\252\20QL"
+"\205W\23\362l\325\200\210(\355\262\270\272\240\234\341o:\313\321\217J\246"
+"e#\377\356W\373\312\311,Z\2764S\252~\276j\272\337!th}\33\305\332R\223b"
+"\314\303>w\227\333\27\366\267\351\322\245K\327\177\324_\241\345e\303\30"
+"h3\312\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p"
+"\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22"
+"\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\1(U\16\366O\0\0\3\227"
+"IDATx\234\355\231Ih\23a\24\307_\222\326\324\245J\332ZK\212\332\326\242"
+"\210\24\255\264\202\322(\212B=(\366\242\240\240(\212\13\26\4=\332\223\24"
+"<\270\341v\320BE\255(\212(.\240\26\215\42hQl+\25w\255KM\305tI\235n\246"
+"\311\363\220\305\346\275o\230d\236\27%\3574\371}\377\357\2277$\371f\276"
+"\t\300\77X)O\20\21\2616\225\215l\361#\42\366\344%\346\233\321\217\210\210"
+"\365\216Xl\335\217\210\210\2701\321\376v\205\346\265\344\17\207\243/\207"
+"\350MK\242:\333\303\320L\317\234\77\314\3714\304:\235\211\332\0\246h\241"
+"\271}\25\21\62\363K\210\340\232\304m\0\333\302\223\3;C\257\227\366\204"
+"\301%36\260\334\tO\307\3436\0\330>\24~\365}\274)\35L\352\216\370n\246\333"
+"\216D\216\261\302x\246\272\326G\25\2157\242\207\247\315\332\0\256!\253"
+"\257\16\343iz\225\323Am\301r\3636\200UTwBb\3\270\20k\373\220.\323ez\206"
+"\333\2\13d6\200\345\303u\7\2456\200\332\77\266W#\215\302)\206\272\35\355"
+"\321\345\343B\277\260\265\377\253,\0u\253\215c\203}\330\335\357\353\364"
+"~k{\377\2665\250\2373\376(\0\0\300n\207\214\310\261\326\364\350\256{@7"
+"Z\307\177\347\206\245\235/\267\376E\35\42\276^\247\20\352\275\207qM=\325"
+"\\\2463ds\344\271*\33\24-\234]\234c\3\200\321Y\263VV\77\36\242\243\301"
+"\3i\372og\251a\266\2751\201\334\252\37\64\320\224\257#\3\200i4\354\247"
+"+\357\230j\77\211x\347\352\352\306R]\13\317\270\332HF[\242\353\243\272"
+"zE\246\240\225\204z\347\305\253\273\256\n\25\322\353\207\267P\242\203\362"
+" \2115\353,\203\361\351\340\4\315\35\21\3512\351\351\6]\221!3\277\212\16"
+"\332\215\345\230M\320\35d\365\322\344ZAw\340\275JI\225U\240\203:\n\n\227"
+"It\365}\224l\225\350\6\357S\262\330)\320\201\233\2[\205D\367\214\221\345"
+"\22]##e\251\2]\307wJF\315\26\350\340##\245\22]+#E\22\235\207\221\251\22"
+"]\27#y\22]\'#\271\22\35\357.5]\240S\224C\240\3238J\23\350\2\34\331\5:\235"
+"2\253\33\301Q\217@\247\270\264\16\ntc8\352\22\350\3061\242I\272\313d\344"
+"3\bt\331\214|\222\350r\31y)\321Mb\344\205@g-`\250A\240\233\314\276\306"
+">\311\311\26\61r/(\320\25\63r\13\4\272\22\n\2W\4:+\273[w\267\13t\305\31"
+"\224\324\200@\267\224\2\317e\211n\5\5\7\177)R\361\336\33O\247\301\366\310"
+"ze\252\273\315\24T)\256Dqw\227\361\223\344\32\242\373\0\63\335\355&K\361"
+"\300\6\305u-\356\356J\351\236\226\235{\42\272\234/$U\243w\26T\347Vd\234"
+"\315$tKq\215\4\0\305n\373\35\317\224}\242\266Qz\315\261g\1\201\t$\221}"
+"8@\42\347\355z6\13\333\247\342\241\230@\311Q\215\214\17U)\377\32Hq\344"
+"\273*\37\63\33\342\231E\23\254\0\26\307\304\205\233j\351C\0\304\367\363"
+"\25.\223\17\215P\333\303\357,\342|B\306\313wr\37\333[\230\325\r\335;w\261"
+"W5\220\270\316\377\374\321\203\333>\235\301xu\276`\267\326\365\243\355"
+"\353\2077\257UK[\262\222\225\254d%+Y\311R\324o\316P\242\211\323\22\\F\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0G\0\0\0p\b\0\0\0"
+"\0i\2442\326\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22"
+"\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\1\22\223\2/\375\0\0\4\65IDATx\234"
+"\355\230_lSU\34\307\277m7\254[\355]\331t\206\225\21\307\6f\31QC2\210/\42"
+"B\220\254j\300h\204\305\370\200J\302\203\304\250\t&j\342\3\325\27\23#A"
+"cH\200\350X4DQT4\304\260\2001\21%s\t\322\301\20P[dA\324\256\355Z\372g\375"
+"\371\320n\275\347w\356\355=\367\326\'\355\367\351\236\357\371\236OO\317"
+"\271\367\234s/P\327\377Q\236\232Z\337t\367\352\340t\262\346><\77ID\251"
+"\275\363k\303\4\16RI\27\272j\301\334\20\316\2269\364m{\r\234\376\330,\206"
+"2/\270\335\2169\33:\346.\275\3\235\316\3733A\25%W9\356O{\217\256\340[\341"
+"\230s\227Xr\314\21o\232.\307\234\202Pju\314\271 \224|N1h\210\353\346\213"
+"\242v\237\323\246\266\340\342\336\345\311\4\212w\366\351\354\311\206\352"
+"\315\232\375\232\346oi\3214\277\246i\376\200\246\225\362\241(\260\177\275"
+"_\307\251\216YF\306\32\0\340\333\225\257\30\373\235\77\27\251W\207+\205"
+"\210s\16\256=\261z\317\211\243\0\200\334\230\305\370T\327\310\b\272\317"
+"\3\300\271XuN\352k\0\2157\3674\232&\26\1\0\306.+\375\256\366\216\3018\227"
+"\24&\42J<\255\204\1<\23&\34\3778\21Qd!\324\306y\346+\223\212\320\2\0\30"
+"\216*r\330\3234\247\366\315~\0\2617\241\312\371\323\320u\77p\37\200\302"
+"\226\2242g\332\320]\364\262\27\300\336\343P\346\344\214\314\300\347\235"
+"\0F\337\312\252s\214\324v\240\27@|\347\31\33m\6\344yo\335\227\'\242\342"
+"6[\277-s\32\77(\22Q\356\331r\300\361\363\345[\343\2\322\341\267\313E\307"
+"\343\363\367. \37~#k\257\225\301\370,\213$6U\2\316\327\215\263\341\310"
+"\350\277\301\311\17\351K5\334\77\202L\372\243u\370\275\311\370\257\5\343"
+"Z5\316\255\241\373\373\27\2\0\362\347F\16\37+:\351\36\260\342`N\230\232"
+"K[\32`8_Uu\333\307Ei\263\372\261\3276\347\251\204D!\242\364\303\3668\215"
+"|9\237U\341I;\234y\237\231`\210\n\357\252s<\37\261\306_<\266\364\226\276"
+"\255\247\214\270\3258\257\211\321\311\265%\333\265\365\272-\316\203\342"
+"D]]2W\263>k\203\23\270,\4\213ktu\317\331\340\354\26\203\357\351\353\334"
+"\'\2259\213\305\233x\246[\250]\253\314\331#\346\216\260\352\237,9\245u"
+"#0(\272\37\262\324\20\254T\342\f\336(\230\364%K}\252\310\331 \232\23WY"
+"j\374\212\22\'p\217h\376 \305d\307\210\263\222\235\306\345\235\366\264"
+"\32\207\231\227\244\230\311\371\207qng\346\357R,\252\304\341\357\315\362"
+"\251\351/%N\7\63SRlJ\211\323\304\314\204\24\313+q\374\314$\253V&\34\303"
+"S\233\240yJ\234\353\314\324\244X\213\22\347\32\63\233\245X\253\22\'\306"
+"\3146)f\371\335\301\r\310\367oP\212\365H\216\21g\214\231\335R\354\16%\316"
+"\367\314\354\343)O\277\22\347\24\273]\371s\213\345j\363\225\77*\232\235"
+"|8\330:g\306\301\373\314\335(\26\33\36\267\344\224\203Qq\778+\36\33\67"
+"\363}\'d\6\332\316\202\217\350+\275\3479\307\264\177\336\337\304\340/\372"
+"\17(\257s\f\275d\372\317\36b\311C\225%{\223|\324\33\65\77.\17qPy1q=S \42"
+":#\326\356\3532[\1\232\306\30\350\312\216\245.\314\177\364;\42\42:\260"
+"C\352\23\221\361>\37\374Y\212\315L\227/N\372\2548\225\77\32\2737\302\321"
+"\356\362\202{:$\257\330<Z\271\214\256<d\2349\266\352\17+\214\360\236\222"
+"\3348\3107v\0\271\235\353,w\35\376~1|x\333\366\5\2023\363\311+\245\277"
+"\233J\247\22\351t<\223\216\2473S\251L2\221\231\236Jg\314\301\236u\273\307"
+"g\2071\373\315\213\252\237\226]F\246oI\260\2519\221\274xQ\375\275\251\256"
+"\272\352\252\253\256\377\266\376\1i\317\33\357\331\327\253\202\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225"
+"\261\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1"
+"\322\335~\374\0\0\0\7tIME\7\322\5\6\4\5-A\b\307\304\0\0\2\354IDATx\234"
+"\355\230\317KTQ\24\307\317\374\2601\263bTR\34*\225\301h!d\350\242\230\t"
+"\212\tlQ\324F\242EA\21\321\302\377\240Y\205\320\42*\2546%\25\324\210\24"
+"DQ\4\226\344\324F\335\224\23E\230YZM\32\3168N\2751\247\371q\3334\206\347"
+"\334\213o\336i\23\334\357\352\361=\337\367y\347\302{\367\276{\1\264\264"
+"\264\264\264\264\376g\331\0B\207\226\217\245\347\305\334\317\344l\354k"
+"t|l\42\257\3169\315=\325\345\202\212\302\26512\3704\274\240\214\206D\361"
+"2z\333\354\377\20\'\204\30=\42\1\252\236\261\274\32oD|\212\222\303]\347"
+"\357\30\226\264p+P\343\0\200UU[\332;\207\262\270\232\77W\252~\234\255\233"
+"\320\316,\tx\202380R\257\346m\302\341\214\33%\312;3(\22\333\246\304\255"
+"\301\270\3274\343\217\242\214\261[\311\303\270~I\246a\2\205R\333\315\342"
+"\36\312B\3368\36\257\227\203\203\266<\212EVrpp\5\347.\262p\225x\270y\177"
+"\241d\345\253\210\343nl\227\35\214\356\240*\205\223\207\31\335A\354>v\202"
+"v\6\16B\330\360\356\345\340\372\347\261s\222\203K\77\303N\240\226\201\203"
+"06\34\78\270\27\304\331\307\301\275$\216\257\204\201\213\177\303N\331V"
+"\6\16>\22\247\225\203\233 N\23\0\200\23\340\330A\325=\256\'\205\253\7]"
+"\2504E\302\215\177p\336\200\n\367\2670\206K\t\22\256\3\260>\330Y\342x8"
+"8\332]\311j\6N\42\67\3gP\253\224\201\313Q\313\305\300)d\25\267\202Z\337"
+"\318\311\322\232f\340\312\251\225`\340\326\22\307H\3\200\23\240gq.\274"
+"\215\22\355\213W\343\370\346J\202\373D\34\263\353,\0\\\303Y\361\b\300\372"
+"`=\304y\313\301m \316\33\6\316\336@\254a\6n#y\215\223\234\3016\21g \317"
+"\3005\23\247\17\30\270\26l\344\3561pv\362\267\36\236f\340\232+\260\323"
+"\r\f\334\36lL\335\345\340\366c\343\374/I\312\3547\273\31\7\247\13\363\225"
+"\245\356N`#(Y\211LwW\361\3\345\206\27\367\1V\272;\205\246\342\205\243\222"
+"u\315tw\255xOK\306^\f\256\3463Ju\253F\201qaI\2466\202B}\2225\22\0$\273"
+"\355\3674\343\233\304\2642Us\344, W\215\22\353\272r(\322\353R\321ld\237"
+"*.,\t\264\\2P=\33\264\311HNw\275\277c\210\320\204\270\271\253\332\16`s"
+"\257\337y\374:>\4\20b|\207\204e\361\320H\30\247\351\237\205\311\23\62\252"
+"\344\325\263doa\25\227\35\350\271\223\222\25\212\307e^\r>\177\234T\24\315"
+"\342\222\3719#1\23\375\362\341\335\250lj\323\322\322\322\322\322\322\222"
+"\3507\t\77\305\340\261\324\370\247\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\77\0\0\0p\b\0\0\0\0\214:\367\272\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\4\t\7\66\6A\36\0\0\3\25IDATx\234\355\227MHTQ\24\307\3178\243\330\214"
+"\274;\323\27\221&d~QF\213\300\334U0b\341Pd$\326\320\312Bh\221\2136\6\321"
+".j\35HD\213\240,\250(K\351\203\20[\264\321\22\223\314,M\255\3062\354\3"
+"\235\31\337\3508\343m13\315\234s\347\335\367\314EE\357\254\336\373\237"
+"\377\357\316;\227{\317\275\3`\206\31f\230\361\177\206e\221~;cLqv\371\22"
+"\3576\271\335\2410\2468\235\214)\2141\305\305X\314\3571\310o~\251\367="
+"\31z\206\277\234\227\327\37\354\0\200\314UE\231K\373\21v\201\343\250^\344"
+"\0\326!-\336X\375\321GZ\31\203\3637\262D\376\273VB\177\375\327\327\1\0"
+"\270\221\326\1\0\320~\36t\327\77\0\24\272E\315\r\0\60\f\360\347\327\237"
+"\311\377\333\274\306\372c\271Jv`\352CD\227O\263\376\327xv\225\257\3\0\200"
+"\371\267O\332:7\225\2\0\334D\226Z\0\200\221\336t\3n\273\25F\255b\254\336"
+"\6\0\325\6\373\317\372;\13\234\306\213\215\206\371\243~\201\346\234\253"
+"\373\215\361\231\264M&\42r\304\b\237\325\256\201s\36\271\250\317[o\23\350"
+"~]\311\352\262\206\236t\343\245\343\317b\313\227\312\230li\2305\304\357"
+"\301\23\77Y\374+\263{\316\0\357\372\204\f\13\251M\357\204\1\276\31\33\256"
+"\244\3462\272u\371\rx\321E\13Q\266R\227\277\204\363\17H\372\225&\37\333"
+"\277./\366\337 |\213P/\346\275\313\220\310\37\22\327=\35~\37\26\207&\211"
+"kpB\312\273\266c\361\271`\23\225T\276\302\212\305\1\301\326/\347\2118&"
+"\330\344\347\177)\21\77\13\66\237\240\244\362\5D\24o\13\77\244|.\21\203"
+"\202mZ\312\333\211\350\27l\363R^!\42\327rk\360a][\226\224\237%\42\23lN"
+")\377\215\210\16\301\266B\312\217\23q\245`\313\227\362t\275\345\t\266\42"
+")\337G\304B\301\266E\312\77#b\31uY\313\245|\17Y^t\77\301V\371\374\317\77"
+"\306b>-\227\364\27\312\303U\242\326\340W\333aM>n\360\341\376\372\6_\213"
+"\16\321\376\355\241\3\64\22\303\201\324d\3660\345\205\357\311\376\210\r"
+"\357sR\222\347(\316O\t\25\354%\216\326dK<(^iz\305k_\13\35 \276\251-\307"
+"#\234s>\200\263\227\13\350\216\264\367\221\1&\232J,\260\274\266\213s\316"
+"\371\265&\341\338\307\347`\336;!\35\235\211\77t\347h\361\311B\306w\276"
+"\2465e\304\33[\277G\354\210\tK\362\321W\321\232\336\323\271\343\253\26"
+"\216\356\317\201\32/=\370\0 |\246J\263{\323\373\363\365\266c\215k\221\22"
+"\275{:VVP\r\372Uu*\244N\251\241\351`(\340\17\315L\253!q@kU\363`bz\346\236"
+"\236\244G\13\215\264\377\77s\212\363\354\16\177`tT\377\376n\206\31f\230"
+"a\306\357\305OhlD^JQ\r\211\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0H\0\0\0p\b\0\0\0\0\230\257i[\0\0\0\2bKGD\0\0\252\215#2\0\0"
+"\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\t\42"
+"}\2\225Y\0\0\3\25IDATx\234\355\230OH\24Q\34\307\277\271\272\256i\356\256"
+"YJT\272PR\222\26\205\3751C\202\22\312\312\216\366\207\250\f<DE`$\221\221"
+"T\20\341\305\16Fx\310\16EH\227\220\376\320_\245\16e\207\310\f\202\210\324"
+"\203\211\344\224\271\256.\351N\207\331\331\235y\357\355\314\33\337\34\f"
+"\346{\231\367\373\276\337\373\354{3\373f~3\200\243\377Os\230n\275\317x"
+"\324\305IN|\277l,/=$\211\23m*\7d\256d\246;0e<*b\327\317;rD\351\267\311"
+"=\303X\373\243\224\331\263\327\322\355\2\251\233U\30\344\212\3}\200\'="
+";Pzd1\2356\321\376\264w\360\'\200\224\f_`yI\3712*#\203\36\344\373L]\222"
+"\17\371D\316\212\253CDJ=c\226\247HN8\217NJ\253\33\321\3454F}\3559\32\42"
+"\7\275\354g,\266i\325cm\354f\200\202\344\240^\306\264\201\37\225\3274\221"
+"\372\2045\274j#l[>\333\20\17\62y@\243\211:\256\334\245\254\231\375\217"
+"\344\332\357j\323#\4B\360\264\332J\25\3\341A\'a\314x\213\\\210\36\325\302"
+"\204\375\200d*\247\n\200t\77\32\275~S\246\353\265\0\332r\23\300\'\25\204"
+"&\5\304\372C\232\250P\37>\34\0\0\244Y\7m\322\207Sm\272\220\37\224ZN\30"
+"\267d\0\230g\31\2643\2150\372\336j\1\374\240Z\312i\7\200\24\253\240\265"
+"\25\224\325\1\0s\243\1\357\345w]\247+\362o\201$@-\311xA\34763\314>M\233"
+"si5\215f\31\\\240\344\313\255\354W\rm\2169\306Uu\251\320<\313\20\264t\235"
+"k~`\375\216\205\346\30\275*9\212\217\236D\203gO5b;\310\360d\207\302\256"
+"L\243~\255\fgT\227\345u\27\34\274\307\365\336i\266\264\277_\357\354\313"
+"k\231\26\7\1\300\360\361\355\222- \340\325\326\204Ook \364T\313\366\200"
+"\360\244\325&\20\32&l\2\r\2671\314\217\222$I+\255\201p\233\266\212\212"
+"\375~\277\177\334\42\250{\220\262v\3P+F~\220\334EY\325\0\200\220E\20\272"
+"IcM\21\0D&\255\202\276\220\306Q\0\300\230\22X(k\236e\1\320\354\272\214"
+"C\0bE\265\5\320\364/}|L)\326\224\213&pc\363\234Q\216!Q\320\211E\3121(\b"
+"\312=\37m\214\t\202n\2507a\301\245\325\354U[b\240\215-\261&\3179r%\352"
+"X\335\341\216\265\377p\200\374\t\374\262\347\331\361\200\2614\352=\267"
+"\200\211I:\371B\303a\201r\310!\225\214/\240(\351lvk\343q*\303\333C\325"
+"\36\35\251D\216{\317\243\b\221s@\351Q\366\232\'}A~\351\341%\24{\327\273"
+"\346\367Cca%%7\257x\3036\3725\77>#\261\2575r\5}\216f&\341M\253j\324.\220"
+"m3\n\t\23\349r\344\310\221#\273\364\17\273\212\255t\376lG\207\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0p\b\0\0\0\0p/\334"
+"p\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~"
+"\374\0\0\0\7tIME\7\322\5\6\4\t8\200`l#\0\0\2\313IDATx\234\355\226\77LS"
+"Q\24\306O[|XRl\201b\33)\376\37\bJ\24\333E\214X\2151\32\23\300A\35\214N"
+"\16$.N\250\13\321XG#&\16N&F\243\340\340`\42\nb\324D!\246N\16 \25\23+MS"
+"R\321\2026\224\266r\34\372\332w\317}\367\275\266\3048\350\373\226\366\234"
+"\357\374\336=\367\366\336\373\n`\310\220!C\206\376W\231Ht\336\241_}1%L"
+"\207Q_\366|\241yyM\376\313X\5\211\276d\365\253\227\2267\210\241\77.\223"
+"\246\261\246\256\322>\227\216\315\224\216\265\370wz\327U\346\276/\204\336"
+"\276y<[|\374\306\300$\177\3142C]E6\341\346;i\341\1\235<\242\3U\5\26\65"
+"O\366\220[kn\315\3[\231(2\32\225\232\333\244B\34\77\366R8VG\222y\370\370"
+"!\23\0\200\373\266\222Ju\211\250SY\206zh\315\247{\225\344\342>\301X,\365"
+"J\351\3154\254\244\23M<\345e;\374\331\3108\333\226\24#\270\202R\266\20"
+"\273jW\2107\3128=\24\273\311Ri\27\361.0V\302\311:\333\331\211\341 }\244"
+"\237\365.\263\316\b\353\340\31\212\271Y/\252,\26\370\b\205;\270\345\42"
+"\373\255C\311\337#TV\342\260\30\353\336*\244\253\223\4\13s\24}\21E\0\344"
+"[\271\263\212T\251N\246\225\r\32<y\354\0\255Jp\324\246z\22zA\276\314\367"
+"\320\262U\373I\350:G\355\215\362g-\226\245kr\223\252\375\251/\247\214\255"
+"-\17[)c\325\345aV\310-\tw\30`\376\253.\26\2231\344\362\217N\26\35\321\f"
+"\0\337\271\34\77\272\6\26\341r5\245a!.WW\34\3\0\200i\372{\306K\33\r^\323"
+"\234\323)\252\4\0\200Z\26{\312\231>-jwl`\257r\217;R\264\313\253Z\255\5"
+"\21\361\203r7\337\247\330t\205\30\353FD\304\316B\334\306m\362\23Bj}\2\21"
+"q\202y\325=\247X\330.\240\244\3345{\234I\371~Q\356\201\372\345l\272\213"
+"\210\210c\304\271\301\265\331\307s\226\334\275\235i%Y\333\4\307\365\333"
+"\210\357\34\314\245{\271\247mIp\334\347\243\312\334\245\323\362U9l\341"
+"{\367\'9\16\247\2\376\32\0\263\347\360\365\250\234y/X\252\366Y\236C\304"
+"\3547&\30w\251)\200\rA\1\307\350\205\306\211\222z~hC\231K\32{\7\0<}\252"
+"\31\312\32i\321\204\0\0\352\317\276S3\251\376]\264J\364W\315s\260\275\265"
+"\251\320Q\366\343\330\263\'s\\\211\326\37C\251\301\263\332\342XH\305g>"
+"\245u\2733d\310\220\241\277\256\337a-T!\250\253\241\267\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0H\0\0\0p\b\0\0\0\0\230\257i[\0"
+"\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374"
+"\0\0\0\7tIME\7\322\5\6\4\n\21\351\377\247\214\0\0\3\313IDATx\234\355\230"
+"Ih\24A\24\206\177\235d\22\223\230\311\270E%fA\35\64\270E\211q\211\4A\5"
+"\215\33\236\342\202\30\25s\20\25AqAEQAE\204x0J\16n(\22\274Hp\301}\13\30"
+"\5\305\250 \2561\207$.\31\315\356\230\230\347\241\247g\272\253\252g\272"
+"\246\373\340a\376K\327\373\353\325GuuW\315\233\6lR/\261\235\20\7\240\375"
+"\17\347\307&\1\370\323n\236\177\214\210h\23\357\27\23\21\235\27\215\350"
+"-\6u\2@\36\357\347\2@\253\4\350+\0\314\355\303\332\261K\2\235&A_\0 e\35"
+"k\257H\5\200\317\3421Be\22\21Q\313H\275\233\376\203\210\210\306K\200PG"
+"DDu9Zo\324\'\42\42jr\310\200N\22\21\21\371J=\2523\374\260O\361\316\t\7"
+"\30\274G\230\\\255\266\336\77\257kr&\247\345x\324\324\202\20723\302=2P"
+"\225\24\6\230\324%\346t\347J\202\260S\f\332.\313A\257r\21\247\314hQC\221"
+"\366v\263\230\256\35\21p\0\344U\3519\17s\302\2171\320\364\262Z\225\362"
+"\341\270`\23\7\25~\252\203<C\\\324\334\360\356{\304\263\211*\250_F\273"
+"\312\224\226\371)\6\'\244\274,\203\22\355\2\305\330\5R\317\335\30 \5\210"
+"O\34\2205\2558\215O\353\254\270\371\272\376\7\200\330\244\224\254\221\271"
+"\5#\270\214$~P\312\33\356\221\274\310drF\35jdRD\347\323&\226\343\313\340"
+"\223\372li\322\345\354\363\373\3325jd\7\335\375\42\270\331\243c\256kc\247"
+"\0\324\306\16z-\2306\320PxD\23\251\307G\310\247\326$\266i\333\356`\220"
+"l\6\324l\324q\360\42gE\366\36QI\240\220\210\267\4B\333f\265\25g\r\204+"
+"\367\31#\342-\262\307\177u\371\2571F\211\274R\27\1\360^\366G\217\36\347"
+"\353z%@3N\1x\245\202pT\1\211^\3100\312\326\207W\353\0\0j\235)\1\232\252"
+"\17\273\317\350B\363\240\270\2\3068M\0\320W\32\64\217-\226k\237h\1\346"
+"A%\234S\1\0\261\262\240\211s8\253\22\0\22\374\201\331\307\3578\316\227"
+"\33\37\263z\3\335\222\240\235\323\5f\255\246m\362\326\326\354\13\227a\n"
+"\24s\240<l\35e\342\326\34\213\366g\207\317\n\tJ\237\344\350\2375y\356\240"
+"\360\30\275\nM\24\37\65F\203\377\237j\304vP\310\305\356\3609\222C\365k"
+"\25rF[\372\271\234\236\25\227~[\6\1\350z\177ai\306\211\277\326A\0\360m"
+"\375l\257- \340\336L\303_o9\20j\212\310\36\20n\224\333\4\302\356N\233@"
+"\337\316\b\314\227^\257\327;Z\16\204\263\2745v\234\333\355v\267K\202\236"
+"\326s\326\2\0j\305h\36D\178\253\b\0\320!\t\302S\326\2300\26\0z~\313\202"
+"\336\262\306j\0\201\357[\22e\315\255~\0\64\273.i%\200@Q-\1\372\373S\37"
+"\257U\2125\377\'\300\310\17\266\370\255\312\265\303*h\303P\345\332f\21"
+"\64x\227\277\321j\21T\246\36\302\26om\315b\265e\r4\345D\240if\215\f\277"
+"\23\216\257t\6\332-&@n\3\77\377\366\200` \2705\356\177\256\2075\224!\33"
+"\357h8\42P*;\244\320\305:\0r\357\227:\2651\377q\333U\303\325\36\225qL\216"
+"s\341\265\36&g\271\322\243\354\265\370\304\201\231\323V\r\343\330\363\253"
+"K\2375\266\372\224\224\301\31\343\362f\361\177\363\2033\262\366\265\206"
+"\346\360k\24\231,oZU\315v\201l\233Q\207eBTQE\25UTQ\331\245\177\31;_\320"
+"\300YeM\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0"
+"\0p\b\0\0\0\0p/\334p\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0"
+"\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\n\42V/\306\232\0\0\3\203"
+"IDATx\234\355\227KHTQ\30\307\3773\3525E\363\321\244Vc\331K\244\2222\265"
+"\310(\247\210H\202\262\240Z\364\200 \42hQ+{,\244\310\26-*\215 !\bzP\332"
+"\242E\320\273\260\42\23\61Z\264\350\241V\216\211)65f\203\363\252\257\305"
+"\334\231{\316\271\347\314\350\252E\363m\346\236\377\377\373\335\363\335"
+"s\317\343\16\20\217x\304#\36\377,,|35\31\200\307oJKJ\3\340\367\250\356"
+"r\206\210\350\200Y\337MDt\325h[y{\24\0\226\232\261r\0\30Qb\203\0P\225b"
+"\252qs\304\224bN\0\310\334+b;r\1\340\263\271\n=\n\210\210\350\347\\^\235"
+"\376\215\210\210\26*1\364\22\21Qo\t\253\25}\42\42\42W\202\32k$\42\42\362"
+"5\24\206\225\331\247|!\355\n\223&\2747,i\17_u\275\356ui\23\355%\205\341"
+"\224\312\347\352\336\320B\212h\215\2\1\245\19\25,\217\212\341\250\34;\34"
+"\235\202\345\242\214\272 \16\202\231;\26\24\241\300\221\230\24\200\245"
+"\255<\365\274$6\3\0X~\241\'\314t\237\223Lmu\3479\205S2h\370k\347\320\30"
+"{\372\337C9\222\226\251\223\2223\206\375\3\203rW&\26;\226\225\316H\16]"
+"\217v\266\267\336q\305\356\77\277\356\203in=\250\266F\207\346\\\365K\27"
+"\300\207MQ\240\324:\237|\331\20\321\203<\325\263\315k^\300\264\372^\366"
+"k\363*\264H{h\353Si_\33<\314\315\337VY\0 \357\262!y\253e\324.v\231\335"
+"\212\354\314\265\206\350[-\351\213\245\236\31\265Y\36\32\262\273H\244J"
+"\331\n\177\3453\316\302\77\206\321\221\304Si\235\354\250\235\344\274\227"
+"\214S\303c\215,\345\317\345\274#\214\345\266\261\316\42n\327\271\313\337"
+"\322\301z\'X\3471\353\320~\36\313c\275~c\260P\306Q\264X\30.n\276m0\364"
+"\353\34\25\324\4l\200u/E\344t\17\2079\5\nN\326\355\3\364Cxc*\227eZ\231"
+"\334Y>\315\36\306\326\362Yn\201\232=\231k\226\2H\4\200J>m\342\32\256\231"
+"{\210\267g\351\277\3314\2568\253\27i\232\237\321\303\246c\323\307\207M"
+"\320\261\364\361a)\b\r\211\260\30\360\363[Tl@\307H\320o\357\214\331\243"
+"\25\300\17A\23{W`}\202\22656\254S\320&\305\306\0\0_\370\3679\206c\327\n"
+"\0/x\315f\223e\2\0\262Y\354\276`\226\251\250\25\3\315\253\214}<\323\313"
+"WyZUZ\7\21\2757\366\346\33<\366%Q\216\355#\42\242\215\221v\2050\311\267"
+"K\251\2\67\21\321;\346\250{\302c\316\f\t\245\205\266\331m\214T\366\233"
+"\347n\232\17g\3135\42\42j\343\234\363B\231\365\42\227\20\332\267\3\374"
+"W[\332;\201kJ\343|\333\335\220\\+\334m\276[\340z\266\30\317\256\355\321"
+"\267\312\207\246\217z\207G\340\250\273\316\221\5X\355\353\33\372u\345\215"
+"d\250V\272D\216\210\202\337\231\306\333\\3\5\314\354\220pL\264(V\224V3"
+"\242\206\2\307\25s\7\200\275\336\364\204z<.VB\0\60\371\340+3\343mZ\316"
+"g\311>\325\354\353V\226\24E*\nv\265=\2727,\244\250>\f\265i\366\234\204"
+"\314Q\357\320\340G\363\37\334x\304#\36\361\370\247\361\27|=\6}28h\266\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0H\0\0\0p\b\0\0\0"
+"\0\230\257i[\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22"
+"\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\n5\325\374C]\0\0\3kIDATx\234\355"
+"\230[HTA\30\307\377\271\353\272\246\271\256ZZT\272T\222\226&\226]\314\20"
+"\241\214\332\312^\4\273\320\315\300\207n\4F\21\31H\5\21\276\330\203\25"
+">d\17EH !i\367\f{(}\2106\3!*\363\301Dr\313\324UQwz8{\326\3313g\317e\347"
+"<D\354\377e\346\373\3167\2773g\346\314\234\357\f\360\337\312\244\36\62"
+"\177\315\22\357\20\377\235\362\333\274\204\220\316\255\274\234\343S\204"
+"\20B\210\267\212\217\343\364\22Q\7y8\246\257~\16\31\210\346\0\25\21J\245"
+"\212\241\21\212Wsi#\207\3\24E\33\61\34\240^\332\370\256\30\252\254\344"
+"Ij\21428@\2709\303i\342\341 \316%rzS\270@Hl\218\355\213T\2g\251\242\212"
+"JW\240\273\351\t\341\353PX\6\3537\341\321^\37Ey\255\351\20\67H\334\23\270"
+"Af\243@\342\367\314\f\304\3\326\230$G\376\341\205l\330X\343\323\256\276"
+"\237\0\42c\343\35\313\362\n\2272\21\261l\243\370O\314\224\274O\223\304"
+",\277\332/\t9\'\323\313SR\316D*\33\24]9\30\20S\355\363\323c\324/m\364R"
+"fw\35\253Y\331J\333\26\31\320\210\264Q\227L\267\201\37\316k\224%\356C\212"
+"\2636(\357&g\251\357w\234\26P\320\34\344\312=\306\25\332{D*\276\211U+\27"
+"\b#\247\305\232\370\r\r\365\315~\330&q\204\274D.\372J\233\2574\7\13d\225"
+"\\\2\300\375\300g\265\277)\b\270\252\3\264\351\26\200\217\42\b5\2H\356"
+"\205TQf\240\371H\3100\304\364K\7hC\2409\325\20`j\7E\25J\34\267\t\0\314"
+"\321\r\332.\315!{\336\322\0\355\240\n\306\323\b\0\221zA\271\305\214\253"
+"\31\0f\373\f\255\323o\272\316\346-_\34\21\300\224N\320\371\2152\316\36"
+"\252\256\361\321\312\253\325\42\64\201\314\227\353U\23\62\r\217f*\271\224"
+"\251\36\245\bZ\274\332\224\350X\273m\236:&PN\r\311\207+X\343\177\'\33\61"
+"\34\2448\330\236\tS\234\322uZ\212=\252L\260Y\322\367\337\37\347\6\1\230"
+"\374|wOj\3354\77\b\0\6\216mq\33\2\2^\25\251\236 h\2345W\231\332O\215\326"
+"\351\177\\o\20\bUc\6\201\6\32d\234\37\334n\267;C\37\bwXWV\266\335n\267"
+"\217\352\4u\3641\256\235\0\304\214Q;\210\274f\\e\0\0\217N\20:\244\216\234"
+",\0\360\216\353\5uK\35G\0\0\303\202\241#\255y\226\0\200Zu\261\7\0\370\223"
+"j\35\240\351_\201\366Q!Y\23&\215cc\263\236\21J\17/\350\304\2\241\34\341"
+"\4\245\\\360U\2069A7\304M\230\363\321\312w\2135>\320\372:\177U\313\30\5"
+"=\177]\325l\361\327\377h\0\331\203\370\13\236\'\315\30\62\217\306\374\347"
+"\246\313b\42N\276\2408r\240di\23\247M\352\1\220\327Vk\241\355Q&\302\346"
+"br\217\346(I\214eW\213W\22\263O\270\42\2545k\314\334\264\374C\3541\332"
+"\216w\265\235\375\303\23BHJj\366\272\315\354o\376L\217\370NkH1;F\241\211"
+"{\321\212\32\62\ndX\217<\334\204\260\302\n+\254\260\3022J\177\1\2331\354"
+"\21\357\302\321\300\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0\66\0\0\0p\b\0\0\0\0p/\334p\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0"
+"\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\13\nz\201_!\0"
+"\0\3\35IDATx\234\355\227KL\23Q\24\206O)\16\202\274)\26\245\370\302\5\202"
+"D\36\335\210\21\2131>B\2\270@\27F\335\2700\321\205+\214\13I\214\2704b\342"
+"\202\225\211\321(\270\220\304D\24\304\210Q!\246\256X\360\362\21y\204\24"
+"\21-*\241\264\265\307E\247\235s\356\314\224\231\215\33\347\3374\347\374"
+"\367\273\367\334\351}\314\0X\262d\311\322\177\42{\2o\203\2738\262h\266"
+"\303\232\201\b\42z\17\231\243\316\207\21\21\21#\227\315P\365\21\214\351"
+"\264q\312\3769N\341\327T\303X\35\22\65\253\375$m\254\212\6\25\206\261\24"
+"\32\2543\214M\321`R\273\215\206\234!2\267\35\2061\350P\250n\343\24d\16"
+"\307\250\251\2\23\30\344\365D\251\327EZ\256M\37\254k.\203\261\356^43\230"
+"%\263\322\375\3l\33\363R\262\26\203\2769\343X\271gw\365fy\23,O\274{\373"
+"da\365\361\213\332\306QP\250\267Ig\247\304\264\375nP\204\20\21q\374h\2"
+"(\255mE\23BD\354\245K\232\315\255\264k\'\211f\6g\245\322\32)\36\317\37"
+"\33\320\34\253a\211t>r\304\6\0PpGI\5\232\264\250SaB=\212\237r\255Jre\277"
+"\306X\224z\245\324f\353S\322\376\22\221\252\246\25\376\246{s\227r@\243"
+"w\r\247\322\'\350S\273\306\274A\342\264p\254\203RA\'\363.\21\313\357\240"
+"N\5\235\30\366\360.=\324\273J\235~\352\3409\216\25PoVyX\340f\24Vq\f\330"
+"zkP\362\367\31\25\226\4\314G\335\333\361t\306\22\303Tg\376$ug\0\344\253"
+"\2431\215\265R\355Lv/\26\272b\330A\336\312/P\305\371,\254\6\200d\0\200"
+"}\274Y\346\1\26:/r{\233\374\233\213\246tC.R\265>\23\313!c\233\314ake,\303"
+"\34\226\n\321G\42l\6\370\371-!\346\2231\361\6{|r\325\21\223\0\340\207\220"
+"\23G\327\301f\204\\\2161lB\310\345\255\216\1\0\3004\377\77\347\215\215"
+"\6ox\316\341\320j\t\0\0\271\24{&\230n=j\257\257\253N9\307\263\3\274\312"
+"\353z\245y\21qL9\233\37pl:Y\33;\213\210\210\215\361\270FX\344\'4\251-~"
+"D\304Qr\325\275\340\330d\226\6%E\217\331\343$\345\376\303\271\207\352\313"
+"\331v\17\21\21\207\230sK(\263]\344\354\321s;T\311\262\351\243\2\327\231"
+"\316|\207\374\302\327*\364V\346\27\270/\315\312\334\2453\362Q\331\247\372"
+"\270\361,\t\34~l\363\344\0$\271\352o\316\312\231a\215GU\273 r\210\30\376"
+"N\202\21\247\232\2\330\352\325\340\210^\352\354(\251\345\227>\24\272\242"
+"\263v\0\300\325\256\232\241\254\376r]\b\0 \377\302{5\23\350\334\303[i\275"
+"\252\271\16\327V\226\304+\n\177\30z\376T\374h\324{1\224\n]\353\355\331"
+"\313\201\371\271O\301\204\325Y\262d\311\322\77\327_D\250\222\276:\376\17"
+";\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0H\0\0\0p\b\0\0"
+"\0\0\230\257i[\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22"
+"\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\13$\246WR\356\0\0\3\211IDATx\234"
+"\355\230_H\24A\34\307\277zz\236\177\362<\323\2242\365\240\244$-\f\373c"
+"\206\24e\224\226E\17\231ET\32>DE`\24\221\201TP\341\213=\30\346C\6\25a\21"
+"\230\364\207\376\232\371`\366\20\231A!\221\365`*ze\247\247W\352\364\260"
+"\273\336\356\316\336\336\356\315>D\334\367e\346\367\233\357|nf\366fwv\201"
+"\200\2\n(\240\200\2b\320O\302\242\22\236\22l\324p\230A\221F\201B\214\2"
+"\231<\300\30\300\22\31g\317\331\227D\333\306\32\37w\365\16\2\b\215\212"
+"\261\317\317\316\233G9\242\350N1\37\250K\3626U\346Yp\276Of9\2410\312#r"
+"\216;\2056\205W\fI<U|^\274F}\362N\317\277*L\266z\321CqlV\0\215\310;u)\f"
+"\33\370^pQ\24\5)\200(\r)\247\311\361JO\20\255\5\64\354\255\341\334M*\345"
+"\337\377\210\224\177\21\252\26&\20F\216\n\26506\20\232Zd\t\277\267\310"
+"i\276\264\362e\2107#\255\204\42\0\216;|\364\252-W\322\252\3\264\272\16"
+"\300{\1\204j\16\244\364\207\364\241tix\377\33\0 \\\77h\2454\234h\220\204"
+"\332Aay\262\304U\2\0\63t\2036\205\313\22=\355b\200vP9\225i\4\200P\275\240"
+"\254|*\325\f\0\21|\240\365\362\233.\5Q\271\317\366``B\'\350\344*\205d\217"
+"\250\256qj\245U\276\34\232@!g\353\351\211\311=\2761\246\2423\351\276]\252"
+"\240\344\245\246\231\366e\33g\371\306HU\240\341\360\321\351\255\363\277"
+"s\32\61\34\244\272\330.\267)Z\255],\325\21U\304Z\315i\273o\2153\203\0\374"
+"\351\276\2613\245v\222\35\4\0\3\7\327;\f\1\1/\326x}z\353\3\241\263\230"
+"\30\3\302\243z\203@\250\34\63\b4\320\240\220|\347p8\34\13\365\201p\215"
+"Ned\332l6\333\250NPG/\225\332\f@81j\7\221\227T\252\30\0\340\322\tB\207"
+"<\261$\3\0\246\306\365\202>\312\23\373\1\0N.\320q\254y\22\13@\264\353\242"
+"\366\0\230>T\353\0M\376\220\306e\334a\215\273h\f76\3131\256t\261\202\16"
+"\315\346\312\21FP\342)\276\342d\4]\26n\302\214S+\335*\324\330@+j\247\253"
+"Z\326\310\344\255aq\263y\272\376K\3\310\346%\237\3734\316\23(L\215z\317"
+"MS\304\4\37~&\342(\201\22\344]\n\254\362\f\200\354\226\32\2638\36\245\34"
+"\326N\352\354\321\34&\363\230\267<\230\222yvq-\334^\263D\306\247\346\354"
+"\235K\261\13_\327\274\351s\2729KbJ\346\362u\364k\276gDl_kH>\275F\376\211"
+"y\323\n\32\66\nd\330\210\\ZL\365\204\20B\2563\377\330\5B\b!-f\337Nu\355"
+" \204\20\62\62\207\225c\35 \204\20R\247\315\255\262\330e\361\0\200Vf\320"
+"v\256\360yV\363\5\62eq%\277\3\25\276\245iT<\277\227\332\202\0\240\270/"
+"\331_P\262\260+\357n\310=\320J\310m\177A\26\3716Wz\31\325\244ORNw\244\252"
+"[\345\2525I\42W\t}O\325\250$\247h<\356B\1771\0J&\2479\375k\318@Q/\207\371"
+"}\205z\300PR\177\r\217\330\226\227\354\356o\2777\3104\236\200\376\177\375"
+"\5\222\216\4\335J\214\2735\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0\66\0\0\0p\b\0\0\0\0p/\334p\0\0\0\2bKGD\0\0\252\215#2\0\0\0"
+"\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\f\0\325"
+"\25 \370\0\0\3\65IDATx\234\355\227KHTQ\30\307\3773\332\370h\314\324\21"
+"%G{.\314\2222\335\244\245SD\17\n\37D\31F\255\f\2026\255\2146Bd\213\26\221"
+"A\213\36\20DRZ $diF&\246\205\255Zhj\213$\2211\263\306r\312\31\247\276\26"
+"\367:\367\2343\347\336\271C\333\373\337\334\371\276\377\371\335\363\270"
+"\3475\200%K\226,Y\262d\311\222%\323\262\351\32\2532\22R\347\202\336i\363"
+"X\241g{\361\352\4\345\367\357\261\267\257\237\314F\257\77\267i\224\4-v"
+"U\333\215\241\r\367\202\42DDD\2435\6PrS@\n\21\21ue\353\365\255\240m3\23"
+"M\16L9\nJ\35\341x\346h\257\264\256J\77\363\362\341\3\66\0\310\276\253\245"
+"\26\252e\324\311\20C\265\'-\245\33\265d`\267\244.\226z\245\265\315\326"
+"\255\245}\371\42U\314\266p>\227q\266\374\325\214\241e<\345\34cG\355\22"
+"\347\r0N\3\217\335`\251`\26\347\235g,\237\213u\266\262\35\243N\376\225"
+"\36\326\273\310:=\254Cgx,\233\365\246\264\301B\tG\3216a\270\270\371V\251"
+"\345\357sT\310!`^\326\275\23N\247\3709lB\2400\301\272\223\0`\7\200\252"
+"d\256T\304\312Lb\203\34\367\22\266\227/\345\23\250\365\231\\X\f \36\0*"
+"\370b+\366pa\3269\336^\247>\323)&]U\33\31\61\77\215\345R\261\274\330\260"
+"D\25K\211\rK\2022$\302b\300\217\257\206\230W\305H\310w\234\210Z\243\35"
+"\300w!\'\326\256\203M\n\2714s\330\230\220\313\210\216\1\0>\363\337s\306"
+"\\m\350\347s.\227\254$\0 \235\305\236\tf\211\36\265\323\333\266K\333\307"
+"W.\360\255\274\242\327\264!\42\372\240\355\315\17x\354s\274\34;MDDU\341"
+"\270T\230\344\307\245\324\32\37\21\321\bs\324\275\340\261\211T\t\345P\266"
+"\331Z&U\362\207\347\36F\36\316\266\26\42\42\32\344\234\353B3\233E.N\331"
+"\267\27\213\270\254sD\340Z\235\234\357\352T\322\215\302\3336\371\4\356"
+"\323\21\255\357\216zu\253\354\216\23\333\356\361\13\34}l\362\244\1v\367"
+"\301kSj\346\275d\250\312gE\216\210B\337\230`8+\222\2\326\16I8F/uV\224\243"
+"\341\247>\264xAg\356\0p7G\364PUO\241.\4\0\231g\337E2\13\255e|)\331U\315"
+"\275\277\274(\77\334\242\320\370\340\363\247s\206U1\335\274MDD-\236\215"
+"\342ag\250\313DD\324\33\23\3\324\22\21\321|NlT\352\27\42\42\272\251[@~"
+"\275\254W\16\302\276\30\261\303\312C\177\374\244X\234z\303Po^NY\31\211"
+"2\325\257\334o\3\200c^\223\7`\336\322\354h\337\267\343T\37\321#sX\2428"
+"\271\312\2423\0 \\\351\307\227\213\5\344#\371\230\213~\325\371\315\325"
+"\346f\327]\340\2209\b@\235\266oNK\356\325\272\252Rw\235\340-\351\376\241"
+"\373\217*\271\246\42/0\375\246\303\370\326`\351\177\365\17H\300\245\357"
+"\'\347Z\214\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0H\0"
+"\0\0p\b\0\0\0\0\230\257i[\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13"
+"\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\f\22&\254Q\260\0\0"
+"\3\276IDATx\234\355\230[H\25A\30\307\377\271v\324\264\364h\226H\245\207"
+".\224\225F\321\315\214\b*2+\363\251+\221)\30\335#\243\210\n\242\202\b#"
+"*0\252\7+(R\42\b\321\242{\344C7\210\314@\210\312.\250E\236\274\36\223\324"
+"\351aw\317\331\235\331sv\366\314>\24\234\357e\347\373\317\367\375\230\331"
+"\335\231\375f\201\377\302\302_\22B\b)\33\310\364l\372C\b!\355\251\274\244"
+"\211\335\204\20B\356;\365r\330IB\b!\244\220\177L\305rF\235K+F\337\224\325"
+"\352\1\374 \251F\316i\232\341\323\222_\311\232;\231\237\3\214\356\224\263"
+"<y\252\222\361UV\310Z+\34`\263\222\326\267[\366\263\333\25\341\2065\16"
+"\6\334S\22I\251\4`k\257\342}O\264\b\302\250V\225T=X:\253\266I\236y&m\371"
+"\336\344\327U\336\346\25\353\34\240\2220\366\315i\236\306ZR\13\315\351"
+"_\34\f\7XI\203.\4\307\1\312\365\234\217\203\203\5%4i9}\363\202\345\0\313"
+"\265\240S\301s\2002\37\247>*P`\270\thg\263w\251\227w\213\214\350\377\266"
+"V\42bk\24J\230]\303\21\6E\333\5R\337\37a\220\344\3\306\1\221\321C]\231"
+"\371#\330\260\356\212\273u\215\77\1\f\214\211s\215\235>o\f\23\21\303&\305"
+"\275c\36\311\353T*f\374\361f*d\237\301(w\320\234\236\24\66(\252X\277\335"
+"\35Vt\355=j\246\223\36~6\230l\311\244\333Z\337a\0\352\244\223\352\f\206"
+"\r4\345\234\320x\352\232\16\370\324Z\214e\262\367\240\317\31\302\3j\363"
+"\327q\354\32#\5\367\36\221\242Oj3R\b\204\316]j+B\f\204[\217)!\350%rH\271"
+"\306*W\263=[c\303s\1\270\325\252\346iM\226\256\327\2h\356y\0o\275\345Q"
+"\211\f2z!M,M\357V}\1\0\250\337(\13\240\331z\267\367\222\316\345\7E\320"
+"\37\3542\2\0j9\300\17ZB\177h\33\236i\1\374\240\42F\251\0\0\365t\300\r\232"
+"\272\210\221*\1`\220\342\360>~\351\f[\356\177p\205\1\275\26A\373\347\30"
+"\210\r\2326\347\324\n\16\233Ep\201\302\217^4=\307pLM\312=\222f\36\25\20"
+"\64j\232\224\340\232\221=\314\34\243\267\34\216\342\243\326_\362\277S\215"
+"\330\16\nx\263==\322\220@\375Z\138\242\342\370X\307\270u\327\177\13\203"
+"\0\374y\177uuJi\2378\b\0~lY\350\266\5\4<\232\357\367\353m\r\204\332U\304"
+"\36\20\356\\\264\t\204\203&G\32n\320\217K\6\342\33\267\333\355\236`\r\204"
+"\313\25449\335\351t:\273,\202^42\3222\0j\305\310\17\42O\30i\25\0\300c\21"
+"\204\27\2640e2\0\364\377\266\n\252\247\205\215\0\200\16\331\261P\326\334"
+"\213\7\240Yu1\353\1x\213j\13\240\276_z\277P.\326\344\207&\260\261E\356"
+"\221\257\36Q\3206\345W[\247 (\351\200\322\350\20\4\235S7a\301\251\25\254"
+"P[b\240Y\245\336&\317=\222\374udT:\274\355v\16\220\277\37jY\367\207\372"
+"\34\203\2511\347\334q\206\230\260\355\17\64\34#\320p:%\'\226V\0L\177|\332"
+"\241\365\273\230\210\330Z\246\366\250\214\240b\34\313\253\373\251\30\345"
+"\327\255\274\326\42\243\23S37\214d\330K\237\237~\331\334\321#\207$\245"
+"\244\317\\\300\36\363}#\22\373[C\26\261\367(8\23^\264\252\265\331\5\262"
+"mD\36aB\310B\26\262\220\205,dv\331_\375\343\216\357Q\27\272{\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0p\b\0\0\0\0p/\334"
+"p\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~"
+"\374\0\0\0\7tIME\7\322\5\6\4\f%\236\21\364\277\0\0\3sIDATx\234\355\226"
+"KHTQ\30\307\3773cc\232\346kL\321\3214[\210&fJ\220\221YD(\201\217E\271\210"
+"\202\300\205T\13\2410\332\b\221-E\243\210h\221\364\2404\302E\241\345#*"
+"0%\24\202\b_=H\24\35\61m4\315\327\350\327\342\336\231{\316\271\367\316"
+"\\7A1\337f\356\371\377\277\337=\337=s^\200\77\374\341\17\177\374\323\21"
+"\320KDD\r\233TN\305*\21\321\\\2226\227\276HDD\235\21\274l\256%\42\42*\327"
+"\353\357\242\344\177Jf\305-\315\222\332j\322\303,]R\306\304^E\213\353\223"
+"\264\2318=\nH\231\227r~\227\272\225\314QI\241\223\372\24pVNZ\273 \265\13"
+"\347d\341\2517\n\246\169\215nY\0\234w\311\255\311h\257\30\22\235n\2565"
+"\324r\303\375L\245\336)\340\214\'\365C\213\347\361\276/\nxN\252\30\213"
+"\360\215\305N\213\324z\201o\n(\23\261;F(\240\211\247\276\205\32\303\242"
+"&Xj\355\2401\n(b\261:\243\24\320\240P\203Aj;@\7\253tx\246{\323\242\361"
+"\336\376\207\320]\347\246\270\250\300\260\331\25\307\244q,#\177_\366\366"
+"@\351yq\370\375\273\226i\337\375\'\324\f\211Sr\265\255\304\354\35\332\371"
+"`E\275l\210h\310\3332\r\256Y\326\204\210\210\332b\365\276-\255i\27\323"
+"\32\353\36\267\246\345Z=\355\251\23o4\373*Z`^\336_h\2\200\330{\212\264"
+"T\242E\235v1T\263g\376V+\342\362a\215\276X\352\255R\233\251]\221\235\251"
+"\42\225\315V8\237\3008\231\353\212\321+\34F!\303\354\250]\343\274n\306"
+"\251\342\261\333,\265\22\303y\227\31\313ic\235\335\354\207Q+\377\312|\326"
+"\273\312:\235\254C\347x,\226\365\306\225\301B\16G\321\36a\270\270\371V"
+"\244\350\2178\312e\25\60\7\353\336\365\310\241\13\34\66\42P\30a\3351\0"
+"\60\3@q0\227\245Z\231\334\216\27owcG\371,\247@\245\360\'b6\344}R\330\254"
+"\267\36\341\2321\227x{\207\374\33I\33\212:\271H\325\374\364\36\66\31K\334"
+"\30\266Y\306\f\236^\356\b\2024$\342\315l\356\207W\314!c$\350\317N\371\354"
+"\321\f\340\247\240\251\357\205\232\330\230\240\31\270L\230\1\f\13Z\224"
+"o\f\0\60\312\377\237S\306zC\27\257\331lZ\231\0\200H\26{)\2309z\324\1G\323"
+"!e\37\17_\342\253\254\325+\255\227\210\6\225\275\3711\217\215\352\334\37"
+"*\210\210\250\330\323\316\25&\271\366\3756\311ID4\300\34u\257xl$L\203\262"
+"J\333l\31#\345\254\361\334\23\365\341lzHDD=\234sS(\263^\344,\322\276\275"
+"\232\305\251!\3\2\327\30\302\371\266VI\256\26\336\226\356\24\270\357\307"
+"\225o\267\226\313[e\273E\254=\177A\340\350KM~\4`\266\37\273>.+\37\65\206"
+"*OuE&\42\327\f\323\350\217QS@r\257\6\307\304k\235\25e\255\372\245\17\255"
+"^\321\273{\2\366z\325\27\312\321\231\241\13\1@te\237\232Yj\334\317gi]\325"
+"\354\5yY\251\236\212\\\237{:^\314\n)z\27Ck\274}\233%|qij\362\353\212\327"
+"\352\374\341\17\177\370\343\257\307\37\207\21\65\234\247)\f\t\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261"
+"\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322"
+"\335~\374\0\0\0\7tIME\7\322\5\6\4\r\27O\335\224~\0\0\5#IDATx\234\355\231"
+"mlSU\30\307\377\355:\326m\205n\303\221\215\271\221\231\201\321\200N\215"
+"3\314a&\212 &@\20\242\31F2\203\201\21\23B$FCL$\32g\24\24\215\310\342\7"
+"\247L\243bX\4\66\202A\367\305\305\17\370\202\350\230\3\3156\233!\203\271"
+"\321m\335h\267\266\217\37\356[\317\313}YK\210\37\372\377\324\373<\377\363"
+"\353s\316=\367\234{Z\340FkE\2344\275\236:\315\37\320i\24\275/e\\3%\250"
+"\';E\332\32b\264\77\65\332M\227X\\\2746%\334a\342\324;;\5\332\23<\215\350"
+"\303\344iE\303:%\246wwU\322\270\343:\343\245\252A\355\363@~\222\264z\215"
+"0\271\1(\357\322\256\16%G+\13\252\355/U\1@\376\267\32o}24\327)\265uW\271"
+"\22\310\324f\364\345yI\340\236S\33\177\343\327C\273\325\307\367\310\314"
+"i\25!\245\351AOB\360\311\260\22\3344SZF\'\21\21Ew\262\341\232!\42\42\32"
+"\231\77C\334.\42\42\n\255\345\343\13/\20\21\321\t\227\264\225<\nd\356\366"
+"\2\300W\77\13\231\202\235\231\0\320\324\77\303\372\376\7\62\353l\202\274"
+"\245E\5^\77\5\243C\227\373\247S\372\262\234\225\257\264\367\31[\5Mu\177"
+"\\\317\334\323m\323D$\334.\251\n\266\234\274&\256O\24\353\334\352S\35\31"
+"o\23\21Q\235\3\330=-\223\22\226\242\321wJ\0\300wL\271\334l\13\253>e\312"
+"\42\42\242\310\201b\334|F\275h0\332yd\260\262\275\33\231\353x\367\257\275"
+"\243S\271\363*\356*U#\263\266\77\335T\247\215b\226ee\256\2061\246\222s"
+"\333\215\321/\337\361\223X\352\213V\264\271m\214\267\177=7\227\226\t\343"
+"\260\307\202\266\244\217\2616\347\212\226\r\334f\331hN{x\234q\276 5\25"
+"u0\246\367Lik#\214\361e\23\233\347P\242\353\3\63\332c,\355\250\351#\350"
+"jJ\260\265\230\230\226N0\264\341B\323^ \343\250\341\373Ln\251\30fh\364"
+"\2749\r\230s^\367\265I\r\271],-`==\357\234\322\214\'\244\371\217X\32\355"
+"\262\244\1\257j\306\357e\331u\34m<\317\6\227\325\247:\177\220$}\3\34\256"
+"\331\206\6lR\235\277Irop4z\324\26\347>\2478\377\20S%\374\3526\234i\213"
+"\303\263\212\365o1\263\217/\356K{\32\262\225\2315($f\217\363\270\255\16"
+"px\237\210\210\202B|\33O\243ENp\367\22\21QD\210w\362\264Q\7;&\340R\216"
+"0F\300\r\0\230_\315\33\317\20\37\221\211\216\3\0\2145Q\301\255\26j9\353"
+"\204\6\234\4\220\270\341(\270\345\202\357\2023\\g\34\0\214\243\206\2\26"
+"\372\212~g\270\253\215\205\0&\331`\201p_\351vg8^n\0X\42\306\305\251\351"
+"\34W!\204\243#)\340J\205p\2224\5\'\2767\247\204\23\27\312d_\13\335\0\340"
+"\23\302\321Tp\342\211w\42\25\334\365\223\7\0\304\307]\272\'\226\24\331"
+"\300\2C\0\2006\341\241\220\355&h\24\37\36V\rJgCBK\7\33\205Tn\0\370W\b\373"
+"\205\310\fp\27\257\33\316\3\310V\243\34oX\364\216\364\2\360\317\225\203"
+"bc\243\3611\345\343\335\342\250\336bZ@\366\262\257ys\274yEq\202\303;-\340"
+"j,z\344\352\340\314\373\364\224\33\0\302\277\13M\304E\306\220\360\372r"
+"\214\305A|\245Zh\201C7wm\254\77\n\356;\241\305\255V8~b\31\373\266\202\353"
+"\20\356\243d\2757\304/_Fk\5\27j\347[\334\226c\2013_o\324\25\345S>\356\251"
+"\264\300\231K\305\265\375\303\'j-\32\231W\256\342\242\7\370\304C\268\257"
+"ENQ\336\b75\303s\314\3155\234\267\214\257\16\301\275\\\223\2545\3468\313"
+"I\251\310\333\313}\245\374,\3\08hZ\235\241\325\234\'\266\300\24\327\347"
+"\0\'\234z\3362\243-\345\327\13)\316\327\303\232&\314~T;\342\b\207EA\326"
+"\365\271Iqqg8,\347~\325\251\227\231rzx\232\31\16\253\302\214-\429H\315"
+"\322\316\305\3617\343v8<8\312\360\302O\361\206\274v5\25\333\202V[\34\26"
+"\377\311\366\243\245\230I\77\242\315\316H\35P\31\267\305!\357\13\226\27"
+"\332\257\257-\331\217\353\233\304\225Z\0zy\6Nr\270\331\370.[\21\2\77\236"
+"\277:\351/Y\\\245\377\225\322\261y\0\0*\177Q\232/\b\230\227\7\370^\23\16"
+"|\214.>\243\25\321j\333Y\0@\341\236AS\330_;\214\377{\324\321\263\303\1"
+"\231\353\16\207$\254\340\'+\2317\302V\373\261\323\344\255~\240\352\216"
+"\22\375\222\2gOw\234\216\261\36e\364\214\261\263;g\372\312\212\363s\274"
+"\223\221\241+}\327d\371\373\263\1tJ^h\322J+\255\264\322J\353\206\350\77"
+"\264\227%{m\226\250\305\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0;\0\0\0p\b\0\0\0\0\205\321W\300\0\0\0\2bKGD\0\0\252\215#2\0\0"
+"\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\r,"
+"\376\326}Z\0\0\4\320IDATx\234\355\230]L\34U\30\206\337\331e\27\350\226"
+"\237\42\210-\265\21\331\246RlA\254X\25\42\255\245\261\246\266Im,V{\241"
+"\27\330PM%\365\306\20\215\301hRcZk\2426Z\242A\33-F\222\246\tZ\265\20\244"
+"\202Vk\42%-\240\374\b[\n]\376\n,\260tw\217\27\303\314\234\357\314\354\354"
+"\354\2251\362^\315\371\276\367\231\371\346\314\231s\346\f\260\250E-jQ\377"
+"\272JBL\321[Q\242I\375*\312\2\367G\307~\3028u\304G\203\356`D\357F\201\246"
+"^\243l\250\330:[\313\4\365$XE\367\210(c\37YDo\33U\221\240Z\365\243\326"
+"\3303*\360J\301\220r\354Yf\5}V\261\317\354\6\62\333\225V\215\5t\325\304"
+"\202\371Z\1\0,\373A\201wED\245\357\27\254\355\231r\300\241\f\223\341[#"
+"\261/,8\317&\251\241\312\205\241\375u\4\324=-\373>\214\341\202\245sr\360"
+"iS\324~\2361\306X\240\202\206\13\275\2141\306\306V\230\261/3\306\30\233"
+"\336)\306Ww1\306\30\253\227h\230o:*\343\0\340\253\213\272\223\246T8\0\340"
+"x\237i\331\377\5I\221-DY{\37r\'\217u\324\177\346\213\366Jw\325)s\340\325"
+"\342\350H\351\340\254\366J\3736D\203:k\310|p!\354\375.Y\231\20\37\67\65"
+"\63:\24R\321\323\302\4\220\23#B@zq\321\272\273S\26\32\376\356\266\326\306"
+"K\0\354\265\342\334\261V\4\23\17\64\7\231\250\356\252L|\240\213\n\357F"
+"\352\221I\235\2051\306\330\315\6yDgWh\261\7x\322\366\322\2241\251\350\13"
+";\266\253\r\217\235\277\317&\336\27\272P}\370\323.\202z\23\0g\267\322\332"
+"\307\241\331\36\336\367\335\32\0\300\366\253|\260.\36X\77(\37\277\311\241"
+"\356!\336uR)\310\355\345\303g\343\200\264#\203\314\367\315#|\377^\341="
+"=.5QJ\312>%\1\200\223\366\360qb)\323\22R\'\311\224\213\17\25\310\13\361"
+"\6\77\277v\275F\330\33\251:\366\24\61\234\347S\205$\305*E4i\216\344\337"
+"\347s.\312\266i\31\33\0`K,9\325\337|\3037Lr\353\264Y_f\363i\31#&-\254\26"
+"\330\333iz\216\264\306i2Y`\223i:\16&\322\36\256\314\372\315X\332\27\30"
+"\25\330!\232\316 \2554\232\324:Rf/\323t&\337\210\241g\362h\327\221\331"
+"f\312\222n_\353 \271o!\252\235\16\0~\265<HSE:\266\214\32\16q\251_H\346"
+"\'\35\212\2306\342\370S\233>7\223D\240@\317\42\317G</*\361$\372\n\276n"
+"\200\2;\346y\217\377)9\272\242\225\240\'\303,\5\333n\20[C\371\246{w\36"
+"\243\261j\203\225@VV33\325\364\376p$\0\251\364Jx2\370\371*\23\24\200\264"
+"\177\304\230\274~\314m\340\326\16\35[wm]\251w\4\373;~=\327\22\60\272\222"
+"r\20[~H\35\270\203\365\355\303\23\1\0\30\237\35\363\6\315k\5\362\270[\255"
+"vFr\23\25q\253X01*4m\230\353\227\251\250P\34%\235\272\306\42e\7\0[\215"
+"\213\217m\363\315\7\375,2+\1@\326_f\26\337\374\254odd\240\257\3757\257"
+"A\366A\363\301\250\352\217\252;ul\266E\226\261\300\tq\263\343\232\213L"
+")\352\315\21\340\323\326Yv]\30\331\33B\221\31Um\312d/\177W\f\6\67\233\365"
+"4U\372\fY\237!UEqe\257\270\21\177\254\327:\374\244XJlY[dJ\326\t\376~\1"
+" \330\331i\313\261\266\5\20\366\322\322\343g\374\226k\246\313f\376E\353"
+"w\313\330(\217>\303\r\254\306\\\241\302\244\364\365{\353\310c\350\346\262"
+"%\1-\376\261\35F*\341\266\31\254I\213;z\264p_\254!\n\34\346\330\243Z\230"
+"\377\215\362v\30\24\339\323\269d\3P\310Y\372\303\261\334WV_\243\306\362"
+"\253\374\35\341\330{\264\3037\270\31\373=\376\321%\3531\0p\376\256Z\32"
+"l\\|\37\337\377M\206\177A\226\237S\r\275d\353\276\224,`\203\7ts{\356;\332"
+"\326\247W{\365%\0\330]K\306\361\\s\313\345\201\341\311 \34K\23\323\226"
+"\273s6rWj\330#|\232\3429\213\23\326\350\363\6/K~\213\5r\350\3250+\325\246"
+"/gL\301\311\332\'\34\2\302\325\260\344\341\342\373rS` \317\245\237\177"
+"l\365\353\302b\375i\356\214\214\224[\\.\227\23\230\367\335\234\30\367\16"
+"x\272&\214K\375\277\351\37\253\243\25\354\313Jv\303\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0"
+"\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0"
+"\0\0\7tIME\7\322\5\6\4\16\7yG\327\331\0\0\58IDATx\234\355\231YlTU\30\307"
+"\3773\335\246\323)\255%\305.\264\270\224\272\4\244\225\264\204\2\212\240"
+"\42\230\bAy\251DR\203By\351\203\306\250\211\tD\223\272\0\n\21\333\304\304"
+"*\325\270$6\202\255!1\326\4\213\211h@T*[:e\2\262\224\226N\367i\247\363"
+"\371p\347\316\235\263\335{g\246\321\227\371\77\315\375\276\377\371\335"
+"\357\2349\367\334sf\200\31\225C\231qg\0\30\235\24\342i\36\0\223\243\261"
+"\336h/\21Q\203\30\257#\42jU4r*q\343\0\260D\214W\1\300p\314\270k\0\2606"
+"\223\17\247m\214$c\302]\4\200\334\347\371\360\346[\1\300\253l\246\322m"
+"DD44\237\215\226\336 \42\242E1\343\340#\42\42_et\354\356\36\42\42\352O"
+"\211\35\327LDD\24\330W\256G\356|+\240\305\16\252\332\250\347\35\252\177"
+"\321\77\235\77\341\353O\2375\267\262\\w\77x4\366\352\360#)t,\16\30\260"
+"xJN\13V\305\205\303\253r\334\313\361\321\340\370PFk2\31o\13\336\316 \17"
+"\233z%n\32\200%\307X\332\321J\3536\246Z\326\324\253\263.\354\227,\t\214"
+"lU>\247\2740\207\374W\316\365%X\331\377-\33\235u\225\24\344\271rh0\330"
+"w\255w*\241\233\271\327\354\354\360\206\214\357u\262\373\343\272\242h\303"
+"\366)\42Zo\213\225\267\365\310\270d\26Owm\363\204\35){\211\210\250\326"
+"\6lq\353\230\374\21#\42\377\273\305\0\3409\254]n\261\204\325|\257d\21\21"
+"Q\340@!\346\236\f_\324\33\355Re\260\322\335\233\230\353P\367\357=\376\311"
+"\2549e\225%\341H\372\216g\232k\365Q\3140\255\314Q\77\304Trz\2071\372\267"
+"7\374&\226j\272\302\314ng\274\275\33\271\271\264B\30\207]&\264\205^\306"
+"\332\222%Z\236\272\302\342\32\325\264\207\207\31\347KRSA\'c\332\257\244"
+"\255\17\60\306\327\24\266\324\203\321\256\17T\264\307Y\332!\345#\350h\216"
+"\262\251\366\77KG\31Z\177\276\262\27H9d\370>\223[\312\372\331!~AM\3f\235"
+"\215\370\332\245\206\254\277X\232\317|z.\232\324\215\337I\363\37\2614z"
+"\321\224\6\274\256\33\177\222e7p\264\341\\\13\\\2067\354\374Y\222\364\\"
+"\342p-\26\64\340\351\260\363\17I\356M\216Fk-q\316\323\232\363o1U\314\257"
+"n\375i\2268<\247Y/\212\231=|q_Z\323\220\251\315\254\253B\42{\230\307m\263"
+"\201\303\373DD4(\304\267\3634*\227\264\26TEDD\1!\336\305\323\374\266\266"
+"\7\16m\377l\4\264\203@Q\ro<I|D&\372\26\0`\254\211\32n\235P\313);4\340\b"
+"\200\350\27\216\206[%\370\316\331\303u\205\0 ;r\255\201\205\276\242\327"
+"\36\356fc>\20016\230\'|\257t\257=\34/\'\0,\24\343\342\324\264\217+\23\302"
+"\301\201\4p%B8N\232\206+\22\302\t\341\304\2052\336m\241\23\0<B8\230\b."
+"[\b\307\374CD4n\346\224\n\0\342\343.}\'\26\27X\300|\332\301\243]x(do\23"
+"\64\212\17\17\253z\255\263#BK\33/\n\251\234\0pC\b\347$\202\273<c\270T@"
+"\266\32\271]\23\242w\240\7@\316l9hz\310\37\32\322>\336/\216\352\35\312"
+"\2\62W|\303\233C-\217\24F9\\\342o\b\313Mz\344\350\344\314{\42)\'\0L\374"
+")4\21\27\31C\302\366\3450\213\203\270\245\232/D\242\324\315]\33\353\217"
+"\206\373Ahq\227\31\216\237X\306{[\303u\n\337\243d\2757\304/_Fk\r7\322\301"
+"\267\270\307m\202S\2577\341\25\345S>\236Za\202S+\214k\377\207O\2544i\244"
+"\256<\214\13\36\340\23\253Mp.\223\234\246\334\1njN\314R\233\227s\336R\276"
+":\f\356\346\232d<\241\306\231NJM\256\36\356\226\362\263\f\0\240IY\235\241"
+"u\234gz\236\22\347\265\201\23N=\357\250hK\371\365B\212\363\234aM\243\342"
+"\346@\323\327\266p(\37d]\237+\212\13\331\303a\25\367\253N\235\314\344>"
+"\303\323T8<6\301\330\2\222\203T\272~.\16\275\35\262\302\341!\77\303\233"
+"\330\314\33r;\302\251\351\255h\263\304a\301y\266\37\255\205L\372Q}v\6j"
+"\201\212\220%\16\271_\260\274\221\367\42kK\346\223\221\227\304\365\225"
+"\0\42\345\318\311\341f\323>\266\42\370~={s,\247xAu\344\277\220\316-\227"
+"\0\240\342\204\326|\236O]\36\340yC8\3601\272\374\254^D\233eg\1\0\371\273"
+"\256*a\27\32\214\77l\302\243g\205\3\3226|5\42a\r~\262\206\331\21\266Y\217"
+"\235.W\315\3\325\367\25G.\311w\352x\347\361i\326\243\215\2361vV\347LOi"
+"\341-n\327X\240\357\272w\\\226_\226\t\240K\262\241I*\251\244\222J*\251"
+"\377D\377\2\217\7\366U\221\334/\16\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0;\0\0\0p\b\0\0\0\0\205\321W\300\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\4\20\27\260\261\370b\0\0\4\345IDATx\234\355\230[LTW\24\206\377\1f"
+"\270\f\267R)A\250\321BQ\244\312EQ[%\242US\32k\23\333\264\326\352C\373@"
+"\r\246\241\215/\275\244\215\241\351\3M\203\301\244\325TI\32\254i\345\201"
+"\3044\241\227D\bP\241\332\326\244HTP.\2Rp\30\21\350\0\63\314\260\3720\314"
+"\234\265\3169sfxi\322\224\377\351\354\265\376o\366>\373z\366\0KZ\322\222"
+"\226\364\337\220\211\27b\42\18\\\32\2239\26\200\313a\370CUDD\345\332\370"
+"\33DD\3474\3410^\230\1\200\315Z\266\20\0\246\214\331Q\0(\211V{\314\373"
+"\375\311\300\354]\0H,U{\16\245\0@\237\266=\\+\211\210h\362I\31]1FDD\271"
+"\306,\6\210\210h \237\307\326\364\22\21\221=<\b{\232\210\210\310Y\235\345"
+"\213dT:\275\261Z\255[\214/6]\361=\335\2766`\267\304\247\347g\371\f\333"
+"[\202\324\213&\n\240\313\301H`\303\234>\352.\f\316\342\3}\366\275\20P\230"
+"\316\350\241\247L\301I\0\246\343n59\367~h(\200\315\227%\332\222\37\234"
+"Q\264\365T\277\17\274sRgm\370\232\30 \376XVj\2M\374\325m[L\235\377\222"
+"B\356\301\5e\34\334\232\231\370\340V\3039\343\35HGk\352\347\27\372\360"
+"^\361\342HS\371\2142r\216\215\213A-\265b\330\257\6|\337\230\364\270\350"
+"\250\251i\373\310\274\37\275\370\234\264\344Dh\261\224\342\242uO%-\24\234"
+"=\35\355M\327\1\204\327\251P\254U\203\361G[=\232\245\320S\261\n_j\242\257"
+"KrY\325\244\376\32\234k$\42\242\206\354w\225\330\323\234\f{gJ\237\364\351"
+"\333p\354\365\27\206\370\346\227\322\314}\363Wk*\277\356\26\250-\16\260"
+"\364\370J\207\31\232=\304}\77\257\6\0\354\275\307\203\365\321\300\372a"
+"\357\363\247\f\315\34\341\256\363\276\6e\332x\370\247( \271j\230\34\77"
+"<\313\373\367&\367\364Z\375\211\3\242\331\27L\0`\221=|ZX\330\221d\352\22"
+"\2312\365\240\2y\363\334\340\214c\251\217\5;\261L\303^\20\206_xj\233H\321"
+"\207j4aV\344\277\3409\253d;\224\214\367\374\335\25)~\352./8\344\241\275"
+".A\305\26\310f\214\31\224\240\234\316^\366q\231\236\25\245q\231LT\261\211"
+"2\35\5\3)\203\353e\235F\254\354\13\330U\354\210L\247\211R\262L*\35\351"
+"eo\310\364*^\210\220\2774\244\324\343e[%+\272}\255Y\344~\204Z\235r\2,g"
+"\251r\231*\322\260\245\322p\214\245\256\210\214\316wGD\207p\334V\266\317"
+"\235\42\341\336\244e\221\347\20\236\267}\361\4\271\4\217\353\240\300>\27"
+"\3678_\363F\227\267\13\364|\200\243\240dB\330\32\313vlx\261Z\306jtN\2\257"
+"2Z\311P\177\37\tD\2\60\35\270\31\230\364|\263\302\0\5`:2\246O\336\257\316"
+"\324q+\217\346=\373\367\244k\35\236\201[\277]js\353\325\344{\210,;\346"
+"\237\270\303\r\235\243\17\335\0\60>\363\300\3461n+\220\307^\265\306\22"
+"\314-T\304N1O\374\242\320\344Q\326/\332\313\214\241N\210N]\35\42\25\16"
+"\0a\265V\36+q\270<N\n\316\232\0 \343\216\221\305\341\232q\214\215\r\366"
+"w\376\256\367q\371\214\361d\364\353\317\212\'4lv\210,\221\373\354#*\326"
+":\33\234\362\251/G\5_\f\235\245\373\252\231\275q>8\343W\207o\263\367~W"
+"\f{v\32\365\264T\312\2648\237a\252XD\3156\365\r\371\371\276\320\341W\324"
+"M\211,\355\bNyu\226\277/\0x\272\272\302rB\273\2\320W\362\205_\370\336\31"
+"r\233\345\261Y\360G\350oKd\347\350!6\261\232\324\27\373\204\224\365\7\353"
+"\3050\364\260\354nv}<\243\177\257\337\315\256\31\324\254\304\315\275J\270"
+"\77R\27\5*\31{B\t\357c\341\317\2\240\330\302L\273\274\2410\0\333\230e "
+"\20\313\276\262\372\233\24\226\237\362+\3\261\354\22\374\t\333\261O\362"
+"\241K\324b\0`\271\346\2674\362\377q\16\363\376oVo\f\0\200\324K~C\37o&b"
+"\305\1\66|T\263\267\347~\256\\}\372\224\245o\2\200\227\353\304<\236mm\273"
+"18:\351\20196>953g\13\253\251\361U\325\247)\336\fq\303\262\277\245\263"
+"X\n\332B G>\npR\355\370n\332\20\234\254{\311\254BX\33b\266\27\27\346&A"
+"GC\327\177miwj\302\352\366\'g\246\245%=j\265Z-\200\3131\367p\33468\324"
+"\375P\277\251\3777\375\3\336j\346\306\237]\356\26\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0"
+"\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0"
+"\0\0\7tIME\7\322\5\6\4\21\25G\244\250\17\0\0\4\307IDATx\234\355\231]l\223"
+"U\30\307\377\355\6k\273\356\303-\323u\225\21qbP\320\211J\302\4\303\360"
+"c\n\211\20u7\323H0\30\30\61\341Bc\2741\221h2\243\340WD\271r\3524~$\16\201"
+"\215`\214\215\t\213\27`DP\346P\263\316\6\24\67\67\332}\321n\355\373xq\332"
+"\276\357\371x\77\302\333x\241\375_\355\234\347\177~}\336\263\363>\347\234"
+"\26\370\37\251\304\221+t\333\265Z\242P\37\331\362\215FD\'\332\nC{2MDD\244"
+"=W\b\332F\215r\332\342\236V2\234\247\321\250\3375\256\225\fj\267s{\355"
+"\f+\215\215f\327\2702c\243\3345.fl\374n\347\266\325U\363\206\271[\346\32"
+"\207\375:\355\200{\32*O\347h\261\372\2\340P{\204\321\216-\262\367z\234"
+"\0[\333o\304\320\201/\311mb\37719\230;\337\242\372\32_\25\305\323c\177"
+"\215\314\273\372\260@\333\363\375Q\275@\321\334\340{[\33\214\206\35\363"
+"D\264\311\21\253f\333\321K$+3\260=\230u\224\274JDD\35\16`\267\366\314*"
+"XL\211\327\302\0\20<\344\264\252\266|e\312\42\42\242\324\276\20\256>\231"
+"mt\352\343JU\260\306=|\235\324\6\177\30N\314\225_\331tK\356\305X\270\363"
+"\261\375\35\271Y\344j\230$O\347$\227\311\231\235\372\354_\263\353;9\325"
+"g\255h\265}\234w\344Aa-\255\225\346a\267\5mE\224\263v+\n\360\303\177\362"
+"\270.s\332\335S\234\363\31\245\251>\302\231\3364\245mJqF\263\215\272\364"
+"\3\243\353m3\332F\236v\320\364\25\364\30j4\365\230\230V\317p\264\361:\323"
+"\247@\311A\335\367\221\332\3224\316O\361S\3464\240\362l\336\327\2474\224"
+"\377\304\323b\326\313\363\346\271\234\361\2102\376.O\243\247-i\300\139"
+"\3431Ut\263@\233\252\266\301\225E\263\316o\25\301\3409\1\327mC\3\36\311"
+":O+b/\t4\272\337\26\347=\303\234\77\313\241\260X\335\306\27\330\342\360"
+"\4\263*N.{\305\344>\265\247\301\317V\326\5)P1%\342\266;\300\341-\42\42"
+"\212K\375;D\32-u\202\273\235\210\210RR\377\200HK8:mxbDD\206\303\6;.6\264"
+"\210\306\223\216\16$t\30\200\361P\312p\33\244\\N9\241\1G\1\30\67\34\206"
+"[/\371~q\206\33\320\0\240\42\337f`\351Y1\342\fw\261\253\16\300,\337Y#\375"
+"_\351\6g8Q^\0X!\367\313K\3239\256I\352NO\270\300\311\207\336\313\2441\\"
+"\203\324\355\n\'\27\312\313=\26z\1 (u\247\335\340*\244\356\31\67\270\302"
+"\251\24\0\344\327]\271\'\206\355.Q\2611\0@\237\364R\250v\23t\311/\17\257"
+"N\366\260\323\322H\7\33\205R^\0\370[\352\256r\203;_0\\)\240\252F\1_R\366"
+"N\f\3\250\252U\2032\223\tm\222\375\271R\236\325%\246\t\370\327~!\232\265"
+"\356{B\6\207o^\302\255\261x\42OD0\357\315\207\274\0\220\374Q\32bu\263\226"
+"\216/\207x\34\344#\325u\268\f\nm\275\3760\334\327\322\210\353\255p\342"
+"\302\322\367m\206\213H\377GE\275\327%\226/}4\303M\367\213#\226\5,p\346"
+"\365&[Q>\24\373Km\277\275\262\302\365\375!\6\326Y\f2\317<\213K\357\23\3"
+"wY\340|\26\61\246\352\tai&+\315\315k\4o\243\230\35\342{\204!e\17\230\343"
+",\27%\223oX\370H\365]\6\0\360\216iv\2726\b\236\314bS\\\324\1N\272\365\274"
+"bF[-\326\13%.8\304\233f\344\303\1\323\347\216pX\32\347]\37\233$\2479\303"
+"a\275\360\255\316V\225)0$\322\314p\270/\311\331R\212\213\324\302\334\275"
+"X{Y\263\303\2415\301\361\222\217\212\206\352\376l(\263\r\275\2668,\377"
+"\225\177\216\236\20\27\2767\267:S\35@\263f\213C\365\'<o\372\365|m\361\77"
+"\224\337$F\327\1\310\247\247\343\24\227\233\3667\370\214\20;q\366\342l"
+"Ux\371\252\374\17\2\221-\347\0\240\371{6|q\f\26\n\276(]\3708\235\177<\227"
+"D\257\355\303\2\0\352v_0\205\375\266K\377\325\42;{v8`\301\346\317\246\25"
+"\254\370\373m\334\211\260\327~\356r\362\265\334\271\352\246p\276I\261S"
+"\307#\3073\274\207\315\236>wv\367\314`c\350\212\200o656\32\275\244\212"
+"\337\341\7\60\2408\320\24UTQE\25U\324\277\242\177\0\20\325\202\245.\177"
+"]\f\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0;\0\0\0p\b\0"
+"\0\0\0\205\321W\300\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0"
+"\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\21&\370t\311\31\0\0\4\201"
+"IDATx\234\355\230_lSU\34\307\277m\327n\243\354\217\203\246\216\241\21W"
+"\203\243\302\346\234\6\221\305\r\1E\21\23\25E\224\230\3700\311\320\240"
+"\341\321`\314\214\17\30\3\301DC\224%\6%\312\36F\210\311\24\23\66guSP\23"
+"\313\2\33:6\267\322l\353\306\376\331m\335\332\36\37\256\355\375\375\316"
+"\275\267\353%\341\311~\237\356\371}\277\237\236s\317\275\367\234{\13d\224"
+"QF\31et\263d3\266\212\253J\343\2237\364\243\33\276\217\13!.<z\3\350kQ!"
+"\204\20\42~\3204\372D\\$\364\262I\324v5\211\212\221\\sl\255 \332i\224\262"
+"\352V+i\243\302\34\233M\33Ns\354\0m\374m\304\352\313\275@\316\267\314\34"
+"\213c*z\332$\212|\177\2\35\270\325,\213e-\n\352\273\3158c1tjwz\321}\372"
+"\2540\335\355M\227\361\230\365U\272\373!O\341\365\356\226\317\303f{\272"
+"\2739\361|]\2531GZ\366\317\252\227=\\e\6u\234\240O\2278ox\276KV\346\345"
+"\346L\317\214\r\305\223\350\231\307x\304\233\245\305\3345\325k\357)\372"
+"\257\21\351\365w\266]\4`k\222P\254\221\301\374}\276\230\220\325\333\260"
+"\n\37k\252/rr\371\341)MD\b!\304B\253\20B\210\226\2627\325\332\203\224\264"
+"\2761\255O&\364\245\r\333\223\215\0]\332\335\3554\27\77\337x\350\263+\f"
+"\r\345\1\216\336Dk\17A\313\2\64\367\335j\0\300\366k\264\330\234\13\254"
+"\13*\307\357\21\3243DS\'\23\3\362\204h\371l\16\340:\34\24\341o\36\241\363"
+"{\231f\256\252\353\333.6\354S\26\0p\360\31>\306\42u\252a\351aN\275|Q\201"
+"\2128\rD\362\210\3656c\'\227k\330S,\360#\26562K\274%\243\5s\314\377\210"
+"zN\316\372UGY\3337\263\215\200\257\346\341a\346\255-\220X\266\377\0\243"
+")Z\270Kb\245\205t\216\265\306\271Y(\261\205\334\316A\n\251\27Wa#\251X>"
+"\27\30\223\330!n\227\260\226\213\233\352D*\354%n\257\242\215,\376K\1\265"
+"\37\205\365q\226M\373\32;\363\276\205\254.~\3\254 \326~nUk\330:\368@\254"
+"_\230\363\223\6E\226\237%\376T\227\317M\314\210>\240eQ\21f\231\327\23\365"
+"\2\376\b\276\243\203\2;\346i&\362\202R]\321\311\320\223\6[\301\266I\26"
+"k\255\257\275\357\251\243\274\326\250\263\23(*\365\211\224\372g\257\21"
+"\t\300\262\353\2621\31\373\342\366\24(\0\313\336Q}r\344\250G\'\255\36\332"
+"\267>\275u\2456\21\33\350\276p\256#\252\327S\342 \273\376@\362\306\r\266"
+"t\rOD\1`|\366z(\226z\254@\59\325F\307bi\246j\262\213\305\362M\241\256a"
+"2/\323\246P\34a\223\272:M\312\6\0\326\23\354\375z[x>\26I\343]\320\2\0\245"
+"\177\245\212\204\347g\303\243\243\203\375]\277\206t\334\r\251o\306\244"
+"\376h\270S\303\226\245\311\n\21=~\213\304:\347\26\247\22\352\363J\360\231"
+"\364Y1\42\335\331U\361\305\231\244\374\211\305^y\257\b\3066\245\232i.\367"
+"\f\333\237ai0\321sH\376B|\274/}\3709y(\331u\376\305)E\307\351\371\2@\254"
+"\247\307\352M\357\23@|\302O\370\311\257#i\217\231o\233\225\277\245\177"
+"\266B\214Q\364%rc\265\225K#,p\257\333\335\314.C/q\267D\325\372\247\372"
+"\377Zl!\237\31\242]\255\333\311\327}\177\266.\n\34\42\354\21\265\274\203"
+"\224\3377@\261\236\2046+%+\200\215$2\240\307\1\354-\253\277Me\351.\177"
+"\207\21{\257z\370.Y\261\77\244\227\256P\213\1\200\343\367d\244\225\376"
+"G\260\207\316\177\273\2740\0\0\212\317%\3}t\230X\3126\260\340>\315\332"
+"^\376\201\372\351\323\247>\372\26\0x\266\211\335\307s\276\216K\203\303"
+"S1\330\227\346\273\212=\336\365\244\247\326\347\245WS\274\222\346\2025"
+"\366\252\316\303R\331\221\69t\320`\247\252\375j&%8\325\364\214]B\310\30"
+"\226<\\s\177y\21t\24\270\370\363\17\235\21MY\36\277\313SRR\264\314\351"
+"t:\200\371\360\302\304xh0peB\177\250\3777\375\13ZGs\26\323tu\360\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0p\b\0\0\0\0\250"
+"#xz\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335"
+"~\374\0\0\0\7tIME\7\322\5\6\4\21;\233r\245\300\0\0\2/IDATx\234\355\331"
+"\77h\23Q\34\7\360_z\t\350\220;*RE\322@@\21\34B\246\250\340P\21\301Ii\r"
+"jur\20:\270\4\4-\331\24\354\352V\311`Ap1X\n\211\1\321\321\265\213\244\244"
+"\210\210JcZ\202i\314\37qH\356\347p\271\313\335{yIywX\23\177\337)\367{\277"
+"\367\311\313]\22./\0\343\222\213:\232y\354\215\250}\263Dl\237\366\204\\"
+"A[6\17z ^FG\236\270\27\17\227\235\244>\343\232|\211L>\7]\212\327Y\21\61"
+"\355N<\372\303\222:\326K\277\344\212\314Z\316b|\333|\2745\351B\274m*\277"
+"\22\0\221\202y\364\\^\f\327\272F9\16\0\60\371\3164\347dE\337\333\256P\210"
+"\30\205\200\371\256\337\231\222$\357v\2017\232UJu\77\356\257\344\304\343"
+"Mc\372\262\337V\274\361\333(\336\222\21\225\367\210\210\330N:\313\347*"
+"\210\210X=&A\336CD\304\346\25\266~\342#\42\42\346}\242\211\302\201@\352"
+"\0\0@f\235\339\224\f\0\0<\375\42\261\316q\317\22\377e\303e\t\0\340\305"
+"\36\32\37\0Lx\277\304\377\2264\336\352\23Z0\24\275v\236\37\316f\13\245"
+"\306O\335:VT5\34\273y\206\353\323W_\27K\255]\256\376\210\273~\13\375\227"
+"\221\346\32\257\nV\254\262\215u\301i9\3116~\262\217\332\'\325\353\314\324"
+"\212\16}S\36Xp\254\243\301t\266\372\213\300>\265\263\340 ;\2bhPHz\23\42"
+"\211$\222H\42\367\215\364\17\32T\244~3\r$OUe\310\3218\227\243A\16\274<"
+"\225g\202\201\373{\366\2772wO\37D\215\354mV\316>8\32\347\222H\42\211$\222"
+"\310\261%\25\357Iv\23^\364\177\4\267Y\257\331\17\354dPe:\247\4[\221G\206"
+"\26\314<\3446V\356\364\355\363-s\215\263\366ac\255Z0\24M\\\340&cnm\343"
+"{\263\326\333gPTm:6\177\226k\3243\371b\271\267OD;\203\377.I\241P(\24\n"
+"\345/\345\17I\337M=\335\21Rn\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0A\0\0\0p\b\0\0\0\0d\272B\221\0\0\0\2bKGD\0\0\252\215#2\0"
+"\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\r"
+"\1\273\t!/\0\0\2\337IDATx\234\355\230MHTQ\24\307\377\363\345`f\357\216"
+"\230\216\6\205\240A.[X\304\20\223Q\24\321\7\21\24\n\201\233(h3\320\306"
+"\\\325B\tZ\264(\203\b\202@\2%\b\202\242\22\223\254E\13\223`\26\221eb\231"
+"\37eH3\232:\37\247\305\314\233y\367\276\367f\356\233G \361\376\2539\347"
+"\177\316\357\335;\357\316\275\357\r\260\276u M\252\272K\2(S9\0%w\225B\270"
+"G\32}(\267\168F\234nX\6T\317\360\204t\330*\241\237\4MTZ\3\234\26\1Dw,\1"
+"\202\13\271\306Tn\36\207\254\20\36\347\332:[f\325\317\337\2\362\200\16"
+"\265i\371\24\320\20U\243\373\322\200\255\213\331\226\231\26\0\b\f\252\210"
+"\223\222\0\327\213lC\264!\223\360\251\213k\256F\216p1[\377L\311\245\272"
+"\262\77\221\207R\200\306x\246\372\266W\223<\263\222I\266K\0<\257\211\210"
+"(\31\341\323\241\37DD\364\253\2768\341\22\21\21\305\217\213\371\246\217"
+"DD\364\304%\344\275b!6^\3\200\201Q1\77\276;\342\3\200m\223\305GaM\342\230"
+"\0x\31S\2\354\335\204$\301\13\370\25\306\24\26`LaLa\214U\0\0\332-\20\346"
+"\224\342e\5\344\266\325\275^\b^`\270\2\356\352\306\rvI\376\253\302\236"
+"\326f\2351V\42!\377=<\267~Q\201\360\3316a\3016a\3056!n\233\220\262M(U\16"
+"\341\177\42\350O\34\243\242\272\32\226\214\317MSI\4O\353\321\275\315>\0"
+"\300\237\321\227\375\321\2\245!\243\35\246<2\305\247_\205\255\21Z\77\221"
+"\250\364]\323\35\325\200\320\225\322\1\210\350\255\331\t\245#\270z\215"
+"\372\211\350M\231\266\257\300\335\354\276`b\354\271.7\206\16\343\1\20\21"
+"\245v\312\214a\307M\363\321\271\2734A\376\371!4\302U\255\225\1@bp\344;"
+"\266\237h\26\20\211\372\237\305gAD\224\272\25\314\\\346\374\252\340\30"
+"\236GzB\354H\316<+X\206S\324\21\326\366i\334\247\2747,E\270\254u\17\362"
+"\336\244\fa\322\257u}1\316\\\316;\346+\252wU\33%\3068\263<\177\17\315\t"
+"\17\370Px\264\333T\2340\376\225\217\215\26@a\302{!NX&|13\244\t\263\266"
+"\tK\266\t1\333\4i9\4\207\340\20\376-\301mfd$\274\240{\f\n\203|I\255@\b"
+"\232\205y\202\360\177\325~>\364\206\371\3700D\325^I\13gVw\225\306n\32\20"
+"\334\245s\352\211\341\2:[=,X\247c\42=5\377{\250\7xTY\265e\263\336NM\317"
+"/\242g\b\0\372\304#W\243>\0\213\5\374\266\365\266\36\349r\344\310\221#"
+"s\375\5\336d\31\34o\21sc\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0R\0\0\0p\b\0\0\0\0\250#xz\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tp"
+"HYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\20\7\255"
+"\6\350\6\0\0\1\212IDATx\234c`\30\5\243`\24\214\202Q0\nF\1V\320\376\237"
+"0hg```XJ\204\302\n\6\6&\352;q\304\32\311\b1\230\237WF/\314\21Sz\363\346"
+"+O\77\177\374\7\3473\363\361\311\31DY`\250\373\267n\353\365\247_\337c\210"
+"7c\304_\6vg\314\302P\30\214\303\305|\350\n\77\341\b\26ut\205w\220e\221"
+"5}\372\204\246\365\365\77\6\254\3409^\1\24w|FS\371\25\273\211\f\350V\243"
+"\n\240\30\371\27\207\21\4\301\177\234FR\7\320\300H\26\30#9\2S\362\345n"
+"\42Ma\337\315\300\260y\22\272\221*.\230*\261\ba\7.\f\f\f\267a\234\241\21"
+"\226\243F\216\329\30\215d\2041t5\30\30z\344P%/7\343\320\265\n\215\277u"
+"!\3\303\335s\330T>D+\377/\341r\bzE\261\5Yrh\204%\13>IfA\252\33\251\365"
+"\216\34#\207FX\16\r#\361F\317\353y8$\312\2116\177$\345\236Q#G\215\34\65"
+"r\324\310Q#\207\255\221\314\3247\222\27M\222\23\207&tu\f\374\270\214\344"
+"\345CS)\306\310\200\25\210\23\24\200\201&\214\201\225T\254\352\30\247c"
+"(\fD\226\206\270\225\237WF/\304\31C\363\377-\33\256>\373\362\1\61\316\300"
+"\314\307/k\20i\211\241\360\337\352m\327\237#\306\211FG\6\7\257\221\243"
+"`\24\214\202Q0\nF\301(\240\23\0\08\335t\210\240\303\373u\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0p\b\0\0\0\0d\272B\221\0"
+"\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374"
+"\0\0\0\7tIME\7\322\5\6\4\23\36\342@\23\5\0\0\2#IDATx\234\355\227\77,$Q"
+"\34\307\277\273;l\2340\217\234\263h\235 4JQ\370\263w9\271F%B\42\21\311"
+"\345\224JT\24\64*A\245\25\211k$\n\211\210\210\315\25\327pj\347O\bA\24b"
+"\221\330\275\335\247\2300\357\275\2317\336\230H\266x\337j\177\357\363\336"
+"g\336\314\274\2317\13\350\350\350\350\350x%\344l2\b1K\310\316\241\242\301"
+"\0\242&!&)!\304$\304$\204\24\2\0\372|\30.M\305\276\356\t\7\32\235+\6\3"
+"\330*D\370c\365\207\240\246\350\4\345\323\353\337\261\373F\203}\35\326"
+"\375\37T0\34\274\321`\255\352\301\36\0q\16l\0X\235Q0\30\0\200\352\270\3"
+"\304\1\354\253\314!\27V\2246h\3\33\353\271h\254\5\260\314\201n\0\7;\326"
+"o\243\342\23\371\177wyF\275]-\356\357\207\310\227\231\277)\253\351!1\321"
+"\340\333P0|\3027o\267\3723\264\377\243b\262\13\3227\252\213a,\343\20PJ"
+"\377\310v(\207!4\3576\236R\372;\237\35\347q7\'\207$\240yZm\16\3\222\31"
+"PJ3M*s\250\233\225\317.<\306\24\366\367CK\202\353\225\312\7\200\364F\342"
+"\34\65]\365\202\42]y\375\372YPJif.f\35\346\347\243@\\\367#\247!\371\375"
+"\5\366\13\310\365\24\35\206T\33C\327x\266\245d\30e\351W\236\35\253\30\216"
+"\243,\315Kr\360\301&\362\25\65\377\310V\351]\16\26\330\367PnX\342K\341"
+"\323\256\370u\303\376)_\273-\0o\303\236P\247}\33\216d@\331p\21\330p\37"
+"\330\220\flP\2166h\2036\274\257!,\3V\204\77\350\21\227\2161\276K\271`\210"
+"\311J\333\360\215\357\322\301\227F+_wBL\371xV\330\263&K\31\374\371\227"
+"@\357\177<\357\30!`\244=Bb\25\16\'\262\'W\267\233S\300JQiU\231\23g\316"
+"\256n0\265\t\0\213\342\226\313d\21\300\215\7\357\315\265\365\240\243\243"
+"\243\243\243#\317\23\261\331*\2157\213V\206\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0*\0\0\0p\b\0\0\0\0M\275\275\26\0\0\0\2bKG"
+"D\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7"
+"tIME\7\322\5\6\4\23\649\373\332\323\0\0\1\221IDATx\234\355\226OK\2A\30"
+"\207_\265U*M\255\210\202\22\362\20\21AF!y\216\n\361T\20u*\277\201\207>"
+"Ct\354\20\201\267\b\42\250\203t-\350/t\363P\36\42\254CT\220\301RiZH\312"
+"\257\203\2333;\233\326-\260y.\273\363{\237wvf\16\313\20\3751&\335\250w"
+"\320\361q\27\177\21\34G\35Q1\303\'\346\360\5\0\240p\30\256\347s\233\n`"
+"\227O:\216PF]lc\2059\0X\346\314\356\33\360\274\255z\265\202\222\4\200\31"
+"f:\257 P\210\215[\210\310\264\2\0y7S\267E\23\0\36\326\42\13\'\0\200-f\206"
+"\2763\31E\37;\262\363\352j\224\235\353\330\36\21\321\363\272\3327\321B"
+"F\222C\331\362\373&\0\\w\21\2212uj\2303\335\317\272\224\f\200\242_\33\5"
+"\317\364fn\224\373@\0\0bl\345\323\t\316\274\17\360k\211\0@\210\13L\301"
+"\235|I|Zr\225C\42\242f\27\21\335\26t[\261\217x\335E\3652\256Ok\224\4~&"
+"Dd\376\375\214\177\256j\377\1kc\253\307\37\3561\224\3377\366\223\251\\"
+"\306\220\333\216\305}\347|\6IcRTc|U\267\326G\2617UQ}\25\325tE\265:R\225"
+"\252T\245*U\251J\365\77\250v\261\352\254\250\266\213\252!\370\302v ^s\262"
+"\3\\\331RzX\233<\276\331\350\260\330l\235\357lP\314\346|9\250\301\233\246"
+"D\42\251Q>\1;\361\224/S\235\366A\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0$\0\0\0p\b\0\0\0\0St\215\245\0\0\0\2bKGD\0\0\252\215"
+"#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\4\22,3\214s\304\0\0\1\250IDATx\234\355\225=K\34Q\24\206\237Yw\263\256"
+"\356\262\253\342\27(\370\321\4\2610\4\214\202\235\250\210] \330\31\361"
+"\17H\310o\b)S\210\20\322\4\33E\213%ml\f\201t\26\211\250\310j\241\253`3"
+"\350**Hfy-v\342\316\214\2632\205H\220y\2523\367<\367\203s\270w $\344ic"
+"\334F\317_\244\376\36\256\27<\371T\24\212v\34\231\336\226$Yk\323\t\247"
+"\23\67%}/\305\255\77t\213\371\241\251,MI\322\'\0:\367\345\344j\276\313"
+"vb9I\232\4H\357\312\203\225\35\255\2\2149I\272\256\3X\361:\222t\374u\366"
+"\375OI\3222\300\204\237S\246\330\7\30\177\356\227>\203\301\310*\300\351"
+"\202\3313\326\340S\310\334\313\13`Q\222\366\332\201\330\353_w\3269\353"
+"\5\210\235K*\366\333\363\306\177\273\235\313a\0\6%)[n\323\233\r\207s4X"
+"\32\235\225\244\tg7\307\277]\227\224\223\217\31{\250>\3\344-\327a\223\3"
+"]uEsg\335=\32\362\237a\0\3\315\317bI2FM<\232\42\35ITGS\244#\335nqC~8\204"
+"H\220\355\36N2\200\231F\222m\303\355>\31/\321\245\312\7/\323b\5\220\330"
+"\nR\202\203\212\7wH\247A\244\313 R\345[\366\310m\t\245Pz\32RU\305\214#"
+"luK-~k\246\13\356\7c\306g\333W\336\77y\341m\355\277\244\1|\351Ld:j\357"
+"N\264\362\3469\3576K\37\376O\264\315\20\217^\314\220\220\220\7\345\6\177"
+"1\225\bU%\325\346\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0*\0\0\0p\b\0\0\0\0M\275\275\26\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs"
+"\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\322\5\6\4\26\16\202\200"
+"\367$\0\0\0\273IDATx\234c`\30\5D\3F\6\6\6\6\206\n\1\2\312*\340J\37\312"
+"\21a\42\23\361\16\30JJY\30\30\30\30\30\36\375!^\307( \26\\\372O\30x\17"
+"\2024@\202RH\206a`\343\26\2213KP\303\220\376\276d\357\255\27_\77a\210\263"
+"\37D\367\367W\3\\V\4\242+]\207\323\255/\321\365\276\300\251\3643\272\322"
+"\2178\225\342\7\243JG\225\216*\35U:\252tT\351\250\322\221\240\224\7]\226"
+"\37\247R\tt\245\30\2\60\300\276\17\275\231\363E\37I\232\31B\261\361\311"
+"\31D\3140A\327\314\26/\303\305\312\304\364\23.0\f[\232\243`\24\214\202"
+"a\n\0\377\266\217\26\312\b\4\30\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0#\0\0\0p\b\0\0\0\0\261\250\226\334\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\4\26\'\3002oH\0\0\0\330IDATx\234\355\224;\n\302@\20\206\377\215\353"
+"#&a\323\210\21\24\24\17\241\205\235\7\21r\3;K\317\341\5<\211\27\20=@R\13"
+"\6\301.\250M \317\215\213E\334b\276v\276\235\231]f\7 \b\342\2370`\347\326"
+"+{\0\301\273\36a(\324\322\315\341@\30\327+/\2054\204F0\0\313a\247m\303"
+"e\375.w \f\263\307\35\bc\236\363\316\225c\234\306\233\234C\6\300\37\300"
+"\36\257\'\25\221\2\374(\3559\305\213\277;\270*\334=\220\365\234q\356\n"
+"\316S\301\221~E\335\366\69\344h\346\264d\221\2143\312;^EF\21\345w\202_"
+"\256\2718\25\366O\264\261\222\30\3p\230\231\356\324*\35C\34\336\36\330"
+"^\0\310vo\302\252\3317$\b\3427>\264\253\260\267dt\250\332\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0*\0\0\0p\b\0\0\0\0M\275\275\26"
+"\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374"
+"\0\0\0\7tIME\7\322\5\6\4\27\3\345*\272\330\0\0\1\211IDATx\234\355\327\275"
+"K\2a\0\6\360GC%\23k\210>@$\210\244-\245\324\241\2419\232jj\b\252\245\265"
+"\265\232Z[\202Z\24\332\252\271\377\240\42\301\241\245\241\321\242\17\227"
+"\224rP\23\361\3\236\206\373\300{\337;i\t\301\336g\271\343y\177w\357\275"
+"w7\334\1\177\21\227\266\361\373\0\324\232\322\260\'\0\240Y\353\254\216"
+"IrW>\3236I^h\373nmS\7\200\244L\343\0P\265\320\42\0,\17J\363\257\231\203"
+"&}\7\200\221\35\221n\214\3\300\253\245\233\42IVf\2542\374E\222\234\263"
+"\266y\222d>\326\331\315\276\220$K\3V\232&I\262q\22\61\232\351\243\206\326"
+"\235\353\205~_\221\2707\310\323C\276\344\r\206b\21ch)#\254\340\226\16\311"
+"\212k\305|\313^\266\343\22\305\201=\335\223%\\gv2\345\262\241p\35\266E"
+"\330\332\267\225\0\222Y\253\314\304\34 \0,\246\336\f\367|*\274>\362\4c"
+"\221\311a\226\77r\237]\316\330\273<:=\323\216\254\230\257\366o\322s\252"
+"\77\2\357\320h8\261\25\221\206\353\227\327\271B\255\42\365\276;q\335\265"
+"\250\323\24\253\42\275r\274\326\242xl\301\221VEZv\244\335\243\250\242\212"
+"*\252\250\242\212\376\7\32\20G\207\35\351\204H\245\302\210\357F\374\314"
+"\371\356\374\'\321\177:\274\301pt=\275 \36\354\335\f\371=nw\303,\372\360"
+"KSEE\245O\363\3\32\367b@\225=ic\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0#\0\0\0p\b\0\0\0\0\261\250\226\334\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\4\27\37\361+\346\227\0\0\1\230IDATx\234\355\225;K\\A\30\206\2379\256"
+"\227\325\325\335&^@E\221,v\262\210\27PHaek-\210\26\266b\247V\2666B\322"
+"(\246\323\42\77# X\330X\210i\22It\33\t*\336XD=\360Z\354Y\366\\\361 b\221"
+"\234\247\233y\237\231\357\23330\7\22\22\22\374\30h\254\7J\217\201\2506"
+"\3<\226\0X\227\244\205\340\362YI\332\1,\270\7\30\t:C\0we\347/\300d:Pj\n"
+"\312\241\5\247\0\271y\2773\335\6\360\247<\350\221$\335~\364*\335\27\222"
+"\244\1gX\224$\25\13n\245\377\267$\351\262\306\31oJ\222\364\3609_1\372\326"
+"\36\312s\333\0\6\30\336\257d\277\16\212\227u-\235\205\274q&>\355V\242\357"
+"\212`\257Z|\360)\\\261\207\\\35\256\204;K\356S\230\257a\312\206\301#\255"
+"\332~\343i\331\253\0#{^e\267\3407\0\3066N*\302\361\27\367\35{\367k\315"
+"wdus\366\363<l\217\177\16\3\214\266\325\325f\310\231\306\372T3Y+\335\220"
+"j&k\365y\274\303\320\13\255\346V\214Zo\345\30`\356\3\231\316\211\256\220"
+"\304G\352[d\317U\332\355\227\35~\3048\373iT\317.\347*\206S\212\341\330"
+"1\234H\22\'q\376c\247&*q9\35^\247=d\307\354\265\367M\230\13\326\364\377"
+"\233t=\323\344d\6\330\352M\347z\232\2\313\260\213\27\267,\36\1Qo\257\303"
+"\370\373~\303\204\204\204\327\361\f\364\22d\13X\333\223\273\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0*\0\0\0p\b\0\0\0\0M\275\275"
+"\26\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335"
+"~\374\0\0\0\7tIME\7\322\5\6\4\27:\272/2\320\0\0\1BIDATx\234c`\30\5\243"
+"`\24\f-p\351\77a\340\315\300\300D\274\211\3\256\224\21B\261q\213\310\231"
+"%\250aH\177_\262\367\326\213\257\2370\304\331\17\242\373\373\253\1.+\2"
+"\321\225\256\303\351\326\227\350z_\340T\372\31]\351G\234J\361\203Q\245"
+"\243JG\225\216*\35U:\252tT\351HP\312\203.\313\217S\251\4\272R\f\1\30`\337"
+"\207\336\314\371\242\217$\315\f\241\330\370\344\f\42f\230\240kf\213\227"
+"\341beb\372\t\27\30\206-M,`\366\377\377\377\377\377_B\204\312\316\377\377"
+"\377\377\377\177\200\215\260\312pH\330K\23V\311\377\352\377\377\377\377"
+"\377\317\304\42\205\356\255\24Q\6\6\6\6\206CD(\r\206P\37\61\24b(e6\202"
+"\320\262\20\n#U\42\1Qh\224\37ad```\210x!\207[\251\34\274\225\355n\223z"
+"\350\377\377\325\270\225r\240\247(k\334jo\242\252\274\315\215\323[\f\33"
+"Qx\337\242\276\3426U\3463\222\231\77}p+d``\210\372\13W\371\322\t\257J\6"
+"\6\377g\20\205\277f\211\243J0b\252\345\n\264\227\373\371\362\304\2467\4"
+"\314\34\5x\0\0\371\17\7M\213\25\304!\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0#\0\0\0p\b\0\0\0\0\261\250\226\334\0\0\0\2bKGD\0\0"
+"\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7"
+"\322\5\6\4\30\27xhrj\0\0\1\356IDATx\234\355\326\317K\24a\30\7\360\357\214"
+"\353\352\352\312\356\301\305\37\331\222\324Q:tIPH\352\260\4B\210\302\226"
+"\227\302\224\316]\372\3\272\371\'\264v\24:\4\201\n\336\4\23\305\216\25"
+"\tj \350AZ\25R\313\37+\253_\17;\356\314\373\316\363\216{\210\16:\337\313"
+"\354\316\363y\337yffy\337\5\302\204\271:\261\264\357w:R\371\257\33A\3\236"
+"}#I.>6\222\370\24/\362\276Z&\321\31\272\31\327\233(\345-\275y)\221\306"
+"C\305lF\313\25\273\374)\33S\206\264d\4\323\245\315\333%\230V\315\264\n"
+"\346X3\5\301,kf\25\376d\250\346\256`\354%\205|\26\b\320S\364\220#i\32\0"
+"\257\316\312\344$+\23``\333!k=&\2$\337,\36pk\372E\215\231\204\361\305\2"
+"\320\331\24\255\216#i\325\325D\32\220\260c\265\221\6$\354\333\212\373N"
+")n\335\306\345\371W\306\2\60\224B\274\355\321M\241\242%\362\301\330\263"
+"\233\346\342\345\6K&\343\351y\335\324\263\307\374\256\300\34T`\212\25\30"
+"cB\23\232kl\252L\25\217iQM\2630cbW]\23\206\374\327\274\277\240\255\77\273"
+"\317\353\235\232\5 \327\36K\336\252\367\rCqcg\37\257\177\0\60\255\275N"
+"\272\377\3573T2F\222\34\17\42\243$\311\331h\0\311\222$\377\336\b \211-"
+"\222\344;\177\305\355y8\5\0\230\13\62\375\245\303^\200\251\272W::[K\\j"
+"\'\345<\373y\13\0\236\376J\13&}\361\202>e\272G\346\310\217\202\251\325"
+"_\246\376_\20\0VT\362\323\375\261\270\3675\241\2148\34\224\266\217\266"
+"\77\236Y\n\275\322}\1\203\247e\222\177(\23\340\311fI\234\344\232\224\363"
+"\312\356[\327\367 ]\310\177\231\3341\315r\375r\16Fw\221m0\223\303\2\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0*\0\0\0p\b\0\0\0\0"
+"M\275\275\26\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22"
+"\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\30-\276d\253\330\0\0\1\32IDATx"
+"\234c`\30:\200\31\233\240\244\211\362\277\217\304\350\266:\360\357\377"
+"\377\377\247\335\t\253\314\371\363\377\377\377\377\377\377\377\253%\244"
+"\322\373\337\177\30\210\307\257\222\371\36\\\345\377W\234x\225:\376G\2"
+"\241(RLhJ\215\2209\6x\225\262#s\270\361*}\204\314y\210\317\251\f\342\277"
+"\221\334\252\211W)\303\f\204\312\365\370U2\360]\202\251|$A@)\203\3606\210"
+"\312\303\262h\22\214X\24;\206j3\334X\277\363\77!C\79\270\364\2370\360\306"
+"\214X<`\300\225Bc\213\215[D\316,A\rC\372\373\222\275\267^|\375\204!\316"
+"~\20\335\337_\r0\24AA \272\322u8\335\372\22]\357\13\234J\77\243+E)\215"
+"\6<\\G\225\216*\35U:\252tT\351\250\322Q\245\203K)\17\272,\77N\245\30\315"
+"`\234\355b\366}\350\315\234/\372H\322\320N\24\33\237\234A\304\f\23t\315"
+"l\3612\\\254LL\77\341\2\303\260\2459\nF\301(\30\246\0\0\323O\356\201:e"
+"\233M\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0`\0\0\0p\b"
+"\0\0\0\0\304%*\177\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0"
+"\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\33\b\336M,\\\0\0\2\373ID"
+"ATx\234\355YMHTQ\24>\206\216\351\340\224\245e)\2051\331d\214\nNAX\26\224"
+"(TFA\253,\24$hS;\241r\327\337&h\227\4\322\242\204\242E$\24\r\225\241\204"
+"1\21\205I\326\364\377\2072\251\21596j\303\350i\361F\347\275\363\356\33"
+"\357\rg\23\347\333\314=\77\337\371\356\337\273\303\273\17\200\301`0\30"
+"\f\6c\276\320\213sc\227\200\267E\202\7\13\222\335{\26\230\23)\332\217\315"
+"\236\263jS}\221)<\321\326\361.\20\16Y\363\263\354\313\326U\325e\230\374"
+"o\257>\3736\34\2364:\323\273\350\36\b\227I\365r\343\4%zm\302\304}4\357"
+"\226T}\0/%V\317\206\fk\360\203\22\3\222\2&\342\200X`\214\346\215J\n\204"
+"\251#\276jI\332E\230l\2018X\200\5X\200\5X\200\5X\200\5X@C\252R\266\273"
+"b\315\242\321\217]\376\344\b\244\36jri\255\347\247\333\1V\16$N\217A~\212"
+"V\77\276\22\253\17\345\267\257\245\303\2003M\252[\262\3657<\314\323Yu\216"
+"\375S\37\244x\262#\310\365\346\31\354\332&I\242\254@k\1q4\347\316\253@"
+"M-\365d6\314\253\300I\201f\242|\3257\234\265[\315\276\322D\204qE\1\323"
+"\4\1\300\222\4\371\23\21E\1\301\0`J\327^HbC\361\246\234@\211\300\367]\327"
+"\246o\372\375\252\2\371\2_\267\256\355 \261/\252\2\242\213\201\33\2726"
+"}&\336\250\n\b\360\364\256\316\310#\301\36U\1\64yF\353u\276L2\205\350S"
+"\25\60\335E\f\325\350\377\23\212I\225\227\312\273\350\275\321\214\264\226"
+"\370\3646\335\305\355\272\266\334q\335\243\225\370\332\30X_\2341\331\327"
+"\21\64\206\367\30Ml\263\252\343\246\327>\347c\201Z\315<*\2469\247\214\254"
+"{\372\240\334\24uh\207\227\305p\233I\2213\352\2\341\353\0\0\260[\30\254"
+">l\264ov\13\323\0\0\66\323)\2724\23)\374\203\210\210{\5\244\322\21#g\220"
+">\24:$\270\263\273\200\210\210\241m&\316\316\240\221\22\255\262\256\237"
+"\376\210\n\374\236=\3643^#\42b\344\224\361\324X|\221,\360t\243\270\266"
+"-\273h\307\t\77\255\2178\336r\240t\205\3\0\3009\250y>\35[:\313r\236\33"
+"&\371\321#\264r\n\0\364\272\255G5\203\362\27\36o\254r\324\347\363\17E\262"
+"\n\\\225.\232\25:xGD\226\274\336w\tFh\304\223Bsq\205\323\324\357\271<\235"
+"(\376\353x\345gqD\376\3\205\347\201e\302\317\2639\226\322*_@\312Z\350\272"
+"\42\42F\3577\330-\212\247\31451&\244Ul\257p/\217\333\301W=\235\235#\226"
+"\351\352\2\0\0\220\235\237\357\260\331\307\242\241\376\300\360\277U`0\30"
+"\f\6\203\361\237\341/\256u\221\313\306\232c+\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\67\0\0\0p\b\0\0\0\0\237\355\267N\0\0\0\2"
+"bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0"
+"\7tIME\7\322\5\6\4\36\66b[\305\262\0\0\3\4IDATx\234\355\230_HSQ\34\307"
+"\277\273\273\333\234nn\205\322&\246eJ/*\221\211\202\22+\3\353\335\260("
+"\372CE\217Q\201\370V\364\320K\240F\20\21\222\t\201\24\275\5\22\244E\364"
+"`X\17&J\376!S1Y\232mJj\352\334\257\7\267\335s\356\275\347\352\204\2\343"
+"~\237\366;\237\3639\347\334s\357\330=\3\314\2301c\346\357\304\242\252\363"
+"\13\63\277\367\214\353t\364\225\370f\77\367\13\69\371\211\210\210\272\216"
+"\251I\340u\224\210h\370\222\244\243\271^P<\3156\26X\33\242q\320\271M\243"
+"\331;I\311\23\366\2\3563\340}\252\332\273El.(\3408\7\232TZ\306\2\207\'"
+"\355q \rs`%\7\0\224\353\254ur\303\370\253\343\237*\3639 \237\346\275\n"
+"\325\374\25\206@\361\262T8\313\20(\336o\25^2\4\2127\240\302C\353\202\265"
+"T\23\237\3428\310^\345\301)\336\223\3729\372V!\3178\360\215\337w \20a\350"
+"b\261\2r\303\254W\3u.\'\236BZ\256e\301a\346\221\270\251\321\200\232\351"
+"\30\34\t\360\240l(\6Bgt4\300[\3275OS\355\347\34j`\277\330\21\242\360\273"
+"\353\332o\203\231-\31\13\200\362\35v\233\13^K\252Cv\303#9Sd7<\322\36\34"
+"q\313\262\33.\2335\35iv\311\203T\207\305\13g\312\235\7\61\267\227\364\2"
+"\3506\23\325\3\354\3676\271\374kO\6\320\224\tWv\325N\r\253\7`\317\330_"
+"\241\376\315\342\7h\323\354K,\207\226u\366E\211/\42\360\320b\270\237\301"
+"A\321R\336\350\2641\3732&\362\276\32{!\221\27\66\366\346E\336\234\261\27"
+"\21y\244\323\266U\2363\3233=\3233\275$<k2#2\324\317\23\237HY\341=\317A"
+"\36\37\25y\13\254\'\225\265{x\334p6\315`>\31\300\303\335N\357.M\'\317\343"
+"\346\361\37s\270\332\247\6\277\342^y\221\376\300r^\36\340\3254\317\262"
+"\353L\42\77\67\351Mm\316\243\311\215\366\314\341^\13&\260\271\371\326^"
+"\37d}\230\36(\220&:\246\365P\257x\310\364{\213DDK\215\16\235u\236\20j\331"
+"\3\361>/\255\32/*|n\345n\245\327\25\215\367Q8\335y\246\327(\0\24\262^\235"
+"\320c\217\377\224\13\340\0S/\305\226\251s\37J\331\302\17 \207\251\333\202"
+"B\317\315\26\313\0\366*e\344\266p\231\b1\313\232K\1\240\374\335Aw\305\32"
+"^1\336\r\0\31\213\211r\320e\3401\373\331j\5\320\230(\303\205\6\32l\211"
+"\203u\237\r\220\256%N\275\263\225F\32P\2248\77\177i}:\232\230ml\237\261"
+"\6\224\7I\233\266\355\353i\200\377yTeuW\255o\1@I\13s;f\36i\256L|\246\260"
+"\227\226\24\370\274\230\t\16|\350Y\335\330d\377Q\376\0\216\'\322\342\261"
+"\333\301t\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0"
+"\0p\b\0\0\0\0\210\317\'\207\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13"
+"\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\37\60\222#Q\306\0"
+"\0\3#IDATx\234\355\230KHTQ\30\307\77G\307\324IMS\223\24\303P\232\n\265"
+"\205Y0V.\22\335d\20A\201m\6$\bJ\20\42(\333\346*\250UJ\b\205\265\350A\13"
+"\3515f\201A\17\243\42\27\226S\221\250e\276\237\371j\230\231\177\213yx\316"
+"w\357\314\334\233\264\250\356\177u\276\357\377\375\3569\347\2363\367\236"
+";D\177Z\345^\4\324\240\33N\36\b\302p\357\320K_\201 g\274>\270\n\222.\352"
+"\202\323\206d\332[\246\207\276\5\246\336D\355\360!\16\3\2275\303\231\23"
+"A\310\23\34{\245V\372n\209]2\34h\177K\321\6\333\3\300\302A\242\334\356"
+"@\324\242\t\316\231\366\227\17\225\20\21\245<\16\340\7\64\300Q\355\376"
+"\342\356\\_\302\34\3308#\31\221\351\343\376\332\266\344`\252\336\277\345"
+"\357D\204\363\346|\225\2151B\362\360\222/Y\35\1\216~\6\0p\327\311\351\322"
+"1\0\300\344\372\360\364I\0\300\334~\236\317\377\4\0x\20EDQ\241`s}\34\21"
+"\321\355\267\n\'\265\316LD\324\324\27a\360\377\241J\225\277L\205\372\311"
+"\264\242>\376^:\344^#\242DK\306\246\362#\312\7\370\307\226\327\3\343\363"
+"KZ.\277}\221\337jG\254\216\32198]\261\354E\236\367\bO|\327C\317\363\304"
+"\254\36Z!\254\210\26d\320\6m\320\6m\320\377\6\275|\6-\260mL\236\371\362"
+"\324\371;\27\261\367\370\337\220o\370\321\362\22\177\207\346px\303K\301"
+"\275\266J\37\275U\376\346j\215\326J\233\210(\335\221)]\254\352\224\326"
+"\t\233\210\2509\233%\317\246k\247+\253x2\301\256\235>\243\314\206\375^"
+"\223\316\16\371\273\224\5E\341\350\5\221V\214\233\210R\303\300\213.\221"
+"V\351\232<B;\216ycB\333D\205*\364W\241\315\317\212\203\22\235\245B\77\27"
+"\332I\314\353\23\351\4\265s\343\r\241\315\327\276G\244\325\216\271\257"
+"\356\13A&3\273\244\310\313\3671\246\255\202\235\340\221M\257<\226!\16\217"
+"\356\24\355b\346\276\23M\23}\226\7\346j.\354\24c\276\240\255b\20C]>\277"
+"\277fx\363\226\370\245\367O&\345\352}r\210\353r\354\3777\346\30\251*\217"
+"M\373!\363-3\0\200\23\352\364U6m\33/h\2\0\264\251\302\25lEn**r\177\2\0"
+"\24\37\332DT4\305\226\203/>\21\235\7\0\314\356Q\30{\'e\330]\256\322C\374"
+"\7\0\200\253^\336\264k.\360\215R\243:\273\274Q\237\335[\273v9\3270\316"
+"n\230\373\250\2\364m\363b\207\37swv:\307\\\211\331\326\335V^9[}O\265k\42"
+"\262:\21A/rC\261D\264\272\311\23\216\235\252\215\t\3\23Qq{Hv\342\\Zx\226"
+"\210h[#\277Q\0\340~d\267\204\42\344\207\203\331Vf+X\267\34OvwutL\205\356"
+"O\345\321\222\222\225\225\24k\371\341\236\35\34\36\217<`C\206\f\31\62\24"
+"\324/[\25DC\257\347\336\26\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0)\0\0\0p\b\0\0\0\0\246\212\6\25\0\0\0\2bKGD\0\0\252\215#2\0"
+"\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4 "
+"\22\37\235:\36\0\0\2[IDATx\234\355\327Mh\23A\24\7\360\377&\3314\325\346"
+"\243%H*\22)\30\274T\20k\253`\17\25\25<)\210`\301S\357\202TD*=x\363\342"
+"\241\212\7\305\203\245\202\24\277N\202(\251\364\342\251*\210DH\5\265Ji"
+"\243%5-\24555\315\363\220\314\354\233\375(s\351!\270\377\323\2747\77fv"
+"7\t\231\5\374\370\361\323 9Q%\221\353\233\302\370\17\t\251rh39J,\371fo"
+"x\212\224\334\364\204\311yUV\373\274\344c\262\345k\324\35\236\263C\242"
+"{\2560U\224`C\356\177\322M>\227\323W{\nb<\333\352\204\3br\365,\320\221"
+"\23\325\3\7L\227\352S\363=\0\320:!\350\31\33\64\262\365\211\\G\255a\212"
+"\17\341\347\16U^\250\367_\305ek\270\376\25x\246\300=+\265\356\235\20k\366"
+"\377\2515\317\263^\360\r\21\21U\6\325\215z\27\210\210hq\247\325\272LDD"
+"+\247\355\267\231\371LDD/\f\243\3360\207#\0\360\344\275\343\211\264\r\232"
+"\0p\3271\361\37\305\220\243\343\321P(\212\26\63\30\303\366p \216mMF\2\315"
+"\221\33\342\361X\37]\326}\251\204\30\4\264w\337\ni]\347\20\200p\362\300"
+"\21\303\33\2539\272\256\376\210\207<w\237|\250}\235\223\332\362\233\266"
+",i\313emI\332\322+\276\364\245/\33T\376\325\226\253[\260\346\212\266\\"
+"\322\226\213\332\362\227\256\2449]9W\326\225\323r\24\2\200X_&0;\261\340"
+"&\77\362\42v{\215\210\250<\322\4\0H+\177\\\375\f\356\312\213\356\313\240"
+"CVS\26\fMY\375\213\16\371\216-9\300\3723\0\320\311\345\25&_\363\211\335"
+"\0\16\262\272\3146\17t\363\233k\7\220f\365x\201I\345\20\276\16`\257UV\224"
+"\367\216\337l\263\345\b\330\251\232\350\26\207\3102y\r@rM\226\323-\212"
+"d\367>\26\4\60\42\313R\247\2a~\22\639\23\b\\\222/GK\275\260e\2378\233\323"
+"\227\261G3r\305\357\373\355\208,\337\6X\306\333\234\20h\177Z\265\271\251"
+"cn\16\0\272F\331\303*\336w\\!`\235\25\303\335]\231T\2\305B\376\355\207"
+"\r\257\5\33\42\377\0\4\334QS\306\253\255\7\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0D\0\0\0p\b\0\0\0\0\202\223\211\325\0\0\0\2"
+"bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0"
+"\7tIME\7\322\5\6\4 &>)\316\253\0\0\2\31IDATx\234\355\330=K[Q\30\7\360\177"
+"L\242E$\361%TZ\242\265CU\n\1\205REZ\213\365\5\247\25288T\\\264\5\77\200"
+"Ci\77B\320A\350 Bq\20)\305\241\210\235*:I\207\22\234\24uP\24|\'\326h\242"
+"\21\315\323\341\232\344z\2161\311s\34$\234\377r\17y\236\373\273\347\236"
+"\34.\334k\305\355\261\271\36\234&iI\26\317\3173\242\355\301B\25\243\363"
+"\224\210\210h\255\224o\274\273\240\253\314\262\215\232 \305\362\214i\270"
+"w\343\6\265\362\214\\\237\311 \17\313\260|7\33K\26\26\362\305l\204_\261"
+"\214\266\210\3118hb\31\236@\234\210\214=d\31\256\325\270\341\253c\21\260"
+"\315\304\210\375\376,\236\201\341(q\371\325\305$\360!j\314Ws\t\274\16\33"
+"\304V\17os\0@\351\36\21\21\235{\35l\2\271\13DD\364\373y:\'\211S\256}\3"
+"\0\213S\374idD\306)\205\334\372\224\345\356\352LF\214\315fu8K\252\272_"
+"J\325\310\217_K[\241\303t\274Q\351\77\351H\177V\25\242\261\222\342\211"
+"\3465\331\21\213\322\17) Gb1\300@\330\321\210F4\242\21\215hD#\32\271/H"
+"\277\337\357\367\17\1\66\25\244\275\0\200Em&\371\r\0\20RC:\354\0\20PC\272"
+"\0\0A%\304\335\f@\365v\372\262\324g\222\363\3218\36\253 \275\217\214\343"
+"\211\2\222\367\371j\240\262&\237\36\253#/\6\242#\376\2328\307\355\312H"
+"\366dyl\234\354v\22\25\263\'\32c\343\313\260P\24\337\274\376\334l\24\316"
+"\231z\376\tE\247\210\354\337\370\31\346\355\272\271gS\250J\357\200\324"
+"\42\23O\276E\256\265,_/[F$d\263Lh\251\37\13\13->D\237lVG\276\273\352}\215"
+"tY\367_\357\354\306\361\t\0{^\321\323\312\272\206b\251%h\34R\372j\2210"
+"\323\270\203\247}\350\336 \301\273@\2447r\35\35\35\35\35\235\304\371\17"
+"m(\3550n\305\217!\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0#\0\0\0p\b\0\0\0\0\261\250\226\334\0\0\0\2bKGD\0\0\252\215#2\0\0\0\t"
+"pHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4!\22\6\206"
+"\13_\0\0\1oIDATx\234\355\326\317+\4a\30\7\360\357\330\331hW\346Y&ViO\244"
+"\324\36\234H\244\344\240\24\7\67\312\315\301\237\240\366\342(rQ\356\16"
+"\16\216\222\33qR.\223\23\7\241\34h\375:\250\265V\314\343\300\356\314l\317"
+";;\371q{\277\307\367\371\364\316\367}/\363\306\240\216i7\24C\306\0\262"
+"\333\257\314\267\253\315!d\252\310\314\314|\225Q\222\211w\376\316\201\212"
+"\364\25\270\222.\231t\344=\302c\42I8>\302Y\211\30[~rfH&\347\'\245A\211"
+"L\272>\3620*\221\354\263\'\334\215V\211\330\347\36q\6\304#\231\373\25q"
+"\77_\'\22\254\225\305\307\272-\13\314\225\311Q\257B`\250\364%nf\305K\1"
+"\200\314\35\63\63\277\2554\251\4\22\'\314\314\274\327S\265\356\337\263"
+"\177\30\0Nw\224\233\204D\350f\22Y)r.\275\5\240\336\42\262(Ed\21YD\224\4"
+"\0\314\4L\336\252\361-\305u\377\2131\201\303$\342-\335\361\332\266q\231"
+"\203\231\26\220\341(M\245\17\357F\350|\21\301<F0/\21L)\202QG\33m\264\321"
+"F\33m\376\336\250\2657I\7\7\266d\252\236\256\302\363\262m\321\r\376\273"
+"\335\245\316\362\314\0\26Fb\224n\27z\24\256\237\212\271c\0\300&\207d<\364"
+"4R\347\337\31\35\35\235\237\345\23\366\237\25\321\364\214\323J\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0D\0\0\0p\b\0\0\0\0\202"
+"\223\211\325\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22"
+"\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4!+Y\203\203W\0\0\2\214IDATx\234"
+"\355\330Mh\23A\24\7\360\227\264i\17\26\363\321\226\370\21\64=hm=\250\340"
+"G\25\25[\265xPhN\36,zP\204\36z\24\321\236\274)\b\336<\30\261x(\25A\274"
+"\350\271~@Q(\5\265\b6\n\266U\17\326nk\223T\3M\236\207\331mvgfwvvzP\234"
+"\377%\223\367^~\331\217\260\354\6@GG\234\220\354\7Z\333\232\347r\23\250"
+"\360\225\265\375\37\21\21\361\313\300\232\300Fz\34\255\344\266\7\64R\323"
+"X\315l0%<\212\366\274\257\17\202\364\2423\227\203 c\24\362\255V\336H\42"
+"\235n\253\25\366\215\354b*]\362H\202\251\354\220G\226\231\312\6y\344\23"
+"S\211\311#o~\320\225\337\362\310\362=\272\262h[\17\61\347\216\223M\0\261"
+")\252\366P~K`\341\244\341,L\4@\340]\307s\307\373Qk!\365\323\315\359\330"
+"\323\236\230\77A\336\345_\332Z~\217\211\2256\2634H}EM<}\250\3775\373\321"
+"\362\203\263{6\306\251\341Sf\263\203\267\261\241\273\f\222\341\315eIo\204"
+"\277\313\255\2641\311\233J\26\20\21\261\262\227\217Di\344\5o\3526\351e"
+"\371\6\0\215<\341\314\34\253 \42\342TT\1i\371\216\210\210\245\375n\206"
+"\17\244\351-\351\\t5\304H\263i\\s7\204\310\226IR\277\356a\210\220\3569"
+"rr\257z\31\336H\344F\31\21\21\177\365z\32\336H\374+9\267\373\274\r\301"
+"\356d\20\21\37\67\n\f\3211\31\306\371s\42B\2104e\327\211\r_\77{^d.\217"
+"\32\321\210F4\242\221\177\r\3513\f\303\270%y\37K\247\'\16\0!\265-\211u"
+"\2\0,\251!\231\b\0\300\242\32r\32\0\0\212JH\3528\0\250\356\316\205\260"
+"\372\226\324\233w\220y\25\344\374z\362ZP@\32\6\314\205\3121\271b=\25+ "
+"\273/Y\253\340\307$:\24QF\352\36m]Y\213v\307\255Y7|te].QM\372\306\357\25"
+"\337H<\263\315,PM\346\311k\226\373/\\\327g\373\314\f\325e\236\1\253\377"
+"\325T\263y\260\342\30\371\340l\207\3560\310L\232\329|\277D\215\214\203"
+"ue\253Y\33K\355<\303\336\372\247\306n\216L\347\13\0\20ihl\331v\2403\311"
+"\214\24\311\213\257\'t\327<\205U\270\332/\3755Hq5\220\237\252\200\216\216"
+"\216\216\316\377\224\77\235W/n\270rVP\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0(\0\0\0p\b\0\0\0\0IHm+\0\0\0\2bKGD\0\0\252\215#"
+"2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\4\42\62\26\305xT\0\0\2\nIDATx\234\355\226\77H\33Q\34\307\277\211\27\42"
+"\30s/F\210\177Z\213b\21\24\207vhA\34Jt\20\304B\307\246\240\203\213\270"
+"\t:\24tp0P\212P,\270\b\26J\5\241k\13\245\223\212\16.A\4\323R\260\5\265"
+"\320\202\326\77\211\321\30\311\317\301\363\356\336\335\275\273\16.\342"
+"\373N\367}\277\317\357\317\273\367\340\16\270\215*q\17\227\267\305\357"
+"\34g\274\253\f\377!\242\354l\205\7\27\371H\227\332lp\345\202\311\274\6"
+"\322J\314\r|\264s\305\321\311\210\337/\6\237\325\352\217\245\335u.\25\177"
+"\220\241\314\23q\305\330}\223\t=\26\203\17x\'\6\371\227\327 \6\3179\27"
+"\25\203\233\234\13\t9(\7\246]\323\266K\353/f\227s\270=JEM}\313\303\323"
+"\375\354\323\240\261\270\241\0A\2251\225E\30S\31S\31ce\0\200\27\77\227"
+"\337\17(:\370K\1\376\252\316\275\263\343\341^\335\244]\316\32\273}\361"
+"\231\245\257\0\200\2635\0\334\356t%4\272\221\210\210\326\233\335*\2\0\356"
+"\1\0\326~+\300B\31\2\321\246\200\0\354\0\200\314\362\341\225\17\275vn\35"
+"\376FD\224\276kd\372R\216`\342\220\210h\24\320g\244\317N\215c\2110\200"
+"\2357&\320r\t.\345\357\351\0p\336\2375\203{N[\36+\5\60\273\b3\230\263s"
+"\221Ou\0RSy\16\314\333\270\312\271f\0\7\23\33\374r\273u\327\321w\5\42*"
+"\16Z\363\255``\276HDgCZX\261\362\272B\235> \227\234\326\254\370\254\367"
+"\337\2\205\344\244}t\333\214\255\351\243\347FX\334\32\337\223\351\324\177"
+"\201\205\17f\347y\37%(A\tJP\202\22t\3=R\214p\25\37\250\24\202]|\240]P9"
+"6^\344\77\232\305W\215\34\340\3^\306KXU\265C\362\361\326\277\223\321U\303"
+"\3179\376\304i\352\266\317\350\241\353\7\245\244\244n\214.\0\21A5\217}"
+"m]\367\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0D\0\0\0p"
+"\b\0\0\0\0\202\223\211\325\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2>IDA"
+"Tx\332c`\30\5\243`\24\214\202Q0\42\300\322\377D\09|&0Q\303\31\303\314\20"
+"F\6\6\6\6\6f>~Y\203\30\63\f\331\177\253\267]\177\366\355=)\346\315\301"
+"\210\223@\322]\245\216n\306-2\302\344\5\272\344\13\62\f\371\210.\371id"
+"\246\223QC(4\304\204rC\370\27\314\243\330\20\247K\361\224z\207k\322\36"
+"\334\305,\13qf\230/V\2454`\331Z\217\3403\203(\227\350.\326\'!\n\321\13"
+"\245-\f\f\f\f\314\345\77\240\334\253&\344\32\242z\f\312\371\333\313A\246"
+"K\30\63\277@\331\367\354\311\365\216\354.\30s\26/\271a\362\360=\224\361"
+"\314\233\374\200\205\201\345B\f\224\32\3626\202\244,\215\325\214-\222\f"
+"\224\32\362)\215\324\302\5\323\214\3\212\f\224\32\362\275\210\214\202\17"
+"k\262\37\2102\326\205rCx\246\355\242\330I\366\367\260$\21\322\214\340\232"
+"\370\367\77\371\206@J6\353\371\252\224\6,g\367!\362\314\310z\367\356\335"
+"\273~\6\6\26\6\6\323E\32\320\266\42\251\361\35*\bi\177210\24@\315\270\357"
+"D\242\31b\266\f\f\f\f\337\220\242\370\377,\375\203$\32\22\306\fm\330\301"
+"\252\214\347)\333H\16\222H\6\6\6\6\206\257p\227\254\320!\335\f-+\6\250"
+"wX\30\30\30\30\336d\255&#n2\30`.aa``\330\222\362\222\f3\4\22!\364g\6\6"
+"\26\6\206\366+d%\222l\36\b\375\205\201\201\211\201\201<3\204\213\240\214"
+"o\24\224\'\rB\224\33b\231\tc}&\333\20\376\245\314\24\33\302\266\26Q\13"
+"\20\362\16.I\266\345\316p\366\337\237\4J\373\23\330\315\20:\200\244\346"
+"\3\272G\321\ry\315\210\265-\372\0Y\315cB}\300\377n\230F\310\317\377\207"
+"\242\344&Zot\26\206!\217\25\320\224\330-\374\211\246\344\34\274\214e\346"
+"\23\2201\2106\307\260V\346L\317\376G\237\277000\260\362\b+jX9\212c(\371"
+"J\302\250\5N\260\225\32\325\350\267Ac\310Wj\30\362qt(l\24\214\202Q0\nF"
+"\1\361\0\0\203\317\215,\301\r\222\33\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\42\0\0\0p\b\0\0\0\0^j\375\342\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1RIDATx\332c`\30\5\243`h\2FL!\26\1\1~A\201s\367\340"
+"|\6\6v~\1\1~\1A\1\1~\1\1~\1\1\1n\6\6\6\6\206hd%/\371\361[\304D\330-\324"
+"Q\302\302\300p\200\233\201UX\235\225\240R\236\356\377\250 \nK\0\235\303"
+"\245\4\356\226\377[\t;\367.a%o\t+\371FX\311\317\1\217\200\341\245\204\231"
+"\225\220\22\351=\222\4\224\370]t\300o\21\307\224\r\302\320\264\213\3h\256"
+"\320#\340\334\2603z\210\34\200\35\370\23\353\351\275o\220y6\3771\300\357"
+"ZT\23\60\225<\261E3\23C\311\26a\6\374J~\25a\226NhJ\262\260\370H\3U\307"
+"\7\f%\314\255\263\360\24\36\f\f\f\f\342\313\35\t\244\27\333\263\216\370"
+"\223\24c\321>i\374\245\24\303\332@\202\t3\220\310\264\373\264\224\220\222"
+"]\206\'\360+\371\327\354\365\32\257s\31\336\306\354 \340\243S\241\217\b"
+"\24\315\fv\77\t\372\350\347h\21\64D\2240\21V\42\201*!\202E\211\7Z\26\307"
+"0M\274\361\37j\266\377\327\251\202h\277T:1\13HHbq\304\327G\357\276\327"
+"\234d```X\372\37\17\360\246c\320\215\202Q0\n\b\0\0c\202\320\24,U\271\21"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0"
+"\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0"
+"\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4#\n\'\334\361\213\0\0\3\371"
+"IDATx\234\355\231mHSQ\30\307\377\272%6\250Ei/4t\221A/,z\371\260\210J\220"
+"\2\251\\\323\b\223^\bE\310\260\240\276$V\20\24\25\275\227\320+\b\205b\21"
+"Y\323\322>\364\2E\205P\22I\205\244\225(\231\256\302Yi\256\266\247\17\233"
+"\356\332\236s\357\335\275\373\20\261\377\207{\361\177\316\371\355l\367"
+"\271\317s\316\321\200\beLJ\354\217t\214P6\327O\242\316\343c\243C[\335O"
+"DD\364>%\32\64\307o\n\352A\24h\366\37\64\244i\272i\226\256\20\2152\365"
+"\322L\215\22\32\331t\322\342\256Jio\342t\342vKi\3\213t\322V\371%\264\317"
+"Ku\322l\275!\230\377\322x\235\264\244\267!Z\343B\2350\30\357\r\301\334"
+"E\361zi(\33\204\371\316$\351\206\241p\220\366d\256~\30\26\17\4`\37\67\352"
+"\r6\0H\351&\42\42\357\321\321Q\200\301\364\202\210\210\356\316T\325[q\376"
+"\13\322\1\340u\255\316Y\375\247zD\254\272\323D\3\316\360\3\210\250M\374"
+"\312$\327k\250W2o`\332\265\204h\342\220Q\36U\34\326\225D\212\213\3R\'O"
+"\267;&\262\255\264\241\222\263\307L\232\2768\'u\270\367\265\346\341\253"
+"\366\336\340\37\306\274V\366Q\375\260\213\346\21\277\256[\322\357\373\216"
+"\304\341\315#/D\30.\260\266\17\365\352\231\37\336\\\312\362\232\314B\336"
+"\274_\203\235\262\271\346S,\357\2368\\.\7\273<e[\23\276\263\274sB\334\262"
+"`\217-|s\17\213#a\270\230\202+\252\331\21\341\374N\21\257%\320.\3709\4"
+"8q\270\334\'\42\242\256\220\241\252j\232\\\26\276\341\213\344\252\36\207"
+"\tu|\270x$W\21\256\211\31g\273b\340p^\0\300oY\334\356;\314\300\3142\16"
+"\367\r\0\320\33\62\30\234o-7\277\242\355\214\351\7\0\220,\16\236l7\343"
+"\36qp\363\373K\354\243h\315\366\206\233\206*\25+\24\376\311>.`LS\215 \\"
+"\24q\2508\304\230\226:\223F\34Jo0\246\255\212\r\27\258Z\377\234q\35\'5"
+"\342\320\347\354`\334\342\42\2158td\3671n\331J\2158<\333@\341\246\241B"
+"v\373$\227\2\252K\31\323\\7Y#\16\207\270*k\271.\23.\362\t*\377\tc\332e"
+"\302E\36\347u\276c\\\307~\2158\270\235\36\306-\21\206\213R6n\312\3631\356"
+"\351\f\2158\324sy\316X-\b\27\345ZQv\2261\315\256d\2158l\275\317\230Sj\331"
+"pQ\201\363\34543\256\275\234\333\341\250)\214\236\225\\\262\317=\240\21"
+"\207\226\\&\331\243d\223F\34\36\260\201v><\\Tn\305\313\17\63fB\265\374"
+"\321Q`\311\263\202k2\270\4\313!\42\272\25\361\354\340\313\343jy\230T\237"
+";\364-\377\24M\34:\234\\\262\327\214CC\1\223\354\265\343peoTq\330\307n"
+"\251\204\270x\205O\240\302\206Hp\243$WV\375Y\\-\27\340F\4nr\233b\367\362"
+"o\252q\301c\34\361&\f@\323z.\331\263\270q\201\233\374!X\315N\265\270\224"
+"a7\221\216]T\211\233\21\270)\2356\25s\311\236\301-\t\334\346\214\221\307"
+"y\327\264(| \0 \271/\230p\266)\365L\353\21%(\211\206v\357]\212\'\257\31"
+"\3\212\270\35\241\366\6\205\257\13lV\300Y+\244\35Z\35J\357\362\t\36\27"
+"\7X\'Xf\245\247\377\265\310\372P\377\274\271\263S\234\341\f7C\253\332\333"
+"\303\26\270\242M1\321A\231\351\231_\352\251\25a\362dq\265\\\373\31u[\26"
+"S\313u\34y7\344\207\'{#\320\343\27\rP\370\207X\345\214]\f\316\32\371\304"
+"\202\332c\230\n\0\215\232\1\61\305\24SL1\305\364\217\351\17\337\347\31"
+"#\b@)\22\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0"
+"p\b\0\0\0\0d\272B\221\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0"
+"\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4#\37J\1\25`\0\0\2\223ID"
+"ATx\234\355\230KhSA\24\206\377\244)\246A\33#\241\t!-.\42J!\242\240TJ\212"
+"\245*\250H\5\273\211\240\335X\27\342\252KA\27\212\330E\203\240\1u\253\250"
+"\330\245TP\244\265\240\42\32!\212\210\5+\212\250}\230jC\253\324\324&\307"
+"E\36\367\316d\246\346N\20\273\230\177\225s\377s\276y\334\223\314\275\1"
+"\264\264\264\264\226\257j*\314sx\235\363\325\214\23\276\375\213h\342\374"
+"\32e@\327<\21\21\321\207&E@\347\42\25\64\242\6h\371I%\255S\1\4\247\f\0"
+"\355V\0\270\222&\0\205\255\3l\3f\300\250\315:\341\244\31\220\211X\7\354"
+"\317\231\0\323;\255\3\302\263F}\356j\203u\200w\314\0$[\255\327\3031\\\252"
+"O\35\263+\0\20/\326g/yU\352q\264\bx\262Y\251\36m\231|\375x\267B\23\0@\323"
+"W\42\42Z\210\325\253\325\303\365\222\210\210\206\232\377\232)\233\341\266"
+"\355\0\360fPq\2Z\377E\25\365\233=\320\340\306l\352KVm\210H,Q\350\357\205"
+"g1\301W\334\6\204\326\273\354n\324\327\3249\35\253\340\301\312\332\25."
+"\273{\244\'\77\372\241\23\33\230\374W\347\6\312!}$\320\35\0@s\242\334\271"
+"\357\347\226\270\324\n\242\317\267\226_\334\225`\217\235\245\b\307o\272"
+"D\227\33\37\370*$\364\304%7*x\313l8\200{i\324z\267\264\362\351\35W\244"
+"w\272\375\3605\301\325\39v\'\33S\242\r.\350\255\tn|\34\332a\6\336\255k"
+"\7\200\354\360\243O\bun\344\307k{,\230\304)f\224|\23\335(<rD\347\270I\364"
+"\211\26\327]6\327\314AcS\26Y\353\241\210\260\217\7\344\272Ln\234\365\276"
+"\211\b\35<\341\202\331]\313n4\211~\301#\34\340\273\207\261_\260n\250d\310"
+";\352\362\f\23>e]\243[\345\204\353l\370\216\r\215UH\t\37G\331xZ\226(%$"
+"\271\370\267e\302{\231Q1a\242j\302\217\252\tsU\23*\226&h\202&\374[\2\367"
+"/\0\177ps\261\221m\20\270\207\33\37\33\362\266\21\32\204=l\n\377f\310\305"
+"{\301\313w\232;\326\250\337<\252\277\237\77T\317\24\'i\3\216D\355\36_\240"
+"\214\t|\236L\277\356\5\316\266\254\366\7\5\366\370T:;x\21\16 ${\225\r\6"
+"\341\4\260I\342\7\2\300\330r\353\7------\271\376\0O\220\24\370\214\32\216"
+"\342\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b"
+"\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22"
+"\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4#2\17\336I\25\0\0\4,I"
+"DATx\234\355\230\177HUg\30\307\277z\356d\31\246\316\254VRW4\250\205\373"
+"\t\363\257M\20\6\325\364r\257\20&\26\264Z\220\342F\265\301\304\32\4\213"
+"\212E\324&\264j` F\3116K\315k\320/\350\307\206,\27\314\202\2\225\211\202"
+"\231\24\367\232]\231u}\372\343\34\357=\327\363\274\347\307{\375\243\342"
+">\177\234s\317\367y\237\317y\357\275\317y\236\367=\300\253h\256\277\211"
+"\210\350\344\33\6\317\266gDDcng\274U\23DDt)3VN>DDD\364\245\323\371}\253"
+"\306\335\311\325\213s[T\325\237\344\24\247\334P#\207\77\216j\213o\251\332"
+"\343\305Ni@\336\270\32\33\362M+\357\r\252\nU:\247\1\325Zp\370\33\365z\315"
+"\230&\374.CC\322E-\234\216*\0j\236kW#\331R8,\rL\363\374iJ\375\364g\362"
+"YG\362\366E\4q\273#\362\261Q\226\6\264\223\301\2062\255\303D\266\350\321"
+"L\332\324jy\32P>\23w\42\36\32\320\34K\353O\213\17\2275\254\247\205\213"
+"\342\243\1\36=\356p\2744\340d\224vo\216\305X\2275n\373\203H\371h\236\210"
+"sj\257\233]7>HDD\17\363E\1G\371\0\42\32H\26\336%\273\363-\347S\23\343\220"
+"\377[\312l\342P\3340\2538T\326:\305%\1\313\226\254(\364,b\275\264\361\24"
+"\'g\274\275\342\223\262e\261\332\343\266kw\7\307\264\13WE\37\373W=-\24"
+"\315#\271\362\241n\334\370\3167c\335sN8L\27\270\7#\243\2\37\31\335u,\257"
+"\']\310\373\360\331\364 \266\31\375\304\362.\213\323\245Q\33\362\27\353"
+"M\31gy\307\204\270\317\264\21\325\274;\300\342H\230.\251Z#\177\327\21n"
+"\312+\342\365\252~\301\317!\300\211\323\345\n\21\21\215D\5\323\247\42\362"
+"\245Zsx\307#\335\321>\16\13\375|\272\4uG\21\256\207\211+8\243p\270I\0\300"
+"sS\334\356\13L\340\352z\16\367\4\0\60\26\25\30\\x=7\277\252\35\2148\5\0"
+" S\34\202\276QF=\350\341\3467\303\330\277\242\3177i\24\225\323\37H\342"
+"ps\13#\246\266\t\322\305\22\207\246\3\214\230\343O\225\304\241\356,#\26"
+"\234f\323\305\6\2166t3\252\347\210$\16!\357\20\243\326TI\3420\344\13\61"
+"j}\211$\16\2676\222QT\232\n$qh\251c\304t\377\22I\34\16p]6\347\17\223t1"
+"/P\233\377d\304B\223t1\307Mz\373\31\325\263W\22\207Qo\220Qk\205\351bU\215"
+"{*\302\214\372s\261$\16\235\\\235s\265\b\322\305\272W\324\377\302\210\351"
+"\255\374\26\331F\353\371\352\n#\346\266\263\351b\3\27.\273\317\250\205"
+"\r\334\273\17;\2151X\302\25\373\362}\2228\364\2263\305\36\265\233$q\270"
+"\312&\332qc\272\330\303\241\341GFLiYn\32\244.y>\347\\J\253`9DD\347\35\317"
+"\16\341\n\256\227\33\314.\16\241\265\17f\23\207!/W\354\245q\350\332\302"
+"\24{y\34\316\354\231U\34~`\267TB\\\262\305\35hk\227\23\\\232\356\310\332"
+"D)\327\313\58\355\245\256\331\246xt\355\23\333\270y\352I\274\t\3\320\263"
+"\201+\366,.K=\3157\275\177\333wvqKcN\42;\364\253M\334J\365\364\2169\16"
+"\65\\\261gp\237\252\247\3673\314q\223\353z-n\b\0\310\16i\5\347k\253\221"
+"\371\1Q\201\322Yd\367>\262\300\212W\374\277%ng\324\337e\361u\201m\268w"
+"\223~@\237\307\352Y>\314\343\222\0\367\302\234UEE3\26Y\377uv\337\37\36"
+"\26W8\345\\tU\333\21\263\300\25m\212\211\366\233L/\375\337xz\205\301\202"
+"\245\\/\227\306a\240\224\351\345\3628tm6\26{\27\20\230\22\5X\274\207=\265"
+"r\27\203s;\237\230f\337+y\0\360\2174 a\tKX\302\22\226\260\227\314^\0wo"
+"ir<\22\277\223\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"A\0\0\0p\b\0\0\0\0d\272B\221\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0"
+"\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4$\21\342\370\256"
+"\240\0\0\2\300IDATx\234\355\227Mh\23A\24\307\377\331$\330D\323\32\374H"
+"\bi\251\30Q\24\324\203\37P*\226\252`E\n\325\203\21\77@\354A\324\203\242"
+"\27\17\36\24\261\207VD\3*^\n\242b@\274T\253hU\320\36\64\25\13\245\240\250"
+"\24\244\325\264\324\326\220\26Km\223\347a\223\354\316\354n\262\233\240"
+"x\230\377i\337\373\277\371\315\233\311d\'\1\204\204\204\204\204\376\261"
+"\34=DD\324\356\3248Gf\210\210\222\325\5\21\253\246\210\210\250\313\313"
+"\246\245KDDD\315&\2728-\227\366/Q\'\347>\220\263\2356\23\4{\267\\\34\337"
+"\240\344\2\357\344\334x\300\4\0X:)\227\377j\312f\326\f\312\31\332g\n\0"
+"\34\315\324\247N\311qC2\223\270o\22\0\333\263\314\b\272f\7p|6\23\215,2"
+"K@U\42\213\350\364\330#\331gj*<2\247C\271Q\275\217r\217\267,\0\200\16\322"
+"h\310[x\230J\3761\36\220\336n\t\0\354\341\t7-\2\200(\13\30\360X&,\210\253"
+"\1\251\315\226\1@\243\232p\271\b\0\320\256\0>\272\f\253\34y\b\'\206s_\304"
+"\350TQ=\bY\221\231\327\36\244\300\342\n$G\277\245\212\233\242\266-6-\37"
+"\212\337o\333jt{\b-wK\25(\267\273\312\34\36x1\3179\307-U\274\224\337\352"
+"\322\3763+\230\372\276\213Q-\244E\373* z\b\0X\31\323:O\375\334\22\363\255"
+" \334\263^\233\334\26[f\232p\354\256[/]\371\302g\222\320\34\61\370\240"
+"\202\367\324\206\3x\222\200s\341\272\32\276\274\376\206\341\']w@\357\245"
+"\273+\315\356d\345\250\336\6g\364I\5W\36\273\266\250\201\217]u\0\220z\376"
+"z\20\241\306\325\374|\233\272u\2328\313\314\42\37\242;U\262\27\236\340"
+"\232h\321[\334AM\257\323{\225M\231e\255Wz\204\235< \275[\345FXoL\217P\317"
+"\23\256\250\335jv\243\251\\\207P\313\1\306\331K\256\227uC9\303\370D]\377"
+"\311\204oXW9\255\306\204\333l\370\205\r\225U\30\22\276~`\343\37F\205\206"
+"\204\367\\<c\2310`d\230&\304K&L\226L\230(\231`Z\202 \b\202\360w\tv\326"
+"\340/n.V\252\25\2\367\343\306\307\206\274\255\204\n\241\201-\331\212\274"
+"\361\16\360\362\235\343\2565jU\317\352o\345/\325\363\331&m\300\341\260"
+"\344\365\351\375\237\36\32N\364\237\4.l\234\357\17\352\330\337G\22\251"
+"\216\253p\0!\276\341\254\202A\224\1Xk\340\7\2\300\347\377\355<\b\t\t\t"
+"\t\t\31\353\17RzeG\203\207S\207\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252\215"
+"#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\4$$\264Kj\203\0\0\49IDATx\234\355\230mL\215a\30\307\357r\22QJI*\345x\t"
+"e\252\225\327\362N\310f6l\226\321\330h\346C\37l\370`\224\361\t\37\362\366"
+"\301\3260\343\243\227\2311e\214\31K5\351\205\220Q\211\244\367\27\3259\316"
+"\361\341xN\367u]\367K\7\33\263\347\372v\256\377\377\372=\367y\356\373y"
+"\236\353\276\31\63\343\377\f/I~\177\240\272.\247\327\243\313|p\252c\224"
+"\270\314\333\243\213h\303\304\375zX$\371Z\273\272\316\361g\207a\306\277"
+"\36\2627\n\347\b\213\16\364\367\365k\375\336\376\271\256\343\267p\336I"
+")\311I\23\207\16$\332+\212K\n\77\rb\224\2V\372\371F\321\253\311\361\354"
+"`\224\307\260\220\3\2127\236\375f\232G\260Q9\355\232\327\347\303Ta\241"
+"\360\336m\312\13\345\177\276*\253\356\352\16\214LL\6\17\370\225\354\257"
+"\203\32Z\350\r~\30M\207\254\2060&\373#\2574\256\37\fmv\35\177\337\317\5"
+"\360\332\360c\16^<6DK\333\362\215+\260m\303\362\272^~\200\5\232\357\35"
+"\333\3.\277\231\32\322\354<\257l\234\222\266\27L\337Q\221%\33X\252\306"
+"(h\273\200\365\305P\241\351\16\64I\276\270\214\261t\360G\234\213\304.\353"
+"7\340\272%\233\17k\13\360\335\226]\365,\2609\217\210]\226\42h\233+\303"
+"E\367\1\237c\231\320u\b\322Je4\306\256Bg\255\350\366M\353\205\246,9n\r"
+"t:O\13<\5\320bW\254\0\13zs\331\23\210e%\272\342=9\215\261\13\310|\2278"
+"\236!\307>\25n#2;\27\42\303\nl\230\247\302\215v 7^T\267\220\336\355\243"
+"\302\261\ndw\304\272\362\77;(\353*\354\267)qO\320o\257,\200\333\202\33"
+"\263r%\215\221E\231\341\303\3436a\271J\215\253\300\211\2204\16\67i:\226"
+"\337\253q\225$\263\216\303\245\23\265V\215ki\301\231\325\34n\211\2478V"
+"\207\23\21S\6p)\304\336\354)\216\245\272q\21\241X\353\374\256\3015\220"
+"L\242\33\67\223h\344\326\340\240\243\217w\343&\22M\333y\265\222\314$7\316"
+"J4mP\\\270\257\201\13!Z\217\16G\r^\301\6.\230h\352\'V\34n\234\237\347\265"
+"\2354\345g\340\350\347\331_\207\23l\242|\f\34]d\277\262\363\3537\352\272"
+"\2104LW+\370\26\366\308:\353\272FK\24\315\6\256\211HA\272\332\21$\343h"
+"1p\37\210f\221\367E\256\240zC\237\201{K\355\341\32\34\275\33o\231\201\243"
+"\357V\246\333\211\320\36\241\314\215{Oo\336x\r.\222dJ\3348\366\230\210"
+"S<\306=\34\300\25\22\61N\203\213\306\211\32n>\'\340\226\302I\'\33\16\216"
+"\24\34\347\345\42\42\253:r\306\322\210\337\325\253\376|8/\222\202\371J"
+"\\\42N\274~\312\343.\223\307\226~\334\224\352\31\370\363$\36|\211\212\346"
+"\335\204\334mhYG\365a\236j!\317\301\346\\\354\310\303\216\335\n\334Q\344"
+"\375B\36\341\340\257\310\202[8.\274j\220w\7\365l\305\303\213\225\342\226"
+"\42\347#\321\236\375\6\62\211v\13\256\270\6\215\35\223E\246\20t6\3213V"
+"BK@\215\266`\327\313\30c\311\335\320vB\202C\33\232\343\22\33[\13\67\240"
+"\3753\204\256LH\273*\77\20\310\200\274\342\341\2O\34<b\271#\336C\273b\3"
+"\\\315\227\350\224E\276\1\216\353\276\n\32c\13\340\343s\21\357Vb\336\1"
+"\375\224\356\350#\352\t\360\27\305\360\242\367\316N^\354\332\256\2011\306"
+"|r\373\371\22[\376l\343\37\7d\226\203K\225N%\305\242\365\34wz1\370\375"
+"\261\250\272\265+0<>\t\314L[\316\31\315\331\262;\322\361v\224Dw\36i\317"
+"U\261\374\232]\1\253\77\254~\367\13\42\64\373\276M\314\312_.\355\327\224"
+"g\237\1\13\347\315\212\215\340\22\235\225/\236\77x\251\250\320\237\314"
+"\372E\207\5\r\33\331\327ckk\254\27\264\260f\230a\206\31f\230\361W\343\7"
+"\365\31\37\30oyz\31\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0"
+"\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4$8\240J6\314\0"
+"\0\2\346IDATx\234\355\227_HSa\24\300\3176\347l\325f\216V\333\244z\310\376"
+"\30E4+\26\31\366\240\30\24\375!|\3102\350U#\244\227\352!\202\36{\33>\24"
+"\4\6\345K\220H\344\210\202J\42jIF\205`T\312\376\264\241\256\346tf\267t"
+"\267\7\357\235\347\234\357n3\37|\250{\236v\276\337\371\335\357\373\356"
+"\375\356\361\n\240\207\36z\350\241\207\36\213\23\6\222](\315_}\345gN\24"
+"\222\363\207\35\27\33\27\276\340\377I-\42Yx:\177uf\341\23\351\261\250a"
+"\310I,.\207\305:\221\212\215\377\225ZR\343\363mv+\7m\364C\360i\317\257"
+"y\255\303x\350n\232\277\247\251\366\352\302b\361\271A\355\267\374\315\341"
+"\2f\303P\356\26\321\263-\217\270\352\36.\375\326\345o{4\211\6\244\2139"
+"\337\263\252(\252\339c\6\0\260_\302r\300\256m\36\371\201\212\372=\352p"
+"%\336\303{\227\246)\241\222\321\3629\260>\201\300\300J\321\334\203M\371"
+"\4F\215\230\4\255\334\364\3041\357#\'\305\320\217Y\7W\3\3449\234\246\260"
+"\225\300&\nO\22\230^Ji\5\241\t\262]K\230\300\7|MQ\202\3330j!H>\317UrTd"
+"i\366\366\317\236\217\26Z\331\313\325w$+>;\367{/\235T\26\376T6P>\\\224"
+"\235\365\30-L\214q\3653M\2355Y\265\226\222\20\67!\314\362zU-\335B\301\260"
+"\240&~\323\274ZU+Y\227I\n*$h\272\325\244\250\25\254N\243\221\245h\272\304"
+"\243\250\16V7%\252\223,w)\352r6\256\321\376\370\325\312\24\325$\226\316"
+"\'\214\0\220\326\30c\301\257>\241\224\361;\3127\0\0\313X\236T\324!6.\364"
+"\1Q\r+\352G6n\23\3252\232F\325\5G\342\24\210]\317\312\232h\37(*<\241\300"
+"-\250kY\3768\253vSP^\302Uv\336\344@V\355\242G\317\270\221\253\333i\372"
+"|0\253N\335\241\310\313\325\2354\275\201~\257!\375[\276\305Ls\212\340\1"
+"r@\374\204\305\330y\252\245\375\3458\201\266\b\201\373\251z\233\300\373"
+"lM\3653\230v\22\346&\333\31\21\236\335e\214g\2520\272\211\221\264\217\233"
+"`h\307\5o\321\243=\220A`\272Q0\1LdG\235\26u\334;\206\315&\r\23\300p\25"
+"_\376\325\16\0\0\60\67\343\17\202\357u\270\36\313G\257;Q\26|\26\63o8\210"
+"o\312\313S_4\'\5\0pv\340\211Y$[\363\377\243\340}\230C\36\277\306\33\247"
+"\30\233\374q\301\313\3646\213\357\277\326\347\245\321W\267k\367\n5\223"
+"\77\275~\321\35\321(\313\371Q\353X\267\332j\223\244\304\327\220Tp\241z"
+"\350\241\207\36\377D\374\1\332C\20\243\355v\345n\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0"
+"\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0"
+"\0\0\7tIME\7\322\5\6\4&\t\303\242Tt\0\0\5\tIDATx\234\355\231[lTU\24\206"
+"\327\324N\13\25\332bK\201\266\266\224\332\212\255\2614\275\211E\360\202"
+"Ujb\210\227\204\240H0\21b|\350\203\211\267\30)F\36\fhR\4\61\32\242H\364"
+"\21$\206H\4\203\251!h\241\215\205\202\2\5{\3\254\275_\246e:\303,\37\206"
+"3\335{\255}\351)&\274\314z\352Y\377\277\276\263g\357}\316\331{\27\340\177"
+"\r\217VI\210\7\0\337\4\313{g\1\300\204\317\355\215>AD\254\341\371\r\210"
+"\210\3734E1Z\3348\0@\5\317\227\1\0\214\270\306u\3\0\254\232I\323\336g#"
+"\242+\\;\0@\362F\232~i\36\0\300\337\3322],DD\304\341<9\233\325\213\210"
+"\210E\256q\320\201\210\210\35\305bn\361eDD\354\273\303=\356sDDD\177]\276"
+"\223\311\375\310\37\316}\243\253\321\317;(\377\335\371\353bSG_\\bfq\276"
+"\343^Q\357\276up\f5q|\32\60\200\222\200\232\26,\233\26\16\336U\343\336"
+"\236\36\r<_\252h\273\r\375m\341\325\6),\360\316\264i\0Pq\\\246\325\27\333"
+"k\214Q\271\273\315a\265\356P\274\22\244\230R\313\323\362\27$\341\320\265"
+"\13=\267\330\262\333\35\366\37\353\231\237\235<;>a\340\306\320\77\235\303"
+"\267\204\213)\251,-Y\24\67\231\30j9\325x\364\332\24Z\251`U\177\325\255"
+"\232\305\241\223\357g\271\206\245\276\327\256~\302\20\21\203\77T\271\202"
+"%\325\16\351a\341\351\274LY\250\354\2735ui\342\345_\315\347G}\311\231\305"
+"\245\261b\366\273\232\336)5-\355\240\330\214\236\3159\2160\267\346\212"
+"\250t\77\67\25Zy\247\330\357_$\212\332\314m!Q\334f\377d\254\33\27\n\2\33"
+"\250\274\372\272\330\300#\311\26\332\33\322\355_\344\206*\351\225\325\274"
+"\300H{S\32\276\255*K\215d97\327@{M\262\236\216S\232\16\313\246$-\255Z~"
+"\367\256P\273r\306%\327!\335x\344\364K\276\37uw\375L\262\341\207jWl\203"
+"l{P\207\313\366K\276\320\343J\327f\231\326\244\243\1\354\227\235\35\252"
+"\356[|]6m\322\343\236\226\235\270S\3419\42[\202\206\31\20K\336\\\301%\314"
+"\362$\271\343\317z\32\300\327\304\374\23s\234$\216\267L\270\27\210\31\227"
+"\23\303\23\324\260\324\204\273+D\334tR\35\42\272\317k\302A\13\261\207\n"
+"\302\371\233K\355\234\247\250\77`\304\235 \327\236M\22n\35]\301\2371\322"
+"\200M\312\265^\21\267\206\312\347\314\270\26\232H\255\22p\271\367Q\271"
+"\315\214;\3132\253\5\\5S;\314\270\376~\232Y%\340\36u\213\203N\232\310\310"
+"\233\304U2{\237[\34,\213\3402\322\2506r\303\202\273\3122\305\21\334\3L"
+"c]C\203\267\276(\202[\3044\353\312k\200er#\270\34\246Y\203\343\322\343"
+"\35\\*\323\306l8n\360\2448\270\24\246\231\237XuDp\t\356k\25\207\1\t\16"
+"\216\177\236g\333p!\236\362:8>\311\364G\4\372\230p\352F\2314\303V\253\370"
+"\26\21698>\352\266\205\226*\372\34\34\337\34\315\261\325\336\3112\241~"
+"\7\327\316\264X\375\272(\34\\\277\352wp\255\334\236n\301\361\336h\5\7\307"
+"\337\255`\333\211\3605Bs\4\327\306;\357n\13.\223e\32#8\340\'\31y,c\303"
+"\325O\342\2162\261\320\202\313\246\211K\302x.\244K\n\344\203-7\216\25l"
+"\27\345\6&\233V\344\0U\314\37^\253\336|8\367\262\202\207\2148v^q\3417\21"
+"\367-{l\371\307\315\250\356\222/w\320\3067\232h1=\304=H\246u\226\237\362"
+"L\23\271\202\232\267PG\35u\274n\300m%\336\177\331#\234\322K,t\t\'\204\347"
+"\22\361\276\312=/\323\346\25hq\217\21\347\257\252=\373AbR\355\26\302q@"
+"6\16\337\2432\245\222\263\211\261y\32\332\22\262\320V\354z\1\0J}\262\355"
+"c\r\216lh\266kl\360\214\274\1\235\270_\351Z/\323\366\353\17\4\326\312\274"
+"S\354\304\35\0\n\345#\226\303\352=t8\236\227g\363>>d\231\27%\307\367\361"
+"\6\32\300\303\362\343\263\227\356V\362/K\372\247\266\243\217\254\23\222"
+"\277!_\24c6\216\210\342\350+\26\30\0x\267L\210%\201=\345\316/N\\\177F\272"
+"U\323\275\254X5\237\13w>\42]_i8\77\60\232\234^T\42\215\314`\355\256\240"
+"\275q\0\0PM\267\243,|ulyn\212\225\7\330\1\264\20]\37\230\337\375\212H\253"
+"9\246>\302\357\332\263R\273^3\236}&._ZV\220!$F\316\236\376\343\227\77\r"
+"\25\366\223\331\204\354\371sf\314\362\217\5\6\273\273t\377\317\212F4\242"
+"\21\215hD\343v\305\177\334!\321e`bG\230\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\4&\36@q\321\263\0\0\3\235IDATx\234\355\226[lLQ\24\206\377\231\232"
+"\16\203\2664J/)\t\255[\\\252\245\251\273\7\r\tq\211xp\r\17^\20i\274\340"
+"A$\236D\42\3214)!!./\22\42B#$(i(QA\232\270\226N\253\r\235\252\351Es\332"
+"\262<\364\234\351^k\357\231!^D\316\377t\326\372\327w\366\336g\357\263\262"
+"\1W\256\\\271r\365\327\362\3600\340\7\320\325\243\225\371\206\1\350\351"
+"\212\365\246cDD{\364\3746\42\242\363<\347\345a7\0\24\352\350l\0\350\210"
+"\211~\6\200\345C\264\371\256\215\230Q\321z\0H\331!\321M\243\1\340\203>"
+"\33E\343\210\210\250=\207g\263CDD4#&\212 \21\21\5\363\324\334\244:\42\42"
+"jM\210\215\236 \42\42\262\216\347:\231\361G\254\376\3349Q*\366\25s\252"
+"\235\247\2675\301\326\304\244\254\274\\\247d\321\375\330\243\342.EQU\34"
+"\20\310\3575\223}\263\343\2428`F\367\305\'\3419e\42\313\345G1\263\207\372"
+"$\330\273\377\267H\0\205U\234\274\237\27\237\211h^\371G\207{Wj\370\35\0"
+"}_\7\224\226\233\236L\341\3467-\1770\342\277\255\350k\365\247\247\372\3"
+"\35\341\246\366\77B\7/.*\232\234aw\201\226\227\325w+\365Fg\222w\345\245"
+"Ny$\302g\26\304\7\23\367\324\231\317\360\323Uq\310\365\37\314 \21Q\345"
+"\364\30\340\350\313ji\353\325\322\262[]J\302\332\357\215F\26\64*u_\266"
+"\373\0 \371\200\nW$\233\311\325\337\225\242\332L\'=E]\303\213t#i)%-Y\3"
+"\306\204\220b\274\32\245\223sU\2226\250\326F\325\251\16H2\263Y\365k\330"
+"I\361\324\252\336E\211V\260}\330\312\315\22fn\341\346&fv\16\345n\16sCl"
+"\271\376 3\257\313952\273L\265v1\213\366J\224\35\25\262\372\77\177\377"
+"\371\330\305+\237H\3649\213\22w\17<\317\347\203R\212D\327s\377\363\240"
+"\310\250kya\350\233D\337\3610mq\4]\312\235zI\42(\342e\16\2322\225\33\342"
+"\316\0 \324\313\343\5\16:Et\2316\rE\210\207\323\22lT\334\34`hda\36\16\311"
+"\264\321TQ\327\255\243\362\236\226n\243\303E\336\320\376\344\333F\332h"
+"\234\233I4y\1t\32rB\362\355\35v\231\374\242r\1\0\206\211\270\315F\345\5"
+"N\353\3:\32\264\321\327\42\237\244\243#y\330\350L\270\241\231\33z\327\13"
+"\210&Z\3\33\305\35ndh\350X\21\337\216\2407\270\2215X\242\342\274QE\4\275"
+"\312\217\236w\242Dg\362\360A]\4\355\276\300\255|\211\212K\336I\3459\233"
+"\365o:+H_\230\331\257\330\1)e^\2238OKy\177Y\307\314\244\6f.\341\350yf^"
+"\23sZ\366Cu\2570/\203-\347\213\266w\7U\373G\201j\235V-k\241$\3419\243\26"
+"<S\266v\371O\305\350\333\250\221@\2[\321\25\277\223\317\377\246\222[\f"
+"$\3409\254\276\376\321,\0\200o\247z!\370Z\254\326\253\360\232\23iJT}\257"
+"\311\227\273B\375(\17\67\2777\16\n\0i\27\325\201\205\332J\242^`\372Wv3"
+"\n\334~T6N]\223J\2335\356\347\223\235\372\377o\272^z\213\212\347\24\216"
+"p\42z\373\270\352F\203\241,\352\2456u\334\230@\222e\205>\325[q\'\352\312"
+"\225+W\377\205~\1j\35\302\360&LD%\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\4&;\13u\5\364\0\0\5(IDATx\234\355\230]lTE\24\307\317\326\226\322j"
+"\77\260\37B[\267\26(j\253\266\265\225\202 b\305\232\220&*!h%\232hC4\366"
+"\301\4_T\300Hb\4\37\212\324\30\r\221\306\350\223\1\252\251\242\200\30\252"
+"\301\364+\266\24\24\1\3\24*\245\245\355\366\273\335\355\36\37\356\235\355"
+"\314\234\2713\354%\321\227\375\77\355\231\363\77\277\275;3\367\356\271"
+"\3\360_\253\360\233\321\251\226\347g\342\312\266\200\357`\201[\332\332"
+"\tDD\254a\361nDD\34\177\314\35-\341\32ZZm\323\355\260;\336\25\3565\273"
+"\34\353\254\370(\213\327\251\334Q&\334z\366\301\13\0\0i\253X\234\355\6"
+"\27W\312>\365\2\0\300\312PA\237\33\334\203\263\330\247F\0\0X\302Bl4T*\365"
+":\233\252\2414\0\08\306\342\357\334\320`\37+\337\2\0\0\36\237\35N\336\347"
+"\n\327a\227\327{\0\0 \227\321_tE\213\363[\325\277\330\273l\275M{\333\25"
+"\rJ\255\352\346$;~\337\212\77pG\203\315\210\210\330\221\306\342\37\20\21"
+"\261\326\343\22\367\31\42\342\331y\241\270\27\21\261\316-\r\232\21\261"
+"\313\33\n\275\210\210_\337\342\226\26\63\201xu\341L\\\201\210\r\263\234"
+"\375\6EU\365\365\335\317\305)\237L\377\344\356Ib+5_\214\213\22n\206\26"
+"\256\314\213\344\231\233\235\234\20\33\77\60\355\273\3325tS\270\250\342"
+"e%\305\363\271\251\367u\266\264\36\371\347\6\256R\301*\377\274\7\25\n6"
+"\277\3435WKJ}\353\242\212e)\360mYX\260\244m>g\30\42\42\36_\256,T\316\335"
+"\206\232t>\374\263\375\314\310hrVQI4\77\372U\265\362\361N\224^\317_F\357"
+"\326\34\226H\253\276\302gz\236\276\21\332\342.~\336\77M\344sq;\203|r\247"
+"\371\356\255\34\347\n\374\344\241[1\301_\340\341d\3\355\r\341\353\237\243"
+"\206\262\0\317k\237G\35\234\266\b\313\267Ce\251\26,\247\323T\36[\233\5"
+"k\207\372QtH4%)M\0\0\345\302\17\301\225jW\316\270\340jpZ\217\234~\301\367"
+"\275\323\267~,\330\360=\265+\272I\264-Q\333\0\262\'\5_P\335\352m\25imN"
+"4\200\375\242\363\222j\372\356\231\20MU\316\270\247D\'\356Qx\16\213\226"
+"\200f\7DKO\256@!\261<!}\343Qg\32\327\b\331\372\2218\232%\307\233:\334\263"
+"\222\31WH\206\307e\303R\35\356\366\240\344\2267U\203\224\37\215\321\341"
+"\240S\262\7\363\254q\273\231\315Y+\373\375Z\334\t)\366T\t\270J\271G>\251"
+"\245\1\331\224\33cx\334\69}Z\217\353\224\7R\3138\334\202{\345\364\5=\356"
+"\24\31\251\340p\345${I\217\353\357\227G\236\344p\217\206\213\203.y 3w\6"
+"\267\214\330\257\207\213\203\345!\\f\272\234\33\2366\340\272\311HQ\b\367"
+"\0\311\221\251\221E\257\276 \204\233Or\306\316k\200\214,\b\341rH\316(\212"
+"\313\210e\270T\222\33\63\341\250\301\223\302p)$\247\277c\325\n\341\\4\343"
+"\303t(\236\341\350\337\263\261\77\17\322\241\30\206\243\233\314xD\240\320"
+"\24\253\33!\251\331\246Z\305\177\341\30\303\321U75Z*]g\270^\222\232c\252"
+"\275\225\214\4\373\31\356\42\311E;\367E\226h\276{\222\341\316Q{\206\1G"
+"g\343\34\60\34}\266\202\351M\204\366\b\355!\334\5:yw\32pYd\2445\204\203"
+"_I27l\334\361\31\334\21\222\314\'#\242\310\201\326yn=\357\222[\n\244\213"
+"-^\34)\330\305\247\233HZ\327\221\3\224\21\277\325\253\3327g\35)xX\213+"
+"\222\7\376\372\215\307}In[\372\347\246\315\326\212\341n\371\342[u\264\250"
+"^\311=(mk\357\244\314\323m\344R\331\274]v\324\310\216W5\270\35\222\367"
+"\32\271\205S\372$\213\334\302q\362\234\227\274/S\317\13\362\345\3459\342"
+"VK\316F\325;{\275dR\275-X: \32\207\26\252L\251\322\331\304\330\35\16\264"
+"B\251\321V\274\365\2\0\224\214\212\266\17\35p\322\13\315.\7\33\254\23_"
+"@\247\324\247\257\233D\332~\347\3\201\215\42\257%N\341\311\27\217X\16\351"
+"\216\363\236\21w\363\27t\311\262\316\n\216\203\261\32\32\300#\342\355S"
+"\'\277\255,\372[\310\177d:\372\360\236\20\374M\213\370d\324+\303|r\344"
+"%\3\f\0b\266O\361%\376\275\213\331/N\334tR\370\252\266\273I\261j\77\347"
+"\357Y%\304W\232\316\f\214$g\24\24\13+3\270\2556`\2768\0\0(\227_G\211Fk"
+"H{\256\323\232\3\1\r\354\362\273\372g\277B\351\325\307\374j\326\3365\216"
+"\375\232\366\3543q\305\322\207\3622\271\201\341S\35\277\377\374\207\246"
+"\302|2\33\237=w\316\354\333&\307\374\203=\227\25-lD\21E\24QD\21\375\257"
+"\372\27\366:\272\314~\226+\362\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0\0\252\215#2\0"
+"\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\'"
+"\21\311\325\375c\0\0\3\305IDATx\234\355\226[LTW\24\206\377\31\34\20\254"
+"\240R\250\200A\37\304[k\275\213\230ZQ\243\241I\2755\206\7o\215}1F\2541"
+"&&5\321\227\2764\365I\242\211F\23\65\255/\246\32j\204\3306\365\22\332("
+"bi\2121\321x\213\200\2400\212\203P\34\25W\37\316\3363k\255s\3063}\325Y"
+"O\373\337\377\372\366\331\373\354}\326\331@*R\221\212T\274\33\61\365t\337"
+"\213\253k\343z]\323\253H\315\224d\310\212\347DD\264\327\352j\42\42\352"
+"_\344O\16\355$\'\26\232\221\214l\317\362E\253L*\35s\364\357V/\213\347\4"
+"\275\321J\333(\6\0\344\225[=\332\17\315,\265\255.\0\300\374XZ\330\17\235"
+"\236n[\365\0\2009VR\275\367,\343\361\265]ZO\36\0\340\274\325u~$\216\332"
+"\324\35\0\200@\304\310\350G\276h\263I\3759\0\0(\261#m\360%3_:\231\177\230"
+"]\2544\344._\22\245Nfc\216\321\3379\372{\177\22\233\210\210\2509\317\352"
+"_\210\210h\177 \t\364\20\21\321\255\202\230\356\42\42:\226\f\211F\42j-"
+"\216\311b\42\242\237\322\222!C\317\211\36\216\215\353\25DT\233\2368\237"
+"Epc8<\231\351\334\3\3\347\374\277\30\23\357\177(\365\264\241\311\222oi"
+"$\336\347\214\202\334\214\254g\221\366\236\377\205\16./+\233Xh\252@\327"
+"\265\206\363\27_$5\217\340\322\23\275\244\42rd\236\77\230\276\365\256\346"
+"\234\370k\271\17Yy\317\33$\42\272\370\361\33\300\17N\362\324\3075\325\373"
+"~\355c\35\321o\22\224^`f\33\313\353\374*\4\09;9\\\227\343M\256\370\227"
+"%]/\262\335\223\370\32\232\13<\311(K\351\32\25\67\306\206\231q#\317M\316"
+"\345$\255\346\326\32\3564\270>\277\242\16\3567\211\223\22\270\316\275\343"
+"\32\255\23\373\360\2454\267\ts\2754\327\n\263w\210tK\204\33\26\313\315"
+"h\21\346\31=\2476a\357\343V\225\260h\273F\305Q\241\250\363\372\235\363"
+"Q%3\33\65\372\217P\351[\342\355O\344Ci\230F+\245\377hP\354\251_\310\304"
+"\360S\215\336\2262\277<\206.\226\316}M\242E\351\n\213\16SU\367\221\13\r"
+"\277\224z\236E\'\251*\323\355B\371\355\3\0&\247\31\264D\345y\24\262\210"
+"\224\231E\6\315Uy\375n\264O\351\2\203\352\37\212G\371\323\243\2150hR\177"
+"Nw\4\1\364z\364\251\320\243\77\63i\372\215z\374\21\337S\272\333\240\367"
+"T\277\307oX\243-\6\275\251\372\263\335\350\b)\333\354\204[;\244\341\256"
+"zY\252\2106\301\2408\'\215B\27:Z\351\337bh\2554F\r\326\250:o\316\5\65\b"
+"\0\65\362\350\5\307kt\252\224\365wch\377\217\322\232\241\321YR\36d\355"
+"bQ\277\351\250\42C\21a\337\20\7\244Zx\355\352<-\226\365e\2250\263[\205"
+"\271@\242\77\b\363\264\232S\305\0wO\t\257P,\247\323\265w\273\271=0\223"
+"[\207\271\25\375T\223\b\34\341\t\177\263\255\375\35453^\255q\221@\232X"
+"\321\251\f\333\77\343)\'\327{\220@\340[>\374\345\351\0\200\320f~!x\262"
+"\204\347sx\345\201|\246\32.\264\207\306}\316_\312\245uw<\37\n\0\371\307"
+"\371\203UtoKx\201qVv6\1\334\263G\27NwL\250\356pq\257\33\67\273\277\177"
+"\257\353e\260l\311\354\322\341V\321\255+\177\326\266z\244%\274\324\346"
+"\216\31\231\225\35\215\206\37\334\217\372N4\25\251HE*\336\212\370\17\22"
+"\27\254W\247X\344\32\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0^\0\0\0p\b\0\0\0\0\262\37\230\364\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\4\231IDATx\332\355\231kl\24U\24\307\377\235\356\266\335\246\273\333"
+"\241k\215\215biK$\351\203\26+\324\206\212\32Jy\31\22,\221\22jc\202\17\60"
+"M4!\301\230\222`LC\242\361\213\201\22TLLD\276\360\212\226\4D\305P\264\30"
+"@\303+\301\246\224VI\3\26\327\255}.\335\345\372\241\303\354}\315tfv\211"
+"_\346\377i\346\236{~\275{\357\231{\317=\5\\\271r\345\312\225+W\256\214"
+"\224fh\361.\250..*\362\7}Y\16\321{\266\0\36\271i\366K+\27\371\222\34y\6"
+"\344xo\323k\265i\311O\214O\212\317|u\353\343)\233{\1\277\264cn\212\320"
+"^\21\37\334\323D\275\221\356\243\27zF\246\2%\265\315er\304\205O\177\376"
+"3\222\233;\247\374\231\206\34\336\226-\364\256\350!\224\216W&\2\354\345"
+"\21\42\321{Jb!\327\237\341\214\235<}\335\30e\215\275\311,o\315\230H\377"
+"\232u_~\225\261\236\340\350-1\232\336\310Y[E\374\13|(~\30\247\254]\254"
+"q\363=\332\365\35!\b\372\5\374\34av\33\'\215\360M\f\375\264\30\370;\4|"
+"P\\\353\372\250n\355\246\333\253\230\271\215W\210\236\213\4\274,\2266\351"
+"\326KTk\240\217q<*q\314\212Y\301\343\200\f\377\5\353X\'s\274a\t\377\320"
+"\260f\275J\305\24\353\327/\335r\316Z\302c\233f\35H\3543\275\254\337\7R"
+"\277\343\326\360\331\267\22\370\351M\241\265\230\355\361\255\324/f\272"
+"\305l\310\1p0\f\214\357z\37\0\240\177\321\201;\354\250&\344[}\247\331\350"
+"\323\243\204\20R\16\0\241qB\b!\221\373\177\342\365<\226sy\302\376\376X"
+"\222\241\77\3369\250\77*\0<oq]\177u\260\375>M=\357\323\317Y\5\300\232\2"
+"\256\353E\7\370z\352\271\353\17\0\bh\370W\370\256}\366\351\331\253\251"
+"\227{\207\250\311\311[\306\367\355\265\217_\27\240\337\216P\370\325^\276"
+"\357M\373g*\273\301v\17\3@\20\360\0+\370\276\221\250m|\353<\366\13)\315"
+"\4\60\2\0\30\342\303\371\232\1\3038\356\347Oh-\345\234\213\202\222\20\217"
+"\371\333\356\330\347u\32er\n\252\205\266Q\233\364Ug\36\205!\276,I\374\202"
+"\303\235y&iT\261\3206i\225\\=\253`\376\3222\363,m\266\320\26\267\212\77"
+"\67c\17\5\241\244\347\336\24\37x\220\327\7\5\276\7\213OB\177\215\316\214"
+"\37\26\63|\253\370\207\375\263\236\333y\303\34\37\21\23\32\353\343\377"
+"\347\307w\3476\3372\303\337\226\346\375\326\25\377\262\342\224\t\276\37"
+"\63\347\375\346\32Z\361\2031\376\367\244\361\210\256\3553\304_\22\332r"
+"m\207\320\360&C\3749!\331R\355\207\350\251o\f#G\30~\310\301\'\360\21\367"
+"~%\34\16\207\213\240\0\'\371\2569~\373\370\323\354\354\227\226\252\252"
+"\252NA\1\304\337\365\210}<w\17\\\t\0\370\27\n\360\323 \337\267\310\301"
+"\354|\317\274\275\b\0\30\207\2\304\17\b\371\242\3\374y\372\245p!\0\304"
+"\247\240\0\330\313\307N\251\3\374 \275wmL\243\317\215c\\\202q\326n\42\2"
+"\0AUU\325\364\351#p\200\20B\310\375l\254\216s\233\310t\200\247g~\332\334"
+"\253\355\367]\334m$\253&\271\nW\33\264\225\325\216\223m\334\351\335 u\263"
+"zl6i\245\216\21\275e7\373\253{\244n\27\255MN\340\246f\376No\362\17\260"
+"\216\13e~\267\255\341\77\227T\\\226\260W\356\375\22\67\277\245K\77Z\244"
+"\2206\3061V)\372-\261\204\177>Q\233\370\214^\356\375\214\347\371\f\301"
+"\261]\300K\342\367\251H\302\274\213\251\365\234d\\\77\341\357\375\236\1"
+"\1_ &\313\243\224y\'[wd\77\233\2179\376\26\261\32U\317\217\240\235Y\301"
+"6\256V\365\25[j\313\247\215\265\222Z\332n\326\377\331\337X\363V\376s{\373"
+".m\36j\325\17u\317\33\243\222B\340\344b\352\330[.T46\13sWs\235\351\20\336"
+"\267\376\t\177z\376\342\35\327\211T\321\216\206\307\262\221\221_\331\262"
+"wP\2646K\n\277\333\307I\252\324(-~w\214\245\b\277J\376U\207\266\367\246"
+"\4_g\270\351U\265\377r7i|\265\331\177\37|OV\25\27\26\372Uo\216\323}\277"
+"\374\n\\\271r\345\312\225+W\256\3767\375\7E\243\305\267h\306[o\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0U\0\0\0p\b\0\0\0\0J\377"
+"c\3\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\4IDATx\332\355W[lMi\24^\316"
+"\251j\317iZm\332\323\26u;A\\J\6\63\64H*Hu\22\342ED\bq}\302\203x\20L\306"
+"L\6\17\63.A\37H\343\26\24\21\17\255\21\tM\324\265\204\242DBu2\364\246\247"
+"z\241=m\247\2675\17\347\262\327Z\373\337\347\362\340\311\377=\355\265\276"
+"\177}{\377{\355\365\257\265\1\64\64\64\64\64\64\64\64\64\64\64\64\64\64"
+"\276\5\6Y2\211\303\35\311_\273\353\232-\350\370\321\216\304\236.O\375@"
+"\304\252\366y\271s\263]\276\353/\317\37\\\177\214\234\237\270t\316\314"
+"L\337eO\365\243{%\315\21<~v\201\79>\354J3\350\270\215/\4\335\363w^8\315"
+"\331\267P\201\366\77\206\372h\333\372\17*\376\351\274P\232Y\327\6P\215"
+"\206\225\0\0\343\356[\320\3\205\16K\321\265mT\247\350\320\231*b\227\270"
+"`\255\227\350T\234<\\\334a\330\257\334j\315!\205D\243i\215\35\0 \217\350"
+"~\272D\370\322i\0\0\311\5\206\247~\262J4\351.\t\252\t\3349\241T\271\343"
+"}\201\217\347\0\271\353\b\263h\362S\232\326\31A\177\302k\205\350Q\343+"
+",7\274\225\246w\353(\247Q\177\322\257\302\234\300\27\203\r:Oy3\1775\234"
+"\247Q\235\251\224\273mR]@#kH\6\347p\325\r,\3524\343\326I\321\nF\323\34"
+"\77d\265\232\365\205\205-fa\231Ru\'\2437S\212U\331Y\26\325\25\3077\362"
+"^\250\34606\227R\305\204\230\320\307\242\312\304K\277\42\352\310\311\330"
+"\361\224\353\317\0\0\260\1\0\300V;[W!T+\271\351\3612\263\205\32\266%A\325"
+"!+y\330\33\241Z\305\315O\334\354eV~P57%\244\nTs\263]\234\337\314\312\t"
+"\252\316\27*u\302\376\30Ru\26\2632\262\0 &\250O\320(\354\246\276\30j\246"
+",\244\226{7_\354\256\361_4\360\34\367\233\316\210\6\214\34k\374o\300\221"
+"\21r\207\0\320\26E\177u\371UE\256\300kZ\331\21\205j\234_\325)\374}\246"
+"\225\335Q\250:\3\331\212\22\35\236Pl\213_\265=\354\214\20\313\254\342U"
+"\341\356k\3\200V9\265\230V9\302\360*\325\256\332P\32\0\0I\274\27E\244\n"
+"o\271op\234\\\305Z\3\244E\246Z.\234\351\362Qy\251\217\32\24\221\352m\341"
+"\34&\'\32\61\67\214\261\20\213M\240\252\17\305P7V\254\226S\311\217\26\252"
+"\333\352\n\262\211y\224\227\362\357b\365NQ\352\205j\321\2646D\2747=hO\341"
+"-\277D,/\22\252\255\361J\325S\210\210\275#\r\307U\26\365\331\306\227\377"
+"#\317\245\355*\321e\210\210x\221x&\365\260\250\31<\347\246\323\2565\323"
+",\352nBD\354\35G}\373X\324~\236\4\363!Zj:\77\222*\21\21\361\bo>l,\257g"
+"\205_\2418\233/\330E\246\236 \42b\255\250f7\35\210q\263\351}I\334`u;\365"
+"\255\257\213,\220[\310\365\322\231\330(\257\224\217\26#\375\352\340\343"
+"&\356\375\317\347\333c~\335\213;ILy\340(O(\263\354PU\277\346\304\203-}"
+"\311\361\300\220vVU\312\77\65\222\220gS\0\0`\346K2\t)\376D\274\304WdW~"
+"\306#\357\320N{k\357\226\337\312H\220\347\347\274\306P\315\365/\233\325"
+"Y\263\243\3152\350r&@\3729\253\37\'l^\36\342\fK=\326\245\fz\262\310\77"
+"\360\334T\322\375\247\\a\372\371/\357dL_I\276\221\207\351\'L\373\35189"
+"1\202&\372\303\356\33-\306\77\322\325M\242>c\27\36\274\37\374\f\7\252N"
+"\257pF\374\'\237\352v\305\17\375\332]\373\357g%\35\63lTF\254\263\265\263"
+"\266:\232\tDCCCCC\343\373\301\377\t\7[RD\24yk\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0M\0\0\0p\b\0\0\0\0~\206\242\37\0\0\0\2bK"
+"GD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7"
+"tIME\7\322\5\6\4\'$\237f9@\0\0\4.IDATx\234\355\231kh\24W\24\307\377\233"
+"]BLl&\33c\3256\215\306\322\372\250i\265\320&X\245\224\206\372(jK(\5\13"
+"-\205Z\tB\225\322J\301\26\24b\363\245\24\241\220B\305\17\n\n\355\'\255"
+"\264\370H\242\246\30\224\24i\3\32u\327\307\326<\2541\346\355&1\311\351"
+"\207\314f\367\236\273\2633w\217\237\312\236/\263\367\334\377\375\315\231"
+";\367\334\307\254\37f\26(\312\211\32\66q\264\262c#D]\337\27>\26XU\224\210"
+"\210\350V\311c\200m\34\'\333\316\310a\345\3034m\317Ia\305\377\306a\264"
+"V\b\313\275\224\0\2432\31\314\367s\42\254\315\'\243}\235\b\33]%\203m\232"
+"L\200\335\257\224\301\312\6\342\254\311\203O\312`E\2418\354\322J\31\13"
+"\201\206iVwu\226\20\206\37b\254\211\272\42)\13[b\260\346\25b\26V\217N\261"
+":\77\24\16\62\0(\271GDDc\337\345\313Y\310\375\213\210\210\352\227zR\273"
+"E_\361:\0\\9.\215\352\377f>\240\366+\257\342^\364\16>\350\350\n_o}\220"
+"\\\20\60\271u\20\301\251\37\24\372\343\367\223\303I5\265\224\226\365\327"
+"\225j\250\364\2238\277\372j\r\1772\311\224\220\275\253i\236\352\231\32"
+"\275Y\326\314\247\227V\255\327\364t\340\227\313}\17\1\4\202s\26\227\277"
+"\275D\23\334\254\274\345t\257/\265\276\331\243\nV\236\325\24\67f;\321\362"
+"4\355\\\246\360}1\301%\347\375N\270>\246\274\257K\266iw\374\334\211v\207"
+"\t\257%\321\34\345\264\241\204\371Xy\247\223\254\345h\22\332N.\312\333"
+"\356\20[\204\335\2665\231\3504\17\2563\36\221\371x\373\225;\346U\bh\27"
+"\65\317k\2Z\233\346Y.\240\rjsG<\275\322\310\323~\356\260$\264q\347\252"
+"4h\271\334\321#\241i\313tX@\233\235\315=\177\nh\332\252O\247\5\264\325"
+"\334q\376\216\200V\305\35\373\34\204^\262\276\222\'}\213\323V\306\3\315"
+"jc\232\321\227\234\36\302\235\226\337\300$\364\251\23\314\235\266&\304"
+"a{\222q\274\320\26mo\341\254\361\35* \345>\304zo\352\32\234Y\360\314\202"
+"e\372~\374\366\307gS\264\346\261\245\266\201\232\274T\241\30\321Zv\24\350"
+"\0\243\35W\314\302\315\347N\265\273\252<\305\26\336<\313\21\240\f\344\b"
+"\373\226\20\275\2\0(\230\253t\320\243\243\373\232\275<\201\343\b)\371\340"
+"\270\262\1\251_\236\n\343F\3\360\262\222R\217\264\215\240\31\r\226:v\33"
+"]OJ\251sa\376\200Ry!\t\316`~\213\324)\305\362C.\247*\227\254_\301\252\267"
+"\212h\376\250Z\335\23\344\0\223\231|\42\244\226\13\267Ih\350`\345j\321"
+"y\341.+\77\365\206\204\326\303\35\33$\264.\356xSB\353\346\216%\226Z6\242"
+"ur\207\217e\277\350-$nR\315iZ\277\341E\265h4\223\367\214\3440\317\364B"
+"_Z\b\340\37\245\316uu\16\63\1=\214e\376a\42\42\303\17`\332\3222\243\330"
+"\376a\1\300\240\31-\242y\26\332\3279\0\60fF\273\255y\236\265\257\245\0"
+"\320nF\13k\236\27l\330,\0\270\251\320\34\217\3011\373[\363\330Cd\35\0t"
+"\250\343\261\237\275\261\33\274mV\267\366R\203\0\340o%\42:\250h\13\270"
+"T\177G\77q\t\35\313\6\260\227\210\210\336Q\244\337j\322jN{E\223\320\265"
+"\335;\33\211\210(\22\200\17\230\221\203,+\277x\331\273\257\352\35\325\360"
+"[[\347P\37\1#\366\377\'\'\326\350\42\333>9\0x\374\216Tk7Y\34uR4\371\315"
+"\317\13W\77s\250h\337<\221\306\351c\3777\311ak\333\221\316Y\246\346\243"
+"A\335\331Xq\31\0\2@\264\327\3#\341O\254CM{\337W\307yx\367\21\62\216*n\13"
+"v5\217\305z\77\364\343[\323\17\230\366\327\352\354\347K\254\'\206\206;"
+"\302}\202\2502\226\261\214e,c\31\363n\377\1\275\77\3622\222\21\67F\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\61\0\0\0p\b\0\0\0"
+"\0\222\363\307\t\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13"
+"\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4(\22\327D\260\26\0\0\2\212ID"
+"ATx\234\355\227Kh\23A\34\306\277\315\346e\b\265\tQb\211\241\242\202\210"
+"\21\5Q\361y\260\7\365\240\240\bBA\360 R\205b\17\5\17\202Bi\305\7\346 x"
+"\362`O\42\b\42\nzPT|\201h\221\266TE\255\350!1i\212i\251\251I\263\371{H"
+"\262;\223\354c\366T\221\375N\233\371\276\337\314d\377;\263\263\200#G\216"
+"\346S\262u\304\35\361\317\332\3512q\367\17Q\372JX\3088KDD\364-.\b\354+"
+"SMO\304\200M\277I\325J\21 \226\321\0\332-\0\4\206\30\200\22\326\200t\213"
+"\5>H\326\304\31\26(n\263\6\366W\30 \327a\r$\246\265|ep\2615\20\371\254"
+"\1C[\254\363p\77V\363\23].\1\0W\353y\345ZD$\217cu\340\325z\241<\266\27"
+"\253\371\324\21\201\42\0@<KDD\245\313-by\4\336\23\21\321\243\325\372\266"
+"\316\260\233w\2\300\330=\301\1\34\31K\244\250\276\366p`\362\373/\321.\227"
+"\367\275-U\227m\377\322\372\30\33\332|\236 B\bz|\1\327B\264\310\376\5\262"
+"\264\256\232\217_<\244=\353\305\13}e\0\300sjV\276\232\351\234\346\233\37"
+"\6,\210sM\355\267\315\211\323:\306a3\342@m3)\3171\306\30$\2403\6\177t+"
+"\277\345M\265\42\66\34\2\200|\362\323M\266\4\332\242<\3338\306\35\42\42"
+"\272\277\b\3578\347\204J\270S<\261\213\210\210\256\313X\313\317w@\275\333"
+"\345\27|\345\6\0\340\301q\5\253\370vI\253\317\17\316\350\330\b`\342\250"
+"\2\270y\42\255\21\223\234\321\r\0\275\31\0\31\236x\251]\236bg;\247\20\321"
+"\260\13\0\202\5\326\30\5\363\324\260=\271]\0\316W\0`\346\6k\3642\327]\215"
+"U\314z\253Fx\234\271S0#\222ug\331H\255\245\320\3Sb\207jyO\276.\221\362"
+"\361R;L\211\34w\0\221C\276\372_\204\221\236)\354/E]\264\306o\223\247\6"
+"\355\306\304\33\273\2042b\227\370Z\260K|12\f\211q\333D\3126\221\265M\344"
+"l\23e\333\304\214mB12\204N)\3779\321\360\225\340\261&\242\274\261\304\222"
+"\220\366\360\306^\363\271\1+\6\33\266\222J\177T\77)\1\3115\336\3266\275"
+"\363c\372g^\1zF\233\f\275\367 \243\306\343\367\277YAG\216\349\232\37\375"
+"\5\255t\206\3262Y*w\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0M\0\0\0p\b\0\0\0\0~\206\242\37\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpH"
+"Ys\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4(#\206\232"
+"\260,\0\0\4\\IDATx\234\355\231ohUe\34\307\277\367O\3035\267\263\353\24"
+"\347\262\265)\224\377H\13R)\42\42I-\214\206\204\240/B\220j\319\312$\220"
+"@a\266W\221\20,0D\32\24\30\21\2268\252\351\260\245\243\230\20\215l\263"
+"]\227\267\335m\206\335\355\356\217\273\352v\375\365\342\234\373\347\371"
+"=\347\334s\236\363\274*\356\357\315\271\317\367\371\376>\3479\347<\317"
+"s\236\347\\\340\77\26\341\36\42\42:q\217T\363\332,\21\321d\235\22nu\212"
+"\210\210\316FD9\370\1\21\21\321\36\305\326\3557\323~\253\317\27\313\276"
+"2\325\366\200\42-t\301L\34]\237\323j.\231\332X\215\42\fX>m\246\3164d\224"
+"\265C\246B\273\224a\300\353Vn\372m\263\274u\322\22\276\364\1C\240\303\312"
+"\246\326\20\2007\346\254\322\337\213\374\320P\233\314\340\332\313C\37e"
+"~S\203{\246m\354\316\22~9\223\375\331\346\23\6\234&)\342\21\3674\207\250"
+"Np\330\335-\276a\300\16N;\246\1\3N\212\260\301r-Z\325h>,\375\224\26\fx"
+"!\237\366\241&\f8\221\203\365\227\272\272\303.\365M\327\263\23\306\311"
+"\224n\323\376G\21\0Z\336\365j\36\307\370\324\330\360h\364\217\3361{\203"
+"\333S\20\42\2k\230\322\300\217\355\337\335\264\365\264\310\203\333KL\264"
+"\326K\250\240J\333\204\250h\354o\346W\346\237\6\224\34\354Z\42*f\337\f"
+"\32\363\357[\265\3759\311O\307\277\270\234\234\1\20\216,^\261\341\371\225"
+"\222ap\323\237N\347zG\2727\207E\303\343\347%\307U\307\327D\231\344\255"
+"f\216\300\3764\267\\\f9\341\222\314\371\217l\331+\235\361-\'\332\20\63"
+"^\261\361\234\342\264\351\205\271J\341\231\336e\231\267mh\7\270\251l\237"
+"C\333b\354\264\275v\246\16\336\270\221\\\213\324\373\3337\\X\262Q\203\366"
+"\263\244<\241A\353\223\224u\32\264)i\356\310\r/\37\343t\202\13\206\16m"
+"\316\271\312\7\355^.$th\25\\\210j\320\26\225p\345\222\6m\25\27\250C\203"
+"\366$\27.\16i\320\266s\341\250\203\321\313\250\337\304\7}\217\323\316\306"
+"\3\315\350c\236\333k\235.\302\235Vq\2167\355\25\'\230;m\363\0\207\35\266"
+"\343x\241=\264\257\207\263\346\232D@\301u\210\361\222y\214\314\257\274"
+"\277n\315B\251\376\332\356\363\5\262y\333\n\307dsY\241\246(\321z\232*e"
+"\200\322\212+\23\321\356\37\276\217\273\272<\265-\272\263\312\21 t\344"
+"X\255X\231\372\35\0PY-\334\240\331SG\273\275\\\201c\17\251\335uZX\200\234"
+"]W\b\343F\3\360\2500\244f\245\205\240\32\r\206\330w;\245)X\211\206\7&\205"
+"\312\237lp\n\363[\254U(nhs\371\310\3422\352\37a\325\257j\321B)\261:!m\362"
+"Uf\362\364\200X^\260W\207\206aVn\324\332/\\g\345\232\247uh\t.l\323\241"
+"\215r\341\31\35\332\r.\2544\304\262\22m\204\13\1\66\372\265\236B\376\42"
+"U\235&\3357<,\26\225f\362\304\255yL\311\276\350\353\27\0\370K\250s};G\231"
+"\201f2#\3773\42\242F\2655\222\364j)]j\3750\0`J\215\26\223\224e\326q1\0"
+"\334Q\243]\223\224\345\326\261\36\0\342j\264\250\244\254\266`U\0\60(\320"
+"\34\267\301\231\370UR\254.\262\25\0\206\305\3768\301\236\330U\236\33\274"
+"!=\324\b\0\204z\211\210>\25\274\225\334*\77\243c\334B_\227\08BDD/\n\326"
+"\367%k#\247=&Y\350\312\241\3\235DD\24\13#\0\224\316C\320\250X\272\246a"
+"=\317\5\316\235\351\33\231N\22p\313\372\224\367\355f\331d\305\236\343\200"
+"\307\357H-V\312\212\224\223\243+\244\276_\350\177\323\241\42\2763\355c"
+"\367\361\311{\366\260-q\370\331\3134\277<%\213\235\33/\3@\30H\215{`\344"
+"}Om\353:\262C\354\347\321C\237\223r\253rQw\260\373N\346\356\17|\374l\366"
+"\2U\377\376\311F\311\203\265F\371\364\315\341hR\243U\305(F1\212Q\214bx"
+"\217\177\1\0\222B\220t\42\230o\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0\61\0\0\0p\b\0\0\0\0\222\363\307\t\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\4(7\234@dQ\0\0\2\256IDATx\234\355\226Kh\23Q\30\205\317d\362hc\252"
+"M\265\20C-)u!\370\6\351F\321\205.\254\13\241\202(dU\20\324*\322\242\5w"
+"\n\245\25\25\311Bp!B\325\215\24\212.\324*\350B\261\42hEh\203V\320\200\17"
+"\232\2466\32CH\261\311\344w1\223\311\275\363Jf\243\213\316Y\375s\316\375"
+"\346\276\'\1\349r\344\310T\3567DD4\354\321%\307\nDD\331\210.X\277@DDO\203"
+"\274\355\272BDDt\304\240\2273r\24oc\315ewewL0 \304q9LvT\274\360\204\354"
+"\375\f\33N\245=\'\307\371\256\262\263\371\233\354P\324\20\0z\224\\:-\77"
+"wf\25c\324\4\200\360DiA\327D\0\'\213\312S\252\331\214@k\246\214\2145\210"
+"W\3135u\231\2@\267\332\352\335C\265\274m\1\0\367I\247\357AK\42\224\326"
+"\2\245\275\226\0pHK\\\257\2\0#<\220h\250J\254L\262\200\264\253*\0\354g"
+"\211X\r\0\60\\\1\246\353u\251\333\200\350\235U\17\352\310BM},\r\31]_\255"
+"|\221&\177\372\313\257Z_\331>0\261HDD\37\6\327\224\373\330\26\366y\2\b"
+"\42\340\361\371]+\260\\\254\253\27\205-r\373\326K\7]*\374\347\342@\21\0"
+"\360B\177%(#\267\211fy\373\261\277\nq^\347\217Z\23g\r\202\303V\304\201"
+"\222\\\27\13L\360\36\2\20mA]h\373Fn\205~7\242e2\b\0\231\330\307;\354\26"
+"lU\253s\332>\356\21\21\321\203f\274\345\222\36\225p\317\360\304n\42\42"
+"\272!b\23\77\336!u\265\213\343\374\316\r\1\300\243\243\22\326\361\276P"
+"\331\237\257\\\260\247\3\300\217nIw\347\222\25\42\315\5\247\0\240\77\5"
+" \305\23/+e/;\332\202DD\223.\0\b\344\331 \16\346\324\260or\273\0\\(\1@"
+"\356&\33\3643\365q\355.\316y\345\240)\301\254\24\254\b\365S\3256\2458\371"
+">X\22;\325\310{\342\325\42I\323\227#\260$\346E6\25\203\276\362\24a\246"
+"\347\22\373$\251\227\326\245o\252\350\231\211oN\274\266KHSv\211\317y\273"
+"\304\'\263\300\224H\330&fl\23s\266\211y\333D\3216\221\263MHf\201\371)Y"
+":\204\310\7\372\177\343:\42\304\7\253\253\22B\'\37\354\263\36\33\260\366"
+"\226\346SR\32\f\31\267\24\200\330\6ocx\225A\226\234\315H@_\\\27\30\375"
+"\16\62\332a6\217\232\365/\bG\216\349\372\77\372\13\7\0\327%\366d\354z\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0p\b\0\0"
+"\0\0\214:\367\272\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13"
+"\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4)\26\3112EN\0\0\4\376IDATx\234"
+"\355\230}P\25U\24\300\317\343=\20P^\346\200\r\37Y\331sd\4JPB\b2\77&\33"
+"M\211\t\232\222\231jJ*&g\310\234Lg\312I\255\34\224I\22e4\77ft\246f\354"
+"\303\3111\377p*l\n\320L>\3121\306hx\222\200\360\200\370\220\257\7\17N\177"
+"\354\356\335\273\273\367\336\335}\177s\376yw\3179\277sv\337\275\367\354"
+"\271\353\4\353\342\212\16\37\265\341\256\223\224sc\210w>\235\23$\376\334"
+"(\42\42\242w^P\370\206\0\312r)\30<c\30\211,\260\217\'t\2518>m\33\217\254"
+"\247pL\261\213;\316\320x\223\303.\377>\215\373\263\355\342\271S\24\336"
+"\263\332.\2362\250\322S\247\346\332\305\243\233U\274>\313.\r\256\237\b"
+"\335]\34b\33\207\n\205\236\254\214\266OC\221\202\327\246\6AC\216_\242;"
+"^\262=\351\0\0\363|\210\2108^\346\16\206\206\310FDD\374q\221\300Gt_\313"
+"\226\3\0\374u>\250\344\26\205\233\77\374\376\370\30W\324\320\204\317wK"
+"T\364\230\374\374\265YK<d\261L\265\\\273\364\203W\265\256(\6\200\267\272"
+"y\21c\266\374\201\6\231\272R<S\266o\364\213\212@\354\201\21#\215\210\210"
+"\377\355v\3\0\274+\355\306\307\231\264\263d\220C#\42v\277\21\342<(\217"
+"\327\260\236\77\366L\16\31\267\375\336\3343\340\236\365pJ\262Su\250\351"
+"\335 \217\n\2761fO\355P2\365~\234D\264\356\27\317M\32\357\345\25#\236\336"
+"\'\333\2\245\263\264\26\317\tC\204\315\6\334\343\223M\3\214\22\225\326"
+"\250\343w\350=f(\36~f\221\t;\250\345\367\352\35J\25\313;,\34\0\66\5h\376"
+"\220\316\272`B6\264\2728<\344\373)\376\224\316\370\245b\330\311\303\1\n"
+"\251B\376\255\326\24\247\244\307\34\66\13\0\0;T\376\242\326\362\36\61\304"
+"\nx\307W\304\255Vk\251%\206\30\1\17n\257\342\366\247V\257\376\267I\34T"
+"\222le!\265\312\ni\227\77\252\256\361eB\276\372sy\20\245QoR\377\30\223"
+"\366dv\247\3446\256\311\37\257:<\271^\310\367\177(\375\206\206\323\332"
+"\375\324\312\360%\13\3\270\232$\267h:\177$\345\20\363\3633\42>\260G\372"
+"\325l\321\275\250\221\263\351\202\0\316\233\210H\n\240\224\277_\353\222"
+"w\365\332\26\17\217\237,\3\0\200{h]>\32\245\355\353m\253\356e\5\210\350"
+"F$]\234T\377\26\335\340$\3636\\\251\251\363\353\224+=\0p\261\225\342\35"
+">As\340\257\253\371\265\272\217o\7\240\266/G&\353\77\311\22u/\353LxD\304"
+"\216\3172\270\274\253\305B\0\304\206\327\3039\1\336\264\304#\266\225\204"
+"\261o\200\361\322dK\363\32f\200\214\tsT\226\2433Y\1\266Z\346\261!\201\301"
+";\216[\17p\233\265\272\235f\213\200\22/\253\314:\312\254\7\370\305\311"
+"\b\0/\fX\16\260\2359\13\17}o\225\277\33\307\f\0y\327-\6\330\317\346!\344"
+"\371Zs\30\21\373\428\1\0R\313\333-\4x\226\313\3\204d\356\252\361\233\360"
+"\307\0\224\372Q\264\24\0v\267kc\314X\234\236\232\226\24\312\315qC-\364"
+"_ \42~\300r\nK+:\\3\304\314\37\b\325\362^n\201q&\277z\322k\f0\2378\34C"
+"D\304\\\301\37\2\220T\332\253\343\325F\253\22\21\21\253\205<\200{\237\246"
+"\205\302U:\36M\217\266\3535s\262\26\224\367\317]\311\374\221\31\177\276"
+"\204\276\32$\374\224\244Xn\372i\340h\235\210\207\3\374\331\226\4+\250\213"
+"V\320\335\77$\276mv\3\27\324a\347\0\341\211\354Zh\302\367t\221a\35\20~"
+"B\321E\2346{\202^2\252R\371\21\242|l\237\t\257\276\200\250G)\246f\265P"
+"\210;G\25\277\313\240\346\37\243<N\256\24\361\217\220\374G(\355FzY\365"
+"g\n\370=\212\327\77t\237\257\341qp\5\27\217\42\37\242\362iu\256vc\371_"
+"\343\361\345\212\313w\32\265\241}8\21\305\304\311\t\342\337\30\61\217-"
+"y\f\274X\331\277\303K\264\206l\3\217X\245\77\306=pV1\r\77\1<~\'\365\255"
+"\354\372\366D\342\21\266\372\364\270\242\357\242&H\252\277\231\362q\4\67"
+"WBa9\325\313\335i\274\3319\344t\307\'.U\373\335\337\nn\353\37,E\n\34x\31"
+"\0`\316aQ+2\264\225\361\346\225x\177\201|\3519\316{w\214U0\317W\13\21\21"
+"G\326\251\212\271\254\217\20\330\264\315p\272\222\236\77\272\22\0\216T"
+"i,\17>\225\2638Q]\244\255W/_\370\333\230Y\374]*,.\341\276\220\331cc\375"
+"\355\267F\204\216\3232-\3232-\323bS\376\7u\336\1`\264D/\r\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0\0\0p\b\0\0\0\0}1\2547\0\0"
+"\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0"
+"\0\0\7tIME\7\322\5\6\4)6\362\\e\206\0\0\3\211IDATx\234\355\226MHTQ\24\307"
+"\377\243\243\250\215\26\352\210\305dT&!\331w\364\245\330\302\304\212\n"
+"\214\310RlUaD\264\b\255\20*\372\42J7\206\233r\21\31\324\242@\223\210\250"
+"$-\27\365\32\304\254\240\17\235\22\63S\314F\305Qg\346\264\230w\337\334"
+"\373\336s\336k\325\242\371\257\336\234\363\373\337\363\356\235{\317\273"
+"@Xa\205\365_+\322\4cM\216\31\377\213!\263\32<D}\325\211f\371]\343DDD\335"
+"i\346\370\35^\222\325l\212_;F\212\26\231\340\35\375A\236\n\214\3718\'\307"
+"S\226!o\271\313\363\37,\206\206J\236\237\3106\344w\3729~0\317\220\317r"
+"\7q\377\315\24C>\371S\220wn0\304a}\252\340\3e\21\306<j\30\356\253M6\201"
+"\343\0\343\333V\230\301\2213\21\300\277\227\32/>\0\244\375$\42\242\311"
+"\253\t\246p\304\265\23\21\321\223L\275\244^\311u\271\0\360\376\201\271"
+"\341\377\275\364\346\220\350\210\263\215\215\f\364\2331X\326n\315^1+\360"
+"\354~\373\362Q\213\17\0\254\5\261@[\257\326m+\377L\242z\317\246\0\233:"
+"\211\210\366i\360\210C\3\244\325\330E\371\334i\f\251\317tpN\7\3\230\225"
+"\361\31\217\347\261\307~\251{,~\366\22U[Q5UG\17\33\251a\203\274\20s\313"
+"\277\361\25\216\t|\264$\207\275\373\371h\305x\320pB0\234f\341\n\261pV\360"
+"\240\236\22&\314:\342P\264j)\354\2544]\222\327\22\0P\26\'\347\235\223*"
+"\303@\376[1\20\60\224\260\237V\2505\264U\336\42\66.\270Hy\321\21\2353\226"
+"\33\350\370\265\\\205\345J\322vK\353x~\1\0\20\303\205\312\271\345\356;"
+"\351P;\242\234DD\267\271\310ya\17\370^\235\313\233!8Vz\211\350\16\67\313"
+"\t!\35\261fM\345\224\324\322\362\302\315\42\316\374$\240\217C\16\352\356"
+"6\257T\275}\246v\r\0`\335t;\224\274m\247W\351\30\242~O\353 \242\356\263"
+"s4\216\33\241\fD\236\253\361*C\246/\264\203>.U9j\r\f\344V}\342l\37\214"
+"\34\303\213EGz\217\221\243]\2651\27|2r\224\251\246\221\330h`\350\322t\311"
+"=]\241\35\3535\177GtQ\2637\204\241\22\220{kv\f\320\371\3\0\220\272msn\252"
+"f\244\200\356\26\261\'\27\21\65p\363/\271&M\351ThU\210\16\42\242\34a\264"
+"\330\234\343\367\325\255\266C4\274\326\\0-\253\253\204]\331\246dZ\211\210"
+"\350\250\316k\317\252\347\fM*\303H\206\216\203\277d]Q\242\17\3\1)F\307"
+"\341\b\336\232\n\225`\223\34\251\327\373\342\271\30\357\231\t\310}iT\316"
+"\25_\3261\370\331\303\275\337J\354\266R\265Zs5J\232\224S\276e\301\340\365"
+"\340\304\32\223T\2063,S\307\5\371\363\326\267W(R\310\n\270\370\216S%\374"
+"\241\357\216\330Y\42\275\216\35\366av\315\265\0\300%\361s\4\177G\273\353"
+"\227\77a\301j\345\265\7\13\336\350\276\347tz=_a#\0\300\3\0\370r\270\324"
+"\245^#\0\300\350\311\215\335b\244T\222\244\'\273#\1\353\356G\232\23\324"
+"\177\321\256;\f\223\275\270\256S9\fS\35\65[\242\304\274\356\2551ja\252"
+"}F\244{\364k\227\'\344\340a\205\25\326\177\250\77K\312u\252\216\227\16"
+"\201\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0p"
+"\b\0\0\0\0\214:\367\272\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22"
+"\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4*\23\222u\342\2\0\0\5"
+"(IDATx\234\355\230}L\225U\30\300\237{/ $\37\332\300\2,\303\256\223\5\224"
+"\240\250\20\224_e\323\324hP&\177\364\245\25\213\215\3102Y\313\245\226\16"
+"u\23\65I\363\243\305V\233Y\256f\2661\33\266\2\64\223\260\324\231\322\270"
+"\240 _\22\37^\221+\27\236\376x\337s\336s\336\367\234\367}o[\375\305\363"
+"\317=\347y\236\337\363\234s\317\367\13\360_\311c#Hd\323\277\300\243\256"
+"P\34\375\263\2\347\77EF\376\f\13\24_\212\234\224\5\210G\267\361\374\310"
+"\234\300\370/Q\'\215\21\201\340\317\352q\304O\2\300\357\356\246\3300\355"
+"\301\23\366\371\243\24*\231\331N\312-\343\355\342/\22d \27 \341<\251U\330"
+"\304\357\355U\201\266\231\0\0\343\177 \1\236\266\205;\216\253\356\347\23"
+"\24E0\231J\35\23\354\360\205\252we\24U\275\253.\205\257m\340n\257\342\373"
+"q\20\243\\>\250(\363-qW5\42\42\372\213yuV\27\42\42\376\35g\305\277\205"
+"\210\210\336ez\375\224\313\210\210\370\275C\247\17\322\325\303K\1\0\16"
+"\327\351\371\206\331\305\301\0\0\223\232\254Z\360\377\212\276\77TB\357"
+"\211\217\t\212\360\16uv6\335\n\224\237\274(s\272\333Ij#\215gN\34\367h\326"
+"\271\5\0\360z\227,bL\361\357\306\325;r\252`\254j_\341CDL\221\320\261\333"
+"\7\214\2642\366\33\42\1\0\336V\346\342\303B\332U\324/\241\21\21\273^u\272"
+"v\252\345\205\242\376\307\36\312\246\345\226_\33\256\367E\206\337\237\222"
+"\354\322\34j\272\227\252\245\274\257\214\331S\257\221L\335\37&Qm\344s\337"
+"\16\33\333\362\202\21O\357Qm\376\322p\336\342>`\210Ph\300\335\235\252\251"
+"o\2011v\332Y\35_\242\367\30C<|\231F\34 d\'\317o\326;\224\22\313\233\42"
+"\34\0V\372Y\376#\235u\312\220jh\326\257H*\271>\206\377Lg\374\202\30\326"
+"\311p\200|\355D\327oeq$=f\213Y\0\0(\321\370J\336\362\16\65\304\232\360"
+"\16\355X\254\345-\265\324\20c\302C\244\207\270\375\301\353\265\3776I\202"
+"*\222E&R\263\252PV\371C\332\34\237m\312W\223c\230\77\316Wj\177\314\tS\36"
+"\306\251\347\351m.\177\274\3460g\211)\337\373\276\362\33\34\312j\26723"
+"\2433\3314@\320E\305-\232\315\177\7\343\20\363\343\223f\274\177\243\362"
+"\313-\321\315\310\311\221t\223\0\256K\210H7@%\177/\357\222s\372L\261[\306"
+"\17o\3\0\200(V\227\213Fi9\274f\276\360\312\22\326\205\210\250^\207\224"
+"\375\357\201\13\222d\236\372S5u>\235r\236\33\0*\233\31\336\321\31-k.\200"
+"\257\256\346\347\352\36\271\35\200Y\276\22\31\376mS\246\323\204_l\301#"
+"\42^\333!\277\206\7\65\332\b\200X\377J\250$\300k\266x\304\226\242\20q\3"
+"\4\207\246X\32\26\n\3\314\32\262FU\331;V\24`\265m\36\353\'\nx\307~\373"
+"\1\256\212f\267\313j\22\60\342\21m\263\216m\366\3\374\344\22\4\200\345"
+"}\266\3\254\25\216B\302wv\371\33\222\253l\3169\233\1\266\212yp>Sk\r#b\217"
+"\374M\231Z\326j#\300SR\36\300\231\261\276\306g\301\357\3 \373\307\252\31"
+"\0\260\241\225\2171fZzjZR\2604\307\5m\243\377\34\21\361=\221SH\332\252"
+"\3355^a~\1770\317{\244\33\214+\371\245\203\36c\200\311\324a\37\42\42\32"
+"\36\35\234$\225v\353x\355\242U\216\210\210\325\246<@\344\26\356\n\205\363"
+"u<fY\4\200%\334\230,\2r\376\334P\314\37X\361G\213\330Z\77\345G\24\305\243"
+"\226o\354\275\354\303\312\300\303v\371h+\202\273\230J3\350\332\17\211o"
+"X5\340\230Vl\357\243<\225\365S-\370\353\35\264X\7\224\37\42\272\260\n\253"
+"\36t\323R\225\306\17P\345\314-\26\274v\0\61])`F\325\374\215\355\272E\374"
+"N\202\226\177\220\36188\317\214\177\220\346\337\303hW\260\323\2527\303"
+"\204\337H\274\376b\357\371\34\217\375s\245xD\7q\312e\325\313\370\205\345"
+"{Y\306\227\21\227o8\265\341\372p@\374\271\212\276 \256\304\230\363\330"
+"\230#\300\13\310\372\2759\2357d\31x\304*\3753n\322\21b\272\371\b\310\370"
+"u\207\264\b\347\326&R\217\220\5\25\267\211\276\203\31 e\377\315P\237#X"
+"X\16\371e\314]\256\355\354\245v\257+2>q\206v\337\375%\357\252\276c)J`\377"
+"\363\0\0w\3566\273\212xW\13N^\205\367\345\251U\367~\331\3311\270K\370\276"
+"\232\212\2108\260XSL\20}\204\300\213k\f\257+\245\377\321\345\0\260\247"
+"\212\263\334\367x\366\264Dm\2226\237>y\354\2621\263\364\373\13\0\0\204"
+"\304M\274\3139np\260\267\265i\300\324qTFeTFeT\2\224\177\0\5\66R\77P\370"
+"\230>\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0\0\0"
+"p\b\0\0\0\0}1\2547\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0"
+"\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4*.\312\35\256\23\0\0\3\273"
+"IDATx\234\355\226_l\24E\34\307\277\327\366\232\26\16\n\255GNS5\305\226"
+"\30\42\376\345\217\177J\340AH\305\250\t\221P-\301\370\202\301\20#\t)VH"
+"\200\250%F!&\32\64jc\242\220X\r$ !\200\4b\301>\310\322\220rF\3\332\236"
+" 9\232j-\355UOzw_\37vgnfvz\333\'c\342}\237f\277\277\357gfgwfv\201\242\212"
+"*\252\250\177Y\313r\24j\237L\276\352\262\3143\263h\22\300\'T\364ce`\376"
+"Ijz\'(\177SR\7rK\3\200/h\250oZ\301\374j3O~X(\37\373]\346\262\362\246\232"
+"\n\0_\311T\333\302k\242\375\353\314\t\363\317\213\314\237O\3uqq\365\351"
+"D\371\333\206\275Dr!\0\314<!\210\225\366|\350k\257\36\257s\215\260x\207"
+"\3\263\254\300\6\257|\254JZ[\274e\265\337\226\257O\271\305\367\313\24\263"
+"9\355\232-\376|\351\31\222df\243n7\16\222$\207n\361\1\233H\222\251\247"
+"L\277\341\42I\362HHN\325\233\340\226\n\0\370\362\234\257\247\352\215a\0"
+"\370 a\233\307\177C!\213W];%26:80\31 \264hE\343}3\334\366\310\205o\217"
+"ve\1\240\254\251\22\350\276\352\247#\255\77\31\273\341\352\216Y\300\322"
+"8I>\353\213\227\2740\350\337\77\34k\357t\33> v\322\22W\264\316\215\311"
+"\2253\347\370\355\2429\340\364\217M\273\371\256\6\275\303R\375\262\366"
+"\212\350\351\340\303\336\203\270\265\365\262:\302\313Z\276\334\361\354"
+"\314s\252\273\371\257<\360\212\6l\23\366f}\340y\227$\360\2526\3411\317"
+"\35*7\36ET\f\315\235\336\263\4\0\254\237\342\325{n\30\300\340\362\13\272"
+"\341\2k\304e\31L\r\255\360\226HD1\33\344\215\216N\367\21X\222!I\356QF\270"
+"W\26#\237\371\211o\336\0\0T(V\253\362\270\223m\265&\21\356!\311}\212\363"
+"\272\266\6\262\337\275\366\350T\215\270\77C\362se\226\177k\345\222\5\13"
+"\266\216;]]gF\204\323\263\274\6H*\221u\326\325\226qv\77Q\5\253\36\234h"
+"\2052\323\275\355\1\13\20\276>!A\262\177\207\377\30\373\270\20@\246\337"
+"6\77\\s\263\205\t^\274\333 \366\4\0\34i\324\201\310\17A\304\360\235:Q\177"
+"%\2108o,\314\331\227\202\210\365\3064\252\17\5\0}\276Sru_a\342!\337\353"
+"(o>\225)\0l\5\274\263\265\261\2\210_\3\0\304\36_\266$\346\353\311Ug\263"
+"h%H\36T\346\277\346=g\3342\302i\231\350%\311\305Zo\225\2137\35\60\217\332"
+"^\358k\234\205@h\376.mUv\313\312i\222\344K\226\333\236\261W\1\16\33\300"
+"\350\34\13\21\352\314\3oI\367\210k8\25\26\2426\377W\232\377I9\3549{m_\274"
+"\204\310\247\253\0\357\\Jy\265\2267-@N4\366_\227\336>9\352\356\22\63_s"
+"\303+e\357\311\233\37\345\'v\250\306\0\266\213J\207b\252\373-\371\2146"
+"\310J1@B=qvi/\364\373\rQQ\250\357\20\233}x\236g\205\0`\247\3769B\256\367"
+"|\342\217\334\364\331\363\345m\377\326\244\375\347lg\200\316\326\311l\t"
+"\0\244\1\0\77\277\2706a>#\0@\252\355\221~\335Y\3538\316\211U\245@\331\252"
+"\243\276\35\64\320\36\265v#\24m\351\210\313\3150\336\373\356ca\275n[\f"
+"\b\337\21\213N-\35I\375\322\227.\330yQE\25\365\77\324\77\315\2\305\361"
+")S2d\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0p"
+"\b\0\0\0\0\214:\367\272\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22"
+"\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4%\30\202\77\'E\0\0\5<"
+"IDATx\234\355\230{PTU\34\307\177\273wY\36\312\246\5NH\215\246[\240@\tB"
+"\6B\206\217t|dL\320$\374QSjQ\316\2209\231\376\221\343\243rPg4M\322\24\307"
+"\234\261\222\312\311)\232!g\3201@#\20\211\34\3\34\66\20\210\207\304C@W"
+"\226\375\365\307\275\367\334\3279\347\356\362o|\377\331s\177\277\337\347"
+"w\316\331\363\270\347\\\200q\215k\\\343\372\177\312\302r\4=\32\31n\13\35"
+"\34\351\352\372\373\256\277\374\214\345)s\235V\371\311\333Tu\341\274K\361"
+"\246\347\2\300;\335\254\214\341\33k\321 \357\225\334\t\222\77\333\215\210"
+"\30\307\240#\366\17\33iDD\374w\247\3\0\340}/\42\42\316\247\322B\336\0\203"
+"FD\354~\323*\34\224\312Ki\375\2178\223F\312\255\2777\336\356wL\234\31\27"
+"+(\1\345=/H\245\254\357\214\265\307\267\3135\365|\34C\254\2165\347F\215"
+"my\315\210\'\365J>O\376D\255\307Yh\310\260\301\200;\273$W\377bc\356\204"
+"k:~\253>\42P\216p\247\30q\0\373A-\277[\37\220/{\336\243\341\0\260\326\243"
+"\346\77\323y\37\37\221\34\3156\6\17\231n\25\377\245\316\371\225\354\330"
+"\306\302\1r\274\n\377\275\3265U\256\36\323\350,\0\0lU\370\22\255\347\3"
+"\342\210\340\360\226\42\22V\241\365T\20G8\207\7\207K\16\373CkW\376\333"
+"\30\6**U\236H\315\222A\\\345O)s\374\31._\366\205T\b\325\230\327*\177\314"
+"\5.\17\223:\304\260\373\232\372#\225\200\347Vq\371\276\355\342o@\220\332"
+"\272W53\272b\271\tl7\304\2600u\375!\252\200\360\213+y\274g\227\370\253"
+"Y\242\273Q\243\263I\234\4B=\42\222\rP\254\277O\33\222QY\265\321\311\342"
+"G\367\1\0\300\3j[&\32\325\372\355\346E\223i\t\202\273\21\21\227\211\17"
+"\342\3767\373:\2432W\315\225\362j\267\316\270\320\t\0%\315*\336\322\25"
+"\306j.\200\273\272\374\327\262^\266\37@\265|\31\32\275\372I\212\225\303"
+"\2570\341\21\21\333\77\235\307\344mM>$@\254Y\37\304H\360\226O<bk\236\235"
+"\336\0\312K\223\256\306\245\324\4\363F\314QIG\'\320\22l\362\231\307\232"
+"G(\274\345\270\357\tn\321f\267`6\tTr\321\266Y\313>\337\23\\\22(\t\340\225"
+"~\237\23l\241\216\302c\77\371\312\337\231JM\0\31u>&\330K\347\301\372r\205"
+"9\214\210\275\301\214\4\0\361\7\332|H\360\42\223\7\260&\357(w\233\360\307"
+"\0\344\375c]\42\0\354l\323\346\b\234\223\24\237\20\23\300\254\343\272\262"
+"\321\237FD\374\220\26dOXw\270|\220Z\277\'@\313\273\230\33\214\20\373\372"
+"\t\2271\301\f\22p\f\21\21Ws\376\20\200\230\374\36\35\257\34\264\n\20\21"
+"\261\214\313\38\366h\216P\270H\307c\252I\2X\245\31\223\345 \277\177\356"
+"\210\356\217\314\370\37\363\324O\3\204\367\212\206\5\313\314\22\34\255"
+"\346\361\260\237=\332\242\360\220\352\241\31t\355\207\350w\315\32P\254"
+"\24;\372\tO\264#\312\204\277\335I\212\325@\370\21\331\26|\312\254\7=\244"
+"T\252\360\303\304\370\364\36\23^y\1\251\272\222\253\32\325\34..\334\225"
+"\343.\203R\377=U\304\211\205<\376IR\377\21\2255[=\255\372\2229\374.9\352"
+"\246\372\234\257\341q \235\211\207v\312A\231j\363j\355\302r\277\301\342"
+"\17\310!\77h\314\206\343Ca(\25\'7\210\226p>\217M\31\24<W^\277Cs\265\216"
+"T\3\217X\252\277\306M;+\273\206\236\5\26\277\355\214\222\241nK4\211\260"
+"/>u_\266w\252\6H\334\177\223\245\353\bn(\200\234\3\252\263\334\77\327\352"
+";\6\5Gdt\242r\336\375-\353\226\276cqbb\317\253\0\0\17\36\346\35E\6\67Q"
+"\336\274\42\357\316\222\36\235\307Y\357\216{\207\250\367\253(D\304\341"
+"\25\212a\n\355#\4\336\330l\270]\211\375\17+\0\200#\245\32\317\364\347\323"
+"\346D+\223\264\271\362rq\3\255n\236\354\323\263\21\2616k\311\354\20\363"
+"`\232,u\210\270fl,\200\2700\32\2317jsU\42\342\372\261\343K\20\261\215~"
+"\340\225\304\374~\5\0\0\27\27\0\374R\33\365\260\320^U\364\227\377\325\317"
+"W\215\275\3674\347\212\302P\261f\3664\320N\275<\305{5<^\242t\226z\f\225"
+"}\216\260\223\347\32\246L\222\237\247\325\324\373\331\2\0\0\373I\322\200"
+"\257\307\200\3\204\364\311\374\237F\'\357R&i\230\264\232ry\362\201\267"
+"\220\223r\213\37\374Cd\270_\42\343VB\17\245j\373Pa\272\r\0\202\336\36\222"
+"\273\337M\275N\323%\264 \342\340\325\363U\312\331\323\303\375\256\240\323"
+"J\303\3465\224eN)\372F\217\377\374\204\778\4f\26u+p\333\347\211\2148\316"
+"\372\265\316\2325sr\250m\240\323U{\323\257\272\375\321\177\254,\376\277"
+"P,\324\13\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0"
+"\0\0p\b\0\0\0\0}1\2547\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22"
+"\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4%3.\203\336\5\0\0\3\264"
+"IDATx\234\355\226\331oLQ\34\307\277\263\264\332\232V\251JIEPk\324Z\261"
+"UJ\202X*\22\64\326\360F*\42\36\244\226H\20[\304\362Bx\240\211\204\206J"
+"H*\210-\226\242\17\\\245\213\240E\'\225\252\246R\325v(\235\316\317\303"
+"\334sz\226;w\346\17\230\357\323\271\337\363\373\234\337\331\317\5\242\212"
+"*\252\250\242\212*\252\250\42\226\303\302\353\227\236\340\361\26577E\2"
+"8\246-\316\236\224\34,\267U\275\270[\332\r\0\356\205\361@Y\203N{\n>\221"
+"\254\206\3\3\2009\325DDk\265p\347\346f\322\345;R\34,h@\332#\213pA\233\202"
+"an\26\77\362\376\20Vl2\352|\211\3\307\215\220\33t\311\237\351_YK%3\315"
+"\211\30\\P/f\330.\305\307\32\246\355\337(\272;\377\364\0\273$`\37\263w"
+"\312\2113k9\260G\32\260\317t[b\225\251He\251\351\2509\227\0\200\374\4\263"
+"\276\374\237\2\64/\250\222\215 \260\236}\272\241\252e\261\271E<\2029\202"
+"w\264=I#\220\343\'\42\242\263B\206\211\274\322sI\'\236\36\6\0\304\tV\201"
+"0\335\215\273\323U\42\246\234\210\250Hp\16I{\240\373\345\301y\275%b\262"
+"\237\210\256\n\243\374+U;\247N\335\333e\224\226>ocN\371\202\24\240Q\b\331"
+"d\271\333\374\306\251\245}\3649\0\200\351\241v(\371\313\366M\261\0b~\205"
+"$\210\250\356\300 \215\270`\7\20u\236HT\200\261\335\366\4\325\214W\210"
+"\263a\0j\313\226\1\317\373pD\353h\231\310\370\32\216x\253l\314a\265\341"
+"\210|e\30\375n\206\1\276h\267\344\252/\366\304\fm9bW\77\366\333\0{\1\363"
+"n\315\216\3\252\277\3\0\322\226\314\317I\323Z\n\252x5+y\211\250D\30\377"
+"\3723F\227E\206g<\242\222\210h\266\324Z\374\354\35\67\324\253\266R\6^)"
+"w!\340\310:)\355\3122^\363\214\210\210\266Yt;\371\262\0\334R\200\366\221"
+"\26\204\243\270\78\316\335;A\303\210\263 \322\3\34X\316\315[\246s\331\352"
+"\305\363\262\370\316>\200y/u\230u\353\216Y\0\1V\270\376\213{E<\353)\247"
+"\32\237\362\317\254\352\236\320c\236\357\31\330\315\24\5\330\317j\n\5S"
+"<o\215k\244$\313Y\2\257x\343\234\224\26\364\335\326TV\221Q\310\16{k\246"
+"i9\0\340\250\374\34!P\371\326\3733\2204,\213w\373\307\302\327\226\375\f"
+"\245WCy\254\23\0:\1\0\237\267l\360\252s\4\0\350\330=\253Nv6\30\206\361"
+"0\317\5\270\363\356j\'\250\351H\252e3L\251\353\n\253\371a\350\252<\275"
+"(\3066<\250\230\321k\211\250b\321X\253\315e)G\25\21\255\2114\32\3002\42"
+"\252\325_\324\320zI\374\357%\42\315\'\242\6\365\237\300\224\325\t\300\223"
+"\34\340~\305\2504\3277\343\332\207\b\22\314\22V!P\324\77<p[Z\270\32\355"
+"\335V5) \1T*u[\273\214\0WR\377\213%5\3\222\331\367\2207\37#\30\7b/\362"
+"\24W\42\211\7\22Z\31P-\332\332\241\347\372\315;\42\355\250\320\200\203"
+"\77\347\365v@\n\237\366\25|:\357\205l\24\300~_\341\\7\200\270-\354\277"
+"\221\232\373\332\304\273\352\211\250\243\374\201\321\301\347\310\237k\227"
+" W;\377\276<\273x\\U\343\357X\275\1\202z\255\274&<T\r\347\262\264\b}{;"
+"\307\214\31\3367\321\335\326TW\361\311\276\365\310\364\37!\337s\314\0\306"
+"N\326\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0"
+"p\b\0\0\0\0\214:\367\272\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22"
+"\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4+\7\221\264\7>\0\0\5,"
+"IDATx\234\355\230kPUU\24\307\327\275\7\20BnZP\1V>n#\23\220\202\242A\220"
+"\371\230,M\215\31\350!\37zaI1\203F\231~\310I\255\34\324\6\224d4_\23\63"
+"\65C\17\246\306p\306\261\301\246\0M!,s\314l\270\22 /\221\207\b\\\271\334"
+"\325\207s\3669{\237\263\3679\3476M\237X_\356\336k\375\177k\357s\317~\36"
+"\200\377\324\202\316\42\42\342\221`Cd\355(\42\342\300T\213\4\361\303\210"
+"\210\370\375d\326\355\374\b\21\21\61\327\262\7o\311\302\337\247\321\316"
+"\360J\331{\314a\311K5\262\264}\236\346\213\251\227}\327c,q\200\31\203\262"
+"x(\223xf\265\310\36\314\261\201\3\274\256\250\307\n\345\372\223\3\212\343"
+"+[88N(z,\223\0 \337\247\324:\243\354\361p_\37Ip,B*%e\314\264&\25{Ie\32"
+"\253\324b\271m\34\340(\32\254u\2625\246\332==z\334\377D\08\300\263z\376"
+"\223\200p\200\n\26o\212\b\220\277\263\235\306\307\26\4\210\3\254\244\371"
+"\342\200q\200#\32\376G\230P\25$\214\254\353P\'[\305\360\277h\377\3771\341"
+"\202\20zolTP\304\340hW\327\25\263\336s\371\351\313\322\346\270\235\244"
+"\346o\252\77y\302\243E\27\346\1\300\33\335\242\214Q\353\1775\216~\377\351"
+"\274p%\276\332\213\210\230(\240\243\213\207\2144\42\42^\337\352\2\0x\333"
+"\217\210\210\217pi\251`@@#\42v\277\346\224\366(\345\245\274\347\217\256"
+"\310P\313\255g/_\353wM\234\221\230 i\202\332\236\225J)\233\263\230%]%-"
+"\365|\20\257z]\317\177;f\354\313\213F<\245W\211\371\212&\262\21\367!C\206"
+"|\3\356\356RB\375K\214\271\223\317\351\370Mz\305\4\242\360\246\31q\200"
+"\220=,\277]/(\42\2217y8\0\344\372h\376c]\364\201Q%\320,\234\221Y^\212\377"
+"T\27\374\234\4\66\213p\200\34\277\306\177\315\206bH\363\230\301g\1\0`\223"
+"\306\37g#\357\250\201h\23\336\361\205*\253c#uj\300t\223sy\210\3547\326"
+"\257\375\267\361\2T\266t2\220\232\25\207<\313gic\374aS\276\206\354#\354"
+"~\220\253\3751\'My\230\324!\313n1\355\307j\202\307V\230\362}\357\311\277"
+"\301\241\264w\'52\272\22L\23\4]\224e\221t\373\267Q\202\250\37\2362\343"
+"}\333\344_f\212nG\306*SL\22H\227\20Q]\0\345\366\373XI\346\231\372\365n"
+"\21\77\266\13\0\0n\247}Yh\264\326/7,\346\2369\302\272\21\21\225\363\204"
+"\274\376=xA\320\230\247\361tm\203W\347\\\344\6\200\343\315\24\357\350\212"
+"\24u\27\300\333P\373SM\2578\16@M_\201\215\375\362a\232\323\204_n\301#\42"
+"^\335=_\310\7\65\331H\200\330\370j\250 \301Z[<bkA\b\277\3\234M\223o\227"
+"\227r\23\314\37\265F\25\333\37\316KPh\233\307\306)\34\336q\320~\202\26"
+"\336\350\226\254\6\1e\36\3362\353\330e\77\301\217\22\'\1<\327o;\301F\356"
+"[\230\366\235]\376\206\340.\226y\336f\202\235|\36\234\317\324Y\303\210"
+"\330+>\24\'\225\264\331H\360\264\220\7p\246n\251\365Z\360\7\0\310\372\261"
+"f.\0lmcsL\230\235\222\224\34o\274\211\23\273\240-\364\237!\42\276\313\23"
+"\205$\257\331[;\310m\337\27\314\362\36\341\2#%\274|\330cL0]\25\34@D\304"
+"U&\177\b@|\221\376R\247\35\264\312\20\21\261\306\224\7p\355`\216P\270X"
+"\307c\272E\2X\301\274\223e@\366\237\33r\370}+\376h\1]\33Py\277\354X`yI"
+"\335\337`\306C\261\370m\313\206\245T\245\31t\375\207\270uV\35\250\322\212"
+"\35\375*\257\332\226\231\26\374\265N\265\330\0*\77J|a\345VO\320\243\226"
+"\2525~Hu\316\333a\301k\33\20\365(y\324[5\377H#\r\23\335)\320\332\37\241"
+"\24\207\27\231\361\17\251\355\357\243\274\253\351a\325\227j\302o#\252\277"
+"\350s>\303\343\300B!\36\321IDY\264{\25;\261\274\257\210\370\22\42\371\206"
+"q\33\216\17\207\370\337;\324\33\304\337Q\346<6\361\2766\345\221\371{s\16"
+"\33H7\360\210\325\372k\334\375\225$t\363Q\20\361\233\251\17\67\3477\306"
+"\251\212\220%\345\267\210\277\223zA\362\372\233\252\\G0\277\frJ\250\263"
+"\\\373\271K\35\203\222+6n\256v\336\3759\273E\377`\211rb\337\13\0\0w\354"
+"5;\212\f\26rv^\231\367f+U\367A\321\3361R\312\275_\315DD\34Z\2569\356\342"
+"}\204\300\213\33\f\267+\371\371#\313\0`_5\23\231\372x\306\3548m\2206\237"
+"9U\365\247\261e\363\17\262!1S\356vN\32\31\351k\2732d*\34\267q\33\267q\33"
+"\267\0\355\37\347OQ\257,\307\336\371\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\60\0\0\0p\b\0\0\0\0}1\2547\0\0\0\2bKGD\0\0\252\215"
+"#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\4+\42\332\260\323y\0\0\3\261IDATx\234\355\227YHTQ\30\307\3773\243\242"
+"9\266\2111\205\355\13\321\276\257\206=TXQP\20-F\21D\33\21Aa\13AE\33Q\326"
+"C\341C%A\13$T`\213DE\221\225\17y\2630\243h\321ic\22\313l\324\264\234\231"
+"\257\207{\356\231\263\334\231\211\336\242\371\236\316\375\177\377\337\375"
+"\3569\363\235s\357\0\361\210G<\342\3617\221PNDD\247\23\265\314\2326\42"
+"\42\177/U\37\334BDD\267;\311\2623\237\210\210h\245^c\263\231\251\352-\212"
+"\251\227M\265\304\241\3\256\7f\3167.\254u3L\255\276\233\3354\3726\231\331"
+"\37\363,e\370\7S\241\\;\77\260\216\245\203\233\314\353\231~&\\\264\367"
+"\303q\213\31\250\300\5`}\200]\325fD\0\320\243\301\42J\322\\\307\2541\315"
+"\213\344\7Vp\323\223\353|x&\262\37\270JZ|\354\24\r\360|U\375\241\234h~"
+"`\241\n\234\210\356\7\212d\177uZ, \335\'\372\203\331\261\374\300\\\218"
+"\32\333\17\234\16\373_\246h\331\4\35\330\370\231\267fQ\313\237T\370\347"
+"\302f\353\241sf;wsc]\355\237\0\216\361\263\262Fv4\307\376g\17o\224\6\1"
+" !\'\5(\373\244\323\356\2747J\'}\332\335\5\230ZED\264D\263;W\327\351\315"
+"M\315\373Ywi\200\347\216\215]\210U\246\215\377\322\3n\366\264\206\265F"
+"MsZ\327!\375\345\33\272\344\313L\353D\241\342Il!\272\347\275\27+l\224\374"
+"I\354\304\242\300rQ\335\322\22\6\266J\300NK\336\42\27\36\372\232\3\333"
+"\245\t73\265>IY\212\f\2534\35`k\t\0X\333\216\345+~)@\335\214g\262`\2K\255"
+"K}{\324\317b-\342\26\304\376\374A\33\333k\4\262\315#\263@\2500\202\'\335"
+"gu\342\336>\0@\262 \345\t\313\355\333\226\251\22\211\25DD\347\5e\257\324"
+"\3\301G{\246\245J\304\250\0\21]\20f\371SJ;\307\216\335\321f\224\226>\360"
+"[J\305\214t\300\'XV\331v[\30082\247\203\276\6\0\60!R\207R\240l\347h\33"
+" \361{D\202\210jv\353\257\304S\321\0\242\326\303\352\221<(\30\235\240W"
+"\303\24\242 \6@\376,\31p\277\210E4\f\224\211~\37b\21O\225\306\354\363:"
+"\26\261V\231F\347+1\200j\355\224\\X\35\235\230\250\375\34I\213\356\6\242"
+"\0;\0v\266f%\3U\237\1\0\236\331\323\263=\332\235\314(Zd\215\274DT,\314"
+"\177\351q\243\315\246\302}\356\250$\42\232\42\335-e\312\346\313\352Q[)"
+"\3\345\312Y\b8\306\344K]Y\3063\367\211\210h\203\315cw<\'\0\327\24\240q"
+"\200\r\341\20>%\16q\265\304\24\214d\33\42\63\304\201\371\\\274\306\224"
+"svo<\257\345o\355\0\260s\251\211\345r\17\332\0!kp\351;\327\316\363\252"
+"G\234\252\77\375\27K\5\207\207\305\223\341\211]IW\200]V\246P\20\305\375"
+"\346[,\25\231o\25\360\212\'N\276\364\203>_\317\277S\373\25Z\233\275a(\223"
+"\34\0p@~\35!T\371\324\373-\324\276\317\30\376\330_r\36\333>g\244(\17\177"
+"\362;\1\240\25\0\360v\3352\257\272F\0\200\246m\223kde\231a\30\267\27\270"
+"\200\204\5\67\264\35T\273\77\342\2477\0 #\267\260\212o\206\266\312c3\225"
+"\779v\315\200\304\276\236\214T\227\277\351]uk\324\233\307#\36\361\370\17"
+"\3437\235\241\305\371F\200kR\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0D\0\0\0p\b\0\0\0\0\202\223\211\325\0\0\0\2bKGD\0\0\252\215"
+"#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\4+6\300j\7\4\0\0\2\253IDATx\234\355\330\317k\23A\24\7\360o\222\245\246"
+"\tMR\255\245\25\265\210h\350EP\352A\n\212\24oE\205\332\203\36D/\n\36\274"
+"(\202\224\202\376\17\5Q(\24\265T\n\36\252X0^$Z\224RS\322z\320\264D\211"
+"Ij(\225\376Jj$\351xHv\2733\273\233ff\25\221\316\273d\363v\366\263o\337"
+"\316N\330\0\62d\310\220!ck\304\20\261\21S\0\234\0|v*\360\375I\304o\27Q"
+"\314*\311\245\227\2\373\234\306\3\222\31o\343v&\347\362f\1\0\77\250N%\357"
+"\36r\18\220`[\270r\f\0\366\\\215\320\351\346\22V\320\245\362\267k\313\247"
+"\350a\221~\365\344\335s\372t\20\0\340\325eRG\264:\273X\344\206\266\253"
+"\371\235.}\24pR-I\266G\264\355\237\206Ni[s\35a\252\263\24\262\320\361\325"
+"\330M\263\310\235\236\266B\310\345Xu\6\260tv\331\2\271\377\274Z\3\210_"
+"\247\21u\256\245nUo\0\17\337\2247\374T%\275+<\b\271IURFf\37\361\30\300"
+"x\310\4\351+\360!\3503\42\371\307\234\6F\277\33\220\320\2/R|\n\200n\354"
+"3^\3\30\61T\362\222\37\t\257m ~\0\230\371\306\217\344\3372\225\214\361"
+"\33\0\213\274\27A\306\0@\361hH\244\362p\363\370@J\245\224\221\342G\21d"
+"1^B\24 \b\240\270&\202\340\270\33@\22\n\20\27:\36\0\220.}\230\3740\360"
+"\207D$\42\21\211HD\42\22\331Z\210\365P\353=\36\66Q\'\2004\261\211\335\226"
+"C-\3037\311\276HfZ\254\306\272Lr\265\201\275m\27\37\4\331\264\367\322N"
+"\217\323\341\370\265y\1\203\354\371\315b\2129\350\277\234\'\177\31\251"
+"\42.\20B\2426\r\3074!\344\274M\344\f!dF\261\211\214\23B\256\3304N\21BR"
+"5\225\30786C^\237\0B\321`\223+=1\374I\260\220v\335l_\37l\20C^P\17ML`9\0"
+"\16\257\323\217^\330\364\362\315\226\2\375n_\303\300H\2541\240~o\231\374"
+",R\13\0\324\fh\245\f\211\32\200gQEL\337Z\253{\0s\332E\270\305\21\307.u"
+"+\301\213\354\320\246E\227vk\271\377\334\270\223\355\77\251\0p_\313\252"
+"-\231\257\3474\\\tB\310j\344\325\304\252vo\n\235\274\205t\32V\371l7\257"
+"\201\'\2541z\220\333\300\266s\303\363\33B\352^\233\345\310\312K\201\263"
+"\265u\177}\235\262\234\371\22\235\345\257\342\37\304o\2\361\366y\0|d\246"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0p\b\0\0"
+"\0\0\246\212\6\25\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13"
+"\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4,\21*!$\250\0\0\2\201IDATx\234"
+"\355\327Kk\23Q\30\6\3407\27\323\32\223\320hZ\253\24-H+\1\263(\b\306*\336"
+"\260\33\r\24\261.t%\b]\324\235\370\3\304\337\240H\27b7E\211+\301\26j@\264"
+"\270\261\24%\32oU\20\253Ql,\266I\23+\266y]4\231\314\23193s\20D\27\363-"
+"\222\223/\317|\347\22293\23\300\r7\334p\343\317\303cN\35\5\200\345G\316"
+"\307\266\222$\77\230\362^S\246\333\242\202Y\356R\226\273\225e\257\2054"
+"E;Ug\224\262*a\222\3\252\235o[U\355}\310<Ey\304JT\254y9\244X\362Pm\224"
+"\262\232Bt\344\251&[\237QMv\275\242\222\364\236/QE\6\317\346H{\351\1B\311"
+"\304\201\276\r\206|u\261\321.v\326\32\307\351\20\13k\303\263\233\2438\221"
+"\277 \375\300\227\333\0\200\375[\364\371\312\230\256m8\346\256\303*\375"
+"\333\31\271\322\225\377\263\364;\212d\b\300\303_\272\214\325\216\313\221"
+"d\247J\357\341\332\213\263\214\2@E/)\207\2210\0\224\364\262(\200\365\365"
+"F\2\0~\314\351\345\212 \265\353\351^\0x\1\275\\\24d0\\k\234\0\200\307\202"
+"\234\27\307\327\265\366\266\247\27\0\62\202\374(\312#\0\200\300U\0(f\204"
+"\257\222\206[\302F\0\261q\222\3440\240\177^j\372&\3363\77\245\277w\367"
+"G\0\240\232x)\3667juG\270\1C\364\254\312\341\\\233Q\342\212\24\256\34\63"
+"A\4\247d\360\234\31\2-\367M\260`\361\254\343\2730/\270\237\303\233\345"
+"\20@dp\242\\c\313\223\27\267Z:\0\300\2723$\263\251x\300\236\1\360<\'y\332"
+"\221\1\350\'\371\326y\'\2\230\429\250\2\373H\346%c4\77Q\778\b\334\313\356"
+"l\367}\236N\277\266+\271O\267\234\325\321\230\215\34\23\226~\246\303\22"
+"\366T\305_sR\33\236\317 }\221\330\310\235\231\266\226\372\347\355O\337"
+"\330\215\25\201\21\255\350M[\b\4\27\3522WOY\\\227*Z\237\315\16\322\243"
+"\235E\263R\271I[\276\223\332\352LH+]*_\77\354\7\320<T\77GY\210\312\240"
+"o\226\344\322\223\314\364Rc\27\3117G\312\264\213\312\247\344\323\270e\204"
+"\343V\377\225\232\6\322\205\6\313_\23\377\377\30\316:o<\276#\32\366\27"
+"\277\276\317\276\263\250\347\34\277\1\233\247+\331\33\24\r^\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0D\0\0\0p\b\0\0\0\0\202\223"
+"\211\325\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322"
+"\335~\374\0\0\0\7tIME\7\322\5\6\4,#\342\366u(\0\0\2\244IDATx\234\355\330"
+"\315k\23A\30\6\360\'\331\25lB\223V\251\264E\253E\244\7AAT\20A\17\275\350"
+"\245XD<\bbAPDDh)\210x\360\17\20\17\26\301\202\24\252\42\5\25\264\30\260"
+"z\252-\212\37)\324\36D%\210M\233\346\220\322\246\232\30M|=\354Gvfw\223"
+"\235\255\202\305y.\231}w\336_^\206\r!\1\376\335\250\257\211\210h`\225\355"
+"\316\351\237DD\331M^\224\255y\42\42zV\317\226\203W\210\210\210Nz\233\245"
+"G\333=\325j-\206\37h\325X\300\33\242\214i\373S\273\313\265\3467Zm\276\331"
+"\233\1l\376\252u\344:\215\312\366i\255B\307\274\32\300\31\275\245\324\255"
+"]\37\314\352\205{\336\r\4\236\352Mt]\1p\266\250_\245\33\4\20\264,\30J\254"
+"V\271f\254\251\263z\2475]f\343\304cs9(f\0\303dK\262\276z\33\233\306\fo"
+"\374: j\0Gy\244_\334\0\206X#Q\353\7Y\233\262\32\245\375~\f\240\303\212"
+"\\\365g\0\3e\343}M\205}j%\344\374\234\371\221\35\312\373\235de\346\256"
+"\375\t\367\236I\0A\0\221\345L\20\371\223Ht\271\210\3524Inv\261\2565hoH"
+"\246\303\353\326p5%\374\r\0\60\317\234T\362\3626\5\300\226/\374\21.\355"
+"\1\200\r\247\342l\271I\303\212\226R\341\202\361|_\344\221\233\306\233\37"
+"a>\231m\0\200\260\2452\263\303\234\3630\217t\233\267\232^X\312\273\200"
+" s$\311\275qs\375\335vR\346*\325>\312\234,\203d\332\77\333O\323)\271\216"
+"wn\bu}\360f\0\213\207\262.\310\215a\257\6\2208\307\42\306\2636\323\353"
+"\335\0\6\237\353\213(3\311\245%\21\204z\230It\344\323-\21\3x5\342\200\364"
+"\25\305\20\364\331\221\302mA\3\2619\33\62\222\21EJ\367\1\260\7\373H\324"
+"\0\36\332&y\42\216\214\346\313H\24\0>N\213#\2051n\222qq\3\340\221\227~"
+"\220q\0PC&\22\257\274\3359oI\33EGJS~\220\205\204\206\250@\33\200\222\277"
+"\357\353}\253\1$\241\2\t_\375\0\200Y\355\305\341\213A<\22\221\210D$\42"
+"\21\211H\344\377B\334\267\272\337\t\361\5\367\177r\334\221F\276\260\336"
+"u\253k\42\23\374\17\311\364F\267\275\212C\255\246\256e\347\361\3766\276"
+"\34>\321\20\n\6\2\77\252\17p\207\177\177\247LrM+\3629\371\313\210\214\214"
+"\214\214\214\214\307\374\6\255\234D\\\3240\214\202\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0p\b\0\0\0\0\246\212\6\25\0\0\0"
+"\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0"
+"\0\7tIME\7\322\5\6\4.\21\30\27F*\0\0\2\274IDATx\234\355\327OHTA\34\7\360"
+"\257\272\253\245\273\333j\376+B%r%t\5\251\3104\42\242\b*\b\211\350\320"
+"E(\274t3o\335\212\250\350\24\330\37O\36\242\213\25u\2602\214\250\354\77"
+"v0\324\16\265\220\244\t\346\242\356\342\272\231\273\337\16\273\356\233"
+"\331\375\275\267]$\17\373;\354\316o\336\347\275\231\331\235yo\36\220\211"
+"\325\36Y\326\207\353j\355\276O\213i\257\222}l\204$\';\326\244\201\216\363"
+"A\222$#\17\312-\241\275-\300x,\336t[\311\232\257L\204\377\270\325x\316"
+"Q\211\236R\139\252\312\231zd\233\301\262\255j\346n6\227\rz\272\303\\\26"
+"\351\251\307\\.\351i\251\271\364\351\251\323\314\1\266\31u\354\374n\321"
+"\372C-\2357\227\270\345W\263\t\139t%\254d\337`K%\373\1 \374:\334\225w\326"
+"\230\30C\302\265JH\222c\0\340\275\3247\20\233\'\13\333\4\331lH\0\316N\222"
+"\344@\205\320\317:-+\210\375W/\246\5\271]\313\312k\0`\374MH\220Mj\222S"
+"\347\5\200\201A\241\233\345T\373\271\376\tI\376<!@\234\326\344\311(\311"
+"\310=qq\366\251\262\322O\222\376Z\tVD\24\271\356-I\262U\202\270LC:n/\221"
+"\3445\21\26\7\r\351\272\32\42\311\373\205\242\274\301\204t^\\ \311g\36"
+"\21\356\215$\244\275;J2\372\256^\204\233&\22s|\254p\212$\7\345+\226|6V"
+"\303\30\332I\366\312\367\243\352/Te\345\373\320\205\\\311e\237\tR\223\266"
+"\203-\22\314o\35\326\226bb~\32\221\58\32\275{\16\24$\325G\347\214r\240"
+"*^8\31441\33\353\23688q + m\300\344]\0\300\356\rj}\350\221RN:\2477\315"
+"\257\364\177G\224\221\31\271\232\245\360\204M\212F\7\200\227\177\224\32"
+"\263\25\67L\222U\377\322\2723\376\221^\26\2@H\225\224\241\313\t\0AU\6\64"
+"\260v\271\340\5\200\205)U\352[\251\304\375t\27\0\214@\225s\232\314_\336"
+"J\265\0\300\7Mj\233\36\240:\366\265\263\t\0\3725\371C\227\373\0\0\271\327"
+"\1 \320\257\35jLz$\24\1(~L\222\354\2\324\375|\336\264C;s\274g\306s\324"
+"\5\0Q\357\250\336\336\35\263\'B7\222\242!\42\303\251\324\335t\247\b\227"
+"\16\245@\344\177\224\340\251T\b\270\237\247\300_G$\b\344\264\3735\367\273"
+"\253L\206\0\\mO\347\343,\374\252c\243rDx\237\260o\336R\340\236\r\371|\351"
+"\337\2132\221\211L\254T\374\5F.T_\32\22\321\366\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0D\0\0\0p\b\0\0\0\0\202\223\211\325\0\0\0"
+"\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0"
+"\0\7tIME\7\322\5\6\4/;\332\267\276\275\0\0\2\tIDATx\234\355\326\301K\223"
+"q\34\307\361\367\266\347\240\33n\22$\n\246\4\312\272\330!\352 \201\27\273"
+"\5\22D\340I\212\16a\7/\212\20\341\301\177Av1\350\242\211\247\16\251\bJ"
+"\'K\212\240\5\352)mDMMP\321\244\351\3041\17\233O\373\375\236\337\223\373"
+"=+1\366\373\\\366\360\375\375~\257\347\313\227g\317\6&&&&&\345\221\361"
+"l\tY\0\374@\270\224\16\302\177\23\211\224\212X\252NRk\273\325\227\375\316"
+"\3\311\215P\315\5\251\26\b\375\2`[\230Tr\360j\0h\376&\217p\257\25\340\322"
+"\243\270X\256\313aG\5\245\364\223\312\374-\236\312\310\363\223\233\337"
+"[/,G\1\b\25TV\257\331}\336\225\221^{\251\356]A\371\6\370\205\221$o\306"
+"\355\353\3\307\244\354\253\365\3669a\262\2\262\325\376\3259MUR\35\213n"
+"H\366\301\347\342\f\330\275\363\323\5\31\236,\326\200D\217\210\234<k\253"
+"\375\305\33\60\362&\177\21\21:\31\330\323A\262}B\'ydeT\307\200\17\263\n"
+"$v\244\207\20s\42\351\27\232\6\323\77\34\310\354\226.\222y\t\210\203\235"
+"\3205\340\225\243\223\31}dn\3777\22\1X\376\256\217\244\337J\235\314\353"
+"\33 #\357\275 \363\0V\320F\342\177\336\256\316\307l\256\225<\222Y\362\202"
+"\354$r\210\5Q \263\357\5\241\255\2HbA\302\323y\0\326r\37>\325\332\303N"
+"\200[R\3655\300\344\220b\277\245B\232\344\363\330\350\262jE\361\23\245"
+"\37\203\30\344\314\20\345w\247\345\n\220\232\222\252\2177\201/z/\236\333"
+"\362\237\234n\327\255\347g&\6\61\210A\312\bq\337\352\276\22\224\13U\36"
+"\220Z\271P\357\272\3255\341O\362;v\243\321mo@Q\253\254n\270\336\365,*\227"
+"C\367/\6\375>\337\341\351\r\214\311\367WeA:\364_>\'\377\30\61\61\61\61"
+"\61\61)2\307\233\257XN{\n\42q\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0)\0\0\0p\b\0\0\0\0\246\212\6\25\0\0\0\2bKGD\0\0\252\215#"
+"2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\4\61\7!\231\375\345\0\0\1\353IDATx\234\355\226\317KTQ\24\307\77\376Hq"
+"\234\31T\306~\21\203\204\212\213f\21\bM\22\21\242\233\24\42h\341\316@h"
+"\221\273\360/\350O\220Z\270j\345\246\226\251\20\202`\270\261E\213\360\307"
+"Bfa\26\201)\351\f\216Z\352i1O\275\367\335\373|WQ\334\274\357\342\275\303"
+"\271\237s\316=\217\367\336\271\20)R\244HgW\231\351\352\2\330\231\t\217"
+"m\24\21\221e\303_nxZ\3\62\230\344\35g\262\335\231\354\b \r]\27\327\216"
+"z\203R\30\3443\327\342\351}\327\352/\315\26\355J\25\3041\347\353\270c\312"
+"G\336.m95\335\372)nd\3437q#[\26\305\211,\37,\210\13\31{>\'r2Y\6\361l\346"
+"aw\255\317\177\260yl\347\233<\243GB\264Q\332\336I=\352\215\\\0Y\t\277>"
+"\0\360\340\206\352/\216+\266/f,\344)]nG\247\352\35\30\350\203]}a\22\370"
+"8l\220\315]\376\f\3514\260t\266\352\21yYdi\306e\332\240\277G\365\177\37"
+"\2r_\2551\347\367\316W\206\22\33180\375\317\241\372\234\210H\223K\365\204"
+"w\t\'\353\1\212*)v0\231\0(\250d^\3j\16\215\f\300\366\252J\356i\344\321"
+"\377\364>\300<*\271\251\221\261\204g<\5\230\325\310u}\177-\245\333\275"
+"\16(}\322\307\344\212Nv\2P\365\26 \77\251-e}#\241\1HM\210\210\310\b\250"
+"\347\245\3525}f\376x\377\247\365I\22\340 \263\240\327\33\r\232\b\357\360"
+"\351\356\276\35\\\275\352\'yc\5\367\36\33 \261/6p\300\4\241n\312\0\177"
+"\7\234u*^\255k\334\356\3105;\b$_|\332\362\260\235\317C7\225\25\313\371"
+"\363\312\355\346\332\272\215b.\36770_\244H\221.Z\377\1\62f\217\263\200"
+":[G\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0"
+"\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0"
+"\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\61!\363\224x\30\0\0\3\200"
+"IDATx\234\355\231[l\fQ\30\307\377\333vK\357\355\322RU\242H\264!\321hJ]"
+"\342\241J\232\22B\360\42R\302\203x\360\340Q\220H\204\24!\21I\337\32/n\17"
+"\210\20J\\RQM\20\227j\335VT/Z\265\364\242;\265v\267\237\207\263\273=sf"
+"\346\354Nv%M:\377\2273\363]~\363\355\234\23199\337\2\343H\266\bb\346\25"
+"\247y;\236\367\13\326\264\4\300\77h\366zq\325\255DD\344{X\235\304\333\'"
+"\270\210\250\336,-\367\21\205\344:\2323\352\330NDt\332$mV\33\361R\316\25"
+"\4\34\366\217DD[\315\3212>\221 \337\325\325\361\0lg\211\210<Y\346pWD\32"
+"\21Qw\335\276\375\rDDt\331\34\255J\2176*\377BS4\333k9\256V\'E\202\253\270"
+"\13\0}\347]Ek&\351\270\77.\32\62U\335\5\42\42g>\0\373\306\'\232\332\6\346"
+"\233\202\301>HD\376\322\300Y\345+5\315]n\216\2062\42\242\253\241S\333\346"
+"7\34\255\263\314$\r\373\210\210\2528\203\255\362\272\207\301~\35\313\324"
+"\317\221L\205#\23@\273OeK]R\220\345w\275\177\356\323O\2614\246$\1771\231"
+"2\270\370=\222\260\270\330\2266\256p\354%KN\231<{\331\256\311\32oo]\243"
+"\323\345v\13\326\264)s\226nX\240\266\r\337z\320\3346\310/\273S\333\305"
+"\211rf\33\327Q\376\201\13\364\235\324Y\204\216\212\270\203\262\337\225"
+"\331\24\212\363n\f\32\371{\327)f\364\310p\375\353\177\6\17\17\205\276\212"
+"<\356\267\230!\3364\265\276\237\b\34t\237\n\331x\334\2104[\253\213\201"
+"\361\322_]\234Y\265\267\263\361\361\250)\252\347\356\235j\210\32\327\305"
+"\206\2571\302\261\251U\206c\204\33\0\0\360\257BT8\77\0\340/g\211\n\307"
+"\352\342\37\327\250p\4@\375\270\216\355\357\235\205\263p\26\316\302Y8\13"
+"\367_q\332\335kT\270t\0\61\\\266\231\42^\266\23\303\200Xu\212\1n\30\202"
+"\222D\203\2404)\316\243\37n,\326\254\341\373\204<N\323*t\204\301\261]L"
+"\237\1N\263\21\310\r\203\233\r@\275\373\340q\275b\370\f9-\231\371;\fp\77"
+"\304\356H\221\34W\22\17\0p\32\340|\342.*g\232\24\307:@\376V\3\34Z\304\204"
+"\2252Z\3426\226\304o\265T\270\27b\306Z\31n\'\253\375\236a\300\nq\7\352"
+"6\350\\\1\200\243\227\305,7\214H\350\21y\207\rcm\327XD\213\244)v\\\304"
+")\205F\241\307\2\21;\214i\310u\213\274/3\365k\253\t\370\233\23$8\34\20"
+"q\324\275B\',\357N\260\t\260TFCb\243\206\347\257\25\237>\307\341\337A\347"
+"\21)\r\230\336\241\341\221\347\342\246\321FD\316\226\13J\310s3^H\327\314"
+"Ka}\276\316U\310\371\271KQR3\246\315\345\275OW):\261j\345\77\323\326\247"
+"\257\373\341\276\207\0\200\t5\336H`#g\244\223\312\251\370vx\332\247\212"
+"\ba\0Pz\351\217\24\366uo\270eI\220c\367\215!\3\326\320\225u\342\214\6%"
+"\373G\300^\262xa\341\34\325\202\341m{\373\262\241I\263FE\204cJ\315\313"
+"NO\231\230\4\3053\320\377\255\307jg[\262d\311\222\245\261\245\177\359N"
+"vX]5\222\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0"
+"p\b\0\0\0\0d\272B\221\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0"
+"\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\61\63\0-\tP\0\0\2\360I"
+"DATx\234\355\227Mh\23A\24\307\337\346\243ib>6\255\4\n\26\233**\245\25\77"
+"PZ\250b\220Tj\21\264PD\17\245^\274V\20!P\4\21\304\243\7\21\274\211\b\5"
+"-\24\17\242X\17U\253(\322\203\26)MZ\261\230\322\n\246\3064\315&\215\t\317"
+"C>vg3\263\23\f\210\350\374O\373\336\177\346\267o_63;\0BBBBB\377\276$zz"
+"\327^\327\317\350\364\17]\326e\1\310\257UA5\r\315\42\42bnr\310\256\315"
+"\333b\210\370\264\n@\323s,+v\315\247\32\203\210\2107\370\0\377\42j\245"
+"\334j-\32\326\b\42\342i.\3003\217:\345\306{\314\0 \335DD\334\360r\t\17"
+"\364\0D\304\225;\303\27_\42\42\342}.\240\217\6P\225\337\303\3H\37\214\t"
+"\267)S\31008\1\0\20\277\33k;\326H\271Ad\377:\257\206QD\304\205f\0\260\366"
+"\277\256\250 \321\316\233\17\3265D\314\37,F\275\357I@\352(\27\0]\210\210"
+"\343\345P\32\230\321\0\226\272\370\0\30FD\354\323$\244\336\207\33\205\371"
+"\337\257\313\3649d\'\33d\0\370\222#r\316\316Vo>67Mf\205\204\350\222\300"
+"\331\351\205MuV\'xL\366z\263\33\334f\233C\222\303\307\213\3\344\3r\301"
+"\226%\207\315\342\2\267\271\336n\362L\253\213\235\5\374\317h\344T\351\242"
+"}\202f/\253\227\246\232\237\342o X\340k\b\300\331\334\323\304\30\260\30"
+"\2po\17\362\27y\307\24\271\36\315\220v\243n\271\232R\255\322S(W\ro\260"
+"z\205i\225\373\360\326\270\306W|BR\277\325\223\212\245X\216\372[$\214\213"
+"X\345\238_\26i>\201\243,\237\300\34\302\221J`\226Y5\341w%\b\377%\2019\260"
+"j\202\253f\202\263VB]C\255\204\26\246\303\42\350\213f\177O\253\204<\221"
+"\327\357\17\201*\b\344\27\263L\366\276\256\277\nB\2064v\23\321\240\17X"
+"R\t\272\325\376\2106\360\30\354G*!J\32g5=6\337c\355\252\4a\2264\332\316"
+"\227/\35\243\'\364\323\250\307T_\216\334\\3\245\346\5>V\236u\346\251\260"
+"\307\275:\346\344XX\331\274\357T\341U\210\354\320Z\270s\36*u\330\350\200"
+"5\323M\306\2213[m\225\b\352A\261\240\350\226\16j>D\276\325\27\276\321\372"
+"\3\0\260\34XbY\4ay\200\261\363}\352^`\2\310\177\326\213\223\nm\314d\347"
+"g6@\367\337|rh\256bDv$\30\63\0T\274\32\366K\303\304Z\222\37\273\\x\202"
+"\216w\351\270\222N\254\247\223I%\225PJ\1\215\351:\367(Y\354t\366\315H\213"
+"\321\355\2515\0\0\200\311\277\315\343M\307\243\341\f\315\25\22\22\22\22"
+"\372\303\372\5\235;\20\361\3748\1\326\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0"
+"\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7"
+"\322\5\6\4\62\f\235fw\256\0\0\2\271IDATx\234\355\231\317k\23A\24\307\277"
+"\2655\332\3375\266\325\266V\17\255\207\b\202BQ\250\26\17\352IEQ\360\344"
+"E\321\203\370\17\b\242\25A\224\252\340\321\2337[<(\210\242\42zP\250\5\21"
+"\17\265\212\30\261I\255\215Q1M\233M\323$\215\207I\322\331\267;o\23\67J"
+"\300\371^f\231\367}\237\235\354\354\3160/\200\226V\1\252\340\202\247\233"
+"\370\344\363sE\335+\220\341\325h\311XR\24\337Q\32\367\347\252\342\202\301"
+"\24\237\274P\312\221h\375grX6,k\307I\306V\336\37Yy\343\304^QS\333\334\265"
+"\355x\263%\32\2769\354\377\21\213\221\336\372U\335\275\7\66\232\373\342"
+"\17\236\215\216G\243R\317\352 \235(\177\213z\34;\77H\306\324\325\25V\307"
+"E\212;\313\375\256\246\221\274/y0\327)\77\273/4#\304\341\42\373\177\346"
+".\317\335\261\303\315\320\f\372\320\314\372v%{1u-\337\'\343\212]\\\7\263"
+"\355\320\274-\256X\5\203\242}\261\330\345\352\275{oj\\\343&E\23(\21NL\255"
+"\21/\21n\32\0 \177\n\256pi\0\300\274\324\343\n\'\306%\277\256\256p\31\0"
+"\346\327\265\274\327;\215\3238\215\3238\215\323\270\277\212\263\26a\\\341"
+"\32\0\224p\333\26*x\333\3668\200\304\350\f\5.\16\242j\7\\=\213K\330\333"
+"\325Z\t\0\210(pQ\20y\35p\342\24\363K\201\263\34\4\332\34p]\0\314\247\17"
+"\31\27\246\366\265<\255F\304\'\24\270\357\264\250\263\201\307\365T\2\0"
+"\374\n\\\212\236\242Z\333Y\334\36\0@\372\235\2\2071\232\260\203\243y\216"
+"\210$\371\250e\302\275\246\31{9\33411\366\'JC\37=\201\306\230Z\2527,<\333"
+"\225\216\252\20\345\365+\275\25w\205c\214\251\355^\2468\303\247\262^\312"
+":\216\252ih\213Q\336\347u\366c\33\310\306G\331z\342\31\212\313L\365\331"
+"\330:\36\345\212\0\275\34\r\236a\13/}\203\276}\336\376\231\\\360\2K\3\326"
+"LXx\231\304\340\241\305BD\353\341[F>r\277\222\244[\346\305\367\270\323"
+"\346.\31\377\247I\303\250kl_/G_\3562l\274fu\276\262\216\317^O\235\326C"
+"\0\300\262\201d!\260\205\353\354\244J\332\374\320\231\366qw\2010\0\330"
+"24\307\302\2\247\234\266%\42\357\211{\263\n\326\354\355}tFs\342\376MY\332"
+"\263u\223\257\333\264a$\307\337\276y>b\331\243\n\302\t\325u\2644\324.\257"
+"\206\221\230\216|\r9T\341\265\264\264\264\264\264\376\261~\3\245(j+\257"
+"\303\253\373\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0"
+"\0\0p\b\0\0\0\0d\272B\221\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13"
+"\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\62\37\31\3306p\0\0"
+"\2$IDATx\234\355\230\317+DQ\24\307\317\3740c\306\314\2747H)BD\tI)\13d\26"
+"\24\245P\22\13ec\313FMI\311\277\242,\330\212b!Q$\13I2~\344\307hR\2101\346"
+"=M~-\306\314\233{\337\375\361\30\211\334\357\352\236{\316\373\334\363\316"
+"\334wOw\0\204\204\204\204\204\204\376\206L\230\355\227\331\361\223O<\342"
+"\371\33[\222\356\t\363g\22&J\20\342\262b\366\3053;\3765\355\25\205\204"
+"~\277L\340j\360B\226-\303\5\222\331\221i\361\200\307bw\232\344@\307G\200"
+"\\/\307\335\262\311i\267\272\301c\311t\230\245\355\276$\301\n%\313$r41"
+"\250Z\42\271C\332\3607\234\17\337q\302\\\371\1\\\205m\371\224\2003\77\200"
+"\247\254\325\313%9\327\320\276\260\213\272svP\367\232\346J\274\2052\305"
+"\\\340v\222\352J\326a\223\235\343:\237\20\271g\22n\2424\217\366[\204\331"
+"I\334\362\t\17l\202\312\'p\24\343\23\250!\34i\4j\232\206\t_\225 \374K\2"
+"\65\3200\301\2356\301\225.\301\226\235.\241\230\352\241\21\360\244k\r\20"
+"^\220y\274\77\370\f\20\36\221y\31\255\275\255\307\0\1\273\274\324 \326"
+"`\236\1\2v\332\267\244\32\22\243\37i\204 \352\30H\251\261e\232\326U\21"
+"\302>\352\250\34N\16\2353\235\370c\370\5\17\0\0\362\236\321\346\372\224"
+"(\236oO\177a;\42\302\26\3321\346\312\\@\311\255\353\216o\205\303\362T\327"
+"[\305\21\350\325\314\272%\3566\242\366a\177\221]\217\230\245\3\202\5\325"
+"\304y\77\272\253G\257I\365\1\0\b\371.i.\204\20\352\245t\276\223\306c*\0"
+"\375\262V\273\24R\314J\303)\35\200}\233\213M\7\272\210\330x\353\r\3\240"
+"\333\32\216\261\21\344,y\231\233\210\277A\365\226z\247\250\341G5\22Q\242"
+"a%a\220\230\356\241\371\310G\245c\33\343\305\254\345\2119\0\0\200\271\244"
+"T\362\252w\301\0\367\317\6!!!!\241\37\320;#~,\2468\226Z\342\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261"
+"\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322"
+"\335~\374\0\0\0\7tIME\7\322\5\6\4\62\63+\0Z\223\0\0\3xIDATx\234\355\231"
+"[H\24Q\30\307\377\226\227\274\333\346%\257\5^\310 j\311\13h\342C\365\20"
+"\25\205AO\276\30\25D\17\275v\241\214 *\273P\275(\364\20\24\244\364P\20"
+"EET`hFT\17fQn\251k\346\235tug[]\375z\230\275\314\234\231s\366f\24\65\377"
+"\227\31\276\363\377~\363\355\314\231s\346\234\5\376fE\b[\343b\0\330g4\361"
+"\250\4\0\63\366`/v\211\210\350\2206^GDtS\'a\221\20\347\0\200rm\274\24\0"
+"\246\202\306\r\3\300\226X6\34U\343m\f\n\327\7\0)\373\331pm\6\0\364\bS\365"
+"\264\222\210\210l\205\352h\336\30\21\21\255\r\32\7+\21\21Y\315\312\330"
+"\252\257DD4\2768x\\\23\21\21\221\363J\221\'\222\177\316)\307n\350\371\305"
+"\375\16e\257<g\335o\255\343\321I9\346\42OFuk\360\325\3419q\324\26\2\fX"
+"\77\253Os\225\206\204\303Q}\334\341\320h\210\270\246Gk\364s\317\5\274\223"
+".\26\66{$d\32\200\36265\255\325\354\77G\250\312\306^\17\313rUgH\360*\340"
+"\252\323\2132\223ir\360\363h\230\225\375[\342\275FJ%+\374\7\4\66\361\360"
+"\31\264\376+\234\334\215\343\342S\363+\367\246jZG\256\267[\306\354\354"
+"\364\234\230QP\261s\215:\346x\360\254\263\327fSD\226[\331\7eI\343\327\261"
+"\361\223\302\350\272\260T\3538\315\342\216\213~WJ\207o\204\251\361\4\225"
+"\367\356\33\2331$\302M\354\30\367\234\236\270\243\207\323|%\210\277i\206"
+"\317\273O\6/zcJ\334\2740[\253f\367\261\305\367\211\25NG\261Z\345\343\13"
+"_(\254~\367Qu\b\33\67 \37\372\26\b\'\77Z\311\261@\270I\0\200\362U\b\13"
+"\67\7\0P~:\207\205\223\353Rv\327\260p\4@\335]\377\356\361\316\300\318\3"
+"g\340\f\234\201\373\2558\355\3720,\\\22\200\5\234\266e\5<mG\373\1\311\325"
+"I\34\234\3\2144[c\214\22\2058\247\276\235\257e\0\200\t\16\316\6F&\778y"
+"\25\363\203\203\323,\4\62\375\340\362\1\250W\37J\334\bk\317\23\323\342"
+"\344\366~\16n\324\305\370W\213q%\362\16\236\205\203s\261\253\250\364,!"
+"n+\0`\356\3\7\207.6\241ZD\213\256\225\223\224K-\25\356\r\233\261M\204\333"
+"#\327\376\204k\250bW\240\366\24>\3154\42{6p\35\221C,\257\236\353\215\270"
+"+;\272\4\333NgY\234T\314\263\236q;\352\3704d\332Y^\317\n\375\332\32\334"
+"\355\235\221\2\34\216\2618\32\254\322\261e\77\362l\2T\210h\210n\327\360"
+"\346\232\330\336g\252\237\3624\236\22\322\200\234~\r\217\234\315\273|\33"
+"\21\351\273oI\336\226\373\354\316\266\346\271\24\77\316\325\271\nY\276"
+"\fHRBrV\241\262\365\345&I\307\253V\356km}\372z\352o<\4\0\3044p\266\236"
+"\325\232\277,|\250\n\231\37\372\247uo\16\20\6\0e-\77\205\260\276\203\376"
+"\246%F\246}\367\2469\254\351\333\333y\377U\2106z\243J\312\327\25\27\250"
+"&\214\331\336\367\357Z;4sT@8Y\t\331iI\361Kb!9\'\'\276\17\261\3\266!C\206"
+"\f\31\62\364g\365\13\336h\34\207\331E\5\334\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0p\b\0\0\0\0d\272B\221\0\0\0\2bKGD\0"
+"\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIM"
+"E\7\322\5\6\4\63\b\203\20\202\366\0\0\2\355IDATx\234\355\230_HSQ\34\307"
+"\277\333tskn\263\302\20\254\24kEdea\n\331\37\37\f\f\202\22\42\212\b|\351"
+"\325^\202\225\4\322[/A\275\30\364\226\320C\276FA=H\232\364\207\210\210"
+"\210\234V\246bE\33\66\347\3768\225_\17\333\335v\316=\347\336\243BD\335"
+"\357\323=\277\357\357|\356\357\236\235{\3179\3,Y\262d\351_\226\215k{\\"
+"\0\22\31]^\251\27@&\241@\274AD\324\245\217w\22\21\365\211z\330\271v\n\0"
+"\232\364y\215\0\20W!\374\0\200v7\237V\332\2217\315\b_\1 p\201O;\267\1\0"
+"\276\210\b\274j\210\210hv+\33\335\24!\42\242\335*\4L\20\21\321DCql\373"
+"g\42\42\212:\224\b\267\211\210\210\346o\6\265H\335\365\371l\354\256\260"
+"\3\77\37\260\377\245v5\372f\42\352\364U7\4\265\234\303\203J5`\200$\32V"
+"\353\17\354[\20\3\26\33U\t\270\42&\204\224\1\260\335\21\1zu#f\204\350Y"
+"\344\373/\\^\16\0@\3230\13\30l0\357\303\353@\357\270\326}\354\226\340M"
+"+\252XnU\6\253\374\24\373\26\376\271\374\373[\262\264r\331\340m\256\300"
+"\32g\251\27~\273\273\314\341\203\317\341\362\330\2#\307r\t\201\306@\326"
+"\16\330<\256\222r\370\34en\273\377\365\351<\241\4\265OD\344\374\372\266"
+"\363\261\310\236.\\\362\353\305\362\3657\20J\360=\4x7\36\255\222$\214\207"
+"\0\337\226\266\nS\222g\210\375*\275c\355uoY{\250`iO\221\274fx\203h\217"
+"\324\312\217\303\13\343\32\237\231\23\342\277\f\t\21\351\6\250\360[\304"
+"\214\213\210\232\23f\215\t)s\202\211\364\333;\35A\232b\242\2AZ\2462a\245"
+"\262\b\377%A\232\250L(_5\301\273Z\202s\355j\t5RGF\340\213\336\243@Xb\342"
+"\374\372\320\252@\230c\342\1v\354\235\35\n\2044k\354bZ\347+\25\b\334\327"
+"\376Hq\303o\260\36\25\b\223\254q\266h\214\35}\262U\225!|`\215\35\2053\247"
+"\347\336q\276\233p;^\311\35*\322\332\340\265\276\327\237WF\205\260\207"
+"\355\34s\240\177$\271~\357\311\354T\b\7\213-\3326\n\275\16\211\317W\271"
+"\335@\13\333\16\237\331\354\322#\356\313\1\223\325\365\302x\210\235\325"
+"\27\245g\221\351\326)\231\305\20\246OIV\276O-cR\0\373f==\221\24\345\f4"
+"\33\375m\300\276\233\217\16~\324ed\272\333\42\6\0\335\324p_\352b\276%K"
+"\375W\263OP\377*5\223L\305\346R\361x2\21Kj\r\21\263\274\363A<7\322\231"
+"\347\3355F\267\27\326\0\0\260\327\326\371+R3\223#i\221k\311\222%K\226\376"
+"\260~\3\311\346\336\363\273\230\246\305\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0"
+"\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIM"
+"E\7\322\5\6\4\63#/\254{\266\0\0\3\216IDATx\234\355\230KlMA\34\306\277*"
+"\365\256\272ZU\355e\3216Q!\b\241\361\210\5\66\336\257X\331\20\26\42\261"
+"aA\4\t\21\342\221H\220\210\215\35\42\361\210\20\304#BR\222*\13\217zTZ\245"
+"ZuE\225{\252\275\275\375,\246\347v\316\234{\346\334\232\n\211\363m\316"
+"\231\231o~w\356\23193\347\377OC\212\32W\32N\377\370\270<\236\252_\247^"
+"k+I\222\254\333\326\337\234\26.cBo\'\231\322\212>PR\36343Z\346k:\24)0\302"
+"\35#IZ\307W.\336\377\225$y\301\204\26n#\311\227\205\0\220[N\222\234`\200"
+"\333J\222V\261(\344FH\362\260\1\356\26I\36\265K;I\362\221\1\256\206$\347"
+"\333\245R\222\374\346i\356\345\213\313\2\200Ov)\2\0\231\6\270\b\0\344\331"
+"\245\202D\325o\342^\2\300r\273\264\4\0^\373v\362\326&\222l\233,\nc\242"
+"$\271\333\0\227\35%\311\372R\0\230PM\222\261B\3\34\366\220$\343\227\267"
+"l>\37#I\2364\241\241o\205\363\235}3\304\b\207\374J\231V[dF\3B\227\272h"
+"7\363Mi\0\26\336\215\223d\374\3562\275/-U`\316\344\274\216\272\212\257"
+"\246\343\352\266\230\202\344\311\334\240\261\371\277d\335\322\177\205\23"
+"\13e\300\300\354\302\31\353\262]\255\215\247\312\252\42\321\250R;8\267"
+"h\372\322\361\316\272\226\253w\236\32647K5#j\325\211\252\312\361\36\307"
+"\234W\222\261\375\320P\267c\257\212\333\241\373_Y\17\23\276Xbw\225\237"
+"\335\7\265G\203\16\327\264\344\213}\2733q\220\313\270\357j\17\365\2419"
+"\365\351`\347M}\327\271+\343:\264\275\335:\323y=\333\226\24\327]\325\326"
+"\212\353\375\256*\243uW\351\270\30\343\352\304\345]\17\341\304\324Z-=\204"
+"\23\337*\362\253`\204\23\237\361mR\215\21N\214K^\256F8\2p.\327\177{\277"
+"\13p\1.\300\5\270\0\27\340\376(\316\35\201\31\341D\306\242\307\216m\241"
+"\224\217\355\f\37\220\30\235\345\201k\201\42\277L\342`-\2565\271\335[\303"
+"\0\0M\36\270f(\n\371\340D\24#\207\314\332@ O\255P$\362)r\364!\343\32U\373"
+"(=m\200h\177\357\201\373\334\256\370\307\352qS\322\1\0U\36\270v5\212\32"
+">R\213[\0\0\210\277\360\300\341\271\332a\266\216\226\261Zt\222C-\7\256"
+"B\355\261P\207[+\306~\323\3230K\215@\243Y\336\264P\243\360\314\364t\364"
+"nPy\273<\275i\27\205\343\271&\261\263_\305Y%^\326}\235\2165\3364\344EU"
+"^\365\350\344c;\320\331\376\264\267\6\207\355*\216\365\263\222\330\362"
+"\257\333I\200\351:\32\62\312\\\274\370\tu\365\205v}\267\33\375\262\240"
+"\5\357]<\266\236Y\321\225\210\30\276\352\264\225h\271\222\256tw\315K\311"
+"\215p\222_a\325\333:\313\32\64dd\261\334\372`\256\225\304\353T\270\334"
+"=\276\344\272\355\267\37\2\0\372\36\210\245\2\3538\242\235TI\223\256\371"
+"\323\336\314K\21\6\0S\317\376\324\302\336m\364;\226\24\205\326_\376\341"
+"\301\372qn\221:\243\266t\251\324>S\246M,)r\34\30\261\232gO\356=t\235Q)"
+"\341\204\6\345\347d\16\354\327\37V\353\267\246\217\r\352\206\35(P\240@"
+"\201\2\375]\375\2\243z\31\\C\4\361\224\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0A\0\0\0p\b\0\0\0\0d\272B\221\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\4\63\63\62\33k\322\0\0\3\fIDATx\234\355\227]HSa\30\307\377\333L\335"
+"\322m\232)\242#C\373 4+\211va\221\27\6E_J\21u\21\324E\227\25T\260\220\42"
+"\352\246\233\256\252\233n\203.\222\42\42\n2\3200*R#\42Rg\242\344GE\23\363"
+"c\233\314\326\277\213u\266\275\333y\317v&E\321\371_\275\317\373\177\366"
+";\357y\367\236\3479\7\60d\310\220\241\337%\223\226Y\355vY\306_w\2053d\233"
+"\217\366\222$9v\326\232\21\300\365\234Q\r\256\317\0P5\3128Mo\322\r\260"
+"{)\310W\256\227p\215$\31\270\276o\367\345I\222\344]\235\0W\210$\373*\1"
+"\240\244\213$Y\253\217\340!\311\300\212HP\342#\311+\372\bOH\362\252\22"
+"\235\'\311n}\204a\222\334\241Dn\222\234\222\345\232Ug\235\0\360E\211|\0"
+"`\327G\360\1@\251\22\225G\247\322\'\364\1@\263\22\355\1\0\257\214\240\256"
+"\343$\31\252\213\4\253\375$yQ\37\241\310O\222\237\334\0P;D\222\363\225"
+"\372\b\270D\222\f\337\77}\352\316<I\362\206N\0rz\304\347b\300\241\227\200"
+"\262\336x\300\307*\335\0\240\360^\f\320V\226\1\0\300\316\2160I\206;\232"
+"4\3234\353\344\322\272\322\37c=\223\231-\300\320\277(\23\362\334\5X\234"
+"\275(\17\16\2635\327b\207\335\222c39\373\225\32\347\334\350\214\330N\223"
+"-\'+\37vK\256\325\354\350>\20%day\233\32\331\257\f\252\37\253\331\343\261"
+"\241z\215\322\243\277\201\220\205\317\36 \317\265\255T\2220\354\1\354U"
+"\215\5)I\266N\261(\275\25\355%oD\2733f)w\21\320\256\305\23\27\244Vt\37"
+"^j\257\361Yj\302\3147M\202\317/sb\377\205\264\265F4\221\2320\255M\b\246"
+"&\244P(5A\232\222B1\202t\231i\23\62\225A\370/\t\322\304\264\t\371\13&\344"
+"-\224\220]\270PB\205\324\221\21\22\27\275.\r\202\370]\232\330\37\32\322"
+" \314\n\363Nq\357\263\233!S\2140\'\32k\205\350pq\32\204\204j\2775>ph\364"
+"\243\30aD4\16\305\355\261\345\246\254\253\n\204\367\242\261\346Xth\273"
+"\265+\361g\252\257\302\305\337\305\346:\247l^\303;&i@\25\366p{\2\263\275"
+"\265\77P\264\241)r\24\274+\343-\256\32@\262\266$_*\356m\240^\214\275\7"
+"\227\345$#n\313\1#\3455\252\363\36\361T\237\374\252\266\77\0\60\3360*\263"
+"\4\302\370~I\347\33\254\377 \5\210O\326\323\275\1\265\234v\367\220\34\220"
+"\360l>\332\334\227\224\21ji\224~1\3\311G\303z\346\204PK\302\255\347\42"
+"wP\363*8\31\bN\315\6gf\2\376\251\200\22\2501\363\217<\230\371\265\323\241"
+"\27-\25Z\227W]\3\0\300\274\274\322Q\20\234\34\351\237Ss\r\31\62d\310\320"
+"\37\326Oe\263\333\310\231@\271\302\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\4\64\16%2\261\4\0\0\3\221IDATx\234\355\230[H\24Q\30\307\377kj\255"
+"\227\264\325\265\324\264\7\365\301J\322\220\fK\214,\b\272I\201O\365P\24"
+"!E\217\275D\tA$VPA \364P\276\244Dt\221\254$4\3100\301.\240Y\204\33y\311"
+"Kj\344m\327\273_\17gf\2359\263sv\2355\214\232\377\313\234\357\234\377\367"
+"\333a\346\3149{>`\21\224^\351\234|{h.>\374~z\350\321\6\243\264]\343DDt"
+"]\216o\20\21\321X\2361Zx\37\61m\227\350R\330\35b\bwJJ\2472\26\327\310\361"
+">\2155\300\7\\\201\334H\4\0\330\267\311\361\32#8k\226\334\352\7\0\344\272"
+"s\6\214\3406\6\313\255:\0\300f9\244:\357\311Z\235\226\37\325\260\35\0\360"
+"R\216\237\32\241\341\216\234~\6\0`\31\222\302\211\365\206pMR\372c\13\0"
+" E\246\37\61D\263N\261\354\327\322,+\220h\347\f\321\220\305\262\33#\244"
+"\270\230\305%\306h($\42\242&\273\34W\23\21\321M\213A\334-\42\242\326Xw"
+"\334ODTf\224\206F\42\352Lt\207\211DD\367\227\30\245\5\215\23\365&\317\305"
+"\371DT\25\254\357\367\242\200\23\3\3i\2128\252t\246\326\330J\42)z\235:"
+"\316\b\367\207\366o\211|P\204\302_(\260\371\262\32\317C\377\25\216}\312"
+"!\241\321I[\216EkF\373n\327;\6\234N\2567|erv~\232\272o\254\252\266\271"
+"mxX\321\263\252\203\177Q\16;t\225\367Ea\234\276\262B\353\270\310\343\204"
+"\13nd\203\3337u@\356T>\273\357|F\257\b7\270\377\247\334<\377\300\23n\204"
+"\317\340\37\232Z\77.K\215\236\253\356>%nV\230\255U\271t\255\230\364\210"
+"\233\257::\330U\361g\300\257y\367Yu\361\33\327\305.\355\13\204c\257\326"
+"5\266@\270!\0\200\362S\360\13\67\3\0\230T\364\370\205c\367\245\234\256"
+"~\341\b\200z\272\376\335\353\235\2113q&\316\304\2318\23\367Gq\3323\262"
+"_\270\345\0\26p\333f\362y\333\366v\250fw\347\322\301\215\201\223\325\13"
+".\\\210\233\360l\327W\24\0`P\7\67\fN6/8v\212\371\245\203\323\34\4b\371"
+"\16NI\0\324\247\17%\256\217\267\'\362\35j\205\260\361N\35\\\3774\347_+"
+"\306e\262\342\214C\7\67\315\237\242b\342\204\270\335\0\200\231O:8\264\360"
+"\t\271\42Z0\253K\267(\217Z*\334;>c\217\bw\224\335\373\13]C\16\177\2uF\352"
+"\323lRqz\253\256#\260\227\347\25\351z-\17\231\243EPz+\346q\256T=\353%\311"
+"!\252\200\306:y\3367m\345\32\0,%\322xs\240\0\207\263<\216zr<\330\342\237"
+"\313E\200l\21\r\301\365\32\336L)\77\373lE#\362\340\5!\rX\335\251\341\321"
+"D\371\301\271BDL\301]\227{\344\t_\264\324\274\227\324\352\4\17\277B\216"
+"\257].WXD\\\212r\364\315\16\227\7\257Z\t\215\332\373\363\254\32\237\312"
+"\214KK\246|\201\315^\23\276T\2052\236y\247\265\356\364\21\6\0\233*\306"
+"\205\260\366\223\363\254\365\332\216W\216\352\260F\357\355\325+C\213\212"
+"\335A\231Y\351\251\311\252\rc\252\355\343\207W\r\232=\312\'\34SX\274}y"
+"\3502+\\\23C\203\335\275\374\202m\312\224)S\246L-\256~\3s\6\5\356\300\243"
+"5\4\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0p\b\0"
+"\0\0\0d\272B\221\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13"
+"\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\64$\376\211x\322\0\0\3\tIDA"
+"Tx\234\355\227]H\24Q\24\307\377\273\253\253\273\355\227\371\1B\371AVPZ"
+"&\204>XiaTPX\220QT\340K\21D\365R\b\42DO\321[A\20\364\222\4=d\17\25eT\224"
+"\204B\221\22!\21\251E\301\306\42\271b\353\272\37m\312\351a\346\356\356"
+"\235\231\273{7\241\202\346\377t\377s\316\371\315\235;3\367\314\0\246L\231"
+"2e\352o\251\376~$1r8\345\217\274\231\17\335]\237\3`G\234\210\210.3\177"
+"\205\210\210b\333\244\1\356o\244h\253\nTm\300)K8\251VP\257\342\2371\277"
+"G\233i\25\20:\330\240\2\0P\332\302|\245$\301\321\310FS\0\200-\311\274\240"
+"$\241\301\316F\203\0\200&fi\320\270@\247S\354\262gK\1\0\3\314\367K\2p\203"
+"U\234\3\0XB\252\375Q+K\30U+\356Y\0\0+\31\260S\26\340\370\251\24\f\251w"
+"\277C\5\364\310\2\320\250\24\f{U\177Q\361\227\244\18ADD\243\245\314\77"
+"&\42\242\253\26y\302u\42\242\211\362\244\237\42\42\352\315\1\200a\42\362"
+"W$m\5\21\321\35[\16\200\3748\321dM\312\267\23\321C\2738_/\353\361`\260"
+".\315\27_[x.\375N\252*Y\313\373\r\356\34\1\246\376\206,p5\25a\211=\337"
+"\5\257\325Qh\363\300c+pZ|c\273\324\4\337F\237\22\366Y\234\5ynxl\205\16"
+"\253w\344@\222\220\207\352\247F\344\b\33\324>1\n\7RC\321^-\257\177\201"
+"\220\207\311.\300\265|{\271 \341K\27\340\251i+\312Jr\16\22\247Q>\\\374"
+"\226\17\247u\rv\25\321\13\31O0}^\30J\256\303\253\314s\34\312N\b\177\317"
+"H\bFD\221\324\275\be\236\304tv\302lfB,;!\213\22\331\t\302\224,J\21\204"
+"\323\224&\374\256L\302\177I\20&J\23\204\355_\232\340Z,\301\276t\261\204"
+"*aDD\320N\272^\202\260\300\35\327\366\207V\t\302\34w\334\307\257\275}\237"
+"\4!\316\7\326q\356h\231\4A\263\333\267\244\33o\206~\224\42\370\371\300"
+"\241\2645\266\335\24uU\216\360\236\17\2549\226\34:o\355\326\226\31~\244"
+"\227\315\363\3155\316\26\257\365\35\3514a\b\353\337\251a\16\364\215EK\32"
+"\366*\217\302\370\252\364\20\255\236\200^\233\365\247J\373\32h\346\375"
+"\370\301\312\2=\342\266\30\340_Vgx\274\213\177\252\317L\31\255\17\0\4Z"
+"\277\212B\34!\260_\320\371>5\177\24\2\3707\353E{\324(g\240\351\263\30\240"
+"y7\37m\372\240\313Ht\267\351\376\326\323\245}4\34gOs{\311B_\217r\5u\257"
+"c3\321Xh.\26\16G#\241(3FLw\347\203\260\272\322\211\227\335U\231No8\7\0"
+"\200\265z\205\267(6\343\37\213\33EM\2312e\312\324\37\326/\236 \310Z\13"
+"\333\221q\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0"
+"\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13"
+"\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\65\0\333\221\255B"
+"\0\0\3 IDATx\234\355\230\333KTA\34\307\277\233f\345%m\363\222\327\36\64"
+"\302 \250\20\3/\b]\37*\254\244\13\322K\241\17\321\237\20%\4QYA\217]\36"
+"z\211\224\2#)*\242\b\13\23\42z0\13q#/\231\227\214\274\355\261U\327\351"
+"a\366\254s\346\234\2319rN\220t\276/\263\373\233\357|\366\267s=s\0O\236"
+"<y\362\344i\221\213\330P2\343\77)\261-q7\265\377\n\347\3\0\304\'\244\346"
+"\227\326\244\232j\207o\267\6F\202A.\232\224QP\262\177\24316\365\370e{\367"
+"\3708\23Y\323\313\17T M\234\307\366N\3068{e\225\331q\236\307\235\221\375"
+"\257\224\266\250o\346\240\36d\373\356\33\337bP\206\33\255\374\251\177<"
+"\333d\205\233\340[\360\235f\324\320\345\310\207\201\253\321\30\213\233"
+"\223\2666\253!R6N[\342\26\252\336^Z\276\236\179\232w\237\r\205c\\\77-z"
+"\\\302\321\241\325\246\\\302\215\1\0\330\245\340\b\27\6\0L3\21G8\232\27"
+";]\35\341\b\0\343t\375\267\367;\17\347\341<\234\207\363p\36\356\257\342"
+"|\356\342V\2p\361\330\246\262}l\307)@4;M\200\233\2\247\25\n\\\222\24\27"
+"\262\266\213\265\32\0\60*\300\215\203\223_\201\243\267\230_\2\234\351\42"
+"\220\251\300\345\3\60\336>X\3340o\317\223\323\342i}\237\0\367c\226\363"
+"o\220\343\212b\0\0\1\1n\226\277E\245gIq{\0\0\341O\2\34:\370\6\25\62Z\334"
+"1\332\210\275j\31p\357\371\26{e\270\23\64\367\347BC9\177\3\r\246\210i\376"
+"a\352)\23:b\7y^\235\320\353{@\35\35\346m%\252\213<N+\24Y/D\34\307\3054"
+"d\6y\336\327\265\326\271\325G\352\333c%8\234\346qd\240\334\302\226\375"
+"T\177\tP\42\243!\256\325\304\13_\347g\237\277nB\257<\'\245\19}&\36\t5T"
+"\315\277\210H\77|W\213\326<\212\341\232\233\306\245\360Y\256\305\257\220"
+"\300\227~MKL\316Z\307\326\276\335\241Yx\215\312}g\316\317Z/T\373!\0`Y\375"
+"\214\35\330\3345\351\2402\332\374DM\353\332i\23\6\0\305\215\277\245\260"
+"\236S\252c\211\223\277\266yR\300\232\274\267\217\37Q]\222\25\207\245E["
+"7\25\26\30\16\214\231\356\217\37Z\332Lg\324\2\224\270\376\26!\204\220;"
+"\207v\25\347\330\355}\211.\21B\by\265\300\316\22\351\b\355\257lwh\311t"
+"\227\274a\317\255|\344\251\241gs\213K\270*Z\214\271\203\213\331B\313\310"
+"\312O\264G\25*-2u\337\370\0\340\350\240\342\301@\245<})4\355.\253m!\344"
+"\2763\334r~\205\225:\343u\32i]\tR\267rd\37\32\276i\325\362\267\265J\345"
+"L0\271\205\244O\31\266T\35\216\322\206\2669\246\1\225\337)l\372f\206\322"
+"+\333\357t\305\37\250\310\13\r\2655\2178O\315\323b\325\37\271\227\273\250"
+"\314\331\277\357\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0A\0\0\0p\b\0\0\0\0d\272B\221\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0"
+"\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\65\24\301Ky\77"
+"\0\0\2\235IDATx\234\355\227\315k\23A\30\306\337dc\276\232\217\255\332\212"
+"\330\306\212\242 V\244 \24\214\37\21\252(\212V\221j\16\202\240^\365\42"
+"\4\212 \336\374\23\324\243\342\301\200\240\210\202\36\252m\301\42\36DD"
+"L\243(TB\253-\32\67\331\264\301\360z\330l6\263;3\273\331\34,8\317eg\366"
+"y\347\2673\2633\363\356\2\b\t\t\t\t\t\t\t\t\t\t\375{y 2\330\t\35\376\25"
+"\21\210{CA)\6\61)\20\366\310\271\303\365\0y\247\254\331\262\'\34\360E!"
+"&\5C\336\370\233\221\6\301\7\33\236\323\310e\275\260\355\31\315.\30Eo\333"
+"\243X\16\4\37\314f\0\42\275\7\3262\2\276f\0b\233\206:mI\341\t$\364\216"
+"\264W\275%\355\t\303\322G\241^\347>`\341\32\323j\314\303\24\277\217\223"
+"\366\4\345\27\2270_f9\306\273(\362;\261`O\370\315\'T\354\t6\252\332\23"
+"\230!62\b\314n:&\270\225 \374\227\4f\240cB\264mB\244]\202\177e\273\204"
+">\246\303\42\230;\275\303\1\241F\3347\347\207\224\3B\211\270/\223s\357"
+"\77\341\200\260H\32\333\211\332\331n\7\4\323i\277\257\271\22\347\344#\203"
+"0C\32\351\2469\226\356\260\262*A\370@\32[/6\212\341{G\315\315<4V\367\37"
+"\62\271.\352\223\227z\217\26\345\251\260\'\207L\314\261lN]=0\254-\205\351"
+"\315\315\26n\311\203U{\254\217j\372\32H\222\365\3513\353\3V\304}6`\246"
+"\247\237z\77C\256\352\313\77h\363\3\0PH}cY\4\241p\212\221\371>\'\77\61"
+"\1\344\316zy\\\245\305\214\r~a\3L{\363\351\356\217\226\210\352\350\320"
+"<\7`Y\32\241+\227\210\263\244\226\275\252\215\240\377u\345\247Z)\226*\212"
+"\242\226\213\252^\2411\243\347\36+\365\231\256\276\32\355\343=\236-\357"
+"\306\333\210\210x\327]s\0\200\33\210\210\370\302\357\32\60\202\210\210"
+"\245u\256\1\361\357\210\210x\323Y4\355\244=\337\5\0\0\343\356\t\'\265\213"
+"\315\7&\207 \rh\327^\355\302LVlu\325W\303\244\7\0\340\364l\242eBB\337\272"
+"\17\16&/\214#f[&\4\315\207\300\256\226\219\22\220\357\340F\323\336\305"
+"C\242\246\246\231\77\6L\365(M=X:\322r{\0H\327\32\200\271\375n\0\0\307\n"
+"\365\355}k\215m,5\371\0\204\207\367&\226\346\246\36qO\'\241\345\246\277"
+"\f\242\177$\264\264]8\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0\\\0\0\0p\b\0\0\0\0\266\352H\311\0\0\0\2bKGD\0\0\252\215#2\0\0\0"
+"\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\65(\356"
+"$\5\270\0\0\5\333IDATx\234\355\231ilTU\24\307\377\3232\264U\232\2A\304"
+"*\246\r\240qA\242li\202\241j\252\325@\re\27\25H\214\211\t\2114\221\b\251"
+"1QQ\242~@\277\210Q\210\342\22\5\312&\t\244\202\30\303\42k\bP\22\4\24\246"
+"\240\25\213\245\322Z(t\372\367\303}\313\275\347\336\231N\355\270|\230\363"
+"\241\363\336\375\365\374\337\271\347\335\375\1\377\17+\353\244oo\244[\273"
+"\240>\320f\307\3304\213\177D\315\216\347\245U\273\202\206\275\223N\355"
+"\1\r\246xgi\32\305WS\330O\371i\323\236.\265\311\17\322\245=\350\367@3\36"
+"$\246<M\342\233\2\305Ec~\365\257\317\365K\213\366\\_\257m\nP\\\347\337"
+"}\222\16\355[\233=\265\2061\0\320o\233\257^\331s\355\310VO\253\256X\25"
+"D\375\376t~`\217\305\347yR\265\5AQ\2657\314\254\355\251\366\320V%\264\254"
+"\227V8\343\212*\234\3253\355\354\235$\311\216*\263x\\#I\262\251\260G\342"
+"/\220$[\37\227\345\303N\220$7G\222\370&c\0\20\255\316\5\2005\7-\322\277"
+"*\n\0\357\237I=\320\214\375\33\26\263G\323\300b\0\320\234\230/\1\0,q\303"
+"#\310\372\'\343\316\210\'\262\274!\263\217:\336G\315\254\221\205}\0 \247"
+"x\332.\33\267/\177bTa\216R\310\37|\377\374\275&\276\374\331\264A\236~\316"
+"\26\313y\245\376\374\354U\26\237,c|\252M\243\37\353#\375\rV{[`x\366m\222"
+"\334\236\'\246\204\360y\223,\226\316\357\231\374u\311\357\263\363\373\265"
+"\317\226\nP\324)\234O\230|\250\344\13`\331\34\17\235\314\225\304zg\303"
+"M~@\340\35\266\370h\17\315\364\13\202\246X#\377U\274\261\365\2\227\330"
+"I\217\253\237\3725\26\261\362r\304\344w\310\232\315\266$\274\205\360\42"
+"\273N\330\'\275o3\371q\201W[\n\257\222$\343\203\203\202\260\207Z\313\4"
+"\221\27\311\313s\244C)\0`\327YG\344Ce\344\373M>Z\362\207\205@\301U\222"
+"\344|\2076pH8w\26\318R/\370\273\302\177\252*\36\22\226h\3\227\254wd\222"
+"qK\331^*\234\367u\77:#\267\332\303.\223\227Jn\366\204l\265\206\177\315"
+"\251\r\34\23\316\361\233L\357F\301\27\32\370\1U8R+\322\307s\331\217\262"
+"\314%r\\.\214\314\274L\0\0\304\354\325\223\262{d\275\2771pn\213\254\231"
+"\321IO\221\264\307\254\320N\b\357\216\1:\235(\237mt\322;U\321x\335\303"
+"\230\346d{\3116\226\237\223 \255\302\272n\334\2310\362Q2\264\315\372\223"
+".X\221\267h\235\364{\222\344\362\204\332\300i\341\335\36n&\360\240\245"
+"\255w\322\201j\139\301\2203g\177\231\227\336Z\305\355\254\0\23\203\253"
+"\212,\0h\331\232$\362\22\31\332\272\0E\316:\42\217\5x\3IrU\22mD\316\t\357"
+"\266>>\32\343\320\16;i\236\232\372\247\233rfZ\254\355Y\336\243\376\225"
+"{\317\351\247\255,\17\0\332\267$\213\34\343eh_\372\344\7\222d\253\300{"
+"<\372!I\263q9,K\34\253\360\2227\223\337E\222\274\372\242\300^\'\365\334"
+"\236I.\216e2t\257\342/\221$k\13\345L;\27\0\60V\177\222\26\252\270\267\26"
+"\1\225\372\317\332_\366\t\254\236\255z\362\316\337\272\210\274\227\34W"
+"\233\242\0PD\222\354\30\210j\201U\'U\13\331\252\344\322\0V\310\274<\2\0"
+"U$\311o\201\341\22\227\3\30\242.\213\244\226\265>\267V4\225\301\37\254"
+"\3\216\312Y\254\2~G=t\246\313\310{_\24\241\235\317\6n\214\223d\347\315"
+"\0\226\n\34\3\260\235$\371r\227\332\300JY\361R\340Y\222\344n \230\315B"
+"\33\201\376jMq\267%eo[\254\305Qe\320V\0`G\223\300\25(\217\2\300\251\272"
+"\24\42\317\275$B;\27)h\'I\252\203\242O\5\336\343\2359\276\225\2026\360"
+"\205\254x\311\223$Io\352\235*h\334;\2+II|\262\24\177\273\206$Y\255p\237"
+"+\2\253\300\177Nm_x\335\237\302;\246\206\253\333=.7gjDX\226\2226P#C\'I"
+"\36\363\361sN\\\226\242\370L\247\367+>\266\6/\222\274\30MQ<_f\225$9\42"
+"\340\373\35\364S\227\220\3535\264\324:\nO\36\16.\277r`\271\4NlO;B{3\304"
+"\326\262\217l\273>e\361\276\355\266\373h\215\237\266\350\6\247\216\263"
+"u6o\267\212\352\17h7v^\334Yq7}k>\302:j7\33%\275\266\311)\343\266\1\327"
+"d\275\307\3518*\207\345m\335\320\6\266\t\357\6\263\206\237\13<\317\255"
+"\222`D\220yY\337i\334\212\367g\355\305\222\333\240\270\31\332C&.0\273\331"
+"\336ni\3\337\31\336\27z\t\\k\340\205N\211\304\7h\346|\264\261C`\263\275"
+"t/+\300-\306\350\364\230\304\203u|\314%\220\324vk\336\315\326\31\2\16j"
+"xq\42\215\204\363\207\236\227M\355\26\326\363\342\356\373\311\254X\13\315"
+"\2616\2777\244\261\256\276\368,\34\265[]_V\303\303kyz\21Z\342i5\334\16"
+"m\271\354\300a^\272\333V\0`X\20\332t\27.\363ic\366\337\20\307a\317\373"
+"\212\363\263j\324\77C]\221X!\311j\303o/\265-.z\315\337\0u\277\255\0\301"
+"Q\201\343\214\17\0\60C\321\26\353\3703\264d\315hNo\0\300\252\77\2344_\35"
+"|6tg\236\310X\3062\226\261\214e,c\377\275\375\5\314\366\203K\335\317J\365"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0T\0\0\0p\b\0\0"
+"\0\0\245=\b=\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22"
+"\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\66\31\224\327VA\0\0\4SIDATx\234"
+"\355\230mhUu\34\307\277g\336]\267\332\230\33Ks/\346\26Kc\320(\2M\261\246"
+"=\315\n\24z\24#a\240H\222\2040\222e\257\34\366\200\320\303\210\214^$Z0"
+",\42)\231\226\206A\206Jh\23f\17\16G\226l\327\256Y\266\7\66\267s\277\275"
+"8O\377\337\377\234sw\356Co\342|\337l\373}\366\373\334s\317~\377\377\375"
+"\357\0q\342\304\211\23\'N@\36\314\320\311+\305rV\375\346:9\275\244H\322"
+"=T\362syQ\234\253)\362V1\234\265\303R\232YQ\4\351\307\3242XY\260\363i\335"
+"I\276_\250\363\346\77]\227\351\336\200U\5J\277pM\235\213S\316\367\227\252"
+"\13r\266;\236\361\'\200\306~\347\247}\2058\353\377\266-\303\213\1\240\372"
+"\250c},\177\247q\304v\3647Z\205Rg\35\\\236\233\267\364y[\361e\225[\332"
+"no\3\237\346\353l\32\265\4\273\23Jq\355\204U|&\77\347\254\343$\311\351"
+"\255\262\274<M\222\274Z\227\227\264\203$9\272F\257\337z\236$\331k\204\364"
+"\205\325\1\240t{\31\0|r\332Gj\266\226\2\300{\277\346~\241q\342\304\311"
+"5\6\360\346\352\20\66r\7\26\365\2065\36\333\0\324}\33\0\206\356A\2\230"
+"{KH\3375 \31\306\360\23\200D\20M\0%aM\205\344\77\221&\200\364\330\215A"
+"$\223N\1\327\7k\346\4\60\63=\236\2\60=X6o\226\206\246\207\255\257F\363"
+"k\23\372\31\344R[\231\375[\r\335\31\215\235]u\203\353(_\271\327\364\210"
+"\271\257u\266\347_:\2425\276\244\274x\227\306\232\345\265=0\346\200+\255"
+"\222\264k\215\333\24\66\373\242d\372\337|\233]\37\323\217\303\306)\331"
+"xJ\205\35\222m\326z\33\355\372s\320\263F\273\324\333\25V3.P\237\326z\223"
+"U>\341\377\274+\31\220\322\267U\370\201d\313d\353\322\300*\0`\213l\274"
+"\252\236\354\357\222\354#\331\331I\222\374*\300\2119\332\0\210\3\310I\201"
+"&kE\347i\222\344\212 )\272\245\364\33\225\255\227L\235\r\264\220$\317\4"
+":q\233\34\362\314B\205i\367fP]\335\357\370\337\230\222\303\262\363u\217"
+"\30\77J\304G<Vq\215$/&\374>\0\300\303\262\361r\322%\17iN\36\364\2726\221"
+"$;B\234\276\251z\334%\7t\251\331\340\262>\222\34\t\332v\254hw\356\220S"
+"o0u)_u\3302\222dw\250\23Ur\252\314\5v}\227\317\311\77\234{\363!IN5\206"
+"K\365\251\332aU\313\257\220\244\266\1\256\263X\355\4I\356\317\342\304B"
+"\331\371\273\265\3o IvM\nv\334\352x\221$yw6\251>U\217\2\0\316\220\344_"
+"\25=\222\265\0@\311\5\222<\221\325\2116\331\370\31\0,\267\377\24\255\222"
+"\355\6\234)|*\273T\233\252\251:\0\373I\322l\322W\300H%\200\317Ir l\360"
+"\235hS\325\t\314\277N\222\7\0\274 \331f\240\336$\311-38Q)\247\352\202\201"
+"\35$\311\225\0\252\345^\335\17\354\264\356\366LR}\252\356O\16\221\3449"
+"\3\320\36\245\220\367&S$\271kF\'\232\344T\365\254#In\4\0,\221\322\236\265"
+"$9U\77\263T\233\252\311\263$\231\266\77\6~\220\254\217$\367Fp\352SE\322"
+"{\300\265)\200\335\31Ej\f\370\372\334wX\361\217\217\35\213\342\364M\25"
+"\325\245\375\256\217\371\376q\r\216\377r\274\245\335\242\243\363Q\217\215"
+"\332T\361{\205}\247\261\215\21\235h\322\366\344\365\n{V\242t\364\347~r"
+"\252\206\222\n\262\366V7]\221\235\332T\275,\330\33*\232\234\37]j\374\242"
+"6\316\23l\221\272\342\366Dw\312\251\322W\314\327\36\3124\7v\207\304: X"
+"\321W\314\223\36:\234\213S\235*\337\212IzOS\333r\223zS\345\377\250\330"
+"\351\240s\331\236\352\4\245\327n\f8#-p^\260=G\247;UAg\244\203\1\363+\22"
+"\372\274\352>\213\234\34\365\263z\353\220\231\352\317\365J\343\304\211"
+"\23\'N\234\377e\376\5p\207\231\265J\271\332\304\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0F\0\0\0p\b\0\0\0\0\206fY\350\0\0\0\2bKGD"
+"\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7t"
+"IME\7\322\5\6\4\66-\265c\242\364\0\0\3DIDATx\234\355\230[H\24Q\30\307\277"
+"]/\253\273^\321\314,\326\f-\220\212\36j\353A\302\214\264\b\n\302.\24I\21"
+"\24E\b\222\17\305\n\335\350\366\26\24\26B\4\202\201V\30\4VT>X\321C\4\241"
+"\226i&Z\222\231ZJ\353}\333\257\20733\315\234\357\314\356\314\222\2201\377"
+"\227\235\375\177\377\357\267g\316\3169{X\200Y\245\r\1\224u>|J\342\'\205"
+"\202\376\325acn\242J\357c\303\244lA\215.\207GI\355\323b\2\371aa\352\220"
+"SW|\30\224\235<\5\261\312<%}H\351\376\245\334\326F\323\230\373J\357\t\317"
+"W\371\2727\331$e\277\3349V\f\220\325*\277\2536Gq\17K}}\36\0\200\344\'2"
+"g\233\31\212\355\261\324\325\232\305\214(\371I\354O3\2019*5=JT,\257\264"
+"\274\356\32\247d\373X\313\265H\225\271k\202\231{\214R\42\236#\42\242\277"
+"Lk\347\r \42\342\367\f\203\230rDD\364m\345\375\234\16DDl\260q~$\37d\212"
+"\273\4\0p\3735\357\177XS\26\5\0\220\331mp<\263Z\27\350*\326\252GNV\352"
+"g\236\331\377\316`\376K\214\r\222\235\213\362\17\317\23\325|W\37v\372F"
+"T\206#!;o\3572.5r\357is7\273\214\177 \232\377\35\42\266\275\324\257\316"
+"\f\34q\251\212\316W\2\214G|\3\25\252H]\222\266\2263N1g\305\230\270)%\341"
+"\345\227(x)fD8c\0\275r\3408\255E\277\243\234\32!\3051)\225\257\213\252"
+"k\3\4\23X\'\n\26H\325\227\321\302O\271A\207\3636J\77\67\226#\276\345\224"
+"o\224SNcic\254tLL\1(\241\230\237\363IJZ\350m:\373&\200\255\221rj\371P\356"
+"4+\24\352Q\0\226LP\316z.\323\300\354z}\n\300)\212i\323~\37E\314\35\317"
+"\n\206q\264S\216\346\31\213ha\346\231`\24\200\2\372\360\370\334\252\372"
+"A\346}v\6\307@5\35\316\235\77\325\4\351\230\263;\4\5\346\fRN\221R=\307"
+"\214&\262\42\211\16PL\207C\252\271\3316\340_\21\222\2\266&\312\361J\265"
+"\32\366\26624\5 w\222`F\27\2\0\200\207\315\377P\212\21\214<\1j\325\3\0"
+"\330\330a\5K\rQ \246\223r6\3@1\273l\321]L\234\n)\2463\6\34\37\331\245p"
+"\17\22\352\26\345\234\224NNXg\230\2s\177\20\314\370*\346\215\272C\267+"
+":D\2073\312^N\233\240\200\375\5\345 \42bO\250\305\244\325\362)1f\273)\n"
+"\300E!\245\321$\5\234]\2\312\364R\263\30\330$\300\\1M\1\250%\224Ac\213"
+"I\253\214a\36S\241\37\326\77m}!\373\355P8\30h\327/\231\301\230\221\205"
+"\2610\26\306\302\374\213\230 \331 %\27o\4\371\3530\b&\2357\26\350g\365"
+"\225\360\206\377\201\351\317\324\rG\210\314\330$\367\312\222\252\305\274"
+"\355\332\227\352\262\333lSF\6Q#>Jh\325\314w\315\336\347f\3461\226,Y\262"
+"d\311\322\214\3507\277\357\314\217\224R\205\317\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0"
+"\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIM"
+"E\7\322\5\6\4\67\33c\302\6,\0\0\3\377IDATx\234\355\330}hUe\34\7\360\357"
+"\271\336M7]\333\352\3326\33\363-\223P\232Kr\42\232\22\330\213\240B\26\23"
+"\222D\363\5\262\376\20\4\211\375#\222\203\214P\32\242\250\25\211\214,2"
+"$\230\363\5\304&\241\230F\271,]\276L\3264\245\271\266\333e\353\356\236"
+"o\177\234\227{\236\347\334\363\234\347\364\337\340\376\376\331\331\357"
+"y>\367\367\234{\236s\177\367\36 \37\371\310G>FT,6\351DS4Yz\307\225\34\256"
+"\217D\77\243\'~+\212 \227Q\210\335\3722qW\244\346\42m\372%\245\270Y\242"
+")\33dI\356\327\223\225\177\271\42\343.\371e-\372\255;\377\2759\367\234"
+"\343\356r\r\271\306\231\235z\r\230\334\341\374w(\\\326\364\331s\357\316"
+"\1\200\362\323\216}5L\32\247\354\231\35\223\255D\201\263;\376|<\204\276"
+"cO<Q\352\246\32\355\355\374\265Z>\231\264\246\355\215{\222+\7\255\344\33"
+"*9\352\34Irx\263\230\236\377\200$\331;AA\267\220$\223\313\345\374\264\353"
+"$\311V\303\315\304\345)\343>\0\200\257.\311\371\316\271\233\13\0`\342m"
+"\325\232\3631\362\303\300\204\366\300\301\206\37\0\0\255\323s\214\315\32"
+"\210#>%\220\216\261\376T\347\232\21C,\302\n}\370\177G\34\303\267*sv\205"
+"\373I\fZG\335c\213*\rq\220\177\230\326\3013_\370>u;f\bS\213^h\311\366="
+"^n\360|\236\37\226\351j\337*V\273c\37\tw\352c\275\22\335\344\77\203v{h"
+"\257\224o\224h\233\237\356\263F.\25J\371\222\373\42\65g\372h\13I2S\347"
+"\33\330\42\225m\361\315\270J\222\374\304\277\234\242\36\221f\344\335\367"
+"\204I\222C\223\374\324\375\344vB\3560[I\222\7sH\214\356\22iz\2520\\\330"
+"C\222\231\247rQ\254\223\312\212g\365&\311\300\316\21\357\24\351\277\336"
+"\3232~&I\6}\tZ%\225\365^\373\227H\222g\2$b\277\210t\250:;v\222$\371J\20"
+"\305\353R\331fw\244\216$\371\223\21H\215\37E\232\252rF>\'I\256\n\224\300"
+"R\251\354.;_\223&\311._o\363\306y\251l\205\225\376\220$\371\256J\342E\251"
+"\354N\0@\331C\222|0VIqV\244\3\t\300\2715\266\251%\236\227\3126\1(\350\42"
+"\311\177\22!\24\'D\372w\271\263\7\77\16\223\250\227\312n\3.\223dzb(\305"
+"1\221>,\265\336\272\303\341\22\265\246h\33\333H\322\254\325\2408\42\235"
+"\255I\222\307u$\236\36\246\77\26iQ\34\362\313\363z\22S\323>\272B\223b\277"
+",\257k7\304\232A\211\256\327\225@\263({F\353\323\252\224@\267\352K\347"
+"\6\265\243\257,\n\35\337\357\241;\243H\340\375\254\34\252\n\237\356\215"
+"\362l\257>\20Mzz\265\257\345\205\206\333\253\217F\225\331^=7:\265{u`\233"
+"Q\305n\222\2526cw\221X}]\311\320\257\355)\317\310#7\22\0\256\324R\371\372"
+"\261\267\255\7\t}\333\307d\223\333I\206\374\22\3\212[\335k\330^\354$+\222"
+"$yC\331f`\264y6\235\3735c\17Ir\203\272\350z\357V\317\330\277Y\247\247I"
+"\362wu\321\330-\341\6\333he\255\2254\250\213\316\26\244\375\244f-I\362"
+"\273\340.\16 \206Yb\302\4\200\332f\0HoR^\230\30\306\213\211N\0\323Z\213"
+"\1\240\351\212z\275\330(\2547\231\0\26[;\377{\365{\4`\236@\257-Xy\324:"
+"\272W\35&1J\372n\350\224\327y:\365V.9\260PC\3028\342\227\335\317\351H\240"
+"\360SY~S\241\'\1,\277\352\205\27\226hC\0\306\302]\27S$\331\177n\307\263"
+"\272\306s\\\366\250\331\333\37\245\340\b\213\377\0\251I,\324\31X\0\332"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0F\0\0\0p\b\0\0"
+"\0\0\206fY\350\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22"
+"\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\66\6\31\337[\264\0\0\39IDATx\234"
+"\355\230_H\24A\34\307\177{\232\247\247\36\212\231eq\225u\5f\177\210\224"
+"\376\321\37#%|5\21!\211\4\243\36\204\310\207@\241,\242\336\n\n\211\240"
+"\227@A\tT\212\364E\37,\353A\42Q\314,+\305\210\254\23\275\362\357i7=\314"
+"\356\335\354\376fng\5\301b\277/\356|\177\337\37187\2673;\267\0+IQ\342R"
+"j\266W\2310xi\331[\310\244\25\376\356\266\77\204\220\376B\326\313i\17\22"
+"B\336\26\310S\212\347\b\325\35%\344\225-\250\336uY\312\1\255\7!\2274\357"
+"d0\344\235\223\304t\207z\220_)\324R\6\302\236/^\212\262\2030*\247\336A"
+"\326+6tpp1{9\r\236g\202\211c\33.\216\247k\b1_\330\306\260\3303Q\234\237"
+"\231\207C\324K\236c\274,)\f\324\204{tj\336\335\260\367T\216\2\61\257\264"
+"\36c\31\232\347\352\321\274\321tI\f$\324\323\36o\274a/\271\231z]\33Q\\"
+"A\216\246\375%Y\321\37[\236\5Y\357hQ\246\343}K+\221\35\214\255\225\247"
+"[\304D#Z\262V\234y\301_\232\226\365_b\24Hve\34\273\260\216W\233\272\337"
+"64\345g\f\247{\353\3413;\r)\177s{\3570\275Ll\345\315\177\21\217\355\250"
+"Xd3\77/\262\17\tW7\7\223\303\377\0\325L\2441I_\363\316b\314\r>&!\20JT\241"
+"}\246\nc\374\334\31\3\370\252\5\256\340Z\314;\314\251\343R\234\363j\371"
+"\1\257z$\2100\301\343\274`\256Z}\35\303\375/\217\360p\372W\211s3^N\r\0"
+"R~`N%\216\255\231\241\245\313|\n@)\306\374^\217R\352B\37\210\26a\224\16"
+"\314i0\2062\325\223O\236\210\2\260}\16sN\30\62\317\251\335$\246\0\\\303"
+"\230\1\375\367\221O\335\331\315\2210\316A\314\321\335cQ}\32449\375\345"
+"\342\233g\312\303\324\313\2517\352\212\214\201\307x8O\302U\367wj\225\230"
+"P \325\2079\371\241\352Mjt\212\237\374\232\3120\346\203S\255y\3506\260"
+"\270\307\224\2J\'\346T\251\265:\332\2545\247\0d\316#\314\364&\0\0\310\241"
+"\363\77\236\42\203\321&\200U\23\0\200\362\2226*\244(\20;\2049\5\0PH/\373"
+"\204\213\311\240<\214\31\212\5\347\'z\311\335\203\270\252\307\234\253P"
+"I/\32\245)\2206\2010\263\331\324\233\366\230w\17\351<\36\3164\375Sc\201"
+"\2\216.\314!\204\20\62b\266\230\364\332\25\340cN[\242\0\334\346R:,R\300"
+"\365\231CY\220\374\305\301\350\24\7s\3172\5\240\1Q|r\213I\257\364I#\246"
+"Z\34\26\237\266\276\241\375v|)\30\30\24\227\254`\254\310\306\330\30\33"
+"ccV\42&B6B\t\275iL\\\22f\255\321\330 \316\212\345\3561>`\306\360;-M\334"
+"\327\316qI\236}\245\17\267\31\355\370\263\253\343\35\212\22\220\31D\35"
+"\377(\241W\257\261\327\277{\337,\77\306\226-[\266l\331Z\26\375\5\r\353"
+"\213<\32\34\323%\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0\77\0\0\0p\b\0\0\0\0\214:\367\272\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tp"
+"HYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4\67+E\33"
+"\66\200\0\0\3\301IDATx\234\355\330YhTg\24\7\360\223f\342\226\3045\246\251"
+"M\225\270\200\332\16(J\26346X\252-\212QQ\250\212\210(}\20\37\212>\344\301"
+"\25\254q\301.\1!\246\324\22\252\264\245\bi\253\250\4#\6\67PK\24\225(Vj"
+"C\2151ndQ\307\3218\377>\314\314\235{\357\377\214\334\357*Ha\316K\222\363"
+"\235\37\337\311\314\235\357\236;\351\3425\29}B\236\213)\202\177<\1\332"
+"\276\31\354\223\317\13\1\0pc\270/^\336\203X\34\363\303\13\37\301\2121\346"
+"<\277=\301\361\2511\357\327d\343\b\232\362\264_\355\374J\232\251_g\347"
+"\341RS>;b\343\367>6\345\301\256\204\216\374\230k\312s\376J\360\246\22S"
+"-\201\243\226\276\273\342\rc.;\343\372yu\216\271\226\317\343\374\364D\37"
+"Z\246\204\243\372\326\22\3437]Dd\370\35\0\300\323\257\372\373\321\322\357"
+"\2\0\240a\374\13\253\222wVT&\42\322|\300\327\346\377\2678\5\37\261BDb\27"
+"e\266\337\215_\221\317zI\237\351\327\7DD$\275/-\334>\327\334\322\372 \324"
+"\201\350\237%{\251\42\322d\375:\300\365\312\376\263\376=gm\237+\374\362"
+"W%\226\337q,\264-\13\270\367\332\316\374\272\355\177\36g_\370\235o\222"
+"\357\367\20\217L\265\255O\266-|\313\37\251\336\227y\373\32{AY\42_MZ\344"
+"K\346-\216+f\246\225\77\234\316|\302S\366\316\333\340\242x\272U9&3\316"
+"3\257u\226\304\17\312\310\'J\367\33\230\267\16r\226\254\212\345\367(<\30"
+"f\77\307U\23\273G>|\213y\372Y\346\277\270\213\266E\363[\225\355+\230\267"
+"\323\213T\r\0x<\224\371\330\20\373\5T\265\7\0\360\203\322\375i\346u\\V"
+"\7\0(\346\205\325\314\357\347qY=\0\\\345\374\250\207\354\227rY\364\370"
+"\334@\351\264F\346\207\24.\27\1`,\245W2\357\314w\226D\77\351[\372\213\204"
+"\251\377\202m\274S\305Mm\1775\322\216\360\366\r\6w\362\345\314\273\13\274"
+"\363\374\16\366_x\347r\210\371\t\203\21j)\363\220\301\354\235\367\200}"
+"\205A\367u\314\317(G[\262X\300<\374\256w\236{\227=_\336\311c\37\363\363"
+"\31\336\371\\\346\317\f&\320\301m\354+\r\272\337\313\374ro\357|\26\363"
+"\236\42\357|`+\373\257\r\272\337\315\374\32\217\'Icz\204x\344\303\344\345"
+"\356I#\373{>!\252\217S\352\263\217D\344\'\316K\rw\377\2672\3345\0\300B"
+"\316OU\272\237\256t\335\5\0\63(\237y\235\267\337\315\\\212\1\0\37P\276"
+"\212\371\277\3\24\277\31\200\362(]\372\234\375,\205K3\0\300\375]D\337k"
+"\314y\354\24\221\211\3215wg;\230\337V\2770\331\25]te\225!\21\3635>\244"
+"\33\0\320\341\314jC\342>\215\313\246\350b\2133[\311\374\236\372\274\236"
+"\33{\244\277\344\310Nz\306~\261\272}ml\365\244=\231q\201\371~\225O\213"
+"_\242\7\355YeH\354\30\246\3617\255\343\341g[V\33\22\227k\274Wb\240\262"
+"M\340\201\77\231\327k\267\372^\277%\n\266\'\322k\230w\217Px\326A[\305\32"
+"+\255\r\211+\25>\376\222Z\241\r\211\215\334}\326\306\'\216\22\353\335U"
+"\206\304\307\243\335:\177m\273\253\246\\D$ \222\267\231;\375.2\322\332"
+"6c\340\220\267\307\25\6\251\241\316\330\317 o\357)&\210X\317\257~\242\363"
+"%}\327\353\335\377Q\217\377\255S\221\212T\244\42\25\257;\376\3i\212\203"
+"<\234I\216I\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\63"
+"\0\0\0p\b\0\0\0\0\226\6\27\64\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0"
+"\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\48\0n\77\323\17\0"
+"\0\2\340IDATx\234\355\226KHTQ\30\307\377\243\2239bF\276(\n{hO\30A[\230"
+"\221&\21\22\24\26\bAE\6\225\364\200\244E\5A-\n\335\224\5aX\2136E\22\5\25"
+"\61\265\263\202\250p\243H\364 \202\264\214\244|Dc2\216N\363oq\347\361\335"
+"\257\211{t\21A\363\337\334{\377\337\371\235\357\273\347\236{\316\1\222"
+"J*\251\244\246\256T\223F\356\334\364\300\344\272\365\336\33#\373\317gO"
+"\2\251\r\220$\331S`\214\324\204\30\321cS\244l\2241-6C\346}\211#\334`\204"
+"dt\t\204^\23\304uS\42o\\&\314\t\211\4\327\230 \233\303\2\31\\o\202x\375"
+"q\42|5\337\4\311}\27G\272V\233\20p\77\214\21\3\7R\214\20\264D\211\237\255"
+"\271f\4\352\243\310\363\22C\2\25A\213\370\\g\364Q\0\240\340+Ir\2749\313"
+"\224@F7I\262}E\342p\302\324\253\326\2\300k\237q\222\377O\221qk\334f\326"
+"\374\362Y\0n\353\276h\221\31\223\r\0\221\31;k\22\245M\211q\'`\2\203\201"
+"\21\0\200\253DO\223aq\77\20\235\372\23\3276\315\216\271\rT\352\236.\230"
+"\350\2\373\241T\230\305\1\205\214.\27\321\231\21\363\223\\\307=/u\232}"
+"\262\314\205\21\323\266\36\265j\344\216\355\325J,\3236\371k\302\n\351\263"
+"\357@\353,W\256Hs\6\25\22\252\262\17a-I\362\205pR\332ueMv\4{I\222G\205"
+"sL#\35n\305\34!\311\260\30\264\225A\205|\377mB6\221dG\3749\363\255N\263"
+"C\326\r\0\310\1\0\61\224\27\226\250N\257\267\211\7\253\312\241N\0wc\346"
+"\326\335\ny\177PW\2465\177X\25\66^\346\204\244>\321/s\334\t\301I\215<r"
+"<\340\224\207\24\62\64\327\t\311\352\321i\2668V\326\246\221K\216\310N\215"
+"\274\312pB\n\375\n\31+vB\246u\3504\r\tZ\331g\353)\375\361\36\264\304n\363"
+"\32\1\370\356\353\16\252\3640\367\213\223\304.\322\376\273\0\0\262\77*"
+"$\\-\242>\222\334\257\231\333\372e\232E0\'H\222\333\25R\257\221\3164\21"
+"=L\222\334hG\226\215*\344\307R\21M\265N\77\2256$\255K!\334#\303u\226g\77"
+"\224\234\323\310-\31\315\354\263\314\42iV\353\25\260\327\266U\\\214\270"
+"\362\24\227\337\257\220P\205Dj\243=z\342\236\313\247+;-\221\322\221\210"
+";!\314C\32y&\177\315\312\3302,\266,\257\336h\276-\210\305\334\345W\342"
+"3\252\327\262\0xn\244\303\256\2413\326\3253#\257Pnm\376x\32]\331\37\365"
+"\24@l\3376\324\310_b\374\316M\222J*\251\244\376\21\375\2}P\254/8\266\360"
+"\370\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0p"
+"\b\0\0\0\0\214:\367\272\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22"
+"\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\48\21\4\217\363\375\0\0"
+"\3\223IDATx\234\355\230mhMq\34\307\177\263\315\3100\306l\fy*\303j\36\302"
+"F4\345!\42\212<\244,\313\13Q\342\305^x\230b\363\220d\257\206\220\42\274"
+"P\233\224i\361b\31\312C\310\204$\31\326\346\261=`fs\276^\234\335{\377\347"
+"|\177w\367\336Cy\341~_\355|\377\337\317\375\375\356\3319\347\377;W\344"
+"\377Vl\250@\332\224QV\223\347\217\317\251\262\0\334\233\357\21\337\334"
+"\1\0\200\265\313\23\276\310\202O\353<\340\261\257\3748>\364\214\234\317"
+"\205\241\25z\246[\27\374$\363 +r>\301<\350\259\377\306<\250\355\42\30D"
+"\203\332\215\357\237\219/\307\2x\271\7\\\372<\366\341oR\275\360\222\\a"
+"\343\325C\203%bB|B\356\212\361\362\274\274\22\236\312\377\77\272\5\17\332"
+"(\376\353\267\267\327\302\177\211O\374C>\310\335\31Zq\42\42\22\313O\247"
+"\206{Ok\353\276\2646v^y9g)a=\360\377\331\327uf_\357\232\340\314\366x\306"
+"\247\277$\260<\324\261P\277>\316]\353 \343/\215\357\234a.\\\352O\255N\355"
+" \334\3125\326\247\30\13G\370\226Lx\302\345\217\231\201\331\1\277\224h"
+"\221\275\214\327:\256\230E~\377\252\262\241f\375d~\201#\261\306g\327\r"
+"`<\376!\343\247\235\221\r\276\223\242m\264\205\214\327\365sF\266v\372g"
+"\24<\263\215\371\245\256\314N\333\376\232\306x\354]\306/\270C\7l\177\277"
+"R\276\200\361\367t\222J\1\0\337\7\62>\266\225\371U\224:\3\08\245t\177\233"
+"\3612\216\225\1\0\262ya\33\343\237\225\255\250\22\0\236\263\77\352+\363"
+"y\34\263\37\237\205d\307T1^\241\340\362\30\0\306\222\275\211\361\246tg"
+"\304\276\323\367\365\21i\243\376G\34\340J\5\357\264\372\252b\256q\371\353"
+"\241\366[C\371\214\267\214\b\37Ood~K\370\270T0^\335\325\264\345R\36\343"
+"\255c\302\307S\2770_\20A\367e\214\337\t\371\256\20\320*\306\333\306\207"
+"\217\247|d\236/\357\340\272\310\370\303\370\360\361e\214\267O\f\37\357"
+"_\317|q\4\335\237e\374IBh\314\247\305\214wL\17\37O\252c\376p\4\335\237"
+"d\374E\4/O\363,\302\255Y\301\343\356I\243\367\t~B\224\336 k\345\34\219"
+"\307\276\371\312\341\323+e\270\273\16\0\253\331\317U\272\237\247t\335\f"
+"\0\13\311\357\365\222\313\237d\\\262\1\0\63\310/a\374m_\205/\2\0d\272\355"
+"\231\277\230_\254\340\362\24\0\60\314\345\366|\3018\217\235\42\62\321^"
+"swv\210\361\6\236\5E\344\250\275\350r\225!\21\3135<\271\5\0\320\350t\265"
+"!\361\242\206\313\36{\321\365F\\\314\370\247\24\rOi\266Wk\34\356\344v\346"
+"\327\252\345Ow\256\3364\315\370G\214_V\361\271\276K\364\212\351*Cb\343"
+"`\r\37\344\177<\2347\\mH\314\327\360\356\201\201\312\230\300\343\3563^"
+"\251m\365\335\313\3\201\203\1{;\343-\303\25<\361\212\221\330\356\267\265"
+"!q\223\202\217\253Q\23\332\220X\305\335\'\356\376\341\210\370\377\273\312"
+"\220\370}\264\233N\337\361\336\225Y\42\42\22\'\222Z\304\235\36\267F\372"
+"\313\306\'%\17\311\230\226I\r\371~\325\313\344\362a)K\244\353\337\217B"
+"\250\351\17\371\346\177[\377[\207\367\322QE\25UTQ\375k\375\68\2070\274"
+"\365\27&x\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\63\0"
+"\0\0p\b\0\0\0\0\226\6\27\64\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13"
+"\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\48 UQ\363\307\0\0\2"
+"\272IDATx\234\355\226Kh\23Q\24\206O\232X\215\326\212\t\255\26\361\231\342"
+"\3\261\230*H\13\226V\244.*\42\224\n*Z\360\201\42Z\\\250\340\242\13\245"
+"\335\370X\210\242]\270\22\213 h\27QA\20\21\37\20\220\212\24\5E\250m*\24"
+"\264\2514\261\304\2320\277\213\231\314\2349I\234\33A\21\231\1773s\377s"
+"\277{\317\275s\37C\344\312\225+W\377\247\274\205CU\353C\332DQ\215\325\77"
+"\321\0\274\334R\4r4\3\0\200\326\251\214\264h\310\252]\21\361\16\232\b>"
+"\373\325\230&0\265\311hI^\246\226\27\326\2521\323ya\226\32\23\343\205\341"
+"\274Ur4/\315\306\263J\215\241\36\13\351SD\250| \213\304\346\2532\24|\240"
+"#\317\26\346\306<\5\251\246\266\325\364\256\357!\224\273q\365\7d|\237\256"
+"\235j\325{\316\23\221O\177\257^\246\306\4\210\314\2750\267\210\324~\213"
+"\361\345aRc\251$\21\21y\302r9\216\263\367/\331\245\237\276\261\325Z\374"
+"\35\20z\3157\275q\2b\230\237\36\65)\201L\362-;\3070\77-b\246\377\215\354"
+"\346\20Os\251an\346\346U\211\334\265\r-\254\233\21\356m\323\4\62\22\260"
+"1\233t\267\236YUc\2\3114\332\247\260\25\0\60\300\234\222G2\263n;B\7\0\0"
+"\'\231sJ\42Q\237`N\0\200\306&m\335\224@&r\26d7\0D\255r\331{\331\315n\236"
+"7\21\21\5\211\210\330T^Z.\32\275\331\313\nz\226\361~\42\262\16\331\35\373"
+"\4\62xDf&\265x\\$\366c\203\23\342}*\7s\332\t\241N\211<\376\305O\204\256"
+"\272\214@\342\13\234\220\362\217\262\233\355\216\231\365J\344\232#\262"
+"G\42og:!\241\204@\276\3278!\323\242\262\233\216<\265\354\253\365\214\374"
+"x\367/\233\257\25]D\24\271\'\33h\224\323<Zi\5\333\1\373v!\42\242@L Z3\213"
+"F\0\340\260d\356\310\301\\`\301\340\24\0\354\22\310A\211\364\227\262\350"
+"q\0@\213\35Y9)\220o+X\324\373\1\0\320`CJ_\311n\366\363\360^\335\13\333"
+"\230\213\22\271\315\243e#\272Y\315\315fy\2\16\331\256\212+\206\313\346"
+"\236*G\5\222\331\310\221\326l\213\354\337\324\23\221\231\235\345Hm\322"
+"p\323\314<&\221\27|k6\230\3070\273\262\326\310\213\346\353\22\63\346\253"
+"\273n\255\250!\335\42\42\377\255\31dW\374\234\376\364\317\256\b\361\253"
+"-au#3+\250\347DT\350\277\267\220\222\177\211I8Wq\345\312\225\253\177D\77"
+"\1\638Y\257\207x%\377\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0\77\0\0\0p\b\0\0\0\0\214:\367\272\0\0\0\2bKGD\0\0\252\215#2\0\0"
+"\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\483\321"
+"\357\262\31\0\0\3\363IDATx\234\355\230[h\24w\24\306O\262\211V\222\324K"
+"j\32\65\332\306Z\360\322P\245b\353\5E\241\366\42J\3\5\355\345\301\252\205"
+"\266\n\255\266\344\301z\201\326+\42\nB\264\255%\240\264E,\251(I\21\363"
+" \336\300*M\251\301\212\210\30\64$\2415l\22\2335&\331\257\17\377\331\271"
+"}g\235\231(Xa\277\227\235\371\316\367\333\377\311\344\2773gW\344\177\246"
+"\234\13\0\200\252\\\252|\324\3\0\35\317\6\274\301\244\4\0\240n\250\327"
+"\316\336\t\0\300\212\300\16\2760\301\206R\267\231Wm\334\332\254@>v\306"
+"D\233\2479\336\310\213\306k\33\31\210\213<w\307\204\273\312S\316\2137\215"
+"\203\367B\340\42\237X\351\276\317\315\371\33\35\226\361s(\\\262NXyT\306"
+"DdU\257u\326:<\34/c\342\2517\250-\210\355I\35\243<\230\264\364\201\315"
+"\324\327\330\207\7B\343\42\307@\27254\30\263U|\333\217\'_\217\200\213,"
+"\366\363\337F\302E\16y\361\353\5\21\371\302f7\3367\'\42.\262\310\315\357"
+"\212\214\213T9\370\225Ai29\367\341\77k\261\77l\207\22\375X\3771\322Y\336"
+"\256\301\372XD\262\r\37us\330zH|\376\3\362y\375\345\315\376\211\361\366"
+"j\271p\271\261\251-\21\2079\235q\220\22\311\337\355\303\301\276+{c\375"
+"\13\336\354\23\177\361\345\337\355\224G{\n\315\313hWog\374\232\353o\236"
+"\340.\34\31F\255N\353%<9\327U\237\352*\354\342\'\324\300\6^~\237;0\307"
+"\361+\211\26\371\232\361F\317\216Y`\373\277\306\30\237|\217y\357\315\364"
+"\335\224\335\364\24\343\271\365\214Wy#\37\246.\312kJ\367\33\30o\362=\n"
+"V[\276\366\204)\353f\376-_f\235\261\357\214`<\366\33\343\77\371C\333\214"
+"\277UY\276\202\361V\272H\225\0\200.\345\361<>\301\374\22J\35\0\0|\257t"
+"\177\216\361j\216\231\341h:\27\3260~\273\230c\307\1\340\n\373\251I\310"
+"\255\245\34\63\267\317\rdg\235d\274V\301\345O\0\30O\366J\306\333K\274\21"
+"\363I\337\362\244H7\365_\272\215W\252\270\245\255\257\312\231\302\34\325"
+"\5\217\237\266\2263\336Y\32\214\245T\22g\376\323\360\270\3242~:;<\276\224"
+"\361\304\363\341\361\3426\346+\42t_\315\370y\345\326\226NK\30\357\236\24"
+"\36/\372\233y\336\336\351u\230\361z\376B\225V\345\214\367L\t\217\17kf~"
+"s\204\356\17\62\33600<\276\220\361\336W\302\343C\232\230\337\31\241\373"
+"\375\214_M7\375*\232\237$<9;}\334\77i\24|\307w\210\312Sd-\236\'\42\77\260"
+"/\373\270\373\353\312pW\7\0\357\260\77W\351~\276\322u\7\0\274I~\3365^~"
+"\77\3432\35\0\60\223\374\335\214\337\34\254\360\233\0\0e~{V\37\363\13\25"
+"\\.\3\0\306\370\334AW\31\347\261SD\246\230\232\277\263\35\214\267\360,"
+"(\42{M\321\347*C\42\336\326\360\302N\0@\334\353jC\342a\r\227\257L\261\321"
+"\353nf\374\237\42\r/\262~\215\270\344q_\352a\376}u\371*\253z\306m\346\376"
+"\301\370Q\25\1775\265Ek\334\2562$\306\325\337j\236\266o\17\77\272\\mH\\"
+"\256\341\3\234\201\3125\201\347\\d\374\270\366\250\37\360\213\23\330\356"
+"\330k\31\357|F\301\363k\\\211\265\266\255\r\211+\25|\342%5\241\r\211\'"
+"\271\373\374\215w=\21\373\277\253\f\211]\343\374t\311\227\255\276\314\42"
+"\21\221\34\221\342M\334\3517\311\261\366\262\271C\nGMx\271\214\32j\267"
+"^\313x\371P\232,b\177\177\355\217\332\37\220\357x\264\353\377\333\333\377"
+"\2453\312(\243\2142z\324\372\17\324\376\323\213\317\7:n\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\63\0\0\0p\b\0\0\0\0\226\6\27\64"
+"\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374"
+"\0\0\0\7tIME\7\322\5\6\49\17\347\233\377\337\0\0\3\bIDATx\234\355\226O"
+"HTQ\24\306\3178\2435\245\205\312\210\31\230\246\364\207\310\320\2400\310"
+"$B\212B\22\241\250\250\250\214DJ\204,h\321\242\320M%\21\206E\4\202$a\224"
+"-&\335$-\302@(+\302\240\b\3142\230\42\307j\324&s\234\257\305}\363\346\274"
+"33\276\241ET\274o\363\356\375\316\375\275s\357}\367\317#\262d\311\322\377"
+".\307c\0@kbD\244z\n\0|9Q\240\25~\0@O\252\321Nh\2\0\240*j\246z\25\34\310"
+"\345\346\334N\345v\333\2422\366^\25\366\254\t{YO\2247\232\25cHy\343\252"
+"\301\367\212\220\263jX9\330\23\3!\252\321ZL\37W\365->\315\270\35\23!\333"
+"}\255\rZ\354Dt4\240\325>\271b3\224\3755\4u\247\330\233CeT\314\200\20\35"
+"\320\333=\353\322\213m3\42DnD\350C\252\t\223\351\225Hp\263\tB\264S2\327"
+"L\21\242\16#2\230\22\7\223\356\341\310\364\2068\20\242r\316\\\214\13!j"
+"\r#\257\2342\350\210\316\324}\324\27q\207\77\316<\226\376ai\237\273aW|"
+"\315\257\236\'}\355\344/\216\217I#\42JPe\263\275k\320\3570\216(\214\177"
+"\304\77FDD\266ByD\217\262\362\347\320n\231j\333\226\251\273\265\362`x>"
+"\2131\241\343\362]\21\63\13\374\2\231X\316\242\363C\347X63\235\3\62\315"
+"\21\336\315\\\315\334\304\315\26\211t\32\206V\250L7\367\312\203\2\31N3"
+"0\33\225\273\216Y\13F\4\22(5Na%\0\340\5s\22zd\317\32\215\bU\1\0N0\347\244"
+"D\372\344\tU\17\0A6i\253\'\5\362-bA6\2@_\270\236\374Z\246\341\267\251Z"
+"o\351DDl*/-\21/\275\321\316*\252\227\336~\42\272\253\233;\16\nd\260F\366"
+"Lj\321\250\350\330\317\265f\210\375\241\34\314)3\204NK\344\201\335\f)\16"
+"\b\304\273\320\f\231\367V\246\331n\332\263v\211\\1E\366J\344\345\34\63"
+"$\317\'\220\37\5fHb\237LS\33\245\225q\265\236\221\37\257\253Y/\272\32\210"
+"\310}O\276\240TN\263\'#\34\334\17\30\267\13\21\21\245\275\27H\260\214E"
+"\335\0P-\231;r0\27X0}\22\0v\13\344\260D\372\223X\264\16\0\260\325\210,"
+"\233\20\310\370R\26\265\277\1\0\224\30\220\244\2472\315!\36\336\247\274"
+"B\3\323$\221[<\232\254\3751\347s\263L\236\200C\206\253\342\262\346\262"
+"\271\247\f\217@\2\3539R\31z#\373\307\262E\374\267\236\345H\321\230\346"
+"N1\363\230D\36\361\255Y\242\37\303\354\312Z)/\232/9z\314Q|=\274\242\206"
+"\224ED\316\233\263\311(\3579\365t\246\270\362\370\325\346\13\247\221=\213"
+"\251^\42\322\357\35585\366\207\30\237y\23K\226,Y\372K\364\13\226\343\374"
+"~\214\260xv\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0"
+"\0\0p\b\2\0\0\0\331\221\32\323\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\6"
+"\321IDATx\332\355[mHS_\30w/*\332d\323|\231\212\242)TD9\255\254\250T\210"
+"^\tE\42\\.\253\201\3204\301\240\302\352\203Z\221\37\212\360\203 \342\7"
+"\5\313\326B\254(/\342K_\26\231\346\32\201\243hQ\344\312M\2326\\m\314y\275"
+"\377\17\362\17\333\331\256\367\\\357\335\356\225\363\373\270\235\363\234"
+"\363\273\347\336\363{\236\347<\',\f\201\34b\261\370\355\333\267\304\277"
+"\350\354\354\f\17\17\247aM\243\321x\275\336\345\246\346\346\346222BLr\313"
+"\226-n\267\333\207\344\320\320Pll,u#B\241\360\336\275{\4\200\312\312JN"
+"\254\344\345\313\227\301\311MLLdffR\351\276n\335\272\336\336^\320\2\206"
+"a\2\201\200\23\fE\42\321\253W\257\300)Z\255\326\374\374|\362\276)))\343"
+"\343\343`\337\331\331\331\224\224\24\16}\220YYY\277\177\377\6\'\352r\271"
+"JKK\3\365\312\311\311\261X,\204\77\250T*\316\355:\325\325\325~\347\212"
+"\343\370\245K\227\300\366G\217\36\235\233\233\363\333\245\247\247\207\213"
+"\373\252@ \30\34\34$\2\240\265\265U$\22\375m\\SS\263\260\260\340\267\345"
+"\364\364tBB\2G\305#==\335\341p\4\42\211aXLL\214H$jii!\2\203\344\255\346"
+"\4\324j5\311\354\215Fc__\37I\203\256\256.\36\270\1\317\237\77\'h\341\373"
+"\367\357P*\32\62\310\345\362\231\231\31Xz\213\213\213G\216\34\341\2157"
+"WVV\6\313\260\275\275\235g.\253N\247\243N\357\313\227/111<c\270~\375z\253"
+"\325J\205\36\216\343\205\205\205\274\214<\212\213\213\2510lnn\346qx\325"
+"\331\331IN\357\343\307\217QQQ,\306wl3\274x\361\242\315f#\t\21t:\235\333"
+"\355F\2216\2\211\267\34\264\221\316\236=\33\31\31\351\363c\177\177\377"
+"\344\344\344Zx\220\273w\357\366\273\315\264\264\264\254\221W%\220\372;"
+"\34\16\211D\302{z\311\311\311\363\363\363\201\324\342\374\371\363\274g"
+"x\353\326-\22=|\377\376=\277\351EDDLOO\223\213\376\276}\373x\314\360\314"
+"\2313+zm\335\335\335<f\3507S\350\3\217\307\223\230\230\270\246D\2\304\365"
+"\353\327y\311\360\321\243G\24\31~\373\366my&\2167\42\341\361x\250\7\301"
+"\305\305\305kJ$@\364\367\367\363L$l6\33\24C\34\307\263\263\263\31\237\211"
+"\220%\206J\2452))\tn*B\241F\243\341\315\32\216\215\215\321\310\227\316"
+"\314\314\260\32\357\207@$@\234;w\216\7\f\265Z-m\206ccckM$@\354\334\271"
+"\223\323;MuuuDD\304*-pZ$\246\246\246\210\325\301\345r\305\305\305qt\r\225"
+"Jerr\362\362_\2262\242PF\242\242\242\324j5G\327ptt\324gA\6\7\7i\234\322"
+"\230\315f\241P\3109z~E\242\244\244\204\206\177C\20\304\341\303\2079\307"
+"\260\273\273\33\214\30\226\226\242\251\251\t\226\341\263g\317x \22W\256"
+"\\Y\372733\23\307q(\206\13\13\13\351\351\351\34bx\363\346MpK\214\217\217"
+"\377\333\0\3030\330e\274}\3736\247E\242\243\243cy\33\212\'m>e\'\253\224"
+"Vv\323M\271\271\271\313\333\210\305\342\311\311IX\222\345\345\345\234`"
+"822\3423\263\327\257_\203\315\352\353\353a\31\352\365z\216\212\204R\251"
+"\4[\246\246\246\372\224\217R\301\266m\333B\314\360\301\203\7>s\232\232"
+"\232\n\364\375\370\255\262$G[[\33\347D\342\306\215\33\201\332\37:t\b\226"
+"\241\323\351\224J\245!c\330\330\330\b\246w}\\S\237T\305\347\317\237aI\326"
+"\324\324pH$t:\35y\257\272\272:X\206&\223)4\305\302\25\25\25\340l\366\356"
+"\335K\336+!!\201F\210\\TT\304\t\221x\367\356\35\225\216\17\37>\204e\370"
+"\370\361cN\210\4\305\322\372\202\202\2X\206^\257\227\344\363f\5]]]>\223"
+"\260\333\355\324s\201&\223\t\226d}}}\210E\342\356\335\273\324-\324\326"
+"\326\322\250>\25\213\305Ab\330\320\320\0\346\344\241.\267\310d2\227\313"
+"\5K\362\304\211\23!\23\211\247O\237\302\332\351\350\350\200e8<<\34\f\206"
+"*\225\212\221\244C~~>\215:\342M\2336A\215B\347\265\6=\f\267\333\235\233"
+"\233\253P(`M9\235N\250\302Y\201@PUUU[[\33l\221\b&~\375\372\5Ud\4\235\261"
+"\253\252\252\nm(#\223\311N\235:\25T\221\b>\214F#[kXYY\311\205\304\211B"
+"\241\330\263g\17G\317$\230\302\375\373\367\251nN\324\31\226\227\227\203"
+"\305K&\223\311j\265\256\362\331\245\245\245m\334\270\21\252\313\374\374"
+"|jj\252\335ng7\222\360z\275\214$m\267n\335Jc\31\257^\275\312\272H\320\360"
+"c\2\201\306\271\377\327\257_\231<\275\361[\2{\360\340A\246\354k4\32\32"
+"\313x\374\370qf\206\337\260a\3\230\5d6\263 \225J\377\374\371\3\313\20\303"
+"0f\206okk\3\255_\270p\201\355\200\223J\221QVV\326j\7\316\310\310\0U\336"
+"\355v3\236\341+,,\244\361\242\336\271s\207\225G\313\330\353\361\257Wm6"
+"\233a\31\376\374\371\223<\261\260\302^\264c\307\16\277\267\306\241\374"
+"&\212\0\217\253\250 >>\376\344\311\2234\207\24\213\305\6\203!\30Z\364\77"
+"\350\35l\274y\363\206\346\32^\273v-//\317\357_,U\237\375\370\361\343\305"
+"\213\27\260\275v\355\332\265}\373v\350\301\16\348\20\350\276<A\20O\236"
+"<a\311\253.--\245\261\337h\265Z\270arrrH\256\325/\235`\313\345r6\30FGG"
+"\323xQq\34\207\3100\354\337\277\337n\267\257ht``\0\274\251\305\bh\354\250"
+"\4A\30\f\206\350\350\350\25LK$\222\246\246&\352\217\320`00~\177W&\223\321"
+"pn\226\360\362\345K\260lW\20\26\26&\227\313\25\n\305\261c\307N\237>M\343"
+"\302\277\331l\3060l||\374\323\247O\26\213evv\326\343\361P\354\33\31\31"
+")\225J%\22IxxxRR\222B\241\320h4\2337o\246\375\200\234N\247V\253\35\36\36"
+"\376\360\341\203\315fs8\34aR\251\224\331\330\24j3\324\353\365\254\6\312"
+"z\275\236{\265cL\3\61D\f\21\20\20\20\20\20\20\20\20\20\20\20\20\20\20\20"
+"\20\20\20\20\326\n\376\3\312\357U\242iY\275\303\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0"
+"\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIM"
+"E\7\322\5\6\4:\4[du\224\0\0\3\322IDATx\234\355\227kH\24Q\24\307\217\263"
+"\266\352\226m\262FV\340\243,\215\354\375b\305^D\17\355!}\351AHe\321C\202"
+"DM\242\42\n\372RPQAT\37\222\312 \351\1\22f\264\21XQ\210Q&&\241`\324\372"
+"\312lu]s}\355\236>\314\354\336{fvv\266/\21\61\347\313\3169\377\363\273"
+"\347\316\335\231{\356\0\350\246\233n\272\375\5\13\257AD\304\222Q\n\345"
+"\3000\42bo\242:;\323\215\210\210\317chX8\217\210\210\2707X\335\42\61\247"
+">\211\17\216~$F\237\204\5C\r\257\305\254\366\305,6\351\235\30sL\nF\2L\355"
+"\23\363\3727\373\42s\354b\4w\4\'\1\362\244DO\241\350g\366J\201\7Z$\204"
+"\331\244T\274j\0\200C#\222\367}\274&\n\361=>\366I\264\341\212\357\32\67"
+"k\223\0\273\375\351\37*\374\227\267C!\1\36\243\302Zb\2641\0\200\270\237"
+"r\322\273.4\22`\253\34\275\21*\tPF\311\346\350\320QK;Oz\226\207N\2l\342"
+"\321\213\177B\2\2240\362s\224JNx\340p~\207\3775)s\377YU\335\376\5S\331"
+"\345\302,\2261\221Q\3\356\201\256.O\350\250%c\311\354i\t\21>\327ko\374"
+"T\375\252U{\22qEo=\3127\35\361\375\t\215\2554\365\356P \16\21\21\207o%"
+"\252\203\246\13\303\252 \42\242\3730\275;\346%\225\317baoCC\227\313\234"
+"\260\220n\241\367v\r\6\252\231lg\343\267\345\307\212A!\273\211\24.7\4 "
+"\243\352XB\3W+\246\236\260\305\1\320\223\234^\310\13\13\274<\332\77QY\324"
+"\301\351o\215\274\364\222\224=\245@\327\23\375\f/\35#R]\320\371\42\366"
+"O\340\244\r\364/2\373\5A\374\211\245\323\337\3109\262g0M\216\376\242\372"
+"\24\356\272\233Jl\235$\264\226\352N\356\332K%\366\307Ih\5\35\373)\250\232"
+"I\216\366\235\340\345\262\217\352\250\362P\5\227\330\42V\215\345\205x\272"
+"\302G\3\f\227\323\42j\335\307\351\300\252(k\34w\312VeL\306\266j\33\337"
+"(\342\322\26\256R\233:\327s\206*+\2112\'\335jMT\343@\255]\231\254\313\226"
+"-\32\35\4SA\3236\256I7*\303\232hj\316\226\344\20\60\5\32\261m\277\225\312"
+"\256\3527_J\264Qc^1y\221\335/\236U\325{ ^\273\376Z\272\r\325\346J\347\26"
+"\315Gb\324e\262\221tn\367o\225Z\217\204\351A&\77P]f\233\3664E4\254\224"
+"\220m\253;\265I\351\3159H\317\254\5<\251v\366\21\315\354 \267\323\42\360"
+"b\272\332\275\n\0\09\364\314j#\33\3\371\372PL8\233\306\32\2117\77(\272"
+"\210\306z\210\267\222\212\254\353\b\0\20m\246\252\205wR\346Q\221\35p\5"
+"\0\30\'\233I\n\357\344\313D\3326\243\351\32bG$\323\346\312\373\374\33:"
+"R\267L.`5\232d\22\16O\5\210=\373j\237\224P)\223\7\262$aF\203\234D\264\237"
+"\273\374\3\321!e\354\221\313#7\255F\210Zzm\20\21\21\335J\36[$\324d\17 "
+"\372>\346\320\271\342\205R\275\345\273\245l\257R\364Y\363,\310P\310C\254"
+"\341\25\253\222\367c\0\340\202<z\204[\344\334\276\200`\223\370\214\32\36"
+"\222\250\367$\371\203\246\224*\17\\5;}=\304pz\220\205\277f\201\314&\27"
+"\330\\Lo-/\234\316\253\311\327\305O=\317\353=\322\321\223\236\335\204\370"
+"\204\361c\214#.g\3737\'\310MH\2356n\244\265\266G!\350\246\233n\272\375"
+"\37\366\33\65k^\213\223\360\1\37\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0*\0\0\0p\b\2\0\0\0\347\264u\235\0\0\0\4gAMA\0\0\261\217"
+"\13\374a\5\0\0\2\243IDATx\332\355\231\277k\342`\34\207k\242\21\177UD\205"
+" \22\24\301\305A\207\342\332U\21\204L-8h\301A\244\203\240\377\2068\b\42"
+".Bq\21\212K\251KU\20\272U\20\304A:\270X0\16J\233\252\241\264\232[\216\343"
+"\356\22c^/w\275\343\276\317(\357\347\363\274I\336\274\257\220\243\243\277"
+"\n\265Z\375\360\360\300\377H\265Z\325h4\7\264\245R\251\367\367\367\357"
+"\253X\226u\271\\R\31\237\317\307q\334O3h\265Z\26\213E\276\30\303\260|>"
+"\317\13H&\223\373\303\271\\N\230\34\16\207n\267[\216\333`04\32\raC\263"
+"\331T\251T\373\3638\216\337\337\337\13\363\323\3514\30\fJg\35\16G\257\327"
+"\23f\27\213\205\303\341\220{\367<\36\317r\271\24\266\254\327k\232\246w"
+"\245\374~\377d2\341\305\210\305bh\13\'\235N\213\26m6\233l6+\34\37\16\207"
+"Y\226\25\215\\__#\257[\225Juww\307\357\240T*\3418\376m\360\345\345\345"
+"\307\307\207\350\310\331lf\267\333\17y\17)\212z~~\3365\203f\263i2\231p"
+"\34/\26\213\374n$\36\326~...$\252\373\375\376\355\355\255\304\200\253\253"
+"\253_\335\213nnn\370\203xzzB\332-\304!Ir>\237\243\272\267\333m(\24Rf3>"
+";;C\325W*\25%\217\203z\275.\337=\36\217M&\223\222z\253\325:\235N\345\270"
+"7\233\315\351\351\251\362\347a4\32\225\243/\24\n\277\353D\256V\253\322"
+"\356\321h\244\323\351\344\236\357\250\372L&\3030\214\304\301U\257\3279"
+"\216;\2\0\271\f\6\3\376O\21\211D\276\376%\374\334k\6\375\'\42\262y\21\4"
+"a0\30l6\33EQ\301`0\221Hx\275\336\3\2529\216\253\325j\355v\373\361\361\221"
+"a\230\325j\305\262,r\213V\253\355v\273\250k{\265Z\5\2\1en\21M\323\250\372"
+"F\243\241\330\263\237\315f\2503f\30F1\375\353\353+\252\376\345\345\5^<"
+"\320\203\36\364\240\7=\350A\17z\320\203\36\364\240\7=\350A\17z\320\203"
+"\36\364\240\7=\350\377#\275\321hD\3555\233\315\212\351I\222D\325\37\20"
+"\21G\253\325v:\35\324OI\313\345\322\357\367\357-\307\205\77\21\4q||LQT"
+" \208\77\77/\227\313\'\'\'\250\223&\b\42\36\217;\235N\275^\257\321h0\f"
+"\3030\354\355\355mg\0\276`\203\36\0\0\0\0\0\0\0\200\177\235/\204a\263*"
+"\305\232K#\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0#\0\0"
+"\0p\b\0\0\0\0\261\250\226\334\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0"
+"\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4:4}\275E8\0\0\1"
+"\223IDATx\234\355\224;K\3A\24F\277}D\215\311\222\210\4cPIHia\247\26\202"
+"\205\2156B*\13\13\61X\210X(\3727\304B\260H\23\260\21Al\3044Zj\245 H\4+"
+"\301\7D\301\307\22\324\24n\274\26\273\331\235}\341\42b\241s\252\231\357"
+"\236\231\271;,\3p8\177\t\371\230\210\210\212!We\366\235\210\250\232\6\320"
+"[#\42\242\2036\273!\256\20\21\21\315\0\0\226\365I9\303*\221\35=-\t\0\0"
+"\351P\237V\372-%u\242gO)#\310\276\350\301[\256\241\364\335\350\tM\232\253"
+"\346\214\244\276\244\317\307\252F\260m\355,\354\33\31\255K\0\3465cv\237"
+"`:\354Q\33RI\221\326\32c\312\201e\332\314O\367\314\341\206\343\302v\311"
+"\305\255\343\306\220|t*\37\243p2\341t\n.\5\330\262+\227\212\207\323^a\225"
+"\372\260\207\2\214\263\316\252\247\2\24-\345\42l\3052\353,\334\tfs5\237"
+"}8.\4\0\203\35M\241(\342Bk\263\254 &\206[d\5\61\61k\363\316\334\277\27"
+"\21Yu1\300Y\77\345\b\0\362\tD\273F\272=*\16\344M\337\236-\222\332\327\16"
+"\316\3|\373\225_\317\214\363\34\300y\r\340h\1\34_\270\303\235\177\354H"
+"~\25\306\351\264;I\217\35c\252\375M\310\273\317\348r\274\77\352T\304\250"
+"\t\0\n\231p<\35q-\203v\375P\305b\31\200\337\333k0\364\273w\310\341p\276"
+"\307\'\255Y\223*\312\262\207\220\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\4;)\7\240\30\240\0\0\4\372IDATx\234\355\231]lTE\24\307\317n\267\24"
+"\212-\255-\265\266\265e\251\240\266\306\322\264V\21\304/\250R\23\2Q#\301"
+" \301\250\370\225\324\4\243/F\300\310\23\20S\371x !\25\215&$\246@H\221"
+"\330\32\rj0\375@\13\13\202\2\1Z(\265t\373\265\335\322\356v\307\207\273"
+"\367\356\3149sgz\273\211\274\354y\331\275\347\377\77\277;{g\356\2753\263"
+"\0\377KxZ\31c\214\325\'\23\345\255\20c\214\r\315q\306+\35e\2141\326\234"
+")\246\335;\30c\214\261\327\235\266\357\3\243\316\347\345\2233\33\214\354"
+"Q\227S\\\322\257FewU,\227\327f\344\374yNi\0\305\1\2436\270\312\314\224"
+"u\32\31\366\212s\32\300;\321\342\211\215\306\361\362\241h\342\273\251\320"
+"\300\325\24-g{\222\0\340\275p\364\250g\366\224pP8`\362\216\246%\3554\277"
+"\263U\372Jy\254\267\20\1774Z_\277\232*\r\340\b#\321\225\251/\263\213\334"
+">L\213<7u\32\300\313\30\2677\36\32\300\1\221v)->\\V7O\233x\42>\32\300\n"
+"\36\367y\2744\200\372\30\355\334\f\215\327\243\307\275\177\303z|\34\30"
+"\215\263i\2677\364\217AWnQFZJj\377\304\340\215\316\241\270p\356\212E\225"
+"\25s\247\305\22\203\276\266\366\346\356I\264R\302\252\251\357\241w,c\221"
+"\326O\n\35\303\262\77\276\42c\31\21>R\355\b6k\363\240=\2141\306\330\361"
+"\305\322B\351\265[]\227\303\37\236\3538\37\30\311((\257\24\6\351\267\265"
+"7\'\325\264\234\303|3z7Yo\306\331\265\327x\245\347\205\311\320\252:\271"
+"\222\310\336t^\233\261-\302\213\333\222\264\264\265\243\\Ah=\226W\336\342"
+"\33\330\224\241\241m\24N/y\237V\207y^\307\335J\332\207B\367m\225Yj\5\313"
+"Y\325K\362m\301zj\232\324tL4\315\262\245\325\b\77\204\331<y\275\243\202"
+"\253\321\256\77\274~\301\367\275\335Y\367\b6\366\231\334\345i\21m\217\332"
+"\341\212\306\4_\344\31\251k\223H;iG\3h\20\235We\227\357\376[\242i\203="
+"\356y\321\311vI<M\242%\254\30\1\36\364\344\n/ \226g\321\31\177\264\247"
+"\1|\211\314\77\20G+r|\244\302\275\204\314l\t2,\303\206\205*\334\235\21"
+"\344\306\203\252\21\351#tA\301\207\17\331#%F\336m|x\3614\313\27R\342N\240"
+"c\327\6\1\267\326\215\364\323J\32\220A\271&\231\307\255\306\362Y5\316\207"
+"\23\331\325\34\256\370\1,_V\343\316\220\314J\16WC\324\253j\234\337\217"
+"3\3139\334SNq\320\211\23\371\363b\270E\304\336\347\24\7\213-\\~\16\326"
+"\206\'4\270\353$Sn\341\36\42\32\27148h\353\313,\334\\\242ig^\375$Sl\341"
+"\274D\323\6\305\345\245\230\270l\242\5u8jpe\231\270,\242\251\357XyX\270"
+"T\347\265\3034\225j\342\350\353Y\273T\212\320T\262\211\243\203\f\77`&\23"
+"\343f]\200H\323u\265\222wa\320\304\321^\327M\264d\321g\342z\211\244]Q\317"
+"$\231\210\337\304]!\232\307~^d\4\325\257\217\231\270\13\324\256\333\306"
+"\241W\343\2\2308\372l\5\335J\204\316\21:,\334ez\361\356\321\340\nH\246"
+"\335\302\301oD\234\347\30w<\206k&b\251\6W\204\23\27\271\376\234\203\247"
+"\24\214v\266\3308R\260\235\227[\210\254\336\266\252&~c\256\32\2759\367"
+"\223\202\307\224\270r\234\370\373w\36\367\r\271m\351\313M\251\356\26\17"
+"\277\300\215oW\321\334\275\310=\200\206u\341\30\346\251\6\362#\330\274"
+"\5;\352\260\343]\5n+\362\376Kn\341\254\233\310\202\247p\\\270.\42\357\33"
+"\324\363*n^\211-\356i\344\374E\266f\77\214L\262\325\202\21\7E\343\320\275"
+"2S6\332\233\b\336eC[\200&\3326\273\310\225#\242m\207\r\16-h\266\333\330"
+"`\205\270\0\35\177P\352Z\'\322\32\3547\4\326\210\2746\331v]\251\270\305"
+"rL\276\2066\342Eq4\177M\273\254\340\37\301q(EA\3x\\\274}\366\343\325\312"
+"\374K\202\276S\267\365QxB\360\267\314\347E\367\233\303\274\30xM\3\3\200"
+"\344-\343|Ih_\225\371\213\323\327\235\26Nu\362>R,\33\317\245\273\236\24"
+"\216\257\265\234\357\17d\344\225U\b=3\260ywX\3378\0\0\250\301\313Q\22#"
+"udz\256\212\245\7\303\nX\327\247\216\377\262\310\251\375)$g\355[j;_S\356"
+"}\246/Y\370pI>\227\30>s\352\317\237\377RT\350wfS\213r3\247\3371\26\f\r"
+"\364tI\246\260\211HD\42\22\221\210D\334\326\370\17\r\333\0\223/\4\253\277"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0"
+"\0\0j\23<\376\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22"
+"\1\322\335~\374\0\0\0\7tIME\7\322\5\6\5\0\t\1\276\275g\0\0\3\222IDATx\234"
+"\355\227YHTa\24\307\317\3148\256\271\223\271aF\331\242\264\220f\30Y\366"
+"\240(\264\31a\220e\24=D\32%\366R\17\275\364\30\21\230DE`T>\30%R9DF%\25"
+"e\226\322\42\30\225\342\222\246\216\373\306\244\343\351\341\336\271~\347"
+"\334;\213\320C\304=O\367\234\377\377w\277\357\273\367\273g\276\1\320C\17"
+"=\364\370\327\303\253\1\21\21\313\315*\345\3304\42\342h\274s6i\n\21\21"
+"\237\206\322\262\361\42\42\42\342QW\343\236\226<_\226\210\305\200*\251"
+"j1\270BM\257$WO\352\\-\372\275T\33\214vE\2,\35\227|\223\271\216\312\332"
+"N\251\202\371\256I\200\343\262\321^\42\3459\243r\341\236;\22\f\265\262"
+"\25\257\230\0\240hF\316z\27\272E!n\330\301Z\2M\227\35\327\230\353\236\4"
+"8\254\330\233j\224\313[\236\220\0\17Q\25]\241\3561\0\200\310\1N\316f{F"
+"\2\354\343\350uOI\200JJ\266\6z\216\206\367\210\244}\253\347$\300N\21\275"
+"4\37\22\240|\216l\361\323tx9CO\375R>\223\312\251\371\215\252\307_\n\347"
+"\215\312\'*\334\307\177l\244{t^\250oFZ\332\252h\243\224\364\177\256\177"
+"^\367\333\243y\30w\334\35\347\37\316Hy\272{\320\373d\253\372;GD\374\260"
+"\313\r\231\327\246\r\42\42\326\255q\1.\272/Z\7\252K\313\236L\b\5\333\31"
+"\24332\245K\360\365\35\61\3\0\4\237\25aK\2606\271{R05\3078\312\211\342"
+"\32>Ei\2226\301\322\37;\',\263\nB\213F#\337$\222\270_\224\362E\245\336"
+"\237\2231\244\31\65\222\235bh\26\265\n\216Z\310{8D\305b\42\26P\361\0\21"
+"\307\3\250\232@T+Y\256O\7\21\37\3619u\21\271L\224\212\210\204%\34%[\5m"
+"\322\343\227\366G\21u6p\364#\311\274O\314]o\246\203b\bG\363\250\336\353"
+"\245\214\272\207\32\255\303\34\375N\323\210\f\5\315\244J;\'\241\203\345"
+"\331\16\64$\211\n\275*\324:M\363t\7\232\310\272\314\220\n\5+MW\233d4\201"
+"\3714\32\331\bM\375bd4\234\3714~\235&X\36%\243\374\'[\243\375\361\273\205"
+"\311\250Im\365$\214\0\60\256Qc\301\357>&\333\370\23\3258s,`\371\220\214"
+"\266\261\272\252\17\250\321\16\31\375\312\352Aj4\214\246]\216\tw\366PA"
+"\335\365\374Y\23m\4\31\205gTP\37\266\27\263\274VAk\250\20\353\313Q\266"
+"\337\320\242\240\325t\353\31Wpt\35M_\266*\350\324\35*%st\3M\257\t\327q"
+"\244\177\343MF\232G\210\334B6H)\321\272\331~\312\244\375e/\21\203:\211"
+"\270\215\242\267\211\370\200\315)\333.\252UD\213&\313\351S\275\273s\242"
+"lO\21\245\33\242d\333\302I0\224\213\206&\341\325\346\314\n\302\214\326"
+"_,\23YQ\225\217\243\236<,\222\5\32$\200\341\274x\373\267\353\1\0\300\\"
+"(\36\b\6\263D\277\b\347^\215\20\262\372\27\335\346\345\333\305\207\362"
+"\346\340\17\315A\1\0\42*\304\201Y\f\25;=\300H+{\354\4\36\275\300\33\247"
+":V\226\366\250\270\331\206B\365\367\257u\2744\246e\245nT\376\303\341\267"
+"w\257k:5lN\17\265\341\361\221\376A6\233\365g\273\315\355D\365\320C\17="
+"\376\213\370\3U<\362\17\2650\277.\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252"
+"\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322"
+"\5\6\5\0\42\255\2D\'\0\0\3lIDATx\234\355\231[H\24Q\30\307\377\272jy\331"
+"\324\365\222\227\264B{\260\210\n\304\300\222\36*(\272ZP\17\365b\30t{\b"
+"\352-J\b\242\260\244 \210\350E\350!5\302\240\322\n\253\207\n\23,|P\273"
+"\320V^\333\325\262\326\325\35\323\335\365\364pfwg\316\314\234\275\214\321"
+"m\376/g\346;\377\357\267gw\316\234\303\371\26\370K\25\323N\b!\2446V\321"
+"s\300M\b!\316\5\341\361\226L\20B\by\224*\17G\327\20B\b!\225\341\216\357"
+"8\315\353Z(\r&6\322hsT\2708\323s\232i+\t\304r^\322\330\267\234pi@\3018"
+"\315\25\312}\221e\3754B\366\204O\3\16\211\311\336c\364~\243S\f\334\212"
+"\204\206\250\26\61\235\\1\18\342\21\357\2062\42\302!\337\341\3435\233M"
+"\227}\327\244<x\246\272*\374\210\216&\377\345\365Hi\300]\242\320@j\360"
+"4-e\215\260\264\351\r\221\323\200\335,\356\232\36\32\320 \247}4\353\303"
+"\245\331\2444\357\32}4`\253\24wQ/\r\250\r\320\336\306\363\2141!\341\216"
+"\332\375\313G\303\204\316\241\375SR\276DJ%K\374\79\266\350\231\35\332\177"
+"\205\243\3233!1\275`Ue\272\242w\270\266\325\372\325\345b\242\346\271\205"
+"\245\333\227\312c\23MO:{\234NI$\253\217}PV\316\216\260\366\235\304\350"
+"\271\240\262\240\236aq\'y\337+\245\315\357s\357\360\5\245\277\335\0\233"
+"a\347\341\34\333F|\227\247\32\325pcl\6\373\243\3115t^\274\260\325\370c"
+"R\33447[\251:\261\255\237R\305\205\253\276>\332>\13\204t\315\2737\262F"
+"7n\2206\2753\204\243\217V\220\254\317\272p\243\0\0\351\253\240\13\347\5"
+"\0LI\42\272pt\\\322\351\252\13G\0\310\247\353\237\275\336\318\3g\340\f"
+"\234\2013p\277\24\247,\33\351\302\315\1\60\203\3336U\310\333v\\\20\20\35"
+"\235\240\201S\34|\271\7k\0f.nR\335\256\2554\0\200C\3\347\4#K\20\34=\305"
+"|\327\300)\16\2\331Ap\5\0\344\247\17)n\230\265\347\363i\t\264\277_\3\367"
+"\305\303\370\27\363q\305&\0\200U\3\347aOQ\231\374\372\346&\0\200\367\265"
+"\6\16\335l\2\267>\24\267\227&I\217Z2\334+6c3\17\267\217\216\275E\323P\306"
+"\236@])\3324\3130\365\254\326t\304\330Y^\225\2467\3526uts\252\321\347X"
+"\234P\244e=+:*\264i\310v\261\274O\363\325\307V-\366wrkb\'X\34\261\225\251"
+"\330r\37\370\212\0\245<\32\342Z\25<\357Uv\366Y\252\306|\235\247\2714`^"
+"\277\202G&\353v\6\n\21\231\273n\b\376\236{&&]\361\\\212\36\346\251|\n\261"
+"~\30\24\204\244\344\234E\322\336\27\353\4\25\257\\y\355\312\361\251\353"
+"qH%\332Y\325\356P`\323\227B+t\2+\356\7\247\275_\37\42\f\0J\352\177pa\275"
+"\207\203mK\214,\373\357\214k\260\306ona\237\250O\274\377\177b\213W./*\224"
+"m\30\356\236\256\216\247m\212=*$\34URn\306\234\304\331\361\20&G\35\237"
+"\355\354\202m\310\220!C\206\f\375^\375\4\316DK\246\77\225\343`\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0p\b\0\0\0\0d\272"
+"B\221\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335"
+"~\374\0\0\0\7tIME\7\322\5\6\5\0\65.\321\301\340\0\0\2\344IDATx\234\355"
+"\227Kh\23A\30\307\277d\323\246I\363\264Z\264\370h\250(\250U\21\224\36\352"
+"#\207\212\25\24+HQA(\210\210\b\26T\b\24A\274\213\7\301\203\227\202\202"
+"P+^\324\bV(\322\202\242\5E\2124\255/HI+6\266i\232M\210\215\237\207\315"
+">fwgw\222\200\266\260\377\323\314\367\377\3467\263\263\363\330\5\260d\311"
+"\222\245e#\307;DD\354\255\3228\347\177#\42\3167\232\42\266f\21\21\361e"
+"\220\f\333o\42\42\42\236e\30\305\25!u4\244\f\326>\26\242Q\33\3\201\33\26"
+"\222\247\366\310\261\206\21!\366\253\201\1\0\320\264 \244\363\35bdG\\\210"
+"\340i&\0\300\205b~\341\262Po\237/\6\36\61\2\3006Pl\201w8\0\270\270X\254"
+"\375X\305J\200\365s\42\42\352\345n\213e\3540o)\251Kj\365\376\231T\274W"
+"\2\0\340\tj4\31\64o\246\320\352\244\32\360\347PI\0\200N5\341n\211\0\200"
+">\22\360\325[2\241nJ\t(\354/\31\0pTI\270U\6\0\240W\6\214\271\f\362\34T"
+"\247{Z\332\210}\331\262\306`\311\322\377\221\r<-A\250\255\256\362\200\337"
+"\356\252\341|\340\343\234n[ v\270\230\20\330\35\20\354\200\315\355tx\301"
+"\307\325\270\354\376\221N\211\340\200\320\200\369#\26\266\275\320\263\23"
+"r\321^\361S,\5\202\3\246#\0\236u\7\327P\22\276G\0|\33\333\314\317z\367"
+"\20y\264~$\355\272\17\244=$[\342S\3607\f;H^\247Z\322<\2741\36\343\2609"
+"!=gH\230\311\320\34\371]\244\214\7\2214\'\314\33\23\250\3075\363z\310\233"
+"\23\250)&\222\t\345\336*Ka_X\204eH\240&2\23\250\237\203\314\4O\245\204"
+"\352\25\225\22\32\251\16\215\240\36\364N\6B\201\210\253\357\2070\3a\201"
+"\210\7\310\271\257>\316@\310\221\306v\242v\246\236\201\240:\355\17(+~\203"
+"\373H&\304I\343\224b\216\271\373\264[\225 |\42\215-\347\244\242\373\301"
+"\21u3\335\277\347\372E\362r\315\211\223\27\36\325\376\267M\350\302\242"
+"\355*\346`\177\214_\271\253CX\n\343\233\224\26n\236\0\255\366i\273R|\r"
+"\264\222\365\361\223\33\234Z\304C: \276\266Y7\36!Wu\367O\275\371\1\0H\204"
+"\'i\26AH\234\240\334|_Z\77S\1\344\316zu\214\327\313\31l\371F\7\250\366"
+"\346\363\275c\232\214|O\333\214\1@\2634\\W/\21gI\241\377\232\360\4\315"
+"o\263\263|6\265\220M\247\371L\212\27+zLo\327\323tq\246\363\257{\32\215"
+"\272\327\35\3\0\0\330CM\376`v6\36\313\351\271\226,Y\262d\351\37\353/\327"
+"\33\16!\33\3W3\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs"
+"\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\5\1\17\361\306"
+")\23\0\0\5!IDATx\234\355\230YL\\U\30\307\3773L\313\0C\331\202a\21j\25k"
+"\324\326\242F\222b\253\265.]L\272\250\215\t56\30L\201\230\324\244\215\361"
+"\305\304F\23\214\26\353\326\332\370 Z4\212Qb[ M\252\274H|h\33\261\332\42"
+"U\38R\241E\350\2603\300\314\347\303\2713w\316r\27\3466\365e\276\247{\276"
+"\363\377~\363\3353\347~g\1\256\207y\316\20\21Q\303\42\251\247z\216\210"
+"h\354\246\205\361\356\234&\42\242\357\262x\267\273\236\210\210\250j\241"
+"\371\355cq\347\227\305:\323\232\231\267\315\265P\\R\7\213\34(\323}\5g\231"
+"o\244`\2414\340\226\t\26;\265=\342Y\3657\363\320\316\205\323\200Z-8\264"
+"\227\2657\215i\216\257\343\241\301uJ\13\247\303I\0^\230\327Z\227s\343\302"
+"\2418\20\341\265\245\'\275\37y\246\355\326\221j\253\214\42:[\243\217G\343"
+"\245\1\'H\262\376,\3530#\313\33\26i\341\215\361\323\200\247E\334GNh@\23"
+"O\353Iw\206\313\31\210\245\205\36tF\3\266\304\342\16:\245\1\r:\255;\305"
+"J\354\261\304\2758\30-\37M\323\16S\373\237\315F\35\364\26\345e{3(0\77t"
+"\271o\316\321\217\245nx\265\2657\254\377\27\263]\237Tr\245\263z\216\210"
+"\266\332beW\235\234\226\277Y\nu\354\366i\212\244\267\211\210\250\302\6"
+"\354\336\306)\5\213\331\350\301B\0\360\35g\315]\226\260\362S\206,\42\42"
+"\n\36\312\307\215\235Z\243F\217S\316\273\342\3;\270v\270\353\347\236\321"
+"\331\264\33J\356.\322<\213k\237=R\21\31\305d\323\314\\5c\\&\27j\365\321"
+"_\266\347\254\234\352\313f\264\234\26N\333\367\2040\227\326J\343\260\337"
+"\204\266\262\227\2236\244\311\222\247\6x\\\2351\355\221qN\371\222R\224"
+"\327\316\211\3363\244m\rr\302W\fd\236\243\261\252\303F\264\307y\3321\303"
+"O\320u$F\326h Z=\311\321\206M\326\347\244c\272\356s\265\244DX\267\366\32"
+"\323\200%\27\243\272\26\245 \355<O\363\233O\317U\263\21a\233\262\377c\236"
+"F\373Li\300k\21\341\17\252\336m\2m<\323\2\227\334\253)\177Tt\372\372\5"
+"\\\203\5\r\330\251)\177Q\364\275!\320h\223%\316}\201)\177\223\273\n\305"
+"\3526,o\332%{\236I\377\222{\352\305\344\232\254iHa3kP\352H\37\27q\273m"
+"\340\360\1\21\21\5$\177\265H\243\345vp\367\21\21QP\362w\210\264Q[\'\7\227"
+"\237\210\210t\207\33\0PP.\n;I\364\250\214N\0\0\364\232\310p\233\245\\\316"
+"\331\241\1\'\1\304.8\f\267^\322\375n\17\327\21\6\0}\17\311\300\322\273"
+"\242\317\36\356j].\200)\336\231-\375\257t\207=\234hn\0X)\373\345\251i\37"
+"W\42\271\347G\34\340\212$w\2344\206\223\217\247\216pr\241\214w[\350\6\0"
+"\237\344\236w\202\223\2172\223Np\327\316<\0 \177\356\3125\2610\317\2\346"
+"\37\2\0\264H\37\205j5A\235\374\361\360V\303^vB\212\264\261P(\315\r\0\377"
+"J\356\f\'\270K\327\f\347\1T\325(\325;#kGz\0d\344\250A\241\261\321\360\30"
+"{\274G\36\325\233\r\23HY\373\255(\16\67<\232\37\243\360\316I\2705&o\344"
+"j\27\304\365\321.7\0\314\374*\205\310EF7i\373r\234\307A\336R\335j\202C"
+"\227\320\326\353\17\303}/E\334f\206\23\'\226\276n3\\\273\364\77*\352\275"
+"nb\371\322\243\31n\242U\214\270=\325\4g\\o\264\212\362\231\350\367\224"
+"\232\340\214M\303\265\374#v\2543\t2\316\\\303\315\37\22;\36\66\301yM\372"
+"\230e\216\bSsf\211\261x\215\240-\26\263C\340\200\20\222\274\305\30g:)\231"
+"y{\204\237T\237e\0\0\37\32f\247\333fA\23Zj\210\353\265\201\223N=o\31\321"
+"V\213\365B\211\363u\363\242I\243\273\353ol\341\260<\300\253\2760H.l\17"
+"\207\365\302\255N\245J\224\332-\322\214p\3308\303\311\202\212\203\324\342"
+"\310\2718\374f\330\n\207\207F9\336\3143\242 3r\37\35\252B\263%\16+\376"
+"\340\337\2431\237\353~,2;\203\25@i\330\22\207\314/y\336\304;\321\332\222"
+"\362dt\221\270\262\16@4=\35\2478\334\354x\227\317\b\3763\27\257Ne\24\256"
+"(\213\336\244\266\357\352\7\200\322\237X\370R\277qz\200\357u\351\300\307"
+"\331\245\347\42I4[\276,\0 w\377\240!\354\317=\372u\2576zV8`\321\266\257"
+"&\24\254\300\247\33\270\35a\263\365\330E\314[\376@\331]\205\321&\371\317"
+"\235n\77\35\3425l\364\364\261\263:g\372\212\363\263R\275S\301\241+\275"
+"\312;\350\373S\0t(64\tKX\302\22\226\260\204]\27\373\17\306\345%\203w\363"
+"\323\211\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0;\0\0\0"
+"p\b\0\0\0\0\205\321W\300\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22"
+"\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\4:\318b\31M\0\0\4\325I"
+"DATx\234\355\230mlSU\30\307\377m\267n\243\354\205\3012\331\220\0\253\301"
+"1as\42Aea \20g\20\203\32A\224\17\32\63\227\241\1\63\277\31\215\231\361"
+"\3F!h$FY0\23\242[\314\22B\230\257l\231\303M\1\65\216\5\66t/\26226\2727"
+"6\272\255[\333\343\207\333\366>\317\271\267\267\267~\324=\237\316\371\77"
+"\377_\317\271\347\236{^\n\314\305\\\314\305\\\374\353\210\273 \204\20\342"
+"x\274&S6+\204\20\343\313\f\340\274)!\204\20\77,\340\262\365}!\204\20\342"
+"E\303\226_SL\355\313\251\350\250S\324z\213!k;\247\330n\254S\265\254\213"
+"\2126\222e\210\29\267\25\343\344\316\220\222\337\247(\342\331((P\36t\372"
+"+\224z\311xP\370**\n\313\367A\2578j\3\360\262/X\33\314\210\316b\351X\b"
+"\256O\266}\30*\213\235\321I\0\317\207\375\277\237\t\27\253M\241\300i\241"
+"\t\327\202\350\30\0\340\216a\31\r<b\22\5v\311\354\'\246Q\240\206\243\335"
+"\3111\260\13oP\324\2771\6\24\330A\331\3031\241\300q\25\355H\212\350\212"
+"\323U\17\f\204\77\232\232\251\30\333\375\357\206\361B\242\215\234=\179"
+"\323F:\352\77\367\304\332\322\335u\201\340\253\273^\34\33i\331\77\245\276"
+"w\317\332XP{5\233\346\347#>\357\274%\311I\211\23\223\303\3\2010zJ\372\24"
+"\363t\346Ufq\321\352{\322\203\25oW[k\343%\0\266Z\371+^%\203)\373\232\375"
+"\232u\243\253r9\216jTi\325]th\\c\21B\b1\333 \204\20\242>\367UU{\200\222"
+"\326\3\23\372d(\276\260a{\270\342\262\321\347l\242\276\300\371\252\203"
+"\237]e\250;\31\260w\205j{\t\232\353\242\276\357V\2\0\266_\247b]\22\260"
+"\246_)\277CP\347\0u\235\fu\310\351\246\362\267\211@\306\241~\341\371\372"
+"a:\276W\250\247\333\21N\354f\335\256\261\0\200\235\217\360\307\314R\252"
+"&,\235,S.\277T\240 @\r^\272\252\276\311\330[\2134,_\222\317\321\324\6\226"
+"\22\257\313h\3524\313\177Ds\16\316\266\251\31+\0`K\2\373\251\277i\3053"
+"\310r\253S%\266\220wc\310\240\206\273$\366N\236\236f\265Q\236L\223\330"
+"4\236N\204A\250/Wa\275F,\37\13\fK\354\0Og\263\232tLQ\7Ra/\3634;\327\305"
+"\361_r\251\355(l3g\331\260\257\342g\323o G;\237\0\364\374\267\237\247\212"
+"4l)7T\220\324/,\363\223\6E\\\33s\374\251.\237\233Y\302\267N\313\242\300"
+"\303<\257\204\364T\376\t\276\245\203\2;f\250\307\373\214\242f\2652\364"
+"d\204\255\240\344\26\2635\224o\272\357\361#\\\253\322\77a\0\310i\26\206"
+"q\273,\22\t\300\262\373Jd\322\177b\251\1\n\300R6\244O\336<\342\324q\253"
+"\305\370mOl[\242u\370\257u\\8\333\342\323k)TH(\257\bO\334\376\372\366\301"
+"1\37\0\214N\215\270\375\306}\5\n\310\243V\331\243\271Y\24\221]\314\237"
+"\22\23\2321H\306e\42&\24\207\331\240\2564I\331\0\300Z\355\240Z\211g\306"
+"\357\25\321Y\13\0\344\374ed\361\314Ly\206\206\372z\333/\272u\262\17\32"
+"O\306p\374Q\271B\303\346\232d\205\360\35\223\257;\216\351\350T(z\362$\370"
+"\224yV\334\224f\366\332@t&\34m\241\305^9W\364\3737\33\2154\217\314I\266"
+"\77\303R\31C\313n\371\352\362h\217y\370i\271+\t\245m\321)%\216\321\347"
+"\5\0\177g\2475\317\334\25@\272]Z\36;\3555\335g\276m\26\376j\376i\205\30"
+"\246\350sdb5\346K=L\315\\\263\247\216\275\206.\222\335\352S\365Om\320\213"
+"\255\344\232!\232T=\276[\225{\23tQ\340 a\311\265\226^w\337\215\200b=1m"
+"Q$+\200\r\304r-\22KNY\275\215*Kw\371e\221\330{\325\342\333d\305\376\200"
+"\276\2724-\6\0\366\337\302\226\6+\321\367\322\361o\322\375\37d\361\331"
+"\260\241\207\375\31\65\237m`\375\3734k{\376{\352\325\247G\375\364-\0\360"
+"T-\233\307\323\315-\227\373\6\307\375\210\237\237\222\261\330\231\267\236"
+"\264\324\260K:\232\342\5\223\13\326\360K:\37Ka\213\tr\340\215\b;\325\246"
+"/\'\r\301\361\332\'\345\77\37I\37\346m,\276\77\77\35:\341\272\364\363\217"
+"\255^\215,\367\77\303\231\235\235\276\320\341p\330\201\31\317\354\330\250"
+"\273\317uuL\277\253\377\267\370\7\220\253\25\364\361\3&\177\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0M\0\0\0p\b\2\0\0\0\324\217"
+"j\224\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\7SIDATx\332\355\233}HS_\30"
+"\307\267\335\\nk\3446\247\313\312\212\215\254d\5\6\16\tIf\254\354e`\204"
+"\245\233\325d\321+\26\265$\262\27\211\202^t\t\3214\23g\366G\16%$\331\212"
+"\\\26\24\205\25\214\304`\310\222r\322\214-\311-u\2666\373\303\37\376\374"
+"y\257w\367\2369\275\367\327\375\376\271s\236\347\236\317\316\275\347<\317"
+"y\241\321(\341\322\274y\363\336\275{7\366_\31\215\306\230\230\30\0o\207"
+"\16\35\n\4\2\223]y\275\336\345\313\227\23\2\65\65\65uddd\n\252\325j\345"
+"\361x\330\2350\30\214\212\212\2121\230\264Z-\201zU\247\323\301\233\330"
+"\325\325\265b\305\n,\346\34\16\347\341\303\207p\17\26\213\205N\247\23\210"
+"\23\202\240W\257^\301\33\352r\271\322\323\323\321m\223\222\222\336\277"
+"\177\17\267\35\30\30HJJ\42\334\207*\26\213\177\376\374\to\356\360\360p"
+"nn\356tV\353\326\255s:\235cHR\251T\4\35\223\216\349\202\330\342`0x\352"
+"\324)x\375\234\234\34\257\327\213h\322\334\334L\334\261\227N\247\267\265"
+"\265\215M#\203\301\0A\320D\345c\307\216\375\376\375\33\261\346\267o\337"
+"\204B!\241\247\231\344\344\344\37\77~L\207j\261X\270\\.\4A\267n\335\32"
+"\233^(\3579\201\244\321hP\30l6\233\331lF\251\320\320\320@\232\340\241\265"
+"\265u\fH}}}\270f\3359\226H$\372\376\375;^\310P(\264e\313\26\222\305\203"
+"\273w\357\306\313YSSC\312\320\327d2a\207\354\351\351\341r\271\244\344\24"
+"\b\4.\227\13\13d0\30\334\270q#\211\263\31\245R\211\205\363\346\315\233"
+"\244O\334\214F#:\244\335ng\261X\321J\33g\215\363\304\211\23\375\375\375"
+"(i\207\311d\32\31\31\2412yJ\224\376V\215\315\242\26.\\8\361\334m\333\266"
+"E\365Y\377.;\375%\35IqR\234d\324\324\350\204\315fs8\234\370\370x\261X\274"
+"a\303\6\255V\33\37\37\17\340\327\355v\327\325\325\275~\375\332\341px<\236"
+"\241\241\241\241\241!\364%%\36\217\227\230\230\230\232\232\252P(\362\363"
+"\363\27,X\0\360\334\17\37><}\372\364\355\333\267v\273\335\351t\16\16\16"
+"bM\224{{{\361\216r\16\207#\302\365\253\305\213\27wvvb\177\242\317\347\323"
+"\353\365\253V\255\2\177\344\225+W\360r\236\77\177>\3627m\323\246MX\236"
+"\25\b\4*++\303\276t\341\343\370\276\276>\274M\354\357\357\217\234\323\351"
+"t\206\255c\263\331\366\357\337\337\331\3319\3\343\220\317\347\303\333D"
+"\364O\21\243v\356\334\211\36\330\\\273vM&\223a\201\304\324\237\241Ph\366"
+"\207G\241P\250\323\351\246+\35\34\34,,,lmm%b\376\211K\6\203\201\317\347"
+"#\26}\372\364i\373\366\355v\273\235\364\363gqq\361\256]\273\20\213:::2"
+"22\360B\22\221S\251T\352\365z\304\42\213\305\42\227\313\335n7\351\343!"
+"\271\\n2\231&\3572M\250\261\261177wxx\230\364q\237L&{\364\350Qll,\274\250"
+"\276\276^\255V\377\372\365\13\3309Q\306!\251T\372\344\311\23\16\207\3/"
+"jhh(**\232\234L\222\265\77%\22\311\263g\317\342\342\342\340E\315\315\315"
+"\221C\22\202s\351\322\245\317\237\77G\214\207\315f\263J\245\n\6\203\244"
+"\317\313\22\23\23\333\333\333\227,Y\2/joo\317\313\313\213\344\233$\n\'"
+"\217\307kkk\223H$\360\2427o\336(\225J\340\321\225@\234\\.\367\361\343\307"
+"R\251\24\61:\317\311\311\231\221 y\2169Y,VKK\213L&\203\27}\374\370q\363"
+"\346\315X\363c\42s2\231L\223\311$\227\313\341E\16\207C\241P\200E<\304\342"
+"\204 \250\276\276~\307\216\35\210\245\237\77\177\376\372\365k4\236;\253"
+"\234t:\275\252\252*\77\77\37e\r!J\247\277f\225\363\306\215\33\7\16\34@"
+"\257\243\327\353\247\313\310\310\301y\341\302\5\304CoS\224\220\220p\375"
+"\372\3659\30\33\13\n\n\360\256\203\25\24\24Lqr\374\370q\\\347j233\311\327"
+"\237EEE\270\16\36\320\351\364;w\356\314\237\77\237L\234yyy555xO\t\257^"
+"\275\372\364\351\323\244\341\334\272u\353\375\373\367\21\363\346\260*-"
+"-]\271r%\t8\263\262\262\232\232\232\230L&\230yll\254\301`\230\251\343\342"
+"\321\342LOOoiia\263\331\2218\311\316\316.,,$.\247T*5\233\315\223\367\255"
+"\201UQQ!\20\b\b:\257\204B!\370\217\243\243\243n\267\33`\357\335h4\22\264"
+"\77\341\37U0\30\334\263gOqq1\200\267}\373\366eee\21\261\77\341\247\23\325"
+"j\365\2707\253\325\n\340\301n\267\317\354t:\363\234\241P\350\340\301\203"
+"\23\336RRR\374~\77\200\237\262\2622Bs\236<yr\212\303\313\227/\3\370\361"
+"\373\375)))\4\345\274x\361\42\342bBOO\17\200\267\27/^D\361\366\25\60gy"
+"y\371t>\201\217Gi4\32bqVUU\241\377\367\210\367\345\302\312\343\361D\353"
+"\346\16\0\347\203\7\17\302\276`\311\311\311>\237\17\0\25\354^KT\346\317"
+"\361k+\350uz{{/]\272\4\340\\\255Vggg\223f\375\226F\243UVVvuu\1\4!\325\325"
+"\325\210\333j\4\345\f\4\2\3437\13\361\32J$\222\322\322R\322p\322h\264\227"
+"/_\336\273w\17\300\260\244\244d\315\2325\244\341\34o\361\300\300\0^+&\223"
+"Y]]\215}:\235{N\267\333}\366\354Y\0\303\314\314L\354\227\323\t\261\317"
+"{\367\356\335\216\216\16\0\303\253W\257&$$\220\2063\24\n\35>|\30`\77\227"
+"\317\347c\\I$\3129\f\233\315f0\30\300\302\30\205BA\32N\32\215v\356\334"
+"9\260M$\203\301\20\366\302\26\2018\275^/\226\215\t\270\304bq\330\223\260"
+"\304:\'\325\330\330h\265Z\1\fu:\335\332\265kI\303I\243\321\216\36=:::\212"
+"\327*&&\246\256\256\16eA<<\'\2031\253\377Eww\367\355\333\267\1\f\327\257"
+"__RR\2\316\tp\213\30\361X\27v\225\227\227\203\235\31*++KKK\3\344D<\334"
+"\203.\221H\24\t\247\313\345\2\310c\306\203\301\246\246&\220D\\$\22}\371"
+"\362\5o*\334\335\335\35\311\42:\237\317\367x<\300\213R6\233\r\3367S\77"
+"\\6\233\35\27\27\267l\331\262\214\214\f\215FS[[\273h\321\42\274\r\25\b"
+"\4{\367\356\25\b\4l6\33\202\240\361h;\20\b\240\230\260X,\221H\224\226\226"
+"\246R\251jkk#y#D\42\221V\253\25\n\205\20\4\61\30\214`0\350\367\373\377"
+")\373\277\336\27\34\327\2313g\250\373e\24\'\305I\211\22%J\224(Q\242D\211"
+"\22%J\224(Q\242D\211\22%J\224fJ\177\0\352\241h1\273\375\1\23\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0p\b\0\0\0\0\214"
+":\367\272\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322"
+"\335~\374\0\0\0\7tIME\7\322\5\6\5\2%\1P\263\6\0\0\3\64IDATx\234\355\230"
+"_H\24A\34\307\177\347\371\207\323l\347\b\313\264\216\302 \350\17\32\221"
+"\31\n\375!\250\220\2#\351!\350\257TDD\221O\21\321SOEQa\222\320EP!\231\4"
+"\222=\234\364\220\26\231RaE\205 \230\226Z*z\305]\233\177~=\354\336\336"
+"\356\314\316\355\254\373\240\305~\237v\276\363\373\374fgnfnf\1\376/%\267"
+"!\42b0\205\2519:\206\210\30^d\221`y\24\21\21\233\374F;\351\22\42\42b\205"
+"\345\33T*\201\357\27\353\315\214z\305m\364X\362\336\26%\264\2570\356\345"
+"\264+\336p\216%\16\220\367K\t\216\224\305\234\374\36\305\301=\28\30015"
+"z\342\264R\336\26V\215:!\34<!5\36\253\274\0p|\\-\rd\211\361\20\30\211%"
+"h\314\364^\213=c\2315\251\352\200\306\274y\254=\336\21\306\1\32\220Q\257"
+"\337\32\323\224=D\343\223[m\340\0\273i\376\246-\34\240\326\210we\332\344"
+"\347\364\351\361\211\3656q\200\35z\376\262m\34 \30\307\77\371xA\311|\376"
+"d\277\266\330j\243\274 \223\365\230N\210D\310}\261\227\364\0d\22\211\20"
+"\211\20\42\21\77\221\bI\341%6W);\325\20\21\5\351$\321ff(\237\f\203M\0\31"
+"\271\1\207y\226\266Mm\3744\255p\310C\267\303\337\357\263\355\26\215\374"
+"\220C>\342\220\227\35\362S\223\313\273\374t\362\t\376\177\0\0\240\231\177"
+"b;wW\200\17\3607\306\331\0\63\277\377_\306\323\262\275\254\35\351\7\b\33"
+"\255*\336\376\231V\22\2344T5W\344\231\264\304\345\1\340\202\256\242\265"
+"X_#\326\377\'\332\223\\\271\356\271\276\306\252\377\212V\305\36\276\356"
+"|\305\213I\360\376Y\337T\363\345|\232\22y\177\322\240b\3676\364\361\243"
+"\270\355\347\276U\234\3113\t\3174<~\245z\371\370iq|\347\360\233\325\273"
+"@wAb\234\303\357\377\243\24_\3143\247\22\217\237\347\374-\365\42y{\300"
+"\242y\263\366S\202Z1\272\306>/\205t\345\236\271v\371\205\35\6\343Y\252"
+"=>\277\327h\340u[\374\2260\322:h\207\37cp\374]\310R\334\337\317da\246="
+"d\'\201\255\375oA\35\63\206\211\370\17\65\264Sr\205\37]Ew\267\331\357e"
+"\257\241\207\204\371z\37\200\364\216\346\345\265\202\374\r/\0\300\222\357"
+"t\202\236l1^u7\312t\202\26\316<\344\254\377#\314\20T\333\342\341*\223\300"
+"|\fy\2747D\363rQ\234\262\236\77\23\273:)\'\265.\276\215\13\314\277\321"
+"\322Q\312\311}\240\215\241\310\374\355,\247o#\305\27\331\250jc\'\r\211"
+"k\2301\334\307\360\217\214\1\206sO\1\303\313\233(|\326\2401`\257\276Rb"
+"x\34)\322\7xV\77\245\352\177\224\307\347\231\217\235\3\210\221S>\0\360"
+"\0\204 ]\n\230|\36\221\273\206\243g[\341\304v\3772\363\317\17\221\217\257"
+"\17\3\200InM\245&\353Z\247\216i\77\2779\345]\271r\345\312\325\277\251\277"
+"\226\2\206\326\206\27Hb\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0N\0\0\0p\b\0\0\0\0\225\261\31\34\0\0\0\2bKGD\0\0\252\215#2\0\0"
+"\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6\5\2\b"
+"D\217\357s\0\0\4\272IDATx\234\355\231]lTE\24\307\317.-\205U\332j\77\324"
+"\266n]\20\224\326\b\265\25E* b\321j\264F\215M\r\22\215H\214\17}0\321\27"
+"#`\344\301\200\17U0\21C\224\370\361bR\254\206H\4#\251\32H\241\304BA+`\200"
+"J\245\24ZJ\273\205m\267;>\334\336\355\234s\346\343\336,Of\377/\233{\316"
+"\177~w\366\316\314\3353\263\0i\245\225VZi\245eV\300\356\270\2714wFVh`|"
+"\360\\\367\345\224p\301\312EU\2253\247N\6\6;\17\266\357\371\327C/\25\254"
+"\332\317z\205B\211\3\357\204}\303\362\337>\255b9\212\177_\343\13\226\263"
+"nP\17\23B\b\321Z\255l\250|v\365M\205\362\345\237\35]\303\321\334\222\212"
+"\252\f9\372u\343\5O]+l\221\273\321\2676\342&\n\32\317\312\231\336g\274"
+"\320\26t\313\317}k\266\234\233\2761!\'7N\261\322V^\221\32\214\275D\323"
+"uW\345\16\356\316\265\320\336@\267\177\201\33j\3422\257\343\26#\355M4|"
+"\33T\226Fd9V`\240\275\206\254\207\247*M\273\260)GK\253E_D,Q\273\42W\220"
+"k\247n<\42\375\310\367\203\356\256\37#\233xO\355\312h\303\266\373u\270"
+"\322\30\362%\36V\272\326b\332!\35\r\240\31;\317\250\36\337\235W\261i\215"
+"\36\3678v\212\315\n\317nl\211\33f@\6ys\305\3473\313\nr\307\237\3644\200"
+"\317\211\371G\3468@\34o\231p\317\21\263XL\f\217P\303B\23\356\306\4q\323"
+"I\265\223\344\243\231&\34t\22{\242\314\211\7\235\217\310\243\324\77f\304"
+"\355#\327\2015\b\2672H\362G\2144`\223\262!S\306\325\323\36413\256\223\6"
+"\362k$\334\254\2714}\312\214;\312\42u\22\256\226e\317\230q\375\3754\362"
+"\230\204{\310/\16\272i\240x\366$n\21\263_\364\213\203\352$\256\270\220"
+"\346\206\306-\270\36\26\251H\342\356f9\366h\250x\357\347%q3Y\316Zy\r\260"
+"\310\254$.\302rVq\\Q\226\213\313g\271\21\33\216\33\2y..\217\345\314+V\255"
+"$.\344\277\355\20\17\205\\\34\377y\236a\303%x(\323\305\361IF_0^4\352\266"
+"\33f\251i\266\266\212\337\302\21\27\307G\335Vh\251t\321\305\365\261\324"
+"\r\266\266\327\261H\242\337\305\235f\271\f}]\344\210\347{b.\356\4\267\27"
+"Yp\374i\234\0\27\307\337\255`\333\211\360\32\241#\211;\305\37\336\255\26"
+"\\\t\213\264\'q\360\33K\316\366\215k\235\304\355a\311r\13\256\224\6NJ\343"
+"y\33-)\4\37l\3349\326`\223\234nciSE\16P\303\374N\255:\2618\267\263\6\17"
+"\30q\25\64\360\327~\31\367\25[\266\374\307\315\230\335\202/\77\244\235"
+"o7\321\202}\304}\211L\353p\214\362L\23\371>j^O\35M\324\361\272\1\267\201"
+"x\317\263%\234w\201Xh\t\')p\222xWs\317\213\264{eZ\3342\342\374E\265go!"
+"&\325n\301\321\16l\274|\273\312\224O\316&Fn\322\320\346\223B[\261\353\5"
+"\0\250\212b\333\7\32\34\331\320l\322\330\340I\274\1\35\275K\351Z\205i\315"
+"\372\3\201\6\314;8]\341)\307G,\273\324{hG\317\342\331\374\5\37\262\222"
+"\343\310\361m\226\201\6\360 ^>\333\351ne\316\337(\377\221\355\350#\274"
+"\17\371\333\346\310\311\340\253Crr\370e\13\f\0\62\327\217\312M\306\266"
+"-p\277q\366\252#\350V\207\356`\215U\363\271|\363Rt}\266\255k`8\267h^%\32"
+"\231K\353\266\304\355\235\3\0\200Z\272\35e\2126\261\362\334\244\345;\342"
+"\6\330\77\357\232\337\375\n\25\66\376<\246fm[\256\255\327\214g\237\331"
+"\213\27\336[V,\5\206\216\36\376}\357\37~;\206\24\372T\b!\304\227uK\347"
+"ZkR\17z_\b!\304^\323Z\362\241\347\235\t[lwzQ\316y!\204\20\237x\264\333"
+"j\352W\234\31\321z\215p\23\307\245\203\327\6\67\345\36\347s\242\334\273"
+"\336#U\247\202\211\251\373k\0\0\240\376\234\377\343q\244\260\273\24\232"
+"WT\257n\25\342\233\324p\323\350\n3WBVua\332q\276\237@\262\215l\13\272\32"
+"i\210\246\326\273\22\371m\36{\42\65\30\0\64\214\'i\275\313R\246\1<\325"
+"\343\300F\267\352\212\fI\366\277\216 \364\364\222p\254w\377w\336\376\236"
+"H\353\377\251\377\0=\236pA\257\nl\32\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\2bKGD\0\0\252\215"
+"#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\5\1+\315\305\315\302\0\0\3PIDATx\234\355\227OH\24q\24\307\337\256\351"
+"\232\226\232\242\342\237\354\222VF\21i\205\245e\201fP\230\25\26Z\6Q\'\215"
+"\220Nu\350\322)\272\211\207\254\300 \275\24\211IJ\24\224Z\221&\31\25\202"
+"b)\251h\352\226\256\256\312Z\372:\314\354\372\336\233\231\3355\350\22\363"
+"\275\314\276\337\367}\346\367\373\315\274y\374\26\300\224)S\246L\2312e"
+"\312\324\177)\213\241c\213\213\262\205L;\206\247\226\205\6ggdl\212\267"
+"*\301\370\347\366\227-\363~\255\303z\344\201\23\205\34\325Y\276\301\240"
+"K}\222S\364>\337\7Y\330\257\17\42\42\266l\365\2\306>\242\251\77\352+*\237"
+"\315\220\1\327\25\253\21\231>D\362\306\316\5\2\0\204_\245pS\270>yt\226"
+"$u%\270\207S\351\36>\305\351\222.\2222\236\270d\254\267\23\243;ZK\356\246"
+"$\26Q\253\230:\355!\222L\30\241~\'\253\24K\27\365j%\332\304\336\303Yn\226"
+"3\263\204\233\247\231\351\f\345n2s\355l\273\266\1f>\221k\32bv%\265\312"
+"\230\205\227%\312J\5]\312\343W\352\243\214gvH\364#\213\202..\375\316\344"
+"\223b\204D\13\271\77\272\3023\3531\236h\237\224\350\27\36\306d{\320\34"
+"\356|\223$\f\2108\317\215Fl\346\306\250\6\265\377\342q\226\33M\25]fB\203"
+"\202\235\207[\2T4Y\344\35142\7\17W&\250h\224\310\233\323\2423\42\216S\321"
+"\325b\\\247\375\311\273E\252h\2006\325\37Y\1\300\2513&$\357>\255\246\311"
+"\'*7\0\0\253D<\241\242\375b\\\323\7\264\350\200\212\366\210\3610-\32\311"
+"\303!\367\202\7G\270\241\355z!\242\211v\202\212\302\13n\304k\320u\42~\356"
+"A\33\271\221\30,QQo\330\344A\353y\351Y7Ht\33\17_\365y\320\271\32n\245I"
+"t\7\17\253\310\357$\326\277\361\236 \3\35\314\356f\5R\301\274aQO9\274\277"
+"\234`f\330 3\367s\364>3\33\304\232\362\26\250[\307\274x\266\2351\315\273"
+"\273F\355\205tj\335\245\226k\257$\301RM\23>\220W{h\221\30\277\2135$@\0"
+"\333Q\235\315=\2366I\311\22\35\22\300r\235\336\276m;\0\0\4\226\322\3\301"
+"\317\\\232O\341\202[1$jo\36\16L9L\37\312\3333_u\'\5\0\210\251\245\23\13"
+"M\224\33\36`\224\235=5\200\247n\312\306\251\325\306\212\21\r\267\330Q\252"
+"\375\376\365\216\227\326\214\334\235\273\326\270#\354}\367\246q\320\347"
+"\214DQw\20\21\261&\305\346;W\350\6\42\42\66\7-\33\204\223\210\210\350L"
+"\360\235)\25>\206\210\210U\336r\f^\325y\345\200\323\372\27\350q\345\342"
+"\320w\275\241\1J\1\303Z\345\42{\2777E\253\245\360\332\2\0p\352{\222\377"
+"h\222\347\333;\230y\241\25\361\241\377h\260\254\304=\376\263=\234\354\r"
+"\325\3111x\302\217Y4[$\317\22^\2248M\346t\35\366\37\4\200\242\245\346:"
+"z`Y$@\376\260\2\316\337\2165\3100\376\'\31R\260/\3115\332\326`7\3140\365"
+"\217\365\7\366\332b<\212\t\353j\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0)\0\0\0p\b\0\0\0\0\246\212\6\25\0\0\0\2bKGD\0\0\252\215"
+"#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\5\6"
+"\49\'\322.W%\0\0\2]IDATx\234\355\3271h\23Q\30\7\360\177\356.ik\233\230"
+"j\205\264HT\2448XQ\254\25AAE\7]\204N\nN\5\7\21\241\242\42\335\334\\D\202"
+"\24D\34\f\25\244\4\212\213X\204T\2728\265\5E*\244\203Z\261\264QIMCiH\333"
+"\344s\270\334\275\357\356\335\225\7\332\241p\337\364\276\377\373\361\336"
+"\273K\216\\\200\240\202\n\352\177\2251IDD\351\2604s}\215\210\250\264\327"
+"\16\16\226\211\210h\254\325\351\264GDDD\327Xv\327\214\246\367q\330\374"
+"\312LGC,\324\337\233\341\302q\221uL\231\331b\207c\243\375\313f\274\322"
+"k%\207\177\230\t]u\235\375F=\257\3361\373\213\245z0\342\276\312P\266>C"
+"Ot\0\67\327\353\335\317]\322\rI\26-:\32\325\7\2551\365J\20\350\263g\77"
+"\274\261\207/< \360\232\244\232k\365\224\211\202\33\326.xB\340\262[>\363"
+"\201@\306\t\277F}\345\316\5\16\253\247}!p\211\313\324\6\20H\13\230k\22"
+"\261!\313[y\373\213\223)o\270fP\377P\342\351<\37\65\214(Z\302z\f\315\21"
+"m;\2665\204\342hj|\370\264>/>\243\254\367Rqk\240)\357\276\31R\234s\0@\244"
+"\355\350\311\220\77v\326\331U\347\3431\340\273\373\370K\345s\216+\313o"
+"\312\262\250,K\312\222\224\245_\5\62\220\201\334\242rMY\256l\302\232\313"
+"\312rIY.*\313_\252\222\346U\345|EU\316\330#\3\0bg:\265\271\261\337^\362"
+"\23ob\203e\42\242J\252\1\0\220t\374p]apw\316J\337\352\222\254%\4\64&D\336"
+"/\311)\266d\37\313g\1\240\213\313{L\276\343\23{\0\34c}\205m\256\365\360"
+"\213k\7\220d\375p\236I\307;\353*\200\3\242]\177\300\'\377\260\315J\215"
+"p\274~\77\346\20Y&\357\3h+\333\355L\213C\262k\37\322\1\244\354\266\330"
+"\345\200\b\177\266f\246\303\200v\273f\265K\247\340\252C\366\237\215/C\231"
+"Y{\305\357G\334\208\221\'\271\206w\310\20h\37\251\271\334\3049/\7\0\335"
+"iv\263\n\317\245\23\2\342]1\322\323\335\231\210\243\220\317M~\254\372-"
+"\270%\352/\321WR;\f\344\242\311\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0N\0\0\0p\b\2\0\0\0\77\270\321\227\0\0\0\4gAMA\0\0\261\217"
+"\13\374a\5\0\0\b\235IDATx\332\355\234KL\23]\24\307\247P`Z* \257\0\25\210"
+"\246b4\240\240\21\5\301\7\242 &@D6h \30\f\217\r\13\215q\241\211D\23\214"
+"\2>AV\42\242QL4\202\324\220(ua\303\2M\5\225*jhmx\227G\13miK;\363-\310G"
+"\370\246\355t\346v\246|\323\314\177Gi\317\271\277\336\336\271\347\234\373"
+"\360\206\376O\342r\271\241\241\2410\f/..B\236\252\204\204\204\216\216\16"
+"\243\321\210\242(\212\242\343\343\343\r\r\r\301\301\301\236\306YPP\260"
+"\270\270\210\332H\241P\304\304\304x\16gnn\256\305bA\35\350\303\207\17\36"
+"\302\271g\317\36\275^\217\342j\363\346\315\214\347\334\260a\303\344\344"
+"$\352L\331\331\331\314\346\344\363\3712\231\f%\240\204\204\4\6sr8\234\366"
+"\366v\42\234\77~\374\340p8\fF\275t\351\22\21N\223\311\224\226\226\306`"
+"\316\274\274<\4A\234rNOOgff2;T\230\237\237\307\207D\20\244\265\2655<<\234"
+"\301\234\241\241\241\277\177\377\306\347\224\311d\251\251\251\314~\344"
+"r\271\334\236\236\36\34H\265Z]YY\351\345\345\305\370Y\364\336\275{\216"
+" \255VkSSShh\250\'DEg\317\236u\304\331\333\333\233\224\224\344!\321_zz"
+"\272\311d\262\205\34\33\33+..f\366\264\271Z111SSS\30H\263\331\\WW\27\20"
+"\20\3409Y\13\237\317\357\357\357\307p\276\177\377~\333\266mk\20\242\321"
+"j}\357\336\275\7\16\34X\375\212\\.\177\363\346\r\304\212\301\275\272\42"
+"\30\206\243\243\243#\42\42\202\203\203a\30\16\f\fDQT\243\321X,\26\265Z"
+"=99\251T*\227\226\226\230:J\263\262\262\256\\\271\42\26\213\25\n\205\323"
+"\240\327l6\313\345\362G\217\36\225\226\226FEE\21qQQQ\261\264\264\264b!"
+"//\317\255\204\301\301\301eee\335\335\335vkE\4e\265Z\245Riyy\271@ \260"
+"\353\305\333\333\273\241\241\1\363\251\242\242\42\67A\356\332\265\253\255"
+"\255\315`0\240\324I\253\325\336\272uK(\24\256v$\20\b:;;m\337\\RRB;djj\352"
+"\273w\357P\332d2\231\32\33\33###\227k4_\276|\261\373\266\312\312J\'A\270"
+"\213\341A]]]aa!\301\367#\b\42\227\313\373\373\373\207\207\207\265Z\255"
+"\331l\366\367\367\17\17\17\27\211DIII\321\321\321v\77\345\353\353[UUU\\"
+"\\\334\334\334\\TT\344h$\373\371\371\321U1\251\254\254t\232y\256hpp\260"
+"\252\252\n\377y\263q\343\306\352\352\352\317\237\77\203u\376\305\213\27"
+"\251\347\f\t\t\351\352\352\42\330\2\245Ry\342\304\tR\201nzz:\300\210\250"
+"\251\251\241\276\214\240P(\b\272oii\361\367\367\7st\362\344\311\361\361"
+"q\342\250\265\265\265Trfff.,,\20\364}\341\302\5\27\335EDDH$\22\202\356"
+"\356\336\275Ke\371\313n.fW\227/_\246\252v\361\370\361c\42\36\233\232\232"
+"\250\341<~\3748q\316\216\216\16\n\263P\16\207\323\334\334\354\324i[[\33"
+"\5\316RRR\234\256\254\254hff&,,\214\332\7\204\267\267wGG\7\276\337\247"
+"O\237\272\352F$\22\315\314\314\20\177<\234;w\216\216\351- `hh\b\307oW"
+"W\227K\16\374\375\375\277\177\377N\234S\245R\3215\225C\320\216\35;\314"
+"f\263#\327o\337\276u\311\372\303\207\17IMn\347\317\237\2475\b\275z\365"
+"\252#\327\37\77~\4\267\233\237\237O\212saa!((\210VT\77\77\77G\263zoo/\240"
+"Q\201@022B\n\265\245\245\305\r)\324\251S\247\354z\377\372\365+\240\305"
+"\353\327\257\223\r\315\216\35;\346\6T//\257\301\301A\273\313\223 \346\204"
+"B!\331\314sff\306\307\307g\r\13\350\177\377\376\5\261U__O\266K\333\333"
+"\333\335V\353\340\361x\266\363\337\304\304\4iC\353\326\255#\36\350\256"
+"\250\274\274\334\235\225\235\373\367\357c\32\240\321hH[\251\250\250\0H"
+"\27\343\342\342\334\211\272{\367n\333b\5i+R\251\24\240\b\344\346\245\27"
+"\16\207\243R\2510\315p\362<\303\374\35\25\25\5\260\222\273\\\357q\'*\212"
+"\242\266\253\4\370\2711\26\65\'\'\7\240\177\6\6\6\334_j\356\356\356\266"
+"\315\370H\240fdd\0x\375\365\353\227\373Q\245R)\202 \230\7*\211\212!\330"
+">\4\245R\351~\324\271\271\271\332\332\332\325\t\243\301` Q\233\7\253\326"
+"\255\311\42\42\3510\13S\42\3\263\2\62}\257-\252H$\2\60a\261Xfgg\31\206"
+"\352\250\276\216/FpbQ\t\256\366y\2*Xb\315\224%`/L:\16\66V\231\207\212\77"
+"\5;\222^\257g\36\252g\213\213\211\241\301J[\256\264@(\24FDD\320\n\251R"
+"\251\324j\365\177^\42\276\224HM\375\n\202 \b\252\255\255Ei\326\362\202"
+"\372\177~\300:\235\16\240\255n+)Q9V\247\247\247\1L\4\6\6\62\17utt\324\203"
+"Q\271\256\347b|>\37\206a\243\321\b\326\202\331\331\331\341\341\341\325"
+"_\\HH\210\353`V\253u~~^\253\325\42\b2\77\77\217\375\367\316\235;\301\306"
+"\375\246M\233(\374\372y<^zz\372\353\327\257\3116\3A\220\226\226\226#G\216"
+",\357\374\301\23\f\303\253\267\262\21\27\35\247a8\34\16\361\335\1\313\252"
+"\257\257\':V\215F\343\267o\337\0\232\5\226\22\341\13`\21\250\263\263\223"
+"D\264\4\266tG\323aD\271\\Na\216\205E\355\351\351\1h\323\226-[\350@%;\371"
+"\341W\275\261\250\22\211\4\340YJ\323aD\262\351!~\313\261\250:\235N,\26"
+"\223m\323\326\255[\371|>\345\250\324\346Lv2\233\'O\236\220\236\235\271"
+"\334\304\304D\346%q]]]cccd\r\35<x\220\362\306Q\373K\361\262[Uhll$k\350"
+"\360\341\303\224\243\3020L{_\7\5\5\315\316\316\222\232\276\215F#\345G\204"
+"\322\322\322H\265\1\377f\5\373U\b\215FSWWG6A\317\315\315\245\26\325Mw\7"
+"\3000<<<L\352Kuu\77\230\215\36<x@a\257\342)\'\'\207\354I\212\330\330X\n"
+"Q\211o<v\25\25\42\277\33\355\346\315\233Tq\246\244\244\220\315:\\B\25\b"
+"\4\77\177\376$\356L\257\327\203-\21\330\352\345\313\227nE\205 (..N\243"
+"\321\20\367\367\354\3313J\272\224\310-\3\24\243B\20\224\221\221A\3524T"
+"ii\251\213\221\3\251\237\22\225\250\20\4egg\257\\\206D\344\20\20\360&<"
+"___G\273\234\21\4\271q\343\6NoSvc\321\241C\207\264Z-\361\210\342\364\351"
+"\323\0\241\213X,v\364x/++\203 \350\325\253W\264\243B\20\24\37\37\357\364"
+"b\7\314~z\347e\236\177u\364\350QG3\271\311dZ9\335\227\230\230\350\250c"
+")\276\207*((\350\371\363\347\304iu:\335\355\333\267q\362\36\36\217WPP\200"
+"SF\232\232\232\302\344\22\216:\26\37\25p\13Yaa\341\235;w\210\367\30\4A"
+"*\225\352\323\247OCCCsss\6\203!00P(\24\306\307\307\'\'\'\363x<G\237\222"
+"H$%%%###\253_LLL\224\311d\266\373\253bccU*\25\365\221\243@ \270v\355\32"
+"\300\306K\202\32\35\35=s\346\214\243\375bv;\226\336\213\324\302\302\302"
+"jjj&&&(\204\374\363\347Ouu5NW;\32\261\356\2703\316\307\307\'\77\77\377"
+"\305\213\27:\235\16\230P\243\321\264\266\266fee\21\274\306\305\266ci\31"
+"\2538\371Pjj\352\376\375\373\223\223\223\267o\337\2169Pl[\351U\251T\3\3"
+"\3}}}\22\211\244\257\257\317j\265\22\367e;b\361\307*\275;[\5\2ALLLdd\344"
+"\372\365\353\227\227v\f\6\203\311dR\253\325SSS\n\205\302\305[(\367\355"
+"\333\267\372w.\225J\201\227\216X\261b\305\212\25+V\254X\261b\305\212\25"
+"+V\254X\261b\5A\320\77\332\203~\377l>\237\\\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0;\0\0\0p\b\2\0\0\0/\330\237K\0\0\0\4gAMA\0"
+"\0\261\217\13\374a\5\0\0\b\222IDATx\332\355\\[L\23[\24\235\226\362jy\211"
+"T\302C\342\243F\241\26\260\242\42\322\360\20\211\32\204D\214\42\212\37"
+"&\42B\f\32>}\304`\374\300\20\b\32\211QH\24%\n\37$\204\4\37\2216X-\212J"
+"\2644\345%\24\241T\312\224WqZZ:\235\373\321{\271\334\42\63gjK\'7]\177\264"
+"g\366^\2359\263\317>k\357\3\4\271\340\202\13.\270\340\202\13.\330\7n\253"
+"\357\222\301`\4\5\5yyy\351\365z\252\337\36\36\217\327\334\334<\77\77\217"
+"a\30\206a\77\177\376\254\250\250\b\f\f\244(\335\354\354l\275^\217-\203"
+"B\241\210\210\210\240\34\335\314\314L\223\311\204\255\0\221HD-\272{\366"
+"\354A\20\4\303\305\226-[\250B7<<\\\255VcD8x\360 %\3502\231\314\256\256"
+".\f\0<\36\317\371ti4ZCC\3\b\335\236\236\36\32\215\346|\306W\257^\5\241"
+"k0\30\22\23\23\235O7++\313l6\23\322\325h4iii\224X)\264Z->W\263\331\374"
+"\370\361\343u\353\3269\237nPP\320\300\300\0>\335\256\256\256\204\204\4"
+"J\4\7\6\203\321\326\326\206\303\25\206\341\13\27.\320\351t\252D\337\273"
+"w\357\256\304\25E\321\352\352\352\240\240 \n\255m\347\316\235[\211\256"
+"D\42\331\261c\7\265\226b\201@`0\30\226sU\251Tg\316\234\241D\270]\212\210"
+"\210\210\211\211\t+\256F\243\261\274\274\334\317\317\217ry\31\223\311\374"
+"\372\365\253\25\3357o\336DEE9d)\375s\23\361\361\361IIIK\77\221\313\345"
+"---\256\r\236\13.\270\340\302\377\32\324Z\3567o\336\234\233\233\273o\337"
+">\16\207\23\20\20\60\65\65\325\333\333\333\332\332\372\344\311\23\4A\250"
+"u\347\266m\333\326\324\324\264\322Fkll,99\2312O\231F+..\376\255\300\265"
+"\24\b\202\304\305\3059\237\256\207\207G]]\35\6\206\316\316N\273\315c&\223"
+"\31\36\36\356\353\353\353\355\355\355\345\345577\247\323\351&\'\'\307\307"
+"\307\315f3\16\335\346\346fRj\20\227\313e\330F188899Y \20\360x\274\355\333"
+"\267\257\244\250\32\f\206\301\301A\251T\332\321\321!\22\211\272\273\273"
+"\27\277rsskll$+^\221\316`\375\374\374\212\212\212\304b1\212\242\30y\f\16"
+"\16\226\226\226n\334\270\21\202\240\352\352j\33,\234:u\212\304\236\276"
+"\242\242\202P\205\0\301\302\302\202P(\264\372\260\265\265522\362\362\345"
+"\313\370\327\356\335\273\227\230+\235N\277t\351\322\334\334\34\3460<{\366"
+"\314\315\315\r\202\240\214\214\f\234aJ\245\3222\214`\276\266\267\267\203"
+"x5\233\315\235\235\235\265\265\265eee\217\36=\352\357\357\7\244\13\303"
+"\260\257\257\357\342\273888\270\322\310\274\274<\2\272\221\221\221J\245"
+"\22\304\353\353\327\257\267n\335juyFF\306\330\330\30\310\345MMM\336\336"
+"\336\226\253\242\243\243U*\325\3621\267n\335\42\240\313\341p\306\307\307"
+"A\374\325\327\327\257\364\2608\34\16\f\303 F^\275z\345\345\345e\271\212"
+"\315fWTTXx#\b\362\342\305\213\375\373\367\23\307\204\236\236\36\20OCCC"
+",\26\13\307TNN\16\340\364hhh\260\2225<<<@#\303\375\373\367\1\335\344\347"
+"\347\23.\302}}}\200\326\n\13\13mY\35bccA\244_\213X\275\370\322\340\340"
+"\372\365\353\200\214gggm\21\346\0K\1\30\206\275{\367\16\304`bb\42x\244"
+"\273r\345\n9\272\376\376\376\2135MB\334\273w\17\304&\213\305\2g,\225J\t"
+"\326\7\253\277\323\322\322<==\1\177\336\217\37\77@\206!\b\242V\253\1m\362"
+"x<\177\177\177\22\214\371|>\370\3\321h4v\37\tA\20~5\322\232\361\372\365"
+"\353\301M\317\317\317\3\216\234\236\236\6\67\33\20\20@\2021\376h+,\306"
+"|\273\247\371$\30\33\f\6G0\6\1777 \b\232\234\234$\301x||\34\334tXX\30\340"
+"H6\233\rn\26\377\205\266f,\227\313\301M[rsB0\30\f\360\337\246T*\361\357"
+"\2325c\261X\f\316\30\60\260DEE\271\273\273\3\332|\371\362%\351\211/\223"
+"\311\300\3~hh(\241\301\342\342bp\203\2\201\2004\343\374\374|p\7%%%\204"
+"\6\77~\374\bh\355\375\373\367\266\4\27\6\203!\225J\1}\f\f\f0\30x\33\362"
+"\324\324T@S&\223i\367\356\3356F\304\330\330X\302>\231E\\\274x\21\'K\1O"
+"5o\334\270\361Ga<33\323h4\2\346\234\'O\236\\n!44\264\243\243\3\220n}}\275"
+"\35\252\224\207\16\35\232\235\235\5t)\24\n\13\13\13SRRv\356\334\231\225"
+"\225UUU\5~mmm-\376\324\42\'\217\212\305b\307\355\373\177\375\372UPP`\177"
+"\3551\'\'\7p\333\7\16\24E\237>}\352\300\336<\32\215VPP\240\321h\376\234"
+"\353\304\304DUU\25\207\303q\210F\357\356\356\236\236\236~\364\350\321\364"
+"\364\364\360\360p\333|\240(:22\322\333\333\373\351\323\247\266\2666\211"
+"Db2\231\354_U\360\364\364,,,,))\301I\tT*Ukk\253L&S\253\325333V<\246\247"
+"\247\365z\375\324\324\24\f\303(\212:V\210\216\215\215%\234\270\265\265"
+"\265$\364\4\207B \20\20\352\202(\212R\245q\202\315f\203\264Y\316\315\315"
+"Q\245\216RYY\t\370\312/\227\6W\7nVRq]]\35\276\216\266tED\20\304h4\242("
+"j\351\20Z\245\332\224\325\n\367\375\373wG\270\261\3746\275^\217 \210F\243"
+"\321h4\243\243\243\303\303\3032\231\354\363\347\3170\f\333h7!!\1s\6\276"
+"}\373VZZ\272i\323&\322\214###1\347\301d2\325\324\324\254Y\263\206\4c\26"
+"\213\5.\2729\b\n\205\202\313\345\222 \335\334\334\2149\33\23\23\23$\262"
+"\216\270\2708@\361\330\241\220J\245+\2112n\313S\5\24ESSS\235\273,\4\7\7"
+"\353t:@}\32\242\321h\245\245\245N\277\3230\f/\26\240\200p\370\360a\205"
+"B\341\\\322\307\217\37\'\367h<==\363\363\363\301\225\0\273\243\246\246"
+"\206x\36[e\342}}}}}}t:\235\313\345\256~G.\206a\17\36<\0\235\312G\216\34"
+"iii\371mK\361\252\1Th\345\363\371_\276|\301(\0|!\371o\234>}\232p\331\23"
+"\211D111dKX\301\301\301\321\321\321\271\271\2718\35L\313\3731\b\354\36"
+"8p\0\347L\232\5\17\37>$n\31\200\210\35\21\2662a\30\326\336\336N\260m\36"
+"\32\32\30271<<L\252>\200\203\262\2622B\306\225\225\225\4B\33\241\211\333"
+"\267o\333+\16\304\307\307\23\272\373\355\1\242\1775z\220\343P###\366bL"
+"X\341\33\36\36\376\355\331H\372R)\222\320\315\206\r\33\354\305\230\360"
+"x\310\315\2337\tT\216;w\356\200\4HR\5\77\234\212\35\376IC\241PH|\222(/"
+"/\17$\342\264\267\267\223\333&,CHH\b\376\331\'\205B\1\362\300!\37\37\37"
+"@!P\245R\25\25\25\331\240\260\304\304\304\224\227\227\343\267\240)\24\n"
+"\374t\376\77\251\302\261c\307\32\33\33\1\363\207\371\371y\261X,\221H\344"
+"r\371\350\350\250Z\255\326j\265\226\231\347\356\356\356\343\343\343\347"
+"\347\307f\263CBB8\34\16\227\313\215\217\217\'\274sB\241\360\304\211\23"
+"\244\312\356\320\331\263g\235\262\325\233\234\234<\177\376\274\215\311"
+"\26\237\317\227H$\253\231\356\\\273v\315\16*^JJ\312\363\347\317u:\235\203"
+"\210j\265\332\306\306\306\354\354l\360r*\220\342\315d2\223\222\222\222"
+"\223\223w\355\332\25\23\23\363\207\377U@\251Tvww\177\370\360\341\355\333"
+"\267\35\35\35\244\372\f@\31/W>9\34NXXXXXX``\340\332\265kY\377`QK6\32\215"
+"\b\202,,,\314\314\314LOO\3030<::\252T*\373\373\373gff \27\\p\1\202\240"
+"\277\0>@P\204-\230\1\241\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0N\0\0\0p\b\2\0\0\0\77\270\321\227\0\0\0\4gAMA\0\0\261\217\13"
+"\374a\5\0\0\6\361IDATx\332\355\234mHSQ\30\307\317v\327(\301\246\325\262"
+"\330\310\205\13\246bdE\353K\t\203\42\314\215\273A\330\320A(A\206E\371%"
+"YE\321\253\364^\3{\21\366!f\n\341r\313\266\42\2627\254F\331\207F\204\264"
+"ECi9)\266\262\211k\333\355\303@\302\253w\353\236s\247\367v\377_\204\303"
+"\316s\356\217s\357}\316\363\77\347\n\0\63\312\317\317_\264h\21\340\260"
+"rssO\236<988H\20\4A\20\241P\250\255\255m\305\212\25\\\343\224J\245\37>"
+"| H\32\33\33\333\267o\37\247P\273\272\272\210\351u\344\310\21\356Li\42"
+"\221\240@M&\223z\275\236\13\250k\327\256%\322)\34\16\253T*\326\243\312"
+"d2\42\3}\374\370Q\42\221\260\236\366\311\223\'\231\320>x\360\0\3030v\243"
+"\226\226\226\206\303\341Lh/\\\270\300\372\211]\267n\335DR\245\326\216\35"
+";XO\233\227\227\327\332\332J\3756&\bb|||\375\372\365\\x!\227\227\227\367"
+"\365\365Q\323\6\203A\271\\\316\5Z\201@`2\231\276|\371BA\373\372\365\353"
+"\234\234\34\356\254\212\317\235;\27\213\305\246\243\275u\353\226@ \340"
+"\316\232\261\244\244\344\341\303\207\323\321\368p\200k\365\200\301`\b\4"
+"\2d\324x<^UU\3055\332y\363\346\35;v,\32\215\222\327\214%%%\34,k\213\212"
+"\212\272\273\273\311k\306\374\374|\6_\2233\b\274y\363\346\362\362\362\277"
+"[^\275z\365\364\351S\300\213\27\257\351\364\374\371s\2Z\241PH\251T\242"
+"\272\244\326\326V\2\235\2\201\200\20\255\347\342v\273\27,X0;\247S\2106"
+"\234R\251\274}\373\266X,\346>*\0@\243\321X\255\326\377\2\25\0PSS\323\334"
+"\334<\353*\255\324\237\302\302B\231L\246R\251\324j\265N\247[\262d\td\\"
+"\202 L&S{{;d\225\277t\351R\225J\265a\303\6\203\301PXX\230y\337\357\337"
+"\277;\235\316g\317\236\275\177\377~pp\360\307\217\37S\374H$\22\31\215F"
+"\277\337\17\371\322\373\365\353\227Z\255Fv\373\t\205555\241P(\355\270\243"
+"\243\243MMMs\347\316\375\207u\371\215\33\67fU\372\1\0(\24\nj\357*\34\16"
+"\257Y\263\206Nh\263\331\fI\353\365z\321\32\277\253W\257\376\375\373\367"
+"t\303Am \\\276|\31\222\366\321\243Gh\323\317\315\2337\247\34\350\345\313"
+"\227Pq\305b\361\350\350($\355\265k\327\20\242n\332\264i\312Qv\357\336\r"
+"\33:C#\233Z\b\323ONNN<\36\'\17\261r\345\312Y\201\232L&q\34GE\353\363\371"
+"\310\361\21<&HP\321\246\237\336\336\336I\301\207\207\207g`\265Dq\3439\34"
+"\16$6\367\267o\337\322\266\314$*\0\240\240\240\300\345r\301\247\237H$\222"
+"\266\5\r\252\327\353\245}\225eee\235\235\235\220\373\216\261XlRK<\36g\4"
+"\365\320\241C\367\357\337\247}\241[\266l\261X,0\250\77\177\376\234\324"
+"2\365*\27\36\65\221Hl\337\276\35fn\33\32\32\366\357\337O\273{2\231$\27"
+"\30L=\253\221HD\257\327\217\214\214\320\216p\366\354Y\235N\307\216z\325"
+"\357\367\353\365z\362c\223\2410\f\353\350\350\230d\5\317\336\322\274\257"
+"\257\257\276\276\36&\3758\235\316\354\354\262\42H66\233\255\245\245\205"
+"vw\271\\\356r\271\262\260\313\212&\257\232\315\346;w\356\300\244\237\216"
+"\216\16\246\217\275\240A%\b\242\266\266\266\277\277\237v\4\235Nw\351\322"
+"%v\330h\321h\24\307\361\241\241!\332\21\32\33\33\33\32\32\330\341\30\16"
+"\r\r\351\365\372h4J;\202\305banO\31\361\32\370\315\2337&\223)m6\247H\77"
+"\66\233\255\254\254\214\5\250\0\0\273\335n6\233iw\227H$.\227K&\223\261"
+"\0\25\0\320\322\322\2\343\0\313\345\362\256\256.\344\351\207\251\42\256"
+"\256\256\356\305\213\27\264\273\253\325j\344\351\207)\324X,\206\343\370"
+"\247O\237`\322\317\211\23\'X\200\n\0\30\31\31\301q<m\305L\241\346\346f"
+"\204\351\207Y\27\302\353\365\32\215\306D\42A;\302\225+W4\32\r\13P\1\0n"
+"\267\33\246.\25\211Dv\273\35I\372\311\206\267d\261X\256^\275\n\223~\34"
+"\16\207T*e\1*\0`\317\236=\275\275\275\264\273/_\276\374\356\335\273\220"
+"\351\'K\250\211D\302`0\f\f\f\300\244\37\253\325\ns\3064{\346h$\22\251\252"
+"\252\2021h\252\253\253O\235:\305\2T\0\200\317\347\253\256\256\246m\320"
+"\244\322\17\355C\377\331\266\274\37\77~\f\231*\257_\277N/\375d\33\25\0"
+"`\265Z\317\2349C\273\273X,\266\333\355L}=I\336\236\332\272u+L@\f\303\34"
+"\16\7\201T===\263nVS/d\243\321\b\343\230\263\343\6\2360h*++\277~\375\312"
+"}\324\224A\203\3438\214A\303\32T\0\200\307\343\251\257\257\247m\320\260"
+"\t\25\0\320\331\331y\364\350\321\377\2\25\0p\374\370q\310#z\310P\205Ba"
+"\332\26\30\21\4\261s\347N\217\3073\363\250\271\271\271i[ 566\246\325ja"
+"\34s\4\250s\346\314\231r\311\302\204ASYYI\336\16\317\36\352\374\371\363"
+"\247,\227\31\62hjkka\f\32(\324\205\13\27\222\33\231\373\247%N\247\223\241"
+"\257\1\323\243.[\266,\303FT:\177\376|[[\333\f\240\26\27\27\223\33\231\376"
+"T\257\261\261\21\306\240\241\211\272q\343Fr\343\252U\253\362\362\362\230"
+"C\215\305b\333\266m\363\371|\331K\356R\251\224\374\1fJ{\367\356ezt\245"
+"R\231\371\361\306\264E\\\32Q\234i\37\36\36^\274x1\323\264\32\215f||\234"
+"q\324\246\246&\352\350\36\217\207\321\3338\245]\273v1\210\252P(l6[&\3\370"
+"\375~\235N\207v\235H\326\305\213\27\341Q\5\23l\5\5\5r\271\274\264\264\264"
+"\242\242\242\242\242\342\2376\374>\177\376\354v\273\373\373\373\7\6\6\202"
+"\301`0\30D[\205b\30\326\335\335M}v\340\336\275{\31\35.@u\2709\245\323\247"
+"O#\237X\211D\362\356\335;\366yK4\24\211D\264Z-\214c\316\32T\0@ \20\320"
+"j\265\264\35s6\241\246\f\232\272\272:z\6\215h\342Y%\237\260\205)>\231\243"
+"moo/..>x\360 MT\205B\301\242\271=|\3700\206aEEE\1777\276}\373\26\360\342"
+"\305\213\27/^\274x\361\342\305\213\27/^\274x\361\342\305\213W\206\372\3"
+"\16XG{\261\256\343\241\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0A\0\0\0p\b\0\0\0\0d\272B\221\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\2pIDATx\332c`\30\5\243`\24\f) (B\221v\336\326\307\377\377\277\232"
+"\255J\266\1\242\327\377\377\377\377\377\377\377\357\5\344\232\260\366\77"
+"\f\324\223\351\204\277p\23\376\5\222e\202\311\177\4\370\240A\216\t\322"
+"H&\374\277\315O\216\21\7\220\215\330\311L\206\t\332\37\220\215\350#\307"
+"\21f\217\221\215H \307\b\201i\210\370\370\377\323\202\254\b1<\2120\342"
+"\271\fYF0\306>\203\33q\232\213\314\334\321\363\13f\3042F2\223\267\326n"
+"\230\21\345dg\262\240\207\20\23\376\370\220m\4g\3237H\362\326\42\277\260"
+"P\336\0I\336\2028B\234\30\63\334\f\31\30\30\30N\34\34-\271G\301\220\0D"
+"\245j&)1~\206O\257\237\376%\317\n\233\236S\77!9\374\327\311\36+\254nPQ"
+"\347b\342g\340c\346\344`\341e\20d\340ae\347b\342\337\237\2\261=\246\22"
+"\265\322\272\324\266\22\323\220\366\377X\300\26H\31u\nSf\227\4\232\27\361"
+"\371 \342\264)\246\240\353)U\242M\310^\206\265\210\226\335\'N\244\t)\223"
+"qD\224\314\nd\t\26\6\206\35\37\30XEL\254\320\225;\315\300\31\323\16\261"
+"\213\260\25\312\377PCR\366\365\177\334\340\26#\266\24\265\307\31\331\300"
+"\355\234\16\f\f\f\f\177\367\36~\314\240\342\247\207n\237\355\21,\216\250"
+"E\261\5\222\210\226\312A#\3453\232#\332\261y.\16\303\255\77#\21\201\362"
+"\7U\352\20\66\23|\320\r\370\27\214$;\31U\356-6\23\234\320M\230\210,\253"
+"\200\32\320\377\371\260\230`\203f\300;\324:\352<\252\254\n\21)j\372{\24"
+"\356\tTY.\42LX\202\312\275\203\312\345#l\302\303\353\250\37478\213\37\\"
+"\22\347\320\370\277I6\341\36\261\205\30N\23\236Sl\302\27\212M\370L\261"
+"\t\f\243&\214\2320j\302\3400\201\31\177\23\r\215\317\214\305\4\264\306"
+"\2158\232\t\22\270\270\b\23<Q\225\2700\340\345{a\370F\274\21\255Z\373\337"
+"\215l\253D7z\245\332$\216\360^r\4\223\240\270\24\2260z\362\342\303\225"
+"B\6\206\26s\1\tl\335\346g/\77\374\335<\211\201\205\201A\305\5G(\313\310"
+"0p000\30\340\220\227\222b`\270=\\R\324(\30\5\243`\24\214\202\221\0\0\341"
+"\360\23\362\313\222\'D\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0\42\0\0\0p\b\0\0\0\0^j\375\342\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\0\375IDATx\332c`\30\5\243`\24@\200\353\277\3770\320\206]\5\377#\270"
+"\212\377\177\314\261*\231\377\37\t\334\340\304\242\302\357\77\n\230\200"
+"\251B\3449\252\222\177\16\30JV\375G\3\367x\321T\204\377\307\0\263PUH\274"
+"\205\313\374\205[\345\201\242d3\\\274\322\354\5\214\375D\20IE\42L\364["
+"\b\3\203\342\25\30o\21B\205\334\7\250\330s3\6\6\6\6\301=05A0\25\214\273"
+"\241\42W\24!\2\254\260P|)\6U\222\3\25\330\311\17\67\267\32\32]k!\\\225"
+"/\20\356t\26$\327E\374\200\bF30000\37\201D\\!j0\330\274\376\377\377\377"
+"\377\377\357\244\30\30\30J\376\377\377\377\377\377\27\177\364\340V\275"
+"\365\377\377\377\377\377\26712\262Vs0000\254>\213\21%B\205\254\f\f\f\f"
+"3F3\322(\30\5\243`\24\214\202Q0\nF\301\210\1\0\375\361\5P|\360M\363\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0p\b\0\0\0"
+"\0^j\375\342\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\373IDATx\332c`\30"
+"\5\243`D\3\226\323\377\377\377\377\377\177>+\206L\306\357\377\377\377\377"
+"\377\244\300\300\240\375\375\377\377\377\377\377\357\21DU\300\324\373\377"
+"\377\377\377\377\377\2470000\224@\330W\24\221Up\257\203\210ncd````>\2\341"
+"=7C\250\220:\3\21{\'\5\341+\177\201\360\277\5\302T\350\77\206\210\374\217"
+"\206\211dA\5\376\26C\370\236\237\240\2k\340\3062\356\206\n\375\237\306"
+"\314\300\300\220\363\7\312{)\212\260Z\356\3L\3156^\346\3110\366\377@d\17"
+"$\302\205\317o\2053\27\241\6\303\346\377\30\340\tZHI\274EW\361\317\3=\270"
+"\303\321\225\314\302\214\254\225\250*\356\361b*\21~\216\254\342\257=\266"
+"8\367CV\322\217=]\314G\250\270\301\211\224\\\220\224\24\274`\204;\354\373"
+"hN\32\5\243`\24\214\202Q0\nF\301(\30\201\0\0\240\201\68-\305l\360\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 \0\0\0p\b\0\0\0\0Z\237"
+"-\337\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\235IDATx\332c`\30\5\243`"
+"\24\240\3fT\256\244\211\362\277\217\270U[\35\370\367\377\377\377\323\356"
+"\270\344s\376\374\377\377\377\377\377\377\377j\261\313{\377\373\17\3\361"
+"X]s\17.\377\377\25\'\26\5\216\377\221@(\\\230\t\3162BVm\200E\1;\262\2n"
+",\n\36!+x\210\305\r\342\277\221\334\240\211\315\33\63\20\362\353\261\206"
+"\3\337%\230\374#\t\354!%\274\r\42\177X\26I\220\21\65,B\265\31n\254\337"
+"\371\1774\21\217\202Q0\nF\301(\30\5\243`\24\f\2\0\0\63\344cZ\33\307\315"
+"^\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 \0\0\0p\b\0\0"
+"\0\0Z\237-\337\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1+IDATx\332\355\223"
+"1/CQ\30\206_\fb)\21\3224m\247Vb\2204\322\301\375\r\42\204\370\5~\200\205"
+"\201\305\300b1a\361\37\210X\31:Y\252\3266\25!\242Dr\223\206\244\35\332"
+"\\\217\341\272W\317\355\265\211\351<\313\315{\336g8\371\276s%\213\345/"
+"\31\60\322\214\223\35z\271-{\361\356\340Z\25\0\32\333#q}\366\232\220\373"
+"\331\376>\377L\17\37s\321>Q\307\300\315D\204#\0\332\307\253\213\373M\0"
+"\316\42\27\350\0\324r\222\224,\3P0\204-\200\366\224\37\222.\300\201!\\"
+"\1\34\6i\7\340\306\20\36\1\346\203\344\0\274\177O\307\377\214I\322[ \270"
+"\222\2240\4W\222R\201\220\t\217B\241&I+\201\260$Iu\343\16\353\0\235\242"
+"\37\246[\0\273\2060\321\2xu$\251\360\0\320\315\231\223\332\3\300\273\330"
+"\3348\355\2p\22\31\365p\305\334\305\335ht[\351jo\377\224\357\337\367\370"
+"\371O\177\231\216}R\13%\17\300+-\377\372&\'\213\251\317F\245i\177U\213"
+"\305b\261X,\226\177\340\13\t\13\323\337x|\312d\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 \0\0\0p\b\0\0\0\0Z\237-\337\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\0\306IDATx\332c`\30\5\243`\24\214\202Q0\nF\301"
+"(\30\5\243`\24\320\21\60\316\376\377\377\377\377\377K\30q)\350\374\377"
+"\377\377\377\377\7\330p\311\207\377\377\377\377\377\377/\322\270\344\371"
+"_\375\377\377\377\377\377\231\30\22LP:E\224\201\201\201\201\341\20N\5\301"
+"\20\352#.\5\314F\20Z\26B\361`\250\23\375\17\1G\30\31\30\30\30\42^\310\241"
+"+\220\203*\370\277\316\335&\365\320\377\377\253\321\25p\374G\3\326\350"
+"*n\242\312\337\346F\367\305F\24\345\337\242\276\242\233 \363\31I\377O\37"
+",A\31\365\27.\377\322\tk`\373\77\203H\377\232%\216\22\311\b&W\240\275\334"
+"\317\227\'6\275\31\211\211\35\0\302\227|\31\311\342\331\251\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0$\0\0\0p\b\0\0\0\0St\215\245"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\26IDATx\332\355\323=K\3A\24\205"
+"\341w\325E\4\203\211\202`aa*\21\13E\20S\213JH\'\210\235\344\37\244\360"
+"7\210\245\205\bvb#h\21l\265Q\4\273\24\306B$Z\210\n6\213_\250\20\334\345"
+"X\354\222lbHe%\367\251.w\316\f\303\\\6\2141\177\310\251U\243\223\211\357"
+"\207\322k\323z\242\13\202\250\356\310_I\222\374\223|O<\323\355I:\n\353"
+"\241S\325xk\203\365\320\212$m\0\60r\247\270\257\255t\224q+\222\264\f\320"
+"w\243&~q\276\23p6%\251\232\28P\13O;\205\3253I\322>@Nm\5\23\200Sn\37\332"
+"\6\207\271c\200\227]ola\240\305CV\246>\200=I\272\35\6\334\305\363_\347"
+"\274\215\3\270\357\222\202\351h_\366\2421\3639\13@F\222\212\3651-]\306"
+"2\217\231\260[\220\244\\|\232\331\303j\30y^OF\255\376$p\3577\\\266w&\235"
+"\n\274\353\222o\37\300\30c\2141\306\374\37\77\4\202\b\26\337\360\2%\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0p\b\0\0\0"
+"\0^j\375\342\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1{IDATx\332\355T\273"
+"JCA\24\34\17&\20\b\26A\13\13\21A\305\316JD\77\300R\301\177\260\367\13\354"
+"\375\0\361\3\254\255\305/\20,\356\275\346\32c\42\211$\242Q0\30cn\310{-"
+"\356>N\262)m\204\235jfv\316c\267X\300\301\341\177b\6\0R;\313\355l~\342"
+"di+\363z\323\210y\342\244!\204\20\267\273<\260z5\22Bt\316\346\0 y-b\364"
+"\366Mb\373K\232\341<\200S\241\320ZQ\211tU\233\227@\246\255\2258W\221c\343"
+"\211M\332K\231\366\7\26\1pH\33L-\246%Yg\346\32\215]4\311\237B\42AM\246"
+"F-IZ\314\374\241\nSo=I\236\231Y&\376\250\217\26\1P\240B\333\250\300\42"
+"\0|\32\206Fy\3326^\263D\\j\232\353\232\316\202L)\242\'\305\3729VFlnvh\367"
+"\203\17B8\260V\341\221\0\204N~\312=t\244\233\3\61\311\26\277\33I\22\16"
+"x\244\177o\42Q\321t&\323\377\241\13\373\25}\200\0_\330O\252W\367\0\2\276"
+"\313\326*Z\fC\200L\371XDz\305(\216\304gbl\320\347\213.#=\267\324\204\275"
+"\214\212\4\366\34n\22\200\332\273u!U\21\310H|\352M\211T\352*\342M\31T\255"
+"+o\26\0.*\300\340c\342g8Z\0B\367u:888888\374!~\1\177\232\274/kX\321^\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 \0\0\0p\b\0\0\0"
+"\0Z\237-\337\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\304IDATx\332c`\30"
+"\5\243`0\2A\21|\262\274\255\217\377\377\1775[\25\227\274\350\365\377\377"
+"\377\377\377\377\377{\1\16\5k\377\303@=v\3\376\302\25\374\13\304\246\300"
+"\344\77\2|\320\300\242@\32I\301\377\333\374XT\34@V\261\223\31S\201\366"
+"\7d\25}X\2140{\214\254\42\1\213\n\201i\b\237\374\377i\201\315+\206G\21"
+"*\236\313`S\301\30\373\f\256\3424\27\366\30\351\371\5S\261\214\21{\230"
+"k\355\206\251(\307\25oA\17!\n\376\370\340R\301\331\364\r\22\346Z8\23\207"
+"\362\6H\230\13\302\235\217\241\304\315\220\201\201\201\341\304\301\321"
+"|6\nF\301(\30\5\243`\24\214\202Q@[\0\0\362x\264\324\362\332P\223\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 \0\0\0p\b\0\0\0\0Z\237"
+"-\337\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\4IDATx\332\355\223\275/\4"
+"A\34\206\237YA\210\240\42\22\21\211\330\350d#g\13\205\372Z\265F\243\325"
+"\242\322j$4\'\321\361\207H.\271B\343\17@|l#\27\256@.r\37\311\253p\33\273"
+"7\253\324\310\357)\177\317;3\311\2743`\30\377\r\307\3500\320l{fp\fh7\341"
+"H\222v\374\245[\222tA\300\'@\354\7J\0\37\4\324\1\312#\336\t\33\0u\2\236"
+"\0&\267\373\3\233\323\0\17\300\274$\351}1\357\347^%I\313\0\211$)\211\262"
+"~\351^\222\324\30\08\225$\251u\34\246z\341\260\365=;\7\7\253W\251\270\275"
+"N\32C\343\263Q\350z\203\365*\0\227\372\205Z/\267\322)\366\335R\272\365"
+"~q`\367\247\220\263\42_q\231\312\16\272\375\272\263\347r\27\23\327\362"
+"\276\32y\345\254U\36S{w\22g\336C\206\251pfBo\3177/\366O\f\3030\f\3030\376"
+"\236/\364Y\327\n\376&\78\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0#\0\0\0p\b\0\0\0\0\261\250\226\334\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1,IDATx\332\355\223-H\4A\30\206\337=\361\340\16\16\203n\260\254"
+"E\223\212\77\345l\212\26\223\230.i0\211 F\233]l\n\202`\361\272A\5\5\203"
+"\32\356\332\211\341\252Q\20\361\266\234 \236\177\274\206\231of\26\233\325"
+"\357I\337\363\356;\3142;\13(\312\377e\374\354\365\343v\311\373\362\335"
+"W\373d,S\231\357\220$w\305\367H\222osA\245\364L\303\254]b\365\261\350;"
+"\3536c\325\370\225\370B\316u*2$\0\200xF|\300u\ne\231Z\0\200i\367$u\323"
+"d^\246\32\0`J\2245\267\325\206l\377\22\3\0n\304/\374+\37I\266\t\0\210\332"
+"V\337G|\247i\263\323\b\0\60$KV|\245\360i\242\272=\215\212\255l\5\'X6Q\243"
+"\307\372\266\361\235\360C\254\221$\233\261\370%Ir\77\n;\207$y\337\357\274"
+"E\222\325L\5\r\222\17\211\323\204$\217\2732\225\356\16\3714\350}\221\344"
+"y>{ur\253i:\32x\357\301\367u\361\327\5\353\33\316\372DI\177:EQ\24EQ\24"
+"\345\317\374\0#\212\300q3^b\233\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0J\0\0\0x\b\0\0\0\0p\t;\13\0\0\0\26tEXtSoftware\0gif2pn"
+"g 2.2.59\267\256\37\0\0\3\37IDATx\332\355\230ML\23A\24\307g\373%\241\230"
+"\42F\222\2V$ \204\6\323\23x\20\65\61^\220\264\304\250\27<\230`\210!^$\261"
+"\36\364dL8\230x\221p\360b4\261\2326\361\246\36\60i\210D\214h( \250(\211"
+"\5li\260j\2415\265\330}\36vi\247\355\356\354\307\264\t&\373\277t\346\315"
+"\354o\337\354\316\274\367\266\bi\322\244I\223\246\355+\306\235\4\\I7\243"
+"\222\244\367@\276<zu\250~(T\277\364e:\1\233C\246M\6J\245J\214\372+\323"
+"\226\377\266\4l\351\236\215\267\343\r\246\255n\334\367\313\234\276\271"
+"\250\336]w\346\345\271iW\336\236A\265S\77\305\f\252^\356\31\21GIO)\331"
+"f0dZU\275\265\b\305\236|\22\233\331|\312\202\320\267\207\77\244\231\306"
+")\0\0\230)|V|\177\6\0\0\246\214\322\13\354sH,\230\33q\364I:e\16q.\370D"
+"\275\362q\275\220Y\312\253A+\367\273$z3~\304:(\341Tu\f\344*VMF\r\203|\r"
+"\23I\215)\5\250T#\t\345\5%\362\22H\35\254\42\24\333!\216\32\3e\32\23%u"
+"\203Ru\213D\6\335l+\327\376\355M\361\7s_\247);%\3652\310\207c\323\331r"
+"\2561\337\306\n:\345\342o\265j/\264\1\0\270\262f\373j\241\r\327(\77\354"
+"\304l6\fe\303\354N\3366*\214Jp\243~F\6\212\361s\266\204p\274\32\350b\20"
+"B\37o\201\234(\355\274\322\202\20\202g\362#\42\356\3256\311\316\245C\331"
+"\376\353\5\32\244\247\f\305\267Z\77Qz\375{dy1\256$;\333\202$x0\360\312"
+"\377\216U\261\257\204\25\319T,\24\0\274q1\305B\1\214\267\25\r\5\177.3\305"
+"B\1\334\323\27\r\5^\235\374}\345\311n\243\262J\353\1K\336\360\231\205\353"
+"\262\275\312;\203\315\27_\244ss\331\t\265(\204P\323\203\34\330\227\35\352"
+"Q\b\35]\306Y\227hP\250\346=\356\226\216\6\205\352\42\330\224cTAfe\0\353"
+"\364Py\205\320\353\354\224i\312\320w\27\313\332et\250\347\330\367[\23\35"
+"*\34\305^(el\17g\233\273)QX|)\247C1u\271\237i\24\250\203X\214\210\323\241"
+"\316a\355(\325\26\265\256cs\366\323x\305\214\354\304\326\27\244A]\305\317"
+"\335\4K\201\2726\204\367HE`=\371YU>\312\t\311\2335\4\324I\22\312p!\234"
+"\233t\36\23H{\347DQ:\307\215\225\274\364\265\331*\230\274*\32\214U\266"
+"\316\323f\301\242\b\241]\265vK\301\215o\317\13\271s>\251\370{\7&L\202+"
+"\233SN\372\274G\270\200\254P\274+\246\217\254\25\251\26\275\1778,V\32*"
+"[\334\207.B\225\251\4\64\331k T\310kr\353}6\360\3247K\254\220\217\337i"
+"\221(\3436\22\321\320\327\205\300dL\373\177\\\223&M\2324i*\215\376\1\347"
+"Q0\265a\256\324\347\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0\63\0\0\0x\b\0\0\0\0zU\225Y\0\0\0\26tEXtSoftware\0gif2png 2.2.59\267"
+"\256\37\0\0\2\347IDATx\332\355W\313k\23A\30\377\366\221G\323R[\355#Xh\323"
+"j\241\5\273\246U\n\42\361\340EP\22\37\7=(BA/\325B\311A{\21\205*D\372\17"
+"\b\366b\217\26=\24\304K\251T\264(V$\264\226\210\330\304b\264i\33\213\221"
+"\244\211\331\354\347a\207d7[w\'\366:\277\313\3147;\277\231\35753\337\2"
+"\60\60\60\60\60\354\4\234^t\34n.\216`b>G\263\302p\34K\210\17s\24\34\337"
+"\32j\261\346\333v\26\257\223\334N\235\350tSp\350 \352\244D:\267\331!\250"
+"\375\302r\275\234\240X\301)\365x\247\2111\323\336\36\311I\267\261-D8!\333"
+"\277\246\30\354\301,\351d\221\232\3X\326Rpd\3538\376\217\257\31gG9\352"
+"9\345*\204g\220+\13$\207\334\361\203B\346Yl\33f\323,\42\256\330\301\16"
+"\0wH\276\335\26\1\354`_A\304\331&\243n\274\277\17\0\222h\310\27\4L\2@\237"
+"\2377\350\346\31\252\1\200\302\31\205W\0\2\344\313\351E\0^\341\13\0P3\364"
+"b\271\\\265\240\214\346\220\203\345\224\316(Z!\332\251\267\3071\320b\351"
+"\336\226\1\207N\356\217\2415b\375Z\37p\203m\0\240DS\352\200\313CV\314\305"
+"2j\247\266\235\7h\33|\247q\252\224D\304\374\204\344Q\261\177\244\30\37"
+"\62\42M\344\21\61)iT\33\225\21q\251d\322QML\2111K\210(\217jt\13\317\210"
+"\220\32\217\2338 ~\343J-\310a\223\31\306}\3309e\34\353\367T\213\13^\4\0"
+"\310\346s\33\253\321\304\372\352\26\5\247\273\273\324W\326\243\213o\246"
+"\326-s\264\fJ\372\323\275v\2612\16\42\342\373\313\366\2129\270y\253\332"
+"\324\2365\242\276\255\272\261\270z\335\210-\2241\341L>(\0\0\200\340\330"
+"\323\338dW\237f\327\365\371)\312s*\36{\232#\303\13\315\2241\225_\16>$\265"
+"FG\200:\17Vo\216\223\373\317\337@\235;\3511\342\223\3n\372|\213O\252m\353"
+"^zNa\216\370\321SA^\377L\253mc\5\34\201\24\220Nz\16\267\317E\n;z\216\353"
+"\22\251\322\22\364\234s\275$\276_EZc\316\336%\346|\371F\271\217x~\254\225"
+"t\77|7\354#x\215{\324u];\271\213\b\277\236\244t\34\261\301\351>2D\204\256"
+"\0\211am\207\344\333]\234\363\3529j+\326\366\373^\241\252\256\212H[\344"
+"\242\341lUB\251\230\371|q^\247\203\377\267\345\223\379\301\353\3176o\345"
+"\209\34|\255\230\335\7\6\374\211L<\332(\277\23\363y\23Fj\356\361\333\210"
+"b\370\237\253\277\352\333V\273L\352\307\362\307\205\254\302\376~\31\30"
+"\30\30\214\370\13\356H\370\273b\322\354\77\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\26tEXt"
+"Software\0gif2png 2.2.59\267\256\37\0\0\3\355IDATx\332\355\230]H\223Q\30"
+"\307\217\333\234\256\336tM3u\26\31V4\263\314Hs\25H\220\6\61\61\362\42/"
+",#*\212\2500\274\210\352\242\242\3102L\212\242O/VP\321\205\220R\240}J-"
+"\225\22ESK\321\310\254Y\206\37\33s\37\356\355B\336\371\234\263\367\343"
+"\270\5\21\274\317\325\336\367\371\237\337\316\307\363<\347\234\27!\331"
+"d\223M6\331d\223\355_X\210\2303ver\342\274(\206A\343c\277\277\365u\264"
+"v\7\364\27\232-7{X\302\6\357\27EM\227\223qg\224\3455\327c\223b\32\234\234"
+"zV\304\272\212T\224\34\303sV\302\3327\322pBO\272Xi3\317\226\4\315\267\260"
+"T\366e\215\4(\323\312R\232\263\220h\252\304\2366\327D\372\301\177\365~"
+"\356\33\366D\220\257\225y\2167\302=29\211\77\266^7\351\']\332\254s~\341"
+"uT\20\264\336A,Q!\276\3349/\t\324>\1P\342 &\263\27+\375$\371\3371\211g"
+"\3/(\354=\36\177\213\371DQ\317\360\364\211\347\23]\3004\257\4\2&\264\22"
+"\223\325\362T\200\214\t\250x\27!4\231\312{\30j\217\237@\321\214\305]\264"
+"\360\2\253^C\345\220_q\330\211E]\272X\364\306a\323~\211\34~/\364\236\22"
+"O\204|\250\35\327\343\316\355\320\371)\\\42\247j\240\272\2\367}\200\276"
+"mRi\236\2Wg\204\201\256t\bj\223.\212\17\240~7\364\\\205\236\275\322E\314"
+"\b\365\3650\4\340j\2142\24\365\260\5\64\230\230\234s\5B\be\304\2Q\225\215"
+"\202t\27\366\3034E\312\201\242*\232\32\215\211\262\247~\302\264t\315\244"
+"\3326:a\36\373\222Oi\3\257-t\33\320\r8\347\213\270\321%\301n\274\245#a"
+"\262T\216d\300V\205\216\204\311\f\34\t\253i\37\351H\235^\360\340\33]\2"
+"\224\364\320\221\34\3\340!\1!\204T\b!XB\275\265\224{>\254\251\361\34I\13"
+"\303lU\0\'$-7:\6\5i\fG\322\4K\322\370\262\345\257\230\2!\344\n\26\342\342"
+"H\266`In\2164\34,\311\303E\201\25\276=\350\244k}&\232\310\13\25B\250\37"
+"*^\264Q\201T\227\301C\77\67:\354\300\276\224\256KIj\360\320\315\221\272"
+"\240$\231\216\204\311\2728R\273\33\274]KG2\362\227\230&P\377\306\350\216"
+"\355\215\240\211M\345\213q\270c1\353h@s\322\300\203\305\343#\325AQ\36\r"
+"\311\4O\216\240\271\6n\t_i\206\367\24n\bp\366\37BG\2564h!<btLe0Bf(; M\332"
+"\17K\b\326X5\0;\225)\5\212\201\263\341\306\266\1t\34\222\352\244H\27\241"
+"\372\1\356\323aW\314\2q\320r7\320z\311\302\177\32\222~\304\210\201\324"
+"\rP\353w \211\300\256cuJ\21R9T\272\3753\276\20;\260_\21\6\355\362Ba\31"
+"\317\207\3,\330\330\263B\240\2\17\224u\363\355p\372\237\30\252R\315\13"
+"*\301.%n#\257h\23\366ol\3O\245\232\373\b\277\340\25\13t\374\bq\323-%\226"
+"p\306\341!\342\206.8\231e\304\235\322~+;\3247\217\253\317\223\267\355j"
+"\265\340\27\232\220\362C$\334\326\332b\35\236\320\352R\322t\244\353\311"
+"V\207H\254\234\360\322\336\362Y\263Z\342\2364F\307\361\34\13\221\312\316"
+"%\2154\240\276,\232=\261D\262[\356\212\b\272\35(\356\232S\214\343\2552"
+"\320\37\31\364\245\203B\34\373\355e\323;~\204\345\232y`\366\352\35\221"
+"\1|\361S\246\32W\244,\340\342|\244\267\263\331\3224\36\340\267C\204\20"
+"\n\327\315b\220\3036d\227\277\263\312&\233l\262\311\366\377\332\37\16\226"
+"l\305~e\4\333\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\63"
+"\0\0\0x\b\0\0\0\0zU\225Y\0\0\0\26tEXtSoftware\0gif2png 2.2.59\267\256\37"
+"\0\0\2\306IDATx\332\355\226_HSQ\34\307\277^\347\32\327\306\312VI\212\370"
+"\207\\\b\226D&*\24B!*ABA\6=\7\25\364b\201\365P\332[oA\22\365\242\21\364"
+"$\5Q\330\77\62\63j\225\246\206.f5\332\213\5\n\333\262\3159\347\326\303"
+"\356\357\354n\367\2349\243\267\316\367\351\234\357\357\367\331\335=\347"
+"w~\347\2RRRRRRRRR\377B9|;\337\256\252\276\320\334J\226L\376\276\246\275"
+"\216B\0@\30435\362\334\265\352s\33\373\26\342\251\372\324\2711#\3210\24"
+"\347(\320c\25\22\266\233\2618_\336V\1\262\363k\\\254\253\271<\2449\345"
+"E\346\335\343\236%\275\361\320\302A\26Y8\366\350D\21\0\230k\273\275Ih\320"
+"l\370cA\26\34\252N\332\346\223~\346\337NC\n<\24Y9\237\272e\305\243\f:\233"
+"\312\364\223\37=n\330\343a\212-V\352\375\203\242\337\2\0\233\213\202\303"
+"\372\2\372H\356}\336\212V\261\345iK\232G\330\216o\343\356\334%\212\217"
+"%\275\227\344u\363w[\375I\t\rd9\250d\202\33\4%\322EL\779\27\311\351\23"
+"U\342\26*\t\177\236\3468\211i\26\226\357cJiJ\314\327G\265\371o\263\220"
+"9EL\17\0\5\330C%\353\214\b\231\21\32\324%\230\32\232\217\212\17\343tH\33"
+"\354J0\245\24\310p\362cnm\260U\5r\200{\355\332|fA\fU\3206\354p\303\4\330"
+"\311\257\314\246\271\331\335P\0\313\232\32\242\5\177\313\4\326\304\4\0"
+"\23\20\246\351\347\2208\265t\2236Hd\337\341\234\16\203\236QR1\240\0\337"
+"\311\337\236\201\241Xd\26P\200/\344W\213\21[\2116\360\304\0\5x\317\272"
+"\265\230\251\247f\364.Q;3~:{EB\346\0\r\350\1w\351\375N\13o\266o\224R\246"
+"9\35d|\20\61\373)c\222\265\b\237\241E\244i\200\22:\231u\215\254\'|\244"
+"\206\232L\230\3253\312\330\255\321\316}\233\327\24\356\325\271\275d\376"
+"(\3440\347(\32\322\267L\373\34\331oT\3\322B=&~!\305\77\306\232\374\323"
+"\364\373\266\205\335L\343y\251\221[\f\232\256\321\373\246.\366\24\177z"
+"=\232_0h\371:\353*\271\207\'\230\35i5|\207X\7\33\223]\306941\37\262\225"
+"\327\266%\227$\3321`\\\35\353\203\fW}\374\327!\356\316)\227\227\205\210"
+"\253JTV\273\307\370\304\322\225u\342c\242\34\2354\22\341\33%\253\364\225"
+"\372^\257\36\210\274:S\220\3157_y\235\243b\263\252\372\202\2633So\203\362"
+"\273XJJ\352\377\321\37\30\264\352\341\231\376G$\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0\0\0p\b\0\0\0\0}1\2547\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\0\77IDATx\332\355\322A\r\300 \20\4\300\203`\b"
+"\23\365\202\224\352\251\34\304\200\206{4!d\346\275\233\354c#\0\0\200#\225"
+"\376\244\362o\214\225\22\65;I\341\227B\373\246\273\3\300-6\314\17\60\337"
+"\5\313\304e\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0^\0"
+"\0\0p\b\0\0\0\0\262\37\230\364\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0"
+"LIDATx\332\355\3241\21\300 \20DQ\216\211\214\bHK\207\202h\303\17V\342 "
+"FPq\2230\363\236\200_l\261\245\0\0\0\0\0\300\'\242\335\211\365y\364\221"
+"\230\177k\3568\362\362\277\314\307y%\326\37\267\b\0\0\300\316\26\3156\3"
+"\374}3\227\227\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\60\0\0\0p\b\0\0\0\0}1\2547\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\311"
+"IDATx\332\355\227MHTQ\24\307\377\243\243\244\21I\2234\26\26\326\24eT`\214"
+"\6E\244\26\6m\22\205\42\213\\\273j\33-\13\202\26Am+Z\270LI,K0\b\2%D,2\254"
+"$I\213\374\230\314\217a\276\233\231\177\213\367\2353\316\271\355\2129\360"
+"f\356\234s~s\336\275\347\234{\337\3\362\222\227\274\374O\342\312\250\365"
+"\372=+c\237\305\177\262\277\77M\222#\365B\377\206\b5I\265\211\3747\314"
+"\322\220p\345js\301*M\253\327\34\226\266K\200CY\306Y\201\42\333x\235\4"
+"\370b\33\317I&}\220\226\234\22-\323S\323\177H\226\207\3351\38*\314\334"
+"m\335\277KZ\32\233\226I\222\211]\342b\272N\222\274\'/\341\3628I\36P(\372"
+"G$\337f6\271\215\234\36\337\21\33\371`h\37\267\2OL\237=\265%\337^E\234"
+"\334\331\31\222\34=\247\367S%\311\6\335tf\210$\177\\r\266@R_\311\327u\232"
+"b\211\334\b\0\250~\251[\322-v`\324Ln\352A\25\0\274a\0\0\274w\22\246e\272"
+"\320\362\337i+\37&\237]i:<\310\211\232\223\35\3351\273\241\326\2\232(\221"
+"v\253\274\213Ek]b-\353\224\3232;\218V\261<\260e_\271C\35\260u\321\224\25"
+"x\352\232\17\3000\277\3.\377\375\270eH\333w\204VC\373\351\242\226\311\31"
+"&\335\0\340\3533\201^G\270\13s$9\324\246\'~}\212\364i\303\346\217\232\377"
+"\344\326\77J\344H\313iKUG\262\331\260\234\177\276\30\233\270\345YsA:H\336"
+"\310l*\310\250\255\327/\251\270\27H&\312\344\21\32=\0\212\232\345\21:I"
+"\222/\304\376\25Z\272\322\325R\340\246\236\252N\241\377v\363@\251\221\1"
+"]f5\f\26J\374/\333Z\340\252\300\337\37\266w_cn\340\275\243\313\26\212r"
+"&\256\307\361\253\367W\316\b\233\355\267\224\332+\230\304]\33\320#Y%_\332"
+"\2N\210\3620`\372\217\313\252\365a\206\321\232R\32\62\246\274MXL\335\306"
+"\316,m\240~\375\273OZ\336U\212\247.\240=\0E\213\305==\f\0\30K\210\2011"
+"\0\300;\371\256\241\35\216\343r`\322\366)\2\264\363bZ\341a6N\222\36\205"
+"\275\362+\311\270\312f<\17`A\5\370\351<\322r\3\213\0\226T\200e\375\22\3"
+"+\0\202*@\20@X\5\b\251F\210\252F\210\0PJ\\X\277-1\220\4\220P]\245\250\n"
+"@\325\b!\325\b)=\212\30H\374M\342\240\2@u\322\341\354Q2\277\274\272\312"
+"\200`*\377j\237\227\177\\~\3\273\355\'\232kp\351E\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0\0\0p\b\0\0\0\0}1\2547\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\3\243IDATx\332\355V[H\224A\24>\253\273n\177"
+"jtu\311\250\254\254\220L\272($Z=D\344C\24\332\375fJ\17EE\366PPy\201\310"
+"\220.\276\365R \24\250E\205\24Dt\241\253\225\335X#E\t$*\255M%\273l\345"
+"\272\353\372\3650\377\377\317\354&\356\331\307b\317\303\317\3149\347\373"
+"\317\3149\337\234\31\242\210D$\42\377\223X\6\325\332\322\223\242\332_\364"
+"r\177b+\351\6\200\37\3074\236\177\314m\350\3220\234\5(\205)\'8\376Q.\t"
+"\350\2612\0\343\241H\362\337\377\373KcW\'\234m\333<2\300\300X\316&\256"
+"K\300MV\226\26\17\230\200l^!.\30\376W\231\225\236\334+\374\2753\271\334"
+"\250\24\200SlF&\374\6\200\276D>\207\317\0@u\30\244\317\0\200\234!\317\203"
+"e~jt\333\23\237\241\3760\221\334c\275\372\304\232\225\334\337\354D\0.\371"
+"9\0t\226\306\351\363Z\340\206>\214=\340\2\200\27\63T\377Q\357\365\314\177"
+"*\20!\17\2GE\344M\237t\323\3071\n\340\210dC\303R\42\242\r@!\21\321\242"
+"\307\322r\\\331CS\252\202n\275\352\354H=C\273\235\211\363V\250\372\266"
+"\351\22\320\37\315\311\235\335k\234\7\215\345/\16\207\210\340\216S\r\236"
+"\246\216\21K\250\376[RJ\300\t\355\323dfo)\247\262a\355p\242\\`\35Q\334"
+"\246\227\212\341\241\2\3165\265\355\253\210\210h;PDDdY\375\3364\255W\303"
+"\235\26\272\337\345q&_u\256\306\36q\13[U C\n\37\271=\215\207\35\312\32"
+"\357\233\334-k\364|\257/\264\f\225\217\350\257\300/{\30l\315\4\200\305"
+"\203\367\271A\265+\211\210\362\370\1\242\332\1\240\323\312\6\350Y\336\310"
+"\6<\23\200W\26\246\377\32\243T[y\376\361fq]#Y\200\263\222>\3479\376\371"
+"\352\375\260+\264\177v\237\n\350\317\tY\270w]\352\314\325\34:\304\354_"
+"2\200g\16g\23;$\240\210\227\327\273\206\377#f\345R}\302\337\237\316\245"
+"F\265\0\\fsi\266\0d\360\371\375\24\0^\205q\200j\314\17S\246\2\300\254\241"
+"\37X\216\224\250\266\17\246\372\355\24\372<\336\234%M\353o\351\16\304\215"
+"\253\363\3pn1Vx\t\270f,:\277\21\200\277\316\21\320f_\353\245z\255\267\212"
+"2\240B\214\26:uS\213\332\177\367\311\347H\355d\42\242\2`\7\21QR\255|G\224"
+"(\200F\205\321}5+\'P\16\220g\235\262\376\242W1\264(\233\366\5u\24\237\'"
+"\236z\203\337J\30\346%\42+\21\221\26\334\201l\266A\336V\26\315kF\370\31"
+"\33\370\257.\177\42}\246\204\300\252\372\206\r\230\343{\312R;+25Z\6\344"
+"\222}A\271K\275i\24\360fS\353.\326\210\210\266\1;\211\210\264\375n\323"
+"\264M]\336\25#\251\223\204\342$P\251\77\62\253\374\302v-`\2011\305\35@"
+"\317\3314c^\17\3345\311^\365\5h/\216\tN\302\350\49\36\341\1<2\21\26\307"
+"\250\20l\335\30^\363\326\257\341\7|\377\271\202@Yl\300\r\221\227;\\\377"
+"eF\346\2273o8\343p\240\325\306\2l\221l\330\313\2\64I\300\33\216\277C\275"
+"\37\3060\372\322hu\222\310\0t\252\223n\316\232\234\301\3078\224\254\220"
+"\215b\35\257\20{\214\373\341\20\267\324i\347\\@wm\30\355\236\310\256QD"
+"\42\362\257\313\37\42\13\13\r\327,\340O\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0p\b\0\0\0\0\201$\207\375\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\1PIDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30"
+"\331\200\21\227\4\237\265\226\24\317\357\2677O\337&\311<\226\250\335\277"
+"\377C\301\375&i\3425\206\336\373\217\f~N\24 N\237\300\372\377\350\340\251"
+"#1\32\25n\376\307\4\177\222\tk\224y\364\37\33\370\227NH#\307\371\377\330"
+"\301\37\'\2:\'\375\307\5\236\13\342\325h\364\7\247\316\377S\361\352\334"
+"\214[\343\377_\362x4\252\374\303\243\363\177\27\212Z&\24^\f#>\7E\341\221"
+"=\372\37/\320\305i\'\2131\376\200\267\300\251S\236\35\277NU\234:E\bD\266"
+"0N\235\254\204\22\30N\235\337\b\350\374\202S\347\23\2:\237\341\324\371"
+"\352\r~\235\327q\247\204\375\370u\36\301\255s#^\215g\237\341\226\343z\213"
+"/\t\345\3403\266\16\217\306\327\334\370t\362<\302\2553\13\177 x\340\314"
+"g\207\230\t\304Y3\16\215\217\t\226\327\214s\260j|\243KDM\323\216\305\301"
+"w\324\210*\344\3^\240\27\266\213\370\210\254W\4{\276 k\334gGBe&\224\263"
+"\353\33\244\200>\323\256Kb\375\311\300\254(\315\372\357\345\235\237\243"
+"m\214Q0\nF\301(\30\5\243`\24\fo\0\0VK\364\77\342\305+\263\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0^\0\0\0p\b\0\0\0\0\262\37\230\364"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\324IDATx\332\355\225\277KcA\20"
+"\3077*!)DH\243\370\343lN\374\205h$b\254\2561M\n\177\201\312icis\355q\235"
+"\377\200\215XX\t\42\210\205\304\302tz\34\351\204\200w\225r\36\234\242\242"
+"\30\60xhx\306\20\63\327\370\364\315\354f\21+\221\357\247\33>\263\363\346"
+"\355\333\235\247\24\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0o\217\252\200U\373\375"
+"V\35\250\262\331\301\2653\242lr\312\234T1\222\310\20e6\206|\346\306\246"
+"\222Y\242\263\265X\231\342\r;\364\310~\304\240\333\322\256\336m1\350\310"
+"\276\253\2777\232\252\267]\320\23N\\\323\321\353g\235\355\323t\334y\326"
+"\27\235z\365\232#\362\220k\27\272\351\312\253/\353\204n\317y\365q\215V"
+"~\201\30)\2417\271^\25:\305\365\242\254\36rx\2E\371\316\225\270-6\361\235"
+"\23\213\357B\356qp\367.(\2367\312\2421qZ*\207-\311J\5\342\242|X\276N\330"
+"\22)\245z\354:,\312\327\312\204ZK\364r\355\226\277\225\t9\26\275V\273\345"
+"\17e\302\37\26\375\266km\265\314o\25\337\236&\230\216I=\300\364\270\324"
+"\362\332\250m\356\317\371h\2538\340\372\'\77I\376S\256\177h\327\252+\317"
+"\22>\13\35c\7\277\370Ih\336\376}\267>\25\246K\266k\247\276y\327\177\325"
+"\364\274\307\226fL3m\362\346\251\2719\303\314\375r\357\352\374\254n}s\17"
+"\256\276\2314O\344\17\313\16\21Q!\21\66\352\216\365<\21\221\263\362\321"
+"\250{\267\212DD\377\226\274\363\230\267\31\354k\366\235\247o\313\375n\252"
+"\373\33\36N\366\234r:\24\251/\374\375U\300/\37\0\0\0x7\374\7\336\364\336"
+"k\335\336\3062\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"^\0\0\0p\b\0\0\0\0\262\37\230\364\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\6\247IDATx\332\355\231kpU\325\25\307\377\311\315\13\270$\261\265*\326"
+"\6\21p\250\24\6F\221\326g\315\304\216\203\26;\3\35\24T\236*X\245\42\235"
+"*\266\325i\301b\242\25|\214\332\252\35h\301\332\340\b\265t\254c\353#uT"
+"\6\f\22\37-\304\266\204\212!\2I\4\222\233p\271\367\327\17\347\234\275\317"
+"997-\'\343\370\345\256/\367\234\265\326\376\237u\366Y{\255\377\336W\312"
+"K^\362\222\227\274\344%/y\371\234\244\340\270G\224\'D\347g\26Ou\32\236"
+"\370\314\320\307u\302\247\'\377\337\356EaEi\365\245\23N+\353\376\307\313"
+"\317|\22\341>\372\305\niE[\334\340N\255;\210+\251{\313\372\230\317\332"
+"\13\64\227\306\4\37\264\274\33\237l9!d\257i\7\370NL\364\311\273\bJC\42"
+"\360\360\332\f\300_c\242/<jp\377\371\232\363\373\374\30cM\336\324\2\300"
+"\261q\361\26@\255\1\77|}\242x\215s\231y\351\7\227\237{\366\205\323\356"
+"\334\354M\333c\361b\177\320\240\267\216\223\244\31\273\211\222\216/\305"
+"B\277\313\0t\215w4\305\263\242\36p[,\364\31Y\3\60\307(\177\344\307\335"
+"~\367\21`g\361\361\341:\313\352\314\'M\355\331\264\306\330\336\2254\357"
+"\244\341\'\252\253\365\375\327[\226\17\221\2644\35#\366\304\233vj\252\254"
+"\372\2\300\344IU\nx1\326\324\334l\347\340N\377*\362\303\377\36H\217\215"
+"\203^y\300\240\357\366\27\202i\300\351\336\233d\201\207c\5\377S\33\374"
+"\325~\375\355\200[\27\n\267\2\7\277\30\253\322\354\267\351\21\350.\353"
+"\241\335\275\234\r\2608V\360\327\330\340\257\f\30vC\203[\21>\6\376^\24"
+"\13\376\2179\202\37\17\254t.W\0\\\26\13\275,e\340\257\13\30V\0\65\222\244"
+"\341)\340O\361\212\315\205\6}_I`\301\355\2056g>\352\201\243c4\300\244\257"
+"\r\350\257\3V;\1d\201\7c\226\371\7\f\374x\277\272x\'dF\231\244<pBL\370"
+"\337x\350-\1\365R\240^\2224\7\340{q\273\367Z\17~\255_;\3620\34\35%I\311"
+"V\340\335xI\251B\35\360.\233|\352\222uI\351\201\17%i\331)\222\226\36\213"
+"\33\375\2/\372\331>\345/\201]e\222tz\nx>>\357\32\341u\222[\254\356>\240"
+"{\242M\312\321\3\340u\r.\3743&i\36\7\262\263\354\252\270\177 \264\361["
+".\374\321\211.\215|\13\340\16\347\323l\3>\251\34\20-}\332\305\7787\251"
+"A5\353\323@v\231c\232\13p\343\300Xoy\223YY\207\\~9\327\261\fm\5v$\342C"
+"\27I:T\275y\262{;T\222\364\301\265\215\316\355\262S$\335\2321\336_\250"
+"\231t\346\211\245\7\232_y!\25\215v\336\371cO-\357\336\263uS`\215\226\326"
+"Z\2H\3732\257\264\215H\1\33m\357\335\234\366|\366/\215`$\247\325\265y\366"
+"L\375\31\1\323\310\207Z\35\375\326\357\227\33e=\3203\322\275\31\373J\200"
+"O\275\21\246k\203V\6\350\365\247\337\16\221\3141W\316\237Y]\341\323\\\344"
+"+\243\5KzC|\255\251\42\60|\302\316\220\375\330\324\377Q/\336\6Z\235w)]"
+"g\307\355~j\365[\0\277\365;O\267\241woZ\265\241\33\350\370J\277\360\363"
+"\0\26H\222\6\377\331\fN-LH\232\321\13\234o}\347\37\63\16\317\r\223T\325"
+"\30~~\237tm\5\32\13%\251\304\266\343#\27\330&\264\301\370\316\262\24u\265"
+"\323\257On\207\364\260~\340W\2\\$I\372\225\31\234\275\302\343\215\377\206"
+"n\217s]l\277K}\201\217\377.\354\247\322\245L\77\271\301\316\373Jc\377\5"
+"\340\256\226a&\37\3315\304\354!\2015\271\3417\0\251\21\2224\272\313\214"
+"\336Q\22h\3053\234\244z\311f\3137,\300\21x5\'\372\305\0\367HR\301\337\314"
+"\350\314\271\326\341\n`Q\370\345\36\361!\354\201\246\234I\331\b|\234\364"
+"\302t\345q\237\307\325\300\265\222Ti9d\240\264v\300\33\271\340\347\233"
+"\366Ub\267@\207\374\233\375\305\300T\223\2\216,\362\327\231\f\274\320_"
+"Rn-\224\244\353\355\350\273\374.\17\273\314\245\362\260\261\277\357\357"
+"\367g\1\217\346\200\277\27\310:\253\346=3z\377P\277\313\26\310\224I\372"
+"\241}\374t\277}N\260\275\6\222\262\7\370\235$\351<;\372v\277\313\320^x"
+"G\222l\251i\f\20\340\247\200I\321\360\317\332M\326*[\247\223~\227\357\272"
+"\24q\242}\374\264@n\264AGt\37\372&\300\317\234\353f3zy\300\347\17\300\245"
+"\222~l\354\315\205~\373e\300\372\350\244\334\16|4\330Y\220ft\372\313\201"
+"\316\221\206\326\204\244\277\30\207\340Do\314\271!X\0p\215s=\305\214\336"
+"\24\360Y\5\324I\222\331\365\245\2t\342\253\31h)\312\231\224o\26\204\331"
+"y`f\253\272 ]%\251\322\326\262>%\345\326\310\340k\201\354\327\335\233\273"
+"\275\321=\3110uY+I\243\f\374\314\360\327\333\227\214B\77\243\307\337\b"
+"\356\361F\7\252\323T 5\\\222\276f\340\375+z\310\207\300\r\221\301\77\7"
+"t\231\317x\233\351\22\376\251\331\17\254\b~\372}~\214u\300\266\310\254"
+"\274\4\340\'\346\326|Z\253RE\23\360\236s^W\340\362.>\360a\334\1\364D\36"
+"Z%\266\3-\203\355y\200\307\177l\371(o\0\272\317\16\355Z;m\2607g\201%\271"
+"\223\362\252\320\\\1|\3445\276\21;\2{\201\253\274\327\363\272dQm\200m\7"
+"\223\262\rx\335_;&yM\372\327\tI*\276\245\323\267\244%\25y5\347\77\316\341"
+"\3069[\0\32\6G\302\327\1\231s\2\252G\274\360\336^T3\275n/\246\213y9\350"
+"Q\220\216\237O\231\262\344U\0^\253\210D\37\331\323\267\377\226\276\34>"
+"N\353\r\22\200\305}\316\333\326\3458\246\335\b\34\16\223\223!\33C\344o"
+"B\310\341\306\236\200\275}v\216&rI\3708\312\245\227s\367\332\301\273\346"
+"\25\366q\30\357{\301\316\332\\[\231\304;\300\277\312\42,\2453\237\335\3"
+"tm[U\35\375w\302\344\325M\275\220i~zf2\346\277\17\203\312\322G\372=\356"
+"+W\'\371\177s\362\222\227\274\344%/y\311\313q\310\177\1a\354\270\304\304"
+"sq\254\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 \0\0\0p"
+"\b\0\0\0\0Z\237-\337\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\21IDATx\332"
+"\355\224-HCQ\30@\367\347\306\23\26D\220Y6\214\346\251\315$Z\226\314+\6"
+"\213\b\206Y\6VY\20\273YD\4\25\301\42&\253 \230T6\213m<V\6\303-L\246\307"
+"p\337{A\356\367U\313w\342;\207\313\345\336\357\276T\3120\f\3030\376\221"
+"\312\355\335\264\346\27C\250*~\271\7\235\264\354kC\240.\373\355\t\360\234"
+"\221t\372\20\340gU\362\3713\0N%\77\363\0\300\240$\370\205W\0\330\23\374"
+"J\350\374K\316\3577G\316K;l|;\317\271W\347N\42\315`\336\347\213\367\261"
+"g\337\273\300E\342\377\3540>\321\257\344K!\353]!\270J\2268\20\356\240\25"
+"\7\243\262pL[\343\250\270\221.b\255\37\25\33\342\244}\270\340\275 \25s"
+"\217\256h\212\323\24\\\3\60,\213E\346\30\200Ke\244w&\0\353JQ\373\4\332"
+"SJQ\r\201]\365\341\275A7\257\25\263O\260\244>\336\240u\224\265_\230a\30"
+":\277J\324\276\f\3202\205\322\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0 \0\0\0p\b\0\0\0\0Z\237-\337\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\31IDATx\332\355\224\261JC1\24\206\33\13\n\265\350\340\244t"
+")\245\16r\25\4\3017\20\4\7\321\315\261t\263OP:\225\342\244.\202\217 \16"
+"\342f\321\245\240\340\326\311\315\245PZ\350^\5\253-\367sH\256\202\344\4"
+"\\:\235o\271\220\377K8\2719I*\245(\212\242(\323 \355\276\321]\3411\16\211"
+"UhfB\302Z\f\317K!\343\6x\315\7\204\342\7\60\330\n\30u\200\267=Y\310t\0"
+"&\307\262\261\17\0\3473\242\321\264\306\355\274X\347\310\32\355e\311hX"
+"\201\356\272Tg\327\31\303]\3018p\2\223\212`<$\6\27i\257\260:\3721\252v"
+"\344\317\246\347~\347}\372\26\60O\311\374\270f|\302Q\222\277\37z+X\30\270"
+"\274\267\351\337\303\231\313\333+\376<\32\207\17\303\264l~b\204\237d+\34"
+"\227\245\223\312\366\1\206;b7\234\2\3646\304<\372\2^rr\303\335\3\255E9"
+"\337\6\256f\3M_\203K\23\272X\271\353\222\276d\212\242\374\217o\357V\277"
+"\303wmW\356\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0q\0"
+"\0\0p\b\0\0\0\0\fI\300\251\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\350"
+"IDATx\332\355\230mL[U\30\307\377\245\330\314\226\r27\311\2\nf`ds\311\304"
+"E\42FY\210\232e\2\201E\235\bF\305\270\211Q\343\366E\20231*\233q\231F\232"
+"L\267)3:\42~X\225\201l_\254\30\247\223\244SG\325\214\354\215\1\tJe\266"
+"{\351\240[{\374\320{OO\333\347\276\254\334\366\203\336\377\7z\356\377>"
+"\347\371q\356=o\367\0\246L\2312e\312\224)S\377MY\322\230\333QR\344\310"
+"\361\237;}&3M\271{\373\360U\26\225\317\325l\217\273\367=#5U\242\224l\'"
+"S\322Y)\302\372\304\357\3617\376\351\310\323&\262\23\13S%\226{\244\353"
+"\261\375]\356\220\324\200Fm\42\373\306\226\32q\343\214\324\260\307\263"
+"\0\24\364I7w\3334\211l_J\304-\322E\260Bz\304\3\222q\300\246Idm)\20\67\310"
+"\27\355r|APr>\223\214\242\312\226]\223t\206H\23\211\314+kxw4!tz\357\323"
+"w-q\0\267_\226\214\3639<~\217\34\324\22\313\221\335x\212D^\252P\352\260"
+"YMSB\334\305\315\363$\337M\274\222\7y\227\275A\310p\375\356k\34#(\36\347"
+"Q\376;e\263\212{O\305\42\355Wd\263#.C;\211\364\346*\42\313y\242\6\356}"
+"\312+\256\24\42\177\223M\337uq\31\336\277\2461\42\244\77\302\35\3534\257"
+"7_\b\354\343\356\352\270\4\266\213$\362CE\342\3R\304\363\334)\215\365\0"
+"\61\360#\241\367g\t~\350*\231wc\233\22\361\207p\364\3670w\226\362\222_"
+"\f\f\360\322mqD%m\255W\270\21\34\5\0\260\343\334\211\275\364\270\377>$"
+"\4\350!Z\272\225\306\310\30\0\300\27K8\243\225\353\212.\42\354\275\205"
+"\364\215i\341/\0`\212h-\200X/\372[\37\21\371\3\364\30\t$\274%\374\21\341"
+"D\261\213\347\363\3221\212\350%R\257\350\261R\304P\342+\13xx\361&!\256"
+"\210\227\334\24q\313!\42\367\32\'E\274\0\08/8=\274\264\\\230C\227\311%"
+"\317\t\212\30~\214je\353&\302\214>C&8{\371\250\250\214\231\253\34ri\7\310"
+"\367\30h\360\21\356\366:=o\334\377\206\\j\210m\332\36\225\13G\276H\fg\214"
+"1\366\20p\317,\265\216\334\221\224\177\33c\214\261~\321\262\16\312\361"
+"kdk\241_\236\360\223\226\5ND35\335\215\27\352 b\361\210\24~\334\2210\375"
+"\316TC\231(\345J\320\260]\7\21\371G\3455`\21\0\330\234\322e\340~\250\21"
+"-.\n\331k\325A\304\274\235\221h\370\271\316\'\233:\316Hu\177*\205*\21v"
+"\17\205t\352!\2\225\203I;\240\r\344\\#\22Q8N![u\21\201U\37\b\325/}\371"
+"pl%\316V\354\347\23\r\337\331\223]\347x\277\256y\321\343i\275\265\274t"
+"\311\2\233\177z\364\330/\263\212\203Il#\260.B4\322\277BW\33\225\2456\223"
+"\273\332\t3w\240`n\237@\252k\307\333\335\204Y\270\337\236>\42Z~$\314\212"
+"\317\255\351#\206\352O\23n\335[\351#\302W\37 \334\266\326\364\21\341m\f"
+"\23ngu\352\304l\255\200\203\233:\211Z\256{\275\n\361\2039j\331^>\254M\204"
+"\263\214x\206\271\275\25>:|e\256Z\262\\\350\331Y\275\350&\314[\372\354"
+"iz\217\0\302\353F\2501\322eI\33\21\201\32\352\t\256\337\232\246\236\3\0"
+"\'\327\37\42>\260\332F>!b\177U\3559\1\235D|\333\3721\341\356\32#\314\325"
+"F<U\0]\357\20\246\315U:\327\223\255\204\325*n\213\326\253|\42\322ox\317"
+"\1\200p\243\327\240\3;\275D\4\327\376\231a\42&\352\203\31&b\350\31\226"
+"a\42z^\3174\21ov\33M\314\322\370\'\330\263C\6\23\347\'|\264\'\351r\355"
+"\204\241Di\337lS\333\205\254\275`$q\1qJ\221\264\13i\16\33H\224\216\42\27"
+"\251V8\360\212\201\304\233\343~\224\264c\217q\304\262\350\3172\215*/\270"
+"\r#\336\'\355\215\362\324\253\204\369i\320\244\276X>@\177I+\262\304\77"
+"\207\325J\20\77\266\376\353F\255\320\352Y#\210\233c)\206\362\264\202\237"
+"\233;\261x\237\230\343T\235\326|\373^\312D\13P\234_\270\274\252*\341\13"
+"m\364\340\321\221\311I\345\25\321\372U\r/\177]\223\322\356\206\3226\265"
+"\375\374p\232\3679\311;\317Z_\6\326\3078\235\255\re\230\210\241\226\224"
+"v!\331\200\77\242\270\34\252\327\355.{55bq\312\255|\315\272\24\0~\206)"
+"S\246L\2312e\312\224\251\377\207\376\5f\332I\301D\304Q\344\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0p\b\0\0\0\0d\272B\221"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2IIDATx\332c`\30\5\243`\24\214\202"
+"Q@[\300\210GJCGGMJT\214\225\217\201\201\341\375\307gOo]<\371\210x\223\371"
+"\342W\274\374\217\tn\264\253\23\247\337x\351\267\3778\300\3375J\204\365"
+"\353n\373\217\17|\213#\20\16\34u%\254H\334\317\7/\334\373\302\252\26\257"
+"\200\20\372\237=\35\237\3dN#\333w\42\214\35\42\314\377\26I\364\2271\36"
+"\3\214^ \251\374\30\213p\342\5d\203w\3426\300\344\35\222\272\'\32\b\tS"
+"\324\340\24\307e\200\334+\344\20\63@\222Y\200\32\232\2768\f`=\213\254\252"
+"\24Y\352\21\252\t)8L(GV\364\220\35Y\352/\252\t\211\330\r\20\375\212\254"
+"\250\26E\3563\252\t\266\330MhFQ\244\201\42w\fE\356#\7V\3\230\221#\362\377"
+"\23T\311<\24\23z\261;\301\36E\321\6\264\224z\rI\3566\37\222\f\23\202\351"
+"\205\242\345\26\252\t\77|\356\42\244\334\77aw\303~\24\67\344b\344\367\256"
+"\17\377\377\377\377\377\377e#7\256\234\365\211\27Y\42r\5\206\25lf\252\254"
+"\77n\234\375\213+=\212\240\306\2277\261e\21\42\34dP%\276\222n\202\4\252"
+"\304\37\322M`&\263\254F\230\300O\246\t,$\251f\346\343\344\342\347\345\345"
+"\343\347\273\260\3)6\337A\343\n5\232\77c\6\4\7\'\202\335Q\211\344\6A\254"
+"\326\361\222\36\16\f\24\207\344\300\231\300\302\300\260\32Z\312\232\243"
+"\346\2637HQ \242-L\204YQ\250\371\302\6\325\251ih\5e;\251\276\3707k\r\305"
+"\341\260\205b\23nRl\302\33\212M\370F\261\t\337\207w\252\36\65a\324\204"
+"Q\23FM\30)&\240\265\3458\321\233Ph\335!,&H\242*\21@3A\32\255S\211\305\4"
+"\37T%^h&\370\241r\235y\320}\2438\33\255o\374\'\7\271m\'T\360\23M\376\260"
+")#\2745\30\221\314\42 -\212\31D\177\236\277\375\373\312\213\201a7\203\200"
+"\250\34\226Q\206\217\17\337\377\236\273\202\201\201\201\241\2O/\375\3\3"
+"\3\3\276^|\305pIQ\243`\24\214\202Q0\nF\2\0\0\'c@6e\17\35\271\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0p\b\0\0\0\0d\272B"
+"\221\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\7IDATx\332c`\30\5\243`\24"
+"\214\202Q\200\17\60\223\245\213UW\364\25\214\315\210G\235\232\231\276\232"
+"\222\270 \13\303\337\17\257\236\77\274u\345\374S\6\6\6.}C\3C=\266\216J"
+"\230*\26\\\266\270\7\272K\303\35*,\254\311\300\300\300\360\360\0\233\201"
+"\32q\256V\354y\363\37\77hg\300\347\6\271\346(\26\342\303\4S)ky\25\'\22"
+"\367\346\236k\257\31\345\302M\2107R\376$\222[\377\2551\205\210\262}\306"
+"\351\13t`\370\22I\331Kw\230\260\375\77bM0z\213\244\352\261\42L\230\355"
+"\326\177\42M\220~\206\244\350\253>\\<\26O\\0\241$\320U\222H\274\252\213"
+"pf\0\236\200C1!\323\n\211sg*\202\255B\244\t\2\255\3102\263\376 \330_\210"
+"4!\203\17Yf\r\22{\17q)\201\361\21rP\335E\226\22\177GTH\232\311\42k:\213"
+"\314y\31\364\221\30_\370\242H\240\270\201\341\200\336\34\42L0G\221x\214"
+"\252\356Q\t\21&\240f\236\267\304f$\204\tB\2(\22_H7A\6U\3423\351&H\240J"
+"\374#\335\4V2K{\204\t|\24\233\300H\246\t,\f\f\357\240\245\b\252\304\266"
+"\77hi\36\217\t\202X%xI\367\5\3\305\3410p&\26000\254\206\326T\2509k\377"
+"\33\264\212(\200\240YQ\250E\210\r\2324\77Qe\365\220\r\311Q\23FM\30\65a"
+"\324\204Q\23FM\240\267\th}YN\374\35tV,&H\242*Ao\33I\243re\260\230\340\203"
+"\252\304\23\315\4\77T\2563\17FO{6Z\27\344O\16\67\222\264P\301O4\371\303"
+"\246\214\360F^D2\213\200\264(f\20\375y\376\366\357+/\6\206\335\f\2\242"
+"rX\32\203\37\37\276\377\335\276\217\201\201\201\241\2O\27\377\3\3\3\3\276"
+"!\200\250\341\222\242F\301(\30\5\243`\24\214\4\0\0\361\35q\303\263D\247"
+"\233\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x"
+"\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx"
+"\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z"
+"0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0"
+"\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332"
+"\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0"
+"\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355"
+"\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304"
+"\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1"
+"\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315"
+"\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0"
+"\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240"
+"\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365"
+"Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37"
+"\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0"
+"\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x"
+"\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r"
+"\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230"
+"\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34"
+"\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32"
+"IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n"
+"\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0"
+"x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDAT"
+"x\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371"
+"Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b"
+"\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332"
+"\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0"
+"\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355"
+"\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304"
+"\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1"
+"\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315"
+"\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0"
+"\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240"
+"\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365"
+"Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37"
+"\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0"
+"\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x"
+"\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r"
+"\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230"
+"\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34"
+"\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32"
+"IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n"
+"\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0"
+"x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDAT"
+"x\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371"
+"Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b"
+"\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332"
+"\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0"
+"\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355"
+"\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304"
+"\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1"
+"\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315"
+"\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0"
+"\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240"
+"\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365"
+"Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0\36\0\0\0x\b\0\0\0\0\300\366\359\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\1\307IDATx\332\355\326\315.CA\24\7\360\277[$\242"
+"\t\21_\351\302B\42aa\2117 \22\26\22+\13vv}\n\257`\347)l\274\204\257\264"
+"*\224 >*\332\204j\365[\333c\321{g\346\366\234\271\13\66B\317\346N\3477"
+"\367\364\364\316\314\235\2\235\350\304\257\210.\363\303\350\332\224\223"
+"\334\177\261\f\215\226\211\210\312QY\267\311\215-I\207\336=\316\364\253"
+"NG\2656\7\274\326\310\272\300+:\321\262\220\374\225T\234s\35\326JU\236"
+"|\320\30\332\33f\334g\246\352\343\245\231\21b\\3\271\3148kh=\307\36295"
+"]y\212W\336\324}x\20\236\332\265\346\233`N\n\234\320|\36\314\t\341Q\f4"
+"\275\302\13\216pw\356\316k\305\233\2\343\324k\34A\342\23\66\316\307\307"
+"l\234/F\335\312J\335\362JN\265\370\20br\304[\227\230\205\317|\27\306\27"
+"\255\313\245\205\2578\2331\326Z\305\216m7\227\210\210\222\260$\307\243"
+"\177\251\264\3633\0<Y9\3\0i+\247\325\30\221\263\0\360f\345\367\366\375"
+"\340\347\17\0\310[\271\30\314y\337\366c\\\2\200\202\225\77\1\240j\345\2"
+"\0T\254\334P)D\256\250\2D\256\362\227B{G\3\201\311\13\370I\362\357s%\230"
+"\253\336\254\251\360\357\306[w9\376\263\23\30N\4)\262\r\235\330\313\22"
+"\275\356\216\313\272\224sO\3309Ig\212\352\4\216\b|\240\217\232=\341\225"
+"\331\320\374\321\313&t\326\230\332\360$\343\36\361\220T1i\34\320\3650\377"
+"\362\270\346\3\241\362U}\363\274\364\303w\\mn\313\217m\343\236\210(\261"
+"h\233\222\320\302t=\26\353\374S\354\304\237\213/\254\20\16{\274)\236\242"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\'\0\0\0x\b\0\0"
+"\0\0T\20\264\313\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1@IDATx\332\355"
+"\2241N\303@\20E\207\r\242A\21R\204h\202D\343PD\242\244\213\304\31\200\202"
+"S\344\32p\213\34\0\211\236;P\256m!\212\240\b\7Q\20*\b\2\307\376\24\273"
+"Y\357\354&\22\22\5\315\274f\354\277\177=\177\326\226\211\4A\370+\33\313"
+"\213\243\323\275\307\353\'\177\351\360|\277\270y\b\374\2275\200\317\13"
+"O\31\226\0\312!\267\235\1\0\360\325s\312\240\6\0\324\3\346\2735>\\9ed\225"
+"\221\271U6\13\361J\324\347U\255\31\213*[\27\3147\265\352\304\371\nb+\326"
+"\247\255\232:_\306\253\342j\356|:\250\206\23\63\\\335vJb\347M\230\257c"
+"\304q\243\264\346\0\200y\213\365}{\16\342Qe\42\344\25\77\227\214\305l\202"
+"-\343\251\225j\274s\275/\r\223\20\21\3211\0\224[\236\322\5\0t\3\337v\5"
+" c\322\f\300\214\202\276\37\343\350Ls\377\334\225\37\207\373\264\257(\177"
+"\274\374\27>\35=/]1.Q\37xW\321\273\354D\276\315o\334\5R\201\202\242\276"
+"\213\373\250\211\366\2024\37z\262\3632\345\276\203\335\327\211\374\341"
+"\4A\20\4A\20\4\341\377\371\1\221\271\240\322\326\4!1\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\211IDATx\332\355\227\315jSQ\20\307"
+"\377\371*\241\24+\205\26\321&\324\344\246\5\351J\327\202\272\362\r\4\37"
+"\300\217\235\370\6\342\316\235\270S\360\5t\331\205\240K7B\273p\331\344"
+"&hZ\261X\b\261\rEL\351q1\327\233\323;s\346\236\2722pfs\311\77\363;3wf\316"
+"\311\t\20,X\260`\301\246\333\n\222\370\274\n\0\37\336L\224\245\247\0\200"
+"\327\237\324\305\316\33c\2141\217,\351\26I\327\'JQ\0\233\364\210-i\225"
+"\36\35\35\344^\311Z\207{:\330\2\0\34\367\330Z]\370D\3742\266\244\b\0\260"
+"\r\237w\264_\261\24\61\311\35\321\366\252\317\370D\\X`^\24\20=\35\\\343"
+"\335\240r\241\255\203\21\367\242\344\207\373>\340\270\317\42\332KI y\365"
+"\216\331Zq\16\270\312\346\246|\331\13\344y\255T|R]:\307\306K\30^\1lq/\241"
+"\316n\260\315\244\301P\7)\257_;\352\210K yuO\330,\305\360I\325\256\315"
+"L]\210X\246\307\265l\304\221\245\324Jt\256\245R\1772{\346L\366\320\261"
+"\37\275l\212\300\244\252\367S\341\311\5\0\330|eu\343\5\0\340\355\373T\371"
+"(\255th\2141\346\231\245\\\241R\336\321S\2754\307\246\244\1ap\30\230l\204"
+"\355\234M\345\4{l\6\367\16t\220\274\216v\371\324\347\264#9\305\r[\253\223"
+"\3\66\331\362\325\32\337\376\34,D\314\253Q\364Iuy\326\353\300\341\240\320"
+"\2635\261\215YP\360\242\267\376>\322\301d\373\177cE\215\245!\277]O\77\336"
+"$\360\236\345\261N\223\236J\375w\351W\33g:76\246\356\4\370g\260\0 \232"
+"\377\373\351\361]\0\30\335\260\34^^\5\200\315\7\251\3603N\3331\351Q\262"
+"\375\267,p\21\0\360yKO\265\311&uvY\334T\31\260\310/cQA\34\361\fX\2532\257"
+"\344\356\332\325A\341X\42\311\304:\30q\220F|\367\310\7<\370\241^z\334\251"
+"v\364\273\253\4\362\253\321\334E\37\260\324\340\335\200\360\363\317\300"
+"z\205\245\3528p2\240\363\3009\311\1\205\274\350\255w~\373D\34\f\364\33"
+"\256\0\362\332\270\333x\n\344^\363\213>`e\205\345\259\213j\203\215\262"
+"c\304\363\42\66]\3777N\375=\23\300\226kS}\35\353 y\355\17Y\235;\360\211"
+"\330F\316\r7X\260`\301\202\375_\366\7\202\210\17\64\34>+\5\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265"
+"n\256\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\360IDATx\332\355\230kHTA"
+"\24\200g\267m\363\221\224\253\331C-\23E|D%\326\32EY\231AE\20\364\244\372"
+"\221\224\244\241\221a\5\321\13\351\361\253\207`$\211\24\364C\226\22\323"
+"L\222\24\23[\313\262\310\240D\305\24\65\65\363\265\345k\325=\375\230\331"
+"\275s\357\316\334\275+\364\243\330\363gf\356\271\337\331\33193\347\234"
+"\271\b\271\304%.a\213\212\253Y\254A\310\3341\r\223m\0P\317W\253\247;U\27"
+"\370\177\2003\330\346\42\67\357\331\244E\310-|\325bM\257E\241-\277\244"
+"\247\203@\311\360\313\324E\n\260\215\205f\260\223\311\302\265\16\260\330"
+"j\340Hi\210\f\346\221=%~{\244Ux0\232\314\345\202\352\311;cE\251z\37|\254"
+"\334\364\351e\326\271\337c\257$\212\352\302\372\201\363:\361y\364;K4y\314"
+"c\37\320\216\265\217|\355\17\362\354;X\227\301\340\264o\1\0\300r\232\35"
+"\1.\0\0\300x\270=x\5\333<\307\t\35^X\375\314>4\215\2\0@\21/\346\244c\320"
+"\22&\5\263\0\0\300\274\224\rjs\255N\271 \365\240\t\0\0\f\354(\247}a\363"
+"f\231\344tl\363B\b!T\300vTf\202\255\33)\1\267\340\346\35\223\233\225\42"
+"\364}$\340\32\334t2\301\340\331B\337\42\6U\241xdv\230&z\305\340\2\67<\362"
+"e\202]\324I\256\23\203\236d\24\312\4\7j\204~\276\30\324\222\321f\366\252"
+"^\6\333\17J\326=\200x\251I\303\336\0\'&\260\376k\220\304\244\247\325\277"
+"i\234-\267,\367\333\330\340\233\fw\273\311tX\217\274\336\311\374\370\231"
+"\f\335\237\257s. \227[\307\272\2123\32g\342r\30\25\241>lU2U\253\324\320"
+"\301\255v\377L\305\340.q\\\354\271\265Z!\2506\262\242\260\2\20-\37g\200"
+"][\265\216\311\24f\344\377\365\370\260\267#2\213\2235\314\305\7\334\345"
+"\253\263\353\274\204\3}\267Cd\321\303C\\t\322\20!G\6\227rI\230\310\325"
+"\311\241q\225|\264{\207\354|c\362Fx\244%S%\213\316I,\237\344\2409*\7\256"
+"\231w\254d\202I^UV\3502f\33\257\blN*\226\376\341\26\255\22\260\36!\217"
+"}\345b2EyM\36U@\203\237\235)\346\343\32)2\302\211\42\2602\346\2110Hp\246"
+"z4\355}`\353G#\204\20\22B\232n\215\177\277\361;\217\264\34\r\264\346\7"
+"q\345\341\223;\16\0S\206\5\334\200\34\60@\376\243\310\370\222\26\362\264"
+"-\220\33\3113\311+&:Y\177\262\255\331k\25\17\\h\335\300\324\263\fj\265"
+"\343\271\271\343=)\21\205UUSI\nm\347.\255\21\67\24\30\35@\27\237\\\360"
+"\7\335\250\5\317 \332 K\372p\323*\200\376\264\272\221\13\222\0\333,\200"
+"tb\203\307\\\220\24z\265\2\330Ois\370\273\77\26\67U\302\223\335\2023\362"
+"\265\334\r\20\42JDjQ\t\367;\355\200\231\373\203\307%\225\16B\b}\301\306"
+"*\375e.\327\376\303\270\274\360\245k\200\207$\355t\312\234\254l\17\204"
+"\20B\367\177\212\26\32\357\374\33\62\327\371S$\375\370\210\315\235\304"
+"\327\257\225\\\360\b\271\362\354\227\336\6+\260\275\235lP}\321\202\271"
+"l\373\320\335\2045\5+\30`d\25q\326S\306%)\260\201(\215\251A\42P\223`\230"
+"\262s2-:\241\324o3\\:\24\327\5\0m\211\327Jl\227\320\211\363\234\310\246"
+"J\35\4\31\251[%s\311\275i\342a\37\17\312\7\322\271\311\257\30\251\261\347"
+"\356z\5\37\202t\33\364\21\301\363\311\306\32\352\356l\370T\375\25\234\370"
+"\262\344\335>\275\17A0`q}$q\201\177\3t\211K\376\25\371\3&\215\217S\314"
+"K\203\333\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0T\0\0"
+"\0x\b\0\0\0\0In\212P\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\6\5IDATx\332"
+"\355\231ilUE\24\200\207.\24ji\37\224\212l%\20\312&\373\346\212@\21\b\30"
+"\66C4\270\204\260\30\1\331\204@\25i\20\301\224\20$@]@1\200A\343\302b\220"
+"EH1\r\30Y\212\5y@Y\42\204\245E\272=J-}\355[>\177\364\315\334\373\356\275"
+"\225I0\361\317;\277\336Y\356\3273w\346\23693\25\42\42\21\211HD\42\22\221"
+"\210<\2344x\230\207;&\t\218\363\337&\364D\25\260I\77\323\250>\203\272\247"
+"\272|\245\27s~\t\324\307l{\274\225\20\25i%\232)\264\315\272\201\224k/\327"
+"\23\324\376\32\300BMd\313\317j1\313\326\206NQ\375o\2\\n\2507s\323\357b"
+"\221]\321\366\250\331^\0\306j1]\273\25\25303\375\257\272_\33\254Q\375\216"
+"\3259\16i1\333_\220HoF\234\20]C\357\366\330\bSL\364\250\203\301:\263\257"
+"\273\16\263\363-\311\274\373\214\20B\210\26{B\372\271\214\1\215\205\20"
+")O\276\261\275L\215\345\23\35f\233\2332\2746]\332\206\35\nJcE\205\302\5"
+"\0<\311\32\314\244\2\365P\206\311<\334:q\334[q\2`\236\316\274\357SO\375"
+"f\236\357\350\277\241\350\232\201\274\272\244\331x\200\202\330\372H1\306"
+"\317\305\243\345/\377\f\363g\24\270\324W\224\366\354\231\336\253\255K\224"
+"\337r\347\236\26q\253\205\20b\241\357\301\211\366\254Q\271\254\17\367\34"
+"\200\2620\303B\200\2375\6\37\375\273b\226\270\302]\373\0\263\236r\27\360"
+"u\325\200\3162^\332l\213\353(\370\315\372F\207\3218Jb\261b^\210\261\370"
+"\334PlR{\370\201R\235\345\264\314Ht\244\325W\tgMj\16\300\34\rfB\271b\356"
+"\267\372Z\1;\ru\34\300\371\30\r\350\34\305\364\333\276\347\t\3002\245\305"
+"^\6\30\241\363\201\272\215\352i\363\255\6\206+m\1\300^\35f_\305\254mos"
+"\26\2007^-\'\17P\333Y\7\272RA\277\264\371:\1\7\224\366)\300Z\2552\232\257"
+"\252\217}Ig\1\323\244\322\335\7\24\273t\230\211\201z\247^4,\202\252D\251"
+"\35\2\230\251\225\350`5\372\3616\3374\340s\251\214\1pGkA\247\251z\37gu"
+"\305^\201`7\251\\\2\30\246\267)\277\'\241;m\256\371\300\16\251\274\r\260"
+"[s\247\317\222\320\5\266\257\311\3>\231h\262\7\360\246=\230\27%\204\20"
+"\225jIZ\335\33]Bl\272\20R\226\273\204\20\331W43}]f\332\327a\360\205I!\345"
+"q\37p\'Q\267}\353%\241\375\303\355\351\265\20\34%\265\203\0\323\265{\302"
+"\250\333!\350\270\360V\261\2X#\265\27\0N;,\247\306M\235\263_\35\202f\233"
+"\215C+\200\34I\211-\0\30\22\376\\\243\361\33\363\252\1\317\341E-m\320\326"
+"\367\353\240\225-\214\r{\216\278\256\222\230\207yq\t!\204h\227}\317(\355"
+"5\331IV\352;!\327\221&!C\267\203\0\371j\323H.\7\252\315%\254\311\272\360"
+"\216\223\253\275\255{\351\376\220\347\342\244x!\\\23v\373\1r\232\250\200"
+"\r\0Y\346\276E\265]\4\213<\0xzX\250\361\207UE-,\r\305\2562Z\220\256>\340"
+"\266\3617\32d\372e|\351\274d!:\254\362\2\327\233Y\253\321G\201\360\321"
+"\270\237\13\357\'`\2521\260-*\354d\353:\323\200\22\340\13\333l\365\331"
+"\33\64\220y\257\231\267\266Q\0\247\242\24\363\7\25wBM\317\340\0\370:\332"
+"WV\352\334\357N\27\226\375\231\267mn\2703\246\0\b\16Rc\337\254\2307S\214"
+"\250-\300\207\372\7\246\271\0\337+\365\3\305\364=e\371.\377\320f&\227\2"
+"\325\355\244\372\274\361\362\227\205\305\335\200@\274.t=\300\n\2515/R\314"
+"\374\360\16u\17\320E\223\331\305\7\334J\220\352V\243\357\350\27\36\270"
+"\txZ\23\272\17`\262\324\206\30K\304z\22\332\f\364\321c\216\48)\317\260"
+"\r\2146\326\266S\177\13t\320b\306\234\7\202j\226\'\32Ky\23254\27\374\215"
+"\265\240\263\1\276\266\267\35\234\265\225\326[\240\267\3274-\5\252R\325"
+"\33\65\22\35m\rm\356\270\35;\311:\200\367\225\272C1sm\241c\35:{\347\345"
+"T\13\334P+:\261ZA\237\265\305n\0\272\351@\177\2xE\251\223\25\63\307~\266"
+"\273\241\371JG\0\34\63\256D\276Q\320\241\266\330A\300r\235\345\344\6\202"
+"\3\r\303m\365\201\332\203\267C\260\223\356\331j\233\2514\252D\355\333\177"
+"\233\32\275C\240\253\4\250lm\251\325\0\367\233\330\202\77v:,9\310Z\200"
+"L\223a\246\204\332;\2774/\344i\334\234u\252\5\25672Y\226H\350[\216Ug\270"
+"F\242{\0^rl9\7Zc\247h\336\322\f\78\22\66\242\305\22\332\334z\351W\1\325"
+"\35\65\216\352n \20\336\6N\222P\313\313K:\17,\325Ht\6\300\26KB\22\232h"
+"oD~\3258\255\272\212\201\312\307,\326\313N\37~\302A\240,U#\3215\0\357Z"
+"\255\213\34\316\205\251\247\200\232t\rfZ\rp\265\221\355\4_\30\332\362\24"
+"\243\301\253\345@p\212N%\371\21`\242\335>&\264\355U\326]\200F\215>\n\340"
+"\237\252\303\34\346\\\206\205\20\31r\256\316d\315Z\372U]\342\2361:\314"
+"\350\263@\240\267\243o\276\317z\237\226\333^k\17y\23\307\2660t\274\310"
+"\17C^\231\244wW\236X\fT\264\250\367,\363\342~y/V\265cB\324\277_\313)\311"
+"L\21B\254\274S\37\64\270k\327#\375;\77\232\340)v\237\363j\337\336{\201"
+"+q\221\377\201D$\42\21\211HD\42\22\221\377K\376\1\322L\335\365\243%\312"
+"a\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0"
+"\0\0Dp\372\27\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5VIDATx\332\355\231"
+"yl\24U\30\300\277\356\266\245\305\26k-\265$B\17\216@\241\332jCU\22\322"
+"\26\345\20(\304(\211\330\30\342\25iM\300T<j\212h4b\20\203\b\230\22\225"
+"Z\21\264\306\246*\215\254\201b\24iH\13\321\245Ea\213\205\226\236\34\245"
+"\347\366\330\335\317\77\366\315\314;\346\r\335Y\23c2\337\77;\363\35\277"
+"y3\357\370\276\367\26\300\22K,\261\304\22K\376\367\22bl\276\365\376\271"
+"\211\3616p_:\177\352\317\177\343q\23\237;\346AUZ\77H\r\26\30^t\5Y\361~"
+"\223\30\24q\336\31\24e \77\b\342\212\1\5s\371\373\n\3075\25Zb\232\2307"
+"F\20\'\263\1\0\354\253\316*\314\365&\211\351\203\4P\32J4\21\25D3\232n\212"
+"\30\321H\342\253\2641f\77Bt\307M!\213Ito\2\245\234:D\264\13M\20c\372H\360"
+"6F\275\213h\77\63\201,R\272\42\215Qg\21m\273\td=\211\355d\325\266~\242"
+"\237b\34n\23US\357%\27NV\357;G.\222\2F.P.\3707\274\242\254%\1#3\224\213"
+"!\316\240\214Q_\300\310\24\345\42\2323\304\222\337\356\200\221\352`\274"
+"\203[Zg\221F\272\2F\336\242\\\314d\365iQ\376\337\206\301\200\221\252*)"
+"\216\321/#\277\325\201\17\313_\325\225l5\363\336\312\304\277\13\2n\245"
+"\366\365\27\63\215$y\342gg\340\255\334\256\266\262\235z`\350\357D\271\310"
+"\304|\\\247%\206lM\373:QU\232Y\332\346h\310\317U\345R\222+\273\247\230"
+"Z.;\264\364\25CTK\3102\357\3115\227&\366j\315,\362\367\341\313$\25y\237"
+"4\231y\226hH\227\35\0\62j\311\335\360\343f\323\243\275]c\256\201\224/\274"
+"\344\372\342}\346\223\370V\r\351,\35%W\276\275\223\202\250\13\22\275b\241"
+"Q\277 \270z\250\212\7:\37\13\t\262\304Z\310\2\177[\25,\20\0NR\300\312\7"
+"\2\213\r\325S\316*\311\244\356\16\236\240n\326F\311Y\207[\244\225\301\356"
+"1\346\265\233&P\306K(\227\3452b>_\251\342\213\301!\343\253E\327k\261\301"
+" s:\311\324+y\205\362\375\220Z\362\257^\327\347y\256_\314\321#\26\222\257"
+"\370G*D\266i\356csh\247\260\224\274\35\335l\21\357x65L\177\303\3626q9\20"
+"\t\0\205T\214C\250@\337\243\2545\363\244\203\340}\342\362Q\b\0@x3\25\265"
+"Bp\336\241\332\266\312\347\301\253J\33C\204\204\201\177G\360\336\223\25"
+"\323\36\371@]\355\363\273\234WJ\3{#\305|S\360\'\335T\37._}\224\236\\\246"
+"=\204B\272\247\363\1n\177\317d\312\33\351 \261\247(\335q\212y\230\257\271"
+"\374\352O\344\304G\225\320\rt)\355\243\230k\331\200\207\20\21\261\77A^"
+"t\250[%f\b\36\240\220]\2673\21\357 \42\342\26\203\276Q\2\207\355\264z\332"
+" \305,c\42\316\42\42vF\313\221\207\224\270\13\254\276\204\236$+)\303|D"
+"D,0\330\311\217\252\31\201\233%.\n\331v\233f(CDt\205\215\343\275\261\211"
+"\263,\246\233\371\245\252N\32\361g\344\361d\331.\336T\216z\275\376)\42"
+"b]\310\3702\42\237\254\343:(d\1796\310\360\334\264,<\255Ee\311\77\n\42"
+"\236\b\7\0\260\325\42\42\32\27\330.\276\260\242e\37\315\334\16\0\260\t"
+"\21qt\266!\262\311`i\204h\272\327}\217\0d\214\350/$\262\27\37\213\23\254"
+"\231#\24\263\77-\266\t\21\261.\334\30\371\3\25\363\222h~\201~u\327QD\304"
+"\236d\276 pV\357\334H}\213mTH\313\4\221y\220O^\336\207y\227,D\304u\332"
+"\375\32\332\275H\347\\\313\311!\305\263\235\315\334p\211\247W\261\33w\212"
+"\314\31W\31\342\267\342 o@\304\221\b\335\35\31\42:tfE\256\207\366(\25<"
+"\262\21\21\177\2415\353\231F\274\245\323\203\254\307.\236Y\203\210\270"
+"\211\326D\365\320\1\276\347u\230{\30\346Wl\'\346#\42z\2471\272w\231\0\337"
+"\6\235M\301!\306\245\216>%L\357CD\254\342*@\366\373c\351D\36\271\350\34"
+"\353\321\267Q\35\354\271\376`\276\232\177\206\33&\177-e\273\274R\254\254"
+"Z7\337m\7\260\315/\363\357\26\276\23\n\242\37\371\210cyj3\356\3317\246"
+"_\257\271\233/(G_\3\311\302Y\360\344Z!\373\367\36=\335\352\206\204\271"
+"9\344T\3\276\316\211\227N\352\202\217u\316U\273\320X\372\237\200\331m2"
+"c\271\376\256\371\262!\261f:\0$;\365\215G$\13SB\215\34\330\375\224\377"
+"\33EW\350Y\253\42\245EG\201\244l\356{#\312`\1770\362\232\315`\345\214-"
+"\356\20\201\215\205L\222\213\336\302|\365\341\362\31\67\333\\=\270\373"
+"\f\265-\275\361S\261xD\37\266rg]\17\42\242\273a\377\323q\343\372Ca\322"
+"\314\244\270\30\200\241\336\226\226f\224=;2\2<\375\326_2\226Xb\211%\226"
+"X\362\337\311\77\263\355h\330\305\306\362\246\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\25\0\0\0x\b\0\0\0\08\26\346\316\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\1\rIDATx\332\355\323;K\303P\30\207\361\177"
+"\255D-\245\340\240\24T\364\33\b.\212\2038+8\b\202\243\203Hw\5W\307\16\16"
+"\305\257\320\315\301N\202K\6/xA\'\301Q\35\13\212\2709\330\230\307!\227"
+"\346\274~\2\341<\323\341\227p\222\367\220H\276\377X9[\4\265r\317\\\33\334"
+"\271\217\340\2715]\304\261\33\222\276\32\205]\256\311\333\313u\253\217"
+"D\213\231\236\25\224\253L_\212\312\254\244\1I\337\316\373\254\246\372\344"
+"\350\\\252mG\'\263\305Iq\337\307|\332V\324\327KI\245\304\2476\26\306\253"
+"\357\363\243\222:\353\3468\16\0\232\351\323\362j\222\364`uFR|n\317\372"
+"\23\260\2505\200m\253\27\300G\305\340&\300\276\301\372\33\360jn\255\334"
+"\2\361\212\213A\7\340\310\305\221S\2000pp\342\16 \254:\270\334\5h\17\25"
+"m\370\360\7\350\355\232\221b\240\273dgjBX\377\373\5\36\67J\376\77\364\371"
+"|>_\322/:\16\255\263\32\227,=\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2ZIDATx\332\355\327;h\24A\34\307\361\211\t\227\213&\32\215"
+"\21\37\361\211p*\22\24\305R\20\202\n>\320F\354,$\6\33\13\33S)\26\202\240"
+"\265`\347\373\205\21\261\b\202\370\b\b6\42&\42F\22D\2151j\20\65\247\236"
+"\347\335\355\327bvf\213\370\233\255\305L\263\373\347>\374\377\2633\263"
+"3{\306L\264\211\366_\266Mi`\351\2357a0\351\340\17\302da\17\204\311\366"
+"/@tH\203\252\243\21\20uh\221\271\b\20\355\323\42\333\r@g \207\25\247\264"
+"\250\276\0@O\265&\'\1\3704W\213\275\0\260C\2135E\0\256j1\355\25\0\371\331"
+"\232\234\261e\216\4\206\335\212\321)R\324\17YrX\'9a\305\317\31R,\371e\311"
+"9\235\344\222\25\254\227by\305\212wU\343\26\240\273\351\214\357n\240\222"
+"\314)\306u\332d\235c\261(\324)Q3\34\223\273\177y\31\354e\263\233\375G\222"
+"\354v\361cU\247v,\256C\213\42\33\235\370fT\241-.|!\311\6\27\16(\322\264"
+"\322\205o\25Y\347\347eH\221\265>\34V\244\325\207\243\212\344|\370Y\rK\301"
+"\r\13MB\314\362\202ZQ(\31\364JQ\220\351>\372nR\211Q$\351@^\221\251>\212"
+"\214\234\306\324Bc\351$y\322\254\42\205d\201*\222\254\306\32E\336\373H"
+"n>\231\212\237\243\6\221\345\367\207d\247R\343\362\332\2073\25\351M\'O"
+"|\330\234N\346+\362\314\17\336\2EJ\17\\\270H\316\364m\27.\223\223\231s"
+"CW\312H\363\322\231UrI\235\367\'\222>\335\3354\235\326K\353^L\236k\262"
+"\313uf\236>|\7b\262g\374O\361\225\322\326\370\203\341\212LS7\22\357\360"
+"\365*\213)\347\267\331\345;\370T\367\246\317\246y\30x\245\332\342\16\257"
+"\16\230k\226\\\16\220\346\217v*s\1\263\323\246\351\n\275\341g\323\16Yc"
+"\32\372\1\350\317\6\314\212\257\0\34\17~\321\225\1*m!\323\36\1\214\264"
+"\204\314\201\b\240wr0O\31\240;\23\354O\36\240\253:dZ\7\1n\206\36\3354^"
+"\7\270\25\336I\333\307R\276w\2151\213\357\247\22S\265\277/}go\234\370\23"
+"\363\257\264\77\f\227\227\272\1\277\242\36\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2bIDATx\332\355\327;h\223Q\30\6\340\257I"
+"\3334\32\215\n\306\16\66t\360R\13\242\264\4\212`E\20\253\213\270)*HQ\204"
+"\202\342ZW7\301A\34\352\42\202\16\202\bB\304^\26\241\342\r\305\242\24\254"
+"\210CH\323\242\77\244U\210\361B.o\207sI\215}\317\231\225\234%o\311\303"
+"\367\365\34\316\177\376\23\221\306h\214\377|\364\257r|\31\22\21\221\343"
+"\357\7|D:\'n\305\335\215F\0d\3679\311\236\257\0\312\227\303.\263+\0\200"
+"\261u.\2633\17\0\63\235.\223*\2\300\374\16\2279R\6\200\240\333e.\1\0r\233"
+"\35\244i\2\0\60\355Z\240M\13\0\200\321\272\271/\377\263\30\34\25\21\331"
+"Zy\342\2503\t\0(\367\271f^\5\0|\214:\314}\0\0\2569H\257\42UW\253\307\312"
+"\274j\342\344\230\428\305Ik^\221\331\350\212\353\42\42R\331\322+\42\42"
+"\361\3405-3\240;e\232)i)hs\222\3777\243\232L\325=\1\313\247\255\77{vS\362"
+"\322\204\323\264Q\264\244;\5-\324\274\323\4\7Y#\2311\341\20%\37L8L\311"
+"\'\23\272\222\214\344l\332\317\310\254M=lFa3#<\245\263\316\33R\b\221F\262"
+"`B\254\203\221E\233\222\214|\367\223\237~R\260)\301HmD\374U\342\214T\375"
+"Uj\243\315OJ\214\264\331\364\203\221\310\237\213\270\22\251=\304\337\30"
+"\211\331\364\205\22156\315\371\253d\331T\263v\333\255e\244h\304<\333\336"
+"\253\355\273\364-#\35\66\275a$i\323sF\354\233\255\364\202\221\355&<+2\322"
+"e\3028\335\193\347mL\264\243\356<\374\273Q\312\204\273\264\317\25]\344"
+"\367FJ\2464\271GE\242\242\t\177%\235\361\236-2\256\311\1*\332\365\301<"
+"\311\213\f\353\227c\212\212\346\214\42\267y\221\23J,\3625\tM+2\310\213"
+"\f*\361\220\213\330\234\332\325\tN\256\253[E\77\27{\325\332_\340b\203z"
+"\304F\270\b\77\2\0\244\35\367\277\253\0\200\261V..\2\0\36D\2708[\5\200"
+"\33\216.\347\253\0~\r9N\306s\0\220\351\363\335w\357\260\303\304\\A>\17"
+"\245\335\27k\334\354N{n\360\353\33\77b\376\355\261\4\316E\224\231g\177"
+"\316\346\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0"
+"\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\262"
+"IDATx\332\355\226KHTQ\30\307\277\31a\42\24\235\24\n\324\206J\262\247\201"
+"\24\25\275\6*\302\224\26\225\31\321\316\314@\211\2#\252\205D.\2\213B\244"
+"P\n\4!7\6.jQ\13)\32\f*\260(\25*4,\37\65\223\244c\216\371\374\265\270\367"
+"\234\356\230\351\235u\367\2779\337\343\376\317w\316\371\376\347\314\210"
+"8p\340\300\201-\304\375#\276\247\324\77\324\37\323D\365\300\364\365X(\345"
+"\0p\312>c\301\240A\351\266OY\215\211\344\331\262\356\331\202\21s\234\374"
+"i\277L\247Q$ \266\253HC\324`\13\276\t\200\341\2449\77\332p\247\345\311"
+"\245x\3556\1\324jwIe P\2652\232ql\34\240#U\3719\0\233\224\227\331\13\60"
+"\262\333\312H\16\33\373}\351Q\355\357\203v\225M\372hd{=\26J\276jD\265\212"
+"\334\206+\312nT\331\355\226\23\323\233(\3157\215\200\310S\323<\255b\262"
+"\320R%[\315C8\313\210l\4sc\3761\225\233N\265P\\-\232\363%]DD\226\203\261"
+"\362\365A\235j\214:\261\364W:\321\231!\42\342\3\243\332W\235h\236\321\246"
+"\270#\r\357\315\25\f\34\322\24Wq\304\210\215\266\325\345\271fi\247+\315"
+"_R\377\rh\362\31\224\265\315\300\247\332\242\255\213\347\276\220y\317 "
+"R\261\n\274\325\23\360\320oKa9\35\20\202\20\264\356\260\253JO\331\17\200"
+"\376Bw\fJ~\0P\347\265M\360^3\317)Tb\257L\302\271\20\264\26@\316\7h;\32"
+"\67\337\367i\207\357\16B\250\320\355\3\361\224\rAw\345\276\31\217\206\356"
+"\317\242\375\331\31\276\f\257\210\310\2753\3\342\353\26\227Hz\335^\21\221"
+"`gOW\353\243\360\214nT\214(]\214\27Y\4\343\276\372G\260\27\243\333\177"
+"Sg&\16\212UcrAg(\2672\226N\352\370I#\222\5\211\206uC\247\42\t\26J\201\16"
+"\327\230\221\\Xg\256\371\261N\356\262\334J}\335\336\2365\215-\42\233\r"
+"k\352x\217V\205\245J\346\2641\315\360\32\25y\r\367\225\275\323\274\25\277"
+"R\254\233\251\1`\354\200\362\263\200Q\255\227\23S\0\\\216>\344\363}\360"
+"b\233\366o\1\224j7\367\35t\25\377\255\254x\213=\f\320niDB\342<\272)3\26"
+"\357\217\341\31o3(\365\366\31+\314>|\267\377\373\242\336\370\224\24\333"
+"\224\317\34682d\177e\317\243\325c\7\231A\2007I\261\374WX\326\20\16V%\212"
+"\3\7\16\348p\340\300\201\3\7\377\'~\3\240\357\363\347\21\26)\34\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234"
+"\245\352\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\201IDATx\332c`\30\5\243"
+"`\24\214\202Q0\nF\301(\30\5\243`\360\1F\334R\t\32\20z\301\rr\f\336\362"
+"\37\2\274q+a\242\310\345\243\272Gu\217\352\36\325M\13\335,\f\f\f\f\f6\34"
+"X\244D\240\264\301O,\222w\36 \330\17\377\223\n*Fcl@\343\373\210\30\26)"
+"\3h\204_x\203E\362\301h-8\252{T\367\250\356Q\335\243`\24\214\202Q0\nF\1"
+"\26\0\0\244\26Ksd\346\240\317\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\1\35IDATx\332\355\224\273J\3A\24@\357nd]\265q\205(AH*m\374"
+"\0\t\366\242\210\245\245`\3477X\245\266\23\204|\200\217\17\330*E\4\211"
+"b\'\26*\370h\4\253\304\42dm\214Br,4:\263\336\265\24\2049\3250\347\336;"
+"/\356\2108\34\16\207\303\341p8\376\32\357{XZ/O%7\361\21JT\345\25\0\316"
+"\347~\312\35\6<\317\247\335B\377K\322\314\247\344\1\6\325\224\2745\345"
+"K\3641\351\177\312!32\\\261\345\243U\247l\313\330\222\263\366\232\341\235"
+"\271\350\205\235\331]\2766B\375\364I\303\315Fw\220y\254\335\364x\24T\1"
+"\16\225#HG$\21\21\271\312\250^\22\219\325\237\320o\1\255\234\236\2714)"
+"\42{==\363\fx+\352n\3`Ww\3056\320\214T7v\t\364WU7\\\3\330\376\305\3059"
+"\315M\234\0\324G47s\17P\33\325\334Z\2\260\37\250\16\240\267\345\251\233"
+"\t\32\360\264\230\3253\371\207\372tvG\25\274\377\376\'\274\3\372\230\247"
+"~\374\16\26z\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42"
+"\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0"
+"JIDATx\332\355\322\261\r\300 \24\3\321#BY\2056\22kdDZFa\227\324L\300\2"
+"\371J\35q\257\265%7\6I\222$\275J\0\355\n\322\373\1\62@\251A\345\48\276"
+"\207~V\311\0}\4\351\3648\222\264\267\5\372\222\4\322\365%\373\223\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0"
+"\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\231IDATx\332c`\30"
+"\5\243`\24\214\202Q0\nF\301(\30\5\64\0\314(\34\1\306\778\324Yo\376\366"
+"\377\337\305\f\26lr\365\377\376\377\377\377\377\377\377\3\374\230r\231"
+"\377a`\33#\272\234\300G\270\344\177\77\230 \23\224\366\347C(\214E\2274"
+"D2\305\0]\22\331K,\350\222w\220$\357\242;H\361/\302A\331\30^\231\t\227"
+"\273\303\205!\311u\4*\367J\27K\bqt\177\375\377\377\377\337\365r\b!\344"
+"\320\340\263\221yw\374\351hb\34\5\203\37\0\0U]N\332J\336\f\351\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\262"
+"9\177\217\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\366IDATx\332\355\226"
+"\317KTa\24\206\337\271::\214\314D2\375`\240\2\211\26\302\254\4!H\210\b"
+"\202\bj\221\210\326\237\320\326\377#\b\4W\202\225\t.l!\344Fp%\b\201 \f"
+"\4\342\42a\26\42\25J\42Z3O\13-\244\346\276\247\242U\334\263\272p\37\316"
+"\363\335s\277\373\275W\312*\253\377\266r\346\336\223\232$\215\33\242\270"
+"\7\260\246$\35\271_\222\244\27n\r\13\0\315\252!*G\0K2\242\341\274$\315"
+"8\317\n\300A\331\20}-\2009\31\321h.\364\324\1>u\33b\0\200I\31\321\230\42"
+"O\322\0\330JL\227\233UI\232m\231.S\0\324\fQ\330\5X\77\221\266E\356\225"
+"\303\241\314\3\64\257\30\242\367\20`YF\364\260+\364,\3\34\366\32\342r\23"
+"\340\265\214h,\t7\355:\300n\301\20\65\0\246dD\217\25y\222-\200Fb\272\f"
+"]\n_\362$\0\3\206\350\376\bP\77m\376\31\271{6\34\376\34@\253\317\20\345"
+"\3\200\25\31\321pA\222\236;\317\22\300Q\305\20\325&\300\202\214h4\t\237"
+"g\r`\257h\210~\0\246eD\361\227\234\333\4\330\3564\310\r\0\236\272\305N"
+"\0\60h\210\374\16\300\306/{\354\324\365\235\212$\275t\236Y\0\256\32\242"
+"\264\17\260*#zP\f\207\277\b\360\345\202!.~\5x##\32\351\b=\253\0\373%C\\"
+"\3\240]\223\37\242G\n\347\266\1\260\2237\304 \0\23\256\3113\0\256\33\242"
+"s\33`\263m\260\237,\367\366yIz\205\3512\r@\277!z>\3\274M9\266\216\263\277"
+"\'\34~\234\375\347\276g\177\272h$\37\236\30\177\222\375\251\242\343\354"
+"\267/\371\35\300\207\256\337\313\3764Q|bt4\0\336\'\246\313\255\252$\315"
+"\374\303\354o\277\335\316\214KR=\373\225\316*\253\277\257o\257\312\77\211"
+".[*T\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b"
+"\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\227IDATx"
+"\332\355\230]HTA\24\307g\257\233\272\353\327\372A\246`hZYT\230\305\226"
+"e!\24\24AE\345\203\30\276X\372\332K\321C/I$IPX=$AD\6A/Y\206\241\31\201"
+"E\237\240\371\201Y\226\342Zfi.\353\266\272\353\307\336\36\356\234\231\271"
+"\367\316\354\356\225\36\357yq<\377\371\335;;s\346\234\263\213\220i\246"
+"\231f\232i\377\323,B!\';\25\5\307\77O\32z\\ru\263GVl\270\241\304\22)\266"
+"\362\346\214\314Z\177yDhl\215\32\223eY~\275><\267\256W\346\330\354\211"
+"p\334\201ief\360\321\2214\24\355\254\235\4\264.\364r\313\346\224i\3E\330"
+"\341\270\5\344\265P\334\241\5eRk\2\365\235\304>\371\234\230s\372\224)\317"
+"\243YoE\20\257\376\230\210Ks\341\243KV\373\353\360+\335\331\2\260\t\77"
+"\271D\343_\326\205\311v\376\6\225c\371\276N)\302\213\225+x\\\342OE\\\\"
+"\243\327\23218f\347\200\227\260\370\230\243\355\20639\253\327\322\361\216"
+"\312Gy\313\31\300\342o\233\360\20536\36x\1^Y\245U\342\335Xy\306\335\270"
+"b\0{\264J\25(5\374+\23\0\335\211=\22\376[\tS:\271\240\277\227\34\232Z\310"
+"%\27(\207\37\34\267A\377aQ\275\221\204\241\177\204\17~\202Af\241\n<\b\376"
+"\341 \37\34\42\243},\350\200\353\207\276\13\342\330EF{Xpg\24\270\307\4"
+"\3408\31m\2672`1q\377\21\2004\275\33272\240\223\270\335\2p6@\206\205\f"
+"X@\274^\321-\247\302\6\nf\246\20o@\4\316\320\4J\301\325T\237\26\201>2\312"
+"\243`n\4\t~\201V\b\13\1\263\230M\20\2012MA\313\t\230A\3659\21\310|\206"
+"\25\4L5VSS\b\230d\fL\42`\2341\320N\300\4c`\42\233\1\f\367\rK\1i\0,,\25"
+"\364i>8\317\2424G*!\204\220\207\251L\42\60^\23\266\22B\bM\31[\245\207\200"
+"\314\265\217\25\315\266j\262\201\244\311P1\42\60N\223\177$\204\20\32\215"
+"`s\350\23\375\23\4\34\244\272-d\2341)VB\b\241/4\13\13\243\217\n\203\314"
+"9\16\251#\237c\16:\354c\262\\\247\372\256\211\356\240b\37\31\360]X\220"
+"\271\353\357\31\260C\235\268F\375.\27\3v\221\330\311\20\200\231d\364\202"
+"-:\213md\251\202m\245\335X\233\252>6\21\377*>HR\357|\213\372\224\376B\251"
+".\343\203=\240\267\250\233\7\357C\230\301\357\276\243\363a\324\250Qv\301"
+"\23\237p\301\255 O\350b\262\23+\36+\17<\3\340e\235t\34\244\275<\360\25"
+"\26\3\372\343\212\352\307Z#\207\313\203\206\365:G<\2145\77\'\6\352\341"
+"sp\3\253\25\2537tJ\26|\3679\315\77c\257\242\316\27h\225\7\230\373`\345"
+"\37\62t\220\335v~\263\356\313\27\335\362;x\306=Ua\330\346\13\35T\b\241"
+"\2307x\312]&/\357\200\26\2706T\311\2040x\t\335\247t\312\217]WB&iG\7\264"
+"\346\365\233-\b\245Vv\343\377\203\347\303\244\367\230\6\322\362z\276\215"
+"\322qi\370\312P\372K\377\275\363iv$5\305q\321\243\306\336\356\217\264\34"
+"%T\267\303\226\310_\257n1\364;\200m\323\332t\tM\215\364\215\231\277\225"
+"\230f\232i\246\31\261\177\211\227\257\25\2336\241\232\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\22IDATx\332c`\30\5\243`\24\214"
+"\202Q@M\300H@\2369\226\215\341\345F\322\315e[\371\377\377\377\275\244\353"
+"S8\376\377\377\377\377k\260I1\341\321\306Yz\331\202\201\201\201\341\3\66"
+"I\26\234\332\370\22Kd ,R42\333\306\204\363\3008\37\211\325\250d\355\352"
+")\202\304\377DH#/\257\260\214\274\252\266\241\30\232\232\317\4\202p\332"
+"\177\34 \234\324P\205\201/\344j\374L\256\306\337\4\322\252\206\f,\6\231"
+"Y\244\254\374\231\341\22z\227IIm\21\210\300\321%-\235>\200kT\42\315\217"
+"\b\367\375!M\343\33\374\16\302\255\361;\271\32\31F5\216j\34\3258\252qT"
+"\343\250\306Q\215\243\32G5\16Y\215\254\210\336\13i\32\5\340,A\2224\362"
+"\331\300\231>$\370@\42\342\22\242M\376o\246\5\7\276^\300nX\257\211\227"
+"W\202\17M\331\277\27o\177@\373f\233\'\241\233\361\23780m\310%\200Q0\nF"
+"\301(\30\5\203\4\0\0i6\210\323\314\223u\323\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\3\203IDATx\332\355\230]HTA\24\307\307U\327"
+"4\277\362\13\263\3142%\22ER,\265\302^2#\242\17\202\374x\351C\22$!\213\310"
+"\42\23\302\352A\bB\254 \255\207\236\202\3124\5\225\354A-\225J\321\207("
+"\3\61\3\313\365\243luE[\367\337\303\335\2753\273wFw\240\207\36\356y\232"
+"=g~\367\314\2319g\356\271K\210.\272\350\242\213.\377R<\4\372\200\215\221"
+"\301\204\314N\217~\227\0\67\37\310J\213v\3740\367\365\264uX\335XB`q\37"
+"\\e\272:q%\314\377\352\24xb{\221\264,w\360+D\362\247\312O\210\371T+s\26"
+"\233Kw\2575\20\22\232Z\364\314B\321\301x\1\27\334\251\4T\36\306(C\313\315"
+"*\3713\203\313\5\365\3\0\236F\270\350c\272U\322\274\203\303\31\333\1\0"
+"\25\332\363\361mVIS\234\26\254\2\0\334\342\255\305oP%{\275\\\215\273l\0"
+"\320\312O\244d\253J\226\271\230\f\357\1`~\203`\337\36\251\340L\230\263"
+"\345\20\0\240FtP)\364P*\235-\255\0\200T\341\21\17\251\340w\247(C\254\0"
+"`\366\20\202\367\251\313\275\366\340\b!\204d{\22B\310o\b\301~:\314f\301"
+"\24B\b!Q\205B\227#t\230\316\352\33\355\313\370\220o\344\203\333\351R\'"
+"Y\375\33\32{\21\327k\22S\'\276\214~\220\321\327\254\340\21\21L\214\26f"
+"Nq.\7\fa\306^\f\370\203\235T\316\1\331\224\232c\300\217\354\244\4N\tl\245"
+"C\313\f\3v;\315\332\304\211\221\16\207\331s|efg-j\213<M\223\13\n8_\313"
+"\314\302g\r\270\337\233\216\273\234,\341\23t\273\273\264+}I\255K\353\234"
+"M\373\26\324{0S\273\247K\24\354t5\346L*\206\371|\255\303;\314\361k\315"
+"a\25}\26\313\247j\316\226F1\227\353\210Q\342\215V\3078<%\301\2453\21\276"
+"\363t\23732\25\260\270M\302\341Mf\241\227$\270=\364NE\203\207\373\\\344"
+"\30\345z\374$\2\354\240\\_\210\304B\37P\256{\215\4WF\271\226\325\22\\\201"
+"M\345\36zKp9j\342\333.\313\364N\231s\16n\366\250\f\227\374KM\354d\31.\336"
+"\344\340^\207\313p\353\2779\270\333^2\\\370\27GxyR=e\320\200\235\33J\224"
+"\342\374\336\332\271\372@)\316\330\246`\326\213\313T\3\'r\317\'\312\333"
+"z\352x\273\306Vm$\244\276\205\377(\303c{\317\27\313y\367\0\300\31A\313"
+"|O\341\232\28\306\303\0p\204\17*\255\31\356ro\245\353\0\300\357!\313\25"
+"\356\32\377\251M\0\20\307\263\234S\212\341\254`+\307\0\300_X\200\326\323"
+"\242<\4\0\13\307\220\261\0\0\326\23\242\263\313\5\200a\255>\326\4\0\266"
+"\223\313\277\13z\265\t:\b\0\266B!\267j\22\0\32\64\t\323\b\0\266\22q\226"
+"\235\7\0\324\272\252+\1\0\27\304_a\5\312\25t\303%W\217]!\204\220\1\63\77"
+"\241|\202c\262\354\3477\341lI0\303M\311c\273\16\22\370\334\337\335\242"
+"3\261\240G\335\26\267\253u\234\375Q\n\367\205\375\22\332\271\340>g50\375"
+"\306\250\204CG\243i \204\224DK\\H\343\f(\323\27286\225\30d\77\343\307\365"
+"\1772t\321E\27]\376/\371\13/\363\270\31\226\37qq\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3\331IDATx\332\355\230[HTA\30\307gW\323"
+"\322\325]\274\244\353\245\264\24\rT2%|\310\264\22\24\304\320.\226X/\22"
+"\22e\366\220 A\371 \242\344\345\245\264\207\312\7\21)B\355B\204\31\212"
+"%\232\224\26R\251\225\226\226\272\225\353m\335\325\274\254\323\303\361"
+"\314\314\236\231\263\273\'z<\337\313\316\316\377\373\355|g.\337|g\1\220"
+"M6\331d\223\355\177\232B\244\337+@\253\2`qj\\\7\355\7w\'\'D\373\362_\f"
+"\375\335\255\235\253v\204\240)\34\204B\373U\25d\13S\225\30 \313Vn{Y\345"
+"\222\'\240\230M\247[\231\250\322u\316\311\330|a\237\217\2(\374S*\306\21"
+"\271^\42\30694p\36\39*\334\351\224\277\200\320\353\42\340-\b!\204\246\363"
+"\216\226\335\2218\374KL\356,\204\20\302\271XJ\2102\241)\212fp\333\270\220"
+"N3\244\2\64\344\33\306\262\327s\222\13\3t\232Dd\6%\6\256rJ\22\353)\212"
+"\21\370\\4\234\205l\326\36D\240\331O\250\265#\255\222~\16\345<RO\t\265"
+"\31\274G.\323Cv!\261Z\240\270\21\233\313\244\241\300\273H|\206\242\340"
+">\324\204\227K<\5N\243\226V\0\232H7o\n\\\300\307G\0\316\352\b\2679+\347"
+"g]\0\202G\204\330G\271\273\243\326\274\20\254\372\203\264\2161:-\240\326"
+"\244\20\34\316\343\223\2221\217\16\320\37\265\6i1\235;>C1\214\'\303\'\353"
+"0#\3139\247\304i~w\265\257\321\234/\232\272E\255AJ\362\315F\3\326I\313"
+"\332\17yn-B\22\27\264\312\2035\322\6\254\347\271AWI\\\6\317\351B$q\207"
+"\370\\\3655T\n\266\345\352\312\6\367\324\323\226\2572$&J\353\16\0\0\36"
+"\211\327\370<5\225\253\260\305E\16od\237\231e\264|\206R\215\355\340Z\251"
+"\373f\250\200\201)\251\2360\352\24\77x9g\317t\2640\356\270\241B\17\333"
+"W\371\216\232x\3275\375\342\3422\0\236~NhwWW\350%,\206CL\261\216\37U\237"
+"#m\277\271\226\231y\264\321M\32z\4-\313[oid\16\232\244~\365\77\236G\330"
+"\244\220\4\206\256\212_:\326\255\31\201\23\233\371\t\267\13\\\313D\267"
+"\323\217>)#\252p\254=\322b\355\305u\322\306}\205\212\232\340\314H\'}\333"
+"c\221:q\0\245iE\302=Rp\254\344\202\371\34\313\6\213\360\206/\263\330\352"
+"M|\267q\17\23<\203\301\373tU\305m\16%\13<\211\35:\210ng\35q\366\16\260"
+"\300T\254\367\21\31 \305\227\360I\260Q\201+\211\217D\322g+\13\304W20\22"
+"\340.\322\207y\217\251\251\nD\t\0\0>\244\317k\26HTb#\4h&\\F\236\260\300"
+"p\334\374Dt\267\21e\325^\346:~\301\36\304o\200;\250w<\216\311\5`\356;9"
+"\271\357\370\352\2476\212\275\371\211W\207\6\262\177\'\367c\263\373\305"
+"\16G\37.X-\357\272W\20B\bk\305\270$\34i\275\245r\34B\ba\247\b\347\370\36"
+"q\306`\301\216\342\206<\312\6+\361\200\27\205Z\204\tB\b\227N\260\270\374"
+"u\3045\322\3311\213S\353\264T\234\345\230\353b\275\\\234\343t\323\315H"
+"\213\356\224~\34g\233\212\371$\307\370\352\342CyZ \227\n\343\213>\22\7"
+"\365\206\263\310\344\205\367`\247\245\261\221\221)\213\273u4\315J\271\221"
+"3&\366\332\251\277\342b5}n\312zaf`\335\271\256\266\337\312\375S\17\306"
+"m\'\276\177\353mo\31\265\367\177\0u\230V\253\6\300<\377sb\330\0d\223M6"
+"\331d\223`\177\1)\264\311\345\2610\24\263\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\2^IDATx\332\355\227MHTQ\30\206\237\231\3538"
+"6\370\227\21M\31ZXPA\321\42\202\240E!mjS\273\222\20j\23\202P.\nZ\264h\21"
+"$\201`DEe\201:#\3212#\250V\321&\202BZ\24DD\2332\204@kL\'\235\267\305u\274"
+"\316\344\314\334ohar\337\3257\347\314s\277\367\374\334s\276\13\201\2\5"
+"\n\24\350_*\344\347O-\255\300\300/\363\303\243#\222\24\263\273\352\225"
+"\244);w0#I\243f.>*Izo\236\275\307\222$\275\264\202g\\N\317\214\334\316"
+"\2519p8\257#\\\234\213%\243s\321\204\r\354\331\232\215d2zX\363\352\267"
+"dl\354\363\342\237\6\320\31h(\334Y\f<\273\277\274\27gwZ\13t\335w\306\232"
+"D\244\330c\13\203\3276Q\26x\254\35`\334\fn\270\1\60\333i\5\235D\35\300"
+"\245\347\326\31\275(Iz\3414\25\234\325\305\265wF\222\2767\323d[\216\372"
+"A\7\340\324g\353\254\336l\6\270\375\300:\300\23\222\244w1\260Y\335|\25"
+"`\372\350\244q\3T&\253\1\316\215X\215^\226$=t\357\6\303r\264\316J\322\227"
+"\325\224\0\363\255\256\352\17\3\231\366\261R\t\362\301\273\353\0\256XO"
+"Q:\334S\2732\373\333\357\30\267MJ\322D\13\245\301\34\253UC+\0:>\372\360"
+"\226\3v\357\0\30LX\7x(#I\37j\26\64\371\262\32\357\13\1\351\266\37\276\262"
+"x`\350\336\32\200\13\257\254F\273$IOs\313\20\37\313\341^\204\337\342\370"
+"\4\263VcCQ@\'}\327\bY\260g\13@\357#\353\0\217H\222^G\363\333KY]\177\7 "
+"\3256\355\77U\30\300\351o\08m\256e\316K\222\356/\322S|9\334\213\360S\275"
+"\t\254\200\352d\4Pgh\345\337`\235WB.\350\375\355\26\4\333e\325p\351:\247"
+"\274\342a\211\201\25\60\326]\270\273\266#\33\275y\342\265\372\330(Me\324"
+"9\313gV\227\17\350\235\262\21\33\350\325\326\3656p\337|\264\247\306\377"
+"0\42\273zf\274\267\367\355\361\306\222_\254\33oAmU\303Z\'\257=\365u<\225"
+"\346@\341T\305\17\223\377n\3\4\n\24(P\240%\242\77\367;\274E\31\206\16V"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0"
+"\0\0\202\265n\256\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\303IDATx\332"
+"\355\230KHTQ\30\307\277\321\321|4f\331hc%eZPV\204\225\tYTB\210\20E\201"
+"a\326\306\242\250\254E-\252E\255\302\210\254U\20\21\24\22YA\5f\224\13\21"
+"\37\321\213\36\66\331[{\250\231M\17\65\3635\216\377\26\63\336s\356\235"
+"s\356x\'\332\335ou\346\373\316\357~\347\236\363=\356\31\42SL1\305\24S\376"
+"\227\204\257\266\5\232\262,W\244\215\303\320\263\323\5\251RjBQ#\272E\206"
+"\351\0\0\374\254,\316K\13\327\32\223\267\336\354\7P;\362\333\302\331\346"
+"5\260\261\347\363\347VWg\177\'\210\254\266q\216\244\264x\257>\277L\364"
+"\2\b(\217BF&\207p`l\300\355\363\354\32\16\16<\366\220D\340\370@\\\371\21"
+"\n\n\274\225\347\21\203\23t1\234Z\333/1]\322\333\317\267\331\362gV\2\300"
+"\240\20s\26Z5\223\371\337qDD\5\316\314%\351\252\300\31rV\336x\350\347\205"
+"\217\234\226)D\264\274\226\210\302\222S\223\3546\33\321\257\357\355o\33"
+"{\3\355v\37\0\244\30\317\252\261\0\200\310Q\316\346\216c\22\21QW\237q\320"
+"ND\324NAzl\13\2L\370\'\217\301\200\211DD_\202\0\343\203\5\23\211\210\276"
+"\6\1N6\344\221I\250[\238\261\343\307\350Lg\331a\267*\2013s\305\3429\323"
+"\354!D\350\370\360\356A\275\23\272\36\27\2\300+\242\371\307\337k\222\361"
+"\323\311Yz\340Z\0\270\277\253A\224\307\303\25\13\344\340N\335J\3549k\223"
+"\355\352\24\265\241\263G=o\333\223t\211\307Re]\365\207V9,D\326\224\rg~"
+"pN{r\204\\\212\313g>\231\314i#w\273\309\270F\324\373\336y\215\245\16\215"
+"!\3766#\377,\366\7/{M\233\5\201q\236\221\37\306i\255\363|\226\30QH\225"
+"3\362\202\326\270\337\253\177#n\341\255\354@34\307\341\363T!\4\177\356"
+"ce\270Xc[\17\0\350\233&>)\313S\266XM\bY\253\1\f\346\313\242j\13\3\317i"
+"Z@\370\246t\327\225\32720\372[\324\310\360\207\303m$Yo0\227+\374\33\253"
+"\216T\263a\226!\360\1\33f\30\252+1l\251M\306*R\7\13\365P#K\245\16e\24\66"
+"QS\254B\346$\f8;e`\27\227j\352H\336\333\2\300}]\326\220\271\344\232\313"
+"\353\243*}\332\356\345b\260\202\201|\242[\330\1\273\354B\260\206\201|\252"
+"\347s\245\245X\b\336c\23\428u#\7\276\24\202M\212\235\357\331i|\5u\313\77"
+"e\0\0\365\\\310\251\242\310#\342&\263\365=\346\300$~N\263\b\234\315\206"
+"w9P\325\215\256\212@V\305=5\234z\17\367\212\317\205\227\226;\212\275\212"
+"W\3470\256Vx\214\321\275\312\204B\325\25g\330\247\355;d\25\356);\347vu"
+"\244\326y\265\255i\222H\255R\300\3j\303v\257v\243\204[\244p\315\21jK\344"
+"\27\0@\226\244\254\326)\205\334\257\323\355\0\0\\\24\203E\212\303\22\331"
+"C\17\212\270\354\1\345(\302\374\255S\277\1\0\2569\374,\205J\230\336\215"
+"\22=7\263\307\333\220O\315P\255d%K\304r\311}vi\227o\3\356\37^\31\347\375"
+"\270\313=\301\262i\350h\250\254\36\315~\305\2\250\253\251\251\271\227O"
+"\266\27K\364\256\1%n\311W\316\307B\253~\365L>\373\333\237r\337^g\35E\255"
+"\337T\326\312C\317\316\345\211\357\243\26\201.~\326T{\4QoO[K\363\200\371"
+"\367\210)\246\230b\212!\371\13\375\n\220\261\22\21\323\371\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265"
+"n\256\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\371IDATx\332\355\230YH\224"
+"Q\24\307\317\314\23055\232Q\n\266\227\266\23m\264\27Q\264\200\225\26D="
+"\364\20\202F\264@\364V\20\31\25D{\320B/\25\266\323^F!-f\253c\205\224V6"
+"L\246\251i\231\251\3452\352\314\355\301\357\236s\277\357\273w\232\201\36"
+"\277\363t9\377\373\273\337]\317\271\367\3\260\3142\313,\263\354\177\232"
+"-\250\32\638\276+@}\205\267%\214&\7\255\277Q\3014k/<\232\24\31\22\345L"
+"\313c\6\373\276\243\347\277\261M\325Lb\277\326\5\37\30$}f\n\313\212\16"
+"\366\271\23X\257t\377\242\376\16\260\367]r%\240y\334\335\225\\\337\327"
+"\34+Z\346@o:w\336Q\365vD\31\237\310\fq\32m\779\231&\347\22+5\275a\201\316"
+"\37\333\302\301r\351\262\304z4\271q\232^\330C\23\224\42\341\349\232\350"
+"O\326\13=~\23xD\2fpq\247AX+,\311#37\276U\323\336\31\307\221%\200\5\346"
+"\216\276\342\332\34\243\344\21\300g\35.;\251i\23\264\302\375\207F\320/"
+"\224\77\30\305\250*\336\346|Sg.\t_\\j\24\267\340\2161\217~1q\305\21\6\315"
+"\205{c\275d\276\257s\261y\212Q\332\300%\237\354\33093\265}3\313\24B\212"
+"9xW\276\31\'\35\270\357\276\234\336\315\344\237\303\202\3654\210e\428*"
+",\316\331\300\271:{h\204VmA\24w\24\4\302\2\3514\24AX m\226\342\260\300"
+"\221}\320\3619,p\69JC\4;v\236\260\217\276b\336\230\77s\364\240XgsS\231"
+"\307\235\363\206\311\361\2\\\305&\3153\371b\213\30\211K\266\307\311\270"
+"NmX\303\3\0\0\3\256\231\202x\323\276(I0%\375)\0\300\312zY\374/7\237\323"
+"\24R\257\0\330\366*2\207\177\263\362H1v\34\34\247\231\322\16\332\364\263"
+"\332\217\332\250\266\35[\5\0\0eY/\274\265\266\236#f\'\273H\335\330\242"
+"\377\350)js\303f\306\30co\223q\257Gom&9\260L\7\336&\345\\\2001\26\330\251"
+"\13,\243JH\257\355\'*\217\365#\t\244\32S\337W\335\354\221\271\365\340\26"
+"\323\264Oh%u\272\340\177\253\343\262%\271s7\3117T`\333p\331\205\207\322"
+"\225\177\2401\5hv\376\243\4\254\313\244\363\264\202\334O\305/N\225\36\203"
+"\231T\3419y\357\t\\\251\374v\340\300h\306|N\354j\275P#[~\362\374yX\214"
+"\34\207`\225P\343\271\342\304\277\247b\2\202\25\342\f+\300/T\34\210\240"
+"\30gT\301\252\206\212\335\20\24B\242\357\227\2\374M\305h\2\333\321\371"
+"G\25\325\332@_\307\16\0\320Lk\336\250\2\273\310@\240\271\356\254LKT\254"
+"\42\60G\77p\231\ty\272\230\300\7\270\352.\227\2\2143\\X:\300on\364\16P"
+"\335\355\211\373.\234\216\253\350\36\255\0\207b)Wt\367\306X~H\316E\372"
+"\230\374\376\204\27\231B98\r\271\352\b\335A>\214!m\230\24\234\207\245\223"
+"\355z%\227\267\270W\nbt\361\305\33\224\31\374\205\360C\222\225`<\366\364"
+"\250I\273\300\245\f\tx\26_;\275\314+\\\3033\341\20\2236\326\317\301\325"
+"\222VSxg\363\273\32\363\375K\316\335\224N\300.\f\363\21\212\307\203\247"
+"\227\374\21\212#\271\245{|m\303\227`\242\352\n\202\23\344\231K\217\230"
+"\313\334Y\251\276\37\332\367\341\264\77I\355\r\0\235&\35\300\340\377!!"
+"\330\275gy-\305\346\237\336\22\341\316r\306\25\374\306\24\177. \313\376"
+"\336\205\377\276l\2159\337j\304\212RC{Z\307\255\311\242T\321\226\277gb"
+"\30\377\1\354\211C\373\304\0\324\327x\77\65Z\177K,\263\3142\313B\267\277"
+"!\326k\275\270AB\302\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\267IDATx\332\355\230\315KTa\24\207\317\330L\316U\207\361c \264"
+"\20\23\241\300 \372\262\324\202\300\202\260E\213jS\241\264\260m\264j\23"
+"m\42\t\354\17\2106n\202@\212BC\372\42\210\2\203\300\204\254Ee \230\332"
+"\42\35\277rj\234yZ\334\231q\276\356\365\236K\313\373\333\314y\317\341\341"
+"wxyy\317}G\304\223\'O\236<\375Om\312\4\27\266U\33\22s\f\372\322A\375\244"
+"\210\210D\347\243\13\13\313+\363\261\325\345xlU\22\213f\325\37\222\n#T"
+"\25\256\216\324Df\16\210\210\370\323`\203\371SY\271\241\327\234\210\210"
+"\224\344\201\16D.\270\3351\370\42\27lt\312%\357\270lu\370[\356z\22\207"
+"j\313\345\2k\16\271Wy\r495<\226\2\374\271\233:~\345C\324\210T\5\313\303"
+"FY8X\36\362W\372\202\206\210\210,\307\33\367\211\310\373\227y\216=\0D\353"
+"lv\3459\300\251\374\354M\0n\331p\355\0\37}\371\351\373\0\64\333\200\317"
+"\0\316\25\244G\0\276\333p\255\0_\375\5\371\31\200\2736\340S\200K\5i\3\200"
+"\363\326\334!\200\351\322\202|3\0\66\307n\30\340Za\376$\300\2245w\20`\251"
+":+S\222u\304G\254\301\353\42\42\375s\205\205>\200\313\226\\\13@\242\251"
+"H\345!@\213%\370\4\340q\261\312(\260\22\260\342\366\3p\264\350\5\4\274"
+"\2664\34\2\30-V1\246\200^K\303$@W\361b\270\245\273\331\326pv\263\372\262"
+"7\ro\350\247\304\20@|\253K\303\7.\r\351pi\370\305\347\322\360\252K\303"
+"\370\26\658\b\300\240\232\333\233\4\340\254\32|\4\300BP\313\3556\r\373"
+"\325\206\3\346\274\350\324r;\23\346`(\325\202\375\246\341\200\226\253\377"
+"c\202\335Z\260/5\22k\225\\\305\274\311}.Z-\261\6\273R\337Jo\264\235\216"
+"\247:\275\250\344\16\247\247\376n%x/\305\375\r\350\270H\f\273\275\261\336"
+"\234\356\364q\231P\202=\231O.\35\330\272#\35\315\352\300\365c\366S\5\6"
+"\316d\302\250\n\354\250\311\204\277U\340\351\365pQ\3\372:\363\77\301\35"
+"\202{\3526< \305\301\343\342\22<\342\26l\317\212\313\24`C\366s\'\240\0"
+"w\211\313Vs^=I\5\230s\255-)\300p\366\342\227\2\214g/\246\24`\266\311\264"
+"\246\325\261\254\370\235\352\16_\\\177\22\351\6Go\206\373a\250\300\322"
+"\267)nM;S\313n\307\0&Nl\374\234\317W\250\2556\361i,\351\375S\342\311\223"
+"\'O:\375\3\201_\0\20\372\347u^\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\4\17IDATx\332\355\230kHTA\24\307g\327VRZ\267\354\205Y\251"
+"i\42\325J\320\6F\3577X\330\353C\322\333\36\364\240/QT\364\245\350i\17)"
+"#\374\22\25AP\26\366 \262\262\247\26\25j\321\2030\223\315\312\362U\231"
+"\353\252h\271\236>\314\231\273\367\316\235\231\f\372x\317\227s\367\234"
+"\373\2733w\356\314\377\314,!\226Yf\231e\226\375O\263\311\22\316\330(\27"
+"!-\325U\77\376\341i\375\327\\\250\4f576\r\353Z\37f\335\f\0g\245k\273\377"
+"\225\233Z\n\42\253]mWb\21\247:AbO\207(\270\3042\274\353\315\301\271\211"
+"\341\2048\206\244\35\3662\262q\232\224\33\371\215\336\222\347\321\5\355"
+"\263_ \331\236&\341\22\352\1\0\240z:\27\357\266\23\373\337\342\21\177\271"
+"\267\0\0P\21cN-\356\240\344\207\b\21\230\3\0\0\276\4Qn\13\366\366\210 "
+"\227B\373\263^\374q\213\3605\243\314\271\2\0\0\370\332M\374\376)\330\344"
+".S&\231&\262d#^L\363\257\265\301f\27\31\324=\222\201W\250s\367\345\301"
+"9\324}\220\201O\320\217\340\300\3308\352\33e\340{\364Q\34\230\214\276\207"
+"\fl@\357\342\300\241\350\7\313\300v\364\255\34\330\7\275G\6\262\226\352"
+"8\320\211~\256\f\34\204\276\234\3\333\320\217\32/[9\324\325Tr\2406\232"
+"\331\16\61\210K\346:\37_\244\255\364\34!\327\243\211fS\370\304\360\240"
+"Fd\212$s;\315\25\230\22\366\37A\362\222\313\224\36H\33l\23\b\345Y\235."
+"}\236\307%C\356\321\304fA_f\32$\255p\242!y\230F\317\211^\302\366\316\250"
+"\206%\313\302\264\334V\32\312\25\257\325t^H\33ON\240-l\243\277\263C$\322"
+"_h\26\341O{\222\210\355\b\0\0\370\227KU5\241Q$\340\305\267\1\0\340a\274"
+"B\307S;d\362_\275\3024,\372R\222\277& y\244#\256\267\272T\315\367\313\332"
+"l\316\354\251$\207>\226\221\360m\205\222\264\257\254\226\242\227\325\215"
+"\366\2227Z\36+\307\6\354\255\1\271}\222\25\327\370\323\355\364\216\206"
+"\33mB\262B\330\333\360\203\210\371wE\20\327\252\7\1\1\231/\230\347nV\307"
+"\363\242Q\237\266\2756\223\31\346u\325L3\255\372aO>\364\225\377*N\216K"
+"\303n\326q\312\32\222z\325\330\345\35\306\274\247\5\327\222\333\374\16"
+"I\347\365{\230*\303\206\'\274\234F\3\63\205\243=\251RG\316\320g21xB\362"
+"\235z\336\t\202\307t\361\350V\32\363E\312&Fh\276\6\276\322\205\17\b\36"
+"\306o\326*\30\370+(=!l\232\215V\314\341)Z\223\t\246-\305w\233j\366\27\61"
+"p\254\246\0\2231U\2*\360\f\321Wm;!\204\270\271:/\266[\354\242C\3Y\247\353"
+"\225`M-^\3705\220M\277\237jE\372\254\257\346vB\bqtm\217\217\347\201\326"
+"*\r\364\261o\245\6\261\4\224uj \333I\364S\203X6\37\4\5\231\355\354\22\325"
+" \216\341\335`d\1;\233\2509\\\260\272\21q2e\32\245\2\67\321{\216\32\366"
+"\224\b\36WI5\225\244\337q\206M\f\202\376\276r0\203\336r\306XT\237\201("
+"l\330\2225\320\25\33m\f\217a\252\262TV\30P)7\360\211,v\232\231/\344b\336"
+"\340\26\310\264\360BYg\3\273C\315\343\262\352\'M>\27\314\255HM\265\313"
+"\322\215s7l\311+\314\274\24\326\345\310\207\2326\324\235\\\30O\'\246\323"
+"\263.\327\307\302\27%s9t\337o\235zv|\361z\275M\272@\275\242\42\17\277&"
+"=v\372\366\253\313\261;\247A\204\225lt\375\3658\357\2308}\334\310\360\340"
+"\357\316\312\322\373\5\37\273\370\77\200-&n@\237\356\204\374j\252\375\342"
+"m\266\376,\261\3142\313,\373\7\373\3q\352\177f\203\301\303\217\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202"
+"\265n\256\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\3IDATx\332\355\230kH"
+"TA\24\307\307VSWm\3254M+LW\224\324\210\220\242\207\245=\355I\245QZ\364"
+"\202\b\203\242\227\t\221\25\31$E/\242(\242\276U_\2\245\202\2442\5A\224"
+"0$J{\255k\224\232\333\303\225\255m\313\335\235>x\347\314\271\367\316uw"
+"\241\217\367|\232=\377\371\315\373\234\231\273\204\350\246\233n\272\351"
+"\366\77-H\303\237d6\205\21\227\315j\13\244\261\314\303u\203T\262\276\232"
+"\262D\377(\303\346f*7\367\203|\77\270\342\267T`\rS}`I\367\251\330\206\216"
+"\7\217\304\315\353c\25;\217\316\36K\210i\316\251O\314\3634V\233+\31\222"
+"*\rl\35\305|\243\313\235\222\363u\262\26\267\303-U\3516c\367\264^\311\375"
+"&^\314-f\334w\263\\\310\260IBK\250\2103\333\331lV*\245%^I\271.\340\202"
+"[\30wW-^c\332\32\265V\316\264\77)j1\316!\211=&\2454\16\316\330\35\321<"
+"\3161\365\254R\271\b[\275D\4f0\325\245\330\223h6\26:\20\42\\\3626\246_"
+"\222\373\367B\207\265\342\275:\311tG\264\344\31>\42\33\241F\223\30\4wd"
+")v\'{\241\307\205b\320\4\25Z\261\273\224\207A\222\306y\374\f5R\321P\363"
+"@w\365i\200\26(\255D`\26xmT\3\344\271\247\20\201i\340\35\324\n\235oP\312"
+"3\0hH\362\r:\241\24\231\r`\244\37\271\350//\346\28\206;5\333\bG\221\r\240"
+"\213;#\264@\324b:\200|\374$A\13DY\31%\b;\77\0Z\271\254\223Wq\361\355\260"
+"\362\nS4\246\210\272\t\215\3\360%\367\316\20\203\263p>\216\5\260\231;\27"
+"\210\301\345\262\350\205R*\237\2003J\304\5\177\302\367A>\364\330\365\202"
+"Of\223\b,\232\200\177\241=\333\303\233\263\bn\227\20\371\25\266\2m\357"
+"\17\356.\37!q\f\333\42$\35B\263T-\354j\267\34\234\213\264P4\230\276,9\267"
+"\316I)\375\333\301+L\307\352\314!.\f\226\340Cz\336C)\245eO\270\236)k\267"
+"\f\17\246\251\330(\35\350\23\303W\325i|\346b\344\317\225\13\373p;\256W"
+"\37\277G\304gI\211\373\346N\352\200\370p\205+\326\240\212j\331\325 \22"
+"\2156L\265\352\245\16!\346\256 \204\344\360\337\215\352\375\232\374P\300"
+"Y\363\t!d\5w\\\21\235\255\202\307^9\366\243rxF\273\271k\2678\16R\216\324"
+";\201\252\335\42\255.9\303\301\371\232\217\300\340\224\364\310\30b\267"
+"uws\337\275\42V\362\3048\2y\30\266C\207\317\3615\347\373u\232\256\274\361"
+"\374\4\'\31\241\330\20\320{x\25\214\364gx@=\362\200\250\373\35\208\23J"
+"5\1\215\324\0\317 ;K8(\303\204N\213\262\267\273\305i\25\356\245\333\277"
+"T\317\203K\16J\351@\225\360\205X\rk\223\243\224R-,\206\215\2\360\35\343"
+"\236(\25\343\33h\363\234\232\313\5\61O)\35C\227\221\352\205H\2562\355\231"
+"\352D\365\240HZ\246T\341\245\347\341\273\42\355c\6~\27\251\336H\7Y\272"
+"\271\331\252\224\226\342\330-Q\210\23\177J\302\267\261\352\300G\2347U1"
+"\215GL\331\240^\2664\4\326+\264\n&\334\22\3550Z\234\2\271\262\236]\34-"
+"a#\37\215f\271\260\215]\ro\305\237+\211v\341-\27~\231\271;\306k\234\377"
+"\355\254\306C\36h\206MVH\302\332\237d\220\377\32\327\232\b!$\252\240\32"
+".~\357\371\220\21b\256\322\3\363\374b\261\364\243u~\357\343\213uQ\227\360"
+"\352\350\77\60\332W\234\207\355\377\250\302\332v\31\375J\21\2057\254\34"
+"\262\327\225g\6\360\77@|\366\304\204Q\304\363\265\367C7\325\377\'\321M"
+"7\335t\13\324\376\1\355*i4\304\205gr\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\7IDATx\332c`\30\5\243`\24\214\202Q@%\300\210\302S"
+"R\372s\355\25v\205\276\27\376\377\377\377w\253&6\271\206\377\20\360\305"
+"\tS.\362\77\f|\220E\227c~\b\227\374\77\3]\322\22!\367\377\rT\214\t&\251"
+"\201\244PX\4M\3627\2621\277\320$\257 \311=\371\204n\351U\204\235\235\30"
+"^q\377\7\223{.\214\351\321\374\277\20\271W&\330\202\310\356\360\277\377"
+"\377\277\316\223\302\21\360\242r\277n\377\30M\215\243`0\0fT\236,\327\27"
+"\34\n5W|\376\377\377Y\207\0\66\271\350\357\220\354\360\0K\211a\363\7\226"
+"\221\356\363aH\236Gd\301&t9=\2442\341>z\231\240\213\244P\201\17M\222\r"
+"\331\30\66\64\311\333Hr\357\337\240\331\311\362\fa\347|\f\327\246\301\345"
+"\276*c\26\256s\241r\77\203\260\25\275\231\257\376\377\377\377\377\2449"
+"\3662\201\325J\345\307\331\33\243\251q\24\fz\0\0&J\272\243Tus\365\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0"
+"\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\206IDATx\332\355\324"
+"\315+DQ\30\307\3613\223Q^J\23y_h\274\277l\274\254lX\210\225\205B\t\177"
+"\200\215l\224\215d\313\312NvD)\331\260\226\227\205\225HS\212)\211\235\322"
+"\2351\314 s\277\26f\314=\367>\327\312F\335\337\356\336\3179\367\234{\356"
+"}\36\245\274x\361\342\305\313\37\305\247]\345\325\251\310\233<\260e\367"
+"\35\222[!\311\206\223\0\20\353uZ\347;\351Dk\34x\310O\326\355Vaf\361%\360"
+"}\317\237\3016\313\276\13B6\3745\225\331\247\222\b\330\3654\213\333\216"
+"\251=\251\214%\233\235\17\236I\357\367cTZ\266\77\fp\322\345r\360\315\215"
+"\251\313{\357o\364\362\257\32F\347X{\321\343\305\356\2710\254p3]*;%\16"
+"\3139\370)\262\3532;N[\352\363\330g\303+\13\62\241[\276\325\260\355\251"
+"XCj\264\206\361\364\254\215\355\326\273\311\276\206\365:.\306\265Ut\214"
+"\f>Z\320okR\307\255\13\227\251\314\205!\34\241\77\30\314=\3\230\372>5\r"
+"MC\251\244RJ\205]\276\323=\220\310\223\255\t`\317\245kN*\245\324\206<1"
+"h\0\26792\256\1\214\3136`\2G>\321\32\242@\254V\264\352\b`\216\210Vu\3\60"
+"\'Z\353\35\300\212h}\6\300\262\264\31\377\374\'`\316\212\363\226\0\342"
+"C\362\13\226>@\270\311\255h:^W\363\335K\252\374\277\367\204/\310\253\13"
+"\341_\361\301Z\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"=\0\0\0x\b\0\0\0\0d\234\245\352\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"\25IDATx\332\355\327_HSQ\34\7\360s\347m\215\215\245X\314\b\326`,\6\211"
+"PH{\b}\20\7\13\204\fD\322\b\24\203\42\306\20,\b\202\6\201B\321\303\304"
+"\207\311\264\207\376<\244\321\36\42}\250P!X0X\230\202\42\310(\244\210!"
+"%\213\341\326\332\366\363!\261\371\273/\277sN\17=\234\357\373\347\236\313"
+"\201\373\375\375.c**********\3776\307$l\333\314\222(\255\271\230\2X\26"
+"\263\266P\32@P\37\35\371\16 \250\275\261\2\200\240n}Y\6\20\323\246\256"
+"$T\207G[\257\257\3\bj\307\335Md\341\303\5\242\365D\267\261}\353\'\332\263"
+"\3612\242\245\351f\342Uu&\360\261\371q\17\315Z\256\256a\2735\322@\263G"
+"\302\31l\277\334\264\323\254{,\207\355\352\200\231f}\317K\330\276\3574"
+"\221\250\326\361\16\323\312L+\355\330\203WV\260->i\242\331\372\333\337"
+"\260\315\215\272h\326\25\371\211\355f\3700\3156\77\373\215\355\247\220"
+"\225vU\201yL\341\343%\235d\365\276e\203]8\247\21\77\205\343\230\226\343"
+">\372\307\217ta\322\313S;\373t\366>\347\234\250\326\221Z\336\266\254\326"
+"\205\211\23\22\32\240\374\342\214\204\6\200\371\0\207\2563\24\20,\366\352"
+"to,\77H\7\255t\357\215\345\261\317\334\251g2\245\237\21389\6N0m\250\206"
+"\307\215\34{Aw\322PK\257Z\270\6m\5\77 q^\243\373\223\17\13\330\257\364"
+"\233\351~o\301\370\233\215!;\335\333\6\77c\377c\330A\367zO\3120\2\243n"
+"\236\245n\26_`i\3524\207oz\364\13\277\300\233v\236\205\364\336\26\366\251"
+"n\23\335\333ol`\277~\315B\367\7./\32f*W\201\370_\203\360\276\306\30c\247"
+"\236\26%4c\316\7Y\t\315\330\241[_%4c\346\335\221\'\270\3353-0\'\241\377"
+"\214z\t\315\230+\244~\13UTTT\376\253\354\0\36\303<\343>\204(\26\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234"
+"\245\352\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0dIDATx\332\355\324\261"
+"\t\2000\24\6\341S\304\312\312=\\\310I\234\310a\254\2N`\21\b8\204\226\326"
+"/V\201\373\2524\7i\336\17\222$I\222\244:\35\0\353\24\355\216\364\275\257"
+"\'j\3\240\377\365s\353\32\3\0\373\34\355\222\247\242\346vm\31\243].\356"
+"Z\273\273v\336\321\256x*\222$\251)/\322Sl\241\16\341\260v\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\375IDATx\332\355\326_(\303Q\24"
+"\7\360\273\231\221\265\21\22j\24\32\t)E)\212\224\244\220\360@)\223\225"
+"\242\24!\17\344\201\304\203xP\344\201\360\240x\220)\245\226\224\264(Q\363"
+"\247E\213F\3767m\371\273\35/\236\316\257t~\367\367\244\356\367\375\263"
+"\373\333\351\336s\16c\42\42\42\42\42\42\42\42\42\42\177D\247\347\204A\214"
+"1\226vd8\361r\237\235\t\360>\233\256@\3\4\254\205\n4\0\330k\203\24h\200"
+"\213v\235\2\r\3608\30\243@\3\274M\247*\320\0\376\265|9\267e\370\5y\330"
+"\255V\323\275\276\313\215\275\2635\214\356\265\346S\354\357\372\243\351"
+"^]\265\207\275o*EF\1\n7\2\270\200\253\271r\312\277\360\211\77`\247BF\1"
+"\23\'\274\330\237YB\351>j\340\1\373\333\276H\272\17kwa\357\235L\242{M\303"
+"\21\366\337\3139t\257*\333\306\36l\345*\372\17\344\255\372\261w4k\351>"
+"u\366\35{wO\4\335\307\217z\260\177\35O\244\373\360\336[\354\277\226\262"
+"\350>\304\342\304\336*\247\177\250k\366\25h\306X\361\246\22\315X\266\203"
+"_\253\253\355\334g\207\264\234s\377oC\317\rw\315\343F$\27\306\327M\264"
+"\246\31\311e}\240\316\233\334\25\77o\253V\225\332$\217\324N\34\23\232\372"
+"C\220\214\250\2bsj\273\304\226<\36#\373\357\261}\32\212\245\331\204qIS"
+"&\257\5\31\363\222\201pPG\\I\n\326\3610\nX\213\210/\241r\27\37\373A]\305"
+"\264M\16l_F\342\211\13@\3475\266\256\16\342\n\32\63\364\214\355a\275\206"
+"f\223\247\336p\2516K\250O\320\364\215\354\347\\&\367\306\345\31\63r\357"
+"kW]\6\356]\361\2701\230{O\335*U\311\356\323\277\372k1\233{\77\2275\30\221"
+"\2265\224Q\214f-\23\21\21\21\21\371\327\371\1\30X=\25]Gy \0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0-\0\0\0x\b\0\0\0\0C2$\2\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\2\274IDATx\332\355\327\317k\23A\24\7\360"
+"\22746\315\2176\246)\25\24\245b\320xhii\17\212\5\245\212\301\203\77\220"
+"\332C\375\371\17\304\203\350A\20\317b5\340E\364P\24)\36\24\24EA\33J\365"
+"bz\261\212\25C\20Z\355\17[\33[[mkB$_\17\273;\263\235l\234\351Ma\337%\303"
+"\233O\206\311lf\336,\221\35v\330\361\177\207CL\4\33\66\256\367\5\13\363"
+"s\243\251\367\371\277~\265,z=\r\36\277\22\247kK\332\320\305I\210\221\355"
+"\331li]g\276\303*\362W<\305\270n\200\365/\316\346\227\371\17a\21\267|\325"
+"z\222\347\266\257&\2425{.Op>\333\274\34\327\317\1\0z\233x\252<6\317\370"
+"L\304\214\253G\0\0\347\227/g\344\23\343)\277)\177\33\0pK\234^8\303\370"
+"5\236m,\0\0Z\213~z\7\323\277#\302\320\330W\274RI\306\357\30)\267\376s&"
+"\32\213t\'\177\256\1=\265\303\310,DE\355\3171~\234\210\310ITo\364\371\36"
+"\264\bza\2205\333t]\3032\336\36\227\300\207\370\363\323\265\227wn\331/"
+"\350q\276\234\16MO\231zw\13z\216\265*\2524\375\326\274\27\4m\332\17~M\'"
+"\247yjR\320U\246\255\242\351\374U\236z*h\276\2\364C\377\\\365\312XT\21"
+"\323}\376x\370l\23Z\246\77 j\276M\337\231v\376\341\207\351\364\223N\247"
+"\210k\13Lw\313\317\217\223|\3\265\313u/\303\31\267\24o\345\23\271 \37\372"
+"\36\303\237\275R\274\227\r]\210Jqh\214\r}I~\236>f\370Q\231T\307\30\36\220"
+"O\272)k\3407!)\366\245\f<X#_\274n\3\'\203r\334n\340\347~9^7\243\343\273"
+"\345\n\305\350\231\216\273\34\n\245\353\224~\370\305T\352\\\245v\364\347"
+"\216(U\305\263\32>\240\204\235#\0P8\252Vp\333\0\0q\305\362|\23\0RnE=\n"
+"\0\7\25q\35\0|\264^\350\242C\201\32\264=\246\250\303DD}\244\250\327\22"
+"\21\275V\325\325D\364m^U{\210\350\13\251\352J\42\232U\326DD\213+\322\371"
+"\25\351\245\22\332U\224\231\32&\232\266/\263\377d8O\274\314b\342\306&%"
+"\34\350\323\357\262\35*#\'\330\5p\247\\\37\343\225zH~\274\366\233.\322"
+"\333\244\377\330\226\22mk\355)\321\266\326\303%\332\326\21\347\323^\222"
+"\327\262\r\77\231\356RX\360C\306\13\306\13\245\23yW\32\0r\361\n\2657/g"
+"ks\371X\42c\357\30;\354\260c\245\361\7n\357V\244y5mA\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0J\0\0\0x\b\0\0\0\0p\t;\13\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\6\240IDATx\332\355XiPUe\30~X%\224%\322\220"
+"(\212PQr\1\63\3330\2332\323\264\21[\306l\322t\254\30)\333\234\320\321\32"
+"\323q2\233\262\324jJ\246lq\253\261B%+\33J+Gm\250\224\251\4E\2\244\32\226"
+"\274\200\30\27\205\373\364\343[\316w\356=\367r\361gs\337_\347\274\313s"
+"\276\363}\357\372\1!\nQ\210B\24\242\20\371\245\260\36\65\322\207\244\'"
+"\'\364E{KCmE\355\371C\215\230r\323\365\211\306\273\353\320\267_\226\237"
+"\307\2023VT\321\201\216=wY/\201n.\351\246\37\352\3728\247\27@\327\355c"
+" \362l\37\24\344^%\257\231i\360\377\251\372\263\271\205q\321\3\323\323"
+"c5\263\343\305U\347\202X\322\314\177\364\347\253\326OO\265\4\21\243\n>"
+"\357T\242\237\6\367\bt\301F\245\354Z\353\260\'\211\13\324a\264\346\365"
+"\200\224\372\263\324lZ\30\347\254\21>\353/\241\321\2750 RV\235P;\273:\316"
+"\277R\277\265\36\241\2652\0\322\360\6\241sdT\340\265Oi\22z\317\372\325"
+"\30$\227^\24\323\323\216\169!4\347\371\221\'T\b\257y:\210cN.\'Iv\336\350"
+"\34\217%\302\231\347\4\345\305\3\217\223$k\223\234\204\13\305\232\346\5"
+"\31\21\227\212}\375\320At\225\233$\271\42\3700\355\42IN\364\375\275\375"
+"$\311\35a\301G\352R\222\344o\21\336\374\7I\222u\27\366\42\350\243\216\220"
+"$\347z\307K=I\362\366^e\242k=$Y\31n\347>E\222\334\346x\356\343\362n\363"
+"\223\356>%IN\266%\231\350\232\24\0\356\314:o\345\354\7\3622\0\340\327\325"
+"\233\0\340\351(\301>U\4\0\30y8\f\300gw\231\26\263H\222\257y\3\215\333c"
+"\345\273\217\242\201,\375\42\25\366\220\244;\301\264\371\201$;/\361\362"
+"\302-\36\63wnV\256Gr\276\312m$\311{\r\243L\222\344&\257\230m\320\331\374"
+"Xe\27\311\31\320\213\34&ubZIr\203a\365<Ir\274\ri\211ZRK\341E@\352N\262"
+"2\336-Y\177k\255b\222\374\3350+\'\311Z\323;\3036\250\5\224\247\13\'\332"
+"O\256Q\274\255Z\257\200$\273\254\244\237F\222|\305\21\351\370\0\311\312"
+"%\273\24\63_+\216&IZ\351m6Ir\202OL\220t\217\320\274Z\353\4\62\65\63\266"
+"\233$\247\351\367wI\322m\344\273I\372\373\313,\346V\215\364\247\361\321"
+"j\222|\b\200\360\3711\0\360\223[\213/|G\205\350\37\253-\243\23\372i\257"
+"\1u\n\0\342\25T\3140\0(\263\304/k\7+\264\360\321\346\b\325\6\0\321\njp"
+"$\0X-\312h\35\353\207\77q\f\275o\215g7\0tj(\0\3001-]\245\275b9\315\344"
+"\241\36\352\253\fn\34\0\264+\2504\0\300I%\314\321y\261j\247-\3;\375\37"
+"\22\1\240YA\245\0\0\376R\302\307\265\332:\217i\224\346\bu\271m\31E$yF\275"
+"\305\264\2513\357\260E<N*\376\225f2#I&\252U\305\2\300i\355S\272\304\357"
+"l5\221\222\324\17\326U\33\334\253\1\240\256EA%\250C\0\0X\25d\213=\373:"
+"\376\3375\332\217\302}O:W\267c{l\374\33\235\\\1\23\354\340\305$\331\244"
+"\266J\367\240%\366O\354W\374+\314\336\340,I\16\325\253:\243\375\3@\206"
+"^\350w6\244\244\261\362\241\246\306\340\346E\1\250\250\320P.\0\350\23k"
+"\34\256H\3226\250I\221N[u\237\265\247\341\312\301\200T\303\345\0\300\363"
+"\213\rj\272\323V\245O\4\340\371\300\202\252\7\0\\a\4\2\0\234\3540\221\342"
+"\247:\35`A8\200]\265\26\224\370\371\241B\332\255\243\306\266\250\31*\233"
+"U\33\245\262\177>\0\274\b\13\252B\224G\257T\322l\203zD=\224\32\314Eq\0"
+"v\37\64\365\232H\362\260x\36\257\316\274\310\324\270Ag\320\373\215\222"
+"\347&y.\313\366\311\335$\331-\232\230\201\312\346\35S\243XCYe7\354\33\222"
+"|\311\356}K\314\32[\357U\313\1`\254.\323\25\26\363\31\222<z\201\35j,I\362"
+"}\361\362\2364\372\321\247\215\263\377\366-\235$\335\336\3Gx\3I\272\372"
+"\b_\224F\355}\264\374I\253\4>\246\333\355F\222\234\345\23\302o\221$g\b"
+"\334\243\322\352\16\235\23:\310u\222\251\212\345\340\223$\271\3347\33\210"
+"c\223~\234\'\255\366\312\24\77\274\221\334\236+\231\331r`l \311\227\235"
+"Zv\321\204\217\26o\233\245\331\3120\0\270\333E\376\236p\265\344\25\0@d"
+"\241\233\244g\31\374\367\354\305\262x\37\224v\373\362\247>\372=\311\306"
+"A\350\'7\253m^\312\260\5\307H\262}\246sS\31\357\42I\217LoI\366y\327\225"
+"\243|\317\240\262\241\0\360hYYYY\331\3636\254\345B.\13|\364\352s\226Q\365"
+"U\0\60\346\234\tt\2720\22\0RO\223\244\'\333\276,1\226\351i1k\333Y\331\312"
+"\254\217\27\2349\26V\373\232\213\5o\227\2173\3\300|Q\257FZa\77\373\215"
+"\35%\33\347\'[\305ew\27Iv\224\346\2539a\256\260I\367\202\2128D\222\254"
+"L\b\320\362\'\336|\357\344Q\321\326H{\206$\271\330w\\\22\303zit\260\263"
+"\204\34\37\17E\371\212\236\20\33\261%\428\244\350R\321\364f8\371\351v\331"
+"\237G\5\205$\6Q\3174Gi_1\304\362\253\304\236\221\372J\77[\354o\360\254"
+"\221\267A\331=\216\250\77\n\315\327\375\337{\311k\6\367\342\310\200H\223"
+"\32\205\336\233\1\6\321\313+\245\27\376z\233\177\245\376E2\251\276\22p"
+"\244\355\377\235r\351\275w8+\306-v\311\311\347\251\236Nf\235\316\343UK"
+"3}\357\354^=%\245\215\23{>\234;\377\266\302\366\370\333srT!\b\317\270g"
+"m\245\226\354K\13\346*,\351\205\207m}WCsKGXbR\2121n\264.\332\300\340<9"
+"\373\363\200\27t\235k\223{1\254\217\336\354\366\7\344z5\255\227w\220\3"
+"\26|\337\345\260\240/\346\306\236\317\25\353E\267\346\216\31\321O\277\266"
+"\227\378\360u\333\371_\374\42%m@\\\234\247\365\337\346\352\246\320Ey\210"
+"B\24\242\20\205\350\377E\377\1\337S\234\345\200\253\207\244\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0x\b\0\0\0\0\237\313"
+"P5\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\307IDATx\332\355\230]\210UU"
+"\24\307\327\235\234Q\247Q\7\315Q\323\306\314\301\304\320\nDP\313\t41\r"
+"\203Q\206`\264`|\250\360A\24\21#CKA\34\220\360E\303Q\221pHRP\362\213&\211"
+"\1\305\310Pc\324L\302/\232\374\0u\34\324\301\353|\374|8s\335\353~\234s"
+"\3669\347\212/\347\377t\366:\373\376\316\332\353\356\275\366\332[$V\254"
+"X\261b\305\n\246\204\177\227\217f\213<XN^>w\16\2402/\250\251\0\374\230"
+"\27\326\16\0\222ey@\rx\b\0+\363\300\372\302Aq\245 :\353t\17\213\331\221"
+"Q\23S(~\216\314\332\362\224\325Y\36\21U\322\366\224\305\267\21Y\265\6\305"
+"\365\302h\254\23\212\305\374H\250\361\32\305\321H\254Mi\254\3561\21P}\356"
+"\244\261\330\30\201U\223\216\342v\337\360\254&\200\16\5\373$4jL7\300\316"
+"f\303:\21\232U\7\300;\213\225co\206D\25\335\2\270 \245\355\206\265%$k\36"
+"\0\313Ev\32\326\375\222p\254_R\371t\252\32\344\347\241P\257v\1\354\25\21"
+"9kX\177\205b\255\5`\226\210\310\22\345\330\224\20\250^-\0W\13DD\6\252\350"
+"\377\20\202\365!\0\253\235\306.\303j\37\24\234u\0\240k\244\323xW\rrY`\324"
+"\360\16\200#\251\346\5\303\272\230\b\312\372\n\200y\251\346R\345\330\214"
+"\200\250\202+\0\267\212R\355\227\36\31\326\336\200\254\231\0\324\31C\203"
+"au\f\13\306\332\3\300XcxO\r\362\353@\250\262$\3001]\247]4\254k/\270\4&"
+"\247\365\323\42\21\221m\312B\275y.\17R\16$\376\1\270W\254m\203\223\306"
+"\261\303\1X\225\0lN7\3566\254\256Q\366,g\311LL7NW\321_o\215r\226\362\231"
+"\314\201\377kXf\342\371\305~A_\21\221\372\f+\352\257(\253\262\365\253\31"
+"\240\2754\323<DE\277\311\22\65\331-O\355Q\345\3008;\326v\\\n\372\367U\364"
+"7Y\241\372\335w\313,\5\227\r\253\265\330&\3665%NU\237\335\267[\375\35\245"
+"\37\333\370\365\'\300\343!\271^\rU\265\305I\213\263\325\333\247ED\36\235"
+"\317\371\2357\372\250\n\373\224\257[\233\261T\275/\252\370\236-\353A\251"
+"_\354\253\7\330\316\350\27\27\370\3658\216\265\316\371\304~\334y\21\221"
+"\26\367\4U\371\272y\236v\314\323\255\357\0X\341\336\241Z9\326\340\211\352"
+"}\33\240s\230_\201\347(9\330+\366U\203DD\32o\270\263\36\357P\334Z/\277"
+"~\3\240\332\253\313k]\306\261K\36\347\323\212n\200\273\275=\343\320\250"
+"\42\66\313}\214\213\22\42\42\273\223\236\254\357\325\363g\256\275\no\2"
+"\60\311\247\310\273\256\312\201\21n\275\252\0\370\333o:\257S\203\374\306"
+"\255\323A\273\313\203\221*\372\377\367\312\335\347\225N\0*|W\342!\345\230"
+"\313\206\264\6\200\313\376\253z\256b5\346\236\321NL\367[\224\330\377\251"
+"\r\251\42\327\234X\350\254\234;\376\254\316\355*7\344:\210\364oq>\264\317"
+"\42u\365D\326\331\220\372e\347\375\237z\336\335\260\271\267\371UE\354\313"
+",\224I\363\265\26\254\r\212\325\366rFM\271_\35\353>\360E\25\376\256\363"
+"k\223:\205\'&\324\265\245]\35\354\233S\354\271\261\317\77\231\236\254\317"
+"\314tflb\353[\243\7f\357\320W[[\345\217U\31\326\2062\21)\31Z\236\35\321"
+"\366Kw;\244F\232]\367\206\203\231\277\270\346\275\227\224\347\341\266\315"
+"\247&\177\376\254X\261b\305\212\25+\326\263\325\23\24\263v\257\34\226\313"
+"\254\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b"
+"\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\37IDATx\332"
+"\355\230]H\223Q\30\307\37\335\346\334\207n\2721Sh\241\331\42sF%\371\221"
+"a\27\221\27B$\336\25tY\220]\24\325M7]\4\21\30\6E\30\224\241}\20\336Y$^"
+"\230\332\225\232\31K%\77pE\241\228\265}\244s\237o\27\305{\236\255\367u"
+"s\317.\317\377\352\331\236\377~\347\354\3359\317yv\0\270\270\270\270\270"
+"\270\322\253\f\08\234\2141\342\365y\202\211HB\262\303\272\226\234\323\216"
+"\341\3454\220\376j\352\315\213Y\231\224\260m\r\326\247\213$\b\335f\251"
+"ow\7\0\214\32S\211M\21\233[\37\373\276\26\6\0\200\34C\301\256beLr\361\224"
+"C\376\1\344\266\254\243Q\2437\2641Yu\325\365\21<+O\365V\17\363\32r\336"
+"\227\310\37\31G\6\367\336-H\307\221\361\220\224A\365\49f4\362\244\203\310"
+"\247\223^5O\221\245U\236dG6\31K\366gf\t\356\241\220\240\36y:I$\30b\236"
+"\200\211\275\235\271\375M\337\301\302\254f\22\2517\312\342\6\22\351\327"
+"\24\213\253I$\230fa\221\236D\372\212\342\2\22\3517^^$\222\27\305\36\22"
+"I\215\252\273\213D\312a\2413@\42\25\261p\224\266\nl,\354!\355;\205[\364"
+"\2704\2449\35\63\210a\273\2374\247.\321\3623\227TU\312C\242\345\f\251f"
+"j\77\212\216\16\240\220\264\275\242a \213B\252p\210\371>\35\244N\252y\36"
+"\26\317\325{\312\270\2442\331\35\262\373@\365\311\22V\242Z\336C\322\244"
+"~V\255uF\263\1\247F\36tG\23\214lO\334\244\370\372\256\226J~V\271\315\5"
+"\376\341\331\350D$\t\237=\231\326\311\323{\321\232\36\222 \b\302\360y\235"
+"T\'\206H\223R\31\225^\233k\266\356\334_Q\216\366\373\332\243Vw\352\353"
+"\311\330\364j\203\31V/eRv\213\345\266\237Y\206\nI\265\300\3066\214\260"
+"h\'\325\'\335\0\63-\333)$0\3142\327|\36\205\4\65Qf\353\42\221\3405j\266"
+"\253H\244\6\344\353!\221T\354\240\22B\226\324ON\200\320\30\252\1\215\24"
+"\22L\240\270\216DZ@q\31\211\264\202\342\22\22\t\267uz\22\tKC\42\351\377"
+"o\26S$\345\343\376\234D*F\261\223D\332\207\342/\24\222\242\26\275\30\244"
+"\354\273Z\344[\'\375v\347P\374\322O\230\223\305\307l\2212JUy\210l\355\211"
+"k\246|\307\326\210\212\357\202I\332S\211H\269P\235\27\375\21\256\2211\235"
+"@\244:iK\346et\f\7\232\345\206kKt\255\260\343\312<\356\245N\313\334)\34"
+"}\214\36\200\20\270\240\216I\347U\236m\33\217\340\206e\316\36\337\253\364"
+"\3\200A\223_\230\21\207\336t\256\206\376\335\2i\f\226\354\370Z~\367\226"
+"\77\35\67Y\241\316\322\264\334\211\375\270i%\367\231\0\33\237\336\275u"
+"\b\204\216u\323\37t\255,}\233\233\231\f\363[`......\272\376\0\3038y\364"
+"\333g\303k\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0"
+"\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\377ID"
+"ATx\332\355\230YlLQ\30\307\77\235v\314\250\252\321Q[2m\252\244&\226\220"
+"*\241\361@B\244\224\7\251\204 (\342\205\t\42\304\22*H\204\4/$\304\32\21"
+"\242\242HDH4\36\354KS\244\2534\255]kZ]\247\333\374=\334;\367\236\333\273"
+"\35\275MDr\377/\235\236\357\77\2779\347\336\357l\37\221-[\266l\331\262"
+"ED\324\317$\356\30\347O\31\221\340$\352\250\373T\372\362go\177&u\333\375"
+"f\260*\316Ke\302\223k\203\301J\16L\3775O\240V\370\356t\311P\f d\312q\5"
+"\276AG7\305~\35\2\08M@\331U\320W\353\356\30\42\232\326\5\0H0\344\f\271"
+"*\177\255)\77\60;\305\343\361\372\263\367\27vF\32\337\214\'w\251\3601\331"
+"\b4\275Z\342<_\356f\2C7\177\24\333\3336\35\27\77M0\0\255l\217p\312\263"
+"z\306\242s\177\364\30j\246>hW8b:\341\322\b{\256)I\363uA\7#\226\366\25:"
+"\216@\27K\312\321\3\355\225@\213u\177,\247\203!\255\3251m\224\34k\f\236"
+"\344\362\260L\nh[\346J\35\77o\230&{e\322\36M\303\350`$\376m\220!)\352\201"
+"D:\242\25w\276\346\32\33\21\221\257)\342<\245\25>*\201\312\34f\363rw\304"
+"zE#\230\331-\221rMg\370\200\357\242\365\216:\26\363A\2\325\272\315\27\235"
+"\255\242\267P\35\332\42\277\217\343\34\313\327\300z\301\373Z=\13\2022i"
+"*\317\202zB\234\233\252@\236\f\252\346Z\232\375b\276\350uV\367\305\252"
+"\365\f\0\320,\345\230\370w\365`\331\362\210\217t\231\210\210b\243z4\27"
+"\63\223r8\37)Q\230Z\361\312\326t\6\364\231w\23\23\246\214O9\272%\214\241"
+"\210\227t\203\210\210\342\224\244E\214\341=/\251 \254&\371\322\30C%/\351"
+"\373S5i\26k\250\342\336\355\13\324\244\31l\274\206\233t\207%\tR\234\0\342"
+"\254\234}~3\240\266^2\242\210\210\22\331\265\266\336\n\311\307\2664X!\215"
+"`[Z\254\220<lK\310\n)\266\317H\212\351\334n\205\324\'\352cR#\333\342\266"
+"BjU\354\351VH\r}6\272/\212\215\357\237\223\4\65\261\347vKYP\306\276;\227"
+"\25\222b;I\262Bz\2518\257\375\305\3277\314\31\246yZ\20\264\216\37\64\n"
+"@\335I\266O%_\231p\32\77)\203\210\22\234,\t\367\230\360$~\322\f\365N\233"
+"\305\214\256\216\237\364V}\7r\3261\2501\274\240\3040\2006\227bU\351\270"
+"\314\30f\363\222\26\367#\242\347!\345\372t\6\262a\16/)\207\210\350\241"
+"jg\226G\367\2333\313}]\0\340W\275P\346A-\341#\35\4\200\17\352\366[2\351"
+"6\27(\266\26\0\266\251\3c\245\353/\272\271\222s\7\0\264z5\42\7\344N\235"
+"\345\0y\177\1\300i\315\362\307;\211\3249\321\234t\1\0B\332\13\307\304\26"
+"\t\365\330\254\6D\331a\243\33\316*y|\333M@)A\0\370\24\257\27\77,\221\272"
+"\214\323sh\5\0`\241~]\353\234\204j4(N\320\310\42\323\333\233\343\242\\"
+"\232\311\322uM\21\n/\205\321\206\325\266cr\321\352\250\366\306\356\334"
+")d\336\253x\223g\271>$_\364\226\251o\326\321K+\304\313\346\20\323DI/an"
+"Cy\223\24\3710%\257F\214\344\307r\324\16\335\373\3\61\362\177\265O\313"
+"\313\33\352\211\342\206\'M\310\210\314\215\320\276#\340\273\231\26\300"
+"P\217\375\374+t\372\365N]\316\233\5\177\267\247\216\334Y\244\205i\2744"
+"\263\27\65\326\344y\231\31\251\314\371\261\271\350\305\375\302\216^Vki"
+"\300\350do\202\203\250\241\245\272\346s7\331\262e\313\226-[\377\243\376"
+"\0(\373\361\211\264\336\4\376\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\336IDATx\332\355\230]H\223Q\30\307\37\26756[s\311\2664\303"
+"\330J0*P*(\212J\272\t*\312\352\252\317]\325M\201\27a]u\21]v\21\b\21D\20"
+"\245\240Q\27\222\5\201E\t\326EE\22\255\24\263\255t\2322mc\313\330\207\275"
+"]\24\236\347\254\355u\371\177o\212\363\277z\36\336\377\373;\37\357\307"
+"9\317!RRRRRR\372\227UBd];\247+\231I&\247\213\304U\177*\252\341T\364\313"
+"\350\320\340\373\3271cp\277\245\r\366t\77\324CVk\177\253\324\275F\213\201"
+"8M\323\302\247\255\5\6\353:GD.\273{E\215I\236\254\336\320\244\366+\264"
+"/\362T\371\313\344;\303M\235\372\323R~6\315\332\177U\231;\212\3-!\251\207"
+"\35\2569\346\37123\357\310g\330t\223\267\370q\235>\356\250\260\316\330"
+"\362[|\267\31/\331\250\213\333#\234\321\202\246\275Q\341\312\36\321\303"
+"\355\22F\235\227\321\77\300x\207`\34y\31/\265\25\306\221oB\30\307*\330"
+"\5\323\274~\34\241\2006\33W\264\226\240\275#\272\316\236\357I\34\347\215"
+"\13k\314\3\16\226h\242E\304e\27\340\336\221;%\274\31\37\332;\212\336\25"
+"\261\245\31\306Q\33\213\217\271`\\w\\\304\245\307a\\\3521K\16\3038\342"
+"\270\r~\30\367\234\'\273a\334\233\fKv\302\270L\77K6\233Q\34\r\260\330\271"
+"\6\306}\340I=\214\33\346\311j\30\67\306\223U0nBZ\205a\334W\236,\203qq\236"
+",\266\240\270\244\274%Aqi)\263\241\270\357R\346@q\262\314\306\342\262\306"
+"\342\276\241\270\322\77\37\f\202[ eS(\316!\275\204iCq\21\370#\223v\332"
+"a\30\3476\26\267\204\'A\30W%\255k0n9\213g\372`\\\r\357\\\34\306\325\262"
+"\370\t\274lWzY\362\0\306\255\347\377\371\2470n\13\213\357d`\34/)o\300\373"
+"\273\312z\21\277\353\205q\7\331\255\2274\264\20\240\227\314k\205w\356\33"
+"Y\245}>\r\227)]\302\372\302\4W=\r\254\346\251C\13P\262]\21\361\305>\270"
+"b\274*\214\217\314p\265}J\370\6=p\361\336\364c\3266\276R\307\267O\340\246"
+"\n\257\326\327\204+R\2537\210\0+\311\35\205\216Q\206\204\'\350\327\235"
+"\341\16\206\333\237wi\r\260\217A\353t\352\255\302\r\374<H\33\336\226[\376"
+"o\77\3235\315\f\211\23y\17\334\274mD\344\262\227\347\236\210\321\344\347"
+"I\261\365u.](\2372\2667\217\30v\34\230m\257\313\313\262\314\347\233x\333"
+"zk\224\214\301E\236\365\334\17\25\274Z$.\221M\304c#\221P\177p\234\224\224"
+"\224\224\224\224\224\376\13\375\4L\203\350By\350\266Q\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\326IDATx\332\355\230KhSA\24\206"
+"\377\244\32\223\3266\t\2117\265`\32(\272RJ\252b\261(\nI|\24\37\213\242"
+"\21\f\270\253\340N\334T\327]\4\21\\\271p\245B\21kQL\26\212\321E\241JU|"
+",\42\210\210\240\42\2665iC\212\332&m\307\205\211\367\336\314\334\344>f"
+"\321\305\374\253\311\341\344\313\2343g\16\'\3\b\t\t\t\t\t\361\225\rpl\263"
+"\360\375\327JR\360\213\5R\313\357\352\312n1\2466\254f\322\32\240\230\4"
+"l\236f\177W\227\32K\262\331\334\377,x\233<~)\344\242H\255L\276o\250Dd}"
+"\356\246=6\35\271\374\236\250tLc\257W\25>\375\32>=\267\226\25^\t\r\257"
+"\204\354\262\344\324\314M\370\215\354vN#\343\5y\231[\320$\275\355\33kx"
+"v+\362r\261\316\201\375\211\247xU\301\362\351O\225\225\333j=\315\237%\274"
+"*\363i\252\266\236L\327\3700\267\333\362j\202\333\275\273\301\2154\272"
+"\310\2134\77N\365\2\235:\30\4p]aH\305\08\35%\246w\277|\241\250\226\374"
+"\214\20B\224\206-\204\20B|\306\243\223j\r\37\247U\341\351&5\5)\323\204"
+"9\322f\7e\2324G\352et\27s\244\30mz\247j\6z\253\240\355(m\313\237YW\331"
+"\230\21\322`\13\303xS\371Agt\35C\r]\364\221\34#^>$wz\37x\220\354\361lL"
+"\307\3175\312\270\247\'r*\244+\3\232$)\38\335\1I\367\275\324$9#\6\373\225"
+"\325\251gu\2234\363\364\265\23\200\273U\nm\77\24\66\301ew\337^y\312\261"
+"\30\335\344\356\7\274\362\264pb\234W\306K\211\2\257\263\373\226\344V\5"
+"\327~\361\42\25\323\334*\363\t\313\30\312d2\231\35\6\347\202\227,c_\4\300"
+"E\203{\372\260\3020\356\4\200Y\203\244\3624\303\270\27\0\362Fo\360\17\332"
+"\344\355\6P.\30%\25iS\304.\7g`\22K\336\246L\7`\212\364\210\256\240\303"
+"\0\220\343\320\351\366l\344E:\tet\26H\3168/\322\300\277Ya\306:\351<8\355"
+")\26\346D\262\rW\';\253\244\301J3\301O\213\244]W\252+\213\321mM7\327\'"
+"\255U\f\204\365@\307\237o\250.\347\226\230$\217\274\364\27349\235\367\356"
+"\313\177\177\363l\237;\212w\216K\32\203D\344nY\371\260\362\202\341\263"
+"~\377\250\352\361\345\361\200\257\346\356wD/\214\25\324/4\344\241bV\221"
+"F\0x]\276@\r9\32\305\324\367\271\352_\2516{@b\265\240\31\5\251\316\34\330"
+"\336\336\360\24g\271Mb\374H9\376$!!!!!!!#\372\13\337\30%\336\271,\201\25"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0"
+"\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\'IDATx\332c"
+"`\30\5\243`\24\214\202Q0\234\0#\3\3\233.\371\332\37\275\206\320r\377\311"
+"\7\5\f\f\f\fL\224y\203\217\nf\360R\313\35,\f\f\237:\31\30\30\5\270D\224"
+"\225Q\r\374\177\345\312\233oP6\27;\257\200\270\2648v3\220\201p\345/\244"
+"\340\272\247\217\351r\253\202m\77P\302t+\246\323& I{cw\275P\3613$E\207"
+"1\25\304\42d\377p\340\n\3\236\376\177pU\2270\245}\21f\274\300\23\222\21"
+"\77a\252\36@\303\24\t\374C0\177\3421c\5\3032F\212\323\307\212^*\244\217"
+"\372{\20\232\205\213|3\276U\42%\20r\323\351\232\233\224\233\361o\42\345"
+"f0\254\374I\271\31\357\266Pn\6\303f\270\31,D\353\361\220c``\230\205\340"
+"o\377\307\4K (\300\33\221\326\37\242\313\35\375\377\377\377\177d\201\263"
+"\377\377\377\377_I\222_\3040\f%9<\230\345\260\232\301O\212\31\252l\350"
+"\42\247Hv\207\5\206\310\203O\244\232\341\206!\362\377\22\211q\313\347\207"
+")V\247\312\300\360\212\204\270-\205\210b5\237H\277HU\342\221$\316\f\266"
+"\245\202\224\232\301\277\331\201\20123\230\42\256\270\341U@(^\4\214\\\42"
+"\25\b\250\301i\206\330n\6\6\16~q1\42\274\212\323\f\16\27\242s#\205m\207"
+"Ae\6\316\360x$\317\300\300\300\317-\252\250\347aI\222\211\330\363\213\376"
+"\21\270(\331~\271h\77\217\362\360\370\233\266\225\3620\375\233\370\232"
+"\362xy\335B\205\270\235\373\231r3\276n\242B\32\333C\5\63\316R\301\214\33"
+"\177)7\343\367+*\344\271\347T0\343\23\331\345)\2t.\247\334\214\35#\242"
+",\34\65c\244\230\301\212\324|\42\327\f\1\244\366\23\271fx\42\230\234\366"
+"\344x\213\307q\25\362p\300\207*-f\242\307\203\304\226200\br\nc\216L\374"
+"~\376\356\373W\6\6\6\206\264\373\4\214!b<Hw\304\244\261Q0\nF\301(\30\5"
+"\243`\260\2\0\355$RQ\351Z\217n\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\4VIDATx\332\355\230[l\25U\24\206\377\236\36j\333cS\17i\344\336"
+"\nVh\20\64`EP4\232h\204D\221\253Q\24%\246\17*11\361\22%\215\17\230j\264"
+"\370\200\302\213Am\210\30c\2\244\211\345@P.! MQn\rrh\325\244\42\3046\236"
+"\246\204\323\353\351Y>\314e\357\351\354\331{%S}\232\3654Y\353\237of\337"
+"\326^{\3\221E\26Yd\221E\366\277Z\201IP\261\260j\306\244\2628\220\315t]"
+":\323\35\346[ek\233\376 \217]l\\ \305\247_\311d2\23\230\260%\273\6Ha\247"
+"V\272-j&\42J\262`\17\237\240 ;\265\330\222<MDD\225\f\330\254\24ilt{\2@"
+"\362\32\21\21\3153\302\n\337\314\272\257\336\330\373\366\3629S\222\311"
+"\252\3737\356\270\350z;j\201\235\326\343b\23m\362a\367\265\223k\212\345"
+"\310\235\37\367\331\201\241\327\36\311[O\217\31h\17]s`\351G}\301d\303\220"
+"\35t\32\260JO\333\350\350\351\323\22U\274\246\315\333\221\33\264\264\367"
+"\34Y\356\225\0E\361\27\36\334\253:Z\243\243\312\277\20,\372P\306\275\243"
+"\2415\270\252\315\272\217\312\274\206`\331[\256\350\240v1\27\354\26\270"
+"m\201\252\259G\363\317\24\375x\225\266\273\270/\2034s\256\273\232\327M"
+"ss\256\273\236\277\13\32\261\263.\255\263\310\270r\352\35\355\376\0\301"
+"G\242\77\352\314\253\272\350\222\255=\256\216\337\343v\34\365\2240\262"
+"\304*[|N=X\307\305\317}\300\312\343\77Y\342\337\225\321u\322T\272\213\225"
+"\21\237\262\304\312|_p^\320\322\274l\35\373\225\210\210\372=>g\312\315"
+"\27\276\275<\\~\7\0\240$\256\210\35\222\332\3728s3I\366\23\21\321-\376"
+"Hu^\320\206\23\334\235\356\33\337fa7v\275\264D\177\311rq\337Z\333\247\37"
+"\267Nr\235c\357\303\7\257\3\300\315>\\\245\274\35\235e\343\206R\352\277"
+"[&\213.\360\313\204\224\372\357\226\310\232\337\370\270C4\6g\rAz\266\324"
+"\202\22\342\363\356\216\3]=c\234\211Qi\326u\204)\222b\0P\23\223<\177\206"
+"\306U\313\236\336\320\270\312\361\305M\35_\\\362\77\304\345C\343<\345\355"
+"hh\234\274\352p#4n\374,\6\0}\343\206\213\3\300\210\354\271I\243\336\372"
+"\222\236\2664\16\0\236\315\250XW\351\30\16\21\2051\0\360\244\204D\350\276"
+"\363\254\372\262\320}\347\301\351\332\323\3653\200\362D\205\377\34\326"
+"\333;0\b\f\0\0\356\223k\335\24\343\37\346m\351\227\336\350yw\241\247F*"
+"\315IA\336\316\363\244xa\240zl\260]\302ex\275$N\246\255\276UqZ\356;\336"
+"\211\262\335}\312\370pG<e/\13\227Q\346\f\13\227\222\263\322|\26.\253I\1"
+"\335m\222\253\226\77\303\2022\312\36\311\365 \13\227\320\341\232\206\205"
+"k6\3478\356\331\373}\270\36\271\342|\202\203\233\244M\237\333%\337\32\16"
+"n\232>\334\42\335\34\334\306\270b\21\362\357U\311\275^\24:\261Mf\334\2"
+"\303^q\246I8\353\312\215\270\7\214u\370_\342\377\267\30q\'\324\215U\'\211"
+"l\225\201vG\336\210\303V!i1\334\234\355$3\256\360\200\320\274\241\245\325"
+"\346\308\224\213\203Yn\255\206V\236&\16\16\323;\\\321\320s\301\313\365"
+"\30\361p\230*n\255\362\r\361\200+\252VKp8o\304a\342Q\351\236N\231\371V"
+"\330WT_\27\36\61\3430\3413\301\33\371|\246\257\362\337o\307>)\260\257\3"
+"\3658`\345\337\2\230k^]*\r\301\363\77\330\r\34\254\3Pt\325\207S\315\257"
+"\212\306\27%\367pk[\372\352 \212\247\325,Z\344\364f\347\263\247\1\340\375"
+"z\0h1&\264{\177\324\335U\216l\263Sq\345\b\243\261\326\22\337\227\13\242"
+"\265\210l\322\314\305\1\63\66_P\260\372w\311;\3232>\16\300\314\227wwJk"
+"\235.\177\365\214\267\276\212u2\206\302\233vo\257\272u\42\200\276\356+"
+"i\177\321\273t.\320u\0\221E\26Yd\221E\26\231\312\376\5\221@8\5\6\311\226"
+"z\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0T\0\0\0x\b\0\0"
+"\0\0In\212P\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1tIDATx\332\355\230M"
+"K\2Q\24\206_\2334#\35\25\241\224\304e\20\22\4\355\3\67\355\242m\213\226"
+"\21\330\42\372\5\355\245]\277\241\26\325\262\37R)\266\211\20\42P\310B\205"
+"q@\261iy\257\316\307a\b\27\322\373\254\2163\357y\306;\307\205\34\200\20"
+"B\b!\177#\2\304\266\204\214\375\242}\330\21\302\357\237\0\200\242#P\323"
+"\233\244p\5\300\302,\216\77\77\322E\240_\5`\306\263\305Rt\362^\247\321"
+"\352[C\240\255_\254\2\261\225T~#7\231u\336^;v\327\1\36\247\36\220<\37j"
+"o\274\271\33\t\3726\233w\372x\256\13\376\311K-\267-\234\321h\250l\303\b"
+"x\247\317\252\34<\t\322q]\325\365q\200\264\253\312\2368\216\256g\351\226"
+":\252\34\211\322\37\317\22\374\361SJ)\245\224R\372\17\377\366\370<-#\265"
+".\205\227\26\2769\250\271\230~\347Tj=\336\13-\35\334K\3222\7E)\245\224"
+"RJ)\245\224NI\265\275\\\\l\215z\226niZ\225)\361\fi\317\322\315\255\266"
+"\226;\20\234\311\17\225m\231~\251Dyb\'h]\224\f\177e\376\260\246\207\353"
+"G\353\332\315\b\260z\3 \263\234]su\216\332_\266\5\64O\324\245\3753 \232"
+"0sIW\330j\365\254!p\365\0 \344N\272\302\2354!\204\20B\310l\371\5i\357 "
+"}36\5_\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0x"
+"\b\0\0\0\0J\331\204x\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\301IDATx\332"
+"c`\30\5\243`\24\fF\300\310\300\300\300\251E@\321\257\313P\206\356\177\2"
+"\340!\3\3\3\3\23\321\266\323B%\13\3\3\303\353N\6\6\6\1Na%5fT\311oW\237"
+"\274\373\376\225\201\341\3\2066\276\354\257H\376x\344\317\212\307\212B"
+"$\225\366x\35c\217\244R\20\257\217>!\261\337\343U\371\207\276\3419\252"
+"rT\345\250\312Q\225\243*GU\216\252\34UIS\225\354Hlf\274*\371\220\330\370"
+"[V^Hl\27\334.\341\260\236\375\17\251\265\366\275\331\200\25\255\235\254"
+"8\213\201\201\201\237SH\222\21]\357\237\27o\277\177a`x\25=\204\332\311"
+"\243`\24\214\202Q\200\t\0\0\332\212^e\5\252\3\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2CIDATx\332\355\230OhSA\20\306\247\211$V"
+"-\324ZZD\250\r\232R\245=\24E!PO\202\202E\21/\366$\4\17\212=\210\24\254"
+"\36<y\251\5Oz\362*\202\27A\21z*\202\201R$E,\251D\260j!\322\332h\233\364"
+"\217\211\222\372y\250d2\363vM\236\7\21\331\271dv\276\374^f\347e\367\315"
+">\42g\316\2349\373\237\255\316\24\fuW\241\362o\315\3616T\261\247D\201\77"
+"M\365\357\203\233L\301\345a\42\332^\337\274g\257\272nnzn\261X JW\273\354"
+"\216\241\357\25%I\365\326\325\236\321\bs\245\335~\346\370\212\335\371Y"
+"\77`\216\335E_U\305\277s\37\35\350@\7:\320\201\16t\240\275\317\211\35\353"
+"l\312\247\36\277\364\211\367&\177\265$\243mJ9\301\355\312\224\227\33Z/"
+"\253\363\35>\300\253\225\35\345t\310\6Nz\362,\211^\364\274\20\373YH\250"
+"\252\6\356\6E\344\254\255\203.*\260O\365\321=\262\313fwM\201q\225y\223"
+"\30\325\263\273$\301\320Q{\367FD\r\326^\256k\253\2Sb\324\310\356\234\4"
+"\243\272\310O\304\250\231\335\214\4[\24\367\371\236\30\356d\367\235\4U"
+"\246\353q9\307vv\337\310o^\24w\77{J\255\201bY\372\240\224,\21\21-\234\13"
+"\35\214\204\13\23\17\362R\356\16\227\335\27jN]\0\200;\226e3\310\311\\R"
+"\139\235\'\42\332l\1O\263;\252\265G\0\60c>Q\354\347\37Lz\3043\0\200\343"
+"F\360>\203\27\274\207\305\217\0\220\f\32\270\330\2172\367i\213W\36\0\0"
+"\f{\205\306\31ki\210\210(\234\2\0\\\323\361m\t\346\306M\t\321\241o\0\200"
+"\207\362\337\3279\305\334B\273\271\350\361\r9w\223\367\270]\267\2762\267"
+"z\330v\270\276|{\343\23\223\211\327\231\22\265\356;\22\253\310\355\313"
+"\311q\353\306\332\277b\77IOD~\267%w\214Y\260\354@\260\312n\336\367\334"
+"\200\245\2574\324\360 \210^\37[\253\200\226\237\3358P\363\233\207@$\332"
+"\332\22 *,e\336\317\302\275\230q\346\314\2313\337\366\23(\345\324\376\356"
+"\373\307\214\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Q\0"
+"\0\0x\b\0\0\0\0\257GA\24\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\4IDAT"
+"x\332\355\330_HSQ\30\0\360om\271V\262\232k\221\25\206\21\243\27\213X\21"
+"$\224M[iCBI\214\202^\42\212\5\31\25=\250\364\26\31=$ED#\250(\210\240\247"
+"\212\42\37z\f\37\202j$I\20\323\f!\233\224\356\272\315\315\273\36\356\376"
+"|w\363\236\273{\366\275\304\316\367\3428\337\267\337\216gw\367~\347\0\210"
+"\20!B\204\b\21\225\35&\0\360\350\324\314\207\262\257\352\\\314\302\221"
+"X\346EZ\'\306ro\271\303.l\0\0XB\376_\377\17\242\5\0\6\0`\225\315\271\311"
+"mV\347b#\77\42\361(\300\237\334\310\333\31\200j\247{\253\245\30\212|\372"
+"\371w\252p\320\36\220\3202\377\356\252\322\232\206+\250\376F\26^\237\256"
+"\327(\275\210\312\332Y\327\334\7T8{u\243ve\23*t\262\26\353a\256,9\270\232"
+"U\270\35\211f\326\34G\263U!\235\237G\3\22YuG\262EA+\220\210\216\t\245$"
+"\25\320\275\226J\23M\3173K\330\rDb\257R\220\350\4\42\361\270\254\200\35"
+"@$v\246\f\200\245\210\35\t#`\t\342ac\240\276h\24\324\25\333\215\202z\242"
+"qPG\364\33\7\331\42\17\310\24\333x@\226\330\312\5\62DNP[<\30\347\3\65E"
+"nPK<\20S\206\356\1\221\230\5\323\211m4\242o.7\26\262R\210>\334\26\334 "
+"\20\367K\252\356\241\251l\261ER7$a{\231b\263T\330u>(O\364J\305\215lY\277"
+"\353}\n(\337\225\321\370\324Z~qo\6<\3\267\361$_\232x\305,x\26`\3057L\236"
+"\342\24\367d\300s\0\0\273S(\23\335\314\'F\225\77=J\346\32\236\344{3\227"
+"\250\304\371L\306\372\31\217\366\361\213\27\362\315j\2\r\317{x\305K(\327"
+"\217\23_l|\342e\325>e\30\247nr\211\275\352\344\2269\224\223\2339\304\376"
+"\302l\17\316\216;\f\213W\212w|\3570\371\230\242\357\251\237\301d\27Eov"
+"\22\213\221u\24\375\343+L\2761\21\210\265\21L\6\bD\350\306\242\344\246"
+"\350\354\237ar\330B :\'\323\314K\214c\77\343\307br\'\305\236\353>&\277"
+".\'\20\355aL\336\242\330iz\361\243Q\366Q\354\257\7\361$\'j\bD\333(&\237"
+"R\234*\354\302\217\306\364Q\2\21\256cqz\3\201h\373\216\311!\355[\306\16"
+"TV\305$Oh>\341\324\321\202\252\330\rS\265JLz\265\316\366\332\360f\237)"
+"\252\77\317\362\342\320bE\313\32\203\370\322M\16x\226j.c\353\307\202\'"
+"\273\374\250\321\222\77\307\35\2\200\225\266\232\332\242\365]\230\214\304"
+"g\1~\35\313\215<Y\3\0\16\327\372\305\32\237DxZ\2\3503\1@Z\347\3761\236"
+"\77\273\33\253\323\273}\371+\363\34W\204\b\21\42D\210\20Q\211\361\17\245"
+"\25\36l\337\r;\205\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\1\226IDATx\332\355\230\261K\303@\24\306\277\24\261I1\224Z\321\226"
+"B\247J\25\25A\227\352\242\202\233\b\202\b\256\322A\27\27\'W\')\370\17("
+"\370\'\210\273CA(8\2718\210B\325\316I{PZP\241\245\16\246&\266i\213\367"
+"\2Vy\337\222w\\\362\313\373\336%w\311\1,\26\213\305\372OR\0\304\42=N\312"
+"\227{r\216\33=\264\326\375z\237\7^\372\2051\0\340Z\1T-\24\235\f\267t\26"
+"\362F\265R\3\236~\0\234\273rV\3624.\225\225j\332\210\254d=\336\36\354\370"
+"V\266\246e\327Pz\\j\177\356\371`\6\63\230\301\ff0\203\31\314\370\215\357"
+"Sim\205\200\373\34\215q\256\3\231\34\311K\\\7`\322\3521\13\0\202\306H\1"
+"@\211\306X\4\0\203\304\b,\320\275,\371\351^\326\1\240N\312\303\267\1\0"
+"\242Aa,G-+\4\306\16\0\240Ha\214l\322\31{\32\250^\364}\220\31\7\243\237"
+"GS\2361~\bj\36\301\13\325\212\204,c\350r\246\31\32\355\fGs\260#\42q\263"
+"\362\25\273x\t9f\251N\257\353\321\335\264\335\22m\375cU\373_]$\334\bS\'"
+"\302\271\'PWZ\347\307\364\263\263\277\222\231\3776c\17\247v\317^Zvh\214"
+"\346~Pz\33\360\7\2021\255\355\256\357\205\342\253\3451\34Q]\322z\234\260"
+"\326\227\304j\247\352\371\223\311\356#T\364`\2353=`\b\17\30%\260X,\26\213"
+"\325\307\372\0\3139\260\376<\241w\332\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0_\0\0\0x\b\0\0\0\0\261\216q\247\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\4cIDATx\332\355\231\333OTG\34\307\277\313m\13\64"
+"\272 \352\252\321\365\222hK\5\203b\264ill\240M\24AE\300Ekb\332g\237\214"
+"\17\66&>\32\377\4\233&mR\245UT\254\bF\332\210\304[T4^\36\24\305j[4\270"
+"\251 \27\221\345\262\323\207\225\235\337\271\315\231\235\263I_\346\367"
+"p\23033\277O\206\357\371\375\346\266\2006m\332\264i\323\246M[r\346\3\262"
+"\212\234\32\207\36\313 >\371\300\241\241{\0\0\260\2009\331\353,\t| \352"
+"\344^\1 M\344\232\277A\202_-\34\204\220\217\257%\370a\250\363+\3\256\370"
+"Y_\b\2333\200\301\303\0\2\3313\26/M7\267\372k~p\343o\313\260T=\357\216"
+"\f\17M\0O\315_j\357\230\371\23]r\35\177\207\331\345\310\2\347\316\7\31"
+"c\214\375\315;O\206\\\360\363&\31c\254\207{\\\24\351\177\31\0p\2144\357"
+"p\341\327\245\1xr\227W\334\26\361\337\0\0\332\42\362\21\24\6\200\343\244"
+"b@\304\37\217\77O\360\232\302\22!~\361j\0 \3751!\21\237\77K\247@\235\17"
+"\300\303\7I\306\377M2\357\354H\27\361\353\315\362\310\345\327Q^\f\226\t"
+"\274\77.V\343\37cr\2\205\1\340\376\243\244\371\177^\345\345\255\271\316"
+"\336\333\315_Wv\376!\2}\270\331\321\271d\231*\277q\214\227w\211\207\177"
+"\347\211\2\277\257\205\227\313g;\255}\356\3628\316\317D\240\f\247\31~\315"
+"B\0L\215\337\322\357\36Aa\0\270\365L\211\37m\344\345\322\217\354]k\335"
+"\202_\264~\35u\235#>\237\13\2005*\362\257<\347\345\235>\307\350\271\366"
+"\217\42\237\221U`\341gv+k\r\0\270\f_\260\276S\201\354R\240\254\0@L\235"
+"\377\250\223\227k\374\16\321s\345\2452\237\256\2\371\33-\255\376-\22\321"
+"#\344\377:!\212\240\r\1\0\223\247<\360#m\274\\\221g\33=\227^y\340\323/"
+"\354\2575\265\345VJ\311#\344\3776DR\300\324\266)\27\300x\223\'\376\310"
+"i^^\27\262\221\247\375_O|*\220\317\370\205\247m\224\223G\314\277H\242\333"
+"\270\221\333\352\7\60\326\344\221\37#sD\341*\213<\277\367{\344\323\235"
+"\250!\5\n\312\335W.\31\376=\2623\13\223\215~u&\200\350\31\317|:G\4\313"
+"M\362\234\37\364\316\377%f\227\2\301\365\262\362\270\361{\332\3556Zui\0"
+"\3365\247\200OS \267\332 O\353p*\370\247F\254)\20\372T2\271$\370Cgy\371"
+"\313 \331\364\277mI\t\237\n\224^OV\256\346\221\324\360/D\314\21\264t\245"
+"t\364H\360\'\210\316\253\n\23\303\37<\237\42\276a\37\2613\21=gGS\305\277"
+"\331e\334h\25\25&!\217\4\237\376\3\241u\357\345y\323\226:~\3\63\b\264\35"
+"\0\316DS\307\247\207\261:\377\352%\311\310#\303\247\2\5\66\205\1\340\365"
+"\37j|\37y\222\303\30\21cW-\0\64\215\253\361\247\221\'9\214\265\362r\325"
+"|\371\271\307\312\217oc\263\4\253\214\17\0\42\355\3602\376\351\346N\255"
+"}\306\367\323\223\212\374|\0\200e\257\31=i|\227\216\36\63\177\16\0`\256"
+"\360\302\6\350\355P\345/\212g\251\245\327U\303!\2641\246\312_N\236\206"
+"\303X\203\242<F~vq|\202\317\23\n\324sM\225_\26\277\tO\377\312\322\255\353"
+"\226\232<F\3767\246\277\366s\304q(\332\332\330\324%\251\365Nl\326\370T"
+"\3333\233\303v+\277_=\3508\3769\r\t\317\237B\316\207\261\223\314\312\317"
+"3\247\250\215\225\377E.\221_T\230\233\353\247\232J\255\256\201\1\356\331"
+"iw\227\220Y\274\347\272\351\232\272s_\251\341w\217\234\301x}\267\225^u"
+"\207:6\257\3171\316\310\337\27\5\347e\332\36/z_]\330\237x\373q7\0\340\320"
+"wS\25\337\206\201\264\3519\5\63-\331\322\3337\332\17\340\300\r\0\300}\346"
+"l\347H\360\306kV$*\16\61\27s\375\375\305`\355/\0\240\353^r1)\317\2175\250"
+"\4\277<\77\236b\'\240M\2336m\332\264i\323\246\355\377\264\377\0\253\253"
+"\5\2053\7\36\222\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0R\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\216"
+"IDATx\332\355\230]HTA\24\307\317\352\272\232\251\251\364A%\246\26IH\242"
+"F\205\364\5\276\31}\21\241\233\32\31h\246\206\241H)Q>h\224\222\270\320"
+"\203\32a\250\20\353\332S\22d\331C(\4*E&\250Q\370M\226i\270\270\231\253"
+"\273\323\303\356\346\231\274w\346\256;\364t\377\17\263{\356\236\371\335"
+"\231sg\317=\34\0U\252T\251R\245J\325ji@\267W\342\362\364\230\374\24\311"
+"\t.\215M\3@8\221\320\367\355\362\263$\'\270\224\13\340%=m\223\321{\315"
+"\33\227A\302\341\n\341H\270\221\274V\244\26\314\225\0\232\220\215Q1Z\372"
+"\2715%\214KO1\77\b\16\333\31.\361\303\324\300\370\314{|!(\243\237\216t"
+"\247\226\261\224\315\231oi\357\241\202\b\251\323QO{U\2627x~~\305\325^&"
+"s\177\215\211B\332\217\263\231\307\26\377\272^\223u\312\245\227\371#\234"
+"\315,w9\276\6\245H\322\345\303D\6[\234~G\225#I\25{\231O\34^\243\32E\347"
+"\322\241\342\23\314\237_:>\332\211\33HM#3\234=\216\217^\356\277\247\13"
+"}\17\65\352\30\310O6\0\0\30\340\42\323f\220\221x\207\201\\\232\4\0\200"
+"Q\340=\368i\307\247\363\24cB7!\204\20_~\332h\253\301\341|\274C\369\13\0"
+"`YT\220\211J{p8[\344\303i\6\0\230S\222\334\254\251\330\355\340]Y\244\25"
+"\0`IQ\276\34\316\306V\341i\346*\315\312Rpk\35\25\316\b\21Y\275\350\3\62"
+"BZt\2\220\13z\13\262\16T\t@\302`.\266\n\316\b@Bs\23\25\316H\1H\310\33\304"
+"\271Qq8YHK\352\2\262\366\337\27\200\204\276\42l]=+\0\tu&\34\316\206H\1"
+"H\270<\214\214\r\255:\1\310\271\24+\262\366U\13@Bo\t\25\316s\2\220`h\303"
+"\326\243(\1Hri\214\n\247\257\347H\230I\267!+\241Z\0\22\272na+\77E\0\22"
+"*;\260\365p\227\0\244=c\n\207\323\344\3539\22\276]\300\341\214\257\21\200"
+"\204\216{\324\333>U\0\22\312:\251p\356\26\200\264QEM\220\321\317s$L\\\304"
+"\5_\274A\0\22\236S\17%G/\0\t\245\335T8\243\5 \255z\\\324\4\32\327y\216"
+"\204\341,l\305\31\4 \341i-\225\360\323\4 \351\242\6\352\243\5 \177\247"
+"\316#+\300\344\3579\22\206\362\260\25k\20\200\204\346Fleg\360\221^\334"
+"\333\344\343\242\6j\243\271\310@4\312\24\65)\270\250\tH\342\42\375\320"
+"(\243\217\205\356\275(\202\320(\247\372\26\267\220\241h\224U\316\27w\220"
+"\333\320(_\324\350\255n #\321\310(j\256+\77u\376\313\204\20B\32\270\215"
+"\272gT\37\240\217\341z\304\341\322\317\275w\350(\3Im\334\331\42\210\341"
+"\226\246\263\351\313\312\366\3553\351\274m\271\202\34\257l\343\305.\237"
+"\271\255\374Z\252]\t\362\320J\'\251s=\227\271\345+\27\351u\345\27\332\313"
+"\2738.3i\231\211\364O\274\375\231n\20\331_d\355\341tE+\344\221\257z\'m"
+"\222MX\353H\17\343u\r\336od\221\254\326n\tk\231a\323\374s\351\246&2\211"
+"\200\27\305\77EM\265p$\334\354\6\341\212\370\271:\226Z\317\220#\311\261"
+"\316\376\223*U\252T\251R\245\352\277\353\17vIe%\220F$\225\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4FIDATx\332\355\230KHTa\24\307\77"
+"\247q|\214\246\251\231\217D\255\f\rM\2432-*\221(\323M\330\252\7\22DiE-"
+"2\210\n\27\5\5= *\27a\245\213T\214\240\215HB\211\220\370\352a\246\231a"
+"\31\215\345\263!m\34\3376\323\242\346|\347s\356\343\214E\253{6s\357w\376"
+"\367w\277{\347;\347\236\3631\246\231f\232i\246\231f\377\325\334\324\4!"
+"\261QQ\241\6#cV\263\251\273\275\367o\356\25\232Wa\262\13\366\265<\'h~,"
+"cn\375O\273\204MWe/p}b\327\206\355\262\366\371\230\247K0\237\202Q\273\242"
+"\231\366\270\321\377\212\364\342H8\266\3264\277\357\262Z\230qa\\\374\346"
+"\255z\30\257\311\355\246M\315\343\246\3151\t\333\343L\3v-:\374\36&h9@\242"
+"\5\67\300\25u\211N^\335\236~p\27\31\324i\361\2604\246\217J\276\t\3772\340"
+"\325\372\253\321\326\230\35Z\363\269\315iX@-*\2130\1h#\311\362\252<x\271"
+"\255~J\264\245_\34\272\331t%\335\31x\336\6\205\367\347\325\f\262\2\345"
+"H\257\4\341}y\325m\20\325\253\304Q\320\0HO\310i\262A2\233\244\366\227\355"
+"\7\355\224\2146p\20$%\352\211\355%\210\333\334%\25% \230Y\246\276>\263"
+"x\0\237\225\362\257\343\351\350\1%\357v\200|,\\\302_\313o\227F\t\306\343"
+"\\_\354\354MC\331\307\215\202\13\232\346/\'\306\311[\315q\327i\231\347"
+"\t\277\242h\256o\225\215;w\320p\371\374\212\361\271\261{\203\373f\274i"
+"\270\265(;\237\24]\6\63w\275\42~\1\364\343\374\2326G:\374\375\263-\220"
+"\313^\23q\263\355(\23%\b\270\335H\366\216\372\201\302\302]\2.\3y>PqX\230"
+"\211q\361a\310c\242\342zpL\371\42\334&\254\352\243\342\260P\237\212p)\310"
+"1c\246\342\6\360\311z\204[\215\306G\310\265\3020>I\3448]\234\234H\321\204"
+"\33\307r\\\230\27\32\237 \343\4\345r\216\213\304\343\243\364\312\350\7"
+":\366\16\0\\0\326\330\347Y[\6\3.\0\17[\350\4A\352\178\257yNHx\20#\340|"
+"\376E\321\356\211b\366_\231\316\305\77S\336\306\0\', w:A\217O\306\1\367"
+"\35\17{\323qF\247\220\3231\306X\77\36v\241i\20\244\203\200\23\62\234\13"
+"\1773\226Z,\200\33\30\225{\2\62\355Oj\376\275P\336\242q\77\62N(\264;\21"
+"\256\5\367\16:\227\242\324a\255\b\327\204W\42\271%\\\214O^ \3343\241\336"
+"\246\342\260p\3629\302\365t\42O\4\25\27\215\216\33\'\361w\266\nyVRq+\320"
+"q\225\340IF\345K\t\25\307\353O\273M,\177\335>pW+5\304f\3715\215b\311c\277"
+"\207\232<_\32n\3\212\261\271\345l\b\252\256\262h\270\213\374\212a\37qv"
+"l\240\224\353v\322p\231\374\360\256u\2563f\6\356\325GJ*1\250\226\ruv\27"
+"sw&\5w\211\353\257J\270\303\371\346D5e\307`\b\344C\222M\3679\276\212\22"
+"\325qy|r\7%\5\356o@P\251J\363\352\1\361S\231\256&i\n$\333\325p\5 \375."
+"\33\343\'@\323\255\262\224ca\231\332v\311\253\312)=9c\314\263\25\204\27"
+"\24d\336M ;\242\324|\226\202\254T\261\35\fj\203\207\330\'O+\4\332#\275"
+"J\376o\207\375\200|\271\'\345\333<\25\252\333F\1\274M.\223\374j$\274\0"
+"\301-B4\272\27\201\374[\256\207\323\354\257@W<q\210\226*rF\0\330\177\36"
+"\7\210>\275h\2\\\35\211\324\355\300\210;\250C\376\332\330\331e\35c~~\261"
+"\361\33\371\'}\372\362\245Iz\365\221\321\241\270Wi{\270\302\265\342O\277"
+"\267I\26\66U\266z\36\345dJa\257\24\254\345\324\22\205\5\256X\351\246\246"
+"\245\246\240>\334\366\251\251\256\272Gq\263Fu\222\201\321\321\213\214\6"
+"\306\314\337L\37\307\230f\232i\246\231f\232iF\267_\274\250\23\254\257\23"
+"\6\13\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b"
+"\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2CIDATx\332"
+"c`\30\5\243`\24\214\202Q0\234\0#\3\3\247\26\21\352\276\375\374\364\376"
+"/\169\26\6\6\2253D\332\367\356\311\303\33W\316]\373\207EJ\367\77I\340\303"
+"\272\24!J\315\370\377\377\377\217UV\24\233\361\377\377\377=Z(a*Q\300\300"
+"\300\314\307-\246\254\204j\366\233\223O\337\303\330\\\274\342\252JL\310"
+"\262\277\32:\376c\t\30\251\216\177H6-`G\223\346\365\236\365\t\331)\33\271"
+"\261\206\374J\204\212\77\202X\344\5\232\177 \31r\214\17\233\31\225\b\5"
+"\267\260\307\257\356]$C\366\262bQ\221\211\220\77\216#\221H\334F2\244\203"
+"\201\201\201\201\201\tW\202\372\203C\374\205\317w\4\247\324\34\257\318"
+"\301\315f\4\233i\2#Yf0Lz\203`[\270\221g\306\327EH\234T\362\314`X\213\304"
+"\366\341!\317\214S_\20lv\33\362\314\370s\31\211cA\236\31\f7\221\330Zd\232"
+"\361\f\211-G\246\31\237\221\330\202d\232\361\21\211\315A\246\31\214H\354"
+"\237d\232\201\234\347\77\220i\6r\321\362\224L3d\220\3307\3104C\33\211}"
+"\232<3x\220\314\370{\200<3\\Y\20\354\203\357\3103#\26\211=\227\274\274"
+"\257\341\213`\77XC\236\31=H^i\370E\226\31\271\336H\241\261\210\25429\266"
+"\37\301~\35\377\237\f38{\26\62#\262J\304C\374u\324al&$\337C\252\240\276"
+"{#\332A\304\1\66-Cg\37~$\201W!\207\t\231a\200\322\302\22\344\23A\223\337"
+"\225\364\24\273\306Lb\2330\17#\31Q\332t\244\203\33\375\13~1P`\306\377k"
+";\327\35\373\217\336\266\304Q\211|F\341~\371\375\365\313\3737O\36\334\272"
+"\360\21[\373\24;8aK\264\323\310*\203F\315\30\65c\324\214Q3F\315\30\42f"
+"0\241\264\303\3113\3\251\1\314O\356\240\314^\244\276\272:9&\360{\356B\256"
+"\332_\344\2532\22\335\215P\234\305\300\300\304\317%*\202!\371\363\305\333"
+"\357\337\31\30\30&m&d\f\3411\224\314\221\223\306F\301(\30\5\243`\24\214"
+"\202\301\n\0B\227\333_\364G2\202\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\5\272IDATx\332\355XklTE\24>\355\226\276_\264[\355\213BZ"
+"\32h\t\244X\243TZ\211\265ZE\253\210b\2155\32\61A!\42\202\1\61\212\24\371"
+"AD\360\217\1\213\232\242X\25\64\326($\215!*\330b1P$\224>,\245\206\326\266"
+"\244o\267/\332}\34\177\354\336\2313{\357\336;\273%\3760{~\335;\347\233"
+"\357\316\3349\317\1\360\213_\374\342\27\277\370\345\77\225\0#\300\334E"
+"\363\346\305D\233\300>\330\337\321\33241\223o\335\262\256\272\27\251\330"
+"\32\366\27\315\362\215+\350\311_l\250!\203\25\271\336\223\5o\356D\217r"
+"\246$\300;\266\307\256\240\256\234]\341\305Q\230\77|\202=\217\235\376\355"
+"R\307\200\25\202\23\62\27\347\27\204*\303X\265e@riE\327\331*~^\23F5\221"
+"\317\3263\325\365\225rl\33\255\312\214s\313\325\332\302\6E\353\330c2&3"
+"\35`V\361\206&<h\333\264\2028\21i\310\366\245\202\35+\366\204\311\357g"
+"\'\22o\300V\245 \307WxFe\365)\250\13\263u\351\16\262\77\375\224\36\354"
+"\316q\266\276p\35\330\313\214\355\23\375]<\307\200\337y\266\350\2\346U"
+"}\261\6\377\370\7\306\267\313\23\304\334\3150\257\31\35\331|v\274\266B"
+"\17\220\257\271\211\206\33\32T%\3w\305h\373)w\3117\215\3553\313\316\320"
+"\207\264\364\21\327\230\336\232$\341<\77\62\270}\231\206\372m\276\270j"
+"\31_,\343\370:\2656\376\37\256.\225\241\13\237\340\23\36Viws\345\215h\251"
+"Pq\202\317\250w\327E\16se\215\\\344\331@\302\351]\256\261@\345O\20\273"
+"=%Gw\206\272\223\233\256\201|*O\216\3164\312\247L\212\266\227M\330&\202"
+"%\243\366\257d\322Za\263\364,\233\247%\351Z\310\363*\201\216\236t\243l"
+"\272\373\223\346\227\20B\227\264\224h\232d\351\332\311s\3302BW@\203\326"
+"UY\272\36\372\262\234\320\t\31\253S\226\256\227\276\334A\236ki\206\217"
+"\227\245\233Eg\321=\21\177E\253|\351A\f\17\355!l\263\t\324I\207\275\240"
+"#\317\201s\30]:\305\f\311\323Y\350K\n\243\23\242\245\27\253\23\354=\236"
+"\321\305\321a\233<\235C\210\177\214N\250\222\254\276\375;\210btQtxF\325"
+"t\340M\353\1\306\30\335\370\315\240\233ft\302\376\302\344\31\204\344>\310"
+"\350\4\333\b\226\247\23Z\214\1F\'\370r\244<]\4}\271\306\350\204\30\22\355"
+"\333f\207\206\31]\317\30\31\217\225\247\243\245g+7\24l&\343q\322MWx\bM"
+"\205\304\356.PT\242,\235\340\352\347\235e=\0\0\234}\211(R\273\304\302\177"
+"IVJ\254c\270\373r\213]\217\216\346\3724\32W\313h\217u\337W\26e|\250\352"
+"^\261\16~\206L\272\42\246L\242\331I\362\311\357bgw\276\210N*\'\232\375"
+"\2\335\273D\363\r[\332;\252\206\326\361Q\250V\361\213\230/\320\345j\254"
+"\333\364\231V\353y\316\314&\265\361\321\16\267v\240\231\314Hp\16\355s\276"
+"\215T\256\275;\367\376\365\307&]\332KJ\2463;\370\224\35n\247\264\211\320"
+"\255\6\0\200\7\34\210\210\323\273\224`h>\340\232^\33\244*\315\247\334\213"
+"\351X\13W\36\4\0\bjGD\34\246\t}\325\224S\277\307\371Z\301g\34V\331\344"
+"^\256\354\n\0\200\2475Z\220\325\316\365\331n\3\0\b\354\341\2519S}\311a"
+"\21\217\351$\42\342>7\220\253\327\255\5\0(D\335\6\256\\P\207O#\342\204"
+"{}1{\304\t(\6\200/\30|4E\313\241y\2332n\206\2D\304\243*\220\313>\177\2"
+"H\236b\360\255\232\36]\302\227\267\33\236GD|A\205Y\350\262\346\fx\237\201"
+"\33<\204\240#\faI\334L\313{\32\326\234\200\3629\223\254\13Y\354!\340D\267"
+"3\276\317\267#\42\316Wc>v\352/\362\77\267\321c\0\313a=9\236BDLWC^T\234"
+"W\345\341\32R\352\20\374S\243\301\270\307\315\205\33t;\337W\4\354z5 Sd"
+"\353J\325\17\330\333)\370\244Z\37\'\260\365-0J\0\233\310~\35y\372\365p"
+"\177\216qBYC\372\324\26u\233O\330z\263e\22T\16\267\27\374c\256\266\35#"
+"\42\266f\310%\274\230O\371\234\321\35\304oM\305\337\362\13\205\3068\351"
+"\233\331\225\37p\223\263\236\256o\353s@H|\306\322\2Z!\264-\0i\t\333:\204"
+"F\262\310\233\352/j[\247\1\335N\357\312IS\311\321q=\272F\360VB\37\334["
+"G;\245\256\312G\17\3617\215P\22\244Kw\243\246\6\2\323\322\223\315!\0\216"
+"\376\277[\272\1n\'E\305\3533\257\250_\345\253\353\341k\371\336u\231\342"
+"u#@*\325\244\207\204\222\325\346\13\335_\344\231G\234[\335{ i\213$e\220"
+"c\211b\4\343\256\334\355\365\352&\311uG\200bz\331\341\0\320\341S\23UKo"
+"\20]uX\21\0@\263OG\373\b5\345\326\b\0\200\300\313\210\210\311>\321\205"
+"Y(\337\361\20\0\330\202\210\330\344\243\345U\b\256v\261,\357=\233\356\205"
+"\257\201d\333\265<\330\232\346\253c\34\321\242;\354\263\237%j\304\302\221"
+"T\337\375\266\304\241\252\350Kg\22\7\66\270\363\2755\263\270RJ\243 N\256"
+"\233i\234J;\306|\327~<\313 \223I\21>^\2600\16\206\333\352\252\257\202_"
+"\376\367\362/H\235\266`2TG\261\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\3\212IDATx\332\355\230ML\23A\24\307_\251|\210@IH\245F\4D"
+"\254@4\2J\374\270\310gE\371\320\20Oz\200\204\240b\24\303A/\20\61DC\324"
+"\304\2031\34\275\210J,\302\1\23#A0\212F\301\b\202|\4A, \222B,UL\251@\327"
+"C\331\235W\330\226v\37\7\17\373\277\354\177v\337\376fwvg\346\315\0\310"
+"\222%K\226,Yk+\5\200:|\365\2609\213u\332\352:d\35\300\211j\367*\235\235"
+"\30\36\356\376\360y\3369\311]\5h\265\0\60\333\322\2447:\211(\346<\324\337"
+"\306\f\21\214\227\204\266\365\316nj\77$\326\342\373\217\3\370lPm\322j\34"
+"/u}2[x\257R\205\305\250\361E\256\346\374/\347u\305\352\361;\24-\277\34"
+"Y\324\212\257\17\356t\361\330\312\1\26\330!\26\260\3475BM\'\272@\325\262"
+"\270G\242\1^\327\20\312\30\351\274\305g\2305\211\222l\345\225\254\240n"
+"\360vJ\262\255\376\341\256\2660\37_J\371\13\270\22T]y0\345\177\352mf>\260"
+"\220\364g\352\221\77I\42\241\206\202\4\r\2054bF]$\201B\342\306P!\206\324"
+"\203\177\42\257&\221~#\37D\42\341\321\321J\42\5\340!\231D\332\210\374W"
+"\nI\271\5\25\372(\244h\77\324\370\235\24\22\36\302\33\27(\244\\\344\357"
+"Q\372]\304a\346\333^PH\25\354w\232\277@\31\351r\n\230/\353\42\220\322k"
+"\25\202\277{K\372\34\354S\361\314_(\334(\221\232a@\320\251K[\3314tZ/-W"
+"\361\217;\220\246[\317&\241\373\227\215\356f=9\333\231\367\r\f\r\305\315"
+"`\325W\365\271\237\77\205\2059\33\62\337=~0E\313\304\0\200\33|\337\334"
+"\374\203\234\323}\257~\333iv1D8\224\262\222\\}\272\344\260\77_\26\335\254"
+"\266\232%\42Kil@D\312\305:\223pv\254\330K*\311\376\355\362\332\204\363"
+"\355Z\n\t\0\362&\371\13\63\351\342\367\272\333[\352\223\372\371\224\363"
+"i*\211\4c\272q\376]\353\265$\22\214\347s\374S\325(i\371x\313\23\336%\235"
+"!f\366U\202\273\342O#}\354\341]h\1q\265Q\'\270\263D\22\313\346v\305\323"
+"H\35l\236\314\243\221\254\375\202\315&\256\312z\5\267;\204F\372\306\356"
+"KY+\22$\323H\23kFBCx\234f\255\236I\221L\42\31mb\2577\303q\\\246\207\244"
+"\205)\21\222\267\n\0f=\315U\f\314\356\330\214\227\t&OI#\310\247-\35\243"
+"\0\0\214\236\222\6\220\347\263\304h\0\230\233\366\224\324\203\247Y\37\373"
+"q/\0\fq\236\222\332\221W\35\261\37S\355\35\322\221\344-j\361\f3\212\n\347"
+"\0\0 1\326^\203#I%j\261\236#\257;\n\0\312\233\0\0\255\313\302|\rl\16\66"
+"\370\212\2222\360\326\312La\364\276\6\216\343\270Q\205\343bK\367\22\207"
+"\275\312\f\22\313m\fb;R\327\355\273F9%\0\212`\277\20\315\312\3161m1\333"
+"\0\3564\242s\245\267Ev\361\266M\270\267\'V\354\320\2C+\3\252$\255\21\254"
+"\371+\266\374\272+\245\255[\336\24,\313\353Fr-\22We\17\263&\35&\301\203"
+"\6\220,U\331\360R\13-\266\34C;~\222\24\225\20\356\3\263C\355&\220%K\226"
+",Y\262\376\177\375\3\223:\362\314\332\237\2447\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0x\b\0\0\0\0`iu\327\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\4mIDATx\332\355XklTE\24>e\351\303\26\204-]`-\345"
+"a\221\264\200\42VS\33\364\7\217`\32\13F\220\244\6\264\204\4\23\t*\25\215"
+"VR\23~`\23!(\261\200\32E\13\265@\42E\3\201\300\206\340F(!\256<J\241&,\205"
+"\22*\215\261T\272\355\2\262\275\207\37\63\323;wv\356\314\324\237\346~\177"
+"\346\3569\363\235;\217\363\332\13\340\301\203\7\17\36\376\13R\344\342\364"
+"\'\13\'\6G\246@o\317\325\266\363\327\7i3\257\362\227\273\310\341F\375\342"
+"LN\375b$\22\371\330\235]\274/\201I\210m/`z\177\7\42\356vcOhD9\254\206\361"
+"d\306ND\304\203.\364\327o\243+\342U>\0X\200\210\210a\351\371\r\331T\311"
+"\36\233\217\237\213vZ\340\317\236:}\316\243Lx\262\374\206\277\345\21\0"
+"\200\337\237\226\335\305w\364M=\237\346\363\362i\237tQE\307\314\235\344"
+"\241U\266\370\215tV\375\30Q\223\2716F\367@\247\310\256\364\25\242J\254"
+"\224\331\316=\3408\213\177\222g\4n\221s^\352\342h\325\375\34\77\221<\341"
+"[\242\331\354\352\30\257\361~\221.j\'\337\'\'\224\351\356Y\313-\233\237"
+"-*k\211\374=\225co\260\371\343\5U\32\271\42+\250\342\373\216\16\360\247"
+"\13\252R\42\276\244\216\254 s\4,f.G\307\271d\370C\315\277\271\206=e\t\374"
+"Yd\350\322\204v}\330\205_\350\374\351\6\254\264\310\303p\'\177\324\b2\216"
+"\321\345\226\263{\245|\306{B\233\2346X\262\3653\257\311{\\\307\277xX\306"
+"\317`\352U\332\5lu\274\220b\6\273\327\177\265;\30\322\201\210\270\315\371"
+"\376^\246M\3353B\303\267\366\362\353\247\310\260=\373t\216\306\300s\210"
+"\210\77\n\302\353\266\201h\261\232\357\353B\304\303\202\377\234\261\365"
+"\371\'j\3*~\177\30\0\206\t\302\267\235\345bK\201\302@nQQQ\241 \233\330"
+"/d\373\2465\371\203*z\7\223\13\306\345\257^\r\32\363\237\265\244E\247u"
+"\353\222\321f\6\276w\253[V\313\27\213s\364\374\207/\273\227>\264\316m\232"
+"\237\24110\371/T\242\267q\231\3327\13\256\241\6\361\206\331*\3c\217\240"
+"\26g\26\252bkU\267\336Bh\202\302B\316gq\255\201\356\371\312M\254\357\324"
+"\31\270\267@y\216\251/5\336Q\33\350\323\204(d-\331uSe\340\317\200\276\263"
+"\234\271\366\200{7\365\223\221O\373\236y\377PLn\240\3244\260\206\226T\35"
+"\221\330\270\2202\210\340\36ZR\25\22\217\364\205Av\305\231eu\16\23\373"
+"8\335\17\241P\250\\o\42\270\233\277C.\205\267\253Zb\36+\356JO\260\35\21"
+"\257\30\355\342\371\276\1\376z[\32ED\31452Pf9\\\200\344\3778\0\300\34\263"
+"<\373\345@\312\266\205\315\210\210\273\314\356a\24s\206\277\5\376\2554"
+"3\3_\263|f\257\337\2\0\360\3173\3437\362-\24\341\307\0\0\240\302\214\337"
+"D\307\230-\372\225\244\5\303jC#\273Sl\330\322\3362\343\323\346\77\211\17"
+"\253\3F|\312\271b\77\367\320\246\256\332\210O{\367K\311\3057\361\224\1"
+"\335\317\7\260\263a\365\355H7\250\324d\270\327$ixgl\326\363i\1:\304\335"
+"\337\36;*\227\351\350\303i\211Z\304\347\17\2566\350\302\250\2326\'>9\37"
+"\373\346*\351Sh}[\16.|\214\227\251\272\214f2\351\244#\375~\343\310\254"
+"\375\353\\ssV\230.\322\331\277m\23r\363\261\307\344\364Ig\351\4!\3312\376"
+"\226\217\350\177\314\370\306\261\222j\364&\253g\37\202\224\37\315\202y"
+"\254l\336\251+Mu\336\333\33\255\254\231\372@\374\376\362\371;\0\08;\f0"
+"z\373\300\305\366\375v*z\255\3736@j`\334\264\222Y\254\377\212U\354\27W"
+"V\203\210\210\265\344\307\313\355\312\332\177tR\362\316j\20\21\333XO\375"
+"\320\273\356\265\277e\221\354nj\20\321\342\374&\275\342\204\254\235M\374"
+"\\&\377\203\270:\22\211\3248E\343V6\264\3616\22\27\353\312\263\215\277"
+"_\21\f\313\317\13\214L\3\270\337\323\331~\265\327\373\330\347\301\203\7"
+"\17\377#<\0\302\323H\254\37z\351\367\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\364IDATx\332\355\230\313/\3Q\24\306\277\216\21\217"
+"F\213D\304\2\261\253\4\21\335\225\225\215\20\353\372\7\374\t\26\302\216"
+"}c)\204\215M%\302\206ZHD=\272\250P\351\242\42D\204xTRTPD\313\342\316\343"
+"\316T\252sYHs\276M\347~s\372\233sN\357\275\323\\\200D\42\221H\205$\33\200"
+"\206\32\361\357\237$\331\347\334\247\270\274\0$\0\216_\324\341P\30\25\177"
+"\300\370M\36\25\0\344o\30\367\221\363D\272\326\335b0\323;\261dUu\263\253"
+"(;\17\0\270\346\233\364\340\353\2601\273\347\221\263\217]\314\264{\3\31"
+">|Za<\353V\332W\251\77c\224\213\355\327mw\220\363\375\314\223u\347\256"
+"\233\317\323\303\305\362}\227\306\364T\2\314\252\322\214\3336C\255\255"
+"\34\303\330\205A\r\262\315\214Fu\374\346A\236\f\214\250~\324\24:\204\274"
+"\31\2665\305\77c\343.e\270+\345\317@\375\213\322A6\307\324v\re,\314\255"
+"\213I\303\374\30`\304\215\254\270\\y\240\366\215\335(\7$\r5am\222\307\347"
+"\265D\264Z\342\313\26W\312,\317`y,~Xdl^\252\213N\313c\305\352\212\315,"
+"\231\363x]\267\274\354W\271<\34\0\20NYf\4\337M=\335\262\276\375<\357\233"
+"j\t\t\354a!\23cO\200\21\326\31N\0Wq\1\306\201\261\37\21\241\367S\312PK"
+"L\204\221>R\177[{\21\200C\241\27\303\21\313C\206m\n\300\216\20c!\t\234"
+"\346\16\311\271\366\371=\372\17\376;\20\203\30\304 \6\61\210A\fb\24\32"
+"\243\204\273\226\5\31\3749@\245 \243\217\273\356\25)\262\264s\232\77\34"
+"H\215\267\27\347:\17\62h\252\t\200\263\254\272.\353\316\307M\42\365\4`"
+"\306\377\323\363\243\77\36\1\r\27\362\34#\221H$\22\351\277\352\13\225\276"
+"\261VkMM\326\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0"
+"\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\264ID"
+"ATx\332\355\230\315O\23A\30\306\237Ji\13\6[T\f\204\24L\24\225\230j\340"
+"B\214\206\b\361b<x\361Bb\202\361\240\361\344\37\340Y\215\221\204x\360\243"
+"7\rz\346Bb\200(\7\203\340G\42\221\240\220\372U\22\324B\255t\255\224b\345"
+"\365\260\r\235]vg\246\311\34l2\317aw\262\373\354/\357\314;\263\263\373"
+"\2ZZZZZZZ\233\345Ap\257\3002\277d\273\320T\347n^\233\6p\212\4\272d\177"
+"\354\16\307\34\7\266\250\357xy \275\370x\3\360W\3276\34\330i\273\365\345"
+"\303b\346W\36xc\177f\264\242>\334\32pH\315L\374\333\274\345J\373\b;\316"
+"\321&~(G\372\323\226\274\344\356w\3736\333\2KE\307Sq\7\353\37\63\304\351"
+"Vg\323\263\242\345\246\314\240\25\231s!\227\364\244\35\233\256\312\237"
+"3\n-\352]\26g</\223\333\304\275BcxR\331$zT8\77T7/\337~-D\251p\252\2776"
+"gpR!\362\35sT\2044\27K\\%2\301\34\25!S\314Q\21\322\\\21\206J\344\37\363"
+"\25\244\22i\250\217\262|7\n\215\324H\215\324H\215\324H\215,\17\244\371"
+"\217\266\242\22\351/\3413\253R\16\271U\364\231\365\267\330\254\226Cn\3"
+"\0\374tGf\354\203$\224Y\222HJu\274F\16\331\0\0\311Uw$\223\271\35r\310="
+"\0\360\tR\310F9\344!\0\230\345 \231\337\325\26\2719\324\16\0S\34$3\314"
+"\241\3352\310\343\1\0\230\340 \331\302D\267\f\262\7\0\322\2578\216\375"
+"LeaX\202\30\312\20\21\rp\27\374\217\42r=\42F^\'\42\242\223\\\317\3&\314"
+"Q!q_\226\210(\306\177Mt\262e\232\213\2\242o\202\210\210.\blO\30\344J\7"
+"\337{\227\210\210\336{\5\310H\216a.r\313\220\327\314!\357\22\216\317\25"
+"\266\353\13\207]}\225Q\323\322/Nb\305\20\3134\316\273\330Z^\230\206q\237"
+"\314\33p\322RJ\33is\232\217W\263\346\335X\235\324\272\r\216Y\230\353C\247"
+"m\221D6\nxsa\331\375$j+\306\246\6/w\205=\0\20l;{;\266q\375\371.\371M\352"
+"\314w\207*\257\221Je-\341\337\362\227\262\361\205\372r\242\242\363Lg\251"
+"\273ic_\212\7\234\355\365\242tU\365\f\376v\346\245\7N\360\326\265\207\373"
+"-q\364X\307Ak\1\67\61\365rl|\215\33\213G\30mMs\363\366\332*\0\253\351\344"
+"\302\347ehiiiiii\375/\372\7\13\342B\355b\0\315\362\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0x\b\0\0\0\0\237\313P5\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\3\327IDATx\332\355\230Kl\25e\24\307Oi\275"
+"\267\227\26*\22^\6\210hS^\226R\baC\304\204\5\30\20\335(B\5D|\4\60,\334"
+"\0\13V&\20\233\230\360Vc,\25\215\tA\33B\334\30\65-\210!P\37\345\221\200"
+"\340BM-\n}Y\260\241\27\332\237\213[:g\206\231\371\346q\23L\234\263\271"
+"\367~\347\177\177\371\346\314\3678\347\210$\226Xb\211%\226\330\375\263"
+"\202\31\31_\377\357\327\355\277\347zK\317\3139|m\203\343\17>\322\311\303"
+"\362\370\214\377UVQ\335x\31>a\376$\347\370\305K\177\366\210\210\374\344"
+"\30\177[\212G\224W\2259F\273\232\177\353\224\236\301\267\271\264\325\26"
+"\306\226\251\276\23x`q\223V\237[^ds\227\267k\357\22\343\363l\263\304\37"
+"\245\235\316\27\65k\22198\237\336\325\36\2737\344\5-\212\265\335\314\232"
+"7(\275\372\220\213s\215b\2355\2632\203\322\325n\316\3245\5\233cd\215\310"
+"\t/\fs[_\331\203J\371\212\221\365X\356\243v\300\325[1`\315\253\273\304"
+"\304Z\17@[\312}\335_n\264\276\227=ob=)\42\42\7\263\36\356\27T\300N\232"
+"\366K;@\377\24/\177\352\272\202\315\360g-\6\340+\317\275\235\255\17\36"
+"\375\227DD\244\316[\240\243\337\236\366C\225\365\2t\370i\32\325C\256\364"
+"c\275\16\300n\77\311J\305\372\332Ox\n\200J\77IZE\177\340Qo\335t\0\316\370"
+"\236\253}\207\324f\367\211\376\32\21\21\371\320\377\365LU\321\277Z\344"
+"\245*l\5\2709\322\260\6\217\253\210=\353%z\n\200z\323\326X\245X_x\211\16"
+"\3\260\300\304J\253\263\372\316Dw\315\250[\0\227\nLw\232\216~\341\313\36"
+"\3736-\42R\207\361\\\232\246\242\377\253\373\355y\32 ;.\300\215y\302t\37"
+"\315\4\240!\310\355[\243X\237\271\tj\1X\32\204U\254\242\3377\326\345\344"
+"j\3h-\f\222O\334\372X\235h\353\\N\256\t\42\42\365\375\201R\214\351\352"
+"!\177\276\347\305\313\21\323f\265\331\267\n\266\320\351\34\335\7\360M\320"
+"\334G\247\3\2378\235\233\0X\25\224\225\351\260X\275\243\34\316\357\1:\212"
+"\3\'e\273\324\3046\333]\225\0\354\r\236\340\315\324\311\225\335\365\16"
+"\0U!\262E\35\375\371\266\305\365\27@s\230\314S\347<\37h\307\323\256\211"
+"\272\177\364;-\326\215R\345h\0\370\247,TJ\274[M\3545kxL\37\300\241p\351"
+"\365\343\212\245\256\233\315\0<\21\62W\77\251`\263\206F\177\364\330W\376"
+"\266V\261\206VS\25\0[\302\326\20\231.\213\325\225\321k\370\366\370\320"
+"\5\311^5\261\325:\243=\32\276\270\251T\254\23\271\241g\0X\26\241R\372N"
+"\245\26\271\222\346(\300\37E\21X\353\324\304jED\306f\1vD\251\340\206\253"
+"\350_K\211\310\233\0\3\345\221\312\301}jb\317\211H\13@c\264\322r\226b}"
+")R\r@M\304:\365\224\305\352\177D\366\0tf\42\262t\364\337J\265\3\354\217"
+"Z\77\227t[\254\326\25\0TG.\306\367\253\211\265\1\374\20\275\260\257r\266"
+"36\306\350\22\234\266\243z\37\214\321\237x\337\376\263\241;\306\274J\377"
+"\266\315ka\254V\310\1\215\272R\20\2135[\263\266\306\354\321\234\261P\267"
+"\37\216\311Zo\261\216\305\355\35\225\366\f\261\226\307nD\275k.\217\2[\365"
+"]\326\316<t\310\232\7\317\374\212<\260^\315\261\232\362\321\271+\275\341"
+"\335\3\nm\357\1tg\362\302\232\13p H\3377\200\346\215\22\221\317\177\221"
+"\304\22K,\261\304\22\373\337\330\277b\323G\213_\5\262V\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0c\0\0\0x\b\0\0\0\0\303A\23\21\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5\236IDATx\332\355Y]l\25E\24\376n"
+"\177(\215`\223\33\304\320\207\212\26\b\250\30,(\n(\301\220\246Z\254\224"
+"\210&\20\37\214M\264\17\232\2501\342C\243i\fH\242\30\23\203&\206\37\23"
+"\215B\301Zh%\1\304\37B\250RhU\n\21\204\246H\371\21\60\215W\333\212m\77"
+"\37\266\275sfwfv\35751\306\354\367rw\367|3g\366\3339g\316\314\5b\304\210"
+"\21#F\214\30\61\376\33H\\Wb7\366\37\3\0L)rtp\254\177\344b\346\30\63\341"
+"\322\31\324\322\216\357=V\263\203\302\231\243}u[\b\353\221\363/h\365\177"
+"\361\221\327\276\26H\226\336\223/\37\362\320\321\313\4p\301\273\335v\24"
+"\230x\303\334k\364\226\355\255\277\1\300\245\321\373w&\214\277~\352t\337"
+"\230Ot\234\377r\364\272\364\264\374L\217\232F3n\265\244\364-1\16y\302\223"
+"]\2123\264q\206f,\227\35\344\233\337y\243\240\274a\23\346\332\317G)\277"
+"W\370mGE\7\67\231\233O\23\224\247\255\352OHy\214\301\362\3007\377@\320"
+"\346\231[\237hS\327\263\255>.\267x\277\353v\7L\245b\220[,\315_T\224+yV"
+"\'kI\222\27\306\31L\207U\7\251\261\346\326r\34\367Y}\274N\222\2543\305"
+"\30761\205\312\315\255O\t\261\226Z}\334\b\0|\337d\232\42\6\271)\\\2543"
+"\t[\226=G\222\255f\243\20\353J~\270Xs,>\312H\222\253\314\271D\210\225\\"
+"\230\275X\225\0\200]f\343T-!\233\361\266\242tZ(\255$\331mS\262]up\316\222"
+"+e\244N32&\16\5\306(\373\22bM\272\313\374=nA\230X\367\347\0@\213m\322\311"
+"\\\261\316\310xFf\265\203F\312V\222L\25Zg\366w\252\203.#a\237\3641Tl`\344"
+"\367\222d\243}\215jP\227\223M\t\251h\201\326\264\312@YP\24\224J\363\261"
+"U\\W\33:\250\320\303\246\3326s\371\231cU\24b\35\63\230\77\324+\216\253"
+"\206\232\350\270#\310=\324\211\36f\4\254\271WHrPQVZ\22A\235\253f\20\37"
+"\4\313\2\35\334\233\4\320\267\3115{\275 oq\226\20\77\250A\266\231\223v"
+"\343B\327\32\260\327\231.=\274,\304\232\34X\7I\262&\347\202\242<\350\237"
+"xW]\211h\4\67\13\37\317\372l\323Ir\270\30\357*\312\6\37e9I\2622\244\336"
+"\22\t\351\200\317\364<I\36\6\26+\312/\271:e3I\376Q\30\342C\21054I7\355"
+"\'\311z \357\262\342\350k@\316\305`\220\207\210U\253Y\222\203$9\33\300"
+"\6[Z\233K\222\254\t-N;U\7{4\303c$\331\223\0\360\200\242\234\326(\365#_"
+",\f\257\2108N\6\22\352{\0P\320\2538\263\2\253\3657\341u\273XD\362e\322"
+"\33S\236\216\256\77w\230\303\260\370v\0h\216P\311\37W\203l\362\27\304\3"
+"^a\266TQ:\4\245\206$Y\26\301G\275\352\240_\324zo\221\344H%P\2302\326\306"
+"\215$y6\21\301\307L1\263\36Q\217\273\344L\373XQ\236K3\nR\21\202<(\326\26"
+"\237\347\22-\236I\222_\373\266\27\225\221|\324\233\222\336Kb\237\13\214"
+"\353S\221:QS\263\2570\222\217\333\204XUZ\325\264&\315\331\256(5\332\346"
+"\271\21\321\360c\260\360\365\252\246\371i\312JEi\321\324\254\211\350\343"
+"\325`\341\373\4I^T\301T4\220\246\f\214\367\36\255\212\30\344\36f\t\261"
+"\26\213i\271Yp\232\3\223o\77I\36\212\274\241>\341/|\307\246Hr\271\240<"
+"\256(\37\211\224Y\27\331\307j\177\341[\31(C\222W\323\224\336\2\0X\219\310"
+"\203b\315\3\200\365$\271O\343\354V\224\212t]\324\223\210|\226\321qR]\77"
+"\f \361\20\0\64\331rg5\200\334\n\0h\42\262\21\253+\2755*\325\367\0\252"
+"\316:\237\3,\310 \310\345~\313\303\354\221\5\370\270\217\363\205\246\347"
+"\32G\220\233\3672GNiJT\231\n\263\355\32\245\22\0\366\364gr\34\364\232,"
+"|\213\207Ir\221\217R<\224\246\234DIFA\356a\216,|\237\42\311_\3[\335\3\212"
+"rk\255+\310-\373\2766Q\f,[\2\0\273\376r\254\312\325U\0p\344\\fggB\254\316"
+">\222\\\21\240L\36Vz\16d\26\344A\261Hr0\31\344|\353\343\224e\350\3\247"
+"\365\366\373\335\'\33\366 w\235Yn\323oM\25\315\'\372\355Nf\372\36w\350"
+"\203\234\36rh\220a\220\217\34\337t\311\366\77\205n\355\34+\271U+n\227w"
+"\346\335\227F\331\333\237\361{\340N9\310\362\320\2<\303 \17\212\225*\b"
+"-\223\42\257\344\206sA\222dC\370bv8\253\363\366\6\367\314\5\200\16\65\27"
+"\232\262:\212Ot\7kA{\312)\313\312\7\326\215\266o\r\217\242\236Dv\377M4"
+"\270g.\0\264u\247\353\255\354\336#\361\263iCf~\327Jd\2117\275\366\335\16"
+"\312\274\260 \17\303\335\356CR\0\310\351!I:7\201\316\377\212Z\317\206\36"
+"\343\f{\311\367S\340\37\211\345\326aQ\366A\356a>I\356tRr/\272\203\34@\236"
+"\323z\360\205\\\340+\'e\250v*\320\216\30\61b\304\210\21#F\214\30\36\376"
+"\6\34\245\262=\320s\301\346\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3\366IDATx\332\355\230YlLa\24\307\317\264c\350j\212Fk(Z<H5\242"
+"Dl\17M\354\273 \210X\33\373\3\211\330\342\5!\42\302\13\21\244Iix\20b\217"
+"4\265%\204h\355\273nh\253\33205\351\324V\306\374=\334;3\347\336\271\367"
+"\316\275w\372 r\317\323\334\357;\363\273\337\371\356\331\276\217\310\22"
+"K,\261\304\22K\332Vl\31\251\232\363U\315\201_\271\352J\365\215DD\207\240"
+")\223\202\352\32J\233\211\210b\332\314\272\177\221d/\361RL\'W\256|\337"
+"\337<\364|#\42\252\16\216\354\241\370\224\254A\355ez\r\217k\274t\217/m"
+"Z\215d\17Km\312/\216_\335\314\264\376\24\rQ\320I\253\344\244j\233\232\21"
+"y!\245\327C\224U\372\362\267a\272\352~<\17\250\24\'\251\251,\340\244\232"
+"\216jjWD\215s\16\365\335\77\315Q\307\325\264\304]\270\256\1\242\316\r\34"
+"\65SYi\2740\373\254\243\246KL\3643\322\3474%\225\204*\0\200;3\202w\35\346"
+"\213\272\254\364\375\16\2\0|\343\42\371i\242\304\25\226\207+\214\21V\275"
+"=\262\313\17\3671RK\37\371tJ\35\0\340f\254\216\350\331\305\27uW\376\217"
+"\223\302\16v\323\23\207\216G\34\265U:9\33\0\340\237\244/\244\263\1770R"
+"\353 I@\271\1\0\373\364f\207\365|Q/:\260D}\31\0p\337\241;c\335\344\250"
+"\375\241\211e\0\200\346,\375)\253\'\17e\177^`8\263\5\0\60\317H\366[,\t"
+"e\2470\30{\13\0P`,\221\236\343\250\42al\3\0\340U\2741Rj#G\315\42\42\32"
+"\360\23\0\276\17\60\232\335\247p\222;\235\310\361\4\0\260\322x\241(\340"
+"\250+6\321\365O\233(9Io9j\3050\37\0\274O1S\275F\361P\376\372\16\0~\17\67"
+"W\b\367\204U\377-&Kj\373\2472\320U\323\345:\347\247\4\324\230f\276\320"
+"o\344 \377\330(Z\6\61>\304\302\235\27M\367\221\351e\250Zg4\250|n\337\211"
+"\250z\242\213\34\65\'\32RWn\337\27W\24\244\251~\211G\331L\203\322\335R"
+"\347\\k\272\7\275&s\363\37\375M\2226\205\205\336#\207)\320\340V\0\370p"
+"\233\243v\233\1%V\bQ\322\343\13#\371F\232 \35\3\0\34$\232\303\27\3656\311"
+"0h.\0\240<\236\210\2128\252\320(\250\227\7\0~\17%\42J~\307Q3\f\346\201"
+";\0\200\35\302\323H_\304\256QU\266\t\315D;\361q\247\254\324\30\255\7\337"
+"\203\216\330\256\214\243V\351\79\337\3\0\326\205F\372}\345\245\246\237"
+"n\322)\241w\347V,\347\213*\263\353\4-\5\0x2$\203\278j\273>\220h\311BY\327"
+"\301\17\20\202wD\354Y\37\0\0\316\310\307\'\360\\U\231\240\203\264\27\0"
+"\320\320%l\342\0\267\357Hd\320h\277\354t\37\224\270\227\274\376M\216\330"
+"\204}\4\0\34U\232\33\330\312krj\204+\215K\302\3415Qqv\3\267\357\2746i\215"
+"\240\245RpcnpT\276\26h\240p@(V\233\227d\275\26\2153^r\271\2403UUC\222\365"
+"\356\250\36\251bE\77\376\23\247\376\262\42\215\3Rh\267\3\327>M\32\366\'"
+"\3272\322/\345\13\3{a0\355k\265\357\263\371\242*\224\262\272\213\225\311"
+"EZ\345\264\216\243\316\206e=\307\252&\236`\2635P%\222ZZ I0\366\334\235"
+"\322\373\31\264l\353\251\6\352\336$U-\235,~\37[\376\22gV\7\245\273\267"
+"z/}\232\37|\354-\306\2173\'\254\240\373j=\36\242K\366>#\224\337\355r\21"
+"\325\262\212<Z\375\n+\223\210\250\362\377\276\247\263\304\22K,\261\304"
+"\22K\214\310_\242\306\21\330\3249\227a\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0J\0\0\0x\b\0\0\0\0p\t;\13\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\331IDATx\332\355\230MHTQ\24\307\317\214\216\332(\2761"
+"*\202\2601\f\5\261\310E\6\25\4nR\306\350\3\351\3Z\325B\2-j\253-\332$SD"
+"\24\24\265kcn\202@Z\364AQ&A\265(\372\20%\207,\230\211R\251f\2127\245\363"
+"\376-Fg\316\233y\357\276\367\346I\364q\377\253\307=\177~\357\336;\347\235"
+"{\356\20IIIIII\375\16y\224\325b\303\267\261\354s\311\32\201q\234B\20\353"
+"!s\257\24\31C\336\205[\340\237\211*\216\204\211\224\340\206\3059\343\332"
+"\360\310W\42\42\232`\203\3610QYU\315\272\312\\J\364\371\373xd\356\271h"
+"\337\7\375&\266\213^\337\376\222[\247\373\32\365\361\25ot\2502\341Z*^d"
+"\214\251\263\201\274p]\234\243\266\210\367eOfJ-F\341\203\34\65(F\325\316"
+"\331\2764\31\'\376=\316j\263\203\322\266\233\304\353T\206\212\370E\250"
+"\226\264\351\274\251\241\227O\353\244\bu\2\0\60^nj(y\315P\77\33\4E \375"
+"s\267\n^\2661\305\77d\217\251\257\3\0p]\270\235\27\371\22\17\230\271|\243"
+"\0\240\256\22\242\224(CM-1qu\3\0\302\26\337d\7\237\326\25cO`\n\0>)V\337"
+"\367 Ci\3069\177\6\0\320eY*\252\23\2145Rj\224\236I\0\30\365Y\227\235#|"
+"\211=\6\206k\0\200\35\66*X\321S\206Rk\363\342\233\1\0\17lU\303\246\31\306"
+"\272\225\227\235O\0@[o\257\262\206\371\22\367\346\4\367\3\0\372m\26i\177"
+"\204\241b\372\312\266\350\35\0\250A\273\5\177+\237\326\5]\250\307Vv2\365"
+"3T\252\231\5\226\307\1`R\261\217Z6\315X\317\212\263\201\313\0\200n\'g\232"
+"\2568\37\315\f7\316\2\300\230\317\t\312s\237\241\22\325\363\3037\1\0;\235"
+"\35\265\365I\306\232/L\255\0\200!\247\307\366q\276\304m\351\243\364\225"
+"\223\3544)\316\23\25DD\235\0\200\253\316\273\211M\32c\235\42\242\312\217"
+"\316\262\223\351\22C\315\254%\352\313@\35+\20c\254G\336\240\n\0\223\201"
+"\202\32\246\335|\347;\7\0\0\207\13l\276n0T\\s\236\235L\301Dn\357\272\253"
+"\340\236\360X\16i\250`\222\2768\3Z\263\213VUW\2341\340\252\355=\315H\311"
+"\32W\250\362\267Y\324\260\273\276\375\373\271\3543\\^\1~\374\345\27\23"
+"\211\222(\211\222\250\177\6\305\f\245.QU\254\265q\371\257\333\335\354\341"
+"5[\357\2\244\264\335\346\247s\364\220\350\272l|k\277CD^\305\2774\377\362"
+"\234\214}V\223D\324\373\330\346l`\251\320\177\230\242RRRRRRR\13\242_P\360"
+"_2x\345\362\217\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+">\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\3\203IDATx\332\355\230[HTQ\24\206\3678SZ\2505\206\227\354JVHbX\17\335"
+"\357D\4\25\245h\364\322ES\261\202@\272\203\24H\27\b\37\272\n&\324SW\210"
+"\202z\350B)\241%6\25dE\245\17\245LI\245\16\231V\216\343\337\303\3148\377"
+"\231\263w\265\213z:\353ef\326\277>\316\232\263\367\332k\235#\204e\226Y"
+"f\231e\377\326l\201\317\361C4\301\236\6\376U\5M{+\204\20\42\42\200\'\376"
+"Y\362A|\330\177\306\335B\b!\34\1\332\36\246\242\271\271\265\243\253\307"
+"\340+\210\13}\367mee\242\341\266\274\334\277 \332|\275,\16)3H\263H\251"
+"_b\223e;\304M1M\203\r\332\252~\241wW\204\374\317V\20\335\267\330\250m\f"
+"\n\3373\25\267j^\37\341\247\303\304\235A!OAG\275\42\372\2753L-\13\b\347"
+"T\353t\200\357[N\270z\306\357\367\304+\350\311=D_1\311\327\375B\211\202"
+"\266\327\23\355I6\351u\0\200\316\241\n\274\230S/4\353\215\0\200S\nz\354"
+"\27\242\253%\273\302\3\0\230\243\300o\20\375u\202Y\37\b\0h\261\311\351"
+"\265\234\372nI\300p\0@\271\234\216\377H\364\23\207$\42\35\0\260\\\216\237"
+"%\332;U\26\261\b\0\2741Rz)\247~X\32\222\3\0\17\244R\364\33\242\33\7IO\233"
+"\4!\204\270/\337\255c\350\f)\374*\215\331\13\0\3312ez/]\274R\261\260G\1"
+"`\264D\30\360\224h\267S\201\237\7\360A&\224\360}\313R\225c\264\323\351"
+"\214\225\370S\277\21}Y\273\203\335#\272=Y\27/\342\324\363u\351\21\36\242"
+"\357\332t\361\253Dw\247\350\322\331\234\372\16]\332\371\216\350G\16]\274"
+"\222\13-C\227^\310m\341\220.\35\325H\364\353(]\374\20w\264\371\272t\206"
+"\227\360\n]\332\356\342B\323\35\272\304v^\362\225\272\3648n\13\227\264"
+"\13\355\26\27Z\222.\276\236S\317\325\245\23\332\210\276\255]h\347\210\356"
+"\322.\264e\234\3726i\3104\227\313\345\332 \225b\232\211~h\227\306l\2\200"
+"-<\224\366\333\301Q\241\357\336|\237\24O\23B\210v\2312\323G\27\337\257"
+"\370\177U\0\260T\42\f|\306\263\251\242\320l\35\0\60C\242\354\343B\233\253"
+"\270x\n\0 \325,L\342\266P\256Z\2335\0\0\363\3DD\r\321-\261*\374$\0 \322"
+"\344\337\314K\276B\2713\32\0\240\333\344\36\371\231\350\13J:\271\17\0\334"
+"&\3775\242\333\22\224x\1\0\340y\270{5\247\276^\275\253\375S^m\2307\256"
+"\225\350\233\77\351|\376y\343\2320n\3322Z\211\256\42\65\236\353\257\203"
+"\16\243w1\267\205b5=(0$\36\63z\233\210\256\263\253\361=\201\230R\203\367"
+"0\321=\351jzT\247,\301\251\334\26J\177\322\0\252eg\240\3431\321/\42\325"
+"\370\361\376\250L\331\203\24\0\337l%\3548\22\n[@\25\330M\370\t%=\245\226"
+"\302B\35\337v\207\334\3151\2123b\376E>\210\20\32u\363\330\275Lv\6\245\255"
+"\253p\207\275=\210\r\276\273H|A\17\326\337jL\23gdR\222\271W\370\34\262"
+"%\377m\373\324\77\317G\377\311[\7\217\20\322s\3767\255\343\357p\217\365"
+"\312\3132\313,\263\314\262_\332\17\322\333\242\261\3\207C\376\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\262"
+"9\177\217\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0kIDATx\332c`\30\5\243"
+"`$\3F\b%*\207U\366\343\35\4;\363\77V\260\205\201\201\201\201\211\260ED"
+"(aA\343\237\337\205\314\273\201M\311\211\nr,\32U2\252dT\311\250\222Q%\243"
+"JF\225\214*\31U2b\224\2407 C\314\220yG\n\260(\21\25E\346\275 \315\242\327"
+"g\261\312\336\31\355y\214$\0\0hs\42\274\323\32\364\302\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2ZIDATx\332\355\230IoM\1\30\206"
+"\337\366vH\347\246\325!Z)\202\5\26\206D-\220.\32$\225t!!\361\33\374\r\303"
+"\302\2640,\f\33\303\2\13\301\246H(\242\25\332\n\255PCh\3216\27\275-\367"
+"j\357\275=\217\205\242\33\221\373\336\355y7g\365\236\'\371\276/\'O\216"
+"\24&L\2300a\376&g\366\331\276[\222\16txo)\31\1\30\310\313\254\25\231}\246"
+"\342\333$\325\f\367z\360\274\27\0\37\213-\266\202O;%\225%\356\231\363{"
+"\0\60\61\317\34\377\6\0\216\270\333\273\2\60\275\330l/O\1\\p\341\'\1\202"
+"\265f{~\34\340\226\13\337\3\300\26\263]\36\5x\222\233\361\265H\222\246"
+"\223[%\325\277~\352\301\13\336\0\274+\264\330\232\211n\227T9\336e\336\353"
+"c\200/\225\346\340Z\1\330\357n\255\3 \261\300l\257\232\18\343\302\317\2"
+"\244W\232\355\246)\200\353.\374 \0-f\273j\34\340aN\306\327\42I\372\241"
+"VI\r\3\317=x\321\20\300\253|\213\255t\254]R\325\330#\17\36y\6\60Vf\261"
+"\305\320.I%\251;\346\334o\3|\2577\333\353\2\200\23\356\311\\\4H-3\333K"
+"\222\0\227]\370Q\200`\275\331\256\235\4\270klL\222\342\5-\222\232z\7=x"
+"\351(\300@\304b+\31o\223T3\324g\312\310K\200\17\305\26[\301\310\16I\345"
+"\361\373\346\307\275\13 \346\312\310F\0\16\273\'s\25`j\221+#i\200\363."
+"\374\24@\260\306l7\304\1n\272\360\275\0l6\333\25Q\200\276\334\214\257\345"
+"\227\214\244\262\222\221\302\267\377\226\221\377\262\177\313\310\327n\363"
+"^{\0>Wd%#\373\334\255\335\0H4\232\355\3253\0\247]\3709\200\364\n\263\275"
+"p\n\340\232\13\77\4\300&\263]\35\3\350\316\311\370Z\346\310Hc\277+#\303"
+"\0\203\371\26[\351\211vI\325\243\256\214\364\3\214\226Y\354Y\31)M\2722"
+"\322\t\360\255\316l7\7\0\307\335\223\271\224\225\214,\315NF\216\1\4\315"
+"f\273n\22\240\323\330\330\34\31\351\311JF\372#\26[\311D\233\244\332\367"
+"\246\214\344\17\2\f\27\205\277\271\302\204\t\23&\314\237\374\4\22\300\205"
+"\344\224\220\366\223\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\0mIDATx\332c`\30\5\243`$\3F\6\6\6Q9\254R\257\37!\330\231\377\261"
+"\202iPi&\302\26\21\241\204\205\201\201\341`:\262\210}\24\26%\327\256!\213"
+"0G\221n\321\250\222Q%\243JF\225\214*\31U2\252dT\311\250\222\21\243\204"
+"\205\201\201!\251\7Y\204\35\233\22vAjX\364\372,V\251G\243\335\216\21\6"
+"\0j]!\n\261jn\217\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0=\0\0\0x\b\0\0\0\0d\234\245\352\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2/IDATx\332c`\30\5\243`\24\214\202Q@-\300\210[\312\220\tB\277\273O\206"
+"\271\316\377\241\340%7\31\272\217\301t\377\257$]\263\17\\\363\377\267\374"
+"$\207\3079\204\356\377\215\244\352\16E\322\374\377\2430i\232\231\257\42"
+"\353\376\337I\232\356X\24\315\377\277\212\223\242\231\365.\252\356\377"
+"\23I\321\235\206\246\371\377w\31\3425s<\206j\3727\31\246}\6\361\272\363"
+"azV\260\334\202\262~)\22\253\231\373\5T\313oU\206p\230A\13\210\325]\1\323"
+"1\223\201\201\361\2\314$u\3424\363\277\205j\370&\315\300\300\340\r3j9q"
+"\272\33a\352;\30\30\30\30\30\216@y\177u\211\321,\374\21\252\374\235 \3"
+"\3\3\3\203=\314\260\365\304\350\356\202\251\256\200\nl\207E\2371a\315\22"
+"_\241\212\237qAEL\376AE\266\21\326\rO\37\231p\241\3250!+B\232\345~@U\336"
+"a\205\213i\375\201\212\355#\244{6\314\236($\301\3710AG\374\232U~C\325]"
+"`B\22U\370\t\25=\212_\367\22\230-\336\330\3\303\23\237f\355\277PU\207Q"
+"\305\305a\21q\6O\371\317\260\26f\2075\232D;L\42\0\267f#X\314nD\227\21|"
+"\17\225\271\304\204S\3676X\222\326\301\220\252\206Y\36\201K\263\25L\305"
+"\42<y\376\6\13\16\335\373\241\n~*\342+o\342\tT{\223\261\311\262\77\200"
+"\312\336c\305\252\3738T\372\13\366\302;\tfx:6Y_\230l\13v\247\261\\\207"
+"\312\77\346\300R\355\235\'Tc\206\301\214\317\303#WJ\260Z}\301\205Q\355"
+"]\203J=\341\304\231\34<a\26\224\241\313\304\301d\222\361$\344\303P5o\370"
+"pT{\327Y\360\350\266\205YQ\213*\236\16\23\17\301\233\201a\5\344\7!\254"
+"\325\336iF\274\272\ra\331\250\rY\264\0f\265+\201\202k\25,E\211!\265\366"
+"\324x!\222\377\316\23\320-\4\313\2\367\337\215\266\224G\301(\30\5\243`"
+"\24\214\202Q0\nF\301(\30\5\243`\340\0\0\344V\242\3\370e\340\222\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225"
+"\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\60IDATx\332\355\322\261"
+"\21\0 \f\304\260\17\303\262$\303\301\n\244\240\341\244\336\235\23\0\0\0"
+"\0\200[\265\372\311n\'#\377$5]\303[\7(\261\2,,1,+\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\25\0\0\0x\b\0\0\0\08\26\346\316\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\1\27IDATx\332\355\223\275J\3A\24F\357"
+"&A,\204X\b\321\200\330\244\261\265I\241\205\b\202\240\225`c\360\1\f\201"
+"T\326\21\254\3\26\66BJA\233\264\251\362\f\26\n\202\77E\210$\202.ZH &\260"
+"\307b\327\311\334\361\rtN\263\313\231\231\217\271\337\262\42\236\77K\352"
+"`\352\267\314\267\271\b\\\271\376\2\324\34Y\36\3\\\245l\27\324\1\206\25"
+"\2651\335\0x[S28\7x(\350\314\23\200\273y-\367\42\3401\247\345\322\7\20"
+":\307\245\5D[\216\334\6h\2703]\3\2039G\256\2\234\251\222D\244$\42\322t"
+"\3:@\3446\270\0\360\252TFdYDdfs6\373y\177\23\231\205}\f\317\25\323\371"
+"!\26\315tr\207/;q\367(y\331\261\367\22fb[P\226\2258\341\251\247n\225Kf"
+"\273T6L\236\213\3+\340\335\fY\265\354\361\344T\335\310\266\335G\251\13"
+"\300\350t:\376\342\77}l\24\363\243\333V\337\377\200\36\217\307\363\177"
+"\370\6\360+\272\1772E\25e\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3\31IDATx\332\355\227_HSQ\34\307\177\33j3\266\22\65K\33\213\245"
+"\242\320\234\246\206`\306\242&L%\nL\350I\t2\31221\t1\n\251\207\236\212"
+" {\13\203(z\250\247@\bM\210\nSL\305\277(B$\251\243\374\267t\375[\333\356"
+"\351a;\347\334{\356\271\333\254\327\363}\331=\277\357\371\334\363\347\376"
+"\316\237\1\b\t\t\t\t\t\t\t\t\t\305*\235\226\221h\0\0\317\246\300\35e%\373"
+"\262\314F\0\200\300\312\302\354X\377\240/\206\36$_\354\13\42F\353O\217"
+"\352\242`\351\367\177\42\256\206\17G\34o\263\27i\352\301V\3151\232\236"
+"\271B\17\301\201\201\31\367\37\60Y\363\35{\250\375\276r\235\337\336\366"
+"\221\320\253=mi4X\334\351\'m\276\324s9}O\310\36\317P\306\367\317\21\362"
+"\f\27l\n\273\7Y\303\262\204\301\3718\16g\\\r\273\245*\253\2264Y\311\1\353"
+"\2609\266\205\265\342\227\261wO>\264\360o9\16\330\233X\320\337K\246\212"
+"\323\342\b\351\317\242j\362Z\261\345\341\264\230D\42\31y,\370\31\77$\31"
+"\324\340\32\r\355bA\352\245\252\301a\32\372\312\202\77\350ZS\203OHdq\\"
+";\2339]}\367\30G\256H\233\333\n\342;\202\b!\344\255W[ed\306e\363F\262\310"
+"\337x\367\23058\365b\365\177\367\234\360H\254\5y\266B+\311\216\tu\213\352"
+"W\346\36(.\3147j\331|P\227\357t\224&G\354\13\7\324\37\2529\261;\352\30"
+"U`f]\235E^\336\230\236\b\234\213>U\25\335\262\315q\243\367Vu\246N\343s"
+"(\344\32&U\244\276\266\342\270H\337Q&s\27\251\260p\315\34-\1\250\216{\260"
+"\355nH\210\2369D-\22v;M\261\244\34\273\311!\351Rl\271\32\2263\200\275v"
+"\365K\217h\203\211d\327\375\300I\336*\36\30Z\217\r\344\214hGj0\205\233"
+"\376\0\0p\36\27Wzx\207\237&h\313\304\305\301\0\247\216]\23,!\3059^:;5A"
+"z\nnp\252\234L\343-{\275r\364\251\234\235\355&}\336\306\200\277I\261@\r"
+"\336\311\226]H\30p\211\24\213\254,w\241AV\310f\314\n\272\6;\31\253Q\222"
+"\337 ^\261\247*\275\244H5\212{\301C\204\20\222\26\210\353\0\0\200\234\42"
+"\\\341\21}\251\357,\301\22N\273\21B\b\265\220S\27}\277\341*\277\334\217"
+"\20&\263}\262\376\274\2556\1\200\321q;\324\220\324\6\3065\366\326C\276"
+"|\263\42\34\234\377\370\5/\227_\247\0\340:\303\215\323\303\267C\343B5d"
+"\3\0\60L*\202+\262U\242k\365s\260\345\226\360\206\2255/\213\216\346(\246"
+"\266\240\233\305>]\245\231\222\376\34\357\233\323\365q\354\241c\257\255"
+"\312%\205\311\336\256\327\212\223r\257\313\226\n\337\246\336\214rO\253"
+"\224<\313N=x\327gg\274\342\337\203\220\220\220\320\277\350/Ih\305\302\7"
+"\322,\334\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0"
+"\0x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\376"
+"IDATx\332\355\230MH\24a\30\307\237\375@S+\337YK4S\224\212\312\24\r\355"
+"\3\202\202H0\242K\220t\250 )!:t\252\213\335\42\17&\201\207\352\24T\320"
+"\265\202 \314\264.\31Y\201V\266\232\340G\332\207Z\250\273\206\346\256\273"
+"O\207\335yfg\346y\307\3359\4\305\374/\3730\377\375\275\37\317\274\363\274"
+"\357\f\200#G\216\34\375\3r\305\177\323\205\42\204\42\204PD]R\240\267\240"
+"Y\b\241\210\214\224\273,G\243\222\343\334v\347h\33\364\376\352\0\200\214"
+"M\271v\223{\42\222\342\34Imv\223\363\306nr~\330\5\303\177\353v8\240\3\376"
+"\367\240\327\272\331l\210\6R\5\327\359PQ\350\1\210\216\366w\265\365\312"
+"\13\312Y}\315)\274\35J,\322\375\347W&\7\236\f\32\353\373\267zW\22\340\25"
+"d\324\226\267,\330\204\254\306\313\227\1\353\21\21q\270\251\246P\311\251"
+"lx\246\2213\325\226`\345\2\42N\327S\276\367\f\2205\265\321\n\354CD\177"
+"q\202\225\365\224\274\17\231\26 \42\216\256\325y\231\335\344\334\260\4"
+"\303\306\271\24\317\251Vd\267\25x\325\324\354E\362\272-\300\200\317\4f"
+"N\221[+\177:\356L\233.\315\337\242\360\202\274\307\355Lc[\310\215\226\310"
+"z\34\356a\300\201\1\332\274\217\313\300vvIvRtH\6\276`A\355j\265O\2\366"
+"\260\340{\212<;x04\310\202\203!\n\253xpl\211\5\227\276RX\306\203\343\222"
+"\22\61F\321z\36\224\35\77~je\214\7g$\340,EkR\3\27)JK\255\222\7)\312\260"
+"\273\5\314\245\6\272\365\203v\'\275\r\255\322\347\327m\332D|\22P+S\237"
+"u`\226\32\344H@!\1\365\353\202Q\236\376)0\203\33$`\21Eou`6\3151\237\317"
+"\r\365\30x\'\311a\25\13n\243]\256=\254\3W\323_\366\262\340N\212\36\352"
+"\357Z:\31\7Y\220\232\233y\0\374\355\200\262R\206K\257Q\243\273\13 \31*"
+"\234b\300Z\325\377\335bp\272\264\202\34T,\336gZ\215\216\77a\323\271fNM"
+"4nM\230\32\235L\334\346v\31L\317K\3252\275\316z\342/e\243\261c\202a\335"
+"]R\271\353\246\261\344\307\2141\321\211\210\210\376\242D\263A\35\350\363"
+"4\363$b\316aP>\42\42\342\344Q\255R\264\252\\w\2669k\307\20\21\361>\0\344"
+"\366\305\376\365\372t\1\0\270K\33\277\253\343|\302p\320\210\210\30(\0\0"
+"\360u\320\271fhh\2362\26ia\17\214\367\20\21\317\305\23uy\321|\254\362\357"
+"\343\237\266^D|E\313h\353\243\250\36\373tFr>]\21B\fW$\\\330\334\254\255"
+"\210\221\233\373]\262O\26\242\16\340\313c\275\225[V\42\274K\263#\376\t"
+"\347\313\216#G\216\34%\255\77\20\341\231\6\233\255\214s\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0-\0\0\0x\b\0\0\0\0C2$\2\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\2\230IDATx\332\355\226KhSA\24\206ObH\322"
+"\32M\305\372\302G1\2104E\245\32\242\270\250\233j\26.\352\3\334\271P\261"
+"\261;7nD\241\250\13\21\67b\25\264\20\245\270\20\305MA\20$\305\27\42H\260"
+"(\32\37\3256M\33\65>J\245MM\332\324\343\302\314\234so&\271\327\375\374"
+"\2539\377|\231\231\234{\316\334\13\240\245\245\245\245\245\245\245\365"
+"\377rT\232\250\365\300T\301\6\355\fm\337\22\f\270\0 \373\341E_\374w\265"
+"\315V\234N#\327\370\325\265\25\331\372\13y4k\346\322|5\274/\213*\245\232"
+"\25\347vuu\210\341D\357\223t\261.\264\267t\212\311\310\263\262,\304\305"
+"Z\371N_\351\17\37,\35\354\347j\23\354\275/\340\341fr\217\225\274G\246\344"
+"\335\24\360H\3s\367\b\267\315\0\37\225\307`+\303\274\244\260\357q\270Q"
+"f\3568\267o\310\274L\327\260G\372X\270\237\334\fnai\334D\366ni\266\363"
+"\245\2571:BK\277\24\336\367\32N\77e\3646\0p\2\0@\353\6\61\177\333PDy6\36"
+"\224tTzw\f\211zM\303\267\243b\344/\210\355&=\6:\364G\36\344\b\25\223\364"
+"\342\246\7|Q\246\333)\275\230\244\317\233;\343D\16\21q\266\333K5\230\f"
+"\212\331\3=\346Z[\264s\235;uw\200\f\337\254\\\273\245z\27;\1\240\211\316"
+"\224\261\246Y\315e\255\351\225\24\346\254\351\5vap\2\200WFE\33\364\\\352"
+"6\33\64\355\357qX\323\323\354\366\261\246\177P\270\304\232NS\30\260\246"
+"\207Y3[\323o(qa\33W\276\354J\374\354\260\\\33\36\312p\331F5\326\26\365"
+"\311q\204:\373\234\22\236\363\36\'\256\213N\367\216I\372\213[E\357GD\334"
+"%\242.Tt+\273~\207\20q@vA\23uOF\361\3328\205\210\330A\361-Z\274\273\f\16"
+"\25\20q\224U\\c\201\360\250\271\217\7\21\21\17s\353\f\321\305C\306\327"
+"\\\2\21\261\337e\370#\tvA^\361\323D\370#\42bq\253q\277\206o\f\317v\256"
+"\371w\333\204{f\20\21\361\254\371\r\30\352\363\363_\217\274\33\207\372"
+"\365\245z\177\20)\353\301\315_\261\202^-T<\204U\t5\374|\261\262\34\\\'"
+"\247\24p\254\266RI.\277\2343\261\375;\252\225\260\277\275\367\27\225{\254"
+"\325a\365\355\343\n\4\227\326\1\214e\222)\375q\250\245\245e[\177\1\216"
+",Y\264\350\262\335\225\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0:\0\0\0x\b\0\0\0\0\206@\276\223\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3\bIDATx\332\355\230]H\24Q\24\307\357\270jjuw\265\17\20m\373\22d"
+"\205>\354I\204\264\222>1\312\250 \312\247\n\262\207z\213\242\362\305\227"
+"z\r\224\350A\42\361\245\304\250\326\214X\302>\36\212\312\210\245\226\42"
+"\2136J4\332U\334]\233]\335\323\203;gfw\316\275\356n\4\25s\236\346\177\317"
+"\371\315=sg\356=\367\16c\226Yf\231e\377\225)i\304\24pn\267s\3169w\360\253"
+"\367\2619W\202\224]\340\234;8\3177\264=fi\241%\207\244\311\344d\377\254"
+"\277\201\312\22\16yfB\312*\224\254\357\357\32\2\315Z2L\330\327\232\375"
+"\263>\312\36\35\315\36U\377\236\367j\241\26\372\257\243\242\265\311\236"
+"3\3713s\264l\327\246\265+\24\306B\276\27}\36\65\2034\352\357L\203n#\347"
+"\3471\306\30\243\226\265\24s\366B\212\371w\244\207\356\16\202\311\342\255"
+"J\32\350\3318P\326\241\220\250q\230\332\316\341e|\340\301g\265x\325\316"
+"\245\2141\326\22:5\313\0\265\350\375tW$\252o\323\7\0\0h\226\'\274aJsG\366"
+"\351\255\363{\1\0\302R\264\330\257y\325\6c\273\355V\322sSh\7z\17\';\212"
+"|\263\240k0]O\252\2536.Go\242\263\332\344\273!E]\370\365=4\337\266\206"
+"F\23\223\356\30N\276kf\364\351+\311|\315;\240ip\23A=\22t\343\42M\277\31"
+"!\202\372%\350V\324\317\250\240\327cbt3j/\25\24\37\24\242EU\250\337\221"
+"\271y\205\350j\33j\77\211\16\t\321J]\17\223\350\27!\352D9\25$\321\357B"
+"\264\24\3458=\225\305#lG\31\246\321\t!Z\250\357(3-\34\3726{:St|\266(\233"
+"\20\215\242\314\247Q\207\20\325\77\371\42\32] D\3657^B\243\245B\364\23"
+"\312\271t\267+\205\250a\25XN\242UBt\370\33\352J\22]\'\236\257\3\362\240"
+"rq\302\354\36\352:*h\213d\201q\343\276\241\206z\205\373%h\360\266\246\363"
+"\366\22\245\276A\266\371i\307\206\343\346\230\223\271\322\257\364\t\256"
+"\357\333M\235N\32V\177\242H\327cM\362\25\244\34\216\373\215\225\356\42"
+"\321m7z\257$;N\3\0\226A\240\n\301\302\257\350n3\36\34O\304\1\240\35}\201"
+"B\202]\257\352\267^\214\265\276\23\0`\324\241g|\331F\34\363\17v\241\bu"
+"\366\274\214\2609\325{\216:\30c\320x\27\364\260\367\356\217\77\246\331"
+"`\362\322|d\3128 \201\200Vs\333\f[.Q\211n\fR;\256KJ\32(szL1\2613\nK\7e"
+"\254\311\233\34\362\2746ygj@\315\7\370\272\346m\345\211\313\210\273\253"
+"of\200\256G\303\241X0\32\16E\307\324\310DlL\215\b~\244,s-)f\221\240\367"
+"m\314\372\323d\231e\226Y\366\207\355\27\212G\244Gs$\2775\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376"
+"g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\277IDATx\332\355\226IhSQ\24\206"
+"\217IL\333\2445\226:\304h\'\261\22\304\1:X\207B\234\26\325\326\210(\5!"
+"\250\13u\321\235\256\212\270\22\221\272P\241\202\42\272\20\273PD\262\260"
+" \250T\220R\7\224\226\26\307M\255Vhjk\215m\322\244\266\311q\221;\275\367"
+"\356K\336\322\305\375W\367\234\363\276{\356p\336\275\27@IIIIIIIII\256\5"
+"f\1\247\33\376\244-#\336\306\35\353\375n\0\30\177\337\377\270\347o\316"
+"\264\216\226\3564\n\32o/\315A\34\374\204z\315\\pg\1\226w\241L\237\253M"
+"\347\322\20^JZ/\237~\210\332W\7\366\2732\346l\350\241<\307\221$\351\265"
+"\267\216xJ\256\2462\236\371\23R\342\360<!\2569\270\2639N\230\240\204\b"
+"\314\22\342\246f\260A\322Q\314o VF\b1\340\324\6.\23\177\237S\277\245\317"
+"H$]\243\213\24\321\276\332t\201\343tA\303\206\374\347Hd\332\247q\27\376"
+"\244\310f\3RA\253\341\212\306}\226\22\37%\13\63H\323\24\3\0\200\r\0\0\n"
+"N\323p\247\4\351\245C\t\t\316\20\253\r\277\4i\245\3017\202\363\5u\16\313"
+"\366\370\0\353\260\234\rlY\203~\f\32\375b\255=\f\331kc3\225!s\254\265\233"
+"!;\231oH\206\270X\253\232!|/&d\310\26\326ZC\177\266\302\24\233\3376#`\333"
+"\27\345\77\333&\0p\0@%\233\n\334J\350\211\274R\217`\371\6\62H9w\255\313"
+"q4\370\310\\|\326\217\275\42\202\270\254#\371d.\371\334uc*;\362\232 \202"
+"\332\277\347\316d\3\200$7\355`\r\211q\263\304\42\62\302\315%\26\21\241"
+"\342+,\42C|2k-\42s}\314\254\261\210@\17\63k\363\314\77]qH8F\267\362Rm4"
+"Gn\343\253\0O5\302\220;\246D]\n\21\233\f\7\42\342\214\331\316,\354G\304"
+"H\1\277\275\22\214\271d\202\\DD<#\326\26C\22~)\321\234B\304oB\1\203\'\302"
+"\230\267\262\177\2416\212\210\250\275\226\202|\321\272\234\6\242~\2\21"
+"\361\276\316\333\301\231n\257\356\3569\231@D\374Z\254C\354\217\204\347"
+"A\253\230\250\3769\42\42Nm0$w\77\21n\372\261\216\246U\0\0\213\267\267\275"
+"\313x\342\273d\17\235\273\332\7Brr2\316\214\337\1\371\332\237\232F\23\r"
+"V\231\25E\331\203\264\fH\236\317R\255\260\2613\241\7b\327\313r\374\16\213"
+"\216\336\373!,^\370\230\307\322\253\317[U\351q\1\214\215~\31V\17c%%\245"
+"\377\\\377\0LAE|\6\21\326\355\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0,\0\0\0x\b\0\0\0\0\254\360O<\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\253IDATx\332c`\30\5\243`\24\f\31\300\210K\202\307B]E\200\233"
+"\341\377\353\'WO\274\306k\4\177\316\221\337\377\341\340\337\211,.\234J"
+"y\32\77\377G\3\317#q\250\265y\360\37\13\230\312\210\315\315\351S\231\241"
+"\254\23;\357}\347\263\217d\201\360:+0\315-\372\7\65\352\200\21D\240\24"
+"\346rs\f\265\1\60\265\215LP\221\\\230C\326\243\253\325\374\n\225\251\201"
+"\211\b\275\203)\376\201\26$,g\240\22\33\340~)A\370\321\30Uq\36T\370\253"
+"4\\h\13B\261\'j\0\277\206\nw#\304\216\42\24[\241(\316\201y\\\t!\266\16"
+"\256\366\257 \212\342sP\341\213Hb\311p\305;Q\324*\303\204\347!\t\262^\200"
+"\n\3764f`B\22w\2061n!\t\376\366>\313\300\300\300\300\360%\374,\3\13\222"
+"\270\5\214\361\f\331\276\247\26a~r\237\216\317z\216\32p\247a\316p\307\221"
+"\304\220\235\241\nc|\42\254\230\233\37\306\372BX\261\4\234\365\203\260"
+"b\270\301\f\77\t+\346\42\230\273\221\24\363\220\242\230\231\24\305\f\3"
+"\250\230\205A\250\35\312\224\203\13\266#b\245\362\35\212r\271\377\370\200"
+"\34\275\334\374c\17\224)b\0\23<\362\203`2\361\306\356\320\301\27)\243\212"
+"G\25\217*\36U<\252\230J\2129\220\352\16\202\212y\2614&p*\266\201\263,\t"
+"\271Gm\342\77x\5\364\255B\nWoB\272\216\205_\\U\34U\374\321\203\227\37\377"
+"1\254\337\201\256^\27we\\A\257p\36\5\243`\24\214\2\232\2\0\265ea,\327U"
+"\32\301\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\67\0\0"
+"\0x\b\0\0\0\0s\2765#\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4KIDATx\332"
+"\355\230olSU\24\300O\333\7\353\326\342VdKl\240\b[\1\311\26\3\3\301i\20"
+"\230b\370\23\202\6B\302\242\201\4\377l(\211\222\240\331\2!!&\30\365\233"
+"~Y4\220(\23\bK\30\62\64F\6Q`\214\77Y\0a,\3\227\r\230d\335x\353\332\r\332"
+"\275\365\360\341\335\363\376\335\333G\373U\337\371t\3579\367wo\337y\347"
+"\236s^\1\34q\304\21G\34q\304\21G\34\371/\210+\233\305S\226\315\361\rv\234"
+"\211\333,\231\20\b\4\362\314\252\340\201$\42\42FwK\302_0\357\223\37\333"
+"#\210\210\30\277\326\360\3014\322o\220\221\344\230\207\243f\355\273\207"
+"&\31oY\343\2\0\367\227F\345\16\13U\374\3638\362rq\t\344\34\61i\356\232"
+"\334\342\3329\212BI\375\360\207E\23\62\200\276Ckh\330\333|\345\336\270"
+"\364|\305\332|\303\266\347\252\23\177O`\343R\3v\2166\353Z\347&]\335#\355"
+"\210\243\23\1\316\263\261\242\357\347i\242\5\215F\377\277\324\317\264\261"
+"\2\0\250e\223\23\372\202\35\2045\233\235\\\221d\372\203\0\220\337\205\210"
+"\210\203%\2329D\77\250\177\262\305\307\373h\303\365\0\20\374)\216\311\246"
+"\260n\255\'\353v\353\33-\2101K\217\27\0@\nL4\32\351\r\f\347q\241\260\237"
+"\266|\317\240d\236{+\227\315O\216r\\3\r\336\345\203\262\201\366\254\346"
+"mA\262)~\356\274\3714\277\312s}QzUeVN*\326\42EpC\36\320`\252\225\363k7"
+"\352\241\200\2235\357Y\271g\264\371\250\200Sh Y9}\265W\300\371h\20\265"
+"r\203c4\17\b\270g\271\7%\16;h>\203\307r\2024\272\305\275\207V\232\277\310"
+"s\245\364X\275}\34w\234\346\313xn9\278\272HwYL\304\375\234\355\22\305\313"
+"b\301\263o\'\343\247VK\5Y\316\13\363\354\rf\35(4\33<\224\33R\257\n\23t"
+"\371cf\77i\276\357\273\351\270o\323d\366*J\235\215\306w\377Y\212i/\344"
+"\244+\tUt\342\215J-{\377B\247]\236\234\276\36->8\223\215\256\37o\377W)"
+",]\261\224\22b\323;1\233\42\224\273kD\230\257\345j\273r\'\255\336\337\'"
+"\242\242_M\261\243jzEP\374\267-~\273z;\375\350\2u\20\357\356\33\226\1b"
+"\n\310\211\241\310\235\333\212m\5\236~\37\21\21\257V\207\263*\334\3566"
+"DD\334\353\316\262;\330\200\210\210\177es\22\0\0l\6\0\200\23\331r\356%"
+"\0\0\3608[\256Huuy\266\315O\31\313\343\37z\262\353\227J\272\330\254\277"
+"\265;\372(9b\\0\26O\306\6\372\37\b\271\2\371i\333\217\336jk\21\224\252"
+";\230\201\310\237s\375\325\327\230\221\374\231o\341\246\3052\3\317j5Z\365"
+"\340p\317\333\31\305e\310u\332\242\331\224\331\211\211\240\351<\200\353"
+"\207\13\347f\20\325\236D\13\247{\371~\6\7vZ\363\322\242\332\325\36\0P\352"
+"\17\244,\325oRx\301\233z\246x\316\24\2!\326\235\265\225\t\177\236w[\224"
+"\16\\n\324od\352o\244t\17\66\233\372\273M\6e\rK\312u6\36Y\30778\225\n\353"
+"0m]\371\217\272\250J\367\355M\326\201\227\330r\207\325U\253\264{[\371\202"
+":l\277m\313\261D\337\251q\2573\303\315\247\304\230\332\27uk\\\210\31\22"
+"\266\230\277\2\0\0~Mi\34\205Z\261-\367\261\332\375|\257k\276`\36\36\233"
+"j\203-R\33\333V\243\212B\241)}`\277\241~\34)\363\214\312S\4\66\344\211"
+"\251\302\357X\r\377\310\244\16\17\21\330\263%\227\317\260\257\324S5\335"
+"c1-\325\313\354\320\241\367\27jY\304[\262rg\343\0\231F\266r\365\257\374"
+"\310L\343>\361Ht\34\274\276\200)\r\235\251\351\20T\366\332\210\355uM\375"
+"\276\42\215\307\3626\237\32K\3)\227\353f\331}\27\347\277\266p~x\206\351"
+"\nF{;\257\265\237\35\312\340{\332UT\344\367M\222\0d\220\345H\354\377\372"
+"\77\303\23\363\303\34\362\240\314\f\370\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\1\352IDATx\332\355\230K(\204Q\24\200\317\317"
+"x\fr\307#\244\344\25%\217\330i\306\302\202\25\26\66\262\261\224L\366\254"
+"l-\224\215\261\260`c\247\24;y\225\235B\321\24\3459\13\21c\306\243)52\307"
+"\306\374w\346\237\313\2753\267(\235ou;\347\377\346\364\377\247\316\271"
+"\r\0A\20\4!\301\210\36l\2149\330\27\3\312\272\r\372\7\31c\214\345\246X"
+"\177\n\23P\227\323\364\336]S\267\301\305\26\0\200\275\256D\257\5C\37)\274"
+"{\f\353z\237n_\357\323\371\365\364\367\337o\34\351\244\223\236\344\254"
+"\223\222\221\7\241\367\224\364\364\256\276\266\226<\0\2709\336]=\377\271"
+"\312\250u\326\345\214\337\307.\217\235\316\244\364\276[\353\366Y.R\326"
+"m\263\221\304\355\345kT\324\263\327P\304C\223\222\236\271\211b.\13\24\372"
+"n,v\1\0\4\347z+\13\313\272g\36y\246\306\243P}\2\21\61\64\21\335\371\366"
+"\3110\257\337!\325\333\303\210xX\23\223s>\232\311-\251~\205\210\33\361"
+"\327\r\27_\240\3152\35\21\367r,\331E35-\327\203\25\326l\203\231\363\312"
+"\365\341\304\364Q4\367\221+k\334\311Bbl\333Tje\272\'\42\250n\236J%zdE\20"
+"\2740O\16\211~\372 \b\336\361\371!\321\17D\301\'\363\304d\325E\301W\345"
+"Qy-\n\242\262~\2437\250\375z\372\263\236\36\322\323\337h\303\222N\372\77"
+"\327\371\370\316\22=\231%\231\363||\347\213\364|\311\234w\362\273\200H"
+"w\t\36\344\227\241\326%\276\236\3\356bk\276\330\35\340\371\245V\203\377"
+"s\322<\226\311\312\353\343/\\x\355\13<\343\b\0\0\314\33\216\242\252j#~"
+"c\235\335\276\204=^\0\200\36\374\216\257\237\372\216\236\277\356;A\20\4"
+"A\374\300\'\304B\313\36\237\223\223m\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0 \0\0\0x\b\0\0\0\0\266\314\257\262\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\1\35IDATx\332c`\30\5\243`\304\1F\24\36\233\275\306"
+"\357\363\247\377\341T\35\372\364\377\377\377\377/Y\340\222\317\374\367"
+"\377\377\377\377\377\377\377p\302.\257\372\353\77\24<\347\306\252`\342"
+"\1778HA\2102!\230VX\231H\n\4\2602\221\24\334G0\37`U\260\31\301\334\204"
+"\325\221\234w`n\334\212#\34t\236B\344O\t\341\n)\211\31\357\377\377\277"
+"S\316\201\'j\230\245\4F\323\347P\3108\354||\2\374|||||\227\226!DY\30$\252"
+"\370\370\370\371\5\370\370\330\341\202\323Q\24\210\346\342\265\202\211"
+"\220\33\b*`a\370~\226\201\201\201\201AT\226\221\200R\231\375\360\2347\r"
+"\253\25O2\t\271\341\306{B\216|EH\301/\332\204\303\250\202Q\5\243\nh\255"
+"\200\31^A\342P\0\257\317x\261\33\246\360\27V\4=d\307\42\315\25t\23\321"
+"<\330\357\300\202\\\24\317d\340\345STaCQ\377\375\346\343O_\337UB8\377q"
+"\201\207T\t\207Q0\nF\1\31\0\0\63\60\217\272\251\310p{\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\'\0\0\0x\b\0\0\0\0T\20\264\313"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\347IDATx\332c`\30\5\243`\24\f"
+"6\300\210]\230\331J\237\341\322\261\77\204t;\337\376\377\377\377\377\273"
+"\236\4\224\371\377\376\377\377\377\377\377\377\377F\343U&\374\341\77\24"
+"|\225\202\2111aQ\227\300\17cq\245\343Sg\205`Z\343S\'\200\205\211M\335\3"
+"\4\363>>u\233\2602\261\204\3751\230\177\317\261\340\r\30\231\353\20e7e"
+"\b\4\64\177\347\313\377\377\37\67\363\23\21\357\22\42\243\211\177\204\347"
+"sn^>^A^^>^\376G\323\260\250\313\326\23\340\345\343\345\25\340G\244\361"
+"\255>0\26R\202\215\260\301c/\23\221\356#V\35\222\27579\31\30\30\30\30\204"
+"\344\230\211\323*\262\32\226\335\376o\301\253P\360\'\246:l\356{\177\235"
+"H\177\274&R\335O\332\207\337\250\272Qu\243\352F\325\rnu\177\211T\367\205"
+"Hu\377\210T\367\231:\366\302+\251\17\370\325q\303\30\257\360\253c\2051"
+"^\340W\307\13c<\306\37\370O\241\325\333\77\36\374\352\276C\325\335C\215"
+"7\303e\317~\335\351\21C\264\3339\240\2143(\272\343!\255\376\347\2720\1"
+"cX\265\232\203\254\314\4V\333>\204\5G\fL\235\22\262\272\215\360\332;\t"
+"*2\31\312\77\205\254\214\355;\\\335D\250\20\264\365\374\77\219\375\311"
+"r \352q\b\245\247\1m\346/E6O\rn\334\77-\210\310|(\77\30\305\267\34\277"
+"`\352\366A\4\\\377B\270+\321\2u\27L]1\3\3\3\3\203\317g\b\357\22z\243\335"
+"\25\246\356\272-\33\237\313\232\177\20\316m\314.\300\324\377\230\340\250"
+"8\226>\335,tU\337j\260\367;\202o#\253\3724\25g\267\203\331g\356\355\277"
+"\377\377\377\377\377\373\346\374(\36\374\355N\16I\241_\237\237\375\32\242"
+"\355g\0\16[H\23\245\334\345\202\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\227IDATx\332\355\230Mh\23A\24\307\377\333$ML\324\331\26"
+"E,\212\326S/\275(\265\207\26<(\365 \342I\f\215R\244\242D[\20\64\212\37"
+"\247(\6=\210T-\24)\304\342W\21<\324JE\364 \275\324\n\n\36\212R\260i\241"
+"\210Xj\244R\250I\363<lvg\223\3546;\211\240\322\371\237\336\314\333\337"
+"\316\274\331\235\367f\27\220\222\222\222Z\246Rt\303\303\230\2522\306\30"
+"c\13\307\35\302n\204\366\251\214\261\325~\3367\5\307p\323\376\222\247]"
+"QN\314e\301n||\t\0\201\272\2522\356\342\212\220\256\311\22\3601a\330\24"
+"\363\333r\26\354[9p\352\77z\316\22\226\260\204\377|\366\264Wu\314\326\25"
+"\235.\6\257<j\353\2725\375\357\306<\245\0`[v\237_e\356\375\362\352\315"
+"\207O_\363\257\215\331%\375\16\243\226P\362\346v\305\331\310\272H7\222"
+"Wo\3179\235\266\276,mY#\36\231q\36sV\247\33\264\202\322\376t\211\213lb"
+"\16\246\211\210ht\303\222#X\303\301\24\21\21=^\1q\370\2606nW\261\367\301"
+"\n\16g\210\210(Zta,\340S\32{\1%\300\27\265v\4%\300W\210\210(s\22\342\260"
+"rCcO\224\2601*\272\217\1\0\346_\210oIW\\c\21xT)\nW>8\244\233[c\2021{\7"
+"\370.\244\314\36\241\221\375\3{\315G\362\370z\1\330;\324\222\323^s\317"
+"e\2630\334\334\325\254g\315M\0\320\77\267Q\367\324\376\32v\34\63\21\21"
+"\365\2726\3770\32\351&!\270K\1\16\362f\242J\0\276\f\0\270\317;\2368\207"
+"\317j=\352\4\357\n;\2043\306\247Qs\332\200\347\353\205\223A\224\17=\346"
+"\27\205\335#\234\276#Z\253\322\255<\313\379 Z\350>wr\273\247V\264J\336"
+"\3557L\366\320#Zb\303|\t\32/\211\302\337\333\26\r\373L\213hq\177}\215\357"
+"\316\276\32\261Z\5xF\371\363\32\361\n\36+R\241\237<\354^\305\22\66\314"
+"@>=nJ\335\241n\305j\200\36}j\13\205\323\31\66\355\270>\257\305\337\203"
+"\367\206{ga\2017\357\365w\333\362_\226FS\302\234iWs\275\276\241\234,\223"
+"y\26\\\233\375[\261\243\325\307j\352r\216KX\234H\314&g\317\1\350\250\207"
+"o]Cu\301\\\22\343\317\257\3\b\223\215&\1`\320\316K\203\177\361\370(%%%"
+"%\265\214\364\33\207\335<E}p.\205\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0 \0\0\0x\b\0\0\0\0\266\314\257\262\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\0\266IDATx\332c`\30\5\243`\210\1F8\213\217\237\237\237"
+"\217\237_@\200\237\177\341.\204\2\26\6\241\t\374\374\374\374\2\2\b\245"
+"\fG\30\220\25\360\304\342\265\202\211\220\33\b*`a\370\261\207\201\201\201"
+"\201QB\203\231\200R\331\313\377a \23\253\25\217k\b\271\3414!\5\257\t)\370"
+"M\243p\30U0\252`T\301\250\202Q\5\243\n\206\243\2v8\213\25\273\2>8\213\37"
+"\273\2k8\313\n\233]BYo\341\315\203\377\213\r\30\221ZA\322u\f\2B\nJ\250"
+"\316}\177\353\371\307\237\227\24700000\350\376\307\5\266P%\34F\301(\30"
+"\5d\0\0w\201B\260\5\3420\313\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0Y\0\0\0x\b\0\0\0\0\274\220\1\340\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\331IDATx\332\355\227_HSQ\34\307\17757\363\357uV\310\f"
+"$\301\314\207\210\202\b!-\n\37$\351!\37\22\13\313\220J_z\211\302\207\210"
+"BH\302\210\212\302\321\240\227AE\221P\344K/*\241 L\22\362A\251a3\321b8"
+"\2679\235\256\351\257\207\3329\347\336sv7\222\36\214\337\347\351w\177\337"
+"\363\375\236{\357\271\333\275\7\200 \b\202 \b\202 \b\202 \b\202\263)\345"
+"\210\354L\f&\25sl\20^\375\213i-\307\235#+\210\30\35\355>a\225\316\351\310"
+"\335\241 \42\256z{Z\267\233\237\263M\3234\273\246i\232\326\21\0\0\310\270"
+"x\335\301\325\357\367\36E\305I\233\333\313\370\321\312\213\33S\212\360"
+"\226\'/\337\17\217\317.!\243\4\0`\317\30\352\371\\\311={G\f\342\322e\305"
+"}}\207FJ\0\240~Qj\307\232\22\226\263QI\304\347\266\364\222\33\343\262\27"
+"\327\316\374v\\YS\210\370\306\222Nr\215*\30\61\272\17\0\240\r\325<6&\337"
+"\367x<\236\261\260\230\\\26@D\374\321U\343\260\27Uw\314re\324\2P\27GD\\"
+"v7\354\262\333+\232\373\5_\243\372\t;\35c#J\207\21\61v3\373\217\224\353"
+"\342\346sP\32DDt\27\'\214\247\26\230\350\337\252~z\335l\204\23\21\347\252"
+"\4\351!\223>Z\6\21\61~A\20\217\375d\352\35ur+_)\304\310~Q\312\30e\232\13"
+"\21\361\274\316x\233\211\201Ler\275\270\32\rz\255N\267TN\275\2307\317\224"
+"Ze\262\350~e\3206\373\4q6\337\240v3\351\226`QN\22o74\326z\205\203\316\260"
+"A}\313\252\362T\311=^cg\210\227\221\247Fq\20\23\225#U\262K\352|\342\345"
+"\353\210Q\f\373\22Ua\212\344@\237\324\232\346e\257l`\227\230\233\42y@\376"
+"3\237c\27\f\375\262a\206\375\336R$\217(zl\325\246\374\262\30R\30\224\311"
+"\343f/\232\tE/\222n\362\224Y\362t\232\257:e\362\202\231\303\277\236\344"
+"%3\307\342z\222M\211\375\263d\240dJ\246dJ\246\344\377%9\13\24_\r\374C\227"
+"\355<\25\242U\316\20\223\363XU\240\360\346\310\303@6\344)\223\371G~\245"
+"\354=\312\252\303\362\306\317V\235\250\266\34\220\255\25\17\370V,r\255"
+"\330pN-s\302\356\354\240~q,\207\372\270\370\255)\237\357\216\313\256Z\265"
+"\242\335\333\364Y\276I\177\20/\1@gaA\341\316R\375\235\17O\314\204\226\237"
+"\r\0\234\254\315\322v\224\353\357\317\252\367\353|\350K\27\0@\25&\3\0\300"
+"\227Ll\3\200\316d\342\207\215\371<\23\4A\20\4Al\\~\1\374F\261M\275\203"
+"\353\341\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0"
+"x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\331"
+"IDATx\332\355\226\317+DQ\24\307\317\370\361dL\336\25\21\253\221\337\212"
+"\310\16Ke!em\301R\344\327\202\377\0\33;Icc#,\225\205$\222b\207\324$E\203"
+"$\42\203A\21\215c!\367\276y\357\214;y\13\26\347\263z\235\357\371\2747\275"
+";s\346\0\60\f\3030\f\3030\f\363{<\372\226T\37<\277\377JOnj\255\255\366"
+"\1\300ypc\361\344g=Y\230YB\230B\230\3_\5_\337`\256\212qud\213\322\313\373"
+"\204)L!|\266{\266\5\362l\315s\275\17\316\17\320\202v\0\0\214\0:\t\225%"
+"\250g\254 \305uIB\272w\33i\216E\214\233\2\20\331\5\200t\277\327\372\306"
+"\27\352\1\0\356\346W\202O\251\225\315\235\3712)\236\350 \317\310\350\267"
+"<}\f\21\361q\350\373\216\306\360\213\n\33\343\34\362\206\354h\212\42\342"
+"\216\337\222\325\335\310p-\216>*;\256\20q9=&l\210\312\264\212\326\7\255"
+"\257h\323\260\24532\32\247\365n\353\1\331\2771P!\263\240^ow\306\373\337"
+"Y4C\25\223\310;\355,8k\353R)\322\351S\350\254\355\311\253<\215\376\261"
+"D\24C\362Jh\364\2030Q\274R\363C\243\357QE\365[55\372!U\214PER\77IxT\222"
+"\372\205;\375\326\235~\357N\177v\247\277\272\323\201u\326Y\377\357\272"
+"\32\337iTg\232f\316\253\361\235I\351\231\2329_\257v\1Jo \32\325&X3\253"
+"\376\236\303=9\366<\247\'\254\362\331\32\217Z \253z\r\263\2404+\246\33"
+"O\317\302\17\330\5\0\0\323\36\221\355/\214]~\357\217.#o\223Az\257\263n"
+"\227\0q\343\226\277>w\206a\30\206\371\201O\370\216\217o\f\310,\22\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0"
+"\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\276IDATx\332\355"
+"V=hSQ\24>y\321\220*6\251\332`Z\t\224\32m\tQ).\376\f\202\203\26\273\330"
+"\241\bA\7\311$\210\b\272\271\b\255\213CQ\324I\4\'\227h\34\332\42\5[\20"
+"\212\203\245\203\245\21\253I\255N&%\215\211mbM\362\34<\347\336\367\336"
+"=i::\334o:\371\276|\367\275\363\356\271\347\\\0\r\r\r\r\r\r\r\r\r\36\356"
+"FB[K\275\306+.\225\362\234:\333\27\t\2@qa\356\365\324z\363\307v\335\313"
+"\231\26\24\37\37jb\330\373\350\267\351\300\237\'\3736s\f\346L\6+\203\r"
+"sq\217^\303(\233|\377\275\276\347\330P\b\177\217\336\342\77\205w\fW-]\367"
+"\374c\214+\253H\275\364p\16\179\276\365J2\274\214d\202\333\215\247(\26"
+"\16X\331p\1\351\7\252\343*%;d\347/\21\177\331\351\b\227Qy\343\334\353\31"
+"\3120\344\20\336\322b\247\235\213\365\2232a\347/\20\237RK*C\3329+m,\20"
+"}[\315r\230\264Y\353&\236\27;\335\247ZN\b\361\214\205\245-1\363Le\273K"
+"\244\276\220d{\225\310In\223\247H\335h\3\0\60\0\0\6\304\326~\340,\363\24"
+"l\37\20\226~\241.r\226\2172ga9.\270%\316\362UD\')\350\224G#\302Y\242R\357"
+"\304\247X\216\352\ng\311\311\360 Z\272$\365\223\263X\310n\264\4%U\341,"
+"e\31\6\321\262S0%\276%Hz\7Zv\t\246\316[$\355C\313\306\326\233k\31-\262"
+"!\266\360\177\224o\276\216\226\274l\31.\316al\23a\36-\313`{W\5~\31f\320"
+"\222\226\324nv\b\200\255\240\f\0HUl\337]A\207L%E_lNp\3739\213$g\253T\311"
+"\323\266\32R kpZ\24\177Rpl%\313\206\373J\366\235/T\334\2379\313\22\251"
+"\326\3xS\34\210\16&\25!\336\260\16\257_\304\306UK\\\fA\77\333\336&T\313"
+"$iwl\264\217&^5\344t\204j(\375h\265\13\61Z\352\276\323\362\220\224\213"
+"N%\211B\305\2615=4\242\23\312\33\373\26Q\232\261\215E\317;\244\77\61\25"
+"\333\233E\361\231e,\272\237#\231eo\fGi\374\216\265\23\25\30\247\366~\204"
+"\77|\21\32>\253#Q\3\3008|\227fk\246\247\321\311\26\213\232\346Z:\275&~"
+"\214\7\32w\3W\234\271\221\344\342\256M[\210\177\304a\312\r\373\233\366"
+"\35o,A)\230\205D\314\273\225+\34\200\273;\32h\205bv>]\323\367b\r\r\215"
+"\377\35\177\1;pbI+\237\243\313\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0:\0\0\0x\b\0\0\0\0\206@\276\223\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\3\22IDATx\332\355\230OH\24Q\34\307\177\233\253\266\356\346"
+"\214k\272n\345J\245\251\241\25dT^\242@\b$\305\332\16\25\244\227\302\16"
+"u\213\16\36:tH\42:DP\20t\b\3\17Q$F\227\214\212\260\177[\231(\42\371\377"
+"o\33\262\271\232\351f\356\257C\316\233\331\231\337{\263\333Ib\276\247/"
+"\277\357\373\370\3067o~\363f\1,Y\262d\311\222%K\226,YZ\t\262\231\rp%C8"
+"\2320\272j\177uy\241\13\0\306\272_\264t\213P\233\234!K\262$\313\322\245"
+"\20\0\330\352\32\66k\6\266_ydDs\32dI\226%9\235\25\363F\0\274M\7tC\333\352"
+"\373\364\23\227\242^>\200\342QC\25\303G\342A\363\'\220P\364\254\226\263"
+"\223\13\344|\350\5\0\b=\3768\16\331\273\16\271\225\377\356:\336\210\31"
+"\227\37\b\4\2]a\355\254w\20\21\203\247S\376\16p\234\237S\222\337U\304D"
+"I\307\1771\364\24\42\342K\217\32\226\214+\321\314&\352*\3572t\n\21\333"
+"\34\332\254`Z\311\332\223\b\264^\273\42\303Rl\350g\3119\2=\254E+\364\351"
+"\23%\371\236eD+5d\253!-cY\243\30\335k\214\337\260\235!/oq\362\276v\276"
+"6\326\356)&\275V\2046\23\265\26\346jE\27\\J\375\275\1\26\27\361g\375\326"
+"EU\3371w\220\217~@\252\332\301\\\5\37\355 \27`@\275Q|\264\237D\207\231"
+"\313\336\300E\207HtJ\363\260q\321\257$\32R\255\217\213\206Ht^\265\36.\372"
+"\223D\27T\233\312E\27\315\372\2723AT\363\354\317q\3214\22MUm\204\213\246"
+"\222\250\254\332 \27\315$Q\267jG\270\250\227D\327\351\266\33\211\222\r"
+"\23r\325}5\312E\13I\264X}\262\370\333\177\'\211\2260\367\214\337%~PK\234"
+"4\313\362\355\374Y\235\345D\261\314\245\270/\237\5m\355(Q\253d\256I\324"
+"\326\246\34\306\223C\257\22F|\242f\232Yg(\355\333\302:\355\210\260\373"
+"O\272\364\351S%Z\334*~q\350\336\336\0\325,\271\5&h\364DL\266~R\t\202YB"
+"t\f\21#5\232h\355\'\226\371A\210\36[B\304\245\313l\231w\367\263\350&\210"
+"Q\3375DD\234\270\270\303\16\220Q\365 \312\222\266\24\63\64Ey\231.\206\264"
+"\'\33|\356\2\63\24\262z\251#Ws\32\230\243\220\363\336\0\316\234\341v\310"
+"\30\24V7Fb\300\205\333^\210\23\5\310\273:\314\16i\257.xD\347\341\312V\355"
+"\241\26\0\0\66n\313u\302\302tO\317,1\225]\330\345\7\7E\207\364\177\377"
+"l\260\320\377\36M\216\377\33Q\217\256aNJ\24U\373kQbW\236|\222}\7\341hE"
+"<\227l\3p\373\355\222\247`\217[[\236x;\24\fGC\367M\350R\344\251s\5\336"
+"W;@_\31/\234\267~\6Y\326\37\236,\313\230\2069\301/\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3\6IDATx\332\355\230KHTQ\30\307\77g\306"
+"q\34u$\315\222\224\310\332\250)=\320Z\264H\310\240Z\24\225\330\242U$E\222"
+"A\4AT\224\233\204\300\250M\342\2466R\320c\21\31\206\20X\350*\242f\254\354"
+"\241\231\206\22V\323L\243\371\232\351\337\342\316=w\274\367;\367\316\264"
+"i\341\375\357\276\363\77\2779\347|\347y\207\310\226-[\266l\331\262e\313"
+"\226\255d\225&)w\372(\22M\21\314\330\272sCe\36\21\205\372_>|:\237l\27J"
+"Z\177\42A\337.\344k\336\272\366\366\366}<\226\177e\26:\5\33\324^y\372\1"
+"\34d\271\332q0\352\364)n+\0\254\346\270\263\177\342Uc\317\316\357\257\335"
+"q\370F\274\327o\212\211\210jb\0&\270<]W\233xP\32/\362\236\212\0\0>\24\22"
+"\371>\3@\'\3^V\233kJ(\\\363\32\0\340\367\322M\0@\263\221kR\333k\\P\\\20"
+"\0\0\334\332\253\230u\6\256JM\347m\235\261*\f\0\230V\334\n\303\254\277"
+"\217s\341\2\275u$1\303\331z\367\234\352\\2\364\3055\240q1\275\271\374\267"
+"\352\24\33G\337\240\201!YF\321\315\244\333;)\300\357:+\'\242:\'\270\205"
+"qG\200#\242\314ADD\7\304\230\237p`\267tK\364\212188{-\323\2422\3111\325"
+"\350\345w\365\254\244\253\333E;\357X0\366\311X\346 \42\252\21\3410\77\224"
+"1\t\270Q\204\343<\370\203\7]\225\42\374\312\203!\36\\\341\26a\230\7\247"
+"xp\245\26Fxp\226\7\227\231\326\220\310AD\36-\234I\t\364Y\326\312\342\301"
+"9-\364\360\240\233\7g,\301\\\36\fja\36\17\346\361\340\27K\260\220\7G\23"
+"\2164\36,\342\301\310\220v\376\362WQ\276d\221\277\20\341z\26,\227\314#"
+"\365h7`:\7V\313\300G\332Lo\346\300-2p\364\271\210\3670u\322\267I\227\324"
+"Qq\32\215\272\214\356.\310\16+\312\16\n\253\336\b\336\227\203\332\325\201"
+"\200\323\220\323\230\t\350\33\23\336I\275\367\30& \325\toZ\227\330\343"
+"0\5\251C\230\23\233\22\313\353\243\26\2407 \334\251&\221\332\314\226(\200"
+"h\237\tH\305\37\265\37\36<]\341\42\312\250nV\336=gZ\314@*\31H\354\324|"
+"0\250\276z:\322\314AZ\322\305\275\253p\327E\26 \2455F\214\334U\'Y\202D"
+"K\257\351\320\221\335D\311\200D\271\307\272\246\3048{\16)\347\33\3\32\326"
+"t\270\255\315]VZ\220E\321\211\241\300\244\274\1f3\320\234\337\237\334I"
+"\376O\262\301E\t\272S\4\305+!\'E\260T\334-%\251\364/\347\242\266\77\373"
+"\312-><\225\213\275\2162s\213\312\252\27<)\336\276\32\16\375\n\3363m\252"
+"\22\62\5\376\303<\272\314\314\301*\2313\275(\376y\370\13(\22\360q\355-"
+"\254\4\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0-\0\0\0x"
+"\b\0\0\0\0C2$\2\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\317IDATx\332\355"
+"\226\315+\4q\30\307\277X\311j\3158\340\260\212$\16\336r\342\304\5q\222"
+"\22\27\371\'\244\2708HD\312Eq\340\352\344\340\355\240$j\17\336\313{\261"
+"\262\336m\244]QX\354\3430;\263\277e\6\217\3\227\337\347\364\314w>\363\364"
+"\314\357W\277\31@\42\221H$\22\211\204O\324\267F\234\35\276\37\366*\37v"
+"\277\21=.\266%\177\354mWTEQTU}\350\n%\25}\5\372\315\207\226!\255h\37\31"
+"\233];\274\t\220\316Vh\204A\22\351\324\322\23\372\200f+\256\3104X\375\205"
+"m_\322.|\307z\274\tD[\275\337h1\0LTd\31QA\36l\300\366\r\200\304\214\330"
+"\b\273\245\6\200\267q\16\375\351FV\274c\224\211\3\342$\271OD\264\353\4"
+"p\35\236\260U\350\26\355\21\354\5\42:r\2H\22\336\247Y\230;\350\n\77YS\6"
+"\4\32.\0\304\b\375.\305Q{\214\336Q\33D\324\256\245\376\360\22\246\211k"
+"\22\64\252\312B\300\323\253\325\343F:}.\366\3566zO\22QS(M\367\205R\177"
+"&Lm\357\13\221\307f\254\333)\21\21\271\213\0\330Lv&\25\300\340\253~\265"
+"\234S_\352\270\235\37\17\300\2747\21=\247\230\356\260\305\316\317\\s\354"
+"10\354\327)\216\275\342\347\330s\340\330.\216M\253\34\333\355\347\330;"
+"\340\330{,{\237e\237\261\354S\226}\305\261\37\2378\266\365qmf\337\263\354"
+"\0\313\206\264\177g;\364B\375\311ww]\77\326\3362\276scJ&\303\247\340A]"
+"\202\345_AmU\274\342\314vD\304/\207\236\273{\240\343\342\323\3\335dI\376"
+"\37\256\240D\42\221\374\17\357\303f[\20\246\77\241\3\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0/\0\0\0x\b\0\0\0\0G\307\364\77\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\320IDATx\332\355\226MHTQ\24\307"
+"\3773\216\223\37S)\245\26\231e\221D\250\220\22\351 \246-B\245E\31T`\266"
+"\262\260M\350&\242\240\17\310Ze2\204Y\224PA`P-\302\f\t\5#\301\202\276\4"
+"\21\77\20q\bDI\303\261Q\307\231\177\213\247\343\233\367\316\2556A\213\367"
+"_=\316\375\235{\356=\347\334\303\3,Y\262d\311\222%K\226\376/\331\314\246"
+"\2505\200/\360w\374\306\303E\271\233\243\1\216\17~l\357\364kH}&f\17I\316"
+"\273Z\2\324i\272!\r\0\316\221\234\26hG]\4M\222\3637\342Q\262(\363\253\333"
+")\250\377\310\24\365|\370\374\316\266\375\0\0\177\307\207\21\77\\\3519"
+"\373\\\272\315~$\30\267\367\220$\'\316\206\251\230\212^\335U\214x^\210"
+"$\337&\353m\366\2329%\337I\222\275q\6\353\336I\5\237M\222,0%!{Z\346\353"
+"H\262OHrYH\344{H\362\261TC\217\304;\346I\362\276\304\273\276E\360v\0@\252"
+"\23\0\62$\336wE0\356&I\6\266H\16\3161\363\376\361\332\251nI\374B\243\331"
+"\226\275\224\346\333\16\301!%`\272o\362r\35\77\227\b\16m\346|N\206;\245"
+"\2476\323nX\214ML4\266\333\13}\17\177o\273T\262\366\367\317\370\244\261"
+"\357C}\17NgE)\337o\354h\222\260\313LO\327\233\367A1\300\31*4\331\224+\316"
+"\211\227T\352\325v\301!\256C\3550sL\252\273\'\244t\b\325Hg*\354V\2078!"
+"\336:\257iB\301\373\322\345BD\345_\355\232\223\34\236(\347-b\366\270\335"
+"\371\306z\4\267zW\370\202\30\340\235\77b=\303]|`\203\336P\333\260\362="
+"J\362\240\271&\271\327GW\16\364\34\221\274G\274N\371\247e~\330\300{\355"
+"r\2.,j\374\202\201g\221\242w\253\226\2\304\32\370\26U\263\277\326x\227"
+"\201\17lS\360G\265\236\320\315\7m<\\V\360_\1\0^#\217\312|\231\327n:`\342"
+"m\315q\42\277\t\0\320m\342\261\363\236\324\36(\6\0\264\32\363I\2227\5|"
+"\325\bI\16\330$\236w\242M\3745\222d\25D\236\335;\fxu\210$\2778\24<\347"
+"\353Su+I\315$I\177\16\314\374\354\200\346\21h\255\316r\2@B\351]\37I2X\1"
+"\63\37:\356z\24\216\22\364\16\17\217\207CVB\340\317\3(\33\24\236\342\220"
+"\33\2\377\20\0\20}\252\337@O]\2147\315\317\306\365\230\250]jp[ayi8G\263"
+"\235\317\236\376\374\303\377\25\200uYi)v\370\307\206\372\202\326/\250%"
+"K\226\376\221~\1\77\311\353^C\315\201\21\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0\'\0\0\0x\b\0\0\0\0T\20\264\313\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\1\275IDATx\332\355\326MK\2A\30\7\360\377\372\6"
+"\325JFR\21\275P\b\t!\25t\312 zA\222\16B\4!\342\7\20\212nA\320w\210\212"
+"N\325\27\210NA\207(\250C\227N]\302\n\364f\320Iz\21S\263\236\16\271:;\256"
+"\356@\5\35\346\177\232\35~\343\316\316\314\343. ###\3637Q\270\353`7p\31"
+"\67\37wED1\203~\13w\335Qc<\347\354\235b\256\327&\346\274\20s\303\202nT"
+"\314Y\306\305\334H\253\230\13A\310)\21\61\67\325/\346\326 \344\2\323B\316"
+"\271\3\21\247\354zD\234e{\261\336\271\324\316\207{/T\367\374~\377\236\272"
+"\22\17\231\325G\303\344\200\77\330\310\366q\365\261\226\6\0\370\310$=F"
+"\365!x\376\352<o\346\254\324\234\321\372\356R:\222\343\206\224\'\24\373"
+"\301}\245\223N\272\337\250_\263\370\34@\342\331\274~\237\210(l~_E\5\340"
+"2wn+\200\202\271\353\2\2007\326\275k\r+\353<\0\220f]Vk\250\254\33\2\200"
+"\24\353\212Z\303\305:\77\200b\222u\257Z\243\235a\315c\0nu\363K\353\246"
+"T\312\202\3\300\205\356\311\216\265u\316\330+\333zCD\24\320\271\215\362"
+"\206\314\227\373\226\211\210R\372\305\213\224]\262M\373\313\316\23\21\255"
+"r+\237\257\3009\5\200\272\236#\42J5qK\277\317\274\\\36\216\16\316\263\374"
+",J\351{1z\35mU\357e\364\263\232\35Z\r6}\351\203g\233V\303\3231\221\320"
+"\251\373\331\232u\20=-\224P\356$l\253\371}\n\3009\350mq\3401q\235\225\237"
+"\35722\377:_\'2\16\311\253\327ME\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\355IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5"
+"\243`\24\fU\300\210`\362\360\13\360\13\360\363\13\b\\\\\216E!;\37\237\0"
+"\77\37\37\37\37\337\245e\bQ\26\6\206:y\1~\1A~\1f\230\330t$\355\22U||\374"
+"\374\2||\354p\241\351\250\332\223\345\360\270N4\27\257\343\231(\363;\205"
+"\332Y\30\30.\277f``\20\225e\304*\377\375,\304\178\244\341@f\377\177\30"
+"\230F\2744\334\361O2\361\232\216C\32\341\367\33\357\361\352\307.\215\24"
+"t\257\360\373\356\25\1\355\277\360k\3775\370\342}T\373\250\366Q\355\270"
+"\0/e\332\271)\323.@\221v\21V\212\264+Q\26t\32\224i7\241L\273\23\321\332"
+"\331\260\210\251i\23\322\376\r_\f\3071\20\255]\30S\31O:A\355o`\fULe%\42"
+"\4\265\337\2071\24\224\321U\31\224#q\370\260k\277\fg\225\243\351\26_\315"
+"\201\304\23\302\356\20\311\277\260\6\300_W\24\t\371k\377\377\377\377\362"
+"\n&{\33G\324n\2077 > \351g\212y\377\377\377\377\377\211\227\340\262\330"
+"\23 \203\31\334\372\377\377\26[@\32\63\242\231\27\376\377\377\377\377\377"
+"\\\6\204\366\3|\330Z\225\f\f\335%H\2347\227\3370\360\253*B8\373<\177]\322"
+"\205K\275\336x\345\355O\6\206sw\321\32\236\210\366\17*8\302\307\200d;\f"
+"d\242%\332\237\1G\260\372j\233\373\'\242\312\272\217.\323\377c(\371S\357"
+"\367\225\3502\311\362\4\232\23w\351C$\260:\36Kc\3214\336]\5\336\234\333"
+"4\357,\224\331#\373\341\327\327o\77\77\376\371\370\363\333\327_\37\376"
+"|\372\361\35\253v\6\6\6IME\1\26\206\317\17\257>\30\355\361\214\202Q0\n"
+"F\301\320\6\0\207&\4|jI\20)\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0\66\0\0\0x\b\0\0\0\0\234|^\35\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2cIDATx\332\355\226\77h\24A\24\306\337\5\377p\341\210G@-,\242"
+"\20\221D\215M*Ia#\21\215\\\221Jl\202\230\42J0\202\215 \nB\nI\23B4z\370"
+"\7\21\264\21L\241\30\214\b\7\222\42\210\205\240\26APDA\16\343\351\205\3"
+"\5\367g\261\2733{\267\263{\273\327:_s\313\373\356\233y\263\337\316{O\304"
+"\302\302\302\302\302\302\302\302\302\242ud\266]4\23\367K\356\257\211\377"
+"rY\366b\306\230\367\27\23\377F\332ZK\262\255\345\343m\354\32~\26La\376"
+"\310\366l\335\361\267\fL\255i\372\321\320\326\214O]\322\341\245\214a\351"
+"}U\217]=T\27\177\254dw\214)\315\270d\245\257>\274\333\361e\313F\331i\0"
+"\234\203\215\361\5_\366\267\313$;\17\300l(>\250\262\274b\222\335\3\370"
+"\326\21vb\305\227\225\263\206\217\3513\300\31\303z\343j\273\32109\20\265"
+"\236t\370\357\230\267a\362\26\300\205\270w\f\34\b-\271\6\374\336l\224\355"
+"R\36\3147Rc\0\17\42\2762\355Aw\3\363\332\230\203\207\303*\313\251z\242"
+"\37\340}&\3526(\17~\344\352\210\33\0g#\357\202\366`<\30\316\375\2j\235"
+"\221\262\274\362\340]0\243\223\0wc\256\236\366`0\20]\6\330\37#\353Q\36"
+",\4\356\232[>\342\240<pv\252\330U\200S\261\262!\225\345\214\37j\257\0\325"
+"M\361\25IyP\315{\241\21\200\233M\352\321\204\332n\302\213\274\4\350o\42"
+"\323\36\254\270\265p\17\300\253\246\345oVmW\20\21\221\351\210\33\330\200"
+"^\345\301s\21\221\354w\340g\256y\265\325\36\364\212\310q\200k\t\212tAe"
+"Y\24\221\22@_\222\256\240<\250u\272Ww)I\353p\256\373O\331\23\62\232\21"
+"\221b\242V\242=\370\324^\6V\263\311Z\320\234:\335C\200\351\204\235K{\0"
+"\340\364$\355x\213AY)q\243,\4e\307\222w\346\17ZU\336\220\270w;s\372\371"
+"\366\237\344\355\\{\340t\247\31\3\212\276l1\325\364\240<\30N7u\274pU_\327"
+"\247\223y\36L\246\235\216>F\267\3778\234\3x\222z\244\312\327\200\243Q\354"
+"\272(\2422\262C\234\247v\340\266\260\260\370\357\361\17\26g|\23M\336TI"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0"
+"\0\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\312IDATx\332\355"
+"\230[\210VU\24\307\327\\\32\315Q\363\222\232\3140xA3\6\235\7A\303\6\rA"
+"\32\231|\220,&A\33\210\20I\202n\336\362A\323\362\241\42\203\261\213]&\20"
+"\t\261\220\322d\20\245TL\304\350!\245\213MM\226\204V\212\267\231\306f\346"
+"\373\365\360}k\237}\316\336\347\3147P\17\301\376\77\256\337\254\365\255"
+"\263\316Zk\3573\42AAAAAAAAAAAAAA\377\77\225H\303b\237}o\233\210L_\345\365"
+"YwYDd\351<\7\264\234\26Y\213OkED\32\275\210\32\21\21y\335\5\215R\372\357"
+">l\351\177P\300\252\346\213V\312/\317\30\22\241\341\263\337\310\31\362"
+"\327\23\223\6\333u\37;\367]\3\17\335\77:\42\323;\215\317\241\344\217=k"
+"\320\16\67\223\255\5\264\245$f\336h|\336Kz\224}\257\350E7\334\204<\331"
+"\2230\217\356R\237\303\216\213y\367\273\334pe\0\\\35\227\264\357R\237\256"
+"\241N\6Z\240\77*\234p#\0\330\344\330\27\230\247}\324a_(r;\376\36\200\256"
+"\333\335\2169\247>\307\35\366\266\242}\16z\36\340}O\267l6\351\335\225 "
+"\25\177*\351\31\237\234\321\237\0\352=\341&\233\26z)A\226D=\271:\201\346"
+"\1\234-\3615\363\21\365\271xK\34\354\217\302}\233\360i\5X\357\235\215f"
+"\374\25\37\337c\215\314\234\30\252\274\6\364U{\303\r\275\256>\373c\366"
+"\325\366\322\210\17\3062\200\266\224\321m5\25\257\262\315\337\0\246\256"
+"\327*mt\30\240)%\334\\\223\303:\313z7\300\207\77*Zn\241\232>\340\322\240"
+"\264\315\334\256>\355\326\273z\23\240\3619E\237[\16\33\0ZR\27\325\6\223"
+"\336\275\306v\353\25\340Byuo\201\344&G\77\177\26`fj\270\232>\r\267\323"
+"\330\226\26:\361SE\233\r\232\3\360u\306\36=h\366\300m1S\255\310\3\212~"
+"1\13|\7\300S\31\341\36\66O\273\322N\370\244\210T\374\256\350>\273\f\177"
+"\217\315\b7\370\262\372\234\262\313\271RD\344\25E\37\24P\23\300\336\314"
+"S#:\355fD/\273{\244\210H\255\222\356Q\371\277m\3X\224\31n\226\t\367Z\324"
+"\212\273\363\354\204\242\307\363\347U/p\241<\373P;\243>\371\356l\5X\230"
+"G\217)\372RDD\326\370\226OR\317\230\364\232t\214\317\227\345\321\260\33"
+"\212\352t\366\250\355\'\3348\263>\16\212\310r\200\255\316Lo\323\262\234"
+"\354\367\b\377D}\372&\210|\6\60MQ=\326\21\264\335n\247t-6O\273Q&\346\200"
+"\23\321P}\247h\211\f\272\4t\215\3507\\\324\256\77\227n\2X\21\2615\321B"
+"|0\345\334u\264\315\244\327\320\21\33\67\221;\264\260\275U\373\0\26\24"
+"\21\256\316\204\373\301\311\340cE\257\366\0\347\212\272~}\25\273\2\306"
+"2X\244\326\\|\267di\225\35\355\327X\6\345\277Y\310\332|Y\32\325m\371\274"
+"\340\277\177\1\34)\362\366\270\333\312`J\34M\215\356\216\261S#K\13#\227"
+"cIv\24\377\231\226\241\262\363\351\267\251G\fz\247\350\273\262\251P\347"
+"\260$\252\274\252\254\276\350pw\272\'\220\321[\5\344\277\347\370u\274\340"
+"3\337E\263\13h\375\0\276\f\n\233\262\303\327\366\247\363cV=\200p\303;S"
+"\256\274\42\362$\0\7\6\364\341\262\23 7\321\207\306\334\4xh@\341\346g\264"
+"\375\236\254{N\312\247Z\7\320\234\336\345-\251\337\263~5\324\211l\277\341"
+"\377\251\247K\345\243\366\360\257\200\240\240\240\240\240\240~\365\17P"
+"]\212\4\33\240\330~\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0\66\0\0\0x\b\0\0\0\0\234|^\35\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2\201IDATx\332\355\226MhSA\24\205\317\353O\204\270h\243\324\250\261\25"
+"K\20DB]\4\335\210\13\361\247\301\202\212\320\222\215 \24Dm\261\270\212"
+"\313\272\320\42\270\250\77H\351N\324U)TDA,\5QQA\245\266.J\320\252\251\202"
+"\202ij\215\20\f9.\22s\347\275\274\344\275\4t5g\2279|\231;g\346\316\33@"
+"KKKKKKKKK\253v\31\350<l\357\234\373\f`\304\306\230\271\n\0\61\332+\4\0"
+"v\306]\0u\265\25YW\353\352\352[#\327~\232\252\370~j\263W\374\265\373&\304"
+"z\321\333\336(V`J\305b\326\330\236\27\214d\324\342x\306\24l\330Z\320\255"
+"\374\370\\{I\251\236I\301\226\333\314^\303\'\222d\334o\263\304\346\270"
+"p\217=&\253\227$\371-h\33\315\326e\341\256\250\306\246$I\246w\224\211\364"
+"HN\270\2432\354}E\222\271\356\262[q^\260\364\266b\214c\266\351\252;x_\270"
+"w\276\302\340 Ir\264\322\316\373\224X\356\345\317OO\216$\'=\25OL(-\334"
+" \0\204\323$\371\246\311\341\244uK,\271. \220\250\20\275\252\2132]*\350"
+"}V1z5\226\7\302M\337v\210^\321\352\367\226\256\214\271k\244\216\264\211"
+"\32u\333\200Q\225r\210^\325%\241~\7\252\350\367\207\302\335\254\342\236"
+"h\371 \334\261*\270\235\312\241\336\342\376:S.\35\316x\335b\27L[0\342\222"
+":a\331\360\250+jO\226$g3El)\350\202\n\245Hr\276\345\214L\367\322y\317\327"
+"%H2\25\202\241\344r\331\211\312\367J\266\13\200o^z\357\240\303\1\311O1"
+"\0\0\330.\313Knt\321\245\327\13\277NK\231O\33\35\243/\236zc\\\270\241\362"
+"T$K\222\361f\271\341\245gs\221\312\321/\252\273\24\226\345}]oOmH\220df"
+"\267i\260_\312\234\252\267\243\232\246I\222\375\226\341q\313\315i\321\312"
+"\374\7u\316\260\214\257\371!\313;TB\371\237\344\255\33%\316\260L\367k\257"
+"\305\333\277\360\367\233^\202\365(\275\2209\251\24c\354\272#\316\200\365"
+"+;aj\242G\235\r\0`\254\32\362\207M\321\276\235]\2\216\3@\250\257\316\327"
+"\332\261\302\362\77\213\257\277,\234E\233\355\313\t\0p\240\314\263\212"
+"\37\377\373\343IKKKK\353\37\350\17\376\302\ta\231\237\343~\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0x\b\0\0\0\0\234|^"
+"\35\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3(IDATx\332\355\227IhSQ\24\206"
+"Ob\215VB\2556\2668E-.\304\1\25\204\332\252T\34\21\4\321EUtS\305y\300\241"
+"]H7\305R\24t\241.D-U\304\272Pl\25\24\21\67\326\42\270(\b\212\42Z\2\212"
+"\240\266q(h\2421\244\237\213$\367e\270yC\327\357l\336\343\234\367\275;"
+"\374\367\236s\257\210k\256\271\346\232k\256\271\346\232k\256\r\337<rp\236"
+">r\342G\362yj\274&&\362\0\275\5S\237|\324\305\274\303\353\244w\370\303"
+"+_\327\231\331\203\241\13U\343\262>\30=m\343C\25\215\267\325\226\250\310"
+"\326\230\201\265\353\376}!\25\34\250\312r\3577\260\3:\254,\1@d~NO{\24v"
+"I;\2240\0\373r\335\325\n\373^\254\233\200(@o\376\fv+n\247\6\233\5\300\352"
+"\374\300\6\205\275\320`\215\0\275:\5\373\24W\233\37}\5\260M7\350C\n\273"
+"%\332\221\367\373t\230\377\247\2224\230\33\273\6pZ\277\\\316\250\346Zs"
+"\42\245Q Q\251\307\202\3614\26\316\321\3400\300\343B\253\363\226j\256>"
+";\360\32`S!lq\1\r\226\2|.*\270\31\236+nY\246\373\6@K\341=T\247\325\240"
+",\n$\202\205\261\42\225\1\342S\r\357Q\200\7f[\266A5g\364\311\363\26`\275"
+"\31V\372+_\203Z\200\217#\314r\311\340\265\364[\240.\375\266GD\244=a\232"
+"Xf&r5\b\304\200\370$\213\204tO\215nI\306\226\351\262\312c\313s4\360\274"
+"\7Xk\231\377^(\r&\213\210\254\4\by-\323\3539%\342^\21\221\335\42\42mC\226"
+"\255\371>+\rF\211T\304\200X\271u2\377wQi\260Y\244\336\'\42w\7l$\367@\324"
+"\320\300\33\2Xa\253(\\Q\223Y\275\6\340\235\307\26\66{Hi\320\tp\314f\rz"
+"\2444\210\3\177\2\66\261\265Y\245\263\303v\305{\223\211-\265])weP\257\355"
+"\27\330\342\260\201\35rP\230[\24\25)u\200MTE\371\252\243s\300u\245\270"
+"#la\212z\345\360\330\361\304\244\376\233X\262\270\376\32\353\364x\324\7"
+"p\331\361\341\250\3`\201S*\20\5\272\35\67v\22\240\316)5&\f|(r\21258]\216"
+"\42\42R\322\17\204\375N\261\26\200&\213\217\3745\253\346d\245\231\31\177"
+"\200o%\246P\305\365\277\300\207\355\31\256\373\0\307M\251\351\237R\253"
+"\366\210rm\1\b\2152\315\33\352t\20)K\271\246|\267\254\272\311\212\222\264"
+"\215I\317\310\36\200\333\346\323q\326\300v$=\27\1\276L0\307\356\30\330"
+"r\21\21i\2\30Z#v\261H\261\210x\232\261#\231\264*\354\251\210\4\222\177"
+"\351\260,\26\65\n\2136m;\77\b\300]\237\365:\352\316\273/\335\264AI\345"
+"@6\24k\264W\316\346\2062\251g\363\354.w\177s\177zx]\253\354^2ED\212\252"
+"\27M\33=\370\365e\357o\367\332-\377\1\177rT\330=\372\23D\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\61\0\0\0x\b\0\0\0\0~\240Ed\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\2\3IDATx\332\355\226\313+DQ\34\307\317"
+"\214w2L\232\22)J\36\13\217,\224\362\310\202\330{$\26JY(\22\2617\371\3\304"
+"VL\262\23\221\235d\255\354\310\316c\301\260\220kj&\fc\276\26w\346\234{"
+"\356=\3678SV:\237\315\275\363\275\347;\347w\317\371}O\227\20\215F\243\321"
+"h4\32\315_\3421/\315\323\277\17\r\7\255\277\306\360;\27\346P\257y\361\251"
+"W\225\271#[\340x\r\33\237\351\373\316<*\2078\343Z\272\330\304\301h\271"
+"E\37a\257q\342\341\34\241\224|Z\307\311\225\6\65\274T\360\305\355\231\362"
+"z\26\377\222\247l\212A\333\353\34\3\0v\371\211\311\42\63l\331\27\340\f"
+"\0\236\375\274\330\22\247\206\233\42\273\343\n\0\226x\255\340\212\32\22"
+"\355\216E\276\7\360Q\302k\353\254\246e\347\266D\0\34\361\322@\222\32\316"
+"\262\235\16\0\230\345\224\300\23\65Dk\234\6\37\0\264q\322!\253iR\320+\25"
+"\0\222\205Ve\212\31\366E\335U\17 l\25jc\324\360X*\352\304\207^Bb\26\65"
+"g\207N\210\211\27\225\216^a5\255*E\240#A\r\227\371*\6\337\35\65|4)M\261"
+"\315j\232W2\270\247\310\5I\212\\\216\nI\212\304\310R$D\232\42\21\362\24"
+"\211\220\247H\200{\212V\f\303\230\263\236\211\251\24m\322\365\217\215\'"
+"\370\356\366\247O\\\257U\336(\243\267s\327\374\354\r\204\220wGM\222\24"
+"\345\177\1\30\267\33$)\42\335lC\275j)\352#\202\252d)\362\\\3@W\6)\352\207"
+"\363\260\221\246(\353\34\0\320\250\236\242%\363A\225r\212\206S\5\227)\246"
+"(7\370\235zT\254\224\242\322\231[\372\310\313\372j\241\207\216\270\364"
+"\f\321%\365\7\252[\233\330\206}%\331\377\304\241B\204}\1\24\346*E!J\234"
+"\275+\'\236\261\343M\177)j4\232\377\316\17@\33Y\213\3qb\236\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\2629"
+"\177\217\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\272IDATx\332\355\327="
+"KBa\24\7\360\247\256\345[/\242\221\t\25$\221\355\31\202C\24\215AM}\202"
+"\226\242\245\246Z\32\33\42hhh-\20\33$\202Dhj\13i0\20\67\303\b\r*B\311J"
+"\324B\275\r\347\\H\271\377\307\17\340=\313\337\227\37\367\345\370<\207"
+"\253\20F\31\325\311\325\205\2760\273\235\212\370\314\240\257]k\341L]UU"
+"5\6\300\370YU\345\2d\345KU\233\210\251U\314Ez\351\305\317\365mZ\367Rl9"
+">@d\4]\3516\213\20\274U\221\42\221\37\200b\214\17r\360\357\263\356f\22"
+"\344\214a\342\243\250%0\361R\344*\230\270(\236\5&\16\212\274\204X)*\22"
+"\302\315\377\226\20\2752H\207\22\336>e\t1\267]R\n/\357\27L|=\224iL\226"
+"xn$\340\265[\262\264\243/\360\355\35\223\250\317\42`=\341\261p\b@\337&"
+"\237E\r+\272\300w\252\r\301\306>h\370\2066#\237\26\333\375\0\215\275\33"
+"Dj\332\333\320\271\3\335\216\377\250\300\247z\230\202M\261\355\226\311"
+"\274N\342\316\371\213d\356M\330\254\362\271\326%\13,F$%!\313|\230Q\334"
+"\227;\316\31L\336\253M\343W\267\273\5\212!\t\371\245\350\227\220\22\205"
+"\311\30\36\6\321\312\324~\275\330%\204\327\356\240\204|P\fK\310\33\305"
+"\204\204<\362\16\360`\222\344\234\307=\260\363\203aT\322\247+\36\212\1"
+"L\26x\343g\275\330\\\262)\356\270\21q$\265\371\332HG\267\364\2153\322\362"
+"\244\252W\301pI\3720+\204\210\307-\201\300\264\307\251\210\214\361\317"
+"\243\223\352\17w\252\16\346\216\224\243\\\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\0KIDATx\332\355\316\241\25\2000\f@\301\224\35"
+"j\231\244s\262\33{\340\213\210\216\241\250\276\373&\242\271\274FH\222\376"
+"\252\325Og\317y\77_\16_3\33\365\312\261\364s\232\246i\232\246i\232\246"
+"i\232\246\351\35\265$I\21/\311\317\n[\352\090\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\1\300IDATx\332\355\327\277K\2a\30\7\360"
+"G\273 \225\256@\264h\310$\42#Z\245\246\226\246\20\42\b\202\242\326h\253"
+"\245h\t\242\246\326\376\204\240\251)L\b\42\2\355\7\211\4A\220\206\203\5"
+"\201X\376\240\314\254\364mx\236#\264{\336\333\363\336\345+\336\207\347"
+"\275{\357\356\271;\0s\230\243\221\207\5\0\\\335\0\331\364\273\214-\n!\204"
+"x<X\3561 B\210j\310oD\204\370^\375\273\271\t\0R\307\341\214\307\6\0\0\326"
+"\261\267\13n2\333f\25\353\224\7\371\235^\242\271\366$\207\177\216\244\244"
+"\362f\206\312L\324\375o\375\375yX\301\34\346I!\201\331\317\23 \342\221"
+"\220\7\f\227\204\274`\250\22R\302\260K\310+F\263\2040\303$\377\226(<\321"
+"\332\207\303\360\222\222\221\'\312\16\236\334\tL\37O\362\267\230\343\222"
+"\303[\247\376\341\343\2113\207&f\347\315,5\207H\27o\326\310\3446:Y3W$\364"
+"\31\fp\306w\251u\317 [\307_\250#\365\247Q\331:\323:CE\277D\373\t\225\250"
+"\204\246Zt\205zEb\237]\275]z\26,\260{:B5\266\371\205\243\42\2716\276\177"
+"\77#\331\341\213xi\236\0\177\275\364R\306y\342\254m\256zD\255m\256zD1&"
+"f\13j\24\242\30\23\352\224E\t\241{\343CB\334\30Y\t\361b\244%\204^\264\222"
+"<\31\240\211nx2M\31fW\310\235\305\3335e\341D\353)\335\321+\f\260\317\'"
+"I\304\35z\333G\367\243e\255\223f\206\214\336T\243}\362s\364u4\351\277\327"
+"\177Tfb\0\331t\342:\2227\77\64\32z\374\0\237d\24}A]M\374\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1WIDATx\332c`\30\5\243`\24\214\202"
+"Q0\nF\301(\30\5\243`\24\214\202Q0\nF\6`D\343\263:Z+r\274\272~\3502\31f"
+"\361\327\277\372\17\1\267j\244H\325\34\376\342\77\2\374Zj\204U\221\316"
+">\5l\302\354\263\376\243\201\335N\230\252\270.\374\377\20\211)\314\267"
+"\357\77&8\356\207\26\60\214\313\376\377\377\377\177\21\37\272\231G\377"
+"c\5\227\42\231\2215O\204\210\336\321E\321\314\274\355\77.p+\221\r\246\212"
+"c1T\354\253\34\212\356\336\377x\300\243R!\6\6\6\6\6\327\2530\221\42\224"
+"\370\366\335\b\363\337\3635\347\276\n\331\373q\243\372\353\347\336\363"
+"_$\235\265a\334\203\316\177\221$\205\236C\315\374^\301\16\211\370\222G"
+"x\334\362\\\32\305\350\231P\341\247\306p!\266\304\33\2704\1775Gu\230\327"
+"\313\377\377\377\377\377\377D\5Y\220)\362:V\315\77=\321#[|\373\377\377"
+"\377\277\350\242\211b\325\377\331\rKn)\370\361\77\fS\230)\362\42z\374\351"
+"aM\277z\265\3303\241\307\356\177\b\275\177\247\362\222\232y\324\332\357"
+"A\364~[\244\205\77\177\343\0\352&\312\\o\256\37\3742Z \216\202Q0\nF\301"
+"(\30\5\243`\24\214 \0\0($r>\234\16\375m\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f"
+"\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240"
+"\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x"
+"\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r"
+"\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230"
+"\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34"
+"\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32"
+"IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n"
+"\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0"
+"x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDAT"
+"x\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371"
+"Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b"
+"\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332"
+"\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0"
+"\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355"
+"\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304"
+"\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1"
+"\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315"
+"\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0"
+"\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240"
+"\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365"
+"Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37"
+"\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0"
+"\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x"
+"\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r"
+"\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230"
+"\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34"
+"\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32"
+"IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n"
+"\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0"
+"x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDAT"
+"x\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371"
+"Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b"
+"\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332"
+"\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0"
+"\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355"
+"\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304"
+"\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1"
+"\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315"
+"\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0"
+"\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240"
+"\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365"
+"Om\f\37\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37"
+"\240\0\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0"
+"\0\0x\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x"
+"\32\r\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r"
+"\230\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\0\32IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230"
+"\0\1n\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34"
+"\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32"
+"IDATx\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n"
+"\371Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0"
+"x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\32IDAT"
+"x\332\355\3011\1\0\0\0\302\240\365Om\f\37\240\0\0\0x\32\r\230\0\1n\371"
+"Z0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\36\0\0\0x\b"
+"\0\0\0\0\300\366\359\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\277IDATx\332"
+"\355\3259/\5Q\24\7\360\277\261{\233}}^\20[l\t\321RPR\211\217 J\215o\240"
+"\324hU>\4\215\210D\202\320P\320)\205\247 \bb\317{G\361\336\334\3059w\204"
+"Jx\247\230\231\334\337\275g\346.s/\220\213\\\344\42\27\1777\302\363;\227"
+"\311\265\351<Y\7O\211\210\210\326c\222\266^Q66\363\5^%\25\63\\\343i\315"
+"\7\234\247\264R\252\304/\365\374\207J\243\252\27e|a\360\353\rK\36}\322"
+"\311\327\205/_T\232\36\25\270t\317\347\5yLWRDD\267\263F\2315\300\235\223"
+"\355/\207k\367\377a}Y\375.\233\0\3566\234u\23Dtl\225x\301\311\277\313^"
+"0G\334\34\tN\356}\375\356\322\340\326E\77~7\0D\335\\\366y\22l.\4\200\260"
+"\223\303\252\216\310%\354\373x\353\220\223\243\301\255\313Y\317,\256Pu"
+"D\256\6\200*\'\327\1@\255\223\353\325E\342\2748\0\64\271\270\241\b\0\22"
+".n3\256\2w\0\0b5\16\356\266n\214{3\267\36\7\367gn}\362\17S\231\335\326"
+"ve\36\317\362\203\'&\37\362g\275S\344a\366`\361\340\3474\366\257\251N\213"
+"-\211G\324\206}+%\37\320k*!p\257n\323\'p\17\33|\213\3335wq.n\324\334\302"
+"\271\331\3705\343\234\253\215>\326p\216\211[\200\342\2\203\2139\277\32"
+"\374\302\371\331\340G\316\347\6\'9\237\351\2148\341\234\336\327\274-L\350"
+"\234\232\320\367&\201C\227>/\213+u\354-\243G\21y%\17o\245\210\256\227B"
+"\256\203\n\261\370c\362\375\267\234\241\37p\246\306\354\33_`v\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265"
+"n\256\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\266IDATx\332\355\230[lTU"
+"\24\206W\307\351h\351\205V\n\226\n\n\251\5\254\205\7\bF\223I#A\36\24\357"
+"B0DCH\32\210o\30\233X\f\221\213&4!1&\304\230x-\306\20\242Q\274Q4%>Tn\211"
+"Tn\6\345R\2046\320\332b\265\226\301\351\365\363\241s\366>gf\2373\343N|"
+"\362\254\247\235\177\355\357\254}\366^g\257\225#\22Zh\241\205\26Zh\241"
+"\375\37-/\367\2517m\215\212|x\346\337\307X\16\f\26[,n/\360\236\5W1\2\334"
+"o\1\66\2\247mv\361\2\260\301\2\\\n$\247X\200\273\201\335\26\334\224$\260"
+"\324\2\334\0t\344\236-Eee\5\23\243\323\300\306\\R\256\254\356\201\332\352"
+";\362Dd\340\362\311#-\225\207EFg\366d\13\24]\271o\30\217\375\16\354\315"
+"\212\325_\304d\313\263p\213\3321\333\307\223\2\337\361\305\246hj4\332\326"
+"v\366\232\224\314\253[\26\231\20Z\37\31\366\r\227\377\221\363\374\277\233"
+"*\34\261\352\373\224\366\246/\27\373\314\341\216W\273\344&G\365\313\200"
+"<\25\257\265\320\375\270\36G>\341sz/\251x\236}xZo\2209\344\275\243)w\242"
+"\312\243\357\327\340;&\356\346\237\34w\243G\277sL\203\77\233\300\27\34"
+"ow\201G\337\346:\313\33\6\256\244\317\361n\362\336\212].0\31\24plF\306"
+"\255\250\354\230\341(\316:\316\243^\307\347n\260!\23\214+\347+\36\275r"
+"\304\305],Rz\304\31<\241\244C\36pMT\217\257=~=3\342y\365\330R\267\34\351"
+"\0\32\77\1\240e\266\341\353\230\332\353(=\323\335\340\203\255\42\211\312"
+"\277j\353\212\7\276;g:\304GU@\357J\367\0\315&\300y\307\371J\371\315\355"
+".\177RD\336\r\2g\351\35\360lML\344\227\203\271\201Cnw\275\210\274/A\340"
+"\255Jq\357x|\236\310\360\256@\360\226\314\223\25\221u\42\362uo \250K\264"
+"\253X\227\256\20\21\237\42\354\200\372\376\312\327\316\325\5\42]\337\4"
+"\203\t\245\334\246\235\353E\244y<\370\32nU\t\360\203\322\26\3c\263$8\342"
+"U\245\314\366\234\305\201KY.\376\215\372\333qr\265h\20X\225\255\322\350"
+"\\\345!\' \320\27\313Z\252\307\25\270#%\35\5^\317^|u\215:5!,\0\250uO\231"
+"\376\332\335\6p\213^\353\304\227\262\238\354\231\362*\264\257\313\0\253"
+"\364Zw\212\210\24\364\3\365\236\373\263\37x;3\344\267\nL\314\20\221g\201"
+"\301\42\367\204\355\0\361Lp\231^\353.\21iK\257\24\65I\340G\323\366\34\320"
+"\344*\231;\236\326+N:\16\360\214\t\274gH\201\203\361\35i\275b\376\27\0"
+"\'#\306\23yY\207\274\336\357\355\25K\276\2`\211O\336\356\367t\31C\345\312"
+"\363\330\257\0|\340\227\4\223O\270\301+\253\247\211\210\344/hH\311\347"
+"\374\33\362\362\264\36\247\273\243\243K\365X\375s\3\22\257\370K\374\354"
+"\217\305\201)\33iH\232\271K\265\331\262\275\272\305\304\355)\315\241K\275"
+"\2573\35;\264$\247\366\266|\b\320\331p\376\215E\246\36\323\240=\27\23\271"
+"P3g\316\355\205\42\275\235\247\372rn\250\317d\264:\271Y\34\30\251\260\0"
+"\233\201O-\270\311\t\340a\13\360y\2403b\1\266\3\233-\270\205\300\330L\13"
+"\360-`\237\5W8\0<e\1\256\5\272\243\26\340A`\273\5W\3\214\337e\361\3!V("
+"\302\237\341\177\225\320\376;\373\7,\217r<\247\357\7\224\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\305IDATx\332\355\230iH\25Q\24"
+"\307\217\373\256\231\275\304\247\351k/H\212\210h\245\42\243\17ED\264@X"
+"\4\5\221\30\21\24\364AA\n\242(\n*\353s\213DHF\13d\220\32YZPZ\232\246m\250"
+"Q\232\n\225\26\342\362\374\367a\346\336\271w\336}\317w#\3724\347\313\234"
+"9g~s\317\334\355\234;D\2168\342\210#\216\374K\t\t\344\fM\367\244D\320p"
+"W[\227\316+\347\24V\375\202)\335\367\16d\6G\205\347\276\200,\336\7k\202"
+"\340r\232\240\220\212Yc`\221gF\241\224\337{\2r\t\17\371\223\257\13V\244"
+"\22Ex6\234m7\f\307\3p\261\317\30\326\230#t\360\226\26\0\300\21\377\343"
+"S\306\270\253\321\222#\346:\0xs\374\201\371\214+\261\17q\330\13\0\370\24"
+"\255\346\322\177\233\334\3738\37\337!\0@\276\32\274\302\32\334\354\343"
+"\n\273\13\0hRr\231\303&\327\26jw\255\2573]SU\3401\326\340i\233cZ\25\37"
+"\243\35\306\334\222\375[\231\362T\266/\271\237\310\365\31\306\370H\376"
+"\2513\230\326,\331\343K-\216\222\24\340r\256uJ\366Mn\341fT\1\316\345Z\237"
+"\37;\21}U\205\352gVD\2107/\25`\272\365U\222\375\213\240\177\177\242\0c"
+"\24\257 \42*\27\364\342AEH\355|\260\326\313\216[\334\3616\236\2\202\5\262"
+"#\345\25\343<\312Nh\340`\231\315\23W\324\t\240\243(N\335{\225\34\374\354"
+"\273P\'\315\317\360\273\212\257Z\373K\306\30\33\223\334\253-\226\272X\13"
+"|m\251K\265\22\202\313\n\365\245^*i\261v\356d\235P\251\312r,\325\2+,u\231"
+"V\250\311#<\326\307z\37\371\204\203\3\221\201\363\31\21\271\204\334\327"
+"\312\77-z[\263\355\331\346\1\233a\37\202\223\354\0\235\23\274\374\1770"
+"\234\210\352O\212\226\375\261L\273\336!\77\333\23\370U\245\2743v\353\205"
+"z\203k\363\364\202\217a\31\22\17\365Z\34x\300\264\351\232\275z\233)\356"
+"0\275X\335\274\312q\351\265\370\365\r\323\22\65\'@5/y4\301\347\177;\345"
+"\352\2302\2509\r#\275f\347\270u\'p\207\t\306\350\256\216n\343\362c@\27"
+"\374i&=\355\365h\266\364V\33\214\362\311$\242$\332\300\250\314)l\246\244"
+"\31\227\32u\271\327Y\262\320\272\313>\3272\n\240\373n^*Q\264Q\t\366G)\301"
+"\213\0N\260\306/[\325\373\310\355\265\313\r\355\246\222\2336\b`\257\231"
+"\334\32\344\375\263\317\270lT\202\345V\345\31R\251\334~\333#T\334\1\0h"
+"4\364\355\0\320\272y\\\270\'\267B\0kg*\270\215#B-S\3\240.\301\314m\257"
+"\204C\321\235\265\266z>$o\20\0\206\215\\\223\354\5\260\210\227{\307\275"
+"B\253\37\216\n\371\42d\225Y%\3370\216\201\213j\211\272\322,\377\3013R+"
+"\237\253\33\332{\211\342=\331\253\263\314zuA=\21\21\255\3\360NXS\215c%"
+"\255+\254.\1\60\62\201\203\227\306\342z&\232O\216\367\2\270\300\270B\343"
+"\264\322\347\227\33\265\352\312G\0p*\226\210(\255\4\0\360\3065\271\332"
+"\37(\234\312r\0\0\275%\'N\227\17\1\0\236\273\210B\363\276+\271B\261\343"
+"\316\313\276kFi\231zi\310\7\353\317\225\17Mg\205\23\352\267\235Vi_\334"
+"/\177^\331\24\373LZYe\242\255\207\223D{\322\256;\77\31\326Y\234\255\372"
+"\17\340^\222\25>\334Q\377\321\367\f7{zF,\r\2655\275s~\2328\342\210#\216"
+"\4!\177\0\rt\242\313\257\232\355\252\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0p\0\0\0p\b\0\0\0\0\343\213\253\227\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\t\3IDATx\332\355Z{PT\327\31\377.\271\260\253W\305"
+"eqE\211\225\227K\4\2625<\322\f5J\211qh\32\215\215\246!}\21\207\2464\326"
+"i\32\235\220\266\261\343\324d4i\233X1\305\31\265iL\247Zm\f3\210\266Q\22"
+"\246@I\242\242\26cH\304\4H\240\200\274v\227\327\356r\367\236\376\341\302"
+"\371\316\335{\357\276.\375\243\323\357\237\275{\317w\316\357\236s\276\363"
+"=\17\300\377:q\0\300\315\216\237\313{\34\3\356\377\22`\324\342\7\66\345"
+"\b]u\'\337s\314\20\210i\325\3w\300\307g\352\207oA\336\276\337\353\225$"
+"I\352\177V\230\2319e\35\352\36\25\'\35\355/\247\2\0\200\360C\257W\42\204"
+"\20b\377\221q\6\360\2422\253=\204\20\42I\203;M\0\0K\317\372\360\b\261\257"
+"\343\365\237_\356\25\337\350\222\364\217B\0\200\254\301)<BF\237\324\33"
+"Qx\242kzt\251o\13\0\17<\3329\341E{\225K\255/\37\233\230aK\213\215\226$"
+"\221\3\221\367\272zn4\267\7\20m\313w\177a\246\223\215\213\3\340\301\323"
+"\225J\31\346U\f\327\212J=\215\2133\327\344[\347p\234\357\77\341\bG\0\270"
+"\211\316\206\13\227\333\35\242\312\374\36\377\345\34\364\327\345\2\0H<"
+"D0\265\257\347\374\246f\266\225\236\350\22\211\nI\356\276\332m6\201S\300"
+"\3333\301p^\335\4\0`(\32a\336^\317\215b\273%\224\325\16KD\233$O\347\221"
+"\373\3142\1\260\224\273Y\256\77&\1\0@\354\376I\346\365\225L\372\261\234"
+"`{\276C$A\321\344\7e\t\30/n\3278\313\320Z\340\373\242\204*v\310\352\254"
+"\251>s\277~\322.\221\240i\242\256\220N2\355/.\266\265\243h\372\230g\34"
+"gZ\2745\276/\265V\16\222\320h\2442\3057fv\r\273n\344\372z\264\342\311g"
+"\331\306\263\311\0\300\257\275(\222PI\352*5\0\0d\264\310\32.\3462R\225"
+"P\343e\232\217g@\302\13\16\22\16\211\'\322\200_\373\251l\177_\267\312D"
+"1\253\232\355U\365\320\7^\22&}\276qC\253\354\325\201$\371\251\3412\257"
+"\260\210\256\0K\247)\257N\331\213cf\306\0\337R\352\331G\227\5\324\214\304"
+"3\322;\354\221D\16\304\350Yq\363M\306\333\202\321\247\236\303\273\273\225"
+"\324\372\372\16\355Iy\307\256\275ThbTPR\311\33\327\34\201\226~l\337\22"
+"\25\345\\\324\257\201f\77\367\323l%\3\315\233W\276\362\261G\353\244\354"
+"\212S\233\272\36115\271\364\\(O\3270\\\306\234\203N5\274\336\342X\365\216"
+"\374\223\243\2122P\277\301\34\300N\362\253O)v%m\17\33\64\373\255\263\373"
+"\313c\317S\346 $\303\374\235f\205\315l]\25\240\233q\253\3748x\352\13\203"
+"\363\2\270E;\375\24a\2435`\267m2m\326\373\263EA\273\23\206{/\312$\355\371"
+"\200}\362\207\330.\r\2711\241x0\363\217\261\335\207\362\3y\254\r\254\264"
+"\374a)\27\232\317\264`/{B\32L\332\374\3171\373\356\251\210\17\331K\213"
+"\257`\20\305g5\271\263\207X\ro\t\303/\\x\204\261\203\275)Z\222}\2325\30"
+"iay\242\251oa\271\223\16\250\3138_\206}\36o\225\25\302#k\25\66%\216\325"
+"\252\214\351\214\221\256K\r\333\333N\255\303\3\235RS\33|9\336\356\33\331"
+"\\\330\200\\\316\r4\222\363Q\225\221\314\227\21\227\273$\6\302\247\230"
+"\22\374\355\247U\242\300\207\361^\237\215\207H(\36/\352h\266r\30\360.\342"
+"\31~\220\213\b\220\3736\366\346\367)\362\334\203,\232T97\302(\315\\\215"
+"$\265WIl\370\235\210\243\307\n\221R\1\376~%\2611_@\f{\42\17D\371J\34;("
+"\210\315J\24X\r\335\251C\350\233\202\f\253\335\206B~\337\3577\221\'p\272"
+"M\7\300\317\232P\230[\344o\351\221\226\231(\320%\272/E\307\254\321\317"
+"\261IA.P\263>\351\232\244>:\344`\242|I\227\315\242\234\'\307t\1\354:\207"
+"\326t\211\34\60\207\3066b\215>\t\23\3615\211\312\254M\16\230E\31\35\237"
+"\352\224\242\371\327\b}\226\3r\313\221x\215\353\4\350\350\242\317y2\300"
+"\331\213i\333\5\242\23\240\370!}^bd\1\23\346\241\225\320-\355\325\202\374"
+"G\13\13\230J\255\237\330\242\33`3\225\232\230d\26p\5\325\256\23_\350\6"
+"\330\346\231~\274-\233\5L\243\200\366\1\335\0\377m\247\241s\n\13\270\220"
+"r\r\352\227\371v\365\243H\207\5D\16\314\220\216\311\322>:\303\30\26\60"
+"\32\345\rt\4\234\2443\344Y@7\361Ok\350@^\205\307[\200\23\24&NG@^\341\361"
+"\26\340M:\303\330\231\1$2@:\303y:\2\316S]\322v:C^\277\332\5\217\334C;\13"
+"\330\207\263\351\272\1\306R@\322\301\2\366#\255\227\251\33`\342l\nx\215"
+"\5\34\240Z\217[\243[\255$\203\36o\361#\31\240\223\262}U79\315\241\2428"
+"\326\315\2\216#O4-Q/\300\273\351\343M\7\13Hj\251\230\316\313\325\t\317"
+"\210\42\224\33\242\314\211j@\233x\277A\37\300e(\306\274*\367\332.#+x\257"
+"N\7\343[T\372\244K~\255U(\177\361\204.x\346\353tH\327r\277`\246\226j\366"
+"\250\315z\370\372\334\232$\372\247\347s\377$\24J\6\217\257\322\1P\300u"
+"\211#\376FOh\304\355:\210\215\r\245z\'\357S`\370\1\312\353\331\277\349"
+"\340n\24\3027+\5\371\311\235x\212\21\343Y\273\221\24\226+iK\303\253\350"
+"\223\\\371\221\356\340+h\301\6\322\25yV\215\204\220X\rD\367\17\240\301"
+"\376\254l\16\204\277\343\\\342s\21\341-n\302i\264B\25\256\2658A6\234\27"
+"\211\345\335\2153\313\347\325\322\211\206\32\234u|gQ\330x\374\272a\234"
+"\310.W5\260\253q=\307\2737\354\303\230u\25\177yK\272\272hU2)\366\255a\342"
+"\2453\365]O\231\272\7\301\335\371\21S\26\373Fx\216\3059\246\230\371\256"
+"V\35)\246\204\251\364\17l\344\303\231\37S\212\30\275G\223;\236\255v\17"
+"~oN\2506b\31[\275\366n\17\300\377 [\263\34\372\2619$\274\230\334\367e\265"
+"\240\273\2\4G6Y9|t\357\222\20\302)\323\367\77\223\327\327\252\263\264{"
+"\374^^\3\364\276\235\35l\272\235\267\36\30\363\257>\326k%{\205CJ5\325_"
+"})8\365\262\376\222b\215\364CuC`\331\241\\\225\277R\34\330\347\340W\374"
+"iT\245\n|\376n\265\371m\33W\351\342>\223\27 L*<\252~\217Bz\77Y\271\327"
+"\226\1\215\273\7\215\245I\252\2072\241\254\311\255y\1\340\355\f%\77\271"
+"\250O\263\374\357i\333_\230\350\257^\371\244\222\223\3\201\256\16x\217"
+"\'+h\370\316\200\227:<mo\224,\247w\237x\263\255xo\263S\361\n\314\244\254"
+"\264\373\226Y\236\264X\375\273\25\30\337\331}\207\342\371#\242\333\355"
+"\264\17\213Q\202)vVtt\264\312!\35\332\336{\230\215\211~\375\362Mv\33\232"
+"\330\353#\217X_\233\f\367v\13\221\376\231\17\306\r\254\n\361\354`$=\341"
+"M\266\313.\36\f[\207\302\304\233x\321\4\0\374\246.\366u\5B\\\370\2\273"
+"\1\277\25\0\0\362\353\305p\246wm\255o\213\327|\301\266\354\230\316\231"
+"\32\236a\16\240\364\272/*0m\357\226B\305s\35\\:-\367\305mL\323\360t\314"
+"\222\307\252\334:\353\264(d\274\332\37\32\334y|\327\303X\314\236\264\352"
+"\251\244\351K\330\347\221\336\311D\327\245\204\202\243\316\240\341\234"
+"\247\36e\255\231q\35\243\315;\36\237\n\325\260\236\270\264\222\25u\343"
+"]\373z\203YX\261g\177\256\337\375D\376\31\254`\335\77\367\275~O\244#\366"
+"\24\370k0Si\223C\33S\32iT\276\341#\224O(\0\376u|z8\347c\212\231/\313\306"
+"\203\327\307\3250\305\201\332\362<\265\33>\330\2M/\351\226\236\251K\273"
+"\343\77Q\325\320B\366\323g:\307&\211D$\337\35\63I\362N\f~rz\317#\313\5"
+"\r\257@\250`\205\206\3\200\304\303\205<\7\34\200\363\251c\232\31o\243e"
+"\301\202\370D\213e\256\1&\235\275]\335}7\373\325\256\262\42\304\247\267"
+"\317\7\0\200\326\337\234\230*\243}\345o=\343\242\253\277\265T\317d)]\325"
+"\315\325\35nwG\365f\13U\336\211\17}\355\366\261\3467[f\346.\273\220n[\4"
+"=-\237\214\301\377i&\350\77\1\62W\345A\246\f\37\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0x\b\0\0\0\0mw\5\220\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\2\264IDATx\332\355WKh\23Q\24\275\26111ELR\b\42"
+"\326P!\253\210`\355F\374b7\272h\361\203\202(TP\273\263U\20\374\201\272"
+"\255\266\353\212\250\265\256\4q!5\202\26wb\25D\20)\361W\27\251X\321\270"
+"0iPR\311\34\27\223\364\335\231\334\371D\27i\351\234\325\235{\346\2747\357"
+"\345\334\373^\210<x\360\340a\341\301\27X+\23\351\337*N\204\253\371,\305"
+"!\203\17\230\22\370\301E\377\374\265\365P\372\363\227)\326\332j\310\25"
+"F>\23eY\342\336x\260\271\275\211%\264\227\257G\365h\347O\276\370\r\322"
+"\24\241\241Y^\273\321\242\362;4\246\364\213_\327\360\261L\27:\f\371a\246"
+"L\312\13\273\242\2633\355\306tKQ)/\312\312\36\235\275d\316\337T\312\251"
+"\220\250<\1\0\370\24\64\347\223%%\355\26\225}\0\200\256j\342\276R~\20\177"
+"\345G\0\220\21\266o\23\333\243\275\2020X\0\200S\322\230\317\224\362\271"
+"@\357\3\200\351\210\244\334\305&\335VM\77\6\200\253\262\205\323J\231\252"
+"b\23\232\271\366\30\216*\245\266\306L\16\0\300S\13\367\7\246\224\364\266"
+"\331\266\77\0\340\240U\341\234V\312\342*#u\30\0\262\1+e\204\225\314\200"
+"\221z\1\0}\326\325\332\257\224\306\375_\17\0\245\325\326\312\25\314\367"
+"\3478q\35\0\36\332\265\210!\346\373%l\31\5\0\350\260S&5\321\367\275\0\220"
+"\261\357Y\314\367\357g\337\364\245\1\340\274}G\333\314,\270\247\222\334"
+"\16\0\305\345\16\315pL\360\375]\0\270\343\324F\271\357\267\226w|\206=\330"
+"\264\356\267J\371@O]\0\200q\347\336}\214\371>ID\344\237\4\200\343\316J"
+"\356\373a\42\242\335\0\60\35vq`\234a\276o\256\224\36457GM$\247\244\375"
+"\225\222^\347\352\224b\276\317G\364\222\36sw\276\255d\276\77\253\227t\227"
+"\313\243\361\26\363}7\0dC.\225\334\367\277\312\313u\211\21\343m\242\224"
+"\220\316l\376\20\217\225\203\'\235\206\227\336\204\333\312QnB\236j\20N"
+"H\325\367n\362\37\267\32\3760\232g\356emM\335p\336\271\30\322\342\n8_w"
+"h\241(}\206\273\300\21\25GU\230/)\257\34\220=\324\30\25G_\246\302\245s"
+"\310\361\223\257T\334&\376\351\231\360\34_O%\317/\256I\311o}\341\232\224"
+"\33Y\274\245\20654\356\377\302\234P<\31s\2522\42\352\355$\2126\305\33L"
+"\351\257\337r\177\350\373!\273\331\354\16\245\314<v\202\7\17\36<x\230\353"
+"\370\13\37F\360^\215\210\4\327\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\0KIDATx\332\355\316\241\25\2000\f@\301\224\35j\231\244s"
+"\262\33{\340\213\210\216\241\250\276\373&\242\271\274FH\222\376\252\325"
+"Og\317y\77_\16_3\33\365\312\261\364s\232\246i\232\246i\232\246i\232\246"
+"\351\35\265$I\21/\311\317\n[\352\090\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\4$IDATx\332\355\230_h[U\30\300O\2226mJ\333\271\306\265"
+"\335\34e\335\306\22\\\250\235>(\376A\313d\240c\n\335C\307\304\207M\230"
+"\250ccbQ_\224\201>L\34:Q\246 \205\42\26\254\223\42\342\250:\230t\33\262"
+"\351\2241\342\20\221\242u\13Tig\210\363\316\32\177>\334\233{\277\223{n"
+"r|\317\367\222\303w\362\273\367\234\357|\377\316U\252!\riHC\254$f\324\246"
+"V\366v\265\374>\177\245\210\335S\272\366\315\343\211sh\255\5\3209\201&"
+"\27\62\365\26\366\320T\\)\245\324/\237\25\322\203w)\245\224z{o\271\326"
+";\236\7\340\332H\312}^\337{\0\371\326\32\304\36\0\246\223\201f\30\340\207"
+"\246H\242\37\2003r\261I\0\306#\r\376#\0\235B\325<\345\32!\23\201\f\2\60"
+"&\317g\316\263\333t\4\62\t\300}Bs\306\267u\263\221\210\273\223\33\2\315"
+"M\301\361\364\210\377\5\303\33\334\237\216@3\20\f\333\214\310r\367g(\320"
+",\5\303E\343\3026\271K(\6O\351\361\327\365\263y\367\31ozW\240:VArf\244"
+"\2672\277\312W%>u5\17D\270e\362\2727\370\255\377O_\231\35\271\375\257\343"
+"\37\224\242N\177\266\362\232\331\224m\204>\346\357\266\260\314\22Y\26\234"
+"\\\251\337\222\31\27\321\270\331\16\351(\13f\324\216\31\226Q\77\221\260"
+"b\216j\231\242\315*\255\35\227\314\325\3256L|FKI\367\3320\211/5f\277\25"
+"\363\271\306\214\307m\3266\2451\347Su\262e\347\232\336\216\325\257k\252"
+"\305\354|\364\363\233v\\\306 N\264\367l\276\206Y\312k\42\216\3445\0\336"
+"\310\244\22\251u\317\350\264\323mD\336\2\370\251\222|\342[\213\222)\232"
+"\34a7@\241El\354\220d.\206m\335\5@V\323\345J\202\31\63\'\327\13\325%\363"
+"k\301<X\35)\0<\22:\325Ia\266v}n;\0\3a3\212\rM\350Sn\276Zo0\313\13\306T"
+"\256\224Z\2\340V\223\361_\362\221#\232\367\272\272\335\321\7\6@\42T\21"
+"\271hv\13\337n\322\327\232<\2359p\333\35ozX\324\227J/\360\241\261\245)"
+"\215x\3\255;\311{\317\331c^\232\227\255\17\313*V\261\371;\233L\b{\275\327"
+"I\345F\377\214\215\341\224r\'\237\320<\303\217\17\247\317\304,\204\352"
+"\273R\217\7\276d\362\201i\0Vh\272f\21\206\267\205\221O\0JU\366\334\42\374"
+"|[\b\271\n\360\\\265\366c\301<m\f\300\316j$9/\230cz\7v\30\340`x\275iG0"
+"\5i\354,@\301Tn\326\311\42\306+~\352\350w\0\'mt\214\254\306\224\237\275"
+"Q)\245Z\367\3\224\242J\315Z\247*\265\236\30s\275o\246=2\307v/\230\22\354"
+"\245;je\376\266\257\264\234\361\305\354\322\3347\337.\326\251HZ7~9mU\225"
+"\17Hfi\320\212\271[3\334N+\246G:\2/Z1-\247%\363\262\335M\350\310\377\256"
+"\344J\355\220L\316\216\311\tOXh\262\274`\211\362|\300\262\243k\375.p\321"
+"\244%\2238\3413\17\3336\250q\277\327\312G\272e\317\266\201\305\223\247"
+"\377\t\230SwV\262\237S\253[pn\21\373)\32\n\205\2207\t\27\r\357\362\300"
+"=Fb\225\277\331\31\241=\37\225\333\224R\352IL%n\253\253\31\62]y\224\250"
+"\256\2\361\372\207\202\21\371\303\37]\377;\320z\267\214_\215\3109\177\364"
+"\224\254\224.a\276\217tWv\362Q,\324x\fG\34\266\27X\243\222\210\315\1\224"
+"\242\232\371\225\0\274\257\351Fk\234\212RJ\355\4\310\307C\206\177\265^"
+"B\272\224\363V\26\313\270\215\305X\254\226\357\336_\6p\306wm\31z\364\250"
+"W\f\367\325\273\366LV%\344\263\26\327\213\356\203\42\352\337]o\367\35&"
+"\266b\343\315}\351\205B\376\373+\3776>U5D\312\177\264\273\247)\265\77\n"
+"\376\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0x"
+"\b\0\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\313IDA"
+"Tx\332\355\222\275\r\3020\20\205\237\23\244\200\370)H\3\5\64H(E\nD\307"
+"\0\260\7\314\301\2\f\300\26\214@\221\31`\2\212 \4\251@\212\240\210\36\205"
+"c;d\3\244\373\252w\357\236\354\363\311\200 \bB\35\37\0\320\32\66\336\365"
+"Ng\3409\257y \231\315\177\2\275\204d\32\227Up\'IrUM\344\332[\350r\257+"
+"\26\201\213$\245\227\373\0\340\323\260\264\211\256\365b\300C\3336\42\253"
+"\372V\215\1\17n\354\253U/\253\36\0\200\24394t\263\\\214\247\347\13\13]"
+"\355*/\232\226\211\215\271/%\311\255\252\356e\366$\3115\0(\0P\321$;\345"
+"\265\265\307\243\333\371#\337O\20\4A\20\4A\370k\276q\321s\340\16\260\234"
+"\336\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0J\0\0\0p\b"
+"\0\0\0\0\234Z\271f\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5mIDATx\332\355"
+"\230klTE\24\307\317V[J\241t[\254@[\250\320*\210\274\224GC\204X\36\211\240"
+"\t\370\210!\210\1\r\210\362\205\20\t\206HPD\22\65\224F\210\304\220\30A"
+"!\276\240\n(Q\f\25\65\362\322B\240\24*\210P\204\266\264\13\355\326\272"
+"]\332n\367\347\207\271{\37\273wwo\33\77\356\371r\357\2313\363\237\2313"
+"g\376sfD\22\222\220\204$$!\tI\310\377 \256\230\326>\23\'\215,\314u\273"
+"\345v\313\255\232K\225\'\316\7{\326\313\300\345\345\355X\305\263\353\351"
+"\336\335\7\232\271/\200\235x\337\37\336=\240G\177#\252t}q\277s_\335\267"
+"yV\350\367\217\212\352\253\215M\222\232\225S0\272(S+\fl[\323\342hDI+\333"
+"T\367\201\357\27\17\264\30\36ZW\255\215\354\372l\'Hw\35T\265[\336\31lc"
+"\235R\326\5@\260\364\316\270H\243\256\0\320^\222\31\255\302w\252\253\362"
+"\3148HS\233\1\3705\3262\315\251\3\240*\'&R\261\17 \2606)f\255\376\337\0"
+"p!/F\235\42/@K\\\237\272\336\f\2TfD\255\221W\17\3208\316\301\342\274\30"
+"\0(O\216bN\371\35\240\361\1G!\363|\20\240$\212\365=\0_\221\303\r\261\32"
+" \370\230\255mZ\20`\276\265\360\216G\326\224\235\276\351\247\251\246|\313"
+"\274l\21\221\3614*\323\16\200Z\267\rR\257\13\0[-e\303\267z\314\273/P\276"
+"4\77\377\30^eL;\27\331@\311\253\0\27\323L%C>\355\n\321\301\345kf\276\321"
+"\354\343;\201@\244k\335\315\0\63L%K|\0\64\224L\317\20\21W\341\222CA\r*"
+"E\253Q\n\260/\2j\35@\231\241\'\177\4\200\177\265\211\353&V(\250P8ex\200"
+"\340\3300\244\336\36\240k\244\341\356\257\1\270:\332\352\317\355\0\344"
+"Z\234\362q\30\324\2\200=\206\276\3\200k\341\344\340\332\5\60\64\244\366"
+"m\6\374a\373\372\20@\261\256.\6\24032\306\322\252\1c\250\233\0^\262\324"
+"\30\20\0.\352\224\232\333\n\300F\273\350\3&\31\214\3p\310Ra\21\300z]\375"
+"D\205\200]\370\311O0\305\320\252\200\216~\212d\265cADd\177\310>L\205\374"
+"v\257\35\324V\21\23!\354\27\221\344b\263\275\6\270\245\223T\211Z\363\t"
+"\266\373+\315\307\223\326\371\362\256\311\234\rp@\77\16\376\6\240>\312"
+">^\265m\222\t8\0\374h&O\200\r!m\234\32\324nG\4q\16\264\375\255&U \42r^"
+"\77U\324\347\254#\250j\21\311\3160\240\6\213\210\324\204\254Z\330\\r\4"
+"uEo\257\240\262DD<!k\201\372\334p\4uCD$\333\200J\27\21\321\227\376n\365"
+"\371\327\21T\213\336^A\245\210\210t\350Y\225\372\370\35A\265\211\210\364"
+"5\240\2\246h\25\321\362\261\324n\246Q\252}\253\210\210\333\322\2216\352"
+"\270\322Oo\257\240n\351\276\27\21\251\325\262>GPYaPu\42\42CBV-\n\n\35A"
+"\345\351\355\223\214\340\3203\216\223\3523\326\21T\241\210\4\257\32z.\300"
+"\347!m\250\226\303&9\212+\340OsA=\240G\273\234RXS\34 \25\30\273U\353\371"
+"\250\210\344\353\316\331\251\361\241\3\250i\42\42G\314%\313\0VX\330\37"
+"\332\6\305\207\332\213\205\353E$\77\b\34\325\325\225j\206;\354\233\233"
+"H4\343\266\3053\42\42r\2@_\303\3443*w\235c\207\364\260g\231u6a\231\321"
+"2\200-F\336\241\216\34\257\r\'/\365s,\224\35\273\316E\314O\304\335\n\264"
+"\r\320\365\351*\335\360\316\n\3\32\264\7\216\3533\234\13p$\274\263\315"
+"\0\233\r}\326\77j\216\37\230\367O\346\353^\330\333W\317\6*\1\346\206C\345"
+"\372\201\216\21F\301\350*\345\373\266]\317\344\211\210\244\214X\364e\33"
+"t\276aD\356\313\0\247##y\23\300\317\246;O\352\372\326PB\345\273~\271I\345"
+"Z\25&\357\3454\3\330\244\220\356\6\200W,\307\377[\365\326K\327\261y\246"
+"\256\\\7\1\276\265[\344g\1\332\'\207\245\242o\37\276\251`\32~Xm]\252\265"
+"\0\255\367\330\206^\31@m\344\25!}\330\230\261\303\42\362\2079]\0K\242\260"
+"\330\25\200\252lG\3442\335\7\360Y4\363\4\37@\345\0\'\367aU5-\372\235*\0"
+"\360W\374\333\361s\355\0\327b\335\227^\350\2\360>\21\33(\245\24\200\272"
+"\330\224\2750\0\20\334\26\353\270\31\243\250\261\346\3368C\177\\\305e\335"
+"\202ht\334\277\264\23\200\2239\361o\274\27U\34\235\231owC\33\270A\321\42"
+";\323\34,N\372v-\266\3536N\260\276\35\364yjw\207vSY\350\360\235a\366\226"
+"\220C\33~\2518[\323\330D\257\254\234\302q\223\213Bg\377W\313k\235\36\377"
+"\251\253<\321_\778Z\334\255\\\42}\305\245(\317(\7fv\373}\'i\306\207\215"
+"\3418\301S\257\r\351\331\373U\322\203S\'\216*\320\322\255\206\13g\216\37"
+"\256\357\361S\230\42\262,\267\253\275\345\246_\22\222\220\204$$!\t\351"
+"\271\374\7\305E\1\305G\27\3\r\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0+\0\0\0x\b\0\0\0\0N,TE\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\1\374IDATx\332\355\225=H\225Q\30\307\337\3565M\257afrM\273%A\241Q"
+"\20\204\220$E\5\245\326\320\340`\223C\21.:(NB[\20.\321VPP4\334@\42\bZ\32"
+"\314\226\202\300/\3044\374\310\20T\4\313DC\345\372\376\32\316y\77|\317"
+"s7\227\340\374\267\363{~\303\341\234\3479\307qlllllllllv-G\212\42\240*"
+"7\213\271\247g{r\7H\364\222\226\325\330S\230\16\203\3_\340\265\250\306"
+"_\2\355!P2\0\\\220\324\23440\2667\0\207\206\200^I\315}\3l\327\5\240t\30"
+"X\251\20\324}\357\1\36\5 9\npGP\13>\0\214\347\373\240b\34\340\235\240\26"
+"\366\3l\325\370\240r\32`1i\252E\237\1\350\366\301\211\237\0n\275\251\26"
+"\177\5\240\77\356\201\352y\0\36\230j\311 \0\313)\17\234]\2\340S\334PKG"
+"\0\240\311\3\65\277\0X*7\324\2621\245\276\360@\335\37\0\334FC-\237P\352"
+"\234\327`W\327\24xl\250\251IU\241A\203\306\277j\375#\21U\363\247\264\372"
+"V\203\332M\rZ\3143\270\255k\277\217\352^{\246\335\2171SnXW\265\276\230"
+"\327\356Z\356\24\256\367\322\252\252ux\340\276Zo\234\21\344\332\25U;\355"
+"\201.%\217\344\t\362\271e\0\206\375)ls\1\350\221\332\\\337\351C\37\264"
+"\272\0\231\213\222|j\21 \23\214\326=\27`f\277$W\315\3L\25\372\340\256\13"
+"\360\\\234\341\223s\0O\2\320\222\1\270!\312\307g\1\367Z\0\232\267\200\205"
+"\203\242\\9\23\356 \307qnm\2\257\344W\'\365}\347.\234\233\33Yw\341\34\376"
+"\6\356\371\20\270\276\16\263\5\262\234\34\205\2760\270\274\26\272\373\350"
+"8\r\261\32m\226t\266\3477\321z%r<\235\307\354\247dccc\363\177\344\37=`"
+"p f\200\301\270\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"C\0\0\0p\b\0\0\0\0`O\222\254\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0_I"
+"DATx\332\355\3261\21\2000\f@\321\17\207\0\330\221\201\233*\302\17\16\60"
+"\200\20F\266\16\324\1C\302\324\373o\317\317\365\272\4$I\222$I\212\33`\311"
+"\314\327\7\2007\343\0\306\37\336\322Sc\202=8Z\326\374\372\323\177\261a"
+"\303\206\r\33\37\267C\3246\3\367\345\375%I\352[\3\366\250H\'\321\300\220"
+"V\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0"
+"\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0JIDATx\332\355"
+"\322\261\r\300 \24\3\321#BY\2056\22kdDZFa\227\324L\300\2\371J\35q\257\265"
+"%7\6I\222$\275J\0\355\n\322\373\1\62@\251A\345\48\276\207~V\311\0}\4\351"
+"\3648\222\264\267\5\372\222\4\322\365%\373\223\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0J\0\0\0p\b\0\0\0\0\234Z\271f\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\5\215IDATx\332\355\230klTE\24\307\377eK\245"
+"\330\262\265X\240R\252\320\n\4\332\322\20\36\205j\b|\0\255 \17i\0k\24\276"
+"h\20\211\20\220G@\224G\250/\2\210J\320\200QQ\240\326\b\304\42\222\242P"
+"\244\210\21\4*%`K\245\312\266\320\260\266\24\273\357\375\373a\356\356\316"
+"\275{\367\356\26\375x\317\227\335{\316\314o\346\236{\316\234\231\1L1\305"
+"\24SL1\305\224\377A\342\f\255\311\205\371\271\375\373Z\255p\264\335j\270"
+"\\s\352\312]\216\362\340\262\23^\252\245iWQ\327Ns\272<y\304O=\271\361F"
+"\277\316\275vq-#\212{gf\354\276\312\337^\240\374\363\327\236\251m\274\331"
+"\206\356\251}\263\362G&+Z\307\246\215\216\230\246\324u\203G\f\357\334\377"
+"LO\331`\31S\332\240\314\354\362\230\230\274}Zq\312\352^:.\234\364\235\260"
+"z\226\307E%\25\336$I\266\257J\212\320\240\240J\300\312\272E!Mu\220$\277"
+"1\370Lq\317\331I\222UVCR\261\233$\35\363\215\307\313\20\23\373\331\210"
+"\365\230\213$\233\n\242~\231\355$\311\357\357\211\330\42\267\225$\353\7"
+"\304\360qV\223$wG\362}J=I\326\307\26\315\202\365r\204\20-\177\n@\313\330"
+":\214\323\276\241\243\303n\273bW\353\336\177\21\200\273\340W\275qJH\322"
+";\36@\251n\302\324\275\247\32\301r\230$k\364\322\273\347M\222\\\t\0\31"
+"E\13\366z\364h\2259R\2074\33I\256\320A\275K\222\77Z\2\217\223Dg\377[s\212"
+"\213K\226~r]<:\236\225zL&\311\366>a\244\1\36\222\356!!\305y\222\344\271"
+"@\306\314l\24\350YR\2372\222\334\26\206\372\210$\267J\212\257H\222\'\202"
+"\317\275\257\220$\357dH\351\352$\331\221\256!\245\273H\336I\2234\237kP"
+"\30)\326\302\355Z\247\254\327\240Vh\'\25\216\302\t\222dk|H\223\351!iS\24"
+"]\24\345<\0\376m\306Qy\f\0`\315\13i\32\367\3H\237\250B\345\17\4p\254\316"
+"\30uU\374\310\331\260\13\0f\252PS\0`o\224\\q\211\37y\235\252\264\3x\242"
+"\213\214\232\b\200\7\243\240\224\217\322,\251<\207\0\364\312\223P\t#\0"
+"\324\334\210\202\32*z\253\262\256\22\0\n%Tn7\0\247\242\220\272M\5\0T\334"
+"\226\225\'\1`\244\204\32\n\0g\243\240V\364\2\0\237:\214\352\333\1\344H"
+"\250,\0\2505\256\262\213\326\0\0^U\217\310Z\0\331\22\252\37\0\374a\0\272"
+"\267\370\344\3468\0\334X\252\261\\\3`\355\1\0\42RS\1\240E\217\221\365\232"
+"\263kJ\372\240\334\4\321oA\205\266A3\0\244\335\16\242\222\18\\z\250\364"
+"\327\203\177\275U\237\356q\2075h\13\364WP\t\0\334\306N\367\315>|GO\337"
+"\1\0I!_y\245lT\313/YY\233\304\372\273\330\35m\37\5\0h\7\220l\321\263;\257"
+"^]~\30\0\60v\207.\240G\240\277\202\272\25\364\275\336\253\315\21i>w\211"
+"\2365U\203\262\1@f\244\231\267\316\370\7\0\360f\221^\321\17\366\27\250"
+"\6\0\30\24\321\13\65s\t\0\226/\206\204\333\262\1\64;C\250\213\0\220\37"
+"\331\243\345\42\60\255\7zj-\335\263\203y\42P\347\275\0\2146\35k\276\25"
+"S(\323V\320\321\26\0\347$T\3079\0\243\223\f\242Jq\375\204\255\32\303x\0"
+"\250\226\227\276J\0\t\23\r\246\3256\255\35\0\60_\263\365\232\f\300\367"
+"\203\254y\204$\325\13\262\266\342\314\20\265\3135An4\220$\253\324\221\372"
+"\27I\347\375\206\305k\235\250\365-\331R\243R\355\316(\240[*k\16\220$\245"
+"\325\327R!X\277\207\nob\13IW\232&<|$\233\22%M\235\330)\'\2044VQ\352\371"
+"Sp\17\2720\334/\0\276&\311WB\317\317+\373\240\365\322fnH\233\320]\30,\236"
+"\223l$9B\213\32\356\'\371wo\0@\336K\233\316\4\367T\277mY\30l<]9By\312\27"
+"e\2\330@\222\207\302\77\367>\222\334\23r\234$\37\4\33\255\r\352\236\6r"
+"\\$\275\303\302\367\242\375/&\2\230\275\17@\356`\365(\365\301\322\20\67"
+"=\260\24\235nL8\235\17\340\303\27\364\212\23I\266>\34\363Io\7I\332\356"
+"\3233Y\252I\362\2225F\322|\222\364\77\256o\354o\'\311\352\3561\221fyI\362"
+"\235H\346\42/I\36O\216\2014\307C\222G-\306\223\346\331\276QIK|$y\301\310"
+"\31\253H\222\266q\306\240\244\317\304Q\265\267a\253\225~\222\364\226\32"
+"\235\33\37\25\tT\323\'\312\324\347\271E\316N\213\324\340\201\235\42\344"
+"\217\246D\77\361\332D8\237\232\252Wd\37\332\322!\216\2\233\343c\3708i\7"
+"\225\334hX\233\247\266XK*|\302\324<%\306{\206\222\267\3\'\204\77\217\237"
+"\251\275\326bGbjF\366\260\302Q\312L\374\37/\263\307\232\23I\353\332#\337"
+"~\360\310\360N]\245\244\256\276\36\341\32\345\313\2tV\342\247\354\266k"
+"9\276\352\305\351ww\177\25\77\252pD\316\0\21bl\272t\341dU\313]_\205\211"
+"\343kJ\n\234\255\267\234\346\275\241)\246\230b\212)\377A\376\5\264T\272"
+"3\204N\364\364\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\09IDATx\332\355\3211\16\0\20\20E\301\245\321\273\377\35\365\32n\200\206"
+"\306L\375\222\315\317F\0\334\221\242\254\203>R\214uR[\336\37z\226\34,\362"
+"v\0\0>7\1\61\267\6\f\207\13\371\343\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\30IDATx\332\355\223;K\3A\24F\277U\22W\f*v\276\300"
+"Z\13-\202\235\240\20\264\261\21K\261\262\362\37\b\332\330\13\202`\33\20"
+"\61\225\235\370\7R\b\222RP$H\f[\b)\203\30E\364X\3045\263\217\330\213\367"
+"4\303\7\207\231\271\367\316H\206\361\237\361\42ir\2450\322\272\272\274"
+"\375\354\246O\337\323\346y\315K7\366\350P\316\246\31G\0\257g\373\7\1\300"
+"M&i\254\2/\213\236$\215_\3\347\t#\373\16\215\\XC\t\230\213+\33\300\304"
+"O\352\t\240\22Wjp\352\304\5` jd\200\274\223\373\200\331p\313\366\322/\351"
+"\321Q\336$\215E\225\337\370VZ\222\246\334\2%=\305\324\0N\2348\17\f\306"
+"\224-`\2643\334*T\343\7\372\37P\363\303t\f,%.\265\t4f$IC\27@%e\330%\200"
+"\372\316\372v\31\240\231K{\\E\3471\324\207\323\33Ph\206\306no\327&\345"
+"\17\357x(.\373\366a\r\3030\f\3030\214\77\300\27\67T\226H\353\312\1\273"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\64\0\0\0p\b\0"
+"\0\0\0t\332\fM\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\213IDATx\332c`\30"
+"\5\243`\24\214\202Q0\210\0#\16q3\3\6\6\206kGH3\254\375\377\377\377\377"
+"\247\341\220d\42\307y\243\232F5\215j\32\61\232X\30\24T\260\211+0000\310"
+"\270`\223zr\203\201\241\342\77\211`\332\340\17\210\17\367\260\211\13\t"
+"000|z\203M\352\315h\261<\252iT\323\250\246A\242i\24P\326.\347\23!Q\313"
+"\263\37\f\f\231\244\326\2046\243io\24\214\202Q0\n\6\27\0\0\65\351w*\200"
+"\305x\236\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0"
+"\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\241"
+"IDATx\332c`\30\5\243`\24P\n\30qKy\2703\354\333\362\37\217^\236\265\377"
+"\377\377\377\277\24\217\21\302\247\377\377\377\377\377\377\177_\234*D/"
+"@T\374\357c``\301\256b\217\36\224\365\3\227\31\27\241f\374\377\253OH\305"
+"\377\26B*~\3273\22PqD\217\200\31\257\223\30\361\253\370;K\230\200_\316"
+"[2\340W\3611\237\205\200\212\25\222\f\370U\334ta\300\257\342[-\33\1\25"
+"[\224\360%)\37m\6\206\253[F3\331(\30\5\243`\24\214\202Q0\nF\301(\30\62"
+"\0\0\344\332|\30P!\246A\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0L\0\0\0x\b\0\0\0\0}\27KL\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2\377IDATx\332\355\227Kh\24A\20\206+1\233\303j$\20D\17\36\342A6\42A\t"
+"b\3423\306\307A\360q\361$A!\7\243\22Wr\22\25\224(\236\2\212\217\203F\20"
+"%\211\20\37\b*z\b\4s\362E\20\361\240\314J|\344\240\250\253\2101>P\312C"
+"z\252{f\272\247fv\346$]\247\355\256\257\377\356\256\256\352\355\1\260f"
+"\315\2325k\326\254Y\263f\315\2325k\326\254\1\354q\260\220\17\3\226\334"
+"\375Y<;=\222V\21\21\21\37\232\201\323\210\210\210\363\42h9\223(v\230\200"
+"\235\2(\360Z\33\5\212/L\204\13 /\366\221c[\t\230\311\212\21:n\0^\21Q\301"
+"i\355&\36467\33\277\315\267\204\266\352\201\345\4\374\210\276K\323\274"
+"\375\4\234\340\264V\262b\22\230\317\211\335 t y\310$\332\254\7\266\21\360"
+"\222\323\312\262\363>\42 \317\211u\22\372\227]\372TNl\214\320\343z`vI!"
+"\253\327\3]\4\334\341\264\232\330y\277\22\260\201\23\353\217\221e1vy_\17"
+"\2540\213\225\373\332\225\362\347\240^l\227\274m\271\205\345\345\274k\23"
+"\327\322\33\311fS\f\231\201\335\21\275\226\232X\261Q\362\357\345\304.K"
+"\255\17\334\322\253b\354\262W\13\264E\17Y\245\42\326\306\3146\304>\n\24"
+"\261\234\16\330,\375[b$\6\226v\330zV\13_\212!\326\310\210\345\24w\17\'"
+"\326\307\210\251\356\205\262\273z\177ws8<\21t\237\322\317\325\202\210\270"
+"\336\17gTx4\240\325\240\272\77Qw\215\274t\325+\250]\35\372+ 6\2426.\322"
+"\257{\0\0Pg.;]5}V\275\330\342+\211\301\260\220\5\16\240\340\365\272\257"
+"\331\n\321\336\36\226\30\210\213\f/#\357T\216\341\354{\275\370\230\342"
+"\252E\277\315\232t\\\27\315C\341\273D\354#\317\276\200\26v\1\0\300\25S"
+"Rf\2\3\36T\371\336)\252\255\1\310\275v\33\313\374b\35\232\21\317\317\365"
+"<E\336\216Bhbh\355\373\260\276\377Zh-=\321\2169\0\260I\327\77\24zc\254"
+"\206\372o\301e\325\1\0\34\214\244\245$\3060\0\300c\337\220\303\2\273\345"
+"\327\272\32~/\256\2\0\200nu\304\31\245(\275Z\235:\255L \271g\270\327\352"
+"\210\267T\26(\305pr\212\307U\346&\6\275B\34\345\237\244&;Q\324\314<g\356"
+"\264\77\343_\336\2757]\26221\332K\377\342uW\206\201\236\22L\\\216\215i"
+"~\222\313\304\270\220\\L\36P\3$\215Y\346w\32!\23\61\223\'\350$\337e*\211"
+"\341\356*\225\304\20\333\374\337\23C\304(\245\220A9\0\254\243\3263H,\266"
+"\230Z\307\222\213\311\217\343\201\344b\264\271\363\t\17\322s\0e\220|e\260"
+"U|\311\247\223\265Ko\26\13G\322+\202\332\352\24D\376\1xoH\362*\270\225"
+"T\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0"
+"\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\210IDATx\332"
+"\355\230\333oTE\34\307\247\273\262\245Kk)\264\265\2-\320B\322\4\21[J\26"
+"\61\361\212\362\2\42r\21\64\30\214\24BB\233\350F\361\362\342\203F\f\211"
+"Q\243\244&\22\214\221\213`l\245j\42\r\312E\240\\\232Jm\251Hm\\\nR(-u\333"
+"M\333\355\331~}8\2633\277\331\235s\230\77`\177/g\366{\366s\262\363\233"
+"\337\355,c)KY\312Rfdi:1\275|\356\264\34__w\373\331~\243\207x\226}\27\1"
+"\67\353\350&\377\235\211\305-P\354F\325]\356\300\270\317\306\354o\376w"
+"\256\341\364\25{y\246\330\215\30\377\23\0`\364\213\200\2071\306\3627\374"
+"\16\0=\25.\276\330\17\0\350\230\'\24o\r\0\364\316vD*\1\0]\5Dz\0\0\320<"
+"\316\201\310\356\3\0<I\244\373\332\355\375lu@\266\1\0\232\210\22\bs\277"
+"u8 \255\0\200\355R\310\350\22\276\236C\16N.\247\332r\227TVN\23K=Rf_&J\205"
+"87[\213\360G\6\244b\311\345U-\302\37\277d\212P\316\212U\370\230v\367U|"
+"\247_\313\360i\213\357>\250w\330s\361\373/\bi\326_\266\362Q\232\36\271"
+"\77\216D\36\26\232\277\372\360\345\213{\37q\n\27o\177\234\351\177\3204"
+"C\367\212\203\33|\312\20Y\42\23+\272\321\260\16\64\223l\334\3415b\36\37"
+"#L}\226\21SC\263\276e\246\t\222qF\251\24\17\2310y\227)3\374\242\tS\24R"
+"J\322\373\36\3\246\370\37\205\251\3154`f\374\2550\315\205\6\314\224v\205"
+"\271\276\320\275\214\373\27\225\335;!\377\31E\33^\377\255\363\363Kw\r@"
+"c\226c\364\370v\214Boc/\353\211\234\337\0\0\247\266\6\212\3\233\17\251"
+"\264\265JG\370\33\1\340\366j\376\261\360\223\21\312\214\350\2a\17\0\f\316"
+"\'\33;J\231\233\323\223\210\245\0\200j\245\235\5\243\204iJO\364u+\0\334"
+"\360\251\352\302\177\t\363q\2\362\4\0\340\313\244\210k%n{T\275\3679\0\340"
+"\265\344\376A6\324\242\206\250]\257\266h\34\371\263dV+=2\6\0xK7\3\34\21"
+"\310I%zmm\217\356\300&4\n\206\266\346\271\334\371>\35S \374VI*\3770O\343"
+"\265:\244{]\214\257\346\323\370\342\217\271\232\255\r\277\235\374\366!"
+"*\366pq\277\26\231\310\253\365\t\332\222\316\307\33\306\33:\244\377+F\177"
+"\277m\257\2103\326\246S\300\276y\200jSE~X/\351\372\310Pb\177g\214}#cI\23"
+"\3\254\3\0\360\254\242\315!i\370v2r\t\0\2429\252\370!\211\363O\23\33E\372"
+"0\0\374\230\30\27\177\22\346\373,]\2.N\352\256\21\302\264\225*\tx\2\0\32"
+"\222\177\357\323\26a\6+IQ\254\6\200\301\22\215[6\323&\206ceq}\243\5\300"
+"Z\256\r\214j\205\31\373aE\26c\254\242\26\0\242\353\35\n\346&+\241\264v"
+"6\331\321\27r\234\26\330\312!]\201\275\365N\246\313\0\277\2506\237~\354"
+"\354\215\365\266\377zd\304\265\273\314T\246\361\201\345&\3352\263\2162"
+"\261mFC\306\273\212\343v\373L\24054\20p\330o\302\224_\241\314/F\314=\'"
+"\225N\236f\302\244\357\242L\320l\324\n\222H\30\232m\306,#\355\271\316p"
+"\n\254\350\226!:\317\220\231\325)\230\235\246\3j\241\230\265z\234F&\317"
+"\232}\247\32\266\223$.\22\257#\16\357cy\366\264`\275.\245\5#J\243H\252"
+"\211\247\343\217$)\370&\227\336\323\42\317\213\315\206\344q\217\277\316"
+"k\233\356e\204\255\220[\230!G\253\203\3665\242E\310\220K\22\367\234}\271"
+"\246E\206\304*\26\222j\237}\271\240E.\211\325\201\260Ts\31c\214\r4\352"
+"\313K|\367\27s\223\6\217\32\207\261\217\'V\375$zVa\0\210\2268\34\376Z\0"
+"\300\5\332*\274\365.\247\302\30c\273\1\240\247H\nw\37\4\0\34w.\31\276:"
+"\0\270\25\314\343\343@\225=X4Mv\231\223\275\37\274\232\306\30\213\375\321"
+"vs\264\240\264\334\376\17\242vC\330\375\265\2475\241 _\273\363\353\205"
+"gU\3\311\372\363[2\214\376\207\231\374\330\202\222\334\314\310\355\316"
+"\346\343\241\324_U)\243\366\77u%\312O\2\225\77k\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\0\205IDATx\332c`\30\5\243`\24\214\2t\300"
+"\214\306\347\222d\371\201W\3\327\306\377\377\377\277\261\300\243\202\343"
+"\315\377\377\377\377\377\377\357\213[\311|\210\212\377\1779p\251`\371\17"
+"\3\256\310\302LHln8K\r\227\222\357p\326s\234n\331\3\263H\30\247\22\221"
+"\277\20\25\355x|-\377\364\377\377\377\377+\30Q\4Qy\f\214\32\312o.}\33M"
+"t\243`\24\214\202Q0\nF\301(\30\5\243`\230\0\0Zx9\375t<u\223\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\2629"
+"\177\217\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\356IDATx\332c`\30\5\243"
+"`\24\214\202Q0\nF\301(\30\5\243`\24\214\202\21\6j\376\377\237\217_\5\353"
+"\337\377\377\325\361+\211\375\377\377\23#^\25L\237\376\377O\307o\210\365"
+"\377\377\377\5\360+\271\372\377\377q\354\306\303\30\352Z\f\f\34+\36\377"
+"\177\265,\224\27\207!\333\376#\300$fl*\204\377#\203\353\254X\224T\377\377"
+"\264u\376y\270\232\245X\2240\2621000\260\346\303\324\b\341\366W\42T\211"
+"\17\236\0\374\rQR\204\305\323P\360\357\n\204\376\202[\t\203\42\204\272"
+"\202\333\42\25\250[8\320\304E\341f\311\276\203\250hBS\301\374\373\377\232"
+" U\21>I\313\25\260\240C\17^\347\377h\340<;\272\375\247Q\25\374\315b\302"
+"\fY\305\322\207\b\23\2\321\215\200\245DV>qv\376\77\357\337\274\3753p\331"
+"\13\0\215\354\250\3310\346\365_\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0\36\0\0\0x\b\0\0\0\0\300\366\359\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\1\326IDATx\332\355\224\315KTQ\34\206\37\17\323XA\222LAM"
+"8\13\23i\221\24\24\bI\321\7d\21QI\264\263\255\313\326m\372\13\372\17\242"
+"E\255\202\210\242\260M4I\26\42\321\246\42]i\350 }\220\37\3\22#\343<-\356"
+"\214s\247fh\235\334ws\357\313s\370\235\367\374\316\7$J\364\77\250\255\376"
+"\333\177a\2407\223^\37429\372b\375\257a\327>\272\241\271\221T#\335\227"
+"W-O\334\277\373\362\227\352\273\3368=\372]\365N\26\240\363vE]:Q\247}\313"
+"\2527kvDu\265\277f3\363\252O\353\303\357\251~\333Su\17T=\30KRR}\34\231"
+"c\252N\306\263<R\365\f\0OT\275\25\307\327U}\5\260w]\325\263q\334\255j\245"
+"\207\300\345\0\300\3478\236]\5h\273B`\0\200\362B\34[\0\340$\201(\361\317"
+"JC\27\177\0p\210@\27\0+\215M\216lvk\240\3\200R\323\355\354\b\330\fDqI\7"
+"\212\0\2647\342\250$\305@\24rg#\316\0\260Z\fL\1\260kK\3\216\266c\232\300"
+"\333h\262\3568\335\35\25\233 \360\234\352\32c:\34}\236\21\230y]\355PL\247"
+"\1\230\313\3\\R\365k\374\364M\253z#2c\252\16\327\351\240\252S\351\310\355"
+"_V\235\337X\333\266O\252\245#5\177\256\244:V\355E\373C\325\362P\275\332"
+"\371\25\325\231\341\35\260\375\352\7\325\225\213\361\250\7\336\250\272"
+"^(\224U\315\367\374\2619C\343\225\332\35Z\33\35lr\5\273N\365\345:\327\226"
+"f\337\217/n\216\267e<\333\n\36_HA.\327\n\247j\'\266\225\302\77\347\316"
+"\245Z\301\271r\362\360\'J\224(Q\242M\254\337\20\37\363\336\204d\333\367"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\0\0"
+"\0\0N,TE\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\363IDATx\332\355\225M"
+"H\25Q\30\206g\360v\271\222d\202\224\42*\265\210\334\365\203Dd\240&\b.\\"
+"Y$\264\310M-\214\26AH`e\264\212\42\333\4!$\202XA\271\322\205\42-$*\261"
+"h\323\17Y`\213j#i\27\361\nv\307yZ\2343w~\316w7\356\204\363\356\316\363"
+"=g`\316\367\235\31\307\261\261\261\261\261\261\261\261\261\331r*\253\23"
+"`\377\316bj\351\237\374\265\30h\363\227N\26q\323\177\341f\24\264B\256\251"
+"\210\334\17\364G\326\356\33\310\36\223\335\314w\340F\4\34\365 {\\\226["
+"|\340\276\33\202{@\256C\226\37\1\f\205r\3517`\243Kt\313\26\1\206K\n\340"
+"\204\7xgE\271\331\7\30\r\345\273\0\3369Q\36\4\340i\252\360\276\237\0\274"
+"\36\261!_\0x\236\16\300\221\177\0\376\5In\314\3\60\231\t\300u\0\374^I\36"
+"\0\200\227\301,\244\346\224|EpS\363J~\265K\203\39\5\372\4\371\340\272\252"
+"\275-\327\340\222Z\307Z\32\344\262\256\315W\350\271\230\326`\3205\\\367"
+"\235\256\315\351s\256\315k0`\270\2076Te\255]\203\253Z\375Zk\214\333GU\311"
+"6%\366~\330k<\366\201\252\2544\306Z\7\257w\33j\233\17\300\322\341\304\336"
+"\31\363\362U\374\2\340wC\0N\251\275\23\31\363\300\236\1\360c_a\357O\0\306"
+"\323\246\332\r\300b}\1<\1\340\205\240\326\254$\3243j\354v\230\252;\5\260"
+"\20\36c\3652\300XJ\350\356E\200\317U!\230\0x\\\42\250u\253\300\373\312"
+"\20\234\7x\350J\243;\25\35E\307q\366,\3w\304\273v\32\230-\213\200\21\340"
+"\266\250\272\13\60\33mN\303&\334\222\77$\345\233q\325\351N|\13\243\351"
+"\354\211\37c\272\267\325\376\224llll\266g\376\3\377\214o\371O6\'\f\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0-\0\0\0x\b\0\0\0\0"
+"C2$\2\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\314IDATx\332\355\327Mh\23"
+"A\24\7\360\227&m46\32\210\332*Tkk\250A\24,\332\200\366 \255\7\25o\5\205"
+"\202 T\364\240\207B\5\275\212\7O)R\260z\260\202\242 TD\214\226V\24\77\322"
+"\342A+\322\36D\213\224`\42~\4MR\323\244\232\344\357awg6\273Ig\42\236d\337"
+"i3\357\307$;\263\373\346\205\310\n+\254\260\302\n+\254\370\273\250\355"
+"\13\177\215\205\272lRx[\4\0\200\21\267\4nJ@\2151\211\331\357\203E\267\20"
+"\67\24\270~.\324\79F\326^\224\2522k\257\356\332Y+\322\37u\327\251\244\350"
+"\227x\346\371/\271-^\223 \303\371\200X\273^h\372\214\314^\272\257\345\1"
+"\340\373Qc\242\314f\265\34h\316N\206R\326\33\363\257\243\314z\2676\23\305"
+"\237\310N2\b l\36\256\252\350+\313\350\345\25\351\312\206=D\224\227\326"
+"^\42\372)\255\327\21QZV{\353\210(.\253\3DDQY\275\237\210\350\275\344N."
+"\215\3@\243\244\356\3\200YI\334\220\0\200\13r\270&\f\0h\223{\206o\0\0\246"
+"\344\360e\245L\35\221\301\325\327\25<\355\220\251i\243j\271\334%\201\353"
+"\'\325r\331/\201}\263*\236^\42\306\255\237U\234\331\42\306;\177he\373\204"
+"\30\267\317i\370\236\370L\r\2444\34\365\n\361\346o\32\316\355\26\342U3"
+"\354d:+\304Uc\f\217\333\205\272\227\341\214O\210\327\262\345@P\274x\3\f"
+"\377^#\356\213\370\324w\27\227\16\42\332\307\33\205a\263X\355\267\277\213"
+"\351>_\342]@\275\351\230\35\311\3x\246{\355&\30\216\230v8\251$~\35bC1\246"
+"\37\32\260\363\203\226Y\330\252\215e\231\276Z\276iz\244U6\'\313&K\325C"
+"%:\232T\235aCY\203\326\275B\266NU\363B\275\314\240\365\205\323\247j\276"
+"\22+\r\372NN\327\21\251\372-\33\331`l\337t\217\215vO\307\331\215\247\253"
+"\2155q\224\345\216i3\362V\264\303\270=\316[Zj\27364\316\364\220\271.\16"
+"*\231O\354\24\351bza\275\271\277V2\347\370\213\366\232\361\7\246\352\260"
+"\27\0\220\322=om9\306\317\33[Ie\246^\375\330i\376@\\,\252\201\215J\337"
+"\31*\372J\333\25\316g\16\63\337\322\257t\300\23\256\342F\3046pR\327G\77"
+"}\23M\324\324\371\3337)\237C\335\2463\277g\16\245#s\252\324\21\3348\\("
+"a\3637\233\312\375\317\31J\33l,\270q\221\6\312\325\271g\207\337CDD\271"
+"\310\324\253\307/\13\302vk\205\327\355H\314\177)\374\77}\354\37J\35j\307"
+".\263\320\326\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K"
+"\0\0\0x\b\0\0\0\0\237\313P5\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\300"
+"IDATx\332\355\230MhTW\24\307\317LLL\223\30\243b\304bM\301\217\370\2256"
+"\251H\265\266j\203\42\2700(\n\21!b\20A]\210E\261E\250\265\305\205\213v"
+"Q\272\261\213\26)\210\b*EZAC*\342\7\42\42\263\22\221 Q\202\20\3\221Act"
+"\f\77\27o\342;3y\37\367\275w\5\241sv\357\2763\277{\356\341\315\377\234"
+"{\312$\310\312\227}\226\33\24+\366\341\20\360O\271\rT\352\21\0=\325\26"
+"X\23p\254\317\2\354\203<\213\307\26`\27-\302j\262\26a\265\31\213\260\324"
+"\306\234\305\234U\376a\21&\215=\26a\351m#\366`2\341\214E\230\264\364[\204"
+"\245\277\261\b\223\311\335\26a\262\42\33\bKE\202\215[$\362\342\236\374"
+"\217\315 _SV\211d/\331\331\3564@\215\25T\25\0;\254\260\266\0\220M\331H"
+"h\277\2438-\26X\263\363R\330m\201\365\347\250\342OJ.\321\243(\366\'fmx"
+"\313\32N\'e\365\276e\361EBT\203\213\342VB\326\257\212E}\42T\205F\361c\42"
+"\326\272\2\326\310\270$\254{\5,\326$\3511\13Q\334M\300:\6\60\244`3\2\335"
+"\313\202*\305\205\224\210l\177\331\344\366\325\27\342\206\325\n@\365\\"
+"\25XE\\V\6\340\234\244\6\\\326\206\230\250z\0\232D\266\272\254\276\230"
+"\254\357G\365\264J\35rV,TY\16`\217\210\310)\227\365W,\326r\0\352DD\346"
+"\253\300\252\342\260n\0\\v4_e\277#N\207\4\300\347\316\303v\2275\20\243"
+" \35\0\310\345\265\264Z\35ra\3646p\b\340\320\350\3439\227u>2kq\241\372"
+"-T\201\325Feu\3d\334\212\373\324e\355\211\210\232\b@\253\273\320\351\262"
+"\206\42\26\244\335\0(\35\255Q\207\\\22\255\211\310\2\374\254\227\316\273"
+"\254+\221X\237\0\360\221^jR\201M\216\302\372\33\340\201G\250\216}\27\345"
+">\13@[\341\342N\227\225+3g9\177\231J\357\251\0\300J\363\314\17\0\234(^"
+"\376\327ee\214Y\363\0\230S\274\334\254\2\233n\312:\351\255\7:\373\307\42"
+"\2158:\374>`\247\35\60\34\362\264\343\323\320\327\252C\2563c\365\371*K"
+"\227\313\3521B\315\2\240\331\363\242\254\2k0a\375\16\360\314S\211S\252"
+"\2678np\267\32\77,\42\62x\326s\237\215\2521\257|\31\32V\33\206\2669\374"
+"\210\17LY\217C\13\322L\214\255qL\275)z\336g\256\0\77\205\344\276\374\225"
+"\210\310\365_|\1\35\353\2254=\17\334k-\0\237\372;LS\207\354\f\216\373n"
+"\350\315\'\343\262\202\357\247\323\303%x\245\n\2549\310\361(\0\323\302"
+"\3332\307.\6\371\215\0\334\17N\303a\25X]X\374m\301\254\251\212\265\327"
+"\337\355\216W\315\30c\267L\332\1g\3073a\337\350\227*\260e~N\7\315\206\7"
+"i\225\375\233~>\303\0\204\327\321oU`S\275]\226\2\320e0,R\254\303A95\371"
+"s_S\5\311\363\30\37;/\333\rXKU`\253}\373\371\300O\2468\263\276\5iW\376"
+"\335m\23\351:\242\2k\t\220y\223b\365\265b\365\26}\257\251}\352ZW\27\316"
+"\372MkuAoQ\321\332[0:\330\33\62R\252\77^(\374\'&\346#\332\264f\325\334"
+"1\336\257\377{\330\'\227\256\26\255v6\210\310\224\5_\215\35S<\351z4,\77"
+"8\r\222\247\35,\376\305\225\340\272\224N<\210\n\250i\357\13\253d%+Y\311"
+"JV\262\222\275[{\3\270U\n\n\331\262!!\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0K\0\0\0x\b\0\0\0\0\237\313P5\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3\275IDATx\332\355\230Mh\25W\24\307\317\213&\306\370"
+"\221\30\61\242\250)\250Q+\251\tRj[ml\320\n.\fJ\4KA0H@EDPb)\250U\272p\241"
+"\205\322\215n$\210R\4\225\22P\320`\213\264\212\4\221,DJ\221\20K(hP\t6&"
+">\345\327\305\274\2749\3632\37wf\256\340\342\235\335\334\271\3577\377{"
+"\336\314\377\234{E\212\21\'&\244GT5-z\376\312\216\232\275\0m6H\2313\0P"
+"m\1u\316A\361Uz\324\371\34\212/\354\241\262e\326P\254\266\206\32\376\304"
+"\32\352Gk\13|Pk+\355\331\326\214-T\347d[\357U\3772\261\205j/\261\205\352"
+"\232.\226P\203\37\213-T\207\237\357\31\374\2433\327\212\f\335\310_V/\20"
+"y\374,\241\220\213\0S\255\370f\5\0;\255\260\276\6`(c#\325O\2347\274\321"
+"\2kQ\356\23\276i\201uv\314Yf\244F\225\347\255\363@j\326\346<k$\365\327"
+"\327\237g\361YJT\255\213\242\'%\353\'\305\242&\25\252L\2438\226\212\265"
+"\321\303z;1\r\353/\17\213\365)Ps\275(\36\246`\235\0\30V\260y\211\373\302"
+"\211\3272\42\262c\264>\77Rz-\251\254f\0\246\324)a\211\253}/\300\25\311"
+"\f\272\254\315\tQ5\0\324\213|\343\262\6\22\262\16\217\371i\205Z\344\302"
+"d\335z\26`\217\210\310/.\353\\\42\326\347\0T\211\210,S\302*\222\260\356"
+"\0\374\356x\276\312\376\366\4\250j\0r\315\343\16\2275\230\240 \35\4\310"
+"\346\274t\212Z\344\362\330\250\222a\200\357\306.\257\270\254\256\330\254"
+"\225^\367[\256\204\305\356\225n\2\364\272\25\367\205\313\332\23\23U\t@"
+"\263;\320\346\262\206c\26\244\335\0(\37\235\252\26\31\257\215\313\f\1\234"
+"\324C].\353V,\326G\0\314\327C\365JX\254\315\342\257\0}>R\235\3706\6\312"
+"IN\213w\260\335eec\354\322\235O\246\334;8M-\262\311<\363\203\0\235\205"
+"\303W]V\2571k)\0\213\13\207\33\224\2609\246\254\13\376~\240\263\177\302"
+"\20\659\310\247v\253v\240\324\214\265\215\200\206~\272Z\344F3\326@\240"
+"\263t\273\254GF\250\205\0\64\370\335jT\302\214v\306g\0^\372:qF\365\26\247"
+"\r\366V\223FDD\236_\366}\316\26\325\230\227\217F\312j\3010\266F/\261\317"
+"\224\365odAZ\200q,\31Wo\n\256\367\233;\300\361\210\334\227\276\26\21\271"
+"}*\20\260}\223\262\246\377B\237\265\1\200\25\301\23f\253EF\34\354=\214"
+"\334\371\364\272\254\360\375\351\234h\13nR\302\32\302&\376\0\300\354\350"
+"\266\314\211\353a\363\336\2\374\35\236\206#JXU\224\376\226p\326,\305\332"
+"\27<\355\276_\315\30\27=&\355\200\363\304KQ\357\350j%\354\323\240I\35f"
+"\207\7%*\373w\203\346\214\0\20]G\17)a\263\374\247\254\2\240\333\340\260"
+"H\261\216\204\345\324\344\343\376S\25$\337e|\340\334\334f\300Z\245\204"
+"\255\13\354\347C_\231\302\314\6\26\244]\271{\367L\254\353{%\2541\304\346"
+"M\212\325\227\212\325_\360\276f\366\253m]U4\353g\355\325\236\336\242\254"
+"\271\337st\260/\342H\251\346\264\327\370;+s\212Z\327\257\255\33\67\373"
+"\315o\217\7\344\306\37\5\243m\265\42\62\363\3035\343\217)\236v\3773\42"
+"G\235\6\3117:\n\177q+\274.\225X8\6\16\254i\357\13\253\30\305(F1\212Q\214"
+"b\274\333\370\37.\215\t\262\25\63\233\340\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0x\b\0\0\0\0\237\313P5\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\4\22IDATx\332\355\230]h\34U\24\307\317l>\214\371"
+"h\223\206\246T\254)F\353G\210&J\265ZK\333h)\24\61\264(T\204J\203\b\266"
+"\17\245`\251\2424Z\351CA\5\213/\365E\212 \42h(\1\13\66\324P\252E\202\224"
+"<H\bAJ,A\320\200\22\322\2605.\77\37fw\347\314\354|\334\231\273\202\17\373"
+"\177Y\346\314\335\337\234{\2309\347\334#\222 g\2\200|\233\330\353\30\256"
+"\2569\326\250\207(\351\224-\252y\251\314b\253\35\312\271\342\241XYe\305"
+"z\3\255\251\234\5j\240\byy\306\375}\77;\252%\17\300\322\335R\177\336\205"
+"m\313\34\254\253\0\314\264\211\210s\22\200B{F\326\333\0\214\326\271W\373"
+"\0\3709[\310\36\1\340D\371\25\355\315\3|\220\5\325\232\7xVY:n\0\354\314"
+"\20\254I`\271\307gk\234\0\n\35\251Y#\300l\360{v\316\0\323iC\366\30\60V"
+"_i\77\b|\224\16\325\226\207\221\320\304\260\271\0OG\305%\324\272\241Sn"
+"\316\206\377\241}\2430%5UA\6Y\274s\207\310\342\305\352<\356K\200\326\252"
+"\240\232\1x\245*\254\27\1Xt\252\21\320\337\335\224:P\5\326=\305\234\177"
+"\251\n\254OKU\250\303\32\325T\256h\257[\263\366\226Y\371\234-k\316+\265"
+"OZ\242\272U\331\236\264d\235\321=@\227\25\252\321\327O\234\264b\355\361"
+"\261\n\3656\254\31\37\213]\26\250;\374(\246-X\247\1\226\25\354\316\330"
+"\345u1\367\352/8\42r\360V_\331\322p!\253[\203\0\264lR\2165feM\1\214\212"
+"\263\340\261\366fDu\1\320\'\362\222\307\232\317\310:Q\312\247\315j\223"
+"=\231Pu+\0\207ED\276\360X\237ebm\5\240]D\344\1\345Xs\26\326U\200\t7\347"
+"\253\350\37\310\200Z\3\300\343^\333U\324B\206\202t\f`\245\230K[\324&{S"
+"\243r\313\0o\225.G=\326Xj\326\243\376\354\327\253\34K}\304\272\4\250\376"
+"\317\371\313c\35N\211Z\r\300\240g\30\366X\313)\13\322!\0T\36mU\233\334"
+"\234\256\211X\2548\257\214y\254\313\31N\331\33\264\251O9\266&\r\353<\300"
+"\365\20W]\275\231\346\\\5\300\220\337\370\252:y\327\231\263\334O\246)p"
+"\26Q\233\334n\36\371\5\200sA\3637\352\24o\314\272\37\200{\203\346~\345"
+"\330zS\326\347\341\371@G\377\264!\352\366\250<uH\265\3\rf\254\375D4\364"
+"\253\324&\367\230\261\346#3\313\270\307\372\305\b\325\3@\177\334\34\5\240"
+"\333\204\365\t\300Rh&vToq\326\340lu[^D\344\317\257C\237\263O5\346M\267"
+"\22\335\32\302P/$o\361\272)\353\267\304\202t\27\306\272\257\242\336\4\256"
+"\217\232g\200\367\22b\337\360\267\210\310\17\37F\2\16<\247R\323\315\330"
+"g\355\6\340\341\350\5\353\324&\207\343\375\236N<\371Ly\254\370\363\351"
+"\372\344\24\274]9\326\37\267\360\24\0\353\222\3332W\337\306\255+\0\314"
+"&O\263JjO\362\177(\236\265V\261\216D/\273\26V3*4i\322\16\270O\374*\351"
+"\35}J9\366D\324\242\343f\303\203\234\212\376\217Qk\3341or\35\325S\352\265"
+"\341K\266\0\60n0,R\254\221\270\230\232|\334\337\253\202\24\272\215\215"
+"\356\315\375\6\254-\312\261g\42\373\371\330W&\30\331\310\202\364Z\361\336"
+"O&\251\353]\345\330@L\2327)V;\25k.\360\276:G\325\261\316`F\377\261\316"
+"\325\276\336\242qp\3167:8\2220R\352:\353O\374\347V\27=z~\327\216M\25\253"
+"\377\371\356\327y\271x%`\35\356\26\221\316\7\267U\216)\376\30\277\221\227"
+"w\334\6)T\307\203\377\270\34_\227r\326\203\250\230\232\366\177a\325TSM"
+"5\325TSM\377\255\376\5\202\273@Q+\rv\326\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0x\b\0\0\0\0\237\313P5\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\4\5IDATx\332\355\230oh\225U\34\307\177\367^\267\346"
+"f\333\234\270\261\260f\314\177)\253\r\31\251\25\332P\2_4\314\202U lD\320"
+"|!BbQd\177\350\305\202z\21A\330\33\221`D`\22B\202\216%\262\31CTF\301\20"
+"\21Y\262\204\272P\214Z\263u\371\364\342\271w\317\357y\366\3749\347ynPp"
+"\277\357\236s\316\375\234\3579\367y~\277\3379\42\345S&\262\267\256\251"
+"\352\317\374\202\257\361\301s\42\233\nv\323d\373\362\0\\\330\221\365\264"
+"\17\301\214\245\343\326\333\2244\77X\347\266\327\3o\332\241\332\13h}\332"
+"Rr;\16\254\265B\335;\217O\343\3359\21i\276\2\\\267\2635J\200&NL\1\260\331"
+"\n\325\t0\366\302\356\376S\1\310\17\355l]\6\266\213\210Hn\353\270\17u&"
+"c\205Z\t\364.>\255\31\326\250\17\354P\262\37\356\350\2374\34)\375\25c\353"
+"m\337\373\236\2152q\325;\256\255\273}\371O\77|\77+\25U\364\377\227\301"
+"\307\265j\227\310\354\371\362L\367%\300\212\262\240j\1x\251,\254\347\1"
+"\230\315\224cC\177v\202MW\31X\353\212\201k\264\f\254\23\245x\27225\252"
+"f16\277\232\232\265\317M\336\331\264\254i7i\354H\211jS\t\350rJ\326\307"
+":\2335\247BU{\222\354\273\251X{=\254\302\2624\254\353\336\354\277\'\5\352"
+">_%1\225\2025\4\60\247`k\42\207\347\42\372\226\235\315\210H\377\335\216"
+"\305\226\252\263Im\365\0P\267A\31\253N\312\232\48-\231\274\313\332\227"
+"\20\325\f@\207\310\213.k&!\353\255R<\255U\213lO\204\312-\0\34\24\21\371"
+"\302e}\236\210\365\30\0\215\42\42\17)c\265IX\337\1\\pb\276\332\375\3\t"
+"PM\0<\352<\364\273\254|\202\204t\4`\241\30K\353\324\42\267X\243\262s\0"
+"o\224\36O\253\362\336\232\265\325\33\375\266(c\365\266\254Q\200I7\343\376"
+"\346\262\16Z\242\32\0\350q\33\6\\\326\234eB\32\4@\305\321\25j\221\335v"
+"E\304\354\222\363\330\31\227u\321\212\3650\0\367\353\246\16e\254\311\206"
+"\3655\300\255\0\253\216^\267@9\233\323\353m|\331e-\344\314Y\316\'S\343"
+";\201\253E\3564\337\371<\300I\177\3637.k\322\230\265\t\200\365\201g\360"
+"\242ZMY\303\301\361@\357\376\220!jyX\234\32T\345@\225\31\253\217\220\202"
+"\276^-r\257\31k&4\262\214\270\254\233f\279\0t\6uu)cm&\254\317\0~\17\214"
+"\304\31U[\34\678[\3353/\42\362\353W\201\363<\243\n\363\232\273\261\266"
+"z1\324s\361K\274e\312\272\23\233\220\36\300X\33\227\344\33\337\363a\363"
+"\b\360^\314\336W\375%\42r\351\243P\300\201\247Uh\372#r\256\247\0x$|@\213"
+"Z\344@\264\357\251\330\223\317\244\313\212>\237\266\306\207\340\235\312"
+"Xg\324\300\367\1h\211/\313\34\235\213\32W\0\270\21\275\r\307\224\261\306"
+"8\377\275\321\254\325\212u(|\330\265\240\234\21x\307\31[\1683\236\212{"
+"G\37W\306\266\207\r:jvy\220U\273\77\21\66\306\271\367\214\317\243\257)"
+"c\253\203\207l\3`\304\340\262H\261\216E\355\251\311\307\255n\225\13\201"
+"\313X\353t\366\31\260\266)c\273C\353\371\310W\306\277\263\241\t\351\225"
+"b\337\25\223\320\365\2162\326\25\21\346M\222\325\223\2125\355{_3\207\325"
+"\261\2561\236\365\211\216\325\236\332\242\272g\332sup(\346J\251\371\270"
+"7\360\237l(:zv\317\256\rKF\377\375\355\2173r~\314\327:\320&\42\2536\77"
+"\261\364\232\342\227\221\333\363\362\266\f\207\346\231\243\376_\\\214\316"
+"K\331\324\27Q\219\355\277\302\252\250\242\212*\252\250\242\212\376]\375"
+"\3b\1E\306C\351\247\37\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0K\0\0\0x\b\0\0\0\0\237\313P5\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\3\370IDATx\332\355\230Mh\\U\24\307\317L\363\325$McBS#6\21\2421\332"
+"F\23E\254_\264\6\253\320EC\305B\213PH\20\301vQ\nJ\25\305\372\201\213,t"
+"!\272\250\33)\202\210\250E\n\26l\250\241\370\201\224\42\321E\21\221\222"
+"\226Q\261\3J\324aj\f\77\27o\346\335\363&\357\343\336\367F\354b\316\352"
+"\315\377\335\367\273\347\236y\357\234s\257\310\225i\253\42\357\254\356"
+"o*\327j\235W\347\313\356s\264}\0\24o\13h]s@a\223+\252\365W\0xP\243J\236"
+"v\227#\353M\3571\226[\2156W\321J\253\334\242H\325\266\371\332\32_\213Z"
+"e>T\355\360\257F\374\253\36\377j\300\211e\376\254\237\374\253\77\374\253"
+"Kn\361\232\255\256\247\327h\13U\255\325\215\325\273\354=6\243\264\341\n"
+"j\332\365\245\30(\0<\227\323\332\330\42\300T\3443\271\310\33#C\305oK5\177"
+"\357\246\r\277|wY\32\326\260\377\303r\26\337\323V\221\305\223\365\231\356"
+"}\200\316\272\240\332\1x\254.\254=\0,\346\352\21\320J\25\31\257\3\353\372"
+"J\326:U\7\326\333\325lzUfT\233_}\236\314\314\332\351\263\312\371\254,\277"
+"`\300\335\31Q\203\6\305\231\214\254\327\25\213\276L\250\26\215\342\245"
+"L\254\355\1\326rS\26\326\367\1\226jT\334\355\232 \212s\31X3\0%\5\2736e"
+"\277*\322t\42\'\42S\227G}\245\371DZ\267&\0\350\30V\216\265\244e\315\3\34"
+"\223\\\321\260v\246D\365\1\60*\362\250a\25R\262\236\257\346\323v\265\310"
+"\241t\273\210%\200\375\42\42\357\31\326;\251X\367\0\320-\42r\223r\254="
+"\r\353+\2009/\347\253\350\357M\201\352\1\340N\357\307\224a\25S\24\244\247"
+"\0\226*\271\264C-r\2433*_\2x\266\372\363\230a\35wf\335\36\314~\33\225c"
+"]\256\254S\0\363\246\342\376nX\373\35Qk\1\2300\302\264a\225\34\13\322>"
+"\0T\36\355T\213\274\303\255\211X\4xUK\307\r\353\264\23\353\26\0\66hiT9"
+"\326\343\302\372\30\340|\210\253\236=\343\200\362\2023\31\24\37\67\254"
+"%\207]\262\367\311\264\5\3055j\221[\354#_\48Z+\177bX\363\326\254\21\0n"
+"\250\225\307\224c\375\266\254w\303\363\201\216\376\214%juT\236\332\247"
+"\332\201f;\326n\42\32\372.\265\310\355v\254Bdf\2315\254\37\255PC\0\214"
+"\205\335\32W\216\r\332\260\336\2\37034\23\347Toq\304bo\325Z\26\21\371\355"
+"\243\320y\36V\215y[\362\201\300$\226\266+y\211\347mY\77\'\26\244\1\254"
+"\355\306\244s\246\203\366\31\340\345\204\3307\377-\42\362\345k\221\200"
+"\275;Tj\372+v\256\207\0\2705z\300z\265\310\204\3\247s\211;\237y\303\212"
+"\337\237\366\'\247\340-\312\261\261\270\201\257\0\260>\271-\363\354\323"
+"\270q\313\0\77\304\207\341\260r\254;\311\377\311x\326:\305:\20=\354\233"
+"\260\232\261\302\316\330\264\3\336\214\37&\275\243\367*\307\42\317\223"
+"\17\331\35\36\344U\364\277\216\32S\6 \271\216>\255\34[\27>d3\0\263\26\207"
+"E\212u8.\2466\37\367\27\252 \205.\343:\357\346n\13\326f\345\330\3\221\375"
+"|\354+S\33\331\310\202\364D\345\336Y\233\324\365\242rl<&\315\333\24\253"
+"\373\25k\241\346}\315\35T\333\272\356d\326\33:W\7z\213\226\211\205\300"
+"\321\301\201\204#\245\276#\301\304\177tm\305\243G\266m\35^1\372\237\317"
+".\24\344\344\3475\352\364\240\210\364\336|\337\312c\212K\263\27\313\362"
+"\202\327 \205\332\241\332\'N\307\327\245|\346\203\250\230\232v\245\260"
+"\32\326\260\2065\254a\rk\330\177k\377\2^m\3\311vVHR\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0x\b\0\0\0\0\237\313P5\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\4\63IDATx\332\355\231\177h\225U\30\307\237"
+"w\272y\335\226[\23\'3m\202f\345X9\262\262\37\342\34\63A\242\261~\200\21"
+"\t\256\b\324\77D(4\214\314\242\77\204~\200\324\37\366\207!\222DT\22\243"
+"\204\34\26\303\f\31\21#h\210\310Zc\bkP\\l\336\265\326\247\77\336{\367>"
+"\367\356\276\357{\336sn\366\317\375\376w\316{\356\347<\347\274\347}\236"
+"\347<\327\2238\255\330\332\331p\375\302\227\77\377#\256Z{\t_\327\272=G"
+"\324+\4\352\257rB\35\5\310|t\370\255Q\200\237*\35P\217\2\223\355\236\210"
+"\310-\27\201O\355QU\3230^\233mx\247\200u\326\254g\200\345\263\255\212Q"
+"\30\260f\r\303I\325\334\b\324X\242*\201\365\252\275\0\270;\352\7\25\341"
+"\217\26\212\310/\252=%\42\313,Y\211\25\301\272.\42+\365k\25\221\253\266"
+"\363\214\302\t\325\274\17Xd\313z\16h\232my\227\341\262\365\372S30\234\312"
+"\265\336\7\66\333o\346\263\300x\213\210\210\324\365\2\3.\256\342\24\300"
+"\310\201\'v\365\3\244k]\336\262w\\\371\234\221z\3073\323\231\316\241\16"
+"\316s\77\200\353\337\35\342\312\361GRrCe\360f\26\267\213\244\317\226f\272"
+"O\0jK\202\252\6\340\371\222\260\236\6 \355\225bC\307\375#\321V\2\326\352"
+"\354\361:W\2\326\207\271\263z\2633*5\373\t\275\350\314\352\236ee\234\335"
+"\371H\360m\77\350\210jV~b\300\221uT\261htBUi\24\257;\261\266\345\261f\346"
+"\273\260.\345\261\330\342\200Z\226\217b\310\201u\4`R\301\226G\16\217r\342"
+"\363\317x\42\262s\2525H}\316\330\232\325\1@\315\32e\230u\372;\bpZ\274\211"
+"\200\325m\211j\4\240\325\3175\263\32\263d\275\232\363\247\325j\221\253"
+"\254P\363\246\1\366\210\210|\34\260NZ\261\36\2\240^D\344NeX\265\r\353{"
+"\200o}\237\257v\177\207\5\252\1\200\373\375\306\316\2005a\21\220^\2\230"
+"\316\372\322\32\265\310\226\344)\311$\300\301\\\363t\300\352M\314\272\'"
+"\337\373\265(\303\22\347\277\347\0\6\203\210\373G\300\332\223\20U\7@G\320"
+"\321\23\260&\23\6\244\335\0(\77Z\253\26yo\262$\42\r\360\266\356\352U\227"
+"\345D\254\273\0X\241\273Z\225a\rIX_\0\f\27\61\325\327\313\tP\376\346t\345"
+"w\276\20\260\246\23\244\324\376\'S\2209\337\244\26\271\311|\347\' \377"
+"\212&\42\42_\5\254Ac\326\35\0\334V\330\275N\31\326\224\350\26\64\327\37"
+"\350\335\77b\210Z\30\346\247v\253t\300\260\204\262\235\220\204~\221Z\344"
+"63\326X\250g\351\13XW\214P\253 \254\332\322\246\fk6a}\0p\255\250\'\366"
+"Tnq\314\340n\265 #\42\362\373\347E\347y\\%\346\251\251X\263\2720\324SF"
+"\5!3]\215\rH\267b\254\333\343j0\373\314=\300\33\61{_\371\227\210\310\205"
+"wB\1;\36S\256\351\317\310\271\266Bt\225k\251ZdO\264\335C\2617\237\301\200"
+"\25}\77m\212w\301\233\224a\221\245\3107\1X\32\237\226\371\372:j\334\f\304"
+"\26\246\16)\303\352\343\354\357\212f-Q\254\275\341\303~,\26\63\346h\300"
+"$\35\360g\374,\356\214>\254\f{ l\320~\263\342A\205\332\375\213ac2\0\304"
+"\307\321\3\312\260%\305\207l\0\240\317\240X\244X\207\242\366\324\344\343"
+"\376N\5\244\242\313X\351\77\334n\300\332\240\f\353\f\315\347#\217L\341"
+"\316\206\6\244]\331g\77\230\270\256\303\312\260\266\b7o\22\2546\353\362"
+"f\301y\365\366\251k\235A\351\363=\355\253\363r\213\252\216\221\274\322"
+"\301\336\230\222R\343\261|\307\177\242.k\321\223[\332\327\314\31\375\367"
+"7\277\216\311\331\363\5\275=\315\42\262x\355\306\271e\212\337\372F3\362"
+"\232\237 \25\325\376\302_\364G\307\245\212\33\364\277\302\377\312*\253"
+"\254\262\312*\253\254\262\376[\375\13E\302&1\b\341\32[\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0d\0\0\0x\b\0\0\0\0!\235\bh\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\4\271IDATx\332\355\231kh\34U\24\307"
+"\377\273y\270\251M\266\335\230MS\322\324\2664m\212\371`\237\222\32\242"
+"i\250B\241-\5\61\244HU\374\240\r\305\202\212\332(B\240j\36X\304\22\264"
+"VP\2116\24I\244J[\251RMI_$\5\33\320\252-\232h\264\254n\342jJ\332\335\272"
+"\177\77\314lv\336{g2\t\42\363\377\262\273g\316\275\277{\356\234{\347\334"
+"Y\300\223\'O\236<y\362\344\351\277,\237\331\205Un\364~9f}\235n\350A\251"
+"/\377\264\316S\376L@\nf\20\222mv\275\5\b\24,X\31R\31\'rT\376\337]\214\214"
+"\3\300\255\271\301\271\363JC\246\220\f\362\327|\242\270\217\375\263\33"
+"\24\277~\257Q\373\6\327\77\3219\242\276\361\7EC~q\262Ir-\356T\364\360\270"
+"\321\212\250zkB\341rXxb\217\247\232t\1\225\212\36\226\30\273\227|\230v"
+"9.\f\331,\267\270\276H\r\271\305\254A\343\315\224K\2370d\261\334\242\35"
+"j\210y\213\235)\227AaH\271\324 :W\30\202\367d\227!a\310\26\251\301n\210"
+"C\n#\222\313\237\302\220\16\222\344\345\\\33\20\64\312\371(\312\230\35"
+"%I>\0;\220\274\337$\237|\301meg\b\0N\177dk\77\2318`g\311\243p\214$\223"
+"U\260\25\t\26%I\222\25b\220\327I\222\2518\204!\370\212$\271N\210\2614N"
+"\2227\226\330\206<E\222\254\263\336\205e\275\232\3\0\35W2\17\347\3762\0"
+"\7&\177\36i\27\276\'\325$\311\261Bd\216\244Oc\273B\222\17\13d\227\257\35"
+"\0\2607*0\236\260\346\367\251t$\326\220\372\265\0\360\323\33\2\214\254"
+"2\215\241W\20\22x\5\0\260\347\206H\206\344j\fg\4!\273\26\2\300\371.\221"
+"\273w\227\326\360\3755!\310mM\0\200\247)\2\331\2505\374sq\262&\262J\341"
+"\227\202\0\360\361)\241\272d\263\316\324\264\24\30\316\370\34\211\223d"
+"\274\\i3M\341gD\26\250\201zH\222\352\3142\203\314\37u\6\251!I\306\212D"
+" \271\'\351\b\342;O\222|\26\2\220\340gt\6\331.=\244\3\231!\376\372\237"
+"\351\f\22\30\42I>\204\f\2209\265/\377\230qg6K\341\'\313\0`\240\323b\34"
+"\'\20\b\26\207\247P\216\27\305H\222\367\302\42\22#\331\202\354\'I\36\301"
+"tB\226\'H2Q\341\22\304x\357j\311\6\200\203\337N\347\1\351\36i\35\26\303"
+"2\22\0\301\322\225\333\366^p4]\376~\222d\23\62B\344]\376\202\203\24\336"
+"\276\n\0&\6\353\f\312)\243>\316Vum\261;YyCb\207t\345\336\365\245\335\351"
+"\332C\333\20,\30\263\7\t\307\34@\360\234=H\7\235@\n\306\355@*\22\216 8"
+"d\'\273Z\263\1\340\350.c\367eG\315\6\367y\275\376d\323\3\340\371~\275o"
+"-I2\261\302\244+\3632\265Ro\253%\3115\372m\305\337\6\0x\367\33\333\273"
+"\304%\375\321m\r\0\214\352]w\220$\307K`;\22\374\252\263}J\222st}\314\32"
+"&I6\303\1d@k\313\212\221\214\353\373h\42I^\315w\29\251\265\335M\222Wu\331"
+"U,\325&\315\177;\331\272[\16i\f\233\214o\311\233$\311K\26\245k\245\215"
+"m}\220${\265\326\25\322:\334\6W \313H\222\335\332\'c[6\0\364u\273\363\344"
+"\223\26\247v\2726Pyb\237j$~\251\34kUG\342\227\316\207\335\247\335\td\343"
+"\355\0\200\210\332\372\b\365\'\205)DrBrzT\275\16\245\202\366\35\270\3Y"
+"\';mUY\233%\343\35\356@|\275\262S\265\352\360*\275\4\35\200;\220\307RN"
+"\313\225\344/$[\233;\220\325\327RNaEv5\326J\237\303\256dVy\317\254\324"
+"\327\3214du*\202P\206\346\312\327\2649fN\367\235-M}\35\273\231~);yT\352"
+"\367YC\352\24\323\265\330\330e~g2\355\363Cz\6\177I[[\255)\257) \373\r\\"
+"\263\252;\257+\213\215s\262}\341\276\270\322|\246\241\310\364\210\267\376"
+"\355\244\322\265\257Ay\316\362\315\333\260\273+\252\251h\216I\227\276\256"
+"\324\r(2\362W\342\205s\212r\357\3\0\301\274P\211~\350\221\221(\0d\25\370"
+"\303\305FO\210\367w\0\60\375\357j\223\302\263\314\371\237Z\373\4_\331N"
+"I\2433\1\371c\346 \236<y\362\344\311\223\'O\236\376G\372\27\312\37;H\341"
+"\365p\376\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0"
+"\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4yIDATx"
+"\332\355\231]hTG\24\307\317\335\315\335\335\30\66\61\33mj\232\2401\326"
+"\330\24\25\61\25\215\330\226\250\210\37/\21J\321\222\226\226\202X\260\245"
+"b\350\203 \324\267\200\37 \210/\342b\245\301\7\241\37bZZ\360A\24A\221("
+"$.e\261\242aQ$\306\260\225u\333\315\372\367a\357\307\314\356\334;\263;"
+"\333\7a\317K.\347\234\375\335\231\271\347\314\2343!\252IMjR\223\232\324"
+"\204\210\310\2209\230\261\266\5\255\21\242\354\343\311\324\f*}Mp\371\241"
+"G`e\244/\310\230\303\23\311\344\357*\234\205\'P*\371\357\352\35\207\21"
+"\0\63rN\317-x\310\327\326\270\336\7\0\351|[.\303[\246z\211\210\352\263"
+"\0\0\377\2056\276t\177\226\332\327\23\r\32\206a\266\254\33\316\330\312"
+"\270I\364K\3411\350\7\252\277\342pN\265qox\347\17K\77\275l\253\365\24\362"
+"\1\265\247m\316\245\346\22c\347\235\242\2516x\203V\347m\247m\302\231\357"
+"\341Is=A\33l\227t\273\327W\315\262\244V/\320\32\7\64\317\363e\255\317\31"
+"\322\42\17\247%\216\307B\237\225l\313\273\244\36\261K\2233\360\335\276"
+"a\262\306%\275\'\316\263\244m\277%\211\334\357\35R\277\320~FinDD\201\224"
+"\3559 2or@\27\245i\331k\273~!06\344\34R\247<\303\307,\327!g\230\256\355"
+"l\235\375t\367\276\2344h\375\25\4\313\273\356\367\330\252\262}\335+\370"
+"\236)\315\202\244K\212\250\220\266Y\271Yb\350sAW\224\266f\323+^\356\271"
+"\244\1\265]\376$\0\340Q\261\272[%)yY\n\341\366;\302\220\f5\222!\334~#\f"
+"\350\272\352!VH\231\0\37Ok\31\207\237UI\77\24\222\225W\376\304\214\351"
+"C\345\363;\7\0\365|B\262\273`\247*\211\216\3@#\247z\213%E\225I+\0`>\267"
+"N\275\254\375\2052\351.\21\221\235\20\205\254\335\310\332g\225I\263\245"
+"\361\362\200\231\334\264V\21\305.\323\315\n!\1\42\2420\253y\250C\232\303"
+"j\236V\215\364\217\16\211\333\331\236\353\220\270X\314\350\220\252\42U"
+"&qK\23\325!\375\313\325\206:\244\314\3773\273\16\35\322\177\\k\2405\262"
+"\24[\267kE\301ol{\240E\372\223U\325\351\314\256\213\335\240\32\313\371"
+"a\324\20V\13\345\236-\24\0\220\330\316\316.w\203\255\244\325I1\42Z\26\346"
+"\362\356\30\333%\250\223V\22\21Mp\252ffv\tu\322YA\17\224`P\312\37\317\310"
+"\13\316\242-\f\251K\225\264\30\0\206\213k=\246\25\331\253J:\f\0\275\305"
+"\332!\227\364@5\6\262\0`\26\253\331Z\354\r5\322\6\0\270P\252\377\326%\35"
+"P#M\0\300\362R}\235\323\376\42\247\364\365V\1\300\224\250(]\357\16\352"
+"c\225\20\370\13\0v\nm\347\35R&$\'}\2\0\63\342\263)\364\304A\35\221\202"
+"Z\362~\35N\207;\277\225\262k\240$\0\\\363,\335\77pHY\377c\317\30\5\0\304"
+"\274=v9\250\311\6\277\230<\'\357\336\6\335\253\231fO\247p\341\342e\330"
+"\177\1\66\273\227V\233\274\2\251\20y\247e\375\315\342\31\267\321k\23\330"
+"\337\34\265\232My\243\24aZ\217\353}|d\205\373\256Z\226}Jw\207\375\2772"
+"\313=\36\277\363w\346\5Qhn\373\332A\373\356\343Y\377m\265\3344\367\303"
+"W\216\230\352;tdo\306\223\23\217\225y:\257:\'\302L~:\247\222\233\321\256"
+"\317.\346\30J\352\350\346&\235\243\36@\274*\225\250\231\7\272\253B\32\4"
+"\322F5@\2014\260\247*CZ\357{\323X\216L\250^ \310z\204\356\36\242\310\371"
+"I<\31\371(\2527\244Q&\234N\4\65@-\\|\'\314\312I\7\221\276\24\37sP\77j\364"
+"\332!\42\42\363\33\33\25\323\376\202\237[\244\35\372\361i%\362~\355N\361"
+"\345\270\264IV\3559\255\42}\\{vK\312\271\237,\225\371\316\200;\246\13\240"
+"\303\225\201\2029\\\330\371\366\274\306\5\353\354r(Qa\220o,\336\302\307"
+"\302\25\256\315\315\242\377H}U\361\215\200\3219\344\336K\215\r\310\6$\331"
+"W\315\306\326p\323\354\263\251\247\263\364:\312+\377\251\276\343y\35\303"
+"\275\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b"
+"\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3DIDATx\332\355"
+"\230OH\24Q\34\307\277\263;\253.\355\232\353\377\177yX\255\240\322\262\272"
+"$a\205Tx\215\250KX\327\f\202\312[d\35\212\220B\20\241\16E\5]\n\364XA\230"
+"\7;\4\35Z\243S\224Y\211e\5j\376\335Z\335_\207\37533;3\273\363|\277K0\337"
+"\313{\363\333\337~\346\315o~\357\275\337</\354\345\333\26336\3\6U/\21\321"
+"\23\237<H\231 \42\242\261u\322\244 %4)\215\362\'I\364]\32\365\234\r\25"
+"\230cC\25\276eC)Gbl\261*\270\307\206\302\34616\224\347\344*\27\n\301A6"
+"\24\232\177\262\241<\347\331P(\36fC\241u.+J\21@\251\333\200\345\367p%7"
+"\335\1\344K\374\377\217\236\344Y\225\34I2y\31\236\211\207\344e#\251\372"
+"\36\35\0\224\342@m\313!\325\340\24\177\374bj1uQ\242\226\3265\354+1\357"
+"\370Q\313gn^ MCy\26KBq\333\0\31Tb3\326v\235O\310\306\'\277#\246\363\252"
+"\265\361\252\325\\\242\366\261\311\277\257\271m\262[\2044\227H\2668w\246"
+"\335\232m\336\35i\335\371l\244[\27\322\273\253l\26\364>Kv\212\244\363\351"
+"x<\31\17i\322|W\242\r\311\347\370\355DS&O\212\366\2\0*\30\346]\77\0\240"
+"\222\201\364\3717\0\324p\254\5\275\0\260a\r\244\242p8\34\326\33\36\31\337"
+"\235Q!m\266\214d\376\326GDdX\232\210\210H\21\37\323\306L\303\312\250\1"
+"\340\234\264\327d\271kX~\35\223\324\240\3114\2\0>aR\265E\36\0@\2360\351"
+"\240\331\264\0\0~\363\336\220CW\315&\252\363\1\277DIM\225\26\306\t\303"
+"n\341\260\316\34\314\355\342\214t\255Ap*\331\344\270\322\235\262:\332\215"
+"\355U5\320\342$\0\271j\221`\353\3607\'\240\214\33274\235\356\316\364\3"
+"\201\252\255M\216Ke[\222p\321-[\365\374\247\244\227\212\242(\36oAy\353"
+"\203\265p\2553\323\257U9\2629\216sl$\364\260\221<c9I\16\337]\374([\26D"
+"\246\330\362\351\222\363\32\77\207\206,\2775\272\1\\\217\212\355\346yV"
+"\21\257&\42*\20|\272\277+\26\306\355\0\20\23\235w\243\26\266c\0\20\27%"
+"\275\263X\255N\0X$Q\322\17\263\251\\\5\360A\364\335\241\347\216\311\264"
+"\37\0>\t\223fgM\246.\0\30gX\351\2\273\1\340+\3\251\315\20\77\31\322M\0"
+"Z\261\42A\252i\340\42%+\2529i\322\372S\211vQ\232t#\331.\13W\366\31\252"
+"O9\252\222c\362\277J\365V\345H\276\327e\231_\341\252\315y\13\262\2367\226"
+"F\322\'\16\37\255=\352\2648-eY\373\317\352\16\61\236Z\357\b\355\272@\354"
+"\262\341\24v.\364\351.\277X\371\4O\33\16_.\227g\326]\236\302\3063\343\306"
+"\23\32\272\250+\322\224+\0j\212\352w\230\331o\42\223\251xVx\2674\372-n"
+"\337\361Pw\'\222\321a\266Jl\232\2154\303F\232\207+W\256\\\271r\345j\r\372"
+"\7\267\240A\304\225n\'\22\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3GIDATx\332\355\230Mh\23A\24\307\377\273\3314\r\266\261I\277\77\214"
+"\220FA\245\325\242\42\24i\225b\245\367\242\27)\342A\260\242 \26<\210\325"
+"\203\42E\251\224\202\202\n*EP\250\'A/\325C=\b\36LA<\371Q[Q*J[\355W4m\236"
+"\207$\335\335\354n\262\233y\27\61\377\313\354\276\274\375e\366\315\233"
+"\231\267\3p\311\225\353\203%\255\341\231%\216\36\234 \42:\42\316\221n\22"
+"\21\21\5\204AC\t\20\265\213\202\356\'A\324\302\5\212\25\60\201h7\23hq\27"
+"\23\350\32\323\253\275]\317\23\354X\247\304\3\272\347\345\311\243\211M"
+"\340\1\35\225y@\217}`\1\375\330\t\36\320\231L\253\231\335\321\f\4\201\311"
+"i\374\267\222\0x\4\236\377\255%\311+\202=IHfx\'\36\222\213\215\244h\257"
+"h/ \5\212\352\232\333\25\235S\374\341\263\251\205\324M\251R\26\f\267\226"
+"\32H\356\250\351;7\315\223\252\21\223\325U\16\264\r\223N\245\26}\355\320"
+"\370\370-|<]1\215W\235\205W\235\352\22\265\216\215\347\216\352\266\321"
+"j\236\252.\221Lq\356^uk\262\30;R/\3472\221\256\237N]\371D\263\240\377i"
+"\252\214\22\316\247\203\361d<\204Is=\211\326/\236\3437\22M\2718)\332\17"
+"\0\250d\230w\203\0\200*\6\322\247\237\0P\313\261\26\364\3\300\272\34H%"
+"\241P(\2445<\320\217\235^~u\266\214\246\3776@D\244[\232\210\210Hr\336\247"
+"\r\351\206\3451\35\300>\311X\236\336\326-\277\266IJ\261\3014\n\0n\307\244"
+"\32\223<\0\200\2\307\244}F\323<\0x\215{C\26]4\232(\350\6\276;%5V\231\30"
+"\77\353v\13{ \371Qv\27{\244Ka\207S\311\42\307\245\336\224\325\326nl\255"
+"\352\341f;\1\310V\213\24\267<\377j\7\224V\261\372\325\232tf\20(\252\336"
+"\322h\273\300\265$9.\225\205\77\35\376M\322\13I\222$\331UX\321r7\27\256"
+"yfz\325*G4\307q\212\215\204>6\222\374!+\311\346\330\305;\331\262 2\305"
+"\226O\347\354\327\370Y4b\372\255\321\13\340r\324\331n^`\26\361\32\42\242"
+"B\207o\367g\331\304\270\25\0bN\347\335\230\211\355\0\0\304\235\222\336"
+"\230\254V\207\0,\220S\3227\243\251B\1\360\316\351\330\241\357\226\301\264"
+"\7\0>:&\315\316\32L=\0\60\316\260\322\25\355\0\200I\6R\233.~\42\244\253"
+"\0\324bE\200T\33\346\42%+\252_\302\244\265\207\23\355\2020\351J\262]r\\"
+"\331\247\251>\345\250\b\366\311\3732u\265\42Fr\277*O\377\nW,\316[\260&"
+"\23\250,\262z\342\360\336\334#\250\306i1\303\332\177Rs\210\361\304|G\350"
+"\320\4b\273\5\307\327=\77\240\271\2350\363)>\246;|9_\221^w\311\276\206"
+"\343\343\372\23\32:\253)\322\244\13\0jK\352\267\31\331\257#_R\361\254t"
+"mn0;\202\356\32\322\374\23\211h\77[%6\315F\232a#\315!\257\274\362\312+"
+"\257\274\362\312A\177\1\331oAm\352\325|\31\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\3\253IDATx\332\355\230Kl\rQ\30\307\3773\275m\225"
+"\336\352\203z\264\32\271-\13\322R\257\205\2674\210\304J\204\215x,\221H"
+"\4\211\4\255\b\21A\23$,HHlH\210\210\204\r\42H$$.\21\221\246\336\r\251H"
+"\352\321\226\241\275\375[\334\327\314\2353\367\316\231s\26\26\367\277\231"
+"s\277~\375\315\314w\276\363\235o\216\201\\2L\0\340\20Te\334#IZae\322.\306"
+"\25\65\24AML\352\220\32hx_\212\304yJAz\230\6q\240L\201\264\233v=7\3\203"
+"\232\23\210\r\35\361\353\261\240\240\21\26I\262/\202\320\3658jA\300 =\42"
+"Iv\204\1\30\7H\222\261\362@\244\275$\311k\5\361_\253H\222/\203\204j\6I"
+"\2625\225\220S-\222<.\17*\265Hr\245\315R\321E\222K\244\203\364\204\344"
+"\257z\207\255\350\36\311X\205$\251\215dg\346\2525N\222|%\27\2529$o\204"
+"\334\366M$O\310\200\302\26\331&\\\374\263cd\2138\36B\353\204*\364w\212"
+"oR>\21|\216\274\202\3272\0\305\n\377\377\307N2c\212O\22\227\251\341\235"
+"\364\220\n\264\221B\366\21\227\0Fei\355\334e\316\2056t\371Nw\177\362GU"
+"hT]\303\242*\27\251\320\22\276s\263mw\343\355\42\267\207Y\331r\305\261"
+"\335\260\312\343YW\330|\274\352P\361\372\1\233W\255\207Wm\332\305\362\216"
+"M\361\371\264\333d\17\237\312\264K4[\234\267\244\334\232=\346\216\351a"
+"o6\322\351\35\311Q\231j\26\264\337J\226+\345|Z\233\350\361*\225I\275;\23"
+"[\227z\216\237\211_F\253\223\254v\0\300\30\r\353\356\24\0`\254\6\322\373"
+"\37\0P\243\243\26\264\3\300\204\0\244\362H$\22\261\33.9\347\316\251\212"
+"\364j\271\237\371\267\23$\351(M$IC\376\231&e\32\6\2379\0\376I\363]\226"
+"s\216\362\353\233\24r\177\270\334\7\200Bi\322xA\36\0@\2214i\251\333\324"
+"\7\0%\356\275!\207\16\272M\254+\4\276\312\222\232\306\n\214]\216\335\302"
+"\37\310\274\232\333\305\37\351P\203\344R\362\310q\2435i\365\265\33{k\334"
+"\225\271~\2\220\253\27\t/\274\373\331\17(\243\367\255\350I\r\277\235\2"
+"J\307Mm\362\323*g\'\371q\17\62w\32\342\364_\221\36\30\206a\230\5\303\252"
+"\27^\b\302\25gfI\272\313Q\315ql\327F\302\21m$\363MN\222\317\271\33Z\255"
+"-\13\242\335\332\362i\237\377\36\77\207n\13\2775Z\1\34\266\344v\363\42"
+"Q\304\307\223\3440\311\267\373;(0N\3\200\1\331u\367L`[\3\0C\262\244\27"
+"\202j\265\16@\77eI_\334\246\352\20\200N\331\271\303\221\263.\323b\0x+M"
+"\372\376\335e\332\t\0\3574T\272\322Y\0\360Q\3\251\305\21\77\25R\374P\362"
+"\253:\251\246A\27)\321Q\375T&\215\334\30\277\366+\223\216&\256\277\245"
+";\373\f\325\'\35C\212\317T\362(9\212\251\221\n\37\217\316\374\n\17y\234"
+"\267`D6\320\250h\352\304\341\265\330\243.\35\247_Yj\3776\333!\306M\361"
+"\216\260\302\26\210\231\36\234\262-}\366\263\321\17\42\237\360f\307\341"
+"K[uf\337e\2265n}\347<\241\341\36[\223f\354\7PS^\77\335\315~\32\375\224"
+"\214\347\230\202)\215%\202\333\257\277h\273\23U\264\\[\'\326\243\215\364"
+"M\33\251\27y\345\225W^y\345\225W\0\375\3\244\217z\fH\203\223\377\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233"
+">\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3|IDATx\332\355\230KL\23"
+"Q\24\206\377i\247\224\306\26i\313\373\321EAB\24\20\324\215\304\240\206"
+"\200aotc\210\272\23\23\23#;\25]h\f\321\220\20\242.4\321\304\215&\270\325"
+"\r\32\202\13\23\27Bd\351\3\321`P\t \217Z\204\366\270h;\317;\355\334\316"
+"$\306d\376\315\334\376=\363\315\314\275w\3569s\1Gf\3446\374\307W)\306\265"
+"\236\277\302\25\347\275B\341(\21-\354QyE\343D4\327\304\7\362\376 \42\42"
+"\352V\202b)o\77\27\351v\352$Jxeo<\355\305\334<\275G\31uI^@\362\330\317"
+"\347b\272\333\244V\243\324\nI\255\b\7I\36\240oRkUj\375\344\351\247\261"
+"\314\223\204eo6\343yyH\341D\352\244A\205\327\220\6\235\346\233\6\2219\42"
+"\242K\202\322k]!\42:ep\206`\204\22\32\353\26\336\3054C\332T;\77\275\341"
+",\f\216\f%\0\360Z8\177CIr%,\336I\266\265\340_\220\334\266\221De\213\16"
+"\3B\310_\323\336-\252\202\222O^\314\257K\313\214X\22\251\77\30\326\221"
+"<\314\254%\264\255\221\254\261\2\306\n\33\352\34%\225\302\6\367\332\243"
+"\210\t\32%\260\336MET\215AT\215\34\222%\327z\37\310a\r\6\61!9d2[\77\367"
+"Iam\6cG`\244\22\206\356\\\220\22\263\325Y0\364<\335(\266<\237\216\'\265"
+"\3714_\322j\177\352\30\264>\307\357\246\16\245\326I\361!\0@\271\r\357\335"
+"\b\0\240\302\6\322\347_\0Pm\307Z0\4\0\265y\220\212\243\321hTi<V\217\235"
+"ZA\371m\231\320\3767LD\244Z\232\210\210H\340\277\247\35ZckJ\5\60O:\240"
+"s\356\253\226_\323$1\240\263&\0\300\303M\252b\314\3\0(\340&u\351\2555\0"
+"\360\351sC\16]\323[\24\361(\na\263\244\226\n\206\3715w=\256O*Os\207\230"
+"#]\257\347|\225\f\346\2700\220qMeccU\216\266\233\351\200\\\265H\240\343"
+"\34573 Me\37\\\224\232K#\200\277rW\213\311\17\201,$\316O\n\353U\317\177"
+"Jz%\b\202\340r\27\226u<\314\207\313\236\231>\271\312\261:\307q\3366\22"
+"\6m#\271>\346$\231\34\273\344Q\333f\301\344\274m\363\351\262\371\32\77"
+"\327^\4\363[c\0\300\2158_6/`\365x\25\21Q!\347\323\375\331b\230\273\1`\223"
+"\367\275\233bx\307\0 \311K\232f\254V\'\0\254\23/\351\273\336*\23\1\274"
+"\347\35;\f\336\323Y\207\0\340\23\67iyYg\365\3\300\214\r+\235\177\37\0|"
+"\261\201\324\251\352\77+\244[\0\344b\305\2\251\272\336.R\272\242Z\261L"
+"\332~2u\\\267L\272\231>\376\346\256\3545\252\313\4\212\26\357\311\367:"
+"\323JX#y\336\224j\277\302E\203\375\26\305&2C%\223\322\216\303\7vDD\356"
+"\247X\226\265\377\234b\23\343\31;#\364(:b\257\1\247\250omX\361s\226\25"
+"\238\243\332|\271R\246\255\273\\E\315gg\324;4tQQ\244\tW\1T\27\327\265\352"
+"\331o\'\3472\375Y\356\336\331\354c\\\276\367\221\342JdEGl\253\304\26m#"
+"-\331FZ\205#G\216\349r\344(\17\375\5!=;\203\16OXy\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0x\b\0\0\0\0J\331\204x\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\1$IDATx\332\355\326\277KBQ\24\7\360\357"
+"}\372\314\237\t\272\210[\213\16\272$RD 4\267\t\316\375\17\376\1\375)\376"
+"\7\321\344\342\320\20\355\341\340\320\240 \42\221a\241\230B\179\r\211\\"
+"\336\303{\317b\30\234\357t\206\317\345\236s\341\302\1\270\tm+\367\242\342"
+"}r\216\344\227D\324v\355P\215\210\210\250\237\260\312\24\375fl\245\261"
+"\215\244W+\355\260ir\316\246\307]6Uu\217\335k\264\305\246(\366\331\324"
+"\271Ys)Rwl\212\323\t\233:M6E\346\201MQ\233\373\250\332I\303e`\365\202\3"
+"\211\2\200#\13\242\357M\21!K\36\1\300a\337\276\17\31\6\340]\1\310$\362"
+"g\327\276\321\336\357{o_\13`\26<W\230hs<eMW\2244\2314\377eM*\343D\236\376"
+"\336FI\177\373\236\42E\212\24)R\244H\221{\225\16[\272\273\227m\237<\327"
+"\352\234\241\225xc\255mk\37\227\21\377\236\34\272\5\220K\237T\3]\256\236"
+"\7\263)0l\375\243=Y\42\221H\202\371\1!L\1\r\314\243\16\303\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0x\b\0\0\0\0J\331\204"
+"x\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1 IDATx\332\355\327\277K\2a\30"
+"\7\360\357\335\331\205)&\327\42\rF \202\270V\16J\321\322\322Z\377\200\203"
+"[s[\377B\273\203 \342\354\320\177\20\356M\256\201m\376H\21*\301#\36\7\35"
+"^\356\305\367}\26\5\341\371N\307\3619\236\37\323s\36\354I\337\344\246s"
+"\206\303\23\21Q\325\356\234:\21\21Q`\205\255\25\244;\33l\257!]sa\3503!"
+"U\230\360\257\304\204\257\314\322\2753\3360\341\203\303\203\3158o\217\375"
+"\2x\260\346\362\340[\n,8\276\4\17>{\332k]\6Y\340k\202}\215\3\0\207\26D"
+"\213\365\203O\226\274\3\200\313\256\276\r\31\3\20\336\2\b\22\247W\367\221"
+"\321F\235\336\340\367\7\230\351\337\345\207\312\34\335\23S\211\242\42\223"
+"\306f\222\212t\214\23\205\352\276\215\222v\273O\221\42E\212\24)R\244\310"
+"\255J\227-\17\66\237\345\21\251\3761e\f\255\34=\376+\327\332\244\354G\357"
+"d\357\5@\346\370\374B\353r\376\3619\373\6\372\215=\272\223%\22\211D\317"
+"\22\343y\0\266d\227\'\340\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0)\0\0\0x\b\0\0\0\0J\331\204x\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\206IDATx\332\355\327\275J\303P\30\306\361\'mU\320\326\257.E\20"
+"\374\0\27AP\264\16\342P\34u\22\234\305\213\20\34DAp\323A/\300[\20\361\6"
+"D\4\7\7\351P\244\b\2028\251(\24Z\r\226\372w\210\37\307\244M\\\24\204\363"
+",I\16\277p\336\363\346\f\'\216\374qb\222\304\253\242\342\34\1\340\246\42"
+"\3452^\316\235\b8\302G6\303ak\371S2\25Z\344\311\27\244\332\36\42W0\223"
+"\2175\204\243\357d\261\350]\267\32\3016\27\200\362\200\22\7\36\235nP\344"
+")\0\305\224$g\3\200Zg]\271\n\300~\334{\232\7\240P\257\3241\0\326>\33>\354"
+"\2l\7a\322\5\2303F\272n\0r\201\42\317\200\247\301oc\315G@\255\313\'\327"
+"\201K\377\256pv\201\213\357\245f\201\303D\260\246%`\307\34H\271\260^w\363"
+"L\324`\306\233@\222\324\233V\345\262~\227;\373D^\377(\216$\265D ^>\276"
+"\5\219\226\244\330\217g\377\r\231\220T\315I\352n\353\311\316\372\226v\277"
+"_\270\255\224\245R\360\275\241;c\35\'\351\260)\206\r\231\f-&iH\'tEU\263"
+"\337\241\222\277\355\247\225VZi\245\225VZi\345\257\312\330\217e\223\377"
+"\20\333PN\32\367\231\260\377\275\205\232qZ{\234j\366\237\223\343k\2222"
+"\35\375\343\201*\237\317\257J\17\322\365\336\77:\'\333\330\330\330\4\363"
+"\6\302\3279U\322\340p,\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0)\0\0\0x\b\0\0\0\0J\331\204x\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\1WIDATx\332\355\226\277J\303`\24\305O\332\332\250\255\n\315R\5\13"
+"\42\224\202\35DD\21\'\7]\234}\0}\16q\367\1\\}\2\301\27p(\342.(\256B\207"
+"\212\266U\250\177\352\237R\216C\322/7\t\246]*\24\356\231N\316\367\13\367"
+"\336/\31.0\32J\32\67\61\233\372\n\237f\363\211H6~F\262\271\22\310\246+"
+"$k\345 h\327I\222\334\221`\333\3156\2\344\211\33\262k\373Y\305\313\332"
+"I\331-{\3326\331\224\311\334\372\t\0@\306\234\227\214\313\31W\20\244\77"
+"\340\203qo\3065d\237\27\275J\216\237U{\231-I\247\353\206\307\42+z\340A"
+"\360\232\n5\222<\264d\266\374J\222\373\336\2239\262J\213\315\233v\350\3"
+"\226\347\37o\277\241\32\\\26\0\330} \376x&\315>\272\364\377\245A4\f2\5"
+"\240\263\5 \227\231[\333\r\215\3268\277{\372x\7Z\321\367\212u1\307\225"
+"\23WbI\220\331\330f\262\202\264b\'\352\310\373\216%\371\277\367\251\244"
+"\222J*\251\244\222J*9T2109\26^b\377$\327\205\317\307\2642\271\327\25\333"
+"\332\313f:\274\'\'\217\0\344g\26V#]~^\337\267\236\201\352\351\b\355\311"
+"*\225J\25\325/\300\'\372\275\344\363\355i\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\2\326IDATx\332\355\230MHTQ\24\307\317}o\2322\265"
+"LG\31\33\25SdB(\305l\321\246r\21QDT0\24\b\255Bs\23%H-\13\332F\233vIA\233"
+"Z\264\312h\21Q\322\7\31\325\42\6\33)\250\311\374\b)\244\301dJ\336\3346"
+"6\367\274\231\3671\365\177\213\204{V\347\360\376\357\367\316\375x\367\236"
+"{\211\264i\323\246M\233\266\225l\202\210V\373\252,\231\223\245\342\f\253"
+"$\345\367\324\370D\362\303\227\5\77\256!\377\306\254\221DT\4\207\223R\312"
+"\314P$H\234\224r4\356\326wb\27\21U\227\307v\354\17\331;\353Jrn\271\243"
+"\326\256oh\337\335l\177\363Q\342\233\317\260t.\260\357_3\n[Qw\340\241-"
+"\303~\3413*\373\230\270\322IPv\234\177\361\201\317\24kP\322%\27\2119\300"
+"x\263\21O\\\265R\246\\E5)\245\312\306\274p\33\224\360\261\273\312\34a\274"
+"\2150\216\4\343e\312a\34\231I%|\315\307\327\370\247\205\303\332\231\313"
+"\373]\27\340\354\210\216\261\361m\305q\342\223\222~\24`c\211d\257\362\233"
+"\17\301\331\221\310(\355\242\211fG\362\f\373\365\16\302\331q\255\234\23"
+"hv4\237V~\355f\30G\227\231\177\32n,\305\371\332g\302\331\245y\320\6\343"
+"~\376`\301a\30Gw\230\177\22\307=e~S\30\306\215\363 \n\343f\212\307\2\301"
+"\315\363\240\33\306-\362\240\203\210\210BDG\3678i\337\r\263\340\204#\316"
+"\266wn\377\343\\\362\257HJ)n\340\306\312\242\302\363\177\302\25l\226\301"
+"\342\2\316N\6\213\263\226Slmd%e\336\353\341\322\321\22\306\302\220\330"
+"jL\42\330y\'\212\327\3\4g{\367\25\214[\305\203\2270n\r\17\336\302\270u"
+"\305K3\202\253\343\3014\214k)\336%\21\3346\346\337\304\347\335^\216\203"
+"\367Yc+\13\306`\\\25\257W20\256\203\371\347\360\372\216\25\333t\27\256"
+"\357\214%%\276\r\227\332\324\306\316\346\2038nH\271O&\341\312\275\214\255"
+"\234\215\360\251\207N)\367\352g\370\324S\311\316<a\202\263\273\241\334"
+"\236_\360\211\361\210\22^\304O\333\354HqO\300\270v+/{cz\350\42\n\367\336"
+"]\225P\252\27!\257F4\371\226\210D5\367\331\317ez\366p\77\303\325:\177p"
+"\230I\6\275\347\22\277\17\222\317*\n7\375\212-g\2772\301t\213\363\205\333"
+"y\42\252\257\332\324]\370lbL\375\213\261\372\256\250\355a\256\357z.\260"
+"\353\300l_8\270\333\305[\235FP\227\225\317\7\342\36\303\31*\355\27\235"
+"\312\316N\315\244\322\223\376\367\274\332\264i\323\246M\233\266\25b\277"
+"\1\273*\303\225\316@\36j\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0R\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\4\1IDATx\332\355\231[lLQ\24\206\377\231)M\r\245\352\326\22JK\21\204"
+"\310h)\221V\tQ!*!\42\242\221\270\305k=\211 \36\250\24\tqi\211\210\313C"
+"i\324\345\241\bi\252\305T\312\3\62\365\320\270\225j\323VR\267j\315,\17"
+"\63\243\353\2149{\237s\354D$\347\177\231Y\347\254\375\235\275\327\336\373"
+"\2545{\200\377A\16\311}\367\340>\337\333z\42.\216\275\r\214\267\366<\347"
+"\2326\42\42\252\232\343\324\\\77@\364\336\32\61\351\35\205\325\265\315"
+"\335{=\236\210vZ\42\246\372\211\353\304\360p\337k\211(\305\nq@\27E\250"
+"\326\343\2\60\254\236\210^Z\352\344=\212\42\357Y\37\21\21M\266B\234NDT"
+"\2636\267\240<\n\271\330R\'\37\23\321l\0\200kfm\4\361\206\303\n1\201\210"
+"\226\377\266F]\342\304\42KD\344\23\65\363\226\3\13\303\263U3\336\342\356"
+"\311I\207\367\211\326s\214\'5\356\303\363g\235\260e\313Vh\367\304F\271"
+"\334\23\20\264\211\25\334\353&\0\316h\357\305gNAF\42\201\322\0\235\246"
+"S\16\376\315\320u\36:_u/\201{\203\254\3661\6\224\r8\22\223=\371q\332\276"
+"\324N\325\231\42\312KL\2377/\312\215\'\225\r-\332\374>\262\314D\202q\214"
+">\26\221<&\272t^\345\\\331\222\312\241\271\327\325\237\241\347\265U\203"
+"\364\'\210\231\375;\177\273N\322uJ\323v\323\347\24\63\263\302\216\373`"
+"\24I\207%[\2575\344\3476\216\244\34\61sc\320\253\32&\220\376\301B\344\350"
+"\240\327*\355\362\223l\255\207B\207\346\320\202\224\42\17\261\357\23\216"
+"\210\220=\77\0\0-\322\201;}|\354\13D\314\352`\3i/\3Y|+\336N\24 }\301\6"
+"\362Xv,\346\36\17\4\341|\7\0\37a`z\356\224\360p\36\325G\266\3\300[Hc\t"
+"\300\365\212\207s\241n\203\2\42\242*#\275\204\77\223[\225\272\341\354\0"
+"\200\17\206\220hY\311\235\36\271\314\244\t\275\33W/\360\200\34S\201D\1"
+"\237\310-KT \177z\270us\210\2$\232\326s\77\257K\1\22\347+\2301\356\270"
+"\n$V\2673c\323R\25\310nM\222\272>T\1\22\215[\270k\235K\1\22%w\231\221r"
+"J\5\222\362>\363T\223\247\0\211\256\331\334\2721L\1\22/\n\271eduJ\221("
+"\276\317\303Y\252\2IK~\360\235\277L\1\22_5\341\274>\\\1\22O\367rK\372\356"
+"4\202\304n\236\373SN\253@R6\17\347\206\345\n\220\350\314\345V\305\b\5H"
+"\324h\252lo\214\2$v4\360\202\255T\5\62\60\207W)\33V*@\342\23/jP\236\244"
+"\0\211;\'\271U\27\243\0\211\355\257\2311\352\214\n\244\366\267\315\372"
+"|\5H\264\256\340\326\225d\5H\\\343E\r\36\307(@\242\200\27i\311\347T \177"
+"j\302\271v\225\2$\232\326q\353\362H9R\376\200\213\25\232\325\351\2216\230"
+"ADD\302C\324\276m\177\34>\\\22\3652V>\364\356\fs\211\42\36\0 \316\4\215"
+"\233M!\203\205T\37q\223\322[f\220i\0\0\267$m\254\370l\2\31\214\223,\255"
+"ve\230@\6\177\321O\223M\200\257\320\360Bv\7\27E\231\374\360\257Z\260\210"
+"4\312\16\371\310k)\3677\203\353r\177\3503S^\324d\31\33\367\324\360c\337"
+"\30\330\371\273\214\f\274_\247\231\77_\34\365rd*\337\274g\373J\231\275"
+"\377ZEG\306\315\252\2148\315\3319V\262\2110W\37\271\347\264\267\'\352\361"
+"\346\227\252\222$\21\263H\27):4\235!\334&/\f\274\334\314)07\240 QD\24\65"
+"\213\224#q\367$\224\313\325\370g,\35\177\311\214K\2\276\264\302\226-[\266"
+"l\331\262\365\17\364\13\375kZJ\255\262\17W\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\4=IDATx\332\355\230MHUA\24\307\347^}\357\371\375"
+"\362\23|\332\207i%e\224\212\211\202.L\b*[\210\20\271\21\r\212Z\4\5R\221"
+"\233\332\264j\241dB\204\22\222\265\260\242E.\fB,\t\211\210\260\220\b1R"
+"\221LL^j\326\3539-\3243g|\367\343\334\347,\337Y\275w\347\77\277;s\347\314"
+"\231s&\212Y\232\253\254(\360\223\2512\337\22\347\374\271K\21M\233\340\234"
+"s>\26\257\6\227\310WmJ\r/v\r\307\247\325\360\372\325\362\22\374jyI\37\324"
+"\362\264\332\200\332\357\27\323\251\226\307\366\214\251\345\351\rA\245"
+"<\226\370X-\217\25\316\250\345\351\227\324\362X\312K\265<V\351\267\341"
+"i\316x\321\5\214\375\376\314\42F\372vZ|\212/\313\343el\376\373\344\214"
+"\177eS\256\226{f\220K\366\346t\266\26&,\2675\300\rl\341Jz\30\3\253\36\343"
+"\2466\260\333!\255d\212[\332`\246\223\3701 :N],Ls\351\232\246\2732Jo,\211"
+"\3477\242\250\264c\301\365>\301k\311\3622\357|\6\274\211m4\327i\203\36"
+"\267\334\241\315\231\357\240\271\216@s\201k,\3542~]\23\360n\332:\215gt"
+"];j\329\16\202\3u\331\360\334@\33\217\261\360H\370\270\335\226<}h]\267"
+"\234h\31\351a\276mV\262\16\220\225X\317\242\31\204\r\346\242Z\20\265\332"
+"-\377{\220\346\233i\322A\262\354\266[\262,\320\372M\264\32\2447\274\336"
+"\336\241\356\201\270\307XP\17\202%\302\6J\26\373\255\3100\265\21\341\350"
+",e\367\364\202|F7h\276)^\227@J\204\204\376\224A\242\211\242\17mo/\210\217"
+"\23\35\322\332\42pGh\201\347:7\17\6\256\240h\364\322p\5\242\307\354\306"
+"\275vT\264-\21\303\242\7E\347}\33\332FES\'5\314\316r3\337C^\304ORq\35\250"
+"\323\332\326Xs\31\374\365\77Rq\257\320\357\3R\3130zQ\n\25W\204:\335\226"
+"\326\225\207\216\333\336\262x\310\372\255NV:\224\2T\234\37W\203^\204+E"
+"\r\213\234\212[\306\177\362\20\256\32=\37\'\237\356A\374\347\20\302\235"
+"@\317\277\222qRvV!pz*z>\37^\276U-p\322\318CG\340\211\244k\200\213\303\32"
+"\36\336\350X\24\340\244p\371\203N\230\222|\27p\2360\7$\255E\264\361d\303"
+"\265h\24\2\224\325\201\2141\266\250\202\24\0\334\37)\310\322\t\222\364"
+"\237\361\350\274t\\\6\1\347\340>\314m\214\223BC\232\203\3738\364\373\233"
+"X\n>\31\36\16\333\13\24Q\236\242\347[\235y\205\321\301Q\203\302t\200\276"
+"\260\370H(0\211\372\234\\\22zq\257x4\340i\323\365\262L\361\320\357\237"
+"\213\b\267\362\4\347RT\\6>\302\245\317y\7\317\234\212\333\213~\77\224S"
+"O\364\25\352\2518\221\177\362\340\206\364\267O4u\223\17F\223$@\252c\370"
+"2\265\352E3\312\331\230\232\242\354*\231\206\253\20=\306B\32\353Dc\r\r"
+"w_\3648\34\32\233Ea\376\226\26\314Q.k\20\323O9\234m\245\325\340\30\323"
+"\305\345D\13\5\67\2\362\21\303mY,\274\210\260\317r\305\340v\30+\36\200"
+"\240\331\36\367Z\\\201\230\305j\77\275\264(\1\351\27\323\2635\37\64\375"
+"v\313\nn\32\264\210\336\247)59c\214u\203\260\334J\326\16\262<+Y#\310\32"
+"\255\313\300\36\230\204\317\\%\316\202\13ve\345#\210\4\5f\32q\315s\306"
+"\276L\25er\223\241{\272\357\202\3408\305\335E0\370\224\33\372\266*\250"
+"\212\347r\210g\3008\0\337\225I\33$\261n\16\232z\311G\224\216Jo>t\256\314"
+"\227\232\224\224\261\275\352\252x\r\367\227;I\21\266\364Z\336U\6\317G1"
+"g\346k7\205\371\233\334\314\271\305\326\f\33\301\272\366\207{s\314\342"
+"\212/\217\342\364\245\257a\247\276\271Kr\246y\274\361\261.\306\346\177"
+"\375\372\313\42\26\261\210E,b\21\213\230\3\373\17pW\31N\217s\203\371\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0"
+"\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4;IDATx\332\355\231"
+"MHTQ\24\307\357\274qfR\323\311Op4\315\264o\243TL\224,0)\250l\21B\350F4"
+"0\n\nZ\210Enr\343*B\311\4\211D\244\217\205\24\21\264\250\215X\22\21\22"
+"a\342\42\302>\224\310De\374\310\232\246\333B=\367\\\347}\234y\336\345\234"
+"\325\233w\377\367\367\356}\367\334s\317y\343d6m\323\341\334\231_L\225]"
+"\344\234\363zE0G\27\347\234s\236\250\206\326\273L\343G\225\320\356\255"
+"\320\370!\245\264\200[%\215\37TI[,VI\273\251r\246#Y\nW!P\345PH\353\211"
+"V\350o_v1\205\264\6M!\355i<SG\233*b\niMNK\31\21\227\230\311\330\327i\26"
+"\261p\336\235#6\321\227\356\36126\373c|\322\377o=\317\322r\32\6\270d\257"
+"\317f\330\335\2559m\1\256c\363WRl\f\254\342\23\67\264\376\355a\322\212"
+"&\270\251\r\244\205\1\213\353\27\35\'.\347\'\2734\207Cs\245\26\267,\212"
+"\373-N*\355Dp\265O\360Z\202\274\314[\237\0\357[&\315u\332\241\307\r\235"
+"\343 m\b\232\253\b4\27\270\306\3746\375\307\325\3\257\325\322i<\243\253"
+"\332\321X#\315~p\240n\13\236\33hc\33L<\22^n\257)O\33\\\325-\305\231\351"
+"\362a\276\355f\262N\220Y\204\335F\20\326\32\213N\203\250\315j\371\337\201"
+"t\247\221&\5$K\226\tC:h\375\6Z\307{\220\324X;\324\35\20\337\327\27\324"
+"\200`\221\260\201\22\304~+\320k\337 \302\3219\312\356\351\3\371\244\336"
+"A\336*\36\267\221\202\333!\364\325\241\255\33Q\364\241\355\355y\361r\242"
+"BZ\233\5\356\30-\360\\\347\306\301\300\25\24\215^\32.O\364\230Z\273\327"
+"\216\213\266EbX\364\240\350\274gM\333\250h\272K\r\263S\334\310\367\220"
+"\27\3613T\\\'\352\264\2625V\\\6\277\375\17T\334Kt\275Ojy\203\36D\256\333"
+"\nP\247[\322\272\362\320q[[:\17Y\277\345\311J\207R\200\212\363\243\353"
+"h/\302\341rh\201SqK\370G.\302U\240\373c\344\323=\210\177\34@\270S\350\376"
+"g2N\312\316\312\4NKB\367g\355\345[\25\2\'\235\201\223t\4\236H\212\3p1X"
+"\303\355\215\2169\1\'\205\313\237t\302\204\344\273\200\363\330\34\220\264"
+"\26Q\372\223\265kQ(\4\2502\2151\306\26T\220\2\200\373-\5Y:A\222\376\325"
+"\37\235\227\216K%\340\\t\234[\37\'\205\206d:\316\207\256\277\212\245\340"
+"\343\366p\330^\240\210\362\30\335\337\34\236W\350\35\34\225(L\7\350\13"
+"\213\217\204<\203\250\317\311%\241\27\367\212E\3\376n\270^\246)\36\272"
+"\236Y@\270\177\217p.E\305e\340#\\z\235\267\361\314\251\270\335\350\372"
+"\201\234z\242\267PC\305\211\374\223\7\327\244\277\317DS/\371`4H\2\244:"
+"\206/Q\253^4\243\354\265\251)\312\256\22h\2702\321\343SHc\225h\254\244"
+"\341zD\217#\241\261Y\24\346oi\301\34\345\262:1\275:\314\331\36\62\33\34"
+"c\232\3708\321L\301\r\203|Xw[\26\n/\42\354\263\34\61\270-\372\n\361\365"
+"\273\321\32\367J|\2\61\212\325~ziQ\4\322\217\206g\353N\320<\267ZVp\323"
+"\240I\364>K\251\311\31c\254\27\204\245f\262\16\220\345\232\311\352@Vg^"
+"\6\336\207I\370\214U\342,\270dUV>\204H\220g\244\21\237y\32\254\313TQ&\327"
+"\353\272\247\273\13\4\')\356.\202\301HN\350\323\312\241*\236\316&\236\1"
+"c\0\34*\2216H\\\32544\365\221\217(\r\225\336|\360|\211/)>>5\253\374\252"
+"x\f\367\227\206\223\42l\3523\375V\31\274\340d\341\231\257\303\20\346\257"
+"\267\363\257Qt\345\33=X\367^\333\377\363\304\24\66\215\342\364\345Y\355"
+"Vm}\37\311\231\303\343\215\215v16;7\367\207E,b\21\213X\304\42\26\2610\354"
+"\77o\346\30\367M\215~\347\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\4\256IDATx\332\355\231]hTG\24\307\347\336\354\207\311\232lbL\300"
+"\215m5k[\251\351G\224T\264\244P\33(T\323\7\t\210y\t\211`i\37\n}\220Z*\225"
+"\6\212/\365\301P+\224R)\241\266\17\241\42\5\37\332\227`+\42\42\22\254,"
+"\22$\245\32\244\251\330\260&a\333\364\372\357\303&g\316\354\336\217s\357"
+"\356\343\236\227\334\235\371\317\357\316\314=s\346\314\304R\301f\331J)"
+"\205\307\252*fM\2\0\n\215\325\301\35A\321nX\325\240\275\200U\373\264\n"
+"\264\206\5\302\341\225\312\'\356WM\303rS\245\270\243\3406eWF\353^\341\f"
+"\335.\376\375\254\42Z\252\0\0X\350T\261\13E^o%\23w\5\0p\273Q)e\215\2\0"
+"\234\346\350\270c\0\200\363u\305_\373\1\0\267\42O\337v\0\300\307\344\275"
+"\333\n\0p2\42mm\1\0\366\261\222\226\273\0\360Z\264\211\273\6`)k\224%&\1"
+"8-Qp\307\1L\227.{k\f@.\302\364\275\f\340\307Xy\3710\200S\241i\215\5\340"
+"\270k\b\351q\200\327=g\310\243\374\211V\2658\355^\325\274IaJ\325L\5\6l"
+"+\265.\323\221L+5\377\347\275\271|E\333\217\235=|\311\210w\270rhc\324\35"
+"#{j\31.\266p\264-B\307\372\356\300\323&\237\tI\353\231\205\257]\332\20"
+"fIL\352\206\263\357w\257\217\333\226e\307\333w\216.\351\362\321:)m\257"
+"\263\332\306\371\310\214\36V\347\5\342\335}R\346:c\324\342d\242\274z\303"
+"u\252\36\20\320\342\344\32\13O\273\277n\204x\'\2\235&\231[\325\346R^\232"
+"\227\310\201\316\6\360\22D\233Y\343\343\2214\271\343\276<\373\362\252\316"
+"\77\375\352\246\361\216\371\311\316\220\254G\226\244\1C\336\242\375$\n"
+"\n\337\326\r\222n\365\322\264\221\244\220\b\372d\35\244\315{h\255)\222"
+"\f\6;\324W$>\347.\30$\301\222`\1\265\350\365\266\335\255~\215\16GoKV\317"
+"\4\311\347\334\366\335\23\372uk%\270g\265\376\240KF\302\242\217lm\353\244"
+"y)\346\221|\1\0\336\220\5\236O\340\35\f\342\216\256L\313p]\272\305\203"
+"\322\265\366\246\256[\22\206\305$\213\316\333J\352r\272\352ki\230}\0/\337"
+"c^\204\3R\334\31\326hei\254\270\f\237\375\337\244\270_\330\363\213F\315"
+"U\366\242u\341r\347\242}n|W\224\367;\330:P\366\375\212\20356\245e).\317"
+"\236\353\323\f\267\223U,B\212+\360\37[\30\256\217\225\317\210ww\307\310"
+"\245\31\356-V\376\273\30gdg\275\32g\267\262\362\371h\371V\237\306\31{\340"
+"\234\34\301\7\322f\21\256\201k\20\255w\252\216pF\270\374KN\2305|\227p\311"
+"\210\35\62\276E\314}\260Q-\306B@\265\314VJ\251\305j\220\226\t\367\217\21"
+"d\345\4C\372\237{\357\322r\\\273\0\27\227\343\22\3568#4\254\227\3432\354"
+"\371\17\375)p/\32\216\333\317,\242\234\347\7\343p^\341\266q\364\363k0\371"
+"\207\345[B\227G\324\207\370H\230\346\255R\254\303\367=\277\227o\212\307"
+"\236\377^d\270\307\77\360\\J\212\333\310\267pc:\277\340#\227\342\236c\317"
+"\337\231\251\'\233\205A)N\347\237pJ\322\337\213\272j\\\2741z$\1\3069\6"
+"\5\351\251\227\215hsij\312\262+\341\rX\257nq\247\254r@W\366\313p\337\350"
+"\26\345wR1}0\277&\13\346,\227u\211\351\7C\216\366U\277\316)e\353\313\211"
+"c\22\334M\222\337t]\226;\264\27\t\326YVwn\223\273\342[\22\34\t\306\351"
+"\273\370Q\257X\235\227\37-zH:\355\271\267n%\315OA\237\225\334\324\361\211"
+"\336\207$gr\245\224\32\'\341n\77\331i\222m\361\223\r\223l\330\377\30x\216"
+"\6\221\361V\351\275\340\275\240c\345\367\24\t\272\2744\372\232\347p\360"
+"1U\37\223G\\\3353\361%\t\366I\334]\7\203[\331\362\267\355\241S\361\303"
+"\315\302=`\206\200\327w\31\13\244q\340!UM\210\267(\233\35\275q\371\235"
+"]\231\326\246\246\366\247\366|\250_\203\374\3560)B\363\204\357]\245\363"
+"n\235\ng\231\323\236\260\374HB\205\267\372\376\253n\260\263\317G\376_c"
+"\303\216\17r<}\2718\324iWvI\256\254d:U\37Wj\376\321\243\177U\315jV\263"
+"\232\325\254f5\13a\377\3\362\303Q\226\234/\204\334\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\4\213IDATx\332\355\231Ah\\E\30\307\277\367"
+"6\273\333t\233\254I\233H7\3216\335\326\26\215h\33\326\222@=\304\200\240"
+"\306\202\6\264\271\224\244P\261\7\301CP1\27{)\n\36Z\254\1\21\203\4\253"
+"\207\250\210\320C\5\t5ABI\245\244\262\210\224\224\266\261\30C\r\333$\256"
+"\256\333\317\203\3157\337\354\316{\357\233\327\36\24\336wz;\363\237\337"
+"\233y3\363}\337\314\2\374\227\315\t\250O5\306\377X,U\24\266\235\1\330a"
+"\377.\367\305EDD\234\350r\265\362\267\21\347\355i\233\257\342\232\25\217"
+"\244Ty=\42\16[\323\262e\3446r\357Z\237\247\20q\253-\255\256\210\25\66\225"
+"\213\1@\363\f\42\376d\335\271o\321`\323\243yDD|\320\226\366(\42\342d\177"
+"\317\300\347\6\352\273\326\235;\207\210\235\0\0\20\353\230\252\240}\355"
+"\330\322\32\20q\77\375j=\305i\357X\323\340y\304\353\274Uzhmf&w\204\330"
+"\25\335;a\372\274\256\334\222\313\326\376rq\266\0\221E\366\77s\356\340"
+"\244\32\63-\3114\300\322\257\327\26\n\267\356\344]n\366\360Y}\363\177\177"
+"\250\325\t\t\313\36/\231\\\336\362\353M!:\326s\t=m\342\1KZn\36}\355\354"
+"f\23301\241\32\316\277\272{S\334u\34\67\336\274\367\350\252*\77\32\223"
+"\322\236\246\20V~\263A\237\346m_\21\357\352\375\262\245sB\205\204\204!"
+"\370\316Pu\237\200\26\247\245\261lv\273\316 \361\216\5.\232d~M\233Oy\6"
+"9Z@\243\1\274\4\321\346\326I\362\2031_\236K!\260X\347\247\333M\343=\341"
+"\'\33!Y\316\177\24C$<\350-z\216D\307\203\246\377\7\222\356\362\3224\251"
+"\374+\21\64e-\244-xh\235\13$\351\17^P\37\222\370\224Y\320O\202U\301\6j"
+"P\373m\217\251~\235rG/Iv\3178\311\27\\C\3651\365\272\r\22\334N\245\77P"
+"]\273\201y\37\331\336^V\37\247\246\252vX\341\236\2249\236\267\320\333\31"
+"\304Y^\235\226\341\332U\213\305\312\275\366\224\252[\25\272\305$\363\316"
+"\17U\324\345U\325GR7\273\210^k\217\255\42|A\212\33a\215no\215\333K\206"
+"\177\375\213R\334w\354\371\21\255f\232\275\250Q\212\333\303\32\275\247"
+"\315+V\367;\330Z\260j\376\376\35\254\26\224JR\34O\272k\323\f\267\227U\254"
+"\240\24W\344\77\2663\\\17+\237\23G\3672\377\361\30\303=\313\312/\213qZ"
+"v\266O\341\334\215\254|)\\\276\325\243pZ\f\\\220#\370@\232\34\302\255\347"
+"\32\f\327;\210\21Ns\227\277\311\t\332\375B\234p\311\220\35\322\346\242"
+"\306<\330\260V\303\\\300\3352\27\0`\345n\220J\204\373Ss\262r\202&\375\333"
+"\334\273\264\34\327,\300\305\345\270\204\31\247\271\206Mr\\\206=_QS\201"
+"\327\302\341\270}\303<\312\227\254\374>\273Ua\n\34\275\314M\227\344\23"
+"\313CB\273\207\327G\361\2210\315[\245X\207\257{\316\227o\212\307\236\177"
+"_a\270[_\360\\J\212k\345!\\\373\234\357\363\221Kq\374\22\357S=\365d_\241"
+"_\212S\371\'\226+\322\337\323\252jL\34\30=\222\0\355\34\203E\351\251\227"
+"\215\250\25525e\331U\203\f\267O\265\270TU\331\247*{e\270\217U\213\'\252"
+"}\263:\230\237\2239s\226\313\32|\372\1\313\321>\356\3279\0W]N\210n\300"
+"gI>k\334\226\35j\25\t\366YVun\253Y\361\t\t\206\202q\223\352\n\304\313W"
+"\27\344G\213\34I\177\366\214\255\273Hs&hZi\231\226}\274\367!\311\231\34"
+"\0`\214\204]~\262\223$\333\356\'\33 \331\200\3771\220.\327\313\31o\225"
+"\212\5\257\4\35+\77#O\320\356\245Q\327<\207\203\217\251\352\230<h\\\236"
+"\211\17H\360\214d\271+g\360c\266\372m\335t*\276\321&\214\1s\4\234\351\324"
+"6H]\337\r\252\32\27\207(w\230\377a\364rgfc}}\363\226\3567\324k\260\320"
+"e\223\42\3343\356{WY>\22\3;\313\234\364\204\25\6\23`o\265\275\323&\330"
+"\350\303ao\216a}\307ky\236\276\234>\270\315\275\263Krp\222\351Tm\34`\351"
+"\346\315\277 \262\310\42\213,\262\310\42\263\260\177\0 \234T\ng\351\260"
+"!\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0"
+"\0\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4~IDATx\332\355YO"
+"lTe\20\377\336\243\273K\331n\327\266\264\241[\250\300\42\66X#\224TR\22"
+"8`\305D-\7\322\304\320\13iI0r \361@\220\320\213\\\210\7\16\20\n\2111\22"
+"\323\210\36\32\b\27\16\352\241A\211!\204\30\254\244\7B\212\312\252\224"
+"\6\233m\273\251\224\307x(;3\337\276\367\2757\357\325\233oN\337\316\374"
+"\276\337\367o\336|3\337*\365\77\222e~\306\352\346\252\371J]\315*{>\322"
+"H\313G\0`\252C\323\325\216\2@\241=\2[j\22\0\0`7g+-\352\272\302\323\r-\366"
+"\4\'E\272\321\347\272\322\262\320\233\ney\23u\31\324\231\226k\233\350\322"
+"\330j\303V=\266Z\303\322\321\361\375\201\255\31l=\n\275w\337\225\27\326"
+"@\272_\313\272Th\272\6g\261\347\'L\267\3619\333@\4Oi-\0\0\fZ\\\267\271"
+"\b\0\320o\354c\371\360Ym\371\251\237K\25\7\336\276\346\257\261\177T,\261"
+",I\254@@\272>\327\222\312*5\375\360\301d\361\331R\306\262\363\7\257\201"
+"&\77\36XmE$\313\237^\0\17\231\375\2501\302\304\272\357\201QF7\206d\353"
+",\200\257\\k\16A\226\31\245\216\205\17\267\254L\330\226e\'\232\266\235"
+"(\221\376\204\370\272x\307)\367q\216\327\351\307\274\376\n\362\375\336"
+"*s\2353\330\343T\322mn\276\205\346^\1[\2]c\366%\357\341\6\220\357d\240"
+"\323\244\306\313\330\361\264\t\263\31\35\350B\0_\22\331&\226\373x$n\356"
+"\260/\237}\275\214\233\317\370\341\266\340z\317\370\301\316#\254\323\177"
+"\25G\20\270\337\f\332\213\240\323A\307\377\23B\333L\230F\204\314\'\203"
+"\216\254\5\261E\3\326\272\215\220\276`\207\372\f\301\27\275\1}\b\220\344"
+"[u\364\275ux&\233\24\216\336\227|=#\b\237\364\312\233N\322p5\22\272\227"
+"\t\277\317m\255a\321G\366m\317\322\346T\271\254\203D\367\226,\360|\f\346"
+"`\220p\310\230\225\321\265S\217\251\312o\355m\262\225\244\251=\213\316"
+"\257T\330\306\311\364\2714\314N\201\311\367\230\27\301{R\272\363\254SR"
+"K\265\371\356\377\42\245\373\236\265_\323,7\330@\365R\272\16\326\351\254"
+"v\256\340\236w\260\264\200\353\374lw\325\261 \245+\362\3422\313\350\266"
+"1\303\34H\351\264Bt\3\243\353f\372\t\361\355\356\360\37\2573\272=L\177"
+"_L\247eg;\210\316fu\222\232\216\226ou\23\235v\7N\312)\370B\32-\244[\301"
+"1\20mv\213\257\n\266RJi\3412DmY\320|\27\351R\21\'\244\235E\225\367b\243"
+"J\225o\265\35\619WJ\251\271\377\202i\1\351\264\3724\304Fj\320\247\336\263"
+"\313\312\351\232\4t\t9]\322\233N\13\r+\345t9\326\376\215\216\2\36D\243"
+"\343\362-\213(\227\231~M8\257\360\2728zX\230^\220\37,\277\22\332\rQ\37"
+"\304%a\226\367J\263\t\377i</\337\24\217\265\377\236ct\317.\361\\JJ\267"
+"\232_\341\332v\236\343+\227\322mb\355\257\364\324\223\355B\237\224\216"
+"\362Op*\322\337\253d\32\26_\214\206$@\253c@\372\216\233a+ZW\231\232\262"
+"\354\252NF\267\203z\334s\31{\311\330#\243\373\202z\274\341\216\315T\230"
+"\337\224\5s\226\313z\304\364}!W\273\323orJ\331\36481(\241\33C\370\230\347"
+"g\271\225\274H\360\235\345irk\275\21_\42\340H0\335\17\364\4b\212\325Ey"
+"i\321\211\320\273\306\273\265\r1\337\4\35+\272\251\343\23\275\17Hjr\245"
+"\224\32F\340v\77\330\20\3026\370\301\372\21\326\357_\6^\304E\344\314(\272"
+"\13\16\7\225\225_c$0\376\5C\317<\7\203\313T*\223\7<\3353\371)\2\336\225"
+"\270;\5\203;y\367h\273\260*~\274Nx\7L \341\255.\355\3\311\364>F\323\210"
+"\370\212\262Y\351\r\327\77\350\3125\324\3266\275\270\353\30\r\3\305\355"
+"aR\204\27F|\337*\235Ca\377\212\312\r\31\311\212\3I\25^\252{nx\221]x5\352"
+"\313\261Z\261\365\3508O_\256\356_o/\355\221\\Y\251l\272:\241\324\364\314"
+"\314\23\25K,\261\304\22K,\261\204\220\177\1\\\32\23\r\277\252\237\367\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0"
+"\0d\234\245\352\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\263IDATx\332\355"
+"\326\261J\303@\30\7\360\263\27(\1[\n\255\240\223\223\320\301\241b\27\35"
+"\4\301)\243O\340 \372\20\231\4\207Bl\37\300\16:\325\7\3503\210\203\17P"
+"\244\255T\27[\24E\20Jb\311\271\\\3174\271\357\363ns\370\376\323\345\332"
+"_/m\222\377\2251\n\205B\241P(\24\n\205\362_S\312!/\346\n\251\t\276x\350"
+"\355:\343\30\302\274\266W\36!\37\356u\242\253\35\7\302\365vx\271\217b!"
+" \316\353m!\20\356u\42! \316\353m!\20.\261\236K\f\362\352\205\304:\256"
+"\260\20\341\371\206\232\376}\333c4\254\312\341\21c\367\263\5\274uz<\37"
+"\77\347\237t\213\273\215\236\320\257\236XY\364[\256\376\213C\334\bC\334"
+"\20\353\2711\326q\13\234\345V8\315\3638\346\351\211\331\355j\245\42\307"
+"5\247x\250\256\363\240\353O\r\36\361\344\352\17\66\247\235\345\326X\307"
+"-p\226[\3414\267\304\214-_\177(\374yS\200j\22\350\260j\\R\7\305\357M\307"
+"f\345\344\35\6\227\225!\266\342Yl\301\2238\3049\317\316$:l8\372R\367<\37"
+"gw\31\216\341A\367\244\\A9r\332\375\226\213T\245\1f6\\\327$\306\\_C\206"
+"\34\3520#\16\27\240\1\347\333p\1\376\315\327\2321\374</\360u\315\36\372"
+"\362\376\272\262\4\265\347\364\214\261\371\16\373\246\335C\231\77\211\341"
+"&Q\253\7\320\217\356Ob\270\206$\17\340\13\356Ob\270\303\334F\17\305\214"
+"\371wM\27\253\312\0\277\321\17\260\366t=\3723M\241P(\24\212\314\17\314"
+"\311\220\346[D\317\353\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\5\344IDATx\332\355Y}L\226U\24\77\b\42h\42/`*\241B\233#\21R\314\250"
+"\241f9\313-\322a\26\246X3\372\260\234\331\312\217t\232\3460s\226\177d\26"
+"}\2303\305\310\205N\35e\246\316\242\304\262\345\20\65u:\4\2214p\312\207"
+"\16_xy\177\375\1\357\275\347y\336{\357\363\266\330\374\347=\377=\347\374"
+"\316\357\271\317=\347\236{\356}\210\202\22\224\240\4%(\267_B\376/A\350"
+"\b\42\242\312\353]4\236U\0p\272W\27\261M\360\0h\31\356{\fs\302\367MMJ\354"
+"\327\263\7y\33\353.U\226\327\333\254\375\266\206\22\321\374\343\1\275\272"
+"w\316\346\263\260\310\245\302\334\30>\363\373\0`g@Aztg\13\24rk\327\244"
+"n>\314\22\0\250r9\223u\233\365\27\264r&\257c\2162\333\0\264e:\263M,\207"
+"QNO!\42W\25\0,q$sm\221\216\315;\26e%\307\273\\\203\322sV\226\266J\375\367"
+"\3Cv\1\300\376nNl\217\324\n\247\322\354\36\334\322\347\325\343\302\324"
+"\270\r\0\256\364wb{\255\315\347qb\214\177\200\246_\344\37\355}\314i\321"
+"|*\240\253\303U\200\250\355\214n\215\3[\367o|H\367L\35f\211\234\330>\16"
+"c+\362!=O\353Q\363\4\337\17\341F\272O\4p\256\t\366\201\200\25\232J\322"
+"\\\1\63/\234\336\315\2\370\226\36\65Z\344U]\254\221\356K\31\f\317xm\366"
+"\326\b\320+F\266\\KU\210\321\240\n\5\344\224\261n%7Y\26\33465*K\42\362"
+"Ll\21\307\0\200U\256\211J\324ya\257\2174\321}\f\0\25\61\365\2~\266\273"
+"\2\265P\276n\255\211m*\0\334\30\312\222\5\363\374Q\321\327\244y\224\201"
+"-\361:\0\314\42J\223\370+\376_\263LZ+\rl\341\277\3\300V\42\242\223\322"
+"\343\r;,RN\5\326;\255\2073w\20\21\255\221\36\325\366L\310c\221\177J\317"
+"\226\345\5\3202\202\210\210\3063\227I6\334QV\303\342\264l\tW\1`N\307C/"
+"\217\364\331c\305\245\2607\235\323\327\233R\0(\366=VH\237\266\316!tV\372"
+"\351\314\251BK\267r,\21U\275\250\0\206e[\200\354EX\256m \332\1\2703\304"
+"\363rh\276v\20_\203\272\272\331\3772\0,\220\212\31\314\251\231\327\321"
+"Y\234\356~\315F\276\37\0JX\271\344\241\5\337\2747qC\77\65\335R\0\270\304"
+"\243~\17\367z\223\31N0}\213\232m\254\7\200\347!\256\212\325\224\251\210"
+"6\246\257V\262\305\326\0\3002\353\202\343t,\314\251\\_\256l\247J\0\340"
+"`\250U\353fn7\244z2\247;\244\242\233\17\0W\6\330\264\r\334\257\257H\343"
+"x\216Q5\315\31\253\211\b\317]\266\251=\374!N\320\335\311\325\212PDo\17"
+"\'\2425\77\332\3657-\263+\350z:t\32\33\23\211\350\360r3\250\227\240\213"
+"\322\276\222\210\210\346L%\242k3<f\2720V\2t\23BD\224\276\216\210\220w\321"
+"\341\23Z\4]\263\261\201(\212 \242\365\273\25\246\36j:\313\367\331{\242"
+"\202d\42\372s\221r/\345\17W\5\335U\313\256a\253\372\271D\3244\255U\271"
+"\17\361\7\231E\223x:\26[\313\364M\0xF}\362\340nuR\237\306\365\373\270G"
+"\317\223\0\360\231zV\243\271\333\257lJy\t8\302=\276\0\200\nM^&q\272\r\232"
+"\2u\236\351\247\3\300\315\241\232\230\217\342t\274K\332\310\364,\314C\232"
+":\33\b\307\226\13Hf\206\347\271!Z\314\3011\0(\324f\344K\314\251\226\33"
+"\6r\272\221>\355G\262\201P\312\273\314i\223\305\302\332\27\344t\352\246"
+"\0@K\272~\275\360\363\212u\237\315g\226\374\316\316\353\32k \224\3026\347"
+"&k\360\2071\272\222\216\214\77\2\0;LM-K\257-6\333\37\322T\37BD\264\26\0"
+".D\33\350\36dC\30g\210R*\21=\356\5\340~\300Tj\26H\217S!\206vq\1Q|=\0,4"
+"\26\270}\322c\266\237q\2054\36\246\320\237\355\r\204\342 zK8\374\355\337"
+"\33\273d\253\355\275;\37\0j\343\214\203\233\251n(|\262X\232\367\3737\20"
+"\376r@\300/F\250\342^i\275\214x\333\314\226\342\25\310\31J\300\23\26\66"
+"{\3\241\77\64\226j\246\370k\306\366\317\0\63\333\20\221\303\267\206\351"
+"\16\240\325\201\337@\354\26\320\305Z\314\30\321\22y\'\230\331\262\3\232"
+"\224\227e*\31\263$\276\316\207\2531N\312{\202\357\'C\343\22^*Jw\2069\374"
+"\355\202oww-\333\36q\21\60\331\310\26\311\317\27\7\64\207\374\230\275\202"
+"-\327<\303\5\226\324;7Z\205\311\24\351\356\3161\263M\3\200\206\327\33}"
+"\370\366\202\4;d\360Wb5\324\2153\263%5\0\3004J\372M\f\320\275y\2kD\42\263"
+"\276\225\247\304\203w\231\257\241\303\177\311 \242\317g\23\205\315[)\367"
+"\257\306\262\23g\32\232)\312\225ro\246\214v\303\322\2\230\7\367>k \6\25"
+"\265\233\356*\335\33\342\234n\1\263\274\226\6\42\255\330\243#kX\227\340"
+"x\337\331Q\316_\340{\371\252J\325\300\366>\33\31\300M\374!U\3\61|\351w"
+"\365\374\312\370\350\207O\366\t\350\217\300\212w\210\350\334}\212.9>qp"
+"T4Q\353\365\332\13U\236\0o\342\37\366\0p\217\354\242{\375\270Z\307\13\305"
+"\377\362\17\244\4\0v\205t\21\335|\0\250\216\351\42\266\fw\2007\361\316"
+"\22FD\3437\23QY\31\5%(A\tJPn\227\374\13<\36A-\31\f\274P\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0\0Dp\372\27\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\2\357IDATx\332\355\231\313kSA\24\306"
+"\277{\3234\215I\252\265P|R\320@\261\352\302\7H\5\253b\241\42b\321\272\23"
+"\211\377A\301M\20\245EP\\\271P\24w\272U\260\210\24\263p\241\20\251\240"
+" UD\245\204@c(\221R\242Mm\243M\343qqk\357$Mf&\345\240\24\347\333\334\341"
+"\3363\77\346q\316<\316\365@.o\307\356\302Wpj\303,\21=\3612\22\2554\21\21"
+"%\3|\310\209\32\347c\372\27\220\224\341c>\345g\6s\374\314\306w\374L\353"
+"T\201\177<\33\356\3623\321\226\344g\332\221\42;\23\241A~&vM\3603\355\363"
+"\374L\254}\306\317DgN\315\264jd\326\355\0\362\2430\372;\262`\325+L\346"
+"\250\334A%\333\33\315\1h\42\205\302\345\325z$\306q\300\346\357\370\312"
+"@\326a\3720\340\13\266\204\217\266\227}z\376\42\65\65\65\17\214\227\327"
+"\31>\335\272\263\247i)kz\360\355\330\347\2227\276\1q\234{\25\355\367w\247"
+"J\346%w&T\311\354\203kqU\303\377.\n\304\373U\34\353\272krDg\324\\\346P"
+"\265\345\'\352\42\367j\305\311\237\276\27\375\32\63^\324A\322\271\205B"
+"\177\236\315\211\206\27\236\367\370\374r\356\265\363\3140\272\372\3\307"
+"\203\211\21\371\30692r\6\244\23Y\2378\221S\0\200/\234H\307y\276q\42\13"
+"\0\200YN\344/\0\300<\'\322\t\262\37+pU7H\2034H\2034H\2034\310\377\26i\363"
+"\237\211\354\n\327\17\273\352\335RK\36U+\13nq\225\36\262^\205\24N\263\r"
+"z\310\200p\312Tu|\215\36\262\31\0>Jf|\332-\256\323C\206\1 .A\316\270\305"
+"v=\344!\0x)1\350po\272I=d\226\210h\273\304\240M\270\263{t\210\253\211\210"
+"\310/\351\370\244P\336\244\203<\16\0cyY\356Dhe\277\316\25\77CD\24\221\332"
+"\214\272\310b\275\32y\220\210\210\344\376vVh\346euB(KD\24S\4\203\230\246"
+"\331\252B\336\42\42\242-\n\253+\2r\322/\267=IDD\217\224\313@N`\276\227"
+":R\2473\344!\345\370\354\21\273\376J2E\275\216I\267\206cDEf\272\265\332"
+"\314\334q\fnh\305\330\355\222T\332\200\257\222\77\36\310:_cz9t\353Z\t\263"
+"\30m.\37\357\305\4\336\220\3666\323[\226\214M\364m\139\225-\337\306\23"
+"\261\305\3677k\310\363\267\214T\310\362\246\23\211lI\363\217\325\264\361"
+"Y]9U\322\371a\315\177\77\354\256\204\f\370x\363\262\366\350\365}\23\225"
+"y\251H\343\362w\376\320\276\13\361R\334\310\245\375\252x\321\2304o0\20"
+"l\0\360s\346\373\314\222\77\1FFFFFFF\377N\277\1\67\250\333xn\234\213L\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0"
+"\0Dp\372\27\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\356IDATx\332\355\231"
+"MHTQ\24\307\377o\374\30\'\235\362\3\244\350C\250\201\320hU!Ei\221dD$\241"
+"\273\b\245E\273p9D\241\4E\253\210\242\b\332DDPPD\b.\332\4\206AA\30\204"
+"E\f\201\243\204\21\303\224\232Z\216\323\277\3053\337\235q\346\335\253\35"
+"\n\351\3767\357\362\336y\77\356\3079\367\343\334\2,Q\345\215\221/\323\220"
+"\324)\222<!\btn\222$Y)G\274\343\22y@\214xw\216\310\6qb\252X\232\310\335"
+"\322\304\251zi\342e\351V\17\326\b\217L\252\315\21&\336\16\t\373c\274\26"
+"\302\304\223\1ab\317J\310\22\23; L\214\26\30\231\32\42+7\0\303IX\375]9"
+"pt3\312\f\263^\4\212\362\33s\6@\5\65\212d\377\326\342c\334\7\4\344\33\276"
+"<\220\205\230\330\7\4\313\252#\7\353\262>=}\26\37\33\233\5>f\377\323\337"
+"V\263\265\245b!k\342\341\353\241\341\2147\301n\265\237[5\365\17\65\307"
+"3\306e\374X8\227\331\240gq\301\300\377\316(\304{y\34\353\222g\262\337\244"
+"\327<fO\276\351\'\352!\267\33\305\311\357\266\247C\6#\2366A\262c\256\320"
+"5-\346D\375s\317[r~9\363\322}\216\n\272\372}\327\203)\210|\5\0x\42\31\220"
+"nd\275\223D\216\1\0>I\42]\347\371*\211L\1\0\246$\221\77\1\0\263\222H7\310"
+"\276/\303Y\335\42-\322\42-\322\42-\322\42\377[d@~O\24\310q\374\b\344=["
+"\32\251@W\313\224W\\a\206,\326!\225\335l\211\31\262T\331e\352\32^n\206"
+"\254\2\200\267>#>\341\25W\233!#\0\320\347\203\234\364\212uf\310\275\0\360"
+"\334\307`\247w\322\375`\206L\222\344\26\37\203\315\312\231\335(\t\270\212"
+"$\31\362ixB)\2573A\36\6\200!\277;\232B\245\226]&G\374Q\222l\367\265y\357"
+"!\323\6\231\370F\222\244\277\277\35W\252yN\237\20J\222d\257&\30\3244\315"
+"&\35\362\32Ir\243\306\352\274\202Lh\22\362GI\222\217\264\323\300\270\302"
+"|\343\353H\rn\227\207\265\375\263Mm\372\13\237!juM\232\r\34#\2522G\362"
+"\335\227\24\336p\r\256\30\305\330\365\214TZw0\227\77\356I\272_{\315r\350"
+"\316\305\ff:Z\225\335\337\363\t\274\36\343e\2465+\31\33\353\254\r\273\77"
+";\301\265Gz\347\337_]\304\245O\365@\216,\357H,\226\314\250\376\241E-|N"
+"\323\270.\351\374\240t\321\253iS\314\17\370x\375\222\326\3505\235\237s"
+"\363\342\355\177p\351\23\256\77\335\227\211\338\273K\27/\6\203VTVZV\2\340"
+"\307\344\267\311\5\67\1VVVVVVV\377N\277\0\22K\333!2D\274\212\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0\0Dp\372"
+"\27\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3OIDATx\332\355\231\337KTA\24"
+"\307\317\275\352\256\353\356\226\42HQb\250\20)\5\375\246\302J\24\214\220"
+"\244\354-\302\372\13|\n\213\304\245(z\311\207\244\350\261\327\202\42D\360"
+"\241\227\304\262\250\b\2230\221%\320$\224\220%\177\254n\352\355\333\303"
+"\350\336\331\365\356\235\331\335\211\220\346\373rgg\317\3750s\346\314\334"
+"\2313\6I\3120\211\210\360\233\224\311\350\3\0\304\202\352\220W\3004h\250"
+"\42\356\301\232n+\42\26\314\307\2218\246\306\221\257m\42\2267\251@^\5\257"
+"!3{\342\336UV\313({\336\315\232\350\217\1\0\346\313)\267\2331k\262u\344"
+"[\0\300h\220\210\214\233\0\0\2530;d;\0\340y\16\373u\16\0\60\234\225;\367"
+"\1\0:\342\21^\35\3\200\316,\210\201\30\0\64r5E\23\0P\233\271#\77\0X\250"
+"H\250\363\364\1\260\2122E\206\0\204\223\227\n\243\13\300H\206\356<\4\240"
+"\'w}\375e\0\3672\42\6c@\310q\3519h\1u\251\234\345\206,-\246h\330\371\257"
+"\302\35\204!\322\372\3132\310\360\bL\226\220Ta\346\2456\306\22\21\25A\240"
+"\312\344\327\232\\\214\373\211L\365\35\337\30\310\\\232\253%\362\6J*OU"
+"%\375\365\362\325\370\314\314\n\321\367\344w\6\316\227\355nrX\211\346\236"
+"}\32\373\226P\343\r\361~n\26\264\337\3270\2360.\263\27\34\3676\303HgSa"
+"\\\347\210\217S\4V\247mR\'\3435\233\331\223j\371i\263\221\7\244\346\311"
+"Z\337-\237\304\210[2H\\Z-t,*\13\242\201\325\347#uq\271\364\236=\'\25\206"
+"\372\23\26\301P\210\374HDD/TNH6\263FT\42g\210\210hJ%\222\5\317O\225\310"
+"e\42\42ZP\211d\'\253\25\225H6\311b\33pU\327H\215\324H\215\324H\215\324"
+"\310\377\26i\252\337\23\231\16\307\17\63\345\331RJ9\242V.\333\305\29\244"
+"G\204\344v\263\371rH\77\267\313\24u\\2\351YLD\364\305e\304\347\354\342"
+"\269d%\21Q\277\13\62j\27\253\344\220\'\211\210\336\270\30\34\261O\272_"
+"\345\220\21\0\250v1\330\311\235\331sd\210\233\1\0>\227\216Os\345\3552\310"
+"F\42\242\261E\267\334\t\327\312\16\231#\376$\0\264\270\332\214\332H\313"
+"#F\236\0\0\270\307\333E\256\2317\304\t\241\b\0\364\n&\3\237\246\251\20"
+"!\357\3\0\312\5V\2678\344\264\317\335\366,\273\26\20.\3\263\34\363\263"
+"k \35g.\27_\246\355\347\273\376\316e\210\232\231I\203D`\264\361\314\211"
+"\262T#\363\220\31\310%\327\37$\244\322B^\247x\254\211\260\177{\345\356"
+"\373\214;\tL\253\2558\331\337\361\4^\217\364g\2469)\31\33n\335\25d/\33"
+"\336mgz\343\365]i\334I\226\f:dy\'\302\341HB\363O\247\365\3413\352gEI\347"
+"\247\376\264\277\246\365a7`wiF\337\350\255\255\77\234y\343-Y\334n\6\17"
+"_\353O\304\r\266\37\25\315\27\211A\313\13\370\3\371D\364+:\37]w\23\240"
+"\245\245\245\245\245\245\365\357\364\7\364\314\23\317e\352\317N\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0\0Dp\372"
+"\27\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3*IDATx\332\355\231\337K\24Q"
+"\24\307\317\254\77\326mw-[\20\245TH)3\203\250 \f\372E\226\21\221\204\275"
+"EX\375\3>J$JPD\17=\24I\217\275\26\30\21\202\17\21$\206AA\30IE,\201\233"
+"\230b\313\222k\256\77\247o\17\263;sg\334\271\367:\f\204x\277/s9s\356g\357"
+"\217s\357\235{\226h\203\252@\360>TY\270\340\264E*\2\13\236\177\260\244"
+"\17@r\277\315V:\b`\242\321#18\r\0\300i\226\2301lM\336\220\275Fm\350A\313"
+"6\230\265e\n<\2153r:e\332\242\246\315\265\353\1\16\62l\226\352\315\322"
+"V\263T\355\5iM\353O\2634k\226~y\32\313W\271N\306,[\42g\13zB\306t\243\366"
+"]\306\2663K\274\3461\212\252\'\0\240Kcm\373\322\0p\325\275\222\306gj\365"
+"\265\311O\31G 4VM\215.\222\222\322\272\222FZ\261\300e\t\316\255\246\310"
+"\335\31KDT\6\201\352\234\325Z9\316C\374\315\315\243\326\7\262\220fO\20"
+"\5#\345ug\32\34\257^\277I\314\314\254\20M8\353\f_\254\331\333Z\266\232"
+"5\373\354\343\330\17\373\21\333\303\216s\233\240\375\241\226\204m^\322"
+"\227\242\371\334>[\36\267%\342\357\6C|\342\22X\367,\227\2232\243f1\373"
+"\335\266\362N\13yPj\235\344\372\256\207$f\\\227A\342J\266\320=\357[\20"
+"\rg\237\217\375\213\313\245\367\306s\322\307P\177jD0|D~ \42\242\227~.H"
+"ce}\365\239CDDS~\42\215\340\371\355\'r\231\210\2102~\42\377\22\21\321\212"
+"\237H\335\361m\273~vu\205TH\205TH\205TH\205\334\260\310\200\377\337D\201"
+"<\327\217\200\353\335RJ\5\242V.[\305Mr\310b\21\222\371\232-\221C\206\231"
+"\257LQ\307\267\310!cDD_83n\245P\251B\16YGD4\304A\316Y\305\69\344q\42\242"
+"\267\34\207&\353\246\373]\16\231\2\200=\34\207]\314\235]*m\276\31\0\20"
+"\342t<\311\224\267\313 \317\21\21\215\315\363r\'L+\273e\256\370\223\0\320"
+"\316\365\371f!\365b1\362\30\0\200\37o\227\231f\336\24\'\204R\0\60 X\fl"
+"\232\246V\204|\b\0\330!\360\272\305 \223!\276\357\5\0\300s\3416\220f\230"
+"\243\334@:j\fyT8>\7\330\256\277\343LQ\233\341\322\42\21\30\235,s\274\306"
+"mf\36\31\16\367\245\326X\257-\225\326\223\357\17\23\355H\312x;\240I!\265"
+";6\246\336\31s\216\267\231\300\353\227>f\332\34\311\330x\307\356\250QY"
+"\13n;\77`\332\37h$\255\362\221<Y\336\361x<ek\376\3315\35|ZsZ\224t\356\13"
+"\257\3714m\216\363\200/\252<\235\321\225\35\323\371y\211\366R\357\'\177"
+"\364\320\365!;n\244\353\260h\275HLZQ$\34)!\242\305\271\77s\253\376\tPR"
+"RRRRR\372\177\372\7\1\36\3257S\370\360\203\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0J\0\0\0x\b\0\0\0\0p\t;\13\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\370IDATx\332\355\230MHTQ\24\307\317\233\17M\323\232"
+"\231\314\224\302\2%\307\244\225I\4\3210E\265\b\n*h\321&T\332T\264\21\334"
+"D\21\24T\30\3\355\232\235D\21Q\220\b\22.\42\332\224X\213\b1W\221\203\273"
+"\230Q\224Q\34_\377\26\352\314\2317\357\335\367u\27}\334\377j\336\275\207"
+"\337\334s\336y\347\234\367\202\344M\221D[n\211d\350\32\0\364H\0ii\0\0b"
+"\376IO\326H8\341\233\364t\235\204#\322H\205*Y$\34\226E\312\37\224EJ\311"
+"\362nr\267\244\210\27\316k\222HC5\222\362\351G\7I\42]\16H\42\215l!9\244"
+"\237\335$\2114\20\24\3338C\305Z\210f\262\244$I\232f\363\204\353\253\354"
+"\242Z`\270BQ\210\365\220Y\7D\206\321\200<\7\377LTh!I\24\215_\332kX_M}\310"
+"\21\21Q\206-\42IT\323\260\377B\213\221\362\361\365\267\371\205\215\213"
+"\346\317\345A\24\66\336\330sn:\235\b\33<\35-C\3318\363\254hX8Y\371\30\207"
+"2\34U\'F5\25\217To\266\275\207\243\372\305\250\340\272\331w\213\244\275"
+"\313Y\21\'(}\233\325\335\3142\324\230\20U\277ft\312\322\340\0\77\226pL"
+"9\4\0x#\260x\311P\213a\201\341\250m\20j\13\26\17\262A\215\0\200\353\302"
+"\30\234\341.Z\317\5\303\0\220\265\351\32\343\f5e\325C\332\1\0I\2334n\344"
+"\307\272h\361\177S\0\360\325\266Y\3653\224n\236\363\307\1\0\355\366Ug\226"
+"\261^\231\246\347\34\0\f;(;\35\334\305.\23\203+\0\200\6\'%,\315P&wi3\0"
+"\340\201\243jX\235g\254\233\25\333\217\1@\337\344\254\262&\271\213\315"
+"\206\315\235p\365z3\306P\23\206{\376\36\0\262\216[\302V~\254\323e[]\216"
+"\262\223\251\207\241\n<,Z\6\0&]\f\310\3324c\r\261\215s\16\263\323\2528"
+"w\26\227\303\313\0\60\342\256\77\336g\250\331b\220o8\317NV\234\347\30k"
+"\2430E\0\0\203n\333v\267I\203}\341&;-\212\363;\42\42j\5\0\364\272\237&"
+"ju\306:JD\364\305]v2\235e\250|\25Q\242\4u=[N0\326#\nd\335f\'\323\16\36"
+"\371\326>\0@\334\343\3605\300P\31\335CvZ\24g\0\300v\3173a\247\2014H\336"
+"\225.#y\310N\213\342\214>_c\3571F\232\13\372\33\241\337\226P)\237s\373"
+"\325\322\317_>Q+\177\371\213\211B)\224B)\324\77\203b\6u>Q\354\233\352."
+"\237\307\276Sj^\313!\77\237\357\42\267xw\36o\23\65U\363\311\3536\21\5\233"
+"\242\361}\25;\271O3\363\213Dto\311!\n\266\347\215\345\376\277\24URRRRR"
+"R\222\242\3370Y\226\314\232LM2\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2:IDATx\332\355\230](\203Q\30\307\317;\37\363=\23\271\221"
+"\242D\223\342\212|\334\20\245\315\235\13.\244|\\\354B\256\334\271P\273"
+"q\241\310\345J\315.\305J\256\210\220\222\257P\244\21\262\332\264\330lc"
+"\314\346\345\270\322\373l{\267\367\365\314\5:\377\253\3779\247~=\357y\317"
+"s\236s\16!LLLLLLQ\252\242R\322\307\7(~ \210\337\302H&\304\277J\210B\225"
+"Q\220\37\65\30t\272\3\1B\210]6N\325\276\2\'\3229\\\306!\202\342\326\4\4"
+"_\216\233\17\272.\370\353s\344\234\272E-\372\277\360\177o}\374\242u*\256"
+"\320\250{\17\64_\202\217\236\367\3572\232\233\243\272\36\3546\353\351\341"
+"\331G\374\250\364TZ^\313@^\242\fJ\351\353\\}\302\fJ\351\252F\306|\20\342"
+"\332ux\276|FvaY)\374\207-Gc\343T2\16\2232b0[k|\204\241,fJ1x\265\310x\256"
+"\341\25@\266s$\30\27\61\212\300\25\200\254\245\304_\2471r\377\244\341\22"
+"\254!\3.\367\235\272\200\320\30\251\305\345\313\271\1d\333\24\207\313\271"
+"i\227\340\353\332p\214g3h\f\42s\177\1x]\26\216\261\347\27\274\262\21\307"
+"\340O@\243\16\271\217\301\322\243A2n\201/F2\236\200W#\31>\340\323\220\f"
+"x\36\b\42\31\60\347\275H\6\334Z\34HF\21\360V$\243\22\370}\34#\13\60\336"
+"7p\214VP\f6\37p\214\36\340gp\271_\321!\370\233y\34c\2|\312X\b\305\30\322"
+"\202\3310\243\366\344\236I\301\337\367R\4#}b6IH\225.[\374:\267%F\350\277"
+"\6U.\240\225\256\373\341J\325\324\264\350T\240\343\256sK\212Q}\20\226e"
+"9\221\267\212\225>G\202g\30[7\'\353\f\23[\326IS\210$\300\240g\313\226m"
+"*\357l\311\77\2055\375o\317~\217\313~sq\354\223\177>\335ib\367\6\306\210"
+"`(\302j1\216\1\212\240\n\31\24\362\256\376\23o\6\34!%F\251\267\213\351"
+"%\366\36\304\304\304\304\304\304\364\17\364\t\n\16\361\n\205\22e\240\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0x\b\0\0\0"
+"\0\206@\276\223\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\210IDATx\332\355"
+"\230KL\23Q\24\206O\241\200<\213\310S\236b\225\342\13\23\225\250\2001F0"
+"*A\4\37\61\242\211\321\230tkT\334\231`\300\205,\214B\324\250A\23\37\321"
+"\250\33|l\214.\32 \n\42 F\r\24\f\2\206B\260Rb\345\325\272\350=w\246\235"
+"\333\231\271&n\314\234\325\177\357\271\337\234\231\316\271\347\334)\200"
+"f\232i\246\331\177e:\277\36\323*c\252A\17\316\221\201\356\366\t\365\27"
+"\f\330\3320\354\26l\266\371\364Bu\240\376p\217\333\327\246\357.QA\346\264"
+"\273Y6]\25\254\364\254\307/\343\22[\263uV\237\231\27\217\236\226\362\357"
+"\2621\2531JKQ\200\347\271w\320\273\260\246\312\221g\310*W\245p\77\372\213"
+"\310~1\370\'K\\d\221\331k\272\36\331\307~\311\204Q\262\244\301{>\344#\262"
+"\345\376\320[d\301\317X\37\307.D{\364lr\331\34YpA\222#\375\310\356e\243"
+"W\321\277\\\342\252E\327S&\31\374\203\270\373\244\276m43\302\350\235\210"
+"\334\33\243\211\260H\321w(\2026\260\320M(\272\245\350\3308\252U,4\7\5\343"
+"\206a\b\205\221\205\322\2751\306@\355(\242Yh:\n\326\316\246sQ\f4\224N\316"
+"\312e\371\34\3\235/\273\243\346\241\30g\240Q\262(\3353\203\f4H\26MD\321"
+"\305@#\345\310P\254k.\13\3\r\220-X\350m\32Q\265^d[P\\by\363i\361[)\255"
+"\364\335\304\325\252\3\316\250\245d\33:\217\2719\243\306\r\222bw\220}e"
+"\377\350\242.B\232\201\17\315\254vx\246\35e\336\375E.\201\216\230t!\361"
+"\331\31d\330v\3503\250\215\372V\334r\34\'d\242\370\242\13\304\344\275$"
+"i\'\365\177)\373\260hP^_\250S\37\25RN\326\335\177e\305\332\354~_\254\36"
+"%\5\245\242\r\347\33\239_\16\350*\260@\17\257\343M\t0b\337p\24\360\242"
+"`\264\21\227=\2137\375{\217b\2324FpF\5x\202\316:n4\7\373\275k-g\225\200"
+"N\254I\272\32^\24\356\240(\314\345E\237Se\346E\207zQ\355\13\347D\205\356"
+"\34V\304\213vRU\314\213\366S\225\307\213~\243ji\24\'j\23\266\222\211\23"
+"\265\213\252+\':)\310$N\324)j\231\234(\370\34\0\376\16\375\315\211\206"
+"\tr\212\23\r\367yO\34h\264\317\251\217\3\215\23\244U\251\323\351\17\354"
+"L\233h\272\201\37\67)\302\33\356S\250M\t\236N7QJ\374\225\324\377Z!\375"
+"u\17=\245>\362\301\32\317D6u\275T\250\210\333\351\260\321\343\357\240\23"
+"\253\25\242\356\246\2520\20\0 r\5=\244w(\240&\341\3)\26\0`s \216\257I\312"
+"\232\216\221\247\0\0\60c\367\272\13\333M\245\363\360(U\317\246\0 b\17\16"
+"\317:%h\256\237*\346\256\1\0\60\343\301\365\315u\337GK\77\67\343\375\13"
+"\27\340\250\25\0 \315\216]\322(:7\305\234\17\64$,\226|\307[,\5\302o\20"
+"\363\210\234\302\247\313zEk\322$\237\345\236l\312\302@W\366\237\42gD\367"
+"\257\22\257\313\373C!\177\334\327\321\277\36\324\241\220\361\302kz\252"
+"\326\300QI\362o\217!\370\251*Y\355\37)\330\200M\331\311\2410\371\365\303"
+"\200\366\257\223f\232i\246\331\77\260\77\221c\364!\226\365.\5\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265"
+"n\256\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3$IDATx\332\355\227_H\24A\34"
+"\307\177\267\367G\353\3648\377\240\334e\321\tivWz\226\205>\334K\27Ae\244"
+"`\330\203E\324S=\4A\364 \30\364\34\204Q/!\372 \t\5\321S\24\22\22\201Y\210"
+"D\304%V\7\225\210Pat\345)\236\313\257\207\275\231\235\335\235\271\273\235"
+"\347\375\275\334\315|\177\237\335\235\331\337|g\26\300\t\'\234p\302\tN"
+"\270\315\35\336\316\366\334o\211\13\205\263\210\370\324k\233s-\42\42b\332"
+"o\27\254D-\226\354\222[\362 .\333%\'e\311\212\214,\31x/K\272zs\262\343"
+",\37\225%\2419-K*\347TI\22*\37\313\222\20\377!K*WeI\250\236\222%!\221\21"
+"\220\256b\244\'\6\260\266\3408\236\275ETPA[\240\253&\326\321u0\f\0\260"
+"6\77\367f\356\313jIO\320<L\3261\215o\27*\213Vg\367/\344\306hEA.\272\204"
+"\302\350+\300\r\346s\326o\'#U\201@mt\340%C\16\213\346\3215\246%\244\343"
+"LFy\177\226\222\203\2\360\206&O(\306\3562\375\256\21.\327\222W\267Z&\354"
+"\3\1\247\271\340\202\b\204\6z\313*\16\267\235\210\17\254Z\212h\3079\340"
+"yz\331V\213v\221Hw8\340\30\5\337Z\2646\42\2459\340\13\375\205\371\314Z"
+"\210J\354\234\345\177\2772\233\253\31\314Z\262\231\277\317\364\25653\270"
+"\311\3I\370\351\343\314\24\320|\234A\236%b\310&\b\'r\210\210K\21(\rd\n"
+"\332\335\264s\363\323w\216[\370\377\321\302\335(\331\311\3355\215\373{"
+"\16s@\217\230\361\326\267&O\207m\232\237o\357\265\5\216\r\370\212\234u"
+"\272g\4\376Q\btw\2752Z\334\275\276\236\22\300\340\20c\216\2137\23u\356"
+"\342\357\21\0\202\2434E\35\216\227\227X\0\240\\\327\313\356\200Rz\345\324"
+"\244\211<\273\313N\311\305T\242\366\333\252\325\26:\270\335\266\212<\260"
+"N\264C\342\3636\17\244\256{\2373\212*1\30+h\235\rb\3609QR\274\371n\343"
+"\201\n\0\200\367(i\216\363\300v\356[\7\0\330F\233\37y9W\204\240\276\350"
+"\376pRB\373\204`-m\326qRF\230\265m\2u\'=b\345N\36\23{\265>m\252\345\263"
+"\260\211]\234\255\246;\352\376\257\230\317\b\315\363l\253\327|Y\375\220"
+"\242\326\33\316\5g\20\21U\352$\252vj\361\224\221\204\1\375i2\215:\267c"
+"\26\21\21ct\327\305\345\316` z\27\221\220\236\f3\220[\332\324V$\265\33"
+"\251q\200\317f\327\242\263\24\65t\347\246\'\337\221\345\262\22\2\200\16"
+"\23\67\301\354\34\2C\34\321^\335#C\347<[\354mY\16\226\212\21\323\234fz"
+"\307\215\366\357\33\62cSLu+\227\210o>\211X6\35_\342\362)\332x8\366\372"
+"\257\321\251\33\367\204\341g*\275\301\335\255\\\376`\265\2\253\253+\353"
+"\316\307\203\23N8\341\204T\374\7\66\213\311\3715\220\337w\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3%IDATx\332\355\230OHTA\34\307\177"
+"\373VWK]VW\2245\263VJ\333vK\255,\222\260CVP\31\31\31v0\350\17\35\212\350"
+"\24\36\4\203\316\201l\324ED\tQ\250K\207\16EDD`\26\42\35b[\254\26\322\220"
+"\16\211\221\265\253\270>~\35\336\316\274\331\367f\236\373\206n\275\337"
+"Eg~\277\317\233\367~\363\233\357\374X\0\307\34s\3141\307\376\245\271m\304"
+"\372\16n\371\271$\261\306uD\304\213\2661\327\0\42\42b\231]nD\343\360\210"
+"Mn4\303a\253$\227\366\310qx@\216K\355\223\343\372\345\3363\266I*/\3513"
+".)\356\301:\251\375\233\t\201\24wE\221\342\236xA\206\233o\6)\256Gt`-r\\"
+"V\3\60\273\360\77\253\234\313\322\203\266@\227\77\322\334\262\267\n\0`"
+")>\365v\352K2\2477\250\217\246\321`3\227J\326\302\224\366y\344\332P\261"
+"%\27\236C\241uZp\275\231\230\345\376\266`\251\327[\36\356~\305\220QQ\36"
+"]\303Z@\242\211\211(\354JQ\262W\0\336\322\334c\206\263W\240\257\32\344"
+"r\241\214w\275)a\37\b8\316\5\247E T\323%K9\334F\342\34\65\373b\304w\234"
+"\3^\240\217m0\371.\23\327]\168L\301w&_#q%8\340\13}\303L:\37\240.6g\231"
+"\277_\365)\223\364\246L\321\314\277O\365)S\177\260\312\3\211\25\321\327"
+"\231\260\360\361n\253\363\304\31\260\t\302\2114\42\342\\\20r\3\231\202"
+"v\327m^\3754\313Q\213\242\77\264pWr\21d\355i\376\332\335\35\2078`\236\230"
+"\311\257lh;[eS\374<;nNsd`\215\36\240\270}B\240\37V\240\273\345u\266\304"
+"\335\357\354\310\1\364\3651\342\370\355vk\205{\355}\4\0\337\20\rQ\243M"
+"\2059\26\0(=z\331\355Qr\257\34\177\202\270\'\267\332)\271\210J\274]\266"
+"j5D\77n\233\255\42\367.\23\37\247\77,\261\0\251\352\16p\276\242T\fF,\245"
+"\263Z\f>#\236\30/\337\215<P\1\0\310\77J\206#<p\27w\327\1\0\66\320\341G"
+"^\314\r!\250\37\272_\234\220\300N!XN\207\25\234\220A\346l\33@]I\17\233"
+"\271\223\307\304Z\255\247M55\213u\354\341l0\254\250\353\277b\354\21\352"
+"\343\354\350\264\361\261z\223\242Vf\365\5\347\20\21U\252$\252\326\265\344"
+"\25\220\200n\375m\26ku\256f\22\21\21#\364\326\305\357\373}\336\360=DB\346"
+"-2\37rGKmq\233\266\220\332\4\360\331\250Z4K\341\254\351\364\370\363\367"
+"\344\270,\4\0\240\331\300\21517\207@\20\7\265\255{\2245\31g\213\2751\305"
+"\301b\21\42\232\343\314\354H\266\374{\372\214\330K\246\272\225\253D7\37"
+"\7M\227\216\247\365\332):x8\374\346w\266R\327n\257\202\37\261\304\n\367"
+"\266r\25\371\312\24H&\27\226\235\237H\34s\3141\307\244\354/\300\256\311"
+"\242L]n\324\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0"
+"\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\177"
+"IDATx\332\355\227]H\24Q\24\307\317\316\256\253\371\261\254)\212\246\241"
+"F\232\355\346G\245\221\221\20\32Ai\244`\330\203E\324S=\364$\5\206\202\320"
+"\233\21J\275\204\350\203$\324\213D\17EDHd\26\42\42\261\211\231P\211\364"
+"P\b\231\37\213:\375{\230\275wfg\357\314\316\364\22\304\234\227\365\236"
+"s~3s\356=\367\177\257D\2169\346\230c\377\263\271\214\374\22\21\21~\333"
+"~\336(\0 \234f\27l\207bS.{\\\31\230\335\262\305%\257p\20G\354\24\370Z\345"
+"\260\351\263\16\336\200\326\246%\253\\e\204\2700\253\374\366X\344R\302"
+"\0\200\225\42\362<V\310\243\326\n\34\7\0\314\246\21\221\253\33\0 \373\255"
+"\2007\1\0#ne\324\f\0\bY(s\77\0\240\223\257{ \f\0\267\343r\251a\0h\320x"
+"\322\27\0\340X\274\2\'\0\254\355\212\362yG\1\310\351\346`\27\2009}c\273"
+"\372\0\314\230\226Y\r\340\211\'\326\177\21@\257\t\227\26\6\272\204\333"
+"\241J\6\352\2147r~\6\255\316\211\237\351/ L;\262\367\317tU\211\300\26\350"
+"\312\bV\325T\347\22\21\255\317L\276\235\374\264j\351\13Jz7\241\263/\227"
+"\342\352\262\324\370\3B\33H5\345\2\2130\264\26\23\256#\222\23\276S_\230"
+"\356\363e\6\332F5d\257\341\3714\250$\314Wj2\222Z\3278\331a\262\211\1\f"
+"\353vl\242\372\326B!W\32\211&\307L\330{\6\216\t\301Y#\220\362\370+E\302"
+"\223\317\202\17bc!\26;EbYQ\254<&v\231\205\372\4\340 \7\337\305\304*Xh^"
+"\0\276P\27\314\253\217\345\360\220v\316\42\277\237U\3276=\270\26\223\255"
+"\371\363\251\352Z\327\203[\42\220\237\212\374s\306Mb^A\221\347Y0\307&H"
+"\r\233\0\260XH\326@MC\273\213\13\266>~\25\250E\312\no\334\r\13\232\23y"
+"ZF\321\201\246:\1\3501f\22\262\313\353\317\346\332\24\77\357\276\366Y\201"
+"\fx\343\234\347\215\343\6\372a\6\272k^EK\334\275\226&\13\240\277S#\216"
+"\13\335\265Y\356\370\353HD\376\1\236\42\367V&Yl\0\222\256\253mwP\262\336"
+"9\31\363,<\261\333N\313\5e\26m\265\325\253\245\274\270=\266\232\334\27"
+"f\261C\202k\214\t\310U\367\276\240\212tc0h*\235y\306\3403\26\t\211\346"
+"\273B\4JDD\t\'\330pHx\207\25\256:\21\321\16>\374 \312\271f\b\252\233\356"
+"\247 %\247\314\20\314\344\303,AJ\277fo\353@UI\217\307r\247O\32k\265:m\262"
+"[\317\25k7g\271\356\215\252\376K\372;B\311\214v\324\254\177\254zI\221\263"
+"\243\356\5\347\0@\346J\42+\267\26O\42KhS\277f\271H\345vN\0\0\202\374\324"
+"\305\267\303~_\340.\300H\317\262\246\220\36ejS\353\225\27\311\225Dsz\325"
+"\342\263\24\210ro\216=\237b\333e)\207\210\252t\334\260\346\3440\20\304"
+"~e\351\36E9g\264\315^\261&\300BA&\232c\32\357P\264\374{;\365\330KMwKW\230"
+"n\216\24\306\34:\336\332\253g\370\340\341\340\233_\321J]\2647\227\276\207"
+"\3467\204\247\225+\305\277]\242\325\325\245\260\363\317\203c\2169\346\330"
+"_\331\37\13\340\2P\204I\200\335\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\3eIDATx\332\355\227OHTA\34\307\177\373VWmu[\377\240h\366"
+"g\25\377\356\226\232m\241\7\17\265\21TV\26\206\5\6R\';t\222\16\206A\267"
+"\242\b\243\bB\334\203$\24D\207\16\205\204Hh&b\35l[\254\26*1\17\211\220"
+"\345\37\\\37\277\16\353\314\2337o\346\271\33\4\35\336\367\262;\363\233"
+"\317\233\367\346\375\346;\277\7`\311\222%K\226\376\13\331\214]\316\254"
+"\344\345\271(\327\351\31\0(WM.\244\264\314!\42\342P\275\242\353\277\216"
+"8cv\3\371\323H\264\322\356\324\372]\210x\305\204+V\221\325\375<r\37#\210"
+"\270C\316e\254 \247\21\277\35\0r\'\20q\312d\302A\24h,\30FD\304J9W\215\210"
+"8|6\320\366D\300\3372\231p\34\21\353\0\0\300^;\302q\317lr.\23\21\217\323"
+"Va\77\313\3350\341\340\24\342,\33\337\334A\326j\270\3044s\366\227\301\330"
+"[}p\273\2778\355\373\373\311\5k\207Y\372\227f\305D0!\320\226\355\363\327"
+"\357-\0\0X\16O\274\231\370\274\30\327\35\224uG\371=\374\365|\306F\230\322"
+"8\207B\365\246\233r\336\31\224\252\331\204\353$\216z;\340\311t\271r\274"
+"\255C\f\331-[G[06 R\303\214HmY\242d\247\4\274\32\13\367\353\255\37R\264"
+"Y=B\256b=\272\311\260`\223\324\235\205\340\224\f\204B:e\246\200\333J\202"
+"\17\215\261\20\211\35\21\200m\364\262U\206\330\5\22\272#\0\203\332Y!>\32"
+"\20\21#\2\360\245\366\302\34\206C\223\206\3305[\377\375\242u\245\361\340"
+"\222a4\363\367\271\326\265\314\203k\42\220V\f\364vFMb\16\301C\236#\301"
+"\374\4A8\32ED\234\361@| \223\320\366\322\35k\37\277\t\334\302\371\233&"
+"\356j\34\236\263~\265\354\242\332\246\3\2\60I\316$\347U\5N\27$h~\216\235"
+"\35S\2\33p\230S\351\215\243\22\3770\3\355\365\257\364\26w\257\271)\16\320"
+"\335\305\230\343\364\265\206\\\373\306\357\21\0\334\275t\210\332]\223\32"
+"g\2\200rYK\273=J\374\231\223\35!\341\361\222DR\316G+\316\226\204r\265\202"
+">\\yBI\356\242\225\352>A\31k\2R\327} \251\16%\240\317\324:\13\345\340\13"
+"\22\tI\13`\36T\0\0\222\17\221f\237\b\334-|\353\0\0[h\363\203h\314%)\250"
+"m\272\237\242o\221]R0\2076s\5Cz\230\275\315\201\232\223\36\64r\307\16\313"
+"\275Z[6\325\316s\245\354\346\254\342f\324\374_\341k\204\2620\333:\311_"
+"V+R\324<]]p\6\21Q\245N\242\306\252\226\244\24\62\240U\273\233\205\42\215"
+"\3336\216\210\210>z\352\342l\235\333\345\275\213H\310\244\5\346An\306\226"
+"6=\20\233H\255\1\370\304\273\26]%\257\256;:2\360\216l\227\371|\0\360s\\"
+"\77srH\f\261\'\366\352\36\353:\303l\262W/\t\260\220\217\230&\373\221\326"
+"\247\267\177G\27\217\r2\331\255\264\23\337|\3521\34:\216\206\213\'h\343"
+"Q\360\365/\275S\27U\26\300\217PdUxZ\331\234\356,\5\26\27\347W\254\217\7"
+"K\226,Y\372+\375\1\310\357\5\304Z\232\20\241\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\3QIDATx\332\355\227OHTA\34\307\177\373v]"
+"-\327euE[Si\215\374\323n\271Z\26z\360\222\26TF\6\206\35\f\254Nu\350\24"
+"\35\f\203nA\20F^B\364 \tE\320\261\210\b\t\314B$H6\321Z\310b+R\2044\327"
+"M}\374:\274\235y\363\346\315\33w;\326\373\235f~\277\337g\336\314\274\231"
+"\357\314\0\330f\233m\266\331\366\237\232\223\253o\t\270\222|\216g\233\222"
+"\334\244\231\234G\210\270Po\360yG\21\61\36\226r\331\77\20\21\21\17\263"
+"\\B\3635\312\300~-\7\325l\3357\232\362%\234\222\361\42\261V\352\313\243"
+">\256\263\nS\316\245\245jZ*\240\245rkP\237\272\257\264\264LK\363\2221>"
+"\'\335\362\353\2769\342\313\226\200~U\313\271\311\370*S\3349\351\377(\217"
+"#\42^s\260\276\310\22\42b7\237\352\340\252\325;\27\336%\270\311\16\227"
+"}\237\372mo\262\177\323\34\322\bf\4:\374\341\206\246\3%\0\0\253\323\223"
+"\257\'\77\256\244\325\203\252\276u\344l\356|\336f\230\322\266\200B\33\364"
+"H\271P\34-\255C\302\365\244r\222\267[\202\371^oa\250k\224!\373\254\346"
+"\3211\244%\304\352\230\214\234\316\4%{,\300\353ZxD\341\264V\377jP\310\325"
+"\244\242[M\23\66E\3001!8c\5B)\375d\276\200+#\301\373\346X\224\304\216\t"
+"\300n\332l\255)v\201\204\356\b\300!\n\2761\305\42$\24\223i1\242\233\217"
+"\5hHp\4|b\316V\36L\210\16\fR|\242\273VypCx\322\220\223\212vg\\\22s\13\6"
+"y\226\4\3\31\202p|\35\21\61\36\204\364@fA;+wl\314~\26\250E\356/\272p\327"
+"\322\320\234Tk\376\212}\355\207\4\240\313\232\311*\256m9]\222\241\370\271"
+"\367\\\231\21\310\200[Ny\332\306-\364C\6:\233^\32%\256\277\243=\r\320\327"
+"\313\210\343\227\33\315E\316\315\377#\0\370\6i\212\332W\227\223\346\2\0"
+"\345\252\276\354\366+\351\257\34\177\214\204\'ve\262\344\302*\211vf\264"
+"Vk\350\340\2523Z\344\336$\211\35\64\67\232\'\1\251\352\336\23\214\42\337"
+"\32\fK\245\263\324\32|J\42Q\321|GD\240\2\0\220u\204T\207E`\275\360\257"
+"\3\0l\247\325\367\242\234\313\226\240\276\351~\nR\2{-\301BZ-\22\244\f0"
+"{\233\3u%m5s\'\216Zk\265>m\252\351uQ\311n\316Z\356\213\272\376+\374\35"
+"\241j\232\255\235\342\233\325/)j\261\341^p\6\21Q\245J\242j\267\26\27}\21"
+"t\351\275Y\252`\356\366\23\332\33\207\236\272\370\255\321\347\r\335\325"
+"\337\22\256%f \267\264\251\365\264h\37R\353\0>\360\252Eg)dp\257\217={K"
+"\266\313b\0\0\328n\20499,\4q@\373u\17\r\316iv\261G\22\2,J\236p\3161\306"
+";l\224\177w/\217\275`V\267r\221\350\346\343\240\351\320q7_:I+\17\206^-"
+"\33\225\272bw\t\314Gck\342\'R\256\257@\201\225\225\305$\330f\233m\266\331"
+"\3667\366\7u\336\303\270\25\64O\202\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3\225IDATx\332\355\227_HSQ\34\307\177\233:W\332\232"
+")\306\246E\23\262r+g\231\221P\24\255\202\322\310\2420\302 \352\245z\350"
+")\n\214\242\236\5\61\362%D\tqP\4=D\24\21\21\202\375aH\17\62\305l\224I\4"
+"\26A\313\177e\353\333\303v\356=\367\336s\347\271\275v\177O\373\235\337"
+"\371\234\273{\316\357|\177\277Kd\233m\266\375\277\3460\31_\2617\262l\366"
+"\305\303\341\77\326\226\253\32E\332\246\232\34V\270\313P\255\337%\317\335"
+"\0\200\271\276km\23\0\60\224\'\3135\0\230\331\341 \42*{\r\340\236$\347"
+"\232\7&\13\331\336E\1\204\345\300\343\0\312\25\3179\1\304\344\300\367@"
+"/\347n\3P \303\345\1\250\345\374|\0\325\202yN\375\300\42\42\372\300\371"
+"\77\211\310/\3\312\232\1\234%\242U\374&\23\321g\251\245&\200\333\234[\7"
+"\300#\5\236\2\340S/\301\30\60&\367\347\335)\340\275\233y\235\0vJ\276v\13"
+"\200\311 \21\21-}\0 &}A\242\0\60~\351\360\231~\0H\26\312_\356n\356Z\215"
+"{\255\34R$\311\270\326\34\213\307[\333>\202D\367\36\267-\256\377i\355H"
+"G`\tt\24\2076\327\327\371\211\210fG\6_\r\276\233\226\372\7k:\346\241\263"
+"\361SK\26L\321\306\257\20Zw\366\273\25\374\4S;\222\205k\315\314\231k\217"
+"\4\212<\236\222`\313s\216\3540\333GGOzB\242\206\233\341n\236Q\310V\23\360"
+"j:\34\325)m\276\372\324\200\220[\227\211.6l\330\20\3\7\204\340\250\31H"
+"\345\312#\213D]\6\13\366\31cq\26\333/\0O*\313\32k\332i\26\272!\0{\24\360"
+"\265!\26f\241\204\0|\252\36\230\241\77\361)!A\231\373\240-\255\32\233\21"
+"\25E\366\363\221\266Bj\354w\2662\\\240\374\235\227Yb\242.\353\4\13\372"
+",\202\3240\17\0\237\2$\7r\t\235S\271\352\367\333\217\2\265(\230R\22\367"
+"\227\204\346dV+\256\330\324\264K\0\346fi\225\226WG\216\372-\212\237k\375"
+"\205Q\201\f,\320\273\26\66\2764\321\217l`N}\277V\342:\2174I\200\336+\234"
+"8N\\\337^\232\263\3609\22\221W\355\32R\35\65n\311\4 \347E5\355j\235\362"
+"\231S\234`\341\330j+)\27J\261h\263\245\\]\247\274\334ZKI\356\231c\261-"
+"\306E\227d\1\25\325\275%x\213\42s0\224U:\313\315\301\307,\22\27\355wX\4"
+":\211\210\362\3662\267W\4n4m\346\313\24wX4\347\274)\250^\272\357\202)\276"
+"\r\246`\211\342\226\n\246tqw[\7\252J\272\333\310\35\330g\256\325\352\266"
+"\245\f\rq%\1779\253uOT\365\337\251\357\21\326\214\360\336!\375\262j\223"
+"\222Z\256\351\13\216\1@JQ\222T\272k\311\315\347\77\65\62\226\254P\271\225"
+"1\0@H\251\272\370\274\325\353\t\336\4\30\231\233\344^\244-\275\265\205"
+"\221\364\203R5Dcz\325Rv)\250\31\236\37x\362\206]\227o>\42\332\254\343\242"
+"\332Oq\221u\245\217\356\256fp\204O\366\360\214\0\213\207\230h\16p\243\275"
+"Z\371w]\321c\317\270\354v\236e\272y\77`(:\256\355\347\16*\316\235\236\27"
+"\77\264J]Q\345\247/\361\304/a\265r\24x\2279iz\372\333\234\375\361`\233"
+"m\266\331\366O\366\27\363Y\346 ^7)%\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0P\0\0\0x\b\0\0\0\0@\205**\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\4uIDATx\332\355XYl\224U\24>\335\3062)\25\265\255(S\204\221"
+"\264\300d\230\214\245,\25\211\270P\210\13\212\321\250<\20\241\225`\0\61"
+"M4R\220\304TEH4\266\3214\232\232\220(ASZ!\352\220\26\rAKJK\245\211\225"
+"\6HY\352\24\354n\351\2\323\316\314\361\341_\356>L\215\361\351~O\367\77"
+"\313w\317=w9\367\376\0\32\32\32\32\32\32\32\32\32\32\32\32\32\32\3777\22"
+"\24\362\264\24\200\277Q\345\225\224\16\67o\304K8uy\2017\327\345\4\0\350"
+"\353<\337\334x*\302\250\235+\37Z\2303\35\0B\355m\77\5\272o\25\360m/\375"
+"\30B\26\335\225>\242_\374\365\b\255\13\327\256\210I7\245\344/\224\341\350"
+"|C\357\377Y\324\5\346\252\371\36\275\200\nL\224&\08\313#2\335\215\315\212"
+"\34&\354\332\235\b\0\0\330\322p\266+\4\216,\317\303\13m\355\267/\273\17"
+"\3173\333\177\326\375\326\207\331KV\247\231\337U\233\42\262\331\371\324"
+"\3500\364\321L\42\364\6\354@j\372\315Fp]\262\241\234V6n\212\16%I\b\337"
+"1tC\213\330n*\370\21\236\310$\332\245\275\246\3603\221/\77l\250\312\370"
+"\25w\222\345k\276\235\326.\30\65\305\233\5\302\343\246\346}^\261\202\341"
+"\33v\263\332\215\246|\314\303\271y\3549\363\361\271\r\322\204\333y\355"
+")+\23\334\16y\323vi\342C<H\361\5Sy\355\32K\365\2+\337O\234\n8\227R\212"
+"\260DHU\2625/\177\230!&\232K\200\230<\306\271\\%\315\360W\2a8`6\346\77"
+"\305\20\16\20\223,\316e\2104\353%g\301\257V\243\230!l!\26=\234G\2104k$"
+"\353\267\315j\24f\322\342\273\307\354<\345q\36O\220\24\272$\204.[[DG\330"
+"]j\31|\323\242<<\202A\211p@\225\374\255\303\210\210\321/\247\2002\302\357"
+"\244\335\330\352>c\332-y\305\201\'=\251\235\77\264\3078.;dB\262\25\357"
+"\272\357\nM\b\375\373\305\23\310\355\367zIN{e\204\371\244\351c\t9\256\334"
+"Ey~_:#\273.\261\363\227\223v.\250\b=\217\77\362\340\235\242\370\255\rB"
+"\365\273\227^\265.yl\376}\35\370\357P-\211\360\216\365\33\274\314(\333"
+"\332R^\211\267\306O\25$\356J\262\276\361z}\331\263\263\331\205}\13\374"
+"\302E8\255\254\330ao\250\352@\213Py\252;bG\330\311~\256\272f\365\249\230"
+"/]\330\317O\352\222\2633j\371\235~@\261S\326M\206\357c\313+\372A\262j\353"
+"m\231\4_\211\315\367\252z/\357\212\237/\177\302rz\17\324\204\225\361_\22"
+"\233,\237\263\342\316y\221\334\231\342\341J\4\0(\264guOX\274\341\221\262"
+"\36\67a\221]rjE\13\262\251\357\231\25\203hc\32U\n\207\255A\375\36k\376"
+"\21_S\363=\203=\333\355\261,\260=\216IL\251Kf\203\372\252z\21\21\217X_"
+"kc\245=\203\276\42\27\250\b\367\42\42>m}\25\331\16\255\242\351\273\314"
+"]N\361hX\36F\304\306\4\2210$\224\2509c\314\201\262M\312\347\352B\304\350"
+"R*\2416\326r\246\316V\356B\275XV\247Z\21\21\77\'\202\34\342p\222\35\223"
+"\263\16\21\21{\211A\217G\340\313lBD\274L]\217\3402qx\2356\235\331\214\210"
+"\210_d\235\'\6\203\205\34\337\222+\210\210!f\276vRO\31r\340;\266\r\42\42"
+"\342\341$pQ]F\253\262)\327\354J\343\255Q\314t\222~\225J\323!c\37zvw\31"
+"\337G\34\0\60\233.\\\3435\353\347%\3@\252o\323\367\346\251\262\203\13{"
+"U\230\316\374\265\343\365\215\203\326GU\212\261\34\353\270\2\62\60\60D"
+"\202~C\334\211ay\335\271\271\325.\301;\306T\305ip\215d\352Ww\313L\33\350"
+"\232\352> }\232a\355\f\351\342\314\250\30\345-O\77\307m\214\234O\372y\233"
+"\350\321e\312\r\236\261\345\30\31U\344\314\207y\262\347\357\312\3623\23"
+"$!\'\336\276\77\366\3\3341w\316\f\'\300h\317\245\366\21e\307\316\334Y\323"
+"\323\1F\272:\316\215\353_\42\32\32\32\32\32\32\377!\376\1+J\374\255i\305"
+"\204\257\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0-\0\0\0"
+"x\b\0\0\0\0C2$\2\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\363IDATx\332\355"
+"\227OH\24Q\34\307\177;\273\353\214\230\273\326nI\344Vn\205ht\210\2\263"
+"=X\355\251\315$\315\300\2\221 \220\272\4B\247\r\2\211\16\321\245n\301\202"
+"xP<\344I\222\250\214\210$D\302$\373G\7\t\221b3\223Aliw\373up\346\375\333"
+"\2673\357\20\235\346{\231\371\375\3463o\336{\277\77\63\3\340\311\223\'"
+"O\236<y\362\364/\345\363I|\22\316h<v\42Y\t\0o&\'\247W\34\207\324\216\276"
+"DV\13g\3\345\37\177r\25E\255\237.\3\327\316\241L\317+dp\7\271\276\330\33"
+"\257\tmk\35\267\314\245\312Rx\300fW\233m\327Nkb\237\374\42|\303\206_0\17"
+">`\371n\13\360%\33\236\322\30o\324\366F8\270\221L\203[\322\230\355N\263"
+"\336\0\331\271\203\254\273\227\254{\215u\337\261\275\217Yo\25\263\215\272"
+"dzX\317\322\347\31:\f\0\326\212\356\332\327\337/\260\364\21\346\274@\316"
+"Bd\204vn\3517\231\261\351N]&\276j\216NQx\214\346\222i\373\276\3621\320"
+"\213\204\336C\223\211\370\6\204\220\235\222lw7\241\223b:\34\312\42\42\346"
+"\273d\1\303Xi\306\307\222\251\375\\A\344\t]\345\\\253\32\0\30\364\326\234"
+";\35\246f\321\235\216*w\r\r\0j\210\365M\2016T\247\r\32\0l\42\326f\5\232"
+"&zX\201\376\355\334\350\4\232iu\1w\372;5C\356\264I\315:w:\367\213\230\t"
+"\205\20\r\223\254\232Q\240S\322>\300*\22\247\347aJ\37\227\323\343\270t"
+"\201\364\260\317\204~-\205wp\235\260\r%\325\312\350\31\42N\20+H\253gZ\2"
+"\267\b\303\364\321\301\273J`\335D\304Wl\2135)\36\27\353\370iI\177LP:\267"
+"\213\2073\210\210C\374\b\31\246\345u2\251h<BD\314\t\257)\355-\203\3175"
+"[o%\243g\35\21\21[\305\204\326\77\356f\357\236z\222\205\2723M\33\306\255"
+"t\351\353}\26\313hDV$ZF\16\337/SQ\207\227%pw\371to\317\n\354\220c9\371"
+"\352\373\277\320t\357\256Via\327\21\7\225\373]\260\210\330\240L\367 \232"
+">\345Vj\42\366)\17\235@\304\32e\372\35\237\316|\77\21\325\320\4`\214.b"
+"v\344\234\302\6N0\301\271\347w\201#\\,\77\4\235\3514\232\17\7i>\16\273"
+"|\300V\0\0\4\257\332\370\26\245\235\271h\321mj1\262\232L\277\363\16Z\372"
+"3\277q\\S\242\301j!\363J3\331k\315\333(\217l%\17\213\255\310\77p\30\371"
+"\363\370\240s_4\264\275e\324\216\216C0\223b\t\317\352\16s\235\341\331\342"
+"\25\315\271\206\257\321\32\236\355\320\335\377I\202\241Z=\\\370\271\374"
+"\243\360_\377\230\376\2<B\n\26\345*\27\375\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2\321IDATx\332\355\227Mh\23A\24\307\337\256"
+"i\232\346\243\32#\21\265\226T-=\350%E(\212\224\212V\17\25\77\17\36\n\26"
+"D\n^z\20{\25\204\366\342M\20\4)\212\212\275\5\361\340\305C\21A\274\31J"
+")\42!\364PJ \2245-j\2431\376=83\231\354\316&3\267\36\366\177\332}\223\337"
+"\274\2357o\336\274\20\5\n\24(\220\226v\270\r\35\'\6k\337\214\246\330\377"
+"\23\300\333\16\3\302Z\5\0\24c\372H\2\377\265\246\317t1\4%}\346\2359\23"
+"\3374g\272\27\315\31\353j\315|=\221\247\346\f\r\24\315\31{\242n\314P\42"
+"g\316P\266l\316\330w\314\31\332\275`\316\320\360\246\207\261\3321\241c"
+"D[_\203Z\264mdY&\77\356\35\237+\1\300\322\354hB\7\330;S\207\244\345\21"
+"\273\r\260\3475\334Z\77\325\362\223\246\241\322\233N_\42\266\304\177\364"
+"p(\335\275\363\310d\231\275V\322>\304\276\n\7\42\334\353yV\240\252}J\42"
+"]e\304\5\371\2201G\325T\253\322z\255\311\234b\23\225B\336\203\236g\304"
+"+\327\300(\263\77\363 \367\331H\335\23\35>W\326e\357\345\261\232\362Lv"
+"\234_S\256=\25\341\215xo`\236\r\347\232\314\203\234\310)\2\63\317\3354"
+"%\3522|>\230\210\350\n\37\34\220\214\7Dn\204\24H\77\37|,\31\37p\343{\325"
+"\36\247\304\204\215\0X\374\336\302Me\352\t$CDd\23\21\365\210\317\371\254"
+"B\376\212\2473\2\31\26\266\222\262\306\212\247\213\342)\'<+\317mV\fW\205"
+"M,\5Q\5\221\\i\34\2660s\32nx~Q\361$\370PFz\213\376fg\2\332\312\260\345"
+"\357\322\257WQ\206D\364\221N\266\26\351\204\\\336h\215\24<A\204\255\341"
+"\311&\242_\6W\'C\266\244\376U\23q\244&I\23\371!\345\271&\362\247\321J\37"
+"\326D\350\245x=\253\273A#\42\310\345V\263\247U\3351\320\42y\256\343Q\274"
+"\361\366Q \343\376\35g\r@\322S\20\201u\337\315|\16 /m\272#\230\323~]\26"
+"\0\34U\6\300\t\251\233\271\32\200\17M\227d^0O\224\13Y\1\200\224Oy\303\264"
+"\342\17\307\27\0\230tY\307\32\314\214;\4}\16\0,x\42sWj\17\372\233\\\314"
+"\2\0V\303^\357\367\244\262\2608\226\264\211\210\254hv\216\345\205\262\304"
+"\335h\256&\225B\241,^\212qu\354\17\255\371\25\243\371\220o\346\335\256"
+"\253\200\312\311VI\35\236p\334@\351R\333\42\322s\353\223\24\274\251\203"
+"\356\330\252\263\320\212&c]D\316\306\367z\320\376\6\n\24h\233\353\37\352"
+"\35\34<<\234\304\342\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\316IDATx\332\355\227Mh\23A\24\307\337\306\230\346\313\3324\22\21"
+"kL\265E\304SD\t\210\324\212V\17\25\77P\360PP\20\tx\260\'\2137Ah/^D\20\204"
+"R\220Z\332[\21\361.\42\2107\203\224\340!HQ)\201\20\266\251\370\21\33\343"
+"\337Cgg\'\273\263\311\314Mq\337i\347\315\376\346\355\274\367\346\275Y\42"
+"_|\361\305\227\177[6\251\276\330sl`\365\207\326\3227\1\340\232\6`L\3\0"
+"\320\253N\314m\208\245L\3143\2C\332D#\244K\340\250.\361=\247K\334\327\375"
+"\252\342n\315\2357.\31\232\304lD3\36\37\367\223&\221\17h\22\317\273I\217"
+"\250\36&M\342\266\3644y9\2577M\364\311\374\217k\217a\350\274\234\36\233"
+")\3\300\322\324\310\26\25`\373d\23\202\24\207;%\314\266\247pJ\265\355\371"
+"5& \223g]\236Dl\311z\351A.\325\275u _a\303Z\312\203\330Q\263\200\260e\365"
+"tcCS\357\227\22\251:#\316\210\271\306\f\325\223\22\42\376\205\21\27[\324"
+"I\266P9\350\42\2\5F\314;&F\230\376\261\13\271\313f\232.\357Xke\35\372\264"
+"\345\253q\327b\207\330\314\212#\246\334\275aw\243kJ[\305A\213X\2248f\301"
+"2\323\222\250Ex|0\21\321\5kr\237\240\334\311s#(A\6\255\311G\202\362\236"
+"\245|)\213q\222/h;\300hX:i\317\215q$CD\24 \42\352\343\237\363V\206\374"
+"\346O\'8bw\315\262\f\261\367w\226\77-r\313\322s\233\345\323u\256\343[A"
+"TB$\226\355\303\26bFC\266\345\'5W\202\3472\302(\272\316\316\4\224%\303"
+"\266\337\243^\257\242\f\t\253#]l/\302\t9\277\326\36)\271\234\b\225\276"
+"\30 \242\237\235;\224\23\21\356\177\233\25\21\241\277\205\25\221oB\236"
+"+\42\277V\371p\257\42Bs|xR5@\303\334\311\225v\253\213\265<b\7\246M\362"
+"\\\306\303\270=z\315\2211O\42\334\0\220p\25D\240\352\31\314Y\0\5!\350&"
+"g\216{\20C\0p@\352\0\63(\277\3234\0\274ji\222\5\316LK7\262\f\0I\217\362"
+"\206\t7\21y\17\0y\207v\324f&\235.\3507\1\340\205\3133\267\204\353\301`"
+"\213\211)\0\300g\311\325\372\216P\26\336\215&\2DDF4;\303\362BZ\342\256"
+"\264V\223Z\251T\341\203\17q\271\357\367\254x\25\243\205\240g\346\335h\312"
+"\200\332\221vI\35\272j:\201\362\271\216E\244\357\372\33\301y\343\273\f"
+"\245K\257\21M\304\42D\346\332\327\246\377\353\355\213/\276\374\345\362"
+"\7\320\246\33\345\69I\202\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3+IDATx\332\355\227Mh\23A\24\307\337\306\230\246\261\325\246"
+"\221\212\330\226~X<\24\204\212Z\360\13E\253\207\212\237\7\17\202E\21\301"
+"KO\26<HEi/\242\7E\20D\20\25\275I)\336\245\210\322\203`)\245\24\t\342\241"
+"\224B)1J\325\325\30\177\36\262;\273\311\316n\2667\305\274K2o\3667o\337"
+"\2337\377LD*V\261\212\375\363f\370\270#\42\42\374^\306Bc\0\230\265\341"
+"\221\1\n6a\204%6c\333pH\42\261\244\20v\206K\344\265C\220[\35\6\271\214"
+"\333&#\345\211.\353\331\276\367\205\317\233e\211U&\0Km\22\35-0\273\313"
+"%2\16\300\373Z\21\61\256\3\220\257\13F\256\0\60\262\2420:\1\300t`:[\0\30"
+"T;\330i\2\334\n jL\200\303.Or\26`\237\177\42o\201o\355E\276\330\30\220"
+"O\372!W\201ti+\32w\200\31\237t\266\3/\242^\377Y\340\266\226\2505\341\252"
+"\266u\267\345a\277\356\2105\245\344kZ\37\277\256E\230\254\350\321\377$"
+"\275\306r\36n>\375`\36`j\270\'\224\304\256\33\312\273Eizo9UZ;B\251-\356"
+"\n|\245\1t6Z\345\257aS\366C\267\273\33V\257\331xa\301\32f\33|\210\365Y"
+"\33\210\333Q\17\345\n\36\263UK4\230\26\341V\230z+\220\231\322\t\322\27"
+"\2138Y\344NY\13\315{E!2a\21OK&z,\377C\17r\315\232\311{\252c\257\325U\342"
+"o\266k\325\357Yl\25353W\262\247\252\274q\17\262\302\356\206\203\32\371"
+"\6\236k\n\363\314\16S\324\250\323\370\274\260\210\310q{r\223\313\271A\365"
+"\206F_\245\303\236\274\347r\336\260\235c\272=N\251\5\235\2\309\333wN\333"
+"z\ni\21\21\211\210\2104\252\327y\247C\234\313\317~\205\354Q\276y\35\342"
+"\344wD}{\256\42\327\6\335\4\300T>\225\n\t\r\221\374\350\34\266\230\25\64"
+"\346D~\234\3654xw\213\373F\364\323:\23\204\266\26+\375\272\360z\225\260"
+"\220xx\244\312\312\305uB\216}\16F\322\236\42\22\342\362%\21\21\371Q\366"
+"\16\354A\276;\303\225!\221\2143\214\207D\276\272\372<$\362\353\223\32\266"
+"\207D\344\211\32\36\b\273A{U\221\27\202Vwky\265\2631\1\315s\212\2735\316"
+"\350\215BN\373\22\361\34\220\364\b\42,\372n\346#`\302\265\351\31\305\370"
+"\335<\367\0tj\13\220\211j\211\372\34\360\252\350GrB1\367\265\211|\4H\371"
+"\310\33\3^\242z\6\340B\211\267\327a\206JK\320\232\1x\351\251\314%\327\365"
+"\240\243(\3040\0\2631o\364A\367\37\235\336dDD\304Ht=\260\372B+qg\212\325"
+"$\233N/\250\301\207\32}\355\333\346\374\304\350Y\324\267\363.\346u@vGP"
+"S\307\3722\245\300\374\321\262\42\322x~\334U\274\376&#\324\337j#\221\\"
+"U-\222\371\274\224\257\\\177+V\261\212\375\345\366\7\273iT\204f\'B\216"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0"
+"\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\373IDATx\332"
+"\355\226OHTA\34\307\347=\267\375\257\265\32\226\244\242\231%\344!%\220"
+"\42\304(\355`\364\207\16\36\204\242\b\241\213\247\274E\20\350\241nA\21"
+"\204\20\25yJ\242{\204\4\321-)\221\16\22\22\261m\330\262\255V\266\266m\337"
+"\16;\363\233y\357\315\254\257CP\360~\247\231\357\274\317\374f~\363\233"
+"\337\33\306\2\13,\260\300\2\373+V\345\354\306\32B\5\367\'\311\255v\301"
+"\310G\37\2\310v;\264\232\31\0\351N\3\21Y\2\0`@%V\313\332>=r\263<\212RD"
+"j3\\[\255\322n\13\302\372I\253&M.\315\226H\202Z\35\324\252\245V\263\16"
+"\221a\371@\255/\324\372\244\335\313\23\261\210:\251\275\23ZD\213\324\225"
+"\312\243W\25m\'\'\316\31\242\334\234\6\200K\226\252\355Y\1\200\263\212"
+"\342\30fVG[\366\365\252+\220\235M\37\347\326\202{\362\37\233e\375\311\307"
+"\315\303\223\31\0\230\233\350\257\366\3l\31/A\261\371>{\35`\363#\270-{"
+"\240\342\222\306\240\263\307\21#\221\230\23\37]\357\251\257\331\270c\204"
+"\227\34\344\353\rDC^\0Q\341\365H\261\254\24Z\265D}\201\23G\25\261\226;"
+"*\324i\210\344\n\'N9o7\237(\23\362\20\366,\'\36\270\6\372\271~\307\203"
+"\\\321\224\312\262\211\271\272\334\225B\304j\3243\331^>\222v\235)\2057"
+"\352-\274\42\33\6\34r\267 \2465\201\231\22n\34\211:\17\303\202\31c\354"
+"\244\30\334\245\210\333(7B\32\244]\f\336R\304kB\234\321\26^\232P\6\300"
+"*\242R\351M\20\322B\77\213FZ\316K\35\362\213Z\207\b\351%-\243C\344\376"
+"\216Qk\232<k\357m\27\r\313\277\26m\5q\r\221Z\224\227-\314\235\206\245\347"
+"{yO\202\367\264(\275\370\17~\'\340\333Z\370\3667\371\257Wq\216D\375#\21"
+"\276\27\345\206\234X\256\214,x\202\b\333\207\'\2331\266f\372\333\232\221"
+"\357\262\273\301\'\222S^d>\221oJ\236\373D~~\246n\233O\204\335\247\356a"
+"\277\7\324GA^\2524\273Z\313c\362`*$\317\20n$e\3579!\303\346\347m\21@\312"
+"S\20\201\254\3610\357\2\230U\16=G\314A\3\321\13\0\273\265\1\310\205\264"
+"Dm\21\3003\307Or\226\230\333\332\215,\272\336\234\216\362\2061/\21{\3\0"
+"#.uP2\343\356\20\264\346\0\340\251\'2\27\225\347A\273\303\305\4\0\340}"
+"\330\353\375\262R\26^\r\246l\306\30\263\342]\223</\264%\356\264\263\232"
+"\344\27\26\226\250\3636\251\217\375\366\264\251\30M\205\214\231w\241\244"
+"\3\362\373+%u\370L\316\rd\216\257[D\32\317\277P\2027\332\344\216\255>\13"
+"\255x*\21c,\267\374\265\24<\177\3\13,\260\177\334~\3+.\25\373Q\322\270"
+"\211\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 \0\0\0x\b"
+"\0\0\0\0\266\314\257\262\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1#IDATx"
+"\332c`\30\5\243`p\1f\6\6\6\6VK\243\337\357\361(\222\372\366\377\377\377"
+"\255\2548\345\31\37\377\377\377\377\377\377\273\334\270\24\360\376\207"
+"\200\247\270TpB\25\374\177\216K\305.B*x>\21R\301w\221\220\n\306\240\337"
+"\204\334\3011\217\220\n\6\365\273\204T0\305\377%\240\202\201w-!\25\f\206"
+"\257\b\251`*\42\244\202Ah\37!\25\fv\237\220T0bS\301\242\303\300\360\375"
+"\346hn\242.@\16jF&\26\66v\16nn\276[\317\220\25\60z\t\b\213I\310H\313\362"
+"\303\5\3\66\42\305\13\3\353\26\274V0\21r\3A\5,\f\177\34720000\250Y\23R"
+"\313\324\16\313\177\377\375q\30\206U\1\222\271\177\356\20r\3445B\n\276"
+"\322&\34F\25\214*\30U@k\5l0\6\67\16\5\2620\206 \216\366\16\254\202\377"
+"\177\b\253\274\350fx\21\364\277\235\7\245(\16f\20\20\61u\343EQ\376v\353"
+"\345\267\237\336\34\204p\376\343\2\207\250\22\16\243`\24\214\2\62\0\0\177"
+"\316\315\331\26\205<\35\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0$\0\0\0x\b\0\0\0\0\277\'\17\310\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\36IDATx\332c`\30\5\243`\24P\21\60\343\226\22\260Wy\377\235\200"
+"\366\334\377\377\377\377O\302\253\204q\326\377\377\377\377\377\377/\204"
+"O\315b\210\232\377nx\324,\205\252\371oG\204\232\337l\204\325\374\267!\254"
+"\346\2339a5\375\204\355\272*O\320\315\277C\30\t\252Y\310I0|\36j2\20T\223"
+"\306DP\315f>\6Bj\336\2302\20TS\2165}!<*$\307\300\360\350\335h6\304\21\204"
+"\310l&\26\66v\16nn\276[\317\320\25\61z\t\b\213I\310H\313\362\303\5\3\66"
+"\242*ba`\335B\320:&b\334D\224\42\26\206\277s\31\30\30\30\30\324\254\211"
+"Q\317\324\16\317\222\376x\f\305\251\b\311\216\77w\210q\3705b\24}\245}8"
+"\215*\32U4\252h\270(\2027\3\270\361(\222\2051\4\3614\312~\303J\272C8\325"
+"\210n\206\27\207\377\333y0\252\215`\6\1\21S7^\24\361\267[/\277\375\364"
+"\346 B\340\77.p\210\352\3414\nF\301(\30\244\0\0\20\334\315\202\323E\250"
+"&\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 \0\0\0x\b\0\0"
+"\0\0\266\314\257\262\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\206IDATx\332"
+"\355\225=K\303P\24\206Ob\254b[\255\370\201\240\5Qp\21\4\205\272\24\7\21"
+"\34DP\364\7\210\77Bp\20\13\202t\321Aw\177\203Hu\257\4288H\21\25\77\66\301"
+"\311.\322J\240\326\307!6M\332\304\200\330E\356\273\204\223\367\341\344"
+"\345\\n\216\210\222\322\177\223\346*t\21\21>}\341,\0f\324\17X\303\322\225"
+"\346\355\217Q\321\266\247\337V\260\1\222^\1\316\253>\245\366z`\35\247r"
+"z\255\77\376\355\254\334[\317\235\32\77l\2P\30\22\343\310\42\246\334\1"
+".\0\270\217\212\210\266\5@9\346\4\66\08l\262\252%\0n\34\61&\0\330\264\347"
+"3j\2\354\332~\304\4\230wt\354|\6\230\256\4\270\4\336\207]\241BY\240\334"
+"i\25)\340\261\366\200\264}\340N\27\21\231\4\62F\375\344V\201=\21\211\232"
+"\220\362<\276D\31fD\213wI\361\321\373xc\203BN\335\251\372\233\245\351F"
+"\250\2455\34n\177xq\2\332\\\254\253\267o\240\77\336a\277\\<\252\2\2064"
+"\37\377\370\t=(C `H\371@DDF\222A\254\236\266\357\325\202O3O\300\321\367"
+"\343)(\344m\20Pl\314\34\24\240\0\5\64\32\b\331k\326\7\210\333K\317\273"
+"YS\251\362\2079\363\364{2\325\345\237\216\270~\305\313\22\353N\314\272"
+"\27c\376\344:\377\366zj\25\370\351\354O\346\240\244\244\364\13}\1D\21\6"
+"\60\324\213\264\322\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0 \0\0\0x\b\0\0\0\0\266\314\257\262\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1VIDATx\332\355\2261K\303@\30\206\337\\bSI[\253Q\251h\\\4\351\220"
+"A\4\7q\266\203\213\202\277@\177\207{\361\78\372\17\\D\335\34j\177\202\5"
+"\7\351\342\320\42\232.\25\203\242\341s\270\336\345R\32\3\322\342r\357\364"
+"\346\375\36\356\276|9\216\0ZZZ\377 \23\0\246\227\254\217\341B\241\302D"
+"\226\277 \242`3Q.5\210\250\343\3\0\354\27\42\42\242\232Z\17y\266\r\0g\334"
+"Sd\307@c\220\205&`\222\320\256\254\27e\346\20392\256J7\'\335*X\334~W\272"
+"7\351^\1\334\212\345\334\270\207\'\221\331\0\334\210\373S\345-\326\7\365"
+"c\276O\207\210\350\304P\347\260\321\'\42:\2`\0\60\252k\301}84a\337{n}\352"
+"\2236F\251_\300`V\316\316;N\351\261\253\2\306^\331]\254\254,{32<\270\214"
+"\1\13S\327\277n\301\262z\310\4,D\347\374\20\355d\261\254.\17\373~\312b"
+"#\1e\335\357vV\223\17Y\300\373d\346\240\1\rh`\322@N\30\'\5\360\204\231"
+"M\371\21\370\22\67Lsd}\341J^AT/$\256\342C\224\347\267j\305\4\336\273i\365"
+"\372\301\35\177\24045\3072\7--\255\77\350\7\250\215\307\230\16\315N\246"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0"
+"\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\332IDATx\332"
+"\355\227KH\224Q\24\307\317\2146\371(\37\225\206\217\4\361\215ZRA\24-\312"
+" \210\2242R\ni\23\203\201\30\21\264)Z\230\251\20\21Q\31\322F\250\215Q\202"
+".2\311(\313\260\210\242\42i\42\363Yj\352\370\32M\307\327\314m1\367\371"
+"}g\36\255j1gu\357\377~\277\373}\367\336s\3179\37\200\337\374\3467\277\375"
+"K\13\77\336\362\256:\356o\210\310[v\342\34\257\360\35\bL}\350 \2048\333"
+"\205\42\17\7%\305\205\3\314\377\352\235\26\332\266\332\34\3\0\300 >\343"
+"\n\2416\324T\226\b\0\0\241ES.ed7\216\20\331\336\232\203!\264t\302\325\31"
+"-X\215#\205\nCF+\32\226\t!\2048\77\356\13t\267\326\302\7\4\61\347\253\324"
+"@\17\33d\200\200\204\274k\3\62\261|\177\223\17;\33p\364\13\'\246JC}<\277"
+"f\206\214o\365\t0$\326\363\r\'\303\311\276 \361\317\234\322b\276Gy\5B\363"
+"-\352\226\275\b\360\346\270\3456\327\223\266v\306\224{s\\\327\371\221\376"
+"\374\310N\212,y\334\202\310;\16\327c\3359\0\271\3545\357=}Z\201\313\17"
+"\35/w\4\2\300S\306\234\362\200\234w\20B\310\f=\277\375\f\31Y\353\36)\231"
+"R\34\227{\301\5\367H\362\315\t\333\23\341\270e\f\231X\343\376\342n\314"
+"\312\332(\34\327\264\310\230\323>\337\375\26\206|3P\305\350\rif\215\324"
+"\275^]9\322\4\0\0\231\334m\356\271\177\330\224{\345\3510!\204\330^\327"
+"\344\205\30\370\227\315\4\273\1\22\257Ze\217li\231\341\355\303(\260\341"
+"\366\242\366\346/\363V\35F\34\261\22\17\66\310\302\203t\343\257\263\275"
+"\37k|\367\323\271~{Q\202:c\246E\363\212\240Gt\266\3313&z\2\'\247\224\327"
+"\224h7\212\21\77\62\204\230\242\204\'\355b\352\250>\255D\207\224i\t\371"
+"\244\22\245L/R\365\23\362\346\255Rf\263S\371\2316>uHL\206<\300#\303\36"
+"\355\306\37\220\220C\362\365e\242E\37\6k\5\42]\0#\277|\27\365\347{Yz\215"
+"P\17r\r\211>\273P\204\35\t\2314 i\300\216 Q<f\267b\236\367\\E\214\0\0y"
+"<\260}\306\220N\265k\4\08\300\273]\30\362\25Av\362n\37\206\364\353\221"
+"\270x\336\35\306\220!\321\214\243H\232\220\3061\304*\232\251\24I\24\222"
+"\rC$1\211\42\61BZ\300\20\273h\306PD$\351Y<\352\b9\204\42\42\178qD\310\341"
+"\24Y\362\275:\263Sd\236+n\342\241\370\362y\212L\212\220a\300\b\243\310"
+"\35\223\24\31\0\345[u\26!\232\275\24\351\21\322:4\t\200\342PF\0\260,(\373"
+"\256\263X\261\24\13\333\261\17\242xA+\32\336z\277\302<\271M\361!\235\t"
+"\37l\343\316\337(\2\65\206\210\350\325$\342N7\257\2430\244\217\215\312"
+"\27\360\34\277\334\261\310R\370\340Y9y\375f\252Y\217\230y\262\214\220\345"
+"J&\77\326#\255l\354\222Z\266\261\214\267\222\240%\22\34\254\322\16S\7\212"
+"\331T7\264H\r\339\246\35i\244\3\13\232\243Ig)\272A_Qv\321\241\16\223\222"
+"\16\337\260\22\6\361\330\2141:xW*\n\3\352\2518\226\206\235X\16K\277\217"
+"x]\34\315j\362\311-\370\345\313\354ee~U\266\21\300\270\271\232\345\326"
+"\336tw7\233OJ\310\\O\317\34\3574G{\250\365\315HEb5\33<\206\220\210*\rd"
+"\255\214\360\32w\202\212\33xy0\335P\34\204\374\25a\177<I\331\321a03\326"
+"\331\343\360\377\273\373\315o~\373\337\355\17\370h\340\34\301$@m\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217"
+"\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2fIDATx\332\355\230O"
+"H\24Q\34\307\177\2633\316\242\323*\253\253\345\366GC\27\303\376`\204AB"
+"\5\31\36$\t\352\242\35\222:v\f\42\202=u\211\202\16\236:4P\24DP\236\244"
+"\16\33E\204{01\20\213\30\350\266\254B-\n^\324\266\355\333!\346\315\233"
+"\231\267\373\206\366P\304\373\236\336\376\276\277\317\373\r\357\355\373"
+"\315\37\42%%%%\245\177Z\2328l\2656l\224\312\201\340\336\34QF>el\274\4\0"
+"x;\24\363\305o\3E9\335Y\200\253\315+\226\27o\6\220\225\322=\25\360\272"
+"\267\335\275\246<\200n\31\235\330D@\371A\235\210:\26\08\322\342o \320\334"
+"\203\317\0\200~\31=\0\0\263\27N_\232\26\314rWZ|\36\3001\42\42\322\217\344"
+"\3\364\214&\243\223\0\316\262_\273\236\360\364\35)M\347\201\25>\253\345"
+"\232\273\222\263\231\b\377\272S}4\367\301\237\3205\330\323\270\374qi]\235"
+"P%\245\250\315\\\373S\262el\252\b\0\357\256\37\320\245U\364x\242\243k\377"
+"\320\250\338\274\310u\213J\326\22\236wc4\325\276\243sww:\320\4R\257\6\2"
+"\311\227\37B\334\240\374\42\42\242s\202^\2313\242\342YQ\303\306\242\21"
+"\r\237\202X/C\273`\331\266m\77\377\352\303\257\2\0\2343\311\230\246m;9"
+"\317y\27\253\254\373>\16\77\1\0\205\203\314;\264\352\231V\25\376\26\313"
+"h.\3\260\371\215\216/1\363f\25\3748\313X\0p\303o6\225\231k\212\361~\337"
+"-%\350N0kX\214\367\362\33\24Z\340\6\346=\225\343\351\260\375\330\365\370"
+"G\236\230p\246\373\313\341\330#w`\230\262\352{\4v\332\333\30I\365\37\5"
+"Ap\215\215\32%\3703\301\301\242-6\322%\370\13Q\320\233\262I\202\177\252"
+"\215\313V~%r3\23\342\353\365\341\345\372\360J}8\352\303I\341\nW\370\177"
+"\216\33Q\31C\210\'j\177\23\320\4\211<>\302Fm\42\274M\220\350\311\234\364"
+"\356\220N&T_\3138\236\77ir\227d\216\305S}#\275\276\354\237\257\337\27\277"
+"a\372\367\213\251\326\276\363\350\260\177\215\277\344\234\322\326\314w"
+"\322\210\222\253\265\277\213T\355\273\255k\177y\337\225\224\224\224\224"
+"\224j\350\27s/=_\334\251\'\262\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\353IDATx\332\355\227Mh\23A\24\307g\267\311V\233\17c\232"
+"R\215-5\7\21Q\21\305\213\320\26\244\340\241\245\n\5\277\16j\17\342%\240"
+"\340\245\365$\202\336\274T<\212\b\36\265^$\42\241\364 \366T\20B\t\42\32"
+"\203T\255\244PC,\261mZ\237\207\314{3\273;Ivn=\354;\315\376\337\376f\336"
+"\354d\336{a\3147\337|\363m\33Y\233S\b\236:Q\373\2555E\262\n\0\231\240\6"
+"a,\2\0@!\344\35\211@\335~xgvr\4\226\2743Y}&\\\321g\2429}\306\30\253\351"
+"\357g\307S}\206\35,\3503\346\265-m\206E\246\365\31v\274\244\317\230\267"
+"\365\31\26\237\325g\330`\305\305\30\255\230\300\21\306\376~\362s\221\207"
+";`\350\274\359}o\36\0\340\333\243\321\270\247\\8\224\7\311\26\317\5Z\205"
+"s\266\2\16\253^l\32bW\36\24\366\261\25311\202/\345\306\366\357\212\356"
+"\31z\207\317g\32\21\23\230*\17\241\322\307/4\334lN\274\227\222x\0\27J\253"
+"\210\313\334Y\264\325\217@\221\313#n\342\0\306\335m\327{P\357q]\213\25"
+"\356\271\357\364L\341\16M\207\343!N\26v\42\61\364\334\261\353\t\324\247"
+"\335!\317\240/f\223_\242|\322\215\364\243\357\211\254\356\246\223nw#\35"
+"\344\214\324s\25c\214\261\33\350\376\262\356F\252\77q4.\375\30\327p\236"
+"\273\252\23{\200\336U\203V\351\245p\346T\b\211\241}\204\210\223\375\252"
+"BD\26\33\26\323\320\6\243*\204N\6\3460[\232[\344\265j\n\304\22\337\244"
+"\355_=0)\345n\252V\221\246\t\361\275t\n\tT\210$&8\222\360\236|\20\21\201"
+"}W\277(\344\16\216D\233oE\226c\34Y\367\36X\225#UR:\325/v\273\20\321\27"
+"F\32\264\\4*sd\271E\35\224\304_\34)Ku[Y\314\305\360\17\177\334\20\221\265"
+"+\333 \32-o\340\f\317E7\246l\321h\364\214\26}AZ\257\n\351\243\321+B\346"
+"E\337\242B\216\321\350\203\20\337\342\205x\243Bf\321\233\221\304\243t\211"
+"\24\237\314$\347a\371\313/\241\232r#)*\202\206\364\315\341<\372/\271\221"
+"\2538\270`\273M\6V\2745Wd&6\2649\347\77\n\\}\330\211\214\242g\257\323s"
+"\213;\312\216\242\35\2504\254cF\206\273\246\354\372c.\277V\374b\203\13"
+"\334yEV\257sqA\3311XX~\'hBc\222K\237-\365M\nb\361)\fX\2141f\rbm\235i\330"
+"\225\320\244\0\245l\266D\17\223\315Z\222\224\242#\311\247Z\364=\3\16(\337"
+"\357\2411K\246q\13PL\'\233\246\2\371\374\342\3210[\255\254l\372\335\257"
+"o\276\371\266\355\355\77\22\240\253\366\362pQY\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\2\344IDATx\332\355\226Mh\23A\24\307g\223"
+"\315V\2336\215iJ5\266\326@=\210\210\b\212\227\264\42\5\17-U\20\77\17\212"
+"\210\364\22\324c\352I\4\275\tR\361$\36\224\342\311\217K\251H)\36\304\236"
+"\n\202\224 \2425\324oZIC,\261m\252\317C\346\275\231\335\235$;\267\36\366"
+"\235f\377o~3ofv\346=\306|\363\3157\337\326\221\5\275v\214\36\354^\374\243"
+"5\364%\0\200\13\32\200q\17\0\0 \346\235\30\255\20p\3303\361\210\23\320"
+"\253M\224-]\2R\272D\351\200.q[7\252l\227\346\312\313\307\rM\342\341F\315"
+"\363\230\333\3114\211\241\200&1\26az\304\257\375L\223\310(oS\265\315\213"
+"mc\354s\336\177\202tv\331\320\351\335|\350\3724\0\300\334\235AOOJ\260/"
+"\13\222}9j\326\13\347H\21\34V:U3\304\266,(\354][ub\0;\275=\266\275%\262"
+"\271\357\25\324{\3622\274\3037\272S]\263\\\272\\\233x\35\22\232\211\23"
+"\245U\304\31\356\314\331\376x3\307\345\1\67\261\3\343n\267\353\35\250w"
+"8\t3\317=7\234\236\21\\\241\363\r\270\205\2035\271\322\27z\256\332\365"
+"8\352O\335!O\242/j\223\237\240\274\317\215\244\320w_V7\321I7\270\221Fr"
+"63\306\30\253\254i\b\335\37W\334H\351;\266\316K\77\3432\216sMub7\321\273"
+"d\320,\235\24\316\224\n!1\274\225\20q\262\237T\310{j\365\213ah\201\312"
+"\27\230N\6\246\360\265\f\374%\257UV \226\330\223\340\277J`a\341]S\315\42"
+"\r\23\346ki\25\22\250\20I\214s$\356\375\361AD\4\366U\335Q\310\215\34\211"
+"\324^\212,G9\262\342=\260\22GJ\244\264\252;\266\273\220E\361\264\252\21"
+"\221\366\13\34Y\250\223\7%\361\'G\nBR\346xI\374\315\77WEd\r*d\3\265\26"
+"Vq\204Q\322\224\277\245\20\37\320\244\217I\353T!\242\256zF\3104i{U\310"
+"\36j\275\21\342\13\274\20\317U\310K\364\216K\342n\272D\212-\13\220s\227"
+"\274\363\77PM\272\221$%AC\332s8\201\376\323n\344\34\66N\332n\223\201\31"
+"o\331\25Y\240\214\251\315\341H\340\354\375Nd\20=[\234\236+\334Qp$m\263"
+"X5\217\31\343\3345b\327\357ryL\361\307\206f\270\363\254\254^\344\342\214"
+"\262b\2600\375fh@c\230K\37\252T\357!L>\263=\26c\214Y\275\230[\'\253V%4"
+"(\300\374\304\304<}\f\327*I\222\212\212$\233\254S\367\3648\240l\312Ca\226"
+"H\343\22 \227Nx\255\223\315X\244\211-\25\363k~\365\353\233o\276\255{\373"
+"\17\351,\253\237}o\30\177\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3GIDATx\332\355\227MHTQ\24\307\357\233y\216\3458\223\237X\246"
+"\350\24-B*\212j\223\6\42\264\320,\20\372Z\364\5\321F\250Uh\20I\221;[(-"
+"[\4-\373\42\304\b\221\220PZ\b\205\310 b&a_(\230\3304<\77\306\177\213\271"
+"\347\336;\357\3357\363\332\271xg3\367\375\317\375\335{\317\273\357\336"
+"s\2061\337|\363\3157Of\270\310\1\306\30\303\306\177\f4\f\0\260\42\336\221"
+"[H\333\'\303+\261\37d\335\36\211\202\204@p\314[ #\222\300Z\324\13\322\t"
+"\325\306\3\271\211\203\274\357\345\251\364oON\42l\1\0\22\273\230\371:\315"
+"4\344\n\344\3\0`*\302\30\63\356\3\0RE\331\221;\0\200W\301\364S\33\0 \236"
+"5\234C\0\200\273b\7\353,\0x\230\205(\264\0\340\244\242\24\317\1@\243{ "
+"c\0\222\2733\264\3200\200T\261\33\322\5`\332\376)\32}\0&]\3029\n\240\337"
+"t\352W\1\364j\211\210\5ti\77\335#)\240Iw\304\252K\331\337i\375\374E\265"
+"\f\343\376}\264)\356D\343\177zG\32\357\215\1\300\327\276\326\22/\375\203"
+"Mq\365\266\230;m\346Z\316\251e\330,y.\353\22\313\343\320\330d\271;\321"
+"\42.\257\266\332m\321\355M\357\351\371\204\33\321\301;|\337KJ\315\f\227"
+"nd\'F\362\244f\322D\355:\342\2w\316\6U\325\234\345r\213\223\330C\353\256"
+"\310\324\253H\257\262\23\346\42\367<\260{z)B\373\215\321C\203\25:\16\61"
+"yng\352e\244\277p.y\210|\231w\363s\222\17;\221z\362=V\325b\261\323\371"
+"\232<(\234\351[1\35\323ur\177^q\42\311\37\324\272\242|\214\26\215\323\245"
+"\333\261n\362&\f1K\265X\316\250\16\21bx\247@\344\316~\321!S\242\325,\207"
+"\21\1jS\266\330\31\214\322\235\34H\311l\262\246AB\362\235\4\67\322\13\13"
+"K\357\272n\26e\2300\217\245TJ\320!\212X\306\2212\357\227\17!ra\337\364"
+"\35\245\\\300\221h\366PT\271\210#+\336\27\226\344HR(\245\372\216\25\16"
+"\344\267\274Z\365\310V\321Z\342\310B\216\202V\21\177qdIJ\332\212@\21\377"
+"\360\307U\271\262|\35\262E\264\26Vi\204\247B\323~\226R|\42&}&\313\5\35"
+"R#Z/\5\62&\13K\35r@\264>J\361-\35\2107:\344\35y\7\24q\2378D\232W\26\20"
+"\316:\365\315\377$5\346Db\42\t\32\312;\307\31\362\237w\42\227\250q6\343"
+"4\31\224\361,\307\312\2k\224\332l\216J\232\275\331\216\264\222g\207\335"
+"s\223;\226lI\333\\v\315c\306\0w\331\252\310G\\\356\327|\261y\23\334yQU"
+"\257qqB[1\204(\375v\210\1\r\372c2\35\322\237\244<J>3\r!\306\30\13\35\247"
+"\334:\344Z\225\30\362\337\316\374\340\340\274x\350\314V\222\3044\25I<\226"
+"\243\356i\260A\361z\17\205Ye;\205\200\331\366J\257\177x\315\222h!K,/\256"
+"\373\325\257o\276\371\266\351\355\37u\343\344>\332\220I\36\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227"
+"\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3%IDATx\332\355\227MHTQ\24"
+"\307\317\233/\323\321q\362#\323\24\35D\242\42*\312E\241A\31-\24\23\212"
+"\312\202\242 Z$\324*4\b\42\250EQ\13#h\23\24\4m\3126a\204HD8\13\221\202"
+"\260!\242L\302\324P1\231d\362\263\323\302{\356\275\357\2763\343\264\b\n"
+"\336Y\335\367\377\337\337\375xo\356=g\0\334p\303\r7\376\357\260\34J0\317"
+"\377sb\336\20#]\0U\374\b\236\346\tDD|\271\303c\323\257!\16\363D\361\20"
+"R\314\234\t*=\204\210\27Y\242r\21\365\270SDsG\21\261\202#rf\320\210h\265"
+"\27\0V\275F\304\17\354$/\220\211\336{\357\21\21q=GlFD\3549\272\347d\7C"
+"\336d\'\351C\304\355\0\0\340\335\32\65\210\247\26G\254D\304&\371T\372P"
+"\'\256\263\4\34@\34\325\235\334\363\3646z\252\222|\375\335k\241\367\215"
+"\335+\257\256\314\34y\327\37w\17\211\33\177\345\352\261\376\244w\316\256"
+"\313}\210\210_n5\346\245\323\337[\27\323O\312P\223o\271\345\354\213\233"
+"G8q8\345\22\13c\334\215\361\27609\321@\235\336\356\257\310\r\255\256{E"
+"\317{\223\21\255\242\303\360:R\312\7\204t65\321\343W\232\217&j\341\210"
+"#\302\34\364\352\252oP\310\rN\242\212\326]d\327KI/5\t\337\244p\256\230"
+"N;\355\320c\30\67h\260l\23\t\223s\301\256\27\220\336\341\\r7ya\233\374"
+"\230\344mN\244\206\274\273\346}\274\24\31N$K\2329K\t\n\0\0N\223\375i\326"
+"\211$F\250uB\3731\312\364u\211\373bW\311\235\266\344,er9Q\16\221bp\215"
+"D\324\227\375\314!*M\326\253a\344\6C\34\22V\351\226\362\213gQ\272\201y"
+"\6\t\250w\342\375\265\2640\255&X\340f\321\206\t\212\275\344+\t9D\23\13"
+"\4R\220\376\345C\210Z\330W\276\243\222\263\4\22J\275\25]\16\13d6\375\205"
+"%\4\222\220J>\337\261\310\201|WW+\217d\312\326\224@\306S\325\215v\361\233"
+"@\246\264B\221\255\36U\363\207x\234S+\313\340\220\25\2625>G#<PE$\207(\361"
+"\276\234\364\221\324\3128\244\\\266\236H\244Oj[8d\223li\225\324s:\20\317"
+"R\326\234\235\232\270Q\36\42\346\225y\244\271A\177\363\243\244F\234HD&"
+"AK{\347x\220\374f\'r\234\32\207l\247\311\242\2147\343X\231g\236R\233a\224"
+"\320\354\365&\322HN\261\351\234\23\306\224\221\264}\361\244y\314\352\24"
+"V\273]\277\235\242\270\366\367\13\363\230\256\236\22b\77[1\4(\375\266\312"
+"\1\2556!}\f\360\'\311O\311g\2406\0\0\20\330I\271\265;iU\42\7E\34\353\352"
+"\32\223\17m\251J\222\bS\221\304\42\313\324=\265\6\24\253I\2430+i\241-\340"
+"`KI:\377+\1\0|y\241l\230\216O.\270\325\257\33n\270\361\317\307o\202C\346"
+"\262p\225B\r\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62"
+"\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3"
+"\16IDATx\332\355VMHTQ\24\276\3579\316\3703N6\216\370\223\77\rQ\30\31\375"
+"\320&\320 $\27\212\5Ae\213\242\42\332\f\324R\203 \202Z\4m\214\332\265\b"
+"Zfm\302\b\221\220\310\225\20\3240D\224\211\224%\243\230\2142L\352tZ\314"
+"=\347\336\367\336yot\27\364\316\352\274\357\273\337\275\347\336\373\356"
+"9G\b\337|\363\3157\337\212[\211\365\263\274!\220\263\17\t\327\2339W}\331"
+"0\0,\34\264`\221q\0\230mwQ\204\322\0\0\0\335\272\42[\300\16\363\222\207"
+"\5\26\362!\205\215K,[\302n\13\320\216\21VE\230\n\315T\222J\362\332\310"
+"\213\222\327\302I\324\261\374 o\231\274yv/c\30D\215\302f\20\13\261\222"
+"\232|\201\275\253a\273\244\342\222\313)\267\314\2\0\3340tl\177\6\0\340"
+"\242\206Xha\264\355X\370\220\265\35d{\363\\\362\267\377N\376+3\214\315"
+"\214\256:zk\22\0`\346~_tC)\247+\5\232};\21(\26\316\361\f\330,{\3063\304"
+"\332\24\60\366\261\326]\321\213\203\336\237\334\276%R\337\365\6\277\273"
+"\335\24\3r\300\354nDZ\247$t\325[\361\266Ta\1\\(\301)\316Jr\332\222\344"
+"\2\323\22\356u*vb\334uV\274\t\361&\273\42\260(\231\333vf\bwh\332\210{8"
+"Y\330.\251F\346\272\25\217!\376\314##V[\340a\204\179%\35\310=\322\321\255"
+"\340\221G+\210\254\322\322\370\25\244\27709.KY\375\202\3663\346p\236\233"
+"\334\215\335Av\305\240U\232)\234\tNB`\3456\222\250\233\375\312I>\221\327"
+"\243\246\241\rF8\t\335\fL`\3467\363\304\6\327\30IP\235I\311\237B`\252H"
+"\212un\2255k=5\205\20Z\235\3N\242\2011)\211m<\371\240D\5\366\235\37\250"
+"\340\n)\211xoE\207\253\245d\23\2050+%\252\236\326\360\3\353\34\222_*\265"
+"\362\222r\362\226\244d\336\255\246;\3019)Y\22\\K\303\202\313\362sUE\306"
+"v*e\252\367Y\305\31\236\250&\217\223(\3601-\372\224\260fN\322J\336s\222"
+"L\22v\200\223\354#\357\235\2_\341\203x\311I^#;\242\201{\351\21\61Gf\22"
+"\271G\77\371\237\210\306\235\2228\25AC;s8\205|\277Sr\36\235\323\226\327"
+"d`\305\3139\42\63\327\260\264\331\210F\\\275\307.\351C\246\301\316\\\223"
+"\304\222\255h\7\62\256u\314\30\221\324\220\25\177 \341\27\314\37[\232\224"
+"\3449\35\275,\301$\3331\4\261\374\16\320\204\306\240\204>\7\371\227T\212"
+"\305g\2523(\204\20\301#X[\307\\\273\22\232\24 =:\232\246\217A\257\226$"
+"\316t$\251x\221\276\247\323&Jul\2401kL\340\26`:\321\350\231\n\364\373\213"
+"F\302b%\263\270\356w\277\276\371\346\333\77o\177\1\26\7\245\265.3 \20\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\64\0\0\0p\b\0\0"
+"\0\0t\332\fM\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\6IDATx\332c`\30\5"
+"\243`\24\214\202Q0\nF\301( \17\60\342\20W\217\326e8\277\344\36)F1w\377"
+"\371\377\377\377\377\237%\244h\232\374\37\n\n\211\327c\361\17\246\351\273"
+"\f6y&l\202\211p\237rD\23\255I\27\301\324\'Z\323\177\2\362X\5/\42\230W\210"
+"\17\bX8\374\377\245H|\360\315\206i\252%!\236\330\346\374\377\377\377\377"
+"\377\77M\214$%#\353\30\355\337\347\347^\37\315g#\260`QP!Q\313\2057\f\f"
+"\25\377I\4\336\330\363\23!@\77M,\f\37\356\221\250\345\333h\362\31\5D\226"
+"\260\332\21\272\377\317-%)\205\261N\370\373\377\377\377\377\77\213I\321"
+"4\3\226\341\362\211\327c\5\317\245\337\244\211\316O\tp\26g\249\25\265\1"
+"\321\232\376!gRb5]\306\312$: ~)\23\37|\363`\232\32H\251\250!\272\3766\217"
+"V\324\243`\24\214\202Q\300\300\300\300\0\0\61g\265k\276\236\b\312\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0"
+"\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\344IDATx\332\355"
+"W[lTU\24]3\235)\224\42\245@\312K\33\245\264\341\25\240\r\324D#!\240T\b"
+"\364\3\223&\366\303\37+\201\202~ \220\240\341\255\211!\366C\22\22E\t\206"
+"\324\30\2\206\267\245\32GI\304\212\200\261-$<\2\341\215\205\264\323N\13"
+"-\245\314\362c\316\331\347\334\231\271\243\367\323\344\356\257}\327:\353"
+"<\366\335w\357s\1\337|\363\3157\337|\363\355\177i\201\3776,{c\b\350\337"
+":\340a\346Z\222\334\351e/9\267I>\32\347E\262\232$\77\365\242\30\332F2V"
+"\340E\362\1I~\344E\221\327A2\232\377o\303\262\362\363s\264\277\225$\77"
+"\3144z\360\202\317~i\'\311\350ou\257\205\200\221]$\357\77\343.(\331\321"
+"I\313\332>yv;I\256q\25\214\331\365\204I\366\270\217\344\235\34\67EU;\323"
+"\333J\227\34\313\332Q\253\274\273\7\317\336F~Y\325\4\365\34\33\335\227"
+"\376\330\307\324\224]+\302\t$X\243\317\365mV\332d=\252\350\353%\6\234t"
+"C\201\365\351R~\267\42\243\23m\364+}\232\217S\25\3134We\243E\22\300xe\262"
+"\242\350\221\242\42\16x\257\365\206\222\323\362\'\315\314\263\321\311\3"
+"V\240\277v**5~\331\1\357#\311\16\275\265Y6\25l\326\222\3156<#N\262\365"
+"]\315\35\267\271\nY\375E\33>L\222K_\220\bL\261\270C\32\355\266_Yy\234\344"
+"\271\0\256k\326\252\27#$\224\216x\235 \311E\300~\315\266\207\1 \b\0KBz"
+"T\253\245x\245\2@\323\367@\263L=_$\213d\330%K\262\r\0\66\0\60Q\\(\336-"
+"9\275\21\343U\222\374\31\0\312\205\376K\223\343\315\353*5\222&\222|\31"
+"\0\n\205\36\310U\344\\#1\5q1I6\0\0r\r\77[\261o\33h\250|z\177\222\214\253"
+"\21\206\257V\307\37kv\323\243\235\245\245\0\216\234I<t\t\77NIr\5\351\225"
+"\f\332\2 \2761\345\23\31\251$\246D\365k\347\315\251\0\366\267\244H\206"
+")I0\205\tm\2\360TRt\260\203\f\2\210\245H\336*\6\360\315E\3758H\210\230"
+"\222D\5Q[\314\336\0\340\311\226$T\37\66\b\340\236Y3Q\24k\236\7\260\347"
+"\232}\0em:\377L\334\307J\233\353{N\306\225\32\276B\255r\301\252\311\0\260"
+"|<\200]\267\234`\302\256j\347\212\314\262\4@n\33\311\207c\222\332q\342"
+"\203\t\350\0\237\22\266\30\300{\5\0v\376m\365\17\361\316R{\3252\315\36"
+" \257\235dl\224\25\362\37\205~\3374\303>\215\235\7\66\223\3446\2739DER"
+"d\320\3RD\nFt\221\354\30nI\246\213\342\17y\373\300\27\62\343\302u\303\0"
+"\324u\332\25K\274\317\355\f9\247\':\325\223\322K\317h\356\256\243\373-"
+"v\2649G/\235&p\2553\21\33-\205s6)\376-\341\244f\321c$\253l\242L\27\377"
+"\201\362\344|\177G\24\67\6Y\360\20)\360k\335\33\37#\326\6\262\277c\206"
+"f\231\335\240\331\37FKu\210h\354@8]K\36r\\\363\321M\305\0\262\312\266w"
+"k\344\313p\372\273\305L+j\321\253\327z\345\341\341\n\267\353\310>\227\333"
+"H\343\4\67\305\2148\311\2337\223\306\77m\234\343~\255:L\222U\2417\352\357"
+"\313\370\336\310\372\302\fW\353\331\247\3@s)\201`aIa^\b\235\17.]\351\317"
+"x5l \311J/w\316\227H\362wO\227\377\bI.\360\242\230K\222\'=-\362+I\316\361"
+"\242x\235$Ox\372\2139M2^\356\345\227\'0\34\0;\375\77@\337|\313h\377\0)"
+"\241\247h*\345\3546\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2AIDATx\332\355\227AH\24Q\30\307\377;\316\272k\263\273j\266!n\n\246"
+"\24\204 u\220\42\62\302<\324E\23\202:\355\271k\'\301\16\21D\bE\267\300"
+"\203^\2o\202B\nEt\354\320-\22\311\245\245\203\326\202,([\273b\263\343\327"
+"\301}\263\263\273of\266\371\b\n\336\377\364\355\373\277\337\274\367\366"
+"\2757\363}\200\222\222\222\222\322\337U\213\244-|\351\202\271\33\370\211"
+"=%\42Z\r\7\244C[DD\2245\202\341q:\322\267`|[\5\247\\0\376\r\217\217\25"
+"x|\342#\217\17M\231\274\365G\27x<\316fy\274\226\266X<\342K<\36\347wx\274"
+"v\237\307\343\370;\36\217\321\202;\37j\202\327\207\200\375M\365jU\222\36"
+"\33\255%\34\211\36K\264o\346\244=5\2755\22\65\214D\346{\r>r:\231\354\351"
+"\353\355\217\210\266\311\25\207\177\263\243\353d\367\251To;d\266\16<\275"
+"\3421\273\360+\357\33\311[;\23\327\201\325\f\2003\227\345\17\262\346\1"
+"\17\273:\215\'\342\333@\23\177n\3\272\267/\267\253s*\177\361\234\235\334"
+"v,i\303{u\33>x\321\33/\376{\373\256p\205+\334M\335<<\311\303\373Yx\310"
+"`\341\21\336_w\202\207\17\363\360t\323xT\366\221\271\355\207\333ek\\\322"
+"\357\242\357\251\333\23AJ\322o\316\27\337\26\301U\311\340\347|\361\317"
+"\42\270\326P\225\267\25693|9\236\261\243[\365\'n\271\323\357\356\0\232"
+"\250\375\310L\324\32KD\224\373$\3345\227\255\235\2613\200\257N>\225%\42"
+"\352[\264]\335\245t\264\207\'+\335V\231\367\340K\42\42\272\203*>\353R\214"
+"\214\275u\246\3\313\333H\216\216\35\375x\374\0\213wmk\375\321z\241\f\344"
+"\255\272\361\253\371O\255\236\3\216\321\205\6\33.\3653)=\215\346p`\302"
+"j\350U\32\201+^\177eVb/\352Z\36v|h.!\27\33\60~\357\206\210\337\317\276"
+">\250\204\327\7\362\7\77K\277~\34\226\312\246yX&\42\3272P3\272b:\212\371"
+"\202\245*\36%%%\245\377[\277\1je\251\r\377]\372\342\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\2>IDATx\332c`\30\5\243`\24\214\202Q"
+"0\250\1\63I\252\5\354U\336\177\'\333\256\334\377\377\377\377O\42S3\343"
+"\254\377\377\377\377\377\377_\210<\335\213!\272\377\273\221\245{)T\367"
+"\177;\212t\377f\243D\367\177\33Jt\1773\247Dw\77%.\277*OA\250\375\16a\244"
+"@\367BN\n\342\373\241&\3\5\272\323\230(\320\275\231\217\201|\335oL\31("
+"\320]\216\257H\300\33\27Br\f\f\217\336\215\226\251\303\20 \307;\23\63+"
+";\7\27\37\377\315\347XU2\261\260\261sps\363\335z\206\242\335LITTJNV\221"
+"\35&\26\260\21I\336K@XLBFZ\226\237\1\2334\13\3C\217-\36\327\261n\301\353"
+"x&\312\374N\241v\26\6\206\255\267\30\30\30\324\254\261\33\364w.\3\3\36"
+"i\2043\332\341\25\201\77\351\322\f\f,\370\345\261K#\334\364\347\16^\327"
+"a\227F\362\3225\374\276\273F@\373W\374\332\277\16\276x\37\325>\252}T;."
+" A\231vQ\312\264+R\244\235\221\233\42\355\354\224\5\235\be\332\365)\323"
+"\36O\264v\16l\225L(!\355\357a\f^,\352,\b\246\272\17\60\2064\26u3\tj\177"
+"\2c\330c\261\\\213\240\366\33\60\206#F\33\232m\33rC\31\273\366[pV z\212"
+"\333 H(\357000\375\206\3673Q{\17Lk\377\377\377\377\3742Lv\33\216\250\255"
+"\206\267\0\356#\353\227\276\373\377\377\377\377r\313\340\262,\330\265s"
+"\300\255\377\3777\36\332\355bT\201\364\273#\30\20\332;q\364&\234\367 7"
+"\7\66<a\20\265s\206pZk\30\226E\302\245\2564]\371\364\207\201\341\315_4"
+"\373\21\355\37T\320\317\300\200d;\f\250`d\352^\254\272+\30\210\323\316"
+"\300\340\377\27C\32573\6\234\332\321\263\314F\236ih\42\r\2\247H\352\210"
+"q\270fz\302\330\307:w\376\2042]\224\337\374\374\362\355\327\347\177\337"
+"\376\374\376\375\357\317\377\377\377q\366\343\230\270\205yX\30\276\276"
+"\371\364w\264\3073\nF\301(\30\5C\33\0\0\277`\250\266\275.\252\217\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217"
+"\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\234IDATx\332\355\230"
+"\313k\23Q\24\306O&\323dl\36M\214\221bL\261\17\\((\n\6\241\250\224\352B"
+"\21\252\202\240\253\320\245\177\200P\260X)\224Rh\21]\b.\\\t\335\211\rj"
+"Ap\321\205(\350B\212\265\232Tqa\261\233\200R\223\220\232L>\27\311L\246"
+"\223;\257\f\202\302\37569s\317\375\335{N\346>\207\210\213\213\213\213\353"
+"\357\312c\346\23\210\210Pk\263\345%\0@9\324\36~\35u\275\363\264C\37\202"
+"\242\2516\350\316\202\212c\320y\342/\2334*a\247\370\30\264Z\26\234\321"
+"G\32\\:[\377\235uD\7\312\0\200B\37\211\231:\177\302I\342\257\1\0\331\20"
+"\21y&\1\0r\304>>\16\0x\354\255\77]\2\0|\260\235\376Q\0\300Mu\264\34,\3"
+"\300\234M:X\6\200\363\232\222\3507\0\30\262\227\370[\0\245\376me\276%\0"
+"r\324\16>\1`M\77M<w\1|\264\221~\n\300\23\261\265|\24\300\35K:T\6&\230S"
+"\354\230\f\f[-\27\311\30\25\327\330-G\366\21\226\371\2\313\245\33\66\202"
+"\267\303/u\206\273\262\33\354=G\364\371\245@ \234\373\276\rO\365\305\343"
+"{z\222\275~\245\354BF\343\77\27\211\355\356\336\233Hv\21\313-\22\315\232"
+"\255c\35OM\203\27\334\345\356\22\27\211\236\345\210h\377 \273!\371\1\221"
+"\211\273\31\306\264\272\247\2148w\23\211\346~\266\273\31S\365\263itl\267"
+"&\245U\363\354V-\360\2429^\374\367\336;\3079\316q#u\273\303\343\356\360"
+"^W\270\'\340\n\367\273\373\353v\271\303\17\273\303\323\266q\211\265\311"
+"\\\266\302\177\250\347ZF\275\343\226\243\356\247b$\30\365\356[\342\353"
+"\212q\212\321\371\1K\374\223b\fy\365\265|\213\232\207\235l<\247Z\27\365"
+"#n!j5w\210\204\212\301\235Ux\4`\343\275\342]4x\2657\324\23\300W-\237\370"
+"\2\0=\363\252Wd\343\222\332=\344\364\216F\334\3\17\1\0W\250\211\317\30"
+"\\F\206_h\217\3\13\353\24\77\331\270\275L\215\323\374U\325\2652\271\262"
+"Y%\312\313\272\376\247\301\326m\42M\357\212\6Z&\365\34\223\36#{8\321\210"
+"\334R\253\224\42C\\\77e2\301{\272\222[\2217\216>\373Hg\256\235U\354W3\317"
+"\267\32\346\351\376\374V\241\364\373W\255T\255TjU\0\206_\215\204@,(R1\277"
+")\363\33\17\27\27\27\327\377\255\77\206\2\341UJ~\17\f\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2tIDATx\332\355\227\317k\324@\24"
+"\307\337f\323fk\326m\355\272\262\272\356Bm)E\n\212\207\242\24\25\251\25"
+"\364R=\bz*z\363\77\20\354A\nE\26\24O\n\36<\t=)\264\240\5\241\207\236<x"
+"\264\245\350\242\210\320\37\242\1e\353\206\326\335\364y\310\316d\222L2"
+"\221\271(\314\367\364\362}\363\311\274\311d\222\31\0%%%%%\245H\245\303"
+"V\327A};\350e\213\332v\242\373e\236#\242u\302\347\345\226\20q}8\1m|CDD"
+"\274\300\322\266\353\235\22\343\217\334\226\350\30\236\267\324\366\354"
+"\264\360Q \3218\365\366R/\\\276\346\2774i4D\243^\32UD\270\367x7h\264E\243"
+"\357\302\261/\222B\363\236\367\205x\206\20\317;n\313*\343\r\266\351\233"
+"\tf\256\262\216\2108\225b\275\343uD\304\33\234\326\251\2603\324o\275\263"
+"\3\23\62\\\376\272\274\243\326\250\222\222o\311h\351\16#\263\'\327\375"
+"a\223\333R\323;\215\214i\346j\33>|\344H\241p\250R\356\243\37\203\313\363"
+"L\376RO\376@\361p\251\334\r\274\264\16p\377tLu\35/c\213\327\344\306.\211"
+"\353\0\257j\0\608\312\277\221\363\324\375\334\215\n\372\321\356\321\277"
+"\301\304\337\247\1\364\370<\77\355\325\324\372\30[\35\77\315\fi5~t\253"
+"\2\274\21\2177\376\275yW\270\302\25\36\245\242\34^\220\303\373\244\360"
+"\224)\205\33r\217n\277\34~L\16\237L\214gx\77\231\253\42\374\7=\373p\332"
+"\235\24\276u\77IP\342\264{\42\304\327Hp\226\323\371Q!\376\236\4\347B\307"
+"\275\316\5\346\242\227\217\327ht%\370\306\315\355\23\255\35\0\255I\376"
+"\340\315\234\77\361\2\21\67\227Iv!bj\357\320\35\300g\226/}BD\254\314\322"
+"\254\36q\366\246\335\2433\331\325\256{\340\31\42\42^\3\17\257F\34\304\306"
+"\26\331\355\300\334\32\24\316\214\271\27\63S0{\235\246V\246W\352-\0\313"
+"\t\364\357\355\177\374z\b\300\364N4\20Z\324\17\270\364mH\206\3L8\241V\366"
+"\bD\342\301%3\237}\34p\356\366\274M\266!\'\23\60~\353\42\211\337T_\223"
+"\243\353\371~k\347\227\375{k\327n5\233\273-D\344\343\0\240\231\371\254"
+"\16\r\253\356\250\23\217\222\222\222\322\377\255\77~\226\242\314C(\b\23"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0x\b\0"
+"\0\0\0\234|^\35\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3*IDATx\332\355\230"
+"OHTQ\24\207\357\33\323\30gt\304\f\311\314\f,+\377\200X&\231\31\24-r\21"
+"\224A\5\22\26(!\32-B\202\240e\30A\33Wn$\42\27\22\265\220Z\270\22\241\225"
+"\265\20\31\302ED\205\33\33\254\246\230\26\203|-f\346\316\2337w\336\273"
+"\367\265\t\232\263\31\270\347}s\356{\277s\3179\357\tQ\264\242\25\255h\377"
+"\211\225\30]]\325\327\364\355\267q\2141\200\353\206\2205\r\0\325f\324\323"
+"\24\305Y#\352Y\232\342\244/*Y\346\207\342\204\37*q\314\17\365\330\317\16"
+"\243{}<\215\344\200\345\203z\22\364\241\327\247C\302\7\65\34\360A\315W"
+"\ns*vT\370\240&TG\322\365\231V7\b\361y\263X\313\376A\263Ds\253\332\363"
+"\202\324o_\215\302\'\304\4j\313$\357\222\312\27\360\267\311\300_\334_\325"
+"\230}\7[\375AG\246\6j\356Jo\342R8\353\330\25\317b\227U\177\335\237v\256"
+"\346\226\206\375Y\354\200rGI\0\66\234\5\357\221\304.(\357$\n@\223s9(\261"
+"5%\26\3\230\316_\237\224\\\243\202\332\6\200\242\246\354\220\330\214\2"
+"k/\20L\210\327\222\13\347;g\1\352TX\263\304F\204\362\316W\324\262\177\220"
+"\222\346\345\316U\200Sj\354\264\f\327\353T-\6$\13\f#\201D\6\213:<\7\1\356"
+"\27J\316\21\31\256!\3271\7\260\263\20\26,\240A\b`\271\360Y\230\222\\\310"
+"\276|\r\240\2470V\253\324 \365@\334N\346\222J\203\26\200\t\267\23\333&"
+"\303\331\366\364\322s\322\262\326\3635\b\3,\271\27\210~\31nOf\351\6@\227"
+"\307X\232tj`\305\225\351\346\260\3332\\\271\355\310\214{\225\261\260S\203"
+"W\0\21\317\3627\223\253A\5\300\202w\325\254\317\325`\4\240C\243\332.\333"
+"5\260\342@\\g\330:\42\303\325\13\321\1\60\254U\333c6\r\26\0*\264z\302\200"
+"\f\27\214\0\314\353\265\222\322-\251\301\30@\213f\13\272\'5H\0\233\272"
+"\323g$\247u\16iw\274\347v,\244\215\355\263Qs\6\r6\232\305\232\r\260\36"
+"Im\230\214\343\1\331\224\257\30\215\1\203Rq#l{\232\2325\234:\36\270\364"
+"\177\27K5\327u\313\20K5\327\213\306\263\321\20@\231)e\305\200I\343`\307"
+"\1j\215\261(\260hL\265\231\246c\312V\24\35\\3\225;\275\256*\257,\315m "
+"\233\300{\217G=\370\35X\334m[\272\3\320\352\336\232\336\244\263\366pv\226"
+"\325\250\373Sy\7\62\260\346\375}\243\42{\374k\354\203\354M\367`g\262X\372"
+"\35\376<\300;\217\324\37\3051Fv\2lE\264_\37\276\376\22B\210\356\267B\b"
+"\321\365\303C\262^\31\354\241\20\302\32\325,\304\345\22\213u\326\235\373"
+"\b\300-\215<\232\314{_\322\372$U\262\232\13\305\3335\333\331\202\2352\370"
+"\376\322\275\222\271\275q\315\217\16iUC\215\r\301\315\215/\77\213o\335"
+"B\374\1%\177\264\370\326\225\3040\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0:\0\0\0x\b\0\0\0\0\206@\276\223\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\3\27IDATx\332\355\230OH\24Q\34\307\337\352\372g\335\315"
+"\31\327t\335J\245\320\324\320\n\332\250\274D\207\205@R\242\355PA\326\241"
+"\240C\335\242C\207\216y\210\202\b\n\202\16Q\340!\n\304\350\242QQ\366\17"
+"\313$\21\311\277\273\272\266\262l\256f\273\233\271\277\16\65ofg~\357\315"
+"\314\6Q0\277\323\227\367\235\317\274\2317\357\375\336\357\r!VXa\205\25"
+"VXa\5\32\66\205\24KDA\24DQ\270\22\64\210V\234\27\5Q\24\304b\332X\35\64"
+"\330q\23\250\243\312\20\227\223\375\273\376\1j\'$\321O\b)\254,\316\372"
+"\36\271\207\277\233|WE\334\316~\230\372\262\37\246\271\354\321\324\337"
+"\3738\377\35j\327\273\300\225G\342i\323h\316\236\266\346:\27!dz\350i\327"
+"\20\357\376-\231\263\311v|T\271\20_\264\31F\275\275\352U\334Sc\fm\bi\22"
+"\0\304\17\30Ak\302\200D\372\264\37609\37x\t!$\366\360\335\f)\337\276\317"
+"-%\262\253pM\257\327[\0\0\221\223\371\277\f\307\331%\311\371\321\252\203"
+"\236\0\0x\346\221\255\306\31\311Z\330\300G\243\0\320\353Pz\265\363\222"
+"\327\227\313E\1`J\3104\3\3249\243\207\372\325\356#\311\371R\306G\2735\256"
+"\217z\35|t\227\326~Eg\206\310[t\203/\265mw%Q\334\316C;\221\266.\252\332"
+"y\17\334\204\335o\234\332\365\354^\347>b\255o\250\332\313F\373\1k\35\240"
+"\312\317F\7\320\1\30\227\77\24\33\35C\321)\252\312\3271\321I\24\215\312"
+"\262\206\211~F\321\230,\253\230h\fE\23\262\3640\321o(\232\224e\1\23]\326"
+"\313\353N\223\250b\355/1\321\42\24-Pm\3059:\27)B\224e\204\211\226\242\250"
+"[\226A&\352E\3215\252\351\206\242h\302$\225\362\274\n1\321:\24m\220W\26"
+"{\372oC\321F\252\36\263\263\304Wl\210s\27\251\277\205\335\253\263\31i\364"
+"\271$\365\351\3\'\255\35\3042<Uwxi-\352\320V\372#\222\231\252\342%\323"
+"\322c\232\246\335\33i\246\rr\263\377\254K\355\366H\326\362&\235\355J\275"
+"{\267Q\347\206\336N\227>\222\341\255\235\225\214H\31\27\235\6\200\324~"
+"\205\265\372=\365\2\374]\375\320\n\0\254\\\244\303\274c\214Z\327\365\312"
+"\220\313\0\0\20\276\260\325NHI\353\3754uz\363\365\320|i3]\216\305\225#"
+"\360\304\245_r\225\215`%Wg\221\221B\257\342\255\6\\8e\260\274,\354He\200"
+"\311\233^\303E-\251\2764E\213\264\347\347<\274\243oK\267\346\374\272~s"
+"\245\223$\347\207\207\27M\27\360\23\23\3269\307B\263B\363\260\331i\f]E"
+"\225`\26\225\363k\275\271\'\317;J\317A\20\362\33yd\33!\356\200]\360\324"
+"\356t+\233\303\257\'#\361t\354\236\351\237FR\f\376\233\307\374Q\37\313"
+"LX\377\36\177\307O\34*\ne\301\271J\332\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0x\b\0\0\0\0\234|^\35\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3aIDATx\332\355\230OHTA\34\307\347m\177l\335u7\314("
+"M\255\350\217R\32\225!\226HA\177\16y\b\372\3\25Dh\220\204Xt\210\b\202\216"
+"a\4]\354\322\305\233\7\221:D\35\244\203\b\235\252\203\211\204\207\210\b"
+"#t\221Zc)d\371tx\273\363\346\275\235\367\336\274\272\305\376.;|\347}\336"
+"o\346\375f~\277\231\25\242le+[\331\312\26d+J\224x\355\312_^-\2711\366+"
+"\3605k\306\200\314~\227\226\232\0\346Z\2\250\212y\08\241R9[;\350\217=\266"
+"\237 _\341h\23\5-\267\302w\246\24\355\270\324\252\244\246\f3\346\302\22"
+"\262\325,[\325\262\325\350\2079\237\353\253l-\311\326\202\357\334^\25\7"
+"\264\316\321>\27\265\n_l]\336~bP\321v\26\250\336\200\b4\316\1\334\265T"
+"mo\26\240G\225,/g5o\313\274\317y>pK\303\267\351\337\345-U\266\377\320,"
+"\321\344\223\311\236b\377\36\256\321\364\tq\33\275\25\323\305\244\256/"
+"\366w\203\214\375\303\374\326\16\250#\310w\307={>VsG\366\346\316%\235\216"
+"\332\254\203\235\327\275\272\273\3209\35w\311;\34l\247vD\313\0\314\257"
+"\366\350\17%vZ;\223\31\0\266\227\2245\211\315j\261\f\300\223R}Pr[4\324"
+"J\0R\232\204,\261a\r\266\307\307\231\20/%\227,\355\34\1\250\323aM\22\353"
+"\23\332\231O\351\303\376Q\206\264d\355\\\48\242\307\216Jw]\336\250e\200"
+"e\237\42\34\313\25\261\31OO3\300=\277\305\331\'\3355\272;F\1\326\373aq"
+"\237\30$\0\336\370\357\205!\311%T\3712@\247\77\266A\33\3\373\203\4\355"
+"\314I]\fv\3\334\16\332\261\255\322\2352\246g\0\325\201\33}\2564\6I\200"
+"\311\340\4\321-\3355\24\245+\0\355!\347\313eo\f\254\254v\271y\354\246t"
+"W\251l\231\353ai,\351\215\301\13\200th\372\33v\307\240\n`<<k\326\273c\320"
+"\7\260\317 \333\276Qc`e\201\254e\200\35\220\356\352\205\330\7p\325(\267"
+"g\224\30\214\3T\31\325\204\263\322]<\r\360\334\254\224\254\312\313\30\f"
+"\0\3546,Awe\fr\300\242e\210\245]\245\263\307\270\342\215\251X\302\30\333"
+"\252P\243\21\n\354\214\2035E\300:%5oE\300b\262(_\210t\f\270$#\36\t\253"
+"(P#\21O\35\367\3\352\177\200\331\305u\316\212\210\331\305\365L\344\263"
+"Q\17\300\352\310\'\252\214\347>ff\207\0\66D\306f\200\211\310Tk\324\345"
+"h\333\224\246\202\33.\345\266\260\247*S\253\334\5d\21\370\20\362\251/}"
+"\7&6)\322-\317\245^W\232^\27V\355.\347,k\220\367\207J6dl6\264\352*\377"
+"4P\243\36d\257\5;;\346`\233m\345\24\300\273\220\245\337\217\347\30\331"
+"\6\220O\33_\37\26~\n!D\307[!\204h\377\21\22\262.\351\354\201\20\302\352"
+"7L\304\225\22\313\264\325\235\374\4\300\r\203u4Xr_\3525\372\247k\332\r"
+"e\367\30\226\263q\225zd\236\7:\246\212\323\273\2362\275d\332\347\323-\215"
+"\361\305\371/K\345[\267\20\177\0\242\327\257\168je\217\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0x\b\0\0\0\0\237\313P5\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3kIDATx\332\355\231KH\25a\24\307\277"
+"\353;35E\245\250\f*{a)\21\331\13M\212\300Eb\24\30A\220D\220.\42(,\202\354"
+"A\13\27\265\2106\265\211\b\42\202\222\20\22J*\242\7!\21\256$\42\304B\202"
+"\22\f)\271f\361k1\352\234\271\316\343\233\231[\213\232\377\356\2369\367"
+"7\347\34\347\236s\346S\251H\377\202b\266\326L\367/\375\300\7\13wV\301\260"
+"\2559%\2119\376\17\254d\376\35#E\372\373=\307\242\302\32\245F\36&\347v"
+"\267\1r\222\202\312\6\340@RX{\0\30\211%\243\240\237\1\2402\t\254\305\6"
+"\212GI`]\233`1;4*k\22\305\321\320\254\206)V<t\13\36\230b\261!$\252\324"
+"D\321\23\222uI\260(\16\205\312\220(\316\206b\325YX\277\322\302\260\336"
+"ZXl\13\201\232kE\321\27\202\325\16\60*`\363\\\335S]\256\245u\305\224R\373"
+"\307\312\247,\351]A\303\252\5`f\231\b,#(\253\27\240C\305\206LVC@T1\0\345"
+"J\3555Y\203\1Y\247&\373i\266HrQ T\3528@\213RJ\3352Y7\2\2616\2\220\257\224"
+"R\313E`\331AX/\1\236\30=_T\177_\0T\1\0\353\214\17\373M\326P\200\201t\f"
+"`|\242\227\316\24I\256\364\277\23\217\2\234\234\374\330a\262:}\263\326"
+"X\273\337J\21X\256_\326#\200^s\342~5Y->Qy\0\324\232\206&\2235\352s 5\3"
+" \372h\216Hr\255\277%b\4\340\2024u\232\254\247\276X\253\0\230/M\345\42"
+"\260\2\77\254{\0\3756\241\32:\341\3e\24\247\336j<h\262\306S\365Y\306O&"
+"\313j\234%\222\254\326\257\374\20\300\365D\363}\223\325\253\315Z\6\300"
+"\222Ds\205\bl\216.\353\246}\77\220\325o\327D\315p\352S\315b\35H\327c5\342"
+"\260\320\347\212$\353\364X\203\216\235\245\333d\275\327B-\2\240\302\356"
+"R\245\b\254T\207u\25\340\233m\'\216\211\335\342\212\306\273Uf\\)\245\206"
+"\357\332\336g\247X\314\263\306<\303\252GS\273\275S\354\327e}\362\34H\13"
+"\320\326R\2573\230#\372\35\340\234G\355\323\177(\245\324\213\213\216\200"
+"};Dk\372\356z\257\355\0\254vv(\21I6\271\307\335\347\371\346\323k\262\334"
+"\337O\347x\267\340j\21X\205\233\343y\0J\274\3272C\17\334\374~\1\274s/C"
+"\233\b,\337+\376zwV\221`\35vv{c73\246\251Gg\35\60\356x\307\353\31\335$"
+"\2[\357\344\324\252wx\220\42\252\377\312\311\'\16\200\367\34=.\2+\262w"
+"\251\2\240[\343\260H\260\332\334j\252\363\343~.\6\222m\32\13\215\213\215"
+"\32\254*\21\330V\307}\336\365\221I\254\254\343@:4q\355\265N\353:#\2\253"
+"ti\363:\303j\213`\r$<\257\261#\342\265.\337\233uY\366j\313n\221Q;`9:8\354"
+"q\244T|\305\332\370\257\347MD\264k[M\3314\357\237\217\77\f\252\207\317"
+"\22\254M\245J\251\302\25\233\247\37S|\351\376\30W\247\215\5\311V\255\211"
+"\337x\352>\227R\376\207\377QD\212\24)R\244H\221\376\254~\3\23\355\225\346"
+"\206\1Nd\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0"
+"x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\331ID"
+"ATx\332\355\227Kh\23A\34\306\'\233t[M\32\222\246\264$V1\1[k\242I\324*\366"
+"\320\213\21A\255X\241R\17\25DOz\360$\36\n\25<\13\22\321\213\224\346P,\350"
+"\305\243\42\42\42\304*\245x\220\30\252\6|PzP*V\223\206\244\313x\330\314"
+"cgg\266\273\271\2100\337)3\337\374\3661\373\237o&\0HIIIII9\223\213n\264"
+"Z\217\255A\21\b\255\301\216\237TCi\366Q\377#\260\351Y\225\222\372\227\t"
+"`r\240#\320\25J\f\f\36\210\0\0\300Zq\341\365\302\247\262\255\'\350\313"
+"\326!\243/\27\3327\\\235\303\77 W\323>K.\276\4\205\32\265\340&\32c\252"
+"\2672\321\240\337\337\31\37\177A\221Y\321<\272r\372\200R\232\32\3216V\301"
+"\344\204\0\274\256\333\263L\n\265\222\273F\271\\\177\303\335l\232\260w"
+"\b\314s\301E\21\bz\360-\203\34n+2\357\233\275\2\362\216s\300\363\370\262"
+"I\223w\21Y\2679`\16\203oL^\nY%\16\370\214|0\225\365\302\330\342l\1\237"
+"I\327&\26\254\3606\f\364\3631\351Zc\301u\253\235\306\213\37g\316\302S9"
+"/y\16\231a\207 8Q\207\20\302\245(\260\7R\5\355\356\335\276\376\341+\'-"
+"\274\177p\341\326ldN\343j\241\330\276\221\303\34\320#fZ\272\223\2313\21"
+"\207\341\247\356\276\272\310\211\1\325\232\362\r\317\t\362\303\nt\17\276"
+"4F\334\335\321\21\33``\222\n\307o7\206\272\334\33\177G\0@`\32\17\321\262"
+"\3516\233\5\0\224k\244\354\366+\366+\'TB\366\374\16\'%\227\320\220;\346"
+"\250V\373\361\313\355tT\344\376*\362\16\232/\332n\1\342\324\275\307y\213"
+"\240\30LXFg\217\30|\202\234\2o\276S<P\1\0\200\226\243\2509\303\3\367\n"
+"\17\272[p\363=o\314\25!H\26\335/\316\220\360\36!\330\211\233]\234!S\324"
+"\332f@\222\244G\314\334\311c\342\254&\323\246\271Y\256\227^\234I\346\216"
+"$\377\25\366\214\320W\244[\247\331\313\222C\212\326m8\27\234\205\20B\r"
+"\'\211\246\237Z<\370\357\3028y\232\325\30\341\266\315C\b!L\340]\27.\37"
+"\n\370\343w D\244g\225z\221\233\372\324\3722\372\215\2644\0\37\331\324"
+"\302\263\24\67t\327\363O\337\242\345\262\22\6\0\f0\334,\265s\b\2qJ\377"
+"t\17\r\235E\272\330S\25\16VH\240\320\314S\2753\306\370W\'Y\3549U\335\312"
+"%\224\233\217\242\246MG\35\272|\n7\36\344^\3756&ulW\4|/\224j\334\335\312"
+"\345\rt(\240\\^\251\312\77\17RRRRM\351/cTU\344FT[\265\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0x\b\0\0\0\0\237\313P5\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\4\37IDATx\332\355\230]h\34U\24\307\317"
+"l\222\355\232\304v\3234))\332\250\321h-\325\4Q[\77h\r\326B\n\206\212BD"
+"($\210\320\26\t\5\245\212`\374|\350\203>\210/\355\213\24\241\210\240\245"
+"\4R\260\241J\250\212\204\42A$H\221R%X4`\214\32\66\256\361\347\303\354v"
+"\316\354\316\307\2753+\370\260\377\247\354\231;\2779\367d\346\234s\217"
+"#\201r\262\42+A\27\2322\362OQ\254\324\17d\203.L\303\311\260\2332\341\274"
+"\366 \343\16\221\5KVAD\356\t\260\2675\212,\332mQ\332\201\331\0\373\b\360"
+"\204%\253\1\340\246j\363\22\260\305\222%\323\300\267U\1\30\'\354\177\22"
+"\245G\0\216;~\343 \300\244-J\32\213\0\247s\372\235;\f\3006k\226\214\0P"
+"<\220/\375\316\355\231\7`&\374\26\'\364e\231\353u\377\370}\342\233\337"
+"Zz\6\67\227\354]W\354\375\222\266\2\1zT\22\351\306\0\330\263\222P\33.W"
+"\242\366Jb5\214\371H\223m\222Fk\206/\226@\20576\305-v\342q\33:\362\313"
+"\213W\226\244\256\32+>\366\322\276Kd\351lm\36\367!@kMP\315\0<]\23\326\223"
+"\0,9\265\b\350\317\356{\337_\3\326\315\245o\350\\\rX\357\225\277\354\266"
+"\324\250\334\325,\361\\j\326\276\253\254B&-K\245\303\373R\242\272U*\234"
+"I\311zG\347\325\316T\250\254/G\277\226\2125\350c\2556\246a}\347/C\273S"
+"\2406U\224\264\271\24\254\243\0\313\nv]t\t\214\352u\3168\42\62\262\342"
+"u6Mg\222\2725\0@K\257r,\233\2245\13pJ\234\5\217\265/!\252\263\334\272="
+"\345\261\346\23\262^.\347\323f\265\311\236d\215I\21\340\220\210\310\7\36"
+"\353\375D\254\373\1\310\213\210lQ\2165\'a}\t\360\231\233\363U\364\367\'"
+"@\255\7\340^\335\b\3\260\220\240 =\17P,\345\322\26\265\311\255\326\250"
+"\3142\300K\345\237\247<\326\2045\353.\177\366\333\252\34[k\313:\207\357"
+"\244\346,z\254C\226\250u\0\fx\206Q\217\265lY\220\16\2\240\362h\253\332"
+"\344\335vM\304\22\300[\3324\341\261\246\255Xw\0p\2756mS\216\255\267a\235"
+"\6\270\24\340\252\253\27-Pnp\206\374\306g<V\261\301\366\354\230\363\33"
+"\257U\233\334i\36\371\5\200\23\225\346I\2175k\314\272\r\200[*\315}\312"
+"\261.S\326\311\340|\240\243\177\324\20uMX\236:\250\332\201&3\3260!\r\375"
+"Z\265\311A3\326|hf\231\362X\337\33\241z\0\350\13\233d\225\325m\302:\16"
+"\360G`&vToq\314\340l\265\246 \42\362\353\307\201\317yL5\346\271\225X\267"
+"\2060\224\301\350\352\222)\353\247\330\202\264\31c\335\32\67\343;l\236"
+"\1^\217\211}\323_\42\42_\274\35\n\330\257\6:\255\177F>k\17\0w\206/\330"
+"\25069\32\355\367\\\354\311g\326cE\237O\273\342S\360N\345X_\324\3027\1"
+"\330\30\337\226\271\372$j\335*\300\305\3500\214+\307\362q\376\17E\263:"
+"\24k,|\331\327A5\243J3&\355\200\373\304\217\342\336\321\7\224c;\302\26"
+"\35\61\33\36dT\364\277\n[\343\316\32\343\353\350\13\312\261\216\340%\333"
+"\1\2302\30\26)\326xTLM>\356\317UA\n\334\306\r\356\305a\3\326v\345\330\303"
+"\241\375|\344+S\31\331\320\202t\240t\355\202I\352zU9\326\37\221\346M\212"
+"\325C\212u\271\342}-\215\346\335c]>\236\365\256\316\325\276\336\42;\340"
+"\33<\257\216\305\214\224:\217\371\23\377\211u%\217\36\337\275\253\267j"
+"\365\337\237\3760/g\317WXG\273E\244\375\366\7\253\307\24\277L\375X\220"
+"W\334\6)PG*\357\230\216\256K\231\324\203\250\210\232\366\177a\325UW]u\325"
+"UW]\377\255\376\5\237\2144\252\35\264\341\r\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\3\205IDATx\332\355\227MHTQ\24\307\217o\306"
+"q\312\17\306fRf2i\2144\2331\265\322\320\205\233,\301T20la \265\251\bi\21"
+"-\4\205h\31\204Q\33\21]HBm\42\2\213\210\b\301,D\42d\22\63!\13IH\302\217"
+"\34\'\307\351\337b\346\335\367u\337\363M\273\350\235\325\273\347\334\337"
+"\275\357\335{\356\377\236Gd\231e\226Y\366\17X\212\262\345 \372\305\353"
+"\226*\320\357\250\3010\345\0\34\274\300\b0\244\364\b\232>n\36XE\264h\4"
+"F\210\250\222\303e\333\211\226\214\276\330\r\340=\307\337\16\240\305\b"
+"\264\1@\201\326\275\2\240\330p\221G\0\2044\337\335\r\275Ecv\2\0z\225{D"
+"\365\0\60l\274\255\366(\0<v\312\367\366*\0\240d\213\204h\7\0D/\272\22m"
+"g\335<\0`\3348s\210\204\251\302\370\303\352\223\311\345\364\275\365\371"
+"\t\277wa\253\34\314\216\200cM&\262\327\317!\257\230\312{\317\234\232;i"
+"\362\304\330:\24\330p\266\371\303\226\326:\223\240\42\67}f\316\243\234"
+"\365\354t\205\227\26V,\311\372\237\4Y\35AR`\212;XQ]\351#\42Z\237\232x3"
+"\361i\315\324\33\24\365D\325\207c\356|\346V\230\320\270\b\256\365g\30r"
+"\201y\350\232\221\36w\212G\351v\255\77;+\313\23h{%#{\364\3261e \336a\266"
+"\\\326\303\331\32fd\247\16\330\35\17\17\251t<M\232\325\317\345\212\23\321"
+"\355\232\5\233\24\301Q.8\255\7R\36\233\222\'>\273\305\340}m,d\244v\355"
+"l\330RM\354\202\30\272\303\1\7\30\370V\23+\23C\263\34\360\205\264a\232"
+"\213\320\313B\234\32\340\263\344\332\246\6\303\274\212A||*\271\326\325"
+"\340\246A\215B\351\354u\306\fb\274\353\374\234\30\364&\tRC\24\0\346\375"
+"d\16\224%\264\255p\317\346\307/\34\265H\377\311\22w\303\204\346$Fs\27\34"
+"n>\306\1\355\372Ljni\355\31_\222\342\347(\2716\315\221\1\343\42\2112\32"
+"\307t\364\303\b\264U\217(%\356^K\263\t\320\325%\23\307\2577jrl[\357#\21"
+"\271\372Y\227XO\271\323d\2\220p]J\273#\202\371\314q\317\212\341\361}\311"
+"\244\\0&F[\223\312\325b\366q\373\223J\362,V\300\35\325\16\232i\0\62\325"
+"\355\345\25\224\372`\320P:\363\364\301gb$\304[\3572\36(\20\21\245\326\211"
+"\315A\36x\210\273\353DD\273X\363\3\257O\207.(\35\272eN\27\357A]\320\303"
+"\2329\234.}\262\263\255\2%%=\256\345\232\352\365\265ZZ\266\230M\315\25"
+"\312\17g\251jFI\377\5u\215P4%o\235V\17+\25)\261\\E]p\26\0bLIb\361\252\305"
+"\236&vh\223\336fE\366\27\230\77\16\0\b\262[\27\337\252\\Y\201\273\200H"
+"\332Wd\37r+\276\264\31\265\361\211b\345D3j\325b\253\24P\270\243\243\317"
+"\337\211\307\345\207\227\210*T\234\354G\273AG\20\373\342[\367P\341\234"
+"\222\'{Y\230\203\205\202\242h\216\312\274\203J\371wt\251\261\227\262\354"
+"\26.\211\272\371\310\257\271t\34\65\227O\261\306\203\201\327\253J\245."
+"8\340\243\357\241\331\r\356m\225\222\356\332!\320\332\332\217\210\365\363"
+"`\231e\226Y\366W\366\7\275\324\364\231\201\26|\333\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0x\b\0\0\0\0\237\313P5\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\3\342IDATx\332\355\230[hTW\24\206\327L\234"
+"I\214\267h4!\322\232\200\326kS\23D\352\245\242\6EP0\30*U\204\200Q\304\13"
+"E\4\305\26\305K\305\7\37l\241\364\305\42\4)H\21TDP\320`\213\330\226\42"
+"R\362\24\212\210\304\22\204\30P\202\306h\f_\37\316d\316:\223s\331\347\362"
+"\2400\353\355\354\263\346\333\377^\263\317Zko\221\242\25\255hE+Z\321\302"
+"Y*\330\245r\225H\377\355d\246\273\4\60>\21T9\0;\23am\5\240\77\225D@{\1"
+"\2401\1\326,\13\305\235\4X\3559\26\223c\243\312FP\34\214\315\332\224g\r"
+"\246\343\262\272\363,\226\305D\325\332(\356\307d\375\250XT\305Be5\212\357"
+"b\261\326;X\303c\342\260\376u\260X\33\3\65\335\211\242+\6\353\f\300\200"
+"\202}\344\353^\342\363n\314\315\224\210l\177S\237\37\311\334\214*\253\t"
+"\200q\263\225\260lTV\'\300UI\365\331\254M\21QU\0\324\213l\263Y=\21Y\307"
+"F\362i\271Z\344\314H\250\222!\200}\42\42\277\332\254_\42\261\226\3P!\42"
+"\62O\t+\217\302\372\13\340w+\347\253\350\267F@M\1\340s\353a\273\315\352"
+"\213P\220\16\1\f\345r\3518\265\310\5\241Q\351\1\200##\217Wm\326\365\320"
+"\254E\316\354\267@\t\233\30\226u\7\240\323\256\270/l\326\276\220\250I\0"
+"\64\331\3m6k dA\332\13\200\312\243\343\325\42\27\207k\42\372\1\316\352"
+"\241\3536\353n(\326g\0|\254\207\352\225\260)aX\327\0\36\273H\265\354\333"
+"\20(+8\315\316\301]6k\250\304\234e}2e\316\301\tj\221+\315#\337\7p\241p"
+"\370\206\315\3524f\315\5\340\223\302\341\6%\254\306\224u\321=\37\350\350"
+"\2371D\215\365\312S{U;\2201cm\301\243\241\237\250\26\271\336\214\325\343"
+"\231Y:l\326##\324L\0\32\334^5*a\265&\254\237\1^\272f\342\224\352-\316\31"
+"\234\255J\7ED\236_q\235\247E5\346eo\2e5ch\233\203\227\370\330\224\3654"
+"\260 \315\300\330\346\214\2527\5\317\7\3143\300\251\200\330g\336\212\210"
+"\374\371\275\'\240u\243JM\257|\347Z\7\300Bo\207j\265\3106\177\335]\201"
+"\'\237N\233\345\177>\255\tN\301+\225\260\6\77\307\323\0T\7\267e\226\335"
+"\362\363\33\6x\350\37\206\343JXE\220\376f\177\3264\305\332\357\355\366"
+"\217[\315\30e\367M\332\1k\306\313A{\364\13%l\251\227\323a\263\313\203\264"
+"\212\376\337^>\203\0\4\327\321o\224\260i\356.K\0\3500\270,R\254\343~15"
+"\371\270\377P\5\311u\31u\326\313-\6\254%J\330\32\317~\336w\313\24F\326"
+"\263 \355\311\275{`\222\272N*a\215>i\336\244X\255V\254\356\202\375\232"
+":\240\216u\25\301\254\237t\256v\364\26\331\246n\307\325\301\376\200+\245"
+"\252s\316\304\177aRN\321\227kW\315\36\345\375\356\267\'=r\373^\301h[\255"
+"\210T\316_1\372\232\342Y\307\177\203r\302j\220\\\355p\341/\356\372\327"
+"\245t\354\213(\237\232\366\276\260\242Z+\360C]6\201\233\322\364E\350\255"
+"NDT\352\6\fOMf\201\307\200\35\311\240*\1\306&\363\77\356\26\221\'\257\223"
+"\321\325\347Q\255\42\350JW\212H\235j\\K\242\313\262.7\363\7\217\232\336"
+"\366\30;\2\200\243\271\207\257\200\31\321a\326\321\373HV$\263\254\13\330"
+"\20#\366\237\216\\\355\364\3\f/\212\365G\266\253\254\365(\346\376O\237"
+"\317\243\276\216\237h\346]\6\270\327\222M\346\373.\315\244\244hE\3730\355"
+"\177&\f\357>h\2155\207\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3:IDATx\332\355\227OH\24Q\34\307\177;\353\216\226\356\262\266\242"
+"\254\231\250\220&\273\266\232Y\344\241K\33Be\240`\351\301 \354\20At\212"
+"\16\206A\347@\214\272\204\270\7K\42\20\17AEDD$\26\42\35\302\26\253\205"
+"2$*\21\222\374C\353\360\3530\373\376\314\314{\343\314\236\347{\321\367"
+"~\3573o\346\275\337\373\276\337\2x\362\344\311\223\'O\236<y\362\344T>\333"
+"\b\272\2}\221x[\373\241J\0\200\215\364\334\333\271/k\216\336\240a$\213"
+"&}\33\bn\207)\235\313(\324X\211-\27[B\251zl\270\301\334\230\315\341dmi"
+"(T\26\353\177\305\221#\262u\364\245\364\1\231\26nDQ\357:%\7%\340\r=<\241"
+"\30\273\13\331\254\265B\2561\27\335iY\260\17\4\234\26\202\13\62\20\252"
+"\350\224\245\2n\17\t>\260\306\346I\354\244\0<O\37\233\260\304.\220\320"
+"m\1\230\242\340;K\254\231\2042\2\360\5\3330\325\34\213\322\20\277f\271"
+"\277_Y\327\16\63\270n\31\315\375\373\224um\230\301-\21HTL_g\306&\246\n"
+">\362\34\tF]\202p*\213\210\270T\13\316@.\241\375\3655[\237\26\5nQ\374\227"
+"&\356\77\7\236\223{Z\244\256\265\353\230\0,\2203\201\212D\362L\245K\363"
+"S\233\256.\bl@\265\247J:g$\376a\7\372\333_\33-\356nO\227\3\60<\304\231"
+"\343\367\233G\313\375\333\357#\0\204\307\350\20m\244\245\310a\2\200r\215"
+"\245\335A\305y\346D2$<\273\327M\312\3055\22\355u\225\253\215\364\343\366"
+"\271J\362\320&\211\35\266>4h\3R\327\275\'\370\212R9\30\267\265\316*9\370"
+"\214D\346E\353\335,\2\25\0\200@\7i\216\213\300\3\302]\7\0\330M\233\37E"
+"c\256HAv\350\376\b\206D\367K\3012\332,\27\f\31\345\316\266\tdNz\334\312"
+"\235>!\367j\266l\232\337\314\325\363\2073a\232\221\371\277b\256\21\32\322"
+"|\253\333\374XV\244h\25\206\272\240\17\21Q\243N\242\351UKA!\31\320\317"
+"\336f\265\216q\325\263\210\210\30\247\267.\3768\22\16\305\356 \22\262`"
+"\225\373\220[\372\322\226$\365\211\264\26\200\317f\327\242\253\24\63tg"
+"\247\237\277\'\307e%\n\0m&n\202\2739$\2068\252o\335#Cg\232O\366\346u\1"
+"\66\37\'\2469\315\365\216\33\355_\35\62c/\271\354V.\21\337\234\262\336"
+"gjr\212Q\17;\202\202\33t\270F\365\to+_qx\227\2kk+\233\226\244\276\337\7"
+"\277\233~\272/\301\237 jey\324\356C\2108\220\7\27\61\354\272\244\0\21\351"
+"\42\0,n\3441\3432\42N\202\373\31\225\b\0\324p\205\263\337\351\315\216\210"
+"\210\3248\242\277RN7\3\21\21\257\347\32g\21\261\332!\371X/\347U\200@{Z"
+"R\362\nE\356\210\345UDD\255\325\371\262\246\270\344\317\270\311 e\224r"
+"\227\25w[\3318\211\210\370\246[\315\343\267fa\300\7\236<\1\0\300\177\253"
+"{\262\177\370b\262\274\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\4!IDATx\332\355\231]H\24Q\24\307\317\354\272\356\232\231_\225e\232"
+"\371A\231a\21\331\227}bYdOF\20\25\26D\24=\30\24IoA\275\t}@\20ADb\222\364"
+"\20\364!Y\24\364\20EPD\5\231\304ba\262\24a\272\250\254[\353\366\357a\347"
+"\343\316\356\235\231\273\316\364\20\355yq8\347\372\233{\357\234s\3569w"
+"\335dGr6T\f\217\223\3\322\f\0\7\354s\244+\0\0\344\331\6u\304@\330b\27t"
+"C\6a\275S\240H\272C \254u\b\24Z\351\20\350\202CK\353)qf\263#;%g@\355\31"
+"\316\370Q\377Br\6t\310\345\f\250k\329\2\32\\N\316\200N\272\r\214\311\220"
+"\362\346\22}\31\242\377Q,\367\311\223W8\273\300G\24\3766\20\bb\262\257"
+"qW\237\372\nV:k\331\17\347\355\361\373\37\212pJ.\42Q\242\'\265p\353\4\20"
+"\264\346T\275\206\201\34\225\347\265\36\0,\327\233\377\4\3062XCD\224\21"
+"\6\0\230o\264tP\373\267@sU\226[\222$O\376\352\326\220\242l\363\20\335\215"
+"=\272\315@\31OU\316\345B\335\33\26>\222\365C\225\333\344\'\263\364[4\242"
+"p\356\347&\30K\337\305-5\323\30\264,\252\fj\340\256\374\260\236\224c\b"
+"Z\247\f\31)2\372\252a\226T`\4Z\241\202\246\33\276\254`\214!\3153\30T\241"
+"\2160;\200\n\243\32\251\212\77$[\235\370\36S7Y\241\221\370\t\324\355W\354"
+"\257-<\367\264J\252\343\332\257\t\255\215\210\310\25PF6\362\314\233UP\227"
+"eX\326(Cy\305afD%\225ZG\370\33yh\213:M\315\326\236\246<}\370lMj\222\377"
+"r\234e\221\366=\266\211\244\257\276\330\330k\211Q\340\327H>\21R\203\34"
+"\233\t\206Z\r\364T(5{\214\374\245O#5\212e\371K\0\200\257\361\352\5\42A"
+"\251\227\371\340\246\337N\206$x\302K\334\364\353c@/D\17\261X\310\270\364"
+"\376\264\212\31pG\224t=\26\254z\345mfN\33\205\317\357\b\0\350\313M\27\233"
+"\5KEIt\1\0\364\365\335\34\226\224%LZ\f\0\63t\373T\303\332\305\233\310\17"
+"DDJ@\304\242v\23k\237\20&M$\372K\77\2638[\325\237\304n\323\253IB\\DD^V"
+"\363\305\16i\n\253\371\341\30i\324\16I\227\331\306\354\220t\276\30\262"
+"CrD\34&\351\266&\313\16\351\247\2566\264C\n\375\235\325\25\333!\375\322"
+"\265\6\266f\26`\353v[^\360\200m\17l\221\36\263\2524;\253+g\23T2-|y\226"
+"\304\255\26\222=[\310\5\240w;\273\272\310K\266\222N\242Y\'\242J\257.\356"
+"\316\263]\2028i\t\21Q\217N\225\313\254\256W\234\324\316\351\201z\31\224"
+"\360\307\223\242\234\263h+C*\27%\225\1@k|\255\307\264\42GDIg\0\240&^\333"
+"\242\221\372E} \f\0\236x5[\213\315\24#\255\3\200[\211\372c\32\351\204\30"
+"\251\7\0\252\23\365ij\373\213\210\320\327[\n\0\203\274\242t\2156\251]\42"
+".\360\21\0vpm7URH\340\352t/\0\4\371gS\372w\25u\326\22\224\37\65\353p\212"
+"\265\365-\261\272\6\362\3\300s\303\322}\203J\n\233\37{R\267\325\305\377"
+"n\25\65\220i\346\223\35\326\335[\223v5\223k8\310\33\273xi5\337\200z\355"
+"\322j\263\221#\305<\357\252U\177S\26\324\32\275B\216}V\267\334lZ7J>\246"
+"\365xQ\253\367,o\3553\331\322,twXw\217\331\356\367m\357>\205\306\211\322"
+"s\212V5)w\37\303uo\305b\323s\34\246r\326#\236\241}GB\206\234\266$\177\77"
+"r-\355\340a\6\366M\231\314\315h\371\376\256\bC\t\234\253\317\236\374m-"
+"\245O\235\232\355&\32\r\7\307\177SJR\222\222\224\244$%\377\244\374\1\5"
+"\27\224R\263w\361\30\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0-\0\0\0x\b\0\0\0\0C2$\2\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\255"
+"IDATx\332\355\227Mh\23A\24\307\337\256\321l\251\311\306\266\350\301\266"
+"\332\350%\212\7Q\251Z1j@0j\361\243\207(HAD\361\340\305\213\207\36\204\42"
+"\36D\20\217J.A\364\326S@D\255\210X\244\210h\21E\361P\252\24%\26\215\213"
+"\304`\f\317Cvg\336\316\316fg\301\233\373\77\355{\373\333\331\2317\357\275"
+"\235\5\210\24)R\244\177\243E\1\367S\331\265\337\177\251\16v\16\21\361\244"
+"\32\253\335DDD\354R\202o\265`\334\253\2\337\266a\334\31\6n,\t\1\343\216"
+"\20pm0\4|-\3044\336\254R_`cDS\207K\35\352q\236\313\200:|ZW\207\313IP\206"
+"\27\266\200:|\3017\351\205\20u\365\3|\374\366\37u\3M\13\214\t\0\0\30\231"
+"]{r\35\0\360jrr\272}\200\364\355O\221j\366h\314\377\365\373\252(\252v\320"
+"\7^1\2032=\226\326\317av\377\323h:\225\\\236-\333\346\274$\323\307\35\266"
+"\312\n\267\337\236\330{O\352\\t\340\'\344\305\33l\337\25\1>\345\300S\264"
+"\16z\34o\267\13\316\260i\270\2264\341\270\307\2507\306\42\267\221\272G"
+"\331\272\177R\367U\307{\237z;I\30\343\222\351\341\0\245\217\21\332\4\0"
+"{E\327\235\373og)\275\225\\\377aWI6\302\260k\351\227\310\330<Rg\231/\341"
+"\242\363\34\236\340\271d9\276\317\356=\2107\31\275\206\'\23\363\215\13"
+"[\266_\22\356\2\243sb:l\252\264\232\255l\303\260\317\233\361}\271\374z"
+"WA4\30\335\331\276Vu\0\60\370\243\365`\332\344f3\230\356Q\356\32:\0\244"
+"\230\365E\2016T\247\r:\0,e\3262\5\232\'\272\251@\377n\337\350\4\232\264"
+"\272X0\375\225\233\311`\332\342fo0]\347\207\262!\205-\342\7\227\347\nt"
+"^\332\7\250\272\323\374\332\344\364n9]\306\371\343\254\207}`\364\13)\274"
+"\322\325\t\17\240\244Z\211\36!\342]f-\346\3253-\201\267\t\303\234\341\203"
+"\217x\340\270\205\210\317h\213\2658\236\26\353\370\241\247\77\16q\272\356"
+">\247iED\304\222{\204\42iyGH*\32\367\20\21\353\302gJ\177M\360\231A\373"
+"\253d\234\250!\42bVL\350\370\273\325\364\351\251\7\25\350=\264\256e\\\36"
+"\363~\336_\242\217\356\310\212D/\312\341\33>\25\265yA\2\27\374\323}\270"
+"\42\260\245\266\345\244\r\234\237\343\351^H\4\236f f\246\22\0\77\252V3"
+"\372!\214\24)\222\262\376\2\325\273\336\371\326~\212\237\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\213IDATx\332\355\231]h\34U\24\200"
+"\317\354f7\277k\376\324hLh\223\210\326\224\266DS\251)\361\'\266H\253/\355"
+"\213\250\304\242\b\322\207\n\212E\37\244\305\202\17\201V\261 \276HC-\4"
+"\37\204\252\301*\nRJ%`)5`\32\302R\245\206P\221ZC\32\67\253\351\372\371"
+"0;3w\262wv\356\356D|p\317\313&\347\336\375\346\3363\347\234{\317YKB\305"
+"\212\211\210\360\267D\25\3534\0\331Td\322~l\271`E\4m\304\221\267\242\201"
+"\352\26]\22[#\31\351\254\7b\371\246\b\244\327Qe2V6\250/\217\3303c\177\36"
+".\27T\237\5`\261[\252>\265Q\203e\32i\2\200\231\224\210X\207\0\3105\225"
+"Ez\3\200\223q\373\277\335\0L\225c\252{\18\340:\344\372,\300\221\322A\r"
+"Y\200\'\24M\363,\300#%\33\351\34\220\351\361\351\222\247\201\\s\211\244"
+"\203@ze\324ZG\201\351\322Lu\77\60^U\250\177\16x\267\24P*\13\7\265\301\277"
+"9\7\217j\315\241\'u\266\312\37i\375P\323ZaR\376o\22\232R\23-\355\267\267"
+"\325\210d\177\231\235\233\247\334\307\3047\34\270\342KPc\3qe\270z*\235"
+"\376\322\204\263\346(\205\222{\255\326\2350\6\314\207sz\317\23 /\345\327"
+"\365 @\350~[\277!X\256\366\213\210\324\332i\260\270\241\255\27\274\257"
+"\315\355\353M\305-\313J\264>0\222q\224\243\t\221|\26\215\27\3\325\236q"
+"9\357\267\373\236p\317Wy\375\265u;\362\177%\213\200:\26\34\316\347\205"
+"\t\244kr\305V\353\203A\367\345\234I;\265;\177\321O\nN\354\203\316\224\205"
+"\216\240\267\232UIm\305\362\222\r\2729\360am\312\t\317\332\200Iw\2723\326"
+"\24\261d{\316#\365\352\2474\272\13\177:4\243\346e\263>\316\322\316\370"
+"\371\20\317}\323%\ri\307\217\31\355MD$6\347\314\334\245\33\336\346\202"
+"\306C\303\262\337\231\372\274\356>\261\354\222\272\302#\374B~\352~w\231"
+"\336\330q\367P\272\370S8i8\377\251q\226\365\336\373\330a\222\276.\331s"
+"\217\25FA\332#\325\230\220v\346c\263``\300\3\2351J\315\211 \177\271\344"
+"\221v\231e\371\367\0\270\262R}\267IP\372\345.\264\351wL!\31\26\3\2266\375"
+"\326(\240\t\323C\314\16\231\230\337\237\266(\23>1%}h\7\253_yRY\323\303"
+"\306\347\3672@\255\77 \325,\330eJ\222w\0\374%\310\35*\311\274\220\333\b"
+"p\213\317N\375\352\370\2221\351\242\210\210\23\20v\324\372\256{7\214I7"
+"\n\375\345\262\262\271k\221.Q\252\231\316\225\t\211\211\210T\253\232\237"
+"\243\220\352T\315o\253F\272\36\205\344\313l\213QH>_\314D!\255\212\2542"
+"\311g\232T\24\322\237\276\273a\24R\346\337\331]g\24\322_\276\322 \322\312"
+"\346\324{{$/\370B-\17\42\221\276VUUQv\327\243&\250R\272L=)K{[(\365l\221"
+"\30\60\375\270\272\273\345\357\324\233\2649\251ED\326U\373\342\356m\265"
+"J0\'m\22\21\231\362\251\232\225\335M\233\223\216kj\240i\5e\374\362\254"
+"\234\346,zL!\365\230\222\272\1FV\336\365\224Rd\257)\351\20@\177PS\26\270"
+"l\352\3Y\200\304J\265z\27\273\325\2144\b\360q\241\376e\217\364\252\31i"
+"\n`C\241\276j\301k\313\32\275\275>\200\253\272K\351VoQO\232\270\300\f\300"
+"n\355\330G.)\223\f\'=\3\60\257\77\233\222\277\272\250\360\6ok\256X\205"
+"\323\351\355oSX\33(\r\360m\340\325\375!\227\24\362\263\201u\n\200\226\340"
+"\31O\271\250\331\372b>y\42\274z\33\366Z3\301\275\324j\273\3612R\334\0\333"
+"\275\246\325\266 G\262=\357\203\260\372\246{\336+\364\3325\343\267\235"
+"\312\27\233\341\205R\215RzL\f\370=\253z\300\371\211b\237Q\357p\3503\305"
+"\334\77\214N\376\230Y\22I6ul\31vz\37\277\17}o\26\233\211W(*\207\23\346"
+"\31\272fo&\2203\332R\342\351\334wB\207\231}\266\256\234\316h\317\236\361"
+"e\2052wd{c\371\335ZI644\306E\256g\347\227\242\377\204W\221\212T\244\42"
+"\25\251\310\177\42\377\0H\222\314\361h\304F\316\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0-\0\0\0x\b\0\0\0\0C2$\2\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3\5IDATx\332\355\227MH\24a\30\307\237\35\67wM\367CV"
+"\362\220\226n\'\223\2\373\262\2220\333SfR\346a\13b\t\202\350\32\4\201\221"
+" \325!\354P\267\300\213\207\272I\204\20Q\31\22\212\210\204I\364!\36$D\212"
+"-b[\314\206\266\355\337ag\336\217\231wv\346\320)\346\177\331y\237\375\315"
+"3\317\373\276\317\363\2743D\276|\371\362\365o\24P[5\42\42\374\361\346b"
+"\22\0\240G<\321\227Q\322|\300\3\274\23\246n\270\303\33\327\30\215\16\327"
+"\240\2478\214B\324\205\276\2Q\13ZY\270\315\3002\213\245\337\341rp\265\16"
+"\0XKR\360Q\t\77T&\350\31\0\300b\204\210\2C\0\200b\334\221\276\n\0xXQ\32"
+"\365\1\0\336:\205\276\13\0p\215mJ\253\16\0\267\325p\215\16\0=\202\245v"
+"\5\0\272\224A\317\1X\337&\331*\'\1\24k\25\364 \200%k&\5\356\2xo\17}\37"
+"\200\361\240\335\3119\0w\254\306\210\16\f*\223no\21HY\252\2411A\77\226"
+"\324\263\2177\21\26\376\323n\20\360\326!\302-\207\217\244\252\210\350\365"
+"\304\304\354\267\262.\265\203SR\361,\237\n:\77\376h\16V\255\37w\200\353"
+"\27\240\322d\245\n>\311\376_\311$\343\321M\235\343\306p\265\312\16\17\231"
+"l\256\3354m1\2[\254P%,\0\340\245\360\340\35\206\355\226\5>o\302\323b2\327"
+"\231\326\204\4\267\2600\244)\215\231\346\1\321\32d+\327&\2323l\336k\242"
+"y\330\264>\225z\221\260\214!Exh\26\351\323\2\35#\42cF\254\356\336-\213"
+"\364~\341\3727\273\2122\17\275\322\324\257\13\276\371J]d6\271Atsx\214\347"
+"R\336\264}\222\367 Td4oJ\365\3146d\331\262c\212\345N3:eM\207\335Y\0(\364"
+"\2536\f\215\366\214oLu\267J\5Q`tu\371Z\325\210(\314o\325\335\351\30\37"
+"\26\335\351:\317]C#\42~\f}\366@\207\275\206M\32\21\325\360c\306\3\315\23"
+"=\346\201\376\345\366*$\321B\253\13\272\323_\3700\352N\347\371\260\301"
+"\235\326\177\262a\207\207-\272\317\262j\316\3\335\255\354\3\242\22I~\35"
+"\343t\227\232\36\307\352\31\326\303\226\30\375J\to\226:a\17\24\325*\350"
+"\5\200\307l\264\201W\317\254\2>`qs\201;\357\267\301\241<\200\31\261\305"
+"\3469\236\264\326\361s[\177\354\340\264\276U\206G\0`T\3660\42\264\274>"
+"!\25\303O\0@\267\34S\332\33\361}\264\3358\225\302g\327\1\0\235\326\204"
+"\16}h\22\357\236~\226\245\206\23\333K\203\233\3\366\343}\36\16z\240*\22"
+"mD\r\337s\250\250=_\25p\3329\335{\263\26v\264l9\5\232/}\344\351\236\216"
+"\270\177\357\4c\361\b\321\367\\\276\350\177\20\372\362\345\313\263\376"
+"\2\244\4\27\247^\3\221\7\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\4\25IDATx\332\355\230]H\24Q\24\307\317\254\356\227\37\371\261\225"
+"iJ\231QfTD&e\364\201)Q\321C\275D\205\5\21\204\17\6EQOA\275\204`\5A\364"
+"\22\211\5\322CP&YT\364 \205PD\37\244\22\213\205\311b\304VK\311\272\265"
+"m\377\36vg\346\216sg\346\352\265\207b\317\323p\357\331\337\316\271s\316"
+"\271\347\34\242\264\210H\206\210RVqfl*\376,\253\23@x\225<\310\27\6\0`\233"
+"4\251-\tB\302\'\t\312\204*\r\366\212.\'R\266\366\264@\2224\246=\215\310"
+"\236\323C\325\272\200,iz\42\t:#\357\6sB\0pBqPS\4PJeE\370u4\235\17\376_"
+"q\364\2waIq\221\217(\366q8\24\301\244\23\352\222\223#`\245\243\226\315"
+"\261\336\276`\360\236\220o_\200Y\22\307\375\232B\7\200\2103\247\3529,\344"
+"P\352\275\326\1\200\243\275\201G\260\226p5\21\221\77\6\0\260\77h\345\200"
+"\376\263PsUn\206\242(\356\300\352\226\250\272\330\346&\352L>\332^N\376"
+"\36\215s\251\304\360\17\213\356\247\326\277TnN=yl@\245\337T\316\235\2\323"
+"f\371\253q\246f[\203V$T\245-\\\313\17\32I\371\226\240\265\252\312\267R"
+"\253\257\32cIEV\240\32\r4\335\362\317\212F\31\322\\\13\245\371\232\306"
+"\34\233\223,I\350\244*\276J\236\366\342\273m\335\244F\'\255\344\307YP\335"
+"\177\356\340\271\2474R\35w\377\212\220mDD\256\220\252\271\235\267]\257"
+"\201\272\34\303\262ZU\335\317\253\0\342\32\251\3349\302_\244T\217q\352"
+"\202\366L\365\251\377\2753\251Q\275\242\315[\213\365\357\261Y$}\r&u\257"
+"\230\243 \250\223\204j\256-\251\3304m\324\352\240\36\241\324\354\266\362"
+"\227A\235\264],\313_\4\0\230\252\252\205\42Ai\224\5\340\246\337\16\206"
+"\244\210\221\24n\372\3651\240^\321K,\31\62.\243\77\261u\373-Q\322U^\227"
+"q\223y\247\r\302\367w\34\0\374\306\200d\263`\271(\211\316\3\3004\303\322"
+"l\226\224+LZ\n\0\63\f\347T\315\257\300\235\244\237\210H\r\210d\324nd\367"
+"\177\t\223~\231\375e\2101\356\213T\21\305\36\323\263IB\\DD^v\345\203\f"
+")\213]\371<e\244\3572$Cf\33\225!\31|1*C\232\22\231b\222\341hreH\77\f\265"
+"\241\f)\372w\254+\223!\3754\264\6Ro\26b\353v)/\270\313\266\7R\244\7\206"
+"I\212\214u\25l\202\2326\221\37\346*\334ja\242w\13\271\0\fle\255\213\77"
+"e+iqR!\21Uz\rqw\216\355\22\304I\313\210\210\372\fK\5\214u\3\342\244vN\17"
+"\64\300\240\204\77\236\222\340\334E\233\30R\205(i\36\0\264\214\257\365"
+"\230V\244I\224t\32\0\252\307\257\36\323IC\242>\20\3\0\267il\311\2307S\214"
+"\264\26\0n\230\327\17\353\244\243b\244>\0X\302\31\\j\355/\342B_o9\0\204"
+"yE\351\32\375\245v\212\270\300[\0\330\301\335\273\256\221\242\36g\322\36"
+"\0\210\360\357&\317\'\r\325\352\b\n$\354:\2342\335\276eNc\240 \0<\261,"
+"\335\327k\244\230\375\265\247t\3\0\n\2555vi\250\341l;\237\274\346\334\275"
+"5\352\243\231\2K%or\360\322b\177\0\r\372\320\252\336\312\221\222\236w\331"
+"\251\277\231\27\321\33\275\22\316\376\254\356T\263\351\334(\371\230\326"
+"\243\267\326\350Y\336\332\307\251\235f\241\331a\335m\346\270\337\264\275"
+"z\27\35#\362\344\227\256jTg\37_\353^\212\305\246\373\bl\245\325-\236\241"
+"}MQKN[\341\4o\347\345\327x\230\341\275Y\223\231\214V\354\353\2123\224\320"
+"\331\206\274\311Ok\311\223\223\223\227A\364=\26\31\373MiIKZ\322\222\226"
+"\264\374\223\362\7\272IT\205\374kY\262\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0-\0\0\0x\b\0\0\0\0C2$\2\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\227IDATx\332\355\226=h\24A\24\307\347\326\325\333$\336"
+"\207\344P\304\304\230\13\4\243X\210B\324\24Q\17\13O\r~\2448\5I\23\20[+"
+"!\205\20DAl,\205\3I\241]\n\t\210h\42\42\6\t\42\32\5Q,\202\310\241\234\207"
+"\234\213\234\213q\371[\334\315\307\316\316\336Nc7\377j\336\333\337\276"
+"\235}\373\336\233%\304\310\310\310\310\350\177iM\204\277s\263\355\351\306"
+"\350\274\17\240\266O\17vj\0\0\234\320\242\3574a\370\216\6l\203\352\210"
+"t\305R\320]l5\250A\377f\253\257:\373\236\247;\351\326\241s~\23\276\256"
+"\227\302\276\n\0\\N\310\376\204\32Ol\37\250\275m\230R\227\323\242H\227"
+"*\203\316\320\301\303\205\16B\310\233\205\205\245\37mCZ\7\236C\324\312"
+"\31;\372\361G\353\220\325\210j\212M\313P\351\351:\25|\212]\3772\221\317"
+"\2467\216\316\265\314JG\30\236\246l}\230\272\266\2666\36614\33\256P\370"
+"\231\360\340]-\337\r\t\236\244\360\242\330O9uc\f\261m\4^i\226\272\247\2"
+"}\3162\267[tO\260\367\376%\272oR\357\243@\367\13iL*\266\207~\221>+\320"
+"\31>!n\321\353\357WDZ\234\204\177\331*\315\42\214\5^\375\252\20\233g\352"
+"\42\363\245\2t\221\303\263\274\226\\\352\223\206S\322g\364\0/&\346\233"
+"\226>\3311E\272K\214.\310\345\260\247\n\0\253\343\252\17\206\336p\305\367"
+"\26\212;\3\r\261\312\350\256\366\275j\21B\34~\253\27Og\270\351\307\323"
+"9\355\251a\21B\262\314\372\246A;\272\333&\26!d=\2636h\320\274\3203\32\364"
+"\237\330\243B\244\205Qg\307\323\337\271\231\216\247]n\366\304\323\36\77"
+"|G4>\321]VU/5\350\242r\16\210\352\316\363u\206\323\207\324\364\34*\347"
+"\330\f\373\304\350WJxK`\22\36\207\242[\5=\1\360\200Yky\367,)\340\375R\230"
+"\13<\370x\bN\272\0^\210#\326\345x^\356\343\371\320|\34\341\264\327\27\204"
+"\313\0\60\23\214P\26F\336i\241\24\235\207\0\340I\307\224\365N\300\227\207"
+"[\247\222s\276\1\0\30\225\13:\371a\233x\367\342\343*\3519\271\243i\\\233"
+"\n\37\357\257\21\241{\252&\261\312j\370vDG\355\255)\340Rt\271\217U%v\246"
+"m;%\372/}\346\345^J\305\377\17\332\231l\212\220\237u\3277\277\200FFF\332"
+"\372\7\353\266\237,\323\376!\0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\4\202IDATx\332\355\230]h\34U\24\307\317\354f\277\232n\223"
+"llc\326\224\232Fj\215\304R\214\245F\352G\332P\332\42%\202\210J\24\244 "
+"}\250\240X|\23Z*\22H\25\n\245\24JC,\4\37\4\77JjQ\360!\264\24\224b\3\246"
+"A\226\32bX*R\343\322\226\315\352v\372\367avf\316\315\334\231\2713\223>"
+"\24\367\377\262\3039w\177;\367\3549\367\336s5\222+Nt\27\356>\235\224\265"
+"\35Xh\227z\32\316\3c\24@\307\0}\253\304\3364\13\3145\4!\305f\0\354s\230"
+"\37\255\0h\247@j\321\1\34\327D\343 \0\354\245\200z\1\0&\223\314\242\35"
+"\1\200Q\n\254\243\0P\314\331\261\236\0\200\331xpRl\32\0*=f\254\13\0\200"
+"5\24B\315:\0\340e\42\42\332P\6\0\274H\241\264\r\0\200\2175\242\275\306"
+"\343)\n\251\21\343\373\23\231C\306C\230 \325B5\5.}5\205VS\225\223vQ\4="
+"\303@\')\222>\262@\205x4R\354g3H\255\24Q\331\212A\32\360\36\246)\240\326"
+"\344\211\210\252\323\364\77\226o\234\22\271|{[\232\250\362\307|\261\204"
+"\260\77\23\357\371\360\272P-\343}<\245R\323\205\302y\25\316\272cpJ\377"
+" c\r\30\7P\362\347t_\206\213\336\251\275\327\263\0\340;\337\326\37\340"
+"\256\33\275DD\31#a\275\3\255\355\263\277V<\320\235\215k\232\226h}z\270"
+"l\32G\23D_\33\217\236\265\230\231\2648\'\362\302/<\366]\315\276\260qW\355"
+")\351\1\352\270ir&Z\34\316\316\251%Smt\7=\251\233\203vKg\376\266Hj\366"
+"\333\4\200\233\35n\377j\205\223\332\334@[,\320\3\256\77\326v\233\221\36"
+"v\31\364\2105b\235G$\363\272M\352vY\377\255\27\177\3153M\266\330\244\247"
+"\344uV0\375\227}2\367\220E\352\227\372O+\315\215\210(V4G\16\312\334;,\320"
+"Y\337\262\3545\207\276%q6\332\233d\247\177\205\233;\316A\3535m\337\230"
+"uz\274:\353O\32\252}J\222\345\361\200\233\3665c\354ig\25\24lRZ\205\264"
+"\273V\233\16G\237\r\232TZ\232\23n\371r\315&\r\252\255\362\307\1\0\327\35"
+"\347l\225\242\24\265\1\322\345w\234\22145\222&]~\323\ftIu\23\63J&&\346"
+"\23\357P\276R%}fvV\\_\262wz^y\377\256\2@F,H\276\nv\252\222\350S\0X%\230"
+"\36\342\244\2542\351\t\0X-\304\251\227\373\27\225IW\211\210\314\2020\252"
+"v;\367\337Q&\335q\346\313\34\233\334B\244C\24\17\323Oa\317\310DD)n\371"
+"=\ni\5\267\374\265l\244[QH\302\312v;\nI\310\305r\24\322\262h\231IBh\262"
+"QH\377\bg\303(\244\362\275\231\335\332(\244\177\205\326 \322\233\25\371"
+"\271=R\26|\313\333\203H\244\357\205\353\263(\263\353\342\13\324\252 _\314"
+"j\322\323B\320\275\205b\0f\366\360\331U\177\344\'iuR\216\2106\246\204\272"
+"\373\204w\t\352\244MDDb\367\337\302f7\243N\32\223\364@3\f\245\374\347i"
+"\272d/\332\311H]\252\244\365\0\60\274\364\254\307Z\221\375\252\244\303"
+"\0\320\273\324z\320&\315\251\346@\5\0\22K\315\374,\246x\321\270\r\0\276"
+"p\332\337\265I\357\253\221\246\1\240\307io\260\332_T\225\376\275\315\0"
+"pC\363\276\221{E%\5~\5\200\227\244\276\317-R9\351Oz\35\0J\362\275)\371"
+"\247\205\32\361\5\265\352^\35\316Z{~\233\374\256\201\n\0p\321\365\350\376"
+"\234E\252xo{\3329\0@\316}\304\253\26j\276\321+\'\317\370woC\366\325L\213"
+"\353\240\224q\3612\354\35\200\1\373\322j\207[\42\31\231w\312\257\277Y_"
+"\262\33\275\274\304\377\340\271Z\263\351\337(\245Y\353q\251O\314\254T\337"
+"\205\232\347\200\322\335a\3777,\334\277\214N\375V^$J6wl\35\62\357>\376"
+"\356\277\242V\233\211\367\340\251\221\204\372\n\235\336_v\345\214\346\2"
+"\356\316\233\317\3100\363o\254\bs3\332\365\346Y~\373_<:\320\24\376\266"
+"\226\222+W6\305\211nUJ\213w\251\256\272\352\252\253\256\272\356K\375\7"
+"\347\33\314\5\332\316\42\203\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0-\0\0\0x\b\0\0\0\0C2$\2\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3\5IDATx\332\355\227OH\24Q\34\307\177;\273\271+\266\356\226fTZiP"
+"Xx\210\2\373C\230-\35\264\322,\203-\b/Bt\355\352!\22+\210:\24t\20\26\302"
+"C\335<\211!\225\21\221\204D\230\204\375\301\303\42\261\24\26bK\330\320"
+"6};\354\316{\277\231y\2633\207N1\277\323\274\337|\366\315\373\363\375}"
+"\337[\242 \202\b\42\210\177\23!\371\30&\372\3\27,LdX3)`i\203\222\215L\0"
+"#\366\344\35\300\330\247\200\23Y`!b\317j\357\1\364;\340\35:\0\305G\327"
+"\30\0\356\206\254\311\36\0\350V\r\260\35\0\236W\360U\30\2\200{\352\271"
+"\337\2\200\334Z9\277q\0\310\206\325\2646\7\0z\2139\277y\0@\235\333\372"
+"\'\r\0\300\31\42\42\332\276\2\08\341\276]\207\0\0\270\36\42\352.>f\312"
+"\355\356\315\42\63^y\245\370\3406\350\322\320g\301\303XW^:\211\2\247;\274"
+"\224v\220\301\303\336\302\274*\340\371\2607\255\315\230\203\256\361\243"
+"\372\270^\244\217\272W\3\217\272\215DD\205\271\377\337\rBe\35BD\254\371"
+"\360\221T%\21\275\231\234\234^*\2773\7^XT\225=\35q\377|\3072\354\261\342"
+"V\r\353g\241\212g\25*\270G\274\377\324\327\224\254\256k\33+5s\225Nx\320"
+"d\227[\315\324\346\322\300>:\264x\331\204\271\241\264\224r7lp\277\tOi,"
+"[kf\255\332m\26\303\260Li\324L\17XLW\254\334n\236\356\23\363\376\241\360"
+"\5\340\21\317V\261e\214*\206\207FN\237et\202\210J3\272m\276\177\227\345"
+"4\367\376\337\342\251Z\364\320e\231\372\20\353[\256\324E\221\213[\350N"
+"\t\217J-\345\315\334g\353\36D\rAo\223b\22\271A\333\226\35S,wZ\320)\273"
+"\34\366,\2@\241W\265ahp*\276!\325\271\313R\20\322T\253<,\217\210b\362\247"
+"\2727\235\220M\303\233\256\365\355\32\32\21%E\353\213\17:\346w\330\244"
+"\21\321jy\320\373\240\245\320\23>\350_\236\346\317ifu\21o\372\253lV{\323"
+"y\331\254\367\246\365\237\362`\365\261E\367\205\252^\371\240;\225>\300"
+"\243\246\211\335\3$\335\256\246\307\220;\'<l^\320\257\225\360&\213\23\36"
+"\207\242ZY<\5\360P\264V\311\352\231V\300\373m\335\\\220\235\367:\340h\36"
+"\300Kn\261y\2117\331\353\370\211\303\37\331}G\337b\2053\200\343\212\234"
+"a\226w\212I16\1\0\272\355\230\322\3362|\266\265t*\305\316\27/\220mvAG\77"
+"l\345\277\236z\274H\365\'w\26\33\327\6\234\307\373\f\\\342\201\252H\264"
+"\214\32\36v\251\250\275\337\24p\332]\356]\2136v\244l9\205\32/-H\271\247"
+"\343\3367\274H\42\31\'\372\276\2347\202\77\204A\4\21\204\357\370\13\255"
+"\306\26\273\331(\364J\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\3tIDATx\332\355\231]H\24Q\24\307\317\314\332\226\251i~\341WR\226\31"
+"\202)fPD\37\22\21Fe\5B\20\364\24\232/Q\202\324c\202\321K\21D=D\222\324"
+"K=\364\224\31\21QaEFE\210\330\nB~\344GH%.&[2\376{X\365\236qwv\335=#\30"
+"\314\377\351\334\231\377\376\346\316\2753s\317=\253\221\205\\D\323\260"
+">gPd\332\13\374\312\fz&\346)p\227\42\325u\300\330\26\344xb/\320\37\23\61"
+"N\367\08\25p\270\300\7 \223\42\327j\3\300M\315|\360(\0TR4*\7\20067;\242"
+"5\2@3E\247\253\0\60\224\254&\241\25\0z]Q\342\364.\0\360\25\315NB\17\0 "
+"\235\242U\222\1\0\250\42\42\242\215\223\0\200C\24\275v\2\0pY#\252\364\207"
+"M$\321\25\77\2445\266\301\37D=p3\303\327\1.#\215dJ\234\342\270\n\222j\7"
+"\243\335\42\271.\315\321z\\6\340\364\317\263\3\227Bv(\301\347\307\355\13"
+"o\325\26\302K\317\42\42\232\352\42G\213(\215\210\226\207u\31\260\\\325"
+"\2p\372\302\26\271qOWw\347\327\357\23\341\270:\42\221\321R\225\241\331"
+"\207\3\0o}\252\2358\0\257\n\254\306N\333MD\311q\331\333\17\230\27\343\361"
+"\33\235\2433\3\26521\247p\317Z\363/_V\375\f3-%\23\354\372w\364\371w\221"
+"~\360\205\251\2075\341\336\320\nfN\bf\210=\311\257\370<\314#\226\243\254"
+"SV\331S-\343\215\244\206\304%+\247\307\322\224\342Q._v\310\264D\31\333"
+"\254]\256\26\306\313\22\343Hc<o\234\30G\256Ne\374\304\347W\217\352\303"
+"a\354\232\236\213K\33\304\275#:\316\346w\275\34\247\365+k\257&\274Y\42"
+"\234P\361\332#\342\336\221\346U\336I\227\264w\204s\354\325;,\356\35\367"
+"bT\223\366\216\306\372T\234\266I\214\243k,>+\276Y*\340\337>\227\270w}\274"
+"\221/\306\375\371\315wCb\34=b\361i9\356\r\213s\335b\234)\337\313\20\343"
+"\206\3\347B\202\33\343\21521n\2227\212\3058\323\332\271U\2143%r\33\304"
+"8\4\356\1\226\20.\240Vc\'\316\346\336\301^\234\261\304z\247-\42nX\374\30"
+"\233~\373Q\214[\306\33\37\304\270\25\274\361E\214[\25\370i\226\340L\265"
+"\255!1./p\225\224\340\266\260\370>\304\270\375\34\'^g\365\315\254\321."
+"\306%\361|\305+\306\25\263\370\202<\277c\3116=\26\347w:+\354=\24\247\332"
+"\224\317\366\346ur\\\275\n_\17\2103\367X\226\311\256\21\357z\350\214\n"
+"o\177\23\357z\22\330\236\307M\342\336\335Sa\371_\361\216\361\23026\312"
+"w\333lK\361D\23\343\n\2159[G\250\332o\252\302\365X\273\252\224\353}\310"
+"\77}r\331\303dYFy\306^\256\320u\351\32\206\13^\254\317mb\226\272\320\317"
+"\22\257\7\341m\374\374E\77\276\350\374\17f\30\312\13^p\273HD\231I\353\312"
+"\346\237\353nW\357bvfi\206\351\344tu\363\264m\345@_\265\333\276\352\342"
+"\203\22\335\256b\345\273\332\202\20\323\271\300\77\13\7}#\203\303\236\276"
+"\201\360u^G\216\349r\344\310\321\177\242\1776\344*\260k\202l\245\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0B\0\0\0x\b\0\0\0\0c\336"
+"{\377\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\223IDATx\332\355\230Kh\23"
+"Q\24\206O&\265\261IZMSI\325*\255\255\242\342\273\370\26\361U\320(F\304"
+"\215\13_\335H-X\21\4\305\307B\352\306\215\240\210\350\306e\13\n\42.|\42"
+".\272Q\350B\13.\254Q\\\370\240\326\242A\323h2\371]\f\2713\223\2713\367"
+"f\6\3348g5\377\334\223\357\336s_\347L\210|\363\3157\337|\373w\26\260<8"
+"z+U\325\241\211\221H]}\354\366\17\42\42\232ur\177\210\36_zX\24 \224}\361"
+")\211\246\3513j\r\357f\277%\242\300\225nM}[\231v\356\274\32Vk#\42\272\254"
+"\353\205\356\20\63\r:\27&\305\305D\3567<\207.8\316E\360\2346\230E[\25\323"
+"\\<\331l\364\nIu;\341\221)\220\273\246\320\226I\5\222\77h\222OLj\265\334"
+"\\|1\251>\223\232/\207(\232\324h\217Q\305\334\254\b]N\376\326\305\347*"
+"W\347\343~x\336\372\346\370\373\203mD\364A\3627\346\335Y\262U\0\260A\361"
+"rX\353\210\210^{B\314%\242\302WO\201\244\1\\$/\2108\0\264\220\227@N\21"
+"\321\233\367^F1\25\0\226\220\7D`\b\300S\362\202\270\n@\215yA\364\0\300"
+"v\362\2008\t\0\275\344\36\241\\\253\230P\206\210\16\2\300\1Q\366\t\330"
+"#\266\344\1d\278e\240\331\335\17T\0\37\257\247b<D\\\5\60\30\261\7DO\344"
+"\rw\353\313\345\234Ql\0z\355o~\345hy\356\31\210Y\347\242\253\325~\b\ri"
+"k\376RW\330\236T\216\265\253\340YJ\36\261V\377U\276\267}zb\326\216g\232"
+"\332$\213h\323\t\235\301Rd\17\0\0Mr\210h\256\3446\2320\274>\n\0#R\210\300"
+"@\311+Skj8n\255/l,\305\274\232\313Z\356H\42\252Y\30\347\313\233\302\252"
+"\34\242\2079Y\353\205#R\210\tlWs.\365\32)D\322v&\210\210n\312 \206\330"
+"v\346\235\237e\22\210I\314\245\237\327\34rDh\251h\205\276\202<\304\357"
+"wN{RC\34b\372\25\327\253O|5\262M\201\311\334\366m\302@j\364\275\360\213"
+"\213\20\7\322\240\353\2\327\353\233\20\321\310\3448\270^Y!b\32\2236\265"
+"W^\210\2103iS\365\250BD\224\311\21\27\225\212\266\42L\376q\213\20\26m\1"
+"!\42\307\244M\232\253\22\42>\351E\34\337+T\1\242\325\241\314\225\234\213"
+"F\276W\223\20\361\303p\3r\275\226\n\21\305\27L\363OjJ\274\264\235\3540"
+"\257\343\366#qk=bz\27\17\61C\346\273~\254\324\313O\336.:#s\203\37f>-\234"
+"\221fe\20\21\346s\323\332\330!\227\20/\331\337\236\312\230\1\261\330\241"
+"\272`\271\327\222\6N\33\63\373F\251u\335S\266\255\0\3507|\267\323\242<"
+"gnkM\237p*\200\235\254m\330ia#\31\275+\375\257\236\275\0\60\24\320#\331"
+"\355\304\230\246\227\42\37\223\21\42\242\232Mih\37.\206\331\270\3271gj"
+"\42\21\3443Zr\306\211\33\36\316\353\201\361\377\323\341X}\232W\271n\247"
+"\n\20\244\234\267\370f\227RE\b\242\206~\263\353\2150\211\20\326S\25I\36"
+"[SJLgo\215iO]\271L&\377=\77\236+\344\324\202\212\42D\327{\260\266\276\216"
+"\306\177~u\223U|\363\3157\337|\373\257\354/\352\366H\270\22\221XR\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0x\b\0\0\0\0\206"
+"@\276\223\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\327IDATx\332\355\227"
+"Mh\23A\24\307_6ib\272I4\37\222\332\246`\265\25OJ-\366`\275X\bh\24#\42\210"
+"\7\17-\210h\241\212 \b\352%x\22\304\263^z\264\240\340\301K\351\311C/z\323"
+"\36c\4\17\25i4\330P\223\325d\363<\304\274\335d\337L6\253\340\327\376/\311"
+"\233\267\277\331\231\367f\336\314\2\270r\345\312\325\77%\217\255\207\24"
+"\237\77\260EU#\261\350\223\r[\250r>\276=\231\32\32\16\233\332\306\336\330"
+"\32\221\37\255\32\65\365\354|\256\77\201\372$>=\327\34\367\276\243\316"
+"_\320\267\314\315\325\236\6\235\207\351\203\36305~q\204\377:\324\'w\237"
+"Mw4\334\370\361{\1\273\365|\17\5R\376\257\b\377\36\324\246\376\234\332"
+"$B=\36\'\25026\267\2447\32\270\366 \33\355i\30\241\3535\323R}uP\34\246"
+"\3167\316w\256\363\225\250=4Q\260\356\21}\322\16:\241\263\33,\333\35\235"
+"2\236\256\335\231\30J\356:\361\274iMwCG\rr\326\333\232\301\22\42\42\246"
+"\344hHk\271\77&M\315\363\210\210\353R\324\263\322\362\226\303m\216k\242"
+"\363\225\224%\357\316\16\317\323.\250\237\206\233\353t\365\353r\364\n9"
+"\3\26\337e)\332G\253\357\256\265\333\240\24\315\bg\n\0\260 CWi\331q\233"
+"\355\200\4\335J\256E.\345\1\311\345g\322\310\4\207~}+\336\3523d\277f\327"
+"\350#\361\376\246\244\3426\326\177L8\340\240\221\313/,*\36p\302\260\353"
+",\372I\210\16\220Y\345O\334\212\20\35$\363\35\37\213\232\20\215\223Y\24"
+"\334\26\205h\210\314\365^\253\177\220\314o\275\242EG_\b\n\0\200F\246\332"
+"\303\25I\1\0xOf\234G\3\66\320\335<\32\2611\327\1\36M\t\321\rS\245a\321"
+"q!\332xI6\277s\262\342\340\317\322\246:\314\366/\251\22\313d\237\342\320"
+"aY\312K\255^7\271\354\337\222U\304\213\344\33a\306[\221\241*\371\26\254"
+"hZ~p\334\27W\'\245dB\3673\247+\235I\226rz\323|\322\35\221\346\347L\307"
+"r@D\243b\316qA~A\356)s\373^\35\21O\222/\317%H-\33]S\206<\347\20\21W=\306"
+"\210O\263\237\213\306\21\274\226Q\1\0\202\323\5DD=\n\246\331>K\357\331"
+"\221Lz\333\331\21\315\34\220|\276fL@\366\315\16\0\0\261\2w\343:\16\66P"
+"Pr\226g*\343`\13\5H,\266\77\362\260\37D\250u\265\253\231\253\207Z\5\375"
+"\366\343R\363\337%\255\\\256}\256U\265\272\246\327ul\240\250Lz\303\261"
+"\bT7\213\275TeW\256\\\271r\345H\337\1\323\27{\370f\307\35\31\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200"
+"\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\371IDATx\332\355\230Kh\23A\30"
+"\307\377\273\331$\r&1\2176}$\346\220F\17J\253EOE\252RTz\27\275H\361j\5"
+"A\354M\254\36\24)J\241\24\364\240\240\340E\241^\365R=\324\203\340\301\24"
+"<\372\250\17\224\212\320T\223h\354#\343!\331\354nvv\263\223\231\203\217"
+"\375_v\366\313\267\277\354~\363\315\3147\3\270\372[%\321\315~\373\247V"
+"\211c\22\261\'\305\362f\233,\354\353\376m\222\270\276s\345\352\317\235"
+"\237\374\34\317\377\322\223\344\r!\243M\26\66nyI\36a$E\337\42\7\0)\26L"
+"\r\36R\fN\225\373\217\227J\352M\\iOg\367\305M$o\231\372\315\3E\242i\316"
+"G\231\27c\303\263\304\240\270\305\273\216\350|\242\26>\376\3215\235W\312"
+"\302+\245\271\224\255c\343\277\255\271m\263Z\3074\227\234]\234\307\352"
+"n\3\26}\247\233\236\13v\244\353g\325V\2307\13\246\36\325\32\21\356|:V\251"
+"\305\203\233T\30\257^\243\3749~\243z\351\340\'\225\247\0\0\235\2\306\335"
+"\f\0\240K\0\351\3357\0H\212\230\13\246\0`K\13\244H&\223\311\350\r\367\214"
+"}gTT\33-\363\215\277M\23B\f%\212B\b!Db\177\247\255\215\206\365\5\3\300"
+"9i\257\311r\3130\375:&)!\223i\36\0\274\314\244\36J\36\0\200\217\231t\320"
+"l*\2@\300\27464\321%J\371\237\366\2_YI\375]\24\343\307\26\252h\371\201"
+"\250z\374r\226q(Y\344\2704\241Z\35\255\306\326\352\236\35\24\260\333\220"
+"BCO>;\1\65\3546\242\313\365f~\6\bv\357\350w\2649\261%1ms\376\343\235\342"
+"SI\222$\331\323\226\30\272\323\n\227\236\231\1\255\312\341\315q\234\21"
+"F\302\2440\222\374\246)\311a\337U\216\b\313\202\334\222\260|:\357\274\306"
+"o\2429\352^c\2\300\2252\333j\356\243E\274\207\20B\332\30\277nu\235b\334"
+"\t\0k\254\343n\201b;\n\0\25V\322K\312lu\34@\211\260\222\276\230M\t\5\300"
+"+\326\276\303\344M\223i\77\0\274e&\255\254\230L\343\0\260(`\246\13\356"
+"\1\200\17\2H\303\206\370\361\220\256\1\320\212\25\16R2+\212T\253\250\276"
+"s\2236\237\250^K\334\244\253\265\353O\346\312\276A\275\252\243\302\371"
+"N\201gjk\203\217\344}\336\321\270\13W,\316[\260\311\16\324\236\253\237"
+"8\274\246{\244\2658\375\260\231\373O\353\16\61\36\322W\204\21] v[p\302"
+"c\305i\335\355{\232O\350\244\341\360\345B\242\261\356\222\303}\247\26\215"
+"\'4\344\234\256H\223.\2HFzw\231\331/r\237\324xvz\266\367\5(\177\77zW\367"
+"O\204G\207\205Ub\313\302Hya\244\2\\\271r\345\312\225+W-\3507\304H\315\240"
+"\266\247\347\222\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2\212IDATx\332\355\226\277k\24A\24\307g\317\363\262\2679\177\234\'\'"
+"b\f\27\65XX\235\b\1\221\20\321h\21\361\7\26\26\1\5\221@\232T\246\r\bIc"
+"\'\b\202\4D\305tA\374\7D\4\261\363\220\20,\16I!\341\340\b\233\215(\236"
+"9\317\257\2053ofwf7\233 \230b\276\325\314\233\375\314\233y\363\346\355"
+"0feeeee\365\357\345\310fW\362\227\353\320\21$#\373Vy#\263\371\205m[d\13"
+"\21\263\372\2779\356l\346\343\336\321\331\6\0,\314\f\357J\3\34\230\356"
+"@\321\342\320F9\265\377%\242Z9\223\270\244I\230\364*>\375\272\27\304G\17"
+"\6\312\273\367\34\33k\362nP\216!\16\6\2p\205\327\213\355\277\226V\237\221"
+"(\2678qI\275\361\334Q\253d \n_9q=d.\361\211\32Y\375z\3268\361\42\62\60"
+"\314\355O4\344\36\37\351h\321\21sU#\366^\21\253\tm\262S|d9r\246\24^WCv"
+"\210l\270\20\62\237\24\304\274!0s\302M(Q\27\21\263`\306\30\273&\6\217+"
+"\306C\224\33Y\3\322/\6\37)\306\373\302\370\306t\306%\232P\6\300i\13\333"
+"mc\352\21R\241\2\333C\313\371`B~S\353\34!\203dk\230\20\271\277\313\324"
+"\232\'\317\306{[\245\341\26\331h+\360\fDqI^\266\34w\232\223\236\237\5Z"
+"\202\17T\224\236\267\316\357\4R\253\302\267\2777}\275\3628\342\246G\272"
+"\370^\224\33ru-\31\251kAD\232_g\2061\366\323\370\353LD~\310\356\316\224"
+"\210/\273nJ\344\273\222\347)\221_\253\324=\232\366u\361\234\272\347\323"
+"\36\320\20\5\271\2314\273Z\313\363\362`\22\222\347\6\36\26d\357\35!\243"
+"\261\204\333\6P\324\n\42\260\22{\230O\1\324\224C\367\2119\33C\f\2\300\t"
+"c\0\374\254\371e\331\6\3606\364\223\254\21\363\330\270\221%\0(\305\224"
+"7L\352D\376\23\0\214E\254#\222\231\216\206\240\317\7\200\327Zd\356*\317"
+"\203\376\220\213\31\0\300\227\234\356}J)\13\37G\212\31\306\30s\274\352"
+",\317\13c\211\273\31\256&A\275\336\244\316\347\2029\366G\226\343\212\321"
+"\\66\363\306;& 8\235\224\324\271[~\24h\\\331\260\210\364\334y\257\4o\342"
+"\260\23\377\32W\255^\261;\317\230\277\366\255c\237\277VVV\333\\\177\0\355"
+"%\250\30\255G\214\315\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\3\250IDATx\332\355\230[H\24Q\30\307\377\263;\353\205\324\326kyIHM"
+"\250\320\222\42(\302\nI\321\240\247n\17\21\365XQ!\371\26i\17FH!\210PPA"
+"A\20\5\366\20\201\275X\17\366\20\24\244!\321C\27\265(\214\242\314[k\253"
+"\373\357\301]w.gv\347\354\fQ\260\377\2279\363\3157\2779s\316\231\357\373"
+"\346(\20JI\1fE\27|\36\204\202\220P\r\311\24\321\205~\362\266\370\26\217"
+"5-Wd\334\f|\223\42\5\0l\22\330\263U`\\\346\345\220K\362\245\300~\204\344"
+"^)\222\227$\313\314\346\t\222\253\245H\350\'\371\312\364\352m\264\232\t"
+"k\325\223\344UEol\42\311^9\20\324 I\336O\323\256\261f\222d\225$\tGH\222"
+"\301\243\376\360yZ\303\'\222\344s\253\33\24\253\13\236\327\225\13\215\311"
+"\7C\77\227\2247\225\206\355\205c\262}Bv\200\2\355F\2Z)@\235@B\312\33\65"
+"\202v!AyO\3518\275\331H\\\251\7\336\2041\201\366\242\330\256J|X^\276\177"
+"f|l\2I\375cR\0\244:\270\177VK\362\314;\354I\334\334\362\227I^\327H\252"
+"\266\305\35\200\222\223Q\262\245^\3259\205\356>\32\233^L[j^i\3056s2\365"
+"\5\204\357\\3\245\371\362\373\49\304\223S\327\243\2173\271\26}m\324\370"
+"X\205\220\324CA\215W\211\205WI\324%\20#:\334\210\272UZ\370\344D]\6b\215"
+"\363\261E\267\32\213\271c\2649\31\213t\371t\244\225\345t\25t>\f7\374\216"
+"\327\323\376Px<\34\223&[\302Y\321\371\32\277\262p\310wN\nt\2\0\226\271"
+"\360\335u\3\0\226\273@\32\371\t\0\305n\304\202N\0X\221\0\311_VV\246\253"
+"<\357\350\347\316P\351D\277\226~\343\265.\222\324\205&\222\244\42\337\247"
+"UF\303\334\240\16`\237\264\325d\271\256\13\277\266Ij\246\271\322\6\0\237"
+"4IP\363\214\0@\2124i\247\3314\5\0\351\346\334\20G\355f\23K}\300WYR\365"
+"r\201\361\243\315\377;\235\333\275\370.\366H\347+d\253y\361\32WZ#V[\331"
+"\330Z\205=[\354\f@\274Z$\263\366\361g; C\25\235\375}\261\371\243\33\310"
+"(\\[m\273\350\266$I\227\357N\253\236\377\224\364DQ\24\305\343M+\250\275"
+"\231\bW\2742\323\243U\216\3235\216f\327H\350p\215\344y\27\227ds\356B{\\"
+"[\5\3c\256\255\247\263\366k\3748\352\23\376k\264\2\270\20\220\313\346)"
+"\242\21/\42\3114\311\267\373=\'0\256\3\200\240\354w7(\260\355\3\200\220"
+",iH\20\255\16\2\230\246,\351\213\331T\240\2x#;w\350\270f2m\7\200\367\322"
+"\244q\363>f\13\0\f\273\20\35126\2\300\7\27Hu\272\361sB\272\4 Z\2548 \25"
+"W\270E\nWT\23\216IK\17/\34\247\35\223.\206\217\277\244+{\203\312#\216\252"
+"\303>\245\77\215\264\346\235\221|\317\362\215\177\341\252\305~\13\226\304"
+"\2\345\r,\3568\274\25{\224F\307i&F\354\77\251\335.\25g\204F\315@l\260\340"
+"d\35\233\352\322\234\216\212|2\217\3526_\332\n\214u\227\'\253\352\370\260"
+"a+\370\214\246HS\316\1(\366\227\2577\263_\f|\212\214\3472\357\232\252t"
+"\301\343\17\335\322<\211N\324\340Z%\366\3355\322\17\327H\223H*\251\244"
+"\222J*\251\244\22\320\37\201\341ld\314Aj+\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\3-IDATx\332\355\227]H\24Q\24\307\317\214\333"
+"\272\256k\271j\206e\342G\26\21=\30\221\24!F\251\240\321\7\21\5Ba\204\340"
+"CF\220\257E\240/\275\5A BT\344\233\204\4>F\b\321C\220\210\210\17KH\204"
+"l\210l\253}mm\353\277\7\357\334\2713s\356\356\364\268\347i\316\271\363"
+"\233\273\367\234\377=\367.Q`\201\5\26\330\2463C}\16\23\375\342^\332b\322"
+"z\226\305[\0\204\271\201i`\334\366L\327h%\207\34%Z\341\221\f\21\35a\210"
+"x\210(\315\257\253\22\300,\23\357\3p\221G\212\0\240\321\33^\3\260_\223"
+"\276i\0\363\356\325\321]\350\322BD\235\0\60j8\203\335\0\60\245+R(\13\0"
+"\223\21\265V\267\0\0\7\265\205\355\3\0d\7\312\205\37\351Z\2\0\274\323U"
+"\237\310\\\330\273\361\360\365\345\334jiSw\235\210\327|\326\353\'\236\1"
+"cg\362j\256\201an\24\320i\325G7\321SP\333E7\35\300T\334\317\206(\276\234"
+"\20\357g\206w\346\337/*U\265\275\374G\372\363\332&n$\306\277\274\\\327"
+";\226\4\200\271\221\2162\77\300\216\341\234Z\312\371v\263\220^^x$\266r"
+"<\357O\32\342\204\214\311b-Q:g\275\364\240\265z\353\266=\375\313\302MW"
+"k\210\232\264\5X[\331\350\312\n\2615\260D\265\265UN+\301\n1Q\206k\243\261"
+"5A\\p\366C\361\241d\310C\2303\202x\356\32\350\20\361\307\36\344\236\30"
+"\311y\262c}\253\305\25\257\263r5\350\371\330a1\262\344\252\251Lo\304\273"
+"\263-5t:\302\207,b\202I\314\2705\215C\250\363\320\374`\42\242\363\326\340"
+">%\270Kj#\304 \315\326\340#%x\337\n\276\326\35U\33f\'\300\310Z\261k\254"
+"\364$R/\317\312Z\371s\336s\310\272|:)\2216\31K\262\307\216|\262\373\371"
+"\204\234\271Lw\37\20\342\2241\271\24D\271\3d\321\336la1i\330\236\371\251"
+"\347|\217\265\326+^\364\267\330\23\360m\365b\371\345\376\373UT \21\377"
+"H\261X\213\262C\316\255\346G\22\236$\302\3641\223I\216k\233\341\23\371"
+"\251\334\357|\42)\333\215\370D\276\27\270\3641\310\237/\322m\362\211\320"
+"3\351\236\362[\240v\231\344\345|_W{y\211]\230<\342\271\204\2071\333{#\221"
+"^-\21\311\2\210{\32\42\260\242-\346\23\0\63J\321S\2229\241!\332\0\340\0"
+"\233\200T\210%*\262\0\246\35\207\344\214dF\331\205,\2@\245\246\275a\310"
+"K\224,\0@\277+\332c3\303\356\24\64\244\0\340\225\'3\267\225\353A\263c\212"
+"\21\0\300\'\346B~Gi\13\263=q\223\210\310\210\266\214\t]\260-\356\212\263"
+"\233\244\23\211e\351|\210\361\271o\\\3225\243\361\220Vy\39\16H\37\313\'"
+"\352\360\325\224\33H\236-\330Dj\257\277U\2227\270\333\360u\3515\242\361"
+"\322\22\242\324\352\267\\\360\77:\260\300\2\373\317\355/\206\276F\334\27"
+"E6/\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0"
+"\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\39IDATx\332\355"
+"\230OH\24Q\34\307\277owVwM\315\365\377\277\fV\213(\264\244\16!a\205Tx\350"
+"\26u\t\351\232A\20y\b\42\353P\210\24\202\bu(0\350R`\207.u\261\16v\b:\264"
+"R\307\376\330\37\354\17\211ZjZ\272\373\353\260;;3;ov\346\371\36B1\337\313"
+"{\363\333\337~f\3467\277\367\336\357=\340\177V\320\203OA\215\266\244\342"
+"^\5\17\210hj\267<(<EDDtX\2324\234\2Q\42,\t\322H\327\1\27\317\200\313\357"
+"\3532\275\315\222\244\305L\357\213l\234F\365\267+\223%\225\'R\240>\371"
+"4\3308IDt\216\271\3711w\24\333\3228\365\362\27|\371ZK1\0\371\22\377\377"
+"m&\5\22\222O\342mVY;RP\31I3\367h\77\300J\13\353\333\16j\26\247\344\275"
+"\307_\27\364\2132\255\274\241i\257}\266\13qWB\326:O\206F\3638sui\307\b"
+"Y\3444\223v\232|\242\16>\371]\313&\257z\7\257z\303%\307\372\235\77l\270"
+"9\2558\245\206K<W\234\2733n\255\16\337\216\214\356\\.\322\365\263z\257"
+"X6\13\6\36\245;%\322\371t,\231\216\2074i\256\'\325F\345s\374F\252\251\220"
+"\'-\r\0\0\252\24\214\273!\0@\265\2\322\373\37\0P\247b.\30\0\200\r\253 "
+"\225\304b\261\230\331p\327\372\355\254\212\32\243e,\373\267A\42\42{\341"
+"\310\304\237iS\266ae\334\2\360N\332c\263\334\262L\277\236IZ\221\3154\6"
+"\0!aR-\'\17\0 O\230\304)\307\347\1 b_\33\\t\331n\242\206\20\360]\224\324"
+"R\3151~\22\251\354u\267\373\356.\336HW\232\4\207\222C\216\263^\335\352"
+"i5vV\315H\233\227\0\270\325\42E\355O>{\1e\355\21\242\323\231\356\314\20"
+"PX\263\255\305\363\226\302\221$\2749\221\255z\376Q\322S\306\30\13\4\303"
+"\225\355\267W\303\345gf\304\250rds\34g\224\221\320\257\214\24x\353J\362"
+"\370\355\222G\224eA\374\253\262|\272\340\275\306w;\313\340\3565z\1\364"
+"-\211\255\346y\274\210\327\22\21\205\5\337\356\317\n\307\270\35\0\226E"
+"\307\3358\307v\24\0\222\242\244W\234\331\3528\200\5\22%}\263\233*5\0\257"
+"E\277\35\372o\332L\373\0\340\2350iv\326f\352\1\200\t\5\63]\341.\0\370\250"
+"\200\324a\211\237\f\351\32\0\243X\221 \3255\251\42\245+\252\237\322\244"
+"\365\'R\355\2024\351j\272]\24\256\354\263\324\250;j\222\317\24y\246\367"
+"\22r\244\320\363\212\354]\270\346p\336b:\204\346\250<\2369qx\303\367h0"
+"\342\224\343P5p\332t\210\361\220\277\42t\232\2\261\323\201S\334=\77h\272"
+"\374\300\363):i9|\271X\231]w\5\212\233OMXOh\350\274\251Hc\227\0\324\225"
+"4\356\260\263_\304\'\365xV\5\2676G8\267\357\272c\272\23\311\350\220\262"
+"JlZ\31iF\31i\16\276|\371\362\345\313\227\257U\350/a\253\1\240\240\25\217"
+"\372\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x"
+"\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\276IDA"
+"Tx\332\355\226Mh\23A\24\307g\267k\232/\77\322H\244Xkj[\25<E\204\212H\251"
+"h\364P\77\361\340\241\240 R\350\245\'\13\236\4\241E\360&\b\202\24\212\212"
+"\275\25\351]D\4\361f\320R<\4\351AB \2045\25\77\242i\374{\310\314\354\354"
+"\316\354v\366&\270\357\264\363\336\376\346\315\274y\357\315\20\22I$\221"
+"D\22\311\377%]\276\226d\257\325\f5Ur\31@\375h\b\42^\7\0\340\234>\262\320"
+"!\320\216\353\22\26\230\24e\243\251DR\374k\277.\362\223\177U\265\367\362"
+"\202-,\253\215\354lw\210\273!\242\274\267\2\0\267\f\205\311\360c\214\203"
+"\203\365\17\77\242\362\b!\206\21\346\347\376\211\371*\0\254\314\25\267"
+"\352\0\273f\333\20du\314\334,S\236\303+\365\343\201K\232\201J\226\273}"
+"\211\324\n\373\351\376Hn\333\366\241\311\32\35\66r>Do\203\1\254|\2153\255"
+"\216\2469\240$rMJ\234\25\224=\324QSU8\351\257\224\270\354Rg\351DUK\256"
+"\350\22%\236y\fE\252_\220\220;\254\rI\321as\25<\372~\26\253ii\262#\324"
+"R\361\234)\17\257\334\353\272X6\234v\251\17\63bI\21\230E\346\306\225\250"
+"\253\360Y0!\204\\b\306\3\202r7\317\rK\201\f3\343CAy\217)_\251\3168\313"
+"\'t\2`\264\230\356\2722\3658\222\347=\271\217/\347\235\n\371\303\277Nr"
+"d4\270k;\373;\317\277\226\270ge\335\26\270\331\271<\371V\220T\20\2315\247"
+"\330b\324i\314\361\374\244!%\370H^\274u\177\323\232\200\266\344\351\366"
+"w\204\270\333)\22\327G\272\351^\204\n\271\270\36\214\224\245 \302\324\360"
+"d\22B~i\\j\36\304\271\262\311\26M\304\26\336.\232\310w!\3175\221\215/|"
+"8\250\211\220\247|xJ\367\200\306x\220kA\263\213\275<\341\34L@\362\\\301"
+"\203\2643z\303\221\t\377\207`\13@Fj\210@\335\3670\37\3(\t\207ns\346\204"
+"\17\61\n\0\207\224\1\260-%\321\323\2\360\332uI\2268\363H\271\2215\371="
+"\347\2647\314\310D\342#\0Lz\264\343\16\63\353\r\301\200\r\0/\245\310\334"
+"\24\236\7\303.\27s\0\200\3171\331\373m\241-\274\37\317\230\204\20b$\13"
+"\3634/\224-\356\252\273\2334\312\345\32\37|J\253c\277\257\342\327\214\26"
+"-\337\314\233j\253\200\306\261\240\244\216]\263\275@\365\302\246M\244\357"
+"\306[!x\323{\f\255w\262\221\314\244\22\204\330\353\337\332\321\3637\222"
+"H\42\371\307\345/l\\\334\t\303\250\310j\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\3uIDATx\332\355\230OH\24Q\34\307\2773;\273\353\222"
+"\232\353\372_[d\335\202\376h\211\235$\254\220\n\351\26\221\227\220\240"
+"K\31\5\221\267\312:\24!\205!B\35\22\f\202(\320S`\27\353`A\320\241\25:t"
+"(\263\214\302L\324\374\223[\272\373\353\260\177ffgfwf\336;\24\314\3672"
+"o~\373\333\317\274\371\275\337{\3577\17p\344\310\221#G\216\370J\0\340e"
+"\370\377o%I\2141\366$!\221\303;\361!\271\270\221$e\213\366\3Bq~M\363AI"
+"\345\24\177\374lz%u\23\220J\202\341\275\1\r\311\35\325}\347\306e\2225\352"
+"\321z\210\305\255C\244R\300\240\257m\n\37\277\201\217\267cM\341Uc\340U"
+"#\273D\215c\343\35\224\335\266\30\370\24\313.\221lq\356L\2735\32\214\35"
+"\311\315\245l\244;\27R\255B\326,\350}\232l\24\61\347S{<\31\17f\322RW\342"
+"\352g\317\361\273\211K);)\332\13\0(\3470\357\372\1\0\25\34H\237~\2@5\217"
+"\265\240\27\0\66\331 \25\205B\241\220\322\360H=vj\371\345\3312\226\371"
+"[\37\21\221ji\42\42\42\301z\2376g\32\326\307U\0\363\244=\32\313\200j\371"
+"5M\222\n4\2461\0p[&U\351\344\1\0x,\223\16hM\313\0\340\323\356\r9tMk\242"
+"\240\33\370a\225\324P\241c\374\242\332-\314\201\304\341\334.\346H\327\303"
+"\26\247\222A\216\13\335)\253\251\335\330X\225C\315f\2\220\253\26)hy\376"
+"\315\fHQ\265\0\200\177.\335\234\357\7\362+\2677ds7G2\343ng\3548\304\351"
+"\237\42\275\20\4A\20]ye-\367\355p\3653\323\'W9\2549\216\363\334H\350\341"
+"F\22\'r\222L\216]\374(\267,\210Ls\313\247\313\346k\374\34\32\325\375\326"
+"\350\6p#jm7\367\350E\274\212\210(\317\342\333\375Y\3271\356\4\2005\253"
+"\363n\\\307v\f\0\342VIouV\253\343\0V\310*\351\273\326T&\1xou\354\320sO"
+"c\332\7\0\37-\223\26\26\64\246.\0\230\344\260\322\345\357\6\200)\16\244"
+"VU\374XH\267\0\310\305\n\3\251:\314\213\224\254\250\26\231I\33O$\256+\314"
+"\244\233\311\353\252\345\312>Cu)G\211\261O\276W\251V\214\215\344~]\232"
+"\371\25.\31\234\267`C6PI$}\342\360A\337#(\307\351W\226\265\377\234\342"
+"\20cD\177GhS\4\242\311\200S\330\271\334\247\270\375\254\347SpZu\370r\245"
+",\263\356\22\13\353\317L\252Oh\350\242\242H\23\256\2\250.\252\333\245e"
+"\277\211|M\305\263\334\265\255\336\247\363\370\216\7\212\'\21\213\16q\253"
+"\304\346\270\221\346\271\221\226\314:v\20\321\355Z\217\300\\\205>$\232"
+")\347P\316\n#D\261\22\36\205q7\21\235\344\1\n\20\21\371xT\366\247\0L\255"
+"\362\350\323,\21\r\203C\237\304\0\200Z\371>\317e\267K\211*.}FQ93h;\7\210"
+"\210\350R\362\246\235\210\202vQO\22\13\220\7p7\277#\242\303\266#\276#\271"
+"p\314.\22\21\305\232\30\6OqRL\23L\271.\16\244AgY\27\215\255\303DD/\217"
+"xx\314b\257[\200#G\377\257\376\2\377\331\'\7\367\252\26c\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376"
+"g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\356IDATx\332\355\226Mh\23A\24"
+"\307_\266\3116M\353G\232\222R\254%U\213\210^\242B\241H\251h\365\20\361"
+"\363\320C\241\202J\321\203=\331\223R\20\332\213\27\21\4A\2E\305\336\212"
+"\210\340QD\24o\6)\245\207P\nJ\t\204\22cA\32\215\361\357\301\231\331\331"
+"\335\331\354\354\311\313\376O\373\336\354o\336\316\2337o\207(T\250P\241"
+"B\205\n\25*TPE\42A^\356\33\317\227\0`int\233\16\320=\333\200\244\345\21"
+"\303\7\350z\1\2476\2165\375\244i\250\364\262\325\223h_\342/=\30Lo\337\261"
+"o\262\314\314j\332\203\350\251r \316\243\236\256\377\363\324\372\225D\272"
+"\306\2103\222\263\223\5\252\245\24D\307&#.\331\334)6Q)\352\42\214\2#\236"
+";\6F\231\177\336\205\334e#\rWv\370\\Y\207\277\217\347j\3125\331Q6\262\356"
+"\330S\221\336\270\13i\341\325p\312\346>\314\211EEb\26x\30[\241.\303\343"
+"\203\211\210.\360\301\375\222s\227\250\215\250\2\31\340\203\217$\347=\356"
+"|\253\332\343\224\230\320J@\244\316}W\224\245\'\220\f\21\221AD\324+>\347"
+"\223\n\371#\236N\bdX\370J*\304Z\337Y\361\264(\42+\317mV\f\327\204O,\5\t"
+"\5\221\\\263\16\233\311\202\232V\344\247UW\201\17f$+\361\213\235\th+\303"
+"\226\277S\277_%\30\22\327GZ\331Z\244\23r\376{s\244\350J\42\f\215H\6\21"
+"\375\224\32\231&\262e\2311M\244b\231qM\344\207T\347\232\310\357o\302\334"
+"\253\211\3203a\236\324\335\240\21\221\344r\263\331\345^\336fmL\223\342"
+"\31\303\303\16\313\372 \220qO\42^\7\220t5D`\303s3\237\0(H\233^\21\314q"
+"\17b\30\0\16*\23P\211*\211\316:\200w\266\237dA0\217\225\13Y\3\200\224G"
+"{\303\264\233h[\1\200I\2077g1\263\316\24\364W\0\340\215+3\267\244\353\301"
+"\200-\304\34\0\340\253\351\216>#\265\205\317\271\244AD\24Id\363\254.\224"
+"-n\302\336M\252\305bY\30\253\35\352\334\357Y\367jF\13Q\317\312\273\321"
+"P\1\325\241fEm^\2568\201\3229\337&\322{\355\243\224\274\251\335zW\271H"
+"\373\4\200\373\31\263E\277+2B\377\256h,\0\345\356@\27\321\327@\243+\320"
+"\335u\6\300\325@D\n\0\332|\232\222]\327\211\350\313V\240(\33\36W\31\357"
+"(F\212\210\244\377c\334\177oL\0\200\370\5\364\224\347\375S\f\0\270\303"
+"\2141\0}\276\314+\0\300m\223(6\264\2 \347\277\374C\274\13n\2@\343\210N"
+"\312\346\245\312_\325\253\2#/\210\233\206\356\326\34X\4\200\367\27\315"
+"@\245\331\32\213P\250\377\246\277\342\'\1\235\35\200-%\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\244IDATx\332\355\230Ml\fa\34\306"
+"\237\331\235~l\364\273Z\372\241\207\266HH\213p\20\337M\203\364 \42\361"
+"q\221\306\301\5\211D\364&\212\204\210\240\t\202\210&%.$\34\213\3\16u\220"
+"8\330\212\210CQ%\204H\352\243-K\273\3738\354Nwf\347\235\335y\367}/\222"
+"}.\363\356\177\376\363\333\231\377\274\37\317\274\6\304\n\2\61z\237\213"
+"\302\267\332\311\321\32\341\31\363>y\35\22:OF\227\13\342\245\303\344\210"
+")C\n\274\42\271\333\25\236\37!Y\3)\225GI^4\234\301-$\271\31\222j#\311\201"
+"|[\3048N\222}\220\326Y\222\374X\221\254u\77I\16\7\345I\201\227$\31i\261"
+"j=D\222\254F\26*\213\222$\267\1\0\346\375\42InBVZM\222\344I\3\330\34o\366"
+"\42K\235\211_\337\37:\26odS\244D\251\236\323\256h\25\262V\351\244\235\324"
+"\1\5\255\264\201\256@I\'\246ACA5R l\25\251\22\212*\216\304I\353\323\247"
+"\31>P\325\265\0\60\371\229i\220\1\240@\341\372\77vR \252x\'\211~\247\341"
+"\231\364\220\202\332H\246\275\3056\300\250(\252_\261\301\271 \306n=\374"
+"<a\375\2504g64\257u\217\274\274\210\360\231\227\214\333\246\220\7\371\202"
+"\321\\\321~\3331\365\321kTw\330r\312=r\n:\355\223_\275GV}2%\342]\233\202"
+"\276d\332<\217\234\212dJ8]\235\367N\247-\361xw6\3074\226\216t\351\240\325"
+"*Q\355\5=\367\254\305U\271\77\355\210%\352\241L\32\353Jx#\365>~9~\250R"
+"\'Ez\0\0\2634\214\273\13\0\200\331\32H\357~\0@\235\216\271\240\7\0\346"
+"dA*klll\264\7n:\337]\212\337M\216\226\201\324s\347H:\276\32L\222\244!\177"
+"OsS\3S\203\16\200\177\322*W\244\3271\375\372&\231\305\256\320\0\0\344I"
+"\223j\5\375\0\0\362\245I\2\3173\16\0!\367\332\220A\307\335!6\344\1_eI\255"
+"\263\5\301\17\216\325\302\247E\274\2239\305\247mm\226\34J\36}\334\350\266"
+"\242\276Vco\325\334^\341\247\0\231\274H\361\232G\237\374\200R\274o\371"
+"\350t\363\333\5\240\250fa\253o\253\354I\2226\335\252\256\347\77%=6\f\303"
+"\b\4\13\253\327\\\313\206+\356\231\241\244\313Q\355\3438\240\215\204S\332"
+"H\2017\31I>\337]l\253\266^\20\376\254\255\77\35\366\357\3613\350\201\360"
+"[\243\33\300\311\210\334j\236/\252x-I\26J>\335\337)Ap\21\0L\312\216\273"
+"AAl;\0\304dI/\4\263\325N\0\23\224%}\21l$\230\0\206d\337\35N]u\205\326\1"
+"\300[i\322\367\357\256P\27\0\fk\230\351\212\226\1\300{\r\244vG\375THg\0"
+"$\315\212\2\251\256Y\27)\341\250~*\223Jw\305\217\23\312\244\323\211\343"
+"oig\237\242&+\321T\274\247\320\23\253\25U#\345=\255J\375\n7=\366[0#\35"
+"hfxz\307\341\2658\243!Y\247_i\346\376\375\266M\214\273\342\25\301\266\257"
+"\33Z\352\301)\331;~\316\366sD\224S\274\307\261\371r\244:\325w\5JZ\366\r"
+";whx\310f\322\214\243\0\352\312\232\26\273\331\317\302\37\255z\316\n.h"
+"\t\t\376\276\363\206\355\237\250\242\215\332\234\330\2506\3227m\2441\344"
+"\224SN9\345\224SNY\350\37\220\262y n\367\232\33\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\3\65IDATx\332\355\227OHTA\34\307\177\357"
+"\355\266\356\256\232\256[\206e\242\225y\210\16F`\364G\224\262\b+\213\210"
+"\16BA\210\320\305S^\3A\t\242\16E\21\205\20\26y\223\350 t\212\20\242[\42"
+"\262xXb\211\220\5\221\327\32\375\331\332\236\337\16;o\336\274\367\346\275"
+"\235\16B\207\367;\315\374\346}\3467\363\233\337\3577\363\210B\t%\224P6"
+"J4\241\35!Z\207\317w\21\42S\242>\16\30MR \372\32\230\222\216\334\7\314"
+"C\22}]\16\370\24\225\42\372\22\200!\217\272\243\b\240\311g\305)\23\300"
+"C\315\251\274\0\0\3\276\336\350\5\200\271\230\350\237q\0x\32\340\301\273"
+"\0\260\334`o|\26\0r\221\0D\317\0@q\277\265\361,\0\2401\360\240\352M\0\300"
+"%\42\42\332\373\3\0p\266\302\341\36\3\0\340\226F4PnNV\f\210;\345\17g\23"
+"c\345F\340F\330v\26 \212\271U!\356\352J\42rZ)V\217\b\304c\305\370\236\340"
+"D6\242\210\350\363\326F\322\312iT[,#}\25RL\224\306\355DD\245LX\2046\266"
+"\302i\377\362q\313\340d\36\0\26\'\372jU\200m\343\246\30\310\231\36\275"
+"\2\260\345%\334\262z4pI\243\220\311\253*_\242z\321\372\350^W\343\346\272"
+"=\303+\254[\360+1M\5\13\210[VO\261\4-\266\311\203\227\5<\316\b\312\6f\250"
+"(K\234\232\257\214\270\350P\247\331D\371\250\177\42\276p\r\3641\275\267"
+",\217Y\251\353\361\2165W\247K\337b\371j\3043\331A6\262\354:S\356\336\270"
+"\367\232\264\242\341\244C}\300\42f$\216\231\266\3148\2\65\3\237\5\363k"
+"\f\0:\4\345\16\36\33\262K\264\335\32|$(o[\312\267\2623N\363\tm\7h\274n"
+"_\223\206\36GZ\211\210t\42\242f\276\234\17\62d\335~Lp\244\233\353\362\322"
+"\267\5o\235\343\255\31nY\232\267\235|\270\310u\366\25\224\224\275\37rv"
+"\262\305\230\321\230m\371Y\301\23\340]\255B/\371\233\345\4\224\245\225"
+"m\277^\275^%\31\22WG\252\330^\204\f9\277\26\214d=N\204\256`I\'\242_\225"
+"\357A7\362\323\356nRD\f\273\33WD\276\13q\256\210\374\371\302\273\273\25"
+"\21z\316\273\'T\17\250\207;y%hv\261\226\'\354\203\t\b\236\313xPc\367\336"
+"qd\320\227\210\227\0\244<\5\21X\365=\314)\0\363\302\241\33\234\351\365"
+"!\272\1`\237\324\1\206\374w\240\241\4`\316qI\316s\346\211t#9\0H\373\224"
+"7\214z\211\304\22\0\f\273\264\37563\356vA\233\1\0o<\236\271!<\17\332\35"
+"&\312\217\323\3171\257\365\233BYX\350O\351DDZ\262s\222\305\205\264\304"
+"]qV\223B6\273\302;\37k\344\276\337\265\354W\214\246\243\276\221w\335\224"
+"\1\205\303AA\35\273j\270\201\374@\305\42\322<\364^p\336\310NM\351i\255"
+"%S\325\t\42c\355\233\31>\177C\t%\224\377\\\376\2\343\20S\230J\326\373\334"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0"
+"\0\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\331IDATx\332\355"
+"\231]h\34U\24\307\317\314n6\331lw\273\315\346\203T[l6Z\254\237\tZ\252%"
+"\326\32\243\240\321\7+\250UZ[A\360E!\240\251\264\264X,\242\264H\212\245"
+"\30\20\37\304\22\205Rj0V\20-\42\24,\245\204\22%\254 5\321J\32\326t\23\327"
+"\251q\362\367avg\316\354\316\334{\263\263\217{^2{\316\231\337\2359s\357"
+"9\347\336h$\27M\'\42\302\22UE\264\263\0\0#^\35\334\353\260\344\242V\r\332"
+"\235(\312\241*\320\32\27l\34\66\7\17\334\17\16\r\213\211\240\270=\3402"
+"\256\7\243u\258;\'\255\277\207\3\321b\6\0`\241\203\302\247-^O\220\300\235"
+"\3\0L\306\211H;\b\0\60\223\225\343\366\1\0N\205\254_O\1\0&*\16_7\0`\277"
+"={o3\0\340H\205\264\25\6\0\3643\315\252)\0\330ZY\340\316\3\310\247]\272"
+"\310Y\0\346\252Jp\7\0dJ\227\275v\24\300\317\25\204o#\200\321p\271~\27\200"
+"\241e\323\342\6p\3003\205\334k\2\275\276\21\362\321\257I\321\337\31oS\362"
+"&\3028\325\204\244\t[K4\265\267\'#D\327\256N\377\221C\240\301Z\237\377"
+"\326\225\357p\262\267\236\231\365s\231LF\225\25\335\221\205\207\34k\266"
+"=\6\0@\255 \255\30\202\237\34\213Z.m\0\0\225%\22\332\13\201,>AD\244]\0"
+"\0\324\311iw\314\330\267^y\365\256dX\3274\275q\355\223\'m\355X\3\3213\326"
+"eT\3721\17\331\267\35muY\352\36\272\\0\344\326\307M\353JV\335b\27\212\260"
+"\321rW\255\'W0\26_\240YL[[\364\307\343\236\366\360\260;\2207J\23\223\325"
+"\342t\372\271<\353\302\335,\242\365\26\275L\301\250[8\256K@\353\261\275"
+"\272E\203r^\217J\267\264_\34\340\335\16\3561_\247\224Q\364\231\224\315"
+"\365\317m\334s~.\341)\333g\203ln\326\331\353\371\25\256\346O\361\261\35"
+"\375\257\177\222\341\26\37\261s\275\217\307V\'\36\353\24\226u\241\7\362"
+"\353\n\352\355\300aB%\3454\27\234\77\3656\37q\36\356\1\245\24\366\201\345"
+"\374\215\247\261\215M\245\210\22.e9_\3624\236ph\243\212\351\372\24\0`V"
+"0\24\0`\213\42n\275\345\356ez\213\341V\252V\301Y\370\24\213\220\351\320"
+"\26\224\13\335K~\305b#\257,\312\270\224_\261\30a\270m\352u\370\262w\261"
+"\320y\2\353T\307\275\354],:8.\246\216[SZ,\2548n\342>\377\250\343~_\42\42"
+"\336fX\355*\317Y\327\226\261\253^\212jD\377\226\247\33\366\256cAz$\235"
+"\210\250\236\267\324\27\3\343\\\33\205\77\3\343\\\235\303L`\\;\327\314"
+"\6\306\271\332\214\277\2\343\332\270\6\301\277,\327\230\325}\331|`\\\365"
+"D\17<7\334\215\4\21\221\341\332\2\13\274\37>.\246m\b\23\21\315\273\312"
+"\267\250\317\355T9\232\273\342:t\n\34\273)\256I\4\216\335UW\357!\360\376"
+"\355#\42Z\335rky\302\376\345\327\271\\q\316Fyn\337\253\360\20u\367\317"
+"\262;&\272J\342m0\343\'Jo\325\344\334\220\r\225N\343/\230\343&%\\\366;"
+"\373\3623\263\24w\2329v\252\355(\277\262\257\246\313\26\331\367\256}\254"
+"\22\316I\332\377\225\341\246\271\252]\t\227\23\244\0\f3\325=J\270:QF\371"
+"\220\251^P\302%D\270Kl\331\366+%\255\244\b\207\1\246K\253\340\322\302\364"
+"y\202\351v\252\340\356\26\233\331\1\361bH\1\347\270\17z%\367\367\235N\'"
+"\374\240\234\26\223\324\212\353\354\203\16\313\27\306-\262\3223\362\243"
+"\323=\336\'\305\275\270\234$1#\233+aS\22;\242l\237}\331\362\206\4\267M"
+"en\356s\206\274]\350\330\300\23\344\240o!r6fF\253\250`\215B\5G\372\230"
+"\355\224[\355\217{\17j8\322\235S+\323\357DC;^\370\327\217)\305\221\366"
+".\333My6\4\251\302\21\325.zG\216#\352wx\371\247\313\226[\344\315\202\255"
+"\317\336Q\17J6\371\343\16\320\30h\341\217~\303\301\302\13\316\255#\42:"
+"\257\202#m;\233\244\310\35\356\353hJ$\232\322\217\16\345\371i \21mV\302"
+"\21\65\274-:\253\314\27\317\211\364\274\32\216\250\3615\303\217\266\247"
+"\336}4;\250T\f\364\356\21\17\326\354\216\6\236\341\325qD\24J\357>\303\303"
+"\370\345\366\322\242y\246\4\'\317l\221xb%\21\315\347\346\257\227\357\21"
+"bmD\3319\252IMjR\223\232\324\244&^\362\77\313\313\312\237\341\231\313o"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\67\0\0\0x\b\0"
+"\0\0\0s\2765#\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5\nIDATx\332\355\230"
+"}L\225U\34\307\177\367E\336\356%\270*l1A\345\2557\250\1\242\206e*e+]3\227"
+"k\223U\262\365\6\225[\271\314Aa\253\271\331\322\77j\365\17\253\351f\222"
+":Y\241b\255%\261B\211\26415D\206\306\0%\307K\227\313\275\340\5\356\345"
+"\333\37\3179\317}^\316}x\236\177Z[\374\376\271\347\374~\347s\316=\347\371"
+"\275\234\347!\232\2239\231\2239\231\223\177SlQ\324v\42\42\314X\235\255"
+"\31\0\20L\264\310\275\rI\332m\226\260\373\301e\217\25,! sXeas-\21\f\323"
+"w\230\346vA)\27\355&\261\2\6\274\320%\375\3563\207\271\202\0\200@&9\33"
+"$\360aS\233k\5\0t%\22\221\355\3\0@8\331\4\367.\0\340\33\207\324\333\f\0"
+"\350\230}\213\205\0\200\32\371q\337\27\4\200\375\263a\356 \0lTh<\375\0"
+"\260v\226\315\235\7\60\221\245\322\3054\3\b{\f\271\335\0\272\265\276l\373"
+"\24@\247\321\26\227\38\351\324\353\313\1|\22\35K\f\2\273\205\1P\34\6J\243"
+"\306m\372\2\32\357\26O\231\274\204p\361\277\230_\304\262p\355\335\256\221"
+"\316\346\200\301\220y\36\217\'A\255J;8\5\0\360\3258\205\377\240\340\315"
+"C\355CRP\\\252{%\235\353\267x\345\230\374\326\241\243r\367\336P\205-\302"
+"M\33mDd\377H\251\334\241\241\262\276\16C/\277\255\246\330c*M\277\352Xl"
+";\' \224\231/\177\324h2\24\240\353\210\34\b}\215\277\337\b;\227\224<\225"
+"\244\230\366l\305\344\37\363X;O\201\235\345\223uo\342^\354\252\276-/q<"
+"\206\350\34k\207\42\3639\32\370\200z\345\371/\37dZ\1772\21U\261\316\251"
+"\310\200\35\34kT\37r\311\24\323\37&\242\244n\0\300H\266l\316\340\177hp"
+"\276\346\214\367\362\t\237!\242\264\257\2\230j\310\211Xk\271u\273.\26\374"
+"\314\322\33GD\344\364\304(\215\374\t\214%\350\\\341\0\237\362%\205\222"
+"\235\334\323\361\254\177zB\3075\362\306\363z\247\254\343sV\350mi\334\26"
+"r\353\326+\344}AT\17\370\370\243\312\327rN9\367\365\t\42\344\26o,\322r"
+"n9\242\376\26p^\371\364\264\\\2448N\b\270\20o8\265\\dt\234\250\264\361"
+"\206O\313\215L\313\365@\300-\320m\224s\350\344\375\245z,6\215\267\256\352"
+"\236C+\357\77\240\347\362\370\266\372\6t\334\t\336\27T\254u:\307\211\210"
+"\263\237\371D\300\255\263\235\347\376\262R\260\367\355\334\370\226\326"
+"R\302-\347\204y\266\203Y\207S\324\6\7\317\r3\17\t\23tQ\220\331O\253\343"
+"\275\206/\367Y\224\314^\306Sg\275\362\331\2773\303\264\277\306F+\te|\305"
+"\16\271F\346\236\344\253]\230\37\275\36\255<\234\311Z\227O\264\377\25J"
+"\311[\277\206\'\304\206\347\374\6E(\376\275qa\276\366V\30\225;\347\206"
+"\3\3\42\312\367\361B#\252\262O\4\5\276/w\33\325\333\305\307\227I\215@\317"
+"\300\230\227\310\37\42\357\344\350\320\365k!\303\n\274\370\246tI\255\310"
+"\261T\270\355m\0\200\17\355dM\266\0\0~\261\262\22\21\21m#\42\242SV9\373"
+"j\42\42\nZ\345R\245\243.\262z\371\311gy\374U\207\265\373R6\277\316\r\266"
+"\366\370nO\215+\7L\7\246\374\303\203\267\204\\\262w\266\351\'\256\2665"
+"\tJ\325u\230\20\357.\335\375j\37L\311\317I\32.\335o\16l\221k\264t\202c"
+"\275\233M\371e\206\355\'\215f\253\271\25\'\323T\353\21]>\232r\257\t\257"
+"vL6\351t\17\3364\261`\2276/\255\250\332\340 \242P\355A\315\313\267+1g\331"
+"\343\221Lq\247\312\5\62\330\355\254-_\370\367\342^\363\361\5\327)\365\317"
+"2\365~g\264\215\335\305\357w[\25\312J\226\224\253\rNd\223\376\202S\32b"
+"7L\303\243\374S\32T\269\333+\354\6\236m\310\35\225F=)\307m\351=R\263\375"
+"\232!\307\22}\227\314=\312\fWf\3611\351^\324#s\31\3140i\374\n[BDD\337\315"
+"\310\34w\265,C\356\r\351\366\363ED\263\207\177\212Xd\200\255\220.\266\255"
+"J\25w\205\206\350\216\375\230\364r\24*P*\317p\260.AL\245|\316j\370\353"
+"*u\316(\7{\313\343\365\31vU-\257\246\357kLk\42ev\364\310\313\305r\26\211"
+"\313~bg\37507\215\277\250\253\177E\3072\225\363\4\206|a\212syTi\250\271"
+"\262SP\331\253\206\f\303u\346\207\365\321>*m;3\35\5\n]\250\3165z/Nz\244"
+"\2700g\251*\4}}]\227\332[FM\274O\333RS\335\256D\'\221\227\274\336!\377"
+"\377\365;\346\77\201\340\317Z+\16\270\322\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\4\335IDATx\332\355\231]h\34U\24\307\317\314~d7k"
+"\267\233o\266j \331\330\322b\325\24\t\255\22\253\326\264\20k_\252X\253"
+"TSA\350\203\26\363`*\25Ei\21\305\42\25K1 >\210%\nEb0V\20\205\274\b\226"
+"\42%D\221\bR\233\332\220.k2\221u\343\272\371\373\260;3gvg\356\275\273\223"
+"7\367<\335=\367\314of\316\234{\316\271w\211\326T4\317\2110\321\212\333"
+"DH\247\325|\325\367\351\5\20v\233\230\2\316y^\245\213\220-n\312\35D\351"
+"\352q9\42\352s\3217\5\211\26\253wj\13\200\313.\372!\0\217U\217\13\0@w\245"
+"\332\0\260\271\206o>\5`\246\302\27\257\301\353\23Id7\0\214\226\5\322 \0"
+"L\326\22\221\301<\0\214Gx,\276\b\0\330ZS\204\17\1\0\362G\22\245\337\221"
+"=\327\0\0\27kY\25D\372\317\33\213\203\345\211\351\245Xj\260\263\244O\316"
+"\327\266\0\233rp\221}5/\350.\27\336\363>\22D\353\225r\332\303\276\22N\340"
+"\250\3\66\331\3447\2035\34\230-\261r\'6\324\236\3578\261\265-\221]\234"
+"7\250.\325\371N\2137\'\223\2110\321\322\215\271\77\f\370\272Y\373\223\337"
+":\303\356\374\256\6\276\f\277\237\235\235UeE\17e\334\26\331\231V\313b\30"
+"\0\64%\330M\247\341%g\242E\223\16\0\200\256\262\32\216C \371G\210\210\264"
+"K\0\200\220\234\266u\301\272\364\372\13w&\202\272\246\351\215\235\373\316"
+"\333\253-B\364xq\30\225~\314\223\326e\357\265;;\200\7\315\234`lZW(\216"
+"\342\22Z\354\222\t\233\2504\325\372\215\322\244\371\2\255bZ\247!NF\301"
+"Q\247#o\21\322\372L\263\\\217\227\311\1\7\3566\21m\227iU\20\334u\'\307"
+"\365\nh\375\226\3256\321M9\257\337\333\354\16\313\350U\261\203\17\333\270"
+"A\3576\307*5\277\310b\3753\13\367\204g\335\277j\331l\221\305f\310Z\317"
+"G\274\372\273\217,\357\177\375\223\f\227\337m\216\22\36\26\17\330\376\350"
+"RX\326\343%\333S\36\5\306\256\3213J5\270d\374\211\373\364)\373\341\356"
+"SJa\357\27\215\277q\235\354`\241\244\326\16\266\24\215\247]\'\317\331\264"
+"\t\305t\3759\0 -\270\25\0`\247\42nS\321\334m\352u\206[\257Z\5\323\360("
+"\26\201\202M\373K\271\320=\353U,\372xe\251j\357\341Z,\306\30n\277z\35\276"
+"\342^,t\236\300z\324q\317\271\27\213n\216\213\251\343n-/\26E\77n\3476\177"
+"\253\343\256\255\22\21o3\202DD\304s\326\322\252:n5\252\21\375S\231nx\377"
+"\353\247G\322\211\210\32\202L\363\243o\234\243\37\237\367\215st\16\13\276"
+"qI\256I\373\3069\332\214\77}\343:\270\6\376\277,\327\24\326\366e\263\276"
+"qk\'\272\357\330p6\22\346\211\216%\2422\366\320Y1mK\220\210h\331Q\276E"
+"}\256$\27j:\21\321u\256j\364\355\273\253\\\23\367\355\273\33\216\336C`"
+"\375\373\207D\264\241mse\302\376\365\267E\303\214\331(\317\355\307\25\36"
+"\42tO\232]1\323[\346o~\300\361\261\322[5\333\27d\2\345a\374\5\63\334\256"
+"\204\313|g\r\77-\224\343\306\231a\217\332\216\362+k4W\261\310\246\34\373"
+"X%\234\235\264\377\255\300\315qUR\tg\bR\0F\231\352n%\\H\224Q>`\252\247"
+"\224pq\21n\232-\333\275JI+!\302a\230\351R*\270\2240}\362s\357\247Upw\211"
+"\247\217\261\223\203\200\2\3166\37qK\356\357\332\235N\360~9-&\251\25+\354"
+"\203\216\312\27\306FY\351\31\373\301\356\36wHq\317T\223$\26d\261\22,H|"
+"G\224\31\260\206m/Ip\373Ub\363\25\373\226\267\13\r#<A\216x\26\42{c\226"
+"k\27\25\254\t\250\340H\237\264\214\f\3011\354\333P\303\221n\237Z\25\274"
+"N4\264\263E\203\223\5)\216\264\267\330n\312\265!h)\35Q\r\321\233r\34\321"
+"^\233\227}\264b\271\205_.\315\rX;\352\21\311&\377\262\r\314\r\267\361G"
+"\277\371\215\322\13.v\21\21]T\301\221v\220\5)\214w\6\272\233\343\361\346"
+"\324\236\323Y~\32HD\367*\341\210\42\'Dg\225Y\363\234H\317\252\341\210\32"
+"\217\346\274h\307\32\234G\263#J\305@\3376\346\302J\37\342\377%%\324qD\24"
+"H\35\276\300\335\370\345\301\362\242y\241\f\'\317l\341u\361\365D\264l,"
+"\257T\356\21b\35D\231\32\376r\254K]\352R\227\272\324\345\177!\377\1D\2"
+"\274\367v\374\3235\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0\67\0\0\0x\b\0\0\0\0s\2765#\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4"
+"|IDATx\332\355XMh\34U\34\377\317\314fw\263k>6\215\233\232\303\322t\323"
+"\232\332j\223\206\6E\3-~A\305\344Ri\251\240\244\321j\220\42\r\210\25\304"
+"\202D\350A)\26\245Z\212\350\241\271\330\36J \207\342\305mK)9iH\203\225"
+"P\203nSB\215\371r3\351\354\366\347a\346\315\327{\363v\366\342A\367\177"
+"\232\371\377\336\357\315\276\377\367[\242\252T\245*U\251\312\277)\212\347"
+"%J\264.ZU\243\322\3#x\223.\0Q\21\220\3F\275\32\325\277d\203\210\367\24"
+"\321=\tO\'\242\36\1-\25!Z\224\34v\3\200\237\4\372\1\0\257Hx\32\0l\346\325"
+"\313\0\266\311\254\233\3\60\305\35\371\4\202\354\305\344\5\08\253x\225"
+"\373\0`\\\352\315\210\1\0\227\342n\237\36\3\0<.\17\203\1\0\2001\324h\275"
+"\307_\314\3\0&\244\361B\244No5\37V\306&\227\222\331}\31K\377\310\3352q"
+"\227\322!\220\276\362\1\333& \36\r\23\351\315\263~\332K\341RD{\327\303"
+"\32O\205N\256\330\301_-\222>\322\32\42\377\334\324\346\207\33\13\213w\227"
+"\377S\365\245\354\342t&\271\360\307\202|\215\342\337R}u\25\0\60\333\23"
+"`\312\355\257\1777\5\0\230\33\35\314\332\331\3302c\273\364\230 \223\366"
+"\\\367\6\213\361I\23\21\21\355u+w\370C\345\rC\20\325_\'\211\206<\232k^"
+"\332\316{\20J\351\340\307>\215\247\226\274g\253s\375\233\32\352\33\263"
+"\257\335v\257=\25\215\254\262\347\32\27\355s;\222\233m]\367\202M{\207\210"
+"N\263\260u\331zX\230m\361IK\233W\210h\227\365\362\276\263`\7\243\35\367"
+"\2369\301~\333a\42R\306\1\0\277h\216S\331\17\232\364\273{\17\3330MD\352"
+"\300\34V\207#\16\272\237\241\35\\\340\344\231\261D\235\217y\340w>\24\16"
+"\261-\333x,\303\260#<\226f\330g<6\310\260v\36S\31\246\363\330%\206%\4\201"
+"n{\277\226\203\n\302\0\362o\332\342\357\267\212\275\323\3\1\317\266U\202"
+"\343IS\330\36\61\64\77\17R^\223}\32\216\367w\340|ADY\366\260\302A\347e"
+"\366\24\31\315z\274\310\336\5e=\306\214v\2057Z\212m9\304\363\236`X\277"
+"\340\267\\\263\2609\36:\33\354v\242\16\6n\367#\t\206\234\26\32\373\202"
+"\205N\373}\311jC))\256\266\213\26\376\201W\337\303>\367r\200w[\rQ}\351"
+",Y\332/\3\303\242\225}\361B\235]\275\355\322xN\22\212\265\227\331\252\321"
+"g\322\211x\252s\304\220t\4\267\354\236\27\326\353\231v\371\314shB\304\232"
+"}V\232.[\256\212Hs\37f\244\375V\375\352M\363\341\316\2177\377\234\'Z*\322"
+"\342\375\325\225\225\242\374`\352\r\0\300\371\366Hem\376\f\0\340\351J\247"
+"\203\226\240\372XF\216\3\0:+\346\231-`[\5\f\225\210H1\263|w\245\237\213"
+"Zu<[\341\274\2441/\375\374\355\315%\335Xs/(\256\27\357\257\33\342B\251"
+"\240\234\314\177\323\237\26\20/#\204\314tq\274\347\20J>\345F\266|8\342"
+").\327K\341\210\\$\266\206\373\3422\327\77\264\303z\30b\257\240\274\334"
+"\b\301\33\343X\303:\0\24\372\3421\257$S\217\rL9D\257IUk:;\23p\255\334j"
+"_~\352\334\352\215\226\372\371\340\33%\233\357\334\215n\213\345\205n\331"
+"u\213\37p\352tg\302\f\226\37\270\357]\264&pM\312{\313\\\345\334\316\32"
+"X\13\220g\334\1s\225f\347;;UN\3163\7\314[%\233\307N\272&\347\275MDD\'\235"
+"\372\302J\255\274\234um$\42\242\357\35M\257u\276\202*\241\325\232\203\355"
+"\27n\25\13\205\341`Z\275y9\322cn\345\b#\16\6\25\257>\253\201>\352\215!"
+"{0\315\211\232Vb\77\353\246O\372\220\207\2346{\373\310\346\270\23\362Z"
+"\343\316\243\323vMk\343\372_l\314\23\321w\246\363\6\3257\267mr+O~$\372"
+"Gk\327\2244]K\'\32\202L\226\31)\4\220\364s\335\21\331\275Xi\352\350\355"
+"\335\353\231\336~\273~ub\346/\204\271O+5ZMT#Z\243\365b\351\177\373\77\346"
+"\77\16H\203jX\21\62\203\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\4jIDATx\332\355\231_h\34U\24\306\277\231\335Mv7v\273f\223,[\265\322"
+"nl\265\370\257EJUb\325Z\5m}\251\240V\251ZA\360E!\17&R\21\24KQ,R\261\24"
+"\3\322\7\261D\241H\f\306\nE\301\27A)\242\245\202D\220\332\324J\272\254"
+"\351F\326\255ur|\230\235\2313\2733\367\36\231ys\316\323p\3577\277;\367"
+"\356\275\347\234{\26\370\37YJ&\313W\322\255\330\306\314O\21QmSL\264l\215"
+"\210\210h{<\270\3036\215\254l\34\26449\266U\2535\365\270>\367iM\34\270"
+"\277\334\247s\261\254\335qg\262\245Xp\3\226M\333\27\323N\271\372,\21\321"
+"\270\241W\32\42\236qm\265\366C\23\211%\26\223i\367\235Q\350\257T\212=\300"
+"\205\363s\2775(\322`C\217}A>;\272\245\227\373\217\257ggg\245\254\334\256"
+":\5\330\301\1W1JD$;W\227\35\2400;\230\263%e\42\42\22\2708\244\366\220\302"
+".m\7\0\343\4\21\21e\364\264\33\346\335W\317=wS1m\32\206\231_\371\340Q\267"
+"u&\13<l\77\346\264\77\346^\367\265\267\207|=\231\273O\267;\32k\227\265"
+"\275`A\27\33N8\260\351n\2511\322hw:\23\30P\323V:zz 8\260M\370\27\362J%"
+"m\243#k\r\207I\36\361\341\256Q\321\2668*K1\352f\216[\257\240\215\270\252"
+"\r\252A9o$\\v\243+zY\275\300\273=\334\375\241\242R\313\321\374\244\333"
+"\353\37\271\270GC\223\2213\256f\235nof\334\363\374lXRq\330]\375\317\177"
+"\324\341.\335\353<\25C\24wy\353\261Jp\254\247\332\332\375\301\335\275\356"
+"\302\321)Q\252\321\26\177\20\334\275\337\373\270;D.\354\35[|<\260\263\314"
+"\266R\217\bW\262\305\'\3;\217x\264i\241\273\376\230\210\210j\212\241\210"
+"\210h\263\20\267\326\226\7u\275\302p\313\245Q\320\316\350\3\202E\312\362"
+"h\177\212\3\335\323a\301b#\217,b\\),XL2\334\16y\34>\35\34,L\356\300\206"
+"\345\270g\202\203\305j\216\353\223\343\256\352\f\26\366:n\n\276Gh\355\354"
+"\22\0\236f\244\1\0\334g]X\222\343\226r\6\360w\267\273as\235\211\222#\231"
+"\0\320\233f-\337E\306]\316[~\217\214\363e\16\363\221q\25\336R\213\214\363"
+"\245\31\177D\306\225y\13E\377ey\213\25\357d\233\221q\361\231\31yo\370\23"
+"\t\0\360\325\203Ta\354\236Cj\332\2724\0,\372\302\267*\317\325\370B\303"
+"\354*h\344#\257\335\31\336R\210\274v\347}\271\207B\375\353{\0V\f^\327\355"
+"\260\177\376e\241\341\354\331\34\367\355{\4\37\221\271\255\306\3368\265"
+"\276c\275[\254\363}\321\254\372\275\27\352\251\316m\374\t\23\312\252~\365"
+"/\335\307\17\255N\334\24\23\16\313n\224\237\271Os]\207\354+\337=V\204\363"
+"\234\366\77]\2709\336T\21\341\32\n\27@\23\254\351\26\21.\243\362(\357\262"
+"\246\307E\270\202\nw\222\35\333m\42\247UT\341h\224\265U%\270\252\322}\36"
+"amOHp7\253\273\307Y\345@R9\367\344cA\316\375-/\323I\337\251\247\365ib\305"
+"E\366\203N\350\17\306\32]\350\231\374\306\313\36o\325\342\236\374/Nb^\267"
+"W\322\226f\355\200\272WR\37|A\203\333!\331\233/yC^\257\24f\271\203\34\13"
+"\rD\336\305\2545\244\nX\323$\301\301\234qE\215\25\341\2707H\206\203\351"
+"U\255\254\260\212\206q\310\26\354\265\2648\30\257\263\333T`BPj\227\250"
+"\236\302>=\16\330\346\361\232\17u\35\267\236\27\275\177V\312\22\34\6\276"
+"\367\200\255\321A\376\351W\274\332\236\340\302*\0\370V\202\203\261\223"
+"mRj\274\271uu\177\241\320_\275\357@\223W\3\1\334.\302\1\331\327T\265\312"
+"\246S\'2\2332\34\220\177\276\25F\33\357\365\227f\307D\301\300\3340\31\300"
+"\252\355\342\177\226\25\3458\0\251\352\356c|\31\77\335\331\31\64\217u\340"
+"\364\236\255gYa9\200\305\306\342\305\356;B_\31\250/ \261\304\22K,\261\304"
+"\22\13\262\177\1\32\251R3\335\271A}\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\67\0\0\0x\b\0\0\0\0s\2765#\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\4\7IDATx\332\355XMHTQ\24>\357\315\250\343L\376\214\311X"
+".L\33+KIM\224\240\4\243Z\226\233\240((\312\262$Z$D\6Q\20F-\nI\212~\220"
+"~\26\265\251\26\21\264\2206Y\21\321NQ)\220\222\32\5\61\323\264qlf:-\336"
+";\367\375\334\373\256\363V-\232\263\272s\316\371\356\275\357\334s\277s"
+"\356\0\244%-iIKZ\322\362\357\305\343d\360/\367\306\334O\347\177\206\210"
+"\223\33\335\302|\223\210\210\210;\\\342\356i0L\372\\\301\274H\262\335\311"
+"E\25)\3l\264\332\25n\236\215\306\335}\337K\332\347Rw\270\302\244\6\273"
+"\344\366 VD\20\21;\24G\7\'\213R\21\236\354\217\376\277\367Hq\345\34*\t"
+"L}\233\222\373(\366)\325}s\210\2108\332 FdU\36x0\210\210\210\343\217Z\302"
+",\21\213FX\266\237\24\\\205\246wh\221\370\305\2\0\0\330bVV\331Y\343p\34"
+"y\271\35\0h\263h\336Za\325\223(\224\344\236\13\66\215\345\32\235b\352\276"
+"\346\322\274\334\374\360\376\317f\337\256L\357\34\2153L\260k\244|Q\310"
+"tuS\fv\34\0\272\365q\314\24\353vr8aa\250\1]\33Q\0`\203\376\343\264\341"
+"PE\260\16\33#\322\336\16\1\200\362\2\21\21\77\32\254\253\322\206\6\354"
+"\307\335D\23\206\0@=8\216s\355^\303\272\213\254\25\\\342D(X\202\314T\350"
+"\4\276\362\251\260\227\246,\343m%dk\345m!\262]\345m-d+\27P%\331\4u\346"
+"\31\331\374\202Dg\247\237\315\231\242\302\4\262OZd\347k\205\315\364G\200"
+"c\261\362s8\351\25^\20\24Y\r\207R\\\1\373\32\16\367KVg\3024\230\345L\17"
+"e\361\24\5M\37>\245\337\305\2\276\241\240\275\346\203\26\244)\333x\334"
+"z\2625\13\366\362V\267\t\n\345\35\347c\7\250 c%\327\222\220\245[\30\354"
+"\'\272u\330~\226\304\r\311\200\230m\247u\373\31\253\276\201\226s\352e\212"
+"\343\42~\251\321+6\336pL\213bZ\361I\16coF\215=\222T\314\356%\257G\233C"
+"~_\260\2463.\251\bf\251\237\20\362\365H\271\24\25\334\373A\204\32\335*"
+"\275.\253\336\210@\343gK\244\365V\275uD\33\214\275\32\372>\1\60\223\200"
+"\351\337s\263\263\t\371\207\251\357\21\21\361a\271\327]\231\277\211\210"
+"\210\233\334v\7EN\374\270\210t \42b\215k\234V\2\326\272@\250\0\0\212v\313"
+"\353\335.\227\251\363x\330e\277\344\241S\352\277\77\64\23\213\317\233\35"
+"\22\13\211\337\13q1Q*\270\230L\334m\16\t\200\275\230\202\214\324r\270m"
+"\230\222\\\341Z\266Hj\300.\356\256\'S\3r\231X\234\332\212\77\271\372\341"
+"9\24K\5\330(\240\227\367)\340\236s\250\366\30\42bt\247/\313*\201\340\272"
+"\203\203\6\320\32RU\357\316nf\212\323j\365(\341r\314\352e\243\213<\367"
+"\300K\375\235\271\320\255\322O\241N\366\324\342\33\234\234\230\321a.\372"
+"\2663\255\367T\357\300=R\334Q\315+\310\24yT\2\3447n\267\346\345a\367\235"
+"\276\252O\216\323\32\314OI\206+\347^\265B9\6\0\0\227\r~!\252\225\323Y\355"
+"2\0\0xlh\32\365\357\213\252\22X\266\326\330^7\253(\25\332\235a\271\332"
+"\343(\226eVv\22\260\305\211\274v\352\5t\2155\207Xc\332\'*Z\376]TM\355\377"
+"\217,1\312\354\347\326\225>#\345=\371\325\'\206\31\247\225q\365/\353\271"
+"%\243\307\206#q\310-,+5+/\237\213\13\66\263aPz]\223\347\363\234BV\322\31"
+"u\0\305z\352\274\262w\261RP\321\330\270\305\322\275}y\367\346\303\310\17"
+"L\345=\255dx22=\0\363\260\220H\376\267\3773\374\5\64g\30\246\16\275\31"
+"\250\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\67\0\0\0x"
+"\b\0\0\0\0s\2765#\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5\42IDATx\332\355"
+"\230\177L\225U\30\307\237{\271\2r1\270\346eF\212)\77\372\5k\n\206Q\303"
+"\37\224-u\214Z\256&\263\351f\6Tle\323\6\313\265\2656Z\266\271V\377\260"
+"\232n&*\201\205\211\271\26d\212\2i11E\206D\374\20\334\5\272\\\356\5\5\356"
+"\275\337\376x\337\363\336\367\327}yO\377U\236\277\316y\236\3639\347=\317"
+"\373\234\347y\336\227\350n\273\333\376\245\315RT\35\361\17\260\205\r@\5"
+"\77\226;\4 \230\317\213\355\232\1\20\330\27\315GE\35\2\200\2415\234\233"
+"\3056\0@\353\375\234Xd\3\0\324\317\345=\333\247\0\360M$/\266!\b\240%\206"
+"\27\213\351\1\340Z\310\375\342\366\0\300\313\334X\314(\200\263\374~\262"
+"\3\0\362\371\271\237\1\270\371\375\331\31\0p|\266YV\215d\265\225\210\376"
+"\344\347\262\210\210\306g\343l\32I\32\21Qi\266\323\347j\371\272\237\343"
+"|\347 5\377~\16Wk\207\254\35\67\317\265\3109\24\230\266\313\200b\264\325"
+"4\367\233b\364\250i\256^y\203\315\37\260I~\276\323\346\271\34\277\214\333"
+"\306\361\6\337\ta\27\270\374\273hR\304\232\235|wb\311\376n\300\177q\247"
+"\215\377\26\332\35\221\364\37h\26\236\311\13\326>d\37\3558\3433\2302\307"
+"\341p\250\2v\342\301i\0\200g\257\256\231-\313\337:\3246\f\0\360\265W\275"
+"\266\230\3117\273%o\370V\353\ri\25\3\212\373\207@\343&\13\21Y\77\222\13"
+"w\251\250\344#\1h\333/\271\24U\255\220\364+\314b\331=\t\335\26\374\362"
+"G\225$I\6\332\217nb\335\276\372_\7\2\266\7r\362\343d\313\236/\236\372}"
+"\216\330O\227a\347\331b]\5\3546\333\313oK[\324D\22]`\201.\264^D\35\233"
+"P+\267\377\343.Q\352\215\'\2422qpRVv0\254^i\344\234iQ~\230\210\342\272"
+"\0\0\243)\222:\211=\220k\276\312\306\25l\301\27\211(\361+\37\246\353RC"
+"\332J\246-U\277\321x\257\250\351\215&\42\262)\356W<{\3\343\332j\340\0["
+"\362Um\34|\236\225*\247&\303\7\306W\264NY\305\326,\326\352\22\2454\23\253"
+"\331o\5\33_\326r\203\36\366\2522\324\234-Y\362\24\235\33r\213u\26\251\271"
+"X\351F\375\245\303\271%\353\251\271{\244\361\244\16\347\327I\316V\325l"
+"\2752\325\316:\36\65\67:\303\306\16\35\356^\315A\31\207\16\66^\252S\372"
+"&\262\336u\315{hf\343\307\264\\:;V\337\240\206;\301\306k\265\334:\375\214"
+"*X\252_\364\t_\254Fw\221\371\313*\235\263\2272\345\333\2324*\345B\3358"
+"{U\324\216\250R^\4\213\r\301\247t\3t\346\35Q\177Jy\337\367\262\355>\13"
+"\23\331\13Y\350\254\225\277\373=AQ\332\22\25.%\24\262\35\257\346I\321\373"
+";\266\333\245\371\341\363\321\252\303\313\304\336\225\23mC~g\372\3725,"
+" \326m\365\32$\241\271\357M\350\306kw\261Q\272\263m<0\250Gy>^`D\225\364"
+"\351A\276\323\333c\215\362\355\222\232,\241\343\353\31\34w\23y\375\344"
+"\236\32\33\356\276\3417.Xn\2\0.\27\247r%nk+\0\340\3+gu\260\31\0p\216g\'"
+"\42\42\22\252\276\223\274\2345\227\210\210\356\360r\t\202\2513y\213\237"
+"\f1\216\27\231\2576-DD)]\342\310\325\334\343\271==!\2370\343\233\366\216"
+"\270n\351r\361\356\331\226\237\274\336\332\250\223\252\272a\242\271\337"
+"\325\324W\373`\252\235\215Sq\213\275\346\300&)G\13\26\34\357}\301\224_"
+"&Y~RI\266\230\333q*Q\261\37\321\225c\316GLxu\304T\243F\366\304M\23\33v"
+"\252\343Rv\331\306\b\42\362W\36\f\252\262\337\274\324\254gC\221\342>\205"
+"\13$\211\325Yk\206\356\343E\277\356a\33\256\223\313_\22\305\237\204\375"
+"@y\220\325w[d\302\22\61(\227\33X\244@[\340\344\211\37n5\206\246\374C\230"
+"T\30\262\3555\261\2O1\344\216\t\2636H\3676\357a\241\333v\303\220\23\3}"
+"\247\304=-*\256\315\342cB]\324#qI\242b\312\370\317X\16\21\21}\37\2248\346"
+"j\311\206\334\233B\365\363EH\362\241h\341\231E\6X\266P\3306\313E\314\25"
+"\352\302;\3663\302\307\221\177\271\\\330\300\300\2520\277\314\234\237\213"
+"9\374\r\2058u\214\201\275\333\265\277\366\254OV\262l\372\276J\265&\224"
+"f\307\216\356\\)E\221\350\224\347v\327\2160\325\304\16M\376\313\254^&_"
+"\3077\354\tP\264\335\241\bCgJ:t2{\331\260\341u\r\376\260>\334_\272m\r3"
+"a \377\245\3624\243\357\342\270\325+W\244.U\\AO_g{[\323\230\211\357iKB"
+"B\254}\236\215\310Mn\367\260\367\377\372\13\376oD\34\313\4\254\232\327"
+"n\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0T\0\0\0x\b\0\0"
+"\0\0In\212P\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2AIDATx\332\355\230\301"
+"k\23A\24\306\277I\322\250\211kS\203\207PE\2619)T-\330\203\342!\346\352"
+"I\377\0\351I<y\22<\210U\301\233=\324\77\242x(\210\350E\17RP\350A\244\6"
+"\261Z\202\7\221\212VM\21\33\273\244$\237\207\325\356$;\3351\331\255P|\337"
+"e\277\235}\363\333\235\367\226\331\345)\374\235T\2\0\330B\214R3$I\327\211"
+"\23z\231\236\346T|\314a\376\321\255\330\230\231\225u(O\306\225\320g>\223"
+"k\273\342\201^\241\256J\42\16\346\261\337\264\363\13\336\361v\f\314\254"
+"K\222\\9\210\324}\217z*zBgI\222\13\16\0u\223$\331\314E\205^%I\336KzggI"
+"\222\257#\246u\204$ym\375\235\77\354\222\344D$\346N\227$\317h#\3\37H\262"
+"\24%\241\317I\376\34j\33K\317\220l\16\364\16\35\'Y\355\334D\324\35\222"
+"ozN\353(\311\7\251\340\370\30\311\311\36\231\216K\216\33\267\245\343M\262"
+"\34\222\265\20\350\276<\352U\363\245\334\1\260\2\321\277\223\2\260\315"
+"\22\323Z\323Nl\301\r\2\0\22\264hJ\237d\13.\2Hl\306\362\267\16\64\5\260"
+"\4\240\77S8r.\333~m\376au\371G\3X\322\7K@\332\311\27\313#\35\305|\364t"
+"\261^#\260\330y\207C\332\367\235O\262\241O\323wQ/\317X\310\212\313Z\\\332"
+"\266\310i\77v:,\247o}\373\245a\203>6\332 t\325\267\357\255\345\370j\264"
+"A(\215\374\r\3244Z\310\313/P\201\nT\240\2\375\17\177{\314JZ\273%;\272\207"
+"\236hI\241\266D\365\347O\333\246^\270\3215\364\333g\33\264\42\205\22\250"
+"@\5*P\201\nT\240\35\320\244o\373\255S\323F\33\204f|\273\337\n\335c\264"
+"\206\337#\255-\227\267Ag\375\330\27\33G9m=\301\245\321\276\260\264\25\246"
+"\364\340\273\203\372\222\25\240\256\3\30\314\r\35\r\314\254\277|\367}\31"
+"x\245\365\7w_\2\266\347\13\303{\3\301\237\346>\326V\201\311\232w\323nz"
+"\322E\351I\213D\42\221H$\22m\256~\1%\202\312\357\240\377\306\260\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217"
+"\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\225IDATx\332\355\230"
+"OH\24Q\34\307\177o]W\374\263\253\353\37\60\262\260R:\4\222A^\42\242DOz"
+"\311S\'\261[\327 \352\20-\t\336\352`\20\335\272t\351P\210x\223\42\17E\220"
+"\207\220\20Y\254S\210\207\376\35\262\330\324\335O\207\315\231q\347\265"
+"\357\315\214\24\310|/3\373\373\275\317\316\374\336\314\373\375\336o\224"
+"TJ%DD(I(\251\5\0\n\351p\3705\312z\253\302\320}\354h*\4\335\260\341\340"
+"\234\t\36\370K\227f+\23\24\277\201WK\211`t\377\37n<_>\336\tD7\26\0\330"
+"8*\311\3312\1776H\340\257\1\310\247EDM\2Pl\261\307o\2\60SS\376u\21\200"
+"e\353\360O\1p\313y[N\24\0\356Z\322M\5\200\21\217%\373\21\340\274]\340\213"
+"\300\317c\273l\251\5\240\230\265\301s\300j\3452Q\367\200\25\213\360\7\200"
+"\271\244\337>\1L\33\351t\1r\332%v\272\b\203Ub\26\21\221Cm\362cU\77\240"
+"\245[X\222})\345I\221\311T]}c\2729\333\376 \0\336>\326\321y\240\353p\247"
+"\366\77\315:\207O\366p\42Z\354\211\250S\327=!\42\222\271\320\27.\366\35"
+"um\205\210\335\227mBO\335\213hS\367%\32\276\375\357\37\\\214\307x\214\357"
+"9\256TX\274ytz\215R\211W\327\373\222\206\213\364\370r\335\311%o\361\230"
+"j\n\204\267.VV\237+\312\36\37)\372\253\327B\255-~\25\235\336\325\332\341"
+"\267\321k^\331\340\23\345\355\355h6\241Tfh\331\303_\266\300\373\1\326\373"
+"\335}\233\247\311h4\342\365\33\300\303\32o\223\262\3428\'\215\3703 W\321"
+"\344\270\5\64e\302\201\373\225\336K\216k\320\214\257\372^\346Z\307\367"
+"\330\214\37\361\273\379\35\226\21\177\242q\17\31\202\367\340=\272\335\207"
+"\343\315\30\26\354\366\7\215\321-\377\365\6|F\267=\331t\316j\f\370\254"
+"\316\3506\364\r\6|Yg\304:Y\255GK\225\337\243\341\233\321\360b4\234=-\23"
+"\61\36\3431\276\357\360\244-\223\324\342\351\352\35\264\322\f\364\342\303"
+"\316Y\233\16o\323\f\364|\337\32w+d\276\327w}\325\233w\375\343)\317-\245"
+"F\353\332\217\17\357.\252\245\347o\326>\361TDD\306T\307\301\201\301\335"
+"s\374~>\377\371\327\334\246(\221\354\327\352_e\376\232w[\277\375\347\347"
+"\36+V\254X\261bU\321o\2\240w\261d\352\317v\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0T\0\0\0x\b\0\0\0\0In\212P\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\223IDATx\332\355\230\277KBQ\30\206\337\253i\245\210"
+"\2254\\\f\32rj\250hhh3i\24\207\206\346 \210\246\376\205\372\3\32\332\233"
+"\245\301\261\245\206\206\32\232\242\42\220(\32\32\214\262R\242D0\36268"
+"\234s\177x\77.\345 \274\317\342w\357}\317s\3579\237\212\36\200\20B\b!\177"
+"\303\0\60(d\332\337\332\201\24nY\0\200\220%P\324\7I\341\f\200P/\246\337"
+"\77\322\1\300\312\2H\306\314\331\225\270\375Z\371\360\276\376\331\2\252"
+"\372\311,\20M\2442\271yG3\217\316*\215\232\5T\234w\230\376\322V\374$\356"
+"\3734\221M\275=k>3\316i\271\2504\311\222\312\226\374\326\364V\225\257-"
+"Iz\354Y\272\245MU>\212\355x\363,\335R\313\323\337\205\37\317\22|\363\363"
+"\263\17\0\253\313\316\13w\373\1,\371|\347u\335vv\327\372\27\330\250\236"
+"I\355\214\2525\77\25\303\5\25.pM)\355\333\257>7aC\32:\34\\\272\330f\243"
+"\372\242\373\345%i\350\306N`\351\373\213$\275f\243(\245\224RJ)\245\224"
+"R\2074\254\312\24484\352Y\272\2451UN\212\322q\317\322\343\347\221\366\337"
+"=%I\317U\366\242{*a\333\23\254.D\374\226\315,\352\341\203\264>e\3\60\266"
+"\1\244G\246\346\\#\33W\17\37u\340F\333\37\34\333\2\206R\346\314\204+\374"
+"|\371Tk\2{\265\316M\203\354Ig\270\'M\b!\204\20\322[~\1\333\362w9\223\223"
+"\2$\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0"
+"\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\365IDATx"
+"\332\355\230\77,\3Q\34\307\177\357z\275\246E\245\177$\25\177B\20[\243\213"
+"U\220v\322\311 \246\246\22\203\325b\221\b\211\321`\20\213X,\6\42b\23\202"
+"\301\302$\322\310\5c\323\301\277A\27E\177\26\356\256w\257}\257}B\310\373"
+".\357\345}\357s\355\373\335\373\375~\327\2HIIII1D\314\231\242j\36o]Cc "
+"\274Z\5\36\36m\2124\267\266G\250\367dk\0\35\342\207\25\261\275+\242\241"
+"\353H\3\0\370\207\242\265\355\375K\255\2575\354\335\242Y\261\320\35\211"
+"\205\356A\f\177\373\371\7\367\247q\25\0\306\342\266\305\265\317q\222\353"
+"\4,a\31)2\362\214R\331\325f\313\231\301\317\361\244\232\324\355\376s\265"
+"\216\7\'\244V\2741\271\234\305b\21Og\242j\325\241\353\273\260\36\341\305"
+"\372\252\360\340\271=\7\246\b\77>\362\356\314\241c7/>M\315\301K7\37>_&"
+"\207\367\t\17\236FDD=\31P\b\361\3073\26~\202\3\217!\42\346b\206\325\237"
+"7\371:&\356\315#\342\272\313\342\371\256\fs\201\211\37 \342\\\251\3513"
+"\33\250\306\302\21q\305\356\216\33\3260\33\277v\34f\267\341m\262\361N\247"
+"\275\361\345\2752\361-\212\35gl\336\202w\323\336>\f\327\317H\330\267[\312"
+"\242\331\376\275\f|\207V\355\n\306\314\305\300wi\213E\363\f0\360\fm\21"
+"\271\213UN\254T>\213\341\5\61\374]\f\307om\23\22\227\270\304\377\35\256"
+"\3622*\25o\250\374\13\232P.\264\342\tc\26\242\341!\312\205\246\264\224"
+"\331!\365\36\307\347\223\36\335\364S\232\345+iIO\2707Q\332T\213\207g\331"
+";\334\6\0\200Q\322\324\322\77\\\32\343\233}\375\376e\257\0\4 \360X\371"
+"_\231\262u7\370\364\313\317]JJJJJ\252\202>\0\303.\354eR\304\362\235\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0x\b\0\0\0\0"
+"J\331\204x\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1fIDATx\332\355\2271,"
+"CQ\24\206\377\276j\205\226F%\224Hh\232\222\260H(\301Dl\6\203H\304f\265"
+"\333\304Nb\266\261\331\304`3\210H;4\202\1\21\213D\4AI*\244\215F~\213r\336"
+"{\365\332\245Dr\276\351\336\223\357\336s\317\275y/\367\2\177\211Kv|AO&"
+"\225\263\30\341m j\212\30S)\222\344\356\240a\212/\222\327\246@\323\25\363"
+"dg}\337\361Z\222\363R\214\274S\262\322\230\317\224 \331&\304\232,-$bn\0"
+"\r\7$\317\345\224;,@r\355\214$\331)\304n\222\214O\217\316l\24\30\260,\247"
+"\334\'9\0\0p\367$,\342\226\334\310:\222\343_\275\226u).\231v|\202\274\225"
+"\201\300\\\276\300x\324|F#\35H\36\232\217\2565\26\251\27299~\206R\316\257"
+"\243\262\210\304\267\317\206\227E\330\3\0\243\344\354\3450+\0\344\206\1"
+"\4}\315}c\226\322\36\66O\357^_\200\264}\\\373\275\250#^\357\224\242K\230"
+"~\307\305\370\205\351r\254H\376\224\350h\362w\367SM5\325TSM5\325T\263\254"
+"\246Q\262\351\371\351\211g3\373E;\344\260\224\352I\371F{\32\362Z\357\311"
+"\356\5\0\241@\270\327\266\312\314\321E\372\21\270\\\375G\367dEQ\24;\37"
+"\351\357;\311nDg\276\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1oIDATx\332\355\225;H\303P\24\206\377\244\17\225\330\227\217\252"
+"\330\242RTp\22\244\203\272\2118\270T\350\42n\256\356n\356E\301\331I\334"
+"\334\34\244\2728\210\226v(\242KEQ\334\304\272\244KA,\324\362;\244I\233"
+"\320\230\16*\202\367\233\316M\276\234{r8\334\13\b\4\202\177\206\244\7J"
+"\217\347]\255Z\336\216\235\1\343Z(\257\252$\311\2139\331\244l\223/Z4\364"
+"L\235\312\206\3220\374$\267\0\0\261\32\233\331\33\250\33r\216\344(\0\370"
+"*\264\220\213\273\0\204\257I>\0\0\316\331\202\374\301=Ir\n\0\246I2\273"
+"\266\270~\324\302\334\5\0\\\221\234\5\0\270fr\26#-\1@\210d\302\370\207"
+"\310a\263\261\243u-I\276JM\255\bl\352\325g\353M\223\26&\221\27717|$\36"
+"\353*\336\26\312b\366\332\33Lm%\273\275\35\235\212\342\177,\232\25i9\330"
+"\33\36\214\fG\3\306\343\225\343\206\342\6\3409\371r#\331\271\2266\24\67"
+"\200\332>\0`b\336\331\227S\3060%lS\266TL\271\77\236\234\313\275sV\336~"
+"\256/B\21\212P\376\246\3425\356~[%\252\7!\273\224\256\252~Jel\214\376t"
+"\343\346Lu[\16\370$\202}\361%\237\351\203\322i\241TV/\365%\355\310|[_\4"
+"\2\301\257\360\t\236\240\b\244\23w\374\203\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0x\b\0\0\0\0J\331\204x\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\0\315IDATx\332c`\30n\200\221\201\201\201\201\201"
+"\35\277\242_\377\341*\377\343W)\364\236\201\201\201\211h\333\7V%\361~\37"
+"\5C$%\23\210L\206\377\277\240\f\266\377\4\300\241\201O\237,\f\f\f\277\35"
+"\31\30\30\204\270\245\314\274\321\274\366z\375\325\227_\27700|\304\324"
+"\247\366\n\311\37G\204\361Y\241\215\244\222\7\257cx\220T2\342\365\321o"
+"\344\360\306\253\362\377`-\31FU\216\252\34U9\252rT\345\250\312Q\225\243"
+"*\311P\311D\264JV\214.\t.\225\346Hl\t<N\341\n\375\213\324Z{g\315\206\336"
+"Nf\256c``\220\340W4\301p\345\367\363\367>\276e`x8o\b\265\223G\301(\30\5"
+"\243\0\23\0\0\273\323\214\351\373[\367\303\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0!\0\0\0x\b\0\0\0\0Y\16\304\214\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\0\302IDATx\332c`\30\5\243`\24\214\2\362\0#\3"
+";~\5\277\30\31\376\343W!\304D\320\26\372\250 \354\227\321\370&=} s\230"
+"X\330\3309\270\271\371n=CQ\301\350% ,&!#-\313\17\27\r\330\210P\301\302"
+"\300\300\272\205\346\261\317\302\300\360w.\3\3\3\3\203\2325A\325L\355\377"
+"a\300\37\227yXU \233\374\347\16A\227^#\250\342\353\300\345\227Q\25\243"
+"*FU\320L\5\33\214\301\215K\205,\214!\210\303<\346\337\2602\350\20v\5\242"
+"\233\341\245\324\377v\36\324R;\230A@\304\324\215\27E\375\333\255\227\337"
+"~zs\20\312\373\217\13\34\242Rx\214\202Q0\n\250\t\0\225\205V\327\262\215"
+"\6A\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0x\b\0"
+"\0\0\0J\331\204x\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\207IDATx\332\355"
+"\226\77K\303P\24\305O\2226-\266`k+\324\16B\25\n\42\16\202T\304\311E\241"
+"\5\267\202\253\243\203\210_@\27\77\205\203\243\253\210\320\17P\334\34D"
+"\2448\bB\7\241\376\245\255\377\252A\217C\3\276$\257i\227\n\205w\226\334"
+"\234\374\36\271\367\275\233p\201^\245\331\27\23\370\224=\17\352\370\261"
+"Dc\226\244)#\313\344a;\322\377\314\204\214\\\0\36\35d\13@N\2\306\3@\335"
+"\341$H^H\310u\222E\207c\220\344\204\7\64\232$\247<\231\263\242\273\311"
+"]z+]&\311}\315i\346I\262\344Z\35\260H\3628,n\3656IrF\226;im\304\354\373"
+"\360\312-I\362\314uF\200~\225m\7/\'\227\215\310d~\334\366\307j\336\255"
+"kQ\242U\331qd$\350\246\274[\222U7X\350\324X\306\226\203+\305}\2320\264"
+"vmc\255\275\264\264\77E89\32{\257\327\232\30Pi\0\20\352\2\361\313\16Lv"
+"Q\331\365\305uQ\77\310\0\0k\t\300H$\235+\270J{8\252\334\275\275\2\r\357"
+"\272\354\275P\307i\302\357\25\323\2\31\365M&*\220\232oE\342o\215\276$\377"
+"w\77\25\251HE*R\221\212T\244\42\373J\352=\223\301\316c\271\213\234\27\342"
+"\224O*C\305oaZ{^4\335s\262\261\3 5\234\231\363d\371q~\323x\2\252\7\3\64"
+"\'+)))y\365\13\27}+\255}\'\207\312\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0 \0\0\0x\b\0\0\0\0\266\314\257\262\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\1\200IDATx\332\355\225;K\3A\24\205\317N6\17X\37"
+"\tI\304W\4\25\4\13\13\13\5\261\217\20A\5\21l--D\374\5\66B\376\203`k\37"
+"\242\351Mk%A\5\265\261PR$\20#Jd\325c\261\311f7\231\270(\246\2219\325\235"
+"9\37w\356\336\35\346\2JJJ\77\226\6h\1\340M\346\371\5>M\0\263$\3\62 O\36"
+"CXqT\6,\0%\b\240\6`^\342Gt\240\2\0Q\222\27\22`\213\344\6\0\370Hr\242\315"
+"\367UIN7\212\341\245h\5\366i\27\237$\311C\315\355\247H2g\305\272I\222\231"
+"\220\263={$\311\31G9\244\271\35\256\257CK\17$\311s\253\223\200\270\236"
+"\262\234\347l\341\311\230L\215\325\301\241\242\375\3115J\264\3428s\\B\354"
+"\270\212\216\335\267\372\313\255}\331u\331\271H{k\203\233\267u\267v0\354"
+"\274\17N&\26\17\277V\212\325\377x\355\233\261\320\3\301\220a\364\335<:"
+"\1-\25\216\16\f\216\216$\372\355\315\265L\23\320\341\77\371\366\b\341U"
+"\203\'\240\343\343\b\0\60\265\350\305\212\264\375\257W;$\223\2\216\274"
+"\357w^E^y\1/\335\351\203\2\24\240\200n\3\366\2047:\0\t{\204\311\223\371"
+"\314\306\13\223\227\372\361ls \245{\\O\361:\302\261\271d\257\13/\237\26"
+"\312\325\322\231\265`\'\345\377\244\17JJJ\277\320\27L\375\370y\n\213MD"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0x\b\0\0"
+"\0\0J\331\204x\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1MIDATx\332\355\227"
+"\275J\3A\24\205\317n\334\211\77\1\301\25\214\26\22\33A\264S\24\264\262"
+"N\'\210\235\215\215\215O\240\344\25|\1\61\235]\260\20|\0Io%V\n\246s\215"
+"BD\t\30\226c\341\22\207]fv\232H\204{\252\31\370v\356\234;\247\270\13\210"
+"D\242a\224\7\0\305\34\210_\311B1G7\0\340;W\37\49\2\240\267\r`jbn\275\232"
+"\262\366ry\367\374\371\1t\262\337-F\232\217fh+\261\254\221%\353eJ\32\351"
+"Y\35\365\364~[I\376m\77\205\24RH!\205\24RH!\7J\372\316d\220\36b\215\344"
+"\206\266.[\2562\276\33k\323\332\333\226J\317\311\205\32\200\362\344\302"
+"Z\346\226\335\333\307\316+\360t\376\217\346\344\254\366I\236V\224\227["
+"\343\202\214f\\~.\256\311x\332\245t\215\344\201\13\30\222\344\230\213\367"
+"C\0\255\256\313\231m\222\r\227~\372!\200\312\357~\264`:\362\'\0\375\214"
+"\316Fuc\217H\222\'\311f\217\344\274\t\275\42I\36+ \330\274\'Y5:ZIb\326"
+"~\'\311x\325b\276\256\245\362\301\372V\376Y\37<\312\213\331R\203$\233;"
+"\312%%\305\300\203hx\364\r\353a\346A\363&|s\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0 \0\0\0x\b\0\0\0\0\266\314\257\262\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\1\251IDATx\332\355V=HBQ\24>\357\345{*\232"
+"\31j\26i\30D\21\64\4\21D\355\r6\24\66\264\265\264\264\264\7EkcsP\270\271"
+"9D\77\270&-\16MAE\344\322\320 \n!EA>\276\6}\336\347\353\336\373 \22\202"
+"\3367\235\363\276\217\313\271\347\273\357\336C\344\302\305\277COg\32J\205"
+"\77\32bu\274\4\09\277\210\37\63\0\0x\351\345\363\236W\264p\315\27\244\321"
+"\306(\373\252\262p\205\205s\\A\202\2051\256\240\304\302{n\r\23\254\206"
+" \277\312\202\311o\13\372\240\225\232\374\241\42\352\224\222)\3\205i\251"
+"7\252\342\236\317\77\13\2537\212\352\321\275\276@ \364\360l\25(\351pd`"
+"01\234\354c\307\367\304\3623\220v&\367\337\251\6G\201\207\214c\42\42\32"
+"_p\322\252\373\355S\277,X\214+\260\254\333xt*\362\326I\360\326\235>\270"
+"\2W\340\n\272-\320\315 \20$\315\240_0\214|\2327L\221\313\307N\331\323"
+"\274\37\354\270\212W)\34\235]\354\34;j\3477\265z\365\262\231@\204\342\257"
+"\364\241\23\353\0\16R\272\350\375Vs@%.y[.\0#*Y\177\17\300\206\204\217\0"
+"\200_\262\213M\42zz\227\254P\5\220\227\364A\215\20Q\212\21>\333 I:\0@3"
+"\323\241J\326\276I\0\300n+Y\3\60bS4\335\336\321\211\264\371;\0K\366j\246"
+"Z\26V\353\0`\314|\2577k1\272\314\353\250z\324\346\267\4&O\346\1\340*\243"
+"K\f\363j\356\254\3663|\1\3\356\370>\235\317\22\272\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0x\b\0\0\0\0J\331\204x\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\1\25IDATx\332c`\30H\300\214E\214K\222\345"
+"\7\61z\2716\376\377\377\377\215\5a\205\34o\376\377\377\377\377\377\177"
+"_\202*\347C\24\376\377\313A@!\313\177\30pE\223aB\343s\303Yj\4T~\207\263"
+"\236\23r\347\36\230\355\302\204T\212\374\205(l\'\34L\362O\377\377\377\377"
+"\277\202\21]\234\21S)\243\206\362\233K\337\30F\1m\1#\3\3\3\3;\1E\377\177"
+"A\31l\377\t\200C\330R\35n@\13\225,\f\f\f\277\35\31\30\30\204\270\245\314"
+"\274\321\274\366z\375\325\227_\27700|\304\324\247\366\n\311\37G\360\246"
+"zm$\225<x\35\303\203\244\222\21\257\217~#\2077^\225\377\351\33\236\243"
+"*GU\216\252\34U9\252rT\345\250\312Q\2254U\311D\264JV\334\335\7\64\225\346"
+"Hl\t|\235\275\320\277H\255\265w\326l\350\355d\346:\6\6\6\t~E\23\fW~\77"
+"\177\357\343[\6\206\207\363\206P;y\24\214\202Q0\n0\1\0\263\215\300\332"
+"\2242\325b\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0!\0\0"
+"\0x\b\0\0\0\0Y\16\304\214\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\261I"
+"DATx\332c`\30\5\243`\24\214\202Q0\n\250\17\30Q8L,l\354\34\334\334|\267"
+"\236\241\250`\364\22\20\26\223\220\221\226\345\207\213\6lD\250`a``\335"
+"\202\327\26&\202\356 \254\202\205\201\341\357\\\6\6\6\6\6\65k\202\252\231"
+"\332\377\303\200\77.\363\260\252@6\371\317\35\202.\275FP\305WZ\205\307"
+"\250\212Q\25\243*\6P\5\33\214\301\215K\205,\214!\210\303<\346\337\2602"
+"\350\20v\5\242\233\341\245\324\377v\36\324R;\230A@\304\324\215\27E\375"
+"\333\255\227\337~zs\20\312\373\217\13\34\242Rx\214\202Q0\n\250\t\0_lS\271"
+"\272\202\217\331\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0[\0\0\0x\b\0\0\0\0\270e\321\335\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2\301IDATx\332\355\231;h\223Q\24\307\377y\324\204\244i\232\6J\233\16\22"
+"\37\rX\324F\245\203\17\64(\42\210\223\2108(\24\nn\216:\bN\5\227\272\b."
+"Z\4\227\242Y|\214\235D\304\352\240AKt\220\306\210\bM\353\243)\261I\215"
+"\361\270\224\334{\277G\276G\253`9\377\351\236{\317\371%\337\275\347\336"
+"/9\27`\261X,\26\213\265^\345\1\200\200\205\23\375\324\367Y\305\374j\0\0"
+"\66\220\205\236\350C\275V1\227\0\357_\234\223\377\225\355\7P\317\0\350"
+"\n\'\206\216k\26h\376~\276\364\243\2\224\r\2267\3 \36\356\333{\314\257"
+"\16\24\36\275/U\227\200\2026\242\177NZ\215\247q[\211\226\256H1\331\260"
+"\271\347\200\344\327n\363\321\17\213\220Z\253)n\227\330\36\233\354>\21"
+"\62\325j-\353\362\224\332dWE\363C+6\271H\7Zo\371\315lf3\233\331\314f6\263"
+"\231\315lf3\373\337\376\277\264\251\320\316\35\211\271\227\271e\267\37"
+"%\227\r\324\221\360\370J\367e\355\243\306D\310\204+v\272\336\354\317\371"
+"m\262m\316\367\340+\1\34\274k\352Vs\301\16\77\227\255\223Ie0(\232\337]"
+"\260o\251E\204a\365\37\275hV\234\263\343gT\373\264Y\252-8g\237\323\226"
+"+\324\365\27\315\222s\366E\215\255\326F\244\262\306\274cv\240G\323\361"
+"@\261\242\2429\353\230\35\323v\334Q\254n\321\374\342\230\35\325\330o\247"
+"\25\63\271\232\34\f\251\346\362\1u\313\356\226\206\34\357\371-JQ1\257-"
+"c-4\207\36;\77\7\27\1\0o\16\372R[C\225\251\31\315!\26\20Sv\317\3719\330"
+"FDD\'LB\266\213\210~\347\357\206z\321`\326\233\32\21\315\31\27\347\367"
+"\5\42\242I\343\2106\21\60\356\346\335\320MDD\235\206\21\303\42`skv\320"
+"\370\335\360\302\364k\205\32M\377\327\26S\33\61\256=\246\210\210(\243\367"
+"\367L\232\256\244NG$v\257\324\237%\42\242\264\316\377\232p\277n\261\1O"
+"5$\366\267}\342\364\f.\22\21\321y\265\216\352\237\20\336\323>\375C\1\360"
+"]\1\320\23M\356\321%d5W(\177\5>\336\306\306\42\0\240x\366\331\357f\372"
+"\36\312\212-:\273\251j\231\34\246\367\r\333V\36\251q\363h\262\263\243#"
+"\261\177\254&y\274\13\331H<\363\273\214\336\317\346\16\67|X\25\33\376Q"
+"\223\341|\312\336\206iy\7\3235f0\370p`\255~>\356\32\225\257\r>]\35jq\207"
+"\344q\316\367E\42\61/P\253\224\227\32`\261X,\26\213\305Zk\375\1z\342\354"
+"\230,\357\272&\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"8\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"\256IDATx\332c`\30\5\243`\24\214\202Q\200\5\60\243r\371\24\4~\374\301\252"
+"\220[I\344\307o\\\246\210\237\374\377\377\377\377e\234\2302\274\333\376"
+"\377\377\377\177\227\0v}*\177\377\377\377\377\377\377\377\17\274\3502\302"
+"\337 2\277\245\260\351c\371\362\37\n\316\242\3110\336\207\311\274b\302"
+"\242\321\353\77\34(\242\312\350 d,abH&\4 \230\26\250\32\35\21LO,\32e\20"
+"LQ\264@C0\245\260h<\211`\336@\325x\5\301<\207\305\217\352\b\237\360\240"
+"\5*BF\6[\260\356\200\311V\240\313L\202\311\314\307\32\217\254\'!\2623\31"
+"\321e\230\326Cd63aO\1\214Aw\377\377\337a\200M\306\361\342\377\377G\255"
+"\31q\247]&\234r\214\214\2439{\24\fI\200\234r\31\231X\330\3309\270\271\371"
+"n=CW\305\314\314\316\306\301\315\305\377\3646B#\243\227\200\260\230\204"
+"\214\264,\77\242\330\332\310\300\300\300\300\240\246+\42$&&.\257\300\2"
+"\227\251\350\204\27\246\f\254[p\271&\275\b\217S\231\310\365#\331\32Y\30"
+"\376\316\205x\310\32\303\214S\20\31\5\33v\374v\267\303\313@\177\2640\315"
+"\202\313\224c\265\34\227F\6\306O\230\32\221\334\367\347\16.\307\374\337"
+"\210\77p\256\341\364\306=\374\32\277\342\324\370m0\304\343\250\306Q\215"
+"\243\32G5\216j\34N\32\331\340}E\22\65\312\302\30\202\244id6\202\261\302"
+"I\322(\272\1\336\16\262m\347\301\241\3747R\253\203\201!\230A@\304\324\r"
+"\271\233ZQ\361v\353\345\267\237\336\34D\327\370\1\265\212\307\5\16\301"
+"T\224\303D\342\311\215\216\17\344j\374\214\342G\302\235&Vrm\204G\354{\22"
+"\65r\300\30\37I\324\b\357]\177!Q#,1\376\373EbVx\7\215\306=\4\262\25{\362"
+"\351/;\\\20\201\315\b\13\234\265\4\34\6\31\229\13\317f\354\260\204\243"
+"\216\77\b\77\241\2478i\230Ff\274\32\213\340iU\36*\342\3\345\317$.$\376"
+"\377\367\202\212@G\1\376\313\341\37\214B\344\16\350 \13\33\224\273\217"
+"@\277\0\256\357/4\211FA\371b\4\42\r>\220\324\n\35\0\373\r\341\246\23\212"
+"\355z\230F\35\6\6\6\6\6\241\247\20\3362\202\231\210\17\246q=7\3\3_6t\4"
+"l\33\21\211\323\17K)2\221\250\221\216\20tmoL\210L\324b\333\220\265=\366"
+"#\241\200\21\212\330\366\373\377\377\377\377\277m\216\222\42\330\325\305"
+"H\n,\377\377\376\35\311\343\0\0`\274\337\213\246(\245\21\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\346IDATx\332\355\230OH\24Q\34"
+"\307\1773\273\2666\333\256n\13RF\324f\271\220d\256\221\207R\302\204\350"
+"P\227:D\227b!\350\326\255\77P$\204\321E\17\t]\312K\27)/e\335<y\b,\242\26"
+"\223\315D\324@\2424!\223MG\266\361\333am\337\274\267\357\355\314t\210\240"
+"\371^\366\275\337o>\263\277\337\233yo~\357i\344(M\'\42\302\32y\2246\f\0"
+"\60#^\301\313((\243y\343\32\361[\267=qF\256\b\342\260\227\4_0\16\371\250"
+"{\360\32\354\32\325\335r\251u\342\374D\341\267\333%\27\66\1\0\271]\24\34"
+",\220m\356\22\34\1\0LD\210H\273\5\0\260\252\335\2007\0\0O\2\205\336)\0"
+"@\326E\232\315\0\200\233\305\347\336`\2@\217#\267\311\4\200\23\66Kl\26"
+"\0\332\235\22|\r`\271\216\263m\30\6`\305\312\203\235\0&\305\27[\353\5\60"
+"^6\315\26\0\317\203\245\3664\200\273e\270\210\ttJ\247\303A\13\350 \42\305"
+"\\\331\36\247\37\223rW\365N\302(\375\27\222\17N\310\201\372i\311\355:\34"
+"t\225H\377\323P\377>\30\224\31\321ND\361\360\266C\307\5\367\364\263\311"
+"\271\225e\242i\3071O\331\226U\f\204=D\324\3018S\367\222\343\7\326\314\254"
+"y\1WXs\306\323\250\342\337y\216>\350\203>\350\203>\350\203>\250\256s\214"
+"\375\215\265\363o2\253\36\361p\337zIr]\214 \306\312\225~\311\246-_\364"
+"f\202.A\235\210\232\336\262\253\233\36)\3032E0\374\322n8\235\340\374\225"
+"\254\371M\4\37\360\365pZUA\347\4\60~\226\217\350\214\252\272\\\24\300s"
+"B*\365\374>\2145\347\4\360\212\0\362\265\250\255\322\374\312\203\241-\2"
+"\370\224\353U\261\346\27\36,\331\r>\344z5\254\271\300\203U\2\367~\214\353"
+"&\224\217\303\340\271\3256\276\320<`s\361W\356\346v\42\331\270\20\300b"
+"\3215,\314\216%\42\42zw$\220\334c\344F\246\204\3026\3042y,\334\262\2\0"
+"pR\361~\356c\301\324\13\239\377\221\210\310P\200\27XsJ\364]\2\200!9W\301"
+"\376\260\257\304Y\3\0\220\237a\244\31XW\352}%\277!\21\31\26;\312\221\270"
+"\223P\234DhC\312\241)h\0\0\220*\261\3670\256W\232I\345\22\0\340\42\277"
+"\355\r\3663n, \37\274\35\5\367L+[\343\364\243\13\214\373\274Q\265\16\355"
+"]\37\5\353\376\261Du4Z\333\332m\332\336\303qC\275\260n\375\244\336I\337"
+"\13\224]\321\273\24X6\351\264\232o\356\226`\203\r\256\276#\315]\3636h\366"
+"NK\310\375\311C \22\211\351Df\356\373\262E\276|\371\362\345\313\263~\1"
+"\4\244W\356b|\315\204\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0(\0\0\0x\b\0\0\0\0\245\33\357F\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\66IDATx\332\355\227\77h\23q\24\307\337\345bR\32\23\333()(\265A"
+"A\207\252\240\250\b\352 :I\351 \16\322E\304\241\240[A\332A\f\b\16\202\16"
+"u\21\7W7\t\245\20\34D\212\b\202E\304A\244\4\\J7\361_\317p\30\256\37\207"
+"\373\335\337\\\356n\220B\345\336r\277\367\315\'\367{\277\367~\77~\357D"
+"2\313,\263\377\315\264h5\'\42\302F\342\277\227\0\60\313I\340-l\373\240"
+"\305sGp\354^,7h\270 \247\343\2|\343qt+\375\3019\374\3661\327\217;\252\210"
+"\253+\366\363A\37\256d\2`\354\223\374\202M\236\215\16\360-\0+e\21\321\356"
+"\2`\rE\201\267\1h\352\266w\t\200O\21a\36\3\340\216\233\347q\23\340a\17"
+"\267\335\4\230\360)\303\253\0\347\302\1.\3\235\375\1\255\260\4X\303A\260"
+"\1\264\303\33A{\4|\16\204y\22X\314\367\6~\r\230\367\371e\23\32\221\333"
+"\345\204\5\347\275_Fw\312\357vt\25\206\352Bv\256=Q\327\213\205\201\322"
+"\340\216\265v\24x\340\360\256j\25562V\367\2523w\337\35\372J6=\23\67u.m"
+"\214\251A\337\324\357\236\212\210H\375L1m\42n\270\247z6vj\36\257\247\214"
+"\221\205\264\213\371\222\26\354lJ\36\63\60\3\63\60\3\2670\330M\13\376H"
+"\13Z\377\374\215\353\t\340\266\264ot;\254\357\t\340\2003\370\231\0\216"
+"8\3#\1\34U\317\215\77\t\345\372\246.\327\227\241\22\26\257/\33/.x\335\205"
+"\346,\346yh\242\16\0\357\13\216Pt\256\353\203\301%\376R\362kG\331\343\200"
+"z\0\234q\357\3731\245L(\377It\344pQ)M\345\357\rp\272\367]pJ\365\277\312"
+"}\25jS\\\316R%\236R~-\2244#\364\225S\351\332\356t8\273\r\7<$\42\42\325"
+"5\333{\326\323\336U\34\260Y\22\251\334\264l\247\25Q\333Izm>\262]\274\34"
+"\306\276\36\357\263\tj-\77\266:\31s>\252WZ]\200\316\342\324\356\304\326"
+"U\317cY[\272\17\377\13O\250\266\323\317F\36\66\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Q\0\0\0x\b\0\0\0\0\257GA\24\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\3\300IDATx\332\355\331_HSQ\30\0\360o\356\352\234"
+"\212\245fh\246\241\204\364b!j\206B\231\232\246\211\204\222(\25\275D\24"
+"\6\32\25A*\275EFERT$QFAH\276\364\207\42\213\42\250P\b3\313\264\240\324"
+",)\233\250s\316\351\334\351\341n\363\273\352\275w\367\370=\24\356{\331"
+"8\347\333og\367\317\271\3379\3\360\2067\274\341\roxcq\207\16\0\222Tr&;"
+"\\\357b\302\25\23;\255\3167L%z\335\37\271\244\234\230\0\0\340C\376\253"
+"\377\7Q\0\200Z\0Xj\f\213\213\327K\373\254\235\337M\23c\0\303\356\226\'"
+"\243\0Aa\361k\205\271\220\251\375\307\310\340\354\306\340r\13:\314\177"
+"J\374\344\206\21^/=#\323\217\366\307\312\244\36Ai\205J\327\334[\224h>\271"
+"J>3\3%\206)\35\254\6w\332T\3352\245\304D$\352\225\306\330\355\312\352P"
+"\271=\22\220\250\224\267\303\225To\0\22\61\244_L\261\227\253^K\236\211"
+"\272&\347!,\5\42\261JL\260\25\3\221\270\313!\202E@$\26\3335\200\236\210"
+"E6-\240\7\342vm\240\272\250\25T\25\13\265\202j\242vPE,\320\16*\213<\240"
+"\242\230\317\3*\211y\\\240\202\310\t\312\213[\'\370@Y\221\33\224\23s\255"
+"b\323U \22] \263\255\243\21s\306\335m\35\6\n1\7\227\5g\b\304-\26I\365\220"
+"\261`1\333\42-Hz\202\27(fYfW\2357\26&fZ\346\26\262\13\272\2577\213\240"
+"\343\212\3\265\17F\360\213\233\234\340\1\270\210\7\371@\307+\272\300\203"
+"\0\201_0\271\217S\334\350\4+\0\0\322\354\250gl5\2378&\276T\212=\247\360"
+" \337\350\271D1\169{\f\357qk5\277xx\246X\265\241\346\311$^\361(\352\253"
+"\301\35\37\215|\3421\311:\245\5w\235\347\22\253\244\235k\306Q\237#\213"
+"C\254\231\335[\211{\373B4\213\'\346\256\370\236c\362\26E\335\23;\212\311"
+"\22\212\332l/\26M+(\352\307\207\230|\254#\20#M\230,\'\20\241\24\213\226"
+"x\212\312\276\21\223-\2\201\30\66\300\24/1\216\365L\1\26\247R(\326\\\327"
+"0\331\25@ \6\367`\362\2\305J3\23\77\32\359\24\353\353:<\310\376P\2\321"
+"\330\215\311;\24\273\n\251\370\321\310\312\bD8\215\305\241\225\4\242\361"
+"+&\233\345\247\214d\224\346\247H\356\221}\302I#\33e)\27LA\22q*Sno/\37/"
+"\366\25E\351\367\t\367\267\315\227\344\237^\217/\335\251\332$_\331\303"
+"\230\367n\326\223\335q3]\230\331\307m\6\200%\306\320\3109\307wz\3004a\6"
+"\370\275\323\335r{9\0\204\204G\315W\370\330z\206,\0\325:\0`*\363G\337\314"
+"\336]o\214\332\364U\2608\367q\275\361\257\206G\253\35\237\244\224h\303"
+"\364\257O\257\206\211\2765\272\325y\363\216W\370\221\200\33P\25\3612\226"
+"B|\212\347\230V\201@\374,\231\266v\23\334\205\257\245\333\270\4c\214\222"
+",d\332\324\322=X3\232\33\314\21v\207\335n\25|\0\240\253\201\344t\373\307"
+"&\246\246%_\367\240r\22\377CR\217\211o\0\0V\0\200{\224Si\17c\254\315\227"
+"P\254`\214M\346\23\202\271f\306\330Y\2729__<\302\30k2\220\201\276\227\255"
+"\214\261\206@*/\240\250\2351\366\363\270@\5\246}\230d\214\335\215\320\21"
+"y\361\317\34\214Y\32\63\351\316\261p\216\261\27qz\240\274\262\313\326k"
+"\371\275\177\1\67\r\243Q\222\367\355\377\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\3KIDATx\332\355\230]H\24Q\24\307\317\270\273\356"
+"\266[\315*EfI\351C\370\342C\231\32*\4\25\nE\4Id\232H\30\305\226aP\26YO"
+"\26IA\22V\206\204\344J_\366\365`\206\21\n\225\24j\220\24a\226\220\253`"
+"\42\211\255li\352\272\377\36\326\371X\335q\347\316\6\25\355y:\367\336\371"
+"\315\271\347\316=\347\334;D!\tIHB\362\237\n\'(\6\236\267Zy\236\347y~\374"
+"\200JXO\271\333\254<\317/4K}}\244\32N\333\241y\332a\301\370\34\24\254\247"
+"\256&\42\42K|D\20o\321\25C\220^\rx\'3,\363\371u0\13\3665\30x\362\37\372"
+"\316!8\4\207\340\337\237=\225%\262Lq\250\264\77\20<\177\237\342\320\345"
+"\376\277\327\347>\216\210\370\270\314\222\5\362\336\201\346\266w\37\7g"
+">[\246\224\364\13\305Z\2\347\245dN\235eA (\316sW\\j\247-,K\376\264RS<\244"
+"\336\347i9\232\344-(\5\217\346xH\301\347l7\0\240}\371\234\26\374\303\331"
+"\223\0\200{\363\210\35\336\343\265[\21h\77\370\203m\36\0@i\300\205\361"
+"\3\37\361\262\'I\3|\312\333.&\r\360Y\0\200\3470\261\303\334E/{PC`\204U"
+"\356\'\42\242\321\247\354!\251\253\361\262d\271\23\316\n\207\337\312\23"
+"\3245e\214>\33\353\245(\204g\13\223es\375V\371\221\274f)\3ll\314\360i/"
+"\272\241SX\30I\335\224.d\315\25DDu\256\30a$v\242E\265\317\0\200j\335\312"
+"\21\261\341Nc\202+8\242\335R\323\21\301\0\237!\42\242\233R\307C\365\360"
+"qo\217\265G\352\262\251\204=\342\325(\335-\302\243\t\314\311\240T2\335"
+"if\205\365\255\22}\215\265V\271s\244,\277w\'k\241\373|H\322\253bY\253\244"
+"\275NT\371\333\6\326\22k\223\226 \3454+\374-\177J\324\217e\260\26\367\347"
+"\347\245\350\254\215f\253UD\206v\351{\265\32\31\217\25\223\271\337%\267"
+"\2539\277\260\250Zf\322\335\262\324\235[\311\3713P%Lm|\366tZd\21Wk\364"
+"\363\367\240C\34\3368\273\300\313c\375M\342\314\315\222\42K\230C\5V\337"
+"QS\243O\226\361<\316^<\375\267b}\216\211\217\216\3679.\321T\217c\3309|"
+"\202\210\n\23\310\264$)r\326\\\34\335O\312\211\310\6\5\351%\42jP\32E\303"
+"\37<>\206D\353/-\77\37\42\61)\30685\370\341\245\223\375\2651B\24\217\26"
+"\205\263\262\353\6\244\275\364\42\226\21n\222\357\304v=\33\374\311g\37"
+"\347\261m\317W>\255,6\313\313\332\344\226;\2\235I|\305ewE\271=n\367\230"
+">\214\210\272\354\254\13n\212]\235\222\272\366:\0\\b\276\224\375\354!\42"
+"\32#\42\252\327\30\360\16\0\35\6mp\21\200\211\315\332\330L\27\200\13\232"
+"\362\215.k\4\300\3\243\26\326pu\f\200\335\242\1\65o\177\13\340K\211^\3"
+"\233\372~\2\300\375(\216\35]\325\354\1~\334\335\240\355F_\16<\213\323i"
+"\255\6\273\222\3N\370\27yz\301*\20\17\244\343\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0x\b\0\0\0\0\234|^\35\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\2\321IDATx\332\355\226Kh\23Q\24\206\377ib\222"
+"i\232\332wLE\355\3\3\212Z\205,\352FtW\4\261\270\320\205t\241)\42.\n\325"
+"jm}tQ\32,\255\340BE\27\342\23\67]X\37 \272\321\26\27\245\340N\24\264\22"
+"\204\330b[\315\263I;\231\346\270\230\233\244\315D3Wpw\377\335\371\377\373"
+"e\346\316\344\2369\200\220\220\220\220\220\220\220\220\220\320\277K\202"
+"\365H\36[y\232\320\255,\363\270\0\204^-\1\0*)\217\202\256\34H\336\367\210"
+"E\337|\3061\367\365\257\331p\f0C\31\301\32\207\263\301V\244-H\305\247\346"
+"bj|q\25U\361\334\r\0$\1\0\366\370z\323\201\353&\373\251\253U\372\235\226"
+"\335&\42R\307\203l\215\77\33y\230U\257\247\32\7\210H\375p\322\225\271\315"
+"lV\317\234R\35\265\3711\21\305\357\254\7\374\372\253\3251\313\221K\325"
+"N\21Q\360\264\3\200\217\255\361\25\306\312\357\245\210\302\',\0\200\261"
+"\364\223,\204\225\\S\210f\275fV\372\374\344\367\241 &_L\20%\274\326\77"
+"\376\313\362b\216\301$\321\217\343\22\2700\371r\214(q\314\6.\254\244\177"
+"\231h\326+\201\13\223\373\243D\341\277\354+/f\357]&\372\331n\6\27&\373"
+"bD\363^\13\270\260\342n\205(\322^\210\312\301\212\7\22D\364\272\30\\\230"
+"\355\354\2\21Q\344\220\304\203\331\373\223Z\361e;\7&\367D\322\7\353\241"
+"l\30\263_P3\347q\241\303d\20\263\365\205\211\242/\227\2642\320d\f\253\351"
+"R\211\42\235\256\')\255~Ve\b\33\216\22\205;\255\330:\255\325\213}EF0\225"
+"(\321%\3\350LhF\310c\4#\n\2351\3\300\332\373\254\36\337d\4S\317\331Y\'"
+"\376\241\31\312\240\1,\324\235\371V\264\205\331\366\16H\5\261\36{\266%"
+"<`Os\242\221\253)\324}b\346]\13\17Vt\224u\375p\233\211\247sYn1\367\363"
+"\26\36\f\r\223\332\366R#\245<\230t0\246\331\261S&\16\fE\303\354\350\315"
+"yx0\324O\260`\264\222\7\303nvf\225+\22\17&\r\261\333\f7K\34\30j\337\260"
+"\350\335F=\346fY\205~\342ieQ\362\206\276\261\267\260\2549\317\2400\311"
+"\262\305\216tG2\301\264c]\355\6\367\341\363\354\3607\313\226\32\247\263"
+":\230Z1I\275\235\367X\1\300\274\267I-\255v\232\242\0\312\3\201\231\240"
+"\262b\2R~\315\4>\326\254\272\236\245\345=\13S\241\351\300%\3433\227\265"
+"\365{&\34\2\314\240\205<\257#N9\306\322\350\213]\373wns\1@R\f\306BBBB\377"
+"I\277\1n\316#J\211+\335!\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\363IDATx\332\355\330\277K\33a\34\307\361\367%\376 Jm\252`A"
+"\305\252u\260\b\42X\225B1\4\304\301\321\n\342\250\203\340\320\271K\241"
+"K\35\305\275\340P\305\277\300A\207\22[\\]D\234R\202\n\242\221\240DI\212"
+"\236\3628\230x\27c\222\372|\17Tx>\313=\341\356^\271\347\271\207\273{\276"
+"~\212\'\30j\77\371\207(\237\225RjR\42X\77\224RJ\251Z\1\261xC\250!}b)C\250"
+"\19aW\210\t\365QL\244\373\305\304\234\270#\333o\244\303i\217ZR\342g@:/"
+"v\337!%\246|Rb\271\6!\221\350EJ|\361\77\360\244\334\237\265\315\260w\214"
+"\211\350F\0\276\362\22\7]\250\222NH\225\310\253\342\347\373<\350\313S1"
+"\312\200\3150\4\252\352\333\207;\356\354\\[\337M&/\341\354\1`\3457\367"
+"H~\322\274\306m\207\230\321\35\217U\247\31\3215\216\234f\322\203\373r\365"
+"\354\346\2071\214a\fc\30\303\30\3060\306c|\237j\347u5\304S2c\243\t\302"
+"\277E}\3615\1\t\331x\4\1NeF\'@Jf\f\3\244e\3064\200-2\202/3\237\323\2#\4"
+"p\256D\306W\200\250h\256\277x\17\360Wd\214\0\20\223\30\326,\0{\22\243\247"
+"\16\200C\2111\357,\274t\215\376\256\233mB\337([q\255\372\364\fk![FHi\33"
+"\337\307\263\255t\376\263\320E\26.\212\370\227\306n\333v\376u4:\315\326"
+"B\304\207\370X\261\25\254u\340\254\325\243\367V\311\312\7\243\356\232\200"
+"\235\367|l\371\345\336\277\37\256\314\375\203\300\333\321\310\235\n\315"
+"V\366\335\3202\1\325\301\206\276\272\\\262!B\362O\3544\323\307\266\356"
+"\373*:\261\377\256\7\25\316\234\7\357\271\35\17\214\270\7\306\21&&&&&&"
+"O8\327\344\1]\330\202`\253\32\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0 \0\0\0x\b\0\0\0\0\266\314\257\262\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\1\22IDATx\332cf\300\t\4\354U\336\177\307-\315\220\373\377"
+"\377\377\377I8\245\31g\375\377\377\377\377\377\377B\270\344\27C\344\377"
+"\273\341\220_\n\225\377oG@\3767\33~\371\3776\370\345\277\231\343\227\357"
+"\307o\376Uy\274\356\373\35\302\210W~!\'^\377\77\324d\300+\237\306\204W"
+"~3\37\3>\3717\246\fx\345\313\2311\204\341,!9\6\206G\357\30\6\0 \5(\23\63"
+"+\33\'\27/\277\200\360\332\217\310\n\30cE\304%\244\345\225\220BG\365\16"
+"\262\31L\3771\200\n\2624!7\20T\300\302\360\277\211\201\201\201\201Q\303"
+"\217\235\220Y+\260\272\1\t\b\23r\344{B\216\374G\236/F\25\214*\30U0\252"
+"`T\301\250\202Q\5\370\25\260`W\200h\255\360bW \fgam\n3\252\336D\264Q\342"
+"\331\220\315e\nd\20\2212ueAQ\177g\327\2557\77\256\334d`````\373\217\13"
+"\224S%\34F\301(\30\5d\0\0\214\346\323o\277J\246\f\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\2`IDATx\332\355\230MHTQ\24\307\377o"
+"F}o\254A&\303F\6\5c\314B#J+\233M\37\bB\21DC`\13\27\341\2426!\270\nw\255"
+"B\2506-\42!b\266\221\4-\243\242\302\212\204\20#\314\302rV\2113\343\243"
+"\341Y\243\362\306\323\242g\357\315w\3353b\312\375o\336\271\3347\277w\316"
+"\271s\357=\367\2RRRRR\233I\n\200\200\277\304K\323\311\222\234kTB\247\212"
+"\377\336U\206X\376\27F\5\200\27\n\240y|\365{j\263:\243\323\261\5\303\4"
+"\276\374\3\360\300cg&\3574\ny\245\305m\3043\301|,N\331\366;\321\234&\363"
+"\232\302\343bn\270\377\207dH\206dH\206dH\206dH\306z\324\247\302:\347\3"
+"&Gy\214\273^`h\224\25K\243\27@\234\227\217}\0\240\363\30\235\0\60\317c"
+"\204\0 \306bT\37\341\307rT\345\307r\32\0\322,\77\\g\0@\'\16\343X\275\25"
+"\n\203q\1\0\220\3400\266\207\371\214K\36pc\361^\6\2331P\367\373\31\27g"
+"4_\1\327\217\232\21\315\262tQ\306\326\207{W\315X.\303\321\254*\210\b\276"
+"9\376\307\316\23\213\317\261J\25\232\256W\337\267\331-=\247\177\307\202"
+"}V\327\203\371\b\255\327u\347\235@Z\311^\37\373\276:\373\215\241\366\214"
+"\25{[\347\305\341\231\254\33\232\330\352}P_\17\240V\327\4<9_]\212&RV\214"
+"\265~-\217[\237v[\373K\260\253P\366\324\226\226\342#\224(\303>\27/\3C/"
+"\3c\36Rk\42\245\370\36\322~\260AM\317}|\365]\370\3\rc\326\264\370\331_"
+"%Z\33\314\332\223\353e\223\30\343\211s\206\216\211U]\2373\246y\257Pm\371"
+":\243\25\26\362#\360\326\351\307x\301\367\334E\30F\304\360\233+\246\231"
+"\252p\1\230\212\b\16\215\326\264\377p\250\343\36\21\321-\321:yq\6\0R\0"
+"\360\210W\323G\211h\274\222\305\350\'\242\345\223,D\267AD78\13\236;\234"
+"$\242\21\225\201\250\274\235\42\242\310\26F)|v\202\210\276\r2N(\241\17"
+"\313D\364\300\257\b\23v=]!\372q\377\4\353\230v\223\350\371N7\363\274x\376"
+"\320_E\361\13s\3555\362\26\320:\372\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0 \0\0\0x\b\0\0\0\0\266\314\257\262\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\1\205IDATx\332\355\226\77K\3A\20\305\347.\27#*\331"
+"#\325A\b\230\24b#(\376%v6\202\245\251,\362\1\264I/\3427P\4\5K9\354D\33"
+"\261\222\4DT0\26A\42(i\24\4\203\210h\b\232\30c\236\215\271\273\220\335"
+"\\\243Ed\247\32\356\375\230\235}\267\305#\222%\253\315J\261:\77c\314\317"
+"\230\2563f\36\332\200F\2015\306\30\323u\33\245\23r\2=\361\226G\250n;\270"
+"\2\32\225\223DD\212\321\357qACY\324k\236{\304\375\222\333\16\27n\300\223"
+"\33\360\371G>H@\2\22\220\200\4$\360\37\1\237\325y\371\200\337\352\30\37"
+"\230\264\272(\357\254\300\302\263\25\17\260=\2508RPp\231\364@o\244q\335"
+"\227\\\276\360\221\335 \42\242\1\210\352\340W|h\263\270H\244\16\217\206"
+"|_\217\327\247\257\202(\226\376\361\347=\321\301\323\'\362\266\205\307"
+"a\16\220t\232\234\326\232\201\\\303o\2107[}\326\200\307\232\'\4\317\235"
+"\23\62\365\317v\312,\232E\243Z\253VK\232JD7&\357\42\235\341\241\361\350"
+"\310\26\0\254\333\221\325Q\345[\42\242\22\21\321~\213\27r\7 \343\25\3\t"
+"\0\225\31\261>]\4\260\42|h\236X\1\300\236O\244{7K\0\314n\201\3345{\t\340"
+"aQ\23\350\321\253\n\200]C\341\313}\251\32\360\2663%\16\371\253\300Q\244"
+"U\276W\347\306x\303\277\1\33\200\307\225>\272W@\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\2\211IDATx\332\355\230\315K\324A\30\307"
+"\77\273\256-j/\312\366B&a\346\301\310\242\27Q\272d\222\227<t\310@\272\204"
+"\35S\302\240C\5A\27=\206`\305B\320\241\240\277ak)_\350\320%\244\27\355"
+"\320\346\232A\230\246\310\32k\332\232\277\16\356\366{_w\177\317B\35\346"
+"{\232\231g\3463\317<\314\374~\363\f())))\375\23\371\244\200\232\7\313\232"
+"\26=\343\267c\375\305\33\f\375\245\255\367\275\333\275^\237o\232\260vi"
+"\3266P\305z\277\1\275\345\220G\306^C\313r\251a\274\77\367`\\4\224\203}"
+"\336\30\247\214\225\253\233\364r\0x\333\2%\245;k\333\352,\243\206^N%\22"
+"\253\360\3\200\244\311V\77\352<S\360\2661\n\355\26\37\257\230b\324\355"
+"\352\357\270\336\251\317j\333nb\334w\215\307S\2758he\314\365\30k\25\256"
+"\214Y\275\230\26099\320\266\242W\246\3151u\326o{S\244\364\300\311\352\320"
+"dg-0\225\13\303Ik\343\343\300\213W\300;O\373\343\257\266\2|\2201\352\200"
+"\325\3572F\17\320\257\211\30\241\32 \214\210q\23\3708)b\354\276\6t a\370"
+"\242\300\320\33\21\343^=\254\265#a\364t\1g\27\262u\271\256\37\314\243N"
+"\366\33\232\246i\275\331\247\311\316\360\207\35\21\371\234\227\315#\307"
+"\200\316G\2Fk$\0\77\33\307\354\356\345\276=\237\5`t\307\30\2\306\374i\350"
+"kH:X\362X\313pWt\302\321\220OL\303.\355^\316\276b(\206b(F\376\367 \213"
+"v\225\301LR\306x]\5-\303\242\265\370\253\2009Y<\312\1\26e\214\203\351["
+"\274\204\321\6\260$c\\\6H\211\30\345\333\322\327i\1\243\31`E\23\61n\1\304"
+"D{}K\3\300\'\21\343\34\0q\t\303w\7\200/\22\306\361\20\0\337$\214\207z\342"
+"\345\225\321t8\235\344yg\4\42\206\254\317\33\303\3678\223V&=3z/dJK\366"
+"o\241\1\351\376(R\364DO=Rv\77\366\350\305}n\210\23\63\35\3312X\337\264"
+"~_\217\259\1\212[c\306\214=e\373>V\77\67\332\277\266\4\315\23\224\354\77"
+"\77hy]y\237\3717T_\202\262\362\312\306\220\31Y9Hb$\276\230^c\315\221\n"
+"\7\267\3429\277\345\270\253\277\0\377\271\317\5`\314\24\2001\213\222\222"
+"\222\222\222\322\177\254\77R]\212\316\177\245\322r\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\'\0\0\0x\b\0\0\0\0T\20\264\313\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\1\224IDATx\332\355\226\315+DQ\30\306\237"
+"s\32\63\65>\247\231b(\37\303\324\20\65)a\203\362Q(\362\17 ;Y\314\22;\13"
+"\66\226$\345\37`k\245$\377\301\254H\215L\223\225\5\262\323\210\231\307"
+"bp\317\31\356\34\13R:\317\352<\347\375\235\373\276\347\276\347~\0VVV\77"
+"(Y\346\257\t\267\306\7\247\27\252\13\23\221\275,y<.\1@\0\263\241\332\272"
+"\206\246\210tVD\257\0\210\355\245\202\273\357M\3\200\344\'\265\1\300\226"
+"\343\273Jp\215\212\317\372!\335\252\235U\306\276\r\b\2105\0\20\261)\237"
+"V\337\311\260\272\312\247l\367@\313{\250U\322\355\344\315/iyO4\327\257"
+"\324\367\240E\3665\327\241py-r\227P]\300u\277\330\232xr\314\215\307\275"
+"\217G\376\366\201\346`f\276\r\300\265\32\320\373\361\256>\222\34\222\306"
+"\343Q\5\0\27f.\6\340\345\326\2347Mr\23F.H\222-0\346]\5p\2311^/L\222q\230"
+"8qF\362\24Fn\207d.`\344\22$9\t\23\267B\222\3530pr\367k\254\210\253H\222"
+"\344\34\f\334\3103\311\307N\30\270`\216d\262\34&\16C\344\272\200\231\303"
+"b\253[+\277>/oO\355w_f\226\263\234\345,g\271\277\347<%9\347kQY\222\13~"
+"\214\306JU\20M9\277qs\336\342\250\0\344\fB\365=\243zQW\307\227w\331\363"
+"\224:\345\245\233\226\177\357\376YYY\375\177\275\2E\275e\7y\332\315\330"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0P\0\0\0x\b\0\0"
+"\0\0@\205**\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\370IDATx\332\355\230"
+"O+DQ\30\306\237\221\314\f&\r\32n\312lF\327\204Ql\206\r\312nR&)[\315\202"
+"\215\215R\266VR\276\0\345\13(\315\312\306B)eE\271\13L\371\267\233\232\31"
+"\267dn(\32\213\301\34\334\231\211y\26\342}6\3679\235\323\257\363\276\347"
+"=\347\236\16 \22\211D\42\321\177\221\3@[k\231A\347\267\337\203.\347\312"
+"(\362\rX\25;\344\337\17\254\6\260\347\0\\n\257\26l\372\324y}\236\312\336"
+"=\1\27\77\245\367\355\250K\261\326^\371|]\351\2o\227\221\303\207\263\202"
+"\77\244,\312\255\255\345\254\362\323_\255C\1\nP\200\2\24\240\0\231w\233"
+"\312U\247\2074$\215\204E\2\372\42\321\220\206\244\21\337NQ\200u\221\205"
+" \0\277\77\200M\213\221C=\32\314\233`T\247,J(\2448\6P\323\24\367+\3530"
+"\231T\34\3h\30\212c\0\23\361\323\2749\215\'(uhm\343\255\260-\316NIm\36"
+"s\266\336\244\278\331\7`\35\35Q\16\207\r\17\260\262\317+\233v\17\2004\261"
+"\16{\1\300$\2\303\0pC\4\16\2@\212\7\254\35 \207<\344$\207<\6\0\317\274"
+"\31V\215\3\200\231\243\1\2075\273\210+\0N\3\0\62\64`\363\4\318\353\6\65"
+"d\317\34\270\300y_\376\233&\1;\26A\235a\303\226\353\325\231\24`}\274\347"
+"\375\364/\3T\2325Ey\201\203\221w_.d\257r\36\27;d\226\214\356B\313,\35K"
+"K\266\360Te\6\354Ft\255\232\352\373\330\263\243\344\77\42v\251\16\276["
+"\351\377\360\13k\f\317\254_}z\373\374\222B8\0\304\246\0gmC\233\373K\357"
+"\343u\346\3765\25M\255.\273KC\247\335\35;0Zl\316N]/\235\243\f\373\366\225"
+"f\3M6\360\6\42\221H$\22\211\376\221^\0\36Z\332\25\1\23\263\302\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0x\b\0\0\0\0J\331"
+"\204x\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\26IDATx\332c`\30\5\243`\24"
+"\320\17\60\302Y|\374\374\374|\374\374\2\2\374\374\13waQ\311\302 4\201\237"
+"\237\237_@\0\241\207\341\b\3V\225<\261\304\331\316D\264;\211W\311\302\360"
+"c\17\3\3\3\3\243\204\6\63\261zd/\377\207\201L\374\266\77\256!\332\235\247"
+"\211V\371\232h\225\277\351\37\236\243*GU\216\252\34\352*Y\b\310\213Y\250"
+"\362~\276}\342\25A\225:Y\26\252<_n\237\230v\5E\30\263\374\24[\3\25Y#F\300"
+"\235~\301PF\260\37\1\225\261H,\374*\215\220X\324\n\317sH,\374*\27#\261"
+"\360\253\334\264\26\312X\273\211@\310\277jx\5\r\371W\204\342\350J\3\261"
+"\261\311\360j\323h\356\30U9lU\262\303Y\254\4T\362\301Y\374\4TZ\303YVx\235"
+"!\224\365\26^*\376_l\300\210\255\355-]\307 \244\240\204\352\267\367\267"
+"\236\177\374yy\n\252b\335\377\270\300\26Z\207\347(\30\5\243`\24`\2\0\20"
+"\177sCF\317\336\25\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\2\272IDATx\332\355\230_HSQ\34\307\2777\313m\266\324\334\42G\31Q-M"
+"\354\37\323\nT\350!\372\3YA=\r\246\354)\2044*|\32\370\30>HA\17A\17=\224"
+"Y>\6\t\205/RB\211\311\224\310^l\210\4c\262y\305\205\315,\357\351\341l\335"
+"\273\77ww\367\34\37V\234\357\313\316vv\77\373\376~\277s\177\347\334\1B"
+"BBBB\377\223$\0{v\30|\351K\302\220\363\220\30\350p\376\3537m@,\305\302"
+"\330\f`$\16\330l\16W}E\372\34\t\205\242\77\226\25 j\242F-\23\232D*};\231"
+"\\U%T\306s\306|\310s\352\370\23kN\343\352p\231\225\361\353_^\37\202!\30"
+"\0pl;/C\352\32\337\246\337\203\n\222\343\361\345|}\254\20\265\16\326p\346"
+"\243\244w\264&\177\77\65\324\256g\247y\353rq\232\42\6\26\n2=\246\366\323"
+"\316\344G\226\373\n!\204\220\270\2179\26\367\13\17\0`\322;\313\32\213/"
+"\350\1\0\322\337<[\350*\310\210\305\376\204\216#\347\214\3669]\35\37:\b"
+"\0\30\351\210\230\270%\264>\244\356UB\b!k=\222\361~\253\263\270_^\2\0|"
+"\365~4w\33k|\254\323\227\201r\263\255`,\343\4\364\275\335|;\311`L\272\301"
+"\311P\372-\340d,\234gk\215\32\306\333j\266~Z\346P\307C\21&Fc\360\20g_/"
+"\t\274\257e>\27R\355{\332\314\273\277\370\247X\21)\37\216GW\31.\356\260"
+"\0\23\323\3117g\303\264\236\303\237\263{\241\276\266*\204\220\2334\26\333"
+"\2037.\0X\271\336\266d\306\206[\2 \323X\356v\1\0>\370B\346Bi\0\200(\365"
+"a\1\200\265@\253I\4<P}\0\300\214o\312tJ\233\0`)U[\345^\243yDY\223\326\307"
+"\274\177\224\241\262-\245\0\24\231\372xu\224\5\201\13\0 \23\352\3435\333"
+"\362\274\222\f\205\343<vj/\77\303\17\0\210\3610*\275\0\200E\36F\247\35"
+"\274\261T\334\6\67#\340\344f\234\270\225\34\260\347\3249\230\272\317\230"
+"}T\16\37\200>\303\252\16\267\350\367\236w\'\377\216s\324V\363\304\277["
+"\207Pz\'\250\371\77$\2265_\373[\355\247\337\\\271\b\325=\363\332m}5s~\377"
+"\215\260v>\332{$\315\245\265\356Z\337\370z\372\341\42\234\372\77\250\273"
+"\r\260Y\253\\\326\254_M\314-\376\244{`\271\335\341\314ak\246!\271\277\324"
+"\235\321\313\236\255\336\240B\261\rx\26\223\213\211!$$$$$T\254\372\3\254"
+"\\\212h\355\344mO\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0 \0\0\0x\b\0\0\0\0\266\314\257\262\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\1HIDATx\332c`\30\5\243`\210\1F8\213\217\237\237\237\217\237_@\200"
+"\237\177\341.\204\2\26\6\241\t\374\374\374\374\2\2\b\245\fG\30\220\25\360"
+"\304\342\265\202\211\220\33\b*`a\370\261\207\201\201\201\201QB\203\231"
+"\200R\331\313\377a \23\253\25\217k\b\271\3414!\5\257\t)\370M\243p\30U0"
+"L\24H\b\343W\20tY\n\237\2\276\5kE \371\2;pX \217\317\r\354={\345\3419\13"
+"\13\320=\243\203U\337\177T\360o*\7^\5\317<\360\233\260J\b\257\25\357\243"
+"\361\273a\257,6y=\270\3744F,q\301Tv\n.x\371\77r\t\3\1\212\13m\361\306f"
+"\322\5[\234e\24\3\3\203\330,\177<\205\30\3\203\337l1\374\t\246E\214\201"
+"\201\201\341G1\376\24u\336\244\17\237\202\277\355\26W\3618\222\341n\334"
+"1|n\370\77\313\340\30^_$\234\'\220\354\317\217f\377Q\5d(`\207\263X\261"
+"+\340\203\263\370\261+\260\206\263\254\260\331%\224\365\26Q\200,6`Dj\5"
+"I\3271\b\b)(\241:\367\375\255\347\37\177^\236\2)\25\377\343\2[\250\22\16"
+"\243`\24\214\2\62\0\0\261\314\253y\242\322\n\26\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\3\274IDATx\332\355\231KH\225Q\20\307\377z-1+L"
+"{\251a/\351\1\31\2700-\265\260\207$\31\211\nA\204h\201\31\324\322\332D"
+"T\264\210\302\f\22205\42\314\26Vd\331\302\22C\354\251Q-Bt#\225Y\246\370"
+"\0\65S\257\336\323\342\273\326\34\275\3379\337\227\3m\356lt\356\235\363"
+"\373\316\2313s\316|s\1vq\330\264\17\332\26\331\377\213u\6\307\205\20\342"
+"\20#\320\247D\b!\204\b\346#\226\33D\221\314F\254p\23\305Vv\242s67Q$p\23"
+"\207c\271\211\205\334\253n^\316\2743\316L\37f\342\255\0\346x\374\262\36"
+"\314\304\\_fb\365|\360\22{b\300L<i\357P\325DEp\4\320\336\7\257X\364\245"
+"\277\207\217\235.\305\30\177\305wc\2\200\257\360 \37\25\201\355q\300\244"
+"D\2&C7\\\232\311\322M\36\272\215{\226\300\263\240\177\235\243\37D\22\340"
+"\23\22\26\223!\37]\276/\243L\266H\244\206\254ML\364\360\305\373\232\326"
+"\256o\322\'\341\225\362\32\n\224\221\22Q$[W\257\363\230\266\31\262U\222"
+"z\201\241\235\177M\'L\357\270\243\22rb\201\2329w\340\217\251\371\361\34"
+")O\263Es\354\306O\32\236\207U\244(\324\244^\267\333.\320:RlW3\17\33V\r"
+"\260\201\234P\327}\21\206U\246\34~\232\324z\2554\350t\7\244\26y\231\374"
+"\277\346\212\n\351\34\5\0ti\27\356\333B\327\276C\305l0\6hg\351\212\247"
+"\251\3704D\201l1\6\350}\331\267\233Z\274R\270\363+\0\374\200\205\355\251"
+"-\241\356\274j\216\354\5\200vh}\t\300\361\211\272s\227\351\200\34!\204"
+"\250\2672KL\304Q\255\306\324\235}\0\360\335\22\22]\351\324\350\215\235"
+"z\303\324\365\17nS\207\24q \221C72/\205\39.\225k\217\27\62 \321\221E\355"
+"\32\35\fH\224W\21e\3255\16$\366\367\22%w\17\7rL\272\244\36-b@\242-\217"
+"\23269\30\220(\251#\312\212\353\34H\221:H\257\232T\6$F6S\255z1\3\22\315"
+"\371T\263\22\235\372w\256\202\347\324\235\245\34H\2212J3\177/\3\22\77%"
+"w>Z\302\200\304\207sT\323\236\235\226\336_\317\320\273\177E\31\7R$Qwf\357"
+"c@b`\'\325\252\2262 \361B\252\262\33\375\30\2208\321J\13\266R\16\244k\13"
+"\255R\262\323\31\220\350\247E\r\356\2072 Q[L\265&\77\6$\216}&\312\262\33"
+"\34H\371\335&+\203\1\211\3564\252\335\13c@\342!-j\360\326\217\1\211\34"
+"Z\244\205\335\342@\216K\356<\220\311\200D\307A\252\335\r\327#\365\17\250"
+"\250\222\242S\3379\213\26B\b\241\354p\315\356\231\326|\270\243\232\245"
+"\277~\351c\332\356\262\2144Z\212\352\233\240\355\210-\244QH\315R\17)}b"
+"\7\31\t\0\b\324\\\33i\2036\220\206\237t\327\352H\254\r\244\361F\277Q\267"
+"\1-\371\226\39\320\b\212J}\363\257A\21D\222$\271m\364\265T\340\260\305"
+"\270\274\340\376\33\247/j\342\255\255;j\362\261_,d\376i+\13\2373`\2557"
+"\346v\347;=r5M\336\233\372\237`\346\215\250\221\1\233j\246tsN\255\324$"
+"\21\22\314\221g\313\32\235\36\333\233C\365%\241*\346ES\244\252i\32\255"
+"L\223f\13\207\233=q%\270\30.\212)EM2;\22u\305`\27G\333t_\316\364\367\265"
+"\200P`\250\33^\361\212W\274\342\25\257x\345\77\310ok\257\37\67\42\257\364"
+"m\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0"
+"\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2$IDATx\332\355"
+"\227;H\34Q\24\206\317\325\311,\353\306\307>\24\263AM\261\242I\214ha\4\361"
+"Q\b\26\242M\264I\243`agc#\202\225M M\260M\246\360A@P+\321\302`c\251X\210"
+"X,\244Q1\201Dv!ED\'\372\247H\2743\273sgf\235[\br\377j8\377\371\356\35\316"
+"\2319s\207HIIII\351!\253\370n\351\25=\251\354E\340\315&\0`, \314>\2\0\20"
+"\13F/\375\243\321\27\210\376\374\237F\267\24m\35224:e\350\337\3552\364"
+"\7\231;\77\252\223\250\2329\314$\350\205\260D\277\217\237\223\4=^$A\257"
+"\227Qp\372\274\215$\350)\217\231\340\335\212X-\321IF\r\325\300b,(Y>8w\6"
+"\0;SM\276#\235\25\207J\253\352^v\364\337\6Z\17`\351z&\42\354\273\326\237"
+"\250\254~R\363,\231\3670$\276\264\344%\217\315\303\271B\24\371\42\42\242"
+"7pjK+\24\237\201H\7Za\370\34\304\332tt!b\30\206\261\372#\7\237\4\0\244"
+"\7\242E\214=\356\331\263y#.uo\264\341\335\0p\372\212{\315\31\313\214\270"
+"\360\357xF\231\t\300\2607:t\310\315Y\27\274\213g\354\3\230\3165KL\356\272"
+"L\372\27\366\22\275\317w\337r\253W\214\247\354\rr\24\370\21\367\226\375"
+"\361\244\323^\342_X[P<\177\77}s\306\26o/4\335o\367Z\201\235\264\32\343"
+"\263\373\237SA0\313\257\302>\370\212\340\305\242K\321aN\210o\210\202\326"
+"\222%>\370\2217\356W\371\357\5\17\63!\376K\16\67\345\360k9\34r8)\\\341"
+"\n\177\340\270V(\243\t\361R\357S:\23$\332q\353\3078.\302\343\202DK\372"
+"\250\365\205L\327;\366g\365i\313\37\325m\267\244\17\206\22\r}\251\234\354"
+"\233\355\335\263\237X#\42\242!V\371\364uon\215\277n\245\317/\327\257\210"
+"\21E3\336\177*\256s7\226\275\347\276+)))))y\350/A\360\2Lu\243\317u\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0\0"
+"Dp\372\27\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4VIDATx\332\355\231_l\323"
+"U\24\307\277\355\272v\16\230\260\370\7\5\346:\t\213!\22\6\2\202\377\222"
+"\275\30\210\377\2f\33\60\42& \16\f\13\204(h\224\7\60:\342d\t\17c\306@\n"
+"\t\331\n\276@H@G\2lj\354\26\27p\311\6\321\354\17L\3019t\33\245P\332\36"
+"\37\332\271s\245\277{\177\245\347\261\347\341\266\347\367;\367s\357=\367"
+"\376\316\357\364\24\310HF2\222\221\214d$#\367\212\3\356\247\223\\\36\354"
+"\267\356\222\264\303\230\364\17\2(\240$\362\3474\353^I;\214I\25\340L\336"
+"\355\341\306\254\373^\270\5\22\317\357\26G\342\203\245\367\213ta\244\6"
+"pLy\250h\266K\335\267C\363\256$\3572\262o\362\364\'\13\222\334\270\326"
+"ue\250\203_\310\253\354T=\335\342\322L\345\221\265\77\252\326\2276\27&"
+";\35\r\252U\215~\201+o\216\233\306vZ\214\357\360+\310\3302=\363\245;\377"
+"\231V[\32U\251\323\374\253@\317\3345fx\6v\221\324\232\255EN\16&\354^\264"
+"\217\244=\372i\36\211[\3659l\235\313\270l{E{\373\333\370\307iJ\1\351\360"
+"i\335\331\26\377h7>=\255\354{~\243[\203\274\34\5\0t\31\221\253\206\230"
+"\262\370S\r\362\356\0\0\240\17\246\355\301\2531~:_\323t\b\20\21\221\307"
+"\34\66N\354\345\356<\370\2045\362\6\0\4\357\330\210D;\332\270;\233\254"
+"\3359\2\0\303v\202[\270\234\233-\372\314\22\31\6\200\273\266\342e\317z"
+"\256my];\313\21{!\370\350~\305\235\205\22Q}\353\5\246Lir\13 C\25A\246-"
+"\334#\200Dw\25\3276\277!\200\304\341C\212;\275\2Hl\354\346\261\321\266"
+";u\310`y\210i\13\276\20@\342\342V\256\275\267\\\0\211\375~\356\316\3^\1"
+"$\336\351a\312\203G\335\2\310\341\2620\323\346\327\n \321\276]q\347\233"
+"\2H\324\235\340\332\327E\2Hz\273_q\247\'}$\206VG\2316\257V\0\211\326\217"
+"\271\266\251L\0\211\232f\256}5S\0\31\253\274\306\335\351\367\244\217\304"
+"\3655\334\235%{\5\220h\376\\y\333\227\13 \261\263Eq\347,\1dTIj\362\32s"
+"\322G\342\352[<\341+\251\23@\342\244\262)\33*\4\220\330\21P\334Y,\200\f"
+"W\360\244fR\343\3\351#\321\263\216ks\353\4\2208V\257\4\374U\2H5\251AC\261"
+"\0\362v\371M\246M\364\347\246\217\304\245\215\\\233S\'\200\304a\37\327"
+"\326W\232\221N\3430\233xR\203\372b#r\22k-\222\2322\236\324L,5\42sXk!\277"
+"lI\355E\221\307Z+ihJ\t\231\317ZK\331\360[*\310\307Yk\235\324T\204S@zY\253"
+"Ij\336\267\177\352r#DDt\300X\250;\256\324\1.jL_\210\233t\32\307\316\357"
+"\323 \225\205\'J\4\263\215\251\351\215\325\21{\353\316\36H\f\273\313F\214"
+"\267\267\360mc6\303\217\231s\251\323v\220\317\215W\222Z&\30\231\217\376"
+"aD:\337\275\305\326\362\363\\#\2634\242E\346.\376\344W\265@\24;\265\356"
+")CUt\2675\362\273\366\201h\322\42l\270\267M\363\272F\3269K\244\256\264"
+"\273]7\315\351\203\346s\231\242\\]K\2/\212\377%5\265\342H|\24\200\270\24"
+"\376}\257/]\351!{\227\316I\324\2372\2\207\315J\300\374\5\63<\321\353]\337"
+"\377#5\360\214@\342i\272U\355\226!>;\36\310\350\274W\4\331\314\37\373\200"
+"K\2yY\t%k\4~\226\342\7E[!1\313i\77\361Yv\30\254m\375\2375\352\33\235\32"
+"\211E\42!\227\23@\267Of\323s\274%\213\226<s\220\210h\237\301\324\356\366"
+"\335\356\1\200\20\0\34\227|\324\234\275D\324\221-\211\254&\242\3602I\342"
+"\313\243DT\353\224\3f\255\30&\242o<r\304\354\372\20\21\371&\210\1s\227"
+"_ \242\337\77t\211\21\227t\206\211\350\330T\207\24p\326\231\30Q\320_*\270"
+"\323\256/\211\316\26eA\364\210\257\\\230\302\222\377\5v\42\352\n\26\317"
+"\377\271\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0"
+"x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\254"
+"IDATx\332\355\227Mh\23A\24\307_\27666\t\335)\26[\225B\342G\255B\245\245"
+"~\221z\222B\301\42\210=)h\217biM\17z\361\254^D\17*Z/J(Z\20E\350A\212\264"
+"T\305\n\226\332*Q*\225~ \322P16i\252)1\311\363\240\335\331\335\314v\263"
+"\23D\17\363\77m\336\377\375f\227\231\227\267o\1\204\204\204\204\204\204"
+"\204\204\204\204\204\370e3Oq\371`\351\'\27\356h:T\277\323\7\0\237\42C\217"
+"\246W\307\35D.#D&D\16\375\16\370:\273\326Q\33\237\234\177\301\302k:\211"
+"LdB|\2725\17wW\350\222\357v\304\363\37\240\5\365\2\0\220\2721_S\333\n\304"
+"\275\375\310\322\374\326\202p\3170\262\365\221hX\'@\3425\0\224\370=\352"
+"\35\357\r\2\0|\273\327\37I\272v4\267\255W\234-WO0\317H:\255\272\373ED\304"
+"\3053++JgS\324\334op\310CJFS\26\21G\375*\257\341\213b\16\30\340\27\224"
+"\214(\42>.\321\230\215Y\305\255e\343]\352-z&\351\334\333\212u\211\215\237"
+"R\37\220\276b`\273\342E\314\361c\371\366\233\25/\353\245A;s\245\321\336"
+"\374\330\240\202l6\303o`~lL\271\2520\301s}\214\340\224rEL\360\3671F0J\373"
+"\207\t>\306\n\322\377\252l\202O\260\202\tV\220\211O\27\334*\231\370\347"
+"\342\360\257\305\341\13\305\341K\305\341\313\305\341 p\201\13\374\177\307"
+"i\373v\2632\335&}\236\266\357R\26^j\322\347\203t\26`\341\215\214D:\t\326"
+"\365\320\327s\254\275\\\357\227\267\307\250\337Sg\243\3dm\207$o\250.\323"
+"d\343\314l,\216\'\1\0\340\226\215\254\365\7\264\303\357\302\344\\\42}="
+"\302\236\353\324\323%\200\241\335\362\257\317]\350o|I\331\33vW\271\263"
+"\363\23\303q\236\205\253F\376T\307\217\220d\235\336\27\245\345\365<`\31"
+"\37P\227\347\210\323*>\251)\357\343V\213\366\245\346W\253\325\273o|\245"
+"\276\373\270\321W\252\21\236\f\'+3\271L&\345\264\3\300\207\260\365\315"
+"_\23\250\337\33\334u\7\21\361\232A\312j[\272<\3\0\220\2\0\350\343n\b\263"
+"\2108\356\342\305C\210\230>\310K7\'\21\3612gOr\264&\20\361\241\233\217"
+"v\335L!b\330\313\5{\216\274E\304\271sN.:\370.\215\210\17*m<p\365`\16\361"
+"\373\375\3\234;\356\274\202\370t\223\203\377\375qtO\1\217\375\13\331\206"
+"\24c\353\331\337\345\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0R\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\4)IDATx\332\355\231]lTE\24\307\377\373a\233Z\224\217Ju\213!\250\rhbMx"
+"\250EJCV\320\330XR\244\30\23c\b\215F1\361\25\237\214\21\203\321\250E\243"
+"@\240\255!\4\365\1\65V\220\244J0\244~@!H\214i\226\2044\25\5\261\215\324"
+"\244 Y\272\354\376}\270[<C\367\316\334\273{\242/\373\177\331{\346\236\371"
+"\335\23133w\316\235\215\300W1 G\377{Y\204\327\nr<Q\360N\274\237\334\215"
+"b\364\36\231]R\240|\346\by&^\24\62\232\42\371\314\264\342Ei\222\t\24\247"
+"\331Y\222\333\42f\341c$\331\216b\225$\311\201\nQ\22\331L\222\273P\274\272"
+"H\362\334\234\177\7\346\0I\216\304J@F\207H2\335050\247I\222\265(E\263\262"
+"$\311\307\1\0\13/\223$W\2414\265\220$\371z\4h\367.{Q\252\336\366@\7\252"
+"6y\27%\5\62\37\316\237(\225\235\213\32253#\221\255\320P\263 \356\204\216"
+"^\273F<\35SBFON\5\262\6Z\272)\355!\37\n\342\34\t\306\254\255\3\200\314"
+"\20\312\372O\25\1*\13\24gr\226:\225\226{\223\4\20e\1\375\34\265\314RZT"
+"\17\370T\275\367\255\222\226F\341\307-\327n%\360\315\254b\333\30\7\223"
+"@\244\246\256\261\243\312l\313\367\r>C\304\266\232E--\5n\374\330\177j\364"
+"\234Q2o\257\331\207.\353L\231\277\325\364\336\177w\301\227T\207\351\225"
+"\264w0q^\274\353\233\374\274\2367\367\204\331v\346\214\211k\256\367\370"
+":\325\233\315LE\3\276\3567#(\222\3578\226\336X\336\257:8\222\17\332\231"
+"O{^\3\b\201\314\316\261\42\347{^k\315\351\347XZG\254\16\347\363\23\322"
+"\211\334\42\256\27\276kCf\256\0\0F\235\35\217\246d\337W\330\230\3^\5g+"
+"s\315r)~m\333hS^\5w,\307\37\221\36\77X\302\371\33\0\374\201\0\303s\260"
+"[\206\363}\177\344\5\0\370\25\316X\2\210\215\310p\372g\4\235$y8H+a~\357"
+"\364\373\206s\34\0~\17\204\304\350\32\351t4Lv\345\33\372\317\77\224\1\331"
+"\252\201D\247\34\310\r\255\32\310\253\215\322\372\362\26\5$\316\256\223"
+"~\2031\5$\366\364\t\343\316\355\32H<qA\30\317>\252\201\23446\251}s\25\220"
+"\30\336 ]\217\305\24\220\350>$\214\5;5\220l\273(\267\2326\5$\322\17Hk\177"
+"\255\2\22C\33\245\25dv:\221\350\372V\206\263G\3\311\326+r\345\257R@\342"
+"o#\234\373nU@\342\344\253\322r\276;\203 \361\212\334\373\27\364j \231\224"
+"\341\\\337\256\200\304\304Ji\365\335\246\200\304wF\226=\30W@\342\305S2"
+"a\353\321@\346\226\312,e\375\32\5$\376\222I\r>K( qp\207\264\216\305\25"
+"\220x\341\27a\334\376\201\6\322\374\266Y\327\241\200\304\330ji}Z\247\200"
+"\304\27\62\251\301\361\270\2\22\2352I\253\333\255\201\274j\204\363\311"
+"\265\nH\234}JZ\237\314s#\335\17\370\250\317\230\235\215\316\n\213I\222"
+"\326C\263\212\77\247\35>|lke\245\273\353\223M\3416\212\233\1\0\366\235"
+"`\370\271PH/\221\272\301^\245\347\2530\310z\0@\265c\333X}1\4\322\213\223"
+"k[M7\205@z_\364\367\271\6 \2651\360D\256\366&\305^\367\341\337\200e\22"
+"\31J\346}\334\271T\365\345\200\363\362\215\374\357\22wR\323\34\254\337"
+"\rS\217=\23`\345\277\34\244\3437N\4;\33\313\207\363\204\33y\227\\\274\273"
+"*\234\314\251\263v\77d\325\375\375\327\235\346\274t\207c\21a\231\77rS\357"
+"`\246\340\361\346\245\303\335\326\377\6\337\364E\332\16M\27[\227\311P\200"
+"\227[8\345\226\345\24\66\212\353\222\232\207\325\2218\264\3\352\212\rO"
+"\217e\244DfU\2\2704\206\262\312*\253\254\262\312*\353\177\320\77K\323V"
+"\352z\206\212s\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+">\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2\215IDATx\332\355\227\315k\23A\30\207\337M\326\224\266\326\232\266\t"
+"6\342\307\241\265\242V\364\42\242\250H\261`\261\24\25\17^,\210\177\201"
+"\27\21zQ\224\202\350\241\202\7\61\340\327EPOR\221\212\227\36\25\221\42"
+"EB\205\42%\n*-x\220\326\270}<\304\354N\262\223\354&AD\231\337ix\177\363"
+"\314\354\274\363\265#bdddd\364ge\371\42Q\221e\312\324\216\2128\1\r\366"
+"\301|\247\326\261\237\301\335\300\17\272\16\316nM\274u\26>\330\201x\344"
+"\35p\306\27\356Y\4:C\344#\356\0\67J\262r\24`(T>\17\2L\306\324\f_\2\270"
+"\35r>\256\1d\333\274\244\215\3\314FC\342\221i\200\305\336B\322f\0H\206"
+"^\16\253\35\0N\210\210\310\246\357\0\fV\261\234\366\1\300\250%2\224/\246"
+"\253Z\216W\363\320x\343\205|!\364\300\177\17\177\nUN\242\312\335\320\232"
+"S\361\303U\357\246\275\n}\263\206\335x\331\245g\2425\340\2217\205\201\267"
+"\327t\30\264,\346\361CU\34\27\252\222)\21\221\334\2649V\377\315\273\300"
+"\252\225l\35\34\313\2L\236\333\26\270n\255hCKr\303\326=\3\205\300Nu\323"
+":#\315\332Ug\17t$\326t\256\333\230*Y\212\35\317w\224T>}Gs{\305)\225\210"
+"\210\34\303\257\t;,>\202NSv8|\f\275\236\372f\2419\235N\247\37}.\302\317"
+"\2\2209\22\217X\326\312\3\257\24\357T\231\274oV\360\375\0s\275\256\267"
+"}\3363\233\313\360\243n\215U9 \255Nt\303[\327\274X\371f\0^\3\347\213\315"
+"&\357\334\215\351\361-j\212\256\224\272\']\253O\217w\251\23\344K\360\n"
+"\327{\20\214\247\374\366\375\202\227S\17cmK\267>\372c\367\334\313>\26\324"
+"\373z\215\235\362&&\240\367\237s\232\340\202[j\f\300\37\352~\13\227\324"
+"\237\303\212\370\270.\3505\331\24\200OW\306\2032\377)\374-\252\13~\253"
+"\17\317\325\207;\365\341\324\207\213\301\rn\360\377\34\267\3032\266\26"
+"o\251\374F\2604\25U\274\337-i\237.\355\232\212\236b\303\336\r\231\351\366"
+"\365oug<\1778\246|Rl\260\241\243\247\277\253\250\366\362\213\227\331/<"
+"\26\21\221\343Vb\355\256\276\342\34\277\237\310|]z\362C,\221\370|\345w"
+"R\331s\267m\341/\317\273\221\221\221\221\221Q\5\375\2\244\2429\377\374"
+"\273\242\360\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0"
+"\0\0x\b\0\0\0\0}\27KL\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\331IDATx"
+"\332\355\230Kh\23Q\24\206O\214\231\2324d&X\333\372\302\210o\241Zu\2414"
+"\42.\n\202A\21A\20\27\352B\264\226V\13V\334\272P)\350\242\24\221\272q\23"
+"\264\340\302\200\240\4\61\224j}a,b(\202\222VD\fVc\32\25\2256\311\357\242"
+"v^\231\230\231\314E]\334\177\223\341\374\'\337<rr\356=C\304\305\305\305"
+"\305U$\347\357O\301\347\234dC\234y\370i\16Hv/b\300\232\363\bS\372\336b"
+"\377N\37BV\247]\330A\205\205\\\223MXT\5\303\240M\330\210\32\206\2656H3"
+"\210&4\201\220=\330\260&\260\336\36,\254\t,\260\371\320n\250\237\331\13"
+"\2330\241;\247\300\356\333\09\210\210h\341\236M\265\336\217\33\375D\24"
+"\331\315\346/z\32\0\272\354\375\0\262|DDqF\260\0\21\25\6\30\265\266\f\0"
+"F,\332\t\0\207\30\301\356\1H{\330\260\366\2\300)6\254\3721\0\243l.\314"
+"\363\30@a;\23\226\20\1\200\36&,\367-\0\210\t,X\363\237\0@\314\313\202\265"
+"5\5\0\341*\6\250Y\27\362\0&O\260)\374\2\200\324\26F\225\337\5\304\352\231"
+"\355]\256\2678\314g\273\374~\327\237;\255\311\2636\357X\267\306KDo\23\375"
+"\221\21+0\247$\372%I\224$\361\370T\300\333\336Q\253\330\270sf\260<le\273"
+"$J\242$yu)\273z\353t\231W\333\306\313\335K\bz\21\21\t\275(VrEE\260\352"
+"(\214\364aY\5\60\317\3\30\353\265\244\335\201\352a\331gD\344\16\250\33"
+"\233\263\257\211\210\350\363\265h\342\253k\365\266\3segi\317~3-\351\230"
+"\352\312\316\1\300\227\316i\276p\362\207bn6UT\375r~s\36@<\240\3626\214"
+"\311\346]S\260\263r~\n\300m\267\306\f\346e\267\301\f\254C\375\240\7\364"
+"m\363\212l\2357\3;\252.\1}\275\322*\331KX\205\355+\266\237O{\371j\343\275"
+"F)\305\373\212c1\31\260\304\32\354\22\212cC\362Q\235%X\341\246A0)\37I\226"
+"`\303i\203`J\351\226\226`CFA\245\373\210\226`/\215\202\331r;\307R\343P"
+"E\333\320\22z\307\22\366\211%,\303\22\366\215%\354\'K\30q\30\207q\30\207"
+"\375m\230\262\34\32\16hU\226\326MQ\373\356D/\237\245uSy\371\30\64\262\203"
+"\6\211\245\206\240\306\260\262\241J\267\326\350\375\232\326\264\342\207"
+"\33\35\245&\224\2066A\234\267\334\257\211a\364Mz\34G\210\210\350\262C\232"
+"\35X\254\375Z\346\325\373\354\304\305\204\2319@=\251\20\225\264C\377s\235"
+"qqqqqqq\375#\375\2\223\350;[,\214p\13\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\4\260IDATx\332\355\231]l\24U\24\307\377\263\335\356"
+"b\227v\241)5j\255,\240\215!\32\n\251\244\361+\22\37\304\210\22%m\205\252"
+"%R\260\305` D Fy\0\242%\20\232\20\3U\203\241$\244-<\211\20\20| m\242\241"
+"Uc\355\322b$\265\355V>\332bZ\273mYv\346\3720\273\355\271\356\314\235\331"
+"\331\373b\262\347\341\356\236\331s\177s\357\271g\316=s\27HKZ\322\222\226"
+"\264\244%-\211\242\300\363\204\301\345\241~\363.\206\35\342\322\77\4\240"
+"\220\31\310\355\207\314{\31v\210K\r\3402\3566\257)\303\361\304M\220xf\257"
+"t$v\254t\212tc\254\16P\346\346-X\354\346\327\255q\351\200q\227\261\303"
+"s\n\26\26\32\374p\263{`\344\27z!\247\262\213\367t\253[0\224\374\252\37"
+"x\353k[\346\33EG\3oU\'\236\340\233\3433\246\332n\223\373+-\34R{Y\314|\376"
+"\356\264\351\7\246F5\3740\207\13\305\314=q\303\357a\27\311\3322\205\310"
+"9\341\230\335s\366\221l\277x\230\'u\253>\305V\\\352\262\375\25\341\317"
+"\337\351\37\27X\22H\345\270\320\235\355\372G\207\345\323\323F\276\3476"
+"y\4\310\337U\0@\267%r\355\bQJ\367\t\220\367\6\1\0}\260Z\36\254\322ht\276"
+"*\350p\2051\306\230\327:m\2349D\335\371\365#\346\310;\0\20\276k#\23\355"
+"j\247\356l6w\347\30\0\214\332In\221rj\266\374SSd\4\0\356\331\312\227\275"
+"\325T\333\372\232p\224c\366R\360\251\243\234;\347\313\310\352\333~%\312"
+"\334f\217\4\344dE\230hO\355\227\200DO\r\325\266\254\226\200\304\211F\316"
+"\235\1\tH\324\366\320\334h\333\235\42d\270|\222h%\7$ \321\271\215j\357"
+"\277.\1\211\243-\324\235\307\2\22\220\330\330K\24\377)\217\4\344hY\204"
+"h\313\16J@\242c\'\347\3165\22\220\250\77C\265\257\26H@\262\365\375\234"
+";\275\251#1\262N%\332\322\203\22\220h\373\230j\233\313$ Qw\211j_,\222\200"
+"\324*oRw\266xSG\342\326[\324\235\305\207$ q\3513n\267/\227\200\304\356"
+"V\316\235\217I@\252\\Q\223\3234+u$B\357\320\202\257\270^\2\22g\271E\331"
+"T!\1\211]W8w\26I@F*hQ\223\335t_\352H\364n\240\332\222z\tH\234>\302%\374"
+"\265\22\220|Q\203\206\42\t\310\251\362q\242\315n\311J\35\211k\265T{\262"
+"^\2\22\'\216S\255\272\322\32\351\262\274\315fZ\324\340H\221%2\233\264&"
+"EM\31-jf\257\260D\316\42\255\211\374\2665\271\215\42\207\264f\322\320\234"
+"\24\62\227\264\246\262\351z2\310\7Ik^\324TD\222@\6H+(j>\264\37uYQ\306\30"
+"c\307,\17\352\276\341\316\1:\5\246\317\352&]\226\367\316\355\23 \271\211"
+"\307\216\b\26[\226\246w\326E\355\315;s0v\333=6r\274\275\211o\217\333\214"
+">`]K]\260\203|z\346$\251\325g\311\274\377\206%\322\365\336\4\231\313\317"
+"K,\231+\242BdV\351\'\177\360\7D\332\371\r\217[\234\212\3565G^\354\30T\r"
+"\17a#\177\266\13\266kd\\6E\212\216vw\212\206Y0d\35\227IJ\250\212\31\61"
+"RA\342\254^\270gID\342\243\333\0\340\347/\272\1\30592\22\312O\334\5R\33"
+"%2\1`X*2\3\0\306\23&nW\274y~O\364\237\341\tfag\37\351/}\343\205\202\360"
+"O\247\317\375\245A\216x\337\355SUUU\325\303\5d=\203\2141\26tF\364U\337"
+"\322t\244\272\321\'F\332]\236\342\35\363\24\227>\2745y2^\245\200\222\200"
+"\22\217\340e\331\377Y\n\315a\20\271\200\30\3237\263\244\336| \341d\320"
+"\356\212\267k.\0\n\30\20\232\256\f|\353\375\0\320\351py\256\307R\263\252"
+"~9\375\'\330\252\277\31c,\372\242\303 \252\212\304\230\375/\305^\236}+"
+"C\2141\306z|\16\221\276\3\372^\243}\373\260\356\306\342F\375\37\212\251"
+"\267\235\307z\355\244\316\274q5\30\f^\35\210\355\247\332>\277\363\347\307"
+"\275z,q\'\321.\373Rz&k\'\22\210\77.O\3559W\26\235\237\344\210\341\317\3"
+"\211Q\230lJ\317+)y\324\303\242\31.\227\306\246\272.v\33T\257\16v\t\5`."
+"\2460\206\264\374\17\345_$T!\314T%\306U\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\2\301IDATx\332\355\230\317k\23A\24\307\337n"
+"\322\215\355\246\356\26b\213R\241\305\326_P1\224 F/B@E\204\202\236<\250"
+"PT\32Z\355A\361\37P/\352E\261\366\344A\321^\4A\264\4\253\4AA0\255B\224"
+"\36Jk-\305\22i\354\317\2441f\367yHv6\311N\262\273\211\240\302|O\313\373"
+"\316gg\2317\373\366\315\2\60\61\61\61\61\61\61\61\61\61\61U.\316|H\215"
+"\33V\177U\204;\2G\275\273\334\0\60\23\r\77\231*\217;d\251A\226%Y\226.d"
+"\3\356\276\376F\335\306\27W\336\320\360\355}\262$K\262\354.\272g\327`S"
+"\321\340\207\275\213\306\78\202\305\2\0\20\6\321\250\311m\26q1\2044\305"
+"\332-\341uo\221\256\t\271\200u\2,\215\2@mK]\376\212\17\371\1\0~<\nEWjv"
+"\36<\265\2218m\267NRs$\234\317\233\375\32\42\342\362E\355\216\302\2455"
+"\335\334_\42\311a2\42\240 b\244%\317\353\374N\314\227%\360\253d\304\34"
+"\42\16\327\26\230\373\24\342v\320\361\376\374%z-\24\271\367\210u\235\216"
+"\367\344\'\250x\307\300\16\342E\315\361\23F\373\243\346)\242\36\344\251"
+"w\212\f\31c\257\b\262\305\f\37@cl\214\\5\231\340\352SJp\222\\\311&\370"
+"\3478%8\247\327\17\23|\214\26\324\337U\311\4\37\247\5\227hA*>e\271TR\361"
+"\331\352\360\371\352\360\205\352\360\325\352\360Tu80\234\341\f\377\327"
+"q\275|\273*\301\365\362\275\276\22\334\257\367\2\366{\333\335\17\364\317"
+"s<\350\241\f!vOAW\331\321+H\233\2666\24\16\3752\35_\304s\2051\355\42x\267"
+"|_\227\337]\226\237\375\357\346\335\t\360\234\373_7\255\263\224\341\362"
+"HBfe>\211\25\341\322\336c\7\232\23\243\217\207\277\251\25<\224\253\373"
+"\253\242(\212\242\334n\346\312\345\235.\361LL\315\342\312Y\321\376\266"
+"\361^\336\300\361\331i\217{\354\257\274\257\225\323\316S\235\365\244Y\264"
+"\2368\236\234\307D\247\375\331\337\253\0\0\34\7\0\263i\373\263\177\230"
+"\6\215\17\223v\360\247\266\204\21\323\304\235Ng\27Y\2359\224+|\342\341"
+"Tn\341\223\16S\\\274\221\311\342\3176g\367\201\367~\42Gg\6,\234\240]\335"
+"7\327\1\0`l\1\1\270\372F\355l3\23\230\260\3642t-\33\313\217\232\30\361"
+"[\335\267\301\244\201~\267\307F\361m\13\255\25\320\211;\255N[\177\17<>"
+"_\273\200\31\7\317\253\230\37242\236\266\375\357\202\3@\369D\366\237\347"
+"\317\3527\312((cwG\374\305\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3\360IDATx\332\355\230MH\25Q\24\307\357\33}\357\251O{\371\t>\355"
+"C\237\225\224Q*&\n\2660!\250l\21B\350FT0j\21\264\220\212\334\344\306U\13"
+"%\23\42\222\220\254\205\24m\\\324F,\t\t\211\260x\213\20\243\224\310D\345"
+"\371\201\371z\336\26\341\271g\336\314\23593\32D\315Y\315\314\371\337\337"
+"\314\235{\357\271\347\\\306\34\373K\314%sx\215\333\255sk8n\214K[\320}\254"
+"log\377+\3346\217\254c\216\375\313\361\16\4\276\264@\216\327\317\330\342"
+"\267\351\331\360\306\226\26t\260u\204\253\354uK\256\313&,\330\25\341:\266"
+"|-\323\306\207\325Lr\251\r\357\267H+\233\341\2066\222m\1\2262,\32\316\\"
+")\316p+.\227\342\316*\357X\25\317;\342\250\264\323\321\3156\321\33\251"
+"\352a\316\177\6\274/\273iS\247\33Z\334\362h\335\331\343\340\256#\320\334"
+"05\226\367\351\277\256\31x\235\246\223\306\33\332\324\206|2\315Q\230@}"
+"&<\17\320\246\22\ff$\374\334~C\2362\272\251[K1\322\25C\177\273\215d\275"
+" +3\356E\33\b\33\345\242s \3522\33\376\267 -\224i2A\262\3461\33\262\34"
+"\320\206%Z\327;\2204\230O\250{ \36\320\27\64\200`\225\260\200R\305z+\321"
+"\363\'\210pt\201\262z\6A>\253\227\350t\212\327%Sp\7\204\276^\353MF\321"
+"\207\266\266\227\305\317\211\327x\333\5\356$-\360\334\344\362`\340\216"
+"\n\247\237\206+\22-\346b\327\332)\341[%\206E/\212\316\207b|!\341\272O\r"
+"\263s\\6\367\320,\342\347\251\270^\324\310\243\312\215\361\337\177O\305"
+"\275D\327GT\2361\364\2424*\256\4\65\272\255\32W\256\375ns\313\341\232\361"
+"\373\335Y\325\246\24\241\342\302\350:\321\217p\345\310\261BN\361\327\360"
+"M\1\302\325\240\347S\344\335=\212o\216!\334Y\364\374\23\31\247\312\316"
+"\252\4NIG\317\27\355\345[5\2\247\332\3g\351\b\334\221L\27\340\222,\324"
+"\305R\213\3\234*\\~\247\23fTs\27p^\233\37\244\32\213x\375\316\332\265\370"
+"\77Um\257l\7)\2\270\37\26\312l\251\364\247\376\327\371\351\270,\2\316M"
+"\307y\364q\252\320\220A\307\5\320\365g1\24|\332\36\16\333\13\24Q\236\242"
+"\347\273\354\235\301\340\215\243\26\205\351\b}`\361\226P$\211\372\234\\"
+"\22\372q+\37\372\340\257\322\3612L\361\320\365\302\n\302m<\301\271\24\25"
+"\227\213\267p\325\357\274\203{N\305\35D\327\217\324\251\'\372\13\rT\234"
+"\310\77y4&\375\35\22\256~\362\306(I\2Tu\f_\243V\275\250Gy\261\251)\312"
+"\256Ri\270*\321bR\343\254\23\316Z\32\356\201hqB\33\233Ea\376\206\26\314"
+"Q.\253\23\323\353-\366\366\270\321\3071\246\210\303\211v\nn\2\344\23\272"
+"\313\262T\314\42\302:\13\212\217\333\253\257x\b\2026s\334+q\4\42\213\325"
+"aziQ\6\322\217\322\275\265\20\64\317\315\206\25\246i\324 z\267Pjr\306\30"
+"\353\7a\245\221\254\7d\5F\262&\2205\31\227\201\3\320\211\200\\%\366\202"
+"\313fe\345c\210\4E2\2158\346i5/SE\231\334\254;==wAp\2062\335E0\370\20\324"
+"\276\255\32\252\342\371<\342\36\60\5\300\361\n\325\2I\251\233\7\327 y\213"
+"RP\351\315G/V\4\322w\354\310\332S}]\274\206\207+\255\244\b;\7\r\317*\243"
+"\227\342\2305\13\364Ha\341f\17\263n\211\265cz\260\276\303vO\216YR\351\325"
+"\20N_\206\32\363\225\255\35\2223\227\327\357Kt3\266\270\264\264\316\34"
+"s\3141\307\34s\3141\13\366\13\220u\245*Q\242\274\35\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\2\227IDATx\332\355VOHTA\30\177o\367"
+"\355\313\\\335\266u\305\332\24\333C\207\210\210\240\243\n!tP,\b\372w(:"
+"D\227\205<j\247\b\352\326E\361\330!\350\230u\tCD:D\236\204 d\211([\242"
+"\277(\270\313*\213\256\326t\350\373\276\2317\363\355\333U\202<\314\357"
+"\364\275\337o~3\337\314\274\231o\34\307\302\302\302\302\302\342\337\303"
+"\225\341\236\360\226UaZD\270%U\204 \262\375\304v\255e\7+f\361_\177qw;\255"
+"[O\337\235\27B\210\317\343C\251F\332G\373\363B\301\227s^\275t\316\226\205"
+"\206\312\245\320\24\333\363\202\301\273\366\332\216Al\364\366\374\341}"
+"\211\3\375\257\360\373L-\307\b4\370v\24\231\356E\240n\205;^\307$\347\341"
+"@9\316q\5\304BTe\275\2\320\203\246\343\b\346\335\21\344;\221\357\324\35"
+"\336\n(\367te\fg\250\237\371\7\330Y\213nI\242r;\310\247\221\177j\246<\213"
+"Z2@O\42}\312\264\364\240\366Pe\367\323N3\327L3\211\255\312=v\23\345\217"
+"\33\246\245\362\35\243\353\312\317\270\216\375\334\341v\354>\252k.\215"
+"\322E\351\314q\26\42\343\207\310\42w\366\23gyO\321\200\354\206&\230\340"
+",\2643b\16\357\344\310/R\375M\306\342\3135\211\376\376\233X\\\252[\334"
+"(J7q\230K[\235\342\247\220i\260\244\33\277|\320\42\23\373\3127\224t3X\22"
+"\341SQ\351$X6\32O\254\2\226\n1m|\303\16\303R\224W+o\331KQ\t,\313l\265e"
+"\311\237`)\325\251\351\n\271\n\237\325bx!o\242h\271\212=<&\216\375-%\371"
+"\210\6}B\\\27g\351\246\350\31Y\346\211;\311YNP\364F\222\323x ^p\226\227"
+"\250N)\344q:D\314\222EH<\246\256\374\17d\263\246%KE\320U\326\\\\@\375\262"
+"i\271\206\301\305\300ir\261\342\255\33\231E6\261\264iB\6G\37\320-C\250"
+"\34\324\225a\20JZ\321\366\3125\353\230;\5\322X\220\237\0\3729\363\307\306"
+"\26@\274\252\2627\200\\`_\f>\226\337\21\352\320\35\5\352\203\317\237\244"
+"\30\26\237\305^\337q\34\307\357\303\332:[\363UB\235\n\26143\263D\37\243"
+"aO\222,\363\42\311g\353\274{z5S\276\247\201\207Y&\207S\20\205\\&\364*P"
+"\367/\225hq\326\312+[\366\365kaa\261\353\361\7\30187\341\257\331\344V\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0"
+"\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\260IDATx\332\355Y"
+"MhTW\24>\357\315_\342\30\'1\77\220\304\332&c\255\266\221V%J\4\273\260R"
+"!\232.JJk6\222\b\26\13mq!\255(\224J\301U\27J\255 \242\224Pu\21Z\244\220"
+"E\273\221\264RD\244H*\263\20I\177\f\265i\260\351\344\207i\307\311\351\42"
+"\311\271\347\316\273\367\275\363^\332\335\234\325\233{\276\373\335\277"
+"s\317\317\35\7l\342$\1\3766)\22.\314\27!\254lF\304\244I1\202x\331\326\311"
+"\365\245\25475v\1L\206\247+\0\3006C{]\34`*\364Z\241\36\21\357\30\332\373"
+"\21\361\265\360t1D\304vos\36\21\67\206\247\203\21D\274\353\331\214\17\320"
+"vD\1\3622\42\342yGo\354FD\34\216\300\6\361\42\42\342\265*n\213G\20\21q"
+"S\24:\350GD\304\342\341\332\305\337U{\306\21\21\361\226\275\213\343C\347"
+"\346\326/|L\1775\372W:\333\275v\261\275\371a\244\331A]\1\r\362\nD\2256"
+"\3\337\333\20]\32~.g\333\13\313\221\330\273\32\331p\35,SRo\334[\344*|\324"
+"\22\4vD\214\r\215\265sS\17\363P\221\377Q\2\217\302I\257niMe\0\246~\177"
+"0\221\237_\316Xn\366\320\210n\304\337\37\\\343D$\313\236.\232\256\354\314"
+"\373\215\21&\266\373>Z\345\372\372\220l\235\343\350+#\315!\310j\256\253"
+"\216\343G67$\\\307q\23M\333O\316\251\366\2231)\333\336\322R\237\322q\375"
+"\312;\355\327\210\357\327\2652\3239C=>6D\254\346\333\244\356\25\260%\310"
+"4f\2366\17\67@|\247\2\215&\225[\302\346\3226\314\13d@\227\2\370\222\304"
+"6V\345c\221\264\271\203\276|\356\215%\\\241&(Y[\2203~\260s\4\353\364_\305"
+"Q\2\36\260\203^%\320\351\240\343\377\201\240\33l\230F\202\24\2s\232V\302"
+"\346-X\347\16A\372\202\r\352\2\201-\231m\37\1\346\4\27\250N\335\267-&}"
+"\225rGoJn\317\20\301\'L\31\361)5\334J\t\3353\n\277\337\253]\311\274\217"
+"\354n\317\250\315\211{\264\'\24\335\36\231\343\371\20\355\316 QR\312\214"
+"\214\256C\365\230,\277k\335J7\'M^\230w~\256L\227S\252\213R7;\2116\333c"
+"V\204\257K\351\316\261NI\255\210\342\273\377\243\224\356[\366\375\274\246"
+"\271\311\6Z-\245\333\302:}\242\235+z\347\35,\255\3509\277\205\305jAI\\"
+"\372\362\364\261:\303\350\2663\305,J\351\n\374\307:F\267\233\265\217\211"
+"\243{\211\377\330\306\350x\345\361\223\230N\313\316v*:\227\27\351\21*i"
+"\265@\27\0@\213\201\23r\n\276\220F\207\350Vp\fF\233\35\304\210Ns\227\177"
+"\310\31\3065\333%\272T\304\tig\21\67/6\252\304\203\237e\302\347\300\0\0"
+"\263\377\5S\221\350\264\227\253\20\33\251A\37\233g\227\221\3235\t\350\22"
+"r\272\244\231Ns\r\rr:^-\377\242\216\2\37D\243\343\362\r\363(_\262\366\'"
+"\302Y\205)p\36407-\177\207\344\201\26;,^\37\305%a\206\367J\263\t\377f="
+"/\337\24\217}\3779\313\350\346\277\340\271\224\224n\r\17\341\332v~\312"
+"W.\245{\226}_\321SO\266\13}R:\225\177b\251,\375\35V\252Aq`\264$\1Z\35\203"
+"\5i\325\313V\324V\236\232\262\354J\370l\265S\365\270\357Q\366*e\217\214"
+"\3563\325\343%\257oV\205\371-\2313g\271\254\301\247\357\17\271\332\27\375"
+"&\7\340\252\307\211\23\22\272Q\202\217\32\257\345VeE\202{\226U\223{\312"
+"\214\370\234\0G\203\351\276SO 6_\235\227\227\26\235\4\275g\215\255\33\b"
+"\363u\320\261\222\231\226|\274\367AIM\16\0\60H\300\35~\260\263\4[\347\7"
+"\353\'X\277\177\31x\231\26\341\363\250\253b\301;Ae\345U\362\4\35\66\214"
+"z\3469\24\\\246\2522y\300h\236\311\363\4\330\'1w\345\f\356f\275\243\355"
+"\242\252\370Q\2330\6\214\21\341\355.\355\202\324\364>\42\325\2208D\271"
+"\254\364\306\33\207\273Z\352W\255jzr\32715\f\346w\204I\21j\207|\337*Ko"
+"\305 \234\264\234\265\222\345\7\242\374\261U\335s\323DviS\324\227cX\261"
+"\365\275\34O_\206\17\264\273\313{$\7\'\225IW\'\0\246\246\247\377\201\212"
+"T\244\42\25\251HE*\22B\376\5\240oC\356C\364c\214\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\3>IDATx\332\355WMHTQ\24\276o\3764G\247"
+"QGL\323\314\242 \42B\210 \320 \4\3E\203\240\262E\221\20AHE+m%\201\355\332"
+"\30\255\242E\20\264\351\7B\224\20i!\271\22\2\221A\302L\244,\321\260i\224"
+"at\314\257\205\367\334w\337{\347\315L\273\300wV\367}\337\375\356=\367\357"
+"\234\363\204\360\3143\317<\333qf\350\355\220\20\353\\\247\240OleXy\3\200"
+"\20G\214\1/\314/\237\215-\347$\247\204\370\311K\322B\210\223\214\2424 "
+"D\202_W9\200I\6\357\2p\201\227\370\1\340\200\23N\28\342\262}c\0\342\366"
+"\325\211>\270m\213\20\242\5\0\236\30V\260\25\0\206\335\16)\220\1\200\267"
+"\205\372Y\335\5\0\34s=\330.\0@\346fT~\27\236]\0\0L\270\235\276\20\276\351"
+"\303\333\215\325\301\251\337\341\203\255\373$^\265\350~\177J\323`\254#"
+"\353\235\253g4\267r\334\323\330\274]\321\226\363n\373\357X\4\303\245\371"
+"<\210\202\316\31\331\77\335_\235\375\275\350\252XE4\225XL\356\3348b\374"
+"K\357\2223\367\'\0`\376Q{Y>\375\375\315q\375$\277\236\13\344r\247#i\277"
+"/\251KY]\254\210s\27y\272\302]\321F\235&\317\357\337\35\331\323<F\337-"
+"n\212\36\331aA\205\223\272Y\t\335\316\256\370\20\324\242\1M\324\315).K"
+"r\316o\211 s\356\257\346\20\371]i\305k\b\257q\304\243\25\311\364\333\231"
+"\1Z\241=&>\244\301\212\355\222(1\367l/\236\360\327N\227G\211\213Z\340W"
+"\4\237pJ\32\211{j\t_\352\244\13\234\222\42E\226h)\351\6\321\237\231\\\231"
+"\372N\255k\332eT\361\256\217;\261\7\304\256\31j\226Z\345\3168\'Q`x\257"
+"\222\230\'\373\205\223|2s\2159\214Z`\204\223\250\223\3018\205>\337\37\305"
+"\206\270\212 d\356\211\177k\333\261\260\311nr\263h\303\204\345Z\264\362"
+"\0\234D\3cR\22\313\77\370\220\304t\354\33\337\321\204\213\244$\222}):\34"
+"\225\222\365\374\35KII*{\235$D\245C\362\313\f\255\274d\227j%\244d9GR\323"
+"\300E)I\270WtvpU~n\230\236\25p\22\263\246Y\336\240\21\236+\214\275\226"
+"&\370LM\372Ra\265\234\244N\265\336(\211Y\b5p\222\343\252\365\321\4\337"
+"\251Z\202\223\274\'vH\3\217\251G\304l\231O\221G\365\235\377Ah=S<\251$h"
+"h{n\326\264\235N\311Uj\\\264\274&\2032^\332\341\231/C\251\315FT\323\354"
+"\255vI;1Uv\206\252\260\204-i\7\222\256y\314\30\222\324\200\25\177,\341"
+"A\346\306\6\247$yEG\257Kp\212\255\30B\224~{\324\200F\257\204f\\\n\370 "
+"%\237\331\246\220\20B\204NSn\35u\255J\324\240\300\322\310\310\222\372\350"
+"\315V\222\3243\25I\274>G\335\323d\23\305\33\363(\314\252\273i\t\230\353"
+"\316\273\350\r\224E\212\305Zre\323\373\213\366\3143\317\376{\373\13Z\321"
+"\326\226/)\244<\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\271"
+"IDATx\332\355\231]h\\E\24\307\317\336\315f\233n\2235\315\7tS\77\222\255"
+"ZlD\333\222\206F+X#\202\232\202\22\221\6\2444\201\212>T\4K-\26\301\42\24"
+"A\221\26cA\304RB\243\17Q\361%\17\n\22\242\245\224\22D\242\4\221\20\321"
+"\6\61\206\272l\223%\272n\377>\354\346\314\271\331\373q\366\336\274\b{\236"
+"\356\354\374\347wg\356\2349sf\226Hi\21Z\77\213<\227\301\273V\251\20}=\237"
+"\37\n\205\33\6\200W\212\317\326\24\0t\207\240\365\0\0\62\305\302q\0\300"
+"\333!\206\272\b\0\270JDD\233\0\08\26\34\327]$<KDD/\25\13\35\301q_\3\0\26"
+"\242DDV\16\0\360ipZix)\42\42\332QD\327\6\307=\3\0x\270X\270\0\0\205-!\346"
+"uVxI\f\0\360@\bZ3\0\214\226\26\305\203\0p4\214\13\37\5\60\35-\25&\0\\\f"
+"\265\2762@\266\276TH\0\230\266\302\340\332\1\244W\13O\1\331\215\241\226"
+"\353[@\37\27~\2n\13E\263\362x\223\13M\300\243\341BScn\334D\272=8\21\66"
+"\324\305jD\241a=\203\350\377\336|\77F$\2619\325\26O\22e\376\270\266\220"
+"\275\31\312K\322G&a\263\313C[\203\316F\372L\36\16\266\364jK\200\216\365"
+"\316\302\325&\356\252\220\3265\17O\233\254$\200\326O\230\206\363/\357l"
+"\216Y\221\210\25k\355>\2253\277\237\212jiO\24V\333\24^k\264Os\307\27\314"
+"\373M\27\f\42g\271\305;\16;\314\226)\256\356\327\254Qv\215\245;\235_7\310"
+"\274\323\276N\23\237Y\325\316$\3344\367\263\3\235\367\341\3252mn\203\207"
+"G\362\307\35\361\344Y\227Vu+\365^\272\235<\336\263^\262s,\353\362\36\305"
+"1\26\36r\27=\315\2423~\323\377\35K\267\273iZX\262\342\233\203\264\2616"
+"\353\242\215|\317\222\1\177\207\372\220\305\243\316\202\1\26\344\24\13"
+"\250\321\254\267]N\365\33L8z^\263z\306X\276\340\224\27\2346\257\333\244"
+"\301\335m\364\7]\223B\0\230\324\255\355%\363qj\312jO\32\334c\272\300\363"
+"\6\334\203A\254`*\223:\\\247i\261\270v\255=n\352r\312\260\30\27\321y\307"
+"\232\272\31S\365\2216\314.\302\315\367\204\27\225\316\17\n;\'\32\225\226"
+"F\311e\344\327\377A\213\373F<\337g\253\271\42^\264Y\213\333%\32\275g\233"
+"W\224\367\333\337\332P6\177\305\301\3326\245\274\26\227\25\317uI\201\223"
+"\247\323ehq+\262\260M\340z\305\357s\352\335\275 \13{\4\356\200\370\375"
+"\27\65\316\226\235\35538\253I\374\236\t\226o\365\32\234m\17\\\320#\344"
+"@Z\42\214\263\35d\20\254w\24e\234-\\\376\251\'\314\333|\227q\361\200\35"
+"\262\315E\215\363`\203Z\215\b\1\353e\26\21\321\362z\220\362\214\373\333"
+"\26d\365\4\233\364_\347\336%\365\270V\5.\246\307\325:\343l\241\241Y\217"
+"K\211\347_\315T\340Z0\234\264\257DD\371\\\374~ke^\341\264q\364\2110\235"
+"\327O\254\334\22:]\242>\324G\302\244l\225\20\35\376\335u\276<S<\361\374"
+"\327\262\300\335\374L\346RZ\334V\271\205\333>\347\373r\344Z\334=\342\371"
+"c{\352)\276\302\200\26g\362O\24\326\244\277\343\246jD\2751\272$\1\266s"
+"\fV\264\247^1\242\366\265\251\251\310\256\32u\270}\246\305lYe\277\251\354"
+"\323\341.\230\26\217\224\307fs0\277\252\13\346\42\227u\210\351\7+\34\355"
+"C^\235#\262\314\345\304I\rn\232\345\323\216\313r\267\361\42\305:K\233\316"
+"\335\341\254\270\310\2\305\5\375\267\346\n\304-Vg\365G\213.\226\376\354"
+"\272\267ng\315\227~\323\312nZ\360\210\336C\23239\21\321\b\13{\274d\303"
+",\333\346%;\314\262\303\336\307\300Q\36D\312]e\366\2\277\353\367\310\'"
+"\34\t:\3354\346\232\347\210\3771\325\34\223\7\35\335\263\366\3\26<\251"
+"qw\23\f~L\227\277m\77\237\212\257\267+\367\2009\6N\355\265-\220\372\376"
+"\353\\5\246\336\242,q\364\306\245\27\366\246\232\32\32Zo\337\177\302\274"
+"\6\331\236JR\204[\306<\357*\13/F\2512K\r\273\302\262\203A\376\210\252\353"
+"\273\342\4;\177o\340{\374\215\273\217\317\310\364e\374P\207\25\356\222"
+"\234\42\361d\242.F\224\271q\343\37\252Z\325\252V\265\252U\255j\25\330\177"
+"A\2103\24]\t\r\345\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3LIDATx\332\355\227OH\24Q\34\307\337\314\316\256\345\352f\376\301"
+"\3324\333\242CHD\20\t\245\201H\35\24\213\2\263\16FPt\21\354R\250\227\42"
+"\250C \204Q\267\16E\324\245\77\227PB$\42\362$\5\261,!e\22\375E\303\226"
+"M\26u\265o\207y\277\367fg\336\314\254\267\250\371\235\336\357\373{\237"
+"7\357\317\314\373\375\206\261\300\2\13,\260\177\326\264\225\366\357J\343"
+"\232\316\235\320\205\\\356\224/r\23\0\316\231m\375\25\0\64\370\20{\0\0"
+"i\323\351\5\0\f\370L\353\7\0`\2341\306X\t\0\0\347\275\221\6\263W\'c\214"
+"\261\263\246\263\331\33y\6\0\230\16\61\306\230\236\5\0<\362&\370T\342\214"
+"1\306\352M<\342\215t\0\0\232M\347\16\0,\257\367\331\257I\313\16\207\1\0"
+"{}\210J\0\270\317\17\277\21\0z\374\216\261\7@2\304\235\347\0\356\371\276"
+"+i S\312\235(\200\244\356\207$\0l!\3470\220)\366}\275\256\2\355\302\231"
+"\0\66\372\22z\16\227\205S\1\354\367\177\355\327f\207\345\227\262\33\375"
+"\205|*a\303\342\304\264\377\364~Y\321\272K\233/\215\3\300\307\353\355\345"
+"\205\364\17\265\244`\261O\207\f\277\351\34\314\300f\331N\317)V\245\240"
+"\260\267U\356D\33uzsd\323\232\330\272\226\27\344\37p#zy\207/\333H\251\233"
+"\344R\2177\3612,5\203\36\324\255\42\216\363\340T\310\252\32S\\ns\22[i\336"
+"\325\371z\r\3515v\302\230\345\221\313\366\310 \255\320~\3\f\320`%v\244"
+"\214\42\375\212\253\313\345\352\35\245XY\236\374\220\344]N\244\221b\267"
+"\362\276wq\322EN\244X\4\315\313\315\\\323\31\n\277_p\42\331\257\324:iy"
+"\31\347i\234\213\252\23\273B\3219M<\245VLgL\205\b1\272A \362d\77\250\220"
+"\t\321j\225\303\210\5\306T\2108\31\214Q\t\241/\213h$\247@\42rOB\277\315"
+"\211EetI\365\24\3130Q\276\226\n)A\205X\304J\216T\26~\371\20\42\'\366Y\335"
+"Q\312\305\34\211y/\305*\227qd\241\360\211e9\222\225IK\335\261\332\201\374"
+"\224W\253\32Y-Zi\216\314\370\24\207\26\361;G\322\226\334\252L\270\262\371"
+"\213\273\213rfE*d\225h\315,\322\bwe6U!R\274-\36\372@h\265*\244N\264\36"
+"\13d\\h;U\310\16\321z-\305\247\364A\f\273\227\215\0\206,\342v\361\21)\266"
+"L\27\301z\353\316\177#5\241\256\234\314$\250Y\366\34\35\24\77\346DNP\343"
+"h\336\327\244Q\306\233\327\25\225\23Om\266@\234\236\336jG\332)\342(by\315"
+"\215\264-i\33\31\327<\246\r\361\320`\276~\203\313O\24ol8\311\203]V\365"
+"4\27\223\312\212!B\351\267W\f\250\365q\351\235K\375\36\246\3443\331\24"
+"a\214\261\310>\312\255\243\256U\211\30\24\230\36\31\231\26N\237WI\222P"
+"T$\251\204O\335\323d\203R\215\5\24f\361nZ\2\246\272\343\205\376<\32\345"
+"\261\22\66\227\231]\n\376\256\3\13,\260\277\336\376\0p\343\305\274\202"
+"k/\370\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0d\0\0\0x"
+"\b\0\0\0\0!\235\bh\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5.IDATx\332\355"
+"\231klTE\24\307\377\373p\313.\355\266T\331\226\246\255\210\245\330Z\324"
+"\222>\320\232\372*ZC\255\306\204Hj\210\6\42`\250OLP\204/(\221\370\245\370"
+"\200\232(\32\352#\301D\232*\24\265\360\301(&\24\13\bi\203\251\324\264E"
+"\b\5\266\255\245\317]:~\330\275\367\316}\314\354t\272M\214\271\347\313"
+"\346\3169\347\376v\346\314\234\2319\27\260\305\26[l\261\305\26[l\371/\213"
+"#\266\311M~\314\221~\377\231\211\30\220@\351\355\5\271\31\201\33\246\323"
+"\211\234s\0\334\f\245\353\301\352\7\362\35\323\37)\77\230\220E\265+\322"
+"\342\23\16&d\351\33U\316x\305\234\1\311\336\261R\33\246\341\366\256\276"
+"Q\257\77;\77\335\362\25c\255]\301\20\0$\273SR\323\347\373\30\20\223<w\215"
+"(rn[\211K\r\340k\355\304$\215\251z\337\264\20766\r\350M\236\267@$7\252"
+"\352\223\217\353\307\314\361\344_\6\306`\222\305\33<\313\233\256S6\233"
+"\314\26\267v(\312\321\227\315aI\334\257\207\374\300\210\303\342\243\232"
+"\315v\223\266\340\242\242\373{\211\345\274\376B\7\331\303\212\266\253^"
+"\265\371\300\304\350ST\275\13\254\275=\2554d7{R}\252\330\3545(2{\25\315"
+"\360\235,\347\274\220\30\304\323\246\314\r}\273\357\204\352\375\2\333\273"
+"A\f\202\242p\304\346\b\313\375\fg)>\42\b\301\336\210\315q]c\215\346\\\315"
+"\361\365\205\5!y\221\211|V\227q\257\252\276\'\270y\242K\20\202fB\b!\27"
+"\0@\31\231:m\361\326s}\317\213f\255\6SZ)\235\324\326\361l\256o\243hOf\r"
+"\21B\bqi=yW\313\211\7\206\271\276#\242=\31;\254v%\222\205\357+\327\224"
+"\373!\tI\254\1\320\361\213\372|\360\t\0\360\367+\317\207\2641\230H\344"
+"Cv3\207+\337\320\226E\b!d\2612\\9\17k\252\266k\262\373\223q\313\351\355"
+"\6\200d\5\262\206Z}\77Io\202\246|wT\211\211\23\200\263\206\322\34\223\206"
+"\344\33\33Z\1 )\n)\316\246\17J\322\220\245\306\206StO\35042\334%\313H-"
+"1\266\234\246\247\3602J\361\307\244,\344)\227\261\245\377\331\204\310\230"
+"\271\201$z\27\354\221e\270_\262\310\304\321_\'P\344\212\7d\303\42\266\316"
+"\t\334\2058@J\337\1\27\222G\77_\225c\334\337\354\345Crt\301\222A\4v\36"
+"I\345\306\13\310\244\237\7\246|\301\231_VU\355\2151)\200\200lO\36[\b\177"
+"J\226W`\346ER\230*d\n\220\314LAC\'\364G\361\211\231\2703:\241\277\255\215"
+"\316\fdF\376\273\21\62\252\313V\263\246\340[\357pxn\314-_\373\331\225\230"
+"\20\4\351\347\204\251\375\307P\260\363\347\217Wg\275:\22\13ri\332\3031"
+"VW~%\6D\227\256R\3440mUc|H\'\375,[{8\266\205\17i\217CO\200\367:\271\220"
+"6\335&*\13\t\327q!\277\323S#K:\372\373\256\363 \341\243q\201\4\1773\267"
+"U\264\264\264\264\370\341\6\360#u\222\270Y~\42\37/55UV\0\30\201\23@\23"
+"\325|\233<\244\303\334T\f \30\206\23@\347i\252\26\222-\r1_\217<\305\0\202"
+"\321\263\360\347\224\342\16i\310EsG\2744\204\312\304\367HC\3761\37/\242"
+"G\23\67\0\\\332\267JU\224\307x\225\217\251\271\260\316\30\230J\0\270\254"
+"<\25jW\306\361\30\227\240/E\357\214\300\234\20!\204\324)w\306\223\315Z"
+"\260\36\345{\316\26\37\277j7\250\230\0[\264\235k\205@\275OLV\42:\\Q\310"
+"\251\6UU\305O_\1aFF\205r&U.r\233\324S\235w5\327U<\357\254\215\334\254\351"
+"\215w\215\32\317\36\336\26\234!Z\300\201/Z=+\324z\202=\7\325\377Z\313q"
+"-\26\356\310\213s#\277}t\343\334\363\312\77\354Og\273~$\332\223\214\301"
+"\250\225\376\30{\367\270\342}\210Y\77\367\6\5!\216\3Q#\3439\346iuInf\371"
+"n\24\254Ab\263\32a\243\346uE3\271\336\3325gH\20\262n\222]={S\245l\265\32"
+"\261ygu%\333OX\b\327\333Z\232:lV\327\252\325\277\357\314\33KQ\227\276\370"
+"\374=\203Q\370+e\364\265\205\301\362~E;\264}\236N\223\266+d(\243\217\27"
+"Y\365bY\343$m\264\313\262\f\243\325\300\307\277]\237\37\275Xd=\363\315"
+"\204\371\203\300\370\207\367zt\253\240l\303W}\6\233m\260\372\334\344\256"
+"}\213\312\366\241\236\201\301\204\304\5I\314\23w\367\345H\245\317\347M"
+"\rX\335\354^\331\311\310\201\357\217\222\270\311*v\252\335\332\35/H%o\305"
+"\226\355h\13\307\3R\2\376\'\300\244%\5\271\267\4\2)\211\323\371\b\270\360"
+"O\330b\213-\266\330b\213-\266\330\362\177\222\177\1R\261n\266~\201\327"
+"h\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0T\0\0\0x\b\0\0"
+"\0\0In\212P\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4lIDATx\332\355X[lTU"
+"\24\335\235\231\226v\2400\243@\246\250\24\241\217@k\301\226f\252\222\230"
+"b@\42\301\3600\326`\42\37J\364\303\220()\37\330\230\30\36\215\211\301D"
+"\243!\304&\32\23_1&\215\251\5\tPp\200\0Ay\370\250-S\261\242\355\320\322"
+"Z\246e\36t\330|p\236\367\356;s\r\211_g}4\373\354\275\366\272s\317\331\347"
+"\334}\n```````````````\340\16yN\201\31\236\314\365\354\231\1H$]\213z\352"
+"V5T\225\2@2z.\322\361\27\221\24\\\331X\275(\b\0\211\356_\16\355\37\314"
+"\375\323go\277\214\nn\35m\362Y~\306\212\366\233*#\363\355\252\34\222S\337"
+"\214\243\25=\353T\306#gm\4<R\237M\363\261KH\241#\304\t\376\217nQ\204\233"
+"-^\3079mne\261\221\366\223\375\231\342\252\325a\26\216=\23\1\0\200\312"
+"\257\253\31\265\247\363\364\265\314\354\372u\245l\334\3214A\257\331^\366"
+"\334\304\266\42\346\252\77\311\\\311\365\0\0K\207\331\360\317\265\236;"
+"\4\357\306\1\346:>\203\324\334\307\302\3\65\322\351\343\17J\77\r\20\36"
+"c\203\3\1\311\b\235a\316C\5\204\350[,x\275Z{\324\'\314=QWv\225\231]~\255"
+"\240\177e\356\367\355\232k\371\nl\322\375\205\2771\177\264\227\31C!\235"
+"Q\223f\325\267\306\252\31\272\306R\42\326\355\260\334\272\324\317[s\337"
+"c\201+\323,\201\257x\212\275\222\273t\315\363\36+a.\337\f\273u\377\343"
+"<%j\337\267\33t\321\347\354Sw\200\205\342A\315}\202\247\354\260\247\24"
+"\374\253j\16O\2613^\345\301\26\325\273L\3444\20u\361\231*J\2541<\314\203"
+"\375\352\324|\301\275q/\221\263Y\25]I\20\n3<\332(\235\323\223\334\331E"
+"m\213jE35\205b\f\362\360\207w\16O\0\200\247\4\363\2\225\322\235\222\366"
+"\205\24\305\30\342\306\n)*\253\266\233J\231\354\225\366E\362\330@n\224"
+"\225\n\321GE\3642\231\323\179\brNj\271hh\236\360\r\2209\177+\263G\305g"
+"-\20\346\22.Z)\3031RtX\232cDx\336\247\262f*\1\0|\0\60_\306\351\17\250\342"
+"\335\331l;2C%\312.\274\237\213\316\221\276\361\\\242e9>r%\374\365\345\341"
+"\222\200\354\213\233\33\367r\321b\341J\337us\342\343\177&\377C\322\307"
+"1\227\312\362\245\13h\322ti\266E\\\210z\2642)\312)\352\n\36\275\266\213"
+"I\322Li\6\334\212*\273\360\36\2224\313\262\272nD\225S$D\222\346Z\212\333"
+"\215hL\266\213\17\220\244\7\335\27\277<\372N\213a\5\331]*\223\262\304\265"
+"\350~y\310S\234E\212\375P0\213\330\263%\312`\216\370\306\364R\334\255\352"
+"7j\243\263fyj|\247R>\7E\316}\4\371KU\364{g\321ND<+\207M\42\347%\242\35"
+"\34\324\372\365Z\'\315\27\20\21_\223\343\374>\236s\320N\256\325;\224c\16"
+"\27\232\371\243\210\370\217\332\20\276(\256\5\13l\354VK\203\266\205\324"
+"\364\377\204\210\370\262\352\362\212\353\301>\333\335b\310\42\232\b\23"
+"\232\5\337!\42\236\322\233\267\332I~\'Xl\241\277m\2736\\\255\262iN\353"
+"DD\274a\255\310m\242U\364\353\355)ki\361\206T\35}\322\222\\\3633\332^\36"
+"\0 Ot\250\35jg\263\214\267|\361\360;J\t\264\251\373\271\344\335\264\322"
+"\363\350\263\322\311SN\210>\300\367:\357\262&\226\313\333\13\42b\372\233"
+"M\13}\0P\270xs;{\227\317\251\346\256H\24y\342\203\206|\0(\333\322#\246"
+"1\f\0\320\234\321\'wddL\16\366z\351\213T\213\274t\246\376\210*\t\21vN5"
+"F\321\1\211W\34\67Z\335\217T\302h\263\370\21Sw\305I\315\303\225\331\16"
+"\255\246\363V~\254U;\355g\356\352\267K\346\272GC\375\236\213\222\336\327"
+"\266>\337\366\340\'\366\234\223\223\233\374\341\215\nW\377\231\b.,\17\24"
+"\302x\374R\357\220\303\223\375\25\345\301@\36\214_\351\373\375\356\33\20"
+"\3\3\3\3\3\3\203\377\7\267\1\256#Q\2176\2\37\375\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\3\266IDATx\332\355\231[H\24Q\30\307\277"
+"\331]-+7\335mI,l\243\325\320\4%\13K,\211\350\362RA%\21d7\312\207D\244\242"
+"\42\42\42B\42\350*\364\220P\220eAE\24\31\204t\303\324\354\245\300\13E\226"
+"\226\224\24Zv\321-]\235\323\303\356\314\371v\235]g\346;\17=\354\377e\377"
+"\263\347\333\337\314\23493\363\77g\255`@\t\5\236\276\77 @\245\2141\266"
+"\235\316\221*\31c\2141\7\31t\305\17b\313\251\240\352\0\210-\26\5\362\305"
+"\n\2\261|A o\256 \320\31A\247\3266CLg\373\326Kb@\227\343\304\214\243\217"
+"\351 \6Tl\21\3\272g\7!\240\336\371 \6t\300\252\267:B\233#\5\240\353;D%"
+"T\22\200\244\343\6\227e&\217Qb\3\230\325\256o\247\335/\33[\332\272\7#T"
+"x\230\21}\336\223&\211!1\306\372\367\331\5\221\30c\27&i\365x\\.@l\274\323"
+"\263tnpSUm\237W\361\211\216\364\25\231A\227`[U\204\16\213\331\205w;3\264"
+"\331:\3638n\277\37\23\351\362\334\345\205\225Z\355\343N!\324\353q\21H\305"
+"\274n\207vE>B\265\4=&\202\37\206\275\334\366h\223\352\363\270\317\274\24"
+"\23642\366\370|^\316\375\346\254\260$=::\314}\215D!\371\216q\77}\16\205"
+"\4W\220\337C\42u!\277E\242\220F>\240\3\231L!\301\13\344\247\221H\370\364"
+"\234$\3227\344ig\207o\335\277$\222\23\371~\22)\r\371O$\322B\320\272\321"
+"M\220l\211\350\220H\375\224\202\374\21\322\335R\210\374M\n\311\202\216"
+"\343\364o\ni\3\17\301\3\7)O:\307U\356\363\206\b$\373\33\376\213U\315`\236"
+"\224\373\305\245\372%5`\232\344y\330\244vRG\322S0G\32\77{wo\373Rekx\223"
+"\347\353\350\374\244\255\375(%Lted\343\302\237e\327|c\354x\215\216\230"
+"2R\221!\205\311t\6$\327\334z\322-\207M\207z\325T\362v\200E\30\373\372I"
+"\13\32\367&\351.F\375\264F\331U|z\311{\365\333\6\217y\22\0\0\270\316\360"
+"\\h#\221\0\\\257\224\206N;\255\237zrn\7\234\273+\236\326\343ra\243\362"
+"\212k\266\321\256\235\274R\31H\356\363\304Q\360\273T\215\243\2514\22\\"
+"T\335\r\42i\360\272\342\262Si$8\313\303&\221\324\246\272\215\2614\322\0"
+"_\202\234G#\301\35\325\355$\222\36\253n\223D#\361y\256\315E#}B\357+\32"
+"\251\217\333\42\32\311\313\355:\211DB9\300\222D\42\311\303Z\31\261\223"
+"1\226`4\27\264\242)\213\352\334\0\3403Jj\342v\265\5\237\326\220Q\322+\344"
+"\223\3\237q\0\0\303FI81-GA\277\217\31%u \1778\360\231\5\0\265\206\223\30"
+"\232\274\203;0\353\330\352\277!\203I\261\232\26\17\203gh\243\304\277\32"
+"\261\26\0\32BIS4-V\5\236\245\'\2\0\34\2\0x\27ZW\307\337\301ua\22+\216R"
+"\235nk\\\31c\214\325\207TM>\201\313N&h\242\352\264\322\331\42\377\252\221"
+"\243\f@J\266\317\232;\372\232\267\377\3702\2p\16\257\216\316i\325xDL\221"
+"\365\255d\5\'\235\7\243\13\n\364\256\211\5\223&\364\207\266W\233\234\267"
+"x\323B\226\17\37\25\231\235\225uO}\2117\313\227\311`ZRN\255\362\217P\271"
+"\23\255\370\231\222\325\351\212\1\357\327_\f\242\212*\252\250\242\212\352"
+"\377\327\77N\312\375\226\374\350\1\334\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0-\0\0\0x\b\0\0\0\0C2$\2\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\35IDATx\332\355\326MHTQ\24\7\360\377\33\35k\30pL\305\20"
+"G\5sc\4\246`-\374x-\42W.\202 Ph\321\242\205\320\42\31p\353\266E\37\13\333"
+"(\b!\25\212\330B\34(D*\304\215\240H\265\t,3\4\2454Sr\202\301\371\267\230"
+"\231\367\356|\274\274\'\302\26\336\263\231\307\231\337=\234\373\361\36"
+"\27\60a\302\204\211\177\23\5\207\212\22\273\376{L\267\334m\222\274\251"
+"g\255!\222$K\265\360h\22\363\212\16~\222\302\354\220\340x\221\0\263M\200"
+"\367/\n\360\3A\33\357k\365\'\30\277f\351\343\307\1\375u\376\334\0}|\313"
+"\247\217\247\212\241\215\277\265@\37\367{\34\373\234\5*\255\1\326\266\217"
+"\337g\301\262te\361\365h\234\334\36l\312\35\341\363\7B\247\353\32;\232"
+"\35\353\276=\353gR\353}\241\256\254\242*\\]\33L\243g\335\311\337\253\223"
+"j\255\3669\0\300\33f\305\323d\273\3672\263\7%\200\3679\33\354\3\0||\235"
+"\356\363\321\37\364\235^\0\350\13\325;\231n\77\n\201\351\17\0*\355`\6n"
+"\274\17`\361\322\36:m\'W\265\352\376\337\245\366\355\337!9\341\3\360\326"
+"\355\274I-7\253\350\273$g|\0,e\236\347T}\303\325e$wO\42KW\252\263\374\342"
+">>\4p\371\27\0\320\3555\261\251\326\266\235\332!\2223\251l\217S:\202\374"
+":B2\234^\346\225T\366SA~\275\264O\316:\351\300\34I2z\42\363\275\264_)C"
+"\317/\273\317\325\255\2476\3467\263v\317V\246\277\233\377L{\354\374\0%"
+"z\34\2\35[\227\350aJ\364\30$\372\235D\'\366$:J\211~\t\211^\24\351U\221"
+"\376!\3221\221>\220\350-H\364\212Ho\210\364O\221\206\321\177\247\235\313"
+"N\215\316\300\21\347\326z\370\25>\20q\277\202\323\25\360\274\373\224\333"
+"\301\362\263\235\341\314\315\177\261\360u\7x\236\310\31`\3233\212\216p"
+"\5M\2300a\342\377\304or\240\246d\206_$\202\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\4MIDATx\332\355\230]lTE\24\307\377\373]K\351\222"
+"\220\3325\264@k]\201h\244@\5\373b)P>\13\246\370\242\306\320\204\240\326"
+"h\33\36\364A\210\30\242i\324\310\203\232\372\246iD%l\201\304\232\30I)\4"
+"\201\310b,\337mjkY\212\5\227\306\356\332\342v\313v\217\17\333\335{n{w\271"
+"{\317\276\271\347\345\376\347\316\334\337\314\235\2313sf\200\254e-kY\313"
+"Z\3262k&\240`\376\203\213\215\207\302\303\341\324E\254\300\363-\372*\35"
+"\33\352\357\277\374\353\325\373\311Iz-\317\355\6\60\326y\334\343OR\242"
+"\201\322\264\211\366u\32\30\263\201\276\265m9\356}V\253\307W=\7\330g9\37"
+"q\273\324Y\27/\5Cq\355t\26-*\340\231t\360\215\177\222\327\265\330\303\377"
+"a\327\364\354\205\273N\362\374\336\'R4\333\322\243\24\274\240U`\371\317"
+"\f5\274,\5\352\220R\356;\315\2\346\367\31\312\2770y\217\7\249\242I\212"
+"\356\335\257$\n\216\331\222\222\242\17\36\270\367:\25\275t\267d\26P#\253"
+"n\357\34\311|\272\326\241\350\331;E3\323\303\364\213\42\22\353(\224\273"
+"$\244\201 s\221r\t\211\6Yb\221\310\203\377f\272@D\32e:_D\342\253cXD\312"
+"\343K\262\210\3640\323\177HH\226b\226\270.!\225\345\260\316\357\222\220"
+"\370\22\336\36\221\220\2662\375\245\304\357\26\254W\364\231\23\22\322>"
+"e:\335\177S\262\322\325\326+z\317E\1i\355!SB\177\376\261\361=\330\276\357"
+"\307\334D\342\303F\243\21\6\362_z\253D\331\206^\361\30\213Ur\227<\263\246"
+"\346!e\23\372\372m\277\336\250\247\3661E;f\27\26\362n\b{\232\257\353\217"
+"\237\212\212\222-\231\277\34\376\346\256,\22\3@\275\347;:n\213c\272\77"
+"[\316u\5S,\21\252\324\346\212TCWUt\357\367I\235\325\266(\201\310T\30\233"
+"\267`uS\333H\342\355`\203\331()6vug\22\357\275n\t\t@\335\235xF`\255\366"
+"\267z\275\345hEw<\344\374\241ZD\302`\315\255\370\277\36u\213H\270\265\203"
+"\342\255:h\221\305\343\235G\342\252\342Uad\337\234P\357\346\312H\277]\211"
+"\253\302z\341i\243-\241^\23\222\224h\356\311\2452\322\5e\237\254\223\221"
+"\302\335\t\271Ex*\273\226PO\315\225\221n(\337\255\316\24\tU2\322P\306H"
+"l\t_\342\312T\233LU\42\222\77\252\365{\1\42\332\220&)rW\203ds\2\30K7V\361"
+")\362\361y\374\2300\222.i\200\3515S\317R\0\360\247K\352a:\36%\226\1\30"
+"\37N\227t\205o\263\366\330s\5\200>J\227\344e\332\2711\366\254\2169\244"
+"\232d\323\224|\207\271\311\22\257\3\0\226-\216\325\240&95%\267\237\230"
+"\256\331\4\300\362\21\0\234\234V\314\341S\366`\237C\223\264\216_\255\4"
+"v\226\255<FDt\323\244>l\325\234\342\305No\310\327\212m|Z7R\37\304n\215"
+"j\33\1\323\234\234\271\256\231\3161\34\nF\201O\333\331\273\335\7\64n\361"
+"\36\35\322w\'\326\240\352\201\276\231\5\232\r\235\21\302;f\\\371]\336o"
+"\354\334r\266~Z\\7\2605d\360T\366\355\346;\252M\260\322\7\303\346\334\323"
+"\77\325C\223\235\333\330\215\237!+-\237o\307X\237w\4\377\17\323\327O\346"
+"\345\25\305\216\311\277\272\317\6\204\325\25{\247\206\352\337&\273\b\264"
+"\3526\363\353\22\t\251\203\373\230\327* \365\252\334\365e\30\77#\234S\245"
+"\266\13\3324\357<oS\227\256\363]\222\333\264\326QW$\32\211\204\254f\0="
+"\255\242\341\313))_Y\271\342+\42\242\317t\334\271\245\260\361\1\0\b\1\300"
+"\367\31\360\7\363\r\42\352\262e\200\324DD\23\2332\0Z\77JD\237\230\305\34"
+"\313\366 \21\35q\210A\266/BD\324:K\312\311\255\273DDC\357X\245\240\312"
+"\253\23D\324\3462\t9\356\23Q\242{\207\253\345cf=@t\252\324\202L\314\310"
+"\27\236\326\361_\377\1\342\334w\300\227\307U\206\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0-\0\0\0x\b\0\0\0\0C2$\2\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\2\231IDATx\332\355\226\313k\23Q\24\306\277$\23"
+"\253)i\342B-\304\322\7R\27j\245\370H\351BA\254\257M\321\212\42\250\377"
+"B\27RP\27]\210X\24\37\13\205\272P\244\33\27R\241V\27\202\26\213\301G\243"
+"R\253\361\325\26S\253}\330\42II51M\362\271H2\2314I\347^\27n\234ou\3577"
+"\277{8\367\234\231;\27\60d\310\220!C\206\f\31\222\227I\227(\262! \30k\373"
+"\265\2418\31~vb\331\374\3306\207\323\341p8\235\316\3313)\247\341|M\372"
+"\341l\313\325\344\240\365z\347\203\227\303\323Q\246\365&\225B;\265:\235"
+"t\277p\236\222\264\303\223\355&v/@\333\236\'\'\201\221\264=\0\230\13\355"
+"\357\246\33\0\3564\254R\255\232\265P\200\267\323\0J*\254YtK#\200\311\303"
+"=\270T\256zn\237:,\271\242\315dM\204\344;\27\200\251L\206\3075\321\314"
+"~\r\335K\362\263\13\300R\315~\216i\362Nx2+\33\267\2\321\203c\0,\232x\343"
+"\332T\317\252\261M\257I\266&\335`\246\204+\2655I\250\243\35\353\1\377\271"
+"\344\270Ku\357}\323\306nScw\223<\232r\313\3)7X\205\274\364\344\34\351W"
+"\324\272\215\222$\207j\1(y:\263\2@{,=\353[}`\213\375\307\243\256(\362\307"
+"&\371{y\336\16\27\350\374\375)\31\272\23\22t\354\256\f\355\r\312\320=\220"
+"\241=24_\310\320CA\31\332\7\31\372\275\24\375I\212\376*E\217J\321\23\62"
+"t8\42C\27>\256\363\321!):*E\303\240\377\216\266\247\7N\221\377\356\253"
+"\364\261\26\257\320c-u\335\231Spp\177q\301[\301\336]K\34\256j{\226=7\354"
+"\237\t\1\247\306r\26\264\261\240\326\375\303\n\376\237w6\363\206MeE\361"
+"\357\37\236\4\5\26\227yS}\371\325\274H\27\256\233\310\364\361q\245\36\375"
+"P\333v\257\242C\17f\275%Gt:\3774k\326\244\23\333\325\247\215\335\237\373"
+"\25d\237\200\35\241\322X\42\26\13+f\0\37;t\313\262\270\262\326]\277\361"
+"\6I^\316y\230\263\357\210\37\0\302\0\320-\372\326\217\220\354\267\n\322"
+"\315$\243{\4\341\235!\222\27\304>+K\323\f\311\333EB\260\265=L\262\243X"
+"\204\265\355\33 9~R\21\201\353}Q\222\235\245&\1\266\272\'A\376\274\265"
+"M\254\26\312E\262\267\312\42|\26\35\332\274`\16\177\0g\243\337\365\32\337"
+"\245v\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b"
+"\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4 IDATx\332\355"
+"\230[h\34U\34\306\277\331\335l]5\327\355\3264\212l\3516\245\27ii\205\326"
+"j\221\22\352\345\241\6\225 B\353\5\252\17\6\tV\24DD\212\206\42\264^\2}"
+"\250x\301z\3\25QH\240\4o\3046\306\227\26\333\206\212\253]-mhim\324&k\332"
+"\315\316\347\303\356\316\374wwvwf\376y\360a\277\227\375\346\234\377\376"
+"f\346\314\355;\307\200\223\202\200I\240R_\26\256\325E^\\\350\330\23:@\276"
+"\7\17\32 \263\353\35\332\233S\344\37!/\244\300\t\222\333\313\232\227\316"
+"\220\\\bOj\315\222\334k\24\67\336K\222\335\360\250M$9\22\26-\306\313$\371"
+".<k\17I\236i\263\307z\210$SA\357\244\3008I\316\334T\30\353$Ir\1|\250%K"
+"\222\354\1\0t\246I\222[\340K\33I\222\334e\0\3359\373\26|jw\356\377C\221"
+"\2359\343g\220\362C\365\23\245\2621\370VsF\222\356\206B\267\n\320>\250"
+"\324o\201\222A\35)p\2440HQ(\3258\223#m\256Uh\324D-\350\0\200\3148\352\232"
+"\23\31\200\21\256]f\2324k\224\204\200\305Iw;\2358<zl|\342r\225\212\4\275"
+"\350\314\216NcnH$\247\236i\232#\22\311}\327:\215xd\35\20n\214&\272\326"
+"\24w\355\37\236L[\37\255\266ew\256,\272\4\217\356\2572`\rO\310\335.*\13"
+"\4\213v\311\376\241\206j\227\347K\273\360M\247\376y{\4\352\304\274*\244"
+"\307\355\272\355\316\25\267\t\324\261\2427V\240\250\356\202m\317;\223\16"
+"n\260\375\312w*\223\\\4\243\37\372m\377\320\252\212$7\3329k\373ACC\312"
+"\274d\373\33VhHx_\370\35*\322)\341\37\66\64\244\354\357\342@\2325$\374"
+"(\374\365*\222<\275\250\212\364\247L\16*\222|tgT$\371]\237R\221:\205\77"
+"\255\42\335\2\247\7\335\7)\324*\16I5N7\n\377\242\352i\351\21\376S\r) \216"
+"\343\325K\32\322\3\21\313N\77\247y\323\265}`\373\rW\24\244\246\237\355"
+"\177l9\n\377\244ug\355t\277i\20\276I\211\257\306\254A:\331\376\35\374\221"
+"\256Z\372\324\205dWakvk\342\\y~r\326\263\42%\\\23[\276Z\26\376\335\367"
+"Q\246\306\216\273]\304\224\354\300r\243B\246\363 s\360\263o\'\314\212\351"
+"\320\255\306z\177\231f\225{\337=i\375\350\323\355\256\213\3058\25\226\5"
+"\2\215\313z\177\263Z\17%\374\223\0\0\261\327\354\\\30R\221\200Xav\306T"
+"\223n\234\316\257\375<\357\342\247\32u#n\366\214\26>qGC\272kg\336U\270"
+"\221\342{\225w\301\245\'\2558\272DG\302\333\226\373DI\272\374q\301\255"
+"^\242#\341u;l*I\366\254\372\301\260\2164\375\257eo\326\221\360\205\345"
+"\36S\222\276\261\334VCG\262\347\271\241\230\216tZ|\257t\244I\333n\323\221"
+"\322\266\275\337P\221D\16\b\264\253H\346\254SFL\221l\361\232\13\216\213"
+")\213\345\342\0\62^Ic\266\275\' O\353\212W\322\21\341;\362\277\21\0\230"
+"\365J\222\211\351\16\21\364\'\351\225tR\370\27\362\277\253\0\f{Nbb\362"
+"\216x~\326\361H\356\201,&\205\35\255\274\r\276\27\33\275\271\325\210\373"
+"\0\34*%\315w\264R\3r\226\336\n\0\317\3\300\257\245u#\3667x\244Bb\225Q*"
+"\25\17F\372H\362`IU\363+\262lw\213#j\304)\235m\314\255\32\265\365\1FG\323"
+"\3425\345\327<\371\327\331,\360\306E\321\266\342\270\303+b\276\351n%\253"
+"8\351\34(/\270\335\355\232X1\351\352\251\322\376\17}\316[\322\235%\313"
+"\207_o\363;+\233\270\356\260\334\354\337l\302\267\214\265\303\371\23\313"
+"\364G\305\212\237/\5\243\261\6\244\317\375C\324UW]u\325U\327\377_\377\1"
+"}S5X\264;\344\275\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0-\0\0\0x\b\0\0\0\0C2$\2\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\200I"
+"DATx\332\355\227\301k\23A\24\306\277l\222j\b6\255\251\221\330T\241\212"
+"\202(\265\36D(\272\212J\361P\212\7\21*x\362\344\315\222\77@A\21\301\212"
+"H{\20E\361\240\242\210\236\22TJ\321R\274\b-E\213`\251\255H\240E,\265\305"
+"6\20\66\237\207\315\356\316&;I\306\203^\366;=^~3\371\336\2747C\2\370\362"
+"\345\313\227L\1\'\f\2EJ\260 `\2703\307\310\305\244\'\33zE>,O\336&\215\203"
+"\36pl\226\374\26*\317j\237I\236\257\200w\345Iz|i\263Ar(\340N\236\42\311"
+"^/\203GIr\264A<\205+$\371\300\273\366\1\222\314mt\352\313\220\344l\320"
+"\233\326\246H2\277\327\252o\232$\231\220\235\177\223A\222<\r\0\330\271"
+"J\222\354\221\267\353\20I\222\327\2@\257\31\336\253\326\335\33&\223\211"
+"\\6\3\231\351\222\365I\21226U\37\235XA\244O\326\232\264.\1\276S{0\257\332"
+"\360t\2606\255MX\246\343\365L\375\206\274I\237\220\337\6Q\211-\0P\230\362"
+"\237\13\311#\22\250\227l<\223-\220\213\203\235\225+\264p$\266\271\275\343"
+"\360~\233}d\217@n{\251;\7\332\343\211\326T\333\266\250\5=\351+\335\366"
+"\27\256k2\6\0\30e\231\36\233v\7\334Y\243\t\320\244\226\7\373\1\0_\337Y"
+">\207\252\320\27/\0@\177l\207\235\351\13#\4d\276\0H\352Q\27\334q\23\300"
+"\370\221\25t\353v\256u\316\371\274G\364\35^\42\371\\\3\360\321q\336)n7"
+"\42\320\327I\16k\0\2B\235{D\372\234C\307I.\257G\31\235\24\253\374\356\204"
+"\267\0\34\317\3\0\35\257\305\5qo\335\336;Fr\270\224=ko\235\2067\235&\231"
+"\262\216y\206\236o\226MO\254\222#v:2F\222\314\256s\337b\375\255\260t\337"
+"\244\23\267u5\317\277_(\353\236.\224\277\354=\323\222\316_\242\n\375\f"
+"\n\364ZN\205\276K\25\372)T\350O*tqE\205\316R\205~\3\25z\\\211\236S\242"
+"\177)\321kJ\264\241B\377\204\n=\243D\317+\321\277\225h\370\364\337\321"
+"\215V\260\265\236\205\367\255g\255P\373\307T$\355\274\202\231\204\374\177"
+"C\213\36m\331\335\235r7\377\365\207\37K\300\313b\305\2\235R5\374\303\23"
+"\364\345\313\227\257\377\243\77$l\336\27\270\267;\1\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0x\b\0\0\0\0`iu\327\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\4\215IDATx\332\355X]h\\E\24>\273w\323\333"
+"%\3314\335&)\3711\253\245bc\252\230j\374A\315\322F[\32L\177\264j\375i\245"
+"\251\224\202$\240\20\202\17\246T\4\261>\4\n\242\350\202\324\20\225\202"
+"\4\177hE\372`K\245DQ\37TDK\211I\215\321f]7\322\306\255\353\366\3700s\357"
+"\235\231;wf\222\373V\366\274\334{g\346;\367\3343g\346\373\346Z`f5\351\325"
+"\177\375\3\213\266>D\304\336\305\242#o\42\42\42&\27\t\37!p\334\2708\370"
+"(\205cg8xqI(8\336\23\n>\177G(\370p\250\340\177H\205I]qG$\f\374H<\314\274"
+"O\266B\30\370\276h\30\370\307\325\20\2\236\355\2000\360A\313`\240\2749"
+"\331\2\60\225\203\253\337\202\n3^\327\330T\33\205|\376\227\77\362W\26\350"
+"3\332\366J\36\31;\263\247\236\355^\236\311dn\17F\307\373\n\350\263\351"
+"\35517\342qD|:\360\335\375(\267\322^Z\310\273\21\21\7\3\340\315\223\30"
+"h\331v\0\200$\42\42\36\222\3037\272\203G7\267TZ\226eW\267>\374\231\333"
+"8\34%\321#f\244\360\307\351\270\363\33\270\312\255\350\374\211v\214\333"
+"\273\311\315\230\f\336EG\355\361O\352\332i\372\rt\310i\t\274\236t\25\256"
+"\223\346u\200\313\305\204\244\222\316\222<7\6\244\266\243\310\340\13\376"
+"\376\235:\216kf\353\302\327k\315\223\f)\352\262\245\344\341})\352!\355"
+"7\251\n\373^\17\357\333\25\311\24\225\324\273\345\1\27_!\352\23\322\374"
+"\201fe9\205\200\16%8\357\273\215\\N\252\361W\272\234\273\230\200\337F."
+"3\232\245\375\253S\370b\374\23$\254\235\272\275\301\246U\320\310\277\77"
+"r-\271ji\366\362~\272K\360\315\25\212\272\26F\222\0\332\370\326\245N^\365"
+"*a\20\21\21\5f\252t\360\333\365J\24\21\21\323|\343\22\7\177Q\37\3008\42"
+"\342V>\177%7\220\367\264R\343\5\0\0\221\227\275\312~]\347\240\22\21\361"
+"\31\241~\276p\273\367\37\327\310\225K\77\3@\215\200g\n\177\323\237=\352"
+"\20^\3\0QJ\257\341\351\242;\246ZE\266m\213\365k\25\205\335\376\360\215"
+"\6\352\301W\26\234\35{\250\301\\<\305KR\322\31\333\262\322P;>\21\304[\245"
+"\243\17\324\233\3708\26L}X\32\271o\231\16o}\207J\233\351oR\207\21\373\34"
+"\65\226\335\233P\212\231!\324\332\333+T\36\256\77\247\367pP5\251\221MY"
+"\255\203s\312TF\356\372V\347\340o\315ArE\177N\355\340\202\366D\261\362"
+"\251\257U\16\2762(({\355@\260\232z\326\254\250\227\336\374\374\264\334"
+"A\215\371\312j\37\222\370x\177A\253;\336~PL\3512X\240%wq.\372\30\375\335"
+"\233\2xcF\353!\332\373\226\3670\313\210\352S*I\314Z*/d\320\253\345GL\360"
+"\223M\263\356}\253\207\237\7\200\373\215\366\272Kk\334\323\304\235\36>"
+"\7\0\320h\224\305\334\203\316\335:>~\3502\233\206\217~\343%\23\0\300\273"
+"\210\210g\r\347q\207\263\237yM\344\7\315r\303_Q\254\206%\361_0\237\1\200"
+"\274\243\305\204\357\207W\r\331\346\33r\311\212\370\204\341\17\232)r\371"
+"^\304\303\250\31UQn\376\322\303\323\242j\3566\302\257\342>\203%\337\202"
+"mr\344e\27\60\2372;c\200\247\13\177n\316\217\207\'\267\350\361\353\311"
+"e\210i\332\347\255\312&-\236RT\35\243\237\376\363z\177Lh\340\35$}\307g"
+"\231\266^\226\33\324\16b\224\337Zx\375\346Y\335\204\222\235\336!\374{x"
+"\212m|\224\333Y\213\267\6\303\17\321 y\375\266U\330\233_\n\220\177\326"
+"\21:\240\1\244\370\356u\364\214\231\355\222\225\362j\207\317\332A\212\377"
+"\24\240\332\241\315\334.\221\241V\2159b\352\26\321\361f\322^\5\0\221>O"
+"0\275\334\231J\330\226e\305*\33\356~\321%\217\363\265\276\300\322\210\210"
+"\330C\36jO)\271\377\200D\327\246\21\21O\270\217m\301\334\177\264N\226\327"
+"4\42\226\330\272\271fX&g\13\317%\345\377\237n\30\0\30\341\317\256\321\324"
+"\206\307\3263\325u\371\223\17O\374\216\306\377\257\350\261\252\252*Q\1"
+"P\234\237\273\370/\224\255le+[\331\256\42\373\37\262rr\'97tX\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0/\0\0\0x\b\0\0\0\0G\307\364"
+"\77\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\340IDATx\332\355\227MHTQ\24"
+"\307\317\33u\246\351\3310\16\224e\303\204\215\213\262EY\250$~l\312\250"
+"\241B\23*\303\240\202\302E\6\201XHDP\264)\4\67A\253D\f7.,&d \203\201\230"
+" \202\42d\26!C\205\ba:\f1\r\311\353\337\342=\347\343\335s\307y\213\b\342"
+"\375\227\367\375\316\275\347\236{\316\271\367\21\331\262e\313\326\277Q"
+"Y)\220\267\243n\345g\351s^\5\200\213\245\322\312c\0\0|%\342\343:\216\316"
+"\322\360\t\3G\2735|\325i\tG\253%<\335l\t\37\261\344\314\334\16+[]\355Q"
+"\254\340cn+q\377\274\233\254\340\227\35V\360\347\36\262\200/5\222\25|\210"
+"\257\f.V\276\0\321\227\345\377\263\77(\374\30J\344\35\301C]-*\321\357\367"
+"\257^\276Y1\6\217\264Pr\2043\256\270\222F\236\22G\35DD{\1$8\274\255\200"
+"\6\200T\7\2217#\341o\203\321\364\226y\360\374]\35X\32j\366WW\7Z\206\26"
+"\n\\\23\360\220^z\273r#5\223Ex\267\6\0\17\13\303U\237\224\362\367\1`R\230"
+"%.\341\235\0\0U\360\322\231\340\3716\0\230b\202V\245\25\362F\201\366\22"
+"\21=c\370\225\23lZ\244\0\3404\373\351-3\177\331&\42\42\276`\271Y\\zS\345"
+"\273\307kq\277\252\36\205\1\226o\20y\247\21\346\343l\312\247\5^Y;\307q"
+"/c0,\306\77\236\315\224G{*\304\25\24s\31^\313O\306O\303M\336uz\270\337"
+"\234\367\332\324\231\235\305.\225\217\\\261|\275\323(\353\376u\220(\336"
+"\355b\r\6!\325M\266\365\336\223\33,l\345\fB\232\324@\253\347\f\324Q\371"
+"\22\333\331M\270\273\347$\374\242\354a\345>\370 \311\31\\*r\30\352\276"
+"\353\302yd\362\223]\365x\314way\240\357]\201A\376\226\243\374{\313\325"
+"\36\315\361\3&>\304\272\266yl\215\217\230\370\230d3\3733:\377\303\304\243"
+"RbPk,\220\337\177\210\210\316I\370\304-a(\n\0i\331\221T\3539a\236\337\335"
+"+\341\277\23\21Q\314\314\323\23Iq\350\236\317\n\274\343)\317o \42\242\31"
+"\263\377\0.\260|\23\0\300\315\3608\314\361\263\0\20&\216G\227\210\267\2"
+"\0jy\36\243\345&<\250\1\300\4Ix\244:\363c\240\234\5\0,\273\30\376[\330"
+"x,\337\b\352\255J\361\236Z\324\337\2545\314\371j\333\350|v\225\325X$\362"
+"!\273\244\237\313\207\6\42\252z\301\224\342\314F.\177\372\214l\2346\321"
+"\363\7\304\220\235\354\357\317\335\203\225\307\302\271\2660\30X\377}E\244"
+"\250^\237\2032K\251_\366\37\252-[\266\376\226\376\0[+\200\366`.N=\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0x\b\0\0\0\0"
+"`iu\327\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\360IDATx\332\355X}h\225"
+"U\30\177\336\373\336\355z\333\356\334\267\354\303][E\332L\2325)L\207\256"
+"\24\207\323\264/\373P\331\214\20b\203\202\261\202\332P\212\310\ni\20\5"
+"\r\242\206\25B\f+4\302\77\226\30\262\244D*\304\206,]k\345n\343.\266\361"
+"\332\355\365\327\37\347\375<\357\3079w\177\312}\3769\367}\316\373{\356"
+"s\236\363;\317\363\234W\241`Q\42DD\270N\13\23e\30\0\240%\26\210\357\6\223"
+"s\312\202\340\253`\312k\13\201\3374k\341\261v\1\213\77m\303\221)\312\32"
+"\377\42\234r>\222%\274\321\0\356\275\310\306\267\262\203\27h\0\200\331"
+"z\212\36c\6\326e\265\3703\0\200\213\t\42R\16\2\0\364\342,\360/\3\0\206"
+"T\366\264\23\0\360\213|\bV\3\0z-\3324h\0\360\266,\274P\3\200\255\16M\311"
+"8\0l\220\\\374Y\0\363\267\270t\371\303\0\364\22)|\37\200Q\376\314(\375"
+"\0.\310\204`\r\200/\243^};\200w\304\360\204\6\364\371\36\270&\35h\361\256"
+"\226{^ZFs\243\376\246\213\227\21\316\323\r&A\271)^Q]S\36\241t\372\267\277"
+"\322\331&\320H\303\33i\347\351\77\323^\351\234.\31\30\30X\23\214\216wj"
+"\360\310\304\16\213\22\312\b\200g\2\377\273\13\376\242\3573\330\267\7\0"
+"z\2\340\265\227\21(\251F\42\242R\0\300!\177\370&\353\345#[\352\nTU\215"
+"\25\255x\364\33Ky8\302\274\7\6|\341O\32\357\215oT\235\352\274\365F\26\304"
+"Hl\17\3731\344\7o1\336j\367n\352\312\tc\r\306+\247}\340\225lJ\273\3317"
+"\256\335\256X\214\3710i\224\305\271: \264M\31\7^\363\316\357b3\233\2\211"
+"Q\353\344\205gV\235g\21\n\341e\235n\343=!jc\372;\303\210\275\316\306{R"
+"\31\333\42=\42\314\215L\362\370\344\302\324\237\13N\226I\4\304M\2151\336"
+"\303\206o\303\361\327\255\4\30\345\360\17\261aRp\264\1777\211\317\373\77"
+"\306\334\332%\312\r1\203\5\325\356\377W\226\2611)\302_\333od\t\267:/\204"
+"\327\334\233\314\201\6\267v\221\31\327|\241\201\36\0@\23\327p\230\370\35"
+"B<\333\351f\2672\337\304\317\212\35\30\1\200\355\356\370\351\226#\237\n"
+"\273\315W\210\210\370\216\316f\366{\42\3\5\0\360\34\307\237\357\254\351"
+"\375\'\342\341\370\271_\211\250\230\303;\210\277\371\357\266p\27\336%\242"
+"RN\267\334].Z\243a\247(\26\213\361\374U3\\\266\357\277C\315\252\350\365"
+"x\13\306\361\207\253\344\233\276\270\356[t\206\266-\221\274><\25T\267\364"
+"\243[+el\34\17.}\320\7\37X,\302\253\77!T&\273j\302\335\210\16C \251}\241"
+"\2271\245\27B\371\260,\314\302m\227\304\26\16\204m\252\2629%4p)4\224\312"
+"}\347D\6\376)\r\337\211\262\256\351p\3W\343\242\315\\\262\367\2070\3g%"
+"\b\25[\331\35\334M=/G\352E\253^\232\3607 \177\37\2137\366\372\330\370,"
+"\253\323\35o<\300\207t1e)\245\273]&:\35\375wG\222\350\375I\241\205H\307"
+"\7\366\303\224\243\251>\25\326\22;%\231\346\42hs\3711\31\374\345\232)\353"
+"\367\n\33\77OD\17J\345\272\271\345\326m\342^\33\77MDT-\25\305\351\235\326"
+"5\331\355\77\265\310m\303\27\177\270[&\42\242O\0`Tr\37\37\61\363\231\255"
+"\32\4\0\310\335\217\315V\217\365\260\314\377\253\362;@\2246{1n\375\364"
+"\246d\265\371\221\r)\36\237\270_\16\177\205\r\77\363x:\42W\252\214\332"
+"\374\275\2157HU\333*\205\257w-\303Y|\265\230\314\225\327y\200\335!\213"
+"\rH\340\215\203\77\63\343\305\323\323\333\304x\343;L\257C\365\254}*k\204"
+"x\243DU8\372\247\377\354\331\13\242\317\225M,|\'\246\34\272\16gm\b7\20"
+"\65\352[\235\273\177\263\245b,\264:}\314\352o\377\25\247\362qWf\315\334"
+"\35\f\77d8\351\356\337\266s\271\371\325\200\366O\375\310x\241\212|\361"
+"\255\253\215;f\252\305\217\312\267\232\365\254\221|\361_\23\25\231esz7"
+"_\241\352\207\314f\352.\336\360\26\246/$\42\245\323n\230^_\237L\304TU\215"
+"\26T\255=h\25\217\361r\217c\315\0\2006\366P~*\264\366\367\371\364\265\315"
+"\0p\322zl\b\256\375G+\374\342\332\f@w\362f\351a\277vV{\241\324\377\373"
+"\323\355\335D\203\356\273k$\271\361\211\r\16v]\373\352\330\311\77!\375"
+"\375\312\270V\25\26&\362\2102\3633\263\377RNr\222\223\234\344\344\6\222"
+"\377\1\271\323\252\306_V\234\241\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0/\0\0\0x\b\0\0\0\0G\307\364\77\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\3\64IDATx\332\355\227KHTa\24\307\317\35M\233\306\221\231"
+"\242\354aR\331\42\fz\242\221e\21\275({\220-*\243BZD\233\202 4\254\244("
+"\332\24\221\233\266E\24m\42,\214\20z \305\4\22%\21\22\42\263\20\21\242"
+"\207\f6\f\305\355\327\342\216\316\314\275\347\33g\23A\314\1773\314\231"
+"\337\371\356\371\316w\316w\317\210\344\225W^y\375\33Y\252\321\'\42\302"
+"\357\\\327x\t@\42\230#\177\32G\357\254\234\360%\214\351r.\370\224\321q"
+"\23659\4\377*\205\363\253tB\276\205t\365\372&\300\227\'\301#\237\234\317"
+"\253\331\361@\2\200\321\5R\330\3418\324e\r>\2\300\247\240\210X\27\1\260"
+"CY\370\263\0<,p\2765\0\360\321\274\205\25\0\234\37\77\246\305\t\200k&\274"
+"$\1\260#\315\22\36\4\330`\b\276\7\210Wf\330\212^\2vX\345\333\200~w\215"
+"Y\355@\237\266\205\32\340q\241\327\336\4\334\360\232\203\thS\13\262\332"
+"\206\215\236~\231;M~\364\353\33\13\315\23z\377\343\373\301\22!G\336W\271"
+"iOm@\344\367\373\27\317\336|O\32\267\326\312\310u\315y\322\261xzsE\267"
+"\371DD\226\2Q\r\257\313\240\1b\353EB\t\3\337\206\242\216\31\3\350\374%"
+"\7\370\322\274\252\274\254\254\242\266y(#4\17^\3574\323\242\224e\366\375"
+",\274\337\6\270\226\231\256\252\21#\177\5\340\276g\225>\3_\4@\300\23eQ"
+"T\347\353\0\36(I\13\333\231|\262\323\32ED\36)\374\367]jY\304\0\366\251"
+"\77\365(\353\27\4ED\252U^[\245\30\200\270~\223\275\366\3567\340d\341\204"
+"\361\312\216j\351\204\235j\311\307=\2745v\216w\264\333\270\325\233\377"
+"\276\361J\271\271x\222\367\t\226\273\rO\246\27c\177kMh\202Wi\271\273\356"
+"\355\7\373\27\24eq\370\2405\313\340\205j\277\201_\210A}\r\305Y\207\0Eg"
+"\n4\207\313f\207\241\231\232C\275mt\260\253\324\227o\273\371\21s\324M\370"
+"\33>\32\370\341\2C\242\374\253\257\216h\16G\263M\5\313Ny\316#\221^\354"
+"\201\322R\367\344RXq\350m\206C\372\226\273\201\251J\33\255\353N\361\'\\"
+"|\275\32\332\364\333c|\227\213\217\230\206\ng\304a\324\305Sbp\230\237|"
+"@\372\375#\42r\320\300G\317yL\335\0q\323\221\22495\341^\337\337h\340\277"
+"\212\210H\304\315\313-Cs8\221\77\367\360\276{:\77YDD\236\272\343\7\232"
+"T\276\6\0\277\302\263Y\343\237\3t\212\306\263\307\213\257\5`\276\316\323"
+"\356\36\261*m\200\273b\340\211mI\317\201u\0\200o\305\n\377\271\323\361"
+"\210\267T:W\225\25\332;\354\314\351\263\225\363\265g\311\341\324$\37\351"
+"\352\352\35\177d\271V\17\313E$\374Di\305\247S\264\3729\224\254\306\16\27"
+"=\260\322\233\262\335\307\217\247\336\203%\333;S\327\302\351\212\34\376"
+"\177\211\25\bM\365I\342K\354g\376\37j^y\345\365\267\364\7\214Z\271\225"
+"\5\263}\301\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77"
+"\0\0\0x\b\0\0\0\0`iu\327\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\353ID"
+"ATx\332\355Yol\24E\24\177\267{w\333K\275k\271\366\332\364\17=K \5\212\306"
+"\2425\22\224\6N!4\24,\212\342\237bZ\214\22Mk$i\32\243\226@L\214\370\201"
+"\244\211\321\304K\32m\212\r\3214\32\371\23\303\7%\32R\211\366\203\30\242"
+"\204T\250\265\332\36\365h\200\34i\217\347\207\231\335\235\235\333\235\331"
+"=\276\370\341\336\227\331{3\277\267o\337\374f\336\2339\200\202\24\244 "
+"\5)H>\342s\320\207b\3255\345\n\244\323\177\374\223\276\355\321\246\322"
+"\370^\32\319\333Y\301v/I&\223\17:\243C\335\31\314\221\251v\277\341\361"
+"\30\42\276\350\370\356\36\264\227\354^\205\214\330\203\210\330\347\0\257"
+"\275\214\216\222j\2\0\210\42\42\342a{\370fc\360\360\326\272bUU\265\310"
+"\252]\337\30\312#\n\361\36\61i\13\177\226\216\233\334\244\262\352\300\206"
+"\337h\307\230\266\207<\214\332\301\23tTg\356\244\256\231\242\337@\207|"
+"o\3\257 ]\231z\333\270\366Zb1a\303\244\213$\316\325\16\241m^`\360\231\334"
+"\376\335\244g\263#1jY^\344\364\2527I\204\4\274\254\313\232\370\234\20\265"
+"\21\375=\42b\77b\342\25\276\217LQV\21\256\214\3\6>\300\365\224\22\365\27"
+"\222\225\245\23\1C\272\206\266\17\220\346;1\376vB\177\362s\370\307I3-Y"
+"\332\177\352\304\347\375\237 n\355\226\355\r\32eA\265\365\375\276\273I"
+"\33\227\341o\355\243\273\204U\35\20\360\232\33I\34h\264j\213\364\270\6"
+"\245\6\372\20\21\261\331\252,\326\361\355R<\231\351\26\2532\250\343\257"
+"\313\35\30CD\334a\215_\326p\3443\237\f\3776\0@\204S\232\314\376Pf\240\30"
+"\21\361U\216\77\77\30\335\373N\206\304\370\33\277\3@)\207g\210\277\345"
+"j\233\330\205\17\0 \312\351VZ\323E\253_\264\2124M\343\371\253.p\273\375"
+"\300j\325S\322\353\313M\30\'\236\250R\\\343CY\333\2443\272\275\322\347"
+"\316\300sNy+{l[\205\33\33\'\234S\37f\207\36-\221\341\325_P(\323=5b7\374"
+"\337\242DR{\303\302b\246\37\2452X&\262\260\342\222\334\302A\321\244\372"
+"\266\244\244\6.\tC\351[7.30\37\25\317DY\317\234\330\300LH6\231\225/\374"
+"$2p\316\5\241\2645\275\316\325\324\353\356H]t\357\33S\366\6J\335\257\254"
+"\246~\33\33#\236Vw\250\351 \37\322\22\360(\321\16\213\211n\246\376\356"
+"\212\3|4-\265\240t}l\376\230e\212\3523\242\222\230\225x\232\213\240\311"
+"\345\247\334\340/\327\314\32\317\253L\374M\0x\314\325^wc\245q\232x\310"
+"\304\317\1\0T\273\212\342\334N\375i\255\325\177H\270\233\206\257\376\262"
+"\226L\0\0G\21\21/\272\234\307\'\365\375\314T\r!\42\342\22w\370R\266\206"
+"%\376\317\270\237\1\200\264^\213q\337\17\357\273\3146\77\223&\305\343\303"
+"\17\273\303_!\315y\36\17\303\356R\25\315\315\77\232xJ\252\332VW\370e\226"
+"\317`\223oFss\344e\27\2605dZ\322\5\236.\374k\327r\361\360\374v9~#i\372"
+"\31\325K\346\252\254\221\342i\212\2121\365\323\242\331{!,\2017\223\360"
+"\235\234et]ln\20\33\360\323\374Vg\255\337L\211M\b\263\323\247$\377\16\\"
+"a\225O[v\326\205\373\235\341\207\251\223\326\372m\7\2677\277\343P\376\251"
+"\237\320\1U`\213o]K\317\230\251\204\35\225\227\353\371\254\tl\361\247\0"
+"\42z\332\234\353\3403\324\262Q\275\230\272\2177\274\225\350\357\2\0_\267"
+"Y0\275\273!\36\326TU\365\27W\255\77d$\217\311\362\34\307Z\20\21\261\215"
+"\374(\77#\314\375\7l\352\332\26D\304\323\306\317F\347\334\177,f\27\327"
+"\26D\314\262\274Yz\304\256\234\315\354\217\332\337\77\65\364\2\fY\317\256"
+"J|\3233\33\31v\335\372\372\313\323\177\243\307\224\33\214\326\275\2058"
+"\330X\37\rB~\22\310\42\66\334\301\375Z\7\342\274/\177\2702\217\370\362"
+"\35\274~\275\247J)W~E<+vP\330\333\260\32\240hd\22g\216\356\n\347\363z\366"
+"H2\240z\206\227Y\330w!\340\25\377&\316\37\37\64\253\361a\317\227\253A\0"
+"\200\300k\272\201h\236\263\320I\361\333\362e\21=\334\356\367:\177\372\265"
+"\321y\322^\317\23\17\365L\305\220\207,\247\337_\344\5\24\63\\[J\267\316"
+"C^\340\352\2~\276sEy\244j\335\210\316\37O\4L\360\233\337\270\346\351\233"
+"\317q\7\360W\24\217\334\253gN_\343\355\232\307\373\177\262\371E*\265\222"
+"\305\177SW\27\377\267\377_\374\7\356\202\234\317V\230\276\231\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0/\0\0\0x\b\0\0\0\0G\307"
+"\364\77\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3.IDATx\332\355\227MHTQ\24"
+"\307\317\274qf\234f\234F\323&\315\4\2630lQ\26\32Z\326\242/\312>\320\210"
+"\3120\220\26b\13\3A,,\242(\332\24\201\233\226\26\241\270\310\205\301\204"
+"\b\31\ba b\2212\213\220!D\4\361\213A\6a|\376[\274\371|\357\3347o6\321\342"
+"\235\315\300\235\337\377\336s\317\307\275\367\21\231f\232i\246\231f\232"
+"i\246\375_f\341\307`\220\227\312\3164\324\272\210\266~|\375\362}5:x\276"
+"\226\326\336pb[k\30I\26\274 \21\21\35\2\20\344\360\272\24\32\0B\247\210"
+"\274\33\2\376\t\30\33\3329\13\236\177\256\0K]\307\212}\276\222\332\256"
+"\371\24\3274x=\0`\346@b\244h@\207w\312\0\360:5\\\25kB\376%\0\fhf\t\bx;"
+"\0\300\245\361\322\36\344\371:\0\30d\202\226+\247\362\222\362\323DD\364"
+"\211\341W\257\260e\21\2\200\33\354_\23\314\374\326\34\42\242*\226\347f"
+"q\0\0\302\22+\370\246\335\257K\211B;\313Wjy{4\314\227\331\222\17kxK,\217"
+"\37\274\214\240[\33\377@\274R\336\36\264iW\260\250\333\360~r1\376\356\256"
+"\366Z\364\333\270X]\367\362\340\315\275v\35\301/\256Y\346\236V9\5\374>"
+"\b,\320\350`\5\235\20\332C+\'x!\26\314\357\342\4\365\262P Wp\2W\217x\211"
+"\335\354&\234\2153\2~\301*\b\224\263\346\325\32\'\270\253\223\f\327\341"
+"\16M>6\222\213\335\345\361xT\232\254\222\346\311\24A\362\226\307\0\344"
+"1mtr,\301\267\253\370z\326\265\202\3671~D\305\217\13\66sdC\341\327U<\334"
+"\2Ait\201\344\363\207\210\350\266\200\17>\326\f\215\1@X\224\22\237R\23"
+"\352\371\235M\2~\231\210\210\306\325<\275\23\64\207\342\371\250\206\227"
+"\372y>\233\210\210\206\325\376\3ha\371j\0\200\223\341q\226\343G\1\300O"
+"\34\217\6-~\2\0P\312\363\350\311R\341e2\0\364\221\200G\350\\r\f,\267\0"
+"\0+\16\206_\364+\212\360\2032\345\250\262x\257-\0\0\42EL~\345B\272\23_"
+"%2>2\3623\276d1W\17\225D\224\373\231i\305\341m\\\3754G\253qHE\317\36\325"
+"\206\354j[[\342\36t_\364\'\216\205\316\22C\257.\267\373\21\320\233o7\374"
+"N\263\311@y\6\357\272f \224\1.\205\200\326\f\370\343\0\274\31\3603\242"
+"\363\202\277\322\313+\210\262\7\346\260\330\177=\307\310\364\311Y\356\261"
+"\246\305w\244\336`\266t|7B\376\336\251\270\240/mz\355DD\266\370%\236g0"
+"J-Q\376\222\321\254E\24\276#]<\243\2665\255\374\256\33\344)z(L\33\364\'"
+"\366H\310\326\203\n\342K\356YQ\360gz\2705\202\217\215\373\363=\2055\261"
+"\347v@7\301\247\325\335>\345\320\365yB\365r\270\'\245\311mi\347\237\304"
+"\334\r\16\3\337Sd\363\370\34\3337W\227\2267\377\371\367\335_n\273\2546"
+"\304\27\256N\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77"
+"\0\0\0x\b\0\0\0\0`iu\327\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\352ID"
+"ATx\332\355Xmh\34E\30~w7\311\365H.\37\327$%\37&Z\324\266\246\25S\215T\252"
+"\rmlK\202i\214Z\255\37\2554\25)H\2\n!\370\303\224H\245X\225B\240\250\30"
+"(5T\245 \301\322/\244\77\64(\22E\213h)\32JLk\2146\347q\2216\\=7\217\77"
+"f\77f\367vg\346\362\263\344\3713{\357\314\363\336\354;\357\314\363\356"
+"h\224\5\203h\36\24\f\203\310$\tZ\200dU`O\336Y\340(I1\b\230\353\2\354%\23"
+"\300d\236\234\257_\4\360B\226yE\32@\25)\240\314\4pX\363\32;\1\240\203\224"
+"\260\21\0F\138\213\266\37\0\216\220\42\336\1\200\251\270\33\271S\0\60a"
+"\250\362\365\13\0\220^cGn\34\0PI\312(5\1\0\333\211\210\350\3169\0@;\345"
+"\200\207\0\08\240\21u\260\307!\312\to3\326\251\350\0{P\177y+\4\77\202\207"
+"YA9\242$\303\363[)g\254\347\350\357\323\2\360\206C\37\67\26\302\327\317"
+"\333/\277\224\26\204X\232\3617\207\216\320\304\16*\253\211\2102\27\350"
+"fE\330\373G+\252k\312uJ\245~\373+5\237\353\2625\274\231\342S\357\233\335"
+"\236\215[644t\1778;\332\235F\26\246:\235sS\33\13<\35\355\377\356A0\314"
+"=:\33\261\13\0\372B\350\265\223\bE\242\221\210(\16\08\30L\337\342\f>\326"
+"ZWh\30F\244x\325\366\317\35\343!\235\315>\354,y\306\32we\223g\273\344o"
+"\370\305\352\30\213\354b\17#!\302\5\0\330\235\275\250\253\247\254w\260"
+"\206|\25\224\353\254+}[`\\{=\261\230\b\310$vF\233\325!\241m\342\217\243"
+"tv\377\16\326\263%41j\371\274\310Vvv\306\217\t\362\262\316t\371Y!jg\366"
+"5\n\232\0\0\272\277\217-\221\251\13w\306>\207\237\357\327+f\376T\262\263"
+"\354D@\324\266X\355}\254\371R\314\237oq\4\331\307\177\2245\323\222\255"
+"\375\273\235\370\376\371O\260i\355\220\235\r\21+\13\252\275\377\257\335"
+"\312\332z\31\377\306^\353\224\360\232\363\5y\355\33\311&\320\340\265.\261"
+"\343Z u\320\7\0h\362\32\13m~\247\2742\1\0\64{\215\5\66\377\232|\2c|!g\305"
+"\317)j\13\77\326d\374\327\210\210\212}F7\263\337\2259(\4\200\227|\371\363"
+"\265\323\275\367LT\314\277\376+\21\225\372\370\\\342o\375\273]<\205\303"
+"D\24\367\331Vz\345\242MTf\353\221H\304\237\277F\306w\332\17\336\225[\311"
+"\322\227-\30\247\37\257\322\225\371Q3PtF\266-\323\324\34<\33\246[\346\361"
+"G*U|\234\16\227>\230\303\17\227\310\370\306O\20b\272\247F<\215\274/ Ab"
+"OLX\314\364C\212#\302R\362\216Kr\17\3\242E\325\266&\244\16.\tC\251=p^\346"
+"\340\237\270x%\226\366$\305\16\256Fe\213\271\354\371\357E\16\276SH\250"
+"\310\352\336\360j\352e\265\244^r\367\253S\301\16J\325wVc\177\200\217Or"
+"\332\335\321\306\1\177HK(G\304wz\\ts\365wW=\321{\323R\17z\327\7\356\217"
+"\31\256\250\36\25\225\304<\352S\276\b\272\271\374\244\n\177\262f\306y^"
+"\345\362\347\210h\263\322Yw}\245\3635\261\316\345\'\211\210\252\225\242"
+"\230|\314~Z\353\235\77\265\250-\303\211\77\274%\23\21\321G\0\60\256\270"
+"\216O\330\347\231k\32\6\0\224)^M\3605,\233\377U\365\25 J\331\265\230\357"
+"\375\351-E\265\371\2015\t\77\77\366\240\32\3772k~\366\363\351\230\232T"
+"Y\332\374\255\313\267\222\252\266M\211\277\334\363\32\274\370\246#*\237"
+"\274\374\6\366\206,\242r\307cm\374\331\331l>=\267M\341r\2155\375\234\351"
+"EwW\326H\371\226DUp\365\323\177n\357\305\230\204\336\304\302wf\206\263"
+"u\361\332 v\220g\351[\235\267~sQ1!T\247\17\231\376\16^\346\215OyN\326\314"
+"\275\341\364\203\326$\275\365[\207\357l\336\37R\376\31G\255\1\276kT\233"
+"\337\266\326\372\306L\264\4\245\362\355\266\2365R \377,Q\261-\233\311\235"
+"~\205Z>b\27S\367\370\35\2672{\21\21i\335n\301t`C},b\30F^a\325\372\327\35"
+"\361\270R\2365\261f\376~\263|T\250\375\373\2\352\332f\08\347\374l\b\327"
+"\376\343\201\327\220\315\0L>on9\24T\316\246_\211\7\337\77\255\350%\32\366"
+"~\273\352\365\233\236\336\310e\327\215\223\237\235\373\239\336\337\25\24"
+"\25\305\362\2112s\263\327\376\245E,b\21\213X\304M\204\377\1\211X\251\332"
+"\305\215\364\324\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0/\0\0\0x\b\0\0\0\0G\307\364\77\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\3@IDATx\332\355\227MhTW\24\200\317{c&N\'&c\212IMC@#Z\24\261Zb\333\324"
+"(\245\376\240AC,b\215(\210BqcA\b\261H)\202\305\215R\b\224\42\b6\24%\233"
+",,\214\204\200\n\1\211 \322\212\204,\202\f\42!P\242\t\203\fC\303\313\347"
+"\342M2o\336=w\234E\335\275\263\311\343\344;\367\236\337{\357\210D\22I$"
+"\221\374\77\342\24\77c\42\13X\260\230\210\27\326}\3\257W\253\364\262a\30"
+"\60\325\375\340}\241\340u\31x\261\314\324\273\23\300\31C\275!\17\250\33"
+"\257\364\200\337\234Re7@\227\36\326\327\0\243\361`>.\3\334\264\245\353"
+"\32\300T}1\3224@&f\343\335q\200\374\346\305H\'\1h\260\327#\345\1pDDD\326"
+"\347\08X\256\200\35\0p\305\21\351\362\77o\224\257\370U\237J\'.\371\37v"
+"\347\13!<%(\336\252w\265T\335|\220\337\377\356\36\374*\200_\257\244i\177"
+"Y\302\'c\225\360\356\337\213\316\177X\331T\254\310\373\374\236r\363\22"
+"\224\206&\21\221\371\361\350<\321uT\310\273\255\273\273\333\223\42\13\377"
+"<\270\367h\266\240\334\327.s\277j\306U\337\347\202\255\226\331\357\212"
+"\210l\1\62\352\250\224\320\0\331]\42\251\274\205\377\31E\3564<G\347/\373"
+"\300L\337\347\315\215\215-\355}S%\256\31x\'\0\343\237\24\65M\203e\370\204"
+"\7p\2554]\33\347\254\374\25\200Ac\225\t\13\37\7 ix\31\317\350|\7\300\220"
+"\355\b\16\360\256\377\247GD\344/\205\237=\244\266E\26\340\250\372\257\307"
+"\312\372\261\25\42\42m*\257\255R\r@\316U\r\36\232\361&\375,\234S\371\255"
+"&\37/\244Y=\271\235\234\301;\213u\3743\245\30\\4\363\77\261\324)\277o\252"
+"2wp\302c\370C\260\31\'/nO9\345\307\2709\334\367\336\320wk\343e\f\236i\303"
+"\362\362R[\302\302\257\303\42\23\207\253U\203^\254\362c\254\374%a\310\324"
+"G\232A\247g5\3606j\6\311~\373\26\37\253A$\16\217[\370i\333E\226\370\362"
+"\352\234fp\272L1\222\237\2367\352\221\17\66{\262\266\2666\374fk9\361\244"
+"\304 \30\362(P\257\214\321\316\321\42\177.\304w\252\256\255\32X\344GB\374"
+"\230%\230m\205\273\370M\210\247\306b\260\246\260A\360\374\21\219n\3413"
+"\77\31\252Q\200\234\255$\215~O\204\327O\364X\370W\42\42\62\26\346\345\17"
+"\313p\370\236\3377x\367\266\316/\27\21\221\341\260\377\300)\225\337\16"
+"@B\341\225\7\217\210\334\7H\213\306\323m\342;\0X\243\363\364\207\37\372"
+"\255\36\300-\261\360d\367\6s\340\34\3\340u\265\302\377\233\366-r\27Z\375"
+"\243\312I};\r\300|\223R_o\265\234\\\332e~ldd\351\241\233m\326\372a\253"
+"\210\254\274\253\214\342\360\7Z\377\234(t\343\235\20\375\37433e]g\317\26"
+"\357\301\232\3\351\342\261\320\333R\311\373\323I\246\352]\311\317d\377"
+"\213~\321F\22I$\357K\336\2\7\24\270\251\1\356GX\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\2\306IDATx\332\355\230MHTQ\24\200\277y\316"
+"\217\224:\3766Z\271\30\60\204\304ETH\271\t\42W\26\24J\253\2126\5m\202\240"
+"\205\324\242\332\325\322UD \4\211AD\5\272ncF\22\263Hk\221%!\24\210\343"
+"\324(\224:\343iq\337\370\336\233t\354\336\347\312\336\331\334w\317;\357"
+"\273\347\236{\316\231\341B \201\4\22H \333IB\200\25\61\377~Y\324xA\314"
+"%\1X@\235\217}\354\330BF\302\7\243\2\b\3ME\372\251\'\37f\363\273O\236\365"
+"(\227\372\3072u\211c\247b^\333*{|\347\16\322tW\301*>\343R\217\204mm\242"
+"/\3576\357\265\325\263\216j\245+\344\254q\320e[\353\250c\367\\\372K\266"
+"\322\321|\252\364\304\313e\353\331\300Q\307\225>\25Sg\345\211\266\5\267"
+"in\243@\276nY-<\356*b,t,\377\343iL\37.<\331g\32-\370\325^d\31\335h/\300"
+"m[\377JMw\332\323\7h0\2549;\202jZm\233U\3500\350R\372\337j\326\250fw\321"
+"b\204\262\356\27I5\251\327cp^\275P\'\322&\42\42)4\31\25\352E\30,PyuK\267"
+"\332\26\337\0P\6\300\t\21\21\251\321\365\203n\21\21\251\4\13\252\1\62\31"
+"\355\262\37U\13\201\5\265\0\17\365[Gf\1\240\334a\2744\350\77\217\354Ff"
+"\251\262a\322\200\361\302nd\226]6\77\f\30\357\1TL\367\2o\305\2001\7\20"
+"\7K\265\323g&\3758\227\6j\300\202f`\334\250\251\17\2571b\300\224\21c\24"
+"h\2000\364\0\337\214\30\317\323\360\331\335L\327\311\365%\357o\373Fbm\301"
+"\177\207\200\21\60\2F\300\b\30\1#`\4\214\355\306\260\266\200\21\301\377"
+"\377\261\16\327\363\36\263\233\215^\367\345\300|g\264\344}\220Gz\332\201"
+"\306x\362\320_\36\376J}\371\231\6\356\177\337l\371\301M\257\200\16l\347"
+"\34\333Ln\212\f\370DD\362\42\255>\31\347D\262!\237\321\312\212\\\366\351"
+"F\247\210T\373dL\212\214\371<\333\326\375P>4#\263\203\275\225\246n\214"
+"\2702\274\277\314\bQ\347)\223\217F7\2657$;<\220Z\203<6a\204\242\0\221\253"
+"\353\334\31j\313E\233\321\355\'\323V\24\343\232\217\272]\235P\343\242\237"
+"\332O\252a\302\307^Z\354x\224\353~\330\260\346a\363\274B\334\321E\224\255"
+"\310\3233\373\352\253\232\216\f\25rL;Q\217\27w\363TL;\6\343^B\376\212A"
+"\343\r%\257\177u|8]\322\211R\215.R\225\210\305s\231\271t\216\377F\376\0"
+"\42\373a,\27\6\224\240\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0\'\0\0\0x\b\0\0\0\0T\20\264\313\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2aIDATx\332\355\227\277k\24A\24\307\277\353\345\356\222\350\375H"
+"b\324;b$\222p\376(,\264\21\21\4\13\301h\241 \330XX\250h\nQ\b\4\42\21\363"
+"\'\330X\246\212\6\25\t\210\42\371\3\24\264\bh$\330)W\4\214\77\302\221\304"
+"3w\227\257\305\335\356\315\354\315\356\274\302t\373\232\235\235\375\314"
+"{\363f\336{3\13D\22I$\221l\2158\276\367l7P\254\330\307=\429h\350\337\346"
+"{\77,\234\307\272L_\254#`\274\217\313@\306\355\27r\'\205n,R\344G\362\200"
+"\314\356Q\241\3319\6\331\325$E\212\3467*\263\232\241L\337\23\231\272\353"
+"\f\321\327\224\363\224p\316\35J\270\203\237\30\316\265\1]\371S\367{\325"
+"\276\233o5\344\5\18H\374\265\370\27\3334\344\2070\376\2\245\r\265\311F"
+"s\302\355\233\375\250!\364\r\t\365\367\177\317/\342\42.\342\302\362\327"
+"&\t\7\330\240]\337\227r\271\274G`7\7`\273\235s\222\0\252v.\1\0\33*\267"
+"\346\25<\355b\1\0\353*\267\3546:Un\250\256B\341\312\306C}\30\300\237\212"
+"\312-\271\215\274\352\306\b\200Ym\77\276\232N\327})\0\323\232gcn\235\\"
+"R:\237\222\244~\2738\343\25\324\346)Q \311w\372J\345=n\316\275u\245K$y"
+"\304\267\362\245&\330\5\08\266\342\251S\357k\227\225\203\365\375\263\265"
+"\376k=\0\200]\313\376\203\247H\203\f\267\356e_\255\25\33\61mz\241\342\307"
+"\316\232\243c\307\33\215z\231\r\214\243\276\7\253\rhe\42\27\36r\35\375"
+"\367\310\251NAv\325\310\202\0\273B\226\34AN\227\310\33\2u\'Hf\5\334\347"
+"\226\20\61\326\215\302!\240}\246\310\357\217/\245\302\324\275V\26\372a"
+",\20\353\321vd1\36\304\215\263\364jj\336\3\247\3\13E\2\0\342\267]\260\333"
+"\342\365\325\6w\316\266\332\215\30\273k\251\247\233\13\365\347\252\255"
+"\356\16\324\37\13\26\273\203\215\371\265\233>\366z\372\367\376\252c\223"
+"\306\253^\205\317/\16\355L\347\216\317\270\353l\334\220\323\3764\232O\32"
+"\347\364A\247j\267\2\334t\6F\2775u]H\6\377\347\1\361\364\356d\246\372\373"
+"\307\317\352V\376_\376\3\364\f\2604\370\376\244\237\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\2\314IDATx\332\355\230\315KTQ\30\207"
+"\237\2713\216}h\343G~V\13!j!.\242\302H\202\42\24\202L\2\245]m\242\377\301"
+"]A\21Em\204\240\42\210Z\4m\242\2\243e\4V\24!Q\326Bk\210\250@\324\251\214"
+"\32\77\306_\213s\307\271\343\307x\357\321E\310\375m\3569\357y\357s\316"
+"}\317=\347=\234\b\363\24\205\31\261\260\242\220\301\207\16Jcu\13\266\304"
+"\36K\267\360\245\36)\263g\1{\42)}\216\371c8\37$\235\234g\336\236\226T\207"
+"O\225g$]\211\344\33\217JR\7\276u@\222\236\306=\226\310YI\272I\0]\226\244"
+"\257\25\271h\366JR2\32\204\341\fHR\272)\33\315AIR5\201T\226\221$u\1\260"
+"\355\217$\251\235\200\332\'I\322\371\bt\230\342\r\2\353\222y\263w\355\31"
+"S\b\26\f7$o\344U\246\n\13%\246\274\214CX\251\305\203\270\206\245\316\315"
+"\42\6\243\266\f\247\77\33\214J\254U\2326\214\326\202^\221\302\220\352z"
+"\200\251\1B\371W\4p\212\354\337\237t3\300\t\331\253\6p\200e\374@\254[A"
+"F\3152\30%@\f\230\2333\206\356\276\37\316\324\267\37\3133N\364<OU\326\354"
+"\77R\234\357\273\301}\276\366\6)\331\226\365J|\361\230\37e\363[Mw\306\353"
+"\336\345\232\207s\246\2516\317\2\332\351\361\315\245\t\212/z\354\247\\"
+"c\3162X\232\27/\217o\336\7\354\315\r\245\333\3044\327\363\273\306q\257"
+"\353\364b\201|\266ufva\317a\2147O\372\234\215\344\356l\311\235\323xv\\"
+"Ms<\343\213}\13\340&\f=1\325\365n\365:\1\30\316\210\33A7-\272n%A\30\264"
+"\31{\332\324jM\355\2\201\30\221_\336\206\6S\331\30\214\301q\323`f\244Q"
+"\222\324O@F\211i\210\201\3\346\277:\35t\265\375~\221=m\2\255\222\244\362"
+"\240\343\340\260$\251\24\34(\3H\245\2/\373>\323\218P\1`q@I\215\3\254\311"
+"1\36Z\354\77\267\335\215\3141\313\6\233l\370\300\335\310\34w\331\374\260"
+"`\274\5\60\61\335\f\274\224\5c\4 \1\216\331N\357\331\354\307\323\243@9"
+"8\260\5xe\265\251\367\3162\212\201!+F\37P\5\61\350\4\276Y1\356\217\302"
+"\307\302\347\240\370\204\277\363\222\263\2g\207\220\21\62BF\310\b\31!#"
+"d\204\214\325\306pV\200Q\344\363\376\252\20\243\331S\336dw\263\321\345"
+"\275\34\30k\211\373\277c\353l\2j\23\r\273\346\215\360o\377\247\237\243"
+"\300\325\357Ku\177g\311+\240\35\253\371\37\13\25*T\250P\241\376W\375\3"
+"c\360i\320`]J\273\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0\'\0\0\0x\b\0\0\0\0T\20\264\313\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2eIDATx\332\355\327OH\24Q\34\7\360\357\270\333.\256\256\271.F\273\210"
+"\375S\3140\n\332C\5\305\36\204(\351\336\251\272\24\211\7\351f\27#1\202"
+"\216R\4\335#((!\250X\244C\207\202\300K\202\321\77,<\354!\5\221\334&\327"
+"\365\333a\235\231\367of\366\320\241`~\247\367\36\237\371\27573o\336{\3"
+"D\21\305\177\36V#h\357}\233,\235n\nIu\207\365X\332\27\350\246\350\306\301"
+"\0\326\3551\332)\0>\335\237\27\312\311\233\376\371f(F\3027\337\232T\33"
+"\360u3R\355\230\257{(\325\16\370\272\245Q\261\226\1\342\nh\357\0\26\253"
+"\300\324\347\247I\267\261\254\273[W\200\336/\0^\244\372O\356\316.\\\354"
+"\1\360]\357\3605\311\36\241~\224$\213\372\370\nJ\275\r\0\3465\27kV\334"
+"~\0\33\77\264n;\250\364\373\225\344m}x\5\305eIr\217>\17N(\327]\3\360iA"
+"\317\367A\316\227#\311\303:KRr\326\34\311W\206\327u\\vwI\3262\6W\222\334"
+"(I\16\31X\232\242\33#\311I\323,\231\20\\\323=_\266\235\236k\235%\311\13"
+"\306I\367\334s\203U\222\225\1#\273L\327ek$g[\214\354,=\207\429i\\]\254"
+"\253\24\35\206\315\313E\377\34e\247F\34\310\344\213\327;\305\266\3417\22"
+"yB\0\26\22\277C\26\270\330\246\377\372\242E\243.\216\332\304Vq\334i\233"
+"~/\21*\227\4\336\357\337\36_\344\42\27\271\240\3577,\22\26\260\316\360"
+"|\37m\333\336\331@\2779\0-\341\316J\2\330\bw\t\0X\27\235{\266\211I\7\13"
+"\0\250\210\316\335\265S\242\353\255\247\20\234\355\3567\242\33\2\360\253"
+"*\272\262S\310\213\2671\2`Zz\37\337\234\302\21\301\355J\3x \335\331\230"
+"\263N\226\205\306G$)\r\4\247\334\5\325\333%\372H\362\255\374\244\362\256"
+"+9[V\333*I\36R\236\374\252\7\353\233}a\305M\'nv\347\204S\337\273\307k\335"
+"\227\262\0\200\35\352q(\266HC\30\16\b]5\235\215\230^z_Ueg\314\263\243\365"
+"\245\244\236\265\373\316\243\256\33\77\267\320\312x.\370\327\241\2713\275"
+"\r\313\313\225\350\307*\212(\376\355\370\3\13s\246\364>NpO\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20"
+"\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2/IDATx\332\355\230\277o\23"
+"\61\24\307\77q\257\t\202\224\364\7\220Ba\250\304Vu@PU\202\5\6\62\1S+6\230"
+"\340\177\350VF\30\231\20\352\324\1\211\5\1\22\254\260\264 \20\352\300\217"
+"\205B\7$\220\252\206\0A\202\226\266\217\301\16\347Kzi\354t@\221\277\213"
+"\357}\375\356k\373=\373\335\311\20\20\20\20\20\320I\310\0\252\333\377\375"
+"5\321\355e\361G\21P\300@\33\353\330\275\203\32\30564\362@\4\34\254\343"
+"\27\357\276[\3368t\376b\202\\\275\371\2542P<}!\227\364\335k\332Wv\220\226"
+"J5\257\302\'\213~\34\31\2668\265a\273O\32z9\246\376\2242\361\30\307-\337"
+"\376\230\316\335\260\370\253\206\214\231\367=\211xY\276\211\5\234\214\247"
+"2\245c\32\217\374f\244j\273\256\247\5r\376\350f\355\361@\235Fu|\255\305"
+"l,\215\325\236LN\263\265y\215\326yf\323\326\2\\3\374Sm\3561\346m\34\64"
+"\324\212\211\2406{\215[\336E\203\222\346\177kkP[\327q\322\310\374\260;"
+"\206\265\261\317M\203K\272CgdDDD\26p\324\310\353\216\b\24\350}5\355z\332"
+"~>\7\240\13\200\263\42\42\322\347:\17\316\211\210H\17(\350\5\250T\234\217"
+"\375\234\36\b\24\364\3\314\270\227\216J\25`W\254\361\320\243\376\314\232"
+"B\246\364\261\341\255\207\306\3S\310\22496\337<4^\3\350\230\36\6^\210\207"
+"\306\n@\1\224.\247\367|\352\361z\31\350\3\5G\200\227^E\375\321\77\215\34"
+"\260\350\2451\7\354\207\b&\200\317^\32\367\313\360\301.\246[\354\365\325"
+"\344\267=\rj\7\376\35:I#\332\222\235Ic\256H\312\277T#Rw~\327f\310\213g"
+"^\316\350\346I\3#\264\234\227p^\202F\320\b\32A#h\264\247\337\314\257\273"
+"\305\357P3\215q\353y\310\357fc\322\276\34\370z*\333\364>(\201\211Q`\260"
+"0|\242a\206\277\26>~/\3\267\276l7\374\235m\257\200\216u\362\36\13\b\b\b"
+"\b\b\370_\361\27\222\13\300#\205z`\224\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0\'\0\0\0x\b\0\0\0\0T\20\264\313\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\1\315IDATx\332\355\226=K\3A\20\206\3373gB\324\230"
+"D\211\230\20\25\374 \212\205\205\266\202\26\42\30\254\365\7\250 \251,\4"
+"\253\210\366\326\376\2\21\24$`#i\264R\260\324B\354\204\24)B \4\23\317\304"
+"8\26\346.\273\227\273\334\26*\21\366\255\366\206ggvvgo\7\220\222\222\222"
+"\372\35)\246\357@\37\220\251:\317;&\242q\13{\207\351{Zp\35e1\177.\257\315"
+"|\23\347\207\30\67*\310\315\13\246\361DByx&\305\342\316\n\206M\223]\\N"
+">\42\241\365\355\212E\365\223\230\277S1w[\324\302_C\253$\302);$\302M=R"
+"kN\5\202\221\205\375\20k\333\276\345\220\13\2\240\300\375\356\220\237\353"
+"\323\342~\b\326\237\255T\324\16\353\303\244nK=p\b\231\246\264\314\367\247"
+"\327\'\271\277\341T\0kK\274mO\37l\360\366#\262\321\77\312W\1\60\66\4\0"
+"\270\326m\213\372\340\306rJ[\326\275\352H\270\25\240B\316\376\2365M\33"
+"\24\210\33\6\320\355\314)\36\0\37\316\234\33\0*,W2~x\\c\1\0e\226\313\351"
+"\203.\226\233\370v\301p\232\345\243\36\7\360Ve\271\254>\210\260i$\0\244"
+"\270\363x\261z]G|\0N\370\353\243\327K\2261\236\21\21\361\335\305\262QX"
+"\215W\42FDt\307\357T\304\340\322z\327\325[$\42\2321\355|\261\1\6\1\0s\5"
+"\303\35\333\257\2553\17\353\375yix\263\37\0\60\2203\77<\31\253\313\36o"
+">\313h\255\31KX\35z\254j\306V\254\253\243\347\212\243.\3\266u\24=x\255"
+"C\205d\330\276\77\5\0o\310\327\211|\276,\273w)\251\366\326\27\204\344/"
+"6@\250\20\202\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R"
+"\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\60I"
+"DATx\332\355\231MHTQ\24\307\317\314\244\3434\216f\202%\31V\243HE\20\230"
+"\204B\337\202\21\221\304\264\210\42\254m\33W!\241(A\21\5.\212\302\245\273"
+"(H\42\4\27.*\314\t,\314\300Jd\b4)#\206!\307L3\247\177\213\347\370\356{"
+"\276\271\367\372\270\21\322\375o\346\315\235\363~s\77\316\271\37\347\22"
+"i\251\222G\302&\270>k6\376\313V\270\265\227\250\334\335\177zO\307\1\0\317"
+"j\274\226\362\33\300\'w\304\342\t\2445w1h\226\347\1hqE\f\247\300\252cC"
+"\272\356Q\0[\334\20Cs\260)Z\345#\242\242A\0\243\256*\371\4\16\32\350\34"
+"\1\0\354pC\334\r\0\375gj/t9\220\333]U\362\25\200j\42\42\362UFm\304n\217"
+"\33b\1\200\372\245o%\367X\342MWD\212\0\223\354\233\371\227\322\243\325"
+"_\3562z\16W\320\300k\253uiU8\360\371\355pRO;Z\177yV\367d\13L\346a\237\225"
+"\2632\33c~1\354\270*\263\277V\3171\356#\362\252o\370\352@\256\241\351C"
+"D\376\334\242\262\243\366Y\372\351\363\361\251\251\5\242e\13a\364T\351"
+"\256\372\202\345\254\351\2567c\37-%\3766\266\237#\202\372\7\352\306-\343"
+"\222<\33r2{gZ\\\223\360\277f\206x\77\203c\265\233&Gdz\255Y\274l4\231\310"
+"=Rq\222n{* 1\342)\31$\316/>\264\316*s\242\350\342g\247:\277\234\177i|N"
+"*t\365\7\206\7C!r\220\210\210zU\6\244\21Y#*\221SDD\364E%\322p\236o*\221"
+"\306\16\376\207J\344o\42\42ZP\2114\202ln\25\316\352\32\251\221\32\251\221"
+"\32\251\221\32\371\337\42\275\352\367D^\207\343\2077\343\331RJ>Q-\231|"
+"\357Z9d\266\b\311\354fs\344\220Af\227)j\370:9d!\21\321{\316\210O\233\217"
+"\33\345\220eDD}\34\344\214\371(\231\225=HD\364\202cPm\236t\77\310!\23\0"
+"\260\223cP\301\234\331}2\304|\0@\200\323\3608\363\\\42\203<ND46\313\313"
+"\2350\265l\2259\342O\2@\3\327f\324D\246\262\305\310\3\0\0\276\277\235c"
+"\252yE\234\20J\0@\217 \30\3304MX\204\274\3\0\330&\260\272\312 \343\1\276"
+"\355I\0\300#\3414\220d\230\303\\G\332otyH\330\77\225\226\13\16\316\20E"
+"\f\223:\t\307hb\231\23\245\231F\246\3030\270%\25cw-\251\2646\277\223\77"
+"\356K\30\277\366\310\335Tx\256[\230\251\246B{\177/%\360\272\245\227\231"
+"\210-\31\33k\334\36\62^\366\3707\235\350Y*\277\275\202\333\224\242!\207"
+",\357D,\226\260T\377\330\212\26>OmR\224t~\30\\\361jZ\33\343\1\37ov\265"
+"F\27\67~u\346\2157\344\271_\371C{/\367YqC-5\242x\221\30\264\254\334`n\16"
+"\21\375\234\371>\263\354&@KKKKKK\353\337\351\17L\244\26C\3\225h\366\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0"
+"\217\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\177IDATx\332\355"
+"\230Mh\23A\24\307_6\233&uk\322\17S\253i\2531\365\203^\24\244\305\17T\264"
+"\365\240\227(\42T/\305\243\336\5\301\36D\220\22\261xS<\210\7!\267B\213"
+"ZPD<4B\25\2754T\33\24\17\326\346\262\240D\23[7\333\277\7\273\233\315fv"
+"\'e/\n\363\77\275y\357\375f\336\354\316\354\356,\221\220\220\220\220\220"
+"\220\20C>\246Wi\r\374R5\2333\376\214h\227\316\355Q\32R\1\0/\17HU\376\24"
+"\360\225_\317\246/0\264tI\251\370\303\0F\270tB\207Uw7\32\65e\0l\345\321"
+"\353\227`S\246\317OD\355o\1\314s\7\177\1\206f\36\274\7\0\364\362\350=\0"
+"\60}~\360\3028\243\2271\356\340o\0\354\'\42\42\377\336\214\215~\344\343"
+"\321-\0\222f\2533m\245ori:\3\344\255Y\221\313\306\225\234\336^\307\252"
+";\266\223f\336U\307\267\364%\32\27\263\263\5\261A\205\330\313F\362\7\202"
+"\241u\341\310|\236\231)\311\r\301\220\242\204s\213Ux\377\266htswW<h\370"
+"NMZ\342\'\233\333\332;:c]\21b\205e\242[\207\\\252\13<v\177.z\233\273G\\"
+"&z\222#\242\35\7\331\35\351\367\211\\\302\2252F\315\7Cr\355a\42\331=\316"
+"\16Wj*\177t\255\216\35\266Li\316}vs\34\274\350\216\27\377\275\373.p\201"
+"\13\334I\35\336\360\2507<\356\t\367)\236\360\240\267K\267\301\33\276\333"
+"\33>\\7\36b\275d\316\362\360o\346\221\200\221\267\217\273\352\276\33F\214"
+"\221w\217\213/\30\306\21\306\340\275\\\374\203a\34\365\333\263\32\246,"
+"\215V6\2363\255\323\366\25\67\321\302\333;D\222f\274\301\265pu`\34@~\326"
+"\210N9\334\332\253\346\27\300g+\37\373\4\0\335\225\223\211\314\306C\346"
+"\360\320\207\33W\353\356y\b\0\30\242\n\236r8\214\f<\267~\16L,P\364\360"
+"\300\337\306\215\21J\2373C\331\353\331B\231H\265\237\207G\301\326m\42J"
+"\327x{j6\365\30\223\276B\365\341DI\275&\253\324O\216\270}\313L6\335\261"
+"y\2565\277^\323\337\203\320\361\213\'\f\373U\352\351\362\2529\230P\227"
+"\177\226~\377X)\2255m\245\f\300\361\347\203\244\2645\311TT\13:\t\t\t\t"
+"\t\375\327\372\3KZ\344\311E\273,\265\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\242IDATx\332\355\231\317k\23A\24\307\277\273\265Ic\22"
+"\265\26\212\242R\320\200\330\342IA\24\374\205\205\212\210E\342M\244\376"
+"\7=\6\251\264\b\25O\36\24\305\243W\5E\244\220\203\27!RAA*\210\212\4\241"
+"\261HEJ4\211\261\2326>\17S\273\263\353f\346%\214P\351|/;\354\276\3710\77"
+"\336\233\37o\1\253\25,G\361-\252\256Z\243\346\221\244Fn\374\22\376\336"
+"5\337\361U\213\374\7\63nee\325z@:\21\64\31xn\273b\215\255\1\350$\215R\301"
+"j\203\n\343\334*^/\327\240r\24\210&\272S\307{\3\237\36\77)\224J\213\300"
+"\307`\235\3113=\273\7;\377fU\356\277\234\376\340_q\307\344qNk\332\37\33"
+"(\370\346\245|6\31f\366\332\263\270\314\360\277\21\211x\247\201c]\365L"
+"\216qF\315cN4\332p2\36r/+N\376\364\275\36c\314x\235\203\244\363K\205\321"
+"ycN4\271\364\274m\316/k\317\305s\326\240\253\337\25\36L\6\221/\0\0\217"
+"L\6\244\210\254\267&\221%\0\300\'\223H\341<_M\42\27\0\0\337M\42\177\1\0"
+"\26M\42E\220\375\260\7k\213\264H\213\264H\213\264H\213\374\177\220\256"
+"\3713\221\33r\375p\33\336-Yj\323\265r\301+\256\345!#:\244t\232\355\340"
+"!\343\322)S\327\361\r<d\27\0\274Q\314x\305+n\342!S\0\220S \253^\261\227"
+"\207<\2\0O\25\6\373\275\233\356{\36\262HD\324\2470\330)\335\331\3338\304"
+"\365DD\24St|N*o\345 O\2\300\364\274*w\42\265r\224s\305\237%\42\32R\332"
+"\274\363\220\365\210\36y\230\210\210\324\376vNj\346%}B\250HD\224\325\4"
+"\203\234\246\331\241C\336 \42\242\355\32\253q\t9\27S\333\236&\42\242\7"
+"\332e\240,1_)\35\351\220\30\362\244v|\366\310]\177\246\230\242\2640\31"
+"`8FFf\316\3644\232\231[\302\340\32+\306n\372Rica\377>\234\203E\3615\353"
+"\260\220\316\25\37\263\236\351\n\216\367r\2o\202\275\315\244\3\311\330"
+"\374\360\256\244\250\354D\267\234\312.\277\277\356\200\255\356\251\220"
+",\357L>_\3645\377DS\33\237\323_\326%\235\357\305\233\336M\373\363*\340"
+"\303m-\355\321\233\207\77\207\363\nC\353Z\337\371\223\373.\344\374\270"
+"\251\213\7t\361\302\230\264\366D<\321\1\340g\365[\325\376\202\263\262\262"
+"\262\262\262ZA\372\r\201Qgc\213\270\237\366\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\1\352IDATx\332c`\30\5\243`\24\214\202Q0"
+"\nF\301p\3\214(<v\374\212\177\375\307\257\375\77~\355B\357\321E\230(s\374"
+"\220\326Na\310\217\202Q@a\252cbfe\347\340\342\343\277\371\34\253J&\26\66"
+"v\16nn\276[\317P\264\233)\211\212J\311\311*\302Sl\300F$y/\1a1\t\31iY~\6"
+"l\322,\f\f=\266x\\\307\272e\20gX\26\6\206\255\267\30\30\30\324\254\261"
+"\33\364w.\3\3\36i\2043\332\377\303\200\77\351\322\f\f,\370\345\261K#\334"
+"\364\347\16^\327a\227F\362\3225\374\276\273F@\373W\374\332\277\16\273r"
+"~T\373\250\366a\254]\2022\355\242\224iW\244H;#7E\332\331)\13:\21\312\264"
+"\353S\246=\236h\355\34\330*\231PB\332\341m}^,\352,\b\246\272\17\60\206"
+"4\26u3\tj\177\2c\330c\261\\\213\240\366\33\60\206#3\272*\266m\310=\32\354"
+"\332o\301Y\201\350)n\203 \241\274\303\300\300\364\33V\203\377\346C\225"
+"X\373\377\377\377\347\227a\262\333pDm5\274\5p\37Y\277\364\335\377\377\377"
+"\377\227[\6\227e\301\256\235\3n\375\377\277\361\234Pw\253,\376\377\377"
+"\377\377\377\21\f\b\355\2358\3722\316{\220\233\3\33\2360\210\3329C8\255"
+"5\f\313\42\341RW\232\256|\372\303\300\360\346/\232\375\210\366\17*\350"
+"g`@\262\35\6T02u/V\335\25\f\304ig`\360\377\213\241\352\233\31\3N\355\350"
+"Yf#\31744\221\6\201S\304v\3!\21\340\232\351\tc\37\353\334\371\23\312tQ"
+"~\363\363\313\267_\237\377}\373\363\373\367\277\77\377\377\377\307\256"
+"\235\201\201\201\211[\230\207\205\341\353\233O\177G{<\243`\24\214\202Q"
+"0\264\1\0\265\3434\3701v\207\353\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\3UIDATx\332\355\231[H\24Q\30\307\377\263\253{i\335r\321$"
+"\273I)\205\206\17Q\24\6\335H2,\224\260 \2100\37{\b\351I\242P\2\243\247"
+"\36\212\42\350\245\267((B\4\37z\t6\f*\302BLb\t\264\20%dqw\363\356\372\357"
+"a6gf\235=s\34\7B\232\377\313\316\236\371\316\217s\371\3169s\276O\201@\212"
+"\17\2305{\221\357\301\342<\354h/I\237\331\213(\3714g-\217\25\266\310\254"
+"\260\6\30\267\207\234\1p\300\244<\222\7L\330\3527\212H~1)o!y\336\36\322"
+"K\222;\227\27\'IV\332C\42Jr`\331\330t0\327\264I\350$I>V\214\205\365$\331"
+"c\223\210\274y\222\354\n\350}\365\32I\262\332.\22-$\311\371+\205\231\377"
+"\201\272\21\222\344G\321\2\21#=\203\273\324\207Tw\177\42T^\277=S^:f\273"
+"\225\210\314\320D\rX\215v\2300\257bu*\36\316&\236\306j\345m5\0{\42p@\376"
+"\13\261\fo\246s\263\245\265\42K-\336X851\226\204\2535.\5\212\325\3167\307"
+"\354\205\237\237\333\230s\0\42\264PEv\265F\201qT\342\204\\\271\326\6\62"
+"\17\251\343\200\277\240\244\342TU\326\2537o\207\23\211\5`$\273N\357\271"
+"\262\352F\223\315#\365\362\363\320\17\3432\356\320\217s\223E\373\203u\306"
+"M/y1lf6\240Y\334\226\360\277\33:\342\263\34\216uW39!3j\32\263;\327\216"
+"\326\246!\367K\255\223\277}O\7%f<-\203\344\345\314C\373\264cN\324\233\371"
+"}\342\234_\316}P\177G\35t\365\347\252\7\323A\344\'\0\300k\'\27\244\272"
+"\262\6\235D&\0\0cN\42U\347\231p\22\251^~\246\234D.\2\0\26\234D\246\227"
+".3kmWw\221.\322E\272H\27\351\42]\344\177\213\3648\377M\3441\271~xr\336"
+"-\245\344\265j\245.T\276N\16\351\263B\352\276f\3r\310\220\356+\323\252"
+"\343\205r\310\42\0\370*\230\361\224\366\270I\16Y\1\0Q\1rR{\254\222C\36"
+"\3\200w\2\203\32\355\246\373]\16\31\'\311=\2\203\335\272;\273W\206\270"
+"\201$\31\24t\\\237\312\330*\203<\3\0C\323\242\330\211\256\225\3552W\374"
+"Q\222l\26\332|\323\220i\211\214\301Q\222\244\330\337.\351\232y\313: \24"
+"\227H-\204\364a\232r+\344\3\232gZ\214\352\324!\307\203b\333\263$\311W\226"
+"\333@R\307\354\27:\322\21u\310\303\226\343\263O\337\365\367\202)jRM\352"
+"$\34\243M\317\374Y\226kf\36\251\6\367\244\326\330CC(\255\303o\346\217\207"
+"\343\231L\200\\X^\271c`\246\333\262\323\206\276\245\0^\267\3641\323\224"
+"\25\214\215\265V\206\325\312\212\177KC\317R\371}\331\324\1\200\222>\223"
+"(\357\317X,nh~\375\212\16>\2456i\25t~\21Z\361iZ\33\23\1\273\266\331:\243"
+"K[\177\231\363\206\233\327\333\77\371\303\7\257G\215\270\276\233\207\254"
+"\326\213\304\244\345\27\204\n\2\0f\'\177O.\313\4\270r\345\312\225+W\256"
+"\376\235\376\0E\0\6\'Tu\212a\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\246IDATx\332\355\230Kh\23Q\24\206O\'\223d45MLFjc\3iKA"
+"A\304MQDE\352\3#X]\24\352\252t\331\205\210\273B\5E\224RP\334\t\n\256\204"
+"\354\204\6\265 \270\352\302\205\256\244\265jTD\250\266\213\20055!\355$"
+"\371]$3\231\314\334y\204\331T\270\377\352\3169\347\273\217\271\347\314"
+"\314\35\42......Ku\230\f\1\242MV\244_\240\232\342\330\337a\0\1\226c\1\310"
+"\230\214\2+2\3062\36%\312;\343e\42\32b\320Q\221h\335\371f\304\0\274g\330"
+"\'\0\214:\343>\0\3503\233\13\0\366\273\330\213\5\0\37Lk\272\t\253[j\320"
+"Y\0xl\330\3204\0\314\273\311\4Q\1\200\254\244\317\205\353\0\200\203\256"
+"2i\2\0\240LF\32\327\322\271\237\0\200wn\262\216H\3708Xol<_\374\23\352O"
+"\'\33\366\275k\356\229Z\6C\27]\27B\212\301_m\243\220\342\77\214\364\205"
+"\266\n\321w\255\5\236\217\266[\311\301\261/\r\266|\247\307}\275\353{\210"
+"\313\221\322\372Z\201\77\25\267\371\203Z\360\371\203\322\316p\327\347U"
+"f\244 \6\202R(\24\316\375j\301\207\372d\271\'\331\233\n\252\266KY\235\77"
+"\35\211\355\351\336\227\350\355\42\226[$\272w\334fv\376\27\266\223\27\274"
+"\255\335#.\22\275\314\21\321\3401vG\325\'D6\356\3464f\264\362\34i\337M"
+"$\332\373\331\356\346\234*_mg\307v\353\226\264l\277\272e\7\274h\217\27"
+"\267\337\276s\234\343\34\267R\2677\\\366\206\247<\341\35!Ox\320\333\255"
+"\213{\303\17y\303\307]\343\22\353%3\352\204\377V\33\273\30qG\34\263N;f"
+"%\30q\217\34\361\25\265q\2221\370\1G\374\223\3328\3453F\5\364\247\240\335"
+"l<\247\265.\33\63n.\352T;D\202\242\276\301\225p\253\343\31\200\325E\355"
+"\343\336bk\247\265/\200\357z>\361\r\0\222\31\315+\262qI\33\36\325\361\35"
+"\215y\17<\5\0\214Q\23\237\2658\16\f\277\326\177\16\314\255\220|b\270~q"
+"\367\6e\256h\256\245\333K\205\nQ\276j\30\177\6l= \322\215\256j\300T\324"
+"\367\231\364\24\271\303\211F\252\246\250R\375o\0\23\67\226L\266\363\241"
+"\301r+\362\266\215\77\'D\322\231\311\363j\373\315\354+\3657\312\351\376"
+"\374\346\337\322\326F\255TQ\224Z\5\200\345AL\b\305:E*\346\13U~\342\341"
+"\342\342\342\372\277\365\17c\243\323\255\16\63Th\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\3eIDATx\332\355\231]HTA\24\307\377wM\327"
+"\31553A2\25\243\204H\211\202\244(\260\224$#$\21{\23\61\350\251\'\37-\24"
+"E(z)\42Iz3\42\222\2#B\362\241\227`C\301$\f$E\26\321m\tCDr\375\376\330\376"
+"=\\\365\316\256\353\275cw\300>\356y\271s\356\236\371\355\314\23133w\316"
+"h\220\223\354\322\222}\13=o\7\177B\221\344\rS\227\331\nM\r\261\201\206"
+"\370\22T\20[Hr\361y\363\275 I\16\304\333\'\226\221\234/\322\0 \263\227"
+"d\207mb\302\n9\341]S\264v\222\'\354\42\253Hfmh\256 \331g\279J>\23\324B"
+"\222I\366\210\361$\13\4\335M\362\270i\r\227\25\322\3`L\320\227\0\34\260"
+"\207\334\276X\42\27\0\34\24\3\0\300\270\315\77\r\222O\5\365\24\311=6\221"
+"\327Iflh\232\237\364\333uMb\230\34M\\\327ZI\26\333vw5\311\211|\0@J\'\311"
+">\5\213Q;I\6nV\336\360\221d\310\253 *\2646aq\13\354U\23j%\241ub}\234\262"
+"\360-x0\304\221\266\213\211\370WD\203f\265\231,3\332\13&[\5\227\1\244\322"
+"Br\243\253\225\233\30\373vf%\372#\220\2730S\f\270\275\351\271\227\362\242"
+"~z\377!0=\275\n|\213\256\323}5\347Xy\352f\326\314\253\317c_#\336\270\233"
+"D\77WZ\264\337S\32\210\30\227PUr,\263/\206\305\35\211\370\253\27\210/\266"
+"\b\254\373\206\311\5\31\257\31\314\316\255\26\274:\3Y 5O\326\373\36\366"
+"H\214xX\6\311kk\205\306\5eA\324\275\366|\242..\227\77\352\317q\205\241"
+"\376R\217`*D~\2\0\274S9!\365\2315\244\229\r\0\370\256\22\251\7\317\17\225"
+"\310\25\0\300\274J\244~\262ZU\211\324\'\331\342_\270\252;H\7\351 \35\244"
+"\203t\220\16\362\277E\272\324\177\23\271b\34\77\\[\236-\245$\316\252\225"
+"+Fq\267\34\62\301\n)|\315J\246Z\222\204\257L\253\216K&\230\322\0`\320d"
+"\304g\214\342~9d.\0\370L\220sF1O\16Y\4\0=&\6g\214\223\356\210\34r\212$"
+"\363M\f\216\bgv\251\334Z\nI\322c\322\361I\241\234%\203,\3\200\261\5\263"
+"\334\211\320\312F\231#\3768I\326\230\332\f\33\310\260\304%\314y\222\244"
+"y\274U\13\315l\266N\bM\221d\227\305d\20\3234\207\255\220\217H\222\207,"
+"\254n\13\310I\217\271m\5I\362\265\3452\20\22\230\3\246\201tNwy\262\245"
+"\177N\212]\3575\31\242J\335\244T\42\60\352Df0g\253\221y\254\33<\224\232"
+"c\255\21\251\264&w\254x,\234\322\177\355\222\313\332kw#\230\341\272\264"
+"h\177o$\360:\245\267\231\312\250d\254\277\366h\262^Ysg^\351\332x\337\262"
+"\215\233\205\364\376\30Y\336\240\337\77\25\321\374\313\333\332\370\264"
+"\222\220U\322\271c\333wr\256\22\277\31\360M\366o\355\321\31\265\23\261"
+"y\201\32\33\327R\311\247o\371\42q\375\rg\255\346\213\304\240\305{\223\274"
+"\211\0\226\346f\3476\335\48\342\210#\2168\342\210#;\'\277\0`u\367\237\22"
+"E\255q\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x"
+"\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\270I"
+"DATx\332\355\230\337K\223Q\30\307\237\275\276\373a[ni\13sN\262\244\13\273"
+"\260\13\31AX\211V\24\201I\4E\204\27]\371\37\bzQA\210`\bAA\27\t!\355\252"
+"@)\205\240+/\204\362RY9\223%\223\4\31\24\323\315l\233\337.\354\274{\267"
+"\235\275\333\331K`p\276W\347y\237\3639\277\237\363\236s\210\244\244\244"
+"\244\244\366\265,FN\377\345\356\332\355\271\351\320n%%\267.aO[\275\26q"
+"z\bY\315\332D\351\'\0\360\353\325\203\321(\0,X\305\350k\0\222\27,DD\276"
+"\217\0^\13\321\266\24\260\341b\303\33\4pZ\4\277\3\240Q\263\224(0/\202G"
+"\200\t\235\331\1\300Y>m\5\320\256\263\355\0\332x\31\25.^MD\337t\366\16"
+"\21\65\224\217\227->\276MD\307\364\23AD\353\2\245F\201\227:3\0\240F\0\277"
+"\7\340h6\256\226\201e\221>92@\304\301\254\247\0:\205\306\344.\200\215S"
+"DD\344~\13`^0\350\202\0\260:p\243\177\26\0\342.\321}d\\\27\260\253\36\361"
+"9\355\2163z\260\252\2425\321>\366\31+\343\227\34rO\377\307\277\t\245\312"
+"jw\34\250q/q\203\313\242\2506\273\303\351\254\t\177\317\301\3\307\275\336"
+"\206&\177\263\235}\273>\245\363_\365\324\35\251o\364\371\335\304s\253D"
+"\243\35F\333\326\273\n\266\13\223\273M\331R\211\246\303Dt\362,\277\240"
+"\314\13\42\3w\266\31\303Z|\365\210\273\211Tc\77\337\235mS\372\253a\353"
+"\370n]\227B\306\275\13\225\300\23\306xb\377\315\273\304%.\361b\2527\207"
+"{\315\341\315\246p\213\323\24n77t\207\315\341m\346\360\276\262q\336AL\275"
+"Y\n\377\301\22\79\371\316\224\\u\77Y\302\307\311\367\274$\276\306\22\347"
+"9\225\267\226\304\277\260Dg\301\21\3266\2433j\371xXK\365\346\257\270\311"
+"C\245b\207HI\261\77x*\367\336\242\274\1\260\276\300\2743E\246vP;\1D\364"
+"\274o\5\0\232\202\232W-r\201\321\252G\246\257\372o\273[&\0\0\267(\213\217"
+"\24y|\350\372\240\77\16L\256\221\367\\\327\236\361h\210\202\2675\327\342"
+"\303\305x\232(\226\311\253\177\30|\215\261\313M\216Z\n\202\3721\227\36"
+"\240\362p\242\236LA\256d\200\212\342\371!3\345z\226\367\345\276\347\223"
+"\320\273\215\343b\377\25\226\236\33y\277\303.V\'b;[\311\337\233\273\311"
+"t*\265\233\6P\364\331Gq\326\271TJ\304\342\31y\343\221\222\222\222\372\277"
+"\365\7\312\211\3054=~I\270\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0R\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3YIDATx\332\355\231]H\24Q\24\307\377;\353\272n\273k\211!\331\227"
+"\224B\244\364T$\331\247d\30Q\211h\364\20b\320\273\276\24\213\24J`DPD\221"
+"\364\30=\24\5I\204\260\17=T\30\6\25b \25\262\b\232\204!\262\254kj\271n"
+"\377\36\356\2723\273\356\316\\\235\201\220\346\274\314=3g~\334\217s\316"
+"\235{\6\220\26\7\254\25GS\204\267\225\204\342l\217\305.\230Fv\221\344E"
+"\321V\372I\262\322$\261\212$\31\21J\200$y\323\344\260\'I\222\37\1\0>\222"
+"$/\231CV\n\312Y\0@\253P\266\233C\276\42IN8\1@\231%Iv\233#&\206\272\21\0"
+"P!\360\271\346\220gH\222\325ByH\222\361b\223\353=\254\361 \27Ir\277I\342"
+"z\222|\234\b\236\3$\331b\326\315[H\16:\23\312\33\222\217L\307b\204\214"
+"\372\23\212\227\344\240b\26\271\215d\351\242ROF\327\230\16\357\33\344\251"
+"\2442Dn5MTb\354L*\205\3441\363i\255`6\250f\312\275l\263\42U\272r4J\276"
+"\325\211\330\26\375m\317a\224\246\346\231\356V\256\354\306\234\7P@\3)K"
+"\177\255N\307\270\27P\254\37\370\352@\346`\272\32p\373\212\312\216\227"
+"\247=z\375vtjj\1\370\236\376N_c\311\256\272\202\245\254\351\356O#\337R"
+"\356\270;\264\363\334`\320\177O\355h\312\272D\317\3713\231}V-\256I\370"
+"\337e\r\361I\26\307\272\245\232\34\225\2315\225\331\223-\233\4T\344\36"
+"\2518Y\34{\334#\261\342q\31$\317\'\32\355s\2269Q_\342\372\300:\277\234"
+"\377 \256\343\26\272\372S\341\301\264\20\331\17\0xie@\212\310\372j%r\n"
+"\0\360\303J\244p\236\210\225\310\30\0`\326J\344\37\0\300\202\225H\21d\277"
+"VaV\267\2216\322F\332H\33i#m\344\177\213T\254\377&R2\34\77\224\254gK)q"
+"\32\3652\2466%\213`\271FH\315\327l\236\34\322\253\371\3124\32\370:9d!\0"
+"|\321Y\361i\265\271A\16Y\6\0\275:\310\31\265Y.\207<\2\0\357t\f\366\251"
+"\'\335a9d\230$+t\fvh\316\354N\31\342Z\222\244Gg\340\223\232\366f\31\344"
+"I\0\30\231\323\253\235hz\331.s\304\37\'\311f]\233!\25\31\227(\357\37&I"
+"\352\373[\223\246\233W\215\13Ba\222\f\32\4\203\266LSj\204\274\'\365G\245"
+"S\203\234\364\350\333\326\223$\237\33\246\201\250\2069\250\353H\207\304"
+"\224\373\r\347g\267v\350\357u\226\250A\230\324J8F@\313\34+\311\2662\367"
+"\205\301\35\251\30\353J)\245u\2703\371\343\301\260x\32\224+\211;\256\247"
+"0\343\201\302\364\371N\26\360z\244\267\231\206\264bl\250u\247_\274\354"
+"po:\35L\336\277\273\214\262}\321@\206*\357X(\24N\351\376\211em|\216\232"
+"\250Q\321\371\231w\331\273iMH\17\370b\313\212\366\350\342\326\211\314\274"
+"\321\346\374\225\357\374\376\312\266\336T\334\300\225*\243x\221X4\227\317"
+"\353\313\3\360{\346\347\314\222\77\1\266\330b\213-\266\330b\313\277\223"
+"\277\211l\365>\373\221\321\316\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\243IDATx\332\355\230OH\24q\24\307\237\263\243\273\271"
+"\272j\272a\232\202\177\350P\207n\32\331\37\304<\24\204y\220\352\20\36:"
+"u\261KQQDD\21\202\341\251\240C\207\210\274\t\n%\4\21\235:\24\235\24II\272"
+"HB,\264l\271`\263\353\247\303\314\354\216\353\354\354\16s1\372}O\357\315"
+"\373}\346\367~3\357\355\374\366\'\242\244\244\244\244\364\277\252\42\b"
+"{1\311\244f9\241;\206q\311\27\376\30\340\252ik\237\1z}\320G\0H\232\316"
+"u\0&|\244\236\0\340\223\210\210\324\0\300\265\362\361^\2238\'\42\42WL\247"
+"\263|\374\35\0\77B\42\42Z\32\200\351\362i+\335\26\21\219h\336\252\252|"
+"|\4\200~\323y\16\220\335\353\343\271\2578\336Z%\0}>\350&\200)\253\350\216"
+"\2\214\371)\2311`>d9\357\201\227\276\3525\t\251Z\313\211\2\363\232\37\274"
+"\3\350\262\235aHU\373*\367q8\223s\226\240\335\27\255\31\334\3179\2150\350"
+"\257U\33\322s\371N\357\341\246\337V\257\324\35N\254B\224v\370o\271\26\252"
+"\fG\252cuKk\256#5\275*\34\211Fc\313\337\267\340=\235\361xK{[G\330\276v"
+"v\326\21\77]\337\270\247y_k[\235\270\205u\221\211c^%\364\312\273\300\203"
+"\255= \256\213\274^\26\221\375}\3567\312>\23\361\b\347\323x\210\255!\377"
+"a\21\335;\356\36\316\347\224\371\352\231\235{\330\261\244E\357\325-\226"
+"\300\327\275\361\365\235\367\336\25\256p\205\27Ss0<\36\f\357\b\204WD\3"
+"\341\341`\217\256)\30~(\30>Z6\36q\373\310\214\224\302\177\332F\255\313"
+"\270\303%\253.i\33\255.\343\236\226\304Wm\343\204\313\344\7J\342_l\243"
+"\77T8\252j\316\341\354v\307\227s\326pa\305\3154\224\352\35\21\315\260\277"
+"\340Flk`\32X\233\267\243sE^\355\255\334\16\340\233\223o]\1h\237\312Euw"
+"<\222\233\236\354\350.+\357\356\27\0\234\227<>^\344\204`\340\255s;0\263"
+"*\361\343\3\246\363\340\266L]\310\205\26\356-\2442\42\211l\301\374\371"
+"\375\317VM\2128f\267\325\275\255\251\37\271\3227\244<\\d(\273mT\272G\212"
+"\342\205-3[\363\244\340\312\335\372\217\276\16W\42\203\227O\331\366\207"
+"\3617\33\226y\262+\261\361;\375\347\327f:c\30\233\31\240\350\331\214\26"
+"m\254\321e=\221\312\252\177<JJJJ\377\266\376\2d;\302\323\217CT\25\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0\0Dp"
+"\372\27\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\fIDATx\332\355\231OHTA"
+"\34\307\277\357\331\276m\263\255d\303\222,\245\204\322\352d\20\t\375#\301"
+"\250H\312\240C\224A\227.\341QBQ\202\242SDQt\t\274EA\22!\354\241K`\31\24"
+"\204A\224\304\42\370\2070dYr\2272\324\355\333\341\351\276\331u\367\315"
+"\350\316E\232\357\345\315\276\367\233\17\363\34773\277\371-`dddddd\264"
+"X\26,Gb2\303\234\27v\240\2601g\0\224Q\242\232\334j\315>\306\375\200\255"
+"\277\343+\3\271\n\251\243@pmy\315\361\272\234O\257\337\214NM\315\1\337"
+"s\353\f\234\253\332\333\\\266\230\225\352\37542\226\365&\330-\216s\213"
+"\244\375\241\246\321\254yI^\b\3473\373\342Y\334R\360\277\16\201\370\264"
+"\200c\335\361L\216\251\214\232\307\354\263\n\230\264{\310}J\353d\241\357"
+"\351\220\302\214\247U\220\274<_\350\232\326\346D\3\363\317\36}~9\363\301"
+"}Nht\365g\256\7S#\362#\0\340\225\316\5\351\256\254!\235\310)\0\300\17\235"
+"H\327y~\352D\316\2\0~\353D\376\5\0\314\351D\272\213\354\317\n\334\325\r"
+"\322 \r\322 \r\322 \r\362\277E\332\372c\42;\317\365\303.x\267TR\211\254"
+"\225\263^q\215\32\322\221!\205hv\265\32\262T\2102e\35\337\240\206\214\0"
+"\300W\237\31Oy\305\315j\310\32\0\350\367A\376\362\212uj\310#\0\360\316"
+"\307\340\200w\323\35VC&Hr\267\217\301N\341\316^\242B\\O\222\f\371t<.\224"
+"+U\220\247\0`d\332/w\42\264\262K\345\212\77A\222\255\2766\337<d\332\221"
+"#\17\223$\375\375\355\242\320\314\33\362\204P\202$\243\222\305 \246iv\310"
+"\220\17H\222\333%V7\5d<\344o{\206$\371B\272\r$\5\346g_G:\344\16yX:>\365"
+"b\327\337\373LQ\213k\322\244\340\30\355\42s\274\252\320\314<r\r\356)\255"
+"\261\207Y\251\264\356`>\177<\230p\277F-%\244u;\213\231n\217\344\216w&\201"
+"\327\247|\314\264\344$ccm\265a\267\262\25\334r:\232y\177\337\202\262\312"
+"\7\363dy\307c\261DV\363O,\351\340\263\32\223\262\244\363\363\322%\237\246"
+"\2151\77\340\313\255\313:\243+\332&\363\363F[\327-\377\344\17\357\277\336"
+"\237\215\33\354l\b\243h\5\312*w\341\22\311\273\325\216\5mzBNn\322\31\213"
+"YQ2\275Qkx\327E\362\212Vb$\3171Xd|y\25\300\330\264\326V\306I\366j\215\202"
+"\355\b\200j!\250+)\272\221\16I2\363\207A\305dO\361.D\222\354\234\377q\236"
+"\344\266\242\231}$\311\16\7\b4\f\221<Y\374\364\354Y8\205\223$\231\256\327"
+"1\345=\302\2761\254g\25\331\2173\304k\332\356^\265\275$\371\366\254\243"
+"u\353\b\6,\30\31\255X\375\3\217\352\273\22\374d->\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\2[IDATx\332\355\230Mh\23A\24\307_6\373"
+"Uc\323j\32\251\306\6\253\245\240\b\36\204\42\212\212T\17\352\241Z\20\365"
+"b\17^\364\340]h)\42\224RPz\23\4\245\7!\267@\213\32\20<\212\7\257\226\252"
+"\301\42H\261P\2Jk#5\331\376=\230\331l\266\223\335\354\314Ea\376\2477\373"
+"\346\267\357\315\327\316K\210\224\224\224\224\224\224\224\224\224\224\224"
+"\376W\305<\266\26\67,{[\262\343\3232\267\247\246\233\226\235H$\213\337"
+"\32\360\201\375\351\364\236lO\257\305\236]\232\363\370/t\246vu\357\315"
+"\364t\20\317\255\23=8\31\220\235\361\42\60yMn\354\222\270N\364\262HD\375"
+"\'\370/r\236\22\5\270\353iL\202i(\272\233H\17\366\363\335\365\234\252\237"
+"\3\263\343\273=CZ\b\36\335B\b\276\36\214\257\377{\353\256p\205+\274\231"
+"\272\345\360\264\34\336+\205\307\22R\270%7u]r\370\219|\244e\334\346]2W"
+"\302\360\357\314h\347\364;\26\272\353~0#\303\351\3678\24_b\306iN\360C\241"
+"\370Gf\234\211\373{\231\5Oc\'\37/\272\326e\377\216\233\335\21vv\210\264"
+"\n\273\301+\311FG\36\300\362{\346-4Y\332Q\267\2\370\342\3453\213\0\220"
+"\315\271^\235\217\333nx8#m\265\274\373\236\1\0\256Q\35\237\342W\2254\370"
+"\332[\16\314.Q\372\324\340\337\306\304\30\345\256\273\256\371\373\363\253"
+"U\242\222\343\213_\257\177\32\65M\344\211\316\324\267\345P\77\344\322w"
+"\2515\234h\310\331\322\253<@Mq\377\221\231\333\376\310\367\344^\347\273"
+"\326\nr\266\0\347n\237g\366\333\251W\33\65\363\354\201\322\306\317\362"
+"\357\265\315r\265R\331\254\2h\376\371n\247\33\0\246\367\211~\376s\300\212"
+"\370o\214\2\340t\t\343\343\0n\n\323)\0h\23\276\343n\21\321\327_\302\321"
+"K\0\362\3027\254\226\42\42\317\232\331\361H\301M\0\200\301\232\273Wf\242"
+"-\33\0`\254\326\270\n \33\211\177\16\0\30\65\211\214\343\37\0\\\2146u\207"
+"kG\252\264\n\0\316\321\250S\77\3439\226\213\321w\237\366\304\245\357\b"
+"\25O\7\363\0\360f\330\24>6\226\21S\177P(q\365\7\231\33\212@n\223\311m\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0c\0\0\0x\b\0\0\0"
+"\0\303A\23\21\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5\327IDATx\332\355"
+"\231o\210TU\30\306\337;\273\356\372o\335]54\315E\335\r\13\3134[W\3244u"
+"30c\301\2224\241\350\237R\20\33\221(\24I\222\370\245\375`\260D\22[\21I"
+"\204a\341\37\204DtQdY\302\226(Y\374 \25S$K\255\260\325\3042\373\353\303"
+"\235\235s\316\275\347\334;w\230\t\212y\277\314\314=\317=\357\235\347\234"
+"\347\234\347=\327\223d\341\245DD\30\223\362\205w\36\200L]\31s\354\301\217"
+"+^\331R,a<\16\226+\305\344\221|\16V\227i0.\252\24\214N+K\216}\3501\220"
+"*C\212e\271\316\237\32\364\77\337.}\212)\31\0F\26J\365\227~\222\373K>\30"
+"\227\1\30\254\23\21\357\0\0\331\206\22\347x\35\200\343U\376\257\255\0|"
+"W\332!\271\27\2007\362\322[\234\1\350*e\212\251\31\200-\332\225\306\237"
+"\0\326\227p0\372\201\77\233\215k5\347\201lc\311r\354\7\256\5\327A\357\35"
+"\340j\251\206d\5p\242:|\375i\340piR\324e`\277u\241m\315\302\306x\246\13"
+"\3101o\206\374q\315\336\3240_\30\220J\374\247\302\363j\334\215c\243\42"
+"\42RU\35\321\301\337yM:\246\317\350\230\264\340\216\243>jo\4\204\374#\366"
+":\0\35\222\372\27\270\372\277\344\360&\265\211\314\\\372\362\24c\254\217"
+"\\\370\25\21\271\361\275\210\2104-\24\271u\361\263\263\315;\77\374\342"
+"\246\210\310\5\306\267\373\31\365M\253;\2\323\343\344\311\37\373\207r\337"
+"\253\316\352\3034\333\3728ku\310\320t\373#7\237\323\354\321\216\tFc\275"
+"\336\201\343\77\357\320 \17:\231yk\34\362Kh\273\377L\353\240\312~w\265"
+"\6Y\344f\77\355#2\365N\367\4\60\327q\373\21\5\331\351\36\342]>bC\270\245"
+"J\313\261\333q\367R\5\31t\347X\357;{[S\217\352 \355\270[\177\16w\5\322"
+"\16@k\224\325\4\230\21O\326\303\316\34/\1dSq\17\371D<Y\27\2359\372\1\272"
+"\355m=\361l\353\3171\321\201\251\5`Y\264/\7\230\26O\326\32\7\244\325\\"
+"\216\335\323\277\303\321\301#\nr\314\1\351\6\350u\21\371\221\352\240\337"
+"\1\321\225j\337\271\274\321\250g\224\345Z\7\223c\307\203{\354F\t\200F\327"
+"\332\256\33%;\333\267\353\77\236\267B\266\210\210\374\374\273s\326}\242"
+"\36\362\234\25pP\377\37\243V\t\\\7\350t\257\2\367i=\324\332\270\36\61v"
+"\352f\233o\5`\201{\37\374F\237\202\226\16f\31;\231\330\326\3056\21\221"
+"\261\37\42vE\215\254\317-\315\317\230\216c\304\342v\216G\210\\\327\217"
+"\37\23\302\315\203\0\31\5\231\343\230x\255Q9t\31.\267s}c\233\202\274\30"
+"\202\334\341\34K\25\237\252\16\336\267/\332\235S\243\366\200\3\321\313"
+"\245\77dQ;\356)\177\312\\Q\220\351\326\211\327\21\235c\202\226c\261\215"
+"\310l*W\233\3\260=8\361\302\42\217^\220\202\225\336]\0=\42\323\24\344\333"
+"\0d\'\300\2158O\327\346\326q\27\300*\21\271\2520SM\310@\214\310\303d\265"
+"\230\\g\306\247\314v\5\331d@&YDn\213c\252\2037\215\206\333\0\372DD\32\25"
+"\344\254\1Y\345\336\311\215X\351\322\361\13\0\333\324\272Gx\277\353\1x"
+"7\336d\353d5\205\26\324\231\42\42\362\244\202\254\324\327\276l\254\310"
+"\365\25\307\217W\202\206x\330\377>SA>\326 \13\n\20\271F\252\37\277i\227"
+"7\3\274\226\373\221\266*\265\23\340r!\25I\215F\326,u\371\234>\323vY\225"
+"\232.@\344a\262v\7\62\247\f=\7N.\353\13\22y\210\254\264i\276\216\346\177"
+"\16)\245z\6\233C\205\225o56\343\333\r\260\316\364\264\230\222\353-H\344"
+"\2718\21\66\276\276kR\206h\216\202\3543\36mA\2019\326\204\215\357|@\77"
+"D\362\206\363\220a\235\315l\241urM\330\370v\6k\247\275\241\311\327\5p\244"
+"\340\202\372T\310\370\246\3\63Y\232\24\3449m\311l-8\307\332\240\361m\f"
+"-_\232\325\272\256\215Pm\3019j\202\306\267#\374Ze\277\2024\344}Q_\202\323"
+"\207S\201\35\242\17\340N\3\262PA\36\315\373\242\216\49\326\232\306\267"
+"\326\342!<\345\263\276\26\221)\tD\256\327[y\343\333\6p<\2009d\360\271."
+"\201\310sq\306\250\311z\0\332\3\220E\n\262Q\344hp/\210\217\7t\343\353\357"
+"=\301\202<5\232\207\234\226T\42\221\3731Q7\276\315\0\341C\344\303\32\244"
+"%J\344\216\313\231\257\324\367%\217\211\210\34\n\327\270Z\335\376\270\210"
+"\310\7\t\337\260jd\35\33rx\364\254\342s8\231\310\303d\1d,\265\306{\1Lm"
+"\302\34r\326\274\277+\372d#\251\310\375\330`v\2604\246Z\1\266&\316\21 "
+"\253:\346\320 \241\310u#2\36gbK\273\204\42\327\217\272r\2619\326S\362j"
+"\219\f\262\352c\rxB\221\207\311J\307\333\244lQ\'\336\355Q\5lh3\353)\352"
+"\230|\222\352`\236\13s:\17YQ\334Y|o\330\13\272\227\234\332\342rl\32\277"
+"\277;~b\364\25\227B\221\25\261\330\235\327\367\364b\342\222\255 \263\377"
+"\327\242\337\r\77\344\337\337\33\1\231\\\274\310\r\262\42\35M\37\0{\213"
+"\177\313s)\236\207-\305\213\\#+\232\207\272\342E\256\261\275\'\32\63\20"
+"+\362\230w\333wW\211\f\376\25\t\271e\256\310\365\233R\211JT\242\22\225"
+"\250D%*Q\t\21\21\371\7\205%;\25\357\310\277\245\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\4.IDATx\332\355\230_h\225e\34\307\177\347=\307"
+"Sn\316\316\231\242Lt\254\222\nF\251\313B1\223\250\b\243\25\251Py3\224@"
+"\260\13I\22\r\244\3010B\321\13E\20B\360.D0\21YH\324\30e\354\302\2135d\310"
+"a\27\42#\2021b\310\32\207\306\351\323\305\373>\317\373\274\357\363\274"
+"g\347\237W\275\337\233m\317w\277\357\371\275\277\363\373\367\274\42)R\244"
+"H\221\42E\212\307\205Lm\377\345\211\210\360o\213>s\24\200rGk\344\216\341"
+"c<\323\n\265\227P\370\272\5jm\363Z\216\35\315\7\356N\250\306\342\312f\345"
+"N`b\302kNmK\2403P\362\177\236mJ\255\275\f\300\3743\222\273\351\353\355"
+"l&pc\0\224:D$3\4@\245\320\270\334I\0nd\375\277\366\0\60\331p\370\372\0"
+"\370Jgoo\31\340\\\203j+\312\0\357\31\'\305i\2007\32\13\334]`\341\331\310"
+"Y~\24\250\24\33\221\33\4\246\342e\237\271\0\334o |\257\2\267r\366\371\1"
+"\340|\335j\35e\30t\266\220W*\360f\275\355s\303*\371{\312M\25z\204\211t"
+"\364\374\317\346l\301\231B\77\317\211H\276\337i\363=\42\42\353\266[\304"
+"\255\177\302v\33\305\26\21\221\242\223\302\257\260\17l\242(^k\37\326{\f"
+"\1\364\272\'\f\227\337\312\233\334\362\17+\232\371\353\205l4\360\355\37"
+"kr\250\323\250\327\374\214\266\31J^\2\366\331\236\354\n\250\327\242\307"
+"\333\264\315\'\366\27\246\250\327m\271\254\317\34\216\'\314\254\2629\225"
+"8j9\350\b\24\0\17\255\306tP\331\314\332\36\250\0M:\362\26\0;\5W\352\247"
+"\355\261\270\13\212Zm\357C\0\263\31+Q\36\375\252~\373\334\262\321\324\1"
+"\213\332,\42r\4\333\355\35\332\275eq\352\276b\26\2544\375\t\240\335\21"
+"S\35!k\16\254\tsrS|\22\3\f;\223\371\214^\272b\304\361P\356F\214\332\17"
+"\320\347\224\353\306\35qo\301(\231\266\250\3154\260\230P\250\177(\233\343"
+"\221\343Mf\323\210\26\306z\200\223\t\245\273\337\35\361\353\200\216\353"
+"t\304\342\24@W\322j\30\355v\252\7\0|\366\243\242\326\233aX\4J\211\235\345"
+"\266\262\271m\34\356\1(\276\254\250\323\6\265\25\240\77Qn\253voEx\370\0"
+"\30\27\257\34\60\25\243G\r\3<\221\334\367\26\225\334\200>[\27d\342\t\373"
+"j\321\6\360\335\22+\30\321*\34\f\352D\347\362\35\375\337\373\0z\253\310"
+"u\351\247\335h:|ID\344\236\242\2362\3030_\365\2326\245l\2765\303\271QD"
+"\344mE}j~\366\221\252S#\234v\371\360\313\236\313\210\210,S\314\\\306\330"
+"\352;\253\312=\251\345\336\rS\361\220\317]T\324s~\30\312\300\370\22C\355"
+"\232\262)\205\205\22\334K\236V\324e\277\323\271\232O\34/j\367\272T\31\217"
+")\356\317H \256;[c\274\367\353\3661\250J|\227U\323\273UX.-9\302\277\320"
+"W\327\254\3107\09\253\246\'E\344}3\235\222\261Z\77\3556\277A_\f\271\233"
+"\212Z#R\212${2t\272\216\312v\0\343\326\2639l\210k\223\346n\34\273\265{"
+"\205\221\230\7:\260e\357\30@-7\371\274\226\373\301\362\340\250\242\336"
+"Y\0~\251i\237\272\22Y\1#\36t\252\323J\355\257-\2367\325~\213rw\r\252\222"
+"\255m]\2363lv\272\367/\20035n\217\207\f\17b7\306\\\270;F\246F5\24B\23\353"
+"\236~\26\367L\253\206\261\344mj\203\246>\252YNGh\306\346\36*\256\275f\271"
+"\234=\2014\366\6\324p\35\253\374\371\300\306\361\376oy@\365\325!\27t\312"
+"\21\27w5(\263zn\32\63\t+\257\210\364\2\360e]\27\227\201\344\264\317<\2"
+"X[\337k\212*i\177\270\352\236\343\306\b\320\235\234\345\375u\2767.\364"
+"\210\374\236\364j\325\223{\225\364U@\212\24)R\244H\261$\376\3\65\226\360"
+"\366\30i;\211\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0J"
+"\0\0\0x\b\0\0\0\0p\t;\13\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3IIDATx"
+"\332\355\231MlLQ\24\307\317\233\231\266h\313L[T|F\205\322\220P\225\210"
+"\320T#\26\204\244\26\26\26(;\22\33\302B\332\20\22\2044\354\330\331\210"
+"\b\241i\42\322\2054\42))\221F\244\32\13\211\211m\77\322\252\t}~\26\243"
+"\2353\323\367\336\274\217.\212\367\337\314\274{O~\357\336\363\316;\347"
+"\334\31\221\3742\272\0H\225J`\235!\255wFP\322\6&t9 i\316\350$\212m\201"
+"H\306\313\f\211\237s\203\240\316\241\325\33\361O\332\370\207q\270\77\375"
+"y\3357\2518\5\300\350J\211\265\247Y\333\375:\252\33\200\376R\21\61.\2`"
+"\306\375\241\316\3\3608\232\276j\2\340\203/wm\2\240e22kR\0\67|\220JR\0"
+"{\325H\42\t\320\340\335Q=\300XU\326Xa\27`&\274\242Z\201O\271\257\260q\13"
+"\350\363\350\256-@Gl\352\370Q\340\246\'Ri\nZ-SA\235\t\215V\16\261C--\227"
+"o\237\254\247\342+\204^\t53d\30\205\316\6\346\270\272(r0\374!\t\234\245"
+"_\336\210\223a\42\62}\33\234\231\250\330H\203H\242\372\310\352\234\361"
+"\361\266\356A\21\21I\252A\32DfW\254\77\270,\227\362\352\311\307\341\221"
+"\211\213Eo\263\235X\346t\377\262\373\332\264\277\276 g\247O\263Py6s/Se"
+"wO\315\b\261\244F\2258\243*\'\227d\331\336\254\320\250\323\316\250\350"
+"\37\263\3176A{Y\263\342nPf\271\335\323\34P\250N\347\34\2336\332ck\260Y"
+"/k\207\23j+\0\317\34,\36*\324h\201\203\341\323\274N\230\363\323\346E\316"
+"\321\2\0N9\372`\277\336\342r[\263v\200\201\250s\372z\255P}v\345h\rn\352"
+"\375\2\275\254C6\367\353\3x\237\267_>\255P\246u\314\357\2`M\376\254\363"
+"U\261\36Y\206\347\20@\273\213\264\263Vo\261\326\302\340\4\0\25nR\330\35"
+"\205\262xJ\305\0\\s\225\r\213\306\24\253e\312\364m\0s\226\273\314\332\240"
+"\267\270(gr1\0\315n\263t\247B\365\344<\363\27\0\3\256K\302<\275\254}YS"
+"\265x\354F\233\365\271F\273\305H\2|\360p\2323\372\25\353\256\2328\3402"
+":\355\222s\315\344pA\n\240\303[}\274\252P_#\331\247\213\no\250\330\220"
+"bM$\246\270\277\303W\235E\201}\340%:m\222s\227\210\210T\1p\314\307\231"
+"\331T\254\235\42\42\275\336\242S\251I\241\306\nE\3523P_\307\245\t\335\222"
+"\310\200\327\350TZ\250=_u\34\200j\237\315\327Y\205J\232>\242\323&9\3\60"
+"\337wOX\223C\362\377\323@vr\366\25\2356\311\231\343\201\332\336FE\32\212"
+"\6k\241\237gPm\1\373\366\223\231\257\277\2\242~\374\345\7\223\20\25\242"
+"BT\210\372gP\312\240$ J\375\205\260$\340\262/e\212W*\26\344\347\273x\253"
+"\256\316\257W9\25U\353\316\353\202\210D+\23\325\353\246\314\f\276\3712"
+"<*\42W\276\273D\221w\275e\203\377_\210\206\n\25*T\250P\241\246E\277\1<"
+"\3\315j\215xl\206\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0\66\0\0\0x\b\0\0\0\0\234|^\35\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3"
+"|IDATx\332\355\230MHTQ\24\200\357\33\315\30g\374K#\2622\3735\262\204\262"
+"D\212\250\250U\6\201\25T bA\22b\321\42*\220\204 \3020\242h\325\306\235"
+"\13\211\42\242\26\256D\212\26\26!1\204H\264\20\67\66HM&\3\62}-\336\314"
+"\2357o\356{\357\336j9g3x\216\337;\357\3149\367\234sG\210\202\24\244 \5"
+")\210\237X>\246\220\20B\360\333\360\201c\0$\313\314\260k\330\362\3212\241"
+"\232\310\310\35\3\252tAb\354\327\17\354M\226b\251\\\27\273\201S&Cz\324"
+"\256\364\377wN\331\237\203ZT$\t\300\302FQ\374\302\346\16\350\4\366\16\200"
+"\2512!\204u\33\200Te0\326\7\300\363\42\373\257v\0b\201\341\355\6\340\226"
+"\314rc\22\340~\0\25M\2\34wh\252f\0\16\373\7\66\1,n\312\321\225\214\1\251"
+"*\77\254\37\230v\227\257\365\b\370\354\23^\13\360\2628_\337\5<\364\244"
+"\312\222\320\257,\371\275)8\342uL\327U\213_\323\352\'V\326\13&\13}\355"
+"\377\367\311\206\35j\3133\354\317\2035\n\233\20\327QK\246\224\306U\266"
+"\320\337\275d\350\37\342\253\354u\276A\252-\354*\271P\315Mi]<\35\315\32"
+"V\'\262\330\31\325\243\333\322\306O\341\34\365\226,\266U\371FK\0\314\225"
+"\270\364\203\22kWF\22\3`\263[\35\226\330\224\22\213\3<\311\327\17H\256"
+"^A\25\3\240\30\6\325\22\33\362\232[OT\257\361Zr\321|\3430@\255\nk\220X"
+"\267PF\356\321\22\276\310\224\346\325\3169\200Cj\354\210t\347\36\60V\34"
+"X*\362\250\317\305\f\26sY\266\1\364{\25g\267tW\227k\30\1X\351\205\205="
+"r\20\1\230\360>\13\217%\27q\252;\3\366\205U\312\34\330_\210\337\311\34"
+"W\345\240\21\340\272\337\211\335\251\332a\236\3\254\360=\350\263\3719\210"
+"\2\214\3737\2106\351n]Fu\1\240\305\37+Zr\347\300J(\313\315%W\245\273R\307"
+"\221\271\34\324\306\242\356\34\274\2\250\bl\177C\2719(\3\30\r\356\232k"
+"ss\320\r\260K\243\333N8s`%\200\204\316\336\273G\272[\233^\21/j\365\366"
+"\270#\7\243\0z\313\371)\351.\\\1\360Ro\224,K\311\34\364\2\64j\216\240>"
+"\231\203E`^\367\42P\2213:\273\264\'\336S\'\26\321\30668\250\21\203\1\33"
+"\313b\r\6\330~I\315\231\334\214Br(\2375Z\3:d\306\215\260\345ij\330p\353"
+"\270\3533\377}\304\36\256\263\226!f\17\327\223\306\273Q\27@\211\361F\25"
+"\7\6\214\235\355\3Xe\214\305\2001cj\247i9\3322\251\230\340\232\245\334"
+"\34x9/_\226;@\346\201\317\1_u\307w`l\215\373\367\204\35\376\243\351m\272"
+"j\267gwY\215\276\3778\357@\206\246\2\247\256=Ql\251q.\262\227\374\235\35"
+"\315b\353m\315\t\200\17\1\245\337\203k\215l\6HUh_\37\276-\b!D\353{!\204"
+"h\371\21\220\262\3\322\331=!\204\325\243\331\210K%\26o\256=\366\25\200"
+"+\32u4\220w_:\257S~E\237r\241D\223\3468\33uR\17\364\373@\353d&\274\313"
+"\232\277\26\245\263\32\251\257\13\317\317\315\374,\334\272\205\370\3Z\274"
+"\355\227\371\264\201\301\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0J\0\0\0x\b\0\0\0\0p\t;\13\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\3\61IDATx\332\355\230OH\24q\24\307\337\354\256\377\265\334\325L\251"
+",0tK\203\310:xI\266\260\16AA\35:t)\363V\320E\350\42EP\220a\bA\207\274u"
+"\211\b\203$\220\220\b\351Rb\35J\302<E-\33Q\262j\312\266\251\323\267\203"
+"\356\314\333\331\231\337\314o\307C\177~\337\323\217\367{\363\231\337\237"
+"7\357\275]\42%\257\n\n\346J\352Bi\253\255\2746\220\226~I\361 \200\351="
+"Y\266u\243\0\22-\222\244\242\257\0\0\34\342\244\324\212\255M\16u{\345)"
+"\350E\246mt\325\226\nJ\235!2\3520l\25\206\315v\213\1\7T\2311\212\32\243"
+"\2101\252\227A\231\327\364\331\30\315\33\243oRg\3654\263\231*\323\3661"
+"c+\222BU\351+O\3652[\343*\251S2\32\352\23\0\320\243q\333\356\357\0p\306"
+"\376\1\315\231\245E\33\246\337\246,\27\333\262\345\313\304O\225$\224\\"
+"\244i\205b\7}\231\'1\201\343\42\205!\326M\376\355\213\34\303\201\265\333"
+"\340\237\211\n\315\307\210\302\321\323\215\26\373r\377\213\31\42\42\212"
+"3#bD%\325\273N\346$\321\227\217\336\317\31\211\261\356u\366!FD\357\217"
+"\334\347\256S\355\5\226\235\16g\241\\6s\317p\\:\234\233\247Bq\216*\27\243"
+"j\215%U\330Mo\343\250no\265\355\203C\320^\343\254J/(\275\312\3516\223\f"
+"5\42D\255V\327#\216\16{\371\262\366\213Pm\0\200\'\2\217A\206Z(\208\16\273"
+"\36B\351\222\303\207lQ\r\0\340\202\360\f\216\361-nut\33\2\200\244\270\237"
+"\321\306\30j\322\251H6\1\0b.a\\\303\227u\312\341}\223\0\60\241\271}\337"
+"\335\f\245\333\307|\7\0\240\311=\353$\30\353\241mx\316\2\300\220\207\264"
+"\263\203o\261\325\306\341\34\0\240\332K\n\33`(\233[*\3\0\334\360\326\33"
+"\247\30\353R\316\364\35\0\320\213\275e\326\30\337b\235er\223\\\2636\302"
+"P\343\226;\177\16\0I\317%a=_\326\321\254\251VO\321\311\324\311PK\374X\264"
+"8\0\274\323\274\243\264)\306\272\313&Nx\214N\247\344\334l\230\13\322\0"
+"\360X\256>\3662T\3028\344\36\357\321\311\222\363,ce\22S%\0\240O\266l\357"
+"\263)\260\17d\242\323!9\217\22\21Q\3\0\340\254|7Q\2523\326\1\42\2427r\321"
+"\311t\234\241R\205D\355&T\272\267\34g\254[\24H\312F\'\323F~\362\r]\0\200"
+"h\236\315\327E\206\212\353yD\247Cr\6\0l\310\273\'l\266\220\372(\177\rd"
+"\221\362\210N\207\344\214._m\357AF\232\r\372B\3213\23\325\357\263o\77o"
+"\16\177\371D-\376\345\77L\24J\241\24J\241\376\31\24s(\367\211Zg\16\67\373"
+"\\\366U\263x\245C~\376\276\253\274\314\253\363\330vQQ\265\357\274\256\20"
+"Q\2606\34\335\23133\363\352\323\334\2\21]\377\341\21\5\327\365Ff\376\277"
+"\20URRRRRRZ\23\375\6\304\n\220\342\264,\35\352\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\3\233IDATx\332\355\230KH\224Q\24\307\357"
+"8>\3621\346[\4\37=\314\b\2632,A,A,\3102\27\352\302\26-4\214\26R-\304M\24"
+"E!B \202.\224($\212\210Z\204$\322*J\27CEAIH\310\240!\202\f\32%\2236\350"
+"\277\305\314\350\177\276\271\367k\356|\273\230\263\233{\316o\316\371\356"
+"\275\347\236s\257\20\226\304\256a\233VS\274\374;bO\235\0\320\26!l\33\6"
+"\0 #2\372\241\217\306\311\210\350G~\32\307-\321\336x+4\252\255\320\236"
+"J+t\237\225\310\247\212,\314\232\267\331f\201\36I\264\260\336\263\373\204"
+"\5\272#\306\2=\232*\42\247\335G\204\5\272\333\374@0Y\215\214B!\346\226"
+"\304\377+\201o\267\307j\202\370\303\277z\240)o\204\20B\4\366SId\301\7\360"
+"bk\370^]\360\23O\235m\303\240\335x\373~f\361W\320\364\210!\372\302\265"
+"\264U\322\304\6M\313\213\352\24\211\277l6\251\13R%\221fh\273|\211\235d"
+"3\36\254\313\332T\254\36R|l\23\321\353\206\34\336\21P\374\314R\320\311"
+"\353\204\267\32\224\7\3\n\345i:J\364\7c\236\326\371\25\355*\372\30\317"
+"[\256Q{\3167\356R\245\177\374\n\321\227C\324\335>E\205\312\371\20\321\256"
+"\320\203s\20\0\60\257r^\312\241\357\n\325\217\1\0\232U\r\320\2\321\275"
+"\22\3\27\0 Y\201_#zIv0\0\0&\25t>\207^.\313;\0@\243\342@\232\42zD\272.f"
+"MS\33\321\236\4\231\205\3\0<\212f\220C\257\225\232\344\2\300\200\34\177"
+"M\364\230\334\244\4\0NHU\365\234h\169~\24\0rd\232\304U\302[\24KS\17\0\322"
+"\42\376\230h\247jS^\0\360Y\246\250\340y\313V\27\33\233\364\237c\177\20"
+"\335\251}\214\337%\372\233v\207\262\233C\337\251]B\\D\337\321\16\375*\321"
+"n\273.\235\303\241\37\320\256\374\357\210\276\257\35z\13\'\232v+\355\340"
+"\262P\243\355|\214\350\227\332t\r\'Z\212.\35\357!\274I\333\371\275p\22"
+"M)e\274\344\231\332\367b.\13\227\264C\277\301\211\246\35z\1\207^\250\275"
+"[\247\211\276\251\35z;\321\213\366\360Z\342-I\347\33@\331\27\31\264m@\b"
+"qkN\372\207\23\344|X\356\263\30\0\344]\360\31\242W\24\211\326\0\0y\322"
+"\262\340%\\u\333\356\1\2004\231\346)\367\246\252\t\233\1\0\331\255\264"
+"\222\23M\325l\330\1\0\222.#\216\313B\243\312y\36\0@\262\33\373\210\236"
+"T.\366Y\0@\350\370\36\336\255\352\7\232\'\0\340\16-\13\337\211\356PW\217"
+"u\0p\206\214w\21=\255N\264\235\0\200g\322\16% \5\352}\356\353\362\372\215"
+"\273\377#\321\327M*\237\257\337\3502\f\267\22\275`\222h\376\216\341|\360"
+"h*\227\205R\223\34\3657\211\247\203G\307\211\36\64\241\313\3756UA\243\265"
+"a$\232\20B\304\314\313\2L\340\262Pe\342\274Wz\6> \372\271\t\275u\32d\311"
+".R\0\274Ij\372\324\226\31\325=\273\233\360\6%\234\320Of4\77\267ixB\5\247"
+"\\\344\203\210z\320\42\36N\227\241q\371MN\303\353\201\277o\24\302\366\212"
+"\f\227\257\30\321\314\344\375\207C;\3025\351\222\207-_7_\17\34\221\274"
+":\314\6\77>\350\312\2345|AD%*Q\211JT\242\362/\371\13`\335\16\177S\354k"
+"_\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\61\0\0\0x\b\0"
+"\0\0\0~\240Ed\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2fIDATx\332\355\226"
+"OHTA\34\307gW3E\332\\E\20\305\376\200\224\36\262\bR\4\377\320A\251\273"
+"\25\221\207(\360 \30\242\244g\305{\221\267\b\377{\212\242\360&\342Y\350"
+"\226\354\315\212\376l\35\312\247\340\242n\273\356\267\303\276\235y\363"
+"\336\274\3617u2\346{\332\375\276\371\274\371\275\231\337w\30\306\254\254"
+"\254\254\376]E\224A\25]\r\333\373&o\35\4\200\7\364\361\221\347\0\0T\222"
+"\201\205<\200\36*\260\344\2\3504\5\62%\206\0\332\r\201\275VC\340\211aI"
+"\211\263f\37\235\351\215\230\1sef\373\360\271\211\231\1\375Q3`9\306\214"
+"\200_\327\230\31\60\26\226\34\325\312U\236a\354\213cO\233\343!w\7/\17\34"
+"=49\341\375w\17G\353}~\250\333\316\364.\375\13\242XAl\'\235\337\205\337"
+"\35\'\271=+\201\317\n\305f\337\334\255\365\370w\304g\254\312m>\353\332"
+"k\27%\273\336\341\300V\235\\\334\253\274=%\307(\272&\246\350\365}\316\n"
+"\0\340\245/_\217\5\60\343_\200u\0\370\31\227\315+i\16|8\345\'\22\0\60*"
+"{e\t\16d\333\2\213\374\25\300A\205\354M\211\232\306\203\333\262\3`Y\266"
+"n\3468\260^\34$\0\340\221\344T\377\340\300nC\20\210\1@\213d\275\25\65="
+"T\364J\35\200\\\271\327\351\27\300kUw5\2Hz\215\13)\16|\257Ru\342\267n\306"
+"R\36\367\304\42\237\20\367\267(\35=)jzJ\212@{\226\3\33\245\24 \366\211"
+"\3\7\315\244)\346EM\303$ <E!\322\244(\344\250\320\244H-]\212\224\322\246"
+"H%}\212T\322\247H\241\360\24M:\2163\344=\23\335\24M\363\365O\365e\345\356"
+"\216\27N\\\351\342\361\242\206\377\34\332\224gob\214\5/\311\232\24\225"
+"f\0\364\371\1M\212X\227\330\320(-E=LQ\225.E\221M\305\35Y\233\242\33\b\36"
+"\66\332\24\25\275\3\0\\\242\247h4\377\340\349E\267\335\202k\210)*\2318"
+"t\37\235&\245\250j\360#\177\24\25}5r\235\217\330\210\334\342K\32\257>\177"
+"\265YlX&\'\336\223\6E;\342\6PN\273\371\357\262`\357\352\2256&\366\354M"
+"\321\312\312\352\177\327\37\2L\323T.%\252\305\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\3\213IDATx\332\355\230KHTQ\30\307\3578\343"
+"\373\221o\21\64+\315\2{\31R!\206 \266\3102\27\346\302\26-2\212\26Q-\244"
+"\26Q\24\205\bA\b\2720\42i\23\21\265\220H$ZD\351b\250(z\20\22\62d\310\200"
+"\f\26%6&\343\277\305<\374\317\235\363]\347\\w5\337j\346|\337\357\236\357"
+"\236s\276\307=\206\361\377\212\323Z\235Q\352\362\333~v\3060\0\337\36\233"
+"t\232\17\0\200V{\370P\220F \315\16\355BX\366\2116I2\236\31\371Um\7\377"
+"\35\371\345\265\365\356\317\302\316\27\330\302\13\3A\272\307\346\316UL"
+"\3\300\5\207l\341\260\344\35\233+}\357\347\215\204\374s\22\336w\247K\23"
+"\304\37\376\327\3My\21\25q\325\366\234\17\343U\253\3037\351\202\357x\351"
+"\34K&\355\322\313\327\2233\277\242\226\307\30\2447\\\310\365+\363\32\0"
+"\f7d)\346+b\223\346\350\214N\232\3015\352-v\223\315\250)\261D\24\376\35"
+"\302\313\266\23\35\310\211\326\255\13+~\26Jy7@x\247I\271=\254\250\220V"
+"\3721\321o\3149\2529\244\350\222\350\275\274n%f\355\221\340\270GJ})sD\237"
+"\211Q\237\17*\352\244\311\7\211\366\304\226\226\1\0\300\2644y\r\273\276"
+"!V\77\2\08,\365\20^\242{\25\6\36\0@\246\200_$zV\225\30\0\0\343\2]\306\256"
+"\327\252\342\16\0\320&$\244OD\337U\356\13\0 _\215\37#z>Ue\221\r\0B-\313"
+"e\327\233\224&%\0\320\257\306\237\23=\2426\251\226;\230\26\16\264l5\276"
+"\13\0\212U\232t\77\341\35\302\326\264\0\200\262\315\271G\264[:\224\307"
+"\1|P)\352x\335\212\344b\343P>\331\365\203\350\323\332i\374\6\321_\222t"
+"\351Jv}\275v\t\361\20}]\333\365sD\373\234\272t1\273\276M\273\362\277\42"
+"\372\216\266\353\35\34h)\272t6\227\205F\355\311G\210~\242M7r\240e\351\322"
+")\363\204\267kO~;\236@\23e+o\271\366\267DTY8\245\355\372e\16\64m\327\313"
+"\331\365\265\332\247u\202\350+\332\256w\21=\343\214\257%^\226\274Y\336"
+"\202\217\312o\343~\3030\256N)\378F\223\337R\317Y\5\0\352.\370 \321sB\240"
+"\265\2@\251\262,,\22\336 \274q\17\0\344\2524\17\2707\225\26l\22\0\322\25"
+"\212\335\34hR\263\341\4\0(\272\214d.\13m\322\344\245\0\0\305i\274I\364"
+"\270\270\331\207\0\0\261\343\33\371\264\346\213\370}\0\360\305\226\205"
+"oD\237\220\253G\0\0\3341\343\335DO\310\201\266\36\0\360P\331\241\204\245"
+"\\>\347\301.\257\317|\372\337\22}\311\242\362\5\373\215n\323p\'\321^\213"
+"@\13u\fG\243Gs\270,\324X\304h\250I<\20=:J\364\200\5]\33\262\251\217\32"
+"m\212#\320\f\3030\222\246U\16\246rY\250\267\230\274W\231\3\207\210~dA/"
+"g\203B\325\207\24\200\305\f\231\336\277lFu\317\351#\\\276\334K\355#3Z\237"
+"k4<&\301Y\'9\21Q\17Z\301\303y*4\271\254\335m\272=\b\365\215\206\341xJ\206"
+"\337\317\232\321\202\314-;c;\302\5\345\226\307-\237#\267\7\331vn\35\276"
+"\256x\331h)S\253\303\275FB\22\222\220\204$$!+\311_\365p\316\243\355\214"
+"\n\210\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\61\0\0\0"
+"x\b\0\0\0\0~\240Ed\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2&IDATx\332\355"
+"\226\301K\24Q\34\307\235vYlWW\245H\315CQR\222\240\327\n;v\20\365\37\60"
+"\360\17(,\n\202\360\22\4K\177\201\207\272t+\17^\272E\2047\17\25^\202\16"
+"\261\201\240\250\227%\304P\27b\370x\230\335\367\346\315\274\367\372\355"
+"\305\203\274\357ew\177o\77\63\277yo>o\246\253+$$$$\344\254\245\340\32("
+"\17\27\233\235\34\250\374\21h\334\226\3\335\r\0\230\23\23\357\22\200\270"
+"[\b\24i\347~~\360\234\215\250\250o7\204\304\261\372\266\'\275\216/\355"
+"\256.H\211\213q\2\274\226O\357\225\35\200\27\221e(r \321\330\365\306\217"
+"\243\340\304i\247\265\36%\201\t\333\337\322\277.\363\377\2747\356\335\262"
+"\274\253\26\321#\'\212\311Go\272\366{cK\31\362\244O\225k\68\323n\266\371"
+"t8-\331\220\276\214W\346\251\36\264\312\265\242\331s]\1\2772\266.&\345"
+"\331L\3175}\212K\231\241\227\0<\314T\'40\237\235\200e\200\237\31\275J\7"
+"\n\370\234\233\262U\200I[1\231\217\3639b\35\330\317\234bV\367t\'\277,\233"
+"\300s\263\324\37+`\331\262\220\0c\346-\272\241\200\235\202\2030w\345g\272"
+"\247\253\266\273\13\210\215\3125\r<vm\346_\215\302\236\2\276\333\267\264"
+"j\265jL\340\33\5\304}\242;zJ\3674-\2*M\5\254\310\244YS\300~I\4,\350\236"
+"\306E\200\333\42\227\371n\213\34\361Xd\217\317\42k\274\26Y\343\265\310"
+"\26\277E\226\270-\232\252\327\353\267,\33\275\333\242G\366\345\364X\264"
+"\n\214\346\0\237EG\300HN+\217E=\326\5\365Yt\17`\240\23\213>\1T:\260\250"
+"\237\374f\343\267\350-\0%\271E\223\311@Al\321`\253\341Hj\321\335\177\344"
+"\t\267E\321M\365\316H\352Y;\261\244\376\361!\32\324\31360:=\257\37\214"
+"\207\251\343\34 \311\246~\3\210zE*\354z\336\220\355\371\3331\361\'\274"
+")\206\204\204\234\365\234\0\25\247\240\27\211\273\211d\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\373IDATx\332\355\230OlTU\24\207"
+"\317\233)SK[ZJ)\251\1\21\305\262@T\fQ\203\30\42\342\2\24\211)]\340\302"
+"\205\20\215\13\243.\210\33\243\301@\32\22\214\301\320E\r\221\2701\306\350"
+"\302\2306\215+\203\260h\324\240\321\206\220\206L\2004MHS\215\222f\260\231"
+"~.\336L\373{3\367\316\274[\266\363[\315\334s\277\271\347\3769\367\234\271"
+"\221U)k\266\200\271\2255+Zm=\7\263\275NK\323\30|a\365\364)\24\237r\264"
+"w\344\341zS]<s\58Z\325\274\245\0\364Z}\255.\2CQ\262\361e\200\203\226F\317"
+"\2\\\310IKt\2\340\274\245\323\307\0S]K\2136\2\220\317\246\3043\23\0\205"
+"m\345E\233\4\240\307\322\252\263\b\300\200\231\231\365\315\1p\300\322\353"
+"\31\0\30\214\314\16\306\37\317Y\210N\307\320H\313\361\370C\352\211\227"
+"\246\377;\252\342Z\13S\307\274\342\373,TO\13=l\341:\271HOf\227\201g.\227"
+"\'\276\306\226\243\366B\214\77\357\353\20\325\346{\35653\233\237\260\206"
+"\274K\227m\n\4\371O\277\r\22\250\13\361\311(\341}\313s\276\214o\276;|K"
+"(\370\233.]\264Pa]\370\351\227k\267\376M,\217\r\313\f\357t\26\64\375$\226"
+"\345\273]m\216\361\326j\227\275\t\323J\r\355\16\367\26\217K\237\261\244"
+"\255{\321Px\3143\331~\275\271V%m\367\227\r\377t{\350\326\242\340\207+\214"
+"\217\226\r\33}+\375\275\320\277V\206\371\336\222\341H\235k\77\326\272J"
+"\353+\245\273\334w{\344n\13\375v\225\371\275\330\260\3037\370\260\320\371"
+"L\225y\b\200)\337\340[\325\365\7\252\355\243\0\34\362\25D\323B\237rt\310"
+"\3\320\352\301\337\27z\326u1\0p\311C\257W\327\267\273\342\216\32\205K4"
+"!\264\263.\313\1\320\345\306_\23z\256\331\231M\0\346<u\206\272\276\307"
+"\331e\35\300Y7\376\243\320\243\356.}\376D\266_\3\255\335\215\77\341\255"
+"\233Z\n\202\17x\266f\77@\306e\371R\350q\337\241<\n\374\3412\354\320u\363"
+"W7Q\344\374\345\246\277\205~+\370\32\77-\364d&\224~P]\337\24\234B\362B"
+"\237\fv\375]\241g\202K\253\36u\375\221\340\314\377\263\320\237\7\273>\240"
+"\201\226\13.\3514-\354\16\36|T\350\221`z\267\6Z[(\235\233\23\274\77x\360"
+"si\2\315\253m\272\345\301\325t\42-\274\31\354\372\207\32h\301\256oP\327"
+"\357\13>\255W\205>\36\354\372\21\241oe\323\225\304\362\357{V\267\340O\27"
+"t\317Y3\373\350\206\363\7/\312\340\237\271\307\334\f\340\256\202_\24\372"
+"\266\'\320\16\340{Gh\321\277\216\273<3\36\4\350tY\276\326\332\324\267`"
+"\327\0Z\34\206\'5\320|\305F\26\0G\225\261B\323\202\367\231\243\27\0\307"
+"i\374D\350K\336\315~\t\300\361\256\364\220\236\326./\376\25\300LuZ\270"
+")\364\353\376\354Q\4\30\257j\77&\364U\177\240m\2\340\33g\205R\326\6\377"
+"9\217\253\2743\225\247\377\262\320\37\324\310|q\275q\254\242\371\260\320"
+"\3235\2\255T1\274\232l]\245iak\215\30-\25\211/$[\307\204\36\252Ao/\365"
+"\331\231h\335\223\42\320\314\3142S.\7\2335-\354\2541\370)\347\35x^\350"
+"ok\320K\267A\267\353\217\24\60\277\322O\357[\352&y/;#\270\377Y\255\371"
+"\214t\223\3659!\315\27}p\333\33\2117\254\2452m\2436\257v\241+\326\367\217"
+"W\274\36\224\352F\263\350\7\351\370\327;\225\350\232\326\207\37\257\256"
+"\b\3578\267<\265\256,\276\36\264/\347\325\341z\362\361!T7\356\16\237n<"
+"y5\324PC\r5TW\377\3K\77F2#-\'\232\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0\61\0\0\0x\b\0\0\0\0~\240Ed\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2\230IDATx\332\355\226=h\24A\30\206gw\303aL\356.\247\230"
+"\230\330\4\tF\24\223\326\237\244\20\261\b&\4\13\233\bVV\212\212B\32\33"
+"Q\f6\332\bWD\4\261Q\213\264\201 b!X\250\4\2618DV8T\22\273\20\42\306\203"
+"p>\26\273\267\263{;37\7\66\312\276\315\315};\357\356\374|\3177#D\246L\231"
+"2\375\33rd\323\23\3427\232n\236\20\365t\364\4\254\365+\373w,\301c\325\203"
+"\373P\77\254\210\27\253\360\245C\345p\77\2\347S\341\341\32\240\376\270"
+"(\325\201\262\223\f\236\6\230\326\255\303q\200W\271\370\312\334\6x\244"
+"_\272{\0+;\344\234\27\1\252\236\336\341V\0j\207\32s\366\1\3505\355OO\35"
+"\2003B\b!\366m\2\60e\336\322q\0\270\343\b1\35\64\37\266\312\202\273A\277"
+"\305\316\233A\3034\211p*\37\210\253\276\253u\252\25\267\342\216\t\233\354"
+"<\26\63\314\333%\364\\d\360=;\207\373\2761\211\235\266\324\344k\201\343"
+"\244\231\250\270z\7\204\20b\253\222\225\234\277Q\257rS\255\273~{\33\377"
+"7@k=\t\23\42\370\331n\77\252\320\321m\357\bK]>\36\373\274\374\365W\243"
+"}\245(3:a<\325\30l\355j\277\33\213\357\226\323\270\225\374\324\3310<\227"
+",\257\256\37\31>\271I\307\245 <\251E+U\263n\0p\241):\42\r3\315\13P\6\250"
+"4\301\222\333\210\f\317SK\266\0\60\252\n\6\353\321\231r\274\6\326\233>"
+"1)\307t$\275-U`VY\201\1\312\212\215\4\330\237L\321\345\310\260\342i\34"
+"\333\22\221krL\203\252\354\2\222\247\357^i\270\254\314.\340M\42\360=2\274"
+"S\27\250B\241\220X\300yY\333\213V\31=\326fm\27]\265\310\360\314\16\232"
+"\227\221a=ge8\'\307t\320\312\240\247HG\276\236\242\226\7\224\371\344\267"
+"\242H)#EJ\31)R\311L\221\376\36\243\240h\314\367\375\3\212B\257\247\350"
+"\242z;\r\24-\0C)\203\211\242M`O\n+\3E\335\312\r5Q4\16Pj\207\242%\200\256"
+"6(\352!]l\314\24=\0 gO\321h\360\300\263\246\250/\34\260cK\321\321\306\275"
+"\321\261\242\310\31~\21=\212\235\265#\327\243\36O\235>\271m\245\241\211"
+"\31y0\376\214\275g\3\33U\345\r\300\311[\241\260\232\2703\330\350G\333\216"
+"\265\354\246\230)S\246\377]\177\0\n>\27\246\351\325\365]\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0,\0\0\0x\b\0\0\0\0\254\360O<\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\240IDATx\332c`\30\5\243`\24\f\31"
+"\300\210K\202\307B]E\200\233\341\377\353\'WO\274\306k\4\177\316\221\337"
+"\377\341\340\337\211,.\234Jy\32\77\377G\3\317#q\250\265y\360\37\13\230"
+"\312\210\315\315\351S\231\241\254\23;\357}\347\263\217d\201\360:+0\315"
+"-\372\7\65\352\200\21D\240\24\346rs\f\265\1\60\265\215LP\221\\\230C\326"
+"\243\253\325\374\n\225\251\201\211\b\275\203)\376\201\26$,g\240\22\33\340"
+"~)A\370\321\30Uq\36T\370\2534\\h\13B\261\'j\0\277\206\nw#\304\216\42\24"
+"[\241(\316\201y\\\t!\266\16\256\366\257 \212\342sP\341\213Hb\311p\305;"
+"Q\324*\303\204\347!\t\262^\200\n\3764f`B\22w\2061n!\t\376\366>\313\300"
+"\300\300\300\360%\374,\3\13\222\270\5\214\361\f\331\276\247\26a~r\237\216"
+"\317z\216\32p\247a\316p\307\221\304\220\235\241\nc|\42\254\230\233\37\306"
+"\372BX\261\4\234\365\203\260b\270\301\f\77\t+\346\42\230\273\221\24\363"
+"\220\242\230\231\24\305\f\3\250\30\2226\204\332\31\30\30\344\210\324\42"
+"\207Z\240\310\r\220\233\177\354a``\20\61 A\237\367\0\272yT\361\250\342"
+"Q\305\243\212G\25\17\204b\16\264\272\3\257b^,\215\t\234\212m\340,KB\356"
+"Q\233\370\17^\1}\253\220\302\325\233\220\256c\341\27W\25G\25\177\364\340"
+"\345\307\177\f\353w\240\253\327\375\217\23T\320+\234G\301(\30\5\243\200"
+"\246\0\0\31\222L\245 \343\31\246\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\3\375IDATx\332\355\230[H\224A\24\307\217i\272\246\225[f"
+"bew3\261\262\350J\22\321\2250\255\240\13$\25t\245\227\222\222(\262\233"
+"QA\24\350SA\322\r\42\22\214n/\221\201DHIvQL\273\247\5[\270*\266\345u\335"
+"\177\17\273;\337|\373\335f\375|(\370\316\313\316p\316\376\276\2313g\316"
+"\231\31\42K,\261\304\22K,!\42\n\321S\206\216L\34\35\25C\324\323\344\374"
+"\372\251\255\267\244\360\205\313g\247EK}\317\307\212\247\17\277\6\77\324"
+"\371\327\177AE^\37J\b\216\263\362%\264\244\273x\2468\'\345\tt\345n\212"
+"\230\237B\16\34\267\371\232\316\212\352\372\37.\42{LR\322\274a\222Iw\301"
+"\261v\343\1E\225\370\276\334\220\77C\366\201i\371\337\245a\325\32OqH\245"
+"\327\364\303\2060eLl\254g\250\216\235\6\240\301/\0\0\235\207\302U\325\221"
+"\347<\214u^7\22\303\312\0\0\36534-2\\\fu-T\207T\340\r\32\275\230I\227\342"
+"\354\262\366\2502\275.\32\246\353\200\305n\206:\243\351\244o\0\320<\316"
+"\300\227\7\244%\334\24277O\226\341\236\227\2\367\317TU\213\321\35\0p\325"
+"8\344\246v3Tu\204\232\301E\0h\212\25\330NE\322\374N\252\250c\333\0\340"
+"\240\310\306L\356a\244\316$\245:\27\0\32\243\204\366\370=iPw\224\332\32"
+"\08%\226-\326r\231a\266\42\225\0\200;Q\214dk\225H\367\3\225y\0P*\232\302"
+"\212%\222\307\237\255\372\371~\227\20\21\25\213\222\36s\341\265#`\274\355"
+"\0<q\242\244\211\234\243\234\362\274\221\16\0\257\3043\264\223Ce\310f\227"
+"FDT*Nz\315\265\327\310H\251DD\345\342\2447\\{E\bO\352j\42\242\nqR\35\327"
+"N\230,\327\r_\274+\210\212\270\224/[\301\374Q!\223xR\221\31\222\215\'\275"
+"0u\306i\343H.Y\214\7+-\\;:\241\257H4\342\337 \311$\306\f\251\213\357\f"
+"0C\222\35{\6\365\331\354\350\337 \311Jf\253\31\222\215\357\374\3513R\213"
+"\31\222\254\304:\314\220b\370N\203\231\225j\347rA\253\231\265\33\310\373"
+"\251FF\332\2\0\311\302\244xe\241\361\223\\DD\231\302$\331\1\242\\IZ%L\32"
+"\313w\236(I\363\342EI\23\370\212\325\240$\365\23\36T*\327\276\33\60q\0"
+"\300#Q\22w\33B\300mh0\0\300-xZ\211\347@U\1\271\300[iB\327\211\221\26p\355"
+"K\201\312\337\0\200gb\244\13\322\220Z\242\3\225\16\257\42E\210$]\364\220"
+"\257P\276\367*\nE@\263$P\263]\241\255\324\32\254\346\355\r\0\260O\251-"
+"\363\251\366\33\203\42\33\31\250\246\277R}\337\247\3731\300\220\264\235"
+"\201z\322U\3247\374\332<#P\350;F:\247\273\260.\243\213\302V\6\252T\275"
+"x\237e\372G\372\331o\220\203\255\333xU\203#\322z\34\325%]\361\233\271\227"
+"\251\33\344pW\221l\241\271\355\326\260\330\306m\312\256\365\232\240\325"
+"\235\206#_\317\237A\3359\32V\233\30H\373*\270B\3764t\313\256Vx\13\231\3"
+"\16\353<N\4\2742\375\334\256x\243\311x\317\256\277\233u<9\305gT\260\307"
+"_\24\77\355\345_3\42\263\237\263\257\324\317\325[\3341^\243\272HJeok\335"
+"e\'\262Rb\355\366q\213rJ\244\247\31\334\34\242\33&C\275\256\236CD\375\363"
+"\332t\36\327\276\30\275r\204\3\0N\373\212\320m-\216#\307f\270\303;\0T\261"
+"\243\332\334\7\36\25N\371\326\b\201\364\365\261\271\271q:_\34\363\253d"
+"\224\337\17s\'\364\372\2656nV\362\250\330p\242\256&\307\347\267\265=d\211"
+"%\226Xb\211%\377\251\374\5\255V\n\315\251\215s\42\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\0\0\0\0}\27KL\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\4\315IDATx\332\355\230mlSU\30\307\237\256\335"
+"\33u\323nc\f4e\216IX\203@\310\\\bL\23G\324\230\311\230\tA\343\242\4D\211"
+"_t\21\65\22\321\310\f1!h\304/\220H|a1F\2\206\341\13\61.aY\f\23p\260\bc"
+"c\314,+\314\241\235[\327\255k\327\265\367\357\207{{\357i{_\316vfbb\237"
+"/\355\275\347\177\1779\347\336\347y\316s\36\242\264\245\355\3377\233\300"
+"\263\216\345\317o.\261\5{\316\266^\16\212\316\303Y\327\21\5\0 vcS\266\30"
+"\313\361\3645\t\212I\336\207\35B\2605\3`\354\314\275\42\254\234\357\225"
+"y\311\77\321\335\42\260\7#\0\60u\374H\367\4\0 p\247\0\354K\0\220\16\257"
+"l\215H\362gX!\0\273\r\0\336{\326\314\304\337\332\n\242\214\271\302\362"
+"\211\210\232\207Bv\345zfX\0\226AD\360a(\242\\\237\33\27\200\305\210\310"
+"&Q\360\2\210\2100\360\241\310\327\34\7 5\21\325tF\245i_\353\223N\42\232"
+"\263\343\206\362\211l\25D\77\67\224;\6\373\'A\34\60{\205\247lqa\26Qd\344"
+"f\357\305\277\264\201\300\42y\255\221\336^-\302\314H\345\365\217lp\262"
+"7\256\234:\326\257\374\235 \42\312\266\201o\35\331;\316!\325\244\357\326"
+"\311\303\247\1\240\2353\364\32\207a`\337\224\23\21\35\0\0\77\2273\324\r"
+"\300\330\246\366f\22\355\222\0 \307\32U\360\225\366\344\304\311\306\232"
+"2\227\253\310S\267\257M\r\235K+\351\361\30\0\24Y\262\326\r\252\250\363"
+"\r\271\314\300\302W~W\356\207^>\n\0(\265b=7\35G\365\325\246\244\327\235"
+"\177&\254x\203\5\353-5\31\37\322{#\256\257Y\330\333\346\254\375q\335\364"
+"\263\6\212\306\250\6\3536e\275\243\262\352\r5[#\32\315\314\351_RU;LT\r"
+"\352\233@\201\261\352Qu\5\237\361\315\37\213\r5\313F\343\232\341|\363\314"
+"\370S\\Xa$\311\352\344Z$\21\221{B\21\276`\2448\250\262\256\333\255\234"
+"q\257\242\374\301`\274:\246\302vZF\311\202\333\262\322\257_\371dv\253,"
+"_\256u\374\356V\264.\335\321W5\347\371\210#\257\3341&k_\327\33t\215j\260"
+"\7x\262\324!%~\365\306\2324\326 W\372\364(Nd2k\08\314\227\214\177\1\0L"
+"&m\314DD\333\357\322\356\235\345\2035\313\365\243N\346\376\215\311+%|\260"
+"b9\366RK\251J\206u\213w\37\226c\312\235\262\314-\214\246\213\27v\202\210"
+"\210\362R`\233\31\315U^X\213\244\13s\263e_\77w\275\327\241\13{\210\325"
+"\fp\27/-\272\260\365\254\304\313\r\3736\t\246\224}\354\216\223\'xr\31g"
+"X\241\271c2\210\210\212\331$=&\bs\263w\374\202\260\204-&(\bK\310\226aA"
+"\230s>a\t\201\77-\b\233/\233\177X\200\275\223+\b\233J(\22\4a\376\371\\"
+"\346P\302\6\372\37\201)\7!\366\310 \352\32\327\331\257\231#\bK\330\220"
+"\226\n\302.&T\205\263x|\327\306EFE\210Ee\231jw\3\30\3718if=\1770\212Yt"
+";\252\210\2500+\t\2063\214b5\77l\275\356\246]\313,s\204\37v\31\0\252S\252"
+"\366\21\206v\37/\253X\2\20\312INA\221fFS\303\13\253\267\21\321\371pJ>\373"
+"\204i\3l\344\205m%\42j\325\333\352\265e\216s\306\200;\n\0\36\275\257\314"
+"\274\264-|\260\375\306\'\316S\32\3544_7\324\7\0\257\351\216-W\217\346\210"
+"q\371\355\233\0\60e\320\77xO\233\332Q\16V\321\337\0p\304\250_sE\205\315"
+"\254\262\206}\16\0a\303\24\263*\250\322\332-\333\324u\222\305)k\233\266"
+"\3207,Xe\243\0p\323\254\237\372\276\n\213\232{\356\302\33\0\200Mf\32\333"
+"\247*-Pm\242[\322\305s\224\264\177\241u\224j\rUk\345fQ\233U[\320\366\201"
+"\326w;\250_)d\355\221=\362W\216\6\364\213a\355\340\371L\352\301\337\361"
+"\224\374\272\320Y\300\343\331\225=\314\241\254iu\202\223\254m\362*#\'\235"
+":\313\322\241\345\356k\314\324\256|\35}}\3761\242\274\222\245\367W\305"
+"\203\'\374\356\1\360&*O\13L\255\3353\253\375\264\362\370\214!\352\322\23"
+"\263\336\236\227\354\351\322#\5\216\31w\363Lc\260\364\261\352\252r\246"
+"P\235\354\272\360c[\204\346\6#\42Z\260\254\264\250\320N\344\17\16zo\305"
+"(miK[\332\322\226\266\377\263\375\3\343\21`\4\64\265(\325\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0x\b\0\0\0\0mw\5\220\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\3-IDATx\332\355\227MHTQ\24\307\317\350"
+"0Nf\216\241}\321\207!a*&\306`\222\240\24\226\213\26\366E\273\26\25iB\213"
+"6\271\210\2\251H\2516\231\5%XHA\344\316\b\212\30\351\213 B\214\262,S\313"
+"\217,\247\304\24g\324q\336\370o1\363\336\275\363\274\317y7Z\276\377j\356"
+"=\3677\347\314\271\367\234{\207\310\222%K\226,Y\262dI\325\306\272O\276"
+"P(\360a\177\274$\270w`\16\0\200@\255\34X5\5UJ\265\fX8\1`6\202\366H\200"
+"E}\0^+\21\322o\36\214\177\16\340\3016\5\b\1\200b\236\314\235\6<\344\352"
+"\4\20\f\1\63\346\311\343sP\212\210J\374\341h;\314\223\227\42\21V+\0\360"
+"\247\334<Y\13\4\211\210\250\242\3237\361\270D\42\265\27T\222\311n\2646"
+"1\201\246\2\332\310Ad\213M\306\271w\24fg\330\211\310\373\245\243\3153M"
+"D\24$B\254\270\326\234\33\4\257\361\233\231\342huJ\2732\3\275\202\327\222"
+"\251>\326\356\37\360B\244\376\374\26 \240[\313\377n{C\225\372q\262\365"
+"\345\240\222\342\336\227\31\36\372F\327\323X\252\241\303D\217\352c\246"
+"&)\222\254\303\221\340C\300\210!\350|\242\202\3\371l\366\244\26\362\240"
+"!yO]2\224\3167\202\330\344\t-T\316#-\351\322\310\237\6`\226\266\33\247"
+"\370\351;,\301Cb\320\366B]\320\347\340\246\213\271\2551\310\320\36mA\5"
+"\77}\213#G\305.\337\251\366\337\213\370\371W\34\331\255\77\336DDT\232\247"
+"\216[\246y+\3375\356\n}\266h\337\274=j\276\236\271\354u\211@W@\265\373"
+"\22\242\f\3569\215<&>\350\232\335\243\263\\U\r\217\342\204d\223F^\326\247"
+"\341\264\37\0B\215\316\371Y%\42\352\312V\207\207\232\365\13\226\355\312"
+"u\364\77\64\270\16\222B\232\317b\363M-\216\210r\330o\30\226#\271\332\360"
+"\312\221k\331\320/G.\375\27\220\342\210\210e\\\221$\27\263\216\42I\262"
+"\30\23lr\344,\327\251\345H\256fW\310\221\\W\313\220#\7\270F&G~d\233Q \371"
+".\323\272\20~\330\244|\3223m\270j\263xYye\222p\276\214\265\233\213\342"
+"\207T7&o\347\211.\2431v\78D\344A\0\330-\2624`\301N\345\374\6\240G\330\211"
+"rXW\30N\236o>\13\0U\342\f\334gN\33\347\31\335\1\0\337\r\252!+\300\320J"
+"}\17\373\n\0G\215v\347<#\225#\321\317\225v\0xk\370\344r\266s\227\317\r"
+"\356&(\350\5\0e\253\361\221H\377\305\241\336\232\r\341n\\\320\34\4\0\324"
+"\221\270S\207\363\320\26u\347\f}\36\247\264M\221z}Z\266`\237\3312\2\3\275"
+"O\215q\206\327\265\213\3017\313c\36\177\373\231)\1\330\224h\246tV_\367"
+"\353\270\267;\315\226\235\253\242u\202\225kS\251a\301\212\f\366\214\354"
+"\225)Dc\303]\375\326\337XK\226,Y\372O\372\13\271\373\365H]\42\303\371\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0P\0\0\0x\b\0\0\0"
+"\0@\205**\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\374IDATx\332\355\230"
+"KhSA\24\206O\36\206\244\3064\226$6V*\211\26**\264\250\240(jq#X\321\252"
+"+\237Y\351F\241\13\251\256\\\210K\27BA\4\21D[hE\27\305*\bU\264P]\250X\304"
+"hK\254\211m\323\332\220\324\204\304J\36u\\\250\2353i\356\275\261\367\354"
+":\377\352\34\346\317w\317\334Gf\316\0HIIIII-\26\31\0\0,\33\65}\231|&3S"
+"6\260\366kY\27\317\306\277M\214\204>\275KR\1\377\212\205\372\373\236\250"
+"B\241\226\375\257\262\17[\314\244@\306X\344\234Eq\312\316\213\0\340\264"
+"\271\326\324\31\305\2336\20N\260\77\241m\231\273\306_)\3766\322\332\243"
+"u{\252.\344P\ro\275\30539\334\36\26\252\354vj\336\361k\310\276\247\224"
+"a\333\35|\315/\233\264\200\'\270y\326Z\332\342\273\207\210\231\26\r\340"
+"~\356\215+\232\16\304\271\253p\\\35\270\217[U^N\3770\42\36%\0\202\7\21"
+"\263;\t\200\340\213q\343d5\32\60.\360O%\34`squ\207A\177\205\0\267\320\263"
+">C\1\364\244\2705\351\326=e\200X;\217+/\23T\b\256,\367\346}\372+\204\370"
+"\3\36\233\333\b\200\320\211\342\223N\2`_\212\307\25\247\b\200\331g(9F\0"
+"\4\f\334\342\'\0\276\302I3\1\360}\36%{\t\200\371!\224l7\351\7\3020\212"
+"\35\33\b\200\237q\322H\0\34\303\311z\2\340$N\326\21\0c\302\252M\0\374\216"
+"\223U\4\300\24N\226\233\365\3\63\342FF\77\60\'dV\0\0\63\0\60\245M^\351"
+"\275\32\322O!\263\353\257P\224\211\32X\370\7\64 5\363\361Q\303<\251\3\177"
+"\350\257\260b\376#\322\7\\\42d\323\372\201v\341\245\314\21\3\243\4\237"
+"\236\260g\217\20\0]\324\300\258\t\22\0k\2045\220\0\270\32\305\263\203\4"
+"\300:\\`\212\0X\217\342\347\4\13\275\327\203\222\307\4\300\315x5xA\0\334"
+"\201\342\373y\2 nWo\23\354\17\275\215<\3768@\0<\202~|\225\351o+\340\r\362"
+"Z\b\272\200\255\250\233\277\224#h|z\271\365\265\221\240\223jB}T\203\376"
+"\366\26\254\327y|e\220\240\33\275\301\215OM\4\35\375Y\356\13\271\t\216"
+"\bZ\177\315\331\246\326\252\316\344 \7N+\257\3577\271+Z\257~\257\3\250"
+"\361\267+\35\333\214pO\320\257\361\360\272\21\360P\311\2458\200>\20\326"
+"\343P_\267\233\360)\24\33\333U|\314\260\373|\357\f2\244O+\34\367y:\1\300"
+"i\253*>\215\203\304h\202o\241\35+\227\n\203\254\253m\234\360@\262\320\325"
+"P\222e^\330w\362\241\343\356\4P\1\243/\373\37\205\25G\313\6\246\13\351"
+"Tr<\32\36\nN\201\224\224\224\224\224\224\324\42\325o\367\313\353\255\2"
+"\77\260\307\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0X\0"
+"\0\0x\b\0\0\0\0SRj\336\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3^IDATx\332"
+"\355\230]HTA\24\307\217\273[\254\346W\213nn\246\351R\244\324\203RRQ\370"
+"A\20A\205YQ\320\247\275\324K\17Bb/\325C\364X\20\bQ\210\20\245\241Q\17\222"
+"\365\322\7\25XAE\42Y\212\351j\272\232\266kn\356\252\273{w\247\7\3239\263"
+"\37zW\317B\301\374\237\316\271s\346w\347\236\231{\357\314\1\220\222\222"
+"\222\222\222\222\3727\25\3\0\0\31;7k\\\256\251\21{\317|\361N\257\3239\241"
+"\22\234Qy*!\242\301\270m\77\6\273\273\276~\32\233;L{\317\307\26$\177g\315"
+"\341\3449\300\207\24\306\230\337\317\230\3373\21\61\334\375\250L\27.\25"
+"\226,\0\233A\3\60\31\27k\232\320\247\255+(\312\325F\220\230\276k\267<!"
+"\301\312\f\305\367\367\3361Y\265E\32\61\251-\26;\2336c\23R\323\315I\42"
+"\243\267\242)\324\35\247f\36\313\301\257\31\316{\320\363~4\5t\311<Pm\21"
+"\62\322\30*\327\77\247g\202\261w\370\352u\324mG\250\361l\275\203\357\335"
+"\26318\242\2151\346\3670\346\257\300W\217\363N>}\350\344f\337GdgYP\373"
+"Ee\272\251M\310\334^\336\307\26v\336Jm<J9\26\330\232t\301\305\30c\356b"
+"\341\352n\336\245/\374\2120w\42\362\221\240\346\302\247\277\225\201s\332"
+"\5\200\301\210\310\356B5\253S%\30\262Gx\340P\32j\320,\362#f)g\263vZ]\f"
+"\335\210\1j\321\3328C\t6:x\350X*Y*\0F\252\321\n\273L8bHq\363Xo6\335\210"
+"\301\366\220\333\272*B0\324#\373D2!\370\31\372.\306\235$\4\273_ \347(!"
+"\30\60\270\300L\b~\213\235=\204\3406/rv\21\202\275\35\310\331\246\245\3"
+"C\'\262\23\67\20\202\277a\'\237\20\334\217\235\365\204\340!\354\344\22"
+"\202G\204]\7!\370\27vV\21\202\35\330Y\256\243\3;\5\317@\7\26\267\233z:"
+"\360\244\340\305\323\201\3\316\b\321\2+\321\2\273\350\300q\301SI\3^\42"
+"x\243t\340xaQ{\242\4\266\22\276\322\302\331\246\227\20\234\22-\360\n\354"
+"\264\23\202\323\205\1776!x5\262}\255\204\340\265x\300\16Bp\16\262_\22n"
+"XLF\344<!\4o\302\177\251W\204\340\355\310~\340%\4\343\362\300m\302\375"
+"\261)\237\333_Z\b\301\7\21\344*\243;\216\301\7\24\273\224\360\324\264\5"
+"UW.y\b\17\220\315<\364\375\374\343T\17.A\347\322<\272\262\2\350op\373J"
+"+\341\351\377&\17|\256\246\16\250\26|\226\307u\245\22\226n*\374\263a\303"
+"kT\245n\37\7\217\206\337\247\324\360(k\216\2729)G\5\231\37001\245\335<"
+"\246\335\254r\262\33\21x\177\310\255D9z\341XS\242\272\375G\t\256.\262\376"
+"\242\3002Pqe3\2565\217\237\16f\b\5-c=\0$\307\32\2\253\257`\377n\347G\214"
+"\304\225\313\204F\326P50\317H3\27PPW\32\362B\262t\213{\357>\327\335\35"
+"\4j\260\365\315\353\307\226\260\255\21\203\307\225q\307\330\200\325\322"
+"\321>\fRRRRRRRR\377\265\376\0\262\3742~\321\30\323=\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0x\b\0\0\0\0\206@\276\223\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3:IDATx\332\355\230MHTQ\24\200\317s\306"
+"\337,\235\312@4\313\22D!\313 \20!\255\304~\2152\372!\302U\5\331\242vQT"
+"n\334\3246\320\242\205\213D\202\22\243\32\263\205\204E\213\2422d\250\241"
+"\310\42\303DCg\304\371\361\315\337i\341\314yo\346\235{\235\21\242\315;"
+"\f\314;\367\234\357\335\363\356\273\367\236s\37\200)\246\230b\212)\13\242"
+"\310\215\n\254\260\244\351\233<\376D\247m#\236P0\230\360\13\243QZ5\306"
+"\272\360w\273*\365\200\243\321\224\2060e4\332kx.+\335z\177<\210\31\272"
+"_A#\246\371\335^KQ\231lD\246\2461\354\20Z+F\271g\215\r\237\r\340\200\20"
+"u\266I\2365w\32{\307\304A\275\222<k&\314\237\220=\217\244W%\373\206l0U"
+"\211\r\'\344/B2Lj\13,\365\275f\301\222g\23\230\250\211\376W\324*h\317K"
+"\363\317\247\216\26\35\332\265e\203\2\340q\276\357\37TS\b\243\376\251~"
+"\347\236\274\236+\\\257\tR\322\227\270\335\217\355O\16=\3542\246\212H\233"
+"\222\4z5\202\234t* \3119\0\0\320~\215.#C/~\252\266M\7\327\1\0\264z.-2@"
+"\255Z\77=e\321\215\262\371\33\42\42\266\310\3\336\21\212\231}\307\264\326"
+"\345}\210\210^)j\33\213Y\325\6}\273\345\261(\277\222t\222\365t\274!\307"
+"\271\b\272\231\302\35L4\325F\344\350#2V\33l\17\245h\5\315\276\227\306\333"
+"\326\360ht\321\235\243\305w\317\210\276\371(Y\257\351\')/\331\31\247^\t"
+"\272\263 \246\177\232d\234\6$\350\36\322\337rN#n1\332H:[\213D\206\205h"
+"N%\351_\330\330\34B\264\312B:_\213\214\n\321rM\347\13\203_B\264\204\324"
+"\220\213E\377\b\321BRg\371\245,\36\341<R\275<:\'D\263\265J9\325\304\221"
+"Aj8Utv1/\213\20\r\220\232\301\243\371BT\233\3629<\272J\210jo|%\217\26\n"
+"\321\37\244.\343\273\335(Du\273@)\213V\n\321\211\337\244\227\263\350V\361"
+"z\35\222;\25\213\3\206\347\244\327qN\273%\33\214\235\352\206\32\356\25"
+"\36\227\240\256\'1=\375(\223\352\33d\305O\7\65\2347\372\\\264Jg\351k\332"
+"\337\367\31:\365\353v\177&I\327SNr&\234\3\224\1}\246\273\311t\333C\326"
+"\273\361\206\313\210Hi\20\271D\260z\234\314\355\372\203\343\205\b\42v\220"
+"m&\233a\267\253\332\255\327P\256\357BD\234\312\327\42\276ca\316\352\247"
+"\272I\361t\365~\360Af\365\221\263\371\0\200M\317t\7\343\257\366\357\323"
+"a\30\216\337\232\317\204\364\3\62\63\23\313\271\355\272\222K\224\242\233"
+"\\\\\305uKI\2\205\222A\203O\360\212\2\311\240\0\315\216x\227w\265\361\225"
+"\251\16\65\36\340\353Z\366\26G/}\366\356\376\205\1z\20\360z\202\256\200"
+"\327\23p\253\276\271\240[\365\t\276\206\254\257Xk\3\237\313\3619h~.2\305"
+"\24SL\371\307\362\27|\r\364\16\326\2461\205\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\2\350IDATx\332\355\230KhSA\24\206\377D\r\261"
+"\330\304\220\232h\324v\245\253@\251V\24\252\242\22#X_\213\242\1\215;\215"
+"\350NtQ\\W\21\21\\\271p\245\202\210mQL\220\212\350\242P\245*\32A\5\21#"
+"5.$1I\323\204\332\274\307E\222\373H\356m\354\314\200]\314\277\351\314\231"
+"\223\217;g\316\314\234\16 $$$$$\304W\6\271\271\231\1\363\261\240 \265\315"
+"2\220\272\2420J\35\13\343\354\26#i\251\324jo\36\234\233\212\'\322\345i"
+")\222\35n\267A\345P\211D\22\177\322\4\310(\255\207\211J\237\257\35\\\337"
+"\314\356\376\256p)\f\3325\277\316\257\360)\337\335\2443\207~\205\327\r"
+"\35\237s\262\313\373\36\335h\230K\262\233\277e\304G\373\302\272\244\\B"
+"n\247u\42.\221\202\276\362<K\224W\304[\347\233\254\265\277\337N\224\371"
+"\344\239\223e\315\314Z>\5_\360\312\361!^\273e\342-/\322m^;8\77\314\213"
+"4\236e\77\13Lf\0\b\2\300i\0\321\247\324H;!\204\220\215\0@\b!/\365\374~"
+"\310\373\256_{v\26\0\210}\255w\35\364q\262\0\300\204d\357\\\302F\232\224"
+"\354\246\rl$\305i\262\215\232d\5\200\17\362\200\227:\13\302\1 \237\224"
+"\7\16Y2\3547|u\215/\322fA\223\6]\264\273\245Q\266{&N$\354\nY9\221\340\375"
+"\3443\362!a\335\375\310\345=+\27^\211\311k\247\356\306c39\271\267\335,"
+"5\17<\321\276\357t\345p\260\317\216\327\332\3757R\2138\205\307\336M\305"
+"\2633\312\335\322IC\n\237\235\344\363M\217}9>\263\33\77Z\340\23\361\264"
+"\277\300i\355\256\376\344\224\5\2637y\345S(C\221O\275W\0\234\232R\17<\247"
+"\311L\203\7@_\3\351\r\315nI\1\300\26\265\275\362\205\206\224\4\200\235"
+"j{\254HCJ\27\1t\333T\366_tgA\n\200\321\243\262g\350\316\202\224\23\300"
+"\276\221\272-\0 JGJ\0\300~c\375\277\207[\364\']\2\0\326\354\340pf\246\0"
+"\0\307\270\221|fvR\274Z\b\f\360\372&\234\347F\352\3612\223\352\245\334"
+"\220\201\225\364\273\326\351\rp\232\35p}+/R[\310\315F*I\17\36\253^\35i"
+"\361\3E\311\270L\343\34\227\253\347\366G\17\273\346\3-\357\220\333Z5\332"
+"k\345\213Jq\304\243\177\237^R8>\320\30\37S\277\316\220\364\350\205\275"
+"\256\346k\307>\360L\3456\274{Ecux\347\244\6\276\24\217U2e[\246\376\20a"
+"[\273\272\331)\226\234\233\6p<^\253\13R\232G\227\353\37j{\247\263\372p"
+"S\217x\212[M\227XT$!!!!!!\241\205\350/X\376Bm\301\'\17l\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\66IDATx\332\355\230]l\24U\24\307"
+"\317\316N\273\205m-\260\333V\272\251\332V,\251\253\5D+`KIL\233\246\2\r"
+"F\b5\20\13O\276\371\21\64&\242>U\343\203\r\6\65F\22\37\360\301\17 DK\323"
+"(\37U\213\250\3016T(P\273\333\26(\245\rm\367\213\335v\273;\307\207\351"
+"\316\234\273;ww\246\17\3722\347i\356\371\337\337\334\271g\356\271\367\314"
+"\0\230f\232i\246\231f\232i\32f\341\t+\\\316\2428H\263\201;\243Qc\370C\17"
+"\227\270\212\227\345-\315\217Yp~.\350\13\334\36\37\35\31\325\207\213\271"
+"\345\r\3655\2\353\f\367twy\303\363:f\363F\b9\366QF\266\270-\24\343\321"
+"\30\237;^\233\fXic\373\313\317;\4~\230\254\345\245\316\33A\256\\=@\306"
+"\222P\2224\36\241\355A\36\276\13\365\330P\235&l{/\234\350\21;\361j\335"
+"J{V\216M,\254\336\373\345D\22\77\360\272\26\376\316\215\5\371b\373\236"
+"\247V*\356\3745\273\332\316\260\374\265\346T\272\306\2770\362O;S\264-]"
+"\1\206\277[\225\334\303\225\220\266j\316\254\345\36\303wo`\345\365_\313"
+"\376\216jNX7\2143\374\'\371\214zP\366~\337\300}\351M\303\24\277\365.\325"
+"\266]@D\304\340\3724\13\362}\346\r\214S\351\252\34\265\322\264\13\372\20"
+"\363\370\355\312\352\264\324\205\20\21\307>H\237\17M\1770\374\3\t\177\356"
+"_\210\210x\2448=\236\277\237\301[\23\321\253DD\304+M\231\322\261\220\301"
+"\177\334,{\335\37#\42b}\306l\26:\230d~-\261\332[/!z\34\231\361\372(\305"
+"\77K\370\263\33\17\237j\321\263\257\372)~z\243\342\317Y\253k[\36\244\270"
+"\347\240\321]\3758]\372s\35\0 \30\301\373\357\220F\266\333(>8E[\5F\361"
+"\21\77me\201`\f\277\351c\232e\26c\270/\302\354\314\217\30\304C,^\200\306"
+"p`\317\332<\203\241\203\t\246e\27@\4\207\373\231i\235c\317\77K\233\210"
+"\b\428k\337\34\326\207K\3212\246=\7 B^\205\335\275\270\302$,\201\0\367"
+"&\27[\327\204D\20 \32Z$.y$\20!|7U\211k\326<\361\230\215\276(iH\2\21\202"
+"\311\17\77\355\233\n\305\264\206\213X\237\270\237F\336g\1\0\353\26\366"
+"\0=\222\346y\333h\307Y\0\20 \356ez\234<\312\247\2273\245\305\220\234\260"
+"l\32\375r\231\217\337g\243\t\320/\343\21@\342\365\6\370x\221\2354\306\372"
+"d\\\370\225\206y6\315\324K\226\321\344\77/\343\261\357h\234\263-|\274\262"
+"\2004<\277-\340\3372Y\230\303\307\327\271\222\42\7\2\0L\314\20\257c)\37"
+"\177\224\334\372\362\265\4\16}\364 L\203\227\220\353\243\275\n~\354o2B"
+"!7Ev\320\260t\336VK\377\257\324\265\344m\346\341Y=\244J\275\42\277C\1\0"
+"`\272W\355TZ\302]s\233\324\321#\7fU\34~\357P{\225\363\360\307\311\365d"
+"g\234N\253\211\34\274\265\332\364\246Sj\237\376}\254\346\274\256\226\234"
+"\237k\343\7H\262}(&\211\2153\212vS\223v\377\240\322g7\247\310\347T\365"
+"\260\26~\232\f\276:U^uB\225\237K\225_\211(j\364\5\255\333o\373S\351\320"
+"\263;I\263\2778\245\210\223\355\232\223\263nW\207\357idk\252\227.\251\332"
+"!\'\347\305\356 \323\373\224\n]Dx{\t\367+r\347[k\224\353\251\336\356\13"
+"\267\202bn\305\323\33\327\345\252\245\331\376\316\b\27\2675\267\222\212"
+"\3363\342\217\212Y\5.u\177\224\316}\363E\332\223\243\352b\200\377\r&u\326"
+"e<zZ\306x\364p\225\236\243\253h\3531\rv\272\275\306\256\357\373]xrme\331"
+"*\207R#GfF\275\336\201\276\353\6\376\36<\326PQY\276\334\2\b\341\261\301"
+"\177\316\377\354\377\217\377]\310\242\5\321\374\277c\232i\246\231\366\277"
+"\332\277p\305\2631\313\240\31^\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\3\244IDATx\332\355\230MHTQ\24\307\357|\2505\216\343`jMj"
+"h*\270\320,t\323\307\20\231\224\33C\263\b\2616\263\220H\263\205\206\4\25"
+"!b`\n\321\327\42\27\21bmJjQh\221$b\r\224\225T~\220J\206\316\3096\2433L"
+"~\315i\361\346\335\373\346\335\367\31-\337Y\275w\376\3577\347\334{\317"
+"\273\367\274AH3\3154\323L\263\377i:1\277-5\311\204\220\337=3\257\34\214"
+"\262\37\332\223oa\357\346>\366\367~R\222Cz\373O\340\333h\243U\16K\354X"
+"\1![l6Kre\36\20\263\331\303\22\\s\b\77\67s\255$E\207t\233\367\235\355\366"
+"3\236P\213\330L\242\33\30[\252\213&n\263c\204\361v\31\204\271z\222V^\244"
+"b\254\t\0\0\300]An\27\236\226\300\16J,\364\2\0\300i\241\25}\207\3\66\b"
+"\310\247\230!l\243\225r\314\271\242\5@\23\243u\322\312K\f6\t\r\244\230"
+"\321V\323\370\302\326u\f\356\24\340\252\226\304\206q\22s>==\3766\254\366"
+"\361\265[X\32\244\343] \5\264\300\327z\261\364\220\342\254\1N\351\3051"
+">\234\226\r\77\346\241@\273\211s\23\317\3I\361/Q`\22\367&\300\3C\22\265"
+"\357\345\\\273\177\363@\37\226,\248\304\271~\212x\240\213L\5\5N\277\306"
+"\227\177\332\371\340(\326R\350\\k\375\341\13\250\235\340kG\310;%0\312\202"
+"1F*\243w9\213\33\317\271m\216&\215E{\223\275\316\236e\201\37\275\217CV"
+"\251\333\232s\327X\360\211\312M\3756\13\256\246\253\3cGY\262Se\310,7K\226"
+"\253$\263\247\330\335\352\240Jr\323\3630\271ri\243\314\243\221[l\360\201"
+"k\267\t!\204\f\7\34\311k\213A\204\220%a{j\254\27\344\203Z[\26\361\202."
+"/\204w\232\211<%\371Z\33\306\250\23\347\205L\252\314\13\260\206\362c\370"
+"g\355u\331x\t\215c\2g\\\17]\274\274s\365|-\256\365\25\227\7\241\30\223"
+")\321\30\30\250\221\t\347\230gC\270\233\n\f\212W1\356\21\213\255_\215U"
+"\261\372I\37\3602\34US5\361\303x*\34\252:\245\307\360o\357#9tV\263\325"
+"p\33f1\330\255*`5Y\354\nU\240\223djV\303\331Hg\364^\31\21\336\311\367\223"
+"\246iD\25\230O<\23\312\372\3330\230I$\227$\b<0\231H~U\251\306!\211\3Y\n"
+"\324\313w\351\274\'\364T~\26Y\208\240\207\352*$\314\310\1\'9\275\231,\270"
+"\316\1\307\211;G\2163pw\347\34R\343\337\2441\313\275\345(\356\375\17B\246"
+"JMh\33\0\264s\327\241\213\363\t!\1^\251G\bME\234p\244]\35\22\217\327\1"
+"\0\0\231\21\316N\222k\261\30h\7\0\200\267\221\316\f\77\6\77\33E\300\1\0"
+"\08\316\363\236#!\333\204\271\n& \277&ux\37\207P\235\20w\42\b\0\20\310"
+"\245\77\20\6\t\331Jekc\32\250P\245\300O\232_\221l\207K\42\244\274;Lw\35"
+":#8\210\230\233\234#\361\353e;\363\226\246\225\266~a\273\221cb\23^\372"
+"=\342<\375599\35$\267N\211:6]\234\27\373\362\234v\350\245;\263\3527\2\324"
+"z\177e\224\374\347|zIQa\6\267\265v\366=\233U\370\77\0\262d\245l\2117 \344"
+"s\273\307}\332\377%\232i\246\231fJ\355/\253\4\\\247\311\255*\357\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214"
+"\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\314IDATx\332\355\230"
+"Mh\23A\30\206\337\331\244k\214M\23\377Z\255\20\225R\360\242\25AP/z(\245"
+"P\24\217\365\340A\20A\17R\20\221\\\364\342\245\7Q\241 \b\365\42jEO\326"
+"ZA\17\212z\21\212Z\212\350\245\324\200F\32\21IIM6;\363y\330\374l\272I\232"
+"\331\331C\261\373^v\367\233\231\207\357o\226a\0_\276|\371\362\365\77\211"
+"\1\372n\367\313\223i\353\31\'\367\32\2\0M-\2146\17\30\21\257\374\b\2\231"
+"a\200\305\302\233\272\272\252\20143\363k\261\370\36^\23\211ul\353\250\315"
+"\260kc\302\260\245k\266\307\351\371\241\241g\271\252\234N8]\273a\33\36"
+"\250\355\375\206\13\77l\223\3368\'\234\254\214\232\241z9h\275.\312\263"
+"\246\235\303G+\214\237\r29\230/\315\232+\346\324&Qy\3157`\214\341>S\356"
+"\217\261k\36\364\307\225Y\353\31\f\273g,&l\r\342\266O\37\177Ug\210\233"
+"\352\f<\314\2533~\77Ug`\274\314\b6\275\246\77\16\340v\345{Rh\245\6\251"
+"\322@\245\327\277-\35{GDd7L\21\21%\244biw@\245\363\21\210\327dDe\30\335"
+"\372R\313{i\77\168,s\31YF\237\303B\323\222\265m;\346\264]\356\6\346%j{"
+"\321\262\326\3447\31Kg\242\301`s\f\375\336zUFt\374\b\324\30\332\340L_\303"
+"\t\313\325%\266\257\367\304\216e\346\324e\264\277\0B\321\216\366&B\255"
+"\313\b\3656\275\33\25\317\16+\212Q7\37\311\355\0\242\3536\357\334\323\177"
+"P\212X{\277\364\274-[]\307\362\351\360\35\365|\3603\23\3529\345\247\322"
+"\352uI_\365\240\266\243\13\352\214\354\23\17z\354\245\7\214)\17\30_\270"
+":\2430\357\301\236Ky\300\310\270\376\237V4\374@\235\361|U\374\13}\306*"
+"d\350\36\60\242\36\60\326j\36\344\243\305\257\355\312a\224o,r\42\357\226"
+"\21p\274\3103\250\364\20\302\365\271\320ZI\f\371\234k\206\16\20@\fZH*\226"
+"\327D\331\2756\23c\0\302\257d*sVpa\30\247\1@+\236O9\21m\225\361c\27\373"
+"\313Z\370-\255\312XXH\3110\4\30\20\22[\252\n\23\230\224\352\262\370\367"
+"\202\20$>X\261\b\353\16\316\320\245\372#y<\310\30Xg\321\t\353\362\354\234"
+"!\331\357)\223\210\262a@\77\317\255\234~\226\3363\372\202 N\21\350\20$"
+"\214\202!r\255\362\33o\77\tA\374\321]*pn\30\364Qw\263{G\n\234\233&7M\223"
+"\323\237\21\331\325\305\373G\\*\32663\232\204/_+M\377\0N`\2237gL\200C\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0"
+"\0Dp\372\27\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\177IDATx\332\355\231"
+"1hSQ\24\206O\322tI\37\215\r\212J%C\253Hq\221vh,\5\7\7\221\202dR2\27Z\b"
+"\251Ci\241B\227\340P\245s\26\207\16\35;\264E\\\2\16\35R\372\300\264\264"
+"\210\203\42RD\315\20\210\320&\370\342k\363\34r\316}\217\372\210\365\274"
+"\273\30\316\77\235\373\223\373\345\336s\356\273\303\271\0\42\221H$\22\375"
+"\367\n\375\303o\215\344\315\353\27z\300\251|}oV4\374w,[\264\35\245\246"
+"\231\211\6\4\32\271c\347\214\312\351@\304\361C\307G\371\20\77\227\323\371"
+".\214\314\302\347\237\275w\323\221\326\350\305\2w\215\263M\\\326\326p\313"
+"\230\247\214\2162\211)\42\346\302\350\314\320\3267x\304\241:\316_$\'^%"
+"\244\305*{\244\204\3237U\332\347\334\n\215p\220Opr\275_Y\257]\344\3\316"
+"\201\254\340\344e\327\333v\221c\fd\226\212;\340z\353\212x\332\307@\356"
+"\341\344\3\2177\251\220\5\6q\220&\257x\314\356}4\33\276\325\t\267G\336"
+"\243\340\243\307\264\'v\1\0\240\366x\327\367\214\264G&)\370\356u\277%\37"
+"=L\34\355\274,s\216\320[\332\370\375\363\317\371\313\306oPp\244\13\331"
+"\23\243\250\246\13yEE\226.\244Z$4t!Y\27M{\244\241\37\331\245\37\t\235\213"
+"\364\375\306\343K\30$\224\265\344\236\365\247U\306\377$\234vJtn.\2557\30"
+"\\\274MV\321\342|\356>\2328w\2\345\250\13R\220\202\24\244 \5)HA\nR\220"
+"\202\24\244 I\'\372\221u\375\310\246~\244\266\6\231\312`\351\27\267kpu"
+"\352N\357\227Wk\212t\231\202w\334\362\247Z\217:%\325\225_\240\246\301\24"
+"\2238\322@\300~7:+\204\34d\42\13\252\2231\211\316\1\216\367\230\304\276"
+"S\205\\o9\3\364,\223e\42\307\334\206\325v\313Y\306a\305`~\220n\227\26~"
+"\0\0@\177\6\207\317j\334\352\270\253\234\3\0\bm\342\250\24\341\36\241\250"
+"E\304j\34\0`\221^z\206\370\267\322\6!g\0 \234\243g\231T\200\213n\224\n"
+"<\17\60\274E\304\331@\227\347s\304\330\253;\264\340\223\351`\367q(\177"
+"\266\375y8\36\370\222O\227\275\300\343\234\1\301\25\315\230\230Q\273\230"
+"\215\361\366\372\247u)y\353\232\375\351\203Y\203N\326o\300\316)\f\247\264"
+"\2\265\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x"
+"\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\356IDATx\332"
+"\355\231kl\24U\24\307\377\373h\335vi\3526\215\274\267\242\2256\b*XQ\24"
+"\215&&b\242\25)\30\25\243\3044\306GLL|$\222\306\17\220\372*~\250\302\27"
+"\203\332\20\61\304DL\23\312\202(\2174\5\232\242\2004\310\332\372HE\32Z"
+"\330mK\367=;\307\17;;s\247\363\2707\231\361\333\236O\273\367\374\347\267"
+"\367y\316\231\273\200\253\346q\205\322\364\322\2258:\263\256\260Z\'d\42"
+"\42\231&\312\335\240\311DD$\345e\371\7\27pW\363DDDr\232&\235\323ZHVp)9"
+"\343\34\227%\325\3444\274\16i\33\313\212\237\244$\3669\356\334\5\245gY"
+")O\307\1\277C\\\r@\236\204\177:\323w\271\367[\347S7\235\226\350C\367N\205"
+"$\371<\314\b\35\16\266\334\347\361\214\272w\344\267\3122\335\341\36\356"
+"o9\231g\277;\334w\225\244\377\356\20w\235\273\270\252\264\2538O\322U\34"
+"\\\35\354\2534\3\300\335\306\265+\352\26\316\256\362\3\211\330\310\205"
+"\323czg\3e\374q\361\211^\337\365\27\351\354|\307r\306\277\340\32\345iL"
+"\20\266jW\212L\354\344Z\365\234w\23\21\215\13\301\36\354#+;yOA\362\24\21"
+"\21]\21\200\335\24!\33\313o\17\2\b\215\22\21Q\214\13\363\275\225P\37\235"
+"\336\373\316\243\rsC\241\272{7\3558\257\266\16\65\1;\211\210(\307]\212"
+"9\207\325\307\216\267\4X\317\255\37O*\216\314\353\17\25\62Xn\202C{`\264"
+"\b\213>lp\206\3323\212\2638\0Nr\335T\324\323\247\25f\376\306\1\375DN\331"
+"\322\336+\312\244W,\24\201/t\270kv\264\16\65\7\77o-\372\200\305]\264\241"
+"\265\253\252\315v\77\312\362\332\255eo\253\242\203\266)\316\263[\303uZ"
+"\252\232\245\242\346\352\\NP\37Tq_Zi\32\246T\315\33\274\275\271D=\317V"
+"\271\77pF\245\r\363\353\310\266\242v\277\205\340#m>Z\5\22v\261\330\351"
+"5\367\337\251N\34\215W\bD\211\'\25\361Y\363\305\352\325:\367\276P\3269"
+"Q\20\377i\352\335\300l\245\333\204\42\342\23\5\261i4\366\374\252\321\242"
+"b\321\332\373\33\21\21%\3152Y\3632\255m\257\30N\336\1\0\2500\313^\207\230"
+"\261>\42\230LBI\42\42\272\336\350\251\2275Z6(\232\351\276!\42\242\260q"
+"\260\3172G\364\227\204(nO!}\32q\33\230\246\263\302y\370\340\24\0\3142\340"
+"\302K\231\2463\302\270L\304\274wkX\3219\361\32%b\336\273U\254\346\17q\334"
+"!\232\201+,At13\202\n\22\347\335\356\7Ff\226\25\301<\263\353\206\234Th"
+"^\0hd\213\264\177\34\343\352\331\226\270c\\\330]\334<wq\241\377\21\';\306"
+"\225\261-y\307\270*\335\13\257c\234{\346\5\200I\327p~\0\310\351^\2m\324"
+"\333^\264\247\255\366\3\200.\31\5\354*\235\20\247F\367\2\200.$\4\35\317"
+"\235\356\324W9\236;\35\316n<#\77\3\250\16\326\226\31<\361x*\r\244\0\0w"
+"\263\265nD\240\17K\267$\231\'\306\337]\241\253\221*%\306)\226y\36\327\36"
+"H\325\317t\16\62\270\230\330,io\246\375\206Sq\212\235\273\220\20nP\375"
+"\24\63\340\216\350\312^!\\\3144f\24p\21\66*-\23\302%lB\300\330\0\323\324"
+"$\276\303\254\42\312wL\323\375B\270\240\35\256\213\271\221^\34\26\301\315"
+"\262\303\215\263\25\347c\42\270\331\266\341s;\323\326\42\202\233o\357\356"
+"an\16n\24\270b\321\344\373\314\202{\233V\350x_\343\343\226sr\305\351.\255"
+"\261\265\232\213\273\217[\207\377\253\365\177\13\27\327g>X\363 \221\250"
+"\343\320n\221\2718l\323$=\234\373\344\235\304\307\371\16h\2327miM\222\0"
+"\16\325\332\213\231\264\336\206V\35%\21\34\26\f\251\242\314F\353\343z\214"
+"\304p\230\247\335Z\311\355\26\67\217s\372\13\202\3032\27\207\232\243\314"
+"=\235i\344kV\256\250\276\366\35\341\343P\366\231\306\313}\276\310P\371"
+"\357W|\237x\224\353@\342\374\207\262\366\262\6\224\272\327U2K\360\334\217"
+"\312\0\323\255\0\312/\31pf\373\253\266\343\5\2469\333\77\20\275\224F`~"
+"\343\312\225\305\331\34~\346\24\0lm\3\200\36n@\273\353\'\273\273\312\\"
+"\247\22\212\3039\201\301\26\216\370\367\222\25\255G\213&\335\2428`\341"
+"\346s&\254\344.63\255\21\307\1X\364\362\356a\346\254\323\357_=\255\257"
+"\257\274\303\2K\241\17\2737\327\335P\3`r\354b\324X\364\256^\2\214\34@\311"
+"JV\262\222\225\254d%3\263\377\0w5\253o\220\270\363L\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0x\b\0\0\0\0J\331\204x\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\0\320IDATx\332c`\30\5\243`\24\fF\300\310"
+"\300\300\300\251E@\321\257\313P\206\356\177\2\340!\3\3\3\3\23\321\266\323"
+"B%\13\3\3\303\353N\6\6\6\1Na%5fT\311oW\237\274\373\376\225\201\341\3\206"
+"6\276\354\257H\376x\344\317\212\307\212B$\225\366x\35c\217\244R\20\257"
+"\217>!\261\337\343U\371\207\276\3419\252rT\345\250\312\241\256\222\221"
+"\201\201\341\77Q\312ha;\32@\256FF\343hT\345\250\312Q\225\20\300\216\304"
+"f\306\253\222\17\211\215\277e\345\205\304v\301\355\22\16\353\331\377\220"
+"\312\245\357\315\6\254h\345\247\342,\6\6\6~N!IFt\275\177^\274\375\376\205"
+"\201\341U\364\20j\'\217\202Q0\nF\1&\0\0\354[\226}\23\345\211L\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0_\0\0\0x\b\0\0\0\0\261\216"
+"q\247\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3zIDATx\332\355\331MHTQ\24"
+"\0\3403\77\246S\241\251\25YQ\31!\265\210\n\213\240 M\3152EBI\214\2026\375"
+"j\220Q\321\302\237\\EF\213$\27\221\5\21\5\21\270\251\244\300E\320\302\220"
+"6\325\220(Ah\n\322\330H\251\243\363f\346\336\333\342\315L\347\275\361\335"
+"\31}g\202\340\235\345;\347~\347\375\315\343\336;\0VXa\205\25VXa\305\277"
+"\16\33\25\264\256\301\1\0\263\37\272\222q\226\35\335n.8c,$\304\314\310"
+"v\335\371\347\307\31\35p\313\262)\5/\322l\300\355\321\3\214\327=\320T\210"
+"81,\343\263\6\270\266\232\213I\336B\345\333;8\323\227s\356\373A\344\237"
+"\376\255+\r\b&\204\b(\321\n\247\211\247\232\323\273!\244\177\30\300\354"
+"\0N\256\361\333\0`\231+{c\236C[<\333\77\342\365O\3\3742xi\352\24tz\234"
+"1\21\310\0f\7\340v\373\234\3\322\353}\350R\177\326,\222\236}\353\247\351"
+"H){}.Wm)8\23\202\tn0\346\n\362+\3457\247\325\33)\234\272\261>zt\234\373"
+"\271`\214\31\f*D~\266\224\77\373.\\\26l_\216\177\305\202M\5\2\242\305`"
+"\324\16\344;d\374\226H\225[\367\343\364(\234\213^\243a[\221/\343\217F\212"
+":S\365w`\320\343\351\7\223~\346\250Z\22\252\237\347\33\235\230o\353\n\337"
+"\372ZH\212\337\250\26(\325\220\24\377\204\372AS\252 )~uh\301|\42~\225\262"
+"p>\1\377\210\31>\276o\216\217\353W\232\343\343\371f\3718~\205Y^\356\233"
+"\347\245\376a\363\274\314/#\340%>\to\354\37\362S\360\206>\21o\344\37\234"
+"U\17\335\207\244\370\21^(\333\222\341\227\316D\217\271S\351\375R<\351\272"
+"M\356\37\300\274`\205\304~\211O;A\36J\'\365\213}\372\311\372#J\277\310"
+"\27\273\32 \374\376\354Wy~\17/\201\306WQ\371\5a\376<t\340\13xe\243\361"
+"#\374\5\200%_q\2033$\376\2760\177\21\0`O\be\2467Q\370\341\325I\203\232"
+"\271\211/\340\275\203\300W\343R8\223\372\31\37m\242\362/\377]z(x\31\232"
+"O\343_E\271f\234\370\342\242\360\257\341\234\263\17\247\356\20\370\215"
+"\332\344\346\31\274\tPl\332o\326g\33p\366{\246I\377z\354f\306[\334\340"
+"\t\375\3743w\22\67\250\241\237\77\237\302\276w5\375\374\277\33\67xc#\367"
+"s\274\270A=\271\17\265\330\367\345\321\257\357\236\343\6}Nr\77{LH_b\323"
+"\353\337\n\354\7w\321\257\337\37\342\6\3\213\311\375\364!\334\340.\375"
+"\376F\21\236N\360Rr\37\332\361\5\214f\221\373\256A\334\340\31\271\17\273"
+"\361tB\34#\367\341\26\366\'\326\222\373\256o\270AO\242\37\272\235h\220"
+"|\367\366\244\341<@\26%h\214|\32\273T\343\7\213\f7\360\265{\0x\243J\352"
+"k\273;_\226\307\77\371\264\275\235\370\207\23l\313O1\274\375e\37\365\177"
+"*<\336;\347\267\324\6\0=\0\220\341\312\312\211yJl\314\353\237\2\360\34"
+"\217\36y\272\22\0\62W\254\231k\2\252\fM\370\0\232\372b\22\363\370\377b"
+"8^\255(\227\335\177\372\370\337}+\254\260\302\n+\254\260\302\n+h\343\17"
+"\326\261\365 97\341=\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3ZIDATx\332\355\227[HTA\30\307\277\263\353\272\233\2327\272\220]"
+"\25\303z\360\3050\245\4\37\n%\244\350)o\205\204\221\254iDeW_\264H,\210"
+"\260\24,\f\223n\22X\230a\6Aa\321fi\27((A\327\310\226X1\363V\266\353N\17"
+"\347\314\305\263\347\234=c\17\21\235\377\3237\337\314\357\314\314wf\346"
+"\233\1\60d\310\220!C\377\222\4\265\212\260\324\204\370\310P@\356\317\357"
+"\34n\256OF\224<\361 \42\237\2438D7\32V1\206dr\345\352d\323\234HA\265\202"
+"\2369\27\325\232%\313\321\321\367#<=7H,U\37\t\334\357~\237\324\325\243"
+"$\321Q\206g\236\22\220\335\212\331\n\223\344)\305\3\277\35\210]=!\265,"
+"\307\236\350a\f\377\f\20\362\240\227R\303;$\26\7i\314\326h\303{\245f\23"
+"\213\211\253\215\302\233\264\177\260[jv\206\372\236Rx\235&\\\202\3\33G"
+"}-\204\235\216\322\204{\244fo\30_!\201;4\3318\334\3542\343\264\274\226"
+"\234S\376\361216\251\375\3108=Y\335\0\0\60\236\335\355\377s\30\233D\363"
+"\13\333b0u\333\226e\243\317.\272\264\177\324\13<\354L\235[\210\35\366J"
+"l\214\362\37*\26\22\327\5\374\260\215\300\300\77\354pl\270,\374p\30\356"
+"\321\203\370\341\30\262\223\274\374p\2w\224\230E\22/\257\213\256R\305*"
+"\7\345+\314o\207\356V\255\2720(_$\334\372#Xk\330\237\4\0\210\210\313<6"
+"\227\365\272\36>\177\373\341\253\274m\25^`\3*\7\fBh\344\374ZA_\317Xd\315"
+"\214T\327\216\351\35\66\16K\201d4\226\r\351\2373>\271\223\1\0\300]xW\243"
+"\221\312\234s\274\b!\204\272\226h\366\240\f\347\210Y\376\326\34\340\207"
+"w\212\375\326\4Z\17J\260]L\232\225\1\3\243\0\37\20\331\3430\13\270\\,\227"
+"\301,\340Sb\342\332\7\374\260pNd\367\314bc\230\352\212\0\0`\362\1\377\226"
+"47\212,\204\336\f\346\205\203\257\357\300fR\25\347\234\255\255\314\365"
+"\315\227\305\325sH\353f\366\236\327\270\210\3\266\266g\314(\317\273jV\t"
+"\f57\246\341Ss9\0@\363\330R\\\23\373\253S\367\234\21B\b5\230W|\'\5\357"
+"z.\270F\0\330N\213\316(\16\370$\0\0\\\243\216\26\375\360a\321\23\331O]"
+"v\235\260\257\230\334\333\275\4\236L\344>\f*i\327\357Cx\341 \7\245/\361"
+"\346*o\36=\345we\363&\272\276Rj\327\307\362f\311+\315\364\265u\303\302"
+"\233b\3554\4)\'x\341o\5\323\304>\224\301\233\334\37\237\246\273\263)\206"
+"/W\1X\272\350\377rX9\257\25\236\374q:\355\6A\21&f\250\234\356e\216\356"
+"\374:\305Ws=\36\332\224\377p:\231\35\327dUx\222\276\42\325\33\374\23<\273"
+"\327{\344\257\rS\ns`\16\25F\312n\323\3553N\31\337\275\234\371\322\238="
+"\317\26\21\263j\306u\t\246\373\235\303#\303G\1\240$\21l\13\223\243\375"
+"\306\342\354\275\177\26\0\354HE\3\262\347\240Lm\177\361\372h\310\220!C"
+"\206\376#\375\6f16\360\304\254#\\\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0-\0\0\0x\b\0\0\0\0C2$\2\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0\313IDATx\332c`\30\5\243`\24\fm\300\210\306\347\343\347\347"
+"\347\343\347\27\20\340\347_\270\13C5\13\224\26\232\300\317\317\317/ \200"
+"\244\373\b\3N\325<\261\304\270\204\211$w\223\246\32\346\222\37{\30\30\30"
+"\30\30%4\230I\321-{\371\77\fd\22v\311\343\32\222\334}\232$\325\257IR\375"
+"{\240\302{T\365\250\352Q\325#K5#\303\177\22\24\323\322%\230\200\224\362"
+"{4.GU\217\252\36U=\fU\263\303Y\254D\250\346\203\263\370\211Pm\rgY\21t\230"
+"P\326[x\211\374\177\261\1#\256>\211t\35\203\200\220\202\22\252]\357o=\377"
+"\370\363\362\24LSu\377\343\2[\350\23\336\243`\24\214\202Q00\0\0X\345M\r"
+"Hl\2568\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0"
+"x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\345I"
+"DATx\332\355\230Kh\23A\30\307\77[\20\361\262\24E\20\t\b5\22\224\252\b^"
+"\242(\265 %\7C\240h\241\370\270\231c\25#*\36|@{(x*\5E\24)=\210T\260B\25"
+"\25\221\2124\'\211\245\342\343 \212m\241\246\24%\324T\343\356\337C\335"
+"\235\231}dg\246\340A\346\177Z\366\373\366\267\337kv2!2222222\372\247j\271"
+">\5\374\34\353^\255\2178\tW\277\17\7\214V*e\305#\326\200W\316\207\30Y\234"
+"\355\210gl\27\30\370\310\333\222E\300)H\344\362^\204`\243gI\224\0\314\357"
+"\226`l\365C6\273\211<\3P\311\311Uu\317-\21\262b\t\361\320\1\252\35\362"
+"\315\311\361\214\32\21\2215\344\0\325\274R\213\313\34\344\n\221u\315\6"
+"j\'\24\347d\212\203,%b\3674\252\16\33\307x2\344\0\265\202\306\304r\20\33"
+"\260{t\246~\37_X\215D\210\210\350\5C8}\272\353\2171\246-]\306]\2565\264"
+"\374@\316i3\236\313\7\322\20e\230`\227\31\3150\n6\213\343\207\36\242c\221"
+"\237\220\244\16\42_\25>\1\23:\211\374\2P\354e\220\6\255D\234R\222k\357"
+"\240N\42\316\235\204\260\362\24\21{\27\0\24-\42z\304\30G\324\20\63\0JI"
+"\42\242{\232\201\344\27\0\274N\20\21\3217\216\261A1\221w\311\300\227\b"
+"\243\322\2104K\204\350\2520#\322\2102KD\f\3\270 \311x\n\340\223;\330#\276"
+"MO\222Q\1\312\351\277\327\315>\4\332\345\30\243\316\33\27A\337\375\214"
+"99Fb\247[\13\352B@\353\226\261\303\270z\240\210\30\baDV5|\373Yy\337\275"
+"\352\375\322\342\335\265\307T\302\230t_}\236\350\203\336\242I\363OmQn\257"
+"X\320\f\21\321\254j{\211\210N\211\301\267\351\264W\f\203\357\263t{\207"
+"\3755<\243\\\325\265\336\3\331\340\300I\256\336\271\340K\207\25\3i\367"
+"\334\331\17\322&\305\366\206\276rF\251\275\27=\357N\356\356~\245\366Fd"
+"\256\322\336\307\236o\227p_\241\275\353#]\345\333[\361<\217F\16^L \7\242"
+"\35\271\366f$\13z<`\233\366l\25\271seH\274\255\314\330,\25\306\261\272"
+"\326W\321\210\33\365\313\326\315\314M\22at\306\330\307\243\20\343q\335"
+"\353g\16\233\302=\270\375\365`\374\276\25\356\3605~\210\6\231\313@\230"
+"}\33\263\267\311l\240gu\252AD\324\307An\326{\305.\311\235\374e\264\365"
+"\255\344\272\6\372#\31\365\317\220;\374\7\371\260cS6\346\353\320\310N\362"
+"\363~\333\252\3171=\361\224u\31\247C\26\346\245\313\255r;P\3526\200\311"
+"C\346\778###\243\377T\177\0\276\7\321iH[\360\274\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\201\0\0\0x\b\0\0\0\0\360V\316]\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\4+IDATx\332\355\232_HSQ\34\307\177-\265"
+"\232K\314\3064\227YHH\310\210\32\42!\261 **\354Ab\364\7\42B\302\247\36"
+"\204\242\42\42\351A\242\304\207=\24\375E\302\250\247\b\243\242\'\37\372"
+"\17F\177WYdh\316\326j\350\272\336mW\363\366\260\273\3329\367\236\77\33"
+"J\21\277\357\203\343\354~\3569\337\235\363\373\335s\266\237\0(\24\n\205"
+"B\241P(\24\ne\255\31\0\0\340\266\211\270A\343\3255KD&\277\246^\35\363@"
+"\26\205F]B\315\0\0pR\6M\365*C6\2\200\355\257\257\302\277\341 )\3&2\376"
+"N\231\222\0\60\23\0\42Ey\232\215\27a#\341\341\256+1\0\0\265Z\323f\346\263"
+"\311\311H(\330}\33\0\0Vj1\335\316\3514\3665\324\327\226L\347BY\241\303"
+"Q\272h\251\267\316\304=\356}7\360}D\321\206\214vI\241\335\356,]\\\263\246"
+"\314d\363\336\263\376\341hL\31\213\246\332\366\342|G\221sA\365\n\237i\245"
+"\337\334\1777\20\36Q\22\311o\246\361Z\351`=\311\372\4\236;\24\31\361\261"
+"P\377O\nmwp\246f3\311\266p\320\17\4\31,g\223\33\276\23\350\5~l\20\354\270"
+"\207Cv\310w{7\223\214o\314\42\33{\373y\27\211V\277\314\3\25\0\0\206z\263"
+"p\20U9\27G\211\314Tx\375\20\27\23#|\7\304\230\311I^\267\32\221\206<\7\23"
+"\231\rM\343;\220\357V\233\220F\331vp_@\7\350\0\35\240\3t\200\16\320\1:"
+"@\7\350\0\35L\213\203\2\333\337v0\273`j\6\311\335A\241\274\203\202\351"
+"qP\226\'\215\332\247\307\301\2y\264hz\34,\226G\347\347\354\240\220w\265"
+"F\332\300\322\2059;(\346-\3402\242\305\13\noe\316\16J\354\322\1\316#\353"
+"\362\262q@\374\302Q\301\371\201~\5\331\234\313\31cCV\17\2138\361\320q\261"
+"ol\244\246Kz\275D\16\310\37\272J\331!\262\223l;\331C\254\316\356\201\371"
+"M2\343\352\227\220\355\n\366\20\207\262s0D\346\21\363\276MT\273\212\371"
+"I\3537f\347\340\23\321\362\260R\305\327H\247\315z\311\200\21\312O\376\260"
+"\274\215\201\365\230JFoY\35\216S\340\23\201\203\362\217\4~\307\232ZkQ\265"
+"bL\327S\232{*\232\204n\253\272\31%\367\200\205\203\3\226\350Q\23\27\264"
+"\13\34P\267tX1\235\251k}$\352\21.\252\256\353\272\376\271J\340\300;J\336"
+"\260\325\214\\K]9\356!\311\33\346\207\357\276\237\26\223\325\4\331MBp\25"
+"\275\4\306\f\334\262A\27\211^\242\273jJ\275\337\366\211\300z\204\351@{"
+"\366\222\363:\372\'B*\302:\'n\335Fi\245\217*\307\350\273E\16\232i\13\335"
+"\376\337g\202\303\301t\255\246\1\200\256\364\350z$\220\16\6\273\377\246"
+"\221\206/J\240\235\302\302=\227O\7\2\201@\207\37\322\325>*\320v\321\33"
+"\346\315\27\203Qp\270\226\325W\247\337\332\177\n\0\240\362:\265E\302\373"
+"\207\257\77ky\216\252Z\237\21\25\312\216nhgU\314\236o\177c\235l\17\204"
+"%\353#\6Z+$\267\0\230\346\340\217\3262\254\271\177\b\272mc/\31\245\275"
+"\220\223\3\250}\305\355\2665\3=\306%S\217\251\34\34@\3353\341\277\42\244"
+"\325\302!\215\250g:\by9\31q\202u\327#\3728T\23b\220\301\364\261\305\322"
+"\301x8\330\323\302\310\5cW\335ku\276{y\361\254\251\bY\331\274\307\3428"
+"\327\177\376\214Q\3\207\206\253J\\Q\2251UQ\224\270\242\252j\\U\23j\\QD"
+"\25\272\243\246\r(r\316\372,\264\372\26\275\7\'\257gn\23[|\313+\213s\372"
+"^\344<\230\261\271\6\333xG\316u\235\221\337\344p\247O~\214\31\42\300U\352"
+"t\344\303\304X4\34\22}Cv\273J\346\300x\42\366eX\3\24\n\205B\241P(\24\n"
+"\205\372\37\364\13\263\211V| \274$\245\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3\217IDATx\332\355\330[H\24Q\30\7\360\377\350\266\246"
+"\230i\224\20\225\251E>D\222FE\20\6\322\213\321\215\b\327\324\312 35\f%"
+"*\211\362\301\42\225D\251@\215(T\b/A\17\342Cb\26)\5*E\27P\2030/\201\367"
+"\324\\W\327fN\17\353\345\34\234\35W\347{\234\377\313\372\315\236\363s\366"
+"\233\331\263\207\1\214\30\61b\304\210\21#\213#\301\274K\345\360`\267\363"
+")\252\23\346\322=\b \200\251d`\223\363Y\252\23\346\222\f\270\251O\333P"
+"\341\276\342\17\356\204\304\301\273\344$nD\255\2244a<\27\220\374\326\7"
+"\3574\211\327\255,\274G}\312\370#\337\315\333\2T\336\350k\353\31\376\314"
+"\37\360\211\377.v\272\321\244q*\376\t\37\305\321\35i\201jwG\2118*W\373"
+"\3\236\231X\30\252d9\371\377R\225@*G\264\315C\323\363C\257:\35\224,\236"
+"\346P\200\266\231=7\360\r\\%Y\323*M\322\327:;.\302u\222\345i\237\346\13"
+"\307\250.\311\245\373\322\221kG5\337\256s\274\274f\313 \245R\315v\2668"
+"^Z\227\374\3664q\177\257\2530k\220\77d\0@\333\222d\3540W\34\270\247A\316"
+"\374\6\0ta\251\313\203c\n\177w\36\327\230\320\314\30c\314c\351e\243\246"
+"\200o\347\363\255\316\311\21\0\260N\273\260\22e\266\360\355\254t\336\316"
+"q\0\30seq\263[\370a\373\357;%\355\0\60\343\322z\331\231\310W\351\'4\317"
+"r\334\265%\270\272Xhg \305\252\236\361\205+\374*\315\4\244-\306\312U\373"
+"\362\bH\264\'\363U\332I\2\22\345eB;\203\bH\244\264\363k\243\313\355\324"
+"\42\255\26\33W\355}@@\342k\6_]9E@\242\270\212o\347\263 \2\22\227:\271b"
+"m\265\231\200\34\213\266s\325\236|\2\22\2557\205v\236& QX\303WO\203\tH"
+"v\241[h\247\207~\22\303q2W\205\347\23\220h\272\315W\251\321\4$r\353\371"
+"\352\311v\2R\211\357\343\333Y\345\241\237D\377Y\276\235a\5\4$\352s\204"
+"_{\13\1\211\254F\241\235;\bHY\330\324\370T\254\326O\242\367<\277\341\13"
+"+$ Q+\\\224\244\30\2\22\231\315B;C\bH{\f\277\251YS\341\251\237D\347E\276"
+"\332]H@\342e\221\260\340\307\22\220\342\246\6%!\4\344\224e\202\253\274"
+"\253\274\364\223\350H\341\253\320B\2\22\345\245|\225\30O@\42\225\337\324"
+"\240(\204\200\264F\363\233\32\357H\2\22\337\322)~(\304\224T\222\223H\372"
+"IN\216\305\330\251I\264^\'\'\361\260\206\234d\t\335\324$F\342\376Q\223"
+"h\272CN\42\267\216\234T\316\365Q\223\350\27\366\210$$\32r\310Id\275\'\'"
+"\345\270!j\22\275\t\214\232Dm>9\211[\315\352\344$cL\3562\257\204\264[F"
+"\27\37\64!\333S\221 m\351\365\7\340\271\\\363WT\350\354\363\'\241\311\214"
+"1\371/\33\0\200\327\2141&C_\334\260\21\200\2337\244\371\316N\352&eL\0\300"
+"\333\271//k\320M\276c^\n\200O\0.G\0n\370\240\223\224`\236R\334\1\260\77"
+"\66O\77\t`\222\207\35z\363X\261\315\314\77\255\234Ql \310\341\261\205\7"
+"\240r\245n\316\361\370\332\374*\322:\315\224!\323h\4\214\30\61b\304\210"
+"Z\376\3<\250\330f\25\355n\322\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\2IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`"
+"\24\220\17\30\t+a\345a\370\362\233,\355\314.\276\206z<\f\f\f\217.\357_"
+"\177\17\277vf\1~A\1\1~\1\1\376|\210\0On\201\30B\372\377\256\226#\330\264"
+"k\344\n\360\13\360\13\b\360\240\231\31\60C\34M\361\322\234\17\230\16\360"
+"\376\217\16\30\30\30\30\330f\374\307\4w\325\211\324\316\275\343\77\66\360"
+"R\225(\355\\G\377c\7\267\5P\364\26200|<\313\300\300\300\251\300\205\34"
+"\342\313\255\30\30\30\30\336-\333q\3713\253\226{\274$\\FeR\34\3268b\313"
+"C\262\275\355\377\377\377\377\77\225\300Ld+\375\216\220\264\301\21\311"
+"\373\341*\\\376\376\377\377\377\214\2\222\234\361+\270\344\36\34\332[\341"
+"*\236\377\377\377\177\33\'\212\244\365_\270\254.v\355\5\310At\220\rMv\36"
+"\\\252\33\273\366L\344\bBO1\f\232p\271\313\204\265GaJ_\200\311\375\345"
+"F\b2a5\351\314rL\261\275p-\312\204\264O\373\217)v\16\316\22\'\240\375\337"
+"&,\202w\341,\1\2\332\257\276\305\42\370\34Q~\20\320~\16\233 \42\257\362"
+"\23\320~\35\233\340Gl\202X\265\337#\272\250\304\252\375\te\332\337P\246"
+"\375=e\332\277P\246\375\7e\332\31F\265\217j\37\325>\330\265#\212ovr\264"
+"#\212o>r\264[!\332\2\244\267m\r\26#\252\347\267Y\42X\224\300\2453QZ\225"
+"\2729l\374Rj\202\250J\357\77x\373\341\177:\252\30\214\2215\35\177\273\16"
+"\271u\211\337\366\201\215w\26\6\206\255\214\243i~T\373\250v\352kg\'\272"
+"I\214\25\360\21\335$\306\n\254\261\224\251D\3\221\254\267\210Bl\261\1#"
+"\361\243\7\63\31\5\204\25\24Q\25\276\277\365\354\343\257)\227\211\261\30"
+"gI\352=\320\361>\222\1\0\2077\245\fv\336E\311\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\4LIDATx\332\355\230YHTa\24\307\277\231\306I"
+"\35kL\'KM\312\312\260p\2136-*\221h\31_\242\236Z\210 J+\362!\203\250\360"
+"\241\240\240\5\242\362!\254\364!\225\42\350E$i!H\\\332\314434\243\261E"
+"\253!m\234qo\246\207\232\363\235o\346.g\246\350\351\236\227\271\363\235"
+"\377\375\335\357\336\373\235s\317\371\30\323L3\3154\323L\263\377j:5\301"
+"\364\344Y\263b\215&\306\234v[W\353\247\277\271Vl\376\r\233G\260\217\225"
+";,\301\261Lyu\77=\22\66Z\275iB\340\23;\327\347\221\265\367\373C\3\202E"
+"\24\rx\24\315\266EG\177\259\2453\341\330\371\340\361\233\16\247\203\231"
+"&\317OY\271\332\0\343\17\362\272hS\233x\321\355\235\204\373\216\325\210"
+"]S\366\274\201\t:v\222h1\365pFm\272\237W\277\245\7\334%FuZ\n,\215\321}"
+"\222O\42\262\2x\17#\325h\13\355^\255}\225\234\3460,\240&\225E\230\n\264"
+"\376\245\362\252|x\270\315f%\332\214\17^\335x\216\222\356\b\334o\275\302"
+"\363\13{\f\262\42\345H\257\2\341uy\325e\20\325\251\304\221\245\27\244\5"
+"r\232M \31\317P{e\333A;\42\243\215\376\2\2222\365\304\366\f\304-!\222\212"
+"2\20\214\315V_\237\271<\200\217J\371\27\363tt\223\222w\333@\356\212\227"
+"\360\77\344\227\313\246\4\343\1\256/\365\367f\243\354\243\243\340,\243"
+"\374\341$\371yk8\356<-\363\334\343g\224\370\372\26\270\271s\35\rW\310\317"
+"\30\364\215\335\13\3347\26N\303-B\331\371\240\3502\332\271\3539\361\13"
+"`\30\344\347\264x\323\341\357\2375\321\\\366\202\210\33oE\231(U\300mF\262"
+"\327\324\17\24\26n\24p\353\221\247\223\212\303B+\306\245\304!\217\215\212"
+"\353\30615\t\341V`\325g*\16\13\rY\b\227\211\34cv*\256\27\377Y\202pih\274"
+"\237\\+\364\341\77\351\34\247\237/\'R4\341\302\311\34\27\27\206\306\207"
+"\3108A9\207\343f\342\361\1ze\364\3\35\207G\1.\6k<A\326\2261\200\213\302"
+"\303\16:A\220F2\306\230\2011\306\302\304\217@\220\325*\314.\342_\24\355"
+"\241(f\377\225\351\3|\231\362\346\2\234\260\200\356\352\310&D\367 \340"
+"\276\343\341\360\0\237\276\20Mz\306\30\353\301\303\1\64\r\202\364\13\340"
+"\204\f\27\300k\306R\207\3p\275\3rw@\246\375I\315\277\27\312+4n&\343\204"
+"B\273\35\341\232p\357\240\17(J\275\326\214p\215x%\222[\302\251\370\317"
+"S\204{$\324\333T\34\26\16\77A\270\356v\344I\240\342\22\321q\3030\376\316"
+"V#\317<*n.:\256\26<KQ\371RF\305\361\372\323\343\26\313_]\'w5SCl\234\237"
+"\323 \226<\236k\250\311\233D\303-C1\346[\316NG\325U.\rw\222\237\321\27"
+"!\316\216\365\226s\335\6\32\316\312\17\257:}\235Icp\255\317\244\244\222"
+"\204j\331X\177w)w[)\270S\\\177V\302\35\3177\'j(;\6_A\376U\262\351>\306"
+"WQ\272:.\237On\227\244 \344%\b\252Tia\335 \276/\323\325d\214\200d\255\32"
+"\256\b\244\337ec\274\0\64]*K9\31\226\251{\243\274\252\222\322\2233\306"
+"B\233AxBA\26\336\b\262\275J\315g9\310\312\25\333AK\13\334\3046yZ1\320n"
+"\33T\362\177+\354\7\24\312\335)\337\346\271\241\272m\24\305\333\344\n\311"
+"\257F\352S\20\\\42DcH\t\310\277\345M\364\233\375\31\350\212\207v\323R\305"
+"\216~\0\366\34\307\1b\310)\31\2W[:u;0\341\n\352\220\77\66\264w8]\314lN"
+"NY\316\77\351\243\247O\r\323\253\217\365m\212{\225\356[s\3+\376\f[\33e"
+"a#\25iA\224\223\231\305\237\244`M\207\246\5\271\253\255\317\312\316\312"
+"D}\270\373]cmM\267\342f\215\352$\243\23\23\247\230\214\214\331\277\331"
+"\336\272\230f\232i\246\231f\232iF\267_bU\25\272\353\36\2024\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\36\0\0\0x\b\0\0\0\0\300\366"
+"\359\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\307IDATx\332\355\326\315."
+"CA\24\7\360\277[$\242\t\21_\351\302B\42aa\2117 \22\26\22+\13vv}\n\257`"
+"\347)l\274\204\257\264*\224 >*\332\204j\365[\333c\321{g\346\366\234\271"
+"\13\66B\317\346N\3477\367\364\364\316\314\235\2\235\350\304\257\210.\363"
+"\303\350\332\224\223\334\177\261\f\215\226\211\210\312QY\267\311\215-I"
+"\207\336=\316\364\253NG\2656\7\274\326\310\272\300+:\321\262\220\374\225"
+"T\234s\35\326JU\236|\320\30\332\33f\334g\246\352\343\245\231\21b\\3\271"
+"\3148kh=\307\36295]y\212W\336\324}x\20\236\332\265\346\233`N\n\234\320"
+"|\36\314\t\341Q\f4\275\302\13\216pw\356\316k\305\233\2\343\324k\34A\342"
+"\23\66\316\307\307l\234/F\335\312J\335\362JN\265\370\20br\304[\227\230"
+"\205\317|\27\306\27\255\313\245\205\2578\2331\326Z\305\216m7\227\210\210"
+"\222\260$\307\243\177\251\264\3633\0<Y9\3\0i+\247\325\30\221\263\0\360"
+"f\345\367\366\375\340\347\17\0\310[\271\30\314y\337\366c\\\2\200\202\225"
+"\77\1\240j\345\2\0T\254\334P)D\256\250\2D\256\362\227B{G\3\201\311\13\370"
+"I\362\357s%\230\253\336\254\251\360\357\306[w9\376\263\23\30N\4)\262\r"
+"\235\330\313\22\275\356\216\313\272\224sO\3309Ig\212\352\4\216\b|\240\217"
+"\232=\341\225\331\320\374\321\313&t\326\230\332\360$\343\36\361\220T1i"
+"\34\320\3650\377\362\270\346\3\241\362U}\363\274\364\303w\\mn\313\217m"
+"\343\236\210(\261h\233\222\320\302t=\26\353\374S\354\304\237\213/\254\20"
+"\16{\274)\236\242\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0\212\0\0\0x\b\0\0\0\0\b\2665\252\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\6\365IDATx\332\355ZklTE\24>\273-}\360\352\266\224b)\224\227 D\t\42\20"
+"\21\20\244\240\261PRy*\370\42`$1\20HP\341\7A%(B\320\310\243\n\1$\370JQ"
+"D+\224\207A\242\345aP\fBh\212\26\\\n\224\nRh\355R\273\335n\77\177\354\266"
+"\367\334\2753w\273{\357\356\376\271\347\327=\367|s\366\333\231\2713\347"
+"\234\31\33ET\342\210\232!\267y)z2\1\270\235)\264\304\37\2vQ4e#\340\35)"
+"x\237\342\4*\342\243J\305^\6\340%\315\353\373\32\0dRt%\325\13\240\300\246"
+"~9\25\0\362)\3322\36\0J\22\330\33\333j\0\330I\321\227\367\0\2402M\231\260"
+"\305\0\340\214\213\1\25{)\0\64\fn\231\260\345\0\200\f\212\2058\274\0\200"
+"\231DD4\240\36\0\60\205b#\217\2\0\260\306F\224\357{\334N\261\222\365>\2"
+"\305\311o\371\36b2Q\374\323\345,\270x\273R\354$\305\303\251\344R,e4c\262"
+"\225b+o\2672)\217\2131\25\373\231\226\211\322\205b-\235\32|T\36\227\1l"
+"\321\343\222\321\235\210\310SJ\226XbPlD\t\203\203\242\\\36\227\253\276"
+"\355a~\2501+\32\375T\262+\332\204w\337\372\373\372\245\362\26235A\221k"
+"\226\207H\345\330X\42\242\266\377\201\304\254\254aD\204\362\222#\207\365"
+"\351\f\b{\214\262\21\252\270\367M\325\373\13gC\365W\22>\25\0\227\27%H\251"
+"4\204\352lc\313\264u,\'\42Grz\277\376v\365\3448\341\254\366\'\231\311\235"
+"\272f\365MQ\377\340\345%E\222/\2419\340E\363\261\323\227n\3265\252\336"
+"me\243\350v4\4\372H[\326\310\250\376\26\2301eO\337\344T\375\231\335\16"
+"q\n\252\2\25\215\351(\300t\345\220\211\42/\37\60\300\4\21\340\221O8\333"
+"\277\206\2110\355yh\222\42\356\270S\fsH\by\236\5}I\342\356\357\363%\363"
+"\342\232*@\244\267\232\33\36\224\314\246\351<\272\354,\204LQ\20\267\244"
+"\2632\377\226\202jzNk\357\335b\3747]\342\241\203\227Q\231-\306LV\20:\353"
+"^\337\77\30\2279\32\363\220\26[/\231\203}|J\332\214P\241\f\306\305=6\320"
+":\321o\231\37$-\362I72D\205\372\334T\200U\367\4\30\347\370s\35YT\226\340"
+"bL\26\223A*4\251YA\36\t\370\315e\276\327\303em\2672&N\273a*\264\203\371"
+"[\2406\25\0\0*e\235r\77\37\236\276d\234JF\255\2\255Q\'{\7\0\0\63d\21D\25"
+"c\262\226L\240B\253\231\307\217T\26\337\222\334A\322n\5kw;\336\24*\351"
+"n\5\353\351\243\n\204\0\340\204\244Y\17><C\311\24*\364\205\244[\354\320"
+")\264\331JY+\335Zi(T\30\26w\331\306\230\0\0H\23\67\232\307\32\325\'\232"
+"E%\261F\274<t\2\0I \354\340\303\223\23\230\312\206\35\374\271\2172\345"
+"Y\2661\23\21},n\363-{>x\3244*\304]\215P\26\210\24\42\42qT5i\34\213\247"
+"\236&\363\250\374\314\225<e\20\210\210\316\212\32$\357e\3123u&R9\347a\312"
+"\223\312WND$\f1v\260y\372\313\36\62\221\212\347\2\257*\265\326o\272\23"
+"\321\371f\1~8\217L\362\320\366\17\264\ry\332W\374{\30\242\254\35\66\341"
+"\366\23\317\277\270E\242b\220\201$\367\42W\206\362\325V\204~\227\205\271"
+"\27\13L\246rU\265\341\6\1\367[\312\224\'\232M\246R\305\225AAJqG\230\362"
+"\216\223L\246rS\225%\351c\27\367V\236\253W\222\331T\356\250\266\\\375\360"
+"\346}\246\344xM\247R\313\225T\275\204\336V\314\224\235\347\332\342<\264"
+"\2179E\225\221\352\35\360\314\344\33\262,\3577\322+\352\204<I\247d[\310"
+"\224\334\306\bP\371O\245u\224\3w\263_9\360\23E\200J@\374,\265\214\313\325"
+"\333\220#@\245IfH8\310\224Y\256(P\271+3|\230\3146\344\275\24\21*\355u&"
+"\261\42\203y\356<\t\221\241\322N\245\335\226L\241\357\231\362J5E\206\212"
+"\352\233qIze\5\313\356/n\241hP\251\24cz\276\311\224\t\210\24\25UU\360\262"
+"x\305\347\33\362\252+\24)*\351\301\251\314c5\321\177V\351\2733r\233EU0"
+"\22\36~\245n\17\272!\'mn\351/#T\262T\361\277\260\350\306\236\267\235\27"
+"\347\363\363\211h\235\321\1\342e\77\357\357\2@\336h\266\2.\24;\31DDTg\224"
+"J\177\336)\265\202\24\354\33\236(I>\366Q\255\33\253\21*\3\331\363\217\2"
+"\373.6\372\337\35\2278\231ED\3446\30:e\6\251\323\77\314K\326\262\42T\34"
+"\0 \336`\257\360\22d\2556\niw\230)\323d\233\245/\366\363\32\2442\206=\357"
+"\361h\314\353X\nv\262H\346d\204/\21338@\247\331\0\214\321\316i>|iR\'\205"
+"\262\363\204P\250d\2623\203RM\226l\277\312\230\274,_\354\275\0p\312\340"
+"\302\77\2035]\257\351\341\245,/\372s\233|i\262k2\3360z\205\215O\205&\237"
+"\350\306\207\247\247\334\211\257\212\273\301\30\225\221\354\267^\324l\310"
+"g\230u\245\316f\354;\361|\315\30\225\375\n\364W\315(\317fL\252t.\361\f"
+"\367A^0De<\253ek\216\345:\363S0\275j\207\277\240<\331\b\225\2442\5\371"
+"\206\306z\2101)\320\3612\324\217\31e\204\312\26\5\370\203f\0r\370Ag\202"
+"\316L\251\324\351\270\266RY\250\340\3125\327\355\22\353\31\225Q:^\326\266"
+"\200\262\303\247\262D9#\273q\257\306\272\2231\371Z\307K^+Jt\362\372\24"
+";\253\221gb\333\24T\345@\215y\bc\342i/g\222\253\300D\231\377\\\350\333"
+"\211\210\362/\261\5_{\340\26\307N\241u\256\262&n`0\321|\332\315\354\323"
+"\204\251\317\\\276\t\26\t\16\316\371\351\331qi\6\265@u\247R\263.u\34\317"
+"\317\370qu\\`h\361\330\253\373\371\214\254\23\355r\275\270\213Taz\333c"
+"\372\251\200K#\376%\232(\343s\42r$\247i\356\262W_QR\334\324\316\335\325"
+"\201\30\n_\277&H\301.\260\304\347\316\246@s\227\16\17<\244\335\200\335"
+"\255\5\253p\256\3224\25\212o>\344\204s-\247\314@Jv\376\263O\257K\252n\341"
+"\270\253\b\223J\345\311\222b\'\231*WB\242R\327TW[s\255\322y\241\364\6\231"
+".Ud\211%\226Xb\211%\226Xb\211%\226XbIl\345\1772x\22!\367oW\377\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\177\0\0\0x\b\0\0\0\0\376"
+"\323rw\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5\270IDATx\332\355Z[L\234"
+"E\24>\13\224K\271\354\202t\271%\30\220Z,Z\253\306\244UZ%\365\241U\bb\365"
+"\205j\323\27\353C\325\226\304T\343\203\267\226\370R\23cS\265Zc\274\265"
+"\320\340CS\320\32\321\30\2646QH\245\21[\\\353\26\350\202%@\330\262\5\226"
+"e9>\354\356\77g\376\235\371\27\366\37\326\7\377\363tf\347\373\347\2339"
+"s;\347\314\2Xb\211%\226Xb\211%\226Xb\311\377Gl\0\251w\304D\371\2>\337\364"
+"r\361\227\16,\n\351\37\373g\370\262\353\342\371\311\377\210\77,\350\352"
+"\352\374f\21}H\6X@y]\220\225Jq\251\342\77\335\220\22\213\177\13\342D\221"
+"\260&\345\f\342\'`\206\37\21\257<\227\32\243\3\357 \6\67\b~\267\273\21"
+"\7R\210\375\35/\1\200##\377\226\325I\374\204\237u\217\207-\230\221\275"
+"\252\244\334\316\267se\337)C\376\244\276J\200\247\217\351\177^\323\233"
+"\6P<\42\372\42\357\30592\302\36\275\365J\267\37vs6hu\30v 7\210\210Gl\374"
+"\217\r\210\210\365\262O\336&\255o\21\1\66~J\273\370\367=\206\35\250AD\354"
+"\242\363d;\210\210\370\261\364\213\247X\333\301t1\244\354$\351\200\257"
+"\301\260\3o!\42z\362\330\312\353@Dt\'K\77\250cM\217IA\365c\f5\377\244\361"
+"\22@D\234\215\234ov\27\42\42:\345\37<\302Z68\24\312\373I\7\32\215:\340"
+"\b\42\42\342\23\0\0p\3534\42\42\326\201Y~p\222\16\3707\33u`S\b\364\246"
+"\r\240>\244\36\3\363\374P6\312\200#\205F\310C!PG\306\353!\305`\362\227"
+"\300\17\17/0d\247\315h\t\364r[6\270\n\224\360\303G\244\321g\214\200\366"
+"\0\345\337\6\212\370\235^\6\2354\34\324\375\204\376(\250\342\207\203\244"
+"\331\367\f\221\315\32\316\225\254\216\77\337\317\260\2012\303S\340|d\362"
+"o\22T\306\3538\214}In\324\375F\310\205\315\376\220\262u\\\350\177\320\361"
+"\267k\352\340\315\261l\305\2600]b\350\2218\213\1\0\2}1\7\265\4\373C\332"
+"$Y\1{\3435c\334\366\7\377\367\244\260#\361\374@\371\357-O<\3779Z\250M<"
+"\377\205\0)lM<\177\340\22=\345\222\343k$%~~\350\'\201S\316\355\275\254"
+"\220Z\27\373\343\241_L\363\377E\13w\21\376\374\266\330\37\237h4k\177\30"
+"\242\205*\242\257L\310\374\3\347\304\337F\364\254\304\314\377(\27\35\20"
+"=\233\233\245\236\301\231\210\276\227\3050\315f\317_\200\265\324\263\230"
+"\20\65\63\333TD\r\\\310\340o\200y\376\22\316\265\42\226\334\21\376\251"
+"\231\267n\222K\3\367\')\260\277\217\217\336\330t\204#\216\272v\36\177\240"
+"\202\371\305\13\n\326\337\34W\42\361R\210\177\217\216~\335\313\314@\243"
+"*\326\377\fW\42\213\336\t\0\360\207\316+K\375IS\277=\256d\377E%5\42R\0"
+"\0\320\250\313~\34\327v\205\277\36\226\201\177\236\251E\0\340\275\300W"
+"\327ngq\361\314r\360\337`j1\0\64\363\303w\260d\305\273\347\224\370_\0+"
+"\271\375G\3020D\304J\336\315\354\321p\236dU\347\357\n\2564\241K\317p\245"
+"\246\273\331M\35\4E\343\347\316\237)2&D\344I\312\31\356yu\367\17w\315x"
+"\3706\273\271K\346\254\246v\37Vw\3778$\366\236\267\3P\337\f\216hkc\341"
+"!T\307\237/\233\357\353<\256z7\333\205^\205\367\177\1-\310\203\233\314"
+"NMm\375Z\245\377Q\302y\303R\330\351\264\210\346\335\251\324\377\241\21"
+"b\3607\31jg\r\333zsJ\371W\323\341{%\240B\226j>\320\247\326\377\243G\334"
+"\17\62\377\362GM\375\3635\265\376g\21M$~%\1\211|\16E\347\37I\226\342\344"
+"\n1f\35\2034\252\366\277\253\211\336\26\20B\304>\207\242\361w\223\361W"
+"\213!m\32`6\3\24\363\27\5\31\270O\234\202\254e\210\215\312\343\237\307"
+"\311\247\207\204/Mr\237\243\332\345r\25559~b\376\1\341[\220\324\347\0\330"
+"\203\210U\346\306\277\201\274}\2742\'B\30\370\34\65\0\34077\376v\6\375"
+"U8\b\271\317\1\60\215\210%\246\370kH\366s\2750\260\35a\375\323\257\316"
+",\3313\310\242\371\323/2\344\253B\304Q\226s\267\353\3536!\42\346\232\341"
+"\177\237\1\277\23f~\252\215r\356g\20\21\63M\360\77\313p.a\362=sV\3\264"
+"D\357KDDL\217\237\177\37{\375\270V!\316M\262\233!zo~\200\210\210\242=\373"
+"\2508\237\240\13;>d(O\245\330\347`\210\252\250\312;C\25\242i\333E\216t"
+"Y\22\247\37629w\305iW\303<GAxjDGv+\341\177L\350\362\357\242\267\316\251"
+"\34\361\231.\310shr_\344=(\212\77\253\206>\255\342\320\3\272z\347\203/"
+"\264O\323\210g\267\304B\354\301E\277\311mk:\265\252\360/\0\316/\0\300\221"
+"\221\27\365o\201\361A\366`\221\233S\314o\30l\331\177U\342s\260L\344\211"
+"&2\274\334\212m\215,\334\270\241\315o<\377\77\230oY/[\236\266\353\213j"
+"\301m\42\376\371\375\363\317\206\245\225\266\354E\2651\34\'\277\347\347"
+"\256\16\267\202t\305\324\222\370\247\346\247\274\223W=\356K}\327\24\245"
+"K&\300\22K,\261\304\22K,\261\304\22K,\261$\241\362/\241y\r{\216|\241\312"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0k\0\0\0x\b\0\0"
+"\0\0\320\226S\345\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5\327IDATx\332"
+"\355XilTU\24>3\305\226\266\370f\6TZ\226Z\261\21\251\241\25\177)\205\262"
+"\210\b\265\244\26\303\37\20\376\210&%\201\246F\215A\243b%h\42\61\212u!"
+"\6\61\204*\332\324\20[!\332\22T\210KZ\260\301\332\300\200\325j!\226te:"
+"\355t\226\317\37\323w\357[\356[\272\f\77\360\235_\367\336s\336\375\356"
+"\273\3139\3379D\2168\342\210#\2168\342\210#7\216\270l\330L\225$\217G\222"
+"$I\362J\7\277\31\77\326\24\23\335\354\327%I\362JR\262b\354\7J\f\326\364"
+"\307\'w\17\247L\306$ID1\30\353\242\243M\367d`-\217D\2723\305\277r<\229"
+"`\347\277\2\rq\223\3319\26\67\250q\337v\337\77\5\77\351\25\236_\263\251"
+"\343\2111\255{\301%\310R&4p\267\1\330\252\33\236\77\f s\214\233\264\311"
+"\2\213|Q\0U\232\337/\5\200\222\261\36\310\\+,Z\1\0\337+_\207\3535\0\370"
+"x\314\207\237b\211E{\1\240s:\277\25\365\0\320\2364\366\233f\215\345n\5"
+"\200\341\205\362\255\360\3\0n\243D`\2217\n\0\330@DDw\5\1\0\353(1X\2644"
+"n\261\307ET\22o~D\211\302\2427\343&\365\251\273\342\215\361\34\226],w\13"
+"\224\22\275U\253\237D\337\32+\214(\273\305W\23\210E\375\313\25\235\375"
+"\307\3069\213\255=$\242\335\314\320\237D\t\306r\237\225\17k\206@9\271\341"
+"0V\30\2127\326t\'(V*\344Z\326,\42\242p+%\36\213\272\272\2147\370:r\266"
+"\33\25\313\350\274<\356\241\341\353\2005\273d\345\275\363\\D\201\266\246"
+"\372\206P\429\366\262g\212\24\373\332\365\356[\1\42\42\306\376\266\275"
+"\257\261O\266\21\243\376\376E4\232U\13\215t\24\231\373\215Y\260\226j\321"
+"\335x\264\245TGk\352^2e\207i\343\274\207/\324z\5\273\274\253\312\fl\332"
+"\370\356F\345\213\334\257\235<\361W\310\267p\335\355DDe\201\347\214\'\270"
+"Y\331\271\330\3341$\267\313=\334\373\353\276*\343\33|8g\364\237J/\2\0\66"
+"\33\237\327#\262f\270\42S\271I\31|\266W\5\t\200\254\13nP,\273\26\0\6\215"
+"\261dJ\274[\375z\334~\366\311y\235\277\360u\310\272\320\203\252\234\346"
+"\250\352J\351\260\266\307\307\213\r\203\246\200#\276\307t\232\274\42\255"
+"\315\24\353e\0\3006\315h\36\377b\243\16*\237\355`\203V\2658f\206U\5\0\255"
+"\232\233\232<\300>\20\344\327_2\345\42\235\356\13\63\254\32\0\310\27\r"
+"\306oL\252>\303\212\312\312\357\364\353\270\337\f\3534\200>\315o\25s\373"
+"\7\364\323\275mtZDDt\306\4\253\35\300\263Bf\17\0U\372\311n\352\222\225"
+"\261\231\2\254\235&X\0p\267\332\32143\353N\1q[\315\264\347D\276a\221\5"
+"\326T\325\310\323\334:[\340\17\37f\375\237EX-}\246\3764\246\212\252\363"
+"\366\262f\371\237\2\254\207X_\370_\2613\246XM*\7{\2325\233\366\t|oZ.\353"
+"\237\27\316xn\245\21V\304C\24V\275\267\f\266\302U\20`\345\361#\354\20\316"
+"x\311\330\317\17\250\273K\236\3427\277_\24\277\346\363\376\25q\20\267\33"
+"\242\322\271\3279rL\30+\263\370\226\364\n\247\270j\27\353\253\24\226\37"
+"m\21\307e^Z\351\27O\321g\23j\313\n\326,\30\21c\361\b:h\220\21\330\203\312"
+"\370\204\307\370V\3\276\301\375c`B\34\232\27\62/\274b\304mxi\':\21\254"
+"\312\34^\177\210\31a\365\333(FZK\336NN\f\272\f9\33\77\306d\203\232\214"
+"\r\250\344S\254\371m\2651\77\374\327\212Y\316\260\201U\315\330[\250\304"
+"\204\213\362\247:]le\243\336X\374\30\257\357\r\231`\265\363w/\376\261;"
+"-\241\274G9K\372Q\355\265\374~\177.\367\207g\271\346\16QRM\271\226\351"
+"N##\201\227whXS\216\234\r\271\211\210\256\\\346%Z\341T\367YaUp\213\2\315"
+"\273YAD!E\374:i>\353\34\253=4\216\217DED4\244\300:\3164\205\242\251V[%"
+" \306\361\221\246\245\222:\302\371\206d\2060\42zJ\307a^#\372\220\327\361"
+"<\302\n\246O9r\204Yo\25$\233as\254%\\\275V\274\316t\345H!\263\26P\213\275"
+"0\305J\37f\332\317\364o\1z\242u\312xiYC\n,A\326w\202)\373\364.n\77\0@="
+"\276\214%\bmS5O\347\2302OyC\37\37\271\362\36}J\22Wh|\367a\366\305~\265"
+"\342y\0,\211A\215.>\232\345\2173G\267W\303\367o\351d\337T*U;b\0\252\230"
+"\256G\223w\230\346\217\213\345K\245M\356\227\206\370\342Y*\350;\0\0]^\276"
+"\370\17\222l\346\217\256\371\rL\245\253\333l:\304:\201\3\65\315AJY\264"
+"\376I/\21\241\370k\5\253\274P\367Gw\224\316\304)c^\13\33\377\264B\361\200"
+"}9k7\362\4zP_\230\330\32Q\336\202\236\369\265\251T\324m\324w\3375\0;\322"
+".\212A\275\42\313w\\\206Xn[P8-\250\333\324\3457\352\t\373\316rL\270\b,"
+"\252Gu\254Z\377\233\332\254i\331\236\tCQ\217AM\217\n7\257\2313\332\f\326"
+"\35\252\217#}>2\30\b\367\216\f\6F\372B\301k\341\276Pp2\352\207DD\331\13"
+"\346\372(\330{\356\36709\342\210#\2168\342\210#\2168\362\377\222\377\0"
+"O,`\354\327\230\330\4\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0z\0\0\0x\b\0\0\0\0\30\372\2713\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3\247IDATx\332\355Z[HTA\30\376v\225\335u\313tu\311D05W\354F\224\21"
+"f\331\5\203\2\63\n\t\352\245H\37\n*\212zh\363A\350!L\212\236\352!\253\307"
+"\212\210\220J*\202.bw\222\250L4\314K\30\325\272\273\271\336\326jmz\330"
+"\263;\347\234=g7s\312\207\376\357\305o\316|\363\177\236\177\346\314\234"
+"3\263\0\201@ \20\b\4\2\2010\2310\0\310\230\21C\324\341\33oX\323\374\30"
+"\2_\7\0\240\206\305@\351\270\357(3V\310\6\3008y\t\377\77\255\343\1\64\32"
+"\0K\202-}v\252\252\262\273\30354\30\0\336\217;\354@-\0[\202}V\256\352\336"
+"\372\337~\362\216\372\2016U\203Ew\344#\341L\246\200[Ku~\227\205l)6\350"
+"\t-}\\vOP^\217\363\220\201\231\372}=*\313C\263 \353W\234~\356\2112\314"
+"|\232tB\350\347\324\373\233#< \310\232\321sM\326dM\326dM\326dM\326dM\326"
+"dM\326dM\326dM\326b\21\77\221\306\233m@\353C\251P\2646\77\305\327r\355"
+"\345\237\6k\340;M\316\330\352\1\306\330\261 -~!5\273\245\336m+\345!_\13"
+"Kxf\42\200>\0\200\363A\201tq\335\363\274\177\320\327\13\0iC\352P\r\217"
+"\223Vo\322k\360C\230u!\0x\0\24\37\225_\236\263M\241\232\306\351\2100\353"
+"\42\0p\1\306\323q\212\353[\24%\331\256\350\250(k\353R)\341\353U\247\r\13"
+"\25%Y\372\207EY\2574K\t\257PU\244(J\t\234~\25e]\6\0c^\230\326\250*\372"
+"\25\245DN\275\202\254\215\33\1\300\3130o\212\252\246EQJ\346\364\223 \353"
+"U\351R\276\35\352\232\353\212\222\235\323^A\326;\0\0n`\272\252\302}VQL"
+"\347\264S\214\265\275<d\255\312\367X\205\262\257\2638m\27c\275+8r=\352"
+"={w\371\r\345\372\304\373\243\307\'d\345J\334\213\220up\26wm7-\3166\373"
+"\237^T\235\36\3147\207\351s1\213\346\1\251\207\373B\347FWn\253\206\227"
+"\204\22N\33\205,\37\216\320\222\352\1\332|\0`\321Qn\342\364\226\b\353\244"
+"\253\26>K\4\356\1\300j\355\23\2549Ea\332\334)\300zj}x\326v\1\270\0\09k"
+"5\245U\234\236\213\36\364&\177\245\250\326\25\345\276\341\252<\0\246\217"
+"\2141\366\42Nkq\373\31V~\261F\267~\302\203\352\375\223\326##\262\243B;"
+"\0\354a\2141V\33\251M~\317\225\273\243;\247\rq\2517WK1\367\204W~\3569f"
+"\0\0s\13c\214\261\303\21\35\323\304\225\217\343\242\276kUv\312\303\16\326"
+"\26(\36\275\224\302\235u]\252\303wW\260j\3117\306\30c\227\225sj\376k\231"
+"0+\302\316\0\240r\13`\266&e$D\324~\353v\373\1\0\66\244\316\320z|\332\363"
+"\203\177+\316\3\0|\247\352>\204\2522\366\355\341\1\207K\236iZ\3278\377"
+"t6\305\243\345\22\331\1772\370p\261\346\246\326\336\0\322f\257(\222e\330"
+"\263\341\261v\373\230\77\223\320G}8\310\326A}\325\323\354\277\360\341\303"
+"\337;.\25\350\35x\273\367.\353\372\13\326\36N\337\225\2245i\215\206\203"
+"9\247\306\376\301\27\234\243\352\356\260,\321\3\367\253\13\364\305\6\341"
+"\237\256\331\216\264\351F\300\377\265\267\253\207\201@ \20\b\4\2\201@ "
+"D\342\27\345BG7`h\r\\\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0c\0\0\0x\b\0\0\0\0\303A\23\21\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\3wIDATx\332\355\232[H\24Q\30\307\377\273k\272^f\327u\305K\332\22\262"
+"iW\245\214\260\310.\344>e\27\260B*(+*h{)\220\250 \202 \n_\42\264\22Dz\250"
+"(\222(\214$*\b\f!\f\311\207\3144\333\312LV]\261\225\314\325\335\351a\256"
+"\273\315\350\356z\216T\314\3672\337w<3\77\317\377;\363\315\2313\13h\246"
+"\231f\232i\246\231f\232\375\35\246\3\220\2251M\247\356\221\31s.\262\323"
+"\330\346\210.g(v:\327\305\310\32b\210+\263\351\272\35@\217\363\211\330"
+"\242\'\215\330\326d\7\200\234\306=\324\30\326\233\2742\372\332\271r\255"
+"^\352\0c\274%s\2215\344\4W\267{\324;\t|\f\237\261\337,x\tG\316)uX\361T"
+"\236\351\33\266(\306\321 \235\377L\271\207q@\352\362\42*\255\236K\27hU"
+"\316\307\257\367\222\377&*\206Kr\77\251\344|D\321\215\300\36)\270\352\363"
+"j2:F\213\340\265\335\2415w\331]\274\334\37\266NR\273\7{\213.\273\201\336"
+"\13\253z\325z4J\323\342T\364u6#5(&_\257\0\266\778\326\203\276i\f\215\241"
+"1\376\177\6\351z\225\310\230\30\13\303\230\30\363\227\32\302\214c\371\311"
+"\214\211a\222\315\222.\217I3\312\327j9\17\327:\343\1\0)6\3=\306!\376\230"
+"zm\7u\255\6\17\373\350\347c\270c\26r>0\13\214q\255\356j\f\2151kuw\247\5"
+"x\327L\227Q\307\0\227\232\251jec\224\353\23IF\1\0x\3502\212\0`\210.c\r"
+"\0\270\2512\22V\323\327j}\34}\255\266\0\200\237\3528\364\333\1\300\303"
+"\322dl\310\fS\252\31\60*\270\305\16MFj\31}\306Qn\365IS+\3468\2503N\244"
+"\251.\331H1\26\b\273[\364\306an0\362\236\207\26#\351\3012\301uG\316\220"
+"\205\261\252\347\330[6\212~\24ZYdO9\265r{\276}\251\24y\42\26!}T\332\263"
+"\364\330\225z,\251\362\310\367\344\375\272\320\16\342\256g\243\342\232"
+"\301\3468\223(\33R[\315\275\267\362\215\344\224\334\202B\307\374\340+\16"
+"\205Q\22\21\3\340`9\20\227`\316\212\17\311le\345\270kp\214\327\320\232"
+"aT8}\n\251\374A\f{\211Z\277\270\274\274i\336\377\324\3774Jj\2358\305m\36"
+" \305\230B+/)\306P8Z\21\267&a\356\236\246\267nO\374\263\312\20g\314\21"
+"\234~z\fFp\276\322\313\3077>\35\201$z\2141\236\321C\356]m\371\355>_wU\232"
+"\30[\205\212\323J\354\277\3367\301\262,\313~\27\237Y\205\302\324u\222B"
+"\254\34\347\257\370Y\230\262{\5F\16)\306C\361Ar\200o\271\312\307\257I!"
+"b\307D\306\25\276\251\203\217+H\275\237\317\223\36)\303\334!\177!wt\335"
+"\42\65\216\\q\30\201\305\\K=\37\227\21\233UF_\310\207p\207\237\13\357\22"
+"\274\341\304o\372\'\1\0\245^.j7\23d8\4FGq\254\251\344~\200\13\272\262\211"
+"V\216j\205_\243\274J\'[\235\f\265\241\204\237g\311\177\2.\353\222\23~T"
+"g\203\202\31J\353\272\374,\313\262\23\235\365\273\25\13\272\216\314$\316"
+"L\361y\373|\320\354_\260\337])\347\276\374\344$\356\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\2\223IDATx\332c`\30\5\243`\24\214\202"
+"Q@\0\60\302Y|\374\374\374|\374\374\2\2\374\374\13w\21\253\235\205Ah\2\77"
+"\77\77\277\200\0\302 \206#\f\304k\347\211%\336\255\314V\372\f\227\216\375"
+"A\26\222\373\217\1\62q\350v\276\375\377\377\377\377w=\311\323\356\377\33"
+"\42\3757\32\311\361\77\36600000Jh0\23p\271\360B\26\b\203i\326\376g\30\262"
+"\262\227\t\330^\214p^#L\214\t.\373\270\206\200\355V\b\2465\246v\206\323"
+"\4\264\13`a\42i\177M@\373\3\4\363>\26\355\277\th\337\204\225\211\0\4\202"
+"\216\361\30L\376\34\13\26\333\t\201\377a7 \214[~\177\310\260\235\201\201"
+"\277\363\345\377\377\217\233\371q\30OH;\3\3\243\204\bZ\226!\t\374\177\201"
+"\312g\242\254\270\30\325>\252\235\376\332IH\363\334\274|\274\202\274\274"
+"|\274\374\217\246\21\257=[O\200\227\217\227W\200\37\341\320\255$h\217\260"
+"\31\302Aw\223\223\201\201\201\201AH\216P%\206\277\260\22Y\r\227\337B\206"
+"\343\337\244\375\242\310\357\357\257S\26t\257)\323\376s4\303\216j\37\325"
+">\252}T\373\250\366\21\251\235\35\316b%G;\37\242\307D\216vkl\235]b\265"
+"\13e\315\205\13z,6`\304\247\351/r\313J\272\216A@HA\t9\20cb\336\337z\376"
+"\361\347\345)\330\265\177A\346\350\376\307\5\266\240\352\332\2\23_LY\304"
+"}\246L\373\27d\277_f$\265\5\372\201,\333\271a\214Wdi\207\'\306\27di\347"
+"\205\17\262\220\225\77\236B\343\355\37\17Y\332\277C\265\337#*\303\32.{"
+"\366\353N\217\30\234/\314\1e\234!\306\256x\310\0\327s]\230\2001,\321\345"
+"\20\241\333\344\'T\361CX|\305\300\264+\21\241}#<\345\'AE&C\371\247\210"
+"\320\315\366\35\256}\42T\350:\224\237HDY\'\313\201\350E@(=\r\b\375`)\21"
+"\266\253\301-\377\247\5\21\231\17\345\7\23\23\356\34\277`\332\367A\4\\"
+"\377B\270+\211K#\273`\332\213\31\30\30\30\30|>Cx\227\210,F]a\332\257\333"
+"\262\361\271\254\371\7\341\334\226!6\211N\305Rz\35\25\':\2053\317B\327"
+"\374\255\206\244\21\256\340\333\310\232\77M\225!1\2131\373\314\275\375"
+"\367\377\377\377\377\177\337\234\37\2055\227\22,\3478$\205~}~\366\213a"
+"\24\240\3\0\343\21\316\330\233Cw\244\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\201\0\0\0x\b\0\0\0\0\360V\316]\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\5\252IDATx\332\355Z}L\225U\30\377\201x\21\4\2$\230\351"
+"\210\253Bj\312D\n\23\2416\327\226%\263\226\r\320(\223i~\300,\311%\264\245"
+"k\322\24\213t\313R\314\331\324\346\0]M\251\225%\353\3\63\23\212\205\224"
+"\320$\342k\210\b\334K|y\201{\372\343^x\317y\337\363\236{\273\334\373\272"
+"\266\367\367\307\313y\316y\316s\177\234\363\274\347<\3179/\240C\207\16"
+"\35:t\350\320\241C\207\16\36\274`X\310\251\356lV\357\302\3550\206\346N"
+"\247U\1\300|\3@$\341\340\326\f\365^\334\16c\330\342\274*!\204|\16x\363"
+"\177\345\336\342IZ\315\202\n\3$\345\337m\6\330\371\244F\f|\320[\0x\205"
+"\204\315z\320\207u\321\223\213[\370]z\337\17\2369;\222\323p\363zKW5\253"
+"Z\0 \304/l\366\34\331\177j\372\275\275{h\20\250\243+\2032jY/\251\360\21"
+"\60\17\177\351\'V\273~[\224@}Z\256\205\322\255M\366Ry\315\212X\243\5\342"
+"\341[\323\'\251Zw\3738\30\354w$\345\221\373\325\27\207R\206\201\365)\261"
+"\321\307\356\214\253\276\342p\2723$\273\255\2\265-\354 \334\216\24[\335"
+"3\246X\356\330\341R$\2635\316\275\13\0\60\355\364d\241\325\302\1{\341-"
+"\307\f\310\177~\33\1\0\313\336\26\66\233\316\331\227\342\nO\254\7\66\354"
+"H\21\66\177m\373s\201x\216\201\327\t\241+T\332\376T\271{M\274D\225C\213"
+"\r\202\336\177\216\2\0\256\273\233\301\332.JX*r\205\3416\0@\223\273\31"
+"\264\254\247\347\365\265U\202\356\35\324\323\235~Pv\200v\205\217\325\227"
+"0t\3@\377\35\367\357\215y\225\264+\224\250\273B/\0\230=\260;[\322h\253"
+"K\366\252v\267\0\300\260\'\342\203\306\215\264\264\375i\341\30\364z$B9"
+"s\204q\205\250\273\20#\345\374F\t!%\6\355\31\f\246\367SR\302~\355\31\240"
+"\216\t\274\267=\243=\3\234:\311\270\202Q{\6\330J\307\221\301\236r\5\21"
+"\203\376\264AJz\370]\355\31\240&\207\226\262\237\325\236\1\216\224\322"
+"\256p\334\250=\3\274\334H\t\367\2341h\317\300\234j\241\244\370B\355\31"
+"\240*\227q\205\347\264g\200\203e\264tl\226\366\f\310\372f\306\25|5g\200"
+"\256\347G)iq\241\366\fp\351MZ\312J\325\236\1\n.\322\322\3219\3323\260f"
+"\334\244]\241\324Ws\6\350x\201v\205\270\3\3323\300\305}L\216\237\246=\3"
+"\354f\262\343\2431\3323\30e2\271\240\342)\2323@\353::\223\213;\250=\3|"
+"\301\370\337\246t\2671\360qZ3/)\201v\205\352z\276Z\342\23sC\315\265\347"
+"\252]\344c;\311Ri4\232\350S\256j\77\0\370Pv2\225\\eo\376R~\362\261\322"
+"\245\223,Y&\267\201\226\26\361\\!\367\273x{i\305\325\30w\373\1\200\263"
+"\207\231\360i\255Ba\347^\311\\\304g\252\1\325\260\313\f\330L\16E\17\310"
+"\232\223\231\343\226\371/2\215ARq\300u\6Ci}\224\24P\352\317\232\372\200"
+"\275\223`_\27\352$y\310u\6\250\337JK\261\254+\244\310\256t\342\30\211\232"
+"\223\376\t0\300\251\23\264\2641\203\2262e\272\241\214\344\'\25{\4\f\274"
+"\35\262\312bn\4\16S\256`x\\\246jb\244@\251\330-`\20(WVfr\251t&\27\260\\"
+"*/\230*S\255e\244`\251\330.`0\205z\252\340\332v\225\206hy\305yF\n\243\366"
+"\30\1\203 \371\213\303AQ\t\277>\\&\337\376\210\21\247K\305\277\4\fB9.\244"
+"\300\246\6n\265l\22F3Y\77\210\242\336(\1\203\373\250\247z&\227n\341V\263"
+"#\260\272\214\335\1\245Ij2\13\366F#\365\24dr\257\363\366\4\333u\357\255"
+"u\206\207\214\276\203WN\313\2169\27J\341\355U\201i\377\21B\b!\307\35\255"
+"\n^\347\231\313 \333^\267\200\20B\310!\225.;$\365,\201\345d\373e\234\303"
+"\205)\264I\311\300\307D\b!\307Tz\374(\251\213R\317\2\273\216\343\223\212"
+"\244a\5\3|J\b!\r\374\233\304\371\222\266\350:dr\233]i\217\23\21\223\222"
+"\301jB\b!+\270\352\237H\332\233\5V\307\347\312<\335q\\qA\301\300\320F\b"
+"!U\274K\373D\353\270r\207\277\272\321e\322\5f\305T\207\24\42\332\25QW\266"
+"\332Mmp\2033~\350\275y\200\32\330_\279\244\260|D\316\300\327vq\235\'\327"
+"\f\250\220\f_V\371\256\301\177\351\256\33\354u\253\365\253\r\363\34|\4"
+"\221\257\210<\23l\243X\302.\320sk\250o;\242x\226\276\251j\33\345~\242a"
+"\371\273R\224\26L\372^\21\373f\332*L\371R\244<c\77\65\266}K8\213\213\340"
+">\26@\336>A\343\314j\333\206w-v\274\352\325\367lo#\371\245\342\217\326"
+"\21D\314{4\221\32\311\256U\227\371\'E\2\344\n\347a\245U\21\377\257\371"
+"G\335\330\25\265u\306u\6\366\217\n\230\f$\246\\\305Tg\266\252_M\200\201"
+"\341ge\16\204\224\378\206\352r\2\341\21D\365(\31\0\321o\224\367S\277\336"
+"\373\355\256x\30167A\n\217\304\2\335g9\313\2131:\42\334\33\30\354iml\42"
+"\320\241C\207\16\35:t\350\320\241C\307\377\20\377\2\330B1\352:g<P\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0q\0\0\0x\b\0\0\0\0\340"
+"\32B\304\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5uIDATx\332\355\232mlSU"
+"\30\307\237\256]\31\33m\307X@p\356\205\30\246\242\13s:C\4L\24bf&3b\326"
+"\271\2150\f\f\30s\6\65&D\205\17ht\4\302\3240\330\2.J$\353\206\37\310X\242"
+"\302\210\246\33\222m\221\210\3061\6n+\f\6{\201\275\324\271;\333\343\207"
+"\373vN{_\333{\226h\372\377p\323\347\364\271\347\327{\236s\317y\236{\13"
+"\20QD\21E\24QD\21E\24\321\177U&\260>!\321<\344\221\77E\362\4^\236!uf2\222"
+"\320\335\7u\236\300kG\240\267yuy\371\32\213\206\16\334fc\210/\364 \204"
+"\320\365\34\r\35|b\b1o\206m\366\25\251w\340\3171\200\270\340>\337\356]"
+"\42\f3\230Lmm\27\376\3600\211Q\344\224z\261~\\f\262\305]\35\65;$\276\30"
+"\354p\237o\271\211\267\224\255\347\77E{\177\f\362\267\27\377\36\20J\213"
+"\302|[X\3623\351\335]\221\32\354\365\255\370\3759\311i_CvR\251<\311_\237"
+"\304b\260W\362\347\265\210\36\235\322\343\325@\206\362%e\344s\323\202\353"
+"[\322\36\307\305\316\32\245=v\220\279\234\254\214\334\307;\266\3108\344"
+"\211}m\324DD\255\321\212\304x/\347\267FnE\273\300\367\364\213E\33\21\355"
+"W\276\310\223\254W\277I\316!\251\213\233WI\240\221\350\317U$\226\260^\265"
+"\362\36\216\312;\b\335\330\347\0\255D4\242\30\312\345\254S\251\342^\361"
+"@\42aGI\370\264b\237\23\352\255\n\275]\365\1\0@\227\22\21\r\16\253\22\13"
+"G0c\345\307\n\275\315\f\0\0@\177\350\273%;\252\360\262\37\17\345z\205\23"
+"\332\21B\b\315\321\303\220\272Fh:\204\307\241.E\376\364Q\0\0\357t\330D"
+"\330\335\201\207\322%\37\312q\0\2001\b\237\3108\361^\236\221\337+\31\0"
+"\200\31\3\210\320\273\25\267v\345)^\343\270\21Dh<J\2042\325\270\\N\216"
+"\bo\377\212\31\363]V\372\304\251\2/fe\357\247O\204+D\312R\361\n}\42\234"
+"\370\232\be\232AD\245\\\246,\373\21l/t\255bt\367\36g\263\333\346\333lv"
+"\233\303S\255\205\350u^\234+ZO\37\250\320\n\332\231\21o\263\333l\361\16"
+"q\4\233\253\25\327UA\333\211\275\362\325\340\23\252\21B\350r`\253;8\217"
+"=\243%\216\0p\264\1\17\345\227i\224g\16\0@i/\276\2377Z)\317\34\0\30\313"
+"o\303(Y\7\337\324\324i7\33\376\204d\263\326\375\221XS\211p\274\246)\216"
+"\274\22\33u\307\21\0\252\232p\353\330R=\38\\\312\350\216#\0\332\354!B\251"
+"k\277\277\327\25\2\21F\212|\230\365\344A]\323d(\24\42\264~H\334\335\371"
+"z\210\323!\21\241\222\250\304j\37\246z\77\2\0\200\277x\20\17e\303\34\352"
+"D\270\263\21\17e\346!\372D8\367)q\327:\351\23a\257\233\b\3452\372D\37Q"
+"\31\330\353c\250\23\341\346&|\361\313\254\242O\204fb\276l+\240O\204\335"
+"\355D(\323\351\23\231\2\2742\260\325\317\245N\204\336-\270\265\242\212"
+">\21N\35!\322\203B\372D\2622\200\232t\372\304\277\235\223\2305\257!\226"
+":\21\272\313p+\243\212>\21N|\205[[\213\303&F\251\376\212\235Wp\353Hz\270"
+"D\33v\224\251\f\362\247\360P>\37.1\6;\312\350\267]\206\346\344v\354(\247"
+"\32\227\221\304\4\354(\253m\327\r$.\301\216\362\225A\1c\34\61\r;\312\253"
+"\363=\303\210\261,\353q\265\223>o2\212\230\305\326B\331\252\225A\211\307"
+" \42\367\300x\271je:Z\364\217!\304h~\321zC\2752\330c\310s\217w\371bol\261"
+"\372/\375^,*/\313\273\235\t\256\37\61=+\2760q\307\251\42\27\335\16\221"
+"(\214j\324\366\263b\375\275\312\275B\2652 \212<\335\212]\271\347Z\300k"
+"\207\357\266<\252R\305\177\24\362\250\236\355\34\360I\276Kd\372:\224\322"
+"R\363O:\210\247\361g\35k\345\334\243SRR\225*\203\242K\211\232Gq2\324\34"
+"\200\254\fJ\220f_\277!Dh\326\376P`\302\30\42\274\337\256\177T-\0\246\320"
+"\211\214\363R\274\242\203\360H\354~pSh\352\313\311\340^\263HKXI\356\302"
+",\351\42\177w\344\32\24GU\ti\341\215\331\272\306\1~\t\2337[\304)\216\370"
+"\'P\32\325\314\223\267\230k\7\26\n\366\2>\365\355\244tE\233\330\377\215"
+"\334\26\376\300\223\305O\234r:\300\247\370\r\266\237\277)\212y\342R:\304"
+"\323\302\256\303\247-_pv;\35\240uJ ~\3065q\377\6@\233\201\312\314yH\254"
+"\220\356q%-\367N\250\357\33:\327\270LL \36c[\3528{\3\245\231\32\303\360"
+"\304\363l\303:.\265pQ\273\335\177\340\211\357\260\371\366\4\227\2248\250"
+"\21\327\361\304\256\325V\373\332S\334\237\nz\222(\256i\207%\322\263\266"
+"E4WQsm \357\257\17,@W\33zp\336\370\341$\240.s\356\361\36\37B\b\315t\327"
+"\25JnQ&\32\267\311\342\4f\342\26\3\21\375\237\365/\271;\226\231\303K\365"
+"\224\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Z\0\0\0x\b"
+"\0\0\0\0W\247\272\343\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\266IDATx"
+"\332\355\231]H\24Q\24\200\217\255\256\177;;\343\17\376aaR&\202\246\330"
+"\223\326S\212\205F\222\320C\206V/\202i\77To\275\365\3Q/\375(\26\204\204"
+"\250DA(*!\225`\351C\230\224\22b\346OZ\232\232\371\263\226\271\346\236\36"
+"v\356\314\354\356\335mu\356 \302\234\227=\367\234s\277\271;\234{\357\234"
+"{\1t\321E\27]t\321E\27]<\210\17\63\222!c7\364t\376\325`\214\373\7\20\21"
+"\7\17\262\'\37^ADD\\-dM\16\233CQ~\305\20\333\26\66\350\23<\321\202J\30"
+"\2433d5\2231Z\240\250\214\320#\262:\314\30\335HU\331\314\274N\222!\335"
+"\276\254\263/\266\317N\356\217e\77g\370\33\223\210cWxm\226\243\250p}M\326"
+"E\227\315\372\261\340g\202\305\25\346hC\326\241\264\24\23\0\214\366\266"
+"=\33Z\77\332 \360!\202\300\13\2\177\326n0\225\237\213\220\335\330z\365"
+"\215[L0g\346B8\316\314\361\243\225\ntb\271\300\13\274 \230\234\236\227"
+"_\25\351\4\250-\233s4\234N\2183\307\t\274\274Y5\347)\374\271\350,\0\0\306"
+"*t\225\301]\216\350\327\256!M\360\277\2751\270\261\204b\215o\337\351\375"
+"\273v\203\16j\315\241\332#Z\4\257\321\276\0\363\357\0 0.H\231\31\365\31"
+"\0\0\77\353\236\367Z\374\222r\212\243%\317\216;E\212\270\376@\0\0\b\335"
+"f\360\364\f\343\31\305\273\276\216\210\270p\221<\315xiIv\356\245t\16\177"
+"By\327\ni\223\334Y\253\210\330\25\247\360\245OI\316\27\264\276!\313\36"
+"\321\327\244\336\23\210\330\22\350\340\314\\\225\274\311\264\316\357=f"
+"\310\264\244E\1\264\347/9t\355x$\251E4\364\264\307\fYV\230\247\216Z\235"
+"\2oJ\332\1\32z\331\353\344;\77\351l\351\373@\264$Uy\335U\357j{\271\326"
+"/Pz\\%\272\332\272\327\272\250R\3216\332\207\354 \23\364\307\31\212q\202"
+"\t\232\372\337\347\230\240\373h\306y&\350\265nUk@\177\325\16\375C;\364"
+"\254v\350E\355\320\177\264C\303\206\241\303\265C\37\321\16m\330\224\357"
+"ZG\353h\35\2551\332O\322\374i\221\376\224@o\321\362a\227\231\26i\246\4"
+"z\213\226\217\\3i\221\231\224@\357\252\336\324\32\271\\\231)uY\355\303"
+"Kgd\177M\252K\375\335D|\r\312\3026\271\314\310\307$\2048D\342\360\310\314"
+"\34\332K\307\373>BX\334vG\330\354\247\361y\353\275^\5:WT\352\n=V\273\312"
+"\252\27\300\255;\2276\352\32\355\222\317\242\35zQY\3556\373\250>\215\1"
+"\360u\375Vf5\352`\251vc\216\226f\350w\346h\216(c\314\327\242ob\356\331"
+"L\314\321\344\350aH\365\242\232V7n\375|K>\364\n\13 \305\254\3321\26\333"
+"/\323&\244C\206t2\31\313T\222\367\220\323\217/$\347\216\23t\274Jt\203\264"
+"\214\234\22-w\305\366[\225d\243|\\t\233T\232b\373\244\312\275qk\200sA\225"
+"\222h\377\35\251U9\352\4i\3206\361l\244Zl\27\250\315\217\0+A\277\262\33"
+"\262\305\203\251\307\352\347G+A_\0\0\200<\213\275\325\303\340\226*\233"
+"\240\373\366\31\315YOm\366\306\0\223\233\265\n\312v\326\21\311d\3050<p"
+"\6\377\276\314\354\236\261`@\t^\250`y\315h\310{8\260\212\210\270\322_}"
+"\314\264\356\215\317m\26F\207Z-\343V\320e\243\345\37\317\332\177V\315\t"
+"\303,\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0x\b"
+"\0\0\0\0\237\313P5\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\22IDATx\332"
+"\355\230_\210\25u\24\307\317\334\375\323\272\232\273\356\342\225\225j\3"
+"k\265ds\227\210\326J\324-\211\204Z6\22\214@p\211 }\20!Q\21\64\373\203\b"
+"\331\203\324\203\21\210\4\42\202I\210\31\271\250,i\204\204\354\203,\261"
+"\304\262\311\22\324R\261\324\345\332\355\362\351a\356\3359s\357\314\374"
+"~3s\203\36\356\367\351\316\231\337\375\314\371\35f\3169\277#\22\244g\341"
+"\267\256\300;\215_\301)\211\245\343P\34\b\260\267M\301tc<Vf\2x\275\312"
+"\2742\17tIL-)\2\37;~\3430\300\220\304\326F\200\261feq\336\38)\tt\f`\246"
+"\303\213\372E\200\251\206$\254\314m\200|o9\352\223\0d%\221\332\213\0l\21"
+"\21\221\236\34\0/JB\255\3\200#\216\310\220\373\363SI\254\17\\\302\305\5"
+"\207\335\37\311\202U\n\3318Z\305\245\222Bm\5\315zAR\351i\205:!)\365\376"
+"<j\262!-+s\253\34\254NI\255{\363.k\223y\251c\\\221].\42R\270-u\325X\346"
+"\330K\347\6\221\271\313\265y\334Y\200E5A\265B`\35I\242W\1\230sj\21\320"
+"_\334\367\276\277\6\254\207J\337\343\225\32\260N\226\363\304\222\324\250"
+"\226\371\234\363Vj\326\360<+\237I\313\232\366\362\352S)Q\335*G\337L\311"
+":\256kG6\25\252\331W\323\336I\305\332\354\257\217\215iX\77\370X69\77T\313"
+"\375(&R\260\216\2\344\24\354\276\310\345Q\5\264\361\222#\42\333\357\366"
+"\316[\232.%uk\20\200\205=\312\261\346\244\254q\200\363\342\314z\254\341"
+"\204\250,\0\275\42\257y\254\231\204\254\203\345|\332\2526\271\42\21\252"
+"\241\0\260SD\344\214\307\372,E\353\325.\42\362\210r\2545\t\353[\200kn\316"
+"W\321\337\226\0\325\1\300\223\356\305v\2175\233\240 \355\1(\224r\351B\265"
+"\311\325\361\373\301\34\300\201\362\345y\217u!6\353q\177\366[\255\34[\34"
+"\227u\5`\334\253\270\177x\254\235q\33{\0\6=\303\210\307\312\305,H;\0Py"
+"t\221\332\344\23\361\232\2109\200c\332t\301c\215\305b=\6\300\375\332\324"
+"\253\34\353\210\303\372\2`*\300UW\373c\240\334\340T\34\322\337\360X\205"
+"\30\307\31\367\223i\2518\200\250M\256\267\217\374,\4LG\276\364X\343\326"
+"\254U\0<\\i\356S\216Y\317;N\7\347\3\35\375\243\226\250\5ayj\207j\7\232"
+"\354X[\ti\350\27\253Mn\266c\315\204f\226Q\217\365\243\25j\5\0}A\267\372"
+"\225c\3356\254O\0\376\f\314\304N.\362$_\365\237{\362\42\42\277\177\36\370"
+"\234\227Uc\336r\327\350\326\20\226\332b\336\342\224-\353gcAz\0k\255\254"
+"\2527\25\327\273\3553\300\273\206\3307\375-\42r\343\303P\300\266\227Tj"
+"\372+\362Y\317\3\260&|\3012\265\311\221h\277\'\214\'\37\65\306\212>\237"
+"v\231S\360z\345X\237y\252\264\314\334\226\271\372:j]\21`2:\f\207\224c\355"
+"&\377\r\203\335\245\212\265+|\331\255\240\232Q\245\2336\355\200\373\304"
+"s\246w\364\31\345\330\332\260E{\355\206\7\31\25\375\357\302\326\270\23"
+"8s\35\335\247\34\13\31\223\16\0\60j1,R\254CQ1\265\371\270\257\253\202\24"
+"\270\215\7\335\233[-X\3\312\261\347B\373\371\310W\2462\262\241\5\351\315"
+"\322\275\357mR\327a\345X\177D\232\267)V\33\25k\272\342}uv\253c]\273\231"
+"\365\221\316\325\276\336\242yp\3327:\330e\30)eO\370\23\377\251\266\222"
+"G\257l\332\320S\265\372\237\253\77\315\310\345o*\254#\335\42\322\371\350"
+"\272\3521\305\257\243w\362\362\266\333 \5jo\345\77\306\242\353R&\365 *"
+"\242\246\375_Xu\325UW]u\325U\327\177\253\177\1b\243>e\357O\3436\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202"
+"\265n\256\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\211IDATx\332\355\230"
+"]H\24Q\24\307\317\316\352\252\371\265~\244\254Y\244\220f\256\251\225}\30"
+"\t\241\21}\230\31\30\366`\20\371T\17=E\17\202Q\24\275\30\241\344C!JHB\275"
+"\364$ID\204`\37\210H\304&fb\26\322C!d\251\213:\375{\230\2753wf\357\314"
+"\316D\217s^v\356=\3477w\356\231s\377sX\42\327\\s\3155\327\376\247y\370"
+"\201\227\350\17L\2\275D\262\351]j\201\371\200\320\23\67\4<\260X\277\13"
+"\220\367\n\346\323g\200\3318\13P\232\0\320\32\65]\34\6\20\260\334r\206"
+"\f\240\333\243\237l\4\200\206\30\311:\b\0\303>>}7\0\240/f\232o\3\300\\"
+"\246\226\226A\0\230\361\306\4\245\20\0\204\313XZ\246\0\096\336\254_\6\0"
+"\64\21\21Q\321\22\0\240\336VM\34\0\0\340\226\207\250A\271\354\261YM\35"
+"J\370`\3225\345\302\306\6#\333|\7\336\344\365\266\138}\225\7\2178(\375"
+"\375\34w\317\321\241\271\251rS^G\2404\3166\230\345\360\234\246\206\25\360"
+"\220\255\203\314[N\36\21\321j\310U93\17\34\201\236\254`U\365\356<\42\242"
+"\345\211\2617c\237\26m=Aq\247\256P\1`\366|j\314\202\251\377\1\241\365\246"
+"Xr\245s0\265&\13\256-\22\23\276SW\220\221\226\226]\332\362\222#;\315\362"
+"\350\351S\2\246+\271\210\304\346%\225l3\1\257*\356\1I\77\235\240\255Z "
+"\344J\42\336uQ\t{\317\300\21!8i\6R\276\272d\206\200\333\310\234\17\243"
+"}!\346;&\0\317\251\267-\217\362\2652W\227\0\354S\301\267Q\276\n\346\232"
+"\26\200\317\265\27\3463\372\2\252\213\317Y\344\367\2636\225d\4\227\242"
+"\242\271\313\247\332\324\262\21\\\23\201\314\222\325\307ym\341\363\t6y"
+"\2269\3\16A:\276\n\0s\5d\17\344\n\332[\264y\355\343\27\201Z$\377V\13w\305"
+"\206\346D\356\226U\270\263\261V\0Zt=\361\271\345u\247\363\34\212\237\257"
+"\354\362\244@\6|\326TJ\375k\23\375\260\2\275\325\303z\211\353nj\264\1\372"
+"\3339q\374z\275&\307\33\373=\22\221\277W\353\30:+\23m\26\0IW\264\262\333"
+"%\331\257\234\254i\346\36\335\342\244\344\2022\3636;\252\325\22us[\35\25"
+"yZ\230\371\366\b\32\t\13PU\335\373\242\266\331\34\fZJg\27698\304<\302\356"
+"\244B\4JDD\361\207\331\260_\4\356\20\276u\42\242\r\352\360\203(\346\222"
+")\250\35\272\237\202\220\300vS0[k\304\4!\\c\35o\0\65%\25\364|\'\216\232"
+"k\265\22669\252;-\342\17g\271aEM\377%c\217P<\301\217N\31o\2535)r\256\256"
+"/8\3\0\262\252$\262\322\265\304%\260\200\26\355i\26\n5n\323(\0 \250~u\361"
+"m\237\77\255\364.\300\310\270\5n#\35JjS\352\224\205\344J\242)\243j\251"
+"Y*\325M\257\216<\33g\307e>@DU\6n\200\373r\230\bb\217\362\352\36\353&\'"
+"\370b\257X\22`\241 \23\315\21n\266_/\377\276v#\366\202\253n\351\2\323\315"
+"\'\5Q\37\35_\315\305\223\352\340Q\337\253_z\245.\334\226G\337C\323+\302"
+"\257\225\'\331\237)\321\342\342|\330\375\213\3045\327\\s\355\237\354/P"
+"u\1d\326}\251,\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+")\0\0\0x\b\0\0\0\0J\331\204x\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\203"
+"IDATx\332\355\226O+Da\24\207\177\367\3361\302h\30\231\230\235\r\13\331"
+"\t%\13\311B\222,\346\33\370\34J\221\r\33e\241D>\201\225\262\226\275,&\213"
+")\323,,\20\245\374\231L\327c1\376\274\356\275s\307\206R\357\263:\367\274"
+"\317\355=\347\334\2738\216$\311\223^Q4\236\344\177=M\301]o\244\2278\202"
+"}3\261\t\376X\204\230.A9af\334s`1$\16T\200\300e\235>\260\345|O.\0\314\7"
+"_\237\48N\32\31g\5`/\\\322\6\300e\346\253\227C\200\222\27\66\335\2@e\350"
+"\243\227\42\0\331\250\201t\370\0\344%I\375O\0\314E\317x\2\0\326\34i\276"
+"\26\356\324\371\32Z\257\235\37\266,\327\202\250\42\337K=\303\304\357V]"
+"\322U\323\234Q\f\343\206\270\255XV\77\305\242\27o\272\247\37Ev\251\1\355"
+"\225\2329\35<pBj6\'I\325\202\376)\216$57\220xy\17\2224\340X\222\334\37"
+"\337\376\33fBRuRR\246-72\33h\355\346\240p\365\370 \335\207\337\353\277"
+"6\3728\211\375G\6\r3\25[L\3120\235\330\216\252\346\274cM\376v\236\326\264"
+"\2465\255iMkZ\323\232\277j\272\77\66\233\352\257\345\1s\324\210{bJi\315"
+"\373\306\266v7\236\f\356\311\336\222\244\236t\337p\250\312\347\323\213"
+"\373[\251\274\373\217\366d\213\305b\t\363\6$\2478i\311\271\311w\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 \0\0\0x\b\0\0\0\0\266"
+"\314\257\262\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\201IDATx\332\355\226"
+"\275J\3Q\20\205\'\233\30\225\30\223\30\23\374K\253\225\245 \4\13\21\5\5"
+"\211\42\276\201/\42(i\264\21,\4E|\4\321\200\255y\1\21\211\202\nb\241\225"
+"\261\20\224@\\\77\213M6w\315\256\213b\n\341\236jf\316a\366\354\334a\357"
+"\212hhh\374\30\201\240\310\7\36dP\304\224)x\356w\245C\'p \42[`\216\273"
+"\360\261;\270\17\211\210q\5\2544\361#\25\300j\2350\201\355\200\223_\4\310"
+"\325\222I\200bX\265\276\6\260o\347\233\0\17=\r{\5\200\273\240]0J\0\225"
+"\321\272\275\33\0\322J\313\270\t\300\262\210\210\f\277\1\60\357\3604\1"
+"\0\371\200H\316\nw\277\274\325\206U.t\256Z\201b\240f\343\34\25f\252ypU"
+"U0\3532\332\254\302\357\270\36\316\272\315\337\4]\5\306Y\335@\322\343\370"
+"\243\25K0\355X\30\65I\17\210\210TK\377o\355\325\330\b\205\333;\42\221\356"
+"\353GU\20\230\213\'\323}C\203\231\230]\\8T\226_\332\216\277}\204\341\347"
+"\301W\20\22s\317\332\304\254\237\326\310\333\307\235\363h\346*P\372\276"
+"\337\372\231\274\364\23\274\266f\16Z\240\5Z\320j\201}\265F<\4\231z\220"
+"\360\370[\260o\255\242+\237:j\334Y\371.\307\247xI\342\275c3Q\207\274\\"
+"\270(\277<\235Z\t^(\376\311\34\64\64\64~\201O\211\17\5D\344\\|\374\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0"
+"y\342\233q\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\253IDATx\332\355YMl"
+"TU\24>\357\2653C)eh\241\223t\212\77P\4\242%\n\244\42\30L\204\32\343O%\232"
+"\32C7\204b0\2720qA\324\310\6\242\351F\26\64V\242!6\244\21]4\32\27\20\243"
+"\33R%\206\30B\f6\263 d\374\2411VR\233\241mF\307\351\347b\332s\317\353\373"
+";\357M\227\363\255\356\334\363\335\357\335\237s\317=\367\216E>\250#\232"
+"\207\277\255L\321\260\37\230j\363\264\324\177\r\234\243\250\30\4\312\217"
+"x\324\247\363\300\257\365\221\345\354\34\200\227]\325[\212\0\332(:\232"
+"\313\0\206,g\345\363\0p\200\342\340q\0\30K\212\32\353]\0\30\246x8\5\0\23"
+"-f\21.\0@\276.\246\234=\16\0\305m\213\213p\3\0\220\241\270XS\6\0\274HD"
+"D\233\347\0\0=\24\37{\1\0\30\260\210\16T\212g\251\32\274_\21\271\320p\242"
+"R\210=q\13\323\367\23$\312\255T\35\322%)\367\24U\213G\205\332GT=\336c\265"
+"\33u\313 g_[\234\270\265\264\34h*V\344\236\b\247Z\32\275L\226\210\2504"
+"N5D\232;\253\261%\333\236J\23M\377yk\2620_\225\213t\34\35s\3541\374pd\275"
+"\25S\254\343t\t\36\230y+\306\276\265\273o\302\27\2276GT\353\232@ \306\242"
+"\234eM\227L\303\2117\266\257K\330\226e\'2\273N\316\231\372\223\352\375"
+"\373L\231\303\333;\315\316e\336\370\25\353\375~\267\316u\6\271\305\251"
+"\244\333\334v\225\315\275\n\265\4\273\306\314}\336\237\353g\275\201P\247"
+"I\345\26\271\271F\77\316C\354@\303!zIV\313\257\b\360H\236\334\221@=\373"
+"\362\42\257\330\24\304\333\316\343\35\f\242\235aZW\360(\2161\361\220\77"
+"\351\5&\235\16[\376kL\335\352\307ieJ1\31\266d\355\314-\370p-sB\367\205"
+";\324Y&\237\367&\3641aN\261\201\232\315~\333\341e_a\302\321+\232\3353\312"
+"\364I\333\303<`>\267J#\267\305\360\17\272\255\253D\364\321\355\355\31\63"
+"9\356D\376\270\221{R\27xN\300\77\30$\312\306\230\326\311u\232\26\267\227"
+"\356\265\247\215mN\31\26S\42:\77\260\304\2263\246O\264a\3666\374|Ox\21"
+"^\322\312\235\21\215\26\266\306\202\313\310\331\377Y+\367\235(\77\350\260"
+"\\\21\37j\321\312\355\20\215>p\254+\334\375\16G;\\\353W\31\254\343P*i\345"
+"\n\242\334\220\26r\273\204a\26Z\271\242\374\261I\310u\213\372\274\372t"
+"w\\\340\37\26r\317\211\372_\324r\216\354l\257\221\263eJ>\35/\337\3526r"
+"\2163pR/!\7\322j\261\334J\311A\274\336Q\35\3139\302\345_z\205\t\207\357"
+"\262\\*f\207\34kQ\357=\330\270\250\27!`\271`\23\21\315.\207R\211\345\376"
+"q\4Y\275\202\203\372\237w\357\322z\271\214B.\241\227Kz\3139B\303:\275\\"
+"V\224\1773K\201[\361\344$\276\25\21\345KQ\177W4\257\360:8zD\230.\351\27"
+"V\36\t\235>Q\37\352+aZ\266j\24\35\376\303w\275\2S<Q\376{V\310\315\177!"
+"s)\255\334zy\204;\246\363C9r\255\334\375\242\374\2313\365\24\263\320\247"
+"\225\33\25O]K\322\337\213\3064\242>\30}\222\0\307=\6E\355\255W\214h\303"
+"\322\324TdW\315\221^\36\1\340\246\313\330k\214\312\327\315s\246\305~wl"
+"6\27\363\37u\301\\\344\262\36\61\375`\304\321>\26\3249\42\333<N\34\327"
+"\310]g\372u\317m\271\323x\221b\237u\230\316\335\353\315\370\224\t\307\302"
+"\345\2767O ~\261\272\240\277Zt\231\7Q\337\263u+s\276\t[Vv\323r@\364>\242"
+"\271\223\23\21\2150qO\20m\210i\233\202h\207\231v8\370\32x\236\7\221\365"
+"g\231\263\340\365\260k\345\347\34\t:\3758\346\231\347h\3705\325\\\223\373"
+"=\3353\3711\23\236\325\270\273\t\6\343\35\356\257\355\343[\361\324\6\345"
+"\31\220g\301\253\273\35\33\244\251w\212M\243\352#\312\26Wo\\~uwv\355\352"
+"\325\231{\366\275m>\203\302\236()\302\232\321\300\267\312\362kQ\377\33"
+"\310\16\371\212\25\372\223\24\35\r=W\274\304\206\267\305}9\246\225;\337"
+"\314\311\364\345\342\241\215vu\217\344d\245\322\215\r\t\242\351;w\376\245"
+"\32j\250\241\206\32j\250!\2\376\7E\25P\252\251\231\201\342\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227"
+"\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3HIDATx\332\355WMHTQ\24>of"
+"\34\363o\374\311\237\234\24\233EE\204D\320\42H\3\221\202\24\223\202\376"
+"\26E\13i#\324R[\205`\264\251\205R\213 \250h\331\317&&D\244\205\344J(D\6"
+"\t\263A\312\n\5\23\223a\374\31\277\26s\317}\367\315\273\357\315kW\364\316"
+"\352\314w\356w\3579\367\235{\316\31\42_|\361\305\227\177[\fS\r\22m\303"
+"aY\220(\243\201\333\201\345z-!4\2<\325Z\206\201\314Q\r^\236\4\346CZJ`\6"
+"@\217\r\336\237\6P\357\340qe\6\300\3\303\n\236\1\200n\307\313h\3\200\361"
+"\260z=\203\0\360\330\345\2\357\1\300B\225\31x\34\0\222A\27J \1\0\351f\16"
+"|\26\0P\353\372\235*2\0\200sDD\264/\5\0\350\312\363m[\1\0\270c\20ug\325"
+"Gy\363\341nva\274h \253\270\6\42\302\231\202*\231\32\17iW\276\251RNyJ\325"
+"c\n\343\241\307\364\276-\31\263A\217\224\300\7\16d\247\347WT\226\316RN"
+"\344yb\252\324F\211\2106\23\377o\3511\376duY\333\300$\0\314\17wUyY\37l"
+"O\250)\366\245;\224\317\235\323\253\310\221\324\5W\27k\22\320\310\214K"
+"\376w\362\242\251\263{\312#\273\332\307\371\367I\'F\237X\260p\200\221\246"
+"9\1]wg\274+P\2521\37\324\253c\\\202\356\255\207\222\2\356\2643\366\262"
+"\337uV\274\201\361\6[\77X\26\226\301\\\313\20G\30\320\227\42\240\324V\f"
+"\331r\323\212W3\376\322\356\362\30\333*,\360\13\206\217\330)-l\263\224"
+"\315J\371\245\13\355\224bi,\313\26\23\42\42\272\306\346O\353vJ\352\33k"
+"W\225dL\363>\267\\\313\332\232!Oi\224\356L\350(\22,\331-)\346\227\375\254"
+"\243|\224Z\207\271\215\f0\242mS\322<\301\245/`\16\16\341M\r%l\336Ip;\353"
+"X\211i\335\322\235\242lS\42bQj\265v\206Q\300jA\251\366^|\230b:\366U\277"
+"\320\204\213\5%\342\36\212\nW\b\312\272w\307R\202\222\222\210C\323\252"
+"\263Q~\232\245UO)\222\332\212\240,\345ij\n\370CPV\224\306\252\355\266\246"
+"\372K\374\3340=+\324QvHmi\203wx&1mZ\232\340\23y\350s\2115\352(MR{%)\223"
+"\22;\254\243\34\222\332{\23\34\341\7\361FGy\313\326\270\2\66\313G\244\271"
+"\262\2004\36To\376;\2431;%&\233\240\241\334\271\230%\211\350\242\235r\205"
+"\225\363\226\327dp\307K\333<\13\360D7\225c\210\362\351\35\271\224.\266"
+"\330f\370\33\302\260\222\323\264C\253\216}\314\210\13\323\220\25\277/\340"
+"\327\232\214-\230\26\306\313*\332#\300i\355\304\20\346\366\333\'74\372"
+"y\306\f\353_R\1\67\237\271\3260\21Q\3708\367\3261\307\251Dn\n,\216\216"
+".\312\37\375n#IL3\221$by\346\236\326\34R\242\305\303`\26\355\345\20\220"
+"\354\215z\35zCU\221RZ[]\336\362\377x\373\342\213/\177\275\374\6\255\33"
+"\343Ra\276\217y\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"R\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3NID"
+"ATx\332\355\231OHTA\34\307\277\357\255\356\272\351\246&-\331\37\204\222"
+"$\303SA\377\260\22\r+\252E\254S\204\35\272{\224(\24A\361R\207$\211 \220"
+"n\5E\204(\321%\3300(\b\2130\211%t\23\61B\226\324\324m\327\365\333\341\251"
+";\273\356\2767\356\16\221\364\276\2277\314\374\336\207\231\371\375\346"
+"\315\314\357i0\221\3Xb\372\266\30\326\257Z2T\232\262%\347\5\371\20\231"
+"\250\233\214\35NQ_8J\6s2B\352#$\257\255\251\256\b\223,Ef*\216\221\354\321"
+"\22+\33H\322\207LUC\222~\247P\243u\220d/2\327m\222\234\330\22wL\77I\216"
+":\262@\352\303$\31\256ZqL\200$\351E6*\212\221$/\1\0\366\316\223$\317#;"
+"U\223$\331\245\1>\243\370\0\331\352\226\1\352w\267\33\205\254&ry:\77RT"
+"l+\262WaTD\236\201\n\35\23\210\367\241F\235\253\304\200C\21R\37Z\231\310"
+"\22\250\222\'l OY\233j\262L\357v\0\210\16\303\326_\224\6\315ia\22I\336"
+"$\365\334\364\306\214\0(\246\205\312\223_\363\231\30\373\1]\375\3007\6"
+"\62\7\2635\200\253\300[~\2722\251\351\325\353\340\364\364\42\60\221\374"
+"\316\340\305\262*_\361Z\326\354\323\17c\337\22j\\m\342<7Z\364\337]\37L"
+"\360\313\314eO*\263\341\270E\247D\374\335\20\210\217rM\366lC\2652\263\26"
+"g\366\245\373\374\264\304\221\7\245\326\311\312\330cn\t\217K\235\35yu\271"
+"\320\272\240,\210\6\227\237\275\352\3422\362\316xN*\f\365\307F\4S!\362"
+"=\0\340\245\312\5i\254\254\21\225\310i\0\300w\225H#x~\252DF\1\0\363*\221"
+"K\0\200E\225Hc\221\2057\340W\335F\332H\33i#m\244\215\264\221\377-RW\177"
+"&\322S\\\77\364\264wK)9\254z\31\215\27\67\311!\235VH\3414\233\'\207\314"
+"\27N\231V\3/\222C\226\0\300g\23\217\317\306\213\333\344\220\345\0\3407"
+"A\316\305\213\225r\310\223\0\360\306\304\340H\374\246\373U\16\31\42\311"
+"\375&\6\25\302\235]*MYH\222t\233\f|J(\357\224A\236\3\200\261\5\263\334"
+"\211\320\313V\231+\376$I6\231\332|\21\362\322Nk\344\t\222\244y\274]\21"
+"\272\331n\235\20\n\221\344\200\305b\20\3234{\254\220wI\222\273-\254:\4"
+"\344\224\333\334\266\201$\371\314\36230#0\77\231\6\322qc\312=\226\363s"
+"@\34\372[\23\27\65\32&\365\22\201\321\42\62\307\313\322y\346\236apGj\215"
+"\365$\244\322\332\\\251\342\261:d\264\16\310\345\320\265\256\304\377&-"
+"\311\371~\347j\2\257Oz\233iLJ\306\6\232\367y\214\2275\327\216\13\3\253"
+"\365\335\322y~\300;\224\42\313;\36\b\204\22\272\177v]\33\237V7c\225t~\222"
+"\277\356\335\264.`\6|\276+\243=\272\264\371Gj^\260is\346;\277\347\320u"
+"\177\42n\350\346Q\253\365\42\341\264\334\202\374\202<\0\277\347~\315E\b"
+"[\266l\331\262e\313\326\277\242\77Y\22\22\343\334\42\211\333\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253"
+"\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\246IDATx\332\355\230\317"
+"k\23A\24\307_6\333$55I\33\23\332\306\26\252\245\202 \336J!T\221\330\203"
+"\202D\17\5=\365\342\305\377@\320\203JK(\264\b\202BA\21\21z\23Z0E\301\223"
+"\7\17^Dl\253\246J\20\252\275\4\225jBj\262\371zHv3\335\314\376\312^\252"
+"\314\3674\2317\237\235yo\347\315\316\13\221\220\220\220\220\320\377,\217"
+"\276\303KT\203\301`/\221b\361\274\24\360\275\217k\221\237\1\217,\327s\7"
+"P\3068\375\341<\360E\266\304\245\367\0.\267t\37)\3\350\263\21\216n\5\300"
+"]]P.\0@\332V8O\1\300K\37\33\340i\0xh\363u\314\3\300\327\236f\320\262\0"
+"\220\367\332\304\2455\0(\37S\203\266\1\0\210\333\336\r\21\5\0\60IDD#%\0"
+"\3009\7\273i\34\0\200\214\207(]o\336w\264\33\347\352P\266\363f\275a\333"
+"\361\206\373o\301J\2119L\206p\205\305\3178N\246$C/\264\221\2143\32\275"
+"\341m\3\227\336\250\216G\333:\13\366\227\353\370\204\203\343\202U\274\237"
+"\210\250\262&N\325\275}\316K\336\16\177`_(\374q\213;R\222}\376@0\30\312"
+"}\333\205\217\36\212\305\372\7\7\206\374j\337\371e\306~6\22\215\367\36"
+"L\f\204\211g\226\211\346\306MV\327\361\324|c\273\363\335%.\23esD4\222\344"
+"\77HyP\77.\223\26\363H\31-\275\323\316\315D\262\271\235on\256\251\372\311"
+"tu|3\343\322\272\271w\353\26x\321\34/\356\275\367.p\201\13\334H\275\356"
+"\360\230;|\310\25\356\t\272\302\375\356Bw\300\35~\334\35>e\33\17\360>2"
+"\223V\370\17\3556\311\31\67f\271\353~\252\215\4g\334\202%\276\2516Nr&\77"
+"j\211\177\320\352\270\226\373\267o\205\371\321\303\307s\315\222Q\277\343"
+"\226\272\255r\207H\322\312\217Jh\267\341\t\200\255w\252u\305\340\325^\323"
+"n\0y\226O|\6\200\301E\315jPF\7\232\325\2172\325\331X\367\360c\0\300Ej\342"
+"\263\6\345@\352\5{\35X\332\244\330\211T\243\256\271N\213\2274\323\352\255"
+"\325\355*QA\377WB\6|\335&bfW5\334\222\324\363\\\372*\331\303\211\322J\313"
+"\250\322(\31\342\372\224Y\356\272\247\353\271\21y\355\250\222\nL\\\321"
+"j\316W\263\317w\32\315\323\207\13;\277K\177~\325J\325J\245V\5`X\210I\301"
+"h\227L\305\302\266BBBBBB\377\264\376\2\377m\340i\360\232Dc\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233"
+"q\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\320IDATx\332\355\231_h\34U\24"
+"\306\277\231\335\374\331\304l\322\374%Q\13mb\203\305\252-R\252\22\253\326"
+"*jk\221*j\225\252U\4_\24\362`*\25\241\322R\224\26i1\24\203RD,Q(\245\206"
+"\304\b\242\320\27A)EJ\24\211\20bS+iX\323\215\254[\343\344\363avg\316\354"
+"\316\334\271\273\223\307\375\236\206s\317\376f\347\314\275\347\234{\307"
+"@\200b\300\22\203\307,\224\246-d\252\323w$>N~\202Ru\214\2646\371\330\33"
+"\247\310\351x\3118\363\27\222/\27\231{\263$;Q\272VX$\7\r\257\361q\222\334"
+"\201rt\37I\236\255\26\26\343\0I\236@y:B\222\227\232\335\2270J\222S\261"
+"2q\346\4If\327\345_\302$I\262\35\345\252\311\42I>\t\0X\223!InG\371\352"
+"#I\362\220\1\354\260/\77B\24\35\266!\243\211\375\366E\331\201\313\205\357"
+"\'JYm\210\246\306E\211{\30Qu\267\240}\210\350:\350\320&c\313\2003\317\347"
+"\3\327\202\345PC\326\306m\rw5tx\355]\0\2608\201\212J\212\235\221l\356\354"
+"l\252\6\256^\231\371#\315H7k\177\366[\317\32\343\251-5r\n}\7799\251\313"
+"J\354N\321G\203\255\216G\77Ij\315\r\\w\224A\32L\330.\35$IS\3\26\333G\205"
+"\26\267\3\200q\216$Y\25N[7\353\374\364\362k\2675\305M\3030\353V>v\312\261"
+"\216\325\2O\331\227\211\320\227\351.\372c\336\302Pu\377tn \335\333`\'~"
+"&Ch\365\347\362\260\221bW\243/\235\33\314\77@\253\232\2662\357\317G\375"
+"[\224!o oP\3226\346\335\262=A.O{p7\2054N\271\344\246\270\353f\211[\37^"
+"\bInP\335T\362\372\202\335nu\234\336V\7x\217\213{$\320\251%\233\367\371"
+"5l\256\177\341\340\236\tr\211_t|\326\206\315\315*g=\277\352\251+\342\372"
+"\204\23\375\257\177\16\303->\350\3641\252v\316\326*\215e}&\347{\304\177"
+"\270\306\t\34\265jLk\316\3713Eoh\353\36\255\24\366\201\355\374\215\357"
+"`\207\230J\325Z\270\26\333\371\202\357\340I\2276\242\231\256O\223$\347"
+"\24\267\42In\326\304\365\332\356~C\373\5\256Q\267\n\3161\240X\304,\227"
+"\366\267v\241{)\250Xl\224\225E\33\327\22T,\206\5n\247~\35\236\366/\26\246"
+"L`=\372\270W\374\213\305j\211\253\327\307\335XX,\3548z6\232\377\350\343"
+".-\1\220m\206\2751\2259\353\352\222>n)a\0\377\26\247\33\361\254c\221\372"
+"h\0\250\221\233\347\363\221q+\244\345\317\3108O\3470\33\31\347\331\332"
+"\317E\306y\332\214\277\42\343:\244\205\321\337\254\264X\313\373\260\231"
+"\310\270\345\223\31ynx\33\t\0\310J\213\252\214=p\\M[\33\7\200\5O\371V\365"
+"\271!\271\3200\1\340\2624\325E\216\335EiIF\216\335\25O\357\241\360\376"
+"\375c\0]m7\27\'\354\337\246\346\323\3719\233\220\271}\237\306\237\250\272"
+"kN\374bb}A\274\263b\360S\255\247jv\177\220\212\25N\343/\205\343&-\\\352"
+";\347\362s\253\20wF8\366\350\355(\277r\256f\212\26\331Y\317>V\13\347&\355"
+"\377\212p3\322\244wN\232V\244\0\16\t\323\35Z\270*UF\221gU\317i\341\222"
+"*\334\5\261l\267i%\255&\25\216\375\302\326\255\203\353V\246\317\223\302"
+"\366\274\16\356v\365\360^qr\240sL\347\272\17\370%\367\367\335N\'~o8\255"
+">\244V\\\23/t(|a\254\t+=\303\77\270\335\343\235\241\270\27JI\22\263as%"
+"n\205\304\16H\271\207\221mo\204\340v\352\314\315\267\334[\336\242t\254"
+"\225\tr \260\20\271\33\263\254\352\334\337\30\241\16\16\346\230\343\224"
+"\356\n\306\275G=\34L\367\324\312\n:\3210\216\333\16\7\255P\34\214w\305"
+"n\312\267!h\311\35Q\275\210C\3418`\233\313\313<Q\264\334\252\337\244s&"
+"\335\241\203C\253\370\246\220\355\227_\24\214\353\337\311=\340\374*\0\370"
+"Q\7\7c\227\230\244L\37\336\272\2729\231l\356~\350hF\236\6\42\377\261` "
+"t\2\326\36P\235Uf\362\347DfF\17\7\324\275\236\r\242\355\255\361\36\315"
+"\16h\25\3s\303\260\17knw\255\314\360\3728\0\261\356=\3432\214\243\273\n"
+"\213\346x\1.<\263U7$\33\1,\244\27\256\25\357\21\352;\200\324<*\252\250"
+"\242\212*\252\250\42\77\375\17\36\35\311\263\343\356\312\177\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\67\0\0\0x\b\0\0\0\0s\276"
+"5#\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\202IDATx\332\355XMlTU\24>\357"
+"\275\351\264\235\332\237\251u\n\263h\250-P\5\245\320@L\260\t\4]\270\220"
+"\306\4#\301D\3E\224\20\26\66\61bb4\232\22Y@\210D\202\230Fe\1\33aa\b\304"
+"\20\67V\b!,\214\220\241Q\322\324\211\16M\32\255`\353\364\2257\217\317\305"
+"{\347\375\314\275\357\316\33\227:gu\347\234\373\335\373\356\271\347|\347"
+"\334!\252IMjR\223\232\374\33\321\374\241A\364\0\21\323\f\42;j\211-\300"
+"\354R\251%\361\rp*z\357c\200\375\224D\337:\5\344\23\3218}\2\300nA\275\322"
+"\4\260Tu\330\264\r\340\270\26V\276\0\0Cj/m\6\200\361d\320o\243\0\360E%"
+"\367\36\1\200B\273\357\221\13\0\60eT\302\3519\0\60\237`\217\334\6\0d*\337"
+"g\233\r\0x\221\210\210V\24\1\0\317\307\t\204A\0\0>\322\210\206\234\341"
+"X\274\b:\354\314\276\320\370\2013\250|8\367\210\77\42(\366#qC\266\325\n"
+"\342\236\213\37\353\33\3\260\223\325$\311A\17v\333\250\6\247\377\300\207"
+"{\270\272\254l6\35\334\263q\3626(\231,\21\221\225\373/\361R\214\311\231"
+"\256\246\331\337f\325s\264\362%\365\227\347\1\0\371\rrD\375\252WO\345\0"
+"\0\323g\206{tVwNz\321\360\246\204\3626]\r\2055\254\203\355>\205\260\254"
+".\247\327\335\26D9\331D\2647\244\271\22\206\255\371\35R\261\267\177X\246"
+"\321\203\260\267<\365\370\320\262\326\226\266\236W\246\202s\217&\23\363"
+"<\256\13\300>f\345\305\16O70\353\301\3669\214\16\0\60\3\276\36\341\t\373"
+"\203\337\320p\323\325\26\64\42Z\347\376x\333\237\260\232a\7\302gN\361\267"
+"\355\42\42\355\42\0\340\'\77+u\376\240\233\345\327\275\211\27\314\20\221"
+"\276s\32\363#\201\32\263\215\255}B\340\24\330Y\222\310\324\370\6~\25Ca"
+"\7/\331-\332\272\330\266G\222\303l;\42\332\206\331\326+a\33\266\231\242"
+"\355k\266\245$\201\356\335~\243`*J\3\250|\321\316\300G8n\361Vz \301y\276"
+"J\t8e\n/\6\272\2210\16J\234W~\213\2\356\357\360\357\260\364\360`N0\235"
+"V\371S\3464wx\216\177g%|\303N\373^tZ\232\227\334+\342\236d\233\254\211"
+"\271\342\332\246E\323g\321\327N\324\307\306U\345\226\24[\216I\235}\326"
+"\265Nhb\267\347\220S\223\234m\357\272\366w\302\372\r\274]T\27\223\265d"
+"\374\322o\273\332\343\221a\221\345\35\3176{\354\355Q\343\230\42\24\33/"
+"\361\2543OgR\r\351\376QKQ\21\202\262~F\312\327\223\275JTz\307u\31*\277"
+"E\231.\313/\313@\323\357v)\353\255\376\351k\316\340\316w\267\376\230!\272"
+"W\242\273\367\347\347\346J\25:\235k\0\200\323\275\211\352\312\374\t\0\300"
+"\306j\273\203\316(~\254 \7\0\0\375U\343\234\22\360X5\255\37\21\221\346"
+"d\371\372j\267K\272<\336Se\277d\360-\335\370\362\326=\323Z\bN(-\226\356"
+"/Zr\242\324PIf>\37\222=>.!\206L\256\25p\317 \226\34\26Z\266B<\340Q!\327"
+"\355x@!\22\263\361v\374K\250\37\306.3\16pPB/\327b\340\316\13\250\21\23"
+"\0\212[\33\352\303\322\224~|g\316\7\206]\252\273\335\331\211\244<\254V"
+"\344\31\327\34T/\311Wz\237$\270\277\13\26\272\345\356-\f(\2\271Clp\370"
+"5\264O\231\1\337\n\373\235s;p\365\233\355ugV\332\177_\42\326\373\367%g"
+"\226\341\345;\237j\\\215s\32\314\237m\17\307\']P\343\336 \42\242C>\277"
+"0\325\252\351l\355\22\42\42\372Jx\351\243\250+`\215Nc\373IP\305\2410\22"
+"\rkq\36Gf}P9\312\300\341(\362\332\352\26\320\225\341\30\362\32\323qY\321"
+"Jm\343jZ\376\'\322C~\231\235\332\363h\203\37\362F\333\232\375\23\36\247"
+"u\13\365\257\376|(\242\357L\24,j\351\350^\26T\36z\317\222|\314\272\234"
+"2]\355\367[\243\\\3265Z\214\0\231c\3\t\325\273Xk\357\33\34\334\34\352\336"
+"~\271z\371\372\344\237\210\363\236\326\352\214\272\244A\264@\213%\373\177"
+"\373\377\347\77\235\323\220&\311\31\'\0\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0Q\0\0\0x\b\0\0\0\0\257GA\24\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3\222IDATx\332\355\331Ih\23Q\34\6\360o\222\332=M\27"
+"\333Z\213H\265D\\*B\335P\24\353rp\243(\26\n\242\240\210\340\301\263\202"
+"^\n\212\36\364\42\212\b\242\210 =((\242x\360\240E\351ID\244\270\24\225"
+"\42\245Rj\325(!Z\306\317\303$\351\77Ig{\363\20\304|\227\206\367\376\371"
+"e\372\336d\346\315\213\1\273\204\201\337\264\3573\341;\33\310\361\246)"
+"{\212\36\220\327\240\220s\244\271r\212\366\350\7r\250HE\f\275\42y \257"
+"y^\222d\23\224Rc\222\274`d7\356 \311N(\246\203$\373\212E\213q\202$\257"
+"B9gIr\270vrN\356\221\344\207\260\272\30\32 \311d[zN\6I\222\r\b\220j\223"
+"$\331\5\0\210%H\222\333\21(kH\222<e\0\235\326\313\313\b\2303\226s\257\254"
+"\307z\21d\20SC\371\2022f=\2\':!\305\315\320\220\325\2\274\4-9\231\1\7\303"
+"z\304\320\363\364 \326AS\42IK\334\344\245\330\360D6\314\4\200\211\1\24"
+"\362\327b\0(q\251\341\257\314y4\315\261\360g\346\35.\351\313\274\245\323"
+"\271\260\30\0B\332\377\353\177A,\2\320\1\240\266b\346\362\2559S\364\371"
+"\366\313O\211\357\300\267L\313\323\16 \322\270\252\273,\37z}\353\355\370"
+"D^klT\f\363\253F\373\23\244+{F&\216\315\265\273(\265\2112\307\353\314\25"
+"Q8\274\326a\350*E\241\3435dO\246,\261\305\261\260D\210\216\303\1777]\325"
+"\353\362\365(\366(6\246\213\272\334f\336\243h\364[%\311\30\64\211\207S"
+"C\350a\315\347Ml\267\n\342^\326\77\236\304fk-\24\367\264\26\360\42\66$"
+"}\200^\304\372\270\37\320\2038\335\37\350.\372\5]\305:\277\240\233\350"
+"\37t\21k\375\203\316\242\n\350(\326\250\200Nb\265\22\350 *\202\366b\365"
+"W5\320VT\6\355\304\350\270\325\264\13\232\3044\310x\261\36\61:\226i\353"
+"\325\42F\345\262`\243\6\261j4k\365P\31X\314\6\311GA\305\310h\356\252sw"
+"01\37$\3}\257S\240\271\323\24\355\3\206\272X\231\2[\261]\36\344\21e1\r"
+"\316\3p_\222s\24\305\212\248\37\0\312\223\242g$\254&\216X\177\26X=\353"
+"\344A\236W\23\255,Lw\335\220\255K\325\305E\223\213\325\270h\376Q\242*."
+"\26}\313d\307MEqIV\347E\225=\225l\261=\347\321gL\356\373D\24\304e\271\275"
+"\13d\357\23\303\267\270\42\277\373\224$\367\351X\367\204\77J\262Q\307\332"
+"\254E\212oB\32D\34\225\344q\35b\350\215$c\32D4Iq\264H\203\210C\222\274"
+"\250C4\236\321\371\24\363\377<S+\305D\251\216g\256nI\336\321\362\\\370"
+"H\222\333t\210\21yk4\243:\236\206\267\310\203\3547t\354\1\334\225\344A"
+"\35b\231\2745:\376X\343U\304z)\16\2064\210x(\311\36\373\272R\317\342,\333"
+";\\v\252\274\356 \345lZ&\42v{{\362\247\267VG0{\241R\366\256f\312\252\362"
+".y\352&:\34n\363\325\327s\356\354\346\336r\261\217\333\3`F\264ei\336\224"
+"\375|\366>>\6\f]\311\264\354\237\r\2409\266|\252\17\373\366x\350\13p\332"
+"\337>.\372\334jY\363\177\356\343\26RH!\205\24RH!\377c\376\0\247\377\336"
+"C\240\342}\332\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3"
+".IDATx\332\355X[H\24a\24\376fv\361\226\262\251%\256Y\371\260\251\221\246"
+"\224\17\221e7,,c\321\22\202H*\42\241\207^\n\f\202\2400\202./FA\22\210O"
+"\275\330\355\301\350%S+#,\226\24\23\23\24\61\13B|\210.\253\262\373\365"
+"0\273;\263\367\371g\241\244\346{\2313\347\234o\347\77\377\236\313\314/"
+"\1\260\0^\42\62,\200\7\261\260\213\234\265G\264X\237\222\35\210\215V\322"
+"\263)\202\3366ANZ\343\220\345\21\222\'\302\324En\222v\304C\246\207\344"
+"-)XYG\222N\304\307\16\222\354K\322h\244\26\222l\207\36\334 \311\351,u\253"
+"\272Hr\302\242\213,\17\223\244\273\324\277Uc$\311\34\350\303R\17I\262\1"
+"\0P\370\223$\271\37z\261\225$\311+\22\340T\304\273\320\217\353\n\245+\365"
+"\242\42\350\f\330\27\366{j\341Y\16\21\330\26\264\344\32\210\241R\303\275"
+"\3Q\\\16p\307,\302d\331\345\178\33\342\310p+\344j]\336!\305\200\234<\0"
+"X\30\306\77\f5fI\266&\245\244\246g\330\262~=\326M\316s\346\344\346\345"
+"\257\324$\343\213*\335\317v2\24}\272\323\42\221\230\23\42[1z\t\0\62k\34"
+"\211\374\314\372Db\36|\220H\314\217\22!\177I\204\274\360g\377*\223l\222"
+"M\362\42\353\2361\246I}T\323Co\\rgTS\362\374\342\3350\257$I\222\234\262"
+"\341S\220\366\355\321\342ty>\324w[\264\211Q\244\16\320\211\332\24\235\273"
+"\355G\340\313g\374\240K8\3463\276\353a\207+\252O\264e\227)\332\241,\3\273"
+"m\177\3\0h+\233\215\345\25\371\311v\345\245\377\224hz\2\300\252\217\311"
+"\0P\333e\200\354\30\225\1\240\262\337@\206\225(\334\212~\3\351Y1$\3@\331"
+";\3\351Y5\0\0\336u\203\6r\273\246\27\0\274k\77\30(\214\372\'\0\200\257"
+"\343\6\252\252\361\276r\315m\323U\235AI\322\244VR\265(\371\254\366\353"
+",Sl\331\27\256i]^\312\2Ov]\ry\207n\21 +8\331\252\312\33\5\311\207`\231"
+"\f\334\270\323\204\310\373\0\254Po{$\1\362\26\0\300qUqZ\77\271\33472\272"
+"U\225C\'\331\263\306\257Z\342\16\220g\222\364\375\317\257\306\374\322\217"
+"\235\1e\366=\341q\323\177[-\224\6\341\6h\231R\303\316\25m\275\236\315\252"
+"\374\332\42\332\267\247\232\2bA\253h\337\206\324\243.|\273\350\304`\355"
+"\\@~f\23\35t\337w\253\336=\262\350\224\354S;Q\371M\301)\tX\247\325\260"
+"\217\3058\215#\311\2210S\201\246f\352\42\222\17\370\315\337\242\34\324"
+"\371\320\30\211\334\21\60g\204\331J\265\265\336\236\34jN\3254\314\221\202"
+"\320\332\77\37|\332u\316.\371N+\322\367\244-+\336\233\37\344<\327=\360"
+"yf\246\27@Q\t\322V\37)\f[\313\363\336\316a\0\16FA\37\0\64G\263\262\371"
+"/\276>\2320a\302\204\211\377\b\277\1>#\337@\243Yg\314\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\4[IDATx\332\355XMHTQ\24\276\357\351"
+"\274\361\1772Sp\264\37\323\312\312(\25\23\5[\224\20T\266\20!tQ\244`\77"
+"P\320\42*\212\2406\256\42\224~ \42\t\311Zh\21\201\213\332D\77\204\204D"
+"X\314\42\3040%\232\244bP3l:-\312s\317u\336\317\231\231G\264\230\263z\357"
+"\235\357~\367\336w\317\375\3569W\210\204%,a\tKX\302\376\251i\216\200\364"
+"\305\376\2\257O\210o\237\306\203\241_\361\364\245\27\267\77\1\305^\264"
+"\25j1\222\25w\316\201\211M\235\314\215a`\365#`i\217WG\311V5\1\266\366$"
+"\77\n\262\314\307\262\341\304\261\362%\36]\323tO^\365\371\31\371\375|\22"
+"\227mgx\276M\370t\266\272\314+\357#\337\207e\274\320\351\302\26\27\214"
+"Hw\376\20\272\233\30l\36\f\215\251U\346\335\265\42_\207c\320x\3\363\330"
+"@\272\25f\23\6P\267\3\237\201l\243)6\21\211\77\267\307\226O\177>\217\233"
+"\315\264\303\225\343|\273\354`W\21Ve\77\213\343\b\334g\rjDP\247\323\362"
+"\277Bh\251\25&\27!\263\206\323\222\25 6d\201\325^#\244\3059\240\256#\270"
+"\327\34\320\202\200\31\306\6\312\226\373\255\302\314\237\42\345\350\0g"
+"\367\364!<\250\233\270;dw\31\34\2725\22\337\34\351\315 \352\303\333\333"
+"S\362\347$Gx\317H\272\355<\3419\7\326b\340\tK\247\217GW&[L.\334k;\244o"
+"\206)\213^\242\316\353\27\370\2\322u\203+\263\223`\25{$\212`\17\227\356"
+"*i\364wk\374\r\31\372\367\337p\351\236\222\347\215\212g\220t\264\230KW"
+"A\32]R\326\25\42\307\355l\5\20\261~\177&\253\34Js\\\272\20yN\365\21\272"
+"j\342\230\6.\335,})!t\365\344\373(\373t\17\323\227\315\204n7\371\376\236"
+"M\247dgu\222N\317!\337\277\305\226o\325K:\345\f\f\362)\350Dr5\244K\243"
+"\30\210mt\42\t\351\24\271\374\314g\230Pb\27\351\2741\16HY\213d\363\311"
+"\306j\311D\2\3342]\b!\246\335`\232C\272\37\212\310\362\31\24\350O\363\321"
+"\371\370ty\f:\17\237\3160\247S\244a\t\237\316O\236\307\344R\300xlt\324"
+"\36\21E\271G\276/\215.*\314\16\216\6\42\323s\374\205\245GB\231\205\352"
+"\3\273$\364\321V\351d\300\37-\327\3136\305#\317_\247\t\335\257\2734\227"
+"\342\322\25\322#\\\371\235W\350\314\271t\353\310\363m5\365$\177\241\205"
+"K\'\363O\b/H\177\7\244\253\207}0Z$\1J\35\3\263\334\252\227\314\250hajJ"
+"\262\253l\36]\235l1\22\341l\222\316\6\36\335M\331b[\2446\313\302\374%O"
+"\314I.k\242\351\315Q\316v\213\335\340\204\320\345\345\304\31\16\3350\302"
+"\207M\267e\245\214\42\306>+\226\203[a\216\270\205\200\343\316t\317\344"
+"\25\210\225V\207\370\245E\25B\337Y\236\255\245\210y\350\264\254\30\246"
+"a\33\365n\343\324\344B\b\321\203\300Z;\330e\204\225\330\301\366#l\277}"
+"\31\330\213\223\360[\243\344Yp\324\251\254\274\203JPf\205\221\327<\355"
+"\316e\252,\223[M\303\323\270\206\200]\234p\227b\360\2668\262\267\255X\25"
+"\177)b\236\1\243H8T\243l\220\314\246/\350\352c\37Q:)\275\341\371\241\32"
+"\177NVV\336\362\255\247d7\20\252\215&EX\324g{W\31>\234$\2423\377eK\262"
+"P\253!\242\267\324\206A3\262\356\r\261\336\34\213\264\312\23\1\232\276"
+"\f\354[\31o2\255\245\210\275\0pq\205\341RZ\336\13\20Lu+\267\327\6\354U"
+"(J;\13\0m\256\261\345\0\0\260\247\352\370{\17\n!\306\276\2736\272I\0\350"
+"\27n\215N\317\21B\220\223/%)\256\301\31\0\0\200\245K~\260;\2760\241i\201"
+"\266\7\0\226\305\305\367\0\0\0N\33Bxj\3\0\2603\276\245\230\277\364\233"
+"\f\1\0\204+\343]\332n\242\1#\361\357\16]^8\37qE\4\326\366\3\0<k4\\\223"
+"\1\257G\23\tK\330\377j\277\1\214z\372{\260N\254#\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\3\3IDATx\332\355\226MHTQ\24\307\317"
+"{3\363L\315\311\32\3054Mg\321B*\42j\25\32\204\320B\261@(k\221\4F\4C\265"
+"\324(\212\240vA\30-\5\203\240M\331F\224\20i\21\272\22\202\220A\242L\372"
+"\16\225\22\213\311\217\354\264\360\236s\357\274wf\346\275e\360\316\352"
+"\276\377\377\376\356=\367\343\335{\1\302\b#\2140\302\b#\2140\302\b\30\226"
+"\25\244v\331\221\233\223\210\210\357\357\265o\363S\77\322\222F#>\36\217"
+"\26J\347\330\22\272\42\323\2317\305\3124\n1]\231\233h\243J\257:\32\266"
+"\304\267\267\274\240\357\243\271\210\36U\341s#)\3653J\272\224\237\30\217"
+"i-J\35\245$\342\2642g#\246\32\235Ur\233\227\330EyWe\353\265\244\327\272"
+"\211\350w\345\334r;}4B\333e\334\241\3066\273\221rr\256d\353\25\244\17z"
+"S\36#\257<K~B\362A/\322D^\277\251n\345\225.\362\42%l\226\1\0\300\306\230"
+"\316\223\375v\305\213d\276P\351\254\261\31\227\251\235\33\322\212\335&"
+"\367\227\305\275\324q:\23\22\302b\351\16F\364\312\276\223\220\327\\j\325"
+"\315\360\0\343\22\302+\203\23\0\0\26\0\330\353\354:k\2\342\3509\211\374"
+"\335H\254T\273\177\244^\214fJ\325X\22ZB\t1\304\n\205T\370\77|\b\321\211"
+"}\222+j\271D!\361\374C1\345r\205\254\370O,\243\220\f+\t\271b\225\7\371"
+"\241\217V\31)\346\322\242B\346\215\r*\36\241\272\370M!\213Z\262%\304\20"
+"\177\252\317U\235Y\221\204l\342\322\374*\265\360\2205q[j\361\1w\372\230"
+"\265:\t\251\347\322SF&Y\333/!\373\270\364R\213\317\350\207\30\221\220\347"
+"\344\16\33\342^\376\211\204)\263\331\334m\316\374WR\223^$\311\227\240e"
+"\3149\236 \377\224\27\351\242\302\311\254\277\311\242\33o\331\223\231\275"
+"FW\233\313\250\241\336[\335H;9\325n\347\2622\26]\227vt)\347=f\r+\253/["
+"\277\257\344!a\307\306\246\224y\306T\317)qJ|18t\375\366p\203V\257\222\336"
+"8\362\237\24\243\313g\246\331\1\0p\16\323\335:\226\363U\302\215\42\316"
+"\215\216\316\361Go\276\'IRx\221\244\223\5\336=\315.(\335\344\343aV\223"
+"\242!\340l\252\306\357q\25\205.D\274\333\20\361\177\302\331\217\20\3\276"
+"+G\20\327\203!\327\21\261;\20\221@D,\316\235\265\240]\0\200\17\277\3\365"
+"\262 \277e\362\364b\'\0\240\3018,\13O\265\203\210\210\374Z\254\236\33("
+"<\305\210\210xM}t\42\342\316\202\314\20\42\42^u\0b\207\246\345g\245;\366"
+"\250\35\266\260\204\210\270~\300\317\224\r\30;y\306\337\25o\3673q\321\366"
+"\2734\215\203\210\210\343\35N\240\255Y\24\263 \214\377(\376\1\62K\214#"
+"\313\31|\373\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0"
+"\0\0x\b\0\0\0\0J\331\204x\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2:IDAT"
+"x\332\355\227=h\24A\24\307\337\336\236w\321\340\2359u\203\21M\252\2441"
+"\235\205\240\26\242\26\212&\b\n\222V!\240]\32\355$`\220\200\26\n\42\202"
+"\42\66v\22Dr\244\20\213\224\212\210E\26080\210\\\'\347G\216\343\360\330"
+"\374,vfw\263\337\215\202f_so\336\375vg\336\2337\354\177Dr\313-\267\315"
+"b\206\347\232\42\353\304`\346\206\321qh\355\211\344\212K\360\324\37\270"
+"\7\366\241\b\260\272\n\237\213\376H\341#p9\4\216u\201\300d\3\66p\337\330"
+"\30<\7\60\31|\374\30\300r\311\237\361M\200\'\341%\335\1h\326\274\\\26\1"
+"V\3150YX\1\350\216\353\\\32\0XQ\5\331a\3pADDF;\0\234\215\256\361Q\0\270"
+"e\210L:\356\243\270]\273\355\374\277\270u\326q\242\26\251\226\372\1\277"
+"\331\273\343[\241\332\363\223\247\222\272\346\260\17|\230\334`s.\3300\223"
+"\311\302{\275\310\235i]\273\275\353\220\'\243;\331o\326\220\210Ho%\77\352"
+"\361U2L\263\\\352\353\337Vm6\42\311\321\361]5\313\32\34\36\361\16\354\365"
+"y\337\241\367\334\351\231\344-\316\274\316\354\244o\3667\217EDd\344H9s"
+"9\256\270\355y-yv\36\254e]\'/2g\364)3\331\371[\365\314\311\234\314\311"
+"\234\374_\311^f\362{f\322\376\3\357\\K#\267d~\347\200v\276\245\221}\332"
+"\371\221F\16j\247\235F\356S\277\353\277\3226\256\245>\305\257\202\273Y"
+"\276\364\266\275t\302S$\206\316\350yp.Ga\277s\5\177Y\177\336\307\2\211"
+"\376T\361e\35\331\253\311\200L\235q\25\302\260\212\234\211Q\276-\227<\255"
+"\42\13j\274\77p\233\362\324\263\272\33\225\324\360uP\334x\312]m\367\224"
+"\32\207n\33mM\3169\343\212\222\363\323\2412\337\320\344\1\21\21\2515\235"
+"\321\263\2606\254hr\241_\244r\325\271\313P\217\332\346\t\302v7Z\223\237"
+"\17r_\17\306u\204U\367s_&\222\216L\355b\275\7\320y95\224\341\266[\304\266"
+"\377}=\377\33\250\27\265\273d;\251\275\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\4sIDATx\332\355\230]h\34U\24\307\3773\273\233O\273\335"
+"n\276H\325H\233\264\245\305\257\26\255\365#F\255Q\320\266/-\250\255TM\241"
+"\340\203\nyp+\25A\261\210b)\25K1 \42\245%\nE\332`\254 \n\276\b\226\42R"
+"\42H\4I\33[I\227m\272\221\355\326\2709>\354\354\314\231\335\231{O\230\373"
+"\270\347i8\347\77\277\231\271s\3579\347\336\30\26m\251\201\276\253\327"
+"a\312^!\42\32\62\4\263F\210\210\210\322fh\307\3124z\302\b\355\270C\243"
+"\207\215\322\346\33L\322\350!\223\264\302}&i\207L~\351\304m\6\377\302\374"
+"\16\313 \355\363f\203\363mj-\f\322\366\332\6icI\230\243e\357\205AZ&&\24"
+"k\25\351\36\340B\16u[\374\330Y\311tww\252\1\270ve\372R\236\42=\254s\327"
+"\367\344\263\223\233\33Y\330\376irrR\312j\336\235\243\0;\322\356*\206\211"
+"\210d)\341\246\303\24fG\234<\320EDD\222\225\27\333O\n\233\337\n\0\3269"
+"\42\42J\350iw\314\270\267^~\365\256T\334\266,\273\245g\333I\327;\336\4"
+"<S\276\324\246,\353\200{\333G\235\276H\342\261)\'\220_\263\244T\276\322"
+"e\206\326s\25X@\22\261\372\363N\260\362\1\355jZOEOO\7\306\343#\376\201"
+"\274EI\333X\221\25\373\302$\317\372p\253T\264\315\25UI\361\324\1\216[\257"
+"\240\365\273\252\r\252\207r^\177\270\354NW\364\226z\200\207<\334S\241\242"
+"\266bE\363\273n\256\177\351\342\236\13\223\304/\272\232u\272\271\231p\327"
+"\363\313\334\315\337\3423w\364\277\375M\207\233w\373\305T\210\342Qo<V\b"
+"\226\365)G{08\334\350\16\34MHRN\273#>\36\34>\350\275\234\254S\375\270,"
+"\376.0\330\305\246\222\254\177k+\213\317\7\6Ox\2641a\272\376\212\210\210"
+"\262\212G\21\21\321\200\20\267\246,\17\n\275\315pK\245U0K!\305\42V\362"
+"h\377\210\13\335\236\260b\261\221W\26\61\256-\254X\2142\334vy\35\236\n"
+".\26\66O`}r\334\336\340b\261\222\343Z\345\270[\253\213Ey\34\67q\315\42"
+"\266\276\177-\0\340mF\34\0\300s\326\265\59n\241\331\2\376\255M7\354[\307"
+"\243\364H6\0\64\306\231\347\227\310\270e\334\363wd\234\257s\230\211\214"
+"\353\346\236ld\234\257\315\270\32\31\327\305=\24\375\317rO\311\354\307"
+"\26\42\343\314\231\35yn\370\33\t\0(r\217\252\214=~TM[\27\7\2009_\371V\365"
+"\271\232\\h\331\0p\231\273Z\42\217\335E\356IF\36\273+\276\336C\241\276"
+"\360)\200\345\35kk\23\366\37\177\316\346+s\266\231\347\366\375\202\227"
+"H<\220ewL\254\257\32\357\42\13\36\23}U\332\273!\27\253\236\306\247\231"
+"p\223\b\227\373\301\275\374\242T\215;\305\204}\262\35\3457\356\325t\315"
+"\42\373\321\267\217\25\341\274\244\375_\rn\232\273\272E\270\274\42\5\320"
+"\bs\335#\302%T\31\345\23\346z^\204K\252p\347\331\262\335\42JZ)\25\216\206"
+"\231\257W\202\353U\246\317\23\314\367\202\4w\267:\274\217\235\34H\216\303"
+"<y&(\271\37\362:\235\370#zZ\253\246V\334`\77tD\2770V\353J\317\350\317^"
+"\367x\277\26\367\342b\222\304\214n\256\304K\232\261\3r\203\356e\307\353"
+"\32\334v\311\334|\323{\344\355Ja\23O\220\231\320B\344m\314\212\235\252"
+"\2025F\22\34\354qW\224_\36\216\373\200d8\330\336\251U)\354D\303:Z\26\34"
+"(iq\260\336g\273\251\300\206\240\3159\242z\t\357\351q\300\26\217W\330Q"
+"\263\334\32\336pb\203\356\216:\243\331\344\377\352\1\213\303\35\374\325"
+"o~\307\371\300\331\25\0pV\202\203\265\223MR\312\1778\2702\235L\246{\237"
+"<\\\340\247\201\0\36\24\341\200\246wUg\225\205\3129\221]\220\341\200\226"
+"\327\212a\264}\215\376\243\331\214\250\30\330\33F\3X\331\335M<\303\313"
+"q\0b\275Cg\3700~\275\263\272h\236\251\302\3513[\303\222\344R\0s\371\271"
+"\33\265{\204\326. 7\213\272\325\255nu\253[\335\352\26d\377\3#\271\222\0"
+"^\234,\352\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\67\0"
+"\0\0x\b\0\0\0\0s\2765#\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\27IDATx"
+"\332\355\230]H\24Q\24\200\317\314\256\256\256\371\263\42k\370\260eZ\331"
+"\17eI\77PV\322\317[\372\42\24\6\205ZV\204\17\tQA\24\204A\17\205\24E\77"
+"D\24\241/\325C\b>H/Y!\341[bR f\245\202\224\375\270mk\263\333\351a\346\314"
+"\317\336;\327\231y\254=O3\347\334\357\316\235s\317=\347\314\0\244%-iIK"
+"Z\274\210\317\331\260\202\255\345_\177\271\237\275\25\21\261\311-%\335"
+"FDD,t\211=P1\334\345\16\353\3240\334\342\rS2=a\270\331\23\26\333\340\t"
+"\353\360\264\310\241\5^\\\242\324K^\260\373\331^\366ml\31x\301Zd/Xw\36"
+"x\300>\257\3/\330I\321\331\344{\2700\2\360a\372_\310K\356\42(\34\311\231"
+"\376$~oIJ\235R\336\27U#h=\237\b\2548p\177\b\21\21\'\273\232\313\364x)\36"
+"\321O\360q\26\362o\353G\213(\27\3244VcV\256L\315\302\7\25d\345V\16\300"
+"Q\213\346\245\25[\375\31\271\222\334{>Ec\211\366\23\272\272\257na~^A\331"
+"\376Q\363\330\216L\177\224\2563L\330\25R\366\24\351\272\252i\35;\6\0W\265"
+"\353\270\311\327m4\240\325\274\206\254AM;.\1\300Z\355\346\2441`%a\247\254"
+"\357\34\244\2655\1\200\324\203\210\210o\215\223\42\323\202\6S\267{\33M"
+"\30\6\0\271q\22\243m~\303ZO\326\n&p\306\311Y\234\310\224h\7>\262\241\320"
+"@S\226\262\266\b\331ZX[\230l\227Y[3\331\312Y\233L\2668k{B\266 \'\320\365"
+"\335g\23p\214\33@\251\223\26\233\26\241\272E\237\351\17\207\323}\25d8\341"
+"\21\236\3454-*\207BN\357#b\f\367\323zo\2252\272\230aL\235\42\177\362\234"
+"\246]>\246\373\22N\276!\247=g\235\26\242)\217\262\334*\262\325q\326\362"
+"R\263M\262\246\333\366\333\16PA\306\25\251\226 Y\256r\235\375H\263\16\247"
+"\356%\345\206d\16\77\333~\323\354\247\255\372\365\364\270\3356\273[\242"
+"\360\362KeR\323^\267\r\213\22z\342\243\\={\353\251\361\216 \24\263{iT\327"
+"\346p0+T\331\256\b*\202Y\326Mq\363\365H\271\220\n5\f\360\250\261\355\302"
+"\343\262\370\5\17\232<\23\21\326[\371\346!\365b\342\331\233/S\0\337\23"
+"\360\355wtf&!~1\371\25\42\42v\226\373\335\225\371\33\210\210\270\311mw"
+"Pl\227\37\347\220S\210\210X\351\232SK\200\233NS\6\0\220\324S\356\272\375"
+"\313\324\362x\231\313~\311G\273\364\372\336\233\357q\305\362\301\226\230"
+"M\374\236U\370\211R\302\271d\352n]\230\3\366\242\3\31Y\303p;\320\221\\"
+"bZ\266qg`\7s\326\223\316@&\22K\234=\361\7S\77|Mq\'`5\'\275\274r\300u3T"
+"[\34\21\61V\233\25\260JNhy\343\220\1Z]*k\335\331\r\233\317\303%c\304\345"
+"\232\325\3635\365N\333x\364S\177g.t\213\265]\250\22\4r\21\333\340\344\306"
+"\215\16\323^\2362\317{\254u\340\342\177\34\207\325Q!]\221O%@|\342\366\250"
+"\243|\372y\247\267\352\23sj\203\371.\251s\364\246s\374_9\2\0\0\27\215\374"
+"B\251V\234\316\326\314\7\0\200\207\206\246\232\376$\210>\201\263\325\306"
+"\366\232YE\241\320f\217\345\251\37G\361\200Y\331N`\263]\362\252\325\n\350"
+"Rk\f\351\215i\37\257h\5\353\251\232nL\261\3143\312\354h\313\242,#\344}"
+"\5\253[\207\365\234V\312\324\277@\267%\242\'\206\307\25\310+*]hV^<\253"
+"p\26\263vHx\\\223\347\362\355\\\26i\217\331@\361;U~\321w\261TXQ]]c\351"
+"\336\336\367\277\30\30\371\212N\276\247\245\f_F\246\17\340\27\314&\222"
+"\377\355\377\317\277\240\334Xs\neP\r\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0R\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\3\300IDATx\332\355\231iHTQ\24\307\377\263\224M\223R\331"
+"6c\210\225\264@\5\6\246e\13\323F\222\221h\20DT\22\264@\237\202\372\24Q"
+"\321\207(Z\240\210R+\242\345\203%\231\26\230R\210\255\26\25\21\61\365a"
+"h\317\34*A[\314q\346\366\341\215t^\315\273\367\276:\320\2279_f\316{\347"
+"\376\356\275\347\236\373\356y\347\1\354\342J|\271\317\264)\221v\326\216"
+"\374\337\204\20W\3720\22\35o\204\20B\204\274|\310Ta\310;>\246\'\216\24"
+"\255|\314\6~\346\200\16~f\332c~\246\243$\302\357\317~\'\370\231\30\27\342"
+"g:WE\331\231H\255\346g\42\'\314\317tn\342gb\360u~&fu\330`:\364\314\334"
+"\23\201\357\317\221\24\205/S\22\\\216\304$mR$\367\272\5\0\247H O\234\222"
+"@\25\22\311\6,\232N\334\373O\273#qw\263\271G\t\\\37\370\267ctC\4\0G\272"
+"\77\267\324c\36\313\255I\26K$\212\322\307\315\234\231\340\306\303\372g"
+"m\357LW2\252\314s\330\'\215\224\314\303f\353\272\361\ts\241R\263U@>A_\353"
+"/\323h\236\225\325\6\23\62:H\367h\26\23,\215\262\315\303\f:\345\314\202"
+"^\303]\320E\212\3\212\255\27\216\333y\365\221b\216\234\271\306\260j\206"
+"\rdt\260\24\231iX-5\207\237bk\335\221\32\264\306\3R\211\334O\376\217=("
+"CF~\0\0\332\224\23w\6\351\334\347\312\230\315F\3\345(c\5t+6\244K\220A\243"
+"\201\332\227\237\27R\213\333\22w\276\1\200\17\320X\236\306r\352\316C\326"
+"\310O\0\360\32J_\2p\275\240\356\234o\331\240L\b!\232tF\211h>\325\352-\335"
+"\371\31\0\336k!\321VB\215\356\272\354\34\23V7.\236\241\169\314\201D\31"
+"]\310\365\205\34\310\236\\\252]\36\302\200\304\333\225\324\256\305\305"
+"\200\304\351\32\242\214>\302\201\304\262ODY\273\210\3\331m:\244j\2072 "
+"\21ZOM\357\271\30\220(\277F\224\254c\34HQ\324I\217\232\42\6$\272\246Q\255"
+"n\30\3\22O7SM\':\225H\354\273A\335Y\301\201\24\205\77\350\316_\314\200"
+"\304W\223;k\2073 \361h\'\325\224\317N\35$\266\323\263\77\253\222\3)\2\324"
+"\235\253\2270 \3211\217j5#\30\220\270i\312\262[\334\fHlyF\23\266\n\16d"
+"l:\315RV\2270 \321N\223\32T\373\30\220h<J\265{n\6$6\276$\312\310\343\34"
+"H\363\273\315\312R\6$\302\305T\273\340g@\342\22Mjp\337\315\200D\31M\322"
+"\374\2478\220=&w._\312\200\304\333\25T;\237\241F\252;8[c\212\316\\e\203"
+"\34!\204\20\322\nW\337\217\177\24\37\316\311F\231\242\236zw\236\275\203"
+"\42\r\200\345\247\220\336\244f\235-\244\221H)>wT\\\265\203\314\6\0(\252"
+"\212\242\270\323\6\322\360\223\352X\355\312\263\2014\336\350\'\253\26 "
+"\270Y;\220\275FPT\251\213\177\315\222 2I n\243\316\245\274\3374\343rw\374"
+"7_\235\324\24\350\315{Ro\267\2574v\3766\235\211\367\357\320\253\215\305"
+"\335\371@\215\34C7\357\311\276Jfj\227\34\351\231Z\377[5g\353(\3257\303"
+"\31\326\310\35\225-\221\204\345\315/M\345>\31s\217%RV4\315\221n\223\247"
+"\32\17\67{\22\233\21c8(~Kj\26\260#q\355(\330\305\25\372\323\227\216\177"
+"dz|\300\2270\222\222\224\244$%)II\312\177\220\237w\346\37\2164\367C\263"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0"
+"\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2$IDATx\332\355"
+"\227\277K\33a\30\307\2377\271\\\2521J4\26\233\322\37\203\242X-\332AP\320"
+"\16\202\203\350b\'\227\6\374\23\\J\301\251\213\340\346\354!\322.\205\326"
+"It\210\350\320\261\305A\304\341\240N!\25lQ\310P\261\327\364\353\320\372"
+"\336%\367\344.\334;\24\344\375N\307\363}>\357\233{\236\273\347\336\20i"
+"iiii\335f\305}\221\304\3503\347\42\362z\271\237\0\266\23\21iQ\4\0\234\244"
+"\242\341i\374U)\32\337\364\17\307i4\276\240\306\267\224\325\370\326C5^"
+"\3149j\367\177g]\215\247\336\23\65>\226\257(\361\224\336T\343i\370L\215"
+"\217-\252\361\324\276\257\306\323D9\210\27\241\2741@ti\353\301\32m\376"
+"\211\250d\333\354j\t\0>\275\32\210\207\356\22O\246\357>z26-\237Z99\0T\226"
+"Rl\337\215\351lg\327\275\7\217s5\17Cvw\250&ya\3\376\25\62\250\25\21\21"
+"\315\301\257\202\321(\276\4N\207Fc\370*x\355\370\272\220\262,\313\372x"
+"V\205/\2\0\354\231LL\210\226\347_<\336\313:u\357\363\340\23\0P\34\224\336"
+"\323s\327\254\367\366-\313\214V\7\200\345mt\362H\232o\352\340\3432\343"
+"\0\300\353j\263\331\221\256\311\343\375\336\22\255\324\272\363\322\232"
+"\344\361no\203|\5NH\357}8\236\363\333\357n<\307;L\331\225\326\276\371c"
+"o\345\3642\303v\177\310\35z\334\306\204\354\376\273\310\4\335\323VS\b\376"
+"\201y\261\350\212;\314\261\3706\27t\227l\16\301\217\203\361\260\312\237"
+"6\376\25\344\202e5\334Q\303+j8\324p\322\270\3065~\313q\243Q\306`\361t\360"
+")]0\211^|J^upx\7\223\350\312\314\273_H\273\307\267\277\350\261]\77oz~\222"
+"9\233\314\366NuWe\377\331\373\\\372\216M\42\42z!:\357\217LV\327\370k\301"
+"\376q\265\365\213\4Q\346<\370\237J\335\271\333~\361\237\373\256\245\245"
+"\245\245\245\25\240k5\366\2\243\247T\311m\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0x\b\0\0\0\0`iu\327\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\5\4IDATx\332\355\230}L\225U\30\300\37\270\362!h"
+"\2rQ\272\202\37\230\3\264\314\260\21\303Z\242\331Xh\345\307F\313\202\265"
+"\331\226\263\222\324\25\64\332l3\266d\26\23\77j\225\241\210\260%\331p:"
+"\275kz\227\322\\7E\4i\3Q\f\362\256\205\4\227{\225\270\274O\177\274\347"
+"\360~\334\363\236\363\362\362\357}\3769\357=\317\371=\357\371x\316\363"
+"<\367\5\bIHB\22\222\220X\2210vw\324\223\31\363\222\343\302`x\350v\367\365"
+"\273\23\264\231Rr\361!\252\244\267vC\214J\375\222\333\355\376\304\230\316"
+">\31\300 \361\36J\247\372\370>D<aD\317mD\266Hu\251\362\210\243\210\210"
+"\247\r\3607\7\321P\374\2456\0X\213\210\210.\346\376\205W\226\320\307\326"
+"\13-]\36\t\342\23\62\227\344-\240\235\227\13{\343\333\36\5\0\370}9\353"
+",\216\2207\r}\236\246\356_\374Y\77Q\364-;*\77t\260&\277\227\214\252\235"
+"\245\327\304\354\360\2225\220!\254#\335(\253\2[X\266\35M\232\275\3707x"
+"\204\375\276\274\317\257\338Z\371\230\212\17\4\17\370V\326\3543t\2147\324"
+"~\21\245\327.\34\225w(\306\330\263\212%\205O\320+\253\345\376\235<\307"
+"\336\243\360\251:U\244|DR2\217\267\235\37\347\227\350T\371r\367M\376\315"
+"J\246\216\200\331\324\345H\273Jn\376\340\363\367\266\323\247X\35\237+7"
+"\375\202\253]\3532\3403\264\77\215\4K$\371a\272\226\2379Cng\211b\313\265"
+"\6&O\271\'\204\301i\217\304\232\77\365\232\224\307E|\373Y\26\37M\325[\205"
+"\238\240y!\221\245\364\\\377\23\256 \274\17\21\361\240\366\375\303T\33"
+"Q\77C\300K\r\352\371\23\211V<\373J\242\300\300\nD\304\37t\235w\25\3]\331"
+"|\336\326\217\210gu\376sU\321\247]\252\266\363\3701\27\0L\323u\276\247"
+"M\27U\351\34\3\216\254\254\254\f]\337\2741]\264o\336\2366\241\244w:8at"
+"~\365Z\262i\376\31\211\231t:\16lJ2g\340{\243\274%\265\355\337\220(\346"
+"\37\3514N}(\265T\256\211\26\30X\3707re\270q3\3377\323\357\240@\374u+y\6"
+"f\237C\241\\]\307\273[[\7\304\26\234s9\26\22\277\360\13\r\f\254\341.b\267"
+"Gd`d-w\37#^n|\3007\340\23\\Q\210\335t\354\36\317\300_vqe\271lG\223q5u\312"
+"\224O\333\236\336u\306\3136\220o\366bM\311)=\307\260q#l\2\227{JN\251S\277"
+"\245/N\260*\216)\250\321\2308\251\322\35w:\235\205b\23\311\'\324g\250\n"
+"\341=\274\222X-o=d\356`\17\42\3362\265\212g}\343\374n\245\267\13\21\321"
+"a\312@\201\244q\19\376\373\1\0\362\314\305\331\303\343![\351lED<f\356\34"
+"fRg\370G\307\337\2174g\340k\32\317\224\371K\0\0\361\253\315\361\215\352"
+"\22J\346\275\0\0Pd\216o&\255W\351\372E\16\13&\263\r\271\331\36}\301\26"
+"\371\2569\236\24\377A<l\263\233\342\tsKy\36\42E]\271)\236\324\3567\203"
+"\223o\340)\23x\274\372\2k\13V\333wQ&2\265\334\21443\n\336\245\373\304<"
+"I@gT\347W\257\334\312\315\42|:IQ\353\325\361C\225\33D\327\250\234\24\'"
+"66\217\276U\\|\21\311o\305`\300\243\277\200We\264\312\203.k\302\3577\232"
+"\310:\366\261al\216u\221Ij\353\267\203\272\330\374\363cl|\37652@\27l)_"
+"UF\376c\372\367\316fd\243wh>\373\b\230|W,\254\246i\363AM~\204\366\334\336"
+"\356\240\305\324\207\372\357/_\276\17\0\200+]\0I\207\306\17\326\367\333"
+"\257]w\6\6\1\42\354s\26\347\344\322\372\313[\364\243~f\25\210\210X-\377"
+"x\265\207\233\373\317\317\17^Y\5\42b7\255\251\247~`\234\373\333\326\263"
+"\316\246\2\21%\225\337D\25]b\225\263\201\237\n\330\177\20\267\271\335\356"
+"\nm\327\234-u\335j\33\201\366\232\302\4\323\337\257d\231\226\226b\217\213"
+"\4\30\35\362\364\334\36\16}\354\263 \266\345M^\34<\362\234U>\367\6\42\242"
+"\364g^\2705\376\249\376\353\351\326\370^\302\217\356\344\346\42C\31\244"
+"\25\340\13\326\370\343#4\364X\233\177R\25\271\4\235\23\372~\253\376[\266"
+"\42%P\274\b\\\317O\302\13\232\20\367[[\277<\311L\360_\234\304\353s\306"
+"\360\312\2\353x\\=\342\256p\313xx\231\17[b\255\177a_7\204\236W,\343Qe\3"
+"8\2601\314*\236Z\351\303\316\42\313\213w\264\343\350\205L\353[\77\265\301"
+"\363\251c2\361\307\221\303\327\377\17\63 \225\r\42\357x\244\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0/\0\0\0x\b\0\0\0\0G\307\364"
+"\77\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3iIDATx\332\355\227iHTQ\24\307"
+"\3773.\271Le\224Vh\226-\22\242BZ\344\230\230\5\205E\204-T\320\372\241\302"
+"\276DBE\30\264\221\365\245\325\302\26Z\250(2h\1)#\42[H\260\240M\222\320"
+"D\304!\f%5\35G\33g\376}x\343\370|\357\274z~\13\232\377\247\307\275\277"
+"s\317\271\347\234{\347\16\20P@\1\5\24P@\1\5\364o\311\242\37\n\32\1t\271"
+"\315\361\343\227\345\244O\b\1\370\275\356\335\223\n\227\202\234H\2063O"
+"2N*uS\245\366S\361\0\260\233d\273@\7\27\r\242I\262\367h$r\373d~\370\23"
+"\n\372\262\242\215j\336\37\177h\371|\0\200\353\331\333\6\27l\tism\252\305"
+":\242\264\313\27\223$[\266\373\251\260\265\325\252\255h\361\f/I\276\212"
+"Q\217Yw\364\30\362\25$Y\35\241\31\235\335j\300\247\222$\263tIHm\227\371"
+"\42\222\254\21\222\274\330+\362U$yC\252a\261\304\7\367\222\344%\211\267"
+"}\33\304[\1\0q\241\0\220(\361]\7\204\301\31$I\367D\311 \264I\277~\244\22"
+"\325I\211\377U\242\37K\365\245\371l\260`0\326\255\333oL\177\35\77\344\n"
+"\6\345\372|\266\372;\245\252 \331\252\231\f\37\65J\333n\367\325=\374\243"
+"|_\356\310\77\37\343\r\332\276\367\326\\\336\232\22dx~\303\33\243\205U"
+":\253^>}\343\21\35l\243\201Z\317\247\213\367D\31\r\365h\212`\20\361\314"
+"\330\240s\265T\367b\257\241\201w\207\24Sv\245\261\213u\342\2563\316\267"
+"\30\360]\tr!\202\354\7_\366H\6\267\f\357[\204\315\312\314\264k\353\341"
+"\231\344\30\340\263\302\200\327\256A\363\211\231\363\26\216S\17\24\234"
+"\32\370n$\271D_\223\364#\215\3\1\335\303`\276X\334\316\362\367\375|\275"
+"\206wX\345\4\24\366)\374/\r\317\34\203\336\335\354s\20\256\341K\215\232"
+"\375\261\302\3334\274{\262\1\277J\351\t\325\375\240\\\17\373\r\370O\0\0"
+"\207\226\307z\273\314+;\255\325\361\226+\21\42\37\13\0\250\324\361\230"
+"~Qj\17\314\3\0<\324\346\223$\217\13\370\260\6\222\254\265H<\317\205\350"
+"\370\303$\311\315\20yVN\323\340\371^\222\374\30l\300\263\367D\234j&\372"
+"\nI\322\225\6=\357\254U,\334\17\363SB\1 j\321\205.\222\244g-\364\274w\215"
+"\355\272\337\213\307Q_\377\335\357r=\4~\17\200\305u\302Q\374\232\t\201"
+"\277\6\0\b\331\362EC\267\355\215\324\335\237%c\320R\340kpK\366\362E\376"
+"\349+\356\336\351\376\313\373\n\300\350\224\370\261V\270\232\276\326x\376"
+"\213Wf\320\314\262Nv\\\3156\313\317\251&Io\323|\2539\376\201\257V\37\247"
+"\233\343\35>\336\275S;#;\354\350\2772\26\230\343o\366\372>\22\314\305\23"
+"s\332\367[Vg\342}\16\0\230\2325\241oS\42^\344\f\241\ne\344\31s\361+\256"
+"\223\320\375|\b\313\333=\254\232l\36\217\272M\356\262\232\306\255\205N"
+"~\2104\377\277f\351O6\347\231\306\207\25\266\261m\245\305,\36\177\314\311"
+"\272\215\246\203\217\375LwE\222\371\324\204\2276\37\212\35\312\371\212"
+"\265\33\315\374\6\27\2007\316\327\270\356\276\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\2\230IDATx\332\355\230\317k\23A\24\307\277"
+"\273\211\324\32\232\246\5-\22Z\251\210\304\242\42\326K\177 R\20QD<H=\352"
+"\301\77!\202\304[\275JQ\274H\213z\20!\5Q\241Z\17\2026j\13V\264\265b\245"
+"DD\254\77\22\241\306T\323\30\233\315x\230\3751\273\221Mv\246\27\303\274"
+"Kv\277\373\366\263\357\275}\3636\f M\2324i\322j\311\24\0m\353\371\357\177"
+"\227\245\277\327\t\277\365\3P\1\4\5\362\b\352\214\206U`\210\304\321\0\300"
+"\377\17Ff\372\343\242\326\322\271\335&j\23s\331\246\346m\21_y\34\0\360"
+"\225-\322\217\301\335\n\225\17,1r2B\305@\377X\211u\37\326\319K\322\6C\326"
+"3\3162\276\207-\2713\301\350q\252\371-\345{\37\33g7\343\313\326]\35\260"
+"B\31\243R\223)|\333i\313u\7\303\260W\341\224\tyJ\205M\306y\241\33U2\20"
+"\63\364Y\207k\24U3\224\7\272\376\201\236\367\352\247\317\325\352\31h]\326"
+"+H{\314(W\264\344\241\267\26.\333\372\3438%\216\227\371\271\305\201\226"
+"\2\275\260\16PM\324\5oM\236\36\61\3\61sI\337\365\270R\256\262\f\32\307"
+"\255\242G\306\343\317\306\2423\343\270\347u\305\226n;\343\370\375\320\363"
+"\262\277\317\304\21\4\200\251\274gF\342\217\243\246O\274\217\237\334KG"
+".\223\34\63l\322\301x\301\301\230\262\30\215\0\276\2449\30\63\366zLs}\237"
+"\362\266\\\346x\30\332\274\361n\3>\0o\271>\f\3634\16\77\224!\0\23\\\214"
+"\233Y\340\275\273\213\353\332gg\364*\374w\220\f\311\220\f\311\220\f\311"
+"\220\f\311\2505F\35s\354\347d\260\373\0!N\306!\346\370 O\222k{\206\331"
+"\315\201\374\271]k\334\366\203l6\324\16\240\261\276yc\331\225bj1\377\13"
+"\300\225x\245\347\317V\334\2:S\313=&\355\1774\337\236\321\237${m\257\b"
+"\243\3475!\204\224\26\372\4\332\350\216\276D^E\370\31\237t\306J\224\277"
+"\327\263\306$\334\317\317\270Q\320\17\332\371s\331pQ\237eI7/\245\2eKok"
+"\361\344V$\366\tv\311(!\227\4\347\207\322\201\345q\3010\2724\362l\263\30"
+"\42\24\'\344\264\330\270Sc92\23\20B(G\226H\352\250\20\242.\226!\231c\212"
+"\b\242\355|\216$O\b\25#\374\206\254<\352\20{%\365#\251\201\260\350\34\13"
+"wU\343\365\27\303\315\375\267He\221<\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\'\0\0\0x\b\0\0\0\0T\20\264\313\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2XIDATx\332\355\327OH\24Q\34\7\360\357\354\254\33\346"
+"J\33\211E\233F\42\265\30R\201\27[\351\217\225$A\33!\204\210\324U(\272T"
+"\240t\352\34\204I\247\212NAE\207H:D\201\6]<UTV\270\236\232`Ok\376\333v"
+"\335\325o\7\347\255o\306\331y\17\252C0\277\323\233\307gf\336\274\367\373"
+"\275\231\1\202\b\42\210 \376M\30\256\343\356\6\340\355\244\372\274\t\222"
+"\3\36\375!\327\361\266\n\347\273\\\325v=\2673\254\347\22\320s\3735]\233"
+"\236\13u\350\271\3[\364\\\nZ\316\350\323s\235Mzn\20Z\256\353\230\226\253"
+"\275\3\35g\334m\326q\241\221s~y)\362\243\356^\3127\177W\257\27\275<\231"
+"R\325G\365\321=\311\356\215r\237\253>\6\263\0\200V*\242\321\253>4\363\317"
+"\347y\27^\333\315\343\242\357\253\345 y\327)\345\1\r\374\301}\3\27\270"
+"\300\375\215\372UEk\4H\317\252\353\367\'\311^\365}\215(\200\230\332\325"
+"\231\0\226\324n\7\0\374\222]Q4L\3315\3@Vv9\321\210\312n\37\0X\262+\211"
+"FLvI\0\245i\331\315\213\306V\211m:\b\340\213c|Y\307\220\354\350\211\0\30"
+"w<\331\13\61\317\13Uk\313\372\211$\273\34\356VyA\316\226\373.\221\244\345"
+"\234\274\276\262\233\256\27[v\201$\257\271f\276\260\6O\31\0\242\327\363"
+"$i\325\270\246\376\276\364r\371\361\374\311X\316=\n;v\315y\275\216n\257"
+"_\313\376\225\365\354\251\351\261\350\27\227\335l\330\364\314\216\303i"
+"\207\372v\262b\35\364\277Z\262Q\376eo\270\342\367)\200\332\275\211\315"
+"\21d\322\357r\377\367\247\267\3316:\317\331\7\207T.\371\221$W\276w*j\361"
+"\231=\177\37\22\376\316\262]\361\212\377~%\366\234\360\t\177\367\260 \362"
+"\314\377\276\365\303vzM\371\374\177\254\26fGC\351\302n\2749\2421\213\243"
+"\344\210\306\276k\264 7\256q\271\366eN4\251Y\354\21yU\275\307\207\206\26"
+"\371\276F\375\23vz\216\2313J\266ah\2063=\206\2125\336\\\344\324y\345\340"
+"\342\237Y\34kQ\77j\365\343\314\215\270N>\307\333=:\177\3\231\333[*$\217"
+"\247\32\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0"
+"x\b\0\0\0\0\237\313P5\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\32IDATx\332"
+"\355\230}h\225U\30\300\237{\335\346\274\316\34\232\323\365\261U\216%F_"
+"0\242\262ZP\212\331\27L\31\301\254`\375Q\321\37QH\30\25}B4\210\360\37\215"
+"\226&\321HR\320\312\212\226\304\30002\322X\232I\370ES\23\256\316\241\335"
+"v\335\356~\375\361\356\336\363\334\217\367}\317}\3377\202\270\317_\347"
+"<\357s\177\3479\317=\3479\3179\42\377\177\231ba\223h\254\32\215f\264\304"
+"\247@\362\346(P\265I\0\270\77\2\326\7\16\212LmhT\25YY\354k\33\367\371>"
+"=\327j\r\315\372;\327:\31>^;\262s\234\35\236uq\306A\275\31\305\242h>\16"
+"\260:\346oic\262`~r0%\25\251H\371b\261\276\36\\&r~\25\221\f\267\17\240"
+"=\22\324\42\0>\216\204\265\1\200tC\4\250\231\1779ybu\4\254\'\'\323\327"
+"\221xx\326\236l.\\\26\32\325\226;;>\13\315Z\227c\2157\205D\325\215\344"
+"X\274\26\222\325mP\234\250\16\307\332\245X\254\b\205\272V\243\330\21\212"
+"\265&\2175\321\32\2U{:\217\305\333!X]\371(\222\323\202\263\6\0\306\24\354"
+"\221\300\250\326\t\200\215\203\206\265+0\253\7\200\333\236R\216]\37\20"
+"Us\n\340\200\324\247\fk]@\326r\0V\211l4\254su\301X_g\363\351\42\65\311"
+"\'\2\241\256\310\0l\21\21\371\305\260~\16\304z\35\200\245\42\42O+\307n"
+"\rR@\17\1\34\215\213\210\314R\321\3770\0\353>\0^v:\37\31V*@\335\3729@\246"
+"\331\351\334\256&\371l\331\250K\307\0\276\312v\17\30\326\301X\271\254\27"
+"\0X\236\355>\243\34\273\273LT\374\b\300\251\232\\e>jX[\312d-\1\240\307"
+"(\372\fk\254\261<\326f\0\26\30\305\235j\222/\225\205jH\3\354\324u\332A"
+"\303:6\245\234\273\325\2435\42\42\357+\r\275\246\335TN9\20\373\r\340lB"
+"\353\346\244\215c_\226\301j\7`m\276r\223ae\256\264g9[\246-_y\227\212\276"
+"\375\245\315\331\312{\13\'\376\273a\231\205\347\27\373\225\323DDz\13\264"
+"\250\277\242\241\303\326\257A\200T}\241z\256\212\376\200%\352\26\267<\265"
+"Y\225\3\13\355X\353q)\350\27\253\350\257\261B\3158\347\226Y\342\207\rk"
+"8a\23\373\256:\247\252/\266\235P\177G\375C6~\375\bpan\251O\363Tm\261\333"
+"\342nu\343\36\21\221\321\375%\307\271F=\352\264\375\344\353\326Z,\245\327"
+"\377\265\353\254-\353|\275_\354;g\332\256\350\351+\375,\276\303Z\366\371"
+"\304~\341~\21\221!\367\4\325~\265i\337\261\323\323\255w\0x\316\335\240"
+"S9\326\347\211\232\232\4\30o\364+\360\34I\317\361\212}\307l\21\221~\217"
+"g\263\13\33\24\267\333\313\257o\1\350\3642\271*c\34;\344q\77m\231\083\325"
+"3\16\375*bK\335\347\370XLDdS\332\223\365\256j\77\356jU\375\'\0\67\371\24"
+"y\'T9p\231\233U\7\0\277\372-\3477\324$_u3\332n\367x\320\254\242\177\274"
+"\252\264\315\345\343\0\264\370\356\304/\224c.\7\322+\0\34\366\337\325\17"
+"(V\177\351\25\355\304t\233E\211\375\207:\220ZJ\255\211\207\235\235s\332"
+"\2375\276^\345\206R\27\221\213\206\234\201\266Z\244\256\311\310:\7\322"
+"\214\342\274\377\311\344\267\2236\3576\337\250\210=_\2042i\276\333\202"
+"\365\226b\215\\RPSnS\327\272{|Q\325\337\353\374:\240n\341\261\353zF\362"
+"\236\16\266\336\233\360<\330W\354\316O\326{\2278+6\366\336\r\363g\25\237"
+"\320G\207\207\345\207\27\13\264}\r\42R7\257\2518\242\251Cg\306\244K\6]"
+"\317\206\355\205\2778\346}\2264E\360\332\346S\223\377\367\254\212T\244"
+"\42\25\251HE*\362\357\312\77WV\260\253o\345\312E\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3iIDATx\332\355W_HSQ\30\77[\263\246m%"
+"\272,M\2245M\241\371\'5\f3\26\2450\25)0\241\'%\310(\313\304$\314(\244\36"
+"\352\245\b\262\267\260\210\242\207z\22\204\320\6Qa\212\245\350T\24!\222"
+"\374S\351t\351J\263m\367\353a;\347\336{\356\271\316kO\301\375=\235\363"
+"\375\316\357\374\273\337\371\276\357\42\244B\205\n\25*\376ol\220e\42bu"
+"\277\3271aD+\0\270\366+\326\351]\0\0\0\245J\205\217\2:\360\353\225\351"
+"t\200Q(7D\313\264n&\255\335\312\204\313\244\365U\341\31\35x\253\321\n\205"
+"&\177@wK\361\367H\234\2\0\270\254\221\35 \313hR-.\347\222\372\264T(\365"
+"\234p=B\310\255H\270-\77wOR\274\1!\204|\256\311\261\201\256\236\2255\354"
+" \352|\247\37(,<;\242\t!\213\275\277\4L\364\36Z\365\274u\36\220\305\203"
+"\b\3313\32\237\333\3\r\177w\367\350\364\37d4g\330\22y\372}\361\2{\275\255"
+"}\201\251\335\2151\2741\247\305K\326|\311\216O\332\216\0\355\214\23\333"
+"\367\216\23\345)\246\2606\310\36\240\211\204\31,\234\3201t\206\271 \233"
+"\'\241*\310\222\305\fa%&\7\66\321T\330,\346\3561\2\62\t\365\351\265\264"
+"\320\353 W\305X\261\217\354gJry\r\230r3V\214$\226\2704Z\370\5\67\42\365"
+"R\341<o\332A\13y\316$\25\366\362\246\357\264\360\27\377\326\244\302\247"
+"\3042\345\\%QK\205\357\236`\313%NY(\bk\366\3\0x\252\244T>\271q\301\275"
+"\21/\362\326\334-5\373\207[\347\3765\346\4Ob\316L\263f\231\211w\fJWd\344"
+"\271}9Y\31\6\331\372\202-\312(\260\345E\255^\2300\266w\260\374\330\316"
+"\320\25\rm\260TV&\b\373\213#\203\2763\241\257\252\250]\20\34\27\35\67\313"
+",\32\231\317!\202\275\227\f\341:\33st\253}G\1\342\333\310\200\311\253\361"
+"\241\34\200\307Q7\246\247\2537\206\366\34\202z\16\263-\306\265\270\34\35"
+"\344\200\273\2606_\r\242\300\207\271&\351\244\207\345\205\341$\352~`8o"
+"\tK\30x\217\325$G4\201T\30-_\257\236\305]W\7+\371\311\n\255\26\334\355"
+"\3611\306\244\313\nsIw\234\345\316\5\262B>\13.2\206\34\217a={\255\370\364"
+"&Fd\273\301\267\267PB\376W(S*\274\223,(H(\341\f\351f\233i\335\271jA\'\231"
+"\42\213\3707\330BQ5\234\260\202xEgU\276H\341\312Eu\301C\0\0n\222\2606\204"
+"\20B)\331x\300c~\322\225\323D\266\361\3444\0\0\324\223\254\13\77\257\333"
+"\13/v\1`e\362\212`\77o\313\214\b!\203\355v`!\256\21\31\346\351\252\207"
+"|\371:\221\331\77\361\351\33~.\313\'\20B\327(\235\223O\276\3152\5\325G"
+"+B\b\351\207DF\227\340\225h\32\274\f\331l}0`%M\b\254\375)\242\253\315l"
+"\247e\237\257\360\236\22\373\2\307\315\221*\35\235t\322+JRIg\310\321\366"
+"Z\224)w\331\255&\364c\370M\77\63[E\247%l\327\42\317\302\330\250G\375{P"
+"\241B\205\212\365\340/\37\257\377\276\260\25\300\7\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0x\b\0\0\0\0y\342\233q\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\4\261IDATx\332\355\231]L\24W\24\307/\353"
+"\262\2\213.\302\326\2\326 E\314\322\200\330\264\245\320\246-!\365\243\230"
+"&\4\237l\33cb*\250\321\207\332\244_\341\241MJ\323\217\244i\353CC[x(\30"
+"\33\223&\206\20I\324\230\324(P+\42\24\61 \215\273\5A\235\b]\226\257e\331"
+"\333\7\272\347\236\273;\37gp\232\324t\317\323\314\234\377\375\315\235\331"
+"{\316\234s\2271K-A\343:_\3368\233\265\263\373_\341\376\333\266\202\244"
+"J\311\262\317Yv\313\224S\234s\245\324\42Z\222\3029\347\234\277j\r\256i"
+"\211\306\27\223\254\240\331y\304\266Z\261\356\234p\264\311\n\334,\34\215"
+"Y\362\356\316F\36\66\303\22\234{q\211\366\211E+%g\224s\316\337Mx\200\364"
+")\213<yJ\357\314\303\237\2\f\37\66\323\263aC\226\303\311X@\361\16\367\215"
+">\310\275\262jOx\271d#\307\367\270\227\307r\326\\\\\344*\26l\253^a~b_L"
+"pM\273u\310\\6H\255\233\342\272\346\335\235@\377)*\32s\3408p\256\353\306"
+"`\300\317\234\253\13\n_x\311\16\327\317\325\f\323\246\266\362\353pd\22"
+"\341\323\225\16\354Z\263\377\6L\320\277\227D[{\tF\\(\216\315@\273\307\300"
+"\335\3400\246\25\302\322\b\36T}\23i-\300;\237fD{R\211h\225\27\2654\357"
+"\300\2\3526X\204E@\233,\321V\325\302\313\355q\351\321\36\3733\242\13U\350"
+"\351\336\203\347\275\244\363\376\222\273@V\247\37\351\255 \374Q[\365-\210"
+".\32\304\221{\34\244G\2644\325 \tm1\372\311\336\0\355\274\2066\343\16H"
+"\232\214\23\333o \356M\324\375\332s\276\360\270\361\372\334)\2\370}5\377"
+"\323\42\35\375D\311\273\375 \237^\247\342\77/nWN\t\306\303B\337\30\353"
+"-G\331\207\364ys\7\305\313\311\217\361\266\13\334\227\264\314sF\214h\210"
+"\366=\21\26\316\3554\334Q1b&:v\277\22\276\205\24\32\356)\224\235\337\222"
+"]\16E\270\256P\13\277\31\61\246W.\310^F\325\321U\42.\324\2072Q\221\204"
+"\333\205d\327\251\37(,\254\222p;\220g\210\212\303\302J\214+\314F\36/\25"
+"\347\3031\265\n\341\236\307\252\333T\34\26\332\313\20\16\267 \13\n\25\67"
+"\216O\236A\270\315\350\372$\271V\230\300\'\305\2g+\320\22\351\232tc\217"
+"\300e\'\253\26\376\364\26\2011\226\'p9\370\372\24\2752\372\13\367\201\351"
+"\200[kf\217B\263\30\1\\:\276\354\247\23$i\32\340\222\2279!\36\323\273\331"
+"\30c,\325\222\266\367\337\332\370\230\262\2024\r8i\1%\232\350\234\361\311"
+"\f\340\356K\33\t&z\205\230\220\263\305\364\275&\232\6Iz\7pR\2063\3613c"
+"\251\337\17\270\361)\255\' \323\376I\315K\13\345wt\335E\306I\205\366\0"
+"\302u\343\336\301f*J#\326\203p\235x%\222[\302G\360\311e\204\373E\252\267"
+"\2518,\234\373\25\341|\3\310\263\236\212\313E\307\35s\370;\333\206<\233"
+"\250\270\215\350\270M\362\224\240\362\245\211\212\23\365\'\17\313\345o"
+"\302\220p\365PC,$\306t\310%\17\377\1\65y\253h\270gQ\214E\227\263\231\250"
+"\272\332I\303},FL\244F\355\220\2157\13\335+4\\\2458\374>\20\355\314_\200"
+"{\335&%\225|T\313f\305\272\33\205\273\222\202\253\27\372\317U\334\353\304"
+"\346D;e\307\340.\310\357\2526\335\37\210UTl\214\253\25\223\333\247*H\274"
+"\6\202VCZ\262\17\304g5\272\232-\363 \331f\204\253\3\351}\315\30\77\2\232"
+"a\203\245\354\201e\32\256\322V\35\247\364\344\214\261\244\36\20~\244#K"
+"\351\4\331\1\275\346\263\31d\315\272\355\240\273\27\36\342um\3321\240\375"
+"l7\310\377}\260\37pT\353I\3056\317\t\303m\243t\321&\267\250~5\212.\203"
+"\340\33B4&6\200\374^\315\312\230\331\177\6]\361\354\233\264T\261g\22\200"
+"c\37\342\0\261W4\314\202\253\277\230\272\35\270\376;\324!\217t\f\f\6\246"
+"\231\313\345)|N|\322\203\237\326\233\370\273fG\277\356^e\370\344Fs\305"
+"\237\375\265NM\330|\313\346e\224\223\245\307F\325`\335o\77\252\263\300"
+"u+\335\262\362\262R\324\207\207\377\350\274\320\356\323\335\2541\234dF"
+"n\356\32\247\2031\345\236\367\3464\213[\334\342\26\267\270\305-nt\373\33"
+"\3\243N\261m\5\372\77\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3\34IDATx\332\355\227=hSQ\24\307o^bH#6\251\265\301\264\22)1\232\22"
+"\242R\34\374\32\4\21-\326\301\16E\b:H&ADPpp\21Z\35\34\212\242N\2428\271"
+"D\243\320\26)\332\202P\34,\35Z\32\261\232\324*\42&!\215\211mbMr\35z\317"
+"\275\357\343$}\31\204\f\357L\367\375\377\357w\363\356\32797\204\30a\204"
+"\21F\374\2570\361\26\325\373\246T\377\2574,\322\260a\256\242\333\335\226"
+"b]\35\331_RJ\323\373\353 liJ)\245\364\224~\344\361\32A\3136\275\204\205"
+"B\34\323\273\224\33yk\247^\244\300[\77t\217\3455|X\253ndKy\215\270U\307"
+",o\377N)\245\327L\353\234J\245\354\367\246gV\214\244U\307y!-M\2252\321"
+";\311\326\303\307\273\3nBHnn\372\325\270\216\231\356\274\235\242\262\310"
+"=\330\265\336V\271\377\207\252\342\357\303\255\265\210\276\24E\42\335W"
+"u,\346\241\213\254\225\214\276\377Vi\335\327\357a\317CW\361\251\260\r\263"
+"^\363\227\254\3540\235_b\322s+FX\201\370\332%D\337\42\23#\330j<bfv\207"
+"\\\365e\231|WK\\\200\301\366+\365\263\240\237S\23\276\2s\336\250\327z\22"
+"F\350Q\31o\241\263#\352\316z\300\31U\352\247A\217i\267T\2\274\23\212\324"
+"4\7\362u\355(\7\300\233\222/\342I\276\322\335Z\344 7\217\312TX\22\232A"
+"v\2669\17\3563!\266\225@\34\303\26y\34\334\325\26\236`{\371\322\316`\310"
+",46\364r\244\207\273\363\30\362A\214\231#\7\270\266\200!_x\353\20\64:\304"
+"\321\b`HP\370\35\354WdG5\215!)\242(8\22!\244SH\2770D&z\31\342\26\22Z\270"
+"E\211\42n\206\210B\227\307S\202\220\355\f\331\304\225\n\216\b\331\301\220"
+"U\375\311\265\300\20\221\20\233\360\27\305\227\2570$#R\6Z\324$\13of\30"
+"\262H\24\337\252\t\247h&\30\22\27\322f\264\b\20\305\206\222\b!\261\242"
+"b\3365\321.\206\22\203\31\233\346\3326\f\21\342T\tv\362D\355K\213\330\203"
+"\23|\363G\271\206\356d\221p_\210\274\363\31\66\367\'\fY\0W~\0\257\360\3"
+"\321\216\f\205\233\227\345\305\3537\250a-\22\346E\320\211\246\267Q-2\6"
+"\336\r\205\354\200\212W\362\250\t\17\273i\321\237\315J#\4]\335Q#\367\300"
+"9\243v\242\314(\252\226\306\17%:\242\371b\307<\263&\25e\321\372\216\311"
+"\37\221\35\333\225d\346\23YY4\77eb\22\2751\354\205\362;\334\6\222k\4\322"
+"\373\36\374\360\5\240\370,\r\6%B\244\3357\241\266&\374\325N6\357\224\322"
+"\345x|\231\77\214\270j\374\21\f#7\222T\330T3\2058\7UPj\300\271\376\77\221"
+"P\4\206@\263\221\220M\337=\331\354\r\272\232I.9\33/\33\367b#\2140\242\321"
+"\343\37\236\324\235N\351\200\241\343\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\0IDATx\332\355\223\275J\3A\24F\277\211\301B\263\222"
+"\220Z\bZ\6\4\205\330\210\205\330Z\371\2\222\207\b\244\b\6\4;-\364E\202"
+"\344\5R\b\26\26\222B$\244\364\25b\30\220\365\244\330\374\354fwml,\356i"
+"\206{\347\300|\334\313H\206a\374\25\227\254\n\222\304\317/\376\0\0\37\344"
+"+-\42\336\\\236q\300\202\333\34ck\262T8\311\16\362\2742\370\336\311R\332"
+"\304\31\26\322\306\341\374\356j\24\235w)c\333\3\60\331S\361)rN\327\203"
+"\274\0\60\n$\271\33\0\302rR\351\0\320\333\210\252K\0\336\23q\216\0\270"
+"^N\254\356\1\356cF\311\3\\\304:\225O\200\263U\220W`\272\237xys\0\204\225"
+"E\331\5\306\353\253s\217\300\307<\3161\320/\246\'\325\4\36$I\201\207n\346"
+"j\33!\234KN\273U}\215\263\27[\256\211\241};\3030\f\3030\f\343\2372\3\332"
+"\346\262iR\333\1k\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\1\31IDATx\332\355\223\275J\3A\24F\277\220lT\354\322\370\203\210\201"
+" V\266>\200\20\4\321B-|\7\261\363\1\4\261\20\21,4\26>\200\17!*(\210\210"
+"h\37l\254\374%\254(\4\342\272\307b\331u\262\331T6\26\367Twf\316\314\\\356"
+"\334\221\f\303\370+9\225s\372|\311^\354\37\220\36\233\32264\2273\215\211"
+"{\270\353\223\344]B\270\236\3534\252>\274\217K\222F\337\200\243\336\264"
+"\261\32\0\361\361\263!p5\330&x\7\0\265d\274\5\3600\351\30\245\23\200\333"
+"\236d\242p\1\3601\367\233h\35\300\2578\233F^\1\202\2658\321\6\0KmW\317"
+"\204\0\34z\222\264\362\5\300^*\377M\08+\251P\213\302\233bJ\311\237G\13"
+"\365\251\343(\360\313\35\205\32~\306%\\\310(w\365\333Uv3\237d\3031\256"
+"\213\231J\37641\32c]\32c\350)Nd\276k\363L\7\221\262\223j)\227\305\212$"
+"\265\366[\366\327\f\3030\f\3030\214\377\317\17\343x\300\230\177]9\31\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0"
+"\0\0\2629\177\217\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\205IDATx\332"
+"c`\30\5\243`\24\214\2t\300\214\306\347\222d\371\201W\3\327\306\377\377"
+"\377\277\261\300\243\202\343\315\377\377\377\377\377\377\357\213[\311|"
+"\210\212\377\1779p\251`\371\17\3\256\310\302LHln8K\r\227\222\357p\326s"
+"\234n\331\3\263H\30\247\22\221\277\20\25\355x|-\377\364\377\377\377\377"
+"+\30Q\4Qy\f\214\32\312o.}\33Mt\243`\24\214\202Q0\nF\301(\30\5\243`\230"
+"\0\0Zx9\375t<u\223\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\62IDATx\332\355\223\301+\203a\30\300\237\2416\22r`IN\16\23\355"
+"\264\344\204\33nj\27\7\371\338\271\270*J.\16r\343\342\260v\25\345\240\264"
+"\3442\261\372\212rY2%f\233v\230\341\347\260\357\333\336}\373\346.\317\357"
+"\362\366<\375zz\237\347y_\21E\371\317\370\314\2403:;\326Q\276\77\213=4"
+"\261[\226_\251\360\261\333\353it\235P#\35\3660\2\27\0\2377\247\347\5\200"
+"\347\221Fe\7(o\4E\304\277\370\bX~\267\21\376\202\342\264\35\364\245\200"
+"U\267\262\17,U\243\241\2d\332\352\215\326\34\\\33\3X\7&\235N+G\250[$NM"
+"\211\213\310D\2752 \42\226Q\325\262s\206\362\33\266\362$\42\243F:d\347"
+"\f\345\366]$j(\363\42r\345\252v\b,T\243\376,d\335\263\33\377\206\\\304"
+"Y\327%\260\331p\251\3\240\270\322.\42\276\231; \323\323\270\350\24@\376"
+"h/\226\6(My\364\26L\32\217!\77\347\331\177`\253\344\30\307\303\315\206"
+"4\270\226x\341-\271\35\321\17\253(\212\242(\212\242\374\1~\0\247\224\234"
+";|~\251\334\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42"
+"\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0"
+"\277IDATx\332\355\323!\16\3020\24\306\361\267\222\25\320#!\30\202%\301"
+"\341\270\2\16\203\303`0\234\0\302\25\270\0\311\34n\212\204\23p\7\24\6\271"
+"LaP\313\37\301`\242[\25\216\3673M\233/\257\257m*\242\224RJ)\245\224R\177"
+"f\1\354\7\66\250\r\230#\244]_\211\340\fy\307\273\313\16Xz\23\21@\273\272"
+"\203b\\\211\310\375\351\255\222\1\211\370\252\230HD\6\345r\253\341$-\0"
+"\341g\332Kc\367\310\0l\213\311\34\350;\231\23\0\33+\22N\256\300\324\355"
+"i\304[\366\0\310\307U}\307\224n\325\267l\16\337\304\332\324]\3150\1\270"
+"\314\254\367)\233a\240\177\342\207^.\360_dL\5q\326\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\0\366IDATx\332\355\3221K\202A\34\307"
+"\361\257\371X\24mQD\203V/!\b\32Z\2qq\f\302\251\305@prk\20\207\32\2439h"
+"\220\2266\307\226p\210\254\251%\42J\320E\361\241Z2\310\304\311\3725\350"
+"\203\217\342+\250\377g\271\203\373\36\334\35\7\306\230\177&\320\37\247"
+"\327W\246ZO\317\32^\335;\202\265\3364\234\357H\222\352\207\341\241\344"
+"Z\372r\0H\264\344\351\26\66\7ET\322%\0\251\37\371\335\355\3646\22q%%\1"
+"\266\272\32\341\346V!\270\375&\2519\13\314\3244\306\313\375\273$)\3\260"
+"/I\215\263\343\363\362\230\3626\b8\257\222\16B\0\313Yw\244\250\314\3\304"
+"%\235xW\b\355>\372\213\322\2\0\247R{\316\367\224\261\13\357\364\215\364"
+"\4\0\316g\201\207\346 Q\261\270\30\337X\232\374\250\336\\}\333\3473\306"
+"\30c\2141\177\337/\252U\305\276\360\35\201\203\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\'\0\0\0x\b\0\0\0\0T\20\264\313\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\1@IDATx\332\355\2241N\303@\20E\207\r\242"
+"A\21R\204h\202D\343PD\242\244\213\304\31\200\202S\344\32p\213\34\0\211"
+"\236;P\256m!\212\240\b\7Q\20*\b\2\307\376\24\273Y\357\354&\22\22\5\315"
+"\274f\354\277\177=\177\326\226\211\4A\370+\33\313\213\243\323\275\307\353"
+"\'\177\351\360|\277\270y\b\374\2275\200\317\13O\31\226\0\312!\267\235\1"
+"\0\360\325s\312\240\6\0\324\3\346\2735>\\9ed\225\221\271U6\13\361J\324"
+"\347U\255\31\213*[\27\3147\265\352\304\371\nb+\326\247\255\232:_\306\253"
+"\342j\356|:\250\206\23\63\\\335vJb\347M\230\257c\304q\243\264\346\0\200"
+"y\213\365}{\16\342Qe\42\344\25\77\227\214\305l\202-\343\251\225j\274s\275"
+"/\r\223\20\21\3211\0\224[\236\322\5\0t\3\337v\5 c\322\f\300\214\202\276"
+"\37\343\350Ls\377\334\225\37\207\373\264\257(\177\274\374\27>\35=/]1.Q"
+"\37xW\321\273\354D\276\315o\334\5R\201\202\242\276\213\373\250\211\366"
+"\2024\37z\262\3632\345\276\203\335\327\211\374\341\4A\20\4A\20\4\341\377"
+"\371\1\221\271\240\322\326\4!1\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\0\227IDATx\332\355\323\241\r\302P\0\204\341{\205&\20(\2"
+"\311\2\30Lq\30\206`\1v` 6@b\20\354\200DT\21BRCR\1\242!\207\0C\302\353\t"
+"\f\342~\375\2113\78\347~\255\5 \235M\353k\243\32\335Hn\323\6\21N$\311\242"
+"\27\'\31_\235\343\246\373&\274\304\315N\233~\245\315\340\240MX\324zOg\255"
+"\r\306\2056\311\362!\r\262\2156\310Km\222\2256\30\356\265\301\274\3724"
+"\341\213iO\200\373\321ws\3169\347\234s\177\336\238Nz!C\177\242X\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\262"
+"9\177\217\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\377IDATx\332\355\223"
+"\275J\3A\24F\277\335\374\202MBba\n!\n\202\205\205\215\220\27H B:\301\326"
+"\322B$O`\343S\370\0\366\42\344\1l\255$\4\13+\213@\212\24I\4YY\360X\354"
+"\6w6S\13\302=\325\\\356a\270\363\315\214d\30\306\37\20HAY\372\362\365J"
+"\241\276cI\3221P\366)Op/)L\252\206O\351H\363D\211$\235x\214zQZ\244;\0/"
+"\36\345\28K\226\5\200\275\r\243\260\2\16\177\307b\22\346\225\33\62\307"
+"\350\2\334\5\256\321\7\30\255\253b\f\360P\315\3065\4\340\310\31\f\342\313"
+"ZZW{S\0\236\327\351J\341\353A\322\373x\34/\267\366\373\273\251\2723\313"
+"D\20\341a\340\f\327\3668W\271#6\337\363\306\351fR\327\2160\252\373n\255"
+"r\376\226\366\243\333\226\373^\262Vs\273\366\271\230\255\354\37\31\206"
+"a\30\206a\30\377\200\37h+\244\301\'\342H\215\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0x\b\0\0\0\0\2629\177\217\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\1\4IDATx\332\355\223\255N\3A\24F\277\316"
+"RD\371IH1T\220\0\22O\23\250A \21\25\r\n\205/\6B0(\f\t\t\212\7@\200\303"
+"\42\t\276AU!x\1\202\330T\324l\310A\314P\2723M0\230&\367\250=\273\';\231"
+"\273\263\222a\30\377K\345\257\347\20797.HvQ\24GIr\13p\342\257\335+@3*\266"
+"\1\310\275\234\1p\35-\363\t@O\2224\17\0\247\345\244\351\357\36H\222\216"
+"\275\254\227\223g\0>2IrC\0\36\313ExuC\222\264\351\363\331r\322\1`\327\313"
+"\35\300\327J\264\237\367\261\35W\1\330\211\212e\200\2070\334\26@7\36[\27"
+"\350gA^\200\373d\3669\f\26\202\314\1}\27\'k\300\306\217\264aPK>\317\25"
+"\354\217\344\rV\223\302\25\\\216\244\16{\3511X\32>\375\236\224-\316\'\35"
+"\225\352\314\230,V\354\3372\f\3030\f\3030\246\201o-\253\223\347\1\352*"
+".\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0"
+"\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3cIDATx\332\355"
+"\230Kh\23Q\24\206O\222\22ClmQ\213\325V\264\221b\5EDTJ\255b\2\266\b\242"
+"\5\27*\212\256\264\276\212\17\250\320\215\202\42\242\322\255\13\241\13"
+"\67B\25\252\342J\261\332\7\355\306\352B+\264\245\24\237\255\225\2466vB"
+"\223\230\34\27\63\231{\347\316#g&\b.\346\337\344\316=g\3769\337\314=7\223"
+"\0\270r\345\312\225+W\377\\^\'\'\371\270qQ}],\360;\257\32\326]\301\370"
+"\370\251\225\371X\24\66\245\21\61y\314\233\207G\351\30\42b\246\2434\217"
+"\233\270*\n\0\340\251\366i\23\232\333\366\321\3356\r!\42b\1779\77\271\r"
+"\21q\204\354\261\344-\42\42>)\340\'\21\21\21\273\251,\213\347\1\0R3\205"
+"\\\264]\376\330QM\254c\305\2134\42b\223_W\6\342Kb\35\23\223^\0\210-L\262"
+"`X7\310\341\341\233\5\0\220z\271`\213:\252\245y\24$%\0\b\362K\254^\35]"
+"\246y\314\177\315\0\300\273\17,\266\221\r\367\22\33u\252\b\0\322\1\66q"
+"\211\313\253\241y$&\0\240\177\236M\34\345\362\256\322<~\305\1\22\213$\365"
+"\270\212\317\333M\363\30M\3\304^\261\211fM\342.\322\42\253z\203\210\r\372"
+"\5&\253\207T\7J\bC\23\352\241\260\31\325\221<\276D=\220\372n\202\222k\255"
+"*\362\334C|\260\324\4\5\261\227RG0\221\304\271h\366\250B\314\334N\361\220"
+"\246\23s\303\13\314P\2100\'\222\330\3505C\261\200\341[,&\265\rd\4\224\316"
+"Y\2\f\247\306\233kU\313[\362\265\237\227\355g\205P`\374k\2\342S\331\n0"
+"Hx2\334\303e`\25\362Y\77\0 \302\n\261\367\265\243\240\234\327\336\335\260"
+"-\17\345$/\0\300C[0\42\3128\0\0lp\6\243\240\234\21\227J\330>\212r\324\341"
+"\4F\203\2\260\336\t\214\26\305\31\214xQ\7\60\2\212#\30\21\305\t\214\376"
+"\222\266at(\16`\364(\366a\214.h\23\306\0\3056\314m9\365\254aqD\30%5\250"
+"\235}f\7\246\322\270\344\203\26\60\272\267\363V\371cF\230\376\311\206\21"
+"*\n\n\357\n\355\254\216>\335>,\34\357|\235\35u\rFSJN\240\274a\265\3059"
+"\242z0\267\42D\24+\365Y[\324Q<\320\372\271\234#uC8o\24\3352\323\336\343"
+"\320\30\255\265=\26,\331~\2177\205\374\36\215\212\266\334%\302(\265v\32"
+"\6C\224w\263l\333\233\265\367i\312\6\240\354`\255\271\357x\230\364mo\244"
+"G\271a\fw0\233\273\231\361\16f\f\23\261\316\360\233{<V=\6\214\23\66\313"
+"\321\214\305\263\337\223\13\346\243\34|o\341\301-\221;F\361\33\331h\211"
+"\271\307q\256i\364\77F\226\263\315g\272\245\306\304\346\210\246\363\256"
+"\13\321\373bk>\r\351\34\16\315\212I\'\371p\267\276\277S\225\346+]\325E"
+"\26\2565\332$\256\t\36\303\69\237\235\377\231\305V\24\67\356r\310r\201"
+"Oh#\334\323\3\243B\316\267\303\302\256\26\254*+\366g\22R<\221JI\223q\343"
+"\332\227\225\225\224\24\27\7}\177\244\231\251O\243\356\337\232\256\\\271"
+"r\365\377\351/\256\331rmq0!\36\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\0\376IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243"
+"`\24\214\202Q0\nF\1\265\0#>I~M\25q\256\77o\37^}\361\207\\3,\275L\240f\354"
+"\336\361\211,\27r\5n\372\374\17\n.\226\3112\221cF\344\251\37\377\340\340"
+"y\253(\31FX\36F2\342\337\277\347\251|$\33\301\277\370\363\77\24p\321\214"
+"\5\227Z\\\3364\261\342F\25\320\265\347%\325\f\7~\302\42\204\314\320\341"
+"\42,B\310\fq6\302\42\204\314 \5\3402\343\345/\302\42\204\314\270\362\215"
+"\260\b!3\16|$,B\310\2143\307\276\242\n\\>\370\231\226i\235\31\227\304\223"
+"\37J\42\b\311\227\363\26\274\'\335\f\206{\317\371\244aI\342\362\254\5/"
+"\377\223a\306\357\33\17\336~gdc\371\375\352\352\316\5+^\377\247mY8\nF\301"
+"(\30\5\243`\24\214\202Q0\nF\301(\300\4\0\207\351\203X\t\277g>\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0P\0\0\0x\b\0\0\0\0@\205"
+"**\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\204IDATx\332\355\230IL\23a\24"
+"\307\377\323EJ\13%\1\nqC\r\7EM\252^\274\340A\17rp\205\203\211\4\342U/\232"
+"\310\301\304\30\rhLL\324D\23\17r01\221\213\301\r.&\230`4QN\250\250\210"
+"\13n(%\210\b\335\367\347\241\313Lg:\355,\37\32\343\374\17\355\353\2337"
+"\277\276y\337\314\373^\13\30\62d\310\220!C\377\241LL(\346\364{y\323\26"
+"\257\315\307.\273\206S\24\374th93^\331\301\4\21E\17\230X\1]\343DD\311\233"
+".V+\261b\26\0\2705\346\334\203\234\325\254\21\230\260\3\0\374\251\363\335"
+"\335\223DDD\311h\234\24\350\262\24[5LDD\367,\0\320A\252\345\26gX\31\6\200"
+"\330\2572\0\65\347\325\27\356\271\30\30\b$\1X\207\202\0\226iY\212\223\42"
+"\240g\312\4\300\353\210\2\30\376\240\1xB\4\64\317\3@\3401\0\240\371\215"
+"z\2405kYR\257\321\200\3\260\247\350\257\326nhn_\225\23\377\342k\230$\214"
+"\252\306\2\317\301Q/\21\r\226\361\216f\301\32\366\312\235\265\227\217\21"
+"\37j#\42zP-\360\364\312\7\363:\'\215Ig\35\361\0x\22\26\304\366d\255\ty"
+"\3401i\357K\33sA \342\f\bb\371\265\36W\265*i\340\373\4\340\35\24\269\230"
+"\307\222j^\334W3@\253\17pE\22\202\320d\36K\252~\271\276O\1\302k\217\360"
+"\0\345\261\244\272/\371\3264pb\226ClR\375\r=\2201\22\42`t\6\30#\365\300"
+"\351\214\21\23\1\355\221(\371g\31\356\235\201\237\21\377\333\22\r\347\77"
+"\224\333\214\277\333\312\307\303\32\2007\344\200\336\300\305\247\32j\210"
+"\353r\300\310\325\356i%\200\212+\217:\205\237\343\357\0\0\335\222\300E"
+"\365\266\\\307\312\354s\337\227\323\310\210\250G\350p\23\21Q\265\4\310"
+"\211{[~`+\21\21\325\13\3w\377 O\223\202k\313\17\354#\42\242\216\334P\233"
+"\312\221\213\23\330\233\1\0\233r\3\302:\2005\0\200%\372\206B\273t\266\322"
+"\7\254/\260\307i\2\326\361\346\256\342@\5\253L\2672\276ui\307\307\2\347"
+"Y\24\260[\350\345\227\20\231+\334\231\361\321\2513C\211\342Zj\310)\230"
+"\364\27\356\267\304_\1\322\237\314\320\247\27\270\217\3438\216\343\26_"
+"\20\317\13\32o\233\325YgW\3121\246\17\30\342\235%)\317\210\276K~\306\233"
+"\21\321\256\256\r8\'\361\204\364\1\23\222!oF\37PxG\246\2527\312\356>\354"
+"\317\235\271\264\255\262p\327\253(\326\16\325f8\3372\205\221=`\227!\200"
+"\245\342\310\263\3gt\1\305\232\42\242Q\206\355\353Z-\200\206\303\3542L"
+"\305|c\226\341Vqa\365\2\333Yo\1m\254\201\326\205\332\244\314\214\200\333"
+"$\23\210N\340v\345\31r\212f\210\35\312\233\203U\3214\270^\3224e\201\265"
+"\2421\270\210bE\201\331rc\243<f\'\377\3\250x\343\347\325\252 \250H\305"
+"]\373/\t\77\336\351\375\34\26\377Q\300Y\252\33\217+\233\376pZ\375\377}"
+"\5G\253\273\304\26\350\326\302\273\315\372Y>\302\370\222;\13\177]WR%\257"
+"\245\370\260_WY^\356t:\254\211\260o\336\37\212&\363T\235\343L\326RGi\334"
+"3D0d\310\220!C\206\376\5\375\6\212\377 \2041\214T\277\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Z\0\0\0x\b\0\0\0\0W\247\272\343"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\22IDATx\332\355\231Mh\23A\30\206"
+"\337M\32\32\323$bi\343E\373C\265\255\77X\5\361\346\305\213\5\275\210(\n"
+"EE\301\237\213\7[\317b\5\361\252\7A\5\25T\244\242\330\213\25\255X\324\203"
+"\26\324\202\255\377\266\245j[k\265\266I6M6\356~\36b\223\315fv\273\246\263"
+"\225\302\274\247o\366{\277g7\2633\263\303\4\20\22\22\22\22rD.\2768\367"
+"T\20\330\270>\354\2158\361\304\313\216Q\254\377\320b\7\310\376\203*\21"
+")\273]\374\321\245\275DD\332\215R\376\257\256|\f\0\244Z7\177\264\352\3"
+"\0D\35@\177N\0\0FG\370\243\213\343\0\220\374\345\347\217\226e\r\200\347"
+"Y\214\77z\370\233\13@\270H\341\217vO\0\200\374\304\201u\243@\221\1\370"
+"\2143F\362\330\33\62\5\36st\374\253\6\240\253\'\325\252;\77DDD\244)\277"
+"S\201\372p\27\243\370\350\213T\226\222\312\337\340\303\251P\216\253\201"
+"\210\350A\t\0\240\221Xzl,\251\36e\3726\33}\333\206\210\250\331\17\0!b\253"
+"\311P\322\302\266\2753\256\321\3431 \21\224\1`\221I\207V\32\332Ul[\265"
+"\333\200\376\250\2\341\16\27\0\274\374\304\256i7\264\333\330\266V\325p"
+"a\351s\42\252O\305+\337\260~hc\16\344,\313\3266\317h[\362H\243\236\272"
+"\251\326\352\343}\331\5W\267\262\36\60\270\357n\266\255\363Hy\256\253\360"
+"6Q\227~\265\336\242\253h1\37\321\336\1\235\257\226i\221.\20]/\321_\271"
+"\231)\261\374\362el{\331_q_B\241\350\230>s-\35}\261B\277\315\204W\330h"
+"\371g\42\372\276P\237\311\214\223^\233\213F\3220\373\247\202A\257\2477"
+"\256\317\304\30\321\77)\215\16\313\27\237fu\252\306\210\362C\'\316]\372"
+"\236\225!F\224\37\372\316\253A\r\\\225F\'\3739\2233h\42\316d8\260\23\23"
+"h\201\346\207\226\346$\332\347\34\272\3129t\231Ur\371\314F\310-\363\324"
+"\202\373y\274\242\212~]\243{`\222\2612\272\3745\225\346,\233h[\222\354"
+"v\210$&:L\276\350s\265C\266K&\3627\345s\323\212\314\26\264\306\302\266"
+"\307\336\206\326\4=i\3513E\333\351\220.\347\372z\3349\264\352\34\232\304"
+"D\27h\201\26h\201\236)Zrn\353\356aD\234\320\13\323Q\2107zC:Zc\223\265\326"
+"\356Mu\207l;,l\247u\247|\266\270\245\207\263\216\6/\2573\361\325w\350m"
+"};\13\247\3\237`\34h\266\257\310\261mz\235k\33=`Ine\237\36\2572\330\32"
+"\330\266\223\26\344:\223\363\3533\6_\'\333\246\314\302l\234\335\16\1\232"
+"\265\334\212{\214\327\330\235k\33\331\77\355\372PV\34\b\4\203E\36\65\36"
+"\231\210D\'\206L\376\77-\t\5\3\201\371~/\224h8\34\211\374\30\206\220\220"
+"\220\220\220\220\320\177\320\37\336m\314\316>\364\211G\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0\0\0x\b\0\0\0\0\221b.Z\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\1\373IDATx\332\355\227=l\323@\30\206"
+"\2374\265\210\332$C!e\341Gl\240J\24\26\304\322\205\205\271ba@\260\302\302"
+"\0\335\21\260\42\6\66\30\200\1\6*\2062t\250\212\250\4\22\60u@B\200 t\250"
+"\232 \4\241\211\355(v\260\77\206F\311\31\316\321\271 \246{\247\327\337"
+"\275\217\357\316>[w`eee\265-\215\30\346\362\0\224N\316\264\n\256\371\335"
+"\17]\221\366\332\205\275\306\371\342\371HD\302s\246\243\242R\25\21\211"
+"\347+\246s\335\337\0\310\35\314\'\233rN>\5\210\306\0\360\266\332\247\357"
+"\324DDD\342\360\347\226\211\236\235MB;WED\344\311(\300e\321\351y\242\207"
+"\211\16@\367G\21\230\274\241\35\371\314\234\n\370~\f8\257\333\300\236\224"
+"\271\36P\201\372\227\21\2405\36\2\253\237\364\300\262\n\344\233\0\376\13"
+"\0f\337\351\362s\13\352U\341\246\'\42\233\307{\227G\256~N\316\370\301\251"
+"\337\371K-\21Y)\16\n\263J\374\221\246\3033\42\42Ow)\225\307\3@\267\252"
+"\203:\360\262\243\224\37\366\335\272\16\330lCP\366\225\362\340YUu\300\307"
+"\bZ+\352bmk\234\28.T\202H)\307\32\247\0\342\13o\353jY4N\1\326\339\272\265"
+"\f\337~\370\r\336K\6`,\b\305kd\0\374\357\201\367a\207\31\60\n\300F\301"
+"\251v\262\0-\377\356+\311\2\4\267\357}%\13\260\370f#\316\4t\327L\363=@"
+"\344\237\377\264-`\1\13X\300\2\26\370/@N\343\206\2\216\306\r\5v\367\335"
+"\244\31p\242\357\216\232MM\331\206\23668\200\\L\354s\357\37\33\36\277\256"
+"9\r,O\245\347\27\264\347\79\234\226\237\326\347\345\326\266\337\364_\17"
+"\t\256\305\177\306\227\246R\227\n\0\373&J\245ry\334\211:n\323\365\2325"
+"\27+++\253\236~\1k\233b\20\244\256\237\345\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0M\0\0\0x\b\0\0\0\0\222\325 r\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\3\311IDATx\332\355\230[HUA\24\206\327>\232\212"
+"\227J\322\bA\274U\232\24R\21\31a/\25I\232)%\231!EE)\tABoQ\24\205F\201`"
+"=\224\335D\351\n\n\221\24\365 \22F\304\301\36\fJS\254\f+-ES\323\3\307\325"
+"\203\235\271\34\367\\\266\356\352e\257\227\263\366\254o\377s93kf6\200c"
+"\2169\346\230c\216\375\13s\315Z!\300\347Dl\311\30\16\371iS\273\226\235"
+"\304\261\356\222X{\304\302\213\275\210\350\331\353\262E-\272\13\21q\362"
+"~\264-#\37\67\0\0`\244\4\330\242\346\r\5\0\200\21{\324>M\0\0@\3777\23$"
+"\261\354\311wDD\354\276]\24\252%\272\344\5\42\242\347\326|\377\300\256"
+"V\344\255>]\255\26\363\314\213\210X\34\304\225n\350D3{\30\245P3j\21\21"
+"\207\312\330\2625(\2646\371\270\5\f\1\0\214>g\42\65\257\304\225/\307=\246"
+"\345\201\177~<\243a\0\241\314\344\355\216\227v\246nU\231$zl\30\21\233\302"
+"\311\363/\377\316\215\371\27\334\224\344\215\276\b\0\360\206\370\212GC"
+"X\250;\3130B\r\343(\367\346\276jq\333\362{\21\361\264\257m]\\+V\23\352"
+"0W~F\250\266\271\23q\274\322\230z\270\313\276s\215\343z\331P\256H-\276"
+"\35\261o\373\324\302\312g\337\360\377\363\270\232\f\321bp#b\346\224\317"
+"\362\31\323\310\13L\364\243@mq\363$\276I\3\0\200z\6_k\202V0\361\34s\265"
+"\340\6\304\327\321\0\0\21\f\274\325\224\255a\b\301\322\252F\274\23\5\0"
+"\320D\321S\202\216|\240H\241)\20vib\262\332\305\217\332W\341\f\20\65\316"
+"7{G\177L\214\264\7\3@\25\363\317\b\325J\250\273\322\248\344\301<\203\253"
+"\266A\262\20)\325d\32/\30\274\270\b\0R)\27(Q;\240\370\37\362\312\223]\0"
+"p\235P\357\2459D>\211 ()\204\247\262\245j\217\bWc:E\\~u\312\223u\272\16"
+"\230K\230\317\212\334o\252\346wT\330O\274*\205\332\27\342ej\324\270H\241"
+"v\202\220\367\254\265\337<\205\251\321lBt(\267`35~\334\n\210wC\251FW\361"
+":\1\341!\365%*\325\316\23\366\334\254\207\r`=a\335t\322\362j\202r\363\252"
+"\247\303\334\270\321\315\271\307\206S==\373t\330\240F\333\326o\203\332"
+"\34\342\215\331z\177A\33\324\2744\333\331\2406N\274H\33\324\6\211\27\67"
+"\63\265\2778{-Y\222\311T\27\251\5+\325h\312m\22\250\265\320\rB\251\266"
+"\233x\215\2\242\224\344\205F\13\331R\324\217h\13)I\3\325W+$d\253\220yG"
+"\230\35\n5z\314;\42d\312\b\363T\273\243\363\204\314B\335\256F\352\354\365"
+"}\314\206)U\243\267,\311\345\16^\222*k5;Z$\241v\352u5UsD(V*\241\332\b5"
+"\42Us\353\324\232H\241\203R\265\325\24\254\24B\277\264g9s\27H\26 \')rE"
+"\241\226\245\274\367d\240\205\345\354U\300\tL\374\262Rm\5J\345\342\321"
+"J\323\0\36\310x\356+I\216N\312\347n\357K\271P1\367\25Hk\3\t\342\344\316"
+"\262\251\236\r\fh\356G\311\374\247\17\337\335\276\234/V\355\247t\16\273"
+"\371\347\226\346\301\330m\tZ\257\232Y\32\252\314\322\346\273@\256\365\326"
+"\352f\376X\42v\334\372\331 \306-\320\272:\303\303Fq\3374\251\226\215\263"
+"\371N\272\251\216\336Iz*R,\234\270\304_\227\347\6N\f\16\201c\2169\346\230"
+"c\216\375\77\373\r`V\331k\353\347\206\240\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0Q\0\0\0x\b\0\0\0\0\257GA\24\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\3\22IDATx\332\355\227MHTQ\24\307\377\243c\215\243"
+"#\244\331\7YI\332\27B&\201\272\250M\20\265\13\27\222A\20-2\5\t\312hQP8"
+"\6I\20D\bEn*\251\205\4EA$\25\25D\30\204R\b\31iA\224\220\2462\2163\215\312"
+"\274\323b\306y\367\275{f\374x\27\203\272\377\315\334{\316\271\2779\347"
+"\335w\77\36\240\245\245\245\245\245\305(M\r&=\376\353\333\273k\334\23T"
+"\230\337\326\363\24\376Z\277V\35\60\273.JDS\207\323\224\21\363\7\210\210"
+"\214\216|e\323\261~\24\0\\[\322\225\21\243^\0\300\204:\342\267I\0\300\360"
+"Oe\304\334\b\0L\217e\213.\2277\'\333\275Pb(d\0\310\350\n\307\214\25w\'"
+"\211\310\b\5\202\323DD\364\374\240<p\311\331\367$\352KS\226%\235v\42\242"
+"@c\254w\216$=\261\3w\204\245\230h\245\340w\267\22\21\r\226\3\0\66\20\243"
+"c6b\'\23\363R\250\332=\25\2\340\215u\n\270\247Sh\353\27\63\61\305\2\61"
+"\362\335\0\320\323\13\0x=\304D\277\260\365\37\61\61\26\333!\42\242g\313"
+"c\235\312!\251 \2774\374\266\24s\317\342\257\36$\42\177\342\3459\320o\r"
+">\311dTp\346\263\30\322^bu\357\351\'\212\\q\231\206\235b\364@\222W\357"
+"z\42\342\226\374\340\77\21\r\355\27\27a\272@\34IB\254\235\th\220}\33\337"
+"\21\321>\213\251T@\346\361\304\231W\350\22\67\361\257\f\352-\265\332n\230"
+"\3047,p{\334\373\221s.\275O\324c\337\35\205$+\270A\243q\247\227;\256\246"
+"~\1}d\33\261\333lv1\300\13\313b\277\365a\356\357\262Z\'\2156\351Lxk&yQ"
+"\32\62\263X\273\223L[\323\370\370\251L\311*\324\355\261\373\206\343\216"
+"\314$\207\364\17\217o \42\21\33\315f\237\315\325\34_`\365\277\223\344X"
+"3vy\25c\26\222\254\236W\315@U\313f\356h\25w\2669\325,l\311E\36\326~\307"
+"$v\2105\307mu\311O\7W\262\303_Hr\323<jN\241*\256\356\331kN%a\317:=\367"
+"\232S\311-%Y\344\244f\0\360\233\304\17\0\200\21G5\333&\247\26\3005g5\3"
+"@\231\200<\272\246\305i\315\0\360\230;\3013\235\20\301\0\353\34\1qD\2v"
+"\303\241F\354D\257Sb\236\rx\302\371=\263\325JTq\371\267\0\33T\20\253E\342"
+"j(N\262\315\245\204X\230\0>\\\214\317KM\324DM\324DM\324\304\377\200\350"
+"bZ\316\210\31L\313\31qe\242\265B\21\321\374~/S\364\304\205{O\215\2\\\376"
+"q\313m\357f\271C^3s\263\177Z\342\0\370\200Xm[0\260\224\7\322\325\305Z3"
+"\177\245j\300o\310\274\316\222YWkj\255\313\365\371rr\2622\242\221` 8\21"
+"\30\fBKKKKK\353\337\320\37\322H\223\316\346\16x\26\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0U\0\0\0x\b\0\0\0\0\246\254\341n\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\4\23IDATx\332\355XIh\24A\24\375=\31\263"
+"M\24\227D\242\270\4\267\250\250A\334@Q\334\25\5\27\324\203\42.(\304\5<"
+"\270\20\24\305\5\25A\24\17z\210\32\334@P\21\65\42\270\201\210A\5\203F\311"
+"!A\243\210:.\t\203\214\31\211C2\317\303\364Tu\367tuU\217\215\247~\227T"
+"\327\177\377\315\357\237\252\377\253\232\310\207\17\37>|\370\360\361\77"
+"\20\360D%\313\370\320y\316\344h\356/\217\343\34\266\27\277\77l\354\353"
+"\255h\301\206\16\0\361\325\1OU\213\232\0 q\265\310\323\377N\377\b\21\221"
+"64\313S\325\216|\42\42j\265U\35\270\375n\138>^YS\240\366\3=^\2\0n\5\323"
+",+\352`\207\233\23\25T\7\77\5\200\370\371\256\346\351\351\37!\306\235b"
+"\231j\357\7\35\0\260!\33389\t\22\64d9\347\365\353\267\0\21ECq\203\371j"
+"\215,\226\322\366\265\216\366\340I\0\b\2177L}\207\nN\245K\31\206\361X\210"
+"(\337\20=,\344\337\365\315m\211`\250\367\b\363\364\246\356\313\35\202\335"
+"\32\5\360\210\257\230\204)\242\306\331\6\352Fs\264\27\34TW\2\300\303\302"
+"\324\343\7\223\343(\13y\255\311z@\254\272,\f\340@*\326*\347\324\21\65\31"
+"\t3\204\252\263\336\1m\'\264\344\303\30\243\317\22[\3769#E\250Z\322\b\374"
+"X\250\257\77\243\307x\201\303A\3\247J\270\271j\1\314M\216g*\210\22\35Q"
+"\bv\320\343\4\352\313\222\343O\234\356\264l\2529m\247\200\222s\3xUdM@\265"
+"\343\326\261\17\326X\370\343-D\rIc\5\237]\340\250:\205\17\13\355U\363\377"
+"\304\321\32!\42\242\303l\262\322\271\f<\341\303]\2\312\376ht{\236\345\305"
+"r$\325\245\334.\5\246\326\367%\267sS\33\21\321:>\367G\242Z)=UDc\307\237"
+"\201\210\250\234M\355\225\26\373\b\337\361\366\204\305GJ\3\226\4\364\224"
+"\252\356\346\35\307\236\220=0\327\272^\344\215i\20\343\266\2629\315H\320"
+"\264\4\21\21ub\355 \241\320\306\221.\26\64/\351\344_\336\342j=<\3va\243"
+"O\36\252\362.\33\365P\225O\306=T\325\204\375\360_T3\324RV\rz\250\312\263"
+"\231\347\241j\214\237\23=Tm\346\307\326\314T5\325M\350j\307\376\373\325"
+"b4\33\325Hnma6\352%U]\304F7%\314}\254\272m\223\252~a\\Y\4\305\214\371^"
+"\236V\365Z\254N\35\300\230\17\245\252\327\30\267D\302<\312\230S\245\252"
+"#\31\367\250w\tpAf<\225\266q]Qu*\343MSP\355\247\310\276\355&\1\2067\273"
+"\243F\273\240\244\272^)\210l\306\322\310]\260]\34H\25)\322k\361w\27\23"
+"\332\247\247\6\217\304\252\367;\351\203\262\30\271\fV\201S\257\\\342v\310"
+"U\227\246(\205\352\2253\345\42\276T\277\320\31\65\352\242\354\30\335(\375"
+"\335\220\2332/K\301l\245k\216\25kt\257r\201\375\231\302\332\23\7\373\313"
+"\331|\331e\247[\245\373\215\263\265\36\323\255\305\312z\363+\346\21\21"
+"E\222~uN\241\236%\42m\325\266\221r\321\203\0\356\345\21m\321=\313l8\207"
+"\370\367\210\t\337\1\314\221\236=\0\0/\272\261\362\371^\34js\17\375\363"
+"\324s\231\352\360\244\303\347\315\251\324\331\4r\2215\367=\256\33\247\260"
+"\30\204\344\24\247\13\272\216\325\26FM\32\243%\3UK$y\351\2043R\325\252"
+"t\247\261&\302\351t\302$\27\347\1AcB\6i\265\363z+\261\77\220\235\265m\77"
+"LDd\355\2232\tv\223\311\374\334j\276\256T\b\n,^_\315\346>\26s\235j\201"
+"\2514z]\262Z{\275\21\277\210\363m\42gx\317\334\254\200\326\376\2631lg\36"
+"RR\20@\242=\26n \37>|\370\360\341\303\207\5\177\1\203i+ J^\227\242\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\0\0\0\0"
+"N,TE\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\3IDATx\332\355\227\337K\24"
+"Q\24\307\277cm\352\226\77\3202\262\3004\313\36\372e)\32QQK/\312R\20\21"
+"Q$C\21\261\17A\n\376\25=\25EO\372\30DX\260\20=\30\254l(\230a\30\322\206"
+"E+j\305\206\354\254m:0yO\17\263sgwgv\356\365\315h\317\313\334{\347\303"
+"\231\357=\347\336{\356\0E+\332:\260\222MeVS\21\240\365M\247K\307F\226e"
+"\274\226\253\357I_\fV\311\260\227\210\210(\334l\312\361f;\r\0\350jR\304"
+"\354\201\16\37\0|K\223\230m\334\3\0X\322$44\326\0\0\373\364C<3e@\'\42\232"
+">\246\210\375\266\354-\5\200\211y\22\373=\21\'\42\372\336\261\1b\277\315"
+"U\0\20\236\\\25\263J\273\17@\372\31\223HZ\303+\42\62\36\372\3702\362`\313"
+"v\1X~\363G\206\335_\3\30\203/I\202-\351\334\f\244\242)H\260\265\r\225\300"
+"\363Q\251\35Q3F\24\77\225\375\241\302lk\35\60\365En\243\365\')\326\226"
+"=\2621\27\b\34\254\326>\2746#\326PM_\347PQ\267\5\351\304/\247/5\252\221"
+"\26U\315\254\r\323\307s\250U#\251TD\255u\240\201Y\42\42\232\r\0\300\311"
+"i\32,\257\350[`\214\261\205\276\212|6L\246\205\1\224\334\34\r\325+\335"
+"\343\2141\306\330xw>\253eX\r\200r\370\3206\2407e\262\251^\347\334l\243"
+"\31\303\0\374~\263\347\367\347\3077\232\375\\6\0$\22\346\210\365,07\0@"
+"\373\220\316\30c\372P\273g\314L\13F\222\206\221\214\4]\316\276\254\\X\236"
+"\257\264b\362\311\333\377\262F\334\375L\261\220\34\232&\42\242\21\31t>"
+"\263\202n\210\321\313\31\224&\304\354\212\305\352\216\35\230\77\340\343"
+"\245/)d\357\360VD(!aI\240\13\2163\326\261\37\n\277\312\327pv\r){\301%\334"
+"\27\262\34\245\26\21Ze\263.\'\\n\3676o\275\23J\370\311\335^u\251K\322\21"
+"\313\327\260\16\42V\351\25\261<\275\267\326\20\261y\356\366\232k-\227\216"
+"X\256\206#\242*\226\325\2667\356\200P\356*\227\333\t\221^\201\334l\r\266"
+"3]\250\267\207\267\36\257!\301\5\2\242\310\313\315\252\205m\256r\317\4"
+"\27\379\16 \334s[\217\17\210h\312\371\2059\316\36\347c\375DDt\336cj|h\273"
+"\331\17I\334\3170l>f\34\223\344n\371\17B\250\320\272\337\301\331xfd_\246"
+"\377\324y\335\346l\346ZZn\365\253\359^\2613\341\3\200\255\226\224\373\232"
+"W\212c\0\324\202U#\227%J\333\315\335nl\214\334\254\3135\230\1\67\364z\201"
+"\310\317:QUb\1g\354\242\324j\'\42\372\355}\246\365\331d\274GtV\3Gw\372"
+"\364\245\305\271t\361O\273hE\373g\354/\1\367f<\332G\200\21\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20"
+"\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2yIDATx\332\355\230=H\34A\24"
+"\307\337)\34r w]Nb@\17\4\213\204\24\22\203\210\204\333k\304*E \211\244"
+"H\227`\3640),l\23R\250\244M\227\42\245\206$\210\205\6\42\321\b\251\254"
+"\2\1#A\f\b\371\300\257\342\16\344\202\317bwow>vv\346M\23a\376\315\355\356"
+"\274\375\317\374f\347\275\331=\0\'\'\'\'\'\'\247\363\240\326\264\200\352"
+"\355\266-\273.\256#\42~\267\363@DD\\\263\261x\345{`\257\3650\20\77\322"
+"-\274\320\3\351\36\313M\217Ak\24\304E\252\305\325\310\203\f\363:\3461`"
+"\215\202\270B\263\350\211{\250`Z\24\231\302\234\225\255Q\20\327)\26\227"
+"X\17\244\260T\371Ek\215\202\370\331\334\242\223\367@s\226\252\230\201\326"
+"(\4\230\20\345\355\21=gf\374\333>\24oF\36\36\r\245\37`\223\n\23\240\374"
+"\6\200\n\25&@\231dg\327\243\240\264\0\0,\320`\2\224\35\0\0\270B\203\tP"
+"\36\361K\3053G\t\316\346)0\f\n\300e\n\f\213B\203\341;%\300p($\30\36\205"
+"\2#vi\f#\240\20`D\24s\30Y\207\2060\22\24c\230Y\77t<\251\274z\372(9\366"
+"\352\222\tL\267|\310w\24\60\302\3762\355\377\34r\227\377F\207\25\355}\245"
+",\177SE\304\r\376\226\fw~\343Sx\264\272y\320\bb\332.\16w)\356\341\265\216"
+"\351\252h\242\250\264\241\266\30\322\361@\365s\231\320{\7\267F\21\226\31"
+";\307\245\37z\251\235Q\260\204\371^\177X\312f\30\265_{\251\t\23\214\365"
+"\235\264\261\244\365:\323\251N\3571\235\2\20T\260\351\364\31\367\264v{"
+"\231\336\244\303H+\230a5\223W09LE\35\221M\366x\337\364\370\42\17\350\363"
+"[O\25\317~$\r\346\233\337\370U\341\21[\42s\262\366\347ak!\331\343~,i\206"
+"\204\326\216\250\370\354O\r$\330\334c2\357\231\342\23\322\377\240-\t\16"
+"w\217\371\240\7\361\34651\277\33\335\311+\275\251\'Q\363\240\254H<\345"
+"<\266$1\77\323\276+u\366\304\330\361*\221\345q<\340\205\306\234\336\332"
+"\346b\366F\271\252\226\353)\346\263\247\'\265\372I\243Q\373U\227\217\375"
+"B\261P\310\347s\255\377j\207\177v\267\335\77rNNNN\377\237\316\0Gd\2153"
+"\264J\27\30\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0"
+"\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\232"
+"IDATx\332c`\30\5\243`\24\214\202Q0\nF\301\320\6\314\230B\214\254\214\377"
+")2S\177\326\263\377\204\300\343\325\311\374\4\r*\376O,\330j\217\327 \261"
+"\377\244\200\335\262\270M2\372O\32\270\313\216\323\250\333$\32\365\77\6"
+"\227I:\327H5\252\34-\312\21L\203\300XE\24\271\213\217~\300\223\3#3\267"
+"\224.\232\345\221+p\207V \222\225k\260\310\247\242\272\212\17O\24\256A"
+"(\303\256 \32\331\244O\f\3048\352\21.%\367\211\tu\6\6]\270\242\3758\325"
+"\354\376\217\325\341L\250\252\276aa\241\3\327{\bv\42NU\212p\3336\343\t"
+"\3\254\216Bs\323\177,,L\220\204`\212\3432\21180\37\301\314\242\314$\206"
+"n8+\202B\223\246\301Yj\24\232\364\0\213\30\23\325\312\361\2016I\216j&e"
+"\300Yw)4\251\22\316ZI\231I\321\330\322\3N\223\30\361\230\264\4\301|J\221"
+"IW\260\5\30:P\200g\362}8\325l\306^>\261\340R\257\214\263:SA\260S\30\210"
+"p\23\216R%\7\271\34\377\315@\224Ik1e\371zP\353\26\61\6b|\307\20\364\377"
+"\362\303\357\210\372\216\225_\31=e\247\275\42\316M\4\301,\274iN\221x\203"
+"\236R\255,h\241\232I\370\333c$\205\223\33\325J\272\235\42\304\232\24\306"
+"\210\6\fzQ\25\274&\322w\352\330\344\r\77 \373o5Q&}\307\241\42\30\331(\25"
+"bL:\206\263\344G2\351\25\61\341\364\1\227\304\77\244\222K\324\220\b\223"
+"\376\342v\270&\202\271\214\b\223\360\264Un,\20035(LOH\355\257d\nS\346V"
+"8+\216B\223Z\341,;\nM:>\254\333*\243&\21\7b\341\254/Tk\217o\244\314$9D"
+"\37c\16e&\235C0\17\3402\211\221\230\226X\2250\234\271\0\247\42\65x\301"
+"\272\3\247\32\177\242z\212\210\0\20\303eP\352\6\254E&:\250\'\324\22c\330"
+"\365\377\77A5h\275\311(l\362u(\365y\34\256&\256h\344Dd\251\365k\36\374"
+"\370\207\30y\340\22\327\13\322B\355Z\273awN3\251\243!\317q\370k\3\251\6"
+"]\3055\42F\252Au\350&\260\220\227\361\227\342\31\275 \301wg\275\361[\323"
+"\364\217\30S^\364\353\21\323\321\221\23\342\345\345\343\343f\375\373\343"
+"\363\307/\337\177\375CIz\377\377|\177\367at\330v\24\214\202Q0\nF\1A\0\0"
+"`\226\4\362\345\376\3.\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1wIDATx\332\355\230=K\3\61\30\307\377\251\334T\332A\264.\42\25\307"
+"\212/K\301\301\305oP\27]\372\t\4\27\277\201\256N\16\42N\305\271\203t\20"
+"\324o\240\223\213\203/\210\25\n\352T\256J\2276\16\226k\222K\316$\247\324"
+"\341\371-\367\344r\277\274\303\361\4 \b\202 \210Q2\26\177\305\2\306\235"
+"\333Y<nqk\366\25y\207\2731\7\0l \27^]\307\312\0d\6\361\264\363L\267\304"
+"\302\275\343\310\371\213h\317\337\272\352\302\274\1,U\252\263\322\330n"
+"\232]y\353\202\211Ue\342\22\25\241\351\272v\266\33R\337\n\365\244J\0\300"
+"a\302\7\303\316\233\6;+\332\31\271\356!\212\36\r\366\207XP\354OM\224\200"
+"b\3675\221B\303lsM\244pf\266-\270He\77\245\262\221\316\276Ne\237\244\262"
+"k\337\217w\77\273\363\f\08\212\327\24\243S\3340\353e\3169\347\314s\315"
+"\257\326\337p\267\302=\373\36\376\6<\367\2737\242\323B6\331d\223M6\331"
+"d\377/\233\231\263\16\13;\320D\366\366T\24\25<\354\265(Z\366X\6!\243\332"
+"tT\'\267\245\\\257Vvp\3674\311\342e\311R>\325\'\233\13v\231\277!U=\370"
+"\303\263\366;#\7v\373q\367\274\364\363\355A\304\314x.\227\317g\203^7l\207"
+"\235v+\244\33%\202 \b\27\276\0VQ\303zw\1~,\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\2\235IDATx\332\355\2301h\24A\24\206\337\236"
+"\201\230\310]\320\200\4A\243\bW\250\201 \330\4\341*m\214\42b\'$\205b\4"
+"!\1\305B\203E\300B\22\bXX\211\212v\'\222BA\211\30\223J\261\20L!\26\212"
+"$\20\33\301H4\240\21\345Y\314\270\2633;;\373\336L\2430\177s\334\274\331"
+"o\347\275\233\371\367\355\1DEEEEEE\375\17ZW\22o\2778\3301\37v\213~D\304"
+"\225 D\25\21\21q!\204\361\\0\360p\0C\42B\262\31\373\313\300\r\301\313@"
+"\34\367Et+\6\3722ng\30{\203SA|\352\2078\230ex&\363Bc\234-\236\2308R\321"
+"\277U\n\'\26GF\214\233m\361H\345+\352\272\313G\354@S|\306\255\34\243\77"
+"hs\b\275\343\42\216\310\13W\t\311\24ya\263\13\0\0\236\234\371\255vy2\307"
+"\263Yy\353\355ZR\274T.\213\213\232\0pN1\366\370T\264\256W\3671\7\321+\256"
+"\371\2\0\0\17\375\222\231\312\236\263\272b\f2\316\34jAu\373o5\362\231\33"
+"\20\37\63\362\353\5\365\274\251\222SY\20+\337\237\337\263\327\251\210M"
+"f\5_\362\253:)\246O\244\3}\212\321\340m\216\16\333\1|EC4\304\354\17\231"
+"\241qn2\263b\362\211\354\257\247\30\3479\251hc\213\274\205\f\213\251\367"
+"\255v\202\210\335t/\356)\262\265{t/6\206\357p\222\221^<j\foV\214c\324\212"
+"\346\316\342\317\224\261D\364\342\374V:\245\26\222\2240^\213i\207\\\17"
+"\213\2534/\266\204\246\251U\225^|\303\22\332Em\212\344\244m\356\'\337\34"
+"\301\213\227\255\301K\264d\246\234=\217b\234f\36\67\245\371\224\361\253"
+"\30\61\340\356\1\33j!\235d/.N\346&\331\213M]+\257j\316\213M\265*\306\1"
+"\262\27\233\372\2242\336\222\275\330\324\361\262d,^\354\250\352\250\307"
+"\346\220-\226{!#\42\364\200\332\265\326-\341\37\244\327\77\305x\224\17"
+"\3668\360\31\275q%3##\303ND\242l\25\207r}P\212}6\375\361\273\265bIKm\367"
+"P\273\243\207\272\202|m-m\317\313\325\324\327\263q\331\347m-\321z\272\243"
+"!\377\nH\306N\257\213;5\306\222\27\343\263\226Rm%\240\36\362\375e\255\332"
+"\307G4\26\215\201\223\334_vm\237e\257Uz\273\326\'%\207\77\201JKk[[e\365"
+"\375,BTTTT\324\277\247\77\330(\22\264\231\337\354\200\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0F\0\0\0x\b\0\0\0\0j5\333\205\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\2\255IDATx\332\355\230\277k\24A\24\307"
+"\337\354ecb\314\35\304\374\300\37\204H\2\42\t\234\246\261I\243\205\26\376"
+"\274+\4C\362/h\221\316BH\24!\205\205B\232\24\202\240\335%J\322\bi\304\312"
+"N\214\20\305_h\20\23\177\24\36\21\357\324\273{\26{\331\37\63\2637;o7\42"
+"\62\337f\347\336\275\375\334\2337;o\336\36\200\221\221\221\221\221\221"
+"\321_UJ41\233!\35\230\235\375\210:\272)\245L\240\266\262\276\31\324\257"
+"\335\237\b\23`\356\310\252_\367R\362pY\4\276\32\320\307\374n\346\243\201"
+"\334s}\214-\231\36\34\314\215\357\13x=]-\13+o\357\34\261d\311\t(\347[\207"
+"BX\fg=\2370\227\202\332\5`Z\351\343\205\263\332 \'\256\223%\244\330\321"
+"kw\364F+\307\34\346\207d$\252(\354H\16S\223\214D-\n\26\16\203\222\221\250"
+"\7\302oY\224M\260\2649\250\306\302|vwC,\f\250r\23Q\17\223\301\334I\6s\233"
+"\206\311\314<\232\364\177\256\274\4\0\200\3310\377>w\273,\4J\6\42\336\r"
+"\324\177DD\354\324\303\214\42\42b\277\337\361\364\27\\;\16z\230\5DD\234"
+"\b\272\266D\312\215\277\260\35\6\0\200\341\240CY\33\323\r\0\0\273)\217"
+"\337v\301\262\203\202\351op\16h`z\275\341)5&t\245pn\3236X7\274mp_S\350"
+"7y|\366\276\204\251L\266\253nH\223\242\21T\211\236\33\246\327Q\301\77Q"
+"\266\242\237\f[\26\315\6\rs\2161\306\30\333u\235\77+\265\26|\277k\234r"
+"\f/(\230\222g\334\346X\226)\223z\342\r\177rg\233\16\346\233`)Q0U\241]\371"
+"J\301\370\237 \'++q\237\233\305`\37\241\263R\376\223!\243*7\321\242)\346"
+"\327a\371\f\304\215\6\0\366\360\236\327\226\256\22\60\274\326\21q%v\241"
+"\270\325\3\0\7.\304\215\306\361\371\20\63\232#|\302h\230\361d\212\350X"
+"2\30;\331\222\236\212\2059*\234\271$\3141U4,\322\371yB\2655\355H\335\314"
+"\220P\2248L\17\327\250\251^\304C0n\362\340P\370\315\'\2756[\3652\2128\252"
+"~cEi&\273\316\337\360{\337+\274+\363\257\212\254\251s\344R\303>\346\212"
+"\376\77/\222\306\341>&\201\311R(\363\311\354\251\213\211LjR\206\236\252"
+"iR\362a\255goG{{:\335fW\313\33\305\357\245_5I\16\31\263\354\326\266\326"
+"\312\332c\4####\243\377Q\177\0R>\313\264\230\276\\\265\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2wIDATx\332\355\230\317KTQ\24\307"
+"\337\33f\2061%H\13\3]\371c@h\343&ha\320\302\262\300\205\202\340\252\20"
+"\251\77\300t\6\241\235E\213\26-\204\210ZOD\t\202\204\233 \210\332(\270"
+"s\241h$\202\322\242L\233dH^\2346\363\336\271\310\271\347\334{}D\304\375"
+"n\346p\357}\237{\317\367\2759\367\276\27\4^^^^^^^\177S\235o\301Te\rb\32"
+",\264E\42\372\300J\217\360\3120\211\366\316\330e\36\22\21\4\256\214L\34"
+"tX\42\3661\314\306AQ\351\337]\255\376>>k\256\371B\263\332p\237\340\336"
+"L\334\212\316\233\3348\245=\311\245)i\352\376\242a\274W\342\t\212QH\232"
+">\353,\30V\342\307\24#1fAk\343]\f\273\2\212\221\4\213:\304\34\206/>\221"
+"#\312\261Y\335\32D\2216T\235>\212\203\r\rc\2356Fe\34\t\317T\t\303\315y"
+"\315\230\333\365e\356i\372\225L\262\201f\35\77\353\277\257i\304\n\2063"
+"\221n\255\327\352\223\f\220\275\375ZCU\365\260#\24D/c\32\307x\212\210E"
+"\316\370\32\0\0LQ]\255F\231\4Ap\13\0\340;\331\365\3\21c\374\23p\17\340"
+"c\13\325q\7\21\337\304\332\224\25\rmq\334v\224]g\326\21q\321\324P\371\236"
+"\3\0\\qD<D\304\222\270K\320*\324\344\261\31\201\261F\226B+\215\244kh\207"
+"#\342\25\42*\216\210b\272\231\f9\42J\210\3300;E\20\313\3000\27\61\343\230"
+"\347\303\250\f\363\352O\327\320^G\204i\31f\324\232B&\346eX+\2532,\33\372"
+"\277\227\341\7o\246OZ\206\277\2\300\7\276\fK\231T\0\0`\224cl!b\202Iu\371"
+"$e\370\206\354\266X\206_\212\f\271\f\213w\335\240\f\213\f\271\f7H\f\203"
+"2<(1\230\323p\254\'\2c\5\21\63\272i\266y\306U\223\377\2320\302h_\343\31"
+"\317M\2261\312\169\245 ~5\312\256SGR\365e0\377\256\262\266\37\35\233+\314"
+"\235\275\\\346\367[\347\27~\334o\333\234\277\275 #oy\345\263\24r9]%\316"
+"\16%+\304d\225l\36\267\370\224s]{\16:w\251=[;88<\212\310G(\f3\371\206\306"
+"B\264\263\344\77\342yyyy\375\243\372\3\336\25\235r\233s\4\207\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0O\0\0\0x\b\0\0\0\0\226 "
+"\360O\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\fIDATx\332c`\30\5\243`\24"
+"\214\202Q0\nF\301(\240-`\306\24bde\374O\214V\26\346\177\370\244\365g=\373"
+"\217\n\376\356\213\303\242\256\364,\232\262\377\267:\3040\225\25\377\307"
+"\6\16\241+S{\215U\235\17\272:\261\377\330A\t\232\272\225\330\225\335\200"
+"\3113Ai\31\34\241\240\210\306W\306\256L\215\31\315\274sw\260+\334\215\306"
+"\337\206]\331\206\277\350\42:\327\260\371\243\30C\3474l\312\266qb\261\303"
+"\240\361\36\252\252%\301\330\234\302\227\274\35U\331\311\42y\\i&\20I\331"
+"J\334I\213\343!\222:\r|\211p\rB\35>e\232\beIx\323<\302\201\217\360\252"
+"C\230\307\212*\301\204\312E\304\362]\42\63\354o\274\346}\303\302\42\t\240"
+"\231\367\17\13\213\22\363\376caQb\36\305`\324\274Q\363F\204y\214\203\334"
+"<.*\233\247Le\363\344\360\351\322\42#~\327\3426Np\27\3\221\301\256p\37"
+"\211s\371\341w,\245*\23\217\272\42n\3\360\231G\24`\304\353_\306\21\226"
+"\337\376\17!\377\2061\342\0<%D\33\257\200h\350\250\343Q\226@\\3\f\331\274"
+"\357D\266\257\210\365\357y*\207\337\7*\233\367\227\312\346\215\266\257"
+"F\315\33\65o\324\274\301m\36#\225\333\223\254XX\224\230\'\216\30\60\242"
+"\212yNp\226!\221\6\230\20Y\17\376\217\300\243l\42\322\350\13nU\242y(\343"
+"4\13\314p\250\363\330\217\254\354^$;VU\315X\306\221vkc(\363\276\212\251"
+"\354u:\246q\33\260\17\304\351\241)\213\301\256\254\r\3358}\34\343\177\223"
+"\320\324\235\304\256\354\27\255\362\7\255\374\313\300\320\364\17S\331N"
+",\361q\31S\331\3134\354\331TN\210\227\227\217\217\233\365\357\217\317\37"
+"\77\177\371\370\3543v\257\210\210\361\361\362\362\363p0\374\372\362\351"
+"\323\347\317o\2363\214\202Q0\nF\301(\30\5\203\13\0\0\31Yu\baK\314<\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0"
+"\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3~IDATx\332\355\230["
+"H\25A\30\307\377\347d\212\241\31\224=(\231\372\240\335,\302\312.\350\213"
+"\25a%B7\250$\210.\222\225\17Fo\225\21\206R>DD\330\205\20\324\212\300\240"
+"\207L\202LJ\2148\371R\220\220\245!d\250x\bL+\364|=\234\343\314\316\331"
+"\235\313\236\347\375\77\315~\337\177~3;3\2733\273\200\'O\236<y\362\344"
+"\311\223\221\262\253_\214\21\21\321@k\371\274\3301\7zIT\333\306X0E\375"
+"\344\244g\213\\r\326\223T\37]\201\232H\245C\346\240\1R\253\301\24\64\25"
+"]s2:\360\300\f\364[\250\364\255\4\0pVD\3355\1}\25\252\344\263\370I!~E\17"
+"zd\365\337\23R\77\254\2512\35h\237j\222\204V|\32\222\325[h\313^\267d\277"
+"\253Am\26k\201C\276\336\222/U\201\222-\306\22\355\232U\221:\271\255Fb\31"
+"\344\226\203F\243\364\323d$\345\240\233\334\224,5Up\323Z\203\346\236\32"
+"u\274SfY\301=\t\n\322q\375\355\335\347\17\233\341\232+\320:\366(I\35\314"
+"\327\244%\251\227o\261\316X\306\362\243\306\217\224%\350\347\305\243\254"
+"t\33\0\62\32\237\237\212\42\324\266_\4\0\214\263\310\16MK\271\0\342\207"
+"\211\350\262`xIDm\0P\307\234\217\r\372\\c\33\207\355DD\264\31@\236z\240"
+"v\211k\240\3376\211\255DDtM\77\67\315,{\201\233[,\206\31\42\42z\r\0#\314"
+"\273\311\201\364O\30&\330\332\\\27\16\f\0@\3\363^\325Om\244\374j\366\271"
+"Y\35\n\7&\0\240\210y\3\254>\177\33\223\30\343\227cS\2419\311)B\326\27\262"
+"\3\342f\13I,7\24\325Y\2073\205\323@\373\355\376/\0\220\340\372p\343\267"
+"\367i\24\0\22c\'\315e\241I\0\210\217\235\304\25\22g\3025i\206\205\22\0"
+"`:v\322\37\26Z ^\272&\5Y(\223\r\226+\31\254L\247\32d\7\370uM\235K\363\371"
+"|>\337\312\306\310\3654\0\344H\227\261\370\334%Y.W\261|U80l)K\366\204\267"
+",{\230\223zlM}\0\200\36\346\335\357@:\315\262\35\0\20>\245V\331\232j\22"
+"\373\357\364T\245\212\257\225\26\42\42\312\260\30*\3319/E\263M\361t\42"
+"\200\r\366\215\77DDA\08\301\234\275\216\244>\226\77\2\0\225S\324%\276P"
+"\266\rR\337\26\0x\307\234\225\216\244j\226\177\23~u\245\333,\351\321\275"
+"Oq$-6\335\315\227\352\366\340\21^\\\256$\361[z/q\360\333\177hx,(\2278\366"
+"\232\335^\236\201\215[\316(H\237\230kB\352\t\230t*\233\233\216IM\371\334"
+"t\303\344\353\317\354\253%Wb\271\304-\215\n\322N\355\261\275\320\360k#"
+"r\36\221\33\263,\371[0\234a\'T&\231v\tx\242\362\n\177\21Ju\357m\341k7G"
+"\366\305\229p*\25/\240j-\231nkb\334`\337\312u\376aQ\'\206U\373\35_\237"
+"\1\361\272\273+\270dw\226\266\232\223\326\220N\306\33\363B5\347\263\233"
+"M\276]\1:\357\356\274\220\26\220p\356\304\360W\254b\304\206\351.\216\365"
+"O\335\326f~\336\37\252_fx\352\221*u~\334\337\340/\357\77\252\'O\236<y2"
+"\324\177\2254\264\234}\27\277%\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0(\0\0\0x\b\0\0\0\0\245\33\357F\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\0\370IDATx\332c`\30\5\243`\24\214\2\252\1fL!FV\306\377\370"
+"\264\350\317z\366\37\25\374\335\27\207E]\361\177l\340\20\206:\261\377\330"
+"A\tL\1\23\224\226\301\341 E\f\221\333\330M\f\300P\250s\r\233\272bl\266"
+"\30\64\336CU\265$\30g\20\5\42)[\2117\374\327 \24\342\217(\204\221\217\320"
+"d\230P\271w\340\254\273\370\25~\303\302\302\252\360\37\26\26V\205\377\261"
+"\260\260*\304\rF\25\216*\34U8\252pT\341\250\302\221\241\220\21\13\13\253"
+"BV,,\254\n\305\21M+\374\n\235\340,C\374NFj\316D\340V%\232\207\322>Z`\206"
+"]Y3\226\26\327nmLu\33\2607\342\3640\332\2438\332\217\223H\216\31\222\255"
+"f`h\372\207\251l\2476\366(\225\23\342\345\345\343\343f\375\373\343\363"
+"\307\317_>>\373<\332\375\30\5\243\200\366\0\0\67n8~A\3701\245\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>"
+"\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\354IDATx\332\355\230KhS"
+"A\24\206O\242\201@M\301@\205B\221D\254\25\265U\260\324\7\25\252\350J(\370"
+"\304M\5\5\21]\b\322\6\204\322\212\26]XW.]\210\13\67U\213\242\210\224\200"
+"\5\5\t\364\261\253\240\226\342\3\203U|\304H\353&\31\27\61\367\316\343\314"
+"3\335\b\363\257\316L\376|\314\237\314\334\231;\0^^^^^^^\377\267\226\211"
+"]\221X\204\324\304\334|3OX\225\236\35G|\231)\306\364\356j\2223\364\22L"
+"\317y\316\272\257\242i/\343XEp\365q\244\21\3043\r\0\0\321\177\216&I\346"
+"4\327^\213x\232\31\322\364,N\312r\355\247\210\347\21\333\334\364\n\13\327"
+"+|M\214\367X\370\377\267\\\232c-w\16a\243<\317x\312\327[\320,\7(\317\210"
+"l\272\334\n=\237\333\244\223\352~\350\222z\306\3K\277bz\206\203\372 \263"
+"\364\4\226}\252\211\336\32\330\306%\216\316\300\301%[\3166\27\220\212Q"
+"\373\213j\265\376\265\222TF*Z[\'\202e\363\226\373(\3126\tR\321\240I)\210"
+"\'\251\245\2Y\221\224 \33\222\32dA\322\200\314I:\2201I\13\62%\351A\206"
+"$\3\220\31\251\335\0dD\3326a\0\62!u\345L@rR\244Z\34\f\236/-*\220~LgF\253"
+"U\333\33\2335\232\n\236cO*\35\27\202\216#v\207\203\2204\6\0\0}\341\303"
+"_\367Ui\272\25\0\0\'\206\203v\16\\\307\364\36\0\16S\233\326/g\22Y\3g\231"
+"=\262\331\231\224}\311\356\310\13\316$A\231%#\2218\32443)\345\227\214\264"
+"2SK\272\321\376\37\306\371\224\244=\0\60\23\66\277\233\223\322,hCe;v\371"
+"\377XRk\245s\247K>\206\264\273\332{\327!_\32O\342\220\217\42}\242\272\267"
+"\333\347K\t\77\222k\276\224\354\304j\235/\205\2063\312\']-sl3wO\267\376"
+"\244\244\42\327>\252[\177RR\211\357\330\21\226\327\3425=\13t\371\244$\361"
+"\354\253\311g\363|R\347\263!\251\363Y\235\307\225\371\254H\312|v$U>;\222"
+"*_Tr\376\242*\303|\34)\206Tl\276\7a=\257\32\375.\356b\2\233\262\241\206"
+"\24\244\213\3727\352a\n\325%\'Q\256c\22K7\275it\343\236\206s\314\36u\273"
+"Cw]@\b\231\352\24\35C\310\351$\273Q\260]\21L\2479\307C\374\244\303_R\234"
+"B<\203\354\215\230\344\314t\203#M\42\236\237.s\\\362\362\357\222\256\7"
+"\361\fp\236\313e\3213&\376\342\373g8\317\374Idy\255N&\22\365\365u\261\322"
+"\237b\241\370\273\220/\342\303oljH&\23q\262X\370\366\345\343\254\277\311"
+"\365\362\362\362\362b\365\27\302#-\376\243\345\342@\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\2!IDATx\332\355\330\301+\4Q\34\7\360"
+"\37j\223\313\356\315*\16\324\226\39(\332\344`\335\234\34\224\310\301M\241"
+"\r\7\377\09 \177\202\203#%9\241(\353\340\344\244\324\332\203(\205\22\16"
+"\253\266\325\376\34ffg\346\315{o\336\373\275\13\365~\247\335~\277\375\376"
+"\346\263\273\323\316,\200-[\266l\331\262e\353\77TS\334@~\262\271h\266b"
+"\20\21\361\336,\3\21\21\361\322$b\327\311\300n\343\303@<\247G\344\274\f"
+"\244g\234\3243\206\214)\210\307\324\210>\77\203\214\331\13dd\215)\210\247"
+"\264\210L0C\206i\224\234)\241g#\306\24\304\2%\242#\234\201\24K\236\375"
+"\322\32S\20\257\364#\332\331\f\324\267\344\243g\2401\205\200\361(\207\237"
+"\364sf\323y\331Yz\334\317\310\321(\3\0\67T\214Ky\5\200Q*\306\245,\205\337"
+"\335\34\205\322\b\0p@\303\270\224\7\0\0\350\245a\\\312\2\373U\311\351S"
+"\334g\373\24L\210\2\320C\301\204)4\f\273\224\200a($\fK\241`\242+\2651\21"
+"\n\1\23\245\350cx\13\65\61\34\2126\206G\321\305\360\327ia\270\24M\f\237"
+"\242\207\21-\323\300\b(Z\30\21E\7#^\245\214\21R40b\212:F\266H\21#\241("
+"cd\24U\214|\215\22FJQ\304\310)j\230\270%\n\230\30\212\22f\313i/\252\\,"
+"\216\312\'\22\342\214\243z\3065\177\240\337\351\326$\237\375X\34\346\316"
+"i\336J2\272\374\214m^\177\303\353\246\304\31\263\201\313\346\341H\267\255"
+"Po\276\257f\5\61\63\241k\357u\311-\244sC\333\25I\230\372b\207\346\202\355"
+"\313\350\25~\265\223\211\230\217\316\340\212\337\36\342\264q\215\311(r"
+"f\236\342\356+U~\23\3\217/\210\226\345\340\300\216\302{:Qbf\236\247\235"
+"F\2037\321\222I\'\23\265J\371\273R\255\226_\276\371\307\336\232N\245\222"
+"\311\226\246\237\362\307\333c\311\376#g\313\226-[\177\257~\1\r\206\202"
+"\375\211@\242\326\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0R\0\0\0x\b\0\0\0\0Dp\372\27\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3W"
+"IDATx\332\355\230MHTQ\30\206_\243\324j\222~HmQ A-*&m\33\21\21\323\246\240"
+"\26b\264\210(\n\204\2102\203h\32\310\\\2046F$n\\$A\204\265\350oQ\270*\202"
+"Z\30eI\4\351 d\340P\224\324\230\366czZ\334sg\316=\347\334\363s\247U\234"
+"w3\367\373\356w\336\373=\367\2349w\356\0NNNNNNNNN\5\305\273\307\210\257"
+"\323fC:\363\3\206\333\252\305\323\'I@\225z\303]\301\21\273\371\363\225"
+"\204\223\326q\23\67 \303\27\324\361\226\367t\226\374\0R\306W\f[\266y\200"
+"\257\277/\224\254\177\313\225\\\260k\262o\221\244hc\313\250y\233\261@\351"
+"\213\346\232\260\302Cl]\225\3122\315V\326\251*\331>;M\271\233\225<-\246"
+"\344\n\2349\301p\220\r\24\344\207\331\340\243\262\313\315\354\325\257\204"
+"\327\2753_n\33\f\347\\U\306\201\177\207\21\371V\213\355\250\232\30\221"
+"\337QuY\22\f\227\214\253\316\26\270UU\34\370\37\230\220+\2276o9\23\f\223"
+"\362A\307\225\226\\\323\345\77`@N`\1\316\337j)y\34\66\340\274\222\366\334"
+"|\323\245\277\240\'\327\254\32M\2272r\r\267\3262i\315\255\5\227\220\23"
+"\24\7.\222\353\270\365\226I[n=\270@NP,8O\256\345\16\263|\22J\356s\2771"
+"\335/K\275\35\360\313\321\221\260\355\220&{\322\246\273:U\246/\35B\356"
+"s_{j\331\345m\377@\330\333{\274\\\27jL\37g\324\251\33h\225\17\241\251u"
+"\354\23\315\3102\r,\226>\372\343^f\b\nK\371\275\234\2\276\216\311\346\234"
+"\316w\207\305\23\222v\231\4pP\326\6\223\260\354r\32\300U\311\234\323\371"
+"~\31a\251\317\0\300\210H\36\201\333\7o\2\200}\42\32\33Z\202\23\0\270!\220"
+"S\356\347Q\276\343\336\2053<y\24n\37\334\33\273\227g\223\5\246\340\236"
+"z\13\207+\0\240\326\210[\275_\26\310S\0p\42\nw\20\234\'\17rF\2g\311\267"
+"\1{\314\270\325]2o\201\257\200A\357\250A\327\245\332\222!o\357\220/{[K"
+"\361u\226\364\243\250{\311\316\271/\375|k,SB\346f\261\226\275|\302`\276"
+"u\77\r2\326\334Z\313\2245\267\326\222#\37@\361\226\30\16D\227\376\205\345"
+"\331@t\335\336R\374\315{\213\r\336\303\336r^\340Cx\34\266E\370\343m\265"
+"\367\25\273\310\244v\22\345O\31B\210\372\346\35\241\177\322\310\307\346"
+"\344\351\204\322\362\'\255\332\302.\234\374\3303L\366r\301r(\334o\371\261"
+"BYWm>\335\220O.\314\347v<bw\247\354\376\371R\303V~\33{\270\226G\244q\342"
+"\265\270\347\2157\212\216w\3052B=\237\321\360\224\27\326\23\251\204\325"
+"\20\227U\265{\347V\6\233|,\267\234\235k\374\222\2|8\7\0\330n\273\42\25"
+"\340@\375(\351\317\277\360\230\202\3\347g\271\232\7kB\256\236\30\20\r\77"
+"\65\312\277\324\253\226\306b\13\312J\246\247&\'\277e\'TL\313\252*b\25\25"
+"\261\362\222\337\223\271\334D\356s\26NNNNNN\377\225\376\2\301\24\231\223"
+"^v\275G\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0"
+"x\b\0\0\0\0}\27KL\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\321IDATx\332"
+"\355\230OH\24Q\34\307\277\273\230\225-\205BF\224A\21\6\21\231B\207\42D"
+"\264\16\21\342!:\324%B(\42(\241\244.\35J\211\352P\247D\352\342-\352R\26"
+"h\207\352T\30\324ZI(\221v\t6,\210\304\224\42\333\3510\263\314\373;\357"
+"\315\373-uy\337\313\316{\363\235\317\276\337\274\367\276\2733\200\227\227"
+"\227\227\227\227\227\327\277P\303\315B\20\351\333\231\4_w>`5\321S-{Ns\226"
+"\240E\203\252\377\32H\332-\232jE\307>5\354\216\314\n\362\242\251I\262\324"
+"*a\257\24\260\331\322\311l\3649:)^6\251\204\r)\372\6\245\236-\343\342\27"
+"^V\322\372\244\201\335\313*l\333.|\344]k\225\264\345\235\303\214g\344\324"
+"\32\335\264\267s\260\357:[\345X\311\2621i\261\335\342h\332\345\266:2\264"
+"\'\256\334\26\276\320\254\316W\f\317\13\275\202\375\3\337\314\353`S\312"
+"^\1\366C\230\223\375\32\330\274\315\6]&\316\273\306\367\332\246\314\242"
+"x\325]Bt,\221\226d\243\373\310\344\262FS\f\305\b\303%\3472+\25\241P\355"
+"Z\246Jo]\313,\251\237\331\227u\235\2642\307\352\266\'/\2664e\276\373\364"
+"\262\215i>&\225Y\0\236\366\307\315\266V\nl\6\300q\246\375\204\2\373\5\0"
+";\331\t!\300\26\0`\344A\334ql\275;,\334\357\35\354\224\20\326Y\250C\361"
+"aU\267\363:\353\212\232\343\272\bw\331NM6\21n\13\373y\336\42\302m\313\4"
+"\376\250w\225[jlN\23\341&\330\373\201\370\370@#\21\206#)\42\334\34\216"
+"{\235#\\\232\0\0\317\24\21\356\34\333\273\254#\334\2\206\23\216\21\256"
+"*\23\230\226\26\333\33\3272\201\255RNf\234\313\304\364\265\370\270u\17"
+"\0T\270\227\t\210\277US\356e\2;\330\347\n\0+(#\303 3\264\303\250Q\377\240"
+"VXNs\7s\341\300\322,H#\303A\366\266\25\2\312=\3nO\260\177\335\335w\200"
+"\34\341\240\302\330\b\'\303\320[,#\214\213p2\214\215p2\214\213p2\214\213"
+"p2\354\321\3632\302\270\b\'\303\330\b7\3022&X\337\27{\330\42\356\303\24"
+"\341\6\330\252\350\375KB\204_\267\276%G5/d4\21n\330\315\221\2539\301\323"
+"l\5[y2\266\335H\370\307\363\302\f\353\21\37\r\2077\31\13\325\31\356+\236"
+"4u\264s\6X\203\202\25\\\325}s\364\322\350\nq\7\204\332\20>\216\236-G\231"
+"\0z\27\202\2079\375\351\213E\1\65T\237v\300\334f\\W\223\313U-\316\374\236"
+"\237\233\233\371<\13/////\257\377\243\277\246\226\27\360!\300ka\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233"
+">\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2~IDATx\332\355\230\315k"
+"\23A\30\207w\323\17A(\350\241\251\2519H%\266\250U\261\207R\245bA\343)\365"
+"\243\20\205\350E,B\245\275x\362\17\360\42\210\7/J\17\245(Ho*\nI/~\340\37"
+" j\25\261\240\261\30\360\240\245\36Z\255\251\217\207\335M\223tv33Y\204"
+"\312\374.;y\337\231\207\235\367\235}g&\226edddddd\264\356\24\361w\335\242"
+"xU\232s\342\3\331\250\217\357\16\200,*\r0-\366\355\0\200A)\320\200\323"
+"\271Y\350\234r\234\\\213\325\344t\334v\373v\226Lv\231\33\215\240\'f\5\341"
+"\337\254\223\276\317\242D\246uH\313\42\322\231\372\26\227]_\230f\23\62"
+"\313TF\217E\13~\243\16\351\241\310x\30\r\t\77\302\335\241}\316\355\32\243"
+"\247\204\244_\316\343c\267][W\3341\327\205\374\24\0/\344^\346\42\0\337"
+"}\274y`Fv^\223\0\375\345\226\206\325f\266\375\317\335\343\262\244\373v"
+"\364\365\205gf\3330Z\317:\372 \273\266\262wN\344FTA\247\0F\253\214\7\0"
+".+\222\234\232\270\277\302\26\7`I\rt\316-\257\307\312l\'\327\226\\\361"
+".U\241w]^kq\276hY\226\335\334V\352\32A\205\204\334\36Y\373X\326\21\332"
+"\1o(`\310Jh\244\'J\244\336\0RNc5\211\265S%\17\33~*\247\316gv{C;\234o\13"
+"\30\61\256Dj\362F\355\361\366\357\226\241/\256\355\246\322\233\3669\261"
+"\335Wa|\16\300\242\342\244\347\1\6\252\42\275\4\220R$\35\371D>Ym\334\365"
+"\212\345\21\365Tl\21\31c\226\221\321\277QC\305\257\266\341\236\267\277"
+"\245\307\16\246\2549\37\327A\340[\\\26\224\3\206\375v\r\200\367\222\240"
+"G\0E\261\357\274SK\356\311]Y\234\316qaQ\236\363\314\223/\27\212A\205\274"
+"\261\265\317\273\2t\277\t\353\226\277\265 \250\276\275:\271/\210\352\370"
+"\351\320\356\346\205X]\343#\365\25\304i\251\77\243\244\26\225\210\264\275"
+"\316[\376*\251G\207\224\27\221\22\32\240\257e\355\306R\253\305}.\214\317"
+"\374X\t\312VS\364P:\360n>\346|H\31\251\334\347\235\316\342|u\1pVnZ\233"
+"\0\230\360\361\336\0.\311F(\t<\365\365\366g\342\362\301n\315$\315\216c"
+"ddd\364\77\351/\233\202V\77=\0\200y\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\306IDATx\332\355\230MHUA\24\307\2470\203\310B\312\210"
+" \322\27d\b\21!\241\21\266\251E\230\211PQ\31n*HP\332<h\27\5Qd\24\4\321"
+"\242o\244\210\42xA$E\233G\213\7\21\17\67.\n\373\2600*,\222\240\354\3\344"
+"\264;g\3067s\316\271\367\322n\376\253\373\316\377\177\177s\357\274\271"
+"3s\2571QQQQQQQQ*\345\362\217\277\2\0\300\330\355\236y\3511\273\207\301"
+"U\2415\rf\323k\360\351\301\342\204\234\365\20\324H\42\320 p\332\247\7\215"
+"\1\257sZ\320\257\231gN\315,\334\320\201~:\'\275m7\306\30s\330E]\321\200"
+"\3368\2474c\375\220S\77!\203\356\330\371\253\216\365\321\266\272$\320."
+"\356OrZ\231%\220\354l[\205{\326r\337\363\240\202\25m\361\370\3\226\337"
+"\311\201j\254`\2738f9R\221b\307\3\221w\24\351V\365\322gMO\206A\27(T\23"
+"\f\365Rh\235\242\271\373\252\13/\206\42M\224\251bH\7\344\333\273\206\211"
+"W\3121\327\42&:X\322C\314\r\212$~\370\266J\301.\364\77\250\37)\2538\233"
+"\16\367\323h\20H\237\360h\253\320\322R\201t\24\223w3u\2231\365|\264\3\335"
+"Qq:\364\221\250\237\366\340\321u\221DO\345\6\217\373\27\333\311\211\244"
+"3\230=\225\251\233\214\331\210\3312\326h6\6O-\334Q\225a\354\247\371\350"
+"\215\247\333\331 \211\366 \243\31ItM_2\222\346`i*#\311\327\233\351H\323"
+"X\252\316H\372\215\245\332\214\244I,\255HG\372\17#3\221Vz\206\261\2174"
+"W$\321TY\364\220J4\241\213\244\275x4\344q\373\361\371\36J0\323\371\256"
+"\277.\301\264\42D\365\244nL\16{\375\227\350\357\20H\264\315\352\363\372"
+"y\364\237\250on\241\327_\242\275\275Zi\r\236\260\26\64\226\224\307\243"
+"\347\201\3043l\352\246\362\346z\2\211\235\272\333kR\304(\322\317\220F0"
+"\365#\230)k.*G\241\203\301P3\205\316k\336\376to-\215\201\3101\212\\bH\333"
+"\304m{\233\362m\303L\13\301\6\313\277\310\222\326\0\213\252\7P\77\347\367"
+"\270\254\363\25\241S\77\365\0\300\252\320\33\13@A\234\304\252\35\324I\313"
+")\331\3067\305\272\321\350\377`q\332-s\353\35\215\317\262\373\273\364t"
+"r\371\366\6\3614\237\326\202$\365\302\270\210\347\274H\262\310>b@G\222"
+"\255\327\313\312\1\316\345\24\213\177\357D\5\246\2649\355\227\272-\267"
+"h\277\77>\260Z\271\353\t\252nA\325\237\311\357\361;jTTTT\224R\377\0}\332"
+"\335\241-\314\237%\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0O\0\0\0x\b\0\0\0\0\226 \360O\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\1\221IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\240-`\306\24bde\374O\214"
+"V\26\346\177\370\244\365g=\373O\36\270\325!\206i\\\361\177J\200\17\272"
+"qb\24\31\367\377\6\314\34&(-CY4\2501\243\231w\356\16E\346m\370\213.\242"
+"s\215\2\357n\343\204\'\16\204\211\6\201\261\212(V\\|\364\3K\302a\342VS"
+"F\218\265r\355C\34\316\16D\262s\rn\337\t<FR\247\201/\34\326 \324\341S\246"
+"\205P\226\2047\\\21\16|\204W\35\302<V\264\320@\345\42b\371.\2211\373\33"
+"\257y\337\260\260H\2h\346\375\303\302\242\304\274\377XX\224\230G1\30\65"
+"o\324\274Q\363F\315\33\65o\324\274Q\363F\315\33\65o\324\274Q\363F\315\33"
+"\65\217.\3461baQb\36+\26\26%\346\211\303YbT1\317\t\3162$\322\0\23\42\307"
+"\31\376G\340Q6\21\241\354$nU\242y(\203>\13\314p\250\363\330\217\254\354"
+"^$;VU\315X\306\221vkc(\363\276\212\251\354u:\246q\33\260\217L\351\241)"
+"\213\301\256\254\r\3358}\34#]\223\320\324\235\304\256\354\27\255\362\7"
+"\255\374\313\300\320\364\17S\331N,\361q\31S\331\3134\354\331TN\210\227"
+"\227\217\217\233\365\357\217\317\37\77\177\371\370\3543v\257\210\210\361"
+"\361\362\362\363p0\374\372\362\351\323\347\317o\2363\214\202Q0\nF\301("
+"\30\5\203\13\0\0\33\26k\252y\301f\372\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\31IDATx\332\355\230O(DA\34\307\347\261\233\304\256"
+"R\226\210\354\201\224\177\213rUJ\271\256\254\b\7\244P\\\34\334\34\270("
+"7\16\312\205\343\372\233\222\203\266\270[%\221\222\220\25n\262\326\237"
+"\2750no\336{;\363\336\314\316H\352\367=}{\363{\237\371\315\377y\17!\20"
+"\b\4\2\201@\377[\231\251\2174\267\206\245\230\365\313\217\330I\367\33C"
+"y\216\240I\314\253\275\26[\220\17\213(R\312&5b1]g1QW\202(\334\307\42\325"
+"\\\210\242\246,CNl \330\3577\225\235\306\222\372t\3202s\212k-\225\367\204"
+"\331\275\25\64T\271I)\37\66g\345\265\31\302M\22F\17\3505\222^\21OR1V\310"
+"-O\257#T\253\7\35\62c\42\230\232x\2069\352\203\342\254j\273!~\200\31\345"
+"\327k\333\265\351\3jR\226\2340\305\245j\220\330B\26\211O+\304\216\311\221"
+"\320\274\356\272%I\213\272\253\224$\335S\236e(\333\307\201\364\233\244"
+"\42e\244Q\262\307H\222\246u\267&G\n\21\273\344L\322lH\353\304\306\244H"
+"Qb\307\231A\345\372\26v\300\214\tc\247c\303L\272c\205\34\31@#<$Fu\355\246"
+"\3\17q\221\266(\305]q\23\250\304X\346bB;\360\331\335\'\251\325\225]\24"
+"\260\214\302\350\3_N\216\232\263\235s~~\320\204\345UW\232+\377\275\342"
+"I\311\n>o\312}r\b\341\351\247\343N\352\253b\255{\216F\266o\371B\2159\205"
+"\304Z\314\316\251\352R\321\356\233\24\4\261I\'\312N\204\27e\244/e$\254"
+"\214\4\367\2 \1\311\236\244q\335zxHn\212K\217D>\262|\222\244V\3355Hv\233"
+"\341h\351\226\300\24L\230N\310\325\34649\263\264\177:\325i\200v\350Gw\235"
+"\370\37\61\306%`\341\17\346\270\372\326!4\363\235\312\331\27\350q\323\362"
+"*\313\367x\274\336\34\367W2\21O\274\305\37\23\b\4\2\201@ a\375\0\26\375"
+" \234`\3346\345\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"F\0\0\0x\b\0\0\0\0j5\333\205\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\223"
+"IDATx\332c`\30\5\243`\24\214\202Q0\nF\301\0\2F\212M\340^\377\237\4\60\13"
+"\207)F\377I\4\236X\275\361\207\231T\347\213\277B\3420A(^\222Ma\330\207"
+"\3055\222\317(\213\17\250k\236\223\21)\221X\214<g\210\254\342\347\371\327"
+"\77\377ajd\342VUA\360\366\272`\252\220D\216\205yx\334\260\16\241\f\323"
+"S\f\317\347 \t\336\307cL\320;\374^Er\315O|\352\f\340\312x\261IK!\231\223"
+"N\224}\1X\245\253\376c\3656\6\230\13S4\r\273\3743\2041\370\22\0<6\356\22"
+"\16\236jb|\205C>\2\311\34I\334\306\314\42\344\365\3D\5\2170A%\304\245A"
+"\230\22\35\\\n\314\221\314\261\300iL=TE0\341\330\304\353-\302\311\13\311"
+"\230C8\25\235\204(\210\306m\214\4\2229\221\270\24)A\3445\360\244\n\242"
+"\22s\317\377\377\377\377\337\301\233G\211J\314u\377\377\237W$:\257\343"
+"I\314\334\204JG\42\23\63Ap\200\310\274N\b \31\63\227\2c\220\23\263\31\5"
+"\346\314\245\276\267\346S`\frb&\242\271\202\253\356\376\362\313\31\316"
+"\26\332N\201{\236\221\22:\270\35\314\376\203\204F\30\23N\231\237\253\251"
+"\323\20\364\201\371i\5E\306\304\302\214\221\246\310\230\363PS\326Pd\212"
+"\'5R1\42\35kSd\312A\250)\305\24\231\222\17\65\345 E\246(Q\'`~@M\261\246"
+"\310\224\245PS\272(2%\24j\312\35\212L\341\202\5\f\27E\306\334\201\232\22"
+"\212G\215\352\202}%\370M\351\202\232\262\24\217\32G\202\225\2065\324\224"
+"\37\204\2238\37\21\231@\t\217\232\36|\rc\224\32\63\237\210\374\226A0\23"
+"\34 \246@\213\243,\23\334\203*\262\241,\23\300\354\342\243(\23\244\23\331"
+"J\177\214\77a\375\305o\214\bLZ\13\257),0e\337\361{\231@Q\265\31\246n\3"
+"\326\352\16\256\373#^S\22|`\254]\330*\337\332&8\363\342\266{\237\376`\361"
+":#\23\257z\232\20\234\253v\33\323\30\355+\224\364\347\341L2J]F\314\260"
+"\251&\335\224\207\370\33i\304\202zL\2071\375%\3355\322\3170\214\341\377"
+"@\225\21\223\217\244\233\202\2653\225Ej\310\340h;\205\223fJ*N\17\262\32"
+"K\262\377\373\367\17O\221\305\310\300\304\302\306\316\362\343\361\261\357"
+"\243\203\233\243`\24\214\202Q0\\\1\0\351-\312\'[\37V\30\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0@\0\0\0x\b\0\0\0\0g+\253\302\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\326IDATx\332\355\230\277KBQ\24\307"
+"\277jB\244)\2418\364c*Z\32\203h\221\220\226\326\246\226\240\241\265\245"
+"\37C\364\17\2644KsC[PA\16\21\24A\209DC\203DH\22Qa\204\77\22\223z\247\341"
+"=\365>\275\346\275\212\4q\276\323;\337w\317\307{\317\275\362\336y\0\213"
+"\305b\261X\377J\256&\367\273\34\244H\329!\rm\325\345o\220\246\206\355\371"
+"S\244-{\rn\272\265\253\227\216\3\0\34fD\372\345\177\34\2\08\315\n\266\260"
+"\177\203\3266\1\0FE\362m\316\200\253o\334o\33\236\270/\30p\7\303\rh\13"
+"\225\322\344\203e/\42\24\354\332]v\347\352\252\b\0X\252\270\375Us\263:"
+"6Tu\243R\300\252\314\35\223\376\230\247\306t\n\225\0\260+\f\275\253\\}"
+"\n\356G\315\352\235\342f\2\61\341V\251rU\370e3L\200Q\16O\245\203\f18\224"
+"\1\276\312\341S\363\375\217\311\0%\215\3t,\3\24\255(\251\0H\312\0y+\332"
+"\323\77\321&\340\315\212\366UR\342\22@\312\212.T\0;2\323\372#\310L\42J"
+"\333l\257i\276\2123\260\212\260\246\264\352\374\3\0`\333f\316\23\21\245"
+"\2404\3L\20\21\221\303n\256\23\35\367(\2\60\373B\211I\205\2716\4\210\217"
+"\23gk\317\243\357v\1`\0\3\30\300\0\6\60\200\1\f\370c\200\2735vH\336_\251"
+"\317`\272\335\366\377\254\372\336h\234k\317\277w1#v\332G\21\275\364\225"
+"|}\267~\25V\317\217\312\33\376\31\325\374@\203/\6\7\359H\35Y\2\260\234"
+"\251O\277\224\27\321\321\2101\20\360y\375>\217\233\212\271l.\227}~\347"
+"Of,\26\213\325y\375\0O\f\3554gp<\247\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\31IDATx\332\355\230\313+DQ\34\307\277\343\225!\26"
+"\204d\222\220\315\224G\n\13\33\376\3\13ai\341\261\220baA)C\221\245\24\261"
+"\361\210\205,D\211$\26R6Sl,<\262\262\240Q\32\211\302\265\231\231{\3569"
+"\277\271\234\203\205\372}W\367\316\367;\2379\337;\347\314=s\1\26\213\305"
+"b\261Xn\3628N\274I\37/o\246\250\332\325WK\324~\233\232I\31:ud\256G\322"
+"E{\330R\264##\252\237\225\314{\235m\27[\204\272$\306.\2219\4\0$\0\200\217"
+"\252W$\235\227\22\231R\233qtG\370\7\322\371\26\221\21_\253\273S\206\31"
+"P\336\260\244d\326\235\201\226K\247\335O|\252o\360B\214,\373\225D\275\350"
+"_\305\231\3\263\261\304\42\351\'\n\214P\34Fg4\320\23\'P!@\262\351H\364"
+"\13\236\214;[\347l\3061\31\250\214\270\347.S^\30H-\345\77D\3144\27F\203"
+"\0!\354\261\210\325\355\272\366Nl\306\270bF\227D\360\213\5,\f$U\366\356"
+"#\206\367\13F\277\315\270\221\254\321o5\221\6\322l\324D\372\35\60j\2\0"
+"+6c\315\250\211\324\246\314\244\t\0\64Qmt\232\0\200\260\302\7\214\232\0"
+"HR\6R\242\327\4\0\2\66\343\f\0\20\322l\42]\326N\0\63\272M\0\240J\200t\24"
+"L\3507\1\200m\352\216\343\325c\200@tk\42\320\256 \202\320VHf\244\3513\262"
+"%D\237\311vb\332\3110\333\2238\20=f\214f\221\221\217\37\17d\336c\310(\212"
+"!6]s\t\277\260/d\6\63\230\301\ff\374\17\206\207\376G\257\305H&\216t\31"
+"y\261\243\\cF\243\275\77\63\276V\302\375\266\325\b\220\323\353\330;,\324"
+"h\23F\211=\335\236_\13\261a\221*\327@T\320\bk\352\357\346\351\237u\1\2"
+"\37*a\327\377\235g[\16\25feddf\246\'\277\277\204\37\303O\217\267a~\20\310"
+"b\261X\377@\2371\333T\317\302$\353\b\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0F\0\0\0x\b\0\0\0\0j5\333\205\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\252IDATx\332c`\30\5\243`\24\214\202Q0\nF\301`\3\254,\24"
+"h\226\353\275\367\37\r\234\314\'\331\224\210\377\330\300\3i\22\215y\206"
+"\325\230\377\263q(g\302.,(\211]\\\2114c\336\357\301.\276\235DO\211\354"
+"\307\346\247^\322\243J\245\354\34\252\31\33\3438\311\213t#$C\316S\220x"
+"J\21\306\210Q`\214$\302\30\374\n\31\361K\377\'R!\23u\362\35~c\24\250cL"
+"\32\202\251F\276S=\221\42\374\235 yf\330v\277FM~\247K\324I4Bu\32\366\f"
+"\376\377Y)+\261f\b,\375\217\27T\22c\b\317\255\377\4\301l\202\246\24\376"
+"\'\n\20\210\267\331\377\211\4\316\370Li\377O4\320\302m\212#Z\f\277@\346"
+"\235\277\203*\213\'#\42\203D\6\6\206]\bn*\272\227\17\3432e\1\222\242S\f"
+"\f\f\f\f\226h\226\313!\233c\206\243\314@R2\3\303}P\201\37\b\221\177\330"
+"\215Y\207P\261\n\303\233_\261x\334\236P\310`\212}\204\247q\244\234\201"
+"\255\240\310\304[\251\301M\376\320\203(b\2619\346\21\334\226\213X\\\370"
+"\1\233\253\263\361\372\311\f\2771\2100<\206\327\30\6\374\306X\343K\202"
+"\242\230\221\202\303\30l\26\302\203X\b.t\206\222\232\201\3.\364\202\22"
+"c\20\325\331_J\214\371\215(D)1\346\23\\H\203\242\352\223\350\b\227\301"
+"\27SH\371\225\33\277\205I\210\204\2177\371M&63`k\303M\307\346+,\306\270"
+" \324a\253E\305\21\322+\361\31C\2508\376\200\220\367\304\320\3\217\310"
+"5\bUU\330\353~${t\320\215\201%\253f\302u\303[$%\1\330\333~\363\221\224"
+"\324\3400F\36\271\334_\317\300\300\300P\206\340\313100\310\376$\252\242"
+"Bm\216\314r\313E\356\274\4\206\34C\2216\302\235\262\336\21_\371\266\341"
+"m\300\22\13\326\342O\351\357\2113e\6\241,\332A\214).D\344\365\31\204\f"
+"I!\262\3200\335\204\333\214n\222J5\321\242S\230Fl\b#\253\17\275\23\331"
+"\214F\362\213\304\243\250\315$r\201\315 \355O\375\241\244#\304\202\205"
+"E\2061\316\304\6\42\63^\331\35\210\6\2\303A2\243\211;\36\245y\275\325\211"
+"\34C\362\77a\246\342s$\2334\31{\216\362\'\315\24>\34\31s\27m\373\341\264"
+"\365\24\3C>\226\342\364\214\239yJJ\204\227\227\217\217\207\355\337\217"
+"/\37\77\177\376\364\362\335\350\340\345(\30\5\243`\24\214\0\0\0\304\360"
+"\240|hm\205\204\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2\363IDATx\332\355X\317KTQ\30=\251d3\321\17\63\20\33\27\245\323lB*\202"
+"\24\22\242E\177@\224\205AJ\13\247!\\\250\13\27\tAN\320\17\334%(\355*j!"
+"\265)\20#\254\26\21\264h\42[\270\310\244\334iM\204\2505h\276\26\276\327"
+"\273\357\273\337\273\357\335\333\246\305=\273;\347\314\271\337\271\363"
+"\356\275\337\33\300\302\302\302\302\302\302B\205\r\201A\242b\355\327\252"
+"\251U\323\203\222#b\242M\326l\354\177\37\320\314\\\331,\322\227\35\t\343"
+"\324\342\320\262\244\371\335\354\323\365\16\203\13\304\343)\243y\t\0(\3"
+"\200:.\336n2N3\232\264\357\361j\236\341_\220\361\23F#~\326</\2259 }\341"
+"\256\244y\30\24\234\231\16\322\275\314\254u\227>\212\222{\373$E\213\310"
+"\177\ny\6F\376*\356\260|\271\340Q\f\361\310z\202\256\20\301~\301\244\232"
+"\227x\77\360\315\320\247\365\266\357\361\232\25\34p\331)\305#/\24\322\304"
+"\361\337]2\251\3608&\2300\364U\227\312)\367\336\33\337\343\232Dz[\242\20"
+"\261\201\205B6Q\356\253K$\42<z}\217\317\204\312\307JB\ni5JB\316\1\243$"
+"\0p\337\367\30\65JB\322dL\222\0\300\t.\215N\22\0\20vx\237Q\22\0\25R!\r"
+"zI\0`\300\367\230\4\0\24\65\223\220e\315\2\30\326M\2\0\7\5\223\316\324"
+"u\375$\0\60\306\3358\t=\17\60\269M\13\234\227,\n\320F\221z$\365=\252\211"
+"E\217I;1\24\3640\353I\2\26]f\36\255\242G-\376\275\220\32\205\256L\301\211"
+"\327\372I\303:n\304\\SU\35\201\253\356\\\314\336\222\256GL\245\242\216"
+"\241\340p\324`5\322\364a\317\350{|\223v\235\266E^\336\374}\232\26l\333"
+"\253\351\341\335\'\217\372\5\217\267FI\6\201-\202\311q\203$\37\0\340\250"
+"Y\32/\311\372\313\305\270\3571\242\235$\'o\340\32\315$\5\346\200^\320L"
+"\222\340\16\350\254Q\22r@\33%\1\200[\276\3073\243$dY\17\233$\211\321A\307"
+"\353 \225\35t\334^X\325A\307\355\205\25\35t\0^\337\365.\342\2729\255\360"
+"\370\341j\266qd&\326\262\16\253\27\355\271\342M\336C\247\247H\361|\243"
+"PH\7/\361O\254F^P%\236\213\355\214\240]\370\363b\352l\304$\216\3438\223"
+"-\352\206\305q\306\32T\235\357:J\35!\253\345au\17\261\350a\16z\241\301"
+":\302]\4y\3421\315h\276D\336\373A\254E\334\352\23\362\24+4\313E\246\216"
+"nQ0H\331\307\365\322\244\247h\232\3316\322UT\356\255\335\236,_YZ\\.\225"
+"\26\347\226\370<\251];wTm\255\304\317\205\342\334\354\214\375g\320\302"
+"\302\302\342\377\303\37\224\223o\t\251]\214\b\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\0\0\0\0}\27KL\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\2\204IDATx\332c`\30\5\243`\24\214\202Q0\nF\301("
+" \3\260\260Pl\204D\347\355\377h\340t!\231f\5\374\307\6\236(\220e\330\35"
+"\254\206\375_\210[\7\23N\31ve\354\342\312\344\30\366s3v\361mdy\223w\'6"
+"_N$7:\25K\316\242\232\264-\221\233\222\344a\204d\324}\16J\23[\t\3020\r"
+"\212S\2568\3020\202j\31\t\252\370O\274Z&jf\341Q\303F\r#l\330\352\377\377"
+"\377\377\237I\202\351\352\273\377\377\377\377\277\25\213\214\16,\323\254"
+"E\317\18\262\23\337C\250\360\33,\271\6\1\344\2111,\26!~\4\335\254\2\344"
+"bK\230\260aQ\310\352\265\320\f[\203R\b\22\64\214\tEy2Z\4<@1:\232P\330o"
+"A\341\275@\223\225\371\215l\325\37B.Cq\330Q\f\273\304\226\341\360\'6\301"
+"Pd\265M\330\234\316\272\35\241 \25\277aG\21\202\215\270B\342\36\\\311Y"
+"\374\206!\304z\210\251\212\360\32\306CT\275\200P$\200\317\260\fD\253\b"
+"\217a\373\341\252\362\360\31v\16.\24\217\307\260H\270\252\33\370\fC\b\341"
+"-\26\360\352\204\267\32p\5\31N\243mp\333X\6g\355\304\233MV\301\355<\206"
+"\333e\b\21_\274\206Y\340\323\n\25p$\272\301\200P8\t\227a\37\341\2\367\b"
+"\30\266\2C/\272\200=B\300\217\200aB\b\245\207\260\33\366\237\204f\321m"
+"\3642\17M\357\26\4\277\216p\225\203d\263\'\3\3\203*\252a\375\2448\214\201"
+"\341\2\222\362z\6\206\16\4\317\207\201a\27\222d\31\21\206\261\243\224\242"
+"\227\2209\227qV\24\20\300\214!\362\367\2673r+\24\2454F\346\350\276\42\252"
+"\246\276\360\237\bP\307@$\370D\330\254%\304\267\42.\21\62\253\237\224\366"
+"L>~\263\254Hl\36\65\3426*\212\214\326\226\362\\l&5\260\223\335=YLf\24b"
+"\7\206\377I\310\77\314\4\344_p\42\312o\363\247\224\266S\345G;b\303\310"
+"0&j\32\346BM\247\337B\244\263\t\224\231\304\31\367\349;\355w\'\337\250"
+"\314w\230\205\306E7\362\314\352\304^\232\205\22254\370\17\273a\7\350\224"
+"\316\350\344M\6\206\314W\230F\235w#\277\b\222\24\341\343\345\343\343f\373"
+"\377\343\313\247O_>\275|;:\314<\nF\301(\30\5\243\200\366\0\0\342\236\330"
+"\364I\77\t\362\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\20"
+"IDATx\332\355XKh\23A\30\3767}\31\22\nR)\255\210\224*\36\212\265\210/\260"
+"\b\265J\5\275\bzQ\244\266X(*x\251R\24\25\21\5\241\350M\360UD\5\361AA*\202"
+"/\360\22\260X\17Qzh\20+E\215\224\324\42jDJ\314x\310\346\237\235\235\347"
+"\356^\347;M\346\373\362\375\377\314\356\3743\263\0\26\26\26\26\26\26\26"
+"\26z,;\372t\226PL\337\357I\206\261\331\233&\42<\332\30\314\246s\232\310"
+"\361\244\301\330\247\235h0Yaf\364\200\350\321kb4CLp\231\373\237\343\357"
+" \276\337\177&r\177\213\225\211\305+}\375\367\366h2*2\2213]\36\352 \233"
+"\325-\265\321\'F\274\312\307\3662\354Y\225\321\260z*\0>z\5[\344Fk\274\272"
+"]B\311M\257D\356\344U\255\227h\316y4\3032\243\255\6F\0\27\f\222\372L%\252"
+"G<Je\307\265\203\33U>`mR\203&S\t\0\260\211\n\27\t\5\377\220\277\242y}\251"
+"\323%\r_\243q\352Wg\177\300tpLP\21\373\6\331\323Z\247\357\250\335\247\214"
+"S\257u:I\253q\340\214Y,G\355o\276>U\315ca1\250\255\2047\210\225\33\264"
+"\314\277\r\267\247\241S-]4\21\235\252\261\353gD\'l\300|D\'G\272\'\4u\n"
+"\371\177\245SeD\':;\361\210Ny\354\252\213\350\224\243\307\246pN\216j\1"
+"\204[-\201\260\32[)~t\220\305V\243\326i\'\266DU\345\fV\212\1\255\323W\324"
+"\212\2426 ;\25\261\372\6(u\315\250|)\344\37\42\337\244q\32Be\207\220oE"
+"~(\332\340\2\f\17u\262\362:b\350\324\201\272\315\22\305R\255\242\204\307"
+"\372\210\364\32`68\371\241\265\317hx\325\250r\f\242\325*\234\360t\364\216"
+"\351fw\311Bg\271\361J\356\364\274\312m\264\345M\246\300@3\241\234\314c"
+"z\247\335\352\363\34\27P~Y\32w\25)\303\343ZF\33+aZ0d|\227\321\361\30\0"
+"\240\307U\366K\370\327\6\357\t\233\324/5}\327\240\332w\273\332uB\366\242"
+"\313\252o\325;\6\267\3\0\314\225\264iUJ7\0\300\351\36h\225\337\222\236"
+"\305\1\216\270\3526\201\346<\275Cn\230!\204l\23\356\241\204\20B\306\27"
+"b\371\231\222\247\224\253s\77\5\214\211\234ZJ\242/\207\313S!\bx\33\67\262"
+"S\212\227\245\231\277\312\373%\t\275\204\273q\226\260\337\247Hq\212YC\'"
+"_\3048/\270\256\277\230\227\260\226\21\\\343\5\355\232\375NR\250\211\341"
+"4\211\224\37\64\374\13\321\231\16\0Np\336s\232\225\325\7\246I\35b\3501"
+"\77=\42\r\221\364)\277\261\364\22\37\235V\245{\325\253\274\343g\33\337"
+"\313\23\346O\2475-\365\13*bN\341G&+\n\265\242)\31#\305B>;i\277\255ZXXX"
+"X\210\361\37xy\'\271\200\324\177~\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0(\0\0\0x\b\0\0\0\0\245\33\357F\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\1\220IDATx\332c`\30\5\243\200\346\200\21J;\353\n|\270\274"
+"\27Y\206W\214\207\341\313\253\317h\352\23\17\177\370\377\341p\42\222\210"
+"p\342\201\217\37\17$\n\243\252s~\370\377\377\377\377\377\37:#\314+~\372"
+"\357\337\277\177O\213yQ\24n\376\17\1\233\341\42\336\247\376\375\373\367"
+"\357\337\277S\336P\1&\6\6\6\6\6[(\317\26\256P]\35\225\206*\304\4\\\\\250"
+"4T\341a(\3570\\\341\253W\2504N\317\230\256\373\361\357\337\277\177\77\326"
+"\231\22\n\36\337\3\357\177\377~\177\300\227p\200\233F\32\62\234_~\232v"
+"q\315\214%\372Y\31\377\343\323\242\77\353\331\177T\360w_\34\26u\305\377"
+"\261\201C\30\352\304\376c\7%\fhQ(\203\303A\212\30\42\267\261\233\30\200"
+"\241P\347\32\66u\305\330l1h\274\207\252jI0\316 \nDR\266\22o\370\257A(\304"
+"\37Q\b#\37\241\311\240\245\360;p\326]\374\n\277aaaU\370\17\13\13\253\302"
+"\377XX\370s!\6\30U8\252pT\341\250\302Q\205\243\nG\206BF,,\254\nY\261\260"
+"\260*\24G4\255\360+t\202\263\f\361;\31\2519\23\201[\225h\36J\373h\201\31"
+"ve\315XZ\\\273\2651\325m\300\336\210\323\303h\217\342h\77N\429fH\266\232"
+"\201\241\351\37\246\262\235\332\330\243TN\210\227\227\217\217\233\365\357"
+"\217\317\37\77\177\371\370\354\363hWs\24\214\2\332\3\0l\324\214\353\310"
+"5rG\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0"
+"\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\253IDATx\332"
+"\355\230\77hSA\34\307\277\251\255\230\324\24\61X\21\213\24-v\bZ\213\304"
+"v\320A3\226\16\16E;f\260v(\202-8(\b\246\202\342(\202\242\213\177PA\244"
+"\210\5\261H1\20\21\254PQ\7\7\377`\207:Db\23R$R{\347`\222w\357\356\227\274"
+"w\27\n\25\357\273\334\313\375\276\371\344\276/w\367\216\7XY\255~\5\350"
+"\356\370\256\r\271\367\323bO\270u=\26\63\5\377\344D:\307s\351\204\320\23"
+"I\244\362\371T\42\342\33\21\237\343\234s>\27wF16\317\30c\363ca\277\214"
+"I\376W\223\225\236\276\31\306\30cl\246\217\2607P\214\3R\13tv\272[o\206"
+"\252P\310\335z3\322R\13d2\356\326\344\236\306&\212\2141V\234\210\325\361"
+"\337\366\247\26\226\226\26R\375u\315\261\330`7\336\334\177mW\345\177\274"
+"\7\5\202\215\254\370\333\24\325s\357\27\27\65=\250z\326\236y\353\362|9"
+"\327,\226\317rEOe\304\336\237\212g\271\327)o\347\204\216K\214)\302\223"
+"r\326~\33\25\257]\372\334Ax:\34\306\13jWx.o\220\324\246)\\\367f\224a&\225"
+"/\334V<\17\335\206#\237\334\345Q\342W\333N\177\24-w\242\212c\277X\377\\"
+"e\16\\\2538n\221\3655\2#[\2051T6\214T1t\t\220*\17\264\362\37|\251\352l"
+"\275\3560^\222\206=\245\352\207\32S^\30H\17U\377Q*\206j0\16\n\20\242|\276"
+"T\32\256\271\366^9\214\13J\261\274$f=\26\2600\220ur\355{\251\20\364`\214"
+":\214\257Ri\334W\22i \3FI\244}\300(\t\0\334u\30\17\214\222Hiv\232$\1\200"
+"\303T\32\235$\0 \254\360SFI\0\64*\3\331\241\227\4\0\222\16\343\35\0 \253"
+"\231D\272\255C\0\256\352&\1\200n\1rl\353E\375$\0\360\204z\342\4\365\30"
+" \20\303\232\b$\24\304,\264\225\225\31!}FDB\23449N\\q3\314\316$.\304\210"
+"\31c@dlA\335\3\271\21\60d\264W\20\217k\372\32P\277,\3032,\3032,\343\337"
+"`\4\274\336\370\370`4\21W\272\214\315\225\253Vc\306!\347|f|\257\204\347"
+"\355Q#\300\246\23\256\263\303\315}\332\204q\342L\367,\252\205x\304I\355"
+"\326@t\321\b~y\345\346\351\212e\1\222L%LE\375\274\333ri\333\306p\270\245"
+"\245\271i\271X\310\27\26\363\337\n\260\262\262\262\262Z\375\372\3\2572"
+"\251<\260\27\230\266\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0L\0\0\0x\b\0\0\0\0}\27KL\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3"
+"\226IDATx\332\355\230[H\24Q\30\307\377[mke*vA\263453(\266\242\233\320E"
+"\272S\24\21t\23\4\211\224\36|)\320\3567*{\220\202^\212\220\354B\322Ki\226"
+"aF\27\20#\13\22C,\23-\215\254\25Jl\315J\332\352\353awg\316\354\314\234"
+"9\332\201 \346{\332\371\276\377\376\346;g\316\371\316\5\260\3156\333lc"
+"m\320\3200n\334\321\17\326\270\244tWm\3657)y\r\333\372\234\372\272\326"
+"FJ\201m$\42\242\212I\234n\20\207\245\371\0`u\222C\2l\332<\'\0|\350%\t\260"
+"\304d\0@\317g\31\315L\214\6\200\337\315\235\22\272\337q\241\217\210\350"
+"\305,\207\204\314RS\\\0\360\254\203$d6\277\235\210\3103o0$d6)\22\0*\352"
+"\177I\2009\3468\1\364^\377-c\370\'T\21\221\357\214\223_\b\4aa\343\1|{\364"
+"S\nlJ4\340\273XI2`\203\322F\0\336\32/d\300F%D\0\67\36\313\251\261\321\265"
+"D\355\213,\363\27\203\315\34\13\64\274\226T\374wu\323\253\331\220\223Y"
+"XB\24\265\275\223\264,9\356S\323r\207\244\314\26\304\342I\255u\271\30\42"
+"\324e\251\336\334\362\357\2\r\20j\245\233<\37\245-\345\303\235\366v\306"
+"\266\377\323\254\246\323\304\205\356\370\250!}\235\r\367^\376\345$\332"
+"\353!\306\36\246\f\34U@:\353\30\303\n\346\224=\331-\206\272C\206\266GU"
+"\244\23\21\345\t\240\266\220\231\235S4>\42\42\201R~\226\314-7\240\311\361"
+"\77Z\262\312\211g\201\332\334%\6\273\251\375\363\245\305qsK\230\347:\0"
+"@\254\377\241\332\202U\254A\35\b|9\306\225\f\0\247\374\277\263\371\254"
+"\35,\312\243\270W\252\316F\0 \221V\246hZ\310\4*U\367\264\340\321\207\332"
+"\3700\226u\320$\322\340\212\371\344\377\225\303e\35eX\371\332\320e5r\253"
+"F\250\225\f\353DH\310\251\37%U\\V\221*\274\253\13v\353`n\321\304\364\301"
+"\334P\326{\321\36\63\330\2149Ba\253\4\23k\264\372\322D\364\205\313JW\205"
+"\343\5\346\331z.\254\316\2427\326ia\242\343b\251\365\210\246,.k\223\345"
+"K\373\221X\263\242;o\242\2504,\271\26\357\2153Qd2\260X.k\205u\13F\13\267"
+"\262L\321\25\17l\206\30\13g\f\24\246n\17\310z\3130\374+\177_\321\217\273"
+" `\273\2500Fi\300\13\2412\234\314\313,Jq\2751]k4\213>/\263\351\312;\257"
+"\230(\3425\23\240\235\227\231\321\227\320\332[\355\335\4\17\246^2D\30\263"
+"<!\317S9\260^\365\242\306\220\325\22\23\342\310\347\35v\371\343\261I\277"
+"6\211\315\0\61\26-\21\202\25\350\333h\264\267\342\335\230\224\232\247\326"
+"\31\f\224\214\f\257Ve\13\315anU\325\252\tLV\374\307\305+\7\243\252g\334"
+"\7\25\357a\0@\241*\273f\16\313`;$#\340\334\246\272\16\351_Z(\266\235\42"
+"zpd\347\311z\346y\177P\226\3078KMaI\274}13\313}\214\333\274\304d\233\263"
+"602\27\33\270jJ\333l\202\352\232\240=\235\tN\204\333F\254}:Y\253\340\312"
+"\222\353\rA\2356R-\13F\217Y\225\3605\327\24\322\323L\323\223h\321\17\242"
+"\226,\261\303\353\330p\364|\262O\367\266\331f\233m\266\375\3\373\3rW\31"
+")\f,tA\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x"
+"\b\0\0\0\0d\234\245\352\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\344IDA"
+"Tx\332\355\227KHTQ\30\307\377wl\234\351\201\206J\226d\223\243\251\221\f"
+"\364\34!\3136F\224A\233(\21z\321N\n\332\344\42\60\42\252E\233\26=\\\204"
+"\275\26\5\25\tF\331\213\220\36\212\25\212!%%#\24M\17\254\31\33\246\31&"
+"\347k\321\350\334{\347\336s\3179n\202\356\177\371\375\3477\337y|\337\271"
+"\347\0\266l\331\372\277\345\310v\33\306\25\36\270\310[\353\352\356\212"
+"\312e\236\276\273\237b\243\233s\345\350\255DD\324Qf0#\16\272:\1\0\33\275"
+"\212\f]\345w\2\300\247\b\311\320%\245\0\200\261\220\324\310K\362\0 9\364"
+"Yf\315\224\266\30\21\321\340rE&w\305\42\27\0\274\374H2\271W\217\20\21\5"
+"\375Y\220\311]\226\13\0\35}\3432\264\262\322\t r#)Uh\236N\42J\234q\32w"
+"\217\25\355\236\17 \372\364\267\34]\231\7$.\334!)\332Q=\23\b\77\tC\212"
+"\316\367\344\0\267\236K\236*y\335D#kMGfA/\235\3\f\f\313\36h\7\177\320\333"
+"\25\220\314\355\366\314\246\300\7\331\303TyHo\352\24\331\3345\363\320\323"
+"m\336\\\323\330\323\256\b7\265\377b\f\215=p\37\5\277\311\177Df8\355\17"
+"\351\77&\263\375^_S\236\357V\0\32\217\177\17\274\270\33\23\370\313\206"
+"0\351\364s\77/[O\206:\314\5_%3\325[\303\227\310\\\227\255`\37\2614dA\367"
+"0i\32c\323\252_\236/L\305j/\252\26\237\223nU\207\17L\206_3\340\2544\355"
+"\321:\217\'\342-\\\271\27\353\234#\23\6\27\335\256\267\366\244\f/\327\252"
+"\255\321{\233\376\306\13\314\351s*<#I\361\0\21\235d\235\301\352\335\365"
+"g\330K\32\374\314-;\245\306\17\tw\374\250\32\217\26\210\342\332\332l\25"
+"\244+\265\370\27A\274S\213\77\22\202\235\303\272\306\312\21\200\33\63\332"
+"r\35\67[d\320\324\13x\341\275\6\360 /|\314\0\16\362\302\'2\331\370v^x\237"
+"\36\275R\307\277\330\332\3434\260e\n\25Z.Xa\273Tl\227po\205\322\360\3\361"
+"/0\t>\2535wE\25\261J\374\32\60\67=p\201+\264\310S\332\\\331\226\271\227"
+"]\33h+\266\336nc\377,\21Q\2575}\334\310~\306\356\326\233\314\344\201\224"
+"5\313\272\314\337\353\275\205\23N\77O\235\367i\235\346I\303g~KSwIC:\276"
+"#\35mb\334\25\265\363\275w\377]8\253\240j\203\252\362Z\2162\266\334\313"
+"\276\361P\263\370\231\230V\243U\301m3g#\245\34\5{\233\246rK\5\232\302\231"
+"\354i\221\216\251\277\256F_\355\224x\315\25\346\272\34\311x\350\253\375"
+"\2\262e\313\226-^\375\1\200\242\262\355\13\240(L\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\3\353IDATx\332\355YYHTa\24>wj\324\234\324"
+"\30\261P\24\321\222\222\262p\37\332)|\321v*\237\262M\241\260\b\242\205"
+"\242\'\37\n1\260\b!H\fZ(\332\f\214\350!*i\231 \261\22\315\214\312\240R"
+"\313,\265EI\363\36403\377\2753\363o\267\377\3666\347e\316\177\2773\337"
+"\234s\3569\3776\0!\tIH\376\207\330\302\42\230\230f\206(!uQ\270\273\361"
+"\227\272G\23\66\77\303\341\276\3451\352L\353\20\21\261a\32#r\23L\256\21"
+"\0\200\302TM\225iV\276\35\0\240\353\7\2522\245L\5\0\200\301~\345\350R\234"
+"\0\0c\35=\252\371\326\352\206\21\21\333\2625U\237\246\247\205\3\0\64}@"
+"U\237\346\275CD\354\316\37\7\252>M\213\1\0hx\372G\225I\313\265\3\300\217"
+"+c\312\5\236|\13\21Gj\354\354\356\226e\212H\4\200_\17F\325\231f8\1FN\337"
+"De&\233\313\1\60p\177\0\224\231b\223\243\1\352\37Y0[:\335\210\357\26r\275"
+"\226d\312\234\f\320\362\306\212\t|\3377|\231\3\26\370\24\221<\t;\337[\261"
+"\250h\267\261\275@\263\302\247\371\361\360\330\315\237\4\306\313\245i\372"
+"@\371\365!\201\333r\301\315\306\356^k\26\337H{h\3\22\222\220X&\201\35\\"
+"\2648=q\2123l\260\351|]\0\22_\220\231\24\65\332\333z\247Y\206\367\2\32"
+"\244\332\0\214\2532\0\315.\21\317R\364\227.\202\234\r@p\t\227hK\2409vx"
+"\200=\30,\355\34\242\355\24\373j\0p\264!U\322YD\233\250\346\7\323v!K\346"
+"\310\345HF\250DQ\4v\357>\312\370b\225+.\375\260\361\1\265\34:|h>\0\304"
+"\323xVz-{\f\317&\7\23\225\372\2600\0\08\23\304s\\\267\355\327\237\36\13"
+"f\362A\221\236aq \321*\2321\342\327 \2422/\222\347\35\257\b \362\337Z\34"
+"\341\344\374\225\347y\245o\274\323\237(\313\337z\42\207\311\363\3707\31"
+"_\362#Z\306\312\5\223I\357\313Q#Q\r\230`z\202\210XA3\245\326\37\7\233\333"
+"\211\270W\37\246\31\211\326\232b\2H5\16*\4-!\350\27\203\30\313\270X\211"
+"I\340R\f\1\373\4\273C\343)~\3\205)\217h\217\5L\33\r\3729\n\223>\3636\n"
+"\202\373\302}q\0\255\4\316\26\3543Q\260\13E:\34\34\235\241]\327\250\255"
+"\245\265\202\227\234C\340\27\202\235\375V\242\35\2422\351\r}M\272\232\350"
+"\370s\202\13\226b}\265\372\376o\277D\244\205\30\356Wd\322\r\35\364K(\202"
+"\267\361\317R\263t\365\'\225i5\321\256\362]:I~\3622\335\340#\275\302y\301"
+"-\260,Mt<\211i\20\220\247MD\353f\24\t\321\352\371.\351e\267\233n\360\211"
+"\271xi\254>w\320\257R\2219O\330X5@\'\312\225=\233\227\23\215Q\3\333\210"
+"v\312\262\32\310\346\357\354Qtf\347\30\370E\227I\264\267t\242\365D\353"
+"\342\7WB|/\241\33\64\212&\n\262>\211:AOS,\237i\246\317\356\4\35\217\223"
+"_\307\337pgK8@\210\356\212\230\242_#\42>\24o=\326\212\317w\31yC\267\77"
+"\63\313\315\344\305\16Sr\271i2\363\77\202\336*\265\212\']\344N\274f\2\346"
+"\247\311Dt\322\255\42\24\351V1\221\246X5\42Q\253\310\347\251\224h\367\24"
+"\203\353\341\357>MT\201\250U\244\243\313\21\336\303\3122\225\311\256*&"
+"j \13\324\362$\234Q\244\377\333\320\267\16\212\301\351\227\34E`Ut\232\352"
+"\273\273\341\375,T\276\320\263{vN;,\270\33\264U\276\356\271\230a\315=c"
+"\\\2\17\375\13!\234\241\316\23\266\334\234\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\0\0\0\0N,TE\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\201IDATx\332\355\227\315kSA\24\305\317\253>\233*4"
+"%\212R\25bk5]\210\370QiDQT\334\24\212\202\210\13\305\22\4)\21\4\21\372"
+"W\270\252(\256\352^\4\13\5q\321\205E1.*JA\214\250\30I\260b\tm\312\263\r"
+"\244\355q\221d^\222\36717\273\26\336\335df\362\343\316\231;w\356\314\3"
+"\2\13l\35X\313\226P\265ih\320\335\335g[SSK\22\257m\211O,\346\7\303\22\366"
+"*Ir\242\247,\307\237\215\227\0`\240\333\320\263\207\372M\0\370mQ\317v\355"
+"\7\0,.\b4tE\0`\355\353\37\375\312\214\261\42I~>n\350\375\306\16\264\2\300"
+"t\216z\277\2472$9\333\277\tz\277=a\0\230\370\270\252g\215\23&\0\353\371"
+"\232`\323\242\257H\226\36\231*\215|\330\320^\0KoW$lo\4(=}I\1\333\22\337"
+"\6\24\336\24 `\267G\333\201\27\357D\'\42\222\42\63gj\'\362f\217\356\4f"
+"~\310\16\332\310<\323}\20\371\rE;\3703+;\300\306$\277\\4d~Ow\342}\252."
+"\3016{\312\215\25\356\214/\327\317\344)\3410g\347\244\5g\253\31\24\335"
+"\rf\367\2763\235\224\241\26IrJ\202\346X\266[z\364Z\5\345\264\236]\256\262"
+"EGJ7\16\230\352\352\233\327\262wU\353\265V\302\337\252\4^v\34\225\306\1"
+"z\377\325\250\341|\23[6\256$\214jY\2052\246C\3036\353R2\352\273\303\252"
+"\365A+aN\271\275\356R^\304\21k\324\260\16\42\326\356\27\261\6\275\267\233"
+"\210XN\271\275\341Z\222\305\21\253\327pDw\213\325\264\355\203;\246\225"
+"\273\252\344\306\241\323\253\221[\253\301vV\324\352\35R\255\'Ml\260G@\f"
+"\271\334\232;\266\317U\356\271\301\374cG\1\302\3\267||Hr\3069CV\261\'\325"
+"\330\bI\362\222\317\322\324\320\256r\77)x\237a\262\374\363\315\261H\345"
+"V} $\275\362\276S\261\231\312\310\301J\377\231\363\271\255\330\312\263"
+"\264\255\332\357p\354\261\375\\1L\0\330Q\2252\272\340\267\305i\0\t\317"
+"[\243\236%-\273\271\317\215M\323\315\6\\\203y\301\r\275\351\21\371_N4!"
+"H\340\212]\21e;I\376\363\257i\367m23\244\253\325\300\261=fq1\237\265\202"
+"WT`\201m\30\373\17 K\377\312\n\4K\t\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3\274IDATx\332\355\227Kh\23A\30\307\377\211M\243\321"
+"\252\264\276\37HkKZ|\226R[|C=Y\202\240\24\365f|\201\210\7m\365\240\27\365"
+"\340A|\34\244(\36\252\210\342E\252X\37\365Q\211\324Z\255\202/\304\26\224"
+"Z\261V*\332\304\226\32\215\316\347a7\233\355\356\314f\262\271\351\376/"
+"\233\231\377\344\307|\337\314\354~\38r\344\310\321\377#w\346pn\277K\36"
+"\61%o\231\267\365\376`:\263\30\21|N\321\257\2011\3510\252\210\210\250!"
+"\237\23\2434\243<\6\0+\363\\\366\31\263\313<\0\360i\200\3543rg\2\0\276"
+"\207\323\210%7\33\0X\307g\373\31u\325E\211\210^\227\270\354\317\303_\340"
+"\5\200\247\37\311\376<\26\275\'\42\352)\33\6\373\363\310\37\3\0\r\317\376"
+"\330g\270J=\0\6.\26146\351\214F\42\212\325z\370gQ\2161|\32\200\301\7\277"
+"\323a\24f\3\26137(\r\206\273|$\20i\216 \rF\316\214\321\300\345\207\2\67"
+"C\374\307\2129c\303\257\232\0\0\177r\201\256\363=Y\23Fa\240\267_~)\202"
+"\315a\n7\7\25\334;\242\253#s\202\241H$\24\314\221FTt\21\21QW\5\0\367\236"
+">j/\310\252\356f\214\261\356\352,YF\3)j\0\340\253%v\323[\331\306\30c\214"
+"\265U\312\346t\211\356\371\303\217\216c\77\375~\365\370\371\355\254\313"
+"\342\311x\324\n\237Oi\305\237\311\31\315\211\247\333\37\331\276\357\7z"
+"{\225\236\3703\245\234\272\346\315\35\17\240\264>\312\30c\321\372R;k\353"
+"S\316Z \324\27\213\365\205\2)|\347t{LU\351\372b<\273\370\344_\256\7\214"
+"\371\250\\^4mbv\346\367\247\27\352l\22/\222N\307\5\251\276\320\270\323"
+"b!h\250\272y\203\332\211\210\250H\200\330HF\2754\17\352V->b\33\231\25\64"
+"\16\332\32w\270\233d\3\361d\34\365Ysf%\317\205\252\351\206a\t\347\215\t"
+"\221\245y\255\273\216\350\30;\204\fsF:\342N\31\200)\211\201g\f\343N$\254"
+"j\203\2659nd\32\266\311u\b\'\322)p\3247\324&m\3405#\343(\'\30\67\0lQ\33"
+"e\203\306\227\333\27#\243Z\364\235\333\255\374>\334\246v\226$v\245\351"
+"\17{\5;T\231\333/\255\35\326\346\273T4\330\2640J_9\'q\220f<!\42:\2505W"
+"X2\232\370\336\302N\242\335\211fHC\234\3430N\212\370y\374=0\233\3038E\226"
+"GW\321R\313P\320(\303\270\247!\352y\366W\325\214Y1\22\323\230oe\327\331"
+"\17\5\372\323i3\24\217L:\222\204\262\\5\37\245\21\312!\361)\320t\327:\24"
+"t\246\24J\261\225_k\201\230\223$\224}C^x|%^\230\267\255\246q\307*\224~"
+"\215\261\222g\237U\315\361r\351\340\271\13\270{\324X;\220e\225E\\\317-"
+"\272\2\fp\20\361\257\315\32\313\2d\234\26\312\13\263\31\260\314\266\246"
+"\251\32\243\305|\211\21e\312-j\372L\214xy\\\225\244\230\232\244\315\303"
+"t\375\373\240\32W\222\336\37\205k\373V\346\314\33\367\307\220\257\242\347"
+"[\274\2730\25\206\376H\254\326:\327IT\227M\234*\245\342\235\326U#S\241"
+"\316\322WRk\1\224\234\326u\354\227+s\37\223X\7dke1\242F\26\201\f\21bU*"
+"U{/\217\20\362\246V\372\3574\21n\25\245~\2018\256\7\264o\264y\r\t\264\250"
+"\367\354*8r\344\310\221\243\377K\177\1\366\363]\200\\\242Q\223\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\0\0\0\0}\27"
+"KL\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\234IDATx\332\355\227KHUQ\24"
+"\206Wa\30b\341\240\342\212e\221\331\244\2709\250f\42=(\202 \202^\202\340"
+" \245\301\235\24(eeEe\3)h\24!\tE\322D\224\212\260\42\n\244I\rD\20+B\351"
+"A\311u\240\204= 2X\r\316\275{\257}\316~,o\203\32\254\177t\366Z\377\371"
+"\366\343\234\375\2\20\211D\42\221H$\22\211D\42\221\350\77\327\274@~Um\272"
+"\262\254\350\347\344\310\223\327\177WQI[\26\211\236U\27\216\352\300\204"
+">/\245\206M\375/\216\363P\17\321\252\23\332Q\207\210\330\302@\35B\227\256"
+"+\317,\42\342\2470\353\32\272\225\311y\232\243b\220u\27}*\212L\323<\330"
+"=\363\345\233[*6\367\220\362\20\0\0\224G\205\301\0\253\333@\235\316}9\22"
+"\252\2\0\270\22=7\371YG)*\253\302;up\24\0\09\275\2546zH\22\3:\274\36`\177"
+"\364\364\336\17\243\254vGf\24485\25=5{Y\347\t\253\325L\335\322\231\373"
+"\317Y\275$\254K\261\324\202\344_\362\310\313\352\322\306\307\211\344\227"
+"\4,\315mX2\231\211\263&\270#\266\321\262\364\305a\273\230\r\33\r}iD\374"
+"\346e\325i\343r\306<\333\353\205\r\5Fc\217\t\343\376\27\333\302\17746z"
+"Y\7\202\225\316\241ao\225\357\206\3031`]r\3\365V8\34\r\4V\356e\355\b\367"
+"`\t\273\227\375\312\327]\330\f\261\33k\n\205\351\343\1\206\217\f%\77\374"
+"\347\212\371s\331\344\217p\215)\325\201W\254e\270\312\327\2622\25z\347"
+"\334k\214M\337\327\262\r\252\316\333\16G\2451\1>\370Zf\373\22\246>\32\245"
+"\225>\330o\25Zlgec\345u\36\330w\25Zce\215\245b\201V\317\230-\364\377\217"
+"o\222{\23o\6\360X\270\225\5\353H\366\321v\266\232\361\300\372\334M\233"
+"\314\'z\26\225\16j[\255\33\226\326\256q#\261V\305/\362W\16\342\32&\341"
+"v\25=\13\0\0\235\332\326\353\206\325\323\1\251\317\5\17\353\320\231d\245"
+"\235\274\343\24\342\323s\307.\17\223\362\251\274\255\205\4\373\234\260"
+"\325\276s1\231\345\263$\354^b\232\334\254}\304VL\23w\234\264\203\16\324"
+"\364\n\363v\306\234\b\17l\254\223\t\3338sg\311\314\304PWm\256\355\371\354"
+"\205\320\22\276\273W\221^68o\242]\277\20\307\32y\227\327e\245\360uJn\367"
+"\42\221H$\372\7\372\3\337,\3036\305:5R\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0F\0\0\0x\b\0\0\0\0j5\333\205\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3|IDATx\332\355\230MHUA\24\200\317\223x\342\242\214"
+"WPI\364c\241\246\211\276\204\254Py\204\21\375\n\2660\251E\21\42\202-\372"
+"\331\350\242\26\31\245Q\264\b\42\60\204(k\341\302J\42+\42\314\20\37\371"
+"\203a\22\324\242$\25\222\224\262\210\'1-\364\316\231\271wf\356\334;\256"
+"\342\236\325\275s\316\375\346\314\314\2313g.@ \201\4\22H \201\4\362\77"
+"\313\252\332G\23\204\20BF\256d\373e\354\357\42\234\\\366\301\310\357\'"
+"N\271\356\21\222\236 b\311\363Bi$R\251\321\247\274&\n\251\326\245| J\331"
+"\250Gy\317}\364\275\2\0\242\243L\313\254\26\345%G)\235o\275\315\264E5("
+"M,\244\3\333\333\261\265\325\235\262\215\245\234e5\330\374\327\35\303R"
+"*8M\25*\\)\327\30J\271\264\7/\316T\203o\314\3\64m\1\rLH\342\f(,\4_\'\t"
+")m\370\230e\220\244\320\355n\2472Wwn\332\3200\305\251\275E\225C\272\316"
+"<Uj\353\225\224\273h\30vjkQ\273T\323\231NuD))\r\312\231\31G\355a\377\313"
+"\364F\327\231b\264\313t(\'\30\312!%&.\357\356\4\273\355\307uW\373*\327"
+"\36\251\3473qXI)G\3032\200%\247\342\222|^\246vf\30-w\244]\220\236\n\'\265"
+"\267\323\343\2023R\212}z\27\331\336\17\340c\353D\216\354\344\311q\333\333"
+"=\264\303\217\0uBO\272W{I\21\25\0\311\2\310\344:\215D\223\311\7\315&\'"
+"\346\270\360;[\366\303\364\335\t\0\60\22\272g\377`\267N\332\233\245\275"
+"\356\262\232\354\23T\342){2\215\331_9\216\227\23\67\301\265\307\210\247"
+"B\342\246\264\270c9M\372c\312\267\253\3760\234d\77S\343\364\247GM\331J"
+"\r\177\253\223pD\31\67G\361,\22`\230\225\276\243\364\346\'\355n\213H\375"
+"Js\321]\314\302\316JP4\250\210\313\2$>\t\206\357\224J\332\331\23\261\301"
+"1j0\246\360f\17\236FbL;\336\213\24\230\275\364iL\214\231\226\16\204\305"
+",\243O\251^\13\42q\265UdPbe\271\'\3\251A\2220J\301`P;\231\346#B\343\f\35"
+"\342\24\63\250A\227\312gH\357\226@\\,.jbJE[\34\325\33\264\26\212\220\1"
+"oU\37Nq1\177\373\316u\326\303\370x^>\246\373\374q\224\260\353k\364\316"
+"\230I\333\2616\314\253\3171\252\6\315\353\334\234\24\62\332A\335\3OP=t"
+"m\26\334\365\b\2119\77\2467\242\225\342\312\362a\337\257\365\7\327pM\315"
+"U\ng\366\21M\351U\356\251\2<\37\266\27\275\225w\367\274P\271\243:hwu\0"
+"p\332\357\177\222o\3242\35\0 U\370\263\344\206\367\312&:`_\267\230\277"
+"\2iy\343\264\325\366\371\222:\327\204\34\267\342\231\305\\\335\274\42e"
+"v\352\207v\26\314\240\316\2740I\242\270\241\373L0X]\r\230`0\372\336\231"
+"\374\254\234\364P\257*V\312\365\347\207\237\303\327\34\63c\202\301\30\355"
+"5\301\30\206\215\205\3113\13\33\13\23]\230\260\371b\26\66V\224\30\206\315"
+"\2\307\315\224\365\336bDk\266\246&\303\b\263v\236\362\314pps\77\276\372"
+"\215\'\251\244}4^\273\20\263\235\26\366\377\355\77\13>\310\36\341b\315"
+"\273\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b"
+"\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2{IDATx\332"
+"c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\214\202\221\3\30\321\5X"
+"#]\365\304Y>\3369\272\3762\231F\226\375G\2\273\244p)\363>\366\377\3434"
+"N\254R\35\377\321\300C1\254\352\266@de0e,\376c\1\263\260\30\61\23*w\30"
+"C\246\371\77V\360\25C\241(\\\16]f\321\177\\\0]\345f\\2sp\32\361\377\35"
+"\232R\\\246\327\377\307\3&\240(\r\201\213\177C\21\367\372\217\27\360\42"
+"\253\275\13\27\356\304\341<\254`\rv\265\342\310\302\231\b\361\373\5\352"
+"\20\61A\337\265X=^\216#8\226\302D\313QC)\n&\236\202\315\31\275(j\273 \202"
+"\365\230\311\t\252\374.\\\300\ta\6\27\212J\205\207\377\377\377\337\300"
+"\202%I\312\241;\373+\334\210OhJ9BBx\260\347\256u\250\2361G8#\210\350\214"
+"\254\5\321p\16\312\375\211;\371\342\1(:\220\322Q1\tf@cX\21=\35!)a\42d\306"
+":\be\303\300\300\300P\215\20.\42\245dS\200X\333\207\333\31\204\335\361"
+"\0B\251100\234B*\fI+b!\366\336``\210F\270\342&\376r\35\323\fhI\311\263"
+"\207\24]X#w\5R`d3\220g\6\22xL\250\216\302\345\27<z\230H\257\307\42H\327"
+"\202\356\223\303\204\353[\202~\301\324A\262_t\311\250\305\245P}\322ENK"
+"\300\37o}E\234_\274PxBd\265H\276#;\303\233,#P\242v)yF\270\343k\1\20\t\266"
+"#\31\301\307@\261W\222\3104B\0a\304Ar\233\236u\24\7\6\3\303\17\270\21\16"
+"d\233\1\67b\17\331F\270S\356\23\206\3030#\222\31(\366\312g\362\215\b\206"
+"\231!D\276\31\357\241F\364\223o\204\r\345\1\n\17\rg\362\215(\201\32\361"
+"\210\n\316\260$\337\210\323\224\207\206%\314\210F\322\373\204\30U\23\341"
+"Z\fW\271\16O\334\377(\17P\322\333\32pPH\205\f\13\67\202\374\304\221\5\67"
+"\303\213\234\276:Z{\201\230\326\33\326x\211\204\2636R\36\32\377%\3105\302"
+"\204\n\25\2\274\24\375\237A\336\370\7\311!J\240\r3\227\201rw\20\331,\307"
+"\346\16X\347-\216\202\2L\25\22\240\245\24\r4\251\256\377\377\177\247!\245"
+"\303U\272Z$(\6\0\22\354~\261Q\343\24z\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0@\0\0\0x\b\0\0\0\0g+\253\302\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\254IDATx\332c`\30\5\243`\24\214\202Q0\n\350\t,W\377"
+"\377\377\377\377\377\37\13M\311\322.\367\374\77\2L$]\277\313\177T@\252"
+"\21J\3771\200>I\6\274\3074\340\177)\5\36\200\200\251\304\33\260\353\77"
+"\205&\374\307\1*(5\340\77r\222`\304g\0.\211\37\234\b6\23q\216\251\221Q"
+"\353D\3608tI\365\2\304\327\305p~\24\251\6\360BE\366A\371f\304\31\260\21"
+"n\0\\H\367\331\377\377\377\377/\'2\26\234\341\6\230#\4\305s\352\335IO\b"
+"\313\310,\13\26b\372\201D\0\67 \224L\3VP\317\t\301d\32\220I\261\23~\301"
+"\f\350&\323\0D\362U\302\256\200Pf\222\200\263\356\222a\275V\325U\244R\340"
+"$i\232y\252_\242\227#\255$h\257\305Z\229\21\253\275\27WY\206%\304\260\25"
+"i\377p\227s\214\304\304\302\177<\345\344\26\42\334\377\372\77>\220@P\377"
+"\4\24\365s-\230\30DS\336!\211\20\322\257\201\254\275\7^\222!\304\356\221"
+"P\231h#\211\237\203\213:\340\325\77\rI\2770\16\223\361\351\227F\322o\211"
+"*e\2\227\260\301c\300\7\204\376>\234\236{\210[\2777\276\320\356%\302\17"
+"H\372\2450$\r\341r~\270\364\33!\364\317\304g\374\42\\\6\34\307\37\322p"
+"\311\7\204}P\204_\32\207\376H\2*\b\32p\7\256`\ty\6 \24\310\220e\200\'!"
+"\5\204\344\21\315\211Y\344\31\200\220\307\336\204b\204\313\377!\317\2K"
+"\270\374%Rj&\4\b\202\263\216`\257\303\340\26\\\301n\300w\270\2o\254.\20"
+"\200\13\341(\2648\340\254\255X\r`G\364\22\260\352Ob P;#\2\343\27V\205]"
+"XX(\372\376\340\17B\26D\t\331\201\335\200/\f\230\236A\2H\211\13\273\27"
+"\31\270\340\201\274\21\177*i$X\32\234\307\42\271\206\210R\35\237\22\345"
+"\377\330\223!\n8\200\307\0\244\322V\235\210\266\271\42\236\6\3075b\252"
+"\3055h\22:H\16\340\301c@+.\77 \351\357%\256f>\214\263\302&\266a<\35G\7"
+"\\\215@\226\177\204\250;\214 \42\314K\220\365O\42\330\354Bv\342\332\363"
+"\77\224\203\305\220e\377\262\20\64\200\367\23>\7\62\375\'\330\330\376\314"
+"\364\13\267~u\342\372\f\263q5\360\370\211-<\325nc\323\236MJC\335\366\26"
+"\232\356\355\306\244v\24\244\'|\205i\276\333\244\200W)\356v1\233\30\307"
+"\257w_FG\342F\301(\30\5\243\200\236\0\0\376#n\4\16\217\327a\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245"
+"\352\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\343IDATx\332c`\30\5\243`\24"
+"\214\202Q0\nF\301(\30\5\243`\24\f\17\300\210C\334\315FM\230\203\221\201"
+"\341\377\337\237\357\356\237\336\376\203\4##\77\376G\3\237\363\210\325"
+"\353\363\37+\250\'J\363\362\377\270\200\17a\315\13\377\343\6\213\bi\326"
+"\373\217\17\334$\240\373\4^\335\377\77\341\327\215\244r\2168T\314~\1R\340"
+"\23\251{\6\262p!\\\3702\36\315\314\b\335\362\2502\373a\342uD\331\255\211"
+"&\323\b\223 J\367\6t\251$\250\204\22Q\241f\213.\347\r\21\27\301\255{:\222"
+"v\fKd/\375\377\377\277\33\217\313\231\220c\327\34CZ;\322\34o\224M@\326"
+"^Mr\216\177\213\254\375\233\b\251\332Q\323\346\f\22uk\240j\177I\242\366"
+"\35\250\332\367\222\244\231\365.Z\306\342#As4F\266t Z\257\24\226L-G\254"
+"\346\24,\232\257\22\253\271\25\213\346\347\304jn\307\324\3733\202X\315"
+"\271\350Z\27\273\22\37\330\250\305\351\375\0\nR\250\32\211),\1I\357A\222"
+"\363\326\7\204\346\335\244\327\300\377\tW\313\230e\t\26\35f\2447\3$\20"
+"\16\'^\23\23\6\203,\300F\320n\243\25\227\346\311\22\216n\354\362\323\376"
+"\377\377\377\377\24a\335m\330\244\217\342\317\255k\361Z~\37*\305C8\231"
+"\337A\227S\200\311\\ &\235\237G\225)\207K\350\341n\245!\347\222H\204x\34"
+"B4\33O[\21\325\277;w\335\376\310,\242\343\201\224\362\352\232\361D\271"
+"\22\376\26\317\377r\322\313D\4\210&\224\340\302q\353\375\242LD\202\335"
+"\362\237\222V*\3C\366GL\275SH\3111>\253\221\265\236\215\'\271u\317\300"
+" \316\317\316\364\357\347\207W\243=\240Q0\nF\301( \26\0\0\313\272]\t\22"
+"\352\350\177\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0"
+"\0\0x\b\0\0\0\0d\234\245\352\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\261"
+"IDATx\332\355\330=h\24A\24\7\360ww\32\77\nE\223(\'\22\r\212`\22D4\b\n\22"
+"Q\261\23\202\237E\4\221 QC,\242\205\202Z\30,\304(\332\304N\243\205\1\305"
+"\17L\374\200HPN\324hD%\215_\240\351\2\1\345\228\24\23\236\305\355\316\316"
+"\254\331\331\375\277\265\334\327\334\335\316\375nv\337\314\316\3339\242"
+"$\222H\42\211$\222H\42 Vu\364\77h\20\332\315#\314\314|X\204\237q1\336\4"
+"\264O\261\3305\375\356\273\2\336\361&V\261\23\306Y\17\237\301\273\376\252"
+"\3606\34\257vm\257$\335\227\35|W4X\3\216^a\373R:\250a\334y]$\352\273\335"
+"\275\356\332\177\333JK\303\364R\225\362\334\6\375\370\362.ff\276\32\302"
+"s\336xs\256\245&MD\331\206>u\350i\bg{T\333\262FTi\377\361z\273\376>\375"
+"\223M\227\204&\276\331r\346\353\302\307\255\374U\20\316\23\21e\354\272"
+"0^\37\3202k\42\302\244\31\234\264\343\221\246(\23\256\302\247\336\356\5"
+"&\356Y\323\266\t\27\27f\346\363\320mr\316\260\2059\210\315\230\35_\207"
+":\336j\342=\20>m\342y\20\3564\354KlY\271m\340#\30\276o\340e1\360\17p5\274"
+"\247\343\36\20w\351\370\42\210/\350\370\4\210w\353\370(Z\2t\334\212\342"
+"\327\362a6o\311Sp\351z\344\341k\321DJ\277j\365\356\327\214hZ\253\6;\264"
+"\365\f\257\271\37\325y\277\20Tl\357\252\253p\274\305\323\202\256\357(|"
+"%\326\211\257\214lR\223\214W*\262N\307zxW\332[7\277\t\364Lu\350\247@\377"
+"Q\207\312\b\317Z\311oA\326\376\177\316O\n\262\1773\326L\255\366t{\254\251"
+"\312\213q\275\213c\235\273\377Y\16\213\32\215\277\303\271^\207\4[\241^"
+"\215\77\304\271^B\7p\276O/eK`\236\32\326\3701\274\373F\215\177\231\213"
+"\373\36\315\37\304y\255\306\273\5\363\256\315\343\237\5|\301P\234\241#"
+":\36g\357OT1\346\362r\321j\377\330\321}\262b\341>\214de\334\321\2352\275"
+"Q\276\330\20\21\25l+]&LO\253#\42\242\367\37D\25\370I\361\245JV\277\307"
+"\234\315\260L\257\2675\6\375C6\277q\341\340\215<Q\331\245\342\347a$\323"
+"\263\207\230\231\363\267\272\335\271\272\35\321\373\375;\356\fr\335S\375"
+"\377:M@\267\227\257\353Jl\212u\30\370\200\374\301\223\371\20>\301\325>"
+"x\264Nr\177\264\21623\363\363\265\301_\371\13\230J\211\22\326\241\367z"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0"
+"\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\364IDATx\332\355"
+"XKh\24A\20\255]1\7\327(\30V\211\230\213\230\303\242A\222l\326 \b\242x1"
+"\342\217`N\306\240\t(*BPD\361\224\203\22\42D\21A0x\360\203\242\250\27\217"
+"\242\346 \nJ \222(\221\250\'c\374\42\212\n\22(\17\273[\3353S]\335\343\354"
+"\261\337e\253\373\325\276\351\252\251\352\236\31\0\17\17\17\17\17\17\17"
+"\17\17\17\17\17\17\17\35\251\320\270mmn\311\242\5U\77\236_\273\24bj74\326"
+"U\317|\36{0\342\242{\35\65\fj\304\254\1\215\30i\265\351\254\307 \246\210"
+"\271\22bp\235(\264;\354\216\23E\3420F\361J\20\332\307\370\17\2@f\34Y\344"
+"LB]\254\373\361\372Ch\302J\267\34\271\200\25\252&\372I\357i\303\37\7Z\263"
+"\271\223\372\4[\16\23ev\25\0\324r:[J\236\323\332\334\302\250Pw\231\253"
+"\2\0\200\313\21\235\263\312\367\273\232=\23U*Ss\212\303\216\260\320V\316"
+"\31\361[D\250\247\304\24J\343\315!\241|\300\373\224\220\363\327\305\371"
+"\376\362\370`P\250)\350=WP*N\377\245\361\315\200\320&S.\214J\252/gt\241"
+"\363\20C\351\31\42b\37\347\312\326\237\300\255~\207xD\r\353u\241\366XJ"
+"\0K\365A\237\245%,\375\242A/\343\216DJ\226%\315\'\362\253>\235\216z.\323"
+"\354\235\214R\201\254\247\26\245]\232}\225QR;\357\260%\270/\342\215\3\30"
+"#\272Y:\245\0\0EV\347SrtZ\273nOv\226\16Ynr\236\350\227 \257i\17Y\'X%\325"
+"\320w\234\253\211\347G\211\267\34\305\352\264\372\371\177W\42\274 \307"
+"\243\t\225\224c\206\345[\211\37\7\61\343+\224\371\213U\332F\326myI\27\350"
+"\222\267x\207\367|\205K\301\255\251X\232x\276\316\350\20\312S\27Y\37\f"
+"EB\326]yI\252\354zy\207\217\306\303+e\352\363\314o\210\261\21D\242\323"
+"j\200\27j1\207\23T\332O\226\241\6\366\222u\261b5\320,\77\331\243\274[\212"
+"\16\201\350\32\311z\313\13\355 kJ\16\256\223\326\336\311;\f\3336\n:\237"
+"l\235\240\322T#+-/\373\235\343\371\254\3739\376F\334-\341\30\t=\264)\315"
+"\233DD|l\177\364h\267\277\3375\24\376\334\377d,7[\221\270\242ELS:\206\222"
+"j\225\241\204o\272(n\274q\2\226\323\24#:\347V\261\302\271Ub\244\251&\231"
+"\220\255U\334\363\324M\326\243\204\301M\313O\2371\252\300\326*\316\321"
+"\345m\16\316J=\256\247J\214\32h\202dy\262\356(\256\321)\277\321\204\301"
+"\251\217\34mP\251\350RI\357\335\275\322\357\306\304\37\364f\27\237\234"
+"\16T\340\333`\272\177r\372FCe\2763f\27K\354\77\225_K\352`\242{\2\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0/\0\0\0x\b\0\0\0\0G\307"
+"\364\77\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3CIDATx\332\355\227\277k"
+"SQ\24\307\217\365\201\201\24\62\4\fX\210P\341\r\5\3\25\34\62\24\f\30\210"
+"\320!C\6!C\7\207\16\1\5\7\7\207B\207\16\35\34*\35\628dhqh\241\202BJ+V\210"
+"$\203\20i\305@\5\13-\215\30H\300BJ[Z\271\16\367\334w\177\235\227\274\77"
+"\340\235\345&\367~\336\367\236w\356\271\347\336\7\20Zh\241\205\26\32\0"
+"\3005\377\241\361\261H\377\240\23Pgj\241\336g\214\355W\212\261\0ta\203"
+"y\266U\34F\247\3362\315\226\22\3\361\34213\2542\350\201\22\263m\301\37"
+"\177B\340\254\237\367\303s}\212g\33\21\237\230\357zH\267\272\366C>\360"
+"\230\346+\322e\27\300\235\227\257<\330\371\343\2\357x\351uL\22xR8p\234"
+"\305\236\2507a\211\340\27p\354L\206cJ,\306\33\33\237\350\22Z\257\260o\327"
+"\316\243E\34*k\211\367\27\347\274o\311\377A\245\244\326\275\246EtD\16\344"
+"1K^\37i|C\4\303\220\217\343Rm\30\375\31\324_4\364s)\336\256\32|\253\205"
+"z\6\377\2107\233\353\6\337A\367\242:\357\346x\373\316\n[\2337\243:\237"
+"\341\363\35|\260\370\36on\350\374\3\336l\267-\376\2247\21G\345\335\fo\77"
+"\332\313~\316\33G\343\323<\370\77w|y\320\374A\371\355\236\315\377C}\225"
+"\217\247y\373\205\310\332+B\77\355\362X\327\3\362S\230+G\4\37\243\364q"
+"-\311\32\240N\303\371\t\314\235\204k\343Y\334\233\347\347\362\255]\234"
+"3\177\322h\237\252\260\23\273\233w\325es\324)\1ff|\13_O\361\307\rP\343"
+"\333\n\77\36\200\357H>q\'\0\177$\371dr8~u(\371\333N\0\371\3372>\342\370"
+"\350\2556;\27z8\335i\\\312\303\216\344ob\204\237\255\332\272\2552f\272"
+"\222\17\250_%phb\216\250|\34\245(\277GQ\354\273\302\307\264\215mTItgO\362"
+"\16\36N\27\24\217e\266\321QxG\335q\272E2z\25\35\361\333H\242\16p\375\223"
+"\232\302\213\2@\351c\364\33-U\37\205\257\23<\226\261\35 xB\77\215\356\327"
+"\200\360\177\324\3463\\\243\366\225\322\217Z\270\363\20\345\2574\376\202"
+"(\34\374\fAw>\353\365\4\3d\337r\246Q~[\347O\370\3571\323\241\24\33626\201"
+"\344]s\333\317p\17O\253\6\217\211\26\273g\4s\226\267\353\337\f\276\255"
+"\347\226w3C\377\326\301\347\210\335O\251\275\263\330\373\336\256\250\277"
+"p\350\205\352\215\270\231\24\354e\24\327\323\246,\\\211O\214>\357\1\0\346"
+"\304\255h\336\313\373\25\321\225#\370\354\231\270\344\341\344q\17_\242"
+"6]\244*\206\233y\0\200\314\226\370\277;>\344R\333].\225*\227\336\337\2"
+"]\355\222u\362\232\312\346\374\312\343S\22/\373\226\323\330\32\201\257"
+"D\7|P4m\365\350\240\202\2355^\241\373|\330gEY\206\205\235\225S\303\317"
+"\204\334\362>c\214\261\313\372\374d\260\357\2511\367V\4z\7{\341\207fh\241"
+"\205\6\377\1\256\337\206\231\26fB\344\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\0\0\0\0N,TE\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\1\213IDATx\332\355\226\277J\3A\20\306\347\304\2006j!\210"
+"\330h\243\255\210\205\226j\'\210\202\205\205b\b\202H\nA\4\237\302*\202"
+"X\371\0V>\200\205\366\332X\5\264\210$\225\22\249M\32\375,\356n.\331\77"
+"\67{]\204\375\232\314\316\374\330\373nf\263\t\221\227\227\227\227\227\227"
+"\227W\17\353\350\31\325\262\33\32\2\0\356\\\320\6\42\355\311\350V\214\342"
+"^f[\t\333V+}j\2420\220D\357\42{\310\321\255h\3415\261\200\r\265\24\250"
+"\t\330K\252\207\345\34#\273f\13\25\221e\24\63\22:\234\262zQ\361{\300\321"
+"\203h\341\215\267\335\326\213\201s\307T\17=\320\261\241\254\216)~\367s"
+"t\254\301\333\356\230\312\201s\307\272=\314\n\217\355d\323/\356\245h\367"
+"\207\355.\220\344W\260\333\351!\335\254-\372-rt\221c\300\226\206\4\356"
+"v\251\237\243y\243\335\245\265\346\271v\1\321\251\351<\236\1x\324\237P"
+"gv\221s\'\0\200\365\214W\343\324X\264.\333\356\276N\335D\37O\332K\362\266"
+"\337I\252l;\367\343\314\326\342\314t\274\276\322\330)f\177\243\304`\262"
+"\36\321f\334J\'Q \42\32M\254T>\262F\\%\242\222\365W\243\233\5\3024\234"
+"4\261U\230\264jl\346\212\t\335\265t\376EGK\16\78\326\246\323i\7\200\257"
+"\354;\3558%kE\351\256&\232\233(\264\77\233\365\320\377\213\362\362\372"
+"7\372\3>\202\251\346\334.\335\341\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2}IDATx\332\355\227KHUA\30\307\377e7\302\240\244 \312"
+"\350\261Hl%\275]\ba\321Cz@AP\20I\220\204(\nBQ\213\20\302\242]A\270\251"
+"EqiUH\17(\250\205\225\341\262\7\324\242\b\245\302@HL\273\4\245(_\213{\346"
+"q\316\371\346\236\231\273j\361\375W3\377\231\371\335\371\346\234\357\233"
+"s\1\221H$\22\211D\42\221H$\22\271\264\262\275ohj\352\303\345\245Y\23\273"
+"\206\350S\33\67p\211\264>\226F\374&\42\242\201\224\177\203bZ^\2\361=\232"
+"s*n\267RRn\304Q5\345u\314\36L!\250\305\311\370\243\246\374\265\314*b\324"
+"\37\r\316M\42r\13Tk\302\230k&\270_\233q1:u\353\245n\255\373j\306G\306u"
+"3\357\n\345\207\336\352!e\325\230\3557\3\300\205b\373\276\3638\322\307"
+"n\20\267\224\325t\357\335\335F\'bg\212a\20\'<\337\345\207zEo\22\321\350"
+"\233\17f\33\33\0\0\265\272\277\315\27\2618\21J\235\356n\361N\313\363z\315"
+",\0\354\321\335\315\376\251=\256\27}\213\245i\0\302:\16\272v\225\312B\354"
+"\'V!\b\f\260\210\215A\225\216El\rB\254\342\20\'\303\n\356\25\216\221\275"
+"l\216\335\231\316e\315`\25\253\37\34\2+\202B\331\305\36i_\20\343\21\377"
+"v\224\373d\237[\355\216\0\204\225\263\7\354N\310F\316\351E\243\261\224"
+"\245y\376\214\261\370\345c\30\335\345\34\7\0\340L\31\301\244\252\261\351"
+"\317Gp5\276^4~9\2039\234\357\255\313\b\245\266h\264\273\202yLD\205e\36"
+"\325\330\35\314\23\42\42je\362\305xoT\243`J\265\2058\273\17\0\260\260\344"
+"\223=\256,6\230\265\221S\357u\317\332\336\42\355M\26\215i\6\261\203cLj"
+"\357\246\262\356D\306\21\206\361 \371d\1\240-\5\276\310~g\271\236l\302"
+"}\5\0\270\255\272\225\360<\16`\330\330\357\33j\314\333\177\232C\354\325"
+"\303\203\266\275\233\257J\375\354Kj~\242)\373\302\231\341k\262)\336O\343"
+"\227\'\367\203K\370\204\333\356J\257\27\251]\214\344\\Y\373\323|1p\37\357"
+"F=\356\314\257\36%\42z\306\214\274\265\t\371\212\222\365cS\313\261*v\340"
+"\340l\4\370\322\341qW:\265~u\305\330\347\202\374\3\24\211D\242\377_\377"
+"\0\32\315\354>\270Uo\235\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\66IDATx\332c`\30\5\243`\24\214\202Q0\nF\1]\201\356\254\'\377"
+"\377\377<T\300E\276\21\205\377a\340O8\231F\b\377G\6\201d\231\241\217b\306"
+"\377{d\31r\23\325\220\377\nd\230\241\215n\210\329.\261\231\217j\b#y!\33"
+"\210l\306or\243\3705\222!\315\344\32\362\4\311\20\262\23\33\222\31\333"
+"\251a\b\331\351\336\36a\306N\262\35r\230\n!\202\344\233Ed\233\261\232\272"
+"\16\251$\333\214\375Tp\210$\302\f/\262\ry\5\67\343\33\331f\270 \34\242"
+"J\205P\275D\266\31\365\bC\230\250\340\220\305x\325\341+\251\376\23\247"
+"\214\1\237+\221\262[,\271~YG\205\262\350\3\222\31\322\224\227D\377\267"
+"\221gD\37J5\201G!3n\251\35(\274\277\207\310p\306&\264J\217\f#\224\321\214"
+"\370\357A\272\31\37\321\315xC\262\21\321\3771\200\30%\361\n\5\233I4b\32"
+"\26\63\376\223\26\267l\33a\254\366\307\272dF\357\25\230\325U\f\f\267\310"
+"\213^+d]Z\344E/j\211\376\222\234\350-Bu\27439\321\213^\261\220\21\275k"
+"\321\303\260\214\344P\25\201k\360\307Lp5\304\231\361\6\323\322\265$:\304"
+"\3\256<\4.&Hb\364b\265\362\31I\321\333\0W\35\201$\352DR\364\342\3609)\321"
+"\273\13\2566\32E\234\204\350\225\304\251\224\370\350\375\fW\31\2073\341"
+"\21p\210\33n\205\202\3046\255\20\352\22\60\344\236\302\345>\23\327\257"
+"\304\342^G\204\2442Q\316\210\307+{\16\267\21s\360\7[\1BZ\220\bgD\20\220"
+"\77\216\313\210\343\204bo\nB\201\n\301\372\325\217p\275E\250Y\2143\21-"
+"F(\231\206M^\17!\357LL\5ZANh0000t#\31\62\17\237\25\246D\326\344Gq\313^"
+"\'2_\377\377\77\5\247\31\314xs\224\1\276\216\374\1\364\372\0W;\1\321\223"
+"\177\207.\307\361\220@\234\300\201\77\314\214\22,\31\263\261\311\221\270"
+"\32Hc\341\377\377\377\257\204\215\216\301\215\202Q0\nF\3010\5\0\321\261"
+"C\23\220\326 \34\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0L\0\0\0x\b\0\0\0\0}\27KL\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\377"
+"IDATx\332\355\227Kh\24A\20\206+1\233\303j$\20D\17\36\342A6\42A\tb\3423"
+"\306\307A\360q\361$A!\7\243\22Wr\22\25\224(\236\2\212\217\203F\20%\211"
+"\20\37\b*z\b\4s\362E\20\361\240\314J|\344\240\250\253\2101>P\312Cz\252"
+"{f\272\247fv\346$]\247\355\256\257\377\356\256\256\352\355\1\260f\315\232"
+"5k\326\254Y\263f\315\2325k\326\254\1\354q\260\220\17\3\226\334\375Y<;="
+"\222V\21\21\21\37\232\201\323\210\210\210\363\42h9\223(v\230\200\235\2"
+"(\360Z\33\5\212/L\204\13 /\366\221c[\t\230\311\212\21:n\0^\21Q\301i\355"
+"&\36467\33\277\315\267\204\266\352\201\345\4\374\210\276K\323\274\375\4"
+"\234\340\264V\262b\22\230\317\211\335 t y\310$\332\254\7\266\21\360\222"
+"\323\312\262\363>\42 \317\211u\22\372\227]\372TNl\214\320\343z`vI!\253"
+"\327\3]\4\334\341\264\232\330y\277\22\260\201\23\353\217\221e1vy_\17\254"
+"0\213\225\373\332\225\362\347\240^l\227\274m\271\205\345\345\274k\23\327"
+"\322\33\311fS\f\231\201\335\21\275\226\232X\261Q\362\357\345\304.K\255"
+"\17\334\322\253b\354\262W\13\264E\17Y\245\42\326\306\3146\304>\n\24\261"
+"\234\16\330,\375[b$\6\226v\330zV\13_\212!\326\310\210\345\24w\17\'\326"
+"\307\210\251\356\205\262\273z\177ws8<\21t\237\322\317\325\202\210\270\336"
+"\17gTx4\240\325\240\272\77Qw\215\274t\325+\250]\35\372+ 6\2426.\322\257"
+"{\0\0Pg.;]5}V\275\330\342+\211\301\260\220\5\16\240\340\365\272\257\331"
+"\n\321\336\36\226\30\210\213\f/#\357T\216\341\354{\275\370\230\342\252"
+"E\277\315\232t\\\27\315C\341\273D\354#\317\276\200\26v\1\0\300\25SRf\2"
+"\3\36T\371\336)\252\255\1\310\275v\33\313\374b\35\232\21\317\317\365<E"
+"\336\216Bhbh\355\373\260\276\377Zh-=\321\2169\0\260I\327\77\24zc\254\206"
+"\372o\301e\325\1\0\34\214\244\245$\3060\0\300c\337\220\303\2\273\345\327"
+"\272\32~/\256\2\0\200nu\304\31\245(\275Z\235:\255L \271g\270\327\352\210"
+"\267T\26(\305pr\212\307U\346&\6\275B\34\345\237\244&;Q\324\314<g\356\264"
+"\77\343_\336\2757]\26221\332K\377\342uW\206\201\236\22L\\\216\215i~\222"
+"\313\304\270\220\\L\36P\3$\215Y\346w\32!\23\61\223\'\350$\337e*\211\341"
+"\356*\225\304\20\333\374\337\23C\304(\245\220A9\0\254\243\3263H,\266\230"
+"Z\307\222\213\311\217\343\201\344b\264\271\363\t\17\322s\0e\220|e\260U"
+"|\311\247\223\265Ko\26\13G\322+\202\332\352\24D\376\1xoH\362*\270\225T"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0"
+"\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2&IDATx\332c`"
+"\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\214\202\221\3\30Qx\216NZR"
+"\242\242|\f\f\227\227\267\223g\236\305\263\377H \33\217J\307\203\377\77"
+"\317\344\306&\363\360\77\np\305i\304<\210\2yL\31}T#\376\177\302eD\1T\301"
+"\t\314\360\340}\317\214/\254\20\340\77\232\2&\204\324\347t4\265L\330\215"
+"\210\307\33\2502}\77\221=\203C\325\23B\n\2\t\233AP\1C\3!%\246p\371\331"
+"\270\3140\207+y\212]\301\42\270\2\r\\f\230\301\225\314#\326+\30a\257\6"
+"g\355\'\220\2547\343\224\231\f\267F\36\253|*\\^\13\247\31\27\t\4\351{\202"
+"\261B8\346\340\322\255D\230\361\16\253t\23\21\316@\230\261\34\277\364&"
+"\334Fh\303\25\245b\223\216\42\306\31\311pEjx\235\261\36\217\31\363\361"
+"Z\344I\2143\220\3122\274\316hd &H\77c\221\264\42\312\31\370\243\345\25"
+"LR\7\237\21\254p3\3420%M\b\344F(\260\203\233!\216)\371\26\207O\320\362"
+"\255-\234\365\22\303\210L!(C\21\177~\336\207;\324da2\325\4\312\4\270\21"
+"\247qJ]\300\220\301Q\3763`\244\303/0\206\1\3\261\356\320C7\2&\241N\310"
+"\bE\34\301!\n\27\367%X\363\307a7\303\25.\234D\270\365\0\317q(1\333GT{\2"
+"\6\36\303\24OB\210\311\303S\370\377\34bZ1p\325\16p\241\372\377\370K%\334"
+"f\300\4T\21\216\370\37\310@\226\31\323\220jpm\342\214PA5#\r\311\204C\304"
+"6\352\42\340Zx\31\30\222\220\233\42\231\370\264\261\240\324\327p\326\366"
+"\77\366H\342W-\77\23\335\270<\372\37+\310%\245\201\372\33\233\t\'8Ij\344"
+"b3\42\220\201\201B3\252Hnl\243\233\320JF\203}\7\212\tEd5\372\365\20\6\354"
+"\261&\267\'R\t1\340E\22I\272\320\332\344\322y\6ov,\36\355\326\215\202Q"
+"0\nF\301\210\6\0U\266#\36\236\203\256\255\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0x\b\0\0\0\0\206@\276\223\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\2\236IDATx\332\355\230OHTA\34\307\237)m\270"
+"\36\204\360\220\nzH\360\340\37\260\20\17\272{h\323\233\301\226x0/\35\252"
+"K\26\4\222J\227\244\16A\35J\334(\361\24\201\240\bE\227RPLp)%\42\212$\330"
+"\304%\2\335\26EKZ\345\327\341\275\335\2317\276yo\276\223\227\340}/\263"
+"\314{\237\375\315\373\315\36773\357\31\206/_\276|\371\362\365\377\253a"
+"8\376\262K\7\214\254\21\21Q\17N\316\222\251\267N\27\13\\\300\306x\366\327"
+"/0\344)\312\251\3#\2171\3626\30\364k\216\214\202\344\211,\370\32Nn\314"
+"\42\'\361yyg\241u\322;\16\311.\354Zm%\36\365^\366Y[`\264*\227\340\364\25"
+"\224]\42NO\303\373o\310\223\242\325\237\205\16\372\221Z]\234\\R\t\273@"
+"Nz\256\202~tD\351\25679\343L\322\33\257y\35\246\260\344\312\242{\304\36"
+"\222j.\340J~\223`\251\367O\332\334c:@\257\242\1\225\314\256\212\334\203"
+"RE\27\365\332\271\211ru\3\332\300A\304\272C\250s\34\203^\300\310(#\7\300"
+"R\2133\24\255RFvz\335*\326+)T\262\327\262\346-\1=\2\240\362\1\27\354i\17"
+"xT\77\303\324\b\242#\34[\206\241\1\336\374\365\30\373\210g\257a\3546\317"
+"\246\313t3ED\211f\325y5\f#\270%t|\231_Y\373\376!\1\26\36\247\314E4\313"
+"\234\272\275\335tG\362\227\235^\247\265\320\254l4)\367\301\226oH\267\214"
+"\77\65\256\344})\270=t\324\225\234w`\246.\325\27{\247v|\37w3\250f\2433"
+"\2wC\323\201\311\6\300\273\375<Y\253k\3731\254\330Z\31\211\236F\347\16"
+"b\313\270\214\256\303\300\226!TN\20\35%C\213\365\321\314\77\274\367\261"
+"4\235\323O\223b\236\330\2\263\314:\323\340\200OsF\\\7\331\237\274\375\13"
+"\365w*\272\n\261!{\245C\373\353Y;\273r\\\357\254f\276h\227\250\263M\342"
+"\272\206\224\356\246\b\367\251\263\347E6Y\244\16\267\377\26\340\223\300"
+"\250\203#v\26[\37#\237x\26-\303>\206>\306\77\301dt\303\32\206\361\302B"
+"C\372\213\307\200\306Qz\301l*4\320&\263\311\307\321gV\233\304\36\363p\370"
+"anv\42\310\327\246i\322\364\304u\273\23o\251\223\371;6r\6\bZb#cP\212\270"
+"O\13\313uXv[\262\207\361D;l\300^\263\336c\362\367\364\277\337\2\361\266"
+"\7frq\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b"
+"\0\0\0\0d\234\245\352\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\20IDATx\332"
+"\355\227M(DQ\24\307\357\214\211I3Q$\371(c\312\20\26(\31e\303JS\26\254\354"
+"d\'\13e+\13J\311WX\20\262\221\254\206\262\220%EYXLI\26\276\263\223\317"
+"fF\246ix\26r\356}\336\271\347\2757v\272\377\325\233\363\277\277\373\316"
+"\275\235w\356\35\306\224\224\224\224\224\224\224\224\224\224\224\376\207"
+"\34\224\351k\251-\365\262\350\315\361n\302\346\264\236\241{\215+6`\207"
+"\35\326\f\32\263\312Nk\250z,\301\237\232D\21\13\273\246\21\23\347\77\351"
+"~:\r\3\36\250\264\36\275t\332\263\272\\W\233\34\314\335\272!DH\270Rd\247"
+" \274\5\261=\212\26\341j!>\7\321F9\274 \300y:\347\331<\367b\1\16\352\255"
+"*0\232e\364+\207g\244k\272\225\300!jo\'\315R\27\340\42\203Y\7^\7\n\327"
+"sx\211\232{\r\245\217\350\2320Y8\207\7i\33s\273M\312\221\266/\301]O\203"
+"\346n\211}\272\335\354;\42\375m0\227\323\240\271Y\213\367n\360S\2667\205"
+"\261 \370\'Dg\222\251\23\236\16\215f!L}\212\323\3570 d|w.\204\256q\332"
+"\rO;F:\13B/(\334\213\5\235\306\rH\242\364\4\362\304\241\24\275g.\336\345"
+"\306\21:\316\214k\20$T\20\266\262l\330\322m\272\320F\350B\214 f\370/\37"
+"\201_C\nM\247}\202\26\332e\0\247\333`\200\217\270\r\234\231\36a\341_F\215"
+"\360j\217\214\36\223\245.\300\323\26\316\317\3\351\261J\324S\37\fZ\344"
+"\301r\21\256\240\312\361\2167\374\372\357H\306\272\b\317\323\267\36\61"
+"\263\315H\302\337U \272\37.\232\366F\251\324\234\232\364\13e\2141\26s&"
+"\345p@3o_+\262\253^\216\245\356Wq\201\261\375\226\273g\313\371/t\267\301"
+"\326\365\272x\366\355\207\274\32-K\347v\237Y\340N>\307\325\377\37%%%%\353"
+"\372\2j\275\36\367\202Kw\373\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\31IDATx\332\355\227K(\205A\24\307\7)\241\24\345q\21\271EJ\36"
+"\221W\331\310B\331(6J\212\222\5)+e\243\330JQR$\334\322UV\262\260@!\221"
+"\205\307J\221X\312#Erm8\26wf\356\345\316\314w\346\273\262:\377\315\235"
+"\357\2343\2779g^\337w\31#\221H$\22\211D\42\221H$\22)\\1jsYsmQfr\274\261"
+"\353g\340\356|}\305\30\62\370\0xui1=\257`\247F5g\6\254u\251\342\264\201"
+"\33)@>\370#\322\221;\320[\4h\337\35\b\372~\203&\\\202f\177\203r\334qVK"
+"#j[\323G\17%\5C\322Ci\357\224\350\367\365[x\337\361l\226\266-\36\212CA"
+"\223\334\364a:!W\22\263\236\305\30cl\230\77n\204\5y\270m\311D\352\345A"
+"c\302\260\300\r\365\341Q\3346e<\266\3\1\200\323\226\210N\77\367\35\267"
+"\371\255\256\33\23\351\304\6\324\257\230&I\372\260!=\363N\235\316\211\232"
+"\357L&\202\223\336UVU\257X5\250C4\336\243\275\336\257y\31O\f]\235&\'/\377"
+"]V\273\323\321)5\211\301+\3259U\241I\207\2322\204\271\r]]\235\303H\371"
+"X\222\2743\2665\244\2,iT4t\207\336k{\346 N\343\270A\202R\265/ \323;NU\335"
+"\210h\334G\273\301\345\310c69\31I\336(I\335\372xK\322\355\237\221d\370"
+"\274\336\225\202\1U\310\360j=\251\20C\362\33J\220\256\6\253\342L\244v\304"
+"\316\f}\357\372\f\303e H\203\2625o e\42\212\2737\255\264\364\315!r\302"
+"]\321i\316$\217l-\232H\t\316\244r\331\2326\221^\234I\241\245;W\0vE\343"
+"\314y\2\362\304\234\216\252\274\255\302\233\207\230\313\213`\350\243\332"
+"{\23\364naV%\361\n\0\340@\347>\6\0\330D~\253\224\326\4\266\364\367nn\375"
+"\327\336\3\375/&\221H$\322\177\350\33\301\360\332\77\372\26ba\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0@\0\0\0x\b\0\0\0\0g+\253"
+"\302\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\221IDATx\332c`\30\5\243`\24"
+"\214\202Q0\nF\301(\30\5\243`\24\214\2\32\1F\2\362\362\266z\262|\f\237\36"
+"\234\331\376\215t\3039+\236\377G\200\357\305$j\257\372\217\1\272I\320\336"
+"\361\37+H#V\377\267\3778\300u\342\364\377\307\3\244Q\2252a\323\377\0\237"
+"\341O\304\b\332\337\212b\343\2+&\6\66\207EH\42\204\364\313#k\237\4\27^"
+"\1\27;MB\0\30!\211w\302E\35\361\352\357\301\31`\217\211\362\204\20\222"
+"~gT)\5\270\204\33\36\3\236\42\364\317\304\351\271w\270\365;\342\13\355"
+"V\42\374\360\33\241_\5CR\7.\27\207K\277\6B\377\22|\21\264\25\227\1{\360"
+"\'\27\270\344W\302i\240\26\2774\16\375~\4T\20\64\340\22\\\301\6\362\f@"
+"(P#\313\0_B\n\b\311\237\206\313\317!\317\0\204\274\42Y\6X\21\262\300\b"
+".\377\4k\221V\1g\255\304n@\0\234u\210\200\3\215\261\33\360\6\256 \2\233"
+"\264\42\t\261\214\265T.\207\263\356a\327\37NtYX\216]\301\3\270\202\251"
+"d%C$\5\62\330\244\243\b\5\301d\2\n\216\21\237\314z\tU\7X\345\27 \344\331"
+"\b\25\347\nX\344%\21\322\367\260V\256\351H\202\261X\fx\214`\206\20He\377"
+"\377\377\303\224nB\310>\42\242I`\202.\253\204$\211\275zwB1\340\37\36\343"
+"g`w\300\6\324f\310\5\334\316#\266Qc\210\220\223F\26\67\300\256\237\37\263"
+"-\264G\3*7\27Yt.\216\226jy\7\66c\327\235\373\256\24(\205\277e\13\25x-B"
+"\\\363\215\33\243\301\13MHH\372w\342\321\257\217\253\301\354\204R\232\265"
+"\342j\42\212\3424\31\21\211\233\31\30\30\30DO`\323^@Ta\4-NM/\241\351\336"
+"m\206/h\370\261$\23\361\356\217\360\334\327\242L l\313\341\372\317\240"
+"\210\263J+\313\363\22\239\257\341\6D\223\327\345\371Ot\17\b\23\60\61\60"
+"\608Q\332\361\332\200\245iM\22@\304\201:Y\372\5\210\357\t`\17\203L8\347"
+",y>xGA$200R\26\211\f\fL(\25\2Y\340\t\205\221XDa$2~\347\240(\b\30\230\20"
+"\372\217S\232\f}\310\33\200\240,\22\221[i\23\31(t\1y\16``\276.\252\300"
+"\300\300\300\360[\362\33\331))|\317\373\333\r\224%F%~\362\365\2\0\30\322"
+"%\324\314\20\362b\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2\313IDATx\332\355\227Mh\23A\24\307\307]%\233\226 \246~\320\200U\203"
+"V\33\241\275(\bb\321\203-x\20\354\315\223\210\305\213\250T(\36\245\320"
+"\213\320 \226\212\37\7\245\227\42\342A(H\220\34Jh\301\36B\351!H\361\20"
+"B\260B\211\32CH\223N&\343!\331\231y\233\331\354\23\4/\373\77d7\357\355"
+"o\336\354\3337ov\t\361\345\313\227/_\276|\371\362\365\77\265\313\315av"
+"\5\202\365\355J\275\201\35\251\367\366J\2052\306)M\f\233\336\227\233\221"
+"\'\5.\3052g\366x\20\'\343e\16E\237\7:\1G\3369\1\3169\317\30\356\311\230"
+".r\2556,\27\242{\221r\27\245\217i\211\360\2\343\256JD4D`\226w\322\274&"
+"\331/a\fV\334\312\376TL\364V\33\61\7\210\322\353\250E\b\2616\244)\27u\20"
+"c\25%@\362\262=\13##\2553pjVV\22[W\203\312\35&\204\275\b30!\247\265z\20"
+"x\366.\t\317\3\20\344\253|\2\'\34S>\365M\f\246\232\207D\220\374`[b\306"
+"E\322T\353\33\333Z\355\327\224\266=^U\265\212j\237\320\225\205\230\264"
+"n\34\336\253C\354\374W\24[\227]\216%\342\35\245\271\20Di\377\320\42upl"
+"\42A{\tU\265\210\1\216\315\337\206\323\tE\301\261yM\315v\36\322\42e\307"
+"\221\20B,\261\32C:d\262\345\234T\'+rR\3261\241\24\347\234\363\24\360\245"
+"e\31\37\3270}\361,\317\306\373\200\355\242,\375\344~]\234\330\271\2303"
+"\276\\}\354>\262\t\207d;\242\203H\346\241\322\30\356\42\231OJ\263H\318"
+"&\2510\345\361}\30\304\312\251],=\214\211\244\366%\316\351\263\b\202y\n"
+"\273x\366:b\3\273\3\31\266\20\365f\16\27`\357^\277\340\315\30)\310\224"
+"b\210\33\272\1w\276B7\246v\336\203;z\205z\254\247W\324}\345(\252\20\254"
+"\231\222d\26\221\25\27\225\373f5\204d\314)\21\346,\372\215H\354\21\323"
+"\216\301\334\221\332\225\326\t\233\3276B\215>\213\327&\202E6\33\372k: "
+"\302\325@#\3\266o\7\2330s\331\316\330\22\66\312\207\363\366\331:.\206\265"
+"*\213l\24E\214}W^\3710\315\306J(\345Ooz_\77\4\337\375\346\2^D\370\21hM"
+"\374c\217g\214\331* \362\336\225\77\222\7D.\320\241*Z\272t@\371\323x\321"
+"_kGvw\210\370\373\3322E\344wD\364r\366\266\7\371\324\37\67\33\5\373\342"
+"\371q \223|o\2152\2666j\376\305\'\217\25\too\376\362\77\6\377\241\376\0"
+"\\\222jva\221\16\375\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0F\0\0\0x\b\0\0\0\0j5\333\205\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2!IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\214\202Q0"
+"\200\200\21\237\244\242\255\256\2740\77\277\210\0\246\324\337o\317\317"
+"\257_I\330|\236\352\227\377\t\202P\2\206\324\376\'\16\230\3433\244\367"
+"\77\261\3404\236\260\371\307Hr\330\262`\312\374\'#\246\2300D^\223\242\375"
+"\31.\211\t(~\237k\311\314 \231\365\tg\330D\3430E\3YQ\17LT\17\207)\275\270"
+"\34\203\254H\33I\374\n\246\31\377\226h\3422e\32\2222a\\\346O\221\'\20b"
+"\322H\212-Q\245\254\20\62\4\3\376\3Bm\37n\357\22\62\305\373\77\36\265}"
+"D\33\203d\212\24\206\244!\\.\b\277)F\bSf\342\263d1~c\216\343\367>\\\362"
+"\1\261~*\302/\215\327\224H\2\352\2104\346\16\\\331\22J\214A(\223\241\300"
+"\30OB\312\2103f#\\\325,J\214A\250\322\305^\\\302\345\377\20g\fvyK\270\374"
+"%b\nQ\\\0\221\5\216\340Q%\1\267\354\nv\5\337\341\n\274\361\270\6Q\301\336"
+"\303n\f\7\234\265\25\2171\354p\241\367XMI\42\256\202A\4\322/\254\n\273"
+"\260\260\260\30\363\7\177\0\263 J\346\16|\306|a\300\364\36\22@J\222\357"
+"\361Y\307\5\217\210\215\370SU#\221\245\315y,\222k\210.\320\361)T\376\217"
+"/\t\243\200\3x\214A*\353\325\t\30\343\fW\251\210\247\331t\215`\246\201"
+"+]\203&\241\203\344\30\36\202\306\264\342\362\25\61M\bl\312\17\343ld\20"
+"S\24d\302UOG\b*!\233\242FT\221\362\bQ\243\31AD\230\227 \2332\211\310V:"
+"\262\243\327\236\377\241\34,\206\3222g!\322\30\336OxK\203\377D\266D\77"
+"\63\375\302m\212:)-\335\331\270\32\235\374\244\265\224\325nc3$\233\364"
+"&\267\355-43\266\33\223\327\313\222\236\360\25f\304\335&\5\212\272elb\34"
+"\277\336}\31\355\270\216\202Q0\nF\301H\3\0[\6m\247\264\321$\245\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214"
+"\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\254IDATx\332c`\30\5"
+"\243`\24\214\202Q0\nF\301(\30\5\243`\24\214\202\221\3\30\261\13\353{X\250"
+"\213\363\260\342\220\375\373\355\331\271\365\253\361\232\233\367\352\77"
+"\61 \0\247\1I\237\376\23\13\f\260\2330\365\77\t\340\20\66\23\202\377\223"
+"\6\260\30\261\350\77\305f\34\'\325\210;\30F\34\42\325\210\377\301\350F"
+"\364\220lD;\272\21\62$\32\360g\241*\206OV\243\251Y\36$\301\300\300\240"
+"\261\16.\260J\231`\232\377\202l@\35;\\\34&4\217\210|s\13n\300FId\361\307"
+"\270\223\2\6H\205\252mB\23\377O\202\31\f9\337\377\377\77\347\215!\f5\342"
+"\f\5E\2039\324\214\t\370\24\61\3417#\16J\237\244\300\35\177\241\356P!\243"
+"\34\203\7\7\61\312\360\373E\203(\307\3427#\236\n%\366\7hp\\\242\300\35"
+"\374P\372\0\371f\210\302\30\207\311\367J1,\245\313\220o\306-\342r\13#1"
+"\251\203@*b\242B\354\3413#\2\3068F\276\31\3110\306\36\362\335\b/\332\34"
+"\311\17Sx\220\262\376!\327/\272p\326\37\262\303#\222\nQ\366\24\26\34\267"
+"\311\217[)\30c\13E\345\7\4\354\42\333+\276\360\250\345 \333\35\360T\312"
+"\360\203\201\334\364\361\237\330r\233\230\360\270@v\236\343\207\263\266"
+"\222m\206\5\234\265\203l3\344\340\254#d\233\361\25\63lI\6r\260\324\221"
+"FAv9\3\61\342>Ey\356\334\377\377\377\377\37$\277\377\302\300\300\300\300"
+"\240j\371{\337\313\321.\336(\30\5\243`\24\2148\0\0G\224|\304\225\36&\261"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0"
+"\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2[IDATx\332\355"
+"\227MHUA\24\307\217\17\265\20\334\224Q\364\261q\325\303\2C\310h!\302kU"
+"\210PH.K3h\321\302\324Mn\264E\213(\\D\24-,\2i\27B\5~\343F\264lc\33\r\212"
+"\7\201 J\21\25-J8.\356\334s\347\315\234\231;\367\265\364\3747\357\236\371"
+"\237\367c\316\334\231{\317\5\20\211D\42\221H$\22\211D\242\335\243\n#\276"
+"\320\232\77zp_\365\317\17c\243e\22_\242\246\21>\24706\321\353&\24\260T"
+"\353\\\322\32\42\42\346\35\210.4\365\321NZW\26\217\270\201\266\256\232"
+"I\327cg\231C\\ANf\326\69\r\351k\241t\314HK\234U\13QK\336\342\255\373\32"
+"\343\246\223a\257\310\247\330i\6\200\303I\3423#\357ab\365\31\326\265\330"
+"\2506\266\311[pN\244\350pj\242\260\233\22\337\230\214\7L19\0\200\36\25"
+"\64\377\321\6\1\0`\313d\3641\2674\7\0\60\20]\337{\257\6\233\222]i\375\341"
+"\266c\207Fs\373K\361\17\232o\213+\331\2721\321\330\31f\341 \230\261\214"
+"\210x\207\302s^\306,\357\235-\42\16$\341<!^0\214\307.~=\277\7N0\214\'\350"
+"=\272\221Z\274\245\300D\bc\216\20\2578\373\2332\377\371\30\3114\32}\366"
+"h\371\245\200~:\313,\245*d9RJiU\346\322\177\224r\327}\nH3\376R\240\230"
+"\251\224S>\377\221\7q2\245\224\301\222\7\36\257\344\2019\345\233\306\264"
+"\257\224_\3048\317\331\317\225y l98\3674\273G\315\336\1\235\216\356V\330"
+"\317\323D\225t\365\233A\304o\233K\336\6\244\216JY\261\3156\357j\223\216"
+"\20c\301\362\366\273V*\347\nk,\306\246\372\355Hi\246\16\321<\266M\353\253"
+"2\306\323\32\262\275\316{\3739\344\314\233\373\243\344\255X\365=\36>\236"
+"\205\241\37\211\2134\330\31\320]\3162]J\341\13\r\365\207t\250\rz\'u\31"
+"\0\232\236j\3Cam\356;tk8\264Wv#\372C\21P\351B\264g\351\33279\302\374\236"
+"l\255\177\257E\230\314g\377\200\30\321\1k]e~\206\264-D\200\327\35 \22\211"
+"D\242\335\245\35\366\263\264wPd\217\213\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\3&IDATx\332\355\230KHUA\30\307\307k\20eQZ\26\332"
+"\42\t{B\222\21)\230\265\270-\322\314\b\42\242\27AX\22\5\275.Z]D\2514\42"
+"C\334\324\242V=\20rQX\273\212\240\205q!\\\334\42\250\250\273H\n3*\255\264"
+"\27\323b\346\314\313o\346\234{\346,\347\277\271\347\374\317\367\375\316"
+"\231\271g\276\2319\b99999999999999\211\312\3116a\373\346\262\231#\351\276"
+"\353\2667\276\213==\264\342TcQu\341A\rX\326\361`i\365\311\306B\3319\202"
+"U\35\363\307\344\365`\214\361x\205\350\355\307\23\265\311\17\324A\3o\b"
+"\336z\f)\327\310\311\37\362\342\372\270\31\3A8e\2U\362\270=\334\375\t\223"
+"p\201\36T\303\243z\364\177\33S\253\26\264\221\7\235\21l1\271wK\315Ev2\240"
+"\3\255e!\357J\4\273\205s\206\210s\230\236\376\323\200\346\261\204f\311"
+"\347\240\'\236u\222\32\32\322\17/Az\223P\2\372\257\214\244\363^B1\202\37"
+"\351\253`\3762\221\274\204\42\331\336\307H\242\373\301@j\243\361\225\232"
+"\33\340R\321\375n \321\370\16\305\256\365@\247\201\350\317\20\250L\323"
+"\207\303\324\317@\367\355\347\343\211_\2425\242I\1-\235E\17J${%\371I\31"
+"\32\247\332\217\251\277C\266/\20\267\26\0\225\222K\317\24;\227\202\236"
+"\302\257\36\364H\255\23\306\77B\b\241.J\232$\333\5\304\375\4\221\236\303"
+"7\241\240\313\212\335I\354d\360n\332M\355\30\34\235\257\'=R\3341b\247\341"
+"G\32\61\274\227\227ds1\275\3676\270\2566A\240\351\340\304\363\0ls14\16"
+"Y\373\'\323z-\347\304\311\317\33\271\212\r\322\203~\220D\17\362\244\234"
+"\26\257\334\210\346\362\367\336Q#\330M\263\311\363^\3\253\20049\263\322"
+"\360\32\256M\323\310\325\77PU\37\25\274\263\274\22/@\3062W%X\257\250\227"
+"\340\326\13\16\272\203\314$\fXl\244\304\305\331\n\371\221\306\231sN\315"
+"\271/\202vjI\267\261:\205\261\251\222\234n\225&\337\227\372i\274B\235\354"
+"\327x\247\355\b!\264jT\236\306MK\13!,!\235\247V/iV\327\3U&RR\214\354>\361"
+"\5\33t\320\274\0\303\201\345\3B\7\202\202\252}\227\227\37\3q\336\6Y\360"
+"\6\1\35\n\264t.\364\345d\202.\336g\370\200ve\261\21H\318\235\331\355)\352"
+"u\234\243\331\357ON\1\230+E\341\366:\337$\312\337\366\271\241wMb\307\267"
+"\331\355\b9\250\34ED\272\207\242\42-\264\4\65\4*hA\224\361@\277#k\\\227"
+"%h\31#\255\260$]\r\323M\3407\f\34\346\23G\314x\365\246e\343\366\262\306"
+"\305-I\351PoSNT\335\4\365\323\24vd;\350\326\261\306m\260$\325\205\33t@"
+"\353\330\362\261\327\372\213\333XDu\200\355\0\312\355Ih\321\255\341\301"
+"\356\251\321|R\234\77\'\353\224\377\235ig\272\245\223hP\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\352IDATx\332\355\230Mh\23A\24"
+"\307\247\265h\325\266\344P\361\326X\333\212\342)\202(\301\17*T\324\223"
+"\26DEA\20\3748h\305\24\332\203\202\210\22*\42zQA\17z\321j\351A4\370\1\r"
+"H\361\13\5\301ZE\241P\17*Vo\rj\223\252\317C\336\354\354\354\314\233\235"
+"\311Q\346\177\332}\377\371e^fw\336\233\2041//////////\257\377CU\342r]{"
+"s\315\267W\367\'*\371\230\364\4\240.W@\177\6\241\3331c\217\274\33=(\5\226"
+"\201\244U&\270\37\0`c8\222\220i\330b\230\31\0\0\256H\261}\21<I\301\325"
+"e\277_\2166_\224q\212\36,\333\31\305h\35\16\321\31=\274\b\355\204\306\313"
+"\304N>V6\237k\315K\202\356\321\371{\320\\\252\377\354\230\311\321\312\23"
+"\213\262Z\320\33T7\217V\3\265\246\77\3z\\\361\266\241s\212|\31:\f\251c"
+"|\312\360\42\322\17\3551\306S\6\272/\240\247e\343\20\206/\2306A\r\221\372"
+"\22\f\3761o\300\337\1\335\253\373F)3\335\35\320\341i\3061v6\256R\350R\37"
+"\302\310\247\330:STS\277\306#\365\261\264H\375/F\262<\320aQ\344D\3523\31"
+"c\214u\361\333\3036%R\244\336\307\30c\333\371\335y\253\2\333-\255[\'\277"
+"\36\264\254\317\202\316\265\237\346\227Om\253{\21T}T\207\315\320\323\277"
+"\326+\241R\243\261\217\311\251+\221\332\242\246:\23t)\32h\322\300T\346"
+"l*\222\372\362\367N]Q^\261\315\216=U\202O\270v\344;!\230\254c\324\252\261"
+"\321\320\365n\347\323\300\325\320\334\325\26\347\26\372\201W\271f\336)"
+"\325C\212&\236w\355H\370\256\220w\313\274Pg\365\375\364\231\277\251\263"
+"[Zm\346\17\322\321\367\366Ie\17\313\252}\204\225\325T\6k\270K\3\313-\311"
+"\240\255\34\30n[\374\3355\365\340\340\221c\214\255pL}!\37\375,\262M{]v"
+"5\326\317\36\247\324\3711\273d\352\246\224n\362\241\263\f\335\224\322."
+">r\201\241\233R\232\315\7\256\2119\bh5\202\303\16Hox@\37\65\302\374<u\235"
+":4\233\340\6\34\363\203\254\314\363-\362n\211\304\'\3\372\26\r\357\305"
+"!\307)\303\230:\16\370bj*\344\311x\0\7\64\251\326P\354\344\255h\237\324"
+"xIA\23\347\226\227\246~\365U\340\233t~\33\232i-\235\2\343\217\rv\303\374"
+"S\345C\b\177\264\222Z\326\4A\317\221k\334@\213\216\246\17\202\373#5r\255"
+"J\27\354\213\364C\311<\7\0\323I\323.\330!\321\257e\363\330\2753sc\366o"
+".Dg\335\377Z\230w\227\303/\352Y\5\332\371\26\0\0\306\304\377\2\377\0\34"
+"\264E_\250\375}\335\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0L\0\0\0x\b\0\0\0\0}\27KL\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\332"
+"IDATx\332\355X[HVA\20\336_\364\27M\213\312\333\303o\320\5!\2440\4\25+\222"
+"\244\350B\224\221\211\bi\321\205.>$\364\20\221\321\215\350*DD%eVf\365T"
+"Q\24>\324C\204YAeeY\201=d\26>H\205\327\237\232\36\366\362\357\236\263\307"
+"=\373\357\351%\316\274\354\23193\337\231\231\263;\273\263\b\371\344\223"
+"O>\371\344\223O>\375\247t\20\0:\13\275\301z\17\0\0\60\307\13\254S\30\13"
+"\272\344\257\3Z`0\272Y\214\16V\225\227\331\177\r\224<\b\23\220wa&\260\247"
+"\373\346QV\262(W\230\203=T\244L+g\252\224\351M\rJ\365\346Q\316eQ\3164\7"
+"\253W\245Lk\226Q\352s\322\210&gG\314\35Kc\236%\233{V\316\236~\231{\366"
+"\202:\326\352e\376\227;\252X\347\362\322\242\351\241\364\t\301\237\317"
+"\233.\350\25F;5\3Gu\302\253\\\315YV\f\42u\13\363\201J\217\212F\331\327"
+"\333j%X\353\300J\355\334\333\36*L\27\214r\0\0\366\333\2606\203\235\326"
+"J\362/Z}\7\0\350\267m\26 #;\330#\301j\2454\215\305R,\310\244\357\27R\311"
+"b\301\354\235\f,\231\231\267\326\34\343\300\252m%C0\213\305\262\16\21\254"
+"\223\352\346#\2042\42`\rTa\200\b\206\5\263\355X\270S\20\256\247\306A\204"
+"\20B\r\f\354\2365e\273\4;\362\213\'J\227J\42fK\30X\13Q\210\243\2021\274"
+"Y\20\313\206\204\252\261\2010\371\3x\354\263\25\210eT \314\202mx\20\247"
+"\361\7\374\205\303\224/e\236\235$\222&\302\337\220E\231*\211r\204\361{"
+"\31\330V\42\t\23>O\22\345\260\254\272\24\60\376\1\3+\264$U0\253\3012\313"
+"bz\6\0\260O\262t F\234\206\35\352(Qa\27\300\16Y\35\244\236\254&\354\32"
+"\341\34#\215\22!4E\276u\320\237~I\26\345ni\224\316\247\235\253D\362\303"
+"\372\2138\377SG\337\235\42E\376\26\31\307\342\341\20\257\265\0\17C\275"
+".\267\16\30\207\5I Iu\37\226\325\272\335\207@\254Z [\316\211\243c\2450"
+"\2540\221\\\304l\243\344\213\237\25\216U0\260f\42\31\264\316j\204^\21\225"
+"2\5\330\25\6V!z\301\351lq\273\357\365\202e#Z\204\271\217\266\371j\333\367"
+"\\\344\377&\346\270\3656\340zC\266\201\21.\227i\234\245\n\215\356\301~"
+"\223\245f\365\242\\\343\244\300T\77a\276\316bY\300\24\216+\261\342\231"
+"n\233\0\376\204\36.\300\3211\373\332\214eOa\341\4u\27\17Yo\330\373%\352"
+"(\307\260\17\277D\b!T\315\355\250\bM\215\370\365\324\305\301*\336R\315"
+"z\370\230&\3\350\235\323,\352<\223\305aUi\202\225\361\2476\204\320|\16"
+"\253K\363$\f\220\304q\263\22N\200n\220\374\332\48\320\312\36\373\205\263"
+"V\251K\260=\240\246kn\233\327\270\21\345\367\272Cn\333\235p\273\22,\344"
+"\276\27\231\246\nR\253\263\271\23%V@\321\332\333i\320y\77\222\267\2109"
+"\316X\217\23\265[\270<\247\20k\242i\b\3\3552\250\267\301(\373\313U6\250"
+"/&W\20\177\4\250\313)F\275\357\f\16\252\322\273N\332\322\27\232\201\235"
+"1\307\312V\337d\270\277\327\330\344\345M\206n\211vw\343r\316\334\261Hs"
+"<\311\34\354\266v\375\n\30\\1F\225\263\363\346QndQ\26\375\373\213l\255"
+"\234\351\247\3149g\221\27-\346QF\256\270J\314\301\346yy+\233a\273\'1\241"
+"\257\302%\2147\325l6\362\2042\33\276u\237\36\217\274\242P\232\236\376_"
+"\17L\261\347\352\367)\330\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0L\0\0\0x\b\0\0\0\0}\27KL\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2\305IDATx\332\355W[\210NQ\24^\363\223\231\314`\30JS\246q\227(/<(\327"
+"\346\201\232&\271\24\242I\244&/xA\311\303\210\\R4EH.\211\7\65\311-\222"
+"\211\207qy\240\277\211\321\77\3044\31\246<\215\21&\227\345a\357}\316>\373"
+"\254\265\317\376\225\267\365\275\354}\276\365\255\357\354\263\377\275\327"
+"\336\77\200@ \20\b\4\2\201@ \20\b\4\2\200\31\255\210\330U\307\306\353\333"
+"\277\347\33\303\254f}B\205VF\220GD\304\337\25\1^\3271\302\31R\360\334\204"
+"\207gY\rA\33\345\204bi\34N\360\271\264\364W\342i#a\266-\356\236\364\233"
+"%_\6\243\t\263\352\270\333\3445\273\341<\267\21f\17\255~\213g\302\3520"
+"\211<%\312\331\n\217\231\343\365\214V-\267$3Y\257K\t\253\367\2138\335\364"
+"Xt\201\323T\333V\373\274\13\350v\346w\276\211\255Ve-\307\303FYB\307\347"
+"FVw\2\366\311M\255]C\207;\215\327\256\240\35\254\305\347\311`\225\361\n"
+",\7\373\225\272@\6[\264WS`\231*\367\375\2:v%\270\350y\314\346d/i\7\37\234"
+"\4konW\315\336p\263\336\177\32\64\203G\354\310\246\250\346E\21f\303\334"
+"\2\20\3656\250\346D:\247\242\371\376\325z\312l,\373\232\227\334WnBD\304"
+"\366\242&\206\213L\324\201f.\345-k\226.\254mlu\250U\374e\266l\247+\353"
+"\22vb\326\252\346n:2B\275f\7_{S\221\36\367\354\214FV\252\232\201\324\6"
+"\64\235\301\324I0\1\0\0\376|K\233\345\270\342k:g\335\310\36\325\34\247"
+"\326\214\32\363N\227o`\17\16\315\327\22\213\366\207j&\273)\253\243\312"
+"\351\4v\353\266\233\337\232\205\320\371\237\244\351CE\354\363S\214\331"
+"PC\217\362\231mN\220\215\314\311]fX\272f\303;\42i\253u\214. \276\21q1m"
+"vD\207\17\306\324i\373L\266\326\331\372\210\354g\26\324l#X\250\211q\77"
+"\223\367\216\243F\371 \346\346e\336Y\266\0\0\214\277\207.\316\1\0\3001"
+"\213y\312\356\333|,\352, \211\236\216\3443_\204Wb\261p\267K\t\177\1\315"
+"D\177%{\6\3207N\37*}\301*\372c^\275\246\371e\376W\335\242r\326\1\\\244"
+"\370\314\33\t\221S\3\0\320\221\346Wd\316B\251\233b\16\213\217\16\337\225"
+"\13\231\324>;\345q\374\217\342\232\315\17\314\17\374\211\32>\233\224\3"
+"\t~\332\223h\2645\\.u\273\35S[\366\265\373\13\61\tSG\16\366\366\311\177"
+"q\201@ \20\374o\374\5\3723\272\17\300\363T\257\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\0\0\0\0N,TE\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\23IDATx\332\355\226\317+\204A\30\307\37\262\205\374"
+"*\42\271p\261\'\205lqp`o\264Q\16\22\321\233\222\366\240\264\345\257p\242"
+"\344\344\252\34\244\\\251W{\363#\305e\213\203\r\227\225v\261xK\346q\330"
+"\367\235\367\307\274\357<\357\236P\363\275\314\3143\237w\336\357<3\357"
+"\314\13\240\244\244\244\244\364\33\252p6\342=M\205\353cg\244\276\265\16"
+"\212\2717\3619-]\300BZsD\2325\375\345E\327\232\5\64\236ED\304l\334\36\65"
+"\365\310\30c\217\251z/{\210%\35\362\310\370)c\2141v:\16\0\0\2256;\354)"
+"\1\242QWY)\233xm\255\253t\260iO\t\220\313\271K\331\334b\373\6c\214\31\373"
+"\261\209K\350\371\257\257\274\236\b\265\26\261\231>\270\334=S{\366\327"
+"\264z\213\231d8\264\210\210\210\'a\320\7s\317/\322\350\264\211\3429\315"
+"~Z\254\341\355\21\276\213H\265U\313\223\354\n\257\351\244\205\234e\1\'"
+"\245\347\16\0\0\6wy=\214\226\261d\7\334\302\6\311r\24\243\24\332h\263b"
+"\247\307\3572\257]\220\26\236\370\260\263\304Y-\315\230\327\303\37\310"
+"X\203,c\36\277Ked\354\201\17;G\336o\322\214\271=\364\22\257u\262\366\207"
+"\273C\332\375\346v\7\311\373\230\260\353\364`\17f\220~\27xm\273\214\5\356"
+"%\377\37(\273P\305k\3\276vG\22\317[\302\1\4\353~\373q\23\21\257\3047\334"
+"sv\210\307\326\20\21qB25\36j+\265\223Ag\237SG\245\342F\230$\37\366\303"
+"\n%\203\366};g\357\314H\267\331\336\23\330.\316\262R\240\306j7\tk\374i"
+"\257D\4\0\240\305\262\262Q\220-q\6\0\264\300[\303\315\42\26\355j\247\37"
+"\233A\77\215\371&3\356\207\316\7d>+\242Z\210\rlj*\324nGD|\227\237i)\233"
+"\274[\240\316j\200\376\216\210\361\372|_T\177QJJ\377F\77\2413\376S\253"
+"\263N\363\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0"
+"\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\340"
+"IDATx\332\355\230Mh\23A\24\307\237\241\255\22\f\210\361\13\77.^j\250\5"
+"K\211\25\301R\210\'C\20\224\242\336L\375\0\17\36\332\264\27\275\250\7\17"
+"\242\364 \242x\250\42\224\336\202P\205\372\21Y\bEM\5Q\17VPB\205\200D\264"
+"\251-R\214\314\363\220\335\331\335\371\332Ir\360\320\371_fg\376/\77\346"
+"\315\316\354\276\r\200\221\221\221\221\221\221\321J\321*\225\231\350\\"
+"W\371\220\363\216D6\255\205\245\362\242>\77\235\257`%\237\366\214D\323"
+"\326\302\202\225\216j#\22s\210\2108\227pg\221)\21BH)\23\321eLbM\223t$Y"
+" \204\20B\nI_`H\3168\300\264\0\355\355\3766\230\301+\34\366\267\301\214"
+"<\323\2\224\313\376\266\2215\215g\227\t!d9\33o\342\336\246\254\371ju\336"
+"J5\265\307\342\'\272\340\355\304\2149\233F\377\367Y\230\354\213m\337\274"
+"\276\355\327\233\361\261\6\211\23\350\321\250\344\0\214O\r*\216\7\372U"
+"\22\5\315\42\42bL\202\30@V\357\371\240\222m\211\21\347\220W\232\r:\353"
+"8\302\243{\22Eb\243\276Q\247#x-l\355`\302\\\347#\207\210P\357\345\320u"
+"\17\343\274\224\301\257\310\'\307\351\1\200\255n\340=&\356\246ke\30\353"
+"\264c\2641\333\3441H\'R\2248\366{\343\24\r|\3042n\b\222\t\1\0\234\261;"
+"=\277\331\227\316w\226\221\21\334\322\20\0\300H\355\372Z\301\36\354vw%"
+"\367\203\13\222\35Z\233\333\37\332\257\320\371\366\312\202\271\33S\33\333"
+"\'X8\320f\314 \42^\241\335\203JFN\354\355/\42\216\270]\213\42\36\b\30\267"
+"e\374\235\342=\260[\300\270\203\312\243[S\2572\25\230\322a\274\240\210"
+"\254\310\376a\233U\25\303\235\306\36\225=\326x*\340=\235\r\246\322\252"
+"\263\34\1\251\364\331\346\253&R\271*\77\5T\317\325\251@\261\256T\272T\376"
+"-\5\2423 \225\213\276\7\236X\356\3\363\251j\32\317T\251,R\306!\221}\337"
+"67\352-\207\310\335+\334\243l\355\200\312\352\27\205\36S\363\267\320\253"
+"%\1\302y\333\34U\26 \33h*\357x3\245\\m\252m\2241\315yQ\331J\205d\3350\307"
+"p>Z\372\3\212\251-t\36\177Y\353\253m<\f*\310\326H\357\355g\2353\317\356"
+"\17\337[\261\365\2473\274\253\36\206\367H\34\241\203\3075\252\313\234\240"
+"JI|\241C\303:\25j\207\267\222:\6\0\335w=\3\227\364\312\334\327(\327e\335"
+"ZY\216\30\326E@\213\fq\270\236\252\275,\42X\253\353+\375\79\302\223X\375"
+"\37\20\243^\300\354@\203\237!\251i\373\337\217~02222ZY\372\7\334>\b\363"
+"\224c\334\\\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0"
+"\0\0x\b\0\0\0\0d\234\245\352\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\t"
+"IDATx\332\355\230MHTQ\24\307\377Ogt2M\321\220R\303\3061\247(\203\264R+"
+"\13\212\26%\265(Z\264\253v\341\42h\321&Z\24\bQ\31\26TTT\20\322\312>D\312"
+"\26A\205\322\4\5\23\322w\231R\221E\371=\35103zZD\367\335\231\271\357\276"
+";\267\235\274\263z\234\377\373\275s\356\345\334s\357}\200c\216963,-\303"
+"\223\3401\324\341\242\262\r\231\201\307\23z\221g\355}A\341\301m\271z\364"
+".\42\42\352(\217\33\2132]\33\5\200\255e\206\16\275\254\306\r\0\337B\244"
+"C{}\0\200\261\21\255\314\275\371\0\60\375\356\273\316\234\31W\303DD\257"
+"\252\r\235\330\376E\231\0\360\374+\351\304^\333OD4P\223\16\235\330\345"
+"\271\0\320\21\234\322\241\215Un\0\241\266i\255B+\275OD\321s\356\304u\243"
+"F{J\0Lt\307\364\350\305\371@\364\332=\322\242\323jg\3\243]\243\320\242"
+"\13J\347\0\267\237hv\225\374\0Q\377zANJ\364\212B\240\247W\267\241\35\32"
+"\246\267+\241\31\333S\232G}_t\233\251\361\200\336l6tc\257\233\217\247\1"
+"\321\342r\251\f\333\77\332xgR\230\224J\342\313i\340\247\376&\222\345v6"
+"\322\31b\322j\361\326W.\310\301X\337\263\316p\212\237\315>\374\203L\33"
+"\77\220\n{\204\222\254I\225m&\241\355Q\202\247\311\302\202\n\263&\333%"
+"\347\16\332t\7\351Z\374\225#O\273%.\327+\265\6<\33op\36\371\226\303\263"
+"\247\230\373\26\363=\224\321<\274\224\363\237a\336\325\326\360y\16.\210"
+"S\206\354s/\346\340\272xi\t\23\326X\321#&|\332rL\375\26p\203lnO\332\245"
+"\316\301E\311;!\323\266\13\341*\23\276(\373\366u!\35\220\327\204\315\300"
+"M\370\240\\\26\251\273m\312Q.\177dj\253\6m\252%\251\323[\354\326\221To"
+"g\342%\r\332\24+\305\275\233\351\261\224\'\5\250cz\217\306\215j\7{\352"
+"N\26\347\261O\277\24\323\223\354\205\206\344\330y\314\365\311\342\320\306"
+"\236\356&\323\231\3145,\204\367Av^3\' \42\244O\b\236L(&\2373\227\331\345"
+"\216\13\350\20\222\307\300\31WA\242\221e\261)m\227\27\332Qy!\6\5b\333\377"
+",\2\37\t\n-\316\36Ih\256]\372\305\364&\366\202Wr\32xm\273\205\265%^\373"
+"\271\320\331Vt\223U\352\34\334\254\260\177vYn\253\222z\332\317^\272`:\313"
+"x\270BV\216\237\315\206_\365\327\223\336\312\303g\345\247\36>\263\233\301"
+"\260og!\257N\271\344t\316\230\364vC\362\33\325xZD\362\343B\341\207\305"
+"e\253\243\236\332\357\251\212\17\42\266Q\271{\326\277O@;\253S:^\27\267"
+"\374\376G\366\36[\250s\272\317(\364D\206B\316\375\3071\307\34sL\335\376"
+"\0\353_t\333\374\305\323l\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3KIDATx\332\355\230OH\24Q\34\307\277\263\271jF\31\333\1773D3"
+"T\264H\254V*L\260.\206\4\205\3241\355\17Dt0\265C]\252C\207(<\204\24\35"
+"\64\2\351\22%Xa\245a\224m\245P\t\241B\262R\231bXjb\322\226\277\16;\373"
+"f\234yo\366\355\314\321\371\236\366\275\357o\77\374~o\337{\363\233\5\\"
+"\271r\345j\376\310\23\237\310\235W\344\21)\31\273\22\2\317\247\235d\261"
+"\260\342=\315\214\225%;a\224\23\21QK&\247FiFa\b\0J3\24\373\214<\277\27"
+"\0\276M\221}F\372z\0\300\344\270\203Z\322}\0\60\333\77b\177E\225\206\31"
+"\42\242\217\5\212\375<\2626$\0@\367W\262\237\307\216A\42\242a\377\2\330"
+"\317#3\31\0Z\336\375\263\317P\266z\1L\335\235u\260I\323Z\211(T\357\345"
+"\237E9Fb*\200\351\227\177\2350\262}@\250\361\219`x\n\27\1\23/&\340\200"
+"\261,m\tp\377\225\243\33\314\27 \32,\22f)\305\310_\t\364\f8\273H\317\374"
+"\244\276-p\224Gb\332R\n~qv\241+m\324\273Gq\226\307\3165x\35\20\37\3308"
+"\231\345\310\2328\331\374\333\42M\231R6\321\360w\247\17\270$\257\373\220"
+"\217e\373\30\306{\213sRW\371\342\'\273\233\32l\22\357\220Nu\374\230\222"
+"\246\326*1\241\204\346j\210\27\324GDD9\2D%\31\325c\16\32R->\342\4\231U"
+"a\f:\36q\272x\210\303\304\2231j\2049\271\321\327B\325:C\230\346\364\232"
+"\20\213\231\278}E\3078%d\230W\244\77\342\370\1\244h\201\215\206\270k\232"
+"Um\260\216F\214x\3036y\ba\42A\201\223\24\36\36a\201\17\214\214\253\234"
+"b<\0pL\35\370\247\215\27\244\351\352\251\26\335\247\265\341\317\227\337"
+"\252\223\5\332\2564}\341\254`\207\206s\373\303\306\343,\337\42Q\260\351"
+"\207\t\317\25r\26\16\322\214.\42\242\213l\270\333\222\321\316\367\266\7"
+"\211j\265a\7C\334\3460\256\213\370\31\374=\220\307a\334 \313\243\33V\221"
+"e)h\225a<c\210{<{L5CV\f-\215\315Vv\203\375R\240\77\2356K\361\312,G\224"
+"R\212U\363\265\203R.\211O\1S\233u)\b\306TJ\276\225_o\201\330\30\245\224"
+"ss.<\276\264\13\363\211U\32O\255J\371\305\30\245<\373\226j\256\220[\16"
+"\236\273\215\273G\215\275\3Yv{\304\365<\242Vs\212\203\210<m\16X6 \313Y"
+")\37\314f\231\345j3\255e\214N\363K\214h\245<\242a\222\2111\32\371\23#J"
+"3\265\232\345az\375\373\254\32\315Q\3372\204\277\355\'\2313o\334\37s\236"
+"\212\336\37\221\351\354X\30\372#\261\237M\36\222\350.\3339]J\311\0\233"
+"\252\221\351Ps\365\235\324A\0\5\67u\23\347\345\332\3347$\326\5\331^Y\214"
+"\250\221E N\204\330\27K\327>\312#t$\304\326\372W\231\b\217sb\177\201\250"
+"\323\3\372*m\276\206\224u\206\1-\345p\345\312\225+W\363K\377\1\262\202"
+"\njZ\266\21\350\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"L\0\0\0x\b\0\0\0\0}\27KL\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\271ID"
+"ATx\332\355XYH\25Q\30\376\256\271\334\324\324l\241\242\334+\211\212\242"
+",i\263\302\240\242\42Z\240\242\220(\2\361\245|h\201\350\301(Z\b\212\250"
+"\250(+\242\36\n\223,1*IJ\257A\313E*\3236iQA\242\256\212\13\246\177\17\63"
+"sg\356\3149\263\324y\234\357\345\314\375\227o\376s\3569\377\377\237\1\\"
+"\270p\341\302\305\377#,\322\313\325y\34r\215I\313\211\362Uu\t\211k\360"
+"V\77\365\374\\\31/\204l=\21\21\225ep\226\300\31Yv\37\0,O\363\b \233<;\2"
+"\0\232;I\0Yj:\0\240\375\267\210i\246&\2\300@C\253\200\345\367\\\356!\42"
+"z;\303# \262\211\343\243\0\340\305w\22\20\331\334&\42\242\226\331\203 "
+" \262\214x\0({\335/\200\314\223\25\1\240\363\366\200\210\355\237\\AD}g"
+"\42\370I\300\1\231w,\200\256g\177\204\220e&\2}\305\345$\202,,;\6\b<\r@"
+"\4\331\260\3448\340N\215\230\34\233\350#jZ`\32\273}\262\351#\201\272O\202"
+"\222\377\356_\364~&\304D\346MN\240/\337\4\225%\317#\252_\342\21\24\331"
+"\274\321\250\365\231\247\213p\333K61PP\332m\21\274\355YN\245\2266a\245"
+"<:\302mg\\\0\310,!\242\306\\\256~Eu\267\77\317f\203\322B\22J8\6~\42\42"
+"\352\217\265\301UJA\\`\32\274T\324\321VT\203H\213\30\206\305bUm\2255BK"
+"\331\26\6Y\201\372x\326\234L\227e\206\262\272d\3651\337\224\354\256\356"
+"w%\203\354\211\346\371\264\311\202\345R(\374\314\334\246\2650!\323q=g["
+"-\323\230L\342r]\13\241\372\222\303m\373T\243+\334\373\207\226\352\200"
+"\351\6\272o9\317\17*\325Z\253\355xT\261\344d\376\254 U\271\215sR&\333\256"
+"g\253\337)\\{l\235`\331\270\230\335\346(\\6\323\301A\311\272\201\251<-"
+"s\345\333LS1f\377\200\254\273a;\351\231\220M\263\336\322:|\3279h\316\346"
+"Ni\330o\237\354\307\77\5\315A\25\67\62\371v\373\312\1Y$\267\245\332,\r"
+"\247\214>\261E\17o\256`\221\r\347\276\346\ro\226[\211\210\250\332\321\302"
+"\3604\251\262\242\210\347\362\221KfL\254\225\334\354\220\42\311\257s\323"
+"\2661\263.\342.\314\6i\2500j\206H\257\331\305\317\275\6\315W}\355\fF\26"
+"%\r\35\206\3\250<\364\32*\3018\0\300@\227\221\214\327v\7\313\332E\275f"
+"\2374\234d\355\31)\346B\275|\25\267p\310\362\24\306\246\355\221\206t\275"
+"\313\272`\346\324)\366\312c\23\377h6\330]\3774Y|\304\3019\77\307!\13W\304"
+"\361fd\333B\204y\234\312\355U\244\354\234\215\317\f\247\35\2322:\2371G"
+"\242\205l\262c\262\372\260*:\257\255\311\232}\266)(\344]\330\247(\6\312"
+"\315yD_h\337q\\\261|\254\312fY\366,\333\1`\324\3\322\343\22\0\340\204F"
+"R\313=\267~\325\350]\3\61\361\265.\3647\77\t\257!\247(4\271o:\375*\26H"
+"0\271VW:$K0\375\244\302\236\314\333z\266|\251\371\253\356\261|6\2WYr\313"
+"\216\204\341\223\4\0uF\371j\313U\210\322\273(\305\242Y\'o\264\365\t\243"
+"U\353R\243\336(ni\345\35sl\376E\253\332\24\227C!\362\t\276`\264IN\276k"
+"$\246x;\233\332\31\2130>\256\367\207\210\217\307.\\\270p\341\302\205)\376"
+"\2\331\337\20\2\200tQ\257\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0F\0\0\0x\b\0\0\0\0j5\333\205\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3\20IDATx\332\355\230MHTQ\24\307\317\204\214\fE\23C\320\7\21}\241"
+"\245\r9\5\25}\310\30E\4\225\240\213)jQ\204\210`\213>6\271p\223Q\32\205"
+"\213(\202\42\b\225\26.\264B2\42b2$\243\24\301$\310ED\343,\372\30\222\42"
+"f\212\333\306y\347\336\367\356=\357\336\321U\335\377\352\275s\316\373\335"
+"\363\336}\367\334\363\36\200\225\225\225\225\225\225\325\277\254%\215\367"
+"\323\2141\306\306/\227\25\312\330\237d\202.\25\300\250x\303\274j7\204\254"
+"\3122\2716\230PZ\231R\r\372\224\347\214P\275.\345\35#\265F\217\362V\270"
+"\350k\2\0b\379KN\213\362T\240\354\236\266\336\346l1\rJ\33\17y\210\366\36"
+"\264v\371S\266\362\224\263\274\7\315\177\3741<%!x\352\320\341K\271\312"
+"Qj\224#\230$S\17\5c\356a\350\35\320\300\4\24\311\0\21!\271z\216\224\322"
+"\215\207kgP\2440\355\1\2573\252\373l\27210\344\365\336t\234\243\272\311"
+"<\42\275M$\245\3\3\203^o#z\27h&\323O\277Q$\245\205|2\223\350=T\3704\275"
+"\320Mf\'\306\225z\234i\216RKb\206\324\303\235\340\227\375\244\356l_\21"
+"\354\221&\261\22\7IJ\r\6V\3\314\77\65\244\250\347\325t2c\30\271m\351y\345"
+"\256pR{9=\330tFIq\77\336\42\327\371\1<\354J\227\253v\236r\277\265=\350"
+"\f\370\36\340\2344\223\201e&%\42\1P,\201|^\241QhJ\305\227f\235\27s\\z\235"
+"\253\372a\371\356\7\0\30\17t\272/\330\253S\366r\316\250{\362&\367\3\252"
+"4\252\236\234\261\354\223\3001\331q\263\202=\316\214\32\211\33\312\346"
+"\216\347\264\351\337S\205\333\365\213\343\24\27\362h\274\371\f\322\224"
+"\315N\340O\272\bG\310\367\346(\356E\22\f7\323w\311l\246\234\3416\312\334"
+"\3174\'\335\',\350\355\4e7\25\361\231\200\354\204\344\366\275:\354\f\326"
+"\'\178\346\4\244\210l\366\341n$\307\364\340w\21\201\301\232\226\222c2\312"
+"\33\3411\35\316Q\330\264!\3421O\234\243\35\246\30\276\263\13g\364[\302"
+"\200:\233\251\324\354|\227\326:\23zD\352/\321{\215C\23\371\250\21\237\316"
+"\207\356\372\256\323\243a2\27H\314.\345\242\1\0\250D\314j\22\63\317\211"
+"\33\236A\327\307\357\275Q\242\37f\315>\230\252/\362\255\1\0\32L\366\230"
+"\366\337\371\3201\321\321\314QZ\374\27G\37Fo\341\354#f\33\36\314\355\305"
+"\360\344z\311\267\36cqzMM\227\222\316*\356\254\367\365\217\225\7\227\13"
+"\1\267\352\264\226D4E\376\13x\251\273\264\26o\177\245\246<6Y\244\247g\341"
+"\77\t\0@X\372\263\344\232y\325\210\r\273\30\311xa\345gak&\217\370p\261"
+"D\273\210\312T\264(\224\373\366\335\376i\264\262\262\262\372\177\364\27"
+"\371\254U\261\300K\375\316\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0L\0\0\0x\b\0\0\0\0}\27KL\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\3]IDATx\332\355X[H\26A\24>j\32HbV\370\7jDPQAI\27\264\42\213\302B*"
+"\312.\17](\265|\b\353\241\250\36\242\240\13\31\201&\364\330\315^L\37*\b"
+"\362BH\206dE\5]$#\13\254@\b{\210\264$\303<=\354\277gfw\317\77;\273\277"
+"D\17\363\275\354\314\271|sf\347\377\317\234\263\0\6\6\6\6\6\6\6\6\377\t"
+"\246T\275GD\354\252\232\23\67U\322\3\24\250\214\217k):q8\16\256\215\350"
+"\306\307\320\\\33\220AH\256|\216\13\237\204#C\36\233\303p5\331\336\327"
+"\247\'\257\217s\243\31\266o\1\0\0\364\13\262\362\340d\307\242\256+\275"
+"\233\16N\326a96\330\363\275\202,+0\331w\313q*s\36g\303\236\245\20\234#"
+"\262\17\201\311\376\270\311\262\342xi\275\36\77\236,Q\207\354\255\346\242"
+"Zd\35\326c\365\250\2205[\217\235~v\tz\307\3516F\226@+2xe=f\216J\362/\265"
+"N\356\252\317i\272\267\271v\305\254\354\310\204\224\376\347u\327T\373D"
+"\215\367T/\247\227\32y\237\226h\227:2\31\253\\\251\257W\250\266\270\\}"
+"\311\312<\211\364\265\347\'\277_\223l\37\223\226KI[\345\360M%\213o,W\t"
+"\252\357\237\250\240\5\0\0\n\311\240I\347}E\221C\6\307\345;\344\2\31\34"
+"e\270\322H\373\370P\225Dv@\230\fEE\311\0\360\205\f\26\60d\357le\36\0L\26"
+"d\265\302dQT\324\t\220\255|\377\224\324S\0\0\240\226l\233%\243KQ\331\243"
+"m\215J2[\225jM\213\311\366\236\317M\334\345MA\366\355\2277h=\305y\17\310"
+"\266y\336(n{E\335\3262\347\355\371VZ\371\242\303\256\306\23Y~\254]\376"
+"\246\371)2\256p\32~R\327AR>+\240\3212\32\275pZ\317\320HW\317\20\21Oso\332"
+"\235;\347;\3\353c\310\226\364 \36\361\275\310\0\0`\223\203\254\215\215"
+"m\232<\311$\343_^\313\2232\331S\377]\357&\343\33\214vH\353\0D\375J\243"
+";\214\266<\346\304\247\346Lg\264\21\307[\313\325\'c\333\24\347\201f\250"
+"\2679\211F\303\34Y\241\357\37J\306\16Z\265\236S\277q\375\t&*#+\242\321"
+"]\216l\266k\236\256\214\354+-\32a\264\25\256\300\356\253\13\27\365m-\37"
+"J\367\310\217\3263\203\341\17S\272xn\351\224T\3041\222\244\f,!P\261\327"
+"\343\25\255\21\303u:\345\323XU\323\206\252\34\300D6\206F^{)\361\346\352"
+"\4\6\343h\361vE`-zU\242\330f\247[\325\30\274\227 \207!\227b\256\340\332"
+"\36\274\353\215\251\320\357\230\204Of\254[3pC\210\210Wd\261T\255\24\353"
+"\223U\362\21\bi]\200\242_\324jxSH[C~\34\351c6\324F\242\341`\375\310b)]"
+"\225Y\227\20jq\261\r\306\347\34i\322\360s\341<)\352H\320V)\rc\341a\210"
+"\306\253$\6Wu\2506\356 \313\265|\364>KUCx\234pR]\216\263e-j\267\231^\356"
+"\321r\360\353\321\307g$\16\364\231\357\300\6\6\6\6\6\377\24\177\1*\344"
+"4\212\24s4\273\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"@\0\0\0x\b\0\0\0\0g+\253\302\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\t"
+"IDATx\332\355\230M(DQ\24\307/\232\24\206\242\210\331X\330\331\240,|-dA"
+"Q\26$\33\13)\221(\37\13\262\263\260\260\260P4E)[SH\303F\362\2610\261P#"
+"\26\262b\201\225\30J\371\370[\314\274w\357}\367\336\361<\315\356\374W\367"
+"\236\3779\2779\357\335\327{\367\16c$\22\211D\42\221\222h\350\6\0\260\22"
+"P\255\326c\0\300n}\222\362\t\330\2128\254Zn\241\314T\37\201(\251\211i\311"
+"\352\325\327_@\226\237[S\16\253GW\37\204S\266U\257X\245j}\271\222\204\220"
+"\345\251\26T\200&\t\305qkYcM9\353\333t\200k3[i\341[\233U\250\2779\0\60"
+",\327\27i\223\260ml\300\331\302\274\35\277j\257\23~2\215\261A>\33\250\36"
+"\347\223l\t\360j\205;\345\13\232e\354\315\32/2\306\30\333\261\246\375\332"
+"5\250M\314\357\254@\367\2145\32KX\241\304|]\7\230T\2106i\316\266\276\342"
+"\201K\35\200\7J\34\267\354\236[M\t\264\6\260 D\326e@\225\222\34\325\0*"
+"\204H\231y\3216\1\0k\22`_]Z\251~^t\232\1\0\355Rv\r\0\fJ\241\r\21P)YG\0"
+"\316\35\217r\307ItD\216t\231\37\273\314\340\305j\376\257\257G\237P\177"
+"kNK7:\37\3028\344\5\300\204\367j\330\23`\217\17\17=\1\316\370\360\323\23"
+"\340\332\325\247(\t\340\361\277\237\271\f{\25\337\275u\360e\217<\2t(\217"
+"\0\374\27\300\b@\0\2\20\200\0\4 \200\274\343\363\306.Lv\310s\323A\223\273"
+"}\214\331:\310\342g\272\243\77\367\357\357{\26\367\312\341\306\277\225"
+"\217\275\252\307\274\323\6\367\365K\372\223b\213\333\372\2\303Qs+%\17R"
+"J.\201\261\321g\265<\242\277\211i&F\240 7\'/7\333\207\367\330K,\366\362"
+"\360D\177q\221H$R\352\365\3\37\3\60\16\243\2761 \0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0M\0\0\0x\b\0\0\0\0\222\325 r\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\3\7IDATx\332\355\230KHTQ\30\307\37736)\276"
+"\2M{H$\244T\264\251\26A\242\213\220PH0\261\302E\21\21HC\24$BI\213\300E"
+"DPDT\30\6A\313\24\354\201\265\221(]4T \370\240\24#\260H{\212\363\220ql"
+"\346\337b\356\373\21\346=I\213\363\337\314w\276\357\234\337\367\335;\347"
+"\236{\316\5\244\244\244\244\376K\371\275\2\62\64+\257\246*\234\25\21T\327"
+"\326\13\234\373\20\334 \6\226{\42I2q\324/\204V\364\236$S\367\213\204\334"
+"\370\215\77\1\300\267%C\b-\231\r\0\210\212\241M\316\3\0\276}\21B+\210\3"
+"\300\302L\256\20Z,\226\2\20\b\315\t\241MM\373\1\204s\22Bh\31\263\0\20\33"
+"\20\363h\256H\304\0d\373\305\320\342\237R\0\6G\214\261\223\23$\311;%\366"
+"a\373\6H\222O+]\260\207I\262o\265\356h\245\246\220\245o\205\36b\231#\355"
+"\340g\222\355\372\4\t\321(Sy\347M\241cN\264\275\23d\374\232Om\16\323\254"
+"<\275g\233%t\304\201V:F~\255W\37\254\16Z\245u\254\264\205J\355\264\362"
+"7$k\225\3066\333\bv\253\35\355!\332\27o\306\210\321)\2451b\317\326\270"
+".\375\333\351p]m6Of\179\250\254nu\16\3719\356Z\232^\234V[\342;\360Nq\77"
+"r\372\233\312\213\1\240\303qB\234\262:rn\314\247:\323\3545\216\371\371"
+"\330\2654\2558\255\266\330\217\371\350X&\0\340\254\226\342\355\376\312"
+"\333Z\243\316\7\4\365\364\301]\255\206Z\254\3055\'\330\220\236nQ5\343\1"
+"\0@Jm^\4b\252}\23\0\360Dm6[iM3W\326\232ot\205\22\371\250:\232\332U\253"
+"E\tu+\355.+\255\341\322f\277\211v\16\326)\246a/k\241d\3321j\245\255\334"
+"\224e\36\254\207\326[\356\371\224\36\252V\362Xi>\277\271\224\353\206X\227"
+"\231\266\323\20J{\206\334\327\274t\207\355\6O\231\313\223\4\340\1I\362"
+"\236;\355\231m\210y\232]5FjH\222\365\356\264\335$\31\64\271z\214\264\35"
+"\246P\77\311\301\77-\357\215/\207N\233=\207\334.\24\310\354\30\276[\360"
+"w\257\217\200\1\66\351y;\271`\260\273\275oN\r/\232^\357\264>\335|\341\235"
+"\366Z7\177y\247\215\13\335\324{\333\327\331N\2\332\4\211\13\250-\251Y\42"
+"hN\\\21\64\376\313\243\225\244I\232\244I\232\244I\232\244I\332\262\321"
+"\2\2\262\26\273\35>\226T[\365\342v\240\213\244=\317\326\314T\277\267\313"
+"\314;>k<g\365\356\361\300j\211\332\277X\274\252Z\42\354\226\363\27\220"
+"\332%\301\n]\276\247<\374\367\263w\231\257\2483kg\205\234\377\5\337\242"
+"\200%\205\371\271\253\362s\2\214G\302\221Hxz\6RRRRRR\313\255\337|I\31\f"
+"\254\251\301\23\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"@\0\0\0x\b\0\0\0\0g+\253\302\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\232"
+"IDATx\332\355\230\77hSA\34\307\177Q\212\3206U\fD\264\213C\241\203\bV\310"
+"`m\207\222A!\226\16\212\350\340\20\4\261\210\202\215\203\305\315\301\301"
+"\241\203`)(\b.\16\rU)\325E\345\331\f\2068\24\32t(.U\212\232%I\23!\20{_"
+"\207\344\275w\377^\362\362J\300\341~\313\335\375\276\277\337\347]\356."
+"\367\356\36\2211c\377\203\205\364\356\370\361\3\245\374{\336\23\216\366"
+"S\265P\361\211MfJ(e\222\234\'\222\264\312e+\31\361\227\37\337\4\0l\306"
+"\335\347\247\266\30cl+\25\366\5XF\303\226\35O\42\307\30c\214\345\22r\354"
+"\36\35`\\*\211\206\207\305\262\r@\265\336^\261l\3\310H%Q\241 \226\35\17"
+"bl\251\306\30c\265\245X\320i\234\264\212\365z\321\232\f\276\220b\227Gh"
+"\355\305g\363\3273\346\307n|\3\0<\35T\245D\6\0\360v\254E\372\358\226\225"
+"\244QW\302\220W~\26\274\t\235\270\'HI}~\36\242q\273\327\254$]\321\345/"
+"@6G\32S\244\243j\3761%\bi[S%\250\0M\20\16\67\244\'\32iV\316\77\247\3lx"
+"\263\225.0mTT\778\0pS\314\77\244\rj\274\30\364\222\324\2059\307\377u\352"
+"4\367\310\20\321\264\333\272\36K\271\215>\1P\265\335\27\304\37\364\200"
+"\350\217]\177LDDo\354\3465\355\34\2146\333\77l\307\245\373vm\246)\245\233"
+"\355E\35\340\256BtH\17\35i\247\341\370\242\3\270\216#\322\220\375\344\266"
+"\374&Z\3x\304y\26E\300I%x]\38\301y\206\274\'\355\25\0\340\271\0\370\240"
+"N\255\220\77\307+g\0\0SB\364)\0\230\26\\/y\300\210 \255\2X\223\226\362"
+"\371O\353\267D\317E\357e\267o!\377\354`\333\355\261\207\313\377\356\35"
+"\346}B\251s\365t\20\0q\373\352J \300;\267\3721\20\200;L\374\r\4\330\360"
+"\365*j\1\370\275\333\327\334^g\26k\301z\260\343\324\2\2t\250\200\0\354"
+"\26@\6`\0\6`\0\6`\0\6 \236\370\202\261\243\255.y~z\20\367w\216\361\226"
+",\367\263\27[\355\270\377\341\253e\376\254\2742\321Y\372LU\275\346\345"
+"\306\375\347\317\353o\212g\375\346G<\256\232\257\273\262\220\272\362\23"
+"\210n\227\325\364\254~\20C^\214\301\310@\377\376\201\276\36\324*\333\225"
+"\312\366\257\242\371\304e\314\2301c\335\267\177\31d\204{\334\276\2021\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0"
+"\0d\234\245\352\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\267IDATx\332\355"
+"\230MHTQ\24\307\3773\216\251\244L\240\213J\203\276\247\260\26\31DEA\324"
+"*\204\26\321\246]\265\212Z\4m\303E\202\20\206a-\nt\33-\304\332\211\313"
+"\204\202\26-\204\n\205\354C\206qF\251\311\32\373\320a\354\266p<\367\314"
+"\274\363\356\273\357\325\242\342\236\325\345\234\373{\347\377\356\347y"
+"\17p\346\314\2313g\316\376]\213\231\202;\216al*\362\243\7\226\226\6\242"
+"\13\233Tj\322\330!n\n6\0\r\321\351x@\334\34\255\1j\242\323\261\20091\323"
+"%\240\24\235\16\64#\235\0\22N\271S\376\37(7*\253\3ZFPx\377|t1\344c\33\257"
+"\315)m\13W\302\260]\312c=\266l\237\22\355\234\25\374S\371\330\270\305]"
+"\242\f\17n\311\7\314\330\7\223\254\217Mf\331\375\225bgc\250\77\376\200"
+"9\214\360.\216\26\224J\257\270\37\221\357\261\211\346p{V\251l\331\177\233"
+"\274\7\374\341\273\fnF\232r\3\237\202\265\2672\370\20*\350\335\248\354"
+"G\177\326\360-\0L9{\247i\37\270\263jlyn\334\f\222\316\340\215\0\60\315"
+"\23\355\243\330)q\265t\260\232#\13\0\265@-\271\3642=#\246~V\275&rJ\345"
+"`\373\342\32\276\272\342\230QjF\nK\360YO8\243T\306\226~C\321\373\b\237"
+"[G\333li=\346\'u\277\214\336\351\312\362D\276H\255A\353\252G\22\266\27"
+"\222\362\30\305K\306\333\340%$\345\7\2515\21\241^;M\255\247\336\236\353"
+"I\330+\210\312\177P\207No\356u\344z\7Qy=\265F\274t\35\271\346E\345\27\214"
+"3\246\7\240(\216A\257\320\322\220tQ3\345\211f\362\336\20\350\257\360\276"
+"\3S\316\2760\346\5z\216\\II\370yju\233\327\232>D\364\16\35\16\272L\204"
+"8\315\3676\35|!\323c\6\232\35\227)\231>A\35\266T+g\325\300D\340&\33\256"
+"\312\275\207\245n\364\243{<\322\3134\203\373,v\370\223\n\345\312\377\366"
+"\346;\364\322j\343\310=\275Z\266r\42e\332\317i}\340w\224\225\177\347\231"
+"\357\230\253\36\236\347\341\370\342\365\265\25\321\345\204\231n*\30OPe"
+"\256r\27\342E\1778\245\202\217\326A\277R/iu2\357\234\222\330\313\326%\356"
+"\321\327U\350\350\376P\345uk\377\267U\362m\367\346(u\377\232\266\355\263"
+"\25\267`\250o\203b\6\313\277\365M\24\342\16\375\343\177\16\340\224;\345"
+"Ny\0\235\7\362\321\377\34\fm\302P\364\277\261\311\r\310}\301_j\277\0{#"
+"0\322Pn\23\4\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0"
+"\0\0x\b\0\0\0\0}\27KL\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3HIDATx\332"
+"\355X]HTA\24>{\325]\251,\323\212\bZl\313\202 \332\227B\202\312@\302 $\372"
+"\201\212@\242%\352\255|\251 \n\214\242\37\202Z\241\210\350\27\251\207\360"
+"\245\77\254H\362!\265\227\20\61\303\n\263-e!\n\374A\334v\335\323\303\314"
+"\375\231{\317\334{w\255\267\371^f\366;\347|w\356\314\2319w\26@AAAAAAAA"
+"AAAA\301\13\1\275\23\251\212\206\27`\20!\35\230\300\20\206\262\1\324R\1"
+"(\bf0\243M\5\300`l\235\337\303\35]\3\66\321h\374[&\213\371`j(\36\25\265"
+"\42\361Q\314\33c\361\bS\321XSU[\222\377T\315\252\255\22\304\302\225\323"
+"\231\370pX\20+\370\'\253\311\305NOK$\221\20\304\212\0\363\327\32o\355b"
+"\235BN` _\251l\262\345\366\200\220\264\b\220.\2\200_}\220\326\252\255\276"
+"\235)g\322\226\2556\314\355D\322Nb\22\21\277\327\0\0\210It\210\30L\213"
+"i\276F\230\'\20\247^\6\301\251\205\'\b\357N\213\235X\315,\244\13\66\377"
+"\1\0xl\13l#\304\336X\372MNs&\33c\235\32\333\300\272\311|B\311\320\30b1"
+"}UE\274\243Wp\213\305e\245t\235\357\13R_7\312\374V\230Nwe>\213\254R\247"
+"\\\323\353\231\313{2|6\245vx%\353\5\335S\222\356k\f\251\347>R\377\t\367"
+"\335E\233\373t\255c\2766\22w\276C\32\313u\255z\177\273\362\f\363\356\'"
+"\215M\\\353\260\317->\323m\5\270\355\201\357\3\303E,\352\261\324N\374\260"
+"\5h\246\351\bkN\372\27\33\312k\320\22\264KG\266\2145\357s\20\13\322\5\5"
+"\0\366\261\346*Q\27\33_=\334J\211\315\223>\246W\366\226\373\21\21\361m"
+"N\23#\263,\341\206FY\310\27\251\230\363`m\223\236\16\25\214o\246R\3\0\0"
+"\234\'\353&\351\304\354fM\253\323R\302\36sT\366\372\304\310\22\214\237"
+"\341\34Y\2105c\216\r\250wR\216J\260\230\325\242\t\247\230&;|\365\316M\273"
+"\205\27\301+T\316\26017\330\371:i\341\340|\5\221\264\223\254Yj\17\331i"
+"\234\2346\303q\336\16\312\267f\277\337\371\217p\372|\16\373\374\272D\254"
+"P\247\347\270\211\35\20\310zI\345.\326Y\372\314\206\1\42\350\240\245\214"
+"\256\'\336\21\261\232\26\273\310\315\347L\352\206\265&[\362l\257A\216H"
+"\22j\225\356\260\201\23\363\323\342w\307%\335\363\265\311\255\3658i\21"
+"c\0\0\13_8.\17\267\0\0\340\262\205\351\222\356\333n\323\251\257\237\276"
+"\213$z\304\337\362Cx{\316\367\234\6\331\255\216}%\347\204\221Ri\r\240\277"
+"8\335P\352f,\247_\346\303G\232\257u\177\324S*f\17\300=\212\367\374\42!"
+"b\302\0\0=N~\233\347,\204\354!z\261\30\266\361\2374\77\223\232\264\206"
+"t\3145\370G\302\325w\235\317%\252\373\251\207\234\25\370\345\306\265\244"
+"9\354\371\357\201\5e\25\305\343\203\243\304$T\316N\r%\325\77.\n\n\n\n\n"
+"\377\33\177\1\364\364p\222\235\223\35$\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\4qIDATx\332\355W]l\24U\24>\335\326\240\33\6\fE\353\16"
+"\65!\333\320\20\202\17\324l(\325\326\b\250\17\215$J\32P\300DI!\221\220"
+"\222\220\220\24\360\31\2421$> \17b156\305\330*\232`\212\264\245@I\13\4"
+"M(\222\32S\213lY\246]\227\355t\273\313n\357\275>\314\334\231\271\77\323"
+"\35\247\217\316\367\262\263\367\234\371\356\271\347\236\363\335;\0\1\2"
+"\4\b\20 @\200\0\1\2\4\b\20 \200\23%\302H\264v\333\232\362R\202H\366\341"
+"@\307u\377\314\312\376\3139b\2\317\364\277\351\233\350\203\333y\342@\241"
+"+&uk\372z\360\347\303\25\363\5\364M\32\23\6\251=2\277\323Z\1\317\245{V"
+"\272\22\325\f\314\21\16\370K\211\337\311\254\21\360Y\267\250^\273\212\211"
+"\200\363\242\337&\232\310L\223\234\350\370\77D\202_E\307\337-c\273\224"
+"\350\314\254\214\210\214\13\216\333\221e\374CF\264\217%\262\3269\305;\226"
+"\366\330^\2232\246\233\216\34\341\373\337}E\377&y\307\312G\266\343#\31"
+"S\316f\312\265o\200\235\310-\2467\34\373\233r\32\312\314\337d\204\216\244"
+"\216\177\212d]d\342\345\220\375\214\234\6:~\216\16L\236\370\309|xF%\346"
+"\30I\312\246R\215D\241\321f\0\0x\17\273\244\242Js\354\313\217\322\250\253"
+"Ok$7\321f\366\331Qi*\0\340]G\232\360\36y\2\324\2655kU\372g\220z\'8\257"
+"\23\216\220\362\261\342\222\20\263\352\375\32g\3108\230\206A\226q\26\353"
+"\226\232\17\244\217\31\77u1\354\330\271V\17\62u\211N\253W\331\305]\271"
+"\355\36r\366\301O\36\210\242IK\n\24:\266\341\223q\206\207Ls/\225\311\230"
+"j\237\246O\3\272!\355u\257\256|\212-\255\354[^4\370\7\253q\326\3\0\34\33"
+"\313\13\32\61s\310\223\232\247\250\377-\25\324\335\232LmNz\42\332du\363"
+"\301\350\3011,#\312V\no\311\362TG3\222W:^,\225N\246=\360\24\323\20\235"
+"9\243\23\27\364\201\227\230\242\253\350S\330m.rY\34\223\324x\355\22\67"
+"\2Kk\310]OL\215\362\324\240\211\316\21K\230\206<\255n\235l9\361\263\275"
+"wgoY\252\257y\311\267\232\21\362\213\265\335*\0\64\26\350\200\227\336\5"
+"\245\205/ \24\77f\230>\267\252i\275\7\242\362\367\37s\361\304\77\213\232"
+"\266\77\255\203Y\365\20Q\27\333\360d\272{3\265UX\213\373\2508Q\305(\273"
+"\264\302\305\35\226\254\300j:\t.\256\272[\22\f\21\272\275}\231\363.C\215"
+"\271\242D\315q& \375@%SYo\323\230\322\305\2106\2170D\17\2529\373.2/\223"
+"]\343\312\336\325LI\267\214\362ENh\231\26ajh`:\347\336\25\336\365\211\371"
+"\227dwK]9c8\77\301\273Z\213*Ut\345\331\3050\243\351r\246ULH\370\2520\351"
+"41\25pq\32\b`\24\277q\256W*x]L\276\23U\202C\25\1773\306\367[#\262<1\253"
+"!\375b\267ky\376Ke\305\2071\31\323\240sK\246\277\327\5&]\24Ju\243\364\340"
+"\235\261\343\236\353Tdg\216x\354\375\42\335\306o\3556\271P#\365hG<\323"
+"\260\\\342F\314\306\312t\276\344R3W\n\34\223\313W[u\333$Ah\252\267%\352"
+"Z~\247\246X\261\30r\371RT\227\257X\224\371;\365p\276;\332;[+\26\341\22"
+"Rb\274x#\6\13\305\260\220\247\220O&\314\374,\204\251DH\216_\2462\341\270"
+"\364\313\24\22^\367\313\264\204S\32\227{\246\34\341g\226Bzr\26\0\0\42\346"
+"\211w\307O\24\341\306\356d\262\273\321\270\t5\233\225\331\344\207\251\376"
+"\22&\204\374V\17\0\20\276`\36\353\21\77L\255\263\204\20\202\332\0 \264"
+"\303\370\316\'w\300O\236\236{\22\0 \364\372\363\321\206\255/\30\33\345"
+"l\273\377\300\2244\252P\35\267\253Q\357\7\77Up\23\361eMz{|U\320\362\4/"
+"s\211z\237\305\370\5wE{\274\317\257\220l\34c\2102G|KRx\257}\227\301\331"
+"\276W\26\240n\341\372\216$A\30\347\376:\263%\2\377/\374\13\345B\221s4\355"
+">\274\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b"
+"\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\262IDATx\332"
+"\355W]H\24Q\24\276\352\206$n\205F\342\264\17\262\342\17\341\213\206\370"
+"S,\204F\17RP!\332/\224h\17\21\6BP\324\263b\204\320\203I`&F\242\221\225"
+"\25\226\341O\376\225I\330\203\222\30!\232\353\317\350\266\356\216\353n"
+"\273\316\334\36v\357\314\2753w\334\301\336\342~/;{\3167\337=\367\334s\316"
+"\314\0\300\300\300\300\300\300\300\300\300\300\300\300\300\300\200#Bc\261"
+"\346\226\34\210\217\202\42\364.\17\264\216m_\331|m\320\7C\220\326\373\217"
+"o[\350\362\204\37b\btdSi\305OF\336\335J\330*\240\247.\t\22pV\320x\215|"
+"@\332tu\'\351\ne\rlB\25\244G\24^\2757\30p\273^TG\207%\250A\227\226W\200"
+"\22\351)\246\13\325\374\206\24|\323\22\277\313\316\26\252\320\343\r\232"
+"\20\234\325\20KE\331\371\203&t\225\24\222\367\271\252&Fu+\254\25\232\322"
+"W,G\322\374\363f\364\327\241&Z\326\24\342\32M\311\247(\371Z\362\300yQ/"
+"\246c\330\371:q\207)\364\353HD\26g\315=\221\326E!\34\216T\256E\334\201"
+"\354\235\310\260RW+b\34\265\2429\33\2638hKq\301D\211\323\345\0\0\0.J:\251"
+"H\346\261syM\215:\265\221\207\276\205\246P\237\335\246\246\2\0p\26K\223"
+"TAO\0\227\221\225\301\241\77#\210\275\244b\325a!\371\263\303\217\204l\271"
+"\336\77\251\34\36L\351\13\240e\234D\346\356\320\5\354#\354\r=1\330\311"
+"\33540\246>\242e\205d\245\270-%s\42\336\7o\f\bY\35\362(0#[\336\335YB\7"
+"\272U7\231hJ\271{\320\325\200\20\34\355\371G\222v\222\245\345=id\6\277"
+"\222\33\'\7\0\0\252g\374\232\31\261~\303\3204w\42\3768\7\2702\2366m\352"
+"\r\t\25\310\335\\e\255\232\221hB^\213\346.Z\236\362QF\374\346\326\203Q"
+"\324\305\370EC1\215\242\225=\2\324A\37\60\22\2235\5]\305\350\255\5\7\265"
+"6J\215\347\356\322\23\220g\r\2342\244TDO\215\270\3206)\17\246QC\273\313"
+"\244m\307\336\336;\2651.O}\336H\2769\217&\277\22_\306\1\0\212\2\310`\244"
+"w\201\271R]@\242\275:\350z WS\216\1\241\370K\177T\361\330\357[C\276\237"
+"\362\203\2313\20Q\7\331\360\320\375\242\20\371\22\344\315\335\t/\2240M"
+"n-\320sN\36+ \35-\42\205\237\272\'\226\b!q\2424\16\177\227AN_X\241r;\21"
+"\220p\335BT\326)\24\223+\234P\341$!\264\230\252\362_\200[*)5n\276\222N"
+"\224t\345\264\272\310!*\3230J6\33\3219sCj\352\216\255\267\244tK~<\341\350"
+"ZPS\345ME\231\5\363\276X\260\316\13t\245\24\42$iX\263\250\33\206&`\254"
+"\13@ \371\307\232;\35T%\23\361\354X\321v\373,T^`\42@\244\311\226\22\367"
+"P\240\345\211\330\r\354\327v;\357W}\250$\226\330\250\31\37\301\217\304"
+"\375R\320(\t\232A\231\226FU\372\274\201\35\370\373\267\224\323\251\r\250"
+"\202\212\321\31\317\317\2246\371\220Ee\264\210\2521\241\367\2\65\31j,O"
+"\333!\235\232\31\n\340J\376\16\275VNmZ\201\242\270\332[i\325-\277\206U"
+"\245\307=\3447\33q\364\334\336\375\321\236_\316\345\255\336\321\316\234"
+"N\210\226\42\240\344\232\357\375\227\357H\6\6\6\6\206\377\27\177\1\366"
+"\342\315\341\344\351\371\32\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2\343IDATx\332\355\230KL\23Q\24\206O\37\324ZP\233\206\326"
+"\246*i0A\302KX\0\361\21\301\204D\203\13\321\r\276\202\221D\303\306\205"
+"\350\306\2355itA0DP\26(\306\5.L\\\330\272PKb\2Q\22\67(\351\6\214\212\250"
+"\241\242T\322\320Vi{\\\320\351\314mg:wf\22\27\315\375Ws\317\314w\37\347"
+"\234{\317\314\0\60\25\224\332\307^:\262m[.\275\270F\5\357\237D\304v\322"
+"f\356]B\374D\1\327\372\20\21\361\210\320f87\217\2108/\13\273\37&1\7\357"
+"\b\256\333\344\360\322\201\77\210\331x\313\33\316&\203W.\42\346\340WSH"
+"\211\17a.n\212\241$\256\'\233e\42]n5K\17\227\205\353D\36\321\1\65\256T"
+"y\360\337\42\266pV\333(\5\343\243)\221\36\257\347\237\214\237s\361\263"
+"F\336\235\234m\305c\5*\374y\2630\32\353\266\210\327&\353\n\77\42b`\37\31"
+"LD\304\310\315R\nO\16#\216\37\310\262\25G1\322\347\240\n\304\246\266r\221"
+"Ln).\330s\255{n\25i\225\f\r\233H\332\24EE\272B\342\333\224\3218Cn\31\203"
+"\302\265\326Tj\333\260\235\4\36S\212\237 \233\263\n\27\217\365\374\361"
+"\17\0\376\350\367\331\260\315D\77\374J \307d\271-\350\376\6Q\235\34u\'"
+"\7\277\nG\377(\322\245\361\233\4\16\0\0E\335\202\n\2005\271\236O\4\363"
+"\315w\355~\3558\337j\20\t\334\337\374\13^:\334\217\351\313\344\264\212"
+"\270\'.\357}\32\7\0\bu\315\310\236\264b\232:j\256p@\370]\2T\341\0\361\367"
+"\377\253\3120\274\200q\332\254s\37*\267\302\362k\77\312\277\32\210\354"
+"wo\372M\263\17T\340\226[\334\215\265\35\64\223\357\330)l\271v\227d\36\357"
+"\362R\214.\255\2406\317W\325k\13\334im\370)\275&\334\325\252-\353:\265"
+"\341\307\f\262q\217\23U\327\262A\330\262\357\231T\230u\266\326\376\b\177"
+"\323\243t\362\313\257z\253&2\255j\25k_8x~\42\16\0\200\237\237\250\330\260"
+"\220\34\31\1\253\16 \222P\263\337%\276/\330I\313pV\42\345Tw\241\331\6\360"
+"kn4@_\42y]Lp\345\316\251b\362=\3\334Ii\334L\3424\337\3=\203\231\77\31\241"
+"\17\4\256\257\226\205\33}w\371S\372qJ\350:\243\307%\315\25\225\224:+\32"
+"\332v\tm\243\334_\225\355g\334Fg\223]\231\23\3366\251\376\222BD<\313\375"
+"\323\261\377P\221/\77\313b\351\254\333\250&\335\356\305\264$m\352\216\246"
+"\234\367}\311\340I\25\370\220 \333\342\212\335\376\200\310\304\5\5\344"
+"\352\342\364\330q\35\60\61\61\61\61\61\311\353\37\300\327\367\34,!}\362"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0x\1\3\0"
+"\0\0[\3257\210\0\0\0\6PLTE\0\0\0\377\377\377\245\331\237\335\0\0\0\1bK"
+"GD\0\210\5\35H\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7t"
+"IME\7\323\b\20\24\r\b\230M%\254\0\0\0\375IDATx\234\345\3231n\305 \f\0P"
+"#\2442\346\b\\\243C%.V)T\35\3761z\224r\24\216\300\310\20\305\265\r\6\324"
+"\376\377\273t\370R\255\210\274H\304\200\343\0\374\267x^\306\227\37\343"
+"\253\214;r\234w\215-\276\333`5\230|w2\30-Fq\244\13\304\366\344G\330\305"
+"\2078$v\25{\266+\342-O;q\236\336\222\330\226i#\216\323\276\31x\276\207"
+"f\16\273\30\356\332\236\323\36\323\360\216E\375\206X\325\357\210\207\372"
+"\242\305\42\177\324\200\352\317\344\372\32\206\252fzR\303/\16S\302=w\227"
+"\305t\17\245;-\246|~u\375\335\333\352\343\357\355\36\3007\367y\253\16\352"
+"4l\305\255\266\216\353\337\352L\237\216\233\265\264)\342|\335!\317\371"
+"\322\350=V\313\317p\305\250x\2\243\215\b.\366#\2o2L\217>\344\235bV\323"
+"6\346R8R\322I\16x\354\370\2\342\256\6\23dY\336Q\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\3\67IDATx\332c`\30\5\243`\24\214\202Q0\n"
+"\206/`\304\'\311gf\250\245 )\310\312\300\300\360\353\353\227\367\37^\274"
+"x\374\360\316\243\177\304\233\241\36\344g\312\214E\374\373\325K\'\217^"
+"\373O\330y,\221G\377\343\3/\26\370\261\3427\201)\341\336\177\202\340e\253"
+"\b\36#L\316\375\'\n\274\17\303\351\215\326\77\377\211\4\377\274\260\33"
+"!~\350\77\361\240\35b+\232\21\32\333\25\60\214\375\366\346\303o\36n!.\234"
+".G\345\352\356\25E\25\370\271s\355\251[\220\24!\254ld\357.H0JU^\241\272"
+"\365s\7\232\221l\301\3730\375\202\2\204n\243\32\261C\26\213=f\253~\301"
+"\25\64b\246\373\35\250\241^\211#\21\213\246.\273\372\355\377\377\377\377"
+"\177\373b\310\225\240\30\361\'\2\257\267y\4\345\2581D5\276\243\270\42\236"
+"\234,\214\22Z\377[\3101\302\37\305\210\275\314\344\24$\27Q\42U\221\34g"
+"\370\2428\243\204\254\2m\17\262\21\367\331\3111B\345\37\262\31\251d9\243"
+"\16\331\210gld\231q\31\331\214&\262\214\220CI^\n\244if\202P\356\310b\'"
+"\36\220e\206-\262\330:\362\252\252\353\310~\321!\313\b\356\277\310\205"
+">#\39~QeB\16\216\377d\231\241\206,t\216\201,3\244\221\205n\220j\6\244\\"
+"\227D\26\212\264\370\211K\365\207\16\334&\315&\262Nz\210\307/\\\24\265"
+"a f\360S\301\f\6*\230\361\217\nf|\242\310\fH\334\276\307\20\377\377\201"
+"\341\307w\344\42[\200\201\201\201\27\237\31/\220D~\24^{\371\346\323o\222"
+"]\23\213\224\6\276\223\31\36\67\221D8x\310\13\25\36\344\274\257I\236;\276"
+" ;D\221\3144v\24I\210Lw0\354G\22\322\'3\231\210 \265Io\223\233\326\16 "
+"\5\252\f\231yn\5\222\230;\231\356\20\372\201p\3076r=\263\20a\306O\t2\315"
+"0D\n\220jr\35\202\3248}An\331h\216\324\212)%\327!\253\20f|\222!\323\f\205"
+"oHQCJ\235\213\254\266\244\33\251m\325\214G\223\206\215\276<\77\367\217"
+"\333\263\217aH1#\365%\377%\3412@\254\346&<\21\270`\361\315{\244&\177>\366"
+"\2145\1\311\307\377\77hc\252\360B\356\16.\26\300\220\347\254\376\210Zy"
+"\236\303R\77\25\243t\204\323P\233\272l\351\2171j`W,n\355BQ\361\274\335"
+"\nn\221~\3133,\265x\35\226\376>c_\1\252\300\227\353\327>}c\340S2\22\305"
+"\32>\323\263\260\2116\374#\241\203\373\37G\22\210\377N\202\31Q8R\200\321"
+"m\242\215\370\'\213\263\2519\355/\221f\254\300\223\232-\217\23e\304z\274"
+"\205\4c\310\5\202&\234\17 \230\33]\326\375\3047\22\63\335\222\2501%\241"
+"\0oglM\265\27\247\216\356;\367\217\270q)\6\6\6f\35S\35eE\21!V\6\6\206\237"
+"_\336\274~\366\370\356\255+/\311,\2418\30\31F\301(\30\5\243`\24\214\f\0"
+"\0\300qs!\237\331F\r\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0$\0\0\0x\b\0\0\0\0\277\'\17\310\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\0\342IDATx\332c`\30\5\243`\24\214\b\300\330\371\344\307\177L\360"
+"\361\202\35\222\42\343\3778\300\31\6\6\6\6\6&\6\6\6\6\6\t\\V\210\42)\42"
+"\0HP\364\17\227\364\177$E\27\177\342Pt\32\342y\b\307,F\202CE\23E\376\373"
+"\271\347\277\256O}\217\256\315\374\r\222\347\267\b\3400\274\36I\221\22"
+".\337]B\262\354\36.E\277\2602\251\37\230\243\212F\25\215*\32U4\252hT\21"
+"\212\42\66\254L4E\332\b&\247<\16S\365^#U\212k8\221\32 \f\f\f\f\f\\*!\342"
+"\234*f\314\310Z\336\37{\376\363\372\202\257\b\1\211\2578\232!K\221\334"
+"d\310\205\303\5VH\212\230\360{~@B\3745.id\t\306\211\357\260\5\300\277k"
+"\316\243M\331Q0\n\6\63\0\0\205b\240\r\324@x\7\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0$\0\0\0x\b\0\0\0\0\277\'\17\310\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\1\204IDATx\332c`\30\361\200\31JsJ\262\374"
+"@\227\343\221`B\26\343X\363\377\377\3777F(J\370\16\374\377\377\377\251"
+"\16\234\317\376\352\377\377\377\377\377\377wCV\363\r\42f\t\23\230\n\341"
+"\377\377\313\216Pt\0*\366\r\352 \346\3770\340\nW\303\13\27\323a``b``\340"
+"\206Ki\300YBp\226\34D\21\302\13\317\340\254\317p\326k(\275\7f\2640\302"
+"M\17ab0w\n\377\205\360;\221|\247\6U\223\204\260\367\351\377\377\377\377"
+"\3270\42\207\223\301\247\377\377\377\377Od```\200\2123j(\277\271\364\r"
+"-2td_\\\3769\232(i\2\30;\237\374\370\217\t>^\260CRd\374\37\78\303\300\300"
+"\0IO\f\f\22\270\254\20ERD\0\220\240\350\37.\351\377H\212.\342J6\247\31"
+"\220\22\235Y\214\4\207\212&\212\374\367s\317\177]\237\372\36]\233\371\33"
+"$\317o\21\300ax=\222\42%\\\276\273\204d\331=\\\212~aeR\77\60G\25\215*\32"
+"U4\252hT\321\250\42\24ElX\231h\212\264\21LNy\34\246\352\275F\252\24\327"
+"p\42\65@\30\30\30\30\30\270TB\3049U\314\230\221\265\274\77\366\374\347"
+"\365\5_\21\2\22_q4C\226\42\271\311\220\13\207\13\254\220\24\61\341\367"
+"\374\200\204\370k\\\322\310\22\214\23\337a\13\200\177\327\234G\233\262"
+"\243`\24\ff\0\0\42L\23\3732\276;\17\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2CIDATx\332\355\230OhSA\20\306\247\211$V-\324ZZD\250"
+"\r\232R\245=\24E!PO\202\202E\21/\366$\4\17\212=\210\24\254\36<y\251\5O"
+"z\362*\202\27A\21z*\202\201R$E,\251D\260j!\322\332h\233\364\217\211\222"
+"\372y\250d2\363vM\236\7\21\331\271dv\276\374^f\347e\367\315>\42g\316\234"
+"9\373\237\255\316\24\fuW\241\362o\315\3616T\261\247D\201\77M\365\357\203"
+"\233L\301\345a\42\332^\337\274g\257\272nnzn\261X JW\273\354\216\241\357"
+"\25%I\365\326\325\236\321\bs\245\335~\346\370\212\335\371Y\77`\216\335"
+"E_U\305\277s\37\35\350@\7:\320\201\16t\240\275\317\211\35\353l\312\247"
+"\36\277\364\211\367&\177\265$\243mJ9\301\355\312\224\227\33Z/\253\363\35"
+">\300\253\225\35\345t\310\6Nz\362,\211^\364\274\20\373YH\250\252\6\356"
+"\6E\344\254\255\203.*\260O\365\321=\262\313fwM\201q\225y\223\30\325\263"
+"\273$\301\320Q{\367FD\r\326^\256k\253\2Sb\324\310\356\234\4\243\272\310"
+"O\304\250\231\335\214\4[\24\367\371\236\30\356d\367\235\4U\246\353q9\307"
+"vv\337\310o^\24w\77{J\255\201bY\372\240\224,\21\21-\234\13\35\214\204\13"
+"\23\17\362R\356\16\227\335\27jN]\0\200;\226e3\310\311\\R\139\235\'\42\332"
+"l\1O\263;\252\265G\0\60c>Q\354\347\37Lz\3043\0\200\343F\360>\203\27\274"
+"\207\305\217\0\220\f\32\270\330\2172\367i\213W\36\0\0\f{\205\306\31ki\210"
+"\210(\234\2\0\\\323\361m\t\346\306M\t\321\241o\0\200\207\362\337\3279\305"
+"\334B\273\271\350\361\r9w\223\367\270]\267\2762\267z\330v\270\276|{\343"
+"\23\223\211\327\231\22\265\356;\22\253\310\355\313\311q\353\306\332\277"
+"b\77IOD~\267%w\214Y\260\354@\260\312n\336\367\334\200\245\2574\324\360"
+" \210^\37[\253\200\226\237\3358P\363\233\207@$\332\332\22 *,e\336\317\302"
+"\275\230q\346\314\2313\337\366\23(\345\324\376\356\373\307\214\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0d\0\0\0x\b\4\0\0\0\256"
+"\377\237\77\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0"
+"\13\22\1\322\335~\374\0\0\0\7tIME\7\323\b\20\24\'-\274\42=\303\0\0\1\362"
+"IDATx\234\355\234\313r\2030\20\4E*\377\377\313\344\220\302\30\254\307H"
+"\200\325\202\351s\f\333\354,\250d\234)\314\341\16L\77\275+8\13\213\320"
+"\260\b\r\213\320\260\b\r\213\320\260\b\r\213\320\260\b\r\213\320\260\b"
+"\r\213\320\370U\376\350\372\255\257\351\360\21n\323\21\213\320\220fd\233"
+"\340\370\304|\246<\77Y\307\247b\177\274\246I\336\177(UV\352\340gkt\332"
+"\304>]#4\317\210Z\312\25%\3079\245#\337+7\315m\356Z\26Y!\4\253Y\204\367"
+"\305\243\243E\243I\344=X\214\tyzG\2104\210\20\203\365\354\2160\251\26a"
+"\6\353\311\35\241r@\204\24\254j\21\336bq\301\321\242Q%B\275\365\206p\243"
+"\216H;\215gs\305\36d\205\310\267\202\245\356bn\351\322\221:\376\305J:\303"
+"\314\310\\\bd\223H\257;VNF\26\241<\323Sut\231\221|GK\227l\216~\368\354"
+"K\231i\241\230\212\30\255\36\317\364)s\246OI\370]KW\201\213\350\375\227"
+"D\230\213\305mO\360\35Q/\335\0\42\232\212 \302\fV\b\333\312\206\350\210"
+"\302 \42\345$T\211\260\202\265\245(BY,\306Y\253\33$Ze\236\42\302\275\365"
+"\356yJG\306!+\302\17\326Z\3253:2\22\31\21R\260\312\217\345\241;\362~y\207"
+"\20Q\226I\222H\357`\305\331V\225\24\341,\26\265J\360\321R_\201N\210P\372"
+"\241\277\311\r\3342]H_Ly\357\367\274~\304\217\24\337\206V\317\36\377\354"
+"\307K\376\352o\21\24\256\bh\242\222\351\325\221\374I\325\247\374\325\263"
+"\225>7xF\366\344S1\210H9\332x\21u:a\42\355\213\241\306\237&\341\360\377"
+"\327\302a\21\32\26\241a\21\32\26\241a\21\32\26\241a\21\32\26\241a\21\32"
+"\26\241q\33\221\778\252;\13}\300\201}\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0d\0\0\0x\b\0\0\0\0!\235\bh\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\3\bIDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`"
+"P\2\375\343\37\376c\202_/f\263\242),~\370\35\213\302\317\327\3\210\260"
+"d\303\177\34\300\33U\235\324\77\34\352\236\22\260\200\211\201\201A\16\227"
+"\244,*W\230\21\207:)\42,a\301%\311H\245\370`\242G\2443100|\305%\371\23"
+"\225\373\37\227\272\77DXr\34\207\334\2773\250\374\273\357p(<I\300\22F\6"
+"\6\6\316\f#v\t\3^\24\361;7\276\277[\275\27M\261V\242<\273\202.JL\375<\377"
+"\354\327\235\351\317\210\f7\256yHi\362\233\33n\205\272O\220\24\356\27!"
+"-vx~\42\364\316\302\2470\17\311\22\177\22S\327\227\373\b\321\253\370\264"
+"\\Ab\277%5\t\377\302\312\304\4\277\6o>\31\265d\324\222QKF-\31\265d\240"
+",\301\336\346\252H\306W\205\222l\tR\253\340\222.\351n\334\364\2\301\376"
+"\370\375\335\253Gw^\22\355\23\242\201\37\206\310\373\13\307\16\36\376\201"
+"S\303\245\377\324\2_\226{1\321\334\222\377\377\377\337Ic\243\275%\377\377"
+"_s\242C\22\326\334\323\307J\373|\302X\270\235\17_\352z\364\32_>Q\'\326"
+"\32\347mn\337p[\3221\35\217V\233\303X\363\t\213\200\230\212\4\232R\353"
+"E!\270#>\23\237\373l\220b\327\6UJ4`\36Z\37\67\235\372\226000\360\24\274"
+"F\266\344\2038-\42\376\313\4\255MH\\\376r\332\244\256\327\1\323\220x\251"
+"|\264I\302\377s\266 \5_\b\215\362\311\377\324O\bN\0\2552\343\13\244\256"
+"\232-3\255r\374\42\4S@\231V\226\\F\352\347i\320\254\354\272\215`J\323\314"
+"\222\367H\341E3K\220\206\36\370he\t\243&\35\332]\346\302H\255\30ZY\202"
+"\\\370\276\246\221%\42\310\243V\17(mwa\7\374\2075\220\363\fM|\302\271\16"
+"\331\216;\257ha\211\350\16\'d\356V\224\324\305Bd\343\225@\b\373]\260C\341"
+"/G\266\204M\36!\241\212\317\24|\222\214.{6\242\16\340\236D\36;dlD\252\231"
+"\337i\341\t\215kH\nW!5F\3715\203&\334\307hH\272B\273\16\214\36:\2\202\266"
+":\310&\375\334s\343\323\273]\267\320Sf\2742\233\2645/)\21\2642\2\312\250"
+"\307\321\232\375\252\204\252\201\365\1\311\r\342\333\202\260b\305\25\207"
+"+\270l\321\42C\236\3446\205\367{\230%|\270\324p\241r\231I\265\343\201\335"
+"-\232wL\267\231\335\240u\253\376Q\214\367k\244\234\205s\250\375\77\371"
+"V\\\237<\377\7J\366}l\210C\345cT\356\333\377\304\315u\374\277\266m-\306"
+"\360\275\311\331\77\330\222\337\247\205\350\323M\325/\361\'\330\317/\256"
+"\356\235W\356)\3120\nF\301(\30\5\243`\24\214\202Q0\n\206/\0\0\25I\363\320"
+"\27~\236\202\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0X\0"
+"\0\0x\1\3\0\0\0L\367\247A\0\0\0\6PLTE\0\0\0\377\377\377\245\331\237\335"
+"\0\0\0\1bKGD\0\210\5\35H\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374"
+"\0\0\0\7tIME\7\323\b\20\24\17\f\255\26\2037\0\0\0\272IDATx\234\355\321"
+"1\n\3030\f\5P\5C=\372\b\276I}\245\216\335\242\243\371(9\202G\17\241\256"
+"$+\261hi\310\336|\202\362\b\302\220o\200\177\313\303\314\347\327\2542\233"
+"d=\362\324\375\372\264k\3055Ljt\r|\353\346g\22\373\225\r\335U<#\273\210"
+"\23;,\342\230\207\2038\17G\24\373e\330\211a8uO\274\177\357\226\334\214"
+"\341\330\rw\373Vv\'-\205\255\77\317v\324\4\252\203q$g\365L\35-j\372\270"
+"\233\16\231\213\232\16O\233\351\35\67gc4\206\337\16\227O;V\323m\2677\16"
+"\334\177Z\373\n].\335j\225\25r:\266\335\277r2o\302V\344\31\327\240\264"
+"T\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0P\0\0\0x\1\3\0"
+"\0\0_ \347\265\0\0\0\6PLTE\0\0\0\377\377\377\245\331\237\335\0\0\0\1bK"
+"GD\0\210\5\35H\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7t"
+"IME\7\323\b\20\24\22\1,\313\223\226\0\0\0iIDATx\234c`\30\311@\376\377\377"
+"\177\f\f\365\377\377\177 \314d\260\377\17\322\362\377\17H\337\77\20\323"
+"\376\7\220\340\377\3f~\30e\2162\7\224)\17a\202\322\244\375\1770\0\n\360"
+"\377\207\2pR\306\317DR\13\2\377\301\311\35\f\354\377\300\231\362\77\340"
+"L\376\17p&;\22\363\1\66&3v\346\1J\231t\3\0\264M\350\2\272\t\200\325\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0G\0\0\0x\b\0\0\0\0"
+"\205\367\260\273\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\77IDATx\332\355"
+"XMHUA\24>W\215\247\226\317\322|\272\350G\213\242\20\61\262\220\42)\204"
+"L\13\264\324\2604\222~6\271q\323\256E\350\336UQ\24E\377*\246bV\226\20\21"
+"F\77\233\260$i\21\201\341O*\350\363\237\367\223\357\266\2207g\274sg\356"
+"\214\24\b\315\267:\367\2343\337\273\337\314\2343\363.\200\206\206\206\206"
+"\206\206\306\262E\312\243\276\361yS\204\271\221\316M\316<WM\t\334e\206"
+"EX\35\2512/\275\326\231g\211\370g<32\243&\234y\272dx\332\30O\224\325q\303"
+"\310u\'n\217\346R\374\370\31\34l{*\2516\356\n\265\310\343^\264\347\13\24"
+"\247m\22\307^\273\215\3667\305\351\217\t\342\330}\207\321\36V\344\311\301"
+"\241}\206k\2\237<j\373\347\0\232\r\246\277\35\237\366\252\361\344\241\371"
+"\0\240\25\237r\225d%\374&B\272\1 z\332q\242\355\337\247 \222\230\365\0"
+"\340{N\36\267mV\3419J\254P#\0@3\206\216(\310Z9Kt\274\261:^+\360\34\307"
+"u>\267\340i!\216`\202<O\23\31\345[\275\340)G\346S\3224\2613dPx\305\335"
+">\342j\222\346)\301\37/\r\373\332\211k\332\245.\313K\372G%r\347\253\313"
+"\272E\234k\2X\377\352\262\250*xA\234\203\206\34O#\216\240v\351yd\337-\'"
+"\13\213\251\216r\'a\311\325\252\312\332A\373_\21w\217\242\254\336E\376"
+"*\344O\223\351\250(\353\322\342\13\4\336\36\252%x\212Iv\310r\253\350R\252"
+"\325\6\222\375\316\22\251&\221@\202\212\254\13\226\320\272\20\tU(\310\n"
+"0\227\223\217\n\265ZOr\2371\261\213$6\345T\253\321S$\267\234\t\246\341"
+"\312\37\262\306,\265R\334B\314\257~\206(\223\334*\256W\311\312\22c\300"
+"\220\225\345\200]\302s\'\77N\266\327\25\nyJ\245{o\321\337\221e\232\251"
+"\202\367\221\227\305\b\213X\232,\372\350f\366\217k\324\35\66G\373\355\205"
+"\247\23\63\230\354\345\316\35\252\257\264\317X1b\n\366{\30\17\3618\216"
+"\347\244\324\231\316\265\352\302;\352\23^N:\362L\362j\265P\346\235\337"
+"cR\36\'\345>\376S\343\257\377Y\323\351\\\245d5\13\256X\230\325o8\311*\23"
+"\354\233\233\230\226\345 \313\'\332\326{L\361\271J]\332;\205\33\371;\311"
+"\373lW\27\7q\313t\by\36c{\334h\303s\2}o\205</\321<\306F=s\250[|\30\254"
+"2\27\335\365\255\177\3\251\326\222$\344\211\2442\255]\21*BT\364\214\220"
+"\'\233\312\34\332JO\365\206\354\313A\272\325\215\355\27\320$\177\242S\275"
+"\265\271Y\36\0\0#\245\246$\221I\356\356\235\352\271\23\260z\343Oo\211]"
+"\237\23\303\326\\\331\0@\17\257\1\3270\371\35\274\324{\0\21\31<\1;\331"
+"\246\301K\315\20}\2270\344{u\3242\374N2\312\213\2141\236Y^\352\20\0\24"
+"}\231\263[\202\341V\366\333\325\311_\266\253\345\377\220\251\77\7jhhhh"
+"\374\337\370\3\371\253\200qF\21\362\230\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0x\b\0\0\0\0`iu\327\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2`IDATx\332c`\30\5\243`\24\214\202Q0\20\200\221\4\265"
+"\274q\262\f\f\237w\234%\327\256\266\377\377\377\377\377\377\323\20Y\214"
+"\211d\267\262\265\220k\177\354\177\b\260#S\277\3T\377I\314@K\372\364\237"
+"\20\370\366\16\316\fE\327\336\365\237$p\233\25U\273\353\177\22A\16j\370"
+"\33\223\32\22\265|\344\304\37\2\210\225P\246\237\241H\22Y\377o\222\365"
+"s7\42\247)\275}\254\367\36\31\312\42\311_>\316\301\211E\333{\6\27%\b\353"
+"\217\316M49C\244\360]\317\202\313b\236\335P%\13\320eX\220\364\373\341v"
+"\271\320{\210\222\237\242h\341\367\7I\321;\334\372\3375Ch6H\244\263\220"
+"\34t}\357\334\231\31\30\30\36\36B\227@r\277\r\321\2461QX~\215\352\37\325"
+"\77\252\177\340\364#U\205\377\21\314M/\20\354\217\337\337\275zt\347%I\372"
+"\261\224\274\27\216\35<\374\3\257S\b\326z_\226{1Q\242\377\377\377\377w"
+"\322\330(\322\377\377\3775\'\312\364\377\377\327\307J\221\376\377\377\367"
+"\360Q\246\377\377\21.\342\343\237M@\\]\b\335\252\265!\370\355G\253\77\344"
+"\23\67\375FuA:I\372\31\30\30d\247\242\230\360A\234D\375\f\f\2067\220\r"
+"\350#Y\77\203\340\t$\25\237\371H\316\177\357\335\357\42\265#BH\317\277"
+"\37\343\220\242(\200d\367300lD(y\317LF\3711\3\301\24P&C\377\201\237\b\266"
+"\6\31\372\277\337B\260\245\311)\377^!y\200\34\375H\21\300G\216~Y\312\312"
+"o\tU\244\324@\206\376\30$\345\257I\327\317[\210\304y@\272\376.)\344&:\311"
+"\3517\23\245\17Er\370\245LF\346m%1\377pMA-\301\314\321\25H\342\323\317"
+"\24v\27U\373\tX\257\1\256$\36\267\313\265\2\22U\320{p\310\345\267\200\2"
+"\233\264W\42\63\366\372\233_JS\4\303\304\225\21H\234\312\77\244\366\77"
+"o\13\242tIH\325\376J\215\314\212\13\2\356k0P\242\177\253(\3\5\372\37FS"
+"P\361\376\277\226\311\201\31\275O\211l8\\\3512\307\332\376\n\356R\302\233"
+"\360\277|}\373\342\341\315Kg^\217\16\227\215\202Q0\nF\301(\240\22\0\0\204"
+"\222\37W\251P_\370\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\310IDATx\332\355\230_HSQ\34\307\177\333\335f\255\251\2451s\325"
+"\b\202b\30,2Y\226=\248D\210hA\275D\321\233\321\336z\b*_\22\243\36J\251"
+"\3200\360\301\330C\24\345\210\n\204\36\62Xd\20\326\222\224\244\260\177"
+"0u\323R\247\233\333N\17\305\316\357\336\356\356\356o{\351\341|\237\276"
+"\277s\357\347\234{\376\334\3379\367\2\b\t\t\t\t\t\375\2472\0\200\373\226"
+"\253\\\353\236\31\66\31\31\13\207\2063\352\227\373\231.E\272\353T\3617"
+"L\257\2367\250\340\357t\343,s\273\264\30\234\261\360&\214\32\1`\2012\326"
+"\333\6\235\n\374%i\2566>\261\362@\2\200\301\350\324X\254\242D/o\257|\374"
+"o\241\265\27u\360\24/79\32\333\307\345\335O\271U*\265%Tq\0\0\243O^\301"
+"]\265\207\32\315\211\3X\3730\236\250\302C\367WI\215\376\306Ot\241\310\322"
+"\254\202k\212\371\237\241\250\221\212\3kI\241\311\'\3430\36\344~\13\35"
+"\207\207\334\226\224\322\361\21<\313t<\206|\206\216\257\3416=C\307\321"
+"\233\3669I\307\353\271\r\321G\336p\230\373Gt\2749;\3310M\307\255\327\270"
+"\277\236\240\342\322\35\336\370\367\16 \342\345\17|<\360\317\203v\276V"
+"\274\357\346c_\321\333\336\211\256\230\362\265[\346\250\331w\310\201\n"
+"\202g\324o\324\227\356\357Y\240p<y!\347`\345\307\323\301\32\5CX\264\0\213"
+"\37\64\362\241\236\207O\367\327\26\2033\226\351\263\27\2033\26\361\26\205"
+"\263TK\236es\371>\277au\325\326\35\r6\331\372\3572tS\26-X\16>\315\310\332"
+"\337O\302\1\300\363\32\363\337\312\210\363\376jw\7\212\326\267\22[\7\200"
+"\363\250\371\370Z\362\252k\17p\277\362$}\321\372\247\271\77B\307gQ\276"
+"\253\255 \343\320\313\217\265\206z:\36\ts\357\242\343\20V\354YD<\302me"
+"\18C\373F\1\270S~\36%\342\306\275\334\377\244\343\336j\356\243d\\jC\301"
+"\'2~v\'\n\336S\361\243\27Q\260<D\304O\7$\24\275\230W\344:\213&\\}\323\'"
+"\213\3\212\353\253\26\65\322\205\363\312\234<\333NY\345\231\326\334\271"
+"\42\307\251\304\276\331\323\264G\331\311K\361\354G\250\371\370v\313\272"
+"]v\312\34\274\255[\316\372\253\214\252Y\27\252*D\245\23^\274A\333\210_"
+"\335\277\16\f\24\264\277\377\321\260g\0\n\306\347\316yF\345\'\253\224~"
+"\370G\317\215\230\262,\250s\304&z\232$\5j\2\200\266\rnI\253\311\245\205"
+"\350\344\304\307\221\241/\342_\215\220\220\220\220\20I\277\1\366\22\202"
+"\356\6\222.\243\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1"
+"GIDATx\332c`\30\5\243`\24\214\202Q0\n\350\2\2\256~\376O\4\370\370\356\335"
+"\375\243\323\235\3214\77\375O\nhEhdd``\370O\222;\377\351^\2031\231H\366"
+"$S\1\5\66\63|\227{C\266\315\f\234\271\310\274w\377I\3\357\370\241\32Y\30"
+"\30\30\272[\320\355\277v\4\356C~\6.!9)FdY\301\334\26$\236\250\261KP;\262"
+"\375\323\320\f\343q\350z\216\315j8P\373\211[3\3\3\3g\343\37\204|\25\206"
+"\364>\274\232\31\30\302\21\272\37\61\242\207\366s\2\241\274\262\b\316\224"
+"\25$9\252&%\301\42\370\320;xh\23\r\346/\263\326\346b`x}\375$\3\351\232"
+"\31~\356\333\207\222R)\311\313\243\232G5\217j\36\325<\252yT\363\250\346"
+"Q\315\243\232\207\266f)\4S\214Tc\220\33\353o\204\210\322\302\310\300\300"
+"\300 \240\300*n\226)\202$|g\346\225\327\f\337\36}%l@\345\37\34\335\230"
+"\277\373\245\tj\306\3235\352\42\30`\202\270\245y\6q<\377\247D\363M\334"
+"\322\237\t\32`q\356/\366\260\376\271O\232a\24\214\202Q0\nF\301(`````\0"
+"\0\224)QQ\3334%\177\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0Q\0\0\0x\b\6\0\0\0\212,\36\310\0\0\0WtEXtTitle\0/root/links-2.1pre"
+"3/graphics/font/century_school-medium-roman-serif-vari/0414.png\303\236"
+"\32\326\0\0\0\32tEXtSoftware\0GNOME Icon Editor\236*\nl\0\0\5\375IDATx"
+"\234\355\234KO\23Q\24\307\377\203\22\261)\24Lj\254\226\4\22\201HL|\13\n"
+"|\3w,\334\210{\\\272g-_\200\220\20\\\262 \321\235|\1\353+\210MS1\361\1"
+"\32BM\13(\266\325\nX\340\272\202P\240\355\31z\356\334\231\346\374\222\33"
+"B{f\356\231_\357\253\355\364Z\0\24\204\212\2501\235@5 \22\31\20\211\f\210"
+"D\6D\42\3\42\221\1\221\310\200Hd@$2 \22\31\20\211\f\210D\6D\42\3\42\221"
+"\1\221\310\200Hd@$2 \22\31\20\211\f\210D\6D\42\3\42\221\1\221\310\200H"
+"d@$2 \22\31\320\42\61\24\na||\34\251T\nJ\251\252)\313\313\313\230\234\234"
+"D \208p\315\212\263X\226\245>|\370\240\252\231\341\341\341\202kfo\211\241"
+"P\b\235\235\235\334\247u\25\373\257\217]\342\361\343\307\271O\351:jj\n"
+"\265\311\304\302\200Hd\200]b:\235\206R\325}\337\350\352\352j\301\377\354"
+"\3X6\233\305\350\350(\36<x\300v\316|>\217X,\206L&S\366Ejjj\332\375\333"
+"\334\334\214\323\247O\263\345\1\0\177\376\374\301\330\330X\301c\26\64\335"
+"n|\356\3349\234={\26\201@\0\301`\20\335\335\335\30\30\30\330\275H*O\237"
+">\305\340\340 VVV\216\224Gkk+\356\334\271\203\207\17\37\242\245\245\305"
+"\326\261\311d\22ccc\210F\243\273/\340\227/_\360\367\357\337\3\261\254\353"
+"\304R%\34\16\253d2I^\217\275{\367N\325\326\326\262\324\35\b\4\324\267o"
+"\337\310u\247\323i\25\16\207I\347vtbI$\22x\362\344\t9\376\321\243G\310"
+"\347\363,ug2\31LLL\220\343\237={\206D\42A\212u|v\366\371|\244\270\365\365"
+"uLMM\261\326\375\375\373wr,U `@\342\265k\327Hq\323\323\323X[[\323\234M"
+"q\354\2540\34\225\350\367\373q\361\342ER\354\363\347\3175g\303\207\243"
+"\22\273\273\273q\354\3301R\254H,\302\355\333\267Iq\233\233\233x\365\352"
+"\225\346l\370p\274%R\230\231\231A.\227\323\234\r\37\216I\264,\13]]]\244"
+"\330H$\2429\33^\34\223\330\336\336\216S\247N\221b\2754\36\2\16J\274u\353"
+"\26)n{{\33/^\274\320\234\r/\216I\244\216\207\361x\34\351tZs6\274\270N\242"
+"\327Z!\340\220D;\213l\257M*\200C\22o\336\274I^d\213\304\42P\273\362\374"
+"\374<\222\311\244\346l\370q\225D/\266B\300e\22\2758\251\0\16H<\177\376"
+"<\202\301 )\366\345\313\227\232\263\321\203v\211\324V\370\343\307\17|\372"
+"\364Is6z\320.\261\267\267\227\24\367\372\365k\317~\325\352\232\226\350"
+"\325\361\20\320,\321\316\42\373\315\2337:S\321\212V\211\324E\366\277\177"
+"\377033\2433\25\255h\225H\355\312\261X\354\320/\304\275\202+$z\271+\3."
+"\221\370\366\355[\235ihG\233D;\213li\211E\240\266\302\237\77\177bnnNW\32"
+"\216`\\\242\227g\345\35\214K\234\236\236\326\225\202ch\221\350\363\371"
+"p\351\322%Rl4\32\325\221\202\243h\221x\375\372u\362\257\b\244;\27\201\332"
+"\225WVVl\335\302\346V\264H\354\351\351!\305\305b1\35\325;\216\26\211\324"
+"/\352\343\361\270\216\352\35\207]\242\235E\366\373\367\357\271\2537\2\273"
+"D\352x\b\0\263\263\263\334\325\33\301\230D\245\24>~\374\310]\275\21\214"
+"IL$\22\236\272\7\261\24\254\22\355,\262\347\347\3479\2536\n\253D;\213\354"
+"\257_\277rVm\24V\211v&\225\305\305E\316\252\215bL\342\322\322\22g\325F"
+"a\225H]d\3\300\257_\2778\2536\n\233\304\226\226\26\2349s\206\34\377\373"
+"\367o\256\252\215\303&\321NW\6\350\277\361\363\2\306$\266\265\265qU\255"
+"\5\277\337O\216e\223hg<\4\200{\367\356\221\357\2365\201\235\334X$\372|"
+">\\\275z\325\3261\27.\\\300\310\310\bN\2348\301\221\2\t]\373\365\260l_"
+"P\311\335\\\251T\n\221HD\353l][[\213+W\256\340\362\345\313\266\216\263"
+",\213\26\207}\22\275z{\233\tv$\27tg\21h\217\35_5\373\378\n\251T\252\362"
+"\214<\314nw\226VX\32\245\24r\271\334\201\245\217eY\262\315\25\205l6\13"
+"\313\262\212\256\35Eb\31\62\231\f\32\32\32J\306T,\261\232>\2159\214Cw\355"
+"\3347\364\311\230X!;\313\34\5\240\354\266O\330\267\265\223\337\357\'m\1"
+"\325\330\330\350\3306Z\345\312\311\223\'UGGG\3318*{\216\241\35844d\\\202"
+"\23\245\24\33\33\33\225I\\[[S\375\375\375\252\255\255\315\370\205\232\222"
+"XD\240*x\333\247\b\343\42\345\375dCC\3\262\331l\33187r\24\7\5\263s}}=\26"
+"\26\26*\256\244\332\4\356\375f\262X#*h\232}}}\7\372~\271\346\274\267\324"
+"\327\327\33\357\222G-\207\261\327E\211c\17>x\377\376}\265\265\265e[\244"
+"\233fbJ\271q\343\6y,,s\256\303\237\270{\367\256\312\345r\344\223[\226e"
+"\\\nw+\254X\42\0\325\336\336^\364\244\371|^)\245T(\24\62.\300\260@E\372"
+"d[\225\230L\250\237\376\272\231J\257\217\364\336\331\262\254\252\220\265"
+"\237p8\214\317\237\77\27}\336\3165\37\271\351\333=\326\215%\30\f\252\307"
+"\217\37\333\356\302{\213\266}\266\275H]]\35\326\327\327m\37\'\22\31\220"
+"\17e\31\20\211\f\210D\6D\42\3\42\221\1\221\310\200Hd@$2 \22\31\20\211\f"
+"\210D\6\376\3\245\257\276L\3447\340\20\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\2\3IDATx\332c`\30\5\243`\24\214\202Q0\n\6)`d`"
+"`\320\310\220\42^\303\327u\233\321Lx\362\237\24\360\317\7U\273\370\177"
+"\322\300n$\275L\f\f\354$\372\327A\4E;\251\200%\34E\373\333\377$\352\217"
+"A\345\256#\321\363\3775Q\42\216\311B\226_\310\302\27\311\37\17\356 \330"
+"\234\34\\\262<\250\366u\225c:\311\33\311\370v49\231\360\325\277\220\244"
+"\237b\13\261\313\270\265300\250\354B\322o\203%\344\37\343\r\257;\356\265"
+"\377\340\34\5,\332\377\341\17\357\377-\336\317\240\314W;\310\211\367\35"
+"\252\351[\37~\377\373x\276\305\33,\262[\360\372\35;`\242,\303\216j\37\325"
+"N\6`!R\235\225\273\42\7\303\267\343\363~\343T\201\'\3153/\202J\314#\307"
+"\361\n+c\241\254\4Ub\34\237\340\212\314\223\222D\24\215\3615D8\36\67\270"
+"\313HQ\310+YP\26q\321\224i\17g\245H\273\210+e\251.\2342\355\376l\4\343"
+"\375\305Sd\36\227\24\77\22\217\337n\17\251\211V.\3571B\262\225d\307\77"
+"\232\244\275\22\316Q\'\303\357\237\42<W\336\373\311\300\360\375\305\361"
+"yddX\6\206\35;F\313\272Q\355\243\332\351UE\42\1=s!\6\206\267\267\217\375"
+"&G\273\322\42k\b\343\252\361O\322\35\257|\20\252\233A[\225t\277K\357\220"
+"\2011\177\336G\325.MX\267\357i\25D\351\363\25\305\357\206z\4\2Y\313%\306"
+"\20\211\77\23\326\227a\20\226g\221\260J\27@H]8\205\252\225\225GDB\t\265"
+"\277wG\35\326\376\237\364\357\77\351 \27\326\223\342\374BF\332\371 \373"
+"\5\232\352D\311Iys\276P\222h\377M\245(\315o~\0\327\376\217\f\355S\21L\266"
+"\37$\7\373\2d\2432\36\223\240\363\353\213\13\313\202\30GGmF\301(\30\5\243"
+"`\24\20\1\0\326\335\3\317j\36I{\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0P\0\0\0x\b\6\0\0\0e\356u\366\0\0\0WtEXtTitle\0/root/li"
+"nks-2.1pre3/graphics/font/century_school-medium-roman-serif-vari/0416."
+"png\271^I\266\0\0\0\32tEXtSoftware\0GNOME Icon Editor\236*\nl\0\0\b\341"
+"IDATx\234\355\234[H\24Q\30\200\377\331\321\274kea\331bd\372\240b\232\331"
+"\225\f1z\212\b\354A(0\220\250v\21z\353\6A\320\345%\210\240\13T\330Ct{i"
+"\365A|\310\207\202\240R)t{\310\330\320.\212\267LS\327\\\335\335\277\7q"
+"Y\327\235\2313\363\237\31-\316\7\3\356\3569\377\231\363\355\231s\316\316"
+"9\243\4\0\b\2\303\330\26\373\4\376u\204@\42B \21!\220\210\20HD\b$\42\4"
+"\22\21\2\211\b\201D\204@\42B \21!\220\210\20HD\b$\42\4\22\21\2\211\b\201"
+"D\204@\42B \21!\220\210\20HD\b$\42\4\22\21\2\211\b\201D\204@\42Q\5\42\242"
+"\352Ae\375\372\365\360\356\335;\360z\275\232ei\35~\277\37z{{\241\266\266"
+"\226tN,e)\346\r\77X\211\314\247\347\270t\351\22s9\254\f\17\17\33>\37=D"
+"\346\235\327\2QG\353\322\2236\222\364\364t\303y\225X\271r\245\241|\224"
+"z\0\20\373\300h\205gdd@FF\6%\354\77E\f\357\200\3\3\3\274C\222\221e\31\2"
+"\201\300\202\367\215\264>D\4I\222B\257m\341\37\30\1\21A\226e]y\202\301"
+"\240\241\262\324\210&\b\0 %%E\3613\36p\231\306\350=A\267\333\315\243\330"
+"yttt,x\317n\267\303\370\370x\324\364\324\276o\16.\227pd\263\216$++\13\276"
+"\177\377\36z]WW\7\311\311\311PZZ\nIII\220\227\227\7\271\271\271\272\312"
+"\374\375\3737\264\265\265\301\310\310\b\364\367\367\303\355\333\267\27"
+"\244\351\351\351\321\25\323(\206\206s\255\341=\374\210\215\215\325\234"
+"J\324\324\3240\227\325\330\330\210III\244\251\24\307zj\7v\271\\\350r\271"
+"\364\6F\0\300\r\33\66\60W\312\355v3U\242\250\250\3104yjuU\210\307\357["
+"\243T\n\0\360\331\263gL\2\227-[f\232@\275\261t\r\42\365\365\365z\222\353"
+"\206u0\232\236\2366\245|#\3653\355f\202\332\240\362\77\241K`ee\245\352"
+"\347\30\66\65@N\323\4\336\270\\.\3561\25\257oY\226-\355\7\37\77~\314\324"
+"\7R\312\340\35W\261\5\306\305\305E\355\223\314\356\7\3775\242\n\\\276|"
+"9\370|\276\250\31\264.\343@ \0\231\231\231\36433\201C\207\16\31\316\253"
+"\324\247/\20\230\221\221\1\243\243\243\206\13\262\331lp\364\350Q\303\371"
+"\315\244\260\260P\3613\255+K\255O\17]\317111\\\372\222\336\336^Cs53\373"
+"\300\230\230\30\374\366\355\33\367~u^\13\364\373\375\252\337\2+\231\231"
+"\231p\342\304\t.\261x\341p8 ++\313\224\330!\233999\314\346\265~\332\215"
+"\214\214`vv\366\222h\201\205\205\205811A\216\227\230\230\30\355}s\246\4"
+"\210\210\355\355\355J\205Z&\320n\267\343\217\37\77\310\361\224n\210\350"
+"\232H\347\347\347\303\212\25+B\235\261\326\257\215\242\242\42x\372\364"
+"\251\356\33\256\274X\275z5477\203\335nWL#I\22l\331\262E5\216$I033\243\370"
+"yT\263yyy\363^G\233T\'$$\340\305\213\27qzzZ\365\33\276s\347\216\345-0="
+"=\35\333\333\333\25cLMMamm-J\222d\370\n\4\352%<w\354\332\265\13\373\372"
+"\372T+}\355\3325\313\4\256Y\263F\365\326\330\317\237\77q\367\356\335\344"
+"zs\23\b\0\230\235\235\215\3\3\3\252\25\277u\353V\324\226\314S\340\246M"
+"\233\260\273\273[1\257\327\353\305\355\333\267\363\222\307O \0\340\216"
+"\35;\320\347\363\251V\276\251\251\tW\255Z\305]\240$IX[[\213\223\223\223"
+"\212\371|>\37\356\337\277\237\247<\276\2\1\0\217\349\202\301`PU\300\320"
+"\320\20:\235\316\5\23w\243\2\363\363\363\361\345\313\227\252y\374~\77V"
+"UU\361\226\307_ \0\340\331\263g\231D|\371\362\5O\236<\211iii\206\4\346"
+"\346\346\342\275{\367pffFS^uu\265\31\362\314\21\b\0x\365\352U&\31\210\210"
+"\177\376\374\301\27/^\340\247O\237\230\322WWWcss3\6\2\1\315\264333x\370"
+"\360a\263\344\231\'\20\0\360\372\365\353\314\22\315`||\334\214>\317:\201"
+"z[\42O\272\272\272\310\253wKB \0\240\303\341\320\234l\363\42\30\f\342\375"
+"\373\367155\325\ny\326\b\4\0\334\271s\'z<\36S\345\271\335n,++\263J\234"
+"\265\2\1f\177\372]\271rEs\256\250\227\301\301\301\250\323\242\377N\340"
+"\334\221\223\223\243y;L/\213Q\17\0@i\316\242\225 q\311srr\22\22\23\23\27"
+"\274\277\30k\321\226\357\322\247\312\3\0\30\32\32R\214\315#\276\36,\25"
+"\30\255r\36\217\'\3647\353\222\351\207\17\37\0\0\340\375\373\367|N\214"
+"\200e\2#\345uvv\2\0\204\366\5\32YoV\272\21ju+4\275\243e\35\4X\7\226hi\243"
+"\375\36\266\242n\246\267@\226\326`\244\365UVV\316\313\27\23\263p\263\255"
+"U-\321\364\226\247\266\42\346r\271B\351\365\264\300\3102X\323\363>Lk\201"
+"\341\337~RRR\3244\365\365\365\232[E\264P\233\272LNN.8\27\336\230\42\360"
+"\370\361\343055\245\232\206\207\2749\224$\206\317\25\315\224\310\2559K"
+"\222\2047n\3340|Y\275~\375\232)\357\236={t\17V\37\77~\234\327]p<\370\4"
+"\222e\31\37>|hX\36\0}QI\213\236\236\36\63$\362\221\367\350\321#R\345\251"
+"\2\17\348\300$qxx\30\267m\333\266t\4J\222\204\17\36<`\252\370\371\363\347"
+"M\23\b\0\270v\355Z&\211ccc<o{\321\2\260\366y\27.\\\320\214\305c]xn\201"
+"J\13\257\327\213\25\25\25\213+\220u\365\355\346\315\233L\361x\355L\310"
+"\311\311\301\301\301A&\211{\367\356]\34\201,\353\277\210\210O\236<a\336"
+"\177\302soLyy9\372\375~&\211\345\345\345\326\n,++c\272\253\334\326\326"
+"\266\350\333\333X\360z\275\224\2752\3722l\334\270\221\351\362\30\35\35"
+"\325\365\234\234\31\2eY\306\326\326V\246\230\243\243\243FGg\366\304\311"
+"\311\311\314\17\4:\235N\335\'cF\13,--e\352j\20gwm\25\26\26\232#P\222$|"
+"\376\3749\323\211tvv\242\315f[\22\2\1\0\353\353\353\231\342\42\42\366\365"
+"\365\351\332\352\314,\360\314\2313\314\'\341p8\214\\\n\246=\255\271o\337"
+">\346sGD\364x<h\267\333\371\t\254\254\254d\32\321\20g\27\266333\r\t\354"
+"\350\350`*C\357\216\203\330\330X\34\37\37\327%\321\355v\207\346\224\206"
+"\5\306\307\307\343\271s\347\230\345!\316^\2F\344UUU1\227\321\320\320\200"
+"qqq\272\342\267\264\264\350\22\210\210\330\332\332\252y9\207n\343\332l"
+"6p:\235PQQ\1)))\20\37\37\17\305\305\305\220\234\234\fzPZ1\13G\226e\250"
+"\251\251\201\315\2337Cbb\42\24\24\24@ii)s\31\7\17\36\204\356\356nx\363"
+"\346\r\f\17\17\303\340\340 \324\325\325\301\327\257_I\347\25\311\326\255"
+"[\241\263\263\23\336\276}\13\36\217\7\306\306\306\340\325\253W\320\320"
+"\3200/\35\2\0\236:uJ\3677\24\r\267\333\255\331\32\216\35;\306\245\254p"
+"Z[[U\313lll\344V\326\351\323\247CqC7T+**t\177CF)..\346\36\263\244\244\204"
+"{L%\302\37Z\f\t\264\362Y\16\233\215\377\215p+\317\77!!!\364\267\370\377"
+"\201D\204@\42\344\377\235\25\t\2578K\231\360\307\276B\2\77\177\376\314"
+"%8\313~\225\261\2611.e\205\243\364\77\262\346\370\365\353\27\267\262\42"
+"]!\300\354\235\334\273w\357bWW\27NMM\351\36\332\203\301 \266\264\2640\375"
+"\n)((\300\376\376~n\323\212@ \200\227/_V-\263\244\244\204\351.\222\32\323"
+"\323\323\330\324\324\204\353\326\255\13\305]\224\375\201\0\263#qZZ\32\227"
+"X>\237/\264\210\256\206,\313\220\232\232j\270\234\211\211\211\5Om.\232"
+"\300\377\5\61\n\23\21\2\211\b\201D\204@\42B \21!\220\210\20HD\b$\42\4\22"
+"\21\2\211\b\201D\204@\42B \21!\220\210\20HD\b$\42\4\22\21\2\211\b\201D"
+"\204@\42B \21!\220\210\20H\344/yd\320\b\26p&\217\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0D\0\0\0x\b\0\0\0\0n\300\13\270\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3\266IDATx\332\355\230]H\24Q\24\307\317"
+"~h\355\272\254\37\233\220_k\232J\232\346\7\225\232\230!Q&\204!Bh\17A=\245"
+"B\4\325\213\t\205R\222\212/\21T\30=\224\17\202&\244\21\26Z\332\227d\232"
+"Z\272\246\233\237\271\246\256\253.\353\307\246;=(\353\275wfg\307[o\315"
+"\377i\356\234\303o\356\334{\3569g\6@\224(Q\242D\211\372\37%\341\276\255"
+"\366\363\326x(U\0\0\314\234\331d0Lm\5\42\213\210\215\b\r\16V\223~\213z"
+"]WG\333\254\200i\311\322\253\214\f\217\326\272n\'\313\2340\216}c\234\353"
+"gi\30\337\213\225\330\30A\262\325\37t\b\271\305\bWm\20\367\302f\324\261"
+"\271\346\366\376\311e\360\364\17\217r!,\226\253w\271^\346;\371\264\205"
+"{)\366ET\244\226\215\22\346j\25\33\22G\370,\26{\342\16\322\264f\334\343"
+"\243\206\5\311\300=\332\270\266\340\324\30\346\323\355N:\354\307\342\241"
+"\304\205s\3555\2570J\3\31\251\222\316Mco\222\243\35\334\326\200Q\362H{"
+"\310\310\206e(\337\325q0\271\353P\210\311\213<;\36\271G\325\13\343\375"
+"-\357l|Q\235\364\26\35\25\26\323\35\373zt*\203\224\271\343$\266*!t\20\305"
+"\22\n\311\\\217\241\255B\226\272\321\221\77\35\4F\320\201\13%\4\313n&J"
+"\310vt\240\247\204\370 \327\253\35t\273#C\263p\23\320\315$\336\13\31<\246"
+"\f\266Jd\42\223\n:F \32k\271\224\5\363\31\232\333dt\220B\2041\25H\205\220"
+"\336D\31\261T\214\204\367\b\243s\267\323\256\340D\262t~z\326h4\316\256"
+"\254\337\220\207\247\236N\334\264[\313o\2548{f\356\346\23\315\303\237_"
+"\277\3744\270\202\25\322\232=\2&>\310WCW\253\5\255\206\202\7\61S\32\304"
+"^p\316\312\300w\210\243\262\42\4m\203\322IS\320w\315G@\317f\264\2372\333"
+"\344\370\374\234\273\233\237\26\237\262\265\252\350\2073H\372\231\0\245"
+"iab\\\77\240\333\330IUbF\16V\342\255eE\313\24\261\346V`\301\13z(U\310\206"
+"\365a\24c\22\25\305\273\33\357\203\342\251(\301\363\30\305\340KE\311\303"
+"7\373\205\204\6\3422\202S\262\376:-1\f\323/\245\201\304\20\321\233F\225"
+"\335\3148\344\t\325\373\264\23\247ZBSF\rDG\31D\3Y \306T\20\62\331\270\323"
+"@<\210\361\n\200\34\0@\32\237\22\31\240R\232\'\2766\275Ys\6!{\275\351\365"
+"jp\t\211\302\321\213\256\374\214\235\304\247\325\232\32\0@\336\210\337"
+"\355\336\307\139K\4\333\27\0\0\310&3\250\205\367<| \274\257\3\0\300e\366"
+"Gg\276cF\26\341\373[\13\0\0\78\322y\201\303U\235&<\37n\30j8(\25\334y\302"
+"\177\210\360\233\363\333\260x\3518(5*\2566i\200t;g\267\371\366pPt\t,F\364"
+"8\351\204~\222\252\237r}\323W\356\302\31\347-\254\351b\375\226\344\202"
+"\231\253\374\327\345\354\260\273$6\263\354\217\344D\5\324Vdr\255$\243\357"
+"\31\30\236\261h\42\217G\223\246\345+w\330\376\311\255\314V\324\350\240"
+"\3179\362\334&\24\321\224\312S\'\313\177\t \230\357\307\361\37Ry\332\3"
+"\3\77\2416\333M\300\77%I\314\341\370C\234\215\356bgKs\353\262\340\37S\340"
+"\31\2717X\253\325h\274$\0`5\231\fcC}\275}\253\264\377\277\24\62\20%J\224"
+"(Q\242\376\221\376\0\261PSs\27K{\25\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\3\rIDATx\332\355\230KHTQ\30\307\177\343c\314J{\t\232\231"
+"\240F\21\31i\tI\17\n\42\23\334\b\265)(\315&\310\212\36Z-\314\250\220\36"
+"\2330!0j0m\25\266\t!iSJQQYQ\220\272P+J\263B\213&\37\63N3-l\362\316\355"
+"\36q\374\356&\270\377\325\275s\376\363\2333\337\371\356=\337\371\300\222"
+"%K\226,Y\262\364\377k\331\343\357\376\177\345\351\275\32\2513\226\276\37"
+"\62\60\272\332\362\3\206[~\205\362\202A\211>\205\257\33 \fHVMv~\360\355"
+"\34\233\302\227\30 E\250H\266Pb\24fZ\264\303\200\1\325\240{\202\20o\200"
+"\364Xa\360\265\4\337w\271\24\306\'\201PD\357Y\36\225\220\21\23\64\330\321"
+">\324\177\363\256\356\33+\266\'2\350N\333\240\235\366\313\36OGu\217\326"
+"5\265F\263\254\2039\352\277\22\361Tcl\2123pLw\217\31\256\214\23\224\23"
+"\332L\3124\264\264\217\31\16\252A\31n-\311n\230\5\36\303K\235\354\327\355"
+"\332[\317\344\363\351\324R\2232s\3451\223r<\272.\334$\322\331E&=w\353\16"
+"\0|\221\223\246_\13\3\\G\344\244\13)\0\245o\305\244M\273\1\32\235\3428"
+"\315r\332\200~\207_L\272\230\4P\374I\274v\371;\0\352\353\305Y\20w\31\340"
+"S\261<\237\252\343\1\277\243_L\332\272\5\300\331(\336[\346^\2x[*\337\245"
+"\256\316\6|\205.1\251(\17\240\362\276x\347L\256\4h-\27\357\301\266\232"
+"X`\244`XL\332\267\1\340L\213\270.Xp\36\340\331\31q\205\21^;\r\30.\364\212"
+"I\207W\3\224\265\212\253\236%\25\0\315U\342\372)\242v\n\340\332\351\23"
+"\223\312\262\0J\336\211k\272\314r\200\333Nqu\30U\27\t\3649\344u\346h\21"
+"\260\267WL\312>\np\243^\\\373\216\26\1=\373\344U\364\271\205\200\177W\277"
+"\230\264\376\0\200\363\216\270\262\217\251\261\1]%\3623\302\205\24\340"
+"W\341O1)\327\1P\371@|n\31-\2\336\234\220\237\200\252\346\1#;\206C \31\237"
+"\310\362s\0*^L\362X\365Zw\222|\2528\367\255\321x&\224OC\5\336\220&\242"
+"&\225\265a\16\251\251\nsH\256\42\377\344IA\1>\244~\341\332\25\327c\37\16"
+"h\326\244a\234\37\337\257\361e\30\355\376\2475\206\257\tjP\352G\215\361"
+"\336\214\240\226\200-7}\346\254\265\351\32\367\253\'\300\267\206G:H\332"
+"\266\244\250\324\354\240\36\211\353a\267\247\263\266\357\317\335IE\223"
+"\303\273X\367\22\355U\30\233\3\21\337\250*\t\262uS\212W\30W\5H\261\252"
+"\220L\231`s$\322\374n\210y$\345\223\352\17\225\364A5\250\33\350S\221\377"
+"6C\262\236{\215\326\366G\235\276\273v\374\263a\22tn\306\222%K\226,Y\262"
+"\24\242~\3\23\13\340\330\25\221\322X\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0O\0\0\0x\b\6\0\0\0\263K\257\223\0\0\0WtEXtTitle\0/"
+"root/links-2.1pre3/graphics/font/century_school-medium-roman-serif-var"
+"i/0419.png;\16\336g\0\0\0\32tEXtSoftware\0GNOME Icon Editor\236*\nl\0\0"
+"\bEIDATx\234\355\234[H\24_\34\307\277\323\256\273i\232YRf^H\243(\225\264"
+"\204\354\36D&\370\42\324KAjf\220\t]\334\354\301\222\n\261z)\23\2#\227M"
+"{\n{\211B\351\245\224\242$\273Q\220\372\340\245\360^\354j\255\251\273k"
+"{\376\17\177\362\3378\332\177f\316\\v\345|` \177\314\236\363\335\317N{"
+"\316\234\235\31\16\0\1C\26\363\364\16\340\3170y\24\60y\24\60y\24\60y\24"
+"\60y\24\60y\24\30\325l\234\20\376\24\222\3438\237nW*\252\35y\323\337\340"
+"l5_iW\16\252\310\373\333\233\241y\243j\265+\27\305\345\351u\24\350\321"
+"\367\234\33\60\264\24\250\250<1\301i\276\334\365\32\30fC\323#O\2117/\246"
+"\r\255\216>U\247*\323\321\363\373P\r\346\334w\236\2260y\24(.\257\277\277"
+"_\351&%\243\325\300\242\250<\216\343\20\31\319\365wWW\227\222\315\363\370"
+"\376\375\273\2406<<\254\371\210Lh7\243\3218\365o=\350\356\356&EEE$$$\204"
+"\372\275H\334\224m0))\211\\\277~\235\364\364\364\250*\314n\267\23B\b\331"
+"\261c\7\3418Nki\352\310\233.\262\270\270\230\324\327\327\223\241\241!E"
+"d\225\226\226\222\315\2337\23\203\301\240\227\260\251\215\373mP\13\242"
+"\243\243\221\220\220\200\330\330X\304\304\304`\351\322\245\b\r\r\205\331"
+"lFPP\20FGG\341\361x022\202\241\241!\364\366\366\242\247\247\7\255\255\255"
+"\370\374\371\263V1E\243\251\274\271\6\233\347Q\300\344Q\300\223\267~\375"
+"z477cdd\4\204\20\3056\267\333\215\301\301ATWW# \200*\260\305b\301\227"
+"/_0>>\256hF\247\323\211\266\2666deeI\31235z<x\360\200jD\24Cff\246\354\321"
+"-22\222x\275^U\363\365\365\365\211\316\303;\362bbbd\34\13\322\210\216\216"
+"\226\375\332%K\226\250~\6\361\347\31\322\377\301\223g4\252\277B\345k\13"
+"\2324\260\1\203\2\236\274\237\77\177\252\336\241\313\345R\275\17\32&\'"
+"\'E\357\313\223\327\334\334\254x\230\77\361z\275x\363\346\215\354\327w"
+"uu\301\351t*\230H\310\253W\257D\357\313;\303\b\f\f\304\261c\307\260a\303"
+"\6\230\315fDDD 99\31!!!\262\202ttt\240\275\275\35\343\343\343p8\34\270"
+"\177\377>\236<y\42\253\255\337l\334\270\21\207\16\35\232\372b\37\33\33"
+"\203\313\345B||<v\357\336-\251-\227\313\205\367\357\337\243\277\277\37"
+"n\267\33\35\35\35\250\252\252\222\264&\371\327\3418((\210\330l6I\303\375"
+"\330\330\30IOO\327\354\4\335h4\222\226\226\26I\31\33\33\33Ixx8m\337\377"
+"\277Spp0q\271\\\242\203\335\276}[\323\325\215\322\322RI\342\b!$%%E\211"
+"\276\305\355\330\336\336.:\330\311\223\'5\23\227\234\234,\351\203\375\215"
+"\311d\242\356[\364T\305\355v\213\335U\322\2764\230L&\334\275{\27&\223I"
+"\362k\225\310\350\327\363\274\213\27/\42))I\267\376\375V\336\246M\233p"
+"\366\354Y]3\370\245\274\300\300@\324\326\326\302`0\350\232\303/\345]\276"
+"|\31k\326\254\321;\206\377\311\333\271s\'N\2348!\250\177\375\372U\363,"
+"~%/88\30w\356\334\301\274y\374\330N\247\23g\316\234\321<\217_\311\273v"
+"\355\32V\256\\)\250[,\26twwk\236\307o\344\355\335\273\27G\217\36\25\324"
+"\33\32\32`\265ZuH\344\'\362\302\302\302`\265Z\5\13\251\16\207\3\371\371"
+"\371s\353jx\245\271q\343\6\242\242\242\4\365\202\202\2\f\f\f\350\220\350"
+"_|^^VV\26\262\263\263\5\365\272\272:\324\325\325\351\220\350\77|Z^xx8n"
+"\335\272%\250\17\f\f\240\240\240@\207D||Z^UU\25\226-[\306\253\21B\220\237"
+"\237\17\207\303\241S\252\377\360Yy\7\16\34\300\376\375\373\5u\253\325\212"
+"\206\206\6\35\22\t\361Iy\313\227/\307\315\2337\5\365\356\356nX,\26\35\22"
+"\315\214O\312\253\256\256\306\342\305\213y5\257\327\213\334\334\\\325\177"
+"\0\222\202\317\311\313\313\313Cff\246\240^QQ\201g\317\236\351\220hv|J^"
+"LL\f***\4\365\326\326V\234\77\177^\207D\177\307g\344q\34\7\233\315\206"
+"\205\13\27\362\352\36\217\7999\230\230\230\320)\331\354\370\214\274\302"
+"\302\302\31\177w-//\247\372\241\\M|B\336\252U\253p\365\352UA\375\365\353"
+"\327(//\327!\2218t\227g0\30PSS\203\5\13\26\360\352\23\23\23\310\315\315"
+"\225t\355\210\326\350.\357\364\351\323\330\272u\253\240^RR\202\326\326"
+"V\35\22\211GWy\t\t\t(++\23\324\233\232\232PYY\251C\42i\350&\317h4\242\246"
+"\246\6\363\347\317\347\325\235N\'\16\37>\f\257\327\253S2\361\350&\257\244"
+"\244\4\251\251\251\202zQQ\221O\336\2602\23\272\310KII\231q\322[__\257\333"
+"\222\272\34\64\227g6\233Q[[+\270\245\300n\267#\77\77_\3538Th.o\266\353"
+"K\216\37\77\216\301\301A\255\343P\241\251\274\264\2644\24\27\27\13\352"
+"\367\356\335\323}I]\16\232\311\233\355\372\222\376\376~\24\26\26j\25CQ"
+"4\223w\345\312\25\254^\275\232W#\204\340\310\221#>\261\244.\7M\344\355"
+"\332\265k\306\353K\254V+\36\77~\254E\4UP]^HH\bl6\233\340\7\353\256\256"
+".\24\25\25\251\335\275\252\250.o\246\353K~\375\372\205\334\334\\\214\216"
+"\216\252\335\275\252\250*/##c\306\271[EE\5\236\77\177\256f\327\232\240"
+"\232\274\331\256/\371\364\351\23JKK\325\352VST\223WYY\211\25+V\360j\36"
+"\217\7\331\331\331>\271\244.\7U\356\21\315\312\312Bzz\272\240^VV\206w\357"
+"\336\251\321\245n\210\272a\343\343\307\217\222o\24\371\223\226\226\26\336"
+"\223\177\224\336\266m\333&)\217\22}j2\317\33\37\37GNN\216O/\251\313A\23"
+"y%%%hkk\323\242+MQ]^cc\243_,\251\313AUyN\247\23yyys\356q\227\277\21-O\316"
+"\303\33N\235:\245\331\222\272\324\233\367\344\334\3547\35Q\362L&\23bcc"
+"%5\374\350\321#\330l6Y\241\344\260n\335:U\367\237\215\277\16\307\34\307"
+"\221K\227.I\232\6|\373\366\215DDDhv\317m\\\\\34\351\355\355\225\224\361"
+"\351\323\247$44\224\252_\3363\68\216CFF\6\22\23\23\261h\321\42\204\205"
+"\205a\373\366\355HLL\224\364i|\370\360A\360\240\203\341\341a<|\370\20/"
+"_\276\224\324\326t\342\343\343q\360\340ADEE\301l6#..\16iii\262\36\263\344"
+"t:\361\342\305\13\364\365\365\301\355v\243\263\263\23\65\65\65\260\333"
+"\355\242\333\2302y\341\302\5I\237\236T&\'\'\311\332\265ke\177\322\201\201"
+"\201dppP\325\214MMM\362&\311{\366\354\221\374\351I\301`0 --M\366\353\343"
+"\343\343\5\27x+\315\226-[D\357\313\2237\375\33285\230~\205\200\24\264x"
+"\224\222\224\377\376\272_\350\343\3170y\24\360\344iq\342N\346\320\331\6"
+"O^OO\217\352\35\322\364a\267\333U\227/\365\361\354SCojj*y\373\366-\231"
+"\234\234T|\n\360\343\307\17R[[K\2\2\2\250&\246\347\316\235\243~\346\362"
+"ltvv\222}\373\366\311\233$3\244\301\6\f\n\230<\n\230<\n\230<\n\230<\n\230"
+"<\n\230<\n\230<\n\230<\n\230<\n\230<\n\230<\n\230<\n\230<\n\230<\n\230"
+"<\n\230<\n\230<\n\230<\n\230<\n\230<\n\230<\n\230<\n\230<\n\376\1\266\367"
+"\0S]\246:\231\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0F"
+"\0\0\0x\b\0\0\0\0j5\333\205\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3=ID"
+"ATx\332\355\230[H\24a\24\307\377\273\253\273\256\245\246hI\31%J\227\7)"
+"\37\312 \264\33V\20E\201BaA\371\22\206\320\205\36,\250\267\f\222\244\b"
+"\23\n\272@\30D\331\345%R|\210X\265\42\311H\264V\4\3e\320\\\327tm\325\315"
+"\351!\2359s\371\226\346(D0\377\227\235\371\316\231\337\236\357v\346\314"
+"\7\330\262e\313\226-[\266\376\205\262_\rL\312\6E\244[.\0\200\347ZG`\324"
+"h\237\364\347k1\365\262@\5\0\200C\42\363\343\231\347\235\177~2Ea&\0\0\26"
+"\211\314qZ\214k\216\203\342\234\237\261\235\301\4E\366\200%L\203\300\334"
+"\373\1\0\360M\364\370 4\203\362\346\313P\217\224\354\245\36c\315\357\77"
+">91\2\0\350\36\213u\232\fs\250\345R\277\261\325s\207Le\233\376\261\263"
+"\372\311\366\227z\315CL%N\307\r\335\37\320@\302\347\334\302\221\32Q\335"
+"\366\30\214\35\224\322\233\253\261\305h\356\344(\223\221\222En\332wKQ0"
+"\321T\355Q\257\77\27\16Fs\r\212;UAz4\260<\372\77\2121%\323\252)\224\7&"
+"f\373\204j\231.\6\23\223=D\272T\1&&\315O(\367\301\304\304\267\22J\223\233"
+"\211q=\247; \5L\314\25:\325\331`b\312\beb\33\230\230}\21\62\325%`b\362"
+"B$\230\313`b2\372\t\245\316\301\304$}\42\224\326x\3600\356&B\351I\3\17"
+"\343x@(\301\34\356{\352<\235\230\276.\360\242\241\271\341\257v\244)\206"
+"\346\6Y\226\345P&\247S9\365\272=\30_\303\211&b\254B\212\31\30\23\365%\316"
+"KE\261\264r^\242\221#\33\270\230\232\267\364\256\315\305\3034\270V\16\323"
+"\373S,\214\77\t(\242\r\243\31\fLp\25\0\324\322\246\247\3261\221\235\0\0"
+"/\315\26\362^\313\230\2233\255k\306hE\262\320\42\346\266\322|\2246WY\303"
+"\274&{\212&\236\251uV0\232d\227\360\225&S\247\5\214v\37\346\206\t\247\214"
+"[Q\0\345\4\63\234\316\3068\236\21\316C6\6)\275\204\263\213\215\301\346"
+")\325\330\35\307\3167\276\213\352u\326\5v4p6\222\322b-\33\203t\211,N\7"
+";\211JG\246\225\353\202c\354h\200J\325\376=U\214\371\241\272\35\60\263"
+"\307\370T\207{B\212\233,\215\323\246\36+\2j\351\265U\204\331D0\357\314"
+"k\242\375\352\213\275\323cN\361\274\244y\245v\201\251\323\r\325\203,\236"
+"\331\377\334Q\230\234\230\277L;\336\315\322xg\235\376\233\330\323\242|"
+"\220\205s\272u\306\42\321\33\256+V\37\316j\365\260\242Qo\23\236Q\310\306"
+"\217\236\303\252Q_\340\372\204\30\223\365sW1J\311\332U\234`\345$\241\\"
+"\251\337\226T\315\341\214\42t0<{Y\272E\203\371e\211\323~F\231\350\253\32"
+"\303\13\341\330\230\327\42\217\2247\253\246tZ\337\374\323\24\62z\323<\36"
+"ouP\226\345@\353\365\215\332\345g\375\304f\261cd\334>\24\264e\313\226-"
+"[\377\205~\3\'\320\246q_>NP\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0G\0\0\0x\b\6\0\0\0\240\234\357g\0\0\0WtEXtTitle\0/root/lin"
+"ks-2.1pre3/graphics/font/century_school-medium-roman-serif-vari/041b.p"
+"ngt\315 \275\0\0\0\32tEXtSoftware\0GNOME Icon Editor\236*\nl\0\0\5\252"
+"IDATx\234\355\234KH\33]\24\307\377\343#f\b>\361A\252\330\252\33\27Yda1"
+"\335\271(t\221E\273\351. \210\210.\244\42\210\256\n\42\270\221R\304\245"
+"\273B\353J\260\355F\304\356J-vUZ\244\220\252\304\27>\203&Ec}\334o\361\221"
+"P\2539w\222\334\2318\315\371\201\13\231\223s\257\77\317}\314df4\0\2\314"
+"\215\344e\273\3\267\31\226C\300r\bX\16\1\313!`9\4,\207\200\345\20\260\34"
+"\2\226C\300r\bX\16\1\313!`9\4,\207\200\345\20\260\34\2\226C\300r\bX\16"
+"\1\313!`9\4,\207\200\345\20\260\34\202\2\63\222>|\370\320\214\264\312\330"
+"\337\337\307\327\257_!\204\374\313^!\373\251\250\250\220\306\0\20vbaaA"
+"8\235N\362\35714\254\302\341\260\341\377\212]\360\371|\360\373\375dLN\317"
+"9\325\325\325\344\361\234\226#\203\345\20\344\264\234\303\303C\362\270"
+"\322\245\\\3234C\313c\34!\4\64M\3\0\304b1\234\234\234\340\360\360\20\232"
+"\246\241\264\264\24.\227\13\16\207Ce\27\23loo\343\303\207\17d\214\206\24"
+"\356\354z\362\344\tfffn<\366\364\351\323+\277\373\375~\264\267\267Ks\326"
+"\326\326\42\34\16#\26\213\335x\334\345r\241\272\272\32n\267\33n\267\33"
+"MMMhkk\303\243G\217\220\227g\254\360\267\267\267155\205`0\210h4\212p8\214"
+"\217\37\77\42\22\211H\77kh\17\223\352\317\330\330\230t\257\341\361x\322"
+"\316\377\370\361cC\373\231\325\325UQVV\226V\33\246\3159w\357\336%\217\13"
+"!\260\262\262\222v\376\267o\337\342\373\367\357\322\270\327\257_K\347\226"
+"ddM\316\326\326\26\216\217\2173jc}}]\32\263\271\271\231v\376\254\311Y^"
+"^\316\270\215\313\313\313\214sP\230\42\307\351t\242\246\246\206\214Q!\307"
+"lL\221#\253\32\0\370\371\363\247\31M+%kr\270r\b\270r\b\270r\222ppp\220"
+"\366\336\303J\262\42\'\30\f\232\321\254r\262\42\307\16C\n0ANAA\1\356\334"
+"\271C\306\344\254\234\272\272:\24\24\320WB\354\260R\1&\310\251\257\257"
+"\227\306\344l\345\334\273wO\32\303\225\223\204H$\202\335\335]\325\315\232"
+"\202r9\262\225*\223k8Vc\271\34\273\354q\200,\310\261\313d\f(\226\243i\32"
+"\313IFMM\r\212\212\212\310\230\234\35VF\226\361\234\235\220e\313x,\26\303"
+"\306\306\206\312&ME\251\34#\363M*\337\210f\33\313\345\330\tK\345\330\345"
+"\264!\16W\16\1\313!P&\247\274\274\34%%%d\214\235\3668\200B9\262e\374\354"
+"\354\fkkk\252\232\263\4erd\33\300P(\204\363\363sU\315Y\202e\225c\267\225"
+"\n\260\260r\3546\31\3\\9$\226UNN\313\371\227.\217\306Q\42G\327uTUU%=~y"
+"y\231\273s\216lHmll\340\364\364TES\226\242D\216l2\266c\325\0\26U\216\335"
+"N\33\342XR9v\234\214\1Er\376\265\3538qX\16\201%r\354:\254n\274\221\306"
+"\353\365\302\357\367C\327u\374\370\361\3\357\337\277\307\321\321\321\215"
+"\t\n\13\13\311\233\225vvv\20\215F\325\364\326b\256\310\311\317\317\307"
+"\304\304\4\272\273\273\23\317A\1\300\336\336\36|>\337\215\25\360\373\367"
+"o\262\1\273\16)\340\257a5::\212\236\236\236+b\0\240\252\252*\355\275\212"
+"]\227q\340\179\315\315\315\350\357\357\'\203\323\371\316iii)\365^\335\22"
+"\22r:;;\245\367\362\245\303\227/_\224\347\214\343v\273\2451\262\307\243"
+"e\b\0baa\301\360\323\374\361\317\310\210\305bB\327uS\236\4\364z\275\342"
+"\374\374\\\332\207o\337\276\t\207\303\221V\33\211Rq:\235\306m\32\34^\363"
+"\363\3638991\2347\31\r\r\r\250\250\250\0\0TVV\342\376\375\373\350\353\353"
+"C~~\276\364\263\36\217\7\237>}\302\344\344$\226\226\226\22\17\300\255\256"
+"\256\32z\323\202\0 \246\246\246\fW\216Q\2\201@\306\25\62\64\64\244\274"
+"_B\bqzz*\274^\257\261g<_\275z%\265\230\n\7\7\7\230\236\236\3168\317\203"
+"\7\17\24\364\346:\16\207\3---dLB\316\354\354,\26\27\27\2255\376\362\345"
+"K%C\312\310\320I\227\302\302B\362xB\216\20\2\317\236=S\362\334d(\24\302"
+"\370\370x\306y\262\315\225M\340\347\317\2371::\232Q\302\213\213\13tuu\341"
+"\327\257_\31\345\271\r\\;\361|\376\3749^\274x\221v\302\301\301A\314\315"
+"\315e\324\251\77\271\270\270P\226\353o\316\316\316\2441I\237\370\17\205"
+"B)\315\376\275\275\275\312\3673###\246\254VB\b\321\332\332J\266M\276\313"
+"B\327u\4\2\1ttt\240\265\265\365\3329\27\360\377\211\347\273w\3570<<l\350"
+"\r\1\251\242\353:\6\6\6\340\363\371\244\23\250Q\42\221\b\246\247\247\361"
+"\346\315\33\62\316\360\213>*++\321\322\322\202\306\306F\24\27\27#\32\215"
+"\42\30\fbqq1\351\345\f\273\223\322[Pr\215\234~\271\220\f\226C\300r\bX\16"
+"\1\313!`9\4,\207\200\345\20\260\34\2\226C\300r\bX\16\1\313!`9\4,\207\200"
+"\345\20\260\34\2\226C\300r\bX\16\1\313!`9\4,\207\340\77\224\332\0B[;\275"
+"\322\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0T\0\0\0x\b"
+"\0\0\0\0In\212P\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\253IDATx\332\355"
+"\230\317O\23A\24\307\247\42A!@\304`\260\202VA4Q\211\212!\n\246\24\345\327"
+"E\23\215\27\215\27\275\371\227p\365\340\331+\2111\22.\b\264\305TA\371!"
+"U\4\4\16\206\bHJ\345W)\n\205n\327\303vfv\273\363vgw{s\336\245\2573;\237"
+"\316\373\2767\323\331AH\2300a\302\204\t\23&\354\277\261{31Yg\273+\1\257"
+"\301\230\253\301\270~\214\2749u\27\77\260,\263-q\21dVl\2c\246\361\23\62"
+"d\235 \364\5\64\344\247)\364\317a\b\272d\b=`$v>\244\352\271\23\206I:\200"
+"\20\212\202\275\255@{#8B\302\320\347Y\204\276E\b!\27B\b\325\265\226\27"
+"T\3271\263\274\304\34\372\313\255o\333\31Z\213\305G\337$5\215\17$\206\356"
+"O\231\314j\322\277B\274\265\323ZM\25{\335E\334\221\4\366\332\214\243Ou"
+"\223\266\356y\26\24\371\211\267\32\302^s\16\13\352\303Nx\215\264-\42&4"
+"B\335~\354\224\\3\204\6T\222\262\241*\211{\f\363_\345f@\21\33\252\262\231"
+"\5#Q\233h\302\255@\351T\257\27\33D\377a\327\22\264\17;9\267\365\235^\223"
+"\350!h`\17\216\277\252\\_/\\\320\355!\30J$\375=a\r\252\254a\204\20:u\36"
+",\375\200l\21\332\13\27U\243\231\244 tr\t\202\232K\no\322d\252\276<\240"
+"\240\346\26\355C\13nZ\215\36\206\6\366\201\370}\272\r\202\37\32\373\304"
+".\252J,i2d\35J\213\252\3468s\242\2431\33P\42\252\253\205\t\365#\33\320"
+"\211ef\374$OA;P\231$\242E\365\320\231\212\264\23\37\266\3\245\333_\351"
+"\25\306\302\17\355\333\202\6$FQ\361Hj\4\335 E\325na/5;K\221\235\372F!\221"
+"\364$>N|\267\t%\242\346\336\322I\32@6\241_\243\272\242\362\362Hj\bM\365"
+"\3522\205\363$\7\355B\251\250\225\225\31\222NFlC{\245\214\370\33\271$5"
+"\206\256\177\316\200\372\262\0\245\371o\312\325@\23!\7P\42ja\275F\322\341"
+"\277\16\240c\253\232\370\275\346\233>\7\64\325\257\201\362\225\276\31\224"
+"\212z\371\230J\322\215qGP\177\n\77\327\214\220\7K: 9\202F\307U\361s\26"
+"\224)\224\376S\265\272\250\244\376lA\313jH\362\347\1778\204\216\254\223"
+"\370=\36\316\211\232B%Bh\343\226\324\24J\317\24\r\367q\361\6\35C\373\360"
+"\3116\357\16~#[w\f\215|\321\325.r\f\245\233\n\267\244\34\320\36\335+x\26"
+"\240\303\31\247\273\367\t{P\227\372K2c\237\3r\357bC\217\22\257\314HT\315"
+"o\220S\6r3\177*\327On\31$\237\272\303\235R\337U\254\250\247TF\257\222V"
+"\317f\314\272\241\266\240\270\244\305\243\n98\35\213\215}L\177\373vI\305"
+"\351|\244|\3266\24\25z\332\213h\307npv+>\365\16\277\340\277\4.\256:\322"
+"\375\35\352\306\'J\333C`\314\340A\245\377P\22x\0\337\2124\251\33\323\207"
+"\336W\320\25Z\275\222\250\322\34\223\312\30\334\242m\263\3517\262|\250"
+"\234\216(\3]fe\267\77`e9q\25\277vQ\3719\241)\13\313\77\61\300\t\215B\353"
+"\216\334\205.\214a\257k[\177\337\244=)\314\245\235g\21V\32\367Fk\351;\377"
+"\266\322\26&wo\27\302{\2141;\341\307H\2300a\302\204\t\23&\314\251\375\3"
+"y\257\216\n^W\222\346\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\1\312IDATx\332c`\30\5\243`\24\214\202Q0\nF\301\320\7\372\307\77\374"
+"\307\4\277^\314fESX\374\360;\26\205\237\257\7\300\24l\370\217\3x\243\32"
+"$\365\17\207\272\247\f\f\f\fL\f\f\fr\270\34+\213\312\25f\304\241N\nf\22"
+"\13.\223\30I\t#&\252\2056\23\3\3\303W\\\222\77Q\271\377q\251\373\3\63\351"
+"8\16\5\377\316\240\362\357\276\303\241\360$,(83\214\330%\fxQ$\357\334\370"
+"\376n\365^4\35Z\211\362\354\n\272(\241\367\363\374\263_w\246\77C\26\342"
+"\232\207\24\255\337\334p\207\207\356\23$\205\373E\260\250\340\371\211P"
+"0\13_\320\346!\231d\210-\356\276\334G\210^\305g\322\25\6\254\n\221R\301"
+"/\254LL\360\13;\233\272\351i\324\244Q\223FM\32\65\t\251P\276\244\13g>z"
+"\215G\13\217:V\355\330kM9\271\321\20\37I&aO\5D\247\'\354\340\22\242\222"
+"\316\304\247\316\6\2516\37\215\273Q\223FM\32\65i\324\244\301c\22\13\241"
+"z\2\213$\13\66\223\330\344\21\242\252\370LRe\300\257\220\261\21\251\312"
+"x\247\205\333 \321kH\nW\261\2414\200\30=t\4\4muP\272\267{n|z\267\353\26"
+"\232!\42\201\242|\n\356\2\310B\217\367\274z\377p\343w(\257\36\307 \307"
+"W%T\203X\37\340P\270\21\246\342\b\256q\225x\264\2569.u\77`!\316\207+H\270"
+"P\271\314\270\324\261\17\346\224\371\7\227\344\177RMz\214K\22M\342-.\223"
+"\341\203!&g\377`\213\221O\13\321G\327\252_b\215\272\273\301\f\243`\24\214"
+"\202Q0\nF\301( \21\0\0J\b\214\260\27d\347\317\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\3\370IDATx\332\355\230[H\24a\24\307\77w\327"
+"5mS\323.\226\26\31V\244Yf\224e\5\22\244A\254\30\365P\17v!*\212\240(z\210"
+"\352\241\202\3102,\210\242\373\203\5\31=\b%\5YTR\226Q\242di\31\32\331E"
+"\3132\335euw\335\351!f\375\237\331\271\34}\211`\316\323\314\234\377\374"
+"\346\233\357;\347|\27!L3\3154\323L3\315\264\177aaz\316\204\331i\311\23"
+"\342\35\16\321\333\363\363s\353\333\372\346!}\42r\305\205\17\222\302:\256"
+"\257\217\37,\'\353r\267\244j\336[N\313 8yU\222\2165\255\26719\251\17$\3"
+"kX\312\341\204\37\364J\306V:\322\20\64\261Zb\331\307\371\6\240\5\355\22"
+"\323\372\n\25\257Z\311\335\362\212\230\20\370\217\226\367\255]\376h\345"
+"ck\201\347\211v\213\234}\212\17\267\237s&\376u\305\346\34\r\t\257\275\232"
+"\240\305\36\305\20\25\322\341\316{\250@m\325\0%w\20\231{\2275D\262\352"
+"+\221\370\227\250\202\42^\322\370\233\252&\212\277O\323g\274\232\3508\321"
+"<\322\b\230\360+DvO\245\2d\365\243\342Y\264VgZ\257\21\324\346\20\201\245"
+"\226\304\335(\355\1\266=FegHq\330@\242n\236^\364\216#\335~R\371\373-\350"
+"=\244\237\b\253P\333\233H\235k\321\371n\230ANU\240\372\24\365\275B\337"
+"j\2434O\307\321\371\355@\327<\4\2756.\212e\250\337\204\2363\350\331b\\"
+"\304\262Q_\205!\200\243\321\355`\324\303:x\241\377o\237[\204\20\42+\1D"
+"\345.\6\351*\266\3039@\312CQ9\247F\23Q\356\300%\246\245w8k\332h\304<\16"
+"&\237\325\5\217\253y\23\320y\354\363)\362\337\245`3\236\362HD\226!\223"
+"R\311\250\360HD\226*\223HM{\303#5\6\340&\370wI(\371\300#y\276\300M\222"
+"L\302\22\332\373\2139\347\177\205\353\3612)\26\36\266sW!(\214\225I\230"
+"\36\335\\\22\n\35\62)\22\36\372\271$\24F\6\263\5\254\237K\n\21Z\204\20"
+"^\234\365\270$\24ze\22&\377p.)\n\256]2\251\13\36\216\346\222\306\300u\227"
+"L\302\1\35\301mT\2022\42,B\2106\262\316\340\201l\230\30m2\211,\330\247"
+"\363H)v\270i\226IM(I\343\221\210\254I&5\370\340\351B\36)[\275\304\274\200"
+"\372\327\303[\266\327\300+.[0\306q\306r,\342\200Fg\302M\265\77H\252DQ\1"
+"\207\344\304\225#\274\36\211S\302\'\316\357\335\305\t\1{\377\6:\362\215"
+"A\223q\211\361v \203\205(E\331vc\3226,!\344e\333\27l\324\2\303\234\303"
+"\336\360\221i@\354GR\245\21\351\4\252\313\250/\216l1\327\350\203f\372@"
+"\33\230\243\360\36F\322\2671z \373s\324\206,H\242\311v\254\322\252C*A\245"
+"/4\343\13\311\202\375\2646hc\0\205\305*\7\7$\330\244#Z\2405~\2245\253-"
+"\0\23\277\23\324\25\273*h\17\331\224\370\262UE\313\310\327\244\347*\225"
+"j\354M\272\301\333\245\321\360\335\212\235n\221b\b\243vv*v\350\232\235"
+"Y\254\330S\272/\346\206\7\373q\3561\345n\373\266]\363\204&\254d\207\22"
+"\356\252\257k\357\352\217\215K\317\214S\272\356\254\364\350\304\312\201"
+"\0w\227/\225\332\r\366I=<\216\177_\230QvN\253\341\200Zs8s\342\36\303f\371"
+"NE\363f\240qg\373\3648\201\362T\376\1TbQ\207\26\307}i\306\340\16\305\42"
+"\362KU`\356\333\353b\206p\342g\315\310\236\225>I\216\363\337-\215\265\325"
+"/z\207xv(\204\20\303\342F8\204\307\325\3516\317YM3\3154\323L\373\177\355"
+"\17\220 q\311\13#\224\266\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0E\0\0\0x\b\0\0\0\0\201\2`\206\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1NIDATx\332\355\230\277J\303P\24\306\277\334H\213-\225\352PDp\260"
+"\210\177\20\35\352\242\35\\|\21\'}\n\361\r|\0wAA7_\300\265\213\20\324A"
+"jG\265VJ\35J\243`\342Ts.\334\233\324\246\16\226\3577\35\310\227_\222s\356"
+"r\2\20B\b!\344\217(\236\274\205\303\341\327\17~,g\341\360\4\213\0\24\0"
+"l\245\370\16g\271oq\322\266D\215\244\261\n\0\2024\206\257\276\245\226B"
+"\362\341\1\230\0\200\375\233\365\354leR\273\372\350\275v\272\376{\330\1"
+"\340Ne\362\305Ba\246\274\2427\340\256\341\277\234\77\351\207\346J\314\257"
+"\275c|\360\374\265\310\2646M\221\262H\34Y\336\177Id\16\2153j\364\242\332"
+"\263X\36D\346\326<\351Oc\251c\316\214\360\274\320B\13-\264\320B\13-\264"
+"\320B\13-\377\320\2221\226:\346\214\260,\210em\315\42I\314\344.\345\36"
+"\266\201\337d\34\0\310\357\255f\347\266\247\265\315\264V\3575/\304\262"
+"\225\2349\265l\377\335RtKlF\1@\325\322\205\\%\252c3*v\334\356\0G\302\35"
+"\337\263\333\262]}\216\312\344\314\356}`\32b\373X\374\230\31$C\b!\204\214"
+"\1\337ZfS\323\345#\350\341\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\17IDATx\332c`\30\5\243`\24\214\202Q0\nh\16\30\31\30\30\30\30"
+"\354&)\362\341P\360\373\13\303\307\327/\357\337<\177\341\33\16\25\247\377"
+"\23\6\77\367\226Ja\325\374\360\77Q\340\357V\33\3625\377\377\377\177\213"
+"\22\5\232\377\177\215\246@\363\377\377Mpm\314\f\f\f\f\fN\352$D\220\375"
+"\377\203(\232\3673~|\374C\210\211H\335\16\347o\42\3073\3\3\3\3\203\314"
+"\22{\30\363L8\204f\342\347\25\223\327\262\320@\323\375Z\355\3\206\211Z"
+"po\35F\225Pjy\217\352\355^,\356\371\216C3\3\203\310\6\24\315\237x05\177"
+"\300\251\231\201q\16\212\3564\210\257\210\f\244\377Y\27\220\271\236$\331"
+"\314\300\340\206l\363GFRlf`\330\365\b\211\303\'K\232f\206]\310\34\65\22"
+"\65_F\346\b\223\250\37152\207\207D\315\2370J \22\64\243$\214\257$jF)\204"
+"\336\222\250Y\17\231s\2174\315\314\256H\234_\17H\323\354/\215\3049\371"
+"\207$\315\334\355\310\274\275$\245m\226u(\271J\235\24\315\322{P\364\36"
+"d ^\263\\\333g\324\222\304\t\352\34\254\36d\21\2042X\205\304\224\365\354"
+"\r\30Q\245\267\354\303g3~\360F\2\252\236\204D\2\217\343\260\27\f\344\332"
+"\374\335\37\273\231\304h~i\303@\266\346\r\342\f\344j>\343\212;(\360k\376"
+"\264\324\26=F\211\13\341/\227\216\355\333\377\203\201H\315k\356\302\33"
+"\64\337_\77\273\367\230\260\371H\316\366&\306=d$\222Q\315\243\232G5\17"
+"{\315,h\355,R4Kq#\330&$:\202\5\271U\374\325\234\350\356 \213\257\32\277"
+"\260\223\n\262\304\277\375\27\77}{\274\357\25a#f\341*\350\2779\20\366\263"
+"\13.i\316\20\302\232\231\311\213\312!\235\302^\23\327\310\306\16\234\257"
+"\375\303\32S\277\217\312\217\216\214\214\202Q0\nF\301(`````\0\0\356(\343"
+"\225.\226\337t\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+">\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\3\5IDATx\332\355\230_HSQ\34\307\317\266\333 \315\2655%\207\262\232[\26"
+"\246\226FA\1774\22\r\242\7\367\244\364Z\341Kh\350\203\364\20=\364\27\362"
+"A\372\3\25\4\275DQ\20Q\22\341C\314\352\245\f\31\321\234\313Q\303\234\246"
+"6sr\347ln\273\267\207Q\376\316\271\177v\177\17=\4\367\3732\370\375\356"
+"\347|\317\275\367\354w~\347\22\242K\227.]\272t\375+\31T\263\305u\325\356"
+"\362\342B\13!\31>\315\377\3741\33\t\217.i\33\330|\370\346\250(U\306\177"
+"uW~xk\377\274\250(_\215:\\\367<+\252)\321\244\2;\356\13b\36}[\243H\37\217"
+"\213\371\325\240\0[\36\213Z\324#O\273\203\232h\361Q\356r\216yf/72\343\305"
+"\246\346\rV\247\235\265\331#\347]\277@Y,\77hs\344\22\256\316\20c_\42\245"
+"=s\360\202\344%\350\311u.Qx\213t\211\206a~h3\223\256\32\203\351.\2266\r"
+"\302\364uN2|\321C\220\357g\263g }Q\366\275\264\6\24\361\332\24\240\357"
+"(\254\ncc\337P\224\27\323\323O]L\342=\240\207\315\330\77\376\t\370\302"
+"\266a\351\265S\0\77\217\256:\335\200\236)\304\322\346I\200\367\242\315"
+"\217\1\232\267\242\361\327\0\277\207\246]\260\2744\241\361^@\307L\b\320"
+"H\b!\304\13\42\203Y\254\271-\3\334O\22\254\373A8\337\267h|/\b\360a4^\17"
+"\2\1\1\215\303=g\234`q\13\254\256\21\64\276\t\6\242h\334A\325u4n\203\201"
+"8\376\336a`\5\215S%9\201\306\351\252\205\306)\303\2\64\236\244v*4N=\354"
+"r4>C\365\7h|\232\332G\361\255%l\341\342\6\364\213\13\201\300\372\355h\374"
+"#\214\34B\343#0r\24}\357\225\2601H\3417\231\t\310w\240\361\333\20\37F\343"
+"-T\317\265\37\213\233\276C\374\5\332\3762e\337\210\305\235i\210\3739\315"
+"\323\316\375,zv\200`i\372\r\322\336C\331\257\354S;^u\rD\226\305\344\207"
+"v\30\274F\335}T\361o\317\235K\374\361\200M\265\225z\370b\250T\236\336\340"
+"[\275\206:Oy\351~\375K\245\34]\6\217vt]\273E\363\361v)]\13Ww\220\351\355"
+"\3361\7\206\1\246\362\30OQ\'\202\13\314\330%a\206\317>\363\256\226}{G\200"
+"J\n[\330#p\205\317\311N\367\327\310\247\251\230P`\253\250\251f:\256W\315"
+"\322\376\356\263\250Y\255rK\302\247\225\236\220m\377\270+Ym\370i\205eu"
+"`L\13\375D\261\3674\367\314\345\203\223g\325:\327u\335_\325\340X_Y\276"
+"\372\335|W~\nB\360\306\21\263\226O\37\306\235\r\273\253\334\177\33\27!"
+"6;\31\31\17\370\27\20_N\b)\262\333\214\204,\246\3708\321\245K\227.]\377"
+"\241~\3F\242f\16\355\336\354\375\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0\77\0\0\0x\b\0\0\0\0`iu\327\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\1\242IDATx\332c`\30\5\243`\24\214\202Q0\22\1#\224\366p\223"
+"f\374ui\351S\42\264\310\273+\13\374}ur\347\77$\261\360\377\377\377\377"
+"\377\377\377[6a\13\233~C\324\256B\26\335\373\37\n\226\211\342\327.\276"
+"\34\246\362\'\222\373%\2362\301\24|\337v\341\25.\315\374R\372V\3540\316"
+"\5C\204D\376\177\322A\13\222\301\'\311\320o\212\320\256B\206\366\207\20"
+"\23731000D\223\21\361k\377#\330\267\310\260\337\22\241\335\230|\347301"
+"00D\220\341\3745H\316\277C\206\375f\210\364\257u\25a\324\343}\227\36\275"
+"\377\300\300\300\300\260B\5.\330\261\206\201\201\201_H\305\326\215\5&t"
+"_\31a\177\n\334\320\313\36\214p\321K\b\2732ab\232\217aB\2350!&\6\6a(\363"
+"\337D\223\35\377\361z\372z:\224\361\177!L\210\205\201a\211\246>\37\303"
+"\377\247\247\27^&\30j\333\362J\344\30\30\30\236\266^#\250\24\233\373\31"
+"\30\30\30\270\5\5\271\221\270,\244F\334\327\257(\\&\n\313\257Q\375\243"
+"\372G\365\217\352\37\325\77\252\177T\377\250\376Q\375\243\372!\35E\254"
+"L\242\201:R_a\17\351\332%\16#w6\362\231\t\366\277\341@\312W\225\227[\316"
+"\214\35E\360\331\331\327\277_\234\335\376\207\260\305\252\237p\367y6\22"
+"\341\360T<}\246\277D\204\77\13\211q5\334\322\337\33<j\77\20a\36\307\352"
+"o\270\202\377I\374\350p\325(\30\5\243`\24\214\2*\1\0{4*\223\304\304\13"
+"\255\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b"
+"\6\0\0\0\251wO\35\0\0\0WtEXtTitle\0/root/links-2.1pre3/graphics/font/c"
+"entury_school-medium-roman-serif-vari/0423.png\367*\264h\0\0\0\32tEXtS"
+"oftware\0GNOME Icon Editor\236*\nl\0\0\6\177IDATx\234\355\333OH\24o\30"
+"\7\360\357L\313\42a\261\305Z\teA\205dbH!\205PQPa\21\325!\210L:\24\204\b"
+"v\210nv\211.!\n]:\4y\331,\272\204AA\350\241\277$\305F!\211\4\6K\264mXn"
+"\261\3542\272\355>\277C\277\342]\324\365yfgf\307x\2770\240\370\316\373"
+"\274\373\331q\347}gf\r\0\4\35\0\200Y\356\1\370)\32C\211\306P\2421\224h"
+"\f%\32C\211\306P\2421\224h\f%\32C\211\306P\2421\224h\f%\32C\211\306P\242"
+"1\224h\f%\32C\211\306P\2421\224h\f%\32C\211\306P\2421\224h\f%\32C\211Y"
+"QQ\201H$\202D\42\1\313\262@D\216o\223\223\223\210F\243\330\273w/{`\7\16"
+"\34\300\373\367\357\221N\247\35\35\213eY\370\362\345\13\372\373\373\261"
+"t\351\322\302\242G\216\34!\257\362\356\335;\302\357{\273E\267E\213\26\321"
+"\304\304\204\353\343\351\350\350(\250kVWW;p\200\361\22\n\205X\355\252\252"
+"\252\20\16\207]\36\rPYYY\360\273/\77\63\202\301`Y\352\372\22\243\\1\177"
+"\374\370\341Y\261\\.\307j\227L&\221\317\347]\36\315\314\230\17\37>D,\26"
+"\363\244\330\243G\217X\355R\251\24\356\334\271\343\362h\200\17\37>\24\374"
+"n\0\240e\313\226\341\364\351\323hllD(\24\302\226-[PSSSR!\313\262\360\372"
+"\365k$\22\t\244\323i\f\17\17\243\257\257\17\323\323\323\254\375\3\201\0"
+"Z[[\261s\347NTUU\241\251\251\t+V\254(iL\361x\34\321h\24\223\223\223\30"
+"\34\34\304\255[\267f\264\231qj3\f\203\216\37\77N\311d\322\326)+\221H\320"
+"\2325kX\247Q\356\26\b\4\250\253\253\313\326x&&&\350\324\251Sd\232\346|"
+"u\346\376\343\326\255[)\235N\213\213G\42\21G!\324\355\325\253W\242\261"
+"|\372\364\211\326\257_\317\352\273\350\331$\32\215\242\263\263\263X\223"
+"Y\263|\371r\361>\334\244R)v\333\351\351i\34>|\30\343\343\343\354}\212j"
+"\31\206A/^\274\20\275\33\226e\321\312\225+\35\77*\f\303\240D\42\301\36"
+"Goo\257\264\306\374\215v\354\330!\302 \42\352\356\356v\34\243\271\271\231"
+"]\77\223\311\320\252U\253\234\307\0@\3\3\3\42\214t:M\341p\330Q\214\376"
+"\376~v\375k\327\256\331\251\301kX__O\277~\375\22\201\\\276|\3311\210\232"
+"\232\32\312f\263\254\272SSS\264z\365j\3670\0P__\237\b\343\373\367\357T"
+"YY\351\bFww7\273\356\365\353\327\355\326\3417^\273v-Y\226%\2\351\354\354"
+",\31\42\24\nQ*\225b\325\313f\263\264n\335:\3671\0Poo\257\b#\26\213Q \20"
+"(\t\343\302\205\13\354z7o\336,\245\226l\207p8L\77\177\376\24\201\264\265"
+"\265\331\36`0\30\244x<\316\252\223\315fi\343\306\215\336a\0\240K\227.\211"
+"0FFF\3100\f[\3lkkc\327q`\346+\337i\311\222%\242\311\17\21QKK\213\270\216"
+"a\30\64\62\62\302\352\77\227\313Q]]\235\367\30\0\250\243\243C\204\361\370"
+"\361cq\215\375\373\367\263\373\277{\367n\251\20\3661\202\301 }\374\370"
+"Q\4\262}\373vQ\215\241\241!V\277\371|\236\32\32\32\312\207\1\200Z[[E\30"
+"\367\356\335c\367\335\330\330\310\356w``\300\t\210\3220L\323\244\267o\337"
+"\262\7\235\313\345\250\266\266\226\325w$\22a\367\273m\333\266\362c\0\240"
+"\203\7\17\262\7MDt\343\306\215y\373\224L\275\37<x\340\24D\351\30\0\350"
+"\351\323\247l\214\251\251)\252\256\256.\332\237d\352\335\334\334\354/\f"
+"\351\22\377\352\325\253s\366%\231z\17\r\r9\t\341\f\6 [\342\'\223I\n\205"
+"B\263\366#\231z\357\332\265\313\237\30\2337o\26-\361/^\2748\243\17\311"
+"\324\373\331\263gNC8\207\1\310\226\370\361x\234\202\301`\301\376\222\251"
+"\367\276}\373\374\215!]\342\237={\366\357\276\222\251\367\360\360\260\33"
+"\20\316b\0\240\236\236\36\66\306\330\330\330\337{\31\222\251\367\241C\207"
+"\26\6\206t\211\177\364\350Q\2\370S\3577o\336\330^\1{\216\1\310\226\370"
+"/_\276\24M\275\217\35;\346\26\204;\30\322%\376\330\330\30\253])\327E\312"
+"\206\1\310\227\370\234\2348q\302M\b\3670\354,\361\213E\375\260]p\30\0\350"
+"\344\311\223\216a\224r\35\325\27\30\322%\376\\\31\37\37/\371\n{\3311\0"
+"\371\22\177\266\2349s\306\13\b\3671\0\320\223\'OlC\304b\261\31\323\366"
+"\5\215a\347.\376\237\264\267\267{\5\341\r\6 \277\213OD\364\371\363g\252"
+"\250\250\370\3670\352\352\352\304w\361\317\237\77\357%\204w\30\200\354"
+"\371\212\257_\277\322\342\305\213=\305\360\354\ta\3030P[[\313n\337\323"
+"\323\203L&\343\342\210f\217\'\352---\354\243\342\333\267o\216=\327!\334"
+"\274)\364\374\371s6FWWW9 \274\301\330\275{7\33\242\330\305\342\177\2cp"
+"p\220\215q\345\312\225rA\270\217\321\324\324\304\206\310d2\216\77!\350"
+"+\214\373\367\357\2631J|\4\311\337\30\r\r\r\224\317\347\331\30{\366\354"
+"\371w1n\337\276\315\206\260,\253\334\20r\214\3312[\273M\2336Q.\227cc\214"
+"\216\216\226\33B\206Q,\245\34\25s\201\372\26C\362\2026l\330 :*|\200@\0"
+"sm\362{\274\374\234;w\16\246\271\360\276\30\31p\2623)\32\360{\1\347\227"
+"\270\362\366\331A\361C\\\301\340\276\333~:*\2002~\343\331o\20\200\376\372"
+"wAX\30N\277\213~<*\0\301\221\341\324\13\360+\4 \3747\341\276\220\271\276"
+"[\357g\210\77\2615[\233/\243\243\243\177g\241vkx\275\31\377\377\240\3}"
+"6)\210\306P\2421\224h\f%\32C\211\306P\2421\224h\f%\32C\211\306P\2421\224"
+"h\f%\32C\211\306P\2421\224h\f%\32C\211\306P\2421\224h\f%\32C\211\306P\242"
+"1\224h\f%\377\1\315D\257\325/\320\2660\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0x\b\0\0\0\0`iu\327\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3\35IDATx\332\355\230OH\25A\34\307\2773\317\367D\237"
+"\232\251]BLA\244 #A3\2\225<\324\311\77T\42\21y0!\42B\242\2\301(,C\n\42"
+"\42:\4QDBAF\24\31\35\242[\224\224\224\364GD=\211\bJe\376\343\305\242\323"
+"agwg\337\333\3317\223\35*\366{\231\331\357\233\317\354\356\314o\346\267"
+"\363\200@\201\2\5\n\24\350\277P\337$\363\320d\237\42>\300$\32\360jM\22"
+"\34&\355\231xxt\225/\373\367\361c\262\246cj=\346\33\336\303o\344k<V\315"
+"\250\210\216\326\350\277\330\234\203\317\375\316\370]\363\254*\305\4\311"
+"-\253m\334(:o\236\276\374\362CqBJ\257\306<\307o\366L\21IJ\2579e0\271f["
+"R}\351\354\233,\231N\313{\bu0\5\31\315\222\267(\230`j\32\314\366\302\233"
+"\230\262\214\212D\374,\323\321\376x\274\233\351\251\305\215\37v\377:|d"
+"S\264\325\271l Ye\235\323\356&\256\25Q*\3762^\37\5\0\221\7\0\344\264\316"
+"\n\255\226\363\34<,\254\225W\305\334L\340\1R9\356\230#\3164^r\2\254\334"
+"6=x\200\324;\341y\3202sl\353a\30\376<\2201h\317b\204\257\337N\353\267\363"
+"{\215\244\13d\241\342\1\257\245\360I\f[\35^v5\224\334\37 \375\326\266B"
+"\0PTr\377\335I\265\5\316\32g\314Jf!\0\212C\334\257g\212;\233\261\233W\352"
+"\314K\363i\356\306\265\222>\77\200!\323\377\b\200\246\247\360\301\323\330"
+"[\217\233\305f\n\320\34\356\215k\360oy\231\16\320\265<\271,k\360\363\274"
+"\214\2\224o\6_\264\222\303W\207\347\t`Q\213\237\267\223\7\345`\221\26_"
+"h\26\61\200~7\253\345D\3\267\226\311\42@\277\361h\316\326\340\13\254\305"
+"\0P+-\355\321\340\333\371(\30\0]\371`^\\IQ\3063\216\231\345=\0\324\312"
+"\256\231\'\224\371\33\274\354\5\0\254\263\302|\213b\374\357\263\374T\0"
+"\24\63\237\270\377~\203\322\335\253\254\r\244\367\247Yn\267w\244m\n\367"
+"o\266mk\26\310\210mu\205\222\360\251wl\367\261m\2268M\247\252\211\17O\233"
+"\226\34W\b\230\213Bb\230\250\213H\370\214\266\5\241\335\1\361\233e\310"
+"\225\233\36\355\314\212\347I^\303kW\233\373\2561M\213\313n,\326\'\362\355"
+"/\22\276\1B\356I\311\232\326J\277C\341\370YM\37\326\300\237{\304z\350\226"
+"2\336\341\275\326\253\226\224\350\211\22\351\266pN\341\333\247\325\357"
+"\304\220\331\345O/\265E\222mM\273\6\245t\177\205\322i%Z}}!\201\235\352"
+".\213h\354PiE=\16{t\307\372\bt%|\23\r\353\237>\266~\26\37\376Y\256\6\232"
+"\37\223M]\217\22\77*\237\276Z\225\363O\261Ox\374\13\347\327\225U\362O|"
+"bB\251\313\333\222#\330\334\205\340\277\235@\201\2\5\n\364\207\364\13\271"
+"\21\62\376\42\260`\255\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0A\0\0\0x\b\0\0\0\0\210\351\300\374\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3\223IDATx\332\355\230_HSQ\34\307\177\333\314l\206N\363\317\203"
+"\346\260\30\212\264\20\303\376\b\5\241B\275\230\371\22J\24=dD\20\221\332"
+"\77\245\227\242\236\f\351\245\210@\42\42\243H\n\265\202rVRX\255\266\212"
+"Y\210\13t\242\6\316\177\323m\376\331z\270\356\236\337=;g\273\227E/\335"
+"\337\313\356\371}\317\375\354\234s\317\371\375~\367\2\250\246\232j\252"
+"\251\246\332\177e\245=\343\363A\206M}\314\27:\\\30Yb\311\3\347W\0\251s"
+"A\236\235\25z,\360\364<\0-\0\24\351\271\243\323\b\77\253xz\272@X\35\323"
+"\22hc^D-\0\314D\355\265\314\23\226\4B\337W\356\255.\341\307\302\221\207"
+"\354\0:\0X~\340\363y34\264<\334oki\25.\237\316{\335\251\324r\6\354\266"
+"\307\265n\344(xO=\250\343\24\320\320%\221\77\230\302F\224\320)%\304\323"
+"\35\362\261\332\233\310\230\224\376\223\204\220L\353\271H\34\\\307\\\227"
+"\334iL(\247\345\375D\363o\341,m\r&<\241\267\347[\242\325q\37\336]\214\330"
+"\'\325\216\21\345\271\206KH\32D\204\3214\311\24gEa,3\302\346\333\276\210"
+"\20\217\360\34,\242;\260\'\342\376m\302\3638H\374\'\211\2679\362\t\320"
+"\275F\4wV\310m\362\210Nk|\224Cd\234\f\206/\231\256Wty\362\242\236\303\3"
+"\214\255]O<Gd\34\370VD\360l\4\0(\360\212\216\373rB\306\332\1\274\377u\0"
+"q}b\363\227AV\324)\306\201\365\f@\243\330X,\221\31\270\316!\202\317l\366"
+"\213\215&\271\241O\327\215\20\66\273x\331\243\223\35=\263\'X\311a\42[A"
+"\0\256b\21*\25\305\360[\341\200\33\312\262@b\77\r\370\256W\230H\212\374"
+"R\200\327\2548\27\325K\t\'\224g3\315KI\314\323(\317\233\301F\334r\6\225"
+"\217Ag\301cX\336\255\234pQ\272\16C\6\245\200]t\335sO! m$lG\325({\20\35"
+"\341{\322\275^\t\3414\353\\t+(x\212\375\314\312\255N6 \331INt\311\24\212"
+"6\233\345\22\332\310MUp\30\r\342\233\314\262\257\226\334r\23\0\332\203"
+"\262\363\325\212\231I\211\353\320\3@\3068!\4Je\0\364\16\62\357B\0\0\250"
+"D\203\30N\211N\270M\272\237Zq\335A\210\266\250\200j\322\2713t\242\rC\354"
+"\204\3164\323\f\253\320(\13\20\302\2441\42 \336\312.4\256\243AD\316\32"
+"-\244\3435\311\362\376D\210\206\b\200\n2\332/\322Bc\33:\354\376B. \207"
+"\244\252\271|J\273\204\3\177\2/\256\241\212\361h\330\n\331\20\242\205C"
+"\270\314.\343B[\325\207\266f9\23PF\246\352Le\350\rh\20.V\207\314Q\362\27"
+"E\314\270\365\f!\36\62\364\27D\376\315\236\345&\34m\16\205\311W\221\272"
+"\230\306.x1az\3u \233%\341\254\203\225\34\262\254\222>\16S\350\2254\251"
+":\'\316XJ\375\253\347\215\313\325\352\42\355\275\345I\306\235T\200\362"
+"\277\3721\343l\367\200\326\312{#v\240\364\303}\255\266\257\201\255\\1\310"
+"\214{\264Uh\323eea\276\224\365w\336\232c$\370b\4\314k\77\317\362\264\5"
+"r9\313\177\247\357\5\330\3215\306\\\344\271+\244_\212\205\375\25\304\363"
+"\256B\375\6\245\232j\252\251\246\332\77\262\77c\31\215\236\245G2,\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0F\0\0\0x\b\0\0\0\0j5"
+"\333\205\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\332IDATx\332\355\230;"
+"K\3A\24\205O&j \304`T\22\25V$\242\210`!\230\302\37\20\13[\301J\264\261"
+"\265\261\260\26{\261\366\7\370\0E\24\21\304N\20-\214J\4\5\305G\241l,|A"
+"\342+j\306B\223\331\305\214\233\354\254\26rO3w\2313\337\316\334\31.\314"
+"\0$\22\211D\42\221\376\\%\223\2114\377\256\373\255\366\242<\335\\\242%"
+"\24\352a\0\352e\323\324Dh\341a\0\\\322\325\212\320\302\303\234I/\3\220"
+"\226u>\211\320\302\303\0\304e\226}\21Zx\334\0\364\23\327\365\275\327c\352"
+"}\779=X\34\25\323)\304\3\0\245\203o\206m\\\f\345\373s!\36L\t\307k@\262"
+"\4\231\307\260S1\21\236\335I02\217\1\363,\302\27YBe\36\7\317\ra\bC\30\302"
+"\20\2060\204!\fa\bC\230\377\2151\\P\2752\273\327\32\323$\302\206Z\211\275"
+"S\204\356\374\216\326;\303\315m]\313g\361\fg\204E7\366\270\0\240\271\253"
+"\322\337\22-3\335#\343\207\27WW\211\233\333T\n\256\n\177UMP\253\13GL\227"
+"\276H\f@h\244ug\342\6\0\20~\340v\244\367z\320q\3169\277h\4\0\fp\233zM~"
+"\266+`\77\355\213\345S\213\357\263\215:sn\216\235\301\314\201\1xW\305\314"
+"\202\1\330\343j\224\335#0\0\333C\267J\230\251\354\363NIyq\3\375\375c\342"
+"#\243\351\266g\260)N\317\232B\241\3300\255\3116Fd\363q\301\221\262\265"
+"\234t\4\63\255RD}\271\325\255\252`r\343\346\323p\42\3053J\31\351\311\326"
+".\265\344\6\276*\346\270\342\6\365=r\316y<h(\351\266T\335\346\346\227\307"
+"\34$\22\351\27\364\18\371\232q\310\356R\376\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\1\371IDATx\332c`\30\5\243`\24\214\202Q0\n"
+"\6\32\304\335\377\376\37\35|{\330\0\223\16\274\363\25C\372\307\303\4\230"
+"\364\355\377X\2012T\3720V\331\333\f\f\f\fL\f\f\fl\330\235\304\5\245\371"
+"\261\312\262\301t\223\17h\256\373\27~\335\17\260\312|}\be`\227~\304\300"
+"\300\300\300\314\300\300p\360\327\223\333\377\304\220\245\36\34\274\274"
+"\273\364\36\224s\342\317\323\333\214\42\310\322\17\17]\332S\363\16Y$\37"
+")6f3bXU\214$\275\fS\232\353/B\332\220\1\257\264;f\250}\373\214P\372\26"
+"S7\262\364+\212b\354\17\375\342{T\367\250\356Q\335\324\326\315N\221neL"
+"!KN\374\272\277\42\4\355\321U\2614\36b\303\357\212{\210b\357\31\7\232["
+"\216\242T\200\272Xt\37C\222\357C\251\357J\320j`l\272W\42+\230\0\367&O\352"
+"]\364\312\27\241\233\5\316\272\22\206\\7\204-=\372\230\201EB\303\312\231"
+"\233\250\320\367\372O,\320\305\22\346\7\277S\222Z\276n\307\247n\3777\2"
+"\6\271\342q\354t\326\17\370\303\234\201\341\0.\275_\23\30\30\b\352\326"
+"\376\212]\3639m\6\42t3D\377\303\242\367g#+\3Q\272\31b~`h\336\252\2\221"
+"\42B7\203\341iT\275\333\254a2\304\350f`\364Z\367\5\246\352f\223\6B\2\253"
+"nF,\255@}Mq\341\37o\36\237|\201,\372\1\321d\324\273Lr\262\372\200\77\245"
+"\216\226\310\243\272\7\237nV\222us\361!\330\222$\353\366@\312\214\1\370"
+"r(func&\27*\214\340\377_y\373\374\241\267DZk\376\22Ki\367\253\220H\335"
+"\23\261\26\264w\211\3647+VQ\226!\220Z\376R\244{\323\177l\242\317\211u_"
+"\346g\314 \177\3416:\3422\nF\301(\30\5\243\0\2\0\251\242k\222IWW\7\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0W\0\0\0x\b\0\0\0\0"
+"\242Y1S\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\330IDATx\332\355\230KK"
+"BA\24\307OW+I\23\22\255\b\315GI\253(p%\25\5\355\23\202\b\332\267)Z\265"
+"\355#\324\7\b\242\255\273v\321\252\b\trQ\21A\5\221\17\n|\3465S\303\362"
+"q[\350\314\25g\272\201(\2718\377\325\271\363s~\3671\307\315\1\300`0\30"
+"\f\6\203\3014\233\303o\251!\271]\231\32/\312\2158\266L\240\372\210\331"
+"\373\261]cV\211\223a\352\335\340\320+\2\335\34\230\2\0\20\0\364\274w0\321"
+"jH\211\328\320P\363\376\221\236\246\276\255\320\2463\373\315[\246UN\211"
+"V8\260R\363\206\363,\23\203\264\274\341l\245\347v_f\341\35\0@\27\0\270"
+"W\364cs*\272^\364\2052\336k\371w\253\263\272I\227|\231\360\211\341}\221"
+"\\-z\264\316\31\371\245\77\317\42\251\203`\335M\346K\264w\2479\17\270E"
+"\273\310\257c\340\2m\360\270\225\201\347\204yy\237[\375N\360\32\207\322"
+"\275{\354\271\5\231\242>\245\27R\2058\224n\t\260\336\2)\262\312\r\304k"
+"\17\272W\372\267\376E/z\321\213^\364\242\27\275\350E/z\321\213^\364\242"
+"\267\243\275\32R\f(o\350\343\254\365\262OI+\7)\226x\3(\225\231T6\16\265"
+"\223\302\311 y^\42\235\260C\17aG\36\311\261\3634\17\235\227\210\23d\215"
+"3\337\201\362\345C\374-\225\316\24\62\25\255\306`2YF\335#2\375\362\77F"
+"^\23I1[\354\326\33\7-f\273k\\\206\371\343@\352\364\266\352\355\217j[zd"
+"\5G\24@\0\260\265V\13\232\2516\365\231\n\377o\0P\235J\t\0\261b\213\265"
+"OUor3\335Jmt\375\31\60\30\f\6\203\301`:\'\77\214\244#[\t\366Dt\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0^\0\0\0x\b\0\0\0\0^L\32"
+"\231\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2jIDATx\332\355\230\317k\23"
+"A\24\307\337nb\305&v1+FZ(\30\255\344\244\265\210\210x\20\317b\301\2437"
+"Q\202\376\3z\367\322\263P\2617\5QK\5\301\240 \b\376\354E\3056\211\206\24"
+"DB\261\254A\311\332\33065e\323\347a\263oLwv\361\260S\17\276\357e\336\316"
+"w\336\'\2633ow\303\0\260X,\26\213\305b\261\376K\r\25\232\330\255f\345\270"
+"\260G\253k\33\354\245g)\317\34)\257n\314-\fu\343\307\320\257G\302.H\354"
+"K\236yKb\216\211\\\35\0\f\311\35\365\213p\207\304\246\224\235a\246\213"
+"\227)\36\315\272\353j\267U\7\0\224\3647E\210a\371\216\244\17\273\361\37"
+"%CJ\42,J\354\262\27|\220\230\25\21\306\0\240\264\\\2377\222\242\317\236"
+"\236\311_]\245\313\347h\325v\365\b\373\323\353\367\343\223\336\305\333"
+"\265o_\214\2040k/g\357\216\267}\277\3303Eu\365\264\327\77!\263H\366\25"
+"\177\356}2\357\4\225D\226\206\234\224\331\27<w1\36\226\233\r\332\2438\r"
+"\31\224\331\'<\267\24\232\33\17*L\'\274\302\234\2773\235\315\257{\3063"
+"\236\361\214g\374\346\343\35\265\370\25^{\3063\236\361\214g<\343\31\317"
+"x\306\13\2748\313\330*\33\27\13\203\220\331\27\210\337G]\2432\302\36/\350"
+"\327CL-\360.n\322\231\314\257\234\177\252\346,\331\347}\2466\21x\236\243"
+"\1@,w`\373\321\275\177tZ\323V\275n\377h\264~\352F2\225N\357\316\34\23G"
+"m\370\246b/\324j\365\245\6$\373\314\201\201A\363\360~2O=\6\0\343\362\241"
+"\362\265\5\352\273\210\221\311>\227\200l\21\21\355a\302_\307\b\325n\270"
+"m\201\266V\213\264\24;\325s0\245\264\356\277/*\305\77XW\212\237\242\265"
+"\257*\240[/\b\177#\337\216\34\77\271\3692}f\206\352sX\305\202\367V;\364"
+"\262\222\27r3\337\tn\253y\337\267:\357\245{j\360\31\267y5\257\244\3305"
+"\313]\372\234\232gi\304\245\267Rj\276\265\247\335\346\211\255f\366\357"
+"\334\331\237UCO8\210\210\270\222T\363G\304t\77\322\17\227\325\314>6\207"
+"\210\3709\323\375)\217N\333\216l\201\257sm`\261X\254\177\242\337]\370 "
+"%\23\4{\202\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0J\0"
+"\0\0x\b\0\0\0\0p\t;\13\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\210IDAT"
+"x\332c`\30\5\243`\24\214\202Q0\n\350\1\30\341,\241hi\6\206\217\353nRn&"
+"\353\371\377\377\377\377\377\177\211|\23\230`\214d\3T>\371\200\373\331"
+"\377\377\377\377\377\377\277\232rW\25IB\350G\24;J\354\343\177<\340G\31"
+"#\361FM\371\217\37,c&\326$\225_\4\214\372\237FlX\265\261\22Rg@\244Q\346"
+"!\324H\355L\f\f\f\f]\214\3242\312\307\216\260\272\77\204\225\260000uB\331"
+"\337V\375\202\n\312\333\262!\224|\331(\253\305\276\205(\207\371C#\351\205"
+"6\246\330\377\377\377\377\227\21\357\307\335P-~HbrHF\231\21o\324W\210\216"
+"\375\2148\214R \322\34\26\6\206,/F\6\6\206\33\335\377q(\371GY\304\42\273"
+"J\216\324\362\212JIt\324\250Q\243F\215\32\65\n\275\350#\4\332\277\300X"
+"\357\31\376~z\363\362\361\335/\4Z}\250E\337C|\206\77\274pl\377Yb\13W9B"
+"m\210\377/\247YP\313\250\377\377\377\237\362g\244\226Q\377\377\37\321\245"
+"\232Q\377\177\26\62R\313\250\377\377\3473S\315\250\377\253\230\210OW\313"
+"\20\311\210C@R\215\37M:\364V\r\271U\252z\306\236\277(\316\372\347JA\355"
+"\254\272\b\305\260;\354\224T\364\366\217\221\315\312\241\250\315 u\5\331"
+"YL\24\65\77d^\42)q\240\250\220y\222\205\304\t\240\260Qt\2\241\344\42\205"
+"E\337,\4S\233\2032\243\266#\230\314\252\224\31\365\374-R\204RX\266\77G"
+"0\205)4\n\251|\341\242\314(F\31\4\373\77eF\351!\225\21_(3*\6\211\375\226"
+"\242$*\371\tI\215\42%\256b\234\306\213\344\277\207\224\30U\216\234\357"
+"\216\377\243\300\250\352vd\3366<*\25\360\207\225\300r\224\42\371\267\24"
+"\36\243\274\361\31\305\222\362\34\265\322Y\201\307$\331\2538\215b2hz\202"
+"V}\375\326\302Zy\361(\261\n\311\331\206pcm\24\61\60\bJk\363cX\334w\r\233"
+"s\22~\374\'\31\34g\303\352\263\253\244\233t[\24{\3\222\207\344Tq\321\356"
+"5\225\332\242\13m\236\343j\32\222\346\271\353^xZ\231\244\30t:\232\5O\13"
+"\3715\261\335\367\177\27\266\256\276\214\267\205\354<Y\203@3\356\363\327"
+"\267\317\36\334\272p\372#\303(\30\5\243`\24\214\202Q0\nh\2\0\t\314\256"
+"\366$\tO\267\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Y\0"
+"\0\0x\b\0\0\0\0\274\220\1\340\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\275"
+"IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\364\6J\373\336\376\307"
+"\4\37/\330\341\321\303\330\371\344\7aM3\376c\7g\360\230l\374\37\277&&\6"
+"\6\6\6\6\31\34\272E\361\230,\301\200_\23\23\315B\230\326&\377\302!\373"
+"\37\217\316\177\f\3705AL>\216C\321i<&_\374\211_\23#\3\3\3\3\3s\262\25\227"
+"\210\276\20\262\374\267\323\257~_\237\372\36\217\321f1\22\34*\232(B\337"
+"\317=\377\205E\23k;R\322y*A\\h\232\277A\322\264E\0W\230\77E(\232ElD\325"
+"#\231\254\204+m\374\273\212`\277%\326\344KHaq\17g\252\373EF\342\372\205"
+"K\373\320\315)\243&\217\232<j\362\250\311\303\333d\26\34\342\36H\325\355"
+"\267\357\357^\77\275\377\340/uL60@\27\371y\365\304\221=\257\311\364\300"
+"\226\377\4\300\337\203i|hz\274\21\262\37(\bg&\273\231\217{\304h\24\203"
+"|\305\267\13\230i\2246\370\372\367K\323*\325\331\2362\240Uz\226\332\243"
+"Kv\252\273p\n\301\26\20\226W@S\'\274\315\3505\231\251\256\35U\206\323\266"
+"\365\16j\2\334D\245T\367\375p\265\232\317yd\21\337`\252\205\363\277\255"
+"fU\310\31\274\205\211z1\370\247=\24\251Q\250\341M\315\264\261\276\0\211"
+"\223@\325T7}\77Rq\310A\325\364\334\204`r\231Q\325\344\3\217\220\372\307"
+"\324\315\203\7\220\342\220\272&\337F0\245\251k2RgO\200\272&\363\42\25\247"
+"\3245Y\213V\255\2\26\67\4\373#UM\16\26G\260_S\323d\216V$\316\3j\232<Q\31"
+"\211s\231\212&W\245!\363\216\221U[a\3\314\255\345\310\334;7\2117\231\r"
+"\257R\265\331\250\303w\313\321\365\260\341\f\r&|\5\201\332\264\313\250"
+"\6\377\232\301\300\300\300\300\240\215TY\312\343\320\313\330\370\37{\r"
+"\313%\347\\s\374\37z\33o\2\3\3\3\3\203\336k$\2415\234\310\306AB0\302\214"
+"C\304D\216\224\310|\252-\37\42\316\251b\206\322\22{\177\354\371\317\353"
+"\13\276\42\211\24\377\'\25\374\264\223\370\212Cj)r8[\223Zz\374O;d\310\205"
+"C\316\n\331d6\22\r\376\31\267\20wN`\42==\303\301\275\350\23\64i1~\357\324"
+";AL\251H\252\271\357\346N|JB\17\350\t\221\306>\337\275a\333OBe(\212\204"
+"\362\361_\370\323\330\333[GW\264\204\253\242d\254\211\357\260)\375w\315"
+"\231a\24\214\202Q0\nF\301(\30\5\243`\210\3\0\211\357\16\270\77z1\23\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\77\0\0\0x\b\0\0\0"
+"\0`iu\327\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\1IDATx\332c`\30\5\243"
+"`\24\214\202Q0\n\206*\b\270\372\371\77\6\370\373z\233(\221\372\237\376"
+"\307\16\352\t\352db````\220\302!+N\244~\362\1u\364\377\306!\373\217H\375"
+"\307p\310\236&\250\237\221\201\201\201\201A,K\235M\332\220\rY\342\371\205"
+"/_\17.\374O\202W\304\17\42\305\334:\26\322\303\302\4I\277\77\31\341\177"
+"\t\211\375\226\f\375\277\6,\376G\365\217\352\37\325\77\24\3653\42s\220"
+"J\313M/\20\354\217\337\337\275zt\347%I\3721\301\373\13\307\16\36\376\201"
+"\3271\377\t\201/\313\275\230(\321\377\377\377\377;il\24\351\377\377\377"
+"\232\23e\372\377\377\353c\245H\377\377\377{\370(\323\377\377\b\27\361\361"
+"\317\42 \246\42\201n\325\332\20\374\366\333\240\312\210\6\314\373\200\352"
+"\202t\222\364300\360\24\274F\326\377A\234D\375\f\f\242\33\221\r\350#Y\77"
+"\3\343T$\25\237\371H\326\317\300\270\31II\22\351\371\367\177\352\'\244"
+"F+\31\371\377\305,\4\333\226\231\214\362c\21\202)\240L\206\376\313H\r\33"
+"\rr\312\257\333\b\24649\372\337#y\200\34\375\274\b&\37\31\372\31\65)+\277"
+"\315\205\221\312e2\364#g\273\327\244\353\27A.\342\37\220\234\376\371\257"
+"#\347@1R\355\347\\\247\201\304\273\363\212D\375\242;PJ\356\255\350\362"
+"l\370\335\357\207\326\3133GW`\200G\77\243\313\36\264\42\370\4\244pE\n\234"
+">\34\356\346\227\322\264\363W@\27\255E*\277\205\23\224\331\244\255yI\t"
+"\313\225\21H\234\3\377I\5\267\5\221\r\373E\252\366WjdV\\\20p_\203\201\22"
+"\375[E\31(\320\3770\232\202\212\367\377\265L\16\342\307\17\320\33\16W\272"
+"\314\261\266\277\202\273\224\360F\366\227\257o_<\274y\351\314\353\321\241"
+"\236Q0\nF\301(\30\5T\1\0yD\206rk\3461 \0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\3\66IDATx\332c`\30\5\243`\24\214\202Q0\n\206/`\304"
+"\20a\222S\221\227\225\220\20\20\344\341fc``\370\375\376\371\203k\347O}"
+"\42\326\fF-ks=mN,\312\376\236\336\264\356&a\27\261\372-x\361\37\378\32"
+"\311\202\337\4\221\326\227\377\t\202{\tLx\214\b{\377\237(p\316\4\247\21"
+"^\377\376\23\t\376\264\342\362P\373\177\342\301!qt\335\270\203\351\333"
+"\273\257_X\5D\270\320\305mOx\336 \302\214\367;\17\236\273\373\26\222Z\324"
+"\314\202\335\331Qd\25\169_&\344\227}\301l\250\262\242\35\237Q\275\363J"
+"\5\213\31\215p\351_\253\314\260\310\313\356@5\344\266\20\246\32\337\337"
+"\377\377\377\377\377\355\352\262TQ\34\311\271\22\65\346v`\346\21\6N\5y"
+"A\36\274\2110\342\17\212!%d\345\316x\24\227|\327 \313\220\26\24\207\354"
+"#\313\f\346\275(\206\370\223e\210\42J\24_\204\7+3\tf|\370\355\206\304\23"
+"\77{\213\34\207\260\337Gv\310\36\362J\316Td3\376\251\220e\6\3333dC\352"
+"\310sH\23\262\31\227\3113C\1%\241\311Ak\2\322\314xp\2\231\347N\226\31\f"
+"\353P\212#\362<\243\203\354\227\353d\326\213\310U\310_n\262\374\362\37"
+"9@\230T\3112\203\341\34\62G\215<3P\312ti<uC\205\0\316,\243\210\314\223"
+"\304cF\246\34q\216\22$\317/(\200\213\nf\360S\301\f\6*\230\361\217\nf|\302"
+"W\357\377\371\314\300\300\360\341\77r-\306\301 \200Q\271\275\307c\206<"
+"\216&\33\237\210\270V\77\7B\340\5\231\356\377\216\224\351b\311\13\17\36"
+"$g0\334$\317\31\232\310y\237\207<w \347\227\233_\3103C\23\211}\224\314"
+"4\246\217\304\336Of\264\334Fj\253\212\220g\204\fR\220\36 3\277\270#\261"
+"W\220\351\225m\bg\374\20\42\317\b\211\237\b3\26\222\351\214j\244\3400$"
+"\263\354C\352%\355 \323\31\245H-\30s2#\366\23\302\214Ud\326\265H\221\362"
+"M\1\243\357a\225\252\312\361\365\343\303\213Gn\3401\243\306\23\301\256"
+"{\200.\353\2\217\262\2335b\270\214HBj\3\35\305h\223j\177@\212\262o\23\260"
+"g\203|\244F\377{\5\214\372\341\34j\357\344c5f7Y`1r\307\320\13C\336\25\243"
+"\337\3678\35\265+\305\236\206\322}.\306te\35\226\336\343\263\26xA\301d"
+"\325\376\34E\256\13K\177\177Z&\326\0x}\356\336\'\6.>-M\264\316\321\204"
+"\242\377\230\212\233I\350\335\376\377\327\200\325\302(\22\214\370\36\217"
+"=\342e\211\356\251\377\277m\204+\365\254 \322\204\277\323\270qg\351\365"
+"D\31q\334\22ov\n8O\320\204\13!\214\2042\245\345t|\2430\77\327\2710\22\63"
+"\36\304d\344dm&\201E\315\307\275[7\274#a\\J\\GMYVJT\204\207\235\201\201"
+"\341\367\2737\367\357^9}\345/\331\243^\34\243#\177\243`\24\214\202Q02\1"
+"\0]\2316\273\357\'\20\1\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0]\0\0\0x\b\0\0\0\0\265{\241\232\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\4\214IDATx\332\355\231[LTG\30\307\7\264K\27aY\353z\351VE\205\212"
+"\32\251\242\244R4^Y5\261\251\251/\25\261F\33\215>\264\306\244M\323\30c"
+"\243)ib\350\243\330\304hL\24\357\306\33\336\22m\332\6\225* F\335(E\224"
+"`\21\24\330\245\334Wv\217\17E\367\77\347\2349\363\35j\342\313\374\237\346"
+"\354\376\277_f\317\231\363\3157\3372\246\244\244\244\244\244\244\244\244"
+"\364\266\24c\77dx\326\370\224\344$\247K\13\266\326\327\372o\3735\211\177"
+"ve\253fT\367\223\237\r\316\1\363v=\320\331\232\217\257N\262\244\337\324"
+"\4\232\304\373\206\345\327\233\332\272\17\315\264\240\327\212\350\213\320"
+"\345\331\331\245\t\365\347\34\373\364%pO6\6\64K\35\363\366\237>\362wM\246"
+"\340rs\372#Q\300\274W\216\234&\215\240]\16\63\372A\201\273\335\323gX\331"
+"\243\221t\305e\262\336\23\327\215w\17\231\221\210\237k\2255\3776\35)\377"
+"\357bC\241\376\265\210\3245\7\\\356d\303\\\313|A\363\333\223P\f\223x>\25"
+"\276\311\353\345gX\223\77+\2011\306\230c\372\367\25\272\331\227\306\13"
+"\236\35580m\301w\215\277-\345K\271\37\62\343\2\217\77\35+\300wF=\237G\77"
+"\3656`p\347&C\364\262F\16\277M@\17\232-\305\330\77\60\2646\335$n\304\r"
+"\264\364\316\267A\377\32#\357\232\2771\203\316\243\351q\2\231>\272\r\342"
+"\352F\n~u|)\342\13\310\364\3\230\2542\304Y\371)\370BiDzF\30\242\276\261"
+"H\2049\21\60\36%\322OA\314u\313\235f\178\303\223H\364T\230z8\303r\217\30"
+"\n\321\332n\22\375W\2108.\331\340\266\343[\341&\320\235\270!N\223\320="
+"\270\2726\364\275,V\1\237A\312\273Z!\2417\35\201\213\\\2=\17\306{\245\265"
+"\2:f\r\223\336\31\'$\236P\222\274\24\301-n\245t\356s\235\321qI\253\234"
+"~\16\306>)\335\'\210\24\351\42\214\263\245t,R\256\23\350%P\225\245\276"
+"\'\241\277\13\373S\250\202@o\251\202\213t\t}*\354\232U\335\224\n\363\36"
+"\214\'J\350S`\374\200T\277\336\307}\2241\306\6\232\373\212\365\25\17\211"
+"\376\20\306\37H\337\246\250\236\222\\\215\270\35\332\240\77\267Mw\333\240"
+"\267\223\\=X\36\331\240\207H\2566\\\3176\3504E\364\37\20\351\3H.\254Q_"
+"\330\240\'\220\\\357\350\237\224\200\376iLL\314O\270k\222\350\36L\347\222"
+"\271w\340y\214D\367\352\327p,m\25&\223\350\243`\374\217\204\216\353k\2"
+"\211\216\256\32\t\275\t\306i\244\247\217ER\225\204\376\4\327L:\1\36\217"
+"\246;\22:f<\226E\240gB\302m\220\335\367\366Z\254B\tt\364\\\223\276\253"
+"\3450^\34\'\247/\205\361oRz\t\336\370\205Rx\352GpqIJ\277\214\27_I\351k"
+"`\354\257\226W\251x\302\17y%pG\275\361Dj\271\216\17c\206\372NB\377\362"
+"}H\305E\204\n;\r\217+\355#\254\363c5x\317\221N\7\27\361(\267\317\222\376"
+"\3ZsHt\37\206D\346Z\300\307\340\331\340/\342\251\214\353\371\324\r\21\302"
+"\7^C\243\217H\317\fs\355\27\207\210^\210\266b\362ix\'\327a8 \330_7s=\243"
+"\24r\217#\261\206\303\237t\232uLwp\236\215\246\360\261\246\375\231\217"
+"u\335\31\343Aw\370Y\316Qlzh\216\77\201\275\245h\316X\313ww\272\266\361"
+"\'(\307\372g\334\367\177\273\365}\261A\253\'\306y\77\31\214A\341\33\325"
+"]\215\307\3560\306X\376f~\32\201\275\207^g\317q\271k\307\360\5gv\265\236"
+"^\264BP\25\214\n0\306X\301\267\206r\264\334\337\34p\rN\315\34\253_\30\276"
+"2z\77\262\257\375\2725Bk\30j\r\323\372\323K\315\355 \301\357\245\364\257"
+"S;\271\222\0/J\354o\37\330\361c\247\204\335\370\305\377\351\220\217\336"
+"\337k\301\356*p\213\262D\231(f2g\373\260\260M\340k\331a\261s-\360\233."
+"\212\226_\f\205\366\252\323\306\347\333q&\317\371\246\376U\211\313\312"
+"\316\230\220\322\327\355\355y\354\277u\265\264\363M\376g\303\30c.OR\254"
+"\26lmfJJJJJJJJo[/\1\375T\t>\364\317\313\202\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\3!IDATx\332\355\227MHTQ\24\307\377s\235\320"
+"q\306J\374\bE\r5#\4\3156\26\21\n\205\264(iQPDD\304\bA\224T\364\261\tQ\332"
+"DHH\264\21+h\225\2640\242\\D\t)B\20Q\352B,LR,\30\372\320q\306\34\306\363"
+"n\213y3s\337\274\31\347\235\211\26\301\373\257f\316}\77\356\271\347\334"
+"s\356\275\200-[\266l\331\262\365\317\345Hb\313-\253\251\335RS\216\22w\n"
+"hv\370L0\231]\324\337\360\313\364\352M\202\272\257\205\245%\r\233\320\254"
+"\253\322\252\42\2603\316\226~(b\6L\304~\355\236\347\262q\270q\224\203="
+"5\244\252\300\',r\241\347\223\301\267\257\244\232\356\211\304\220\f\34"
+"\257\337\344\311\316\322\325\33\263\3374O\322b$\247\367d\31\307\273cC\353"
+"\314\276\314\31\330\13\246}\27\203\177\252\326H\252\252\312T\333\261\376"
+"\324+^4G\273U5=\354\347%\354\213\352\364\206$\37\304\334\2361\315,*\24"
+"\313\310\42o\223xT\313\35\346\16\313U-\23L8\'e<-\300\206\264\2560a\303"
+"\367\331LxY\265\24\60\341\200j\331\316\204iI\261\234\3436\3\265\31\356"
+"*b\302\217U\323}&\374N5\35<\317\203Wo\251\266\236.\301*\253<c\'\231o\22"
+"\226\253\nX\272b\370\266\364u\370\301\376\n\267\323\21\325\332;\3071i\355"
+"\250H63d\343\22\377\210\215\255m\251\362W\3460~\224\217g\16#\330p\361\257"
+"\356\t\353\373X\1\63\35\357\247\3472\207\1l\334\367(l\rv\232\341\205\241"
+"\275\320\204\6\241!\330\361\36\0j\357Z_y]\200\244\224DD\355\21C\276u\267"
+"\305\13\322\34117\27vtJ\42\222D\344/\6\27\336\246\273L\344\5\27v\216\222"
+"$\42\222\364\311\311\205\305\3450\21\221\224R6\203\13\357\bD\331\1\7\27"
+"vOR\4\246\225|\244\205\23\332\215w+ \0\\gWh\265/\222bIS.\200\347\266k"
+"*\272=\26\252\1\246\333mU\200\6\0\350\230\346:]\271\254G\232|\306;\276"
+"\205\231\305\275l\0B\203\6o\220\373\3328\33\216$\230h(!\7\351\3V\27\210"
+"\262+\233\1\236\333\242\333\5h\3204\240o\226\353t\247^JD>\17\300s;^\210"
+"\324l\32,\213\303\337R\24\242N\17\232G\17(\35\60\311\351\353\325\233\7"
+"Q\270\330\274\361|\n|\3244\\\354\217.\230:\f\221(\251\337\331\322el\304"
+"\203\207\233\32\n\325B\34\323IIa\365}\340\371\236\252}\37\211\177\324\36"
+"e\245\354Q\'nM\331\373_\32\nQ\247\375\206C\340P\232\347\240\0\\\203\261"
+"\33\243vb\225y\3046UA\13E\376\275y\306=\237\13\1\21\271\260\204Nj\\xd\374"
+"w(\244\1\b]\372\274\306;\310\240\217\321\267\244\303]\230\3 /g\346k\302"
+"\304\342v\233+\31\252=9\225\301\365\307\226-[\266l\375\327\372\3\63\257"
+"\302\375\262}KB\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2\241IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\3\t\30Q\271\314J"
+"\332\312\262\22\302\374L\f\237\177}|\363\342\321\365\353\237\360\351f2"
+"o\330\377\371\77\32\370{i\242\3\63\16\r\302\265\17\377\343\0\367\363\330"
+"\260\351\210z\377\37\17\270m\201\251#\361\77~\360+\22C\313\3\2Z\376\377"
+"qF\17\261\377(\6<<\371\360\353\207\247O\177q\231\347\312\301\304\236\251"
+"}E\265\5\331\300\243v\bq\356mp\341r\6\234Zf\260 K\360\334\201\211\337B"
+"\323\362\3\256c.Z\344F\300e\24Q%6\303\304\247\242\307\33\313s\230T0L\4"
+"B\305\345K2000<\337~\22=,\377lI\201\262\24\210N\20510[\32a\t\213\240\226"
+"30\6\33\321Zn\177G\367\35^\345\314\262\262\262b_8\211\324\42gj\240\255"
+"\245\304\212E\6\253\26\25\67\7[\t\234Vcj1\r\rP\305\353Z4-\302II\32\204"
+"\302\3E\213\\y\2\27\341\210B\322\42P\223\313FL\334\42\264\370\316\220B"
+"\223{y\371\346\235\247\257\353\35pha\351\315C\311\f\27\17\36<\375\204\201"
+"\201\201\201!\25\207-\\k<\21b\177\367\257\336\364\2\316\373\204]\13\363"
+"Z\17\270\310\213\351s\237\42\253\370\206]K\27\\\307\233\3069\77PU`\327"
+"b[\b\343.\315\371\200\256\342+F\251\312\300\300\300\320\13+g\362b0t`\372"
+"\205\211\201\201\301\332\24\312\251\230\214%\32\276a\323\22\2e\237\352"
+"f V\2135\224=\373\77\66-X\375\242\4e\337\300\232>\260\372E\bo\222\302\352"
+"0X\346\346\'^\313{([\225x-w\240l\'\254\265\333LlZ`%\244\2472\246\216\340"
+"\213\3560&\262\227\235a\345\341A\16\64\rn\207\221\252\204+H\5<\23\274\16"
+";\251\213\244^\242\360\njMV\313\204\250\305r\'\301\263\326\201m\347\37"
+"\274c`\24\3270q6\305(I\237\236~\377h\352k\6\6\6\6\6\366\253\377\211\6\233"
+"\240\332M\276\342S\265\361\5\22\7\26#\fa\177pjx\30\316`\375\23\211\17w"
+"f\300g\354\32\356fs000\24!\4\36#\274\246u\2S\375\267\225^\320@Z\3\27kC"
+"\216\324\210\263(\352\37\314\r\341\201Kr\355\206\212\256cCm\\\351\371X"
+"\251K\360\374z\377\354\336\215\13\247\36\241\226\21\211\321\332\42\37O"
+"\314\334\360\177\264A:\nF\301(\30\362\0\0\16Fi\227#\200\fx\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0*\0\0\0x\b\6\0\0\0\204\205"
+"`\247\0\0\0WtEXtTitle\0/root/links-2.1pre3/graphics/font/century_schoo"
+"l-medium-roman-serif-vari/0431.pngF\2664\255\0\0\0\32tEXtSoftware\0GNO"
+"ME Icon Editor\236*\nl\0\0\2\345IDATx\234\355\2321\256\3420\20@\307hi\220"
+"\250(\20-\5\342jttTA\302\21\35\3420\334\200\13\320\320\200\200\216\202"
+"\6QPD\b\304l\205>\233o\307\23{H\302j\236\344\206\20\317c\34O\34\23\5\0"
+"\b_@\255l\1*\42\312\215\210r#\242\334\210(7\42\312\215\210r#\242\334\210"
+"(7\42\312\215\210r#\242\334\210(7\42\312\315\237\262\5l \376l\211)\245"
+"\252\231\321w\311\27\225\23\65I\2|@Tk\r\210\350\3352\177\4G\323Z\343\247"
+"\0\0d\231L\256Lp\20<\364EH\2\4\212\26!\251\224\2\200\0\321\42%\1<E\213"
+"\226\4\360\20\245H\306q\fJ\251\240\226&\327\254\247H\232\202p@\316\250"
+"\326\332\371\235OI\2\0( \376!\346\312\346\'%\1*x\257\267A\22-;\233\0\f"
+"\31\345\224\254\327\353\326cN\321\254l\332$m+(\327\204\274\337\357\331"
+".\266\226\265\42\322Z\7\257\236\322}8\232\375 5H(\24\341J\254\236\242("
+"r\366c\25\245\24x\16Ij\177\326\202\317-\221\7\323$\255d\3017%\311(J\31"
+"\366\2421\16}\310\260\307ql\374<\212\242\334}\245/\201\\e\311\206\251\37"
+"S\313So\1\0[\255\226\271\216\372\24n\252d\336dh\255\261V\253!\0\340\257"
+"\241\307\234\303\36r\257\247\304\n~\270{\357\244\210\363\275Em\223\206"
+"\233W\5\252\231>\2440\36\217y\215\34\224^\360\251\303\357%Z\324\260\247"
+"\311]\77s\256#\203K\25\244\313\23\2654q\77#\271\342Vfk\234r)UB\224\202"
+"\210r\223[\264\254\322\364\377f\264,D\224\33\21\65\321l6\275\317\375G\224"
+"Rz|\236&_\\\257W\357s\277f\350\275\36\356\276f\365T\306N\312\327\f\375"
+"/\321\262\356\345.J\317(\3652\362\336$\343\232P\324X\245f\264\333\355\302"
+"\363\371$}\327\370\247\255R\312\375\42\nbpV\17\207C\346\361$I`6\233\375"
+"\3044\265O\77\66\17\6\3R\214\267s\302\266\6}$\207\303!>\36\17g\337\243"
+"\321\210O\24\221\236Y\2555.\26\13R\237\267\333\r;\235\16M4\217,\5J\26_"
+"\314\347\363\264\13\317\3560\'\333\355\26\233\315f\265EO\247\23\366\373"
+"}\223\7\337\236{(\353\365\32{\275\236\315\201o\327\315\227$Ip:\235b\243"
+"\321\310\212\237\257\264p\276,\270\337\357q2\231`\273\335v\306%\277\374"
+"b\2\t\367iD\204\313\345\2\347\363\31\216\307#\354v;X\255V\260\\.a\263\331"
+"\220c\5\211\26I\351\313<*\42\312\215\210r#\242\334\210(7\42\312\215\210"
+"r#\242\334\210(7\42\312\215\210r#\242\334|\215\350_\25\'lLZg/\310\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\0\0\0\0N,"
+"TE\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\331IDATx\332\355\226M+DQ\30"
+"\307\377\363\202\232\227\205\361\232\267I\224be\241d!D\26,&e!e1Y\314\312"
+"\7\360\t4\211\275D|\3\26\224\260\300BJ\214I1j\204Ajd\324L\fr,\346\271w"
+"\356\230q\237\263\260<\377\315s\316\377\376\356\351\271\3179\347\236\3"
+"()))))))\1\26\2409\340.\364$\35\217\206\303\337\277\314\r\361\247\342\213"
+"\35\271\354\2310\323\272W\236\25\211\1\3\273m\316\212t\37\2016 R\372 <"
+"&\237o\33ZM\31\373\343\332 \324w\324\r/\277\353#/\344\276\34\317e\1\300"
+"\273\253gQ\236\303\336\344\263\260\257i\260\237e\341\272&w\31\0`5\233\324"
+"d\220\32-<\213M\212\36\t\366\226b\211\4\353\242\370$\301\266R<\225`}\332"
+"R\344kV\231\310\230wv\226-\336!s\22\34\333\270G\336\226\305\224\265{}+"
+"i\262\42\25(\314\346\353\264\6\222\354[\320\2413Vf\237_\34\177\0\3229D"
+"\307\344Y!\326=\372\277$\3036\320F\245\276\333[mH\244\377\336\274\276U"
+"\23\372\36\22!\7;\307=Q\r\236gY\224\36\221\375\331\314\262\250|$\177\226"
+"g\341\327*\'\301\26\323\262\24\265\374\274}\354g\2672\307\342\232b\265"
+"\4\253e\345\224`\333(\246x\266\266\233\32/<\33,\242\306%[\263)m\222\237"
+"\254\fk\237\321W\317\212\301M\346\263\266\221\363\354\32\356\4\220\371"
+"K\324O;\t\30\325\77\252}\260\312p\6\36fb !8=7\322;\207,\232\352\225<\13"
+"\205\210u\311\236\233_\213e\331\274Msx\234k\312\26\13Xj-x\'x}\211]\205"
+"\16N\276\325\275III\351\177\365\3WG\335L\302\232\376Z\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0&\0\0\0x\b\0\0\0\0\273\322\337\365"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\344IDATx\332c`\30\5\243`\24\214"
+"\202Q0\nF\1N\300\310\300`\34\307\201[\376\323\353\323\7\37630000\\\376"
+"\217\37\254\201hxH@\331\177\7\6\6&\42\34\226C\234i\177\325\31\30\31\30"
+"\346$#\351<\362\3Bs\360K\210\302\5\227\3060000\210+\331/\200\351\224C\350"
+"\20\2138\b3N\33\26.\3270\225100\344\375\203\210.\204\tl\301\252\214\241"
+"\34\42z\207\5\277\';o\246\2501\377}<\205\200i0\300D\\\234\216*\33U6\252"
+"lT\31\65\224\301\252\6N\274\252\315\277C\13\256N&\\\265\214W\32\267\214"
+":#L\340\371\355_\37OL\372\205\251\362&f\21\37\215\305mXj,>\362}\372\33"
+"S\364\37\26\225\231\37\321\235vO}\264\5\61\nF\301\260\5\0\211Q\341\372"
+"(\17\302\231\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0"
+"\0\0x\b\6\0\0\0\2565\221\b\0\0\0WtEXtTitle\0/root/links-2.1pre3/graphi"
+"cs/font/century_school-medium-roman-serif-vari/0434.png\216V\273\335\0"
+"\0\0\32tEXtSoftware\0GNOME Icon Editor\236*\nl\0\0\4hIDATx\234\355\233"
+"KK\353L\30\200\337\2646\304R*\n\322\202\335d\245\213\24\265\240\326\313"
+"V\364\77\270p\241[\301\205\13\67\342\357p%\356\375\21\2127T\20\t**T)\336"
+"\26jP\242\5/\311\234\305\341\370\225\363e\246\311\314\244\315\231\316\3"
+"\3m\337\364\235\367\351$\323\244\231*\0\200\240\211\2105\272\200z#\205"
+"EG\n\213\216\24\26\35),:RXt\244\260\350Ha\321\221\302\242#\205EG\n\213"
+"\216\24\26\35),:RXt\244\260\350Ha\321\221\302\242#\205EG\n\213\216\24\26"
+"\35),:RXt\244\260\3504\235p\13\217$+++<\322p\1!\4\373\373\373\260\272\272"
+"\212\337\206\245E\225\311\311I\317z\205\335\245u]\367|]Xa\34\314\302\212"
+"\242\360\250\203;\216\343x\276N=i\31\206\1\'\'\'T\357\265,\13\312\3452"
+"\270\256\13\225J\5>>>~bmmm\20\213\305\240\275\275\35t]\247\372@m\333\206"
+"\235\235\35l\234z\302RU\25\351\272\216\362\371<\232\231\231A\245R\2118"
+"\2218\216\203fggQ,\26\363\225\77\223\311\240\205\205\5\364\376\376N\314"
+"k\3336\232\233\233C\371|\36\351\272\216TU%\345e\233\245\253[\177\177\77"
+"\261\260\265\2655\252\274\313\313\313\304\274\213\213\213\276sq\235\264"
+"\236\236\236\210\361\365\365u\252\274\27\27\27\304x\220C\213\253\360\340"
+"\340 6\3468\16lmmQ\345\265m\233\30G\310\377_\257\270\n\217\214\214`c\246"
+"i\302\313\313\13\317\356\250\340*\\,\26\261\261\215\215\r\236]Q\303MXU"
+"U(\24\n\330\370\346\346&\257\256\230\340&\\(\24@\3234\317\230\353\272\260"
+"\275\275\315\253+&\270\t\223\216\337\323\323Sx~~\346\325\25\23\334\204"
+"\207\207\207\261\261\250\354\316\0\34\205I\23\26\355\327Q\30p\21\316\345"
+"r\220\313\345\260q\341\204\307\306\306\260\261R\251\4\17\17\17<\272\341"
+"\2\27\341\177ew\6\340$L\232\260\242\362u\364\7faM\323\240\257\257\17\33"
+"\']\2276\2f\341\201\201\1PU\3253fYV\315+\235z\303,L\332\235\367\366\366"
+"\2]\311\324\3fa\322\204\265\273\273\313\232\236;\241\216\360\301\301\1"
+"kz\0\0H$\22\\\362\0\60\n\353\272\16\331l\3263\346\272.\34\36\36\262\244"
+"\377!\231Lr\311\3\300(<::\212\215]^^\302\353\353+K\372P`\22&\35\277\274"
+"F\2277\241\t\37\35\35\261\244\16\rj\341d2\t\275\275\275\330\370\361\361"
+"1m\352P\241\26.\26\213\320\322\202\277qa\232&m\352\300\4\271;\301$\214"
+"\343\356\356\16,\313\242M\35\230t:\355{\333P\204\317\316\316h\323\206N"
+"(\302Q;\177\256\206J\270\273\273\33:;;\261\361\353\353k\352\202\302\206"
+"J\230t:\t\0p{{KUL=\240\22&\355\316\0\265o\252\5\5ws\233\206P\204\77\77"
+"\77\251\212\301\361\366\366\306-W`\341t:\r\206a\324\334\206\'<\227U\4\26"
+"\36\32\32\202x<N\334\206\364+&\r<\77\300\300\302\265&,\0\200\371\371y\230"
+"\236\236\206T*EUT5\251T\312W\237~Q\340\317\272\207\210\375\24\303\213\277"
+"\17\7\271NKt\232[\270\\.7\252\16f\276\277\277}m\247\0\0jmm\205J\245\22"
+"nE\r\302s\322\352\350\350\250\371&\\\233\230\230\200D\42A\334\206\265\305"
+"\343q\350\352\352\202\251\251\251\377\305h@\212\242\240\373\373{\354J7"
+"\300\254j\33\37\37\347\266\212\317o\313f\263\304\265\332777\265j\377\375"
+"`ii\211\270\274\257\336b~\332\337|}}\371\251\371\367\3M\323\320\371\371"
+"y\344\245\25E\301\216\256\317Z\377{b\30\6z||\214\2640nt\251\204\1\0\365"
+"\364\364 \3234\261\2112\231\314\277,\213~\316\245\253A5\316\253\33\275"
+"\n\236T_\255\332<\317\264\32-D\2!\4WWW\2361\77u{\216pur\332\304a\301Z\23"
+"\361\\:\312#]\r\327;\17Q\227\16Z\37q\227\26\221\346\276<l\6\244\260\350"
+"Ha\321\221\302\242#\205EG\n\213N\323\t\377\2\24]\205 \32\261\0\67\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0"
+"\225\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\304IDATx\332c`\30"
+"\5\243`\24\214\202Q0\nF\301(\30\5\3\t\30\261\t\262\32\31k\312\ts\374\370"
+"\362\374\376\371S/\t\33\302\32\274\372\323\177\4\370w\246\\\n\277\6\236"
+"\312\347\377\321\301\357\205*x\234\231\374\352\77\66\360\263\225\35\207"
+"\16\271}\377q\201\263\nXu\270\276\371\217\33<\327\303\22b\361sX\340\354"
+"w;O^\370\42e\344n\316\4\27zmu\7\335\216\224\1770\3\377\254w\207i\226k\373"
+"\0\267\347\42\'\232\16\277\77\60\251\365Z\310\342\42\363\341zZQuh\177\201"
+"\212\277\fB\267>\31f\3307Ida\216+P\341\323X\342\255\20fM-\262h;Tp7\'\266"
+"\330:\17\363\r\222\240\312/\210\3301.\254\241_\n\325\362\227\7!\266\2\42"
+"\364D\2{\24\307\303\\\246\216\260\344/D\304\3\273\16\305K0-\210\260\354"
+"\206\b\254\302\252As\376/\230\216O\360\224\306\364\f\342Rm,\32L\327\375"
+"E$\232\32\270\26094\264058\357ANfK\231\341\22\65\20\221$4\365LA\247\220"
+"5|\316AJ\217\233!b\312(\32\330\22\257#k\370\324-\206,{\37\42\210,\304\235"
+"\377\bY\303\353Z!\324\310\375\375\377\377\377\377\377o\42D\204j_#kx\224"
+"\317\215\346f~\210\304U\30_\252\7\271\270\370\177=\221\r#X\244 R/ <\325"
+"\331\77\2215\234\16f\302\22\364P[\376\13\61\60\60\30\256\374\213\254a\257"
+"+\366\364\300\4\225\17f\260\337\216\254\376\357zs\234E\321[\210\222\343"
+"\307\2205\374Z\250\205\247\270;\216Y\236|\235,\217\267\204\\\210\256\341"
+"}\213\30\201R8\35\255\304*\343#Xpk!k\270\233\301AL\215q\13QVE\261\20W\311"
+"4\303t\354g$\266^\202e\344\377\377\374\210\256\313V\303\254\371\240\207"
+"[\21\23363\22\317\20\236L\336X\340\320\300\224\371\342\377md\3119\360\0"
+"\370\236\211\325\77\206\247\376\377\377\377\377\273\27BD\354\5\42\230\367"
+"\33`h\220\234\16u\306W\23\204\240\317\77\244\364\270\316\t%\305\353M\377"
+"\16\227;\205\245T\206\200\307\323#\325X\31\30\30\330\224\3{\256\42K\314"
+"C\316\316K0\322\346\273w\357\376\241\t\335\20D\266\236e\351\177\202\340"
+"\262$\252\37\231\373\t\351X\302\203\21\60\21\237\360ix\34\214-\364e6\340"
+"\324\360\256\206\7G$;\356\307\252\341z\36/\236\364f<\371\5\252\362\177"
+"\227\332\214\b5\256\230t\235t5dx\4~\177\375\370\364\361\225K\307\337\214"
+"\266AG\301(\30\5\303\13\0\0\36\233\273\340\36U\256[\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0x\b\6\0\0\0\247\3361r\0\0\0Wt"
+"EXtTitle\0/root/links-2.1pre3/graphics/font/century_school-medium-roma"
+"n-serif-vari/0436.png\364\226\350\275\0\0\0\32tEXtSoftware\0GNOME Icon"
+" Editor\236*\nl\0\0\5hIDATx\234\355\232M(t_\30\300\237\231;\214\231\21"
+"#\322\224XH\223D\r\331P\204\22\22%+Keeac\26\222\225\262ba5\226\276e\312"
+"fVJ\n+\22\221\24aE\42\312\267|\314\360\374\27\336\361z\357\234{\317\271"
+"\37\343}\217\377\371\325Y\314\314y\236s~\367\336s\346\334s\257\5\0\20~"
+"0\326\277\335\201x#\4yG\b\362\216\20\344\35!\310;B\220w\204 \357\bA\336"
+"\21\202\274#\4yG\b\362\216\20\344\35!\310;B\220w\204 \357\bA\336\21\202"
+"\274#\4yG\b\362\216\20\344\35!\310;B\220w\204 \357\374xA\233\374\13D\345"
+"\267+-\26\13\65\241\303\341\200\336\336^\310\314\314\324\324\221\227\227"
+"\27\b\4\2\260\277\277O\255\253\326G\200\330~b\264\260\360\265>\251\264"
+"\265\2651\345!133C\315\317J\264\376\347%\212\224\243\302Z\317\355v3\345"
+"!\221\222\222b\250m\22\272\306\240\236\206\376\26\246O2\17\17\17\272c\237"
+"\236\236L\351\203\2411(\277\306\345%--\r\307\307\307qqq\21OOO\251ynooq"
+"yy\31C\241\20\226\225\225}\346\361\371|\272\306\237<\306\2\204\227\322"
+"Y.A\226\31U\222$\210D\42\252uRSS\341\356\356\216\232\213\245_\244>\21\5"
+"\365&\373\27\363(\216AZ\303\274L4\252\223\314\336\336\336w\365\303\20\324"
+"\223!/EEEL\3\233\24+/Z\'\5=y\0\0=\36\217R\254\261\304\337!\330\334\334"
+"\254;^q\222\371\343\24+\2147\247\323I\375\357R\212\215\3022\311\250\345"
+"\240\305\33\22di \236\202,\261L+\31\265D\251\251\251,)tC;@4\f/\325&\'\'"
+"A\222$\243i\210\24\27\27\23\277\17\207\303\314\377\237\0*\3\264\274\274"
+"\34\1\0%I\302\306\306F\334\331\331!\16\364@ `\372$SPP\200\27\27\27\61\365"
+"\227\226\2260//\217y\366%\nZ\255Vbe\273\335\216###\304\216\16\16\16\242"
+"\305b1E\260\244\244\4\317\317\317c\352\16\r\r\241$IZ\344\350\177\23\244"
+"2<<L\354\354\330\330\30\332\355vC\202mmmx\177\177\37SO\355*1]P\222$\f\205"
+"B\304\16\357\356\356bUU\225fA\217\307\203\263\263\263\304:\323\323\323"
+"z\316\234~A\0@\247\323\211kkk\212\35\237\237\237\307\306\306F\252\240\307"
+"\343\301\376\376~\342YCD\234\233\233C\233\315\246WN\277 \0\240\333\355"
+"\306\255\255-\252\204\32\257\257\257\212\277MLL\30\2253&\b\0\230\236\236"
+"\216\353\353\353\206$\345\204\303a\354\353\353#NZ\337.\b\0\350r\2710\30"
+"\f\232\42\267\261\261\201\245\245\245f\210\231\'\30----\206\5\225\376\242"
+"\364\26\246\265(\13([R=<<@rr25\356\372\372\32\322\322\322b\276\327\262"
+"RQ\303\260\240\\L\13\341p\30\22\22\22T\353\30\25\65$hDN\13F$u/\266\277"
+"K\316h[q\335\331f9\362f\2155%4\13\232)\247\245\256\336\263\30\227\347\203"
+"f\235\25\371v\210\36IM\202_\33888 \326\321*WWW\247\30\347p84\345\42\366"
+"\7\64\314\242\264#xww\27\263\205A\213\211yPb\322c\203(\246]\242\227\227"
+"\227\246\354\317\264\267\267\303\333\333\233\t=\372\r\323\222G\215\233"
+"\233\233\77\66\213Y\343\20\311w\364\235\235\235\272\342\24\n\275Rbb\242"
+"bC\221H\4kjjt\35\30\265\216\216\216\216\252\306%&&\232\'\250Fww\267\356"
+"X5A\227\313\205\207\207\207\252\261\214\367\212\352\25\374~\277b\3+++\324"
+"{6\275\202\0\200\365\365\365\252\261SSS,w\37\312\77\326\326\326b$\22Ql"
+"\340\353\23\331x\b\2\0\256\256\256\252\3063lF\221\177\360z\275\304}\311"
+"(GGGLc\300\250`WW\27\65GOO\17]\320j\265bvv6z\275^\354\350\350P\225CD\f"
+"\6\203\252\35\263X,XXX\210\233\233\233\2129\256\256\256\260\272\272Zu,"
+"UVVR\5\337\337\337q``\0\263\262\262\310\202YYYx||LM\364\25\245K#\77\77"
+"\37\317\316\3164\345BD|||\304\216\216\216\230|EEE\232\362\204\303a\334"
+"\332\332\302\334\334\334\217\23\7\0\320\320\320\0\331\331\331`\6\25\25"
+"\25\340\361x4\3079\235Nhjj2\334\276\315f\3\237\317\7\255\255\255\0\360"
+"k%C\273\253\326\332\200^\314|\210\23\315\365\343\3376\264\2|\274\351\247"
+"\225\347\347g\342\367\357\357\357\272;c$V\316\327\365,fdd\340\302\302\202"
+"\342\366\271\234\223\223\23\364z\275\304I\306\347\363\341\323\323\223\346"
+"I\6\21\321\357\367\307\344KJJ\242\256h\344loocNN\316\307l\376+\221\251"
+"8\34\16HJJ\322\24\363\366\366\246\370\306SBB\2\323\26$\0@$\22\201\373\373"
+"\373\317\317q\21\374\227\370\177L2\77\31!\310;B\220w\204 \357\bA\336\21"
+"\202\274#\4yG\b\362\216\20\344\35!\310;B\220w~\274\340\177\\\214\355\234"
+"\33\b9\232\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0"
+"\0\0x\b\0\0\0\0\221b.Z\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\237IDAT"
+"x\332c`\30\5\243`\24\214\202Q0\nF\301(\30Q\200\21\211\315\251\247\255\42"
+"+%\314+\300\310\300\360\375\353\353\327\17n_;\367\21\247N\236\234\203\277"
+"\377c\200\277\227z\354\231\260\252\367~\366\37\27xX\'\204\251>\344\317"
+"\177<\340S\35\7\232\37\244o\360 4\377\335\177\354\306;&!u#\7n\270\330\355"
+"\210s(\26\324 L\373\334*\16\17\4\277\235p\341\357\301(\32f\302%\366*\240"
+"H\270<\204I\374\361C\26O\200\231S\201\36$b\27\341V\253 \t3/\372\377\377"
+"\377\377\357KT0\203C\3465L\307V\24q\303\344h+\36\254\1\236\n\323\360O\235"
+"\270\264\300\366\16\246\243\214\201\201\201\201\211\240\206_{`,]\34240"
+"\\\2031\4\211\324\360\3\306xO\244\6x|_%R\203\21\214\261\207\270P\22\374"
+"\16\r\244\313Df1x:\13&N\275\366W\250\372\325\304\251\327y\fU\177\204\213"
+"\30\345bM\337\240\352\347qb)\4\30\30\30\30\246\206\377~\367\356\335\273"
+"wo\337\377\345\2275\264`\201\306]\361\16\34F\352c\313\241\27\242\230q\272"
+"!\bK\3011C\24\217\243\275\261\331\360\367X\16\37\326\202\214\201\201A\343"
+"\42\33\3\303\317\7\67\357<\371\312\300\247b\243\r\23\377\324\323\363\35"
+"Gy\246\252,\206\340\351-\207[s\313\210\270x\210\371\t\323\361\305\2358"
+"\35\361p;\276\232\22\247c#\302UDE6\2031\42\270*\211\263\342\36\\\30336"
+"\2422\320\t8K\322\211(\r\217\20L;\2424|@0U\210\322 \200`r10\260000Y9\33"
+"\n\260\274\277\270\345\4v\r\362\b\346K\6\6\6\6\315s\260@8j\210\265\332"
+"|\214\b\327|\6\6\6\206\223\b\376\3174,\32<\220\322\255:j0\377\377\377\277"
+"\tC=\327\25\204\354>\6\6\6\6\206B\224\264\77\5-s\261\42R\306\377\177\226"
+"\20\67\256D\321\261Y\30\245\254_\215$\325\7\253~&\243\350x\22\205\bj\211"
+"\203H\22\273\330\209\371%\212\226\333M\326<\f\f\f\f|\371o\220D\327q\42"
+"\307M\317w\324l\374\357\301\301\335\247~ \t|+E\213b\331\376Ox\232\2\337"
+"\246\313a\311\315i\207\376bW~\266P\30{\363\207A\302\333\316B\25\265\34"
+"yv|\337\266\7\270\332K\20\2134\325\344\304\2058\330~\375\177\377\362\351"
+"\235\253/G\233\224\243`\24\214\202\301\16\0\220\247\256aN\257\216\322\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\63\0\0\0x\b\0\0"
+"\0\0zU\225Y\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\36IDATx\332\355\226"
+"MHTQ\24\307\177\363Fd\42k\32GH\250\26Q\20\4Q\233\210\bi\243\341\312\245"
+"\233h\234Bj\332\224\271\b\33\204\212\322\300E: \302\20015\313\202\240\215"
+"\253\240\240E\204\37\r\30\25\22\16C\37\220\205\210\371\325\307\274\327"
+"b\336\363}\\\321\216\2336\367\277y\367\236\363~\357\336s\336}\357\34\320"
+"\322\322\322\322\322\322\322\322\372_\n\301\376\3246\237i%\77\356\272/"
+"\36\366\371\254B\326\2\30\261\2\232t\3579\21\364Y\307\301\200\335\301\265"
+"\267\273\303\35\312\306j\301\330D<\6\314\4mK\236\330\24\340\7\204a*\366"
+"\305\252]\265\225\306\'{\77\254\316>E\26\213\323\241\230=[\34}\377(o:\276"
+"\323N\210iu+\321\222\355\233\210\372\35\337m{\235\312\344\234\347]q\343"
+"\251,\353\260\n\322\222\f\6\267a\336\342\331\265\362\266\276\206\352\305"
+"Lk+R\246~\b\314\2072&\33\207\314s\21\223l\201\267i\321\336\366\f\300\357"
+"\266\25\t\23\272\27\205\2361Q\16RM0\332#\312\333\276>Xn\373#a\302\271\32"
+"H\277C\302t4\300\263\f\22\346\340m\230\77kI\230\252\373\21\350(!a\256\35"
+"\205\'9$\314\221n\370v\1\tS\235\257\206\324W\21s\343\20\344\37#a\216]\205"
+"\217\227\2210[\36\204\261\316\315\211\230\336\3\60\370\24\ts\362\22Lu!"
+"ajr\6\345\304\222\210\271\273\27\356\274B\3024\267\303\353[H\230\330p\210"
+"\237\211_\42&\263\13\272\337 b\316\300\213~d\f,$\313b\246s\32)32\314\77"
+"\62Uq{>\333\256~\316;\355\253\277\236E\373\234Z\246\226\201\310\251\31"
+"\333\367\2711\342\30\23\305Y\323\3335,\\\367T\254B\331\327Q\224\307*5\365"
+"e\260\325(zN\205\322\2074\203\1[\327\311KX\375Un\272\17Q\216\275\351\16"
+"\325\327[\261\234\237\367\357x\371\246\247#*\370}\346DL\367\257ZZZZ^\375"
+"\5\7\353!:\223\252u\234\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0\67\0\0\0x\b\6\0\0\0V\325j\377\0\0\0WtEXtTitle\0/root/links-2"
+".1pre3/graphics/font/century_school-medium-roman-serif-vari/0439.pngv\306"
+"\177l\0\0\0\32tEXtSoftware\0GNOME Icon Editor\236*\nl\0\0\5\322IDATx\234"
+"\355\232]H\223_\34\307\277O[\262p\272\346\204\204\352\42\22\204 \352FD"
+"\42\272Q\331\225\227\273\211\346\f\301uS\326\205\324\20\24|\3/\252A\b\3"
+"k\265K\205\240\33\257\202\202.\302\267T\f\r\211\215\241\6\276\244\242."
+"_\237\235.\244\363Ws\317\236\3559g\373\37;\37\30\354\367\274\374~\347\363"
+"l\347y;G\1@pB9\225\355\6\360D\312\211\212\224\23\25)\'*RNT\244\234\250"
+"H9Q\221r\242\42\345DE\312\211\212\224\23\25)\'*RNT\244\234\250H9Q\221r"
+"\242\42\345D\305\234\356\216\204\34\36\220U\24%\355F\260\314u\20f\277\334"
+"\321\6\362\336O\17i\311\361l\20\313\374I\345\n\n\nt\'K\265Q\274\17\222"
+"\2024f3\360n\24\300\246\337\235\350\263\245\224;J<\36g\335\16\314\314\314"
+"0\317\231V\237\3\376\353w;;;\310\311\311a\331\246\354^\347\254V+jkk\367"
+"\23\234\372;\205\252\252XYY\301\354\354,\302\3410~\376\374\211_\277~\351"
+"\312\315J\354\17\304\310\307f\263\221\243\354\356\356\376\265\214\20B\346"
+"\347\347\217]N\366\377\6\314\77i\377-\2650\233\315\310\313\313\203\325"
+"j\305\351\323\247\261\262\262\202\255\255-lnn\262.\245\t\27\271\377\13"
+"\364\306\271\270\270\30^\257\27yyyi%\332\332\332B(\24\302\310\310\210\256"
+"\355\25E\301\275{\367p\355\332\265\264\352\21B066\206@ \240ySA\0\220\376"
+"\376\376\204\375A/\23\23\23\272\373\303\215\33\67\f\327#\204\220\362\362"
+"\362\2045\350\251\356\302\205\13i\35\301\203\344\347\347\353\336\366\354"
+"\331\263\206\353\1\332\367\276\377\306\35\312\302\302\202\341dz\257e\300"
+"~\37e\301\372\372z\302u&\0-\0\60==\r\273\335\216\37\77~\200\20\242\373"
+"Q\'\32\215bdd\4\23\23\23\350\350\350\300\367\357\337u\3557;;\13\213\305"
+"\202X,\206H$\202p8\fEQ`\267\3335\367\213\305b\30\32\32\302\267o\337\320"
+"\327\327\207P(\244y;xlg\274}\373v\322\316\354\363\371\230]pm6\33\211F\243"
+"\232\365\276|\371Bl6[*y\23\257\\ZZ\322,VXX\310L.\30\f&=\230\17\37>L)\247"
+"\346\t%\26\213i\255\306\322\322\222\346z\275TWW\303\343\361$\335.\325~"
+"\232\365\263\245\303\341@ \20\340\222;\353r\335\335\335(**\342\222;\253"
+"r.\227\13.\227\213[\376\254\311\25\25\25\241\273\273\233\306\361x\34\275"
+"\275\275LkdM.\20\b\300\341p\320\330\357\367\343\343\307\217LkdE\316\343"
+"\361\240\272\272\232\306\223\223\223\360\371|\314\353d\\\356\342\305\213"
+"x\376\3749\215wwwQSS\303\354v\354 \31\225S\24\5/_\276\204\315f\243\313"
+"\332\333\3331<<\314\245^F\345\274^/*++i<44\204\366\366vn\3652&w\371\362"
+"etuu\321xss\23\65\65\65\330\333\333\343V3#r&\223\t\301`\20V\253\225.\363"
+"\371|\230\232\232\342Z7#r\r\r\r\270y\363&\215\77|\370\0\277\337\317\275"
+".w\271+W\256\240\255\255\215\306kkk\250\255\255\315\310H\21W9\263\331\214"
+"\327\257_\303b\261\320e\r\r\r\210F\243<\313R\270\312=y\362\4\245\245\245"
+"4~\367\356\35\202\301 \317\222\207\340&w\375\372u455\321xqq\21\365\365"
+"\365\274\312\35\13\27\271\234\234\34\204B\241C\243\77^\257\27\363\363\363"
+"<\312%\204\213\\KK\13\256^\275J\343P(\204\267o\337\362(\245\ts\271\262"
+"\2622466\322xff\6\17\36<`]F\27L\345\316\2349\2037o\336\300d2\1\330\177"
+"\237\177\367\356]\254\256\256\262,\243\33\246r\35\35\35())\241\361\213"
+"\27/\360\376\375{\226%R\202\231\334\255[\267p\377\376}\32OOO\343\361\343"
+"\307\254\322\247\5\239\253\325\212`0H\207\220UU\205\333\355N\351\365:\17"
+"\230\310=}\372\24\227.]\242qgg\'\6\6\6X\2446\204a9\247\323\211\272\272"
+":\32\217\216\216\242\265\265\325hZ&\30\222\263\333\355\350\351\351\241"
+"3\20\266\267\267\341v\273\261\263\263\303\244qF1$\347\367\373q\376\374"
+"y\32\67\65\65\341\353\327\257\206\33\305\nCrw\356\334\241\337\77}\372\204"
+"g\317\236\31n\20K\230\234P666\340\361x\240\252*\213t\314`\42\367\350\321"
+"#\204\303a\26\251\230bX\256\277\277\37===,\332\302\234\204rf\263\371\320"
+"\353\356\343X^^F]]\35\263W\6\347\316\235\323\\_XX\230r\316c\207p\273\272"
+"\272\222\216t\272\\.&\243\252\26\213\205TUU\221\205\205\5\315zsss\244\242"
+"\242\202X,\226\324\206\215\335n7\211D\42dyy\231\304\343\361\244bG\331\330"
+"\330 \315\315\315\272\205\34\16\7\31\33\33#\252\252\246\\\213\20BTU%\303"
+"\303\303\311\306\310\367\277|\376\3749\255\42\7\211D\42\272\345\234N\247"
+"\341z\204\20\342t:\223\217\211\347\346\346\246\374\177>\312qs/\23\361\347"
+"\231\317(Zy\262>l\314\23*\307\342\361$\225\271\317\254.\370Zy\250\334\253"
+"W\2574\247\32%\343\317\224D\275\f\16\16b||<\355z\204\20\214\216\216j>Z"
+"\235\350\311\244\377F\237;\211H9Q\221r\242\42\345DE\312\211\212\224\23"
+"\25)\'*RNT\244\234\250H9Q\221r\242\42\345D\3457\246@\17\342\237\232\315"
+"\0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\61\0\0\0x\b"
+"\0\0\0\0~\240Ed\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2KIDATx\332\355\226"
+"=hSQ\24\307\177\257\241I\255\306Zh\f\26q\22j\205\16\352P\234\224*.\226"
+".v\323H\25\224.\202\340 .\26\321\242\210\256\5\21\21\277\20AP\27]\32TD"
+"\311$Uh\251\255\210P\212\266&\32\61\5S\363\341\220\363\222\367nRs2\n\367"
+"\277\274{\377\367\375\336\341\234\373\356\7XYYYYYYYY\255,\7 2\274\321g"
+"\376y\360\n\350<\274)\340us\217\306\313\355\33EC3\0\367L\367\3\0M\0Q3r"
+"\b\240\315t[*DCj\2H\232\356W\200\254\351\346\0\b\0L\254\371\236\216:\342"
+"\347\337N\2759\263\0$\273\303!/\220\276\25\367}\2407/\371\365W\274\360"
+"d%\355\311\301f3\346\264\fy+z\325}\277p)X\235\321{\31\364z\343\342\345"
+"b\265jP\2038\344\2068\206\216\350\313\212u\21\35\321\223\26\347\241\243"
+"#\42\237\304H\264\242\42Z\23\322\237\353DE\4\236H7\323\203\216\30s\353"
+":\200\2168\351\326\365\24:b \'\2351tD\357\222\264\343A\35\261yQ\232\323"
+"m+\255\17\277\332\237E\2445\361\23M\214`\274\362\213\357S\21w={\301\307"
+"U\32\302\247\321\206\211\345\255\232\314\1R\362l\276\346\350b\334\351\372"
+"\365\357\305d\22\211\20\61\267\235Z\257 \346\242\300\315r\274\372\304\322"
+"6\200\325Sn\177o=\2420(\213\326\375\271f[\352\20#\256q\334\rr\276\16Q)"
+"\347}q\262\335\312\275\204\265\263b\275t\224\4\333\335\r\353\250\226\340"
+"\204x\311\210\226p\36\213y[K\320\376YJ\336\247%\330\271,\247f\215Iq\347"
+"\330\3303O\213}\256\n\bedh\277q\340\77-\331\277\273\f`]\3718\232\357\17"
+"\373F\42\363%\377\205wRv\314\24|+/\367n\213gt\267lwC\36\357z\325j\275\342"
+"\215r\266\344}\353\250\254\332\rUY\371\322\37}\16@\307e\365\235!\177p\21"
+"\200\241]e\42_\365R\301\327\373\22+\28\27\312\316\201\5#\215\324\36\343"
+"\13\303\77\212\305\314\353#\215\334_\2\3216{\31\265\262\262\372\317\364"
+"\27t\253\346\371H\320<\20\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\62\0\0\0x\b\6\0\0\0\260\374\241\273\0\0\0WtEXtTitle\0/root/"
+"links-2.1pre3/graphics/font/century_school-medium-roman-serif-vari/043"
+"b.png9\5\201\266\0\0\0\32tEXtSoftware\0GNOME Icon Editor\236*\nl\0\0\3"
+"\362IDATx\234\355\232\77K\353P\30\207\177\r\265\203\332\242\221\252\255"
+"8T\253\342\27psp\260\213\223\240_C\\D\20\234\5q\320/!\16:\b\256\16\16\305"
+"\241\270D[EJ\21Q\320\212Xc\323B1\311\235\364\352mN\333s\222{\373\306{\36"
+"\350\340y\233\223\367\361\374I\2237\1\0\66~\0J\273\23\360\n)B\r)B\r)B\r"
+")B\r)B\r)B\r)B\r)B\r)B\r)B\r)B\r)B\r)B\r)B\r)B\r)B\r)B\r)B\r)B\r)B\r)B"
+"\r)B\215\37#\22\249\310\266m\234\235\235y\235KK\350\272\216\365\365u\244"
+"\323\351\272\230\315\363\241@:\235\256\313\313\227S+\34\16\327\265\371"
+"R\304\tn\221@ \3607\362\340\242X,\326\265\t-\366\177M\271\\\306\341\341"
+"!\356\356\356\360\366\366\206\335\335\335\272\357\4\320\340\345LEQ`Y\226"
+"c,\227\313arr\222yr\333\266Q*\225`\232&\236\237\237\361\364\364\204\207"
+"\207\7\f\f\f \26\213!\36\217\243\263\263\263%\221\251\251)d2\231\246\337"
+"\343\332\265>>\323\323\323\314]E\327u{hh\250i\37\321h\324^]]m\270C\351"
+"\272\336jNb\42\13\13\13\314\223\37\37\37s\365U,\26\231}\225J\245\226\372"
+"\20\336\265\306\306\306\230\261\363\363s\256\276\252\325\252h\32\237\b"
+"\213\214\217\2173c\274\42^@bD\274@Xdtt\324\261\335\262,d\263Y\341\204D"
+"\21\22\211D\42\30\34\34t\214\25\n\5\30\206\341*)\21\204D\250M+@P\204\332"
+"B\7\4EFFF\2301_\211LLL0c\276\22I&\223\216\355\325j\25\371|\336UB\242x\272"
+"Fr\271\34L\323t\225\220(\334\42===\350\353\353s\214\265kZ\1\2\42\24w,@"
+"@\204\3425\4\20\20a\3754\1|&\302\232Z\37w\200\355\202[\204\265\365\266"
+"s4\0\17\327\210\257DTU\205\252\252\2161_\2114\332z5Ms\235\214\33\270DX"
+";\226i\232\270\270\270\360$!Q<\31\221|>\357\311\3\4\67x2\42\355^\37\0\247"
+"\b\325\35\13\370\37ETUEoo\257c\314W\42\254\205n\30\6\n\205\202g\t\211\322"
+"\262\310\351\351\251c{6\233e>\261\377\227\270\256XQ\230V\200C\241\307\266"
+"\177\227KZ\251N\265\373B\370\301\267\21\371*\341\364\267\23\67\67\67\236"
+"&$\312\247H\243\244\33\305\334\336\203D\42\21\304b1f<\34\16#\32\2156\355"
+"\'\b\0\375\375\375u\1\313\262\240(J\323Q\21\21I$\22PU\25\303\303\303X^"
+"^FGG\7\363\273\212\242`\177\177\37\333\333\333\270\275\275\305\353\353"
+"+\363\221\223=77\327\260\374\305\3020\f;\30\frU\247666\204\316\365\225"
+"\235\235\35\347\212\225\350u \223\311\340\375\375\235\353\230\331\331Y"
+"\241s}eff\246\256M\1\200\313\313K\354\355\355qw\350T&nF(\24\342>\246Ul"
+"\0vWW\227}rr\322\362\360^]]\331\241P\210\273\210\252i\232\353\251\245i"
+"\32\273\30j\30\6R\251\24\266\266\266\232N\227\307\307G\314\317\317\243"
+"V\253q\377\327^^^\270\217\371\23\247{\37\307\27\6\222\311$\226\226\226"
+"\260\270\270\370\2552U\253\325ppp\200\225\225\25\334\337\337\13%\221J\245"
+"\260\266\266\206\356\356n\241\343+\225\n677qtt\364\255\275\341\233\17\201"
+"@\0\211D\2\361x\34\225J\5\327\327\327(\227\313B\t\374m\32\212\370\211\377"
+"\3675\'\252H\21jH\21jH\21jH\21jH\21jH\21jH\21jH\21jH\21jH\21j\374\30\221"
+"_\332t\220H\32\206\215-\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0;\0\0\0x\b\0\0\0\0i\202\325\255\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\245IDATx\332\355\227\77LSA\34\307\77\255\26h-\213&\340\252\230"
+"\0N\210\251BI\f\220\b\f&\356F\7c\342\350\350\346\342\312\344lp\327\270"
+"\230\330`\n\304\324H\f\304\377\211\22\214\177\42&\30\300\20\250\42J+\347"
+"p\327\327\336\335{}\257\253\336w\271\334\257\277\17\357\276\357\233^\177"
+"\200\223\223\223\223\223\223\223\223\223\323\377\245\30\364^H\325Vv\337"
+"N\374\264\332\366\\:\256\355\177\337y\f\300sa\350\236\375\210q\263\347"
+"\203\254\1776\353\242\333D\233\267\314\226\r \356g\344\254Y\350O\371\265"
+"\305\341\275U\34\61\13CV\313W`/\\\274\322\335\232i\251\375 \233\376\241"
+"w\236\322v\305\227;\3137\253\333\316MicG.gt\264e[\b!\304\27e\265\255zf"
+"\200\305\273r}(\2271\235\355\223\247\312\311\335\323U\235\345\223\\^\310"
+"\372\250\237\335RA\356~a\260e\271\210I\0\216\34\326\330A\0\346\212\366"
+"{\326\364\0\373\301\311\223\0L\23\302\346\377\330l_3\0Sa\354\372\23\0\206"
+"\23\326\2217\347\303X\362\0\264f-\266P\16es\226ae7O(k\247\324\37`\327f"
+"UJ=mF\272K\357\302Y\225R\374\264aw\232\b\254\231R2\23pd\37V\2454\22\323"
+"\354\356\316Da\325\13m\357\321\354\276Z\213\304\32)\r\6\35\331\217\325"
+"SJ\235h\204U)e\323\0\f4\1l\317FcUJMC5\327\315\354vDV\2454\26b\327\227U"
+")\215\326\330\315GeUgG\207gw\355ud6W\275\246\345\221gv#\263*\245\261\372"
+"v\375Y\225\322p\202T&\350\213\20\304\252\224\322Y\6\22\0\213K\r\260^J\203"
+"u\36\33\300V\276K\212\3157\302\252\356c\2072\0\345BC\254L)v=\1\60\267\331"
+"\20\253R:_\317n\20\253R\242N\272\201l\345w\t\2408\337 \253R\2(\224B\330"
+"\244\372\2057R\322\22j\222\313>\343Ot-\312y`\331\33\301\256y\343P\227\252"
+"\34\234\224\373\322\271f\217\273\374f\275f|\332Z{\324\1\320[),\1\244\357"
+"\257lT{J\353\37\307\345\25\374\315\234\273\256\2\304V\324\356\26\300\250"
+"5\277\35\2058\34\360}\7^JS\310Q\312\320\376\340\367\354\245$f\2;\3425s"
+"KE2\236iyW<[\5\260\357\r9\275\335\330\321\235,t\312Oo\13!\304w9\246\265"
+"/\350=\305\211\270\373\377\301\311\311\311\351_\324_O\260\200\23\213hV"
+"\356\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\63\0\0\0x"
+"\b\0\0\0\0zU\225Y\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1ZIDATx\332c`\30"
+"\5\243`\24\214\202Q0\nF\301(\30\5\3\5\30\31\30T2xQ\204~,:\213\220\316\324"
+"G\221\373\177a\346\177\6\6\6\206m\377\321\300e\204\32kt\271\377\226\f\f"
+"L\f\f2\350v\363!\230\2\30\16\23b``\42\303\77L\f\f\257\320\305\276aeB\301"
+"g\6\6f\6\206[\202\317\376\13\301\305\36\236\275\334v\7\316{\302\361\365"
+"\2050\33\214\367\365\364\215\325\213\376\301x\3210/Va:E\340\42T\356\34"
+"\77\252\304\33\250\270\b\26\367\227@\345\n\21\376\201X\13\323\213E\17L"
+"\356\7\232\36\22\303mT\3170\323\303\202\306\237\211E\215\26\1=i\243\341"
+"\306P\201E\215E\0v\275\17\241\371\27\233\\&T.s4\215\216\352\31\4z\230\211"
+"\327\303\42\f\345KcQ#\16\245Q\3533\376.X\335\270B\f\243\325a\371\24*\367"
+"\324\222\21&\30w\377\335\77\244F\303\373\307EH\206\355\177\363\rI\356\333"
+"\353\235<\f\f\f\f\f\307\321\233\32\367\20z<0\332!\356\f\fL\f\f\334\f\270"
+"\303\201\31[a@fXc\2645\376!\230\17714@D\322>\241\272\370{#R\213\350\2\252"
+"\334\277s\202\243\355\327Q0\nF\301(@\6\0\62*\357\345\251\230T\270\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\63\0\0\0x\b\0\0\0\0"
+"zU\225Y\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\305IDATx\332\355\226QH"
+"SQ\30\307\377\335\345\222\253c%\253$M\322\250\201`\215\310D\205B(D%((\310"
+"\240\347\240\202^,\260\36J{\353-hD\275h/=\tA\24VD\313\214Z\245\251\241"
+"\3\265F\2030a\202[\2719\347\334\355a\373\316\356\335=\347\272\207\336:"
+"\377\247\357\374\277\363\333\335=\347;\337\271\200\224\224\224\224\224"
+"\224\224\224\324\277\320\6\276]\342R\325\305xx\255@\246\344p\313!w9\0 "
+"\31\234\34~\25X\367\271\315}\1774\243\276vm\261$\232|\32G\321^\207\220"
+"p\336Ok|\205\332\5\310\276o\232X\267m<\244\325\360\42\13\323c\301\25\275"
+"\361\264\230\203,\263t\372\331\271\n\0\260\327\367\204r\320\240\335\364"
+"\307b,\351\253\313\331\366\363\21\346\77\314C\312\202\224Y\273j\334\262"
+"\312\21\6]62\375\344\247\316\232\366x\210r\313{\365\3761\321o\1\2003@\311"
+"!}\1}!\3671oEk\331\362t\344\314Sl\307wpw\356\6\345Gs\336\33\362z\370\273"
+"\255\316\323\204&\262\334T2\261\315\202\22\351&\246\237\234\353\344\364"
+"\211*q\33\225D\244(\353\370\211i\25\226\357s\232\322\222\31\227\246\262"
+"\343%\273\220\271@L/\0\58H%\353O\n\231a\n\32\62\214\207\306#\342\3038\25"
+"\317\6\3733\314.JX\234\374\364t6\330\256\2\nPE\211\237\26\247\376\7\5;"
+"\1\5p\321p\336\202\tS\340\2\24\200\35\300%\13\206\345\212\215\214\225\222"
+"F&JC\233\5SJA\24P\200\4;\254\2050\t@\321\275z\271\5S\251[(E\267\214{,\30"
+"\312%\347\0\5\230%\277N\2148i\23\203i@\1>\261n-f\32\251\31}\314\324\316"
+"L\204\316^\205\2209J\1=\340\21\25\372E\341\315\366\235\246Tg\235N2>\213"
+"\230#4c\202\265\210ES\213\310\323\0M\350b\326\35\262^\360\21\17\65\231"
+"\4\253gT\263[\343$\367m\336Q\332\253s\275d\376\342\325\302\25\312\306\365"
+"-\323\25&\373\275jB\332\250\307h\327\f\376\31\326\344_\346\337\267m\354"
+"f\32+2f\36\60h\312\243\3677v\263\247D\362\353\321\376\232A\253wYW\261\235"
+"\30gv\262\335\364\35\342\30l\316u\31\277o|!\356\254\251\357\310-I\252s"
+"\300\274:\216\'\26W\275\366\3738w\347\224\233\253B$P+*\253\3\243|b\345"
+"\326&\3611QNO\230\211\304\275\252u\232R\2437\244\7\222o/\225\25\362\315"
+"W\323\340\336\275UU\27cs3\223\37b\362\273XJJ\352\377\321_\356k\333\21\'"
+"\314\27M\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\60\0\0"
+"\0x\b\0\0\0\0\221b.Z\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\31IDATx\332"
+"c`\30\5\243`\24\214\202Q0\nF\301(\30Q\200\221\201\201A=\215\2078\305\317"
+"&|d````}\365\237X0\235\201\201\211\201AR\224h\367\310200\221\352\7&\6\206"
+"\17\377\211V\375\231\201\201\205\201\341S\236\27\227\266\b\\\360\336\203"
+"w\237\177|b```\340\347\346\23\321\341\207K\\{\366\272\25\316aY\f\365\326"
+"\'\13T3Y;\240\22\377<P%,\240\342k\321]\301\r\225\270\205\360\3\3\3\3\3"
+"\303W(\375\3]\3\272\49\2414\252aT\303\250\206Q\r\243\32\206\254\6q(-\214"
+"\256\0.\301\210,\312bp\32Z\321\374N\344G\251\367\225\327\300\352\350&q"
+"\270\350\246_\250\325\367}#\250D\3637T\211\267\241\20K1*\374\26\250\206"
+"\373\350\22\33\31\30\230\30\30\3301<\306\214+D\230\311\13\245\237\30\202"
+"\177\240\364\77,\22L\f\f/\327\377A\25~\274\1\312X\204V\t\177X>\332^\34"
+"\5\243`\24\f\3\0\0\332G\304\0\354\33.\17\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0\65\0\0\0x\b\0\0\0\0wK\345\36\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\2\323IDATx\332\355\227Kh\23A\30\307\277\274\23R"
+"h\322\30\254\321`\275HA\304V,R\217\255\212R\372\270\210P\361\340\301\213"
+"x\20\304kQ\361 \210\320\350\241\267\352\321\342\213\342\243HCDiZ\243B1"
+"m\254\210\330\322\306\330\207\246i#\305\3465\36vf3\223\235I2Bo\373\277"
+"|\231\357\317ofw\347\373f7\0\272t\351\322\245K\227.]\272t\25e\20:\376\266"
+"\203{<\326T\362\353d(%\346w\334\234\372;\327\212\7\346\336\361\2\42\312"
+"\214\234\24Ln\274\224F\b\241Ie\324\36C\254>\266\360\240}\23xZ\0\0\333\235"
+"\2*U\376\252f9k\337&q\1\300;\206xzje\241\226h\321\3\360\177A|\r[h\350|"
+"\226\262`\3277$R\200\202Z\363\264\343\235Ab\235.R\3\214\361N\375\265\21"
+"\31\35\215,2\346\3226\225z\316\235\366M\217\35\0\0\266\367>\243\256\345"
+"nY\352G7u\13\7&\324\374f\3I\16i\241\327^\346\31[\356\253\316-\365\271\207"
+"^\5\6\231m\35*\331\31\60\r\23k\325F\347\3\24\364\320\244)\35w\234\230="
+"t\272\271\b\205\255\234\212;G\334{L\361fH\372g=\257N\315\13\330^`\322$"
+"[8\312\357\211\353d\326\335tv\32\'\7\4\335\327D\250.:\213\13x\331%j\332"
+"%L]\1\0\60\262\336{a\263\207q\334\311\241\304\372\204\243W\212\232\301"
+"\321)E\315\222:\221\242\3428\256KQ+8f\245\250\\\32\357\200\24\5\253JH\310"
+"Qf%\314\311Qn\\zRT\275\3\0\0\322\337\245(|\320\207\221\24uL\t!\220\241"
+"\254\247\224\370\222GYD\324Y\245\305\247b\300\351\257y\1\344\302\307\315"
+"e\340Q\250\215\377\36\306\207f\332\305\247>\327\362\240~\354\336\6>\205"
+">4h\367\367\21\366~{D\24J\337\3601\216\343B\202X\27AH!\224{{\255s\257\3"
+"\0\300\332xf0\245\346\203\206r\24^3\231L1\211e_i%sTS2\336\350L\24\217\352"
+"j+j\275#\242MFQy\3157\361\246\42\324\n\37z\\\7\345(W\337\242\226\211\235"
+"\20\\vT\375J\261u\77`\236]v\244\313$\372\322\213\356\247\306\346CG\232"
+"\33\375n\303\237_\263\261ppM\374\210\212kU\243\352O\33\235\332\32\312\360"
+"_T\35\365N\253Z\316\234R\32)\251\265H\201\332-UQ&\0\250\365u\364;\361\201"
+"\340\211\33\363\271*\270\232\351\222n*\4\35\225\251\343\332.l\257|_\234"
+";\261o\325.g\264\311\265\312\337\3c/\16\263\347B\356\311\270\376\37XF\377"
+"\0\242\221]\250wd\265\250\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0-\0\0\0x\b\0\0\0\0C2$\2\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2\62IDATx\332c`\30\5\243`\24\214\202Q0\nF\301( \35\60\342\20\27\20\340"
+"ec\370\374\363\335gB\252\371]\\\f4\371\241\234\357\217n\236\335y\352\77"
+"\16\63\231\3347\374\376\217\16\2568`W\354q\371\77\66\360\323\34\213Z\361"
+"M\377q\200\271\230\212\235_\342R\374\3776\206\342\370_\b\331\37\367\317"
+"]\377\206\254\\\24Mq\346\77\230\314\213\16SV\6\6\6f\233\25p\241\377\36"
+"\250\212\3\377@\305\1777\360\300\5}\336\300T\227\242(\326\374\2\25~g\213"
+",\254x\2*<\tY\224\343\nT\364\243\21Z\370\307\35\372\365\377\377\377\277"
+"Y\310\202\r0\33\3\61\203\212M\311XO\0Y@\371;T\361Bb\322\326|\250\342/\342"
+"D(V\204%\215\36b\214n\207*\376\253@\204b\346gP\325\373\t\251db``\260\226"
+"\204r\326\23\243\332\17\306\331C\214\263OC\35\362\226\30\305\354\77\241"
+"\252\3672\20\341\22M6(\373&1\252\341\301\366\220\30\325r0\366+bTs\301\330"
+"\237\210Q\r+:\30~\20\243\32\256\210\235$\325\2\304\250~\17c\313\20\243"
+"\372)\214\255N\214\352\7\60\266111\317\t\313\13\377\304\2100\373\373EX"
+"\351\354IL\212=\16\343\4\23\343\24OX\361\360[\222\230$\373\1\246\274\215"
+"\30\303g\301T\177$\246\204\320\202\27\245\363\210\251\3236\373\300\370"
+"\276[\260\224\t\226z\274\377\316!r\226\26\274f\372\240\211\2418\372\321"
+"\377\377\377\377\377wA\210t\301\335\362\24M9\363T\250D\2R\260\\\204+\177"
+"\217R\314r\255\201\211\33\42\211\252\274B\3241\33\r\340\302\16\260r\375"
+"\377=F\344\272\330|7/B\357\271\275\347^~\342\227\320\365\326\205\13\325"
+"\266\2408\320\344\315\177<\340\'z4+\236\306\243\32\263\32`o\372\206K\361"
+"\3i,q\2452\357\'Vg\314\20\302\36\267\322e\347\376\241*\375\264-G\fO\373"
+"D\324FGY\232\223\203\341\323\217wo\236\334\273z\347\357h\233o\24\214\202"
+"Q@}\0\0\263\31\66\215M\326e\356\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0-\0\0\0x\b\0\0\0\0C2$\2\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1HIDATx\332\355\226A+DQ\24\200\277y\363\30\24a\241PR\324\210d6cc"
+"\210\205\237\240\311H\371\1\374\16e\3517\30\66ll,,l\224\244,fjJ\26\66\362"
+"\b%\3054\230w,\336{\312\233\367\306\233\262P\316\267z\347\336\257s\316"
+"\275\335\336\275\240(\212\242(\212\2\20\3`~\42\376\260\177\37\346\f\246"
+"\273*\305\363\257pUD\344y)\3305\326\253\42\42k\0&\300\n@\373V6\177U\365"
+"\273\335\311\345I\0z\274\221a\211\300\24\200\1\344\42\254\317:i\304\336"
+"\263\335\217t\224Ffps/FH}s\214\263\'\261\5o\250b=B\363\270\23\224K\320"
+"\326\337\341N\355z\215\2149\245\312\33\2518\300\200[\272\0@\352\320\211"
+"2^\3069\21\219\35u\303\3576\235w\42\42\27\6n\'G\323C\211\227b!\244\341"
+"\247L\256\317\276\316\333!\323\276\334\276S\320\320\31T[m\265\325\376\7"
+"\266Y/M\315\340\210\367\257m\371\271T\353l\311\273\227\266\223f]u\363\326"
+"w\221\275_fC\345\336\200\213\357,\264\357\246\200\f\211_\332\301\217\200"
+"\351\267P\333:\250yo\274\356\350{OQ\224\277\300\'\307}\336\331r\325\260"
+"B\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\6"
+"\0\0\0\260\374\241\273\0\0\f\341IDATx\234\355\\]L[\345\33\377\235\236\323"
+"\322Oh\241-\24Zh\21\220\317\341\266d\231Q#\313\214\316%^\250\273\363\302"
+"m1\331\215\367\306\273\335\315\33/\26\23%\273\320\13g\26\23\63]D\21\62"
+"\23.\234\23\31\37cC`\223\302J\241\245\264\5\372\375y\336\377\5\377s\354"
+"\241-\264\245\325n\351/9\t\345\360~\374\336\347y\336\347y\237\347-\24\0"
+"\202\247\20\n\205\2\301`\220\377,\372\17\347RTT\210\224\33*D\312\r\25\42"
+"\345\206\n\221rC\205H\271\341\231!B\341)\r\32\367\342\231\221H\205H\271"
+"\241B\244\334P!\362_C\241P\b>\77\265D\366\242B\244\334P!Rn\250\20)7T\210"
+"\224\33*D\312\r\25\42\345\206\n\221rC\205H\271\241B\244\334P!Rn\250\20"
+")7<3D\236\211\372\210B\241\0\223\372\213\266\2666\\\270p\1uuu\240(*\347"
+"\216X\226\305\326\326\26&\'\'q\347\316\35\270\\.\260,\233s{\206a\320\324"
+"\324\204\223\'O\242\277\277\37\32\215\6\42\321\301\312\22\217\307\261\270"
+"\270\210d2\t`W\42dpp\220\20BH\42\221 \205 \20\b\220\321\321Qr\356\3349"
+"\242V\253\t\327o.\217^\257\347\373\361\373\375\204e\331\274\306\275|\371"
+"2\341i_\272t\t\0\362\222D*(\212\2\3030\20\213\3059\255f*h\232\316\370s"
+">xf\214=\215\b!\205\331>!\4\261X\f\221H\204\327\331\\\221\372\367\371\330"
+"V*xc\347T\352\223O>\301\211\23\'\320\326\326\6\203\301\0\232\2463\252\33"
+"!\4\311d\22>\237\17\66\233\r\363\363\363\30\35\35\305\237\177\376\t\277"
+"\337\237\327$\274^/Z[[q\372\364i\274\361\306\338w\356\34B\241\20\244Ri"
+"V5eY\26.\227\13\203\203\203\220J\245\273s\332\373\3204M:::\310\340\340"
+" \361x<$\231L\246\31Y,\26#\17\37>$\37}\364\21imm%4M\347e\340\331\236\216"
+"\216\16r\355\3325\342\365z3\32\67\313\262$\36\217\223\215\215\r\362\316"
+";\357\20\271\\N\24\n\305\77\306\236jd\311d\22\313\313\313\270v\355\32~"
+"\373\3557D\42\2214\225cY\26\341p\30[[[\b\205B\5\253\304^\354\247\332\334"
+"\273\315\315M\\\270p\1\303\303\303\b\205B\0Rld\257^\'\22\t,--axx\30\66"
+"\233\r\211DB\360\236\246i\250\325j\264\264\264\240\256\256\16\f#pI%\1E"
+"Q\240(\212\367[\361x\234\177\227u\327\42\204 \20\b`ll\f\363\363\363\210"
+"F\243\202\325\242i\32:\235\16}}}hnnFUUUiY\374\37v\273\35\347\317\237\307"
+"\344\344\244`q\367\335~Y\226\305\306\306\6~\371\345\278\235N\201\324(\212"
+"\202L&Ckk+\372\373\373\241\327\353\13\366\1\251}2\f\263\257\37\42\204 "
+"\36\217gT\301}\215\217\246i\322\335\335Mn\335\272\225\346uY\226%[[[\344"
+"\273\357\276#\247N\235\42r\271\374P\206\336\336\336N>\377\374s\342v\273"
+"3\32\272\335n\'\357\275\367\36Q\251T\204\242(\276\235\300\330\263\201e"
+"Y\254\257\257\343\326\255[\360z\275\202\225\240(\nr\271\34mmm8z\364(\352"
+"\352\352\362\366\352\331\306L&\223i\253\236L&y\333\330\373\356\300Q\t!"
+"\360\373\375\230\230\230\300\364\3644\302\341\260\340\275X,\206\311d\302"
+"\261c\307\320\324\324\4\261X|h\42\42\221(\315\177mll\340\213/\276\300\375"
+"\373\367\21\213\305\322\333\344\3221\313\262\260\333\355\370\361\307\37"
+"\261\265\265\225&\25\205B\201\316\316N\34\77~\34j\265\372\320D2!\26\213"
+"\301n\267\303\357\367g\264\217\234\210\20B\20\f\6q\377\376}\214\217\217"
+"\13.\327\3\200D\42\201\331l\306\261c\307\320\330\330X\320V,\223\311\320"
+"\324\324\4\255V\233\261}2\231D0\30D\42\221(\234\b\260\33\373\77y\362\4"
+"\277\376\372+\334n\267\300\1r\266\322\325\325\205\343\307\217C\243\321"
+"\344M\304h4\342\335w\337\305\251S\247PSS#x\267\266\266\206\253W\257\342"
+"\367\337\177G$\22\311\330>g\42\234_\231\235\235\305\370\3708\2\201\200"
+"\340}UU\25ZZZp\364\350\321\274mE$\22\241\252\252\nb\2618c\\\227H$\260\265"
+"\265\2251\302\310\233\b\0D\243QX\255V\334\271s\7N\247S\340\220(\212\202"
+"J\245Bgg\'\372\372\372\322Vu\77(\24\n477C\253\325\362\236;\25\\p\32\213"
+"\305\212C\204\20\2\237\317\207\7\17\36`jj*\315V\244R)\314f3\216\349\202"
+"\306\306\306\234\245\322\320\320\200\327_\177\35/\275\364\22jjj\4RY]]\345"
+"\325*\32\215f\355#o\42\221H\4KKK\270w\357\36\326\327\327\371x\207\242("
+"\3204\215\332\332Z\364\364\364\240\253\253\13*\225\352\300>%\22\tjkk\241"
+"V\253!\221H\322\266]\223\311\4\267\333}``J\3\270\234\17\31`W\3244M\303"
+"h4\302d2A*\225\362\1\235H$\2!\4\36\217\7\66\233\r\333\333\333\373\36\264"
+",\26\13\316\237\77\217\267\337~\33:\235N\360n}}\35\237~\372)~\372\351\'"
+"\270\335\356\254j%\221H\362\77\352\22B\20\16\207\261\274\274\214\351\351"
+"i\254\255\255\t\242P\206a\240\323\351\320\333\333\213\366\366v\310\345"
+"\362\254}\211D\42\210\305b>FcYV0\331H$\2\273\335\216\235\235\235\3\217"
+"\t\5\305\23,\313bss\23\223\223\223XXX@0\30\344\' \22\211\240R\251`\261"
+"X\320\335\335\r\203\301\220\325V\244R)\364z=\264Z\355\356\252\212D\274"
+"Z\271\\.\f\r\ra||<\253\23<4\21\316V\226\227\227155\205\265\2655A\330 \26"
+"\213a0\30\320\323\323\3\263\331\f\231L\226\261\237\306\306F\274\371\346"
+"\233x\371\345\227\241T*\5\253\36\16\207\261\262\262\2\217\307\223S\16\240"
+"\340\b/\221H\300\351tbrr\22\217\37\77\26\30#\'\225\266\2666tww\243\276"
+"\276>M*\f\303@\251TB\245RA&\223\361\22\341\20\213\305\340v\273\21\b\4r"
+":}\36*T\345\374\312\275{\367\340p8\4~\245\252\252\n&\223)\353\301\213\333"
+"\2554\32MZHb\267\333q\343\306\r\334\275{7-H-\t\221D\42\1\207\303\221U*"
+"\325\325\325hooGWW\227 \206\242(\nF\243\21g\316\234\301+\257\274\2\265"
+"Z\rB\b\b!`Y\26\241P\b6\233\rn\267;\355\210]\22\42\300\356\316\362\350\321"
+"#\214\217\217\247\345|\271\260\245\257\257\17F\243\21\22\211\4\300\256"
+"\r\251T*(\225J>3\311yt\273\335\216\237\177\376\31\223\223\223|b\341_!\222"
+"L&\341r\2710==\215\305\305E\301\340\\\202\342\371\347\237GWW\27jkk\371"
+"-\267\272\272\32\325\325\325\2\265\242i\32\315\315\315\260Z\255\2g\373"
+"\257\20\1v\2452\77\77\217\273w\357\302\343\361\b\266J\356\\\337\333\333"
+"\213\372\372zH$\22\230L&\234={\26\3\3\3\250\253\253\23\364\365\350\321"
+"#D\42\221}\343\252\222\21I&\223\360x<\230\235\235\305\334\334\234 \323"
+"(\22\211\240\321h\320\323\323\203\236\236\36h\265Z(\24\n\310d2A\262\202"
+"\20\202\345\345e|\365\325W\30\31\31\201\317\347\313k\16EKF\205\303a,,,"
+"\340\217\77\376@gg\'\224J%\277\235\312\345r\264\267\267\243\257\257\17"
+";;;x\361\305\27\361\326[o\241\241\241\201oOQ\24\342\3618\266\267\267s\336"
+"rKB\204eYx<\36<x\360\0sss\320j\265\374\261\227\223J\177\177\77\2\201@\306"
+"$\205\303\341\300\310\310H\306\263N.(\32\21\356\340\265\260\260\200\251"
+"\251)^*\2341\313\345rttt \34\16C\42\221\2449\310p8\214\325\325U\270\\\256"
+"\234\267\334T\24\65\317\231*\225\371\371y\324\327\327\13\244\322\320\320"
+"\0\265Z\315\'\367\366\266\215\307\343\31\323@\271\240\2400>\33\270R\3\0"
+"\350t:\264\264\264\240\246\246\206\77c0\f\3\251T\212\252\252*\201\241\333"
+"l6\334\270q\3\67o\336\204\335n\317\333>\n\n\343\17B<\36\207\323\351\304"
+"\314\314\f\37\31\37\204D\42\201@ \200p8\\pV\277\350D8[YZZ\302\334\334\34"
+"\34\16G\306\204\32\7\247\323\211\321\321Q\214\215\215\345]\rNEIj\210\261"
+"X\fkkk\230\231\231\301\343\307\217\5\347\225L\177\353\365z\341\365z\363"
+"\362\344{Q\22\42\\\232uii\t\17\37>\204\303\341\310:\311\346\346f\370|>"
+"\4\203\301\274k\217\251(YU7\26\213\301f\263avv\26+++\31\223\7\353\353\353"
+"\370\354\263\317p\373\366mlnn\26\\\210\5JH\204K\263Z\255V\314\317\317c"
+"ss3m\3059\265\332\336\336.\310w\244\242\244u\366\332\332Z\274\372\352\253"
+"8s\346\f\214FcZ\26\221\333\255B\241\320\241\324\n(\262CL\205H$\202D\42"
+"\201L&\203L&\343K\310\34\354v;~\370\341\7\214\214\214\300\355v\37z\274"
+"\222\21\21\213\305\320j\265\320\353\365|\336+\25F\243\21\36\217\'\255\250"
+"Y(J\246Zuuu\30\30\30\300k\257\275\6\235N\227f\350\177\377\3757\177\264"
+"-\6J\42\21\232\246\241T*QSS\3\231L\306\7\210\334\271|ee\5_\177\3755\276"
+"\375\366[8\34\216\242\214Y\22\42\f\303\240\246\246\6\32\215\206\77\247"
+"\3\377\4\206\321h\24\321h4k\321\246\20\24]\265\270\242OCC\3\352\353\353"
+"\5i \232\246\341v\273144\204\241\241!8\235\316\242\215[t\211\3204\r\275"
+"^\217\223\'O\342\304\211\23\250\255\255\5\360\217Z\31\215F\354\354\354"
+"\300\347\363\35\332w\244\242\350\22a\30\206O\365\244\26m\270L\275\325j"
+"-\370r\333~(*\21\221H\4\245R\t\263\331\f\213\305\2\225J%8\322\332\355v"
+"\334\274y\23\337\177\377}\321\214\234\37\273\230\235Q\24\5\265Z\215\336"
+"\336^\349r$\255T\235H$\340\367\373\21\b\4\212\252V@\221\211H$\22\350t:"
+"\30\f\2064O^j\344L\204\242(h4\32\\\274x\21V\253\25\63\63\63\270t\351\22"
+"\237`\343.\16\230\315f<\367\334sP*\225\202\366N\247\23###\30\31\31\301"
+"\306\306FqY \217]K*\225\302\353\365buu\25&\223\t\321h\24\203\203\203\330"
+"\331\331\301\360\3600\2\201\0\252\253\253\321\332\332\n\213\305\222\226"
+"\\\210F\243\330\330\330\200\313\345\312Z+\77,\16\274\265#\26\213\t!\204"
+",..\n\356\5\7\203AB\b!g\317\236%:\235\216\f\f\f\220\353\327\257\247\335"
+"\356Y__\'W\257^%/\274\360\2\21\213\305E\2712\230\372(\24\nr(\77\42\227"
+"\313\341\367\373\361\301\7\37\200a\30\30\f\6tvv\246Us\343\3618|>\37vvv"
+"\212\22 f\302\201Dh\232\346\223\7\26\213%\343\3452\261X\214\246\246&tu"
+"u\241\241\241A\20\226lnn\342\366\355\333\374\345\265R\341P\22\t\205BP\251"
+"T\270~\375:\30\206Awww\332=\224h4\n\247\323\t\207\303\221s\365\251\20\24"
+"%D\321h4\320\353\365hll\24Hcmm\r\337|\363\r\276\374\362KX\255\326b\f\225"
+"\25\7n\277\311d\222\237\334\362\3622\177$\215F\243|\r=\34\16\343\364\351"
+"\323\260X,|\256\327\347\363aff\6\23\23\23\360x<\245\232\277\0\5\357Z\331"
+"\20\b\4\310\330\330\30y\377\375\367\211V\253-\372.\265\367Q(\24$\'\42\0"
+"\210L&#\204\20b\263\331\366%\21\16\207\311\304\304\4\371\360\303\17\211"
+"\301`(9\211\274\211P\24E4\32\r\271x\361\42Y]]\315H\42\26\213\221\277\376"
+"\372\213|\374\361\307\304d2\375+$\362&\302=4M\223\266\2666r\345\312\25"
+"\342t:y\22\211D\202<y\362\204\\\271r\205X,\226\177\215\4G\344\231\371\216"
+"\325S\373E\230\324\377\346\24\f\6\237^\42{Q!Rn\250\20)7\374\17~\bU\26\320"
+"\245\241\215\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0"
+"\0\0x\b\6\0\0\0H\34ZL\0\0\0\30tEXtTitle\0/root/00000444.png:\336v\310\0"
+"\0\0\32tEXtSoftware\0GNOME Icon Editor\236*\nl\0\0\2\311IDATx\234\355\232"
+"\261\216\2030\f@\315\351\206V\252\324\5\251\352\17\364\7\351\0_\320\241"
+"f\355/v\351\334\216\271\341\16\304Q N\342\0q\375$\246\202\353G\22\2q2\0"
+"\60 \234\257\245\23\230\3\225\224\202JJA%\245\240\222RPI)\250\244\24TR"
+"\n*)\5\225\224\202JJA%\245\240\222RPI)\250\244\24TR\n*)\205\217\220\374"
+"\346\16h\314xu>\3132\357sC`m\311\251\244\373\277\273\234\33\n{K\332\340"
+"L\236\312G\214I\225\224\2\253d\226eoGUU\326\353\252\252\32\274\226\13m"
+"I)\250\244\24\274%\21\21\312\262\4c\314\350Q\226%9\236-\2261\6\20\21\20"
+"\321=\331<\317\r\374n\7%\35\210h\326\0\42\322\363\276^\257I\311\365!\311"
+"\336n\267$\345\372L\312NI\246\42\3300\346\361u\277\337\7\307*\42BQ\24\256"
+"C|Q\314\330\27\316f\263\tj\301n7\331\357\367o\261B[\3015\237~N\177\207"
+"_@\352\323-Dr\267\333\375\313\313\367\346CLAjL\356x\ro\2221\4cH\372\344"
+"\352\374\306s>\237]/Y\234V\362\361xXO\256\353:j2T\2507\272qj%/\227K\234"
+"\214\42A\271\341\215\223SwM\261\253\28H\256\245\2536\270\334\360\244\277"
+"\'\2517>iI*IJ\272\256\344%)i\34K\rIJ\272\262*I\316\5\345.\253\222\264u"
+"\303\343\361\350\25wU\2226\306>\360m$%\351\213JJA%\245\240\222RPI)\250"
+"$7\257\327k\316\277ki%)[QB\331n\267\321\377c\210V2\317\363\311\23\327X"
+"\341\262\345\324\254\1\265\222\251.7R\3707&m]\326kSB$(\271t\33\316\251"
+"\324\226J\301g\264t\7\0\246,K\326\244\\\22:\34\16l\25\255\336u~\205S\212"
+"\350\351tbm\311\200\362bX\205\330\226 \227d`\375t<0\207h\250\244\353~\201"
+"\241\30\223o<\324%\302\242(\332ma\\ \42\30c\310\363s]\327\243\371f\360"
+"\327\234\266\77t}\31\350\26c\250\2236\365\374\241km\363<\353\223r.\232"
+"\335 \304\334\351\222k\220u\235S\275%\227\220\365\224\13\227\f\221}>\237"
+"s\310\361I\306hY&9\3\0\206\364t\365\241\231N\\\246\0\2008_C\321$\273\30"
+"K\265*V\311\256A\327x\244\240\222RPIWl+~K\241S\210\24TR\n\254c\3226\366"
+"\\\341\32\253l-\311-\310\31\363#\272\253JJ\201M2\306\204\316\25s\2267\236"
+"\245\321\356*\5\225\224\302GH\376\0\17;O\251\344\5\213\271\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227"
+"\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\310IDATx\332\355\226OH\24"
+"Q\34\307\277\263\323\266\272\222m\221\n\256\251\7\243\244\215\212\376\270"
+"\227\210\212\212(\2\241$\352P\230\207@!\n$\21000\2\253\203\227 \255\273"
+"E\20\242e\260\20th\315\254\b2\204\212 \b\361O\226\340\346n\255n\373\353"
+"\360\336\233\235q\336\314N\320)\336\367\242\357;\3573\373\336\233\337\237"
+"\7())))))))\3753i@d\357*\335\30\7\202\0\220\211\365\3\320Nm\323-\223Sw"
+"_\2\0\66g\310\256\354F\0\207mv\262\20\200\17u\272\354\307+\0\204mv\260"
+"\4\200\17\332\337\356\305\347\340g\0\314\333\\J\2\0\242Y\311^\306W\2(\352"
+"JZ\335\205\313\374\304\366\234(\17\325\26\233\3365\372`(>\307\326\276\377"
+"\334\16n~\355\3710\35\2372\315\322\33\276\211W\315\36\67\357N\353e\356"
+"\323\345\366\305\357\22\353\273a\365\333\211\210h\272T\266\341n\216\274"
+"\262\270\3253DDtLzF\241q\316\324\233L\377\20\21\21\365;\234\353\21\216"
+"L\224\344\274\16\42\42\232)w\372F}\234\3513\234}l\203\247\35\77kE\2023"
+"M\334(\233$\42\242\230K\2004s\344G\r;\340\30\33U\273E\317s\316\274\320"
+"\1\340\2\33\64\273F\\d\2363m\0\242l\360,O\334^\21\321T\207\320g\42\42J"
+"\255\311\23\330\5\3579\363\261\350>\373\2475o2\354\24q\363\226\375\31\326"
+"\363\'\320mK\270\2477x\310\271\25\23f\244\315S\2366\230\210\21\277\267"
+"\334\356\317e\341\26\217\345 b ]^+\310=\3\231\n{#\232L{\211/\365B\324Z"
+"\252J\247\7\242p\304Z\207\216\346Gn-*h\211u\371\210z\21.\227\4\63Z\344"
+"NT\261zB\251\365\372\240`z\\\211%b^\13P3G\271\201\263\256\362I\3\32\200"
+"\26#4\243\316\304n\336\234&\313\0@{\42\230/%ND)\257}\331Cl\\9+\230\230"
+"C\322h\217\371\204\233\302i4\216\272]\216\234\27\247ZhX\217\214\326y@F"
+"lM\263\247\231\3559\257\322\b\236\357\222ZV\374\211\77\274#+8D\257\3\266"
+"\262\377P<\273f\266\303\271\310\261\274\252\346d\307\200\361\335(\323j"
+"\4\374\246\263}\246h\353\256\22\376\352\341\305\255u\354\372Z\08\370\306"
+"\326t\323\357\32\1\340\214\244\37\377\n\2\325\262FM\77\1\370d\25\67\340"
+"\7\226IKq\201\313U\301\255\77\214\311\334\337\354za\327<\0\370{\27\26/"
+"8\321\t\3007(\333\344Ev\273p\272\251\205\354^*\255n\260JJJ\377\201\376"
+"\0z(\16\304\236p\340\23\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0\64\0\0\0x\b\0\0\0\0\230\211\216 \0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\313IDATx\332\355\227\313/\3Q\24\306\277\231\326\2434\215TP"
+"\32M\260 A\32\66\26\330\nV\36k\26VM\354H\352\17`a\203\215\377@\352\321"
+"Dl,\210HDl\255$\302B\305#T\244!m\2322\315\364X\314\235\2663S\322\333\215"
+"\210\373\333\234\311\371\372\335{\316\334;3\267\200@ \20\b\4\2\201\340"
+"\217 \1Us\315\206\224z\22fZ\300/\31\224\313uU\277\234%\23\31\66H\277Y\240"
+"1M\220\1\257e\366\32-\326X\352j\314\232$\356\236d fI*ZHY\204\270\26l\300"
+"m\253\232ve\363\351\207Hh[\273|\254\263+NY\27\350\361\356xE\311\37\242"
+"\347\235\265z\3466\216\355\275b\302}\233\265\314\r\246\315\230\205 \23"
+"\326\214=\1\0\22,\276\230M\205\4\271\224\35!L\302$L\302$L\377\310T\361"
+"\203\251\374;\323\210\r\0&\366\266Fs\271]\366\355\n\232\177\274\252\37"
+"\7v\333Q\265LD\264\310\24\373x\212IoSu\206\257g \231;E$\322Z\354\223\200"
+"\216PKu~U\251\327\350[\374\223*]nO}E\241J\27\354\300d\2571\347\360\371"
+"~\276\'72\340\344\274\341\311\203\22\326i\77)g\217!E\263\t\0\236\b\361"
+"\20+\207\35\210\372\235\317\0\312\276\353M\215\303\3215=\253\237\273\302"
+"J\361E-\3513\rpt\322\311<7\22\307\206\375`q\2138f\32b3\265\363<\32\254"
+"\225\363k\36\323p\336\42\25KS\206\210\210\324&\236\'wT[\246\323\'\36\323"
+"\240\26v\2706\334!\21\21}\326r\275X\216\0@\231\217\351\3775\212\243\273"
+"\1\251\2138\4\202_\345\13\354\303\20)p\355\311z\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\6\0\0\0kG\13\231\0\0\0WtEXtTi"
+"tle\0/root/links-2.1pre3/graphics/font/century_school-medium-roman-ser"
+"if-vari/0447.png\324\363\361\265\0\0\0\32tEXtSoftware\0GNOME Icon Edit"
+"or\236*\nl\0\0\2\245IDATx\234\355\232M\212\352@\20\200\253\215\342\17\270"
+"\22/\240\227p\341\5DD\334\271p\345\306\205KO\343\1\274\207K\3013\210{E"
+"T\22\301\220\304\236\315kIb^\372\')g\2\365A\203\343\244\252>\333\232\236"
+"\356(\3\0\16\5\241\364\333\2:\220,\26$\213\5\311bA\262X\220,\26$\213\5"
+"\311bA\262X\220,\26$\213\5\311bA\262X\220,\26$\213\5\311bA\262X\220,\26"
+"$\213\5\311bA\262X\220,\26$\213E\241d\313\342A\277\337\207\351t\n\225J"
+"E)p\261XD~\266,\13\202 H\215Y\257\327\312b\236\347\301r\271\4\306\330\373"
+"9\6\377\276o\300\271\376\327\16\302\211\222h\267\333p>\237\3014\177\274"
+"N\2466\220\t\324\353\365,\351\77(T\317\242\312>\237\317\\\363\275eG\243"
+"\221V\340\353\365\212\364l\255V\373\270\346t:\275\37\63\306\300\363<i\336"
+"\373\375\236\372{\36\36*\0\0\237\317\347<\36+\33\275^/5\257\3438\221\32"
+"\tCOV\\\327\351t\264eu\'$>\214{\326\367}\323Pch5\300\202d\261 Y,H\26\213"
+"B\311\2767\337\2.\331\243\3126\334*\310j\374\257\316\327g\366v\273\31\307"
+"\32\313\16\6\3\355\230\361x\f\215F\303\264\244~\33\0\350\267B\263\331\4"
+"\333\266\265\316aI5Pe\31c\221|Ye\215\332@\265\250\270\216s\236\351t+\370"
+"\230Y\35\31\200\364Y\316\42\250=\263\207\303A\232T\314Z\322HBv#$\215DY"
+"\361\252\272\335\256q\3428\327\353\25\0\0\34\3071\316\221\330\6\2\3169"
+"\\.\27h\265Z\306\5LQZ\r\302\210\2672\b\2\260,K\273\240\357\373P.\227\345"
+"\27&\240\335\263\42\300\262,p]W\273`\222\250\354\276@\32\322\245K\bW\253"
+"U\343\42y\241\364\36\305\27wS\304\13\67\315\245\374O\2011\226i\307\225"
+"\307nM\273\373ug\'\17I\201\331\237j\316\22\252\24\352\244@\262X\220,\26"
+"_\225-\225\262\225\373\252\354d2I]\237U\326n\343\333\355*c6\233\361\335"
+"n\307m\333V\272=/\330n\267|8\34\246\177\246\220\3678\36\217Z\222a\366\373"
+"}>\237)\250\222\245O\343;=Z\r\302<\36\217\334b\321eW\253\225\321\351\300"
+"u]\330l6\221\347R\317`\177\r\352Y,H\26\13\222\305\202d\261 Y,H\26\13\222"
+"\305\202d\261 Y,H\26\13\222\305\202d\261\370\18\216)\215\27\375\254\227"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\6\0"
+"\0\0A\367\3726\0\0\0WtEXtTitle\0/root/links-2.1pre3/graphics/font/cent"
+"ury_school-medium-roman-serif-vari/0448.pngV\243fd\0\0\0\32tEXtSoftwar"
+"e\0GNOME Icon Editor\236*\nl\0\0\2}IDATx\234\355\334\277N\352`\34\306\361"
+"Gz\22I\220\177\1\23\303\342\rp\13&\216\336\202\t\267a\\\317\304\302\252"
+"\301\205\205\301\260\340%\300\42$\262\30\'B\302N\342\340\240\r\5J\373\236"
+"\341\304\36\377\241\2649\210\372<\237\204\244X\370\365\375\22\352\364\352"
+"\6\0\3\62\261u/`\35\24\315B\321,\24\315B\321,\24\315B\321,\24\315B\321"
+",\24\315B\321,\24\315B\321,\24\315B\321,\24\315B\321,\24\315B\321,\24\315"
+"B\321,\24\315B\321,(\243\177=\36\34\36\36b\177\177\77\324\233\257\257\257"
+"qvv\266\360\374\366\3666\216\216\216\220N\247\227\2369\235NQ\255V\321\357"
+"\367\337<_*\225\260\267\267\27j\235\235N\7\365z\375\331\317\f\0c\333\266"
+"\211bww\327<\316x\371(\227\313\221f\236\237\237\2779/\36\217\233\371|\36"
+"z\236\347y&\231L\6s\202\257w\42\221\b\365\351=J\245R\13\317e2\231\377:"
+"sss\23\226e\205\236\27\213\305\220\315f\377=\217\264\252o.\210v\34\'\322"
+"\200\361x\34\351\\\224\231\256\353\302\230h\177}q\177\177\37\34[\0~\3\300"
+"\335\335\35<\317\203\3438\330\331\331yw\300`0\300\325\325\25\32\215\6."
+"..\26\276n8\34\42\223\311\340\366\366\26\251T\352\335[\310\266mt\273]t"
+"\273]T*\25\214F\243W\257q]\27\266mc2\231,\265\316\233\233\33\364z=\324"
+"j5\264Z\255g\347\236\375\262X\306\313\367|\364899yw\336\303\303C\244\271"
+"Q\327\372%\356\351\255\255\255O\275\336\227\210\376l\212f\241h\26\212f"
+"\241h\26\212f\241h\26\212f\241h\26\212f\241h\26\212f\241h\26\212f\241h"
+"\26\212f\241h\26\241\243\35\307\301\361\3611\n\205B\350\213}\264\231\'"
+"\237\317/5\307\262,\24\213\305\320\327\177\312\0\60\315f\323\370\276\277"
+"\324>\216\357b>\237\233\321hd:\235\216\311\345rO\367\235\374=\360<o\335"
+"k\\\251\203\203\203\327\33mb\261\237}{\77\335i\370\263K\27\b\242]\327]"
+"\347:Vn6\233\5\307A\364\351\351)|\337_\313\202V\255\335n\343\362\3622x"
+"\276\1\375\253k\16\212f\241h\26\212f\241h\26\212f\241h\26\212f\241h\26"
+"\212f\241h\26\212fA\31\375\7\342\'\217B;`\222j\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\6\0\0\0\251wO\35\0\0\0WtEXtTi"
+"tle\0/root/links-2.1pre3/graphics/font/century_school-medium-roman-ser"
+"if-vari/0449.pngk\303O\324\0\0\0\32tEXtSoftware\0GNOME Icon Editor\236"
+"*\nl\0\0\4NIDATx\234\355\334\77H:\177\34\307\361\227\32\245\246\331\245"
+"\206A\30\64\265\249\206[[\4\256n-mM\321\334\360[\202 \247\242)\212\20\222"
+"\346\206\306\226\260\240\226jk\352\17HQ*\371\207\23\263\353~K\372{\375"
+"\276_\317\177\4}\275\357\373\1Bt\237\373x=\361>\226\334e\1\240C\0\0\254"
+"\77}\0\177\22\211A$\6\221\30Db\20\211A$\6\221\30Db\20\211A$\6\221\30Db"
+"\20\211A$\6\221\30Db\20\211A$\6\221\30Db\20\211A$\6\221\30Db\20\211A$\6"
+"\221\30Db\20\211A$\6\221\30Db\20\211A$\6\221\30Db\20\211A$\6\221\30Db\20"
+"\211A$\6\221\30Db\20\211Az\252_\4\203A\254\254\254\300\341p\264\274s\261"
+"X\304\326\326\26\356\357\357\r\307,,, \34\16\267uP\311d\22\361x\274\356"
+"\266\211\211\t,--\241\257\257\257\345\371r\271\34\326\327\327\221\315f"
+"\233\216\325\1\350\261XL\357D<\36\327\253s\374\372p\273\335\272\246im\317"
+"\251i\232\356v\273\353\316\231H$::\316\345\345e\303\343\254>j\247\211\323"
+"\351l\2714\33\32\32\62\334\246(\n\254\326\366\317D\253\325\nEQ\352n\33"
+"\30\30h{>\0\260\333\355\315\237\267\243\231M\252\26\243\\.w4A\261X4\334"
+"\226\313\345\240\353\235\335\365\225\317\347\353~_U\325\216\346\253T*M"
+"\307\330\0\374\3\0\217\217\217\360x<x}}\205\337\357o\270@\345\363y\234"
+"\237\237\343\354\354\f\261X\fOOOu\307\225\313e\344\363y\224\313e\224J%"
+"\4\2\201\206\7s}}\215\213\213\13\354\356\356\342\344\344\244\356\230\207"
+"\207\7\270\335n\244\323i\370|>\364\366\366\32\316\227\311d\220L&qzz\212"
+"\315\315M\24\n\205\206\317\17\324YH\232\211\305bM\27\243_\37\255,\320\355"
+"\316\33\213\305\364B\241\320p\316v\346\353\3725\303\345r}\333\\]\37\343"
+";I\f\42\61\210\304 \22\203H\f\42\61\210\304 \22\203H\f\42\61\210\304 \22"
+"\203H\f\42\61\210\304 \22\203H\f\42\61\210\304 \22\203H\f\42\61\210\304"
+" \22\203H\f\42\61\210\304 \22\203H\f\42\61\310_\27\303\343\361`mm\r\307"
+"\307\307\330\330\330\300\350\350hm[O\203\375\272\236\256\3538<<\304\336"
+"\336\36nnn066\206\235\235\35LNN\2\0\346\346\346\260\270\270\210\331\331"
+"Y\\]]\375\36\243\3215RUSSS\230\231\231\301\345\345%>>>\232\216\267\331"
+"l-\377\0\66\233\r\232\2465\35\347\363\371\232\216\261X,\210F\243\210F\243"
+"\206c\24E\301\376\376>\246\247\247a\301\327\77a\217D\42888h\353\262 M\323"
+"\220\311d\220\315f\361\366\366\366\277+\377\254V+\274^/\374~\77\206\207"
+"\207\321\323\323\332\213\260R\251\340\371\371\31\251T\n\351t\32\245R\t"
+"\305b\21.\227\13\212\242 \20\b \30\fv|=\250\21\257\327\13\340\353\342\256"
+"\355\355\355\26\257\2655\237\227\227\27\335j\265\376w\201\233\305b\371"
+"\326\322\335\304\357\367\343\363\363\363\357{7i\244\26\243\225E\313\354"
+"j1\22\211\4\62\231\314O\36\313\217\253\275\233\374\311\354v{K\367\301\250"
+"\252\212\301\301A\204\303a\254\256\256\42\24\n\2654\77\257\227m_\372\334"
+"\r\17\247\323\251\337\335\335\265\364nR\335\307\264\13\250\252\2528::j"
+"k\37\323\306\0\32\3376\242\177\335\372\301\247\210\251c\214\217\217\33"
+"n\253\367{UW,\240\235\260X,H\245R\30\31\31i:\256\312\264\257\214P(d\30"
+"\342\375\375\35\300\357\257\16\323\306\210D\42\206\333\214\37627m\214\371"
+"\371\371\266\3671\345\232\321\337\337\217\\.W\367s\24UU\341t:\353.\240"
+"\246|ex\275^\303\17\224\214B\0&\215\221J\245p{{\333\366~\246<M\0\300\341"
+"p\324\275\7\266\321\3476\246\215\321\tS\236&\235\222\30Db\20\211A$\6\221"
+"\30Db\20\211A$\6\221\30Db\220\177\1\301\264\236\244\266\242\224\370\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\63\0\0\0x\b\0\0\0"
+"\0zU\225Y\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2UIDATx\332c`\30\5\243"
+"`\24\214\202Q0\nF\301(\30\336\200\21B)xs\375\275\270\357\77\343\177\342"
+"u\212\35\374\377\377\377#6\6\66\242T310000\371\32\61\60\60\274\375\317"
+"@\2345,\f\f\f\f\n\271<\f\f\f\177\3\3761\375C\222\372\377\362\314O\334\32"
+"\213\376\374\307\6\236\26\60\342\324\242z\377\77v\360\312\26\227\177\330"
+"\23\245q\30\306!\201K\217~\24+i\361\303\302\300\230%\317\300\300\360\357"
+"\376\'\210\0\227\2;\204\361\367\236\340\237\2278\364\350\372200\374Y\336"
+"\3\325\303\22\322\16a\34(\371\313x\13\207M\315\177\376\377\377\177\r\341"
+"%kh\0t\260\342v\333\305},\f\237\346<\305\220\371\361\37\267\2365k\260\313"
+"\374\307\237vH\4\243z\206\237\36\26\2342\341\6\377\31\30\30\30~\374\376"
+"\371\346\305\375\227\257_|\'B\217\246&\202\375\357\365\375+\'6\275\306"
+"\251\326\32{\331\360\357\353\315VE\26\322\364\374\377\377\377\377\3318"
+"6\222\365\374\177_\313\215\327\77\257\240\316g\345\26\205\233.P\301\332"
+"\361\r\217\236\3253\376200000\263\13\33\372\31\263A\212G\256\2343\233\360"
+"\270\255\36\3118\26\273u\77\241\302\227\305\211\214\323\77\207\262f\377"
+"\2000\225\374\210N\7/\312\347@\313\77_\21\242\323\316\327nh\230\350H\20"
+"\237\336\236\256\206\320rR\304\353\371{\f\32\216\n$\244\353w_!\264(\tz"
+"\230\231\2415\f\361z\30\225\271\240\2052\361z\270b\2405\345K\342\365\4"
+"\31B\343\367!\13\261\236\tl\201z\347\356\23\42\355a\t\353\226\2032\317"
+"\77\303\260\207\331\0\323\16\1\215l/~(\347\343\332O(zXD8$,s\241\34\r\77"
+"h\34\362)\351\331\n\301\325\34\331\376\37\271\325\240\330i\300\314)\300"
+"\t\345}\207\26\64\214\254\234\314\210\212\354v\364\31\24\67\370~\376O\b"
+"\334pgB\315\333L\204\2\344\317\305\242\243\377\360\225\7\30\340\327\215"
+"E\13\337\240\227\211\277\177\343\321\361\351\330\252\2237\376!\267\23\31"
+"\30\30\30\30\4Sm\261\272\356\333\247\347\367\256^\376\361o\264U=\nF\301"
+"(\30\5\230\0\0`_Lr\4A\360\352\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0\77\0\0\0x\b\0\0\0\0`iu\327\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\26IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\f"
+"\25\300\310\300\300\300\230\241\317\210,\366c\321YL\205\302\205\242(\374"
+"_\353\366\303\230\326\377\321\300%,\26MDW\364\226\201\201\201\201\201\211"
+"\201\201A\0]-\77\26\375\42\350\2Bp\375\224\0&\6\6\206/\350\202\77\260("
+"\374\214.\360\215\201\201\201\201\201\231\201\201\341\t\363\367\227\302"
+"l0\361{g/w\334\302\324\177K\360\325\'1x0\77\77s\255\3752\262\264\300Eh"
+"\260,\301\343X\343\237PE\23\31\61\344J\240RY\370|\273\37\252H\r\305\377"
+"\f\f\f\f\f_\241\364\177|\372\277b\4\20\65\302\177T\377\250\376\201\322"
+"\317\202.\220\27\4e|\370\364\344\301\325\213\77I\325\257\241\201\314\373"
+"y|\323\312g\24\270\237\335\241\357\341RU\212\374\317\22u\245\211\205\242"
+"\360c\253\335\301OY\370;oc#V\177\26#\4\260HZdo\376\r\23\265\352\'dE&\264"
+"h\313D\26\224\234\376\17*\374\317\214\201\201\201a\13\224\'G\244\373\237"
+"g\6@\213:\306z\362\374\277)\t\312\360\220&/\374\226\357\203*\364\42\63"
+"\374gAis2\365\37\203\322\252d\352\177\16\245\305\310\324\317\3\245\271"
+"\310\324o\6\245\277\220\251\77\rV\36\220\247\337\5V\236\334$K\277\3062"
+"XU\177\232\34\375\356G`\255\266\177[\360\353\27\307\42\251\265l\2730\214"
+"\275\3731\222\42\21\364\362\217\303\16\326\3560\n\205\305\227\226\243\t"
+"\242\231\362\257\206\201A8\336\30\312k/\270\365\27\251\355s\366\357\177"
+"B\240\313\353%\252\300\217\331p\375\36\4u\377_\313\274\20]\350\17\334\377"
+"\314\4\323\300\224\210\277\30E(3\366\362\37\13\270]\264\5o\375\361\27\237"
+"\346\277\373\346\256\375\303\300\300\360\7C\2\321\22>\377\17\233\237\277"
+"\77\277\264\241-@\20\252\310\363\25\252\354\317\31\243\235\237Q0\nF\301"
+"(\30\5d\3\0\36\355G\360\357:hb\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0,\0\0\0x\b\0\0\0\0\254\360O<\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\213IDATx\332c`\30\5\243`\24\214\202Q0\nF\301( \31\60\62\60"
+"\60p\25\311\242\210}\230\366\20\267\206\354\377h`)\16\205L\f\f\f\322\350"
+"\202\374x\24\63\22\353f&\6\6\206\227\350\202\337q(ff``\270-\360\376\235"
+"\30\23T\340\377\345\313g\332^\340\267A\371\r\324s\345\304\270g!T\261-\1"
+"\67\63\60\60\60\60|\2059\203\30\305\304\206\306\250\342\241\254\230\5]"
+"\240\377\3\204\376\367\361\315\363\333\227o\374\305\253\330\4\205\367q"
+"\337\372\365_0\255\230\366\37\7x\337&@\274\342\377\377_\5\223\340A\321"
+"5\255\244\204FU;vg\330@\371l2N\25\207\21N\361\305\253\230\201\201\201\201"
+"Aw\27L\361\23N\202\316\270\354^\7eI\247\20v\363\377\346)PV\2\61\36\254"
+"|\3\241\215\244\210P\374e\31\224aNL\320\235\200\322\252\304(~\6\245\305"
+"\210Q\314\3\245\271\210Ql\16s<\21\212\331\343a\251\225\b\305\345rP\306"
+"\r\302\212\203`Q\310p\232\220b\306\374\225\314P\346\325GH\212\305\261\250"
+"u<<\1\236\355f\42\362 _ ,\r:JB\31Bz\36J\b}\217\346B\31zw\377\23\2\177\334"
+"a\272j\b\252\375W\b/\n\270\t\5\337\217\354yD\347\301\375F\363\20\205\314"
+"W|*\277\255\237y\30\271\t\241\267E\26kJ\376\360\342\336\245\343\307~\214"
+"\266\263F\301(\30\5t\2\0[\365\b%\n\315CA\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0/\0\0\0x\b\6\0\0\0b\254\253\343\0\0\0WtEXtTit"
+"le\0/root/links-2.1pre3/graphics/font/century_school-medium-roman-seri"
+"f-vari/044d.png\253@D\256\0\0\0\32tEXtSoftware\0GNOME Icon Editor\236*"
+"\nl\0\0\5hIDATx\234\355\231KH\33O\34\307\277\2531\25\65$[d\325\36\22\352"
+"\243\240m\225\326\26\242\42\264\305CAZP\360\242\340I\202\330\344\336Rz"
+"\255\207\26\17=\210\267\202\210P\n-\224BOR)Z\37\250\245\6TPP|\240\tb\202"
+"\21\323H\364\367\77H\374\33\263\356N\36:\21\346\3\3\273\363\332\317\314"
+"\376f3\233\225\0\20\256(\31\274\5\222A\310\363B\310\363B\310\363B\310\363"
+"B\310\363B\310\363B\310\363B\310\363B\310\363B\310\363B\310\363B\310\363"
+"B\310\363B\310\363B\310\363B\310\363B\310\363B\310\363B\310\363B\310\363"
+"B\310\363B\310\363\302\220Lc\243\321\bEQ \3132\362\362\362\220\233\233"
+"{RFD\360\371|X__\207\327\353MZT\r&y\263\331\f\273\335\216{\367\356\341"
+"\316\235;\270u\353\26l6\33\24Ea\272\310\356\356.\246\246\246\360\353\327"
+"/|\373\366\r\177\376\374IJ\3724\244\226\254V+\275z\365\212&&&(\34\16S*"
+"YXX \227\313E999\252\327\216#Eg\24\26\26\322\300\300@\312\205\325\360z"
+"\275\344p8(###yyY\226iuu\365\302\245\3172>>N7o\336LN\236\'>\237\217\236"
+">}\32\227\274\24\31\1\216\355\231\27\212\337\357\307\360\3600\246\246\246"
+"\260\274\274\f\217\307\3\277\337\17I\222 \3132\212\213\213QSS\203g\317"
+"\236\341\372\365\353L}\36\34\34\240\275\275\35\237>}b\366\210k\346\177"
+"\377\376M---t\355\3325\246\331\311\312\312\242\216\216\16Z[[c\352\77\34"
+"\16\323\363\347\317S\37\66\265\265\265\t\77\31\314f3\r\16\16\62\r \20\b"
+"\320\355\333\267S+\237\250x$I\222Do\337\276e\32\200\333\355f\271\273\227"
+"\'\37I\275\275\275L\3\350\356\356N\77\371\254\254,\32\35\35\325\275^0\30"
+"$\233\315\306&\2575\210T\211GRYY\31\5\203A\335\1|\374\3701>\371\313J,\361"
+"\377\357\337\77\312\317\317O\77y\213\305B\273\273\273\272\3x\371\362e\372"
+"\311\3\240\236\236\36]\371\351\351\351\364\224\257\250\250\320\225\'\42"
+"\262Z\2551m\271\277I\315\315\315\301\355v\353\326{\362\344IL\36wy\0\370"
+"\376\375\273n\35\273\335\36\223\227\26\362CCC\272u\356\337\277\257\232"
+"\37w\234\252\221H\77\221d6\233\351\350\350H3\346\267\267\267S\263`S-\17"
+"\200VVVt\27\255\311d\212j\223\324\277\7\247\331\331\331I\270mnn.\214F\243"
+"n=EQ\20\b\4N\316S&/\313r\252\272:\227\234\234\234\250\363\264X\260\254"
+"\230L\246\250\363+%\37\16\207\243\316\257\224\374\376\376~\324y\312b\276"
+"\241\241\1~\277_\267\236\311d\202\301`\200\301`\200\311d\202\305b\301\215"
+"\33\67\320\326\326\206\262\2622\315\266j\177\33\246\305\243\362\363\347"
+"\317\232\217\311\275\275\275\364\333\333D(**\322,_\\\\\214\311K(l$IJ\244"
+"\231&%%%\232\345\23\23\23\61yi1\363\212\242\240\260\260P\263\216\232<p"
+"\211{\367\363Rcc\243f\274\37\36\36RAAAz\306\274\332^\3754\223\223\223\360"
+"x<\252e\334g~iiIs\346;;;\317k\313W\274\266\266VS<\20\b\304\354&#\211{\330"
+"8\235N\315\362\276\276\276\250\235\344Y\270\315\372\335\273w\351\360\360"
+"P\363\207IQ\24\255>\370\210gff\322\310\310\210f\310\274~\375Z\263\217\230"
+"\37\251G\217\36\241\275\275\35yyy\0\200\315\315M\270\335n\f\r\rayy\371"
+"\334\333\27/o\336\274A]]\335\271\345\13\13\13x\377\376\275n\77\'#\251\251"
+"\251\241P(t\356L\214\216\216Rss3I\222\224\324\254wvvj\276\263\206B!z\360"
+"\340\1K_\307\7\26\213\2056775oc\204\261\2611\262\333\355qK\33\215Fz\367"
+"\356\235n\377.\227\213\265\317\343\3\247\323\311$\36\341\350\350\210\276"
+"|\371BUUUL\361\335\322\322B\363\363\363\272\375\366\366\3662O\306I\314"
+"\227\227\227\353\306\327i$IBSS\23\232\232\232099\211\37\77~\340\357\337"
+"\277\330\332\332\2\21\301l6\243\270\270\30\17\37>Dcc#\323\327\362\376\376"
+"~\270\\\256\270<\b\0\323\355\274H>|\370\220\310\307\344\343\203\326\326"
+"V.\322\301`\220^\274x\221\350\342\377\177\301\262~nL\25\63\63\63LkFW\36"
+"\0\225\226\226\322\360\360\360\205K{<\36\352\352\352\242\314\314\314\244"
+"\36\271P\313|\374\3701\r\f\f0}\265\210\207\331\331Yr8\34\224\235\235\235"
+"\2544\1g>\337\237\305h4\242\256\256\16\365\365\365\250\256\256Fee%\254"
+"V+22\330\366s>\237\17\323\323\323\370\371\363\'\276~\375\212\371\371y\246"
+"v\254h\312\253\221\235\235\r\233\315\206\242\242\42\344\347\347C\226\345"
+"\250w\332\355\355mx\275^lll\244t;\241F\334\362\351\4\367\375|2\by^\by^"
+"\by^\by^\by^\by^\by^\by^\by^\by^\\i\371\377\0\257t\204`\275\36\42\251\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0B\0\0\0x\b\0\0\0"
+"\0c\336{\377\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3QIDATx\332\355\227"
+"]HTA\24\307\217\273\232\256\37\245ief>hA\231\242\26\231\13b%\232\230}<"
+"\31\31\371 D\5\13\365\22=\24\364Pa\17\5aD\364\240\21dQ\204\25RQx\21\242"
+"\240\300\360c\tQ4\226\224d\315\226]u\375\\\327\333\303\316\271{\77\346"
+"\334\26\351\255\371\277\314\2319\347\376\356\314\235\2313s\1\204\204\204"
+"\204\204\204\204\204\204\204\204\376\77EE\24\25\233a\263y\375\23\62\211"
+"8T\35\255i\33m\232V\325rkJ\13\63-\0\0s\203\275\2224\316\243$\4d\235.(\276"
+"\270\323}ZW\340\325A\16\42KO\220o`\27\353\307d\243\276\224E\216H\357\220"
+"\271Z\276\233\240C\254^\326\307\\\2\0\200\335n\231RO\246\352y+\300\202"
+"\'j,1\36\33\226\272\373\245[\263\0\260\377}J8\31472:\237hQ\252\351\'\336"
+"\374\326\17&\372\21\343{\267\262\226=\323\312;\235\347\267\0\0\330\312"
+"\232\246\224\266\321l\303\7)a\2566|\317O\fv\37\13\257\235\324{\312\240"
+"\235\361zD>\363<fs\321\211\241\237\327i\342\16\373\321\361\360/\2103\30"
+"\370Q\3772\373\f\272\16\230\42R<\254\352J6\f\271\26\21C\253\314\20\215"
+"\254\26\264s\226b32N\231 \222}\254\326\314\333\20\251\330\305\357\241Y"
+"\266\360\202\32\326\204\312\305\253<\257\34763\262+\351^\364\260J+\177"
+"\353\'\3172\3773\262\27\271\205\314h\341#|/\231Q\35C!p;\377\372@d\240\347"
+"\254L*\245\20U\254\354X&\20\322\22\63\312\b\204\265\204\31\237\250<\350"
+"\357cF\21\201\310OdF\17\231K\273YY\0\0\20\255\317\77\265P\201\366\0\211"
+"\30d\345&k\3208\251*M\321\31]Y\344\31\324\322\n\311M\273&\224\225j\216"
+"\230\217\300\25k\2160\321\234rH\254\30\221\204\306\24\7\321YY\371\200\231"
+"i4\2\247\35\268\b\267$\341\244\247\321=\334\250\376\344\2340L\3571Y$\42"
+"\7\3071\311Gx\320\330A\42\266\263r\230X\340ch\24\223\b\273z\241s\20C\1"
+"f\224S\204m\370-\272\bD\340\33\276+\225@\324\240\321A\345\13\tw}\35\201"
+"\250\307}\350\242\20o\3218\313\277F\331\13\230\361\204L\277\26\27n\304"
+"\243\\D;\2362\233\351\f~\31\21\3\261\34B\271\254I\340\304Q\344\305\250"
+"F\316\376\30\306\313N\276\331\201x\21\21KG\f\231\265\r}-\246\307r\214\23"
+"\343ft\213\303\252\234\250\23\372)\257`\216w\241j\236r\5Xp\250\247e\375"
+"k\345\316V\243\273\'\25v\341\275\222\235\247u\341;\\g)\206\331\316\215"
+"+\255\332\343\266}Q\233w];\1\300\241j\350\277y|_q\225\243u2\334t_\263d"
+"6\30r\367u\0\200\206E\231\326\35kDW\327\275#\24`\336\21\351\355wmK\220"
+"K\370\232\247\237i\343@\256\241\253\250\315\b\31>\311\331W/t\277\2#\273"
+"T)\356\212S\355\362>\255\262\254\340\227&\335\236\227\223a\213\363\371"
+"\177\f\364v\5\305_\240\220\220\220\220\320\277\325\37\65[\240\'\306\362"
+"H\235\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b"
+"\0\0\0\0N,TE\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\24IDATx\332\355\226"
+"\261k\24A\30\305\337\216k8\211\t$z \211\20M:Q\304Jk\301X\244\220\3!\22"
+"\261S\377\0\261I\243\215\251\264\r\351l\2\202\205E\b),\214\30\20\25T\b"
+"W\\c<\344\42\7\1\365\f\242\201\365\315g1\263\347\316ifV\260\234\327}o\177"
+"\354|\373v\276\331\5\242\242\242\242\242\242\242\242\200\304-\373\252\243"
+"\325\312\337\270\257O\351\324\225\351\206\354\252\331\42\251n\212O\17\200"
+"4G\7\327\217\204\372\315\331\201\315\1\77\370\256\313&/\275\350\343W[\367"
+"\273\305\305n_\235\231a\225\273\2717\342$\267\235\333s\252`[\257\341\254"
+"1\226\2437\34\333\232k\2169c\335U\370X\263\344\31[]\367Fa\3301[5K\260y"
+"`,\3016J\3553\303>\261\325\276\22\3543[\235.s\373\347&\235f\22\316\27G"
+"\255}\247\4\213\333\326\277\267\'\314&+\366\302\366\225\203*\300B-\356"
+":\22k\177>\337\331\317\1\266\260\5_/\377\303\374\37\177Q\272\7 \231\356"
+"\370\330\324\311\363\341\350]\350T\3\237\26\0\340\226\257\213Cm!)\334\350"
+"\363f\6\0j\211\314\204\344y\4\331S;\24\21\221z\22d\323:3R(\3127oF\227\217"
+"\1P\32\27t0\336\375[$I\371\340\237c\0Hf\17@\3\3709\31~k\207\277\221$\271"
+"\20\334\223P\217\310\214\244T\20\354\341\344\24\264\2\262\251\235`\7i\235"
+"$\231\275\t\236Q6/\340\307%\224\312KH.\206g3\231#E\204\37U\230=\361\235"
+"\2440;\347\256\3266l\333\311k\325D\273\356\246X\3137{\255\260\334dF\222"
+"\354\f\377\266&\232\356l4\'\214\337\3372h\255p\323\371\336A\2327\231]\35"
+"\1\0\375v\251\300\16\365&5\4(`\257\371\240l^\323\341\363\267R\5\0\335z"
+"_\364\277\364\202\306\30\64\r\271\307\351x\313m\2675\36\377\237\242\242"
+"\242\376\217~\1\242bIP\351C&\216\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3\204IDATx\332\355\227[H\24Q\30\307w\267]K\333\312."
+"T\266\266\335\26\264b#W\250\250\227\222Z\210.R\6\332\205\244\2642\272@"
+"AEdOaE\321\215\304\212.d\24T\32\b\22X\17IF\212\241]l)\273Zl\271*k\245\224"
+"]\266\335\177\17\347\314\23433g\326}*\210\371\236f\377\337\374f\316\371"
+"\316w\2315\231\f3\3140\303\f3\354\357X\374\246\233\2474b\312\321\32\257"
+"\36`\315\367\3a\225\230|6\4\24\213\1s\326s\0\200B\34r\250\7\0J\204DF=\240"
+"F\22v\177&\232\bI\273\5\250\21kA\253\244\t\2205\277\241Al\325L\23 \357"
+"\240E\346C\203X8\304\311.\337K\27c8\277_\213\230\345\253\346\225Z-rE\260"
+"0i\1/V\261\7m\244Z\370\332$Q\204\211\363\365j+\247\21$R\356\26\37c\4\300"
+"\333\265V\205V\0 R1U/U\32\361l]\234J\233\31\372Y\236\256\237\216\266\201"
+"\2\321\336\367\337\324\206Y\270BO\372D\347\320~\77\276\6Z\36=h\357\375"
+"!\266\254\262n.K\42\r\273FE\7\354\273\3P[\250\324\25e\231y\35\20\331\317"
+"\42\275\2709\357\360\367}\347\1774\216\25\22\363\202\322\r\235gs\\6\223"
+"i\304\334\203~I\nL\21\20\271!\352}\231\313\226a]\337I\325\16\355\206\362"
+"#\304\365m\2732\313\34\r\224y\22\257\42\26\323*\366\245\250\2375Hj!EJ}"
+"\362W\42W\331\265+v\3200\366$\361j\77\37Q+\343Dq\311\246\257\331\313\213"
+"\7\210V\233 \216~-\335\r\'\271~\1\0Z\207\353\34X&\255fn\325WI:\315\325"
+"\313\212>\37\t\303B\343\n\3\0.\352\'\22\335j\252\254\34&\7\222\244G\314"
+"\276M\210\240MR,\244\353\36\327\1\2745R\322l\226\265\351d\'\23\204\300"
+"\202:95\213Y=\26\2\0\356\213\366\220\331 \3\237\3638G%\0`\217\6\260,{,"
+"\3=G\206\361\256\26\0@\206\32X\356\223\201\37\'\224\2411\223\244w(\'\346"
+"\352fV\223\247G\2533\2258\370\354\262\345\275f\225\177^[\220\243\210\213"
+"UC\\A\213\f\204/\211Z\5}\313x)\251\267\370\31p5U\30y\13qg\223\361\273\275"
+"\225\265\260\33n\275| \325}\335d2\331w\266\263\246R\351\321\357^\344|C"
+")\3\13\203\f\250\232\26\255C\226\322\306\362\211\1wfEo\252\33\324\315\361"
+"\336\234\336\32\367$%P\357\215ab\274\344;\351\302\230\206\314>\31hZb\216"
+"m.\321B\306\207lK\314\263\254\214 _\234\261\217\2774\372\232\372\204\250"
+"\267y\370l8\'\35`\177}`F-P\302\266:\274M\n\3308\35 \361L\30\0\362\231\262"
+"\220\216\nt\255\27\205\300\262\226&\337SmW\6\360p\221:\320\226\245O%\347"
+"\5\276\234/\263\343|\266\215\257j\307\216W\262\247y0\377\251`-]\301}4="
+"\271\333\370\246\3\346\221\343\323fOe\367\370\274\1e\257>\206^\354\262"
+"v^\345tG\3\374Y\242H&W\350\2\237\n\355:\341\237S-\4\236o\35\20%+\322O\266"
+")o\2174\355\367\364\366qeqg\270S\223\355\211\241o]\37\375\276\246\272\240"
+"\361\377\3140\303\f\373\277\354\17`\231\332F.\201l\345\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0x\1\3\0\0\0\227L\rc\0\0"
+"\0\6PLTE\0\0\0\377\377\377\245\331\237\335\0\0\0\1bKGD\0\210\5\35H\0\0"
+"\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\323\b\20\24\30"
+"\63\36\363*\234\0\0\0\277IDATx\234\335\3231\16\3020\f\5\320_e\310\230#"
+"\204\233\364Z\235H\216\206\304Ez\204\216 E5NlG\225\250\220\n\3\bO\257J"
+"\3538\261\13\374ML\206\341f\n]\311\24\350\250\340\337W\240\32\271\353\362"
+"R\371\303\335\252\342b\242U\345\211TAvc\215D\263(\21-\42\272\312\231\375"
+"\275 \225&^\212\252\31a\25ex\25\340Z\352\372\254\342\267\207v\220Z\325"
+"\236\320J8\246\331\224~\\\322\314=\225}\311\275\304U\305\r*\33\271\215"
+"\360$\351\202\335\277D\313\336\42v\215:\37\247\376\27L\220\236\3g\'s\300"
+"%\351l\360qt\229\7YbO=\235}\360\225x\0}\263\335M\205\f\260I\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0/\0\0\0x\b\0\0\0\0G\307\364"
+"\77\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2RIDATx\332c`\30\5\243`\24\214"
+"\202Q0\nF\301(\30\\\200\21\273\260\230\214 #\3\303\327/\357_\375\42\250"
+"\336\320\317\316\204\17\316{\365\360\326\225\363\'>\342\262\217+\367\306"
+"\177L\360\347d\245\34\66\325Li\257\376\343\0\177\226H`(W<\361\37\17x$\210"
+"\246\334\343\375\177\274@\227\201\201\201\5\241<|\21\33\234\375n\363\361"
+"{\357\377\13\210+\2328\b\340\360\251\337\37\270A\217SX\341\302\354\241"
+"\307\220\315\207\3\355\317p\345\313\370QM\262\232\375\340\377\377\377\377"
+"\377) \211\261_\206+o\303\22\'\274\232\306\306\362\310\2\355p\345\323\210"
+"I\26\362\337a\312\217\262\22\243~>L\371wUb\224\213\374\200;\236\250TZ\1"
+"S\376I\200(\365ga\352\373\210R.\7\17\34-\242\324\'\300\224_\42\250\224"
+"\211\201\201\201\301\2\306\333B\234z#\30o/q\231\370\r\3249\377\370\211"
+"R\316\13s\376\3\302jY\30\30\30\304\340\251\342\347W\f\5\66\3270\324s\301"
+"yll\30\352\2311\375\313KBy\305\304\300\300\360\207D\365\337HP\317\302\300"
+"\300\360\n\306\271\275\364\331\207\317\177\376|\206\361\5\30\31\30\356"
+"c\321\364\5\32\236\253\211s\17\303m(G\222H\365\'\241\34e\22\325K\210\21"
+"\347i\361\277P\17x\23g\376\313SP\236\23\221\241\232\1\65\377\16\221\352"
+"ya\205\241\25!\225\220\344\364K\b\252\220k-q\26\210A\243\354\257.\221."
+"\252\206:\350\b3q\365)\373\5\r\b\243\261\1S\221\242\263\256$\303\227E\7"
+"\220\305L~B\363p\6\272\211AG!2\77-Q\304sa\271\270\33%\223Y\34\207\27f\317"
+"Q\13\313i0\361\353\241pO\350\257\373\207T\341\345\240\324w\271\334q\20"
+"\206\306\252W[O\337\373\310(\241\357i\206b\242&Z\332\230\204\277>\375\337"
+"\215\36\20\331\337\361\252\217\302\b9\375sx\224\77\306R90g\275\304\245"
+"\374\200\n\326\30\344H\273\204E\361\247%\216\270\333K\232\201\216\306\210"
+"\306\305\277G\227\316\36>\372\13o\373\212\201AQZL\204\201\341\377\3737"
+"\317\37\376\30m\206\216\202Q0\nh\0\0a;:j\234_\3468\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\1\34IDATx\332c`\30\5\243`\24@\1\63\62"
+"\207OA\340\307\37\354\352\304O\376\377\377\377\3772Nlr*\177\377\377\377"
+"\377\377\377\377\17\274\230r,_\376C\301YLI\257\377p\240\b\23c\2021\2\20"
+"\352,0$e\20\222\242\30\222\'\21\22270\354TG\330\311\203\351\242\35\60\271"
+"\n,\376d=\t\221\233\311\210-\24\30\203\356\376\377\277\303\0gH31\16\327"
+"4\4\361\230p\241(\212\350\257u\373\21\234\211\377\321\300[\244(\23A7P\b"
+"5>\261\206&\3\3\3\3\303gt\341o\220D\307\300\300\300\300\320\307-!\242\7"
+"\67\344\371\215o\313\321\24\33\377\204:f\42\266\250\331\17\225Tc\300H`"
+"\f\f_\241\364\17l\222\270\\;*9*9*I\27Iq(-\202\251J\270\350\37\64g\357\324"
+"D\251\375\30\f_\242\226Q\77f#\225q\13\321K\260\77p;\31\377\263`\257V\231"
+"\30\30\30\376\343w-Fu\373\27Ir\305kT\271_sF\33,\243`x\2\0\331(\245\251"
+"\226\306&s\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\64\0"
+"\0\0x\b\0\0\0\0\230\211\216 \0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1mI"
+"DATx\332c`\30\5\243`\24\214\202Q0\324\1\63\32\237S\222\345\7\272\32\36"
+"\t\246\37x\214\340X\363\377\377\3777F(b|\7\376\377\377\377T\7\247\36\366"
+"W\377\377\377\377\377\377\277\33\262\236o\20\61K\\\232\246B\344\377\377"
+"eG\210\35\200\212}c\306\341\277\3770\340\n\27\343\205\213!9\220\tI\23\67"
+"\234\245\1g\t\301Yr\3305!\202\350\31\234\365\31\316z\215\303O{`N\21F\210"
+"=\204\211\261\343\320$\374\27\42\337\211$\246\6\325\223\2043\314\345\236"
+"\376\377\377\377\177\r#\262\230\301\247\377\377\377\377OD\26bD\325\305"
+"\250\241\374\346\3227\264@\325\221}q\371\347h\346\31z\200\21\63-\25\212"
+"\242\360\177\255\333O\330\230\211\377\321\300[\f%L\30\42\42\350\2BDh\42"
+"\2`j\372\214.\360\rC\t\13\206H\37\267\204\210\36\334\254\3477\276-\'\322"
+"~\343\237\320@\230\310H\202\253\367C5\251\21\351\'\6\6\6\6\206\257\30e"
+"\r\rBoT\323\250\246QM\243\232F5\215j\42Q\2238\256\252\36\67\20.\372\7\255"
+"\twj2\23\245\303\360%j\333\343\307l\42\332=\13\321[,\177\b\372\211\361"
+"\77\13\241\336\22\246\246\377\344\205\36\206k\376\22\241i\5Z\247\342\327"
+"\234\321\6\356(\30\5\243`\24\220\3\0\370\331\324f(\214\371B\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\'\0\0\0x\b\0\0\0\0T\20\264"
+"\313\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\344IDATx\332c`\30\5\243`\24"
+"\f6\300\210]\230\331J\237\341\322\261\77\204t;\337\376\377\377\377\377"
+"\273\236\4\224\371\377\376\377\377\377\377\377\377\377F\343U&\374\341\77"
+"\24|\225\202\2111aQ\227\300\17cq\245\343Sg\205`Z\343S\'\200\205\211M\335"
+"\3\4\363>>u\233\2602\261\204\3751\230\177\317\261\340\r\30\231\353\20e"
+"7e\b\4\64\177\347\313\377\377\37\67\363\23\21\357\22\42\243\211\177\4\347"
+"s\341BQT\201_\353\366c\3237\361\77:x\2135\335c\246&!\234\371\3\33@W\367"
+"\31C\3057\6\6\6\6\6\364\214\322\307-!\242\207\320\374\374\306\267\3458"
+"\3550\376\t\363\303DF|\371\367\3541\30K\371\77>u\f_\t\373\203X\377\216"
+"\252\33U7\252nT\335\250:\6\6\6\206\277D\252\373B\244\272\177D\252\373L"
+"\35{\341\225\324\7\374\352\270a\214W\370\325\261\302\30/\360\253\343\205"
+"1\36\343\17\374\247\320j\360\37\17~u\337\241\352\356\241\306\233\341\262"
+"g\277\356\364\210!\332\22\34P\306\31\24\335\361\220V\377s]x\375\13\253"
+"~s\220\225\231\300j\345\207\260\340\210\201\251SBV\267\21\336\2I\202\212"
+"L\206\362O!+c\373\16W7\21*\4m=\377ODN\177\262\34p\366{\b\245\247\1m\346"
+"/E6O\rn\334\77-\210\310|(\77\30\305\267\34\277`\352\366A\4\\\377B\270+"
+"\321\2u\27L]1\3\3\3\3\203\317g\b\357\22z\243\335\25\246\356\272-\33\237"
+"\313\232\177\20\316m\314.\300\324\377\230\340\2508\226>\335,tU\337j\260"
+"\367;\202o#\253\3724\25g\267\203\331g\356\355\277\377\377\377\377\377\373"
+"\346\374(\36\374\355N\16I\241_\237\237\375\32\242\355g\0\214\255S\314J"
+"\360\376\353\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0P\0"
+"\0\0x\1\3\0\0\0_ \347\265\0\0\0\6PLTE\0\0\0\377\377\377\245\331\237\335"
+"\0\0\0\1bKGD\0\210\5\35H\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374"
+"\0\0\0\7tIME\7\323\b\20\24\26\31[\313\316\304\0\0\0\244IDATx\234\355\320"
+"\275\r\303 \20\5\340\263((\31\201Q\274X\24\310f\214\302\b\224\24(\227\373"
+"q\216\42Hv\37\277\306\37\226\17x\6\270\363W\t\310\251\227\b\211\324u.6"
+"\300rlA\314J\277f=c1\2065\2631\256\t\306\375\214O\42\352B9&\345\365C\311"
+"\365\6\217E\251/\4l\304.\334\351\261)\3430\206IOtM\371^\3211\253\321\257"
+"Yl,\24\333\367 \237F\277A\330\205\33_\207\270\27a\242\223R\5\207\331Q\13"
+"\217(\325\250\33\361%\4\343\230\254\360\375\266\301\235\337|\0\350z\274"
+"\367\332\340\265l\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0X\0\0\0x\1\3\0\0\0L\367\247A\0\0\0\6PLTE\0\0\0\377\377\377\245\331\237"
+"\335\0\0\0\1bKGD\0\210\5\35H\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335"
+"~\374\0\0\0\7tIME\7\323\b\20\24\27\24<a\2038\0\0\0\216IDATx\234\355\222"
+"\301\r\200 \fE\277\341\340\221\21\34\205\321p4Ga\4\217=\30*U\204\232h\202"
+"G\243\377\302\13\201\237\366\267\300\257_\r\262\314\213a\346\261\221!\207"
+"\343\260}\36\42\320\357\327\260\213p6%\300\304\2271\357\322L\212\243bi"
+"9\377u<\25\356$\226\303\323\317\225\235f\252<\334\260d\371\210\351\232"
+"O\3767\365\370\220g\'\365\247^\234x\304m\254\251]29\224c\7$\207\302\244"
+"xBy\37\332V\357\313Z\1\62\237\307/\354\325<\321\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0F\0\0\0x\1\3\0\0\0u\220\26\32\0\0\0\6PLT"
+"E\0\0\0\377\377\377\245\331\237\335\0\0\0\1bKGD\0\210\5\35H\0\0\0\tpHY"
+"s\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\323\b\20\24\31.d\356"
+"w\4\0\0\0\220IDATx\234\345\322\261\r\3!\f\5P\20\5\245G\310(\254\225\216"
+"\33\355F\271\21R\42\5\361\2031F\272\42\211\270\362p\201^\1\66\330\30s\233"
+"x*lR\321PT\21fe\374\264(\217,\34\377u\241\306I\256\250\2\366.\340%r\220"
+"\267\370T\13fQ\0\212(\366+\370\204\235\260\261\336\3058Q=h[B\317\311\272"
+"\352\32E\233\212s\211\362P:)\254(\32=h\77\42\36_\364\340\376q\207\333\200"
+"\352D\16\21~\252\355[,>\273A\303\200\264\254\2=\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\5\227IDAT\b\327\355XKlTU\30\376\316}u\246"
+"3\323\316L;}\320\16\355\324\26\373\0\21L\b\13\215\30Lx$&>\330\30\27\2\61"
+"a\343\336\270s\207\33C\334h\303BM\304\20\23\3\22\212\245\304\5\13\t\251"
+"PZ\20-\17\333B;m\247\355<\350\274g\356\275\347w1\3558\217;\323\13\33b\354"
+"\331\2359\347;\377\373\273\377\77\300S-\33\0\1O\2756!\233\220\315\365\37"
+"_\233\265\377\177\207H%{\2\300\252\377d$\205\252\354\312!TA\31\62\204\270"
+"\215/P\25[\302&\204=\277\270p\243;s\305[V\346\232\254b\200Z\277fK\0b\361"
+"\221\375\341\333$\0\320WCA\16\271\354aE5R\243\236\210H%\42\242%\42\42\242"
+"\22\272\220\312 \253\f\200\344\260\313\221t\3529\222\3223\bb\0\272\217"
+"5\24\370\232G\306\256-\27\304Gj\333\273\323\225WF\275\257\3\30$\215\nW"
+"\374\312\21g\301\253MD1^p\372\231\0\234(\211\'\223\344B\13\305\322\340"
+"=k\216\225\224a6\255\27l\365\322\314\223\0\206\317\367t\267\212\f\0H\217"
+"\316N^\371=Vp#\334\265\377\300\221\244%\247\16_\36\264\254\351\273m0\244"
+"\23\21e\357~\322%\226\251\262\355t\230\210\210\270\272\364n\255M\0D@\237"
+"9\375[\232\0\360T$\311+U>a\345\330p\22\2\240\3\320\246\206g5\0\242\263"
+"\243A\252d7c<\242\346=F\361\253\223\31\2D\317\216\2555\25}\345\77:\246"
+"\375\353d\276t9\240\3\314\332\265\263\251\324\30&\255\77\254\26\371V\354"
+"\277\20\343D<\362\323\33\265%\220\236\257\202DD\344\377\300\301\0[>\224"
+"|\341B\230\0V\333\275\253\241,\276\\\'\0zD\245\302\350S\354\306x\n\200"
+"\354\335\335&\227\5\\d\300\322\327\267\263\305\t\303\375\27#\4\60[\357"
+"+NC\343\263\376\30\25C(q{4\1@\351\334\275\245\310\317\326\266F\t\0\364"
+"\204Fky\232\27\243Zw\32510\246/=N\26@|\307\336r\3\230\77\65\34%\0J\201"
+"\245\24\2773\32\7P\323\261\253\320\32\241Ff\0\240E\322T\226\374\231\351"
+"k\1\r`\216\336\35\365\5\205\273\265\221q\0z4K(Q\f\340R[\207\5\20\204\360"
+"L8\237i\35\357\37r\13\fs\247.G\t%\212\201\322S7\27T0\321=\320\347\310\363"
+"\243\333\251\210\f\360\6\327\363\26589t\261\335kaL\240\320\354\223\265"
+"2\363\35}\307\3`\341\213K\301\234^ER@\251\231\361y\25\220<\333{\326\262"
+"F\220Ep\2\322\376UnX\373|e\354^\202 8|\375\2559\247Y\232\32\25\201ayh4"
+"F\206\20J\317\334\232\317\2r\353@\247\25\0\260\345\320\253v\16\244\36\205"
+"\364\n\f\243\5\306\36&9\4Gw\177\263\f@\262;\254\212\0d\203q^\211\2242\323"
+"7\27\65\240\306\233+5\305\355\222\0\370\317^OU\3441m1\'\246\256\247\257"
+"Q\2k\77\370\232\223\210\'g\203Ze\352K\77\30]\346@M\307\216v\5\262\303."
+"\13\214\373\177\31KVaK}y\374~\22\20\235/\366\271\5\271\256N\2\304\255\323"
+"\13j5\202MO^\17\21`\355\332\336\254x\17\357k\0\360 \235\245j\20=t\347\317"
+"\30 \270\6\6\32mV\21\240\231oG\242\305\274^\206\321\234=N\6I\16j\7\336"
+"k\3\330\312\325\361\2S\24\3\b\270\265\275\325\2&hjKO\35\260xqh\276\200"
+"\327\25\3j\244\370\275[\275v\t\265\333R\212\f 5\267\254U\353\372\0\200"
+"\207\376\230lvBhq2+\0\256\352\305\214g\324\257\351\360t\324\213L\262\324"
+"\210\300\354\331s\376BfW\f\277bj`\342^\42\237\17\361T\361\267@4\244,.z"
+"\274\365\271\243\300\245\13SE\215\213\261\24d\347\'\36&r\6d\303a\325L\13"
+"G\261\251\273\213\271\233[\243\t\35&\24\3\317\332:Z\24\6,|w\376Q\221\213"
+"+)\6JLO\256\350\0\262\341\'\232\311\336\322\375\372\301v\6@\213\'\365\r"
+"\32\370\365\227\24\253\325\2\300\377\363H\20\346 rc\223\205\1h\17ET\223"
+"Mo\303\2767=\34\300\337\304aN\212h\257\267\312 z\364\375\217\213&!R\275"
+"K\1\270\232\311hd\256\33g\265-\3155\200\30\34\32\n\300\234\24\261i\357"
+"\36\67\210\332W\243\232\311\236_r\330\31\7\23\246\231\3311A\260w\372\34"
+"\2\340\77w~\321$\2049\267\277\344\4\240\305\342\232I\210\342i\265\230\33"
+"F\230\353\370\364\304\211\6\60[\347\13v\0\201\221\221\245\r\206DKx\316"
+"\233\31\\\35\216\327u\371\254\0\62K\313\351\352\215\251L\3675\242\4\35"
+"\366\354;\23$\242\205/_\226\r\273\361\322\270\324\306>\222Z{\35\0\324\350"
+"\252Z}z\25\263\360\211\0 \267\365\265(\300\312\257\227\3\346\6\336\244"
+"\343\214\324\357\2\220\t,\246\314A\0W\323\26\5\230\377\341\233\351\215"
+"\234\254+\230\321\221\251Ej\277OBt\342Fh\343V>\347\261\265\361\341\352"
+"\207\215\325\6\245|\253F\263k\210\324\215\217[a\6\302\\\307\347\210\210"
+"(\373\327\247^\230\202\0b\367\311\0\221\366\370\244\17f!\246\207\276\315"
+"\177\256\236j\375\38\177e\257(\316\223\215\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0D\0\0\0x\1\3\0\0\0qe\306\'\0\0\0\6PLTE\0\0"
+"\0\377\377\377\245\331\237\335\0\0\0\1bKGD\0\210\5\35H\0\0\0\tpHYs\0\0"
+"\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\323\b\20\24\32\67+\250\214"
+"\7\0\0\0hIDATx\234\355\3221\16\200 \20\4\300%\24\224<\201\247\3605\237"
+"\346\223()H\326\2733h\241\321\302\320\30\266\32rl\303\1\314\374&\211\254"
+"\236\344\233@.\310,Zi@\220\223\250\2^\207\210\42\67\65\\\311\244o\237M"
+"\253\f\271\307\266\365\240\363\236\266\265i\211\354_!\264.\177\310\325"
+"\33\225\253\360E\203\263\1\202\320\242\37m\5\206\262\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0J\0\0\0x\b\0\0\0\0p\t;\13\0\0\0\26"
+"tEXtSoftware\0gif2png 2.2.59\267\256\37\0\0\3\37IDATx\332\355\230ML\23"
+"A\24\307g\373%\241\230\42F\222\2V$ \204\6\323\23x\20\65\61^\220\264\304"
+"\250\27<\230`\210!^$\261\36\364dL8\230x\221p\360b4\261\2326\361\246\36"
+"\60i\210D\214h( \250(\211\5li\260j\2415\265\330}\36vi\247\355\356\354\307"
+"\264\t&\373\277t\346\315\354o\337\354\316\274\367\266\bi\322\244I\223\246"
+"\355+\306\235\4\\I7\243\222\244\367@\276<zu\250~(T\277\364e:\1\233C\246"
+"M\6J\245J\214\372+\323\226\377\266\4l\351\236\215\267\343\r\246\255n\334"
+"\367\313\234\276\271\250\336]w\346\345\271iW\336\236A\265S\77\305\f\252"
+"^\356\31\21GIO)\331f0dZU\275\265\b\305\236|\22\233\331|\312\202\320\267"
+"\207\77\244\231\306)\0\0\230)|V|\177\6\0\0\246\214\322\13\354sH,\230\33"
+"q\364I:e\16q.\370D\275\362q\275\220Y\312\253A+\367\273$z3~\304:(\341Tu"
+"\f\344*VMF\r\203|\r\23I\215)\5\250T#\t\345\5%\362\22H\35\254\42\24\333"
+"!\216\32\3e\32\23%u\203Ru\213D\6\335l+\327\376\355M\361\7s_\247);%\365"
+"2\310\207c\323\331r\2561\337\306\n:\345\342o\265j/\264\1\0\270\262f\373"
+"j\241\r\327(\77\354\304l6\fe\303\354N\3366*\214Jp\243~F\6\212\361s\266"
+"\204p\274\32\350b\20B\37o\201\234(\355\274\322\202\20\202g\362#\42\356"
+"\3256\311\316\245C\331\376\353\5\32\244\247\f\305\267Z\77Qz\375{dy1\256"
+"$;\333\202$x0\360\312\377\216U\261\257\204\25\319T,\24\0\274q1\305B\1\214"
+"\267\25\r\5\177.3\305B\1\334\323\27\r\5^\235\374}\345\311n\243\262J\353"
+"\1K\336\360\231\205\353\262\275\312;\203\315\27_\244ss\331\t\265(\204P"
+"\323\203\34\330\227\35\352Q\b\35]\306Y\227hP\250\346=\356\226\216\6\205"
+"\352\42\330\224cTAfe\0\353\364Py\205\320\353\354\224i\312\320w\27\313\332"
+"et\250\347\330\367[\23\35*\34\305^(el\17g\233\273)QX|)\247C1u\271\237i"
+"\24\250\203X\214\210\323\241\316a\355(\325\26\265\256cs\366\323x\305\214"
+"\354\304\326\27\244A]\305\317\335\4K\201\2726\204\367HE`=\371YU>\312\t"
+"\311\2335\4\324I\22\312p!\234\233t\36\23H{\347DQ:\307\215\225\274\364\265"
+"\331*\230\274*\32\214U\266\316\323f\301\242\b\241]\265vK\301\215o\317\13"
+"\271s>\251\370{\7&L\202+\233SN\372\274G\270\200\254P\274+\246\217\254\25"
+"\251\26\275\1778,V\32*[\334\207.B\225\251\4\64\331k T\310kr\353}6\360\324"
+"7K\254\220\217\337i\221(\3436\22\321\320\327\205\300dL\373\177\\\223&M"
+"\2324i*\215\376\1\347Q0\265a\256\324\347\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0\63\0\0\0x\b\0\0\0\0zU\225Y\0\0\0\26tEXtSoftw"
+"are\0gif2png 2.2.59\267\256\37\0\0\2\347IDATx\332\355W\313k\23A\30\377"
+"\366\221G\323R[\355#Xh\323j\241\5\273\246U\n\42\361\340EP\22\37\7=(BA/"
+"\325B\311A{\21\205*D\372\17\b\366b\217\26=\24\304K\251T\264(V$\264\226"
+"\210\330\304b\264i\33\213\221\244\211\331\354\347a\207d7[w\'\366:\277\313"
+"\3147;\277\231\35753\337\2\60\60\60\60\60\354\4\234^t\34n.\216`b>G\263"
+"\302p\34K\210\17s\24\34\337\32j\261\346\333v\26\257\223\334N\235\350tS"
+"p\350 \352\244D:\267\331!\250\375\302r\275\234\240X\301)\365x\247\2111"
+"\323\336\36\311I\267\261-D8!\333\277\246\30\354\301,\351d\221\232\3X\326"
+"Rpd\3538\376\217\257\31gG9\3529\345*\204g\220+\13$\207\334\361\203B\346"
+"Yl\33f\323,\42\256\330\301\16\0wH\276\335\26\1\354`_A\304\331&\243n\274"
+"\277\17\0\222h\310\27\4L\2@\237\2377\350\346\31\252\1\200\302\31\205W\0"
+"\2\344\313\351E\0^\341\13\0P3\364b\271\\\265\240\214\346\220\203\345\224"
+"\316(Z!\332\251\267\3071\320b\351\336\226\1\207N\356\217\2415b\375Z\37"
+"p\203m\0\240DS\352\200\313CV\314\3052j\247\266\235\7h\33|\247q\252\224"
+"D\304\374\204\344Q\261\177\244\30\37\62\42M\344\21\61)iT\33\225\21q\251"
+"d\322QML\2111K\210(\217jt\13\317\210\220\32\217\2338 ~\343J-\310a\223\31"
+"\306}\3309e\34\353\367T\213\13^\4\0\310\346s\33\253\321\304\372\352\26"
+"\5\247\273\273\324W\326\243\213o\246\326-s\264\fJ\372\323\275v\2612\16"
+"\42\342\373\313\366\2129\270y\253\332\324\2365\242\276\255\272\261\270"
+"z\335\210-\2241\341L>(\0\0\200\340\330\323\338dW\237f\327\365\371)\312"
+"s*\36{\232#\303\13\315\2241\225_\16>$\265FG\200:\17Vo\216\223\373\317\337"
+"@\235;\3511\342\223\3n\372|\213O\252m\353^zNa\216\370\321SA^\377L\253m"
+"c\5\34\201\24\220Nz\16\267\317E\n;z\216\353\22\251\322\22\364\234s\275"
+"$\276_EZc\316\336%\346|\371F\271\217x~\254\225t\77|7\354#x\215{\324u];"
+"\271\213\b\277\236\244t\34\261\301\351>2D\204\256\0\211am\207\344\333]"
+"\234\363\3529j+\326\366\373^\241\252\256\212H[\344\242\341lUB\251\230\371"
+"|q^\247\203\377\267\345\223\379\301\353\3176o\345\209\34|\255\230\335\7"
+"\6\374\211L<\332(\277\23\363y\23Fj\356\361\333\210b\370\237\253\277\352"
+"\333V\273L\352\307\362\307\205\254\302\376~\31\30\30\30\214\370\13\356"
+"H\370\273b\322\354\77\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\26tEXtSoftware\0gif2png 2.2"
+".59\267\256\37\0\0\3\355IDATx\332\355\230]H\223Q\30\307\217\333\234\256"
+"\336tM3u\26\31V4\263\314Hs\25H\220\6\61\61\362\42/,#*\212\2500\274\210"
+"\352\242\242\3102L\212\242O/VP\321\205\220R\240}J-\225\22ESK\321\310\254"
+"Y\206\37\33s\37\356\355B\336\371\234\263\367\343\270\5\21\274\317\325\336"
+"\367\371\237\337\316\307\363<\347\234\27!\331d\223M6\331d\223\355_X\210"
+"\2303ver\342\274(\206A\343c\277\277\365u\264v\7\364\27\232-7{X\302\6\357"
+"\27EM\227\223qg\224\3455\327c\223b\32\234\234zV\304\272\212T\224\34\303"
+"sV\302\3327\322pBO\272Xi3\317\226\4\315\267\260T\366e\215\4(\323\312R\232"
+"\263\220h\252\304\2366\327D\372\301\177\365~\356\33\366D\220\257\225y\216"
+"7\302=29\211\77\266^7\351\']\332\254s~\341uT\20\264\336A,Q!\276\3349/\t"
+"\324>\1P\342 &\263\27+\375$\371\3371\211g\3/(\354=\36\177\213\371DQ\317"
+"\360\364\211\347\23]\3004\257\4\2&\264\22\223\325\362T\200\214\t\250x\27"
+"!4\231\312{\30j\217\237@\321\214\305]\264\360\2\253^C\345\220_q\330\211"
+"E]\272X\364\306a\323~\211\34~/\364\236\22O\204|\250\35\327\343\316\355"
+"\320\371)\\\42\247j\240\272\2\367}\200\276mRi\236\2Wg\204\201\256t\bj\223"
+".\212\17\240~7\364\\\205\236\275\322E\314\b\365\3650\4\340j\2142\24\365"
+"\260\5\64\230\230\234s\5B\be\304\2Q\225\215\202t\27\366\3034E\312\201\242"
+"*\232\32\215\211\262\247~\302\264t\315\244\3326:a\36\373\222Oi\3\257-t"
+"\33\320\r8\347\213\270\321%\301n\274\245#a\262T\216d\300V\205\216\204\311"
+"\f\34\t\253i\37\351H\235^\360\340\33]\2\224\364\320\221\34\3\340!\1!\204"
+"T\b!XB\275\265\224{>\254\251\361\34I\13\303lU\0\'$-7:\6\5i\fG\322\4K\322"
+"\370\262\345\257\230\2!\344\n\26\342\342H\266`In\2164\34,\311\303E\201"
+"\25\276=\350\244k}&\232\310\13\25B\250\37*^\264Q\201T\227\301C\77\67:\354"
+"\300\276\224\256KIj\360\320\315\221\272\240$\231\216\204\311\2728R\273"
+"\33\274]KG2\362\227\230&P\377\306\350\216\355\215\240\211M\345\213q\270"
+"c1\353h@s\322\300\203\305\343#\325AQ\36\r\311\4O\216\240\271\6n\t_i\206"
+"\367\24n\bp\366\37BG\2564h!<btLe0Bf(; M\332\17K\b\326X5\0;\225)\5\212\201"
+"\263\341\306\266\1t\34\222\352\244H\27\241\372\1\356\323aW\314\2q\320r"
+"7\320z\311\302\177\32\222~\304\210\201\324\rP\353w \211\300\256cuJ\21R"
+"9T\272\3753\276\20;\260_\21\6\355\362Ba\31\317\207\3,\330\330\263B\240"
+"\2\17\224u\363\355p\372\237\30\252R\315\13*\301.%n#\257h\23\366ol\3O\245"
+"\232\373\b\277\340\25\13t\374\bq\323-%\226p\306\341!\342\206.8\231e\304"
+"\235\322~+;\3247\217\253\317\223\267\355j\265\340\27\232\220\362C$\334"
+"\326\332b\35\236\320\352R\322t\244\353\311V\207H\254\234\360\322\336\362"
+"Y\263Z\342\2364F\307\361\34\13\221\312\316%\2154\240\276,\232=\261D\262"
+"[\356\212\b\272\35(\356\232S\214\343\2552\320\37\31\364\245\203B\34\373"
+"\355e\323;~\204\345\232y`\366\352\35\221\1|\361S\246\32W\244,\340\342|"
+"\244\267\263\331\3224\36\340\267C\204\20\n\327\315b\220\3036d\227\277\263"
+"\312&\233l\262\311\366\377\332\37\16\226l\305~e\4\333\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\63\0\0\0x\b\0\0\0\0zU\225Y\0\0"
+"\0\26tEXtSoftware\0gif2png 2.2.59\267\256\37\0\0\2\306IDATx\332\355\226"
+"_HSQ\34\307\277^\347\32\327\306\312VI\212\370\207\\\b\226D&*\24B!*ABA\6"
+"=\7\25\364b\201\365P\332[oA\22\365\242\21\364$\5Q\330\77\62\63j\225\246"
+"\206.f5\332\213\5\n\333\262\3159\347\326\303\356\357\354n\367\2349\243"
+"\267\316\367\351\234\357\357\367\331\335=\347w~\347\2RRRRRRRRR\377B9|;"
+"\337\256\252\276\320\334J\226L\376\276\246\275\216B\0@\30435\362\334\265"
+"\352s\33\373\26\342\251\372\324\2711#\3210\24\347(\320c\25\22\266\233\261"
+"8_\336V\1\262\363k\\\254\253\271<\2449\345E\346\335\343\236%\275\361\320"
+"\302A\26Y8\366\350D\21\0\230k\273\275Ih\320l\370cA\26\34\252N\332\346\223"
+"~\346\337NC\n<\24Y9\237\272e\305\243\f:\233\312\364\223\37=n\330\343a\212"
+"-V\352\375\203\242\337\2\0\233\213\202\303\372\2\372H\356}\336\212V\261"
+"\345iK\232G\330\216o\343\356\334%\212\217%\275\227\344u\363w[\375I\t\r"
+"d9\250d\202\33\4%\322EL\779\27\311\351\23U\342\26*\t\177\236\3468\211i"
+"\26\226\357cJiJ\314\327G\265\371o\263\2209EL\17\0\5\330C%\353\214\b\231"
+"\21\32\324%\230\32\232\217\212\17\343tH\33\354J0\245\24\310p\362cnm\260"
+"U\5r\200{\355\332|fA\fU\3206\354p\303\4\330\311\257\314\246\271\331\335"
+"P\0\313\232\32\242\5\177\313\4\326\304\4\0\23\20\246\351\347\2208\265t"
+"\2236Hd\337\341\234\16\203\236QR1\240\0\337\311\337\236\201\241Xd\26P\200"
+"/\344W\213\21[\2116\360\304\0\5x\317\272\265\230\251\247f\364.Q;3~:{EB"
+"\346\0\r\350\1w\351\375N\13o\266o\224R\2469\35d|\20\61\373)c\222\265\b"
+"\237\241E\244i\200\22:\231u\215\254\'|\244\206\232L\230\3253\312\330\255"
+"\321\316}\233\327\24\356\325\271\275d\376(\3440\347(\32\322\267L\373\34"
+"\331oT\3\322B=&~!\305\77\306\232\374\323\364\373\266\205\335L\343y\251"
+"\221[\f\232\256\321\373\246.\366\24\177z=\232_0h\371:\353*\271\207\'\230"
+"\35i5|\207X\7\33\223]\306941\37\262\225\327\266%\227$\3321`\\\35\353\203"
+"\fW}\374\327!\356\316)\227\227\205\210\253JTV\273\307\370\304\322\225u"
+"\342c\242\34\2354\22\341\33%\253\364\225\372^\257\36\210\274:S\220\315"
+"7_y\235\243b\263\252\372\202\2633So\203\362\273XJJ\352\377\321\37\30\264"
+"\352\341\231\376G$\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0>\0\0\0w\b\0\0\0\0~\375\254<\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\3\262IDATx\332\355\230[HTA\30\307\307\325\225\332\312[.I7+-\221j\203\244"
+"+v\301\310\240\250\b\263\222\352!\254\7\323\36\42\2A\211\244\250\240 2"
+"\n*\n+\272P\20\335\37\272C=\210\32adh!+\25\26[\271\33\333\246\326\356\376"
+"{\330\313\231of\3169\13AO\347{\322\371\377\177\314\2349\337\367\315\234"
+"e\314\n+\254\260\302\n+\254\260\202Drb\266\345\273\306\267\232\273F\250"
+"\207\223\232\200P\246)\275\304\267J9\276\3\0\346\230\321s\2\bnQ=`/\0<\33"
+"jL\217\363\0\bW\313\302B\0\0\332\327\f7\240S\333\0\0\301RI\331\215X\364"
+"\365\365\365t\2758\2632I\306\353c\226|Q9\t1\356\245\212\236\221\77c\332"
+"\233tA\272$\341\250\25\361jM\273)\254\355\266\214\367D%[\314\263@\263\257"
+"n\240\270_~\322\334I\2\236\303o\303Z\342\375\245\330\350B\1\367\362Yv~"
+":o\355Q\340\271\2~\f\234\350\270\345\344\376kM$\275O\221\275y\222\242)"
+"\366\217\362\336U\210\270\243\203\350\215|\275\375\221\360\42y7\374\304"
+"P\311I\213;D\\\221\277\345a\33608\217\223l%\215oB1\245\263z\363AU\332\37"
+"!\23|\36K\325\264\5\65\355\0\340v\352\265\236\207\204oq\bz\276\37@x\221"
+"n\325ew\23\376\2U\355-\0p\332\240j]\1\302\357\42\342~\0\360d\31\365\f\272"
+"}\301e\234T\34\4\200\255\306=g\77\231\336\253\25\177\206\33\0Zm\306\270"
+"\355\16\341;\322I\325\207\347\2325\314\364\267\204\277\35-\376u\0\200+"
+"\346\315>\337G\370}\2141\306R\272\1\240\77\67\201#e\25\301\303\345\214"
+"1V\t\08\234\0\235\365\214\246w\300\305X\252\33\0\274Y\t\254\375\235X\36"
+"n\'\253\1\0\324\231\323\363\277\312\305\375t\344\27\0\360\f7\245\313\372"
+"\1\0\337\357\21\376\203\272;KQ\25\4\0\274\233\354\220*\34\33643\2726bl"
+"\316f\254\360\247\210\233n{\3640{4\2141\306*\4:4\321\204\336\24)\227\346"
+"h\2317R\274\335\204\236\26\3315\357\350\330\221\373\234\246\317Fc\374E"
+"\304\266\'>\220\363\211\360\203%Ft\364\22\200\231\332\320\334A\302\373"
+"\246\33\340\'\242&>1+\351\343\177\34\243\217\267\311\2633v\234\362\315"
+"\16]\374[\324r\231\334X\204\362\271\236\244\207\307\373\333\24~\324\331"
+"C\371\275f8.\222\341\31\264\367\206\313t\360\370\31\24r\221\361\265\244"
+"\367\302\77U\215\367\306\35\17\250\320@\227\337\251\256\234G\232c\5\275"
+"\321\336\240\374U\263\6\337e\247\'\377k\312+O\212\245\272\207\23\233\340"
+"\241\217\237\247\300\35\3\232\341G\216\220\3204{\37\253\336>\237!M\202"
+"\266\315\344f\303\30\253\343_o\261 \322\342\357\266\313\370l\336\360*\331"
+"\360\346\260^q\267\370\316\33\252\4\65\343=\257\336W\254\376\32o\370&\336"
+"\271\13\370\243/`\23n\225\214\261\207\344\42\373[\300\2736\204\270\327"
+"4J\236=\217\237\375\262\254\357\344\344lY^\315\343\333\25OwV[\274\370\346"
+"\207\224\236#\271\341R}\356\304{\357SA9\23\20N$\345\35\306\371!*\327\b"
+"\202P\25\270\253\256\352\242\310,\276L&\357<i\372\352\341\227\221\317\274"
+"C^\223\331\213\365z\332I\0G\343\33\27\373\343~\1\61\5g\f\350}->\237U\177"
+"\340\37>\331\307o\261~\266\260\302\n+\254\370\217\361\27\370\26\35\256"
+"\263mG\325\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0"
+"\0w\b\0\0\0\0w\26\fF\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\fIDATx\332"
+"\355\2279K+Q\24\307\377\306$\342\26\305\r\267\'\302s\211\342\202\205\270"
+"56O\13\345u\202\340\7\260\260\23\336\27\360\33\210\275\2156\n\202\215\205"
+"\330\b\212\330(\212\217g\214\215Dp\231<\367\5\64\204cq53\23\267{\16\210"
+"\315\3755w\206\231_\316\231{\317\234\334\1\f\6\203\301`0|!\276b\241\350"
+"\377s<%3\363\327\211\254T\221\272HD\364Kb\366\22\21\321*+\254W\rC\0\200"
+"\256\305\361\320\377\227+\231~\177f \267\244\324\373pc\35\357E\336\375"
+"\205\b}\302\305\302H\331\233f\2004\210\315\264\274\241\326\223\26\361\211"
+"\254Wj7i\262]iK\36\65%\272\263\332\264R\231\244z\264W\244|)\327\255\246"
+"\351\257f\325\250\373\374\'\351c\371\334\356\6\303\355q%\2141F\1&W\372"
+"\244~\324\345\344\367|Z[=z\225\307\340\216\256\353WB\212C.{w\215\n\7\207"
+"\323\35\367\35\261^\350\352\277v\324\6f3(\f\'\3246\360J0:\20KL)S\305\366"
+"\304\313Q:\273\177\25=<\'\334\307\215\nk\316}\316P1\373<\306\370\35\67"
+"\353Q%\334\301\217z\273\245\306\33\276\212M5\\\13\324\260\\=\220\'|\242"
+"\369.P/\234\371\362\324;\0\300\225DU\\\312\325s\271z\366-\252%Qs\0\0\247"
+"\22Uu\321C\211\32p\226#O\315\3\200xD\242\376\0\200\310\243D\r\2\300\256"
+"\2447\241S\254\2664\272T\6\31kDD\324\316\337h\367o\251~\30H\332^\246\375"
+"\376\320+\250ij\315V\207W\275\0b\363\366\265fb\361\3171M\365\274\354\367"
+"\345\352\256C\255\223G\r\362\324\220\275\r\361\336\373x\177\265\321D\324"
+"j\236y\36\265\23f>\352\236\243\206\203r\225\2716a\271\32\262UO\2558jE\6"
+"\313\214\357\333\333Ko6K\245K\363\261o0\30\f.\236\0\31\333*&\20\373W^\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0,\0\0\0w\b\0\0\0"
+"\0]\246\375\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\224IDATx\332\355"
+"\227OH\24Q\34\307\177V\264\26\212\377Zj1\211R,\366\220\31\244d\235\354"
+"\26D\220\227\16\35\214.\31\25A\177,\202@\b\no\21\350\255C\220\25\36\366"
+" \32Ax\311\f\42;\350%\263\214-\204\376Xn\3566\355\352\356|;\314\233yo\337"
+"\274\231y{\3630\337\313\357\315{\237\371\355of\177\357\367{C\24*T\250P"
+"\241\326\242\326\213\27[Nt}_\324\274\361\222\1\\\324dO\2\300\3=\266l\16"
+"\0\276\254\323\202\367\3\0p+V\345\355\317\31\235\277\317gS\271\364\357"
+"\237\13\263o_\257z\3346\0\267~\365E\324\3603\2504\276Q\t\317(a\\V\302I"
+"5<\' \374M\345\324\32155\250\340%\217\7\217\253\340\244\7\\\257\202\247"
+"<\340Z\25<\\P\303\21\25<\177O\rW\250`\272\326\237\17H\37\1.\364\306\357"
+"L\233\276\211)\377h\274\261!VW[]\331\\\316f\356\336\b\316\330\253\366_"
+"x[\31F\261\6\227\331 \243\1g\22\276\17(i\214\331e\35\370\25\263\246\16"
+"\274\260T\202g\372l\231\25-\370\207e\376i\301)\313\374\325\202M\327\16"
+"\n.@\31-\230\25XC\13\256q\25\345`8\242\5o/\301s\371V\313V\351\300\315l"
+")\252\3\2670\273S\7ngv\257N\'\260\253jR\203\2557\355M\330\32\34F\227\263"
+"\357O\7{~\343T\350t]\20\333*\324\363\376 \370\251\0gw\371\263\373\nb\253"
+"\30\363\357\266\23\0\60t!\313\350S~\360\25\0\60\242\364\234\301\213\333"
+"\274\331\316\34\353\371g\355@F\313\274\330\303)\0@\7Q\314\t\275\307\203"
+"\3556\0\0\37\210\210&m\330\210\23\321\6;\267\256\333l\343\21\313>\42\42"
+"J\34d\263\233\236\264e\35wg\\\255u7\21Q\23\277\356\341\271q@\16fz\226\210"
+"\350\343\214Xsl\270M\206\23E\206\210&\234\321\346U9\212\26)G\336q\77\207"
+"d\326I\371y6q\223\347s\273\34\305\250\24\16\r\363\265\307\262\347c\316"
+"\276uEA\237$v\2057\341)\0@/g\243\262\343\227|\355\34\0\230;\370\304Q\31"
+"\356\343k\225i\0\223\302\206u\275e\301s\372!\21\r\211=Or\234\27\316\r\264"
+"\247\200\274\225\317V\42\375yQ\354\370\253P\356\351\375\310\361\361o\332"
+"g\354\16t\227p\42\37\251.\1\256\t\277`B\205Z\23\372\17\250\302\21\377\22"
+"\363 \27\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0"
+"\0w\b\0\0\0\0m*\354\310\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\bIDATx"
+"\332\355\327OH\25A\0\6\360\357\371/S\241R\310$P\263\177\36\62\5\17\21\336"
+"<\25y\261\360\340A\310\223D\221\'\273\4u\255c\227\216u\352\320E\204<w\n"
+"$\252\213xP\260H\b\5\255\207\377\326}\357\271\371ux;\373\236.\330|\3^d"
+"\276\303\233y\313\376\230\335\331\231\235\35\300\307\307\307\307\307\347"
+"8\247\252\323\1u\275Y_\322\325\323\210\214jT\365\200$\331-\252\272,I\362"
+"\211\320\21\0p\373\f\0\340y\315g\36zrv6*\377\373\222\226Y\271_\316\336"
+"\323:\17\313\330\264=\13\333\1\0\25\311\217]j\37\225X^\350\365\241\22\373"
+"#\260\326\366\204}W\36rO\302\276*\354r\302>m\13\354|\302\302\267\2k*U\317"
+"\256\331\77\271\351\322#[\35\310Z\267V\r\0\31\323\336\304\255\272\303N"
+"\256o.\226s\271\255~\341\216:I\222\371a@\232\314\231,I\216\251\363\177"
+"\234$\77\252\352RH\222}*\373@\222_Tu\203$\371Xe\223$\3116Q5\27H\362G\331"
+"\21\253\211}\267\32\0\276\251\354\16\0`Ae7\1\0\277Dv\241\21\0\260\251\262"
+"\364!\33v\256X\234\24\331\251}\332\276K\342W\235\310\342e\346\252\310\202"
+"bqEd\205b\321\322\250\261\320|\26h,\347\306\362n,pcf\235\357\252\220\330"
+"V\\6tHl\317T\272%\266a*\327\335Z\353\321^Af\215\372\251\261]\343NK\23\'"
+"H\365\211\25\313\247n\316\212\345R]i\305B\267\213,\230\312\265*\247.9q"
+"QaQ\252]+f\3062~/)\354\257\251\274\336SF\311\273x\220,\326\303\241\265"
+"h$\220X\374\1\370lF\33\312\257H\222S\31q\r\330\1\300\27\367x`\327a1\224"
+"7G\'S\233\225\377\17\345\371\301\371}G*mXo0\260\354\260\'l\311\370\315"
+"\264\217\217\317Q\344\37\213aS\276\355{\5g\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0w\b\0\0\0\0~\375\254<\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\2\204IDATx\332\355\230Mh\23A\30\206\337\304\246"
+"\265\251\255&*\265\212\n\326\203\222\32\343\17=\210\202\266\230\223m\305"
+"\237C\357\202(\336\264=\n\305\213x\25z\355I\301K(\36\325\203b\374-\42T"
+")\366\42\370SI\250\207\6\324\266\251\351\353a\263\304\331\235\335\331\31"
+"\217\316{\231\315\fO\336\231\357\233\231o\23\300\312\312\312\312\312\312"
+"\312J\320\232\306c|\360r\251d\374E\233\213\344\2301\335<E\362\2511>J\222"
+"\325\r\206t\242L\222|\271Q\17\213\325\333\223\17\234vqI\211|{q\357\221"
+"\267o\214:\232L\272\331\252\267{\265\346<t\313\323\361D\313\235\325N\321"
+"\275Y3\322\203\42\276\244\231\251\243\42\376E\23\337\'\342S\232\370n\361"
+"\343\316\232^\354\230\22\334\77\25\64\355\267\n8\256.\350\341]\42\376y"
+"\250\242\205wz;\272\13\277\243/\375\347\16\341\310\0\0\66\345RJ\327\13"
+"y\0\300\365\33f\'{\204$\371q\255\341\305p\237$y\326\220\356^!\311\242\351"
+"\2356A\222<fH\347j$\371\320\324\3741I\262\317\220>M\222\2341\244c\323$"
+"\311QC\374\204\263\343\366\374U\330t\360~\0@\371\203!\236\6\0\314\302\20"
+"wT\16\303c\303\3\n<\36\202\37\177s7\255\332\267\201#\333\13$\273\2\207"
+"\307\235\243\36\264\340\341\n\311\257P\340\334%\237\374\245;\35\0\246\225"
+"\261\353\221\342\275\267c\0\20\342^\23J\204\7\277\350\274&\315\5\343\77"
+"\352\307N\212\267;\315\262r\362Y)\236\24,\302\nT\233\f_/,0l\337dexK\344"
+"m{P\206G\277{s!\241\3530tO\300_w\244yG&!\301\327)q7)-=\301\241\2130y\34"
+"\b\16]\224\4\34\362\343m\236V\23o\252\267\251\bx\266\311\207\267k\340\255"
+"\31\37\356>m\321\331w\r\334\215\3706u\336\201\303>\334\315w*\255\314{#"
+"vq\357\201\13\265\367\315\303\240L\0\300\363`\367\bZ\235\370\'\367\361"
+"\231@\367\342\254\222~u-\260\306\315\235\257\252\350w\3\313\b\330u\225"
+"3%U\274\337\366\317K\256\2138\0\374:\365\32\212\363^\354\233\227]\324I"
+"\0\337\363\312\27\276\311\374\202\264@\'\200\367\275\317\2241\77\267(\37"
+"\270\262r\263U\301\356_\35\t\376\5\236Q\347\373\210\375\277\304\312\312"
+"\352\177\324\37f[kS\347u\fD\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0%\0\0\0w\b\0\0\0\0\241\263\326#\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\270IDATx\332\355\326;K\303P\24\7\360\323w\372n\261\255\226"
+"\266\203E\304\42\16\372\5\34\4;\b\202\213n\16\16\16\202\203\233_@\34\334"
+"\\\34\305\321A\235\334\34\304MTD\nn\212EA\301\7\25+\32ks\34\222\310\255"
+"\364\236{\206.B\376\313I\313\217\233\233\234$\34\0\'N\2348\371\337\t.\355"
+"\252\321X\25\277\243*4\331@\304\t\5\312\326\21\21\267\25j\r\21\21\215i"
+")p\1\0\\\367\232\77\216\16o\352\306+\0\324\337\237\37\214\77\62\201m\242"
+"\237\255d[\324\20\266\317\343\200-\334\0\20\227\354&\265**i\306=\202\372"
+"\222\251P\267\240j\322\305\272\4U5d*,(\375R\246\274\342\356wd**\252\365"
+"{\211r\213\365\245|\325^\305[tep\376\340\203X\313\365\373\217\257T*\346"
+"\13\351BNP\13\33\262\35\307\312[\r\273\223\213Tg\206o-\265L\365\361|\252"
+"i\36\4\310n\237\356\231U\243\237\t\353>\7iub\26\77\255\356\314\22\241\225"
+"\256\3\0\200G\361\254~\266\351\220,\36\226\212\260\224\237\245\202,\25"
+"b)\37K\305:\270V\230\245\354\213T(\77K\305Y*\300R\32K\305:q\215\32K\5Z"
+">M\2123\362T\204T1\326Z.\326\275\267_\261\4\251\374,e\277b)\226J\223*i"
+"\325\fK%5\216\202\34\2452\366A\236R=Vm\352T\377\366\315/ys\216\354r\305"
+"\234\3f\350g\241\206\210\3704J\243$\42\342EQ1\322\214 \342fH5C\365\343"
+"\333\254z\34\13\35\367qF;\2573\335:q\362\3}\77\241F@IE8\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0%\0\0\0w\b\0\0\0\0\241\263\326"
+"#\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\350IDATx\332\355\2269KCA\24\205"
+"O\236+Q\304\25\42$\210Kp\211;\210(\42\226\202X\210\250`aa%\26b!X\372\13"
+",\254\374\13\242\235\245V\342R(\210\225\205\332\211\270\213\273\206\350"
+";\26/f1\231\271\323\n\3574\363&\357\313=\363f\356\235\31\300\225+W\256"
+"\376\2472~\37<}\343\267w\22\35:$\7\224o3\243\320v\21P$D\262\16IrY\240F"
+"I\222\221\351l\305{\17\0`}\320\351=\357\237^\77~\274|9\275\360\345Q$\21"
+"}dz\335\317$P\1*5\37\247\332\325\324\247\37\0,\0\360\252\277+g,F\275j>"
+"\277\313\210\252\216Q\27\266\232*\210Q\37\'j\312\216QXWSO\361G\337\203"
+"r*V\342\261\256\206\356U\261\16\22;\276\305\353\264\241\354`|\265\1\300"
+"j\352\250\257(/+)\264\22\376\34^\235Px\344\225\34\223\344f@\237m\2156\311"
+"\313B!\'\327HrN\200:m\222_\245\2\265E\222\333\311u\221\2u\367\2\300\226"
+"@\315\246Nf\252J\303$\311\240\236\232$I~g\351\35\373\1\0\67\21=U\13\0\370"
+"\263\370V\3722\216\b\224\243|\201r\252\337/Po\0\200\\\237\211#\252\214"
+"\250\240\236zv\232:=E\247i0r\f\351\251O\247\251\314\323R\341\350\357!\23"
+"G4i\251o#\352w/k1rl6\242\212\375&\216I\226\312\321\353\251\264\3S\315*"
+"\320j\260B@\215\327\3041\243Q\316\234\344\341\253\2620y\215,\3151mD\235"
+"\213\225\6\0\273b\325\28\3333q\\\320\34t\30\211\36\32k\332]n\300\201v\274"
+"\6\371\265\321\377.\307Z\312\24v\373\36\362aX\274\220\365p# _\333\332\246"
+"<\356\335\325\225+s\375\0\213\77\21q\251\2019\210\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0w\b\0\0\0\0y\277r)\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\2\275IDATx\332\355\230Mh\23A\24\307_\2226\251"
+"i\342bEZ\374\210_\255\246\225J\241\264\210\255x\20\13R*xR\252\207\212P"
+"\220^\304\243\7OJ/\36\64^<x\323S\215\210\227\42x\326\203\340A\361\343\240"
+"B\5\13\212\24\65\211\5c\263\177\17\223M\232\331\267\223\231\rx\232\377"
+"ev\363f~y;\363\346\315\333%\262\262\262\262\262\262\262\262\372\337\212"
+"\255\277\31\230\211/\265\2\333\234wq\243\25\200\363\32\300\363V\b9\0\250"
+"\354\13\17\350*\3\0^l5\35\330\346]L\265\23\21\321\310RIg\230\373\350\312"
+"w\371\267\3330\323\227\336\352\300\250G\330e\350\374\266\7Q\211\260\321"
+"\364\371\207NH\204\250\361\334\237\224\6\3766&\214J\204ecB\257DxeLH\245"
+"\32\t\2130\17\302F\302\307\5cBZZ\202\271\367\246\204\250DX\31\313\267\236"
+"n\216>u\r\342\272\260\223\210\210\42\215\214\354\371sbs\226s\225\240\377"
+"\211\\L\23\21\255N<c\315\361\207\0\0\367\254b;/\3\0N\7\360\357\13\17\347"
+"\25\317z\n\0p/\300zM\0\36G\24\204\'\0P\352\346\215\307\304L\276s\24\200"
+"\335\25\0\270\311\33\223\237\1\0\305\254j\301\346\1\0\7x\343U\361\fs*@"
+"\374+\0\274\r\330*+\202\240L\2663\0\200;rd\nMwI\331\227\323e\42\42z\311"
+"\23\316h\204mv\220\210\210>\261\204\316q\r\302\21\321|c\t#\355:>\210\246"
+"\310\22\372u6_\267\357\310_G\330\244\223\266\323\325s\236%\244}\27\214"
+"J*\202\226\252\23\320\243\366A\203\260\205%h\271S\20\315vv\330\6\3\302"
+"\36\226\20\67 \364\263\204Z@\245\24\204_\242\331\353p\204$[!J\372S\315"
+"\206\243\34!b\262\252\2079\202Q\r2\36:\242<\35\342J\227\224\316\310\277"
+"^\347,C\250M`BAX\255\345\2\206\320\341\273Pi\230!$\214&\202\363\241\315"
+"\210p0\306\344I#Br\177\310\325t\353N\370\t\216N\214\24\345\234\313\366"
+"\326J5\224\361\21:\r\3434\341\353]_\212\241\20\25]c8\364\205$\324#\361"
+"gHB=\257,6\317Q\254\6\275:\361\203\352\374\314x\275\326\246\2\t\356q\322"
+" \270\263~\333X\325v\235t\b\227\270\274%L\13\61\r\202\313\1h\2\0\220or"
+"jd\0`\355\2k\233\4\200[\261fo%\0\n\223\201\305\356\217\346\225\224\3\274"
+"\31\b\260M\227\357\366h|!\250\344\222A\266\35Z\357\354\35\303\366\253\217"
+"\225\225\225\225\231\376\1\35\1^9\242\302\34\247\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0w\b\0\0\0\0y\277r)\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\3\321IDATx\332\355\230ohVU\34\307\277\233n"
+"s\351\324ZK\235\313)F\313\177\253\211(\2514\2029\2uX\31H\204\246ABAoB\306"
+"0-\25d\nb\330R0PA\254^D\24s\342\37\\\332\13\303)N\247\202\222l\263\215"
+"6i\177\236\371L\367\307\307\347\333\213s\317\363\334{\316\271\317\2718"
+"\20\204\373{s\236{\276\277}\356\367\236{\316\357\234; \2140\302\b#\214"
+"0\302\b\343i\307\250\344\317\242u\3\235#A\275q\216\\7\22\300[\17I\356\35"
+"\1 \3756Iv\275\364\4\177\232&\232\267\353\1\0w\276\254{\354\237;\261|v"
+"fWC\303\260Q\334J\'z\352\2527\224\317L7\244\274P\363\220$\331\2619\333"
+"D8FO\334\257[\235\246d,\274\233Po\3173\20\352\251\306\21oBY\277\373\6K"
+"tB\243F\340r\267\276\350\201G\213\314\322\bWu\302A\227\234\327\246\210"
+"\327\307$_\243h\42\272\255\42\327\357\303\5\2128w\263\232\376\243\356\241"
+")\251~\254\253\203\5\212\207\313\272\207\254\344<\330mP\253\224\216i\303"
+"\332]\32\23\342\36\32\42:AA|\243\245\234\222R\341\240\211\300\215\352\354"
+"\376\372\221\337\2738`\4\360\254\366d%\'\274\31\225N\177\276\331\2c\23"
+"\364\321)>\20qe\254pzw\310Yt\346h\375\200\33QaZ\36\331_\221\344\215Uk7"
+"UV\346:]\377\221$/U\214\6\220\363Yg\222\260\323\270F\177#\31\311w\367\254"
+"\'\311\330\26\271Z\363\376L\20N\232\0\245$\271\303\323u\201d|C\362:\347"
+"\246$\264\230\312\315%\222\361\351\356\2569\32sa\\\16\345h\235\360\241"
+"w&\1@5\311\6oj\25541Y\3d6\223\344\36O\375l#\271\324\233V!\ts4\302\347$"
+"\311\17<%\334=9\345\222\220\305\246X\263\320N\222|\315\335WCr\225\232x"
+"\306!\274\16\0p=\342\232\251\0\20\273\343Nn\336\205\370q\225p\261L\264"
+"qU\20o\272\325\276C\254q<\314t\327\7\0\205b\300:\354\204[N{_!,\26\365\275"
+"\333N\270+\232X\267Bx \232>;\241W\244v\306\25BT4\223\2l\225\342I[\240\20"
+"\234\233\317\b@\30\24\233\254J\350u\6\64\313N\30\17\0hR\t]\316\241\346"
+"U;Al\275\327\264\376!\361\226\77\262\2\262\304\322\34\247z\220&\346[\t"
+"/\3\0\256\367k\4g.-\266\22\304\346\177\36\32\3019\310\315\177\316FX\0\0"
+"8\13\77\17\31\2456\302;\0\60\364\207Nhw\332r\13\240\260\4\0\316\367\353"
+"\2046\247]a!|\232\6\0\277\32\2242Y\275f\247\4\344\366\220\344\343I\320"
+"=$*\303\373)\t\333\237\7\200s\367\fRFL\36qR\1V\212b\377\211Ql\225\2171"
+"\327\37\360\246(\263\3\23\215\352iI\250\366\5\274\27\25\31\307\314\362"
+"\367\222\360O\272\317 \376 \367\253e\346\204/\22\233jmi\232.\317\330\335"
+"\'\365f\237[\224\273\16\7-\337\275\353>\1\346-\333v1\236T\253\364\263="
+"\0`j\273\227\30i\355\210D\22196gJA\256G\30.\364\373\30\352f\260\370\311"
+"\263\265\272/\232\2~\224\354\363%\\\r\6h\374\313\227\320\30\214\360\255"
+"\277T\24h\24\376\315\204\257\207\277\373\202X\330\77\234B<\21\300B\377"
+"\213\360\367\200\13\1,\34\352J\245.\265[x\364JJ~F\324J\370\331b\361w+\241"
+"D\373\\\366^\326\332F\341\2246g\224s\351/\266\367y%\374\207K\30a\204\21"
+"\3063\30\377\3\232\352\372\242\353\357GJ\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0!\0\0\0w\b\0\0\0\0\250XvY\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1~IDATx\332\355\2251(\204a\30\307\377\347t\322aAw\351"
+"\312pG\21\222,\312&\331\330d\221\311 \f\6\271\310D)\213\215\214\312r\33"
+"%!\23\352\242,d\340\224\342\6\6\307\235;\35>\376\206\317\3679\274\317\247"
+"X\337\337\362\274\275\357\257\347y\336\367{\352\3\64\32\215\346o\270\255"
+"\205\267\2510\341$\26/f9\243>\312\7\0x6[\200\42\247\24#$\271\346d\304H"
+"2\343W\236\271\0 \24\3\0\34O\244S\251d\302P\30\335\221\334\255\333\370"
+"\305\311\376N\362\213\26\346\17\262\221\306\\c\216\n\214\311\34c\236JF"
+"\1\0y\0\220V\337p:h\33\327j\3033d\33\347\3023u\331+\377\233\272\21\226"
+"\333U\242B\222\32\313\300\254`\370lcuAm\224\331\6\6\303\217\277\16[\351"
+"\360\372\335\217N\7\254/g\21\bVV\370|uu\366f\357\262:]U\324\312\321!U\f"
+"<}\30A\261\251mSxp\177\336\345\33\207f8x\25\21533lA4\274fX\221\215j\263"
+"\326\251\374|G$\311~Yh I\336xec\211$9&\13\265/$\31\227S\344\355\221$\373"
+"\344\24\343$\311]\227(\264\31$\231\16\211B\375=I\32\275\242\20\272\42\311"
+"\347\36Q(\270$\311l\247\3030n\220\314\264;\215\253\377\224\311V\347\211"
+".\231j\326\377\20\215F\243\321\374\227wYU\376\231\332\363\355\202\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0w\b\0\0\0\0"
+"m*\354\310\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\257IDATx\332\355\326"
+"\275J\303P\24\7\360\323\264\325\330\332h\255\265\352\240\210\270\372\0"
+"n\335\234\304\301\305\321\301\305\305\321\247\20|\1\'_A\320I]D}\0\5\333"
+"\255(X\20\374\302\217\326\266\177\207\324\232\24\224{\376\201 %g\271\r"
+"\344\327{r\316\275\271\21\211\42\212(\242\210\42\212\336\213x\347\327\324"
+"\312r\376J\3557\77\201\13\265Zh\1\250\331Z\266\17\0(*U\266\16\0\3305\275"
+"\77\341\16\305\244\210\210\254\335\35\377yw\251\342\277\336\201Q4\267c"
+">v\6\303\330\360u\357\325\224\225\\`\271\314\270\362s\323\36V\2771\256"
+"\371\274\207I\331\230\315x\331\2451\233\364\262sc\346x\331Q\323\2245\274"
+"\254zh\312\252\376\2\275\33\66n\321\377/KOF\352\324M\357g\215\215\255\376"
+"\336\363\331u\21\21im]\37\64\64\33\253\2\0\270\355\\[f\f\42\42r\257en<"
+"sL\264,\305\261$\307\274\353Q\315\254Pg\313r,\243\355S\23\0\360\250\235"
+"\315\n\262\270\368\366\302\2617\216\325\224\254\375\16\370P2G\202,\345"
+"^f\31%\213s\333t\260\373E\244J2\3111\233c\375\2412m\222}\334l\3\201J\302"
+"\366-\306-e\207c6\307RT%\277\227\264\262o2\304%\231\t\265\222d\222\303"
+"\34\313\351X\272=\216\350X\202cd\222\235O\325Pg\313Y\24\213\347\270\323"
+"4\317\234\335\42\5\356|\33\345\330\304\77\236-\306U\322\t\370l\371P+i;"
+"\334\347\3148\307\n\314KA\311\322\335\33U\231\344\311\236;~\1R\215\20\252"
+"\354\261\34e\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66"
+"\0\0\0w\b\0\0\0\0m*\354\310\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2mID"
+"ATx\332\355\227Oh\23Q\20\306\']\2671\311v\233\200\177\372\'\24\332\42\n"
+"\332\253\'\241-(U\203\320\213=\210\207\342A\320\233\210\247\36\244\7\257"
+"\342\301\202\340\315^<*bAD\254\25DHA\20jE\264\26\243\306Pj\212\253\211"
+"1\251\237\207\335m\327\267Kv\246G\335\357\362\226G~\357{\231\2673\363\226"
+"(R\244H\221\42E\372\367\244y\236\365#\273\13\362\25N\177\300\244\234\272"
+"\2\340\266\230:\5\0\253)!\265\255\0\0\270\31\223aGak6\227\360N\267e\342"
+"\301.\3168\350\216\203\365\245b\271\321\332\326n\246\22\351\30\21\321j"
+"\361u\376\341\213`\267;h\256W\343-A\330\34\302\364\2747\0{\26\212\2414"
+"\260\371s\327\272\26\36\265]3;}X\211\21\355\354\224\17[\344\234\322\311"
+"C*6\307:\335K\276\363\373\b\206\326;\224\304\371m\235`\270\305\336\347"
+"\325\231i\216\335#\337J-\23\337\303\261_\206c\342\1\63cC\7\272L\353[\315"
+"\252\376\374\272\246\33\t\263#\233T\26\37\275\313\212]\367\310\345\'\r"
+"\217\3355~RuN\2246\260\274$\33\315)\27\253\'Ei<\356\356\364\240,\375\317"
+";\330Ya\265\271\'\216\t\21\21\355[\7\0\334\227\226\304\31\0\300\242\24"
+";\3\0\250H\261~\373\317\265K\2712\0`\2577M9Z&\42\242\264\24\373b\2771R"
+"\314\42\42\242\224\24\253\23\21QR\212\221\277\274r\224\334\32\226\331\32"
+"\326EDD\77\204\230\326\263\331-\4X\237\335X\313B\314\311\3535!6d\17+\302"
+"\373\322g\0\200%<\341\343v\336,\b\17\340\202=\274\221a#\207\355qA\264\305"
+"\364\262S\360\306$T\352\261[\226\273\5T\337\274K-\361\241\375W+\33\255"
+"\343\306\337w.\322G\311\324(\31\'\335\240X\232\310\324\310\320\311\320"
+"5\323\334\341\275d)K\16sz0V\342J\342\34c\355\367\226z[z\3111k\354Q\250"
+"\36\326\36\247U\367s\34\252\332\257\26\205\34\353\362\376N\231HT\30fO["
+"\325ur\f\252\320\351\253\\\214\360\177\32.\372\346\336\206z\345\263\1}"
+"9\f\252Mn\17\330\300\305\346\220u\2757\360\363a\240I>\24\347g\37T\243/"
+"\326H\221\42\375\267\372\3\25\3\375]\264\0/<\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\66\0\0\0w\b\0\0\0\0m*\354\310\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\3\2IDATx\332\355\330MH\24a\30\7\360\307\317"
+"\235\235t\355C\301\324\24R\24\226\210\bK*\241K\20\25\324!\212\b\n\241N"
+"]\202\250\b*\350\20\4Q$\24\325A\251$\352P\207<(\221\25\235\304\302$3$\263"
+"\332\3324\264\330v\305LWq\376\35\346cg2\360\375\17\35:\354s\331\331\331"
+"\375\355\373\3563\317<\373\276+\222\216\177\34K}\251cC\1\37\352$p=\223"
+"V\365\6\200\256\35,\354\4\0\240\277!\207Q+`G\244\201\30\3618R\321]\243"
+"\314\356\272\30\276-We/\334\f\255\n\42SDD\367\234Z\244\312\274\371{\257"
+"\312>yN=W\375n\33\'\335\337\255\\9\225k\372\\W\200\270\340\331\207\276"
+"\333\354\bU_\213\233M5[B\26\346a\0\300#\3666\310\210\0\300~\226\35\4\200"
+"\211|R\345\217\2\300\35v\260\243\0\200m,{\7\0\261\34R\325\0\0\232\25\337"
+"\355\334\314\353DD\344\1\313\302\42\42\3063\226U\212\210\214\214\263\254"
+"TDDU\245X\241\210H\21\335a\177\0\0\302,3\340\247HB\326\335\326\250\251"
+"\225\275\235\221!\353\340\313\255\216\336\261\324\353ZP\17\4\222H\304\377"
+"\316\252\7\\\'\23\261\204\210\36\320\202Z\320>5\35\355\357j\357\2353\352"
+"*(\304\3139\205^\17\245h\312\365\262\315j\f-\336\313\235T\314\370\276]"
+"\236\247\265\212\243\341m\206\233-Te\330\340\236d\42\242Z\30[=\245\334"
+"\246\312\326z\236\205\r\305IF\275\237rM\221\315z\27\5z\247\242+\364\16"
+"\2477\251\315\263\334U\312\42\42\262\272V\202ZA /\244\345\211\374\234\221"
+"1\3\t\21\tU\325\205\\\357\252\210\252f/gg\277\237_[\21\255\325a\5\314\355"
+"\257\17\332L\247\332\306\1K\305\271n\263\304\312s\237\247\270\346\215\230"
+"\325m\42\34\223\230\371\320C2\230\17\335d+\375\b\0\230.\340\224>\3\0x*"
+"\334$\353\263ED\344\369\307\233\0\200qr\1\262\314\\\5^&\7k\1\0\374*\345"
+"\324\26\263F\316q\252d\4\0\360a\1\245r\315\206al\342\326~\267\341g\212"
+"\215\246z\222E\2513\246\32\344\312\352\264\265\211\251\242\324)SM\324Q"
+"\352\254\325\213\267S9\274du\220\23\214\312j\262\324U\352*\337\267T\33"
+"\223\372\274\16K\275fR_d\357\6G\312\bU1\0\37\251\257\376l)c/\241\252\206"
+"\355\226\177\236PeQ[=&\222\250\365\330j\264\230\30\354\202\363c\266\207"
+"\351RI[\365e\314\2632w\307ng\371\327\16\202\255w\216\342B\260j\365\355"
+"\203;\212\375\261B\177,\346\34M1,\265\314\371\312\2607\316\16\246\223a"
+"\17\355\203\33CT\13\2712\t\0\343\27s\347\333\343\374\21\301\225\225\311"
+"\341WS\351\377(\323\221\216t\374\217\361\33h\237T\336\353\214\222\265\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0w\b\0\0\0"
+"\0~\375\254<\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\337IDATx\332\355\230"
+"KhSA\24\206O\322&56\232\304\306\222h\255\325E\252\13\355BWB\242\33A\251"
+"Bw.\5W\241+\327\202\5\27\342JDDq\241(*.\\H\301G\205\212\202\240\250E\13"
+"\255+5\26\224\264\346mc\2334\326\366w1\2717\217\231\373\230\24\\\315\277"
+"\231\271\231\371\346\234;s\346\234K\210\224\224\224\224\224\224\224\224"
+"\f\25\273\376\242\255u\372\34\200\236\226\351A\08\3322>\1\0\367[\245#\0"
+"\0\\\360\13G\3\35b\312\241u\206\257\262\366\357\364\367l\251\304\372N\37"
+"\271\274\236\316@\260\333M\264PH&&_NB\274\316m\330\322\227x\273\361\253"
+"\333\321\3046\21\236\267\213\343[\210\247;a_\343\16\16\357\223\3001\304"
+"\341\355\213\22\370\33\336\373q\31\363\21\215rj\235\20721v\234\373\305"
+"\233\227\260\376\230_qX\2O\t\302\367\246\4/8zG<i\33\2175_\31\42\242\266"
+"\336\340\261\21\326\375\363\350mQ\337^\237\177kd\257\247~\346\311;\342"
+"=\335\317V\177\276\243y\240\343\360\335\345\232\3653\6\351.\13\0\270\346"
+"\24\r\366\277\327\361\313\342\204U\6\0\334s\210\27w\77\325paV:X\1\0|p\33"
+"\205\213\367s\25\37\23\fn\236\5\0,\3556\16\267#U\374\265`\354\26\33:o\26"
+"\256\37\331\234)\301\316\254\0\0\262\33\315\360\323\f\377\332|e\210\342"
+"\254\177\245h\206\77c\215\213\17:\26s\225n\363\313\226\3\0\3448\353{\266"
+"\20\21\321\223\2649>\315\342\223\303\17\260\346\201\305UO4<\325\360\1\42"
+"\42Z\31\263\300\177\260\20\346\360]\354`\346-\360,\21\21\255\343\360\355"
+"DD\364\316*O\25\r\234\17\23\21\321\'+|I\214{\231\77\63V\370\242\30\17\260"
+"&%W\326u\334\307\232\337\266\201\306\'\267 y\211\264\201\345\262f|}\265"
+"T\332s\272,\364E\337\2c\5L^\205\250\327\n\337d\212\367\333\263>o\200\357"
+"\263\302\303\246\326cn\13\274\257!tu|\265z\0\207l\341\313\315\270\26/\247"
+"\314i_\250!tu\\\13\204\241\220)>@b\347KZ-\273d\7_\340\274\322\353\327Y"
+"\223\300\215&\330\234\33\\\242\255\225\317W\'\202B\32638\272Z\235rQ\373"
+" \323\306P\324\313C4Js3\231b\271\254\247\6\227\327\341\357\352\331Y\373"
+"\234-4\343T\254\257.\341\260\371\1\374\342\302&+\223&\3702Q\220\301\263"
+"\34\236_\233u)\347\323\34\236\226\3013\34\236\223\240\13\25\16\377\331"
+"\202\357uxF\2\237\2455YO\361\270L}\231\343\361\\\305>\236$.\346i\264\313"
+"6>\245\376\255PRRR\372_\372\7\250\246\363ly\307T\263\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0w\b\0\0\0\0y\277r)\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\3\276IDATx\332\355\230[H\224A\24\307\217"
+"\233\273\213\242\331Z\231]\354F\245\224)]\351B)EP\21a\267\355\6!\4\321"
+"\203\21B\227\267z\210\n\202\212\352\275\324.\372 \32]\36D*V\tJ\213\242"
+"\250\350neV\226\332Mm\273\370\357a\346\363\373\234\231oF\20\242\207\357"
+"\3772\273\347\314\376\366\234\331\2313\347[\42O\236<y\362\344\311\223\247"
+"\177\255\30\347\233\5\341\244\365}\201\305\225\1\3551}!T\0@z\37\0a\0\300"
+">\27\357\354\7\7&\233\b\365\0\200\316\363{\226\16\221\235\251\215\0jWj"
+"s\34\r[\r\347\n2z8\3\265\314qk\241\206\260\26=\365\2700`;OX\326\256\222"
+"\201\256\204\35\20u\245\237\345\313wX_\315r#\34\220\bX\302]\323:\234\326"
+"\237\233z~\320g\275\210\312\320Il\30\\\31\347\264\372\213v\252\t-2\201"
+"\245\34(O\23\266\361\241\355J\302S\267\364\216\315\227LGW\253&&E\245u8"
+"LDT\0\205\3323U\2102i\336I\42Z\365[E\300\375\240\2020\346\2638\255\206"
+"hc\24j\35T\5\61\253I\230\365c\365y\270):N\205\30\260\3479z\255\ne\205!"
+"\32\225=fP\362\360)#\315G\31\231\17\65^\337\225^\4Q$\356\7\247\272\356"
+"\364\242\236\254\351\317\306X\2253q\205\365\352\323\305\33\367>\265&\204"
+"&\314X8U\230\24\277\352\224;\276\224\7Z\267\334o\33\63\216\264\367L\343"
+"\222;`+\233\321\34\26\2269\265\270\313I\370\36t\3\244\263\357\272\232*"
+"\273\362\332\234\210\34\27@l\35\0\240,\240rf48\b\205.\204\335\0\2003>\265"
+"w\344\33\233P\242\2362\276\23\0\42\1\267\34\263\354\365\274\241\236Q\5"
+"\0-#\334\327yK7\241Q\351\317\3\0\204u7\3555\213\360[\345\366\77\3\200*"
+"\355f\314\356\376M\23\24\336m\0\360+S\277\237/X\204d\305\365\375\36\0J"
+"\r\'b\261EP\354\230B\0\350\232b \370\336sB\222\344\n4\1@\304x,\2138!N:"
+"\335\353\206\22\21\225\30\t5|\354\224<\267\1\240\243\277\2210\215\205\360"
+"UrL\7\0\\6\27\227\20#<\221j\324f\266)\315\2046v\311~\220\326\261\5\0\220"
+"a&$\263\30\312\305\30\26%\23\21\265>6\23\262\330\320 \22V\22\21\321M\230"
+"\t3\331 \256\203o\31\21\21\335\355E\231\236\307\206G\352\237(\337\f\360"
+"\177cSS\204\30r\r}\204\243yfg\262\261Y \360F\343\205\231\260\2267\240\242"
+"\375\35\13\315o\4$\362$v\t\366a\314\374\321\34\202\3257\346\n\366%\274"
+"\21\65\2\22\370\331\356\b\n7o\272kS(h/o\273#Q\341\346\35o$\304\206R\322"
+"\306f\315\314\346o\253I \360\372\376\303Y\327\363\374\24\37\244`<\371\23"
+"\210\22\205k\276Z\374\206[,\273ZGY\177\251k@\236J\35)\357\331\23\35\273"
+"\177\264n9*%\2\257\334\216\333.\254]\320r\271\263bzk\'\361Z\227\304\353"
+"\30r\351\243B\366\223U\232.\204\263\20\t\326\30\327}\7\254\321&q\232\334"
+"\262\300D\13\331\250K\242^\361t\360\213\217c\3718g\270.\4\325\235\322\314"
+"\177f\253\320\36\327\205\320\21R\20\236\0\0\212\255\375\340k\322\21\212"
+"UqE\0|\261\237\333s\264\35\361\\\347q\261^| \272\271\301.P\363t\265\252"
+"\341\272\312z\370\317\376\330\276\375\21\21\316\365\376\214\361\344\311"
+"\223\247\377T\177\1\311\235\343[\335\215Q\313\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0%\0\0\0w\b\0\0\0\0\241\263\326#\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\1\330IDATx\332\355\327\277k\23q\30\307\361"
+"O\332\346\327\231\37\245`:\350R\247\202\b\212\77\247\316\331T\4\7\247N"
+"\16\42n:\373\789\211\263\233\320EW\27u\21D\272\26)\342\340\317\b\42M\245"
+"m\312\275\35\22\3557\366{\317=\201\350P\362,w!\257|\236o\236\273\334\345"
+"\244IMjR\223:\3105\275\267;\177\363ve5\317_\333\200\207y\350J\n\274\310"
+"A\315o\0[\207mu\7\0\236\235\210\276[\30l_\237\36\354t\77\377\220\244\235"
+"\315\356\307\265\227o\206q}\227X\255\236\37R\247\210\327\317\263\222\244"
+"\251\276je,\267z\77T3Y\337\352\302B\240\262\353\\\240\272\231\352h\240"
+">e\252r\240\336mg\2514P\275\347Y\352k\370\242\23510N\16}\346n\32E\353\205"
+"\277&\363\250\23Q\267\206\216\266$\351\310Bk.\251J\222\256\37\223$\275"
+"_\334\262\206y\261\37u\311\36\371\3\0Vl\324N\1:\363&j|\0\340\252\35u\17"
+"\200\3076Z\334\1\350\264l\365\24\200e\33\235\1\340U\301VO\0h\333\350x\n"
+"\3606\214\212\234\3217\n\222\264\202\31U\333\0\340\262\314\254\245\232"
+"$i\315V\263\375\315\27[\r\352\273G\355\246\36\265)W\307\3\255\246\366."
+"5\206\252K\222*\276\216E\227J\306\250\252.u\310\245\232c\314\252\273T\315"
+"V\323\256\254AHc\214\353\312\311*\272\346\225\214\262\256\34Ur\251\352"
+"(\307q\234\35\213\211\353\367\3300U9r\32\356W\25\227\362u\364e\225G\352"
+"\330\364\314+g]\245\177\320\261\371\337:&.UtM\42zi\332W\275\337\177\275"
+"JV\326L$\314\270wX\252\346R\177\36Wz\301\375\375\27\246\244\3744\305\360"
+"j\0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0%\0\0\0w\b\0"
+"\0\0\0\241\263\326#\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\310IDATx\332"
+"\355\226;K\303P\24\307oS\35\354#\255\324GU\254\242\265N\212b\7\205Vt,\n"
+"\212\340\207\20\374,\5A\34tpS\350\242\223\213\340TPp\226\16\352\320R\42"
+"b\2216\245\26Z\355qH\32s\223{o\316\320\315\374\227s!\77\316+\347\236\204"
+"\20W\256\\\271\372/J\236\227cN\214\367\250\3\60\357D\35\3\0l;@\351\16\0"
+"\300\205\3\225\3\0\08[\224\30\17=\272\225T\277~\372*V\352\215F\355\255"
+"\220\377\264\321q\260\251\235\263U\234\2\206\224\251n$\335\206X\271\216"
+"e-\3247\263\244\335\bM\251LJZ\245\251wv\177\372i\252\324dRmK^yQ\313\215"
+"N\237\240\250\353S\324ty\16\24{_3\214\2022\331|\225\246R\364\333644=\36"
+"]84\346I+\252\317JU*\204\220\321}L\216\263m:\242\304\244^o9\235\260L\256"
+"n\233B\352N\267-!UR0\21\311\23\212zFQe\315\200\230R\250\21\346Q**b\rE\265"
+"zH51o\210\4\230w\310*\237f\42(_8jXL\311\372-\20SA\315\314\240\42\316\241"
+"|\305QT\302\203\241B\tL\215d\r\343\213$Q\276\326\205;\240\330\335:1\201"
+"\257\211\301\356i\313\274\231\6F\374\276p0\20\220\7C\341Ht2l\360W{\246"
+"\315t\271#\272LzD\211\233\345\203\351\274\f<\305M\2766y\256>^L\324\206"
+"8\240Fy\323\30j)\214\241\270iu\36M\24\67\255B\375\217rJK\243Vd\36uo\242"
+"\270\1\251\316\337\360\32_\225L_+\331\313q\365\243\272\377\233\256\\\365"
+"B\277\350p\354P\31\303\255\273\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0:\0\0\0w\b\0\0\0\0w\26\fF\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3\36IDATx\332\355\227MHTQ\24\307O\352\314\244\315h \26\332\370"
+"Q\30\301\230\364%YB\r\26\201\24\b.\n\27n$H\252M\4B\213\42$\202\202\26n"
+"\222(PJ\241VQ\2332\252E\24\205\6\351\24D:\226\246b\344\3104Z\3154\243\343"
+"i\361\356\274\217\373\365n\256Z\274\263\271\217{\356\357~\235\377=\367"
+">\0\307\34s\3141\307\34s\354\377\264\35}\257WH\236Oc\302\275\42\362\24"
+"\42b\323J\310\302yD\304/\33\376\1\311!eK>\0\300\306\320\235\24\267\331"
+"\362\344\300\220\250\213Ghg\237O\273\370\350\24\332[\250\212\77#\5\24c"
+"A\16\271\6\225,V\303\242>5\24\'\326\262lJ\221\355f\321\260\42\272\\\253"
+"#Y\244\34T\324\301\252\16\246\252\21U\207\335\236A\262I9Z_\2568\354\322"
+"c\272\252\350\203\342\260s\254\250\274\235I5\266\236\2320@\252\277\347"
+"gI\241\302\224#O\311\324-\265\236\221r\0\200\261\2468u\276\366\2371\364"
+";X\313\353\360\42\42\42F*9\207\363\262>\341\305<\16\351O\2408W\234\325"
+"\331\335\34\357\rDD\354\25\254\261;\203\266r\6M!\42\306K\5\250w\222\240"
+"W\255B\4\0hs\1\0tM\t\320_\347\310\7+\36w\4\21\61\275I\30\225,rF^\td\334"
+"/\211h\273\206\2162\216\273\210\210x\\\202\226ii(B\327\273b\210\210\270"
+"^&\244\220\26Xz\233\352\n\0\0\302\337e\350\33s\3566\320C\0\0\60 \225oH"
+"+\362(t\257vn\245(\211\233\313\212fk\362\232\220\2421K\2542\37[\274\0\0"
+"\20U\311\24\363V4@$#e|\0\0\220\244F\255\342\235_\332rM\203\32(\321\237"
+"W\212\26\233\27\245\243eZ\261N\212\372\1\0`\206B\265Z\250\220\242\325\\"
+"\324mv\212rp\2159\200:J\266\255N\266O\1M\340\237(4A\326\272K\202\36\325"
+"\212\217T\365s\222=\256K\236,\343\210\210\230\364pO+\342\202x\217[\264"
+"\26oi!\316d\4\323!\42\275W\264\362%\355h\323o\301\6\1\332G\32\34\241\35"
+"\373\214\267\6\177\247.\21w\202\21\\\301\222\316.4\262\240\247+\343}\310"
+":\207M7wO1\345<`\334\276\315,\332i\276C\377\364\36^\255{JN\f\30\236h\256"
+"\256-\275\301\301g\326\256\26\337\217|[H\372\362+\252-\272\276\326\316"
+"\t\370\234\312\225\236\364\263\t\6\226n\253\344\226\233\323\274\332\312"
+"\264\375\240\77\212\370=\336\263GO\n&\263\331\366\241\370\304|$\263M\337"
+"\321\234\240|\241\323\r\277E.\367\220\3745,K!\376Y\331\26\355\221Ni\247"
+"8\270\343[m\342V\375U@\336\267\177\310\25>\340\201c\307\224\236\255\r\303"
+"4\370\256U\371g/x\313\370\355\211\277\270\260M\220\225E/\216@\251\317\225"
+"\212\316\206\307\323\316\357\271c\2169\346\230\235\375\5wB\17q\233\333"
+"C\256\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0w\b"
+"\0\0\0\0w\26\fF\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\204IDATx\332\355"
+"\227[\210\26e\30\307\377\237\273\256\207r\225e\335\335\26\203\326\325\13"
+"\261%\22W\22\25:\bb!\256Dj\42\206\250`\240)D)*\5^(]\204\27uY\355\22H\220"
+"\341!\20\317\5\225Z\372%\325\202\242\220\240i\36\326r\373t\335\325\335"
+"\235_\27\363\316~szg\206\350r\3767\303\314\177~\357\363\274\247g\336\221"
+"r\345\312\225+W\256\\\377\267*\3747\215\25}\377\255\225\227N\361\202\305"
+"\232\321q}z\2\371\266\3o\305:\205]\16,\260\223\363\35\340\247B\234\265"
+"\t`\233\35=\17\300;1Nu\t\340j\203m\230Z\267H\222\3466\325\16/=\n\276\362"
+"\352\353\2224vus\335\250\201\3731Mo\244\254\313\7\266/\34_\266>\362Y\335"
+"\337\276\327\22F\77&(\247\270\302\263\16\205\254#\315At7\21\2552\326\331"
+"\260\361\327TI\3220\373\300y\350\210\260Q\323^\360\243\245(\332hm\264u"
+"\216\37\275\32}\301k\2557f\21\370\321\263Q\337\233\243{Q\353\31\77z2\232"
+"\361ms\275\36E\237\362\243\275\237F\374\233\346Z\214\2425\201\273\332\33"
+"\3419\330l\234\'\372\42\363\326\35\230\234;\13\357\206W\265\271\336XO\332"
+"~m>\22\\OuC\316\213\337\207\242\336\212\300-\333\366\25o\1\374p\r\316\371"
+"\235\311\33\367^\363\241\305\330\330\313\0\3324a\366\230\260\3230\357\335"
+"\317\37\270\350.;\272\326\322\247\211\203n_Z\354kx\246\5]\343\276\336\321"
+"i\217\372G|\213U7\1\270;>a\347L\230\37\373\270\255^\222\364~\227\354Q9"
+"\26\353\35\7\340\322p%\241\274\22cMv\0Xb[\30K\\\364\342\250\250\365\1\0"
+"\277\25\254\337\0\63\353\37F\7\3516\0\313\254\313\261\336\315\212\201\310"
+"\4-\5\340J\245})\177g\302^\n\247|\2\200\255\t\273\240\215\370\224\'9\0"
+"\375\r\th\341\214A\7f\4\236\357\4\340\353\304\315\367\234\351-\235\376"
+"\t\254tK\301k\311\33\3673/\345-\276\207\13\0(\215LFk\273\f\372\240\251"
+"\374p/\0\273\323\352\305\n/\354\236r!{\b\300\242\324\263\201Wj\234iC\333"
+"\r\200\236\321\251h\323=\303\16%x\f\200}\31\216$\33\fz\277\312\344\373"
+"\b\200\225\31\320a\247\fk2^\16\300`]\226\223\320\24S\267_vo\277\4\340\307"
+"`\363\26\364\302v\367\372\230$i\344<I\322\301l\7\260J\367H3W\222\264(\220"
+"}\252\336\0\340YI\322~\0\376,dD\307\364\1\64J\322$\267\374vd>3\236\1\30"
+"!I\237\220e\351\373\264\7\370G\222\246\273A\7j\224i\204%\365\233\317\363"
+"\350v\367\245\323\177gF\237\224tY\252h\177\332\275\77\2329\337\252\36`"
+"\207\252\277\362\266Qk\270\234\224G4T\352\346\34\220t\342\327\345\336\342"
+"\353jp,A\36\357&Y\221]>\324\327\245cS:p\330\352\24S\202:\365\326c_\n\311"
+"\317\262%\2746u\201\330\214q=)A\177\267V\321u)d\377Lk:\235)\350\233VrV"
+"\n\231\360y\353H\4{W\333\311\352\304A\372f\252\245\4I\322b{Q\77y|\377/"
+"Isv\310\22\357\316\27\317\'}\210%\251\272\42\326\33,\345\377\367\271r\345"
+"\312\225I\377\2T%\271t8\220yn\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0:\0\0\0w\b\0\0\0\0w\26\fF\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\245IDATx\332\355\230\315KTQ\24\300\217o\336L\3168\316\324\3148"
+".\6Lh\24\242\334\25V.\335\210\213\202$\350\313\205;\213\26\272(\bZ\346"
+"\262mA\213\242\77 \24D\202B\20\312A\fA\204(\242\34\222\262\244AT\302\262"
+"\322\323\342\276\347\33\357=\267\271\357\214$\301;\233\373>\316\357\236"
+"s\317\307\275o\6 \220@\2\t$\220@\2\331m\t\355\270i\313|e\315Rs\3553>\346"
+"9p\17\21_\263\310\363\210\210x\234\343\356[DD|\2253\'\334\213\366)1\376"
+".LoR\212\33O^nj\346\270\216\225dm\364b\204D\37\241\201\274\77A\241OMP\\"
+"\311{\204\345^D\215B\223\274M\240\277\314\302z6\245\242\13fh\270SE\247"
+"\f\263\331\256\242\303\77\315\320#*\272\364\320\f\315\23\317R\37\214\322"
+"\363\203\232\257\355\213\21\233\241\330\246q\23\364\260\253n\227\241\13"
+"\235\247\372{\1\0J\223K\336\316\221\260\222\r\2712S\31M\20\306\20q\353"
+"\246Z\345\215\27^\270VO\323\344%D\304!\272;\207\34\264\227|\35\377\210"
+"\210\3131Mg\317\b\364\252\222W\0\200\339\0\30]\247Q| \306\4\205\246\7\1"
+"\0\n\272b\230\24C=\205\16\304\1\0\336\350\320\242\324\235eh\244\37\0\0"
+"\26u\350\252\250\362Z\2\355\21\31[\325\226\357w\355Z\3179[\237\26\25\223"
+"\206\325j\252\355\22\343\255\331\225OE\275i\250S\37u\224\27\352\374\375"
+"\223\252\206h\255g\352\213\1\251\314\357\326\320\350su\255-\222\342\225"
+">\332a\42\302\312a\243A\367\251\250\262\374\243\306\250%\353\354W\366o"
+"\235\303\337dMM\33\330*Z\222uJ\25\362\352\241\357d\235\371\n\333\252\207"
+"\316\312\257\3464\'\226\212\26\344\3k\306\364\203\0`\254\33p|dzq#\333|"
+"\250\245\265\365`\276(\351n\t\345\344\2322\313\31\234;F\345\317\333b\204"
+"\34 \34\270\23\377\273\207\16\332\304\370>r\320\274\256\206*K\224\217\306"
+"\374\243\356.\32\366\217Z\322\24\f\207m>Z\205\325\310\77MN=\37\265\252"
+"w\370\277K\16\243\20\343\374\362\17U\337t{\223\234\20\37M\370G\353\370"
+"\311\261\371\311\221\2553\320\264\315F!\315GS\354\bC#;\302\3258\234\341"
+"\243\r{\22a\377\16o\377\210\311\372F\303\374\274\356F\204\263|4\26e\243"
+"\216\307>\320\250T\23,4\355\27m\346[\335Fq\335op&\334\277\27.\213\373\77"
+"\3015\257T\323]\r\331\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0:\0\0\0w\b\0\0\0\0w\26\fF\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\3,IDATx\332\355\227MHTQ\24\307\217:~\214\315d\37f\6\203\224YXR\42\t1\242"
+"`b\4\265\250\205FX\4\31\264J\\\366\261\325U+\21\243\\\270\220Z\244\265"
+"\251\350C\310(D\3\235>\20Q\373\4\63R$\23736\316\214c\363\376-\336\233\311"
+"y\367\274yo\6\332\275\377\346\316\234{\177\357\336s\357\271\347\235Gd\311"
+"\222%K\226,Y\372\257:\320\262)5\360\360(\260/%\2626\b\340\\*d\326\f\0\274"
+"\315J\1m\4\0`\344HF\2349c\367\301\342\2\236\260E\177\324+\215\373\245\377"
+"\323/\37\2192\311\236\223\267q[\32\21\205\276\216\275~\270\244;\353\20"
+"\22+\324[\242\207~\206\221\302W\322yt\6\306\352\267\245\214\342.\213\216"
+"\233Aq\211C\37\231B\227\327Ej\314\363QS\247\357\274\314\30+L\315\212\5"
+"{\n\7\253\352,\203V\206M\241\2578\77.\372\315\240rq,\274\377\241\357\273"
+"\345J\233\341F\245\375\30\211\376\212\263\327\r\22\321\352\264$-.JK\222"
+"w\331\13\273\243pOy\255k\335\2307U\354#;\0\240M\264\37\272\25\214\2558"
+"\222\317\221\315\0\340\333\302u\25=\216\261\rL\367^\77\0t\353\370xMV\321"
+".\246s\30\0P\257\267AWU\364\235\330\325\4\0\360\353or\237\202\256\n\371"
+"+]\271\354#\372\347R\340S\330\nM\370\323I%\201\214\353\243\13\252\227e"
+"Z\364\202\322\314\'\b\207\3332\21\21\355\322\240y\307\224\326\227\0\235"
+"\35&\42\242\22M2\255V\235o\264y<\277\365\330\27\65DD.\r\352\216\266n\222"
+"\'\207\6\237\58T\311\7\332p\272\257\311$\355\231\f\352\2\0\374\324X=\332"
+"\333\325\311\240\351k\0\20\62J\341+\334\233k\16\0\240\331aa`n)\203\6\326"
+"]\362\30\272&\f\333\301\240+DD\344\210G\305P\330\254{\276\221xtJ\30\340"
+"e %\203\373\343\321aa\3307\6e3D\341\37\315\16\317\245\211\203\266*g\256"
+"\211\246\371\201\343D$\177\231\r8]EYD\324\3\21-\345=\251\222\341\273\276"
+"]y^YS\347s\'\263\264V\0\300\7\301\336>\261\323(\t\367\3\0\6\230\372\307"
+"\260@\362\2\0z\264W\235(l\204\236\310#\42\242\357\42j\250V5\334\223\257"
+"\312\216\252\307V\2364\351\370\250\220k9\311\222\31\17\324I=\311\222\271"
+"\367\242a\326\221l\311;\21\213\320S\302\3735k\3\21\311\\.\265\357\2579"
+"\355\216\375[\315\367k\7\264\211\25\245$I\222$\205\342\255O\205\242\226"
+"\352\204\331\262\263\271\245\337\21\213)s\5\f\226r\205j\255:\323\334~u"
+"\5\4\264\316\34\351\277I\251\2427\230\364\27\61\345\351\224]\254LkM]\241"
+"\360\371\240\210\232Z/\232\307\30\353\204\231\362\260\205M\245\2621\351"
+"m`\227r\306x\312\276\42\376\353\252:\261\223\221\351\'\275\223B\211\246"
+">\301\231\20\r\5\255\217{K\226,YJ\240\277\250\21\310w\266\350\357M\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0w\b\0\0\0\0"
+"w\26\fF\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\270IDATx\332\355\326_H"
+"SQ\34\7\360\243\346\304\222V\355\257P=\270\226\321\37\304\210\302\7\37"
+"z\311\36z\23\242^{\211\bb\346CQ/\205\20I>\4\42X\17A``\21\25$5-2\350\37"
+"I\17\241\305@\261`\345&[nB.[s\373\366p\317\376\334\235\263{w\177\21C\270"
+"\277\227\263\335\357\375\354w\377\355\234\313\230Yf\231e\226Yf\231\365"
+"_k\3036\42l}\222~\\*\263\34\353\367\224\226\307\223\300\313\22Y\323g\340"
+"pI\271;\t`i\2234\263\316\2\270R\222\216\0\0\336\265UK\262^\0Xl.\332Z\305"
+"G\367\34\67\361O_C\321X|1\22\310\355S\27\336\310\30cK\367\277\204\346\277"
+"\7\343\305\77\334\211\342\32\250\315f\7U\333\177\214\367\354Q\321\363\2"
+"\205\337\3023\237\20\335\2652\306\262\247f\25\317\260\343*\377\260E\210"
+"\216\16\25PY\235v*c\275\30\35\331\227\247\313\262\347\340\2202&$YG\236"
+".\310\332\356R\206\250$\332\221\247\2632\352P\206iId\317\323\367+\222\234"
+"\237\344\333\214\30\65\344i\374\241\204\246\225!\362B\214\226\13\256pW"
+"X\314#|\274\f!J\24\320\2716\277\220O\361\361u\267`C\352\257{\257M\245\13"
+"\237\231\225\306\\\324\3227\255~\236\272\204>\353\333O\366=\370\270\240"
+"\304\217TQ\363E\256\242\355Z\23\206\347\17\200\314~\365\306\3\212\fx4\347"
+"\232A\0\270\247\336\266v\34\0\360\334\252)\275)\0)\257Z\216\2\0\206-\332"
+"\23\334\35\0\270%\223\3\325\332r{\32\0vJ\344%\275Y\365\6\0\274\221\310"
+"szr\335O\0\350\26d\306\247;\225+\323T\253 O\351\257\2\327\1 Y[,\317\224"
+"\261\200<\5\200\231\342\363<[\316\3323\241\272J\\^(k\331\232\4\200\21\265"
+"\354a\206)\227\375\314\0\35-\224CUF\350\207\29faFh,/\'\33\230!\212\246"
+"\254\374\266\231\31\244\'\270L\2640\243\364\231\42\63\235\3140\345\325"
+"\313\250\364U\r\225\306\266j\354\247=a\370\202\214\330\325o\364\255-G\223"
+"^\315\375\264\16xp\206\332\365W#\243v\35\16\223\351M\343/\267\374\200\203"
+"z\177\322\322]\307@\246\23\214L\3t\32\242\323\24\235\326\323\251\223N\35"
+"\25\351\372\17\324N\247n:\265\321\251\253\42\67\307VM\246562\325=b\r\352"
+"\242S\373j\353\352\254\b]u\227\311\276\206L\365\332jQ\'\235:*B]tj\243S"
+"wEn\316o\352\33\fn\327i\357\367\27\206\304\16\307\241w^\246\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0w\b\0\0\0\0w\26\fF"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\67IDATx\332\355\227MH\25Q\24\307"
+"\317{\317\264\354\311KI\260\22)0\77\372\24\t5\372\200r\221eH\20I`-t\21"
+"}\254\36\321Bh#\241\206\24\324&\213\214\26%h\24\225d\250a-*\252\205\t\202"
+"Q<5\336s\221e\346K}\342\347\374[\314\214sg\356}\317;\273\26\363_\315\334"
+"\377\374\346\236\231s\35793D\216\349r\344\310\221\243\377Rq\376\376\260"
+"\'\232\271\373\346\331\350db7\200\242(^\13\360 :z\17\0\256\211\275\'\0"
+"\276\273\242\221y\n\0\374\315\20yG\1\0~\353\260\376t\227\13\210\210\22"
+"\312i^\231\206\345\232\353YDD\207\362\347\42S\254\245\207\21\310\\\32Z"
+"\370\31\34\350}\325o\334}r\225~\210\360T8\364\245\353\265\302\334a\265"
+"\2\213Z\342u/\307j\341c*\203fq6\252uo/\357\265\23\21\271U;\201\1779\'\365"
+"\3\37\357\35\3116\320y\336\316\325\337\240\300\243b\3\35\345\335\25)\332"
+"\301o\1\272\325@\307xv\\\37\32\0\217\2567Pz\303\271\203\372\301D\37\217"
+"\256e\320\333\234k\304\331\314\243I\354I\2435\1\217\226,\357\20\227\35"
+"S \236\332Y\263\313\314\265%dE\7\314Al\254\351Y`\334;\214\225\3340\306"
+"\202\301\37Af\rk\33\63\'cC\262\327w,\215\210\32\317\233\202\312\317\313"
+"\330s\200\210\210\246\313\333)m$\312\16\354\2\200[\326\321\324\0\0`\261"
+"L;w\213\320\31\321`|\253\272\271j\332b\225\251f\0\260\244\313\365P}\316"
+"\227K\217(\234u\232K\35Q]\5\21\21\205N#fq\274\1\0\35\246\241s\352\234\221"
+"\202e\352\352\25\0\370\306\216\224\251i\233-Y\256$_\4\200\5&\342\302\b"
+"\0@\251X\266\232W\1\0\214\31\322\207!.\212\274J\315\313\311\327\247\222"
+"\365\22=d\'\0\340\217WKh\267J\336wI\240^\265>^2%\364\271G\252u\251Kn|\35"
+"\21Q\275J\276O\224\353zw\265\232\351!:\243mP\237d\303,\321vW\3\35Twq(]"
+"\266\327\272\3\32\333\24\6\0\374\312\224\357\323\247L5!Rh\243\305\273\36"
+"\63\344l\261\255\317\203\370N\3\375\24g\357\323\42\361\235\301~\330d\217"
+"\365\365\32\354x\231=6\365\263\301*\265\36[\354\232\17\314\273\352L\261"
+"\305z\273\31vp\207-ve\33\303N\225\333\373\204c[\221R\347\266\5\373\331"
+"f\362\302g\213=<\301\260_\263m\261\333\331\36\31.\265\227\244\247\f\273"
+"X\355\262\303\272\374s\f|\334\336\312*\32\65\320\342X=\207W\204\251L\1"
+"=q\246\300\232\222\242\240\373\f4\34\22]\260\37\22\352\20\66\311J\231\330"
+"\337\nW\373\244\314\254\273Dh\245\f9\342\26\5\\%\23\3573E0\270Y\221\231"
+"UX\35ke\310a\321Bp\17\313\240Wc\365\231\230R\262Dh\253\f\332-\42Sfd\320"
+"\23\42\364\202\f\31\214\23\374]\321\266\\\211\244\16\3658\77\353\216\34"
+"9r$\320\77z\345\376\275)x\3624\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0:\0\0\0w\b\0\0\0\0w\26\fF\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3ZIDATx\332\355\227MHTQ\24\307\3178\346\344\250c\242\231\221"
+"a\245T\33s\21}\20\321&\211\210,h\23J\213\212\240\304\322 \372\302(hQ\20"
+"\265I2[d\226}\b}\340B\n$\261\260\17p\21A\bR\202Z\230_\244\23\3434:5\363"
+"oq\357{3\363\336\273\363\356{\t!\314\331\334;\367\362{\347\177\317\273"
+"\347\2347D\tKX\302\22\226\260\204%l\266\315\31\363cM\316\270\255\247$\237"
+"\35\303S{d\33\200w\266\320Z\0\30\262Cz|\0\200+I\322\204C\231\224\77dc\373"
+"\253\241Q\177\200\234\36\227\333\355JK\231\237JD3\223\343\203=\223\302"
+"g\324\301\304\372\33w\3173F\237\303\334FN\273\215\320.\310X\337\246\b\221"
+"d-\230\205\235{\365\350/96\345\3016\35:\42{s[\26i\321>Y\315YW\265+\245"
+"\220\265P\221\366\n\177\227f\257i\335\356\227F\2779\264\354\245\260,[\254"
+"\13\300\326\316\220\34z\204\35\61\n\355\350\310\333\\\262,7\333\355\42"
+"op*0\355\17\216M\21\271\334\344\361\344\25\26D\251,\261v\217r\253\206U"
+"\257\35V3z\361\200\202~\261\\\rv*\250\3272\352\350WX\313\231\203gj5\262"
+"\234t/ueI\3322\24\301\2316R=:\271-\241\5|\234\370m\200&m9\236/F\327\361"
+"\361\263\301^i/&S\304\350c~\324:\375Vu\bh\22\2239\1\216n\327mU\204\1\354"
+"\23\243\3479\371\325\251\335Y\341\3\200\42\261S/G\217\351\266Z\0`L\354"
+"\264\221\223=\272\376\261<\4\0]Br\7/\42\63\353u[\247\0\0\315\42\62\177"
+"\204;\255\3267\216,\42\42\32\20\220\356\'\274r\337\274.\3529~A\315\177"
+"\264\201M\232\217\32\264+vx\237q\2466\354b\223\373\7\302\6(k\235\323\206"
+"\344\215ClR\277\77d\264_\17\0\2500R{\207\5(|!\266_hf\6\67\330\335RFDD\301"
+"\303M\2\64\215\210\210R\365\205\260\225\275\310\211=\257I\200\nlm+\313"
+"\302\3362m\33M2y\310\3017\214l\337\30\247\1\267\1\0*c\217\311\3\204\206"
+"\270\352\30Z\23\275T\374\211\207\2666\376\241^\0\0\316D\255T\361\324\16"
+"W\232\304\203}8\235\213|\253\334UJ\347I\222B/\253\367\240U!\357\231V\312"
+"\267\0\0\65/j\324\336\224-\0\42/\'\203\210\210\322\225k{B-\36\77LQf\231"
+"|\\\271T=\b\231\242\216\250\204\'Z\255\256\367\233\243\36\42\42Z\310\177"
+"-Q\327}$)8\227\217\221\330\374\224F]l\\\240\256\4\315Q\36\240B\322$\237"
+"\264WZ\245)o\376\2004\312_\312\240i\200u\21V\206\217\312r7\311\276W\345"
+"\310\357\207\371W\313m\222\26\314\275\206.\22\21QO\271\370_^r\354\25VQ"
+"\272\325\355\200w\324\37\357\377\243\326\275r\211\361\301,\325D\202%LE"
+"\323\355\243N\215`\13(\331G\323\354\13VB\355\310\260-X^\261N\260\274b\235"
+"`\33\350\77\b\246Y\360:W\4\317\330G\247\347Z\204\377\330\27\354\377\277"
+"W\242]\26\375\13j\345\252\277\367\350\302\371\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\63\0\0\0w\b\0\0\0\0\213\3\'\214\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\1\333IDATx\332\355\327=K\303P\24\6\340\267"
+"\237\232\266Z\255h\'\21ADpq*\270T\234\374\302I\\\212\376\3\'\5\301\305"
+"\245\340\350\320Y\4\7G\377\200\233\240 .Nv\260\202bE\212\326~jS\212z\34"
+"\222\320\244\210\336s\225N\367\35\232\26\362\364\334\234\364\244\\@EEE"
+"EE\245\375\361\230GW<\364\314\244\323\227\224b\222\215\17\242\254\213E"
+"\226\210\210h\212C\334\267DDt\354\21<\337\5 ~b\274\77;E\21z\275\371B%\350"
+"\365\357\335&\375\224\317B\376<9\330jR\364k\364\365\26s@\2\331\261]\77"
+"\200\232\310\205o\315\361\rv\275v\223\23\62c\363v\223\26\273-+\366\17\221"
+"w\221&P\305c\253S8\26\252\3235a3H\222\20\232\260\317\317\2037.b2\316\365"
+"\254\325\4.\350\3109\247\27\373o}\3\216o\371H_\25\20r\314Te\257\371\273"
+"\266\3327>\334\357#\0\245z\3459w\337\0\20\234\234OD\233k\33\25\34\26m\375"
+"\325Z\333\223\370H\216\\\233\246\312\230\343\350\235\2118\303\277\3504"
+"n\21sc\34t\216y4\16y\216)\353|\3\343\261\\d\231\27\243\34\313\24\370=\200"
+"\363n\212\231\232\204)K\230\206\204\321%\214\363\\\216\351\2220\235\22"
+"&\3002F\205\20\313t\0\0\302,\343\227\350\201\6\0\350\226X\233\'\310\357"
+"\201U\310\315\351r\230c|\22\306\354X\17\307x\333T\307/QG\223\250\23\220"
+"0f\257{\31\306\372qr\352x%\214U\207\2636\277D\35\355\17&\307_[u\231\361"
+"\220\232%\42\242l\214\363_\277@Dt\30a\355\'\22D\231\31\346\266e\265\266"
+"\255q7V\261!\265\271TQQ\371\267|\1\77\365@^\303\223\355=\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0w\b\0\0\0\0\214A\371\231"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\331IDATx\332\355\230Yl\25U\30"
+"\307\377].\5D\240\24\261\n\226J\bU\333\322\7\321(\42\20\227\212/\262\204"
+"XE!q)&F\321\7\65&\352\203\321\b\211< 1.\304\210\22\22xP\312\352\2025\242"
+"\22\n\42\66\rT[$\215U\241I\221\366*\322\322\355\376|\230\231{g9s\357\370"
+"\250\231\357e\356\375\237o~\363\235\365;\347H\261\305\26[l\261\305\26["
+"l\261\375o-/\375\253\246b\347`\260\274|E\342\325\21\303{U\213\13_\16\205"
+"V7\303\225Ayy\77<\24\224\213>H\321\25\312\272\272\33X\36\220\'\366\2\215"
+"A\367\6\200\3520\330N\200\243\205~y\r\300\310l\277|\77\0_\24\230Y3S\0l"
+"\33\353\323\277\5\240\243\326\367Z\23\0|6w\234\251\3^|\305\372w\356\207"
+"\346\226\346\366\224SX|\326\246\374\325\332\326~\374\350Y[\236\320\223"
+"o\377J\2657\177w\344\330\220\27\371\r.K~\362\324e\226\274\24\2175\257I"
+"H\222n\364\312\347w\327\271\333\247\260\17_\371\nI\322F\237\314\347\371"
+"\222\264\310/s\270$\3\253\f\224^\30\'I{\3\372\22\63\2147%I\371\2224>\320"
+"#c+%\251\77\240/\224\244\236`\17\336\236\201%\203\245\223\315\372TI:\35"
+"t/\315\300\302\6sg@\31-I\247{Bf\245\25\331/\201\322!I:\21\220\317H\222"
+"\16\204|\334\32\61;\2\372\237\222t 0\363-\374\226\200\273\273uK\273\375"
+"\335S.Iz\337/\327X\225:\354\327[\335\344\33|\264\1k\30\226\376\346\225"
+";l\367\31]>\330\36O\234Wl\35q\27\2668\223\366{\317;k\35\367\31M^\330z_"
+"\265+\336>\237)|\'\335\246\367l\77\235VG\3123m\275d\367\5\27\254.\320\212"
+"\343W\37\2`\327\23u\263\334z\3550@\313\272\307\356\362\270\'j\352\323\260"
+"\351\206\276\275t\20\350\310\363\257\302\0\347\r\253W\231\303:\351\36\32"
+"\351\331\222\220\324\202\357\235:Ij\36\311\222I\32M\260ZIj\225\tv4[Zj0"
+"\211m\0+|\342\365`L\20\3225v-\317%\f\221\225U\230\42\273O\222t\320\0\233"
+"h\77\77\36\62\24>\2\60\\\344\233\303\235\0\355\246\212,\267#\273E\206\310"
+"\356\224\244\216\1\357\33s\313$\351+\23l\206\3658y\310\0\313\277C\222~"
+"45\277\32M\260*\353\261\tC\331\34\357\224\261\277\320\5\60\\\34\332_\364"
+"\25\313\20\331\2I\222\257u\26\226JRS\257\201u\2715O\266\366\232`V;\376"
+"l\252\345\36S`\213\362$\211\r\n\217\272\324;\1\317\2Pa\362\337\1\300N#"
+"\253`\20`\310;3\357\16\256}\351|\177\21\200\233\375\313\266$\251$!I\27"
+"\274]s\257$\351#\23\354\301\42Ijh2Fv\235\265\306z7bI\0\252L\331\243\r`"
+"\350Z\363l\235m\r\347\22\267\266\4\200\23&\367e\0\274\27\62\365\347Y\260"
+"\371nm\33\0/\231\2;\16\32075;\354\31\367.\341o\0f\32\274\37\5`]\330\242"
+"dWs\237\273\371\18bp\236\324\r\320S\34\6\233e\301\372\306\370G\322\223"
+"\6\347-\0<\33\272\\\226\330\13\312\262L\206\351\7\30\232\22\364\265B\376"
+"ut\370\342k\247\272\314\240Z\5\300^C%\254\21\363p\226\225\334N\270\3\223"
+"\35a_HN\234x\322\232\27\5Y`\316\316\3429\247\221\7\1\222c\2;A{\253\261"
+"8[\216y\334\206u\26\272{\177\223\337\355\222/-\267\203Y\317Q5NN]igC\0n"
+"\365\357)\17\331^\363\262\302\362{m\267\266BI*\35\68\345\313\357U\247l"
+"\247]9\216x\273\235\320\3523\265\366M\245\325\316ve\2702\7\354i\7\3265"
+"A\322\6\200T\271\347X\264\77\275U\331\234\353\360Y\225v}W\322v\0w\212\233"
+"\266q \355\320\177U\316\223\354\31\3077\265\324>\205\255J\237bj\267\r\272"
+"6d\257\233\336\367\234\ni\\\351`7k\346\\I\32\65\347\\rT\311\264\352\233"
+"n\233\344\366L\256\315}\310~\200\210\366|\204\23\373\224T4\326\357c\243"
+"\234\377\217E\203\325G\272Lx-\22\353\247\302H\260\371\221`K\243]s$\222"
+"\21XMy\21/M\32\42\300\26(\353A,c\237\346\376\336\276\257\243^\347\224\345"
+"\214+x\315\21n\255\271`\37\376\213\233\246\3659X\27\247gY\20\375\302\376"
+"\34\37{\2533\312\225\227\263\357y#{\307\277\360G|O\30[l\261\305\26\333"
+"\177\311\376\1\233\376T\3\351\340\317O\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0>\0\0\0w\b\0\0\0\0~\375\254<\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\372IDATx\332\355\230;L\24Q\24\206\377eADX\321\204"
+"\305\345\245b\241\t\6m\240#&\340\33\202\256\306\304\316\206\316G$jBe\247"
+"\205\2456\306\302\6;\23\2440&h(H\324D\215\211J\300\340\3\321\370`\r\270"
+"\42\362\332\305\354oqg`v\347>\206\261t\376f&s\3567\347\336s\316\334\307"
+"\0\201\2\5\n\24(P\240@jm:^\342\37\216\365d\330\340\233\256\376H\362\214"
+"_:4@\222\275~\361\275$\311d\371\312\250|\373\346\30\0`\375\330\365>U\323"
+"\231\257_\250|\317s\2325;\320U\251\300\77\321\223R\327\212\377\5\'\7c\16"
+"*\317\276I{\215V}_\221\4Oz\216\366\316K\222\207\267\351Y\351Z\267\367a"
+"\357\311.8\353~\326\354\335;\'\13\334\257\34_\1\277\333\246\302\366M\246"
+"`\217\367\356\'\372]\217V\275\360\356\375\261\344\225\25\317<\343\263a"
+"\331\347sj\310+\277M>\250\252\3757\205\375\234\333V\326\231X\302\17)\202"
+"R4J\222\274\23\222\31\243Om\374\274\2\277L\222\374\260Nn-\267\375_\225"
+"\333\353\322$\231jTe\354\244\205\367\310\'\274\207$\311\13\312\204\227"
+"L\13\374\221\324\332A\222\274\37R\27L\257\300\337JC3I\222\311*M\275uZU"
+"/\263u\223$;t\345\272K\340\31\211\2519C\222OB:<j\305.\342.\372\21\222d"
+"\213\376k\371-\360j\227a\243:(\16\t\37\334\2323\333\330\3527\340\337\304"
+"\245P\201\2773\340\77\304\245\324\205\213\251:e\300\263gd\7>\7\0\330l\300"
+"\247T\336\247\27\1\240\311\200\377TyG\2\0\32K\365\370L\26\347\304\77\3"
+"@~\263!\357\342\22q\343c\0\2006=>\247\354\374(\0\2405\344\23\177\17\0\250"
+"\324\357\256~\31p\264k\361y%\376F\\\16k\361\5%\236\234\0\0\354\250\325"
+"\341T&\16\326\327\26\327\341\326\372\22\225\340#\36zo\345%\246\366\336"
+"\24\325\340k\255\31_\355=\334n^\242+%\270\25z\34\321\355L\262\274g/\261"
+"i1\23-D\324x\233h\222\220x\377c\25N\341Ac\347\313\302\222\311\312\356\375"
+"Q5\267\306\212O\231cG\335 \366\323\250\261\332\264\26\246\fcG\305\367e"
+"<\336\225\335&\262\357\256\251\367\345\216\316\327\347\32\17\230\362ne"
+"N\340u\271\215&LU\347\364^\274%\267\321K\343\361#\266\214ow-\26\257\224"
+"x\261\33w\r}j\314\230\370\r\32\\\355\34\253\355\304ip\365\320\355\265\21"
+"\203\376pK\17N,\341\261\350\n:/\16\311\367\342\351%\334\345|q\3300Y\335"
+"\210\317/\247\321\205\277\326\34\253\362\200\351\323\267\234U0z%\247\311"
+"\220f\320\221\305\356\213\343\376O\371-5\301o\222@\201\2\375o\372\13\243"
+"m\220\302\246\243\225\311\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\33\0\0\0\276\b\0\0\0\0\341n+\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0AIDATx\332\355\3221\21\300 \20D\321\3\tq\300L\224\340\6aq\202"
+"\22\214\20\3\271\324\24\357\265\177f\253\215\0\0\08S\351w\226f<;3\352\317"
+"\246vF+\355\312\322\362|\0\276\274\332\303\34U\335\366\353\353\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0\276\b\0\0\0\0E"
+"\4\223\7\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1rIDATx\332\355\3261,\3"
+"a\30\306\361WI\265B\223J\5A+\21:u !\30,&ib\261\tF\263E0ZL6\211IbR\211\210"
+"\301\302f\301BH\332\261\211\6\2134h5)N\264\217\205\240\327\244\337{]\237"
+"\337x\271\177\372]\277\357\275\234\b\21\21\21\21\21\21\21\21\21\21Q\25"
+"\352\313\\sU\254\332\226\342S\16~lp\327\2\246\325\331\3601\0\274\214+\263"
+"\216X\21\300\345\254W\331\315g\1$\242\332U\372\366\0\274/\326i\273\256"
+"8\200T\277\372_\351\276\5p\325\252\356Z\222\0\342~uW{\2 \35\324\357\372"
+"\n\0L\352\273\320\33\200}\7\307l\33@\241O\337\265[\0\16+\335Uf:f\334\42"
+"\262\343`\245g\0\212\315\372\316c\1H\212~\251\21\267\210\244\34\204=\42"
+"\42\231\212\241\375\364\373ED\232DD\274\23\275\371\373\323\'\323g\\\6\200"
+"\327N\t\255g\0\340c\313g\30.\0\0\356\16>\361\355\272\301,\234C\251U\263"
+"p\314\26\246]f\357\214\202\255\f\33mG\356\302>.fg\325>P\36\263\207\f\344"
+"K\227:`\270!k%]\256\3360lL\376\17\67\214\7$\222\375\333=\4\314Gk\364\361"
+"\267{\36\322\fe\360\350\247;\17+\347yd3\221\263nb\321\32~\220\20\21\21"
+"\21\21Qu\276\0V%\4\244\334\342eI\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\08\0\0\0\276\b\0\0\0\0E\4\223\7\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\1\344IDATx\332\355\227MHTQ\24\200\217\2158\230\202\77\213"
+"AfQ\342\37\2562j#4\240+\21\ru\23\210\13\227\6\355\4\245E\3130\206\240Z"
+"\264iQ*.\334\270\b\22\241]\22A\222\270\20\224!\4A\360/\4\3a\6\235\277\257"
+"M\r\357\315C\274\347\265qq\276\345\345}\357\336w\316=\367\235+b\30\206"
+"a\30\206a\30\206a\30\327\221\310\325\217\304&\242{!\336\334\263\224eLm"
+"U\f\255\3z\261\373;PX\31\275\251\323\32f\213\220\233k\323N\327\273\17|"
+"\273\243\376\274\311<\344\237E\324Qy\5\244\7\365Ix\r\244\23z\357\tP\34"
+"\326{\367\262@R\357Un\2\251\250^\234\0\30\t\261\357\367\200\355\n\275\370"
+"\20`:D=,\0t\206\20\177\1\'W>u#0\322\22\23\221\237!\304v\21\22103\336\22"
+"\21)\204\20kED\356GD:\222\251\323\203\265d\263kl\236\2\2600\374\271\b\0"
+"\347\343\216\342c\312\310\'\334\226z\24\330I\317\335fl-\237\221B\235[\361"
+"\37\6\314\204\323RY\t\f5:\211\362!0\222v\214\353\227\362\245\306\35\305"
+"\273Y\277\367\303\271>\246\374\342\200{e\275\361zoU\347x\246\224\304\27"
+"\272C\244\355\375\31@n\271\373\262t_\252F\273nG\2177~[\323b\30\306\265"
+"\346\301\374\316\351\356\322\210\266\301\252Y\374{\254~\215\253\274\252"
+"\325\3229\276\323\250\21g<\177\2009\315\305!\343\21sq\307>GD\372\253\275"
+"mo\237\273\350o\35[\334E\77Ew\321\337;\246\334\203\23\273\360\4\'\323\240"
+"\b\353;\217\370R\223\307\272\255\222\267V\255\332:M\377\266\316r\275\366"
+"V\366\350\323Q\341\360\343\240U\273a\30\206a\30\206a\30\377\313\37\362"
+"\273X\274\275\252\222O\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0;\0\0\0\276\b\0\0\0\0\2563(\4\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3~IDATx\332\355\230KHTQ\30\307\217\243\315\344\3408\42\244\351\344"
+"\243\27e\212\30Q\3660)\20k\221\325F\b5\242E\320\42\214 \20\f#\212\24\242"
+"U\213\36\320\242\b]\b\31eA.\314\42\250DA*\321\254\2144m\254\311W\346\214"
+"6\243\377\26w\356\234s\365\334\321s6\21\235\377\352\334\373\235\337\375"
+"\276\373\235\367!DIIIIIIIII\351\357(\302\314\260\334\356\264L{\207\274"
+"b\254=oGN\226\313\246=\214\366v\2646\177^\\\34\266\342\207>\314Uge\312"
+"\302dl\3057p\345\277\223\21>\346\210\322KI\314cwk\257\7\66\327\372\255"
+"\211\204\20\22\270Z\365\323\334i\334=\306\221\347lZ\350\223[\256\373\0"
+"\340\3236Stm/%g.;\f\266\324F\0\230.3A\263\334\24\35)\230\367k\325\0\60"
+"{\234\213&~a\320lN\205\233\0\208\300\261X\236R4\220\317\373x\314\20\0\214"
+"\255\234o9\305\244\251\212\377S\27\1\0O\346\275\217\37\243h\217\215\317"
+"\356\325\314\363\242\256f\334\226\230$\263H3\277\234\363\332\312\364\246"
+"\201(>\232\77\31\254\220C\223D\b!\205\t\264N]\200\213\306\327\333u\377"
+"Fv\17S\351\1\337mE\242^\332e4\274\246!{\371!\333FB5\276\33\f\221S\224}"
+"\305w[\310$3\232\2159\231i\225w|6\217\35\250,\33\307\30\6\370l&S^\302\262"
+"N\3060\301gS\231\362\17C\236\31\231\214\357xZ\34\234bYv.4\351\220L\366"
+"\333\f\355\313\306\351XpNk4\260\203\214%\231\17\270C\245\321z\3\353\355"
+"\243\225V\363\331\246P\351\302/\243\245\2366\274\233\317&z\202\366G\221"
+"s,G\231^\223\316\207w\16\3\0j\355s\r\316I\312\36\66I\321\262sM\317o\360"
+"f\243k\224\255\25]\r\323\350h\30\265-\232\322~}\334\271]\177\261\264\255"
+"G\320q,\235\236\357\n\257\341Et\311K\22\213\231\220\367\351\372\34f\361"
+"\265\210:v\204\2262O\264p\324\233\247u\370\204\370\266\345\244\316\366"
+"[\305\341P\267>&\316:\272\202lo\2248\274N_\322\312$vj\373f5\266\313\42"
+"\322\276\301V\236\335\255\r\232\267\335\22[\304`\276\332e\366\227\366\16"
+"\r.\224\201Whkq\213\fKr\265\376\225+\5\227I\16EB\b!5\0\60\263Fn\77~\37"
+"\0\256\3109\266\277\1\60\21\'\7\347\374\6pZ\362\30q\36\300\207\b\311\250"
+"\373\0\24H:.\221\231\346\365\31\257\23\230\214\221\204K\1\34\222d\243\334"
+"\362A\223\32\300#\231i\222\r S\326\361G\340H\370|\232\233\232\b\331 \313"
+"\266\22\262J\226m\'\304%\373\277\266\31\364\310\372\235\36\42\321\262,"
+"\31\246[ea\326\253\2564\376yE\206\351\223\31\256\251)\251\217nl\360\1\263"
+"/\16J\240\345\376\340\266\245Nx\263\305\234\2n\13\242\t\343\314\tb\277"
+"\30[\311\336\3=\23c\233Y6\20#4\6\r\7\235\310\24!\326\37\346i!\326\260\253"
+"\363\365\t\261\r\354\303c\277P\256\254=\314]\226\350Nk\23m\3403\342\335"
+"\271;x\337Q.t\77\31\274M(\336\237i\355o\271\365U\3155JJJJJJJJJJJ\377\207"
+"\376\0\212\373\245[\77\235\36\346\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0H\0\0\0\276\b\0\0\0\0\263M\26\237\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\300IDATx\332\355\230\333K\323a\30\307\37\67uK$\244"
+"5d]\24\243\254\4\311\272\210Q^\224\336E0\7\322\215HA\27^I\27v\321\37 \204"
+"\27^\224\25u\323\351\302\42\42+j1\350 \16\33\246\265\324\325\312\255\341"
+"\312\330A\6\363\264\2035\367t\361\233;\376\216{\7\335<\237\233\355\267"
+"\367\375}x\177\207\367y\276\f\200 \b\202 \b\202 \b\202 \b\202 \b\202\370"
+"\337\250e\316\2531\350\265\351\277\42\23\252dH\352\315\247L{U\0\260\352"
+"\235\263\333B\345\256y\367\3655\314#\365\306\242*G\263m \211\305\314\264"
+"+\367\264\272\221\207\364M\255BOW\f\371\231\324+\362\364n\242\20\337\225"
+"\230\316\245Q\30g\235lOG\n\305x \327\263\'\202\342\364\310\363\250\306"
+"%<\30\321\311\22\365\361\234\272\21\366\371\243\271\303a9[D\357i(8^\31"
+"w8\277\6\21\0\324\6cs\313\321#\32\200\215\246E\351\5]\311_Ix\370Du\321"
+"\270\266\375\362\f\16I{\f\211\234\346\265\245\206\177\222\261Wz\313\17"
+"d5O\17\263T\251\352PF3{\222\255\334\235\316l\316\301Z\306\272y\227+=\335"
+"\254\365\267\212\273\262~\346B\336\214\210\210\77\325J\316\341-\233&\0"
+"\0\360n2\213\16\1\0@#0\213\232\270\13l`\26\355\342Z\236\205\371f/r\257"
+"\3214\263h9\363^\233+%\362i\31E\201\255\35{\215Q\344\315v\3023l\242\311"
+"l\21\211\231\230\36\177\256\202\326Y[\245\35\373;\205D\276\334W\335\330"
+"11\207\346\370\305\321\320\274`\250\350\311/\330\t\241\376\2453\17\332"
+"\343\210\210\330\42$:X\330\205\356l/\231q\340\374mw\266\241\177\20^q\260"
+"\320\248\233w\7\64m\227\236/\25\f\367\t\213\356\25\267F\317\205F\0\0}\347"
+"\320\373\222\340\365g\247\260\310\314\23\256\334\243#\363\274\255\373\245"
+"\310\303\250\r\243|\272\345\3655Ib\365\\\7\353\330\307\'J\311\337\6\326"
+"u\356s\4\31\351\22\331\42JX{U!\321\213D\205D\217\2412\242)[ED\313\375m"
+"\311\255\0\303\240\211\334\270\32\315%\241\2625\37o=\214\347G\252\362,"
+"\277\37\335w\25e\2632,\376gO\34\351\222\220\247P\222r\330\254s\274iQ\211"
+"\305\375\356\355\330\212P\354\224\273\222\331\211\t\373\222X~\225v\240"
+"\357\323\364\2243&\25\204EG\243\337\276\270\\\237We%j\336_\327\3\301_\376"
+"\205\37\236\260\202\0k\334Q\362\336\307\243I\372g\205 \b\202 \b\202 \b"
+"\202 \210\34\377\0\331I%\303\257\306.\20\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0,\0\0\0\276\b\0\0\0\0kA\262\225\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\2\265IDATx\332\355\230\77h\23q\24\307\337%Mj\223"
+"\264\305@\324\252d\250\210T\351 \265\320\255Kg\21\24\21\241\350P\20\234"
+"\4Q\24QA\267N\202C\307\272t\266R\227\216*\352\240P)E)\26j\215\255$F[\233"
+"\313\337K\356\353p\311]\22.\361\275p\347 \367\235.\277|x\274\367{\357}"
+"/\204\310\323\277\220\237M\206\257\325\263\343J\33\64t=\251\rX\37\'\364"
+"\305x+4r#\t<\261>\367n\0\331;a;4z\77\r \21\263N\36\1\0Rw\3675\243\307\36"
+"\253\0\2603b\35\215\224a\250\364l\352\220u\34\233z\241\3\0\222\243DT-J"
+"y3V\27l\363\303\372w\265\320\35\35<y\302g\234\274\77\277n}}\t\355\244M"
+"w\327\205\352I\0\277Z\262oO5\24q\23X\213\216\315\25\354\320\2453\215\367"
+"\37IC\35&\242\375\267\327\232\310\322\323\211\346V\335\202~\266Z\350\370"
+"\314W\223\334Y\270\322x\221\n\21\5\277\f<\274g\35\305\207\16\366\355\241"
+"\335\344\247U\335\246C\223\230W\330\363\364j9\302f\217&\16\363G\372\334"
+"\21o\255\35\267\202\20\351\374H\263\375|\3662\370\360\361,\366r\331\320"
+"\n\20\347\3023\340\303\247\301\207\17\244\4\360<\370\360Ece\2078l4e\300"
+"\303\215\307>[\370A\214\337\272A\r\374\310W\273\354\203\330\302\243\265"
+"\207 \3.\233\356\312\200\363$H\203$\360\357\216\42+\f8W{\350c\300\232$"
+"\215\262\4\316\272vu\31\313e\376\16\233>\24`\300\5I\32E\t\254wT`@ru!\247"
+"\233\42j\267h\220r\35\315F\277kkEN[AI\2W$\35T;\232\r\321\3249>\317\346"
+"\252tq\340\332\22\20690$i\354\2725\33\255\6\332\36\326\4\376l\302\212\343"
+"i\220kW\7\301\33\326lwP2H\2544*\22X\355\344\352\374\222\310\21\307s.I\340"
+"\274k\263Q\363\334^Id\237kk\305\202\313\228k\357\220\355\13\3249p\306\376"
+"\207\207\257m\304\242d\2552\222\265\312H\322P%\5\376\224\\\335\17IS\322"
+"\222voJ\6i\213\265\23\325\377M\374\202\2\67*,\330\330\253U\311\302~\344"
+"\301\206\27,\363`\303e\336\361\340\n\21\321\366g\36\254\22\21\275\324\5"
+"\5.2\355+CDX`\302:\21\275\376\306\204\213D4\313\365\313\347\300V\17\327"
+"rA4\235\347F\236\303J\200o\346\271I\215\ro_X\342\277\20\372\310\223\'O"
+"\236<y\362\344\311\323\377\253\77\35FcM\335\260U\31\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0\276\b\0\0\0\0u\210\202&\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\2\314IDATx\332\355\226\273kSq\24\307"
+"O\36\2554i\323\207\24\265C}\340\240\202\24\2U\34:8\270Tq\23D\3609\212:"
+"\tn\16u\20\374\7:h\251\213..\342cpQRP\t\202\317\240\325\4\265b\212\324"
+"\324\220G\223\336$7_\207\233{s\323\336\3379\t\t\210p\277K\222\233O\316"
+"\373\34\342#\'\r\349\324\367\215\30m\273Y\0\20\331\250\4\202\3275\0\0\36"
+"\253\210\211\4L\2159\2\336\253\25\213\300i\343\231\277\201\350\277;i\373"
+"\2449\330\330\32\203]\7\326\23\273~\0\300\302\265sQ\0@\274\346\301S\'v"
+"FF\210\350\326\305U\242\355c[B\332\275\344Z\33\303q\0\230\361\250\353\345"
+"\213\0@\42\300\224\3642\0\340\30C\4\323\0\360\311\353T\253\332\353\370"
+"\0\21\321\340)\257\332\312d\255\26\363\27\326u\317L`_\324|Ry9\367\372K"
+"2\275\36\31J\255\3116\253\33\257\305\375\326\243wp\326\225\372\257.9\23"
+"\37l}\336\360\326\219h\33\6\355\360\203\260=\26\244\376d\262\231\3303\373"
+"\274$_\230\310\367\247\321\371\257\277*\16\245Y\6\0\24\246\303\312\342"
+"\5\0@\237\31a\272\264\t@b\202[\36\32\5n\367\22\217\24\317\222\240\2410"
+"\375c\371\270/\3T\225~\77\333/\21g !{V0\310\23\201\30\60\312#\323\220\220"
+"\243\220\220\315K\42r\37\22r\302\30\356\335L\327\227\fd\257}\355\33\65"
+"\65,\225uG\31\222\225\363~\247\373\322\240q\363M\267\22\261\266\254G\211"
+"\24ItD2\222i\301\212G\211\24\3147!%R\226\35Udd\245#I\347\352\273\246B\254"
+"\35\354R\42\253\262#MF\252-\204\333%\'\35h\247tM4\240\2116\26Z\350Q\177"
+"G\6\223\332Y\222\222\214\350ru\363-\364\250\211N\2675/\326\330\371\325"
+"\2109\274A5\2\331Q\266\23=j\34\30g\244,\336\27\13\361\264\345\210:\222"
+"4\304\353m5\240[n#\343H\227\221|\363I\373d+\275m\305R\222\221bGzd^\217"
+">\331\212\267#\203\311 \25\31Y\261\357\77\37nU\215\344\354\243\345%\356"
+"zh\362`\346\344\301\314\311\216\362r\270\313r\322\277\345\322\245\344\6"
+"$\345\301\\d\2020\376\371\225|b\270\13:\203\30\223\371Y\36\357\217\34b"
+"l\311{\16\61Rz\305!:\21Q:\316!y\42\242\271\252\30\356\23vasD\204\207,R"
+"%\242\347\77YD#\242Y\376\32<\2\26{\370\343\1\242\33E\336\312\35\304\272"
+"\244\23T8Y\26\220\364\3617\322\361\n\221+W\256\\\271r\345\352\177\320_"
+"\376\353\177i\334-\3332\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0=\0\0\0\276\b\0\0\0\0\243-XC\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3\372IDATx\332\355\230YlLQ\30\307\277\231j\7\323e2\332\350:x(\21"
+"*\244\210\245\324\22\221\330IDx\220\332*\242IC<\331bK\37\224X\232h\264"
+"\17\215-\322\20\232\24\17\266\240\332\332\42\244\324\322\241\325\242\272"
+"a\310\214\216i\373\367pg\271\263\237s\304\213\234\377\323\2757\367w\317"
+"\271\347\234\357|\377\357\20IIIIIIIIIII\251\245a~sp\316\34\375\335\302"
+".\241V\342\217v\3\2009I\4^\333\1E\27\370\331\204J\270\364[\317\13O\371"
+"\b\217L\234\360\32\273\n\206\201\17\336\243f\321\310\7\37\6\200\216-\251"
+"\372]\217\272\201\236\34.\270\0\0\32\234\77kH\342\353w.\0X\206\212\255"
+"\304qv\0\330$\270\214\37\3@C\77\61z\n\0`\257`\b\345*\313\253 Z\210^\347"
+"\234\344\266\3\343\373\361G\350\374+\356\313ns\313W\253\245\217~[\211\210"
+"\34\307z\303\267=\24At\210\251\353\257\2\303\237b\231\350M\201\351Ul\303"
+"\26q3\20|O\303\270\257\r\274>\325}\335Y\337\364\245\323\362\335j\257kc"
+"\234\263\201V\245\271\236\253kM\3743>\22\0\340(\26\213\223\311\0P\233!"
+"\270V\263\0\307n\301(!\312B\3534\361T\223U\235\374\27\211\312\250\223\311"
+"ZJJ\352\77\326\200\374\352\326\372\322LA\27\323\4\0\350+\31 \0\257p\333"
+"\325\2528nxQ\217\'\5_\213\340\2043\255\352\f\276\235\17\216~\353\225\377"
+"\355\351\\t\261\217}\270\314\3O\352\365\241\373Fq\370\325\32\77\357R\312"
+"1\336\376\316\347\7{u\363 \200qZ\316a \0\240\355\275\232>\313J\237U\336"
+"\337\34\225\377\323C\2672\30216\0@\263\216(\275\316\203\17g\243W)o\347"
+"\23\21\305\277\340\265\233\347\1\0\35Jd\215r\270\350\203L\260V)`\367;o"
+"\313]t\5\23=B\261\213I^\325\6\200\347D\244\r\37]DDT\351\32cwQ\220\314D"
+"+c{\311\345\271W\273\315\230\226\245\347eJL*F\327P\356\2312\246\35\346"
+"\242\363e\307\231\331\213\217|U\255\266D\26\372J\260\322\306\304\362\337"
+"\266P\263\31\226n\17\361\331\360\264\331\357\t\336\20\21\221\203\271<\360"
+"\322\201\31\0\0\266\252\352\263\17\\\242\321|\4`a\213\222\35\336p\221\206"
+"\350$\0\63c\362{\256b\255\33\211\210\326\3\250e\334\36R\236\271\341J%\r"
+"\314\34593\212\332\374\320\1\364\326\37\35\353|\220\315\\\7+\212LKQ%\336"
+"\5\316\263\f\326Z\313\321\242\276K&\242WLk-X\324\326\13{\220*\240E\30\216"
+"\355\6.\221h\317\227\352\210j\204\333\256\5\60A\24\236\6\240+B\20\326>"
+"\6pN\264\351<\256\4\354\243\f\33\0\253\330\321\23%4\0\300\31\618N\361\21"
+"\263\204`C\25\0\340\245F\4Nuf\377\\\21xf\273\363\224J\340<!r\237\313\350"
+"\346\361\303\231O]\333\2239\222\227\215\77\3411\233\139Y\375\216o\236m"
+"\265\202s\216w\266\253\366\344\256D\36\66\275\350\207\227;^\302\216\352"
+"V\336\3601\327G\230\215\365\304c]\276\31\220\261$\321L(l\364\367\13\17"
+"X\214\265qEYk \263\361\304\30\2164\255<\376\254\'\260S\271\343k\223T\301"
+"\242M\34\66rt\306\230\370\240\337=\235k\367\245c\226\351\242\364\261\306"
+"\204A\251\246\250\320\356gKI\240\315b\333k0\250zD\260\341\235~\312\26\206"
+"m\316\t\265\37\304m\270\333\27\234}\227\327\77\334X\247m\275\37p\250\255"
+"\345\363\202\256\20\257\16\31ggO\314P7c\253\253\271}\353W\210%\345g\260"
+"LC\222\r1Dd\357\374\362\376C/IIIIIII\375\3\375\1\317B\\(\334\23\366\267"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0*\0\0\0\276\b\0"
+"\0\0\0f_\302\322\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\320IDATx\332\355"
+"\230\317k\23Q\20\307\'\315\246\220T[\265\24\5m\301\212\202\202\247\242"
+"\227^\364\340\261\42x\21\304\342Q\373/\210\7A\20\324K\17Z\252h\21\r\42"
+"\202(\352Az)E! Z\220EZl\213\rm\221\306_$i\363\253\311\327\303\272kH\337"
+"\356\373n\232\\d\347\364\330\367a\23073\337\331\335\'\22X`\201\5\26\30"
+"ma\257\315\230TX\77c\35,y\36,zh\25\33392f\2=\34:\2\26=\t\26\335\265B\243"
+"/\300\242g\1\08\250\';W,\364p\365\303\26%z\245\213-So\t\254\327!C\365T"
+"\211\36\265\27\255Z\324i\275\250\26\315\n\35\200\360h\206G\235XCZ\264`"
+"/\332\265h\236\17\0<\232nJ\262V\377\315\f\35\272n/\42Z\264\304\7\260\326"
+"\224c\245\371X\301g \307\7P\344\3212\217\326#\230\216Fz\365\21k\201G\353"
+"\21L\254\221=P\217`\204\27\fQ-[1\206\36\265\25\323\326\310c\251\307\213"
+"\32\5\217\346x\264H\317W\247\13\365S[\335\333\233N\226\17\257e\372m\350"
+"(F\377\216U+f\323\325J\373OVX\217\332\212\331\242G\327\375\13Fx\301HS\4"
+"\263\225/AKS\4\343\243\t}\264v\206OV\205\367\232\347c-\360\202\311\360"
+"\202\311\360\325\312\362=\360\203OV\212\27\314w^0K\274`\226\211\216\267"
+"\376 \212a\372X\13e\2\265\2625\303\310\320\252\301g\6\265\24\363\211A-"
+"\305\274g\320\262\210\310\257/\f\232\25\21\231\254\320\323\345\215\260"
+"^\361R\330X\337-RhAD\306\270\251\367\nX\216rC\23\42\327s\234\3278\314\b"
+";\212\327\316\225H\364\367\231)v\230\267\7wG\377\261\35\277\77\227\274"
+"\267\233\0\217%\0\0\337zu\340\316\'\177\357S\360LC\236J\331$r!/02\214*"
+"\363\272\311\3331QM\376\364 {\246\1\240lN[\350swr\357\2\0\304\273\3058"
+"=:a\316M\36p%\273\346\1\340*\221\315\326\4\0\274\16\21\350M\0(\356#\310"
+"\375%\0x\300|\222\r\32\42\42_\231\16yd%h\374\210\36\275k\'\376\355\305"
+"\356\332\275\232\2533g\372\366\367\337N\232\363\235\316\366\354\245\332"
+"\357\357\1\250\315\334\263!\200\266\214\222|\254\272\210\275\246\0g\6\224"
+"\347\212&j\301\17\203\206\333\355A\252\232K\16\367\271\247\353\204\203"
+"U\22\227\373B\356\311\22\261U7\365\360\351\242g^E\266\211\210\24\342\267"
+">\212\246\4\42!\221\342\310\215%Eh\212\323\215\17\315*O\261\1\315_\270"
+"\3r\372\30\301\0\16,0W\373\3xi\241\353\273,\345i\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0X\0\0\0\276\b\0\0\0\0\224\343\227w\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5\320IDATx\332\355\232{PTU\34\307"
+"\17/]\214\207\230\n\304C\207\2000\223\221\21\37\251e>\32\34TL\23K\263r"
+",\245\32\2331\307fl\322\32\255\374\3\242\231\36\323\244\223c\210\241A1"
+"44\231\2262\246\205\216oh@\7\313\20!\1\223\305e\331]v\331o\177\354\336"
+"\273w\357\336\335{\356\236\3034M\367\373\327\335s\177|8{\357\371=\316\357"
+",!\272t\351\322\245K\227.]\272t\351\322\245K\227\256\377\243\242\213j\316"
+"\355\237\304\35\33\365\266\21\0,y\234\271\5\255p\251\363\36\256\323\375"
+"\2\242\n\308\341\262\317\17~\223\345\371\220\304\0\16\365\376\270\350\264"
+"\204Kz\270=\207\365\16H\225\311\213\273\311\t\300\362Nf\304\372:#\200\275"
+"\274\270EN\0\306\\\367K\214\37\313\213\233\357\0\340\314\343\356\26I\267"
+"\1`\37\1777>\4\0\203\343\271sS\7\1\340W\376\23^\350Za\265\334\247<\337"
+"\275vmeyQ<x!\302\305\304\337\304\261\301\326\266Nc\277\215\300H\b!\244"
+"\362:\323\177\210\260@Y\315\21\214s\377\316\17x\t\353C\231\247\314=\302"
+"\376\270\77Q\342\2323X_\36!\241ek\304k\353\225\3537o\367\230\314\275\267"
+"\32\330\3\2753\325}\321Xq\364\362 \317\245\334\5\086\233\273\363\231\0"
+"\264/\33\202j\2@\325\250\241(S`\33384\365O\373\303CTX\335\247\327\226\377"
+"-\205\360\315\364\331)\206\375F\336s\234P\334\2\0\335E\241\\\261\323\17"
+"\213\241v\17GlB\205\323\23\303\373c\271qW\375\355\225\35\236\342\204\35"
+"\276[\226v\336W\250\350\203P|\365L\371\b\27p\372\341t\371P\77\17\360\204"
+"c\211>cm<\26o\247Bj\317g\347\336\337\246\300\355\213d\346\216iQ\252E\312"
+"\231\271#N+\26O\263\230\3\330\1E\356y\346\t\277\256\\\355\255d.\325\275"
+"w\233Fw\264h\tcM\275\322\2056p(/<\347[\0\300\13\214\334\260\237%%i\251"
+"+\301\2574\3\67\2061\202w\212X\373\36\321\367f\367\341\25F\356l\361\1\327"
+"gK\253\367\353\6\306\246\321\37BP\177\325;\21\3051NX\210\300\27\263\370"
+"\346\315\271\356\245\265\333\300\227kp\205\210\201\r\274\23\375[\0\200"
+"\273\363\271\357\347-\0\320=\205{\365\364%\0tO\346\316\315q\2\60O\347_"
+"\356\325\2p>\311\237;\331\t\340\203!\250O\313\1\\\321\270~g\316P\267I\264"
+"\1X\252\215\373\254\225b{\263\25@\213\266\252\272\300q\231\302\252\t@)"
+"\205\235\'6=p \214\24271q\2!\344O-\340\260\362hR\247n\277\204\20B4u\243"
+"^\3\6(\376\340G\0\370A\3wt\17PO\221\351L\0\340\324\320\42(\1P\242n\226"
+"\341Ns\273F\322N\270\17\300\23\352v\371B\2463\355[4\202\6\274\r\0\22\325"
+"\355^\224\324\22\226\272\35\13\357U\261\37\326\1\340&\305\4\266\310\353"
+"\251\337+\267.L\360\337lZ\234H\b\241)\346|6\0ii\205\204t_jhll\262\372\211"
+"\204\330E\1\336\b\277\2627nO\221\233\307\331\0\340\31\n\3602\4\222\375"
+"\2631\336\346\317\3\0h\32\67\231\b\254\277\36\3632\257\4\0$\320,\2376\25"
+"\262y\236\324\235\214\0\340\240\252k\337U\1\243Sr\3121\25\0@w\3763\346"
+"\216\32\371#\217\361f\0@+\235\217\26:U\300&\203\30\66]g5\224\5s\325K\216"
+"\300\6Q\271\342e\263k\17A\33\257f5\7\236\262\270W\b\37\0\08\250;.\21\353"
+".\5\2o\221\205Bh9\26\314~\363x\237\77\360F\301\371\5`j;=\270\241\341\275"
+"\260\314\2072\306\'%\216\36%\77Y\355\25\300\202\33f\327\23-\32lnv\247\315"
+"\330HCh,\t9\350\356[\\\25,\326\272\277\302\347|\366\251\3\3427xY\b\255"
+"L\334\25\3026\352\27\61\375[\204\320\312R\361>W!D\204\32ql\265\360:K\202"
+"\306\206\27\213\376hO\366\224V\302XO\260\307bi\247<\213\355+\317\360\34"
+"qp{p\323\335d\362p\235S|j\5\0\346q\301t\27\32\244\336qPr\'\3223|R\363\326"
+"=\367\210\227\327\365&KoJ\32\17\237j\253|\37\375^\346\316E^\267\177\222"
+"\334\371\220\236<|\315Yy\230\250\366\266(\225\336\253\212\241\354\344\225"
+"v\371\36V\312\372\273\253\275\356\266<\256NM\336|N!\254u\311\233\234ce"
+"\331\246fZ@\352\2447N+\246\247^\337=\345\5\271\315\251\242\321~Z\257k\313"
+"\332\375\204\341\273\217x7\345\b!d\247\257g8.\2348\323t\315.i%dde\347L"
+"\365\377\13\206;\213\353}\301i\327\224\327\202\375VG\227\325b%11c\223\22"
+"\2/\227\326\374&\245\341\343`\324\251x\77{!F\356\307\376<6\344\f\13\366"
+"N\241\377G\264\200\201{49\320\303\337\27\364t\327\5~\253q7\202\302:\367"
+"\252\376\204f\2329\b\356\t\212>\4Y\356\320\212\275H\371[\255\25\66M\330"
+"\263\313\251#\354\202\333\324\324\301ZM\335\274\224\23t\330\316\342t\255"
+"m\354\r\35\252T\313\327K\203\371\361I\324\266\200hc\325\252\350`\253\232"
+"\210\247\253\225W\236\365\344\2169\364g^\212o6r\356\214\334\34\351\266"
+"\257\373j\323\345\363\27\354Z\346\347\177\311\30\306%\306\205\217\f1\233"
+"{\272Z\373\211.]\272t\351\322\245K\327\277\246\177\0IP\207\3158\16\322"
+"\32\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\42\0\0\0\276"
+"\b\0\0\0\0u\210\202&\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\272IDATx\332"
+"\355\227\77K\303P\24\305O\377B\253\266(\bN\16n\n\216~\rg\21\4g\77\206\243"
+"_\300\261\223\273\240\213\253\340\344 H\21\304I\320\16U)\232\364o\232\\"
+"\207\220X\241\357\236\304d\21\336\231^\350/\357\336\367\316\275\227\24"
+"\260\262\262\262\372\203J\332\217u\4\354\375V\223\21\207\302\220\255\276"
+",\353D\275-\262\256#\247\302\220]a\310Z\227\42\347\302\220}\21\21\221M"
+"3\261\322\r\221m\0(\316E\216W\331\265nx\302v9*\317>\315Ev\242E\325\210"
+"L\243E\315\210\fA\3\201#\237)v)\30\221A\264h\30\21\217\7\232r\244\237\313"
+"\241\235\237^3!q\17V\214\310\210\7\32s$H\221n\205\37\272\236\345\352\22"
+"\30\220\300\306A\n\217\232\271\24&\2624\311\204#>\277]7\205G\t\234\316"
+"T/q\331\225\315HT\274\13fDx\240\257<<\372]0\363\21\217\316\227\30)d\n\204"
+"\\\16-tz\307\6T\271\215J \237#n\362C\227\370.\213\231r\231pd\230\213G\321"
+"\364X\342\273\24s)L\5\231r\244\77\333\377z\272\201\31qfK\253\bmz\214ya"
+":\2740\35\36\310\345\351~\360C\277\361\253{\347\6\274r\33;J\22\341\227"
+"\337\244D\323}\366\25$\254\314G^\336\17\32\22v\311\275\206\204\275v\253"
+"!>\0\364\2364\304\5\200\353\200\246{\2456\254\3@.T$\0p\363\242\42c\0-}"
+"\32\\\212tj\372\360\20\340d\250\357r&\355\n\33A\203\3\217 \275\275;6\274"
+"\32\366\277\260\225\225\225\225\225\325\277\3207\327\373\236\200\273T\0"
+"\27\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0j\0\0\0\276"
+"\b\0\0\0\0\370\345\305r\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\337IDA"
+"Tx\332\355\232Ol\24U\34\307\277\273\223%\1\204\266P0\264\202\324HI@+4B"
+"\21\25\232%4\210\266@ i\252\t\34\3244\220\230\230\350IO\36\210\7\65j4\210"
+"\n\211F\255\341@\242M\324\203r\240\215A\242K\210Ph\bi\5J\334\322\254m-"
+"\273\262\177\272_\17\63\263;\373\257\333\322\367\336\205\337\347\264\363"
+"{\331\337g\336\233\367~3\3632\200 \b\202 \b\202 \b\202 \b\202 \b\202 \b"
+"\202 \b\202 \b\202po\262\253\312\230\352\354_\215\206L\13\222\234\330f"
+"F\365\34\311h\223\21\325\21\222\34\2561`\362\335 I\376\354\323\257\332"
+"H\233\347\365\253\336qT\3st\233\374\327\35\25\367\27\264\255Q\253\332\342"
+"\232x:\277\251s\257Z\325\261\214*\2357\t_\n\253\35\322y\343\31\25_\314"
+"iiK}\240\266S\7\262&~\351mh\212Rq\271\352\361\250.x\3425\267\330\257\326"
+"\264\306cb\302\2\374v\334\372f\tN\252Uuz\17\2\65\31\325\233\315@\267Z\25"
+"s\216\226\272\77\32\222\344\77\226\342\25\334\231\364\214`\320-\213=$\273"
+"\225W\213\266\377\262\252g\235\1\354x\32@H\271\252\273}\262\240V\365\221"
+"d\207\206*x0\323\253-v`7IR\313\215\371[W\365\270}\374#I\262Y\207j\211["
+"\234\226\3\0\26\'\250k\0\201\267lS2\0\370\201\326\0\0`\275\26\325\2614"
+"\0`0\t\370\1\347\211\246M\213\352\306y\0\300E\0~\300\271b\253\203Z\\\366"
+"\32\372\315V\3259\301\303~\35\2520\0\300\271\rO\272\23\362u\r\246\332>"
+"\222\34\266{Q\221Yfq\365C\330\3627I\362\210}47[\250&\266\252\25\255\350"
+"r\22op\2\361\254+\246rq\255\374\350\216\223\366\214\33\32\362\336.\217"
+"\336\247\350\31p\373\311T&\351n7\332\353Uq`\217\2\321\243\207\257yR\376"
+"\352\313y]\360\3203\273\331am~\273\77\'_jC\246m\77\363\371\375\300\334"
+"\273\364<\374\362\211H~\266w\263\315\17\244\13\\\34;\276c\246\317\237\201"
+"\215\257t\r\25f\342\37n\42\37\2003\233\212\375u\342\324/\247/\245\247e"
+"\251|\244\341\261\306\206\342\3476\3224\350Qu\36-\225c<t\356\302\345+\343"
+"%\35U+\352\36ZU\277\272\266\364Y\304\202g\341Q\315\33\\:\345IG\256\335"
+"\f\17G\376\235\30\305x\32\260\26\372+\346WT-\256^v\377\362\371\345\372"
+"\33\335\331\223\33x\225\232\30\331\\pE\377\324c\272\274\252\260\237\353"
+"b:L_\27\255</\244\325\17^{\211\353\367\232b\321\344\347\325%\347\312\241"
+"\224J\323\17S>\24\265\214(\353\321wO\224Y\3\313\272\225\210\42\357\327"
+"O\243\300\264\366\315\326\23\377\276}\232\225\332\35287\233\376\234\350"
+"\250\234I\201\336\364i\344n4c\77\275\321T\346]\260\310\246V`\353\316\355"
+"kg\260\3315\332w>\24\2724Y~\37\255xx\321\223\215\353\327\326\2259\315\360"
+"\365\241\201\253W\373oNw\313n\212\2669\17\256\254\251\255\256^\270\240"
+"\2\225>\0\311\333\210\307\22\321\261\330\330\350hd8|+!\333\340\202 \b\302"
+"=\316\242\336fS\246\20\243\333L\231\310h\213)\23\31\333a\312D\336y\306"
+"\224\211\214\267\2322\221\361]\246Ld|\257)\23\231\330\247K\325[\3606\220"
+"zJ\223*\30\315WuY0\344\372\312\3227/r]_X:g\273\327u\334\257w\rg]\237i\377"
+"\246\301u}b\340\353\t\333\365\261\1\223\355\372\320\210\t\bF\3373d\2\352"
+"!\b\202 \b\2020\25\377\3\325{\31\372\377Q\250\361\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0j\0\0\0\276\b\0\0\0\0\370\345\305r\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\48IDATx\332\355\231[l\24U\30\307\277"
+"\331aI\240\300\266\364\262\241\25\244F \\,\266\221\26P\1k@\203PQ\37\232"
+"j\200\230\212\rM\b\b\304\7}\342\201\220\200\6\r\201T\1/\211Bx \321&\352"
+"\203\372@\345\42J\233\306\332\2451\244\345R\342\266\315\266]\332]h\267"
+"\235\277\17s\331\231\275\366rN_\374~O\235\357d\277\337\23433\337\271\224"
+"\210a\30\206a\30\206a\30\206a\30\206a\30\206a\30\206a\230\364d\307\6rd"
+"\231\336\367/u\6\16\372WH2\1N\327{@O\261$\223\323\265W\3\320[*\311dw\325"
+"j\0\200\340s\222LQ\327\273\232\21\30|A\222\311tUkV \364\222$\223\356z{"
+"\324\26x\264E\222\t\360/\335>\342\b\f\275.\3124\255\301\251\302\311\226"
+"\230\300\27\302z5\353\262#\361W\252\327\347\b|\251\212\33A\317U[\342\263"
+"*\221\303u\332%\362\275\360\374a%\376\\!r\270\352\24\261o\273\347\206\221"
+"\370\224\221\330r\235TD\177\303YM\0\200\23Vb\303\365\251\42\2762\3454\3"
+"8nK\354\365\1\370X\221Qos[p\314\21\360\372p4\345/^\315\232\260k\177L\300"
+"\273\77\365\17\256\337.\231\242I{v\4\3/N\215j\13\200P\331\224\250N\1@W"
+"\376\24\230\224{\0\200\237\25\371\252R\343\33\177S\276\352\230\241j\237"
+".\333\344\272k\26\311\35qm\313\304\252\326Y\365\370RlS\315\33bUg,\225\26"
+"\363\22\276\343\27;\2443\203\321\t\255\332\321R1\362\211\330N\355\264\315"
+"\235_\333\33\312B\20\\\256\354\353\221\26[<\277\33mbM\313\354k\217a\225"
+"\310X\24\250\337\346\322E\261\252\32\373\205;\337R}\270\201\250^\254\n"
+"\216\253<\363\217\242\b\320\253\n\376\202k\42\266\21,7\313b\3\200z\341"
+"\325\242\342aT\365\2121\200U\317\23Q\243pU}\345h\\\255j\5\200*\tUp\267"
+"\325\253uz`\33\0@\312\304|\336T=\243_\377\b\0\330 e\215e\26\247\371\372"
+"\1\3010d\r \321!\335\24q\23\271\210\266\272\211\210H\312N\235\316hDD\324"
+"\21!r\21\31+\232\n)\252{\315DD\3647\21\271\210\214\'\266\244\\\212K\377"
+"\206~\327U\205F\360\260K\206\312ODD\3064l\355\237\17J0\25\264\2@\227\336"
+"\13Ot\357,~\b7\375\253o\311\364\253\31\321B5\260^\254h\3019#\361*#0\24"
+"u\205E~\\\13O<2\322^3C\235\366\351\262n\226\2405\340\306\213\321\223\215"
+"mf\3647\307\261@\373k\2DO\35\276cKyEql\27l4L\356\355P\327\36is\344\33Y"
+"e\265\355@,\177\356\2341A\317\223\273.\4b\263}\24m~L\213s\241\377\354\313"
+"\343]\177\272K\367\234\353\214\317\204\33f\42\205\210\256\255N\364\323"
+"\201_\177\271\344\323\306d\311\\Q\264\262\244(\361\275\365\224u\330T5u"
+"\311r\4\33\233Zn\376\23L~\224\261\240\360\211E\213\227\24$\277\213p\371"
+"u\262\251fv\344\245\274\351\300\235\373\376\256\300\203\201>\njD\352\34"
+"\227\'\303\223\225\2353\317;\77#]\177C\233\33\234\201}\220D\317\332\270"
+"\'\372\227\34\323\315E\361\375|:,\303\364M\302\312\363\226&~\360*\223<"
+"\277\3\202E\243\247\223\377\267\244vD\244\351\207\224\213\242M=\302z\364"
+"\335\2324\337\300\274z!\242\300\361\305c(0[[\'\353\31\372\276r\214\225"
+"Z\255j\232L\177.Te\216\247@\257\376,0\21M\377O\37\224\245\331\13&8\324"
+"r\257\337\274q\3718\16\273\372Z\233\33\33}\243\351\317\321\22\207\347>"
+"[R\274\2740\315m\372\357v\266\337\272\325v\177\254Gv)\332\246\77\2760\277"
+" 7{\316l\17e*D\24\31\244\241\360p\250\77\334\337\327\27\350\362w\17\23"
+"\3030\f\3030\f\3030\f\3030\f\3030\f\303\374\277\371\17\260=}\246`\0\37"
+"\375\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0j\0\0\0\276"
+"\b\0\0\0\0\370\345\305r\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\225IDA"
+"Tx\332\355\232mlSU\30\307\237\266v\342\220\2758*\241\223\311\210\2608t"
+"\302\4\206\20\31\231\31\61(\23c\3422\215#\6H\343\214F\324\230\240&j\32"
+"\342\7M41A\f\250\321\bJ\24\243M\304E\345\3\63\6\211\26\21\330\13\202\233"
+"\214!\355\226\272\316\332\352\326\256\177\77\334\227\336\333\256k\267\235"
+"s\77\350\363\373v\237\223\236_\317\271\367>\347\234\247%b\30\206a\30\206"
+"a\30\206a\30\206a\230\377<+lV\231\356O\274i\263\312\4\354\265[e\2\336q"
+"Xe\2\336wXe\2\366;\2542\1\37]a\225\t\370\330i\225\t\370\264 \357\217N\365"
+"\211\215\'\315\327\211q\253\206\365\211\324\233\325\232\230\326\364M\213"
+"\255I\315\344+\220\375b=\252\272\16\27\310O\27;\0\0\355WZ\221\4w\2\370"
+"\352*kR\373\2138Rh\325\202\265]\266\311\261cVZ\244\255L\222\351]\264\233"
+"]^\374|\255$\23\314./\200n\267$\223\311\345\5\0\234\253\220d2\270\274j"
+"\240\257R\222Iwy\365@\377\22I&\325\3455\4~\277Q\222\th\237e2\1\301\32a"
+"\252\347\315k/\332_H\13\4\213D\251J\375\346\236w6FM\327\211\207\304\315"
+"`\331O\306\236\237!\252\217H2\21\271N\245z~\222\210hmX\222\211\310uF\355"
+"8\371\270\22\2705$\311D4\257K1\265i\201e\203\222LD\363\317\2HzR\201\352"
+"\313\222LD\345\3470\276\315\30\250\32\220d\42\272\356\354\303\346\300\242"
+"_%\231\210\322WF\262h\203\221\7\367\224Z\246:\376[\255E\2469qD\356\260"
+"Fu7\200h\235%\252\335\0\20t[`\262]\4\0|mA\211c\225\232$\37\220\257zEU\365"
+"J\77\262\330\373\265U\2465\243\255Z\254j\235\276\240\35Mo\362\334\'V\265"
+"OW%\323\36\302m\1\261SZ8\222Z\267\267\232Z\232\22\257\213\35\324\26\303"
+"\346\343=cC]\24\202\323U\207Au\332\20w\17\242G\254\251\332\270\305\32s"
+"\350\325\30\307~\27\35\22\253\362\30/\234n]\365\334z\42\237X\25LW\372\201"
+"\257&\16\374!\272\270\347\211\33f\260AK\213\35\0|\302\263E\323\337)\325"
+"]\352\4\266\334ND~\341*_sFY\315\336\t\0-\22\262\340#\372\250\326)\201\315"
+"\0\0)\13\363\207\232j\205r}\30\0\260^\206\312\245%\247\5\312yf\f\262&\220"
+"\350%\305\24w\22\331\2116)\245\336\345RT\373\224\2l_\234\310N\244\356h"
+"\232\244\250.\236$\42\2423Dd\'R\357XU\203\24\227\362\16}\257\250\264\2"
+"\307.)\277\247\4\210\210H]\206\307\265\7\362i\31\347\244N\0\b*\243(\326"
+"_\263Q\361S\270\3412\0`\267zlI%\252H\275XQ\305\1\265\343\225j`4\345\212"
+"\211|\271\26\276\361\217\332\3551-4`\\.\367\\-h\17\330x(U\372\337\254E"
+"\2775\325Uz\357\25 \272y\327\5C\227\337\331L\307\5\3\35\63{:\34k^\3561"
+"\27\205V\352m\255H\347\207-\323=\342\336\260\375`(\275\267W\r\307\366d"
+"\206\13\341\267\357\234\352\376\323\271\352\261\3\3\231=\341G\255#\33\21"
+"\35[=\321G#G\2769\332\225\314\313RrS\315-\2655\23\177\267\241\272>\203"
+"\312\263\'[\37#\376\23\247\273\177\31\311^\273\253\250\\\264xIUy\366o\21"
+"k8N\6Ua\337\344\265\362\320\205K\201`\350\317\3100\215$\211\34E\366\342"
+"\331\305\245es\347\317[0;\327x\243\33;\314\201\' \211\2415\31w\364\224"
+"\34S\367\342\314q.\213\3110}0a\346y0)~\362\232\263\334\277\247\4\213\306"
+"\367\316\315\372\254\264%D\232\276\230tS\264aH\330\210>\273-W\275\324\'"
+"D\24z-\237_H6u\316\3243\372ys\236\231\332\321rb&\3439\330R2\225\4\275\372"
+"\255\320t4\341/\237\255\313q\26\234\240\250\345\254\337\330\270t\n\305"
+"\256\341\316\223~\177W\356\177(d\351\362\232\265\265\313\227V\346\370\232"
+"\201\376\201\336\363\347{.\345[\262\233\244\255\340\372\205\356rWY\321"
+"\234b*\261\21Q\374/\32\215\215E\303\261\360\360p(\30\30\34#\206a\30\206"
+"a\30\206a\30\206a\30\206a\30\206\371\177\363/\343\251\377Ymj\371\332\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0T\0\0\0\276\b\0\0"
+"\0\0\216\337w\371\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5\tIDATx\332\355"
+"\232\177lSU\24\307\317\332\215\271\237\335\30S@\235\20@\302\24\225\5\67"
+"\3240\343\342\34\30\66\202\303`\264\206\4$f*!1\32\300(\361GT\2\63Ac\214"
+"!\202@\6N\310LT\324`\266\21\tKt\312P\fl\312\\\306\224\214\255+m\267\265"
+"[\267\265_\377x\355\326\276\366\276\275\367z\374\303\344~\377\330{\273"
+"\367\364\323\363\372\356;\367\334s\37\221\224\224\224\224\224\224\224\224"
+"\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\324"
+"\377LI\361[\13\227\337Y\220\237=x\372\207\266a\36hR\351\306\325\263\303"
+"\377\4\376\274\324\321\331\335\335\353O\b:\343\351\355\213\342\3309\372"
+"\6\372\235n\267\333\343\365y\374\276\321\221\300\240\1\350\243\357/\324"
+"\355\220\213\210\310\357#\42r\256\b\n\315lGaN\37\210\277\272\250\313$\23"
+"EB\346:\237Y\346oB\346\23\23f\231\330&bV\214\233f\216\344\t\230s\235\246"
+"\231\250\239\372\271y&\356\27\60\357\n\232g\266\251a\226\320\261&\311|"
+"\374\330#h\267\364\231w\264\335\252\246%+\207%7*\307\353\r-\355\327-\267"
+"\25\257)\321\357\371\316\200\240c#\0\340\312\246\324p\303\222\3zG\330\227"
+"\302o{\7@\360\303\264\310\246\302\323\272\230=\371B\350!`d\275:\200\355"
+"\322\301\354\324\bj\337\301[\252n\313i\233\269\274\317\26\217\26\272Q\231"
+"c\225g\324a\360\3242\201\7n\337(\221\313\327\367\327O\215C\244\1\315x\266"
+"Y\325\221\371mq\214q\317\271\13\355]=\3\1\235\303\342\205\230Y\245Iu\245"
+"\316\243\366\202\4\'Y\353\361\350\337\356\320\252\344\304g\356\217\42\221"
+"\227\237\263qd\3;#\243\372c\26\226\f\343\251\251\220ue\3\17\222J\374\223"
+"!}W\32S&4\277\77\314lY\314\225]\245\237\17!\307_\265\262\245l\207C\314"
+"\336R\2764\360\371\20\363\227\233\371\230\313B7\351\253\f>fF{h\322M\346"
+"c\322~\205y\320\302\310\254T\230\365VF\246\355o\0@\323\fb\277\370K6N\346"
+"\312 \0\270\27s2\255\312\243T\315\272\372\251\1\0\354ge\332\6\0\240+\223"
+"\25\372:\0\340\21V\346L\17\0\34\347]O\276\13\0\276\2Vf\246\13\0\366\360"
+":\272\25\0\6\363X\231\226\313\0\260\227\327\321\n\0\30\273\205\27\372\31"
+"\0\234\340e\346\216\0@9/t3\0\\e\213\314\nh-\21\321\211 \357 \365\1\300"
+"C\2326\17\337m\20Z\5\0\356\24-\2232\257\303 u\237\366\322\205\210\36\364"
+"\2\6\251\347\1\340e\2559a\30\60H\315\t\0\300J\261\301\3C\312,k\204Z\6\0"
+"\301la\377}\236p\32h\200\372\42\0t\13\273\213\335Si\265~\352a\0h\26\365"
+".wG\346\377\272\251\255\0p@TVrE/}\364R\7\0\340\355\370}\367\304\224VtP"
+"-DYyDDN\301M\312U\267\344\255\320\343\350R\0@\215(\33P\25W\2[\364\217("
+"\330\205\21,\252\6\66a\327\367\223\256\7\0<)\354\267GP\375\325:C\337L\42"
+"\42\22\207\223:\373D\370t\264\272\301\20\64]lS\277aL9\361U\2364\20\244"
+"\211H+)\375\242\332OD4X\321\250;\362++\305YZV\'\327\372\210\\\345g\365"
+"O\'J2>W\323\354T\225\317Q\326\252\367\271\237\\\332L\223E5U8\333\3110\264"
+"p\32\303\263\372C)Y\210\224\342z\356\255\214I\24Qh\274\224\260B\275\312"
+"Y)+\324\245\234\255\372/\240\213\226rB\35\341r\fg\322sS(\2\365q.I-\341"
+"\342\316fNW;B\320\256\24\306T\2623\\;\332\306\350\351\356p\\\37\232\307"
+"\347\351\357\223y\352\21\276\222\304\302\2519\350=\276\353\357\237\242"
+"\326\260A\353#\246\365M\\\320g\42&\366\340KL\320\374\250|\341\323t\36j"
+"cTfs\261\210\5j\217\316\227\306k9\212\36i\16u\276\270\365\206\304\251o"
+"\305\354`\364\356\230\225p\5\305\35\27312Z\267:\301\7\354\225\270\33.\216"
+"\203\353\314\324\350\302\33d\251\27n\217o\20\370\271\245\345\\\2179(\225"
+"6k\\\253\363\327\77.vuw\217\32\205\322\233\257Mk\354\274vm\300\351\361"
+"\f\371\7\311\23\261\216\317LQ\376d%g\244\346d\345\316\371d\252\313\372"
+"5\230\264#\302\217\354\37Y\220\301o\356\210\252\244\264&\216\2348\246^"
+"fe}\237 r\344\343\5\261w\302\2727\201-ixv\317\216\177\203\313\3771\213"
+"\354\335.^\334g\327\232zy\240cK\252\346h\\p\304\360{\16g\252\246\257i\315"
+"\2535\362Z\302\330\261{\365=h\251\2177x\365!\257\2761\'\346\323\377\2\347"
+"\212\31\242\270\n\203\270\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0T\0\0\0\276\b\0\0\0\0\216\337w\371\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\4pIDATx\332\355\232mlSU\30\307\237\265\33u\254[\367\342\24P\347"
+"\20\220l\276 \213\2021\241F\22\4\214`\20\215&bH@c\246\22\276\230\0F\211"
+"/\211\22\230\211\32c\fQD\2\210\20>\250Q\202\341%\20\226\370\306T\fl\312"
+"\254\243J\366\322\225\265\35k\327\215\366\357\207{K_\357\326\335\373\357"
+"\7\223\363\377\260{w\356\351\257\317\323{\356s\236\363\234+\242\244\244"
+"\244\244\244\244\244\244\244\244\244\244\244\244\244\244\244\244\244\244"
+"\244\244\244\244\244\364\77SQ\356\326\306\273o\257\253\255\b\35\77\321"
+"v\231\3-r\257^:%\361O\354\317s\35\235]]\335QK\320IOo\230\225\243\237\257"
+"\267\277\317\37\b\4\202C\341`4<\34\211\205&\0}\350\275\231y\33\64 \42\22"
+"\r\213\210\370\357\215\33vs\355\2019\275o\374\325M\36\223L4\31\62W\204"
+"\3152\1773d>y\305,\23\353\215\230\213GM3#5\6\314i~\323L\35462\364\13\363"
+"L\334g\300\2743n\236\331\226\t\263\351\307\346\42\363\361c\253A\273\255"
+"\327\274\241\355\366LZ\261vh\270N;^:\330\332~\311v\363\274\207\347\347"
+"o\371\246\230\301\205\325\0\200\13k\34\211\206\206O\362\35a_\32~\333[\0"
+"\342\37\224\24665\36\317\213\351\2555\204\356\4\42\217e\6\260\315y0;\307"
+"\bj\2070\344\316l\253l\33\27y\371]W.\232~\243\234#\313Nf\206\301\303s\r"
+",\b\204\207E\6\302\275\177\375pdP\306\200\226=w,\343\202\363\333yY\235"
+"\275\247\317\264{\274\375\261<\207\305\213Y\263\312\321\fO\375{V\325Y\234"
+"d\355\373\323\177\273\235K\212\255\317\334\37\246\42\317\77\357bd\3\233"
+"R\243\372\2436J\206\361T2d]x\202\203\224\371\321\253!}s))\23\232\336\227"
+"`\266\316feW\223\177\321\221\243\257\330i)\333g:\263\333\315K\3_\320\231"
+"\77\337\300c\316\325o\322We<fY\273>\351\26\363\230\262]c\356\260\21\231"
+"\3134\346>;\221\351\372\7\0pt\222\320\235\77\347b2\27\304\1 0\233\311\264"
+"k\217\322J\352\352\247\31\0\260\235\312t\365\3\200\307I\205\276\6\0x\220"
+"\312\254\16\2\300~\356z\362m\0\b\327Q\231\316\1\0\330\3125t\35\0\204j\250"
+"L\333y\0\330\3065t1\0\214\334\310\205~\16\0\7\270\314\252\b\0,\342B\327"
+"\2\300EZd\326@\217\210\210\34\210s\7i\30\0\36\340z\277\34\0\2%Bu\177\241"
+"\210\310\211Q.\364~\21\221S\\\357+c\0\260\200\13]\b\0\361\n\241\272\177"
+"\227\210\2107\304\205\316\21\21\361\b\27\332 \42\3627\31z\213\210H\17\27"
+"Z^#\42\342\347B\353ED$\302\205j\13\366A.\264ZDD\342\205\200\226\24\2:\231"
+"<\244\264T\212\13\325V\212\327r\241Z2>\255\20\356\327\25\2\332\310\205"
+"j1\257\352&*tD_\345S\241C\332\231\233\n\35\320\316\226\24\2:\353\16&\324"
+"\227(\3070\'\323\353\365\262A/sIjK\24w\3262M\355\320\241\236\22\342\23"
+"\325\251\237O_O\264tK\242\16\65X\317\263\364\367\253y\352.^Ibf\262Z\370"
+"\16\317\377\276$\265\231\6\335\227\204\306\326\260\240\317\244\224K\343"
+"/\221\240\265i{f\237\222&\326#i\25\350\263M\24\350\252\364J\371h\13\243"
+"\350Q\352\313(\300\373\326]c\235\372f\326\16F\367F\313\231@u {cdx\367R"
+"\213\17\330\31397\\|;V\230I\207\22\33d\2163\267\346\356\20\373\251\265"
+"\365\264\327\34T\334\307\306\360\325\377\353\37g=]]\303\23\205\312\33\257"
+"\216\333\331\337\323\323\357\17\6\7\243!\t\246$\311\316\22\355Oyq\231\243"
+"\262\274j\352\307\311K\366\257A\322\306\24;*\276\247 \343\337\334\226V"
+"I\371\321:\362\312\3369\31\277Y\371w\26\221\221\217fd\337\t\3736\13[\322"
+"\bn\231\222\373\6/\372\327,\262{\203\361\342\276\242\305\324\313\3\35\317"
+":\306\34\2153vM\370=\207\223\313\307\257i\325\267L\344\265\204\221\275"
+"\367\344\367\2409\36\778\224\37\362\342\353S\263>\375\37\257\246S\301\227"
+"#\301a\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0T\0\0\0\276"
+"\b\0\0\0\0\216\337w\371\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\344IDA"
+"Tx\332\355\232kl\24U\24\307Ow[\326\322\307\366a\225\242\226\362\222\264"
+"\212H\253`L\250\221\4\1#\30T\202\t\20\42\365\221\212\210\37L\0\243\304"
+"G\242\4j\242\306\30C\24\220\0\42\204\17`\324hx\4b\23T\250\212\201V\251"
+"KYi\372\\v\267\245\273\335vw\376~\230]\272\257\331ng\376\215\211\231\377"
+"\207\335\331;\263\2779w\346\336s\317=\367\212\2302e\312\224)S\246L\231"
+"2e\312\224)S\377\255\254\251N\276\\\332L\277\341+J\340I>\23\30\\\316g\2"
+"\301\25|&\20\\\311g\2\301\325|&\20|\206\317\4B\265|&\240<o\234\271.\216"
+"\t(\317\216\n`IRv\306\33_\322s\326\270\251\325\356XC\273f2\36j,\265\243"
+"\222\363\372\243\251\355\25\254\206:Lm\233\301\353R\21\352\325;\231\235"
+"_\245:\247r\335T\265\33h\235\302v\250\325\356\313\345\374\261\246j\222"
+"9\336\2322e\312\324\377N\31\311K+\357\273\273\254$\277\367\344\251\306"
+"\353\34hF\315\232\305\23\42\77B\177]lnimm\17\30\202\216[\275qz\222\353"
+"\272;{\272\\\36\217\307\333\357\363\6|\3\376P\357(\240\217~8-m\203\334"
+"\42\42\1\237\210\210\353\1E\3632\373>\350\323G)\206d\207N&\2524\231\313"
+"|z\231\277k2\237\16\352eb\203\26s\341\220n\246\277X\2039\321\245\233\211"
+"\275Z\206~\245\237\211\7\65\230\367(\372\231\215ZS\236\272\f\375\376c\233"
+"\326t\252S\277\241M\t\331\215L\365\253\342\26\365\373\332\341\206\246k"
+"\226Is\36\233\233\276\345\233C\32\'\326\0\0\256\254\265E\n*>O\267\205\35"
+"\321\274\333\273\0\224\217\263\243\213*O\246\305t\226hBw\3\376\247\342"
+"\35\330\2264\230-)\234\332w\350\257\211/+h\34\21y\375\3{2Z\370E\345\16"
+".9\35\357\6\277\237\255a\201\3077 \342\366u\376\375\323\261>I\1\315y\341"
+"D\334\211\334o\347$\\\354<w\276\311\341\354\t\245\331,^J\30U\216\307\325"
+"\324\265oU\231\321l\335\301\330g\267{Q\246\361\221\373\223h\344\245\27"
+"\355\214h`s\264W\177\302B\2110V\16\273\254++8H\231\33\270\341\322\267d"
+"\223\42\241\311]\21f\3-)1\376\3270r\350u+-d\373\42\222\217\251\341\205"
+"\201\353\302\314\263\267\361\230\263\303/\351h\16\217\231\323\24\36t3y"
+"L\331\2412wZ\210\314%*\363\200\225\310\264\377\3\08>N\350\225\277hg2\347"
+")\0\340\231\301dZ\325\256\304]\204\250\3\0\354\2402\355=\0\340\310\245"
+"B\337\4\0<Be\26y\1\340 w>\371\36\0\370\312\250\314\\7\0l\343\32\272\36"
+"\0z\213\251L\313%\0\330\3165t!\0\f\336\316\205~\t\0\207\270\314B\77\0,"
+"\340Bk\1\240\215\346\231U\320\343\42\42\207\24n#\365\1\300\303\334\332"
+"/\5\0O\226P\253\77_D\344\324\20\27\372\220\210\310\217\334\332\27\204\0"
+"`\36\27:\37\0\224|\241V\377^\21\21g/\27:KD\304!\\h\205\210\310e2t\212\210"
+"H\7\27\232W,\42\342\342B\313ED\304\317\205\252\23\366>.\264HDD\224\261"
+"\200f\215\5t<\271I\251\241\24\27\252\316\24o\346B\325`|\342XT\277l,\240"
+"\225\\\250\352\363\n\357\240B\7\303\263|*\264_=\252\241B\335\352\321\242"
+"\261\200N\237\311\204vG\3221\314\301\364\326p\332\240\2239%\265D\222;\265"
+"LS\233\303PG\26\261G\265\204\217\'o Z\2725\222\207\352+\347Y\372\307\215"
+"8u\17/%1m8[\370>\257\376]\303\324:\32\364@\324&\266\265\324\311Id\273\331"
+"\253$hI\314\232\331.\322\300z,&\3}\241\212\2]\25\233)\37\252g$=\262\273"
+"\343\22\360\335\353o2N}\'a\5\243}\223\341H\240\310\223\27002\260w\261\301"
+"\16\366Z\322\5\227\356\235\313\364\204C\221\5\62\333y\215]q\241_\32\32"
+"\3169\365A\245\346D\212\272\272~\373\363\202\243\265u`\264Py\373\215\21"
+"/vut\364\270\274\336\276@\257x\243\202\344\334,\365#/3\307V\220WX\372\331"
+"\360)\353\327 iS\224\35\371g(H\345\233\273b2)\77\33G\6\367\317\212{fy\77"
+"\30D\372\77M\262\13\322\272\335\300\2224\274[\'$\177\301\13\256\352E\266"
+"o\324\236\334\347\327\353\332<\320\374\234-ek\234\272g\324\373\34N/\35"
+"9\247U^\77\232m\t\203\373\357O\257\243\331\226\37\356O\17\331\366Vi\302"
+"\277\377\5u\77\2\324=\377_8\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0;\0\0\0\276\b\0\0\0\0\2563(\4\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2hIDATx\332\355\227MHTQ\24\307\317\313\321\2611\235/[L\211e\6"
+"RLX\270h\21\4}\254*\260E\256\2[\266ia\240\24\342BW\205\21\256\244UP\213"
+"\42(L\242\240\240E\233\42!+\6sD\202\30\27QI3\213\31\33\35\247\371\267x"
+"3\315\207\357\276\367\356\21\242\305\371m\36\314}\2779\357\236w\357=\347"
+"\21\t\202 \b\202 \b\202 \b\202 \b\377\33\321\223[\330\356\30\22\243\333"
+"\231\356\23\0\231\211\b\313]\0\0\244\7\33\30n\26&\361\36mu\33J\344\256"
+"\350&m\'\312L5\351\271\273+\\\274\323K\331\201J\27\13\21\276\213\270\216"
+"\334Y\355\342\255\317\275\333^\343\342\241\301w1\264\tw\355\20\337\305"
+"\274\2674\350\260X\362\33\177\332w\331e\\\377\306\270H\267\363]\334\336"
+"\204\273\336\341j\276\226x\256\272\272\255%i\25\370W\320]\220\372\316\336"
+"\361X\255<\240\361\224]\327\227\253\3349\2559\372\6\252\354\375z\31j\276"
+"\271^vGt\363\333\363\251|\204h\277\34\337\335\222\233\367\353\277\332\241"
+"BQ>\315X\27\375y\323\275\306)\24\27\314\310OYUf\30\0\220`\271\306\24\0"
+"\24\232Yr\350kqu0\366Qr\220\210h\7\257&\33\263\0\372y\373\27\67\210\310"
+"\317si:C\324\304tW_\21y\231.}$j\344\272\337\211\262\\\367(Q\216\347n\235"
+"\354#J*N\210\373\335v\355\313\245%\08e=\272\27\205g\'\352\254\317\372s"
+"\367\322\346&T\374\375a\0\3706y\254\272\257\251\217\236\237\230\311\377"
+"\255\r^\42\2532\336;m^\177\307g\227R\251\25#\320\22\212\264\355\352\360"
+"T\336\23\353&\362X\270\341\342\265.\32U\316\372\215\242\36\265\272\310"
+"\365\13\205\353\242\347]y\251p\303\316\356\243\214\302uQ\345n\251\352o"
+"\300Q}>\243r=Nj~XY\367\323N\356\370\7\345\320\35\330\363\272A\335o,\332"
+"G\375|6\247\36<b\33u\336\366t5\346l\324\307!\373\247:\276\2462\227/:\366"
+"\300g,[#\374\30\13\270X\352\301\221X\241F\374\371\240\257\261fnJ=|pO[k"
+"\320\23\60h5\233J|y\277\b\371\262\26\4A\20\4A\20\4\341_\360\7\241\326r"
+"\245\304\214\342\221\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0;\0\0\0\276\b\0\0\0\0\2563(\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2\344IDATx\332\355\230MHTQ\24\307\317\313\361#-\235Q[X\242\231A\24S"
+"*CD_BfX\31Y\240\213\bl\25-j\241\240\24\342\42W\205\21\256\244UP\213\42"
+"(L\242\240\240E\233\42!+\6S\221 F(Lm\224\346\313\371\320\177\13\35\235"
+"y\276\373\346\335#\264\361\3766\17\346\276\337\234\373\356\273\367\236"
+"s\37\221B\241P(\24\n\305zf3_\255\233\256f\253A\370\217\260U\340\357!\266"
+"\n\314\36d\253\300\354~\266\n\314\272\330*\340\255b\253\300t%[\5&\367Y"
+"UK\365*\3603\333\252\334\272\240S\303\347\255w\372j\262\34n\220\31\254"
+"\313\363\211j\275\334Kj\216-\253\241S\262\223\343B\\\16\326\311O\312\306"
+"0\0 P\313Y\fg\303\0\2\65\274Ex2\4\77{\361\237\2308\312\337t\262I\241P\254"
+"/\234\265\33\330n\27<7\2670\335\27\0\374=E,w\24\0\340k\313`\270\241\245"
+"\2540\342\222V7-g\243\310u\331A\333\226\220\6\373r\344\334\355\211\351"
+"\367\223\334\220\355M\312\335\243E|\27#2r\271\256\340\370(\221]J\364\205"
+"\316S\215\357\242}\rn\270\212\357b83\336\230b\262\304V\377\264\273\325"
+"b\334\274\325q\341+\341\273\270\277\6\67Zf\351y\r\261\335\260t[\256\327"
+"(p\320a-HzyC\267[/\267H\364r\327\355\251$wH\256\302jI\262\367H\236\'\357"
+"FW\334N\331\361u}[\331B\344K\303\207q7\226\'\377j\333\343\7\210z\306\274"
+"\210\237\1nq\22\305\245\305\310/YY\246\3\0\340a\271Z\37\0,\360>\1\344\377"
+"Z\232\35\214u\344m#\42\332\312\313\311\332 \200f\336\372\305\35\42\312"
+"\343\271\324\357\'\312a\272s\357\2102\231.}%\312\342\272\277\211B\\\267"
+"\232(\302s7\3666\21y\5;\304\343\n\263\362\345\3328\0\2346n\335\211\205"
+"W\307\323\214\367\372\306G\276\305E(\370\373\3\0\60\321{,\271\256Iw^\354"
+"\31X>\301G3\211\214\322xC\377\342u~dp|f&\240\331s\363\213\212K\313l\211"
+"\367\270+\210l\6n\301\3225\315\351\24>\365\7A>*\2640\326o\4\256\205\232"
+"7\360V\340\26\244v\237\371\5\256\205,wO\224\177\355)\325\327\3\42\327\226"
+"J\215u\b\363\276/\225\333\375E\330\364\0\346\274\317\20\327\33c\346Q\277"
+"\237\213\210\33\17\233F\35\66\335]\265!\23\365y\276y\257j\302\42s\352J"
+"\312\32\370\214ai\204\311.\273\205\251\356\350t\353\277\21\376y\322\224"
+"\245{6\241^P\271\243\270\320a\263k4\27\232\361\374\370<\6u\262V(\24\n\205"
+"B\241P(\24\377\203\177\363G/\322E]\221y\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0\276\b\0\0\0\0A\361C:\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2wIDATx\332\355\230=hSQ\24\307Ob\277S\255\304\206b\24"
+"\354\20\264\226\b\212P\241T\305\242\16:\24\321!\322E\245E\21\321A(\21\374"
+"\204:\330\315A\13\nn\272\251\b*(\210C!\266\250XhU$VR,\21\255\37\265q0\266"
+"y\177\207\344\275\274\244\371x\347L\35\316oy\334\341\307\271\367\276s\317"
+"\271\357\21)\212\242(\212\242(\212\242(\212\242(\212\242(\312bd\371Y\261"
+"\332\2053R\365*pR\250\216\1F\267\310l2\0$;%j\b\0\60\23\20\2507\0\0\30\253"
+"\343\253\23i\25\67\331f3L\366r\325#\226\32\253!\42\42\267c5\273\265kN1"
+"\243\306\255\250\230\366\260\314V\330\350aMx\233}p\210\25\325\27\265EM"
+"5\261\334\300O\233\33b\355\360\307\3\377\262\2036\346\36w\33V\324\'\334"
+"\254\270h\251Q\256\352\272m\252\tv\36\327\215\230\256\213\355\256\376\222"
+"Q\33\370\'\257cN\254R8\255z\4\252{\b\0 \252n\33R\0fe5\365\1\200\30+\21"
+"-\36\23\321W\231:EDq\231ZOD\23\62u\205\\\r\20\321;\331\16\17\1\360\212"
+"\314e\311\314\231\343O\270\253\212\350\245l\276\21\0\307Df\7\0\264HLW\4"
+"\300\244(\350Q\0\270.1\327&\0`\227\300\\\372\26\0~T\362\315\252g\0\200"
+"A\201y7]\\\332\331\246\347Q\346\36\3026\375\2572u\364\4\327\334jV\340_"
+"\365<\261\342\374\234Y\367/\363\314\326a\253Q%\329bm\1772\333\224\3739"
+"Y{p\322\326\316\2773:\306\316\21\373\325\5\307\35\213\273\237\347\210\30"
+"\255p\346-\t\275\311\25\61\357\354\16\341\353\373\204|\2568\331\233\355"
+"w\376.\20\61Z]V\3348\20C\1f\327\2259\36\235\3\357Q\20c_\t\255\272\375\364"
+"\375\337(F8\177Q\351G\215\77\20\\\37\334Tj-\203\371\257\324\265\271\317"
+"[\331\270\262|#\270\325k,l\360/\340\200k\5\333\204\273\'^NL\205\2136\333"
+"\13\211\222\346\364\236\22+\361\236\373V\334|\350/s\375\353\215\24\26\243"
+"\373\35d_\313\245\327F\2768~\270\252h\262\346\16W\355\330\322\26\64\77"
+"\332R\343O\357\r\227\310\363B_\233\315\276\332\206\371\231\317\37\376\350"
+"O\6EQ\224E\314\177\214\304\234\334\213g7&\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0:\0\0\0\276\b\0\0\0\0A\361C:\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\2\366IDATx\332\355\330KHTQ\30\7\3603\276_e\250\203"
+"\245\205.\2062\261\27\201\201\230\241\330\203\204Dja\270\251P\n\215Z\4"
+"b\320\23l\221\273\26%\24\264\253]EPAA\264\20L\251Pr\322D\215\221\302\320"
+"\351a\316HM\343\334\177\213;w\346\336\353\314\235\373}\20\24\234\377f\230"
+"\307\217s\357\231s\316w\356\21BFFFFFFFFFFFF\346\177M\262\315\337\265\205"
+"f\231-t(\336-\\\t\360l\207\2\360\254*9V\223t\33\225T\253\2274k\224\24\333"
+"n\222\200w\263\366]\2225\235\13\232\77\361/\330m\266)`lt\252\304\376\315"
+"\36\60\330\311u\224.n\320\331\361b\332\37\273\357\247&\337\27Q\207\323"
+"\336EU\216\256\246\17\342\372E\0p\27r\246N\355\42\360\326\311\233\2605"
+"\376\241\2\356BT\231/\27c\31\31\231\277\230U\347\330\264\21g\271\364\32"
+"p\212IG\0\245\205%\13\25\0\201:\16m\6\0\314\273\30\364\246Z\264F\262\350"
+"t*\\*o\221ei\244@7P\351\261\b\365d\330\331\301\350\22\355\332\222\323\304"
+"Vgt{\247l\222,\327odZI\27\\\243\177s\204\324\252sB\327j\210\266\255p}\323"
+"\331fR\17O\36\372\255\333\37\20\373\270%\272M}J\35\25\227\42t\202J\35w"
+"4\352#\217\343\254A\315:\310v\355\3470\315\245\317\274\352 \233\212.\225"
+"f3hR\37\0\200\265\272m\n\1X`Q\361\20\200\2074\20#y\42\204\230\345\321O"
+"B\210\31\36\315\21BL\361h>\237\272\204\20\243\274\36\356\3\220\307\222"
+"+\3\3419G\277\340\3064!^\361\256\267\37\300\t\226\254\6\2002\216t\364\3"
+"\230f5z\34\0np\344z\37\0\354f\310\25\357\0\340k*]\246=\7\0\3642\344=uq"
+"\251\42\313\354\307\341}\bY\26\275\16\257\243\'\251r\247\266\2\177\317"
+"\241\301\224\13Am\335\277B\223\345\3\221B\345#=xgv\353N5\272)\243\366\360"
+"\264\256\234\177!T\214\372A\303\361M\273m\270\347\205\361\340g8\305\236"
+"Kn\36\62\235S-\331\333C8;\77\230O\270p\325N\337\354\272\373k\31\304pzB"
+"\270\265\307\203\30Y\330\220`z\324\365\214!f\224&\13\226^u\346\301\17\304"
+"K\227\371\246\324\227\214\42W\305\306\212mV\367\322k\376K\35\333;\363R"
+"\13\326$.\4\267\333\224\345\5\376%l\344z\3142\221\324:\223\b\206\272\342"
+"\26\333\213>K\351\335oq\'y\347\347\342\313G\t\316\0\263\332\372c\303\211"
+"\2036F_\331\3457\313\16f\335G\323\342\16V\343\333\342\332\35\225\25\332"
+"C[\310\375\354\376\200\3058\217\365\264Y\352\314\314]\232\3778\356\227"
+"\207\f2222\377p\376\0\275}J\327\335\300<\221\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0y\0\0\0\276\b\0\0\0\0\64|\377\231\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\5\nIDATx\332\355\231YlTU\30\307\377\323"
+"\326\2663\f\264\24\241\264)P\32\32j\331\4i*\210F\23Q\26!\210u\211\211\13"
+"\65\306`D\37\24(6&\342\216\32\23K\f\306\5\242\205\32\253\17BP[\27h%\304"
+"\240@\21\255$\235\262\206\252\261\245\323\215n\323\316\337\207i;\275\267"
+"\323\231{\346L\333\7\277\337\323\334s\277\357\374\356\271s\357\331. \b"
+"\202 \b\202 \b\202 \b\202 \b\202 \b\202 \b\202 \b\202 \b\202 \b\202 \b"
+"\202\360\77\341\366\261\22;\335\351cd~\210Ecd\376\231\215\361c\42\316%"
+"\271\32\210\32}\363\263\0n\32\25\323\n\343av/\311\275\243!^p\322x\\B\222"
+"\373F\341n\'|\331f8^\370\0\0\264\215\274\331V<\353\234\241\340\25\33\0"
+"x\364\3143-\304<\277\6.\343\245\0\0Z\264\314\316\357\235!c\356\330\16\234"
+"2\224\34\6\0\270\265n\344&\26\204\n\231^O2\331\370\77\223$7\350\210\243"
+"]l\234\30<$\356W\2225\246\77\276\216$W\352\230\37&\371n\360\220\17Hr\227"
+"\251\360C\222\\\240!\2169K\322s}\260\220|\222d\261\251t\rI\216\3270\77"
+"N\222<\25\67|\304\242v\222$\3573\375\5\315d\275\206x\302\337\276j\337\37"
+"\66b\362y_\4\273\326\32O|J\36\3210\277\321W-7\r\23pmU\177\4\275\357$\16"
+">S\26\354zC\222\3319P\355\346\200\1\363]\34D\343\16\377#u#\311\215\3]\212"
+"2ew\372\177\177\366T\343\220\327ik\201\335TT\177\314u\241\243i\342\354"
+"\205\213\307\3\213O\350\274Q~\352\13&\31\316\246l\255cP\332c\303ms\362"
+"\237I\306\202\356\212\312\252\13\377\272\275\16\307\264\214\234eKBu\311"
+"\77,7\25\304Z\355\304\367P\217m\200a\304p\274\355\265h.\245\336\320\371"
+"\265\321l+\351\266\232\371\355{Z\342\332\323\306\343\255\274\315r\256\275"
+"F\347f\277j\254lNW\3635\326/{\265\206\330\233a\254\253\222_\251\334\261"
+"\203\341\233\2771\326t7\371\244\212y\2367l\363\315\306\361\372\24y\235"
+"\322cr\300\202\343\267\225\207\207\26\226\231f\343\344_j\17\350\222\320"
+"\342=\16`\375ESag\246\251\37&K\25\337\215\223!\274\355\371\276\327\240"
+"\260\325P\274\321XK\272\227|F\321\374tp\361\231\271\375\201i\305\275\376"
+"\342\235\246Z^ \231\253h\236\334\25L\374\321\270\301\363\315\362\276\322"
+"\236\227\315\343D5\351\261\253vE\77\16\357\255[k~*JZ\311\366\322\34s\35"
+"\263IV+w\202[|\226\302\374\217\253=\6o\333\216\204\0\223\344\264Tc{c\0"
+"\340.\0g\324g\7;|\275\360\347\273\21\227\225\235\2362}\234=\36=\356KG\367"
+"7\7\210\356\275\34\250\216r\222o\252/\326\334\244o\371\37\26Q\0b\226\1"
+"\250SN\245o\301\324\241a^\344\0\320\254\236[\325\277,\f\333\234\3\0\275"
+"\352\271\276\207\262A\247\315\0\340T\317\275\b\0\370G\303\234\r\0\23\324"
+"s/\3\300\225N\rs\26\0\314\b\323|\16\341\233\23\23\1 C=\267\215\200i/B\315"
+"<\r\0\220\23\306\276E\313\300c\26\236y\n\0 i\216zr7\200\323\32\346\276"
+"\365\302z\365\344^\0\3074\267\35H\272\224\27:N\357\220]\20\2656\367\215"
+"\244\263\356Q\315\315\263\1\207t\246\374O\364\rn\325\261jy\216\363$\363"
+"t\314\17\366\217\253/\251\rU{Iv:u\314\367\367\233=*\3^\314n\222\334\257"
+"\265\300Z>0\231\270\272\324rR\252o.t\257\226y\256\177\36su\235\305;\235"
+"\337\340\333-\210\3232O\32\274\332*rX\310X\365K_\370\353z\353h\270\7O\337"
+".<\22\242\33\265o81\260^H\3254W\30\247\254\265\233\247\f\33\32\277bO\223"
+"\77r\227\246\30E\346\351r\317\221-K\207~Q\212\317}\356@\333\340\260\253"
+"):V\33\200\274/\2\234\360T\327\326\3265\\i\204\':j\334\344\344\31\31YY"
+"1\246\220\27\267\353\2669\251\'\254upM\4>\264\375\24\216\270G\363kW\24"
+"\0|\22N\346kG\365\233\fg\213z\223\313\2435\245\321\0\320\355\270E5\357"
+"\367U\35\210\4\211\215\212->\227\206\b\361\250\232\270v&\42\206\322\376"
+"\326\361\251\221\23#\341\264u\361>;\42I\332Y\213\336\326\307\20a\246\36"
+"\267$>\230\216\210c\337\31zG\261j\5F\204[C4\273b\235\r#\204-\357\320\260"
+"\355\276\364\326<\214(\231\333*=C\254\315\337\25\336\20\351\346\6\252\317"
+"1o~VJ\332\370\tQ\321\236\256\246+\227/\325\374\341\362B\20\4A\20\4A\210"
+"(\377\1\253e\245\373\212n\270@\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0y\0\0\0\276\b\0\0\0\0\64|\377\231\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\6\64IDATx\332\355\233ylTE\34\307\277\333mK\273\264\264\34"
+"\245\224\24(\r\204\312)H\203E\360\210\202\5\4\21+\32\343E\211!\30@\23\216"
+"\202\304\b\342\205\20\264\20\304\13\210\26\60\226\376!\210Z<\240\210D\213"
+"@\261XI\332r\332\252\261\320\3zo\273_\377\330\355v\347\365\330};\273oC"
+"2\337\277\372~\3577\363y3;\35773\2777\5\224\224\224\224\224\224\224\224"
+"\224\224\224\224\224\224\224\224\224\224\224\224\224n\5%\7\n\274\316\266"
+"$@`\322\366R\200\300$W\4\nLf\4\nL\256\r\24\230|5P`rC\240\300\344[\235\370"
+"\4\371\205\334\244\271n\fT\243_3\362\207~\333M_\373Q\357:\301\233\f~\237"
+"M\357;\300[\f\217a\246\235$\311\367L\306\207Os\26\311\355\1\0\3\346l~\30"
+"\20\60\20\272\310`p\3442\r0dy\250!\340\250\23\314\24\320!9\374\252\207"
+"\21\340|R@\207\344\220\314\265\370\35\334\373\24)\240CrH\222y\21~\6\367"
+"=\355\b mh\7\230\3749\312\257\340\230\2g\320\264\243\235`\362do\77\202"
+"\373\27\272L\24\231&\1L\236\351\3477pl\22109f\232\4\60y.\326_\221\372W"
+"\315Rd\363~\215!\337_\221%\245Z\3404\315[l\23\f5\223\375\326\335\2\272"
+"\351a`a\2131`\1\3358\13\0\236j1\6\354\202nH\265\33\3467\31\3v\242\353\246"
+"\267\31\3464\31\3v\240\353\356o7\244\326\33\3\6R\252Y{\217\253\341\376"
+":c\300@\312_SE\303\3242c\300@\230\326\20\256\22\67JJJJJ\267\226\36\b\24"
+"8\242*!@\344\247\2715@\344_X\31\26\20\360$\222\263\374\225q\355V\313\1"
+"\334e\b)U\274\34\331Jr\217\21\340qg\304\353}$\271\327\200\336\216\312\251"
+"\25\256\307\77\1\0\265\376\'\233\262\206]\24\f\257\233\0\300*G\36\352\201"
+"\317\313\263Q\42>\n\0\340\206\249\342{\367\211\246\351\353\201\263\202"
+"\345(\0\240J\252#\227r\265;\227\301\25$\305\344\310x\222\344\2\31\260\271"
+"\204\225n\362L=~#Y\254\371\341\313Ir\206\f\371\31\222\231\335\273|D\222"
+";4\306\217Ir\234\48\370\2I\353\355\335\271\244\223$\2634\326\331$\31)A"
+"~\236$y\266\233\34\356\204z{\232b\276\346\'\250!+$\300\275\376\261W\373"
+"A\227\36\61\227\332rDs\304\33\237\221\307%\310\316\357QK\273p\350\327\236"
+"\1\265m\211v\275\223\333\335\363\272\325\360Fg\265+;u\30[\342\232\202\253"
+"\334\330>\244\356$\271\330\31Rt+\367\301\366\277\77_R\331\341u\312X\255"
+"M\23T\344\227\\n\250\356=b\374\304H`\342i\2317\252]\25\253\373\nw\3432"
+"\312\331\255\352C\275ms\354\237}DCs\336\261\202\313\377U\331,\226A\211"
+"\311SR\334\205\344\37\246i\f\241\236\6\361\335\224\323\32@\2301,\233m\36"
+"\222\263)7u~-\222M\373\232=-\371\355v)pi\241x\235\301\373<.\33^,\323\331"
+"o\210\225\215j\252\t\361\374\261gI\200m\211b]\307\370\245\236\36;\344="
+"\371\33\261\246G\310\27\364\220\307\330\274&\213IQ\323Y\3626]\303\344\240"
+"\7\214\337g\34\355h\314\325\254\306\311\277\365\r\320\24\367\340\335\26"
+"`\336\25\215\261q\270&\16\223\331:\337\2153n\270\365\351\366\327`\355M"
+"\301\274X\254%\301F\276\250\223\274\254{\360\371\321m\216\361Y\255\355"
+"\346m\232Z^!9I\'9\246\251;\360\'=]\327\233\207\35\326\226\r\332y\242\210"
+"\264\352\316~\377\3305\267|\216vT\354\273I\326gw8\278\202d\221\356 \270"
+"\312q\374+}g\221U\340\326n\354\344\203\2579~\240\330\336`\0x\b\300y\375"
+"\253\203\215\366(\374\305.\364H\32\231\20\67\270gx\30Z\252\256\2368P\323"
+"\211wkYgu\34&\371\216\376\315Z\25i\337\376{\245 \0\301S\0\224\353.J\373"
+"\206\251A\202<\301\2\240F\177\331\202\266m\241\327\344d\0h\325_\326>(\257"
+"\311\264\31\0\2748\372p\5\0\360\257\4y$\0\364\322_\266\f\0\2567J\220\223"
+"\0`\210\227\344\213\360\236\34\35\r\0\211\372\313\326\22\320\344\42\364"
+"\221\7\1\0\222\275\310[\334p\16\63\357\310\375\1\0}F\351/\334\f\240P\202"
+"\354\330/\314\323_\270\25@\276d\332\201d\211\356\215N\204\255C\26D_\233"
+"\35\63\351\260G\365\226M3\1Gd\226\374\213\34\223[\221\316\203k\226K$\323"
+"d\310Ozw\b\326\264\207d\243\324\251\257\307\333\310V=\23^\360.\222< \265"
+"\301\232\346\\L\324y~\20a\240}-\364\230\24yt\373:\246n\256\207=\235~\315"
+"\236-\220;X\330\327u\267\265\325\223\223\2023O\372\350\224r\225\353\362"
+"\355\362\263n\302h\370\202\323\316\375\302@Ir\236\270d-]\331\277K\327\260"
+"\324\335.\7\261vH\202\261U\273\\n9\276jr\307/Ja\223V\34\254uu\253\213\223"
+"\241\232\0\244\355\357\344\206\265\250\264\264\374\332\365JX\315A=cb\207"
+"$&%\5k\\\326\255\227ms\237\26\257\366\301\305>\370\320\366\2237\340\26"
+"\311\257]A\0\360\2517%\337<!\337dD\334\320\337\344\303fI\250\31\0\232-"
+"w\353-wnf\3|\241\350J\235-\276\30\17\37\3519}\340\322\241\360\231t\345"
+"\267N\r\360\35\30Q\205\236\203\367\372\366p]\374\5\17\2717\27\302\307\32"
+"p\312#\360\241\4\370\\\341\333\334g\24\13R\341\27\335\353\246\331ys\375"
+"\366\237\35\246\264#]\266\373\352\2461\360\253\206\2579f\355@\255\371n"
+"\355\35\276nng\365Y\306\214M\212\213\217\354\25d\2666U_/\273Z\374G\211"
+"\rJJJJJJJJJ>\325\377\310\360G\231\243\201XT\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0\215\0\0\0\276\b\0\0\0\0-\333\323z\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\5\336IDATx\332\355\233}L\225U\30\300\237"
+"\353\275\b*J\30(\232\202 \3E0\211\246\244\313\262\210\330\242\3254q\325"
+"\37\231K\312Rl\323-\233nVsc\232s\315\320\230\253\rl\332\202\5\214\r\265"
+"\226\219](_\202\220\27\341*\211\341\r\271\200|\t\367r\237\376x\357\345"
+"r\77\336\217s\337\17\266\366\374\376\202\367\274\347\234\37\357=\37\317"
+"y\356\13\0A\20\4A\20\4A\20\4A\20\4A\20\4A\20\4A\20\4A\20\4A\20\4A\20\4"
+"A\20\4!\206n\212\372\235\265>u\325\322\205\301\272\36\323\265\13\277Z\247"
+"\364\21\314\330zn\4]t}2c\352\\bO\364\241\7\267\237\235\42\227\345E\343"
+"\350\2155{*\\\42\13}\271 \242\375\3\355\307\313\376A\344\303\266^c\231"
+"\2646\24\240}\246\226.\241\5v\24d\257\2062\31\235(\302\335iZ\271\314\314"
+"\267\243(\317i$\223\324\214\22\370\\\33\231\17G\244\310\340OZ\270\4\237"
+"Ai\\\321@f\331_\22e\260\21\fj\313l*\bv\375b\255i\266\204-N\212\360}\353"
+"\240\332.\323\16M\232KU[\37\343\256.y\257\354\221\217gS\251\262LH\205k"
+"_<\235\350V\222]\347esV]\231\245-\316\216\306\13\243\275J7Tz\330\34QUf"
+"C\217\263\237\363\t\276\327g\243\233\31565e\262\307\34\275\334\312\340"
+"\335\324\363&\333\244\2508~\2178\372\309\30$p\333\373\256Q>\20\240^(S\342"
+"\350\343R\274\360\215\307\'l*T\223\211\250\346z\30\332%\2661\257\231\260"
+"\221\23\214\256\26*\2147q\35\374\31\'\332\3166\247\314\350\\\31\233Ow\2"
+"\177\341:n2\331\16\211\257\364\341\35N\233\37e<\232\34,\347-{\203\333\262"
+";%\304+\13\\k`\252\214\31s\13\361E\236\262=\334\261\340\347p\361f2\273"
+"\24\31\303\31\210\330\342sF\352Or\'\222/\304\343\312\270\222IG\206\225"
+"2lJ\20\21\77\365Q0\373\34\42\42>|]<\36,\264NZ\371\216\311\220\2317\206"
+"\2108\342=\220\2274\42\42\242i\205H\3\201Y\27\335\2\345\266Y2lvsm\\\367"
+"<\2\2553sA\334<\301\332\372\27\362{\334\367\313GO\311Y\334\34k\33\226\350"
+"\335.o\37ED\304R\241\224C\350\246\202n\257Xb\273\34\231\250\211\247|&\320"
+"u5\350\24w-_\317\273\270d\36\256\266\371\b\263re\255\373;\\\r]K\236X\177"
+"\353\271+_\372JP\5\255\330x\240\270\235\'\36>\246\223\225\333*\177\325"
+"\365\263\375|\361\225\3336\b\3129\310\r\242\201\13\236w\33B\302\346\317"
+"\27h\355\360>yY7\243g\366\305\334\336\217~b\373\210\'\267\362\222T\233"
+"\3\250\30\377\362t\32X\27)\325&lX)\231\312\'x\2728\332*}\340\234R\306e"
+"\350c\276\355#\305\226/\335&\301\256\204Li\24o\336\370\22f1\314\252\13"
+"\362]j\323\371\233\177\r\355a\f6/\313u\271\276E`\6\353\352\261\221e\305"
+"\3215\313\33\274\231:\221\277\3658\323\2\270\313\177\225\276\223\211\342"
+"\343`#\223\315\234\1\377T\306*\336\24M\343\307\332\321\36\316\266;\370"
+"3\311\207\312\337\t\225\320t.\342M\306\275*\225\321\304\336p,=HZ\314}\27"
+"\361;\326\255\363\246t\223\341\313G7J\232\261\6\0\200\365\213\0\256\261"
+"\332\234\225\224\302\354nnjhh\222\372\5\224\1\0`\23\0\324\261\332\24\13"
+"\332\240\371\256\251\335\324\332\322\303\324\246\16\0\240#\22 \344!\253"
+"\216\321\363X\3337<\324\333\333k\351\356\276o\276wo\314\237\300\311\0\0"
+"I\221\0\26f\31\370%\16\0\240 \17`h\f\6\255\243\303\312$\24\366\42\242\221"
+"\275\332fDD\334\251h\322\7\0\236\7\200Q\366\252\334\270\377[\341\\\213"
+"\256\327\277g\3\3\210\210\211\n\333\304#\42v\370Q\261\1\21\255\323\25\376"
+"\244R\0\0\374I\345t\1\200iLa\233$\0\200\340\307\331\353Z\0\240\1\24\266"
+"\341\226\215\30\366\272\375\0pUi\233\30\361<\36\77\212\333,\340\322\13"
+"\354u\3\0F\256*<\245\200;\247\367\7\62W\254B\274\250x\236\331\261\355g"
+"\261V\214\36G\334\243\264M\210\303\246\306\237l\3332\245m\f\316\230h3\373"
+"\356v\3\24\307icf\212\214s\354\210\270Oy\233\211\350\377\17\351\253|P\36"
+"\42\242m\261\3626\255\23\361k\271\324\314\344\332&DD,S^\6\252\\\341\364"
+"\325h)\25bN;^\242IS\301f\362\227\347\3\273E\77\255\344\357G\235\356*\310"
+"\300>\267\323\306\235\35!\2\367\316\337Y\343\2725S\r\233W<O\77\77\274\355"
+"sv\5\254\333\177y\362{N\277+\257\242\3\b7{\'\f\332ko\230\356\334\357\351"
+"s\344y\303\243b\23\222\237t\77*\216\257\251U\343\331@\275@>\301b\261\364"
+"\372.\372\n\324!\327\237d\203q\226J6I~\310\214\256\6\265\250a\267Q\361"
+"\365\274\267\230eN\252\'\3\323X\263xEz\25m \235-\377[\244\362;D\337\262"
+"\310|\243WW\6f\326Kv\261\346\200\352,\352\220(s{-h\300bI#y<o6h\302\334"
+"R\t9\360d\320\214w\315\302.\277\245\201\226\4\177\306\357\363\340\353\225"
+"\2405\201[\312|\245\354\215\'2\2\264\350\336;\264\231\376\314\323\253\226"
+"/\214p\24<\350lki\250\376G\243\207\301\367\315L@\360\34=\300@\337\324\376"
+"\343\3A\20\4A\20\4\361\377\345\77#\353\234z~X\314\354\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\215\0\0\0\276\b\0\0\0\0-\333\323"
+"z\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\6mIDATx\332\355\233kl\24U\30\206"
+"\277\355\205\226R\250`\313M(W)\24\n\24\b D\24Elb\215\206\nD\211\21\210"
+"\240(\24\23H\304@\202\32\22\2\22\242X\260!\232\24\b \20\n\251\1\252\21"
+"\21\t\215@\241\345\322J\241]\250\\\227\322m\241\264e\267\333}\3751\333"
+"\275\317\316\234\235\313N\314y\376u\316\2349Og\317\345;\337\314\20q8\34"
+"\16\207\303\341p8\34\16\207\303\341p8\34\16\207\303\341p8\34\16\207\303"
+"\221\311\363\337E\33G&\355\16~6\214\316\360\273\200at\322\357\3\206\321"
+"\311\260\0\206\321\31\363\0\60\214N\346C\3000:\343\352\1\303\350Lh\0\f"
+"\243\223\331\b\177\366\262\324\217R\325\246\266\332\377\210\363x\4\177"
+"\251\244\22\337;\343X\20\321^\334\365/\37\231\367#<\302\23\216{\311\314"
+"\213\370\354\227P\354\226\231k\200\225!\356\27A\306>\333\20\253f\247\203"
+"\0`\3131HD\21\273\17\260\275m\230h+z\227\355M\3E\242\321\231<\32\347p\f"
+"\200)B\355v\2316y\354\220\276\211\246z\363\271\342\337\333\42z\13:\317"
+"\77\332\352\25w\334\373\274s\344\\\206n\r\210Wo\274\30!\227\21\373\333"
+"\21H\333\342H\270\244\356\b\346\2\300\371\261\376\375e\365\23\210\341\230"
+"\246\263\314\214j\204\240&AO\227\356\5N\204d\245\2162Y\267!\301\255(\275"
+"\\\22\362\235\220\344%\275R:\25\220\301W\372\310|\322*G\6\7\365pI\334\r"
+"y\224\350 3\374\37\2312\270D1Z\313\344\24$z\376h+\255\260&\367\317\350"
+"\35\374\324\'Z\273D\255\363\32K\'\347\77#\34\35\370\341\341\247A\356\315"
+"\t\255\23(G<\353\342\316Q>%\213/\4\330\354\321VfHeGC\355;\6\5\224N\77\341"
+"g\263QS\231\351\356\214\344\261\364\340\363s\225\217\315B-e\26\333]\255"
+"\\\317\22]\324\363\274m\306k\330\1777\272\332h]\33\37\342\264\217<\275"
+"\274)V\273P\246\320\325\306\251\264\320\'nq\333\34\321L\246\367\31\241"
+"\205\346eR\13\363$\267\215\222`tb\250\3024\263\320\300\337\303$\257\263"
+"\260C\306\326C\301\342S\227.^8U\30L\216u\3223}Jm\207\315>\5\267&\27E\242"
+"e\357\bK\366m\31\361J\37\317\348Y\301\210\271\16\274*R\266B\330\26\374"
+"\232\42}\231\354{\252\364\341,\0\225AGd\3646aG\362\265t\\9\254\320k\313"
+"0Z\201M!\0|\21\244\240\353Q\0\300c\351\34d\306\2166\257\231o\263\2\231"
+"\236v\0h\r\354\310\3/\1\0\314#%.\20\67\347\270O\240\\\335E\201\315r\341"
+"\32\27\375\267@S\205G\232%=C\326\216~%\337\367\231\32\236\216S2\271\271"
+"\3466\24\372>\13[d\3\0\34\n\225r\350\236SP\27\20K,R\42\63\300}\227w\307"
+"y\216\306o\27\216\345\213>\256K\311\336p\306\21$\314Z\257h\336_\342\271"
+"\3209wb8\255L8\362M\260\4U\374\310Yk\16\324\210\304\303\233M\212r[E^\211"
+"r\347\261\3%7\34\24\237\273V\350DM\305\376g\307$%\367\352\25\342j\33V)"
+"\313\272U\371g_,5\217\20&\216OEr+\257\311\265Y\3\325x \322h\334\205T\271"
+"6\311-j\311\234xN\244\211M\327\344w\234\355\352\2704\177&\266|\214w\344"
+"\313\267Iw\252!sh\200h\336\370\24\3460\214\252b\345.\347g\212_\376-8\223"
+"\31l^W\352rqn\210\21l*\303%\226\31\307T\241\254\363f\233$\376\327-L\23"
+"\340\262\360U\32\267\215\222\356\7\263\230l\2725\205\247b\77\362\256d\32"
+"\177\250\23\316\24\266\325!\234A\336\\\364Aw\31\227^\17\\e\\\253&3\232"
+"8\3137\317\214\227\27s\337\2~b]:\257\3127i9\275i\226\254\21\33CD4\255\37"
+"\3219V\233=\262R\230u\25\227\313\313/\313}\0\25CD\224CD\27Xm\16\204\264"
+"\201\345\226\271\306|\255\262\236\351\232&\42\242\332T\242\244\307\254"
+":U\376\333\332\306\226\346\206\206\6k]\335}\313\235;\366p\2\247\30\42\312"
+"H%\2622\313\320o\303\210\210\n\362\210\232\355\364\244\315\326\242NBa%"
+"\200*\366j\263\1\0KUM\372\20\321\313Ddc\257*\364\373\177U\316\265\230\32"
+"\302\2737\324\4\0\243T\266I\3\200\3320*\226\3h\353\244\362/5\236\210(\234"
+"T\316=\42\62\333U\266\311 \42J|\226\275\256\225\210\312Ie\33a\332\30\314"
+"^\367\21\2051\205K\331\f\226\316\343\205\330\221\253m\323GH/\260\327\215"
+"%j=\253v6U\330\247\77\212c\256x\22P\375\235\324\316\256e\177\16k\305A\355"
+"\300\n\265m\222\\6\245\341d\333\206\253m\23\323\21\23\61\276H\271\22\300"
+"\25R\235\16\33\13Sd\234\353\4\260J}\33w\364\177J\376,\37\237\7\0\216\376"
+"\352\333\\s\307\257Er3\223S.\3\0\16\253/C\'=\341\364\331Ar*\f\336\351z"
+"\211f\206\6\66\336\17\317\233\226K\376Z\231\273l\35\356\32\310\320*\237"
+"\335\306\315%I!\316\355\265\264\324sj\266\26\66o\370\357~\366\316\13:\272"
+"b\247\256>\355\375\236\323\237\352\253\230\210R,\201\t\203\232\363W\314"
+"7\357\3277\272\362\274)\3\206\246g\216\361\335*\266O:\257\305\275\241\262"
+"\20\371\4\253\325\332\20\274\350[\322\206\365\341$\33\252\272hd\223\21"
+"\206\214m\42iE)\273\215\206\257\347\275\307,\263M;\31\212b\315\342\355"
+"\327\364\253\250\231l\371\337\375\32\277C\364#\213\314\17Z\177/\226P&\333"
+"\245-\2274\247_\255L\231\33SH\7\372\313\352\311\355y]I\27z\34\222\221\3"
+"\327\361\203\222\5\226\320.\177\314 =I\374R\334\347\341\367\243Io\342\346"
+"\36\16\226\262\257\332\232\25\253G\363\201\241M\247\27&\214\35\321\267"
+"\267\253\340\341\355\352\312\3623wu\272\31bOfb\23\273E\23\65\65F\366\303"
+"\7\16\207\303\341p8\34\316\377\227\377\0\260nI\272\336U\225\24\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0e\0\0\0\276\b\0\0\0\0\t"
+"\356\236\377\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\256IDATx\332\355\232"
+"kLTG\24\307g\21W\201\5,\2J\24l\215b@\272Ul\3225Aj\332j\254\3620\221\22"
+"\23\22l\2534\321\244\255I\277\250\325jR[MSSSC\323\326b\322V\244RM4j\223"
+"b\42\230`\224\0jJ JXE\366%\213\n-++\356\336\35\77\340\336\327\336\327\334"
+"\273\263\261\344\374\277\260\367\356\31~;g\346\2349w\346\42\4\2\201@ \20"
+"\b\4\372\377(#=\6\220\304k3\350C\342\316\372c\320\225\257\260\235>\244"
+"2\204\333\250C\362}\30\377\245\327\327\232G\376T\22B!\332\224\303y\b\241"
+"D\312\376*\305\30c\354\242\13Iua\2141\306V\252\224\357\' \370(MH^\3409"
+"%h\243Hi\300a\365\317\245\6y\231a)\270g>-\312^\314\323P\t%J\33\26\350\367"
+"\34\32\20\323\270\220\202\307\326P\210\375\24\263\350F\202\227B_\222E]"
+"\301\303S(\364e4 \272\321\302\320\310\226\16\321u\23\225\234|]t}\201\n"
+"\345\274\360\362\346\0\225xIp\n\6\177\'\245\260\\\315\217\30&\233V\216"
+"\261]\n\260\2243\24\323\362\17,e9\305u\237\325\351\2531\240x\77F\364)\276"
+"2\17}\312\2357u\225\227\361d\346\33n\322\255\372&\244\263\270$\244\244"
+"\304\204\202&\21eZL(\323a\\^\310\231l\232D\36\233\32\23J\42\314dBJRL(\361"
+"\223\310cq1\241$\303L~!W\261i0.\204\301\254\266V\232\262\347$\371\37\336"
+"yj\214\242\270VfV\224-OA\b\241`\347\337\r\267\f<\213\325\313\33\24\236"
+"\20l\327\\,\326O\371S\356\353%\347\304\333(\2701S/\345\274\364\227Y\307"
+"\30\34)\357\312hR\314;G\261\244\2U\306\26\f\276\336\256]$7\201\177C\365"
+"z\372\322\22q\77\375\327\20\226\327\370\353z\2422bc\254\252\247Ziv\233"
+"\33\246\33\217\375\271\27\216g([,\370\314h_L5\335kU[l\267\220S,\274\317"
+"\363\232~\326P\234\247\227\32\361\230\351\243\256w4\31\276k`&g\327\255"
+"\322hYH\336\227\204\347\177\77\354\322\nA\31\344}\231\330Y\316:\272\216"
+",\215\353\361\330\306\3324\376\326L\363\265^\327\b\2329+wI\221U\3025~\362"
+"\330\277\207Pz#/\266\7\366/\346\33\315\336\332\31\21\376m\344\224\21Tr"
+"\237\373\7\35\225\221\256(\276,\242\234$\247\370~\341\232w\227J\346\26"
+"\323\7\302\f\375\59\205\323\243m\262C\272\324\3137\\e\200\362\307,\5\333"
+"5\374S\24\213n\312P\205\262\361\25\316\364,Q\266\344W\225\315\326S\312"
+"\306\267\271\217\307\211\n1nj1{\325\216_\342\272Yc\27Q@\376\304\35\361"
+"\250g\373/9\207}J\2\251f\233\365\346\252\346\272Z\16\322OR\276\277\341"
+"\17\67kIS\263]\177\2337M\312\b \257\262\1PoV\331A\251\354\20\314w\2\310"
+"\2\366\370\345;\345=\245\274\203.AP\331S\t \3\341V\273\224\314\nv\337\20"
+"\245\207\307\205\332!\371\341\337\27\222\77G\260\224\34\261G$\343 \301"
+"\240\330\36\204!5\322\6\63\326}\335\32\220(\370\202\33\371\276,P\2345\25"
+"ca\310\26\211\n\325\272\245\256\213\221\251*\337\343\33\306w\230\375N\317"
+"\200\333\345t;\6\203\342\362k\337\347\341\361\276\356H\36\345\27@\371\213"
+"\255K_\223\177d\36\256\270$X\225w\34`/\230A\207\307\341r;<\2161\204\20"
+"B\13\353V\360L\231\236\366\177\354OR-3\263r\346-T\t\233[\33z\204k\377\224"
+"\246\267$~\212\333\341vfW\231u\326Q\215\233}\342[\263\3358\272\32\331$"
+"E.\32\217*\344\234\314yfU(z\214{\345\262~\334\21-\306\360\256\4\205\341"
+"\332\37\25\206\357[\2257\362\366\30g\374\373\215\372\243\367\373O\2141"
+"\372>\321\264\17h\353\327\217`.\226k-SR\217\351\234j}{\210^\220)n\'Gx~"
+",&=.1\225\267\22!\354\207\212\364=2Z\17;\265\21\356\237\250\321\374b\224"
+"DoM\313V\257\260)\276$:z\243\243\263\263\27\33\337V\233_\220\373J\316\234"
+"\3144A(\17{\207\6\357\366\366\36591\351H\250=H&\275\204\222\343\21\32\33"
+"g\376{\374\24\201@ \20\b\4\2\201@ \20\b\4\2\201@ \20\bDQ\317\0y=\206X\326"
+"\362\311@\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0e\0\0"
+"\0\276\b\0\0\0\0\t\356\236\377\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5"
+"LIDATx\332\355\232{L\34E\34\307\177\327\342\25\312\253R\36\305\2\255\4"
+"\60P\270\2\232\224&@\214\332\207\345iD\322\204\244Z-\32\65\365\21\377\241"
+"U\254I\361\31\215\215\6_H\23\333R*mS\33\332Fi\270b\304XRh\215\4\322\22"
+"\256R\356A9TP\350\301q\334\215\177\264w\267\273\267\217\233\335\31\22\315"
+"|\377\332\235\375\315}n\36\277\337\374fv\1\230\230\230\230\230\230\230"
+"\230\230\376;\212\213]\4\310\362\213+\350C\226\234\236]\204\246\274\215"
+"L\364!\325\36\324C\35\2225\203\3209\265}\35\364\310\237\b\7\360\320\246"
+"\34\310\4\200\345\224\373\253\f!\204\220\225.$\332\212\20B\b\31\250R>\271"
+"\rAM4!\231\256;\224\205\2\212\224V\344\325H\22\65\310Z\267\217\202\6Si"
+"Q\366!\216&J)Qz\20O\207Sh@tN>\59\266R\360\375(\275\240 \314N\241-\221\202"
+"\246\240\311\245\24\3322\355\22\24t\271iDK\263\340\276\203JL\276,\270\77"
+"K\205r\206\177\373\353(\25\177\t\263\360\6\177\17%\267\334\314\365\30w"
+"2\255\30S`t\371(\337Q\f\313\237\371(\33)\256\373>\235\374e\21(\366\335"
+"b\343\226G\266\307\2467\210<\333\342\230XO\222b\312\27\205 d\317!H\311"
+"\225\200 d_Gn\\D\222\313-\247\302\0\0\342:3\211Q\242\244 \0\t\235\367\21"
+"\234\311\22\20\200Dc:%\n\7\2p\2171\215\fe\231\f\4 \311\230J\204\22*\7\1"
+"H6\256%\337cEa\302\222\304\34\22\376R\302/l\20\244\35\316J\42^\271]PZ\317"
+"\207\224\221\31}\241\371\376:\316\215\363\261vJ\376\362\376\253\310{9W"
+"y\216\220\277\334\25\270\337|\361\16\306Q\361=)\337\27\331\276~\376\234"
+"\7\0\300Q\336\1\324\42\f\0\64\355t\38J:eLB\b,\n\207\346\17\317m\373\t\310"
+"Q\302EK\217\271\306\273\201 E\302\374$\361\34\206\352\t\211\246\77\205"
+"Y-rQ(\360\77\242\204.\ne\31\33\27L\337\217R:\346H^\35>\373\347\365ym\24"
+"\235\334\303\370\252\362\215Q\0\0\13}\77\264^\325\260\356\267H\33\344\37"
+"\345\35\327\234/VO9.\3658\267]x\214\202\332\342\325R\316\210\77L<\350F"
+"\201\262\77H\222\242\3373\215D\345\252!\267V>\334(\265\245\b9\4-j\332\322"
+"\25P\36\373\215\7I\313\371\200\32\257\f8\30\253\31\334!7\273\365\255\241"
+"\332}\77\351\354\2218y\213\264\327\264\266EW;\260M\261\306+\21\370\224"
+"\b\316\365\232\216\257\242\224k\304\226i\3511\335\263\375\217\4e\370\250"
+"\206\231\234\334\274)H\313|\374\266x7_O\367\7\13\2018\374\266\334>YNl*"
+"\301\13\343jzl{c\f\347\356\372\205\213C\326)X\231\220\221[h\20\351\232"
+"Y|\337\277\1\20\333\306\361\355\321\6\336\361\313\252\347\373\2\334\277"
+"\7\2372\5\2457\375\77\320[\35\330\25\305\77\n(\337\342Sf\276\366W\37(\23"
+"\215-\272\235\374\b\375&>\305\257\277^\220\34\322<;\327p\223\6\312\261"
+"\4\31\333\255\334\267(\21\252)\23U\362\306\77\373MOcEKnVy\301pB\336\370"
+"\232\377\362\bV\42\346\237Z\356}J\257_\226\f\370\214\255X\16\371\245\377"
+"\25\217r\264\337\357\357\260\227q ;|\325\2062\24c]\243\37\62\202\223\276"
+"o\230\365V\353\212Q\262\255\274\306\231&\345\30\220\34\237\3\264\350\25"
+"NP\252{y\363\35\3\222\346{\375\362\261l\236\f\231\357YyNe\212\306\200\214"
+"zk\355\2253\313~\343\212 <\334\312\17\36\222\345\375\177\236\335\322\351"
+"@\351\247\246\200`\274\2001(\5\177x!\265\342\6+J\336\351v\211$|\13\334"
+"s\301\314l\331YS\345\360Bv\211d\250\206]\315\375n\211\254\362\t\256aH\257"
+"~\32626j\263Zl\346\361\5a\372\365\326\353\336\361\276l\216\234\346&@Y\353"
+"\fy\353\245\267\314\223UF\336\252\\\367\256\357\306=n\36\63[m\3461\263"
+"\3\0\0\322\233\2138\246\356\301K\277\231\346\242#V&\246\254IWp\233\253"
+"\217\17\362\327\376\245\35\17\211\374\25\233\331fI\256\321\253\314\243"
+"\332\236\231\21\26\255\262!\262\232zR\214\\\350$\ni\227x\237Y\343!\307"
+"\270Q!\331\217u\244\30\223{\303d\206\253\201\bc\346C\205/\362\352\2653"
+"\376\376@y\353\375\324\2346\306\360KA\235\3\26\214\250G\270\317W\4\233"
+"\246D\37T9\325\206\353\261>\220)\276\204\217\30\373\242X\207\273\215\253"
+"\350\306B\230>*T\267e4\34\260\4G\270y\2646\350\17\243DZ\253\273\177sQ\201"
+"\354G\242\323Wz\373\372\206\220\366c\265\324\354\214{SV\307\307\360\\y"
+"\322>1\376\373\320\360\260\5\341\216\204\322F2\374n\210\f\1p8\335\377\334"
+"\232\7&&&&&&&&&&&&&&&&&&&&&&\212\372\27\1\26\365X\216\320e\342\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Z\0\0\0\276\b\0\0\0\0\220"
+"\26GJ\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\274IDATx\332\355\232[l\24"
+"U\30\307\277\31lK/d[J\253PKS+F\256A\300\42D\250\\\36@\322\32\215> \240"
+"\324@\260\6\203>41\212\321\360`L\324Xc\274\304\304\13\241\364\5\343\3I"
+"\1/\5+EK\205\42\246\246R\333B\357i\323{\227\356\366\266\237\17sfwfvv\367"
+"\314\316w\336\316\377e\262=g~{\366\3149\337\367\77\337\24@JJJJJJJJJJJJ"
+"JJJJJJJJJJJJJJ\212S\212\365\17\352\212\274\364i\337\330\355\36$\376\246"
+"\35\225\343\250\311W\377a\361|:\360\352Kh\322\350\311\315D\344C>\f\323"
+"\225]\24\3447\320V\347\227\273&\227a\4\371^U\334\221\267LaDU{\334\220\223"
+"[1\212\232\362\343@\336\303\256o\27\3306\17\335j\351\350\36\32\366*\361"
+"o\231\305m\311\326\26_C]Cc\267\373\325Qa\231\201\277\336\333\236H\263\242"
+"\323F\r\330\271\272\327\362\351\266\341\341\20\270\355\370R\322\320Q\243"
+"\203k\367\250\264A)kV\3\67n\'\217\254\7\264]wL%\'\303\327\210\210]\217"
+"\210\310\7\255\210\330\223/\202\274\20\21\3E\216nI\334\311\327\257\b\21"
+"\317:\42\257\274q:v\'\25\0\326\0\300\31\'\301\341\365kk9\303S\1\0t\360"
+"\223s\277\335\301\325O\5\200<\0\340\337\202{o\362\221A\5\200\\\0x\216\23"
+"\234QU\225\341`\356:\21\61\300\227\273wv\261\210p\232\17\355EDl\341HR\311"
+"\25\1=\330|\307EN\322:\327\304\f\320\353\377\t\5\310r.\264\207\365>\227"
+"\22}-\2755m\b\352Os\2413\365\356W\227D\351\265\354\17S\32Z\307\205^\32"
+"\354\337\27qY)e^s\206\313v\210\306\271\212T\333.9\27,\271\323\17N\321\210"
+"w\354&q\377\260\325\230\324\200\243\307\310T\367\204\245\375\336\37\302"
+",\317\247I\234\1\322z\343\357\317&\30\232\237\37\264\266\217<\303\275\33"
+"\207\302F\325\377\361&\226\314\362\253\303\32o\24\360\273\247\253\205v"
+"\337w\345\317\326Au\367\2210W\365\3251\77\177\f\371\f\3715\261\317Q\316"
+"\330\303Onz\330YnL\350\344%W\2469\315\273\245|`\177Y\34N\370\34\17\271"
+"cC\\v\24196\371Bf|V\344\376\266\30\340\300\211\270][NST\362H\261\13\13"
+"\225\361K\2645\267\314\225=K\370<\42\371\3734p\251\303~[\360\334q\5\\\253"
+"\260\303\206<^B\342Y\27\375\30Fn_I\344\207\325w\346\314\344\313\213\350"
+"\314\366\213&\362\251$:\262bZ\203\'\24:2\34\65\200g\17Q\236=r\306B\344"
+"\311bJ2T\31\nO[I\311\33\203N\24\2076\220\222!T1\33\\KK\336\26\232\r\352"
+"\363i\260\np\3671b\362\372\340\252+!&\303)\35]FM\316\326\313q_\220\37\325"
+"\365\352dC\429\372_f\275\36 \'ob\203~\231\276t\361\t3\327\n9Y\355\323\374"
+"\306\243\364\203\336\314\222\267\200R\316\373\32ZD\1\352o\255\316\'\200"
+"\274D\13\247\245\2\320\373\21\21q\332C\2710\330u\13\0\0\324\216\t@\77\16"
+"\0\0\27\5\314\307\2\315\331l\23\200.\322\226\236\7\350\'d\25\0\0\364\215"
+"\t@k\236\361\16\b@\77\b\0\0=\42\320Z\31xX\4:W\30:U\363\272>\1hv\332\234"
+"\26\200N\26\260U\30\232\345\360T\21\217\221\25\270\4\240\307\215\353\204"
+"\26=\245}xH\300\214\2470\33\271\200~\324\223Z\21l\336V\1\217\261W\273<"
+"%`F.\263\303@\n\375\250\333\331\352;H\77\3527\231\227\354$\34\366<\355"
+"\222\276W\3374\344\2317G\77k\314\24\222\317H\260@\331\225E\215\256\f\325"
+"\220=\304\350\3\241\303\371u\342q\353o\216\21\21\333\327\320\262\1776\24"
+"B&_!=u\230\13C\277\256\240\f~#&\366\314\227yt\354\17,U\270\251\223\353"
+"\250\320\213\303\377\311\347\332\321\373h\330\37\331\224&gk\313W\307\373"
+"H\r\367e6\333/\350\201\337\352\353oz]\241\241\364\233\210\335\2m\315\315"
+"\377\265\337\356\3456A\251\271-\246_[\375d\214\33\260\177\240\177pdt|\302"
+"\77\1\336\31CC\272\2\0\31\240z\224\364\2444\317\302\254\354\237\312\7\314"
+"\25\221n\244Qcx\222\335x\227\2\334\373\222\335{\205\222Y\327\340\211w#"
+"\324\350_p\311\236\254\b\276\232\375\37b\361\276eE:\271\22\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Z\0\0\0\276\b\0\0\0\0\220\26"
+"GJ\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5\62IDATx\332\355\232[L\34U\30"
+"\307\277\331\n\310-\13\245\240\5)\42\326Kk\233Z*\330\306\226Bkjm\240\251"
+"\251\32\264hiJ,\6\203>\220\30\255\321\364\301\230\250\21c\274\304DkS\312"
+"\213\306\207&\324zA\305R\245X\2515\30\24\201v\271\6\344\266\260\354.\227"
+"\335\317\2079\273;3{\341\314\316w\236\234\377\313\204\2343\277=\2349\347"
+"\373\376\347\233\1\60e\312\224)S\246L\2312e\312\224)S\246L\375/\225)\214"
+"\\;\267S\20\271\306\213\202\330\307\274\210b\330U^D1\354#2Y\0\373\260\7"
+"Q\f\273b\tQ\f\273\\I&e\77\246&\23\2623\347Q\253\177\223\211\330\217/j\310"
+"\216b\262\319\270\240\42\333\37 |\216\7\224s2]H\272\372\366\7\330\23\371"
+"\304{f\237\217=\266\211|\247\357u!\42\342\310:\1\361i\217\23\21\207\356"
+"\24\22U\37\234C\333\355\202rAI\347\255\3022\230\305\264\7\246L\231\342"
+"\222\24\24>\326\345\244,\270\354\327\206\220\370\227v5\314\260$\343j{\253"
+"\364F:\360\206\37\324^a\372\3246\42\362QW\220\305\301\213\17Q\220_\304"
+"\220\372\352n\303\344j\f#\327s\2221\362\366y\f\253&\253\21r|\17FPgn\24"
+"\310\33\330\365\225\274\220\315\23\177w\333\6\'&\35R\364[fuo\274\266\305"
+"\325\336\332\3361h|u\324kf\340\367\327KbiVt\322\264\2\353i}>\227n\33V\5"
+"\300\275\307\327\220\206\216f\37\270e\37\261\273Ig\307\243\216\22\362\310"
+"Z!\357\272Z\1~\354\23D\304\201{E\344\203\36D\34\312\25A^\211\210\336\42"
+"]\267\304\356\346\353W\204\210gu\221\327_9\303\347\2447\2\300\347z\202"
+"\303\13\2277q\206\247<\0\260\361\223\263O\356\342\366\3779\0\300\277\5"
+"\313\257\362\221\301\2\0\331\0\360(\'8\265\2611U\307\334\365#\242\227/"
+"w\357\36`\21\341\f\37\332\201\210\330\315\221\244\342\353}\205)\374\214"
+"\213\34\'wn^6@\347\377\31\b\220u\\h+\353}.!\362ZzYY\3218\300\205N\363u"
+"\277\24\251\224\272\366\27U\32\332\314\205^\343\357\77\22vYI\325\16u\206"
+"\313\320\211FO}b\310.Y\3475\271\323\rz\321\210\327CM\342\241I\2551i\6]"
+"\217\221\251u\247\246\375\246/\203,\317{q\234\1R{\343\317\7c\24\315O\214"
+"k\333\247\36\341\336\215\23A\243\32}g+Kf\271MA\215W\362\370\335\323\245"
+"\202P\277w\361\327\236q\313\336g\202\\\325\307\265n\376\30\362>\362k\366"
+"I}E2~r\347]\372rcL\77/\271!Io\336\255\344\3\273\253\243p\302\347x\310\266"
+"-Q\331\205\256\345\311\347\323\242\263\42\267\364.\3\366\236\210\332\265"
+"euF$O\225\32\260P\251\337EZsk\r\331\263\230\17\302\222\277H\2\203\252r"
+"\207\4{\216K`X\5\266\20\344\2312\22\317\272\352\353 r\337z\42\77ly\325"
+"\243&_XEg\266\237V\221O\307\321\221%\325\32<!\321\221\241F\1^:Jy\366\310"
+"\262\7\310\316RJ24*\nO;H\311\205\336\300\13\237-\244d\bT\314\306\211_\370"
+"\24\7f\203\372|\352\257\2\314\335OL\316\367\257\2722b2\234\366\241\253"
+"\251\311\31\276r\334\207\344Gu_u\262=\226\34\375\27\263^\267\221\223\267"
+"\262A\37\243/]\274\313\314\265DN\266\214\310~\343>\372Aoc\311[@)\347\r"
+"\31-\242\0\365\207\\\347\23@\316\224\303i\245\0\364!DD\\\260R.\fv\335\16"
+"\0\0-v\1h\371\303\207\357\5\314G\262\354l\212\5\240\213\344\245g\5\372"
+"\t\271\7\0\0F\354\2\320\262g\274\16\2\320\362\'\nC\42\320r\31xR\4:[\30"
+":Q\366\272.\1hv\332\\\20\200\216\27\260U\30\232\345\360D\21\217\221\25"
+"\270\4\240g\224\353\204\26=/\377q\207\200\31O`62\231~\324N\271\b\266b\207"
+"\200\3078,_\366\13\230\221\13\3540\220@\77\352>\266\372\16\323\217\372"
+"%\346%\373\t\207\275B\276\244\224\3736\ry\346\315\362\2355\26\13\310g\304"
+"_\240\34H\247F7\4j\310VbtE\340p\376\33\361\270\323\25\37\326\366m\244e"
+"\177\253(\2048\237%=u\250\13C\77R~\224\2310\245b/~\224C\307~SS\205\233"
+"\77\265\231\n\275:\370#\237\31357\323\260\337\16Q\232\\j\251\333\20\355"
+"#U\334\227\326\25zA\217\375\324\326v\325a\b\r\225\237\206\355\346\355\355"
+"\352\372\247\357\3320\267\tJ\314\356V\375\267M\17/s\3\216\216\215\216O"
+"M\317\314\272g\301\261\250hH\221\0 \25,V)%.\311\2722=\343\233\2721uEd\20"
+"i\324\21\234d\13\347(\300\303GB\275W([2\f\236}-L\215\376)\203lg\275\377"
+"\325\354\177\334\361{\216a\20\347\370\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0F\0\0\0\276\b\0\0\0\0\255\204&,\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\0nIDATx\332\355\3241\n\2030\24\200\341(\35\334z"
+"e/\330[x\0\305R#\325\352\340b\366G\21\371\276)\t\341\207\274!)\1\0\0\0"
+"\0\0\0\300\205TM\33P\311\325\263\17\310\fu\310\233\346\230L\216\311\244"
+"Ke\2761\231\317\35g\263>\326\327\261\32\227\363\371o(\256M\271\330\366"
+"[1\337w\352\374*\0\0\0\0\374\335\16gq\24\301\223\256\311\221\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0j\0\0\0\276\b\0\0\0\0\370"
+"\345\305r\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\263IDATx\332\355\231"
+"\177l\23e\30\307\237\256s\35K\267\226\260\341\30097\235&l\31414\6\246D"
+"2\\\346T\214\201\77$\13\311\202Q\22\370\303\304\20\3\304\4$\304\214\230"
+"\250\311\222\316\20\60.1\3018\215(\370\203\37\223E&u\b\3\343Xp,cY\231N"
+"\232ul+cYK\373\365\217\353]\357\332^\273q\3676!y>\377\354\336\273\313\373"
+"\351\335\275\317\363>\357;\42\206a\30\206a\30\206a\30\206a\30\346\276\307"
+"\362VV\272L-8\236\225.\23\322\343\262\264\0\351qELip)&\341.\225I\260Kc"
+"\22\352\2121\tt\305\231\324\256\fSU\231K\342N\345g\13z\254\314\366\230"
+"\207\372\315!\354cY\217hL]\271\2\207\240\365\13\225\351W\273\320\300\262"
+"\266)\24639\202\323\205\365\263\210\351\264h\23\221\345\20\0\340\204x\23"
+"\221\345S\0\77gS:\260\270\360\203-]\323\360\233\351\232\360\31\206IWX\213"
+"\353z\321\326\232\311\216\257f\322\360\20\257\217\3\300\300*\361\246\367"
+"#\223\326\314\313\242M{\224\251x\372i\261\246\315\252\2\343\272C\244\251"
+"jZ]6\265\n4e_\321Th\241*q\252\346\330bZ\230\251\42\20\243\n\257\20\245"
+":\25\267F\370\\\220\251.\316\204\333\202\352\351\337\343Uh\22bZ\233\300"
+"\204\357\204\250\216G\22\322\341#\376\250\352\216\210\252\2604\4\0\30\\"
+"NTp4\352Z+,\315\366>\250*\336\1`\257\0\3255\0\350+\220\32Y=\272Q\234o\330"
+"T\t\0\343Er\263AV\335\320.\273Wvl4\254j \42r*\252_\344\203\42\315\372q"
+"G\300c\274\246\377\21\0p\311\32i>\240|,un\372\4\330i\374Sy\245\216wG\232"
+"k\24\325\213\321{\366\1\263\5\306K\227H\307\263\265DDd;\253\250\266(\367"
+"l\f\3\337\30\177\250\25r\3173{\237z\364\231\355}\321\300\332\246|\265q"
+"\0\257\32W=\7=v\311#\260u!\321\304\t\343\252dU\237\244jXOD\307\2\306U7"
+"t\257LI\252\214f\42\242\243&\344\n\357\277zW \251\326W\21Q\260\303\224"
+"\274\256waL\372\323\t\0]\246\244\300\'C\261\343!RhH\243\377\2110\0|hN\272"
+"u\305\230\372\313/\3\0\312\345\350\5\360\2069\252,M\21\23>h\247F\0\bK\273"
+"@\2751\341l\f\333\307A\305tz\25\21\331\203\0<DD\264T:\375\236iSV\331\201"
+"\2133\300\224\373\203J\251}\5\200\24\263\215\222\352[SgH\207j\333\354\'"
+"\0\373\2102\211\252\245\23\353\26\230\271\300\233T\35\373\211\250\233("
+"\203H\32\33\224\267YT\265[L\24t\253F\5\60\264@\214\2512\4\234\211\344-"
+"y\274|$\304d\277\f\340m\351xB\t\202F\1\246B7\200\300\342HvR\302`\366%\323"
+"M\33F\325\243{0\32\334\263[\314\25\325tjk\333\13\352Lr\320\274md\333&\271"
+"\262p\313\247\276\326\244\307\201:S<\31k\\>\245\317Z\371\354\376\330\225"
+"\253\341Ur\356\206C\243\252\16\217)\27^\213\235a\302\337\327\336\373\326"
+"Sn\335\376sAMw\376\222h\355\26\212\257o\256\356,\236\277\305Z\321\344\352"
+"\t\306\365\265MuKW\242b*|~w\365\334\377\217\226\273zkk\367t\302\252\254"
+"]\275I\267\335\245\323\201\357\234\373\374\237\23\311%\316\307\313\227"
+"-[^\252\373\306{\237\365\253T\16O^\222\276\206\257\376=8\354\271\351\r"
+"kGX\301\342\242\342\207\37)+K\261N\32Y=\242\331zl\336\225\372\25\30179"
+"\341\277{;H\26\'9\35y\371\3269\275\330\177\326\365\307\274\4/\304p\275"
+"4N\276I\214\251+\321\322\246M\200(\334\222p\7!\247\333t\323\250\336\302"
+"\306y\321\344G:\274P\77\bO\232i\352\254N6.3\17\204\314\22\235\255O\25\4"
+"\317\367\233\341\t|Y3\227z{\307\230Q\321_\357,\235k\332|\327c`(\\\332S"
+"1\257\231\340\225\366;\367\342\31jk*L\336s\242\214\234S_\377\302c\363\370"
+"u\377\365\366\\\370c$\345mz\311\277\260feUyI\212\t\353\246gx\350\332@\337"
+"\330\334~Q\322\231\335VR\262\344\241\374Eyv\'9-RuJ\267\356\372\247\247"
+"\246n\371|c#^\23\266\4\30\206a\30\206a\30\206a\30\206a\30\206a\30\346~"
+"\346\177t<Y\16\313Z\23}\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0M\0\0\0\276\b\0\0\0\0Ud\335\333\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\4\304IDATx\332\355\231[lTE\30\307\377\313\322\256\264\226\226\244"
+"-\2\5c\5[)5\2\205\6[$mRK\20\33\65\21211j\242\242\250i\322\244\t\370b\275"
+"\266*j+\bi\302C51J\24\225\304D\5\211DZ\302C\253\253\211$\224V\213\255]"
+"-\255\356\266\364\262\353.\373\367a\367\3549\263\267s\353\203&\363\177"
+":\363\315\231\337~s9\337|3\13HIIIIIIIIIIIIIIII\245\321*]\203\tUO\266\212"
+"\206*\337\33\226a5\323\244\200\253\236\42\178\254\301\352gH\1w\3734IvZ"
+"\302\355\364\223\2\256v&b\350r\232\207\335\33 \5\\\335\214b\370h\241Y\330"
+"\203AR\300m\237U\r\237f\232\203=\32\42\5\334\16\277\326\360\205\313\f\354"
+"\3110\5\265\336\25\20\r_g\1\200\301\36\317\205\305\221^;\27\327\267\331"
+"\220\31\347\36\23\234;\236\211\26\301\265\317L\16\3343a\1\6\274d\3\6\64"
+"\2110\240\325\6\fxN\204\1\373m\300\200\27D\30\360\266\r\30\360\232\b\203"
+"\243\303\6\fh\27`\200\343\220\r\30\34O\304\265u\354\316\204\224\224\224"
+"\224\324\377SuG\7\377\354n\316\233\27\326u_E\266\322\361\373\347\1v\253"
+"\'\266\317\77o\33V\356\325\344 {m\302\212F\265\351Q\250\316\26,\343\254"
+"\230\b\216.\261C\23\63\67\222\207m\300\326\375\23O\13\226Z\247\235`\202"
+">\264\276j\23a\274\272\332*\255;\t\215oY\204m\212\266\367\324V|\253\322"
+"\306-fJ]\221\346#k\200\214OT\334\335\226`YS$I_9\0d\365\331\234\207\373"
+"H\222\341\206H\351\306+\n\315\227\221\360\352\322M\272\264#\342\227\376"
+"l\314\271\232\204c\366\345\32]\332 I\236X\240\24\235\275\n\355\325\270"
+"\27+\247\223\270\33\247\2\222\344\36\325\320\246\320\316\2\0b\77\223\177"
+",\373TP\217vs\312\232\215.\201\326Q\204S\272\35-\6\0\64\67.N\250q\335\42"
+"\\E\220\\\243Kk\214\366k\352P\5\0\327\352\332\343\261i\330\255}\257\207"
+"\374M\177\201\354S\327\353p\237G\370\270\16hN\273\325U\300w\372\264I\365"
+"q\345J\261\252D3n\215\0\272\365i\36\275!\5\0\24\6H\226\351\323J\230R\1"
+"\365\216\345i\222\223\13\f|Y\236\324\270\202XOw\1\370>l\200v4uU\276\362"
+"\220\33\42\331a\350\306\314\237\322\267-\212ouN\0\77\31\241\r\277\222:"
+"X)\264m\0\60h($\265}\236\252\346\32\345\301M\222\313\215E\270\205\207S"
+"\364\364N\205\32$\31\62|\355\265\375\347\244\264\255\321\352\315$\371\267"
+"\211\363\370\35\357\217%\3226D\277\254R\0\270b\234\306\223\'q\323\272\342"
+"e9y\230\361^\366\f_\352\254\7\360\207\226\266\310\334\6q\361\242\246\20"
+"\2\340\37\213\316\351*aJ,j0\34\245\25\1@\316\42{\264\37\224\30\262\24\0"
+"p\203=Z\257B[\242\6(\213\227.\0N+\5\37I\322\372\245rm\200\374=V\212\334"
+"\323\365Z\205\255\367\221<\250\256\237\210\212\255\3016\214\223du\254\34"
+"\311T\370\262%\3306/I\366\253\221w\42B\363\346Z\200=\34\tx\315\252e(\332"
+"\3257M\263\\\357F\35\321l\327\347\224s\304f\223\260\262\37\2318H\37+a`"
+"\244\310\224c-JX\367j\317\37\373cQ\345\374\n\343\260{\6b\315\232\204\221"
+"T\203\324\245\365\6Y\365=j\243\363B\246\266V\23\363\374{\r\244\327\256"
+"\207\372\264\247\205*\241\3229\245\215\241\3\17\244\277\211wT\266\217\247"
+"=,\34\23c\362HK\312$\342\332\235\7\207\342\42\270\333%~\376x\344\275\370"
+"V\3\247\317\271\373\375\342^^RZQY\236\340\367\344\306_\342h\371\243\311"
+"\6\213\303\236\361\211\240\17X\354\314Y^\260,\371)\364j\303\227\t\266\17"
+"hU{\222\374\302mVa-I\35\376\306\32\254-E\220\n\317\237g\0:\315\263BO\245"
+"\\\223\331\375fa\336\3724K\274b\306\34\314\235\376t\321\20\62\301\n\277"
+"\243\227\33\354\362\33\206\r\350\237\26Q\3435\306\232}\321P\226q\375\31"
+"\3\254`\227\321\377\232\235M\177\351\260\346\216\230\271\373\310{=]w\7"
+"\367\25\232\334\210\262\37\357I>\273\3\355[\364\376aNZ_\260ckE\2316\222"
+"\205.\270{\316\\0\226,%\217\375\305E+\n\235\271\bMN\214\375:\24\220\327"
+"\276RRRRRRR\377m\375\13p\266\270f\2145\247\23\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Y\0\0\0\276\b\0\0\0\0{!\374I\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\4\351IDATx\332\355\231kL\34U\24\307\317\266"
+"\333]\236]\26\330RLY\373\240\332B}6Xm\250\324h\232\226Ti\332Z\32K4)\241"
+"f5F\232\306\210\304JTLM\214\226`4Q\212\202\266\266*\3264\251!D\215\312"
+"\306Wi\n\n\362\220\22%\264\245.\42\320\335\25\266\273p\374\260sgfwgf\347"
+"ib\275\377/{\347\3343\277\2319\367\334s\357\314\2PQQQQQQQQQQ]\313\232o"
+"\0\363^\373\25017\273\316_h\fx\311e,\4\0\230\2477\330r2+\334\320\235|\270"
+"\300\240\214\330\206\210hD\234\263<,Y\347h\274\3410(\26\367#\32\23\r\313"
+"y\36Y\327h<\262\202w\240+\271\f\214\42\333\r#\3%S\3625HN5\214<\217\306"
+"\231\222\3775\262\3170\362\354\3770\316\211\371\tq<\254\352\310\345\27"
+"zF\237\224vIP\363\214\363\337BD\304\27\4;\335\341-\22>\244\2lj\16\237;"
+"w{\\\262\302h\274\3620s\205\n\235Gp\337\1\322Z\251/\371\316\327\205\247"
+"\33\321U\265d\373\207\26\266\335-\3440\255\226\374\266\223k\237\324s\35"
+"\334\263\223k\237\352\324q\35\314\252\347\332\203\373\364\234\335u\351"
+"\0\60x\240x\377/\360M\221G\307\2\263\t\21gk\26\0\200\271\310$\342s\232"
+"\231).%\340\5}\210\201\7\3438\235`\310\217+\211\206k\25\300\243\37\313"
+"\254\374Jrc\341A\200\367\233\214\250\317\225\231p\265\312\210\312\237R"
+"\t\360\305%#\310\25v\0\31\340)\262\352\310&\233\\\0\260}\265\374\267d\331"
+"\344\302\225\0\220\376\335\16\375\243Q\2\0\0i-\307\263\245\375P1\231|U"
+"\330\335[i\226\362\273B\6<\206\234}\203\360\31\231\244\221v\370\247\315"
+"r\226\341hr\321\271Ia\317.\256\231\327\332\232\247\270\346l\360\267\211"
+"\364,\377\35y\n5\212\205\273\232\361x7\322\354\34\23\257Q)\256\226\216"
+"\201\241\321\0s\246\277\326&\350V\305\364\37\213\214\215\33\361\372x\217"
+"\265\370\236\352\263\210\2108\226)\324\375\224 \271\22qHV\3206\16 \42\n"
+"\336\264\213!\237\342\217\240\343y\200vYd\367\267\0\340\235\212\233\33"
+"$\77k\26\2t\310*NM;\0\240Sr\317o\341\221s*\42\223KT7}\260\6\0\240M\262"
+"\362\'\362\227OD\304\264\270\334\264\332pz\4r\4\273\37`\342\374\3g\262"
+"y\21Qd=.XF*^\301\253\1771\247\326\t\273\26\63\335\77s\321\330\223\2\0#"
+"\42\65\253\77t\376\302\244/u\361\315\31\304\324\373\254t\335\260r\246N"
+"D\304\323b\233|\214\322@\216\210g\1\3430\314Z\362\21\21\261Y,\272O\317"
+"E\200O\210\216G>\3431\316Z^DD\3047E\7n\347%\26;\363\321z\361\1v\222\331"
+"\317\306\271D|K\f\0\0-\237\25\337\345\264\203\177|\250\253\335\'\221:^"
+"\3467)\352R\2074\357\320\2262\367\354#\263\373>f\267\242\231L\376<\30#"
+"\344\r\341\343\f\315\344\275\314o\17\61\364\363\362[\2136\223a&\357I\311"
+"LR\5m\332\300\271\36\6<G>\235\257%\227*\325\4^5L8\237\263\331J,_i\1o\233"
+"`s\376n\336j\302h\243j\256\343=n\216~\302Z\17\262\266\376\4u\334\344*\356"
+"\206q\374:\326~\210\263\36\65\251\340fT{xUenK\354.\1\21\261\301\254\224"
+"{G\243\77\242^\361\367\357\373\371\35m\331J\260\313\237\351\213\252\260"
+"\257\361\273\313\42\272\306\367\312\274m\323m\317\235\215\256\334\370r"
+"\204\313\372\250\336\336\362\244\270\330\314\322\206\221\30,\206\236\210"
+"\312\230\30\217\211\306\255\211\22U\270\264\276k\26\5\364gq\3043\1\300"
+"\257\2\237A\202\35\337w\367\f^\211Z\272W\254\316\273u\355\42\221+\236\331"
+"\375[4\371H\271\350V{\30439\31\374;\0IV\233c\221S\252\316\206j_\n\305\30"
+"\267\240v\235\271E\350r\346\313Z\271c\217\211\274\225Ti\343\6\352DW\363"
+"\24\217\6\356l\363R\211\360\357R\315\r6\335(\235\371\307\325q}\365\313"
+"\342\315)\353\227*\270\27\253\323eT\1\333\327J\271\3562\213\274\2c}G\t"
+"v\242>_AI\334\376\207L\354\314\247\273\22\225\25\361\324\232\251\370\330"
+"\351\326r\273\212\205\307\346:\'\211\35n(I\226\375\251:f\231\330\272i\235"
+"\320kd\260\357Gw\373\260\222\217\340\202\273\2355\271\271K2\34\351\220"
+"j\236\236\361zG.\216\fv\367\7\201\212\212\212\212\212\212\212\212\212\212"
+"\212\212\212\212\212\212\212\352\277\244\177\0\362\23i]B\324\303\371\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0\276\b\0\0"
+"\0\0\243-XC\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4/IDATx\332\355\231K"
+"l\224U\24\307\377\35:cg\n\24J,m\245/\250`\253\215\220\22\304DB\b\211\13"
+"c\320\244Z%\6\22-&\r\32X\20\203,|,]\30aE\214,H\\I\324&\262 !<BR\335\370"
+"HP\20\215mm\345\325\226v\246O\206B\247s\\\334\373\275f:\355=\347\32M\314"
+"\367\337|s\277\271\2779\347\336{\356\371\356w\6\b\25*T\250P\241B\375;z"
+"\336\6~\3647\33\372\302\210\5\374\nM\310\341h/Q\261\230\356$\242\n)\\\334"
+"OD\255^;\302\242\333\353\1\64J\351\203\0\260I\350x+\21\21}/\244\77#\42"
+"\242l\243\b\216O\20\21\21\235\20\321\257*\230\262\273$\3647\232\246\364"
+"\36>\274|\206\\}\267\227\33\63\257Q@\177}\310Z\357\27\202\315\332R\16\35"
+"}6\347\306\0\207~\254,\347\306\237\254q\177\32\34\67m`\321\261o\3p&\312"
+"\233\364\207o\370\351\36\356\212\267\214\373\350\323\334\35ze\317\234\327"
+"\270\312\217\267\375\236\3556>\275$\353\322\325\202\235r\307\201\177\341"
+"g& \351|\370B\262K/i\323c\253$\266G\325e\2563)\261}\234\210\210n=\'\311"
+"\310\300\35\0\300\217gd\264\362\374I\310\350a\0@]\231\215m\264\330\214"
+"\33\33e\364\210\225\355d\26\0\360\204\360Y\246\2}Lf[\7\372\212*\31=\244"
+"3\254\214\326K\326$\243\365\2447\313h\275\340\33lf\r\353\255fmM\314\306"
+"vd\235\315\270\261\326f\316!\263\235$um\24\321\31=\360\6\21\355L[\255\214"
+"\326\323V#\243\365\264\255\\j\3439jE\364\220\25\355\330~\304f\334\250\266"
+"\242+\254<\257\22\321\303V\266ubC\245,\243O\252\323\303\204\310\266\23"
+"\252\313\243\42:\245\257+E\364\250\25\355\344\246\25\42:\371\37z>\362\217"
+"x^bE\307\255<_fe;a\25k2\3173\343\352Z*\242\275\23\276\210N\315G7\225\363"
+"\350b\77]s~\222G\373\307\35\355\272\227\221\217\373\360\346^\323q\217\345"
+"\3215G\314\337\247\307\363\350#\t6=\343\322U\35@/\223\276\357\322o\306"
+"\30\225\0]\335\273\347\320\221\3279u\204\311\34\317\237\251\7F\246M\351"
+")\327\5E\277\f\240\3178R\3239\364.U>\341\215;\245\351\246Z\26}\337\315"
+"\255\21\0\330\1\26=\343\36`\42\0\260\r\0n\230oQ\365V5\250\351-\0\60mNO"
+"\1\300\334-E\227\257\325)\222\245\333\31E\253\27\2732&\335\253w\211z\277"
+"\251c\322=\232n\360\275\247\230\353Z\200~\332\230\213\226\1\300\25\335"
+"\352Vu\316zS\272\225\210([\256m\257\6\0\24\275dJ\267\3@\217\223\227\207"
+"\325\21\252\337\260\254^1ND\364\271\323\234\326\365\233}FpQ\27\21\21u8"
+"m\247\3604jTa\375Hun\310\245\351\322\342\245\302\310Q\325\325\373\337#"
+"\355\342_\306\26\201\253/\350\236\37{9\322+\330]\\\360\354\32;\340v\335"
+"\342\336\34\364\325\32\207\336(*\304\226v\366\273\335\372\274^\227\3u\322"
+"_;\226\316\203.\331~|\314\327\351=\357\233s9E\332\364Wo\265\370\347/\261"
+"\365\355S\311@\217\3315\356C8/\253\304\333\3320\333w{\360\356T\346\241"
+"\304\252\325u5y\236t\335\364>\37&\246\262\255\276\247 \373\77\253\323\77"
+"\371\3\227iz\2669\360[\277\363\350cAO>a\301\39+\372\24\7\316\354\310\335"
+"tW\31\364\373y\223\270\327\34>\225\37\311\305\227M\341s%\363\254\340\326"
+"\214\31|61o\0\34\62\202O\26\332\377\307\26g\323\373\13\207\337\7\331E\340"
+"\356\346\205\242w\347\365\205\330\77v\27-\34\374\361w\206\nm\252\356v\203"
+"d\37}\361\353T\36\372\240\373\335u\205r{^\n\332\264\361\361\306\312\312"
+"\322\2228&\357\246n\16\\\373\371\2074B\205\n\25*T\250P\377\37\375\r\316"
+"Cl\275\n\0K0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62"
+"\0\0\0\276\b\0\0\0\0R&\3\316\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\\"
+"IDATx\332\355\226Mh\23A\30\206\337L\266\6LM7\232\330hU\320\36DA!h\251\236"
+"\264\340]T\360R<\211\275x\21E(\210\202\77\24\n\342\301\243\250\247\242"
+"\240\7\17\42\b\42\322\203\305K\213\267`\25\321\42I\223\224\24A\373\223"
+"&\31\17\33I7;\77\371\nJ\320\3579m\226}\366\233\331y\347\233\0\f\3030\f"
+"\3030\f\3030\f\3030\f\303\374\247\204u\3677\'~\326\b\357q/\214/H\271\370"
+"\372\374\306\26\5\347\362\274\254\263t\177O+F\352\255\\Eu\254\327j\354"
+"\372*\375,\337\356\264\324\230\221\1\276\2354\31\353&\244\212\'\t\2752"
+"*\325d\217\351\214\276\212F\221\325\353Bi\204&\244\236\347\33T\312\ti\342"
+"}J\241L\32\259\275-`\34\225\26\62]\315\312S\233\42_\204\0\204\32F<\27\1"
+"\62\223Yw\177\237.\337\30|\344\373yV~\271\272\23\0\260\375NYS\346\225\377"
+"\r\267N7^\236\236V+\17\r\311\211\253\227(mJ[\364\235\302xc\316t\362sP9"
+"nV\326\237\13\30\37\5\08\252\247#\7\372\17\246w\7sxW\335@\304\341k\343"
+"K\352\317UTm\317\320\300\275\274~\355o\6\205\330\245O\246\264,o\t\354\341"
+"\341\2229`\17\232\215\376\17\226H\326\3666\31Ce[\212_6\31\27\255\271\227"
+"\3~\343T\315jL\371\215\255%{\2213\215\236\r\0#q\0\300\217\261\357\336\352"
+"\270@8\6\67\322\351\272\277{\377\314c\237\262c\20\0\260pdJ\21\206M\211"
+"dw*\331\365\254\342\273}\303+}\205p\2e\274~\330\335\272\321So\273\255>"
+"/\200C\336\325\nA\331G<\221\5\320KWz\350J\222\256\304\274\253\16\202\22"
+"\255w\24\202\342\320\7\266HWf\351J\201\256\344\350\312\34]\311\322\225"
+"\342_\371b\3715+\35\4+\\\365v2\241J\265H\36\30u2\2\344\304\b\220\23#@^"
+"K\1\362Z\266\365\\\250{\f\200\343\235\224\16\241J\305\333\227Q\202BL\314"
+"\77\247\24\350J\216\256\24\333\265\312\312\234\366/\263N\361\312\2202F"
+"\233\314\252*\370\323U\nt%OWf\333u`kP\312%\202\362\13\376a4\30\206\335"
+"\207|\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0\276"
+"\b\0\0\0\0OX=U\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\261IDATx\332\355"
+"\230YHUA\30\307\377\3274-o%Y)&\255T\266Ae\213\320F\213\21\364P\321\366"
+"T\21\32Q\364P\20A%\21\211\205T\264Y\364\20\21QDE{\321B$$\221\264B\224("
+".m\242YXVz\315\322\373\365p\316\2343\367x\257\316\362\322\303\374_.\363"
+"\2353\77f\346\314\374\277\357\16`dddddddddddddddd\244%\277\330k]\42>I}"
+"\322\263Hk\4\251\345D;u\1D\271\272\0\242<]\0Q\276.\200h\237.\200\350\240"
+"O\23@t\304\247\t :&\211\270M\355\264\\\216\220R\352\5\34\222\235\206\27"
+"q@\376[\204\42\224v\4\217\330\253\266\245\\\204\362\311`\210]\352G\313"
+"B\344\350\34\357\224R\242mz&\227R\272U\327\'\343M\252\370\357\2254^\227"
+"\260\2572A\17\220\360\213.\351\21\266\20\321j\35@T9\21}K\322 d\22\21\321"
+"y\r\3029\42\42\nNW\6\364h\262\254\347\251O\225\260\222\331\337\42U\302"
+"uFx\251:\211f\307\3043\325\b\313\3344pS\215p\332%\264\rP\332Nu\\2S2\362"
+"t>\35\226\332T)\302<\2761b\214\2\341n\13\337Z\2502\215\215\3744\36\251"
+"\20|78B\213RF\351[\303!f{\326a\210\b\341k\26\271\215\214P\302|!\2\356\234"
+"\340>nh\242-\357\42\370\267\243\322\273#X\21xUt)\346\6\31\241\265+\27^"
+"B\333\205W\363\2143\210\341n0\246B\3022\222\177\360\'\334^\311\254\241"
+"\250\24&|v\352\273\376N,\272\212(Q|St\257\265\307\260\305\31\303\302\301"
+"\370[/N\b\2602\267\267\23z@T\'\225\371\2\326\30\n\330\30\6\315\2~\311\20"
+"\32\256[\277\261\214\260\42\n\bH\35\217+\366\2020\302R\0\315R\204\207\234"
+"\363\1HN\7\360G\212P\377\36\0\320b\23\62\25\62X\5\0\240\321&\314T\360\211"
+"Z\0\3007\2330\25\0\272\312\21\32\35N\24\340\37\316\226UB\261\0\200\17\26"
+"at\24\0$\313\21\322\0\0%Vc\225\265\277\3742\200~\177\210\210\32|\326\30"
+"\6[\301\t2\204M1\0\360\224,B\252\25\224\251k\3226\3\0\330\35\311ek\26/"
+"\304\1\275^[]2\354\366}\373\260\247\13\333C\241\325\241\226\31}\221M\270"
+"&ZW\27\333\35\216s\346`i\201\20`F5{\237M\2\267X\344\313@\201B\352P\33{"
+"\375\225\23<\353\230wYg\205M\364Z.mf;\341|7X\335\341\'\215__\305\245\335"
+"\217\356I\332\300\205\377\36\353\33\251\377\304\243\337C.\25\326\271\217"
+"f\205<h:\221\321\336.\342\346\354\257\360\\k\224D\263\222\2\3607xrn\315"
+"\303\342\267euA;A\r\32\65vrz\254\227Is\n]\2\236\207\333K\301\257M\255\315"
+"=\272\365\211\t\77\247SY|+\207\244U\3253\2047R\32\3202\3113\244\373\262"
+"\2045\355\nMI@\230\273\231{R\200\2020\331!- \18\34\66\275d\13\367\17F\252"
+"\226\n\4\1\77\26G,wO\n\1\236\r\353\240b\316i\353\264\177`Gt\307\177\36"
+"\336u\262\2\27:u \177\336\317\310\375\333.\216\23\361\300\304\234\212\360"
+"\375\337\347\16\24ur\337\264=\317Z=\207\340\361\356)\35T\30\341\36\305"
+"\215\31; %\261\227/\276\261\271\376S\345\3337\277\315\315\221\221\221\221"
+"\221\221\321\177\243\177\340 \313\2\322\370\332\36\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0\276\b\0\0\0\0L\3573}\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\3UIDATx\332\355\230[H\24Q\30\307\377^KK"
+"\355\242l\17Y\255\224=D\321\215\322z0L\310z\210\310$2\24\272=\4A/E\22Q"
+"Q`7\250\350!*\202B\212.\220\21\33\246\2317\274\220\24ehVJE\367\33\242y"
+"\267t\377=\234fwfvfwf\5\237\316\357i\3179\363\3339\373\235\357|gf\1\211"
+"D\42\221H$\22\211D\42\221H$\222Qb\352\316\210\340\335O|2+H7\244\232dW^"
+"p\362\26\222$\257D\7\341F}\26\62\233\222\355\313\273\250\360{\203]7\374"
+"\203G\246\273 \314\236\234E5\305\23l\311\21742[\355\254\231\323\255\225"
+"\331\236f]>@=\203[-\313/}d\272\17Ztg\323\210\213\326\202\276\333PfQ\244"
+"\25\271\310Xf\251\225\\}c\42\263&.\260|\303Lf]l@y\312OS\2736&\240\275\326"
+"mjW\4\376\335\r\2462\357\5Z\261=\364\303\265\20\277n\352\220\77\231\207"
+"\374\271c\333\374\272to\366#\37a\0\372\27\231\327\334\276\377\327\324\367"
+"\230\331\357\'\233\311\227\224E\211L8\77lb\273L\2026mP\214\277M\0\220\376"
+"\303\304\336i,\237\22\243=sEMy+\232\257tro\222\221\33\335!\42\232\245D"
+"@\24\360sY\2729\24\33\311yb\354\230\247c\371\20Iv\216q\224j\355u\6r\31"
+"I\262Z\225\203gH\222\253\20Z\240\311\370\346P\37w\322_\222\354LTu%\364"
+")i\2253\240\266\263}\344M$\311\335\232\276;$Y\b\0i\35*\271\322G\276@\222"
+"\337\264\305*\237$]\0\200\371\252\260\271\247\3\320\314}!\0\334\370\243"
+"\221\307\0@\27\0\240q\305\17\357\t\236\241\227\235\0\360Y\343N\330\6\0"
+"\357E\343\325\312_\236\1\237\f\27\63z\270L\225qOI\222\353\225\366\322^"
+"O)6\226\311\272\315\343E\364\367w\222$\207\23\2745J\331\355\367\365\262"
+"w1\372+O\357;Y\246\264\37\353\3h$\233m\204|\365\263\216K\364\335\325\7"
+"\354\253\361n\341muc{;\0\240O/\2771\226\353\337i\246w\0\0\320\17@SJ\35"
+"k\214\355\305\363\247\215\33\354UZ\215\271\23\1\324\226\350.\212\37\360"
+"S\273:\32\256\356\315\214\7\200\343$y\330~\365\343\353\263sVv\371\356\0"
+"\0Q%\f\314\220\250TY\0\302=f\304\202U;\22-\34\301a\42L\37\0\204\244\317"
+"\f\213\215\214\233\354p&E\302\6\214\353\6p\235A\321\6\375:\333\240j$\262"
+"k\4\362\327\7#\220\217\376\365/\377\246\271[zQ<[\233\215\277\310p\247\246"
+",Yb\370\274\\\234\375\377\213M\226\252I\24\217\220\344\215\'J\277h\207"
+"\232s\225S\322\344\316\3172E\251ck\353-`br\362\214\251\216\270\30tv\177"
+"l\251i\361^fx\347\212XKa3\f\330\315\325]\301\312\303\3719\203\26\337d|"
+"z>m)\267\272\332\372;\263p^\271\365\\\321\6\254*\305\326\13\230\352\363"
+"\273\222\313\317\355\275\257:\')\307\305\367v\371\267\201D\42\221H$\22"
+"\211D\42\221\214.\377\0\241\205\237&\22\138\347\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0\276\b\0\0\0\0\243-XC\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\3\fIDATx\332\355\230KHTQ\30\307\277\231\311"
+"\231\304\'\223\202\371\230ja\22f\4\242TTV.\202\350\r!\272\210\26e\204\202"
+"\24\255\262U\265\252\300JH\322\205\224FHa\202\321&\212\302|D\21\212e/\263"
+"\322\312\322,2fj\30\307\177\213{\257s\347\316\353\234\13A\213\357\267;"
+"\207\363\273\217s\317\371\316\177\206\210a\30\206a\30\206a\30\206a\30\206"
+"a\30\206a\376\7\342k\272\307\207\232\n\315\311k\336\3\0f\33\343M\310e^"
+"\250t\245H\313\333g0\307m\233\244\\\350\206\216crr\342k\275\fo\256\224"
+"\335\200`n\312\310\253\374\6{6_\\\266\364\300H\223\304|\207\310\230N\20"
+"\266\373Bm\354\21\225\327*\343\277\216\350\355VQ\273U\31_e\257\371\25\260"
+"\307\5\345$\17\0`\324A\224;\30\320\227\212\331\25\312\350\32\42\242\264"
+"gsv\205\230}\r\0\60\251\354\254|\237f\237\26\222\255\223\0\200\223j\263"
+"M\263;\204\354<\0\200o\241\332\254\324\354\1\42\262\306\336]DD\324\251"
+"\315\261_\353\317\24\262\225\271mW[\266\275Z\277\323*\362\344\315\312\236"
+"lXLD\224\332\26\370dB\25\346\206:\330\327R\272\243\356\273n\265e\210\330"
+"\267\20\1\227\310{{\242}\315\230\366D\224\313\306\266\207Cz\360\212\210"
+"\210|\42\357\275:\344\205Om\0\0\b\2555\333g\203\334h\261|\4\360Sl\227\324"
+"\6\313\365\26\242K\0\206\5\17\277\1\235\353>HD\264\37@\257`y\310\352\237"
+"\223;\225c`3\200\353\242\245\311^\365\310\7\370\207\316\255T;J\0\234\225"
+"8\17\342r\262t\7\357V\0\207\210h\236\240\355\33\323\2672\211\350\205\320"
+"Z\213\264k\207Lg\220.`\314\264\234\374\7h\'\263O\276\313A\324c\372\336"
+"\275\0\212\314\312\353\0L\331L\312\326\307\0\256\232\275u\265\324\1l\240"
+"\300\3\300\235hNN\177\3\0-\346\344\24%Gl2%\247v\1\0\236[\314\310\331\352"
+"\351_iF\3368\241\310\237\34\362n\334\t-\350V\313\313\205O\265\3624\34\'"
+"\353\246]\f\204\315m\222nB\355\217@Y\355\220\374\306\307\'t5y*C\306\315"
+"\255\237\16J\307;\305UG\371\35C\270\256\23\16\326\305\347\247\214\'\240"
+"\340O\22K\321\231w\241y\241O$X;\313\232\307\303\205\215\'\316X\246\253"
+"\374B\377L\370\244r\337\30\223t\233\305\232\261d\331\362\202\25i\21\257"
+"{\245\322k\264\223v;\354\t\311\316\364\5\331.{\364\364s\2701\\\2618\372"
+"\22\2t\347E\232\336\365\227=1\334\321}\321\352A\312\201\7\263\221\335\267"
+"\325\363c\315u\316\221\207a\247\332\335\266%\342\n\tz giIq\201\3766\236"
+"\301\236{w\177GYR!\1\313\265(35\211\210\274\337\276\214|\360\363\77\36"
+"\f\3030\f\363/\370\13\210\303Ow\377\241+\224\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0X\0\0\0\276\b\0\0\0\0\224\343\227w\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\4\325IDATx\332\355\231yl\24U\34\307_\331"
+"-l\261\7\325\262t{\0\251-\322\250\33\32\312!\240\310a$\25A\320\242\340"
+"E\320P5\230(\301\4#\230@\224\77Zk\242&F\210\206h9\224\232\6C\42\342\1\251"
+"\324\24\202\24h\223]\311\342Q*\325v\265\7\355v\267\273\313~\375\243;\263"
+"3\263s\274\3317\306\77|\337\277\232\367~\375\344\315\314\373\235K\b\27"
+"\27\27\27\27\27\27\27\27\27\27\27\27\27\27\27\27\27\27\27\27\27\27\27\27"
+"\327\377Ei\226\322\n\335\305\216O\6\254>cy\255\17\0\3745\343,\305\316;"
+"\16A\373,\304\346\37\212\211\\\214\344X\306]\3777\244z\324\42\354\204\275"
+"\220\353-B\210\235\235;\245i\201r\305\22p\351\361R\345\322\210\25\340\362"
+"\357\\Ik]V\\\336\36$\253\212\235{k\227\nw8\203\231;\331\247\302E\3\63w"
+"\342\31\65.\26\62\7\260\3\252\334\363\314\7~E\225\213u\254\334eQ\31o \36"
+"-|6Fn\201\364\242\205\77\275\337^\361\5\0\340\31F\256\355\373\4\66P_@\b"
+"!d]\0\270:\236\21\274[\304F\366\211\276\267h\30/0r\27\211/\270\325-Y^\372"
+"\253\203\215\233\365\213\20\324_\224\'\242\\\306\3\13\21\370\302Lk\363"
+"\346\222\370\325\332\353\260\226\353\30\13\21\341\315V\'\372\327\1\0\327"
+"\227Y\315\235\32\4\0\377l\313\253\247\203\0\340\237e9\267\42\6 0\317\372"
+"r\357\30\200\330\303\326sg\305\0\274\375/\324\247\r\0~2y\177\27\3147\266"
+"q\215\2Xm\216\373d\250\300\330h;\0\237\271\252zU\364\22\205\225\7@=\205"
+"]\42\66\335v\300v\302\330\376\366rB\310of\300\266\206,r\312\330\376AB\b"
+"\3114\363\42^\6\302\24\377\360\r\0|e\202\233\327\17\264Rd\272!\0\210\255"
+"\241\7\327\1\25036+\213\247\271=\223h\17<\f\340!c\273*!\323\r\355\177`"
+"\42\rx\7\0\270\214\355\236\225\324\22\301S\273V\334b`\77\276\33\300\357"
+"\24\7\330\246\254\247~>\262}E\276\232\345XE\277\322E\b\241)\346\222\32"
+"\200\222\222jB\374\27\333;:<!\215H\210=\24\340-\320T\244cg\261\322<w\24"
+"\0\36\247\0\257\201\236\42\37L\226\233\77\r\0\270\213\2<\3\372\372\343"
+"^\231\371\21\0@>\315\365\3512 \7\226J\335i\0\0\242Tu\355\33\6`\3648\23"
+"\306s\0\0\375t\355L\237\21\371\335\204\361V\0@\'\235\217V\307\f\300C\16"
+"\61lV\2169\t\35\270\361\271\250\276Af\245\370\247w\254\207\240\215W\13"
+"\275\372G\26{\5{\30\0\20\245\236\270\244o\272\250\7\336\246\b\205(4\21"
+"\276\335\257\235\34\326\2o\21\234_\0N\275F\17no\177\3236\343\216\262\351"
+"\205\256\274\233oR\354\r\n`\301\r\335\255\304\214nx\275\361\264\231\223"
+"\341\30\227C\322\16\307\347\26\227\5\213\215\361G\370\320\232>5,>\301\363"
+"Bhe\342>\42\264Q\77\210\351\77(\204V\226\212\367\251CBD8*\256m\20>g]\312"
+"X{\255\350\217\221\242Di%\254\365g\246\310-iI\\\266\317\22\313\213\305"
+"\305\235\251\35\367\245\241\4\67\66;\251V\0\20\230\226\312t\241]\352\35"
+"\207%;\31\211\345\323\246[\367\312\23\62\257\33,\222nJ\6\17\357\233\253"
+"|\357\371R\341\3165\262\355o%;\357\320\223\'<qN\31&\232\344\26\365\322"
+"\275\306l\312I^}oR\370\361*\346\273\33d\273\276\373\214\251E[\177T\tk\275"
+"\312!\247S\221m\216\316\325\245\336\371\352\31\325\3644\230\334S\266)m"
+"Zj\3624F\257\33\77\276\246\21\206\257\337-\37\312\21B\310\356d\317\210"
+"\2665\237\365\\\211HF\te3\335\25s\234\232\317\321\267\2625\31\\rE\375."
+"D\376\354\356\r\5C$;\333Y\230\257\177]:\253<j\313\'\301\250\226)\32\275"
+"\20#\367=-\217M;\313\202\355\253\326~E\313\31\270_\27\351\275\374\375)"
+"\37w\223\376W\315\275\232\22\66\366\221\323\310K\347\6R\3406S\314!\310"
+"\332\250Y\354\205U\224\t|\324\24\366\334Z\352\b\273\374/j\352\215c\246"
+"\246y\305\315t\330\236\332R\263c\354\315\335\206\324\340\347\253\323S\310"
+"\271\231;t\321\3\215\353\263R\255j\322\37kR\277y\241\323\273\26\323\377"
+"\346\245\372e3\226\314\257\254\220\266}\376\313\236K\347\333\42f\316\247"
+"}e\34\323\\\271\366Ii\201@\177o\347\b\341\342\342\342\342\342\342\342\372"
+"\317\364\17\67u\224P\220\240}}\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0X\0\0\0\276\b\0\0\0\0\224\343\227w\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\5\205IDATx\332\355\232}LUe\34\307\237\353\5\275(\257"
+"\305\333\345M# Yu\'\211/\251e\242-F\246iAaY\314\232T\263\255\234m\266\264"
+"MW\376!\321Vm.\245\306\n_J\32\323\271EV\352\b\328\23\5\352\42\3T$)\240"
+"x\21.\\\270\327\373\355\217{\317\271\347\234\373r\236\363R\377\364|\377"
+"b\277\347\307g\317y\316\363\373=\277\347w.!LLLLLLLLLLLLLLLLLLLLLLLLLL\377"
+"\27\31t\245%[RM_\216\350=\307\354\375\235\0\60X:CW\354\222Zp:\244#6\361"
+"\250\213\347b\42J7n\361\337\20\352\31\235\260\263\16B\254\17\b!!\332\271"
+"\t5\313\244\26]\300\31\265\31R\323\204\36\340\3543f\37[\257\36\233\267"
+"\37\276*\320\316\275\273\327\17w<L37\256\323\17\27U\232\271\263\233\374"
+"q\261\\s\2;\354\227{Q\363\204\337\362\313E\221V\356j\247\2107\342\311\26"
+"\235F\215\334$\341F\233\376\352\261\220\234\223\0\200\2274r\215\77y\261"
+"\266\362$B\b!E6\340\306L\215\340\275<\326q\210\217\275\25\343xM#w\5\277"
+"\300\215\26\2019\357\232I\33\67\342*\227\324_\27\37D1\32\'\314e\340K\363"
+"\365=7Wy\266\326A\223\276\\\223;ELo\325\373\240\177\27\0pk\265\336\334"
+"\264I\0\30\\\250{\365t\4\0\6\27\350\316\315q\1\260-\321\277\334;\5\300"
+"\365\224\376\334\5.\0\37\376\13\365i\25\200+\n\367\357\262\245\362>\346"
+")\0\353\225q7\333\223\344\235v\2\350TVU\257s\266PxY\1\224S\370ys\323=\207"
+"\215\247\345\375\357\315&\204\\W\2\66VE\220s\362\376O\20BH\270\222\205"
+"x\23\230\246\370\207\37\0\340;\5\334\330a\240\221\342\244\33\3\0\327\6"
+"zp\31\2002y\267L\3171\267/\232v\302\343\0\236\224\367+\340N\272\261\312"
+"\307g\323\200w\1\200Y\336\357eA-1ynO\376\2352\3763\373\0\374N1\201\35\322"
+"z\252\373\370\316\374D\177\236\356\212~\255\231\20BS\314\371\\\0\322\323"
+"\13\t\31\274\334\332\326f\265\7\310\204\330G\1\336\206\200r\264\355N\225"
+"\272\307L\1\300s\24\340\r\b&\307\247qb\367\27\1\0\17R\200\263\20\\\177"
+"<\42r\77\16\0H\244\331>\2752d[\2360\234F\0\300IU\327\276\'\3F\177\274\327"
+"y\21\0`\230\356:3$G\376\330\353\274\35\0\320C\27\243\205.\31\360\230\211"
+"O\233\271\356 \241\3W\277\342\f\356\20\236\313\377\331\356\276C\320\346"
+"\253\345\355\301\247\314\337\25B\246\1\0N\352\216K\350\226\313\301\300"
+";$\251\20\311\n\322\267\345\235\263\343\201\300\333\270\340\347\200i7\351"
+"\301\255\255\357\33\263\356\313\234\227l\216\275c\216dl\224\3sahi$Jt\273"
+"\275\335slF\205\231fD\21\3031O\337\242\203\363(\361<\302g\372\334S\247"
+"\371\'x\225K\255\232\270Os\327\250\237\371\343\177\222K\255Z*\336\27\216"
+"r\31\341\4o\333\304\275\3162\325\330\220\375|<:R\274\245\25g\33\16W\311"
+"Mo\360n\266\257\275\346\225\274q\267\272\351\2761\346\345\272\26\372\324"
+"\n\0ls\325t\27Z\205\321qL0\22\3465\327+\276\272\347\236\26E\335h\212pP"
+"\320x8\240\254\362}\370[I8\227\212\206\177\24\214|DO\236\365\374\5i\232"
+"\250\21{\224\13\307\252#);y\345\3>\351\247]\322\337\335$\32\355|T\236\232"
+"\262\375\27\77im@\332\344\214\227\2346\'\26\7\245\336\377v\223\337\343"
+"i\324\367N\331,\365i(\215\r\320z-\371\342f\2004|\353!qS\216\20B\366\372"
+"F\206\263\271\356\274\265\313!h%d\316\267\344,\212\17\370\34Ck\33}\301"
+"\351]\376\367\202\343\317\276\1\373\244\235DF\306\'\'\6\337.=\5V\177\346"
+"\263\320\250\206\204\0w!\215\334O\2E\254\341\274\26\354Pa\340%Z\243\201"
+"\373}J\260\305\257T=\335-\301\337j\314\rUX\327\347\361rQ\272\330\246\202"
+"[G\321\207 \33\235J\261\227\326Q\36\340S\212\260\27\66Rg\3305\177QSo\237"
+"R\324\315K\255\243\303\366\357\317P\332\306\336\332\'K\235\374f}\250\212"
+"37|WP\364Huq\204\332\252&\364\331\32\377;\317^\277g%\3757/\277o6l\325\322"
+"\334\34\341\265o\260\303\332r\261\331\241d~\201\267\214i\2569&$\332`\263"
+"\r\17\364L\20&&\246\377RQ\69\203:\305\267T\210Aq-\225F\35\270f+ \42\'\374"
+"\n\34\321NN\353\4D\344D+\0Tk\375zy\3275w\42\346\311IW\334\206\223\332\310"
+"Y|\r\343!\247tp\206Z-_\367\263\5gT\205\201\20\222\326\3455\234\231\243"
+"\232k\21\375\276\241\302@\346]\25\32\352#Ur\37\220\324\30\25\351\327\305"
+"\206\246h\205\ran\277J:\1y\277Iz\270\261\341*\177\301\224o\27\65\266SI"
+"\211\250\266\353JQ\275\310Brw*!d\263S\27\256\220\334\355^\206b\247.\\/"
+"\271\233[\336\42\207.\\\216\334\235*\251t\251\270\377\0p\222\207G\322t"
+"\3758\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0#\0\0\0\276"
+"\b\0\0\0\0\232J\351\30\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1oIDATx\332"
+"\355\224\261K\303@\24\207\317$(-E\13\nR\220N\235Bq.(\322\301A\4\7G\327"
+"R\227\202\223\233\31\\\n]\212\223\375\3\24[pPG\235\n\272\24\34\202\213"
+"S\213\330\301.\16\202\5\241D\372s\270\363.\332\334\5\34\345}\333\205/\307"
+"{\357\367\22\306\b\342\317\244\3548\303=ub\214\205F\200m\2431\275\377\6"
+"\3005\30S;=\0x\261\364J\241\3\0\300\241\326\310\266\306\\yH\352\332\255"
+"~p\3\315\371h\303)\r\204\341\27\65\227l<\n\343\265\242)\327\275\26Fp\234"
+"\326\317\214\323vM3\3\200\'5\\k1\254l\366\2041\364\22\362a\321/\207\272"
+"i\bc\334\312\2521]\0[\362d_}\367\273\372kL9y\256\211~we\277\26\37\323\263"
+"T\362\237\0\20\34\251~\13\367\374\255\3\371\344\4\0n\334\311\274|Y\276"
+"\363\16tU\277I\231\327\271\312+\217\2417\243\26\247\37\225\327z33\2618"
+"\30\224~\344\245\16\2313Q\310\250\226\212N#\341\r\305%\2279\335\6\367\343"
+"\26g\371.\272\220P^U\261\26\243\372\234\346\222\331vL!\214\331\2671\205"
+"0\306\366x\242e\303\7\307\272\0F\365\264\351\313^2\26\302Y3\26\302Y\251"
+"8\3643&\b\202 \b\202 \b\202 \b\202 \210\377\302\27\375\243\33\65\331`\370"
+"s\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\'\0\0\0\276\b"
+"\0\0\0\0\223\241Ib\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\33IDATx\332"
+"\355\225KHTQ\34\207\277q\242i\\h\245\244L\221P\241\20Td\220P\20H\224Z+"
+"7A>z,\302EC\255\n\332\210\25(\324B\b\\W\213\302\36\202DF\301\254\254\334"
+"\330\256\302\300\6\246@{\t3\272\321t\306_\213s_\5s\247]\4\347\333\234\313"
+"\357~\367\334\313\377\234\363\277`\261\374;\42%\3567\324/\276^,9\311\351"
+")I\77\272Kh\233R2\\\n\325\352\322\216\246\374\301\20\255jZ\36\23!\337\366"
+"T\1\352\213z\335\322\207\266\332\326\267\306\353,\246\305g\244S@MN\222"
+"t\256\254\210\327\225\200)\340\333\b\0_\212\3157!\351!@R\222TWD\333X\220"
+"\244+\300YI\312P\344\275\273\313\0\372{#l\1x\36\364\332\307f3O\216\231"
+"\353\32\63\\}PQ\t0\342[\261G\246\2}\0\264\270\205K\277\2224\33\365=G\323"
+"\352a\200\352B\260\312\3\276v\322\13S\0\214\6\264\302v\177\225\374\305"
+"\314o\0hX\362\275\351r\317;\20x\274\25\200\316U\77\231\254v\275>I+\313"
+"&M\232\350\314\262/\276p\275\307\372y>\26m\237\221\244~\';\364\331\27\367"
+":\331K]\4\330\261 i\320\333\317Y\317K\272u\316\f\1|\274\1\304\234h\335"
+"\235\365\336\367ov\274\357\303y\0\206\201\5\23U<k\203\\\357\22\0\225\216"
+"\367.\345L\13\314\3\260u\274\31\346[\2567\275\'\360\216\243UfLH\352\1h"
+"\376*)\327\4\304\6V\244{\216\267\326\31\217K:\1\361\233\5Is\215&l|\343"
+"y.\203\222\216D\273>IRf\247\233F/\f\375\341\245%\3355\347v2\21\310\327"
+"\374\256\355\367+{;\36r\266o\271V\266#\254S\304\346\234=x\2776\264\243"
+"t\230\3556\272\257D\203\32\227\224\276\266\255T\273\333\223\35\273\274"
+"\353/zky\304\376_,\26\213\305b\261X,\26\213\305b\261X,\26\213\345\177\341"
+"\27QY\205\3\256\32\2732\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0#\0\0\0\276\b\0\0\0\0\232J\351\30\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1TIDATx\332\355\222\77H\2a\30\306\317\77\b\206\205\203\2206\334"
+"\20B\341&E8\336\320\340P\203\3435\332\346\322\340h\320\342x\2534I\233S"
+"\b-\t\21H\223\264\b\6N7\331 \225\203\201 \34\207\3674\334{\3379\334w7\7"
+"\357o{\37~\37\337\303\367\275\212\3020\f\3030\f\3030\f\3030\f\3030\f\303"
+"0\377\233X\244\221\312\'\242\224\352\323W\204Q\32\0\227\241F\256c\38\n"
+"+\322\\\2\300gH\345\232\t\0\300\255\324(\17]\3\37;\22\243\320\335\220\362"
+"\222\17\66\322\255\25\31fM\362\252\372\214\214e3\25\254TFd\330\235\\\260"
+"\241\366\34R\6\245`#\323^\2231\255\2120y\260]\344jN\306\242\221\364\377"
+"kz\275u\315+\31\226\221\25a\361\31\270\20\323\3117)\375\242\310\262\206"
+"\5\340\320\33\367\177\\c\254\371E\32\13\0\60Ep\17\0\230\327\343\42\321"
+"&\356\251\33/H\374\2X\2673~\221>]\375&\352\37\3NO\25\306\236a\271\206\363"
+"\260+\302s\214*b\210\327\275G\330\n\25\345L\3677I\33\2231\323%\353\245"
+">\222\261j\245#~c\323-\4\33~\221aY\262}\247\357\21\253\245\304\356l\311"
+"j\375\1\333\305\3721:\33b\275\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0#\0\0\0\276\b\0\0\0\0\232J\351\30\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\0\326IDATx\332\355\323\241\n\302@\0\306\361s[\231\f\25\304"
+" \210i\331,\b\262\27\360\1\254\303$\370\2Z\7\226=\206\b\206\371\b\202\26"
+"\301\260\27\260hY\261)\f\206\340g\330E\357\16\214\343\373\345\77\307\307"
+"\356&\4\21UA\315XX\35\333\224\4\311\323P\364\23`\242-\274(\7\340\353\206"
+"\204\31\0\3344\311\360\2\0\300R=d\373)\223\324U\24\365(/\13\354\332\212"
+"o6\275\313\42\rTC\316\262\310B\353w\321\335\310!\305\332\373]\270\253\227"
+"<d\357\377=dp2\rq\242\267\34\22\67\25\2074\16\206!B\330G\303\20!\304\2"
+"\0\360\230Y\232\33\274\2(\342\226\356\245\364\264CJc\355\220\322h\356\360"
+"\377\'\42\42\42\42\42\42\42\42\252\212/\256L\215\25\300>j)\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0#\0\0\0\276\b\0\0\0\0\232J"
+"\351\30\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\235IDATx\332\355\224\301"
+"+\4Q\34\307\277\263\313\246E[\16\224]Y!$$\'\311\tE\16.\344l\25\305\201"
+"\222rp\361\7\310\305\215(\311EI-)\245m\243\234\345\260\210H\16R\313\212"
+",i\367\3530cL\274\267\271\322\357s\231y3\237\371\315{\337\337\353\1\302"
+"\177\303\235\341]\266\337x\313\374u\305\312\23y>\236\251H(I\222\344\222"
+"^\231\340\'\235:\2457m;\33\32%\360`+\214k\234u:(R*Mi\247S\351RN\330@4X"
+"=\363l\216<*\305\227$[\0\324\77\222$\13UN\37\311A\0\230$\311\204r:\363"
+"$O\274\0\2$\271\7\325|\32\0T-\273\201\2337\0\21e\235K\222\344\226\17x%"
+"\331\244t\22\346\232\257:JI^\250\23\214}&sLrF\355\3149\2L\225\251\235\340"
+"\313\227\263\257\353\372\250\243\320j\236F\232uH\261*\2154\235\376\305"
+"\357\272\223\266\263\351R+F{\216}\177\237\245T<+\375_\203\270\262N\301"
+"n\77\0\16\207\1\0w*\245\374\224$9\5\204\22$C\n\245-n\6\3\0\3760\331\363"
+"S\31{7\333nm\321\276\353\346\357F\336\232\271\340\210\327~\222\377M\251"
+"\263z\36\365\351\2023F\254\344\266\275:\245d\307Jv\301\2431\\C\326\376"
+"{\35\326\25i<\260\212\34\326j\214\334\305\224i\234\r\374L\336\260\256\305"
+"]\2555\276\333\243p$%\347\277 \b\202 \b\202 \b\202 \b\202 \374u>\0<8;b"
+"~\374L\220\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0#\0\0"
+"\0\276\b\0\0\0\0\232J\351\30\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\352"
+"IDATx\332\355\323=\bAa\24\306q_)2\30\24\26\223\42\233\224\214\6\203\305"
+"`d4Z\215\214w\264\312d5*\223\2222\332\f\312db\220\217\201RJ\34218\343="
+"\357\235\351\371\315\377\272\247s\317\353r\21\21\21\21\21\21\21\21\21\21"
+"\21\3756\267c\341\217y\235\222\362\370\340Pd&@\305XDzO\0)\323 \255\13\0"
+"\354\f#W7\0\0t\324\42;\377\26X\5\225\42>xI2\215\331\27\201\366M\212MU\331"
+"jm+\305\245\345\267O\n\13)\236\275\210}\221\30\276%\231d\354\213\220u\227"
+"b]V\6\251\357\24587}\312gfR<\272ae%\271\243$\243\244\266\327\350\351[,"
+"\213\372\337\351\3\0\366\r\217\236x\257\0\356V\310t)i\340=L\230\357\255"
+"\204E\301\351j\3635\367\177\275\345\17_\256\221\'\336\244\202\376\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0$\0\0\0\276\b\0\0\0\0"
+"x\226\362a\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\205IDATx\332\355\224"
+"\275KBQ\30\306\237kQ(j&\26\5%\r\5\65\24\t\21B\366\1\321\20!4$DmBC\204-"
+"-\321\37PkK\321\324\320\322(\6EK\213H4\264F\205C\24\24D\237\224\30E\364"
+"4x\317\275zSth|\177\323\303y\177\274\3579\367\236{\1A\20*\240\326\16[9"
+"\'z\23./\2156\206\312KN\4*\221\272KH>\207\21\233P\347+\352,\374D\214\374"
+"F\366\26\3554\242\r\253\350w\1\256\242R\20\23*\366\3p\27\223\374-h\353"
+"\323\3638\0s\343c\253\3464\0s\271\350\236\2\220Q\5{\226n\225wH~\264\2\0"
+"\326H2\240\n\23\244W\217\266{\222<\252\1\60\363M\222\315J\332 ;\364\30"
+"\42I\362$:\277O\222\314jJJ\223\203z\334b!\247j\343\376v\2403\27=\263\226"
+"\303\36+i\b@(\27\227\235\26\351@\205u\222/N\0\b~Z\246\335V+)A\222\233\32"
+"\20~\2628\\4Z\356\221$\317\342i\253\302\224\321\b\333\205\225G\363h\r\346"
+"k\271\264\334\225\311$\1\340n%\364\0@\177P\3\251|\347\2655\203\372\36\357"
+"\327\3259\363\227m\327\371\323\226J\\\345X\236\223\250*!U%\r\'\356(\371"
+"Ux\216r\312sL\373S3W\264\310t\27/\16w\337\345\317&\b\202 \b\202 \b\202"
+" \b\202 \b\302\77\362\13yD\3539\262\23\376\353\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\34\0\0\0\276\b\0\0\0\0\3\2620\255\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\1XIDATx\332\355\223=K\303P\24\206_\233"
+"\244\352`\247\nR+R\5\67\77\6\353\242\273\37\203\340T\177\201\340\42\202"
+"\202\240\16\202S\335\34\304\331\331\241\42\205.\16\42\n\5EEtQ\224Z\241"
+"C\251E\13\226Z\241\257\203\271\341&\361\7\210\234g:\'\3179\234{\223\23"
+"@\20\376$M\236|`$b\25\316n~\2514\346\36H\222\274\232\362\271h\226\16\273"
+"\226\333u\77S#e\350\256\365\232.6u\231t;~\rj\3\77=\222i\230J.\6\201\363"
+"\323Rl\274K=\231\354qnQ\344\3074\0\4fnU\353\222\222c\344\274\35\232\313"
+"\265\37y\250\344\32+\315\316\374x\201$\371\244\362\24\217\265\223\367\276"
+"\220d5`\247}(j\3621\321\0\320\242\322wf\\\257k\237\344\253\335\31\ba8\250"
+"\313;\0y[\266\1\341\25]\306\1\\\332q\210$\267\333\2252\327I2\241>v\335"
+"\2P;\271\310\227at\364OD\0\274EUm\216>\222\316\214\3\237+\207\241\356y"
+"\344\333\213\205\222\23\206\253\236\306\35\275p\303\355\366\\[bf4U_\365"
+"\254\254\265U\267U#=\344_\352\316\331\321X\250\222\313\246\356\345g\27"
+"\4A\20\4A\20\4A\20\204\377\3177@\314\6XUY\340\35\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0\276\b\0\0\0\0\203\301\7\276\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1&IDATx\332\355\326!KCa\24\207\361"
+"{\331\246\202\32,\n\202 b\236(\30VMZ\304b\260i\21\264[\4M\6\353`I\30l\f"
+"\233&\303\202`0.\13\202~\201U\231\206M\357\376\13r\365no<\',<\277\17\360"
+"\204\373\276\367=\'\212\0\0\0\0\0\0\0\0\0\60n\226w\334\223\215\356\236"
+"sq-\321\367\201o\262)\351\347\310\263\270%I\352\237\372\25\343\226~\233"
+"gn\311}\245.\234\212\205\267\277\244\256}\222\'\312(\307\16\305\351v6\251"
+"\233\234=y\251a\rss\376c$\251\273\tc\262\254\300\303\244\251\270\322\r"
+"\223\257yS\3626,j\327T\\\357\207\305\'\333\227\254\206\305d\303\226\234"
+"{\16\222u\353\35\232\272\37)~-\231oz\2562\234\274\362\370\307\317\263G"
+"\324\236uy7\16{\377\311c\247\347m\273\223\26_\362N\311h3}\215\34g\357\352"
+"\273$\351\321s\242-\264$%E\327\271;\323\224\252\316\353A\241\366\271\350"
+"\275\304\304%vC\0\0\0\0\0\0\0\0\0\214\213\1Vk=m\336,\200\366\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0\276\b\0\0\0\0\203"
+"\301\7\276\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\364IDATx\332\355\330"
+"KHTq\24\6\360o&{\250\225)h\364\222\20\23\25$\n\27B\364 7\21mj\25\321&\42"
+"\242E\253\26-\42h\323\246\266\265\350AO\n\27E\20\275,\315\210b$\250|\224"
+"\301\214\215\217\26\31\311\370\314G\216\236\26\346\365>\242\256\235oy\276"
+"\325\235;\314\217\357\317\2753\363\77\27\260X,\26\213\305b\261X\376\224"
+"y\377\365\251\350_\336[v\224^\262j\270\210\335\2624\373b\204L\256G\365"
+"A\362\302\353E\372WR\305H\237\210\334\241\222\305\42\42\262\223I\356\25"
+"\21\221\317\231\304\313S\5\0(:Al\371FDDd\254\224&fOL\223RK#\253e&\273X"
+"\344)\207\214/ \221\r\16)\3078b\346\330,9P@!\267\213+\347)\344i7\371\263"
+"\230A6\272I\251!\210\271i\179U\251\'\367\2107\317\364\344\5\37)[\325d\227"
+"\237l\320\212e\22\310\26%Y2\21 \237kk^\16\326\334\254$W\217\4\310\307\332"
+"\232g\2\344T\205\222\314K\5\314\353\332\232\307\3\344x\241\366\327\355"
+"K\300<\253\255y @\366e)\311hK\300<\244\255\271#@\276W\177\321k\3\346&-"
+"Y\221\366\223\267\3245/\371\311\221\34-\271|\300o\36\6\375~\217\251\311"
+"\205q\277Y\246\35m&;\366\371\316\f\325\253{>\360\265l\327\377\257\255\33"
+"\365\231\225\312\205\3\251\214m\336\23\375u\372+\324\356m\231\214\350\227"
+"\276\337\267\362\215\204y\367\223\227<I\233V\2344\22\310\250\267\346d\201"
+"~\212\227\241\335\236A\260\265E_3#\351\251y\225\261\177=\342!;(\263\300"
+"w\217\271\226\360D$\275\324\263okn\42\324\314\367l\221\256P\6\214kn\262"
+"\225Bnp\223\351\305\24\63\26zG\34\rK\236s\277\250\244\264\\\324\33v[\30"
+"\272\345\330M\327\213r\316\350[\356j9\24\341\230\356\251\262\220\261p\340"
+"F\310\225\317\201\254\31\237=&\265L=\242\223\270\35\216\234K\262\6\235"
+"\313\363\202\324r\344\276s\270\202D\342\356\354\240\305z\32\2259\354\374"
+"\26\261Z\216>q\376\frI$\3569G9\254\225\3479#F\5\253e*\314V}n$\36:\367("
+"\237\234O#\77|\245/\\\352\350$\236\316|9A\313\252\3377Q\t\217Db\232\314"
+"\347-\34\323\317\336&z\211\344K\0@\217\20\311W\0\200n\342\25Gg\17\0t1I"
+"\274\6\200N*\31\3\200$\225|\13\0\355`f\311\244\210\254\241\222h\23\371"
+"\21\241.\34\357\200\244p\311f \1.\331\4\304\311d\13\277\345\267^zK\264"
+"\321[\242m\260\207N&\300&\23q:\31\347\267\354\376\bz\362`\261X,\26\213"
+"\305b\261X,\26\213\305b\261\374+\277\0\267\273^\314\257\322$\351\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0\276\b\0\0\0\0"
+"\203\301\7\276\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\260IDATx\332\355"
+"\230]HSa\30\307\37\233\316\257a6,-\26\26E\232$\224e6I\n\203(\272\n*\273"
+"\t\272\212 \212\42\272\310[)\272\311\2\203\204\2022\213(!\n,\311&aai\24"
+"\231\37)\30\2069\35NY\232\33ns\356\351\302\271\235s\334v\236\343y \202"
+"\367w\263s8\377\375\366\274\347\274g\357\7\200@ \20\b\4\2\201\340\277&"
+"\237_Y[JM.\243\6;\33\211A\323sj0\200%\244\240\301\206f\232\262\34\261\205"
+"\24\254F\264\322\224\225\210x\220\220\333\37D<AS\276@\304\276$\325X\372"
+" \42V\321\224\16D\304K\252\261*D\304G$\343:DDt\257W\211e\273\21\21\333"
+"H\312\343\210\210\210\266\204\370\261\32DD\264\223\2247\347\225x>nj\203"
+"\37\21\21\3\211\24eGH\351\335\21/\3654\224\262\20\214)\276P\30\207V\306"
+"N\225\5C\241\235\4e)\206iO\213\25J\352Z\310\34&\274\365\273\42\207%\r\306"
+"\30\312\313\205\13G\251\204*\33P\302\253\350u\226\204o\16V\20\224\303R"
+"%v\254\216\22\261H2\207\324\215\26\224\3438\260(\222\323+\271\276G]yD\241"
+"\304`\275\242\237X\207\244\227\13\325\225\327q\21\276;\222\277\260\242"
+"\2729\331EeG\213\362\316\265E\35$\34\255=cS\t\346\354|k\256\374\202\307"
+"\244Z\244q\6\65\361E}4\332\232\242m\344\373\252\256\264j3\302{ue\2216c"
+"\260Y]\371D\233\262\325A\b\265hz:\307(\277\273=\250\301\330C\233m<\246"
+"\33\203\345\264\333\23\32\1(TSo\371-\252\261\331HU\316\217\246\352\274"
+"N\243\367\214+$\343m\243\206\316\266\302\245.\34\257\320\326\201+\325\204"
+"sw\2634\276\270\351c\361\205\r\5\332g\326\27\342\b\335\265yK\231\254\247"
+"\216\304\22~>\263|\211\13\200\263Q}\203W\267,}M\221\262\270\314\376k\305"
+"\372\326)\347\224\306*\320K\252C\241l\325\277\234\272\250\35499\272\225"
+"\246q\205\3634\355{\206\330\227\374\311\212\77C\343C\335efN\313\253\364"
+"\246\353\255\22\274f\371\274#\361\303\200\3562\327\370\344e\3260\254\241"
+"\357\313\225\3\f\312\2\305`\271V\377\n\375\273b*Q\306\260\350\277!\77\335"
+"\315\320\362\204^Y\303\273969N\311g\2\31\fJ\323o\231s/\303\6\212\373\236"
+"\354t\33G\3137\311\372Q=\313\226\221M6QcQ\36\225\255V\f\34J\243S\352\334"
+"\310\261\277\345\177 =\313\343PB\35\277\262[\272X\312\345\331\330\223\266"
+"\334\302\362\310a\325l\344\361|b\332\315l\212(\355L\312\223\21e\200I\231"
+"\351\21583X\36\17L\332\42\307f\36%<\223T\314\324\362\254@\270\341eLUN|"
+"\f\37\62\335K\200\227\32\232\244Yi\344Rv\217\322w\330\250\233\367o\330"
+"\33\16\341\236\351cS\276\r\317\20\331\224#\203\354\r\207w\354UB{\350s\212"
+"_9\tl\30<\321\267\26uT9\367\215\275\341\320\t\0\0N\77\243\262k\27631v\42"
+"\350\345W\366\1\0\200\235S9\341\212\210\231\224\360\3\0\240\237U\371\223"
+"_\371\13\0\\\303\254J;\0t \253rT\362\2463)\235\0\320\6\254lF\234N\346\255"
+"\322\5`\363\361*\377\0\64\2\63\2633\244\r\274D\rJO\323\24w\225\316}\334"
+"F\351,\223\213b\20\b\4\2\201@ \20\b\4\2\201@ \20\b\376%\177\1\210\322\257"
+"\17\356\201_m\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R"
+"\0\0\0\276\b\0\0\0\0\203\301\7\276\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\4LIDATx\332\355\232}H]e\34\307\177\327\253\336aM7\347|\301f\320\24%"
+"\303\266\t\266^\214\330FA/\243D\26\375\261\301\b\204\306`\2035\334\376"
+"\221\201\224\3778\33F!$\373\273\222(V\302\f\2629\310\3012]\331\13\345\313"
+"\315LKS|\271\363m\363\336\357\376\270\347^\317s\236\347\2343\317\371\375"
+"\23<\337\177<\347\373<\317\347\376\236\363\274\77H\244\245\245\245\245"
+"\245\245\245\245\365\277\325\213\354\304\35\341Tn\344\3538\314\215l\307"
+"U\267,6\325x\300.\377\30b\217:\23w\36U\373\235uj\277\24\300\207\316\310"
+"\267>U\332\217D\327+\225\t\'\1Dr\34\221=\363\312\2327\1\237+\363_\1\200"
+"\6\'\342\256(\236Q\330\351\323\300\252\352s\246-\2\300\177\31\16\310\263"
+"@\223\302~\3\0\236U$T\3\0\360\266\3r\0\370Ua\177\7\0\307\25\t\215q\344"
+"\224m\207\240\307\0\240X\262\367\2\0\352\211(\305\222r(\376\'\367\224-"
+"\362(\21\321k\222}\232H\201#\242\355\353\361(\261\220k\327\315\'\1\240"
+"\317j\27\335\1\0\234\221\261\7\202\306Cf\243\r\362\205\2\42\242\312Rk\233"
+"\245\21\21\321\262\\\240\r\tE\237$\373N\6\64\213\356\303\253q[\321<\341"
+"$\22\203[T\304\242\273\361\324\271L\301\3560\n\275$\25(\201I\227T\310\346"
+"D\352;f\2676\341\312#\362\204\31\31\253\225\2119\221D\352\332~S\7\232O"
+"\270\371R\211/\314H,=!e\270\270\221:\363\\\302<2\227\360\346\211\210\2"
+"B\7\231\311\22\0\363\7\373Eb\371\17\241\215\27\\\375\352\217\271`^E\315"
+"\276\244u\343)k\fO\303\242\310\253BzF\37\234\325&U\353\202\234\351#\323"
+"<\27\272\342B\3041\365\310\267\6\332\262\317\3708\325\3nD\354\266~\313"
+"\254\331\240\262w\317\3748\266\20\310\253\332\355\272l\215\24[W\246\3j"
+"\42\345\34\274\317\225\360Ki\352X\360\273\270\312\353D`\4\2764\34\220\242"
+"\304e\177A^\206\354\25\256\373\tr\311\350o\302|9\321\345k\2332\243rk}\4"
+"\31\311W\376P\372\264w\344y\233\340/y&\16\206l\220\25^\211k\25\266\337"
+"\270\317#\362M\373f;\351\215\370\256\323\266z\315\255tg\233\35459\366\256"
+"\16\27bk*\35\236\20\255\325\23\316\35\366\25G\340l\r\21\321\266\367\357"
+"\232\274\33{\334\366\341S\16\304\257\13\215\\\305\355\313\206\325{$`\235"
+"}$\346{\247\355~m\271\376\203\215\211a\373\313\325\17\255\374\333\177}"
+"\350>\206\352^\273\20{K<\17\377\237\225\300\325\372\240\367\31\345\234"
+"\212\370}\271\237IjWT\2\336i\360y\b\274f%\336z\334\357\252Tg!~\233\356"
+"\373\24\231m\31\224\303\f\'S\353F\245lS\245ST\346\307\352c\206\37m]\26"
+"\243\374\204\241\346\237\211\310q\226\233\3Q\271\376\221\17\256\210\310"
+"\347}7\17\335\266\354\21*\374#\255{\260\22\206\217\231-\356\216\256q\334"
+"\303t\13\310\277\30*N\235\302[~\nC\224eb\223\27p\324|X@V2T\234\304+\255"
+"l\16d\27\77\262g\235\35\271(\\_dr I\350\336\31,\310\353\346\227\20\13\262"
+"7\306^\361\205\337<\366h\207\221v\223\37\331\307\217\354\347G\16\306\330"
+"\221K\177\262#\311t\361\31aB\376\276\361\30cB\232\266\341+L\310Q\323\316"
+"\237\t\31\66\65\25\23r\34\236.g\234\220k\323\311\3079&$\375\315\217\374"
+"\'\3714\313\205\234R<\371DN&\273\345\42\27\62y\3613N\354\25\37#\366(\303"
+"\374\310a\376\212{]\331\24\227\22\2113o\21\33\222&\215[y\266Y=9\42o2\42"
+"\215\31\263\227\21i\264\3647\214\310xK\317rV\374\247\370\361<\312\327\340"
+"\224\272\4\0\207\210S=\0\2066y\350q\311\336MD-1\326(\253\200\321\20+\221"
+"\2al\372\277\31\334.\322\266\376\322J\314\312\n\222\226\226\226\226\226"
+"\226\226\226\226\226\226\226\226\226\226\226\226\226\27\335\3\352\323\311"
+"GP\221%\5\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0"
+"\0\276\b\0\0\0\0\203\301\7\276\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3"
+"\246IDATx\332\355\231[H\24Q\30\307\307\365\222\341\212\232\272\3465/\205"
+"\267L\303\350BA\b\232\245\31\365\320\223\241P\17\206\224H\220\206T\324"
+"C\5)A\27\202.\220YbP\20\205\17iW4\314R\243\213R\251\224y\315UC\324mY\233"
+"\335\177\17\243\353\252\263;3;\337Kp~O\303\3567\77\316e\346;\347;\303q"
+"\f\6\203\301`0\30\f\6\203\361\277\263\303\207\332X\362\221X\270\264\32"
+"\227h\215!\255\300\36RcJ\37`\t\2404\346L\2\350\2404\26\361\0p\215N\350"
+"R\1\0@>\231q\311=\301\210\225TF\357\27\63F=\2251\240e\306\210\307\22\221"
+"n2\215\21uq\263\227\3154m\214\356\201\225\f\22cl\377\234\321L\2223\22\206"
+"\346\214\370Ja\214\37\2661\3426\247~zV=\323Y\257\371\301\221z\365m\214"
+"\351\233m\337\333c\353=)z\35\324%\370\370\312$\242\'\334\347\223`lH\244"
+"zg<\32\204&\226i\310r\317]\0\300\237\34\272tv\16\0`\312\2403\346\t\343"
+"\230GgL5\0\0n\322\31\3z\1\0\203t\373\0\227Z\241\333\5t\215<\42\30\207="
+"\310\214I&Ai9\341Bdtk\265\246\236jO\32e\251M:k\322Q\30C\'mS\344w\212\27"
+"\274\n\363\30\337\246~\2551\317W\342\357A\265\312J,\242B].\3627-V\342\201"
+"\252\211\77\4\61\32\375T(\237\210*\3619\330i\243\353\204\270\22]\341N\257"
+"`\260GW\240\223\312\325v\225htuN\31f_\211\3\316)5c\366\225Oe\334.\362\233"
+"\345\276\335pc\233\223\203\319%\336D\343\371@\247\37\243|Q\343sU\373\376"
+"\243\213\205|\211\312\364^\310/0\32\262U\347\267\314\371\323n\330J\220"
+"\205\243Zl{\275\213\246\32+\267X\225\'\251\26\336\364~\225\357\241\b\313"
+"j\204\255[,e\271\274w\4\300\5\332\203\207\240G\230\f\244Ur\336\303\304"
+"\247#\34We\211#6\356C\23\2611z\2\305\264F\267f \206Vy\32\370Ak\334\304"
+"\3wH\215\332n\0E\244\312\353\0\220Fi\334n\1\200PB\243\337\0\0\2304\204"
+"\312[\0\200>\312n\13\251\362\3\341l\377\234\311\276\3127+\366\3768\33A"
+"\235\177\326\315.\272\357\250\214\32\353\362h\320\22)\13\346\326\333RY"
+"7\254\225\n\360\325\317)M\222\347\323\232\rg\272\37J\5\225\333n4,7\302"
+"\34d\277\224\3035z\0\2716\205\274X\\x\347\374\32\307\\W\373\372\13\277"
+"\360PaETt\374\232\4!r4\302\350\370\314\255lA\325\344\232\225\305M\367\364"
+"\351\'\'\314\234\207\27\347\245\325\372\7\352\334m#.\32\35w;\330\4\205"
+"\350}%\36\365B\305g\17e\343\22\225\324\200\322F\276\222\312V[\224\32GB"
+"\245\336\361\315\n{=\235; \245\364Uf\304\376z\311L4\256\314X\\-\35\224"
+"\255d\34yY\337@\274\246\344\33G3\345\365\345\252lc[\224\314\341\t\36\223"
+"\'\234>\345.{\310w\362r\214/\223\225Lc\336\264\244\260]\351g\276\264^\307"
+"\3027\273\225\357\30|+\214v}c\227\223\235[~t\307\277\211\371:\257\244K"
+"|\327pX\20\'flL\215\264\n\314\375\35\355\357\33\206$\333\42Yc\273\207,"
+"\367\326\272O\230\177\377\32\66s\f\6\203\301`0\30\f\6\203\301`0\30\f\206"
+"l\376\1\275\267\4i\5\64DG\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0R\0\0\0\276\b\0\0\0\0\203\301\7\276\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\3\267IDATx\332\355\230[HTA\30\200\317n\342e\327RJ\311\314"
+"V\b\303\36\304\212\322tM\2440\rJC\42\352)!,\220\n\262\250\227^\202(\210"
+"^\354B/YY)Y\30Q\t\331\r5#\225\3102\243R\13\\\215-\225\324\264]5/\323\303"
+"\316\271\354\3569s\3769\273\364\364\177/gw\347\3147\377\234\2359\363\317"
+"\b\2\202 \b\202 \b\202 \b\202 \210\32\363\2407&e%\221\341`\266\\\320N\b"
+"!=G\42\202%\f\277A(]k\203c\\\320L$\334\205\3010\206\276 \n\2466\5AYI\274"
+"\30]\31\260\261\224\370\320\31\36\2401\331\345\253$\247\3\63\232_\371\31"
+"\311t`]\337OT\250\17\304\30=\250\246$9\1(\317\251\32I\243qc\302\204\272"
+"\222d\32V^\3260\222\273F\215\361\223Z\312i\33c\220\260\224eaZ%!{\r\276"
+".\306\210&\16\263\241(\213\347k\227\3316\32\t\322\324M\30\\7\242\314e\31"
+"\311h\230\201\216\357c6\30\225\317\37\344\242If\224\344&\277\362 \333\310"
+"\350\271&\257u\224$\217\367Y.\317\320ks;\257r\247I\371\315]\333@|\357\330"
+"\306\333\3577\312>6%\bBZ\213o\317S\370\214\2669E\335Ga\202 \b\346c\177"
+"\275\225\207\371\224\207\24U_\206\322\37\355\77\274\224\17\371\224O\344"
+"\232\375\261r\354\237\225\312\337!<\306Hy\234\317lP\374\36\333\241tr%H"
+"[\345z\247\274\nb{\24\312\3<\312r\251\332\307P\237<sHV\336\342Qv\212\265"
+"\346\262|\213\362f%e7\2071F\32B\225\376\205g%\345\254\25\256\334!V\32\217"
+"\363/\f\373\429\323\341\23\322.\245\6\77\375\13\247\344!\3161\177\332h"
+"\24\3\221\252\305\rb\224g\340y\257\230d\34U/\317\27\225\267\301\312u\264"
+"\306\220Ec\241\353\2427\264\201\237\345jz=\357VW\222jq\340\203\243\274"
+"Dw\17\61Z7\254\242Q\272\300\312FO\205k\332K\374/\352\264@\225\203\272\31"
+"\237\370\242\212\2>\313h\317#\372\332\242\255\24\247\242\25\250\\\341\271"
+"\3242\3721 fp@e\242\347\362\214\241d\355y\325\224\313<\227\267\214jbZ0"
+"\6T.\241\13-CI;\42\270\200J:\200\343\31J\232]\272\246\201J:2\262\265\215"
+"\366T\357\177IWI\223\337\22McH9\375\340\204*\351N6g\267\226\362B\32\375"
+"\340\200N\36\361\220\300\225\245\376o_\225\336\352\'\241\312\247\322\251"
+"C\211\311\277t}\273\274D\356\202*\353\344:\255\205\336\247>\346\334\7\312"
+"d)\31\252\274\247\314(\234W\366\244z\3367\3265\305\25N\357D\330\fUV\370"
+"%\274\343}\337\372\307\241\373r\265y\77\342\237\42\251/kM\3409>\0N\357"
+"\300\312>\240\361\373;\260\262\27\250\274O\300K\317B\2#\235#\313\352\5"
+"\31\77\360lR\336\203\32\276\310\243l\6-\243U<\312\347\240\363\236\t\256"
+"\315}\237\376\223tDp\355\307I\215~\263\307\271\202\24\204\2249\275 \353"
+"\270w\316\365:\306\3018n\245\235\35\346\314f\3g%\325Le\251\221\343\227"
+"\305N\206\361\204\261\243\254\354)-\341l\231\3213\274\42\r\347p\201\361"
+"\303\313\\\325\23\326\307\266@Nm\227\326\370\t;\212\204\0\311\250R\36\263"
+"\376\271\263\305\4\231\316:\345\226\234\314\344D\213\325=\342\370\324\332"
+"2) \b\202 \b\202 \b\202 \b\202 \b\362\377\371\7\2\25G\3v\5g\243\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0\276\b\0\0\0\0\203"
+"\301\7\276\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\37IDATx\332\355\230"
+"MHTQ\24\307\317\314\210\221\246\206\37\250M\311\230\223ZYfdQX\6!a\266r"
+"\23D\233VR\253hU\21\270\t\214\240M\5\5\25EQ)\355\262\210\244\\$\21\241"
+"\225$Z\246\213F\30\77\20\361\213&Gg<-\304\367\356{~\335\351\375\213\26"
+"\347\267\272\357\316\233\37\347\275\373q\316}D\202 \b\202 \b\202 \374\357"
+"d`4n\245]q\5\36\345q\256\305+\371<^\311\27\361J\276\352^\341\256\255g^"
+"T\307\246\344\347iK\336\340):]\77\310\314g\227\325\304-\350\251\352\254"
+"}\360k\341\314\360\357()\335\2354w\341\215QI\231\267\352\232\332\276\17"
+"O\314y\343\323\323\2749\276\302\374\325\312\35Y1>\270\6o\264\247\2726^"
+"\2742\13\257LI\204+i\235\2562\204W\316\340\225#\332\312l]eP[\271^W\331"
+"\377\23\62\61Ue\264\35\256\244\327\220\341\261\260Mw\221\207]\332\316\26"
+"]g\246\366\352\321Ng\33\264\225\315\217\1\263\310\266\306Ou\350)s\364\225"
+"\23\207\273\300\17N4\260\367\251\323(\27\341\350\347\225G\374C\214\273"
+"\241\353\340\335\376\205\226\251\246\227\337\302\363\27\3\313\375}\211"
+"\376\202\355[\2623\222\211\210hrz|t(\330\323\25&:W7\377{b(\226\244KDD\335"
+"\335\213\365F\214Vn\'(Q\230[U.*\367L\31\255<\202G\351G)\307\376\246r3\252"
+"\2\3153fi4\1\24\345\240\371\277\2\324\360L\32\315\42T\1\323o&\25\224\262"
+"\317h\25\243\224\1\243\265\23\245\374a\264\322} e\257\331\334\203W\356"
+"\3\315\365$sK\376\204Z\77\1s\375\244\202\nk3\201\272\17\201\224J\236\257"
+"\302++=\230w\251\26w\345\30e\\\310T\336\4\r\371{S9\262\ns\224R\352\214"
+"\324j\214\262Ui\327`\36\334\247\26\65%\30\247Z.=\304(\33\24\345\314F\310"
+"I\367\255:\245.\300\';\317\370\21J\327\240\352\254\207\204\371DU\316\226"
+"\42\224\'-\305q\213\13\240\364Z\13\356c\2100\277X\224\1{u\364\'{^N\231"
+"\345s\214\253\331y\224e\266\243F\276s\245{\310\352l\2\274\314\333\f\37"
+"\241#6e0\331\2612~\324\346\274\356<\314{6ed\227ce\205\375\200\371\321q"
+"\2\366\f\330\235\351N\366K\42\242\350#[\307\3548v\323d\346\36r\32%u\264"
+"Z\257\333\234+\351\216\255`\0,\2405c\f\317\276\327T\343(\244\210\363G\25"
+"\3453\2\274K\352mT\277\202aJ\204\3J\224\305\240\262\360\235a\34v\201\224"
+"\225\206\262\1u^1\253\327\32\230\262|^\271\t\246\244\3069c\37\316H\205"
+"\323\314\314|\37\250\244\313\314\314|\2\251L\350ef\366\42\225\264\77\302"
+"\374\225\260\\b\276\1Vz^q5XI)\355\251h%\255%A\20\4A\20\4A\20\4A\20\4A\370"
+"7\374\6\306;\362\77\r\233\217V\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0R\0\0\0\276\b\0\0\0\0\203\301\7\276\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\4\303IDATx\332\355\231KLVG\24\307\17\27A\240\237\210"
+"\202\b\370H\214\17b\265iic\f\326j|w#n\214Q\321\304\205\306\252\213\246"
+"\245&n\254m|-\324v\341FK\32\203\301W|%\306\266j\373\211\212\30\215\32\65"
+"\332\24\355CbZZ\265\237\266\2*\360\301\351\202\217\357;sf\356\275s\37n"
+"\232\371o\274\3149\347\307\314\275\3039gF\0#########\243W\243\311\237\370"
+"\217\35P\246\34^\210\265}}\22\307\375\262.\371l\221\361\22\250<\325\337"
+"\27qf\303\310\301J\303\16D\2746\300\7q~;\342A\245e\77\42\342e\357\363\\"
+"\30G\304\263JS\35\42\42F3<\22+\342\210\210\215J\333]DD\304\235\336\210"
+"\23\333\20\21\361\211\322\330\322\203\304%^\210C\377LD\2516K\277\204\r"
+"\237\215\324\'f\\\354\215\32\256\260\216\3515\342\3714m\344\246d\320\4"
+"\205uz\322\212+u\211\345\361dL\205b\253\27\245\36\67\347\353\21\63\253"
+"\323\223\317\205\ndq\3521\3773=\344\307\343\350\337\236\254/R\13\307\216"
+"Q:\304!-$d\247\363,!c\203\16rc\4\324\341\275:G~%v\225\272\23\307\307iD"
+"\275\302\343\36u\300=\356\310cB\300=\205G\253\340\321>\324\215\370f\267"
+"\20\320\42{\364GQ\333\334\220\207Y@\216\344Q\312<\236F\234\211\243\273"
+"X\300(\351\213\17a!y\213\234\221k-60HBJ[u\215#\261@\312W\305\22\262Hz\375"
+"\223\234\220\37d\363\221\301\256\13\7X\356\224\324VKC\205\322\310!\344"
+"j\313\265G.\220\274\237\217\225\234\316KN\270\302\36yNr\376Pv\272%#/\331"
+"\22_\227|\243\212\264=3.3\307\330!\277\344\236\377\250\352\4T\311\310M"
+"6\304\254\230\336;J\223\77P\223M\21Z\314\35\317\3328\346\336\227\230S\324"
+"\236Q\376\265mkjy\'G\356V\372\215\350fn\16]\344z\216\214e\252\334>g^7\373"
+"\330#\323\257pf\205\302\313b/\250\373]\307\334\337\316\220\373\234\13>"
+"\42\42~\355\234\262>e\356\255rb\205\32\321\345\357\2\227\36\3476c.\220"
+"\\\42-\242\307j\267\364\77\205}\315\243\222\307R\321\341v\37\327\272\267"
+"O\214x\321\217;|/:\314v/\245E\377\212!\213y\213!\326\234\23:=\304Z\21y"
+"\334\321\334Y\252\203\314j\22W\316\22\361M\301\272K\257\37\253\24\247Y"
+")\30\337\20\23\177\261\36\322\272\356\260\362\255Z\331O\322\34\373on=\20"
+"vy\256v\7\336 0i\2170U\260\254\323\77\'\314\22\2\217\20\313njx\370\232"
+"\207\323\214P.\333R\221\2311\3154)k\2060\315\371\251\303\35\35\376+\307"
+"\3231\356*\215M\235b\17\322\341*\217\347a\241\33\315\352=\300\265\321\317"
+"\35\361\206\264\2046{\236*\tm\0\217ZA\243\367&\6O\322\251\17\364\212\314"
+"~L;\342\236\252V\320\341\245\361\226\265\205N\363}\0\0XE\217\7\305\336"
+"\221\303iQ\257\6\0\200\13d\244\306\317\265\n\355g\36\245\3\3000\232|\313"
+"\374 \337\243+\237\306\222o\235\277\373\244\237\330\241\223\346\274\271"
+"\376\220\37\21\304\357\226p0\372\331\362\207\314\177A \345B\'T\5>UK \333"
+"\241\2214\177y~\221\323\b\362\267w\310\17_\371\276A\264h\255\244\35\301"
+"[\376o%7\242R\227\3\\\222\216V#\227\7\271xmP\21\2379\'J\227\375U\253\32"
+"<\320\32d\226\205\235\212YN\bv\345|Z&\336q\333\'.v\305}lM\260IB\336K>\311"
+"xI\320\313\366\23\34\371\35\4\\8\34\343\3{\3\377\227\300\300\16\266)s\2"
+"\317\362\311\5\366\42\236\7F\2\353\325\17@p\225\b\'\210\230\373\255\273"
+"\373,\233\257\322\237\216t\206\200\204o\204J\fa\350m^\317\203+\355\17\336"
+"u\4^8~\233z>\n\341(\325M\77\315\b\t\31y\351\251\267\322\351\32Z/\331l{"
+"\377H8\223\370\267\375\7\bKe\211u\237\f\215\bi\17{\220\253\302C&\232\243"
+"n\275|\256\327\324\365\274\303\33\315!\42\353\344\77\366\300\372\25\21"
+"qr\250\310jD\214i\246\f\315\6\271\16\0\242]\241\316\262\b\21\227A\270j"
+"D\324m\ttO\6\365\360cs\350\310h\310\353\206\21~\17O\16j\322\276\22\322"
+".O]\365\241\3172\33\214\214\214\214\214\214\214\214\214\214\214\214\214"
+"\214\214\214\214\376\307\372\17k~\353\374\355\301\306o\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0\276\b\0\0\0\0\203\301\7"
+"\276\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\264IDATx\332\355\231ihTW\24"
+"\307O\306\311\304\30\261\206\324T\243\250\261J\332\252\255\42h\25\321\30"
+"\215U\224\342\206u7\232\240 UD\220\226\42\371RPq\1A\21\67\60\266\340\326"
+"F[\25\324\220\322\326\25\353\322*\42JLD\311f\306%\21\2221\223\314\234~"
+"\230\355\334\345\275y\313\375\244\367\377%\363\3169\3677\347\2769\357\335"
+"so\0\264\264\264\264\264\264\264\264\264\3361y\324G\316V\237\345\177\251"
+"\252\211\375p\234\352\211\347C\276j\344\4\230\254z\342U\330\226\246\372"
+"V\42NV;\361I\0\60U-\262\20\0\276R;\361ZD\f\367V\231\345\'}\1 \245P%2\362"
+"\313LS9\357\323\210\210\370\262\213:b\227fDD\304\361\352&>\366\203\310"
+"\337\31\352\220\261\212\374Z\335\304\377\301\250>VE\3740\24C\256W5\361"
+"\251\36\345\257\366\262X\222\30\372H\321B\366<\216\304Uj\220\343\22D<\257"
+"\6\271\205 \333{*A\336#H\\\251\202\330\237\22\261B\5\362[\6\331\221\255"
+"\240.\331Z\364\316u\237dV\7\223%\376\355\36\271\202%bx\200\353\211\317"
+"\342\256S\226\270M\262{\200\313\22\37\271E.DA_\272\234\3707\242i\251\273"
+"${\276\25\263|\225\356*\313Y\222\336*\323]i\236G\211.\271!fw\310\220\341"
+"<\27\23_\344\225YS\212]dy\207\344\366 \361\321\337\3251\361sBl*$\27\313"
+"\34#\267\23\312AO]\342\342\206Sbj#AN\203]\344j\264C\344\\\302x\235\n\243"
+"\311\345\21\207\310\213\204Q\6\0UdY\353\343\250\210r\247\220\213S\0p4q"
+"\351[\343(\311\315$\3117i\0\220G\f\376t\7\304t\77!\34\3\0\200[\304\262"
+"\332\1r9}\6#o\212\r\304R\345q\367\344\264f\0\0@NH\370\26;\312\247I\226"
+"G\215\177\20\333m\333\310\337(ra\324XL\215\323m\22\77\243s|\333C\366\222"
+"\267\373\332,\243\371\234I\224\'5O\260\327[\5\351\330\242\270}\36\65\377"
+"i\13\271\233\16\rf\306\355i\257\251\243\300\316\216\236Y\30/\22\317!\352"
+"\270b\3\271\217Ykh\203^\300x\254o\321s\333\351\270N\332Rz\236Q\327\315"
+"\24\253\310\303L*\1771\276m\214o\201E\342\310\20\63l\255\341z\204\370\330"
+"g\rY\311\256\332\375X\357]\306\273\316\22q&\333\b\\\347\334\33\31oS\17"
+"\13\304\264\207,r#\347\317ao\313\16\13\310\37\270ve\220\331\222\204\30"
+"\34\222\2248\260\225%\376+D,a\3\316%E\236\341\222\334$Dd\274a#\222\235"
+"r-\340\333\264O\223\225->2\77\337\313\366s\304\7\222\240\211\\L\251)\362"
+"\27>\311\37e\315`\r\33\23\30l\326O\n\355\351HYX)\27t\301\344u\321\302\23"
+"\253\345U\21\342\302\26\31\21\275\327\205$\267\'\357\226\20\21\375F\373"
+"\337\255b[>\306`7\304\307\235\220\307\315\t\13\304\207\6_\356\343\13\3"
+"\245\307=y\315b\222\337\33\335\243\235|dC\226$\352\252H\354\354k\204\314"
+"\23fT.\211\22\177\33\263\342\250\24\202\213\304\240r\21i\262\f\314\23\202"
+"[\6\nA{\204\240z\223U\300\373T\b/\25\32\353za\330\336\2401\262\363\240"
+"`z) \33\370\220\340\1\323\245>\300[\32\5d\35\37r\274\311\f\371\342\'\336"
+"\362\\\210\31\316\357gG\230\277Y\7\363\17\272\270b\364\342\42~O\366\376"
+"\77\301\r\350.\206\260g\16\341Q\311\220_\260\345\336*\ty\302D\234M\276"
+"\2262\375+VI\42\256\331K\22`\30s7\257J6|La\36\265\260a\270\377\263\254"
+"\206\214\220m\337Yiu6\265\311j\210 i\255o\255\263\202\254\335bZ\226\0E"
+"\211\373Rcq\323I\373\247U\222,\23\211aI\300\32\262\275$\34\377,{\326\206"
+"\306\277p\217\365\256~\207\351\331DV\274\265\315\260\216\364\335\216\215"
+"\312\225\271\243\217O\273\255\263\220\334\27Q\244\364\354\250:\342\263"
+"yVU\20\331~4K\235\221\5m\277\335=\361\342\260\361\341\353\257\210\210\25"
+">\273HX\35\26\26621\355B\304\313\335\34\234Y\224t\42\236\224\36\3524\2"
+"\334\232\331\346\0yh~\200<\316\24Y\17\25\5-\216\316\177NMj\360K\35S\366"
+"{\35\237\370\345\310\317\261\25\377O]KKKKKKKKKKKKKKKK\353\375\326\377\207"
+"<\355\241\r\4\245\303\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0R\0\0\0\276\b\0\0\0\0\203\301\7\276\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3\343IDATx\332\355\231[HTA\30\200\377\335\225U\327\365^&fR^@"
+"|P\323\222\312J\202\5\63C\250\24704\202\210\42}(\b\42\202\242\36\242\207"
+"z\260\324\207,\22\64\272\200\322\r\264\2\273\202lF*\244F\251H*\352f)\222"
+"\273y\331\351a\335=s<\227=s\316\3778\337\323\331a\377o\377\371\347\354"
+"\234\2319\0\34\16\207\303\341p8\34\16\36\246\240\337\bu8r\222-\223\317"
+"kg\221~\322~\321E|\214\357\3061\36\230$\1\334%\bB\313\rB3\223e\330h}H\304"
+"\364X\215\216\\\23Y\3159\203\312K\22#\231K4d,\366J\225\244\306\2101nB\306"
+"H\346\327\30P\336#\262\\\320o\334\356\225W\216\206\350\36\355N\242@\231"
+"^e\231\222\221<\326\253\354RT\272\243\364\31\35D\231J}\312\'*\312\26]\306"
+"\324e\25\345\337\360 \321f\271\306\23f\225\b\333\36\35\312\220\n\365\177"
+"\252\216~\227\20U\6t(\357\253+I2\2631t\226\216\377X\272\365\344\230XY\301"
+">\253\321\341u\26\0\330\360S\244l`V\326\321F_\323\216%c\305\34\20\202_"
+"YV\332n\212\322\\\313hL\22B\'\22\374\215\261\277he)\343}Y$\\VM\371\257"
+"\376\\\241\277\222\307\230\245\360\354n\243\37\300\203T\226\255\214\312"
+"\16\177\2407\227n.\247\224#\214\312\31\177`\273\270B#\2243\236\251\226"
+"\353\242\375WM\242v/\275p\333\314\244L\17\\9\225\243\362\230\224i\201\253"
+"\2\345\250|&\245p\33\327:\24\243\330:.\254z\42\333\256G*D\245G\261(\251"
+"\25\212\345\314\320y\371\5\213\211\351fo\26Od\236\326\243\31f\210\310;"
+"R#\232\362N\263([\244S\356\277YIS\243\212A\262\304\221Y\350Z\255LC.\251"
+"\245[S_2m\fJ\217\266\215A6\203\322\245\255\344\371\f\3121|\345\200a\245"
+"\204d\242\211\305p\355Y\216~\327\364\313!9\f\317\2366\243=\227*\33\361"
+"\213\t\3575\25\263\207EY\34458>24hJs\33\213\322\326\251Ey\212e\25<\277"
+"\277K\341\333\313z\307\7\300.\273\203\364\334Ju\351\34\37\0\200b\311f\312"
+"u-\t\340\252\336\361\1\0\200\302zj}1\375\340`(\0@\2067\370\370\250\236"
+"\23\255\317NM\214\210p\377\36\352\356\367W\361\255p\264SU\213s\312s\\\310"
+"\362\21\322QT\254G\330\240\306(\314\370\214J\317\226\314\300d4\356\304"
+"I\363\260\320\363~\23\2162\322-8\367!U\223\332X\277CRVR\267\177!\322\230"
+"/\b\312\227Hi\276\246\322\334\211\243\254\246\224op\224)\364d\262\27\307"
+"\371\231R~1\33\376\367\0\0$S{\302\304\37\275\30Y\26\320=\37\t\303P\232"
+"\3060O^}\334\246\225\263\t\b\265\4\313!\372($\366\31B\226v\17\235\346R"
+".F\317\333E\17\272\16\204\216C\234\350E\300\306\276>\343Y\246\211\237\307"
+"#6\204\236\367\213\235\227\203\236\f\6\347\205\370c9\202r\325\211p/\202"
+"\3229,\236H\20\224\253\326\5\2370\356\314L\321\360\304\243\374\317\77P"
+"\306A@\3508\300\35\245R\352\'|Z\310\362,N\226\356\273\350YB\312b\340p."
+"\32I)\34\254|\3032B\226\377\35A3\340\324\22\240\317\377\266\242\13-K\310"
+"^Is\27\236\22|/*\227\354\210\312M\36B\b\371\nh\265\4\30\256G\2333\2\304"
+"L\21B\252Q\225p\214u\27\35\34\263S\317^R\235\234\205n\214\305 \315d\330"
+"\334S\344,!\314\1\34\16\207\303\341p8\34\16\207\303\341p8\34\216\f\377"
+"\1\2724A\n#2\231\321\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0J\0\0\0\276\b\0\0\0\0\267\270\306\242\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3\325IDATx\332\355\230y\210MQ\34\307\3370\30\373D\30\306\232"
+"}Mv%\322$\262\223e\354\262\205\204H\311\330\205)IJ!\305X\377\21\21\331"
+"J\262/Y\322\213\211\30\6Y\306\362\2147/3\336\274\373\361\307\33\343\335"
+"w\3179\367>\235\377\234\317\237\357\374\336\247\363\316\373\336s~\347\372"
+"|\6\203\301`0\30\f\6\203\301`\370\37\251\370\317\337\354\223Z\240i\16I"
+"\367rkhRM\207czL\325\337\1\13\224%U<\2526\2|\257\254\250\250\355\357\344"
+"\311\3244\4\260YU\262\231\317\335\274\250\216\1|P\255{\303\20\4\372\272"
+"\233\372Z\0\263T%{\1\202\3\\\203p\27\340A\5EI\2730\0\241\301.\252i\0\364"
+"W\225\234 J\311H\245\251\332;\200\343\312G\301*S\361k\242\252n\3@q\13U"
+"\311U\312)\235\341\26\204l\225i\30\61X\363\245uG\1>\324R\230*\370\261\271"
+"\226)\227a\216jR3\211#K\34\204;\0\217T\233SJ~\274\212-\242\272\251\0\f"
+"TMj9N2\5Ax\13pRe\252\375\325i*\20,\355z\200\342\226*\325V\301\244\26:\313"
+"\232\204\0\266\251L\351!\247\351i\262\263\356\210l\266\177i\373\336\251"
+"\32!\13\302<\365\23\332,7\336tY\20\204\333\0\217\335N\251:\267\354\246"
+"\210`\13\234\2@\206\353vV\365\264M\225#\b\302\33\200S^N\327=1\246Pcg\301"
+":\200\222\326\2366\377\265\345\273\f\233\234\243\215C\0\333=\36I\263\303"
+"e&\321\tp\30\240 \325\353I9\274(\252\232\353\34\352m\341z\212\332\277\360"
+"\31\300_Q\22\4\177r\2\'x\233<`\210\363\363\311\0\fJ\250\33H{\300EA\20\362"
+"\1\316$\330Y\324<\337Y\360\347\2\374j\233p\353${\334w\350\350\201\16\1"
+"|I\325`\352e\1,\322\321,\336\2x\222\254A\25\r\302`\r\246h\20\316\351X\363"
+"\265\0\341v\32L\321 \354\324\27\204\272\332\202\260X[\20r+iPM\2`\250\266"
+" \\\320\261\346k\0\302\35u\4\241\b`\227\216I\35\4\b\350\bBO\13`\251\216"
+" \334\4x\246#\b\231\262\216&a\252\346\3\\\22\266\323\351\377\22\4\341\5"
+"qF~\253\204\202\20\4\330-\f\356[\336\267O@\225\3\20\250\'\32\312\2>u\361"
+"l\352a\1,\27\r5\370\1\360\245\233\327 \334\0x.\274h\2275b\201\336\336T"
+"\23\1\30-\32\352\360\247u*\354\347\305\24\275\247\\\26\216\235-o\350\212"
+"\6zP\255\6(\25\256lFl\237\351~\2425\n\2\354\25\246\363al\367[<\334S\20"
+"\n\353\13\323io\312K\306\272\4!\2\260B\222N;\341Le\20\256\3\274\250\42"
+"K\247\235\322\351\n\325\4\0\306\310\323i\347[\212<\b\257\1\256\370\24\351"
+"\264\261B>\251,\200HWe:c\310\223\277\250j\30\4\330\'\34;,\230\324\4\371"
+"\244\16\0\24\246y\274\353q3\311%\b+%\243u\343\356zX\275\344A\270\6\220"
+"\'\375S\252\235\261\253\216\312\177\336x\0\306\311\13\222\17\304\232~6"
+"\225\7\341\25\300Ue\200\263cT\212\327}\253\0\42\335\325\317\325\222\310"
+"\37\323G\371\345>-\b\260\337u_,)S).\367\373\1\202i\256\233PF\364\371\361"
+"\313/\367\335#\362WDq\225\37]Z\371k\0\257S\274\354\330\255^\302y\305\260"
+"\345\362 \330\366\210\373\312\16.\33\270\236\344\365\336\250|\263V\351"
+"6V\17\237\36\232\7r|\272\30\225\3563\30\f\6\203\301`0\30\f\6\203\301`0"
+"\210\370\r\364\2406\301W\177\354\b\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\42\0\0\0\276\b\0\0\0\0u\210\202&\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1WIDATx\332\355\224\277/CQ\24\307O\25AL\252\246J$\202"
+"\220\224EX,\22C\'\33\203\244\22\t\211E\330\f\6\177\200\251\26\213t\246"
+"\3\25\23\211\241\233\251\203\304bm#\251 \21\277\222\207~,m\322\336\367"
+"\336\231Lr>\313}\357\336\317\375\236wO\336{\42\206a\30\206a\30\206a\30"
+"\206a\30\177C\244\351\256of\240Z\276.\207\353\23\347\337\0\325B*\314\330"
+"\364\250\223\355\f4\266h\240\320\25`$\275F\205\\\200rD3i\237\321\372\346"
+"(\367\276\307\31\304e\265\276\324R\33\243\276\334\25w\42\346K\371\211;"
+")O%wS\313\224\243H\336Wi\314U\366\236]%\341*\245\371\207\332Uqm\7\21\221"
+"\200\6\367l\27*^\371`RD\362\0Y\365\25\331\5\330w\13\65\237FD\244\244*q"
+"\21\221;\265\320\25@\\3\332^\201\242h\205f\273E$\247\3269\6>z5c\370\13"
+"\310\250!g\300cL3\322\0\13\2321\376\336\320\331@F*\300iT1\246+@\276]\371"
+"\302\327\77\201\214\2221z\t\274,\206\13C\207\36p\236\b[\357X\276\250\2"
+"\267\251\360\210$\300\315\222v\222$\336\311\\Dmz\377F\237\375\262\r\303"
+"\370\267\374\2\276\\\334fdE\6\262\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0b\0\0\0\276\b\0\0\0\0\3532\205\206\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\5\62IDATx\332\355YmL\225U\34\377\3\367\42()F\344\275"
+"\6\211\211[\204\212\255\213\350\346\322\231\353\232I\352\324j\325\232\13"
+"j\353e5h\351\262\305\207\262\341\232\325Z\1\37 [\305\32Q\1+\214J\335\250"
+"\t!R\30\332\4\31\21\341\265\24\64^/\\\357\313\277\17\367>\3679\347<g\317"
+"\363\\\270\347\203\333\371}\342\234\363\377\235\337=\3179\347\377r\0\220"
+"\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220"
+"\220\270Q\21\23\241}\3422\233\373\217Q\201\77h\303w\36D\364\325/\27\246"
+"P\32\300 \3066\nRx\5\303\30Y\42D!mJ\225\300:!\22o\22\n\30\60\277\35\261"
+"\346%\266S\'\361Q\1\213\230\353\'W\201\'\4\254b\31mz\227\0\211T\272i\213"
+"\217\276D\242A;\32\333\315\300#\\bjZ\270\204K\300vO\320\315>\1\22~\272"
+"\331-~\25\277\233&Z\264]sv9\27\303\177\2775t\353Jt\260\264\364\373\263"
+"n\32\77wt\310\204\350\326\201\220\243k\244/p*\345\77F\230\345g\326\6\375"
+"\313\364\373I\206\nO\253\256\310\363z\34\61\20\27 %\216\322\237{\237\352"
+"\350\273R\r\24\326\371\310\211\232m\304\320er\344e\222t\313\17\344PK\234"
+"\276D+\3659\360b\256:\324I\16\254$89\3754\251@W\341\16d\340~$<\326@t\273"
+"\210\314e\3338\303\351\320\225\330\311J``\2772\366\16\321[\251R\236\363"
+"i(s\365$\36C->\f}\333\2\242oG8\372\225r\30\272A\327\311!`]\2\0\0\254Q{"
+"\246\225\223i\371\230GH\321\223X\312c`s2\0@\202G\23U\23\277\345\231\237"
+"\323\77Q]\\\215N\33\0@K\270\275/h\234\3743\327\272\300\340n\7\270\254\336"
+"\245\0p0\334\274\33\0\0\26\235\341\332\2360\362{/\372\271\274K+\0\362\224"
+"\306p,\0@\306\5\376\212\27\32z\220\315\375\\\346\325<\210\ty/\254\7\0\310"
+"\32\344\3325&\233\311\3\212/\361\270\343\233\241$\364g1\0\3343\3043\32"
+"}\301d5\21\377D\13\207>\275\303\356\16\376\225\7p\357(\307\302Sf\217 4"
+"\337\371F\237f\6\337\223\357\42\42\2427\1\36\230\324\n\f\35\272-\322\4"
+"\300\3616\253\22(q!\42v\301\303\36v\376\251\272=sf\224f\254*\371\225\236"
+"\251\315\207\210\265\5\214[\352\257\330\236\4\63G\372\263Md]1\201\210\375"
+"\344\335\231l*\312\236}N\236\264\263\362\37\356\1\365\237>\264)!j\205\255"
+"\243\244\235\271\223\275\25\273o\216v\201\261h\357\227#\241\351\257\324"
+"\24f\b\310\243b\323\355)J6\236h\361\273\243\275\202%\2055\303\314>\264"
+"\275\226\23\265\351\223\36\372\240\233\273\3338P\346\214\237\365\364\261"
+"\271\7~\42\257\231\257\25\21[\335j\307X\355\343\13g1\177\332S5C\254\233"
+"*G\304\322\373&\310N\357\261\347\27\317h\376[\213Ni\242\323\370&8\211\210"
+"\245\260\236q\202\376\226\242\264H\5\326~q]\373\351\207\327\200e\22\21"
+"K\1r\257j\256as\341\202H\34\340q\336\346\272\262\1\34\210\210e\0\260\372"
+"\262\326\300}\304aR`^\5\67\266\366f\0@1\42b9\0@\226\213\233\253l0\243\260"
+"\374<\367\200\236\261\1\0|\203\210\370I\260\324\377\213kW\233j\250\220"
+"\371/\227y2\31\0\300:\212\210\370U\320\362v~z0\220it\317z\370A\77\230\246"
+"\256GD\304\37\225\7\204\263\\\333n\3\347{\220\313\252\266\222\357E\355"
+"\212q\312i\256\3653\272\n\326k<\316{JZ\21\214\201\177\206\315\3477\363"
+"\314\33\364\357\3\207\241\246\377\266\340e$\234,7\251=\253+\261GK\270\276"
+"7<Z\30\352\42B\221\365S\316\206\353Jl\323fh[\324\321\372P\337j2\36\36\216"
+"03\267\263~\311ELgU<\323n\212\363\22[&U\353\237\250F\246l#\275\333F\245"
+"\367U\232\223\317\24{N\203\273M\371\320\317\250\252\355-\245\273\206!\255"
+"\240.\3411\243\333\355Tc\301$s\300\333\224\201\36\2264\277ZU\3501\366 "
+"+\225\4\260\211\361\4\363\274\341c\254\235%_\211\275\215\251&\374`\314"
+"\226\312\216\276\366\362u\232\302C\375\245\2738!8\277\352T_g\325\354\36"
+"\323\17\250\22\37\tz\225\377Z\225\270b\21#\321K\234\232|!\nV/!\361\275"
+"\20\t\372\5\306!B\202v\302\277\230\377\'\224\371\264\231.v\327\356\27\260"
+"\212\7\231\3322)\372\253\30a\236m\'\242/1H7\317\13\330\213\277\351\27\330"
+"\343\42\216T\25\25\320W\211\220\310!\243[\255\30\17B<\3\16\332\304H\304"
+"\34V\42\373\305l\20\205\274\317\257!\342XyJD\277,\322\225\330m\236\13^"
+"\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220"
+"\220\220\220\270q\360\77k\220!c\341\21SC\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0\17\0\0\0\276\b\0\0\0\0\317+\nF\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\1\22IDATx\332\355\322\301*DQ\34\307\361\3575Q"
+"2f&&\32I\303\312FR\26\66#)\212\275\274\210\227\261\260\223\7\230<\200\205"
+"\245R\266\26\206F\267)\335\204\230F\374,p\376\347\234W\230\363\335}\352"
+"\236{o\347\377\207\241i/\344|\'t\3739\340\256B_\205\336T\350\23\351\333"
+"c\226K\362\274\240\77\217\374z\21\240l.\3\224\314\0LD\36\215\\\211<i\36"
+"D\347\77\0j\321\363U\363;\300\224\371\23`\306\374\6\60m\356\3\314\231_"
+"\1\32\336\273\277$\25\236\237$\251j\337/\0\232\221\227\315y\344\36\300"
+"\212\271\13\260f~\0X\252;\337\1\260\345|\13\300\266\375P!I\335\314\371"
+"B\222\324*\375{u\3`\334\271r\0\60\346\356\357R\0}\347\374\32\240g\367\333"
+"\6\2707\237\n\270\361\256\344\\\322\272\347}\3511\363\346\363\2g\376\16"
+"\355h\320\364\347W\3478X\341\243N-\230\357\354a\270\301\rR\251T*\225J\r"
+"E\77#\267W\237\200\272\303\362\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0\'\0\0\0\276\b\0\0\0\0\223\241Ib\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\346IDATx\332\355\226=h\23a\34\306\377MR\223~\330\222\242"
+"\255\42\306\245\202H\203\203\37\21\24qS:\331\305I\272\351$\27089k[\24\301"
+".\21\7\301E\234\204\332A\254\332\241\213\244\350 -\305X\21\215\326(\25"
+"\323|\364r\371~\34.\271\304\364r\367\4oP\270g\272\273\374\356}\337\377"
+"s\317\373\177#\362o\253\303\3447\337\361\300`\362SD1\37\341\364\214\2\0"
+"\310\205\7L\250\303\257\240kuw+\312{\253\210\6=o\201\355\211\340O\205\304"
+"c\200\35\233\35\22\221\344\334Rb\357\271\203\42\42\62\266h\200\235J\1\330"
+"\270\322#\42\342y\4\0\2303\300\316*\0\236\16U\357\206\1\0K[\261\220\2`"
+"\322\245W\4\0\210m\301F\326\1\\\255\337\37\0\0,7c;\277\0\270\326\360\340"
+".\0`\276\t\333\266\0 \\\277\357\234\320|\231n\342\302\0\346\253V\271\3"
+"g\246\276U\375\33\325s\20<\177$\340\367\371ED)h\5t\327_\217\r\227\252\251"
+"\231\256\300Dc\265\27\306\315(\334\320\7~aBe/\327\27\20oI\345\36\4\32\352"
+"L\32C\277f/\rV\t\315\204d\177\243;\212\272\221X_\373\32]\371\0\375\231"
+"\306}\336\'r\357\331\307TFD\324\\\353\224O\0\350&v\335\b\220\247\266\347"
+"c$)nW<\306\355\367\340\42\331\30\6\376\242\251x;9n\262\237\302B\245\35"
+"\f\346{\207\0\303\335\6\305\235(Q\\\327*(\356\16(\356d\31\0\202\324\254"
+"\215\234\313\230\273\276\237r\370h\t \346\365\274\5\230y/\36\252-\323\234"
+"\33\325\373\2279gpH\31re\222\333$\271\246.`=^\217=\353+\220\234Jr \271"
+"t\355\242\217\364\245\303\234\313\222\363\26I\256Dr\372\77\26\37Y\207\227"
+"\364\305&\237s$\247\237\21ns\256R\273\3505\3472\355\346\236\365\331\246"
+"\357\246\347~;\231{\227=u\244l\366E_\240U\376\n\\\376\f\f4\346\24\233\353"
+"\310\220>W\270\357&yr\336\34\311\201\344\322m\372\322K\372\354\266\351"
+"\273\25I.\333f\35^\322\27\237M>\253$W \2712w\316\350\7p\237M\271\337ls"
+"}v\325\253\266\231\373\n\371}3\244/ \363\227&\363\254\222\373#C\356\267"
+"4YG\202\364%A\372\374\203\354W\337\311\376\27\267\212e\31\0P\364X\325\253"
+"\31\267V\342|yo\3317\264\340\257XrZ\360\227-9-\370\257-9UD$\35\345\372"
+"\332B\331\222K\211\210\274$\373\344\23\241\326\27\211\tU\357}\242\355\314"
+"\0\77\273\210>\256\210\334T\211\361\36\42\352e\316\205L\341B\236\341\362"
+"\343o\250\366\351\27G\216\349r\344\310\221\243\377\\\277\1\364\27\330\223"
+"J\374\344\212\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+"
+"\0\0\0\276\b\0\0\0\0\211\235\251\354\0\0\0\4gAMA\0\1\206\2401\350\226_"
+"\0\0\1\234IDATx\332\355\225\77H\2Q\34\307\237zV$m-\326\22\202(\204\264"
+"5\244[S\223\321\330\24\375Y\n\202\b!\20\234\202\42\232s\253\245\251 ,\210"
+"\b\324\204\202$\16q\260!$\202\300\n2,LA\252\3736\\\227\347\235\367\356"
+"\306\210\337g{\357\367\271\367x\277\337{\277c\214 \b\202 \b\202 \b\202"
+" \210\277\200\255\335d \34\364\364\226\22\361G\323\317\303Y\310\324\243"
+"\2\337\364\246\321$\331\303S\247\353P\22306\20584\370\214\324\256#\255"
+"\212\200\201\332q\252S\253\235\355U\307\241\34\377\330\233\253(\356\262"
+"\301\262[r8\355c\254\177e\77{s[8\b\33\250K\0\0)f7/\340\350\'\0H3\26j\355"
+"~\2\0\254ZP\355r\265\356\234\26\334\210|\256m\13j\240!\273W\346\252 *\371"
+"\214\331\314\334`\263P\2311\7\377\256\207\316U3\345L\266P,5\214\334\241"
+"\274n\276\374R}\225\336\224Qn\3757\320\7\23\306U\331\255\361\325k\271\356"
+"v\306\30\223D\376\331\327$\325`\201\273l\261\345\211\272J<w\262u\227\320"
+"\273\261z\251\255\317\340\311\227\326i\24R\27\317@\305\257{\226\311VQ\214"
+"\16;\31cl`\312\253;\352\254Z\254l\372yi\331m\232\367\213.~\n\317\24\363"
+"a\276\303\354\252\345~\372A\264\333\374\n\213\0 \355\270\255\364\341c\0"
+"\371\21k={\3\265\210`\261\277O\244<\226\377\5N\33#\b\202 \b\202 \210\177"
+"\3177\3\t\312\273\351\0\356\311\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0i\0\0\0\276\b\0\0\0\0\23\322~q\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\5EIDATx\332\355\232[l\24U\30\307\277\266\313\320\253\263"
+"\245\2244\255\5E\322B+bS\42\265\365\22j\242\4\233\326K\f\32\324\324\204"
+"4\232@BM@@Qch\352\245\361A_DQx\240^\b\n\2644\306\20\250\306\20 jA\305\224"
+"\226\313Bk\313n\267\227]\332\335\262mw\377>\314n\273\263;\263\2733\263"
+"g\37\314\371\277\355\371\316\236\33793\347\362}\337\31\42............."
+".......................\256\377\223\222\42Z\223\313\237(+\312\23&\355C"
+"V\273\375\246\335n\35r3!\211\233\33\26\207\226\271l\266\0\326\2168\221"
+"\222_m2G\374\253\327n\267\331\\\n\206w\254\232\272 \236\200^m\320\4\22"
+"N\352\6M\211\232H\373u\203pJ\23h\253~\20\32\265\200\36\364\30 \335\243"
+"\1\224y\325\0\250[m.+\25\356Yj`/8\246\241\356\322i\3C\302C*\255\232\24"
+"\3126\371\13g\372\256^s\20Q\226\211\210R\323\310t\347]\271Q\2739|F\3\351"
+"\26\21\r\36\351\350\351\233\t3e,\271oO\3447\336\341\325\262C\355k\251L"
+"V6e\2759\22\371\331u\225\352\333\313C7\216-;s\302K\307\257X,\377\16\r\334"
+"r:\340\364\305\347\204\251\273\34:\2k\333[5w\'Q\234U\364\243\2342\362u"
+"C\21\213\23\63e\233;\30s\355\375\252\24\66Gs\311\331\340\321|\372\0\63"
+"\37\240ar\216sz\303|f\234\314\203\263\30\3577\253\31:5\305\335\263\234"
+"\3\305,\275\247Gg\327j[)S7\355\245\300Qui\35[\177\360u\237\304\361\274"
+"-\260\5m\367\17\350\217\225\214=\334]\22\307\367\361|\306\240\327$\220"
+"\263\226\265\317^;\3\0\350-f\rZ\343\222\366\204\34\326\240\334~\0@G*kP"
+"\312O\0\200\37\4\326 \332-\215\210=\250|\32\0\316\2463\7\315\273\0\0\227"
+"s)1\317n\374^\366\240\302I\0x1\1q\366\1\0\330\237\0\320\375^\0\375b\2H"
+"G\1\240&\1\240\25^\0\307\23\221\r\371\34\300\364\362\4\200r\334\0\16\304"
+"T\265\342)C\244\315\0\274\313\224,\13\216\311\203\305\n\207\347\31#\244"
+"3\0\216*\16\266\13\375E2\20\340yV\77h\31\0T+\203\200\301\3452\220!\324"
+"\33\0\256\'\253\200\0kI \223\340\360{M\272Q\'\1\64\251\202\200\241U2\220"
+"~T\306m\0k\324A\300p\231\f\4L\351C\255\3`\13{x9\347\203\242\232\321\325"
+"T\351\220\345\244t\241v\38\24\21\48*ZC\342Cs\364\206\303z_FD\247\303B\366"
+"ly\356\357\205Wd\233\325x\255C\307\230,\212i\222%\262L\322\276$\22\332"
+"\347~:\253tEe\0\240\340\341\25\366\312@\24\204\322\7\242\22\0#J\206\374"
+"n\31\210Hh3\4\242\307\1\\T\264\344\375#\265\374E \377 \241\364\202h\23"
+"\200\23\312\246E\177\312@\22J7\210vD8\4\27v\311@DB\233\263R\367\256\367"
+".\200V5\343\202\337\3 \377\342\20\f\370i\315\0\276S\337\252\374\240\265"
+"]\371\232[\16]\271\42\21e\250\326vI\27\f\325\307\313:\363\215\222\210\210"
+"\26F\371Ou{:\25iG\205\350#\0}Q@R\4\327c\20\325\4\300\227\25\3\3100j;\0"
+"T\305\2\2z\n\214\274\2471\42\242G\324\353\77\326>\27R\25\235*00\246\32"
+"\0\350T5\257u\311\316%-\243\n\35\323 \21\321\303yj\325m\343\362Yj \224"
+"\23\1\0\333\324\367zk\360Q[fdJ\334\4\200\33\246XP\306@$]\332\325G\210D"
+"\254\361\1Q3\0\340zZT\324\260A\20\325I\35n\246((\303 \312\226\322RS\25"
+"\221Q\306AD\376\314\270%\322\4^q1\16 \332\341\177\341\235\202\306#@{T\343"
+"\317\274\342{\23\353\350\363\327\300z9\314:\'\372\362\334\35p6[\22208\213"
+"\272\3028\245\34tA\355\336\222\304\222\224\332\27|\213\3164\337\373|\360"
+"\31\344i13D\311\277\215\30\336u\7\273\374\336\230<\346\33\375\240\220\25"
+"\3529_\310-\347L{\35\243\344\357\207\341\227\302\243_>\231\306\200\224"
+"|P\351\6\332\325\321\270J\357\226\247\272\\\204#\353\225\r\343\347\316"
+"]8o\211\3712:E4g\213\346\214\337.\251/L\341\333\247\325\377\357\351\351"
+"\265\364\335\260\r\214\334\16\265\244\213f\321,\212\331f\321,\212f\321"
+"\234)\25;\13\42l\1)-[\243w\331=6111MS\2\21e\231D\321<O\261\332\337_\355"
+"\215\330L\275\13\361\220\343\263\362\250=.\3552\214\361\375\2741\246\31"
+"k\332\3516\304\31x/\366/u\26\267z\365b<\207\326k\373\f`\345a]\254\277\32"
+"\27\351p->\31\321:\t\366V\350\\\340i\33\333c\377\254\312\367K\275\302$"
+"\370\17\212I;C\227\2140s\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0*\0\0\0\276\b\0\0\0\0f_\302\322\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2wIDATx\332\355\227Mh\23Q\20\307\307\265\32k\305Pl\260Q\214Q"
+"\322j\3Z\21\277\213`)\24\241 \212\250\250\b\236D\360\42\350M\274\353\325"
+"\213 \202\7\5\253\b\202\221@\320 \342E)JT\214\326\20\333\250MM5\3304\211"
+"iZ\335\277\207\315&\373\366\303\35\17^\344\375N\373\346\375v\30vwfw\211"
+"$\22\211D\42\221H$\22\211D\42\371_\230o\\(\177T\317\261\223\206\253\13"
+"\271\352\25\3642\315\266\378\317\254\365T3m\347%m\376\n\344\25\226z\2\0"
+"\2728\246\222\2\200\343\234Z\367\207\210\210\2662\222\316y\1\0\30b\250"
+"\3\0\0L\317sO:\244\251\330\340Z\353\236M\265\203u\256j\236,\252#\217k\5"
+"D\334\325\376\232\232d\\\202\347\232Zd\250\7ki\27\270\253sS\232\352u\277"
+"\261\277.\361{pQ\21\0\2400\36\355\322\r\42\242\252\312I\273\3\0\306Y\r"
+"\263\227\210\350\33\247\t\7\1\0\61\367\21pqJ\273V\227\353\241&\253\265"
+"\270\243{Ko\247\276\32n\250\201\335\372\241Wimi]\342_\346\23NLX\236v\'"
+"f[\230\343\215\350Y\231\255\336\343\16MRo\261\325H\206\255^`O\355\301\247"
+"\\5w\232\373.\2309\234c\252\263G\36\t\353&G3\177(n\232\242Nflc\334a\342"
+"\231x\271\317z\262]\1\225\373W\37\300]U\223O\342\261\222mIu\2650\221\33"
+"\33M%_\227\234G\2567D\323\225\231rA%\211\344\257h\3536\5|\353\35L\337\253"
+"\357\233\305@b\262\307\326\\\372\6\230\334&\230@\251\317\306\364\277\5"
+"\200B\217`\2\225\1\213\271\374\235\326\200S;\5\23\250\36\60\231+\336\353"
+"\315Z\332%\230\300\317c\202\31H7\32\273\334\'\230\200z\322`\6G\214C\240"
+"\334/\230\200z\266n\266g\304\201Q9\2320\215\2203\372 \312=\24\13/\16g\305"
+"\300D\343\235\250\\3\246\370\22&O\324\30\30\17\33\77)\25676\262]D\202\233"
+"]+~~\334\3247\306\326\20\t\356\347N\363\247\312mm\343SG-\240\273\37C\326"
+"\351u\7\0\62\253\353\1\315\35]e\367\277p\27\30\t\32\2\236(\360!h\377o\21"
+"I\257\24\2\236h:\340\364\37\3427\5<\355\262\337%\22\311\77\3477\214h\331"
+"\324\224\317\1\367\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0\77\0\0\0\276\b\0\0\0\0\247\330\210~\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3TIDATx\332\355\230\333K\25Q\24\306\327tL2\305J3E\262\253E\220\26"
+"]0\265\304\27#\n,0\257\21d\4A\321\5\212\bz\213\376\203\2102\312nx\245\7"
+"\363!\354\6v\321(1I#!C\214\314$\305\360\230y9\216~=83g\266\3509\263\327"
+"<\5\373{9g`~\337\336kf\257\275\326l\42%%%%%%%%%%\245\377E\36\251\233\313"
+"\342\233\334\214U\201\251\323\256p\2700\360T\2.\f\f\234k`\341\300\324\31"
+"\6^\5\2700\20p\301`\236#~\312+\\j;e\'\240\335\264\217_\355!7\6\f\234H+"
+"q\205\373\r\230\270iP\345a\'\200V\342\n\'\322n\230\370\n90\312x\341\232"
+"\201\347\216\35\221\302[\376f\332\257s\'\240\27\313\340\300\360.\377u\336"
+"\4 a\20\325\2\0C\351\2\356\334`\32\7\6S\4\34\320\217:\301\243[\314u7\270"
+"M\300\235\31\370q``\213\200;1\260\343@\377\246t]\330\b\202\32\\\27nG\337"
+"\232\n\221\77\24\204\217h\20\356/\325<v\3\275(h\374\221o\5\234\310S.\203"
+"\23-j\22p\233\201#\234h\361\7\343\376\333\232\261\231\226\313\340D\321"
+"\37\5\3340p\214\23\305\264\t8\221\247\fz\241D\376\305|\26p\42\317\375B"
+"\251\374\217\273\254\251VII\311h\2322\334\361%(p\203\237\5z\302\370\370"
+">\35\30016\236<\b\0\r\\<\346+\0`2\236\207\207\2766vcf\0w\315bP\301\302"
+"/Z\305\344\'\7O\263\225\337\345\22\375\267\251v[\37\236*\377\375F\343\330"
+"m\375\377\366\202\21@\330\17k\376\365\254\7x\334\342\377\260\370\220\16"
+"\313 \234eP`\361\t\274\36\332\352\250\222\344\337\37\21\341\222\345\304"
+"\314\240\227\306\370\311L>\315%O\317\246\371\265\254\370\211\350\316\364"
+"\217\227;~\230\27\0\364\20\356\370\243\325DD\375:\227\247J\42\242\357\304"
+"\346[\210\210:\371\274\267\227\210\276\360y\352\42\2426\27|\270\31\4O\21"
+">\240\227\370\343\37\230O\324\350\242\200\276\7p\202\217g[\253\237\245"
+"\5\35\0\332\211\35\377\225uDT\303\36>k\322U\362\'\364\1@+\27_\330\n\0\340"
+"\236\342\205>\6\0\214,\341\341\3469\3305&\376\300\370rL\344M\336<\205+"
+"\347e\315\23\3\237\330\300\301\343\233\315\302u\213\203\357\3501qo\34\3"
+"\77\65f\325\335s\214\246\261\306\33775\207H\227\354\303\277\374\370\370"
+"fY<\263\321~\204qA\222N\252\23N@\352\244\22~\345\311WS\2\336\25=\263\37"
+"\232\263Hn\334\236\2221s\235z\367\17\4\343#c\227\305\'\254J\\\277z\226"
+"\211\372r>\5X_\265\235\235\335\277\21@z~\200P\363\6\20D\276\274@\217\352"
+"Q0|xo\300G\275\364j_@\274{k\320\326tO\351\334\341\77\217u\264Cd\227\r\315"
+"F\217\234w\274l\302r\36\216\314\304\353\344\366\253\210\242\3321\33\375"
+"&K>a\27\27\327\371\246\273\374{\251\201ss\356\27r0\77\342\335\323\372Q"
+"u\334\240\244\244\244\244\244\244\244d\327\77\204\5\271\217\303\25x\r\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0E\0\0\0\276\b\0\0"
+"\0\0F\263\235/\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\262IDATx\332\355"
+"\230[HTA\30\307G\327MWV\263MK\274\225\211\20\6\231\b\226d\305BEa\27KI\313"
+"\42\253\207.\220\202\42=\24\4\366\26\326BAn\244\30De>\224Ft\21\2\r/\225"
+"\21j)\226!l\272\26^\361\202\345\256{\246\207=\273\356\2363\347\354\\\266"
+"\267\371\275\34\37\344\347\231\361\233\377\367\315\1\200\303\341p8\34\16"
+"\307\'\1\1\254\2065;\267e\236f2\4\31o|\207\20.\206\322+\2\215\3461\b!\204"
+"\360\13\265#\251\302\2]\324R\256$\267I\200K\\\244q\30.\375\204^l!w\304"
+"\233\346\274\35\320\256#u\254\253\261A)\335\244\265Qk\207rj\210\34\321"
+"\267\26 \212\13\4\16\335\345Y\210&\3\377\244\34\265(8\240=\4W\222\372\16"
+"*\362\31\323\241\277iW\226\300*<I\366\220\212\343\353\t-\216#\362\241\212"
+"\243}\77^\262\34\370\255\250\20^n\307[LX\255\242c\261n\23\346\266n\376"
+"\241\344\370{7\t\267FJm\n\216\231\312\30\334\32\211x\241\340\230\270j\300"
+"\256\326\215\n\253\31)\323\343\37\233\2749\244c\360|0A\203\271\42\240\34"
+"\375\'\203\b\316\257\366>\312\321S\20H\22$\372&\204\343S\16Y\3\64t\310"
+"\35\357\263\t\233hT\267\334\261\2274\237\243z\244\216\217{\210\33\305\362"
+".i\b\355#\3576\241\222P\353\313\243\30*\2\352\275\34\226\42\rM\363\274"
+"\346\351\230*\323\3218@\216G\305\332L\221\224c\321\324\222\344u\n\355X"
+"\323\354v\f\347Q\17\66g\335\201Z\25N-1L\212\22\353.\206Q\357\272(y\23\305"
+" \211\20\233y\245\206A\2J\234[RL\367\217q\375p\304Y\274\231,\353\1z\207"
+"\270-\243\5\f\226\255K\5\367,\232\332r\330\263\341\24\322Z\16y\35\346\306"
+"\325t\226\35\336\2712\236OeY%\315\311\307\6\32\315\240Tc\335Ma\251\224"
+"O9\246\20b\313\6\207\274\13u\255\'\326\324#\32\342\\\21\251e\355\f\252"
+"9\337#]\325)\344\254\321\31G\250\271\215\324\374\312 \263h\36 5\363\7\t"
+"5w\320C)\351\36\237C\216\225\302\31BMJ\23\362m\216\21\237\356\1\204f!\213"
+"T\203\274\225\215\220gEB\235\\\323Hq6\215\2752M.\205F[.]\326@\20M\340\304"
+"7H4\371\224Yl\365\2624\323v]\257\31\\\210\241\324\200\234q\17M\21\255\5"
+"\304\266{d\r}\323\f~\344\266|`\371\214V\343\356\231,\203\200\306=I\353"
+"X4\311\256\270\210\3659\277\2500\320\340\32OX,\340\245\370\\\306d\351\307"
+"\236\310\324\30\23\237\363L\26\207\370\234f\262\2109g\237d\262\30\235\17"
+"\253\300R/\241\303\316ry\305\262\273\201\325b\265\3650\274Ix\35K\362\212"
+"g1\337=\2529(/o \256\364\233\307\335\\\345\203\257r>\245g\31\323=\357\301"
+"OU\3368M\230\235\2\13bUj\365Z}\330\nCLtBr\362Ji\351%\16)k\324>\307y\321"
+"\300z\216\0\0\0\230\374aii\361\203\5\226\3\77X\252;\375`\261\224\263\247"
+"\24\260\25N\373\301R\322\346\207\304\2540\373\372\r\214\252\253\360\371"
+"g|\17H\366b3\273\305r\274\225\340n\217F0\247\266\342\354\234\332\276\b"
+"\317\323\360\312IeEcO\252\372\0\223e\244\267\343m\233\3\77W\23\345\367"
+"f81\372\7p8\34\16\207\303\341p8\34\16\207\303\371\317\374\3(\n\262J\264"
+"\343\332\350\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\232"
+"\0\0\0\276\b\0\0\0\0\350\251I\353\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\6\344IDATx\332\355\233kP\224U\30\307\237\205\345&\27\5AAG\300\274!\345"
+"]\3u2\322D\322Q\32\r\7\301\262\24\34e\352C#\231cC3\206\343P\31\243\215"
+"R6LM\246\230X\202\327r2u@\23\60 \327\34!\363\212b\\Tv\301\25Xv\237>\300"
+"\356\276\357^q\337\363\302\363\341\374\2770\343\34\216\77\316\345\271\235"
+"\347\5\240\243)\371Z4*\203\20\227\347\212\13hV\307`2`\303>y\200B\25Q\1"
+"\33\265\247\35\305\232I\3l\302~\235\5\30\36#\1\26{\304`\t\206\206\311\4"
+"\300\346\375\2166T\330\357\\\212\3042[`\332}\221\375\f\246L\271b\13\254"
+"l\355\300\376\6[}\303\6WC\356\204~\337\3127\256Ysu\235X\346\321\357\207"
+",\376Ok\260;Y\341\4\314\305\31+.]\321kn\375\17\26^`e\307\356~<\214\200"
+"\35\363\333\252\265\340\322\377\232\350N\0\314mu\275\5\330\343\3341$|\322"
+"\314*\13\260\253\353|I\200\5\177\243\27;\312\223\361\n\22`\212\264&\21"
+"\330\323=\321D\42\262I\27D`\17\263\207\20\1\363\312\26Edu\357\373Q\tbc"
+"\376\26\202\375\233\346I\5\314g{\227\0\254v\225\2627\277\324\'\246n\366"
+"u\341\212\275\325\13\60\357\370\334\252:\371/\257G\266`\311\356\246;\7"
+"\13\\U\374\4\21\357\310N6\266\302\f\326\264\301\307\351\336\247\34\353"
+"\350\36|Rn\262\3646sT\2353\310\331\350\227\276\323\230\206o\227\27,\244"
+"\310l\371\13\234\5c\301\231\242\340\362\35Y\311\22\314\371\370\305Xg!\334"
+"^\213\349FF0\357/MaY\375\333\216\257\233gj\271U\42\352/\37\331\310jS\0"
+"\273\323\361!\13\332t\337F4.\37\331\253\315\246\334\315q\42\36\261\243"
+"\315V\306\'\333\5Ul4\32\263\226\f\207!\377\363{;\321\246>\227+\310>h*E"
+"\rw4n\332a=\332\321\42y\310F\253\214\371n\222\243a/\36\67\330\341\322\236"
+"N\226\207l\341\343\236\377\341@\260\203Q\323O\330\3062Tn}\305[\246\335"
+"\314\354\331\244\206\245\16\6M<bs\305\264\305irf}=\273Y\344 \212\35]`\353"
+"\214\265\25&\311\234\303\250\20\21\325\16\374LX\236\316\232\253\363\350"
+"r\37\220[*D<\377\234\375\333\233\335j\rV\376np_D\216*\324e\331\rQ\225\353"
+"\353\255\270\36\356\350\253\272\225\352\346,\373\16\377\252\25Xi\262W\237"
+"e\2Yvk\212c\177\261:\371{&QH^\374>\353\260\254\17}0\210\2\30\244X\36\262"
+"\212d%\t\260(\313\22\374\2518\32\211\250\367\26\361^\352\17M%\222\42\317"
+"\251\25\203\25\214\'\2\26\220\'r\227\372\375QT\252\n\363o\213\342\212\237"
+"\251T\256`\300n\321\222\3756\203\n\30L\257\21\202U\315#\3\246\330 \f\374"
+"\357\256v#C\26t\\\30$~\344C\6\f\246\334\24\220\35\b\247\3\6I\202\364\362"
+"r\34!0\370\320|3[3\225\204\300\24\271\346%;Bi/\1v\232\300\376[F\n\f6\231"
+"\310\276\17\242E6\337x\316\352\27\322\2\3O\243\325(\34L\214\f^\357\6S\247"
+"\29u\237\264\212\221\322gb\356\331\302\0\0\277\230}\213\336\242\301O\210"
+"x\220\311L\314Wm8\0<\4\222\252D\304\366\227I\242\25#\42v\254\241\210\266"
+"\243\247P\354N\17\355=c\343\236\779\264\305F\7\252\212\244\2066\301\334"
+"\3615\213\30\232\317c\23[\373JI31\77\255]\276&\313\241\\\352u\206\324\262"
+"\5\13\253\265\207}I\261}!L\214+C)\241\r\26\265u\334\34K\212M\364\364\332"
+"8\215\22\233\277\250\345PM\312\243z\37\25\262=Y@\211\315c\237\220\255\235"
+"T\2\343\226\'d\353H eC\266\211\336\23\347\222b\333(,I\266\306\220b[+\354"
+"\16k\34M\212-Y\370`p=\204\325\264L\32\310\26\t\33\204K\331t\373\5\347\237"
+"g2\317\34\265\200-\217\305\214\21\67p\33\233\305\237&\354y]!}\276\200\253"
+"\330\306\352\315y|\235\300eI/7\354e\331\333\26)h\226<-\365\4\307\32P\33"
+"\306\356\236\206\252\314l+%\336\315K\210\273X\332\220@s\307d\235\264\326"
+"\227U\210\310\366\231+\304\274\247\353$\245D\17\20k\30\333\336q-F\264\277"
+"\244L\223\216\2109\254\375\302\\\223_\220rI\253\21\61\211\271\317J3\242"
+"%\366>\256\262\374\207\211\223\1@\313\34-\337\270\21\276\256\243-\3\0\220"
+"\241\205lsq\367O\265\353h\363\1\0dx\275\301\324r\0\0\320\270~\77u\210\210"
+"\77\310\21\42E#\42\242\353iiLw\334\'\313\307s\325\210\210\1.oh\367\37\25"
+"\262T\16\264B\0h\322\270\214\26\331\375c\213\34\313\26\7\0\327\301e\264"
+"\236\207\245q[\330\223\305\307\3@\245\353\277oL\37\273RX\223\271_\226\30"
+"M\2322\333\216\345l\311\6\36ED\324K\370~\312\3746\255\317b\371\22\263\340"
+"\16\42\42\236\2250E\246 \224\77\313\2544\26u\230A(\271H\364a]N \13\260"
+"\31\77\32s\345\333R\362\275\20q\13tK\216\324\326\347\240\f\301WAoJ\232"
+"\352\17\313F\343C\13]\257\222G\256\77%l,\222\230\265\244[w\33\67~\35\357"
+"B(\22\231\372\225\270\337\17\37<[\311\331\352\357\360\2715\324\3060\355"
+"9U\315\265\332^\6\64^Q\343\'M\236je&\324\13\312%\2266\326\344\333\35|\277"
+"\266\346\332\77\367\32\354\274\304\272\7\17\31\26\26\36\219j\204M\253\243"
+"^\\*\265\352\2428\356\254\274\251{\364H\323\252\321\251\1Z\20\374\225\340"
+"5`\200o\300\240 \307\35\300\367\226T3M\315\330\351\334P&\6\62\342\6k\260"
+"\316\315\254\336\302B/\262%+\237\310\316\343y}\252g\7\366(\203m[\304tV"
+"\13\247\333\315\376\23\214%\345\322\271\fWv\311\323$\34\373\255F\2V\327"
+"\245\334DI\315X\216\275\232O\302\222\4W\36\64u\25%\245\347[%\256\214S\207"
+"\253\210\216\213\2351\346\31\16\362\323\262\222\2222\26\225\211\336\305"
+"\2~/D\217\33\65r\204\263\312\277\241\251\252\264\344R\'\243\363\364La\212"
+"wXhHP\340@\77\177\77\17\177%@\200;\200F\17\320\332\331\324\334\334\320"
+"\330\334\334\204\300\305\305\305\305\305\305\305\305\305\305\305\305\305"
+"\305\305\305\305\305\305\305\305\305\305\305\305\305\305\305\305\305\305"
+"\305\305\305\305\305EH\377\3.\267z\366erZ\b\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0\276\b\0\0\0\0L\3573}\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\3UIDATx\332\355\230[H\24Q\30\307\377^KK\355\242"
+"l\17Y\255\224=D\321\215\322z0L\310z\210\310$2\24\272=\4A/E\22QQ`7\250\350"
+"!*\202B\212.\220\21\33\246\2317\274\220\24ehVJE\367\33\242y\267t\377=\234"
+"fwfvfwf\5\237\316\357i\3179\363\3339\373\235\357|gf\1\211D\42\221H$\22"
+"\211D\42\221H$\222Qb\352\316\210\340\335O|2+H7\244\232dW^p\362\26\222$"
+"\257D\7\341F}\26\62\233\222\355\313\273\250\360{\203]7\374\203G\246\273"
+" \314\236\234E5\305\23l\311\21742[\355\254\231\323\255\225\331\236f]>@"
+"=\203[-\313/}d\272\17Ztg\323\210\213\326\202\276\333PfQ\244\25\271\310"
+"Xf\251\225\\}c\42\263&.\260|\303Lf]l@y\312OS\2736&\240\275\326mjW\4\376"
+"\335\r\2462\357\5Z\261=\364\303\265\20\277n\352\220\77\231\207\374\271"
+"c\333\374\272to\366#\37a\0\372\27\231\327\334\276\377\327\324\367\230\331"
+"\357\'\233\311\227\224E\211L8\77lb\273L\2026mP\214\277M\0\220\376\303\304"
+"\336i,\237\22\243=sEMy+\232\257tro\222\221\33\335!\42\232\245D@\24\360"
+"sY\2729\24\33\311yb\354\230\247c\371\20Iv\216q\224j\355u\6r\31I\262Z\225"
+"\203gH\222\253\20Z\240\311\370\346P\37w\322_\222\354LTu%\364)i\2253\240"
+"\266\263}\344M$\311\335\232\276;$Y\b\0i\35*\271\322G\276@\222\337\264\305"
+"*\237$]\0\200\371\252\260\271\247\3\320\314}!\0\334\370\243\221\307\0@"
+"\27\0\240q\305\17\357\t\236\241\227\235\0\360Y\343N\330\6\0\357E\343\325"
+"\312_\236\1\237\f\27\63z\270L\225qOI\222\353\225\366\322^O)6\226\311\272"
+"\315\343E\364\367w\222$\207\23\2745J\331\355\367\365\262w1\372+O\357;Y"
+"\246\264\37\353\3h$\233m\204|\365\263\216K\364\335\325\7\354\253\361n\341"
+"muc{;\0\240O/\2771\226\353\337i\246w\0\0\320\17@SJ\35k\214\355\305\363"
+"\247\215\33\354UZ\215\271\23\1\324\226\350.\212\37\360S\273:\32\256\356"
+"\315\214\7\200\343$y\330~\365\343\353\263sVv\371\356\0\0Q%\f\314\220\250"
+"TY\0\302=f\304\202U;\22-\34\301a\42L\37\0\204\244\317\f\213\215\214\233"
+"\354p&E\302\6\214\353\6p\235A\321\6\375:\333\240j$\262k\4\362\327\7#\220"
+"\217\376\365/\377\246\271[zQ<[\233\215\277\310p\247\246,Yb\370\274\\\234"
+"\375\377\213M\226\252I\24\217\220\344\215\'J\277h\207\232s\225S\322\344"
+"\316\3172E\251ck\353-`br\362\214\251\216\270\30tv\177l\251i\361^fx\347"
+"\212XKa3\f\330\315\325]\301\312\303\3719\203\26\337d|z>m)\267\272\332\372"
+";\263p^\271\365\\\321\6\254*\305\326\13\230\352\363\273\222\313\317\355"
+"\275\257:\')\307\305\367v\371\267\201D\42\221H$\22\211D\42\221\214.\377"
+"\0\241\205\237&\22\138\347\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0=\0\0\0\276\b\0\0\0\0\243-XC\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2pIDATx\332\355\227Kh\23Q\24\206O$\224\24\211S\242hj\240\305\327"
+"B-(j\305\205]\224B\27\26\334\4\324J\305.ta\361\1\26\251t\243\322\225\270"
+"\26qa[\205 \270\251\210hW\5\253\210/t\241 *\264J\255H\2066M\342$\344\371"
+"\273\310\243i3\223\316=\203\2709\337\352\316p\277\271g\346\236\341\236"
+"C$\b\202 \b\202 \b\202\22k\317\77ys{3\317m\270a\0\300\374\36\216\334\243"
+"\243\300\'\227z\320\17Qf\227\252\274\377\307\242\214C\212\362\361d\205"
+"\214\3j\362\245|\245\234\322\224\344\253\0\220\274\266\305s\341E\f\310"
+"\17)\311\3\0\20\331W\270\360\372}J\362\261<\200\\;/G\266\305\1\340\26\63"
+";\307\1 \261\236\'\357\4\0\2141\227>Z\330\245\273\215,;X\334\344\77\67"
+"\333\353k\3174\313\376\203\317\313\303\354\324\317p\314HS.FDD\303\372\312"
+"kk9\2303i+\364Is9\337j\313>ln\217\332\374n#f\262^\235\0nS\373\224\353d"
+"yl|\376\376K\217\304\223\13\63a\273\233\366\241\270\336\313\213-\253\324"
+"\267<\r\0x\264\227\225/\36\0\230\352d\346\252\6`\324Kl\333\350\345\37 "
+"\332\364n\7\307O\335:9\202\5A\20\4\201j6C+U%\356\36\'v_\233\203\270\375"
+"\3211\7v\bo\371r\7\260\300\226=\337\0\64s\355\353\0\320\315\224[3\0p\237"
+"\'\257\376\2\0H\370X\366\275b\245;\304\221/\227\352\362$\243\361\357_\354"
+"\201g\267+\272\33B\225]A\254\317m\361\13\65\265E\215X*\221\217\22\31i\42"
+"\42\317\232@KgpY#6\23\232x\77\267\264\224\365\371\3\343\256\256\307v\343"
+"\211\353\21\42\42\252\367\220\267N#\42jv\333\177\33\257W\371\17\255\315"
+"\77\264\263N\354wg\34\330\371sw\236\362\355\341W\350\235\345\332s\203D"
+"\341`\202i\17\350D\364\272;WS\357\262\350\324\'\212\307\300\211,,i\262"
+"\262\243\233J\217\77\222\262\266-\42\307\351\351\322\360A\207\256\32\371"
+"\225\312)\201gJ\221g\372\227}\332\263\363\266m}dGU\204\r\203_\315l\227"
+"\266u\351\274L\370\267\371+6n\254\272\365Q\n\24A\20\4A\20\4A\20\204\377"
+"\303_C\247g\1\367p\366-\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0\77\0\0\0\276\b\0\0\0\0\247\330\210~\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2jIDATx\332\355\227Kh\23Q\24\206O\232d\244\3258\255n,\324"
+"\342B\\\24\367*A\nJ\245\244\265Ui+>K\264\313\342N](\270\22\37\13\27\356"
+"\225R|\264\224\212\251\326\27(B\2604\270S\320\215U\220\26\24K\33\363p\234"
+"\311$\277\213\274\346\3066\231\271\203+\317\267\272\3719\337\311\314\344"
+"\336\341\204\210a\30\206a\30\206a\30\206a\30F\226\r\225A\223#\275+\21\22"
+"\203\360r\320\201\336\243\343w\2475\30\64\221l\267\255\37\324\1\374\332"
+"W\16\216\231\0\322\35\66\365>\3\0\220\336[\f\6L\0\200\26\262\245\37\316"
+" O\272p\305}f!\320\17\330\320\217\26\253\201\324n\42\242CF)0\6j\352\'\312"
+":\220\b\22\365\352\226\300<^C\17[u \2763\244\13\201y\272\252\356\211@d"
+",Z\21<\362Tm\240L\13\325S\212\32\23\202\207J\215\33X\363\314R\375@!\22"
+"\32L*5\37`\375\213R\365\204B$4\230\360\333\370\1\33^\26\252\307}\371\240"
+"\324`\314kk\3\65\274\6\0\334+U\27\32\334\361\332\334\300k\243\0F-\325j"
+"\f\300\210\327\366\1\n\274\301m\241Z\215\341\226\327\301\1V\317\326U\4"
+"\347=\374Re\30\206q\300\220;\275e\311\235\77\211\200\33}\77\260\315\205"
+"\36\370\nT\235\271\352\252\373W6\23m\227\377\372\366\34\200\210\264\276"
+"\3763\0$\353e\375\273\371\241\341\244\244>\\\30:>\372\245\364\236\342\24"
+"\213\3132z\257V\32\232rg\34\333\353\256g\255C\337x\353j\343fk0\251\305"
+"\263\tJ\232Dq\20\21y\325Mm{\2164\212u\231\'\221\2319S\234\221\32\67\266"
+"|\367t=\266}M\231\305e-o*\24\3605\21\21]\3659\270\'\177s\263\323\375[\223"
+"\177\353\233\356\374\205\356\234+\377\334\363\33n\374\350}\2720+\357\233"
+"\303 \243\177^\332\277\371\216\210\346C\77%\375/\227\210\210\350}\365\6"
+"\253\372\30J\345\27\63\35\77d\374k\257\212\253\267\273>8\367\247.\226\327"
+"s;F\234\372\243\375Y\313\247T\270\373\223\3_{\3329h\210\321t\333\251Y\254"
+"\370\376P\267V>\270\305\205\354\312\377h\266\374}\330\277\361|\3020\f\303"
+"0\f\3030\f\363\177\360\7zI\253\241\3035\7\35\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0b\0\0\0\276\b\0\0\0\0\3532\205\206\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\4\237IDATx\332\355\231\177L\324e\34\307"
+"\237\216_\236\2R\221!\26(\304@\b\27\243\304\206\31\204s:uk\265\\\253\311"
+"j\314\265\230\251m\255\231\375 4X\33K\234\360\207\323V[\23[\177X\272):"
+"\327j\272\262C&k\301\235\351\315\342j\202C\301C\216;\270\343\356\335\37"
+"\334\301\301=\337\357\367\371>\367\375\256\177>\257\77\357\371<\237\367"
+"\367\371>\77\336\237\347{\214\21\4A\20\4A\20\4A\20\4A\20\4A\20\4A\20\4"
+"A\20\4\361\377\360\200)Y\27V=W\272,\235yGz;~3E\240\252\303\213\b\241=&"
+"\bl\275\212h\2+\215\26X\3653\346\361\205\305P\201\224\346\253U1\263\235"
+"h\244B\321w\253b\177\374\327H\205W\307\300\241\324\300\345\337\24\342)"
+"\30\270h\223\217\203K\235a\n\3263|\205\311\f\303\24\316\363\25\360\255"
+"ao\351\364\274\314\356\21\17\0`\242\330\250\231\216\232\207\301\343;\253"
+"\262-\2141\353\232\367N\17\325\32\65\210\375\221\374w[+\3149W_\t\257\326"
+"\233;\26\230\344\7+\247w\334\275\372D\223\4\230\265\17\0\360\375\243\346"
+"\231\332a\0\360\3574\3216\253C\0\334\325&*,p\2p\227\233\351\375\r\0&\327"
+"\231\251\360\3308\200\35\246\26\60G\1\234\222\77\25\266\'h\306\344\5\0"
+"o\216\254B\372I\254\327\fj\7pPV\301r\21\336\207\265\2022<@(OV\342\35\221"
+"\307\253\7\320-\253\2205\212\373\231\232Q\227\1\264\310J\34\1\32\65\203"
+"rB\0\336\224T(\b`T\333t\337\2\200\255\332\323\312\375u_\42;\352\326\354"
+"\273\2161\306\36\221\33DN\0\201\307\265\303\234\0\360\203\234D\213\320"
+"\226M\t\2@\350y)\223\271\'\362\212Y\376\264\235\16\344JH\324\1w\5L\362"
+"\351pM\360\217D!\363+\360\265@\330\332H\3351\266]\257B!\200\27\5\342Jf"
+"\213\247S:\217\302F (R\211\246GU\342\336\346\2124\35\67\326\33\5\354\367"
+"2\221g\261\317\235\4\327\265^\207\3351\36\23\26;\255\245\5\214\331\204"
+"\206{r\256Dn\356F\306\320o\267\333\35\16\237j\307\217\1\210\225,K\307\24"
+"\312qLu7\27\251t\264\1\250\21\233\265]P\241S\3616\374P\20@\201\340\312"
+"8\246\246\341{M\241\327K\0\260H\324\337\33\203*\32S\33\370\275\16\1\360"
+"\210\257\360\312\36\25\215\77\371\5F\27\0\267\216]dy\371\242\262\306Z^"
+"\217\244\t\0.\235\6\266\357\362\24_b\27/\274\24\0n\353>\326\26o\376\360"
+"D\2177Fb/o\353\25\62\306X\232n\211\321\263g\31\263,/,.*\251\2102R\356\353"
+"x\37\0\20\317ey\305\347wfF\301\255\330[\1\0\317\306\367=\247\326\26\226"
+"H\3475\177\5\0\330\35o9]\376\245\17\300 \267\255\3\0p&\376\232\275\7\300"
+"%n\221s\2371\306\330\372\314x\25j\313\30c\327\271\22\376\360\333\214Sa"
+"\3331\306\30sp\333\16\204\313\212\205q\335\223[\247\r\261\222\333\372v"
+"x-|\32\207\302\306\33\3239\206\223\270\315\233#\337\221\312d\5V_\210\354"
+"\212\203\32e\205S\256X\255\356\234\331wC\n\31\22<\221\b[\252\3769x#\352"
+"3\360\344\13Ja\263G\363\25\235\343(o\33\211:\1\275[\24\3\233f\243\376\252"
+"\20\317\277\374\203\77\346\234\261\267V+\307>\23\25\347o\262\n\345/\336"
+"\333=\357\24\377)K\315\216]\321\241\256\272\24\215\364\251[\332n\316\267"
+"\211@\203\372\225\375\243\271\341\267>yB\331\21065\375\22\210\365\272\353"
+"\225\32\217\225\31c^W>\253\216Y]Y5\357~s\215\373y\331\327\220\242Y\323"
+"\36\342\34\345\241\277\373\\\3\3\23\276\t\2668-3{Y^\376\203JO\370c\275"
+"S{\3622\6!\315\355\327\5\217IY\201\340\21aG>,\247p^\307>J>\247\77\177\340"
+"\304S\372\f\276S\247\300x\273\356\17:Imz\4\206\367/\221\262\306!Q\201\276"
+"=\251\222\326\222\321>)\220\337~\240$\36\13\316n\31QM\3579\267;_\344\22"
+"\242>\355\33\266\325,\345\266\334\351\262]\352\362\213\335s4#\212\326\224"
+"<\271\42{\246\222\36\37\354\357w\366:t\334\17D\377\321\260.IX\224<5\346"
+"\37\3661\202 \b\202 \b\202 \f\347\77\372\305\321\312\224!q\201\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0)\0\0\0\276\b\0\0\0\0\215"
+"hy\321\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2NIDATx\332\355\226MHTQ\30"
+"\206_\177\222$G\251&rh\222\42\261Bj\223$He\201\341&h\345\256\26-*\242\26"
+"\345\242 \42\b\212\b\42\210h\21LKg\32162\214\4CZ\24Q$\224\30\344h\366\'"
+"L49\ti\243o\213\2713s~gn\373\357\331\235s\237\373\235\237\373\235\357\\"
+"@\20\4A\20\4A\20\4A\360\320\22V\3345\23\17i&\370a}(\261!K\276k\16c\36#"
+"\311\361\215!\314a\222\344T[E1\266D\222d\272\263\222y\222\1\363\207+\230"
+"\17\13&s\347\312\212\265s,qoE\271m\247\312\323&\277y\\3\3716VzT\255\233"
+"\255zs\347h\213\3174\277\343\226\341\270\307\264h\35lr\233c\226\272#\351"
+"\16\326E\233\13Ns\345\37\333\\\330\34627,8\202>r\231\267\350\242\303\26"
+"\243Y\247y\3376/\221df\377\3\303\374i%@\335W\222\271^\340\214\261\260="
+"\246y\224$o\0@\307\244f\366\233\346s\222\251z\0\300\332A\325L\30b;I\236"
+"(|\274\253\313J\372\31\346M\222\231\372b\263\357w\321|\243\2135\337I&\325"
+"\264\376V0S\272y@\35\34\0\260i\42\60\247\365\\\352\3\200\367\2529\265/"
+"h.\3521\77\223\244\221\r\361\31\222\344\230\275rn6V\331K\222\34\325F\357"
+"\1\0\64\32\346\13\0\300\254fv\1\0\314\230\227\363\23\323\314|j\355\326"
+"\274\352\353\371B2\241vF\362\3731Y\253\364m}\26\354R\267v\264\203\316\363"
+"\245\374\277S8\0\177\33T\363P\320\273|\261\16\0jz\222\245\203\362\n\0\212"
+"\203\25\26]u\355\364\223Oh\357\216*Q\206\264\311\237\242\237N\2552,\371"
+"\353\310\307\227\2329W\356\336\321\232\7\275cg\243z]JyC\336M\33u{\336\23"
+"rv\265\371\352\210\307<b\r\322\357\26\7\354\3514\273\212\27_\257r\314\374"
+"\266C\34_\347Zcc\312\22G\326\270\267\243\355\213\356-^\361^]\361\307\212"
+"\227\33\330^\356\252\330\233\230&I\376\30:k\376cTYr$\26\371\225I\313\217"
+"\233 \b\202 \b\302\377\362\17\351\254\232\227\42\270\202\77\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0R\0\0\0\276\b\0\0\0\0\203"
+"\301\7\276\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5\37IDATx\332\355\231"
+"[l\25E\30\307\277\323\233m\241\234\42h\250\226B)\202\255\5\265>\240\325"
+"\332\2505\255\220z\211\'\304\200\6\320\7\3\22\225\306\13!\32%jLL\32}\300"
+"\326D\42\324\13\6$\4\33EI@\250\215\205\226\322\bE\333Z+\264^\300\226\336"
+"\351\325\366\374}\330\335\331\331sv\367\234\335\235\27\315\374\237\366"
+"\3147\363\313t\367\233\371.%\222\222\222\222\222\222\222\222\222\222\222"
+"r\251\324l\355)F\20\61\255\346*\301{\234{\26Ib\211\311\'\321-x\223\37\1"
+"\77\213%>\5\340\7\13[b\252\33b\306\20\200Z\323\27\262\2555\210\321\372"
+"7\227:E~\3\0\77\232\30\62[\240(x0\307\21q%\0`8.\334U\333\301\364\317[\16"
+"\234,\366\234\262\2500\314R\t^\247\26E\215\\\255.9\20jH\2374 q\371\236"
+"h\221\r\332\373*\t1<\217\20M\254\211\216x\27[\321\275\330h9\30\212D\360"
+"\231\250\220;\365\25\235\313\r\226V\2043\267DA\2341\304\255\30\336\340"
+"\343L\2750\321\263\221\221\1\343\212#y\272\251\307\f\31|2\42\262*t\311"
+"\313\314\324a\206\304\324\203\221\220\355\241K\364\257z\334\24\211\221"
+"H\276\2649t\23W[x\272\256\201l{d\\\213q\376q=P\234\260X\342\257\276\306"
+"\269\365\222\361w\265\3768o\332b\2338\31!\2\34\61\314\346\17r\215\25\22"
+"\237\372l\221\267\362\2339\315[\326X\42\261\315~\233\273\271\251/\362\206"
+"\370\337,\221\301R[\344\202q6s:\335`Yk\275\315\b\237]\77\346_\31\r\276"
+"\243\326\3146\277\35\362\r6\257(\3042\377\2625\263\332\356\23\225k\263"
+"j\302L\367NX3_\263A\356\322\216Zn\270\355ak\346T\2115\362\20\0\fb2`f,\354"
+"\346(\375\333\3717\321\273\320\22\331\4\2407\273\246\320\334:\357\13\306"
+"8\226A\231\374\305\334h\31\65\377\6\260\333\346\305\334\266\253\17\0.>"
+"\355#\2429\2479f\245U\212\2\0\253m\335\314\267\244\240(O\r\364\376\6\216"
+"\371\270\371\374\245\0\246\3478Hn\233t\344\25s\217/\6p\206\373\35)\13\36"
+"(n\325C\327\376d\263)\231DT\347\0I=\367\377\301\236sL_\347\42\233\353\326"
+"B\3138\317Zgb\77\0\340&\207\311\336\212\21=\26\231$u\315\300\225X\247\t"
+"\344CA\306<\27\366:c\306\200z\347y\356V\375O\337\31v]\232\rF\241\n\263"
+"@\255\250\4@\231\13d\234~\231\16\335\20\236\363\255t\223\342\373\333\364"
+"\220\225`\260|\0 \313U!\262\270\2371\3373\30j\201\3118w\305M\321\24\13"
+"o\253\370\361>\340W\267\5\323sl\233=\327\351\243\327\3\370\326KY\247\352"
+"h\254\341\203W\30\35\325\1rc\3\213Rz\26\271\234\210\316\273\257\25\323"
+"/\261\312\350\16ml\17\200\200\207\372\263\200\305\273\363Zdo\1p\263\227"
+"\232V\377D\237+\3\63\247\201`\262\247:\3713\306\334@DDw\3\350\362\330\37"
+"8\313*\222%DDe\341>\344\264]2\32\30T\237f\356I \242|\42\372\311k\213 \300"
+".\317w\210\350\22\200\365\236\333\16\357\262\203y\37\345\0\300-\236\221"
+"\tu\32\363\257\271e\0\306\343\275wG2Xu\370e=\200\23$@\245A>\251+\27\322"
+"\305)\347\221\217\bA&\234\322\211N\322!;e\r\352\245VX\24v\207\354\330\304"
+"\36\277\26\326\24\373D\333e\2160\344,\265\364\352K\20\327\273\313W\303"
+"\333+\342\220\261j\303`,S\30r\223e\226\344:\16\61\67\232\234/\206\350;"
+"\244;\373\353b\220\33\271\23\331)\244\355\235;\2524\346\24\346\n\1\247"
+"g\306\276$\42\242.\265\237\260J\300&\367*\273\333\2342\f\330\264\226\35"
+"\350\5\205\330\36O\357+\256\351\371\4=\240\236\233b\242\\\345)\317#q\331"
+"\200\302\251R\23V\0k=\372\370\357\n\261#\205\210\350\t\0\300vOD\277\232"
+"n\214(\2416\251\17\0>\366\224\300|\257\306\360\307\324\201\35\0p\330\3"
+"\61\351\260zb\266\262\336\5\0\64z\330\243F|\233\r\255\7\0\347ipeUI\34\21"
+"\321\354Z.\33\342\312\36t\272I*{*\nbn\324\332\237\257\22\21%\246\345\334"
+"Y\272nK\7\0\364\271\314S\273\206\265\222\357\273\306\266\213c\206\246\234"
+"\2418\214\36\314n\332\24\373\6\261\230\377\360\r\212G\216\375\'v\371\247"
+"x\344\5\361\310f\361\310:\341\310_\332\204#w\bw\365\366\17E#\7\37\35w\216"
+"l\37\26716\335\336\34\222.Ew\365\26\344\347\345.4;\211\307\252\366\7\311"
+"\r\222\210\210\22\263\26\\\233\226\232:+v6\21\321\320X\177\317\205\326"
+"3\23$%%%%%%%%%%%%%%%%\365\177\320\277\341\260\366*k\333\277[\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0\276\b\0\0\0\0OX="
+"U\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\66IDATx\332\355\326\261J\303"
+"@\34\307\361K\261P\234\212\242H\27\5\25\'E\27\251V\234\34\35|\4qur\260"
+">\201\223\257 \270\272\225\242OP\37@\34\334\202 X\2\16R\224\42X\350\317"
+"Ak\233\20\301\373\337&\337\317\226#|\271\34\311]\234\3\0\0\0\0\0\0\340"
+"\234s\2564\23Z\250%\333\201\205\272z\365(\250\320\224\324(\207\24\236%"
+")^\265\7\226$Iz\77\60\27\366\365\355\242d,\234\17\n\272]\264\25\356\177"
+"\n\352\354Y\2\23\375aA\375\2631\377\302\256RZ\25\357\302i\272\240d\366"
+"\327[\13\371\303[\231\353\351W\317)\24\273\2319\3349\3179\254\215g\6Z\276"
+"\205\315\354\300\215o\241\346Q\310\327\316,C\354<\3470W\371\3732\344\27"
+"\336\342\320\207p\13I\372)\346\375\337\352\345\316h\240m\371\2646\236F"
+"\n\227\246\317{\352zX8\264\355\20\321IoPX\261\356t\325\307\257\300K\301"
+"\274YN6%IW\1[~t\364!\3518\350\340Y\177\220\252a\247_\271\321-\6\36\240"
+"\321\16\77\62\0\0\0\0\0\0\0\360\277}\2\356)\343lVb\331B\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0\276\b\0\0\0\0OX=U\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\2SIDATx\332\355\330MHTQ\30\6\340o\314"
+"\234AQ[\264\311E\253\bB\312\242d\302\202\\H\213\b\21i!\256#h\321\242\205"
+"\264t\327\246]\13\241E\321\17(\201\33\223\360\7$A\3020h!(\350\214\215\375"
+"X\nF9\205\13\235\361m3w\3569h\215\367\375Z\f\364\275\233\341\16\63\17\357"
+"9\347\376\234\31\21\213\305b\261X,\26\213\245\374\22\213\360\331\3{\275"
+"\231\230\251~\243\253\320\t\334\322\t\375@\356\222\6Hd\1,\327+\204\16\0"
+"@\237Bx\n\0\310\'i \376\3\0\200\351\30+\\E!]\254\3608\20R\225\34P\365="
+"\20p\203\23\256\24\1d\252(\341Q(\340:\3\34\374\346\b\251\nB\270\f7\327"
+"\b\341\201\'L\23\302\244\'\340|\311/\354\32\350\216\177x;z\207;~\207\355"
+"\206\310Bu\306\'z\243\227h\333\361\204\317\304\251\335\347\227h\217.\324"
+"}\365\204!bA\273\375\271<B\20\23\36\321C\b\215yW\230e.\257\347^\211\323"
+"\204p\322[\321{L\211AW\370\300\334rOy%.D~\362\212\2545\235p\216~\216\22"
+"%\316\270%>RO\216!w\30\315\214p\326-q\227\272g\17kO*iv\207q\224\42^:\302"
+"MJH:\3023\356\3717\22\n\363\234\320\22\n\271\32\216x\25\22-\373\177^\270"
+"y\342\234\243\\\207\272\315b\207\207\\\207\354\13m\7i/v\330\212\223;\242"
+"p3q\216\32\205l\r\226\36F\211MJ\177x\255\262\77\64\226\203Q\314\220\35"
+"\60P\274}\263\333\323\343\271\240\4\275\327\37\320\335\42D\2445\20\350"
+"a\304V\n\302En&E\20\234\331\207XA\306\13\257\365\2640\5\255\260\276\240"
+"\25\344\255Zx\247\26\346\376\225\300\257\246|\331\320v\220%\265\220V\13"
+"\31\265\360IDDj+\264\302\237JD\20j\265k!\212y\310\256j\5I\251\205t\31t"
+"\320\13\213e0\17\233+Z\341\257%\366\',\250\205\371=\376W\210\226\303\277"
+"\200\355J\215 \367\201\367*@\216\3451\241\232\7I\17\313\230\256\203\264"
+"\276\216+\5I\210\305b\261X,\26\213\305b\261X,\226\3772\277\1\25+4\260U"
+"\326\276\21\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0"
+"\0\0\276\b\0\0\0\0OX=U\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\27IDATx"
+"\332\355\230\337K\24Q\24\307\317\272[j\370#\202-K+\242\264\2\213\212\310"
+"\207\314\260\227\244@\3541z\263\240\210\260^\242\247\242\376\203\f\352"
+"A\211\36\242\202\bB*-\372i\21\246A\226\77\222\2606$\372A\255\254b\352."
+"\233\373\355af\356\254\272\367\316t.\4\321\375\276\314\314~g\77{\316\231"
+"s\357\334\273DFFFFFFFFFF\377\234r\213\325~\310\13\20l\211\224\250\374\352"
+"\17;<\b\247\201\23*\277\27\243EJ\300\372$\320\244\360\303\0.+\t7\1\334"
+"Q\370\273\0\244\266)n(N\2x\356^g\315\274\241\202\210\2\27\24\325\254\17"
+"\21Q\276\342\'\356\2\0\216I\375\271_\0\240G\16\b\f\3\200\242\230\373\1"
+"\0\317\344\204RX\272\42\361\263#\0\200[\362:T\330\307\275U\231\t\r+\210"
+"\210\350\253<\206sv\f\350\315X\314\262q\313UtT\247C\300\231\fnA\267m\356"
+"\226\2\262\23\202\220\252\237\345\346\77v\314ER\302\26\270J\235\nN7\313"
+"{\34\353\235<\211\243H\327\253\232\200k\255kN\n\243Q>\2247O\273\332\330"
+"\366\261\255{(\206\202\5\313\313+K\323\214\26y\f\3\360\243O\351=0\243\37"
+"\346\371\232\243.\245\344\336\220\237\20\342\213\211\24c\323\207.*:\222"
+"\232}\2040\246\234\302\3021o\302qu\204\r\236\200N\217\271<\324\353\1\30"
+"Y\345U\246j5\340W\255w\245\257\253\0\251\203>\236\325\262q9`\352\220\257"
+"\307}R\376\34\367\370k\230\234\210\4\320U\346\267\347\3522~\377\307\341"
+"\220\377\266m\235\375\375\267\ry\262\367C\306\371\264o\216{\201\341o\3"
+"\35\367\373\376p\3544\246\375\372J\326\42e\341\230K8\342\265\36\311\370"
+"\351xa\245\233\305U^\20\23\42\206\211\34\336b\253\311Mc\273\372N\331\34"
+"u\326=\335\312\\\361\265\213\30Z\231\204}\202\20\313\342\21rG\5b-\253\16"
+"\64yC\234n\342\21\350\2328\333\300,D\360\273\223\305\3\356\372[\264D\224"
+"K\250\21\245,b\22\262\305\360\252\342U\222\22\42\3775L\2\211\345\367jn"
+"!\226\244\354,n\263wC\316\312\253\237\233\5\335\263\217%\354\30v:\17\243"
+"\220\275\247\213\333\204rn\26\223/|\244\241\36\373\17\235\2671\233\360"
+"D;\206\256I\353\270\224MHt\350\22\250]\233\360\324\336\231h\354\362\255"
+"\35\313O\215\77\n\336X-\225\305\316\202\336\333\373#>a\320\263\20\177-"
+"\206|\355\30\362\370\204\317q\335\30(\341\265\377\362\371f\37\325 Lx\335"
+"\340IHZ\263\225v\26c\332\204\21\r\2025,\243\32\204)\42\242xL7\213!\235"
+"g\201\264\336\346\21\42DD\375:\204\327DD/u\376\17\255\5\60\25\326!\314"
+"\217\2\217HK\7\200:=B\240\343<i*HFFFFFFFFFFFFFFF\377\261~\3|\276*\4\63"
+"I1\240\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0\276"
+"\b\0\0\0\0OX=U\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3sIDATx\332\355\230"
+"[H\24Q\30\307\377\273\336h)\244\222\245\354\301,+#$\353\241\262\f\202\242"
+"\304H(\42\210\236*\bJ\272\275\4!D\4%\325C\205\325KA\4\246D\250E\326CY\31"
+"\25\25\322\22\242\331\315R\203n&]v\363\232\375{\230\353\316\314\216\316"
+"\231\36\317\377e\316\374\317\316o\277\357;\337\231\235Y@JJJJJJJJJJJ\321"
+"8\367\351\244\212\312\21\0%\261\22\327\371\375\354I\262\273\313\216O\323"
+"\307\227\370e\242\13 \374\233\\hs\247\367\263\n\b*A\26!|\302\205\260-\4"
+"\254\262\271\233\3220K\33\27\222dQB@\260\203\344\23\233\35![\265q9Iv\214"
+"MD(&\311\341\260\305\315!\371X\313b5\0d\35I\230\4\0\4\327X\334\315\0\272"
+"\324q&I\222\303\5\316\200)C$\311[\361\356\230n\222\307\324\30\212\325t"
+"\317\247:\22\266&\3\0\226g\305\271;3\0t\252\'uTU\346\4\b}PgO\232\335iQ"
+"\222T3K\213j\204\276\331\16\204\263\332\354\300\\\303\314h&I\346)g+\251"
+"\253%d\3\3545f;\362\365nlW\234t \331(\3\0\314\251^7\34\337\n\207L\231e"
+"5\325\337\357\214\6\302\271\305\363\25\343\307O\345\330F\223*\343\252\231"
+"\335@7=W\333;\336m4J\36.\357u\5\260N\371\334.\213\35=:\3\0\302\33.\367"
+"s\4\225+\204\233\366\231O\221\310g\216B\353\25\302>\n+Sm\317.Q\300\13\0"
+"\b\2}\7Eo\215\327\364\233`\253`\fy\306]R\f\360\330\24\316\3\367\217\276"
+"\377\356h\2575\21\26\273\23\312v;\206\20\60\327\244\316\r\3203>Piw\7\362"
+"\342\252:\367\257\13a\13\220|\332\346\226Z\26\346zb\300E\0\300\366\241"
+"x\367\260ui\13\22\2\352\325\315Zx\317d\366\357\260w\307\235\4\200s\306"
+"n\317\257\370\246x\203\3259\306\205z=W\334v\352\272\37{.\232OS\226.\235"
+"9\370\365yC\267c\213>\265\177\177\357\251\f/Mnm\314_\267J\'x\333&\201f"
+"\343\352\246\334\374\314\240\367\235\266\321 \364\245\n\355\325\3447\6"
+"b\301\350/3\305\372\347\250\251=\304n\30\251\37\364\30\252\5\3579\306\26"
+"|/H\b}\325\21\223E\352\0\364\236\321\207K\304\b\250\362[J \242e\361H0\6"
+"\\\321\6\363S\5c\310\361\336S\226\30\336F<\27\302\272\177j\265\301\42\321"
+"R\316\322\237x\204_\23Z-\277\313\236\263@\235^TQ\302U\375\201Q\224\360"
+"\354\243\366\366 J\240\366P\220-J\300\r\217\4\207-\256>\301}\24\177\355"
+"\273\255.gH4\13\334\361\226\206\3\341\256\267\345t D\242\312q\2220\341"
+"\317C\3458V\230\200\306\377E\30\'Nx\26\363\33\303p\13\0 ]\234\200W~c\300"
+"K\337\2046\337\4OY8*e\220$;}\3040\324\356w-\360\332gG\1\261\304S\243$x"
+"\221$\270\21\b\0C~\b\215\0\360\326\327\77\2051\2225~b\210\326\350{\\\264"
+"\222\27\0\264\372*p\340\359\317\337\32\35`{\232\77\302\324\332\251\362"
+"\257g))))))))))))))\251\377\242\177\20\204d\3040C\361u\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0\276\b\0\0\0\0OX=U\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3\20IDATx\332\355\230MHTQ\24\200\217\223"
+"\222\243\322\244\230SIR(\2256\26eYB\265\311~\240EQ\324*h\21.\222\26\241"
+"\20\321\42h\325\246\226-\n\262\2\r\f\221\242\42\62\224\264\224\234(\246"
+"\302(\222b\254\21,\31Kr\232\306\361\235\26\357g|\317f\336\275\347.=\337"
+"\346]\270s\276w\356\275g\356}\357\1\60\f\3030\f\3030\314|\'K\344G\25;\2"
+"\376\234H\360\301o\332=\374\347\336\243N\364$%~\345\2658\246\270 \35\357"
+"\273\364\27g\243\255\226\24\34\212\330\342\361u\275\310\250=VsQ\253=>|"
+"\314#r\333\276.\257\321\3328l\13oo\364\n\345\275\t\361\226\336:2\225\n"
+"\17\66\225\13\217\374\42\42\66\1\0\234\326\254\331\353\334,3w!DL\356\1"
+"8c\335\377\303N\251\311_<\203\2108Qq\334\22\264\347\313-\337^=\354c\314"
+"\24\\\315\222,\200\363\366\365\303G\13dk\360\236]\20\365KW\261\243\6\317"
+"\312\377\r\355\202x\221H\220\255Pk\354}\275Qi\303V{\337K\2206\324\331\373"
+"\302\322\6O\255\275/!m\250\3649&V\332\260\315\321\267]z1[\34\25\231(\223"
+"5\f:\f\330)\22\65\273\360\13\3669:+g\372\344r(\370\356L\2/g\313)\16\316"
+"1\340\253:9\305\215\271\n|| G\346\204\t\377G\201\77ZO\254\317\21=yw=I\263"
+")%G\276F\2433\340\315-)\311\276\337\234)\213+(@U\306\365\370\354.\350\316"
+"\274@\365\232\233`\270\330e6\257\273\b&\253\335\326\243hV]\2654\334\36"
+"\265\307\307Zk\335\2274u\334`\b\0\3266\336\31CD\304\77c\241\366\6\237\320"
+"\243U\177JQ\16$\266\244&\263\231\370\200\327f\31z\210\206\362ik\223)$*"
+"nZI\34%\32\252\254\231h\241>\352>4\r\21\252a\2775\214uD\203\347\233i8%"
+"u\352\245\320\332\254\35\203:\214\32k\203\312\242*\302B\333I\372Q\0\334"
+"Ms\240\213\33\272D\ri\3117\337\13\336\221\337\237\236\31\206d\36q\24\320"
+"k\236\254\325TC\277\331\330@5\fhF#@5\374\32\62\377\250T\2035\2145\312\206"
+"\322<\352r\2562\353:@\315\341\313\250\321(\243\32`\300\270\256 \33\236"
+"\33\327\345d\2039\225K\311\206PL\277.!\33\222/\214\323\234l0\207\341\243"
+"\33\6\215\267P\272\341\223~YH\377H\223\253\327\344Oz\16\3611\331\367\254"
+"9\214\350\251(\30\302\2\363 \222\303\224\202\341\215^Y\n_\314\n\23\210"
+"\210\23\n9Lt\3\0L*\30\240\3\0 \246\362\341\257x\32\21\337\252\3440\376"
+"\24\0\306U\f\320\1\0A\245\357\227\376$\342a%\3\364\240V\2524\n\350\204"
+"\301\210Z\16\313\22\273A\221R`\30\206a\30\206a\30\206a\30f>\363\17\336"
+"\211\362\f\262g\255\310\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0A\0\0\0\276\b\0\0\0\0OX=U\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\4/IDATx\332\355\230oh\225U\34\307\177w[\323\271\255\273\233\251Yf\32"
+"\243\330RBK\373\367\42\244\320T\234\f\204zQZh\30\275\bL$\372g\bY \22\f"
+"\42\\PP\254\fJ[o\304\230\23\351\37\316\331b\344\334\322E\33\316f\327f\323"
+"U6\357v\77\275x\236\347>\377\316\363\357\356\355\371\276\271\3179\347w"
+"\77\374\236s~\277\363;\347\21\321\322\322\322\322\322\322\322\322\322\322"
+"\322\212\243\231S\5<\363\317\226)\375\277\254\t&\32\246\362\6G\0F\353\212"
+"\6,\352\7\200S3\212\4\64\216a\252\271\250\377\247v\346)\250\230\251(=\200"
+"C\303E\254\351r\\\332_\204\23\37\270\21\353\222\23*\373\\\204s\325\311"
+"\21K\307]\210\246\42\336c\233\2130qO\21\353y\310\205\350(I\216\2303\354"
+"B\24\223bk]\204l\215\332*\314\267\273]\255Y\273\22\273p\347UwL\344\222"
+"&i\352\33<:\224\220\260\25\240/\353D\254L\4\270y\24\30\253kp\22\272\23"
+"\255\350\347\0\217\2134;\21\233\22\0\326\1|,\42\225\2778\b\3\323\343\'"
+"\326\0\60\230\26\21Yv\315\201x16a\17\300j\343\371ugX\305\315\321\3059\307"
+"\266R\372\203\3\361j\314P\370\26\270|\223\325\274\375\212M\270T\23\213"
+"\260\t`\273\335~\332\341\304\33q\0\65\27\200\263\323\274Kk:\221\216Ah\2"
+"\330\340\252^\277\333\210W\242\1u9\2403\345\352[iW\217lE$\3410\300*O\347"
+"\373\266\23\317G\1V\3\34\367Ua;\305~\214\252\370=\0k\375\'\t\333\211E\341"
+"\204-\0])u\214\30z+\24P1\4\260Qu\30(\344\307\257\241\204\35\0\203\345\201"
+"\271\2\300\322\20@U\26\3405\365\330\240E\b\333s_\2\30\237\25p&\261\b]!"
+"\263p\1\340\223\240\341\357MB~n \3419\0V\4\r\77l9\2611\310\242\344,@\177"
+"*<\\\201\217\202\fV\1\2603\370-\3575\323c0\310\240\25\200\332\220\231\266"
+"\216W\363\2\212u\16\340DX\270\324O\30\204\r\352\312\373D\231\210\310\27"
+"a\204\323\237\32\277\367\207-Vmh\314\3361\t\300\21\345\340\354I\200\336"
+"\210\334\375\f\200\21\345\330S\0\354\215 ,1&b\216j\36\214@j\217 \374t\314"
+"\330\nUcg\0r\221Ei=\0\317*F\322\3718[\230H\331\20\300n\305[,N\211\210D"
+"\23&\366\213\210\314W\20\352\215\5\217\256\6_\211\210\314U\20\26\212\210"
+"\310@4\241\343\252\210\314V\20\f\277\376\212&\344\316\210HFA0Jui\214\252"
+"xQD\252\25\4\303\2578u\25\21\251R\20\f\277n\365\232g\374\204\214\313W\233"
+"p\275Q\25<\3263\332\37\363\21\346\7\371\6@\277\247R}\311o^/2\0\223\212"
+"j`\356>\17\272z\337\6\332=\365\347e\200Q\77\241\332$\2649;\2374\316\323"
+"\225.\303\77\203vJs\377\342\5\273k\215y\327:\271\376\272B_y\13\0\235\n"
+"\202u\243\311\277iz}\303\236\311B\245\374\343\235G\215xy\340\204\321\321"
+"jOU\341\351\273\207\254\247\241\226\216\341\314-+\32<\211>r\252\247b\371"
+"]fc\357\16\277\17\373H\242m\212x\350Lty\310*\bG\23\21z\2w\271\230\272X"
+"\242\332i\17&p\341`^y9\214\357B~\211\32|Re\333\252\42\34\bpm\263\302\366"
+"\275T\213\277\363\357\205\1\204\351\307}\266\275UR\336\356\353\335\34\374"
+"\1\252\333c:V/\42\351^\257_!S|c\227\313t\334\270i\325\272\256\255\274\33"
+"z\353L\177\3550\375\267\321\272&\2659\346`k\324g\244]9\313\266o\231\235"
+"\177\215\346A\360\277\17o\363\35\270\375a\261{MJDN7\357\273\346\354^\360"
+"\310\202\231#\335m\227%\232 2\357\276i\227~>\257\277\315jiiiiiiiiiiiii"
+"i\211\210\374\17\304e\242\336\32l\312\265\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0\276\b\0\0\0\0OX=U\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3}IDATx\332\355\230[HTA\30\307\317\256\254\306\256\251"
+"\225\226\324f\206\333\356C\32J\240\205RJ\340\42\225Y\364T\17\222\30\365"
+"\26R)\373\22R\31\241PDJ\24D=\344\245\213\206v\21+)\42o\225fe\201\355f\267"
+"E\215n\332\322b\272\356\364\260\3472\347\354\271\314\371\354q\376/g8\337"
+"|\2773sf\316\177\346\f\303PQQQQQQQQQQQ\375\37\31\324\202\366\365\31)\311"
+"\346X#\363\313\367y\350\301\243\240N\366\352\352\367H\244\17\245F=\371"
+"\33\357\5Q\230\272V\22\347/mA\262\372\231O\b\330\376\35)h\246\204\bP\21"
+"D\212\n\36&\0\234@\252\252\324\4\224K\332\35\206\250\322\0\344\5\260\312"
+"S\256\270\244\206\240>D\334\30Vu2\207a\30f\335C)\342\230\32\341\fV1P\300"
+"\215\215[\202\250P\6\330\360>\34\345oG\267\211\to\225\77\206\363X\265\27"
+"&\341~\304)\34\60\221\246\b\210\361c#\237-\n\355\27\6%P\250\334\211b\354"
+"A\215\222X\376\4\27q\251\274\307\233\330<H\t\373XGB\221z\25G0`\337Csxx"
+"q7B\b\365\231U\232\340\300:\341\224\211\317kD\310kU\233\f[\5\300\210\254"
+"\233\30\252\336\254U\235\220\7\4\202\213\330\25E\217\212\347K3\227\24\b"
+"H\235`\341Km\343\304~\246`\236\27\30\30\341\13\337\211\307@\202\227+\f"
+"M\1\tn\2560\300\0\t\36\256\320\17^\3=\354l\310\204\266\201o\275\33L\350"
+"e\257Q`B\'{\265\202\t\257\307B\327t0!\310\272\3026\202\314\250\374\203"
+"\21\62\2673Cc1\233\246\221\236\260\347\206\17\241l\271\320\363\20b`\276"
+"J\372\32W\317,B\b\371e_\370NvF\364\255Ph\273\263\366#\347!\355\362\16\322"
+"\317\206\37556ilAVi\263\17\63\302C\362\236\223\325\315\277\334\241\'\203"
+"\236\321o\277\247\231(\233\303\276\312\341\210\227TM\177)\337\316\2232"
+"\333\16\331\215\304W%\3277u!25(y\324L\221\207l*\335W\16Y\207\211\332\260"
+"\\\205\236\330G\0x\245\346\264\343\271W\264;\321\252\21/\236\324jC\252"
+"\326#\254\267\324\1=\4\357\272\300\255F\330A2\\\246}^\331d\337`\307\265"
+"J\262\21\67\234\13\313\16\334)\265\223\273\217\251>lc^\267D\217\365\233"
+"\357J\1-v]kGl\267$\177 W\337\342c\351\21\347\217\226\30\365\1\314\235\242"
+"|\377\361h\235\313_\344m\21\340j\222\336\3653\342:\236\77\271K\377O\350"
+"e\34\360\314\246\37P\213;\\\215I\377\36\240\32\3\214;\1\233\210#\30\240"
+"#\21\0(\23\362\247\313\215\0\300^\301\332G2\1\371\314n\3417\251w\21\4P"
+"$\0\332-\20\200\363/\17\250\217\204\0\66\374\341\1\247\r\20@\26\377\'\25"
+"\254\0m&\323~\360VV\2\2X\336\361\237r!l\77{\226\77\350\310\201\1\66q3i"
+"4\25\6\210\371\304\2\206\223\201{\362\213,\340i\2\20\260\205\373\26\243"
+"\201\200\205\354\271ES$\20\3004\205\0uF(`Yh\36\225\301\217\367L>\204\220"
+"7o.\'\204\345\b\265&0sR\306fz\320JEEEEEEEEEEEEEE%\253\177\255\320\260p"
+">\3-\323\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0"
+"\276\b\0\0\0\0OX=U\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4%IDATx\332\355"
+"\230oh\325U\30\307\237{\2671c\206n\316%Z\3130ds/L)\226\201fhS\33\206/L"
+"\22\4\33\202(\224Bo\202h\364b\20\324^\204h\t\365\42\313\fLDM\'+\333\77"
+"\377\300\22\2078q\220\177\360\357\246\342m\271\215\326]w\273\337^\234\277"
+"\277\335\337\237s~\367\225p\276/.\367<\317\303\347\236\347\376\316y\316"
+"\363;DNNNNNNNNNNN\36153ADT\300G\r\257^\260\5<\335\225\352S\243gF\261\335"
+"\226\260\37\277i\243\255\300\370r;\300z\340\2366<\t``\246\r`\372\0\200"
+"2\225R\32\0\16\331\20v\1\300R9|\7\0\200\365\346\200\232\f\0\355\277;\300"
+"\b\367\246\32\23Z\0\0_\211a\321cF\300\347\246\200\327Y|\247\30\277\311"
+"\1H\3175$\234c\361)1\336#\b\370\311\f\260F\304\317b\343\304]I\310.2\42"
+"t\213\370\225l\3742\224\216\233\0\352d\370Nfh\322\b\2505 t\311\350o\231"
+"\3412\354&\361\232\212>GDD\363t\0\262/E\22\216\252\350\3DD\264\315C\300"
+"\301(@\365\204\n^EDDsF=\204\361\27#\b\337\250\330\253If\372\302;\211\335"
+"\341\200r\355\7Wp\333\214A\17a\264<\224\360\211\212\334/\215\353\262\36"
+"\304Ga\200B\265\374\376\322\n\312n\17\341va\ba\203\212\333\242\231\213"
+"{<\210\r!\204N\31\325\225\320\355\363\377\321\t\235!\225E\6\245\253\275"
+"\236\355\236I,\b$\250m\3344\311\223h\321\t{\202\0%\242\26\341\317)\223"
+"}\263R\32a\250$\200\320 \27\377\212\\\347&}\22\r\1\204\263\42\340\7\77"
+"\357/\230\274\347r\264@\370S\276g\313\354\2775D\215/\241Y\270\77\360\377"
+"\5}\2236\373\256\307\7\334\333\27\260\346\222\335\212\360\300/f\255\360"
+"\256\tzV\13\63\n\261\326\307\3773\367\265F\34\206L\207}\16\333\177\231"
+"+S\23r \253E\221.\315\361n\341\256\275a{W[\334[s\234m\3141\366\\\30\241"
+"@\325\35539O{\302S\341\203T\257\212\366\363\223\\;\371\2770/\242\216\236"
+"\16,U\374\264\3751\252\226/\221\204\213^\307\263\274\24F\237\254\'$\242"
+"\312c\337\301\214\35\321g\232:\207\77\365\330;\42\226\243\337$.{\32\330"
+"q\0\300\265\204\1\241\326\267\330mf\246\17\215\372\213\16\2774\330\236"
+"\30-\265\353q.)\33o\326\2763\353\222\22\275\2Q)mo0\3032\237\232\340C\300"
+"\227\342\333j\325\370\20\21\321\2153\206\275\336S\217\370\34\216H\23\233"
+"V\243q\307\372\31\'\214\24sC%\33W\33\23*E\261\252\343\206\367\331)\343"
+"[\33}\twD\35\253\27\25\2225P\26\275\377\333|\16\327\331pj\32\0\260\304"
+"\202P\330\357\331]\353\0\0\367\223\346Y\320\370\367\2364\330\347\361\254"
+"\315+L\25\237C;\21Q\242\337x[j:\317\b\377M#\242\305\0\200\341b\262\310"
+"\202\210\367iEu2\211\3261\2739T\360%\261O\316g\243\355\13\351)Fx\230\244"
+"\331Y\231\217M\26\304\373\353\212W\350\255\4\21Q\307\220-\341HF<O\3667"
+"\34\263\177\265\377\225\245\321S<\2\0\3319\366\4\336\220d\337\3\0\374\21"
+"\343zA\234\223\3\0\200\217\343\334Pt\33\65\251\311\260\267!\355\373\325"
+"\2768\204\26\355\3731\212\245\333*\211\245\361\b_K\300H\21\305\311BK\343"
+"t&\36\241K\356\306\366\2707N\362\4]H\361\346@\342\272\350Qo\276\204v\304"
+"\315\42\231\n\352-\215u\210\21^\240\270Y\20\353\273n\335\314\227\360{>"
+"7\210\375\0\360n>\204f\0\331\212|\b\345\303\300\225\360\347\25AH\355\42"
+"j\313\357*u\372 \302/.\13\242\b\351\302\222\306\374\346@%e\344\344\344"
+"\344\344\344\344\344\344\344\344\344\344\344\344\364\304\352\177\256\30"
+"}\365I\275\227l\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"A\0\0\0\276\b\0\0\0\0OX=U\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\24ID"
+"ATx\332\355\230\373k\316Q\34\307\77{6{6\327\271\215f\22F\242$\231\313d"
+"\314&\42\227\346~\t\373\201\344\17@\271\224B(\277\240\334R$\267\b#lH\21"
+"\33\215\24F\271\25\331\264!\323\330\355\261\347\355\207s\371^|/\347\373"
+"}~R\347]k\337\363\371|\236W\347|\317y>\347\363y\210\264\264\264\264\264"
+"\264\264\264\264\264\376o%{\273\7\244\375N\214\37y~$\301\31\26\42\66$1"
+"\302\1\340Bb\204\227@|L\42\200>q\0\327\22!,\5\200\3464\237\267\355\345"
+",\42\42J\33\237(\201\362\303/b(\0\0w\303\23\3263BS4\364*\n\331\277\364"
+"\334\260\204\344\2\3760%,aLw\376\220\37\226P(\36&v\bI(\22\17\35s\303\21"
+"\322\363\344\343\344p\204\202\250\32\301]\207 \325\230\22\6\220Tc\20P\20"
+"f\25c\263L\2039a\b\354CO\374\t\256\252\6\0\24\65\263e\214\f\16\310\1\0"
+"\324En3\302\266\340\253\230KDD7\343w\330pq\3609\334\7\0,\244\321|7F\5\5"
+"d\376\1\200\266n\24\251c\204}A\t%2;\235f\204\232H\300\367\300^\303u\376"
+"GDY\323\202M!\275\t\0\60\214\2102\333\331$.\5#\314\3\0\274%\42\242G\214"
+"\20\313\16\264\nv\6K\211\210\250\234\231R\326\4**\352M\337\'\261\237\265"
+"A\276\240\223\0\0\r\35\254_\322\25\1V\301v\342V\214\210\210\344\325\273"
+"1I}\16\357\0\0\253\370h\226\310\22\263\225\1#\0\0\355\231|\230\326\310"
+"\t\17\224\t;\0\0\217\344\370\234\230\204j\276L\377\n\0\330*\r\213\4\341"
+"\236\42a\r\13\37+\r\235\233\5b\252Z\212\255\346\311\3050]\26\204\207J\204"
+"\351,\370\204\311T,\223\366t\25B\31\213\235o2\245~\23\204J\5\300\3608\0"
+"\240\245\263\331xPNb\226\77\341(\213\274j1\346JB\225\357\301\354\3052\3"
+"J\254\346W\22\61\327\217\260\205\305\265\365\260\2327J\3023\237I\244|b"
+"qe6{\277v\211(\366&\210\343Wbw\224K\302\13\357\226\244\222E\265d\330\35"
+"\313\215\213\3343Y\215\207[Z\355\370S\22\276t\365 \334\340A\13\376u\35"
+"\67&\261\323\367@\343\207C9\237o\20\232\7\270n\304K\36\342\324\\%}0\20"
+"g\335\b\353DD\236\223w\273A\210Op\6t\253\347\1o\34\17\315\340\270\201\250"
+"p>V{\205\177\223WA\300\264\304)`P\13\367\306\262<s\27\0\340sw\207\200\213"
+"\302[\352\362\232\2726\301\363eN\362O\1gL\4\374S\27E\252\204\353\243k\255"
+"1\303L\370n_\353*\351\332\354~!\233\313\\\224Y\367\243w\235p\264\366u\77"
+"\263{\314\4\254\267\370.\370\2377y\35\n\37527\365K\f\273g\177ZeAT\32\231"
+"\242\357wi}\352\231>VZ\b\246\243w\3250\256\364$\244\326Z\b-#\270}\265a"
+"\253M\365\316\202\233\254\223\250`;\37\375\3464/ge4Z\21\313\210\42D3{\312"
+"\200_\207}\b\rGm\311\317\266\223\n\325sv\253y\n\355}X\13 \r\255\331\312"
+"\267\242Q\rD\210\252\245\367\324g\177\302\356\77\246\301\25\333V\304\6"
+"\253T\7\246\244\215\241\266\213\371\244R\2052\320x\23\257\270\251\23\277"
+"\23c9\312\77Rq\355\22\246\367l|L\265\377\221\327\3278a*e\367H\177\325z"
+"s\3\7\324\310\f\261\13\0\260W\271b\215\276f\204C\322\262\f\0\3523\324\353"
+"\356\374\270\255\260\33\t\0k\2034 \373\1\240\301\370y!\32\3\36G\2\365a"
+"\317\0\234\263\364\330m\1;\322\234z\353\275u\336\253\257v\326\270\337\215"
+"]L\303\274\362\344\300m\365\24k6\213\222\226\226\226\226\226\226\226\226"
+"\226\226\226\226\226\226\226\226\263\376\2\310\13=\2557\356\36\364\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0A\0\0\0\276\b\0\0\0"
+"\0OX=U\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\66IDATx\332\355\230MHTQ"
+"\24\200\2173\346\3178\225\244#\r9Y\22AbR\20%\30\341\42\301(AB\350g\321"
+"\337\252EA\24T\213\26Q\20-\262E a\201aE\213(J*\242\310\b#0-\241B(J\305"
+"B\24323\307\2374\363\264\270\357\276wg\2347\335w\356*8\337f\336\334\271"
+"\367\233s\357\273\77\347=\0\206a\30\206a\30\206a\\I\367\31\65\317=\376"
+"\16\261\267a\rY\260m\20\5\227\203\244\366\376sh\323>\227\42\270\216\n\315"
+"~\317\202\224\253\30\303Q\317\206S\261\2\34\213x\24\324L\307\31\260\336"
+"\233\240\360g\274\0\177\315O:j\361\337\357,\231Q\'u\340\231\207\20\16b"
+"\2:=\b\26F\23\31\260(I\223\270\271\177&\361\24\254\322\16\241L\376\351"
+"\307\356\230\30\36i\33\236\212\6\267\13\0\226\235\35Q\246D\232\246`\275"
+"\250\337\237\16\0\0\13\3569\n\3355\372XT\77!\307\350\274m\330\257\'X)j"
+"O\204\355\25\322$\r\rz\206\13\242\3665\247$\364\3352\274\324\22d\r\213"
+"\332\245J\331a\3130\252\265\343m\25\225\177\250e\263\345\f+\320\231Q\233"
+"\305Gv\205\362s\364\246\234\254\32!\370d\237\7\67(\245\325V\341v\rC\221"
+"s\367\37Vg\330\335\230\22EG\\\333\245\332W\313\235\302\212\212\261\266"
+"\216\256\376\221\361\314\314\274\241\34\0\0\210h\30\362\325\342@yyl\275"
+"\210\356\332t%_\303\20M\276qh\30z\222\237\202\31\3776\274FZ\20\216\341"
+"\313\213\244\206\210\306H^\244\r\245bh|o\330\13\230\3341i\30\3\264n\231"
+"\244\334\316\330\275\272\17\335x\2439\365\346\324\216\272\30\206\2657\374"
+"\274co\23+r=\34}\305\7n\365\3164\224\272%,.\345\363\226\26.\312\13\345"
+"d\5\262\1\362\323\0\0v5\3223\303\373\210\210x\332`uw\3\0@\211\201\341\3"
+"\0\0\25406\204\303tC\227\370(50L\3\0\300Z\2034]\314\216V\3C3\42\42Ne\323"
+"\367j1\224\376ut\2035\224\225\364^T\212\225\321\227B\177\340\261\26\327"
+"*r/\6\254\263\244\206\336\r\353\221\245+\205|n\266Yy\177\31\331 \17\243"
+"\235\344^\4\377\210nD\203dE\247u7\366\221\r\227\344\223\206\217\232\201"
+"\310\201(\252\242\306\260Z\356\330\317\311O\361\23R\261\211\252h\227\206"
+"W>b&\326./J\366\20c\330m\237]_sh\206b\347\370\273B3\370\225\307H\342\22"
+"}\340\30\206\26\223\f5\3121\376\232\362V\3f\365+\212\'\1\212\342\244\232"
+"L\334\245\30\42\277\23\347D\372\357\234>5)_ZHcY\256\304\260\221vC;lA\217"
+"\217\322\13\200:\373\252~\232\26C\346g+\204\211\20\320b\30\227A\334\370"
+"F>\375\254\305a\220\213\324\212Im\220\212\204\307\20\21\367\232\274\266"
+"\254E\304\341\240\211!4\204X\7F\34B,63\244\266\264\200)\1`\30\206a\30\206"
+"a\30\206a\30\346\377\341/*|\331\275J\334PQ\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\0\0\0\0}\27KL\0\0\0\2bKGD\0\377"
+"\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tI"
+"ME\7\323\3\6\r&\27r`t\235\0\0\3\212IDATx\234\355\230]H\24Q\24\307\317\226"
+"\37)[\371`\346\242\231e\372bXP\366fb_V\24\22Tj\b=\244\24\370\242\240T\226"
+"\25\225\21RP/\21\242`$A\212b!\246D\201\4b\201\tb\231)\366\241\346\206J"
+"\230\337\256yz\230\335\231;;s\317\\\333\211 \346\377t\3579\377\375\335"
+"\217\231\273s\357\5\260d\311\222\245\177&\233\230\315\341\360\237\3756"
+"bJ\213\366\242\267.\234zS\30d\6\254r\22\21\21g*\42}g\235\230AI\323\245"
+"\276\303\232\320#g*i\\&\0\13\223Kkw\372\f\373\256\24\267\373\fkT\212\353"
+"\4\354\6z<\351\231\264~\322\267\\\4Vo[\304\371\t\b\260\301\327\373\224"
+"Op\5D\306\3311\345L\20\64\357\247\\~b\260\301A\200\320_\0=\244K\344\1\270"
+"\265\301\37\346Z\315\202m\13\200\356\217\342vR\7\373q\341\256I,(wa\377"
+"\1\223X\37138w\323$V\232\23\261m\2659\254\303\37\20\7\366\232\303\312\352"
+"Y\304\241tSP\216;\323\350jM1\205\5\215\2138[\275\325\34\26\64\340H\251"
+")\337\22\0\200\370\352\243f\241,Y\372\237e\364\335\214NJ\210\n\361\233"
+"uv>\177\357[C\301\347\207\221\321\313\330\77G\225\240F\203kXCb]\333Y1\324"
+"3-\n\21\361\234\342HFD,\20@e\350\243\20Q\331\270\270\20\21\7\214Y\367\270"
+",\304\\\267\'G\252\32\262\352\t\26\242{\2533&\6{\242\376qeJ\304\216*\246"
+"\336\16\0\0\16\251\322b\300\252P\241.J\301D&\24\3\0p[*g\323\254<\26\65"
+",\207S\225`\27\0\0\212\2142V5B&\321\250\2047\3\34\223J\237h\30\313*\346"
+"d:\3\303G\245R\16\311\272\312\260\n\325\251\7J\346\351+\241Q2\254\33^)"
+"\177\324\250\211d\225)\306fM\362\207\6\226 \3321m2\327\2335D\262\230\31"
+"\3239$\331\274a\364\246T\361u\31\364\33\21q\202d%+F\335#\257\327:;B\302"
+"\332\rf#M\r#Y\3140v\33\31\20\361$\311:n\330\350\22:\326#\373\3129\16f}"
+"\42yVd\333\215\3408\262\30\230\203d\3553\36A\250\360(\353d_\205@\347\205"
+"\237%\177\227n\0S\266\7\250\23\363R\360\224\336\17\25-\341\360\npZ\324"
+"\30.\17\340\35\327\303\276f1T\317B\344\20\367\356\42\217\255dP=\333\42"
+"\267\371\220\343\210R-\200\317T\317\364\236\204Z_T\265\365\24lA\16\255"
+"\322g\r{\325\343\t\330\244\34\332\244\313\352\r\367\n\24\352\332$\255\240"
+"\337\307n\324\210\200\1\351\322a\341.!X\211&\327\253\303\302q\2V\313\357"
+"\232\323\223\250ZioQlI|X\202\342\352S%\342\344\370u\365\b\250Yc\\\35L\270"
+"X\216^\6\0\200R\305V\303\207e\262\23\222\351\16\236RB\227\264\215\22\367"
+"\266\352\371}q%\377V\7S\277\340\261\25\60\301Z.l#\22bV\271\213\t\363\377"
+"b\262\371,\3662\42\220M<\342\322\3229\2501\365\375l4\233\343O\33\64\350"
+"\261\2124\266>!\30@\356\270\27\352\216\236k\217\'{\215\204\1\300\241\32"
+"\231\364:\213g\212.\233G\354U\3558\370\207\3270;\374\34\65j\326\222%K\226"
+",Y\372\13\372\r(d+\322\244\306\24E\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\4\0\0\0\362u\334\33\0\0\0\2bKGD\0\377\207"
+"\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7"
+"\323\3\6\f7\32^\312A\7\0\0\5\34IDATx\234\355\232ohUe\34\307\277\267\266"
+"]\35n\256\177n\342\262\321T\222d!5\nJ\254\31YPXX\351@4\312a\260\27M\230"
+"T\226\3753{!E\275\352\217`$\244\20b\224Hn\204\302*D_\304\314\262\77\334"
+"\221\310Z3r\331\3066\347\356\346\267\27w\367z\317=\277\3479\317s\316#^"
+"\350|\317\233\355\367\373=\337\363\271\317\277s\356\271\'\1\242(u\325\225"
+"\6P)\6\263U\ff\253\30\314V1\230\255b0[\305`\266\272l`\265x\16s\429\320"
+"\375\221d\23\17\360<w\363\306\360.\356\261\312\270\216\77p\202\344\237"
+"\\UL`m\374\213$9\302\215\274\256X\300*\370:GIN\3607.\217\346\345\22k&7"
+"s\200d\232\337\361^^],`e|\232}$\'y\204\367D\305r\tv\33S$\311^\336\355\302"
+"\317\25V\222\35\274Hr\204\217\271qt\5\326\3141\222\223\374\200\345N\374"
+"\34\355\374\327`-\312\0\364b\17F\2358:\2k\304B$\0\34E\217\33CW`w\241\32"
+"\0\361#\372\335\30\242\304\205I%\3521\r@\32\304,\224b\34C\270P\f`3q\355"
+"\224\331\243X\210\351\30\301)\34AWD8\7+h\1\17\321\2534S\334|\345W%Q\370"
+"\310\250\4\363\320\216\225\21<\235\200\rcH\210Va\3\312B{:\1\373\7}\230"
+"\364E\23\250FmhO\'`\27\320\215s.\214\362\344h\37\353D\312\27#\372\321\33"
+"\301\323\311\225\r\\\306\276\202\2259\300G\2428\272\2\3\237\342q\216OA"
+"]\344\351\210\333E\2\316\36\16\227\342v\334\207\305\250\306(~E\27:0\26"
+"\301\315!\30P\211qTa:&0(n 6r\n\346R\377\277G\4Q\25\203\331*\6\263U\ff\253"
+"\242\5\213\370e\244\16K\320\200\271\250B\t\306p\6\'\3605~vC\26\356\332"
+"_\316\27\331O\225\16s~\364\273\25\373&\333\224@\371\372\2037(\35\32\371"
+"9\217\362y\227`\7\215\240\262zA\364X\232\313\267\273\1[m\5\225\321\207"
+"\202O:\227\355u\1\366~\b,\222l-\360i\361d\325\3473\274\37\373\2+B\257\256"
+"RL\344\37570\3658!\243\204\262\225\321>\366\245\26k\27\232P\213;\261[\221"
+"\77\226\367\367l\17\3267\332\263\6\16\342N\315@\275\354\251lTT\325\347"
+"*\336\361\304\327G\231cmJ\250~\241z\271X\371S.\357\225\366\314z\254\371"
+"J\254O\24-\276\22\253\27\21\4\237\360\304NE\1Si\213e\233\23L\262\206g="
+"\261\226\360`o(\2606i-w\211m\366\363\333\202\210\276K\264`\262\336\n\260"
+",U\366s\276:\302\203\355\20\r;\203\f\t\2363\0k\b\17&+\30\13l\r\304\352"
+"\13vQ%\344\371u\207\21X\42\20\354\241`\17(.IR\370$\26i\367j}\353K\32FE"
+"\240\203\342\222\264T\214>\30h\227\325~mv\255\221\207\330\221\337\207\233"
+"\27\271c\205v \215<\344\260\244e\26`\352\255\231\\g6O\245\351\360$>\23"
+"\272V}\213\42\17\204Jf>\342\34\333*\304v\32\331]\322AE\374#c\7\303a\230"
+"c5\220\340\32\305@\3166l/\f\345\3\350\24\370\355\6\22\270\36\177\213qS"
+"\37a(\237\25\312>6\6\312\352\254u\13\257\204\36\223\246\355b\34\267\266"
+"\226\247\277i\217\31\202\331\16$P\216\21\305\t\315t\331\36\252l\210\354"
+"P\260\32j\204\225t\322rE\3526\330z\303\366\276\36\253\22\330\177\267\376"
+"\264m\312\314jC\7\37XR(\372\327\320,\253\271xW\231k1\364\360\201I\223\323"
+"\366\307\223\323\232\334M\206\36>\260\t\241\250\322\320,\243\2407/n5r\361"
+"\201\r\13E\363\214\2542J\241&\240b\223\221\217o\37\233\206\363b\231\231"
+"~\301-F\'\r\226\257\307\242\374\306h\206\5\64\31U\31\355@\333\fv\236\224"
+"\346\346\320\253A\223\235\314\37\332\'\232\5\31\235\361\265\370\224\25"
+"\234\301.\321mI\30\260\6\321\252Gc\262@\250\1773\340\32\20\2Le\325\255"
+"\260\330\42\324\276\232\227\337.\272\355\r\3\326\254@#\233\13*\237\21\253"
+"^1\372\240\333\355\301t\337q\310C|\215\33\3716\273\25\371\227|n\355\212"
+"\312}\366`7k\321tj\23\375\322\212j\315}\213*\261>\24\326\343\n\267\244"
+"\262\305\36[0p\225%\324\200\366%\371:e;k0\20<`\214e\362\302L\217;0\20l"
+"\345`\0\324{\6P\231\343~_\333\255\341\3012\307\303\334+ \35\343\32c\250"
+"\354Q\307\35S/\'\2454\3171B\274B3\13\63\0\fE\376\346\250W\374n\217\255"
+"b0[\305`\266\212\301l\25\203\331*\6\263U\ff\253\30\314V1\230\255b0[\25"
+"-\330\177\'S\213\353\377\335\247F\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0L\0\0\0x\b\4\0\0\0\362u\334\33\0\0\0\2bKGD\0\0\252\215"
+"#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\322\f\5"
+"\218\4l\32\273\22\0\0\5\311IDATx\234\355\232ilTU\30\206\337\32\260,\245"
+"\222\6\261\215e\263\340\22HA\205\324%@D\1\61\326&F\4\264\201\30@M\372\7"
+"\22\352\202\242F\304(\21%F\215\222 `\\\2\4\27\60,*&,\251\324\210\20b\201"
+"\312\42ZHk\204@\241\264\205\322\276\376\230vz\357\334\357\234{\316\231"
+"a\340\307}\357\217\316|\337w\336\363\364,\367\336\2713\31 \256J]s\245\1"
+"T\212\300l\25\201\331*\2\263U\4f\253\b\314V\21\230\255\272\\\36\333I\270"
+"\33\27\260\r\25hs\366\240\373\221\313;X\304\341\274>!^\314Sl&\271\227O"
+"\271\273\2736\314\342|\376\316\26\222\347\371+\313\331=\236\31\300\r\354"
+"\324\344t\203\255d\203\247\373&.g~{f\2[\343\361\213\\\222^\260\'\330D\277"
+"\32\271\270=w\17k<\361\235\34\346\324\203\343\256\234\216n\t\221\356\230"
+"\216\211\0\20038\353\211\27`\220S\17\216`}\205\330\r\30\3\0\330\217j\317"
+"^\314I/\330\277btd\373\337E8\30\217\21#\234zp\4\333(F\373\265\377\335\215"
+"\337\342\261L\f\301\255N}8\356\232\325\276]\31\323\321x\266\210\265\361"
+"\3501\336\233\276\305\17<\211\267\261\25GP\207Z\234C\354\303i\347\242\257"
+"\304\206\370\353\35308\235#\6\202\371\34\307GX\314w\331H\222\334\354\311"
+"M\340\271\366\21k\340\7\16\336I]+\217\3438\0\240\17Z\1\0\325\236\334\17"
+"\370\fO\243\13\200\236\30\214l\337)\304D)\271\273\30\204\256\0.\240\302"
+"\27\335\211\306\366W\371\310\263\366L\t\330\235\270\26\300\1\374\351\213"
+"~\205\25h\1\0\3448\354\313\24\200=\204\333\220\201Vl\307\236\204\314\16"
+"\324\3\0z\342\256+\1\366(\372\1\370\7\233\3\231u\370\6\0\220\215\1\16\276"
+"I\354J\20\234\313&\222\27\370\226\230\35\303c$\311_\354\235\223\303*a\35"
+"Ir\27\263\345M\317\365$\311#\274\77\235`\305<H\222\254\341xe\315H\36$y"
+"\232\317\245\17\254\224\325l#y\202S\264u\233\330F\362\303\364\200\345r"
+")\33I\266\260\202\367\205\324\216\347\1\222\77\245\7l#\333H6s\rG\30T\257"
+" Y\305\321V=8\236.\332\220\201\223x\37\63\260\327\240z&\312P\217[,\373"
+"p\32\261\241\\\303\307\254Z\24r\270U}\6\242\307\351v\212\300l\25\201\331"
+"*\2\263U\4f\253$\37u\16\304h\24\242\77z\243\13\232Q\207}\370\21\373SC\346"
+"v\255\354\301\27=\17\1\22\3653\2078\271\372\16\373&\213\224@^\35\17<\231"
+"\355<F\361k\356\342\363\251\4\333d\4\325\241\27D\217\261\361\374\274\324"
+"\200M\265\202\212\351c\301\247%\236\255I\5\330G\16X$Y\226\3403\333\227"
+"U\367gx\77\366-J\234wWW\\\362\274;\205\34\317\273\fe+\243\363\330wZ\254"
+"U\30\207|\24\341\13E\276\322\363:\317\207\265]\333k\350$.\327L\324\313"
+"\276\312Q\212\252\202x\305\22_|V2kl\216\22\252V\250\236(V\376\21\317\373"
+"\245\355Y\2175D\211\265R\321b\243X\35\373\22b\262/\366W2`*-\260l\263\217"
+"\231\314\345I_l\266;\330\353\n\254r\255\345*\261\315z\356H\210\350\207"
+"D\13&\353\315\20\313\256\312q\366js\210\213\6l\231h\270%\314\220\340i\3"
+"\260Bw0Y\341X`Y(\326\211p\27UB^_#\215\3002B\301&\205{@qI\222\302U\30\246"
+"=W\353[w\252\1\275B\35\24\227\244\261b\364\301P\273\16\255\327f\247\33"
+"y\210\3\271\333m]\304\217\22\355D\32y\310aIv\217w\325\232a\266N\245\345"
+"\3608V\13C\253\276E\221\'B%3\37q\215-\24b\313\215\354:\265I\21\377\304"
+"\330\301p\32n\264\232H\260T1\221y\206\355\205\251\234\200-\2\277\335D\2"
+"}\360\237\30\67\365\21\246\362Y\241\354Sc\240\16\235\264n\341\2270b\322"
+"\262\275\335\350\351t\270\217\371\210\31\202\331N$\320\3\347\25\35\232"
+"\351\262=Ty&i\207\204\335\220+\354\244*\313\35\251;\301\26\30\266\17\214"
+"Xo\201\375\250\365\177;G\231\231j\350\20\0\313\24\212\316\30\232u\250\77"
+"\336S\346f\33z\4\300\244\305i\373\345\311\337\232\234\351\227\320\1\260"
+"KBQ\266\241YL\265!\371\241F.\1\260\6\241\310\346\'0\207\220\33RQn\344\23"
+"8\217uC\223Xf\246\3F\277\2600q\13\214X\263!\202$3,`\234Q\225\321\31h\221"
+"\301\231\347\220\346\346\320\257z\2233Y0\264N4\13\63\252\13\264\370\234"
+"\275\230\305m\242\233\301\327\320\301P\241huXcr\263P\377F\3105\300\1Le"
+"\265Ga\261@\250}\325\223_,\272\255u\1\233\246@#\247%T\316\24\253^1\372"
+"G\27K8z0\335g\34r+_\343\\\276\303=\212\374K\1\267y\212\312u\366`7i\321"
+"t\232#\372\265(\2525\367-\252\304,\',\325O\36\62\225-\276\264\5\3\247X"
+"B\235b\77\315\324\fT\266\263\6\3\301\357\215\261\346k}b\307\341\324\201"
+"\201`\31\353C\240\226\32@\305\216\7\2m\27\272\203\305\216\207\271V@\252"
+"d\2511T\3071\220\313x\221$yH\363\34\303\341\'4}\221\5\340l\322\237\34\365"
+"\212~\333c\253\b\314V\21\230\255\42\60[E`\266\212\300l\25\201\331*\2\263"
+"U\4f\253\b\314VW-\330\377\342\242\34\\<\352\273M\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\4\0\0\0\362u\334\33\0\0\0"
+"\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221"
+"\0\0\0\7tIME\7\323\3\6\22\23\37\311\360\332T\0\0\5\365IDATx\234\355\232"
+"klTE\30\206\337\305^\0i\251Uh\t\25\252-\4\224\324\20l\352\215\240\240 "
+"\211\4\r\42\2204\340\5\2\261\211)\tDE\361\2\242\t\221\350//D\300\32\300"
+"\30(*\20\1\25\223J\323@\242\1\252\25I\211\330\324Z\fT,iK\257\274\376\350"
+"\356vw\3177\347\314\314\226m\177\234w\376l\277\371\346\235\2473sfg\317"
+"9\1\20\203RC\6\32@%\37\314T>\230\251|0S\371`\246\362\301L\345\203\231*"
+"\251\277\214r\260\0{\321\20\374k.\356E\7*P\205k\326\216\214\277\244r&\17"
+"\362*w\361V\202\340<6\261\235\344)>c\357\32\77V\n\227\3614\273I\376\315"
+"E\4\307\363\0\373\264p\340\300J\371\17I\262\225\253y3\301\331\354\tcur"
+"\313\300\200\245\361M\266\221\354\346Y\316\t\306\356c}\304\210UrJ\342\301"
+"Fr\35\233Hv\261\222\17\362\206`\364\16\326D\2005r^\242\301R\370,\33H\366"
+"\260\212\17\204\261@p_\304dv\360\205D\203\335\305Z\222d=\357\217\251\231"
+"\26\61f\355\334\236X\260T\36\3465\222\255|B\250-\213\230\314c\234\224H"
+"\260%l\'\331\303\179\\\250-bc\30\354O\307\210\352\24\313\257\244\233\260"
+"\24)\0\352\261\33mB\375\t\34\b\177\36\211|\213\36,\301\n1\31\1\0\307qN"
+"\221\261\27-\301O\311(L\34\330=\310\2@\374\202FE\306\267\370\f\335\0\200"
+"\33\221\217\364\304\200\245#\17C\1t\201\30\215\261\30\205T!\2532<\3119"
+"\30c\334\207\325\351b$2\203\215\37\307d\fC+\316\243\n\25\350\210\312\372"
+"\34Ex\36\311\0\62\61\tg\215{\261\270b&\362(\243\325\305Z\256s\344-\340"
+"E\222d3\337I\314UI\304\336\42JB>\326`AL\264\34_\2\0\3221\336\270\17+\260"
+"\26\\\21\242\31X\211\224\230\330N\324\1\0n3\356\303\n\354_4\240\307\21"
+"\r \1391\261*T\3\0FcV\42\300:p\22\227\2652\273\261\1g\1db\232a\37\226\373"
+"\330\21\324:bD#\352\35\321\237p\36D\206\305*\263\374\256\234\305\206\230"
+"+\263Iq\362z\204gH~o\332\203-\30\3704O\2613\bu\215u\302v\21*;H\326p\272"
+"\221{\300q\345k+\31\323\360\20\246\42\13m\370\35\258\214vE\346\20\254B"
+"1\266\343\23\3\3678\300\200tt\42\3\303\320\215fq\3\211T\1\28\235(\260\353"
+"\251A{\213\300\7\63\225\17f*\37\314T>\230\251\342\274\325\231\213\351("
+"\3008d \t\355\270\200j|\207\337\372\207\314\356d1\234/G\334\4\210\325\17"
+"\234`}f\211\343\330\263I\t\24\251\2778J\351P\310}<\316\27\373\23\354\220"
+"\26TH/\211\36\63\302\365k\372\7l\261\21T\257>\22|\272\302\265\365\375\1"
+"\366\201\5\26I\226\304\370\254\210\252U\367\247y\36\373\n\363\255\257\256"
+"\344\340\315\225^5\5o/\364*\240l\245\265\217}\355\212U\206\231\310A\21"
+"v)\352OD|\36\23\205\365\243k\257\236\223\270\315e\242^\215\312,Td\345\205"
+"3\266D\305\227\307\263\306J\225P\215B\366\34\61\363\327p}\264\\{v\307\232"
+"\240\304\372T\321\342\33\61\273\367!\304\302\250\330\371x\300TZo\330\246"
+"\232\251\314\346\245\250\330\n{\260\r\n\254\265\256\226eb\233\375<\26\23"
+"q\37\22W0Yo{X&+\3079R\207\355\301\266\212\206G\274\f\t^\326\0+\260\7\223"
+"\345\215\5\226xb5x\273\250*\344\365u\267\26X\300\23l\256\267\7\24_IR\270"
+"\6S\\\367j\367\326}jA\232\247\203\342+i\206\30}\324\323.\244\375\256\265"
+"K\265<\304\201\374\331n]\204\313|\327\211\324\362\220\303\222f\31\200\251"
+"\267fr\231\336:\225\226\303S\370B\30Z\365\21E\236\b\225\364|\3045\266Q"
+"\210m\323\262\353\323!E\374cm\7\315i\30k4\221`\261b\42\307h\266\27\246"
+"r6\216\b\374f\23\t\334\202\213b\\\327G\230\312UB\332vm\240\220.\31\267"
+"\210\2260b\322\262\235\212S\306\326\362\362\327\35\61M0\323\211\4\206\243"
+"U\321\241\236\256\333M\225\225q;\304\\\r\331\302\225TcxE\272m\260y\232"
+"\355\35#\226!\260\377a\374\337\226*k\26k:8\300\244\307\356\377i\232\205"
+"4\16\357)\353Vhz8\300\244\305i\372\360\244\316\245N\367\361\240\3\254["
+"H2{kB\365&FHwj\2718\300Z\204$\223W`j\221\355\221\261V\313\307\261\217\r"
+"\305U1MOg0I\253So9FL\365\314QGzX\300L\255,\255\35h\223\306\316S\353r8\214"
+"V\263\316N\346\f\225\213f^F\27\34-v2\215#X!\272i<\206v\206\nD\253s.&\23"
+"\205\374\267<\276\3,\300TV\'\25\26\353\205\334\327#\3527\213n{l\300\226"
+"(\320\310%1\231\317\211Y\257i\375\243\233\315\301\334~\343\220G\371\6W"
+"\363]\236T\324\277\342p[\243\310,7\7\273\335\25\315M\245\242_\227\42\333"
+"\345\334\242\252Xn\205\365\244\302-U\331b\267)\30\270\310\20\252)\370\322"
+"\274\\r\225\355\214\301@\360\2406\226\372\5\232\276r\256\377\300@\260\204"
+"\315\36P\357k@\365\226\207\35m7\332\203\365\226\307\270G@:\301bm\250P\311"
+"\345\326\340\313J\265.\3671,^\241\31\215\21\0\256\304\375\313\321]\376"
+"\273=\246\362\301L\345\203\231\312\7\63\225\17f*\37\314T>\230\251|0S\371"
+"`\246\362\301L5h\301\376\7G7\352\263{\323\26\13\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\4\0\0\0\362u\334\33\0\0\0\2bK"
+"GD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7"
+"tIME\7\322\f\5\21\60\13\64|,\213\0\0\5\325IDATx\234\355\232k\210\26U\30"
+"\307\377\257\270\255\227u\2230[\311\313\232\227\fE\255\24\303\320E-\255"
+"H\204\250\324\22#R\22\366\213\202VZfdFH\222_\n\23l5\272\240f\27\r/\335"
+" \25/\221)\222\251if\251\354F\212\255\254\356\332\256\373\357\303\373\356"
+"\354\314;\3179s\236\231W\355\303\374\347\313\314\363<\347\77\277\367\234"
+"\2313\227w2 \376\227js\275\1LJ\301\264J\301\264J\301\264J\301\264J\301"
+"\264J\301\264j{\265w\320\6#Q\201b\354\306\26eK&[\312x\27Gp\bo6\344\237"
+"\346\1\222\r<\307\211:\347$P%\\\300\237\330H\362\42\177\340<\266\17U<\306"
+"Vmb\257k\5\266\232u\276\35\327s\25\273\347U,\343\277^\376\n\307_\33\260"
+"\'X\317\240.qi\240b\20w\372\262\2478R\341\236\340\254\234\216vy\221\366"
+"\230\216\t\276\355\336\350\343\333\272\200\177\24\356\t\300\272\n\261["
+"0\332\267\325\33\67y\353\3158\212_\24\356\t\300\376\22\243\303|\353C\321"
+"\372\244s\4KT\356\t\3006\213\321\36\336\332\0\364C\261\267\365#\366)\375"
+"\23\234\225k\3geV\'\274\354\275<\351E\2539B\351\235h\346\177\22\363Q\201"
+"rt\4Q\202\22d\0\\\360\262}q\243\267\276\t{\225\336\211\300\232\260\30U"
+"\350\217\22\20c0\13\355\1\324x\331\341(\312\255\325\341\23\265w\342k\345"
+"i\234\6\0t\301\25\0\300\321\\\274\24}\321\21\0\320\204\367\361\225\332"
+"\267`w\27\275Q\4\3402v\345\266\273\241{n\355\22v\306\360+\30\330\335\270"
+"\1\300a\374\232\333\36\220\233\303\32Q\205\217\257\37\330C\270\3\31\\\301"
+"v\354\317E\356\311\rd-v\304r,\20\330#\350\1\340Ol\365\42\275P\n\0\370\f"
+"\33bz&\230\307Z\2269\254\'y\231o\370b\273I\222\'9:\256kr\254I\254!I\356"
+"a\251\27\33\307\337H\222\33\331\366z\201M\344\221\334M\315\375\276\350"
+"s<O\362\b\207\305wN\2065\215G\331L\362\f\'\7\342o\223l\346\226$\336\361"
+"\233\226q9/\221l\344.\216\311\313}C\362p\240\17\257!\330f6\223l\340:\16"
+"\315\313\214\342!\222UI\260\222\\\304\233\221\301YTa\21\352\3632\267\243"
+"\26\225X\21\337\32@\202\36\33\310u|T\314\f\341\340D\275\5\202\31\244\257"
+"\323uJ\301\264J\301\264J\301\264J\301\264J\370\370V\216Q\30\214\236\350"
+"\214\266h@\r\16\342k\325\253\23\233b]\311:p>\253C\257\7Z\364\35\373%\276"
+"V\306\0[b\4\362\353\264\361\255,8\234\237r\17\237/$\330\26\'\250\26\275"
+" zTx\371\271\205\1\233\242\202\312j\205\340\323\350eO\25\2\354\235\30X"
+"$Y\231\34733\2205\357\317\361~\354sL\212}v\25\241\311\267u\316\367\372"
+"\23\310\30[9\315c_X\261\326`,\272c\4>4\344\375o\306\272\5\260\266[\367"
+"\329\210\253,\3\365R\240r\270\241\252\217W\261,\20\237\221\344\30\233m"
+"\204\252\26\252\'\210\225\77{\371\240\254{\266c\3653b\2556\264\330,V\17"
+"\42\30\374\3\207\374=\t\230I\13\225m\16\262\230e<\33\210\315\214\17\366"
+"\252\1k\236\325r\215\330f#w\344E\354]b\5\223\365z\204e\221\261\237\375"
+"\332\32\37l\245h\270-\312\220\340y\7\260\310Gbm\177Ec\201\225\221Xg\242"
+"]L\t\371\370r{\337\225\211\4{0\332\3\206K\222\24>\204A\326\271\332\336"
+"\272Uu\350\24\351`\270$U\210\321\7\42\355Z\264\321\232\235\356\344!v\344"
+"\276x\307\205\267L\262\16\244\223\207\34\2264N\1f\236\232\311\247\334\216"
+"S\351px\34k\205\2565\337\242\310\3a\222\233\217x\214-\26b\253\234\354Z"
+"e\372\374\343]g\7\307a\270U5\220\3404\303@vsl/\f\345xl\23\370u\3\tt\301"
+"\337b\334\325G\30\312YB\331{\316@-:\253n\21\224\320c\322a{\'\16\250\255"
+"\345\303\337\265\307\34\301\264\3\tt\300E\303\16\335t\325^\252<\233\330"
+"!\357l(\23\316\244C\3123\3226\301\366ql\37\352\261\316\2\373\t\365\257"
+"\235m\314Lqt\b\201\25\13E\232\217\205\0\240\'\3362\346f:z\204\300\244\203"
+"S\373\347\311\37\226\\/G\217\20X\223PT\352h\226UuD~\240\223K\b\254N(\352"
+"\353d\225\3251\224ET\314s\362\t\315c\355B\177\362e\313\334t\30\3\234v\32"
+"\255P\21758\42Hr\303\2\306:U9\315@K\34f\236c\226\233\303\240j]f\262ph\203"
+"h\26eT\23j\361\1;\261\204\337\213n\243\342\200\r\26\255\216[L\372\13\365"
+"\257E\\\3b\200\231\254\366\33,\26\n\265\213|\371\245\242\333\3728`S\rh"
+"\344\324\274\312g\304\252\227\235~\350R\t\307\16f{\306!\277\345+\234\303"
+"7\271\337\220\1771\3446\327P\271A\17v\233\25\315\246\331\242_\243\241\332"
+"r\337bJ\314\210\205%\177\356\0\26\33[|\244\5\3\'+\241\316\261\207eh\312"
+"\215\355\324` \370\2453\326\2\253Ov9^80\20\254dm\4\324r\7\250\354r_\250"
+"\355\342\370`\331\345a\256\27\220\366r\2323T\313R\316\225\271\257\374\217"
+"Y\336c\304\370\204\246+J\0\\H\374\344hW\372m\217V)\230V)\230V)\230V)\230"
+"V)\230V)\230V)\230V)\230V)\230V\377[\260\377\0\1\313\306\263HI\217\262"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\4\0"
+"\0\0\362u\334\33\0\0\0\2bKGD\0\0\252\215#2\0\0\0\tpHYs\0\0\13\22\0\0\13"
+"\22\1\322\335~\374\0\0\0\7tIME\7\322\f\5\21\61\23>\13\205\234\0\0\5\371"
+"IDATx\234\355\232]l\24U\30\206\337\42m\241B\251(\264h\245\25\212\202\22"
+"\b\301\6\24\t\n\n\232H\320\240\2\t\1\177 \23041%\201\250U\374\1\341\202"
+"H\364\312\37\22@\f`\f\77\42\20\241\376%\bA\2700E\264\2)\nM\255\305H\305"
+"6mi\351\226\327\213\335ngv\2763s\316\331e\341b\336\271\331\236\357;\357"
+"<\235\357\314\231\263g\'\3\304u\251^\327\32@\245\20\314T!\230\251B0S\205"
+"`\246\n\301L\25\202\231\252w\352\254\n1\33;P\357j\273\25\3030\5\331\370"
+"\21\373\215\375\230\212#\233S\271\217\227\270\225\267\273\332\237\343q"
+"\222\355l\344LS\317T`eq!\177f\204\344_\234\343h\177\232=\332\313\222\364"
+"\203\225\363o\222d+\227\362fG\373:^\216\203uqzz\301\372\363m\266\221\214"
+"\3604g\270\42\243y\330q\305\352x\177:\301\6\260\202\215$;y\230\17\362\6"
+"Wl&\33\34`\325\274;}`Y|\236\365$\273x\204\17$`\201/\261\303Q\310]\314I"
+"\37\330X\326\304\3124I\210nd\273\343z\2157u\267\307\312\346\1^!\331\312"
+"\'\205\350H\36r\24r3\363\323\7\66\217\355$\273\370\241X\244I<\27\307j\340"
+"\4cw\353G\322MX\200,\0u\330\2066!^\202\1\361\317{q\314\330\337\32\254\24"
+"\243\220\1\340(\316(\342\231\261O-\330a\341o\r6\21\371\0\210_\320 D\213"
+"P\202\33\1\0\21|\212\257-\374-\37\342\271\30\216>\0:A\fF&.\243\31\35\216"
+"x\37\24\306>\265\341\260\325\31,\301\6``\254\373\23\30\205\276h\305Y\34"
+"\301\3018\334\310X\274\23\233\360Y:\301\372\42\7\0\320\13\245(\5\0Dp\16"
+"\233\260&\26\237\30+d\23\16\331\235\300v\214\21\211\233D\275Q\202e\230"
+"\r\0\30\204\42\344\2\0\276\300\221\364\202\265\240Yh\315\303\22d\1h\305"
+"\35\0\200Zl\21o\215\253\b\366/\352\321\345i\315@>\n\1\334\207\301\0\200"
+"\23\370\335\22\313\32\254\3U\270\250\214\216\307@\0\247\2612a\241m\42\353"
+"y\254\22\65\2366\242\1u\0\212\220\7\342,\352\254\261\242n\226\3074\326"
+"\323\255\356\225\375\267$O\362\21k\347$\37\342\340\263<\36_<_a-+\b\202"
+"\223YMrSrXL\352\353\333V\234\302C\30\207|\264\341\24\16\342\0\0\340.4\241"
+"\f\273\223*#\220\341\231\220\214\224\213\313\310C_D\320\24\237@\306\202"
+"h\300\77\327\26\354\352\351\272\335\42\b\301L\25\202\231*\4\63U\bf\252"
+"$\267:\2131\31c0\24y\350\215v\234\307\t|\203\337RCf\367\354\317\341\253"
+"\256M&\267\276\347\210$\327\26V\313\236\325J \247\376\344 \245C)w\361("
+"_N%\330~-\250n\275\42zL\211\307\227\245\6l\256\21TT\37\t>\235\361h]*\300"
+">\260\300\42\311\262\4\237\305\256\250\372|\232\353\261\335\230e}we\42"
+"\342\370\2531\266y\20U\206\262\227\326<\366\245/\326fLE!&`\253\42\356\334"
+"\33\33\342\302\372\301\367\254\201E\334\340S\250\327]\231\245\212\254\341"
+"\361\214u\256\366E\311\214\261r%T\203\220=C\314\3745\36w\313\367\314\376"
+"X#\224X\237(z|%f\217&\350\376\t\207<\233\f\230J+\f\373\234`6\13x\301\325"
+"\266\330\36l\245\2k\271\257\345f\261\317\36\327\366:\31PH\1770Yk\2,3\225"
+"\327\331\251\3\366`\353E\303\312 C\202\27\65\300\306\330\203\311\n\306"
+"\2\313\2\261\352\203]T\1y|\335\253\5\226\21\b\366X\260\7\24\217$\251\271"
+"\32\243}\347j\377\336=jA\377@\7\305#i\212\330\372h\240]\267\366\370F\27"
+"hy\210\27\362\'\273q\21\77f\371\26R\313Cn\2264\315\0L=5\223\13\365\306"
+"\2514\34\236\301\347\302\245U/Q\344B\250\244\347#\216\261UB\333\6-\273"
+"\36\251^\0\371X\333A\263\f\267\31\25\22\234\257(\344\20\315\376B)\247\243"
+"R\3407+$p\213b\263S\327G(\345\213B\332Fm\240n]0\356\341\226p\305\244a;"
+"\16\307\215\255\345\341\257{\3054\301L\13\t\344\240UqB=]\265M\225%I;$\334"
+"\r\5\302\235TmxG\372M\260\3035\373{\256X\236\300\376\207\361\177[\256\214"
+"\314\325t\360\200e\13I\377i\232uk(\336S\306\26kzx\300\244\301i\372\343"
+"I\255O\254H\323\303\3\26\21\222r5\315\242\n\372\261\371\36-\27\17X\213"
+"\220T\242e\25U\r\n\2\62\226k\371x\346\261>\270$\246\351\351$Fj\2354X\236"
+"+\326\256\211 I\17\13\230\252\225\2455\3\255\326\230yj|\26\207n5\351\314"
+"d\336\246\235\242Y\220\321yO\217-\354\317~<(\272M\266\1\33#Z\235\3611\271"
+"S\310\177\'\340\31`\1\246\262\252RX\254\20r\337t\304\327\212n\333m\300"
+"\346)\320\310y\t\231/\210Yoh\375\243k\315\301\374\276\343\220\337\361-"
+".\345\273\254R\304_\363\270-Sd\3564\7\33\346\213\346\247r\321\257S\221"
+"\355\263nQ\5\26Ya=\245p\313V\366\330f\n\6\3161\204jLxe\336}\24+\373\31"
+"\203\201\340>m\254\n_\237\350q&u` X\306\246\0\250\3675\240\242\307\303"
+"\236\276\253\354\301\242\307\343\334. \35\343|m\250\356\243\230\353c\257"
+"*\325\370\354cX\274B3\30\375\0\64\'\375\315\321_\341\273=\246\n\301L\25"
+"\202\231*\4\63U\bf\252\20\314T!\230\251B0S\205`\246\n\301Lu\335\202\375"
+"\17\265\t\232+\227\27\2\20\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352\0\0\0\2bKGD\0\377\207\217\314"
+"\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6"
+"\r%8\362\234\32\7\0\0\2\334IDATx\234\355\327Kh\23A\30\7\360/\211\211\26"
+"\202=\30\214\221\326G\205\240T\212\250\350\305W\17j\325\210\36\204\32+"
+"*\342A(\n=HA\241\42\342\203z\251 \352\241J\325\203Z\21z(\265UD<XJ\305\7"
+"\25\321\372H@\253\266\26\24551\17c\363y\310cfwgfg\7\4\301\375\237\226\371"
+"\317/\263\333Nv7\0v\354\330\371\233q\230\364\201\200;\365yT\355\263\275"
+"\207\237f\360g\377\241\22%\335\26GD\304\344\2452\5\274#\211\271$\232\25"
+"t7\26\62\274\2369\301)\322\323\213G\376U\326\365\b9\\j]w\221\303r\321<"
+"Nn\306\13\27\36a\366.\241\356pd\361W\f<\16\370p\221\325\233\355\265\262"
+"\240\27\253\367\227@O\r\253\235d\242\207\206\0|\23\0\203\314V\370W\313"
+"g\256\33\322\275\312z\211\7^\275\221\230\307\314\306\b\376>\253\212\241"
+"5\203\221\r\252\270!\211\351\323\252x\3130b_\251\42\336\374\32\361\343"
+"ZE\274s0\213\237j\325l\240%\201\231\336j\305\225\273\262\230j_\244\210"
+"\241\23G\233\325n\210\0\0\225\355\333\224\255\35;\377PxO\203u+\202\323"
+"\2468\0p\42\375=\372\370N\312\302G\206\307Q\227\330AY\33\322\323\\\216"
+"J\341\353l\214\210!s|\205\213\21\257\232\341*\1Fd\77\13I\372\204\32\177"
+"\21055\263\325\237\37[\335F\6c\222Z\363\262\320P\34~!\300.\242gk\233\7"
+"\205\361&\251\265\27\350\232c\205BJw\350\253\275\371\242BF\343J}\267)7"
+"\356\343\353\13\24\67,R>\200\210g\4g\356\244\377\273\313\rue\3308F\247"
+"\205\346G\204SY\371F\363\204\340\42\331AM\230o\230\202\314\327\362\21s"
+"\241I\267\226\337\267\204\335\357\265\32\247Z\300u\250\317\32i;\323`\21"
+"g\311\342}\f\374R\26\237`\340/\262\370\224\321\246\267\313\342\3zz\315"
+"\302+\246\366v\32\335*/\1t;4h\315\302\36\312>\264h\1\306\b\276\'k\310\23"
+"\30Y\203&)\376&\242\3042YL2\203\234\270<r\32\16\224\3421]{\361\215\201"
+"\313\334\37\322f\372<\42b\277\271>\311\252\37\345:\336\267\365\266p\361"
+"h\276\362r4\265\315\337\351\2739\205\3469\357\314\351}\376L\3334\26\213"
+"*\256\16\323\337\2220\31\337EF\353u\204\336\224\332\353\355\271\373v\334"
+"\345[XC\355\274\246\343\334\245\1*P\234F\201\5\366=\221\244N\214\1j\371"
+"6>\317\f\3@\'\7\313\275\245\2\324\33^\220\21\317IZ\0\0\b\335\242\351\223"
+"\335\334\211\374\333\210\277t\2623\233\36\373jeY;v\354\330\371\277\363"
+"\7\210p\305\226/\203\1\317\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0=\0\0\0x\b\4\0\0\0\353\3762\275\0\0\0\2bKGD\0\377\207\217\314"
+"\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6"
+"\f8\35G6\310k\0\0\4\61IDATx\234\355\331m\210UE\34\307\361\357\335uw\335"
+"\310]s\305+\345Z\254\241-\305FF%d`E\17\320\6F/l\21TD\360\205\244\t\201"
+"``HT/z\323\213H\337\24X\364\0\21\364B\310-$\214\22+\304\'\250\315\25\227"
+"Z\266%k\315u\335\325\273O\277^\354E\275{\347\23493\347\3545b\376\347\335"
+"9\363\237\317\231\2713s\316\234\233C\334\240\250\272Qp\240\3\35\350@\7"
+":\320\300\42\266q\233c\216\322\37uzL\373uY\37\251\331%/=\\\253\365:\241"
+"qI\177hMe\351\227\364\247$iX\333\325T9z\216vkD\322\270~\325S\256\331i\340"
+"F\355\324\200\2441}\247U\252\256\34]\253\215\352\2234\241\303Z\351\16\247"
+"\241\357U\267$\251W\17\373\325\340\13\327\351\200&%\r\3539\337\233\367"
+"\245;tE\322\204\366\350&\317\32<W\263[XG-\320\313\307\214\370U\341\273"
+"\220>@+9\340\bg<aoz\5y@\234\242\337\233\236\345\223\324\300\22f\3c\210"
+"\5\3240\312E\n\225\241\33\231WL^M+\365\f\323\303a\169\363\36cs\251\16\252"
+"4\306\324\255\235\225\30\341b\372\366t\26w\3622\317;\325\342E_\342\242"
+"\341\354\\6S;\323\364y\372\230(;\233#\317\242\231\246\13\34\343\37\237"
+"\304\3644t\322]vN\364\323\353T\213\347\n\374\270\372\246\215\362\1=\353"
+"V\207/\2156\350\270F\213\354\244~s\236\\\271\262y\2228j\270\237G\271\217"
+"<#tq\210\3\\q\312OAC\3\243\314\245\236q\6\215\323m\6\351t\361\177\330\370"
+"\4:\320\201\376\317\320\216\257\205O\262\222\24541\233\34\0b\202\2\347"
+"\351\341\'\276t\\\303\23\77\271:4([\fik\326\17\315v+z}\274\232\35\375\211"
+"\23<\25\355Y\320\373<`I\372\300J[\36\232m\234p\34:\327\3424\313b\257[\350"
+"#<\344M\303\20\r1W-\363\332\f\277\307Br%\307*\366\31\312\315a(\266\366"
+"\330\337\303\24{#Ko7\224>\3457\314\252\215\364\355\2617\373MY\371]~#\334"
+"\24\255\226\221\273\273,#3\372\13\13\2156N\313h\311\212\226\36\261\342"
+"\317\224\224\237\357C\357\211\300#\332q\335\321\254\223\305\262oE\224\260"
+"\314\353*\303fv*V\360C\354\304\1\270\2336\316\306\224\263\334\375\333\21"
+"\355\226^\261\266<\376H\260\373\30(~\264)\217\313,\346ok\333\243\42\301"
+"[JS\344\225z\376b\2577\235h\317u\27\277\304\\=G\336\213N\364n\326Eg\314"
+"\325\5\34\364\242\23\265\272\206.ZbK4zlr\23\264z-\243\26\30\226;\303\326"
+"7\322[\351KT\315Y\17:\266\325\233\22\302\77\363\273\7\35\263\244\274\36"
+"\271\230\224F\277\357\242\22u\341\315DlA/\370\257g\346\323/Z\321\17\365"
+"D\312\205\324H\267\305\220=Z\235\226,\36\306y\35=\325\227q\332k@\231\302"
+"0\3027D\24\375\226\\\2060\30:\374\202\261\243\277\316\250\233c;\334\334"
+"\335\271L\333\13\206\16\67\23\17f\16\33\36\37\13\215\377\\e\337fC\253+"
+"\367\205\243L\362\177\341\271\26\313\371\224\223\274O\263\245\\\331\310"
+"3\205\313\310}\367j\326\217\361%\223\321o$\206\277/\311[\354F\177\236\242"
+"\335=\323\262nv\243\315+\370\31+{GY\316q\327\16\217\332i\35\213\255h\207"
+"!\243\315\235\356\210\300\245\16c%\353\214e\267Xz)\342\2154\3565\265\223"
+"\257\350f\220j\346s\17OG\254t\273x\315:\t\215w\324\22\331\356d\261\303"
+":2\42:\34\241M)\340\265I\340\270\375\365\32/\366\222\226$\203m[\373\375"
+"\216p\342\357\243v\32\241-\t\276\tK\322;.l2z\352h\327g\221\350Q\255we\345"
+"\365wj\236F\352\250b\222\2\278\347\232~5\302\177\232\201\16t\240\3\35\350"
+"@\7:\320\201\6\376\5 \34g\323<\22\37I\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\4\0\0\0\353\3762\275\0\0\0\2bKGD\0\377"
+"\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tI"
+"ME\7\323\1\6\22\22-b\374\351\365\0\0\4\335IDATx\234\355\232ilUE\24\307"
+"\177\217E `\233\0\322jZ*\5\5\2)\244\22\213\33q\tuk\325\30\rbMq!~i4\341"
+"\203\222h\2021\6\327h\210q\341\13\42\370\1\305\20\215\30\66%FD\4\24A\214"
+"\264\240\264\204%E\4\245\266v\241i\377~\350\313\353[\346\336\231{{\225"
+"h\356\231\17\357\345\2343\347\367\316\364\314\334\231\271M \316\223\f:"
+"_\340\30\35\243ct\214\216\321\377e\364\220\250\2\335\312Ut\361%;\350u\356"
+"\243 \255P\345\252\320\f]\224\245\257\326\31uJ\332\247\207\334\243\271"
+"cG\351)}\257nI\177i\267\236\320\210\224\245D\353\325/\367F\217~Wmi\200"
+"\16\255PQ\322R\251\236\224\376\234^\215\32}\277:\224)\355z9i\273Z\307\322"
+"\364\3335\335)\242s\205\3272<K3\202Zn\6\340,\177\246\351\'2\301)\2423z"
+"\234AW\300\34\0\16p0\255\256GG\215\376\325\250\235\225\374\\JCJ\'fF\213"
+"\336`\324\26\'\77\367\360]J7\214\313\230\342\24\323\271\302\77\310\250"
+"\360>iLY+\324\234\322\36\3215Q\226\31\324\360\22[9\314I\232i\245o\373\336"
+"_^\273X\237\372\236\317\244h\263F\250H7\352\16U\3535\265K\2226\245\331"
+"*\325\232\314\272Mo8\304\n\270\206\37\3478\0c\351\1\340`\232m\13\253y\224"
+"!\300H&\221\2271\341L\22\362\3115\201\241@\27;2\264\333iO~+\342bk\214\220"
+"\350+\270\0\250\347P\206v\r+\351\6`\264C\215\207B\337\306T\22\364\260\215"
+"\275Y\226\257h\1`$\263\377\31\364\335\24\3G\331\224cY\307G\0\344Q\342\20"
+"\'P\205#\264H\35\222\272\364\242\321:GG$I\337\330#\5\5\337\251\223\222"
+"\244\235\3123O\31}\42I:\254\233\242EW\253A\222tLs=}f\251A\322\37z2J\364"
+"\3:\250^I\'4\317\327o\243z%\275\31\25\272P\313\324.\251[;t\203\305w\256"
+"\352%}\36\25z\203z%uj\255f:x\257\224\364\223\256\363\365q\236\\\275$8\315"
+"\353,`\237\203\367#\324\321\302\344h&\3274\255\325=\216\276}\255L3|\355"
+"\t\342\313\253\30\35\243c\364\377\1\35p3\\\311\265\\\316\30\206\223\0@"
+"\364\320\305\3574\361-\33\351\f\bw\\\221\347\253%\347\330\223-\255z<\310"
+"*\357\342Te\205\246\3133\321\241\327\4\2\367IU\24\350U!\300\222\264\332"
+"\212\266<4\313\370!`\351\364\313!\313V\301\202\336IEh4\264\222\347c\265"
+"\314k3x\5\205$2\332\365\2542\370]H\253ot\337\277\207I\226{z/2x\377\30\256"
+"\314\6\33\321%\276\77\366\213\34\377%\341*\334$S-\225\373lN\217\310\320"
+"\37[\320\350\341\254\36\245Q\241e\331\332#t{\206\377\3300\350\267=\340"
+"\36y\244\265b\355O\372\276\342\341a\231\327\203\222\3275\2712\233]\276"
+"\23\7`\32e4\372\370Y~\3752\217\274\245\247\255\231\3737\207\323\307\31"
+"F{X:\30\317ik\356^\342\260K\31\343i\31\301o,\17\215v:sM\241\336\307z\212"
+"\202Ph\247\275Y\3\233}\254\343\330\32\n\355\224\365P\32(\365\365\310\267"
+"^K\346\212C\3265\234\263\200\241<0\330\272#\275\204\23Na\32C\240}\263^"
+"\350\b>\300\321\20h\237%e\251\347b\222)\315a\27\25/\303\13N\330.\335\27"
+"~=3\253\37\263B\337\363\271/\34\0\272\314\7\331\244\273\6\212L6\343\274"
+"\366\236\352\223\263.\337\7\42\206\n\177\320\303u\33\211\b\301`\30\360"
+"\263\306\201\376,\242a\366\35p\363p\'\42\315\27\f\3nF\\\319\330\360\370"
+"(\244\331\350\26\275\344d\375\357\335p\344\220\302ox\372\245\234\367\331"
+"\317;\251\367\274^\222Sy&\tR\271o\245z\355\366\367tC\77\357\f\376:\243"
+"\337\370`\350u\3\310\273)\253\327\250`h\363\n\376\213\25{iN\237}A\7\334"
+"\353\244\265\3277\320bC\217\262\340\350\371\36pi\2761H\255\321\267\316"
+"2J\36;R\277m\352f\266\3603-\ff,\323\271\305c\245[\302s\326Ih\374E\245\236"
+"y\273\311bkex\f8B\13\7\0\256q\1\373\235\257\347\205\302\266i\242\33\330"
+"v\264\3774 \330\371~\324\216F\250\316\341NX\222\323\77\204\4D\367\265*"
+"}\350\t\335\243\5A\261\n\365b\261\200|\2061\210^\2728\313\251\240\335S"
+"\22\277\323\214\3211:F\307\350\30\35\243ct\214\216\321\300\337z\353\351"
+"D\25\61\207>\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0"
+"\0\0x\b\4\0\0\0\353\3762\275\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\t"
+"pHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\323\1\6\22\20\b\33"
+"\316_0\0\0\5\3IDATx\234\355\231[\210UU\30\307\177gtf\264r\306\324\34+u"
+"J\305K\311D\212ie`\211V\244`H\330`\250\211P$EB \30\30\26\345C\4=D\372P"
+"\206v1H+PH-\t\313\6\355\2027\314\313\210\223\r\323\2206\346\344m\31683"
+"\377\36<\35\317\234\263\326^k\357\331\223D\373\277^\316Y\353[\353w\276"
+"\357|\353\266w\nq\225Tt\265\300\t:A\'\350\4\235\240\377\313\350\236\321"
+"\272\rf6\33h\310|{\230\273I\263\203\32:B\215\242\260\245T\17h\263.\352"
+"C\r\21B3\325\244\26I{\365d\270\221\302\202K4_\373\324&\3517\315\21\252"
+"\324&]\321c\335\211~^\277K\222\316k\211\372\13MW{\26\334\2527\272\13\335"
+"G+tAR\233\216\350\301L\335=\252\317\361z\247\306v\7\272\\\313\324$\351"
+"\222vj\212zdjo\323\301\34t\243f\306\217.\321B5HjW\215&g\301\b}\232\23\362"
+"\264\236\213\37}\207j%I\365\2727\257e|\216\337-Z\23\67\272T[\324!\351\274"
+"\36\65\264\256\315\t\371\267\32\35/\272Z-\222\332\265J\327\30Z\'\2521\213"
+"\376\245 *\266\342\265\220^\317<J\200z>\342\202\241}7\233\262\237\313\31"
+"\341\271\226y\241\'0\206\24\260\213c\26\213\r\234\313|*fB\234\350IT\0\342"
+"\0\215\26\213m\254\243\r\200k\31AY\\\3502\206\323\13\270\204\30\310\315"
+"\334@\251\301jg\366\257\30\314\215^h\217\235\253\234~\31\323Y\214\2417"
+"\347\251\243\206\35\244;Y\255g\42\317P\f\364c4G\274\340\316L\34\251\355"
+"\352\254K\252\325\262\2\273\331:%Ij\326\312\2702\\\344_F{2\202\27\230\235"
+"W\273\221\317\0(\243\322\313g\17\3649\3762\324\366\345)J\362\352>\340\4"
+"\0\267\306\205>M\3\355\5\265)*\30\234WW\303~\0\6\62\65\36t\232=\374\351"
+"1\24\264\3612G\200~\214\217\7\r[\251-\250\23\215\324\27\324\376H\35\242"
+"\257\347\277\355\225\215S\325\220\227\345M\226\235y\232\16I\372\312gT\77"
+"\64Z\240\275j\315`;t\3020\271\376)\357I:\250\373\234#\246\nf\216E\305\214"
+"\347~\356\244\202\13\34f\7[h\261X\26\3614O\260\206w\34#z\243\241\214V\372"
+"\322\2336\232\215\323-WU\244\330\27\37:n\375\77\357\\\t:A\'\350nR\310\7"
+"\32\323\231\314H\372\323\213\24\0\242\2354\247\251\343\7\276\260\256\352"
+"6y\356\\\325j\226Kg\303\3343\3756\315\31Nh\256^\212\17\275>\24\370\262"
+"f\304\201^\353\346\30\265\316\211vl\232U\316]\327\256\243\214\nlw\240w"
+"112\32\316\6^\374\34\363\332\f~\227A\244:\225)\2545\330\365\341l\340\350"
+"\201\377\207I\253\255\326K\f\326\7\242\245Y\17#\2722\360\307~]`\277<Z\206"
+"\2334\306\221\271+\nz\304\206\376\334\201F\13\363z\f\213\13-\217\343\375"
+"#\235\354\7DA\257\262\300-~\344\224!\332\237\261}\335b\341\230\327E\206"
+"\353\355eMbw\340\304\1\270\235*\216\7\3309~\375\233\26\277\245\27\235\236"
+"\7\27\217\333GS\3461N\241.2\224\77\234\276\333\344qJ\351om\351\315)VGF"
+"{\335\271Fs(\240\365$\25\221\320^g\263\303l\rh\35\310\366Hh/\257\2139\314"
+"\260@\213r\347\265\267P\36^\317\245\325\1\206q\241\301\316\23\351M\331"
+"\327h\301:\36\1\35\350\365\42O\360\317\374\32\1\35\260\244\274j]L:\253"
+"1\352\242bkX\351\205M\353\361\350\353\231\271\372Y\'\364}M\353\342BjDW"
+"\5 \3534\253\253\310L1\316k\373T\37\305\321H\te\222!\303\27XL\277!\25#"
+"\30\f\1\77c\f\364\2271\20590\340\346p\247b\365\27\f\1\67#\356\212\35l\330"
+">\6\31\337e\305\357\263\301\353\177\357\tG\1)\372\201\347\212\306\3611"
+"\373Y\303\20\207]A\346\231\24&s\337\316\366\372>\330\322\17\375\2327\370"
+"\273N\375\206\206Co\354\202\337uy\275\256\13\2076\257\340\307\234\330["
+"\n\372\354\r\33p\333MkO\340@K\r=\252\302\243\253-p\251\3328\310<\243\355"
+"bG\224,\'\322\240c\352V\266QK3=\30\300X\36\262\254t\313y\3059\t\215\277"
+"h\230\325o\77-uf\206%\340\b-\352\2x\256\178\350~=\'\22\366\234\206\373"
+"\201]W\373\315!\301\336\317G\335h\204\26{<\23\226\244\267\302`\375\320"
+"\227\313\f}b\205\376\244\371a\261\n\361:\365\212*(\247\224\42:Hs\206\223"
+"a\273g\225\274\323L\320\t:A\'\350\4\235\240\23t\202N\320\300\337\335D\306"
+"\233\363\244%f\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"=\0\0\0x\b\4\0\0\0\353\3762\275\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0"
+"\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\1\6\22\24\20l"
+"\316\2b\0\0\4\357IDATx\234\355\231]lTE\24\307\377[\250\245am\23\251\264"
+"\32\312GAZ\2)\244\242%( 1\242\321\22\215\201`\255\251\37\341\301\244\321"
+"\204\7%j\2\61\4\65\32\23\36\374\340\5+\370\200\242D#\206\njL\220oE\20#"
+"\335\242\266\4!E\4mi\355v\251\335\277\17\275\336\336\273;\237wo%\232{\346"
+"e\3569g\316ogv\346\334\231\2711\20WH\362\256\248BG\350\b\35\241#\364\177"
+"\31=z$\202\346a>\26\241\0\7\320\242\364\243})c\rk9\233\327J\354\217\362"
+"\30\311~^\344RU\34[l\234\317\362[\16\220\374\223\207\371\24\13\263<\226"
+"sXvpRx\350\267\331\353\t\235\344&N\310\360x\225\227]\373 \227\204\205~"
+"\220I\372\245\217/\373<fq\257\307\372\13\347KcY\316\360F\214\311\320\24"
+"\242\21wz\236\247`\252\347\351\22\272\24\223\321J\306\13t\245X\350C_\343"
+"\326\323h\303\211\260\320\277\n\265s=\3659\30\336g&\260^\21\313\22\275"
+"S\250-wkU\270\1\5\356\32378\242\214f9\303\337\363\315\360!iw\255\267\360"
+"\224\253\355d\2552\222u6k\3003X\204\311\30\13\42\2168b\0.\271\326i(v\353"
+";pH\31\311\32\375\27\326\241\31\323\21\7\261\30\217\243\20\3009\327z\23"
+"\362\235Z/>\320D\n\224\303\317\340\f\0\240\4\203\0\2006G_\204i\30\353\374"
+"\300-\330\255\211\222\323\233k\n\362\1\244\260\337y\276\16\23\234Z\37\366"
+"j[\347\204\276\21W\1h\305I\347\271\312Y\323\3h\306\326\221D\337\215\31"
+"\210a\20{p\324\321\314s\206\273\33_\31\264\317\1}\77\312\1\234\306\247"
+"\256f\22\212\0\0\37b\273Q\4\313u\375OY\305$\311\24_\362\350\16\220$Oq\241"
+"Y\214`\340{y\216$y\220E\256\356v\376L\222\374\230\243G\16\275\224\t\347"
+"\225x\207G\3734\377 \231\340\\\3238\366\340\207\330\3064\311\263\\\341"
+"\323\277N2\315\26\363Hv\3302n`\37\311\1\356\347\342\f\333\347$[}\343\20"
+"*z\'\323$\373\271\215s2,\13\370\3\311f\213X\226\2114\215\30.\240\31k\221"
+"\314\260T\242\33M\330h\25\315\252\3273\271\215\313\204\226\331\254\266"
+"\212\4\306\20]^E\350\b\35\241\377\17h\313\34\276\4\267b:\306a\fb\0\0b\20"
+")\374\216\16|\215\26\364[\302\r3n=\273\263\16<\231\322\303\'m\262\270\211"
+"S\235\26\352\225\265\341\241\267Z\201\207\244.\f\364\346\0`\222\334\242"
+"Ek^\232\325\370\316r\352\f\313IT*\355\32\364A\324\6F\3=\316\221@,\232u"
+"-\6oB\31b\276r\33\66\13\374\256F\2172\272\362\377\20\311F\251\367*\201"
+"\367\367\301\246\331(!Zq\377G\360\313,\3775\301f\270Hfhf\356\363Y-BC\177"
+"\244A\203\217e\264\250\b\13M.\320\302\357\361\371\227\4A\277)\201K\372"
+"\341)\345<\356\370\276\42\361\320\254\353<\347\242&[\346i\256\246\0`&\252"
+"\321\256\360\323\374\372\r\222~\223\317i{\256.\6\247\217\213\236\13W\277"
+"$1\21\27\264}\227\211\301.e\234\324R\210\337,\17x^1:sU\241Ua=\217\322@"
+"h\243\275Y\2\273\24\326\361\370\42\20\332\250\327\371H\240B\351Q\354\271"
+"\2425\25\203^7\340\262\6\f\324X\203\265;\322\353q\326(L{\0\264\262\327"
+"+\r\301\'p:\0Z\221R\326K\223\211_:\203&\25\231\341E#l\212\17\4\317gb\365"
+"\23Z\350;67d\346\350j\5\262\203\367\345\212t\212p]\313\227z\245{\355\236"
+"\273\bf\370#\22\327=\210\205\b\6\4\3\336%\34\350\317B\32f\345\200\213\207"
+";\26j\177\1\301\200\213\21\67\207\16\26\274>\312\320)t\13_\262z\375\357"
+"\335pd\221\202ox\206\245\6\357\3428\336\362|\341\25K\326\314\23\211\315"
+"\314}\303muX\355i\206~\301\30\274\317\327n\242\35z{\16\375\356\310h\25"
+"\267C\2133\370OZ\354\344\2546\307l\7\\v\322:\252\f\264Z\320B\363IB\244"
+"\254\227\300\311za\220F\241o\223f\224$;R\3256u\27v\343Gtc\24J0\13wI2\335"
+"\32\254\323.B\341/\252\220\366\333LVkg\206d\300Ape\16\340\6\23\260\352"
+"|\275\42\20\266\227S\315\300\272\243\375\'\226`\343\373Q=\32\4\233\f\356"
+"\204I\3625\33\254\31z\250\324\361})\364\b\37\266\3052\320\207\305R\24\243"
+"\0yH#\205.\234\267m\356J\364M3BG\350\b\35\241#t\204\216\320\21:B\3\370"
+"\33\313\301\242\233\13\61\270B\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0=\0\0\0x\b\4\0\0\0\353\3762\275\0\0\0\2bKGD\0\377\207\217"
+"\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323"
+"\1\6\22\21*\327\265/\225\0\0\5\3IDATx\234\355\231oh\225U\34\307\77w\352"
+"\346,\235\251m\42\316\325\34\251%\223\224\245\245\222\25Y\220\202!aCP\23"
+"\241\27\222$\4\202\201a\221\275\210\240\27\221\276\3111\313\f\262\22\24"
+"\374S\21\246-+\302\251\230\363ON\33k\244iN\335\334\377o/\274]\357\335="
+"\317s\236\363\354Y\22=\337\347\315\345\374~\347\367\271\277\337=\347<\347"
+"\234\233@\334&\345\334.p\214\216\3211:F\307\350\3772z`\337\272\217e!\333"
+"i\314h\33C)\217\222\307\367\354\266\364V\330\'O\217k\227nh\253\2123\332"
+"_P\255\2446]\322|\377\ba\301\271Z\252#\352\222\364\273\26\245\265\77\247"
+"[\332\251\262\376@\277\254\77$I-Z\255\221i\355\357\250#\205\356\326\334"
+"\250\321C\265^\255\222\272tROeX&\353`Z\326\rz$Zt\201\326\352\222\244N\35"
+"\324\34\r\310\260\315WS\32\372\270\356\217\22\235\253\345j\224\324\255"
+"\32\315\352\5F\253\324\236V\356\3175$J\364\24\235N\26s\246\301\272Ymi9"
+"O\363\217\345\6\316\323\36\365Hj\321\263\6\353D\35H+w\265\212\242DW\252"
+"MR\2676\32K9S\347R\340&M\267\304rZH\357b\t\271@\3\37\323j\260\227Q\220"
+"\372\274\223\37,\321\234\320\25L\42\1\34\342\214\207}P\362\323u\266[\243"
+"9\241gP\4\210c4\31\254%\224q\7\0]la\2375\232\303\353c\30\343\31\ft\42\n"
+"\31D\7WiO\263\17fl\362S+\7\3\304s@\27\60\42\331e\1\223\310\247\205zj\330"
+"\237\302OL\332;\251b[\264\350|\206\0\220C\5\25\0tq\216*6$\3553\222\345"
+"n\346@\240x\16\277\265\350}(\35H\31\257\260\20\200\273)a\30\0_P\23\65\372"
+":W\r\255\303y\221\\\240\205{\18\317G\306A\330\'\364e\32\351\316jMP\304"
+"X\340a\n\18\312\257\1\3439\240\3339\314_\236\326i\214\0N\362z\257\355R"
+"$h\330\313\351\2546\321D\3P\302pD=\r\16\361\234\326\360\'\324\250L\375"
+"\263\3\373J\322\t=\351\22\315\r\215\226\2516\265\5\352\321y\255\25B\263"
+"u\\R\225S$\347\315\360V\352x\214\7)\242\225:\366\263\7\200\t4\263\222\35"
+"N\221\22Y\223\325\252at0\234|\272hNM\267)\210&.\3667:*\375\77\317\\1:F"
+"\307\350~\222\343\32>\227Y\334\307H\6\223\0@t\323\316e\352\371\211\335"
+"\2649\302\3\276g*\325,\233\256iU\324/\315yVh\272^\213\16\275\315\t|S\363"
+"\242@W\207\0K\322\26+\332\362\322,\347\210\343\320\271\245SL\360\265[\320"
+"\207\230\36\32\r\327\222\207\2\263,\363\332\f\376\200\321$2\2369T\33\374"
+"\206r\3157\272\357\357a\322&O\357\325\6\357c\341\206\331\0#\272\304\367"
+"\313~\223\345\277.\334\b7i\222e\344\256\317\352\21\31z\207\5\215\226\367"
+"\352Q\32\25Z\232m\205\77\223\341\77*\fz\243\7\334#\217\264\247XG\223\276"
+"o{xX\346u\216\341X{S3\254\227S\360\0\345\234\365\361\263|\373w=\362\226"
+"^\265f\356\377\48}\\J^\317d\353\6\343\370\323\232\273\227\2\354RFzZ\362"
+"\271\310\246\320\350@g\256\211\234\360\261^\240(\24:\320\336\254\216\275"
+">\326B\276\16\205\16\224\365 \352(\365\365(0\336.\371+@\326\213\351\260"
+"\200a\2523\330\272#\35\23\360>\350l\b\264o\326+\2\202\177\341\267\20h\237"
+"%\345M\317\305$SMa\27\25/\303[\201\260\355z>\374zfn~\311\n\375\320\355"
+"\216,(\272\334\7Y\257\5}E&\37\343\274\366\236\352\238\25j@\231d\30\341"
+"\313<\\\277%\21!\30\f\5\277b,\364\227\21\225\331\267\340\346r\'\42\315"
+"\27\f\5\67#\36\212\34lx}\2146\376}\20}\316\206\254\377\275\33\216,R\370"
+"\r\317-M\345\23\216\262\231b\213_\326\3103\311e\344\276\237\352\365\243"
+"\277g0\364\206\300\340\3572\372\215sC\177\326\207\274\353{\365\272\323"
+"\rm^\301\317X\261\367d\365\251u-\270\327I\353\260o\2405\206\36\345\356"
+"\350J\17\270Ti\f\262\304\350\273\322R%\217\35\251\3376u/\3738M3\3\30\305"
+"d\236\366X\351\326\361\206u\22\32\277Q\251g\336\301\264\306:2<\n\216\320"
+"\212>\200\27\7\1\373\235\257\27\205\302^\327\370``\333\321~\227#8\360\375"
+"\250\35\215\320\312\0w\302\222\364\236\13\66\30\372\3463O\237zB\177\326"
+"RW\254\2\35\355{\253\210\2\362\310\241\207v\256p\301\265{J\361\177\232"
+"1:F\307\350\30\35\243ct\214\216\3211\32\370\33\224\370\205\4\372uA\273"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0"
+"\0\0\233>\200\b\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21"
+"\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\r55\306\357t\353\0\0\3\351"
+"IDATx\234\355\231ohNQ\34\307\1773[\261\215\302\350\321\366\202L-\204\215"
+"Y\212\214\344\377\337d%la5!\21\311\362\312\13lS#)e$\177\302\344\317\13"
+"\211\22\366\2\13\255\310\260\305\24\333<3$c\17\66\373y\361<\367\234s\357"
+"\375\235\77\327\275o\324\363}\263\337=\277\357\375\334s\316=\277{\356s"
+"\7\20W\\q\305\25\244\22\f}\241P\322\317\266\16\377\327K-\253\357\306\37"
+"\217v\366\363M:\365\35\21\21#\'2|\202VE0\252\256\n\237\244\233h)<Gj\352"
+"cB\32\312\242a\323\375\221\332y8\311\37\351\6\17\63M\374\n]\374nMT\263"
+"\324\223hD\272\226\320\213\277;!9\1\336\35\223yL\327x\306\350T,(\355\7"
+"\267\346\312\34}\rI--\0C\376\0\64J\35F3\36\323\210$\370\365 \20Rn2\274"
+"l\362\340\227j~3\366\34\16\2\4\325\335\330</\b\320\266\b\376:\20\4hI\30"
+"\261n`\0\240E\257\20\337\317\16\0\264\272\261\27[\13\375sB\207\272\260"
+"\373A\201\177\20\334\350\305\2375\23\2\0\301u\354\250\360\277\31\0\0\214"
+"\251Y\21\b\'\256\270\376k9\367\273\5\63\2623\206\rJ\376\366\344\334IG&"
+"4{bfZO\307\363;\365&\334\363(\250JH$V\n\211\372|\35g\26\332\325\3062g\34"
+"\31\234\251\4\255s\3321\266\341\356p%\20_*@\33\t\177\25\0\2444\20\tD\314"
+"\226\201\212I{Y\326V\232\203\210\343\315\346\310D$(\215\245\37n\77(9\261"
+"2\77={\237\330@.\207F+;\5\0B\24gI\314\31\26\332\206\272A\33\254\\2\0\0"
+"\234vq\2047\213\257\274\365\220\233d\245\372G\17\13\235\240\245\224\31"
+"\361\213\13T\22\313\344\305\216\27;@\366W\347\375<\341\42\65E\333\313\255"
+"\343-vP\216\335\235\252 E\233\177\263\343\32\33h\241l.\244$^\227=\42\350"
+"\250\304N\222\36#\42\356\245\254\224[E\232\372\26q\'\77\314\22A\304>\256"
+"\272\n\214\24\17\366\252\273\244&\331$.c\352\355\313\234\244\351\322@\226"
+"\374,6\23o\366\243\204x\rA\312cQ\235\206T$\304g\t\22\177\362\326\22YQ\237"
+"\2247\16\3409K\347\212\315\304\2572Tf\305\274-\355\36\235P\256\313)\220"
+"\271\25257y\22K\277\260\265\273\373\264\236E{H\22/\350+\232>\351\326\335"
+"S\226\327l\305|\267\352\374\267+1=c\306]>I\334\230B\346\363Y\276\301\236"
+"p\316\370X\36\376 I\313XtY\335\245c\354\222\227hC+\275\302\335\342\203"
+"\233\2463\250AZc\246\324\340\230\247b\26}\240I\334pU\335%\276\354\266\323"
+"\206vfpn^\216j\347]N\351\42I\222\7\18G\'\254\1\32\64\231l%H\233X$Y\3\245"
+",:.g\2xZ\3\256\325d\37\255|\26\364\6\333\350&\262H\3629n%\213\332h\203"
+"\245\265\254\357kiC\255\356Aa\251HW\t|\232\6\253Ic,\337\21:\237n\\t\360"
+"&j\223<-a7\3\335\325\221\6\274FD\274/K\363W\17bKu\336\314qy\221\333\37"
+"e$\355\42\61\325d\3454y\371\n\311K\245\332_\227T\245\2\336\6\254\236&\17"
+"\2433.\25\255\214KE+\343R\321IW*\346\363\264\201E\367\374uI]*\340e\25\350"
+"J\305xt\362\177\264x%\225\260H\263\253h\305\357\\\16m0\236\'\355\23\305"
+"tt\334\367\324\364\332\22\361\217\34\13$\16\357\243\223\235a|\357\256\307"
+"\376\3167=A\252\244\350\233\323f\337 \200>\345\257\303\27\306\5\0\2\200"
+"\364\341\252\354_\35Z\264w-4\35\250\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\2bKGD\0\377\207"
+"\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7"
+"\323\3\6\r5\42E<\361,\0\0\4\6IDATx\234\355\230Yl\rQ\30\307\277\226\326"
+"Rm-\251\33\264/\250\344\206F\252\213\33Kb\211H\354[\210\7\332\24A\20K\210"
+"h\274\360@\204\4\21!!\36,!\4/\22\225\330\232P\22\202\322\242Z[\232\266"
+"\266\26\245E{\333\317\303\275s\316\231\231\357,\327\334\'\271\377\227~"
+"s\376\377\371\335s\316\23433\35\200\230b\212)\246\b\225\276~PT8\335&]\371"
+"u&#\n\240\304\202\362 \326/\212\2i\303G\304\226\215\375<s\222w\264b\260"
+"j\252\367\16\245\26\67b\373\235\t]<\203\22\213\352\260\243l\234w\20\214"
+"\254F\254\35\353\235\3\335J:\261en\24@\260\3707v\34\351\31\5P\237\253\235"
+"\370n\274.\25o@\312\363\307\301\375\232h\220\2>\300g\r\272TW=(eHwh\307"
+"\376\tm\315\177<\222R\373\2t\235\343\357\321\362\266\254T\311\322j\330"
+"\r\f\251\275\272\330\23\b2\257\243\245\246\371\362\230\301\214\377lfe\357"
+"\225\211^HMu\35V\31\347K\367B\372\363\370\253>d\266\236\256U[\25\66\324"
+"\232@\345\232\\\27\236\361\306\231\336@\0\205O\332\20\261\363\275j\25\304"
+"\31\221\22r&f\373Z_\226\226\374\366J\202\224\266\336=\202\337\233\365\301"
+"\230b\372\177\345\334-\323\'\370\323}}\23\233\37\2369\341p\6L\311\316H"
+"\16~\256\270\371\310\204{\26\5\355\27\214.{\5\343Q@\307\231\214v\3253\347"
+"\224\303\301IJP\2213\216U!c\263\313@|\241\0\255&\362\373\1 \251\2220\20"
+"\321/\3\25\222\361\342\314\3654\7\21G\232\315\221\211HP2\263\357m\332\'"
+"9qo \315\277Kl \227C\225\345\216\6\200\1\24gv8\371Ah\353\357\6-\267\274"
+"\320\303\372\244\213s\220g\277\361\326\3n\222e\205\337%\279As\2500b\223"
+"\13\264\42\354\344\207\217g9@\271\266\364nn\270H\257B\355{\254\343uv\320"
+"({\272\227\202\24jnc\307\347m\240\31\262\271\220\222\370\276\f\212\240"
+"\303\2228Iz\200\210\270\223\212Ri\25i\314[\304-\3740S\4-\210\210\4\60X"
+"<\330\251\356\222\232d\223\270\214\251\377V\315I\232.\2452\263Ql&\336\16"
+"\207\n\365\22\202\224\317\252\373\32R\201P\237&H\374\316[J\270\242\276"
+"(/\34@\5\263s\304f\342\235\16\225\256\350\333l\367\350\204\355:\217\2\231"
+"\353\270\346\42\3472\373\271\255\335\335\247e\254\332N\222\370\206\276"
+"\244\351\223n\335\2253_\363(\346O\253\37\377\366KLOYp\253G\22\17&\221~"
+"\200\371\225v\3039\343#x\331B\222\370\247\214\213\352.\35e\77y\201\16\324"
+"\261@\16\35\260\304\7\'\371h\361\17\323D\373\31\322\200c\236\nY%\371f\301"
+"\3\227\325]\342\313n\23\35\370\310\2\316\207\227c\267\363.\'\265\222$\311"
+"\215\0\234\243\23\326\0\r\312#[\t\322\32VI\326\300*V\35\2233\1\42Z\3\256"
+"\325d\37\255|\26\364\1\333\350\262Y\365\206\6-dU=\35\260\264\224\365})"
+"\35(\325\335(,\25\350v\2\237&\315\367\337\341V\356\20\355\247\31o:x\35"
+"\212I\356\226\260\215\201n\351H)5\210\210we6\177\365 \36\251\316\213\231"
+"\225\377\353\372\'\31I\273HL\225\247\234&\223/Y\226\370V9\356\255K\252"
+"\255\2\221\rX=M\21\214\316x\253he\274U\2642\336*:\351\266\212\371<-g\325"
+"mo]Ro\25\210d\25\350\266\212\361\350ru\1c\322\nVi\236*Z\361+7\212\16\30"
+"\317\223\366\216b::\236+7\375m\211\370G\216\351\222D\344\243\223\235a|"
+"\355\256\204\377N3=A\252\204\320\233\323Z\317 \200\370=5\37\316eE\1\4\0"
+"i\3U\356_\r\346\300\312\222\213\366\250\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\2bKGD\0\377"
+"\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tI"
+"ME\7\323\3\6\r5:VPiz\0\0\4\241IDATx\234\355\231[l\25E\34\306\277\26\251"
+"\301\202$5\5k\332D\214\215VD\244=\264M\215D!\305\0\26\324\250M\214\26P"
+"H\274\306HD#\361\211\304\13\240\2Q\22\242U\214\242h\215\227(\301>\20\25"
+"\305B\20\253\30J[\2\225\210\245E\304[\313)\364\300\371|\330sffwggv\267"
+">\231\363\275\364\77\363\375\367\2673\263s\331\263\5r\312)\247\234\200"
+"QQ\222\3474\325\361W\306\274SIe\315\324\342L\334p\3624\177\\\34\2173vE"
+"{\212\247\366,\37\3\0\227~F\222\274#\26\351\315A\222\344\320\353\245\0"
+"f\237#\311\341\27\343\200\356\32\242\243\344j\0uGI\222;\257\216AjeV\375"
+"7\1Wu\220$\373\32\364\311\371&\322\4\21M\234\1\34\350N\3@\321\244\30\244"
+"\3432L\0x\246\13\0xm\f\3226\31\226\1\370~/\0\234_~\245\351\232\0\275\77"
+"\230\35\250\36\0\250\351#\311#\327is\315s\374\223\2744\207\7P\220\207_"
+"6\2\350\275\242\n\0\366\354\213\321(\224\316\234\337\360R\222l\5\0\314"
+"\36 9\370J\34\20\0`\361\0\271\336\t7\244H\266\216\327e\31G<\243I\243q\246"
+"\315\tw&\1\224^\34\227TU\200\316\203N\270eS\n(\322>\274\20\244\271\25y"
+"\347\276\376!S\370\346o\240\2606\304\355ujN\261g\216(\275J\362\335x\240"
+"\307\206x\346yY\234q\204\334\25\13\264\240\237\334\255<\254\363>%\17\317"
+"\212\1j\350\42\217\326\2535\211.\376\371Dt\320\335\335i\3666\272\353>O"
+"sCTN\311\272$Sm7zj\353;\271=*i[\232\247[\374\233\310&v\\\37\221\264\225"
+"\'V\217\361W\347\77\330\266$\42ir\313\355z\343\232\251\21I9\345\364\77"
+"P\236\247<\357\206\212\322\211E\5\377\354}\347\r\217SR\77\255l\334\331"
+"\23\373\277h\17\303\335BEk\25c\324\32\305h\267\236\b\263\350\3261\341\274"
+"\355q8\323\b\272\327\233\316n\307x\334g\220\235\6\320\3\232\374\265\0\n"
+";4\6\311\212 \320\42m\372\212\362G\365\34\222\1{\224w\214\302H\13\32\'"
+"\354]\313^\b\270pMmq\305\263j\205v:tg\335\32\0%:\316\202Lf\277R7\301\17"
+"Z\222\365\n\0\0o\3718\353e\356_\262v\235\237\224\265.p\212\215^\320-\272"
+"d\362\17\37hi\306\251\316\224\347{@\tW\366s\322\360\221\16:\365\253\262"
+"\345G\334\240Jw\366X\3\311\251\36\26\345\26\27\350\346\240\261\b$\311u"
+"yV\5\371\337&\f\244\357Hr\245.U\227m\42\325\375L.\227\305r\25\2449\317"
+"Mw\301eja\245\271If\222K\3524n\324\370\341I\226&\215\27\346I\265Z\363>"
+"~\271\22\337\243!U\213h\267\205\264P\2117kHr\347\335\241qU\375n|p\300~"
+"aW\251\325\336S\n\0\215\256\352\273l\177\357\224\345z\233\16\24^\315\226"
+"\207\234\20\366\1W\275\277M\367\211\350i-I.\350\217,m\262\315\273}\302"
+"\267\34\305\362\264\32\210w\'\241\237D\342\223#$\311\304B\255_+\374\16"
+"\267\341\35q\345C\316)-\351V\21}hn\322Fq\313\17\364\t\275\372\31\356\227"
+"\354\\\300\317\245\30\303\244\367\313\2\23<\343\264HD}z\222L\370\330\334"
+"$9\355\226\351\23\216\213\4\357\341\345Y\355\262\311\205I-)`#\200\267w"
+"\312\34\320\203\246kk5\244\207D\24\60\7\356\27\321k\301L \322\34\360\315"
+"&wo\203G\301\236\340\352\3354\21\365\350Aw\212\350\230>!\253&\321\366&"
+"}\302\16\333F\221\325B\333J\220\303t\221\23149\233\367\262\336/\16\275"
+"\350p\330I\13\330-\361\224\0}i#]x\210$\277\r\262\345\253\207\346H\365>"
+"\314)\325C\333\177\13\42Y\'IXM7\16S\230\257\220Y\311\245\322<\262&\231"
+"\226\n\242u\330<L\21z\27z\251X\25z\251X\25z\251\330d[*\341\307I~\344\373"
+"jdM2/\25D\231\5\266\245\22\272w\t[Bh\322R\21YN\25\253\344\223\253\324\'"
+"\204\36\'\353\216\22\266w2/\326\277m\24\311\217\34\363\2\62\242\367.\350"
+"\212\320\317nk\346\357\334\260\27\4j\264\363\346\364\360\210A@\376\252"
+"C\375\357M\371\17@\0\212/1\271\377\2\363-\23B\357\326_\234\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200"
+"\b\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1"
+"\177d_\221\0\0\0\7tIME\7\323\3\6\r5,\242\204\334+\0\0\4\311IDATx\234\355"
+"\230[l\24U\30\307\277\245a\253\326^\204\264\5m\343\215\242U\220@/4E\22"
+"\244A\42Xo\240\215\17\266\5!j\274\23\215\261\361\305>H\b\32\64\306H\220"
+"h\344\242\304\13>\200\361\222z!V\304H*\305\256Mm\225\222^\226\213[\244"
+"\320R\332\335\376}\330\2353gf\2769gf\327\'\263\377\227\236\363}\377\371"
+"\365\2343\347\2333;Di\245\225VZD\31\236\\Ek\372\317\21\321\35\365\325\350"
+"G\n\377-s\351\376\13\273\213\211j#c8\262&\5P\260\241=\212\301:\272f\37"
+"\0\340\376\344I\317\234\4F\236\235N\267\307\0`\374\265d9\331/\217\42\332"
+"\265\234\210\252\373\0\0\255s\222\3\3456E0\321\272$\203\210n\n\1\0\302"
+"\265I\201\202k\7\20;xk\374\16\357\215\1\300\305\247\222\42\315\353\6\372"
+"\26%:e!\0\30{7\31P\346\227\223\30\271Wt\337\7\0\374pc\22\244\7\307\20{"
+"\3732\321]\30\6\200\336E\212+\\t\305\27\223\350],\5\266\1\300\231\6\326"
+"<EE\252(\r\320\241\36)\360\311y\42\232Z\341\237TUH\370-,\5\276\336\21%"
+"\312\232\225\353\227\224s\375%4\201\202\253\3623E\250u\224\210\212fpn\325"
+"\263\240`\365l\n\344\226\325\3366\'\330\37\213\207:f\224eP\354\347.\305"
+"U\234f\177\203\270&\272\233\214\330\252\323\300\331\215>AT\322\2CC\253"
+"\214\3406\0\37pn\325:\235\37\26\315\274G\202\211\326\256\343D\327\372%"
+"\r\r\304\214f\240\260(\321:x\224\250\240\306\'\351\342\257g\234\301hs\27"
+"M+\363I\242\257\272\215\26\302}F\363\3601\344]\255\272\212U\315@b\305#"
+"\322CiY\'Z|\223\250\361\3108\200\311\343Mr\360=\204\26;\255\232S*\324\326"
+";\24\351\374|\353\316\250\24\334w\352\206\2766\2075\240\31T\316x\336\245"
+"\321\263\303\266\350-\201v\315ui\245\365\377\223\275ZV.)-*\234\26\34>\274"
+"\333~\374\317\\6\2778;z\272\343[g\3111\372\20\222\266H\211\214\315R\242"
+"\255J\307\251\201U\203\42\263\323\226\301R%h\255\335\216\304\261\366\234"
+"#\1t*@\2171\376-D\224\25b\22\0J\335@\215\254\275\251\344i\236\3`\236\267"
+"5\362\42\26\224-\322\77mx\325\345\302\315U\371\245\257\310\1v;t\31\331"
+"\205D4\223\343\334\235p\236\220b\5N\320:#\27\77\263w88o\230\336\177\314"
+"\350\353N\222\221J\274R\326\331A\367pf`\310\1Z\237\310T&\372w\331@\345"
+"\26\367F3\341 \375\21\217o2\372OZA\13\254\356\313\25\244xx\\\364\77\262"
+"\200\356t[\13W\222Y\227Q\31\364\226\213\235%\375\2\0\315\234\225s\253H"
+"\325\307\200\347\315n\211\fZ\355\213Dt\235\334iV\17IM\262H\336\306u)\221"
+"4C\312\25\311\210\34f\336\16gI\355\207\30R\245h\35\322\220\344\237J\273"
+"\30\222\371\344=\300de\375\255\274qD\35\42my\5f\336\351\240\314\312yK\332"
+"9;\251\\\357\343@\336\265]s\223\313E\372wK\3349\246\207E\353%\226d\26\364"
+"^\315\230t\373\256]\3445G\261yZ\235K\356\77\t\35\25\306\27R$\231\306,6"
+"_%\362!k\302\276\342\322\207\234\21\226d~\321\370T=\244\255\342_~\314\33"
+"\6\204\201\373\221\'\311\234\34\363s\311jP\203\264\306bW\203m\235\32E+"
+"L\254L\303g\352!\231\333n\3o8)\f\366\303\313V\355\346\220\263FY\222\313"
+"\203\200\354\263\223\366\0\17\342\77\3630\244\307E\313e\17<*Z\357\2703"
+"\211|\355\1\307n\262\316\326}\25\364\6\313\354\346\213\326_<\350\1\321"
+"\32\344\r\206\352\305\330\353y\303\1\335\203\302P\203\256\22\314e\232\256"
+"&\335l\370\336\344\363\371\236\213\216\376\214\333\\\236\226\364\242\0"
+"}\247#\345\364\0\300\217ni\363\325\2039R\3557sn\345\205\226Sn$\355&\361"
+"\252\n\3452)\277d\331d\226\312\366\324\206\244*\25\3627a\3652\371\230\235"
+"\347R\321\312s\251h\345\271Tt\322\225\212\367uZ\'Z\337\2476$u\251\220\237"
+"]\240+\25\317\263+\327\31<\223\326\213\226\346T\321\312\274s\13x\203\347"
+"u\322>Q\274\316\316\364\245\372\235\326\374\310\261\322\305\341\177vnW"
+"x\276w\373\23\177Wx\275\300US\343oNO\244\f\42\232\262\251\347\304\236\271"
+"\377\1\210\210\362\257Te\377\5\243\256+\24\26\274\272\220\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0"
+"\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177"
+"d_\221\0\0\0\7tIME\7\323\3\6\r5\'5V\5\243\0\0\4\251IDATx\234\355\230il"
+"UE\24\307\377\255\266\4\337\303&\325\2025m\2\2465T\300B\351\226\32@$\325"
+"\bV\324\240M\\\0\265$\270\305HD\3\361\23\306\5\320\2001$F\2535\270\240"
+"uK\204\2401DE\261E\305*\206\332\226@%a\351C\304\5K\13t9~x\357\316\334\345"
+"\314r\357\363\223y\377/=3\347\177\177wf\356\234;\267\17\310(\243\2142\2"
+"\262B\372\263\353\346\214i\377$\312\235\n+j\312\13\\\355\273\177\2423\'"
+"\33\302s\342\253;\206\350\364w+\307:\35\267\22\21\321\326\211\241I\257"
+"\367\23\21\321\340\253E\251\216\347\317\21\21\215\\\33\26t\373 %5\260."
+"\3311u\27\21\21\35\256\13K\372\224\34%\256\3\0\64\364\21\21Q\347\25\214"
+"9[G\32/\242\t\263\1\0\223\362\1`\264\347\227\260\244\3432\254\4\0L\'\0"
+"\350~\2123kI\333eX\f\0\223K\307\0\300\236\37t\27\361z\267\337Y\250^\0\270"
+"\352\20\21Q_\r\353=_K\272c\325\234\2111\212\307\263p\n\0J\362\0`\353\267"
+"\21H\303O\266\\\36\247\271\313\307\42\1\0U9\0\372\337\347\275z\22p\344"
+"\bp\361\b\320\3 \257$\6\fo\376\214wjW<\245I98\333\6\340\222\42\0\3\273"
+"\24.\33\322\314\\t\355\7\609\37\30j\331\22\2354\277,k\344\253\37\1\324"
+"\306\200\277\277\266\270\265J\315C\324{=\0\274MD/\247\1zd\220\316>\13\0"
+"h\':4;:ha\202hw\36\0\314;H\364\261\351Y\253\325\320Mt\270\36\0\360\330"
+"\237\324]\31\31tg\317(\35mL\306\233h4\322\13\34\0\n7\16\320P\333\334Tk"
+"\7u\325G%m\37\2453\255\323S\215Y\235\324\22\25\204mtb\2358\f\232\332\356"
+"\267\331\306\274\246\264.\222\215\362+#s2\312\350\177!\377\327\341\202"
+"\253\313\212&\344\347\236\332\363\326k\276La\375\214\342q\303\'\366}\336"
+"a\303\335B.mp%\316[\357Jt\324\2328\363\310\253c\42\363\206/C\327hA\367"
+"\370\355\324\223L<\32H\20ui@\3671\376\r\0b\235L\202\210\312T\240\245\254"
+"}u\351\303<\207\210\312\355\326\310F,h\234H\267\257xNq\341\372\332\202"
+"\262\247\335\35\354v\350q\2625\0\n9\316\302\2243\341\352\33\37\4\659\271"
+"\\\0\300\346\0\347\5\351\375K\366n\f\222\234\324\5\311f\243\37t\23g&\372"
+"#\0Z\226\312T\247\3327\372@\3363\374\31\231\b\220\366\'\373\327:\355\207"
+"\274\240\n\257;\256!%\273\317\211v\253\7t\203j-\224$Y\227\303n\320&\205"
+"\235%}OD\264\206\263rn\35\251\356W\242\225\262Y\352\6-\n\270u$\3402wc\215"
+"~Hz\222G\356m\334\230\26\3110\244<\221<\351\356f>\211J\\\361]\f\251ZD\273"
+"\r\244%\256\370M\206$\337\274;\231\254[\277k\37\34\260O\244g\272\273\231"
+"\3370H\233u\347=\351\340\354\\\345z\13\7\262W\263\341!W\212\264\367\77"
+"\364\340\230\356\25\321\23,I\26\364\207\2061\231\366\335^\2217\34\305\362"
+"\264\372\'\332\235\204~\26\306\307\323$Ic\214\315\327\212|\2477\341_\361"
+"\2512<\315\222n\26\321\7\372!\275$n\371\36o8\312\357\360\240\344\344f\231"
+"\fz\220\321X\2544\370\326i\251\210\372x\2224|\244\37\222\334v+x\303qa\360"
+"\37^\276j\227C\216\r\260$\305\213\0\376\331\271\366\0\17\252b{\31\322\3"
+"\42R\354\201\345\42zE\315\4B\355\201\300n\362\316V\275\nf\203gv3D\324\313"
+"\203n\23\3211\336\340h\261\30\373b\336\260\323\364\242p\264\304T\tr\231"
+".\322\223\2468\276\27\371|\201u\321\341`\322\246x[b\225\0}a\42]x\200\210"
+"\350\33UZ~z0G\252\377aN\253\36\334\361\233\212d\334$\266\252\322.S\230"
+"\237od\2514\2477$]\251 \334\204\365\313\24bv\326\245b\224u\251\30e]*&\231"
+"J\305~\235\232D\364ezC\322\227\n\302\354\2S\251X\317\316\370\213\2575i"
+"\231\210\f\247\212Q\362\311U\360\6\353u2\276Qlg\'}{m\357\255\220\374\221"
+"c\201\302\21~v\252+\254\237\335\266\324\337\371\266\27(\225\223\374rz0"
+"m\20\220\275\366@\342\235i\377\1\b@\301\245\272\354\277\277\237\6j\235"
+",\253+\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0x"
+"\b\0\0\0\0\233>\200\b\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0"
+"\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\r6\24\241\2537v\0\0"
+"\4\316IDATx\234\355\230[l\24U\34\306\277B\273\24k/\226\264\33H\233F-\312"
+"*\244)\264\245\202M\20RM\304\42\212\332\370\0-\bQ\203W\20216\276\330\7"
+"\tA\203\306\30\215\22\210H\203\361\2$\222\210\6/\215\265\222h\220\42+\324"
+"\26\13\251\355\202\265`\13-\275l\373\371\260\273\347\314\314\236\2313\263"
+"\365\311\354\377e\377\347|\337\374\346\2343\347\77\63;@2\222\221\214d\0"
+"\323\335\32\13\326\377y%\222\315)Y[\235\336\231\350\tg,\77|\255\2510\222"
+"\257\77\301\221\376\232\4A\276\272\2660{k\1\0\17\223$\77/N\214\364\334"
+"Er\350\371Y\0\200\327\307Hr\342\356D8\231\257\f3\334~O\2441\277\205$\331"
+"\275$\1PvC\77\307[\226E\257MM\210$\31\274\315;\310\267\241\207\23\255w"
+"\306.\3623\243$9q\340:\357\244\222\16\262{\251h\356\36!\311\340\42\357"
+"\240\31G&9\364\200h\316\373\236$\371\201\337;\351\321\21N\274#\247\262"
+"\364\34I\206\26{\7\335\360\305$\317U\311v\335e\222|O\341\234\246!\225\7"
+"Rp\314P\32\345i\0\256~\232\0\251\322\17\376\32\22\315\242\342\f \274\367"
+"+\2053\325\31\224us:\306\231\237668\n\0H/\0\60\334\242\262jH\331\271@\352"
+"\352\300\314\241\256\326\346Q\0\363r\201\361=\373\235\17R\306-_3\22\343"
+"\35\r\0\260m\200\354[\243\264j\326\211\214&\251\305[\327\0yEY\300\301\326"
+"DHW\7E\232\363\270\17C7\2\347\367\205\224V\r\351R\317D,M\361\27\340\216"
+"|\340\344Y\265UC\32\375\345\262\261\271(\27\355\215=\t\221\360eG,c\250"
+"\33E9\354\352\326\34a\33+z\242W\257\277\68\312\323\325\211\202\200\372"
+"\23c$\'\3177\0UA\356\261\365iv&\200\2463w\225\372\207\3174\37\1n\35\330"
+"|\310\326\227\242\37T\326X\316\314\360\300 \200\22\206\372\364\376d$\343"
+"\177\32\326jY\271,P\340\317\365\r\376\334\264\333\242\314\256.-\314\f\367"
+"\235\372\346\270\33\356~\32b\247A\230\276\303 \34\257\324qV\320\34\275"
+"B\371\320\242p\271#h\203\325\316\366\210\2605N O;\200\236T\370w\2\310\b"
+"*\4\222\1;P\275\322\3360\367Y5\207d\211\2735r\23JP\246\220\177\334\362"
+"\232\315\201;*\363\2\257\32;\224\333\241=\246.\6\60[\305\271\77\352\274"
+"`\350\313\217\7m\214i>\0\300\3368\316\233\322\373\217\354}#\236\24\223"
+"\242\357\223\265V\320j\225\231\274\24\7\332\24U*\242\355U\26P\231\311\275"
+"M\nq\244\337#\375\333c\355\247\315\240\205f\367\365\16\244H\367\230h\177"
+"l\2\335g\267\26\266$Y\227a#\350m\33\273\222\364\23I6\252\254*\267\23iI"
+"\27\371\202l\3165\202\36\362D\2n26\32\235\207\344L2\205q\33\327N\211\244"
+"\31R\266\20\373\215\335\212\267C\343\177\345\265\nR\205\310\216iHu\206"
+"|\237\202$\357\274\315\n\325\30\177;^8\340\224\220M\177<\25\357ttT\215"
+"\272I\216\237\235\241\\\37T\201\334\307.\315E.\23\362o\246\376\3701=&\262"
+"\227\225$Y\320\7\64c\322\355\2736\241k\36\305\362iu%\2613\2118)\214/N\221"
+"$\215\31J\275R\350A\263`]\361\3712\35R\222\344\347\214\317\234\207\364"
+"\2568\345\'jC\2170h>\255\310\311U\351\f\316 \255\261\320\326`Y\247z\221"
+"\251\3776\33\f\7\235\207$\267\335\26\265\341\2420X\37^\226j\227C\316\30"
+"V\222ln\4\260\316\316\260\7\324\240re\257\202\264Yd6{\340\t\221\275o\317"
+"\4<\355\201\270\335d\236\255\375*\350\r\246\331\225\212\354\17\65\350\21"
+"\221\365\252\r\261X\'\306\276Nmh\326\335(bQ\247\253\4\271L\263\234I\267"
+"\307|o\251\365<\327E\207\263\21\233\315\335\22/\t\320\267:RV\'I\376`\'"
+"\313W\17\305#\325z1\27T\\;\372\227\35I\273I\334F\271\3432\351\276d\31C"
+"\226\312\256\251\r\311\251T\340m\302\316\313\344av\256KE\33\256KE\33\256"
+"KE\27\272Rq\277N\33E\366\335\324\206\344\\*\360\262\13t\245\342zve:\203"
+"k\322&\221i\236*\332\220Wn\241\332\340z\235\264w\24\267\263\223\2766\267"
+"\347\266\t\371\221c\245\215\303\373\354\354\216p}\355\16G\177\357u{\200"
+"m\244E\336\234\236\2322\b\230\266\275\363\302G\13\376\3\20\200\2749N\352"
+"\277\42N!`K\343\224\275\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0+\0\0\0x\b\4\0\0\0\301N\303\22\0\0\0\2bKGD\0\377\207\217\314\277"
+"\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\22\7"
+"\30y:\230\242\0\0\3OIDATx\234\355\230\317K\24a\30\307\277\23n$.\326A\322"
+"J!/Rt1\353`\227\302\42\212B\214\n\204\222J\204\220=\bB\5u\351\32\321!\24"
+"\242K\77\256\355\37 \6\35\252\203D\364\373\222V\204\246\205e\322\17twE"
+"v\277\35\322rg\236w\336\367\235\231-\212y\366\242\317\363\235\17\343\327"
+"\357\276\373\3548 JP\313J\1\215\26116\306\306\330\77\202-\263\275\240\6"
+"k\221@\16\37\60\345\253\243\371+\311s|\302y\222\263|\310\323,Wkm\26079"
+"\303\337\225\3455\326\206\307\36a\226\305\225\341\305\360\330Azk\222{D"
+"\255E\22V\13\275jl\27\265\26\330\217bwkX\354\200\330\255S\250-\222p\253"
+"(\t\77\353\255\250t`\261\'\224\341,v`=*@$\221\204\3\3409\32\5\245\25\26"
+"\0j\321\200$\210\26t\243\34\300m\354\25o\300\262&0\1\0\250B\36\0\60\42"
+"\252\2\37\65\365H\0\230\303P\264\330-X\16\340%^E\211\335\207\215p\220\307"
+"}<\215\22{\20u\0\336aP\251\260\310\355\342\253\227Y\222s\274\240\326\330"
+"C\3338I\222|\300\312\350\260\255\34&I\216s\267\237\316\16\332\301\21\26"
+"H\276g\273\277\322\34Y\303\313\314\220\234\347\20[tjs\354\0\13$sL\263Q"
+"\253\265x\363\26\340\3403n\340<\262\6j\343\273\335\3044\17\33j\255O0\263"
+"\372\267\226\245\30\33c\377kl/\336\200\30F\312Pott,\335\275\356\231\\a"
+"\2\235p\255s]Q`\333=[\342\243(\16\306,V\270:s\236\216\273\264\377\262\204"
+"\200\370\242\273H\217\355\21zw\265X\255\267\237\204\3577\7\302{+\215\35"
+"\355\275jL\330\251\5\4\302J\316\366\33`5&H\303\r\212\305\336\30\273\22"
+"_\305K\364\345kB\267\320{l\0\5|\3\66%\204\353\250\311A\343\37\260`\341"
+"\2|M\b\32.\r6h\270\0\337$\4\r\227/\266\22\337D\271Y)M8)\364L\303\5(\3\346"
+"\376\240!\311\16\243p\371\6,x\270\0\245\t\322\243\7\233R`\273\204\336u"
+"+\260\350M^p\266\331\330Y\245\267\341\234U\230\320,\364r\26P\5\366\270"
+"\320\273j\205\25M\220,\330\214g\245\300\3328+>\260\222\236\32\252\234m"
+"A+\246qE\330s<\341\270$\204\253O\214Q\377\302\364\205w\346\25\217\13\330"
+"m\2\364\314\222y\233\36+\225WU]4O\271\246\201\277;\334)\372\355\265\316"
+"\3332\341^3\236{M\351\376\32wc\215\200\35ui\32\\\363\264\36[/`\13E\212"
+"r\317|\225\7\353\361Vz\16\343 \361\353\347*d\\\323>q\2452J\302\360\302"
+"\254\3233\311\t)\21\17F\325\'\374,*\204n=F\205\256\20\60\325& A\367\213"
+"P@0a\227h\203T\307D\3\24\3572p\314\b\332\251\206\252\276E\352\353\220\37"
+"\324nOX\254\f\2324\273\230\362LppJ\354\217\341\4*\264\13\236\366{Y\23\326"
+"!\201\34\276c\32\343\230\321\340\214\261\301\352o\77T\211\26116\306\306"
+"\330\30\33c\303\326\17\263\\y\265l\354p\364\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\4\0\0\0\301N\303\22\0\0\0\2bKG"
+"D\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0"
+"\0\7tIME\7\323\3\6\22\7\30y:\230\242\0\0\3oIDATx\234\355\230OH\24a\30\306"
+"\237-\327\77Ij\177HB;H!y*\255\300\250 \365\320!$\303\203D\221\232P\341"
+"\241\22\244\203\267\356\235\22\252S\267.\235\203\f\n\22B:\24Y]\24\205\24"
+"\63\251\330Jq\327\365\317\372t\261pg\336o\276wfV\n\232w.\273\357\373~\77"
+"f\237y\366\235o&\6b\3b\323F@#l\204\215\260\21\66G\330J\\G\205G\235\376"
+"\217\2\66\3621\27\370\220{L=\376\241\371l\347;\256\220\374\314\266\334"
+"ao\360\13I2\311\36\356\310\rv+o1Er\205\243<\345\325\351\7Z\312>&H.\363"
+"%Orsn\260\371\274\304i\222\31\16\361\2707\324\17\366\0\307H\222S<f\357"
+"\326B\138\300U\222I\236\325\364k\261\347\230&\231\341=n\311\35v\33\237"
+"p\225\344\4O\250\372\225\177\336#\250A\f\300+\214\253\372\225\330z\224"
+"\3 >`F\325\237\247i*\301^\24\2X\6\261\13q,a\16\213\341\261\245\330\276"
+"\326\334\202\32\24!\211\217\30\302\240\'Zq\1\252\371\234\331\261\3141\366"
+"\205\275d\204s[\231\207}\350E\253q\205\n;\2179![\206+\310\17\203\375\216"
+"id\\\331\30\312Q\31\6\273\210\267\370\241i\364\207\5\236b\314\225#f0e\\"
+"\241\234\tM\234v\270!\301\346\2603\1\4;8\314\2455\344*\'=\r\26sy\307\30"
+"q\34B\3jQ\216\24F0\210\1\244\215\275>\260@\t\226P\206\42\254`V\264\\@\254"
+">\376\265\315R\204\215\260\3771\266\7\343 F\320\255\354W\r\305\371usvP"
+"\263B\3\375\344\30\340]\271\300\266\321\31\257\255k\24\203q\1\205\216\314"
+"\242+\343\f\353%\213\13\b\373]\330\212\275&\344^X\261Vm\277\272\224%[\302"
+"k+\225c\326s\265\210\320h\5\4\302J\312\366+\260\26\21\244\342~\214\206"
+"\303\226\342\247\270\304\36\236\42\\\25ro\24P\300\323`\337\4s\235\327\f"
+"\32o\203\5\63\27\340)BPsY\260A\315\5x:!\250\271<\261%\230\25\333ua\24\341"
+"\262\220\323\232\13\60\32\314y\243!\311\13*sy\32,\270\271\0\243\b\7\325"
+"\0_\330.!\367\300\27X\324&#([\257V\326\250m8e\r\42\324\139\3633\230\32"
+"\333.\344\356\373\302\212\42H\22\324bx#\260~\224\25_\1\35\26\332L\3126"
+"\240\31\t\334\25\3669.s\334\26\314uG\264Q\377Z\365\275\273\346n\236\22"
+"\260G\5\350\315u\3653v\254\24\356\256\362\254z\267\243\32\370\331\341Y"
+"\3267\351\225K\326\221\'\234k\312u\256\335\266_\343L\354\26\260\23\216"
+"\236jG\375\221\35[%`W\263:\212\\\3652\27\326\245\355\202\240c\f\361\77"
+"\237w\42\345\250\336\21\267T*\'\214\254\325:]\225\264\340\22q0\232\356"
+"\360I\24\13\331*L\bY\301`\246\235\200\4=-B\1A\204&Q\6).\212\2\30\376e\340"
+"\244\n\332i\206\232\236\42\355\321\352\5\365\267O\370\35)\324Y\366b\306"
+"\231\20C\257\230\237D\7\212\255\33<\353sY\35*\20G\32sH`\n\363\26\234\32"
+"\33,\376\366K\225\b\33a#l\204\215\260\21\66l\374\2&b\255_{\263\t\201\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\4\0\0"
+"\0\301N\303\22\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21"
+"\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\22\7\23\356\350A*\0\0\4)I"
+"DATx\234\355\231ohUe\34\307\77W\266j,f\210\245\322DF\26J\221\266\6j\221"
+"\240\242Q\261\214R\204\224\225(\22{\21\b\345\213\336\7%\25\241\25\275)"
+"\2437\321 \202\f\2230\310\222\365\7-\t\312\273\312\230m\242%C\323y\357"
+"]c\367\333\13\317\256\367\234\363;\347y\356Y#\210\363;/\356\271\277\337"
+"\363|8\373\236\357}\316\3579+ \246!fL\7\64\307\346\330\34\233c\303\321"
+"\224e\322\3\254`\214\303\364SM\34\243\244c\256:\265LKtc$\337\255\21U$\35"
+"\327\326\304\271\t\330\353\365\234\276\323\270\244\313\372V\317\252\245"
+"VY\240\375\272\32\33\33\303\276\243\321\272\311e\275\245\366\240\262N\23"
+"\265\374\337z\271\21\354\343*+\34%\355\16j\367h\250.\177Dw\230X\323\t="
+"\\\27\311\264\320\303\375\0\\\340b]\376\26:\314\33fbo2rsX\t\300O\f\324"
+"\335\377Y\215`\3770\207v\5\237\317S\254\345\304R\177\354\1s\350\374\340"
+"\363\30Gk\271k\271\225E\346hS\362\367CN\270\22\277\325\252\313t\246\226"
+"\35\324\275\276\267\f6\363\42\237q\222\263\234\341R\320J\\\275U\337\260"
+"\277v>\223\205\376W\213P\273V\353au\353\25\225$I\7\353j\353t)\270\332Q"
+"\275f\314MY\23\206\31\6`6\23\0\f\324\325>\345]v\320\4\264\262\220\266\220"
+"\351\300k\5\353\240\31\30\243\77\224=B)8kg^l\216\7\366n\256\1N\360s(\373"
+"\36\373\30\7`\226\341\5\'\366A\26S`\202/\370>R\371\222\277\0hey\343\330"
+"G\231\17\374\316\301X\345\3>\4\240\215\5\306\274D\' \264SeIcz\301\254\256"
+"\324\240$\351+\337\205\361\312\261^g%I_\253\315\2547\351#I\322I\255\361"
+"\307v\253(I\32\322\332\3041]*J:\257]\276\330-\32PU\322imJ\225\351\23U%"
+"\275\356\203\235\253WU\2224\256~\255J\205\242\265:!\351\220\17\366\200"
+"\252\222*\352\323R\7\24\241}\222~\324}n\354\307\222\316iw\335\2031\355"
+"\230\241^\365k\273\33{\273\372\264\301\139y\334\251%\241\357\5\362\rT\216"
+"\315\261\377o\354N~E\24\351\365\34\357\265\224\324wd\207}f\370@\207#M\336"
+"\266\177\3\273)\326;\36u\316\361X\30\313\261\226\177,\226\211\206\363\226"
+"5\33\210\363\256In\354\323F\356s\'\326\251\355\2371e\245G\246\256\255U"
+".8\257\325!\302j\' \23\326Rv\257\7\326!\202U\\\24j\3673`gr\301\234\342"
+"\216T\21\2362r\307<\240\220j\260s\206\2716\373,4\351\6\313f.H\25!\253\271"
+"\34\330\254\346\202T\'d5W*\266-\330uE\207\373E\242\b;\214\234\257\271 "
+"\321`\321\7\215$m\3612W\252\301\262\233\13\22E\260\337\300\370G\2v\233"
+"\221{\273!\260\251\315\204\241\354roe\23\265\235\232\262\t\42\304\337\17"
+"@\245\1h\2\366\t#\367fCXS\4K\202\2738>\35\330F\2245_bw\305S\211\312\256"
+"\242\233\21\3360\372\234\2309^2\314\265\307\264\321\336\240\372C\274\26"
+"\37<d`W\30\320]u\365\365n\254\25\361QsB\365\336H5\363\336\341P\350\333"
+"/.m\233\214k-\305\256\265\327\365\327D\23\363\f\354`d\314m\221z\237\33"
+"\333a`\253\241\21-\261\372\r1lL\333\262\241c\201\346\332\371\354\332\233"
+"\320\311\330c\266T^N(\6\265\255\261J\305p\211\2710&=\341/\323jd;\30\64"
+"\262\206\301\222:\1\13\372\220\t\5C\2045\246\fV\364\230\2$\374\312\320"
+")/h\312\277\265\222v\221\356x,\r\332X\2370\31%:\35\275X\342\232P\340\31"
+"\63\177\212\'iu6x\316}Y\'7\323L\205\213\2140\304\250\3\347\215\315\26\377"
+"\365K\225\34\233csl\216\315\2619v\252\361\17\211\204\338\311\313\315\243"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\4\0"
+"\0\0\301N\303\22\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21"
+"\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\22\7\24p\214\324\211\0\0\4"
+"HIDATx\234\355\231Mh\34e\30\307\177[\263Ic0\211Q\33J#%XJ+\242\266\2614"
+"\365\3l\203\212H\260\22\244\210\245\37\26\264\344P,\24\17\275\351\305\213"
+"^ZP\17\22Q\374\0\251z\250\207*\25\f\206\240P1\255\24\23Rh\302\32\203\226"
+"\250)\371\330|\376\275l\267;3\317\354\373\316\326\34\224y\3462\363<\317"
+"\374\230\375\357\177\237yg6\203X\201X\265\22\320\24\233bSl\212\rF\225\177"
+"k\13]\234b\254p\364$;\230\243\227~\226\315n\371l5\332\245/5\253\217t\247"
+"\20\352\324\204\362\222\6t\320>\303\7Z\255\375:\257EI\277i\217\320z\235"
+"\326\365x\266R\354\313\372]\2224\255\243\272M\350q-\25\241\363z\263\22"
+"\354-zU3\222\26\65\244\'\n\271\7\225+\271\332>\335\223\24\333\240\343\232"
+"\220\264\240>=\252\233\n\331\273u\261\4;\256\316d\330j\275\2401IK\352\327"
+"\303E(B\237\227\3100\247#\311\260\367iX\222\224\323C\241J[\311\365\346"
+"\325\223\4[\2433Z\2264\255g\214\352\373%2|\247M\376\330\347\224\227\264"
+"\244\267u\263Q\335\256\361\42v$\362ib\177\274\267\262\217j \307\307\314"
+"\30\365\378]\334o`C\250\32\213\335\306f2\300\367\\\212\3518\305Ta/\313"
+"6_l;\315\200\370\231\361\230\216\257\371\200E\0\352\330@\275\17\266\236"
+"\273X\r, \326\260\216;\2501\272\372\212\362\264\2606P\211\231`\r4\25\312"
+"\273\331L-\323\\\246\237^\346\2]\237\260\235n\262@\23\233\30\n\324L\27"
+"l\3247\n\306\202\206u<\322\327\245+\222\244I\275\356\343\4\21^HV\261\201"
+"ct\205\262\237\361\5\0\365\254\17\344c\260S\\5\262\215\274Du(\367!\243"
+"\0\264\372`\377d\214\245H6C3-\241\\\77\27\0XC\207\33;\307O\374e\227B\261"
+"\310k\f\1M\264\271\261\360\25\303\221\234\30\'\27\311\236\3432\2421\244"
+"n\354L\350\320X\310\r\23\326d\25zL\277H:\3537j\320\1\rh\276\200\\\326\250"
+"a\260k\333{\222.\352\221\342q&\342\244\222\310\322\306N\266\320\314\f\203"
+"\364r\206|L\347*\16\263\227\36\336-\34\227\305B=\3634R\313\42\223\246\345"
+"J\343^2\234\367\303V\32\377\2555X\212M\261\377k\354Q.!\6\351\366\354/3"
+"\30\257oS%S\267\327\347\f\37\350\257\241q~\350\337\300\356Q8\3169\317\361"
+"\30\214\263\254\16e\346\42\231p8\277\262\254\201p\337\223\235\330#F\356"
+"[\'\326\251\355\37\21e\245\3357\256\255U\3168\257\325!\302.\'\240\42\254"
+"\245\354I\17\254C\4\253\30^ \'\3066\360\267y\212;\312\212p\330\310\375"
+"\350\1\205\262\6\273b\230\353y\237AS\336`\225\231\13\312\212P\251\271\34"
+"\330J\315\5e\235P\251\271\312b\353\2314\333\375\42V\204\27\215\234\257"
+"\271 \326`\341\33\215$\355\3652WY\203Un.\210\25\341~o@\42\354!#\327\223"
+"\blj\263d(\333\356\255l\254\2667\246l\214\b\355F.\356\211,\1v\277\221{"
+"\'\21\326\24\301\222`\13\3+\201M\242\254\371\n\350\1\243-N\331\235t2\301"
+"[\306:\'b\2167\fs\2350mt\262P\275\20\255E\233s\6v\207\1}\245\244\376\264"
+"\33kE\264\2539P\357\16U+~v8\338\262^\300\4\266*\343Zg\42\327\332\355\372"
+"4\341\304Z\3;\22\352\331\30\252\177\352\306\266\32\330\345@Gm\244\336\30"
+"\301F\264\2355t\314\220-\356\337\36yI|\302\\Ry9a\260P;\30\251\344\r\227"
+"\230\2031\356\16\77M\235\221me\304\310\32\6\213[\tX\320\247L(\30\42t\230"
+"2X\261\317\24 \346W\206F\275\2401\177i\305c\355\257-\30]\345\240\311\326"
+"\t\327b\206\255\216\265X\354L\310p\314\314\217r\200:\347\2\317\371\\\266"
+"\225ud\311s\225\tr\305\77\60\\\221\276cL\261)6\305\246\330\24\233b\315"
+"\370\7\252J\340f.k{2\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0+\0\0\0x\b\4\0\0\0\301N\303\22\0\0\0\2bKGD\0\377\207\217\314\277"
+"\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\22\7"
+"\24p\214\324\211\0\0\4\65IDATx\234\355\230[h\35U\24\206\277S\22kHHE\252"
+"m\261\245\6k\215(6\306Hc\305\226XTPB\305\13\5[\242\241 %\202P\320\202\276"
+"\370 \202\210\202\264(\276h\304\27\61(\202\205V\244\17^J\253\245\325\42"
+"h\23o\244&b\275\204\232\220\236sb\314\371}p:\235\313\232\331s&\6Af\235"
+"\227=\377\332\353\313\344\2375{\366L\t\261\0\261h!\240\5\266\300\26\330"
+"\2\33\216\206\371#\26\261\201M,\346\b\7\2\252\\\277\345\352\324z\255\323"
+"%\t\371~\235\220T\325\204z\317\253\351\310\26=\251\3175+\351\254\216\352"
+"q5\305f\334\257\363\261O\253\263a_\327t\240\254\242W\26522\343\5\375\351"
+"\347\347t{\26\354\3\252(\34e=\27\232q\255\16\5\262c\332\340\351\251\235"
+"\320\307\205\21\245\211>\356\b\34\267qE\340h\212\77\374\313\230\22\227"
+"\32\33226\206\260\27\373\343\32#|\235\5\373\213\251v\5\306\35\201\'\354"
+"0\317\370\343T\354~S]\345\217\332\271\222\305\376\3211\216\7f\245v\302"
+"[\241N\370\'~\360\2637k\324W\177\326\372@\235\343.\333\306\23l\342r\232"
+"\21-\264P\2\246\374\354\32\226\370\343}|\26\250s`\377\342i\6YK\13\242\207"
+"\2354\1\247\375\354\2154z\243i\336\16\325eX\23\306\31\7`)s\0\214xz+kh\366"
+"\376\370\33|\20\252\251c\5k\243\21\230\341\260w\274\202\225\336\250\314"
+"\241\310\334:\2607p\1p\222o\274\343v\257gg\31\344\315\274\330;\271\232"
+"\22s|\314\27\236\322\355Y0\311\'\261\331\231\261\367\260\n\370\221\367"
+"}e5\255\0\274\313;\306|\347z\213\320.U$\315\350\331\200vD\2224\252\215"
+"VE\26\350\26\235\226$}\252V_\333\254\357%I\357\251!\37\266W\303\336\262"
+"w[@\335\2553\222\206\325eW\271\240\3335\242\232\244\237\2645\244\277$\251"
+"\246\3Iui\310\345zQeI\263:\254\236H\356\240\244\223\241\363\317\214\335"
+"\257\232\244\252\206\324\21\311\334\242\257$\r&V\246\336\2745J\374\316"
+" OQ\211d\256b\222Gx%\2456\345l\257\321\220\35633\353t]\352\25)Q\274@\25"
+"\330\2\373\377\306\356\342;\3040\3\31\347\247.\31\347~\301\235\330GY*\262"
+"@\307#\233\273\35\377\6vkl\317x\314Y\223aa\254\304\266\37231%\32\316K\326"
+"h \316\270\212\334\330G\r\355C\'\326\351\355\2571g\245\273\347\357\255"
+"\225.9\317\325a\302\255N@.\254\345\354\336\fX\207\tV\262\335\337\346\347"
+"\304.\361_6\303%\356H5a\247\241\35\67\64+R\332\3447\243\271\266eYh\322"
+"\33,_sA\252\ty\233\313\201\315\333\\\220\332\ty\233+\25\333\312\2449=["
+"$\232\360\260\241em.Hl\260\350\203F\222\266gj\256\324\6\313\337\\\220h"
+"BGf@]\330\35\206\366Z]`\323\2339\303\331\356\314\316&z;\77g\23L\3506\264"
+"j\35\320\4\354\203\206\226\366j\27\17\323\4\313\202\3539\261\20\330z\234"
+"5\77Xu\305\245Dg{\350e\202\227\215}N\2549\2367\232k\217\331F{\275\354\227"
+"\361\\|\362\230\201\275\311\200\356\16\344\267\270\261V\304g-\13\345\7"
+"\42\331\334\357\16\7CG\337\272\274m0\316\265\34;\327\1\327\177\23\25V\30"
+"\330\321\310\234\265\221\374\220\33\333f`k\241\31M\261\374E1l\314\333\350"
+"W\31\200\222\377\235\26\226R\216d\367\230[\252L\2350\354\345\372c\231\252"
+"\321%\346\302\230\364\204\77\353}\1\rG\33\243\206j4X\322N\300\202\336e"
+"B\3010a\263i\203\25}\246\1\tw\31:\225\t\332\237\fMz\213t\307\275i\320\372"
+"\366\t\347\242L\247c/\226\270&\224x\314\324O\361\20\315\316\r\236\363\275"
+"\254\223\313h\244\312\24\23\2141\355\300e\306\346\213\377\372\243J\201"
+"-\260\5\266\300\26\330\2;\337\370\33u\377\274f\25\223;s\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\0\0\0\0N,TE\0\0\0\2"
+"bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221"
+"\0\0\0\7tIME\7\323\3\6\22\5!\24\tr(\0\0\3DIDATx\234\355\225Kh\23Q\24\206"
+"\377h\242\251b\32\353#\250\225*\226\372@\250O|\203UT\20\212\225\42\42>"
+"b\24T\24DQ\\t\247\33\67\272QPq\241(\26AD\5\5\37(X,\305\205\342\213b$\25"
+"S\322\30\264\304\332\230\264i\323\344w\221\231;\223\231;\31\67\202`\376"
+"M\316\271\347\233{\3779\271\367\16PRI\177_\303\345\303\225\201\256_\371"
+"hr\355\316u\356\16\353\tF\256y\320\337<5\37\7\3362\35\257\267DG\370\337"
+"\r\361\353V\0\300\26\222\344\375j+\366\31072ut\34\0\340\354 If\327\313"
+"\3111\'\3738\364iC>\231\333J\222\214,\227\242\345MqfZW+\357\\\37#I\266"
+"\317\221z\335\23e\266m\245\332\236\303\3$\231\2753J\306\326\206\310\310"
+"\n\221^I\223d\373B\31:\362Q\216\251\315\42\235\365\202$y\315\'c\267\245"
+"\231\275\250-\270\42L\222\261%2t\354\303\34\303\253\264\334\337C\222\227"
+"\225lX\1\273x\266\3/u\177\350b\27\200\344m)\273\324\7~\210\211\264\252"
+"z40t\375\211\222:\365\250g\206\33\31Nt\r&\6\0\0\356J\0}\255\220\261\345"
+"\25\200\263avY\352K[\313\0\200Y\25@\346\352M\331\233\241\346\31\363\312"
+"\204\232\0\340t/\331\335(\312\5~Iu\265\352\343\215\300\204*\17p\267M\316"
+"&\23\42\364\356\37\201\324t\240\363FL\316\376\210f\325\320\341\253\304"
+"\262\211\300\373\317\220\263\3oz\364\351\302\n|:\25\265`\3618$\254\307"
+"\42\250\362\362K\4\226Z\33U:\21\257\7\236\362\343:k\24\330\375v\220d\256"
+"\263\tX\325\316\253\5\65\247\201m\16\326\315\367\365\5[\36\1\63{\17\335"
+"+\2509\214\23{\6\275eC\275\t\0\265\214u\27\263P\322\377\242\243\35\f\36"
+"\37434I\222l\371\23\264K\331\356{\355\321\255\n\312W\366l\277\312\246\215"
+"\225a\306\1\227[\215z\214%\23{XD\317m-|W-\260\301X2\2357Z\227\214\36\326"
+"\330.\254\351\236\260p\316\226\25(g\332\241\345\32k.\32\374\36\20\321k"
+"[\13\335b\332\355\346\242\2411E:f\364\360\17t\314S\254c\6\277\373Dd\337"
+"\261.1\355\16Y\271\2405E;V\350a\236\315\262zV;\270Wl\236\2\262\302\356"
+"Ri]o\314\306\256\336\2036\231\351\264\233X\277\210.Y\373T-\bY4D\347\314"
+"\316\256\356{\274HDz\273u\365\361\13\246\13\bgd\373\361<\311\367\346\25"
+"\42\202]&\306N\220$7\231X\311~\364\345s\365\2127\335}z=\315\377\204\214"
+"\343N1m\237:t\320j\337O\22lX\31\251Q\362[&v\272`s\371\20125\367\252\210"
+"\360\333/\236r\270\0`\274j\345\334O\363\213h}\b\2\b\250\211t\37Q\247\244"
+"\26N\223\261A\312\264Q\206b\255\f\335%E\201N3\32\260@\13\35\223$\33-Q#"
+"\234*~\247\35\323\310\260\337T5\35\201\5S\\\351D<\222,:gI%\225\364/\351"
+"7H[\177\\\177\232\324<\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352\0\0\0\2bKGD\0\377\207\217\314\277"
+"\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\22\7"
+"\26\236\202\265\245\0\0\3\tIDATx\234\355\227]HTA\30\206\337]\177\322X)"
+"H\266L\205L\320\302\204\322\210\f\f,\242L*\250 \212.\242\253\242\213(\350"
+"\246\350\242@\b\313\320.\372\27\42$H,\22J\353\252\240\260(H\220\250\264"
+"21\13\305\262\320\325]\377\366\353\302\234\231\2633g\316\331\251\213.\316"
+"{5\373\275\3373\363\315\3549sf\0O\236<\375\277\3629\247dd$E\276\r\230u"
+"\378\376z\202F^\36K5\242o\204\210\210(\\\227e\0\357\t\323\264F\253\f\350"
+"\2074\243\276\215\262\353w\240\203\2545\177m\374t\77o\256\214\237n\346"
+"\315l\207T\225n\207f&\336%\233\tN\364=_\224\306\207\221\354C\317e\311t"
+"\361\254e\345\5\250\354@*\36m\222\254Dg\272\267\27H\237\2:d\313i\325\376"
+"(\'\tc\255\306tq2\336u\272K\225\265\271\213&kMa\\\237\240\256rS\370H\230"
+"\306\316\230\302\333\372\210^\3141\204\267\274\'\372\262\301\20\336\333"
+"\21\245\257\273\314\330\214\232Q\232h-3\34\2719J\221\206\345\2060\356\323"
+"@\225\331\206\b\0\5\r;\215YO\236\376\235\264\373yNiav\32\206>\277j\211"
+"\304\331m\340D\77q\r\37\216\207=I\222*\335\262\3252KD\264\317\25\34U\303"
+"Dm\261\231\212U#M\307\351\77,\77\345/\221\366d\366=M\347\2\65\226Z\353"
+"V\373\220\262\356\226\20\321\302KD\366\34\13\337e\261\307:Z\204\13\204"
+"x-\213\256\262\207/\n\360<\2133\350\\{\246\0\227X\255\245\314XcG\377\342"
+"\360y\3339u\333\300\25\272\265=\353T\272\0/\224\314\25\314\333\252\204"
+"\2138|E\327\367M%\375\\S7\34\'\316\341\243z[\345\356\326\333\16\364G\346"
+"\326\33\320\334U_A\264t\271C\341z\272\211\231W\rhn\26*a\37\363\'\343\355"
+"\32@\t\363\333Y\314\345\31\31\300v\326z&\233\13X\327o\324t\230%T\310c\317"
+"e!\305\355\5\0RX\353\201L\317b\241\237Jx\277*\350\227\32\30W\322U\212\26"
+"\207T\177\203\240D\276\313\t\'uF\207X\210\317A\220\360\4\251f6\233-i\223"
+"\212\346O\303)em\314\226\276u\0\32\377\346%\310\345f\273\354\2\300\23\r"
+"\315a\312W\323\353YBN\254%\234\6\336\252aa\200\306\30c\2310t\300\216\256"
+"\264+]\200\253\355`!\353\251\35\254\373z\37dI\227xp\261\b\347ih\364\260"
+"\264\356\242\351HB\275\b_\210\5\254\247\36\261\262;m\221\334\35A\321\235"
+"\222\256\372V:mHW\232_\232\266ug\32\366\253_O\0@\276\376\304\3\0\270F6"
+"rw\t\316\373\240b\17\271b\1\240\2643\6m)v\315\2@f\315\310\f\371\351\364"
+"\42\373<\373\323}r0e|0dk{\362\344\311\223\'I\277\1\232J\207\204\260lCP"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0"
+"\0\0d\234\245\352\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13"
+"\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\22\7\33\3403\311\30\0\0"
+"\3!IDATx\234\355\227MHTQ\24\307\317\214:\216\3428\366\201F*d\222&%\241"
+"Rh%\224.\42\244\250\\\204\253\304MD\13\253\245\321\302@\210\312\260\26"
+"IE\233\260V\26\b\205\6EIbA\13\313B\252\261\264\304D\312\251F\307\217\371"
+":-l\356\275o\356\307\233\271\21m\336\177u\347\374\317\357\336s\357{\363"
+"\336y\0\226,Y\372\377\312k\316\325fSk\356/\334\316\327\204\35G^\207\360"
+"\353aM\372\3044\242\377\344*-\326\325:\217\241\367{\364\26v\267\314`p`"
+"W\222\26\354h\232\304\360\340N=\30\266x\20\'v\350\261\220\332\27A\377A"
+"M\30\32\26\61\334\231\256\t\257\350\215\340x\265\42\301\256\242\267\226"
+"\330\340\305\250.]\231\3\370fJ\221\220\254\3602\13\235\20\304\354\224\200"
+"oI\203v\257\4H>P\222\346\37\33\354\227\361r\25=\306e\5=-\t\303\260\341"
+"\21F\345\255\27f\250Nm\316G\206YG\35\211\322\336\311pth\313\311K\224^\32"
+"\372\241p\315hx\350\211\216pj\302d\42\201j\'\377\234\332\314\276\304a\200"
+"\306W\1D\214|\226\\1\233\232N\251\330]\2263\377\256\277oQ\207\206\314@"
+"VZ\350\227\317$\313\222\245\177-\345\235ZP]\232\357\2\337\330\313^\361"
+"m.W\306\351i\244\232mN\204=\203\234\332\342e\333y\26\21\2611.8\42\206\21"
+"\207b3\5\247\206\212\211W\317\30~\362O\305o\252\262\276\273T.@\207\241"
+"\326\233\2256p\326\334a\42Jx#\313^$\341{$\366DE\263\360&&~\231D\267\311"
+"\341\253\fl\354\16\275\346\265\3472p\225\321*!\306v\31\375\223\302\227"
+"\244{\32\227\300u\252\263\275`V:\3\257\345\3142\342\355\27\302\345\24\276"
+"\246\232\373\226\220~\256\250\33L7N\341Sj[\3446\250m\23z\224\270]\32\64"
+"u\205\35\216\232\336kR\270\232\356!\346u\r\232\232\245B\330F\374P\242S"
+"\3@\25\361\207IL\331\257\31t\210\214\6xs\r\231\372\255\230^ \tu\374\332"
+"Y$\364IL;\311\350\1O\247\222\220\2709m\22\5\355\334\0\2B\372\274`D!\321"
+"e`\224L\237r\347\4\364\34\t\321=0b\356 \321\316\322\311\221\366\210hz7"
+"\264\nk#6\367\256\3\200\356\277\371\23\24Rs\230w\1\0\236*h\nc\261\230\256"
+"%\t\5\261\26\323\r\214\210af\201\356\30c3\263t\206\214n\223\225\316\300"
+"\3552\230\311z&\203Uo\357c$\251\223\6\327\263p\221\202\206/$m\274|9\222"
+"\324\305\302Wb\1c\327\303Vvwh\261\260>\233u\303\334\347\266\221v)\77~\354"
+"\334\266\215O\246Y\273\370\357\t\0\0\305\352\216\7\0\0n\240Dns\26\0\212"
+"<\42\366x\\,\0@\365\207\30\264\267\42n\26\0 \267\303\37%\77\236]\'\317"
+"\223w\367\216lg\300;\'\265-Y\262d\311\22\247\337og\223\3275\275\364\265"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\4\0"
+"\0\0\353\3762\275\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13"
+"\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\22\7\25\7\213\344\37\0"
+"\0\4\356IDATx\234\355\232k\210UU\24\307\1773\231\243\370D\'\263t\260i\254"
+"Q4\337dZ#\224h\230h`F\364\300\262 \42\77DA}(\372\42\bf)&=\300\36F\b\222"
+"\250A\222#Q\364\32\306\336#=|\2256\250\245\222\357\321\231ql\346\337\207"
+"\271]\357\275g\235s\366\276sD\212\263\316\207{Yk\355\365;{\237\265\356"
+"\336g\357[\202\270DRz\251\300):E\247\350\24\235\242\377\313\350n\311\205"
+"\232\305\24\316\3619\365t8\266\220\3375X\23\64YcuE\201~\216\216\251U\322"
+"v-t\215\345\203\355\255g\365\203\316K:\253o\364\264zf-\303\264Y\27\344"
+"\356\344\321\357\350L\16\240Eoih\3062S\355Y}\233\226\'\215\276O-\312\227"
+"f-\313\330\246\352@\216\276N\243\35\342yd\370\2z\24hz\262\200\333\18\311"
+"\351\34}\25\225\16\361<\320\203\f\335\225L\3`\7\273s\362z@\322\350#\246"
+"vR\346s\t\273\262:1.Y\364\26S[\221\371\374\236\357\262\2722\256c\204CD"
+"\217\f\177//\303;e_\326:Y\207\262\332F\335\234d\232\301\375\274\300\'\354"
+"\3450\207h\242s\1\177!\275\276fs\366{\77\206\'\333k\204\206\3526\315\325"
+"\34\255P\263$ik\216m\246\2322\275>\243Wb#y\377\206\37\344 \0\345\264\3"
+"\260;\307\366\21\357\362(\335\200^\f\247o^\301\5\245\350\231\253\222\313"
+"\201s\324\347i\353h\316|\33\312U1\21\212FO\244;\260\223=y\332u\254\341"
+"<\0\3bs\274H\364\35\214\244\204v\276\240\241\300\362%\247\0\350\305M\27"
+"\7=\217\n`\77[\3\226\215\274\17@_\206\305F\361\314p\204\236T\213\244sZ"
+"jZ\247\251Q\222\264-.\216\77\370N\35\226$}\245\276v\321\350\3I\322^MO\26"
+"=G\273$I\7\64#\324g\222vI:\241g\222D\77\240\335\352\220\364\207\356\211"
+"\364\253U\207\244W\223B\17\326J5K:\257z\335\32\343;C;%}\234\24z\213:$\265"
+"j\275\3069x\257\221\364\213j\42<<\212\253\203\22\216\262\212\7\331\356"
+"\340\375\b\2138Eu2\3055J\3535\337\331\33\2411\32\33a-!\335\274J\321):E"
+"\377\37\320EohTR\303\rT\320\78\315\357|K-\255\2361\274~\225Qo=\247#\201"
+"\327\237Ni\322\23>\261|\260\317\207 \363eI\322\350\345N\330\177\345!\207"
+"\210\2163W\7%\236\317q;\343c<\234\320\305\316\253\345\34\213\260:\24\327"
+"_E\202\341(}\272\202^Iy\250\355m\246PJ\t=\231\316:\323#\372]32\25F\204"
+"&\322K\206\367&\303\357\323b3<LF\205\370\277l\370\336X\f\372\265\20\360"
+"\300\2106\307\r\177o\364\220\20\360\224\310q\32i\264\230\352\213>i\202"
+"WD\202\355\207\324\350\207\236\35\322\34780z\321\265\225\373\275K\322\325"
+"\16\350\361F\273\271\206_H]O0\265\253\3713\262N;\245p\213\3`\276{]o+r\260"
+"\275\236\266\373p\77\325\5\264y\333V\323{\273\324\347.\241\1773\232\256"
+"M\34mN\232\326$Y\221\331\240t\21\253}p\27672|\226\31\316\35\354*\6\372"
+"1\303\355\215\304\301\346*\305\32\2561\374\344\21\62x\272\327n\254\272"
+"\35_\1\334\301\230{\243;\f\335Ex\373\230g\350\352L\317\202\224\37l\24\306"
+"\317\36\205E\340 N\222f\33~\201^\3677\356n\237W\257\13\17\342\0>4t\1t\231"
+"\341t\302\3\374\260\263g\0m=\3746\17\3642G\235A\372\333\3\23\224n\f4\264"
+"K\335\320g\f\'\353!\330\262\332\324\332\17,\200\266N.\3739\243\27\32\272"
+"\305\241\336\16\363N\203cYm\360\233l\213\235\362\202W\225\331\362G\37\364"
+"gE\242m\251\366AO7\2T\306\202\355W\377\35Qm\334\356\177C\fxtH\237{\373"
+"\242\227x\17\271-\321\377\324\b\331U\b*\353\250\211(\22[\2427AB&\315\307"
+"\3\232[x\335\364\2746\24\34}\356\1\241/>\373\215\1l\324\204<\237\313\264"
+"6d\250\245U\261\211\31\261\215\23f\330H\3\255Tq\227\371w\221N\261\26D\205"
+"\22\201\356\23\263\23\22%\245\341as|B\245\211R\257\351\362\202T;\200c\326"
+"f\242\2147\275\301\375\13N\362\243\342\307\\\327\353\327\320d*\224E\261"
+"\321b~R\202W\215\366\304@k5\321\7\353\216Fh\210V\352l\0\271W\213u\215/"
+"4\256\270\302\244;\203\350A\33\307\315\25\215\273\244g\232):E\247\350\24"
+"\235\242St\212N\321)\32\370\7\262\241\372\4\20\61\375\243\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\4\0\0\0\353\3762\275"
+"\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177"
+"d_\221\0\0\0\7tIME\7\323\3\6\22\7\31\16=\2504\0\0\5\16IDATx\234\355\232"
+"[l\25U\24\206\277S\240\5\245\27\1\213\n\4+\204\213\42\6\32\344\42M\324"
+"F\r!\30\265\32Cb\24x\221`\342->a|\220\204hT\f\372 \t\32\214\6\345\245\340"
+"\3\32\320h\224\330T\215&\345\42(\27\5\254\245!X\224K\241-m\177\378\224"
+"\366\314\3323{N\247!\306\371\347\245]{\355\365\315\276\315\332{\346d\20"
+"WH\5W\n\234\242St\212N\321)\372\277\214\36\334\237\312c\251\241\226\246"
+"\354\177\13\230K;;\250\247\333\263\276\362\273\212t\267>\325y}\244qBh\221"
+"Z\324&i\247\226\372\306\310\17\\\250\'\264K\235\222\216\351Q\241\361\332"
+"\252\313zd \321\317\352\270$\251U\317i\244\320\275\352\352\1wh\315@\241"
+"\213\365\262\316I\352\324~\335\227\265\315Sc\257V\327i\332@\240K\265R-"
+"\222.\250NwjP\326z\263\366\366B7kQ\362\350B-S\223\244.\325k~\17\30\241"
+"-\275\272\274]O\'\217\276M\7%I\215\272#\247\244\262W\273\333\264!it\221"
+"\266\253[R\253\36\64J\77\350\325\345\337jJ\262\350\305j\223\324\245u\272"
+"\312(\235\255\346\36\364\221@\257\4\257\30\17\322kx\234B\240\221\2179g"
+"\224\377\300\326\236\277K\231\30\31/\6z\26S\311\0\337s\310\341Q\313\331"
+"\354_C\230\225$z\16\243\1\261\207f\207\307\27|H\'\0W3\221\222\244\320%"
+"L`(p\1Q\316\30\256\245\310\360\252\353\31\212\261\\\37\21\321;s\2252\42"
+"[\341\1\2462\214V\16S\317\16\332\373xmb6+\30\2\214`\n\373#bz\316\356I\372"
+"J}uA\7\2652\340W\243\23\222\244Sz%\251\31.r\217\244\203\231\310\13\324"
+"\344X7\363\t\0%\214\217\210\350\215>\313i\303Z\306\223\24\346\3306r\24"
+"\200\212\244\320\'i\242+`\3150\232\2619\266zv\3PNu2\350v\32\370\333\313"
+"\263\223U\354\7FP\231\f\32>\347`\300&\232i\fX\177\3420\242,r\264c<\303"
+"\253\325\2243\313[\34\231\371\36\375\42\351\313\360xq\320h\211v\252#\213"
+"\355\326Qcq]\272\336\227\264WU!\2612\2015\23\252!Tr\27\63\30\3159~e\7\333"
+"isx\26\260\234\307\330\300{\316X1\321PB\7e\f\243\223S\346r\353\255\351"
+"d\330\225\34:9\375\77\317\\):E\247\350\1R\336/4*\250\342V\306Q\f\234\346"
+"0\77\262\315\371<w)V\346B\303\365b\366X\37\324\31=\23\'V\34\354K\16d_\255"
+"N\32\275\306\13{IK<\42zf\256n21\307q\'3\42<\274\320\371\346\325Q\264\204"
+"\224z,\256\23y\202\341/\212\373\203^\313(g\331\6\346R@\206aT\263\311\364"
+"\b\337\307\204N\205)\316\211\364\206\341\275\305\360\373:\337\31\356\322"
+"-\16\377\267\f\337\333\363A\277\343\0\217\f\251s\322\360\217\215\36\343"
+"\0\317\r\355\247\251F\215yq\321\377\230\3407C\301\366 \35\211\207^\350"
+"hs\24\30\275\356[\313\377\336%\351\6\17\364\f\243\336\375\206\237c]\317"
+"4\255\3539\26\272N/\252\301\260=\354\277\256\277\313\263\263c\215\266\177"
+"w\77\337\17\264y\333V\325\305\375js\277\320\207\214\252\33\23G\233I\323"
+"J\222\343\370\323c\212\271\353\7\363\2751\303\27\230\341\374\301\2762\320"
+"\313\r\267w\23\7\233\273\24\253\273\246\263\'F\310\340\327\275.c\327\355"
+"y\4\360\7\303\34\303\266\317\260\r\300\351\343!\303Vgz\346L\371\353\214"
+"\205\361s\214\205\205\316\33\21\26\32~\201V\227\31w\367{\254V\17\65l\237"
+"\31\266\0\332z\267\357\367n\364\242\226y{\6\320\326\340w\304@\277\346i"
+"3H\23510A\rf\244a}\325\17}\326p\262\6\301\326z\323j\17X\0}\334p*\365F/"
+"5l\253\234\336\36y\247\301sY\325\306K\266\371\246\274\3405\301\254\271"
+";\16\372\233<\321\266&\307AW\33\1*\42\301\366\321\177_X\35\277\373\257"
+"\215\0Os\264yx\\\364\352\330]n+\374\227\32\216\267\nAc\35U!\213\304V\370"
+"K\20G\322\\\21\260\314g\235\351y\223\23<9\24\f\316\203\317\37F\7\36\321"
+"\314>>\203\264\321\321\325\322\333\221\23\63\3445\216\253`3\r\2641\201"
+"\32\312\235\355\2616D\271\nA\27G~\321q\253\300\35\266\227\217Sg(\210\225"
+"./k\262\78bo&\212B>\221\271T\306\1O\317\310\3510)\373\13\34\37=\25\31-"
+"\342\221\22\274\252t \2\272M\225q\260\376h\204\306h\255Z\3\310\337\264"
+"J7\306\205F-.\227\n)g(\35\2344w4\376J\277i\246\350\24\235\242St\212N\321"
+"):E\247h\340_\272\265\327[\377U\342\211\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352\0\0\0\2bKGD\0"
+"\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0"
+"\7tIME\7\323\3\6\22\5\62\220\2673\366\0\0\3\314IDATx\234\355\227[lTE\30"
+"\307\177\273\2-v\233\32\304\nR\222V\260\24\1\301\202r1\205 A\203\244\222"
+"x\211\361\362\240\306\7/\17F\22M\324\370\240\246\t\251\326T\23\65^H\r!"
+"\30\t\232 J\2151\321\0i\275\327\20\201\26\2456\202\241\4\1)K[z\331\317"
+"\207m\347\314\33133\347\34/o\347\3774\363\375\277\337\234of\317\316~\13"
+"\211\22%\372\77\225\212\221\233^\261\252\250\2755j\366\364\332\245\13/"
+"\323\346\17\374$\203\247\352\243\261\231g~\34\226\363\337>9y<p\247\210"
+"\210\354\252\214D\277\227\25\21\221\201\315\25c\201\246!\21\221\321\233"
+"\242\300\367\fH^\375\215\371\300\374}\42\42rtE\24\3723\31W\357\315\0\324"
+"\37\27\21\221\3WkIi\33]\256F\227\257\4\240j\n@\256\353`\24\372\2047\\\2"
+"\300\42\1\350l\320\223\254\364no8\23\240\346\252\42\200\357\177\260\1~"
+"}\220\35\337x7\300\r=\42\42\307\227\372r&X\351{\237^UY\42\231L\212>\200"
+"\331e\0\273\276\211H\217\274\330R\235\221\325\17O\246\27\340\272\211@v"
+"\207\77\307N\303\261c0u\24\272\200\262\331%0\262\345s\177\206\365\324\306"
+"T5\221\13m\300\264\n\240\177_\201\33F/\236\304\241\303@\315\24\30ny\77"
+"\36}\313\334\324\350\236\16`Y\t\234\335\33\362\250B\275;,\335\353\0\266"
+"\211\310\3331\341\'\6\344\302&\0\332EzV\306\2037\364\212|]\6\260\346\210"
+"\310\307\256\317\'\250\372N\221\243k\1x\352\214t.\211\5\337\327\225\223"
+"\77\356\312\217_\227\\\344\13\r`zs\277\f\267\255\36\233}!\207\326\306\241"
+"w\347dp\373\242\261I\335\1i\211\3\363\211\234lT\27\342Cm\217\206\275V~"
+"\315\333~\2077YxM,6Q\242\377\\\316\316\243\252n\301\314R\372~\373\256u"
+"0\346\262\231gO\210\247s\217\307a\237\223\200\32\302\251\274\232\202\254"
+"\210\310\375\221\340\234\31\26\351(\3144\234\2328\26\236z\3127\r^\31\'"
+"]e\375Y\352r\241\331W\353\346e)\212o\334\246E\234p\215\316\276\254\302"
+"\37\251\330\227.Z\207\347i\361WU\364z;\374\206\6_\352sN\207\327>C\203\227"
+"\373\255\271\312\2606\213\177y\360+\326=\365X\340\365\256\263})\254t\r"
+"\276\42`^\253\274[\215p\255\7\277\345Z{\213\221nw\324M\350\306=x\243\333"
+"6\271w\273\355\20\372W\345n\375\7\264\347V\230l7\275.\244p7\275S\231\226"
+"\256\316I{\346\2#\234R\376H\334\245\201\345\312\337\257b\321\233\231\333"
+"\324\250\260\317\6\246\251\245\1776\323\3*a}\360\331\227\250P\267\231."
+"V\243O\203t\221\n\2351\302\17\232\202\351\300\200!#\335h\30y\220\351c\320"
+"4\301\273\3456\31\350\254\ny{\320\244\275A\246\235]\254\216t\247\211\366"
+"\336\206\347\215\265);\360[\7\354\3707_\202Y\236\271\77\350\2|\345\240"
+"=X\346\230\3515*\241\252\320\322\272\201\203&\324\367\200\202\277\252\314"
+"\327\36\235\261\321\r\266\3225\270\311\6kY{\315a\353\201\3\360\210Jz\323"
+"\13^\251\303\325\16\232\337UZOm>r\321V\35~\255\20\360w=ze\37v\f\316\272"
+"\275\\wG\3\177%\375ti\237\253\264t`\333\376\233\351\\\332\374\365\4`\216"
+"\273\343\1\340\35\261\250,\234\5\252\1771\261\217Eb\1\352\16\27\240\255"
+"\213#\263\0\63\232\317\217\223G^\250\264\347\331\273\373I\345\305C\247"
+"\263V;Q\242D\211\22\5\3647\245\27\331hQ\206\35#\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352\0\0\0\2b"
+"KGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0"
+"\0\0\7tIME\7\323\3\6\22\6\7\355)\244\26\0\0\3\356IDATx\234\355\230]lTE"
+"\30\206\337-\245]~\372c\321\226@I\255m\372\243\220\6\bB\301&\bAcH\211\322"
+"\30\303\205\341\347\306\30\22Q\342U\t\27\220\20\210Z\202^H\200(\221\24"
+"\274A\224\250)\22\214\20\232J\342E\261Z\5\13\266X\312\206@\13\335v\313"
+"v\273\333\327\213\355\316\231\335\371\316\331\263\376\334\235\367j\346"
+"{\277g\3167sf\317\231\263\200\'O\236\376OMK\343\227n\275=\22o\315\253{"
+"}\235\377F&c\347\256\371\346\321\311\5\361\366\326\253\f\17\66f\0\347l"
+"\3769\312;\257\1\0^%I~]\351\236~\373.\31zg\16\0\240%B\222\261\27\334\262"
+"y{\306\30\275\376b\274\263\260\235$\331\277\322%\\\320<\310\211\366\325"
+"S\313\332\30 Iv\77\355\16\316\3316\300X\307s\211{\362\3268I\306\316\314"
+"tG\327\365\220\375\253T\367\3230Iv/u\7\347\236\233d\350\25\325\255\271"
+"L\222\374\254\304\35\275)\314\330a\253\314U}$\31X\356\16~\254m\222}\rV"
+"\177\363\3\222<\232\232\226%\323\313j}\270\242m\313e\323\1\214\236vI\257"
+"(\1\177\t\250nY\345, z\342|jZ\266\b\347W\3701\301\342\351\221\3408\0\300"
+"_\n`\254\335\310\223\351\202\42 \373\345\332\31\241\336\216K\343\0j\212"
+"\200\211\343\237\313u\32\252\372\236qM\3644\3\300\376a\362^\223\231\'\317"
+"\233L\224V\371n\23\360DY>\360e\207[z4\250\232\205o\344 T\16\334j\r\230"
+"y2=4\20K4}%\245\250/\6\272n\ny2=\336\371@\357.-\302\365\275\3\256i|\327"
+"\223h1\320\217\262B\366\366\313\211\262\326\16L\255\372`#p\201\277\257"
+"\313\4\6\266\\\215\220\234\274\325\f4t\363\270\234$\357\26\0\'\257=\277"
+"\270d\354\332\245s@\365\360\366\257\344$\237\355\305\363#\2053\242\303"
+"A\0u\f\334\313\244lO\236\376{\331\357T\0\345\r\213\26\344!\330\373S[8\303"
+"ag\357\272KK#;2aw\323\320>\267l\213\311\222\344\26W\360\244\f\223\235\251"
+"\231\302\252\321\f)=>\230\3245\237\212\216\17\202\373yN.p(\251\326OV\370"
+"\340_sJ\2138\3025:\373\201\n\237Q\261\37\234h\35~F\213\177\250\242\317"
+"\332\303\37k\360\234$g(}\355\3635\270>\331\252U\206\355q\361\241\5\37\264"
+"\235S\237\r\274\336im\337OW\272\6\3173\314\305\312\333 \302K,\370\210\323"
+"\330\'D\372G\207\272\221v\342\26\274\323\331\226\334M\316v\32\372\206r"
+"[\377\1m\271\245\231\323/\245)\334\231>\253L\343 \355\202\266\314E\42\354"
+"S~4\323\241\1\324+\277K\305l\316k\2026\252\226y\322\306\\5\364\2572\375"
+"H%\2547\257]\250B\177\312\264_\265\2765\351\\\25J:\242*m\223\202YF\3\21"
+"\221~OhY\220t\33\64e[O\271\3\2=\252B\326\34\64i;H\232\331L\265\244g%\332"
+"\332\r{\304\332\224m\274\353\0\234\3767\77\202\n\313\3542]\0\270\350@["
+"0\253ez\255J(O\265\264\323\300o2\254] \365cu\241v\351\331v\364>\273\322"
+"5\270\305\16\326\262.\333\301No\3577U\322a+\370\224\16W9\320\370K\245\365"
+"-\211G\246\265\352\360G\251@\362\251G\257\354\213\316pES\261\356\306\214"
+"\17\250d:/\230\352\353\3122\246\235\374d\32\311\222\177\236\0\200j\347"
+"\23\17\0\340\30mT\220\236\5P\325#\261\333]\261\0\320\360G\n\332\346\362"
+"\17\242)\315\77\24J\2207\367>i\237g\177\272\317)\366G\206FmmO\236<y\362"
+"d\350o\251\234\364^7\227\242\352\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0C\0\0\0x\b\4\0\0\0\3~\207\226\0\0\0\2bKGD\0\377\207\217"
+"\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323"
+"\3\6\22\7\27\351\205\2053\0\0\4\217IDATx\234\355\232[h]E\24\206\377#\311"
+"\261\265Q\241V\33J\2QA\fQ\250D\f\372\320\13\365F%X\252E\21\37jQ\321\307"
+"\20#X\37T|\221\202V\20Q\24\233\42\24\261\17\342\5K\252\265h\301\22kQ+B"
+"\23\321\26j#\361\212hMRO\233\337\207sz:{\366\3323k\366\331\315\311\303"
+"\374\363\264\347\254\177\366\267g\3555\373vJ \346\201\316k6@U\21\303T\304"
+"0\25\61LE\fS\21\303T\30405O0Z\212\34\254\35\313\320\212\31\374\214\337"
+"\202\275,\246\265q3\277b\205\344\277<\300!.\f\363\27\205\261\235\'xV\323"
+"|\203\35s\217q\37\247\231\324\24\267\314=\306\b\323\232\344mj\177A\225"
+"r\231\320\267\24+\324\376\2020~\21{\257\237k\214]bog\300\b\205\234\33\340"
+"\333\211J\251\352\210\332]BA\317)-x\2+\321\205E \332\320\206\22\200CX\256"
+"t\27\206\1\0\35\270\nm V\343\21,\4\260\33\267+\235\205.\346\307q\34\0\260"
+"\4\247\1\0\343j\3479\271\264]\216V\0\'\261\277\271\30\275(\38\214\357\233"
+"\211\261\26\335(\3414\366\341\353fb\254G\'\200c\30\tr\25\264n\234i\3\234"
+"&y\222\317\205\371\212\205\270\223\223$\311Q^\324<\214~\216\221$\177\342"
+"-\241\336\342 \356\3478gIN\360\236pw1\b\355|\221S$+\334\317\325yF(\6c\27"
+"gI\316p\'\227\347\362\27\264\230\317\242\204\3371\214\2470\235s\204Bf\243"
+"\207;yw\3\376B\257\260\3715O\236\332\42\206\251\210a*b\230\212\30\246<"
+"\327\224;\260\n\335\350\300R,F\31\177\343 v`\3339\1\311\\\347\337\22^\26"
+"T\2655\350z\261\206;8\302\1wT\226\325\255\t5\304\230\341\352\16\303\330"
+"\344\201 \311oU\20\23\226+\0\343Q\5\4I>\340\205x8\345\371R\213\261Q\t\341"
+"<\266Z\233\24<=\32\f\3379\221T\247\7C\322a12\261n\\\210=\251B\32\305 \236"
+"\317(\262u9\n\363j\177\301\216\247\330\373j\277,\23\217l\3303\33/\211\256"
+"AwR\36L\31\312F\240\264\212|\350=;$\35u\'\345uk\232\26\341\77c+\235.\300"
+"\177\33\373\202\320\327%\364\3251\36\262~\350\303\224\34h\310\377\202~"
+"\320\33a\215>\224\350\336\202\3V`\257`\36S\354`\263\n\243\376\200`Np\5"
+"\345T\340_\2708\325\267\22\373\24\273H\247\256\244\303\270\21\243\212\301"
+"\244\341\362b\324\223r\260\336\365\254\0q\263j\207\262\366\252\242j%s\23"
+"\217\222$\207\304\302\373T(\2747\275\345Zm\257\244\234\316u\3\274\42\250"
+"\376\257Qb\274\252\300H\324\341\221\214\t\223\77H|\247LJWHR\\m\2570\27"
+"\357(\347\2\374\303rV|I\tI\211\376u\212\255m\3710V\210\30Z\2104F\237\24"
+"\345\37\246\261\224\264\352\16 \374h\302R\262\312r\216\212Q\336\307%\271"
+"J\276QV\tp\253\265\375x\276J\331\323PJP[\24\275\347T\236\224\\\27\200\221"
+"\324\313\3710\256\25\61\364\20OZ\316rV\244{\30\351n\362\243\334s\361qv"
+"\244{\230\177\4\214\265j\210\355\226\363\322\274\30\215\244\344\6\313\'"
+"\256\236\265\346y=\233\377f\'\355u\371\234\353\206\364\362\343\204\22b"
+"\330\332\276\313\23\357\230\252%BJ\16\251\22\322\37xZ;g\343\374\234\263"
+"q\t\336\267z\354\265\324\226\23C\372\361\2\5\306\257\326\366\6\205\307"
+"1U\355BRNy\23r\314r\274\253H\242\263R\26\210\37i\334\225\362\3\256\f\212"
+"\257\312\231\224\31\2617\373\201\260\25\177\246 \272\25\20@\216\345+\353"
+"\312\260^\210\274WUW\360\255\242\237d\200\330qk\370\243\20\365\230\26\302"
+"\207\321\223\201\301\372\267\326^\276\226\21\361\264\36\302\177\277\361"
+"E&\210[\317\204@\344\275\27\365) \35\4U_\36[PQ\236\355g\264\16\357\5:\24"
+"_\20N\241\24\360\307\313\317\260 \30\2P\177\16\36P\244b\267\353\255x\243"
+"\347\306\331\2665\23`\214\233\362\2\204c\200`\77\77O\0|\300\r\215\1\20"
+"\214\37\307\223\212\30\246\42\206\251\210a*b\230\212\30\246\42\206\251"
+"\210a*b\230\212\30\246\42\206\251\377\1\225\307hD\305^\337\306\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214"
+"\34\20\301\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0"
+"\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\22\7\26\236\202\265\245\0\0\3"
+"`IDATx\234\355\230MHTQ\24\307\217\346\314h\340GZM\244m\212\242\301\242"
+"DJ\351C\254\t\202B\372\42\254Uf_\264\210\262rc\233l\321\42\n\27\21F\213"
+"\212@\332E\220\321X\31\ni\226AY\213F4\246\222\3112\264\232\324tf\364\264"
+"\230\367\356{s\337\375x3o\23\362\376\233\271\367\376\317\374\346\234\373"
+"\356{\367\276\1\260e\313\326\fV\301\311|\213\4\327\346\346\277M\213,!\234"
+"\7z\242\370\265\322\22\343\324w\304\261\232<\13\204\314\372q\214\366n\265"
+"\222Dv\3350F\236\227\317\262\200pV\7q\252s\203\25\4\254\352C\34Xo\205\0"
+".\3374\216\355\262\204\200\375\238\3258\333\22b\316\243i\374\264Q\24\221"
+"*e\254\361\244@W\2775F\251\33\360\375\240(\42M\206\310Z\222\16\21\234\357"
+"\b\207&\223fd\347\2\244\355\364d\214\5:\333\271\24\211\226\265bL\221\276"
+"\272$\21\260\364)\252\32\331\303\16\221\316\351h\2104s\2169\223c\214\4"
+"\247\324f\212\273 9\306\344\233\237\262\20\371\372h\351S[88 \215\346\310"
+"\33T\346t\270\42Y\4@\325\3330\42N\177\346]\333\24\23\fG\361\246\42\367"
+"\270\277\3357\221<\3\262\3029\31\321\337!y\240-[\377\257\350\265\276\275"
+"\334S\340\316u\206^7\335L\222x\27uj`\307x\233|5|\202\27\343\25d\5\371\21"
+"\21\321\303AT#\255w\306 \365y\304F\34\67 \20\17\322AGU\247\233\205\250"
+"b \214\77\367\2158\205F\4=\27\212\350\3\251\346|0 2\211\367\342\364e\35"
+"\343\4\227a\234\221^\325)\1\200\205Z\340-*\356\252f\235\241\254\303\252"
+"\21\333\f\265e\362\220\3761\215\21\3408\312\251\353\20\tl\246\31W\30\305"
+"\244\2\0\34Q:%\343\272A\0\0\370A3\350\nHxm\254}\351\2252XLl\277\341\13"
+"\274\215*\226[\230\364\177\221|\313x\301\206\13\23\33+5\206\261\2264\307"
+"\353FD\274@\272[\204\214V\266\267.\200X\253u\333\b\342\16\203\321\310\343"
+"/ff\213+\30\214\353\202\34\211\312\204\245\200\317\f\343\31A\334c\331\303"
+"\212\31\21\61\2644V\213l\321\363VR\na\224\b\30\222R\34f\246CRJ\271bv\t"
+"\20\262R.*&\343. \322\216\347\314R \220P)E\42\377\232\0\261RR\3129\305"
+"d\237\376c\322\36\230\217Ei<\21 \340\17alc\331\267\25s\236\210!.e\255\342"
+"\305\257Q\372\354\200\\G\357\306{\324\273\207\366\2128\312@\250\273\r\347"
+"\235L\321\\RJ\217\321\254\20\3166Q>at\30\274<\336L\245\362\272\306\77\t"
+"\206\224\317\275\3424`\1\311#J[_\24\343\276\4\1\351\334k\333/\\\276q\322"
+"\30q\273\242cD\35^\236\bC\177K\354&\203\373\344\bm\7\322e\355\375H\206"
+"\316\232@@\241\216\201\225\0P|C7p\336\f\2\340%\362Uo\16\21\67#\224L\25"
+"\2\0\0i<\304\16\323\b\0\30b\21\332\\\211 \0j\f\204\26\336\1]\240\6=\300"
+"_\2358\0\0\0*:b\200\7\262[\314\226-[\266l\3154\375\3\206\25)f\347M\262"
+"\310\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b"
+"\4\0\0\0\3~\207\226\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13"
+"\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\22\7\31\16=\2504\0\0\5"
+"eIDATx\234\355\232]l\25E\24\307\3775m)VKRQ\252i\3\bF\233\252\240%V0V\264"
+"R#\246JP\242Q\203\212Jb|jjy\300\27\2151Q\22\300\370\21\215FJH\b\221DQ\32"
+"\261b!\202X\13\242\242Q{k,\20\240\241~\240@k\77(\355\337\207\273l\347\356"
+"\316\316\234\335\333\215>\354\177\37\356\3353\347\314\375\355\234=\263"
+"\273\2637\7\304\377@\347\375\327\0i%\30\252\22\fU\t\206\252\4CU\202\241"
+"*\301P\225\33G\247wb.\206\260\13m\30\25\3070\352V\302\353Y\305Y\274\330"
+"c\257\343\t\16\222<\300\307\344\275EC\270\200+\371-\207I\376\303}l\344"
+"D\267e*\2339\246%\361b\254g\237\362c\3|\227\245NK-G\\\373\31\256\216\23"
+"\343A\16\60S\375\\\345\264\315\343Q\305\276\207W\213z\214T)KQ\340\261L"
+"\304R\334\1\08\211\323\212}\6\246\213z\214\204q\211\3066\5\325\0\200\237"
+"\321\251\324Gq\234\30\277i\255s\234\317\27\221rm\304\354\3700\266i\255"
+"e\316\3477\330\357\332&\340\n\\%\3523R\245\274\227Q)i\35t[\253x\334\265"
+"\36\346Mq\235\242\300Cx\31;\320\205\36\34G/\322\217:c\247\346^4\273\337"
+"\'af|\243\1\202\245\274\215w\263\216k\330O\222lQ\332j\331\353\214F\37_"
+"\27\364\225\3055\345\30\216\1\0&c\4\0\320\251\264m\307\6,G.\200B\314DQ"
+"F\21\3534\16W\330\351\310\3\60\204\266\f\353\36\364;\337Jq\251\265\217"
+"q\300\250D>\200\16\374\222a\335\204&\f\3\0\212\5\265\2225\306B\224#\7#"
+"\330\215\357<-_\340\24\0\240\20\67\306\217\261\30e\0\216\240\305\327\362"
+">\266\0\0\2120U\320O\344J\1\301z\16\220\34\342K\332\326j\36&I~e\357)\33"
+"\210{\330C\222lg\221\276\f\271\225$\331\305\232\3700\352\230\42I\36\345"
+"\202@\2379L\221\374\233+\342\302x\230\235\34%\331\315\373\215~\237p\224"
+"\344\33q`\224\360\25\366\223\34f\33o\265\370.`\7\311\32680\266q\224\344"
+" 7s\266\300\273\211\344O\274\331\350\23\251`G\221\203\77\361*\36\301\1"
+"\201\367\343x\32\247p\345\370\27l\5\67\363\276P\21\327r\226\261=\7\311"
+"\202\344\230\22\fU\t\206\252\4CU\202\241\312\362\200p\27\346\243\34\245"
+"\230\202b\344\3434\366c#\326\305\2\228\317o\362=\36\236\323\332P\327\223"
+"\32nd\13\353\315^A\241fu\213!RJTy8\214e\26\b\222\374A\4\321\355\211\n\201"
+"\361\224\0\202\244`\235o\271/\346k)\306\243B\b\343\2619[\217&\246B\202"
+"a;\'2Uf\301\320\251C\353\2311o\\\210V_!\265\243\1\253\3\212lQ\204\302\f"
+"z\236U\230:}\354UN\313e\332#k\262\214\306k\332\250\6sR\236\360\5\344+\216"
+"\272Y\344c\353\331\241\323!sR\336\361\fS!\316({\376t\1\366\333\3305\32"
+"\3334\215\315\305x\322\323P\345.\223x\34\25\375a\305h\260zxzo\3140\257"
+"\302>\217c\245&8\245\261y\265R\204\341> \250\3<\214|\237\343IL\362\331"
+"n\301n\301O\370S\227#\303\230\213vAg\272\356\242b\270I\31[\331}A\3q\273"
+"\350\7\365\332)\362rJf\36\17\221$\33\265\205\367\271\246\3606X\3135\275"
+"\275\351\2134\316\33\340\345\241\352_\366\246\4|K\200\221Q\207\7\3\6\254"
+"Zk\375Q\230\224ia\222b\332vj\306\342\3\341X\200\'<\221\303\266\244\204"
+"I\211d\201E\37\275.\32F\265\26C\n\341\307\250\322y\331\273\311.%y\262\3"
+"\b\1774\341R2\337\23\331\256\365\262>.\351\253D\262\346\225V\255g\177E"
+"\264Ji\315*%p&E\3539\25%%\327\205\300\310T\3402\255\271\223k\264\30r\210"
+"g=\221\371A\236\346ntw\223\333#\217\305g\301\236\346nz5\30\13\305\20\353"
+"=\221\336\277X\2101\262I\311\r\2368\355\354\351l\226\345\331\3507;\376"
+"XS\234q\336\320-~\364\t!\232<\373\367Z\374\rC5Y\223\222\357E\t\251\13y"
+"Z\33GcB\304\321\270\b[=\26\357\\\352\225\21C\327x\276\0\343w\317\376\22"
+"A\214a\250J4I9kM\310\21O\304\207\202$\32+\245\0\3\32\253\271R~\305\214"
+"P\376i\31\2232\250\265\6\77\20\346\341/\37D\271\0\2\2100}\5]\31\26k<\37"
+"\20\325\25l\263\350\216\0\20\257_\r\2734^\317H!l\30\25\1\30t\337\276V\362"
+"\355\0\217\347\344\20\366\373\215\275\201 f=\37\6\42\352\275\250M!\322"
+"AP\364\3461\327\371;\210\\\213\360Q\310\b\301\33\204\263\310\21\254\353"
+"\234\323.\24\204\206\0\304\257\203\353\5\251\370\324\264*\236\355\2711"
+"\266\255\r\4HqYT\200\360\30 X\307/3\0\232\345\177M5l\311\313qU\t\206\252"
+"\4CU\202\241*\301P\225`\250J0T%\30\252\22\fU\t\206\252\4C\325\277\234\337"
+"\367\2307Zm\325\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"C\0\0\0x\b\4\0\0\0\3~\207\226\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\t"
+"pHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\22\7\30y:\230"
+"\242\0\0\5\216IDATx\234\355\232]L\35E\24\307\377\267\302\205\266) \265"
+"\305\17\232V\333\30\260~5\244b\253V\24\255QC\202\222\246\232\30\255\304"
+"\357\7#\241\365\1_\254>\230\230\324>\30S\243\6\264\21\373R\353\7\232\320"
+"\212\215(\22\252$B\265)\204*V\202\250\r\325V\240|\\\370\373\300\345v\356"
+"\354\354\316\331\205[\373\260\377ya\317\2363\367\267s\366\314\316\356\20"
+"\1q\36h\336\377\r0\255\20CU\210\241*\304P\25b\250\n1T\205\30\252\322\346"
+"\242\223|T`/\372\343Gwc\35\306\320\214VL\371\350\203\263k\31\274\235\237"
+"\361\f\353\271\214 X\306A\216\222\354\340\243~\372\231\35D\224\217\260"
+"\2231\222\277s3\301\345l\340Ym:W\30\317\361O\222\3440\253\270\230\340F"
+"N& \306\271\343\\`,\342v\216\220\214\261\233w\305m\353\331\247\214F\13"
+"\257N5F6k8Hr\202-,\341\5q\353U<\242`\f\260,\265\30QV\262\237\344$[ys\2"
+"\2\4\367)i\31\343\263\251\305\270\216=$\311>\336\244\235)R\306c\224\265"
+"\251\304\310`#\247H\16\363>\303\331\367\224\264|\303\202\324a<\310Q\222"
+"\223\334\305\5\206\263\305\34H`\374\352\30-s\13\60\231_\210\207\21\5\320"
+"\207\17\60b8\177\b\r\211\277\263\261J\324g\0\214\265(D\4@\33\216\271x\354"
+"\305P\374\257t\254M\25\306\215\310\3@\374\210\1\27\217\3\330\215\30\0`"
+"!V!+\25\30YX\211L\0\23 \226\3422,A\206\301\253%\221\256|\\\42\350\325\367"
+"\23\66\33\271\361\300r\24b>\206\321\213V4c,\311k\17\212\361\f\322\1\344"
+"\242\0\335\202~}V\311\225\374\222\311\232`\17k\34~\25<A\222<\305WRQ)\204"
+"\376\t \r\253\260\25\25\232\365C|\4\0\310\302rA\257\2761\206p\332`\315"
+"\301\223\210j\266\367q\34\0py*0N\242\37\223\16k\4y\310\327l\2558\f\0X\212"
+"\322\271\307\30\303\17\370[\344\31\303K\350\6\220\213\242\271\307\0\366"
+"\243\307a#\6\320\347\260\266\243\27D\216\350\356\b\360L)e\277V-\203.+\213"
+";y\224d\223\275\317 \30\340\26vp<\2160\305\343\206\202\235iu$\217\360\26"
+"K\177\21G\375\211\224\216\42\334\2065\310\303\b\272\320\214F\214\272x\316"
+"\303Sx\b\265x\307\263\277\200\30@\26\306\221\203\371\210\341\224\261\204"
+"U]\213\b:S\2031\267:O^\36C\fU!\206\252\20CU\210\241\312\262$\276\27%(D"
+">\362\220\213(N\243\35\365\250M\t\210\353So\17\335\264\323\347\262\240"
+"\236\215\254\n\362\240/uE\230V\277\30\242K\211*\364\207Qi\201 \311\303"
+"\42\b}y\344\3\343i\1\4I\301\227\276\'\34\61\337K1\266\b!<\257-\336\376"
+"0\304\254\226`\330\356\211d-\263`\230t\324\350\2314o,B\223\243\220\332"
+"P\215\35.EV\36\2400\13\354\5\333\355`/\216\237\271\324xeu\226\321x\335"
+"\30U\355\235\224\307\34\1Q\305\3214\213|n\275;L\352\365N\312\333\3320-"
+"\304\270r\344L\27`_\306\276f\260\2550\330\22\30\217k\'\212\265\357Z\246"
+"\207\317\t+F\265\325C\353}[\222\371U|\2479\232\336C\273\4\77P#\302H\274"
+" \250\3<\341\370H\0\374\203l\207\355V|-\370\tg\352\42\62\214uh\23tf\352"
+".(F\42)\355\t\323\313\6\210;D\77h\326A\221W\274d\326\263\227$\271\315X"
+"x_\31\no\267\265\\\247\333.G\244\347\274\1^\341\253\376\245{%o\n0\222\352"
+"\360\27\227\1\333`\264\376$L\312\n\77I\361j\7\rc\261O8\26\340\240\269a"
+"K\212\237\224\\/\306\320e\334c\261w\263\301\210!\205pb\24\233\274\354\335"
+"\314.%\351\262\13\360\1775\376RR\242E\266\31\275\254\257K\346*\351\20V"
+"\t\260Q;~>X\2454\315*%\210O\212\326{*HJ\326\370\300H\326\33\3010\2561b"
+"\310!^\320\42\243n\236\336\335\230V\223\7\2\217\305\27\356\236\336\335"
+"\374k\300\270G\f\361\256\26\271$(\306lRr\203\26\347\265Cm\371<\33|\261"
+"\343\214\365\212\363\2347L\37\77\206\f6\223\352\264c}\23L\227\307P]dHI"
+"\247(!e>ok\317\3210\355\260JFc1>\325,\372\\\252\313\23\303tr\201\0\343"
+"/\355x\223 \306c\250.6$%fM\310oZ\304\307\202$zVJ&\316\30\254\336\225r\f"
+"+}\371O\3133)\346\35#\367\27\302t\234t@\24\n \200\0\323\227\333\223\341"
+"~\203\347\3\242\272\202m\26\325\367\343g\244\373\225\362g\203\327V)\204"
+"\rc\265\13\6\2719\356Q\304\267\\<^\224C\330\327\33\207\\A\274\265\335\17"
+"D\320\265\250M>\322AP\264\17\233\206\t\341\335>\243r|\3423B\260\203\20"
+"CD\360]gF\315\310\364\r\1\2107\307\253\4\251\330\357\365U|\266\367\306"
+"\331\266\323\25\240\213\225A\1\374c\200`\31\277M\2h\360\363\317\251\256"
+"-\334\34W\25b\250\n1T\205\30\252B\fU!\206\252\20CU\210\241*\304P\25b\250"
+"\n1T\375\7\244\254\316\365\263\374\324\322\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\2bK"
+"GD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0"
+"\0\0\7tIME\7\323\3\6\22\6\b}\226\271\207\0\0\4\2IDATx\234\355\227]l\25"
+"E\30\206\2376\264\25Z\323\244\200\200\226\4\f\232\326\242T\213\226\324"
+"X \25\215\220\23\22\225@\200\13A4j\342E\325\232\2107\376Dc\32\t&\206h\210"
+"ZB\202Db\214\261\210(h\210B\313\237\277\t\366\324\b%BC\205\340\17\326\26"
+"8m\77/\316\236\331=\263\263\263\273\347J\315\2767g\346{\277}v\276\3319"
+"\263\263\220(Q\242\377\232\212b\346\27\67\315/\353\376$\3365\323ni\234"
+"3\331\323_\363\235\\<\237\212C\250X\377MF\376>\3346>\27X&\42\42\2353b0"
+"\266\f\212\210\310\360\333\325N`\303e\21\221\321\273\242#V\16KVC\355\331"
+"\300\354\375\42\42r\252):c\267\3444p7\0\2513\42\42r\354\206\274\264b\33"
+"\343*\325\232\322\f\300\314*\200\261\336\37\2433~u\233s\1\250\27\200\364"
+"K\371iV\306.\2679\35\240\346\2722\200\243_\333.\322\365\336`nBN\0\334~"
+"RD\344L\243\2265\316\312X\365\314\374\31\345RQQ\304\5\200Y\225\0\235\207"
+"b1F^\354\270\276B\26>2\236\1\200[K\200\301\367\365,;\3N\237\206I\243\320"
+"\13T\316*\207\221\255\237\3519\3269u4\263\204K]\300\324j`h\277\317\217"
+"\302h(\245\347\'\240\246\n2\35\333\13a,\256-\32\375\362[`^9\374\371U\204"
+"\233\372\365VFN\334\3\360\256\210l.\b\321:,\227^\1\240[\344ds!\210\245"
+"\3\42\7+\1Z\216\213|\24\366\34MJ\245EN-\2\340\351\337%=\267\0\304\352\336"
+"1\351_\236mo\222\261\230\33)\300\264\327\206$\323\265\320\351\355\225\236"
+"E\361\31\273\306\344\342\216z\247s\3071\351\210\217`\247\234kW\333\361"
+"\272\256\307\242,H]u;\356w;sn*\200\220(\321\277F\372Yj\311\202\332\352"
+")U\245\27\216n{\247@\342v\361h\2439\247e\333\356\326`B\213\344\253\337"
+"\224\224\26\21\221\332\0\304Z\321\365\203\77\251\337\261\314\210G}\b\221"
+"5z\322\3039\347\210\t\361\200\1\341\277\335\200r\352\374\b}.\34M\327\322"
+"\\\247\307\207\270Ry\335O\274\352a<\36\310\360\317Ho\316i\4\256v\23\365"
+"]\370u\327zR\263\326\345\214R\300\273L>\326o\3462\372\2\234\t\331\356\203"
+"*q\247\316\330`(\246\30\340!\247\3238\344\t\2pNg\350\25\250\364\266l\273"
+"\375\260\23lPv\332w\301z\3\304-\345\262\352\377\241\306k8*\4<\230ll\236"
+"\77\315\264\244\3\274#\42\42/\250\356\235V\306\347f\257\251O\244\315\355"
+"\356S\210\255\6\306\33A\374k\215\243\225\331\6\306\233\2261*5[Kq\77jl\214"
+"/\24\342\3\223}\336136\206;\214z\233m\333oCJQ\f\375\13\304\253\220RJ\242"
+"LGH)\13\34\363\240\5\21V\312\313\216i;0\357\265\227B_\254Rn\266\371\233"
+",\210\33CJy\3261K-\fw\303\364}ry\207\261\307\202\340/\305Xl\262\2678\346"
+"d\223\251\335\'\240\224\333\34/\177\215\352g\7\tt\274n\276\247\35\301\335"
+"O\234A\3\42\367\266\271\3174F\245I\252\224\357\375f\312:\333J\327(\306"
+"\1\23771h\246\212\203\272\23|\214\263\316\3572\3730\230\252\3061\242[\277"
+"8\306\207!\b\256\b|\266\77[\227o\236\\F\336[\261\344\267\\\270&\16\303"
+"\373\227\270W\5W\204#\3347\220g\324-\307U\350\251\b\b\352<\fY\16\64l\366"
+"\4\236\213\202\200C\22\254\347\243!\362fDS\244B\0\30\27\204X\32\31\1\234"
+"5\21\366\225\305A@\253\217\360i\320\1\335\242\215^@zm|\0\0\251\3Y@g\330"
+"_,Q\242D\211\22\375\337\364\17\264An\367\216<\22\261\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301"
+"\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177"
+"d_\221\0\0\0\7tIME\7\323\3\6\22\6\t\n\221\211\21\0\0\4\37IDATx\234\355"
+"\230_l\24E\34\307\277-\355\265`(\265\bg\260\244\21\32m\1SI\203E\20R\255"
+"H\2\271\240\22\202<\20h\361O\214\201X\205\227\362\42<hb$<\30\203\341\1"
+"\224\330\360b\320\4\214\345o \226\212b\42`\32\256)\344\200ZO!\5[\332\332"
+"\336\237~}\270\335\331\275\335\231\271\33\237\324\354\367\2453\363\375"
+"\335g\177\277\331\331\331\331\2\201\2\5\372\257iR\36\61\225\315\277\336"
+"\317\264f\325m\\Qz\315\374*%\317\35\373\253}v\246\335|\211c\3\21cDh\323"
+"\345\24\177[\17\0XG\222<Zm\312x\373\17r\244u:\0`O\202$\323/\230\21\246"
+"\356\32e\252ge\246\263\240\223$\331\267\304\b1\255m\200\311\316Fk\342#"
+"q\222d\367<\23D\250\245\237\351\256g\354{\267m\234$\323G\246\2300\352z"
+"\311\276\245\242{`\214$\273\353M\20%\35\23\34yItk\276#I~\36\66al\30cz\237"
+"\223\370\322\33$\31o0A<\370\355\4o,s\372\233\356\221\344~\177`\241\232"
+"\261\250\266\0\27\\\13{Q1\200\341/\215\30\213\303\340/q\321\255\252~\0"
+"H\35:\341\17,R\42\312\346\226\42\311\231\305\211\241q\0@i%\200\321NI\244"
+"\2321\255\2(z\261v\362H\254\353\3348\200\232\n y\360\260:o\211\36;\315"
+"\214\222\275m\0\360\301 yg\255,R=\37\244\235j\365\366\265\300\214\2522"
+"\340\253.3\306\360\220h\226\277\21\302\310\243\300\315/\342\262H5\343n"
+"\177\332n\26\204+\361\364L\340\312ui\244\2321\376\363=w\267\276\2=\273"
+"\373\r\318\336k\267\30\357CU9c}\352`\225\232\372\255;3\20\1N\361\352\n"
+"s\4\260\371R\202\344\304\3156`Y7\17\252\302\324k\f@{\364\331\205\341\321"
+"\350\271\16\340\361\301\267\276V\205\25h\23)K\224ON\r\16\1\250c\374N\256"
+"\264\3\5\3727\313\273\326W7\326V\206+BC\77\265\37\370\207\304\303ti\257"
+"<\246\251\275\243UMhb\266\244\273V\224$Y\253@\264\320\253+\376 {[\222#"
+"\336\364!\310fo\320\353\266sQ\206\330,A\370/\367\273p\346\373\21\336\271"
+"\2604\333\23\3468W}\210\251\302\373\376\235\217\\\214\255J\206\177Fzl\247"
+"\1\300,\'\320\273\17\177\354X\357z\254Wm#\4\300\275L\276\361^\314a\304"
+"\24\216u\370\332\42\2\217y\31{$\305\24\2\300kV\247a\3245\b\0\360\355\345"
+"\336\nD\370\216L\373\303\37\255A\347\4\32\365\375\240M\2qJI\210\376\237"
+"\42\337\345\252`\337\215\311\214-\366\207\311\226\264\302\273H\222\273"
+"E\367y-\343\264\334[\22#w8\335\263\2qH\302\330\247\342\317\221f\313\5\22"
+"\306\247\232\34\205\226kKAG>\2143\2qDf\17XfR\307p\322xRg\353\366\333\34"
+"\245\b\206\356\33$G)\305\371LG\216R\32-\363\202\6\221\253\224\367-S\362"
+"\24\b\235\322\227\202\230Q)\13u\376\'\32\304\239J\331i\231!\r\303\3310"
+"%\37]N\32\'5\b\334\27\214U2\3733\313\234\241c\350Ky\312\362\262\327\250"
+"\367\354@\245\343v\263=\317\267\207s|\37\226 \354\267\215\364\253N\350"
+"!Q\312e\277\31\321\316\266\320#\202q\336\347MW\315T\241\252\353\377\'\307"
+"m\353\357:}\32xX\344\221\362Z\267,C\371\31c\253Tyo\257i\227o\226\34F\326"
+"[\261\370\256=\\c\302p\77\22/\213\301Wr#\2347\220+\353\246\353bh{\36\b"
+"\314w1\270\36@\375~\327\300{\371 \200\37\250\326\256\374\20Y3\342Q^\205"
+"\0\0\212T\2105y#\0\334\226\21\316\226\230 \200V\37\341\270\352\200\256"
+"\321^7 \332b\16\0\0D\316g\0Gs=b\201\2\5\n\24\350\377\246\277\1\307F\211"
+"\355\225\177E\254\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0L\0\0\0x\b\4\0\0\0\362u\334\33\0\0\0\2bKGD\0\377\207\217\314\277\0\0"
+"\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\22\13\23"
+"B]\16&\0\0\4\373IDATx\234\355\232mh\34E\34\306\237K\323&5gk5j\210mI\253"
+"\306\327b\300\227\17\202\255\221\212Vj\225Z\337J%\210\42V\277\250 Z\21"
+"\205\212\242\25\241\22PTJ\253\210B\204P|\t-\322\240Bc\25\254\247H\332D"
+"\321b\222\32\251\37\254ms9b\362\370!m\223\335\231\331\231\377\356\34=d"
+"\236\3754\263\317<\363\273\275\231\233\335\331\313\201\250HU\235j\0\223"
+"\2\230T\1L\252\0&U\0\223*\200I\25\300\244\252X\260j\337\201\rh\304L\214"
+"\342 \16eL\242\277#\317g\270\227c$\217\361[>\311\331Y\322|\202m\343QN\251"
+"\310-\234_\t`kYdT#\334T\t`;\250j\2307\245L\3638+\317\321\324\235\213\245"
+")\323<\202\375\251\255\275*e\232G\260.m\355\202\224i\36\301\332\321\201"
+"cJmm\312\264\34<>WVc\3\226\241\tu \362\310#\7\340\7\264\234z0\0\230\217"
+"f\344A\264\342a\314\6\260\23\67\247\312\361\276$\rb\20\0P\217q\0@_\312"
+"\234\262-\342\2130\23@\t=)\333\227\r\354J\314\2\260\17\375)\333\227\t\354"
+"\26\\\202\34\306\361\25\276O\231P&\260\325X\0\340w\354\310\220\341m\255"
+"\234:\36g\221d\211/gI\361\217u\33\207I\222{8\247\222\300n\345~\222\344"
+"\0o\314\226\344\27k\35\3738Ar\210wg\315\362\7\325\300\315\34!9\306\36\266"
+"f\317\363\7\326\305\t\222\243\354`\213\2074\217K\322\4r\370\13[\361<\212"
+"^\362\274]\261\313\330\3015\336\322\274\337]\370R\305>\211\7\60\251\2\230"
+"T\1L\252\0&\325\377\5\354bt\36_\314\372\261<Ew+\261\33E\24\320\346\340"
+"u^V/\347\37\261\335\257N\341\302\\\230\326v\234\371d\267k\350v\315\266"
+"\34\371\266\0\353;\245\365iY\357.f\340_\343\271\274f\207G\247\33\260KS"
+"\2333\372\235\306\230\31\13\270\317%\0\300\243\332\3327\214~\7\260\344"
+"K:\317\36\0\0h\324\326\2567\372\255`\37[\316w\333\2\216\353\13C}\273\261"
+"E\342\200]\256\35\362S*8\17\375*cF\252Y\231\254o\4s\22\\aH\271T\16\366"
+"^\2\324o\\&\302\2\301\213\264I\333\244`\215F\250\347\304HS\307g\232<!\330"
+"\317Z\250;2@M\36\257(\2319\t\330\325\32\250\256\314P\223\307\'\261\334"
+";%`\275\n\326S\236\260\300\370\244\332\352\16v\226\202\325\346\21\13|!"
+"\222\335\347\16\326\36\303Z\357\25\13\254\213\345;\203E\365\201g,\265\7"
+"\365\274\366\356\242%\266\327l\276\7H\257A\234\227\330\203v\255|,Rz\326"
+"+\320\t\rY\316k\257\30c\226r\350\313\310+V\247+vA\244\264\3273\320\t\315"
+"\262\234\327\200\255\213\224^w\352&\217\215\370\34\37b\245#\26Pou(\363"
+"\341\'\333DV\216\373\247\371w{\232\225\32\60k\223\330\261(\326b\243\30"
+"\354\279X\267C\27\335\214\313\336\246)\342\177_\343\260\334Z\27\34FK\253"
+"\333\240\212\350\236HI\367*L\1;=R\32H\321\251\213\36\211\224:5\16\5\254"
+"&R:b\355\242N\251)Y\333TE\376\3640\201\21\27\60\351.\213\372X\366\216\265"
+"\315\206Hi\263\301\25\33t\365\221a\371\204u\30\257R\206\276\341\341\302"
+"0\275\310&\255G\271@\243\221\322\371\326O\277F\251\351\265\264x:V>`\360"
+"%~\36\355-\\\302\247\267\377X,\216\271\215o\201m]%w\363\246\20\254Zq\317"
+"M\13\366@B7m\32\254$\260Z\305\233\360\215\250U\277:v\364\220\26\213\274"
+"\316\340\217\177\211$y\275\4lS\254\361K\332\206o\31\260\310\222\326\277"
+"V\343<\234pu5`K\224\200\2451\307\331\34\63b\221\344\253J\346.\255\357\32"
+"\31\230n\246=x\362\\\3w&BMj\313\264\264\327\f\236=IX\372\207\221\2\256"
+"\320\374\256\354\303\f4[~\243\246k\0\177cI\302y\333-\273\206v\265\3035"
+"\311*\333\232b\330\34.\367\373\350\3038\303\3420\254\331\256\33\230ie\303"
+"2\202\335%\352\246\27\373E\376\25N.\303w\374\251\363h\271\227 \370\256"
+"\263\337q\37\304|\312M\13O\372\177t\362\337\356\206\225\4Vc\355$\376\20"
+"q\320\342\357g\225+\226m\327z\330\330I\17\347i\374\37\31\375Gx\255;\224"
+"\35\f\\\305CJ\'/&\370\233\371\265\346\312.\264\364\242\36\216\177\2419"
+"\23M\250\305Q\34\300\77N3\252\6\27b\16J\30\302\260\223_U\370o\217T\1L\252"
+"\0&U\0\223*\200I\25\300\244\n`R\5\60\251\2\230T\1L\252\212\5\373\17\35"
+"\361\\\23[X\237\301\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0L\0\0\0x\b\4\0\0\0\362u\334\33\0\0\0\2bKGD\0\377\207\217\314\277\0"
+"\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\6\22\13"
+"\22\65Z>\260\0\0\5(IDATx\234\355\232k\210VE\34\306\237ww\335w\315u/jm\230"
+"\312\226\266e$\26aD\27S\23B0\261\354fT\333\215\302\372\220EPI\4\31E\27"
+"\202BH*\242\13\245\37\202%\312b%\\Z\310\315>\224o\27\66u%\215\355u\215"
+"\260ZuW\367\372\364aW\3353\22733\357\314\342\13\315s>\315\234g\376\377"
+"\3379g\346\2349sN\6DQ\252\344t\3\350\24\301\\\25\301\\\25\301\\\25\301"
+"\\\25\301\\\25\301\\5N`3\360(\316\361\214\301\320[\226K\270\205\307\370"
+"1g\372\304\t\215U\316F\376\310A\222\7x[1\201\255\345\237$\311\36>\306\251"
+"\305\2\66\231\317\261\227\344 w\363z\337h\341\260\252\271\216\207H\16\360"
+"\33.bi\261\200\225\363>\346I\16\261\215W\373c\205\3\233\317\16\222d\'\257"
+"\n\23\61\fV\226\315\34&\331\303\33\3\35h \260\325<Nr\210\33yF \260 w\376"
+"Z\334\215r\0\235\330\204\336\20\1\21\350\221\264\0s\221\1\260\3{C\204\3"
+"\20\b\354\n\324\1 ~FW\210p\0\2002\377\20U\230\215\n\0\3 \316\302\4\364"
+"\3430\372\212\1\254\32SFC\255\304\\LD\17\366\241\r\255\336p\336\343\247"
+"\201\333\230\324\0;\270\356\364\217JB\\0*\303\34<\201U^Q\3\200\35\305a"
+"Em\r\36B\271G\324\0`\177#\217!\2516\203:\314\360\210\32\0\254\17;\361\217"
+"\177\30AA\356c[\321!\325\21]\350\364\212\32\344\311v\35\363\302\310<\304"
+"\33\374b\206\1\3\357a\216\375\243P\303\374\335\373v\221A\240\305\341\t"
+"\270\f\213q)\352\320\213]hE3\216{\305\13\6\6T\241\37\65\230\210At+o n\n"
+"\b\26V\377\267%\2\177E0WE0WE0WE0W9\202]\210\246\321\307\377\36,- \335r"
+"l\3071\344\320h\341\265\236\210\\\314.a\316\325\3448\225\311\215i;\304"
+"\3120\363\261O\251\322\333\16X\337K\255\323\26`\254f\27\245\30\324\356"
+"\253D\217\325E\\\202m\212\332\214\326o\325\307\364X\300]6\1\0<\242\254"
+"}S\353\267\0K\77\245\265\346\0\0\200\351\312\3325Z\277\21\3543\303\376"
+"\26S\200Q}\255\251\337\240m\221\332a\227*\273\374)\345\254\273~\2116FA"
+"\2432]\3379\214Ip\231&\312E\356`\37\246@\355\343\265NX x\2012\322\373\256"
+"`\323\265P\317:#\235\332\276P\304s\4\353PB\255\362\200\32\331^\226bf\\"
+"\300\26(\240\276\364\206\32\331>\27\342\336\342\2\326.a=\31\b\13\24\7\325"
+"{\366`S%\254\306\200X\340\363\211\330\273\355\3016\bXk\202b\201\223\204"
+"\370\326`Im\n\214%g\220\367+g\27\227`g\242\254\237\3\24\256\77\22\37\363"
+"\345\f\312g\345\332D\351\231\240@\'\2247\354W\2361\n\226\361P+\26\246\346"
+"P\234\2619\211\322\17\201\201N\310\264\324\256\0\2733Qz\303*M%\326\343"
+"+l\306rK,`\232\321!\215\207_L\3Y\332\356\35\343\337\36hT*\300\214M\204"
+"\355\\\241\305zg\260\275\356`-\26)Z(\312\334\246>\341\377H\3410L\255s\26"
+"\275e\261]\247J\350\366D\251Y\341\220\300&\'J~\3376\364z8QjR8$\260l\242"
+"t\304\230b\222Tc\376\200Z\202\231cJ\303\312\17\374\22\230\353*\213\374"
+"Z\366\216\261\315\323\211\322\353\32\227\320\351\246%\272\345\343\306n"
+"\274B\352\372\232\227\13\315\360\42\353\225\36\351\4%\77\264\3146\36\375"
+"\315RM\273\241\305SBy\277\306\227z<\312)\\\312\321\233o\26\347\t\356\227"
+"tNS\252\3644\33\35\301\312$wu\241`\367\247\244iT`\245\201UH\336\224+\42"
+"W\375f\231\350A%\26y\215\306/^D\222\\\344\2\366\212\320\370Ee\303\2674"
+"Xd\237\322\177\207\302\331\235rv\25`\363\244\0\13\5\307\231\34\320b\221"
+"\344\253RL\361\227\221\21]\356\6\246\32i\17\234\334w6\267\246B\215\350"
+"\3351\321^\323xv\244a\251_Fr\230\257\270\257\374\212R4\30\356Qc\325\211"
+"\1771/e\277i\312\256\240\275\311\342\234\370\312\364L\321,\16\217\367\367"
+"\350n\324\30\34\232g\266\355\2f\2412ai\301nuJ\323\216]N\376eV.\3155\336"
+"b\335[V\23\4\77\260\366[\256\203\350w\331i\326I\377OV\376\225vXi`Yc\22"
+"\361%\342\200\301\277\207%\266X\246U\353\203\332$m\254U\370\77\321\372"
+"\217\360J{(3\30\270\202\177II^H\3617\360[\305\231\235e\310\42o\226\277"
+"\320LA=*p\24\373-\377\332\311\342|T\241\17y\34\264\362\313\212\377\366"
+"\270*\202\271*\202\271*\202\271*\202\271*\202\271*\202\271*\202\271*\202"
+"\271*\202\271\252h\301\376\3<F\267\347\260]H\340\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\4\0\0\0\362u\334\33\0\0\0"
+"\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221"
+"\0\0\0\7tIME\7\323\3\6\22\13\22\65Z>\260\0\0\5\317IDATx\234\355\232[lT"
+"E\34\306\277-\225\202\255Ej\321\212\5Z\271\252`\33EQ\214U\20\60\65\264"
+"\32\304\33\42\r\301\220 /j\3425\306\7\fF0\30\24/AC\212\304H\304X\r\325"
+"\212\2276\242P\300\b6F{S\260\261\255\324\250\221\332\322\213\265\375|\350"
+"\262\335sf\346\314\314\331\355B\314\371\316\303\356\371\3177\377\371\355"
+"\354\314\271\3149!\20g\244\222N7\200J\1\230\255\2\60[\5`\266\n\300l\25"
+"\200\331*\0\263U\362p%.\304\265\350\305^Tc\300g\6\306\262e\361\n\316a\36"
+"\307\271\342E\374\223=$k\270\322on\377Pi|\222G\330G\362$\277\346#\34\35"
+")\231\304r\16\351\216D\203mggT\363\335\334\306\354p\311\42\366G\342\377"
+"pSb\301\226\261\233Nuqc\270l.\233\243\342\3738\323G~\337\263r\5F\271\42"
+"\243\261\2\67\3\0N\340\357\250\370d\344\372\310\357\33\354|I\354\2\24\0"
+"\0j\321\20\65\27\63\22\13\366\2334:;\374\271\36\365\221\30\221\357#\277"
+"o\260\nitB\370\3630\276\211\304R0\25\63|\264\340{V\276\343\230\225\203"
+":\26)\235\303\343\221h\23\257K\334\340\7\356\305\6T\342(\332p\34\35\30"
+"\274=\35\32\364\207P\36\371>\6S\22\331c \230\315\371,f\21_`\27IrOT\331"
+"\42v\204{\254\223/[g\216\361\\\331\202\26\0@&\372\1\0\rQe\237b\7V#\31@"
+"*\246 \335q\b\321+NW\27\2718\13@/\252\35\321}\350\n\177\313\306\205\226"
+"\31\343\4v%F\2\250C\243#\272\23\245\350\3\0dX\317\313\270\200\335\202K"
+"\20B\77\276\304\267\256\222\257\320\16\0H\3055\247\3l\t&\0\370\5{\204\222"
+"\367\360>\0 \35\223\254\263\3064+A\360!v\223\354\345s\322\322\2\66\221"
+"$\17\330\346\215\25\353V\266\221$\17\62]>\355\271\233$y\2247%\22\254\210"
+"\365$\311f.Tzf\263\236\344_|4q`\313\331\300\1\222\255\274\313\323\3671"
+"\7H\276\222\30\260,nf\27\311>Vs\236\306\273\220u$\77O\fX\5\7H\366p\27\363"
+"\r\334\245$\177\340\365\26\371}\37.\6\20\302\37x\t%\2501p\257\302Z\264"
+"c\272U\13>{\3542\356\342R\253\32\2273\317\302\35B\260\234n\247\0\314V\1"
+"\230\255\2\60[\5`\266\372\277\200\315@Y\370d\326\210\5>\232[\214\375\350"
+"F\rJ\f\274\306\247\325\231Q\253\21\203*\263<\361\327D\325\355g\232\267"
+"\3334\351\7\302\2\nI\276n\201uX\250}v\254W\27#\360\257\262,\r\'\215\376"
+"\304\371\250\224DCJ\277\321\30Sc\1\367\231$\0\260V\32}U\3517\0\363\356"
+"\322\261\372\4\0\200\361\322\350\32\245_\13\266[S^\245K\20\326\27\212\370"
+"\26e\r\317\1\273@:\344\207Tc<\364\223\2249|\315Jo\35\262\230\223`\241\42"
+"\313\245\366`;<\240~\346\rVX 8]\232i\273-\330x%\324\323\326HC\333G\222"
+"|\226`\77J\241n\217\1jp\333 \344\f\331\200]%\201\252\210\31jp+w\345\225"
+">\237SU\256\25\260\36\213\23\26\350\236T\245\346`\347\tX%q\304\2\237q\344"
+"n0\7\333\342\302Z\23W,0\325\225\337\30\314\251\267\343\214%\266 \226K\257"
+".\362]\253\317\352k\0\377j\301E\236-H\317\225\17:\366\236\212+\320)\265"
+"j\312\245=F\227e8\2647\374\320U\325\206\244\307\234O\312\216\304\31\350"
+"\224Fj\312%`\313\35{/\32\65\223\206u\370\f;\261\330\20\13\310\324:\204"
+"\371\360\275n\42\13\333\312(\377\3768\315J\t\230\266\212k\313u\325Xg\r"
+"\366\223=X\225A\23UtK_\'\307\341\177K\342\320\\Z\233\254H\3173\33T\16\335"
+"\355\330\23\37\216I\6\3779\216\275f\37\215\232\350\1\307^\231\304!\200"
+"\2458\366:\264M\244\n\221^m\235\244\310k\20\0\60\20y\16\354\tf\273\312"
+"\42\336\226\275\241\255\363\204co\263\302\345\32t\231\216a\371\260v\30"
+"\27\13C_qs\241\230^d\216\324#tP\217co\262\366\327/\25\42\265\232\32\217"
+"\273\366\233\24>\317\337#\275\204\363\370\365\372\203\305\305.\267\374"
+"\2710b=\300\276f\t\226,\270\307\370\5[\345\321L\211\4\313\13l\224\340\365"
+"\370G\304\3201\303\206VK\261\250|*\351\376\23I\362F\33\260\215\256\312"
+"\317J+nU`\221\275R\3772\211\263\335\243w%`\263\204\4\5.\3078\366)\261H"
+"\362y!g\245\324w\265\35\230l\246\335\37)\313\342\'\236P\203\332\26\225"
+"m\223\302s\320\13K~3R\203<\311q\245\16#0Ms\214\212V3N`\226G\271\356\222"
+"]B\273\304\240Ob\225\356\234\242X\34\36\356\347\321\3558W\343P\234\263"
+"M\27\60\375J\207\245\4\273\323\252\231\332\250\227KMTh\344R\374\307\37"
+"\32\217\226{\b\202o\32\373\r\327A\324Ef\232\30\361\177g\344\277\315\f\313"
+"\13,E\333\210\373&\342W\215\277\221I\246X\272U\3536e#\325\34+\361\277\253"
+"\364wp\2569\224\36\f,\346\357B#\353=\374\323x@\322\263\23\65\255\210\233"
+"\341+4\31\310\301(t\242\311\360m\326\24LE:z\321\2126#\277\250\340\335\36"
+"[\5`\266\n\300l\25\200\331*\0\263U\0f\253\0\314V\1\230\255\2\60[\5`\266"
+":c\301\376\3\273_HX\341\277\333\330\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\4\0\0\0\362u\334\33\0\0\0\2bKGD\0\377\207"
+"\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7"
+"\323\3\6\22\13\23B]\16&\0\0\5\371IDATx\234\355\232kl\25E\34\305\317-\320"
+"\202@[\312Ky#X\201\200h\32DQ\221\227\32\22 h}a\320\212\32\25L\f\32\23\225"
+"\30\23\61\276C\242!\221\370\2%\b\37\304j,\32Pil,\25\22\225\13\312\243\224"
+"\b\244\226b\fj\245\205^\3728~\350\345\262;\217\235\231\355\345B\314\236"
+"\375rg\366\314\377\377\273\2733\273\263\263\33\3qA*\353|\3\350\24\201\271"
+"*\2sU\4\346\252\b\314U\21\230\253\42\60WuM_\250!(\306F\324%K\263q-\22\250"
+"@\25\332C\306c:\266\34\316\340&\236\342\307\34J\20\234\313\343l&\31\347"
+"\242\2601\323\201\225\315\22\356b+\311\243\274\213\340p\226\361\254\356"
+"8\177`K\371\7I\262\211O\260/\301\233\331\226\302:\315\25\347\7\2547_\340"
+"I\222\255\254\346-\311\272)\254\365\34\261J\216\317<X\36\227\3618\311\26"
+"Vr\32\273$k\307q\217\7\254\236s3\r\226\315\7XG\262\215U\274>\205\5\202"
+"\245\236\223\231\340\343\231\6\233\310\32\222d-\257\23\366\24y\216Y3Wg"
+"\26,\207\233\331N\262\211\267*\366~\3449\231\337sL&\301\26\260\231d\33"
+"W\361\42\305\336\311\254O\201\35\226\216\250y\13}K\352\203\373\220\r\240"
+"\26\353qR\261\177\7\312R\277\3630\3329~h\260I\30\213\30\200\3558\250ql"
+"Dc\362W7L\312\34\3305\30\b\200\370\5\365\32\307\327X\213V\0@O\214Fnf\300"
+"r1\n\335\1\264\200\30\200\301\350\217\34\205\2532u\222\207\340\22\307\f"
+"!g\27y(H6\237\217\261\350\201&\34B\25*\220\360\2716`2\226\240\33\200\2"
+"\214A\265c\216P#\262\220[\351W\13k\270L\362\25\363O\222d\3_\311\314\250"
+"$\304E\242\256\30\215\247P,\324~\212\317\0\0\271\30\356\230!$X#\376U\324"
+"\346\343\21d\13u\353p\4\0\60\3221CH\260\277P\2076\2516\206\201\30\42\324"
+"Ua7\0`\0ff\2,\201\235\370\333\312\331\212\345\250\6P\200\42\247\f\241\257"
+"c[P#\325\21\365\250\225j\177\304!\20\371\316\275,\364\275r&\353\204\221"
+"y\\3\363\272\211\373H~\353\26\77<\30x\77\343<\235\204j\347\21\305\345\342"
+"\314\266\206\344\36\336\340\20;&\215{\7uC\21\246\343*\f\304I\354G\5\66"
+"\243Y\343\314\302\243X\210\325x\337:v\247\300\200\\\234F>z\240\25\r\312"
+"\13\210WW \206]\231\2;w\272`\227\b\42\60WE`\256\212\300\\\25\201\271\352"
+"\377\2\66\6\245\311\333\377\1\314\n\221n\16\266\341\24\342(\261\360ZOD"
+"\306{V#:T\3528M\212{\332\266\261Wz\346c\237S\245w\35\260~\222Z\253\26c"
+"\234\346c]\222\217\372*\365B\223\325I\234\201\255\212\332\230\326o\325"
+"\307\364X\300\2756\1\0<\246\254}[\353\267\0\13>\244}\314\1\0\0\203\224"
+"\265\213\265~#\330\27\206\375\345\246\0I}\247\251_\251m\21\330ag)\273\374"
+"Y\305\255\273~\2266F\250Q\31\254\35\16c\22\234\255\2112\316\35lm\0\324"
+"!\336\350\204\5\202\227+#}\350\n6H\13\365\2743\322\331\355KE<G\260\32%"
+"Tq\'\240:\266\327\244\2301\27\260I\n\250\257:\r\325\261\225\tq\225\357"
+"\347t\215\367JXO\247\t\13\24\7\325\32{\260\276\22VI\32\261\300\27}\261"
+"\253\355\301V\nX\213\323\212\5\366\24\342[\203\371\265>\315Xr\6y\277rv"
+"q%v\372\312\3729@x\375\216\301\201\31\224\367\312\245\276\322si\5:\243"
+":\303~\345\21\243`9\27\252\300\324\300\34\212#\346\177S\366s\232\201\316"
+"H\\v\27\245\0[\350+\275e\225\246\27\226\343\33l\300\34K,\240\237\321!\215"
+"\207_M\3Y\332\26y\374\333\3224*\25`\306&\3026Rh\261\334\31\354\240;X\271"
+"E\212r\2122\267\31\341\363\257S8\fS\353\270Eo\231n\327\251|\272\333W\332"
+"\254pH`\275}%\371=Gz\264\304W*U8$0\377\233\332\23\306\24=\245\232\204\302"
+"%&\35\352)\265+_\366K`\256\253,\362c\331{\3066\317\372Joj\\B\247\353\347"
+"\353\226O\32\273\361<\251\353k\36.4\303\213\34\241\364H\7\310\377\322e"
+"\224\361\337\337.\325\3545\264xF(\37\326\370\2\377\217r\n\27\360\357\315"
+"\27\213K\5\367\253:\247)Up\232U\216`]%w^X\260\7\3\322\224(\260\202\300"
+"\272K\336\2003\42W\375f\231\350a%\26\265o%\305\223H\222\323\\\300^\27\32"
+"\277\254l\370\216\6\213L(\375\367(\234\r\1GW\1\66A\n0Up\364g\213\26\213"
+"$\337\220b\212\237\217t\350j70\325H{(\265\357bn\t\204\352\320\7\236h+4"
+"\236\355AX\352\207\2218&*\256+\373\320\5\205\206k\224W\265\370\7\23\2\366"
+"\233\246\354\n\332\333,\216Ige\272\247h\26\207\317\365\373\350\6\344\33"
+"\34\232{\266\355\2fX\231\260\264`w:\245\331\213\375N\376\331V.\3159\336"
+"d\335[\26\20\364\177^\32,\313u\20\375.;\rK\371w[\371\347\333a\5\201\345"
+"\30\223\210\17\21G\r\376\3\314\262\3052\255Z\37\323&\251b\37\205\377\23"
+"\255\377\4\247\330C\231\301\300y\311\257\f\275z)\300_\310\37\24Gv\230!"
+"\213\274Y~BS\200\21\350\216F\34\66~\301\323\241\34\\\206\\$P\207cV~Y\321"
+"\267=\256\212\300\\\25\201\271*\2sU\4\346\252\b\314U\21\230\253\42\60W"
+"E`\256\212\300\\u\301\202\375\7\357\255\26\276W\31\315\376\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\4\0\0\0\362u\334"
+"\33\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1"
+"\177d_\221\0\0\0\7tIME\7\323\3\6\22\13\21\254So\n\0\0\5\331IDATx\234\355"
+"\232ilUE\24\307\377\257,\245\366Y\4A\21YZ\331\252\202%\nb0\200(j0\200\6"
+"\301\5\21B4F\344\213\232\270`\214&\20\fbH0\304=\244H\214DT4\240\5\27\210"
+"\13\24\60\202\215QhQ\261\21\20\214\32)KK-\355\337\17}\334\336{g\346\316"
+"\234w\37K\314\375\337/w\3169s\346\367\346\316\334e\336\244@\234\225\312"
+";\323\0&%`R%`R%`R%`R%`R%`R\265\77\365M\344a$\306 \37[\260NT\217q\217\36"
+"\274\222#X\306\356\6\377,V\221<\316\2779Q\2227\36T\232Oq\7\233H\36\343"
+"7|\214\5J\304T\266i-\373\236.\260\345<\352k\270\201\313\330+\24\261\230"
+"\377z\376f\336tz\300\246\261\201A\325sQ b07\371\274{9\3229w\254Y9\3\235"
+"B\226\2\314\300\315\276r\t\372\371J\207q\3109w,\260\13\64\266\13\61\332"
+"W*AW\357\274\5\65\330\351\234;\26\330\37Z\3530\337\371P\264}\353Tc\201"
+" w,\260\n\255\265\267wV\212\1\310\367J\337b\273({\254Y\371N`V\266j\217"
+"\347\275\226\265\236\365\0G\2102\307\274\363\337\203\271\30\203b\24\202"
+"H#\215\24\200\303\236\267\77:{\347k\261M\2249&\330\t\314G9\6\42\rb,\36"
+"D\1\200\203\236w8:d\316\216\342=a\346\34<+\367a\37\0\240\33\232\1\0\65"
+"\31{\21\372\243\20\0p\2+\360\2510k\16\337.J\320\1@#*3\345\213\320+sV\217"
+"M\342l9\4\273\n\35\1\354\302\356L\2714s\17kB9V\2369\260[p)Rh\306W\370."
+"c\271&s!\353\360u\26\371r\6\66\31\275\1\374\206\365\236\245/\212\0\0\37"
+"\340\375\2542\306\272\217\235<\36a\3\311F.\364\331\266\220$k9:\273\234"
+"\271\300\272\225\7I\222[Y\344\331n\340/$\3115l\177\246\300&\262:\363Rs"
+"\243\317\3728\377!Y\315a\331\346\215\2135\2355l!\271\237w\6\354/\221l\341"
+"\272\3543\307\201\352\301%\254\'\331\304J\216\r\371>\'\271+\320\207\247"
+"\21\254\202-$\217s\25\207\206<\243\370#\311\362\30\271c=\222Z\220\302_"
+"(\307\263h\by\6\241\16s\360j\234\344qz\354r\256\342\24\255\247\214W\304"
+"\310\13\202)$\313\3512%`R%`R%`R%`R\375_\300J\261:\3630\333\215qY47\1\233"
+"\321\200*\314t\210u~\254\16\346\201\320*\305j\341\203\271\312W\267\231"
+"\351\350h\327\244\37*\213\'$\371\272\0k\273R\373\234\270o\27\355p\302\350"
+"K\343\230\323E\274\36\33\64\326\2241\336i\214\231\261\200{]\22\0\230\243"
+"\265\276l\214w\0\213\356\322.\366\4\0\200\236Z\353lc\274\25l\215\305\277"
+"\321\226 \243/\f\366\245\306\32\221\3v\234v\310\267\251\312y\350\347\31"
+"sd5+\243\265M0\'\301\361\206,\227\311\301VD@\375\3121\42,\20\34\244\315"
+"\264\\\n\326\323\b\365\214\30\251\355\370X\223O\b\366\223\26\352\366\30"
+"P\255\307\363J\316\224\4l\270\6\252\42\66T\353\2616\224w\252\4l\247\202"
+"\365D\216\260\300\360\244\322.%\350+\236\257`\315\314!\268\77\220\273\306"
+"\35li\bkvN\261\300\302P~g\260\240\336\3161\226\332\202\352\327\276]\f\365"
+"V\236[e~\7\310^\373pqd\13\332g\345\303\201\322\3239\5:\251\375\26\277\266"
+"\307\30\n9\25\3722\360\207\253S\217\365\17\224v\344\30\350\244:Z\374\32"
+"\260\351\201\322\213N\315\2441\17\237a%&8b\1\335\254\21\312|\370\3016\221"
+"\225c\226/~s\216f\245\6\314Z%t\224\204j\314\23\203\375,\7\333\350\320\304"
+"F\206e\257S\34\210\177K\23ay\265\256r\30-c\335\6U@w\5J\3535\21\n\330\271"
+"\201\322\336,\32u\321C\201\322jM\204\2\226\37(\35\2616Q\250X\32\255u\362"
+"|[ \200\26\324\273\200IWY\324\317\2627\254u\346\6JK\fQ\241A\327-0,\37\265"
+"\16\343I\312\3207|\\\30\246\27Y\254\215Q:\350x\240\324/\354V4E\261\330"
+"\366\357<\31*\327\32\342\42\177\217\366\25.\342\327\333o\26\227\204\242"
+"\27\232\42mME7\363\212\20\254\275\22\3359[\260\373\42\232\231\251\301\212"
+"\2\353\244\304F\\\21\325\264\307\261\241\7\264X\344(C|\370\42\222\344u"
+"\22\260E\241\312\317i+\276f\300\42\33\265\361\3234\221u\21\275\253\1\33"
+"\242$\boP\350\316&#\26I\276\240\344\334\240\215\273Z\6\246\233i\367{\276"
+"\36\374$\22\252U\313|\331\26\33b\266Fa\351\77F\252P\246\271\257\354B;\f"
+"\264\334\243\374\332\213C\30\22\341\267\275\262kh\';\364I\\\331\236)\206"
+"\305\341S\375\177t\35\316\263D\30\236\331\256\13\230\331\312\206e\4\273"
+"C\324\314NT\213\342\307;E\31\256\361G\316\243\345n\202\340\233\316\361"
+"\216\353 f\227\233\372x\361\337;\305\337\346\206\25\5\226om$\374\21\361"
+"\273%~7\363\\\261l\253\326\7\215\215T\262\213&\376]c\374\21\301\316t\7"
+"\60p\22\377T\32Y\20\21\77\60\263\323.\330\263},\255\250\207\343\26\232"
+"\256(F\'\34E\255o_p\224\3621\0Eh\304~\337v]\231\222\275=R%`R%`R%`R%`R%"
+"`R%`R%`R%`R%`R\235\265`\377\1\356U\362\257\330| [\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\4\0\0\0\362u\334\33\0\0\0"
+"\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221"
+"\0\0\0\7tIME\7\323\3\6\22\13\24\3349\233\205\0\0\5\374IDATx\234\355\232"
+"[l\25E\34\306\277\26h\13-\275p\253A\356T.\6\202\206TQ\344*jH\200\240\25"
+"\25\243V\324h\220\304\2401Q\2111\261F\342%$\32\22\211\32\345\22.\17\222"
+"J\4\25T\32\tP\340A9\242\334\321\226\324R\fA-\264\245\245\227\317\207\36"
+"\16\273;3;3\273\247\7b\366\333\2273\363\377\346\77\2773;\273;g\316\246"
+"\201\270.\225~\255\1T\212\300l\25\201\331*\2\263U\4f\253\b\314V\21\230"
+"\255\272\'3\331 \224`3j]u\3\61\2\323\220\211}\370\3262\33\223sdr&\267\361"
+"\22\67p\260\253~\21c$\233y\236s\3552&\7+\203\245\374\205m$\317\360aG\375"
+"\2^\325V\26\245\36l)\377\42I6\362E\366u\324\257\340\345\4X;\357M-Xo\276"
+"\311&\222m<\316\373\\\221q\334\343\30\261\32\336\231J\260<.\343y\222\255"
+"\334\303\351\354\346\212\315e\235\3\3540oN\35X\6\237b-\311vV\362.\17\26"
+"\370\2[\34\'\262\234\275R\7\66\201\'\343\247i\262$\3729\233\35\3435\321"
+".w\30\254Lng\7\311F\336/\211\216\341n\307\211\\\313\302\324\201-d3\311"
+"v\256\222\236\244\311\254N`\325\361v\313\334!\36I\5x\2\31\0j\260\21M\222"
+"x\21\362\22\237\267\342\200e\366\20`\305\30\2134\0\373qJ\21\357\21\377"
+"\324\200\315\326\331C\200MB!\0\342W\324I\242CQ\204l\0@\33\326\341;\353"
+"\354\201\37\342\271\30\211,\0\255 \6\240\7.\343\2Z\34\361,\f\212\177j\302"
+"\236\0\371\3\203\345\241O<\301|\214EO4\242\n\225\330\225\200\33\23\217"
+"\267b56\245\22\254\'z\1\0\322Q\214b\0@\33\252\261\32\313\343\361I\361\23"
+"Y\217\335\201\362\7\236c\204w\233\250;\212\3602J\0\0\3751\24\271\0\200"
+"/Q\231Z\260\6\\\220\324\346\3439d\0h\304p\0\300i\254\227^\32]\b\3667j\321"
+".\324\246\241\20\203\0\334\201\1\0\200C\370=`\376\300`-8\210\177\224\321"
+"\211\350\3\3408\312<\13ms\205\270\217\355\300I\241\216\250C\r\200\241\310"
+"\7Q\205\232\340\351\303<+\357f-\335\272\262\262\377\201\344Q\336\23\42"
+"w\310e\317\223\214%\26\317\35<\315e\4\301)<Lru\250\314!\177\276m\3001\314"
+"\300\255(D\23\216a\27\266\3\0F\243\36K\260%T\3464\341vd\251\\\\F>z\242"
+"\r\365\211\33\310\4\20u8wm\301\272J\327\355\26A\4f\253\b\314V\21\230\255"
+"\42\60[\375_\300\306\240<\376\370\77\201Y\1\272\233\203\275\270\204\30"
+"J\r\274\306\13\221q\256\335.\222,\267\\\312\304\34m\333\231\223\234\365"
+"\330\26\312\364\211\5\326OBk\277\3752\243\325E7\264)c9h4:\2113\261SR\233"
+"\246\364\33\31515\26\360\270I\2\0K\244\265\37)\375\6`\376CZ\240O\0\0\30"
+"(\255]\254\364k\301\276\322\304+t\t\342\372QQ\277R\331\302w\302\316\222"
+"N\371\253\212\31O\375te\216@W\245\277\16X\\\223\340lE\26\305&\273_\252"
+"u>PU\234f\205\5\202\243\245\231\326\330\202\rTB\275a\215t\365\370Z\222"
+"\317\22\354\244\24\252$\4T\347\361\256\2203\315\6\254X\2\365Mh\250\316"
+"c\253\'\357\2\33\260#\2\326+I\302\2\275\27\225t3A\336\260\257\200U\232"
+"D,\360-W\356\343\346`+=X\213\223\212\5f{\362\33\203\271\2651\311Xb\17b"
+"\\\272\272\270\5\7]e\365\32 \270\376\304\215\276=H\237\225K]\245\327\223"
+"\ntE\272-P\351\210\321c\351\n\355\302T\337>$#V\344*\375\234d\240+\312\320"
+"\304%`\217\271J\37\32u\223\2032|\217M\230c\210\5\364\323:\204\353\3417"
+"\335\205,\34\213\34\376\275I\272*%`\332&\236c\270\247E\2315\330){\260\n"
+"\203.*\350\225\276\3150\227\177\275\304\241YZ\307\ff\313\f\263I\345\322"
+"#\256\322v\211C\0\353\355*\205\371g\303O\317\273J\345\22\207\0\226\351"
+"*]\324v\221-\324\264H\\\336N\7;J\35\322\277\372\5\60\333]\26\361g\331\247"
+"\3326\257\271J\37(\\\236I\327\3175-_\322N\343y\302\324\327\277\301\343"
+"\3260\251G\30\240fWi\244\366\333\77(\324\34\321\264x\325S\256V\370|\277"
+"\217t\t\347\363\355\3657\213\21\36\367;*\247\256+\377nVY\202u\27\334yA"
+"\301\236\366\351\246T\202\345\7\226%x}\316\210X\365\207aG\317J\261\310"
+")\n\277\367$\222\344t\33\260\367<\215\227K\33~\254\300\42[\244\376G%\316"
+"z\237\321\225\200\215\27\22L\3658\372\263U\211E\222\357\139wJ}\267\331"
+"\201\311\256\264g\22\261\33\270\303\27\252S\2379\262\255Px\366\373a\311"
+"\177\214\3040Ar_9\212n\30\245\271G9U\203\1771\336\'\256[\262Kh\37\60\30"
+"\223\260\322=S\24\233\303]\375\177t=\3625\16\3053\333t\3\63\250tXJ\260"
+"\207\254\2729\202cV\376\331F.\3059\336f<[\26\22\4\327\32\373\r\367A\324"
+"!3\rI\370\17\31\371\347\233a\371\201ej;\361\376\2108\243\361\237`\272)"
+"\226n\327\372\254\262\223J\26H\374_(\375\27\355\336M\327\377\3115\217\347"
+"\204N\336\366\361\217\342>\311\310\16\321\364\42\36\206\257\320\364\301"
+"0d\241\1\325\322\27\0Ee\342&\344\242\5\2658k\344\27\25\275\333c\253\b\314"
+"V\21\230\255\42\60[E`\266\212\300l\25\201\331*\2\263U\4f\253\b\314V\327"
+"-\330\177eJ\306\'\2444\343\27\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0L\0\0\0x\b\4\0\0\0\362u\334\33\0\0\0\2bKGD\0\377\207\217"
+"\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323"
+"\3\7\t\30)Mq\275\362\0\0\4\356IDATx\234\355\232[l\25E\30\307\377\307\320"
+"\324p\263\251J\332\310\245P\n&\222F\243\r\372\320\220\200Q1\30^@ !\30\3"
+"\215&}\251\t\304+j\300\372@\274=\21%A\305\240\204`\271\32\256\301\4\61"
+"\204&\20\260\21\264)\221\20/m\42\215\224T\255\266\341\343\341\364,g\273"
+"\337\314~\337\316\234\320\207\371\317\313\234\231o\376\373;3\263\263\273"
+"\263\233\3aT\352\216\333\r`R\0\323*\200i\25\300\264\n`Z\5\60\255\2\230"
+"Vc\374\330,\304c\370\17\'p\n7\374\30\2 \367\364\f\365\322\0\21\235\247"
+"\347=\270\r\'w\213it\200ni\251\'0\17sl6\236\216\362\203x\324\335\20\200"
+"\227\311\337\217\77\242|\31\346b\216\273%\274\200]\303\365\242_\265\230"
+"\356n\t/`\27\321Yt.V\216\36\60\240\25\77Gy\302\203>,\375\200\235\305\231"
+"(_\216:\334\357\301\323\323\312\277\31=Q~\n\356\366\340\350\t\254\35\7"
+"\242\374]\230\351\301\321\333\265\362k\364\17\347\312\320\340\301\317\33"
+"\330Q|\201!\0\3008\314\304Dg\77\217w\27\337\343\237\341\334dT;\273y\4\333"
+"\201\3170\b\0\250\364p^z\275\37;\211>\0\3008\17WL\257`m\330\3\0\230\210"
+"i\316^\236\357`\267\343\n\0x\270,y\6;\205\16\0\300$,pt\362\f6\204\r\350"
+"\4P\211\207\35\235\274\77\214\234\301e\20*\234gY\t\236\222>@\'\200\331"
+"\216.%\0;\206\323\0\252\321\350\344R\222\347\312\325hF\237c\237\345P\242"
+"]\353z\344\360\203C\373\222\201\271j\324n\21\4\60\255\2\230V\1L\253\0\246"
+"\225\343Vg\r\32Q\217\251\250\300\30\f\240\7\358\206\213~\310\262\355\367"
+"\215\245W\251\233L\372\226\352n\307Vg\253\21\250X\277\321\275F\207\6\332"
+"M\247\351e\237`\207DP\5\275\302z\314\213\352\327\372\1[\256\202\312\353"
+"c\306g0\252\375\325\7\330\346\fXDD\315#|\232b\265\346\343\t\357\307\366"
+"bq\346\263\253lx\263%\257^T\26\375\312\31[\211\326\261}V\254m\230\217\311"
+"\230\213/\r\365\355E\371\352\30\326w\326\243\246\16\342V\313@\275\21\213"
+"l0D\325F\21\357\307\312\327\270\314\261\26#T7\23\375$\33\371cT\37\227\365"
+"\310v\254:#\326\347\206\26\7\331\3509\4\2-\215\225]v\1\63i\275\262M\7\225"
+"S\25]\215\2255e\7\333`\300Zg\265\334\306\266\331O\'G\224\330\273\304\n"
+"\306\353\335\24\3132c\77\27\353pv\260-\254\341\2214C\2\375%\0\253\317\16"
+"\306+\35\13\324\234\212\365{\272\213\251\202\237_\217\210\300r\251`\13"
+"\323=`\270$q\305\27\304\357\42\355\327\271~LHu0\\\222\346\261\245O\245"
+"\332\25\264\337Z\273J\344\301v\344\331l\363\42J\213\255\3)\362\340\213"
+"9-P\200\231\227f\242\347d\363\224\233\16\317b\'\323\265\346[\24~ L\222"
+"\371\260sl#S\266UdwK\207\f\345\237\210\35\204\303p\237j A+\r\3Y-l\317\f"
+"\345\238\302\360\353\6\22\270\7\177\262\345R\37f(_d\302>\25\3\25tU\335"
+"\42.\246\307\270i\373\20\316\253\255\371\351/\3551!\230v \201\261\370\333"
+"p@\231J\266\251\362\202\263\303\210\263\241\2129\223.(\317H\333\2[+l\237"
+"\350\261\n\206\375\27\365\277m1\326,\27:$\300\312\231\240kB\263\202\246"
+"\342Cc]\223\320#\1\306MN\355\313\223+\226:\351\353\302\4\330\20\23\244"
+"\373\212\242;\245\376\1\221K\2\254\237\t\322|\22\323\205\252\224\210u\42"
+"\237\304:v\'\376e\303d\372I\364\305\205\304-\321c\3B\4N2,`\276(J\264\2"
+"\265\nV\236.\313\315a\\}\222\225,Y\324\306\232\245\31\365$Zl\247\t4\236"
+"N\260n\215Y\300\352Y\253K\26\223YL\374;)\327\200\f`&\253s\6\213\365L\354"
+"[E\365\233X\267]Y\300V\30\320\210V\214\210\\\315F\275)\372\243\233\364"
+"`\266g\34\242\343\3646\275D\357\3219C\375\353\t\267\265\206\3106=\330\f"
+"+\232M-\254\337\240!\332r\337b\252X\223\tk\211\301\255\334\330\342+-\30"
+"h\231\22\252\227\246X\206\246\306\330N\r\6\2}#\306z\315\352\223O\227\374"
+"\201\201@\315\324\227\2\365\221\0*\237\36O\264\335\230\35,\237\26\321."
+"\6\251\235V\212\241\n\251\206\266\320\377DD\324e\331\307\310\360\t\315"
+"$\214\7p\335\371\311\321\256\360m\217V\1L\253\0\246U\0\323*\200i\25\300"
+"\264\n`Z\5\60\255\2\230V\1L\253Q\13v\23}]e\22>W\371<\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\0\0\0\0}\27KL\0\0\0\2"
+"bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374"
+"\0\0\0\7tIME\7\323\1\6\22\36\42^\366\273h\0\0\3\277IDATx\234\355\230Yh"
+"\25I\24\206\377\33\215\211\31\227\20\27\22\267\304\304\250\240D\2071*\214"
+"\32\34\67\24E\4W\20DT|\310\213\202\3138\343\206\333\203\214\340\213\42"
+"\3422\303\210/\356\13.\270@P\214\202\22\t\256\304%\342r\3\32\64\32\235"
+"\340\235\361\367\341\336tW\337\356\252:1\361a\240\377\247\256s\376\376"
+"\352TuW\365\2\204\n\25*\224\252\2246\351\306|\244\t\254n\371%i\345e\237"
+"\232WPBm\347\337fC\355\224\216-\2\233A\222<\325G\357H\221\303\206\307\0"
+"`R\276~f\344\260\201\303R\1\340U=[\0\326\273\0\0\360\376\235\336\322\4"
+"X\26\0|yX#>C\257\310\276\6\222\274\373\223\341f\22W\326\2570\r\0n\276\320"
+"O\231\\\77W\223dtX+\203G\\Y\237\216\0p\252\342\277\26\200E\212S\1\324\37"
+"\376\42\355\334\244\334s$c;R\215&ie\351=\0|\272\372o\213\300\372g\1\261"
+"\375g\314\227R\bK\31\376\3Pw\245\316\342\222\301:\345v\0\216]\223\231m"
+"\312*\'\253G\331\\\302\312~\354\nT>nnI\211.W\274\345\203!v\233\b\226\236"
+"\233\311\247\317\233[RB\221\213\274\77\316\376\354\221U6\42\7\327\313\355"
+"\333Ek\t+\245_]\351\361\177\354>\321s3R\304\350k\211Q\244\f\363\2\17\25"
+"\352\177+\333r\312\33Y\324+\263uCM\345\205{\315\353(cU\224\212.\27~;j3"
+"}z\321E5\24\37\275\276R\206:\353G\221\344\257\256\243\204$\227\tP\263\203"
+"Q$w9\236\30I\n\266\362\235Z\26Y\232\360,\2127\255\254\343\6\26\231\330"
+"\233ke\260\23\336\223\377\34\335}\350\1\245}\13\0\220\23o\224YX{=\250\325"
+"\361`\261\22*\0\200m\361\343\205f\326\22\25\25u\302\23\334\340\35\0\240"
+"d\224\205\236\21*\2113nx`\343\247\17\237\232a*k\215&S\231\226\375&~\264"
+"\310\310\332\240\260\226{S\177\271\231\223WD\243TX[\222R\251\364\351\234"
+"\221\265\3335\236\367%\337\372`E\322\302\374\311\322d\326K#K\231\261\200"
+"\227\261H2l\242\260\260;\226\272I\362\203\221U\342\32{\4\345\223\326\331"
+"4#\354\226e6\246zaF\2262\21416\3\311yF\326Lk\247M(\354\241\343\333\243"
+"q(\353S\331r-\375v\3278\346*\260\34#k\274}\4\235\305\243<\352\370\366\n"
+"\212\27_\313\301\337\ns_\17\30\20KR\306\307\240\23]5\341_\20\260Xj\314"
+"v\6pW\353Qo\263\2Se\231N\350\211\216\265Dm\3146U6\310\351\363o\215\243"
+"\227g\1T\233*\13\272\22^=\363\264rM0\367\'C\207`V4\251=\300\0\253wB\301"
+"\377\1\253\262\223\2\313\3mq\245\233\357\307\373\364\311\0\203\321\25\300"
+"\342/\42\330f_\256*\200E\323\37\223#\372\322j\32\23\7\332\267+sm#\365\260"
+"\42\327\365\310\223\350\353\3047yG`\2325\305U\241\204\3278\321u\0\200\255"
+"\256\355\220\36\66G\235\2209\211\340\2\67\264\326\337\351VQi$/\255_\372"
+"G\205\322\376\275\321\266L\t\36\321\302\362i\220\262\312cJX\277\305,\324"
+"\263\246+\26645qPK\233\245A\325\366\364\330\362\324\234~\332p:\210\365"
+"\233\317\366H\4\3J\353\222P\333\203\\c\33\263\33\2150\0\223\179\244\33"
+"su\246\274\335\237\311*\317\33\207\376\343\265k;\274\177c\3536T\250P\241"
+"B\205\372\16\372\nrW\31)\217`\315\341\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\4\0\0\0\353\3762\275\0\0\0\2bKGD\0\377"
+"\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tI"
+"ME\7\323\3\7\t\31\3\217\321Ee\0\0\3\336IDATx\234\355\331YhUG\30\300\361"
+"\377\215\r*\266F\242\270\224\306h\264\215\242\\\212\342\6\25\4\261\270"
+"D\360El\20j]\336\202\5\237|\20,\255\330>\b\322\207\242\276Xq\1\205*\26"
+",\24\25\21W\\\321\246`\223(\t\n.\270\224\244\t\325\270}>\30\256\271\271"
+"\263\337\343\t\342|\347e\2223s~g\346\314\231337\203\320KQ\322[p\244#\35"
+"\351HG\372]\246\77\b-8\217\31tr\202\263\274\f\306%\344X(\217\344\211\210"
+"\\\225\345A\345\21$\210\256\224C\362&\26\7\322A\317\272\232\371\271\364"
+"3\246\7\66w\20\335\301\235\\\272\224iLL\217n\345\277n\177\215atz\3645\32"
+"\273\365\353\3624i\330HC.-|\236&}\231K\271t_>e\\z4l\341^.]\301\3404\351"
+"\363\34\312\245\313\30\233&\r\373\351\350J\2252%]\372\b\273x\16\300\0\306"
+"20M\32N\363\177W\352\23F\244K\357e\7\317\0(\17\350\343E~\257O\321\6\300"
+"\200\200\221\274H\372\0\7\1\30He\3324\354\341&@\300`Z4}\226z\0\2062;m\372"
+"9\77\320\b\22439m\32.\321\2020\310\373i\'2#\335L#P\335\33\364Q\316\1#\230"
+"\231>\r+\251\243\315\263\336\231\344v\220\262d\370\253wh\337x\77\327\\"
+"\221\216t\244\337Rxnh|\311\27|\306`\372\221\1@xA\'\377\322\302E\376\344"
+"\211\'\356\270\7P+mb\213v\3716\351\r\215\32+\332=\276K\216\336\353\5\277"
+"\216\232$\350\235\1\260\210\310.+m\371hf\275\276\300\371\321d\231:X\350"
+"sL\13\246\241\335\270\b\264\274\327jx;\303\311\344\35\263\330\251\310\367"
+"\21\355\306\253\33\237\207*\266is\257Q\344\376;\254\233\365Q\322\225\306"
+"\233=^\220\177}X\17W\305xK\317\375\276\240Db\364\357\26\32Y\321\243DUR"
+"\264\310L+\276 /\377\220\20z\253\6\327\324\243\333Q!\365]y7irX\336\353"
+"\22^h\316L\347\274\361\305\1\230@\226fC>\313\335\377\254\251\267\310:k"
+"\315\315\207\303\352\343\21\345\2323\217\31\311Ck\335u\3410K\321oB\366"
+"\347\1\333\202i\2475\3278\3761\234\275\317\260 \332in\326\300a\303\331"
+"\241\34\13\242\235j]J\3U\306\34ey\277\13\270\205C\255\227\362\324\2\303"
+"$o\330:#\375\230\333N\227i\16\240\215\265^\345\b_\343V\0m\30R6j\7\223\374"
+"\270\33:\250\350N\374\344\304v\312W\341\343\231\372\337\253\255\350n\231"
+"S\344@\252\244\263\6\262E\26\25Kv\35\312\367Z\377\252W\323\24\324\241T"
+"\241\350\341\337h\262\236$\223 \f\212\6oU6\364\321\204\232\331\330\340"
+"\352\346\316$Z_P4\270\232\230\2328\254\370|\f\347\2562[\362QP\353\364v"
+"8\n\244\360\t\317\233\230\304>\352\371\225\nK\276\202\236\247\n\237\236"
+"\273%W\352\2029\247\33\375\2433|&\257\334H\77\372@\21\365n\351Q\352C\77"
+"Z=\202\337\260\262\243\n\312\\\365mp\335J\353\212\361Bk\25%\262\376t\255"
+"\6\27\251U^\344ke\336:K+if\244\246i\352a\216p\2356\3720\204\211\314\325"
+"\214t\353\331`}\t\225wT\245\255\267[\254\265\366\fM\203#\310\252\42\340"
+"\245.\260i}\275$\210\355\2201n\260mi\377\207\'\354\274\77j\247\21\244\316"
+"aOXD\344\27\37\326\215~}\324\310oZ\364\262,\363e\305ii\3373\206QF_JxI\'"
+"\255\334\367-\236\213\370\233f\244#\35\351HG:\322\221\216t\244\201W;\f"
+"\326d\306\n\32\206\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0=\0\0\0x\b\0\0\0\0d\234\245\352\0\0\0\2bKGD\0\377\207\217\314\277\0"
+"\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\323\1\6\22"
+"\36\13\34D#\4\0\0\2\375IDATx\234\355\326KH\25Q\30\7\360\377\35\273z{\240"
+"\241\222%\331\255\253\251\221\b=\25\262lcD\31\264\211\272\b\275h\'\5mr"
+"\21\30\21\325\242M\213\36.\302^\213\202\212\4\243\354EH\17\243\7\212!%"
+"%W(\262\7\226W\305\24\323\257\205\21793s^3\233\26\316\177%\337w~~g\234"
+"3\343\0~\374\370\231\3321\22C\334z@\7gFJ\223\232\32\7\274M\236\276\247"
+"\205\6\273\267\244x\323\333\210\210\250>\307\33114t\3610\0l\2128\257RC"
+"\27\24\5\1\340k\77y\321\213\262\1\0\275=\316\226\216N\5\200\321\366o\352"
+"\245\316\4j\7\211\210\332Vpn\256zv\336\342$\0x\363\305y\331\32Y\323ID\324"
+"U\224\300\351\251g\347\244\0@}\363\210\27\35X\25\4\320\177sT9\206\227p"
+"\3\21\r\237\rr\233\312\331\241\371\0\6\236\375\365\246\363S\201\341\213"
+"w\371\177p\2256\212g\2\361\247qAW\241\323\302\311\300\355\27\252\35\n\222"
+"\332D\324\271N\2703\205^6\7h\355\3608\3328\364\233>\254\24\267\345:\24"
+"\236M\261\317\36G#\360\210\336\227\211\337\234\212\331%\363\360\262I\374"
+"pM\223b#/^Y\367G\2625\251\16\24R\327O\351\nif\360\237\16\77\377/\242\373"
+"\275\241$7-\24\0hd\350W\354\365\275A\27\2772\32\'[\372\16\350\332r;\35"
+"\313\21-|\215\217\211\250\\\215/\13\61\321\25\25.\224`\242v\205~)\325\324"
+"+\327\314\312\13\31\343\265\322Kf\261OS\327\260\345\203\223\345w\22\234"
+"`\352\260\265\363d\242^\2555{\211\255st\242\241\245\353\354\255\275\343"
+"\215\210\216\246\265\366\336\346\261z\272X\237g\270cHV+\21\235\222\354"
+"\334`\357n\221\243\2754\352\254\2619\315\362\303\322\245\274t\263|@r\221"
+"\374\220%5j`I\276\225\177w\311\33\254\374\261+\34\354\260jJv\201+\310\236"
+"\365\3326\323a\211\26\350\342}\34\334\246\213\217sp\227.>\351\264C;t\361"
+"~;\275Z\246K\355\257\323\330V}\t\330Nh\256;\213\335\214mti\201\36\23\77"
+"\3245\346\177`\342\25\25\231\374Vd\304j]lf\256\271q}d8~\360\224D\345\354"
+"\345\327[k\263D\\\245\317\21\21\275R\353\23\274\366\363\261\236\350i\275"
+"%\35\36\33o\315\22h\346\230\177\262\367\26NtZD;g\317y\263\265S5\331(\24"
+"\352(\373\224D\315\372N\263Zi#\354\241\264^\357\375\7\37\343\t\351\5\33"
+"\231\223W}L8\32\210\220<U\22\13\376;\321L\205\34\3\333\305\266\77[\205"
+"\1\334\21`\275\257T\240\322\361\201LtF\323\2\0\312o\260\364\355.\341B\361"
+"k$#%\311\30\35\352\371\341f\254\37\77~\374L\355\374\3\200\242\262\355\250"
+"\25x\337\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0"
+"x\b\4\0\0\0\24\\\27_\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0"
+"\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\7\t\31\'\263\322\241\264"
+"\0\0\5=IDATx\234\355\232]\210UU\24\307\177c\215A7\307\32sb\300A*\7\63\232"
+"\312\306q\306\300\b\207\36\62\243\17*\237BK\203\302\42\260z\350\343\245"
+"\241(\351;*\202\242\300\f#3\3}*\251\304\222\251F\311\320l\302\222\202\246"
+"\351C\31\315\262rh\365p\247;s\357]\373\234\265\317\336g\232\207\373\277"
+"/\373\256\263\327\377\374\367^\353\354\257s\352\20&\30&\375\337\2\252Q"
+"\223dAM\222\5\65I\26\324$YP\223dAM\222\5\'\306 \271\234\5\374\3056v\360"
+"O\f:$\364w\245\34\224\77E\344s\271)\230\13A\202%\315\224\3152\212\353#"
+"H\n\316\245\331,.\225\217\323\25JG\204\364>\312@\251\\O\'\347\205\22\206"
+"K\32\342\310\230\177gsf(a\270\244/\351\37\363\2345N\4I\3600_\225\312\302"
+"\205\301|\21$\355\244\257T>\211V\316\t\344\2132z\277\300`\251\334\302\264"
+"@\266(\222>as\251<\225Y\201l\221\346\270\2678:R\252\247#\220+\222\244w"
+"Y\3130\0\5f\321\20\304\25m%\360\21\177\214\224f\320\34\304\24M\322z^\345"
+"8\0\215\201\317\\\304\365\322v\16\3P\b\234\351\42J\332\310&\0\32\230\31"
+"\304\23uU\271\216\357\0\2\'\225\250\222v\360\5\0Mt\7\260D\2254L\17\375"
+"@#\355\1,\221\267\3}\34@85(\233\242\357P\236\244\37\230\35\300\20]\322"
+"{\364\2\315,\314\314\220\303>n\5\2538\34\320Ou\344r\242{>u\354\316\350"
+"\233\223\244\20L\300\rxM\222\5\65I\26\324$YP\223dA\312\301\340\25\\\312"
+"\34fp\6\215L\346\b}\274\316+)\224\315\\\306\\Z\230\3020\277\260\207\367"
+"\331\345)\312y\32\266^\\x\312\341q\202<\346\360\330%]\241\7\203\335N9E"
+"\f(>\257\245\370\210,\312.\351\346Tr\221\3762\217\273\r\36\42\42\373\262"
+"I\272\315H\377_\370\n\262\327\350Q\304\34_I\313=\310\357\223V\271\323K"
+"N\21\27$J\252X/u\263\325\363\351\310\206\272\204ke\343\322\24EP/w\361\204"
+"\347\r\37g\1M\234\313#\316\32\311\303\302\230.\353\257\352\342\316\221"
+"+\315\346\240\\U\21\206AG\275&K.\255\254r\233<\246\342Z\203\234g\324[\f"
+"\251u\237\266H\252\304\311e\25\227\246\n\272\332y\23\r\207\234\265K\271"
+"tKE<;KGXE\34K\311\237\16\336q^{T\261\235\226\236K_\227\265aM\225\366;\22"
+"{\350\242\304\307\372\24\325\'5pc\361\267R\361\315\4AK\22\5\271B\347%I"
+"\233\42\207\235\202\236O\25\224Q\322g\245\252=f\322\24\352PI\27\313\1\21"
+"\21\271G\255\326\352\24t]~\222\20\344,g\265\236\240>\n\220\344\376\271"
+"\306\340\2459H2\36S\270*%M\237\243\230\312P\225\355\220\363\365\217i;\340"
+"zQs\243I\20\314Wl\275\316\332&I\313\34\366u\26g`\221b\333\226P\337\220"
+"\t\277\6<k\b\262G\361n\17\313%\275\212-\217\\\376noC\340\346\251\326k\215"
+"r\374a\220t\253j\335d\276\205\326\244}\t\365\r\222V(\266\7\214r\0\226("
+"\266\267\23=\342\216\274\312o\267\342\237\270\367M#\3246Q\277yI\362mRj"
+"\340V+\266\207\214!\313\212\fm,x\364Q\227\342\2777\244\227\364\357l~\367"
+"h\3615\212mc\212O\242\342\27\2256n\360\312\244\37\24\6\367\310\215\244"
+"\216\336\332\305K\330n\356#\337\221\273x\325[\222}\42\201\26\276\367fH"
+"\314\245\345\212\355G\273\36\7C\372\270\237\20Um\220[\355\225I\77)\fi["
+"\254\304\300i\227\n\25\273\340\264\366V#-\360\t\201\323\7\0\37A\331\276"
+"\321I\220\264J\261m\360\42\327\326\20/\31\374\2341\325\260\320+\2234$\217"
+"I)\271\24:\0dep\6n\256b\373\326C\16\334\240\330\6\24[%\234\222\332\24\333"
+"\203f9\240\347\342\263&OGD\227)y\340\223Gz&M3\3709{\251\257\312\362\234"
+"\271\177\0\246\253\326\203&_\247\332o\312\332\347\267\222D\356U\372\350"
+"\3\233\257\373R\203\354/\221}\354)H\77\330\260mFSV\2m\314\347\30[\371\331"
+"+h\305\316\257\206m\b\311\351\3\217\16>UofAN/R\265\251\344e\243oN\275\244"
+"\221\316c\247\311w\34%Y\'\243\\\2\227u*)\42\27I\331\247\22\310)p\32\345"
+"\351\306\221;\227^\n\231J \27I+\25\333\207^\f\336SE~S\211iB\311\202\320"
+"\325h\364\300\351\'\233>\210.\251\362\355\'\330v%\243\210\368\215\256\335"
+"\353\333\234q\221\344\267\257\211\348\215\316\367\303\330\310\222\n\212"
+"\355~O\216q\b\234_\330rx\342\266T\374_\254\326JF\344\261\273\276\354L\351"
+"\366,\34\261%!\223d\215\354\227AyC\3322\371\347\264\252\234N\275\307\242"
+"\255\34\377\2{\253\354o\205\362\234R\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0I\0\0\0x\b\0\0\0\0\233>\200\b\0\0\0\2bKGD\0\377\207"
+"\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIM"
+"E\7\323\1\6\22\37\20\217:\333\251\0\0\4\34IDATx\234\355\231[lMY\30\307"
+"\377\347\320\313\350P\251\224TH\243\243\241qK\321\366\204\301\204xq\31"
+"f\202>\271\223\20D\42.!\236<\20!A&\22\t!\231!\304=1\221yh\320\fS\tq\213"
+"\242\342\226\240\255\273\32\267h\371<\234\236\265\326\336\373[\227m\327"
+"\333\371^\272\366\372\377\367o\177k\355\365\355\265\273\17\220\216t\244"
+"\343{D<3[\253\305\302\200\272\27\215\312\252\251~\379!\3740\373\n}|117"
+":i*\21\21\235\350\315\253\361\20\244D3\0\214+\342g$\4\251\177E\6\0\324"
+"\277\245\250\244^\77\1\0\336\274\346\3450\244<\0\370R\327\350~\n\37\261"
+"\335\37\211\210j\207h\26\216{N}\212\263\0\340\342#~\232B\304\360\7DD\r"
+"\25\3554\272{N\275s\1\340\304\345\317QI\261\262\f\0o\17\177q\276\264.\n"
+"\377!\242\346\355\31Z\203sN\331=\0\274\77\333\22\235\3247\17h\336sR\177"
+"\343\\I\361D\16\320\364o\223\301\341H\352R\330\t8\366\237\243\333\24y5"
+"D\17F\232\34\2569\225v\5\256\335m\203\224\342+_\321\255\241f\213\33)\273"
+"\2603\335\177\330\6)!VE7\307\232w\17\307\234~.\300\371\32\363C\240\275"
+"\23(\336\247i\321\361\17f\217\333~\27\33H\r\317\234\234\326\350\240\257"
+"\334t\244#\35a\303_\301\343\177)\351\321-/\363\315\305}\273}J\301\330\322"
+"\236\35[\236]\77u\311\205\273\237\224\330\242\b\3556)\302\245\204\2153"
+"\206\274Q/\224\277|\n\2156\202\346\370\355T\227\24\226\7\4\242\233\6\320"
+"B\306\277\5@N-#\20Q\211\16\64\213\265\257)^\312s\210h\220\333\34\271\4"
+"\13\352(\344\232e\2335\'nJ\344\227\254W;\330\345P\227R+\0\24p\234I\255"
+"\316F\245\257k\20\64/\245e\2\0\376\fp\266I\357k\331\2735HJI\35\222\207"
+"\225~\320d\316L\3642\0\232\337\252\224\267\36\377\352\3y_-6H!@\272\235"
+"\354\337\230:^\342\5\r\366\272\1774\220\222\335\237\304\361A\17h\202n."
+"\264$Y\227-*h\273\306\316\222.\20\21\255\343\254\234\333D\32v\237h\205"
+"<,VASB\221\200\42\365`\2359%3\311\23\3522\256\214D\262\244\224+\304\27"
+"j7\363v\250\376\27\77\235!\225\213\326y\13i\246\322\336\313\220\344\223"
+"\267\232Q\325xn\274q\300u!\17Q\273\231\367L2\252\252\356\221\203\243S\312"
+"\365w\16\344\36\273,7y\250\220ox\372\2039\315\25\255\265,I\26\364QKN\266"
+"uwU\350\226\255X\356V\377\177\333\225D\\\23\306U\21I\322\230\303\352\t"
+"\241\327z\5\377\214\367\227\315w,\3517\321:bNi\207\270\344!\336\360\230"
+"_\341\301\220\203\33a3\230AVcO\255\3017O\263D\253\201\'I\3031sJr\331-\343"
+"\rO\204\301\277y\371\252]\246\234\303\177J\325<\b\340\37\235\262\6xP\31"
+"\333\313\220\26\211\226f\r,\20\255\235z&\20j\r\4V\223w\264\372Y\260\33"
+"<\243+\25\255{<h\232h\325\363\206T\314\20\271\317\340\r\325\266\7E*f\332"
+"*ANS\27\63\251_\312\367\7\257\347;\27\35\356&m\232\247%V\13\320i\33\251"
+"\323\35\42\242s:Y\276z0[\252\377f\16(\377P\365TG\262.\22\327(3NS\230\337"
+"\21d\251\354\212\226\222\251T\20n\300\346i\n1:\347R\261\206s\251X\303\271"
+"Tla+\25\367y\232\'Zg\242\245d.\25\204Y\5\266Rq\36\235\371Ct\30\322|\321"
+"\262\354*\326\220wn0op\236\'\353\23\305\371\267\r\321\272\352zmM\310\217"
+"\34\3435\216\360\243\323\235\341|\357\376n\375;\316\365\4md$\337\234\26"
+"G\6\1\361\215w\32\17\fh\3\20\200\374\356&\365+!\234\241\316k\205\240\267"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\4\0"
+"\0\0\301N\303\22\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21"
+"\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\7\t\33\3\275\347\'\347\0\0\3"
+")IDATx\234\355\231\301KTQ\24\207\277\t\207\212\1\25\213B*D\262t\21QV\244"
+"\213\26\345\252B\n\42Z\24\225\fDL\20\4\321\37\20\264\213\26\n\322\252 "
+"\202 \212\26\356\252ERH\201\202\271\b\207\202\24#\242\220TLG4o\233\361"
+"5\363\336y\357\336\367\346\272(\356\231\315\235s\316\373x\363\233\337\334"
+"w\357\235\24\212U\2105\253\1uX\207uX\207-\217*\363\326\243\264\263@\77"
+"\3,\33t+\263W\247\232T\5\245\324\260\3522\3517\2036\250>\3657Nk\373\r\265"
+"m\346\2307^\244M\333o\210\235\345\2537Ns\220]v\260S\314\224\274\333N\243"
+"\35\354\7\362%\337\177\235-,\334b\324\33+\366\330\302\16\61\350\215\327"
+"\262\203\26;X\350\345\2337\336\306\6[\330w\364y\343\32\232la\341\t\263"
+"\305Q\232\3\366\260\317y\300\22\0\31\232\250\266\205\2057\314\25G[\251"
+"\267\207}\304}\26\1\250\213\364B\354\371\3665\323\0d\42g\206\330\330\247"
+"<\3\240\232\6\233Xx\3108@\344\178\1v\200\21\0\66\321a\23\273\304M\362@"
+"\35\373lba\220\317(j#\324M\370\344\275C\36h\266\215}\301[\240\236Cv\261"
+"\220\345\n\323\241\367\233\252d\247\263\233\24\357\355c\303\343\337Z\203"
+"9\254\303\376\327\330k|B1J\316\260\337h\221\77[\262\304\357\267\265w\370"
+"\242\312#k\3{F\371cP{\215\301\3048\317:_f!\220\361\207\366+K\13\210\237"
+"\272\213\364\330\253B\356\225\26\253\325\366{@Y\245NV\256\255TNi\357U#"
+"\302\21- \21VR\266\307\0\253\21A*\266\220\257\f[\303\224x\211>\42E\270"
+",\344\206\f\240\20i\260\37\202\271\316\232L4\321\6Kf.\210\24!\251\2714"
+"\330\244\346\202H\'$5W$\266\272\270\377\362\267\233E\250\b\227\204\234"
+"\251\271 \324`\376\7\215RJ\23532W\244\301\222\233\13BE\320\235\305$\304"
+"f\205\334\275X`Q\233\337\202\262m\306\312\206j[\231\262!\42H\'\5\205\30"
+"\320\20\354\5!w7\26V\24A\222`/\303\253\201\215\243\254x\210\275_h\13S\366"
+"0\235L\322+\254s\2\346\270-\230\253[\264QO\261:\22\254\5\233\'\4l\273\0"
+"\275QR\77\241\307J\21\354\332\\V\317\371\252\211\367\16/\313\336}\324i"
+"[%\334\353\\\340^s\272O\343O\324\13\3301_\317N_\375\261\36\333(`\227\313"
+":\326\7\352\265\1l@\333yA\307\24io\274\321;\23]\211nqIe\344\204\321b\255"
+"+P)\b.\21\'\306\260\'\374/2B\266\2211!+\30,l% A\217\213P\20D\350\20e\220"
+"\342\274(@\310\257\f5n\4\215\374\203KN\353\343T\24\64\336:a%\346h\325\254"
+"\305B\347\204\24\327\305\3748\27\311h\27x\332}Y+[HS`\206I&\274\2773t\341"
+"\316\30\35\326a\35\326a\35\326a\305\370\3\22\n\243\2121w|/\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\0\0\0\0N,TE\0\0"
+"\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335"
+"~\374\0\0\0\7tIME\7\323\1\6\22\37\67*0n\302\0\0\2\227IDATx\234\355\227"
+"\315k\23A\30\306\237\215]\233*4%\212R\25bj5\36D\374\244\21EQ\361R(\n\42"
+"\36\24K\20D*\b\42\364\257\360TQ<\325\273\b\26\n\342\241\7\213b<T\224\202"
+"\30Q1\222`\305\22\332\224\330\6\322\366\361\220\314\354\307\354\356\354"
+"1\207}.\231\231\367\227w\236\274\314W\200H\221\332@\261\215q\32144\350"
+"\216\2763\235\371\351\3450Y\273r\237X\257\f%\302\260WH\222\223\375M;\301"
+"l\266\1\0\203}\206\236=0`\2\300\357\32\365lz\17\0`i1\204\207t\22\0\326"
+"\277\376\tv\n\0\306x\235$\77\37\65\364y3{;\1`\246L}\336\223E\222\234\33"
+"\330\0}\336\376\4\0L~\\\323\263\306q\23@\355\371\272\336\1R\257H6\36\231"
+"\242\37\2247\276\13\300\362\333\3250\354\376$\320x\372\222!\330Xv3P}SE"
+"\bvK\252\33x\361.`bK\311<Y<m\237\310\237=\274\r\230\375\21*mlt\201\205"
+"c\216\21_6\236\352\341\317R\250\2640\246\370\345\202c\353\372\347=\325"
+"\213\367y\307\2\353\360Cc\231\352\235\211\25\347L\276\26\16rn^\347Sh\223"
+"\251g\42\265\225\356}ga$\34Z#IN\207A\313l\352\246\36\275\332B9\243gW\4"
+"[wG\224}a\312\253oA\313\336\225\255\327Z\13\177\205\5^r\207\224=D\377\220"
+"\333\3039\355\304\226&\244\2051-+Qfth\302b\325\240\313\357m\331\372\240"
+"\2650/\323^S\203\256\302\4T\314\355\241\r*\326\35T1\227\337[\262\245\257"
+"XY\246\275\356\25v\224&\260bN\17\2074\323\332Yk\343\216k\276\5\254I\273"
+"Y\317\270\335\230\306\256\335\203\225L\331\355\n;,[O\374}\n\13R>\5\261"
+"9\323\331\265\335\261\326\365o\267{v\250\362X9\200\360\300k=>$9\253\316"
+"P\222\354\t96J\222\274\250\260\36\353q{\263/\216\370\300\367\344T\363\343"
+"\233{\274C\246\225\177\20F\374\326}\257d\213\255\221}\255\3763\205MK\266"
+"\365,\355\22\375\36\201H\277\326s\3050\1`\253\2602\266\250\376\20\253\16"
+"\5\09\321\361\\G\264\251f5w{\261\5zi\320\13\305y/\364\206\'\n\374R\321"
+"\234\17\352tL\222\274\354\213\272\341\177\301g\332}\213,\16+Qe\13\34\331"
+"i\326\227*\245Z`\316H\221\42\265\223\376\3 K\377\312`\223\312y\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\4\0\0\0\353"
+"\3762\275\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13"
+"\21\1\177d_\221\0\0\0\7tIME\7\323\3\7\t\33\25I3\222\266\0\0\3\357IDATx"
+"\234\355\231MlTU\24\200\277\31\300\326@i\323\222F\304\6j\321\301X\210m"
+"\343O\215]u\205D\27\250\13wV6\4\26&n\215\233&M\214\332\6\\\324\244\32M"
+"L\23\66E\26\204\220\350B\210\rj\204\24\3204\26T\320\30B#\255P\n\224R9l"
+"\312t\350;\367\275{\357L\337\204p\317\333\3349s\316\371\336\375{\347\276"
+"\3632\be\222l\271\300\1\35\320\1\35\320\1}\77\243\227\373\273n\245\235"
+"\233\34\345\30\267=#\210\337\365\212L\310\214\210\234\224.\317\b\236\350"
+"\365rP\26\344\r\257\30\236s\235\343\345|\373\26/x\305\360DOs!\337^\301"
+"\3634\247\207\276\314T\301\257&\32\323C\2172V\260\256k\323DC\17\277\345"
+"\333\3023i\242Op<\337\256\340\t6\245\207\206~.\346\333\r\324\245\211\376"
+"\211\203\371v5\33\323D\303\20\323\363\255\25<\233.\372\33\276b\16\200\225"
+"ldu\232h\30\346\372|\3531\326\246\213\336\307\227\334\2\240\326y\215\27"
+"\235\257\277\347\n\0+\235\237\344E\243\367s\0\200\325\254O\33\r\203\374"
+"\5\340\3740-\1\372\30\247\1\250\2473m\364\34\335\214\1\265\264\245\215"
+"\206\343\234C\250q\234\355\22\235H\373\30\3r\345@\177\313\217\300Z:\322"
+"G\303\16vs\305\251\337\231RV\220\266\220\341Ty\320n\362`\276s\5t@\7\364"
+"\22\211wA\243\221\16\66\323@\25\60\3059~\34603\2161\34k\1\253\344=\31\27"
+"]\256\312;KU\320x\337\200\274WzJ\215\356\265\302\336\225\267,\42Zf\256"
+"\333d\34\347\361$-\t\26Vh\337\274\272\206\211\230\177-6\327\277\236`\270"
+"DU1\350=\2541\376\367\5\355d\311\3600\235\354S-\246T\355]\211]\n\233\214"
+"\13\351c\305\372k\305\356;\337\25n\222\247\r\366{\25\333\347|\320\375\6"
+"p]\214\317\244b\357\214^g\0\267\307\216\323S\212\307\213\256\350\313*\270"
+"/\26\254O\322y7\3646C\237\223\300\310G\266^\366\367.\42\362\250\5\272E"
+"\361{U\2613\354\353VU;PP\17\66\313\210\242{\335~_\377\3409\330N\263m\77"
+"\334\357\26\201Vo[s}\263\250>\27\205\376]q\35,9ZM\232Z\222l\340\37\213"
+"%f\366\217\346{e\205oU\303\331\203mEA\357T\314>+9X=\245h\303\265\205_\34"
+"BF\277\366\375\257\234\272-_\1\354\301\250\265\322QE\267\4o\37\333\25\335"
+"\260j\271h\311\77\242l\214_\35\66\26rC\211\260M\261\213\364\272F\271\273"
+"\77\235z]\251\350\16)\272\b\272B1\372\317\1\374\266\265e\4\255M\376\254"
+"\3\372CK\235B\232s\300De\271\372\275\353\3;\364\264b\244M\202.\3\252V\237"
+"\260\bz\\1\252\266Fw)\272n\243\265E\336\31\261\334VCn\311\3267\345E\257"
+"&\325\363\264\13\372\210\'Z\227\234\13\272S\t\320\230\b\326_\375G\343|"
+"\354\356\177(\1\334l\350\363*Wt\217\363\220\353\322\33\353c\250*D\225\303"
+"1\3375LU\207\370\42\210!i\356\212h^\342S\325\362q#8\371;\210a8\376V\6\360"
+"\274\264\336c\263L\6\rC-\362I\342\302\214)\343\230\376\330\317\b34\361"
+"\32\365\306\376h\7\242\305\22\203\256J\250\204\304I\326\34\266\300\306"
+"(W\311:\245\313\5\311Y\200\23\316fB\5\237;\203k8ci\231\270\34\236\224\263"
+"\306\305\264Xv\'FKx\244D\257\169\223\0=,m.X{4\202\254\223=r-\202\374C\272"
+"e\203+4is\231\344!\352\251d\226I\365Dc/\341\233f@\7t@\7t@\7t@\7t@\3w\0"
+"a\231\347$\213\351{f\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352\0\0\0\2bKGD\0\377\207\217\314\277"
+"\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\323\1\6\22"
+" \13]\2018y\0\0\3/IDATx\234\355\230MH\25Q\24\307\3773~\275LS4\244\3240"
+"\77\362\31i\240VjeA\321\242\244\26E\213v\325.\\\4-\332D\213\2!*\303\202"
+"\212\212\nBZ\331\207H\331\42\250PzA\201!}\227\371\250\310\242\374~\351"
+"C\323\323\42\272sg\356\235\373\256\323\252\230\377j\336\371\237\337\234"
+"s\357\233;sg\0_\276|\375\37\62\23\3\216\210\241\17g\27\254M\n=\30\363V"
+"y\326\256\247\24\355\337\234\346\215\336NDDmE|\314\324\246\253\'\1`S\1"
+"\77Vm\272\264*\1\0>G\310\13\235_\b\0\30\31\342\203\372t\6\0L\277\376\242"
+"\13\3602.E\211\210\236W\332\376b\335\332\301EI\0\360\344\23\305\312\224"
+"iU\230\210\250\257*\316\26\325\255]\224\6\0m]S^hcy\2\200H\313\264f1\273"
+"\362\356\20\321\344\351\4GX\263v \27\300X\347OotI\6\60y\371\266s\302\365"
+"h\263z60\3341,\304\265\350\314\2749\300\215\207Z\271\2422BD\3415\222\236"
+"\264\350\362,\240\273\307cis\377 \275Z&3t\350@^:\365~\364X\32\306]z\271"
+"Av\377\324\252\275z>\36\205d\213+^\3\66\203\303\3657\307\245Mi\320\306"
+"R\352\373\246\221\347\242d\347\352\360\365\257Jy\265\344\327\226-H\305"
+"H\357\343\366\350\fO\233r\340+Y\32\335;\23\366 \tj\320e\33E\226\210h\247"
+"\26<-\207\211\272\234\231\222YS=%\347\366\333~\212w\7\345Z\374\236\252"
+"r\201&[\257\27\253\r\4\326]\345\42J\270\204g\217\263\360u\26\273\247\242"
+"yx\t\27\77\311\242+\334\3413\34\234is\6b\367\236\303\3015vk13V\272\321"
+"C\26|\302uLa\27\270N5\267\307b\265\316\301\331\202Y\316\274-R\270\302\202"
+"\317\251\316}EJ\207\24}#\346\300-x\237\332\226\271;\324v\f\372\35s\233"
+"=\320\226\233;szc\214\306\325t+3\317{\240-\263L\n\33\314w\3567c\236\32"
+"@\r\363\273YL\377\215j+;\352\24\315y\354\324\317\344\3648K\250\23k\247"
+"\263\320{9m\275\301\336\22\351$\26\32\224\302\273eAS8\300\204\224>*9\262"
+" \331\337\300)\336\272\313\35\221\320\21\26\262\306\300\211\273\202d#K"
+"fS\332*\243\255\253\341\220\2647f\13\317:\0-\177\263\b\n-\263[t\1\340\276"
+"\202\266`\n\312\351\365,!\337iq\273\201\27r\230+\320\3420J\271\322)nt\203"
+"[\353\34\334\350\6sY\35n\260\352\351\275\207%\235\265\202\5<\\\254\240"
+"\361\201\245\205+~G\342\232y\370\224\23\260\357z\370\316\256uE\13\267e"
+"\361\356\224\360\22c\247SGT\255\231\302\260\355w\246QS\276<\1\0A\215\17"
+"\26\27\310Ez\237\247\212\337\312\330z-\26\0j\3378\320\366Jm\26\0r\232~"
+"\374!{\16/t\317s\337\335\'f\5&\6\42\256\266/_\276|\371\22\364\13\353_t"
+"\333p\354\3\270\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"C\0\0\0x\b\4\0\0\0\3~\207\226\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\t"
+"pHYs\0\0\13\21\0\0\13\21\1\177d_\221\0\0\0\7tIME\7\323\3\7\t\33$\30\355"
+"\222\214\0\0\4nIDATx\234\355\232]\210VE\30\307\177o\270\253\264\244\261"
+"\366e(Z\32\266haHm\6\231\260\21d,H!u\251\366\1\321\225lvQ7}\320M\220^D"
+"\37\24\270!\2117}/A\251I\366!km\240\22\265\13\325R`Ha\250-e\355\322\323"
+"\305\276\236\235w\316\234\231\347\314y\343x1\377\271\2313\357\363\314\373"
+";\363\3143g\316\274o\3\341<\320\5u\3L+a\230J\30\246\22\206\251\204a*a\230"
+"J\30\246fU\355\340N\326\3607\79\304\277\225\372\221*\245_N\312Y\219\42"
+"\233+\365S\tc\261\f\311\2146V\350\251\322\334X\316\372\254>\311\315\25"
+"z\252\2041\301/Y\275\203^V\326\203q\2123\306\325R\256\252\7\343[\306\214"
+"\374\350\256\13\3\236e4\253\13\253\352\302\370\232\221\254>\233k\270\266"
+"\36\fx\211\23Y}\21\363\353\3028\314PV\237\307\262\2720\340M&\232\265\16"
+"n\254\17c/\273\230\2\240\213e\314\255\13\3>\347\317fm!\13\352\303\330\303"
+" \223\0tG\346J\233\366\33\237q\32\200\256\310\'K\2330\336\342\35\0\346"
+"\262\270N\fx\203\237\0\42\27\364\266a\34\342\30\0\227\321W\'\306\24O3\6"
+"t\263\272N\f\30a\34\341\342\250\331\321\326\235\371v\306\200\345uc\354"
+"c\30X\300\255\365b\300\375<\302\351\210\361h\264\377$\360z\32\34\255\37"
+"#F\347\311\313c\3020\2250L%\fS\t\303T\340\320\351.\326\321\303B.\247\233"
+"N\3160\302nv\376/ \205\'0{\244H;J\235\344\364\311n\371P\266\306\34:\365"
+"\25\42L\353\270\32b\324\360\352)\207\261%\0!\42rL\5q\334\362*\201\361\260"
+"\2BD\24g\177\17\345|\276\322blRBx\357\255YN8|Vh0Bs\242U\213\2\30.}\347"
+"\264lY7.b\177.\221\206\31\340\371\202$\333\20\221\230E\357\270\6\323X\216"
+"\275\267\371\311\225\316;\33\f\214\306\13N\257\1\177P\36\3109t\32\206\256"
+"U\344\203\340\354pi\334\37\224\327\254a\352\342\37\343*\37.\boc\267;\332"
+"\2268\3322\214\7\255\17z\263\243\23\313\320\320oA\214\201\240\205\325\373"
+"\266\226\346\347\370\3222t\275\231\216:\332l=\256\302\310^\20\314\1\236"
+"\2443gx\212y\271\266\333\370T\361\25\371\3205t\30k\30Vt\346\352.\26#\13"
+"\312\314i\3573\16\210\333U_\350\326\1\225U3en\221q\21\21\331\346L\274O"
+"\34\211\267+\230\256\323\345\345\234\247w\335@\256.\225\377+\225\30\257"
+"(0Z\362\360\307\202\1[\353l\375F\31\224%e\202\342+\7\34c\361\266r,\220"
+"\223\226\347d((eB\262J\215akg\34\306Z\'\206\26\42\217\321\353\262\nwS-"
+"$\35\272\33(\1777\345B\262\316\362\34vZ\5_\227\334YrD\231%p\207u\375X\\"
+"\246\354\257\24\22\232\213bpN\305\204\344\206\22\30\255z1\16\343:\'\206"
+"\36\342\t\313\263\263\310\322\337\215k7\2717z,\366\25[\372\273\371\303"
+"\201\261^\r\361\272\345yi,F\225\220\334d\3719W\317f\t\34\317\306ov\362"
+"\276>\77\357\272\341:\374\230p\264\2714h]\337\23\260\367\f\325%\216\220"
+"\34U\5\244\277\344\264\366\216\306\354\310\321\230\317\373V\213\275\226"
+"\332\362b\270>\274P\201\361\253u\275Q\341\343\31\252+\34A\231\n\6\344g"
+"\313\343]E\20\275\2312\207\277\34\255\376L\371\236\245\245\354\247\345"
+"\r\312Ygk\361\13a\7\277\347 z\24\20\20\261|\25=\31\356vX\336\247\312+B"
+"\253\350\307\5 \266]\237\374\340\260zT\13\21\302XQ\200!ro\323b\265\274"
+"Z`\361\244\36\42\274\3378\\\b\342\327Se b\367\242!\225\b\207 \301G\33\300"
+"\254\346_D\364\332\300{%=\24\277 L\321P\234\353\234\323A\346\224\206\0"
+"\365\37\65\267*B\361\221\357T\274\352\334\230);\n\1FeK,@y\f\4\351\227/"
+"Z\0\206*\375]\365\\I\77\216\233J\30\246\22\206\251\204a*a\230J\30\246\22"
+"\206\251\204a*a\230J\30\246\22\206\251\377\0a\371\242\372U\316|\31\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0"
+"\214\34\20\301\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\22"
+"\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\323\1\6\22 \36\60\\\334\222\0\0"
+"\3gIDATx\234\355\227MHTQ\30\206\337\231\34\65\243\f\355\327\f\311\f\25"
+"-\22\253\221\n\23\254\215!A!\265L\373\201\210\26V\266\250M\265h\21\205"
+"\213\220\242\205F m\242\4+\254,\214\262\261\24*!\34!\31\251L1,51i\312\257"
+"\305\3349\367\316=\77stvu\337\315\3149\3577\317\375\276s\317\337\0\216"
+"\349r\364\377\310\35\237(\354w\351#\3222\267%\370\236M\306\222\305\334"
+"\312\26745R\236\34\13\243\202\210\210\232\263x\307\255\315(\n\2@Y&_\275"
+"6#\337\353\1\200/\23\64{\306\252\325\0\200\361Q\336\322g\244\0\300t\357"
+"\220\356\17x\271\352\247\210\210\336\27\n&\203n\36\331k\22\0\240\3533\77"
+"\34\332\332\322OD4\350\235#\360t\363\310J\6\200\3467\177f\317pm\364\0\230"
+"\270=\255\371H\2212Z\210(X\347\21\232\232y$\246\3\230|\361;\26FN\n\20l"
+"x ~)z\fw\321<`\354\371\230\304\325b\244f,\0\356\276\324\212\225)\305G\324"
+"_,s\365\362(X\2t\367\305\224\206\373\324w\362o\220\333:\214\304\214\205"
+"\24\370\24S\32p\265R\317\16\371\356\255\225\307\326\345\350\360\311\27"
+"l\234\6\302\235=v\264\351\247\334\3279_\\\353h\360\253F\234RI\342\265\346"
+"H,\373{\331Y\222\233\2764%~\274\253\261~\226\304[dQ\2558\246\264\261\245"
+"ZN(\245H\r\210\202\374DD\224+AT\221]\335|\320\200a\211\21G8\4Q\245=\350"
+"p\330\351\24!\366\13\20\374\343\206\230\223\307#\354cah\245-\314tz8\304"
+"|\346\371\216_\2620\216I\31\374\210\364\206\35/\20043\260\301\26w\305\264"
+"N\330\254\203a#\36\200u\232\334\267\77\314d\4$NR\250y\200\5\336\2633.\13"
+"\212q\3\300!\243\341\235\264t\2\0\270\255\307^\1\13\257\t}\277\370\332"
+"\350,d\266\237\373\301i\1\304,\345\27k\217\262|\5g\233\344\305\204\372"
+"\212\3700\321\224\226x\235DD\347Ys\273\222\361D\354m\16\20\325\230\315"
+"6\206\270)`\\\225\3613\205\331R\276\200qM\221#S\261\262\24\264\3500\236"
+"2\304\35\221=b\230A\25\303Lc\275\312V\355\267QJa\f\257\202\21\245\24\217"
+"\316pD)\245\3040;\24\210h\245\\0L\351\r\17@\253\272\24\4fTJ\201\312\257"
+"S \326F)\345\214a\306+\30\346\206\371H\225\306c\5\2\77\30\243Ld\3370\314"
+"\305*\206\272\224M\206\279G\355w\7\222:V7\322\263\335O\315\253\346\204"
+"\0\21>m\366\210rdZ\304Jy\307\233\345\312\321fZ\301\30\355\234\227*\33)"
+"\267\254\231\3041\206\215\317\nu\32X\306\362\340\376\376}4\214\246(\b$"
+"J\337\355\7\345\364\215\220\311\2108\25=\337\302\33593aX\227\304n\326\271"
+"/:\302<\201,Y\227\366\261\256\223\32\b\344Y\30\264\27@\341uK\307Y\35\4"
+"\360\212\344:\247\207\210\30\21\233\264\n\1\0\304\311\20\273\264\21\0\206"
+"E\204\266\204\231 \200j\216\360PvAW\250\326\n\360W\315\34\0\0(o\17\1\232"
+"\243-1G\216\349r\364\257\351/\262\202\nj\224n\327\256\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0x\b\4\0\0\0\362u\334\33\0"
+"\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\21\0\0\13\21\1\177"
+"d_\221\0\0\0\7tIME\7\323\3\7\t\33:\342\342\257\357\0\0\4\366IDATx\234\355"
+"\232]\210\26U\30\307\377\357\252\255\264\333\252\253IZ\352\372\271\22j"
+"B\330\27h_\336l\230\204\245\224\24\213\30\201y\23\336X\20^l\30}P\24\202"
+"Q\21\226H^T[\264\25\225\270(\346\246\240\365*\261\265\26i\230&D\340\352"
+"V.k>]\354\353\354\314\234\347|<\3579CK\234\377\334\314\231\371\237\347"
+"\371\275\363\2363s\316\231)\2010,U\363_\3\350\24\301\244\212`RE0\251\42"
+"\230T\21L\252\b&\325\310p\241Zp+\372\261\27]\270\24$\36\205\331\356\245"
+"\77\350\2\21\225iM\230\210a\260\246Q\7\rie\200\210\201\332X3\356I\366\7"
+"pK\200\210\201\300\372p:\331\37\205\2331\317;b \260\2638\227*\315\304t"
+"\357\210\201\300\272\321\223\352\213\215\303\7\f\330\214\37\222}\302B\357"
+"x\301\300\16\343P\262_\213\331\230\353\31/\340\235\177+\316$\373S0\336"
+"3Z@\260\203\350H\366\307`\226g\264\240\317\312\367\321W\331\33\205E\236"
+"\261\202\202}\211\355\270\b\0\250\303,4x\305\n<\272\370\n\177U\366\256"
+"\303$\257H\201\301vb\33\6\0\0\215\236\3752\370xl\37z\1\0u\236O\314\340"
+"`\37\340C\0@\3\246y\305)`\4\273\3\277\0\200\347c\251\0\260.\34\5\0L\304"
+"\335\36Q\n\0\273\2106\364\0h\304\215\36Q\n\231\214\34\302q\20\306z\265"
+"\262\202fI/\243\7@\263G\204\202\300v\341\0\200IX\\u\204\302\346\225k\261"
+"\36\275\36\327\254\204\2W\255\27\240\204#U\326-\24\314G\303v\211 \202I"
+"\25\301\244\212`RE0\251\376/`s\321^Y\362;\206\245U\244[\206\375\370\33"
+"e\264:x\235\27\37\347\321o\224U\273p\371\262\234\252\373\17\325\207Y\203"
+"\375\2108\275!\300:\254\324\276\322\340v\32]\214\250L\3749\325\343O\247"
+"\77\361.\354f\216\226\264~\2476\246\307\2\36q\t\0`={t\253\326\357\0f\276"
+"\244\343\354\1\0\0\223\331\243\353\264~+\330\307\226\363\235\266\0\25\355"
+"\321\34\337\242\255al\260K\331&\77\244\262s\323\257\321\306\250\252W\232"
+"uP\320\'A-\232(\327\313\301\266\33\240\216\323\355\42,\20\250\231\215\364"
+"\266\24l\262\26j\223\30ih\373\224\211\'\4\373\221\205\272\337\3jp{^\211"
+"Y\222\200-b\240>\363\206\32\334:rq\331\267u\272\312\335\n\326\306@X\240"
+"|\247\332\346\16\66^\301j\r\210\5z&\23\273\307\35lK\16k]P,P].\2763XV\357"
+"\6\306R3\250\347\331\321\305B|\233)\353\307\0\325\353W\\k\314\300>+\237"
+"\310\224\236\16\ntY\247,\347\331+F9K\21\332\213%\306\34\314\25\313\276"
+"7\373&0\320e]a9\317\200=\234)\275\352\224\246\36m\330\205\235X\346\210"
+"\5L\260:\224\376\360\235\255#+\333\232\224\177\177\240^\311\200Y\253\344"
+"\266\351\271\32mb\260\237\344`\235\16):)/{\235\246\214\177\7\343\260\f"
+"\255\313\16\255\345N\267F\225\321\203\231\322\347\214C\1\273*S:YER\27="
+"\236)\2653\16\5\2546S:oMQ\247\34\351\267\326\251\301\224T\351R\362V\330"
+"\b&]eQ\247eoZ\353<\225)\275\242q\345\32\335\204L\263\334`m\306\313\225"
+"\246\257\231\\h\272\27Q\23\353Q.\320\205Li\246\365\327\77\240\34\351\266"
+"\324x2W>\241\361\31\177\17;\2043\374z\373\315bF\316\375\234\316iKeN\363"
+"\232\20l\244\342\36S-\330ZC\232V\6\313\4\66Z\361\32\376\21\365\320\317"
+"\216\211\36c\261\210\26k\374\371\77\221\210\350\16\t\330\13\271\312\317"
+"\262\25_\327`\21\365\263\376\325\214\263\327pu\31\260\371J\200%9\307\325"
+"4\240\305\42\42zQ\211\271\233\365\335$\3\343z\332\243\311\271k\350\13#"
+"\324\240\336JE{I\3439`\302\342\'#e\334\300\334W\276\307\b\314\261\334\243"
+"\322:\211\263\230o8o\33\2623\264+\34\256\211\257l\317\24\315\342p\321\357"
+"\243{1\326\342\320<\263]\27\60\253\225\rK\13\266J\224\246;\365\251\251"
+"\213Z\234\\\232\377\370\23\347\326\362\20\201@\3578\373\35\327A\364\247"
+"\33445\361\37u\362\337\347\206e\2\253\265&\311O\42N[\374\307\250\306\25"
+"\313\266j}F\233\244\213\3061\376\367\264\376\363t\233;\224\35\f\264\234"
+"~W\222l6\370\347\320\327\314\225\235j\311\242n\216\237\3204\242\t\243\321"
+"\207\23\231\317\343\365\252\305l4\240\37\247R\2379\313\24\277\355\221*"
+"\202I\25\301\244\212`RE0\251\42\230T\21L\252\b&U\4\223*\202I5l\301\376"
+"\5\316\362\221\16G\\\266\22\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0L\0\0\0x\b\0\0\0\0}\27KL\0\0\0\2bKGD\0\377\207\217\314\277"
+"\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322\335~\374\0\0\0\7tIME\7\323\1\6\22"
+"!/x\231\355\351\0\0\3\345IDATx\234\355\230khOa\34\307\277\377\3776\377"
+"\277\315uC,\354\206-\215\3105w\242\20\222K!\222H-o\360\302\245\344\305"
+"D.)\22B\256\211\27\204\f\21\26\271\214rY\213\261\271-\306\224\304l\315"
+"4\333\317\213s\177\316\357y\376\347\264\377;\347\373\346y\316\357\3629"
+"\277\347\\\236\3479\7\b\24(P\240@\255W\270MT\352\13\371d\245g\217\217\224"
+"\334mh]A\272\332.+\245\306\3573;\306\5\66\237\210\210\212\372\360\336\260"
+"\77\330\310&\0\230\236\315_\35\177\260\374\21I\0\360\245\236\342\0\313"
+"\312\1\0\374\372\311\273}\302R\1\240\245\342\253\257,^\241c\215DD/\207"
+"H\36(_\225\345\366\215\0\300\223j\376\222\371\323\350*\42\242\232\21\t"
+"\22\277\257\312\372t\4\200\242\347\315q\200\205\206%\1\250\77\337\342\247"
+"\0\2312\256\23Q\323\376$i\200\237\312\242=\1\64\334\377\33\27X^*\320t\374"
+"\232\374V\372\200\205G\246\0\265\367j\25\21\336ai\31\35\200\213\17\275"
+"\'\250\224ZBT5N\25\341\243\262\301\335\200\262w\255-I\77\355\272\37\364"
+"z\250:\3043,\232\321\211>|jmI\272B\267\350\325\24\365\372\343\275\2621"
+"=\360\250D=]$ze\205skW]\372\255\216\361\274n\206\6R\3157\257\3011\225,"
+"\177\301\3\375O\312\273@D\225\223\245\376\31\17~\227.\365\206\312\257!"
+"M\27$\1\245DD\324\334\316\3\353\22\231:\314\6<5\334\311\261P\tdW\n\23\61"
+"\311r;\354\314\254\341\\\312\2260\260UV\367\200\32&\3142\235\31X\272\325"
+"-P\302.\13\307\305\f\354\216\255\277\217\361\33\232LN\225rAa{\204\2&\260"
+"\36\363Q\323l!\375\245\254S\16\324\207\361\262\270\\+\350\204,&\335\216"
+"\332\254\30\0p5\3468\337X\250\271J\24\200\35F\244d\346\37f\242\256\305"
+"B\1(\322c\347\363\356r\203\265\336\3\313\274Y\307Yg\232\301\3628\35l\321"
+"\242+X\347>\235U\300z\335JQ\335\1\335w\306#\313L\340\\\203b\334j\267\252"
+"\205\4\333\273\271Zk6y\207}\226\273|\27\206\273\322\312\364\257\333g>`"
+"m\204c\13\266Xk\366\272s\332\25\336<;\203\203u\221\236\346\205l\224\313"
+"\210\210\350\1\223\42\27702O\226\356(\224\245\274\225\302\334\23k\261t"
+"v\310\324\354\247M\2038m\273g\326\211\314\2115-\320\232\353nO{\3554k$\25"
+"s\225}\324\354\326\332iV\26\321\232:1\303\\7\377\210\236p/\0@\213\365/"
+"\'\354\352\b2\227\265#\242g\243\326\354a\222\272h5\257\25\355\263\214Q"
+"\272\26\16\335\236i\253\325\3504jM\216\2302\317\350\224\13\216\rz[\305"
+"T\6\311L\'\273\376\331\272y;\307\222<\264\7%\260D\303\314\377\375\322\235"
+"\313\35\306\245\304\303\242\206\225\237\263\361\236IZi\261h,3F\242\t<l"
+"\247\356\336f\231\16\331Xd{\316\26\231F\331\7\373\0#\300\370r\356\332D"
+"\16\3552\42o[\266\341\22\230u\337V\0@\367\33$\352(\0`\267\315\362H\306"
+"\3227\275DDT^\341\42\21\21\321\3072\347\261\224\2059<@!\361u\261\357:\374"
+"\376\25\253\355$\30\354\3577\267\343TId9\224\306\17\346\345+\336>U}\252"
+"+\\\316B\340$g\217\271#arz\3@\231\333>;\346U\210\210)\306b\361E\260Wz\372"
+"\205\361\325\236\362\320\372\2428g\267\327\215\362\202\2\60\353\233\221"
+"\262\325a\357WbV\333[\226\313\355nS3\243\365U\277\334\366H\337\16\177>"
+"\307\343\347q\240@\201\2\5\n\244\324\77\331\337\20\2\360\4s!\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0x\b\0\0\0\0N,TE\0"
+"\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0\13\22\1\322"
+"\335~\374\0\0\0\7tIME\7\323\1\6\22\42\7f\1\26\320\0\0\3\33IDATx\234\355"
+"\227\335K\24Q\30\306\237\331\334\324-\77\3202\262\3004\313.\372\262\22"
+"\215\250\250\245\33e)\210\210(\222\245\210\360\42H\301\277\242+\243\350"
+"J/\203\b\13\26\242\13\203\225\r\5\63\fC\332\260hE\255\330Xv\3276]\230<"
+"o\27\263sfv\316\314\234\271\224\330\347f\316\307o\336\363\234w\317\307"
+",PRI\33@\276\315\25zQ\221\240\215-g\313\'\307W\275D\255\f\177\240|*T\343"
+"\205\275BDD\221V\315\216;\333\245\2@w\213\42g\17v\372\1\340{\216\344l\363"
+"^\0\300J\306\203\207\346:\0`\237\177\272;\5\0e8OD4w\\\221\307m\333W\16"
+"\0\323K$\217{*AD\364\243s\23\344q[k\0 2\263.g\225\16\77\200\334s&w\200"
+"\246\327D\244>\362\353u\267\270\25\273\1\254\276\375\353\205=P\7\250#\257"
+"\310\3\353\353\332\2dcYx`\353\233\252\201\27\23.\3\33\252\233$J\2341\17"
+"\344\314\2667\0\263_=\205\365\r\246)~\302\334RV\f\4\17\325f>\276\1\0T4"
+"\325\322\267ET5lE.\371[\214\25\216e(\23\13\3\0\2241\372t\1\365\341h6\33"
+"\r\327\13hp\201\210\210\26\202\0pz\216F*\253\6\226\31cly\240\312\312FH"
+"S\4\200\357\366D_\243\3223\305\30c\214M\365X\331L\201\315\0P\216\34\336"
+"\16\364g56\333/\316\315\20\315\253*\20\bh\265@\0\226\374\306\314\317U\25"
+"@2\251\265\350O\207\271\1\0:F\363\2141\226\37\355\20\6\66\347LS(\232V\325"
+"t4\4\bg\237\351\267\320#_k\307\314\323wN\323\372\257u\377\13\305\373\274"
+"\2419\42\42\32\367\202.\25V\320-9z\265\200\322\264\234]\323\331\274\265"
+"G\330\307~~\365\245\245\354=^\212J-$u\13t\311\332%\334\261\344\334e\365"
+"p^:\260\241\227\334\302\220\224\345(\265\311\320\32\203\25;-~\357\362\322"
+"{\251\205_<\354u\261\323\222\30\227\214Y=l\200\214U\273e\314\342\367\16"
+"/\3113\266\304\303\336\260\353.J\215k\306\212=\34\225\fkf\215\215;,y\13"
+"X\347v\273l\373\315\306$v\315\36\214`\302n\27\330^^z\342\354S\267\300\345"
+"\220\20\2233\231]\323]h\\\377f\273\347B\251\307\302\1\204\7v\353\361!\21"
+"\315\212#,r\366$o\33$\42\242\213\2k\263\36whu\375\210w\375\236\34\323\36"
+"\363\326\3662\36\226\377A\350sZ\367;9\233(\264\354/\324\237\tl3g\13\237"
+"\245\225z\275VG\270\3375\376\226\342\7\200m\272\225\241\2148\21#\17q\0"
+"a\275b\273\216\310\244\234Q\334c\307\306\311N\335v(\202v\350M[\24X\20\321"
+"\260\3Z\354\230\210\210.;\242V\370\217\373\2316`\220\211^\241W\330\2\307"
+"v\371\363+\251\305\234k\314\222J*i#\351\37\1\367f<\310\272\321t\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214"
+"\34\20\301\0\0\0\2bKGD\0\377\207\217\314\277\0\0\0\tpHYs\0\0\13\22\0\0"
+"\13\22\1\322\335~\374\0\0\0\7tIME\7\323\1\6\22\42\32\5\7z\t\0\0\3\352I"
+"DATx\234\355\227]l\24U\24\307\377]\331\266\24\n\246\5\3453\204\2Y\b \220"
+"\246l\303\227$\313\23\315\206DC\3207\267\n\2111>`\301\7x\21\37|0*\17\244"
+"\301\370\0\204@x!\205\260\2\5\305\254)X,$\370\21c\233\330\324\22*\244\6"
+"\273\13M\251.\334\343\303\314\334\231\275_s\333>\1\363\177\231\275\347"
+"\177\3467\347\334\2713s\27\210\24)R\244\347G\261\362Je\274\314\36\61\247"
+"\356\325\212\316\357G&R\305\344\314O4z\77=}\42\214\355DD\224],;1kFc\21"
+"\0\266\326\311\335[3V$\343\0\360\3270\215\237\261p\21\0\340A^\266\354\31"
+"\65\0\300z\356\331\236 \253\354\310(\21\321o\365\212\305`[GbI\5\0\334\274"
+"#O\207\265\326\377IDt7\371\202\302\263\255c\361t\0\310\336z2~FYC\34\300"
+"\360ifyI\225\26\264\23Q\2615\2564-\353\250\234\7`\344\352\343\2110\226"
+"\326\0\305\243\27\3247\305\216\21k\234\2\24:\n\32\327\212Q\273`\32p\346"
+"\7\215;I\177bj\345\213\371_\257\0\0\236,\4\372O\334\255~i*\206\7\37Z]\26"
+"\0\220\351\310S\276#\343\340z\211\316M\251\315\344\n\205\\\246\326\32\221"
+"\352\'\42\242\376\24\200\330\207C\324\275\244\272e\2001\306\6Z\252m\31"
+"Yr\224\5P\325J\354bES\27c\2141\326\325$\244j\347tc\340\370(\201\236/\376"
+"M$\234\210w\fg\4\265a6\256w\242\252\312\31y\307pF\207\177\214%\n\357\355"
+"\177\204\301A\'\342\35\303\25\230\323\262U\257\314\4\320\3206\312\30c\243"
+"m\r\266\214\340\275\255r\236\265tn\250X\34\312\245\305L\303w.\260\306\\"
+"5\274\271\6\267N\335\260.\343)\2248\37M\233\227\315{\271\246\374\301\315"
+"\223G\306I<E\1\35T\347\244N\266\357\326\23RT\252\1UR7\21\21-\323 \232I"
+"\324/r\322\200k\251\21\357J\b\242\214\230\264\313s\224\213\344-\5B\276"
+"\334=\356,\227\21\342\\\270\232/\244\371\316\357\22\242\232{\235\37|\26"
+"`\274\257e\3103\322\3439I\0s\374\304\243B\336!\337j\21\254w<\243\34@p\231"
+"\234\27/\3463\3724\216\373\206z\233\'~-2>W4\23\3\200\235\356 9\22\b\2\0"
+"\376\26\31b\7<}\257\363\373\323.7X\317\355n\351\204}\n\210\337\312\177"
+"|\234\347\365n\322%K7\306\2115\312i\252%\255\361n\20\21}\314\207[\214\214"
+"+jo]\37\321^\177\230\343\210\343\n\306a\35\277NY-\255P0\2764\324\310\265"
+"\311\330\n\332m\30\337qD\233\312\276\357\232E\23\303/c\265\3116\275oCZ"
+"\341\214\244\201\21\322J\334f:BZ\331\354\232\327\r\210\260V>qM\305S\300"
+"\365\255\271\25\364\215\251\2255&\277\325\200X\31\322\312~\327,70\374\27"
+"\346eS\31\337\30\20x\310\31[U\3661\327\234ib\230[Y\353z\245kT\334;\220"
+"\326\t\272\245\236\260\267\364\377\2\f+\20\336\327\346uU\215\\3x+\77\313"
+"f\3328\333\\s9\343\232\344\325\352f*\246\33\212\33j\300\333\36o7\227\201"
+"Y\274\16\351\357\337m\3278\33\202@\245\366\336\376a\\\276%\362\31%_\305"
+"\370\77^x\351X\30\301G\3425\36|#\34\341\177\201\2U\247zyh\217\5\2\313\3"
+"\f\332\1\240\376\253@\340#\33\4\360#\351u\300\16Q2#\202\254\32\1\0L\322"
+"!\266Y#\0\f\252\b\271\212\261 \200\335\22\341\222n\203n\320\301 \240\273"
+"y\354\0\0@\372\232\3\310\206=b\221\42E\212\24\351Y\323\377\366\363]\200"
+"<\3052n\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\08\0\0\0"
+"x\b\0\0\0\0\202\265n\256\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0>IDATx"
+"\332\355\322\261\r\300 \24CA\2032ZfaAJ\366H\3032\354\360\273\210\273\376"
+"I.\234\0\0\0\0I\322V\255\233\317[\13w\257N\375Q\330F\255\373\34\22\0\340"
+"B\7\34\260\3\330\326\345\260\267\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0d\0\0\0x\b\0\0\0\0!\235\bh\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0\65IDATx\332\355\3231\21\0\60\f\304\260O\301\206d\301\265,r"
+"\31$\2\236\234\0\0\0\0\0\0\300nu\'\42o r\42\262-R\3550\0\0\0\0>F\13\2,"
+"\6]$N\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\25\0\0\0"
+"x\b\0\0\0\08\26\346\316\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\16IDAT"
+"x\332\355\323/K\4A\30\307\361\237w\307\352\255\26\303\302\201\301f\271"
+"*\b\6\65\33\16\243E0\210\\\262(\370\26\f\206\303\267`S\320t`\331\340\37"
+"tE0\330E\301\203\203\3\21D,\356\335\327\2627\316\214Y\323\374\322\360\231"
+"\77\317\314\3#\205\374IF\232G\345_XKa\317\307\205.0h\270\270\375\5\364"
+"\367\307l\33=\4\350.9\13\'R\200\333)\7\243\24\240]u\317<\08\215\\\\\36"
+"\0Y\354b\374\4\364j\336Ew\1V=\214_\201\13\377M\33\0\r_\317\2017\277+I\37"
+"8\261\245$i\261$\351\331\327YIz\267\265\42iF\222\266\346\222\217^v\374"
+"bf.1\311[\346\321\17X1U3[Y)\252u\234{\256\25z\357h\275\320\266\333\377"
+"\341\340\312>\367l\250\363\271\245\353f\327\316\17^[]j~\26x\223\3305\246"
+"[\217\220\337mV\374.\217OF\341\373\205\204\204\204\204\374o\276\1e\246"
+"\256\23\203\356\262O\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0\25\0\0\0x\b\0\0\0\08\26\346\316\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\rIDATx\332\355\323;K\303P\30\207\361\177\255D-\245\340\240\24T"
+"\364\33\b.\212\2038+8\b\202\243\203Hw\5W\307\16\16\305\257\320\315\301"
+"N\202K\6/xA\'\301Q\35\13\212\2709\330\230\307!\227\346\274~\2\341<\323"
+"\341\227p\222\367\220H\276\377X9[\4\265r\317\\\33\334\271\217\340\2715"
+"]\304\261\33\222\276\32\205]\256\311\333\313u\253\217D\213\231\236\25\224"
+"\253L_\212\312\254\244\1I\337\316\373\254\246\372\344\350\\\252mG\'\263"
+"\305Iq\337\307|\332V\324\327KI\245\304\2476\26\306\253\357\363\243\222"
+":\353\3468\16\0\232\351\323\362j\222\364`uFR|n\317\372\23\260\2505\200"
+"m\253\27\300G\305\340&\300\276\301\372\33\360jn\255\334\2\361\212\213A"
+"\7\340\310\305\221S\2000pp\342\16 \254:\270\334\5h\17\25m\370\360\7\350"
+"\355\232\221b\240\273dgjBX\377\373\5\36\67J\376\77\364\371|>_\322/:\16"
+"\255\263\32\227,=\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0\34\0\0\0x\b\0\0\0\0\304\3\315\4\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\1\35IDATx\332\355\224\273J\3A\24@\357nd]\265q\205(AH*m\374\0\t\366\242"
+"\210\245\245`\3477X\245\266\23\204|\200\217\17\330*E\4\211b\'\26*\370h"
+"\4\253\304\42dm\214Br,4:\263\336\265\24\2049\3250\347\336;/\356\2108\34"
+"\16\207\303\341p8\376\32\357{XZ/O%7\361\21JT\345\25\0\316\347~\312\35\6"
+"<\317\247\335B\377K\322\314\247\344\1\6\325\224\2745\345K\3641\351\177"
+"\312!32\\\261\345\243U\247l\313\330\222\263\366\232\341\235\271\350\205"
+"\235\331]\2766B\375\364I\303\315Fw\220y\254\335\364x\24T\1\16\225#HG$\21"
+"\21\271\312\250^\22\219\325\237\320o\1\255\234\236\2714)\42{==\363\fx+"
+"\352n\3`Ww\3056\320\214T7v\t\364WU7\\\3\330\376\305\3059\315M\234\0\324"
+"G47s\17P\33\325\334Z\2\260\37\250\16\240\267\345\251\233\t\32\360\264\230"
+"\3253\371\207\372tvG\25\274\377\376\'\274\3\372\230\247~\374\16\26z\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\25\0\0\0x\b\0\0\0"
+"\08\26\346\316\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\32IDATx\332\355"
+"\323\275J\303P\30\306\361\247\37\304Z\213[\241\240P\357@pt\20\7\'\205^"
+"\203\223t\327\13p\354\340P\274\205n\n:\t.\31\252\242-\352\42:tP\7\207B"
+"E\272\210\203m\363w0m\222\267W \236g\311\341w^\236\204C\216\344\362\27"
+"\223\211\226s\205`dv\313\365g\30\336\356d\343X\375\34277\305\b\367\230"
+"\344z\322\271:\214\224\355\261^\305\220\363\20\227\343\310\213\244\264"
+"\244\255\304\327|\207\272\222\320\247P\27\23\332\b\237\17\361\332\223\361"
+"\356ed\303\272\'IYI\357\222\324o\27\77{\255\343\267IS\r`\77\336\235\226"
+"t\'I\363V\233\201\244\245\251Cn\2\375\214=\365lE\312\335w\314l\376\3\270"
+"\260\263\203\324\206T\356<\332\341W\240W\262\357\333\f\200V\336\362!\300"
+"\251g\324\363\1\316f\r\27|\200\366\202\341\231\6@w\335v\357\16\200\321"
+"A\316\360Z\27\b*v\272\344Cm\372gLU\2172\356J\272\270\270\270\374\353\374"
+"\0C\225\256;7\1\77\20\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0\'\0\0\0x\b\0\0\0\0T\20\264\313\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1&IDATx\332\355\317/KC\1\24\206\361\307\273q\325i1\f\6\6\233\305"
+"*\b\6\65\33\206\321\42\30\206,Y\24\374\n\6\303\360+\330\24f\32X\26\374"
+"\203N\4\203]\24\24\6\3\21D,n{\r\212\336\313\356\275\247\313y\342\2177\234"
+"\3\236\367_\33\252\36\346l\242\324\224vMb\241-\251_6\210\255OI\275\275"
+"\221l\32>\220\244\366R61\336\224\244\353\311l\42lJRc4\233`_\222\216C\203"
+"X\356Kj\25\f\242\360 \251S2\bv$i\325\42\n/\222\316,\202\212$\225-\202S"
+"I\2579\213(\366$\325\r\n`1\0\36c\273A\n`\26\340-\266\33\244<L\3l\316\25"
+"\337;\255\243\247oM 8\327o\335Z\230Fp\247H\3654\202V\24\265\222L\1<\307"
+"^X\203$\n\3406\2063\220D\1\64b\30B\42\1\27\321cN\322\b\346\273\21\\O#`"
+"\373\317.s\251\4T\77~\354\252\230A\300T\355^\352\336l\3443\t\200\261\211"
+"\20\233<\317\363<\317\363<\317\263\373\2f/\\&\211`\303\6\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\'\0\0\0x\b\0\0\0\0T\20\264\313"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1.IDATx\332\355\317/KCQ\30\307\361"
+"\357\356\225\253^\306\300\240\fT\364\35\b\26\305 f\205\5A0\32D\326\25\254"
+"\306\5\303\360-\254\31\\\22,7L\305\77h\22\214j\34(b3\270\271\237a\314\335"
+"\253\347\336S\f\206\363M\207\317y\302\363\200\313\365\377\363{\217\240"
+"\340\267~\374\375\246\201\255\233\266\364P\235\312$F/\325\355\275\234A"
+"\370\27\372n\'\225`\243oj/\244\21\234\304P\347i\4\217q\324\214\221<\340"
+"#q\373\n&\362\200\373\4\316b\42\17\250%p\2\63\1G\361e\356\322\b\202j\273"
+"\217gF\312u\'\'\327\346\307\362/s#@}5\225z\355IR\305H^\34\13\0\267\230"
+"(17\rt\32X\b\377MR\303FP\222\244M\33\301\251\244\327\320F\254K\322\256"
+"\215(>Kz\n-Dx%\251\263l!\202\272$\35X\210\341cI\212\202lb\374Z\222\242"
+"|6\261\324\224\244\332`6\r\355\177Jjmg\23\224:\222\232\213\26\2*RT\264"
+"\22\370\207\345\234\235\\.\227\313\345r\271\\.\327_\367\5\33\262[f\7\t"
+"#\332\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\'\0\0\0x"
+"\b\0\0\0\0T\20\264\313\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\60IDATx"
+"\332\355\317\257K\3a\0\306\361\357\356\344\324c\f\f\312@E\377\3\301\242"
+"\30\304\254\260 \bF\203\310\272\202\325\270`\30\376\13k\6\227\4\313\205"
+"\251\370\3M\202Q\215\3El\6\67\367\30\324\355N\337\273\27\253\274\337\362"
+"\302\347}\302\373\202\313\345r\271\\.\227\313\345r\271\376\222\377u\6\5"
+"\277\365\343\3527\365m\\\265\245\273\352D&1|\256\317^\313\31\204\177\246"
+"n[\251\4k=S{.\215\340(\206:M#\270\217\243\246\314\344\301[\342\357K`\42"
+"\17n\238\r&\362\240\226\30010\22p\20\177\314M\32APm\367\360\304L9\0\306"
+"WfG\362O3C@}\2314\372nG\222*f\362bX\0\270N\354\272\24\337M\2\235Fbg \374"
+"\27I\r\33AI\222\326m\4\307\222\236C\33\261*I\3336\242\370(\351!\264\20"
+"\341\205\244\316\242\205\b\352\222\264g!\6\17%)\n\262\211\321KI\212\362"
+"\331\304BS\222j\375\3314\260\373.\251\265\231MP\352Hj\316[\b\250HQ\321"
+"J\340\357\227sv\372\'}\0-\4[f\374\326\34i\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0\'\0\0\0x\b\0\0\0\0T\20\264\313\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\1@IDATx\332\355\317\77KBQ\30\307\361\257\367"
+"\212\231I\233 \24\330;\b\32\33\242\241\251\300\327\320\24\356\365\2\32"
+"\35\32\244\267\340VPS\320\342`E)\325\22\658TC\203`\204K4\344\237_\203\240"
+"\367\346\271\347.\r\r\347;\35>\3479\360\34p\271\376\177\376\3704\227\35"
+"\16~]NS\241\362,\365ow\222V\242\364\245Q79\13\261\247q\327~$\261\332\237"
+"\240\266\243\b\256\2\246\363(b9hz1\223\7[\241\237\177\203\211<X\t\341\23"
+"\230\310\203\305\20V\301H\360\20\334\345$\212\340rB\375J*\202\222\360\16"
+"\320m\346>;\215\343\267\321S\3AY\222\366C\33M\223\7w\0\363\241\271i\362"
+"\240>\4\226Bs\6\2\352\222\272\276\235| Y\204\364}+8g \310|H\272\260\223"
+"\17\364\22\33Ph=\6\330@@\346UR\'\37C\300\346PR#\23C\300\241$\235\246b\b"
+"R5I:\233\265\23\220\255IRs\301N\300LU\222\332\353v\2\330\355I\32\34\244"
+"\355\4\254\265%\r\2131\4\344kR9\226\200D\351\310\217\'\227\313\345r\271"
+"\\.\227\313\3657\375\0_\320\\mQH\232\270\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225\227\376g\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\2\324IDATx\332\355\230MHTQ\24\307\377\216_D"
+"j\37F~PA_\240\240aI\213\f\t\262\205\213\26-,\250H(\b\242\210\242u\233 "
+"\b\2\13\4[$\21\265\210\202\242B\260\260\f\242B)\263P*\360sR\263\374\236"
+"\31\235\31%\307\177\213\367\336}\257\231\247\335\263h\367\16\\\356\341"
+"\234\371y\3569\367\334{\307\1<\361\304\23O\264$\311\335\234{l[\272\277"
+"\341\215\340\17\35\232&I\336O\327&J\347hH\2556\362\310$8\227\247\213\204"
+",\204\207]\274>\27[v\246R\327k\42IK\27\324\r\31\17*\265_7\227\6+\225\205"
+"|\315(xb)m\303\272QV[\373rA\177\367\237\32D,_\37\2512\220\27\202\36K\17"
+"\222$OH\32\374\36I\306\262]}>w\244\t\0\332&$\310[\0x-;z\1\222U\220DA\27"
+"\200\257\356\256\24s.\257\310\r\274k\232S\366\301\235@\237\375\261\342"
+"\312M\321\216\2073\16pE#Ir\252\256\304\262\334$\247-}\345\331\16\222\344"
+"h\205\3y\246\316T\353\361\f\0@\r9`\370\312nG,g\270P\21\345tH\370AuA\32"
+"\256\220\337\201\374\312\253\275N\337\35\205\\b\274\4\243dlr>\336<\254"
+"\322O\334\345,\0\276U\t\3465\252\310\77uw\353\227\212\362\374\262\323\36"
+"~\365\301\77{\344\0\306O\373r\212\366nN\350\243\270\223\313\205\346\243"
+"\313\0\230\351\3(\251\r\330\225\331\352\270\206Z\f[\244\276\310\264\\#"
+"\255\345f\236\3536\2743\373\235\21\323N6\365\3644\236\261\23\276A\6\354"
+"\256\332W\337\331\333~}\303\322\211\336%\347!k\313, y\271\f\311\1\260V"
+"\206\344\231C\37I]\7`\243\b)H\6P(BJ\1`\207\b\331\r\0e)\222wz\200$\271G"
+"\20e\227\361z\35\24D\271e4\325T\2066\221g\235\366\363\332H\235\325\355"
+"#Y\232D\361ouBj4\221\26\373~\230\337\256W1\373\316DrD/\312);\312G\335\202"
+"\305\24rQ\267b\255\n)\326\335\375FK\31\352\324E^&(\377\224\324\260\271"
+"\256j\375\36k6\221-\372\235\374\336\230\306z\364\221\366\277&-\344\263"
+"1}\22 }\263\0\200/\2$\326\5\0\370&\271.\214\274\273\305\310xH\202\f\2\200"
+"_t\217\r)N\33\371\1\0\303\42d\4\0FE\310\230z\262\265\221h\24\300\204\354"
+"I\2324\207\0\t\2\b\311\220\220\211\t\220\2609\4\310,\200\310\177\317\205"
+"\346\220\245\37\22~!Y<\310\222\13\203xaA\371\302\340!\36\262\350\277o\361"
+"\362\270\37\63\336\257T\236$\310\37:\337\313\256\371\322\330\17\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\62\0\0\0x\b\0\0\0\0\225"
+"\227\376g\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\324IDATx\332\355\230"
+"]hTG\24\307\377\273Y\223\252\371\320hX5&1QS\263*\215\232VCT\214J[1V\221"
+"`)\370\244U!\226\26\37D\13V_D\372M\37\372P\350CA\20\243\330@A|P[\251M\265"
+"\245v5\20M\233f\255u\265kbB6\32\327\232f\367\357Cf\346\336\335\254\361"
+"\314\373\36X\366\3349\367wg\356\231s\346\314\\ #\31\311HFD\342I\337\234"
+"\363\346\212\202\376\357[\206\345\17\252\352\42I\6g\210\211\361!\216\310"
+"%\217\24\331N-\257\246\261z\323!k\215\366\272\24)3Z\211\24\341\230\346"
+"\264\310\3154\332s\220\213Fk\225zlz\\9\354\321D\361\304\\PH3\244\3\303"
+"q\365\177L\36\60\5\61\222d\267O\336\313\300\31\0\300\251a9\202o\1\0\337"
+"\331\344\304\2248\311\'/X\345Q;\311\337\323\233\23610\\\1\320a\207t\0\370"
+"\'\275I\273\261|\363,\266\235\3566\355w\1D\234\333J\32\2\354l\371\327M"
+"\36\374\237$\207Oo\314\322\211B\262Q/\4o\235\213\223d\254\311E\3546ix\347"
+"P)\0`9\311z\0@\345\307=\332\230\330d\210q\367\351H\374\207=/\347c\31\311"
+"\0&\327\355\277\3542\321qH\rS%6@2\372\337\250\366\231\332cSG\2571\371\0"
+"\nrF\265O\326HD<\303\367\364j\351\r\273\327\270\304\325_\377\352\365\177"
+"\n4\r\26U\326-p\23W\27\33u\2273\332\316}\305\332c\245\0Pq0\354\30\67\270"
+"\360\317\225\27\317oP\341`\20\300\267\345\242\262\356K\32\344\252\346\33"
+"\241\313\207\3479\327$_4W\13\77\372-t\375\233\232\261\337\263\201d\265"
+"]X\26*\217Z S\25f\201\224\0(\266Cf\3\250\260C\26\0\bX\245~\21I\366ylz\251"
+"\7\200\302j\33d$\2276Z\214k\322#\222\344M\257\34\331\253\302p\223\230\310"
+"\275\247\220\266,)\362\241\211\366&!\261h\310 \17\312d\36{g\234Q\363\266"
+"\311z\231\326gz\351\222\26\313\267\r\262Z\372\372\336k\212h\221\317\313"
+"\26\205,\222#\276\273$\311\237,bl\370\4\0\240\331&\370W\223$\313l\220\t"
+"C$oYee\354:\200\240}\255\374\323\16\271\245~\26H\4@\267\35\322\3\240o\354"
+"\42\16_yn\270\327i\37\4\20u\335\347\237\31\375;\221\234\207\237\365\223"
+"\f\2767I7,\'9\333\334\377~;\311\236C\331.\42/\250\202j\360\253\252Q\365"
+"\245\346\250.\263g]\314\227\256\242\373\343\216\351\0\226*\244\374\335"
+"+.\333\1s\262\30\337\237\\{o\207z=\215\300q\237\177N\362A!R\254\267\320"
+"\265\224\312,\355\344<q\354M\324NN\235\346hG\4\233\201\2393\2\271I\206"
+"\370\35\247\236\273\372n\377\340%\217\361X\326+GB.\333\31\207\256\325n"
+"|\370\265*\273+H\316\359z\255<\246\255\321*W\217\265\327H&~\336\231\257"
+"\33\336 \271\304lN\367\4I\262u~\362\370\347\254\255\367\247\34\224\32\334"
+"\265s\315\232\322\324\30\353\352JzBEJ\255\f\207\237\33\311\1\0\363\355"
+"\316\233\21\222mVD\25I\306\213lRl=\0x\327\331\364\362\13I\322\346\2300"
+"7A\222|R(\37\330\326\221MBv\243\274\227N\25!\27\304D\265\331f\373\245\3"
+"[o\254\257I\221\245F[&E\234),\226\42\217\215\366P\212\374a\264\33R\217"
+"\2552\36\253\24{\371\244B>\221Oe\366\27C$c\7<\26\337aPXW\324\335:\220\371"
+"N\225\221\24y\n\tk\244\203\33\3256\256\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0\0d\234\245\352\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\1^IDATx\332\355\326=K\303P\24\306\361\30|\251Eb"
+"u*RD\254\25\224nb\77\200t\363#\250`\235\205\342\334Q\7u\21\304\321\227"
+"I\77\201\213\340Z\220\n.\16\245\370\6Z\207V\254\255$\25-\3448t\2611\367"
+"97\202\333\371\257\341\27.7\207\334k\30\222$I\222$I\322\377\326\245~\324"
+"\35\237\264\302\365J\361%\370[\7\226O\337\251]iw6\240]\257\321\317\362"
+"s\1\360\3743y;\211\350n\305\246K\277\273Oja\363\220|\253\245t\364\36)\252"
+"&x\274@\312\256\303\34\216\326\325\232\2669}\4\60}M`<\326B\232\16\260\336"
+"\200\230\232\26\324wX\323\222\347\353v.|\234\331\2264\322\354@\314 \315"
+"\316C\2\351aN\367\16\2\335\317\216b\bh\233\325\16\320U\16\67m\240\213\234"
+".\241]\273p\31]@\372\365\222\321\347\360\351*\36\324\6\376(\326\33\324"
+";\314\322r\b;1n\32n\200\316\261\343\220\372T\342|\17\377[\314\270\n\374"
+"\24\323\371%g\375yyJ\3570Yt|\360\325\250\3569\226,xmk\253O\377\30\64Wn"
+";\354\361t\2603\330L\357\77\264\251}\2666\362\207\273\2031\24\217\30\37"
+"\345G\222\33\226$I\222$I\222$\351\366\r\267\356\77\235\314B\0O\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0d\0\0\0x\b\0\0\0\0!\235"
+"\bh\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1uIDATx\332\355\325\317+\303"
+"q\34\307\361\357\266\306\3222\205(\322N\270\214\220\34(\341\210\177@9Z"
+";ssq\220\13g\362\'\250\225\2039:I\273(\26N\324\212\262\320bjS\373\371r"
+"\330\366\375lz\277\277;\272\274\36\247\317>{~\77\237o\237\326g\226EDDD"
+"DDDDDDDDDDDD\364\257<\177\77w\271J\316O\4\332\363\316A\207\277\0\247\357"
+"g\317\177P\271\r{\324`\340\360\35x=\350V\203\266\315\7 \33\235\320\367"
+"\330\251\0\0p\21P\202\245\257j\220\232T\202\376\233jP\214h{DP\27\223\203"
+"\221l=x\353\23\3\357u=\250\254(\207\235\2617\301\262X\304Lp\324\3425\221"
+"\224\317|\335\248\221\202\236\262\t2\342\32\361\206%\346\315\264\333\f"
+"\307-yl\13\65\304\201\240T(K4<\347\265\344\261<\331\262\360\212\233<Y\362"
+"X\234,<\267*\304%\254`\321\34hX,\22&8\23\203=\23|\373\345\237\327\261]"
+"<\372\304`\325\16\nSb\320\233\266\213m\355>\270\252\5\37!\245\330\255\5"
+"\345\r%X\310\325\212\250zk\370\366s\0\312\247C\352\235\260\366\2\0\367"
+"\213j0v\t\0\351-w\343\244\253\271\351\234\33\374\214\247\234.\324\231\321"
+"R\342\316\351\376\33\236\366%\343y\376\365\20\21\21\21\65\373\5\266\256"
+"\17\326\220\364\221\214\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0d\0\0\0x\b\0\0\0\0!\235\bh\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\7\42IDATx\332\355\231{pU\305\35\307\367\346E`B\240\t\31B\221\f\242\202"
+"\222\26\225\240\306\21E\320\372@G\212J\24mu\24_\24D\324\216XE\20h\5e\0"
+"\21\245>\6\245\345Q\251\216E\211\264QD\4\25\5\5|0\24\212!\201D1\304\204"
+"p\315\343>\77\375\343\356\3569g\357\271Q\317\255\343\37=\277\277\366\374"
+"\366{\366{v\367\267\277\307\36!|\361\305\27_|\361\305\27_|\371\277\226"
+"\271\300\354\37\231c\42P\227\367C\336\310J\322\364\32QV\222\23\371b\313"
+"\246\210\373\33W/\21B<\360m\32_\2319\356\315(\t\251\237\234\351\206\270"
+"&\4l\13\244\3011v/6\331T\230\214\270+\n\304\317\366NQR\205Sv\230+\237\277"
+"\2\200U\3369\3064\313\261\333\26\225>\234h\375\335\301\22\2508\b@k\211"
+"g\216\7\343\222\343\243\23\205\20w\264\3\360\345==T\177\321\355\237J\300"
+"\254\37:\264\332\301\300\343Sd\353\235\313Z\205\20b\320\302\321B\b!B\357"
+"\356\250o\317\352\325\377\364!\31\22P7\250\315\343<\26\251}\330\253\77"
+"\375\214\177\31[D\363\21\200\353\275\256\325\375j\234\320\351\226r\260"
+"\223\242i\316\310(\260\325\253\371\216V\207\203\31\366\245l\201\347\36"
+"\333\21\6\342\7V\217\357&6\2\361r\217\34}\33\365bu\261\353\367\300<!\262"
+"~>\340\270.B\bq%\300\n\257\213e-\376E\16\375\247\260\324z\352R\r\264\366"
+"\365\310q\235\346x\331\331Q\13K\214}{\310#G\327C\212\243\343\4gO\320~&"
+"\212[\200\332n\36I\356\326\23Y\340\354(\6n\327O\313\0\306{\344\310\252"
+"S\34-\206C\274\30\30\245\36\312b\300{^\315\367*=\2219F\317l\210\27(s\336"
+"\f\304\207y5\255\265\212#\3703\243g\33\354V\355q\0\313\275rtkW$O\30=\375"
+"\342\260X\266sk\200\240W\363\25\27)\216X\177\243g\6p\236lO\7\230\356\331"
+"\303\77\244H\3360:rj\241Fz\336\276A\240&\3273\311jEbZ\347\315\300\3\262"
+"\275\34`\234\367x\370\216\344\b\367p\352s\17\3001i\ng\304\201\315i$\17"
+"*\334\275\355\262\214\322\246\3\357\3\261a\3369\3046I2\317\251.\355\200"
+"\257\362m\276\355\371t\362\301u\222\344&\247a\357\2\256\223\355Z\340Xq"
+":$\177\224$W8\42\377*\233K\236\t\360\207\2642\333s%\311\rv\345|\240Zz\224"
+"~\255@unZ$\201}\t\222\'-U\306\23\300\321_\312\247U\0W\247\231\244\377F"
+"f\42\5:\343\256\4\332\224\373-\217\3\233\322\255\4\2o$X6t\27B\b\221=\341"
+"\b\20\274P\365~\b\304NK\273\336(\372O\202\245n\372\257\316\276ja=\300\241"
+"\241\252\363\6\200\347\376\7UM\311\347F\22\267\266Hu\345\325\1-\305i\22"
+"d\t!\16\226/\270%\303R\355\237\366\212n\337\327W\b\361\247\303\366\27\316"
+":s`q^\333\301\355\225M)\213\234\262\362\223\373\344\265\325o[\337\340\320"
+"\17Y\361mb\22\321\r\327\332\212\257\222v`\277-\27+}\372\33\235u<\333\333"
+"\225\342\370\5\207\25$\274\322\310\377\273\216\2304k\336\324K\235\321q"
+"\r\300X+\t\\\25\263\257j\343\250d\212\202\245\21;$\370\335\266\177n\34"
+"\330h\31{\213\261w\241$\226\321_\33\220\350w\245\347\31\333\201\350\251"
+"j3\236R/F\236\35\236\227w\376z\240\3518\347i\230\251j\234\330\352Q=\273"
+"\226\257\6:\206tNr\23\3003*I}Mq\324\f\263\312\371\27796|\231\2024\\\220"
+"\320L\6\266t\312\321\375+\240EZs\316z5@u\77\365\335\33 6\3006\217\277j"
+"\216_(\335_lyB\312\213\7\356\225\3\254\324\31\340)\32Pn\13\320\n\17\20"
+":\3072\317\30\374\271\23\216\343\333\201}\322|\247\351\235\274\306\6\251"
+"\261\247\37\67j\310T\33d3\374\273\23\222\227\1\306$\332\347\351\42\351"
+"E;\344E8\244\313\262V]\376\7\234A#\232\235\222\343|\2007\245s\251\326%"
+"]\221\35\3638\204\224\355}\244\17\351Iv\310=@J\257\224\271\23\210\312\r"
+"\\\254Wb\242\3\264\0\302\262\371\373\24\31\365]\235\221\334\2\272\314*"
+"\325\207x\227\363\272\345\31h\224UFPA\169+\230\7\201T5M\376\327@s\221\221"
+"\2223\322\211z]\357\352\22\r\271\321\ty\32RV\375\363\1\356N\264OU\307\230"
+"W\f\324~xM\b!D\237\220\276\216\311pB6\302\256\24\34\'u\0{\263m9*@d\260"
+"\23U\30W\351\332l=\221K\215\255=\232\372\272\347\37\0\227\'\332=\332\324"
+"\0\313\f\324\257\25(S\27k\357\32\220\241I\306\242\345\2\200*\273\7\3\210"
+"\30e\253X\6\321|\215w)\321\205x\308\331\335|\77\3\42\245\366Y\1\2544k\213"
+"Fx\313\271\355\333\315\241>Oy\340\'\202U\300g\36U#\f5`\343\201\tB\b!v+"
+"\210\31<\206\33\27)\226\364l\0\232\n\315[\234\17L\334\207\20\314\27B\210"
+"\356\312\374\16\347\30\220\227 \322\337\225d!\200\272\375\22\25\212\344"
+"6\227:p\221\366\306\0\3147 \203c\260\306\225cP\30\330\243\235\332\275*"
+"\216\26&\373\235P\211U\31\3\224\31CUB\374LW\222J\247\271\317\221\3\230"
+"\1\356wz\42\342Vu\311k\324bW\0/\245\256\206\377i=\317\222#<\352\204\r\b"
+"Z\3736AB\214\225)\3702\371\266F\272\354\335@\304f\332\223\335J\13\221\273"
+"]\233V\342\213\223o\2202^OY\225\337\t\326\25\201\20B\214\224#\214q\244"
+"%+\201*\265:\'H\310\224\244\350\275\3235^\25\66\2\215\5\366\244O\246\226"
+"w\3309\26\3\365V\2308\220\200<b\37\351>\340\350@\327\211,\6\230\354P=\237"
+"\30\241\322\322d\277\340\314\26\224\177\334im|`.\20\37\353\312qJ\4\330"
+"\355\374\23\61\60\f@\374B\235al\5\242\25\366\3717\33\261\244O\25\300\235"
+"\235\\F\232NN\332WS\3422\272\367#m@\310\351@\244}\265\3756\3412\2465\3"
+"\261)\356\34\227\31\353\42\217\335\253rc\337\2339ivU\7@\303\b\3\263T\305"
+"\2549\223f\254k\5h\271\322\235#{\17\20\36\224\244\317Ynd\321\353\222R\203"
+"\300\243q\'d\313\200\24\241j*\326)vJE\255\355\375\255\227\270A.\331g\203"
+"|R\221\352\42\246W3p\244\247k_\316\365k\233\0B\37\317-K\225D\215Y\323\0"
+"\20\376l\341\360\24\177\35\276\207\24\27\5Z\352\243\235Bz\365\316:V\37"
+"\26\276\370\342\213/\276\370\342\213/\276\3744\362_\2139\321\4*\6\275\77"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\32\0\0\0x\b\0"
+"\0\0\0\311\35\275C\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\35IDATx\332"
+"\355\324\261K\2Q\34\300\361\323P\24\313(\22\62BZ\32\f\203\206\206\240\246"
+"\240\240)\34\32\333\33\232\364O\260!\232\25\2425\b\32k\251\351\226\266"
+"\6\313\240h\320A\n\207#1\202\244H\356\333\360\232\372\375\336\34\301\373"
+"\216\367y\34\77\336\335{\236\347r\271\\\256\377\321\220\366p2\321\267,"
+"/\177\275$u\251@/\246\312\1\260\247A\244\n<\217(\22=\2\330\324\346=\68"
+"Q$v\n\320\31\227\22\77\3\b7\244$/\0\250II\371\0\64\22B\322W\0\364\347\204"
+"\214]\3\300\256\220\211\272\221\313\210\330\352{#\335\354o\231~4\302\226"
+"\230\272\365#\347r\356\355\201\241^NZ\361\323\230\37\225\266\366n\254\244"
+"\354\354\312+\0\37\5\305\26\273\0\334\306\25[\b\0\330\327\276\375|\0\60"
+"X\326\254\20\0\64\2075\313w\0\16\325\37m\266\r\204\353\252\3154\201\247"
+"Q\325\246\36\254\257\3642w\20.Y\254\1\276\345\240dnx\263\235\271\324\316"
+"\252\273x\\\256\77\353\33\252\217\271\203`bE5\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\32\0\0\0x\b\0\0\0\0\311\35\275C\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\1\30IDATx\332\355\324\257KCQ\24\300\361"
+"\363\330\17&\33\216\301\202\42Sl\3324\254\31\246\b\2665\203\321d[\267\250"
+"\177\201\32\305`1(X\r+\206iP\246m8\30\302,ZD\246\210\b2\336\373\32\256"
+"\355\234\333\25\3567\276\17\357\362\356;\227+\22\n\205B\241\177Ty\334\'"
+"#\257\303M\17e\337`[\77N\211H\234Y\222Z|i\276\226{\0\266\354%\27\23`72"
+"\355\0\340\320\264B\37\340(eY-\186m\17\200\223\264\265\357.\0gY\303\252"
+"C\0\316s\206\355\0\300E^S\272\355\354jT\333\314\227\263\353\242\266\206"
+"#\332%E\321\355\257\335\250\375\315};\371\\Q\3\3508y_P\353\355;\31T\225"
+",\'\0\274\314+)=\1\360<\253\277\374\24\200\307i-k\0\364\247\264L\f|\22"
+"\65\1z\25\343\257o\0\334\217\31\62\371\1\334\225\255\3517=\263\20Y\5Z\5"
+"K\242\36\264\362\346\371,\306>\21\251\257g\302%\23\n\375\225~\0=\304\267"
+"d<B\211D\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\64\0\0"
+"\0p\b\0\0\0\0t\332\fM\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\205IDATx"
+"\332\355\326\313J\303@\24\306\361\257\24\246\232}\264\326K_Ap\345\23\370"
+" n\305E\364A|\203>\201Z\361.\322\215[AD\253\365R\301}\5W\202\233\36\27"
+"\61\'\223tfr\6W\302|\253\f\311\17\262\b\177\2\204\205\205\205\205\205\205"
+"\205\375e\353m\331s\321v\235\2577\307oK\42\323\243N\235\r\321P\240\242"
+"K\242Lm\214\211\210\206\213\42C\324\251\1\300\332\27\21\21\275.T\230\13"
+"\42\42\242\255\364(R\321y\301\260zq\250\351\262a\365<o3Sg\23\246R\31\r"
+"\253\247\226\3114NS\223\224o\374\252\201A5N,&Ws\345\33\312nX=6K\346\330"
+"a,J\359\r\253\207Y\315\34V\30V}V\352\240\322\344j\306\303\260\272\217\1"
+"@\355\213LA\251=\241au\27\253]\261au\333\3650\254\274LA%\362\244\261\362"
+"0\210\256S3j{\230^\366v\262\36j\255\42\42Y\17u\363M\262\36\352}K\204=\324"
+"\373\226\210+\232\367-\21\366PoU\42\354\241\301\210\224\241o\316\36Z\373"
+"\346\350\241\243o\326\36:\373f\351aE\253\254\312\3317C\17\5\255\232\350"
+"!\0\250\256\254\275Y\17\205}+\364\20\0D\255*)a\337\270\207\0\200\35\277"
+"\366^\325\0\2405\360i\357\347jzh\366\345\355\375X\311\16\361\215\264\275"
+"\357\313\332\367-\r\225\n\377\306aaa\377}\77\205\306`\270\2361\271\30\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0B\0\0\0x\b\0\0\0"
+"\0c\336{\377\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\327IDATx\332\355\230"
+"[H\24Q\30\307g\335\213\353\326*%mj\265\341\256\253\31jiv3\210\42%\303\13"
+"\21\24I$\25AQV\217\205A\275H\24A\364\22A$I\24Q\31\24\204\17*a\227\207\24"
+"\304\265\213]H\273\230{k\327;\353\272\273s\276\36v\346\314\350\316\231"
+"\331\235\212(\346\377\264\373\315\231\337~\347\77\347\373f\317\241(E\212"
+"\24)R\364\27\244\22\273\250\313\317\263\244\33\325T\310\333\337k\37\213"
+"\37\221\276\255z\313\\\356\353x\307w\375\225\36\210=9uq\243\17\242\204"
+"&\256&\304\bH\310\2711\1B\n\241\360\333\343\261\20\222\352\334@\320\364"
+"$\2\377\335<)B\352#\234\270\263q_q\372\274\324\354\252\13\335a\336|\350"
+"\221\275\211b\204\2027\354P\373n=\216j\13\257\17\343T\246\221\307\42B("
+"\355g\6:\216$\3154h\365\343\0\0\0\2\0\64b%\23\252\77\62\204\'\253\242\314"
+"7\234\366\1\240\220\4b\353\253\b\200n\316\26\272\\\343\213\244\21\364\21"
+"\21k\2373\204\226\\\341\1U\1\0\0\30\363\220\20Y\367Y#7\220~\344\20\22E"
+"\314k\240#\204\37\'\21035\\\1\4\1\37\1\241\3359\31!\204[\rd\277\363\306"
+"\21 R\26Y\37\230i\fW\213Uom\230\210\3207\262\213\357\231h-%\237!\42J\31"
+"#\200\256\21/\0[3=*\210\320\364\260\353\327\243\227(\2422\273\337\313C"
+"\340\234k\227\263\237\36\4$\20m\367\302:\201Ve\264#6\2132\351\206t\313"
+"%Pf\7q\35:\346\307\320R\370Yh\230\307\261+\205\215\274\b\306\200\340\217"
+"a\274\330l\305\246t\205\244\333\376\f\'\230;K\323p\244[\32\2210\3\21\231"
+"\210y\5^\322^\27\222D\320Tt\26+\27\343\300\300T\274o\263\b\242 \3\7\276"
+"\4d!\222\255F\34\30\n\312B\230\27q\1w\334\b*\r\342\326y!/~I\377\r\202\242"
+"(\312|\223\263j`\235\254,t\274\227g\210\226\205\320\350x\b$/\13^\263\f"
+"\243\177\370\241\206x\305\251U\313B\204y}J\243\242\376t\231y\376\343\32"
+"\371MeFU\274\345\374:\220(+\13\207\233\13\230\264\262\20\203N.\260P\'\13"
+"\341\375\314\275\177\226\310\233\b\325\347\302\1\213^\36\242\327\201\3"
+"\326$y\210\367\237\302\370\17\235E-\13Awpk\177\215V\336\322j\347\314X\253"
+"\223\207\370\336\356g#%F\231\13\64w\20\257\317\375q\336\312z\347\315)d"
+"\313Ew[\352&m9\214\nlz3\307\330,\202YR\210-\275\356\243B\317\276\1\357"
+"!/J\355c/M\203\377\2419\372\302|vc\7C\266\30\n{$C\300\225\312)\6\21\270"
+"&\332\203\2274\1\0\\\26\334h\234c\323\30\334!6\215c~\0pf\b^\314|\310\272"
+"\361b\31\221\240\251p\1\0\34\326\20\366\230\235\354\t\301=3i)\226\364\3"
+"\0\3347\221\376[\227\277f\37l\323R\341!\233\34\0\0}Ed\267*q\27m+\22\350"
+"\314\332\272\0\0\300\267\355\32\21\2636\341\255\215\347T\362\354Il\354"
+"\b\1\0\270\16\212Wbv+>\251p\236\315\341\345\273`O\273\37\0\0\276\36\320"
+"J\34\7%\326\327\3434\351\317/\337}\33\16R\306\305\266\342\374\310\331\20"
+"\364\235l\221<\24R\255\177J~-\7\357\230c*\3379\273\273ha\302\353\362\230"
+"{\200a[\363h\324\375S\255\333uq\35\215\2316\227m\344vl\264\253\263\275"
+"e\20\305}@\247J\261-5\315UQ\23\343\375_\334\210R\244H\221\42E\212f\353"
+"\'\262\\)\0DK\257\255\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0^\0\0\0p\b\0\0\0\0\262\37\230\364\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\77IDATx\332\355\324\261N\302P\24\306\361KQj\320B\42\60\32\223\372"
+"\4\32\36\200g\322\220\270\303\344\244\261\270\22Mt\321\'\320\321\304\225"
+"\25\226\3068\310\2\306\224P+m8\16\355\261\301\234\343\344d\276\337t\341"
+"_\356m\332{1\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0D\305\325\217\366\301^\30\352"
+"W\227\233\273\301\247\236\253\315\235i\254\347R\' J\256\353J\336\362>\210"
+"\42oS\311\265\313\5\321\374\244\244\316\376@DD4\222\347\257\16\322\374"
+"T\26sc\224\346\373\2422\3751e\256\304\334\343\334\25\363\r\347\2662\375"
+"\13_\20oK\317=\344<\221\356\257\236p~V\236\35}k\ty\77\317\256\220[y\256"
+"\345\337Z\3710\21\207\177\224\2151C^>r\244\27\377\316\371\325\22\262\23"
+"q\36\32\361\356\315\31\17\3723\341\367\213\13\36\235/\205<\353\363\350"
+"Ty\265\205\273t\371AE\314\366c\266\363\344\235]\311\366\355mA=\302Gc\242"
+"\300s\224\274\321}#\232t\264s\343x\1\321\370pe[\375X\312r\327\375_N\375"
+"\232k\374D\317\266\33\373K\374\321\2\0\0\374\37_7\213\334I\13\372\341\201"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0d\0\0\0x\b\0\0"
+"\0\0!\235\bh\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\363IDATx\332\355\231"
+"]l\24U\24\307O\277\226\226\355\207m\227JA\227\246T\203\253P%u%P\215\2B"
+"L\261\326Hjb\203F@\r/\332\2501\20\220\330\32\64!5\2\211\321D\203\2\1\243"
+"\21C\255\306\370\221\330\364\1\254\25l\250X\332B\232vQ\260\255m\331\322"
+"v\373\265\177\37vg\346\354\354\314\316\235\245Cx\230\377\323\3349\367\314"
+"o\346\316\271\347\334\334Kd\313\226-[\266l\331\262\25\247\22\342wM\272"
+"\313S\230\237\353 \232\34\360\235o\351\23\206\334\276~m\316\370\311\357"
+"\376\n\32\22\212*\36]\345\3447\332N\34\276\240\264\356\3731\211\6\213\264"
+"\34=\35\b\351\332\223\261\77p\316\346\223\210V\360\333\25r\207\263\0\2"
+"Z\256\273\230C\223C\37\221Z}\31:\372:\374\362\357\0\0\64\236q\0\0\2Gk\352"
+"|\0\320\226\242\307(\357\206\276\306v\245\20\321\3\323\0\200\334(\337\r"
+"\0\306\36N \42Z\330\f\340+mD\316\347\312\23G\216W\257.\314\316vy\312k\32"
+"\247\244\233g\356\241\264\363\241\313\2\265\263c\n\350K\227\242\341\30"
+"\200{\265\30+zdDsU\32\63\314{\345b\370\376\370\313\373\302WK\325\336U\0"
+"n\223[\211>\240E\203\361\354\204\204\350,S\333\222\267\376\253\32\273R"
+"u\227n\340\bk>\b\300\31\305\330\31\224\374\367\247j\274B\366\27\221\220"
+"\307T\366\24\0%<H\1\24\253\37\262G\362\236\330\244\23\24\325\323\34R\251"
+"\262f\2p\361\33\32/\262[fT\350\206w\345$\203l1\17\331&;o\2161O\253\202"
+"\n\244\332`\270\34Q\341\265N\36\211Ocf\203\335\n\344M\265\315\7\34bM/\200"
+"Ln_<(\271^\316\214\tI\374I\206\354U\333\266\0\310W\322f\27\320\25\61\215"
+"N\13\r\26\21\221{D\352\371aTB\232\1\272\345\270\374\0\300#\334\\\'3:\222"
+"\214\22\264\234\3\217F\2316\1\350\273\233\210\210\262\32\0\264\360D\\:"
+"#C\266\32V\201\271W\302]\33\242m\307\0\240g\373S\333\232\0\300\237\316"
+"\303\342\234\314\350O3\256f\257\205\3736j\224\257\203,\304{n\341\246W\25"
+"\303>\201\222\231>\24\352{Z\313\270\326/=jg\304\300g\17*\220\373E\n\363"
+"\376p~\323\16\277\222\367\333q\361\340:Ub\252e_(T\375=\341`7\261`\220\276"
+"^3*\265\365k\250\212\313/o\354\361<\373\77\277\210AB\t\335\231(\376%gY"
+"@\314\27s\311\13\345\240,aF\tc\\\22u\n\345\26\267\360pmd\327\255\242\220"
+"\320\n!C\30\362\4\273\376S\24R\37\64\5q/a\215\13\242\220+\247LA\36\212"
+"X\t\b\377\311zS\220\225\274\321+\fi\340\20CE\254z3\310\32]e\214\3618\237"
+"a4\\y\274\330\16Y\4q\363\306\260E\220|\336\30\265\b\222\315\33\1\213 \316"
+"\33\1\211H\244\23\26AfE7\5\304\317\33i\26A\306\42\26\253\26A\206o\304p"
+"\375\255;in6\210\241F\370V\200U!\334\301\243+\325\42H\304\2e\221E\220\26"
+"\335\304o\240\227\326\334*\334\327\303\313\357\13\342\214\205\0\6\16\b"
+"~I\373\77\254\261D\34\342%\242\\\207 \4\337\263F\2618d\245\251\305`\31"
+"\33\256\1q\310\37\232[8zr\f0\312\35\242^yA\0\343\251\242\251~\222\357\36"
+"\255\26\205T$\20Qs@\270\236|\f\345z\215(\244\222\210\350g\23\21\337\240"
+"\f\327U\3019\357\236\6\0\217\t\210\227\375\224\215b.{\0\340\234\251\264"
+"pB\201|#\344\340\354\7\200\327MA\356\224\267\36\61#4\37\267\3\300\230\313"
+"\\\206{[\371\224O\4\272\273\376\3\200\217L\246\3219m2dj\231q\367\317\0"
+" `:e/\33Uv\330\r\17*\312\203\242\2730*=\247\f\330\33\6]\13\7\1\300\227"
+"e\36B\357\312\220\351\3303r^\27\0\340\361x\252\33\333\251\362\307\312{"
+"\13Z\21\347`\21\21%\35RN\2\312t{-\17m\3467&\307\271\346HxO9\217\251\323"
+"^\261:v\204f\324\357Y\24\267^\f(\33_\317Dox&\77\335\25\336\262\313\271"
+"\236EXI;\333\314\251-\216\b\346\345\265\275a\313q\365Q\202\311\323\271"
+"\264\232jvD\324\177\252\263sx\210(c\376\242\245^)\211\4\336\332\213\353"
+"]Qz\352\21SM\36\232\r\225|9\245\2138\263a\326\326\307\13v\264j\21\374\207"
+"W\351\304e\234\234\202\365\245\336\42V\273\257\265\376\366C\343$\315.\204"
+"\210h\356\342\2Wn\22\321\360hO\357\245\31\262e\313\226-[\266l\331\262\25"
+"C\377\3\210\0\210\210n\236H\356\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0e\0\0\0x\b\0\0\0\0\316_cV\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3JIDATx\332\355\231[H\24Q\30\307\377\273\336\257\273ji\251\231"
+")J\30&\211D\5\242\206\231aD\21T&=T \370\20\30\21hDO\275\364\20E\320CAB"
+"\204&a=$V\220/\332\5J\204\22\13\303\362\n\t*!\336/\355\376{\330m\367\214"
+"3\332\346\314\16\24\347\377t\276o\2779\2779\337\371\31693;\200\224\224"
+"\224\224\224\224\224\324\277\'\213\302\332\264\2778v\356m\313g\2472(8{"
+"\355\200\241\261e\216\254/ti\372\210\22\236\302\265\253\32\0\254\336\276"
+".\177\312t\267\42\236\264\5\33\225\254h\0\b\364\230\267\316\1Xx\3745\342"
+"x2\220\337\231\273d\f%Ja\35$9[h\1\200\244w$\233\f\312\330\35q\366\203g"
+"\2\61\2266\355.\211\372r`\307\7\17\305^\3X\354\341\353\322\323\255\212"
+";cw\367\370\254\273\35\36\22eOHJP\215\245\261\\0*H&{,\3530\331\2411\374"
+"\270\332E\3416\373r\324\371\331S\375l^1\226\26\361\347~\362\201`\346\223"
+"\214\320J\363M\241\2032\355\231\210\275\360]\bz%\374\22D2O\260CH\346hu"
+"q\312{\375\317\320\225f<\362\206\323\23\325%Tr\30\200\1!n\1@\242V\7\23"
+"\336\346\370\374J\224\351\363\'\27W\250d\337\344T\336\311JjD\203E\240\270"
+"\3072\7 U\334S\0\214\350Y&\215\327\265\326\3130y_0w\222\214\326\272\272"
+"\314;/\203\253b\302\277\271\303\302\5\347Y\222\33\275{h/\331\13]\24\34"
+"s\207m\20|\241\16\262\337S4\267I\26\351\244X{\\a\231\313Ktt\33\0\300\326"
+"L\262\303\242\223\202*WX\236\302\331@\222\2035G\253\332Ir2\22z)\261\256"
+"M`\257\362<\253\23V\354\240\35\272)h\42I\36V\234/<\263o\312s\324\244M\30"
+"\260\3517{\26\214\270*[\355\271\25\245[\373\332\32\333\347\327\324ki\n"
+"\200\273^\373\271\323\252:`|\323j\31{C\222\242\243\223$k\225\'\262n\305"
+"\253\260\2773f % E\223b3\226\222\241z\42y\357\207\261\354Ry\6&\215\247"
+"\224\250<\354\322\250d\235\17^\207\324\276+\31\300\250\241\225|\321\345"
+"\325\3369\215\32Jb\355j\373\263A\220\340\372\30\377Sl\315\205\3607\305"
+"z\242\273d\325\0\3755f\317-.O\375C\214\16J\374K \324\226\20\357C\250\16"
+"Jh\261\357)5\345\275\362\177\242\350\230\227\241\315\0l\21\353\267l/\335"
+"m\360]i\357c9\257=^\77f\354cA\235\31\363\342\250l1c\366\35\247\307\314"
+"\250\261\261\253\246T\362\275)3(3OMY\225\255\246P:M\241\3648\314\240,\215"
+"\232\262[\216\230B\231\364\343\271\357\325\265\207fP^\310\23YR$ERtQ\202"
+"\204\227<\377Q\204\377\315l\376\243\34\3606\303\n\374\223\336\310\242G"
+"\342\207\202\211KY\1\276]h\361\351\335\256\36@LX\234\372\273\307\322\310"
+"\217\271\31\0\250\354\327=\6\37\276\362d\313\365\42%%%%%%%%%\365\227\372"
+"\5\60K_\331>\251\353\13\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0p\0\0\0x\b\0\0\0\0\17\330)\372\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\5XIDATx\332\355\231{L\225e\34\307\277\b\36\24\23Q\354\42\42):\264"
+"\31^\333\2341,m\313\350\242\2159$\25\323MC\263\325,k0\227m\331u\313\311"
+"\372#/\225\215\372\207K\331\305\3312\222Th&P\231\262\241\255D\5LE\256\223"
+"\214#\360\355\217\367\34\316\3579{/\34\336\363\272\376x\277\177\274\347"
+"\374~\317\345s\236\347\367\\\317\13\270r\345\312\225+W\256\\\271\372\377"
+"+\2\236T\35w\363E\343\42\272\5\374\272\330,\214y\217\245\245\304{Z\317"
+"\2378X\326\33\360&QGW\307\33\327\251[\300\257\215\201\246d\235\16\270/"
+"\346FY\224\257\210\264\t\34_N\222=\307\77\375\370\360\r\222\254N\261(\377"
+"\266=\340}WI\362\303\4\0\30\375^\37\311\266\5\346\345\3732\354\0S\333I"
+"2\337_$\227$\273\346i\203&.\17\210\30=6yz\224Z\357\2659\r\372\300\270\327"
+"\343\22\'\'\351$\\\256kh)\371\31\0\342O&\28\260\244\77\251p5\200\2533/"
+"\313\354\261\253j\203\302\30e2\32\357Xs\\\315}\366\371\211\201\324\42\222"
+"\344\275\1\307\370n\222\3742x\274\357Q\353x\327|F=u]\4\3405\371\353\356"
+"\'I\236\220\231\277 I>\24<)K\3240>jN|\240\273\77\353\13J\302W$\311m\322"
+"\265\232$\371cp\25\33\325&^K2\'n\367g<\254\270\307\365\222$\37\226\276"
+"d\255\tS\314\201\254\34j\n\214\353\362\345[\240WK\242\322yZ\377\277\214"
+"!\2465\246\275i\232\334\376\265o=\253PK\1\0z.I\37\33\1\0\17Z\0\261\345"
+"q\323\344\357\265\217CT\274\332\350l\351SWg\0\300L+`D\241i\30\253\265\217"
+"\32\325;\1\0\320\241:53a\230\36\260R|\37S\3441\1\376\241m\2u\2527\26\0"
+"\320\255\333\200X=\340\212\26a\3147\13\343\315&\0\300\5\325K\275\254>\220"
+"G\17\330\260V\26yi\211\t\361\212x\366\253\23\0\20\255\327lt\352\306\360"
+"\300N\331\13\237\334m\fl\5\200\256\240\336\323\6d\234\352\214\7\0t\351"
+"\3\221_-\303Xl\34\306N\235\341\341\13\351Xu\16\337\5\08c0J\275\313e%\363"
+"\214\367F/\0\334\fr\376\244\5-Y\372n\327\32|\334hZ\324\257\227\326\346"
+"\245\246-\354\fr~\13\337\234\23\232\345\13\226\341<,\335\255\204qb(\7\263"
+"s\307|\253\212\320\42mI*\327]K\1\0\303O\312E\365\204A\30\77 \311S\301\336"
+"\245$\311\313r\307:\243\263\251\250@L\273.\211\5\241\0q\204$\231\23p,&"
+"I\326y\314\200\310Q\366\306\'C\1Nn\'\311\206\376\2311\274\226$\273\347"
+"\302\24\210BIl\233\24\2\20\217t\223\344\21\337l\217.%\311\236LX\0G\324"
+"Ib\225\'\4 2:H\362\\\316H f\331)\222\354x\2V@\314\370G\22\337\17\5\210"
+"i\225$\311\336\306\306\36\222d\371\24X\3\261A\tcf(@DdV\364\371\213z\17"
+".\366\273\243Lg\324\356\205Y\242\206}\277\325\2070\33\271\177\377\204\205"
+"\251I\243\275m\365\277T\264\32d\nn!F\235\223m\254\361\204\320B\3Y\354\370"
+"\35Y^a\315\335a\377~h\1DM\236\264\236[\3468\20\5\7\244\365Q\262\343@\256"
+"\225\227\341Q\245\321N\3\321\262R\\\2271\307n\30\243\254\263T\276\372\226"
+"\2606\35+\261,Q\221`\224\222~\311bZh\275P&\347F\373\24\313iq\301\360\276"
+"\2324\200.\5\372V\311\213\344\250\222hgc\b\340J\216\f\343\354\235\16\307"
+"\20\300\17\357l\225\35\177\264\330<{\272a\255\2270\220\30\2\210<&#\321"
+"\221\342\330\322\346W\257r\374\217-\32\346l\f\1\64>-\33>\273\300q \16*"
+"C%7\333q \362\253\244\265w\252\343@o\266<\376\217,\32\3564\20\365\353\224"
+"\263{\201\343@|\276KZ\317\254p\34\210\27\177\227\326\236\251\216\3\377"
+"]~]X\267\225\3048\r\304\331g\2455\243\300q >+\224\326\372Uv\201C,\177\304"
+"\2463\322\3325\325&p\244x\352\253+\353\206\f\343\42\233\300a\342i\240\323"
+"\233\303y\210\212\225\177\251\30hOq\30\201c\304\323P\271\177\205\17\230"
+" \236\306\307\377lo\330\200\223\304\323\344\370\377\n\302\244\30\355\356"
+"\270\317*_\3047\312\331\357\324\240\201\351Z\5\265\226\31\307\\\30\64P"
+"\351R\337\337\277\323\255\372\24\255+{\302\321\243C\233|\77y\373\0\366"
+"\377pt\351\226\376c\3408\353\2369d\37\230\26x\357Q1\3022\367\235\177\333"
+"\4\16\331 \377#\371u\226e\201E=6\2001\363\267\375\31\3646\357\273u\367"
+"D\232\27zc\260\300\262\232\246^\335\273\225\367|\265\331\3613\362\350 "
+"\201f\357\37\363\314\n&6\333\235\207!\252q\r\35\77b\4\35\377w\334b \266"
+"V\341\26kb[\2501\214\262\7<\2371\303\367\266\304\225+W\256\\\271r\345\312"
+"\225+\33\372\17J8\307\357\262\372\214U\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0O\0\0\0x\b\0\0\0\0\226 \360O\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\4fIDATx\332\355\227oLUe\34\307\77\367z\241H\215p\26"
+"\240\211\346\n\305\30eK\32dV\226\253\201Rn\206N\255\334h\225\314\27f\255"
+"\271\206Mm\271^\344\262\27\272Vnn\5\255\210,u\226\22\263e\310\246n\342"
+"\326\324\205A\206f\27A2\42\274\300\345~{q\316\271\367\374\303\336\364\242"
+"\265\363}s\316\363\375\335\363y~\317y\316\363{\236\13\201\2\5\n\24(\320"
+"\377O!\333\375M3s\322\256\236\3771\366\257\360n|n\371\3540\300\340\221"
+"O\352\6 \362\315\214\252\257\201\214m\266_\307^J\270\1\213\26\332\32\33"
+".Yw+\273\225R\264*D\215\3644@\246\354\232\347I\250\305\36\316\267\334\267"
+"%ul\230\233\223\2257\177\363O\222\366\224\304\244\325\0\343\232\233Ot&"
+"\254\7>p\343\246%C\27[\233\233\247\230\356z)\2619\335l\204W\365H#\222^"
+"I>u[\207\24\223\244\337\257w\361^\265\2E6\263pXz\315\336\351)I\322\306"
+"\224\263Sj\220$-q\361N\350L\233$}g%\3\2601\302\231\267l\77:\367\310/\0"
+"\343R\316\20\324\2\260\302\211\313\237\315\247\0\f\333x\23+\240\3161q\321"
+"\312a\'\178q\32\240l\202\303\\\6\365\16#\f<\234\6g\234\375\36\333\n\214"
+"uz\265\0\351\225.\336\17\247=\274;\255q\333\364f\27\214wZu\2Xi\267\212"
+"\n\\\351\21\6\262\201\273]\274\376w<\371u\36\6(\235~\255\341\22\6\306\0"
+"\253\306\271\200;\7q[\265\0\241\3456g)\255m^\336\25`\362\2564g\340r\243"
+"\207\327\20s\r\270x\272;=\302@\33\300\222C\263\234\221\257\334\343\345"
+"\312>\200\31sl\351\251\336\247&\334n\254\231\370\356\212\f\233{\335\244"
+"\354Tc\207\224\7\25\222\244w\223\271\234\3271\240M\222\232\354\300Fk\r"
+"\16\64\325\224\246\373\225!\203\227\336#I]\21\323\234g,I/\257p\300V#\372"
+"\17\256\2777\354\317c\273$\251\3144\267+\221\347\313\243\342\252\243*)"
+"\372^\251/\257D\222\364\261\341E\272\324\202\77\2179\247\345RK\261\17\217"
+"\263\222\324o|\350\13\244\265\36\2369\262\343w\275x\326\331C\311\221*\237"
+"\367X\7\60v\261\3711\'>\273V\345\177pG\247#\303\370Bo~\306\247\320\b\220"
+"\336\253\303\2146^S\5\325\365\227R\300\356\t\36\236Q\336\343\223\200E\322"
+"\232\177\342\1\241\3025\r=&p\213\227W-Iz\31\250U<\307\227W\360\314\2\367"
+"\242\271\177\2671\315c<\274\211C\222\324\n7\364\351\20\276\274\265:\347"
+"M\363\371\270$\335\343\341\261W\222T\310S\322\13>\2740\304\231\232\347"
+"\341\275_\3P\344\355\350#c{e)\361\335>\257+\f#\360\2707\260\365\2\220\343"
+"\365\367\375\1\260<\263\214o\273\375yq\250\364\6\206\367\2\21\257\37k\0"
+"\230\2625\303\334\210|\363\233\77\323\339\13\364Y\215\f\310\260WU\252\30"
+"\376\202Q\363\13\275\356\177\262\351\260\32\343S\273\311\341N\343\332\324"
+";:\217e\363=\221; q\324jL\202\\\3636Qg\\}\207k\216\227\320\207\331\256"
+"\300\230r\370\336z\343\341YP\350X\303\f\356\31\2157\f0y\177\2263P\225\7"
+"\311\243\332\334L(\267\32\247Z\1\16^\31m\205=i,\256\223S\355fq\277t\300"
+"j\244\37\221\244\305Vs\235$\245\16\36\77K2K\3\0\345\222.\264K\275\325\311"
+"R\37z\366O\251\375\26s.\26\35\225$\305\266\3142\252[n\\\32\260\246\'R\36"
+"\227\244\276\7\2225\275LRYV\275\244\213\333\26\27\334\234\225{\337\332"
+"VI\'\215E\263\242+\221\25281#\215\3\322\347\0\245\355\35\321\241d,\332"
+"\336>\r\340Qi\27\360\204\243D\367\277a\236\364V;j\242\261{\257\224*\315"
+"\'\235\312\'\2\203\277\365\256\3\366\354{l\351C\306;\374\353\330\336\332"
+"\36\63\373\343\233\34\273<\0_nb\77@\307&\327T\\v\234\357\201\314[3\303"
+"C\321_G\202\77>\201\2\5\n\24(P\240@\201\2\5\n\24(P\240@\201\376\23\372"
+"\33\221\311\325\362\'\23\363\21\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0T\0\0\0p\b\0\0\0\0\245=\b=\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3\1IDATx\332\355\227\337K\24Q\24\307\77\376hK7]\263L!1\25*\224"
+"\250@{\251\20\202\312\22\213D\2S\203\222\360\307\177\20\365\320\263\17"
+"A/=hmEh\20\321\322/[0+\304\212\36\2\303\212%*du\13\2\323\215\302\265t\275"
+"=\314\335\331\335\331\31\177\354.\324\303\375\276\334s\317\234\371p\347"
+"\234sg\356\200\222\222\222\222\222\222\222\322\377\246\24h*\\(\240\177"
+"\370p\271>\31\3567\139\270=l\377\276\250\215Cb!u\320\33\236xSM\230\351"
+"\276\210p\77@\372\342\17\363\364\327\212M{4\263\250\346a\354\365\332\r"
+"\322\b\16zg\3\30W:\351\13\n!\204\230\232\234\234\16\257\24\340\223\234"
+"\2310y\24\n=\27\362\310\347\231\3519YY\220\222[\370\23\200\316\334\334"
+"\314\314\362&\227\320o\234\226\343\241\342\30fIu\310\32\325\23\2\300\310"
+"\21\25716\340\361\334\334\177/\303\340Mm=k\fl\215\315s*\300\237\243^\323"
+"l>\356\214q\265\330\f\16\333)xi\6\275\77jQ\243k\21\266_\0\344\327\31B\352"
+"\362\341\262\31\364\211U\341\307\276\205\355\361A\0:\214O\17_\37\230A="
+"\226\3554\26aw\3PU\26\25\260e/\\\235\213\205\276\36\370l\t\35\34\360\351"
+"\266k\2 \245-z\241)\314_Y\244\321\375B\b!\316\304\370G\204\30\341\202\326"
+"\304\231\21\376\214\t!\372ph}\332h\350\323%\251[\0\3444D\270\352\327\206"
+"\322\22\223\323%\352\303\20\0\355\21\256v\370\322\227\20\224.\0vV\350\216"
+"\255\273\3019\227\30\324\365\335\320U\3550\357$1\350\314\r\0\32r\344\334"
+"\336\f\356\261\4\241r\353\330O\310i\203#\224\222D\240\236\350R\265\203"
+"\317\2350T\266Oy\25\0\25\225\246eZ6\364\316d\304R\333 \350$qh@+U\375z "
+"\3738\270\307\223\0E\333\347\266\26\240y\265\331n\212\7\372\376\271\376"
+"\272o\263(\323\362\241\262\253J\252\331\265\315\242Lq@oO\311]eY\2468\240"
+"\201\36\0jv\34\263*S\34PY\2334W\206\371n\212\17\372\356\205\226U\30w\'"
+"\r\212\376\365p\6\223\7\275\345\327\3069\'\311\203\6z\265\321\355K\42\64"
+"T\237.\226\b\265:YfB\236>y\373\n`,\\\246,mXe\16-\265\3\260\316\310\314"
+"\335\b\5e\321]\345\234\327\347\7\264\241\312d5Y\305uo\344q\370\364fG\330"
+"\277\262`\3373!\204\370\330X\42\17\201v\277\20\263\362\250\233\226\267"
+"\363|\3500{\275\2664\303x\\0\250H\273\320h\342\273$\304]y\2377\372&\177"
+"\274\205\202.\253\227\236\376w\242);\315x\351\207\2264\233=\326\307\32"
+"y\262\4G\364\262\204_\375\361))))))))))))))\375k\375\5\361\244_\330.\340"
+"\364\4\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0p"
+"\b\0\0\0\0\201$\207\375\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\303IDA"
+"Tx\332\355\324M(\4a\30\7\360\377Zl>\212\203\229(\21\7\42\212\332X\271\270"
+"8)%_7\'G\7\241\334\344\302\201-)9H>\213\42\345 %\37\245\220\270p j\221"
+"\317\330Z,\311\343\360\274cwefg\266\334\236\3472\363>\363\376\336y\347"
+"\231g\6\220@\272\321E\273\301\265\214\335\327\275\210\356\230tD\237\265"
+"\221\300\370-\42z\257\262\16c\26\211\210\310[j\25\332\'\211\343!\337\32"
+"\264\215\222\26\267\271\226\240\233\2q\225m\1\16\252\235\362\301c\232\332"
+"\206X\334e\r\363\311e\216I\250\346\77\27\301>\305\247\327\246\236\325>"
+"\306\263_\312\1\304,\360\340\246 <\214\235\346\271>\27\17\227x\370X\22"
+"\16\306-+\350\324VZ\341\204\267\302\30&o\250\255\272\2k\255r\352\265\306"
+"\b\246\35\252\342T\6\67\360:\'\77\232\364a\356\271z\371#!\351B\225\375"
+"j\327\203\316G\255m\206C\362\371\77\3554`\373\23\326\275Q8I\263\216\77"
+"`\347\27\205\227\264\231\362\3339\306\325\263\234\351H\277\207\'\234j\355"
+"\24\305\207\324\265\26\0\300{\313\234N\21\374\245\373\0\200\254\235\352"
+"\340t\261Z\360\276\34}:\367|F\202\352\304\317\216@\235\32Um\16\62a a\353"
+"U\245\230\217\323v\373\24\13\0\230p^\30\66\30u7\370\324\326\177r=D\344"
+"o\3`xO\0y\307Dt\234\24\364I.\221\247\f&$\22g\310\313\325\215\346}4\367"
+"w\335\233\372\354}\365\333W\'A\22\336V\323\77)w\350\373\214 D\212\24)R"
+"\244H\221\42E\212\24)\362\177\245\204\204\204\204\204\225\370\6,\f\211"
+"\262\3211\37\24\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"]\0\0\0p\b\0\0\0\0Y(#\367\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\324I"
+"DATx\332\355\230\77H\324a\30\307\37=\225K\b\21\274As\20t\22\22\35T$\3m"
+"\310A\20\42\227\270\b\327h:\21\27\7\305E\360&\21\3\353\232t\20THh\22T,"
+"\bBp\310El\bj\310t\23\17\374\377qxo\220\323E\357\276\203\360|\326\37|x"
+"y\377|\237\347\371\2319\216\3438\216\3438\216\3438\216\223O\42\271\n\212"
+"\306c[\262\325\305\326H7\251\344\315\177\200\337\25\42\3732\0+%\32{\325"
+".\0\357E\213\177z\2@B\244\37\0\340\254Gc/\370\f@\272U\243/\333\6`\257N"
+"\243\257\333\3\340WL\243o;\6`\263L\243\217_\0\260^z\355P\314\314\32S9\352"
+"\353\37\230\231\331\227\227\'7|l\'O\314g\205ba^\267\250w&\42\264\333\253"
+"T\241\320n}\237\42\331\247Z\321iff\347\7\267u\35\236^I\372\231\20\304\263"
+"}\347\212{\331\270\37\216v\256\310\224\372\245\250T\277\372P\252\337\320"
+"dNC\250U\354\324j\2s\'\350\377\267H\364]\231P\370\21\21\310\237\37\6\371"
+"\327r\201\274\'D=\13\212K\371\42#\237VlKwF\236,P\354\371Q\220\17)nKG:\310"
+"\7\2622\262:~\327`\274B\371H\324\314\214\304\204\252\362\301\305;e\365"
+"HL\t\355\203\23\302\272:\234\314\32{\314\314v\77\344\330\251\306C\237\224"
+"\34U\334\305\261p\242)\305#\262\267A\276\250x\376\366\354X8<\325\204\6"
+"\373\247\244\3\216n\2\360\267ZR\213\246\18x,\221\277V\16e\365\241\320\365"
+"k\246\216\25\0>\212\246\325\312o\300w\321 oV<\311\277G\302\77<o\236\230"
+"\3438\216\3438\367\236K@\226\236`q\334\334\306\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0p\b\0\0\0\0\201$\207\375\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\1\275IDATx\332\355\227O(\4q\24\307\337\376"
+"Q\333\242\265\207\25Y$\16\16\210$\27\34\245\254rrqsP\334\334\34\354a/\234"
+"\245\334\244\224\24\271\221\22\265\7\221\303.)-I\212\224\374]\371SX\373"
+"uxc\307\254\235\235\231\315\315\373^f~\357}\77\3234\277\367{\323#\372\37"
+"\262\245\7\362z\211\210\2264\261\266R\42\212\236\32<\312\3\0\320\306V\0"
+"`(\315h\317\371m\205\24RH!\205\24RH!\205\24RH!\255\220.\233i\304\255!\355"
+"\313\313\205&\301\301\343\312\237\313\20\20\25333#\271\347\200\210[M\365"
+"$\1<\365\33\2235\373\0\60\233\312\224\305\1\0\230t\32\220\201\7\66\16\244"
+"\6\302\221w\216lx\263\221\266\261O\266\255z\325\\\373\25\307b\325\372\244"
+"k\201=\311q\315V\372#\34\276\351\326#\203[\354x\355K\337\245%N|\350\221"
+"\t\316_6\377\236~\'\240*\3\311\332\363g\334\343\204!\271\246S/\201g\3r"
+"\306\251WY\255\267\212\245J3\264+_\17\241,EY{\316\236\263r5\346T\276]b"
+"8k=W\304\330v\342O\7\337\372\f\216Bq\224\215G%Z\360\245\313\360\24\25\355"
+"\260\365\260\230\210\310\261\310\253\3076\23\7\260 \314\346\3\37\221c\236"
+"\357\357Z\314\35\372\r\266\357zhZ\251\311&\263\375b\235\201\315 _\257\33"
+"\314\267\232\365\37\225h\5$r\207U\360\276\321RO\314\337\376\6\343-\26\333"
+"\251G\331\327\227\16\313\235\330w\2\0o\201\34\232x\305\5\220\354\317\251"
+"\377\327\3071\232\343\257\243s\212D\42\221H\3647\372\2\226Q\256_\365\220"
+"\314\203\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0"
+"p\b\0\0\0\0`O\222\254\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\331IDATx"
+"\332\355\230;h\24Q\24\206\317\352\20Y\22M\212X\4amRhl\\\323D\20\334\42"
+"\20\13\61\225\33\5\25,\326.\330$`!*\t\330\254\205\30\320\20D\215\370J\267"
+"\351\322\255]\272\221\24\21!\205.H,V\\$\262!\214\233\317b\37\231\367\334"
+";\351d\376\356\336\273\373\335\231\271g\376s\316\210$J\224(Q\242D\377\257"
+"R\42\62<*\42+k\272\177\315\\\25\221/\313\255\201\5\254ho\377\b\340z{\364"
+"\1\330\35\322Dt\327\200\315\256\3660\13\60\257\311(\0\334\335\33\227\201"
+"\255>=\306\32\2603\2607\36\7\230\322B\234\7X\264M\34X\7*\206\16c\t\340"
+"\214\347\346\362\32\210c\26\260\352\230JW=S\341\232\365\331\364\1\300\210"
+"2\242\353\7\360\335u\363\375u`I\231q\315u\260M-\0VF\225\261\n\324\373\335"
+"\263C\r\240\250\210\30\6x\341\235/\1\277\322j\214W\0Y\357|\16\240\240\204"
+"\350\257\3e\277\25\23XO\2510\356\0\\\366[\231\0\30S@\30\225\300\2506*\212"
+"6\342~\273\354\327>U\24af;\222q\345\264\310v\346\247\357Z_\re-\4mPTg\4"
+"\272^\306RE\224\203\357\364\275*c\334\235\33\366\2245E\344\361L\350\301"
+"\256\r\210|\35\334\r\376E\31\250\365\2041\362\221\266\31m\254\253\221\366"
+"\235Zw$\r\257F\0\236*d\215B\270\25G\245\263t\25\3308\20z\372\221\357\303"
+"\375P\207/\2\\T\362\6\63`\261\247\26z\225\16c\r\262\200I\200\311\3507\373"
+"d#0\226\215o\300V\257\202=\224\2SM\36\340\211\212\323\345\0JA\361\325\30"
+"T\262\\3 \6FP\257\227\362\356\262\300\236\352\307\324\30F\3057\347e,\340"
+"\263\217\361\373\235\365\3379\21\61\246=\7k\210\3103\24Sao\r\250\37\365"
+"\211/__\360\215\271\337\317E$}\3339y\263OD^\376Q/_-\240v\330\261\331\206"
+"\372\3016\365\16`\332\343N%\235\212-\13\260y\310\345\222\214j\225\216e"
+"\200[.\250ZF\357\350\22\300\306\301\316\370\215ze\3414V&\234\17\271;N9"
+"n\246\354\376U\324D4\215\225\13\266\370R\257\370:\272\7\360\321\346_%m"
+"D\323X9\333\211/r1\332\264\5\200\345N|}\212\323\352\235h\0\273\247\332"
+"\301R\210\303h\32\353\353V|U\323\261\309\0\353\270,\2<\214\331\270\232"
+"\0s\3;\361\16\326f\254\365y\264Z\n\77cm\352\\\354.|\252\2150\343w\362G"
+"\332\25\353\215}|\16hU\254\325\256}0Z\25\353\354\276\276K\274\305\325N"
+"\'J\224(Q\242D\n\372\7<\315\307y\202k\4\30\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0/\0\0\0p\b\0\0\0\0\253\224vR\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\3\214IDATx\332\355W[l\214A\24>]\325\352\322\213"
+"4\325\2526\251[\t\333FE\251\242\221T\205h\42H\220&M\334\23\36xt}\242\22"
+"B4}\351\213\7\322\210P\22EED4i)\25b)E\\\32\305\272\204U\325V[]\373y\230"
+"3\377ew~\35o\36\366\274\314\316w\27693;3\347;\363\23E,b\21\373_,\312\332"
+"I)\314\233\222\221\34\33\360\373\236\335m\354\31b`\301\341\326 L\33\250"
+"_\25\355\314N:\362\16a\326\276\336\345\30\275\26*\273\77\303i\375\356\226"
+"\34\361#\330\366\330\347\217K\362\344\'\20\21\r\356\254t\230a\242\37\300"
+"`]Y2\367cJ\33\0\0\65\61\16\3J\2\376\212t\33R\372\1\0\256\216p\30\2600>"
+"\24I{\0\0\27\207i\237Nb+\0T\353\37g\246\37\0\66\352\17X\3\0\275S\364\7"
+"\64\0\300m\2276\177.\0`\223\376\4w\0\340\323H\356\r\275W\277V\20\321\250"
+"\356[\272\361\23\372\0\340s\234\366\202\352\1\0\353EG\343\2177\20\21\321"
+"\26\355\370\263\304\335\316\326\215\3778@DD\253\265\'h\5\0\264\350\306"
+"\247v\42\42\312O\326\345\277\21\221\213t\371\357ES\240\313\377&\232\231"
+"\377\310\367\350\362\79;\3435\371\335\334fi\362\2032\3755\371\322\306h"
+"\362\245\316$\20\221B\203\343\307\'\306\376\360\371L\300\355\314\217ZP"
+"V<\211\210\210\2767\326\235\347\22\60ZU+\210\210h\211\327\252\316\235\373"
+"\223\210\210h\17\367w\205\252\331\251P=\377\262!\212\210*\271\267\303N"
+"\237\360\324J\355\351\7\0\\\317$:\313\220=\305&\233\25\346\343\241yqD)"
+"\245\'\373\200o+\251\221\341\265Vz\272A\357\333mh\301\330\32\0U\355\354"
+"(\261\320\335-F\325\362\330\364\263\307\\\342L\13^-\301\266\324\220l\377"
+"j\360-\236%\262\224\3722B\367\330\363\206]\375&\26\363\202\261\300\274"
+"\360\363\256`\337s\363\376o\235\314\276c\315\341\374I\334\2764\220\350"
+"\16\16a\310\260\325\36\261\363\250\275\210(NP\350B/;\327\31\320eyaF)\370"
+"Y2X\236qo\6\30Q\26\302e\362\30\207\313\377;_\226\3603*\3764n\275\203\222"
+"_\304HW\263\212\317\357\n\272e\350\247\214p\363\267\212/oA\223\301\227"
+"\33\374@EwOe\21j4\370\362^<Q\361\363\271\42\66w\33|\271\213oU\374\371\262"
+"\212\231P\77\357X\226\212\177\203\235\23M\310\317\320\30\225\366p\260{"
+"d\326G\271\216\1\325i\305\212\266\306\202\235\346\370i\n\376%\341\372\231"
+"l\211\177[>*\303\351\343\226\212\366\234\337\2N\345\370\213\302\371\7\205"
+"\'\230kCY\325\266\205\277\307:\205\247\316\16o\26\350\t\247T\fL\267\303"
+"qB{:B\5\65\203S\245*4N\271\300\13C\304\372\32\'z\330C3\352\n\0\240\326"
+"\216\262.\367z\302\367!\365\35\0\4\347\330&\25\232\24X\241\314\n\77\0\274"
+"J1\221\35\1\0\300\357ru\221\312\371\0\0\336L)\277\27\304b\272\227;U\265"
+"qM\0\320u`\232\213\22\27\37\347k\326\232\353\\\6]\333\305\351\374\222\202"
+"\203\37{c\376\376\274\336\327a\2510\257\367\216\36\342\373\210\3105\273"
+"8/;\311\335\365\365\305\303\6o\344\3531b\21\213\330\277\330\378a\301\361"
+"\b\357)U\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\64\0\0"
+"\0p\b\0\0\0\0t\332\fM\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0vIDATx\332"
+"c`\30\5\243`\24\214\202Q@\33\300\310\300\300\227I\254\342\237\23\340L\271"
+"\377\304\202\17P\35L\3448\217~\232X\30\30^\271\22\241Nq\26\31\206\353\16"
+"\241\200\30\3254\252iT\323P\324\304\2\245\77\360\17\77\77M\340\300\257"
+"N4i\264X\36\3254\252iT\323\250&\222KX\201\n\42\324\211\242\361\207]\17"
+"`\24\214\202Q0\n\2060\0\0v\21e\17\374\f%\\\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0M\0\0\0p\b\0\0\0\0~\206\242\37\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\4EIDATx\332\355\230ml\24E\30\307\237\236\364"
+"J\361\270mQ\20\260\306\246\264\32\250\6Sc\322\352\31\305`\2_4\304\6\233"
+"F\22bJ\42ZLD\241\4\220\222\240A\243\42\n\305\227\30$\220Z\24S\24\1%\245"
+"5F\213%\30B,\6\342\33R\244\325\22{\266M\261\355\365\356\347\207\355\365"
+"\366\356vow\'~1\331\377\267\231\371\357oofv\346\236\347\21\361\344\311"
+"\223\'O\236\376\37\312\262uL\275\245pfP\343\357\341\276_/t[x\252\77\36"
+"u\360\256\202\232}\77\305H(\374\371\246r_\272\255\236\243~;\324\365\317"
+"\234\304D\227w\226\245\301\260\303\335\266g\30+}]\351K\201\301g\31\326"
+"\254\370\303(\231tzQ\nll\271%+\367\305\21\343\243\177|w\354\243\3-\337"
+"\\Lz\301\221\233\34\302\356:\77\361\314\325#\317\205\202\361~\377\3555"
+"\273{&\206\372W8\202\255\36\35\367G[\252\2\251\203\276\212\206\3768\257"
+")`\13\313\3317\356\215\354\276\325\334\21Xuy\334\322\271\335\6\66\265-"
+"\276.%\326{\224\273f\320\260\202\3260\255]w\364Vf\376\26\13\217:\200M\371"
+"Jw\264\315\264=\221k\42v\260\254F\335\261c\222\203S\267W\367\16\315\263"
+"2l\324\ruN\256\213\372\370L\317\5\314\r\367\217\1\360\254+\30\64\232\32"
+"\202]\0lu\16\33\373\7\200\207\315\34\273\08\230\345\34\266\274Z\277U\264"
+"tGY\24\340\202\346\2&\362\6\0\333\323-m\0\321\220+\230L>\17\60|s\252\345"
+"\1\0\336r\7\23\t\305\0\336O\365|\1\320w\235K\230\310~\200\310\354d\317"
+"\334\30\300z\3270)\211\0lI6\275\6\20\16\272\206\211|\0\320\235\235tmu\3"
+"\274\256\0\223{\0Xht\205\0(U\200\211\234\5\330e\354\331\n\360\275\22L6"
+"\3\374n\3549\1\360\202\22L\346\3Ph\270\276G\0\356S\202\211\364\2T%\332"
+"w\0D\246\250\301\344\20\300\253\206\250\4\340\7E\230l\2\370$\321^\17\320"
+"\254\b\323\177\213a\13\337\4\330\246\b\223r\200\277\22\355F\200\r\2120"
+")\6\210$\332\237\2\324*\302d\26\0\211\263u\30`\245\42L4\0\264\344\231\256"
+"S\204\311\r\0\344\210\210\36\326\r\211\210\344Z\3006\213\210Dk\366X\322"
+"4\21\221\310\310\4m@Dd\226\42Lf\210\210\30\366\364I\200\343J\323\24\221"
+"e\0\'\23\355Ei\327\200\13\230\274\f\320d\by\0(P\203\311\361\324\257\265"
+"\7`\251\32,{\20`\261\241\347\0\300^%\230,\0\210\346\31zj\1\302\331*0\331"
+"\1\320a\354\2711\6\260D\5\346\377\23`\243\244]\345\255\n0y\24\200\344\210"
+"\373)\200\330|\3670\351H\233\250H \fp\310=l1\0\217\247\364\352\241\177"
+"\310-\354\232N\200\356\324\f\260\340*\300Y\277;\230<m\21\334\276\4\300"
+"\363\356`\305\203\0\227\322\257\237\374+\0\221\220\33\230_\317\207\253"
+"M\206\252\0\350z\3059L\336\5\240\3054Tnv\222;\31\265NO-\213L\7\247_t\7"
+"\253\325\13\b\217Y\f\227\r\271\201\325\351\260\6K\303~\235\326U\342`\3"
+"\336\326\275\255~\333t\247\177\211\35lN\207\356\354\320\34\344N4\315\310"
+"\304\362\255\32\320m\247\246e\206\305K3\341\272k-a\17\236\36\67\265\6\355"
+"\376\321\237\210WUz6\230\346\274\223\369\21\237\300{~\373\360\240\374R"
+"\334=\332\274,\77\345\220\337\275-^\42`\250\306Q\340\242\275\223\250D\215"
+"\235iX\261\260$\77G&\317.\253\254\77\334\227X\331o\347:\215\202\26\234"
+"\301FWV\372\234\207T\276\352\37\63\261\6\266\344Yo\370Z\223\23\340{\350"
+"X\314\202\365\363\332\274L\237Oi\257\351q*\\\335\236^\351\372m\347\275"
+"Y6\225\306\322/\247\233GAZEE\331\234\242\234\361\274\340\227\316S\355\347"
+"\34\234\340\322\236\f\7=kZQ\351\235\363\nr\235WC\3^A\330\223\'O\236<\375"
+"\347\372\27\32\305d\250cf&\376\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0:\0\0\0p\b\0\0\0\0j\23<\376\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\254IDATx\332\355\227OH\24Q\34\307\177\273m[+K\211\205\260\204"
+"RQ\4\375\201\202\300\204\42)(\264<\30\35\212L\212\202(\212\350\320!\330"
+"\42\42\22\4\215\202\202\274\344\241:$\204\b\25\5\201\211D\30\24I\205P`"
+"\33!\330V\202C\326\272\354|;\270\363\333\231\23573\357\r]\202\367=\315"
+"\274\307\207\337\333\331\367\231\367\33\42\35\35\35\35\235\3774s\374\247"
+"\353\362\277\302\2427\253\207B\256i\2659\26\r\211\366\0M\341\310\332\34"
+"\320\37\16\275\n\240P\33\206\\d\0\300\3450\350\5\0\300\370\\u\262\42\13"
+"\0\300^u\364\324,\211g\312d\354s\21\65W\251\242\255\260\322\245HFF\30\375"
+"\221PCw\241\224Cj\350\240\r}\251D\326\303\236\365*h\37\200\34\243\267\224"
+"l\3\3146F\215\5J\266\241\217\206\231=\241d\33\352\3510\243#J\266\r\22%"
+"~2\273Y\222\2542\0\354&\242NF\357H\242\347\1\274\213\20\321J\323B\377,"
+"\226\42\23Y\0mDD\364\224\313\236\225\266-\23#\42\242\26F\77Fem;]\274\376"
+"\302\354\16I\333\276\'m\77{6\17$m\273d\335\245f,4\277$\20m\2\60]z\236\367"
+"\271\354\305@\3649\200\353\245\333\6F\277\306$l\313/\265\255\377=\263-"
+"\22\266\335\25\275\30\201\'\22\2669\314\2564,\324\\\21h\333c\347P7\227"
+"\355\360#kr\0\32\234c\33\30\315\316\363A\273D/\261\27\314\266\6\330\266"
+"\247|\364 \243C\376\266\215\272\366\371\374,\263\353|m;\352\36\357`\364"
+"\206\237m\343q\367\370\362\202\205N%=l\33\363R\372\21\227=&F\17\0\230\\"
+"(\232if\364\215\330\266\267\0\332\205S\321\f\263u^\266\375N\211\27t\216"
+"\321\36/\333\272=\36`5\237\77\323Ub\333\n\236\33\374\36\227=#\266\255\327"
+"s\263lat4\342\262\255\0`\243\367F+\365\7\333\313\247n\7\2649\307\31\355"
+"\25\331\266\323\7M\262\3613)\267m\257\375\273j.\233v\333\266\317\27]\313"
+"h\306\321\272\247\1|\212\311\3664\315\345\266\5\35\372\373\31}h\33=\t\340"
+"[PO\26\237\260\320\3022\247m\351\300s\341\n\227mw\330fT\6\67\'l\374D\334"
+"n[\247\304\361\331\317e\255\77\243\21@\256F\2mdt\200\210\42D4\260\225h"
+"jX\2\215n\343\3135\37\210\2106!D\256\261m\312\231\254\260lS\317\221\242"
+"m!\362J\177\300\353\350\350\350\374\213\374\5k\344\266\354\255L\0\320\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0p\b\0\0\0"
+"\0`O\222\254\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\372IDATx\332\355\230"
+"KHTQ\30\307\217f\206%a \201\4\6%D\331\303)-\263\227\275\264ha+\333\204"
+"\320B\332\344&\204\b\\\345\242E-Bp\343n\b$\263\207e\17{\210d\17k\321@D"
+"\5\t\302\24\ta !\30\3230\367\327b\274\347\314u\356\343\334{7-\356\1775"
+"\367\373\316\374\370\356\2359\347\377}W\210H\221\42E\212\24\351\377T\201"
+"\20\242\240\277<\360\367\207{\26>t\23T\231j\23V\221\n\312\270\241*\212"
+"\7-c\263\371<\204\210%LZ&\271\312\355\366\227\226Z.o\236\312\271\30\63"
+"\311\306\26\315\207\271\346\17d,\213[dyqMF/0h\211\24N\232\214\277\225Z"
+"\210\265\251\374\232;d!W\265\30}\300\255E\261\322Y\2231W\246\201X\227\6"
+"c\353\342\350\25Y\310E\rF\34\270\235\27\255L\233\214\351bO\304\2064\30"
+"\333\362\343\3\262\220vOF\77p\307&^/\31_\n=\20\325\31\60j\3542\23\22\322"
+"\342\301\30\4\356\332fZ%\343\215;\242\306\0#f\233*JJH\203+\343\36\60\344"
+"\220\353\224\214!7D\235\1\306v\207d\331\234\334\323\33]\30\217\201\373"
+"\216\331\36YH\2373\242\1\60v8\246\2532&#U\341\270h\24\30v)sH\26r\331iI"
+"#`\324\2720\32%c\266\324a\3118\360\300\365gKHH\247\375\202&\200ZWF\233"
+"d$\355w\336\204g\31\242xZB\332\354\362\'\0vzl\205.\311\370X`\343\212\357"
+"\201\207^\273z\265\262\253c\371\331\223\0\273\264N\250\254\306\362r\205"
+"\37\200G\336\247\\L\271X\235\355\316\256\3278*\245]1\260\270\214\317\300"
+"\210\316\251\257\354*Se\315\234\6\330\255\303PvE\257\365|\371\n<\321sA"
+"eW\363\226\336\346\214\367\351dcW\\\312\265\374)\340\251n\177\244\354j"
+"f\271\212\236\5\330\243\313PvE\207\f.\373\6<\323o\324\224]M\25\231\261"
+"s\0{\365\31\312\256h]\b\225\374\0\236\373\351\30\225]\231M\326y\200}~\30"
+"\312\2568,\204\20b\305O`\324W\347\232cW\331\377\366\5\200\375\376\332_"
+"eWFL\b\261\362\227\355>v\227\262+\256\233\'\323\1\277}\270\262\253t\245"
+"(\233\rPF\256]q-\333\3177\372\37\b\224]\315\255\377\r\274\b0T(\273\342"
+";\300\301 \223I\302\322\335\217\7\232n\332,\214C\201\309v\5/\3\216Y]9\214"
+"#\1\31\345\363\241\313\310\366\365Y\35\r\314\330d, ^\205\30\\G\26\30M!"
+"\30\315Y\304\353P\3\364\'\0\232CM\341\355\0\23\341&\371\222\31\373>\304"
+"\227\272\341m\330W\n\25)\216\207~/\21\177\347\275f\211G>\231\230\214^\360"
+"D\212\24)R$\337\372\7\16\272\250Z\3453\267\251\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0p\b\0\0\0\0`O\222\254\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\2\300IDATx\332\355\226_HSQ\34\307\177\323mi"
+"X\272\42C\5\61\301\77\205\211\6\206aPP\20\26\264\204\260\210\212B\352%"
+"0\24\242%\25\204\364\22A=\30Q\21\206D\320S\342\213E/ADXi&\42\2124\301\210"
+"V\226\377Ji:\367\351an\356\252\323s\357\355%\272\237\267sv\370\334\357"
+"9\367w~w\42\26\26\26\26\26\26\26\26\26\377\7{\343L+v\323Si\326\362\n\350"
+"*3\245\330\3\300VS\216\327\0-\246\24\345\0\301-\246\34m\0\315\246\24\373"
+"\0\202\205K\254\260/:\353\314\331\260.\305\351\22Ye\227]\42\42#gf\177y"
+"\362T\351\301\331\236\227\277\211\205G!\207m\177\315\16\275\273\235\347"
+"(\272]\252\377\3044%l;\377\326\200B\223\303\331thn\360s\3207<\26,,\25\21"
+"\32\3\221\351\316\245u\316\326\360\301\365\335tg\206\202\265\3<VNd{\24"
+"\22L5\225D\346\334\0\63\233\224\35u!\305\363\274(m\7\300Ce\305\266\0@\320"
+"c\213\232s\3L\347\252*\34\335\0\201c\232\335\275\7hT\216qv\221*\254\0\230"
+"\312VU$\372\0\236\33141>\0\334U\216q\n\300\257}\344A\0\177\246\262\243"
+"\35\340\226\266\202\273\0\32\224\25y\0Am\35T\2Lf(;j\1\332\2641\272\1n\250"
+"\337\232\26\200\13\232\251\303\0\23\353\325\35\237\27\64\377\270\36\200"
+"k\352\3676)]D()\212>\241\215\42\42c\247\347\257\177\23\353\342\346\243"
+"\214\'V\17Zm\356S\32\267\240\231\31t\214\233s\330ED\306DD\350\230\23\27"
+"\213\210xG\26Y\357\213\31f\2 -2>\2\60\276V_\232w\0\25\341Q|/\300U\235;"
+"\272\3p/<:\n0\352\322\3518\0\360=a\366\210\372\0\256\350=\331\244I\200"
+"\223\241\301q\200\341\24\335\257\347>\200w\205\210\210\275\37\340\242\376"
+"W\\\f@\275\210\310\t\200\37FJ\267\31 \260S\304\3611\326\265X\226\234)\200"
+"\241\315\241\316\372-\311P\301^\6\340\353\366\1\200s\306\212>\376\5\0A"
+"\0\337J\2037\'\255\77\322$j\215\376\207\371R>\24\231\314\322\345\210\376"
+"\262\345\266F>R\203\235\336O#\277\306g\30\235\337y}\313\bS{\215\367\302"
+"0\376T\343},L\265\313x\37\233%\271FD\244\316^Y`\334Q\355\22\221\201\353"
+"\323\365\31e\5Y\351)\256\304\4IL\320\247K\36\6\2502\325\236/\1x\35f\24"
+"\177#\306\232\6\277\331\30\42\222\365 P%\246\311w\210\205\205\205\305\77"
+"\306\37\341\314\360\353\314:\364\270\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0C\0\0\0p\b\0\0\0\0`O\222\254\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\1\337IDATx\332\355\227AH\24Q\30\307\377\256\233Rh&\356A"
+"\262\242\215\n\303\f\366 \221HA\20t\250\b\257A\267\272XGa\355 \24\b^;\6"
+"\202\227\360&V\207\350\322M\17\26Z\201PP\24\24\226H\265\233\225\264\355"
+"\266\277\16\223\205c\223\273\363y\212\357w\232\231\367\3467\337{\357{\37"
+"o$\307q\34\307q\34\307q\376gj\376\376\270!\275+\225jIl\255\r7L\334[\333"
+"9\271\366Q\333\351c\207wG\270\365\252\2G\342L\337\361D\225c\t9\272nd\252"
+"\237\217U\337\254\351\237\212\241X\25\307\246\221\363\177n\226\336~\\\316"
+"S\372\34\352\377\370\337\272\272[\374\342\321\265\23\251x\253|3\20|\275"
+"\336\36;S\256\4\212;;\342\'\333\221\22@9k\310\327\372g\0\364Yr\276\37\200"
+"!\213\242\341=\300T\255\305q\31\240\330a\332\276s\0#&\305A\200\362\276"
+"\230o\7\373\345\224$M>79\216J\322\270\255\232-\0\34\62\325\302\246\274"
+"$.\225*\350\377 j\343\266S1\331\250\371\330f\233\211DDa\256\332\361\311"
+"\346HJ\322\7Ib\266\242\25\214\f\346\33\300v\323X\312s\222\324crhZ\222N"
+"\332f\345,@~\263\311\261e\t\340\202-\220Q\200\227\365&G\6\200A[ \267\1"
+"\n\335&\307\201\2\300\342^\223\344*\0\363\246\262\\7\t@\256\327\42i{\23"
+"T\210qK(\235\371@\362\343\376\305t\354sa\346n\353\312\345\273\'O_\347\226"
+"s*~\t\365\237_XG\230\236\211_\13\177\37\34\273\207\277\307\336\267+\24"
+"\6:\306\212F\207\364\342\334\236\354\303\362\6\234\265\33\2732\373w\266"
+"65&\325\34n\32\30\366\377\23\307q\34g}~\2\232\255\21\357\346<\\l\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0*\0\0\0p\b\0\0\0\0M\275"
+"\275\26\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\327IDATx\332c`\30\5\243"
+"`\24\214\202Q0\nF:`\204\263xMt\225EX\177\275yt\355\354k\274Z\270N\375\371"
+"\17\7\227;\r\361(\345\377\217\nNG0\21\253\364\377\377k\368\334\312\263"
+"\371\343\207\237\374\\J\212\\\b\271u\231\257\360\271\231Y\77k\347O\230"
+"\301/\34\t\205\212h\3453\250\332\77\331\4\203\220\273\346;Tq-\341\360\326"
+"\272\4U[AX-\337\36\210\322\177\321\204\325r\35\202\250\375nHX\255\340]"
+"\210\332\353\234\204\325\32\375\202\250\355 \42-\265A\224\376R&\302k\257"
+"!j\227\20al=D\351o9\302J\245\377B\324\266\22a\354\21\210\322\373\f\f\f"
+"\fL\370\225n\207P\n\6\204\225\36\205\322\216\204\225\236\205\322&\204\225"
+"~~\fM=\f\f\f,H\342\357\260\5-\204\222B\311\334\f\f\377q\233\376\227\205"
+"\240\3\220M!R\351G4\267vbQ\223\42\214\323\33\350y\377\23$\272\266\20v\200"
+"\22/\204\276DX\251%\224>@\330\1\363!\366\177c\'\250\222\345%D\351J\302"
+"\206\372C\13\3g\302J\17B\313[F\202*\335\240\206\6\23.4nAT\236$l\350\fh"
+"\336\326#\2502\35j}#A\225\341\320\262e\'3\241\310\317\207\3268\267\205"
+"\t\250\224\334\0\265\375\261\2~\205\2\325\237\241*\37\250\340\265\332z"
+"\352\'X\275qL\f\2432\272v\373\312\315\307\357\77qr\313\251\232\330\211"
+"\300s\311\304\312\37\30&}\370\217\5\334v\305f)\26\245O\13\331\260\307\313"
+"gTu\177\366\307\263\341\252\344\271<]\315\265 \262\237\356\236>\266\363"
+"\5\336\366\0\3\243\204 \347\357/\37\337\2166\222F\301(\30\264\0\0&3w\230"
+"\335\277\303\325\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0M\0\0\0p\b\0\0\0\0~\206\242\37\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\1\271IDATx\332\355\230\317J\2Q\24\207\217\343\237\254\tA3\230\205L\220"
+"\42n]\24n\205z\1[\372\2\3253\370\2m\\\6A\6-\332\371\30\42\4\266\22\244"
+"\205T\266\310\202Tr\254f\f\251\2052\367^=\327\273\320\26\302\371\255\16"
+"\367|\367\233;w\304\305\1\240P(\24\312j\307\3\20=_\222\353\364\335\3`\266"
+"\226d\333y\366\1\330\325\360\356\332\302*\247\371aO\312@\366\346\347w\201"
+"\374\\g\375\223{\33g\257l\n\317\372\276\275\177\263,\370\34\n\253\233~"
+"\b\353Fj_|\227\326\321\335\364Q\23=\376i\27\341y\257\25\271\344\331^\2"
+"A\n\34PR]S\211\203\13\30`\262\276\23U\331\266\207\2146Q\242\355\366+\352"
+"oXu\3416[\3248\340\311\255\352j[\35\331&\330\272\354\224j\333\13\262M\260"
+"}\271UGm\353 \333\4\33\373i9j\233\215l\23l\330)\245A\21m\251\377Hd#\33"
+"\331\310F6\262\221\215ld#\33\331\310F6\262\221\215l\253e\13\272\325\272"
+"zc\20\251\4\333\6RI\243c0o\213\270\325\226\332\206\302\274\215\215\37\343"
+"j[\\\1\247\330\354\360Qm{`t\n\353\27\271\301\346\241Jv\300\301E\244\237"
+"\2619\240\31\231/\13\679\330\316\314\364\363\2260]n\244\347\311\322\r\1"
+"\266\362|\323\233<\256M\17\253G\345\234\201\253\214\\y4M\327N\222\336q"
+"7\326u$\343\357\1\62\251\255\f$\260\323\215\201\17@\223\16\261\365\320"
+"\354ZH\227\300\201\200\6>\200\376\231\364~^g\227\256\f)\335\7\n\205\362"
+"\37\371\3\253\260\214[\247\354[\225\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0C\0\0\0p\b\0\0\0\0`O\222\254\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\331IDATx\332\355\230MH\24a\30\307\237\335\35\27\243\262"
+"\335\26#V\20)\3325[\313\240\304\203\342!\250\240\203\320\7\201\201\31\5"
+"!a\247(\b:\4j\307\350\203.AD\246\225\245A\264\321E\275$\5J_\222!-B$tPK"
+"\f\243tw\377\35fw\347\331\331r\234\347\335[\363\234\206gw~\373{\337\377"
+"\354\314;/\221SN9\345\224S.\242@T\23\235zv u\240\21\315\2147\211\30\245"
+"\351\3\67\21\265\305E\f\37g|\352\26\61\326\2201\26\242\366FcF\222U\243"
+"\377:\311S\264:X\32\251\255\323L\36z\335\201Q}V\277_|\361\'\0\340Vv;\264"
+"h0\222U\226\243\b\307\0\240\327\324\355d\42O\254\247\242l\n@\277\251\31"
+"\2123\221\35\326\220#\0F\314\315\273L$\272\214Ks\24\210\345\f\221\211\240"
+"\306\32\322\nL\3454\273\30\343\2715#\230\304B\356\\\'\30\244\326\32\362"
+"\26X\271\244H\2775\343:\20\314i\226s\221zKF3P\221\276~3\315\351p\245\361"
+"\215\r\267\255\30\263\277\207^\314\345t7s\221]\302\373Q7c\f\t\31Y\42{\204"
+"\220{\214\361J\310\250\340\42\373\362 2\342\2221\266p\221\6\241\310}\306"
+"x\223\17\221\3B\221\7\214\361\336-cD\270\310\341<\210\214\tE*\271H\243"
+"P\244\2071\306\265<\2104\tE\36\62FL*\222d\220\343B\221G\2141Q cl\345\42"
+"\'\205\42\275\214\361\331\233\7\221SB\221>\306\230,\2241\266q\221\235\352"
+"\42Q!\202\2522\42\13\345\342\265\357\3434\343\212|\375\234\26\231^\253"
+"\260\b\37\326\31\255\n\210\32\335cL\223#<)\215\275\n\32-\212\271\22Q`Z"
+"5W\242\33\312\271\322\366\270r\256\256\227\352\271\36\205r\256E_\325s\275"
+"\254\236kdQ=\327\1\365\\\17\251\377_W}Q\317\365\222z\256\233~\251\347\372"
+"TG<S@4\330\275\17{\375~\323\352\261p\302n\256\3270eb\\\260\233\253o\16"
+"=\246\315\210y\273\271\236\7Z\376\372LY~\256\353f\201pVg7\354\346\332\3"
+"Lf5\n>\332\315\365\34\200\316\254\316\31\233\271j\355I\0\307x\253\344\207"
+"\255\\\275\7\337\1\0\312\364}\251\324+\262\276&\236\t}[\372\344\25\205"
+"\276\342\222\362\352z\77\21\21Mld\37\325\361U\313\362\353fzO\211\210\264"
+"\253\262\27\236Av|\32\262Z\317\266\211\276\313\20\37\310\30K\207\217T\207"
+"R\235\20\16e\177\6\341\36\26\42\22\201\f\343\204\20\201\327\231\375B_\207"
+"\370Q\224a\264\25K\31\203\351=XO\263G\312\350\232\'\247\234\372\237\352"
+"\17\3\3509\361_j\211\263\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\62\0\0\0p\b\0\0\0\0y\304|\n\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\225IDATx\332\355\326\277\253\315q\34\307\361\357u\321=D\335+\305"
+"\240{\273\3)\205\256R\26EN\324-\6\213rQ\6\213\305pCw\260\230\f\3021\30"
+",\26\321\25\203\311 \247\253[\6\203\272]\'\203\222n\347\226\362\343\234"
+"D\347\270}\37\376\4\2756\303\3675\177\236\313\347\261\274\213\242Z\265"
+"j\325\252\375{\3\311\343\23;\212\242\177\')&\372\230N\212Z\13\257V%I\3"
+"\337G\223\242^\342tR\214\264\361(\372\332Y,\r\'\305\31\224\207\223b\254"
+"\203[I1\330\304\302P\222L\243\267\')v\367R\366\241\5\64\7\223\344&~D\354"
+"\207JL%\305\360g<\216\330\37bi$)N\241<\222\24\333\276\245\354\3/\261\30"
+"\261_\212\331w\375\306\345\244X\373.f\277\201\316XR\34\\I\3317~\302l\304"
+"\376 f\77\211\262\236\24[\277\342v\304\376\2\213\265$\271\210\336\336\244"
+"\330\371\13W\222b\315[\314E\354\327c\366\3+8\233\24\33>\306\354\367\321"
+"\216\330\217\307\354[\276\240\21\261\77\217\331/\2407\221\24\333\177\342"
+"jR\254~\203\327\21\3735t#\366\375\177p.)\326\177\300\223\210\375\36\332"
+"\233\222b\262\244<\232\24\233\227S\366\342\31Z\21\373\371\230}\274\213"
+"\231\350\344\230\217\331g\320\35\217/\315\210\275\366\36O\243\377m`9b\257"
+"\227\224\307\342K\363n|i\266\326%\305\24\372\373\222b\264\23\26371\37\261"
+"W\253V\255\332\377\264\277\6.\35\262\n\354\177\t\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\30\0\0\0p\b\0\0\0\0!\273\357\23\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\0oIDATx\332c`\30\5\243`\24\214\202Q"
+"0|\201\333\352\313\7r\3310\305\273\376\377\377\377\377\3771nt\361\340\377"
+"\20\60\23]\3428T\342\27\77\232\304\17\250\304\177K\250\0\23\224\376\305"
+"\200\316\200\202-P\roY\321$\314\377@$\3620\234\33\365\345\377\377\377\177"
+";\30a|8\203A\42J\371\305\372+\243\21=\nF\301(\300\3\0\n(>\'\23Cy\214\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\64\0\0\0p\b\0\0"
+"\0\0t\332\fM\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3<IDATx\332\355\230"
+"]\210\214a\24\307\377\263_v\255|D\344\233,fF\b\345+\211\342\206$\253X\337"
+"\221M\304\225\13%I\311\r\205\210\42\344\202\242\310\r\271\300\215r\241"
+"l\2621f\267\301\372\332\332\320\256\354\332O\363s\261\263\263\363\316\276"
+"\357\314{\346\222\375_\315{\232\337{\316\363<\3479\347\364J\377\236\362"
+"M\377\276<\177BC\263\321\3030`\231\244<\13\24\226\364\326\n\205\244\306"
+"\6+\24\224\336(\7Oo\315\320\214\34\240\322\tR\324\nM\17H\21+\24\222Z>Y"
+"\241\260T\203\25\n&\242\263\206g\206\n\313\22;n\201\312\n\23;n\201BRg\314"
+"\n\5\245\332.+\24\356\211\316\30^\304\n\5\246\367l\236A\23\201\331VOa)"
+"^\233\3T\327j\205\202\275K\3123\337ukx\346\315\33\5,\264B\313\200!\326"
+"\360BR\375\317\34\240\344\222,P\324\f%\13\204A\203\201\345Vh\1\60\312\32"
+"^0\321eLP(uIi\320\240\1~\222\310\1\r9R\267\307;\274\250\233}\370\361&\370"
+"Z\354\312\24w\301*\227\204<\365\13\200\375\256\320,`R\272q\334\271\337"
+"t\353\213\353\252*\2409\3404M\276\324NR\373\334\240cP\3450L\273\336\t@"
+"l\377o\200\317E.\320m\270\221\372\274\262\13\200\332\35\5:\3\300^\27\250"
+"\32\16\247>\227|\3\242[\13$\215m\3\370\330\327U~\33\224;,G\211lN\34\327"
+"E\0\372\236\325T \344\260\214\330\230<\341\211\355\0\37\372\270Z\3\35\205"
+"\236)v\25\200\312t\363!x\355\235\227S:\1\336\247\277\365:\334IyLK\330w"
+"\267$i\362v\357\352\352\232\230\177\0\336\258\255\77as\246\213s\13\200"
+"\235\316$\3\346d\202f\306\1b\16W+\340\317\300\214w\364\36\0;RM\7\340}\346"
+"\213=/\16P\233\352\352\42\334\227\367\356I\252z(IS7\271\f\207\31\264\b"
+"\200\232\224\211\275\1ve\253<\217\0\330\322[\7\200\305\331\240\245\0D\223"
+"\221/\1\206f-rO\201\224\343\254\204\372\354\225q\5\0\221\36W\247\341\211"
+"2\357\236\244\307\317%)\264\301_\346\365h5\0\257\23o\254\363\2506\351s"
+"\320\13\0\272]\225\306}v\231r\0\252\363$i.0\332\327\310U\r\300zI\332\2"
+"\215\376ZK\5\0\257\2\222N\3003\177P^\24\200u\222\356\302\25\237]l\33\0"
+"/\3R\4\16\372\204\nb\0\254Ua\207k\227q\327n\0\252\2a\267.\343\245\242:"
+"\0\326\254\207\226\264\274\361n\324\35\'\273\213vX\252\211\373\36\35\212"
+"\277\2\360\tn\312\257\'\265\235\222$\215\267\r\207%\r\211\346X\356\337"
+"\223ZO\'~\230\306\320A\337\1\227.\223q\314i>+I\212u\232f\257\241\215\0"
+"we\361\244\246\363\222\307|\223A\303\1779*\240\277\321\355\307\5\3450\206"
+"\216l\311\326e\334t\206\17\366/7cZ\37\364\275k\331\240\372k\2559|\2zS\362"
+"*\207OKE\352W\277\372\365\337\352/{-\3132HZ\244\215\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0p\b\0\0\0\0`O\222\254\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\2\244IDATx\332\355\226MHTQ\24\307\257\215"
+"\243R\31\232Y\211\241 I\32\341\302R\t\nKwj\366\t-\242\214J\310V-\242\350"
+"c\27EfFd-\22))\20\312\240D\310\264E\204\265pW\214i\226\233\241F\313\374"
+"\30G\307\257t~-\356\33{\363\276\242ep\177\233\307\273\347\334\377\273\367"
+"\334s\316}B(\24\n\205B\241P(\24\n\205\342_\2102\274\246\245\'\270\307\307"
+"\372&\35\'%\244\256\211\217\21b\342\245\331\264\242\262\325\217\244\357"
+"nq\224\365\374\334KmC\232S\207Y\274&\200\236\376\312h\223O\354\311\217"
+":\217Z\243y\327w\214|*4\370\354\363F\330\217\33\314\27B\230\t\335\216\325"
+"/\364\261\301\234\37\31\323\363W\345s\256\3133\340N\332\224\267L3w\35\370"
+"\26\226\330\370<sQ.\320\323\357\233\230\257\233\322\257\242\\\256\242\347"
+"X\274|w\227=]\220\337\32\310\321\\v\214\206\77\337{\261\300eqV\203\0\301"
+"S\372 f5\313\31c\333\205\20B\224Li\333k\336f}^\227\1~\346\32\243\354\3"
+"`\262@\bQ2+%^m\266I\231\230a Td\32_\375\32\200\241\365\242h\32\0\377Q\333"
+"\264+\5h\2620D7\0\340\3319\1@g\252}\352\326\2\24ZVB\235\f\2\0\3651\16\351"
+"\337\16L\272\254\313\251q1W\3168\226\220\7\350\266\261\271Z5\211*\347\332"
+"\365\2\235v\306\224\31\0\32\377R\377\36\300c\267\216\26\271\216\205\23"
+"\316\32\35@\300\272\324\243\36,\306\303y3\267\0r-%\356\351\316\345\206"
+"\313A\243\34\240\336*\77\356\313\206T\34\4\340\305J{\215\270Q\340\327\26"
+"\323xb;\0\301\34Q>/\13\260\324^\244\32\340k\226at\353\27\0f\313\204\20"
+"G\244\bM\31v\32\253\206\1\306*\364qM\272)\247M\357\21B\bQ\241\211\314\336"
+"\331`#rP:|8\264T\33\310\256\326\272\363H\270\324\367N\207\17\350Me\206"
+"\345\335p\355\234|\6;\337\377\b%f\346\207[V\367\376\317a\317\274g\177J"
+"\316\333\335\77\30Xx8\23)U\203\25\215\313u>\311-\6\253\251\227\34\366\233"
+"\24\274%\306-G\366us7Ii\230\213\360\360\235\2165gAU\257\316\343\272Ed\327"
+"\236}\33\226\31|\264\333&+\363\257\274\13jNm\326\367m\\vZ\202{|\244\317"
+"\347T\33\256\364u\311\211K\204\360\77Q\377+\n\205B\241P(\376_~\3d\341\\"
+"\250L\202\25E\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C"
+"\0\0\0p\b\0\0\0\0`O\222\254\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\nI"
+"DATx\332\355\226mh\215a\30\307\257\343\314\31\306\266Nco\210\254\274\37"
+"$Q\312K\231\274\204O\346\275d\250\ty)\243\344\245%>P\302\7b\222w>\254\370"
+"d\23\242f\3730mD\313\320:\330f\214af6\347<\77\37\356\347\354<oS>\252\373"
+"\367\351\276\236\353\177\256\373y\356\373\177_\367\21\321h4\32\215F\243"
+"\321h4\32\315\277\340\263E\351c2\222>\267\324\264\365\254O\be\6\23Z\303"
+"/\272\274\323C\212^\2@\244z\337\bOE\260\340A\273\222\374\274\263&\340\316"
+"\'\37\357$\216q+\344Rd\236\374eQ\20\316s\n\306\327a\'z>\305&\360\27\376"
+"t(\270\224hSL\371\202\213\367\271\26\301\210\307n\1e\1\313\232fW\17\24"
+"\21\61*\312\337\371\202\241\351\351\352w\321\335Gc%f\226\4\325 \362\244"
+"\262\351k\306\244\334~\42\42R\274>>K\31\0\67\314\225\364\317\271mNt\316"
+"\257\236\2540\327\252n\273Yj\300\376\16\0\226t\227X\2\20)\260\274\372\264"
+"\32\365\243\313~\21\221\274\b\0-\233\22\342\212\311\315\0\257\273\237T"
+"\0\354\265-P\357\42\3\200\213>\221\305\277\1(\315\260)\246\376\2XjF\343"
+"\0\252\375\216\235Z\364\25\200\303\22R\2368\350s\b\16\0\224\230\301\36"
+"\200\345.\77Ll\2`\347[\200\310:W>\265\rh3\247\276\rt&\271m\227\23\216{"
+".\337\303\266\327\1\306\252q\35P\345\345\355\234\367\261\32\273\275\322"
+"\233\1\26\253\3617\313w\331\31\375Q\225\270\346\231]\0\260V\244\227\210"
+"$\213H\207\247\252\366\2462\326\16\317\354w\21\221\276\252F\273\210\4="
+"U\2536\251\3\177\263\237W\266\177w!\2210P\353%\232\321\36[\217\273^E6\2"
+"\230\207\352>\20\35\324S\t\243\307\42\347\0\206\251\361\21\200\2\227d\321"
+"\17\200\316y\367\0x\230\352\314\7>\0\37c\207\22\340\225\243/\371vE\1X-"
+")\317\0x6\304Q#\37\340B\254\275\204\1\16\331\4\331\245\230V\27\31\374\6"
+"\200\346\3316\305\340O\0sc\341V\0cK<\337wO\253*q\326\'\42\222U\253Z\333"
+"\261\376\226I\236\3<\355>D\1\245\2711\\\205\303\213\32\315\3558cJ\6\225"
+"\253\370C\241\331\236\22\67(\367\315\215\367\261\311\345\211\42\42FeUS"
+"j\366\264\34\263\264\261\367\b\3460\361\224\331\261\2425\325\r\35\311\243"
+"f)\77\235\266\356\304\262\337\356n\3318\337\372\371+[\334\212R\373>,lu"
+"\366\365b\207u\323\257D\35\222\253}\34;5\264\304\260\244\273\256\217w{"
+"*T\22\261\276\346\32\17\353N8Q\257\262\77\312\266ez_\205Y\205\217\324-"
+"\323q/\277O\17\367mfNP\276\275\2537\376rA\7F\246\245}o\250\353\322\177"
+"U4\32\215F\243\321\374\347\374\1\314\376\222\3\227}\261\363\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0H\0\0\0p\b\0\0\0\0\230\257"
+"i[\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\5IDATx\332\355\327\355KSa\30"
+"\307\3619MM\315t>\264\315HK\214D\t\305\20\24%\42\60\22\4\211D\20\4#\2A"
+"\20\303\304\377@DD%DD4\221\220(\225\20\251U\210\370\264\34\245fhn\316H"
+"|J\t\243D\267\250m\336\275\270\256\341\224^\330\371\315w\367\367\315y\200"
+"\363\341p\335\234\3039*\225L&\223\311d\262\343\313\27\5\264.\247Wn$\306"
+"j\324x\303\321/\ba\216\303\35\235E\b!\276\246\302\3631\13!\204\20&\37\314"
+"93O\216Y\2139\321\237\310\261\3500\'j\216\34\253\36tf\311Y<\13:\37\311"
+"\371\f:\2213\344|9\2079\21\37\310Y\212\305\34\31549\313\3471\'|\212\234"
+"\225\13\230\23\66I\316j<\346\234~O\316Z\2\350\274#g\375\42\350\230\310"
+"\331\270\4:o\311\331L\4\35#9\337\2220\'\324\355$c\316\251qv.cN\310\309"
+"[)\230\23<J\316w\360\r\35\64B\316\2174\320\31&\347\347\25\320\31b\'\35"
+"t\6\331\311\0\2357\344lgb\316\311\327\344\354daN\340+rv\2631\'\300@\216"
+"\355*\346\370\277d\347\32\350\274`\347:\350\f\220c\317\1\235~r~\335\0\235"
+"\347\344\374\276\t:}\354\344b\316\211^v\3620\307\257\207\235|\360\3\374"
+"\31;\267@\347)9\216\333\336q\234\5\240\363\204\235B\320\351f\247\bt\36"
+"\263S\f:]\354\224\200N\'9\256;\230\243~D\316\336]\314\361\351`\347\36\350"
+"\264\263S\n:m\354\224\201N+;\345\240\323B\216\250\0\235fv\356\203\316C"
+"v\36\200N\23;\325\n\257w\3574\362`\f\r\377)\354\232\16\34\66\b\245M\360"
+"\23A\233z\345\3vzBu\225\312\207\273\355\1\325V\1\253\344\330\207j\252\221"
+"\345\266\37Z\265\243\374\211\250\377u\366\217M%\223\311d2\31\326_-&\371"
+"`\272|q\271\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0"
+"\0\0p\b\0\0\0\0\201$\207\375\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0FI"
+"DATx\332\355\313\241\25\2000\20\5\301\37\n@\245I\352\244\27j\300\35\ny"
+"&*b\326\356\233\244\355\252\252\272\333}d5\222$I\222$I\222$I\222$I\222"
+"$I\222\374\33\375:g\222\367\211\264]\37o\241\7\360SR\334\356\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0p\b\0\0\0\0\201$\207"
+"\375\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2:IDATx\332\355\326_h\216a\30"
+"\307\361\333\206-F\314$\377JRkR\262\226\23i(E\222\224$I\16\254(\265\3\13"
+"9XI\16\64Jr\240(\312\201\244$\78\240\326p m\241\210$b\311\277\206\fc\363"
+"~\34<\363\347\335\336\367\331\363\354\324\363;\273\257\253o\367s\337\327"
+"}]\277\'\204L\2312e\312\224)S\246L\377\275F\306%K\343\222\'\336v\16o\313"
+"\245\271{\243\206\5\226\77f\317\260\310\375\370:{\30`M\17\\M\17\216h\3"
+"\66\246&\33\42\320\233\312\224\340\224\256~\322\311\224\344\331\337\240"
+"\334\342T\340\n\20\355\373\260,\58\346)\364\326\336\4\315)\310\203\240"
+"%\314\375\16=\325\211\301\371\275\360ll\364\32h\35\221\20,\275\rV\206\20"
+"\312\36\201-\t\311\35\340l\b!\204\372\34\274\237\234\b\234\376\t\272\246"
+"D\253\223\340L\42\362\2h\350_U\276\6\313\23\200k@\333\237K\331\0\236\224"
+"\17\t\216{\t=5\177#\227\301\201!\311\243`\337\77\221Y\335\360c\336\20`"
+"]\37<\312{p;\301\255\222\370i\327\1\271\372\374\372\266\203m\261dS\301"
+"\306\252\355\203\17Sc\300\350H\257\'\16\214\37\6\347b\310\350\32\67\f\212"
+"W<\3\253\212\202\353\301\345\2\231\225\340yE\21p\302+\350\236U|F\264\24"
+"!\217\203\246\230\271\324\273\240`rQ\16:\212\330\320Vp\247\220\17\215~"
+"\0}u\305\346o+h,\220\332\13\216\24\275\276\352\36\370<cPb\3167xQQ\274d"
+"\315\340\342\240\217\271\6V\307\24;:\216\265\3\302\233\301\371\330\247"
+"\31]a\347\370\274`\325;\3708-\276\221\242\262\35\313\213\235\6\333\207"
+"h\301\350\251\364-\314\363\365\4\35\30BX\7\356\216\314\363\365\4]\37B\270"
+"\4v\345\371z\222I\23\302\314\317\360\345\367\77@\344\36\t\246[\b\241\21"
+"\\\351/\345\r\310-K\343\34Q\13W\265\303\2514nu\177~\377\330\332\375\315"
+"\333I\311\35\362\347\241\277\243\261\372\306\246\344\256|}\311\277\313"
+"\222\220)S\246L\231\22\350\27a\344\320\177\35\331n\214\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0p\b\0\0\0\0\201$\207\375"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\28IDATx\332\355\326[\210Ma\30\207"
+"\361={f\3204\r\221\20\42\241\320\3440Q\223\222HM\310\205\222C\341F\21."
+"HMI1)\222B\322\24\221\13\211\33.\244\244FQ$\239\225\234J\311aJr\34\306"
+"\234\366\317\205\31{\357\265\367\332{m\267\326s\367\276\357zZ\255\276\377"
+"\372\276/\221\210\211\211\211\211\211\211\211\211\371\237(\213\374dEEV"
+"\331\360hXT\263\261\2656]T5\247\234\214(\216k\327\3314\240\257\250{\206"
+"\324\334h\346%x\\\363\247X\0\36WF\21\227\201\13\375\345Y\320\30A\254~\r"
+"\337G\367\327#>C\373\370\342\346A\260=\335\330\f.\27\25k\273\340A\306\272"
+"$[\301\362b\213~\13z\3533{\263z\340Muas\38\236\335<\n\16\27\24\207\177"
+"\204\17C\263\2735\357\240{F!\3634X\33l\257\4w\222\341\342\274\24\\\317"
+"M\370U\260)T\254|\2\235Sr\'\23;\340\363\2100s\'\330\227o\264\33\234\r\21"
+"\307\377\200WU\371f\3\237\203\205\371\315\313`q\376\341B\360|`\276\331"
+"rp1\354S\316\201=\371\222\376\6\276\217\t3G~\201\216I\271\223C\301\244"
+"\7\331\2Zr\372\323\273\341aE\270Y~\27\254\16\264\223\267s\223\36\244\256"
+"\7\332\206dw7\202\23\205\177\207c\2409;\351\237\362%=\310\340\367\320;"
+"\'\263w\6\254+\366\333\257\2\367\313\323\235\371)\270Q|/o\1\333\322\321"
+"z\32\226\364 \223:\340\333\337\355m\27\330\37eKm\312\332R\'\374\fOz\220"
+"A/2\303}\5,\211v\0,\222~\315\212\302I\17r\36\34H$\22\65o\13\'=\310\250"
+"\257\3205-\2218\2vD\77\207\267\202\233e3{\212%=\'\371\367\300\206VH\325"
+"\227r\370\317\356\201\356(I\17\322\254\237bI\17\62\244\255\337\\_\352e"
+"eM\237x\243\254T3q\rtM-\375\2064\371W\344\244\7\331\339\3519\311\177\311"
+"\322\177\273\3215DOz\220Sc\377\325L\3067\351\230\230\230\230l~\3\240\221"
+"\311\3177\217(\261\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0\34\0\0\0p\b\0\0\0\0(POi\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\255"
+"IDATx\332\355\326\275J\34a\24\306\361\277;~D\215F\r*\t\26\21!\n\t(,\4\274"
+"\3IZ\301V\33\33\253\334E\300\\\201\240\215U\22H\221\210\265\205\6\2i\4"
+"\27\r\30,\324\304(\202_\273\253\356n\36\213Q\331y\367}O\221j\213=\335\360"
+"\233\363\314\231\23130P\25\365jn\353\42\277=\77\342\241\256O\212\2538S"
+"a\275\31\335U\361e\224\264h9\315\332\327\201\26\200\324\221\323\370VZ\212"
+"\30-I\222\336\'\255\345\257\224\6f%\351\337h\22\'\244C\200h\256\244\243"
+"I\'\365\203\264r;t\177\275;\353\201\364\261\3540Un\3\275P\b\341\260\23"
+"T\201m!\34\4\36\204\3609\36008\20\320\21xW\35\222\364;\320\331\7\320\36"
+"\300\247\0\255u~|\202\323Z\216\217!9n9\366\0\320\350\307N\253\363Q\274"
+")~l\267:\3330\336J\253\205\r\0\64[\327\f\334\nV\254\211\346\264\251\377"
+"\216\255a\rkX\355xma\336\217y+6\16\314Y\261\5\13O\375x\t@\326\217WVg\21"
+" W\364c\26\340\4\343>\17\2\230\38\306\210\375\23\300S\200\375\0\236\3\354"
+"\5\360\4`\327\212\375e\fT\332&\374\370v\256\215\201\326\255\35\62q\325"
+"\305\301\27\361)]p\365=y\356\320\272\364\243\33\340\235\364\331\331\260"
+"\237\222\364\5`Cz\235\304\341\370\'\357\rLI\337\234\t\372c<\233]((;\344"
+"n\333\332\375/b~\254b\25\237m\336Z&\355\371\226\232\246\227w\16\63\213"
+"\343\21\265\252\222\272\1Ny\253\302\354\243\252E\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Q\0\0\0p\b\0\0\0\0C\24\303y\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\1{IDATx\332\355\227\275/CQ\30\306[\322\201"
+"\42\321\6\25\21j1H\304D\304GX\365\17\20\351\37 b\23\213HL\42\221\260\231"
+"\fF\261\33$\22\2134\6!Q\351H\322\341\16\232\246\26\352\263\355cp\357i#"
+"\356yO8\3\311\363\233\316\360\334\337\271\367|\2767\20 \204\20B\b!\204"
+"\20B\310o\2517\314\305z+O6\373Mf\200Jj\322\232/\270\13\0@i\336\226q\21"
+".\2451;\302P\3163\342\304\216qT\tQj\221\343ur\244\253fetZ1\26|\332\77\'"
+"\\T_}mi\256\267\2241i\311\330x\346\n\367\254-\361\306\2357\0\367KA\243"
+"\375`\346l\35\217:\251\27\36\203\204\20\362\247\370\356\f\17O\304r\247"
+"E\361\321\241\201\362\305\215QQ\262^\4\360\260\42\324\201\323\31\08\352"
+"3\20\36\273\27\337\201\366\n\232{\377L\345\373E\343\252\272\234\27\64\251"
+"\356G/u%U%\241\2022f5/\271Y\255\256\22B\3353\30Q\315\36\315\30M\325\f\250"
+"`\214\324\264\243\376\306\210\177\352\253\321\361i\373\307\34ifn\325\0"
+"]jR\313\325q\34\21\177\13\274d%\241I5;^\354P^\220\333\256pM\233\32v\327"
+"D\272\315`\323\314\246\1\234\317\b\251\370\3763\220\337h2\253\315:\332"
+"\357\362r\317\r\361\327l\231\'#!\204\220\377\316\7.\367\357\231\363u\251"
+"g\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\64\0\0\0p\b\0"
+"\0\0\0t\332\fM\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1GIDATx\332c`\30\5"
+"\243`\24\214\202Q0\nF\301(\30\5\344\1Fr4u\315gG\23Q.\337p\347\303\377\357"
+"\367\266\267\270sa\327S\365\377\377Qqd\1\233=\377\21\340\347\336\42UL="
+"\245\377\377\377\377\377\310\20\316\347\233\363\37\35\\m7gB\326\302\324"
+"\16\21\217\206\273\354\326\177l\340\305\334`>\230\22\305\335\20\261\335"
+"\260\360\320\335#\206\313\353\277\217\378}\367\247\240\206w0\33\3\3\3\3"
+"\303s\323\247\20M2\307e\30\30\30\30\30\236\3169\362\344\27\267\262\261"
+"\203\5\13.3>\273\236\2040\330\317A,\236\310\t\223\342\17Y\374\16\253{\337"
+"\232\301\224\364\375\377\377\377\377\377\77\251(F\2628O~\200\241g\237,"
+"\\^\375\332\377\377\377\377%b\272\305\240\376\314\77$-\27\202\221\23\4"
+"\357\332\377\377+\260\373A&y\366\311g\337\377\276\273\271\256V\7=IUL\36"
+"\315W\243\0V\276\370\346\221\250e\322f\26\6\31\27\22\65\255c`\42\307y\364"
+"\323\304\310\240eC\242\226#\327F\323\317(\240J&\344\23!Q\313\233O\f\f\231"
+"\377I\4\231\203=\23\62\215\246\205Q0\nF\301\b\3\0\276E\373\307E6[;\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\64\0\0\0p\b\0\0\0"
+"\0t\332\fM\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2$IDATx\332c`\30\5\243"
+"`\24\214\202Q0\nF\301(\30\5\243`\210\200\350$\6\6\6\6\6\26\204\b\263\205"
+"\251\226\20\377\217W\267\316\237\370\204]\217\317<6\245\332\377H\2\222"
+"=/\376\303\300\237\223M\226L\230z\334\276\375\377\377\177\t;\234\317R\373"
+"\375\77*x5\317\237\13UO0D\2113\214/u\372\77\26\360}k\246\2\\\13{\333\277"
+"\377\377\377\377\377\277\1&\240\375\370\77.p\275\337O\222\201\201Y\275"
+"\360.\204\377T\222\201\201\201\221\201\201A\345\2004\3\3\3\3\303\337\375"
+"\'\237\377\346V40\345@u\327\267\237|\3140\246\313q\b\203\3776\304\220\215"
+"\212P\31\16\347\356[\330\355\375\354\0U\302\270\356\377\377\377\377\377"
+"\377+E1]\273\352\344\77\f=Wt\341\321\323\371\357\377\377\377\177\2230B"
+"X*}\33J\220\276)Gvv\310\347\377\3773\261\306&O\360\254\13\277\377\377\377"
+"\377\377\377\303\325\221<\250rZ7kp\'\35fi\35C%\36,\22\334tH\267\314$\251"
+"\346c\372\303\0\215\\\4\20\22\342\377\361\342-N=l\33\370\374\336\241\210"
+"\b&mz\16\t\332\355\265V,X]\265\344\377\377\253\362H\2\374\255\237\220\343"
+"\344\375\212\30!\f=\13\376\377\377\377\377\211\26\\\300\375\21F\364\377"
+"\336\233\257\214\342\237M\377\377\377\377\377\377+,\2611\24\376\305\236"
+"\326\256u9\261A\225xA\223y), Z\253`\272\277\376\342fCu\324\227C\247\356"
+"\376\24\324\360R\207p7\5@\263{\21\304\214\177\253\334\371\31\30\30d\374"
+"\372.\341\314^\307\371\241f\271\374\201d/\7\204\361\2629\273\177a\323\263"
+"\233\27\26(w YT\26\325Y\202\321\253>\242i\371V\201(m4\256\377\377\377\377"
+"\226\4\226\270t\237\206\24\250o\'I\303$\30\31\30\30\370\346\7=\261|\202"
+"=\21\350X\352)\b\262}|y\355\364\201\337\2502\214e\272\243\265\307(\30\5"
+"\243`\24\214\202Q@4\0\0\\\227\306\357\230\201\244\377\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\64\0\0\0p\b\0\0\0\0t\332\fM\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\1oIDATx\332\355\226\275+\205a\34\206"
+"\1778>\223RJ\24\7\205$1\310\37\300)\211\222\222\331\42I\26\231\f&\213\224"
+"A\6\223\34500\310pF#a\220\217\254H\204|u\42\'\341\234\313`\42\207\356G"
+"Y<\367\370\274\357\325\365\16\317U\257\231\237\237\237\237\237\237\337"
+"\77\\\363b\215\16\255\21\17W\212L+\300K\231\6m\0D4\246\r \321\250A[\0+"
+"\32\323\1\220h\220\230\224m\200eM\324\t\20\257\323D;\0\213\232\250\13 "
+"^+1\251{\0\13\232\250\7\340\265Z\23\35\0\204\77\37\7\314B\311\241\306Z"
+"3\263\365\217o\334\354\232\31\342\42\226\352\322\327\337A\1\263\243d\317"
+"*\314\314\356\242\237\217/\177\356\250\336\241\243%\215iw\270u\357\35\315"
+";t\364R\345\320\321\234CG\317\345\232h\17`V\23u\3<\225h\227k\37`\332!\330"
+"X\221C\260\223\337]\330\320\327\301&v\222$\375_\312M\13\232\231]\77$E\276"
+"*\267\27\340\251TR\247\37\2\314h\337\333\7\20+\226\230\214c\200)M\324\17"
+"\360X\250\211N\0&4\321\0\300}\201\304d\236\2\214k\242A\200h\276\304d\235"
+"\1\214i\242!\200\333<\211\311>\7\30\325D\303\0W\271\32\324\264\n\214\310"
+"\241\264l^\3448\364\25\364\277\371~~~\277\335\33^wDt\264)\33I\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\64\0\0\0p\b\0\0\0\0t\332"
+"\fM\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0nIDATx\332\355\322\261\r@P\30"
+"E\341KD\24f\260\201\rLb!K\231@e\200\27\321HT\224\24\202\31~\211\227\274"
+"\227\363\365\'\271\305\225\0\0\0\20\210DekL\306A\252\36\243N\351\227y\376"
+"\242LgoL\34\367\t\346\345EcLf\27\347\313\257\311\230l\334\'\230\227\347"
+"\2651Y\2278_~\357\306\344\340>\0\200\277\275\217o\237\275\272f\13v\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\64\0\0\0p\b\0\0\0"
+"\0t\332\fM\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\352IDATx\332\355\226"
+"=hSQ\30\206\237\304\30K\232\202\222\6jJ\315P\35T,tjt\253\330B\266\6\202"
+"\220\301\241h)\251 \244E\304E\232,\245CA\307\270\24\207\fN\32\351\322\241"
+"\rn*(\16jk\241\35\374\37L\361\'B\254\265\267C\233{n\351\362}N\255\234w"
+":\313\3\367\236\367}\277\357\200\225\225\225\225\225\225D\7\242\340\327"
+"!\207\206\26\323\20\320 -\303\271\30\250\240\350\265\253G\266Nb(>v9\324"
+"8\13\241S72\7\2257\226x\370\327ih\345\234\b\351\257\270\204\363\372\222"
+"\344\323\374\27_\30\344\331\200\304\241\340\225%\203T\372D\266\214}t\211"
+"\215G\t\t\322Z\250\272\310z\251K\202\34\273\363\313E\352w;E\266L\257\271"
+"Hm\252]\202\364<0\266T\363\21\221-s\346\302>]o\221\330\222~n\220\225l\223"
+"\310\226\267\6y%2\77<\372Ak~k\336\330\342\314_\220\374}\307\355\2321\277"
+",2\377\344\364o\27\371S:#\312\376\204\261\245^\354\24vl\246\201\374\234"
+"\212\211\213\271\r}\33\217\b\1\317\3056\237\210)F\300\214\362\336\0\270"
+"\265\246uh\253<5m\26v\345A\226:\200p\356\2356\337\0\301\3017\332&\1\370"
+"SO\34mg\1zg\35\355t\0\350\276\277\256\235C\0\307\213u\355\304\38:\371]"
+";[\1\16\337\374\242\235\342\0M\331eOLR\322\230\4\62/\265\233\t\300\227"
+"|\354\211\311\2104&\234-o\270\330gqL8}\317Tg\265 \216I\334\263wjIqO=\33"
+".\253\230\t\341\334{=\4\301\301\5=\4\376\324S=\4\234\237\375\7\b\202\377"
+"\347\343\327\7\264\2054\304\327\37;\27\200HY\365\23{\327~\332\213\220\225"
+"\225\225\325>\326&\307\206\24Y>C\230\204\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0\64\0\0\0p\b\0\0\0\0t\332\fM\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\306IDATx\332\355\226=,Ca\24\206\2776\256\264\215\224"
+"\301O\r4\221\22I\23\312\206F\304 \3320HL\272`\362\323\211Ak\24\42$\206"
+"\32H$$$D\273\321\237\304\330\350b \304\320\251\r1p\23\222V\322\240\364"
+"\36\223\373\335n\347t\42\276w\273\3033\334\357}\317{\16cBBBBB\377V\265"
+"\245@\341X/\35\212\0$\206ut\b\340\326SF\207\0\322\263F:\4 \373+\321\320"
+"|\356\207\202\354\232\5\375\346+\31\25{\333n\302bf\277\254b_G\355X\314"
+"\344\275W1%\352\304b\322DR\305 1\2045N\77z\305\261\2331\264q\203q\216\245"
+"g\fX\314\31ST\354\311\2076\316\21,p\343V\353\260X\313\356\7\67n\13m\\C"
+"\200\307\344\363\260\r\213\325,\363\230(a\264qf\37\217\t\234\273\261\306"
+"\31\275w\34\273F\33\'\215kb\222\2322\240cr\311\261G\237\271\224\230d\6"
+"\320s\332\23Uc2M\350\4\3071\207\364\330\77\2635\363\17\334+J\236\205Vb"
+"/\26\271%\367\221s\221B\215\2306\201\310Lh\263\16q\227\2168U\312I\27u~"
+"\363\373vjS\344\2V\f\342\322\204\355e\251\232\332~\17s\25\324\236MN\226"
+"\23\33\35.F0\311\324\356\168\353\247n\251B\260\23\2034j\314\177\337\261"
+"\241*u\217\233\237]\257\307 \35!n\276\274X\205\232\227\rE\23}\354Y\20\241"
+"\327\241\n\305\335\224S\'\2\0\312i7\3656\312\37\330\211\275\301B\233VF"
+"\226$\356d\306t\2141\213\211B<\277\26\307\b%\302\252)\256\236\337\r\t\t"
+"\t\t\375a}\3[\275\42q\301<-\23\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0C\0\0\0p\b\0\0\0\0`O\222\254\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\332IDATx\332\355\226AHTA\30\307\377\257\327\276e\325\220T|"
+"\267-\202\242\202\b\23$\303\242(\250[HAy\20\252\233\327\240s\307\216\36"
+"\4\217{I=y2A\220\300\204=T\247\22\251\203\5a\22T\213da\272l\273\277\16"
+"\273-.\33\350\233\257S\314\357\364f`~o\276\231\371\276\31\311\343\361x"
+"<\36\217\307\343\361\374\317\4\177\355\215\16g\343\256\316\250%\275\273"
+"`qJ\373\233:\17\\\273\334\177\42\265\347I\224\233\35=\367od\222\306\322"
+"\350\210Go\7\311\327\243\301qe\262\333eMw:F\306\302\372wq\355\313\217\r"
+"mm\357*\3107\264\36Pcet0\338\355\362HUP\231>\347|P\316\227\0x\353n\320"
+"\3015\0f\332\f\3475\7\300thP\364U\0^D\226\264\231\7X\317Z\24=\0\3341e\357"
+"8\300\253\300\242\b\13\0\267L\323\30\0XO\273\16\337\'I\27$i\256hr\234\221"
+"\244g29\216I\322\222\255\250~\5\210m\216\22@d\213%\224$l\216\357\222\324"
+"ns\24$)\2669V%\351\224\315\361Z\222\372l\3732\4\260bst\225\1zm\222\5\200"
+"I\233\343.@\351\244\311\21}\2Xt,B\325B^\256\\\225th;o\231H\372\35\300\257"
+"\353\246h.U\0\212\203\356\261H\37\62\3\222\302\233A\336=\367\24>\255\336"
+"\331\317/\32\242i\177Y{:\274yx6\225h\344\216\355\354xR\277\363\267\226"
+"\227\337\177\374\\\332\330K\r\\mhf\36\223\234\361Z\336\376\371\373\360"
+"p\3019\367\353L\34}\364\355\37<\234[\357\315\376L\30K\323;y3\227K\235\356"
+"=~$\356h\315\250-%\217\307\343\361x\34\370\r\216Q\37\340\13C\245{\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0p\b\0\0\0\0`O"
+"\222\254\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\305IDATx\332\355\227\77"
+"H\224q\30\307\277^\227\177\22Q\203:\361\2\207\fB\227\300\6\227H\214\244"
+"\303\251 \247\\\2449\320\311\331!\301\305M(\251\206\32\334t\tj\320!\302"
+"\233\324<]\222 \224\6\63\17<\344\262\273\253\3738\350\371\17\342\274\367"
+"q\222\347\263\275/\277\367\363\276\357\363\373=\277\367\373J\216\3438\216"
+"\3438\216\343\234g\312\244\207\17\212\216\312\247\224M\'\177\256~\315\374"
+"g\3000\247\346o\342\345\343j\243\3\340\367x\353\tA\250\344\267\257z\232"
+"x\25\61:\244P\337Rw\3515\225\252+\42\215M\341\203C\6G\202\315a\270\345"
+"\311\330\267BY\236\33\26\303\355\327\271=\311\240eI\265.\2\220\217Y$\225"
+"\357\0HF-\222\3208\0S\246\16\271\360\1\200\373&I\335\17\200Y[\257\366\0"
+"\320n\223\304\1\336\234\301\203\244\312M\216\213[\0w\203\366\234$)\367"
+"^\222l\16}\222\244[6GB\222\256\333\212\332\b\260is\\\2\310\354\357AA\241"
+"p}\360z\324K\322\266\255\246\21I\372es\334\224\244\3576G\273$-\333\34]"
+"\222\24\67Mm\13\300\277\313&\307\13\200\31\223\242\371\17@\257)r|\4X7m"
+"\37\3\0\364[\24\235Y\200\225\n\203\242#\r\220\277g\250\305\263\f\0\243"
+"\301\25w>\357}\263\247\203\26\364\306\300\374~v\370R{\230)\244hC\361\374"
+"T\251\272\232\253\327\232\333\256\24\316\314\305R\206L\7\300d\2151\217"
+"i\247\377\321\366\321|T\272!\373vh\355x\306*Q\220\231\235\232\3308\231"
+"\323Ny\357t.\271\271\261\266\222X\330\361\377\23\307q\34\2478\273U\234"
+"S\245\325\271\232\343\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0C\0\0\0p\b\0\0\0\0`O\222\254\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2\367IDATx\332\355\230MHTQ\24\307\217\243L\230\37}i)\211\251\230P\213"
+"D\301\222$\22\n\215\242\24I\251\224vIh\224\20\201\13\311(\n\242Z\2244\321"
+"\307\42\n\244 \244\17\27b\213\22\2\215J\b\323,AP,1S\207\374l\6\347\327"
+"\3021g\306y\367\315\370j\367\376\253w\357\371\337\377;\357\334{\317\271"
+"\367\211\2300a\302\204\t\23&L\2300!\22\22\354\0k\202\210\214\332\r\275"
+"\264\n \303\220DX\37\360\312\330\267\37\1\3107\246\321\16|\n1$\261\33\340"
+"\25017\232\200oV\337\30\371\237\300\244\304u1k\254\313\227\371\262\363"
+"D\304^\347\331\325R\357g|t\311\355\217\16\2\206m\261\37[O\357\17\17z\276"
+"\275ZI7\367.e\315x6\212\357E\213A\215\263\347\26&\336104a\227\351\31On"
+"\366\26\21y8\355-\360\306\253uu>L\275u%)\226\305\257\263\364\0\255J\217"
+"\252\347\4\\\r;4\b\7\1\nT\22\205.\0>\347h2Z\201/\26\205D\302\30\0\317#"
+"5\31\271\0\307Tn\274\0\340I\2506\243\21\30T\255\235=\0\274\265j36\273\200"
+"\32\225\33\357\0\3066(\30\367\201\361U\nB.\0\345\n\306\372\337\300u\225"
+"\33\217\0\272\24\301\220+\2003QA\b\237\324\213\371J;P\257rc\37\300d\224"
+"\202qF7\233_\6hT\25\225\357@\263\226\325\42\42\222)\42\362Z\241Q\32/\42"
+"\327\224[\245\17 OQ\f;\201vu6w\0\244i\333\17\0\224)%\42\0\210\325&\264"
+"\0}aJ\215\25\0\304h\332\263\1\252\324\271,\24\200TM{\3\60\26\251\223\20"
+"G\0\266kYSg\201\213zI\365=\300q-\353\35`&^1\334\42\42\322!\42\222\245\301"
+"\210+\23\221\7\203z~\224\3\fi\244\271\13\300\354&\335\2\221\f\300.\277"
+"\266\310Q\340i\0U\346\3@\223_\323)\200\234\0\64N\0\270\266i\235\235Z\3"
+"\251vQc\0\355~\222P\251nQ\371\213Z\0.-\336m\355\300WK@\32\221\3\0\256\303"
+"\276\375\371\272E\305\3E\08\17\371t\277\324+*^\270\13\300\354y\257\230"
+"d\240WT\274\363r\333\\\315n\333\351\223\357\307W\7~\22\211\355r\37\35:"
+"j\262\334\271\42\311\t\334\b\346\314\37\327\224>\3778\325\331\335\377c"
+"\304QP*\42E\375J\201aos\3643\202\207\315\275o\335\370UX9\261\224\363\230"
+"\327\362\301\226f\2331\250!2X\231x\262\305\361\17\356Q\21\231\351\33\223"
+"\327\306\246\4$p\253B\357\212Pl\354\212\320\f\364X\fId\0T\30s\34310\34"
+"nH\42\325\t\324\32s\303\6L\305,\345\356\261\200\356j\221\336\237\346\77"
+"\4\23&L\374_\374\1\n\241\16\313\315\323\3022\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0p\b\0\0\0\0`O\222\254\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\1\374IDATx\332\355\227\77h\24A\24\207\177\353"
+"\346\3668\23\t\306\340v\27\21\24\25Db \250DQ\24\264\223\240\240\26\1\265"
+"K+XXY\246L!\4\264\270Fc\225J\5A\4\r\\\241V*A\213(\310\31\4\3658\214\377"
+"\222\343\274\373,\356<r\236\220\354<\13\377\314W\355\16\314\267\363f\346"
+"\275\231\225<\36\217\307\343\361x<\36\317\277L\360\313\326hC6\356]\27\255"
+"N//\230\276\256\216\266\3065G\16\356\336\232Z\361 \252\355\216\376s\307"
+"2Iciu\304\343\'\203\344\363\321\34284\271\336eN\227:F/\205\315\347\362"
+"\334\273O\363ZX\\V\220oy;O\203\331\361\341l\340\264\312\243uAmj\217\363"
+"F\331[\1\340\271\273Ak\347\0\270\321e\330\2579\0\246B\203b\260\6\3600\262"
+"\244\315\35\200R\326\242\350\7\340\264){\'\0\36\7\26EX\48a\32\306\20@)"
+"\355\332}\225$\355\223\244\333e\223c\247$\335\227\311\261Y\222\236\332"
+"\212\352{\200\330\346\250\0D\266XBI\302\346\370(I\3356GQ\222b\233\243 "
+"I\333m\216\'\2224h[\227S\0\2636Go\25`\300&\271\7\60is\234\1\250l39\242"
+"7\0\323\216E\250^\310\253\265\303\222\372\26\363\226\201\244_\0|;j\212"
+"\346@\r\240<\354\36\213\364*3$)<\36\344\335sO\341\335\372\231\375`\277"
+"!\232\356G\215\253\303\263\213\273R\211z.Y\316\236\233\3153\177af\346\345"
+"\353\267\225\371\225\324\300B\313k\346*\311\231h\344\355\217\257\217\214"
+"\24\235s\277\311\265Mc\37~\303\305\271\363\354\255\257\tci\273\'\177\311"
+"\345R;\6\266l\214{:3\352J\311\363w\377G]6\b.\224\352\16C\311P_\341\247"
+"\275n8+\377\0G\207$]1\b>\373}\351\371\177\370\16P\351%z]-;\325\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0p\b\0\0\0\0`O\222"
+"\254\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\343IDATx\332\355\227\77H\224"
+"a\34\307\277]gj\42i`\'\32\64d \272\bF\270\204\241(\211SAN\271H8\n:97(\264"
+"\264\5*\351\240C\333\271\b:\344 \242 \250u\271$A$\16\376\273\350\220\323"
+"\356\316\356\343p\236\377@\364\336_.\372|\266\367\345y>\357\373\376\236"
+"\177\337Wr8\34\16\207\303\341p8\34W\231\33\322\213\347\347\266JF\24\217"
+"\206\327\177}\217\235\321\240\227\13\263\27\352\177\225gt\0\354\fT\236"
+"\22\3702\376\372\3347\241\217\1\243C\362\265}k\316\274\246R^v\240\344\201"
+"\377\360\222\356w\336\306\320_\361\372\303\217tYz\f\223\341\361`\42%\351"
+"\266L\251\312\257\0$\233,\222\234\21\0\302\245\26\211o\0\200Q\323\n\271"
+"9\16@\203IR\260\n0c[\253-\0\324\330$\263\0C\377\341E\42\267L\216\254\77"
+"\0\265^\327\234$)1&I6\207\246$\251\312\346\bI\322C[QK\0\266l\216\333\0"
+"\261\203=\310+\244\373{\257G\241$m\333j\32\220\244M\233\243\\\222~\332"
+"\34\65\222\264ds4J\322\254ih+\0\376\33559\372\0&M\212\262\277\0\255\246"
+"\3101\1\260f\332>\272\0\350\264(\352\342\0\313\331\6\305\263(@\262\336"
+"P\213\216\30\0\357\275+\236N\247\316\354\317^\13\372\250k\341 ;|\271s\224"
+")\244\322\342\363\363S\216\n\362\357\335/\253.J\337\231o\212\30\62\35\0"
+"\301|c\36\323n\347\313\355\343\371(sC|\370\355\312\311\214\225\241 63\372"
+"i\343tN\273\340\263\243\211\360\326\306\312rhq\327\375\237\\\255\377\250"
+"3\31\17\246\346\307\223v\357\216\337A\323\31e\\s\227\340\360Ks\375\336"
+"\273\317\271Y\351\270N\354\3\2dZ\33\364\237\330O\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0H\0\0\0p\b\0\0\0\0\230\257i[\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\4\64IDATx\332\355\230]l\24U\30\206\337\226"
+"\226j\255\333JY\240R\241-\24-i#\325\206\244hRm\t\4\232\22\201\230\370\177"
+"Q\315j\f$jb6\21o\274Q\253QCb\324hH\214\32\203Q#\211\22\214\250\224\4\212"
+"\266\t\42PHc\213\222\322\25\4\266\13m\227\226m\373x1\235\355\316\376\316"
+"l\274\360b\336\253\335\367\234y\346\234\231s\276\363}#\271r\345\312\225"
+"+W\256\22\224\223\266u\361\352\332\352\312RO\241FB\201\277N\34\353\211"
+"ds\213\374u\357\367cUx\3573^\247\230\252\267.\220L\327\277nq\202\251\375"
+"b\212\224\352\336`\27\343\335\225\6\3\360\303\35\266\36\366\243;K\315\237"
+"\327\177\375\345\304\300`pLE\336\2455\rM\313L\177\342\2257\2462\r\247h"
+"\267y\337\361\3177\27Y\333\252_\376\303l\354,\313\300Yvj\246\347y\177i"
+"\222\346\334\326\256\231\366\241\206\264\234\206\213F\267\221\35\205\251"
+"\272l\36\60\272\214\256O\303Ys\305\350\364]y\214\351\363\371|\276y\263"
+"\377\13\337\231\6`\2425%\247.d<\234m\226W\0@]\254\2631h\254\317\346\24"
+"\234\362A\0.4Z\355D\220\252\2155\37\252I\312\231\333\r\300\331\333\225"
+"\21\244\205\275\0\234\366$\3\275\r\300\340r\331\0\311k,\204O\222p\232\246"
+"\1\256\324\311\26H\313\377\1`kB\367\202>\200\351-\262\t\322\272I\200\241"
+"\204\311\275\0\300\273\262\r\322\353\0t\304\271\236\313\0\3\679\0\25\234"
+"\2\b/\266\272/\1\320&\7 \265\0\260\323\32\16\3\0\235r\4\322^\200\221\222"
+"Xk\13\0\367;\4\65\2\360l\254\365\r\300or\b\322a\200\356\330 t-\1m\13\364"
+"8\0\225\263\306&\200\310|\307\240\242pt\0\271\222\244fI\352\272\344\370"
+"\310\32\335/IkgA\215\222\364c\26\207\337~IZ\23\375;\'\f\220\352\300J35"
+"\325\3Pf\216h\351\215\222t<\213\21\235\214HR\215\t\252\220\244\341\213"
+"Y\200\42\375\346\365y\222T&I\347$i\325C)\256x.\3616\337wJ\32\254\221t\253"
+"\t\362HRP\222V\372S\200\332\23\255P\247\244\313\222t\2639\265bI\32\315"
+"*-\nY@\377\205r%)lb\235\253P\222F\314gtU\222J%\251\377\303\304\276>I\372"
+"*\230\340\37\223\244\22\23d\34x\0!e\261 u\24\340Isjg%\251\330\233\315\324"
+"\252\314\353s%\351\314\224$\325g\301\251,\226\244\323&\350Z\237u\357\331"
+"W\243$]\32\212\276\376#\222\324\222\5hm\364j\3tP\222\32\27:\346\314\331"
+"(I\7f\215\5S\0\333\35\277\265u\0\304f\35\77\3\374\356\30\364%\200%\374"
+"\264\3\260\336!\250\42\2\360\242%\212\17\3\34r\b\372\b`|\201\305{\23\200"
+"\7\34\201j#\0q\233j\321\30\300\237E\16@9\7\1\42\361\211\331\253\0\274\347"
+"\0\264\r\200\17\342mO\300a\242U\37\6\b&\356\320\255F\242j7\365\363\236"
+"\1\340\251$S\370\314HF\227\330\2\25\367\0\360m\262\n\324\323\7\300@\205"
+"\rP\311a\343\256\311C\317J#\361\77\267*#\250\3748\0c\253S\354\301\346\t"
+"\243\242y$\3\250\351<\0\223\233R\356\3466\203\304\307\267\304\230~\277"
+"\337\357\217\231\303\r\257M\32\234\'\322\304\205\r\243\6\351\357\366\224"
+"\347T\353L\3617\361p\372\202-0S\330\235|,\77\331g\202\326C3\355\301Lqp"
+"\321\1\263\332\ft\304G\361\25;\242_\2\216Ve>2\375\341h9=\370\351\366\373"
+"\226\314\225\224Wv\357\323\273\242\5-\221\216\2;\1t\305>ku~5\30\262\32"
+"G\32l\307\364\2564U\177\357\2039\16\302\372=\273\307\223R\246\366\2659"
+"\315;\346\265\357\31\211\243L\374\364|yV\237}\362\356\272\373\316\252\333"
+"\346\27\347\23\32\16\f\364\366\364\214\271\337\311\\\271r\345\312\325\377"
+"Z\377\2Z\r\303U(\366\332\31\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0H\0\0\0p\b\0\0\0\0\230\257i[\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\5\3IDATx\332\355\230[lTU\24\206W/R\n\265\3\266\265\3\322\24,\224"
+"\222RD\313M(\326T\205\22\22\242rQ\3-\30%\226\30\305\370\344\203\6\r66D"
+"c|\220\4\324\27\b!F\250M$bl\200rm (\322P5\255\16h\245-\265\265\2352\5*"
+"\323\371|\330\347\234\271\235\263g\212/\306\314z\332\227\177\276\263g\237"
+"\265\327^\353\210$,a\tKX\302\22\366\377\261\244\330\222q\256t\361\16\214"
+"\374\33P\346\342E%3\247\216\27\21\221.\317\245s\'\333\357d\255\271\257"
+"6\335&\302\332\337\177h\264\230\245\365\177ck\347\253\356\32\5\346\321"
+"S8\333\345\352\34481S\353\321\333\271\322x6;\251fG\206\325\31\376\241\345"
+"rg\337-\311\314\315\233U\232g\r\373wl\363\307Z\316\204\6\353\301\236\272"
+"G\322B\247\246\325\34\31\61\347\232\357\213\301\231\321f(G\276(\267q\215"
+"\374\272~c\276s\276\2263\257\327\320\325\279\255\270\366\206R\370\226i"
+"8\13\275J\324V\241\21MkT\242[\225\216\222\22c\335\273\306\351O\303V\345"
+"cC\13\35\4\356\16\0\206\237\217\351 \213{\0\350)\260\235M=\1\300\365\212"
+"8\\m\372\25\0.\330.\375]\265\336\245q9m\276Z\375N\233\251\371~\0\377*\325"
+"K\216\25/f\r\0\4\226G\315\247\\\0\340u\325\253j\312t\340\344\234\177B5"
+"\226\371\1<c#\5/\1\360\225z^\225\237f\227=\347\22C\345\252\271\35\200\267"
+"\42\4\351W\1\372\334&\7\316O\264\347\200o\211z9\27\0\274Y\341\212W\0\330"
+"\42\42\42\205*\240}\237m\317\201Nu\252\27\5\0\266\207)\222\333\1~LQ\275"
+"-\1\0.\336k\317\31\62vI\366\1\364\206\271\3002\0\2365\273\233\325)ouk9"
+"R8\2\20\346\277{\1~K\265\372\233\374\0\374<Y\307\21i\0h\n\321\244y\1\336"
+"\16\31Y\257Hmy:\216\372##\223\202\3\25\0\314\b]\343:\265\343\236|\rGR\272"
+"\0^\f\16\324\2\264\206\357\354\323\303\0\\\271\337\231#\362\t\300\376`"
+"\377(\300G\21\357h\225\42\375^\350\314\2215\0\35\301~\37\300\272H\257Y"
+"q\23\200\253E\216\34q\3\220c]\252\0\314\214\362\277\345C\0t\227;qD\272"
+"\0\312\255\b\13p;5ZV1\24r\233\331q\3448\300&3\\\270EDzln\252\243\225>\253"
+"}\343\311F\33\320\37\346\357\223ED2EDz\355\16\373\311J\257\226#}\42\42"
+"\23LP\206\210\310\240m\3308\275\301h\274l\313\221!s!\261\362\201\234:\243"
+"\361\346\24\2750YD\344\272\265\254(\316\261b\243Upt\262\235\300%\42\342"
+"3A\203\42\42\367h9\42\63\216\344\332(\262\315\337\'\213\210t\211\210LJ"
+"q\342\334\250\271&\42Rt$\'\32\224\'\42\322ma\1\230.\216q\254X]\210\27\243"
+"cf\77\300cV\267\7`\255&\36\316\371\23\200\357&D\346\1\0\4\343\310\2676"
+"\2076\374|=\370\227\312\325\42\356\226*\200\356`\177\33\300O\332\270:\177"
+"\0\2003\341\367\335>\200\203\301~\31\0E\332\270\372\260JyN\216\17\215\254"
+"\375\301\273GE\272^\200Zm|\2262\37\0M!\267\306j\200@^d\244\353\34\243\343"
+"\210\224\253X\320\230n\215\34\38\23\252Y\2\300\13Z\216\310\343\212t\330"
+"|`)\0\233\3034-\0\2364-Gd\271\212\276\207\f\3227\0\375\341g\253\32\200"
+"7DDd\3429\3078\266r\30\340su\b*\1x/\42]k\7\360\251\\\316u\312\201#\362"
+"\324\260\305\31\357\1\30\214\364\366u\0\234V\232\214\23\16\34\2215~\203"
+"#\273m\323\32I:\16\300\7F\261\267\3201\360\224\31\234\215\0\374\22\225"
+"h\311\314\233Dx\227\326*\206\1\2v\231\353V\0\374k\343\342\224\252\23\363"
+"\241m\226yP\2216\306\301)S\251}\363\30\333YW\13\0\201wb\26v\353\3256t8"
+"\305\361)*y\346p\256\276\354\336\251d\375%\216\222\302N%\351\255\326T\337"
+"\25F%6\260@W\256]6\13;\247Bb\366\227\206\342\232\276\340v\2375\257\372"
+"\263\353\323\243/\257\25\207\314\32\262uZ\214}\34\273\313\312\32\274{\237"
+"\t\315F]+\77\356\264\346\366g\304\376\22\261zgHZ\334\321\352\351\356\363"
+"\'e\345\344\317.\b\276\314\376\327\366\304\343lY\237\216h\253\365\300\36"
+"w\274\37\20\3464\4\2349_\317\33\315\'\215\342\335\327m)\276\317\346\216"
+"\366\353H\306s\7\6\42(\3\7\66\334}G\237}R\346.x\240 /\333\225\352\367\366"
+"v\374\332r\366\242_\22\226\260\204%,a\t\373/\333\77\366w\262q\254F)\4\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0p\b\0\0\0"
+"\0c\370\234\204\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0_IDATx\332\355\320"
+"\301\r@@\24\6\341!\npq\325\201\223\342\224\242-\265h\340W\201\25+\22\211"
+"\371\256\357\315\356fA\222\244\2674\305\351\2\260\356\265\207\'I\306\302"
+"B\373\354\361\346\346\346\346\346\346\346\346\346\346\346\346\346wu0_\254"
+"L\303\351hk \365\227\367\177\376yI\322\307\35\275\n\t\3523\377\17\42\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0p\b\0\0\0"
+"\0\201$\207\375\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2:IDATx\332\355\326"
+"_h\216a\30\307\361\333\206-F\314$\377JRkR\262\226\23i(E\222\224$I\16\254"
+"(\265\3\139XI\16\64Jr\240(\312\201\244$\78\240\326p m\241\210$b\311\277"
+"\206\fc\363~\34<\363\347\335\336\367\331\363\354\324\363;\273\257\253o"
+"\367s\337\327}]\277\'\204L\2312e\312\224)S\246L\377\275F\306%K\343\222"
+"\'\336v\16o\313\245\271{\243\206\5\226\77f\317\260\310\375\370:{\30`M\17"
+"\\M\17\216h\3\66\246&\33\42\320\233\312\224\340\224\256~\322\311\224\344"
+"\331\337\240\334\342T\340\n\20\355\373\260,\58\346)\364\326\336\4\315)"
+"\310\203\240%\314\375\16=\325\211\301\371\275\360ll\364\32h\35\221\20,"
+"\275\rV\206\20\312\36\201-\t\311\35\340l\b!\204\372\34\274\237\234\b\234"
+"\376\t\272\246D\253\223\340L\42\362\2h\350_U\276\6\313\23\200k@\333\237"
+"K\331\0\236\224\17\t\216{\t=5\177#\227\301\201!\311\243`\337\77\221Y\335"
+"\360c\336\20`]\37<\312{p;\301\255\222\370i\327\1\271\372\374\372\266\203"
+"m\261dS\301\306\252\355\203\17Sc\300\350H\257\'\16\214\37\6\347b\310\350"
+"\32\67\f\212W<\3\253\212\202\353\301\345\2\231\225\340yE\21p\302+\350\236"
+"U|F\264\24!\217\203\246\230\271\324\273\240`rQ\16:\212\330\320Vp\247\220"
+"\17\215~\0}u\305\346o+h,\220\332\13\216\24\275\276\352\36\370<cPb\3167"
+"xQQ\274d\315\340\342\240\217\271\6V\307\24;:\216\265\3\302\233\301\371"
+"\330\247\31]a\347\370\274`\325;\3708-\276\221\242\262\35\313\213\235\6"
+"\333\207h\301\350\251\364-\314\363\365\4\35\30BX\7\356\216\314\363\365"
+"\4]\37B\270\4v\345\371z\222I\23\302\314\317\360\345\367\77@\344\36\t\246"
+"[\b\241\21\\\351/\345\r\310-K\343\34Q\13W\265\303\2514nu\177~\377\330\332"
+"\375\315\333I\311\35\362\347\241\277\243\261\372\306\246\344\256|}\311"
+"\277\313\222\220)S\246L\231\22\350\27a\344\320\177\35\331n\214\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\09\0\0\0p\b\0\0\0\0\201"
+"$\207\375\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\28IDATx\332\355\326[\210"
+"Ma\30\207\361={f\3204\r\221\20\42\241\320\3440Q\223\222HM\310\205\222C"
+"\341F\21.HMI1)\222B\322\24\221\13\211\33.\244\244FQ$\239\225\234J\311a"
+"Jr\34\306\234\366\317\205\31{\357\265\367\332{m\267\326s\367\276\357zZ"
+"\255\276\377\372\276/\221\210\211\211\211\211\211\211\211\211\371\237("
+"\213\374dEEV\331\360hXT\263\261\2656]T5\247\234\214(\216k\327\3314\240"
+"\257\250{\206\324\334h\346%x\\\363\247X\0\36WF\21\227\201\13\375\345Y\320"
+"\30A\254~\r\337G\367\327#>C\373\370\342\346A\260=\335\330\f.\27\25k\273"
+"\340A\306\272$[\301\362b\213~\13z\3533{\263z\340Muas\38\236\335<\n\16\27"
+"\24\207\177\204\17C\263\2735\357\240{F!\3634X\33l\257\4w\222\341\342\274"
+"\24\\\317M\370U\260)T\254|\2\235Sr\'\23;\340\363\2100s\'\330\227o\264\33"
+"\234\r\21\307\377\200WU\371f\3\237\203\205\371\315\313`q\376\341B\360|"
+"`\276\331rp1\354S\316\201=\371\222\376\6\276\217\t3G~\201\216I\271\223"
+"C\301\244\7\331\2Zr\372\323\273\341aE\270Y~\27\254\16\264\223\267s\223"
+"\36\244\256\7\332\206dw7\202\23\205\177\207c\2409;\351\237\362%=\310\340"
+"\367\320;\'\263w\6\254+\366\333\257\2\367\313\323\235\371)\270Q|/o\1\333"
+"\322\321z\32\226\364 \223:\340\333\337\355m\27\330\37eKm\312\332R\'\374"
+"\fOz\220A/2\303}\5,\211v\0,\222~\315\212\302I\17r\36\34H$\22\65o\13\'="
+"\310\250\257\3205-\2218\2vD\77\207\267\202\233e3{\212%=\'\371\367\300\206"
+"VH\325\227r\370\317\356\201\356(I\17\322\254\237bI\17\62\244\255\337\\"
+"_\352eeM\237x\243\254T3q\rtM-\375\2064\371W\344\244\7\331\339\3519\311"
+"\177\311\322\177\273\3215DOz\220Sc\377\325L\3067\351\230\230\230\230l~"
+"\3\240\221\311\3177\217(\261\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0H\0\0\0p\b\0\0\0\0\230\257i[\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\66IDATx\332\355\225\315KTQ\30\207\177\363\201\246b: }LB4N\241"
+"Q\244\264\312\\D\177@\213\240(\242vA\233 \212\2\211hWT\2640(\242V\22-l"
+"\31B\6}\321\307&ha\231\20\221NYAd\331\214E:r\347iq\347\2163\323|\334{s"
+"Qq\236\335=\357{\237s\356{\336{\216d0\30\f\6\203\301`0\30\376\177\2\25"
+"b\265\235\235\35m\255-M\215\262R\251O\23\343/\206G,\3573\264\367>\370I"
+"1\311\301\3QO\226\246\203\303\224\301\272\273\253\306\255f\351\371\24\225"
+"x\177\250\316\215\246\356\3444\325x\273;P\265\330[\257\306\346\37fFF\307"
+">N}S(\322\322\32_\277:/\371\316\376D\305\345\204\317X\271i\237\235\350"
+".\254Fd\333\305\211\\tjG%O\344\236\2237y\266\275TBp\313\365t6#s\252|\353"
+"DG\263I\237\17\67\224MZqa6\233u-\\.\345uv\207\373\232+~\177|0k\32\b\225"
+"n\236\347v8\261\271\352\316\356M\332\251\227J~\376-;x;\342\242G\326\274"
+"\264\223\217\226\210\35\267C\375aWM\33y\f\300\\\367o\221.{7\372\203.\333"
+"\277\3016%\212\313\31|\n\300P\310\375\377h\227\264\257hx\37\0\343\315\36"
+"\376\354\266/\0s\353\n;\372\r\200\325\343\351\214\330\16\300\215\202\261"
+"\235\0\\\366xf\r\0X\361\374\241\207\0\337\227x\24\255\234\18\2357\22\313"
+"\0\234\363|\214^\1x\227\267\321G\0\62\253<\213\272\0\330\230w\272\0<\362"
+"qw\274\28&IAI\252\331$I7}\210\206$\251\'\'Z[/I\367}\210\236H\322\206\334"
+"\343\36\200t\215\17Q\7\0\215\316\212b\222\224H\373\20\215\341\274\37\224"
+"\244\250$}\360sQ\317NJ\3222G\264X\222~\370\272\362\277J\322\362\2\221\77"
+"\322\222T\357\210\2\222\224\362%\232v\26\62\337\336\370\22e$\251\266@\364"
+"\7,Z(\221\214\310\210\26\\\22445\372gD\6\203\301`0\374\5\374\2S\322\215"
+"\374\201\367R\274\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0H\0\0\0p\b\0\0\0\0\230\257i[\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"DIDATx\332\355\227MHTQ\30\206\337\31M2\2152TTP\234\32\312D\252\205A\21"
+"\24\375\20RP\20mfUB\26\264\310\26Q\24\24\324\246E\320B\244Z\3242Z\325\242"
+"\332\324JP\22Z\304,$\22\245\277\201i2K+%\35\233\373\264\360\336\371\261"
+"\231\361\336\233\273\316\263;\337\367\235\207s\356=\347\336s$\203\301`"
+"0\30\f\6\203\301`pM@\222:\232$\275\36\360\323\377P\235\244\350K\273\365"
+"\24\340\226\257\201\364\3\\\227\24\\\252\251\31\221\21\31\321\177-J.\225"
+"\350\327\77JR\216hJ\222*|9J\234\376AI\232\224\244J_\242JgFAI\372$I\325"
+"\276D5\2224\346\210\342\222\324\344\307\263\274V\222bNs\23@\252\334\207"
+"\250\35\200ZgD\303\277%\5\267\370\20m\227\244Dzj\263C\222\264\323\207\250"
+"C\222^dVv\237$\35\366\356\251\332\233\356=\317\1\0k\275g\321\31\0+\224"
+"\t\224}\5\350\365\352)\35\5\30\314\16\335\6\230\ty\24\235\4\240+;\324\232"
+"\2x\342\315\263f\f`<wK<\2\340\204\'\321}\0.\347\6[\222\0\323\355\36<\235"
+"\0|^\271 |\3\200\330:\327\236=\263\0\34_\30_1\4\300h\243K\317\266I\0\236"
+"\7\376\312\264M\3\360~\203+\317\276\37\0\2145\344\311E,\0&\16\2728yv\317"
+"\1\60\273;o\372\2\0X=\213}\343\352\37\333\225\235\5\n\256\316\347\371\20"
+"\t\24\321\224\235\235\260=\335\5k\316Y\266\352\325\321\222\2%\345\247\336"
+"\3325s\305V\335\221\237v\25\37\257m\314\223\337z\363\213S0\276\277\350"
+"\364[\242\244\31\356\215\2043\77\320\322\266cwc\231\344@(\317\311\77\347"
+"\t\\\274T\226\325\234y\27\3776\241\340\352\232\206\346eY\341\251+=\251"
+"E\337m\370\241Eq\346\356\325\273[\265\233\37$\213h\246\357\204\335o\310"
+"\272\363\321\374\226T\377\351U\205oGyi\356\330\265#w\343Y#\203}\317\22"
+"\305\256Y\205\77\356\255k\33\253+\252\244\311\357\211\370\310\233)s-5\30"
+"\f\6C6\177\0\362\1\200tL,\316\345\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0M\0\0\0p\b\0\0\0\0~\206\242\37\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\4EIDATx\332\355\230ml\24E\30\307\237\236\364J\361\270mQ"
+"\20\260\306\246\264\32\250\6Sc\322\352\31\305`\2_4\304\6\233F\22bJ\42Z"
+"LD\241\4\220\222\240A\243\42\n\305\227\30$\220Z\24S\24\1%\2455F\213%\30"
+"B,\6\342\33R\244\325\22{\266M\261\355\365\356\347\207\355\365\366\356v"
+"ow\'~1\331\377\267\231\371\357oofv\346\236\347\21\361\344\311\223\'O\236"
+"\376\37\312\262uL\275\245pfP\343\357\341\276_/t[x\252\77\36u\360\256\202"
+"\232}\77\305H(\374\371\246r_\272\255\236\243~;\324\365\317\234\304D\227"
+"w\226\245\301\260\303\335\266g\30+}]\351K\201\301g\31\326\254\370\303("
+"\231tzQ\nll\271%+\367\305\21\343\243\177|w\354\243\3-\337\\Lz\301\221\233"
+"\34\302\356:\77\361\314\325#\317\205\202\361~\377\3555\273{&\206\372W8"
+"\202\255\36\35\367G[\252\2\251\203\276\212\206\3768\257)`\13\313\3317\356"
+"\215\354\276\325\334\21Xuy\334\322\271\335\6\66\265-\276.%\326{\224\273"
+"f\320\260\202\3260\255]w\364Vf\376\26\13\217:\200M\371Jw\264\315\264=\221"
+"k\42v\260\254F\335\261c\222\203S\267W\367\16\315\2632l\324\ruN\256\213"
+"\372\370L\317\5\314\r\367\217\1\360\254+\30\64\232\32\202]\0lu\16\33\373"
+"\7\200\207\315\34\273\08\230\345\34\266\274Z\277U\264tGY\24\340\202\346"
+"\2&\362\6\0\333\323-m\0\321\220+\230L>\17\60|s\252\345\1\0\336r\7\23\t"
+"\305\0\336O\365|\1\320w\235K\230\310~\200\310\354d\317\334\30\300z\327"
+"0)\211\0lI6\275\6\20\16\272\206\211|\0\320\235\235tmu\3\274\256\0\223{"
+"\0Xht\205\0(U\200\211\234\5\330e\354\331\n\360\275\22L6\3\374n\3549\1\360"
+"\202\22L\346\3Ph\270\276G\0\356S\202\211\364\2T%\332w\0D\246\250\301\344"
+"\20\300\253\206\250\4\340\7E\230l\2\370$\321^\17\320\254\b\323\177\213"
+"a\13\337\4\330\246\b\223r\200\277\22\355F\200\r\2120)\6\210$\332\237\2"
+"\324*\302d\26\0\211\263u\30`\245\42L4\0\264\344\231\256S\204\311\r\0\344"
+"\210\210\36\326\r\211\210\344Z\3006\213\210Dk\366X\3224\21\221\310\310"
+"\4m@Dd\226\42Lf\210\210\30\366\364I\200\343J\323\24\221e\0\'\23\355Ei\327"
+"\200\13\230\274\f\320d\by\0(P\203\311\361\324\257\265\7`\251\32,{\20`\261"
+"\241\347\0\300^%\230,\0\210\346\31zj\1\302\331*0\331\1\320a\354\2711\6"
+"\260D\5\346\377\23`\243\244]\345\255\n0y\24\200\344\210\373)\200\330|\367"
+"0\351H\233\250H \fp\310=l1\0\217\247\364\352\241\177\310-\354\232N\200"
+"\356\324\f\260\340*\300Y\277;\230<m\21\334\276\4\300\363\356`\305\203\0"
+"\227\322\257\237\374+\0\221\220\33\230_\317\207\253M\206\252\0\350z\305"
+"9L\336\5\240\3054Tnv\222;\31\265NO-\213L\7\247_t\7\253\325\13\b\217Y\f"
+"\227\r\271\201\325\351\260\6K\303~\235\326U\342`\3\336\326\275\255~\333"
+"t\247\177\211\35lN\207\356\354\320\34\344N4\315\310\304\362\255\32\320"
+"m\247\246e\206\305K3\341\272k-a\17\236\36\67\265\6\355\376\321\237\210"
+"WUz6\230\346\274\223\369\21\237\300{~\373\360\240\374R\334=\332\274,\77"
+"\345\220\337\275-^\42`\250\306Q\340\242\275\223\250D\215\235iX\261\260"
+"$\77G&\317.\253\254\77\334\227X\331o\347:\215\202\26\234\301FWV\372\234"
+"\207T\276\352\37\63\261\6\266\344Yo\370Z\223\23\340{\350X\314\202\365\363"
+"\332\274L\237Oi\257\351q*\\\335\236^\351\372m\347\275Y6\225\306\322/\247"
+"\233GAZEE\331\234\242\234\361\274\340\227\316S\355\347\34\234\340\322\236"
+"\f\7=kZQ\351\235\363\nr\235WC\3^A\330\223\'O\236<\375\347\372\27\32\305"
+"d\250cf&\376\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 \0"
+"\0\0p\b\0\0\0\0Z\237-\337\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1:IDAT"
+"x\332\355\326AGDa\24\306\361\323\334\332\265\31\355Z\265\35)\311\250q\273"
+"\306\30F\222$2Z$\221\276A\353\276N\22\251$\3270\306\30\31\311\30\215K2"
+"\232V\321\242\276A\267\247M\233\26\357\375/\322]\335gs\26\347\370yy\35"
+"\216Y\226,\251d\352\247z\216~)\232\31\276\'\1\241\24_\256\270\373\276$"
+")t\17\64$I\276\263\37\20\320\4\240L@\13\200\n\1m\0\252\4t\0\250\21p\13"
+"\300*\1]\0\326\b\270\3`\35\200\261{\0\66\b\350\1\260I@\37\200-\2\36\0\330"
+"\6 7\0\240N@\4\300\16\0\336#\0\273\0\214\77\1\260G\300\20\200}\2\236\1"
+"8\0`b\4\300!\275\340E\222\248\376\310\354\363\315\314\314\246\r\3665\312"
+"\321\306\327\377\225\250!\321!\242\212D\233\210\n\22-\42\312i\20M\42\2"
+"$\32D\370H\204D\224\220\270!b\371\357\304\22\22\327D\24\277\210\270\42"
+"b\21\211\13\42\26\2208O\201\230G\342\214\210\271\230\210S\42f\2218!\242"
+"\20KR\327\22\211\217\343|\302@\341\365h2\371\350\365\262\273\377W\276\1"
+"T\205\353\27\215\33y\77\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0 \0\0\0p\b\0\0\0\0Z\237-\337\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\66IDATx\332\355\326\301JBQ\24\205\341}\323\34\6\315{\205\42\42"
+"n\22bb\210DD$\22\42\21\202\204=@\17\25\4\26aQ\202\211\210HH\204Qa\204E"
+"P\217Q\253A\323\356\371\7rgwM\367\346\233l\316a\231E\211\22B\274Y\3478"
+"Qyj:\3063G\237\222R\301\13\276$\251\345 \32\222\2444\21m$2Dt\220\310\22"
+"\321E\42GD\17\211<\21}$6\211\30xDl\21q\207\3046\21\367H\354\20\61D\242"
+"H\304\303\24\21\273D<\42Q\42\342\31\2112\21\243\30\21{D\274\304\211\330"
+"\'\342\25\211\n\21c$\252D\274M\23q@\304{\202\210\32\21\37\16\342B\222t"
+"hf\377_\336\23333\263\257@\240\0/\331\33\302_\360\7\334\32\0\33\0\364\t"
+"\310\3\320\13\35\310\1\320% \13@\207\200\f\0m\2\322\0\334L\n\264\bH\1\320"
+"$`\25\200+\2\222\0\\\22\2602)\340\3\320\0\340g\31\200s\2\226\08#`\21\200"
+"z\350\300B\340\302\272$\351\304\321o\326\256\245\357ygg\365O\217\251\365"
+"\306\242\342\357\316/XT\351\'Nkb\f\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0*\0\0\0p\b\0\0\0\0M\275\275\26\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\327IDATx\332\355\325\77l\315Q\30\306\361/\215T\350"
+"\275MD+\322\250\372\33-\22\t\25Du0\bSGI\23\253\301\302`\24\3\213\301$&"
+"\221&\22\304\330\315 \304\237\241t\20\244\251\272!\355\325[\22i\7\302m"
+"\365\352\327\320X\345\221H\f\356\231\77y\316\373\236\337\373;\7\376\361"
+"j\310\330\201\201\257\243\21l\277e\365\354\222\0\66\236\373\346\360\266"
+"$\362\320\230^i\f\340\312\253\13V\373\223\310\356\222N\37L\344\351\357"
+":\2615\200\313o\252\357:\2\3312\244\226\326\5r\375\230\372~S 7N\250\323"
+";\223\17TV\347z\222:K\252\'\2\271bH\365Rr\236\267U\357%SwF\265\322\32\310"
+"\236\232ZKZ*\216\253^L\n\275\241:\274,\220}\252\325\316@6\225U\317\'\333"
+"_V}\235L}\347\274\352\261$tP\365~\42{U\27v\'\364\211\352`\42\17\253\272"
+"\'\241\17T\357&r\237\252G\22zGu$\271\234\332\346UO&\241\27T\277\24\222"
+"\253vR\365z\22zT\325\375qSo\223\246\212\263\361\360\367\253\332\25\317"
+"\324H\42\13\371\376}\252v\'\364\232j%\351\237I\325\201D\356P\365xBO\251"
+"\376X\365;\262\364\327C\6\360r&\241\275\0\217\b\350\3465\0\17\23\272\370"
+";\77N\350^\200\361Oq\352S\22\272\13\340YB\333\232\1\236\'t;\0/\22\332\5"
+"P\231I\350\26\200W$t\3\300hD;\0\336\374=\272\370N\253\332\236\244\266\0"
+"\324\246\22\272\26`\252\226\320V\2002\t]\r\360!\242\205\234\26\1\246s\372"
+"1\242\315\0\237#JN\33r\332\364\207\5\230\323\271\234\316\346\224:\255\323"
+":\255\323:\375O\351O3@\6\333\325}\354\0\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0%\0\0\0p\b\0\0\0\0\274\266\346\233\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\0OIDATx\332\355\3151\r\203\0\0D\321GC\352\241"
+"{\35\260\42\1q\230\301S\25\60W\1\r\t\244\323\377\363\313\35\377n\200u\306"
+"\3629V#\274\'<\177l=N=\246R\251T*\225J\245R\251T\352\272\32`~a\333U\335"
+"\334\27\271]\5\32/\202;\254\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0*\0\0\0p\b\0\0\0\0M\275\275\26\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\353IDATx\332\355\326\277K\324q\34\307\361g\352i\321eD\212\375"
+"\262!J\20:\304\242\20\32\372\1\rq\20D\320PAAQ\320l\324\320\36\375\1\365"
+"\27\64\24QS\320\322\42Q\201\213\221Q8d\251$\5v\204\32z\346\371lhh*_AA\303"
+"}\247\33\36\274\356u\357\317\217\373\302\377\360\334\251T*\225-\313\251"
+"&\200\342:\240a9\332\220\177w\235\326i\235\326i\235\326\351\277\246\177"
+"\360\277\265\346o\27X\0h\211\350\34@1/\220\321Y\200\326\210\316\0\254\315"
+"S\333\363\324\266\210N\1tD\364cN\247\0:\243%\333\254Z\215\326\270qAucR"
+"\240\366\1`[\264\260\343\0;\42:\n\320\25\321\221<u\4`g4\255n\325\305U\t"
+"m\232S\335\233\24X|\5P\212N\301\13\200=\21\35\2\350\213~W\257\352b1\332"
+"\5\63\252\207\222\2\265A\200\203\321\341\36\08\20\225\335\247Z]\235\320"
+"\302\264j9)\360m\0\240\34\658\257:\26\321MK\252\245\344z\233\34\48\26\305"
+"^V\35\216h\347\222jwr\277N<\58\31\305^P\35\213.\216\326Y\325\303\277\336"
+"R\77\77V\267\367\2\215\17\222\330>\325\352\206\250\355s\325k\21=\241:Y"
+"\210\316\370;\325\263\371\274\336D\363j\36W=\36\305^T\35\216b\233^\253"
+"\236\211b\217\252\276o\211\354c\325\253\21\355\232W\277n\375\375\36\370"
+"\361|.\354\207B\347\275$\266\345e>\260\236\252\372\251-\262WT\357Gt\305"
+"#\325K\221]\77\252\316\357\212l\351\213:\321\36\331rU}\322\34\331S5\365"
+"v\366nw\256\246\336\312^\1O/\25072{dZ\275\236\331\322[\365fc6\337\207\352"
+"\335\225\331\272\365\317\353\263\216\254D\317\220\216\355\6\340;\371f\360"
+"\233\334\246Z\332\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0+\0\0\0p\b\0\0\0\0\242\177\326(\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\1\355IDATx\332\355\326\277K\325Q\34\306\361\267W\314~\231\375\220$(#\32"
+"\252\245\264\245\233KD%E\320\17\210\nkl\250\306\\\372\17\332\334\32\\\234"
+"\202j\t\313%\210p\211\6\21\nZJ\2232rP\262\262\364\336D\271\357\206r\315"
+"\347n\r\367;\277xx\276\347|\316\341\300\377\3625\366\335mI\355\326\1\277"
+"\365\254Ju\367\254\243])\3365\254\367[\323\316\375:\323\235F\367T\364\341"
+"\306\20_^\320\17\207B|\252\244\277\256\205\370\330\274\332[\310\360\311"
+"\5\365A\270\324\347\227\324\301\20\337P}\22\342^\325{u\221\255\177\252"
+"z\'\13n\36W\275\232\341\203eu\276\243\212\377{\327\24\331\272A\325\376"
+",\270uZ\365l8F\252S\2333<\240\332\227\331\266y\265\322\231\341\333\252"
+"#\331\3665\216\253^\311\202/\251~\\\235-\362\210\352\315,\370\264\352\247"
+"p:\207U\257g\366\242\352Xv\372\ncU\354\364-\325\241\314n)\251\225=\313"
+"\7\346\237\266\274o\77\324\225\237E\301]\252S\331\262\25&U\317$\35pG\21"
+"\360Q\24\\T\235[\227\r\305\244\352\205\77\205V\260>\68\27^\234\2523\365"
+"\221]SR=\232t\240<\4p\42\262<\78\236\25nW]\332\224m\335\314\362`\256\334"
+"\241\362\22\2403\262\274\0(f\205\217\250\226\33\42\273~I\265#\3520\367"
+"\26\240=\262\274\252\302\276\68\220\3317\0{\263\205\330\256j\370\260\370"
+"\256z8\352\300{\200\335\231\35\5h\313\3548\300\316\314NT\221;\1\260-\263"
+"\237\1\302w^\263\352b\370\274*\251\266d\27\3744@Sf\277Ta\277\2l\310\354"
+"l\25\271\77\0\n\231-\3\64d\366\'\300\332\314.Fw\365\337\275\250\302R\263"
+"5[\2635[\2635\33\177\277\1\232\333\3\272Qca\16\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0p\b\0\0\0\0\242\177\326(\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\0NIDATx\332\355\3271\21\300 \24\4\321\205"
+"A\b2\350h\20A\217\30dD\4\6c\341\247\240\310\314n\375\212k\17\356\224Bj"
+".`\227\220\255\3x\362\207\rZ\255V\253\325j\265Z\255V\253\325j\357\331\330"
+"\367o\358\230\375\270\27\277\366\4,\373\356p(\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0+\0\0\0p\b\0\0\0\0\242\177\326(\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\1\315IDATx\332\355\326\301k\317q\34\307\361"
+"\347\317\326\257a\277i\230\254&\243QZ\\\310\317\16\223\2038\311\201\35"
+"D\271\22\7\27\'\227\2358\370\13\224\34\335]\204v \304A\322j\326\304\320"
+"\3242\365c~\326\266_~{\372\17\364\372\36\224\325\357{~\364\356\365\351"
+"\373\371\274>\37X-\337\225Z\255V;\335\36\331\216n\240\274\246\300\364\226"
+"m\331\226m\331\226m\331\377\337\226\n\330\256\177\224\241\3`)\263\353\1"
+"\2263\333Ytm\13\231\335\b\3603\263\233\212\332zD\333U\315\336%\275\0\265"
+"Fd\373\0\346\310\355lf\373\13\330\235\0\2372\273\253\200\35\0\230\316v"
+"YS\265\77\262\7U\177\225\242\f{\1&\215\354 \300\333l\377\356\7\30\217\342"
+"\266\325U\217DvP\265Y\2112T\1\336\325#{\30\340Ev6\207\1\236Dq\373T\335"
+"\21\331\363\252\237\263~8\6\360(+\274o\252#\221\255\25266D\31N\2<\233\217"
+"\346N\252^\216\350\36\325fo\324\223g\0\236\317F\227\312\7\325\213Q\204"
+"!\325\305\356\310\336V\275\33\321J]\365hd/\250N\224\242\225M\250^\212\306"
+"\36W\375\336\31\331\7\252\327\363\276\251o\216\354}\325\233\21=\244:\277"
+"%\262OU\257E\364\224\352\227u\t];\255z.\32{Cu,\242\373\32\352\322\356\204"
+"\226_\253^\315\23<nK\350\360o\365\307\366\204\366\314\250+\'\242\42\177"
+"\250:\32\205\35U\275\27\335\222gW\324\227\321\17\253.\250o\242\243;0\247"
+"\216\367D->\243\276\212\350\326)u\254\222\320mS\352\255r\364\376\370\250"
+"\313\331\21\37\372\252\357\17DtdQ\357t\375\5\374\1\3\224\366\301\26\233"
+"@\f\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0%\0\0\0p\b\0"
+"\0\0\0\274\266\346\233\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0^IDATx\332"
+"\355\327\241\r\200@\20\5\321\201l\202\246-\312\300`)\204\246H\20\30\n8"
+"K\7t\200DqAp\247f\364K\366\333\205\3325\343\222\7\303\16D\327\347U\0\264"
+"\237.\376\251\2\200m~\5\351Q\327Qo\227J\245R\251T*\225J\245R\25\377\207"
+"\326\t81+\321\r\35\60\b\265\205\251j\371\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0%\0\0\0p\b\0\0\0\0\274\266\346\233\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\0KIDATx\332\355\327\261\21\0\20\20D\321e\264"
+"\240\22\255(D\250@u\210\305*\320\1\67\314\210\376\217\337\334\306\'\375"
+"\316\345*\251\225\275\n1I\32\207[\336\264\210B\241P(\24\n\205B\241P\250"
+"w\25f7\374iDw-\274\261\6\250\\\2770\77\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0%\0\0\0p\b\0\0\0\0\274\266\346\233\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\0\\IDATx\332\355\316\261\r@P\30E\341\23\221h4"
+"\26\60\204\221tL`$1\211a\344\217\r\230\300{\242@qN\375%\367\302\353\365"
+"\21\21s\6\225U\3\324\31U\334\32T\251T*\225J\245R\251T\252\177\250\22\200"
+"n\271\4\343\6\60\34\351\332\217\336\257S\32\354\230=\356\4\374\245)o\362"
+"\42\337S\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0%\0\0\0"
+"p\b\0\0\0\0\274\266\346\233\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0]ID"
+"ATx\332\355\316\261\r\2000\fD\321\13\212\350IE\205\304N\354\300N\314\301"
+"\\\254pih1\b\20\64\377\267~\262-}]\222\246%&E\312R\333\235\356j.]|S%\251"
+"\214G\303~\335I\330`\333\376\345{\24\n\205B\241P(\24\n\205\272\257r4\334"
+"f\21=\251\2\16\221\tB\204\260\247\372\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0%\0\0\0p\b\0\0\0\0\274\266\346\233\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\0HIDATx\332\355\315\301\t\300 \24\4\321I\260\b"
+"O\251\42\245[\217\225\b\233\16\214 x\232\271\356\343\1778\3355\33k\3x\177"
+"N<I\22\340^\372\250R\251T*\225J\245R\251T\252}Uf\343\350\230\355\364\1"
+"\17\340\b\257\252\t\254\234\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0%\0\0\0p\b\0\0\0\0\274\266\346\233\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\0UIDATx\332c`\2407`\304\')s\211\201\201\201A\210\201\201"
+"\5\237*&A\30\203(\33GU\215\252\32U5\252jT\325\250\252QU\243\252FU\215\252"
+"\32U5\252jp\250ba`\210\n\300%\311\205\244J7tp\272~\307\7\206Q0\nh\3\0\330"
+"Z\4\265\336,Xi\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"/\0\0\0p\b\0\0\0\0\253\224vR\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\17"
+"IDATx\332\355\327\277+\304q\34\307\361\347\t\271\374\32\224,2\220\235\21"
+"\223\262\220n\344RF\377\1\377\207\211\222\321f\262*\322Y\374\t\246KY\334"
+"\25r\26uwO\203M\337\272\367\215\364~M\237>\237G\357\336\237O\357\345\3"
+"\1770\203K\7\'\367\353\77\313\236x\261\262\2612\n\224#\225\207\367\37T"
+"\375\270\330\33\357\255K\325\272\252\265\335P\361\371;UoWc\267\334i\251"
+"6\252\301G9\352\252\336\314\4\371\241\252gCA\276\335U=.\5\371tS\3652\312"
+"9W}\232\214\362\305\216\352vx`NUka>\362\256Z\t\373-\325\227\302Q\34(\332"
+"\334\4\270j\207\375\32\300u\270\235r[u6\354\227U\33\305gE\375,\0<\306\375"
+"\34@=\356g\0\236\343~\n\240\31\367\23\0\257q_\6h\305\375\30\300W\334\3"
+"\360\331\247\357\364\351I\237>}\372\364\351\323\247O\237>\375\177\363E"
+"\237\320\326\33\320&\223\311\374\3127G\tlB\234$\'s\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0/\0\0\0p\b\0\0\0\0\253\224vR\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\1\302IDATx\332\355\3261HUQ\34\307\361\337"
+"{\251$R\244\203<\tj\2610q\26\65\21mkh\210\206\206\240\305\300rk\221(\20"
+"\27q\21\4\'\'\7\303=rh\bC(\241\241\240 \220\206B$]\36/\35\362\331\345\361"
+"\356\267\341\365\24\341\351\375\335A\79\377\355\336\3739\347\376\317\271"
+"\347\236\377\221N625\356\315tIz\372\315\356\343=@\177\355g\331\224\371"
+"\4\37|\360g\313gS\372\13)}]J\337\42I\273)}\321\366\271zI\332\266\3755I"
+"*\345m\337)I\33\330\276O\222\326\354\371\311\fI\322g\373\213\367\2\60h"
+"\373y\200B\275\313\257F\0sv\367\257\1\3127\\\376\4\200\227.\277\35\1\374"
+"\316\231\374~\4\20\337\365\364\371\351\30\200g^\345\276\363\35\0\246\34"
+"}i\344KE\227\307\22\355\305\301\27\313\245\212f\375V\222\316\255\263\37"
+"\371\347\215\211\275_\251\342x\365QS\242\256\376\333\305\2257\257~\245"
+"\330\177\312\177\n;\336\254\357\347\263\273h-\342\313\321\301x\277\336"
+"\313$7\250\353x0\273Vm\361\241\323\313\252}|\363\177V\17\315\265\3260\232"
+"\257L\353\230\273\230[\227*\257\30\266\17\213\23\61@\324m\377\215\217c"
+"\200\37G\177\347s\207/\77\305C\222\232\263\313vJ\357\0\366\332\354\214"
+":J\0\223~E[\0\330\360\353`\77\0=\366~\273\272%I\3\266\347\255$\365\372"
+"\365\356\243$]\367\7|\23 \362}\16\200\26\277A\4\320\356\327\337\202$5\372"
+"~[\222\232|\377\367\230CD-_\f\347\275\340\203\17\376\24|\255mi\353gu\323"
+"\n\21\342l\307\77\270=\364|\21V\231-\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0/\0\0\0p\b\0\0\0\0\253\224vR\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\1\22IDATx\332\355\324!K\203Q\24\306\361G\31\303\201\33\23"
+"\234ea\2103\271\242\b\32\r&\r\246\201I\3430\32\215~\0\223\337B\314j\262"
+"M\304d\265\2102dC\361EP\301\301^\376~\201\r\236\267\r=\'\336\373{8\367"
+"r.W\32\377\272H\222$Y\37\276\227\33\262V\234\31\261!i2c\357\360\341\303"
+"\207\17\37>|\370\360\341\303\377A_\360}*Iy\337\177IR\321\367\237\222T\312"
+"\350g}\337\223\2449\337w%\251\346\373\'I\252\3733\231\7\350\347m\77\361"
+"\1\260j\237\207;I\332\360\337\303\265$m\371\27h\0\f\252~\340\36\340\330"
+"\367-\200\367\262\355\13/\0\247~\203}\200t\323\37\301%\300\253\77\344\312"
+"3\300c\315\16,\366\0\272kv\240\376\0\360sh\377\b\345s\0\332\313v\213f\7"
+" =[q\3\323Go\0\334\36T\314\304\324\336U\37`p\323p\233\224vN\332\337\260"
+"\235\345\33\314-\355.(*\352\277\327/\357\177p\20+\341ie\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0/\0\0\0p\b\0\0\0\0\253\224vR\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0YIDATx\332\355\330\261\r\2000\f\5"
+"\321\3\245L\311\16\264\2212\1\2730\26\273\260\2\2030D\26\370\r\35\240\273"
+"\322z\262\\\33\336\325\24fG\3\366+\372\22fk\7j\336\77\77\274G\257\327\353"
+"\365z\275^\257\327\353\365z\275\376\353>\375[\266\58o\314\376\336\0M\237"
+"\5#\'\362:\312\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"/\0\0\0p\b\0\0\0\0\253\224vR\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\24"
+"IDATx\332\355\327\77J\3a\34\204\341\211\6E\b\201\b\42!\205E@\24\265K#\36"
+"! \26\236!\215\245\215E\232\344\6\202`)\236@\4/`c-\13\376A\360\2\1Y\314"
+"*\213a\345\265\260\13\211\214\235\310o\312\335g\370\346c\253\225\376Vf"
+"\245\313\375\265\312\353\273_I\0\36Ow\347M\337\352\'\0\244\'\253\356\21"
+"[\307C\200\342\274\3566j\275\f ;(\271\215\306\5\0W\213\366\305;9\300]\303"
+".l\17\0\236\226\354\302\306\0\340\272l\27vF\0]\377\343\35\1\344+\266/\'"
+"\0g\376\1m\200\217e\333\227\356\1\16\247\275\236\31\177\360\275e\317\37"
+"\324\4(j~\341\31\240\355\356\221n$\251\345\373[I\332\364\375\203$5\375"
+"\375\353\0/\276\257\2\60\347\27r\200\272\275_\251$U}\77\224\244\5\337\217"
+"$\251\342\373\267\37\3566\311\177\376\322+|\370\360\341\303\207\17\37>"
+"|\370\360\377\322O\372U\317RI\205\42\221\310X\276\0\3121z\336\316xm\310"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0/\0\0\0p\b\0\0"
+"\0\0\253\224vR\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\266IDATx\332\355"
+"\326;H\\A\30\206\341O\211\27\26/\33T\224E\304\210\20\42A\2\332\30S\244"
+"1\225E*\233T\26\66\211\4,b\232\224!\242\215V\202X\7\355\24Mc!\26V\21B@"
+"\f\26\201E,\226\b^\360\272{\f\362\246\330\230\13\254\356\267\205\215\314"
+"\337\315\234\347\77s93sF\272\331(\312Q7\376P\322\320\206\375\216U\200\'"
+"\271\237\25\27\330\237\340\203\17>x\225\370\376B\222b\276\77\221\244\n"
+"\337g$\351\256\357\367%\251\336\367\77$\251\331\367II\272\357\317q\27\300"
+"\351\35\333\227\247\1\36\373\363\263&I\317\375\16\275\6H\225\332\276>\3"
+"\360\322o`\n`\257\301\366\215\307\0+~\217\206\0\230\265\347\264h\21\200"
+"O\225nB\365:\0\337\332\355!$\1\310\274w\233H|\6\200\203\3216/\241l\344"
+"<\233\301\346D\337=\'\343\301\314\5\227q\364\316\311h\376\260}\2310i\316"
+"l\367\330\372\77>\357\371\303\356a\304\337b\236/X\375\242\277\363\277\212"
+"k}|\370U\325\237B:o\317\7\366\177\17\365d\341\355\323\232|\274j.\213\177"
+"\316\367\226;{\346k\226\177l-d\275\245z\314c{\t\200/\ts\261\275\1`-n\362"
+"\2463\200\357u\356\342\237\6\210\36\271\2746\2\30\265w\373 \300q\334\366"
+"\313\0\3236/M\3<\263}\7@\24\263\317\3476I\3328\263}\213$m\372\377\243\204"
+"$m\371\276F\222v|\37\223\244]\337WJ\322Q\201\367\215L\201>\n\367\267\340"
+"\203\17\376f}\256\373F*y\365y\25\42\304m\212_\222\314\344d\377\247\77\30"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0/\0\0\0p\b\0\0"
+"\0\0\253\224vR\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\13IDATx\332\355"
+"\324\77K\302Q\24\306\361\2074!D\350\17\r-NNFS\21\16M5\366\2\354%\204\320"
+"\340(M-\16\326\332\326\344\346\33\260\255\275\325!\332\f\207\240\240\37"
+"\2016\225\277\257o\340\27<\202\203\310y\306{\77\234{\316\345r\245\345O"
+"\77I\222\244\226\275\227\317X+m\375\263!im\316\263\303\207\17\37>|\370"
+"\360\341\303\207\17\277Z~cN_\220\244\251\357K\2224Y\214\317H.\5\330\261"
+"\375\36\300\257\77oY\222\336}_\221\2447\337\357K\322\253\357\217$i`\217"
+"\273>\68\264\375\31\300W\316\356\247.I\217S\267\374\346\30\340\334n\347"
+"\6`\230wy\371\7\340\322~;O\0/v\371\16\300_\315\345m\0\232\246.<\0\3201"
+"y\345\31 \2756\213\267&\0\37\336\315\27\33#\200\264\273\353\374)\'\367"
+"\337\0i\377\330\251}\367\t\300\350\266\352u>\200a\357\352\300~1\27\247"
+"\333\212D\42Ff\21$s\3462tjb\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0U\0\0\0x\b\0\0\0\0\246\254\341n\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\6\313IDATx\332\355\231_l\24\327\25\306\277\335\365\332^\33\f"
+"\304\20\223\30H\210M\354\0\t\241\264Q\33HC M\232FP\245\210\222\22\205("
+"TJ\324TMJD\37**\242FD(\225\21/\255($\2E(/\25\250\262*\20\265\252(\242\240"
+"(u\322\bY\16\42\256\345l]k\251\345\30\327\330\353\305\343\337\334>\314"
+"\316zgvf\275\340\207>t\317\313\314\334=\347\233s\3579s\376\255T\2462\225"
+"\251Le*\323\377;EJ\340\211.X\270\264\251\241Jfl\240\347\337\203i3\373\267"
+"F\357\371I\7.\31\200\321c[\352#\263\332\310\212\266\fyd\334\233\344\217"
+"\347\337*f|k\77^2y\367gWFn\341\\+\266\377n\236{\377\321\7\377\350\31\236"
+"\264c\211\305\255-[\226\271\253\237\354\376\374&\2178\362P_V\247\17\236"
+"[\22\363\374R\265j\237\273\207S\3657\5Z\373\236#\326\373\302\274\240\315"
+"D\227\267\245\1\30\333\25-\35t\355\0\0\235\353c\241,5/\17\3pfn\251\273"
+"\177\331\2Hn.\256G\315\276\f\300@KI\240\261#\0\326\201\252\319\227\234"
+"\7\310<^\2h\305i\200\201\265%)\360Z\6`\307\314\214\355\0\347K=\255\257"
+"\217\0l\237\351L\337\38QQ\262a\33\222\0\233\2123\355\3\370m)\356\342\272"
+"\334\274^\200\246b\254\233\0\336\315\362\257^Z\20431\360~\302\271\253K"
+"\1Cs\302Y\3533\3009G\323\350ktU\206\263\36\206T\253s\2730\rt\204\356/z"
+"\1H:P\361c\300[\241\240\315\31 \235\365\2515\0\273\302Xw\2V\243\3z\6 s"
+"o\230\247|\b@\346\7\316\343\317\200LHL\230;\232{\245\343_\320\35r\6\333"
+"\262\341%\275\331\331\344E\340Tp\370k3p1*I\221Cn\24=\20\310Y7\354\376>"
+"\352|\257\r\31\340\376 \326\333-\203\345\4\317\255\271\330\234Y\31\304"
+"zb:x\'\35\343\377\2\270\20d\260\303\306p\3041\352\350\264T\320\31\334\227"
+"\237\37\336\217HR\325P\260\262s\323\230\364BI\212\\\310\227:Xh\252nO\332"
+"\331(I\332\5\264\27\236\354n\203yW\222\364\230G\310Z\345\347|\321\233\314"
+"\222qI\252\32\6\26\25\370j\2671,\227\244X\217W\252/\356\373TG|9\3629I\322"
+"\257\200W\375\250\313\200\256\210$=\342\23\3427\1\361\'\237\6\343\222\264"
+"\30\270\354\267\327\253`\34_\355\361K\341\211\366\r\5\77\363\270$E.\1w"
+"\370\42`\'\260\320}\247\227:\274n\320<\352g\350t\f\3\354\364%U\313\325"
+"\177\217_\246\335\277\255\372\2\330y\222\264\48\343\345|\08,I\221\244O"
+"\242\2470\202\267\370Q\237\221\244x\312=b)\253\310\232\250tF\222\352\226"
+"x\21\354\'\246\nP\257\274\341[\330*IV\227T\357\315L\'\r4J\322Z\237\32\'"
+"s\2567\377\216Z\327\313\253\306\274L#\21Iz\35X\347\321\265\331\226=,I\17"
+"\372\324\330\237\275~\353\323\253\377J\375>[\t\3368\344\263J\215$]\222"
+"\264\314\363\21\366A\177\205$\275\355\325\42\225}\353\216\f\200\351\315"
+"\356p\271oGwIR+\260/_\327\212\372\250\256\42Ik\274Z\374\325\226$-x\307"
+"1\303\335\207\235\345\201\t_\20\221\244!I\255\371\250\261\204\255\353F"
+"\222|\21\375\317\316\345\273\265\331\347\37:7\223_\311\266m\313\272111"
+"\376\237k\203\203\tI\312Hj\310\226*\316G\20\225&\235\347\33\266\2464uC"
+"\366\244=\225\261\373\262\247\232;\301\5\343\222\244G\r0e\333\266\261\215"
+"m4%IH\252\314G\315YM\33\242\16\247\214\214\244l\331;\224S\336r._\206%\324"
+"\374\213\221m;\370\343\327\307\'2\223\26\330\2661\306\255\245\317\271R"
+"W\277*\322\230\310\335p\26\325\236\210\252\266H\235\377\311\337\2637\77"
+"\237\ng\252\2244\234\217:uM\272\275H\35d\77\3667I\232z\343T\221r\3466I"
+"=\371\347\312\340\235j\214\23.1\266a\323\366E\237\277\363e\261r\352NI]"
+"\236\225\77\272\201p\26\264\33X\3571\332_$\335;K\324\247%\365zP\77\225"
+"\364\350\354@c\17J\343\327\274)\16\350\234Uw\252z\340|\304\243\353\365"
+"/\244\373\347\314\n\365aI\247}\315\342\333\306\230\'B\375\273\311\365\272"
+"\312\355\367\2051u\0~\323\254\6:\302\4\66\63\360\326\246\25\367\254|\366"
+"d\206\317B:\273\2724\244\342\376\6;\25^\202\306z\363{\356g\202\231\236"
+"\7\332\nV\177\2151\277\f\26x\322\323\311\17U\7\2769\31\330s,\306\230\221"
+"D`_\327\347\235\17\274\31\304\364\b\360Y\3417\37i\307\260\'H`\207o\352"
+"`\5\34T\364\n\360d\200p\13\206\261\272\200\275\215\372g\31\247\13\35{\13"
+"\320\27\324\373E\332\r\34/\\\177\266pBR\340]\211a\340\351@\243,\265\200"
+"o\370W\253\7\nQ;\375\7x\24B]\356\0\60T\23\20\211\n\2469Oyy\276\35\270\1"
+"\267$I\2g\275zT\217\5\241\246<\303\203\372\261\202*\327_\303\261\337\263"
+"\364J\360\344\351\247\371\231\3452\320S\244;\335\13\360|\336\302\234\301"
+"`\324\364\202iw>\7d\226\27\233\337\265\3l\233^x=dJ6\2721\7z\n\340\373E"
+"\303Ye7\300\213\271\347\207\272\255\0\324\2217s\25\245\323\360\356\237"
+"!J\316\351\78\2303Y\244);\272\232F\275\370\275\351H0\377\22\300\221\31"
+"\343\375\334~\200\17\363>\262h\343\266C=\303\26\220N\266\357\371Zm\36\363"
+"\272\21\200\243%$\221\332.\200\221\315^\326h\274:Q\31\363\256U\36t:\350"
+"\2222S\374\17N\227\3210\303\340g}\22\300\372Q\211\351.\372\212\5\220n+"
+"2\\\214\254>\17@\377\252\3223[\313e\307+\217\257\b.\223\252\276\363\261"
+"c\277\23\65\67\65\321\335\233\265\374\225\275M\276d\24I|\363Xv\352\320"
+"\267\376f\223\375\242\343\256\247\216\374i\357\206\346\371\325\361xeb\321"
+"\352\247\16}\344\256\17\275Ty\13C\355\306\243cE&\320\3/%n\261p\250{\341"
+"r0j\372\354\303\361\331L\341\33v^\30\361\242Z\251\343\33g\252rJ8\356\370"
+"m\255\315\17\254\273\253V\366\265/>\356\351\376\347\250]\376\363\246Le"
+"*S\231\312T\2462\375\217\350\2775&\30&\16\17@\273\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0 \0\0\0p\b\0\0\0\0Z\237-\337\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\1\66IDATx\332\355\326\301JBQ\24\205\341"
+"}\323\34\6\315{\205\42\42n\22bb\210DD$\22\42\21\202\204=@\17\25\4\26aQ"
+"\202\211\210HH\204Qa\204EP\217Q\253A\323\356\371\7rgwM\367\346\233l\316"
+"a\231E\211\22B\274Y\3478Qyj:\3063G\237\222R\301\13\276$\251\345 \32\222"
+"\2444\21m$2Dt\220\310\22\321E\42GD\17\211<\21}$6\211\30xDl\21q\207\304"
+"6\21\367H\354\20\61D\242H\304\303\24\21\273D<\42Q\42\342\31\2112\21\243"
+"\30\21{D\274\304\211\330\'\342\25\211\n\21c$\252D\274M\23q@\304{\202\210"
+"\32\21\37\16\342B\222thf\377_\336\23333\263\257@\240\0/\331\33\302_\360"
+"\7\334\32\0\33\0\364\t\310\3\320\13\35\310\1\320% \13@\207\200\f\0m\2\322"
+"\0\334L\n\264\bH\1\320$`\25\200+\2\222\0\\\22\2602)\340\3\320\0\340g\31"
+"\200s\2\226\08#`\21\200z\350\300B\340\302\272$\351\304\321o\326\256\245"
+"\357ygg\365O\217\251\365\306\242\342\357\316/XT\351\'Nkb\f\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0]\0\0\0p\b\0\0\0\0Y(#\367\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\361IDATx\332\355\230\77H\224q\30"
+"\307\277\347\245\305\tf\210\7\35\321dKPd5\270$G\247\2026\331`A\340\340"
+"\22\66H N\201\203\203:\231!\330\42\322$\202.\'\307\301!(\242\303\215B$"
+"\t\225\205\202\207\213\6\376\205\303\257\303#\344]-q\357\267\245\3473\275"
+"\357\363\302\207\37\17\277\337\363\374\236\27p\34\307q\34\307q\34\307q"
+"\34\347\337\20I\336\25\332\247\270\377\\&\357%\311\221K\32y[\236$\363\r"
+"\22\371\235=\222\344\33\211\274\366\7I2\25\222l\227,I\362\3335\205<\234"
+"$I\36\77P\310C\357I\222\354\222$}\310\344\243\22y\217\311\223a\205\274"
+"\363\224$\231\215\4\222\344\242\367\366\31[\363\227\237\245yW^\3@\321Q"
+"o\235>OH]\211\253\316\1\0\312\nb\211\331\212@\323\\`o\234\213@f\177\224"
+"\16X~1\357\215\351J\0\300\370\344\205\357W\313\376Rx\331V\270]\24N\34\330"
+"F\37S\224\256\'\207&\177\247\220w\234\230|D!\177\2317\371\260\342\370\367"
+"\233\233\375\2w\371\204\271\363\257\24+\177j\205\213\13\222\262\210g\307"
+"\246\237\273\42\321\307wM\237\211H\364\367\266M\77\257\321\337\372n\372"
+"\305J\211\376\346\272\351\227\253$\372\353k\246\317V\7x\275\370\365\30"
+"]\274\r\0X\315\4\340\375\374\2418\22\375\304\300H\375\326=v\22\353\1g\273"
+"\2409\344\232\276\n\355\330j\336Ru>\0\330hY\252\5\0,\225\230\244\217\177"
+"\16\77\264\271`\363\206f\246yl]jUS\23\360\302\372\324LH\243\357\266-\333"
+"\'\232&\207\255U\3055\366\363\321&\27\23M\3616\226-Wh\364\261M\222\344"
+"[Q\352\353\355\336\327 \322w\234\222G\235\262\337\20\203\334\270\257\373"
+"\203\22\36\250\201\3438\216\3438\377\13g-7W\266h\214Q\376\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0b\0\0\0p\b\0\0\0\0\300\320\372"
+"B\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\370IDATx\332\355\230KH\325A\24"
+"\306G.\371\314\314\2442\271\244;#\222\36.\242PI\23\301\214n \344\242Z\204"
+"\24\24d\5I\232\5\225\330\42\210\350\201\4\321\42zY;\251\2646\221=\260\250"
+"H\\\224\225\30be\357n\224\322\325\233\277\26\63=\274zu\306;\313\371v\236"
+"\371<\337\314\177\316\314\371\346\n\341\340\340\340\340\340\340\340\340"
+"\340\340\340\340\340\340\34001,\274<\325\200\275\354\242\307Xa\372+^\314"
+"\323f\357\30\344\260\251\302\244\233\300\3672=r\302\5\200\365\206\22\365"
+"\0t\307i\221K\1\350_l\244\260\5\200\300RM\372)\0z\275\6\n%A\0*t\3711\17"
+"\1hO\322V\310\362\3\320\240\77\247\364\317\0\\\323-+o\17\0\317\22M\326"
+"=\4@\275\36;\251\35\0\377\34\243\335\333\7\0\273u\270\361-\0\4K\314J0\352"
+"\234\324\330<>\325\323(\251\333MOR\364=95\337\270\2239\203\311G\35v\37"
+"\274\224\225^\20\2322\344\357\243\252P\333~M@c\266\20B\210\37\205\17\306"
+"b\325b\1_\346\217\241\260\7+\37007\254B%\226\320\233\31Fa\'\326\360&s\324"
+"\355\256<$\204\20\202\232\316H:\331\206b!\204\20\275\5\35#\307j\244~pc"
+"d\3152\246Y\346y7\262\237\325)\205u\2216\344\330\3532\323\307E!\307\343"
+"\270\214\17\254\211\274\351\307\252u\370s\207\265\321\3632\32(\265a,b\256"
+"\310l\375+\377\305\22o\310\330\317\325v\314Kt\203\3147X\376\'\222\366X"
+"\235\312\2[\6\311sLf\34\332\257*\366\244*\346*{&,\356\251\372\362\3122"
+"xN(\315\255\266\24\222\345\305\316\327\374\277\241j\331\26\331eGaF\233"
+"L\367:\353\277`\271\264\34\354\265\2410K}\245\347\351\303\335V@\206\17"
+"D\256\220\326!S=\231\31\62P\334\'\7jm)\264&\217\30Z\2564\352\42SHU\nw\246"
+"\214r\323\3465%\b!\204h\350\216D\302\'\275\321\355\25}\243\215\346\365"
+"Y\353\27-\taf\220oK\343\356\344\260\253,\nXQx0\226}\366\rZPh\2376\246\217"
+"Z{VF.}3\337\351\354l!\204\20\2359\357u\36/\\5\177\35\252\'CO\306\270\314"
+"\332\t:N\365d\360gi\77\3630\274v\343\37\1\320\247\365vS\336| \327HB\266"
+"\346\340*\315\t\335\7\340m\252\201\3026\355\327\205\262\330]\0\334\322"
+"\337\362%\362@\35\61.\216\203\272\374\224n\0\32M\312\260(\b0\344\323cG"
+"5\311#\27o\264{\25\3225\352\375S\231\264\374^\3032\77\rt-\320\\EU\20\2"
+"9\306v\253\225\346\24mv\341\'6\231\3378\336\32\223\315\313\250v\277\340"
+"9888888\350\3427\6\2079\347\353s&\307\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0,\0\0\0p\b\0\0\0\0@\243\315Q\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1VIDATx\332c`\30\5\243`\24\214\202Q0\nF\1*\340\340\303"
+"*\314\210. \355o\247\257\304\306\360\377\361\225\203\233n\3407\322y\307"
+"\337\377\bp\330\23\217R\345\355\377\321\300n%\\j\243>\377\307\0\37\203"
+"\261\253\255\373\367\37\13\370\233\205Mm\305\177\354\340_4\246\332\200"
+"\1778\24\377\377i\206\256V\342\335\177\234\340\16\7T\21\63\224\236a\206"
+";\220\204~\37D\341k\374\375\217\7\274\27\200\250b\202P\371L\370\242J \36"
+"\231\307\372\356\77^p\32Y\261\r~\265\377\377\211 9\303\212@*d\264FR\254"
+"I(\315j )\26\'\244X\nI1/!\305\334H\212\277\23R\374\13I\361\7B\212\77\42"
+")\276CH\361]$\305\347\t)\276\210\304\26\373\213\77R>0#\231\374\3520~\203"
+"7\375E\346\305\3407\331\1E+\313}|jO\240Y\24\212/\31\331\242;k\3n\305\323"
+"0\363\316m\\j\317sb\372X\3459v\265\267D\261\205\217\312\35\254\346J\340"
+"\310jk1\3756\207\13g\340\7\334@U{\316\21_T1\5o\376\1S\371e\205\33\241\302"
+"\234\201\323BK\236\237\341\355\303\313\247\177\217V\201\243`\24\214\202"
+"Q0\n\6\5\0\0\t\265\34bM\330S\335\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0H\0\0\0p\b\0\0\0\0\230\257i[\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\5IDATx\332\355\327\355KSa\30\307\3619MM\315t>\264\315"
+"HK\214D\t\305\20\24%\42\60\22\4\211D\20\4#\2A\20\303\304\377@DD%DD4\221"
+"\220(\225\20\251U\210\370\264\34\245fhn\316H|J\t\243D\267\250m\336\275"
+"\270\256\341\224^\330\371\315w\367\367\315y\200\363\341p\335\234\3039*"
+"\225L&\223\311d\262\343\313\27\5\264.\247Wn$\306j\324x\303\321/\ba\216"
+"\303\35\235E\b!\276\246\302\3631\13!\204\20&\37\31493O\216Y\2139\321\237"
+"\310\261\3500\'j\216\34\253\36tf\311Y<\13:\37\311\371\f:\2213\344|9\207"
+"9\21\37\310Y\212\305\34\31549\313\3471\'|\212\234\225\13\230\23\66I\316"
+"j<\346\234~O\316Z\2\350\274#g\375\42\350\230\310\331\270\4:o\311\331L\4"
+"\35#9\337\2220\'\324\355$c\316\251qv.cN\310\309[)\230\23<J\316w\360\r\35"
+"\64B\316\2174\320\31&\347\347\25\320\31b\'\35t\6\331\311\0\2357\344lgb"
+"\316\311\327\344\354daN\340+rv\2631\'\300@\216\355*\346\370\277d\347\32"
+"\350\274`\347:\350\f\220c\317\1\235~r~\335\0\235\347\344\374\276\t:}\354"
+"\344b\316\211^v\3620\307\257\207\235|\360\3\374\31;\267@\347)9\216\333"
+"\336q\234\5\240\363\204\235B\320\351f\247\bt\36\263S\f:]\354\224\200N\'"
+"9\256;\230\243~D\316\336]\314\361\351`\347\36\350\264\263S\n:m\354\224"
+"\201N+;\345\240\323B\216\250\0\235fv\356\203\316Cv\36\200N\23;\325\n\257"
+"w\3574\362`\f\r\377)\354\232\16\34\66\b\245M\360\23A\233z\345\3vzBu\225"
+"\312\207\273\355\1\325V\1\253\344\330\207j\252\221\345\266\37Z\265\243"
+"\374\211\250\377u\366\217M%\223\311d2\31\326_-&\371`\272|q\271\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217"
+"\253\36\351\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2,IDATx\332c`\30\5\243"
+"`\24\214\202Q@\0\60\342\225\345\320\225\227\221`\346c\370\370\341\321\255"
+"\313\337I2\230\305\241\367\302\357\377\b\360\373X\231\f\321\232\305k\237"
+"\374\307\0\277\26J\21\245\231\247\356\363\177\254\340c0\21~\267Y\254\0"
+"e\375\277t\341\316\247\37\334\222VVP\205\377\323g\23\262\273\372\17\324"
+"\256Ge\2220\261\2\270\7L\361kf\235\7\13\253zN\204h8\334\375G\360\352f["
+"\7U\366\316\1I\224\353>\302\377:\370\322\301\22\250\242\17F\310\3029H\301"
+"\227\213G{1T\315\77_\24\341]H\332{q\3536\374\tU3\13U\374.\222\366>\334"
+"N\77\5U\362Y\30U\342*\222\366\2\234\332Cp\3310\35\241\373\237\26N\355g"
+"`j\320\225(}\201k_\203\333\3470%\2271\244\\\336A\245\216\361\343\324\336"
+"\6\323\336\203)\'\325{\357\377\377\77\247\262Xq\207\373\5\230v\177\254"
+"\322\234\202\314\370\22\234\300_\230v\5rJ\36\'\230\356/DkaBb\303\203\373"
+"\21Y\332\225`\214\307di\227\2031>\220\245]\b\306xO\226vA\30\3437Y\332\341"
+"\205\313\27\312\264\223P\31\220X)\t\n\nr\34A\326n\37\205\21t\36B\30\345"
+"\'\17\23\77\27/\37\277\0\3\3\303#yd\231\314\377$\202\2078\374N\6\240P;"
+"\13\303\223=\360\272\211\3\312xp\7]\231\240:\17A\243\36\302|\327\216)\307"
+"^C\221\337\177\266\34\247\314\357\247(\323\376\235\6!\77\252}T\373\250"
+"\366Q\355\243\332G\265\217j\'\276Y\210\325LVl\255Gd\225\274\360n\5\326"
+"\276\6\2062T`\6o\275\234\307\322\253g\273\1\2276\303\242\231/\3561\242"
+"\345\267\311\34\315\375\314V{\21\262\217c\371\220G\17\332\205\4\204\344"
+"\225P{I\237o<\373\370c\331A\6\6\206@\17N~i5T\27\377\275\373\340\375\307"
+"\247Mh\r2t\220\311\300\300\300\320\216K\366\322\200\307\373(\30\5\243`"
+"\24\214\202Q\200\7\0\0Y\35\3xp\252\t\203\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0>\0\0\0x\b\0\0\0\0\217\253\36\351\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\1\342IDATx\332c`\30\5\243`\24\214\202Q@\0\60"
+"\342\221\343\323P\221\224\340\343gb\340\344@\26>Y\203`\263\340\320\312"
+"\356\346k\247\206\335\354\237\f\204\264\213\27%\13\223\355!\266\252\317"
+"\377\361\200-\370m\327Xn\0e\335=r\371\355w\31\33\37\26\22\354\366\207Z"
+"\375o\271%T\304\374\17N\3331@\326_\210\242G6p!\236oDk\317\204\2529-\212"
+"\20k\371O\254vo\250;o \351\26\371J\254v\231\267\20\25\77\215\220\4\323"
+"\360\204<\23\212\366IB\20z\3629$Am<~E\321n\35\b\241\277w#\213\376\'V{)"
+"\224\336\365\22Y\3646\221\332%}\240\214\303(J\326}\'N{\0\63\224q\31E\311"
+"\363\374\377Diw\2071\356\242\252\231\355u\370\327\377\353O\t%\327W\260"
+"\250\341\300&\273\205@\304I\302\222\312\327\37Dg\20$\355\2520\306\7\6r"
+"\264\313c+N\210\327\16O\346_\311\322.DF\301\204\244\235\2332\355\354\224"
+"ig\30r\332Y\30\354\243\240Lx\331(=\23.\375\264\211\220\1\231\370\252\204"
+"K\304\247\371\1\361\373\223=\260\312I\6\312\370r\2.}\237x\223\246a\361"
+"0\303\240\366\373\250\366Q\355\243\332G\265\217j\37\325>\252}pk\347\204"
+"1\230\261\252d\305`\240j\347\2051\4\260j\347\307`\240\16\67<\2045^\376"
+"*`\221\26\374\4\223\376$\210\245\205e\277\37\321\30\274\25\212\3368gs;"
+"\207\220>\347\305\2164r\22\350\301\311/\255\201\252\341\367\335\7\37>1"
+"04=e`h\27\342\346\227UG\355\\\375\272\371\350\343\27\206t\6\6\6\6\206v"
+"\334mR]\6\6\206\2078e\7<\336G\301(\30\5\243`\24\214\2<\0\0\365\361{\251"
+"f\271\20\26\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0"
+"\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\36"
+"IDATx\332\355\3011\1\0\0\0\302\240\365Om\n\77\240\0\0\0\0\0\0\0\276\6\34"
+"\230\0\1\223\36r\357\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1>IDATx\332c`\30\5\243`\24\214\202Q0\nF\301`\3\314xe-\244\236\222"
+"k\360\204\377\377\377\377o&O\357\222\377\377\377\377\377\377\277\237\34"
+"\275\6\377\241@\22\247\22&\234290F\32\31\66\337\203\331\274\217\f\315\277"
+"a\232o\222\341l\270\f#\31\232\277`0H\320\374\16\203A\202\346\2670\306\33"
+"\62\64\277\3010\205\3566\17\234\263\337\322\333\331\324\261\231\42\77\177"
+"&#Wq\302r\25n%\270\263\f\303\177\nr\25\21\200\306\232\177Q\242\371\rY\232"
+"\277Q\242\371\r\2414B\204f\362l~K\5g\17\65\77\17\270\315\344i~\205B\221"
+"\b\4\t\225\5\370\n\3hi\300H^\256\272\302\300\300\300\260\225\314\274\36"
+"\362\377\377\377\377V\344\226\24\205\217n\'\214\266sG\301\20\5\370\262"
+"$\203\270\332\377\353o\3113\267\2R\30\24\222\243\367\42\254Yq\222t\275"
+"\233\377\303\301ZR\365\252\374G\2\n$\26C\2189DhV\300\311!B\363\3\234\34"
+"j\371\231\230\320^Cz\\]\200\351=AN*)\203\350\315\'3m\13\251\376\277\371"
+"q4\377\217\202Q0\nF\1\225\1\0i%\310\f\377\250!\3\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\1#IDATx\332\355\225;n\302`\20\204\'@*"
+"\n*N\200[nA\203\304)(\341P\234\3\211\206\42\265\37QRD\224\34\0$D\205\264"
+")\20f\235\375w\261\24\322D\363\25\366\356\314\216dy\375\0\b!\204\20\362"
+"\257x1\3128\33\364p9\356\336\3\305a!5\313\253\262\274+\2138;\25\305\f\0"
+"fZ\231\206\341\265\36\335\0\300F+\3530|\320\243\'\08i\345\320\234\3564"
+"\333\236n\272\365\341\306k\30\336\233f\357\332&\374\251\233\217\372\320"
+"P\334pi\232\322\265M\270\212\303Ux\267G\372\336f\0\220ie\24\77\236b<\361"
+"\247;\277y1~\206\317\246<\'\315d87e\2364\223\341\302\224E\322L\206KS\226"
+"\356\232M\2702e\325v\315@\377\276\324\276\247\370\237!1\226\270\303O\335"
+"3\276Z\24n\270hQ\374M8oQ\270\fo{\31\372\212\377\307\20\343\2107kW\365\326"
+"8\245\25\227\311\365\32\'\221\342\263\22\21Y\305\212\317|\273\235\77R\b"
+"!\204\20B\b!\204<\201o \17\372\275\f\210\276\210\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\2\342IDATx\332\355\230\317KTQ\24\307\77"
+"V\376\b\24\251tF\323\242\37\376\240\2421\42\264\310\254\240vA\375\1-l\321"
+"\316\320U\224\270\210\bZ\30-\302\77 \bZ\264\251\b\372\1.\372\261k\223d"
+"\31\230\245$\3258\201\371c4\254\301\323\342\276\321;x\237\357\274YD\213"
+"wv\337\231\363y\367\276s\316=\367\360 \262\310\42\213,\262\310\42s\333"
+"Z\277\77\16\237\333\374nI\324\237o|\23\342\241gE\344VV\354\27\221\373!"
+"\340\5\21\221JO\274\22\219\262\322i\215\233m)\2h\365T+\300I5|\b\200\230"
+"\21\373\0\330\242\206\33\1\310\30Q\7\200\250a\263\314\244\21\265\0L\251"
+"\341j\0~\330bB\rW\331\376F$\377\rl~\236\311\17vl\303\1\27\270\375\305\376"
+"S\374<\335+\227\351j\330\r\307\3554\207\205\253\3742\33\32\336\0\300\317"
+"\374`\363\16\337\325\260)\310T@\2464\260oi\373\300\333\0H\33\261\35\200"
+"i5|\300\316v3\0\245\332\6\226\20\21\21ya*\313\210q%\333\2244\376r\t\250"
+"~\356\211\233A\265}\364\324\356\212\362:\253\227O\226\26-\213\211\324\334"
+"\344\320\243\227>K>\23\205=u\263=\242\262ng\264\353t!ip\302Ot\260\217["
+"G&x\323\231\16\337N\262\263>\276\365D[V}x\234n:\223\25\251\273\37\323\13"
+"S#\237\2\366\325\356-r\31\240\331\23w\264\25f\212\304k$\367\f\\\250\255"
+"\355!\0\274\33\371-\0c\177\264\260X\24\213\0\f\252\333\320F\0\306\35B\1"
+"\347\34\377\234\306\240\200M\327\2327b\207\335\30\202\341B\373\21\34\4"
+"\240R\233\251+&9\267\18m\304\210\16\215_\317V\342\215\32\312.d\305\303"
+"\304\252Ty\357hPa\217\366\226\273\331\372y\315a\376\325\340\fX\327z\315"
+"K\225t9\341b]H\334n\315\272&\324\342~\346\336\7\301\350\3521/\335\323\275"
+"\3243:\23\211\316\245\336r\265I5.\34\367\334c\0\273<qL[a\263\42\42\322"
+"g\304\200\210\210\f\250\'\3s\217\367c\235\305~5\\\2\300\260\235\232a5\34"
+"\263\347\210M\0|U\303\305\366\4\23\363\35*|\306\77\21\221\354l\376[DDj"
+"\234\216\5\272\331\2610\243\334\266\353\200d\264\357l\332\317l~\263gN\357"
+"\\\27\22\316\31\377L\260\347B\302\251\240\331Q\261\355\370ji\326\255\234"
+"\f\271r\236p|e\300\364p\205\35##\276\251aSa_\260\346\32515<m_\310\346\252"
+"|\257\206_\3|\366\304 \300bJ}\42\333DD\332=Q+\42\322\23\342{\301\305\364"
+"\302\265\345\271*\231\351\213>\352D\26Yd\377\251\375\5\303\205)tg\35j\257"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\275IDATx\332"
+"\355\230Mh\23A\30\206\277\326\242\202\255\177QhM\375/\36D\224H\244RA#V"
+"T\250\324\203Z<xh\213\244\202\36\212\42\264\250\7\253x\261\36D%\202\305"
+"c\350A\241R\211\361\247\210-\202\20[\333jI\325\36,=\32\5#\376\201}=\314"
+"f\263\233\314\314\356L@D\367\275$\273\357<\354d\367\373\336\231\r\221\'"
+"O\236<y\362\364\337\252\376\200>\333\7\214\26i\262\307\0\240S\23~\t\0\337"
+"$\3d\263\202\323\210b\261\265\234}\324i\315\272\13\0\200!\35\366,\f\365"
+"\316UEO\376@V\17v)\220\3057\220\253K\233|\253B\333\\\260\307!\322\364n"
+"\'\366>\304\372\345\300\276\205L\266__\222\313\216Ve\276}\356IL~/]\31\334"
+"Sf\261\253\343\316\17\27\350\362\233\347\26vd\257\34\221\260[\2151I\277"
+"\375|$\3\337\222\300\357\331\220\236<\243\305\200\257\211\331j6b\220c]"
+"`\326)1\34e#\346\361\274q\0\300fI\23\2\0nr=\77\0\274!\'x\3\337\f$0\260"
+"Z\314.e\260\373\36\260\36\314Ql=\33\234.(\247\331\264\267\353\301,\1\372"
+"\335\16\237a;\252\f\22\21-\233\322\312\255*\243\b\217j\315\373\261A\77"
+"\337\250\1\373\314\336Ku\254U\246\33\254\261\361\372r]\251\22\35\316\r"
+"\236\304\371-\356\351\20\'\271\336\235\251p\213_\344%\337D\203[\274e\202"
+"\203\177\332\341\26\237\335\30\313\307#\n\367\256l\337\325\244\235\356"
+"S|v\345\207\273\247\263\364\35\365\322)\77g\322a\355\315\215R\314X\265"
+"\304\230|\273\26]\311\340/zI\321\316\350\371\205\204T\275\253\255T\236"
+"&\211\210h\235\36<NDD\213\4\360\351h\263\ff\33\1\301\316\42\6\340\272\4"
+"\376\0\0h\345z5\0\200\235Bv&\273a!I\33\247\234\332\234o\336ef\233\250\304"
+"\230=\306w\237\361vKY\245\230{\210\357\276\310\324~#oi\377(\257\316\204"
+"\331wO\326\bJS|\77\237Z\42c\244i\226e\21\3524\317_\21\275&t\37\264W\362"
+"\300\253\251t\321\202\25\1\313.\243w\257\350Q\234\200\223\242\342\2\362"
+";\261\255\222\3659M!\42\212\17\372\370\353S\177\315Ci\333\4\217\324\22"
+"\21\255\277\235\177\325\270\302\232\33\36\261\222C\252\231\3513/\37[\254"
+"\221:\367\30;\254\25Y\1\6\357/$\360*\n\201K\376\374[\254\342\306\365\337"
+"\200\277\26\2\77\42\42Jj\316\252\26\0\232u\177S\333O\355\277I\234j\310"
+"\223\'O\177\231~\3\370&\22\2d@}\250\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3\5IDATx\332\355\227[H\24a\30\206\77\265\332\3220\26"
+"\263\325 [\2\241\222\222\214\316\27\26h\7:(\n\21i\205\21Vn\27I\42E\27\35"
+"\300\240\13c\211\202\2\t\f\251 0$II$\322\314\n\254h#\3022\225\350\240\27"
+"\346\t\265B\337.\376\231\235\231\177gw\276\351*b\336\253\371\336\371\236"
+"\3774\377i\210\349r\344\310\221#G\377\275\342\217\326\365\216\217\4\256"
+"o\265\217\256hAP\25\66\331\33\60(\313\6:\255\13\222\216\363\341~\204\310"
+"\307e[a\242u<\326\247\244\77\337ND\336\n%\32\344\301J\366~5~l\243\333G"
+"D\356.\315i\3\0\374\344\300\357\0\0\327t\216K\24\227\316n\265Ko]\1\0\234"
+"\265fS\1\0\1\203\227\1\0h\nCDk\217\13\211\210\250\335\360\372%\21\21-\262"
+"\206E{GL\222fZ\303\77\210\210(\305\360z\16\21\21\rX\367\331\r\0\30\63x"
+"{\0\0\267\331\243\275^ou\0\0\16\61\340\273\0\200.\235\223+\312\233\315"
+"\200W\213\324\232\240\221&\214v\326\334~%\222\333<\42,\262\265\254\26\253"
+"\253\260\271$;\347\342\220\22\3242\327s\231\311r\36c\357$\227Cao\370\354"
+"\30c\330\20\265\321h\f.\351\321\207\331\2733cz\302\227\2269\240\257\266"
+"F\367&\326\367\32\0p!R\323\367u\252h\2756a\346\226\177T\335\341\240\31"
+"e\206\273\262\323\223\360\355M\253\232\346-*N\322\336~N\341\357\306\253"
+"\374\243\306\21<\300\4\247\347\336\222\7\377\375&\269\243\340\201LN]Mc"
+"\241\371\r29Z\271\224G6\312d\337y/\213,l\221\311\356S\363X\375<\334!\223"
+"\235\345\211\254:\213\337\312d\240l>\357\273\224\312dk\261\233;\31\316"
+"\30\311\373y\326\2106=\207\3425\367NUs\360y\301\262\344\350\376\300\'\346"
+"\245\240j\255f&_\32S\367\223\225\221\340c\0\60\354_\256\367*\365\35y\224"
+"\20\201N\334\222\31g0<\275\322\b\346\361\227\2237tK:\310\206\177\233\354"
+"\206YaF[V\223\232x\357\305Dj\276\3072_\257\35J]\'E\270\341\273\362)Xp\267"
+"H^#]n0\213\301\212;\6ru\326$\0\3404\3>\7\0h\321[{C\16\321pz\6\0\330lr~"
+"3\340q\223D\261\347\273M\357$\226w\30q\316$X\303f\212\25s\307:\361\253"
+"\334D\42\22\247X\214u\315O\305\335\300\260NDQ\223\214-4th\253\1\0\215\374"
+"\273\367M\315\330)\234\34\16\\-\315\345|\21\377\342\r\255\2620\6\n\211"
+"\2102\352\225\260\200\367aJ\264U<\21|z\370\227\277g\0\320\307\237\24\325"
+"2\373\305ecJ\2350\262\265dK\236:\r\355\335f\373\2376\256\364\311\24\200"
+"\17\376tr\344\310\221#G\377\200\376\0\316\316n\263\305\376\274Q\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\226IDATx\332\355\227"
+"MHUA\24\307\217\275>\254\205\340\42\2\77\bB\363\221\31\211X(h\237\33%\342"
+"EAA\22\21\264\b\332dd\202\13#Z\204\233\220\27\211<\210\210\254\350Cm\223"
+"`dA\301\223\202\42\262z\t=0\3#!\315\220>@O\2133\363\356\334{\337\314\235"
+";\326\252\371\257f\3169\277{\356\235\2173s\1\254\254\254\254\254\254\254"
+"\254\254\376/\345H=\333\32*W\375N\'\7R\241\237\271<\201\31\245n\234\215"
+"\205aO\243G\77\266j\263\203\350\323s]\366\231\237\305iM\266\'\13\213W\364"
+"F;\326\307[}/\346\327\357[\2\0\0o\313\365\22\377b\271\216S7\3329\216\251"
+"\23\232/\35cl\251\311\252yLl\255\321\222#\266\327\210\315%x\223\21\274"
+"\206`\275\340E\177s\227-\r\223Y2`\365Z\261\21\257\2412\n\0\20\3517\312"
+"\274eA\357=\201\210\210mf\360\236\5\245N#\42b\302\f>L\251+\214\340\265"
+"\4\217\33\2550\226\262\350\224A\342\274)^zV\204fk\235\272\365 ,\333*V\275"
+"]\341\330nw\315\24]e\361\341\241V\325&\354\364\24\334\270\343jFD\304\251"
+"\325R\366\220\257\\\257\343\256*f\350\222\261\213Y\300\317\375\271%\375"
+"\324\374\300}O\230\357\266\f\276F\376a\0\0\350\245\16\253\3309\374U\366"
+"J\330e\344\236`\335yq\262\2172\266C\226\270\215\374Q\326\335I\335A\0\0"
+"xE\2353\322\341\372\210\210\210\3672\375[\4\34\0\200\42j\366\4U\257\32"
+"\257\1\313\0\256\7\355\361R_@\23Y\2767\307\251qU\16\67R\244hz\352\236\364"
+"r\371\226\314\7\0\200\317\242s\267+\364\353\339<GE\337\25\336\42\366\332"
+"\25\353z{\266A\31\223\354\22\257\n\262\205T;\354E\215\203\246Iv3Z\251\204"
+"_\42\42\342\250\333xLu\227\22vw7Mw\243\313\77\303\33\357\264\16H\367W\337"
+"\345\231g\3\340K\24\66\42\230\32\234\1;\251\227\372S!7\34\24\27\330\375"
+":%|\204\307u\25\3\0\324%\275Ui`\203\202\276\351\304}\231\316v\5\305\315"
+"\n:\211\1J(\316\252\232\207\376\7~\273pY\270\231*\277\373\2747\3279\0\310"
+"\37\342\23V\242\36\362\212\327\42:\3126q\375\235\31\304tG^\340\231S\235"
+"Y\31\217v\230\374\32\25l,\214L\216\274\267\277\216VVVV\377@\177\0*;\365"
+"\360F\223r\366\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1"
+"\23IDATx\332c`\30\5\243`\24\214\202Q0\nF\301\260\2\214\330\2059\314\244"
+"9\231\377\377\376x\347\n\311&J\36\377\17\3\277bI\324\313\361\37\31H\342"
+"V\310\204El\31\nO\2074\233Q,\376\257B\222\3364\24\275\77I\263\3704\212"
+"\346,\322\242\352\77\61q\211#\300,Px\221\244\271z*\262\243\237\223\30\313"
+"\77\2205\333\220\246\227\rY\357\t\22-\216G\326\254@\242\346\375HzW\221"
+"\232\253\220#\212\375\27~\315\350Q\245\215\304\356\375E\242\253\333\221"
+"\\MrV~\211\320\233OrI\362\237\270\204\211\325\317A\bf0\311\256\336\bw\364"
+"C\322\313C\204\217\315H\326+\7\327{\210t\213\313\340\232\245I\327|\26\246"
+"w\t\31\205\376\177\342\243\tW\321\313\300\320\314@\201\315\304Y\214f\363"
+"\5\b\345HV\265g\363\377\377\377\377\377\13\311\2544m\217\3768\352\3100"
+"\nF\301(\30\5\243`\24\214\202Q0\nF\301(\30\5\243\200>\0\0\360W\344M\213"
+"a\33\272\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0"
+"x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\277ID"
+"ATx\332\355\230\275/CQ\30\306\17\42H\32\37\321AB\243\2110\262\242\32\61"
+"\21\61\26\203\304\77 \374\13\f\26\237\203E\42R&a`lb`\21D\254,\322DZ!\251"
+"\30\232\212\317\3455\334\247C\251\336\366y\233F\342<\313\223\364\234_\236"
+"\267\357\275\367\334s\2561VVVVVVVViU\344\77\265%\360\236bc\326E$D\262\273"
+"\42\42W\34;#\42\42B\261^\207\215f\376Z\236\37\34ql\203\t\36\25E\325`\227"
+"\30v\266\b\301+\f\273V\204\340-\206]\6\354U\4\2371\3544\340\376\237Ce\256"
+"\360g\345\2573]o\317n\260\363L\325\21T]\247h\327]\2661\267\262\'\340\253"
+"L\360%\222=\212\252_\rQ\3660<\314\4\357!\271/\353\250\313M\429\247\345"
+".\273\n\376b\bx(s\375+\f\36\204\37\63\375\272A\277\272\f\321\260\334\375"
+"\312w\321\'`\237\6n\207\3373p+\374\201\201\233\340O\f\\\17O1p5\374\303"
+"\224\372R\275}{>\n\202\223\360Z\6N\300\33\318\16of\32\342\227\334o\346"
+"\77\372T\231\30\274\223\201\217\340=\f|\b\37`\376\224\7\335N1\335V-\372"
+"f\37\336\313\300\333\360q\315\6\356\231\202\317A\3270\247\233\344\230\343"
+"\217\27\212\272o\251\272w4\233\222\16\300sTtL\263\333\16\1\16j.\365\t\5"
+"O\201n\320Doj\316\221\\\313\322\321\213\24<\251\212N8\360\2\5\7\263G\347"
+"\367\315 \36hs^\233\247\212\2250Z\372c\2771\7\42\42\327\354\213)\254\370"
+"\324a\214\177\304g\254\254\376\207\276\0\2\34E{tZ\306\244\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\244IDATx\332\355\227\275K\3A\20"
+"\305\307K#\210\261\217\20\4A\24\301JC\16M\260\260T\264\265\261\323B\301"
+"\302F\260\27-m\364/\260\360\3+\21\13\377\1\301\2441\4\264\220\210\255("
+"\366\42cq\357\212H\356#o\360\n\335\327Lrw\277\314\333\235\354\356\234\210"
+"\223\223\223\223\223\223\223S\244\252U\236\275R}\367IvAUU\307S>\355\265"
+"\177-\212\210H\215\203\233\42\42\322{\304\371\326@#\24\274\27\300\rS\352"
+"%\n\336\17\340OS\352u\n>\0M\301\36\340-\212>\267\244\36\6\274F\321O\226"
+"\t_F\3529K\265j\24|\n\272\237\201K\200w\23\236\353\351\354;\366n\324z\16"
+"}#\216\306\303\271\216W\77V\360\341\232\260\35\372V\217\260-\317\370\351"
+"\1\302\266\24\246\203\330\252\23\305\252\240X7\314\230\323\25\313\263\34"
+"MQp\23q\206\201\357\20}\6\276G\234d\340\7\304\tf.\306P\253/\6\316k\212"
+"m0\262\216i\n\375+u\376\217p\336\2\17Z\340\241\366\375\250;8\334t\33\f"
+"\34.\210:\3O!\336\32\16J\355\313z\3\254 \326\230R\315#\2361Cna\310E\303"
+"A\227p@w\266\35\2662\307\214\353\23\270.g\335V\224\20\17-\255T\301\360"
+"\337|\264\264\217\213\206\306\225\352\231\303\226y3\353f=\7v\'\363\27\24"
+"\260\333\206\2272S\342UC\3427K\342\n\303\316\6\354\5\225x\243\253\331\372"
+"\261\236_\222;\267\30]\252\276\226\351\323\336\347Q\'\247\77\243o\374:"
+"4(\235\371{D\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0"
+"\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\227"
+"IDATx\332\355\226O(DA\34\307\177\273K\210(\255\326I(v\367$q\340\200\222"
+"\223\139)\233\\(\7\34l[\224\226\223\315\301AI)%\177r\340*7\255\203R.\16"
+"8\250\265JY\255\366\260\t\'}\35f\226\3676\363\336\274u\364\373\234\346"
+";\363\373\314\353\315\374\266}D\f\3030\f\30309<\226\253m\336t\301;\237"
+"\0;\205\272\13\0\20*P~\6\2003\213\2\227\305\32\210\210\340V\27\270\355"
+"\36o\265\273\373/W\305\262\2112[\271\310\30\352\'\374\351\370\321\247L"
+"u\362\256 s\323po\315\315\332\271b\243\300;\0 9\347#\42\2420\0\0CDD\324"
+"\276)\22:\24r\249\262\253=\215!9\316\f6\17\34|\257 \246\220g\240\301\264"
+"\352\0\356\355\335[\345\351\25\37\332\271\333V\207_\275\230Q\233\217\221"
+"\22\273\313\363F\22\277\231\327S\345z\235S\21\315Wg=\16\32\257\341\315"
+"\250&\252\34\265gr\337\230v\263\316z;h\f~g\277\227V\363+\373\34\311)\263"
+"|\351\304]\227R\352U\16\346\365\335~\251L\22\255\310a\213\256\353\222B"
+"\230\210hK\214\77t\345\270\250\77\26\351A$\315\77\2551\371`\31ke\354\326"
+"\222eqg.\217\312\346\326q\273D\355\322\317\314\236\230\251\324\220G\0\0"
+"\247\246f\5\0\4\65\344\0\0\\\231\246J_\0d\264\336y\374\356i9\177n#u\321"
+"\307\337`\f\3030\f\3030\f\363\77\370\2\223\311\257\321p\24\302\214\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0"
+"\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\1IDATx\332c`\30\5"
+"\243`\24\214\202Q0\nF\301(\30\5\243\0\16\22\317\237\f$W\257\307\377\377"
+"\377\377k\223\251\371\360\377\377\377\377/ S\363\377\377\377\377\377\177"
+"\215G\1#>\315\204T0Q\22\240\243\232G5\17M\315\314\224h\26\246D\263\5\204"
+"R\'\313G\'\377\377\377\377\377\377\377\245\304\25\6l|\254P.#\263\200Q\221"
+".Tx\357\214\253\237\377\301\312\207\337\237~a1\305\376\350\177\42\301a"
+"[t\275\16\377I\0\366h\1\26GJh\304\242i\376@\212\346\217h|\211\247\304\273"
+"\372\2118\206qe\'\277\21\243\363\333\211R\302N\343o\203)\317\'\'\375\317"
+"\201\350-\'+\205\231A4\363\223\245\231\7\242y\264\256\32\325<\252y0i~@"
+"\246\346u\f\f\f\f\253\311t\225\326\377\377\377\277\341+H\360U\302\257\267"
+"1\236Hx6\332g\31\5\243`\24\214\202Q0\204\1\0t\245\370d\342\203\262\374"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\6IDATx\332\355"
+"\226\241\n\302P\24\206\257\332&\bv\5\5AA\203A\20l\232|\5\21\314F1\13>\203"
+"6\223e>\200IX\264\231L+\276\203[0\32\216E\356\356\5\207\376\327\242\360"
+"\177i\273\354\333\177\6\367\234;\245\b!\204\20B\b!\204\20B\b\371+2\257"
+"\227\333\275\262\227\223{|\tb\364\215\335H4\13\320-\211I#\375\301\354\213"
+"5\337\272\253B\301\236\25,\25H\236Y\356\25\373\344\320\222\307\230l\271"
+"7\314\355[\362\20\223\267\246\33\252/\252nan\301t\17`\360\324\224\213\240"
+"|2\334\r\332U\362\276\345R\367v\307\270F\33J\255\214\252\341\341pK\334"
+"\t\352f\23\67\202\203\307\211<\200\345@\273g|\36&\301u\330\255kw\217\7"
+"/\265\234\307e=D\326\16C_>\335\230\351\243W\251\271\313\341\363,:vq\325"
+"\321i~<i\212\210\310\310\361\320\254\355B\277\306\177\7\362#<\0$*\35\n"
+"\226;\6\63\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0oIDA"
+"Tx\332\355\322=\16@0\30\200a\2250b\3444\345R\334\202Su\350A8\200\201\204"
+"\341\263T\42\65h7\303\373,M\207\267\77\311\227$\0\0\0\0\0 \334`w\t\260"
+"\331\376\2256\213\4\233k/\236$\302\350\242\324\255e\314\17+o\337\305\334"
+"\334\372\247i\23\232\32}7\352\321\347E\246>\36,\347z0\230\0\0\0\300\357"
+"]\352\26\333cgT\265\341\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\0\225IDATx\332\355\3241\16\202@\20F\341\221\202K\320l\260\347\b\24"
+"\236\211p\f\32naOA\303=(4\236\303\346\2670Q\266Y\34\224\304\342}\335\6"
+"\36a\207,f\0\0\0\0\0\0\0\366wH\\\313O\245]\247\373\226\307\326\263$Is\355"
+"o{\275\364\336\266\323B\347k+E*W<\306\361\350\232\266>\272-\373\346;\377"
+"]|N.W\24\361\264\13\337\33\65\313\266\361\356\247}\267\255\177\32ax\246"
+"C\330t$\355\30\354v\341\267\5\0\77\366\0\331@r\360\3569\261\272\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\264IDATx\332\355\330"
+"\337G\335q\34\307\361/I\26\21\215%\23u\221d1\232\305\246\213.\272\210\322"
+"E\27]D\263\213\215.\262b\27]\264L\246\213.\242(\272\350\42\375\222\244"
+".\222$\273h\27\225\331E\27%\231I\333\305vQI\244\315xv\361\352\37\350\365"
+"\276\351\342\363\272>\17O\216\3639>\337o\226\245\245\245\245\245\245\335"
+"\357\345\334\351\323\37\336\225\354\270\245C\240\337\264K\0\77=\373\f\200"
+"+\17\177\5\340\263e\253\1\240\315\302\233\302\226},\353}\331\13\201p\276"
+"\354\210\205\307\205s-,;m\331O\302\217\2\3415\313\366\bW\6\302\273\226"
+"}%\374\302\302\27\0|\267l\263\302M\26\376\1\300\271e_*\334\21\370\23\360"
+"\216D\225l\267\205\327\3\341b\331\1\13\317\6\302y\262c\26\36\25~\208\22"
+"\363\226\375(\\\22\boX\266K\370I \374\315\262\355\302u\26>\5\340\330\262"
+"\215\n\267X\370\b\200K\313\326*\374\332\302\333\201#Q!\373\336\302\253"
+"\201\360C\331A\13O\5\3029\262\23\26\36\26.\b\34\211E\313\366\t\227\6\302"
+"\336U\261S\370\251\205\377\3\260g\3316\205\353-\374\7\200_\226mP\270\325"
+"\302\7\0\\[\266F\3417\26\376\228\22\345\262\275\26^\t\204\13e\207,<\31"
+"\b\337\36\211I\313\16\t\27\6\302\313\226\355\25.\13\204\267,\373V\270\306"
+"\302\327\0\354[\266U\341\6\13\237\0\360;\360hn>!\317\0\360\327\373e\236"
+"\5n\2\331e\340mD6\347\337\366\262\254h\365\337\356\363\364\322*--\355\316"
+"\273\1P\326\342#^\260\220\270\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2\313IDATx\332\355\230=hTA\20\307\347\236A!$$\304\213\20"
+"s\242rQ\304B\260=#6\212\202\202)\24[\2134je\21;\13\5AIa\32\21\24Q4)\24"
+"\65)D\210\205\232B\r\4\211\215\210\206xD\24\211\271\304\340\27\30\356\\"
+"\213\331M\366\355\316\354\356S\13\213\235f\337\315\177~\373\366\275\267"
+"of\336\1D\213\26-Z\264h\321\3767\313\361\322\226\322\246\326\\\345\365"
+"\323\361\314\223\356\30\26\213\366pW&t\373\224H\331t\6\374\232\260\354"
+"V \272bJ\20\66\333\22\3026U\5m\253\3\356\366\327\6u\364\341\331\373\\\241"
+"\324\266\250\324\325|\'\36U\':\256<=\312\363\322\307\236\224\2017u\347"
+"]\351<\347f\333dXo\332}^\272;\234\360\b\6\3356\375\203\350\177\356b\267"
+"\3123\330\212\24J\16\3701\206t\331J\27*c<\333\210\21eJ+\243\326\312\302"
+"\2470`\37\245\355\365\335\360/\334\25/]\365\2\3076;\'\77\353^w7\312kh\265"
+"\200\352Q\6\276\347Z\265Z\3670\243\326\204\20B\364s\360\rk\356\304:\36"
+"\342\340!\327\366Z\21337{\356\347z\362\314\233q\230\347\340\371T\230\1"
+"\343+\363\231_\32JE\22\306G\344x\343Q*\2200>\3762\17\277\5\0\200U$\214"
+"w\352#\17\243\324D\302\365\0\0\60\347\273\346z\22^\16\0\0\77x\370\273\26"
+"f\302\313\0\0\340\'\17/ha&\214\207\216\334\\\243\t}\373\363\260%%A\245"
+"\232\2511\311\337t\6I\320\202\231\305\'\216\331\274\222\346\370\205\245"
+"\220\207\353\2640\23\256biwT}-\314\204q{4:j\202\271\213\22s\367\255\344"
+"\341\274\26f\302\270\357\333y\270\335\3144\32<\r\0\0\33x\270C\13\63\341"
+"w\330\3679ZB-\314\204\337\204=\347\t\372~`j-rl\21u:\rUp\330\315\301{p\370"
+"D\253\263\330\246r\360#!\204\20\\Z\277\36R\350\6\230\315>\210\3036\232"
+"\355\364T,\246\217B\273\343^\27\274\362\267\25\223,,[\203\36J;\201\332"
+"1\276\353\25|6\243\244\364\206\272\202\303i\233=\203\303\200#\77\65\310"
+".q\235\365NH!\357\312n\27\60\306*X\337\320\177\325\223\33\311\276|Rx\236"
+"S\252K\24\325\316%\337N\325\352\37\364\245\345>\259\272\37\35\7^(\317e"
+"\177R\277\257}\320\314T\264\37#!%\341\1\375e\364$\254\240\\\242\330\376"
+"\320\2v\310f\17g\250\177}i\364b\306\362\331=\246\310\361#\177\360\361\r"
+"-\33\363071\23\377\241\210\26-Z\264\177k\277\1\276\355tH\343\344\2358\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0"
+"\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\1IDATx\332c`\30"
+"\5\243`\24\214\202Q0\nF\301\b\2l\344j\24\257\272\373\377\377\377Id\350"
+"T\357\372\374\37\2JI\324i9\367\77\2\274&E\247\327\206\377\250\200h\235"
+"\302\363\376c\0b\365\206\377\377O\266f\321\377$jfBb\333!\261\237o9OZ(\33"
+"\300,;\26\317\310\300\3000\2054\77\27\374\373\377\377\377\306\0(O\221\304"
+"\320f\20eE\342\20\324\314\210G\356\77!\25L\224\344\233Q\315\243\232G5\217"
+"j\36\325<\252yT\363\250\346Q\315d\253 \254Y\220,\315\n\20\312\204,\37\315"
+"\200\264=\367\220\24\n,,,,l\302\366\313a\r\350}\336\22\354,,,,\4|(\267"
+"\364\77\1\260L\36\247\'\177\376\'\b~+\342\b\260\4\42z\177,\21184\377$&"
+"Hp)\342\275O\330\331\17\371q\32[{\r\277\326\33\365\243=\373Q0\nF\301(\30"
+"\302\0\0\352K*\230\335d\32M\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2YIDATx\332\355\230MH\224A\30\307\327m\321l\25\5\3032\241r\21"
+"C\224P*S\303\217S\7\365\244\'\17bB\36<HtQP\372@\nJ\250 \224\16\342A/\36"
+"J\4QQ\17^<\30\42\26(\336D\320\203\261`X\202\37\231\376;\314\314\252\353"
+"<\357|x1\230\377e\227\347\77\277gfg\336}\346\341\365\371\234\234\234\234"
+"\234\234\234\316\233b(#X\226\237\221\354\333X\236\2332M\31\352\372\213"
+"\210\302\317/\31\240E\337\21\245\241TM40\6\211:\265\330*\310\265vE\315"
+"\266\202T\261j\267;\236\35}\237]\f\373\323\362s\217\2\245\323\236\3636"
+"G\246\371\30\212l\337p$x\303\213-\26\243\336\236\b\247M\363\360O/\230\217"
+"\331\315\2166\236r\347\23\315v\261\21+\22\253\206\323!\212M`\376\236\324"
+"lb\3468\5\277a~\256\334\35en\220\200\327\1\0\357\t7\221\301\255\236\333"
+"E\356\310 \0`\211p\303\0\320H\302\345\236\311\333\0\364+\17\62\221p\33"
+"\272\353\324OA\216]\321ap\301\261\210\3374\305\216\325\304\374\254\222"
+"\254f\256e\37\277\254f^\5\0\314[\261\225l\325\217\265\352v\264\366\3\247"
+"\307\353\376\346>\306\276\260Yt#[\364\266\r[B\26P\26529\333a\301^\206\242"
+"\214x(\270O\3276\225b\267\30\373\'`\301n\362E_5g\343\177s6\313\234M\332"
+"\341l\2369\233z\310\331{\346\354uqw\25\232\263\267\316\300\346\t\366\276"
+"9\373@\260w\315\331\207\260\337gq\247\332\324\351z\330\77\33\315Z]\210"
+"\\\355\260\177\236;Eo\222l\316\366\210\336\'\316\234\375\42\372E\213\377"
+"\376\24g\227,\330o\234\375j\321\367\257rv\302\234M\331\346\354\2009\233"
+"%\216\267\233\32Qp\223t\4\373\232\252\337\13\300K\5\373\212\312>\t\0\267"
+"=:O`\230b\357\0\0\336\311\254\t\1\77\361>\305\231c\221\13\342N\351\25\221"
+"\364x\34\302\27\343\77\241\270k\225\237YG\213\17\247\323VCS\77$\235A\272"
+"\356ynJ\340u]X\326\16]\324]v\205,c\213\36;(_O\331\310\201\22\235{\344^"
+"\328999\375\307\372\7\3\303\341n\337\201\0\66\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2\206IDATx\332\355\230MHTQ\24\307\217:b8"
+":\2642-\223\30MF((+L,\250\300U\22\225\305 \21T\333\b#\23[\264H\302\b\212"
+"p1\330\242\17\212\300\b\244&\334\324\246\240\42b\b\203Ac\304\222\30\354"
+"\23\27f)\232\325qq\336\2357s\347\3357\357\36[\264\270\377\315p\357\271"
+"\277w\336;\347\336s\336\33\0######\243\377MyJK\375\346\320\312\0N\'\207"
+"_\276\327\273de\317\'L\323\323}\336\321=\t\314R\2277\264)\211N\372\323"
+"\354\201\275\211*]\311\205\226N\240Z\17\335\243\355\237\362\331\203\221"
+"x\362GAY\335\216\374\324\314\300A7\307\257\205\223\371sU\366\335\234I\371"
+">\353\302\356\264\326\314\310\251\351\20t\255\32\356\242\25\275\331\226"
+"\240\5\277Q\303\7\20\21\261\305\311\24\260\350-j:\202\330_\354ljTD\334"
+"\233\6\210\346\301k\t\16\245M\345{\206\307\350g+\13\206W\0\0P\303\203\277"
+"\320\226\341\301\1\0\0\230\341\301\365\0\0\60\316\212v\21E{\35\13\356^"
+"B\236}\304\336g\301\317\t^\317a\357\21\373\230\201\226\rY\207\252D\33\r"
+"\336\20\265@*\22>\327mQWYQ\275i{j|\362\201g\207\341\317R\365<\341\375f"
+"[\344\312\333\256\361\244r\365\217e/Q\357\355\ti<\245\23\343\302!\311\365"
+"^\255\24\35y\222I\37\322\315q\250=f\323\335\214\375u\364\253\240#\234\235"
+"\35\26\364\5\326\241\32\264\3500\213\276l\321E,\272\227\340(\257e\274 "
+"\272\232\5\373\t\276\313s}i)\255\256\230\340\6N\321\207\331$\0\0\64\263"
+"`x\4\0\0\33yp\202^Ly\360\34\235U\36\\.U\5-\230\342\374\216\227+J\3251\26"
+"\273\213\340\n\26\34GD\304\337,\266\215\34\367p\330r\353@\27:Z[c\337\242"
+"\215Jv\331/b\373\34\255k\20\21\361\331jg\266VT1\3057\215e\275U\352`<%\330"
+"\335\212.\234*\317\203\r\222i\377\2440]T=\325\355\264\346\320\337\272\\"
+"Lo\273jO\337Q\3073\232\331]\26>\304\2073[\364u\267l\34GWu\346H\34655:\271"
+"!w\235\212(\330\323\36\373\332\333,rZ\343\225\242\340pt\301&\23\347k\264"
+"\77\276W\5W\370\377~\3778\372\323\374Caddd\364o\265\bT\330\3070:j\206\226"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2MIDATx\332\355"
+"\227;hTA\24@OL\26$Y\243\330\4d\211\240\246\20VD\220\2441\1+\13#V~\223\250"
+"[\330D\224\330)\210\32\202 \26*\26\202\225\242q\375 \4\254d+\33\25Eb\341"
+"\372A\20\23\20D\bh4\353oM\256\305l\334\335\354\233\227\231\333)s\232\367"
+"\2319\357\316\316\334y\357.\4\2\201@ \20\370\257\250s\350\263\266511:\245"
+"z\374\260\210\210\310\375\245\376\352\302I)\361\326_~.\177\331R\323\270"
+" \336=\222.\237o\362\214\233\224\n\356yF\276^y\261\310/pge`y\344\27\371"
+"f\325\225x\311\207\226\1p\373\244M\216\303\214\366n\2621\'\42\42\17|\42"
+"_1\207\276\251o/-=\354rz/\0=\223\360\321[\276\1\300\303,\360\325W\3563"
+"\271\265\33\340\227\257|\25\200\363\343\0\323\236\3629s8\34\273H\2695\0"
+"\300\236\370\265\264\310Y\0\362\327PD\356\356\4`\27\232\310\267L\226\344"
+"5\362\361F\0\62(\344\344 \0\7\320\310\303\0\214]\324\310\33\266\2\260\23"
+"\215l\222\372\316c\215|0\5@/\32\371\2\0G\177j\344\313\0|:\215BN\357s\235"
+"\255\b\331$u.\247\221{\327\230w\17\32\331l\243S\23\32\371,\0\305c(\344"
+"\224yq\354@#\233\357\332\223\221\350Nu\261\362\346.\313nJ\2\320\24;\nS"
+"A\274\253m\270$\42\42\337\343\334\214X>I\24M\313\372\30\371C\351;<\324"
+"Z}\277k\264\324PXg\257{d~FZ,r\273\203,\277\333\242g{\306ee\353\7\242\345"
+"\247nE]\325\243\312\2473\33\35\344\376\367\226\206\2367\363\375\344\27"
+"\35\361\351\332PM\242\251\255\2770\353nW\324\275-\326\342\323\205\254\221"
+"}\13W\3033\0^\351\344\317\0|\321\311\323DW&Nr\375\334\224\360\221\227\0"
+"\320\254\223\315V\\\255Z\251\331u\356\3666\23+\313\31\266\315G\\\236\235"
+"\223\333\371vgwE\261vkt\270NX\246\241\366\336~W\371\207\343\275H\26\217"
+"\327\214\272\260\312}\306N\274\256R\307\3164\207\377\375\201@ \360\17\363"
+"\7w\204\222\357\267\2355\226\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2\37IDATx\332c`\30\5\243`\24\214\202Q0\nF\301\260\2\214\30"
+"\42\352j|,\f\377\321\4\377\377\377\365\361\316]B\206\305\375\307\3J\361"
+"\353u\376\217\27d\340\325|\34\277\346\255\250\252\231P\271\26\370\35v\7"
+"\257,~\213Os\243\252f\301e\307\327\177\250\246\376\376ps\307v\6blv\42+"
+"\332!z\23\31(\320\314J^\n\373\217#\331a\7L\224\244\355Q\315\243\232\t\2"
+"\254Y\322e\17\204\326P\26\347\372\363\366\336\205\277\244d\214\313&\254"
+"\352\371\7\220J\2015\316\304k\306\6r)\321\374\377\223%\5\232\377\377\257"
+"\247D\363\377\205$i~~\341\324\215\337H\3749x5o\205\253{\324f\16\23\264"
+"\\\2\27-\306\247Y\27\252\250\226\7U|6L\267\6>\335N\227\376\377\337h\217"
+"%\335@5\337!+)\252AuG\220\245\333\36\242\371-y\331`\2D\2679%5\302r\362"
+"4\267Ct\223\247Y\4\242Y\212\254\302\340\315O\6\6\6\6\6G\362J\222m\f\f\f"
+"\f\f\246\344i>\3)_\310\323|\237\201\201\201\201A\232<\315\237\30\30\30"
+"\30\30x\311\323\314LI\321+\214d\77\311\232\225\31\30\30\30\30\236\221\247"
+"\31\22I\267(I\334\361d\351\25\202hV\42Ks\25%\31\343\327\377\377\377\377"
+"\377\337O\226\336H\210\305\241\330ee\24\211)\323\261K\316\373\377\377g"
+"\26n\275K!z\373\261J\272\376\377\377\377\377\3773<8\364\226\342\2658\32"
+"*\233\204U\266\fV\33`\327,\5\253\24.\352bJ\256\200\312=\301\345\251\211"
+"\360\32\351\210-\252L2\\F\16g\220\254B\252\17g\301\33\22\346\323\20\242"
+"~x\42\243\1\265\202}\177\353\332S\24\1\374\251\332\350\r\276\272\335\237"
+"P2*\307\251\365\251<\21\251\260\7\273\336\32\42\23q\316s\f\255\355$\344"
+"\1\261\242c\b\215_\268\20\335\177\206\3M9!\326\37\257\356>\36\35d\30\5"
+"\243`\24\214\2\352\2\0a\273\314d\250:\320@\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\2\321IDATx\332\355\230OHTA\34\307\247\326`"
+"\373\343F\262J\340\237\376\210\324!\22\312@\263\202 \214\242\77J\tQ\26"
+"\13\232\221\321I\b\202.\322\2512\202\240\250\274x\250(\241L\2426!\275\325"
+"\241\240C\270\224Ba\245[\261\244\31\33mu\370v\370\275\267\373\336\276\231"
+"yo\246\16\35\346{Yf~\363\231y\357\315o\2763\263\214\31\31\31\31\31\31\31"
+"\375o\232\25\250\325\274\272\352\312\222pf\362\345\320;\305\376\233\6\220"
+"S\272]\201\\\331\207<\335\b\212V\77\203W{\3\241\241~\360t6\b{\b|\355\313"
+"\266(\20\262}\315\316\322\363\221\344\257H\345\232\n6\335}\313w\330\360"
+"\373\334P\257\217F\224\246\247\42\207\336,S\234\332\245Yt\270D5\355\42"
+"\212\323\342R\312BG\347\252\263\17,v@c\255tX\354u\r\326~\341~\235E\372"
+"\230\330\21\35\266\336\328\244\3\'\210\335\246\303\256%\366\216\226-Y\323"
+"T\240\5\23\333\255\305\306\b\3263\323\'\0\200{\354/\236\272^\213]\255\366"
+"\324\356\317\332\300\30c,\356\254Z\\\34\372:\36\250\253\373\0\200\303v"
+"\261\2667c\345\333\243=A\27\362\n*\34L\273L\363t\260\357EN4\346\361\334"
+"\306\240p\214\347\330\227el1\265\2112v\206\357\367\203\22x\25\65\211m\270"
+"+\330,\360P\fo\242\26c39\323\336\314\30ce\'\276\333\25\27\204\360v\361"
+"\226\326j\327m\25\301\273]\350x\2713\266\310\366c\21\274\323\311z\374\340"
+"\13\325w\t\340\6\7\333\353\211F\345C\327\346\3308\'\334F\241#|\270*\313"
+"\316p\343\237\0\0o\370\360\202,\\\303\215\357\247\340lYz\2=\322\364m\224"
+"\303\242\351x\n\0\270h\27\335\217\360\221~\316\213`\372\214\353\370\301"
+"\3334p\251\b\336\1\0H\361G\36\242\237I\21<A\23\316\207\7}\314\342\247\273"
+"\350\206\2553\355\34\21\\\350\356\42o\316h\350&\21\274\314\375Vy0et\207"
+"\b\246\334I\310],,\335\274O\ng\22\0pN\332u\215\b\336(K\2616\277\335(\t"
+"\0\270\302\215M\373Yh\263\370\321\332)\264E\222\bo\1\0\31o\240\310\272"
+"\242\310\262\310\262\223\27\2+@\2134\7\257Q\243\204;\317\346OX\246\356"
+"\223\301IkU\37p\324\265\330K\275\312\7.\265\33Nu\322Q\275\360\230m\332"
+"8\356\273M\3279,\370\333\207)G\351\222\302\1\64_=\201\316\27KR<\366T\320"
+"\223\316U\17\232^\257p\5\35v\263\235j\247\262hW\366f\26\337\245s\371._"
+"\276\360\367\347W\77\314\277\24FFFF\377N\177\0\b+t\23\355\213\3541\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0"
+"\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\353IDATx\332\355"
+"\2271H[A\30\307\277H\251\222\242\20\250\240I\t\326A\34\204\42\16q(\35\202"
+"\1q)TZ\250\233\355\42\b\31:\330\311M\204L\16\242\203\331,\24\24\203K!C"
+"Aq\352\322\241h&\241\5\205J%]\272TT\332\237\303\265\242r\367\336\343\273"
+"M\356\77]\270\367{\337\357\335\273\217\274\23\t\t\t\t\t\t\t\271UI]\373"
+"Ux\220n\301u%g\315\335\246\363F\357\210M\243\337\301n\222 \347v6K\242\224"
+"\257 -\227\243b\262E\32\263\302=\311\340\374\225\361\235\313Q\353\377\301"
+"\257\243\323\233+\236j\355\312\374\33\376\261\336\362\255y\246\215\16{"
+"\305\334\216\231\257[g\237\3p\340\364\35\66\360\274u\262\23\200gN\270\333"
+"\300#\366\331u`\307\275R%\3\273\246\27w\253w\335\360\n\0\373\272.0\205"
+"gT\354C\3\337\27\353&\211\311\244\331\3\77U\225\217\1\250\250\330vc\335"
+"\247\202\313\321/*:\r\0\252>/\252\240b\'|\254\267\0\250\371X\217\252\330"
+"\222\217\365\32\0\333>\326\23*v\320a\235\2501^\213\210\310\236\316\372"
+"\34\200i\25\2337\326i\225\266i\345\357\277U\225\217\0\230U\261\367\214"
+"uN\5O\3p\242[\353/\0,\370l\257\1\25\373\302\247)>\2\260\352c\375D\305\26"
+"}\254\337\3\360\301\307\372\251\212}\24e\35\327\30\257DD\344\223\316\372"
+"\4\200I\25\2333\326)\225\266)\271\257{S\207\0\274Q\261m\306:\243\202\247"
+"\0h\352\326\3723\0s>\333\253W\305\216\3\360WW\270\16\300\262\217\365\220"
+"\212}\34\327\312Q;\354\245\371o\326Y\177\3\240\230\364Dw\343\221\343\256"
+"\210\322>\26\21\321}m\212T\200\37\352S\352\322\327Z6\234\325CBBBBDD\344"
+"\2X:\303\253\300\202JV\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3\nIDATx\332\355\230OH\24a\24\300\237n\230F\320V\272X\n[D\253\4\261"
+"l)\232{\310\26\333\360\350\301\223\207\2#!:\tKX\20Q\271\225F\267:\226\b"
+"\221,\6\33FK\5\25BA\330\37+*\13L;\264\345J\262\21\355\241b\277\16\357\233"
+"uv\346{of\241C\207\357\235\326\367{\277\231\331\375\276yoF\0\35:t\350\320"
+"\241C\307\377\26e$\361DvnY\7K\37\237\335\377S\3421W\237Z\22\205\310\236"
+"YS\202\352K\nK\334\332\340\326\35\24\2128\347J\255|\'\224\361~\225\263"
+"\273I\220\261\331\351\327\366-,\177~\372r\261|\343\216m\313\211\332\5\376"
+"\304Y\34347BF*|\333\310}\347\335\204,{Q_\364U\246ez\234s#\262\350\242\25"
+"\fK\320\301\310\237\261$n\'\'\221\244iw7V\334Q\261\233\310\332I9\205\5"
+"\36%D\226\42e\342\13c\234EJ\271\r\210k\324\324\213\264\321\224*7}n\5\0"
+"\200\374\42\261\3~\3\0@\13!o\5\0\200G\324\205=\6\0\200\0!\257\305\345\242"
+"d\\&/!\343uUP\362JS\221]\306s6Pr#{a\35\374b\360\33\264\fqTM\367!%;\346"
+"\254\20B\210Wj\370Z\b!\304,\271\303z\361\340\373U\354\0\262^\372\316\310"
+"c\305v;\t\42\3113\267d\227\274m[\254`\227\4]\\7\30\221E\307\213\323\'d"
+"\372*\337\207&\215~u\264\322HU\r\30\271I\247Y\365\240p\273\347R\323_\241"
+"6\324Ye$\36\356ql\334I\252m\'\335\214\214\31\265;c\257,\267\247\210\376"
+":\356J\16\251\345\220\233\253>F}\347\1g\367\2=\350\206\235\334\221\302"
+"\343\300i\271I\233\206~\32\271+\274{Y\226=/\332\240\255S2}\211s\373d\321"
+"\21\342~\23}\264[-\310\231\322$Q5)\337\303\202N\25kCv\227r\3\310\317\263"
+"K\30 \344Q\276\1\346\204\20B\214\262\3551F\311\207\271c\373\21V8\fQ\277"
+"ro\207\1\0\340\307/R\376f*\263\3128\21\236\320+9e\235(&y=\77\347\0\276"
+"\340fP\312\330V=\264\274\302Tf\225q\250\373\231\'K\0\0\310(Y7\277\314\306"
+"\257\335\255du\b}\224[\203\274\216;2y\313\17\261W\226p3\237\23\4mF|]M\257"
+"!m\246\216=\207\374\220\212\35D6\347\370\320\333cG=\22E\350\305\230\20"
+"\304co\\\202\t\256\211\31}2]4\323\332\323F\236\355\236\301B\223\316\304"
+"\344\303~},SH\6\371\336\33\65w\371\334\374|\316\374\367^\247\256\37\246"
+"\'F\233\363\274\361\276U\253o\274\256\336\351\372Un\277\3537\321\270U\35"
+",\351\358:\2267\304\374X\264\344\227o\200\200\337\13\331O\37\364\177(t"
+"\350\320\241\343\337\306_9\314}W\207\321\f\25\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2\341IDATx\332\355\230Kh\23Q\24\206O\37\342"
+"#\22\65hD\361\331\306\7\202\24m\255\241\324\7v\341F,ZqQ#\21D-\202\342\302"
+"\327\246j\261\272\20\262\21EPD(*\212;\301\205\305j\244E\251\264J\300Z5"
+"h\2\342\243ZQ\260\246\26Z\177\27wf\232L\356cfDpq\377\325\344\374\367\313"
+"\235\231{\35697!\322\322\322\322\322\322\322\372\337T \361\252W\206&\17"
+"\177z\321\221t\375\255\365\tX\272U\356\n\335\211\\=\257p\214NI O\27\35"
+"\262\353\300Sz\222\23v\23\4\232\257~\333\253\37Z\227o;\77\320\214\212\205"
+"\326\347\351\237\25\363\372\314y\276E\315Pm\217\21\372\242\272\351\'\306"
+"\300\243\331\301\255F\360\266\234\215\32\303\326\344\206\3_Y8*\205\371"
+",Q\361 3d\354n6\344p\276\23b\316y\t\334\7\0x\307\263\3663z\202\220\235"
+"\313\6\254\347\232)\0\300Y!\334\b\0\30\346\2335\212\247f9\35\23\270i\0"
+"@\275\374]W\n\334\355\0\200NQzB^ \354va\266Y\242\310\276V\226\255|x\32"
+"\21\21\375\22\302wX\256\362\341\261DD4$\204\323DD\264\231\17\17\22\21\221"
+"_\b\7\211\210h\34\37\356S\24Tc\316\345\262\245\362)vM\3wfC\33\4\254Y\3"
+"\313\370v\34\0\320\3067Cf\215\211\363\375=\314\35\3035_\231p\212\17\27"
+"\63\367\2\317\213YU4#x\254vf/\220\367\20\1\\\305\334\376<c\33\3240u1\373"
+"\221-|\4N\340R\303\357\315.7Ew\341\b\246\23\346\210\3V\250\311\336w\304"
+"\373\356\2015\346\352\226\305\263\313\367\306G\241+l\265~KvmR\320\347R"
+"a\377i\0\200\264c%\270l\7\21\355\0\0<\223\345vY\13\'x\256\232\210\212X"
+"\363\224\327\233\215\366i35DD\324\f\0hV5\313}\231,\364\373.#z\17\0P\247"
+"> ,9\331\5\0#\217\217\205l\33z\226\247C[\320\266\314\205n\340\b\21\21\365"
+"z;.\262V\327\344\211\235\303\356z\221\'\270E}8\20j<c\317x\202o08\340\205"
+"\255d\354}O\23\377d\360\322\277\270\351V/\354!#\315\247z`#\6\333\350\201"
+"5\13\257\227\314<h\356M\277{\366\272\311\256u\277\276\3&\33u\213\372nZ"
+"\365\244\301%Zzm\264\26E\34\214\17W\5\215\253e\247\372\263\352\330*5Z;"
+"\4\0#\351\327\37s\253g\317D\7\363\276\3447\213\343\216\36r\200\207\266"
+"\317t\366\206.\345\243\335a\307\357\267\315\206^.q\263:uO-\360Ml\205\373"
+"\37\337\363B\201\202\37\357\223\31\375\327\204\226\226\226\326\77\321\37"
+"\251\4H\250\364\277\26\f\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0\360IDATx\332\355\225\241\16\202P\24\206/\6\337\200\315I\1\65"
+"\63\233\215\340\214&\37\4\n\3431(T\215\24\23\205\300\234n>\6\1\261XLf\313"
+"1\260\311\275\5<H \374_\273\203\357\356\336\237\361\37!\0\0\0\0\0\0\0\240"
+"\77\264\206g\223\315B+\316\217.\333n\237DDD\257\35\337=\320\227\230\353"
+"F$\261\347\271KRX\261\344\223*_Yi\323O\257\215\376\371\316\203\223\343"
+"\306e\13\272\232\266\316;\221+\273.\367>^\355z\3744\246I\245&\323N\277"
+"\244\260,Q\226\250-\0\6\62%\307\353\231\270]\336]\266u\362\252\fr\207\357"
+"J\223.\342\272\241\\\200!\317\265\325\352\265Yr\246\312\31\246d\213|l\\"
+"\266`\250i\33\274\23\371\262\353s\357\23\324n\300O\303L+55\273M\311\271"
+")\356\5j\13\0\0z\346\3o\327\346\'F\33\27$\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\1yIDATx\332c`\30\5\243`\24\214\202Q0\nF\301"
+"(\30\5\243`\24\214\2\352\1F\2342\346\26b\237.\354$\313\320\336\377\20\260"
+"\205\237d\255b\337\377\303\2017\251\232\377#\3#\322\364.G\321\374\216\2"
+"\213\377\377w\300\245\216\t\213X0\32\77\222\24\315\332h|\35R4\377F\343"
+"\377\42E\363Y4\376IJ\2L\235$\315\35(z\217\221\230H\256#k\346 5\211\35\205"
+"k\375(Iz\306\b\177\372\377\377\377\377\377\377\225\223\227%\31\214D>_\372"
+":Zh\215\202aV\335\bx\252\t\2600\376\375\372\344\370y\222\215\\\211\310"
+"\315\207\270I\324\273\23\271,\350!M\257\33J)\264\27\267Bl\245g\13\n\357"
+"\26%\265\ri\365\234/\212^\22-^\203\242\331\234\2W\37!M\2574\212fY|J1C;"
+"\32\245\232\177LAm\301DA{\244\203D\275\216\310\232\t\250\305pW\34\22;\207"
+"\324,\211d\333\37V\22m\346\303\323\260!\b2\20\36\276Kr1p\22\241\331\230"
+"d\315\b\275\373H\326k\202\320,NX5Z\200\305\302Y\13_\222l\363gb\323\7^/"
+"7\221\256\327\2074\213Q\375\fo\34\247\222\341jX\t\364\236\201\f\233\337"
+"Bio2,f\360\202X<\213\274zo\317\377\377\377\377o#\267\326\254<w8~\264\355"
+"0\n\6\t\0\0)\267\205\35>\217\267\210\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\213IDATx\332\355\327O(\203q\34\307\361\237%[K\311"
+"m\\,\265&\271pA\21\n\213\222\33\315A\224E\312Mi.$Y\222\223\313\226\264"
+"$kH\316\344 m\3713r\237\204\264\225\265rs\361\347\3530\217\337\367\350"
+"\363<9\371\276O\333\352\325\367y\236\355\367\333\363(%I\222$I\222$I\177"
+"\326\324Uv\307m\216N\23\21Q\322\f\35x\247Bv\2306\246\277)=\242\324uH\77"
+"\365\2036\254)\365at\206\321m\214\16~h\232\252\201h\323\255\246y\37D+\216"
+"\330\21\217cG\34a4\204\321 \243q\7D\375\214^x!\332|\247i\256\33\242\225"
+"\307ll\0;\331uF\2270:\313h\f[@C\214\236y \332r\257\351s\'D\335\t6v\f;\331"
+"(\243\213\30m`\364\300\211\331\262O\323+@\251\tmw\177kl\306\213W\375Y9"
+"\276\261\246\365\3505\30\227\244\330W\334\16\363\0\273\336\'U0_f<\nk{\214"
+"\3619\230{\316\31\37\206yWN\353\2476KW\356\24\3777\16\61\276iC\265#\316"
+"\370<<\334{\311\370\b\314}y\2553\35\312\302R\243D\265\245\337\334V1\252"
+"\235{\214/\300\303k\257\31\37\205y\357\213\326\17\3650\237d\303\203\370"
+"F\263ba\177T\252t\337\300Y3\267\217u7\5\374f\356\306\265\'CD\264a\274-"
+"\2y\253\337\225\\\225\'\7I\222$\351_\364\5\324\317\n\356\245\263\207\247"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\260IDATx\332"
+"\355\3231\16\202@\20\205\341\207\306\32\17@\211\227 \201Bk=\22\247\320"
+"\212;Pj\205\27\360\b\322\322K\2471\6\33\213\331\330\354\304\312\344\377"
+"\232%\233\274e\31f$\0\0\0\0\300/\222\317\232\256\363\345\42\211\bL\317"
+"[\177\36\203\255fril\266\236\234jI\322L\222Ty\277\2662\341\2137\34\4Z\337"
+"\255\333\260\332\371f\225FV{\274v=m\372\247S%I\363\250\377\374\372\332"
+"*;O\203u\245\315\356\274S\2655\341\2237|4Su\367\226\352a\236\13\357\233"
+"\13{Rv\30\342\223\303>\243M\1\0\0\340\366\6\363\4\215\323\230x\26\307\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0"
+"\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1sIDATx\332\355\327"
+"\273KBa\30\307q/E\227%\332\232L\3\251\335\266 \17aQ\177Dfd\267\271\311"
+"\241\264(ioO\273X\24A{K\226tAj\223\240-\324\b\213\266\232\237\26\317y\177"
+"c\277w~\276\323A\370\360\3109\276\17G\237O\3234M\3234M\323\370\6NZ\265"
+"\214-\276\22\21\221m;,\355\26mp\315\325\237\t\36O\212\327C\224\3263FK\251"
+"\223\346%\340\374\235\33y\2\276@\363\351o\243\77&h\276\2\303\357\206h\276"
+"\13\374(\310\352\2363\340\233\364\360\341*\360\24\315\247\276\214~wh\276"
+"\4\303o\3034\317\3/\372Y\335u\n<K\17\217>\2O\322<\3212\272\21\247y\32\206"
+"\337\363\277\271\35\340\7\264\356\275\4\36\243\3712\350>Z\237\33\274\352"
+"~\26\370/\3567\227\77\354\340=3\370\225\244\16<\354*\267\34Ce\270[inl\1"
+"h\236\243\33\270\224:(\232\4Z\211P4\3360\264\311\255\223\360\215\365\42"
+"\363\27\201\346\270\373\224\303\203\24\240h\312~\3719M\353\345\21\251\300"
+"\3309\212\6\17\355\27\346\26\320\2\267\252\347\201\226\7)\32{3\264>\316"
+"}\343,\214\235%\317\373\232\241\353\364\202\373u\351>\377\16\327\335\246"
+"\327!\233\327\307\13\21\221\2271\356\360xW\231\321\372\361\263\376u\320"
+"4M\3234\257\77\374\274\13\356\351\211\204\26\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2\bIDATx\332\355\226K(\205A\24\307\377W\362"
+"Jr\211\342\346\225\362\312BB\236\13\66\266b\243$VV\244\b\211\354(aca\305"
+"\26+\331\tEIR(\362HJ\204\353q\363JI\36u,\346~\367~\37f\256\31d3\377\315"
+"\327\2343\277\357\314wf\346|\7\320\322\322\322\322\322\322\322\372\177"
+"\331\270\36{vZ\\D\340\353\375\331\376\372\265\324+\355\315\253d\326r\335"
+"\267\321\246\23\372\254\261\240o\220\351S\304Q\267/4d\226\370\332\24\263"
+"\t$\324s\250(\333\373\251\246\201k\347\364\201\302\22\262\354^\323c(\77"
+"p\246\'\306ig\262\327\\8\341\261/\b\322\354\236\262\226\371\3213b\320\265"
+"\\x\210M\30\377\302U`\320\\xX\340w\270\341\32\223\315\317<\341\26\0\60"
+"\371%\354,c\317\16^\344*\42\42\252\344x\247\305\353\16\20zS\30\234\307"
+"Y\366K\'\200F\36|\300\369\334\224\225\266\24\361wr\205\210\210\6\275\6"
+"\177\253\177qQpx\257\0\0a\234e\373P8\373658\37\0p\256\4G\263r\260\245T"
+"\356F\331V\5\253\260\351\214\275Q\n\374\304\340\26\25\366\320\327\255\342"
+"+\366\301\3156\310\263\365\306m\236\223F#\227\f\326)\315\16y*\330\205,"
+"\332\343\255\274+\222h\253\251j\17\310\241~{\246\202_,\31wG9,P\351A\347"
+"\243\245\323l\374/\357J\24\216\225\3737=\243t\25\36\211\210\350M\220P\1"
+"\374\f\0\350Rkv\326\211\210(^-\362<\0\274\234\250Ev\20\21\265\2536i\25"
+"{\327\375\272U\325\262\211NX\256\303v\271q\244\362\332\16\243\214\364\311"
+"\263\246\372\345\362\227d-}\367\256\34\233am\264\313\245\356s\265uX#\5"
+"\'Z\207IR\360\261ux\364\7\337\374\27\331\6\266\177\260\317@\233\301\366"
+"*\235\355\250\354\30\233k\323\251\13\200\226\226\226\326\357\352\35\77"
+"\6\1\363\371\205\214\36\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3&IDATx\332\355\230[H\25A\30\307\377\232\225\245tSR\251\244\220,"
+"\nz\222\363P a\322\5M{\210\350B\27*\204\214\236#\260\b3\221\b\244\254\b"
+"\n%\272(d\321\205\350\202\24\205Dv\323J\42\f\272\230\324\251\207#\321M"
+"!\373\3670\273\347\354\356\231\231\335\263\342\333\376_\316\316\367\315"
+"o\347\333of\276\235=@\240@\201\2\5\n\24h\4\224\244sN\314H\352\217\370\271"
+"\353\322\346A\n]Y\225 \272\2376\35J\0\335\3008m\362\312^\246D\347\275\261"
+"\357)U\273\27\66B\205n\271\263o\315\276\177k\346\1@\316\256>\323R\355\306"
+"\266\230=7\306l%\246m\256\236]ot{`7\277\20\326\347z\330`[\234v#\364\2\35"
+"{R\364\271\27\347\230.\34W5l\2721\260\304uL\351q\f\\,qMr\215[t\270+\365"
+"}&I\356\266\331\222-\327\306\354\354\220\302\327\1\0\352\221\237\222$_"
+"\312\235\25$\311.\227\250\327\312\235+I\222a\25[\254M\350\32\222\344o\325"
+"3\227\211\305\244\200\13\1\0cU#\277!IV\311\235\363\251\237h\341\r\311\\"
+"s\16\323\23\34o\337\326n\331\324\n6O\352\315j\266W\4\5\274\204$\371\335"
+"n<\352,\'6oJ\364*\7\0\320ku\346vN\321n\340\330Te\0\0\276Y|\241\217z\326"
+"\2\247\3\0,a\347w\270\325\254\30,\346\177 \346ze^\264\225\246\216\257\324"
+"\337\246\226$y&\332n2R\3648\27\0pZ\222\260d\307\325\220\331\234\261E\374"
+"\36\f\211\34^\323\206-^\266\321[\327\211\237\32s\271\366jag\21\6\0t\355"
+"5\333\177\22\200\215%\2765\266x\23\200\27\213\334wz\234*\307\26\4\0\334"
+"\204/X\254\267O\376\340Aq\242\361\7\177\260\324\236\204\341G\0\200Y\231"
+"\332\216*\330XP\215\216}\243\202i;\324\r\276\26\325z\217=\375z8\3326\336"
+"J\265Mf%\323>\375\1\222\3449\347i\200<^\0L36\25\25\371\257\42I^\212\266"
+"\263\245G\242\315\362\260\1779f6\\*\33b\235\34\26\307\333\254\230\353F"
+"\271\4^\2508\346\222$\177\332Jy_\\\330}r8_V\325w:\341}\332\327M\252\303"
+"Zta\300\302\326\253N\372b\320ew\342o;!s\334\3501iiI\341\'\312\211\356!"
+"I6\370\373\3348B\222\214\370\203\213\304cM\366G\353\363\351\242\207$\311"
+"\177\376\340\325b\350\262\341\304\375\305s\377Q\326F\332\42\0H\357\355"
+"\362\3659h,\316\224!o\260\275\206\31o\267\216\341<5[}\301+\344\37(\300"
+"\354V\362\376L\27\372\224\271\177*\254\326\5\267I\222\27\335\306\356\216"
+"n\277\263\345S\1 \273\244\341\207a\351q\215\274\237J5\272\302)_\225\260"
+"\227=\323&G#y\236r^)c\253=OY\235\203\354\336\236\320\214\27\236xg\200\317"
+"\352\227\7\377\352\4\n\24h\304\364\37G\362\20\347r\34\2164\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\270IDATx\332\355\227MHUA\30"
+"\206\347jaf\24\32\5\211\21D\364\3\5e(a\270\t\42\b\22\213\212\260\240\42"
+"h\23\224\13\313\210JCnE\324\242EB\266\263(\204\42[\331\357\246\f\341B\264"
+"\biQP\26.\264\222\304\324\256x}Z|\327\353\371\231s\316\34Z\t\363n\356\314"
+";\363\234\357\334o~\217RVVVVVVVV\263\\\tW\255\260t~~B\354DB\251\314\350"
+"\367q\323\7\65g\360\253\305\214\275\211V\335F\360o=l\26\2737\0&\220\310"
+"\237)\366\325\5\364\31\3511\b\275\244\371\355\300\330\304\244/\362p\254"
+"\361+\273\347\246\327\307\242K\334p{\274\271#\320\304\323\250\224\351\264"
+"V\230=\13\232\245\260/\16|\r\200\7J\251a\0\336\305\201\247ry:)\241\213"
+"\314\331\255\0|u\374\373&s\370\21\0\'\34\345t\334\\K\271B*\233M\331\303"
+"\0\274\314\326\322\0t\230\302\37\0\330\231\255\235\2175\324\213\335\275"
+"\347I\365\220\31\334\2@[\256\336\3@\257\31,\177r]\256\276KB\227\230\260"
+"\225\0\374\364%\377\262\t\334\1\300Y\207\323j\2362\351Y\350pV\210U\25\315"
+"\326\1\220ry}\0<\211\206\337\3\260\337\345\35\67|\357E\332~b\36\213\202"
+"\233r+\331\251N\0>G\301\243\0Tz\334-\22zY8[\16@&`w\270\21\16\337\7\240"
+"5\350\34\63\31\344\203>\177\2674ls\273y\256Z\226Z\352\77L\344\347\\X\340"
+"\217\22 \355\335jk\206\2427\360b\242T\37\f\'#\341\241\250t\205jeP\3026"
+"\32\254\271\323A\r\355\6\221\371\217\267\206\35\16`\316L\261v:m\317\373"
+"\323S\236\331PP\272\375\202\24\33\237i\3w\3\360%\21\364b\237B\336{\256"
+"\264\255\n\276l\204\fu\3\0]!\231~\b\300\200\256i\20\200\352\20x\203\204"
+"^\35x\223\b\35d\231\341w\374\rm\0\\\17\205\33\202\2\210\277<\374~-\235"
+"j\274\276\34H\375\21\223\363\r\0\276\333d\312\350<:\42\241\213\335\356"
+"&q\17(\223\375\321{#\374!n2\2>\232\235\340{\235\333[zz\332_-/\bF\327\234"
+"\311-\217\333eb-\274\350\371\264\370uI\3V\277\362\254\256\301\306\42\245"
+"\256\364\373\227\335\13\37[\243Y\234\337\222jR\267h+\274p\227\256\327D"
+"\336\230\366Z\3425\376\352z\215\253\372\224\377\221w}\375\2524\201S\247"
+"\224R\265\235\177\234\336\324k\335\225\253\354\226;7#\217k\355\347\260"
+"\225\225\225\325l\323\77!\374\353\177\340}|\336\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2\240IDATx\332\355\227Kh\23A\30\307\377\233"
+"d%j\245>\20\37X%\n\25\237\261\250\340\245V\361\340A\241\26\244\212B\251"
+"\240x\20Dj)z\362\20/\342\3\304\203\210/\324\252(\36\212\226\226 \24\364"
+" >\261\42\264\21\64X(h}\\Dj\350\246\371<\314l\262\331\235\331\335LO\205"
+"\371\35f\206\375\366\267\331|3\363M\2h4\32\215F\243\321Lr\f{\260p\346\224"
+"\210a\0D\240b\224(\237\373\3633\340\21\233\337\220\37\177\273Z\42R\267"
+"\216\202y\271M\42\237\2460|J\272\275\b\0\214\204JOm\377\31\341\365g\24"
+"\216>\241\275\267\273PvW\336\262,\313\262\362\343.\373\265\344\255\326"
+"|\264S\263\332\25\2519\320W\264\37J\354\331<n\212\202gm\273Eb\277#\42\242"
+"\2648\270\350\33\267\335\331\346|v\264\36\206\27d\330\340\244X\36u\264"
+"\2V\260.%\226\13\216VD+\0 \272L(\7q\213u;\224d\364\0\0\66\252\311\357\1"
+"\0\213\325\3441\0\200\251&\327\2\0~\250\311M\0\200\17J\362\246i\0\200\264"
+"\217lH\345N\326\275\360\221M\231{\231\255\216\213\342\350u\42\42\352\204"
+"_\264lc8\271ADDYa\254a\204\273\255\22\371&\13\357\363\4\342G\354\375HW"
+"\234\327c\336T\335\335\337;\234#\0\60\242f\325\334\304\272\372\322-\351"
+"\303\262\214\334\16,\200\2431o\351\r\234$\233{\371\t\310IH\345`6<\220\312"
+"\24l7\377JJ\262]*@\277\307\370\203\42\261\251\323\313\3549\375G/\371\315"
+"\363\323\32w \272\276\355y)\345\347|V\230\354\345\2332\266\235\222\257"
+"\336\36\351\27\336m\333\215\322lg\245\362\243\330\0\33tI\345\177\362\\"
+"\217\257\32d\203\3632\271\3407U\374\0mSY$(\360C\262QE\306\35\66\31{\224"
+"d^\205\266\252\311\254v\316W\223\277*\357*\0\361\211\310k\35\213\241b\271"
+"\31\0\360JMfG{\267\222|\225WX\217\34\365\224\7\17;\17\2\0\276|\367\310"
+"\325\216V\314\226\'\254\77\356\re\211\210\350\255\334m\347\373y\300\33"
+"\252\347\241:\211\272\253x\346$\334\241y\35\305\42\325\261r\206\31+a\306"
+"g%\32\216\365\226\212\330\241rs\311}\n\217\253\204-\265*pO\270^9U\201\273"
+"\335\275\266s\241\327\3105\303\363\213\272z(\334\247^\250\22>\361T&\300"
+"\33z\334\276\\\377\377\325h4\232I\316\177x\216\274cj\\\374\314\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\230IDATx\332\355\227"
+"KhSA\24\206\377\326>\f&`\343\203*\276j\261U\22\r*\276@\202\210+Q\4\335"
+"\251}\341\252n\24\332\202`\255\242\13Q\20+\342Bt\341F\304\245\212\13\225"
+"*\264X\334(UAL\4+\nM\213\25\244\4j[\353\357b\356m\356k\356\275\231\nn\346"
+"\337\335\363\347\2733\2319\347\314\\@KKKKKKK\353\377\253Dn\305\222\253"
+"\26VN\375\370\372a\264\310w\306\333\337\260\240\301\313\311\360\350\241"
+"\217tj\272\3134W\304\374\320\3yz\352z\31\200\364{\262S\212F\372(\325\375"
+"\266\273$\311m\22v\37C\350\266\361\3432;{\352\242\365)\367-_\261\250\316"
+"\275!i\317q/\25\336\336\337\30\65\243\311s9\373\310\223^\354\331\302\342"
+"\314\265;5\367l\264\7{\330\364z\242n\263\272\317\27^nZ\307\275\327\362"
+"\204\37\374\331pv\312vq\277\34\3560\214M\362\364i\221\302F|\257_\362=\226"
+"\3007D\370\202o\322\307$[%\302_\2J\346!I2\353\210\236\16\374\303\0\200"
+"\24I\362\226#:I\222|\36X\255OHr\253=\226\b70P\336Kv9bWH\222\77\303t\212"
+"\332\27032L\222<\257\326\7\305\254\353\225\330\204\264X|U\n\0\330\b\0\30"
+"R\203\305|\7\324\340e\242\254\324`\261\372#j\360<\0\300\230\32\\\16\0\230"
+"P\203\347\0\0~\253\301F\246\314\6.Q\203i\231|\321\3604\0\240B\r\26\353"
+"\34S\203\305\16/V\203En\255V\203EV\247\324z\301\36\265z\26\212\n\270Fi"
+"\332y\361pDm\350\7$\311Q5\3308=7\314\246}>U\203o\n:\251\4\307\5\234)\n"
+"2+i\274~=\0,\370\3652\210\250j\332\362\311\331s*\215C\177{\0\333A2\23q"
+"F\333\r\272:\304\3324\270\342oC\320\342\342\312FY\216\272\316n\347\321"
+"Nr\276\333\332e\322m\336\350\322!\303\357\366r\233M\372]\235\207{\322t"
+"_{\277\273u\346\216\367h\255\303:\370\335\264\262\262\77u\264p\277\314"
+"u\256\231\to\276V\210\277\222\367\352\35\375\326\247\261\314\310Dd\311"
+":\353\375\371N\213_\201\367\372~!4\5\344\32019\332\23\242;_\365F\7w\207"
+"\253\2273\177\\\350\213t\370rKu\17[\310g\315E~\210\2\265\211\225U\245\371"
+"\\v`J\177\261kiii\375;\375\5T@\2668a1\25Z\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\2FIDATx\332\355\327Kh\23A\34\307\361o\332MQ"
+"\250\4E\301\7R\21\361\205\42\25zP\20\304\352\301\223\7\205\202\207^D+x"
+"\21\304\210\365\340AE\255\27O\276PD\4\243\236\4\365\340\241-\202\205\202"
+"\212\342\3+Z\241\5\241 \n\225VL\23\363\3670\233\23043\233\370\337\2232"
+"\277\303\316\222\231\317Nvwfw\26||||||||\376\361$\212;\213f75\200\b\22"
+"\376 \222\317~\377\42\265\17\261\345\205\270R\350\77\2648\322\266It\306"
+"\323\21\370\214\324\314Y\233k\0\30\253}bi\331\345\252\32\224:r\313\245"
+"\273+\232\345s\271\\.\377k\272\376\248t\343\343\260\305\340\232\312\323"
+"j;6T\322S)\207\236\31\66HVW\315\271\\\324\331\204C\77\25\21\221G\326\272"
+"\371\305q\360\241\372j\3\60\f\300G+\36k=ov\226\335\260\367|]DD\316\271"
+".\351\321\260\357\35\326\236\13e[KN\367\230\362\236\25\327\312\221>S\366"
+"h0\355\2468\254\302\3546\305)\25\316\230[\321\255\302t\231b\253\n\367\215"
+"\3\260_\2059\t\300N\35\276\24\216V\25\236\2304\217<\25\346>\0\33tx\0\200"
+"u:\374\306\314-\35\36\5`\201\16\177s<\f\352\312\21788\27\7K\34L\34\234"
+"\210\203\233\342\340\3468x.\0Y\35^R6\316\376\32\233)1\244\303\233\1x\256"
+"\303\333\1x\242\302\341\\\354U\341\203\0|\325\335\252\3\0\\S\341\3605u"
+"A\205\315\13rdD\203o\207\257y\315\360\354\350\0`*\243\300+\303\216;\25"
+"\23c\341;S\276\274c\303\215\0\270\26yk\77W\214\261\3518U\266\255\312\236"
+"W\341\316^\373\42wXDD\236\331\252\346\365\27\227\200W\354\307^\37V\267"
+"V\325\254\272[Z|>\264\333m\245\6\351\325\263\222A\20\4ArF\252e\343\276"
+"L\341\317\262\367\201\225\256\30\250g\301}\321j\227\326C\245\323\376\237"
+"O\324A{\233\35\17\375\2375\207\310\333M\355\23\216\252\324ht\257W\227G"
+"\36\371\370{;\233|}\263\253\305\177\367\372\370\370\370\374\'\371\rx5\20"
+"\200N\32\240w\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<"
+"\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"\64IDATx\332\355\227\77H[A\34\307\277\357\371\254\340\237Z\5\321\26\65"
+"\376Y\212(Q\260K\241K\227\264tPt\321(BEt\262\213 t\321A\304E\\\304A\b\26"
+"\4[\34\63%\266\305A:\b\245\212\210\242\240\202\264\24\34,*\266\6\377]\207"
+"\27\315\275\367\356\222\273\323%p\237\341\310\375\371\\\356~w\367\13\1"
+"\64\32\215F\243\321h\322\34\343\346\303\223G\17L\303\0\b\1\341\216\276"
+"\370\363\333\333\370r\205\210\22)r\271\317\210\4G\t\317\4\200\26\231\215"
+"\346\178\345\3\2510\265\272\352K2\353>vG\273\275\363\265A\317v\345\211"
+"\270\3058\241\4u\353\361\231\227k\331\313\315\235\210\17`u\26\306\3732"
+"\271\273\215\362e\374 \204\20\262\300\17U\320%\233T\337\16U2\331v\325i"
+"\371\37U29M\42_S%\223K\327\0S\346z\304\0\0\177\325d\373&\376T\223\355e"
+"\177S\2231\t\0!E\371\335g`\350;\353\312\212\20\250>:\204\270\374*+LWw9"
+"\217\205\371f\242\1\254\325\363&\366\356\331\361.\372\3\200\177\\\\v$\270"
+"\1\0\350\25\221\355\5\77\247Z\312}\0\220\'.W\6\23-\323\311\203iyC5\327"
+"\21\371\25#0skzJ\305\17q\226\227\362\304\227-\301\275\311\270\213Lde\313"
+"\223\206\0\340\360\234\300\310y(3\321\7;\266_\312n\32\232RD\233f\30634"
+"(~T\366\240\b\325\362Q6\332{te\336\231\264R\312gte\4\0F\305eG\322\337h"
+"^^\355\216\212\34\25\213pX\360\234\205(\353>\237:Q\224\37oe\243\257B\361"
+"n\217e\3\276aE\271\13\0\332\24e\3\0\236\336\367\223LS9#\365\311\233\334"
+"Z>Ur(\340\312~\0@}2\271\221\327\361\42\236t\32\222\310_\331\251\245x\360"
+"\366\7b\260&/\323\362\222U\362f\221\225\324|\237\210\24\364\253\252\332"
+"\266\324\217\352\255\244\273G\3131\311o\f9\376\260\354K\355x\3235\327\360"
+"\226\260\272\373^\377\17\326h4\2324\345\77w\357\330p\375\35]\314\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\371IDATx\332\355\227"
+"O(\5A\34\307\277\273o\237\213\77OJJ\376\304\361\305AH)\27\227\227\223r"
+"\361\367$\312\305M$\7E\312\301I\24\27J\275\b\345\242\220\239HH\\\34\364"
+"\312\237\213\244\\\360\362\357\347\360\3661\343\275\331\235Y%4\237\303"
+"\264\363\333\371\354\314\376\246\231\331\5\64\32\215F\243\321h\3768F\374"
+"\42\67\63\3054\f\200\b\344\320\376\365\356\342k\250\366\220\344\331\13"
+"rn%\251\221e{&\0\64(\276\353\20+_+\312M\\m[q\334|\266\233\333\352\f.\251"
+"I2\3563\22\347(N\351\211\375\330\335\22\341x\373\370\236\31\262\354;~\207"
+"\267\235\20\3118 \42\242\r\247T\225s\262\311\3349cJ\1\247\\\215\225\37"
+"\230R\300\275P~cJ)\314\357\254*O\362\213G\371\22\0\266<\312\343\0\60\345"
+"Q\36[\4&\227\355\212\245\372\276\215\375OW\220\225C\376U>\20\371\274\264"
+"\304\273\32\0`=\204\203\n\371\251\342\326Ew\b(\37\225\227\263\331J\17\0"
+"t\311\310\261\1W3\221\202\2\0\b\310\313E-\237\221i\347dZ\211\251\n\267"
+"\256]E\tfZ\260#O~\n\347\\\366;\211a{\\U\306\217,\311d2\251\312V\3026\4"
+"\0\267O\4#5C\345A\263\261\334n\346\307\3\365.\331f\231Ih\332*\77U\261F"
+"kL$\254\232\355\b[Y\2\200\35y\371\221\255\f\3\300\210\274\314m\372\'\r"
+"{G\355\3532S\225\214\225\225_ubh\371O\313>\325s\223\225\3p<\37\234\211"
+"\20\21\321\276\'\267\306\336t\312\324\325\234\336\217\3\2427\230\356\267"
+",\313\'i\26\316\13\16\232\343\26W\267\370Y\374]>\340&\17;|\324\337\270"
+"MU\324\241A\324\255\347\300\271\270\347N\367\214\r\236&5\357\26\252\364"
+"O\257F\243\321\374\37\336\1\206\275\303\237o\236\34e\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\263IDATx\332\355\227MhSA\20\307"
+"\247/\211\37\241JJ\255\37\r\215\255J@/F\253\7-\202\36j\4=\210\5\361 \370"
+"U\250 \301\203\37 V\n\242\320\203\1\361\340A!\212 \bR\t\224\200V\21\304"
+"\213\304\203^\202\265F\20\264\25[\254HES\223v<\354{\311\346ev\367e/^\366"
+"\177{3\373\333}\2733;\363\36\200\221\221\221\221\221\221\221\321\377W\203"
+"\304\267.\32\16\5J\77\277~\314\3259\351\201\2419\344\364\352\334*\257d"
+"l\30k5\231`\316-\35\62t\343\33\24\350\341\261\3364\42\336\26\263\367P\251"
+"C\2t3z\320K\372\264\217\336\341\237\n\37&g\3M\253[\274\305\350le\366\361"
+"\13k\313f\337\236T\365\322\24{\252\354}\272\336\355\333\231\225\303\273"
+"\35_\241\213\232z\327\274\4\16:\256\264(\20Y1\374\332\366$\305a\314\213"
+"\340\23\266\343\232$\177B\42\330\311\42i\342&\21\21\261\3506_e\354\224"
+"\42\355\21\21\61#X8\252\200\373\21\21\343t\210o(o\\\22K\375n\333\2248u"
+"\224\n3vP\13\276\304\340\200\26<\312\212\215^\35d\13\37\321b\333\30\274"
+"\270N\314\2\0\200N\366\360G\13\336\0\0\0oA\13\216\0\0@N\17fU\352\263\36"
+"\274\4\0\0\276\353\301\13\0\0\340\267\36\354\3\0\200\277z0\253\303\363"
+"z\260\246,nMK\17\236\343v\356\222\357\362\373\232^U\312ts#\36#\42\342i"
+"\202m\36\247{\335\305\312\312\277\270h\273\312S+\375\306W*\3604\227g\325"
+"\22\226\207@\31\236\0\0\200vbL\252H\263C\25\373aDD\314S\243\42\367\251"
+"-\363\327 \246\250\235\226\337\357\367/\\\271\367\271\3/\255-CM\312\310"
+">c\3\23D\r\353U\302qbax\204\210\210Y%\334L\355\257\207\31\27)\23\222<\34"
+"uo\346\307\271\214\31\217\275\212\34\266\225Y\37h\301v\303\301\375Zp\227"
+"\35\376v)\353\23\354\316\3365\256\220\301\313\4p\203\223z\235\22\270[t"
+"\256\373\34\372\274\30N\13\2032\340\320\237\266\13\330>\311\207\353\315"
+"\362\225\33\355!\334\233Fl\357\309\363u\356\312\216\34\17s\36\177\374V"
+"\251\354\32\240\77\273\23\325\337R\305\261/\77\nV\343\3625\255\236\376"
+"\247b3\352\277\204m\342\3\35T\240\303AY\42\4S\22\364n\233\362\356\234\371"
+"F\222/\16zkC\241\223O\252\301w\311\35u\375\210BG4\322\322h\315NO\344su"
+"\367n#####\221\376\1\25s@\13\235u\273Q\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\2,IDATx\332\355\227\77H[A\34\307\177IL(B5\306\352"
+"\340 \n-d)Hk5V(trs\251\340P\\,NE\334:\24\374\3\16B\21\\\205\342\242\202"
+"\255\340\322Y\227\352\324\321E\305h\6\13\255\n\306\244\325D\241\3719\334"
+"\223\367\273\373\335\357\221\20:\4\356;\274<\336\347}\356^\356^~\271\3"
+"pqqqqqqq\251\361\204\310y[\42\26\6D\274\315\237\260\373\22-\17\42\241\20"
+"\340\277\277\'7\274\225\347;H\222~CY\323\27\312\212\37L\267\3\215\f\22"
+"\270k\260iC\2360\345\25\237\2754\331\221\7\302\336\347\271\371(\277\375"
+"S\306~\231\27\276\353\215\3577\22\66g\364\374\232\215\3302\241[c:K-\235"
+"\3720\327m\231\265)\17\236\365\333\346\264~\321\303\307\3669\377\251\350"
+"S\341\225\370\241p\217\235. \42\342\37\351}\32W2\271\22&\347\352\201\216"
+"$\371\0\0\0\212\202|M\216\226(P\20\344\22\0\0\240$\227\310\221\313\25\307"
+"\3115,G\245[c\201\262\252\244\217$\271\225\225[\336s\247$\277*\243g\230"
+"\266\273\311\367\254\347:.\317\fld\n%\375\257!\332\322\77\312{\263\310"
+"\320\327\27\60\302\221\340\307.\177z*\226C\377\343%\301r\204\2220`\376"
+"\365l\321h(\232\210Xd\232w^U\357\262>\342\274\242YA\36U\370\211\200\267"
+"\21\21\361\42p\300r\207\202\274\306\6\206\313\31i\250\322\2012\262\252"
+"\256\345\252\214\337\2638a\350\n\240\223\253\223\253*C\21V\36-uS*\200q"
+"\0\0h\224\344&\206\251\254*HR\222\237\5}\267foq9,\310\227\nO\330\330\320"
+"\305\375\262v\266\3352\260C\351{<\27\67X\373\272\276\242\376\246\257^g"
+"\363\32M\277\325v\30\67\346N\0{\t\336d\364#\2413\214\342g\237\276\340\364"
+"\214\214\266e\253D.\335rJ\327\276\17\63f\323W\217\t^e=\353\333\210\311"
+"=\312\216\77\65htD\333\276\344\277\246\334V\330\305\305\305\245\26s\7\371"
+"\245\345\311\232\277\3019\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\25IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\342\200\21"
+"\215/\315\317\312\4\223bdd``\370\377\377\77\224\377\357\367\207gxLr\271"
+"\370\237\08\347\210K\257\305\177\42\200)\222\6&$v\20\61\376\f\306\241\371"
+"91\232_\340\2228L\330\325\207p\207vD\250\201(;\23\3\3\3\63\252\370\277"
+"\177\f\f\f\377~\276\276\260z\5q\221X\16\263,\201\234$0\25\2427\237\254"
+"\364c\f\321\314C\226fn\210f\22\222\'2\370OH\5\23%\31cT\363\250\346Q\315"
+"\243\232G5\217j\36\325<\252\231\366\232\231(\321,H\211f\23\b\245@\226\217"
+"\366@\32q3H\n\5\26\26\26\26v\t\357}\260\206\353r{a6\26\26\26\26\2a \277"
+"\214Ps{\211\f.\275J\277\t7\326\277\313\343\b\260D\26\302\236\342H\300\241"
+"\371\7\61A\362\23\2078\377C\302\316\276\207\273\371]\177\3\277\326k\265"
+"\243}\340Q0\nF\301(\30\302\0\0\312\3167\b\365^\260\317\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\334IDATx\332\355\227\277/\3a\34"
+"\306\237;*\25\224\212D$H\211\4S+\42\61\371\261\220HL\22V\223\32\232`\341"
+"\17`3\230\32\21\206\232HHtF\bFD\202\2010\20\13\61\20\61Hp_\303\365\332"
+"^{\357{\327\253\205|\237\241\227{\277\367\271\276\367\276\317\373\336s"
+"\0\213\305b\261X,\326\37\227\42\251\325\370=j\352BE\1@D\0i\37\317/\322"
+"\273v\35\223T\253\345b\266\215\354tV\tU\0\17\331>phP\b\77\331\17\327\243"
+"\270t`\327\355Y\240@\4\307\256\24o\241B\232\246i\232b\236\223\357\317\267"
+"\353\215\360\232\363)\2351\376p\324\215!\242:;\341\312M\355:\\\352\n.\321"
+"a\307\3664\213\262\257W\363Y\30\f3\3140\303\377\2.Z\271\214\272\276\313"
+"\16\21mJ\267\336\354}\333P\13\21\21U\347\6\33\335\356\1\0t\273{\346F\0"
+"@\203;\330\7\0(s\7\27\246\375:\236S\325\364\302\223\274\366\274\371\230"
+"\244\42\37\270\16\0\360%\201%\335\16\2\0n%\260d\300\372\0\0\247\22\330"
+"\'\206\365H\270g\t\177\353&\25\262\375\372a\313\262\270 \361=\0\334\20"
+"\21\321\243\365h\77\350\207i\1;\326\4\0\230\263\256v&\2^\277e\265\225\344"
+"\35\63\342a\304\242\26H\324\246Dp\330\240\217\2522K\3\211\312\235x.b\311"
+"0\274T\222\336^\274n\264\7$\6\\Le\351\243\21#J\367\306\223\215\303R\373"
+"\216\233\302\370\365\376\366\311{\332y\304\306\374\315\317\342`\357 g\317"
+"\13P\255\303\311\312\253\77\264b\227\235.\334\320n&\32\257\317a_\363L\236"
+"\247\310\213\t5\347o\311\332`\300\257\274\336\235\337\363\3476\213\305"
+"b\375\266~\0\0;\247\241`\n\5\344\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\3\13IDATx\332\355\227[H\24Q\30\307\377\273n\373T\331\275"
+"\210LT*\211\242LH#\324 !(\37\274FX/\321C\320\5)C\222\b\241\353CD\26\26"
+"\21\335H\315\212,$\t$\250\354\2J\205\322\r\211\315\305\244\233 T\210\246"
+"k\373\365p\316\354\2343sfwf\337\204\371\77\3149\363\375\317o\366\2349\227"
+"o\26p\345\312\225+W\256\\\271\232\340\362h\225\371\323\374^\217\7 \2\321"
+"\330\357\257\246\226I\211~/<\b\217\16~\227\215\334WdT\367z\261A\321\'\321"
+"{\261J\2602H\245l\275\301&\243\227\f\0\360\2@\211rD\305zu\263\321+\324"
+"\341\237J\370\207^\35\60zb\240]\321\353\227\202\77oX\366\36IO\332\322\32"
+"\26\315\261\340\275r\311\317\223\330\203\246^.\177\307\255\216e\2121\234"
+"\322\321}\2521\316\340\346$\225yIC_{\324\13\346\r\21\21\265\251\254|\215"
+"\275h\265\332n\23\21\321y\205\263Vc+\245\260O\250\17\13WyV\357\363J\331"
+"]K8,\\E\355\256\343\2255\35\260\204-t\222\317L(\255\37N\341\372m\254\f"
+".\36\207S\370\311:V>\3175{\336\350\2507\300\331\246\\8\205\27\214\244\361"
+"\5V\16\247pV\277\237U*\252\340\24.\326f\246\364\34\234\302\25\315\332\364"
+"6[\264\360Y\36\211\265\25\254\374\227\372\5\266a\276\251\36\24\260\362"
+"W\322\20\354\303\223\1\0\37\226\362\333LkV\1/\4\60;0\225\337\335\352\215"
+"\266\nL\221\274\225(\31\320X\314\264\233=\256\260=\373\376\255x^\35\260"
+"\t_U\236\375w\354u[}:\225\215\257\260\3[,\230\204\356\2556\336\266\4wv"
+"\245l\320\352\r\323\353b\216\271A\37hp\21\0\354\217\334o\217\t7F\332>\324"
+"\372\362T\213\344\330\206\353\365\330\t-\346\263\331\355Fio\361`g\f\370"
+"\6k\366Q\216VszWt\370:k\225\256~&y\242\302\327\210\210h\320\24\377f\265"
+"\324\304\271%\0\3003s\246\342KmIl\330\374\21\25<\306\207\25{K\216\230\307"
+"s\230\345\212\354\314\230pX\3616JYq\301Y\306\340j\371\f\0X\235\36\17\214"
+"\35\2548\35\27\334\36\0\0l\234\22\17\214=\2548\36\27\334\366\7\0\2607."
+"\30\225\322\340\315pB\264t\177\231oQ+8Q\270\232\305N\2429Y\26v/\373\304"
+"\263pg\261\355\321\245vs\370\326\313\260\240\273\230}Ha\315\255\212\234"
+"`U\351~\25\\\310\355\307\5\362\310\222\233L\211\342f\262\211\26\334\300"
+"\316H45\244H3\241\24#|V\264\317h\321\243\312$u\304\224\271%\333\307\247"
+"\352\257\362\5\215\32\3C\265\302MH\373\36L\354S\374p\237b\302[u\273Z\217"
+"\326\364\30\320\236\32eo\212\36\23\21\321pK\276\373g\330\225+W\256&\236"
+"\376\3(\207\222\30\317\7e\207\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\1TIDATx\332\355\2271K\303P\20\200\277\244\251E\4#888T\205"
+"\202\213\202N\352\322\305YD\4\27\227\256\356nBqppvP\227\272\351\354o\20"
+"W\301\315\42\nB\305A\324ART\324sHE\203yM\362:U\356[^\222\313w\357\205\273"
+"\341\2\212\242(\212\242(]\216\363s9\354\347]pp\34\20D@>\202\306[\212$\363"
+"\347\22O\260\236\350\316\210\231\252\321r\303e\251M\342\325$\371\256\215"
+"|\233x\356\23\363\261\347\214R\256\265\36\324\335\202\347\346\242\301\367"
+"\327\207\263\375\205\353\324\245+\36\267\366\273/\333T\3761\224\'\254\332"
+"fGDD\236\323\274\352\376yr\t\300\225\235\34\0\320\264\223\77\1\20;9\3*"
+"\253\254\262\312*\247\247\264[\2335\305*\42\42rjt\373\233\42\62i\271\363"
+"F/\260i)/\3,Z\312\243\332$\377Bv:\221s\221\3110\243<\0\200o\'O\1\60n\22"
+"F\332e\33j\315\236+\206\370^\30\216\31\201\373Jk\301\367\244\274=\355\347"
+"\275(=\203\345#\211\221\213\207\222\t\0\274\320\35\253{\366u\256x\35\64"
+"\311KF\255\366\373\306\277\311\364\305O\205h\256\352Ej\265\261\245\177"
+"\302\212\242(]\311\27\332\3318\255\201\253\3210\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2\306IDATx\332\355\227MH\224A\34\306\237"
+"]\367\20\304JAF\20\26]6\351 eF\244$\254FTT\30\261E\224\35\2042((\310\213"
+"\36Z#\260C\21QD\364\rQ\210\25Q\221A\tE\204d_F\322%\243\42\354\313\325L"
+"\42h#\362\3510\357\2723\373\316\373\276\263\335\244y\16;3\377\377\363\233"
+"\331\331\31ff\1+++++++\253q\256\20\0 2#\32\t\375\36yo\0L-\232\20\372\223"
+"N}\315\264w~\247\243O\353\374\311Y\235\31\'/M\7\0$)i\277\37[!;\373K\0\340"
+"\255\34\3422\37X1\262\31a\340\213bh\367f\17\250\315\24\0\324\250\35&\f"
+"\7\276(\202e\337\344\340\7/\266Ia[\306\342o\344p\245\311\300k\263\361\5"
+"r\274K\317n\220=W<{\235\251\205\373=\177\230\237r\246M\307.T\372\237\'"
+"\247\206\225T\201\6\276\2538J\0\0a\221\32U\214\255nvJ\\i*\376!\222\344"
+"\340q\247c7|B$\256\336\20e\314\r_/w\326r\273\307:\365T6x\302\255\b\77&"
+"I\246s\331F\301\254@\251\'\274\r\250\26\311\325\332\201\357\0\21O8\1\340"
+"\tI\362\225\312\256\21\310\374\261n4\360r\0q\315B\242\217$\371\24~p<\273"
+"\223:\345\2543\321\32_x1\0\254\27\351\42)\333A\222\34\202/\\)\245\317d"
+"\223\205\42R\357\17W\310\313\222M\36\225\3\1\260\223O\346\254\323>3\370"
+"\210:\364n\245\31\4O\224\347\b\214\222$/\30\302\270F\222\34\26\215Za/6"
+"\205g\13\307Ri\203<\204)\214\347$\311^\0(\27\356*sx\t\307v\334}\222\344"
+"\0\314a\347Xz\35\305Fa\336\234\17\\/<\367\16\271\216\26\38\347jI\352\341"
+"\260\307\365\320\242\264\366\352M^\260b\77\217\374`\234\225\352\315\371"
+"\302M\331j\327\307|\341T\366,iD\2760vd*/\273\363\207\373N;\225D\320\353"
+"\312\265\316\0 \336Mu\272\23<\26\b#\321\361\354X1\376\21\366~\\\304\2\346"
+"l\240\377\30.\220>MT \303\205\0\200\311\306\360$\31\26EY0\25\21\205|};"
+"\317\224\221`x\17s_\16\r\231\263\352]]q\310\207\214.:\225q\336t\246\270"
+"i@=\355~\34\324\201\253\36\251.\266W\1\325mt\251\307\315nq\273\330\213"
+"\313\232(W\272\340\27:[8\255\373\216\277\\\21\255\r\245\207\335=\336r\333"
+"j5\3\337\6\60\367\344g%\326\275U7\310\234s\203\262i\364\301\256i\366\377"
+"\260\225\225\225\3258\323_\347\2643WJ\2415\221\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2\233IDATx\332\355\227;h\24A\30\307\177{"
+"F\321\213\204\240\210\242\30A\203\225)\342\3\5\37\235\240H\300\4\r&\30"
+"<5\201D\213\210V\21\4\255\242\242X\210\205B\320&\211om\fX\234MH\21!\370"
+"\0ED1\205\222\42>\b\361\326\347\271\26\263{\267\273\263\273w3]`\376\305"
+"~\354\374\277\377\3167\377\231]\276\5\3\3\3\3\3\3\3\203\31\16K\204\345"
+"Us,\362S\343\261y\363\227\244S\226eY\340\344\355\211\351\42\321\364\326"
+"\361\360\375H\244\364\202\23\302\245\20260\3748B\333\357H\270\351R\267"
+"\202\3037$\355l\'\2\363\200\24L\4S\17\354\b\213\377L\312\305L\375\20q\301"
+"\353\320C\245\314\375\362\304\207\13d{6@\234\223\3245\275\243\237\375\31"
+"#k\3\364\346I\37\2678z\2732\36\337\22f\352|\342\341\230\315\356\16\355"
+"S\21\266O\335\30sR\4[/3/\23=\23\20d\245w\233*\209\177\326\305\244#\235"
+"\223\207F\2\216\327$\314\214<s\20\367\312y\253$\361\250\b\353[\224^NQ\366"
+"\273]\335\t\236\3052B<\b\247D\312\25uq/0&rV+\33\366\5\330S\256ga\261\r"
+"|8\13\300\232\214\252a\35\0\374\216Y\\\211\262\377\1\260[\334\364)\226"
+"-\36;\224\5\340P\235\342!\21\330+\302}\235\231\371v\32\200\332N%\303\16"
+"z\267\323Q\236\225\371bx\236\365k\254\31\262C\0\264n\320\21{\236=\320\22"
+"\333=\0,;\246a\30\340~\252+\324\r\3\334o\350m\215\262aX\254\267q\253\216"
+"\230\346\22\236%\212\377\36\7`a\217\206a\300\307\340g^\3010\240I\204;\32"
+"e\303\323A\0vn\327\21\323*\302C-1G\1H\237\3210\fx/\\Z\244nX\321\263\273"
+":e\363B\364V\3332\260TY\214\273\222\353\365\254S\27\323.\302@[\203\262"
+"a\200\333\250\345\34e\303\212\236\245K\31fE\211\337\\-u<g\371\256at\226"
+"\22W\1P\35\235\326Vba\302\214\201\30\366Yb\223\326\220\334w\256L\22\67"
+"{L\256kUE\224\372r\254x\343\253`7\235\277V\35\263,Y\274In\306\77U\206\305"
+"\373b\304}\21\377\20]\361\375ep\253~F\254\361\2274\262\305\215\241\77\230"
+"Z[\232x,\342y+l\307q\234\257sC\303U\347\307\3\322\347\'\2427\254\343\321"
+"\223\223\346/\330\300\300\300`\306\342\77kS\245\201R\244\231\374\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\327IDATx\332\355\227"
+"KHTQ\34\306\77\'\42\231\212F\6ZER02\345hE\216\215!\26\b\21E\321\213\26"
+"\32\324\302\220\300U\13q\347\252(\6\204\251\b\333\264\350AH\201D\264,\27"
+"\221\5=\26\66\2245\225 i%L&$\206T\247\305\377\334s_\347\334s\6\2026\347"
+"[~\337\3777w\316=\377\363\270\200\225\225\225\225\225\225\225\325\377W"
+"\225:Jfjk\226\314O\217\227*\375\315d\357\30\23*\27\352+@\17\274f\1\315"
+"u\33\242{g\231L\307\f\320\245\17\231B\317V\352\330=,B\373\243\331>o\355"
+"\237\361\247\317\247|t_\24;\340\326]o\343^u\307#\327=\247f\317+\36\261"
+"\354\222\b\372Ul\217S1\34\212j\36;\331q9\233s\362\223\262\264\327I7Ja\'"
+"m\213\236\207\37\262\360\26\17s\252Q\355\340\5\227\303\3216\36\35R\277"
+"\317#\274$\35J&(\310G\315$\237\215\227\241\206&\1772\272\207>PU\253\334"
+"\326\254\275:\351\243\353\311\35\322\265\3765\252\253\365\2317\311L\350"
+"\3408\325\rJ\346\370\236~\305\336\241J\257\325J\326V=\234\241\312&\217"
+"5HK\320d\237\371\311\30c\254\340q\312\2141\306.\232\300\264j\77\207\206"
+"\2343\201\263\301Ag\302oA-\317\332\212\1@\26\0\60k\6\177\3\0\64\13\270"
+"\1\0\60j\6\77\1\0\64\n8\5\0xe\6SYJ\300k\0\0\37\315\340\t\b$\6\0I\0\300"
+"W3\230\312\222\2\216\3\0\346\315`*\213\13\270\252\222\3\3243\2431\0X\0"
+"\0,7\203\351o.\b\230\246n\265\31Lee\1\177\2\0\2547\203\327\1\0\246\4\374"
+"\36n\253hEe%\1\217\1\0\266\233\301-\201\216\332T\371\302h\b\32Y\23\266"
+"\311\363\240\30\0\340;\0\240\303\4\356\f\255\300+\2141\306\26M\340\305"
+"\320\366\3117\300F=\273Yrf\250\16\365\220\356J\336-\77\tV\350\330U\374"
+"\302\3423\323d\336\320\301CT\267\301\357\216\253\216^\177wQ\325\273\200"
+"\275\213l\315n2MU\273\203\376\33\355E\13(PMI5\7\354`D\177\260\360A\305"
+"u\225G-*\266\235\311^5\327/\36\356\324\\i\245\351\26\'=%KO;i\263\374\267"
+"\273\235\374~hG\254~\340d=\252Q\235Q\335O\317\212 \342\252\225w/\307\267"
+"\333E\13\f\273\356\5\363\313zqd\244\350\273\254\367G\367\320\276\250\317"
+"\204\303\332=}T\205\276H\30\354\25G\177K\331N\303\343\350\304L\220,wUp"
+"\232\245\362_\\rf ]\361\207h]fm\2s\223\305\267\366s\335\312\312\312\352"
+"\237\352/\250\272I\362\351\362\264M\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\67IDATx\332\355\227OHTA\34\307\277o\367i]D\353\42"
+"\332\241\354\226V &B\270\25!\322Y<\324)\350\340\331\203\254G1\301,\272"
+"\30\36\n\302\260\313\36\242\203\206\207\260\16\345\301 SD\323PY\f\211P"
+"Z\22\304X\366\351\376<\314{\333\356\276\371\347,\4\306|\16\63\217\231\371"
+"\354\314\373\315\274\337\260\200\305b\261X,\26\3131\307\t\36j\253\312#"
+"\216\3\20\201\374&\242\203\314n*\243\372\211\233s$\341s\177\203\304m&%"
+"\17O\210\344\7\244\301\263\260\27\1\200-\235\350tQ\'\277\343#i1\302\267"
+"\357Lf\13\206\355{\236\347y\373\305\366\270hY\227\26\375\21\237.\26\264"
+"\227\337\30\316\344\354\204\310>\355\17(\13w\305\226\2;.\262\277\20\21"
+"\321[n\337\335\300\256+\216\266\317z^Y\314X \275\22\310\177\362\312\20"
+"\33\325\254nj\341\313\331\2742\314v;\253\357\363e\5So\0\0\355F2\272Yu\335"
+"HN\356\260O\320H\6[\367e3y\31\0Pc&{\0\0\327L>\13\0\370e&\267\1\0V\214\344"
+"\350\5\366\361\33\311C\254\2320\221k{\0\0_\17L\344YV\365\311\216\247+p"
+"\347\330\376\246^\313\344S\\\365\\\252\221=\bR(F\211\210h\201\3275\30$"
+"\222\247\220\312t-4\353\223\\\2\234\25\276\241\377\n\37\36On\246\tp\34"
+"\367d\325\231\372\253\267\376\216X\273\42\f\347KU\322\237\346]7\305\327"
+"\255\200G1\311\306\310\345\215\216yHf\226\361\243\263n^z$H\250>\37^\342"
+"5\273\241\324[\300\336Vrq\346\335o\215\245\275`1]n\325=\355\234e\267\354"
+"\352\312\221\220\374^\333\345D{\25%\310{\245\310\331RdX\371\237\310Qi\352"
+"U\310\225y\345\221Ir\22\244.1\77\3155\36]\255\216\347\222d\274\276\242"
+"\314u\335\250\356\225\237\20$\333\205\333J\367\274\'\316\325\275*y@\222"
+"\350\177\252\266*-\31\220V\315\\\371]<\363=u\304\372\276q\315\235D\263"
+"\375\323k\261X,\377\17\207+\222\27\251\302g\222\265\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3aIDATx\332\355\230MH\25Q\30\206\337n"
+"\210\177\201&\24\204Y*Zv\353\346O\32fi\326\302E\226\213\310Hm\321\242\320"
+"\226A\224em\312\376\3\241\42\t\301\277\22\62$\27\266\2206QbF\331\302\212"
+"P))5\251\340\222\334\224\302\262\323\342\2339w\356\31493\347\256Z4\337"
+"jx\337\367\231\3439\363\3353g\4\334r\313-\267\334r\313-\267\376}-\220["
+"\211\336\2448\4&\336N\206{\317\25g\307\30\257\17\365+\303@\253\306\231"
+"\251&\367+\242\273\1772A\315\355Q@\243\373\230\244\372c\234\330\235\314"
+"\246v\331\263\265\306\354\237\221g\203\237B\350\23v\354\225`\356N\221\246"
+"EU<\t\252W\345\354y\36\252\r\321#op\343\202\214\255\326\23\335\26kq\277"
+"\356\325\210\331\34\335\77$r\217\351\356\6!<\257\271E\342{\357\320\354"
+"y\221\331\242\231\371\262Y\25k\201V\253\225\255Y\273\345\353Y\256E\262"
+"-\3160\31\227\355\236\344%\312\f\233\365\22\322\307\355{\350=\245J\304"
+"\3\257\265\207W\t\207\316 \265\323\251\365\333)\227\21\42\266\221\30\357"
+"\4\307P\256-D$\255\307\371\27\333EI\243T@R\2163\354\243\344f\203\324H\77"
+"A\225}\206\266\231F\203\342g\2141v]\5n`\2141\346\267L9_\5\3163O\332g]\5"
+"yQ\326\7\0\36\0\310\3\0|S\203)\226\307\341\365\0\200\247j\360\08\342\1"
+"\200t\0\300k5\230b\351\34N\4\0\214\251\301\24[\316\341\4\0\300W5\370\13"
+"8\342\1\200(\0\300\214\32<KM\316a\305\207\244=\252\340\245\'x\263X5\230"
+"\336X\778L\315\266T\r\246\230\237\303\264\371\244\250\301\311\0\200I\16"
+"\217\2\0\326\251\301>\0\300;\16\277\2\0\344\253\301\233L\35\225\32\376"
+"\17#\323,d\251\260Y\206\201<\206\226\253P:\354\0\0\2\226\27s@\251\301\30"
+"c\2145\31\2245\364\267\254vf\275\224,\266\256B\2073\334)X[\3550\262\320"
+"\211\215\244\334\335\20\61\201\304[Np\253\345A\1\300#R\223\354\3314J}4"
+"\311\231$\17\331\303\243\224*3\353\332\320\'\355\330s\262\227x\242vf\330"
+".g\313\264H\201\364\314\300\2742v\243\26\270\'2\77K\317+\0\200B\375 &t"
+"St\267R\344\36\324\335-\342{W\350\276\240\323\272u\357\210lVuL\22\t\236"
+"\244\33\344\353Y\37<\34\67\363\215\245\240=\250\336\264{\222G\215G\363"
+"\337C\17{_\314\30\2253\366=Tj\367\231\260\327\251\365\27=\227\241/\23\24"
+"\366\212j1[\245\266\77zg,\344\367\32\345wY\235\t\35(\17\343E\330\21\202"
+"\16\35_\42\311yD\237\23\241\375\371+\42N}\334\333\226\31\373\257\31\276"
+"Jr[F\372d\213\27=!^\354\246\255\0\20}x\2121\306\3306!\33k\327$s\374\352"
+"\264p\316\17\354&\24\301\257FDv<S\252A\341j\307(-\351\343\\\261\336\253"
+"\337|\272\347Ti\252\7\0\322\16\334\17\31vz\237\374Kvlv\270\271r\231I\315"
+"\2708\245\241]\205J\377\352\260|\27%G\372\337\4\340\226[\377A\375\5\230"
+"[\t6\177\17\17\224\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2\273IDATx\332\355\227Mh\23A\24\307\377\333\326\240`\324J\244\320\203"
+"\241\42E\245\221\26\24\f\330\372-Rs,\332\203\24\274y\22\332C\17\26R\353"
+"\327I\250xQ\21\77PQ1\242`\253\320R\220\42b\375(\330(&\210\b%\24\221\332"
+"\42\370\25\335\222\347af\223\355ffv\231[a\376\207y\233\231\367\333\314"
+"\316\233}o\26\60\62\62\62\62\62\62\62Z\340\262\234\213\332\25\241\n\313"
+"\2\210@N\37\221\235\377>\353w\213\226\327\244\320\227k\255\n\266\211|\225"
+"\252\227\301\247(\200\206#e\\\5\0|\r\262:{\246\273\304\3\243\24H\3b\272"
+"}\2600\317m\316\266m\333\236+x\350\t\331\264b\357\270\307X\203g9\223\271"
+"\42=&\243Wr\207E\345Ck\2378\364E\31=NDDC\302\261f\207\336\345]m\256O\256"
+"\326\253gV\226]<\220\300\277]m\271\326O\1\0\226\265\213\341\202\253\25"
+"\250\221\231>1\354\243o\f\253\17\351\3008\316\314~-\30\31\0@\\\17\36\7"
+"\0\324\351\301\377\0\0\213\365\340\r\0\200\31=x\13\0\340\275\26|\204\231"
+"\21\35\330\272\300\354[\358\315\3149\325\16\253\222\260\23\3745\357T\301"
+"\325Bt/md\27G%\367\276*M5\261b\222{\4%L-\236\356Hg)\r\275\222>!\177\204"
+"\321\263\217sy\262\254\312PxU\264!\276\311\3451\264O\272\2347\374Ro\237"
+"bm-u\250r\211\264\250b\4\202{V\247\203F\265L\35\67!\256UN9V\260\177nA\r"
+"\27\24\360\222x08\323lqU\265\226*\300C\237\307\342\233$<o\263\16;q\312"
+"\250\341+DD4\342\351m\23\357.\361\213\361\321\363\373~\204\347\235\315"
+")\177\370\227\267c&\302\23O\3331_X\260\3461N\237\336\352\7\13\13\3774\257"
+"\225:0\326p;\240\3\377\344\23N\34\324\200\361\274\207\331\273:0\316\274"
+"d6\245\3c;\217\3276\358\177\230\331A\255\223\301\365\27\0\200\245I!\\\351"
+"\223\36\22\374P\22\26\301\313]\255H\263\311\362\323TQ\237\211\210\350\215"
+"b\346\77\330\373uH~\310k\222\303\273\271\313NO\177Mw1=w\257\13\311\350"
+"\247\334\345rm\251/z\247,\301\337\216\212\340\232\342\370\207\3\316\266"
+"\267\5\345\301\256\23\321\347]\267\337\1\08),.\'\204\23w9\334\253\0\200"
+"\274\320\355\257x\315\\{\216\205vR\360\307\223\222\200w8\16\375\274\334"
+"\2437\353A\263\275\322xU\367\347\210\246.5\232\317a###\243\205\246\377"
+"\1\304b\375\372n\1\63\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\313IDATx\332\355\227OHTA\34\307\177mk!mu\361\320\232z)S\13\204"
+"@\214\360\17^\226(\243\r,K\363T\204\t)$AbTH\bVT\320\241d\241\203\6El\t"
+"\22-\31Q\27\241\77T`\205I\201\233\242l(\345&\324*h\277\16\363\336\276\361"
+"\315\2377\357\25t\231\357ev\347;\237\231y\363\34773\0ZZZZZZZZ\377_\313"
+"\304V\341\246\354\0\316N\214\304\335\326Y\3313\207i%.mt\201v\240]\361\32"
+"\0\0\310\330\340\204\236@\236\222\247*\17\r &\312e\350\252\17(\325w\t\273"
+"\25\235Te\25^nc\337\322\377F>\216\316\254\314\264U\377iP\324g\253\201\336"
+"\n33\257m\232n\371\272\250\323\357\314\22g\227\346W\215Q\265\n\330\243"
+"\206\77\236\305X\235i\370\266\0\66\354!Y\305\42\270\326\260\371n\227\34"
+"~N\334\220\240_\77\244\337l|\260h4\303\304\357\266r|\326\317l\222\\\26"
+"\301\375$\231\344\302E$y(\\}]\0\0\360\232\353\35\220\r\27\0\200\37\21\361"
+"7p[^drlZ\b/\0\356\343{e\244\345\42\311\266Y\261}\265\300\t\20\270\335["
+"<#pJ\35\240\267d~1\0\200\77\371\322K\313\233\215\5X\341\251\337\203\6]"
+"\347\5\16\232;\347Q\256\7\372pz\327\2768\350\236>C\305\233\311Hm\320\35"
+"\335d\213\225S}\255\245\352\364\226\t6\332\246\242\365\31\212\3701n\270"
+"\376\334\250\210\327\274\342\362\235\252\275\257\357\347\341\273\224\277"
+">\260\347\312\33;}\301\325\350\373\312\333\237\322\364M\327\263\277\356"
+"\2445\5\35\36\326^\311\220I\227zY\370-\346%\303\323\236\333m\320aOt\253"
+"\344(sV\302)8\313\324@\340\35\177\23\42\317\247O\1\352\304\310\215\r+U"
+"Q\310fE\25\6r\n\21\21\2371\371!D\304E\7x\26\21\21\2370gU\35\0\200\257A"
+"\16\223\303\346+\3\227\0\0@\233\224\315!\311{\3060\356Z\322\220w\221\224"
+"\331\306\30\77\211\361\300y\2468\213\304\274_W\213\331^Rb\200u\346\315"
+"-\'\274\2307\242\250\327\26,\332\260M\222+\336/+\324\234\343\261\267L7"
+"\237c\316P\201j\376\210\335mN{\247y5\217.\r\223w\251\201\13\335\261\362"
+"\357s\237F\261\235l}_\222\270&\257\200\316\212UKC\224T7D3\221BD\274v\374"
+"\236\204\335/~\232<\216G\202\0\220\25\25\240\21\245\315\276\276\207\203"
+"^\315T\2167{\373h\360[w\231\333\207hqA\316Z\377\334\364\330\360\270~\257"
+"kiii\375K\375\1\264\245h\303y\2702X\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\207IDATx\332\355\227\275KBQ\30\306\237{\25\33,D\13"
+"\nZZ\233ko\251\245\26qi\r\247\300\241)\32\233k\251%\b\207\246\242M\210"
+"\266\210\376\0\307\350\303\301\6\243\210Pt\251\206K\3664\234\364\366^\355"
+"~\350\24\274\277\345x\237\373\376\256\367\274\7\345\34@Q\24EQ\24\345\237"
+"c\271\37\'\'\22\362\226e\1 )R\247\361\332\363\220d\211\241)%=r\215\21\250"
+"I7\317H\344\215e\233!\27\255S9!\317F\223\177\312\343fH\2717\332\4`\333"
+"\242\230m\0V\254{\235\22w[f.\305\214\33\255u&\270\345f\231\242\211ZBn\222"
+"$\313\42\3330\205\7\42,\223$\233\42\253\223$\13\42\33\65\362\234\b\13$"
+"\311\206h\230\3\0\270\25uof\250\210\360\346WyG6\357\361\322\257\263\357"
+"\342\352\311\264H\310\346;\253\301\213\364\0\0\270\27\3629\0<\266C,q\245"
+"[\356rMr\325Sg\32\346\t\227I\336y\262\261\335\343,\302\310X:\332I\367\376"
+"\236{`P\205=\314\77\211\312*\253\254\262\312*\253<\270l\17#\247\7\222g"
+"\3140\77\320\214\16\315\236\3442\352\301#\226\30_8\355l\\\257V\246F\342"
+"V(q\275\372\327\366\376y3\310\335\367;\35\234\4\254\213\377\331b\332\267"
+"\333_\237\276\317v\374\227j\333\317\335\253\7Lz\361\354\243\377+;\27Y="
+"\0+\212\242\374o\276\1\311\361\2023Jg\232\233\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2\20IDATx\332\355\227\275K\34A\30\207\177"
+"{\271x\202[(\342)\350\341\205D+5\205\20\374h\374\13<\260\21,\4\t\244Jg"
+"\214E\b\371\17\204h\245HR\4\t\202\205\205\205\210\205Z\245\23T\320\213"
+"M\20\r\204\203\323\3\357HPoR\314~\314\316\327\236`#\274\277\346v\347y\237"
+"\335anyw\26\240P(\24\n\205By\344q\274\337\272\214\233t\0\306\30\356\376"
+"\26.\225\272\306t\375\238\216\3\260\333\353\363\177\42zWf\321|}*\342\344"
+"\27\tWfB\370\221)\331\25\345\35\225\177\n`^\205\354E\350>\327\340S\0H\0"
+"\300\205f1\n\332\303 \277\203\243\1\365\312\357\305\312\31\225\17\207\264"
+"\371\233\bJ\373\363}\321\373\364~\336/\211\25+-\21\334\347\217\3175\230"
+"\376\325\2069\277\346\245\214F\371\370\246\355\241\330\3445\243*\341`\302"
+"&O\360\232\340<!\361\274M\226\241,\227mr9F\256\332\344j\214|\257\220L2"
+"\311$\223\374\20\262S\313\6F\225\253\3613IH\255\77,\276\1\0\244lrJ(\214"
+"\312\25\0\200k\223]\2410*\27\1\0m6\271M(\214\312\347\0\200n\233\334%\24"
+"F\345\23\276\267\261\311\34\36k\310k\351\265\257{\3052\306\30\233\322\220"
+"g\\\316\230\335\16^\321\251c\34-\230\345y\313\334\326\342\346\315\371\252"
+"\226\rq\270dr\279\177\245\247ENG\364t\204\323\77\206K\217{\33\274V\35l"
+"\365\340\230ib\77\275\202v\25\265{\350\310\270\42\335\376\3462\'\223\234"
+"O\262\346\365\234\366k6\322\342pz\303\37\177k{\206\302\255\363Np\367\\"
+"\370\225\260d\357,\353\342\266\372`{\373@<\377\36\327\227\226\2311\13\361"
+"]\355\215\311\235\254\245\'6\357\352\324-\267\306\226:\370CV\367\372\357"
+"\321\221\233>\234\206\346\311\254[[+\26\222\355\351l\304\325\257\3033\372"
+"\342\246P(\224\7\315\177=\2\60\216\240`\206\211\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2\301IDATx\332\355\227_hNa\34\307\277\357"
+"\273]\254\2664\322\312\256\24\212\42b\233\241)i\245V\362\257)j\311\5E\376"
+"\205\344BY\221\266%\215\273\205Q4\231\3266M(5ED\230\213M.%\313\376\320"
+"\304V\33\333\307\305\263w;\357y\237\363owt\2767\347=\337\77\317s\316\357"
+"\234\347=\277G\212\21#F\214\30\61b\304\370\307\221\220\244\334\302\334"
+"\254\204\4hbtp\320\303\232_\220\223\245D\42!1>\334;,IZ\325\210\13\367\n"
+"2\223\331\327\335\256\233\305\322-2\361!3\334i\2615\t\33\326\273\263\13"
+"\254\266\344W\333\355\365\273\211\1\233k0\353s\366\222\f\266\256\311\315"
+"\214\216\224g\270\332\353$\25\335u^\312\357\356\2065\266i\226\325w\215"
+"8}\315%\251R6\247\250\203\376\17vG\312w;\351`[\f\327\21\364Z\324\32\337"
+"\rs69\3026s\230\b\n\217\231\303\236t\366*\0\201\341\267\0T\273\330\371"
+"\346z\226\373g\363\214+\333\315\1772\205\360\17W\3\3600\203\337g\6\365"
+"\17\33O\231\227P\345\227-\7`\304\242\264\2\360\321/\374\24\200\323\26\245"
+"\324L]\30X\256\244M\373\3@\275w\370\34\0\17\254\332\331\240\222\31}\235"
+"U\3135b\205Wv\23\0\277<\324\327\0<\367\n\77\3\340\224\207\272\325L\235"
+"cWg\5\334\225\221\317\330\305\13\1\353\256\1\2001\277\221\327z\206\27\32"
+"C\251M\253\0\340\247\317+\324\13@\233Mz\1\300I\237\360A\317\242\314\16"
+"\261n\214\345@\246P\3\300}\337p\7\0\275^\243\226\372\206\313\214i\221\233"
+"\337\f\300\17\205Y\356\327\334\364+\0N\4\204\317[\13\63\67\314\337\214"
+"\224ol\225\351\354E\0\332\3\277\366]\0\274\267\335\314\352\300p\2451\316"
+"qr[B\225kz\226\32\'\365&T\271$\2511\2438\5\341\312%I\213\215u\3434s)d\271"
+"$i\0\200\'\321\313%IG]W\271\35\200\241\220\275\31\351\253\317<\274\343"
+"!\303\217\323\236\314\274\360\345\222\244\ri\237\333\313\0\264\206\356"
+")M\370\216\363\2448t\270\326q\245;\1\370\36\276\233\235\\D\373%\251\7\200"
+"c\21z\341n\0\372$\225D+\227$\3552\221\275\251\206\265%R\33n\302\343\207"
+"\257\230\37E\221\302\351\215\364\267h\33\200\245i\341#\21\267\17C\316\260"
+"\227)\351\325B8\33\323\310;\27\307\304+#\207\37Me\373\242\357\231VL\205"
+"w\317`\307\3256\231\355\231\321~\355\35\0\375y3\333\355Uu~yy(\336\364\306"
+"\210\21#\306\377\203\277\305\222\31\33\321\253S_\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3\252IDATx\332\355\227M\210\226U\24\307"
+"\377\3578\203N\351\210\246b\370\261\30!\25\67f\221\246\24\42\21\321\246"
+"\42\250\6\65\252M*5\213 g\321\246\215\226L\20\221\301 \271\310\261\217"
+"\201>\250\2106\31a\212\240\202\323\b63\304Pj8\216\371\206\32\352X\372k"
+"q\336\347}\356\3273\363n\205\347\277\272\367\234\377\377\336\347\236s\356"
+"\307#\225(Q\242D\211\22%J\334\346\250H\222\246.\232>\245\2B\334\32\277"
+"PM2\357\2323\255R\221*\225\n7\37793\236\231_\277\216\217\317f\205\312\271"
+"\237\7\224\33]\346\330I\204\201P|*\346\274-I:\27;X\353k\37JP\306\246\250"
+"I\272\230X\340\5\277;\226\240\\\274)I\317\304\243\276\25\62w\305\234\16"
+"\363\274\342\332\306\253\3=\253\343y\326\364\fT\307]\336\253\231\247\253"
+"f8\271j\262\314.\314\242\276=\267\215\232\245\275\201\302\270\1\300iIR"
+"\223$i\2679F\32\20\37\222$\275\357\210\177l\274$\221$\35p,3\354\263\33"
+"\21\17\1\320\354\324vm\274J\3033\33\263\331\213\345Y\237\270\361\321;\177"
+"\371\360\\\341\b\31\254D7x\266\366+\0ty\306\26\0~\365l\77\1\260\315\263"
+"]\256\245\364q\327\270\2\200\257\344D[C\222\244\245.\255sF\255\261\327"
+"\265.u\350\276x\231K{#k\314_\342X\2152\350\211\207#q\333\274z\363\245H"
+"<\344\255\357\236(\321[\362=\340\346\340(\0\263\375\243,\22\37rvP\24\305"
+"0s\0\264\206\6\303S\241Y\336\232\263\257\257\267\326y\305\22\3144\32\210"
+"\177\13r\325\341\222\237\256\267\26{\361\312\304a\2566{S-\366\323<8\261"
+"xf\233$\351\243>\353>\227Ls]\34$\332\330\247v\354\260\333c\323Di\226\326"
+"\3p5\353\36\4`\213\364\246\237\254\3\311\343j\201O\262^\213\264\320Z\353"
+"k\366\77\323\207\206\'^\13\300aI\32\3`O\212\25\212\27Yg7\0/KR7\0\327\\"
+"\326\365H|\r\200G\254s\t\2006IZi\243\332\376\234\5@\277\302\nsse\211\252"
+"^\226\244\32\363\331D\232s\361\240#\266D\365\3129\2267\306GA\301\314\306"
+"\374\304\34\373-\225\222\244\345\376\314y\361;[\327\213\351\35\326\273"
+"W\222\276\6 \276\321\356\317\25\17\3\360C\346\261C\264[\222\206\1\230\36"
+"\211g\346\342\36\0^\310<\37\0\60:A\2323\307\22IW\375\203a\235y\346\306"
+"\342\246`\210U\322}\255\222t>\253\13\35\256\237\b\266\330\323\t\361_\222"
+"\244\325\322\363n\242$\351\270$\351E\351\301\202`g\'\336\221\371+\256\204"
+"!\355\264\257}\362\356>\0\336K\210\367\32ekw\24\225yf\371\266\263j\214"
+"\204x\273Q~\266\272\376>\216%\307I\\\207\206\'\274\207\322&\327\265\317"
+"s-H\210\227{\214\26\327\365\230\347J]\371\315.\341l\252\6\42q\236\252\377"
+"\\vo\360\20q/\34\25\26I\r\237\372\335\336\202\201r\374^\274\256v\307\265"
+"/9\2633\344w\201x$=\263#\36\316\233\37\207_\365\315db\307\332\27\212\367"
+"O\266\346\r\365e\235/\332\260A\583\237\250\267\366\304\342\77\352\255\177"
+"\13^\206\31\346\304\276\255\231\257\277\340Y\371n\315\377\345D#w\24=J\7"
+"\1\30N\372\36\60\355\27\305O\332\327\372\377>\266\255\300\327\372\316\310"
+"\245\203\35\345\77p\211\22%J\334\306\370\37\207\214\2146\323|\366\210\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0"
+"\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\324IDATx\332\355"
+"\227MH\224A\30\307g\27\2662t\261r\203\b\263\17Z\211\245C\21D^\274HP-\325"
+"\26da\7\77*\f\203@\301\4!\310Nu\2104\262Ke\233 u\213 \314K\4\221V$I_x\21"
+"Bl\225\25m\261\17V\42\247\303<\357\316\367\373\316\34\205yN3\317\377\377"
+"{\367\375x\346\231Y\204\\\270p\341\302\205\13\27.\226y\204\n\203\315\321"
+"H\b\343\245\374\\V\343\254(\211\204Qhiq>#(\3653\230\306\340V\31m\234f\f"
+"\303{X\251\1s\221-\22\3313\274\1oA\b!\24F\b!T\307[cI\21>)\314S\f,>\346"
+"\254\b\317\370\30v\3607\365Xz\344x\2363\fsb\371{F\352Q\274\353M#\214\341"
+"\216\250\326\27\244>\345\227\212\214z\372\217\204\254Vzb\253\372;\367\201"
+"\374A\251\356\6uD\r\377$\352\254\246\332\274\257]\247\22\273@\\\247\253"
+"\325{`X/K{A:\244\257\364\t\342\230\222\25`\257\371,\223R\360\f\210\302"
+"+\222\177\343\273\310\222@7\363\351\253\220\16X\242\327\301\266\223M\326"
+"@r_\320\2\177\'\377\310*H\265\7\267\7p\276\244\231\217$\363\314\240\267"
+"T\1\335\345%\272\311\374\267Qg\352\0z\77\231\36\207i\245Y_{\16\3662\204"
+"\20*\207I\223iW\\$\376\271\325\b\225.\220\361C\343\226\352\365\206\277"
+"\355\227\376\221\321\244EC>\'\364;\34\263i\347\3<\233\262\333\f\262,\333"
+"m\271\223lc\330Id\33=\24\256\262\206\343\24\326z\302:\201\366\252\5{\370"
+"@a\24-\266\276\355yz\333i[\366\6\373\251\222v\354A\276H\2426l\211P\235"
+"\23\66\3608@\343\277`p\337\234\355\5\244\206>{\203){\202\255\254\2730\211"
+"\233\261\33\300\336B\246\237\310,o\6\177\'\356G\336\306\f\327\32\62a\373"
+"\211\227\236B\252\201\356\ff\233\300\272\221\246:!U\35\304n\7c-\233\34"
+"\202\344\212\0\30\232\345m>\13g\241\317\376\354\23\265\313;\257\364\372"
+"\261\27\301$\35\37\33A8\245gw\321\312\22\343\1H\25A\33\344\25\225\366\215"
+"h9\35\373\202\350\257\225b\f\256\374T\315z\207\2455j\371,\310\35~\313\341"
+"\246\356\3062`8\42K\265\336\302o\323\301^\251\340c\232\212\306\30O\237"
+"V\242+/\353:\342\5\276\353\334\n\211\350\332~\336\321\242e1\36\23\330\342"
+"\214\350\240\364WQ\302\207y\370\274d\370R\3301\376\310\7\13\337)\207\244"
+"\304\353\16\212\336Q\321q\224j\211t\216\21\3366\313/\273m\2141\344\322"
+"\t\367_\330\205\13\27.\226a\374\7\247\24\306\215\37\313\3445\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2.IDATx\332\355\227K(EA\30\307"
+"\277sp\221\b+\245\313-R\312B\335\224\233\5YX(\221D\36Yxd\241\254(\245\224"
+"(K)\205H\311\243,(\13\13l\20\13\13+J\222\210\362\272Q\42\3178\26\337\\"
+"w\316\3349s^+5\377\325\231\357\377\375\346|s\316\231\371\356\5\220\222"
+"\222\222\222\222\222\222\372\347R\376.|\2111*h\77\37\2177\6\251i\251\261"
+"\252\2\332\347\323%c\264\334ia\355\372#\311\374m*\341\242\216\266\3324"
+"\275|,\353\375\326\' \255\2\0@=\223[\305\302\225\252~\\O\301\3542\203,"
+"|\317\214o\251\353\354\27]Q\273\221k^\327%\4\323i/v\222\262\326x\317z\202"
+"J\30S\330w6\37\262N\371o\352o\372E\205\343\366\20s\231\17\327\22\273\217"
+"oO\243\373\306wG\320]0\372\334\36\320\357\344y\36\341\314\0\220G*\213\343"
+"x+h\25\31\177\351\303\230\261\25\351T\2403)\332\'\327\230\323\32a`\374"
+"K\270\311rI\341\tL|\1\303\245\342-:\204Y{\372h\31Fg\3156\370\25\346up\212"
+"\326LO\207\34\222\230D\305f0Tn~\266\f`\346~8R\214\221%+\'\323\5\373\251"
+"\274[,\32\0 \213\24\236J\306\3438\254\266v(\366c\366\1\216\28Z\265z\244"
+"\236a~7\0\0<\333(\32\0\300G\n/\4\0\262\315\33\254\237\346}\204n\366\223"
+"\267\264a\247\27\2340g\261\307\16\234\241g[\354\265\241^\232\335\261\333"
+"\304\216)8\311.\354\r\263]\366\373\347P\210\275r\322}Cp\211\23x\20\331"
+"WG}\77\23\341Qg\277\32\20\2561NPM\247\270t\3\277\270\201\277\335\300\232"
+"\33\30$,a3E\273\201\223\35\301\344\226~G+\42\315\362\334.\27\345I\tL\205"
+"\16\300\243:o|\264b\211k<\324\f\3640`\265\77r\265i\2\7E\260V ~\332\357"
+"\302\251\77\304wn\27\335x\316l\321\205KO|\362g\247I\376\1\226\222\222\222"
+"\372\337\372\5\216\26\220\30\263\\\226*\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\2dIDATx\332\355\227OHTA\34\307\307e\267\214u\325"
+"4)\254\233\24b\364G\364\20h\320M\310\203R\42\232B\tu\310k\4!\262\244\242"
+"\225\7\377\320E\4A\264P\243\77\207\202\354\22\212\266\242\304R\36\n:\264"
+"$x\255\226BH\224o\207\337\bo\337\376f\34617a\276\227y\357\367}\237\231"
+"\337\354\233\371\275Y!\234\234\234\234\234\234\234\234\366\271r|\367\245"
+"E\21\325\243;\351\r]O%o\241\327Z\205z\344\337\5\306L\213~ynB\236\353;f"
+"V\334W\31\t\230\225R\245\235\3167\217\3747\346\271\t{\256=\354\216\27\b"
+"y\346\226R\365*3\33\312\313\266\352S\322\354\323\303\363\2547\42\341#z"
+"\370\32\353\255\2229\'\364p\25g\325\311\201\205\1.\347\254]\362\256\232"
+"\340S\214\363\214\254\'\302\2n#gK\267\0(\267\262\254x\201\234p\245\16\376"
+"\3\08\236\25\377Ll\\\273\364\276\2\0\16\370\303=\304&\365\353v\202}\33"
+"U2\351\230\36\256\5\200q\177\364\37\261\255\246-3\b$\302\276\330\f\261"
+"\263\346\rWV\355\217\264\20\273mS\37cr\302\3256p\222\330^\33\66N\354\272"
+"\r[)\223>l\3o\21\333n\303>%\366\271\r\333L\354\256\r\33\225\23\276`\3\177"
+"$v\300\206\355&\366\213\r{\316Tj\265\237\25bo\330\260\323\304\276\262a"
+"\233\214eZ\255C\222\255\261\201\327\210}d\303v\21\373\215\261\356\276\177"
+"\234\253e\317\310\244\217e[\375\0>h\3414\2617U\337\224K\32v\222\330\327"
+"\214u\26\0\360P\315^\321\274\245\6\0\300K\366(%\204\20\7_P\313\346Fu\277"
+"P\t/R3\264\310\301T\323\225\347\313{\224\363w\336\355\0\0,+F>\375\200\332"
+"\213\301\316\272\231\260\354\364\366f\260\325\224\1O\320o\361n,\340\371"
+":\343\244f\332K\267\200\214%\346\35\371\r5\327\225p\241:\355a\271:\247"
+"\224\360y\323a\b\311\220\352\201\243\364@\202\261.\357\35\251\'\353ND#"
+"a\237\42\321\223\235\262\256\2550\360\0\2j\211\231sq\320Z\361\223\201\177"
+"\4\205\77\61\261\362\240iWp=\216\6cG\371|\32\27\314\350B\243\373\27\354"
+"\344\344\344\264o\365\37NJ\232\7z\307J\217\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\0\335IDATx\332c`\30\5\243`\24\214\202Q0\nF"
+"\301\260\2\214\370\245\2254\5X\30\3763\374\377\367\375\325\345\217\244"
+"\231\354\365\351\77\22\270hJ\212^\225\377\250\340\13\77\t\232\27\242i\376"
+"\37H\202\346\317\350\232\215H\320\214\256\267\31]\1\13\61\246<\370\364"
+"\373\307\313\263+\3572\220ns\24Yi\0\242\267\215\201\2\315\272\224h\346"
+"\42/y\376\'\244\202\211\222\2141\252yT\363\250\346Q\315\243\232G5\217j"
+"\36\325<\252yT\363\250\346Q\315\364\325\314E\211feJ4GR\322\243\303\323"
+"\21%\334\243\203t\201\277\2778\263\362\1\31\66\303A\3)\2321\272\375\6$"
+"\4\330:t\1E\n\206:\276\t\220\77\310r\325\222\224\320f@\32\336\371\371\372"
+"\312[\206Q0\n\206\20\0\0\335\354\321\2666g\241e\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\1\242IDATx\332\355\330\77(\347q\34\307\361"
+"_I:\245\24u\227.\303o\220D)J\321\r7\30\24\31\f\6E\6\312\240(\203\201K\227"
+"\f\6E\335\225\301p\235\77I\272\33$I\6\67\\\222\301@\222$n8\3\222\222\223"
+"z\336\360\332\214\257\367\244>\257\375\321\263~\365\376\365\375~3\231\264"
+"\264\264\264\264\264W\264\201\325Q\333~\2\216]|\t\260j\342\7\0j=\274\r"
+"\300\236\207\333\1\240\312\323\302[\376\317\r\274\217\244\227=<-\235o\341"
+"\\\341\257^\372\273\264\207\337\n\217{z=\222.\27\36\364\364n$]/\334\345"
+"\351S\0\356<\334\254t\213\247o\18\363p\247\322\r\221\3630\377\24\6\244"
+"+\42\351\r\17\177\226~\27I/x\370\213t\236\205\337\b\317x\351\245\310y\224"
+"\b\217yz3\222\256\24\356\367\364~$\375A\270\303\323\347\0\\{\270U\351&"
+"O\337\3p\342\341n\245\353\42\347\361\333\303C\322e\221\364\232\207\'\244"
+"\213#\351o\36\236\225\316\261p\201\360\224\227^\211\234G\251\360H\344\221"
+"\322LW\13\367y\372\0\200g\17\177T\272\335\323\177\0\270\362p\233\322\215"
+"\236~\4\340\310\303=J\327D\316\343\227\207\207\245\263\221\364O\17OJ\27"
+"F\322s\36\236\213\234G\241\360\244\247\177D\322Y\341aO\357D\3225\302\275"
+"\236>\4\340\321\303\215J\267y\372/\0\27\241\267k\363\305\376\37\0\363\221"
+"\'\205\233\310\327\214{\23W\2,\272\37R\352v\237\326\2122iiii/\366\37\250"
+"d\341\356\217\351\77\255\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0\330IDATx\332c`\30\5\243`\24\214\202Q0\nF\301\260\2\214\230"
+"B|zb\234L\214\f\214\f\177>\\\277G\232i&\347\377#\201O^\244\350\345\373"
+"\374\37\25\250\220\2409\0M\357\377\205$h6D\327\374\231\24w7\241\353&)\264"
+"\225\303\215\3059X\371\24\360\304\7a\20E\330f<\240\215\22\315\272\224h"
+"\346\42#\300\20\340\77!\25L\224d\214Q\315\243\232G5\217j\36\325<\252yT"
+"\363\250\346Q\315\243\232G5\217j\246\223f.J4+S\2429\222\2\17\21\321\21"
+"e\301\20Q\2100\226\340D\352\2\223\2\32H\350|S\324\355G\17\60Et\5\353H\260"
+"Y\350\7\5C\35\fV\327\210\37d\301\322;\26\326\21\345`$oxg\24\214\202\301"
+"\3\0_\373\276\263\3\nh\330\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1;IDATx\332\355\225\261\212\302@\24EgE\374\1[\213\5\13\265\27"
+"\301n\367\17\304\306F\213\5A\260\360/\354\304\322F\304\17\260\261\263\22"
+"S\370\3\42\366b\257\235X\336-\336\313\356lt\222I\266\275\247\312\273\367"
+"\235\20&\220\30C\b!\204\20\342E/\bzY\335\25\0\254\262\271K\0\0\226Y\334"
+"\21\224Qz\267\211\37\232i\335\2,\n)\345\223-\2372\35VH\252C\33\42\302\320"
+"\337m\2502+\26gz\331\360u\363*L\2141f\242C\336S>\312\372F\246\215LG\77"
+"w!\333\327p\276\312\274\360q\7\372\234\2450(i0Hv\353\272\332\372\215Z\32"
+"\325\223\334\234.\216\355p\254a.A>\310\332\366o\272\225\364\20\357\316"
+"e\353\36\315\357\222\317\343\334\276>_9Z\224\265\350\273\335\212\256t\236"
+"\253\216V\25\247|\221\205\351\253n*\335\305\345v\245\337\277n\367\322v"
+"\35\362\32\0\360p\335\373\1\0X\333\357\325\272\2061\306\230\252K\256ZK"
+"\317\264\1\334j\356\363\254\335\0\264\255\340\315n\77>\317\361\337\214"
+"\257\367]\300\177!!\204\20B\b!\204\220\177\360\r\265B:\341M\274\305\217"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0NIDATx\332\355"
+"\321\271\r\200@\20\3\300=\236\224\313\211(\201\220\200Nh\230:h\4z\330K"
+"\0\315\344\226-9\2\0\0\0\0\0\370\275\22\21\61NCI\205\267\375X\323\315w"
+"\303\354.>\31\356\317k\251MW\3155w\25\274\330\3;\301\4+\333\310\37\b\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0"
+"\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\0IDATx\332c`\30"
+"\5\243`\24\214\202Q0\nF\301\260\2\214xe5T\5\331\30\377~\177~\372+\311\6"
+"\373\274\376\17\3\347\225H\325\374\341\77\22\220 M\257\42\262\336\377\307"
+"I\264\31E\363\1779L\5\314x4\233\250\241\250\334A\222\315r\250V\223\350"
+"\356\331(\232e)\361u\23\211\232c\2215\277%5\252\257\42\353\346 Q\263<\262"
+"\346lR\255\236\214\244\371\32i\31\203\201\201\341\77\36\305L\2044\207 "
+"\261CI\316[\247\21\356\336G\262f1\334\211\214\231\240\346\257\\\326p\366"
+"\301\7$\333\215\260y9\351E\225\'\331\231\203\201\201\201\341\0\\\263&\351"
+"\232y\341\232\333\311\260\272\16\246\371.9%\3647\n<\315`F\211f\206>\210"
+"\336\253\344U-\33\377\377\377\377\377\177\0\231\25S\361\367\377o\342F\353"
+"\347Q0\nF\301(\30\5\243`\24\214\202Q0\nF\301(\30\5\f\0\304\0\5 \343w\4"
+"f\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2PIDATx\332c`\30"
+"\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\214\2\24\300\210C\330\306\302"
+"XG\205\235\201\201\341\375\345#\333\217\20o\236D\346\216\377h`\253\5Q:"
+"\265\347\374\307\n\256\31\22\324\312\261\353\77N\320OH\363\345\377x\0\1"
+"\237\373\374\307\13N\240\253g\301\301y\273\347\370\345\373o\177qJj\332"
+"\6\313@\305\314gd\340\263\372\350\377\377\377\377\377\177;\311\16E\224"
+"\177\22\314n3\274\361\34o\370\345\324\326\277\30\206J\236\226f````\270"
+"\244OVbz\1\261Z\22E\220\211H\315\366\20*\226\274t|\350\377\377\377\377"
+"\377\357#Os\312\377\377\377\377\377\177O\236f]\210\247\311\3623\303+,b"
+"Dk\346\242D\2635\361\205\201\271\201\272\274\30/\353\337oo\237\334\271"
+"z\356\5\3\203\314\1e|\352\341\300{\25F\226\370x\37\306\302\253Sv1\376\234"
+"\205G+\357\346\377\377\311\325\234\373\377\77\331\232\327\374\'Q3R\376"
+"\77d\213$\376\353\324\265G\257\277\374e\341\26\224\220Q\324\340&\24\221"
+"Ha<\333\26]\322\3756^g\247\300t>\367\307*\377\4\237f\230\336\34\34\16\213"
+"\307\243\271\5\252W\27g\2\300\243\31\252\27w\275\300\201[\263:D\252\5w"
+"x\362\343\326\234K0\361\31\341.\f E\352y<\232}qKm\372\377\377\377\377\377"
+"\13\360h\376\217\333\346\77\230u\17*X\216\307\334\376\377\377\377\377\377"
+"\177\13\247\374\34|\31#\2\42\305\217]+\363\21\274\271\212\7\42\265\26\253"
+"\336\20\244\\\245\210M\1\64\341\227c\312(\37D\316\2223\260i\16\206J\316"
+"G\217\336mh\31z\211\1\26\335\327a\262=Jp1\323\236/\330\n\204\213\241\350"
+"E\257\354#\204A\17\357\274\373\317\'\253\215;r\212\373Hi\220\364e\36A\346"
+">\3020\316\13\247\326\231\f\f\flw\221\4\260$\b\311kX\265\356Wa````\220"
+"\377\201\20\212\307\346\227\350\217\30ZW\251\303e\333 E\321\207\345&8\202"
+"\302b\321\77$\235\33\202In\365\232hH\362\374\373\364\344\326\305\321N\301"
+"(\30\5\243`\24\320\2\0\0\375*\20\37-\262\363{\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2\305IDATx\332\355\230KHTQ\30\307\377\6\351"
+"d\332C\222\240\350A\17\245\302\205EQ\342&\224 \220\32\250\320(\b\202@2"
+"\206\214ja\213\212\260(\27I\33\243\42\251\220\2022\b\214\26\205P`c\204"
+"\215e9\25a\230\244\275\260\204\302\1e\276\26\347\276\357yxg\\\325\371o"
+"f\356\371\177\277\373\315\334s\316\367\235\31@KKKKKK\353\237R\6\0`Q\301"
+"\354,\372\363\251+\205\33T\'\310\320\371\300\354n\262\325\30\24\276\345"
+"\200)\209\5\370\340\274^\27\64\365#G\346\35\1\63\243\274\254\251\317\274"
+"\236\236\312\224-\210\261\314{\203f\6\200\201-)d4a\f\f\247\1\243\77\35"
+"8\1\0\240\324`J\'3\376[8c\2222\317\337\337\332OD4\366\372\352\256\\\305"
+"m:\210\210h\237yy|\324\271\315i\270n\2p\204]4\222_\327\262Tp=\0\204\211"
+"\257:\5\334\6\340\n\211\24\317\221\302\24\251\31$\211\326\362\247\246\243"
+"\304{\273\237\267\37\307\277S^AIx\211=X\326\316\313\374\324\223\343\302"
+"\\\207Y\233\264\306W\363\340\250\13m\366\3325\226\305{\350\317\234l\271"
+"\337\3174\252\34us\340\3476\372k\16\367\221\266\30\366!\277\325e\261\311"
+"l\301\204\264\b\333J\314\202W\n\327B7\13\270(2\210\216\212WaH\224\372\245"
+"a\214\3106\300\1\26S+\312\\!\335>l\276\7E\260|\343\36dA!\317\360\13\66"
+"|B\261\355YT%\277n_V\300q\0\300&\17\234d/\237\25\360]\0\300\6.\374VU\364"
+"\236\0\0Vp\77v\217\n~#\351U_T\360WI\351\35S\301\343\22x\246\n\316\341\302"
+"\354\335R\25\274\230\13\263j\266^\5\257\1\0\364r3\207T0[\36Q\376\362\254"
+"\230\320\362\254\342\27\203v9[\304\242\246\tv\325T)|\207\210\210\206D\305"
+"\340\222\214\315g1G\204eh\236\372\214+\256a\257\304\354\36\243\331\nk\30"
+"Q\203\210]e\4\370{e\237]\364\17\13\26\227a\327\213&\220\351,\217-5\314"
+"o~\253\322\325\347\242y\276\200\223\246\267\334\353,<\345\355\342\347\334"
+"\1\341\21\323\330\3516\212\333\270\207\200{\233\315\200\302\323I\321\363"
+"\330\350BZ]M\276\347\341\203\316\37\316\1o\257\270\3514\233\200*\311\221"
+"d\233\367\3736;\335\31\0r;\5\350{\377\342+J\330\366v\357\31\302\251\bo"
+"\2g5|$\42\242\3377\n\255\2613>\364X\220#\355\326\37368~\275T\374\373Y\240"
+"\354\342e\371\231\243C\357b\372\177\6---\255I\324_\42$o\237\253\316\303"
+"\215\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b"
+"\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2 IDATx\332"
+"\355\227OH\24Q\34\307\277\206\304Ri\205\177\20\323H\t\2\225\16\241h\n!"
+"\341BHt\353\240 \256\202\301\336\242[\370/0\365&\322!oYA]\274\32\3759\230"
+"\20dh\201\220\320\22\370\'QHd\355P\26j\362\3650;\316N3\357\315\370\354"
+"\370\373\234v\337w>o\337\276\367\233yo\0A\20\4A\20\4A\20\4\27\31\312\244"
+"\361ju\371i\0\370>751y\220>\357,\321\315\\GH3\3479\375xT\n\240id\260H\347"
+"\16S\305\366*I\356\24(\325K\177\30\304S\225{\213!\260/\316t\273\275\367"
+"\234\317/&f\27\177\354\2368Sv\271\361l\230\251\272\353\f\255\334\25\264"
+"|\365\373e\27\67\355t\364\210\'\253Y\322\313\371vX\347\333\365\200V\236"
+"\265\242\225L\305\237\212k\344V+\331PO\311\3\265\234J\3625\23\252\224\333"
+"\254 \246[\215\230J^!I&\364k\371\223$\337x\232\213\255N\353\365r\224$k"
+"=\315=$\311\315\2402j\30\177y\335\333\372\205$y\337\354\221b\215\272\314"
+"\310\315\325T\255\22\273\210+\0\0\277\314\344s\0\200\204\231\234\7\0X3"
+"\223#\0\200-3y\33\0p\314LN\2\0\212\314\2269j\262T6\205\207\221S\25\26\65"
+"\223\27H\222cfr\377a\306]j\311\335f\366\232eg\30\311\355\226\374:\350\272"
+"k\243\217\243\312Gc\247V\315\373D\222U\236\366\246\224\35\17\36^\2277y"
+"\237\262\373T\352\311Iu\377\21{;\231\316\361u\207\3667\253\243>i\375~\372"
+"\320s\177]x\342\354\222\255\276}\2678\27|\210e;\267^\303\310V\332\366\34"
+"W\234\303\232\237\245\177[\235O\376\215\344\226\374s\200\271\362N5\'\265"
+"\306\247\31\0\300+\235\372\261\42\250\204\222*\365me\210J\275\361\331\307"
+"Lv\37\17Y\350\331\267g\322\305\335\361\216S\7:\365\42\353\342\371\202,"
+"\374^_N|\223\267\3A\20\204\377\310\36\342\4vG\330N\350G\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\271IDATx\332\355\230MHTQ\24\307"
+"O\232i`\331\224\20\205\3\231C\223\326$\204\341\30\22IQ\226\321\27D\233"
+"V\325\246\26\3.*\260U\24Q\2136\222\5\225\264\220((\202\350cQA_\322\246"
+"\26e9\315L\301\230\221\225\37\210X!\22\335\26\347}\334w\337\271\367}\330"
+"\246\270\377\325\274\363\177\277w\356{\357\334s\357\33\0------\255\377"
+"J\323|\237Y]9\273\210\215\177\350\r\221\344\24\63\325\32\230=\316l\355"
+"\r\n\277\341\340a+Z\340\17\316q\277\347\5\315\\\231\347R/\f|\327\273\272"
+"\276\231p,\314k]9\216\360\222PE\261a*0\bp\301T\312S\303\377\f<\235\16\327"
+"m^S[\16\0c=\335\367\272\3]p\325M\346\320\235\244\244\302\334Z\237g.e\32"
+"|\301\245\217\31\251+>\340\335L\246\237\r\0\313\225\360i\246\320\231\346"
+"\363\2\354\350\333\235vc\34\275\376$=\364;\22\253o\251u\245\210\347\210"
+"\274g\255$\355\363\271\360\236>a\b\324\260S\246yYtZ~8\340\270\233M\230"
+"\336:\342\302\227<\340!t&\346\222\2172\305\301K]n\233\341\314\224\274\304"
+"\2036\\-\351m\324\220\fuXp\215h\35\303xJQ\362cR\30\303y\325|Y+\203\233"
+"0\334\244\234m\357$\360U\306\30c#\352\251\332,\2011z\310\327\202!\302\305"
+"\30-\367\200o\t\257\n{\230\321*\206=\340\33d\3L\0\0\300+\257\376\364\314"
+"\30\275\23^\4\0\0i/\270\217\314\214\365<\350w\241u\302\205\0\0\360+\\\323"
+"\377\16\0\0e\341\340/\270\345\361:\271Dh]\bg\261\331{\301ud\346\227\376"
+"\206\275\211\336\354b\351l\364\200\7\350\332\306\275\345]5;G21Z1\\\250"
+"\204\333%p\t\206;\374L*w\'y\212\361\250\202\355\224\302I\214g\345\354j"
+"y\3\204\27h\\\224\261\305v\353M\270\314\230\341\234\224\300\37m\270Q\276"
+"\274\222\271\243#\334\212A\365\347\264\341\345\334Om\237c\241\243\32\364"
+"\f\313=W\3440\32{\2055\366\365\26\67]e\333\17\266\233\301\212#\203\324"
+"6\341\353a\261\310\343\31\376(309k\361\2\373x\242kE=g\337\336*V\357g\371"
+"\226\344Z)\3248\2;\325\2538\257\375\0\0G\371\bq\343\311O\24\3720\202\356"
+"#;t\201,\207m\357E\364\271\265\177\204\3=\2141\306&\357\357\220\225b\305"
+"\t.}\266-\22\370\373\271jY\264\214\215\366\277\355\327\3771hiii\375e\375"
+"\1k\33Yx)\234 \7\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2@IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\214\2\24\300"
+"\210]\230\313\313\321L\223\233\201\201\341\377\255s\207v< \301@\301\346"
+"\17\377Q\301\42}\42\265\352\356\377\217\5<\16 B+\373\246\3778\300MmBzc"
+"\377\343\1-\370\365\316\376\217\27\34\306\27\332{\235\20\354\255\373\316"
+"\77x\377\237OV\327.\200\13.\370T\6\247\275\7\340V\314\323D\26\27n\202K"
+"<\303\245w1L\305tL\271\2\230\334I\354z3\240\322\77\260\306)\313a\250t\37"
+"\66Ya\250\3449\\\16\233\4U`\201\333\303\347qGE7D\305+L\31\13\210\314o|"
+"\21\271\1\242&\rC\342\4D\302\20o2\200\250\371\213\303\307s\361\247!\177"
+"\210*\77\64\341z\210\260\0\201\324\373\346\377\377\377\377\377\37C\23}"
+"\362\377\377\377\377\377\37\21J\372\323!v\300\270L\20J\32_\311\200\0<\20"
+"\312\5E\320\b\32\207\263\325\360i\25\251\204*\353D\21N\371O\22\330\213"
+"\342l5\322\n>1\24\315b\244i~\215\242\231\2254\315[Q4\177#I\357\313^\24"
+"\315\317H\321;_\36\236O\31\30\30\30\30n@y\313\346\\\371\364\27\257\316"
+"\77\230Bj\220(\330Fbu\3q\366-\b\347\42Y\232\31n30000\30\222W\337U\242\246"
+"x\322\200 Ds\25y\272\317Rb\2653D\363z\362t\337\204\350N\'K\26314\273\271"
+"\221\245\33VCz\343U\25\265p\266=\356\322\355\377\377r\334Z\363\376\377"
+"\377\377\377\277%\26\31\31XAq\32GE\232\13\225o\305&i\13/g\226\311bH\232"
+".\201\313\26`5\332\25QL\335/SB\210+\246\355@.\302\330\260\267\303\214\317"
+" \363>\337|\376\215Y@F\3\315\n\373C8B\204\343<\241\222\363\262\24\236\270"
+"(\303\253\365K8\376\370\346X\212S\3535\177\302\311\205o\42\66\235\337:"
+"\245\210Ln\3263\337!k\374\2719U\230\370V/\3\3\3\203\222\226\2740\347\337"
+"\317/\37\336x>\332;\30\5\243`\24\214\2*\2\0\237R\206\267\260\214L2\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0"
+"\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\240IDATx\332c`\30"
+"\5\243`\24\214\202Q0\nF\301\260\2\214\304(\22\23\347a\372\375\365\303\233"
+"\237\244\32\236\272\367\77\62x\270\243\325\225H\255Z;\376c\3\215\304\350"
+"]\376\37\7h&\250U\373\77N\360\f\242\202\t\247^\213+\270\315}E(\204Q\254"
+"\372\362\361;2\327\7\242\206\5\227\346C0\306\306\331\273~\303\330\322J"
+"\252Jb\177\257.}\217\337\342$\250\35\253Y\311H<_!z\213\310Ix\372\20\275"
+"S\311J\265\255\20\315\344%\371\343\377\377\377\377\377\177!y\232\277\374"
+"\377\377\377\377\377 \3624C\\\255J@\25\23>\311\317\224h\26\'Ks$\204\42"
+"\313\317\306hi\230\270bH8\330P\234\223WC\30.\360\375\362\247\277\3600\374"
+"\365\356\332\326\3538M*\377O\20, \220&\361\203\24\34\1\246JLxh\342\320"
+"|\230\30\315{qI\270>%\350\352l<\205\276\252\276\30\27\237f\b\234\277\375"
+"\342\307\77\360$\373\353\355\215s\204\235\306~\3b\315o\5rR\211\13\26\67"
+"\222\232\253\224(\321\314F^-\371\237\250*\224\211\222\372yT\363\250\346"
+"Q\315\243\232\207\255f&J4\13\222\245\31ZG\231\220\345\231\31\220\32c\17"
+"\311\201\300&l\17\357\230\354\363\226`g\201\2\2\1\300\330\367\25\177\315"
+"\376w\226\0N\315\27\b7g\236r\343\320\353GLc(\23Gh\377\42&Hpv\'w\20\266"
+"\370,nc3N\342\327z\241x\264\333\77\nF\301(\30\5C\31\0\0W\242\33\354\1s"
+",\315\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b"
+"\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\332IDATx"
+"\332\355\230MHTQ\24\307\317\233\301\234\f\77\262f\212d(\2151\373\320I\4"
+"\251\220&\3\333d$\30\321\302\222\42\246E\33\251E\31&Q\255\2\231E\264\210"
+"\202h!\225Q\13I\210\222 \3+\304\250\201RWZm\6i\264B%\34fn\213\373\346}"
+"\335{\356{\363&Z\335\377\352\275\363\347\367\356\235\373\3169\367\276\1"
+"\220\222\222\222\222\222\222\222\222\222\222\2222I\341F\353Z#\365~\0\370"
+"\365\351\315\263w9\301\241\236\23\246\373GW&\263\227\33\217\206\313\275"
+"\351\205\357\243O\370O\333\366\2260z\265\201z}Zd!\302c\357\22\256\272\1"
+"\0\272\f\201)\26\335\262H\20\215n\205\210)Phe\17\22\201F~\32\357^Z\331"
+"v\335K\335\357l\bV\324\36\211\315\360\237\364\242\314\3026i\326\343\32"
+"=Zp\211!\37t\4\254\343\26e\275\361\240\305\271lB\227\203\234u\36W\315^"
+"\326\252\2325\300g9\354\31\325;\316}\373\37ux3\307V\255(\222\211\t\r\366"
+"\261f\17u\356`i\34\324`\17\66p\32/\2m\321\331jh\241F\273\240\376p\370)"
+"!\204\220EQ\361\236Ga\32\277 ,}\25f\342\2454^.\204\27700]\273]\364fN\b"
+"\17\60\21\n\357\0\0\2001q\307z\215\3004]\'\305\360\4\2\227\0\0@R\f\377"
+"@\340\214\341:\207^I\201y\0\0\b\210a\77\2\317\320\306)\206\267#p\234\266"
+"z1\334\214\304=\364\375\7\205\3604\222$\231e\0\0\210\212\330\202M\230s"
+"\33\311[\203\256\241\205\21\246\306IW%\tI\273\241c\2\270S\355\330\30\333"
+"@\4\60\374\26\226\364J\275{\362\354\3\252\327\3053W\315\212ax\250\232\267"
+"Xk\267q\307\340Om^u\23\215\26\343&\261\207\327k\376\373\26=\32\350\263"
+"lsH\235\325\306\rmc8\236H\255\16\355i+qv\4\2\250\26m\356\303i\233T\360"
+"~\300\320\301J\350\266M\341\213|\366\24\0\204\354\363\277\250\237E\373"
+"\275\206\354\26\27}\341\325%\23\32+3\225\206\355\332\255m\335W_Y\f\177"
+"\276\306G\206\246\365\272\262\22J\16\347T\6\366\344s\352\375_pU>pS>\223"
+"\34\42\204\20\62\341\16V\337\272+\266\227\302\215n\3305\304Iv\2127\233"
+"snX\365\360\231r\2016g\213d\177\316\350\241\354i\232\334p\320\221\366\326"
+"\371}\212\2\240xV\224V\204\365\323\331\340a\333\201:2H+zn\77\311\20\326"
+"\306\3569\370\205\307\20\366\264\223\345\251\341\242\3>g\213\33e\310\344"
+"\365b\347\237\300m;\327\371<\0@Hji\356\333\3471\371O\301\77\322_\r\201"
+"\236KX\373\322p\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"%IDATx\332c`\30\5\243`\24\214\202Q0\nF\301\260\2\214PZRS\230\235\361\333"
+"\223\223d\30\21\366\352\77\24,&Y\257\315\177\4XO\252\346\26$\315\377\245"
+"\210\327\307\304\300\300\300p\27Y\304\211D\315\363\227#\211(\222\250\231"
+"!\312\242\377\32L\204\233\234H\343\337\16\361s\27\25163000|\364!\331>\204"
+"f\206\277\'\30\30\30\30\30\376\223\245\231\341\1\5\66\63|\247D\363\177"
+"J43\214X\315\214\224hf\2011\224Jw\275\375\377\377\377\377\247\33\363\345"
+"\t\33\64\367\377\377\377\377\377\317\202pr\337#g\362_\265\304i\336\316"
+"\300\300\300\20\375\37\3\324\23\243\371\223*\203\306\276\377X\3003i\302"
+"\232\377\37\334\372\37\7\260\304\243y\336\177B@\7G\330b\1+\267\237\177"
+"\362\235]\312\300;\n&r\31w<.@\266\344S\4\222L2Lt\5N\315\213\220\364N@\223"
+"\273\b\25W\306\245y\tBo\24\206\344%\210\304j\\\232\227\302\365zb\251\324"
+"\240R\4\63F\304vL\261\3779\20\332\202\200\315M\330\245!\222U8l\376\7\241"
+"n\326a\327|\220\201\201\201\201\301\20\277\346h\34\16\333\317\300\300\300"
+"\300 \217W\363\277\26384\337f````\20\306[z\356\301\25\31o\30\30\30\30\30"
+"8\361j\306Y\364\377\300H\317\230Q\365\5\227\346\277\30\32\230p\250\301"
+"\26UD\224a\377\207f\271=\252yT\363\200jf\304\241\231\31\177\355\305\214"
+"7\77\363#\221X\200\0\2064\262f}$\22\13\60\302\327\336\261\206\226\371\272"
+"84C\33)\371\330\344\262\3415U\22\66i\347k0\351vt\217\331\35Ai\1lC\263\235"
+"q2\212\364-\224J\324\17\243\1a\212\265v\206\203r$\311\355\30\232g\42\353"
+"\365\307\220~\216\24\332\77\60\274\370\23\'\7C\203\25\272\311\237\224P"
+"\324\356@\227G\tS\231\251O\221\244\356v\360\240\331\224q\nI\372\303r\323"
+"\321\356\377(\30\5\243`\24\fE\0\0L%\17\366\277~8\204\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1CIDATx\332c`\30\5\243`\24\214\202"
+"Q0\nF\1\275\1;\371Zc>\377\377\177T\226<\275.\377\377\377\377\377\377-y"
+"\232O\375\377\377\377\377\377\377\tdi\206\350\375\277\32\217\22&Bf\250"
+"S\242\231\217\22\315\377(\321\374\206\22\315g\311\n\355y\220\320\266&K"
+"3\307\273\377\377\377\377_@n\372\254\332\275&h4\203\217\2\6F4\276t\200"
+"\276(;##\3\3\3#\343\237w\27W=$\301\254\366\377h\240\203x\275\256\3771\200"
+"\27\321Y\22K\231SD\264\315z\2306\377\'\336\335\341\237I\321\214\36\332"
+"\f\332:\42\354L\f,\374\372\236\270T\20\3\24~\221\352ld\220E\211f%J4\263"
+"\221\36`\310\265\25!\25L\224d\214Q\315\243\232G5\217j\36\246\232\231(\321"
+",H\211f\23h\235E\226\217\366@j\214\31\304\353`faaaaaa\227\360\336\7\253"
+"\240\227\333\13\263AD\231\3614\13\66\375\'\2l\320\301\246\327\342\77\221"
+"\300\24K\200\245\20\353\263\24,\232\177\22\253\31\233B\225\257\304\271"
+"\372\223\22\326\276[\327=\302Z\357v\360\214\266\271G\301(\30\5\243`\250"
+"\2\0\214nDk\371\23\316\301\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\243IDATx\332\355\2301K\3\61\24\307\337]\265\302\265.\242C\25"
+"J[AP\224\16\42VD\250\322M\305\315\305\321\311\311\305O\340\352\324\341"
+"\300Q\301\321Ep\353\42\305\311\301\251\350\324\251-\330\241\255 X8\324"
+"\347\220\210\264\327K\356\336\t\202\276\377\362\340^~IH^\336\345\5\200"
+"\305b\261X,\326\357i\204\216\332\210xBd\317\20\21\261Hb-\24r{L=\274.m\216"
+"\2g\244MS\340\270\2641\n\374!-R\340\216\264m\n\\\221\366\201\264Wb\247"
+"\272\264 \331CD\304mb\210\315\331\245b\206\17\370\277\225\341\372\262\271"
+"\226\212G\fw;\247yw\361\252\356l\241\216\n\355\253\3412*\225T\36\311\254"
+"\272\357\3%|\255\206\363j\367\245r\332\r\315j\307V\223}\253m\f\217\257"
+"\310\274\333\31\243liA\214\334\246\5\3049\42\42\266\202&@\241\22\220~7"
+"B\215\1\271\3337\354\204\31\31\303\300\3000\303\f3\3140\303\177\31\66\302"
+"\300fO\201\26\20\216\2\0\300\33\r\36\5\0\200.\rN\364\224\206\1\341y\0\0"
+"\250\321\340\2\0\0<\322\366\24C\324\204G\2\216\206\30\270I\n\222+aH\217"
+"%\266\347k\207\376m\347F\262\307\201\321\351\323\257k\376s\277k\310\325"
+"8\2734i\231\206\270\341[\23\63\263\337\236\234n\234\305\252g}\261\243\235"
+"\2447\273\245e\323^h=\345\347B\77\230=\364\265\266\371\226\233\274\335"
+"\365\235\2326\226\247\254\210\b\311w\347\345\251z_\343Z\377\247\364\t\344"
+"KR\336m\276\333\42\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2\206IDATx\332c`\30\5\243`\24\214\202Q0\nF\301\260\2\214p\226\244\246"
+"0;\343\267\'\'\3110$\364\345\177(XL\262^\353\377\b\260\236T\315MH\232\377"
+"K\21\253\213\tB\335C\26s\42Q\363\202\345Hb\212$jf\210\262\350\277\6\23"
+"\343&\'\332\370\267C\374\334E\252\315\f\f\f\f\37}H\264\rY3\303\337\23\f"
+"\f\f\f\f\377\311\322\314\360\200\2\233\31\276S\242\371\77%\232\31F5\323"
+"T3\13A\25\336\16J\374\254\214\377\377\375\373\367\373\353\323\23+p+\234"
+"\373\377\377\377\377\377;\221D\264\237\375G\5\1$8{\256$\232\300\2\22\64"
+"\233c\344[E\3425\177E\27\270r\237x\315\273\321\370\247\3I\bm${\30\366\37"
+"\273t\364))Qe\13ge\316 5\236\313L\240\214\363\306\377IMa\25\260(\237l\364"
+"\237\310\24\6\257\374f\246A\31\211\13\210N\2360\327\34\260\2072L\316\22"
+"\237\266\331\30\30\30\30\30\204\256J@\270wu\277\223\220\253\204\31\30\30"
+"\30,\337B\365nP!\262X\204d\214\213\f\f\f\271\260\214\320Dt\6\205h\376_"
+"\32v\20\2467\222\370\334=\17-\377\375w\246\240$)\337K\202ft\243\2263P\240"
+"Y\231\22\315\223H\321\314\210&\253\273\234\222\2427b1\31\265\344\271\213"
+"PF\3142\242\343y14zM\30\30\324_@\331\253\210\325\274\20\242\336\227\201"
+"\201\201\201\341\2T\367:\42\65\317\377\377\377\377\377\377\177\240\274"
+"SP\335\233HI\236\333`\334\343P\335\333H\b0x\263\306\362\b\204\366\334E"
+"|T}C\224\235\7!\264\353>\2425\377E0\35\240\272\34\17\221S\77;C\253\f\333"
+"\343\344T\356n; \264\305iB\232\231\261\350\366\334\n-B/\20\320\314\217"
+"\315n\37hX\353\337\304\257Y\37k\336r\177\b\241\325^0\341\321l\213\243\215"
+"_\4\245\305\377Z\343\322,^v\b{\256fx\4g\359\26)\216i\270\374rD\221\331"
+"\216.\331\214Z\244^\211B\225V\370\205$Y\206\256\31\275@\376_\205\42\335"
+"\210,\345\205\246\327\1C\363+\24\77\377DV\214\236\211>ax\362\7\n\217\367"
+"\1\302\330\f\f\265\313\320mNESPw\375\377\377\377\377\377\377Zg\216%\256"
+"\342\216\42\351\374\270\322b\264\367\77\nF\301(\30\5C\22\0\0\f\306\222"
+"j\7\264\231\324\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0"
+"\365IDATx\332c`\30\5\243`\24\214\202Q0\nF\301\260\2\214\350\2\374\272b"
+"\234L\214\f\f\f\214\f\177>\\\277G\212Y\246\27\376\243\200O^\304\353\345"
+"\373\374\37\35\250\20\2559\0C\357\377\205Dk6\304\324\374\231xw7b\352&!"
+"\264\225\302\215%8\230\30\230\371\24p\306\7\61 \212\260\315x@\33%\232u"
+")\321\314Er\200!\203\377\204T0Q\2221F5\217j\36\325<\252yT\363\250\346Q"
+"\315\243\232G5\323B3\23%\232\5)\321l\2\241\24\310\362\321\36H\303u\6\361"
+":\230YXXXXX\330%\274\367\301\372\t\313\355\205\331 \242\314\270\365\351"
+"m\372O\4\330\240\203M\257\305\177\42\201)\226\0K!\326g)X4\377$V36\205*"
+"_\211s\365\'%\254\35\311\256{\204\265\336\355\340\31\355\372\217\202Q0"
+"\nF\301P\5\0\266r*\177;\225\323l\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\33IDATx\332\355\226\315K\25Q\30\306\237{\323\220>$\42"
+"\20\303(\27}\210\201\4m\305\177\300\215\253>6I\222F\213PH\22\64\202\210"
+"\264E\244\13\27\342\322\213^\211\224\n\2020(\312D\220\273h!\22\6\272\20"
+"/\231B]\b\324d\336\26g\346\314\373\316=\343P\255\204\367\267\270\314\371"
+"\315\363\3149\347.f\16\240(\212\242(\212\242(\212\222@\351\2557\337\275"
+"\302LO\245\260-/W\177\377\230\356\256,\212\327\337\317\274\30{P\17\08\372"
+"\214\2\336\333dY\306\312\3313\242\332\364\305\367\205\333\247\316\17\20"
+"\347\272I\334\20\262\233u\37\376\244x\372\0`4\42\207\302\362\4\355\306"
+"\\\313\235B\221\354\261\345\326\317\364\327\324\370\335\24N\366]\216\374"
+"\201\13\223\371\263m\245\21\371\341\365\372\271\326rs\235\273\30\372\232"
+")\376\330\334i\0\300=1\327\344a\0@\273\77\254\346\217\35\16c\217\2\327"
+"\305\2727\355&\315\3701/\227\331\330\335P\256Xy)\2249\42\42\372*v\24\304"
+"\6\231\273\26\310N&\33\215\22\345\274q\313\256\345|tL#\324\222q\265\256"
+"\345\34s\310\24W\213DD4\17G\356\235\224\333DDt\0\0\2206\312\3\0\214\310"
+"\334/\0@\306%Kx\331l\42\'s[.\271\303j\242\374M\346\314r\326\42{a\327i~"
+"c\323\225\333\214\177o\210\231=W\302K,\377\33Z\326\262\226\343\313\251"
+"\377)\357c\277\21J\342\245_6_\260#2\221J\222~\271\2\0p\3015I\242\274j^"
+"\321\13\62\261NDD\237\22ds\360Uzu\210\3476\214\314\356w\310\361\203fxe"
+"5z\n\361Y\13d\257Kf\33\200\206\214<2d\331\t\301\312q\227\244y\214E\17\34"
+"U6\307\216A\'\\\222\322E\357\364-{\305>]\333.\t\324>\221\23\77e\367\236"
+"\7\262\337%\351-\200\272\241|0\334\231j\22\253h\236\213\223\336t\307q="
+"\247+\212\242\3541\376\0\2435\200$\31\360\362>\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\1\314IDATx\332\355\226\337+\203Q\30\307\37"
+"S\256\3246\253]Qb7\242\321\256\20\256\24\211QV\213\13.\344/P\324fI\222"
+"\37\27\22V\342\306\305\256\354N\270T\312\374\7J\224\254QJY\354\302\326"
+"\330q\361\276\357v\316y\317\363z\313\225z>\27{\337\367|\237O\347\307\352"
+"\234\3@\20\4A\20\4A\20\4a\227\332\231d\2061\306\262\27\261vuE\225\361\342"
+"\t\5\274\354\345:a|\17\255\371\371\272\335h\16\357f\236\351L\0\0@\353\r"
+"\223\331G\335\266JQ\30\0V\231\212.D\36\343j\326\27\237\230\232)\265\354"
+"a\266\b\253\355\201\274\271\364ac\330\347v5\7\367\n\345&\37\62\362\230"
+"\244\306\353*\331\340\273\336\230\306\26\255\227WS^1L\350\355\323\230}"
+"Zq7M\341\241\26d1y\256\354F\24\351\235\365\254\'\rwK\225\372\265,\212\310"
+"\343\272{\245\216\37\31c\214]p-\16\356\275\244\77{\324\362\21\0\0t 2\323"
+"\36\21d`\227\0\0\340F\322Qm\324\16$n\320b\313\236\277K\210\374fj1\313\367"
+"\330\77\371i)k|`r\311\206\\\264\277Q9\376\262\313\221L2\311\277\310\325"
+"\334\257\255~\370\26\27\0\081\331e)\7\0\0\240\5\223\3\372>\250\fk\364="
+"\77\204\310gZ\274\255\312\202\31\343\264YPN\373\300\210\227\345\2441)\234"
+"\315\251>\271`\201\217g\205\250\251(\337\nFDwGL\205\323n\305t\2458\27\227"
+"UJ_\371\325\316\233fX\20\267\354/\213\375\337\231\226{\356\26\253#b*N\32"
+"\226n\271\3549^/\217\244\377\244|]\312\35w\322\305\234 \b\342_\362\3\376"
+"\314\376\307LfN\30\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2YIDATx\332\355\227MHUA\24\307\377F/\210\350\5&\42\30T/\245\242D1\373"
+"\242\240\205_\201.\204\244M\20\321\242}\242\224\37\313>\b\212Z\330\262"
+"Z\304[\2642\220V\21\271\211\262\205\b*\332\7\t\205\25\212\206\202\226\274"
+"\340\270\230\231\353\235\367\346\314\\\301\345\371o\36\357\374\317\357"
+"\336\271wf\316\231\13\210D\42\221H$\22\211D\42\221\245\42\3168\327p\272"
+"\252\24\300\352\344\3077\203\1777r\311\313#di\366fQR\364\19\224\335\225"
+"\4\275A\214\356\5\321=\323\304j\376\240\237m\'\257.\371\330\353\261\304"
+"w}\315\225\245eG\332\356\216\306\202]<\333\21%\215\264\306\343\27\306\42"
+"\243\203c/\232\214ou\371V\335g\343\265\273\331\275\306\357s\271\235\306"
+"-w\302\337\265\333\340\276\366Im\177u\231\335\332\254\345\236*\343ylm5"
+"\363\357\363\270Na\327\344\255\4\63y\233\271\361\234\177\r}r\337ZOS\275"
+"\37\326\3o\313\13\17\21\21\321Lh\351\253[\277v\216\372Zp\243\273\306]\241"
+"\202\341-\257\362\366\253\77[\324\317\31\0\300\42\5\341\5\0\300Y\13\256"
+"\6\0\274\r\227\212!\0@\215\5g\0\0cax\42\226n\340\335\0\200\337aX\245\224"
+"Xp\n\0\360\77\f\347\0\0[-x\31\0\220\240@\246\1\0+\26\374\13\0p \f\253\247"
+"\375i\301S\0\200Sa\370D,\335\250\211\333l\356E\322d\305\266\251\340\261"
+"\20[\245\362RvtE\365\224\20\374\204\210\210\226\363\242\217\222\215[e="
+"t\27\250~\77{\337\332\27\5E\242\322\307\352\342<Y`\234\327\235\330\7\377"
+"`k\344\204r^\361\354\200\312pm\237\303\272\260\276\340\330\347:\301\331"
+"h\357\230\366\310\354d\362\26\347a\323\216Z\300\275\22\242\17\334\300\26"
+"M\306p^\233\254}o\234\77\354\33\331\261\32\365\341\271\336h2\367\365\314"
+"F\341\177\333\371sXj:\336@\347\277,\240\270\242$>W\31o\275x\351;\222\f"
+"\204V\357U\236\275\222\340 \366\314\215>Mv\2L\77.D\373w&\77|6fs\353`.\333"
+"\270\301S/p\364Py\32K3S\343\362m \22\211D\233\25255V\243>\222(\225L\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0"
+"\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\322IDATx\332\355"
+"\230KhSA\24\206\377DI*\212\250\225\372*JA\260\245)\212\26\27i\265*h\214"
+"\233\200E\27b)]\25\351.\305nDQ\21\225\202\241n\342\242J7Jq\21H\320\306"
+"GSJ\20)\226\b\245H\213i\322E}G\21\212\202J4\343br\223\3738s\3575\212\253"
+"\371\27I\356\371\31773\231;s\346&\200\224\224\224\224\224\224\224\224\224"
+"\224\224\224F\16\261\345\363y=\313\1 \375<\31\177%\204\267\373\33V\273"
+"\330\327\354\350X\231<\333\242M\34\354\317\220]D\230\242\231\265<r8\307"
+"\214\232n!\3303\352\4\0\300=Fkl\205\1\276\243\366/\0G\231X\'\365p\247\306"
+"\216<cf\272\256\247\373\4\211\363\241v\317\372\232m\376sOU\301a\303\310"
+"\333.-\350\311_\275\352\273\350\233(\31\267\210i\273\246e{\364~\303\264"
+"b\5\tZ\215N\270\210\204\240\3426\32\275\3312{\223^r{\212\366\33\243\225"
+",\261C\242\5\273\253\230\320mp\22\332\205B\352X1E\f\2572\331G\267y\312"
+"q\21|\336t\27\362\234)}xT4$\215.\323I\217y8l\16W\361\254\0\0\300Y\n\27"
+"\370\333\2009\374}\216\357Y\32N[\224\236\273\0\200V\22\236\261\252[I\0"
+"\200G\7\363Ixa\5\253[\327\3039+\370\23\t\323\327\246r\352\212\360\6+\240"
+"\206\204\371\247\35V0\337\217\337\310\236\353\254\340\3\0\200)\262g\354"
+"\264\200O\250n\230\1\16\232\263\325\265\0\200\373\25m\2140\235\224\20U"
+"f\265\226\361\234\230\260\30\230\315\331C\236\262[\264\237\331;1\333\303"
+"3\214\347\345\243R\1\34\21\261G\212\tm\6\347\1\263\242\225\362\27\67Z#"
+"\252\242\277\260\205`\373\231\370~h\17\345+z{\337G\305\332O\3001\335I7"
+"P\253^W\231R\374\24\365@\23\r\350\233+D\237\314\346~\256\254k\366\325\227"
+"\203\275!j:\242\274\341\311y\323\303\275\203\236K\16\277\334\352\350\22"
+"\243_\32a\6\337\0\340\214\t\330\220p\365p\270\17\0\2607C\240\303k`\1+\247"
+"gsDK\276>M Ku\327\371\342{\252\35M\207\274M\233\335\300\333tj<nQ\42x\317"
+"]\225UOu\365\256\20\206\204\377\13\354\370\233S\322\255z\375cx#\0`Se_\200"
+"o\200TE\354\240\350A\333\352G\231+p\260\243J\211\274O~\370\221_\314\216"
+"\177\266\327\300U\262l\f\331b\273\5E\347\242\235\331\366\n\254V;\260h\202"
+"\'m\215;L\216:bs\266\327\371\353\253\335K\234\16\240P`\214\201\345\27\347"
+"\22Y\371\377\300\77\327ol\362^\316-}\200V\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\2\323IDATx\332\355\230Oh\23A\24\306\277\244"
+"\25\23\n\255\42\226Vb\333\250$F\33\264mjU\304\177$-\332\233\212B@+\5AE"
+"\21D<xQ\250\364 \275x\221\202\340\241\42\236\4\253E\264\332\332\203\242"
+"\25#UP4h\221\330\34\254UK\325\2024\315z\230M2;;3\273I.\36\346\273\354\316"
+"{\374\366\315\274\314{;\33@IIIIIIIIIII\311 \7\337\274=\2629\270\4\0\306"
+"c\303w\223\371\300\321\323M\206q\372R\327l\346~q\264\251r\301\374lr\364"
+"\246\306{\334\5\215\243\276\22\342<\2233u\230\321C\232@G\1`\37mia\331G"
+"\232PC^\4fh\303A#\352\235\327d\32\374H\217\276\324\30\22\266n,w\377\341"
+"\316\263\370\224\266\310\33j\335\312\317\364\253\316\327\364\260.\373\320"
+"_\307h\373\266\207\2469\f\34\251e\236\225\312\270\16\263Q<CFv\203i\36\203"
+"\272g\2047\311(\315^\26\272\257\360\227\270\202\202\333M^\335\321+\332"
+"\212Ksp\3\353;K\354O\305U\320\234\205\327\n\2;%5\324\235\201\3270\2160"
+"1\237\224V\240\b\276E\314\362\362=.\200\211\265\333\242\370\371p\5\261"
+"z,`\275l\2\2311\311\320F2\230\260\200o0c\2\327\3\0\306\254z\326c}\366F"
+"x9\0\340\235\25\374\231\33\271\34\0\360\335f\323d\42\247e\235T,\2O\3\0"
+"\252\362m\327Nj1A+\312\307\215\374\6\0\340\267\202\303\334^_*(\27F\317"
+"\231MbhA\275\5mO\\\265S\30\347\5p\3\61_,\250$\361\203\330\227I\330\353"
+"B\270\203\330\23bv\257&\2041M\34\367DlH\223\300;4)\275\223j\275\1\263\373"
+"\232\356J\360\326}\216n\372\253y\5\227qv\261\236\226O\206\267\ro\'.\314"
+"\271{\252)\373\376\267\314k\316\317;\223T~\315\335\317\335~\362~2UQ\27"
+"j3\257\320\37\347e\305\225\220\277\334\247\310\325\'\370A\372\304h\177"
+"\r:\3450\332\376\n\330\3\0\334\26\60p\202\207\366\320\273\333\'+\200\326"
+"\373Fr\342\224\2614|\26\307\307`dS}\255\33\230\214\307F\6RL\337\344g\333"
+"\272\351\32#;\2139\365*\370\177\207\35\305\300\256b`OA\360zri/$\77\256"
+"\227z\231\205\345U\305\234Y\33\253\334\245e\253\302Y\303\213\376\7\61{"
+"\1#\337x\355a|\213\255\311\376\346\367\245\311\2256\22\326X&8\2757\333"
+"\210\\\236\342G\236\t\330\231\367\36\356\247\332\317\3356\263\275+T\355"
+"*\201\3\16\247\323\1MK\317\375I\216\16\253\277\17\362\327\77[\222lf\264"
+"W@\341\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x"
+"\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\240IDA"
+"Tx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\214\2\24\300H\264"
+"Js}\311\377OO_\302\251\231/\324H\202\203\231\221\341\327\313SK\276\241"
+"\350L*\322\206\262V\227\337\307jv\301\177$\220\214$Q\217,\361\177>6\275"
+"\352(J\376\313\303\304#\376\243\201OR\230\232}Q\225\364@D\231\367\374\307"
+"\4|\30\232\5\177\241(\270\316\300\300\300\300\340\375\37\33\330\211i\265"
+"\343C\24\25\f\f\f\f\275H\374\333g_\303\331\254X\274\255\22\234\337}\f\246"
+" \203\315\3422\\\365\f\25\6\6\6\6\2064(W\bW\204\272\3004\334\205k]\204"
+"\210\321\226\377\377\377\377\337\212;9,B\363\341\77[dY\356\232U\265x\322"
+"R,\252\336m$%Y\27\24\2755\244\245w;d\275\276x\24\262\20\60H\343&\331\232"
+"\237+\376\304\'\315\204O\362\212\24^\275x5\337\320%\340\'l\232\377CiM\6"
+"\3625\347\220U4Y#2\6\371\316&K3\4|\247D\363\17J4\377\243D3\303\250\346"
+"Q\315\20443\222\247\231\231X7aS\42\310\300\300\300\300\300O\236f#\22[+"
+"(\340\3\244$)$\250\220\31\215\313!\355\267Q\2\302v\27{\373\365\37#\23\23"
+"\23\23\23\23!g\360\315\370\363\37/x]\217S/\307\243\377\4\1\316\3722\365"
+"\77\21\300\0Gh\377 &(q\326>\'\t[<\37\267\261\205\347\361\352\374\273\77"
+"r\264\251>\nF\301(\30\5C\33\0\0\314:\360\255\231\213qC\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2SIDATx\332c`\30\5\243`\24\214\202"
+"Q0\nF\301(\30\5\243`\24\214\2\24\300\210C\334\313\331\\[\200\201\201\201"
+"\341\375\225\23\273w\223bb\356\375\377\250\340L\4\2616\367\27`S\270\374"
+"\340_u\345\327sN\343\2655\360\77^\340\202Oo\17~\275\377o\342\321;\355\77"
+"!\200[o:B\321\3339\361\306\342\234\234\22\246\ts^!kV\305\245\227\31\256"
+"\244\203\17Y\234\257\5\241\331\34\227\346)P\5\3331\245\266\3004[\343\322"
+"\f\225_\206Mn>\1\233\245\360\206\311C\210\244\32\16\315.\20\351\231\330"
+"eu1MfBb\263C\250\247\3305_^\301\300\300\300\2003\236\365!f\357\305%\177"
+"\343\377\377\377n\f\4\2\314\20\227|~\233)\3564r\32\252[\227\234\314\355"
+"\b\213\314~f2t\357\201\'\244SE\372$\227$\177\221C\237\341\343\255[7\257"
+"]\276E\254\325\242\177\261\345\244\275\205\n\304i\77\204#+NS\42Fw\350G"
+"\34\332/\331\20\243\335v5\16\355\273Y\210r\274x\370\244\343\337\261hw "
+"\252\334\206$|uM\35CsId!\377M$\306\276r\351m\204\335\32\244\247\36\311"
+"\3450\315\257\311I\272F0\335\251\344\350f\202\6\340{\262\352De\250\325"
+"B\210\322\26I61\212\345\16\36\315\3575u\30\30\30\30\30\316^\303\42\271"
+"\350\377\377\377\245\370\254v\207\330\\\213EJ\17\315M\230@\23\242\271\35"
+"K\1\30\310\300\300\300\300\320\214G3\264\324}\203Ej\35\241\212\214a\7D"
+"\205\23\26\251#\20\251\58\365\232\341\251\23\316@\345rq\350\225\200\312"
+"\37\303&y\16\226\204&`o\341\300\244-\261\311\236\204\247\375\337\230)P"
+"s\37Lr\33V\243w!\347\333M\341\274\b\31\215\332\27\330[\6\210\374<%\33\315"
+"\264\327w^~e\342\227\326dCI\243\367\260\332\354\367\2370\370\'\217+*\36"
+"\21\324\273\25w\32P\330\365\377\365\302\224\2245\270\264\276\363$&\357"
+"U\376\306\242\365\2547\261Y\327p\3423\24\235;\223\230Ii\36520\310h)\210"
+"q3}\177\373\370\346\365\321\316\301(\30\5\243`\24P\23\0\0\3540\344U\236"
+"8\374\222\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\303"
+"IDATx\332\355\227;K\3A\20\307\377I\20T\2\202 \22\237$\22\37Q\301\b\21["
+"S\210 bc\25\304R\77\200\340\7\260\323\322N\4\203\215\26\212`c!hj\321:\7"
+"B@0Q\204\304&\220\370J\306\342\22\262\207w\311\356\372\250\346_\354\335"
+"\355\355\357f\3669s\0\213\305b\261X,\26KP\257>:nPzF\27\66\210\350E\223"
+"\35%\42\242\250ls\267\345i\n\0\20\321\203\273\1\0]zp+\0\240E\17\366\b\245"
+"2\254(+\354\22Je\330\354m\263\36\334\7\0\350\227\205\255.\22\224\374\266"
+"X\216W\256\307MJ\226\203\13c>\377P\255:\225~#\301\241r\341\361\372\320"
+"\351\23{$\241%{vE\206\245\274\313\266\317#R=\364\6l\341+)8\231\262\257"
+"_\223\360\372&\3508\317\23\241\256\300\234\277Z\2339\177x\25F\33\245\302"
+"\323\355c\3\3076*F6\265\266I\226\210\210\312zk\373\22\0\220\320\203\237"
+"\204R\31~\27Je\230\304\275\365\257\307\20\303\f3\3747\260\353\'\207\201"
+"[\17\376\374IfP\4\0\264\353\301f\3329\250\7\337\253\345$V\371\314p3\257"
+"G\233\260sL\33\b\325\201OM:n\3732rBD\306\260#\34\256\304\311\213o\371\347"
+"\320\366\207\371j\337\331t\242\32\313w\5\7\303\353W\265 \177\346\274\24"
+"\275\371\332}\346.Wj\355\364wX[\304\216\234MG\33d\27;u\7|\266.\33k4\331"
+"\206\23\371\274*1\333\313y\33\62\273\25\220\\,\323\7%\21L\355.z\3246\376"
+"\344pO\233\247\230K\247\222%\376Kf\261X\254_\324\27\304\227zmbi\207\242"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\317IDATx\332"
+"c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\214\2\352\1F\b\245\354\247"
+"#\302\316\360\365\341\376\315\330\24EXHs132\376ywq\325CL\331\31\377a\340"
+"\225\32\206d\340\177$\320\201!\35\203${\17C\366\3\262\346\377^H2L\f\f\f"
+"\f\232H\2\212\372hz\25\371Q\270E\350f\273\42\33\235\216.{\t\305\346\377"
+"\3506\357\316@\22\221B\327\34p\222@h3X\272\305\250@X]\345\30\212$Le%\215"
+"\274\320t\240\202F\210\263\272pX\243\360\13\303\331\310\340/^\315\fY\330"
+"\375\f\5\373\31\30\30\30\30p\31\315\260\3C\4Y\363\13\374\211\361\t^\315"
+"\277\360k\376\205W\363\177R3\6\23%\271jT\363\250\346Q\315\224if!\42\77"
+"\3434\216\37\257\346\1778,\200\2-\42\212!n\\\232\303\360j\376\314\300\300"
+"\300\300 \211Ks\16^\315/\31\30\30\30\30\364q\350=\210\778\275\361U\t\353"
+"\260Tt(U\22D6\n[\214\236\376O@3\3D\366+\246\204/R\25+\207C\363z\210\364"
+"\\4a\361\355\310\365\363D\34\232\315\241\362\363\221\5UW\241V\356\377\33"
+"p\350\276\6\225\377\21\7\25\320\250{\376\37\3\374I\304\252Y\23\241\342"
+"\335\311\203\227\276\377\307\1J\260\352.\303\245\374\377\321\251\217\21"
+"\234G\330\35\336\217]\353u3\6\6\351\227p\356-\34\336.\302\242\365O,$\350"
+"~\303\4\342qE\266\362Y4\255\217b\341rmO\376\377\377\377i\271)\236d\252"
+"\267\24\241\363N\243,\301\206+:\20\64Q\22dx\377\360\312\223\321\246\375"
+"(\30\5\243`\24P\35\0\0\f\206\267c\25J\366B\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\2LIDATx\332\355\226OHUA\24\306\217\27,{\4\t"
+"\271\321L\241\324\b\362IB\20\201\213P#Bt\231B\240\4.$\334\4i\20\356\22"
+"E\322\245n\202h\241D\20\251H\6J\2710\204\42\20\305\310\215\240\321BZi\201"
+"ft\277\26gn\367\337\314}s\243\225\234\337\352\315\371\316wg\336\235\271"
+"s\16\221 \b\202 \b\202 \b\302\377#\217\210\210\352\257\236=q\304q\b\256"
+"\353\272\373\337V\246\276D\322\312[\252\213\n\34\307q\362\310u\17v6\336"
+"\316{J\311*\242\f\205\275\303\261\204\265R%=G\234\353A\357\rM\302\13\42"
+"r\210(\253\371;\347\214\3E\2652\277\322h\13\306\201b\326\373\3618\272\246"
+"\3577\303\231\255\77\242\31O|1\323>\357\307\27\357\325\306\'\272\330=\355"
+"g\274\3518\36V+\177*\245\317\264\253-*\341\367\371\270vZi5\3063\241\22"
+"\316\350\264\1\326\232M\336\243\254\17\'=y\306d\276\315\272A\35c5\337 "
+"oF_s\210B\355\321\364\270\304j\261ia\257\223\26\66\7\0X0\276\316,\233\357"
+"\350\264\223\254]6\177\240\353\0\200}\2354\n\0\330J\370\272\233\371\361"
+"M\306\255hM\272\33~\1\0>\307\205\273\211\373\304tsN\326\360\324\7\311\327"
+"\22\233g\r\347:\307\2356\302Y\205\221\360\247\304\3\342Q\300\346\261p\364"
+"\2GO\345\272N_\352\26\310\337\362b\316\273\270\212\315\367\203\261\f\307"
+"\352r\337\344\313\361\251\371\346\335\266(\3\215ln\213mA\207M\21\331\5"
+"\0|\365\3]V\373\304tr\356\225\277\201\35\0\300C\273\372\305\346w\336\260"
+"\201\307\216\235\271\237\263\275j\364\36\0\360\314\266t\262y\234\7e<\252"
+"\2605O\4\337\320S\0\300G\353\242\255&\33\b,\343\232}\311_\362\247\346\27"
+"\260\233\242_\250c\363\bQ)\377\352J\323ml\263\247\267\351C\212\3\342q+"
+"\\P\37%54\232\335\n\2152{\332$\323\271\t\25\332\311\275\224=Vp\325Ui\33"
+"\264A\337;\227\276\275\363\333\220\242\364\346r\257\317h\374\247\326\262"
+"g\r\330\34:&=\266 \b\302a\341\17\252\30`^\34 4x\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2\311IDATx\332\355V\317KTQ\24\376f\20\301"
+"E\tF\t\302\24\322X\233~X\13)\244\42\265\311~@Am\213\bZ\204e\213\214\372"
+"\23\232\26*\243\31\21\326&\242\300\n\251\30\23\r\372\261\210 \205\222\240"
+"B\212\bJ\304B0\314\312\371Z\334\373\356\273\367\275\373\336\270h\23\334"
+"o1\357\234o\316\367\3569\347\236\373\336\3\34\34\34\34\34\34\34\34\34\34"
+"\34\34\376\35\22\0\200\246\306tyI\242P\3703;1\322\367=\42t\311\301\r\225"
+"e%\311\4~O\217\77\32\364\330\2527\324q\306\256=k\4\275[.\351\3334\261\326"
+"\246]\37\b\352\7\220\4P\33\210[e\23\327\4\374Z)\36\f\360\317l\342\247\1"
+"_\211^\350\371|\311\330k\316|\325\243^\372\177\\Qdg]\364\316l\275\256\302"
+"zu\276Gp\263\251\370\215\335/\265\227MZ\220\27\213\215\305\204\210\223"
+"^R^\273\1\0\63\305\304s\0\200\336\0[O\222\274WL,\26n\264\322\77\314\255"
+"\2755\365)k0\245F\326\301jtf\37I\362g\271F5\213\266\206\304\327H\222\r"
+"\241\249\252Q\355$\311>\4\32\206\1qk\77\260\303\233\303->\267\13\0\220"
+"\17\255\\A\222\34\13-L\16\7\271TT#\225\273\315\37E\305\245\2\276J\33O\0"
+"\0i\317=\351\337\366\260g4\1\0\306,bQ\364N\317=\340\213O\251fG\224\fl$"
+"I\336\227^\203~\204\22\222\234\16\355\210YtA:wtq\213\275-:>\223$K\3\275"
+"&\311\367\202\253#I\376\202\245fYKF\373\365\220\26S\266\3\0\360\300*\326"
+"\307\344\204\234\250\363\342\332R\244_\300b\222\344\7-\353<p\203$9\251"
+"\221+\342\316\233\177&\270\31X-\2544\200\2451\375\2\206I\222\333\2255\t"
+"\0\243$\311.\0GH\222\257#\304m$\311n\240J\254q\16\0\16\251\365\372I\222"
+"\331\b\361:\222\344\267*t\b\301\42\255\2306\324P%\26St\266\325\330\335"
+"\207$\311\231c\271\330\222\201\217\362\1l\314\325n\341M\211\313\\\244\270"
+"\307\230\253$,\303vW\217O\352\316\200\356\274\362\306\374fd\210\2012}\215"
+"\243\36\273Ig\253\303_\6\252c\326\177\30\25o\244\215!\337|\356\233\227"
+"|\363-\242\305ZE9\337\354ZH\311\300\32\313S\17\300\274b\233\213\277\213"
+"H>\326\331lh\373\254\30\367\242\366\350l\245\307\316\307\276\5O\333\262"
+"\6F$\233[\310;\324\337d\375\310\220\25\361\342\275\366/\204\343\266[\206"
+"\261\354\302\320\325\3720]\335\236\357\\\351\276\266\35\34\34\34\376o\374"
+"\5\352E\303`\264Ual\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2BIDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\214\2\352"
+"\1F8K!\320@\214\203\211\341\337\337\237\37n\3579\202\246L\327KS\230\203"
+"\231\211\361\337\217W\27\326\77\3000\245\377\77\628\312\205\42\271\32E"
+"r\2\272^\237\377\250`\32\262d)\232\244/T\234\tJk\241\31\246\203\314\321"
+"F\223\324F\323|\24M~/2\347\0\232$z\21004\2438l\7\252\344\34\24\311\26\314"
+"p\17B\222\336\307\210&9\33I2\30k\264\355\205\313\247\241K\331\300\245\366"
+"\340\212\364\16\230\212\331\3502\3310\231v\334I&\17\246\306\37U\\\25&\236"
+"\203/\301\305\303T9 \213J\301Dc\360\'\327`\230:\27\204\230\nL,\200Pb\367"
+"\200\251\364\201\211\30\302D\334\bg\25{\230\332P\b\337\1\306\267%&\243"
+"\231\242\204N\f\214gL\\6\325\201\251\337\351\351\266\36\306\326\42\66\223"
+"+\375\307\0\212\304\27\21\222\350z%H)`$P\365\212\223V<\331#\353\265\'\265"
+"p\273\206\320{\25\227\32&\\\22\237\21\314/\244Z,\213\354lY\22\65\337A\326"
+"|\2274\275\347PC\373<)z\257\240\307\363U2\334\274\357\0\311.\177\2\325"
+"p\202\237\201A\354\22\224\363\214(\255,o\240\312\227C\370[\240\334w\254"
+"\204\365r\177\201*\236\16\23Y\1\25\370\316CH\257\360_\250\322N\204\330"
+"\\\230\307E\360\353\225\206\251\253A\26\235\f\23\225!*#\347\243\212w\302"
+"\304Up\353\325\206\251IE\227i\202\311\350\342\322k\216\247h\357\201\311"
+"Yb\327\353\r\223_\202M\366\30F\221\214\f\312\341i1\t\233t-\\\272\2CN\n"
+")+\34\300RB\273^F\310\237\223B\225+@\315\7GLP\245\325\367\242\312\243D"
+"F\fFQk\216\22\203\177\321\245\243\221\33\35\30\232g\343nr\374\377\377\377"
+"\377\1\2442\f\263\224\372\211\314\371\201!\375\5k\253\1\n\276\242$%\376"
+"\207\350\3626\310\322r3^#I\335\353\342C\263\251\376\6\222\364\353\31r\243"
+"\355\356Q0\nF\301(\30\212\0\0\16\372(\20\262\42\352\304\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\302IDATx\332\355\227OH\24Q\34"
+"\307\177;[\202v\260\77H\253\253\346\26\332BKVB\22\375\201\16\321%\241\240"
+"\240C\247\22\254K\207\20\272t\251\250C\7M\42\212@\350\320\37\202\332,\327"
+"X)W\r\363\20\21v)\366P\335\24\204\b\202\260\226v\277\35~\343\370f\366\275"
+"\2357\243\307\367\275\314\316\373\376>|g\336\333\367g\210\214\214\214\214"
+"\214\214\214\214\214\214\214\214VN\21\373\272\347pr]U\4\245b\341\327\327"
+"\334\270\244p\355\211\235\261\352U\321\b\25~\346G\247E\':\tQ\237bel\257"
+"\253\340\355j\301\272\t\267\236x\331\224\247\340\26\21\21YDD\324\356\251"
+"\335\356\205\333<\367;\48\347\361\262^x\n\356{W\257\274p=\324\375\362\376"
+":4/\26\214);\344vB:.G\306\235\212>\257\267o\3219\247\34\326\7vEO\271u\322"
+"\266\332\224\360Y.\30\220yS\354\35S\302w\270@\352ma\357\235\22f\377\214"
+"\334|\305n\253\202\355\6\0\374Q\270-\f\217*\354\337\0\200n\325s\2150\275"
+"Yj\236\2\0\24\225/\265\211\341\254\324\374\3413\220\224a\272Eb\35\257\320"
+"\325\254f\256\30\221X\263\0\200\363\225\326\6;\272\271\314\350\362\rv\242"
+"\207\313\214o\0\200\13\225\227\245a\246\33\275\223J#\230\250\211\253\206"
+"<\315\237\1\0\27\375VD;\272\301\325x@+\330\211N\273\32\77\2\0.\371/\306"
+"/\231\26\27\320N\315`\242F\256|*4M\3\0.\353\354\3\366zV\3474\264k\7;\321"
+"Kkw\16\0pMo\13\262\2437\330\267\311\0\301Dq\256~\354Z#n\350\356~CL\257"
+"\'\42\242D\240`\242\6\256\177DDD\317\1\0\375\372\33/\3h\42\242\255\374"
+"\323\242\240\321cD4!\354\212\232J3\335\277w\200\177T\5\201\353\335\333"
+"\361\335`\307\215g.xM08&\262\203AO:btmPXx\353\207\301\17Y\31\7\336\30\34"
+"\336\266\310f\302\234\357\2126\234\b\3g\231\235TWT\370\317\376\345KO\250"
+"c\351\34\0`\42\24kO\216d(\370\36\0\340u(\326ZNp\37\0\340M\270S<\7\247B"
+"\261\327\375\306\330\77xW(\366*\0`f9]}\332\257L\276\341\360%\37&x\320\236"
+"OW4\277\253(\336Q_\35%\212DkS]K\247\350t\366\213\177V\353{(\224\337\355"
+"\13\317@\251Y\315\31$W\207\37\375]\315.\324\370\301\373\347Ul\341\250F"
+"o\37\354\214\327D\271)bY\26\1\245\322\277\205\271\17Y\363\245\277r\372"
+"\17\322\212\'\32X\274\223\350\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\1\337IDATx\332\355\326O(\4Q\34\7\360\331\2656\377\313\237"
+"\13\331R\34\234\27m\371\223\366\262\345\342\260\7\253\34\267DN\262\34\\"
+"W\16R$\16\342`K)\245\354E\211\3q\220\222\342\240\344O\211\313\26E)Z\371"
+":\314o5\232\367\336L\217\213\372}/;3\277\371\314\274\367\346\355\2741\f"
+"\16\207\303\341p8\34\16\207\303\371\273x~\356F;\3E\36\3\366\323<^\317\347"
+"\313\345\326\201\374J\301W8d_\216\237\340\230i\231\r;[\334X\201\327\262"
+"\335\352b\214\336d\270\306\5^\263\356\370,\333\5\364{\273\375\360\216\357"
+"a\316/\253\217\224~\237\223\224]u\331\354V\302V\b=\344\272\334%m\322\2"
+"\0\340\316^(\177!;\376\363\270\265\317\31\3030\fc\335\216\373\251\331\213"
+"\223\362\301\210\2\0\42\366V\323}\323\252\221\314\3\0\373\324\254 {\254"
+"~\16#\0\372e\363\356\336\351)\266\r\265\330\216\235\322\215\375\32\177"
+"\2734\331:\r;G\266M\303\216\222\355\321\260\275d\2075l\7\331)\r\333@vU"
+"\303\226\220\335\323y7fL{\255cOL\233\365j\330Mjt\355/&G\213\206M\220\355"
+"\326\2601\262\3\32\266\225\354\204\206\r\220]\321\260\336\254iwu\36\360"
+"\265i/D\265P\243\332\356\233\366YP\362\35\1\263\312\365\204:\\)\250-\1"
+"@Xng\310\6EE\0@Jj\307\310\306E\305\32\0\300\245\314\366\221=\24V\343\0"
+"\200W\211m\312\255g\363\302\362\25\304\253\202\245O\0\220M\266W\27\373"
+"}\226\24\6b\347P\341)\270\212\370S\n\256\346\320c\225p\211u\371\206Q\255"
+"\317NI\251_\361\312\354\310.\332\274\361\341@\317\6\371\213\233\303\341"
+"p\376o\276\0\7n!vz\340\35\234\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\1}IDATx\332\355\327\261J\3A\20\6\340\77Q\214\20\203(\26Z"
+"\30\264\20\13\21D\2\42X\330\nZ\331\330+\372\24\202o\241\235Z$hac%Z\210"
+"\n\42\4l$\205\372\0\202Xy\n1\30\307bw\257Kp\377!\225\3637W\334~\334\336"
+"\334\336\315-`\261X,\26\213\305\362\367\24\367\22\221\312 e\17EDD\356\b"
+"\332\367&>\343\361\370#\330fW\264\275\bV6\243\355R\240\265\271\370I\77"
+"{\273BTk\310\321\257\336V\3\262m\360\252;,\324\231G\\\21\21\221\307\326"
+"\3\332]y\n\0p\304\341\21\0\300=\207\13\0\200\27\16\367\0\0>9\354\316}s"
+"\330E4\30\206\rwt\20555\270\241\301\357T9f\334\307\223\253\345\276\2O\363"
+"\355\21\363\276[l\304\323\261\323\320\246\342\355q\332\35\267\243\355e"
+"j\205-\225\210\310M\364\332\316\250~\200\256\25\323\6NR\274C\350\2113\305"
+"\245\201E\217\267(]r\270\312\225\255\254y\253J\32\f\207\3735_\222\202\6"
+"\34748\253\301\31kt\206;\212\311\25\366\3\0\350\346\260\373\'\310s8\1\0"
+"\fs\330m\20f9\\\3\0\254q\370\n\0\60Y\242\36\243\337\16\326s\224~\362]c"
+"\231\301\351\26\370\201\231\372y\332-\327\t\235\4\334 p\3765\350\42s\337"
+"\7\316\336r\357\335\350n\42R\36\200\305\362\217\362\13a\335\35\357\342"
+"]^\27\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b"
+"\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0hIDATx\332"
+"\355\330\261\r\200 \20@Qt\26\246b7f\241p-\314\267\243Ds$&\232\377\213k"
+"\270W\321]Jffff\317\3129n+\324\250-\0%\210\33@\13\342\16\320\'\13\333\344"
+"\215\273\215}\3453\304b\261X,\26\213\305b\261X,\376\7>\307\b\340c\214\267"
+"\17\16K\247\216\265#\213\331\207\273\0%\277 \322\210Q\356\42\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1{IDATx\332\355\327O+DQ\30\6"
+"\360\307\214\206\302\24\331\314\302\304\202\215H\32IY\330*V6\366\304\247"
+"P\276\5;,fbac%\26BiJ\331hJ|\0\222\335\245\334\t\257\305\271\367Z\315\275"
+"\235\347\315j\336g3\213{\177\2353\347\337{\17`\261X,\26\213\305\222\232"
+"\376\252H\2603\304\341\33\21\21\221}\306\226%\312k\17\241\233\261\16\b"
+"\274\26c9#t\345>\326\213\314\377^\212\360#5\342]\237N\17\246\274\223k\365"
+" \234w\277+\334l\77\210\210H\215i\318\4\0\214s\370\16\0P\342\360\13\0\240"
+"\217\303\37\0\200\2\207\277\262^H{&\231\363\221\323\354{\303m\217U+\354"
+"G\203C\r\16\64\303\1w|V4\270\312\341[M\323\233Q\325XP\364[\344t\224\300"
+"\333I\265<V4-r\345\217\257\377\364\244fc\210\242\333\27\336v+\261G\374"
+"x\235\f\373\333\365\310\3161k\244\356\354\204b\201\355iv\325\24e\213\16"
+"s\'IQs\f\25\648\257\301\35V\350\f\377+V\255\260\316\314\357\203\24\354"
+"\356\202M\16\2272\277\17R\3604\0\340\231\303\253\0\200\6\205g\306\0\0\227"
+"\314\34v\207\331\327\301VY\216\252\305\223\77\235m\360W\340\215\244:\236"
+"{\333\374wl\337\375;=\22\333\267^\276<\36P[m\240&\22\354\226a\261\264k"
+"~\1\237\267\36\361\20\371]|\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\30IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\214"
+"\202Q0\2\1#\246\220\214\247\26\347\263\343\273\3111-\342\305\177\b\330"
+"\242A\252V\336\263\377\21`\5iz-\377\243\2Wt\5n\247\277\254\25\304\256\327"
+"\355\77:hAUP\360\377\377\377\377\13\261\352\265\370\217\t\366!+H\372\377"
+"\377\377\377\377\217\260\351\25\200\353\270{\3727\234\375\23\21n\376\20"
+"\221\303\3304_\206*\237\314\300\300\300\240\271\37\256=\37*\37\7\345\207"
+"b\321\33\3\225\13\206\362C\341\272\257\331000H\254\376\217\307\342\343"
+"\209\177\2047\356#\274\376\360\7\214\365\27kp=\376\377\377\377\377\377"
+")\310B\313\260\204\240<V\315\13\376\377\377\377\77\17U,\33C\257\26\366"
+"H\346_\371\366\260\35\272\240\306+\24\255\337eIKtMHz7\221\234SX\'B\265"
+"^q\42\42Kb\2\3;\271\237W\267~\34-\300F\301(\30\5\243`\24\214\202Q0\nF\301"
+"\320\4\0\33\343%6\3332\225\21\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\3\306IDATx\332\355\227\313o\33E\34\307\77;\273\216\35\333"
+"\361\243\262\223X\251\363 (\ti+\205P\310\13\204J\241\22\22\320\3R\241\22"
+"\255\4\334zC\3348\361/\364\3025\342BA\34(\242\202V\b\2216\221]\2526m(M"
+"j\b$Up\42%n\363\262\333x\327\366r\360f\375\250\t\254\257\335\357ig~\363"
+"\231\307\316\3577\277\31\260e\313\226-[\266\376\217\244\252\262\257AH\220"
+"\333V\253\33\66\345\36\355\r\217\276\326\337\354Q\4h\17~;\77Yfh9=\24R\27"
+"\247\276\310U\302Jy\341\351\201\347\333\214\317H\252\34>\374\362\213\376"
+"B\42\35\233\337\3\376VZ\356\b:e\tm\375N\274\334\20\353I\2072\211K\363\377"
+"\261f\274NY\42\277\235\255\256wf\237x\377\30\366\1r}\354\351\223\241k "
+"\352\203\217\274:J\21\356y{\237E\326\335\325\262\77X\204O|x\312*\354\305"
+"\355\4\1\362sc#\26aYA\26 \320\342kk\252k\345\2\34.\334\256\272\2Y\200"
+"\20\310\26wL\327\321\365\335\255\222$k\260\246\242\345L\330\342\310\233"
+"\251\374\332\6(P(\240;\254\301\371\351\300\264\6\n\354d\330\2618m\316-"
+"\306\213\'\311\306\322\203\344\266Exv\26#0\232\13\261\237\0\307\273\3+"
+"\17+\34x(\2251\13\236\343\255\13\265\272q\214z\1\336\2771}\246\202\275"
+"t\375\343R\351\314/\77<[\r*\200\26\3\340\340 \235\305\312\356\302\2p\364"
+"\30s\245\206\207^\330\31\274\371\270\207\355\312\5\205\342W\307[\257C\264"
+"\27\242^\323\332\200+PkdCY0\376[\266\267K\334\354o\203\276\201\251]\353"
+"#\320\367\206\215\377\263\354\356\336\224\332#\320r\374\232Z\202s\374\373"
+"\264s\246yY\rvtD\302\300\33\357u\33.\240\231\213\2529\262nN,\233sx\232"
+"<\215@g\317\252\222\250\262\326\34\271\344eB\344\325l6\13,\314\375\232"
+"0\342\277\306\36+\25\375\30]\2658\323+IRQ8\377\271\231nj\34\226\242\242"
+"\37#>\332\365\305\231\333\177%\341\336W\246\325oZw\213\25#;\300Y\374\332"
+"\227\\\274\270\246-\rs{\3064\6M+\300\211\303W.T\300\2529\217\315\211I\225"
+"\371\77`\3114vV\34T\255o\216xw\341\3\263:\260x\267\260j\244c\0\342\261"
+"\340\237\2455\255\334\277\277j\226\272\372\272{=\31\24\340\324\221\353"
+"\237\1\337\7\305\225\362\356/\204\233\1774\13s\337\255o].y\262\17\277\247"
+"\350Q\343+_7[\13\347\261\337\365[\21\20\340{\252\265=`\rN\347A\2\1\215"
+"^\32u\213\260F\241P\364\f\31I\265\6o\245y\270\3\2$(\344\254\301k\177\257"
+"/m\230\373\234\267x\0\306\344I\323\303,.\31\306gb\325\2278\13)\343\347"
+"\252\300\250+\305>\221\260d9\271W\300\16g\275\260P\b\264\326\13\313n\42"
+"#\365.\273sM\327o\35\250\363i\24\276\23\206\211O\342\225w<\277\254nV7\366"
+";%\t\341\216<s(8w6]L\23\361a\340\362\247\23\245V\375\'\7C\312N26^\306{"
+">\30\333\357\26H\302\25\366\303\275\217\276)\6\306\227\303@\337@\31<\362"
+"\312\220\f[\256\273\27Ku\203/\35-\273\34gRFT\235\345\235hj\252\214%\336"
+"\271\21R\262\313Wo\224\325]=\230\213z\4HJ\203SM\234\233,e7\237V\365\330"
+"\223\375\262\266\361\330\223\320%$\220\4\351M\373!m\313\226-[\266l\331"
+"\252\322\778\305\25\362.\272\277\226\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\0\36IDATx\332\355\3011\1\0\0\0\302\240\365Om\n\77\240"
+"\0\0\0\0\0\0\0\276\6\34\230\0\1\223\36r\357\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\19IDATx\332\355\227\77O\2\61\30\207K\7\22"
+"\65@\264U\22\277\2\33\t\t\211_\300\5\\\\\374\2\254\356\354.\204\221\321"
+"\315\231\2110\20&&6\'\215\16$n8\272\231\30c~\16Pmb\270\322\337a.\342\373"
+"L\355]\237\353\377\267=\245\4A\20\4A\20\4A\20\66G.\351\345iE\77\16\270"
+"\357\336\0\0\320\'\324\374+\34\245h\371\366\313\305C\254[\205G}E!\275\342"
+"\371\231\237iF\312\207~\306F\312w~\346>\262\317;~\237\213\261#v\365\355"
+"v\343\'\272\347\334kf\205\325\306\0\609\221=,l!E\303\273\35rK)\245\324"
+"9\0\\\222\362\24\0\236\311\343\6\241\22:X\177\231\222\227\247\3141%/C\367"
+"\21%\333\344\210\277\226l(\331l\240\346\177\325\354\314\7,O\355\252\17"
+"\35*\222\13\355\310\244\42Z\245\340\267\345B\32\331\20\362~\32\331\204"
+"\356\177k\311L\3156\263f\333\354\373l\377\324T\35\374Xj\21\362\256K\354"
+"\21\362\273K\274\21\362\223K\314\by\344\22C&N\270\177\2142#\267\26n\233"
+"\13Q\2159\360r\261}W\323O\233J\201\20q\317\251F\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2\64IDATx\332\355\230\317KTQ\24\307\277:"
+"\221A\244\16\202e\376\200\261E\221\42\322F\21tQ\33]9\202\202H(I\24\222"
+"\210B\370\17\324BJ\333\212B\212H\204\20\346f\\D\340\42#\305\205\304\350"
+"FA\23\334\215E-ZD\352\327\305{\257\371y\357{\357\274\215\301\375nf\346"
+"\234\363\341\236{\357\271\347\2767\200\221\221\221\221\221\221\321\177"
+"\245\366\265\315~){\233$[\205\360,I~\22\302\t\222\244& O\343\243[D~\220"
+"\5=\317pA\20\270B\4WZ\37m\242\31\215\223$y|E\300\336\247\243\1\277\350"
+"\275u\246h\243\327\7:\360\233\231\3728\330\\\345\5\215\376\241B3\256\354"
+"\42\325Z\322\243W\177P\247\264\324/d\260\221\275\344\367\17_v\22\'E\325"
+"\215\321\224\240\266)\365\270\227\377\r1{+i\275\231\234\311+M\322;v\314"
+"\342\245t{\213\3\277V\263/\354\220\354m\215\330\236i\365\31\260#\356\346"
+"\360\365X\256\347J8f\5\364\344t~%Iv\251\330b\213]\310\355\255%I^T\301\317"
+",XuJ\207H>Uf}\344R\202\265\17\33\65\255\226$Y#:\374\315tk\362\2326T\17"
+"\0\210\313\340\b\0`K\6\27\1\0\276\313\340S\0@H\6\37\1\0\256\313\340]\0"
+"\300\35\331\315S\347{\253\262\213D\370\34\21\'I\256\312\340\307\326\320"
+"uA\362\336\367\34\237\266\255%\r\0P|-\26`hE\257\251\30\235h\327\301\217"
+"l\372m\266\253,F\222#:z\331\246O:\322\355\345o,\373\2466\361C\247A\377"
+"\32-ul\245O\266\35\353g\355C\\(\21N\3768\330\373\231\27\256\256Lqw/\350"
+"\27mKs\315\215\273.\371\244\222\355\363\260aM\2079\321\227\36\367\273c"
+"7\223\214\77\360Q.7\346S\310w\235~\253\255\301A\307$\265:b\261\357E\205"
+"^\250\276o=\37\223p\220\327\204\320\251y\307\360\b\377\r\2\257\0\3007a"
+"VQ\222\34\226\316i\202\234\223\257HI\231\371\23\301\310\310\310\350|\351"
+"\f}.\31\246W\1779\330\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2HIDATx\332\355\227\317KTQ\24\307\277\243\251i\264\310\261\214 \245"
+"\237RRD))i\230\213\224 \215\26\265\220Y\265(\221\266A-\203Z\24\364\17D"
+"a4E\273\\\264\t\25$qQ\13\177-T\310\254\205B\5\231\243\265\20\35\277.\356"
+"\323\231q\336}\367\2763\213\b\356g5\357\236\367y\367\274\373\316;\367\r"
+"\340p8\34\16\207\303\361\357\211\350C\307\317\37\213\256\316\215\366\375"
+"\16}\321\203qn\260x/\234\232\337\303\f\302\350\227\270\225\231\275\266"
+"n\'}h\264sc\364\345\254\315jWMm\376\34\232\216\34\255\263y0\233\314y3\215"
+"\234S\307\315\23\336\300]\263{\313;\365vj\250K\215\364\233\345\244:\363"
+"z\372\330\31\222d\334\3506*\367q\346h\321{\362g\215Q\356Vr\326xeS\2119"
+"\353\4I\362\201\354EQ\23\37\21\275U\2215\353G\n /\363pg\2504\267\310+9"
+"5\3\346\220\266G\251L\236\1\0\64\310\344>\0@\253\3549\267\223$\177\310"
+"\344bU%y\271\224\330M\231\274F\222\374%r\257z\275\340i\270\42\251\250*"
+"\335\261\273\276}\343p\271{bi5\371gv\330\342\42\35\13\324\360\314\3506"
+"Q\317sS\221\264\4-\203I\236\16\220\'\215y\277\326f\235\2505\257v\355\225"
+"\23e\205\371\205{\312R\261\245\331\277\213_\7\342a\236\364#o\306\217\373"
+"%u2\250\344\3\242\42\273\241i\335V\235D\355\222\3632y\331\272\25\372\310"
+"%i\227\b-\227\3\0\26d\362!\265\307\313\344\223\0\200\3172Y}N\214\347\322"
+"\305\252E\356)\353\32\361I;\6\0\370&\313z\205$y_\344\326\253\254+\365{"
+"J\213\351\235\372\256\13G\277\220=\272`\235\232\270K\27\377@\222m\232\340"
+"|\360Z_ I>\361_\355\267\273\0\0c:\371E\300\207\303;\257\5\351\266\211\227"
+"*\334\341\23jK\265\314W\27\367\25\27lK\243`{\364\364\235\4\2657\325KK\336"
+"d\273C\266.\213t%m\301\345\354\211\253m\335k\1+i\340\223\246nc\246\273"
+"N\216<<\354\376@;\34\16\307\177\314:\212\370\244\tS\\\271\221\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^"
+"\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\237IDATx\332\355WMH\25"
+"Q\24>o\354\375\210\375\31\212D\221\77\21\270x<1\210\n\244\\\271qS\255#"
+"u\327\242\245I\240.\302\235\206A\233\254\20\202JElU\272\260p\341B\202("
+"\27\5\205\3\361\212\3545\3503S\23\337\224oZ\234\31\273s\347\376\315\320"
+"F\270\337\346\315\234\357|s\2779\367\334;\367\1hhhhhhhh\354r\304v\256j"
+"\366\307c\0\333[\313K\234\324\312\212T\t\200\363{-K\21m\337\234\177x^\35"
+"T\36{F$\344\332I\252\335\361!\227\240\265{\26\375\31\35\4\67\355\247\234"
+"K\264\370\42\225\360\22\0\0\f\0\0\370N\345.\323b\272\16\244\340\370\272"
+"\357\271\343\301w\36\363%\374:Ar\311{\4\65\304\252\365]\42\341~\212\236"
+"\263\307\36\365\224=S\23\36\377\304`\260].\331\311\26w\272t\27\233\36F"
+"v\212\315N\42;\314k\267<\362i\26\227F.\317\355\325\6L0Y\234\211\\\3\277"
+"\323\3731\243;\310t#\323/Z\'\26\346\324\322\361Z\214[\302E\226\301\244"
+"\5:\276\200\361\214x\211\272\306{\374\321\36\5\323<\343J\246y\306\325L"
+"\263\215\253\232f\31W6M\30\67\251\366\310\250m\212\256\361^\274\353\ra"
+"\2320^\17\0P\37\3064a\334\42\36\224Q\337\315\7P1\337\334<\217W\3a\276\5"
+"\33\376\315r#\324\207\244\203\277M\313Q\347\27\327\261\263\fv\370\234\360"
+"6\370\241C\234l\254*M\226\247\317P\341W\357\177\330[K\357\346Dn\33\778"
+"BX-\2\361\234#AV ^\225\211\235\303\374\202M\310fa2\' \373~\212\206\265"
+"\357\304\204\325\206dE\322\0\60\366\245\257z\25\3774\370f\365\17@\321^"
+"\331T\356\223\304Gw\270jn\212\301e\354/\370\373\365s\204s\3225\357M\373"
+"\312\344G)<\42\264\235=Rj\0\30e\345Dt}m\33\240X\260^\217\274\25\214vE6"
+"\3157\4bS&\266\367\362\13\226\222\25\42\236\340\213\7e\342[+\2\262\351"
+"\241\271\311\263\\\310\216\267\376\307\251\22\300=\35=\210t\232>\200\342"
+"\323\321\316\342(>\b\21z{gv\42\211k\334-1\222\353!\362h\35\6%\207\316\217"
+"zS5\323Z\25W\26^_d\265H\376\246\212v\204\327a/\344\332\243\374%uJZm\233"
+"\377\334\202|\350\333\274\201\37\251\274\364\205i;\250,\316^\326\177\177"
+"5444v;\376\2\357\220\212\246\323r)]\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\0hIDATx\332\355\330\261\r\200 \20@Qt\26\246b7f\241p"
+"-\314\267\243Ds$&\232\377\213k\270W\321]Jffff\317\3129n+\324\250-\0%\210"
+"\33@\13\342\16\320\'\13\333\344\215\273\215}\3453\304b\261X,\26\213\305"
+"b\261X,\376\7>\307\b\340c\214\267\17\16K\247\216\265#\213\331\207\273\0"
+"%\277 \322\210Q\356\42\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3<IDATx\332\355\230]H\25A\24\307\217\37\251)\246^H\3034\314\312\f"
+"\241\42,\252\227\260\17\202\314KPA=DE\5i)\30\30\344C\230\224f\202\204F"
+"\5\245\30\210E\b\331\243T\30\322\'\321\27>\244}h\22\226QY]}\320\320N\17"
+"\63\2733\356\316\231\335\3651\366\274\334\275\347\77\277;;3\347\314\231"
+"\271\0\276\371\346\233o\276\371\346\333\177ea:-%>*Bn\201cC!7\77\272\254"
+"\3413*\355\254#\32$HD\304V\7\366\36\352,C\207f\240\336\16\233-\303mlr\277"
+"\303{e\231O\2216\355\265x\34\3732:\361\227\317|Tj\200{g\321\277[k\274\335"
+"\31\353\330\342\333\230\320D\262\221\34mV\211Lj$\307\\\316>\252\366\251"
+"\340\333\0\0\60A\366<\210\210\210/\324\342iDD\254#{N\5\0\200R5\334\13\0"
+"\0\3T\307\1\66,B\235\217\210\210\271\24\274P\13\303}D|E\169\227\301\324"
+"R&\266\207:\322I\370 \203OM+\275\337\362e\236\355\35M{j\204\327/\257hl"
+"\253\224:\303\211\236\330\42K\346\345{`\353my\333\344\232-S\245\375Vwl"
+"@\275i\334Ir\3_\345\255G\313\262\42\223\266=\20x\225\13\2307\275\302\277"
+"\256\371)\360=.\341a\3418/\350\201uz6\2325k\221\\\313\7\5\3768\333E\317"
+"]S|\307\244\231\273\25\320\300!\326\306\322\244E\302/\3200\333`\360\231"
+"\305\235\375\\\302\13\311\202\310\33\334\264\n\371\277\5\335\227C\320\345"
+"FXhc\276\226\240\215l\374>\317&U\13\372S\232\2326\343\242\310\276\2227"
+"\4\276C\275\326!C\177d\217\350\234\36\223>\241\356[\333\240\320\24+\325"
+"\364u\261\221\254\267\211\t\335\366\2=\305\16\211\261\335\235cS\33\f-K"
+"M\247t\13\274\336\246\226p\345\35\25.%\322\262\36\261\212\305\\\330D\321"
+"Q\355\202\376\261\331\42\66\62\177\'\35\350\253\77J\331\230\251\3345t\31"
+"\272Wz\367\313S\353;sFk\23\274B\302wK\376f\346J\326o.\341\327\4\335\31"
+"#\16H\314\23\341\264\257-x\42\360b\356\353p1fn\5\177\4^\27\314\333\337"
+"f|iqU\f\252\325\305`\256\273R\222\321\253`O\272\256b\25\66\366\242\207"
+"\372\271\326\302\36\360T\271\343G%\264\306\363E\304D\333\246q\316Y\314"
+"\331\36]X\220\312%\6\37\247\17p\375\370u#\241\2453x\'\t\177\320\35\241"
+"\30\34\264\304\277\371\2644\23\0\22\66h\307>B\301+\1\0`\225\232Z\301>\372"
+"(8U7g|u\7(x&+\rJ\266\224M$\275u\235cs\22\2539\340\3459\301\17\255/\276"
+"\244\306\b/\333\315C\\\312&y\32\274\207o\343l\247\b\13\233\21\27\'\265"
+"\335B\303\342fL\34\266\13\206\3505\334\356p\377,\320\36\267\265\350\233"
+"4}\352\324\322\350\320.\307\304;:\254$_V.r\367\207CBL8\210M\31\'\307G\374"
+"\377d|\363\3157G\373\7\351*=)\232\327\202h\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\0\311IDATx\332\355\3239\n\302P\30\4\340\27"
+"-\3243x\4-\25E\301%\205\244\264\264\260\223\224!B\256aa\341eDPb!\26\336"
+"#x\1\13!\214\205&\177\26y!m\230\257\232\foRdQ\212\210\210\210*\305\310"
+"\26\255\355\324\360\367\257l\355.\232\367CPp3\17\0\0/\335\256\277\355N"
+"\277u\361\343$\333e\324\352\327\210\375o\333\251\323\265\324\225-q#q.\321"
+"\321\214\7\22\207\22\373\22\307\232\361\273D\314\215\317\22/\22}\211\247"
+"\362\17,\210\333\272nlE\247\254d\333\211Z[\377\242\315\20\0B3\335v\237"
+"\0\200U\321\347\251&#u\273\346\332\336\254\3618\362o&\42\42\42\42\42\42"
+"\42\252\224\17!kx{1G\16X\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\4 IDATx\332\355\227[l\25U\24\206\277\216\245\345\220\226(\344"
+"\30\254\232\30DZ<!Z(7\25/i\0\t\211\215\t&5<I\304\6\233\22\242\304\240\251"
+"\321*\32\243F|\261\301>\210$\20C\37*\227&\332*D \\\264}\222\320\226^c\210"
+"\247\265\3056\265\245-\364\224\337\207=\347t\346\\:\207\244\276\230\371"
+"\237f\255\265\377\275g\366^\373_k\300\207\17\37>|\370\360\341cV\220\221"
+"2R\30\312\313\315\314\210\214\206[\232\357l\312\302\252\213r\240i\337\252"
+"\264\251{z\224\200k{\255t\250UJ\201\217<\277\271\354\313\271\261\347\316"
+"\266~\202\371Kcvd\367W3\255\32\3701\272L\327\376\315\1\343\313\332\370"
+"y{\324\373snjn~\330\36T\363\230;\20\252\266\3\375\241T\334\25\267\314\210"
+"\375\363\23c\271\373Ml*\305\276\27\231p\375\203\311\303\313\317\230\370"
+"\332\244\353\232\330\256\324_\365\231\31\221d\355|\363\316\233g\332\317"
+"\n\363\346\241\370\243\nt\335\7\360\364\271\330\310\225\5\367\316\263\42"
+"\67\372;\35\331\371R-\300\300\303#\356I\315\31=\25\65\347\277\361Sx|bd"
+"hp\350z\347\17\357\27/\312\t.\0`\2039\261\270\334p\277\363\3263\222t\243"
+"\373\367\226pD\322\350\365\233\329p\27\300\363\222\244r\27y\334\265W\225"
+"\3\222:\16\226o\\\263\276\364\203\372\350\341W\0\360\272$M&\344s}\324\372"
+"dJ\352\332W\20\65\267\324\32r\2431\217\305\347\271$\351\1\333x\'\42\35"
+"_\343\234\333$H\2171\26I\222\246\357\330\36I\372\3026Jz\245Cq9\374\235"
+"$u\330\306\247\222\2647\26\353\221${|v\243T\227\23\177\302\355\222\216"
+"GOU\222\256\305tC\222j\246\23\341JaBz\204\372\245\35Q\243\332\231gU\222"
+"\24\275G\247\244\267\223$\327\352\352\367\246grn\331EI]\366\363\13c\272"
+"|\277\227\330tHj\2,`-p\302\366\257\17p\376O/\362\t\240\310\220W\2\64\330"
+"\376\2\270\340)s\r\0\253\301\202\20\300/\366N\6\351\274\344I>\3\360(X\220"
+"\7tN\30\367\302,\256\266{\222ov\0y`A.\320\26=\303\333\23\335i\310s\33\220"
+"\3\26d\2\3\2667sr\270/\r\362\0\220\t\226[\2723nO\334H\277*Y\20\1\2021a"
+"\311\310H\203\25\4\42`\301\2109!\373\275\39i\220\363\201Q\260 \f,\261\313"
+"\303T\366=y\336\334\254\245@\30,\270\2\360\254qOdf.\361&\77\3\320\2\26"
+"\64\3l2\356\301I\226-\367$o\2\370\315<\377\352\270\30\215R\231\'\271\335"
+"q1\32\200\305\366\225l\201\365^\334\320#\216\313\260\302!\6%\267\324]\340"
+"Av\211\201K\206\32\245\17g\346\272e\310%\200\257\214\251\355\311\31\311"
+"q\2\350\222\336\303\322\261\205\211\224\271\363H.\275.\321/j\226\276IH"
+"\263\235\337\276\233\235B\364]\345\346\345.\335>\274\314E}\350\353\376"
+"\301\2329\0\224\'\224\33\273\320m1\306\216v\351\354ks\246\243\333NK\255"
+"\333\0\330\234\244\320\331%\326N\322\322\13\322PCeq\20\310.\334Y\333\'"
+"\265\232\361\305\311J,\1S\13\2373\326\252\203}\222\376\271z\276\361T\363"
+"\265Ii\344\344\213\216u\373sS\264\25%\266\271\275~8\326\372\r\237~\313"
+"49\245qmEBC\363\246m.\330~\244uL\322h\353\321\n\273\t\254\214oh\34\272"
+"Q\324dRlwk,\207\203\331\223\203\177\\\36\7`\335\307fG\326]\232\261\211"
+";\2608I\223vh\346&\316\321>\36\331\340\362\337\275\265\316\263}t6\256\275"
+"\207^}<\13`\376\23\273\216\376\235N\343\n\224\215O7\330\275g\353\276\77"
+"\367\327\264=Y>\233\315\372,\377&\334\301\17\312\177\360k\344\303\207\17"
+"\37>|\374O\360/\b\13$\272\33\210\211\27\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\2\42IDATx\332\355\326AH\24a\24\7\360\241\215$"
+"\264\266\203\204\356z\350\244\24\25Q+\235\24IJ2\212r\251\203$\230B\4\221"
+"\340IP\302\203\270 \30\202\213\42\204\202$\30B\7A\210\332\242`\211N]\24"
+"$\301\5;H\t\302*\32\21F\317\303\314\367\27573\337\367v\257\342\373_\224"
+"\37\377\77\263\214\356\314\3478\22\211D\42\221H$\22\211Dr\0\322\377~,\36"
+"\326\350P\346EY\241\351=\0\200\305\20\77\6\0\370X`\333\3\0\0p.\300#.G\331"
+"\355\260[\202J\77\317x\314n_z\245\25\77/x\234\341\266s^\t\256\3728\253"
+"\270\212\331\276S\245\347>^T\334\301l\277\252\322\33\37\377P<\312l\227"
+"U\351\273\217\267\24\177`\266\353\252\344\273\245\'\264\376\264O#\273\272"
+"u\206p\245V(\261n\243X\272A\270\32\371\274u[\205\245g\204\257 \'\255\333"
+"\263X\32\'\334\200\334k\335\326b\351\23\341\333\310\257\254\333kX\332 "
+"\334\212\374\315\272\275\203%8\26\370\n\272\371c\335\336%\333\13\310O\b"
+"\227\333\266\27I\251\35\271\211\360u\353\205sX\372Bx\17y\326\272\255 W"
+"hAN\20N\204WG\334\37\307\t\355\342\257\224\177\333\377\247\377\341%f\b"
+"\223+\247\354\343\7\346\17\330M8f_\17\220\32\341I\324m\346{<\210\265\34"
+"\341)\344\317\314\272\17k\363\204\323\310c\314\272\313|wR\310O\231u\7\326"
+"\332\b\367\42\67:E\335\363Z\363G\2123\353f\254\235$\374\310\370\227\b\245"
+"^\267\362\224\357k^\342\326\370\274\312R\276\251\3715\267\256\321\265\t"
+"\312u`~\7\5\22\67>A\235\313E<A\35\3079\245k\r\216\361\341]\303\255\217"
+"\356\250Z\204rL\351_\376P\261n|OF\377{\234\346\327\313\3067S$_\314\261"
+"B\237\2.\5x\325\345\323\5\326\323\0\0P\32\344\267\0\0\233\5\317p\311\34"
+"l<\fs\347/X\273%\'\\\211D\429t\331\7C\314\7\314\272\27\201\36\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^"
+"\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4NIDATx\332\355\227}LUe"
+"\34\307\77\\.b\274\32x\305\311xi\320\275R8[\220\230S\263\251K\213l\263"
+"\325\310t\2534F\265r\325F\271\331\77\215f\233\322Z.\227l\255\226\250\254"
+"\232e/s\212YL\332ZcN[\321e\b$\220\274\\I\2\271V\2\337\376\270\367p\317"
+"\271\\@\212\255\3768\337\277\316\367\371=\337\3479\347y~o\7l\330\260a\303"
+"\206\r\33\66l\374\27\210\232\310\220\352\231\37\347d\304\337\323\344\233"
+"\336\212\256\307\253[5\206\13\207\266\316\277ni\311)\215C\335\243\327%"
+"-mSD\264\77\65\3457o\330\3556\36\273\33\274>\271<\205\13\214\201\226\362"
+"#\223n\373\236\261\317\361\347\362\2141\3173\307\214\321\17&;\2473\201"
+"9\227v\246Z\r7\356\350\rX\316Mxr\331\35\222$\377\13\221\214\333\7%I\27"
+"s\42ksz$IU\263\42\233\35\373\2ous\304}\3\332I\256\344\241\200:\302\336"
+"\256\16I\362/\233\3548\13\6$\351\342\370\357>#I\375\213&\367\1O\237$\235"
+"\213xGC\267N\345A\236\1\313\215\5\234d\303Q\200\242\357\203\203K\213\346"
+"\r\373z.\373G\243\242F\7\332\257\230\337\274\1\340\301#fq\223\33x\244&"
+"8c\313N7\340k\371\355ZtL\314h\177\363\327\265\246S\373\20h\311\r\220h\200"
+"\322\307\200\252\327\215\t\305\17\3\304w\367\371\207\35\261)Y\371\2059"
+"M\203\206\2551\355\16H\351m\b\355\334\226\rW\223\257\31\23\226\36\316\6"
+"\16\34m\34p\304\317\315\312\277\335=ZW\321:v\337\277\'@Gf(\6%\311\354W"
+"\333\257jx\227\323`\205\373Z;\367\232\214Vw8%\351\222%\324*O\35769Zj\225"
+"\317\273%D{%\325\31$M\222vZ\256\344\236WV\231\351]\r~S@\355\220$\303S\266"
+"I\2225\216\334\2333-\274f\344\273\354P\214I\3226\0\7\254\5N\364Y&\373\257"
+"\372-\274_q\311c\344\362q`uP\274\34\3702,\277DE[x\374_\375\246\325\277"
+"\0\226\5\304+\26\0\265VqlB\212\231\26\316\357;\333\31\242\'\201L\27\340"
+"`1\320\375\263U<\'3\337\274\324}\361g\315\351\313\333\5x\0\7\31@CX\0d\24"
+"\24\207\202\263\360\245\305\35\65\337\230\315\r@\32\340LL\2\274a\342\334"
+"UI\256\275\307\200\364\25E\267\244\2156\177z\330b\366\336\17q\20036\6\b"
+"\257(YI\254O\\\324\222X\260>\7\3509h\325\342\13\6\2053b\334\306\1\13\333"
+"\222]w\347\0\370OM\20\336\316\77\207\1W\330h\77Pw\362\302<G.\300\225\366"
+"\360\234\5\214\0\316\301\1`a\230\365\227\316\331\237T6\301G\365;\3340+"
+"\275/,\241\0\1/zVRW\230\370\336\352\312\240;\316\336\325\253\356\360L\376"
+"\253\244\345\0\254\224\244<\253\365\266\362u\241\362u\242\363\330J\353"
+"\306\222\24p\222\323]\4\374\333\204\201\256\346\261\347\317\366\374\220"
+"\275y\216\331\272\6h\367\1\16T\17\24[\305\303\177\f\205\310\211C\276\202"
+"\'\315\326b\340\333``\324\2k\347Z\3!\356\6\23\253\256e\365\32S\331[\7|"
+"\25\24\177\16Pf\375*\217\345\374\337\3751\275$\264z\31\3460\34\227\206"
+"\322\16x\337\267\24\225\215\365\215\25\221\323\320\370\4\370\266\244\352"
+"D\263\372\215\256\26#Q=\37V\17\333$\371cB\357%I\252I3\211\227\324\353\374"
+"\323\0$\fI2\273\\\251$\355\37\243\37K\222F\313\315[\227\375\324} \27\240"
+"Z\222,\315M\223$\225\30\3545I\222\327r=lz\363\345<\340UI:om\202$IK\f\372"
+"@\305\376\267^\\\36\36C1\220\261G\222\264\361\237\224\330\233\366Gn\212"
+"\256\253\270W(bq7\332\212;\'\323>\241\t\332\n\243\241\3314\261v\353\204"
+"\r\315\224\255T\364;\1\255{\346\233\270\177\327>N\277q\235\301\226y\232"
+"\315\372\314\376&L\347\7e\346\177\215l\330\260a\303\306\377\26\177\3\314"
+"\0\274D\221\262i\317\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\0{IDATx\332\355\322=\16@@\20\200\321\245\362SR\340\6\242\323p\5W"
+"\340\240n!!\16\241\240\26\215Q#k\25\22\315\367\272\235\335\231\331LF)\0"
+"\0\200\377Y\367P\225G\256}\216\313\276N]k\256V\213Vc\312\215\345Aryl_\316"
+"\351S\345\324\320\331\233\365\215\27\337\364\357\242\327\345\16\345\213"
+"i\7Y\350X\247\13Q\262\315\343\302n\2\0\0\0\0\0\340\33\7t\256x\327\363\1"
+"\251%\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b"
+"\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\25IDATx\332"
+"\355\324=K\303P\30\305\361\323R\34\244\375\4\202\350\244\210E\334\305\22"
+"\27A\250\270\211t\22\334;\351\367)\42\276,\335\4\321\202\2728\350T\277"
+"\200\242\223\203C\335T\374;\244\201\264T\274\327\311\341\374\246\373$9"
+"\311\315s\223+\231\231\231\375o\205\237O\3156\222\351\342\343\345\301}"
+"\374]\2537\364\335-\304f\233\3444\343\262{\f\330\215\311\2560\244\26\321"
+"\260\347\tIR\367\272\220\314I\222\236&\203\37\274\16\300W-7\211zp\270\r"
+"@\277\311\213\0\264\203\303o\0\307Yu\2\320\33u]q\324\301\262$]d\325\271"
+"$U\202\303\222\244\261lP\212[\345W\200\263\254:\5x\t\16\37\2\260\226\26"
+"\253\0\264\202\303I\272<;\222\264\235\216\227\302\347\335M\23\37\235\316"
+"{:\272\215x\351\371\341\317s&\246e\215\301\354f\\\3037\362\331z\354\17"
+"]\336\317\242\255\361\77lC\245\255\345)=\\\35}z\26363333333\373\3057\316"
+"~\321\2529\17\312\222\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\25IDATx\332c`\30\5\243`h\2\335\251\23\25\311\325+\361\367\377\377"
+"\367\234dj\236\374\377\377\377\377-dj~\372\377\377\377\377\267\360(`\304"
+"#\367\237\220\n&J\2tT\363\250\346Q\315\244i\226\200P\42di\316\203P\371"
+"d8I\252\375\77\24\264H\20V]s\375\77Q\340z5\246\336c\377\211\6G\321\365"
+"z\374\'\1\270\243\5\330GR\302\343\23\272\300\f\342-\236\216Y\364:D\233"
+"Ip\302\34\302\204ZQ|\377\7e\374\373\376\374\364\322\3\204\335\226\0\263"
+"(\216\234\304W\b\321\233GV\312\345\203h\346\36\255nF5\217j\36\6\232\257"
+"0000\234 S\363b\6\6\6\206\5\344:\353\350\377\377;\310\367\224\237\327h"
+"\217e\24\214H\200T\201:E\231\42\332\25\270\300\277\357/NaiW\314\42\276"
+"E3\3]\2575)\r1K\264\222\204\217\24\317\362S\320~<FA\313\265f4\235\215\202"
+"Q0\nF\301(\30\5\243`\24\fa\0\0\267,\237\361\267\35\241I\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\234IDATx\332\355\324\241\r\302"
+"P\20\207\361.PC \314A\202\254j\202f\0\34\16S\1\16\325\r\352\321LP\331\t"
+"*!8,\351\4M@\376+x7\300\235\1\361\375\374\227\274\344\356^\226\1\0\200"
+"\37Z\\\307\327)\330\356%Ie\250m$I:F\332\366\333j\23h\37\251\275\371\323"
+"\371\230Z\345\356ve\351{\346n\267\326>\375o>X\333\371\333\312\332\213\277"
+"-\254=\7f\324\247v\27Y\216\324\26\241\255\354%iX\306\316a}\327\247\346"
+"G\1\0\0\0\0\0\370c\23J\217n\334e\77\363\26\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\2|IDATx\332\355\230OHTA\34\307\277\263\271"
+"\331\77\327b#k\213\212V$\220@b\211\352\220\375\361\22\25i$!v\310\223\344"
+"\311C\'\351\22\21B\5APA\247\202\b\n\3K\304\212-\22\17AdV\207\20J\304\220"
+"j%\302\250Vse\177\35\336\233y\363v\337\354\316\333w\211\232\357a\370\276"
+"\357\354\347=vx3\277\231\7\30\31\31\31\31\31\31\375Sb\352\256\225\261h"
+"dq8\4\20\30c\214\21\21\315\247\77\17g\n\337\261\274\345\326\'R\352\321"
+"j5Yvz\232\n\353\245\n\215\365Qq\305\275\331\353\32(e\26z\241[HKm^\354\21"
+"\r0\325\333\271\302\213=\254\370}_\355\332n\333\276\336\240\30\252\215"
+".\342\374\256\206\1\333\2@\322\262\353U\343\234\222\320\16\0\b[\276\37"
+"\0\332\211\210\350k\16\22\342\246c\225\310\206\331U\0\310\f\1\0\306\1`"
+"\f\0\60\241\202\257\210\350~\3026\223\0\200\31\321\330m>\274S$\243\215"
+"\334\315\2\0\b\0\262\216\365\200O\210\244^8*6\2538|\220\7\17\246\364\247"
+"$\207\327\360\3402\374\303BO\202\300\370\17\341uA\340\226\22\340Q\36\234"
+"+\1\276\313\203p\247\177\370\232H.m\347n\201.\374eDD\317\367\331\246R{"
+"\300\216;Y\362\202\275\230j\303\357\244\31q\212N\2h\214\27\253f\222^\271"
+"V\300\17oms\21\0v\20\21\321Pner\354\326\261MRG\\\243\216\312/I\374\231"
+"\317\27\330\325\265\247+\0\214\356\252\301\0\23cjwMo\200\211\361\276\211"
+"5\77\224\3\3627\237{\366\263\310\321\333\374*\353{1\370q\257\225\365\227"
+"\nKK9\225\266\f\275\b\2\217\7Y\0\323A`\n\2\233rc`\3\377Up\310\251U\314"
+"\263l\25\202\2278\245\320\252\207K}\3005\316\376\300\332$T\353\303\261"
+":\0\300f\321`YBw4\366NH\247\233A\313\316\36*\2E\316\276\231s\355\21\232"
+"\200*\347*=pL\315\326\315\347\36\312\36\3g\\A\217\22\276\223w\242\373Y"
+"_\373\324\2354\250\6,\222w\273\217\277fR\356\244B\365\344\346\274\'\267"
+"\2\333\276\2736J\352\77}`\304\205&\23\0\20\275\341$7\227\27\334(-\252("
+"c`\0\346\246\245\257\13\321r\206\354\357o\346#\215\221\221Q\256\376\0j"
+"\274<\30\343)\'4\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\0\204IDATx\332\355\323\275\n\2030\30\205\341/n^Q\213\203B\266^\207t\224"
+"\n\336\210W\244\264C/\251C!\234.\205\f\375\321dp\220\367\231\16|9!\204"
+"\304\f\0\0\354\212\3733+\373\306]\307G\326\276\203$ICN\367\242\267.\343"
+"\330Z^S\374\32\234cl\223\313\207\30\217\311\345\347\327\270\262<\3058o"
+"{av\372\b)|\220\244\340\363\236\247\325\225\335o|a\0\0\0\0\0\200\275z\1"
+"\225\275\42wRw\353i\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\0\334IDATx\332\355\324\255\n\302P\34\5\360\351,\302\202.8P\223M\260"
+"\n\372\32\32\27L{\5\203\240 \nf\37\301`\23\254v\203E\f\42b\324\350\3\254"
+"\30<\206{\'N\270\341\177A0\234_\331`\367p\270\37\273\216CDDDDDDDDDD\364"
+"\33\276}\264s\3076\260\r\3\300\321\266\30\0\60\262\13\17\1\0\350\232Gd"
+"\315\237r\352\261\232\3304\367\240\35\62\362p)\t\343j\30\341\232\303q\320"
+"\324o\5\177#\357\236\275\273m\246]_\350p\333&]\333\251p(\331\252\351\351"
+"\262\f\253\216\327j\350\371\13\n\347\252\357\371H\346\\\26\204\317H\273"
+"IN\330\367\357\20I\326\251\22\247\212\307\262U\366\326\37\331H\274I\305"
+"\376^\35\315\201\355u\220wy\25\377\215\27+r\215\36Pm\234\371\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1dIDATx\332\355\324/H\3a\30"
+"\307\361\327)\\\24V\226\f\42\210\30D\4\243\330D\213E\21A\34\332\324,\30"
+"W\6\363OR\20\233\b\6\303\305-h\20DP\260\332\264\210M\301\252A\303c\330"
+"\336\367\275\347aw\317/\n>\237r\307\367~\7\33w\233s\306\30c\2141\306\30"
+"\363\307\2545/f\360\314\255\23\21\265\320,\264\210\210\350\255\17\313^"
+"\251}\370t\3169W\371)\363\2539Y\230\243\216\1$K\267~6\202d\311\257h\2\311"
+"\302x\230M\1YZ\t\263Y K\2150[\0\262\324\f\263*\220\245\3270\333\4\262|"
+"c\302\212\266\365,\215\306YM\317\322b\234\355\353Y\252\305\331\261\236"
+"\2454\316\316\364,=\307\331\271\236\205\336\270\242\206\232\245\345\314"
+"lX\315\271\77\60\242\203\302\\*\376{*\27\346.7\17f\316\257\324,<\304\217"
+"\367\244g\256\236\371n\211\232\271\245\314\250_\315\334X\334|\'j\346\222"
+"8\372\320\263\360\36F/@\346\256\303\350\21\310\334Q\30\335\1\231\333\b"
+"\243K s\323a\224\2\231\253\204\321)\220\205/\77:D2w\357Gu$s\273~\264\203"
+"dn\310\217\266\220,\234tF\253P\26n\332\243y,\13{DD4\tf\241\'\355\372\34"
+"s\2621\306\230\177\350\27Tb\344{6\317\247#\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\2\13IDATx\332\355\226M(DQ\24\307\317`RjB\232"
+"i\312\204\254\246Q\42\26\242&5{\232Y(J>b%\33J)\331JY\321\220\25\305\216"
+"\5\13\13_\33\312\2Q\242\210,\310G\310\202\5St,\356\2337o\230{\337\234\223"
+"\205t\377\233\367\356;\357\367\316{\367\236\363\177\27@KKKKKKKKKKK\353"
+"\367\344\220\207\234\341j/\336\354.1\236\352ZCC\213d\326\217\26\25\20\341"
+"7+|Ac[0I\301\324we\244\276\34I\36\66\220`\267rh\3\37\'\17OH\337\\\231\374"
+"\315n\332\214-[\331(u\241\327\23\354<\275\304\42\247\2\335\17qj\33\300"
+"\353\301\273\'\335\377\377A\231\312h\t\306\330O^E\34\344\262QD\304*&\214"
+"\210\210S<\266\34\21\21U>\220!\17\265\1\0\200\217\225\330%:\362\225\223"
+"\331}.\216\367\214\274\3q\33\231!\243\215\357\246\7\325\22Q\367N\302\277"
+"\26\210l\237\3057g\211\354V\2=#\276s\321\247\211^\206\210i\3&\372\21\241"
+"\316r\201\311\216\320W\367\306@_\3tv\324`7\30U\225\315\\[\0\0\30\23\354"
+"\36\277\371\21\235\34\326+\330aV\342&\1;\322\',\375\\\6\0\0\17\310\202"
+"=\0\0p\b,X\234\276\363\340g\321\31\362{\273fz\244\261\16\61a\312\372\233"
+"\262\351\250:I8\7\21\21=\352\42\331W\276X\253\314z7\1\0\240\25235\334,"
+"\366\341\262\314!\243>\353\25\255>.\235\222[\203N\225\373\310\316$\202"
+"q\37\331.\375\26\351\216G\332\345+9m\332\320qw~\374bn\363J\302P=\212\355"
+"\343^\265e\360t\365\342\310/\316\265\306\227\302\252\212;@\225\354\n\177"
+"N\301\16\331\377\344$\344[\177Z\315\322\33\373\211.\326\244\335k\25\23"
+"\217\26\360n2H\335\254\27\372}yY\261\347\353\323G\275\325\375\23\372\2"
+"\25\337\3\214\275\246\354\222\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\3\24IDATx\332\355\230KH\25Q\30\307\277\253u\251\314\222 "
+"2[\4\5F\371\302\225i\21b\230\225Q\30nTzSX\253\b\213\242rS\341\302,(\304"
+"E/*\320H\3150\351AE\17zG\210\26\265\b\f)\42Al\221\206y\243_\213\271\367"
+"6s\347u\356\354\222\371\257f\276\357\374\346;\363\235\363\235sfD|\371\362"
+"5^\224\250\273N;X1\345\235\327\7=\1>\316\365\306\316\2\200\325\336\350"
+"\337\32\275\323\323;\377)\22\21\221\322I\367\275\204\356\320B\323\354\251"
+"\343W\302\364sO\364\2110\375m\232\27zw\230&\335\13]\36\241\27z\241\363"
+"\302\360\17O\357=gD\243\17y\233-\335\0\\wm\227`e\314=#\42\362\306k\215"
+"\24\264\276\252\363\227\234q\252\305m#\304\352Z\256\32\273\6K\355Q\202"
+"\233\255a\362U\346\366W\233&\27T\42\'=\263\t\235mG\4\3647\305+\322S&\6"
+"\22\223\323\215\265\326R\31W\3367\33C\3079j\217\rpU\374{\36\234\255z\r"
+"@O|0\0\37D\262\265\3203\342a\227\3P!\42\227\08\32\377\246%\42\262\0\200"
+"P\334\275>-\42\42}.\263\314\244m\272\rg;\0\355\352\360[\200~}/\324\207"
+":\315PM\355\0lQ\205\353\0\bF\252<2lj\32\5x\30\275\375\t\300l5v)\0e\321"
+"\373Z\0\352\325\340\326\230\f%\305\2232\0\364+\200V\347\205*\354&\0\364"
+"\353\336:\0\272\2247\347!s_T\372=\23\200Z\203\255\t\200jw\370\210E\r\316"
+"\3\240\317\35\36\6\210=\24|\2\300\365@\254\315\247\2151\326j\0N\271\301"
+"-\326\271QK\31\0\35&s\'\0%\316\354\6\0\326\232\354\245\0\334s\206{\1H5"
+"\331S\264~\7\234\316a\251Y\332\31\320\4\207k\252\306)\360I-\300\203E1\366"
+"\371]\232c\330a\257\222\177\371\f\205\242\327\201\t\301\2509\247\3276p"
+"\21nr\370\200\270\351\n\3432\310\316Zo\307V*\300\266\237./\25`\202\326"
+"\354T\315{g\211\2457\377\266\346\336g\r\37\0\240\3016#\365\0\fZ;\7\314"
+"\353\217QC\0dZ\271\264}|\227\3\274\325\264\256Fu\316\275d\355\207\32\200"
+"\33\216\360e\0\312\315\2162\0\212\35\341\34\0^\230\35\217T\26\232A\0\222"
+"b\315\223\1hr\201\367\3p8\326\254m\205\5.p*\0c\326\211LVZ\37\2510\32\265"
+"\343\26yj\77\64H\321\257P\341y\313\373\225\316;\302\335HyD\317\301%O\r"
+"e\23\272\265\312\202\13\36\3533VWg\241\210\24^4\227\335^\23;\275\337\334"
+"\352\3742i\263\250\331\1\373_\tz]M\30\265\350\343\230\202ED~IV\203\371"
+"\221;\314\r{\314\255\216g\212HF\343\27\275\355{\213\345\200\325t\33\310"
+"\317\215\31\376W\254/_\276|\375o\372\13\311a\6\347M\277R\233\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\20IDATx\332\355\230]H\24Q"
+"\24\307\317j-\204I\22TVPP`\220_\364\224V\204\24fR\24\366\361\240\3227\205"
+"\365$aQ\17IPQ`\22\24\42D\37d\240\221\232`\322\7\5\225T\26\26\242\201\321"
+"\213!E$\210\275h\231\33\374z\230u\333\331\2713sg\360%\230\377\323\3169"
+"\367\267\347\356\271s\316\275wE\2\5\n4\265J\3662xge^\377\250\2778\213>"
+"\1\235\376\330b\0\230\353\207=l\260\177\374\260\347\r\226S>\330\306(\333"
+"\346\203\355\212\262w\274\243\263\276G\331Z\357\354\262(J\245w6s\222\335"
+"\356\343\367\376\212\262+}\260\247\rtl\241\237\5\356\0\240G\351Kr\203\337"
+"\211\210\\]\341\263\356.t7\257\n\272O\240\251P^\313\30\211\272\247\371"
+"bnF\251\243\236\232\\\242\362m\211\270\252\372f3\344\246N\344\224\3276"
+"\241s\354\210P\374C\341\206\214\264\351\241\344\324\fs\2257\225y\312\373"
+"^sh\217\253\326i\202\313\275\301/\1\270V\336\r@\2577\30\200\217\429F\350"
+"\331^\330\365\0\224\212H\3\0g\275\300m\261<\31{M\304\363\254\257\210\210"
+"\310\200\313[f\321\1\0\62DD\344 \0\255\372\360\7\200\301\370Y\350/\365"
+"\2S5\265\2\260\317\333\371#<Y\345\223\313\246\247q\200\347\261\307\237"
+"\0\314\327c\327\0P\22{\256\6\240F\17nN\310P\212\227\224\1\20\337\1\214"
+":/\320a\367\0\20\337\367\266\2\320\241\3\367\0\214X\347\2423\3579\0T\233"
+"l\365\0T\270\303g\24\65\270\4\200\1wx\24\340}\202\3613\0\213]w\r\0v\'X"
+"+\0\270\354\6\67\251s\243\2272\233\203q;\0E\316\354.\0\266X\354\233\0x"
+"\352\f\367\1\220n\261\247\31\363\169\235\0\323\263ED\304z\316\214\326T"
+"\225S\340KF\200g\313\23\354K\215\23(\243\16{\225\374\313g$\22\373\34\232"
+"\26\216\231s\373l\3\257\303M\215\366\263~\340\n\343\262\310\316\332f\307"
+"\226i\300]v\360[\r\230\260\232\235ix\37\257Vz\363\37\31\356\343j\370\244"
+"\313\305\253\6\200a\265s\310\332\177\314\32\1 K\3452\366\361#\16\360~K"
+"_\215\351\272{\311\332/5\0\367\35\341\333\0\354\260:J\0(t\204s\1xcu\274"
+"\320i4\303\0\244$\232g\0P\357\2\237P_\375\215\255\320\355\352\226\16\300"
+"\204:\221\251Z\375\221R\263\261A\357\216</\372\202\247\305w\250\350{K\377"
+"F\347\35\341\311dy\304\316\301E\257Le\23yX\254\340\302\347\6\314\325\325"
+"^ \42\5\267\254ew\314\372\207\305\240u\324\215\265\322\242\250\331!\13"
+"\\\251*\355\273I\343\2129NhXD\344\267d\327Z\277\362\220u`\257u\324\305"
+",\21\311\254\373\32o\373\321\244\\\260\252\36\23\371\245.3\270\305\6\n"
+"\24(\320\377\246\277P\0\r\223\16%%\214\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\39IDATx\332\355\230[\210MQ\30\307\27738\2451Ljr"
+"\220\24\65\212\271$\17f\220&b\210\310\240\230\311\270\205\311\223\30\342"
+"\301\274\214I\32R$/\214P\246\2301B.Q.\271\riB\341i$\227:\21\251!\234\362"
+"\363\260\317\331\366\336k\355\275\327\366F\373\377\264\327\177\255\337"
+"^_k\355o\255\357\34\221X\261b\375/\352\27\324YTS\236\376\372\227/>\rp\366"
+"\257\320\322_X\232\24\235]\206\255\325Q\331f\34\332\37\215=\207K7\42\240"
+"\203{\361\350\313hS\266\42\207d\332\3322\271\347yfl}n|\263\210\310\256"
+"\\k\213\t\333\230\33=\333jW\347\332{\302\331\245\331\241\351T\316\31\376"
+"!km\b\205\337Y\3\257:\275k\226\327\27\306\26iCl\265\334Qa\364K\200\32\257"
+"\273\30\24074\354\312\256\356\26\235\337\362\360\334\324\370\20\372/T\321"
+"\361\325\233\307\234\235h\306\316G\253\315F\360)=L\245/\221\367\347\361"
+"\275\317\220c&3\347\337\363\231\272\314\217H8\33\263f\27\27\16H\364+(\316"
+"s\215i\257\215\264\356\253\334SG\334\265\333.\270.\32|\7\200#u\217\0x\22"
+"\r\6\340\205H\2315\365\320(\354L\0\226\213\310\t\0vE\201\273\354u\32g]"
+"\35\221\243>(\42\42\275!_\231\242\265\0\24\213\210\310:\0:\315\341g\0\257"
+"\235Q\230o\365\bW6uF\253\16v\3\220t]\270/L\341\357\0\67\355\3467\0\206"
+"\233\261\323\0Xd\267\233\0h5\203\317xV(\77\312\222\1\340<\1\254<\2572a"
+"W\2\340<\367\26\2p\321\4\356\1\370\244\306b\22\267u\2737\271\274\303\0"
+"\64\230\226~\356\34\34\203\331\335.}\0\217=\346+\0B\139\353{\252\367\270"
+"\r\0\34\b\203\333\365kc\266d\0t)\366y\0\252\203\331\25\0,P\374y\0\\\17"
+"\206\237\2\220R\374B+\356\204\357]%\42\251R\21\21\31\251\300\331\234j\f"
+"\232x\177\2666\37\357\361\307^\324\26\220\356@\376\254g&c\77\'\372\'m\273"
+"\374\251\357\3043\b\323)\377\250/\205\302\204lr\260j\374\330Z\3\370\276"
+"\37\334m\0\223\324\263\203\2625\276\2762\256\274buo\323\303;\0\330\347"
+"\273\42V\271\377Q\337\231V\317\37\267>\1P\242\353\262\356\361\215\1\360"
+"\32\345\\\265u4<e\375\267\32\200\13\201\360I\0\226\250\35\213\0\230\25"
+"\b\227\3\360@\355\270er\320|\4 \337k\17\4\340p\b\274\35\200\235^\333\272"
+"\n\247\204\300)\0~\352\27\262\300\350|d\271\333\264\312-&\207\260\303\262"
+"\37x\241\363\204\312~\267<\237\23|#\\\313\245\207]\7W\337u\245M\346\362"
+"\\\r\227l\361\374\217p\276JD\252\216\253i\267Ua\207\274VG\265M\227\16M"
+"\316\246\25x\223.\265O\347}\327\304\370\323\300\21\221\37R\272O}\345zu"
+"\340\23u\324\336\22\21\231p\350\255\323\373\334\256\335\260\306\36\27\371"
+"\346\320\204\370Wl\254X\261b\375k\372\r\216\364h\42M\210\371\335\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3$IDATx\332\355\227mhO"
+"Q\34\307\177\33V\372O\226\222!\24\231\330\203\274\262!\rm#\332\32^\230"
+"\3459Z\274\221\20\n\t\355\305H\221\224\330Bm5{(\344!\344\371)I\243x\201"
+"iyj\245Y3\313,}\274\270\377\377\335\377\376\317\271\367\236\353\35\335"
+"\357\253{~\347|\3569\375\316\375\376\316\271\42\241B\205\n\365\237\251"
+"\260\241\13\272\232J\376\2\235\363\205\230\266\365G#\325\235o\327\371\262"
+"G\210\327\246ht\31@O\252\17[O\202\366\215\25\311\275i=\217\361fw\343\241"
+"/>\23\333\3{5\360Rov\2625\352\344p\21Y\362*\201\335\3453\361\340N\340{"
+"^\2645\357]<\273\3367\327\245\367^\356\215k\26\277\211\241-\23\377b\327"
+"3*[~\363\251&7\264N(\21\221\334\206\37\212\27\232\246\231\261\213\364>"
+"\334b\4\327\272\2708\317\225H\356\177\374\3542\244\306d\346\310C\227\251"
+"s\334\210\244\370FAaF\332\240\244\1C2\222\35c\352\226\7\312\373j\347\324"
+"\1w\355\256\3.\17\6\337\7\340T\371S\253\212\4\203\1x-\222cM=,\b;\17\200"
+"2\219\13\300\201 p\263\235\247I\0\364\5^\3651\21\21i\365\371\312\24\255"
+"\3 CDD\326\3\320h\16\277\4hs\34@\306\354(\207\233\32\1Xc\nW\2\220\22sy"
+"l\333\314\364\23\340\266\335\354\1`\244\31;\13\200R\273\275\7\200*3\370"
+"|B\206\42AR\6@|\5\260|\236o\302\256\2 \276\356\225\0p\311\4~\16\320\241"
+"\271k\30\260\303\1\330\343\210\235\0\240\302\37\336\257\361\340x\0Z\375"
+"\341n\200g\t\301\367\0\214\363=5\0X\231\20\255\0\340\250\37\\\247\317\215"
+"Y\312\0hV\302\27\0(\362fW\0P\254\304\27\2p\303\33~\1@\272\22O\263\326\235"
+"\344zV\211Hz\266\210\210\214V\340\250\247\266\32\334\265oMI\210O\270du"
+"t{\234U\322\237\317\276>\3739i`\212\35\236\372\302u\342\271\370\251\326"
+"}\325\227}a\fn\352\356Z\354\306.7\200\37\271\301O\f`R\364l\252\325{m\246"
+"\2667\357\252\325\275]\17\357\4\340\260kF\252\0\370\252\357lW\353\217S"
+"\35\0d\351\272\254s|\243\7\274V\251\253\266N\373[\326}\253\1\270\350\t"
+"\237s\3735+\5\240\300\23\236\n\300c\265\343\216I\241\371\n@D\371\225\3"
+"\340\204\17\274\3\200\335\211a\353(\234\341\3\247\3\360K\237\310!F\365"
+"\2212g\320\272n1\335\207\35\21\375\300\323\342+T\364\273\345\325|\357\23"
+"\341z\314\36\366=\270\350\201\3036}W\26h\270\224\203\255Nw]\310\27\221"
+"\3743\252\355\266)\354\3206uT\365li\320x\266]\2017\353\254]\237\374S\263"
+"\306_\6\21\21\351\225\354\303\352+7\250\3[\324Q\207\262D$\363\370\307\370"
+"\330\267:\355\206m}\356 \77\34\317\f\377bC\205\n\25\352_\323\37a}a\30\352"
+"U\247\343\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\23I"
+"DATx\332\355\227[H\25A\30\307\347X\36\n;t\20\242\243=\4\25\6y\243^\312"
+"\212\20\313,\212D\351E\245;\205\364\24aQ\17\371R\21a\22\25\342K\27\272"
+"\240`\232`\222Ie%]\211\20-\362\315\222\42\20\304\42,\314C\375z\330s\366"
+"\234=3\273;\373\30\354\377i\367\77\363\333\31\276\331o\346\33!|\371\362"
+"\345\313W\\\27\276\377\355\311\2678M\77\242\235Kt\320\320\24\0\345\t\'"
+"\374\7\2002\r\370\21\206\22N\237\344\330*\326\223\r\222S\42\365MKy\317"
+"\214\77d\231\263\216\77d\353\217\\(9y\356\360Y\243\347\373\204\323`8ou"
+"\302}\13\340S(\311i\3\30N\227\273\6d+\2772\324\337eqV\224\317\352\353\365"
+"\23\300\227\20bU\373ORug\271\36\273\25\245\16k\301-j\230\42[\42)\237\277"
+"\332t\271\2463r\306\13\233\241\13\354\bKV\225n\314\t\247\7f\204r\254\373"
+"Kk\265\247\270\357\266\16\355q\325\372-p\2157\370\31\0\227k\336\0\60\350"
+"\r\6`X\210\2c\350L/\354z\0\252\204\20\67\08\345\5\3564\343\264\24\200\250"
+"\347Y_\22B\b1\342\362\227I\332\7@\216\20B\210\375\0t\350\303\357\0F-\7"
+"\2066\233m\311\246\16\0\366\350\302g\0\b\306\263<\276lz\232\2xb\276\376"
+"\2 K\217]\13@\205\371^\17@\203\36|;%B\31^B\6@\362\16`\344y\261\16\273\13"
+"\200\344}\257\34\200n\35x\0`BQ-h\260\363\0\250\267x\315\0\324\272\303\'"
+"\259\270\b\200\21wxRU\177|\4`\241\353\251\1\300\316\24\267\26\200\213n"
+"p\253:6z!\3\240S\262\273t\312\317\35\0l\223\374-\0<t\206\207\0\210H~\330"
+"\230w\300\251\366\214\30u\366\2\t\216\345T\235\323\300\347\215\1\36/K\361"
+"\27w\33\r\223N\25`\42\236\321\250\371\34\230\31\64\355\302!\333\201KpS"
+"\213\375\254\357\271\302\270\327\332\16\252\264c\2535\340\227v\360k\r\230"
+"\240\232\235c\264\366\256Q\266\26\3357\232\217\252\341\343\0\64\332F\304"
+"\270.\214\253\33\307\344\375\307\252\t\373{\212q\216\37t\200\367J\373\252"
+"\251+\356)k\277\324\0\334u\204o\2\260]n\250\0\240\324\21.\4\340\225\334"
+"\360Tg\243\31\7 #\325\236\r@\263\13|\f\200\23\251\266q\24\256v\201#\0L"
+"\253\3\31\322\273\246VYM\243\334b\245\13;\77\366\203\207\223w\250\330\177"
+"\313\207M\316\'\302\203xz\230up\331sK\332D{6+\270\340\351\21kvu\25\13!"
+"\212\257\313iwDb\347\216\312\275\256\256\23\355\212\234\35\223\340C\252"
+"\324nK\233R\314qZ\303\21B\374\26\371\215\362\'\17\310\35\7\345^\347\362"
+"\204\20\271M_\222\275o\255\312\5\253\33\260\220\237\233r\375[\254/_\276"
+"|\375o\372\7p4\r\272\332\356\260 \0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\3qIDATx\332\355\230[\210\215Q\24\307\327a\214\30\227\241"
+"dPhh\344\236\'\3274.\343\22\221\313\13\63\356\321\360$\271\26^\20BB\222"
+"r\t1\345Z\356\42\6\343\236\334r)\214\6\t\271\274 f\322\317\303\236\357"
+"s\276\263\367\367}{{B\347\377t\326Z\373w\366n\355\275\326\336\347\210\244"
+"\225\326\377\251DD\254``\333\304\213\363\'\376\344k\27|\3\200\237\213\235"
+"\321\334\207\370z\234\353\306\266\257$I\77\3329\301\257\t\350\245\13\273"
+"\t\2007\363z\365Y\370\36\200\r\366l\26\0{\225Q\2@]kx&\300\23\317z\2Pl\32"
+"W\303\344\354\'\42\262\332\263V\371.+\270\265\210H\231g]\366]V0\42\42\31"
+"\236\225!\42\362\323\32~&\42\62\310\263\6\212\210<\265N\330d\200\217\236"
+"\365\26\240\320~\257\0(k$\42\322\240\24\0\207C\262L\35\254\255EE[\324\247"
+"%.G\354N\360x\336t:\333\215+\222\331\347\r\334\312\252\366\251\337\354"
+"\361Z\316\25=\366\256B\357\214\371\2436\324\262_\256<\277\360*\335\253"
+"\377>\3658\370\225T\35\356f\307\16\307\2509V\360>3L\317P\42\251\223\274"
+"\t\31\262\323\252[_\r\231\272\213\325\331.\30\224\227]+Q\263~^\260\263"
+"\225\214w\312\373\344\340\324\216\273v)\0\27\272\301e\0l+\274\5\300=7X"
+"]\352\42]\324\324\215]\330\1\0\214\23\221\335\0,w\201\217\370yj\7@\225"
+"\363\2527\211\210Hy\314)\3234\r\200<\21\21\231\16\300!{\370\1@E\362*\354"
+"\267\272y\240\232\16\1\60\305\26^\t@\246W\345\336\266\331\351;@\251o\252"
+"\227`3;\266\17\0\243|{)\0k\354\340\3)\31\312rI\31\0\311\35@\325y\276\r"
+";\t\200\344\2767R\335\225\326\367\372\'}-6\353n\2\300\322\200O\275-\212"
+"m\237#\301\32\314\5\240<\36\376\2p;\305\371\2\200V\261\267\6\0\23S\274"
+"\305\0l\214\203K\314\271\261K\31\0G4\367Q\0\6G\263\23\0\30\241\371\207"
+"\1p.\32\276\17@\216\346\317V\353ND\275zs:\213\210H\13\r\256\256\251\271"
+"Q\23\257W\23\\\350\220\342os\\\5\276D\275\303~\347\263\252\312\377\234"
+"\310\310\364\335]\357\207N\334\2378\355\13_\365\311X\230\230M\216\326\350"
+"0v\274\5|-\f\276a\1\223if\353\251\350\231\336\306h\317\323*<\337\f/\2`"
+"]hF\326\0\360\301\34|\247\367\237\240>\1\320\311\24R\367\370\254\bx\252"
+"\326W}m\217/\331\360\255\6\340X$\274\7\200\261z`\24\0\5\221pW\0\256\353"
+"\201\2136\215\346\3\0Y\251\356:\0l\211\201\27\232\177\33\252\253\260W\f"
+"\234\3@\2459\221\365\255\372#\343\202N\365\334\242{\f\333\264\372\200g"
+"\'w\250\352s\313\243!\3217\302Y\257<\374w\360\340+\201\262\251:5\324\300"
+"e\256(\17V\327\321|\21\311\337\245\227\335<\215mX\241\217\332\321W\16\32"
+"j\366\235\6\3176\225\366\376\32\337\rk\254\264\360\210\310\17\351\274N"
+"\377\312\31\372\300{\372\250\265\235D\244\343\346\300\37X\237K\214\33\66"
+"\67\3707\302\253\315\35\323\277b\323J+\255\264\3765\375\2U/f\250\270\246"
+"}r\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0"
+"\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\37IDATx\332"
+"\355\227]hOa\34\307\77\377\371\317\214\265\315\b)o\271\242(\233\227\f\21"
+"K\23)el\21S\262H-\27\246\304\270p\305\205w%%\232\367\332\5\27\334hIs#\222"
+"\267\362r\301V#2\346%\326f\373\2728\347\354\177\336\236\343\214\253\325"
+"\371\336\374\237\347\367\374>\347\374~\317y\236\337\363\374!Q\242D\211"
+"\22%J\224h\200+\345\353\27\216\312\315J\245R \4vC>\247\236\216\326\340"
+"\223\322g\25W\367\247\372\341;\352\207Fx\331\311\375au\312\233s\376\327"
+"\376\314\326\227\42\262\\\335ou\375\201\207\373\r\323\216\2776\4\331\323"
+"m\2517c\n{b\2153\370\354\275\323Z\341q\330\25\1\323`\215\355c\354\33\253"
+"U\356s8\21\1\37\220$}\2\352\303\275J\34sV\20\236\2\300a\3409\0\235~\207"
+"\27\21\323\330%I\232\0\224I\222>\7<\314o.\312\6\240\5\350\6\240\327\370"
+"\232 \274\6\200K\321\230\t\256\2\340J\34\30cB\300\274\276y\217\231s\t\0"
+"o,\'\303\363;\1\236\206\300\225\0\\\216\f\356,@C\310@\233$i:\0\245\206"
+"\260\363Z\245\7\177I\331\b\223\273\245:\214\255\220$5\271\341\366\330\237"
+"\252*\230r\266\375\273\255\261>\326\207*t\277\331\316\341\210\244\253\221"
+"\354$I\222\263\25lx$\3002I\322\244\250\260]k3S\324\217\1\63n\2P\26\365"
+"\346\307\222\244\245vo\276]3\332\2575\333\255\2031\327\246\13\316\350L"
+"D\330\213\1xi:\213 \'\2\256\362\244\34\2\247\42\340u\0\64\232\367\253\314"
+"pA.\364\225.`X\0\3566\303k\255\32\346+\205n}3\317u\263kQ\0\274\260\372"
+"\37f\221\332k5k\377\366\241tw.\0\305\267\354~)\300\36IR\261\221\235m8\247"
+"\254\321&\31\66\261\245\243\341\254S\6\317\275\27316\342\304\r\207\177"
+"\305\332\317\205\206\231\210\3W\360\37p\245\301\245\'~\265\327\215\362"
+"\321C\322\351\364\320\211\33\354\343\271#\6;\336ru\337K:\f\247dP;%Imn\323"
+"~s\365\254m\351\270\2657\323}$I\332\356\366Xi\252\333\254\366]\31\254\250"
+"\363\334.\13\214\360CIR\337l/\264v\315\217x\363\\\354\375TV\21\271\360"
+"ow\347\357\222\244\371\36\233\371\270\221\'\354|+\331f\217\313 C1rL\316"
+"H\265\353L\367]/\13\214\367N\7\336\r\300\253\260i\t\326PfzzuV\22\276\353"
+"\231\265\302\264#\0\337vU\211q\r\316\336]\357\362X\325w\3>9\247pp\332Q"
+"\316\230\345M\231\22S\363\326\265\3637\331\344\326\226\30\227}6\337\363"
+"\32\26EU$\77\374\304g8\17\60\64\336\337\214,\177\205\372\5\320\25\253\0"
+"\60\350\343`\317\77\244\316\215\355@\357\357%1\27\346\242\213\355N\34\255"
+"\207\362mc\331\365\237\321!\267\235.\33\226\374!N\224(Q\242\201\245\77"
+"Hc\245\335z\200(M\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\3\fIDATx\332\355\227MH\25Q\24\307\377~\340\313\264\3576\246\250\253\24"
+"\13)%SI\205HD\223(\202j\23\31nZH\20aR\6\272p\221\21\24\224\5\201\21H\33"
+"\67E\5FQTd\344GXja\221\231f-,JT4\303\374\267\270\363\306\347\274;3\357"
+"\336\27\264\231\377n\316\231\337\375<\367\236s\1O\236<y\362\344\311\223"
+"\247\377\257\bG\357\262\350\271)\2527\232u\246\207~\275\277R\242@\256:"
+"O\253n\347\207\206.o\245LC\345\0\200\372\336\266l{\266\226vz\273/\251\254"
+"\217\344\270\35\32\337GwU\32\77G/f\267t\6|tv\rN\370\22\67\346\257\265\366"
+"\260\275Y\326o\261\331\370L}\362\202\271\260yq\317\35\62v\233\337\373m"
+"\227\325U1\25\0\277\223\260\t~g\215\254\345S\1\13/q\217\n\327l\272|-3L"
+"x$\330\331$<\37l71\316\36\336l\333\252\251\24\3\376\24\344\31\20\216%N"
+"\301w\324\bv\253}\267\260\279\207\356o\371V\r\223$/\273\304\375\21\222"
+"\344\r\2135Wt\354zjH\222\207-\306[$\311jW\270\212\344Oi\213\241\\\32\307"
+"^\265eYL\245\322\271\204(\21\371\5z\360\227PGm\273\210\375\252T$\0 \26"
+"\0\360H\17N\25\67\207\36\234 \242[\17^\3\0\370\252\7\307\1\0\306\365`\37"
+"\0`V\17\216\2\0\374\321\203#\364\242#2\234\374,\340y\275\206\4\60\7\0\210"
+"\321\203\177\211\334\252\7O\4\304\2312<\6\0H\323\203\77\213\374\32\316"
+"y\356\321,\245\250\25+\306\336>\6\0\344)\302QF)R\6\0\276\233Zs\216g87\340"
+"k\222\344q=xoX]\317\220$/\350\301\207D\327\331\356\177\256^\31l\373(\352"
+"/7tC\'Y\33d\335$\272nwf\367\220$\343\202\354\215\202\276\353\304\36\24"
+"\377H\6\376Rx\2369$g\373\n0R\224+\234\314\264a\257\32\245T\261\314\231"
+"\352\257\322\32\245K5lx\353\344M\247\233\25b\225\325\265\342\272\337u\316"
+"nRI\223&~-\360UQ~\317\264\237vx\32=)\f\250\315\236\367\217N/M\312,X\267"
+"`\333\337\352\264\33\'\235\36\b\3\211.1\224\322a\313V\207\20\347\245\203"
+"R\264)\304\224\222w\307J~\77\241r\314*\206\26\310\256\232d\325SZg\240\227"
+"bt\316x\273\3139s\\\203\26\275:G\250H\f;M\13^/\340\371\42\375\24F\262A"
+"\7\356\366\323\27\65\340\255\346N\357\320\2403\37\322\365nrP\311H8\271"
+"D<\245(\213\262h\333\313}\247\257\367\3014\200\f\343-\247\0o\273\37\13"
+"\240\377\305l\256H@3*\203\255\267\234\310\263*\360\1\13\254\266N-\213\330"
+"\34\305U\256\374a\242\335\311\352\233\224\325\360tln\372MS\16<\375\33\375"
+"\5G_\24\230\374\373\375\354\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2~IDATx\332\355\230=h\24A\30\206\337\\\24\242\22I\343\17Z(*\222"
+"H\214\334\25QC\32% \211\205\215\42\'X\251!&\26\1\213\20\24\33\5\255\4\261"
+"\21\25\264RA\321\220\302B\fiDQ\24\305\374\200H\210\215\20\bw\b\301\37r"
+"\227\274\26\263\227\314\336\316\356\315|\250\20\231\267\330\335\231o\236"
+"\371ffg\276\231]\300\313\353\377TuL\376\206s\331\225\243\322J_\220\374"
+"\274I\306\256#I\262CF\27\25}Z\324\347\371\375\0\200\2035C\22\327O\224k"
+"\336\23\65\374A@\277\22\321W\3zj\265\204\356\rhn\227\320\207Kt\203\204"
+"\336\35\3003\242~o\374\256\350\363\262\331\362\236$9`\264\245*\301\351"
+"[\0\360N\272FZ\36\276\271\354\303\217\327RU\3378\3554z*\302\16\322^\367"
+"\313\330z\272\2505\274\236\247\351\322\305\243a8\327\343\2\67-<U\251\333"
+"\232\343\355m\213\346\311|!\32rjK!t\244\311P\343\205\240Og\343\\v(\373"
+"\230\321\370\3148\232\232z\324\3332\332N\222$\17\305\303u$\311\217\306"
+"\3509\241]\215\372\226\20z\177h\327\4\321\b\253\334\371\212\207\6\373\240"
+"\37\325\214\20.\0\300\244\20~\16\0\303FS3Irs\2\334Nr\32B\30\335o\237f\304"
+"\260\343\26[Z:vp\270p\337\317\271+V\255P\315\336\246g\265\221\344\21{\317"
+"uz\242\37\0\272\355=w\206\3461IZ\5\251=\221\265~\321\36n\t\16\233\7V\250"
+"t\303u\332\303\255q\301\326f\300\252]\327W\312n:T\206\371O\341e\332\363"
+"\\p\317\277\316\25\200\324\252\372F\207\212\366\252\261=\266\220\2615g"
+"\377\252\324\351\372\246\226\263\317\36n\216~\210\315\222\344W\373\205"
+"\361EO\\\3\200\307\366\236\267\350Y5y\262\270\336f\264\21\r\372\277\322"
+"\275\313oL\331{\376\2431\254\\\273v\310\341G\37\306\356H\233\335E\222Y"
+"\241\347\23\0\320)\364L\222,\312\267\330\305\250!\202\361w\340*\31\234"
+"rm\213^\264V\273:\303*\352\354L*\2766\326\362\211$\3712\t\216\333\1772"
+"C\301\3760\230\216\375\351s\311\270\205\234\31q:\354\207\330\1R\fg\34\331"
+"\t}\264g\35g\326\355P\352\256\223\343\361\262\272\262\303E\3536\367\373"
+"oX///\257%\252\337\206\217\336\317)\r1\200\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\2xIDATx\332\355\230MHUA\24\307\217\317\204"
+"B$7\225 \210\224\220\366a\370\26~\341&\20B7.B\302\240U%\245-\36\264\20"
+"\27F\240\240\233\26\321&$\310\225\5E\205D\213(\204\26I$\24\231\17\\\210"
+"m\4A\336#\350\303\360=\375\273\230Q\347\2767\367\2763\207\212\202\371/"
+"\346\316\327\357\236\231\271s\316\334{\211\274\274\274\376!\25\363\272"
+"u\'\232\223\337e\26\252\26\0\274\221\261\35\0\0\34\224\260W\25\233\225"
+"\260\243\212\305\220\200\235\324\354S\1;\243\331\207\356\350\376\25\315"
+"\336rg\217j\24\tw\366\3706{V0\3375\3156\t\330\233\n\375Q)y\300\317\1\0"
+"\37\42z\304\302\233f\211\210\306\33\204\36\67\366\376Q\253\217;^\333\32"
+"H\202\247\317\227\363\330)\360\365 \207\255\205\213\332\202\216\261\n\227"
+")\236\13\302\251~\27\270~\'W\244.\7.t\264\3576/\2453\371\276[V\247ss\365"
+"\226;\336\320s\272\36f\262S\265\317[\33_ZW\323P\277zZ\326\266K\0\200\256"
+"p\270\34\0\360\311\32\206\26\215\324\252\257\21\61\354\247\221F\bVX\325"
+"n\26\202\263\234\350\31\246oB8CD\264$\204_\21\21M[\233\32\1\0\325\5\336"
+"NVI\bS\337\354\213\270\30f\237UA\327\341\301\301\316\3k\33c\254Q\250a\327"
+"\230U\355\0\320\315\267\\n\26\6\211\210\372\370\226{\3\373\30\0XA\2529"
+"\317\327\207\371p\253\352:sf\237*\327\335\1\37n\13\13\266\234\5+v\365\257"
+"\30o;\24\206\361W\341=F~C_\323\357R\31\242Xi\355\t\207\33\265\250\265="
+"\277Sq$\305\177TM\0\200q\243\3464\37V\333\263\323\254Z\7\200e\276c|1\13"
+"\267\211\210\236\360-\37\66\253\366\246\201l\5g\265)\77\350\377jH\224\334"
+"]\341[\376\2551,W\247\216\311\341\307\37\347\357K\207}\5\0z\204\226/\22"
+"\21\365\n-\7>h\5G\354n\324\20\301\364g\340\42\31\34s\35\213\331\265\314"
+"H\235a\25uNFu\17\377c\261\0\0x\33\5\207\235\77\361\327\372|\230\n\375\366"
+"<4b=B\256\3159\275\354\7\330g\200\30\216;\262\213\346j\257;\356\254{\201"
+"\322\204\223\341d\316\275z\246\263\3541\17\372oX///\257\377T[\331E\345"
+"{\202\306\315\270\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2\241IDATx\332\355\230MH\25Q\24\307\317\33\13\2140\334\230\266\210\242"
+"Zh\244\342\13J\313M \211\266\b\f)\203\202\250L\264EP n\332<\205\242ED\233"
+"\210\260vA\204\211\213\240/\334\25F\213\310\224Z\250m\204\344\361\36E\237"
+"8O\377-\356\314\363\316\314\235\231s/}\20\314\1771\357\236s\317\357\336"
+"\363\356\3349\363A\224(Q\242\200J\42\372*:\352\27\276\31\216{\17\0F\214"
+"\320\332e\b\355\324g\217\240\250\23\272l\6\222\256\352\261\243\360h\\\3"
+"]7\13\237>o\342\262\215.b\17\17\333n\373\0\217=\356\306g\210\210\6]\353"
+"<\207\275\340F\357\27v\253k_\216g;\235\320\205*\327\263!\353\270\316\304"
+"\302\363\42\360\221\354{\42|_\343\330\ne\212W\204wc\34\375\16\0:\374\336"
+"C\0\60\33\233v\323\203\211!\225\177\350\345\350\336\244\6%\3727\352\237"
+"\6OoO\7\3301\360u\327\307VCG\315E\316\42\42\312B\347/\36\366\302\271>\35"
+"\270\256\330J9\25\344X[\313J\367\\\336\16 VY\215\323\232\254S\214x1\256"
+"\310\266\213\376)e\347c\345jJ\352\23gK\331w\n\0p0\34.\7\0\274\361.\230"
+"\243\31\351\250\324\'\377:H\355\357\3221BP\302\302\273\34\7\27\2240S_\f"
+"a\233\210h\316\20~JD\244~N\330\5\0\330\34\1\267\1\310\222!L\275\257\36"
+"\246\215\341\360\363\254VJ\7\366\6\367\377X\272\304\312B\244\275Mv\265"
+"\0@\'\177\346r\331\30 \42\352\345\317\334\355\331\307\0\300*R\215\201k"
+"=\303\207\367\210\320\27\255k\204]s\35|\2709\254\330r\26\254D\367\372\262"
+"x\333!\36\306_\205WI\355%\3477\77\221\263\211\254\265\325;4\6j\22k{\264"
+"\350\330\232\343\237\252\335\0\200\233\222g\37\37\26\333\263]v-\2\300<"
+"\377\302\370 \33\327\210\210F\3703o\221]\245y\240P\305Ym\n\26\375\237\r"
+"\347V\337\370\310\237\371\267\3260\277\352\267\233\303\367_O\3356M\273"
+"\7\0\272\fg>ID\324m83\0\240`~\213]\251\32F0\375\318e\6[\272\271\310\241"
+"e\322Q\33\26U\2476*|}h\317{\0\300s\306\'\220\200\77\375\314\271\77\214"
+"5\204\241\225\203\312[\310\331I\255\207\375\250\217*ZpZ\223\235\221W{Q"
+"sg\335\362Xw\264&\236\366\215\3255^`\347<\220\274\303&J\224(\321\177\252"
+"_-\22@\31\347}\321\373\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\240IDATx\332\355\227OHTA\34\307\177\373*4D\20\242\77\20Bd\7\rw"
+"\315\3350\255\275HR\351\241.E\30t\252$\264C\320A\274t\251C\327\350\22\25"
+"\325\255KHz\210\220\302\350\240\4\35\42S\350 \326!\22d\227 (sw\373v\230"
+"\367|3\357\315\23373T\20\314\367\360v\346;\277\317\314\274\331\371\367"
+"\210\234\234\234\234\210(\23s\216\364f^>\213\271\207\216\325\317\216\247"
+"UVX\5\200\237\373Ew\347\'\0\300q5\233\205\257,\3576\4\256\232^\16\302\276"
+"\360\356T\340B\305\346\326\243\320\316\331\241{R\b\367\204\\w\230\354\t"
+"\223\35a\262\250\200\327\244\311\212\324\215\2519\354`\263\264\333\207"
+"U/=\23D\315\360\356\335\300]Q\216v]\215E\325\352\4{\311\207[Rf\311\4\0"
+"LD\335\373\0\360jK\372\214-\24d\356\276\256\rn1;Ykt\1zz\177!\306NB_\217"
+"\42l+LT\24w\222\25\230\274\342i\21.\215\230\300\271\350\211\261\365l\177"
+"\37\267\366\313\225\30\3425\266\371\251\271\234\244\306\253\376;]Ijr\200"
+"\225\317K\13\247\244\243\311i\204\375[\322\262\363\0\200\23\311p\23\0\340"
+"\235t\337^\344\236R}\215\216\3\227\376\316=\25\202\24f\356\2574\270\232"
+"p\334h\351\233%\\!\42Z\262\204\237\23\21MK\213\272\0\0\273\24p\177\362"
+"y\225\16\323\360\233\247yk\230\24\207\273\336eK\1\213\301\243\77j7\264"
+"z\301\272\275\207\267\372\0\340\224~\313M|f\214\210hX\277\345!\212\335"
+"Ft\340\356\330Z\277\246\17\37d\241\263G7\263|\333-\350\303\305\244\315"
+"Vg\300\214/\35\236\336tH\207\361O\341\215\\\272\346\377\226_\227*D^Ck\273"
+"AE=ll\317\254\33-%\375\277\352\0\0\340\16\347\364\352\303lz\16\b\27p\0"
+"\370\254\2770>\362\231\233DD\343\372-\357\346\255\3722P\335\2413\332\24"
+"\337\364W;/o\272\275\254\337\362\37\335\303\242\352\330k\17\77~;\377\300"
+"\266\333\27\1`\320\262\345sDDC\226-\3\0\252\366Gl\270kX\301\364w\340\214"
+"\35\354\231\366\205\17m\344\236\3060\333u\262\252\360m\211%\37\342\37\277"
+"Q%\235\77\371\27\376\3710\331\231\204n\277.=B.\315\31]\366\5\366\t`\r\347"
+"\r\331E~\264\327\fg\326=!\367\320\250\341\205H]\203\323U\355>\217\271o"
+"X\'\'\'\247\377T\277\1\20\271\2592\304\251\253\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\1cIDATx\332c`\30\5\243`\24`\0f\f\21\251\352"
+"H\256+\344\32w\344\377\377\377\267\345\311\323+\376\377\377\377\377\377"
+"\377{\221\247\373\17Dw&Y~\376\347\304\300\300\300\300\340\315\261\227\34"
+"\253\327C\254\376\277\214,\207\257\200\352>N\226\356>\250\356\27|\344\350"
+".\200\352\376\257F\216\356\20\230nMrt\233C5\177&\313\337\322_!\272k\310"
+"K-\347\377\377\377\377\377\377\6<*\230pK\31\316f```8Kn\36\261Z}\252}\264"
+"\340\31\5\203\5T\335\370\217\27\\+\307\255w\353\177\202`\23.\275\332\377"
+"\211\0\2328\262\344K\42<\366\377\25.\231,\302\26\243T$\214(\272E#L%9\231"
+"\31\30\30\230\270\325Y\340\242\277o}\375\307\300\300\360\367\373\363\323"
+"\313\337\20\27\362\3160\313\34\310\211\267\24\210\336\4\262\42\235\3\242"
+"\231\25\267\nF|!KH\5\23%\trT\363\250\346Q\315\243\232G5\217j\36\325<\252"
+"yT3\16 \6\241\204\311\322\234\213B\2216R\323\2k\2706\212\22\247#\373\34"
+"\376\326\366\31<\3436\33\b7\326\327\340\322kDL\37C\17G\200\375\42\306g"
+"\277qI, l\361\34\334\306F\356\377\203O\347\357\275\341\243\35\327Q0\nF"
+"\301(\30\302\0\0\357\372\277\352\325\4\25\335\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\1[IDATx\332c`\30\5\243`\24\f\42\300L\244"
+"\272\320\2\213k_\310\263B\356\346\377\377\377\17\221\247\327\363\377\377"
+"\377\377\377\377\27#Go&D\357\37r\364\266C\364\376\257%C\3572\250\336\365"
+"d\350=\16\325\273\202t\255\374/\240z{I\327\253\16\325\372\277\200t\275"
+"\3320\275\301d\370\367;T\2579\31z\33 Z\277J\223\23\301[\376\377\377\377"
+"\377\377y\334\n\230\360h>\303\300\300\3000\313\220\314,\327qz\265\325h"
+"\3013\nPA\325\215\377x\301\265r\334z\267\376\'\b6\21\314\276\370\200&\216"
+"\214\361\222\b\217\375\177\205K&\213\260\305\231\310\352\31Qt\213F\230"
+"Jr23000q\253\263\300E\177\337\372\372\217\201\201\341\357\367\347\247\227"
+"\277!.\344\235a\2269\220\23o)\20\275\tdE:\7D3+n\25\214\370B\226\220\n&"
+"J\22\344\250\346Q\315\243\232G5\217j\36\325<\252yT\363\250f\34\0:8!L\226"
+"\346\\\24\212$ \336\2k\2706\212\22\247#\373\34\376\326\366\231L\334z7\20"
+"n\254\257\301\245\327\210\230>\206\36\216\0\373E\214\317~\343\222X@\330"
+"\3429\270\215\215\334\377\7\237\316\337{\303G;\256\243`\24\214\202Q0\204"
+"\1\0b\33\306\226%/Xl\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\204IDATx\332c`\30\5\243`\24\214\2J\1\63>I\321 \375\227_\3114x\325"
+"\377\377\377\377\257#K\253\356\277\377\20`L\272\336\210\377p\220H\252\336"
+"\346\377H\240\2374\275\33\376\243\200\375$h\345\273\367\37\r|\224\'V\257"
+"\5L\313\357y\363~\303\330\336\304\351\215\203\251of```h\201\361\212\211"
+"\321[\2S\355\6\341\273\303\370\235\204\365\206B\225\276\224\200\211H\276"
+"\206\n\245\23\324\374\24\242p\'\262\330n\210\330\27BzE\261:\261\33\42*"
+"KH\367\215\377\377\377\377\17B\27\r\376\377\377\377\377{\4\235m\271\376"
+"d+6\361\326S\33\254G\13!\252\202\252\33\377\361\202k\25\270\365n\375O\20"
+"l\302\245W\373\77\21@\23I\3\23\22\373%\21\36\373\377\n\227L\26a\2133\221"
+"\3253\242f\213\bSINf\6\6\6&nu\26\270\350\357[_\377100\374\375\376\374\364"
+"\3627\304\205\2743\3142\7r\342-\5\2427\201\254H\347\200hf\305\255\202\21"
+"_\310\22R\301DI\202\34\325<\252yT\363\250\346Q\315\243\232G5\217j\36\325"
+"\214\3\210A(a\2624\347\242P$\1qx\337\267Q\2248\35\331\347\360\267\266\317"
+"d\22=R\200\r\254\301\245\327\210\230>\206\36\216\0\373E\214\317~\343\222"
+"X@\330\3429\270\215\215\334\377\7\237\316\337{\303G;\256\243`\24\214\202"
+"Q0\204\1\0jG!56\210\32;\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\203IDATx\332c`\30\5\243`\24\214\202\241\13\30\61\205\334\34\31"
+"\17\354\300\20\265\366\3408\276\216\220i\306\77\376\377\377\377\377\247"
+"\t\252\250\364\303\377\377\377\377\377\357\207_\257\356\177(\320E\26\345"
+"\206\211\342\327\375\2\246\3549\262\350.\230\350\177|z\365\340\252\376"
+"\353 \t#DC\220U3\241j\266@0-\21L}\4\323\6\217\346_X\231\277\261\212b\0"
+"Y\204\3e\261:\333\31\237\247\217\301T\35C\26\235\r\23}\2157\264\331\377"
+"BT\375eG\21\276\17\325\254L \225l\374\377\377\377\377\215\350\242\363\376"
+"\377\377\377\377\2200\341$kl\214M\324\300\214y47\17\36Pu\343\77^p\255\34"
+"\267\336\255\377\t\202M\270\364j\377\'\2h\342\310\222/\211\360\330\377"
+"W\270d\262\b[\234\211\273\350\25\2150\225\344df```\342VgA\224\5\267\276"
+"\376c``\370\373\375\371\351\345o\210\13yg\230e\16\344\304[\nDo\2Y\221\316"
+"\1\321\314JRu\203\bYB*\230(I\220\243\232G5\217j\36\325<\252yT\363\250\346"
+"Q\315\243\232q\0\61\b%L\226\346\\\24\212$ \336\2k\2706\212\22\247#\373"
+"\34\376\326\366\231L\334z7\20n\254\257\301\245\327\210\230>\206\36\216"
+"\0\373E\214\317~\343\222X@\330\3429\270\215\215\334\377\7\237\316\337{"
+"\303G;\256\243`\24\214\202Q0\204\1\0\250\265\366E\214\364\16\364\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\206IDATx\332\355\227"
+"]\210MQ\30\206\337sP\323\fcb\270!t\244\374\214\234\231\13\377eB\211\13"
+"\77\305\205\311\325\270\32\222\13\31\\\21)\\\240\211\244\241\224\20\223"
+"Q3\341\202rL\232\242#S\306\2444$\245\374$\206$\177\257\213\265\346\314"
+"\236\263\326\267\367:\353R\353\275\330{\237\365\355g\177\337j\177\353\335"
+"\353\0AAAAAAAAA\330\373\234v}\316\355\257K`;\30\253\213\331\30v\26\223"
+"\324\273\\\204\3073Yw\253$z\207\3\315-\6\226R\247\271\'\207\352z\365\351"
+"\27\0\244\322\243\312\253&F\357m\331)%o\322\317\337U\34Xr\374\347`\356"
+"6q\342\267I\222Wl\241\r\37\222\350F\222\344:{\360\260\246O\bp=I\262F\210"
+"\256\321\364f{x\1I2#\25\66_\323\243#c\351\302\25\1\0\177%\370\321*u\276"
+"\21\363\350ir\37\66\253\324+\274`t\223$\373me\'k=\0 \263\314\13~\337\2"
+"\08\340U6\240f\235\366\311\f\\\6\0l\365\313<\217$y\317\17\326u\233e\247"
+"\\\246q\t\0\60\316\200\313\1\0\25\361\360M\0\300b\3\236\219\212z\250fh"
+"\214\347H\222\327\3410\351\316\242\301\312Sz\325\34-K\206#\35\212\225\347"
+"\373\2069\335\217\201w=\255\3651\360\357\302\317\2126\273Y\236qxWe\7%\253"
+"]\224\b\247+\307J\323\33\343\320\257\265}\366\304]\16e\3#\366\365\230\350"
+"\223f8\301\0\200\354-M]\233]Bs\27\324K\222\274\357\322$_\214\366l\5\0\234"
+"uY\326\375\6\374,r\24\245n\177j\300\337\42GQ3\1\0\217\rX\331\375\237xx"
+"idm\225\352a\332}=\341\325\0\360\325\317=\327\2\0\332\375\f0/}\255\34\340"
+"lQ\177\225T\366\5\0\300i\257\317\215\332x\260\332\7\256\246l\221\211\360"
+"\33#q\332\276\251\263\250k2\0\340\310G[p!Ir\272\304>Py\337F\307F\26Y\226"
+"`\\S\362\23\242\315m\224=GmB\255\354\236\327\232\335\370\322\376p\345\203"
+"\335\266W\364}\320\331\266\333\321\324U\35\357\250\35\66>\265\241}\310"
+"\25\267\331\331C.\33na_\332\351\200\276\230dg\353\34\330\335\322;\254I"
+"D\217\305-\227X\362\316\246\370\305\326\220\263b\3\371s\215\231\360\227"
+"5(((\350\177\321\77\361q@\360\2362-*\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\377IDATx\332\355\227OH\25A\34\307\77=\21\f\323\233"
+"\326E\301H\301\260K]\24/\245$E\242D\22\206dEX\207\207\207\240\240\2422"
+"\211\220\242\260\277\207,\324DH-\364P\230\20B!\222A\30\222\274\16\376\271"
+"\224Y\4a\nj\310s:\314\333\347\356\233\335\267o\347V\355\367\262\273\363"
+"\233\357~\277\363\333\371\315\354\200\17\37>|\374k({6/\304|o\245\6u\327"
+"\2540pf\2555\265un\362\270+\267Y\230\21\214\264V\13!\304\342\6\27n\217"
+"\210Ac6\24\16\312\373\254\370\334\213\42\16f]\204\243\35\177\333\220\253"
+"\342s\363e\257\226\f\340@(\206{\336Ex\375\234\20b\241(\362T:e\346\326\271"
+"\346z\377\320\307\6\323c\305\204A\35\313\325\370\352yMca1\323V\350\227"
+"\316\177\215\300\225\351\310,\nwn\266\355Q\372\334R&\253\375\273\243\241"
+"w\346\300)\33n\215Z_\265\221\320^ks\215J~\251\222_\1\4\340\273\265gg\212"
+"B\236Q\337\367\325\270\271d}\351\200\322s\323X\254\360tv4\230sa\330\34"
+")Q\205\3665\277\30]6-k1\341\266\265\320O\207\257\262\323\350\220\243\204"
+"~\255\261\3179\260\217\312\360a5\362\310d<\315\236\234,\243\311\321\t\22"
+"\215L\232z=\261\'\257X.f\362\2429\77e\211M\315\350\335\252\271\371\251"
+"G\262\220\227)\0\322\33\275\225GP\b!Dge\267\314J\206\363v\342H>F\232\234"
+"N\203\t\220\3\61\341q\26\16\1PR\341e\314\321\32\b]\366\2203\213\355T\200"
+"\37B\b!\256y\36s\222i\22gy\35s\30\340u\37\0]^m\313\373\24)q\320\243\262"
+"\304\362i\0\272=f;\202\233_\0\270\245c\33\212\244\303-\32\266\341m\227"
+"\247\234Y\225Yg\267j$\250\214\250\7\240C#a\300=Y\234\17tl\303vi\262@\303"
+"6\214>N\350c\333+\33Bu:\312p\2\200\26\215\204\1\17C\0\264k\331\246@\372"
+"\334\241c\233qi\271GK\331\320\252\327Q\206#\0\334\txO\30\320\361!\336\346"
+"\345b\233\\i\265X\3076\23w\23\311Y\320iY\225rgu\224A\356 MY\220\3521a@"
+"\327\210\221\263\2\357d\252\1(\276\235_\342}\314pC\216\265\377\223\313"
+"vc\377\342\260\345\17\316\223m\250r+\311\2448\344\2767.dy4N\217\2273g\362"
+"V\0\266\331\223\277]M\344\354\353X\1K6\t3\2209\22\211\264\346\331\223\313"
+"\235\311\367\255\277\323\303\265*{\310\211\374^9\6\250\33E\246\3\271\322"
+"\346\204\277Qa7F\42\237\255\331^q\376\3035\241A.*\312:>\240\b_\267\335"
+"\264\205\20\42\2444\237\264\234\255\226\372\313\355S\276\247\2757\350\37"
+"b}\370\360\341\343\257\305\37o\261j\300\30A\277\342\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3JIDATx\332\355\227MHUA\24\307\377\357"
+"%V\232V\32\204FE\42}\330B\2632\22\214\320\314\264\224\302\26\225%\t} \21"
+"\264\251M\331&#\210\222\42[DaA\237\24aH\220\6mL\210\214\320B)\221\nE4R"
+"\373P\314\n\361\2648\367\336w}o\346\336y\203\13\27\367\254\336;\377\363"
+"\2733s\357\2343g\0\317<\363l\n\3314\231\220xrwT\233\356S\233\210\250s\261"
+"\36;\237\210\210\250@\217\36c\272\\k\315\343\331\0\200\2553^\350\f]\313"
+"C\323=\255\211\77\60\350WZt\225A\177\215\325\241\217\31\64-\325\241w\232"
+"\364\n\35z\235\1\17k\255{\301\b\323\247\364vK\13\21\21=\21I~Wx\325u\0x"
+"\253\233#\231\217\232\317y\365g\352\26@\0\360\307D\371\3064\36\272\346"
+"\374{3)\372\357\26\205C\306\\\240 \273\237\254\210F\335!\2015$\250\260"
+"\'Hbg\\\321\231-$\265\17\301\345\3107\361\357\332\346\300\357\301\306\366"
+"\301\310E\351\353mr\306\33\207q\363\255Q\332J\3\365\240\342\267\345\316"
+"\225\263\271f\314\273\364\211B\321wS\311\222\261)f\304\341P\255\302\324"
+"dg\237!\217&\211\304\325\206\372S\314>g\265K\366\371\7X\177(\22\367\263"
+"6 \177%\2778b\273|\322s\345p\274\21\22\252\\ea\263\323\16\332\3041\225"
+"!;\213\375\327\234\367\337\25\361\320\325\262\31\211\326V)\364\226\271"
+"\301{Dc\224\22\21\321\37\367\234\373ADD;\4\7\322\21w\370\0\21\21\275\234"
+"\220U$J1\361\252m\221|\320\25\3\0\236\252\324\212\307\0\200m6\17\27\36"
+"\245:\307Y[c\363|S\372N\266\357\322\353\344p\260\236\300@~\0\210\3\0\324"
+"\253\301\r\260\20\77\0\254\4\0\64\252\301\374\231R,x\31\177k5\270\25\0"
+"\260\334\202\271t|V\2039,\311\202\23\1\0\212\275\326\20,\304\17\0\263\303"
+"\77\bc-\330\7=\363\2071a\273\r[p\37\37\254jX4\0\240\327\202m/\320\3358"
+"\354\213\5\177\4\0\244\251\301\251\0\200\16\13n\7\0d\251\301\33\20@\2\211"
+"\321\243\6w\7g\340@\270)\331o\253$\234)J\327\267\2\33\300VLDD\265\352\327"
+"\255\342\311*\200F#\177\310\235-Gh\337_BDDC\3560\267\'%\242\343f\257\33"
+"[&<\322\252\3029\350.\5w\277\354\256vfopTd\260\377\42\373s\234\330B\216"
+"\271,m+\346\310\331Di[\201]d\333x\42\213\370\313\21\373Db\35k\335\262V"
+"\212\217fz&\226GY\375\'\274-\247\32s\36\227<;\331l\21\217\206j\307M-E\266"
+"\252l3\242#s\242\260\261\313T\362\344\357s\213\325\33\177:\30a:\247\227"
+"w[\356B\247f=\343\265\255[|\321\332\347KH\313\261\365\367YM\216{hV\233"
+"\374\232\320\31\347\2327\247e\354Y\225Z1\257N\204\326\'\250\2258,\274\31"
+"\214\336^\22\316Y\224W\323k\202}\267\362%A\216e+>\32#\203\336e\3353\317"
+"<\363l\222\355\77X2\25[c\327\230\261\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3\77IDATx\332\355\230[H\25Q\24\206\377s\22\303L-\215"
+"@%#\221\f}\310\214\264\2+23%\245\220 \262$\241\13\22\201/\365f\4\31=\224"
+"ad\17QX\320\225 \4\21\322\240\27\13\242\33\32heQ\241\210Fz\272hj\205\264"
+"zX3\373\3149g\366\314\236\311\247\230\377I\326\277\2763\227=k\355\265\5"
+"<y\362\344\351_5K%iG\355\352W\77\334\375~Z\37\21u\272cK\210\210\210\26"
+"\272ak\230\235v\303\236b\226\352\\\26075\266\305\5\373Xco;G\23>il\203s"
+"6SC\251\3269\233\255\263\25.\236wJc\363]\260\307\31\235Hu\263\300mDD\324"
+"e\231\343\227\31\317\1\340\322\n\227\365v\272\253e\375\377\331I|\26^L\\"
+"\324\364\244\233\16\222\337\370V\377\302Fn\224;!\343\317P\230ne(\242s\256"
+"\223\211:\222U\330\243$\321\t[4\246\213\244z\35o\375\266W=\r\376\35\350"
+"\354\rD\247\345\2561\330y\317\354\333,\21\365T\211`j\335\244\b\27\311\331"
+"\42=\347en\250Q\376Ew\ndl\226\236q0\322\253\323\275\305\22X\263\247\322"
+"\315\314\225\232\373\315\234\275\317n\277l\371G\331\277cf\356eoT\376J\276"
+"s\3066\371M\317\227\303IZJ\244s\201\215\315V_\320&\316\251\217\370\262"
+"8~\321\372\373;o~\351&\331\35\231=[\275i\264\332\16\336ev\215*\42\42\372"
+"i_s_\211\210h{H\214k\351\220=\274\217\210\210\36\206T\25\33164\361|\206"
+"L\3361x#lS\351\25w\1\0[\r\21n<J}\216\253\266\331\20\371\254\264N\206u\31"
+"\262\nXh0x!\77\0$\2\0\332\325\340\16\b\304\17\0\331\0\0\305\t\221\227)"
+"K\300\231\274\326jp7\0`\231\200\271u|P\2039-]\300)\0\200q5x\f\2\361\3@"
+"\202\363\2150^\300>\270\223\337\301\r\33\65.\340a\0@\234\32\26\13\0\30"
+"\22\260\341\5\332\213\323>\n\370\r\0 G\r^\16\0\350\23p/\0\240@\r^\207 "
+"\22,\214A5x \274\2G\235\226\344\210\241\223p\245\224\252\260\245\6\200"
+"U\241~\ni1\f\3603\320\0\361\2\0p@\341\214fH\327UIDDc\3660\217\'\225f\333"
+"\315n;\266\332tK;\353d\243k\f\77Gs\270\311\232\275\314Y\321\341\361\6\216"
+"\27Z\261e\234sN:V\314\223\263)\322\261\2;\311\360\341\231)\352\27g\354"
+"13[\331\33\220\215R\2745\323=\313\3\340\357\245\246e\254\335\363\37\311"
+"og\350#\342\341H\357\210\356e\311\236j\243\236\321\2676\324\330\320\257"
+";\305\362\367\271E\314\306\357\367G\351\301\3315\3\42\\f5\254\347=1L\213"
+"\17\272\207}\3119\205\206\371\276\340\221\34574\267G~Lx\227h[7\307d\354"
+"I\225^\261\240\325\fmOVkqXt%\34\275\266\304\311^T\334<\244\203\303WK\\"
+"\34D\221\24\213\211\200\367o\77O\236<y\232a\375\5\266\17\36\22\233{K\252"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3fIDATx\332\355"
+"\230]H\24Q\24\307\377nb\244i\245\tiX$Ra\204\242%Y\30\221\231i\31\245\4"
+"\221%\t} \321S\37o\366\242>\364]d\17AXP\21\b\245H\220\26\21X/\32\221\205"
+"\222\22\31\212)\246Vjfexz8{\307\331\365\336\231;\213O1\377\247\235\363"
+"\77\277\231;3{\316=\273\200+W\256fV\263,\335\350\374\244\376\261\0\317"
+"\\MD\3640 t\365$\261R\235\263{\311P\261S\266\214L\272\354\214\255%\37="
+"w\200Ft\222\237\206\227\352\262\353\4\62QU5!>o\327c\213D~\31\0\224\213"
+"\243\23:\354I\221\275\225\217\263\305\361Y{v\2177\265\177\221\210\304\f"
+"xCGm\341\317\234\330`\216=\345\330\17;6Z\272\304\363\34\215\263\243\333"
+"\211\210\362\375\243\5DD\235\266\313N\257i\252\220\305+\232k7\270]\350"
+"\277\354\236\236\360\320\240\277\1\234t\315\271w\242\230\6\356\355tB\206"
+"_\360o$\367\23\64\321\320\273$QC\214\16{\232\24*\263E\347\274!\245\336"
+"G\370%\7\371\36\256m\236\372<\324\3306\24\262$%\335d\247\275\262\270n\216"
+"q\225\326\42#\270\270\364\247\21\316R\263Y\42\347m\212\257\261\363\253"
+"p2Tl\42\251\33]\251\360T\315\337k\217\307\313\314T\257\373]\316>a\267K"
+"\365\372\7\331\257\226\231\7\331\33T\77\222a\316\330\245^\364\2\65\34\345"
+"M\231\356\\\367\331b\344\332\3029\345\323\276Y\34\277a\375\375\273&\277"
+"t\245jE\262{+\227Fm\207\217}\262k\360\226\374\313\276\346\276\21\21\321"
+"n\237\30\327\3221{\370\20\21\21\275\360\251*\222\225\230\374\256M\231\36"
+"\336\3\1\0\217tz\305\3\0\300\16S\204\33\217V\237\343\252\2552E\276h\275"
+"\'\323{\351\265\nX\250g\352B\36\0\210\4\0\324\353\301<\254D\32\360*\0@"
+"\243\36\314\257)\321\200W\360\273\326\203[\0\0+\r\230[G\247\36\314i\361"
+"\6\34\13\0\30\325\203G` \36\0\230\347|#\2140\340 \4&\217\203\5\2335j\300"
+"}\274\261\352aa\0\200^\3\66=@{q\332\'\3n\7\0$\353\301I\0\200\16\3n\3\0"
+"d\350\301\33\61\205L\25F\217\36\334\355_\201\203NKr\300\324I\270Rru\330"
+"\\\23`\32\305\251F\7\256!\42\242\202\231j\200x\r\08b\317\226\230\322\205"
+"\n\211\210h\304\36\346\361\244P\266\335\354\267c\213\245[\332%\'\33\335"
+"\25\377\351\227\303\225\326\354M\316\n\361\217_\344x\246\25\233\3079W\225"
+"c\305|5\33\253\34+\304\177\4\3J6\3707g\34\220\231u\354u\253F)\336\232\351"
+"\261\334\36g\367\317ri\31{\327<\2518w\202\30\21\217O\367N\t/QuW\233EF\307"
+"z_cS\227p\262\325\317s\2331\33\177<\34,\202\263K\272\215p\236\325\260\236"
+"\326d\232\26\237\265\364\5\305$g\232\346\373\214\227\226\337\241\271\255"
+"\352\237\t\37\42m\353\346\214\212\255\320\351\25\13\353dh}\214^\213C\334"
+"-\177\364\3162\'{QvU\257\0\373n\347(\222,\333VT\30\306\206\334\37\353\256"
+"\\\271r5\303\372\7\367uv\226\326\236\303\256\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\3SIDATx\332\355\230MHTQ\24\307\377Nb\230"
+"\37\225\326BC#\261/]$V\242\201Q\231\232\222\226M\213\310\222\244,$Z\332"
+"\42\260\210l\323wd\213\42L\250\205H%H\220\6n\324MEh\245\225\230\205\42"
+"#\224\232\215\244\25\321iq\347\335y3s\357}w\6\27\21\357\277zs\316\371\315"
+"}s\357=\347\236;\200-[\266l\331\372\27T\360\300M\344~\264+\4t\353\30\31"
+"\252\361Z\243\32\246>\34\266d\257\222Y\307=\326}DD3\321\26l3\371\351l2"
+"\220\335\301\236\223\324l-)4f10\17\374)\200\367\252\331\265,\352\366R\0"
+"\316\267~\354)\213\201#\247\210h:\307\363)o\310\314VY\316uY\327\2333\246"
+"\217\245\203\6\372je\b\253\236~\261\237\310\325\230\375\37\345@\230\312"
+"9/&\374\267\373O\360_\272\341\302kc\236\'\233\366\4C\306\\\362\337[M\251"
+"\232\350\202\373\242}\335\236\240\303\236\224\245\3059K4\262G\236T\357"
+"b\325\263\275\361\271\367y\242\263\177\42\4293\307\344\316z\241\30\267"
+"\210\217\322W\301\215\313jg\2709_\316\346\363,\310\364u\224N\32\236\\\31"
+"\233fD\34ST\230\345\352*2\233\42r\256\367x\247\304\354S\346\35\226-\377"
+"8\3637\213\234\207\230o\\>%\337X\304n\371K/\226\303\361\236\220@\317M\346"
+"(P\355\240\355,\246.`g1\373-\365\376\273!\36\272^\366F\242\337V\'\264V"
+"Z\301\373EcT\20\21\321\17\353\234\373JDDe>\266\36\237#Q\241#DD\324\345"
+"\223Ud]\320\20\30\351\0\08\1\0\217uj\305C\0\300N\223\205\25\236R\35\230"
+"em\203\311\362Yk\235L\353\342R\31\24\32\365\16\344\0\2008\0@\233\36\334"
+"\16\2168\0 \35\0\320\251\7\263eJ\343\360j\266\326zp/\0`\r\207Y\351\370"
+"\250\7\263\260\24\16\'\2\0\246\365`78\342\0\200\205\301\37\204\261\34\16"
+"Chr\4\361\302fMs\230uv1zX\24\0\300\305a\323\4Z\213\205}\342\360{\0@\206"
+"\36\274\16\0\60\300\341~\0@\256\36\274\31^\304\233\30\243z\360\210\177"
+"\6\216\7\233\222_L\225\204eJ\261\16[l\2\230\234DD\324\242\3\267\20\21\221"
+"s\256\n ^\2\0\216Z\263\325\246pC\345DD\344\266\206Y{R.:n\16X\261\225\302"
+"#\355J0\7\3355\377\6\227\231\353\325\354\35\26\25\341o\277\314\354y*\266"
+"\204\305\\\227\266\25\213\344l\242\264\255`\267Ec\343\211\24\356\271\247"
+"\35\249[\231oD\326J\261\243\231\236\210\335\263\314\373k\2250\215=\357"
+",\2735\244\32-\342\211@_\215\341K\223\375\252mF\304\300&_\307\226a\303"
+"S(\237\317\35\2747\36\252\n7\214\363\253G\270\271D\325\254g=3u\213\35\275"
+"ca\t\31y\246\376>\267[\271\207\242\373\344\327\204\3018\313\2749-c\317"
+"\353\324\212%\255\42\264-A\257\304!\351\256\77zoE0gQa\203\213\377\315\320"
+"X\24\312E4>\n\337\'\354\77\254l\331\262ek\216\365\27\256\310q\220\317e"
+"\37t\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b"
+"\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3gIDATx\332"
+"\355\230KHUA\30\307\377\367&Z\232V\332F\303\42\223\n\313\22\65\351eT\346"
+"\223\224\302\26\221%\t=\220hY;\333d\233\250(\262E\24\26d\4A\211\22\244"
+"A\20\26FEd\241\224D\211\42\32\251=\224\362Q\366\265\230{\346\314\275wf"
+"\316\\qU\347\277:\374\277\357w^3\337\314w\16\340\312\225+W\377\251<\301"
+"V\336\26\317\243\246 wC\301\314\247w\235\316\2261FD4\236\351\357.\350&"
+"\42\242\22=\233J>\245\212n\224\345\352\351OVZ\277\350>\260\\\322\261\253"
+"x\26\255\24l\333\335%f{\375\341\265\366\341:\373p\265}\270Q\3OH\17\177"
+"I\335 %\3327\230(\275\355\34\335C\267ZY\255\242{\305r\7\264o;b\222eMF\370"
+"\331]>x\211\303,i \42j\btk\211\210Z\342\234\247lF\246\314M\313\232\361"
+"\217\224\244\3669\274\321\221\236\337S8i\346\3517|lo\226\204BF\237\241"
+"\0\335J6D#\353H\242\346x\23\3668)t\322\21\235\365\212\224z\33\243_\0\327"
+"<\267\217\207Z:\206\302\27\246\13u\215\254\27\232\353\26\362\253\264\227"
+"\333\213_\325On\347\252\331\\+\347u\272\177\240\344\213\25\311V\261)V\306"
+"\341\340X\225\25[\244\200}\341\321$i\251\371\242\337\344\254o}\355V\r\377"
+" \213\337\226\5\367\263\330\240\372\225|g\31;\3247=O\r\307)\27\376K,\220"
+"\247\233A\333XNu\320\314b\376e\375\374\273(\277t\215\363Vd\77[\265\324"
+"\255p\202\367\310\256QNDDc\3165\367\225\210\210v\372y\254\226\2168\303"
+"\7\210\210\350\261_U\221\252\307\b~j!\223\355\222\245\0\200{&k\305\35\0"
+"\300v\301\2513\3518\304\252\255\25\234\317F\343$\214K\237\316\320\250\327"
+"\276\220\27\0b\1\0Mfp38\342\5\200\25\0\200\26\63\230\rS\n\207\227\261\261"
+"6\203\333\0\0\3139\314\226\216\217f0KK\342p\2\0`\304\f\36\6G\274\0\60\'"
+"\364\2150\206\303\36LM\336\20nX\324\b\207Y\223\32m\206E\1\0\3728,\274@"
+"g\261\264.\16\277c\275\222\31\314\272\330N\16w\0\0\262\315\340M\260\21"
+"\2730z\315\340\236\300\n\34\f\265$\7\204\225\204UJ\221\t[$\0L\245DDTo\2"
+"\327\23\21Q\351t-\200x\t\08\344\314V\n\351\226\312\210\210h\330\31f\355"
+"I\231l\273\331\353\304VH\267\264s\241lt\347\3\273_f\327\350\331\253,+<"
+"\320\77k\360\351S\314r.(\333\212\271j6A\375=\271\333\351\313)l\234e\354"
+"\223\5\33Y\254G\325J\261\255\231\356\313\303\243,:\261TZ\306\276{\376\243"
+"8w\262\325\42\36\r\216\35\263b)\252\247\332jet\256\367\17l\356\266\42\371"
+"\352\367Y\300{\343\17\7\303\370\347ee\17\267\213u\315z\3263\241[|\330\326"
+"\357\211O\313\21\372\373\354\'\33294\273]\375\231\360>\326\261nN\250\330"
+"S&k\305\374F\31\332\24o\266\304!\361Z zcq({Q~m\37\377cr\275\320\374\337"
+"\220\320`G\341\307\220\373\377\314\225+W\256\246Y\177\1M\322K\267\303I"
+"\1O\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0"
+"\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\320IDATx\332"
+"\355\230YH\225A\24\307\377\336H\332HZ\350\241\222\244h3T\222\212\353\215"
+" ){\311\212\bZ\301\366E\251\36z\250$\250h#Z\37\2246\333\213\36\212\242"
+"\205\2126\bZ\264E\260\\\320+i\230\266Z\26E+vz8\337\235\373\315|g\356\203"
+"\257}\347\305o\316\177~w\276o\346\23433\2\276\371\346\233o\276\371\346"
+"\233o\21k\327&*\324\271\271\255\3Ni!\312\3\2008{\237>\311\211\tq__W\277"
+"0\374\263\316\0(O\265\203\3756\327\223\262O\205i.i\24\21\21\325Z\3219\257"
+"\310\260\357\313#Z\'vl\267\240\323~\221d9\254VqKF;\336\'\213U\246\3\335"
+"K\370y\242\310fS\f{[\352<l\23\331\265Z\347\272\222\342\260\364#\267Evg"
+"\264\303e\365fY\347\r\366\247\310nS\372f]\330\252\301c%viD\275\346\t\332"
+"\36\265Q\366\261\304\246G\324\\I\375\246\340\215\222\334\32\353\255\260"
+"^\301;\224/\240\236\2169\217\301\273\42\34M\202Y^q\270\363\273\223-q\327"
+"\24\375\350\220G\254fa\213\205]\347\16\65S\234\300\376\260\205\35\23s\255"
+"\234\201\7X\2^\217\222\347\272:\230\275\307,\3\227\261\374\364\212C\367"
+"\327\324\23\354\354 \263E\254\346\3\63\370\251H\223\331wVf\27\273\362\377"
+"\2227\235C\354J\26Yg\21o\0\0\222\2711\302\245\357\343Z#\17\374\207\13\231"
+"\323j!\42\242\275.\275\231\210\210v\211\354\3\36k\240\226yM\236ON\227\330"
+"\275\254\315\214\264S\314\217N\261\27\265\331,\3556\7\32\244\332\13\210"
+"\210\350\203\300\16\342\256\367<A>Ge\25W\377b\1\346\304\377=\306\345*\201"
+"B\2\0\300\223Q\356eo&\360&\341\366U@!\1\0\350\3\0\250\367\260[\262\0\0"
+"\213\236\271\235/\1\0\211\252\335@DD\223<\273!\177\360\1\251\262\327\251"
+"\366\7\42\42\3124\330\276\314\226\32\356L\42\42z\247^\233\27\311\\*\236"
+"\31d\210\365(N\301\77x\377\323;]\340\231\b\3756\340.PH\0\08n{j}\362\247"
+"\2\0Vz\26\260\27\24\22\0\0\216\324$w\227\361\274\227\235*\360,\1\27\202"
+"&\5\363\301a\230\253G\267[\0\200\232\34\357\332\247\0\0j\25\314\341\21"
+"t\365p^6(\4\35O`\264\214\245\231\211q\222\35\343\244Tai\230\351\30\32i"
+"\256\340\366\32\211\35\351\311\300\317Z\301\317`\375<\354\371\375\336\345"
+"9HDD-\334\210g\266A.J|\332)tyFs\177NM\347\340\321[dSY\fzg\341\6\0\34!9"
+"M\234\270\23\212\316a\366-\1\366\360\323&\231\355\302\352\21\315\231\24"
+"924\362\337\353\226}\347\264\270\245=\321v\262\217\26v\b\313f\315\tj\360"
+"@\13\\Gb\346kC\317\267\260\333Y\256\260\237\205\210\36Y\330\251\216\236"
+"\342\225\32\25\274@f\235\3003\366W\266\375\n^(\262\231\261\16\217\207\24"
+",\36Lr\311\376\322\221\275\223\210\210\212\333{NaWcN\3462m\255\362uqC\354"
+"\263c\222y\246>\255\366\247q\347\242^\371j\361F8\223\377*\273}\247\374"
+"\257\333\263Zd/:3y%\34\353\232\220-\262\253X<\n \255\312\206>\354$\262"
+"\316\256t\216[sE\264u\272%\356\216\23\21Q\215j\347}3\321\367\363\25478"
+"\336b\273\272\253M\301\'\327\215h\247%\313\342\0\340A\b@\252\231\245C\222"
+"\23\23\360\245\2412\34\373N\233\35\246\233\375\332~\7\217\367\377\r\341"
+"\233o\276\375w\366\17\234C\253\37!K\2\315\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\2XIDATx\332\355\230OHTA\34\307\177[\27)QA(\322"
+"Cd\240\224!H`\352\261K\340zHS\303K\n\202\20(\355\261%\361\332A\220\2;\210"
+"\320AE\204=\330\251Vh/!\210\202\210\260\24\265z\20\265\355\42\210\233 "
+"\262\355\267\303\274\367v|\363\347=G\17A\363;\355\233\317|\346\275y\363"
+"\233y3Kd\303\206\215\177(.+I\325\253\336+i\323f\227\0dn\232\271\327\1\0"
+"h3\263\363\314~n\324\347\302C\42\42\212\226\244Ln\275\300n\2159\243\7\237"
+"w\354e#{\334\261\177\225\231\3301\307F\255\211\335\345\332wL\354\7\216"
+"\2343\352w\365\21\263G\314\262e\35\0\360AB.\5\313\215SDDk\246s\2445\261"
+"\372\332.@\377{\324\317\34\202\217T\307i\3768U\340qn\366^\2215A\210\30"
+"\357\276\20y\213\227\333=\342\263\364\361\27\317D\376\324\223\263\42\334"
+"\345/\366D\316)I\377S\355\324\3635\357n\373\371g\36\17\344\275\362\302"
+"F\362]\267\260\34M$7\212\357\2540\350\303+\b\374\276\2649UV\5R\303\300"
+"\220nD\207X\235\32\221\234\0\0*tr\5\0\340DB2\0\0}2\1\0\62\2225\3548l:\36"
+"Kd\204\225q\226\325S\35V\266\262\225\255l\345\363-\275\347\222\363\241"
+"\17\\\27\375\2719\b+\37H\344l\300\t\317\203Y\211\274EDD\267u2\203\233\22"
+"\231\235\225\233\265G\35\256\242\354\314\233\320\311\t\0\3005\357:\342"
+"\37\277H\340\bGd\351\271DDD\355j7JDD_\244l\0\0\360M-\177\5\0\364k\266+"
+"\350T\271\235\320my\246\265\324i\373\275\202V2\274\42\247\316\26\261\\"
+"\325\366\33\306\77\311\330G\306\306\324\257$\307j\244K\375\2404\315\310"
+"\276f \33\334}\355\360\351\362a\267\274N\227C\275\336\2568\356u\256<\376"
+"\307-\365\215\204\77\241\6\'\275\237\277\27\327\177RU\343\243b\37\372\246"
+"\3f\353\23(#\32<\327om\313\325\3577B-\25/en,\364\202<\3523\363\361\263"
+"\375\305\361v\3235\177\214\337WT\322M_*\273JG\207\366\260l\303\206\r\33"
+"\27\34\177\1M\'\35\346:GQ\343\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2XIDATx\332\355\230\317K\224A\30\307\237\315c\322\n\202\221"
+"\201\240\35\4W\2\tZ\353\37\b\265Ci\32^4\20\204@\311c{(\272%\210Q\240\7"
+"=tP\211`\17]\304V\320\213\4a\n\42,\206i\7\351\207^\4\361\7\211\254\373"
+"\3550\363\276\373\356\2743\263\263\243\7\17\363=\355;\337\347\363\376z"
+"\236y\336\231%rrrr\42\242\22\243\250\366\201\306\265C\273\13T\255\3X\260"
+"c\233\0\0\250\260a\23726c\303\276f,^X\260\378\373\311\202\375\312\331\217"
+"\305\243\321\35\316\16\27\317\326r\24\3\305\2631\217m\263x\336\177\234"
+"\215[\260\257\30zt\335&\301\323\0\200\25]\310%\245\263LD4\336`9\341\6\227"
+"\222w]\333\271h\212M\356#\250\371\207\371\376\203\371l\320>\230\252\317"
+"y\267\21R\336Dz\26\366\357\370\25\326\21\276\227\356\340AW\330\177\354"
+"\303\333a\363w\360\340O\330\17 )\361\256~\305\202\221u[\242\77\27\264{"
+"2\376xv55\332.^\350\321Hj5\367\316\262\275\202\275\310\215fuN\232y\310"
+"\267\220S\303\214>]F\373XLM\3309\1\0\224\351\3402\0\300\211\304\331\0\0"
+"\350\213\t\0\260!\351$\307\246\345x,\201a\n\303\240\207\31\310\301\16v"
+"\260\203\35|\266\326{&\330x\373\2229\357\317\315\236)\274\'\201\267\13"
+"\357-K\204\345H\16\376IDD7t037%p\232\210\210\32up<\20\230\257\253\0\200"
+"\244\16N\n;\322\210\230\277H\301\fGd\345\371\205\210\210\356\253\331\26"
+"\42\42\222o\244{\0\0\337\325\360\32\0\340\211f\271\202V\25\333\n\335\222"
+"gB\353\362s\277W\270\345\314^\224\273|\211\30U\235\373-\363\77\313\274"
+"\31\346\r\251_\311\1\213H\227\212Fi\2329\273\232D\336\364\326\265\375\371"
+"\343\375\336x\255\256\206:\375Uq\302\177\270h\342\324\33\25\62!\26T\357"
+"\230\377\363pv\345/U6\334\313=C\367D\201\331\332\6\245Z\n\317\365\352-"
+"9\272~\315\250U<\227\261\346\177:\274\24\310L\242\250~\36\177\267\351\221"
+"\77\336\334R\4\351\246/]\271LG\373n\263\354\344\344\344t\316\372\17)\350"
+"$\222\363\346IY\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"\203IDATx\332\355\230OHTA\34\307\177\253\307$\205\2602\210\310\16A\366"
+"\207\b2\351\256`\35j\315\376\\\262\20\354\242(\324\241\275tQ\17\42\224"
+"A\35\272\354\301:%\224\247Z)\t\242\313z\ta\351\237&H\177D\42\360/\210n"
+"\373\3550of\337\233\2317o\336\352!h\276\247\231\337\367\367\231\235\367"
+"f\336\354\314\20999\375C*7\272\325\311c\363\253%\266\374\24\0\236\225\204"
+"\36)\200\351D|\3662\204\256\307e{\341\323\275x\354(\2z\23\3\335>\3I\213"
+"\373l\331S\34\331H\2477x\371\214\35{\225\347\367\22\21\365\361\332M\33"
+"\366\26\317nd\365&^\37\210f[\275\324\371\335<R\363\313\13\335\210\204\177"
+"\260\3041\177\354\25\213\255D\261\325\332.\16\262\350\336(\372\23\0$\345"
+"h\13\0\314Dv\273\341y\266_\27\357\237\30=\355V\241\377Xu\217\227\2\237"
+"\376\370\371\240\177n\274\340\267\227\237\34.z\'\241\250\307\317v\253~"
+"\3\21Q\31\21\321E\265/m\201\325A\365/\txN5\277\7\276R\325\367!\31\271W"
+"\337\352\374\231\207fe\377\265\337n\317\213xa2\363\260U\376\241\13\17\62"
+"\223\305wV\350\220\354\254g4\207\217I\263\2272\2418\265\314\3504\215h\'"
+"\313\251U\235u\0@\225\t\256\2\0\254k\234)\0\200y2\1\0\246D\265L\224\326"
+"l\247\343\232\6\206-\f\r\\\202\34\354`\7;\330\301\233[z7\5\347m\341\374"
+"V\377\335,\330\302\13\32x.\372T[.mG\212\360W\42\42:`\202\2319\255\201s"
+"\354<f\202\353}\211A\355\2\0\214\230\340\21\0\300NQO\310\343\227\210\34"
+"\341\204nz\276#\42\242\263\341,;M\276\325z\355\0\200\217\341\360\7\0\300"
+"5\303vE=Rq%a\332\362\f\33]\257\355t\210\273\203\331Y\275\353m\21+\303\332"
+"\36b\376K\235\367\202y\203\341\257d\231e\344*d\243\42\307\234\337\206\201"
+"<\312\367\265]\301x\27\217\37\64\315\241+bW\234\22\17W\231\372\303\243"
+"\322H\310\23\252\343\221(\256\214\275\377I{\2167\25\237\241m8\342kmA\250"
+",\356+\366\317\352\321\3175VK\305m\35\333c\275 \337\221\310|*\326z^\177"
+"\177\232\223_\356\206\335i%\214WD\333hu\311\35\226\235\234\234\234\266"
+"X\177\1y\203\177!\251;\342\225\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2yIDATx\332\355\230\317KTQ\34\305\277\346BAIA(2\\d\213 "
+"3\213\tMj\23A\205F\330dF\233\f\4W\212.\235\215\377\200 \n\266\210\300\205"
+"\265\23\2\67\65EBH\30\266\21a(J#\6\63\3\tD\13&\233\231\323\342\276\367"
+"\356}\367\327{\242\20\301=\253;\347|\77\63\357\275\271\367;\367\16\221"
+"\223\223\223\323\377\253\22\325\272r\251\344uZq/\\+\177\3734\352\335\22"
+"9\0\370}.\354\36\315\2\0n\330\331Fxj\24\335\n\337\265\323\337\375\262u"
+"\321}\351\273\260\261\247\203*\234\22l\356v\212\325\7\302\360y>l\345\303"
+"&>\274h\201w\264\303\77ZWQ\35\277\300:\355e_\266\335\364\274_5/\272\217"
+"|w\303\372\264\313\n\254\252P\26\262\277x\360\361\210Y2\3\0\63\262;\t\0"
+"s5\321S6\221\320\271g\232K\335j\376\367jx\274\5Q\2637\303y\307lQ\214\267"
+"\237\bK\256\31\212\6Ev@\315[\203U\325\245^K\267\370\342\236\232\337\t\340"
+"u5\374*\276XSs\1I\313W\265\332 V\236\314\312\371+1\356\311\7~q)\375\340"
+"\266\374A\235\23\351%\376\314\212\275R\274\340\5m\346\357\244\315+y\247"
+"$\365,\350\263}\243}\254\246^Mv\0\0\3256\270\32\0\240kc\313\221}\331\353"
+"e\313\232\356\231\213;\35s\32\30qa\230\372\366\356\344`\7;\330\301\16\336"
+"[\353\335\23\234\217\13\347\367\373\347f3.\274\251\201\331.\303\272\263"
+"-\225\266#\34\376LDD\326\3358\13W4pF>\336\250j\21\n\303:\f\0\230\266\301"
+"\323\0\200C\272\203(L\'Sc\2050=\337\20\21\321u3\333NDDs\332\254\7\0\360"
+"\301\f\277\7\0\334\267lW\2204\261I\353Qt\312~Pe\351\244!\255a\361\202>"
+"\365\266\210U\246\367\36c\371s]\366\214e#\346G\262\315*2\225rP\231a\311"
+"\2178g\357\376\260\337\357\373\'ls\350n\260+N\5\67W\225*\370n\322\376W"
+"G\357\303`\370\363\305\3427\252={\225\337C\367T\304j\275\5\243\332\243"
+"\327\372\261\254\36\375x$V\253\30\322\261\203\261\33\362\260D\346S\273"
+"\352\347-\343+>\371i4\21\377\217%\256\203\25\364k\313\35\226\235\234\234"
+"\234\366Y\177\1\36VTA\244\326Z\272\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\214IDATx\332\355\227[\210MQ\30\307\277\216\7\227\243"
+"\343A#%\223\222FM)\221c(\205\230\246A\42\214\\\3234Fj\314\213x \36\24\311"
+"D\2716y0\312\214LR.\361\300\213\222\207\241\221\\\363\240\223\310\30\214"
+"N3M\3150\177\17\337\336\307^{\257\263n\347\311\264\376/\373\354\365\377"
+"\377\276}9k}\353\34\42//\257\321\2421&\241\r\315\13\337\364\273\325/\177"
+"\17\340\261\33[\3\0\300\24\27v\17\263\277]\330\343\314\342\260\3\333\36"
+"\260\267\34\330\247\1{\335\36\235\3645`[\354\331\212\0E\263=[\31\262\353"
+"\35\236w0`\263\16\354QF\7\246\271|\301w\1\0\335\312L\252\230\361\214\210"
+"\250u\256\343z;\321\325\271\310w\235Q\246\262s\275\341:\300\313&Yb\357"
+"\213B\340\313\251\211\2\373\31Q\265%\331\313B\340\335\270\210\325\0Q\223"
+"\343l&\26\330\34\231\333=b\364\327\2178\234\217%\276EO\256\buw\'o{\233"
+"\20\270 \232\353>\375\263v\310^\330\312\301\202\237[\235pw\205\3361\371"
+"\27R\35\372\3652w~`n\221\303\23\2\273Jnob\267]\356.gw{\261\251r\225\375"
+"YR\263\13\0p\243\370D\33\6\0\274\222Y\365\\X1K\227r\342@\322\31\317\316"
+"Z\325\34o\345\314\214\204\361\0\0p\323\244\325\277\215\17o\325\3364\21"
+"\321\22N\35\212\375r\341\321:\335\342\274\304\271\231\302\340m\0\300=\375"
+"\322\356\7\0|\210\16m\344\202c\365\360bN\36\211\f\361\310N\223\256r\236"
+"\263\25\205\201N\0\300#\263\236\224\7\0|\fO\327p\261\214\31\\%\256.>k4"
+"m\207g9\77\207\210\210\256\1\0\236\2307\323>\0@/\21Q\35\27*3\207\27\60"
+"\3610C\265\374i\237M\37\77\315\314\310k>>\267\333\5\276\13\ro\272\35</"
+"\312\36\264\335\200Z\42\373\203\375\366\225/\300\263\355\341e!{\321e\347"
+"\354\206Q\7\220k\25\263\35n\2336\303+\334\340\21\0@\332\r\316\351\369\245"
+"\360\6t\325U\360\237R`\224\2\223\207=\254\203S\245\300\351R\356\212\233"
+"A\271\323\225k\371\320\344p\331tc\330=O\232\377\221\255l\373\t\251\206"
+"\357\327\350\330j(\264_\3\337Q\301=\232\27\66\244\252<\244\271rVu\345\6"
+"\335CO=\223\223\223}\35Y\362\362\362\362\362\372\257\365\27\251\204\347"
+"v/\13j]\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0"
+"x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2)IDATx"
+"\332\355\2271H\\A\20\206\377\\.\21SD\213@\4\213\304\330\b\212\250\321\250"
+"(1j \205\201(\332\244\20+\211EHcc+v\22\5\33\301\2630\26F;\203\'B QH\245"
+"\201`\241\30\2\242\255\205Q8\42\232S\363\247XO\37\347\333ywsX\b\3737o\331"
+"}\337\356\276\235\331\231y\200\223\223\223\223\223\223\223\223\23^/\235"
+"\320G\333C\367\202\331\17\264\352q\20[bg9#p!\0\270-\274\220\25\270\355"
+"O\366\225\233\203\77\372\355\232/\371{\242(\265\3\257\370zF\314\225k\354"
+"\365\213$\271\222:\20\362\264\307\0\0S:x\375RO\32\360\37\0@\227\16\66*"
+"\373R\2579\260z_s\35~\177\337\230\2\374\324\356*\237\237\7\301\317\4\27"
+"\347n{\6\60\271\234+\35\330\77y\356\352\375\227I=aO\3734\321\330\336;6"
+"3\207\263s\362<\323G\337D\254S\327\232\355\365&u\337i\275\270t\235\366"
+"}\221$\77\372\r\r&\3502\33\374\204$\371\312w,\177\323\3001\31.\261\214"
+".\30z@\204\37\331\346^1\264\350\333V\203\325\230\307;\t\266\212=&bI\333"
+"~(\340I\373\16\245s\355\306\315\32:x\16\0P\252\203\177\32\223\353\3408"
+"\0\340\246\16~\0\0\330\325\301&\234l\350L\265C\222\314V\255\334t\37\0b"
+"\207*x\32\0\60*yX\201\215\215\30\7\313\221\340B\13;`\330I\361J\226\313"
+"e\213\234nJ\375\320\206\275\263\24\326f\275\260&<_\36hYM\204\260\376\240"
+"\350\271P\345\351\273U\334\35\275\210\373\303\351&:\217\372\204\240\37"
+"d\363\346E!\335\310\360\350\215Em\242\213\344j\363s\264\303\37\b\373\6"
+"\335\370\t\1\236\36\305v\2666~,\37\244\342\370uf\235\221\273\232\232\344"
+"\5I\362\233\256\32*\6\0\254\352\312}S>\256i\320\363\302u\2762M2\223\222"
+"9\223b\275Bp\255\331\240\323\216\13/\374\275\322_\243\314~\312\234\234"
+"\234\234\234\256\213\376\3a\304\303\356\344\35Qk\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\2\337IDATx\332\355\230[H\25A\30\307\177"
+"f\221\322)3\n\205\222\274D\201\224Tt*\213.D/]N!Q\30\247\b\311.\320\345"
+"%2\362E\n\202\242\36\63\n2\202\260\213\324\213f\320\203F\21]$\311.\210"
+">\230\330E\250\214\b\13\224\302\351a\346\34ww\366\234\263;\364\24\373\177"
+"\231\371\276\371~\273\263\314\3567\337,\4\n\24(P\240@\201\376+\245\'\34"
+"\311\315\311\34\64\272d\305C!\365t\237_\364\242\260\252.\335\7Z)\234\332"
+"\353\231\275&t\325{d\233\205\233\356{b/\bw]\365\300\256\217\5\277\3369"
+"\t\310\256\354\2119v\244\206\207d\344\310\312\270\'\22\243S\262Q\31\367"
+"\301\352\33\77 \235gS\301oe\\\310\346\314\364xk\31u\314\341\335\42\335"
+"\233\222\263\341\4\267\370\42\204\20\242A\7\306X\372%2T\2139\7\300\272"
+"\344p\36\0\355Z\314=\0B\311\341l\0>i1\275\211\236\323\ng\0\360S\213\ty"
+"\201\345\267\367G\213Y\356\5N\3`D\2139\4\300\367\344p\2-Y\r\300\35\238"
+"\364L\266\265\6\360b\225\5\273;|\303\363\356>W=\267orl\22r\363\256\262"
+"x\277\376\205/8\334<\315b\325\244Z*\273\32\254,\37}\3013\363m\346n_p\337"
+"g\233Y{\300\327\264\243\3036\363|\243\37\270%c\373\315\257\26;2<;\331\242"
+"\326\t!\2048c\363\25V\367\217f\3575>a\240\240!\21\355\341\303\350\335\226"
+"\37\313.-E~a\350[t\\\365^\371\207\341\264J\274\23\256\30\3004)\272\242"
+"\330\0\246I\315\374\262\t\314\3517\0\224\346\231\300l\225M\225\21\334\375"
+"\b\200\203F0\'d3\305\bn\225\315Z#XmcK\315`\371\320\305fp\27\0\323\315\340"
+"\1\0&\232\301#\376\367\252Q\311E\372a\6\317rd\341dpx\241\303Q\n@\247\27"
+"\270\261\255\335\2211\345^\333\346\1\336\37\201\310)\253g\216\355Es-+b"
+"\205}\31@\265\25>*\233o\256p\226\255|\311\5`\243\245\352\220[N\202\352"
+"\371\235\20B\210\7\266\262\375\361\350\360-\231~K\\\331\25\366\n\365\210"
+"\264\346\307\267:i\277wCs\252b\231\375\222rH\353\3278i\356Q\243\33\364"
+"\375\364\206\365L\240\22M\2072\313\201\5-\312h\323\330\302\337\366\23E"
+"\30\200en\207\215\251\332\273]\341(.\312\1xr\335%\t\16h\360\220#DUO\321"
+"\36\'{\370\266~\275\254>\333\324\372\263\343\t\323>\347\250\373\22\327"
+"t\305#zN\246\271\37+_\316\360{(-P\257\206h]\245\17\246\245\346\213\346"
+"N\36\354\354\n~5\4\n\24(\320\277\322_%g\371\36%N\252\263\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\261IDATx\332\355\227]H\24Q\24"
+"\307O\233\326b%\271.T\32\331\327\224\202=,aR\264\21\nm\230 ADaAE/}\201"
+"DH\224E\275\24Q\372\324C\260\210\17\205HAE\17\322B>$\205$\230Hf\205\264"
+"\21\373\222+\230\37,\256\354\326\277\207\231q\307\235{\357\314\336\210"
+"^\356\377i\367\234\373\273\347\314\2359\347\314\20))))))\271\321b\206\255"
+"\344\352\321\202a\331\r\337\0\30-\223cW\1\0P\'G\247u\372\214\3245\377\256"
+"!\42\242\3\336\36\231\320\317\364\320\350\224J\274\313\240\373\244\350"
+"6\203\376Q(C7\31\64\266\310\320\207L\272B\206\2566\340\31\251\353.M\350"
+"t\213\334\3232\b\0x\316\365{Dp LD4 [#\273\236\364\337V\255G\351\177i\21"
+"\317QY\275#\240\255\244\361\221\276\236W\271l\2505\275\234\203U\237\316"
+"\271\355 \335`\351\256\13\364\2\270\n9\261\327 \320e\7xZ\4;\365\243\ts"
+"\335X{\243\321s}\241\373)\323\332 \204/\2@\352a}\226\271n\314\240\305\241"
+"\327\326\3270g\304\3\35\276%\3670\205\335\204\346\352\27\0`\217\343|f*"
+"UKD4\31\221\212\254\1\0d{8\0 \351\256\252\354\260}\275\347o\352\3315\254"
+"1ly\234\265\376M\353\326\24-MO\307c\321\357DDt\311\35\274\254\361`m\376"
+"\2\313\207\301\211\355A7\351\35\377,\254,\21z\36\16\342\243\3451H\303\247"
+"\200\334`\313\2015\337\311\374\236\212\274\35\212\306\347\210\226\24\225"
+"l\254\330V\265\301\341\244N\314\357\336{\330\346\314o\23\246]f\242\355"
+"+\230\376\16\21\374^w\216\227s\22\333*\200\203\272\257\337\241\252\330"
+"\260>\'&I\n\326];\245\340\365\0\200\217\2\66\217\1\33%Y\251\237\250\0\336"
+"\307\257g\77\21\21\r\t\340\33|8-,n\42:]\305\207c\372\3739\177j\207\5I-"
+"\7\0\304y\356fqU\315\2\0N2}\205\221LU\371Y\13\356\351\276\2000,\200\233"
+"\314\335\r\347\21[oI.,\350\353^\301g\330\300~\2131\324\305\350\7\263\35"
+"\232mbD\347\13\376]\357H\234|\233\3\273}\274\3\334\373:\273\343&\371\315"
+"\'\22,m\261\376\177l\333\256`\224\203N5\20\21=\265X\36\61\262ie\262\346"
+"\254\210fL\254\233B\253;\263\311/\226[\177\345+\0\340[k1\357,\216\275H"
+"\230\340L\367Y_\356o\275\236b/\22\77\325\'\201\222\222\222\322\277\321"
+"\37*\16)\322\316C<\376\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\261IDATx\332\355\227KhSA\24\206\217\265\325\342\243\3324\210Z\251"
+"\317h\305\272\bR\253bD,\30\225B\21\253\bUPq\343\13\202H\21iE7>\320\270"
+"r!\226\322\205R\212\202\202H1\240\13\3R\324\326R\304h\21#\222\215M\241"
+"\266\325\320\224D~\27so\223\346\316L\356\35\21\67\363\257r\3179\337\314"
+"d\356\375\347A\244\245\245\245\245\245eG\323m\324\354\17l\212\374Rk\276"
+"b\0@X\215\335\r\0\300\2\25\366\4c\323*\354U\306\242E\201\3550\330\307\n"
+"l\267\301v:G\347}7\330\240sv\215\201\42\340\234]g\262\373\24\376\357\270"
+"\301\326(\260\227\30\232(Wy\301O\1\0}\362\242\2A\274\207\210\350\256W\321"
+"n\327\336>\334\242\27\35\255\377\253i\242DU\315F\257g>\rE\272_<w\322\240"
+"\'\360l\2\331\372x\312&\331\320\5\236n\330@\317@(\177>\266\5\22\235\317"
+"\3\217\311`4\313\341a\263n\260\255q5\13\271\374\267Sf\264^\n\237\5\200"
+"\324\275\272\234\360\236A\203\226w\275\244nG\t/~\207\301W\324>\246V;]\13"
+"\365\33\0\260\315\361\231\204\210\210R\265DD#!\245\236=\0\200^\305q\3\0"
+"\222\366\\e\205\255\365\5\177\343g\333\260\207\23+\24\324\272WV,*\235\231"
+"\36\213\307\242\337\210\210\350\234=xv\343\336\332\242)\221\367}\303\33"
+"|v\206w\370\223\324Y2\3644\362H\214V\306\240\f\37\3\234\301Y\23\326t=\363"
+"{4\364\252\77\32\237 \232Q\272x\305\332\365\325\313\363\314\324\221\311"
+"\326\303\7,\311\242[\322a/5\321\266\271\334|\273\f~\307\222C\225\362\323"
+"$7\347c\2717y\\\305\207\331>1BJ0KmV\202\227\1\0>H\330B\16lX\262\212\315"
+"\250\4\336)\366\263\233\210\210\372e\307`1\234\226\232\233\210\216W\213"
+"\341\30\21\21\211\17\346\r\255\222A\315\1\0\304E\351&\271\253\330\255\340"
+"(7W\22\312\270\312\315+\270\311r^i\267\0.s[7\222\7-kKr\252\241/\26sh\323"
+"s\275\273\262\202\376N\316z0\336\356\261\354\30\321I\303\277\16G\342\344"
+"Z\345\335\352\22M\340\366\227\271+nR\274\370\204|\345\315\331\317\17,\315"
+"\315\372,@G\353\211\210\36eE\356sF\23\344\262\346^\21\315\204\270W\246"
+"\205\35\271\344@\326\253\277\360\5\0\3605X&\232\213CO\22&\370\263\353\244"
+"\313\371\251\267\240\254\30\211\37\372J\240\245\245\245\365o\364\7\233"
+"\3740~N\354{1\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<"
+"\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"\325IDATx\332\355\227[HTQ\24\206W\246%]$\307\21\264\233\335\246\f\224\30"
+"\304Lj\42\22\234(A\262\13\202\25\25A\320\5\242B\42,\n3\b\263^z\bD}(\42"
+"|0\351A\32*\42!B\301B\42\63\242\211\30z\230\31\60\307\32\34\31\353\357"
+"a\317\231\316\314\331{\237K\364P\234\377i\366Z\353\333{\261\317\254\265"
+"\316!\262e\313\226-[\266\376c\315\224z\363\353\326\5\243\26w\356\6\200"
+"\36Kh\351O0\225\231g\353\221\324!\263l3T\272i\216\355E\212\236\231@s\374"
+"HS\244\310(\273AA\342\235\235q\345\367\16c\354\1%\276\231\210\350\212\262"
+":c\204=\253DW\263\265WY_\323g\367$B\203\5\212\2450\2340\35\325\205\277"
+"\260@\237\332\366\230\331\276\353\261\371\334\24[\231u\211\36=\n\0u\351"
+"\326]\0\340\327M\273\362\301@\13\317\3362\330\273\321\356B\377\252f\210"
+"\34%\25\353\335\256\5\24\36y\371\364\211\231\r]\247\36M\245t\202w\307\r"
+"\222\273\373\300S\253\1\364$\204\362\352\261\27 \3219\35xB\6\243I\16\217"
+")q\301\216\206\325\314\344\360\336J\366\300Z)|\32\0\342wj\322\314\333\203"
+"\tZ~\364\342\232\2559<\373m\6_\265\366gj7r\264P\77\0\0\233M\fw\225\342"
+"UDD\343>K\'\273\0\0C\26\363\6\0\304\214U\225\26\326\306g\374I=\33\206]"
+"\34[\246 \326\271ria\356\354\351\211P\300\377\231\315Nc\360\334\206\235"
+"UY)\2267\257\307\312<F\322\333\77*\255,\31z\2:\22\243\305\1X\206\17\3\346"
+"`\325\2055\252\6z\304\367b\330\37\232\42\232\225\273p\305\332\322\362\345"
+":7u0\271{\377^\2153\353\2064\355\42\5\355\230\317\365w\311\340W\314\31"
+".\26$\266F\2{\230oP\247\252\3700\233\23\343d\tf\256JK\3602\0\300[\t\233"
+"\311\201\23%Y\302nT\2W\213\353\331IDD\303\22\370\222\30\236\226\26\67\21"
+"\35)\27\303\1\42\42\252\20O\355vIR\363\0\0!\221\273Q^U\223\222o\240\34"
+"\337\357\252r\362\2\2563\237[z,\200\313\334\335\23\316zMo\211\245\26\364"
+"\305l\16\255\324\334\3206\225\321{\237\323\17&\273\\\232\211\341O\26\374"
+"@\377H\210\34\253\334\233\34\242\13\334\362<\275\343\306\304\315\307\347"
+"Y\324\244^wk\266\233\363A\200Fj\211\210zT\226\273\234l\332\270\2542+T\237"
+"\210\274\207B\5\367\322\311\367\252G\177\376#\0\340S[\236\350.\366=\214"
+"*\340\267\276c\16\363o\275\31y\331\210~\265\77\tl\331\262e\353\357\350"
+"\27\344S\213\r\225pd\22\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\300IDATx\332\355\227]HTA\30\206\277L\313\322$\327\r\372\265\337"
+"5\5\273X\302Th\243Zh#$\221$\4\13\372\275\311\202\210\222\20\373\361\246"
+"\210\262n\272\210\304\366\242\210\220\360\242\13i!/2\42\22,\26i+\254\215"
+"XB\\\301\326\25se\225\267\213\263g\367\354\236\2319\307\23]9\357\3259\337"
+"7\317\3140s\336o\346\20IIIIIII\315\3\355{\36\5\242\335\265\26\320=\303"
+"Pu)\25\315{\24\371v\322\220\275\7\255\232\22\321\6\0\370\223o\300v!Cm\305"
+"DU\275\312\363:1{\5\2\r\33\f\234l8\315\200\353\305l\231\322\352\341\n\42"
+":\24\310`[\f\6^\22\1\60Q\235xs\177\327\262\247\r\327\272\356\315\3405\315"
+"\353\301!\25\365;,\354z\311M\377,~y\253\244u\346\255\26\360\22\345\225"
+";\234\216\3454\32x\327\373j.\35:\316\277L\267\324\347&\223d}\17\323\311"
+"\267M\240\347\370\205\300c\304\n\313\310e\38*\202\321*\206\307\324v#\235"
+"\215%J\310\346\271\37W\243\342:~\1\0\342\217k2\302\7F\22\264x\350\2655"
+"{\13X\361\7\n|\303\332\307\324afh\256f\1\0\273\322b\13\315\302q7\21Q\304"
+"gid\7\0`\300\342\274\1\0\61s\256\322\303\372\366Y\377\342g\3230\353\274"
+"\310\346\264\265o.^U\270x&\32\16\5\177\22\21\321Esp^c\235;\'-2\370ql\273"
+"\313\314\364\216~\21:K\204\236\205\201\370hi\b\226\341\23\300\334`\315"
+"\2025\337J=\217\373\336\372\203\341i\242E\205\2537\225m\253\330h\260R\307"
+"\222\275\367\35\326%s\356\n\247\275^E;\2271\363^\21\374AI\216\226r&\266"
+"U\0\273\224\\\277\321\5\215\231R\316\211\bY\202\225T\265%x\3\0\340\223"
+"\200\315f\300\tK\226++*\272\277\363\375l\'\42\42\277\0\276\316\207g\204"
+"\346&\242S\25|8DDD\225\374S\273C0\251|\0@\230\227n\26\273j\n\0p\234\231"
+"+\360\245\\eg5\270\243\344\234\302a\1\2641{O$\33t\265%\226n\350\253\271"
+"\fZ\365\334\300~M\320\363\214Q\17\246\274\16\335\211\21L\32\376}_ L\266"
+"-\316\2356\336\2\356~\235Yqc\374\342\343s\255i\325\276w\351\272[:\304A"
+"\307k\211\210\2725\221\'\214\331\2643Y\365\254\b\246B\254M\241\225O3\311"
+"\257\232\255oQ~\224~\264\27\361\326\342\310\213I\25\234\3509c\233\373\255"
+"7\253(\27\223\277\345/\201\224\224\224\324\377\321_\215\'\204\3\16\330"
+"\374\264\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0"
+"x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\331ID"
+"ATx\332\355\227_H\24Q\24\306\217\246\255dI\256\373P\231\375\263-\3\267"
+"Z65\311\215jA%$\t$\2\13*z\352\17D\204DX\324K\20eO=\4\213\355C\21\321\203"
+"`\17\342FA\t)\5\26\22Y\21\255\310>\224+\230\32\342\332*_\17\263\2633\273"
+"s\357\235\331\211\b\342~Ow\277s~w\316\336\231s\357\f\221\224\224\224\224"
+"\224\324\177\254\34\243U\2777\347E\257\301\335\325X0\320e6\233/\16\0s;"
+"\322\335\322Q\0\300\1\61\353AR\36\275[\250\272b\372\273\232\366M\357>U"
+"]\210\330\255\251,T\352l\315m\321g\347\246\303;\265a\2556\334\246\r\353"
+"\4\360/\3460\301t\r*\323\n,c\226\35\20\375\351~5\253_\357\6Uw\\\270\332"
+"\216\5%k\301\221f\217$\341r\223\247\244\33\0\2723\335{\0\320Wb\376\310"
+"\372|,w{\365\42\331\315R\377|\367TTYS\355u/\247\361\341\201\347\317\262"
+"\231\320}\256w\16z}<m\221l\351\1K7-\240g\301U\203\31{\31\2]4\201\247E0"
+"\332\305\360\204\2327\326\331\272I\261\234\rw\22\252\333,\204\317\3@\342"
+"~S\206\275\177\314\302yA\264\272i_\21\313\277\253\300\327\355=LA+\227\346"
+"J\331\222w\247y\226w\304D\200\210h2l\353\312n\0\300\240\315\272\1\0qk]"
+"e\204\215\371\271\177\322\317\226a7\303\313\343\344\272\312\327\254,v\314"
+"O\307\242\221Q\42\42\272`\r.l=\30\310Os\336\277\233\360\371\255\224w\364"
+"\223\260\263D\350\31\230\210\217VDa\33>\1d\7\353\26\254\355\2066\236\n"
+"\277\32\212\304\346\210\26\27\257\332\260\305S\265\336d\245\216\245f\357"
+";d\b\346\337\26\226\275VE;\2271\343!\21\3746\371\242U\301)l\263\0\366+"
+"\2617&]\305\206\225sb\222l\301J\250\326\26\274\16\0\360A\300\3461\340d"
+"K*o\346!\1\\\317\357g\27\21\21\r\t\340\253|x^\330\334Dt\262\212\17G\211"
+"\210\250\206\177j\7\5E-\5\0\304x\3416qW\315\2\0\2163cEa\255\253\\\254\204"
+"[J\314+\274,\200k\314\331\223\301\303\206\275%\236\336\320W\n\30\264\332"
+"s\203\215:\263\341\21c\77\230\r\271\r\'F$\325\360\257\373\206c\344\334"
+"\350\255s\362\26p\317\313\314\35\67\316\337|\302\376\322v\375\357\307\206"
+"\351\226|\341\240S\315DD]:\347\1\243\232\16&\253\236\25\21\315b\335\24"
+"Z\3610\223\374\254\273\365\227\276\2\0F:\270\237WG\236\314\250\340\317"
+"\236S\316\354\337zsK\n0\363C~\22HIII\375\35\375\6\205F`-\312\247>\231\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0"
+"\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\26IDATx\332\355"
+"\227]H\24Q\24\307\217\266\246hI\256>\364\205\331\346\246\202=H\230\24\32"
+"\231\246\21\202D\21\201\6\25=\364\t\21e\22\32E\20I\31DA\205\210\17}\322"
+"C\17Q\326B\237fD\201\231\204\37a\256\330F\344J\246\206\271\246\362\357"
+"avvg\334{\357\336\231\250\247\371\77\3159\347\376\356\\\356\334s\316\35"
+"\42K\226,Y\262\364\237\25!\210\255+L\215\350}\372\300\314\264G\177\1\0"
+"\60Ue\30u\264#\240N\20716\34374\32O3\4\177\201N\237\215\260\27\1\0_\217"
+"\254\312\255\364\2\0.\310\263q\0\200\33\212q\13\0\20+\r\357\1\200.\325"
+"\352\2\200\335\254q\221,g>\21Q\215j\235\t\270\244\340\24\42\242f\325z\31"
+"pI\301 \42\262\251\226\215\210hJ\32\376DDT\244Z\205DD\335\322\33\266\35"
+"\0\276\253\3267\0(\223\377V\0\200\346\4\42\242\370\347\0\0\3\207\344\224"
+"r\260\256\226\227_V\236\252\215\34\261V\375\361|k\350l\333\373\264lO\274"
+"\261\264\212~\30d\357G\31\316\350\315\357\25\264u\223\2512\224\234\357"
+"\240\236g\36\253V[\275\212\243\314\234\25Y\31694\320\361\372\311c#\23:"
+"\17>\32\327%U\347>\331#\335\b\226\316J\240\7\300Uq8\266\32\2U\206\201G"
+"D0\3024\352Au\\\177}\331R\177M)\2764\241zK\205\360!\0\230\270V2\315\275"
+"\241\337O\213_\275\260d-\263^]Q\340\323\346\16S\35\214\226o\255\246\0\0"
+"\253u\276\31\262\360D\1\21\321\220\313\324\233\235\0\200\26\223\353\6\0"
+"\370\244K/\243i\353\307G\376M>K\303N\206\317\306\31\233\264$y^B\364\344"
+"\210\327\343\356#\42\242\303rp\\\331\306\2}k\373\320:\270<Ofy\333\272\204"
+"\231%B\367#\214\370h\272\7\246\341\235\2001X\263a\25\65\301\347a\327\253"
+"6\267w\234hf\302|G\306\262\354\3052\227/\0@\323\226\220`\324y\341\262\27"
+"\251h\375lf\274A\4\277S\202\3\351\234\205\245\t\340\274\260\27.\1\254\364"
+"\211!2\5+\241\225\246\340\24\0@\273\200\2651`\177Jf*;*\200\213\370\371"
+"\234DDDm\2\370\4\37\236\24&7\21\355\312\346\303\312\35\61\207\337\265\353"
+"\4\213\232\5\0\360\362\302\25\342\254\32\3\0\354`\306\342]\301\254Jb\r"
+"8\247\304\262\204\257\5p\2229\273\77\2705\244\266\370\364\t}<\206A\253"
+"9\327\262^\343,\276\315\250\7c\r\316\220\216\341\16$\374\233\246\16/\331"
+"S\263r\355\274\r\\\363bz\305\365\361\213\217+oA\225\326\276\23\62]l7\7"
+"\35.%\42\272\253\361\\g\254\246\226\311\252\275\302\35t\261>\n\315\275"
+"9\235\374\250\371\364\307z\0\0\275\265\211\274\275(\2777\252\202\77\33"
+"\367\332\215\337z#\23c0\372\303\372%\260d\311\222\245\177\243\77\340\347"
+"\211\223\271\201g\370\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\334IDATx\332\355W[H\224A\24>\272\273\205\325\6\33QdjP\212ya!\225"
+"\n\304^R\314}\210\245\355!H_\n!\20\66)Z\4\25\tE\352!b+\273\201\225\21\24"
+"Yi\17\371\340\206P=\254\331E\2436c\351\262D&\256]\20\302\332\322N\17\63"
+"\377e\346\277\271\333\353|/\77\363}\347\233\231\375\347\234\371\317\2\b"
+"\b\b\b\b\b\b\b\b\b\b\b\230!\247\341v\f\21\77\\\251\341\204\232\356\350"
+"\34N\17\66\2560r\346\236E\25\332TJ\207B\77-\323\263n\35C\26\277J\250R\311"
+"\362=Zo\7jQ\13\0\0M<\35K\343\274{Q\17M\0pQK\177\341\314!]3\276\274\34\327"
+"\243\37\23\223\235\232\177\320\347\243\201\321\251E\5^/\35\26\27K\263\17"
+"\334}\273\270\244.\237\f6\267\266\253W.\377\216\210\303\273\344\361\5v"
+"\251^\7\241\3351J\260G\346\250\332\306\214\367\253\275\315\n\337O\230["
+"\346\371r\\\361\236W\363\317\b\3474w\313\3369\206^N\310Nss\220=n\31\'\20"
+"\21\61an.\227\314\34\277\204\2609\246f\32\204\247y!\202\210\210\207\27"
+"\364\243\13y\276\31\21\21\37\232z7\350\357\32\240B\342\323\215\315\rF\2"
+"\315F\227\234\236RI\227\26d\273\34\211o\23\223\266\355>\312\255\212s\346"
+"J\362(\13\251\270\225-\357t\213\343I\5c]\346\247\374!\205\253\216`\222"
+"\350\222\266]\330\237\227\364}\347\244/\254-\222\274\27\246\310\343\16"
+"\246\202*\260\3@\237W5\337\337ptz\336\271\2564\323j\341\253!\0\200ve\262"
+"~\217\254\245\5M\227\235\364\3\0\200G&\32\331\251{(=\272;+\303\316\300"
+"&\205\370\346\245\233\206\337W>\275\276M\222\360\'\365\2363*\214A\353\322"
+"\211\33Jc\326\346=\306\222\265\331D*J\305\274\221J\335\251\230\217\241"
+"\345\276\215\3\344\363\77be\366h\204>%\235\214k\203\350a\236oU\345\342"
+"\r^tw\365\326\253\77\314\\\23\342g2y\37+^BD\f\0\0\4h\300z\265|\224\253"
+"\3\237\272\351!\233\35\6\0\200\3174`\247,g\fi\252Hio\16R\346\36\371RK\1"
+"#\325\0\0\260\366\224^\r~\255#\355\207\334)\354 su*!3\257\337\33\327p\342"
+"\343\2542\b\352\234\312B\21T\336\301M\343\250\331kC:,\363\372\3\32\371"
+"\344jp\237\211\275iI\7(z\305i/\326\260G\227y\237\221\37d3\352\1\265\366"
+"\247V\233jY\301\204$_\327Va}\224ja\245c\2\246\23\264m\311u\375\376\364"
+"|B\77\2217\345-\235\31\37\27\377\f\4\4\4\4\376\27\377\0\3278T\342\366p"
+"\366\321\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0"
+"x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\236ID"
+"ATx\332\355\227[H\24Q\30\307\377]\\\213\245^*2\315,\245\13\33Id\271v#W"
+"\244\13>TO\206A=\4a\320KH\320K\224!T\22A\331\205 \260\313SE\370\20T(Q\226"
+"D\322\42\241\33d\210[\26\221E\27\22\324\312\372\3670\263\227q\346\234\231"
+"9\333\343\371\277\355\371\237\337\314\231\363}\3379\337\2ZZZZZZZZZZZZ\26"
+"M\20:\201\312\r\341\320,\340]Og{\273\257g.k\372\316t}l,\364\212\356\372"
+"@\273\372\252\1`J\244D\212n\371B\201n\236{N\262E\302\336\242\233\366\211"
+"\320\242\37\256,_\b\3305\251)\367\366\206\214P\344T\235\375l\245\235\331"
+"U\t\373m\215\325\310=\343\n\317H\270\325\16\346E\27\370\265\341\335w^V"
+"\205\24>nX\27D\233\271X\2\3175\234fq\24\267\212\341\273$\311\230,\177\36"
+"\212\340|\303\310\223\301E$\311\270\335\270D\222<%\317\372\26\222l\260"
+"\217\313\342\237\252\3238\31\237d\33^K\222\274\341Zq\265\373\203\366\301"
+"\323$\311r\265#%\346e\325\42\221$\373\3751\23-\277\236\250\301Y\0\200n"
+"5x:\0\340\275\32\34\0\0\214\250\301c\0\200ij\360\20\0`\201\32<\n\0X\231"
+"I\234\207\24\341>\222d@-IZ\1\0\273\325\336\34\61.\244L>\232ejp3I\362\225"
+"\32\\`\274\272\316ub\305z\341\351\311\325r\3640\311\253\366\341\331\346"
+"\251\274D\266<#\242\5v\347\210IG\204\354!s\306L\7\257\313\364\2169\243"
+"\233\7M\377\221c\306\3745\335o\333\354\346\3167\311\213.\307\361\331\371"
+"I\177\264~~\372q\275\375v\352\202\375\263P\320\207\345\365\247ew\264\263"
+"w\360w0w\321rK\3\324\266Q\274\237\35.\rI\2154\220\7dh\275[\6e_\23\220#"
+"\7\275dj\360\244\3z%\3549\323\213O\304\323\300\247u\205>+e\316\35\23\275"
+"\234\245Rh\275$\311\36\217w\325\370f\1\0\60\240V\342f\347\25R\202\23\215"
+"Wy\6\347\232c\13\343\256h\202nR\200\303\311HW*\320\305\17L\270C\351\263"
+"7\r0\203V\247\226\302[l\262\210YZ\225\335\3356\f\300\214\362/\37\360\272"
+"\326\251\0b\317~\226\225\370o8\216\216+\310F\77\360\16z\371C#\322u\13["
+"\352s\227\367|M\242\321y\376\203\264\242\341\361\247\261\341\227\347K\241"
+"\365\177\364\17\300M\357m\32=8\20\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\225IDATx\332\355\227KHTQ\30\307\277l\312\230p0\322\214"
+"\42\252\321Rk\21Q)\225\266H\220H\210\212\204\264\300E\220\330\242\7$EZ"
+"D\357E\344*\22\42B\301\220\2627\345\246i\323\204\21\205TS\33k\302\26\21"
+"\341\242\227\214\211\314\277\3059\343\365\316\234s\37_\265;\377\325\314"
+"\371\177\277s\317\371\356w\36\227\310\310\310\310\310\310\350\277k\262"
+"\326\231\323R\27\214q\273\215\2\30\230\317c\13\0\0\330\310\243\307\4\335"
+"\304\232sr=\21\21\325L\213p\36}[<\32\327X\3\357\226t\37\213\276 \351/!"
+"\16\275_\322X\314\241\267\245\350R\16].\341\237\254y\317\35\26t+\257Z\372"
+"\1\0w\24N\226;\274\3742\21\321K\356\32Ys\343\371Y\263\1\31\2614I\323\236"
+"[\265\256\254x\6\215|\350\217F\336\373\352\261\2623\211\211z\\\357\31m"
+"\36C\246\332s\274\240M\320\250\315\25\235\375\6Z\215V:\263[\341\250\303"
+"N\354\1+\256w\367\22\261O,\254\353\262Z/\351\331\203\251\230\370v\273Q"
+"\21\31\317\233\216\255\227\1\311\315\231\336\322T.\216\252\331Bi\367\250"
+"\355ViW+\335Aa\236\324\rl\223\244U\336!a\235\322\247d\203\210\270\252\260"
+"\204s\313\351e\354\21\61\341\f\343\230~L\226\36\0\0\356j\36\\\353\f\347"
+"\210\250`Z\363Z\0\300w\267\352\355\4\0\34Ikm\7\0\\\361v\342~J;\253\266"
+"\20\21\321t78\237\210\210\346)\247\214\226|\'t\352\216\337\252B\311\205"
+"/\35\267\r{\201\277\215/l\203g\372\203\207mp\300\37\374\310\6\'\374\335"
+"\207o\332\376\226\370\310\326@sZ_\331\322\330\25\344\34\34\202m\364I\311"
+"\n\373HDD1\36|O\\\232x\347]\31\0\340\35\363\264\24\223^\301\203O\3\0^\361"
+"\340,^\276\245\332\4]\3707\263N\4Xp\255\240\277:\27Y\260z\265\262\275\3"
+"\256)/\356\5\320\241\264\336J\372\204\6-y(\374\42\245;$\351\221\6\205\271"
+"3\226ZW\5\352\35\356\363\370\302\273\270r\242Q\264\357\231\265&{t\367\260"
+"\'\25\326\357\370\323\327\203\77\2\263\26-+\267\355R/ViSr\306m/8\347\370"
+"9\22wB\273\363\\^x\303/\35z\336\313M\256&\252 \257Wy\257\267.+\363\30\272"
+"\2777\354\347\326KDD\241\320\224d\342\333\250\37160222\372\247\372\3\331"
+"L\370\263\305\354\260\377\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\221IDATx\332\355\227MH\224A\30\307\237t+\330\320\214\322\202"
+"(j5V\362\20\222\37}h\27A\212 \372Z(\13<\4I\35\312 )\354\3\351\323C\341"
+")\222 B\301\220\262\242O/\331\2416\n\22\2444!\262\25;H\204\207\feMd\377"
+"\35f\326\327wwf\336\235\251\223\314\377\264;\377\347\367\2763\317\314<"
+"3/\221\225\225\225\225\225\325,Vz\252\201\241\332\r\375cf\357X\371\5\300"
+"k3v\33\0\09&\354\21\306N\231\260W\31\213s\6\354]\316>2`\337q\266]\37]\370"
+"\203\263\327\365\331 GQ\253\317\26\304\331=\6\343\215r\266\324\200m`\350"
+"\370r\223\t~\6\0\350\221\372i*\270\233\210\350V\241\341\236k\374p\177\223"
+"\255<\263As$\355Y\25[J\202\213h\342[O\270k@\353\211\345\2551\314\324\253"
+"\252\224\321\272)$\2539C\243R&\253\311\23]\326\13\251&\313\325\354n(uZ"
+"\305\236p\342:\17\257e\273u\365\3766\247\365\246\234=\31\217\211\354s\33"
+"e]\323y\223\261U< \266SP\t{\325\247F.\267;\304\366YnW\n\335!f^\224ul\7"
+"\247E\336)f]\222\247d+\213\270#\260\230\363P5\31GYL \3118/\357\223\243"
+"\347\0\200\307\222\27\207\324p\6\213\362\'4o\6\0\214z\255\336V\0@}Bk3\0"
+"\340\266\27\274\27\0\360=\341\304\330EDD\13\274\340l\42\42Z!\34\62\316"
+"d\253\320y\7\376\210\26J\26\264\324\340\352\366*\275\302\27p\301\213\365"
+"\340q\27\354\323\203_\272\340\250\26\33~\340\372\233\257\221\255\257u\t"
+"\317\232\317\215C~\223\203\203\2615\232\24_a\203DD\324g\6\77!\42\42\303"
+"\253K\t\0\240\337\360\264d\203^o\6_\6\0|4\203\323\314\362\315\325\304\350"
+"\334\177\31u\324g\4\207\30\375S\275\310\374\225\33\205\355-\360Ly\260\23"
+"@\213\320\372\314\351\13\22\64\377\5\363\363\204\356\b\247\'\252\5\346"
+"\301\276\370\276Z*\256p\303\323\33\357F\321L#\357\370{gOv\310\356ao\312"
+"\234\337\221\267\237\206~\373r\326\254+uU\251\356biJ\256x\325\202F\325"
+"\\\24FTh\373\22\217\t\257\36\223\241\327R\271\311m\17\13\310{\25\251\257"
+"\2676\'\363\30yz,\240s\353%\42\242\314\314\271\261\350\257I\373m`eee\365"
+"_\365\27|\331\377_\256\262\367\375\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\274IDATx\332\355\227_H\24A\34\307\177\331Up\241\30"
+"ue\17R\235\206R\204He\211\332\213`\201\20u%\230E\22AQ\17E\224\24\375#\322"
+"\213\242\300\247\310\227\f\5!\304\312\212\222(\353!\3\213 *\213\240\272"
+"0(\260|\250P\3164\356\333\303\354\336\336\356\315\354\354l=\4\315\367i"
+"\347\367\375}vggg\1773C\244\245\245\245\245\245\365ok\262\253\33\212\24"
+"\r\215\372\274s\'\0\\\365\205.I\200i\251:[\213\244\266\251\262\215HQ\263"
+"\32\333\r\233\36(\240Y18\364}\236Wv\245\211L\264\266N\230\327\325\336\330"
+"\255f~#\21Q\223\331\332\357\205=`fW\261\366j\263}F\316\326\30\251C9fd\356"
+"W#\264S\n\177b\211wRcwYlD\306\206\270]<\313\242\2712\372\r\0D\234\321\r"
+"\0\20\223v\273\364\332\343(/\36}\322]\246\253\320\177\251I\202xv\345\252"
+"\222\202\31\64\366\376Y_\357;\245;V\264\'le\344~\235g\264\341\27\322\325"
+"\222\351\5\335\5\201\344\25\64\347%\204\32\257pg#p\325!7v\237\225\327\263"
+"cQ\6\21\21-\330\324aE/x\250|\261Z\273Q\336\233\34\67\21[g$$\326\245{\213"
+"\315\2618\306g\363\f\273\213o\37\265\327c\207\6S\n=Ok\r\232\347\35dV\223"
+"xH\326\260\214K\34\2139\256\333\200\335,\'\234f\34\27\367\311\322-\0\300"
+"u\301\203k\334\341L\226\25t\204\313\330\42,\233\275\355\0\200\303\216h"
+"\13\0\340\242\f\336\b\0\370h6\331\34\244\365DD4]\272\220\21\21Q.\367\225"
+"q$\344\206N\335\374\2237Q\262\241\244\23\266n\317W+|a\33<S\r\36\265\301"
+"\1\65\370\236\r\216+\261}Wl\315B\205\321z\333\340\270\3274\303\330\36\364"
+"\263px\335*\331e\314\260\17DD4\340\17\276ADD\305\376\326\273\22\0\300k"
+"\237\253\245\357\3\1\21Q\24\0\360\334\37\234\341o\274\r53:\357O\336:\36"
+"\360\5\33\373\354/\356\223,XU\312\215\267\311\317`\5=\0\332\270\326+\203"
+">)@\13o3\77\237\353\16\33\364X=\307\3342`\376Ws\370\25\356s\362\307;\277"
+",\325\310\337\333o\375\223]\242}\330\303r\353:\366\350\305\340\217\300"
+"\354\205E+lU\352\351r\341\220\234\222\325\202\323n\337\2428\346\206^\236"
+"%\371\340\365#\42\364\234\227\235\\u\37\207\354\254\364>\337:\254\221\307"
+"\360\315=a\225]/;\tgMI\304\277\215\353\263\201\226\226\226\326_\325o#\n"
+"Y\375\231\345\246\270\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\277IDATx\332\355\227_H\24Q\24\306\217\266el(\206YA\b\245\206R\231"
+"\311\326\226\244A,,B \25\ne\201\17AQ\17E\220\24\375#\372G\17\201O\221\20"
+"\25\nB\204\5\26eDF\324f=\bQY/\325\212=T\224\17\25\305\256[\356\327\303"
+"\275\2633\263s\347\336\235\241\207\210\373=\315~\347\374f\347\236\271\367"
+"\236;DZZZZZZZ\377\225\362\234Vtm\336\203;\16wu\323\364\'\327Uw\13%\1`b"
+"\271\335\2357\6\0h\226\2635\340\252\261\2723\fWN\1772\322>Z\335\273\206"
+"\13\31\2734\223\205%\26\333t[\254\331\371vx\225yYo^\326\232\227\r\228%"
+"\274\374%t\35*3\37\260L\370\330\21\331\240\207\214\254!\253{\301p\277H"
+"\253]0\311\262&\13l\366(\207+\24\263\244\37\0\372\263\335K\0\360\260D="
+"eC!\221\273,<E\257\346\177l\'!\42\242\342\310\232p\325LJ\276{\26\33|\353"
+"\351\216\215=iXu\277-g\264\3437\234\352*\314\5\335\t\27u*\321\271/\341"
+"\252T\243\234\335\b\251\16\310\330\275f\336\300\366El\223Y\260\271\327"
+"t\317\273\263\373\214\234\370&{\240a0S77\266\215\'\244\327;c\213\215Z\34"
+"\21\263\25<\334\'\16\37\346\341\2500\312\32\nN\270=X\263d\333\337\317B"
+"\'\335K\322\3042.\13B,\42\355\203\273XN\271#pT\335\212\210nA\2709\362\77"
+"n\225\303\205,+\230\335\272\1\0\337T\263\267\7\0p0\313\355\2\0\\T\301-"
+"\0\200\367Y\215n\3\353\341*\270\22454\341\220q\250T\206N\3332!\232(\305"
+"\360\244c\266\307\236\357m\343+\267\301%\336\340\23768\340\r\276g\203\23"
+"\236\330\3305\333\317j\17\325z\323\221}\36\340\201mA\77\215\203\261;<R"
+"|\206\215\22\21\321\210\77\370\6\21\21\325\371\353wa\0\300k\237\335\222"
+"\r:\344\17>\5\0x\356\17\316\367Wo\256\316\334\216x\322Q\'\2\276\340VF\177"
+"\226O\262`\264^\350wCY\362\252\1\0\335\302\320+N\37wA\253o\263x\2450:\316"
+"\351d\273 \270u\304XWs\304;\334\207\314\302;g\373\260\252\334\363\324\\"
+"\223}n\347\260G\226\17\220\370\343\27c\337\3\263\27\326\256\264\355R\303"
+"+\\KrZ\265\27\234\221\275\213\272\270\f\2752K\361\302\333\177\270\241g"
+"s9\311\255\213\t\310\253\221\334\347[\257Yy\214\337\334]\356\345\324KD"
+"DEES\323\211\257)\375m\240\245\245\245\365W\365\7\237y/\35\302\42@E\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0"
+"\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1OIDATx\332c`\30\5"
+"\243`\24\214\202Q0\n\6\67`F\27\220\252\216\344\272B\256iG\376\377\377\177"
+"[\236<\275\342\377\377\377\377\377\377\277\27y\272\377@tg\222\345\347\177"
+"N\f\f\f\f\f\336\34{\311\261z=\304\352\377\313\310r\370\n\250\356\343d\351"
+"\356\203\352~\301G\216\356\2\250\356\377j\344\350\16\201\351\326$G\267"
+"9T\363g\262\374-\375\25\242\273\206\274\324r\376\377\377\377\377\377o\300"
+"\247\204\t\247\214\341l\6\6\6\206\263\344\346\21\253\325\247\332G\313\235"
+"Q@\31`D\27\340\325\25\345`dd```b\374\367\361\306]R\314\222\337\365\37\5"
+"|\362&A\363\236\377\350@\225h\275,\37\60\64/$\336\346E\30\232\77\222\340"
+"\356\2267\350\272I\213\0\66\36^^\1Y\317\315di\206\201\245\224h\326$\250"
+"\231\21\217\334\177B*\230(I\236\243\232G5\217j\36\325<\252y\330h\26\203"
+"P\302di\316E\241H\353\27\266\300*\350FQb\324W\\\375O\20\\.\305\256\367"
+"\370\177\242\300alz\375\377\23\t\274\260\4\330/bC\34376\301\355\304Y\274"
+"\31\273\221iD\370\372h\362h\223{\24\214\202Q0\n\206,\0\0\304X\2319\372"
+"0\260\263\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1FIDA"
+"Tx\332c`\30\5\243`\24\214\202Q0\n\210\1\314\304*\f-\260\270\366\205<;\344"
+"n\376\377\377\377\20yz=\377\377\377\377\377\377\1771r\364fB\364\376!Go"
+";D\357\377Z2\364.\203\352]O\206\336\343P\275+H\327\312\377\2\252\267\227"
+"t\275\352P\255\377\13H\327\253\r\323\33L\206\177\277C\365\232\223\241\267"
+"\1\242\365\25349\21\274\345\377\377\377\377\377\237\307)\317\204O\363\31"
+"\6\6\6\206Y\206d\346\271\216\323\253\255FK\236Q04\1#\272\0\257\256(\7#"
+"#\3\3\3\23\343\277\2177\356\222b\226\374\256\377(\340\2237\t\232\367\374"
+"G\7\252D\353e\371\200\241y!\3616/\302\320\374\221\4w\267\274A\327MZ\4\260"
+"\361\360\362\n\310zn&K3\f,\245D\263&A\315\214x\344\376\23R\301DI\362\34"
+"\325<\252yT\363\250\346Q\315\303F3\264\363\'L\226\346\\\24\212$ \336\2"
+"\253\240\33E\211Q_q\365\77Ap\271\24\177\277\217\08\214M\257\377\177\42"
+"\201\27\226\0\373Elh\374\306&\270\2358\2137c72\215\b_\37M\36mr\217\202"
+"Q0\nF\301\220\5\0\201t\237\345\5\365\244J\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\1pIDATx\332c`\30\5\243`\24\214\202Q0\nh\16\230"
+"\361I\212\6\351\277\374J\246\301\253\376\377\377\377\177\35YZu\377\375"
+"\207\0c\322\365F\374\207\203DR\3656\377G\2\375\244\351\335\360\37\5\354"
+"\'A+\337\275\377h\340\243<\261z-`Z~\317\233\367\33\306\366&No\34L}3\3\3"
+"\3C\13\214WL\214\336\22\230j7\b\337\35\306\357$\2547\24\252\364\245\4L"
+"D\3625T(\235\240\346\247\20\205;\221\305vC\304\276\20\322+\212\325\211"
+"\335\20QYB\272o\374\377\377\377\177\20\272h\360\377\377\377\377\337#\350"
+"l\313\365\'[\261\211\267\236\332`=Z\b\215\2\372\2Ft\1^]Q\16FF\6\6\6&\306"
+"\177\37o\334%\305,\371]\250e\327\'o\22\64\357A/\371\376\253\22\255\227"
+"\345\3\206\346\205\304\333\274\bC\363G\22\334\335\362\6]7i\21\300\306\303"
+"\313+ \353\271\231,\3150\260\224\22\315\232\4\65\63\342\221\373OH\5\23"
+"%\311sT\363\250\346Q\315\243\232G5\17\33\315b\20J\230,\315\271(\24I@\34"
+"\336\255i\24%F}\305\325\377\4\301\345R\354z\217\377\'\n\34\306\246\327"
+"\377\77\221\300\13K\200\375\42\66\64~c\23\334N\234\305\233\261\33\231F"
+"\204\257\217&\2176\271G\301(\30\5\243`\310\2\0\bW\372ti\301\265\314\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0"
+"\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1uIDATx\332c`\30\5"
+"\243`\24\214\202Q0\nF\1v\300\210!\342\346\310x`\7\206\250\265\7\307\361"
+"u\204\f3\376\361\377\377\377\377\77MPE\245\37\376\377\377\377\377\177\77"
+"\374zu\377C\201.\262(7L\24\277\356\27\60e\317\221Ew\301D\377\343\323\253"
+"\7W\365_\7I\30!\32\202\242\234\t\205g\201`Z\42\230\372\b\246\r\36\315\277"
+"\2602\177c\25\305\0\262\b\7\312bu\2663>O\37\203\251:\206,:\33&\372\32o"
+"h\263\377\205\250\372\313\216\42|\37\252Y\231@*\331\370\377\377\377\377"
+"\33\321E\347\375\377\377\377\377!a\302)\326\330\30\233\250\201\31\363h"
+"f\36\5\3]z\362\352\212r0220001\376\373x\343.)f\311#\212\253\377\377\377"
+"\377\377\377\311\233\4\315{\376\243\3U\242\365\262|\300\320\274\220x\233"
+"\27ah\376H\202\273[\336\240\353&-\2\330xxy\5d=7\223\245\31\6\226R\242Y"
+"\223\240fF<r\377\t\251`\242$y\216j\36\325<\252yT\363\250\346a\243Y\fB\t"
+"\223\2459\27\205\42\t\210\267\300*\350FQb\324W\\\375O\20\\.\305\256\367"
+"\370\177\242\300alz\375\377\23\t\274\260\4\330/bC\34376\301\355\304Y\274"
+"\31\273\221iD\370\372h\362h\223{\24\214\202Q0\n\206,\0\0MQ\317\224\262"
+"\227\r|\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0"
+"x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3+IDATx"
+"\332\355\230[H\25A\30\307\377\232\267\204\344\204\226\21h\27\224 \t+\204"
+"\214N\31A\27\203\302@(\37\n\245\213QY\17\206\275dII\220\21\22\30iD\251"
+"\204d\27\22z\222\222\2%\21,S\312R1\303K\21=xB3=\230_\17\263{\366\314\356"
+"\314\316\236\350q\377/2\337\177~3\263s\375\216\200+W\256\\\271r\345\312"
+"\225\256yR\'6\354\317\2775\271\364\266\237\210h\356\305\311\205!\2639d"
+"h\360\250\36]\236\275\306\t\374\2038\335M\7\342\213G\210\350\264\232]E"
+"2\275\342+\206\13\340\276\16Y\263c\16f\373\331\234\177\250\275mp\201\307"
+"l\34\31s>q\271\343\374\250\353C\232\366F\36\316\205\372\233\3\312\334\307"
+"\227\223C\3507\262\3074\331S!\300e\226\245z\340\34~\302\210G\273\222\266"
+"\265h\364)\307\360Y\42\242\232E\0\2003\32\235\352\24\216)\251+_\253\27"
+"\212\30<\344\270\353\204\2648\243P\305\350\342 \77\314\206\215\317L\30"
+"\357\371\22(\366\247*\t]\321y\215>\42\242\261\206\374D\26\331\311\272\256"
+"P^\6\227G\270%\252\365\2\230\377\232\25\354\321\35]\326\303\370\373\212"
+"\327[\247^\256\365\37$\207y`\224\375\375&go\222R\313$\3479\376\343v\365"
+"\\N\276\24\206\323\215\346\273J2\242\1 n\363\245\1S\317\342\33a]\300/\217"
+"\t\216{*xZ\304.\326\315*\253w#\30\336*\200\265\331\244L\341\27M\31p\245"
+"\325\256\321ny\331\345b\254\276\365td0\343\263|\226{\345\37\375\211\305"
+"#m\326(\0\'\232\367$\13g\331^\210:\274\327d\274e\'\300~{\324kp\251\351"
+"\334\263h\270bs\361\267\277^\3730\0\340\316\234\2\326\250%\242uX\251\332"
+"\326)\254\347v\301x&\324\207\202\301\235\334\260Y\366\320\250\206\33X\23"
+"\34\234\6\0x\256\206\233\1\0\263\34\274\2\0\320\255\206\273\0\0\323\34"
+"\234\0\0\370\252\206G\1\0\23\34\34\21<\32;\371Y\306\303\301\277\330\241"
+"W\303\354\t\31\346`6`\7\257X\n\0`\200\203\373\1\0\233\324\360F\0\300{\301"
+"\342w\250\341V\321y\236q\360\222\4:\2311%4M\0\200C*v\77\0\340\251)\272"
+"\233\210\210\206Up\37\21\21e\213w\374\36\305\23(\271\302*\211\210h\332"
+"\36\376IDD\327-\361(\326\350=;\266\232\325\211\260:\327\230S$g\217\263"
+"\32WE\336,\363\nd\354A\346\373\205f\226v\273\235\27\263\3474{\213\330\276"
+"\250\331-1\202<\264Y3/\310\6v_\277\324\313\314N\251\203\224\373\261\221"
+"\227\7=\225\33j\3\341\207\\uSJV]\30\364\256\265\366~G\342jo\232\21\272"
+"u\302v\33\24\332e2\307T\2737\271[\206\276Kr\2208\346M\212\320\211\3N\177"
+"\16\2761\243\2359!\374B\210*h\362\351\240\257)\77J\\\3136\1\366\304b\312"
+"\347\376\233\300\225+W\256\376\263\376\2\22\331X<q\343\fe\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2!IDATx\332c`\30\5\243`\24\214\202"
+"Q0\nF\301\360\7nk>\375\377\377i\235\77\31Z\35\237\377\207\201R\204(\367"
+"\274\17w\222\t\352\355\377\217\f\262\241\242\21\377\377\377\377\377\215"
+"\207\200\336U\377\321@\243\34\3\203\305^\b[\26\277\336\332\377x\300s\2"
+"\26\303\25\376\304\2429\4\277^M\210\252Y\242\f\f\f\301\327\320\364V\21"
+"\260\230\363\303\377\377\377\77[By\316w\221\365\246\22\f\353\300\303\227"
+"\353\221\270~\267aZ/\252\222\21\353j\355\27\377\376\177:\337b4\353\214"
+"\\\300\210GN\305\317\321@\212\351\315\265\243;\17\22\62\206\313\312\337"
+"\317\24\301ek\371\201\224\256\367{\343\323*\270\1\242j6\224\337\201\236"
+"\35\77\6\23Q\200\354f```\260x\201%7\357\306\251\371\16\\\315l\31\351v\354"
+"\5\311o\\\245\320D\204\2327\270\313!1\34\2721<\371\377s\237#/\3\3\3\203"
+"\240\357j\230\320k\\\16\27@-7o{!\311\261,\203\212\316\304\351\357=Hz\313"
+"\321\344\342\240\34228k\31\204^\7\f\3110\210\304\22\234\16\207\3535\304"
+"\35\244\4\13mW<\262\16\4\64\343(\237\247\374\377\377\377\377\377\36\374"
+"\232\257\342\220\265\376\377\377\377\377\377\'\361k6\300!\313\366\377\377"
+"\377\377\377\277\340\325\374\216@\220 \t0a(\331J|a\200\251\371\16%\232"
+"\77R\242\371\17%\232\377S\242\231aT\363\250\346Q\315L\224\30\207\251\224"
+"\207<\315z\f\f\f\f\f\332\270\224\212@\353\25\354\262\263 \305#;\16\315"
+"u\20\351Jlr<\23\240\25\306us\254z\223`\225Q\f\206T\36r\243\376g7\33Fg\353"
+"&B\372\274)\252\334\6\264V\301\3^T\371pTiwd9#\2146E>\252\346\243\250\262"
+"\233\220C\373\27\2067~\221\300]\200f\361\5\334\215\206\377\377\377\377"
+"G\13\322\310\375\177\221\264\226`\270Di\6\274]\367x\202\370h\233}\24\214"
+"\202Q0\n\206$\0\0\370z\252\231\237e{\37\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\2\322IDATx\332\355\227mhNa\30\307\377\233\355"
+"\261\366\3411YV[\210PLdV\233\327\r\245Lj\37\24\373@\26\31J\371\304\7\257"
+"-%\304\b\231\2105\22\243\354\353\322\224\246d\357+\26\236h-yi\321\330&"
+"o\355\357\303}\316\363\234\363<\367\313\263;\37\224\363\377\364t\377\257"
+"\3379\367}\316u\235\353z\200@\201\2\5\n\24\350\337\3268\331b\356\201\212"
+"\314g\266W|L22\315\216\315!I\262\314\216\376-\350]Vg\36]\5\0X\227\321l"
+"s\353\373\342\326\274e\265\361\333\16\375\304\212>\343\320\37\3026\364"
+"^\207\346l\33z\203K\317\261\241\213\34x\310\352\334y#\202>h\227-]$\311"
+"F\225\235\252\205\27^\1\200\16\333\32Yr\267\365x\360\355\371\317\225\242"
+"tJW\26\347\347\246\fE\332\37\65}\32\323%s\253\373\351\325\265EI\243k\272"
+"\230\240\201-I\241\5\317)\325\300j3{\221J\3350\240\223\372\250\321@\236"
+"\216]\20\13\354\332W8\36\0\302\313\253#\261\325BM\355G\203\216ex\327\263"
+"NF\215\2\25;\331\215\270\220\350\235s\275l\5\374\326\361\213\245\'r\276"
+"\206}r\366\262p_\253>km\302\77/\363\n\205\367F\375HZE\304|\211\365BX\351"
+"\232\227\361\225$\331-\311I\301\226\350\336\344<\21S\232`t\222$\353\364"
+"9T#\357\273\331\342\242\251\206\f\24Q\341\270\216\261\r\0pu\324\0\237\5"
+"\0l\227v\245\31\306B\'I\266\311\366\223D3\375L\222\364o{\42\0\340\216\31"
+"n\0\0L\360\301\371\0\200\7f\370\241xg>x:\0\240\307\f\367x\302]X\324\312"
+";3\374\336\23\356\302ibl4\303\277\0\0\351>xD\24\275\31\26\217j\330\7\213"
+"\r\3172\3033\275\347s\340W\0\200\245fx\261\'\334\237$O\315p\2137I\\\375"
+"\220-\252*\343{\\a\210Y\313\330S6z\202c*#I\366\233\340\227$\311\265\362"
+"J]oh\201\224\237\256\306w\32\205\276\220$O\'\254\207\304E\257\353\330Z"
+"\21\223\226\350\234\22\316\36\65\273SD\234\320\374!\252T\261\233\205\377"
+"Sj\226P;^\357w\354\25r\373\210c7g$z\351M\216yX\265\261\233n+<\32\357\34"
+"r\235z\365#\271\27\355\303\365\236VYT\27]n\320\315a\265U\261\337\275-\275"
+"\37\2213wY~l\351\322nm\32T\351f\222\35\246\354\235\332\243B\273\247$1\210"
+"U\f\313\320\241MI\216\200\345\35\361h{\371\30\206\317Pe\343\240\13\16\66"
+"n\r\215u\352\5\220\225\211o\203\301\77\203@\201\2\5\372\313\372\3\324!"
+"\277\b2\352b$\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<"
+"\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"\326IDATx\332\355\227MHTQ\30\206_M\'iaFb`\24\24E\320D\241\rh\277\32A`\20"
+"\b\21\325\242H\222\254 pU\233,\221\240\77\302\242\42\213(\261\210\262 "
+"\27m$\n\312\205\224\3268\213$\223B$\372A\212)\265_\351mq\356\235\271w\346"
+"\234{\356\\Z\2648\357j8\357\367\3349\347\236\363\235\357\273\200\221\221"
+"\221\221\221\321\377\255I\276\2426\325\227\367\217\5\373\203\331\3$\37"
+"\7c\253H\222,\n\302\356\21\354D\20\366\250`\331\20\200\275a\261w\3\260"
+"\335\26{3st\352\7\213=\2259\273\300BY\2379\33\266\331\215\1\326\373\335"
+"b\313\2\260\215\2\35\237\31d\203\357\221$\243^!\331J\247\27\0.\225\4L\270"
+"c=\267\227\233k\307\b\310R:\225k\312\303\305Y\243\203\275\217:\77e\364"
+"\310\342\246a:ue\251ot]\224i\32\331\356\13-}A\251F\326\352\331\363T\352"
+"\232\6\235>D\17\215x^\fK\222\201\321\375\221\311\0\220\277\252i09\32Q\263"
+"%\211\240#y\316\361\202\23\t\243T\305\26\331\21\347\322\2753\266W\250\200"
+"\337Z~\271tE\343\302\34\222\263\27\205\373Zu\255\365\b\377\254\314\213"
+"\b\357\215\372\225<\25\21\213%\326Ka\345zl\306W\222d\237\344L\n\266\302"
+"k\'\27\211\230\3124\3439I\262\325\373\f5\223$\273S\207\13\305C\2635\'P"
+"D\345\247T\214\235\0\200\313\1774\360i\0@m\312\250\310\302\271\332D\'I"
+"\366\310\3463\252O\272\317$I\367\264\247\1\0n\351\341v\321o\270\3400\0"
+"\340\276\36~(\366\314\5\317\1\0\304\364p\314\21n\303\42W\336\351\341\367"
+"\216p\33\316\1\0\370h\21\177\3\0r]\360\270Hz\37\255\31\0`\314\5\213\t\317"
+"\327\303\363\234\353\263\340W\0\200\25zx\231#\334}H\236\350\341.\347!\261"
+"\365S6\250\312\214\37)\211\321\1\0\320\326\224\315\216\340\244\326\223"
+"$\207u\360\0I\262J\236\251\33\64%\220\362\3255\273V\243\320\27E\367\35"
+"\22\17\275\352\305\266\210\230\234t\347\244p\366\251\331\335\42\342\270"
+"\314\233\20^\215\212\335&\374_R\263\302\2526\7\345\354\1\313^-\267\17["
+"\366\203\274t/\267\3232\17\251&v\335.\205\215\251N\203\355\264\251_\311"
+"\235D\35ns\224\312\262\326\304p\273W\37\326R\227\374\335\337\325\377\21"
+"\63\26\256\f\'\207.\354\365<\6u^=\311.\355\307rL\205\366\315\362\321\210"
+"m\35\223\241\243[|\266\200\325\317R\321\336\352\f\232\317PMG\334\6\343"
+"\35;B\231v\275\0\n\246\340[\334|\31\30\31\31\31\375c\375\5\257\323\305"
+"\264\250\206vI\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"\371IDATx\332\355\227KH\25Q\30\307\377\232\232\2640#\355aX\24\265\311J"
+"2!\245\207F`T\4bD\266H\222\42#hU\324\246\27>\26\25aQ\221A\230X\233$\352"
+"n/Q\21.\302G>\26I%\211H\17\344RhjT\212\377\26g\316\2753s\317\314\231\221"
+"6\305\374Ww\276\377\367;\234s\347|\347|\3\4\n\24(P\240@\377\261f\271\272"
+"\231e\271\303\23\63\34\271\205$\37\317\b];M\241\r\376\331rFU\351\227\255"
+"\241I\365\376\330\20-z\341\3M\33\240M\243\313\274\262\5\22\231ll\234\224"
+"\277w{c+d~\r\0\324\312\247\223^\330S2\273D<\357\220\317\227\364\354>#u"
+"x\221\214,\216\30\241*-\374I$\206\315\261\247\42\66\256c3\225S\274\42\242"
+"\331:\372-I\226\331\243{Ir@;\355\302\'mu\252x]{hSp\n\375\253Jpt\212\267"
+"\25\344d%\214\365w\276\f\177\3655dV\365\220\345(h\364~\6\226t3N\221\nO"
+"h\336\33*\25\331\256go\321Q\3675\350\374A\272(\262\304\215\315\215%v\237"
+"\316\237\r\0i[\252\373c\321|gv}4\2516\325\34O\277\34\65\362\234\330\5\62"
+"\343f\274w]z\31\16\360G\303/P\256hB\230\203j\366\216p\77$:\214\335!\374"
+"\33*/_x.\347T\273\310X\347t\360\221\311./\343;I\262G\261\'\5[\344\366&"
+"\327\210\234\3428\243\213$\331\344\276\207\352I\222\257\354\341\f1h\242"
+"f\7\212\2544\343If\37\6\0\334\235\326\300\327\0\0GlQQ\205+\264\205N\222"
+"\354P\315gL_t\337H\222\326i\317\3\0<\364\320\232\1\0\346Z\340\34q\223\352"
+"\341\347\342\235Y\340\345\0\200^=\334kJ\227\260\250\225\317z\370\213)]"
+"\302I\0\200)=<\t\0H\266\300\242\265M\327\303\342\257\32\267\300b\302\253"
+"\364\360J\363\372\f\370=\0\300\303\315_hJ\267n\2226=\334j\336$R\277TA\247"
+"\312\370i+\214\220h\34u\354~SrL\273H\222C:\370\35Ir\247\272R\367h\256@"
+"\252WWoY\215\203FI\222W\343\342)b\320{nl\203\310I\212w\214\366\362\204"
+"3{\314\245s\236\322|\312\34\24\376o\245Yd\3346g\325\354\31\303\336\252"
+"\266/\30\366\263\324x/9l\230\347\235&\366@^\205\27\355\3169\3514;\377%"
+"\217\242\367p\263\351\252\334\330\24\r\267\270\365a\r\246\317\210\276\326"
+"\276a,\\\2759\'\26\272}\334u\33T\271\365$Gu\273wi\257\23\332\223\255/:"
+"\34\30W\241c\345\36[\300\322\327v\264\263\324G\363\231R\31\32\221\340H"
+"\350P\212\337\256\27@\372\34\374\30\t\276\f\2\5\n\24\350/\353\17+\274 "
+"R\201\214\260\310\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2\343IDATx\332\355\227]H\25A\30\206_E\315~0#+0\24\212\n\312H2!\245\37"
+"\25!(\250\214\202\354\242H\3721\212.+\210\312\222 *\302\242\42\213P\261"
+"n:Hx+a\20^Di\351!\222\312\f\221JB\212\223G%\313z\273\230\335sv\317\231"
+"\331Y\245\233`\336\253\335\357\375\236\375\231\231o\277Y\300\310\310\310"
+"\310\310\310\310\310K\33\232\206\310\241\207[\'\201\226\f\320\326\261h"
+"tz]\350\375>-[C\247\216X\321r\222\34\235\241a\3\214\321\271l\240\240U\34"
+"gy\263\247\351\241\1\315\215#\211c\22x\2077\273Td\335\231\3`{w\f{Rs\343"
+"\251!\222\341B\353\254\264\327\311\36\320\216\365\266\266WU\216\323-=6"
+"\32\\<\211Y_r!\370\233\237\352\13L\351\374\337JP:\305%\59\231\t\341\236"
+"\216\'-_\'t\311\314\352~\327\262\256[\345\3773\324\31_Q\203{|\241y\257"
+"\345\325<X\252go\252\77\6\3674\350\354>\257O\311\340|/67\232\330y<\177"
+"\n\0\244\255\253\356\211F\363\325\354\312H\322\371Tg<\375R\304\310S\261"
+"s\355\214\33\361\3365\333\313P\300\37-_Z\371\271#\302\354\223\263\267\205"
+"\333\233\250\270v\273\360\257\313\274|\341}P\17\311s\221\261Bb\275\21V"
+"\262\307d\f\221$\273$kR\260E^3\271\\\344\24\307\31/I\222\r~\272\340\323"
+"\330p\206\270h\242\257v\224f\235\331\331\242\367\336\375\243\201\257\2"
+"\0\366\307DE\25.\324\26:I\262]\366<a}\321}#I\272\37{\26\0\340\201\36\16"
+"\0\0f\272\340\34\0\300#=\374X\314\231\13^\0\0\b\352\341\240#\335\206E\255"
+"|\326\303\3\216t\33N\2\0\214\353\341_\0\200d\27<\42\212^\17\213\241\32"
+"v\301\342\201}t\377E\316\367\263\340w\0\2005z\270\320\221\356^$\317\364"
+"p\233s\221\330\32\223\5U\225\361#\2460\232\1\0\332\236\262\323\221\34\325"
+"&\222d\277\16~K\222\334(\257\324\315\232\26H\371\333\325\270\336F\241\357"
+"$\311+q\361\24q\321z/\266V\344$\305;\227\205sT\315\36\22\31\27e\336\270"
+"\360*T\354n\341\377\224\232EV\2679%gOX\366z\271]e\331\255\251\361^r\213"
+"e\236Q=\330}\273\25\236U\376>4\252\207\244)\322\207\33\35\255ruC$\34\360"
+"\332\207\325VF\217\273\333\272\277`\336\262\2659\321\320\255\303\236\313"
+"\240\322kOrP\267z\263\203*\264+\313\307Fl\327\260\f\r\227\373\334\2\226"
+"\275\210E;\312&\260\371L\251h\16\331`\250yo\312Dw\275\0\322\247a4d\376"
+"\f\214\214\214\214\376\261\376\2\36T\31H\344\77\265H\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\372IDATx\332\355\227KHUA\34\306"
+"\377\232/\n\314P\n\24\203^\233|\225\367RJ\226\212 \25\24.\202jQ$EF\320"
+"\2666\275\2206\25aQ\221Q\230X\233$BwY\24\225\240\224\226\272H*\251L\42"
+"\213Ka\251\241\245}-\346\314=s\316\231\307\25ZD\314\267\32\277\357\377"
+"\33\347\2343\343\374%\262\262\262\262\262\262\262\372\257\24\27p*\313\343"
+"\36\336\t\270k\326\247t\3366M\26\232\0\200\311\260\327\315z\17\0\330\254"
+"g\363\340(Ot\347pWO\177\342e\303\242{\227\273\320\261\371\321*\344\n\266"
+"\353n\361\224\307{~*r\207\305\356\260\300\35\226h\340\237\322\341/\251"
+"\33P\266\273\300l\351\262+t\17\335\301\253:D\367\nw#\332\267\235<\315\252"
+"\246\223=\366;\7^b\330%\255\0\320\352w\33\0\340q\272y\307\206B2w\305\252"
+"Y\3660\377c\177I\270\312\312\213r2\343F\7\272\37\265}\231\321\224\231\265"
+"C\20\325\20\212\31\255\354A@\221\2351\241\205/ U\244\302\314^\204R\327"
+"\rh\372 4\212d\351\330\2\267\260\347`8\231\210(um\355\200\353\206\325\354"
+"\312h\321\211\24\321O;\25\r\nU\354|^q!\230\235\343Y\206\2\376\340\344E"
+"\322\'\32g\341\240\234\275\314\3227\361\212\271\273X~^\226\205Y\366V\375"
+"J\236\262\212|I\364\222E\211\232\217\361\35\0\320+\331\223\214-\325}\311"
+"\\VS\26\b\236\3\0\32\365{\250\16\0\320\351\2673\330\244\361\206\35\310"
+"\252R}w\325n\42\42\272\372\333\0\237%\42\242=>\227\235\302\305\306\203"
+"\16\0\350\222\255g\324|\350\276\212w\274\263\354yDDt\323\f7\23\21\321\\"
+"\17\234CDD\367\314\360\3\366\315<\360\42\42\42\3523\303}B9\207\331Y\371"
+"h\206\207\205r\16\'\20\21\321\224\31f-F\242\7\36g\207\336\f\263W5\346\201"
+"\331\202\227\231\341\245\342\3639\360k\326`\232\341b\241\334\273I\236\230"
+"\341vY#8i\354\16\205_2\341;\30-DDd\274S\266\n\305\2566\2\0\206L\360+\0"
+"\300\6\371I\335d\270\2\25\275o\235\347i\24\372\6\08\23\360\223\330\244"
+"\327tl=\253I\b&\247Yr@\315\356c\25\'e\331\24\313\252U\354\16\226\313\273"
+"\346R\347\2669,g\179\361:y|\314\211\357\247\4\263\3046\'<\252Z\330\r~\25"
+"\36\367\'Gx\322\244~%\267\242\367p\223pU\256n\214\332\315\272>\254\276"
+"\306\35\367\267\367\177\246\5\313Kr\\\353\322~\3556\250\321\365${M\273"
+"wa\237\n\355\315\216\241\21\333>&CG\267\305\330\2V=\363\243\335U3h>\223"
+"\252[F88\322\262+i\246]/\21\245\315\246\37#\366\77\3+++\253\277\254\77"
+"\7\0\365c\234\37\63\303\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3\24IDATx\332\355\227_HTA\24\306\77S\37\202\304J3K\242T2\242\226"
+"V\253\245(\242\334\324\220 \372\243\26\5\226\371\22\t\22X\220`>T\24$F\21"
+"D\17J\20\321C\244B\254\225\21\31\375\323\240\2]\311(\241L\2262\254\204"
+"\26\64\215\323\303\314\335;s\357\214k>\5\315\3672{\317w~3s\357\314=w\26"
+"\60\62\62\62\62\62\62\62\62\62\62\372\'\25\363\367\310\352\342_\215}S\34"
+"\356\42\21=\215\222SX\377l\230\210h\264\253a\337L!\336BDD)\23\220\207\337"
+"\223\244\237\'\23\270\23 \42\242a-\31\177\205\24\272\343\1\60\253\203]"
+"\34\325\261\265\244\321\340\215\273\374W\253\6\315\bQT\275\324\260\273"
+"\243\243\364A\263\316U\347\354\337\257Z;\337\rQb\372\312|\277<@ZH9nU\244"
+"\367\236\235b\274$,\f|Y=\347\22\313\377\270\306\341\314\35\265\341\203"
+"Jv\221e\327\270\275&\33>\257\204\77q7W\341}\26\346\255b\253\271\267B\341"
+"\235\21\237\366qE\2\267\374\n\253B^+wB=3N(\330r\307B\237\325\f<\240`K9"
+"S\355\255\320\f\315\267\326\6\67\273\207\23\253\354~\212\34)\217\35;/\242"
+"]\234]\n\0\350\'\42\242G\312Y\227\271\330m\234]\316.\313T\363\316\322<"
+"\307B\316f\313\203dII\254\307oN6\217\263\276Hd\210\210\210\16\260\213i"
+"\254a;\343\241\203\335\330\306\332\365/\42\241v\0\200W\202\323\1\0A\231"
+"]\307;\333$\24\313\240\220n\301I\0\200/\22\353{\302\332\374vq\223\13\351"
+"\26\34\7\0\30\27Yo\'k\267\336\27\243c\0\200X\t\16\3\0\304\372\274\3545"
+"k\267\7\244\351$\n\351\26\314*K\246\260v\374\376\213[\34\5RH\267\340^\0"
+"\300Z;\347-k\367\336t,\200OH\267T o\222\5|}K5\357O\276\374\225`A^\273R"
+"\177\263\313r\27\353aF\274\34e\365\261\31\0\220<\302R\16\271_\223\6\42"
+"\42\n\253k\301\22\0i\274\320Vj\313\215\263\6.d\341\220\27E\374~\253\24"
+"l\35\263\322\235\361\36G\255Q\2259>\302\33\227\341\227\331\332\t\212s\201"
+"\333\351\26\331\13*\266\231y\335\n\313\'\260A\25{\215\354\207\352R\277"
+"\r\37Q\330\355\334;\245\374\3344\332p\235\313\334bY\35\352\217d@\230\267"
+"\243\22\346<\267\214\357j6Uz\332\3\225s\42_\317\352\301Hxd\272\372\4\330"
+"\345qv\27\352\373\21\223\2648Y\\\253\214q\345\300m\2238\2154kN2\267&\301"
+"\356\327\260\247\231\3755\27\310\t\250\321F\335\301-S:`\315\273\352F/%"
+"hO\214\307\210\210\310.\355\330q[\0\307\256\347\251\2618\273\240>\330,"
+"\34`\232\20\233\2355\177\6\r\17\364\6\243\234\217g\337\243p\315\324O\374"
+")\346O\217\221\221\321\377\246\77\237t\244\265\16\23{\353\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2.IDATx\332\355\227OHTQ\24\306\277"
+"\321Q\6S\27\303`:!a\220 \2220\270\20\24\27E\213\314E\2336\22D\220$\202"
+"\13\303\235\346\256\20\4u\21\204\240\33\27Fh\244\20\202BB\13)\212\302\26"
+"\202\3\42\352.\22\7\2641Ie\276\26\357\275\2317s\377h7$\27\367\333\314\274"
+"\363\315\357\236w\347\235{\357y\200\225\225\225\225\225\325\371V\2764\32"
+"\355k+Z1\35r\211\344\332e3\366\42I\222\267\315\350c\207\3564\232s\352\6"
+"\0\2405\264h\222z\306I\315\227F7\376\312\245\77\32\321\303.\375\275\324"
+"\204\356viV\233\320w=\272\306\204np\341\237F\363\276\264\357\320O\314\252"
+"e\231$9\253p\363\364pl\f\0\276\232\256\221\306\351\317\3v\363\2612V\300"
+"\375\f\327FBHn(6\353\372\212\242\374\274@j7\276.1\353>xk\267G\342\2163"
+"\255\275V\321\376\226\261\37\n\346\20\375\272*\254[\237\371C\200\27\263"
+"\340\t\301\237\363\271\202\331\223\5\357\n~p\344 \355\226\13\356\2438u"
+"\203\3\210\264o;f\225\314-\210\266\274\325\300@\311o\222\344\25\325S\235"
+"\324\301x\252\316\f\0\65\2\354\337\303>\351\353iU\273\1\356\374my\372\341"
+"c\0\0\315`\374Kf\13[\330\302J8`\6\363\277eN\1\0\nU\77-\326\302\207\0\0"
+"e\213|G\13\37\0\0*U\360\200\26N8g\261\202\355\253\324\377\1$\311\270\334"
+"k\247\366\270qa\226\311\254~\236\4/\221$_\213Fh!sJ\206\25p\207c\267\345"
+"\306\273\374Gl\257\376\276y/+\370 \221u\272\347\270b\3731\23\365\42M\343"
+"\24\364%&/\306\243\240\373ek.~XV\333\250x<\327\337K_\13\250P\362\361\315"
+"\321\314\325\224|\314[rv\20\0\346\323\227\223\212i_\373%\242o\234&\'\270"
+"\351\5b\312:{\226\203\276\250H[\275\353$\267\206#\2722\275\377\316\3\327"
+"\2367\237\242q\25t\241\30\311}\333\330[YYY\235\201\376\0\'\321\20\2431"
+"\351\336\37\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0"
+"\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2)I"
+"DATx\332\355\227OHTA\0\306\277\325-D\255@\26IE\301 \42\226\202\245Cbx\20"
+"<(\36:\210\7\tDH\214\240\203\341M\21:(E\260y\20B\304\213\7E,\364PBA\202"
+"\210(\241\240\207\320\225\220\362\26E\202\261\272d\341\347\341\275\267"
+"\373v\347\217\273\23\21\301|\227\3357\277\371\275\331\2673o\376\0\66\66"
+"\66\66\66\66\331$\77\333\212\255\3355\233q\2636\252\266I.\232\271M$I\226"
+"\232\270\367\35\367\267\211\373\330q\331o\340N\272\356\254\201\273\342"
+"\272S\271\253\27\276\270n4w\367\212\253\262;w7\354\271-\6\317\233p\335"
+"\233\6\356#G=\2500\351\340\327$\311u%\317\323\311k\0\60\32\61|\347\236"
+"\254\276\250\2653\217\315\377\231\200\373Y\22\16\25 \376\351\203\274\326"
+"\215\262\302\374\274\300\361~lG\2\257/{SF\217\204\2161\231\37\315\42\336"
+"H\341\273\2\214\322\237\313\231\270\302\7\277\n\362|\232<.\3609\37\25`"
+"O\232\274/\360\340P\42I/\n\264+F\335\315\1\204:\2779\260ZF\317\2247\275"
+"\322\310\300\271\237$\311K\252^\235\320\311\30P\267\f\0W\5\331\77{\276"
+"\327\217\247-\355\324\373=\327\341\351\227\235\225\237f2\376\244e+[\331"
+"\312J9`&\363\237\265|\f\08\253\252Z\254\225\217\0\0\347U\362m\255\234\0"
+"\0T*\317)Zy\317Y\213\25n_\245\376\17 I\306\344\254\223\332\345\306\225"
+"\345\347\266~\236&/\221$_\212\240\340mj\225,Q\310\367\34\334\226Y\376\300"
+"\277\304\366\352\1777\357\244\25v\354\245\255\356\31T\334~\314\226{%\267"
+"\306(d-\42\37\214\277\202\356\227\335\271\330Qi\270V\321=\365\13\262\322"
+"\b\25\211\77l\30I]M\313\357\331(w\237\2\300\233\344\345\204\342\261\257"
+"\35\212\352\214\263\311\t~\366\n\324\247\245\301\f\365yY\22\365\356\220"
+"\334}\26\322\r\323\366w\236\370q\270.\213\215\253\220\242b\304\17\354\306"
+"\336\306\306\306\346/\344\4\252\231\27O%t\222\320\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\2OIDATx\332\355\227OH\24Q\34\307\277\253"
+"[HY\7Y\305U\42\f:\204T,^*\351\20\204\31\35\2#(\204(\222\274t\t;\31\235"
+"l\211\212\362\20D\7\21<x\221P!\204\244\242\16\21\30\35:\4\r\204\226\207"
+"\16\26\t\306\232\344\312~;\314\274\335\231y\177ff\13\42x\337\313\314\373"
+"~\337\347\315\203y\374\336{\200\225\225\225\225\225U\34\325\32\262\306"
+"\236\375K\253U\216;A\222\223U\241{Kt\325\221\234=\303\262.$e\207\350\323"
+"p2v\232\1\275H\200n_`H+;\343\262\7\4R\34\35-\212\367\23\361\330s\242\377"
+"\20\0\334\20\255\2018\354U\321\273\313m\37\23\355[\321\354i\257\353R\263"
+"p\262\337<\253\77\22\376\342v\234\365{O]\257\20\3056*\247x\307uwD\321\16"
+"I\366\204\335S$\271\209\355\203Ssy\225\237\1773\335ik\220\325\377\244\224"
+"\367lh\317\324\241\360\351\275\272WGvKmM\252\264\342\314+\302}\257M\325"
+"f\244R\t\177(j\331\273J|Q\n\357\6\n\351\356p\334\352\13\277J\360\363\0"
+"<&\3453\276T\n\7\202%\\\312\323\303k\345\264YJ/94\r\16 \323\347U\3116U"
+"\272\251\345\370c\3\fl\373E\222\334\245\373\253\343&\330\333\35\332t\360"
+"\36\t\256\361\275\317\231\327\323\7\311\361\303\337\223.O\77\274\1\0`u"
+"0\376\344\313\26\266\260\205\265p\252:\230\377\354\313%\0\300f]\327z#\274"
+"\356\236\363u\360I#\274\6\0\320\36Oo\32\341ew/\326\260\327\42\16\275$I"
+"G\235\365\321\270\335x0\233T\321uF\301\257H\222\217\344\240n\266\262K6"
+"h\340~7>\33\366/\373\267\330A\363\274\331\33\60\317/\7oh\275\32X\34\77"
+"\246Z\204\3239BIos\352\305XL{/\2133\316zS\373!\315\3579\362R\345\346\250"
+"Q\341\312\321\207\225\326\204z\314n5{\33\0\236\224\233\343\272\33\373O"
+"\31\235t\179\351\317\302\310i\327Y>\204>\310\226\243\301y\222\213\3672"
+"\306\213\3543\1~\274\1778\306\301U\322\326z\24Vaeeee\365\367\365\33\273"
+"$q\336#\321\272\254\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2QIDATx\332\355\230OH\24Q\34\307\177\253\253.e\36\326E\322e\17\26\35"
+"\304\314\226\25\251\254\203\24a\4u\351\22A\4\212^\274\2047\303\233\21\4"
+"\352A\20A\t:x\211X\221X\260(\220\20#\350\320!h!\304\366d$\n\306\246\251"
+"\351\267\303\333\231\367f\336\237ACDy\337\323\233\357\367}ffg\177;\277"
+"\367\226\310\312\312\312\312\312\352\b+$9\327[C3\323\222\333\322\26\371"
+"\220\16:Y\352\17\0l4y\335x\16\0p\313\3146\240\240\6\321=\356\270f\372\207"
+"3mQt\3378.L\3549w\26\316\n6w\357x\246\27y\216.\360\341E>l\344\303\313\6"
+"xS9\334R\272\222\22\374\6\23\312\333\276j\372\320s\316\2549\321\35s\334"
+"%\343\323.\333f\263\266\313<\366B\1>\35P%S\0\60\345w\237\1\300\373\312"
+"\340\212M\245T\356\371\346b\373c\266:\214\257\336h},B\371\205/\232r\257"
+">V\\\24\332Y\315\316\253\336]\356\357\270G\221\216\363\227\301\257\233"
+"r\374\231\307\355R8\0Qg\374q\\\b\177J\360;\17\374\\\3123B*\205=\36xU\312"
+"\303C\353nzRJ;\2630\235\234\210b\35K,\254U\245%57^\31\233\306\211\r\0\300"
+")\335\267:a\3548\375\372+\23\21\325I\260\3301>\232\353\351\253\344\210"
+"\360\362n\313S\204\377\262\336\2627\230\376\347\312\26\266\260\205\265"
+"pho0\16\354\312;DDT\252\233Zn\204\331z\270B\7\3376\302\353l\331\254\203"
+"\237\30\341\25\326\2135\354\243\204\371\1\0\0\262\352\254#h\217\302\322"
+"*U\324\27\270\301\231\5\0\274\224\203\310k\336%\243\32\270\213\305w\375"
+"~\267\330b{\315\367\215{\36\363\301\212\247\273\373Ry\3711Y\343n@\307!"
+"\351SR]\214[\341\302 \227\311nV\325_\322|=\2553*7\t\215\362\17\257\215"
+"\362\243\27\352s\266\251\331\247DD\323\356\341\204n\23\274&\243i\266\310"
+"\t\177w\214\244\266\316\36\373\320\221j7\352\235\7\220\33\214\231\312\364"
+"\376[\7\3746|eW\377\318\273\365r\312\377\266\13{+++\253}\320\77\f/F\376"
+"\21O^2\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x"
+"\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\6IDATx"
+"\332\355\227KHTQ\30\307\2173\201ZC\212\204\25\245\213\\\314\42+-*K\242"
+"R2\n\354A\4\21BE\17\313T&\241\205\225\30\264\250M\217]\320\242]\17\t+\42"
+"jQPD\21\366\260\332X\212\224\21\364X\364\20\32\f\365\372kqf\364\336\231"
+"{\356\343L\253\270\337f\3569\337\367;\377;\367\236\363}\337\25\42\260\300"
+"\2\13,\260\300\2\263\267\260\207\230\255\261\212\236\337z\313\27\367\2"
+"\217\364\330u\0P\250\303\36\220\354\250\16{R\262\264i\260\227\23\354\r"
+"\r\366i\202\275\352\37\315\373\232`O\373g\243\t\224\230\177vn\222\335\242"
+"\361\177\207\22\354R\r\366\270D\343\263t^\360m\0^9\7\205\24\363/\204\20"
+"\342B\271\346q;\365\374\332\362 \351\3747\226\225\274(\211\26dga\214\16"
+"\17~\350\263\215\314)\233>yR8\314\360\217\276~\253g\373w&l\310\346\20\346"
+"_7\5\374\2543\273\346c\265Mip\2075\240\334\264\267KSBK\323\340E\326\341"
+"<\323uQ\212rE\32|\316\32\60\307\354\2535{\236\254\262y^mqS\3046\253o\346"
+"@\322q%\252x1\265o\223!\13\322|\375\322\361I\375Z\227$\330\2\233L+=\275"
+"jx\212\214Xm\347;*}\352\242[\r\300M{\247\204[]\362\332l{gL\322\312B\r@"
+"\207\312-\341\26\307\252W\254\202\233\235\244\13\1\350T\77O\247\342t\21"
+"\200\22\65\354 =\25\200[N\307[\302\3156\236\363\0D\235\340&\225t6\0w\235"
+"3\213\204\33\323\346\317\2P\352\f\253\244\1\270\347\226\324$\334\220Z\271"
+"\0(s\203\33m\245\1x\350\236O%\\oS\352\27\273\303\7\1\60\322\27|\354%\225"
+"K\351\275\246\231V\0\226y\201\33\0\30I]\256\313[\25\221\322\273\307\307"
+"-\0\254\360\6K\351\77\343c\3\340\245\327\2&\245wZ\236`\225\277&;\236\30"
+"\305\1\336x\257\235Rz\207\20B\210=\0\324x\207\367\233\244\177\1\364\370"
+")\333c\343)Ef\305\365~\340zy\343\225\242\22\200>\177\35\203\1\300X\247"
+"l~7\372\203\367\231\313\346{\277\315\312\250\t\366\335\257\233\244\77\373"
+"\357\223&\340:\377ps\222\35\321i\321\222p\223\16|\7\347\252\251\376L\20"
+"B\334\227\77\307\264:\313\6\67a\'\345\205B\b!\216\350\365\264#n\302\16"
+"\266\31\200Cz\360\273\f\204k2\21~\235\201\360J\0\16\353\301]\31\b\313\354"
+"\323\256\7w\3\220\257\305\356\2\340\243\26[%w\365\3404\357H(7\22\211D\362"
+"\212\326^J\236\344\7\33r\274\245\254\36lm\300\3036\211\241\264v\327#Y\255"
+"\216X\343\n\77s\330.\356\367}bXq\327g\274|\305\212\302\31\271a9\23\n\207"
+"BY\30c\2061\364\355K\360\241\377\17\355/\7:>\354\370\23\347\337\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\3IDATx\332\355\230KH"
+"TQ\34\306\277\31\65\3212l\262`\300ha\312d&\2710\203\210\232^X\210Z\246"
+"\24\65\242\20\224\21-\\\204\21\264\214l\25\263\250D\bjUTPAQbED\331c\264"
+"\26*\201\203\20D\5\222YFf\352\374[\234\2713w\346\236\327\235i%\367\333"
+"\314\275\367;\277{\356\343\234\377\371\346\2\216\349r\344\310\221\243y"
+"%\27\0\300\353\363,\300d\370C\n\'\360\17\22S\244\3256\233\377\231b\252"
+"\266\13\257\217\263\364\312v\327}&\332\376uwER\207\1x\217O\247\16\3+\322"
+"\201\321m\37v\307\266\336\330\357/\16\217\247\3\317\246\3S:0\34XG\231\22"
+"k\327\326\r\276|\374\35\35x\336\33V\234\246\226\210\210\\\6y\352\23\231"
+"\325\323\240\1/\4\0d]!\253:\225p\t\0\264\21_\'\25p\0\310y@\42\215x\5p\35"
+"\21\21=\2561\312\2_\273e\260I\23\27vx\0 \247\262\343}\374h3\27\336\223"
+"\210\336)KxmgbF#\17n0\243\241b\213\337ix\345\34\270\311\304\236\346\235"
+"}\355\f3\377p\274\3qV4 \302\314\356\266:\207bl\223\360u~e\r\212,F\263\301"
+"\236\23\17\244\245\254\305C!\374M6\206\243\215<\242)Y/\203\257\r\3\0\332"
+"\223\217\7\242#P>\367\266\20\21\221\245L\37\224\77iCSDD\224\227t\331\21"
+"\366s[\1_\6\0\324$\301s\0\200\327\252\322s\17\0\260\215\333\363}\25\34"
+"bi\202\13\17\250\340I\0@\tw\271\371\242W7\263\271\3579#\265\272\315\352"
+"f\241\36\3663\tf[\225\312\364\3\0\30N\202\331\5\327\252\340*\0\300Kn\317"
+"kT0\33\372=\374\371\254\212\237\346\320\224\374\300p^\316\326\1\0\206D"
+"\363\271F\n\263\220{D\4K\203M\273 \352\5\2142\324%fW\263\26A\b\3463\21"
+"\35\23\261\271\302t\273\237Tt\301of\237\260Z\215\246\242\177\221\307\356"
+"\214\232}\34o\257y\271\31\363[\374\253\206\307\2131\365\211\13\335\273"
+"\204\305ty0f\370\264\226X\272\25X\5\0\36\377\331\217\361\203\25\222d\360"
+"l_\207lm\237(\224\305\212\26`\311\23!{C\236I|\0pT\320m\265\42\320,b;A+"
+":\326\242\35\342p\370\255\231\374ui\235\360\217(\0\324\336M\334\7\3127"
+"W\225z3\306G\6^<\235\321\212\217NX\237\357\260+\358\313\376\225\304\33"
+"\27\260\222\221\32\274\21\0\260)\245\233/e\323g\310\16\23\215\21em7\331"
+"\306\262\3269w\356\342<\327\264\366\267\206\353\234\262\321[\245\7\207"
+"\270E\347\373J\35\266BP\355\232\264n{\220\313N\25\353=\350G\34\266\177"
+"\273\356\3074\24y\26233\334\240Hd\216@4\363ct\26\216\376\273\376\1\352"
+"u\224\213\233X\b\211\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3\62IDATx\332\355\230MH\24a\30\307gw\203\325ZR,\254(=\344\301\213"
+"\246e\211bQ*Y\4ZQ\207\b\241\242\17\313T6\241\203}P\320\245Su\353\20x\253"
+"\360\240dDE\5I\224aP\324\305J$\225 \213\350\303\203h\273\256\277\16\357"
+"\316\316\314\316\367lt\232\347\2623\377\347\371\315\363\356\314\373>\317"
+";#I\276\371\346\233o\276\371\346\304\2\6ZCm`\340\241N\255\331\236\365\262"
+"\317\356r\25\263\0\177\326k\325\225\23\0\64Y\263\245$\255T\255.\222Uk\372"
+"\253\34\66\251V\37\311*V\354\232T\24%*YQ\367\252\324`\32\\\245\34V+\207"
+"e\312\341F\138fx\30\67TuV\240\f\260\300p\330\365V\177zP\216\32T\2537d\365"
+"\273\345\335\16\'DT\42\254\221\307\222p\221\315,\351\7\350OW\273\1\236"
+"-\261\237\263\25\25Fjye\310_\316\276\371\366\277:FQq^8@b.656b\30\231U\276"
+"l\341\202P\210\330\317\221Q\255g\377\17\245J1\23\325\243\271}\252\200_"
+"\315&\325\32\200]:\270G\33\260VUzK\322BK\364\305%\255)\31\27\\\0\252t\360"
+"5m\300j\265\257Q\355y\261\305\340~\235\237VE\354\323\372V\214\313\216\333"
+"\305&\17\246\361\275\34R\246\363\215\n\307g\363\307Z\231d\363\364\256\34"
+"\341\371h\16\'\233t\255\221\357\254\360\231\27\347z\0\356\30;\5\334e\n"
+"\337\3`\225\2613j\335\373\13\1\3501s\13\270\323\304{\13\200B3\270\303*"
+"u>\0\275\346\367S\300QC_\267]\213\265H\275\30\200\273V\313[\300\35\6\236"
+"\353\0\24[\301\355f\251\303\0<\260\256,\2n\323\351Wu[3\27\251\1xlW\324"
+"\4\334\232\246^\6\240\334\16n3L\r\300\200}=\25p\213F\273\b\300\6{\370\244"
+"\330\206\351/\370\334I)\27\251\217\252\224.\0\252\235\300\255\0\304\323"
+"/7\344\254\213\210\324\207S\347\235\0lr\6\213\324\263\251\363\4\300k\247"
+"\rL\244>\250\271\203uN\341\23\0L\'\317\246\1\3369\357\235\42\365\1I\222"
+"$\351\b\0\r\316\341\343\252\324\277\1\206\335\264\355\371TI\21Uq\207\33"
+"\270E\f\274F\252\1`\304\335\216A\274,\314\367\316\0\260\323\35|L\3356\77"
+"\271\335\254\314\251\340=naU\352/\356\367I\n\334\354\36\356\220\331\270"
+"\227-\232\f\267{\201\357\333\2761\7\315]O\304\3179O;\313V\333Wu\213\314"
+"\353$I\222\2443\336\366\264q\333o\4\346\266\33\200S\336\340\17\31$n\310"
+"$\361\333\f\22o\6\340\2647x(\203\304\242\372\\\360\6\277\1 \327\23{\b\200"
+"\tOl\235\230\325SK\235#\301\354H$\22\311)\330vS^\311O\233\262\234\225\254"
+"a\fm\334\3014\211bj\27l\227\244\305\267\246\255\266\360+\213\351b\77\356"
+"K1\223Q_q\364\3353\177yvH(\301P0\30 1\237H\314|\233\364_\364\377\241\375"
+"\5\1\321n\233\312\7Z\300\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\342IDATx\332\355\227KH\26Q\24\307\317\227\365Q\230$A\365U\213"
+"\240\300 _\264\350aEHa\26Ea\264Q\351M!\266\211\260\250En*Z\230$\211\270"
+"\351A\5\n\245\t&\225\24\364\240\'\21\242A\355\f)\42Clca~\304\257\305\350"
+"\3277s\357\314\275C\20\4\363_\315\234s\177s\17\347\336s\356\35\221H\221"
+"\42E\212\364\217\25\323\31\23\263\247fxL\277F\277~\261\371^\3>j0\263\215"
+"\370\252\3213t\222\2/\363\377\356r#\334\355\17w\233\343\256\356\325\7\335"
+"{(\332_\221\376J+\333\276+\333\352\326R;v\213~W\36\261\202[|\n\261\310"
+"\227H\253\252\317>C\256\330\314\234\371\334g\352\2\253\36V\262!\'{J,#+"
+"\307]\345\255\25\241\362\276\307=u\310U{\342\202+\303\301O\1\270X\371\332"
+"\351!\341`\0\336\213\248S\317\f\303\256\7\240\\D\256\1p:\f\334\221\312"
+"\323b\0\222\241\243vZ|\277a\227)\332\17@\216\210\210\34\0\240\335\36~\13"
+"\60\220\36\205\375R\317sUS;\0{m\341\263\0\304\'\252|b\331\3544\n\360(\365"
+"\372\3\200\271v\354\32\0\312R\357\265\0\324\331\3017=\31\312\f\2232\0\322"
+";\200S\347\3056\354n\0\322\373\3366\0\272l\340\36\200a5\26\233\270g\1P"
+"\353\2625\3Pe\206Oijp!\0\375fx\4\340\215\307\370\1\200\5\306S\3\200]\36"
+"k\25\0\27Lp\253>7v)\3\240C1w\2P\32\314\356\4`\253b\337\f\300\203`\270\17"
+"\200\204b\317v\342\216\5\335\0\23\371\42\42\62_\201\307k\252&h\342\363"
+"\316\4\17\227x\354\213\272\34\307H\320}\373O>\223\311\324slr<e.\354\363"
+"\235x\35&\265\370G}\307\bcX\344`m\367c+,\340\27~\360+\13\230\270\236\235"
+"\356x\273Wk\275E\367\34\3671=|\2\200z\337\214\324\1\60\244w\16\252\375"
+"\307\255a\0\362t.\347\34\257\16\200\367)}5\245K\346\222\365_j\0n\7\302"
+"\327\1\330\241:\312\0(\t\204\13\1x\251:\36\3334\232!\0\62\275\346i\0\64"
+"\33\340\343\0\234\364\232\235\243p\225\1N\0\60\246Od\226U\177\244\334m"
+"t\256[\2540\260s\3067xvz\207\32\337\267\274\333\30|\42\334\237(\217\324"
+"=\270\364\231\253l\222w7i\270\370\231~wuu\26\213H\361U\265\354\216*\354"
+"\214\1u\324\345\265\322\246\251\331A\5>\254+\355\33\223F51\216YXD\344\247"
+"\344\327\253\237<\250\16\324\374\315\237\313\23\221\334\246O\351\266o\255"
+"\332\5\253\351q\221\37\233r\243\277\330H\221\42E\372\337\364\33\376M\376"
+"n\367\313\2209\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"\200IDATx\332\355\227MHTQ\24\307O\243\346\320\207\3448\204}\320\367+\3"
+"[\f1J\320D$4\21\202\4\21\201\5\25\255\254@$$\302\2426A\224!\330\42\20q"
+"QD\264h\321BzP\213\204\210\2\213!\262\42\32\211\331\344\23L\rqd\224\177"
+"\213;\317y\363\336\275\367\335y\321\246\356\1775\357\234\373;\367p\337"
+"\375\337\373\206HKKKKKKK\353\177\326\22o\250vu\270\314\25Z\310Z\77T\252"
+"\365@\240\36\177\266\27B\365z\6\207\\\317qq\335\6_\330\24\303\246\177\337"
+"m)~\323\251szw\375[\306`\252ol\210\31\253h|\344\365\213\347\245\24\64\332"
+"\237\315\25m\220O\252\33\344\350 w\203\335R@/\210M\225\364c\257@\242K>"
+"\360\264\fF\227\34\236\260\307\215\365\267ng\241H\362n\316\216\266H\341"
+"\16\0\310\335ov\205\17\217\345i\371\324\353\233\17T\361\342\367\30|#\330"
+"f\352S\231Z\250\5\0\300\276\242X\231*\234k\42\42\2324\3\315l\0\0\206\3"
+"\366\r\0\310\252\271\312\13{\307\207\376\304\317\312\260\301\211\225\13"
+"\306F\267nXS]9\77me\322\337\211\210\350\242\32\274\274\365HSEQ\344\303"
+"\373\211\335\t\225\366N~\226:K\206\236\207\217\304h]\6\201\3413@i\260c"
+"\301:o\26~O\231\257Rik\216hi\365\332-;w\3057\373\254\324\251\305\352C\307"
+"<\311\212;\322\2667\332h\377Jn~@\6\277c\311\361:Ac;$p\202\345\336\372\270"
+"\212\17\263{b\222\2\301,\265\'\20\274\t\0\360Q\302\226s\340\274%\353\331"
+"\212J\340\203b\77G\211\210(%\201\257\211\341y\251\271\211\350l\\\fg\210"
+"\210\250Q|k\367I\232Z\1\0\260D\351N\271\253f\1\0\247\271\271*\263\340\252"
+"(o\300m\226\213I\247\5p\235[=\237<\3569[\262\305\206\276\32\346\320\266"
+"\347\206\179\202\311G\234\363`v\300\360\334\30\351E\303\277\31\32\261("
+"\262-\2667\42Z\300\375/\335\'nV|\370\230\211u]\316\347\307\236r\313\276"
+"\n\320\251\26\42\242\'\216\310\3N7\335\\\326\276+\322\205\20\357\245P\355"
+"C7\371\305\361\352/\177\3\0\214v\327\210\326\342\304\323\31\33\3745\330"
+"\26)\375\2537T\23\306\314O\375\227@KKK\353\357\3507\307\356!h36C\r\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0"
+"\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3DIDATx\332\355\227"
+"[HUA\24\206\227]\224\260H\202\310\214\b\272\30\224%%t/\244(\213\242(zQ"
+"\2514I\244\247\210\212$\262\207\212\36J\202B\204nv3\241\13\225Iw\350\202"
+"\335\13\311\240\240\207SR\24B\330\213E%\361\365\260\3179\236\275g\366\236"
+"\331\217\301\376\237\364\237\371\316l\326\254\265fF$R\244H\221\376_\365"
+"U\234\271\2259\355\332\251\345\305\177\77\32~m&\320\240\33h\4\346\30\340"
+"S\0e\252\277\1\340\254\1~\16\200\352\3\360\322\355\365\361N\372*\42\42"
+"W\275\366M\21\21\371bXy\35\0\34u\273\'\35\267\314\24\177g\32\357\13z\255"
+"i\261\270i\334\274\212\370D>TO\315\20\311(\330\321\221p*\314[\337\210\217"
+"\32m\22\347\242\236\275d\227v5:v\227m\322\216m\365\242\255cC\344\374\270"
+"#\251\350\221q\332Ii\376\374\310E\263\363\262\345\353\233\326\333_\242"
+"\6\242\325\214\213\77\224\335\275R`\307.\323\'\326f+\370\234OJ\317\364"
+"%R\232\201\337n6\330\254\234\371\330g\351\311~\204+\303\26.\312\315\352"
+"\237\326wP\256\27395\225\204\212{\231{\351\220\273\366\320\5\227\206\203"
+"\235\222<V\372\2\200\327\341`\0\336\211Lv\226\36\22\206]\0@\261\210\234"
+"\6`O\30\370r2N\343\1\350\t\375\325\207ED$f\3102\237\326\235\333{\300\331"
+"vN\21\2217\0\35\256\23\304\232\315qU\323%\0\312m\341}\0\244\'\252<\261"
+"mv\372\5p\77\371\357O\0\206\333\261s\0X\3519\77\366\333\301\27<\21\312"
+"\f\23\62\360\334i\234:/\264a\235\253\301\224\24g\5\0-6p\33@\227\346\262"
+"`\301\16\5\240\306\345\325\3Pe\206wkjp4\0\61\63\334\r\360\312c~\0`\224"
+"\361\324\0`\255\307\255\2\340\220\tn\322\307\306.d\0\\V\354f\0\212\202"
+"\3315\0,W\374\245\0\334\r\206\333\1\310V\374,\347\273\323\202.\256\331"
+"\223DDd\204\2\307kjK\320\302\7\235\5\356M\360\370cZ\234\201\356\240\333"
+"Po<{z\222\177\247\365KO\332\371\355\276\13\317\307\244s\376_}\335\bc\274"
+"j\7i\225\37[b\1\77\361\203\237Y\300\244\353\331\201\316\350\255\331\372"
+"\367\326Mgx\233\36\256\6\240\3267\42\373\1\370\246\37\354T\373\217[]\0"
+"\344\351\206\234s|c\0\274^\351\253I\35\67\227\254\377V\3p-\20>\3\300ju"
+"`%\0\13\3\341|\0\236\252\3\17l\32\3157\0\62\275\366\0\0\352\r\360v\0v\352"
+"\237R\263\fp6\0\177\364\201\34d\367J-v\233\316u\213\351\6vX<\301\263R;"
+"T<oy\2738\370D\270\223(\217\344=\270\350\221\253lzn,\321p\351{c\356\352"
+"j.\24\221\302Sj\331mU\330\301\35\352\254\23\363\264\357\335N\5\336\244"
+"+\355\363}~i\276\361\217\205#\42\277eR\255\372\223\225\352\304\327\352"
+"\254\3y\42\62\261\356s\252\367\275I\273a[\332\\\344\247\272\211\321+6R"
+"\244H\221\3767\375\3\212\356l;\16!\271\35\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\2\351IDATx\332\355\227KHTQ\30\307\277&M\351"
+"!9\272P\213\2363e\240\213IT$\'\42A#\4\t\42\n\213\306\254\26= \42\244\207"
+"Ym\202([\265\b\7\261(#\242\202Z\210\23\265H\24I\2620\311^4%B\346\b\246"
+"\206\250\214\362oq\347:3\367\236\307\235\211\26\301\371\257f\376\337\367"
+";\367p\316\371\276s/\221\222\222\222\222\222\222\22[\363M\216\373p\326"
+";fj\325\236\331\357\222\321\212\0\64\261\2\315\0\212%\360m\0\360\230\375"
+"C\0pW\2w\1\0\314>\0\340u\264g3&\r\22\21\321\23\243\335JDD\77$O\336\17\0"
+"\2007\332\275\245\271\36\331\372ki\370\234\27\266\n\374!S\272y\325\241"
+"D|;\2631\211()\357\\\277\356T\313\267\276\31\34\65[98\17\331\354#k\307"
+"\256\216\305^\260zh\35\355F\264\335\21\303\231w6D\242\rNf\322<>\237Y\272"
+")7\203~\366v<\33T\r\344\177\27w\237s\n\13\\\316\2454\334\327\371\342y,"
+"\3:O\264NG\235\315\17G-\222;[\230%u\325\2z\34\\\225\311\330\363\20\350"
+"\264\4\36\27\301\250\25\303#z\336Pc\345:\315\262\227\335\b\352n\205\20"
+">\t\0\301;\345\6{\373\220\245\356\271\274|k\n\313\277\251\301\227\343;"
+"L^\213\215\233\255Y\0\300f\311\375\314Q\260\204\210h\324\27\327\223\235"
+"\0\200\3568\347\r\0\230\262\332=\215\2609\337\3667\365l\31f\265\375\4N"
+"n\372\332\25\231\251I3\343\201\1\177\77\21\21\235\262\6/\252\334Q\222\30"
+"\345\364\276\35\311s[\231\336\276\217\302\312\22\241\307 \21\37\315\36"
+"@\334\360\1 68b\301j\256\204\177\217\371:z\374\201i\242\5\251Yk6\344\346"
+"\257\226\254\224gn\364\266]\246`\342u\341\264W\352h\343\22f\274I\4\277"
+"\321\202\303\331\234\211\255\27\300n-\326%{3d\206\264{b\224\342\202\265"
+"PQ\\\360*\0\300{\1\233\300\200C%\231\243\255\250\0.\345\327s:\21\21\365"
+"\b\340\213|xFX\334Dt0\237\17\17\20\21Q!\377\326\366\n&\265\30\0\20\340"
+"\205k\304U5\t\0\250b\306R|\341\252Jg%\\\323b.\341c\1\\b\216\36\n\3566\365"
+"\226\251\350\202\256Kf\320z\315uo\2130\313\3563\372\301d\223\323tc\370"
+"\347\n\376U[_\200\354\16W\261\235\267\200[^\32;\356\24\277\371\370\334"
+"\313j#\377\77\60\r\267\360\13\7\35\253 \42z\34\341\260>H\353\231\254~W"
+"\370\303\26kS(\343\236\221\374\24\261\365g\277j_z\365i\274\265\330\373"
+"tB\7\177\267\34\261\307\376\326kKK\306\304/\365I\240\244\244\244\364o\364"
+"\7\374\362\217\42\367\250)}\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3-IDATx\332\355\227Kl\ra\24\307\317\275\264B\225F\210z\205\20"
+"\225\350\13\33\352\3214\244\255WH\305\246m<J\210XJ\t\13\66$\26\b!\322\205"
+"W\220\264\t\255&U\264\210W<#\42\255 D*\242$\225\246\265h\245z\27\77\213"
+"\351\275\356\334\357\233\231o\356z\376\233;s\316\374\356\371\346\2349\337"
+"C$P\240@\201\2\5\n\24(\220\245E\365\375$\352\306|3v-Z\3551\202k\3650\5"
+"\216D\370\377\345O\207G.\231DN{\356\20:\317\211\b\305\337\24\227de\244"
+"\204\206\245g\205m\317\324U\370\312\373V{h\237U{b\203+\375\301O\18_\371"
+"\32\2006\1770\0\37E\362\254\320\343\374\260+\0(\27\221+\0\34\361\3\67\306"
+"\3624\7\200\210\357Q\237\21\21\221\16\217\257L\321v\0\262DDd\7\0\r\346"
+"\360;\200o\361\2430/\365d[75\0Pe\n\37\5 5\332\345\321\262\231i\0\340Q\354"
+"\366\17\0\223\314\330\245\0\224\305\356\17\1p\314\f\276\236\220\2414\77"
+")\3 ~\6\260\372\274\310\204\335\2@\374\274\267\36\200f\23\370-@\217:\26"
+"\223qO\0\340\220\315V\3\300.o\370\260\246\7g\2\320\341\r\367\1\274I0~\5"
+"`\272\347\252\1\300\346\4\353.\0N{\301u\372\334\230\245\f\200F\305\334"
+"\4@\251;\273\t\200u\212}\r\0\367\335\341v\0\62\25{\2065\356\220\343Z%\42"
+"\231\271\42\42\62E\201\207z\252\332-\360I+\300\303\271\t\366Y\315\226\243"
+"\317e\255\222\377\371\214Db\327\241\341\2511s~\273c\340\345x\251\326y\324"
+"\267=a<\212\354\256\rNl\205\1\374\302\t~e\0\223\252gG[\336\326%ZoA\213"
+"\345\336\247\207\17\0p\3021#\307\0\350\326;\273\324\371\307\256\36\0rt"
+".k\35\337\355\2oS\346\325\230.x\267\254s\251\1\270\351\n_\5`\243\352(\3"
+"\240\330\25\316\7\340\245\352xl2\321t\3\220\226h\36\t@\215\7\274\37\200"
+"\203\211fk)\\\354\1g\2\60\250Od\272\321\374H\271\335hm\267X\350\301N\34"
+"\372\3003\342g\250\241\357\226\17+]\331\202{\321\366\210\355\203K\237\331"
+"\332&rg\225\206\33s\352\227\275\273\232\212D\244\350\262\332v{\25\66K\323"
+"\234\27\13\245^c\356R\340V]k_\13\17h\306\250\324BJt)\370+\271\'\324\277"
+"\334\231\370\330B]\340\3439\42\222}\2663\336\326[\247\26\354\224B~\77\233"
+"m\270\253+\216\36\357V\217\362}L\\\36\1\340h2G\314\305\0<\230\232\f\33"
+"\356\7\270\233\334\331\366\34\0\23\223\203\255\262$\307npi\267\260\27\274"
+"@DDz\223\203GX\235\227\334\260\255\231\236e\42\42\241\361n\333\n\215\306"
+"\376\266~\37}\312\310\231=x\253\272\323W\350\313f\213\273\203>\307\261"
+"_f\370}\355\306\30\373~\205\277w\26\21\231WU8-\245\357G[K\203\4\n\344O"
+"\377\0\200\362\24\302HxE3\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\274IDATx\332\355\227]H\223Q\30\307\237\325\226aeZ\13\262O+"
+"\3362X\340\n\33\21\23\311h\42\202$\21\201\4Y\335U\20%\26aQ\20B4\273\352"
+"\42\20\221((\202\352\252p\220P\202\4\202\305\b\265\262\26\61\275p\222_"
+"\4\316f\374\273x\367\361n;\347\354}\317\356\342\374\257\266\3479\277s\236"
+"\367l\377\363\234\227HIIIIIIIIIII)M6^\302\345\331\357\326\212ir\370}\357"
+"\33+\23j\27{\26`\324\3109\223\344\261\327`\351\256\t\364\2\270\362\345"
+"b\257C\240\2539\3409\21\21461<\225\30\67\321\325\264S\17\255\361\335\217"
+"%\242\rB\370\22\0\304\36\325g\204\353&\342\264x\351M\365\207\212X\361\7"
+":\334.\367g\3524\2634W\177\1\0Ui\261\245f\341X\r\21\321L@je\r\0\60(Y7\0"
+" j\316U\331p\366\370%\371\370\3314\2541bv\316X\347\216-\245%\5\213s\221"
+"p\350\'\21\21\265\230\203W4\35\255q\244E>}\234\332\3475S\336\311\317Bg"
+"\211\320\363\310!>Z\36\2064|\32\260\6\33\66\254\365N\352\363l\240\77\30"
+"\212,\20-+\331\260}\367\236\312m9v\352Tr\366\276\343YI\307=a\331[\23h\327"
+"*f\276[\4\177\320\223\223\345\234\302v\t`\257\236\33\310\341*6\254\367"
+"\211\31\222\202\365\324\1)\270\f\0\60$`\355\f8nI\227\276\243\2\370\b\337"
+"\317N\42\42\n\n\340\233|xQhn\42:[\311\207\303DD\344\341w\355NAQ+\1\0\21"
+"^\272U\354\252y\0@33W\24H\271\312\311\32\340\327sn\341\262\0n1g\217\'O"
+"d\235-\321tC\337X\316\240\23\236\33\2545\4k\2372\316\203\371n-\253c\204"
+"\222\206\37\350\33\371e[\247U\34,\344m`\365\273\314\23\67\312\77|\2\336"
+"\215m\306\357\317\262\246+\34\345\240\263\rDD/\f\221\307\214j:\230l\242"
+"W\204R!\326\217B\353\237d\222cgR\331k\337\1\0\77:\326\362.\262\227\307"
+"\r\350h\265\325\306\351O\262W\254w\335\303\361m\237vK\264\354v\235\275"
+"-\323\356\353\0\0\375\232\fk\217\2@o>W\275\322<nL~9\266\21\0\340\221\273"
+"\r\355%\42\242i9\270\200\210\210|re\307o\7^\42\42\233\323\342K\331\352"
+"x\257{\373\245\330\245\375y\3252fi\351\207i\246j\264X\370W\3\373\255\314"
+"\352c\277L\262C5\326_D+\232\2536;~\217\7{\236\253\27\365\377E\377\0\177"
+"\334;\354\223y\227\304\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\366IDATx\332\355\230]H\24Q\24\307\217\333\207\325.e\26\201(\352"
+"[R\21\232E*i\21H(\22\205TOQ\321K\201\204Q\26e\221o!\26\370bAa\365b\204"
+"/\212\b\366\324\27Fh\205\245&\32meYDE-jm\212\372\357\341\314\254\353\314"
+"\235\231\235\263=\305\234\247\335\363\277\277{v\346\236{\3579K\344\231"
+"g\236y\26\257\315\213i\324\236\312\274\201qY\200\364!\0\217dl\t\0\0\253"
+"$\354Qf\247$\354Efq^\300\336\326\330\26\1\373Dc\357\270G\227}\321\330\313"
+"\356\331\325\32\212J\367\354Z\235-\27<oXc7\13\330\32F\177\245J\26\270\35"
+"\0\320c7\304g\251<#\42\272\236#\334pu=\255\333\376\313\223$\301F[\222\274"
+"`\352wh\332\375\244\33\353^\351\t\206\327Ww\270 \227\327\303hm\5\261\241"
+"K\233\241\262we\234x\275\35\271\326l5\254l`oZi\37\200\220\25\32\350\203"
+"\263\35\326\6\317\237\313n\352\216\372\322\37548\232\230\272\256`\2451"
+"\302\366FU\334\342\310\344\341\232\364YwQ\343\334\310]*v\213\256~\333i"
+"\224\16\216G\301C\n6E\27O\253f>\33\365\342\25\362\bK\23Y\352w\271&\2\177"
+"0\213\r\254\274\261\\D\2775\234c9k\30424\370\275I\31da\221]\362\35\323"
+"\222\335\350\337\305\376\255\366\251;\251^\252a\0\300\25\207\274\77\2\0"
+"h2x\3638\260\343\256\1\0\34\628[\1\0U\216p\5\200\237\312\31\21\303\206"
+"=\376\242c\203\262th\222\35e\234\371\2052\370S\254\277\332\362%\366\273"
+"\245\370\256ZLDD\367dp&\237\34\628\205\263[\6\257 \42\242\3172\330ODD!"
+"\31\234HDD\23\62\230\13\347i\31\234 \313\16_<\3673\3033\262\211\30\340"
+"bz\241\f\376\303w\253\f\36\215\3123\327\360W\256re\360G\276_\343\331\317"
+"=\302R\n\242\\\321\326\366\1\21\21\345\313\332\301@)\21Qb\213\350\231\3"
+"\210\347\4|\t\08!\203\313\343\n\315\355H\275\f>\300\241s\235G&\'\231}o"
+"\271\376r\354\266\272\201j\2237\233C\77\266gw\3\0\374&\177-\323\355v\354"
+"~\36\243\370\341\317Y\351\264\271\234\255+@\37\227+\30[o\301^\323J\251"
+"b\225\230\251Wi\265\312W5\254\251\27\324SgE*\304\nS/}K\227.Y=T\332X\4\277"
+"\21\335U\224\335\215\370\317\331\264F\17\213f\77\7;{G\302\376\214\354\302"
+"\250Nv_\263\335j\234\261k\20\6\235\32\342\214.K\266*\206</\t*\321\206\30"
+"\257\224\3746#\371\375\224\233mVvsD\7\'\357\237Lw\333\210\22QR !\374c\306"
+"\373\347\3173\317<\363\354_\332_\23\316\342\343\355\212\222\t\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^"
+"\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\200IDATx\332\355\227I"
+"h\24A\24\206\177\25\307\300\240A\24\r\306\30M\20w\301%\230\270\200\23D"
+"\24\17*\42\201\bz\23\3\202\21\21\274\4\215\4\304\240\202\13\212^\242\36"
+"\304\205\220\213\33z0.\20q\211\22BP\t\31\5\321\21\t.Q&\212\372{\250\232"
+"\314\f\335U=\375\342\301C\375\307\372\337\327U\335\357\325\253j\300\311"
+"\311\311\311\311\311\351\177\323\260\234#7\326\226w}\223M2\351%\311{2v"
+"5I\222\343$l\215b\177I\330\3\212e\235\200\275\240\331\26\1\333\246\331"
+"\213\341\321\374\204f\17\207g\247i\224\265\341\331Y)v\203\340}\223\232"
+"]$`\367)\364{\241$\301WI\222\317L\366P+\374\4\0\316\314\23n\272\306\247"
+"\315K]\353\311\324\20\243\23Y\21\253\230\235\17\274\357hk\275\33\352\231"
+"s\216\177f\246\22\215%\271\242\233\337\321\253\356*\0\310\213-\260\367"
+"\253^\32t\371\304\343\200\236p\205A\2521\241\245_\3Y>7\260\213\323!7\266"
+"\316T\251(Xs\354c6\355\317\226\245\3547\325\331\306\204\243\201\360\230"
+"\224[\345c\236\n\200_)\357\246\377\262*\255\260\356\355\'\3\233\241\217"
+"7Q9M\346,\2565\303\327I\222\235\266\372\271c\202\213\224a\355u\245$\311"
+"\270\3278M\222<d\257\372\26\222l\360\216\333\362\237\336\247q2\356\275"
+"M,!I^\n\334q\333\266G\275\203GH\222\313e-\2453\227U\233D\222\354\t\307"
+"d\237\30\367e\360p\0@\207\f\36\5\0x+\203#\3528\226\301\352\2125R\6\367"
+"\1\0\246\310\340~\0\300\302\301\344\271O\bw\223$#\262\42\271\5\0\330\42"
+"\2339\246\16\244\301\2744\313ep\23I\362\205\f.VS\357\n\f\254\\f\354\236"
+"\254\260\243u$\317y\207\307\353\256<\335\266<\225\321b\257\263W\3231#\273"
+"GG\214\365\361\332\265\267\337\37]\365A\373\255\276\25\363G\273\237\326"
+"y\315M\257\7\16\272\2\337g\27\r\370\375\365\2233\333\365\372\346\364\1"
+"\373{\252\341\36V\330\223Q\335\217\36v%~F\13g\314/\313\f\271\275\322\374"
+"=\37\4\\H\252\255\211\334iC\353\203*h\304y\3\231\334\235K\245F\17\372\240"
+"gs\377I\231\333\320\236\346z\257\355(\tw\353\5\20\31\235\207\37_\222pr"
+"rrr\372\227\372\13a\332\274\207\242\370G\341\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\3\32IDATx\332\355\227]H\25A\24\307\217&Y"
+"\334[\331\207\220h^\337\222\354\303\214 -\r\2\23\355\22\245\364\361\322"
+"\27=\324\203\4\221\26e\220`BR`/\26\4Z/\275\334\207\24\t,\202,\260\7o\204"
+"\245\21\26]\313\322\300\2142\275q\363#\377=\314\356\336u\357\354\354\356"
+"\334\236b\377O\273\347\314ofv\347\314\2349D\256\\\271\372_4O\344L-\337"
+"0\362K\262\343\0\0\334\223B\327\315\202i\223s\366 4\35s\312\326A\247Fg"
+"l\33\346\250\323\1\272x\0\6\375\364\331e\267\250\310tK\313\264\372\274"
+"\313\36{Xm_GDtY};c\207\255R[\357d\357%\352{\2035\273Oi:\262R\265\244\215"
+"*\246\23\226\3600k\370Po{\304la+6\225;\305\253\314\272\312\212\356\7\200"
+"r\243\265\2\0\6,\247\235\337\332]\317\263\327\7\333\266\272\207P\234J\20"
+"z\27%\315\204\341\274\323\274+=\332~|w\263\304\1\271\264\321\270\237\321"
+"^`\363(\b\200\247\17~\42\42\252\355\355\20\234\21050\323\233\375\31e}\0"
+"\306\314Po\37\254u\\i\2344\227\335\34\324\275\4\237\207\306\223\323\327"
+"\26\2540\216\260\243\2317n\261\326y\24463j.j\236;r7\217\335\246zGw\33]"
+"G\303:\370-\207MS\235\347x=_\320\375x\216{\210\271&\263\371\377r\215\6"
+"\177\212u61\317{\323E\364\230\303\33M{\325\344S\340\217\374\303\13X \n"
+"\276SJ\260\33\355{\230}\2738t\247\370K5\b\0\270a\21\367\'\1\0w\371\311"
+"\315r\327p\263=K\310\325\226p%\200\37\334\36\355\34\32\247_v\344\31L\245"
+"\334o\261)\26\371\205r\360\260\335Y\233\376\304\327N\251D\42\42ZHDD\217"
+"\345\340,vr\310\301i,\272\345\340\345DD\364E\16\366\20\21\321\230\34\234"
+"LDD\223r0\273\262\377\221\203\23\344\242#1\236\374\314\340Y\271\216\30"
+"\60CDD\363\345\340\337,\267\312\301\343\2728s\f\177%\42\242\325r\360g\226"
+"_\343\331\317=\222W)H\305\212\262\266O\330\215W\256\20\365\226\21\21%\267"
+"J}\263\27\361\234\200\257\354\227\77\261\252\210k\350\b\0\340\272\34|\304"
+"v\261\274,%\326\306\212\317\210\25\232\23\4jb\254\271l\350gbv/\0\300\23"
+"co`\364}\21{\210\265\341L\374\5\363t\t\222\263\371\r0\221]W0\261\336\204"
+"\275\245\\\245\212y\316,a\265\2333\250x/\361\273\316\326n\210\225F\327"
+"\222;\252\353\232\331GeLhx\213\276\252\360\77\320\354\27\5\245\321\323"
+"\242\350s\250\253w(\342\361\345\26\246Gm\7\2\242\3258/*\20\372\323-b\310"
+"\327m\312V\333\210\363\322\20\27m\262\231R\362\333\215\344\267\263N\266"
+"\231\377\366\220\nNuVe:/D)\305\233\20\371>\353\326\353\256\\\271r\365/"
+"\365\27+\22<br&\355\213\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\255IDATx\332\355\227]H\24Q\30\206\337\2126aI\210Z\332\262\305R"
+"\242\22*\250DM\242\224\260\302\213\312\b\303\300\350\246\37\b\42*\350&"
+"\302\\\t+\212~(\272\321\352.\243\364\246\377\13\223\272H\5\211\222\220"
+"\220\265\350\7E\244\314b-\253\267\213\231qw\2349gf\217]\4\235\367j\317"
+"\367~\317\314\3319\337|\347\f\240\245\245\245\245\245\365ok\222\314\f\225"
+"-\355\373\246x\341\6\222\274\255\204.\376MC\313Sg\267qT;Se\253\231\244"
+"\263\251\261M\264\2519\5\64=\3061\32\314\364\313\346[\310H]\335\210\365"
+"\273\324\37[i\345W\3@\324\32\35\364\303\36\262\262K\214\361:k\\\353\315"
+"n5S\373\302VdV\277\31\332\355\t\1770\22\37$\307\36\31\261\257^l\310u\212"
+"\247\214h\304\213\356\42\311\262\261\321-$\31\363\234vAck\215[\274\246"
+"\255\251P7\241\377S\23\204N`\355\352\274\234\20\360\356ekKKj\255\363\302"
+"g[\'\351=\231\345\27\255\374H\247\272\313\1 \255H\336\2117\fP\240\206\213"
+"\355$\33%\354Mzi\257\b\315\376\342\311\362\271\200]\231H\271\267+\307X"
+"\212p\351\371~;\355\316\346Z\366\333\n\2731\373\234\'<\335r\313]\314\313"
+"\36\360k\303\273\357>\255b)|\302\260.\211\36\346\2\t<\307p\352\305\253"
+"\270Q\f\337%Iv\312\352\247Y\4G\f#C\6g\223${\234\306\25\222\344iy\3257\222"
+"d\324\31\227\255\177\342=\355!{\234\'\250B\222\344\r\3177n\317\276\240"
+"3x\206$\271F\255\245t\372\231\265H\364\267\225\3314\3216z\242\6O\6\0\274"
+"P\203\323\1\0\357\325\340\0\0 \256\6\377\4\0LU\203\207\0\0\363\324\340"
+"a\0\300\212\361\254\363\220\42\334M\222\f\250\25\311C\0\300\16\265;\27"
+"\31\33\322x\3764\363\325\340z\222d\227\32\234\351\367X]\274J\330=Y G\217"
+"\222\274\346\f\3174\273\362B\331\364\214\25u\371\3428f\322EB\366\210\231"
+"1\303\305\3530\275\343\356\350\372>\323\177\354Z1\326\27\340\247MNs\373"
+"\233\321\215.\354z\355\310\250\77\\57\271]o\276\225\330`\177\315\27\234"
+"\3032bI\325\335\366\354U\357\217`\306\242e\271\266\17\216\22\361\363|\352"
+"q \251\220.\344\1\31Z\345UAS\256\13\310\370a\77\225\32\254uA\257\346\371"
+"\256\364%\321\216\4\67pg\177Vj\247^\0\201ii\370>\30\207\226\226\226\226"
+"\326\337\324\37BQ\27\35\3230\3500\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\343IDATx\332\355\230MHTQ\24\307\317\214\322\24\63\225"
+"}ld\324q\227\224\2129\5)i\24X(C\24A\255\242\242M\13\t\242,\312 \227\tA"
+"m,\b\2546m\334\224\22\350\252\fLp\42,\215\260\310\322\232>\250(Qa\234\301"
+"\361\337\342\276\367f|s\357\233\367\316\264\212\367_\2759\347\375\316}"
+"\367\336s\357=w\210\\\271r\345\212\210<\326\356\275\273=\203\3\274\310"
+"\341\5\0Hl\343\260U\320T\305\200\277\353\3607\347l5\fU\312\337\360\252"
+"\341\35\351\307:\307pR\372hS\245\351\317.u\336\351a\235\35f\214\266/%\330"
+"\224\217\225%\275\0\320\313N\337p\330]\302\377\3776\264\272pq\36\316\203"
+"\326^\35\65\226\305\273[\373\34\220\353\256\303\254\276z{\350\232\36\310"
+"\3641BDD\35c\375\26\31\333\16\225\336\34.i\31\7\60\243B\3\343\310\255\223"
+"\332\313\205\313\331\355\321\214\37\321\347\223\263\276`e\375Fs\13{\272"
+"e\3556\31\301\343\35eisc\367\362\226Gd\354N\335\373s\277\331u|>\3~+a\213"
+"u\347\5Y\344K\31\3/q\307\204+Q!\37\313\315\6\374)\333\331%<\357\225\223"
+"\350W\303[\225Q\r\2054x*\3133!\34+\255\222\357\264\226\354f\373\1a\337"
+"e\235\272I\371TM\3\0n\346\310\373S\0\200\373\346#Q4\234s\325\0\0N\230\214"
+"\17\1\0m9\341V\0\177\244\21\355l\32g^\366\327\232L\315\322\276\330\224"
+"\310\374\6\36\374\305\356W+\7\361\265SJ\324$\253\210\210\3501\17.\27;\7"
+"\17.\26\331\315\2037\20\21\321W\36\354\'\42\242\31\36,\312\235\4\17. \42"
+"\242\24\17\366\360\262\303\233\317\371,\340%^ \1,\22\21\321\n\36\274 \316"
+"V\36<\233\221g\216\341\37DD\264\211\7\177\26\347k>\353y\224YJ\201\225+"
+"\332\334\16Z]b\224*\320J\221\26\42\42\337\3V\237\3\310g\7|\5\08\313\203"
+"\17\345\325t\34\0p\203\7\37\23M\333\270\314\254/\312\266}\20\365W.tK\24"
+"h\317\262\326\210\246\237Y\263\7\1\0\376,{\247\240\37Y\261G\305;\222\17"
+"\177!<C\26\207\263\272\2\364\212r\5s\325\n\366\266VJ5\311\234\345z\225"
+"\326)\35\252i\315{E\36\272\302\250\20[\315\256\265\367t\3275U\247J\346"
+"\f\374N\346\255\42\62`\330/[\\\215\2366\246\237\'\207\306bq\177\250\246"
+"!\230\266\35\351\261\232\215\213V\27\204\211`\216\34\n\215(\3316\33y\336"
+"<)E\273l\36)u}f\362\327y\'\313,r7\246\203\311\'\347\312\30\377\207\25\5"
+"<\361\337K\356}\335\225+W\256\376\245\376\2\320\5\310\370\31\211\255T\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0"
+"\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2gIDATx\332\355\227"
+"MHUA\30\206_\213\256\302\245 \22\222nb)\321\257-\362\277\210\272\22R\264"
+"\250V\202A\356\302 \210\210\240M\204!D\21A\77\24\255\254v\25!.\372\241"
+"\26)\205H\201DID\2107A\352FH\77.\356U\272\275-\316\271\236{9gf\316\371"
+"t9\357\3520\357<g\346\314\367\3157s\0+++++++\253\5Q\211\336nK\226\f<\223"
+"\275\271.K\2223\365\22\266\226\256j\5p:\17\177\213\316n\345\234\266\4\367"
+"X\244\206\233\275\307\226\310\360l\340cHUz\323\256\214\376\321CyvH\260"
+"\332\2459\207\315\225\212\262\244\237$\373\305\351\333\330h\267p\310\375"
+"\34\333\263\253is90\371axp0\332n\274\376\213\205J_\252\16\213\36\371J\277"
+"\306\332\1\240,Y\247E\367MQ\241\7\67\336\222\354\323\260\17i\3221\25Z\363"
+"\307\310\362\235\202\335\356uyzt\223\23\212\212\375\327~\24\323\301lC\336"
+"\236\350(6V]5\302+\362n{\200y\313\0\177v<E\225o\325\302\27\34\353\246j"
+"1\327k\340\325\216\323\253\216\342\1\65\374\204$9\252\313\237\227*\330"
+"-\226\t\35\\C\222L\371\215\333$\311\313\372\254\357#\311\36\177\273.\376"
+"\336>M\221\251\305\276\346\35$\311\373\306\35\327u<\356o\274B\222\334-"
+"+)\243af\255\22Ir<\32S|J\276\222\301K\0\0\357e\3602\0\300\244\f\216\1\0"
+"\62\62\370/\0`\251\f\236\6\0\254\225\301Y\0@\375|\342<-\204\307H\2221Y"
+"\222<\7\0t\312FN:\7\322|>\232\3152\270\227$\371I\6W9C\2372vl\335\251\254"
+"\236l\321\243gI\336\3657\257t\253\362\6\335\364\234\210V\371\235s.\235"
+"T\262g\334\36\345\1\336\210\353\235\17F\367~w\375\201\300\214\371\347\272"
+"\77\17\372\315\303_\346\16\272\n\303\25;\333\275\246\260\\\37z\344\35\260"
+"\271u\212{Xb\274 \273\337\f\177L\317\306\23\33\2675\24vy\321\246^\317\327"
+"\206\13I\2076\220\'uh\267\361\202\177OAfN\207\311\324\370\305\0\364NS\370"
+"\77\262\236\21\217\233z|\242:\362_lly\31f~g`eeee\265\220\372\17_\243\243"
+"\271\25g\373\372\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\3(IDATx\332\355\227MHTQ\24\307\317L\222\205SN_\204(\352\252\244\302L)"
+"T\322 \220P,\212\2406\205I\21\25\22\212\231\244a.\223\212\332X\20Y\323"
+"\242\215\233B\2[\365\1\26\250\210\251Q\323\307T\226\265\310HQa\322\322"
+"\177\213\363\336\314\363\315}_w\\\305;\253\367\3169\277{\337\273\367\234"
+"{\317!r\305\25W\376\27Y\24\253Z\333p(y@\340ZY[\360f\302j\274\307\0F\267"
+"\351\265\371c\0^X\261~\0\0\252\347kkX\233bE\217\262_@\253\273\313\272\77"
+"\226\313p\234\35\321\357Q5\336\1EUo\275\210\227\24Wd\363\373f\365=`g\13"
+"\352U\357\223DD\247\324\267+\3666p\257\352\377\241\251)\244>\37\263\273"
+"\375\353\246\241\227|\7\321\323;\37}\237\344(\366ni\331v\247\221[\35e\33"
+"\235\307}\211\312\356\226\311\32\1777\0\364\2551\262{\314\361\255e\236"
+"\316n\367\354Y(1_\355e\t\263Ss\316\7\315\275\330\37\211\257w7v9 W\\\215"
+"\311\251\216B{\350\362v\210\344S9\21\21\65\17v\346\31\263\2150\222\327"
+"\7\322\312\206\0\214\33\241\276!X\313Q\3059A\27\313=\232\227\236\336\320"
+"Db\352\246\302\325\372\31v\266\231&!\302\315\351Quq\333\374\231\205\251"
+"\262]\265\216\356\321\233\216Li\340\267\2\66\5fg{\203f\341\5\346\21\66"
+"Mg\211\327rC\4\376\22klU\216j\303ML2\206\267\30\216\32\221\f\5\376\34c"
+"\t\262a\211Y\360\235V\202\335\340\206\331a\36\2723\342\255\32\6\0\\\267"
+"\210\373\23\0\200{\372\252\201\'\266\314\32\0@\245N\371\0\0Pg\tW\1\30\23"
+"\216\b\33\t[\363\2623W\247*\25\376\213M\341\310/\222\203\277\331\375j\303"
+"E|\345\224\362\22\21\321R.\375\344\340L>9\344`\256\n\203r\360*\42\42\372"
+".\7s\2513.\7\'\22\21\321\264\34\314%\373\254\34\354\221\213\16o<\3673\303"
+"sr\3\61\360\227\210\210\26\313\301\277\371n\225\203\'4q\346\30\376ADD\353"
+"\345\340\257|\277\306\223\317\375\222\245\24\244bE\331\333\247DDT \327"
+"\210\372\312\210\210\22\357K\375\263\17\361\234\200\334\360\325\312\301"
+"\373\343\232:\f\0\270&\7W\360\324y\326\236+\375\261\272\217\\\177Y\241"
+"\33{DmV\16O\375\334\234\335\7\0\210\355\r[\230~h\306\36f\37\301\207\367"
+"\261\245\313\344r6\256\0\275\\\256`2\333\200\275\251\224R%\42c\246Z\245"
+"\265\b\227jX\261^\20\17\235\25\251\20\253\364\246\344\200j\272l\364Si\223"
+"\21\374\266\266\253(\177\24\321\2377i\215\236\25G\237C]\203#\341\244\214"
+"\234\242\324\250\356\240i\37~\316\254A\b\246Z\304PF\267![g#\316KCB\264"
+"\325\346\225R\320\241\'\177\236u\222f\345wFTp\346\311\231t\211\266\337"
+"\357\363\204\177\315\221+\256\270\342\212+\13(\377\0\363q<;\340_l\253\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0"
+"\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\303IDATx\332\355"
+"\227[H\24Q\30\307\2775\332\204\2452J\2626\261\224nB\6\225\251E\324JE\27"
+"\42{\22,\212 $#H\2210\212\fC\210\256\320\205\42\b\\{\313\b\237\312(\250"
+"$\2116\311\262\244\2426\267(\302X\304\322\207\325n\377\36\316\214;\343"
+"\3149gf\354\241\207\363\177\332\371\376\337of\366|\337\271\f\221\222\222"
+"\222\222\222\222\222\275\306XCS\17n\233\330i\223\272\263\272\350u\277\354"
+"~\367\0\304\227\216\214\26\366\1x$c\323\0\0\2504G\253Xt\232\214\216\263"
+"\274\2601\326\310b\77\245\303P\316\22\361\314\247GR:\265P\215|\20Oj\251"
+"\310c\327\13\365\353\260\223\22\324\350\331\25DD{\364\253\323\316\nX\242"
+"\347Gkk\337\353\277w9-\377\234!\214T\241\213\356i7\243\357\2\256z\357\212"
+"\221mr\333\271\225I\366\220\373\276_\243\263\233\274\314\232\264\b\0<M"
+"\347\371>1\236\277\301\327\22Qk\317\177!~\251\374\253W\26\344\246\23}z"
+"\31imuu\317\5\347\277\231\346E\317\211l\247\350\366/\260*ZJD\224\32Z,D"
+"\327\367\202\243\246\13\355\0\232\5\354u\310T\301Cs\372\245,\236s\330e"
+"\311\224\226\362\\V\212\214\215\347\342f\2323\211t\373c\231\331\230~V\n"
+"O\326\335R\33\363\222\4~\313\274\333\366\257U,\204\2171\353\42o0\347\n"
+"\340\31\314i\340Wq3\37\276\5\0\350\22\365\317}\36\234\311\214\240\b\316"
+"\1\0\304\254\306e\0\300)q\3277\3@\2755.\252\177r\236\306\200\230\365\34"
+"\263\34\0pM:\343v\357\265\331\265\316\0\0Vy[R\272\234\2745O\0\200nwL\212"
+"\351\352\2417x,\21\21\275\360\6O \42\242\317\336`\77\21\21%\274\301\277"
+"\210\210h\2747x\200\210\210fy\203\7\211\210h\311h\352<\340\21\216\2\0\374"
+"\336\232\344\16\21\21\355\360\366\344\20\333\220F\363\247]\2350\rj\0\0"
+"\274\361\6g\261GWK\23\213WpWO\24\211\321\303\0\32m\276\247\264Uy\236\350"
+"\365XE\263\254\316\21\215\16q\331\3Z\306\24\33\257C\363\216\332\243\353"
+"\276j\376\3\333\216\371\243\271}%Vs\353\207\341\215.\303\366\336\231\303"
+"\376`\335L\343r\275\345Fr\203\375=\233s\16\13v\33\272\373\311\343W=\77"
+"\2\301\371\213\362\215)w\327\362\307\263Mr )\23\26\262J\204\326\311:h\334"
+"U\16\231\330\357\244S\3\307m\320p\201\343N\317\253\357Hr\2757\367e\273"
+"\376@\361OJ\245\241\357\tRRRRR\372\227\372\13\361y\26\366\215\352\306\16"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\265IDATx\332"
+"\355\230_\210LQ\34\307\2773\313\213\77\231\330%\21\32%\177\26\273[\326"
+"\370SD\22\302*\36l\373bvS\273\222\325\306\212ZJJ\344O[\336\366a%\204\254"
+"Z\211\42\66i\263\314\246\215PkVR\36\214\320(\305\226\257\207s\357\316\235"
+"\231s\356\237s\363\242\363}\230\271\347\367\373}\316\371\335{\316\271\347"
+"\234\13\30\31\31\31\205UI~q\312\341\272\t\3\222\260]-\313\336d\275\352"
+"zH2S]hM|#\331\353\305\306H\222l\316\267\356\27\326\251^tF\304u:m\27\205"
+"m\330\363\21\354\26\201|\21\261-\321\1\313\324\352\375\0O[\241\\$\312\213"
+"\355r\247\237\307\337jG7\2@\223]:\343\257\363j\354\370wmmi\373\272\301"
+"o\327\317\371\305B%\2\214\234\347\371\350\340\330@\343\256\303\311^\17"
+":j\233s\354\221\340c~\235\315n\326\2311\261>\222\354/s\213\211\250]K6\341"
+"\336S\363\336\371\7:\364\226r}\3579Z\345\301v\323U\227*\\\330y\364\322"
+"\2535Jx\22\275\365 \246\242\367\372\240Y\247\32\236\13\317\347\362z\377"
+"u\30\0\42\321\321cb\223\235\261\355\373T\2157Z\365\267\24:V\234\375m\267"
+"}Cy\343wI\222We\256m\31/:I\222\334*w\236\260\350s\nx5I\262\\\341\335h\321"
+";\345\356\245$\311\270*\261j\213\36\347\260EG\256\b\0\370\243\202\237\255"
+"\27\377\267\\\252\236\245\36\207\7E\323k\265`\364\222$\323\262\264},D\0"
+"\200\370*-\370s;\0\340\230V\332\200\270\353\250N\313\300\25\0@\275^\313"
+"b\251\177\244\7[y\353\245\215\313\0\200\211z\360\35\0\300r=\270O\334\241"
+"\36<\4\0\250\324\203\205\346\207\201g\206\201K\302\3000p0e\303\300i=X\204"
+"\277\324\203\347\2\0\372\365\340\225\216\271\25\30\256\t\3o\0\200\37z]"
+"\265\5\0\320\245\367\2L\251V+\37pE\376\3133X\332\342`vAk\271\21\33\17\226"
+"\352\300\245\202\275\251\265>\177,j8\352\373\314\361x:\0\340\344\27\231"
+"3A\222\234\255b\237\210v\779m\243F\256\306;~\2134#U\346\34\334Ei/\20\233"
+"P\371\271\370\203\305n\37\222W\376\232T|VH\376\2647\237{\24\207\263k\226"
+"\277\2732\177q\250\355\312m\232\233\344\354q\77\33n\305\276\364\266\17"
+"tp\232\234\255\362\301\36P\365a\271\'z\312m\272\270\222\367w\270O\266\332"
+"\36)\226Mu$\343\346\310jddd\364\277\350/\223\2405yUM\361\244\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\373IDATx\332\355\230KHUQ\24"
+"\206\177o\32\42Y\22A\22=\204\250\260\202\260L\302\314J\310\240\322\212"
+"\322$\42\202\244A D\30\21M\302\221\201\222\230\16L\310\36\4b\341@\32\330"
+"\3\tq\20!Ijj\17A\313\260\264A\17o\364\270\3647\330\347\336\273\275\356"
+"\275\317#\202\6\347\237\334}\326\332\337Y\347\354\263\326\332\233\13\370"
+"\362\345\313\227/_\276\3767\315\362\2\235:\223;\366\301[\274\204\21\222"
+"\334\344pv\306\355\20I\222W\347\1@+I\362\2063v\275\205\222\f\246\1k\304"
+"\360\21\200\200=\274+\272.I\265@\251\30\16:\213\\BI\7\266L\210\301vg\253"
+"\335\37\237\33\275\370\270,_\f\2169]\337\370\302\332\257V\344\307\335\342"
+"\267\316\325\7\272#\240o\326M\26\271\202S\3447\347\220\313\334\370,\303"
+"G\\\302C2,L\1\307\360Oi\\\3476\245\237I\201S\335F\226\324\366\376/\42g"
+"\301{\344\366\'\360\369\33\336\341r\343\264\334\212\207\343\344d\347\305"
+"|\331\332+\320\301\243\6\262\264GN\206\201\223\21G\37IrR\337~\342.s\206"
+"\252-\337 I\362\274\226=K\245D\42\277!I\246k\320\5\3\324\250\31\0BRR\317"
+"P\36\365z\273#\241\230\6\2708:\265i_*\0$\347T\fGl\235#\6\270 <\353\345"
+"n\331\274\260>\346\31T\354\352\260\263$\326\223\330l\13\7\255\366\26\247"
+"\360\25\331\300\327\205\247E\275\34\351\277M\360F\341\270\253\373\376+"
+"Lp\77I\322P\341{\364p\16\215\311\3\0\267\264p\7I\262\336Xi:8`\312\235\260"
+"j4\360q\222\344M3\234\250\201\333I\222\31\66\215\244W\r;yj\240L9m\16I\362"
+"\236\35\274\\\1\7 \276P\207\35<\254\260\5\260T\364F/;G\0\363\1\0\357\274"
+"\301\342T\22\362\6O\1\200\25\3375,\352a\2457\3705\0`\263\335\304DC\316"
+"\217\333\301;\325\271\364\212$9\333\6\276\246\206\253H\222e6\260\2460\326"
+"\221$\'\314l\241\256\31|\'I\26\30\3411\35|\216$\371\305\304\36\3247@a\277"
+"\344\240\13)\340\13\302Q\244e[MM_\2745\3634l\265q\307\bo\257\305J\266A"
+"\332n\322\24\376*\313W3\323\265\370\251\274WU\251\356\376\300rN\355\215"
+"qT\306\354\261\225)\n:r\377O\345Qwf\223\352\234\320\2665|\376\211L\354"
+"\212\26\326\257\373\335\243\77RVegF\267\321\226\r\25R\244\23\215\261\261"
+"\33\365g\222\303\362\243\221|n<\226LS\377\22\0\330/YzT\313vE\305\236\236"
+"^\224\372tJ\256\215!C\322\221\357P\227\250\277\246\265\332T\334\3260\32"
+"&_\324d\31K-Nm\236\233\304\251\240\377\327\204/_\276|\375\23\375\1T\256"
+"\314J\271`N\274\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"\211IDATx\332\355\227]\210NA\30\307\377\357A\255e\267m\367\305\5\241W."
+"\360\312\332\13\24\265\254\213E\371\214\13oJ\326\225\225\366B>nDm\n\27"
+"l+7r\241\204\220U\273i/(\257\2176\364\336YRBR.\220\304\246X\374]\314\234"
+"=_3s\316;\227\232\377\305\234i\236\371\315\363\23433\317\314\1\234\234"
+"\234\234\234\234\234\234\234p\370%\325\372Z>\332\222\302\366\323\250K\315"
+"\6v\36\3234\334\246\205\233\230\256\273\r:z_\6\232;\22XN<\26\366\4q\275"
+"\3752\n\09oBm\303\324p\337\336.\235\363=r\374\375q\303\362\323\277|\337"
+"7\264/>H\222\274\2522m\376\224Fw\220$7\252\215\307%}F\3\257$I\26\65\326"
+"u\222\336\2566/%I\26t\201-\221\364\344P\2337V#\0\340\257\16~\332.\236\267"
+"\fC\317\326\257\303\203\302\365j+\30C$\311\327\252\260\323\265\t\0Ph\265"
+"\202\77\366\2\0\216Y\205\r\210\267\366l<\3W\0\0\273\355</\42I\336\263\203"
+"e\334va\3432\0\2401\1\347\262\f6(vi\2\256\5\0L2\303\317\0\0+\22\360\334"
+"P\251\3258\0\300\232D{\231$y\323\f\37\211~1\251\232\263r\313\235\2541\260"
+"\273d\247\236\320gj\333\331>-\324\345\347o%\351M\f\352\253\312~\355<\253"
+"\326\210\317\266\322B[\344\327\256\2639\31\353\375\312C\13\317\215A\202"
+"\31\256\226\215\236\35\305\333\262\371\372|}\254\371n\331i n\21\336\357"
+"\233_U\256\206\372x{\27I\262d\206\305\314<I\254\355\347\241R\253\321H\356"
+"\16\340\221P\251O%b\33$`qV\3741\303\353\1\0\217\3552\311Z\0\370n\227\206"
+"6\0\0\372\354\22`EwZe\200\233c\251\240\252\260/\2\0\316Y\35\67\342\342"
+"\301\274\r\234\247>\313\245\302\357\23\216=\365\245N\241\7\63\0\0\'>\253"
+"\214\313H\222st\354#\341\367C\270m\374X\255.T&4\2632\5\221\303\42\26\366"
+"\2q\tU\262\207\336Iv\353\33\365\340/H\222C\252)\372\341g\237\275j4wM\332"
+"\373\27G\332g\225\372\202\314\325\251f\273\263d=\315\275t \3\372j\272\232"
+"m\311\300\36\320\315a1\25=e\332.F\362\3166\363f+\225\225\330\267\312\205"
+"\216\202\373eurrr\372_\364\17R\252\224J\0S\\\326\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\2\321IDATx\332\355\227]h\216a\30\307\377"
+"3\364\266\332,&KVJh\210\3068\230\321ZD\230\217\262YXR\316\230\3\251\221"
+"\3Z\311V\303\262V\306\301\230hM9\220\224\211\3[\241D\323\3626\365\326\373"
+"\332DH\322\346\243\215\277\203\373}>\366\274\367}\77\379\274\377\7\357"
+"\373<\327u\377\236\373~\356\217\353\272\36\300\310\310\310\310\310\310"
+"\310(\254JnO\220$\331\225\37\232]\231FI\376\214\331\326)\301\340-\331\366"
+"e\2549l\317\265t\3645\364\270\317\272\350\36036\253\256+:\f`\305\260\200"
+"\13BN\30\0`\340\271\370\77\20\241\343\234\303\326\270\367\205$7\337\32"
+"qM\31\273+C\260W\350\325\345\300l\31\63\265.\350\204\345Jly\201\273\356"
+"\313\350\270/\304K7\fLB\23\'\302\256\325A\13=\235\35a\2457\t\366\234u\237"
+"\245h\267~C\331\322B|\211\77}\324\353\262\212m]4\242\353\341\320+\367\373"
+"\305\217\330\216\244\337\301\310j\313\\\323\13i\337\220\17\334@\251\366"
+"\3\0\336i\341\2027T\250\33\0\376\350\340J\2525\274qZ\215.\30\3248M;w\26"
+"\2@nyc\302\266=Ij\340*\253\325\333\255n\363\234v\317\30d\354\22\313Y\353"
+"\365\304\272}\3411\341z&\3337\325>\360u\341\351\221OG\361_\35\274Z8\356"
+"\251\26q\241\16\36$I~T\357\236mj\270\\\330\2135\373\366\246\22~L\222l\327"
+"\236H\25\234\25$\221\264*`\21$n\350\341\230\2\276O\222,\361\211$\257\345"
+"\360x\240\364W/\207I\222\17\374\340\5\36X\4\375\331b\306\375\340\204\347"
+"^\300sE\n\r\33M\5<\3\0\360>\32,~\'\242\301\77\0\0\63\243\301\237\1\0\213"
+"\242\301)\0\300Z\277\3061\315\236\377\20\60Wy\315q\222\344t\37\370\232"
+"\34n&I\326\373\300\212\203\261\234$\371I\317nW\5\203_$\311*-<\242\202O"
+"\222$\277\353\330\335\352\0(\354\27\3D!\t|F8\252\225\354\35]\320\27oMU"
+"]x^\2331\254\364Z#e;\\\351f\276\304\337\222\366\265f\272\346\275t\347\252"
+"\26\331\323\37\246\235\243;<\216&O\216m\222}\36\331\317\377v\334q\227v"
+"\312\352\204\273\25\31uX\277s\260\306{_\244~\347/.+u\322h\317\252FW\333"
+"\243m\336\276\257\252k\222\275\356\241\221LN\325\225%\2234X\4\0\273\\\226"
+"\241`E=\311c\223\17%I\326\311+\363K\36r\342\224\343\334\323/\316_\3472"
+"\345V\254\350H\331\243k]\243\2564\325\7!/\207\243c\346\343\337\310\310"
+"\310\350\277\353\37\305\20\267\230I\35]Q\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\2CIDATx\332\355\227=H\34A\24\307\237\253\202!"
+"\b6~\224\22S\250\250\301\3\243\t\327\4\4\321&\225\4\205T~ \247\205`!66"
+"\246\260Tl$\b\261\263\t!X\bJ\202\235\22\260\210\237\220B\264\21D\271C\b"
+"$\342\235\376-\346\324\331\275\231\3357\203\32\2\363/\346v\336\314o\336"
+"\333\331\2317sDNNNNN\346\312S\330*\312\212\362\3\246\313\363\223c\316p"
+"S\320h*\232\235\201V3\301\276^\320\320\244\37\367e$\274\254\207\227\243"
+"\343Nl\252\203\336\34t\313\313\351\337ht\17<\355\364\345\260\213\340k!"
+"\300V\303Dq\377\226<\205\311+\276\363\303I\243\335\326\20L\200\245\357"
+"\333[\357\232\17R\351\34\304+\256\311>m7(F\34\317\276\323\210\316e\207"
+"h\337U6\256(gS\322\240\370Z\312\266^\0\300[=\\\2\0\330R&\300}\251T\352"
+",${\376\221\312\20A\t\13\353U\24\234\321\347\355h\375\266\204\323DD\7\226"
+"\3607\42\242U\365Y\4\0\250\f\201\333\1\234\222%L\211\215\245\2305\34qJ"
+"\262\356\16Z\330\337y\364\357\345$+\n\21\366s\331\324\n\0\235|\317%re\214"
+"\210(\301\367\334\357[\307\0\300JR-9{}\202\17\277\26]\327\333\236\210z"
+"\315\315\315\210\3\307u\311\2263a\371\246\373\313\343-\207h\30\217\n\27"
+"\310W\333\354o\352G2M\344=\255\2563\30\350\225\230\333\356[CU\222\377\251"
+"\232\1\0\37%\313\33>,\226g\207l\272\0\200#\376\3068\224+\323DD_\370\236"
+"\237\311\246\242\24\220\251\340\3146\345&\375\363\306\341\302\331c\276"
+"\347{\315aA\275\250\265\207\77\377\334\375d\33\366\0\0tYz\356!\42\352\267"
+"\364\f\0\310\330\37\261wY\303\n\246\207\201\363\354`\3174\26\271k\261T"
+"\32\303\42\353\324\207u/\323\266\374\2\0\254\205\301\272\363\'\366={>,"
+"6\352\320\362\17\312#dh\333\350\262\357c\277\2\326p\314\220\335\227g\373"
+"\302pe\315\371j\363F\216\367\2cu\255f\3301\217\271\377\260NNNN\377\251"
+"\256\1i\236\326e\320\335\7\37\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2dIDATx\332\355\227MH\224A\30\307\237l\263\330P\224\322\274"
+"\4\265\32J\35B\254\215H\275\b\22\4Q\221P\26x\20\n\23\214 )\372\42\372\302"
+"\203\240 \221\227\b\5!\302\202\212\22!\273\264A\207 ,\363\222n\330!B<T"
+"$\273J\355\277\303\314\3726\257\363\361\316\253\227`\376\247\335\347\377"
+"\374f\347\235}\236\231y\211\234\234\234\234\234\234\234\234\376s\255\220"
+"\304J\212\327\254\364\205\376\244\247\277\5\31\256\33\nu\233\331\36(\325"
+"\343\317\315\361\7v\252\307\215\33\341a5<l\236\367\251Q\371\244G[]y\271"
+"\256\22TPW\33//\244\364\344\273\304\310\204\325\2105\375\31\241\270^6\6"
+"F\333\177K\212\2637/\b\332\242j\310.#Z\362A\335\316\3635z\366\20\264:\257"
+"c\317xyC\'\266\262V\337|t\300\213\336Q\263g\2639\311#\242Q=\262\260n*\266"
+"\221\'d\16,\366\266e\327\342\262\234-\345\366\240\334\276\304\355z\251"
+";\305\314\353\252\211\355\347\264\314;\307\254\33\352%\331\3132\356I,\346"
+"<\322n\215,\'\266\310\270\242\236\223\247g\0\200\307\212\37n\320\303y,"
+"+\352\13\357\1\0\3740Uo\77\0\340\202/\332\13\0\270k\202\17\3\0\276\370"
+"\216\233\203DD\264\326\4\27\21\21\321F\351#\343b\221\16\315=6\'+\224\2"
+"X\351\2520\355Mv\33_L\200\327\331\301\263\2\34\261\203_\bp\312\212M<\24"
+"\276VX\254\326\247v\337X\253\271\321\34\rsp0\366\244%\305+\3543\21\21\215"
+"\205\203\237\20\21Qe\270\363.\16\0\30\17yZ\262\207\256\n\7\337dw\255pp"
+"N\270\365\346\352bt\351R\236:\25\t\5\67\60zZ_d\321\372\335\322x\37\214"
+"K^>\4\240Oj}\344\3645\5Z\361\234\371eRw\206\323\351&\211y|,\333W\33\344"
+";\334\327\205\306\273\275\343_\243\354\364\33\257\'\7U\367\260W\325\336"
+"\347\344\353\367S\77#\305[\266\357\22v\251\267\352\27\211[\246\275\240"
+"C\367_T&u\350\375\365\206\77\274\351\227\n\355\fr\223\333\227\220\220\17"
+"\352\202\327\333\200\267\362\230y\332\26\263\271\365\22\21Q~\376\252L\352"
+"\373\274{7prrrZV\375\5\206|\360I\375M\2717\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\2\255IDATx\332\355\230Ah\23A\24\206_S\245\212"
+"\24zQ\213 \210Vi\305V\232B\265\32\17BQ\332\213\'\221\bb%6H\353A\360P\202"
+"\240\7=x\25/R\205*\30\274T\321\36D\212\322KU\224\36\244\261\5\205\32E\324"
+"BI\20\n*M\342\357aV3\273;\273\373fP\2410\377a\263\373\346}\373&3o\336\354"
+".\221\225\225\225\325\362U\255\327\260/\275aZ\351y\42Yy\37q\263.\0#\252"
+"\206,\200D\4|\13\0\372\374\366~\0\270\35\1\277\4\0\370\355\0\200)\2171"
+"\346\271\376BDD\17\274\354#\42\42\372\34\21\3718\0\0\327\335\326\233\302"
+"\332\27\65\374\302\ro;\252\246\316w\2161r\356R\216#\362\231x\35Q]\307\271"
+"\17\277-\251\350\231\317\42@YN\336\214\252\331\273\274\254;\257b/ps\266"
+"i\322\213N6i\244\374\326a\31\35\336\246\366\252\t\3447\36\330\333\332H"
+"\363\271\247\343\37m\375\360ih\26<\275\356\367\261c\340\353\216\207m\206"
+"\216\22\356b\260\0\235\277x\304\r\27\6u\3406o\206\255=\326\323]m\316\27"
+"K>$V\337\342\234\345\332B\26\323\331\240\220\275\242}F\3318\256\34MI\203"
+"b\266\224m\'\1\0\207\202\341\6\0\300\264\262\364\316IG\245\276\206\324"
+"\355o\3221\254\276*aa\375\31\5\227\3w\f\206\26\r\341\22\21Q\336\20~LD4"
+"\241l\352\4\0l\n\201{\0,\220!L\3S\17\343\306p\370\376\254S\234\25\260\333"
+"y\350{\3452\253\27\242\333\256\215\245\33\0\16\363#7\310\27\31\42\242\1"
+"~\344\264\3779\201\3\357\366\255\365\213|x\217p}~p\265\270n\271\n>\234"
+"\b*\266\234\1\253\325]_1^:D\303\370\257\360\n\351\274\342\374\26_\24JD"
+"\2615\315;4n\324%\306\366\350\37\303\226\2\177\252v\211G\37\311\262\237"
+"\17\213\364\354\225MK\0\360\211\2770\\/\22W\210\210\356\361#o\226M\253"
+"\212@\271\2213\332\344/\372\77\332\317\254\2746\317\217\374Wk\230W;\267"
+"\233\303\243\257fFL\273}\n\0\222\206\221SDDi\303\310\0\200\262\371\26["
+"\255\32F0\375\33\270\306\f\216\351\366Ev\255\227\216\332\260\250:\255a"
+"\356\353\2[\336\0\0\236\205\301A\373O\374\211\263\77\214\265\7\241\353"
+"/)\267\220\3239\255\207}\27{\37\60\206\343\232\354\234<\332K\232\231uC"
+"\365A\201\251Y\317\275\222\23ev\2373\366\35\326\312\312\312j\231\352\27"
+"\213JD/9JU\31\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<"
+"\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"\306IDATx\332\355\227MHTQ\24\307O650\241\te\237\4\65*\r\25\204MMH3\264"
+"\20\206 \210\212\204\264@C2jQ\4I\37\366E_\264\b\\Eb\204)\rDL\201E\31Qn"
+"\234 B\210\324Z\30\215\331b\212pQQL\r5\377\26\367\215\343{s\77\336{\265"
+"\212\373_\236s~\357\343\334s\317\271\227HKKKKKK\353\277\322\324\2K\244"
+"y\301 7tW\335\357w\212\247U\3\350\3449b\0\302\n\270\13\0\32\13\355\273"
+"\1\340\206\2~\16\0(\264\3\0\6\314\266\42k\320\7\42\42\352\261\232\37\22"
+"\21QJ\361\346\6\0\0\256\232\255\327\231\265Q\225\177\26\206\221`\336\24"
+"J\32F\345\3425\31\201\30=\272\312K\344\r\266\216\345,M\352\245\217A\240"
+"\230\235\302\211\363\331\333\366\312\356$\217=e\267h+\22V4Q\341\240\346"
+"+;&\243\35\225\334\240)b~a4\274b>>\16%\36\245t\3Q&\254\264f}(0\2232o_\364"
+"\367\2158zb\244;kZ\344\276z\333h\313/N}\265\27\333A\367\212\266E\233\22"
+"\2357\4\2412\219\273\25R\35\221\261\7\363q\275\315\313X{[R7i\177_\21\263"
+"\207r1\311\355fG\370\311D\336Dl\275\21\220\335\\\350[\236\313\305\t>[n"
+"\270\343|\367q\303\35\345z\2156wV\364a\233$\35\3640s\235\23\247d\3\213"
+"\350\24\266\353;\262\305\330\307b\374\242\236\'/\203\373\0\200\36\301\213"
+"k\345p1\213\362Y\314\353\0\0_T\325\333\r\08f\261\266\3\0\256\251\340m\0"
+"\200\367\226\21\273\205\210\210f\250\3402\42\42Z\304\37\215\255e2t\372"
+"\216\237\274B)\205#\2356}\366bg\215\317o\202g9\203\277\233`\2173\370\261"
+"\tN;b\23\346I\35p\220\2557-\226gys\207\16\237\233\301\301\330=\16)\243"
+"\302F\211\210h\330\35|\227\210\210\252\334\315\273\20\0\340\265\313i\311"
+"~:\350\16>\17\0x\351\16.r\227oCm\214.\377\233\277N{\\\301\265\214\376$"
+"/2_\264Z|\273\220\247|i/\200.\256\353\225A\237\21\240\201\7\314\317\77"
+"\206\216\33\364\217\6\216s\347pn_\315\345w\270\324\304\306\273\274\332"
+"t\n>\360,\277\'\343\242sX\377\244kW\362\351\340\330W\317\234\312\225kM"
+"]j`\2150%\27T\275\340\242l-\252\2222\364\346l\325\315\352\233\b\275d\347"
+"$\2671\301!o\325\330\257\267X>\363\30\277\267\337\357\360\232@TR2-\233"
+"\376\234\321w\3---\255\177\252\77\234\354_\22l\372\323\201\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2]IDATx\332\355\227AHTA\30\307"
+"\277}\31\32\42x\251\274\bQ\36\64\324p[J\303\213 \211^<\205\30t\252$\264"
+"\203\340A\274x\261C\327\360\22!\350\255KDz\210\210BO\212\340A4\205\16b"
+"\227H\220]\202\240\254\335\355\337a\236\356\274\335\231\267\337|\230\20"
+"\315\377\360\336\314|\363\233o\336\274\231of\210\274\274\274\274\376S%"
+"b\2557\273\22Kod\r_=\0\200\237)\t\333\202P-\2x\357\20\376\342\316\266\342"
+"H\315\226*\201\25n/$;\234\341_\306$S\365\205n\327\273\177\364\362!\273"
+",\30\355\312\274b\363\225\242Y2\17\0\363\342\331\233J\371\25|\374\32\337"
+"\6O\37\356\227\260\13\340\353y\21\333\b\27uFW\325>\\>q \n\247G\234\242"
+"Dq\364<{\247\267\273`\336\315dK\27~MS\230\332l5\2648\31~\323\230\315e\237"
+"\262o\31\215o\215\243\251iD\375-\243\355\36\0\240\337\16\327\2\0\66\214"
+"1lG{\32\3655&\0~\327\2361\202\21V\245\277\313\3019F\350\265\352\233\20"
+"\316\22\21\355\n\341wDD\213F\3235\0\300\205\30\270\27\300>\ta\32^{\235"
+"\24\303\334\215\216q\360\b\312T\36\377\221\177\314\352\205\352v\203^\324"
+"\r\0\267\370\236k\365\314\4\21\3210\337\363Pd\36\3\0+H\265\227\254\365"
+")>|CU]\3519\243\362M\323\340\303\235\266`\313\31\260S\256\353+`\237C\313"
+"\3008Q\270BK\347\303wf5\235%\n\252\33\233\35\32\352Pc{\373\250\340R\232"
+"\377\253\256\3\0\236i%]|XM\317\276\310\1\24\0>\363\27\306\'=\363\204\210"
+"\350%\337\363E\275\250*\3\344\3528\243M\245A\377\240m\364\364\323=\276"
+"\347c\215a\305\272rY\16\277X\337\232\225v\373\1\0\f\n=\337%\42\32\22z\6"
+"\0\344\344[l!j\210`\372;pB\6\7\256}\321\253\326hOgXE\235\330\333\3629\253"
+"\345c\371\313\237m\377I\276\17\367\207\2056\33z\376\221q\13y\270\351t\330"
+"\217\260\257\0\61\234tdw\364\321v\275\231\317DrsN\216\267\213\332\32\\"
+"\314\261\373<\341\357\260^^^^\377\250\376\0\341\315\314\261\23\n\251\247"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2yIDATx\332\355"
+"\227OHTA\34\307\177\312\226\260\241\30\245u\21j5\224\312B\266\254H\205"
+"\20\226 \210\212\204\322\300CP\324!\t\224\242\177D\377\350\20x\212\274"
+"H(\b\42\26X\224\35\62\2026\351\20Di^\252\r;T\204\207\nc\327%\367\333a\346"
+"\355\353\355\316\314{3\331m\276\247\267\363\375}\226\231\337\373\315o\346"
+"\21YYYYYYY\211U\240\360b;\n\236>2\373\333h\n\0\3466\231\260\265\340\252"
+"5\200\277:\360\27}v\3\262Z/\r*\224\214ou\37\267i\303i\341c@U\270\323\256"
+"\320_\364\270\303\216\33d\273h\236\261\363EFU2\2\0#\306\265\33\215\332"
+"\375k\365\237\32`isS}\365RJ}x\25\37{\257\365\217\215\375\31\374\255\'\255"
+"\201\321\256\337\310WOq\20\364\30$\352\366EWN@\252t\243\232\335\7\245N"
+"\253\330\223n\334\350\221\265\2547\256>8\340\216\336\222\263\235NL\342"
+"\200\327h\30\313\346M\306\266\362\200\314\236|o\235\223\213\363b\266\222"
+"\333\303b\373\34\267cBw\232\231\227e\23\333\315i\221w\212YW\344)\331\311"
+"\42n\13,\346\334U\275\214\343,&\222g\\\220\317\311\325\3\210[9c[\324p1"
+"\213\n\347\fo\7\0\374\360\253\336~\0\300\231\234\321\36\0@\257\37\274\37"
+"\0\360)\347|\336KDDK\374\3402v\374\n\227\214\263e*tq\333\234\250PJ\241"
+"\245\213\236i\257\322k|\21\17\274L\17\376\345\201Cz\360c\17\234\324b\343"
+"w<\77k4\262\365\256+\367\366\302\215\303a\223\203\203\261G5)^a\37\211\210"
+"h\322\f\276GDDuf\347]=\0`\312\360\264d\2136\274w]\5\0\2746\203\13\315\362"
+"\315\325\315\350\312\177Yu2d\4\2670\372\233\272\310\3021\361WC\37|S^=\n"
+"\240Oh\275\345\364%\tZ\363\220\371UBw\206\323\251v\201yh\322\331W+\304"
+"\35\356sv\343\335\364|\6Vu\274p\367\344\260\354\36\366\254\301}N<\1773"
+"\3753T\276f\343\26O\227z\271Y\232\222k~\275\340\272\352]\324%T\350\340"
+"r\237\27\336>+Co\4\271\311\355\212\13\310\241\346\340\3656\340f\36\63\367"
+"ODt\77\373\251\244dQ&\371=MVVVVV\13\251\77\372\7\346\223\217\223\16y\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0"
+"\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\224IDATx\332\355"
+"\230;h\24A\30\307\377\267\32|\21\275B\243\26B\360E\42\61\232+\214J\24\304"
+"@\3105\302\201HD\13\65\6I,\4\205\220\306F\213\24\66j#\42>*\33\37!\240\210"
+"\17\42\b\212`\241\306\13D\f\2610 \204;\5\305\204\273\213\177\213Y.\263"
+"w\273\227\231\17\265\232\177\2617\257\337~\337~3\363\315\356\1NNNNNNNN"
+"N\350\35\241\231>\34/c\7i\256\333%l\35m\324R\344<\0\230\244\315#\36\b\302"
+"\231\36\33\270\261X\212\251\237\25\207\333[g\273\307\263\3712\304\253\256"
+"\367K\303\215!w<\353\77\323\351(\223I\325\237\16\355|\34\32MM=j\266B\373"
+":I\222\373\242\3418I\362}0`\276\306\264k\250\276\227\306A+\377\322\256"
+"\25\304PX\265\376\236\13.\204\302\206\372!\204\363\0\60.\204\237\2\300"
+"Ph\3276\222dm\5\270\235\344$\2040\272\337<L\210\341\350y\16W\314\6\16\16"
+"\356\235\232\3517\362B\271\275^oj%\311\375\346\226\343z\245\17\0\272\315"
+"-w\5\3261I\32%\251\355e{\375\2349\274S\r}\325\266H\325\353/\323\34n\211"
+"J\266&\1\233g\273\277<\263\34507\314\377\n\317\327\3123\376o\366u&\17x"
+"K\352\32,n\264C\305\366`\261a]\306|\252\232I\222W\265\226=\346\260Z\236"
+"I\275)G\222\23\346\33\343\263^\271\b\0\367\314-\257\325\233\26f\311\302"
+"*\223h\243<\351O7\235\252\272\362\325\334\362_\315a\245\332\262I\16\337"
+"y\233\276!u\373\4Iv\b-\37\3\200.\241e\222dA~\304\316f\r\21\214\177\3\307"
+"d\260g\353\213>\264Z\273Z\303*\353l\2564\274&\262g\224$\371\262\22\34u"
+"\376$\236\371\347\303`S\24\272\362|\350\21rr\330\352e\77\300\16\220b8a"
+"\311\216\351\321\316Y\256\254k\201\332M+\303#%\367\352\30*\30\373\334g"
+"\340\333\322\324\223\42\60\220\\l\273i\16\371\350%\311\216\353W\237\24"
+"\33%l\rI\362\205l\253_\'I\256\226\301$\311\13\62\66E\222l\226\3450\365"
+"R\376M\6/\0\0\264\311\334>\252&y\27\0\304\226[\276\307/\363\77\376\236"
+"\217\306\33\66\344\36\234\371be\372V`I\247,\35\377\250\261\237jm\37\373"
+"~\221M\357\265\374v\1\260\365\310\3565U\77\'\336=\272\353\376Jr\222\351"
+"\17\242\206\354\251\365\26355\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2\252IDATx\332\355\227_H\24A\34\307\177\232&\\Hw\350Q\17"
+"\t\346\31JId\245\21y\276\\XPDIBY %\24\365R\201R\364\217\350\37\5\202O\221"
+"\20\21\'\4\21Z\30\250\5]\4\211\364\20\204v\6\225]\364\367!\202\f.\316,"
+"\374\3660\273\267\267w3\273;\323S0\337\227\273\235\357|vg~\373\373\315"
+"\314\22iiiiiiiiiiii\331\224\'h\367G\32\353\253\2\64\375\366\371HlR\352"
+"\216\341\336Yd\352Q\253g\264\363\17r\325S\354\5=\0\201\272]\321\205/ \324"
+"L\330\231m\206\243\2169\261G\254~\303\373\226\346\23\21\321\342\2357\255"
+"\326\253b\266\303\354\223\330a7\32b\351\270\211\330V\243\303\354\326\\"
+"o\231\31\213S|6d\330}|\373\244a7q\335\367\314<\'\32\330\26\203\346yG\231"
+"u^\34\222\215\254\307\r\216\305\234;N/\343 \353S\221c\234\26\217\311\322"
+" \0`@\360\340\26g\270\230\365\362e5\257\3\0\374p\313\336^\0\300\361\254"
+"\326\36\0\300u7x;\0\340\203y\311r\220\266\21\21\321<78HDDe\334)\343D\320"
+"\t\235\273\353\27/Q\374\220\322\31\333\260\313\345\26\276\n\33\\\42\7\377"
+"\264\301\5r\360C\33\234\222bG\372m\227\325\22\321z\323\231u\257\42\303"
+"h\367\251l\34\214\335/I\31\31\366\216\210\210\342j\360=\42\42\252U\333"
+"\357\352\1\0/\25wK6\351Uj\360\5\0\300\230\32\234\257\26oC\335\214\16\375"
+"\313\254S\5Jp\13\243\277:\'\231\257i-\267=\n\327\220W\r\3\210r\255\t\203"
+">+@\253\207\230_\311u\277\31\364t\33\307\334\35\67\353j\1\177\205\373\222"
+".\274+\2533\215\312CO\255\232\354\23\235\303\2364X\377\23\243\361\217\311"
+"\302`hy] \263\313\263:aH.\272\255\5\227\234\336Em\302\t\275U\352\362\302"
+"\333\222\42\264\313\313In\363(\207\274\35\361\232n%\227m`\354\260\\\316"
+"o\2322\311\1\371\5f\221\221\23\3435\nu\302Nt\277\333Ujl=\0`(\240\302\316"
+"I\1\300\3\265\225\341\232C\5x[V\272\324Xv\356^\343q\307\310\322J\42\42"
+"\372\256\6\27\21\21\321\6\265a\357e\t\22&\42\312+\225\374(\233\77\305~"
+"\37\277\362\327,\231\31\354\370$\365\350\250\255.\232%\7\376:\203\235,"
+"\227\235\366\3354;\21\221\375\20%Z\261\247\261\2540\371y\354~\277\376\\"
+"\377\377\365\27\314\251\b\246YB4\250\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\260IDATx\332\355\230Oh\23A\24\306_\266\nJ)\346R\253"
+"7Q\221V4\245\1k*\275\b\25iE\364\42R\321\203X\203\246=Dz\bU\310E\17\202"
+"x\20/\42\5\343I\20\21\351AD\324\336\324\242\242\265\266\42\32\352E\20B"
+"\242(\370\247I\375<\314n3\273\331\315\274\31\253 \354w\330\314\274y\277"
+"\231\33173o\222\20\205\n\25*\324\237\252\301kh9yp\305\244\217\343\341\341"
+"\256\327_T\275=\0P\350\364Z\23\237\0<T\261Q\0\0\322n\353\ta]\255\242\13"
+"\302/\'\333\256\n[Y\31\204\244p\304\363\210c\261&mSF\35\302s\266+b\242"
+"\336\356\324s\234\5\3108\336\307\211\210RN\355<o\371\366:\376\357\262\331"
+"\274S\36\340.\376\206\237\360*\241\261w\236\270\321\267\215Z;oTf\257\353"
+"\356\333t\225=\245\277\353w8\354n\2233\23\235\0\200g\315\301\36\221z\370"
+"\226]t\347q\230y\26]\231\31\360\364\352h\r;\6\276\256y\330V\350\250{\201"
+"\263D\336\322y\305\375n\2708\250\3\307\274\333\263\371PoO\265y\266T\233"
+"(\255\2466\2734\25\363\3511k\277\323p\320\220}\242}\332\267\361\256o4%"
+"\r\212\325\362m\33\0\0\354Q]\'/\335\1\263\225\227\236\276\372\354\215\203"
+"T\376&=\353\b\276\260\260\376R\301\25_\230\251\257\206p\231\210h\326\20"
+"\276GD4\356\333\324\t\0XS\7\356\5P C\230ROo\307\215\341\340u\326\316\354"
+"\226\3029\363}\376,k\26b\332\353eS\17\0\354\343\217\34\225+#DD)\376\310"
+"I\327>\6\0V\222J\324\234\365\323|x\233p}\264s\271\250\267]\4\37\356\16"
+"J\266\234\2005\350\236/\213{\321\253`\374Sx\211T\236\267\77K\23\3052\221"
+"\325\330\272I\243\243.\21\333\3\13\206uE\376Rm\5\0\\\226,\333\371\260\330"
+"\236}\262i\16\0>\360\17\306{\271r\201\210\350&\177\344\265\262iY\t\250"
+"\254\342D\233j\223\376\217\216\364\322K\37\371#/j\16\363\252}\2439|\343"
+"\305\364\25\323i\37\3\200~\303\221\217\20\21%\rG\6\0T\314\257\330j\326"
+"0\202\351\357\300\21\63\330\322\235\213\354\332$=\265a\221u6\327s_\31\330"
+"\362\6P\375\255\20t\377\304\357\333\367\303XG\20\332r\306\367\n\31\232"
+"\322\372\262\357bo\1\306p\\\223\315\313\321\236\323\334Y\243\256ZNk\340"
+"\31O_\375\343\25\366\234G\302\337\260\241B\205\n\365\237\3527\277c\77\362"
+"|\326\2774\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\317"
+"IDATx\332\355\227MH\25Q\24\307\217\257W\201\241\275(\263\26A\251\245\24"
+"$R\232\222\266\221$\212\302\42\241L\220(\f[\224Rbh=\242/\202\nW\221\213"
+"\42\25\204\20\13*\312M\272\311\42\251\20\313j\341G\330\242E\n\225\24~\24"
+"\357\337\342\336q\234\367\356\2753wj\321\342\3767o\346\374\317o\336\314"
+"\271\347\336;Cddddddd$\326\234\230Hr]\331\302>A\346\301\23y\37\306\335"
+".\327\5`4\':\232\373\25\300s76\4\0@\2253Z\315\242\313\335\350Q\226\327"
+"4;\326\314b\277\\\253P\301\22\321\33gE\2}<T\353^\303+<\25\353\331y\246"
+"u\336\344e\4j\255\354J\42\242\243\326\3315o\343Wl\345\17\206\303C\326\361"
+"a\257\243\277f\n\321\312\325h\236\227Nt`\201V\353\335\234\315\266\3516"
+"n\225\315\326\353\267\375V\213\335\351g\322\204z\0\340u\2224!N\211go\217"
+"\353\3501K\317\377!\331P\205\n\267\344\244/\242\311\241\336\356\316A\255"
+"+\26\264D\34\323\242\253\3243Z\363\33\261jL\360\202VB\242\6Wt\331[H5]\240"
+"f\367@\251S*\266\332\316\353\250X\33 \42\242U\373[\355\350\r9{\322\312"
+"\31\336\3474\362;g\352&cKyB\2448\326[g\325\342\214\230M\345v\273\330>\315"
+"\355\42\241;\302\314\363\262\33\333\305i\3056qA^\222m,\343\266\300b\316"
+"=\325`\360\215\'%\306\b\313\357\311\326#\0\300}\311\37\227\250\341\4\226"
+"\25\37\25\336\f\0\370\356\326\275-\0\200\272\250h#\0\340\226\33\274\27"
+"\0\360if\327g\77\273\211\210\310u7c\353\377\n\341#\243>I\205\316;0%j\224"
+"\20\264t\326q\333+\365\26\276\24\7\274X\17\376\351\200\203z\360\23\7<\241"
+"\305v\337u\234fhTk\240&\352Z\363\271q(\336\317\306\301\330#\232\24\357"
+"\260\217DD\324\357\17~@DDY\376\366\273\34\0\300{\237\273%{\350\r\376\340"
+"\213\0\200>\177p\300_\275\271\32\30\235\3727O=\21\364\5\2270\372\213\272"
+"\311\342\213\362\204q\376\t\243*yz\7\200f\241\365\216\323\347$h\306c\346"
+"\247\t\3351NO\226\13\314\262~k^%\213W\270\3173\23\357\372\306\331F\332"
+"\361\27\366\234l\227\275\207=\315\267\217\207\237\275\31\31\17.]\235\271"
+"\311\261J\275\312\226\226\344\222\333ZpY5\26Y\303*\364\316\22\227\1/\377"
+"!C\257zy\223\333\321- \333\n\275\367[\253]y\214=<\226\242\375\201\222\230"
+"872\361m\332|\33\30\31\31\31\375S\375\1J\32Y\326\363v\n\263\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\67IDATx\332\355\230[HTA\30"
+"\307\277ViW\303\222\312\324\42\253\215D\203n\ne\366\324\325,\244\260\13"
+"Iw\222\42#\203,z\16\65\250\b\351\245\240B\251\236\362!}\260H\r*(L1\205"
+".f!\6\226\324*E\226n\322\246\377\36\346\234\335\263\307\2313g\247\240\36"
+"\316\377e\367\374\277\371\2353gv\346\373f\226\310\221#G\377\221\242\254"
+"\202\t\371\213|C\2127\256\6\200\333J\350\202Q0eF\316\356@P\373#eKaPEdl"
+"-\302\364 \2tb7L\32\230e\227\315\322\221@ee@\377\276\321\36\273Go_JDT\246"
+"_\225\330aO\350\255\327\261\353\34\375\372\254\234\335\2465\365%\351Nr"
+"\277f\35\222\302\275\254a\275\321kd\336\240\214M\340v\361<sg\312\350N\0"
+"\3107\273[\0\240[\332\355\3455\315\345<\277\274\245v\205\223\204\376\245"
+"\306YF\335\261\321#\376\341\210o:\371p\335@p5\2176\227e\330G\217\364`\214"
+"*\323l\241g\300W\307\336\304\351\205\255\350; FwC\252\245\42\366\236\234"
+"E5\177\264g\277\31\37\272\350iz\365\301\357NL\3150\217\326p\f\357\261\231"
+"\241\273_[f\360c\13\32\303\36\315c\347\303\42\333\235\266\206\335zLP\334"
+"\352\254\340\227Z\250H4\230ebX\17m\20\377\214\227E\360\34-\220k5\177\374"
+"\2\270\205\371\7-\'\337f\0@\237\331^\311\330\33\222\251\373\21\0\256\b"
+"FK6\357W\1\300\\\223\231\306\330<\351\252\311\273_\277\326\354]g\353F-"
+"\243\260\7\257Qb\263\1\0\77\42\244\\\354c;\21\21\235S\353\365[\0@\212Z"
+"\366\204\215T*\3546\21\21\65\220\22\354%\42\242\207j\360\f\42\42jW\203"
+"\247\22\21Q\267\32\34GDD\375j\260\207\210\210\6\325`\266\337\17\250\301"
+".\265\251\3452\314\21Ex\364O\340\200\305Ig\327\243\21s\255\372|\325\230"
+"Kv\2\0by\354M~\255[o\310-\0\200d\16\273PP(\237\204\272\375\205\210\210"
+"\2228p\264\340u\343C\260\217\210\210\346q\32\265\325\362\341*s\211\343"
+"o\345\213\236qz}wL\376k\222\3754\211z9\373\26f\17\332\312\370\301\263Z"
+"A\230y\7\274J0V\323\30\34\35\226\206\352\210\210h\237\24\326J\334\257\360"
+"\r\37\0\300o\2678\230\314\367\0\200\34\65\270\30\0\320\245\6\223\315\243"
+"2\37\256`v\234\22\254\331\257\325\340\243\314oP\202\251\225\5\36[\356\341"
+"E\360\4m\342\16-\21\303\307\205;\227l}\315\\\22\261^\213\215\353\246\340"
+"\222\273\20\317\213\37\323\242O\271w\316\r\255\330W%\336\260\220gkM0V\310"
+"\337\254\247\267y\214\7\361\226\27]\276\241\250\370\224\364\214,\203\375"
+"\316+z\255[\322CB\207[<\240\253\77Y\263\305\222\277\205z\205\344\363\2"
+"\371\252]\\\305#;OM\261Y\207RO6~7\200\355\27s#=\210R\314$\217\353\347\340"
+"W\347\300\356\310\221#G\177Q\277\1\212\305\331l\320\1\316s\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3HIDATx\332\355\230]HTA\30\206"
+"\277]C\3\243DY0[\213\220@\42\3210\26341\3204\24\272X1\4I\260\77o\n\202"
+"\274\bB\tt/\42*\214\2!2%\2040K\351\17lY\212.2\363\217\220\304\213R\202"
+"\24\64#4\227\262\265\276.\346\234\365\3549\363\315\234s\210\350\342\274"
+"W;\337;\3179\343\316\314;\343\28r\344\310\221#Gf\24C[\36_\346l\310\346"
+"c\273\20\21\37\330B3~#S\266u\266\n#\252\265\3126\241FW\255\261\275\30\245"
+"\347\26\320\365\223\250\323\302\26\263\354\36\25\t\267\265\205\325\317"
+"\345\346\330\32\265\177\23\0@\263\332:k\206\255W{\227\260v\251\332\276"
+"(g+\225\256\263\311je\343g\245T\'\205\247Y\307>m-\300jK2\326\303\35\342"
+"%VM\225\321\23\210\210>}\265\2\21qR:\354\275=\3~^\335\377\2467\337\211"
+" G\377Z.b\231\226\346\357H\206\371\361\376@\320\42\\u:O\323\32m\351Xm\244"
+"\245op\255\204\246G\251\3075\242A\365\212uhQ\255\\\23FI\264\246w\2\0\24"
+"i*\215\324\1\305\3239\200\304\31M\373\236\1]\367\tI\r6\364i\233\307\364"
+"l\322\257\210\327]\225\n\0\220X\322\262\310{\322\333j\303\213C\212\265"
+"r\\[\315~\246#{\138\177\357\240b\32r(gJ\313v\362\276g\365p\340eU\253\6"
+"\336\316\361\323\24\317\313\235\301\206U\230g\3673k\33\261tn\210\340\\"
+"\346\34\226\235%\\8\210\210\210\17\351M\260\213\206\3270#A\260\205^\222"
+"p\35\42\42v\2116o\26\t\7M\\\233\226)\230\236\205U]\21\302\217\305\360~"
+"\3\354\6\0\200\24\66v1<d\2500\230]\42\306\304\360\22\1\307\3\0\300\234"
+"\325\364d0j>[\206\27\331\305\307\36<\303\226\201\270k\2\1\317\3\0@\261"
+"\30\336M\31!\23\213\244\225Z$\335\210\210X \204\311\265]\201\210\210OE"
+"l!\275\237\345\227\274w4\334\201\210\210/h\366\240 I61\347$\t\207E\1\330"
+"\311,j>\356\13\323S\t\42\314\224\204\'\177>k\25\323\307\361zP\2\253\3\307"
+"\333z\243,\204R\30\206T\377\202v\177\35\30\216>\347\250ot,\322c\340LV,"
+"\0x}\355\206\343\225\234\217\0}\270\7\316\217\310R\262\231bO\0TK#6\373"
+"#\17\35\366\2@\222\211|\256\371\252G\277\35\61\37\356\260\357\256\26}R"
+"J\236\f\304\365\321[\234\227\221\342\236\33\177\35\234\320\354<=\341\262"
+"\220w\6\330r\334\32\3\360\77\207\323\1\0\340\203=\270\f\0\0^\331\33\344"
+"{DD\254\264\305\346\232Z`\204\246\344\321N\352:{q\206\35\326\317\330\36"
+";\354#e\227\270,\223\361~u\207\25\351\342\232\333=.)\326\r\0\256\230\265"
+"\211[s\3127G\356\211A\371\233./\363\243\350\224\211Q\336\42b\254\322\374"
+"\204\3525a\356g\255;\34\364\373Q\263\277f\336\324\221_\332\13\255\374\13"
+"\234\352\211s\3\0b\370\307\302\354O\347\207\202\277\245\77\212\226R2_!"
+"\16t\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b"
+"\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3HIDATx\332"
+"\355\227[H\26A\24\307\377^\3503C\222\212\274\4QfRAQ\nVV\17\3353\220z\210"
+"H*L\264\240\242\202$\42\202\42\222\240 \242\227\2\215\354\346C\321\25,"
+"J{(H\2540\5K+\21\273\247\31E\27\65\311\364\337\303\356\347\267\273\337"
+"\314\316:\365\270\347m\377g~3\2633g\346\234\1|\363\3157\337\0D\205)\363"
+"6%7\b\233\346\347\366\275V\3646\233d\231\310QNr\256\2>K\222\33\302\365"
+"\215$yA\1\77&I\206\353$\311Z\273\26\351l\324\6\0\270\341\224o\3\0>*F\316"
+"#I\262\324\256\2361\324\r\252\3657\232\2619#$e\266\232\242r\363\n\314\206"
+"|\265\'=\0\4\62\366\276\t*\5\352\255/\247\304\312\275\4\316e1{\305[\330"
+"\355\23\261\373\275\6m\352\3\'\372 u\20\61\77\261\304\212\226L\24\66\212"
+"\220\363IK\346LMD\373\323\352\3126\377\2\371\77\26\341\352\r\304F\367u"
+"\367\f\272\323\21\233+\276\17ls\377\243\342t\357\350\326\267\341\341yz"
+"\222\'\364\220\344T5\345%$\27\326\262\303\345d\256\247\3222e\354m5\313"
+"K\342\325\36\367rH\350\343mM\343\373\356@BZ\272s\265z\206\212\206\315\b"
+"\365~j\246E\217\315\255\262\r-b\247\fx\213\302\235\7\334\341@\320wU\274"
+"\34\25n\3603\323\265E\266\230\305r8\350Z.\337\306\2232x\274\351\310v\213"
+"\237n\tld8nr\r\276\225$\311\16\247<\337`\317)B\267\215$K$\253\245\212\373"
+"\5$9\301!N2\330\34\345\251\311\271{g\261\260 `\223\336\215b\f\274H\213"
+"\315\42I\376\32$e\226\25\253\1\0G\364f\335L\222\34\253w{\322\303U*\235"
+"6\0\240\22Zp\n\0\340\236\36<\6\0P\257\7\217\2\0\264\352\301q\0\200\317"
+"zp\f\0\240S\17\66\252\356^=8R/\264\42-1\242\t\367\377\13\334+yo\0\300\272"
+"\373}\316\\\365\245\324z\227\254%I\306\212\330\363\342\\\267\314r\267\220"
+"$\223\4\3544I\242\254\16M\373+\0 Q\0GK~7>\4\1772\352MA\243\272\353b\270"
+"\314\231\342\16\13\233my\42\230\365\255\260\373\257F\2655\t\301t\366\303"
+"&wz{\177\340\240\1\347\332\304\233\24e\202p\33m\300\321\266k\250\2\0\240"
+"|6\301Lq\177\354\5\37I\262\333krp\210\357H\222K\365\340\355$\311\26=\330"
+"T\363\365\340c\206\34\247\5\233\362s=x\233\241Wj\301\2505\337n\2565\274"
+"\f\36f\6n\327\f9\274SZ\271d\5\317\314\t\31\233\342R\270\256\308rG\343E"
+"\376\35\246\367\241\260\347\354\320\211m,J\261\271bV]\33\360\25\212\213"
+"\365\311u1\226\257\17\217\237\266|\352\212\212\37;9}\226E~\225\42\373\255"
+"\213\312GBS@\276\240\13\333\335\331\355\356\201\260\346\203\224l\310U\237"
+"\332\351e\42\362\305\356\221\36\363P\332\256\252\237\26\260\376x\366`\37"
+"\242\30:<&\362w\3477\377\301\356\233o\276\371\366\37\355/\277}\335\201"
+"\353\341\376\361\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\3\\IDATx\332\355\230MH\25Q\30\206\337\253\341\r\f\22%0\323\42L\220H\262"
+"n)\371\203\201\246a\320\3020\n\251,\2636\5-Z\24b\265\320e\201Q I\244\224"
+"\20\226\330\77\225\b\21\366\253\26%\211DeAj\205\21YR\246\362\266\230\361"
+":\316\234sf\346R\340b\276\335\371\336\363\334\231;\347|\357\371f\0/\274"
+"\360\302\13/\274\360\342\77D\270i\234\275\'\356\245p\342\316\255\23\357"
+"m~k\r\311s\42\241\221d\226\r\334@\222\245\326|9I^\260\201\237\222$\255"
+"y\222d\2479\33\66}8\b\0\270j\236u\33\0\60`s\345\35$I\326M\317\326k\331"
+"R\273\247\257M\343\353\300T*\355\235\236\264]\2722}\42\373\16\257\364\3"
+"\376@\305\207\311L\231\375\3027R\22\215N\266\315e1\333\354l\323\35\21\261"
+"G\235n\331%\355f\264}\211\213\35\237t\306\210\236I\222L\363\311\370\371"
+"\371\231)\261\370\324\375\340\356\240g\37\63\42$K\265\246 sY,\206z\36\265"
+"\266\271\204\267\354\3170\214\236\3274L\r\22\223\347\372\306G\372\237\273"
+"\330\332\7ui\343\360d\346\244\20-\26\226T\377\n\0\3105d\216\b\330&Y5\37"
+"\2\242\7\f\343K\26t\316GJ\243\243\362\216qh\261\225\230\211\240vyK\2\0"
+"D\347\327\f\213~\351E\211\345\302#\2724\276\333\230\r\3345\221W\262\5\377"
+"\267C\27\253\315\302\352>[/\253\322\305L\201Vk\200\227\n\364D]\213\27\256"
+"`\345\24,\222\37i\222\314qN\253\340tM\331,\335\307\375\n\270\215$yM^\4"
+"\253\344\360,M\210R\224\320})\274\227$\331\244*\336T)\254\335u@Y\372\243"
+"T\235\3746g\350\t%|C\r\257\265\300Z[\21\247\335\273\32\266\264$:\34\13"
+"\0\350V\303\77%p$\0\340\213[\367\324`\212:#\247\360\260v0\206\6k\35V\252"
+"zj\224\4\36\2\0\344\251\3414\2310\342`\223\324\3126\211\326\2e;\351\357"
+"\254\302&\222\344-\25\233#\257gMHP\300\257\344p\3I\362\236\234]\257p\222"
+"\5\232\262G\n\217\251\fP\3579e\353\321\254tO\335\210\270\334\306<\305\353"
+"\271S\27\213\4Z\13m\340`\263ly\273)\34\241-\214\316I\375\230\261\276\326"
+"uM\77\347dO\264;8\343\311\201\324\b\0\361E\365\226\343U\272\36\255\362"
+"\303\275\265\342\231\235KV\311\330r\240\304\326b\3\37DhW<\200\30\7\376"
+"\274\375\233\31\375\261\315\271\271#\353\242\21\275Y =\31$\355c|^FJ\\\330"
+"\227\236\307m\275\206\3123\23>\27~g\201]\333\255\342-vf\302\311\0\200\267"
+"\241\301\205\0\200\207\241\335\344\33\222dqHl\272\3037pa\364\331[\2734"
+"Ni\27N\t\205\255\326\330\226P\330\353z\225\370\\\223\221\325\223\25\226"
+"k\262k\341t\177LD\30\0_\370\354\350\305\2537,\f\366\211m\366W:>*\266\242"
+"}\16\356\362\254\304\306\212\235/\2509z\279z>\347\5\350\257]N\77\316\325"
+"\231\310\257\3659n^\201\23\346\371\303\0\220c\277\277\177\376\343}(\370"
+"W\361\27\277\224VG\f\276l\354\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2\372IDATx\332\355\230]H\24Q\24\307\377\256\322\256\206$"
+"\25\331\7Jm$\32\31\245\321\207o\366m \365\20\221TT$AF\6I\364\34IP\20\321"
+"KAER=\325C%X\230\366`PZb\n\226\366\201\24X\342G\24}\350f\332\372\357af"
+"wfg\357\235\231\275E\275\314\377i\346\234\371\335\271s\347\334s\316\f\340"
+"\311\223\'O\377UI\366\356\365\305IM\365j#\27\216\222\344\317e*l>u\345+"
+"\300\3\21\270\77qv1\243Z$\276\302\'\207W\32\207\253\22\206\307\204\207"
+".\225eL;+\361\207n\216\260\315\n\253\355\17kl\330\257\24%\265$Y\253\34"
+"\276\205\205\336\26\376W\311\300\237\226\22\16\215&<\350\324\3u_\243\321"
+"9\361\264\272\300=z\260\227q\272\222\353\n=I\261\272wg\316.o\343\320>9"
+"\272\213\216Z.c\353\235Y\336\24\257\366\334\327\223\214\223\336\226\256"
+"\17!\177fN\201u\265FS\205\333\300\30\375\362\n\223=\255\2541\346\326\42"
+"va\324[\25\357<n\17\373#\276[\342\345\250\263\203_\350\256\n\331bV\313"
+"\341\210k\223\3745^\220\301\363tG\211]\374\204$p\253f\337o\33|[H\222CV"
+"s\261\306^s\b\335~\222\274(Y-\247\270_M\222\363-\306\\\215-u\3345\245\17"
+"\356\257\263\332\256j\373F-\243h7^\253\304\26\221$\177$H\351%v\33\0\340"
+"\264\332\254\337\220$\263\325\262\'\335\364U\266\235A\3\224\340 \0\240"
+"I\r\236\3\0\350P\203\247\3\0\336\252\301\351\0\200\217jp\0\0\60\254\6\'"
+"\3\0\306\325`\237Zh\371L1\242\bO\374\t<nzr\253v>\f[k\325\247K\346\\\262"
+"\203$\231&b\257\213k\335FSn!I\316\262o\272c\364\330\230\366g\0\300L\1\234"
+"\42y\334\f\3\36\4\0,\20\\\324~G\f\327XK\334)\341e\25\317\4\263\276\27\227"
+"\377Z\234^Mf\244\234}\2131\17\273\312\370\300\t\r.\2131\336\245\250\22"
+"\304k\206\6\247\304\244\241:\0\300\36GX/q\277b\33>\222d\310mq\260\30\337"
+"\223$7\250\301\225$\311\36\65X\267\356U\203\317j\346t%X7\277T\203\17i\366"
+"\6%\30m\232\343\221m\17/\203\'\353\201;\262T\16\37\221v.E\221=s^\306\6"
+"m\32\327\315\321-w&C\344\77\254{\237\bG.1vlWU0\306\25\330z;\352+\27\67"
+"\353y\355\1\323Y_\353\363\236\301\221\344\214\354\274\2\323\77\0\274\13"
+"\312\36\353\206\343GB\267\315\347\364\232\1{\266\322>\20\266\367I\311\316"
+"2\347]\273\244FD\276:6\315e\35\3129\332\370\335\4v\234+I\370\257T\352\224"
+"\200ol\370\213\367\301\356\311\223\'O\177Q\277\1\303Qf\21|\22\346\227\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0"
+"\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\fIDATx\332\355"
+"\230]H\24Q\30\206\337]C\3\203D\t\314v\213\220@B\313X\315\324\304B\3230"
+"\350\302\330\20\244\240\377\233\202.\272\bB\351B/\13\214\2!\42%\2040\303"
+"\354\217J\26\244\13-\324$$\361\242\220\240\265\22#\262\226\\\177\370\272"
+"8\263\273\343\354\371\316\374P\320\305\274W3\363\3163{\346\234\363\275"
+"\347\314\2\256\\\271r\345\312\225\253\177 \17o\325\354\365\f<s\366\324"
+"\300<\21Q\264\310\t[@\232\n\34\300_b\360g\373\3546\212+\237\277\313+\277"
+"\274+qXj\33^\220\36Z\224\77\321l\277\375\227\36\214\261\203\16z;mY\260"
+"\313i\216fI\37\21Q\237\343\251\33\b\270\345\353\212\317\260\322\332\362"
+"\374l\314N\f\365\207l\302\r\347\312tgcm\235\211\223\334\274\265\236\245"
+"Hx\214{\\3%\351\202f\35\234\213]\271&E\203$Sx\7\0T\351\2564K\330nbt\21"
+"\310\234\326\235\337KB\327|\42V\303M\317\365\247\'\214l\326r\334\353i\360"
+"\3@fM\333\234\354Io\33\223~8\242YK\'WT\365\13\3\371\240B\362\276\303\232"
+"\331j4\212\247\364l\227\254\237[4\263\\\342\265\353\340\255\22\77W\363"
+"|\322\21lJ\3002{HX[\230\251sC\5\227\b\3470;\217\303\n8DDD\17\371\42(\342"
+"\341U\302\310P\224\320K\26>CDD\335\252\342-da\321ju\310G9\230\37\205\204"
+"\256*\341\307jxO\22,\26\367\34\321v5<\302\354\f\262\1\0\343j\370\27\3\247"
+"\3\0f\354\246\247\200I\265\77\61\203\347\0\0\353\235\301\323b\32\250o\315"
+"`\340Y\0@\265\32\336\311\31\21\13\223\244\235\233$=DDT\241\204\331\271"
+"}\210\210\210\236\252\330J\276\236\315w{\357x\270\223\210\210\6xv\277\42"
+"I6\b\3474\13/\252\2\260KX\334x\334W\246\247\26D\264\335$<\345\343yL3\353"
+"%^/\231\300\261\206\323m\243Q\27!S\30#1\377\262\276\276\366\215\256\\\347"
+"\270\36\35\217\337\361\372|a*\0_}G\322\362\312\216G\77\277\270\367_zc\226"
+"\222-\34{\nh4\215\330\300G\31:\352\3\220e!\237\217~7\242\77\217X\17w\354"
+"\276\253G\237\324\262+\3\263}\364U\227\25\344xg&^\205&u\225g$<6\362.\t"
+"\266\35\267\26\276%\377/8\17\0\360\301\31\\\'\276P\2355\362=\21\21\5\35"
+"\261%\226&\30\243)\363hgu\335\371\77\37h\25l\257\23\366\221V%\36\333dz"
+"k\254\302\252\fq-\377\307 +\325\13\300\223\262:ss\361\201\215\361}b\310"
+"\374\227\256D\345Qt\326B+o11\26\264>\240FMn\262\324\77w$\350\357\343\26"
+";7\345\246\201\374\326Qi\347\23\330\277.\315\13\200hq\376\307\327\5\270"
+"\372K\372\3\213{\336\310&\300\25,\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\220IDATx\332\355\230OH\24Q\34\307\177\353v\tL\243\20\213"
+"\210 \354\20e\22\22\253t\214\f\262\b\214\250C\b\35\262S\4\25\21\350!P\221"
+"\210\350\317\245\16\265 \204F\177t\211\b*\242\b$\354\24D\20\30+\t\5\233"
+"\224\31\205\233k\363\353\360\233\331\375\275\2773\343\22e\274\357i\346"
+"\367\231\317\333\2317\363\336\274Y\0\27\27\227\377%I+\255ik\310\375\230"
+"g\313\267\20\21\207\346\245\326{Hi\214\357\36\300b\16\305u\273\221\345"
+"B<7\203B\236\306P\253\262(ezMT\267)P\n\351t!\330n\215\346\266\7\307w\3"
+"\0\364\4{\'\242\270\'\203\243[h\177G\260\1776\334\335\347\37\232[\21TV"
+"N\372\245#\241\362\7:\360!\257=\246\332\3670\267F{\212\347\250\272:\314"
+"~\213\210\330&W\367\42\42fCO\273yx\264WW\357}\231\331\352f\241\205\237"
+"coJ\2437\333S!NI\317Klf\240^q\373\305\301\77\312Y\227434K\3562y\352ha\360"
+"\235\304.\371\365\340\364\276|\223Z\313\361\201fa\0\0pXl\374\fg\251\317"
+"\2{\245vXk\211\216t\255\225\340\301\301\351\42\275\255\353\356:\37\246"
+"\365wc\227\217\257\351q\'\42\42N\232\356\345q\222\rt=\42\42^5\311\265\210"
+"\210\370\232U\370\3030\16\0\0\306\351\202\372x\302 \347\1\0`\306\376 \346"
+"\r2\305\263\313\236U\216\21\'\377]9Q\216\234,G\256\266\13\t\253\334`\322"
+"6\331[\245\1\273\312@i~5-E\23$\177m_\256a\2157\210fXq\221z\t\325\375Q\327"
+"\330\25qoRYr\342O<a\30E\360\f\35V\254\77\3738+5\224\254\332XG[\277\354"
+"\367\271O\17\267\20\35\266\312\343&Jo\263\273\326\16\273o\222\357(\35\243"
+"\312\23&y*\202\234/gHzn\366t\362\277+\'\243\13|{\t\0\0T\332\345J\203L\357"
+"\223\r&m\35\255\364\ft\200&\232\305\6|\231\360f\35[z\305_\231\216m\323"
+"~\240\236\367\361\334\36\205\35\25\376%\30;-\322\235\217\204\5\367M\361"
+"\322\206\344\257\204\21NO\311\24\267\363w\262Bq7\303\237\24z\217\365vA"
+"\275F^\372\251\320Y\276s]n\372\1\247\35\312/\247\204\246\366\77\231c\354"
+"E\207\370C\251\301)F\337_\254u\337\260....\13\61\277\1\61\214\214\312\211"
+"8\21A\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b"
+"\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\250IDATx"
+"\332c`\30\5\243`\24\f\42\300\214WV4H\377\345W2M^\365\377\377\377\377\353"
+"\310\322\252\373\357\77\4\30\223\2567\342\77\34$\222\252\267\371\77\22"
+"\350\'M\357\206\377(`\77\tZ\371\356\375G\3\37\345\211\325k\1\323\362{\336"
+"\274\3370\2667qz\343`\352\233\31\30\30\30Z`\274bb\364\226\300T\273A\370"
+"\3560~\'a\275\241P\245/%`\42\222\257\241B\351\4\65\77\205(\334\211,\266"
+"\33\42\366\205\220^Q\254N\354\206\210\312\22\322}\343\377\377\377\377\203"
+"\320E\203\377\377\377\377\377\36Ag[\255\77\331\212M\274\365\324\6\353\321"
+"R\b\6\32\37C\342b\273!\351z\327#\262\217%\251ze\221\362\336\31\222m\276"
+"\213\244\233d\315\16\367\21\232EI\367\265I\3711\250fE\262B\334\37\242Y"
+"\211\274\370ZB\252f&$\3666\6\6\6\6\206\377\344i~B\252S\2215\377\244\304"
+"\346\377\224\330\3140\22453\322\311f\26<\255\24so;-\321\277\317.\35\336"
+"~\211\260Af\377\377\377\377\377_\27\302Q\235\217\\\303\2561\'N\263\13\3"
+"\3\3\203\360z\364\n\372\22651\232\313\31\30\30r\376c\1\363\210\320|\301"
+"\323w\337\177\254\340\6a\315x\300c<Q\205\26\303;c\345\30\31\31\31\31\245"
+"c`\315\31\231]\270m\266D\266e\221 r\361z\202`\213\314\6I\257;\232\\\'\241"
+"\262\325\36\256\365\221\30\206d\27\1\253\35az_\260a\221=\373\377\377\377"
+"\377\377/\22\324,\202MV\31\323\335\330J\22\3337Xk\25HE\244\213C\363\77"
+"\250\357\216`w\30$\205\31\340\320\374\27B\225\343\360\25$\266\225\361\332"
+"<\23W\220\334f````\20\303\253\31g*\2028\214\7o\200\335\307\237\365\330"
+"\360\26C\237\211\357\16\61\341p\335@\24\275\377\7\314\346Q\315\243\232"
+"\7e\263\202\211\30\2670\341`\363\42\2218\1\256bH\7\243`F\1*\f\f\f\f\f\232"
+"8do\376\377\377\377\377\377c\2704O\204T\31X\373\77\352;a\215\27\254}U\346"
+"v\250\364\37\177t)\366\256\257H\365\353\313*t\371\360\263\310u\367r\24"
+"\267\363\77Dk@\34F\325\333\201\336\300pF\222,\300h~x\241D\375\77t\351\365"
+"H\241\375\13\303\213\277Q\312D\f\371\237\310\234\213h&oFU[\216n3\352XS"
+"\311\5$\251\243\311\35069\255\377\202\220\276\337+2\332u\37\5\243`\24\214"
+"\202\241\b\0\347_\305t\31v\202\303\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2`IDATx\332\355\227O\210\315Q\24\307\2773\317dLcF\23"
+"Mc!1\2240\262\320Ka#\263\360\'\13\13\224\255\261\22YH\214\232\242\254\24"
+"\66$3\261\231\247\374\313`\26\242\244&\261\241d5\343\rS\310\210A\376\314"
+"\274\31\216\305\275\346\235{\3579\277~\77\262P\367\273x\357\276\373\351"
+"{\336\275\347\334\367;\367\1QQQQQQQQQ\0\260\347\31M\252x\264\322a\333\356"
+"\227\331\367\356\245\201\367\29z\310Y\273\313h\245\347m\3608\26528\340"
+"\261\223v\376\367\362>|\366\242\275e\343W\t\f\0\260\323\r\336\301Y\376"
+"\275\303\236\204\t\333P\246}\355\363<\270\243\360i\222^\222\322\335la\227"
+"\\\215\215\26\237\223\361!\42\42z\247\325r\2371+t\21\21\21\235\321\314"
+"\215DD\364\224\315\360\3030\b\0(jf\223\343!\305<\6\0\30M>\210c\212\271"
+"\32\0\60-\331<U1\317g\257\202f\3\0\346(\364\b\21\21}\324\314\7\223\262"
+"\275\306\26\362\306\\\21\267Y|^\202\207\331\1,}\375\342\352\33\203\205"
+"\320\333M\251u\335\367\256\242\fZ\355e{z\226\207N\235\77\3618\375\27\17"
+"\204\305\357I\353}\336$,f\227\205\303\333\353\5\332\322e\361#y+g\r\335"
+"\242\354\324>]\233\344\343\331i\336jdo\2659\372/\336\310\270\336.l\357"
+"\302\232\\\245\253\252\231\255\275\6\336Q\326U\225&]\267\224_\25\245\251"
+"q\205b\256\370\33sfe^\366O6\236\42\315\337{]\362\2\345\352\2264\233\321"
+"\17-\252\311\3471\31\2560\364Z\242yP\243\246\233]IL\330M\315|9HLh\36\322"
+"\314#)\314\243\177V\252\260\26\231\315\210\346h\376\247\346\\z\3\37\233"
+"NY\233l\256U\314-\0\200\305\232m\201\271\351)\324^\16\264\273\324)\203"
+"\227Kl\306i\333\23\372\327Jx\326q\213\'6\7lw\221\367\224\376\3.]\177\333"
+"i9\27\335\255]\365[R\37\247\373\203\216\265\216\321eaC\333\304\360p@{X"
+"\266\307\303=\216+\227U\243\22\377\320\351\207\356\225.\177e\345\235P["
+"\357N0\366\240\315\375\242|a\204\321\227\'\32\343\177\330\250\250\250\250"
+"\377Q\277\0\363\271\373o\20\304\t\230\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\2\213IDATx\332\355\227\315KTQ\30\306\237;FR4E\244"
+"R\224FVD\226Q\24Y\324\364\rQ!.#)\42Z\264\250EP0\20\264hUY.\372\7*\242("
+"$\30\42\230\260\205%\226D(\250\21\330\207\reHAKga\351<-\316\235\2313\347"
+"\236s\77F\b\214\363\254\316=\317\374\316\373\236\217\367\334;\200\225\225"
+"\225\225\225\225\225\225\242+\243$I\2467DgS,h[T\266\266\310\262/r\344\21"
+"\211\216\f\357\311\24\341\352\350\263\336\222\354u\341\25e\255x\213\200"
+"\353\313\333\257\373Q\341\230\324N\3\0X\36\374=j\2522<1\235\310\234Nd\314"
+"d\330\371G\221gyz*\n\255\246#\273\32\252\247\306\206z\236\r\5\17\264\225"
+"$\331(\36V\337\221\312\224\217\233\302\301\7\0`Q\212\212>\356\b\3\'\1\234"
+"\243F\267C\300\3\207\232\273\250\325p0\354\243Q\237\255Rv\270\363D\235"
+"\3438\216\263\364\370\13\267g\331ss\344\355r\224{\13\345\353\365\215\333"
+"{\312\b\357\224\330\203\212w=\350n\335]@\277\325x\314\266\200\320{\363"
+"\354\217\331\32\267\237$9\30\bW\351\334\225\336\274u7I\342\227\366\255"
+"\42^D\215\68\347\316\356\225>1q\3026\372GN\32f\325\r\0Xe\200+\1\0\17LK"
+"2\6\0\2503\300\313\1\0\31\23,\336\200\353\fn\232$\331e\202/\373\35\223"
+"\223\356F\335\230\253\265\317\270\366]]1\334\274 \275;&\325\372\231Sl\77"
+":\346\31\270\203\241\365De\23\214\240\204\262\332\361(W\356|\265\343]\370"
+"\300\237=\243\305_\206eG\226h\222\271\346\232\35\r\272Tk\256\272\366[\375"
+"T\372H\222\335\246\231\266\13x\261\336=K\222l5\301\365\42i\303\331\26\367"
+"\362{\23\374\5\0\360\311\0g\1\0\343\376\333\224\365\275\f\246\374\341\334"
+"\377\365Y\21\13\223K\314\320\216\207)\221y\6x\275\347b.\221\2707\327\32"
+"\334\17$\311^\23|K\34\317M:oMg\376\343\245VgW\344\13c\262E\265*\333\262"
+"R\321\375\274\244\372G\373\345\242|X\222\373\202\257J\315\366\350\253\265"
+"\240\375\222y\336S\361\207K\266>\247\332)i\265\177{\246\370G~\240\307\237"
+"\220\37\6\225\221\237\226\3766\251F\336\\b_\34\220\254\327\247\325H\373"
+"R\343E;\323^e\377\272[YYY\315D\375\5\273f\2\242\323\352\260\332\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1hIDATx\332c`\30\5\243"
+"`\24\214\202Q\200\0nk>\375\377\377i\235\77\31Z\35\237\377\207\201R\204"
+"(\367\274\17w\222\t\352\355\377\217\f\262\241\242\21\377\377\377\377\377"
+"\215\207\200\336U\377\321@\243\34\3\203\305^\b[\26\277\336\332\377x\300"
+"s\2\26\303\25\376\304\2429\4\277^M\210\252Y\242\f\f\f\301\327\320\364V"
+"\21\260\230\363\303\377\377\377\77[By\316w\221\365\246\22\f\353\300\303"
+"\227\353\221\270~\267aZ/\252\222\21\353j\355\27\377\376\177:\337b4\353"
+"\f#Pu\343\77^p\255\34\267\336\255\377\t\202M\270\364j\377\'\2h\42i`Bb\277"
+"$\302c\377_\341\222\311\42lq&\262zF\24\335\242\21\246\222\234\314\f\f\f"
+"L\334\352,p\321\337\267\276\376c``\370\373\375\371\351\345o\210\13yg\230"
+"e\16\344\304[\nDo\2Y\221\316\1\321\314\212[\5#\276\220%\244\202\211\222"
+"\49\252yT\363\250\346Q\315\243\232G5\217j\36\325<\252\31\7\20\203P\302"
+"di\316E\241H\2\342-\360\336\267(q:\262\317\341om\237\311\304\255w\3\341"
+"\306\372\32\\z\215\210\351c\350\341\b\260_\304\370\3547.\211\5\204-\236"
+"\203\333\330\310\375\177\360\351\374\2757|\264\343:\nF\301(\30\5C\30\0"
+"\0\244\225\32*\216\77EJ\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1PIDATx\332c`\30\5\243`\24\214\202Q0\nF\1\275\200\333\232O\377\377"
+"\177Z\347O\206V\307\347\377a\240\24!\312=\357\303\235d\202z\373\377#\203"
+"l\250h\304\377\377\377\377\177\343!\240w\325\1774\320(\307\300`\261\27"
+"\302\226\305\257\267\366\77\36\360\234\200\305p\205\77\261h\16\301\257"
+"W\23\242j\226(\3\3C\36054\275U\4,\346\374\360\377\377\377\317\226P\236"
+"\363]d\275\251\4\303:\360\360\345z$\256\337m\230\326\213\252d\304\272Z"
+"\373\305\277\377\237\316\267\30\315:\243`\210\1Ft\1^]Q\16FF\6\6\6&\306"
+"\177\37o\334%\305,\371]\250Y\370\2237\t\232\367`\224\36\304\347D\226\17"
+"\30\232\27\22o\363\42\f\315\37Ipw\313\33t\335\244E\0\33\17/\257\200\254"
+"\347f\2624\303\300RJ4k\22\324\314\210\257\2 \244\202\211\222\3449\252y"
+"T\363\250\346Q\315\243\232\207\215f1\b%L\226\346\\\24\212$ \336\2\357\33"
+"\211\22\243\276\342\352\177\202\340r)v\275\307\377\23\5\16c\323\353\377"
+"\237H\340\205%\300~\21\33\32\277\261\tn\'\316\342\315\330\215L#\302\327"
+"G\223\31F\301(\30\5\243`\24\fU\0\0O$\363j\42-\177\320\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\27IDATx\332c`\30\5\243`\24\214"
+"\202Q0b\0#\26\61\t1\16f4\241\277\77^\275 \306\270\t\377q\200\t\204\365"
+"N\376\217\23LFW\313\204.`\212\333\\3\202\232w\342\326\274\223\260\273\263"
+".bw\364\305\354\321\3445\\@\325\215\377x\301\265r\334z\267\376\'\b6\341"
+"\322\253\375\237\b\240\211#m\277$\302c\377_\341L\326\204-\316\304]\222"
+"\210F\230Jr23000q\253\263\300E\177\337\372\372\217\201\201\341\357\367"
+"\347\247\227\277!.\344\235a\2269\220\23o)\20\275\tdE:\7D3+i\245\'<d\t\251"
+"`\242$A\216j\36\325<\252yT\363\250\346Q\315\243\232G5\217j\306\1\304 \224"
+"0Y\232sQ(\222\200x\13\254\341\332(J\234\216\354s\370[\333g2q\353\335@\270"
+"\261\276\6\227^#b\372\30z8\2\354\27\61>\373\215Kb\1a\213\347\34066r\377"
+"\37|:\177\357\r\37\355\270\216\202Q0\nF\301\20\6\0t6\267\200\277L\34\371"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\bIDATx\332c`"
+"\30\5\243`\24\214\202Q0\nF\301(\30\311\200\21\233\240\204\30\7\63\232\320"
+"\337\37\257^\20c\336\204\3778\300\4\302z\'\377\307\t&\243)e\302\320l\212"
+"\333\\3\202\232w\342\326\274\223\260\273\263.bw\364\305\354\321\3645\232"
+"\253\30\30\30\30\30xuE9\30\31\31\30\30\230\30\377}\274q\227\24\263\344"
+"w\241\246\252O\336$h\336\203\221(U\211\326\313\362\1C\363B\342m^\204\241"
+"\371#\t\356ny\203\256\233\264\b`\343\341\345\25\220\365\334L\226f\30XJ"
+"\211fM\202\232\31\361\310\375\'\244\202\211\222\3449\252yT\363\250\346"
+"Q\315\243\232\207\215f1\b%L\226\346\\\24\212$ \336\2\253\240\33E\211Q_"
+"q\365\77Ap\271\24\273\336\343\377\211\2\207\261\351\365\377O$\360\302\22"
+"`\277\210\r\215\337\330\4\267\23g\361f\354F\246\21\341\353\243\311\243"
+"M\356Q0\nF\301(\30\262\0\0\357\331\220\317,\251\333\311\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\250IDATx\332\355\230\337+\203"
+"Q\30\307\37\233e\332\245\346\327\365JK\244-J(\245\374\13\354\3124\324\310"
+"\265P\244\374\27,S\226\233)\224\222\222\233\271aI\224\264\13\77n\f\271"
+"\235\311k\276.\336\r{\367\236\235\263\271!\317\367\346\364~\317\3639\317"
+"{\316y\336\267\363\276D,\26\213\365Oe5\32=c\215g\246\221\303\276\314\215"
+"d\260N\0+f\35\21\0\335\22x\25\0\374\205\376(\0\254I\340#\0@\241\17\0\210"
+"\33L\213\341:IDD[Fv\227\210\210\356$\231\207\0\0X\312w\303\272\353\227"
+"-\277\36\206\204\367\313\352\270\312\232\322\275\13d\3q=\355\251\42\252"
+"\362\316\336\346\234\200|\347#\20(\242R7QsvC\255\352\346\314\330y\325\232"
+"u\305\214h\314UB\311\273C\337\321\220\333<\252B\310\267\365w\265\324\323"
+"\375\371\341\336\351\357{\236\305\267mw8\3546\322\322\317\251\27\265\241"
+"f.QT\27Sbv\7Rm\213\330f(\310-x\236\37\24&\206GQ\317\270<qP\274\332\316"
+"\301\366\206j+\21Y\34M\225\237\256\226H\275\23Q&\235<^\177R[\371\276\\"
+"\262\336rJ`D\361\335c^%:l+\247\302\210 \213\260\374\244\266\31f\230a\206"
+"\31f\230a\206\31\26\250Voj\312\202\'\363\232\222T\267\230;\270.8\325\210"
+"\211\223\342\247\355xP\314n\312\17\353Q\21\353Q\371\306h\25,\330\253\312"
+"\3144QGX\236xY<\254\357\340\255\30\251\355\17\360\77-\26\213\305\372\303"
+"\372\0\16\372*X\314\26\203\353\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\1\206IDATx\332\355\225;K\3A\24F\357\256b,\\\20$\276@l\222"
+"\302\42\215\1A\324VP\13k+#\301t\226\202\42(B~E,4\342vZH\n%\330\231 \210"
+"\225A\20\301Wc,,\214\245\242\237E\22tw&\316Ll\242\334\323\f|{\317\314\356"
+"\314e\226\210a\30\206a\230F\243IH\306\22\275\347\322\322\271\231\367;\305"
+"l\303\0\66e\17\\\0\243\n9\r\0\61\61\237\7\200\35\205|\n\0\20s\0\300\231"
+"7\263\375EE\42\42\332\367\307\207DD\364\240Xy\26\0\200\ro\272UNc\252\375"
+"/\227\341*\372\25\r\335TB\345\341\305+\205\270]\36\f\20\5\242+\367\325"
+"$\256>z\27\65pu\32gW\356\356\351\265\335\252\314]\323m\332P\316\257\346"
+"B\6=\37N}WSai\221U\333\357\31\37\211t\323c!\237-\362\5\322\0\bG\345D\202"
+"\255\226ED\266\365Q\272\2746\231\253\77\353m\254\227)\3\371Hh\351\260\266"
+"\333\374,\310i\375\225\267\5\271d\360\336\311\'\277mv\0-m\216\323\3367"
+"\221\251K\366]G\365\311\3J\331\372\351\22VU\330\277iO\226Yf\231e\226\377"
+"\215\334Y\36:\352\222\27<\203\21]\311\352\17z=\250S\277t\1%\205E\271{\2"
+"-\216e\35644\231\224l\330\253\356n\274\311\302\3\275\2053\362)\23\32_\235"
+"\217\23\3030\f\363W\371\4<!\376\211\336T\4\364\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\1|IDATx\332\355\230O(\4Q\34\307\277\263l"
+"\310\301\26\273\332\203rA\42iKND{p_\27\212B.KnJ\271)\7\7\'w\342\344\342"
+"_j\313AQ\216\242(bs$\221\342@j\27_\207\261\323\314\341\315\314{\256\277"
+"\317\345M\363\336g\336\373\275\337\233\351\275\1\4A\20\4A\20\204\22\363"
+"7\364\345zN\355\346\30\310\276\312mc\bZ]B\304u\375\24\42\60>\253j\246\202"
+";\316\272\333[\36;>\324\225\254*\3\20\251n)w\356\26\363\37\77\0\276\77"
+"\37O7_\302\315|\272\324Y\237I\336&mw\314(\351\225\266\34U\267\260\374f"
+"6\250E\344\77\13Rd\221E\26Yd\221E\26Yd\5\t\273\2505\222g<\205\26\365\213"
+"\245\215\353B<\2341}\356\277\333>\313\252\335\275\340\315\372\226\312M"
+"\2059ct(&\254\20&\262\242\252b=\270\343U\365c\207\217\276|\325\313Q\235"
+"\204\305\6\17\35s\247_;\337#\177\352\212\311\372]\262\307\333l\342&H\222"
+"\'f/\316\32I2i&\223$\227\315\334\fI\262\333\354c\220\2\0\274\232\311\25"
+"\0\200\1\263aO\330I\356\1\0\253N\3478\b\240\346\315.\217oc\355M\205\334"
+"\354\275V\327\33\236\265\235\321\34x\336\345\3365\352\206\275\353\270W"
+"i\275\230\1\240s\274\267!\372\376pq\260-\77\222\4m~\1\343\273\315\324\371"
+"8L\205\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x"
+"\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\254IDA"
+"Tx\332\355\227\317+\303a\34\307\77_\371\335\326&\266\345\260\270L\21%\27"
+"\'\34\34d\16j\'\311\5\245\34v\243\\\234LI.\374\1\64\345(j\211$)\311\311"
+"\301l\205\270\315E\213MNS\336\16\337\r\333\276\333\367y>\337\223<\257\313"
+"\247\276\337\347\365\374\372<\317\363}\276D\n\205B\241P(\376\20u\353\261"
+"\3231\256\234\2\200e\236\273\n\0\200\215%\77\353\362x\231\42\25%\337\270"
+"\364\320\301\222\2634X\221aE~a\311\t=DY\263\275\250\317\266\306Kt\f\0\202"
+"\345J\224\253xv \271u\245\266\251\242h\221\330\273\\\265\232FD\25\332g"
+"\372\366Q\246\256\226c\344\3616\42!\237\240\20\237\260[\231*\222\303\342"
+"-o\27\311i\211~\207\222\205\266\\\2\252mv\273\323;\34a\3119v\254\310\355"
+"\246\262fz\352j\26\216^\42%+Y\311JV\362\77\220\335zhd\311\301\274 \205"
+"\'\224\373@/yD\312/\304a\312\315\274\261{\t!\316\215\334Q\b\3427\230\260"
+"\214\350l|\30=<\24k8b\\\345\214\300\250/\246\205z\347\b\374\\\7\367\375"
+"\365\262\251\236\310\252\33\234\245\273\2\0\210\266q\\w\351\264\232\263"
+"\t\0h\346\311\0\2005\236\33\0\0\364\362\366s\17\21\21\275\362\344\32\42"
+"\42\32\342u{JOr\37\21\221\326$yqu\244\364xv\347\354\364e\16\346\22RM\207"
+"\363\26u@\262\343\367\277\334\207V\331a\357}\273\361A\331\313:Q\367d\277"
+"\267\352\375\351\372hW\375\373*x|\1 \350\317\217b\217\230\245\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^"
+"\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\19IDATx\332c`\30\5\243`"
+"\24\214\202\1\5\214\370$\335\34\31\17\354 \317\\\343\37\377\377\377\377"
+"\377\323\204\34\275\272\377\241@\227\f\315/`\232\237\223\256W\357\77\34"
+"\350\340R\303\204K\302\2\301\264$Y\363/\254L\42\201,\302\331\262\244{\372"
+"\30L\35712B\233\375/D\357_v\262R\311\306\377\377\377\377\337Hv\34256\36"
+"\315\300\303\21T\335\370\217\27\\+\307\255w\353\177\202`\23.\275\332\377"
+"\211\0\2328\362\363K\42<\366\377\25.\231,\302\26g\342.\267E#L%9\231\31"
+"\30\30\230\270\325Y\340\242\277o}\375\307\300\300\360\367\373\363\323\313"
+"\337\20\27\362\3160\313\34\310\211\267\24\210\336\4\262\42\235\3\242\231"
+"\225\274\272\352\77!\25L\224$\310Q\315\243\232G5\217j\36\325<\252yT\363"
+"\250\346Q\3158\200\30\204\22&Ks.\nE\22\20o\2015\\\33E\211\323\221}\16\177"
+"k\373L&n\275\33\b7\326\327\340\322kDL\37C\17G\200\21\65\66\360\33\227\304"
+"\2\302\26\317\301ml\344\376\77\370t\376\336\33>\332q\35\5\243`\24\214\202"
+"!\f\0\211\275\255\312t\341\236\202\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\203IDATx\332\355\230\317k\23A\24\307_\242-\212\202"
+"\325\32K\243\26\17m\265\206\210\305\326\233\20\b^D\204Z\241B\5\25\177\321"
+"Z\241\265\4E\21\177\240B\351\37\340M<\b\36\212\36\4\305\213\265\202EJ\301"
+"\242`\242=(h@\264=\330\232`IR\277=\214\223f\335y3\233\25/2\337\313\16\363"
+"\346\263\263\363\346\275\3357Kdeeeeeeee%u\341\35\264J\236\343\331G0\352"
+"!\307F\340AM%@\260\244\375\325\303\302\360\215\263t\233\'\356*\35\37p\320"
+"\241\203\255\265\313\227\20Qp\305\346\245\305\336\374d\366\27\21\315\377"
+"\3742~o\332\233\347\343r\262\230\237};.\330#\2766}\231\200+\370\21\1\235"
+"gM#\202\177\23\220\328,.5\276\340^q\351\363\361H\341A\271U\203\233\312"
+"#\23I]\224=m\323\261\17LA\332\313\263\r\306\b\237\340\35\66U0-+\255\261"
+"\2352L\3749\242\213\260\265\235\261X\225\242\77\77\231\311e>\216\f\31="
+"\36\223\363\\\275\346#\277\216\t\242\237(Q~~\375\316\252Z\242\365L~y\313"
+"*&\277\376UVY\330\302\26\266\360\377\r\213R-\3362\372\302\357\35:\0\354"
+"Q\274\267\1\0\316\226[\357\1\214\371\204+\325\246u\2i$\332\42Z\253U\16"
+"\253#\42\242\246\77Mg\304\245\207\250\247\330r\253\31\0\320\356\354\254"
+"\271.\77\254\303\317d\353\264\2n\5\0\\!\252<\373J_\22\344\23.x\'\0`h\373"
+"\3367\346b\375\276:H\302-\35Q\363\256\356\337\246\204\347\139/1\221wE\30"
+"\21Q\372\345\207\206]F\366vJ\271\346\313Dtt\244\240]\361\353N\306a\'\230"
+"\2716\336\224\350\rU\26\355\0\0\360\245\361\250`\17)\215[\1\0\217Y\370"
+"-\0\340\271\332X%\356\\\317\260\342\301\320\314\325L\0\0\3564\230\6\324"
+"Y\'tW\320\77\32U\306aad\3\250Z\372\363\242\313T1!,\267\370\255o\223\364"
+"\314\1\247\341\260,\222u\201\263\257\30\7s\227\212g\241@\327\224\354\r"
+"iOt\365ck\26;\237\214\177\312\205\242\361\r\213\307\362\244!j\357\260A"
+"9[g\316\227\335\2312\177\238u^\201\316\265{~\203\367g\235\350\364\311\262"
+">\0\321\201\224$S\3\21\375Xu\245\277j%e\277\333\177NVB\13\24\3370C~A\364"
+"\30\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0E\0\0\0x\b\0"
+"\0\0\0\201\2`\206\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2QIDATx\332\355"
+"\230=h\24A\24\307\337^bH\340V\242p\227\20\20\211`\341\351\231V,\22\21-"
+"\304B\321F\4S\n\202)l\304\30l\304X\330\251`!\1\21\24\202\37\205F\20T\4"
+"\t\30,,\f!\21!bqX\344LH$\301\257\304\237\305\356\236\267{{\271\231\235"
+"#\202\314\277y\373v\36\277\231}3\373fwD\254\254\254\254\254\254\254\254"
+"\376\33\265\\\235xy\254\314\357\274\371\372F\2076e\36`\260\344\346\1\350"
+"\324\204\\\1\200t\340\217\2\60\242I\231\361(\307\3\337s\211\215MU\245d"
+"<\223\13\262\264Z\217\251ZC\332\340[\327\267\215\211(\250<}M\312\234o\27"
+"|\273\254G)xf\334w\177$[t\27\2749q\2\377\t\0wt1\23\0}%\267\375\33\60\233"
+"\216\ruV\301\234\352\371r\353mY\350\231\334\3705[\30\254\314U\261\352\334"
+"|\246\331qD$\345\374^x\77\235\b\272\371\31!}=\370\267\255\353\321\324u"
+"5\312\13\242\332\32\64\255[\2^\251@\32\347+(\267\203\266^\0v+T\251\345"
+"\307\25\1\207K\17+\42\42\373Tj]\357\340l$`}p\3415lQ\315pS\332u[7\35\30"
+"\211l\35=\0\334\327\235\257\273aJ\26\200\207\272\224m\221m\f\200\7\272"
+"{\300\224z\207)\315\1R\27\212X\212\245X\212\245X\212\245\254-%[\27J_\35"
+"\6\331v\211\270\335>\376\313\243\374g\362\334\211\\\302.\313(c\273\352"
+"\220\335C\361\220\217z\224\237\361\1C\232\303zJ\214&%\234\335{51\'\307"
+"\242\214\351~\211P\206M\347>\374\21m\364\6,\32R6\212\210H\321\220\262]"
+"DD>\31R\366\213\210\310\244ar\13\341c\207d\332\t\300w\303\241\274\1`\310"
+"\fr\332[\206]F\220#\36\344\203\21\344\274\377Ft\33\60\216~\366!\303\312"
+"\377\323\42\342d\233\33DD\34\247\311\355\330\261wOp\277\250Q\317\317\316"
+"PE\255\352\220\201j\214\202\253\221\204\347U z+\345b,c4\2579#\227W\242"
+"\210w\3\31\3353\17\21ikoi\360\252\333\312\257\245\271\242=\30\372\307\372"
+"\3\200:\274\345Y\334\32\220\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2]IDATx\332\355\230KHTQ\30\307\3773i\17\64\223jH\241,\2412\220"
+"\241E\6F\213\202\301\202\202\240\261\250\bz@$\256-\210\242\225\271\30\42"
+"Z\272\ti\321\252@\305\225\21=\210\242,\250MdF\330\33\22[h\315\340c\252"
+"\177\2133\347:\316\234\307\275Wi\323\371\257\356\371\276\357w\317\341;"
+"\337y\334\13899\315\257\26\370\r\214%7\217dBvr\223$\273C\241\361\77\24"
+"\332\22\234=LO\'\203\262\355\314\323\325`l/g\351~\0\264b\230\5\32_\353"
+"\227m\224H\266\253++\237\367\372c\217\311\370v\0\270$[m~\33032z\227h\357"
+"\226\355\224\235=\230\13\35\251\222\226\352\321\234\251\305\n\177\25\201"
+"\267\363mw\204-m-g\345\20/\13\353\32\33\375\206$\223\205\326f\222\34\266"
+"\16{[\317@\207\312\336\361\254w\273\333\220\234\346\250\263\257h\320\335"
+"\244\211\355\246E\347\365\354\6\33\313\241E\210j\340\321_\326\305>\245"
+"\367\265X:\376\322\0D\264\364\312#[\253\227\210s0ZVW\342\331\263o\323\323"
+"\351\367\17n\5\310}B\366\2703\314\314\235\22\354\211P\323\276X\300\245"
+"\371\266\210o\232\305\361\321\271\24\241\203\35\354`\7\377\267\360\314"
+"1\222hx\374(\354[\16\221\334c\334\267I\222j\337\20\311\247\1ay\2,\234\262"
+"\235\37\206\23\243\6\0P\31.\333K\1\0\345\341\340\222\202\334\7\202#\377"
+"\240H~\33`k\377\357\302\365\274\16\0\360\302\0\33\22\266\3\0\360\320\0"
+"W\350\341\243\0\200~%,2\261I\237\330&\0\300\7%<\1\08\240\205\257\0\0\256"
+"\251\235\225\242\356k5l\255p\327\31\27\3157\215\367#I\362\211n\\7\4\375"
+"s\243\312yO8\343:x\205\274\\^(r\225\276\24\236N\375\\\354\367~(\24\244"
+"\355x\316\376\331TC\373\274\273\364\344\305U^\301\266\312ou\306\212\210"
+"\374j^\77\260|\246\321\377\374\323t,\236X\355\31\352_[\n\370\272\366b\377"
+"\243\306^\376Mi5\333\347o\365\234S\240\223\315\276\27|[f6\372\375t\260"
+"\337_\251AI\16\246\352\365q\372\275cY92c\356\253\330\311\311\311i\376\365"
+"\27\200\225Kp[\274y(\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\334IDATx\332\355\327\313+DQ\34\7\360\3575%d\2202\36\65\311\332"
+"+l\2104\311ca\241\6e\245\254ldC\26\3540J\26\376\1\315Z\312c!5YXX\210X\330"
+"H\26\262@\215)\245\310c\342kq\357\225\271\346\336s\357\31\2629\337\325"
+"\234_\347s\356\231s\246\271\375\0\25\25\25\25\25\25\225\77\210O8\243$\\"
+"\37\177\222\\}\215$7\244h\355\7\3654y\267C\374\312\210W;\307oY\366f\267"
+"\230\222=\17\264\340\222\226<T\272\265\315&IF\243I\363s\257;;l\316\237"
+"\3\200ys4\341\306N\232\263\273\365q\2179^\24\333Acj\274\314\254\224\'\214"
+"\322\250\20\337\350\23c\337k\273z\355Q\370sN\273\305%\275\32\24\351s\222"
+"\f[\253\375$y)\334v\313\346a$]=r\264\325\252\376\211\376)\332\317RM0\337"
+"g-k\32\337\342\307\317\242\325\42\264\317N\256\263\35\243SNR\'gY\367\354"
+"\270tc\233#\2169o\254\323\21o\366\358\341*\321i\3y\251/!\315W\3300\36\2"
+"\0\254\17H\335\3516Ir\335q\333\366W\b\0\240\34Nw\24Y\3366\317L0\24VXa\205"
+"\25VX\341\277\300\31\275\237\77\62\301\257\231\340G9\\\f\0H\310\341j\0"
+"\300\225\34\356\2\0\234\311\335\3515IR\223\262u$\311\27\271\7\37\222$W"
+"\244\254\321\0\324\313\330\260n/d\354\264\321b\264{\247\375\267\206]u\321"
+"Wi\201\34\237\336Ke\373+j:Bf=\21\20>g\352\316\256/*\22\332\31;z\355\27"
+"\177\301]\33\353\352\206g\323\322\375Zwg\273\360n\225\2473%\356\273\330"
+"\322\262\\\275\257\342{\362\351>\241:\375\337\313\'\311\26\276\241\251"
+"\314\241_\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\222"
+"IDATx\332\355\330\301+\4Q\34\7\360\37\332\313&\244VI\271\241\260\7J\226"
+"\377`\313\211\24%\345\242\330\313^m)N\\\344*\t\245\330r\340`\345\246\244"
+"$\342f\251\305\321\312\201\3\255\266\315\327a\336\326\254\2357;\357\307"
+"\305\366\373\36\266\335~\357\363\336\354\314\233\327\233!\222H$\345\222"
+"*O\255\206\243\241\233w\336\0\315w\0Nx6\f\0@\3\307NY6\307\261\13\226\305"
+",\303n+\273\307\260g\312\306\315imZ\331%s\333\246(\242\346\266#o\207\30"
+"\3777\243l/\303\316Y\364\243\211s\201\17\0\0\327nM*\265\225K\42\242\325"
+".\346\r\267x\261\333/\313N\271%v\13\247\274mu\226\266\th\323\347\371\366"
+"s\310r\251\271\375\354\322\361S\311\303\236\326\16\234\320\243\212\374"
+"\227\300HO\243\337W\327b\33\61\375\231}M\36\236\32\234\365q5\340\206\217"
+"\277\312\277\360.x\20\0\260\342\245i\361J\222\42\42\242\7\36\316\330>\215"
+"\261\225\257\337`\22,X\260`\301\177\214\7\6\3655\0@D_\77\2\316\271x\22"
+"\0f\230\207=AD4\306\304!\42\242v\231$\202\275\275\210(\3065DDT\315\303"
+"Ak\17\255\3\365\256\335\355X{O\277\373\363\251c\255u]m\\Sa\247r`\36N8r"
+"\5\223\24\330}\200\215\273\r\355\243\375lg\r\247\307Z\301\257M\243\201"
+"\223\77\372\32=\316y\245\3671y\206\225H$\222\177\231o\260\302\b\204\31"
+"\30d\302\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0"
+"x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1@IDATx"
+"\332c`\30\5\243`\24P\27\60\23\247,\264\300\342\332\27\362l\220\273\371"
+"\377\377\377C\344\351\365\374\377\377\377\377\377\377\305\310\321\233\t"
+"\321\373\207\34\275\355\20\275\377k\311\320\273\f\252w=\31z\217C\365\256"
+" ]+\377\13\250\336^\322\365\252C\265\376/ ]\2576Lo0\31\376\375\16\325k"
+"N\206\336\6\210\326\257\322\344D\360\226\377\377\377\377\377\177\36\217"
+"\n&\334Rg\30\30\30\30f\31\222\231\343:N\257\266\32-w\210\6\214\314L\244"
+"j\311\275\366\37\31\314\347\42Ao\317\1774\360\236\4\315\17\3205\377o#^"
+"\3636\f\315\217\211\327\254x\fC7\2760E\27P1\222\340db`\342\321\362\303"
+"\245\202\30 \370\220\240\315x\2007\351\316F\2\377\t\251`\242$\21\216j\36"
+"\325<\252yT\363\250\346Q\315\243\232G5\217j\36\325L\35\315\320\241\ra\262"
+"4\347\242P$\1\361\26X\77\241Q\224\30\365\25W\377\23\4\227K\361\217j\20"
+"\0\207\261\351\365\377O$\360\302\22`\277\210\r\215\337\330\4\267\23g\361"
+"f\354F\246\21\341\353\243\311\243\375\373Q0\nF\301(\30\262\0\0#\205\223"
+"\361\273\266\231\216\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\335IDATx\332\355\230M(DQ\24\307\377h6\223o\rYY\261\300PJ\221\22"
+"K\262a5\42\245d\201\235\225\331\370X\220\205dM\210bE6>\26\312B\26S\330"
+"\2162\210\362\325(dA\222c\361\336\2357\217\373\276\256,\324\371/^\367\236"
+"{\177\357\234w\356y\267\373\36\300b\261X\254\277\226/O\31\235&\42\272j"
+"Ub\17IS\265\2;\240\2634\245\0\337\13x6aJu\r\347\213\306\221w\307\25\302"
+"1ey\367\\+\32\67\317\336\341:\321\30W\310\327\245\210Ze\225\5{\240\300"
+"\346\b\270Y\1\16\311\242v\2330\341pI\345\221\37t\307\345\311\306\24\267"
+"\371\222\315O\204\35>!\231\236\226\203\0P\244\317\32\223\336y\223,\325"
+"\b\240Cog@\342\271\314f\5\332\215\372:}\221\301\3676\217\33\67*{B>\243"
+"\3172\352\235\f\243\276\276A\211\354\5B\325\205~_v\2611t{\367\366\376\30"
+"\335\336\7Pp\7\0\330v*\257.\335\311\202/\311\330\240\331\352\35Wt\202\210"
+"\210\342&\333\240\374\205\372Y\236+\0\2005\223\255\22\0\60\343\f\307\0"
+"\0\347&[\0\0\60\351\f\277&]\205\256\1`\367\326\31\326\364i\352\255\3@\17"
+"\334\302fm\r_E\32.]o8\375nf\246\342\27b\230a\206\31\376\207pK\233\372\356"
+"\271C\24Q\205{\211\210\206\24\303\356\6\200NE\270\6\0J\271H\30F\232\32"
+"\234\t\0HW\203\203\332\31\332\n\310\265\275\335\252vT\364[\f\217\330|\232"
+"\225\314\353\7\327X\223l80*=<\367\37\223\27\231\330\r\42e\270\312#{\221"
+"\234\355w\217\3451g\352-zr\34\375\376\1\264\367\341\26=\13\363\357&\26"
+"\213\305\372\227\372\2d\244\20f\237\306\332\226\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\1\234IDATx\332\355\230\317+\4a\30\307\277"
+";J\273\326\201\344\347A)\'\345\200\345\242\234\234VqP\376\1rP{p W\345\340"
+"\340\340B\371QN\312Q)\353\340D\226\213\34\26Gq\220\3\345\42\t\371:\314"
+"\273v\315\274f\336}\267\24=\237\313\323\274\363|f\336\367\231\347\235\232"
+"\1\4A\20~\221\311\203\363\315>;5zG\222\34\263\222\323$I\336\333\270q*\n"
+"\7\35CyD7h*\'U\314\332L\373A\315z\332F\316-\271\256p0b\346F>t\371\206k"
+"\356Pq\331\246`]*\256\333\310\t\25\317l\344n7\354\241\204b\17{\312h(k\263"
+"\315\246\335\344\206\253\220\366L]\262\220\215\n\0@\257{r-\370\26\13\364"
+"\360\b\0Xt\17\32\203\345k\257\314y\0\310\370\267\243\206]\237|\13\0O$\311"
+"\225\20\271%\343\263\363O*\341\353x\357@kgC\314\201S\3316\230\317\210="
+"\27\363X\1\240\372\346\353\316=$\311\255b\272j\300\225#\300\4I\262\337"
+"\242\'\343\300\352\17\265\16\357\260(\320\f\0\3336r\31\360\2\0K6\362;p"
+"\2\340t\337f\37\306\200\2524\263\355V\233\330}\223\224k_\213\241\2338 "
+"\303A\t\210,\262\310\42\213,\262\310\42\377gY}\260\326X\311\251o\241(\352"
+"\347r\337\t\263\265&\3713\27\f%;\245w\217i\304\241\316\35\242!IM\301^M"
+"\253\361\26\360\17&\214\35\375%\307\rV}4\nA\20\4\341\257\362\t\211\0\262"
+"\307.\3128\313\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"\66IDATx\332\355\227OH\24Q\34\307\277\263;\253Aj\240HAe\202u\t\331(\br"
+"\17Y7)\262Ct\260\243\30A t\n\2\251\240:\324\241\360\20D`V\27OE\324%\301"
+"\302\204 \302\16\212\24T\26\324b\364\7;T\322\266\272_\17\63\356\274\31"
+"};\357\267{\222\336\367\360\336\374\346\315\347\375~\373~\357\375f\7\260"
+"\262\262\262\262\262\262\262Z\345r\202\313\315u)\7p\3408\0\t\2\234\377"
+"\375\251`0\311\321i\256\254\257\307c\331\303\324\353\204\226J\370\216K"
+"L\334\25\7\177)\1\317\304\205]\367F\33\365\217mZ*\351u\271\353\331d\265"
+"\353$\303\203\363\177\277\275\354\77\62k\234\272\326\27\276\303\251]e$"
+">\345\303\rem\233a\222\344+\223G\23\313\356\274WZ1<\247\264b\270\240\264"
+"bX\240\377\21v\343\37Y\333\233\231\35|f6\335e\222\344`\321\36 If$a\257"
+"\361\373S\354\6\0tH\302\336\0\0\310\334_\357\333\237%a\347j\200\372\7\305"
+"\212\360\316p\301\274\37Ruw,\23\24\266\327\273\r\327\277\177y%:o\234\274"
+"\241(:\332h\236\371\217a4\177P\260k\266\204\331\13\242-\367VEG\352%h\323"
+"\214\202\376\353\20\271\275\250\272\275*B\17\345U\266S\202nz\36Z\251^\t"
+"{-\222]\1\272\277\20a\307\315+\311\311\247Nt\253\350\221\266{\217\16(f"
+":\36081\347\365\267\265\354F\222l\13<\37[\32\350K\354h\367\256\26\264\360"
+"\31\08\33\330\347<ow\0\0OH\222\3Z8\33Y\317\306I\222\217[<\343f\f\254$\303"
+"\5\200\357\351}\311\261\274\77\370K\\zG\203;\13\225\24}V\2\333\267\244"
+"\20v\325\177\206Rx\235\322\2125N\222\324\36\311\346R\265b\247\1776\367"
+"j\340\33:\330\255\331~\272x\262\373ZkSnXU\r\355C+U\251\364C\212\244\262"
+"{\3102`\177\265{*\311sN\210\335R\215\255\177DA\377\254\16\177\241\\\371"
+"`\214f/\331/a+++\253U\251E\264\361\177\r\264\266\251\375\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\245IDATx\332c`\30\5\243`\24\214"
+"\202Q0\nF\301\260\2\214\350\2\42\332\42\34L\214\f\f\f\214\377\177\277\275"
+"\374\234\24\263\334\356\376G\1\367\214\211\327\253\366\37\3p\342Q\316\204"
+"\302s\305TPN\264\346\373\230\n|\211w\367\24\fg\177!!\264u\203\rD\331\231"
+"\30\231\205\244q\306\7\61\240\bj5yI`\25A\315Lx4\23\64\36\217\346\273\224"
+"h\376F\211\346\377\224hf\30\325<\22\65\213\221\255Y{\353\377\227\377\363"
+"Hp\24\2644\214e`\220\333\4a\212\21\257Y\23Z\32,\77\t+\222\264\211\327l"
+"\214^\234=\'\301\317J\350\2\241$\370y\t\252\275O\324H\320+\201\252\267"
+"\234\224\4 \372\25Y\353R\222\22S:\262\326\253Z\244h5\275\207\2547\233\24"
+"\255<\233P|kM\212\336*\324\220j\42E\357i\264\244\301K\202\336\343\350\351"
+"\212\224v\305\177\22\64\243\307\237\34\224\336\235RIz\341\240\374\377\377"
+"\377\377\377\17\250200L$\275\212\265Yyl\222:\3\3\3\3\203\37%\365\263\21"
+"%\3653E\265\344\277\321B\177T3M5\263P\242Y\200\22\315\306\304:\0\33\270"
+"\17\311\222u\270U0\243\363\231\231\230\230\230\230\330%=WB+6G\2317_\377"
+"1211111\342\316\334z\233\376\23\1\66\352b\323k\361\237H`\216%\300R\210"
+"\r\213\24,\232\177\22\253\31\233B\225\257\304\271\372\253\n6\23\371\272"
+"\356\21\326z\257\213o\264\353\77\nF\301(\30\5C\25\0\0\1=\3417M\23\30\277"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\357IDATx\332"
+"\355\230KH\25a\24\307\177)\202`\326*\13B\301\350Ae\213j\321\303M\30E\221"
+"\344\242\7\205d\265\250\b\21\fZ\24\364P\42\254Hz/\262(\23\311kB.\22\23"
+"\42\350\201h\24J 7\242r\323\3#\b\242\207\206\351i\361\315\275\316\334o"
+"\346\336\373}\253\2029\233\31\346\234\337\234\377w\346{\16\204\26Zh\241"
+"\1\231\351\4m\251^\36\375a\367\376\202\327\42\362\304\216]/\42\42\222g"
+"\303\356W\354\37\33\266N\261r\324\202\275\355\260\355\26l\217\303F\314"
+"\321\251C\16[o\316\316sP\2516g\27\306\330M\26\355\35v\330e\26l\215B\177"
+"\316\264\371\300\35\42\42\322\2374&#\310\361\2\240a\261\345x;\365\274m"
+"e8\353\374c\226qb\320\351\212c\315\263|#V\337\373-.\33\357\\\23w=s;\16"
+"\370\260\345\242Y\205w\206\213Y\271\16\337\327\341\7N\367\374\354\215l"
+"\316\326\340\217\372\373>\305n\216y_\332\245E\316x\231\230x\260 \356,<"
+"\322\355\366\224\350\2116\234\353\350\33\231\210\250Mp\337\234p}\r\370"
+"*\253b\1\205\232\353\333\4}8\200\336\245\334;t\317u\227\360\\\1778Ky\263"
+"\364\311\340\255+\252\305\37\36\365\\\334\360/w}\326\246\3275\343w\343"
+"\356\307m\206\260\250\313;\0\246\324\232\r\217J\21\21i.kUU\231\346\27\243"
+"\\\201\360nrUwz\230\6\2348\365\16\360};\0%\33M\332\34\37\3\321\32\203\232"
+"yd\347\0|\21\21\221\323\306m\316tu\342|\3236\217\1<R\273\210\210\251lu"
+"\237\255Rl5\314\254l\344 \0\255\206\325v\254\376\3\0\347md\303\n\245p\266"
+"\205l\350\211\30\325\314\233\231I~\263F\232\231\221*\0\232\254\266\25\\"
+"V\203\363\252\215lX\242D\26Y\310\206\276[i}l\377\314\261D{l2\303^\0\32"
+",\n\6\\\213\2\320h%\233\42\245s\251\215l\6\224\344;V\231c\271\252l2\303"
+"N\0.f\230\27\fh\352O\266x\245\220\315\34%\265\330F6o.\245S\263\312\240"
+"iU\245;d\223\31\324\nR\227\179\206\5\3\42\275\261\232\25\231\303l\3\240"
+"\370\302\374\22\3636\303Y\325\326\316W)\226\33\377\27\217yvpF\262as\252"
+"!\231\354\357A\373\343\24\360d\265\31IV\263`x\1\0\213\374\341\241\223\311"
+"\333\245\212\321\222\352\\\352W\324\274^\307sc\256\77\\\32\f_\361n\247"
+"\273+t\372i\20\374B;\6\350\13E^\0\\\246\237!d\272F\327:\236\367\336j\217"
+"\6\357p]v\3349L\'\316\343]Z\3423\201\177>\242\332\343}\236\263\325pg\251"
+"\177\311\3275\336\255\f\17\261\241\205\26Zh\377\255\375\5u\235\27;\320"
+"\331M\202\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\7ID"
+"ATx\332\355\227M(\5Q\30\206\217KW\211P\242\374-\244,\224P\42\66\356\2!"
+",\204\224,\354l\260P\242\310BQ~\242,\270wc!\211\5\211\205(Q\222(6H(e\243"
+"H\t\371\357\265\230\231;\77g\316\271\356\231\ru\336\335\314\363=3\347\314"
+"\275s\3167\204\310\310\310\310\310\310\310\330\'\364WUu\35\5\247\317b7"
+"H=\7\260#\346\226\3\0\20/\342\266*\356\227\210;\250\270\350\25p\347TwI"
+"\300\335S\335\371\340\325\350[\325\35\r\336\315PUt\4\357fjn\255\300|_U"
+"7_\300\355W\324\227$\221\37x\25\0p\304+q1\311!!\204xs\4_\270\241\203\305"
+"B\271\354\374\235\204pXz\265\';\321u\177\272\273\276\35\3502\21\2055\325"
+"y\372\241{\340\rz\266*yj\354\262R\345\323\376!\260\344\221\363n-hE\33\204"
+"\20Rp\13:\33L\371\322_\343KN\32\204m>S\30\362\204^s\17fXk75I<\215y\242"
+"\b!$\266jQ;u\307\32x\314\202I\275\2500\2600m\5\236f\316{\323\340vYX\263"
+"z>\231%\227\352n1\5\353\25\60\313\34\270\337\315a\77R\346\2705\267\204"
+"C\213\3\310=\366t\22\0\60\302\227O\30\264\b\0\260\317\227\263\31\324\r"
+"\0x\346\312\17\1\36\tw\335^\373\375b@\313\227N\344G\'\362\227\23\31Nd\42"
+"e)K\331\345\344rti\244\230\234\245\264\331\254\3228u_\261\247^ey\fg\310"
+"}\n\356\266c\221\343\352\206qf\337\235\267h\233Q\23\205\332\256\f\373\353"
+"\373\260\333\312=\347:>\3123\263eKWp\35e\346\rf\\fd\271TO\321n\226w\315"
+"t\305\370\264\77\250i|\4q8c\271\3611\273i\260\371\340i\334\3726\250\235"
+"\324H\322\246\374}\335\315x\202\354\331eddd\376e~\0\256\'W\24\36\36\30"
+"\4\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0"
+"\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3,IDATx\332\355"
+"WKHVA\24\376\376_\4\301,7i-\f\214\22\n+(\n\305M\30F\17\313\26\21\205e\t"
+"e\224\bJ\201\275\260$\42zH\357E\17\352W\204\324 \27\205\nQ\24\241)\225"
+"\42\210.|lzP\bE\5i\210\236\26s\347\377\357\3743\3671\263*\270gs\357\234"
+"s\2769g\2769\363\2\2\t$\220@\0$\304\265\323O\354\236\323\257\360+=\222"
+";\364\323\253\263\27D4\276&^\233\363\235\210\272\274\260\251DDD\225\242"
+"\266\212i\347{\241\307\231_\304\256\253g\272)O\16\312\230#\365\205\270"
+"&\334o\251\252\275\31\274d\271\322r\326^\301\333\21\77\374Ws\357C\0p\230"
+"\267\352\374\315\3366\356\77RS3\312\377\367\373\235\373\254\77\24/9\32"
+"\245\363V\204\16\'k\25\336=;\266E\267l+c\330\223\372E_\300\261[L\226Lj"
+"\17\21\321\373\271..!\27\333\352M\241\366\236`\343\371\227$|v\314*\210"
+"\351\306\205J\217uO\204\2652\323V\20\65\365\330\rU\nl\261\264\312\250\304"
+"2m\24\325\3052\270]\6\77\3\2000\360U\364lL\222\300\237\344\376>\363\237"
+"\32\261\323\16\311s^\177|\340\261\5Qc\346\251N\273%_\16\264\371\312\323"
+"\336\311\230Gm\234\371A\314\364\315aV\326r\207L\311\364#\206>\356\200\336"
+"\307\314{\334w\236\24\658\221Y\23\243\5\22\265\214\330\274\36\252\301S"
+"\302\307\16\376m\347g\275\277\322\214\376\315\330\325\2174\301\304>\243"
+"\0\200\331\265z\313\243\234\210\210\32\213\232\31+\312\215\217\231\34\301"
+"\245Ha\345\364\334\78\34g\36\300\257]\0\200\374\255:c\216\256\201\3013"
+"\32\234\ti\'\307\356\26\27\264\307\234`+\342\f\3351O\3\300\313V\0@\223"
+"n\332\354\77\211\205\330\241\31\231\311\344Q\0@\263&\333\226\324}\4\0\\"
+"5I\33\310e\31.2H\33x\323\244\305\231\30\31!\325\256\34132\250\2\0\320`"
+"@\30\200\233lq\3366I\33X\311\222\3146H\33\350\255\3675\331\352\310<\320"
+"\1\223\310@\31\0\340\216\1a\0\356\16\2\0\42Fi#\233\345\271\312$m\f\260"
+"\224[\214\42\363X\25&\221\201\275\0\200\353a}\302\0\64\364\271\35^\36i"
+"c1K5\317$m\f\337\360\303Y\271\323\266\312\302\35\63\211\f\260\23\344|\6"
+"\220\254I\30\200\246n\316Y\266>\30;\1\0y\327\226\344\353\217\31\270\314"
+"\306\3326\344q\334\250;\236\26npZi\3\333\275\226d\202\13\270\365\225\7"
+"x\26\273\214\270q\346\f^\n\0X\246\6\1779\347>.F\206\343\n\230P\20\306%"
+"\255\333\262\334\317R\203\13\235\301\267\304\353tg\211\214~\355\4~\'=\3"
+"\344\203\42\315\1\\$\277!(]B\327Z\226\17\42\333S\3167\\\233\234f\233\212"
+"\264\217wH\201/*\17m\42\242AI}Px[M\264\25\252)\337\20y\\\36<b\3\t$\220"
+"@\376[\371\13\211\302q\243r\22\332R\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2UIDATx\332c`\30\5\243`\24\214\202Q0\nh\16\230Q\271"
+"\342U1\374\27\261(K,\266\274\376\211\220Y\373\376\377\377\377\332\f]\324"
+"\342\375\377\377\377\217\21\322+\360\377\377\377\377\377\377\27\240\212"
+"\26BD%\t\351~\rQ\267\0Yl!D\3547\301 H\203(\374\177\236\21&\302t\21*TN8"
+"\0\273\241J\377\353A\370\3720\376\2b\202\277\34\246:\223\201\201\201!\13"
+"\306\353%.\362\2`\352\357\324\325\335\205\261S\210\215z\265\237\377\321"
+"\201\5\t)\3474\252\326\333\334$\245\2739\310zW\221\232j\13\20z\253IO\363"
+"\2560\275\276\344\344\30\201\223\377\377\377\377\177V\24\237\32F\334R\246"
+"^\214\333O\216\226;\243\2002\200\'\2051\250\3709\32H1\275\271vt\347AB\306"
+"pY\371\373\231\42\270l-\77\220\262\345~o|Z\5\67@T\315\206\362;\320\13\223"
+"\217\301\2705\257\202)\332\315\300\300\300`\361\342\77&\330\215S\363\35"
+"\270\232\3312\322\355\377\261\202\337\26284OD\250y\363\37\'\20\303\241"
+"\33\303\223\377\77\3679\3622000\b\372\256\206\t\275\306Yt\254B-2\275\220"
+"\344X\226AEg\342\364\367\36$\275\3505S\34T\\\6\227f7\204^\7\f\3110\210"
+"\304\22\2\265\363\377\377\377\rq\7)Nw\303\364\272\342\221u \240\271\n\273"
+"\354\224\377\377\377\377\377\337\203_\363U\34\262\326\377\377\377\377\377"
+"\377$~\315\68d\331\376\377\377\377\377\377\27\274\232\337\21\b\22$\1&\f"
+"%[\211/\f05\337\241D\363GJ4\377\241D\363\177J43\214j\36\325<\252\231\211"
+"\22\3430\225\362\220\247\31\322\33\322\306\245T\4Z\257`\227\235\5)\36\331"
+"qh\256\203HWb\223\343\231\0\2550\256\233c\325\233\4\253\214b0\244\362\356"
+"\42\325\257\77\273\331\320\345\35o\42\244\317\233\242\312m@k\25<\340E\225"
+"\17G\225vG\2263\302hS\344\243j>\212*\273\t9\264\177ax\343\27\t\334\5h\26"
+"_\300\335h\370\377\377\377\177\264 \215\334\377\27Ik\t\206K\224f\300\333"
+"u\217\'\210\217\266\331G\301(\30\5\243`H\2\0\20\60\261|\231\210\374\266"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\23IDATx\332\355"
+"\230]H\24Q\24\307\377\273+V\232V\26\221FE\42\25\333Cb)\24\30\221\231))"
+"\205/\221%\t}`\321c\275\331K\366\22\25\206\366\20\204\5\25A\20\202\4\271"
+"A/\326KE\244\241\224D\205\213\270\241\273}(\245Euz8;wgg\356\235\271#B\4"
+"s\236\226\363\77\277\231;s\357\371\230\5|\363\3157\337|\373\237, \361-"
+"[:7dq\375\236\36\373\250s\2716RX\233;\333NJk\267\306\6\255\216R\365u\313"
+"\\\341\210\32\216\270\257\373x\277|\321\375\'\374\343\365O-\344$\6s\262"
+"\2\277fp\321M\347_\31\33<~\273\316\13\231s\301zB\356\24i\242Y\267d\7,\222"
+"\257\303\236V%\325YWt\336KuJ\276\316u\256$\245\317R\277\23\275\203\211"
+"\314\225%\233\315I\371\334\341\276\325\342.\3\215\302\271\274\345\273p"
+"W\252\331J\221~%\351B\335\'C)W\261a#\342\230]k1\264U\n8)O\25\312\304\215"
+"I\365\213\234}\310\352\260j\373\343\254\337\225\211\207X\213\253_\311W"
+"\216\330\243^\364\42\65\2748\31bW\256\260\260\323\351\4\355\340\230V\333"
+"\311b\377U\255\216`uw\250V${\266V\251\267\311\r\336/\273G#\21\21M\273\347"
+"\334g\42\42\332\233\346\343\\\322\350\t\207\211\210\350qZV\221\262Y\333"
+"\236\332\24\311\215\256\36\0p_\247V\334\3\0\3546y\270\360h\3259\316\332"
+"N\223gLk\237L\3732\352\344p\260\221\324\215\202\0\220\7\0\350\321\203\271"
+"\305\347\tx=\0\240W\17\346m\n\13x-\357\265\36\334\7\0X\'`.\35\357\365`"
+"\16+\24p\1\0`R\17\236\200@\202\0\260\300{#\314\25p\0\63\263\240\207\5\233"
+"mR\3001n\254zX6\0`T\300\246\27\350n\34\366A\300o\0\0\305z\360\6\0\300\220"
+"\200\7\1\0\345z\360V\244\220Tb\214\350\301Qk\6\306\275\246\344\270\251"
+"\222p\246\324\350\2605\266\351\271\236\210\210\272t\340.\42\42\252\237"
+"\255\2\210\27\0\200\243\356l\263)\334\260\6\42\42\232p\207y<i\220\265\233"
+"\3nl\223\264\245]\362\322\350\254_X!vw8\263\3278*\323\352\277\310\376\n"
+"\'\266\226c.+\307\212\205j\266@9V`\37\231\16\236\3142~p\304A\231\330\315"
+"ZT5Jqk\246\7ry\212\325\237k\244i\234\\\363\37\305\265\213\214\21\361\244"
+"];eha\325Sm7\42\206\266\244\13\333\206\r\245J\375>w\211\331\370\335\221"
+"\f\3039\2479*\334\265N\303z\331S\323\264\370\250/\26\310/\2560\315\367"
+"\345O\34\317\320\374\1\365g\302\333<\327\2749\243b\317\351\324\212%\335"
+"2\264\'_\257\304a\305u+zs\265\227^T\3259j\200\261\33\325\36\376dI\r\330"
+"\331\370\226\360\77\326}\363\3157\337f\331\376\2:\1\f\3611\333=G\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\244IDATx\332\355\227"
+"Kl\214Q\24\307\377\35\2351\261\250\212\246\244BB\330\30!jP\361hE\42!\221"
+"t\207\5\321\20\2256\266l\274\322\330 \322J\211J\204\246l4\26\263\235\b"
+"\211t!\264\264\263\320\240!M#^\23\62\65\255\24\345X\234\357\233\357u\357"
+"wf\304\302\342\376W\223\363\77\277\233\3738\347\273w\0########\243\277"
+"T\231\42\66\277:>\303\27\3725\365\351C1\303u\220F\35\62\333IZu\372s#\376"
+"\300Z\375\270\353D8\255\207\323\362\274[2\352IgZMy\375w\265\315j\330Z\227"
+"\250)\313\217\f<L\177.i\310\232\2661\317\31\337XS4\272}0X\42\331\375E\241"
+"\265\317\325\25\226\335&\263W\364]uK@\347\216R\210\262\13\302\330UN\342"
+"\340\261\344L\0\250\330\3346\342D\223zvu!\351l\334\35\257<_0jul\265\235"
+"q9\350]\262\275*\r\374\326\362\353\224+\232dsT\315^c\367uD3v\277\346K\6"
+"\0I\366\336\350\267\344\tg\254TX/\330\212\206\34\306W\42\42\32R\324$\263"
+"\365a\'\271\202s\32\2\3063\42\42\352\16\257\241v\42\42z\344\17W\361\240"
+"\21\241\29\253\302\367\335>\b\0\270\376[\272\213\0\0\207|Q\356\302%b\243"
+"\23\21Q\277j>y\271\351\276\20\21\221w\332s\0\0wd\270\27\0\60\333\3\'\0"
+"\0\367d\370\1\237\231\7^\f\0\310\310p\306\225n\303\334+\357d\370\275+\335"
+"\206\313\1\0\3232\374\23\0\20\365\300\223\334\3642\314[5\341\201y\302\313"
+"dx\251{}\26\374\n\0\260Q\2067\270\322\275E\362X\206\373\334Eb\353\273*"
+"\250\353\214)_c\244\0\0\342\235\262\333\225\354h\'\21\21\215I\360K\42\42"
+"\332\241\356\324]\302\25H\352\325\265{V\243\3218\21\21]\f\304c<\350\315"
+"0\266\213s\312\203\316\5v\216\352\331#\234qN\345M\263\327\244c\367\261"
+"\377Ci\326[\267\315\t5{\334\262\267\250\355\323\226}\77\36\364\242i\313"
+"<\245\233\330m\373*<\343wN\332N\217~K\356\26\356\341\36\327U\271\276\273"
+"\20\356\r{\207u5;\277\207\373\206\77b\336\362M\t\'t\265%\264\f\232\303"
+"\336$\207\245\352]\224\321\241C\13\213x\210\355\235P\241\371=E>\1\33\237"
+"\372\321\201\306\22\36\237\261\246T\316\6s\251\3\261R_\275\0*g\341[\316"
+"\37430222\372\307\372\3\35\36\266\236H#\305\33\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\3vIDATx\332\355\227KHUQ\24\206\177o\245\224"
+"e\17\233\\\243\242\260\7\26\24ZB\221\21\225\232RQ8\351\235\322\13\211\206"
+"\5\21\325\240\232DEQ\rz\240FJ\20\205\24A/\232\230\223^da\364\242\227\204"
+"Bi\17\2457\3657X\236s\317=w\357\263\367\265\206g\215\356\375\327\372\356"
+">\367\354\265\326^\33\b-\264\320B\373W\353\345\27\n\326g=TFV,\375\375\332"
+"\360c\323HV\253\34u$g\30\340S$Y\236\250\257#\311Z\3|\233$\231\250\223$"
+"\357\372\304\210\357{\33\0\340\202\237\275\2\0h5\254\274\232$\311\23\361"
+"j\215\250\345\246\327/a|\226\27\223\362_v\213\306\275[\323\35\310W[s\323"
+"\200\264\274mo\34e\215y\347\353\250\261:\233\2749\247f\317\333e\335\16"
+"\25\273\3236g\263\33\375hcv\22)\77\346\270\27=>F\35\225\242\345\243E3&"
+"F\321\326\334x\2755\354\37\1\235\304k}2\322#\277z\360\243S\366>t6\352}"
+"\335\302d\310\1\373\374Ir\3066I\372\325\252\322\363j\324\206\335\242\253"
+"\252]F\264\357}j\355qFpzN\275\35\373\334\321\360\250#uD\3564\217;\377N"
+"\300\272%\356*\315\253\\q\330\366\257\256\\\250g\13\235\230\7\271\361\216"
+"\205\37\34O\201\216\315q\42\66$\372\266;\276\221\301\215\363\333h\2253"
+"\257\333\373I\315^\23\357\33\335\366\267\213\377\254\312Y.\276v\375+\371"
+",\21\213\364\17=X\17gj{\377Qq\24\5e\320\\\211\331\235\220Y\242\37\13\316"
+"\277\303\352\245\217\330\235F\352\245E\2550\301\313Tk\254\42I~7\327\334"
+"G\222\344\3428Mji\243\31^K\222\274\31WU4\234\0\236\377\347\211\224\261"
+"\242\f\0p\311\246W\310a9\337\243H\343\261\352sR\265U\36\345\235\335\324"
+"\20\333\227\326 !\300\336\306\26\212\0\300\20\317\270d\264\253p\221\b\0"
+"L\0\0\64\330\301\262M9.<N\366\332\16n\2\0\214wai\35/\355`\t\33\355\302"
+"Y\0\200.;\270\23.\22\1\200\201\311\37\204\31.\234\202\236Y$\211\7\366Z"
+"\227\13\313\234<\300\16K\217M\317\21\337\13\64\233\204\275r\341\'\0\200"
+"\311v\360$\0\300S\27~$\367\32;x&bH\2540\336\332\301-\376\nlO\266$\337{"
+":\211TJ\251\r[\352\1\304\312H\222\3656p=I\262\354\1775@\334\3\0\2547\263"
+"\225\236p\307\226\223$;\315\260\214\'\313U\307\315\n\23[\241<\322\16$s"
+"\320\35\364O\277\42\37\tfOJT\252_\337/\372\234 v\201\304\34\322\216\25"
+"\203\364l\226\376J\271\204\236\304SY\357\37\22\261R\345\274(\276\26\335"
+"(%G3/\253\335\337\304\373s\254\262\214\273\237\371\217\356\26\350\214\210"
+"\233\22}\233\35_\216\356_\315v\42\236N\217w\314r\357\320\305\372\3679\317"
+"\235\215_\254\353\355\210i\225-\256\274 hX\317\277\345\231\26o4\265\245"
+"D\'\317\361\314\367\5\215\2019\324\277Y\177Mx>\244gWo\222\334c\323+\206"
+"^T\241W\242v-\16\303\253\375\350\351Q\311\234E\305U\255\16\330VS\202do"
+"\356\0\62\323\361\245#\274\254\207\26Zh\241\375g\373\13wvz\260}%d\335\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0"
+"\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\2IDATx\332\355"
+"\227KHUQ\24\206\377\314\27\r\314\350Rh\24\24:\311\36\244RI\232I \24\4\316"
+"\312A\245X\32A\323\42*\riR\21\26\25\231E\232\351 )\260Y\31E\240\21\245"
+"\371(\222R2\223J\302\bK\215\36\326\337`\237s\357y\354}\366\271\320(\316"
+"\77\272w\375\353\333\347\261\327\276k] P\240@\201\2\5\n\364_i\2463\220"
+"W\236\372L\232YZ\374{X\263X\16\311z\231\321L2W\3_%\311\22w|7I6i\340\'$"
+"Iw\234$\331\345\b\3068\276\217\2\0n9\331\333\0\200\17\232+\357$I\362\222"
+"=\332 \242%\272\327/\3228\220\25\t\255\36\62\202\332\275+3\22\371\346`"
+"f\2\220\220u\350\255\31)\323\357|3\25j\366S77\344\354M\177UW)c\253\374"
+"\326lZ\207\23\355H\213\242\344\323\353\254h]\272<k\206\222O-\314]\236\202"
+"\321\347\17\333\336\7\277\37~^XAANF\n\246\6;\37\264}\212j\311\324\352\21"
+"\3336_\311\362\215\26\366\270\13ll\207/4\363\205\274\266\3076\352\331\363"
+"T\352\232\6\235;L\17\215-\360bWF\22{\366g\'\0@R^\365`$\232\255fW\205\223"
+"\216%Z\343\311\'\302F\246\212\235gf\234s{gL/\244\200\337\31\376Z\351\23"
+"M\tS\321r.\n\367u\214b\355N\341\237\225y\331\302\33\322u\23\256\220X/\205"
+"\25\347\261\31_I\222\275\222\232\24l\276\327N.\239\33\\F7I\262\301\273"
+"\206jH\222\217\234\341\220X4\306W3JrtI\321J.\377\321\300\247\1\0\273\34"
+"Qq\n\227h\17:I\262Sv\77\23\372C\367\331\332.\215\333\236\3\0\270\256\207"
+"[\0\0\263mp\6\0\340\256\36\276/\366\314\6/\6\0\364\351\341>K\272\t\207"
+"|\315\34\341\231%d\203c\1\0\323z\370\27\0 \316\6O\211C\257\207\305\253"
+"\232\264\301\342\206\323}\264n\353\363\31\360\0\0`\235\36\316\261\244\333"
+"\213\344\261\36n\227\315T\77\374\rZ\342\42\337\35\7\243\25\0\240\355)["
+"-\311\21m&I\216\350\340W$\311M\362\223\272E\323\2\25cd\215\355i\24\372"
+"B\222<\345\212\307\213E\353\275\330Z\221\23\353vN\ng\237\232\335#2\216"
+"\313\274i\341\225\252\330\355\302\377)5\363\215nsX\316\36\60\354\365r\273"
+"\312\260\357%\272\275\270;\206Y\251\272\261&\263\25\36u:GL\247\321\317"
+"\250\335hi\225k\32\302\341\26\2579\254\266\42\362\271\277\275\377#\346"
+"/\315\315\210\204.\354\365,\203\n\257\231\244\\W\275\213\372Th\357B\37"
+"\203X\361\244\f\235\330\346s\4,z\352D\273\212\242\30>\343K[\307Mp\274\265"
+"$>\332\251\27@\362,|\33\17\376\31\4\n\24(\320\77\326_\260Y$gf\b]\373\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0"
+"\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\207IDATx\332\355"
+"\227kHTA\24\307\377\273F\221f\226\5\261EE!%\6%\366\240\2#zo\244\25\366"
+"!\264,!\23\251\210\240\372\22FP}(*\212\36\20D\357\bz H/\243\b,\242\214"
+"\310\2420\351!\212i\17\267\247e/:}8\367\316\316\356\316\334;+~\b\272\347"
+"\323\236s\376\277\235\271\367\316\2349\3x\346\231g\377\201\215\251\242"
+"\272\271\302\33~\215B+\215\3315DD\265\266\267\204\210\350W\222!\273\215"
+"\210\210~[\336Z\42\42\242~f\354\1V_do\23{\317\315\330c\254\246t\0\300v"
+"\313\233j\304\236\263\324\13\344Y\320j#\366\262\245\316\7\0\34\267\274"
+"\265F\354\rK\235\7\08ky\253\214\330K\226:\30\61n\261\21\273\301RO\6\0\224"
+"X\336\42\263\27m\251\307\263\367J~\2W\33\314\352\221\354uco\226\351\262"
+"|FD\365\1\333\273CDm\2434\322\204\230Hu\362\353\335\371m\266w;\345\303"
+"\241\340\33\257J\374\3\226\340\224\364\'\'\372~w\244\372m\177d\255Szw*"
+"7\36\62y\7E\331\3514C4\361$)\2542`\302\256\'\215mvE\273\77 \255\325\366"
+"\214\22\373\42\335\261\325\341\337\241\252\'\241\256\203\262&H\351q\367"
+"\34\306\r\212Q\36\27\212\340\200\262o\42<]\317N\2675\17\263\42\23\271\357"
+"\355L\266\216\315\260\25%\261\2712;7\330\271z\265\17U%G[\331\217j\366*"
+"g\33t\237\277\225\363gT\311\245\234k\325\277\222O\254\230\247\237to=\334"
+"\307\222\304f\366sb\206\323\n\232\306\232-1+\213\343\7\235\327\337^\365"
+"\320\373t3R=\333\26e\264\310\r\316W\215QHDD\337\335\367\334\7\42\42\232"
+"\37\21\343\275\264\302\35^FDD7#v\25\251\266\230\372\251%\245\37\0\300\'"
+"\350\5\223Zq\36\0\60G\212p\3411\252s\274k\17K\221\267F\337I\372.\315N\1"
+"\7k\n\17\344\7\200T\0\300\25\63\270\22\2\361\3\300\b\0@\225\31\314\237"
+")C\300\303\371[\233\3015\0\200t\1s\351xi\6\263l\250\200\373\3\0\276\230"
+"\301\237!\20\77\0\244\304\177\20\366\24\260\17\35\63\177\34\23\226\355"
+"\213\200[\370`5\303\370\236\321,`\351\5\272\33\313\352\5\374\24\0\220i"
+"\6s/Y\'\340\'\0\200l3x\22\302Hxc4\231\301\215\321;\2605\336-\371N\252$"
+"\274Sf\233\260\263%\200-\217\210\210\312M\340r\251\363\357\204\2\210\373"
+"\0\200\345\356l\251$\267\255\200\210\210>\273\303\334\236\24\250\216\33"
+"\327\13P\221\362H\333\25\317A\267;\272\373\345\360>g\366\20\253\272F\307"
+"w\32\334rsX\263G\333V\364\322\263\375\265m\5\26\222\264\360T\326\345\7"
+"+\26\253\222\25\234k\324\265R|4\323eu\272\235\263\77\207)\267\2615\347"
+"\77\232\377N#\375={\235\235\313\320=\325\24[Q7121\271\301\316\314\324\277"
+"\317Y\2427~Q\334\305\16v+m\24\341\34\247f}\334]\251[\274^\323\342\13dN"
+"\225\372\373\354[\216k\250\307c\3755\341Y\252\353\276\331\250c\267\232"
+"\324\212\276\25*\364J\300\254\304a\340\221h\364\304\220x\316\242\231\207"
+"\233m\260\345hP#r,[}\222\3605\344]\326=\363\3143\317:\331\376\2\377\246"
+"r0uFg\255\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\23I"
+"DATx\332\355\227YH\25Q\34\306\77\315\215\42\65\222$\243\242(\212\214$\23"
+"\62Z4\202\310 \22\n*i\223\26#\212\b\244\36\332Dz\321\b\2156\3)\263^\262"
+"\36|\251\2206JhQK}\3102\255D\332\304\26\313kTJ_\17\347\314\2753\367\316"
+"\3149\202/\301|O\376\317\367\375\306sf\316v\1O\236<y\362\344\311\323\177"
+"\245\264\7l]\351\257\246\335\346\227]\332\354^\222|aT\233H\262\177\204"
+"&[D\222\34\220U>I\222\211z\354\31\221\276.\252\2Q\265\353\261\27E\232\323"
+"\1\0\305\262Z\242\305^\223\351\325\346^p\217\26{S\246s\0\0\225\262\312"
+"\327b\357\311\364*\0\300UY\355\326bo\310t\226\345\377n\323b\17\310t&\0"
+" OV\353\365^\264L\247\213\352\275y\4JM\24\351Y\242\212\26\3252\335i\331"
+"F\362\355X\243zL\322\227b\33\34f\323V7\362Si\216\317\250\36\306}+\317\352"
+"\362v\211\241P\230\243\223\2718=9)\254\267\275\341~\315\347A=2\251\260"
+"\223f\235\237\243\215.md\210\2727j\241\251\317i\253n\215]\3444\35uI\201"
+"\216\356\240\213\272\307\271\261)\201`\343\276\264h\0\210]X\330\26hMsf"
+"g\373CGc\314\355\361\305~#\325\211\35c$N\205z\'\f/\301\1~g\335B\202F\324"
+"\'\314\16{\366\234p_\207;<\273^\370\'m\217D\341\275q~%u\226\375\311\242"
+"\227\302\212t\371\30\77H\222M6sR\260\31n_r\246yK6\353\31I\262\302}\16\225"
+"\220$\37\5\67\'\210\207\206km\351\261\2622\322[\0\0\345\177\25p)\0`kP\253"
+"X\205\223\225\13\235$Yo\327\237^\365\242\373J\222\264v{\24\0\340\212\32"
+"\256\2\0\304Y\340d\0\300-5|W|3\13<\t\0\320\254\206\233Mq\3\26k\345\203"
+"\32\376h\212\33p\4\0`@\r\367\3\0\42-p\237X\364jX\274*\237\5\26\35\236\252"
+"\206\247\230\307\'\341W\0\200\371jx\236)n\235$O\324p\255y\222\30\372m\327"
+"\350\2642~\5-\214j\0\200\362LYc\n\7\264\234$\331\251\202[M\227\273\220"
+"\225\272Bq\4\322~t%\226\3218\350;I\362xH{\224x\350\5\67\266Ld\42B\235c"
+"\312\253\355\16\221(\262\363\6\204\227\353\304n\20\376\37[3C\2366\7\355"
+"\331\375\322^do\37\221\366\235\230P/\262F\232\207\235:v\3318\n\13\202\235"
+"C\206S\251\376YBV\232\216\312\271\25\376\346*\267{XY^\340\357\226\332\226"
+".$\316X\220\34h:\273\323u\32\344\271\335I\266\253f\357\204f\'\264i\274"
+"\306El\235\317\16\355]\253y\5\314~\32\2146d\17\342\362\31\225[\335c\200"
+"=\325\233\243\6{\353\5\20\77\34\77{\274_\6\236<y\3624\304\372\7\274\335"
+"\33\354C\230\376\353\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\343IDATx\332\355\227OH\24Q\34\307\277;\255\240\330\37\314\242\302"
+"\226\212\332\266\214\16\261FPR\230h\21\345A\261\350\30\221\325\241\240"
+"\f\262\22\261S\207\4+\322\210\240\260S\24\321\245\16QYT\24T\224\24\35\212"
+"HJ\364RZ)h\261\256\337\16of\234\231}o\234YO\302\373\36vf~\357\367\331\337"
+"\373\363\233\337{\3hiiiiiiiMqET\r\263g\345\345\30F\4 HO[\372\367w\25\266"
+"\362\344\3234\'\322\253b\tY\324\306\200*\364\242\313\37\63\260\332=\354"
+"5\206\320\200\13]\307pr\262\7|=\323)\2411)\3344nMu\354^\2`\341U\313\260"
+"\335\325\303\343\31p\203\215v\304m\343ka\331\352\231\232\213\36x\227\205"
+"\336\311sx\35\312\34\34\0$\335\346\230\305\326\272\274*I\222#^8\337\rw"
+"\233l\334\355U*Y\23\0\260\340(\0\64,\26\306E\236\224\35s\374*e\306-\365"
+"\332\327\223$\177*#\33\0.\tS\363\363l^K\361G\275\231\r\1\42\67\nKm\310"
+"\220b~R$\311\267\b\36\3716I\266\0\300\16\321\211\315!\340b\222\303\5\0"
+"\242\235\3624\362\203\261\366J[\34\0\352\5{A\r\367\253\307\375M\300I5<"
+"h>U\234\255S$\b\324\260\331v\224\344\r)\334\355\7\317\0\200\22I\7\rqy\346"
+"W\324[\0\304\236\0\0\252\\\355Qqy\347\227\16u\233\36\315\257\26\267\253"
+"e\360g\337\355$\221\260,se\335\356\r\270\27\345\312\340\201\200\260!{\32"
+"\t\372\2\312\340H\0W\0\30\225\301\371\1\341!\31<\307\17\36\251\210\24\236"
+"\23\267=\262\f\253\361\313\2602\0h%I\356\225\301\215\23\347\366W\222\314"
+"\221u\273\304g\206\315\225(\357\302\320\316\224,\362\37\237\310v\16\304"
+"\24\253>\323\'\262]\364{2\340Nq\335\226M\3156\316\213\353\276\354Nb\227"
+"\263(\200\366\230[\315SEv\241\337\223$\377\205\213|\270{\340\336)\0\325"
+"\242\337\7\303\3005\366PGU\243V\303oH\222\6\200\375\302\360 \304P\35U\364"
+"\207\b\335\24<\262\243\257\33\314\312_\27x\273q\16\324\\k\36s\273l$I\376"
+"\222\24\67\327,Y\307\241\233.\237*\222\244\344@S\350\202\247\333\7\300"
+"=\16\237\323\252e\330\342nX6~\364l\236ge\337\2400\34\311\200\37\212\6\273"
+"l.\375\342h\274\377\342c_d\315\211\42\363\261\375\372\247a\273\363\323"
+"\n\222\365e\336\232\233\333\225\b\375J\332w\177W\264N\352;i\325\207\354"
+"\317\372\0\312\273&\1\3\13\316\364\7\206e\233\224QY\232L\304\242\376C\354"
+"\273{\353\245\376 \326\322\322\322\232Z\372\17A\331\302p\230\332\200;\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0"
+"\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\0IDATx\332\355"
+"WMHUA\24\376\322R2M\310g\n>\n\354\277EE\201J\330\302,\334T\264\20\rRKJ"
+"(\b\4K{A\33\321\240,\252\215a\6.j\225\22\270\310\n\27\375\32\nnR\237e\330"
+"\17\325\302\324\3240\252\'\31\247\305\314\334;3w\356{H\333\37163\347|\347"
+"{g\356\314\234\231y\200\205\205\205\205\205\205\205\205\205\205\205\205"
+"\77\222O=\32\213|\355\256^\356\245\16\334\376@4\363\2446\323G\272\3561"
+"\t<\335\240RM\16CC\371&\355U\222q]b\366)\fux\265\3j\4\r8L\275\306\320d"
+"\262\246\35\327#h\2023W<\f\315\305+\332Qo\4}\4\0\324\30\30z#k\357\n\357"
+"H}e\350\2453m\0\16\n\243\253\252\240(4,\254&W{H|\314\16\0@@L{o\31191IK"
+"X\344\346w\334\21t\304R&\206Fm\230\347\335D\367\230\347\201\266Ha\363\302"
+"\22Q\213\374\211\375\314\227\246&N\220Cz%\355\17en\2271\347ef50\253R\t"
+"I\225\304\305\352\252^$\42\242\277r\342\tm\341\245\345\325\230x\346\315"
+"\6\2002\326/\321\267\234\243\275\2443\354\223\316\2H\177e\374y\240K\210"
+"\327\353\314I\266\216\0.\260\2106\217\270\320g\324\300&\307\77\313z\206"
+"B\363\25\7\231\77\13q)\314\321\343\25\217\362v\245N\354eM\16\342Xg\332"
+"P\340]\242\335\245\270\23\217\363O\334*\6w\337 .\246\350\270#2\207\r\342"
+"p\214\23/E\210\277\30\310\3171\304\343B\374\335@\376\212!~(\304\363\13"
+"\77\247\333;\2058i\241\322\311\323\245\300b\326\3170\360\351\274\35j\354"
+"\375\366G\335>\274\244\270x\255\351\22\340mN\304/=\37\366v\3\305\16\64"
+"\364E\374\7\357\267\201\201N\306D[\261O,d\305\2\n\303\35\366\r\326\226"
+"z\230T\321\331\343\257N\352!\42\242A\17Q+2wG\31w\261z\224:\230r* \21\261"
+"\246\254E\363\346\273\345\323\32E\314\217^\355\336\fK\305\27\2142g\332"
+"\5\2\08\342{)\2\300\226\346\216*\336me!\307$6S\255\373fU\333FDT\247\244"
+"\246\335\356`f\265S\243A\222\256b\17\201>n\236\341!\345\334\3368\307\354"
+"\251\262\362\31N\265;\332jqa\13\307 w<\313\5\20\274)\362e\1i\363\302\250"
+"K\0\200\303\316\373\243\310y\200\31O\270|\0\310\226\34c\21\343s)\327\240"
+"=\301\250\235\306\37\276&O`\201\207\16\t*\317\240\255\320.\240\210J\37"
+"u\251\300{M\332\37\360l\226[\362\23n\265B\205d\351\317\22\323V\313\340"
+"\273\205\236\27z\270\2321\316\275\330\357:\27\2511\231\333\322~\277\35"
+"\66o\343\2745K\247_\217\330\377\6\26\26\26\26\377\213\177\315\325\335b"
+"\260\236AA\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\13I"
+"DATx\332\355\230KHUA\30\307\377je\364\16T\242\250,\211\242RH\312\27AH%"
+"\270\210\2ka\220D\t%)(R\6f\270\251\244\327\256\302\36`\213\36\22\224H\31"
+"\beeX\224$\222h\26\26-\212\332\324\2422\314\253\377\26\63\347\336\343\275"
+"3s\317\235U\301\371/\3169\3147\2773s\346\361}\363\35\300\227/_\276\0$x"
+"\251\264\2432\247\377\247\335\373\27\r\222|b\307\26\222$\231b\303\226\t"
+"6`\303\236\20,\353,\330\353\222\275c\301>\223\354\315\330\321\331_${&v"
+"v\271DY\31;\273\312a\213,\276\367\267d\263-\330z\201\376Z`3\301wI\222="
+"\306:\361:C7\0\\\\c\271\337\32^\336\312\363\275\316\277\247\203}\324\352"
+"c\363\356\351&\3666\243\350\335^-\273\214\36T\245\201\347\214z\241\77\247"
+"\253\351}\364\244\2620,N\334\222J\n7\205\n\77|\33\25\306\204\304Y\311\323"
+"\\\265\217\327\352\276\374\250|\177u\270a\303\245`\333G\264\343\326N\222"
+"\274\2412U8\3646\35\\J\222\334\2526\266I:N\3\347\223$Wk\254\247\4|Mc\316"
+"&I.\325u\354\202\240\223\324\326,\222d\252vL\336\223$O\333\301\302\376"
+"\303\203\3T\350\305\20\0\314\230b\5\343*\0`\255\35\334\r\0Xl\7\377\1\0"
+"L\265\203W\2\0\276\333\301;\1\0\375Vpj\16\0\340\255\25\334\f\0xdZ\4Kt\354"
+"I\261<\13Lp\232.\360\tv\300\270\374\324QuR\273\334\222+\214\3619C\305\326"
+"\214n\26\17\373\337hZ\316!I>\217|]c\320\r\351\17\202\271\242B\333\272P"
+"QJ~\355S\227\373\254\320O\305\372(\236w$\317p&\2112\347\347\23\273\302"
+"G\321+<T\324\339\5\36W\327P\306\260\371(5n\200\357\17\253&\337\365<\26"
+"\332\270\1\42~\262\333V\20\255kr\252\316\206B\371\302\372\340P\237\213"
+"\2\13\277\335:\261\360\220C7\230a\261\266\267\207\225\316\355\363\224f"
+"\b82\204_\221\364\236\350\260\42\334\34\223tVTX\25\61\34\332\n\306e\1\77"
+"\264\202\235$\251\334\n\206\354x2\274\357$\327\42\20\267{V-;\31K\251\25"
+"\214\201\210\21\217\301\351\27\270]\177\254N\37u\242\351\\\203\367L\323"
+"\267-\22\323O\312n\317t]\225\22\'\270\371\325*[\25Ir\227)\324\211\216\317"
+"S\230\6I\222]\246\37#\2\376\32\61\314\231\17\344\42j5\344\200\207e\235"
+"\22wa\371\3530\7\377\352\200\232\36v*4\6\373\336\242\210\17-JxK(~H\227"
+"\223\251\214.\231J\372q\320\336Y\30\37:\42\251\17N\21\77l\202O##\342\336"
+"\244h\270I3f\351N\276\262\321))\356\bL \3\35\305\206\f\256w|\254\247&\316"
+"Oe}\371\362\345\353\177\323_\27Za0\227PSW\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\1\342IDATx\332\355\327M(\4a\30\7\360\307*V\304"
+"\305\307A(%\42E\16>\42\'J.>R\24\67\7\16\212uqQ\34|\224\20\16\312Q\362\21"
+"\305\301\342\240\24\312\1\341@\331R\302\1\345\346#K\376\16\63\273fxgg\347"
+"\231$\365\376O\273\363>\277\335yg\336\367\331\35\42\31\31\31\31\31\31\31"
+"qB\255\225\327\265\27\234=\362\276)\371\34\3006\317V\0\0\20\317\261\255"
+"\212}\347\330\1\305\242\233agU\273\314\260{\252\235\267NcnU;l\335\246\253"
+"\24\355\326m\226\317\3262\346\373\242\332|\206\355Q\350S\42\347\6\257\2"
+"\0\216\4#\16s|@D4\225\313\334y\203\373\213E\262\377\374yB\202/\215\216"
+"\243\273\307\08<\'\301\31\352\200\367\356\340E\17\223Z\352S\225\25\63\61"
+"m\360\321K\360g-B3P\270\7M\32\204xN[r\350\77\34\273\1}\26D\330\243+)U\217"
+"\272\360#\233\2<\242\253\30\42\42\42\347.\4\351\24\350\256\33M\301\16\21"
+"Q\331\327\373\365^\327\330\205\372\372T|\321\234\311\325[jE\22Q\237Oz\252"
+"\224\341\24\67\0\340\304l\367c\271\377Rp\201K<\0\232\215q\341\267\31\256"
+"\350\2073k2\2\255%\275m\263\266fu\326j\317\324\320\363Hb\343U\353[\315"
+"o\'\211\217\7\210\217G\211\217\217\310\6\316\346\265!\4\331\241\214\177"
+"\253\366\311\6\276\267\203_\355\340\17;\230$\226\370W\261\303\16\216\342"
+"\235M\32\0\340\212\207\307\2256\224\307yl\33\365u\336\306\260\340U\223"
+"\360O\200\77^w\271\261\235\204i:\214l\254\271\305\265\321\255z\13bb^\243"
+"\347\347Wg\261)v\35\33\16U\272\237\3\235\363\303L\36\311\310\310\310\310"
+"\374\353|\2\365\372EGH\227\344\334\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3FIDATx\332\355\230]H\25A\24\307\377\367j\31}\32h_\20"
+"YRD\244\241\244i\4!\245` \t\365b\224\364!\225\245\240H\31\231\342K!}\275"
+"UH\5\372\20a\17!B\nBZ\24\225}\211$Y\331-z(\n!\241@\270\371\361\357av\357"
+"\256{gv\367\356S\301\236\207{g\3179\277\235a\346\31493\13\370\342\213/"
+"\276\0\2103\77,>\275w\301\200\304\351@M\356\320/\2477\365\220\34\311\266"
+"jsFI>qb\23I\222\254\232\256\255\26\332\245N\364\210\360k1\353Z\205n\334"
+"q\2\16\13G\366\7tMp@S\325:O\337\5\315\225\351\342y\203\376\334\342f\362"
+"ku\357r\08\246\77]r\267t\305\272\377\307\206\206\220\336.s\273\360k\302"
+"\264JN\fq\363b::<\'\246\250\273af\357\304\32\263U\6[\27{\304\347\353l\221"
+"\227\375\222\330G\222\257\222\355\275\2*C\326\216@W\237\237u\376=91H\245"
+"|i\333o\33\336w\351 \303\207\224\354j\272\220jU0\216\273\241\277\245\311"
+"\351#t%\345\362\330N*-\334n(\77\377\24\2316\20\2270\77y\266\311\373\234"
+"r\2076h\357\257\261\32\266^\217\364}F9o\335$\311\3332S\245N\27\253\340"
+"2\222\344N\271\261S\243U{8\217$\271\336\276 \334R\2307\221$W\251\6vM\320"
+"Irk6I2E9\'\237H\222\27\275\301\302\376\333P\4c\330=\317C\0\60w\246\'\30"
+"\255\0\200\215\336\340\227\0\200\25\336\340\77\0\200Y\336\340u\0\200Qo"
+"\360\36\0\300[Op\212(\324\37<\301m\0\200\7vA\260R\305\236\27\341Y`\7\247"
+"*\330&\301\16\331\206_\206\324\26\337\255m\311\265\260\13\317t\351\21k"
+"<_4\216\276S\364\234C\222|\26\375\272\346H\32\252W\316f\256p\350\3142T"
+"\213\362\352\36\233\322g\245z)\2668d\336\360f\13\20\204\353\355y5\301z"
+"\350\216w\13\207vE\337\1\342]FW(},Zi\356m\312\6\356\32\223-\276\251=il"
+"\334\t\428\303l+p\32\232\266T\227\215R\276\27412\325W\34`\221\267;\246"
+"+O\352t\223=,b{\267E\273p\3201\272\f8\272\204\337\324\350\203\316\260\244"
+"\334\234\325\350lGXV1t\332\23\254\37\376{<\301x*\350\nO0\264\201\'\303"
+"\375N2\5\201\370\273\347\251g4\332_\320\34\352\363P\324\214\307\220\364"
+"\13\314\251\77\326\244\217z\321u\256M\366LU\367\375\235$\371U:\354y\246"
+"_\371\25\27\0\260\254Ff\23_\7\366\331\225:1\360%\22\323{\322\341\273D\234"
+"\200\177DMs\346}-\210:2\324\364)\315\247\324\254\254xcI\360\257\217\313"
+"\3511\335\24192\366vI}h\227\302EF\375\320RN\246\264\272dJ\351\207\21\373"
+"\243\302\240qD\222\37\234\254R\30i\205\303\342\277E\322\261\352\323H\232"
+"~_\331\246kJz\'\246\221\23\275%67\270\201\251\311\376\332\200\177\225\365"
+"\305\27_|\371\337\344/_\20\273\230|\201B\341\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\2*IDATx\332c`\30\5\243`\24\214\202Q0\n\6"
+"\67`F\343\213W\305\360_\304\242.\261\330\362\372\'B\206\355\373\377\377"
+"\377k3tQ\213\367\377\377\377\77FH\257\300\377\377\377\377\377\377_\200"
+"*Z\b\21\225$\244\3735D\335\2d\261\205\20\261\337\4\303 \r\242\360\377y"
+"F\230\b\323E\250P9\341\20\354\206*\375\257\7\341\353\303\370\13\210\t\377"
+"r\230\352L\6\6\6\206,\30\257\227\270\330\13\200\251\277SWw\27\306N!6\356"
+"\325~\376G\7\26$$\235\323\250Zos\223\224\360\346 \353]Ej\262-@\350\255"
+"&=\321\273\302\364\372\222\223e\4N\376\377\377\377\377YQ<J\30\361\310\231"
+"z1n\779Z\360\214\2F\342\225\362\2112\274\374\202G3\273\2018\7\63\323\377"
+"_/\317|G\325(\233\21\241\304\300\300\300\300pf\362\42\34F\257Ad\245m\234"
+"H\22\226\307\221sh$V\315\313\221\225\234\205\13\213\354@+VVb\323|\13E\211"
+"=T\264\b\243L\372\277\7\213\346>\24\25\335\f\f\f\f\f\34G\376c\1\305XtW"
+"<ARp\30\245H\370\377\177{c\321DXaz\25{\240q\310\5\356\207\252\220e`h\205"
+"\351\274\25\0\221\226\337\372\377\377\377\377\377/\342\216\320-\20\r\353"
+"\333\36`\t`\333[\370KqK4\37n@\225\326\n\322\300\227\226P\365\346\222\226"
+"fQ\364\2323\220\255\371&7\3\331\232\267\220\236\325\340z\2473\220\257\271"
+"\235\201|\315\375\f\344k>\317@\201f]\362\212\241\377D\226PL\270[\7\f\24"
+"h~E\211\346\237\224h\376G\211f\206Q\315\243\232i\252\231\211\22\315<\344"
+"\271F\365\377\377\377\377\377\77\42O\363$H1dL\206V\271~X\311\33\303F\274"
+"\256X\254\215\08\370\265\325\r\267\336\351\377\t\202B\\zE\b\353\375\377"
+"\30WT\375&\302c\277p\365\334\177r\330\20\324\\t\1\247\224\367\326o\370"
+"\334\374v\2111\303(\30\5\243`\24\214\202!\r\0D\243\237\257\311\207:\372"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\37IDATx\332\355"
+"\230]H\25A\30\206\277\254\3242KM$\24\24\2644\225\n\313\364\24$\241\224"
+"\30\204\201\331M\30\224\4I\t\42t)v\21*\221\21\224\330\37\352\215Q\34\350"
+"d\204IBj\21A*R\371\203R\20\224fd(rD\374\311\267\213\331\335s\366\354\316"
+"\376L]x\261\357\3159\3547\317~;\2633\357|\263D\216\349ZEZk\261]q\205k\330"
+"+\226\42~\24\300k1\266\0\0\200\30\21\266\214\261\313\42l-cQ%\300>\224X"
+"\217\0\373Nb\37\331G\267LJl\275}6EBQa\237M\227\331\42\201\376\316Kl\266"
+"\0{\205\241sq\42/\3709\0`\200\337 \310\0\356#\42\272\227!\270\344\352z"
+"\335\7\35\343Y-Zc\24\334\30\202\371\5\201\233\236\361\314\310\253\342["
+"S\276\35\362P7\2tk\263Et\327\'\350\350A\42QQ\333@\2151{\35\34-\0\0\352"
+"\214\330\3670\221_\333u\1\354\327\4\345\357L\317\307\211\345\310\24W\272"
+"\272\305\266I^\336^\371\376C%\276\213Y-\376\231\367\361\330kR\203\361\3"
+"\1\201\6\37\234\303a\23\245\370\35m(G\201s9p\27\370\3*\337\30y\372l4\213"
+"v\350G\217\30g\256f\321\365\234\347zl\330\347\21\0@3o4\303\31\234\251\37"
+"eA\27w\376t\0\0\342\214`\376\344\3136\212\233\301\364\4\300mQ\230\32\7"
+"\33xN\2so1\333nr\305\374\354\25\0\240M\f.a\235N\23\243\31<-\6WIv\271U\210"
+"\236\220&\177\271\b\234 \257\273\245\252h\373\264\313\347\30\77\33\13#"
+"m\322\333\247UV9\326r\336\326\340\337\325\230\355ow\251\345j9\351\231\216"
+"[{o&Y\2558\253\'u\370\17\207\255\246\217\271\320\376G\203w\206Z\357}\350"
+"\321\253=\213j<\317\346\370\357\255\354\364\243\213\355\277\376=\276W "
+"T\325\325\352\354\222\326\225\272\314\340&!z\203\224:\\\210\336\315\340"
+"\32\261\365\336\374/f\21\373\17CF\344U\357V\376\326k\356>]DD\224\254\205"
+"\217\217O=5\203\277\23\21Q\224\26\366\304Ra\213\331l\'\42\242\25\355\321"
+"\34\0`R%\366\251\217hJf\266-_6\206Y\31\65\302+\32\f\331\374\2006J\346M"
+"\354\347\242\21|\203\210\210\276h\3/\245\231\33bP\203sO\264\362\212\37"
+"\342\262\311\2325\31\244\336\331\211\322\336p\330\235\243R\211\251\23{"
+"\241x\305T\226\3013cI/\350\3613*w\274\306\t\344O\7\330\257\7\337W\271d"
+"\177i\230/\24|vP\t\224\352\26\64\225\201\237\24\320\335;\366k%jGfn\260"
+"\357b\271~%\225\n\13:\301{\23\255\0\334\31\21\'\77s\321~\2035{\251\276"
+"\200\210\210\316-\352\242\263\247\254\31\306\351a\r\372\366\230u\277\211"
+"(k\367*\340\217\326b\201\203hTX\320\342\354\234sZw\344\310\221\243\377"
+"\253\277\3527\201`\327</\320\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2\231IDATx\332c`\30\5\243`\24\214\202Q0\n\6\67`&Zeh\201\305"
+"\265/\344Y\42w\363\377\377\377\207\310\323\353\371\377\377\377\377\377"
+"\377\213\221\2437\23\242\367\179z\333!z\377\327\222\241w\31T\357z2\364"
+"\36\207\352]A\272V\376\27P\275\275\244\353U\207j\375_@\272^m\230\336`2"
+"\374\373\35\252\327\234\f\275\r\20\255_\245\311\211\340-\377\377\377\377"
+"\377\377<.i&\274\232\3170000\3142$3\323u\234^m5Z\364\214t\300\210C\234"
+"\315\305\336LK\214\201\341\365\325\23\7v\375\'\305D\315)_\377#\203G\365"
+"\302\304j\365\276\367\37\23\34\b\21dWw3%T\354\34\377\217\7\354\301\253"
+"\327\355\77~P\217G\257\77\1\275\377\237\343\326\253\214P57\20Z|H\371\317"
+"\370\206\244\33\267fXP\335pB\25\2679IX\2637TA\21\246T6A\315\373!\362)\330"
+"\344b\bi\206H\237\302.9\227(\315\t\370d\237\20(=q\305F,\3\3\3\303l\2\66"
+"\67\340\222\256\375\377\177\33\356\230zJ\300[\202\352x\322W\35D\363\21"
+"\362r74:>\273\221\243\271\f\226\24^\326\351\221^\222l\366A\342\334\272"
+"r\351\362\365[\177\211\267{3fFz\277\263B\217H\335U\330\263\342v\177\242"
+"t\13-\303\221\225;\210\263=y/v\355%D\26\275\374\326\226&:2\350\242\347"
+"\215\377\23\243\31V|\253\33Z9 \245\253\77\42\37I\215~\243\211\210\240\'"
+"\'\371$\300t/%+\351n\203\352V$K\367Z\210\346\5D\7\30j\266A\327\202R\222"
+"\310\343\327\234\215\247Ocy\347\377\21\21|\232\5!\356V\303&w\363\377\377"
+"\377\373\211\310\356\372XdT\377\377\377\377\377\277-\36\275\22\20\315r"
+"X\244B\3607R\31\30\30\312q\27q9\20\251PB\256~\205\255\334\346\204P\253"
+"p\226\220\207!\324\4<\216\372\377\337\35{\269\207\257\262*\206\'\376\325"
+"X\342\273\24&Y\210Us\22R\256\77\237\205\322k\264\236\17\227\331\215=\77"
+"\333\242\365Q/\236\272\372\350\23\223\260\262\201\215\4B\360\222>\376\22"
+"\37\37\330\2123&Z\t\352\315\303\223\bR\227Mp\347\25\210\270\200C\353\22"
+"\16\242J\235\265\230:\177\266p\22\235u}\347=Dh\374\261\257T\221\244V/\3"
+"\3\3\3\227\0\7\343\257O\37\31F\301(\30\5\243`\24P\25\0\0\303\34\13XQ\316"
+"\240\274\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0"
+"x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3IIDATx"
+"\332\355\230]H\25A\24\307OVj\231\246\246bF\tZ\226FIev-\222PR*\302\320\214"
+" \24L\242\242\204\260z\24\37\374\350\323\nJ,\212\253/>\224\340U\37\314"
+"\22R\211\2104\211J\263\244$(M\321\320\344F\370\221\247\207\331\335\273"
+"\37\63\3731\276\305\376_t\3179\277\235\335\331\231\377\314\\\0[\266l\375"
+"/Z\250\227\f\315\214\37\371\315y\343G\210\210\365\\\350\2469$\332f\235"
+"=\212\222\362\254\262%(\323Mkl\3*\324f\1\r\30@\225~E\232e\35\42\62\343"
+"t\316\210\377\37\60\307\346\212\365%\0\0\245\342\325y3\354\5\261:\215\\"
+"\247\213\327W\214\331l\241t$\\\214\254\34\25B\'\r\341AR\370D\36k%1\267"
+"\21\33J}\304k$\272\332\210\376\210\210\230\251\216f!\42\16\30>v\222\353"
+"U\31-^\326\331\260\3136\241yj\201^r\251\17\376\231\342\270i\256kB\34\323"
+"\337\234\351V\310\335\355\352\371|;\300\254\363\275G\212\36D\1d5\276)\327"
+"g\257#CS\210\210xY\217\355D\3\311j\27\251\330\257\36\263\232\350x74\33"
+"\264\336\261QY\21>\314j\267K\274\177o\216\'\230X#o\231\271\6\\\25\n\6\223"
+"T\211J\17\234\314`\243\204\374]m*Y\202S\30p\33\262;T\2741\246\322\331\20"
+"\222m\241g\367\352\267\\L\262\213\31\317\365P\367\235\373\20\21\261\232"
+"\325\233\376\4N\240gI\322\301\34\77-\210\210\270J\17f\17\276\35zy#\30\352"
+"\21\361\16/\fU=\225,\'AcoQ\312K\23I\341\363\263g\210\210\330\310\7\347"
+"\220\227\216\343\243\t<\316\7\27\tv\271\202\213\36\22\6\177\1\17\34)\355"
+"\203\212B\254\323\16\217c\214Te\4Y\244\327\216+\254\262\277\346\204\245"
+"\316\277\2471\333\237u\371af\351\350&\212[\273oE\233\304\227\27\17S\370"
+"\267{\3146\37v\252\371\257\6o\3655\377\366\276i\245\35\323J<\325b\377o"
+"-l\225\321\331\326\77\177\274\347\23\354\344\31|\227(\253\244y\305\316"
+"\22\330\311E/\21\232\366\347\2427\23\270\234o\276W\317\307,\42\346\321"
+"e\0n\345j%\267^c\367!\207\263\30-|pp\254\301\b\376\16\0\0\301Z\330\25\1"
+"\31\65F\243\35\0\0\346\30G\42\203]\342kDD\314\322\264L\226\345\213\372"
+"0\331F\365\2616\r\272l\272\252Fjy\31\371sF\17\276\1\0\0_\264\211\247\302"
+"\310\3651<\241\236\323f\304\31\337\313dc4s\322K\271\262\3\304=g\260\33"
+">\t[LJ\356\261\344\25c\211z\247\352\31Z\322%3\252\2725\32\'x)\346\266\323"
+"\340\373\n\227\354\316\367\363\244\274\363z\244D>uCSX\241^\351\333\273"
+"\372G\347\202\327%\244x{\202\5\364\235T,\232\320!\326\227\250E\304\272"
+"-\201\207\77\63\321n\2359{\266b\37\0\0\34\237\246\242\223G\314\31\306\261"
+"\17\32\364\305~\363~\23x\272\331-\201\77j\2639\16\242\301~^\323\223\274"
+"\277\246\331\262e\313\226-\206\376\1zf\333\357P\254\3040\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\307IDATx\332c`\30\5\243`\24\214"
+"\202Q0\nF\1v\300\214GN4H\377\345W2\315]\365\377\377\377\377\353\310\322"
+"\252\373\357\77\4\30\223\2567\342\77\34$\222\252\267\371\77\22\350\'M\357"
+"\206\377(`\77\tZ\371\356\375G\3\37\345\211\325k\1\323\362{\336\274\337"
+"0\2667qz\343`\352\233\31\30\30\30Z`\274bb\364\226\300T\273A\370\3560~\'"
+"a\275\241P\245/%`\42\222\257\241B\351\4\65\77\205(\334\211,\266\33\42\366"
+"\205\220^Q\254N\354\206\210\312\22\322}\343\377\377\377\377\203\320E\203"
+"\377\377\377\377\377\36Ag[\256\77\331\212M\274\365\324\6\353\3212h@\1#"
+"\16q6\27{3-1\6\206\327WO\34\330\365\237\24\23\65\247|E\311\316\217\352"
+"\205\211\325\352\215Q\26\374\377\377\377@\210 \273\272\233)\1\255\374\307"
+"\377\343\1{\360\352u\373\217\37\324\343\321\353O@\357\377\347\270\365*"
+"#T\315\r\224\206\210I\371\317\370\206\244\33\267fXP\335pB\25\2679IX\263"
+"7TA\21\246T6A\315\373!\362)\330\344b\bi\206H\237\302.9\227(\315\t\370d"
+"\237 \2130a*\302\25\33\261\f\f\f\f\263\t\330\334\200K\272\366\377\377m"
+"\4\13m\234\362\202\352x\322W\35D\363\21\362r74:>\273\221\243\271\f\226"
+"\24^\326\351\221^\222l\366A\342\334\272r\351\362\365[\177\211\267{3fFz"
+"\277\263B\217H\335U\330\263\342v\177\242t\13-\303\221\225;\210\263=y/v"
+"\355%D\26\275\374\326\226&:2\350\242\347\215\377\23\243\31V|\253\33Z9 "
+"\245\253\77\42\37I\215~\243\211\210\240\'\'\371$\300t/%+\351n\203\352V"
+"$K\367Z\210\346\5D\7\30j\266A\327\202R\222\20h\236f\343\351YX\336\371\177"
+"D\4\237fA\210\273\325\260\311\335$\330\262\206h\326\307\42\243\372\377"
+"\377\377\377\377m\361\350\225\200h\226\303\42\25\362\377\377\377\377\377"
+"\317\343\321\\\216\273\210\313\201H\205\22r\365+l\3456\'\2647\205\263\204"
+"<\f\241&\340q\324\377\377\356\330\263\3109|\225U1<\361\257\306\22\337\245"
+"0\311B\254\232\223\220r\375\371,1d)\353\371p\231\335\330\363\263\355!T"
+"\303.\236\272\372\350\23\223\260\262\201\215\4B\360\222>\376\22\37\37\330"
+"\2123&Z\t\352\315\303\223\bR\227Mp\347\25\210\270\200C\353\22\16\242J\235"
+"\265\230:\177\266p\22\235u}\347=Dh\374\261\257T\221\244V/\3\3\3\3\227\0"
+"\7\343\257O\37\31F\301(\30\5\243`\24P\25\0\0o\25e\347aQ\332\0\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^"
+"\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\39IDATx\332\355\230]H\24"
+"Q\30\206\277\304Z\265,M\2210P\320\262T*2[\267H\13\255\244\242\f\314\b\312"
+".\\\2\243\204\20\272\24\273\20+\311\bJ,\n\25\242\213\20\62\273HQJ\255\300"
+"(%2M\372\203\250\24\13\377\20QV\267\276.\316\354\354\314\236\237\2319\6"
+"\335\314{\243\314{\23693\347\347=\337,\200-[\266l\331\262e\313\326\377"
+"\327\42\221\31\346\300Y\217\304MO6M\242\242\357u\271V\310\314N\f\320\365"
+"\345&\321\r\357\220\241;\t\0\371\315o*\305\354\25\344\310\203\210\210\227"
+"D\354+4\220\246mp\0\3735^\375w\262\253o\330\33\271\316\225\252o\261j\204"
+"\327\357k\337\375\7\n\375\27\235\r\332\236\267\360\330*\245\301\320\266"
+"\0\243\306\17gq\330\4\305\277I[Y*\234\315\201;\220\77\240\276\33c\16\233"
+"\215&n+\333\335#\356\271\234\270\2139\317u_\370\316\203\210\210X\317\33"
+"\315p\2\247\263]b\272\270\353\247\25\21\21W\213`\376\342\313\20\371F0<"
+"@\304\33\2620\324\366\327\360\222\4\215\263E\257 \352J\266\\\236=ED\304"
+"f9\270\220\274t\212\34M\340\t9\270L\211\313()zXY\374%2p\274o\337\315\227"
+"E[\247]\376\304\370Y\233\27i\221^3\241\213\312\217\r\247,\r\376-*l\307"
+"\32\3351f\351\304G\214\264\236\276\226h\22_Q>\302\340\337\3562\333}L\361"
+"\343\337\24\336\36b\376\355C\366Vt\315\351\361\34\213\343\237V\332\256"
+"\241\13\254O\377&\377\24l\227Y|\27\31\247\244y%{\t\\\'E\207*]\207K\321"
+"\33\t\\)\267\337\353\27\22\26\261\13\30\62\200i\375i\245\215^\343\364\351"
+"\0\0\200$\32>84\372\320\b\376\1\0\0+i\270)\26\362\32\214V;\0\0\374\241"
+"\256\27 \42\242A\225\330\203\210\210\371T\317\344X>/\206I\31\65\310+\32"
+"\204ln@\33\265\347e\344\317\31\21|\25\0\0\276\320F\233\262r\35\202\32\234"
+"\2648G;\276\35\77\300e\223\250=\31\244\77\331\1R\236s\330\365\37\224\22"
+"\223\341\265\250Y1\352\24<3\316\263\314&MP5\306QI\320\355\363\266\262\340"
+"\333\272\224\354u/\365[\216\242~\325p3\13\232\322jj\27\364|\32\207\350"
+"\265\351;5\327J\330\225T2\232\320a\336L\334C\304\306\315\21G>s\321^\301"
+"\236=[\275\17\0\0\212\346\230\350\324Qs\201q\374=\205v\3577\2377\21\247"
+"[<\32\364r\230\345\304:1\205\302\22[\254(\345K\320|\355\251\321\30\331"
+"\203^\271\250=D\272\216\223\202S\t\354\315\224\372\256\367\rw\205\f\335"
+"\253~}K\300\31\352T\357\2269V\237(\360\13\251A\313\375\266\220\263\261"
+"\230\300Kh\'\230\77M\7\34}\3553\0\240T\256s\26\340\35m\241\0\320\377\322"
+"\343\42g\314\254\225\207\275\20\260\'\253\254\300\307\370\77R\230\320]"
+"\35\353\2648\312\356q\25\355\221\330\32i\25\317~yg\6j\234`\353\237\350"
+"/1t\263\337\7{\t#\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2\274IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\214\2\24"
+"\300\210C\234\315\305\336LK\214\201\341\365\325\23\7v\375\'\305D\315)_"
+"\377#\203G\365\302\304j\365\276\367\37\23\34\b\21dWw3%\240\225\377\370"
+"\177<`\17^\275n\377\361\203z<z\375\t\350\375\377\34\267^e\204\252\271\201"
+"\322\20\61)\377\31\337\220t\343\326\f\13\252\33N\250\3426\'\tk\366\206"
+"*(\302\224\312&\250y\77D>\5\233\\\f!\315\20\351S\330%\347\22\2459\1\237"
+"\354\23d\21&LE\270b#\226\201\201\201a6\1\233\33pI\327\376\377\277\rwL="
+"%\340-Au<\351\253\16\242\371\by\271\33\32\35\237\335\310\321\\\6K\n/\353"
+"\364H/I6\373 qn]\271t\371\372\255\277\304\333\275\31\63#\275\337Y\241G"
+"\244\356*\354Yq\273\77Q\272\205\226\341\310\312\35\304\331\236\274\27\273"
+"\366\22\42\213^~kK\23\35\31t\321\363\306\377\211\321\f+\276\325\r\255\34"
+"\220\322\325\37\221\217\244F\277\321DD\320\223\223|\22`\272\227\222\225"
+"t\267Au+\222\245{-D\363\2\242\3\f5\333\240kA)I\344\361k\316\206P\314\330"
+"\344,\357\374\77\42\202O\263 \304\335j\330\344n\376\377\377\177\77\21\331"
+"]\37\213\214\352\377\377\377\377\377\267\305\243W\2\242Y\16\213T\310\377"
+"\377\377\377\377\77\217Gs9\356\42.\7\42\25J\310\325\257\260\225\333\234"
+"\20j\25\316\22\3620\204\232\200\307Q\377\377\273c\317\42\347\360UV\305"
+"\360\304\277\32K|\227\302$\13\261jNB\312\365\347\263\304\220\245\254\347"
+"\303evc\317\317\266\207P\r\273x\352\352\223\317\254\242*\372VB\b\301K\372"
+"\370K||`+\316\230h%\2507\17O\42H]6\301\235W \342\2\16\255K8\210*u\326b"
+"\352\374\335\302It\326\365\235\367\20Y\353\n}RK\16\276\304\267P\275.\344"
+"\24<\374\177\377\377\377\377\377\377B\\\362L\3704\177\354b````\370I^e\357"
+"\3q\266\2Y\232\265 \232\377\332\221\325\211\200\5w\139\272\317\302tO&C"
+"\2639<\252\311\211.=XUM^\373\312\375\21\241V:>\220\1\321\314\206)\303\202"
+"S\217\2667\373\245\335\337\30\30\30\264 \374_$h\266\331\305\311\300\300"
+"p\345\304O\13c\6\6\6\6\206\357\2448\266\1-Ov\221\2429\2M3i\341\264\30E"
+"\257\31\211\241\234\374\16\256\365\214\34\351\221d\324r\350\325\237oW\247"
+"\2321\214\2\252\0\0\313\0\77\303\306\336\222c\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\3[IDATx\332\355\230[H\25Q\24\206\227\247"
+"R\313\314Kfe\220\220\3354R*\265c\220\204R\222 \nf/e`Vd%\230\21B\241\276"
+"\204Ee\4%\26\211\236\36|(!\263\7\225\4/D\205\231\210\245I\246\20\224fh"
+"(b\204\227\374{\3303\347\234\271_\354\301\207Y/\347\314Z\353\233=\263\367"
+"\332\377\336{\210,\263\314\262EdKD\327k\257\34\367\353\226\311\313\272"
+"\24\3277\251u\263f\0\243\261b\257}\34\300\33-\326\37\0\200<\241\367\42"
+"\363\256\327\242GY\236\303\335\367\230\371f5\373\340\fKD\227\7\357\261"
+"us\256\2\355\36\274\305\245\42\222]G\361\327\16=\375_\300g\347\20\21\235"
+"\343\257J\365\215^\32\237\77PT4\310\377\77\245w\354\267NClv\3\245\323!"
+"D\277\370\30*\274\nw\366\251\321\262\315s\261W\215\27\375A\236M13e\374"
+"\333\1\240s\215J\212\207J,&\331\243\241\335\22\236\305bjCE+\274\360g\332"
+"\304MO\324N\360%\366\2552\311\b\271\277U<%\357\255\322\211\356\374\b\31"
+"\253\330D\224^\327U\242\316\336\206\2021\211\270\241\306\276\203\206\271"
+"\345.\25\261_C\235\177\'\332>\f\317\5l\263\357\20f\254\33\321\324\237\336"
+"L\2273\326\341\336\362\36%\366&\2270\24\'\n\224\271\340x\5v\23\27\177 "
+"\r\305;\341\4\5\270\5\312\35\312\337\30\211\362l\20\2136\252\213\232B\313"
+"\305,\272L\341\271\236\250\276s\37\0\240J\2517}\31\34-\37\325ZY\32\1\0"
+"\33\324`\345\342\333\253\26\327\202\351\31\200\373fa*\357)SR\22hk\213\320"
+"l\22O\2029=k\6\0\324\231\2033\331KG\230\243\31<n\16.\344\344r\265)z\230"
+"+\376\\3p(\77\357f\13\203\214\323v\227b\374,O\r0Ho\36\27He\277\343\264"
+"\241\316\177(\21\333_5\331\301z\351\260\27\62j=u7L\'\356W<\42\303w\37\320"
+"\333|\360\331\372\277\22\274\311[\377\333{\37\272\3266#\304\23\r\366\377"
+"\356\374&7:\303\370\360G\271\206`\237\231\342\273.\263J\352\267\3609\6"
+"W\232\242\227sM\373\232\242#\31\\bn\276W-D,B\26\320eDS\302\325\312]z\265"
+"\325\247\205\35\235\244p\312\320\330s-\370;\21\21\5J\341\332\20J\325:/"
+"\262\2111/\361g\0\0\64v\211\357\1\0\351\222\226\331\262|Y\35f\333\250>"
+"\245M\203*\233$\312q\266\274\222\375\234W\203\357\20\21\321\2404\360\222"
+"\253\\/\225=\270\354\7\5\42\42~\306\367*\237\214%s\322&\\\331\211\42^)"
+"\260\333\77s[L\231X\203S+\306bU\236Y\376\233E\255\233P\325l\224(\301[>"
+"\26#\7\77\22\250dg\266\333a\3353\253\307\31\310\226\335\320\344\213\77"
+"G\240\265\243\177t>pKt\202\247\313\231+\277\223\n\207\16KS\32\211j\0\65"
+"\273\374\217\f(\242\235*s\366B\351a\42\42:9#\213N\36\325\'\30\307>I\320"
+"\327\311\6>\30\344\324O9\301\37\325\31&\16\242\201>\266\231\311\337\326"
+"i\3352\313,\263\354\377\332\77:\307\333\3105\300\323W\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\317IDATx\332c`\30\5\243`\24\214"
+"\202Q0\nF\1v\300\214. ^\25\303\177\21\213\302\304b\313\353\237\b\231\266"
+"\357\377\377\377\257\315\320E-\336\377\377\377\377\30!\275\2\377\377\377"
+"\377\377\377\177\1\252h!DT\222\220\356\327\20u\13\220\305\26B\304~\23\f"
+"\2044\210\302\377\347\31a\42L\27\241B\345\204\203\260\33\252\364\277\36"
+"\204\257\17\343/ &\2\312a\2523\31\30\30\30\262`\274^\342\242/\0\246\376"
+"N]\335]\30;\205\330\310W\373\371\37\35X\220\220vN\243j\275\315MR\312\233"
+"\203\254w\25\251\351\266\0\241\267\232\364T\357\n\323\353KN\236\218\371"
+"\377\377\377\377gEq\253`\304\247\335\324\213q\373\311\321\222g\220\0\\"
+"Q\305\346bo\246%\306\300\360\372\352\211\3\273\376\223b\242\346\224\257"
+"(\371\342Q\2750\261Z\275\357\375\307\4\7B\4\331\325\335L\th\345\77\376"
+"\37\17\330\203W\257\333\177\374\240\36\217^\177\2z\377\77\307\255W\31\241"
+"jn\2404DL\312\177\3067$\335\2705\303\202\352\206\23\252\270\315I\302\232"
+"\275\241\n\2120\245\262\tj\336\217\247\224\215!\244\31\42}\n\273\344\\"
+"\2424\'\340\223}\202,\302\204\251\bWl\3042000\314&`s\3.\351\332\377\377"
+"\267\341\216\251\247\4\274%\250\216\'}\325A4\37!/wC\243\343\263\339\232"
+"\313`I\341e\235\36\351%\311f\37$\316\255+\227._\277\365\227x\2737cf\244"
+"\367;+\364\210\324]\205=+n\367\'J\267\3202\34Y\271\2038\333\223\367b\327"
+"^Bd\321\313omi\242#\203.z\336\370\77\321U,\3\3\233\272\241\225\3R\272\372"
+"#\362\221\324\3507\232\210\bzr\222O\2L\367R\262\222\3566\250nE\262t\257"
+"\305h\2022\222\222m\320\265\240\224$\362\3705g\343\350Y0000X\336\371\177"
+"D\4\237fA\210\273\325\260\311\335\374\377\377\377~\42\262\273>\26\31\325"
+"\377\377\377\377\377o\213G\257\4D\263\34\26\251\20H\357\200p+\36\233T\16"
+"D*\224\220\253_a+\2679!\324*\234%\344a\b5\1o\327\302\35{\269\207\257\262"
+"*\206\'\376\325X\342\273\24&Y\210Us\22R\256\77\237%\206,e=\37.\263\33{"
+"~\266=\204j\330\305SW\37}b\22V6\260\221@\b^\322\307_\342\343\3[q\306D+"
+"A\275yx\22A\352\262\t\356\274\2\21\27ph]\302AT\251\263\26S\347\317\26N"
+"\242\263\256\357\274\207\b\215\77\366\225*\222\334A\341\22\340`\374\365"
+"\351#\303(\30\5\243`\24\214\2\252\2\0uSe\300\303\213)\303\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\361IDATx\332\355\227\261kSQ\24"
+"\306\77cb\25\21\24I\234\314\340 \242\325\301`\352\220\241\245U\207\16\201"
+"@\245\243P\207\428d(\350 ($\213d\223\322\77\240\223\201d\352P,\205\42\n"
+"\21\62\245\21\324\245Ppi\212\203\305hl\314\327\341\346=r\237\315{\357\336"
+"N\205\363-\207\367q~\357\336s\336\275\217{\1\221H$\22\211D\42\21\200\231"
+"\32C\2526\343eK4PIg\2234RRQ\21\25rf5\3464x\324\f\356\247GU8\357\330_\366"
+"\376\1@\344\354\325\230\233\332\375\372\253\7\0\'\317]\203\'\35\0PU\265"
+"d\7\254q\247\300\311\1\63\253\254\252\6WH\222y\315{\244\22\37kf\236$Y\321"
+"\2742I2\241y1\5\237\326\3148I\262\2545\254\3\0\330\321\362\366U\370\243"
+"\231\255\201t\7n\231u{W\203\33\0\260\25\206\373\6\0M\315\272@\222EO\236"
+"\252\331c\276 \311\270\356-\220\237\242a`l\220\317\275\336\315{\377\315"
+"\360p\30\343\356r<\341S\36\2032\42G\371\7\b,\260\300\2\13,\260\300\307"
+"\n\276\250B\302\n~\252\5#\305_9\7\327\302\245\320\320\235\267\77\17\77"
+"\335\367V&\202\330\207~\267\203\371\0\370\243\37\274\25\320\260\216\337"
+"\233\243\1#\337\367\33\371YP\321W\226\276\17c7,>Zj\265\17_\266Z\206\233"
+"$\311m\2735\374D\215\234\261\202o\367\347=e\265{\234\226\25m\350\272C\277"
+"\261\200\307\334\317e3\363[\353}\370\203U\323\36l\17\271r\204\322\274\202"
+"O\31\254u\334\230\36i\254\265\1\\W\317\177\r\340\314\2733\0\232\265\316"
+"\335\24\0\340\267\311d_z6\307k\23x\326\3\233\365iYc\323\206]\236\373\341"
+"\242\365\244\305\276(\274\337\351\266\77/\246!:\256:\0\365\225\42APz\355"
+"\244\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b"
+"\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2>IDATx\332"
+"\355\327MHTQ\30\6\340wf\244Q\310B\322\212QZ\264\262\2064\22\254\205\330"
+"\302\237\26\322*\212\b\202\240\250\266\375@m\302\4\25i3\213\210ZT\213\\"
+"\265j\21\212\30!j\242\220\5IQ\320\2464\212\206\ni`\312qf\336\26gf\270\243"
+"\367\357|WZ\235wq\231\373\363p\317|\347\314\235\357\2&&&&&&&&&\33\224k"
+"c}b{\231\344\240\24\177%\271*\305$\311Z\277W\207\313\366\352\0\0;d\270"
+"\n\0P)\303a\233c\276\261JH\206CAp\24\0\260I\206c\226\2556\356\6\0t\211"
+"\226\310~\252\264\373\274\276X\234m\361\235\261\266c\305\243O\247\223\31"
+"\353\272\313\247\277\275\246\343-g\351\231\7N\370\r}$a_\260\206&\77\337"
+"\260\331\36\177\31\365\203\235.\212$~{\r\372\303\5\267u\274\271\276\275"
+"\267^}\\\2761\361=c\255n\376o\316{dI\222dv\213h\225\\\42I\16\310\226\347"
+"\234e\253\215\177\0\0~\312p\326\262\325\306\324+Q\30\1b\260\301\6\377\17"
+"\34\n\3620\210\310p\336\322\23i\343\25\0\300v\31N\1\0\342A\332\307\371"
+" \230\2252<\355\336\4\270\347\234\272\365)\373\263\347_ry\310s\334\274"
+"\262\376L\347\23u\352\2503\276^\320\237\216\227u\24WgJ\377\362\247]\226"
+"\342\302\276R\2273\371>\231\333\332\320\330\\\326\261\344jR\316\267\216"
+"\244\334\333\13\367\3660\372\321\205\216z\276B$\234\350\303\335>&,\366"
+"x=\\}\324\341{\302\317\314X\340\322\375\23\325z\353\245f\244@\357\211\232"
+"\243\317$\311Y\3313\354\256z\311\223-\364n5\354F\21\336\243p\376\260\4"
+"\207\212\325\356\227\350WE}[\200\17\226f\272S\240\233\236\27\360\13Q\321"
+"\216,*-\233\257\213\n\333\276\42V8\230xOt\341Y\32\300^\265\237\321\300"
+"m\343U\0\336\316\255\34j\1\0\374\321\31\354\3155\77\310[:\370\344\32\254"
+"W\247\3412\333\252Y\345\263\277Jt~\227\376$\35\350\237Jf\323\357\356\264"
+"\302d\203\362\17\317/\6\37\217M\250\242\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\2\3IDATx\332\355\227=H\34A\34\305\337\235\n\302"
+"!*\341\2244WX\210\305\251\225\242\225B\320B\b\6\341\254,\24TP\20\224\20"
+"$\6\5!V\271\324i\2j\31AI\227.\244I\360\20\21E\374\226Ti<APBr\304\344Y\314"
+"N\334\31\67;;\246R\3465s\363x\277\335\233\217\375\317.\340\344\344t_T\244"
+"\33\325S}\345\233\1\301\201\247\255\273\347\246\253}$\231o\326\335\226"
+"3\222_Ll\5I\222\343\252;!\334\207&:/r\13~oQx\277\214\2230,\202\334\210"
+"I\'\276\351Y\223\346)|\345E\331 \372\215\262\277\20e\1&ez\4\0Fe\357u\264"
+"\345{\42\363G33\307\362\367`\324\305\257-PW\213\305\336YS\321\303\204\325"
+"\316{\353g\227l\367\355\3705\373\302~\327wH\366\361m\236\231\212\34I\256"
+"\'\377\235\210\205\341M]\261\179Wy\356\2252\253\214\250\325\214\316fi\241"
+"\254\312\246h\245\224W\335D\323c7\306\36\5N\333\301^\274\330{\202\244\275"
+"w\361\33\0\342\211\332\222\277\321\313\375\357\177\0\240\250\254\16Z\34"
+"\0\260\42\306\322\355\263\332\345\0\37\371\314na\255(\3602IrB\361\372\203"
+"\312\2468x\226\25o\211$Y\245x%\2.U\314\244\277\250y\23V\0\0\234(9\357h"
+"\372\251\36e\276\270\204\363v\263}\252\300[\0\3605\nw\0\0\333\212UI\222"
+"sZN\214Y3\247IR+\212\317\310\\q\24\30\237\310\347\272W\337q\343\37\6\303"
+"hOG)\2754%\342\377S\3\34\354`\7;\330\301\16v\360\235\202\37\210\246\352"
+"V\360\230\322X)9+_\\_VG\206\232\336\235\7\277\335\377x\337fb{\303\276\16"
+"\206\f\360\3470x\3070a\205\260+\27\fw\356\f\273s\3064\350\2327\337\202"
+"\311\223\3714\234\234\234\234\234\356\264\256\0\320\275H3\237Q|X\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2GIDATx\332\355\230OHT"
+"A\34\307\277\273/\374CZ\230k\210\366G\272\211\224k\344-\204\322\272\5E"
+"($v\223<[bK\177\20\221\304\333\36<\210\207<t\20:\205\b\242t\360P\221\220"
+"HEA\342E(\f\305\374\267\42\355\272\273\337\16\263\266os\337\2747\263\332"
+"i\276\207y3o\346\363~3\277\337\274\231y\17\60\62\62\62\62\62\62:\4\371"
+"\244\265\267n\346\275\36\321|\3628I\216\352\261\217I\222\254\322\202\5"
+"\313Z\35\266>\5;\273\305\357\f\267\210\313<u,/\n\303-Z\241\242k\213\177"
+"\273\375p\2627\225\273(.\235\336\273z\237d\277\310>\21\275V\30\347\22\311"
+"]\221}K\222\354S\rm\300\26ei\353\3141\227\1\0\312\1\240\4\0\60\244`\370"
+"\fI\362\22\0\64\222$O(X\26%\13\0N\3\300\350\232\2l\213l\24\0BP\200}\351"
+"tn\r\350\376.\207\217d\224\362\1\0y\0\60\377\250afPi:_%I\336Az\350\n\335"
+"\276\16\0h\22\205\204\332{\24L\275\301W\24\27\300\322\232\362\212\313\267"
+"\367\356N\315\306\212\212\255\235\365\365\355X\2\0\223;\77\347\34\'[\360"
+"=]\365\334\t\376D\17\ngw\330\251\13^FX\233\35\3761\341\5vjd\205\267\334"
+":\375\255C\266\206\25U6\364T\212\354\306\323\351\345\230\335\273\311\337"
+"\36\202\276B\222\214\37\323\332#:I\222\317\2746\317\234\2363\266T\31^\5"
+"\0\374\322\203\343\266T\31V\334\226\374\271\34+\fl`\3\377\17\330\227\313"
+"b`\351\301I\0@\241\36\34\5\0\234\324\203#\0\200\32M\377\221$gs\201Y\240"
+"\7\277\221\37\2\344j\27\246[\263\327\336\373\300\215\1\367\317\241\7\373"
+"k\232^\211\252\33\316p(E/6g\234(\272\336\375\335\345\357J\246\342\347\363"
+"{\271\217\323_\226\343\307\317V\327\5\355\365\211\222\210\263i+\42\77^"
+"\\\223\372,\177A\202N\4\334\\\36vBG\316y\bX\305\313\375\340\356\213F\317"
+"\1o\33\333N\203_\207\233\213U\277\334\375\201\243\376hd\323\374\336022"
+"2:X\375\1\356l\313p\260\203o\240\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\1\304IDATx\332\355\225\277/CQ\34\305\217\247M\b\rB1u0\210"
+"\201\261\3\13!\254\222&5\260\2200\32:h\42\322\204\204\315.&\223\201\204"
+"\370\23\32\42\251\30\232\210\b\26\223H0\21i\33\364\30n_\365\276\326\373"
+"e\22\337\263|\323\223\363y\367~\357\273\375>@$\22\211D\42\221H\4 \236\241"
+"Ke\342Vv\223\36\264\251\263\21zRDQ\206*1o=\3064\270\337\33\\\212\7Ti5\355"
+"\353\327O\0\60\232z\203\345\350\307\315[\21\0\352C}\260\304\1\0\207\252"
+"\227\311\nk\304lp\254\302\234T\326\241\6\37\220$\23\2327\253\202\363\232"
+"\231 I\36h\336>I\262S\363\202\nn\320\3140Ir_;\260\2\0\340Q\313\275\253"
+"\222\327\314\247\212\270\t\77y;\355g\r\276\0\200;7\334-\0\\jV\33InXr\252"
+"g\213\231\42\311\260\356-\221g\1\67\60\322\344\262\325\33\30\257\332am"
+"\30#\345\353Xg\323\36\235\22\306of\200\300\377\36nT\245\331\27<W\232F~"
+"\3664m\16\300\231\37#\337\327~t:\332\335`\224~\33\215Z*W,\375U\212\371"
+"\207\363\335t\325S\266\335\177l\266\254\354\220\227O\325\240\345\300B^"
+"\216\243*|\342~\341\343\352\307%\263\356\320l\322yk-+f:\325\352\343E\247"
+"\24\273\352\353\346\266)\270\3..\211LO\201\377\r\334\256J\247/xQ+\236\24"
+"^3\207\301z\227k(\272\367R{\374\344\216\206\235\330)\273\361\265\340\0"
+"\237\332\301W\16\7V\260{r\301a\345\t\273\225\343NM\367l\335\327&\37w\372"
+"!\22\211D\242\77\255/\265Na\32\345\321\275h\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\2#IDATx\332\355\227OHTA\34\307\277\356Bn\345"
+"\37*5Y\205@\350PR\332\301C\42\36*\273y\22/R\267\250s%\326%\244CQ\247=I"
+",\221\207\300\203\201\210\bK7\313E\22\f\255P\b\272t\210D)\260VDWw\277\36"
+"\336n\315\372\366\2757\363{\36\347s\30\336\316\314ggv\3467\277\235\7X,"
+"\26\213\305b\261X\16\211\7o\37\213\335{$\237J\345\237$w\2452I\262N\267"
+"w\244\344S=\0\340\264L>\n\0\210\311\344H\231:m\331\241B&W\204\221+\1\0"
+"Gdr\\)\215\345\353\0\200\36Q\210\264\323\241[\263\177qqN\2656\306\273\372"
+"\212\265\323\351\365\254\32w\371\255\325Ez\16\371\201\201\274\362\222\77"
+"S\203D\371\5k\276\250\363\13\333\312\313\77R:\262W\247h\342o\320\244\277"
+"\336\361\213\343\252\246\356\341&\347q\343\321\314ZV]\335\374v.xf\353$"
+"\311\275\32Q\224\334%I>\221\205\347\274R\32\313\277\0\0\277er^)\215\345"
+"cJ&3\226\317*\2451\23$\311w\22\65\366\274\20M#\265F\347\371\312@G\363I"
+"\265>\353\376\323a~{ua\314=\255$\265yq\320\355\244\1\227\17\254v\265\311"
+"\312\270:\247\365\7\236u\177\335\320\222\236\2724\3445\241\363o\n]R\355"
+"\222\235~O\222\\\226\205g\22\0\360R&\257(\245\261\274\251\224\306r.\314"
+"y\16u3p\322m4L\32\22f\222\35\0@\203L\316\0\0Z\303\\\37\77\206\221\31\223"
+"\311i\377K\200\77\267\234\241\7\312\267\336^\340\306\263\300y\363\276\273"
+"\345\332\244\323\324\353-\77,\330\337\373Kn\24\203s\377\362\301M\237P\374"
+"r\241\370\364ifym\257\366\314\271K%\251!w\42\343=t4\343\237\210\374\257"
+"\207\225\337|\324T\340+D\302K\35m\321\330\260\370\270[\334}}U{\303oLm\376"
+"\27W\222\375\3250<\370\221\272\343\221\235\314\37\373\232k\261X,\207\313"
+">x\234I\3335k\237p\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2lIDATx\332\355\230=h\24A\30\206\337K*I0\1QQP0\242\242\21A\4\223\224"
+"\42($\242\346\307\277\306\b\207iL0M\300\23T\254R\4\374\1-\264\210\20\255"
+"\214X\352\t^\2436\261\221\303C\321\\\212\2401\225p\334\251\304p\2717\305"
+"\354\317\334\354\354\354zIa1o\2653\357\367\354\354\3567\363\335\314\1V"
+"VVV\377\241\216<+\222\305\347\'j@\17\315\323\325\210\337\3330^\310\'#\331"
+"\333\224u\311\351=K\222\177\32#\330\247Tts+\320\236\21\327[\314\3545\32"
+"\64\37\61\260\27\370W\3\367\231\331\335\42\352\341z\0\275\237\24\366j\304"
+"\300k\n$K\35N\353\360\214\314^\214\374\326\335o\77\336\220\232\307\247"
+"]4\273\243\206\254\357\34\315.q\356Q\273]:V\265\253\365q\261j\5d\272\253"
+"\375\223\231\212l\227\236\354\365\275\203\301\3057,\263\227\203~\7\0\324"
+"\1\300\351\340\263\364\313\215\363A\377\214\7k\n\304w\2711\27\364%$\255"
+">\325\267V9r\317\254\352\277\226\355d\331\353\257d\323\367O\251\3\365\335"
+"Kg\375oV\31P\354)\307\350\f\317I\247\23\362>\340\264\bc\320\224\321A\21"
+"\323\22t\26I\222\315&\270\231$\271\250qD\261\212Q\227\247\275f\235w\265"
+"\20w:.h`\306\205\251\201k\220\205-la\13[xe\245wEp9.\\^\355\237\233B\\\270"
+"\240\201\305.\243\336\204\325+\333\21\37\236\1\0l7\301\302\314k\340\34"
+"\0\300x\32h\223\2\253\265\221$9i\202\'I\222\33\274vB\315_\42\62\303\t\335"
+"\364|\7\08\26\316v\1\0\336h\275$I\362s8,\16x\27L\307\310\2360\266\207\246"
+"-\317\204\321u\356=\36\342\256\23\366\224\336u\266\210Ma\367\276#\374\227"
+":\357\205\360\306\302\77IID\344\2\247\373\306\234p~\32\22\271\317\335\327"
+"\16U\367\17\271\375\273Ls\350\234\267+Ny/\327\224Zr{\225L\250\23j\340\201"
+"w\371\353\325\207\37\330\274\377\250\377\16\375\23\21\253\2657\374\357"
+"\206\256\350\265\276mV\217~\331\24\253T\\\321\261\303\261\13\362u\205,"
+"\247\376\251\236\267\335\315\273\344\327[\7B\202L\313\27k\33\360\273h\17"
+"\313VVVV\253\254e\245\223x\27 \307\1\60\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\2\67IDATx\332c`\30\5\243`\24\214\202Q0\nF\301"
+"(\300\13\334\326|\372\377\377\323:\1772\264:>\377\17\3\245\bQ\356y\37\356"
+"$\23\324\333\377\37\31dCE#\376\377\377\377\377\33\17\1\275\253\376\243"
+"\201F9\6\6\213\275\20\266,~\275\265\377\361\200\347\4,\206+\374\211Es\b"
+"~\275\232\20U\263D\31\30\30\202\257\241\351\255\42`1\347\207\377\377\377"
+"\177\266\204\362\234\357\42\353M%\30\326\201\207/\327#q\375n\303\264^T"
+"%#\326\325\332/\376\375\377t\276\305h\326\31\271\200\21J\13i\213p0|\271"
+"\177\5\273*cI.f&\306\177\37o\334\305\42\251w\f\226\n\213\261\310\316A\244"
+"\357O\336\230\322\27\20\322\230EM/J\326\302H\342\322H\222\25704\357E\321"
+"\274\20C~+\222,\206d1\212\346\217\30\362,\375\337\341\262\22\30\262i7\376"
+"\3433\234\201\201A$\3455DR\21\233,\253\224\347f<\232\31\30x!\305\226\22"
+"\256X]\212O3C\13n\233\221\3127$\21&$\366I\374\351\351:\206\b\262\346\267"
+"\244&Od\315\177 %7y\232\31(\261yT\363\250\346Q\315853\222\247\371\377\200"
+"\331\374\217\201\201\201\201\201\r\227R\36\274\232\17710000\360\341\322"
+"\354\217W\363w\6\6\6\6\6\234-\333v\274\232\337A\352b\34z\253e\211h\362"
+"\336\300.\227\362\37ou\3k/\213\341o\207\343\322|\344\377\377\377\377\377"
+"\257\301\224\340\330\211\250%\205phN\207HG\242\213\347\20\325\352\206\312"
+"G\243\b&\274Cm\263G\343\320\fk~\254\227\202\211X\317\301\354-\2341\304"
+"\236\30\177\263@\31\17\267\336\370%\246m\205#z\34\17`\23\65\304\325\261"
+"\371R\3502\3\301[\205\335L\17\354z\273\30\30\30\30v\300\271Kqx[\367\33"
+"\246\326u\220F\16\313\3\230\200!\316t\326\212\246u\232$\\\252\352\356\377"
+"\377\377\37\366\211\340K\246q{`\32oO\266%\242\341\212\1\270y\30\276|\35"
+"m\330\217\202Q0\nF\1\r\0\0\27\274j\324\305\377nC\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\2\32IDATx\332\355\230\271K\3A\24\306\237"
+"\246\21\24\25\4\257\316X\b*\202\210\327_ D\13\215\27\66*\4Rx\240\245i\374"
+"\7\4Q\324\302\306\42\332\331k\2\246\21\33m$\20\24\257B<\21\4\361\200 1"
+"\237\305&\233\311\354\314\354\6m\304\371\252\354\373\336o2\273\363v\362"
+"&DZZZZZ\177Iy\202Xey\201\213\13}\305\237\36\235\f\267\4\211\226\354\331"
+"\25H\265\302\347\346\363\201V\371\270m\266pX\16\207\355\347=\21\25O::\251"
+"\313\353_\253a\3635\253 \42}\331~o$\311\332o[\215L\321Z\353i\226eg\254"
+"~\247Y\333C\326\271\214\261\27\243V\177\330\204\37\254\346-{qg\365\31$"
+"\304\317\352\246\201\315\254\277\346\375=\326\366%\314x2\32Z\33\344\277"
+"h`5\24\315<\263\244\237\263\17S\206G\276&\236T\312\221\305q\33\306\224"
+"jE\247\214\34\267\325\371\4\0\224\252\340R\0\300\247\300\271\0\0\250\213"
+"\t\0p!\330\303\342N\3131.\200\341\24\206|\367\314E\32\326\260\2065\254"
+"\341\237m\275\77\202\23N\341\304o\377\334\2748\205_\4\260\321e\270T\230"
+"\213kG2\360\25\21\21\325\252`\303\274\24\3001\42\42\352P\301\355Lb\266"
+"*\0\0\333*x\33\0P.:\224AzJ\223e0\345y@DD=r\266\233\210\210\366\205\236"
+"\17\0p*\207O\0\0\343\212v\5^\31\353\205\252\345\t*\335\324\330\33\22\267"
+"\314\260\17\305n\252E,\2619\300\356\212\274\35\303[\220\77\2227##V\304"
+"\33E1\303yV,dS\272\257\235\316\216O\247\343u\252\32\32\61\273\342\200y"
+"s%\201\257t\324\253>\366\373\327\315\217\357\341\343{\252n\356\312\334"
+"\303X\320\346m\355\227\237\334\273\355\337\365\232k1zV\345h\253\230\23"
+"\261\263\2167\344y\216L\4r\332\317\333\227/\323\344\371bK\16\177\262\230"
+"*.\244\217W}X\326\322\322\322\372e}\3\211\257\25|\246\236!;\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\376IDATx\332\355\227\77H["
+"Q\24\306\277\374\261\204\252\35$\4\223\222A\301AB\13\241\264\203\245C\301"
+"Aq\350\\\204\42\64X\250.\305-\245[E(\370\7\2\322\301\245C\226R\352 \1\3"
+"\25\34D\20:(\24\f\210\324l\222b %j\215\326\323!y\311{\357\336sS-%\313\371"
+"\246w\317w\177\367\336\367\356y\357\236\7\210D\42\221H$\22\265^\36M\254"
+";\24\360\271B\277\177\25\16\377f\270\5b\264\320\234M\21\253\224\273\257"
+"\327\35\270\317\217\373\240)\234\345\341l\363u\277\334\321/zgB\322K\324"
+"\242\367\271+\26\f\240\374\375\233\276\327\275\360M\237\327sY\312\355k"
+"\314\273\233V\6Oi\334\245F\202\377\34Q\355\355\206\375\\1g\35\357G\237"
+"\333\276m3\13\n\274\346\200\77(~\306\346*\346\224\3.)\276\177\376\264\356"
+"v+\356x\216L\203\3\b&~T\315\36\235\333\26\31^1\300@\347\31\21\21\365r\273"
+"\2326\301x\313\317\f\0\375\nl\377\0n\231\363i\27\246\257\347\321U\323\323"
+"\16_\0\0\350z0\376ef\201\5\26\230\205=\327\203\251e3_\2\0np];\214p\5\0"
+"p\213\203\237\30\341S\0@\224\203g\214p\261z\26\63\354\353\250\371\1\20"
+"\21QN\357%\310x\334\324`\n\351\2547\324\f\336 \42\242O\252\21\3106N\311"
+".\6~Q\265\237\272\343\223\366#6i^7\215:\202cEg\341=\312\300V\371\261\34"
+"\261\42\17\227\324\262\375k\\\237\214\347\376\332E>\223\253\204b\3\314"
+"\366<^\327E\343\334\237M\371\325\340\373F\353\243~\314!=\373\16\0V\353"
+"\3154s\333wNT\364s\265\310\361\37X\2018\233g\323.t1\\\267\222\373D\224"
+"\237\13\232\322\364\331\27\13\334K=\272\342\217(\0\240\275\3\345c)\354"
+"E\42\221\350\77\350\17\253\36\b9\314\275/z\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\2\213IDATx\332\355\227\275k\24Q\24\305\217"
+"Z\2440\230\200\240&\2351A0*\350\2021\250\255Bb\241\353\27iL$\270U\202)"
+"]\4\375\3\4Q\320\302\b~\304l\25-lt\25\323\310Z$\b\22]\24\223\370\261\250"
+"Y\33!$\n!l\366X\274\231\331\2317\357\275\231eSX\274S\355\334s\1773;\363"
+"\356\334y\27\260\262\262\262\252U\353\344\300\241T\363;e\346\271\236\225"
+"o\21\'\353$yOedH\36\214\200\37\220d_8~\236$G#\340I\222d8N\222|#\5\327J"
+"\307E\0\300\23\231\315\2\0\346\42\256\334K\222\344\235`\364\276\210\366"
+"E=~\221\306\351D%\264\357\213\23\214\\\273~\'\221_\323{\353\200\272\304"
+"\245\202\33\351\217^\371\f5\312\304\251\233Gj\366q\274\252\273\254b\257"
+"\304\255\331\326\234\214\346Z\253(\371\266a\77:\334\246\316Z\243\345\233"
+"\16\37\330\265\5\277\336\277~Q\264\375\343\377Q\373\303\205@M\214\37\17"
+"\372\307\306\313~{qt\247\357\235\13W\343\220\237\275\20\366;\275NrZ\321"
+"\24\374\7g\303\376\31\17V\224\320\17\377\301\317\260\357C\262\362\277\372"
+"\336\356\317\334Q\220\375\227\201\376Q\362\342\345\251\354\255S\362\205"
+"N\336\314NU\236Y9%\331\23\216\321\245_\223.\'e2\344\264\bc\300\264\242"
+"\3\42\247%\354,\223$\33Mp#IrY\341\314\304\350\256$\311\31\305\27c)n9.)"
+"`\306\205\251\375VU%\13[\330\302\26\266pm\255\267&\270\24\27.\255\366\347"
+"f>.<\257\200\213\352\3610<;\26\25\360g\0\3006\23,\314Y\5\234\7\0\3547\301"
+"\35\276\304\2406\223$\307L\360\30Ir\223j\247\317\210\255\1778\303W\236"
+"9\0\300Q=\333\r\0xe\230\345>\352\341\17\246\201Rl\224\222:6i\34(G\314\343"
+"\246p\357j\334\215\302\236P\273\316\26\261Aw\356\353\302\177\246\362\236"
+"\n\357\252\376\221,\212\214|\275l\324\347\205\363\333\260\220\273\335}"
+"\355`0>\350\306\267\233j\250\307\333\25\247\275\233kH\257\270\321\244y"
+"\226L\335\366~\376y\376v\16\315{\216T\356\241w$\342m=A\255\272\243\337"
+"\365\255\5\65\372\251)V\253\270\250b\207b7dy\360/\245\253\352\347\35\67"
+"f]r\372Z\2\325N\356\0\66\254\307\337\5;,[YYY\255\262\376\1c\236\2036&H"
+"\207)\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b"
+"\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2_IDATx\332"
+"\355\227OHTA\34\307\277\253[JY\7Y\304\335\360P\350!\304`[\b\312<\4!F\207"
+"\316\42\324\206f\227.\341)\245\272\24AP\35\202\b\23Jh/\241E\204`Q\320\301"
+"\202\302CT\320R\230\356%\243H0\266$-\277\35f\237\357\317\314\274ynD\20"
+"\363=\355\373~\3473\3\373~o\3467\200\225\225\225\225\225\325\177\254\312"
+"\240\321\326\233z\251\34y\270\363\327\214a\262\235$\257\253\202\34\311"
+"\335\6x\230$\263\262\177\204$o\32\340\347$I\331\'IN\6\314\212\300\363,"
+"\0\340n\220\35\7\0|0\254|\210$\311k~\367\206p\263\246\277_\f\343\333\214"
+"k\355x_2\215\357\256\2734\220\323\'\266W\1U\231\201\202\343t\233\337|\216"
+"\32\345\242\324\315\210\232\35\215Vu\247T\354\351\2505\3338\21D\'\32WQ"
+"\362M\203^t\260I=*\246\345\223\355\255-\365\370\370\352\311\203Y\273\177"
+"X\225-\247\302j\233\23\325(N\277V\217\312$\327UV\304\226\347\363S\212p"
+"\333S\247\214\373\24\351\220[\345_\367\313\361\13\67\226\267\213\13\276"
+"\357K\372F6y\302O\22\374\310\7\17K\371\230\'\225\302>\37</\345\361K\13"
+"+i\275\224\366\346\31\669\200D\317g\21nV\245kR\373\356\205\356\277\33~"
+"\220$\267\30\266UMzF\2772\0l\225`\357Y\365,\274\236\336H\216\27\376\262"
+"\332\362\364\302\77\305aU\36\214\77Y\331\302\26\266\260\26\216\225\7\363"
+"\237\255\274\f\0X\253\33Z\23\n/\2\0\66\352\340\3\241\360\2\0\240A\7\237"
+"\13\205\347\304Y\254a\7\32\42t\371yu\326CC\273/\322:Ut\222&Xt\312#rP}\337"
+"=%k5\360Q\21w\6\375c\336#\266\337p\265\351\362\231\3319\177\343\336\245"
+"\201\235\366\343N\312qZ\207\344\33\303dZ]\214K\361\322\217\302X~\261\256"
+"y\227\346\365\354y\254r\323\272{Q\361\370\336\253\356\323-\365\234\35j"
+"\366<\0\214\33\257X-\337e\364\266hr\3423\216\221\326\326\331\331\0z%\271"
+"\22\365O\221,\\L\204\225\351\301\207\16\370\356r[\204\306U\322\372\32\24"
+"\277\331\306\336\312\312\312\352/\3507y\216u\363\1\320jH\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\274IDATx\332\355\230OH\24Q\34"
+"\307\277\246\21\244\254VP\324!j\r\242\214 \202\254\350\42X\201v\250\265"
+"\77D\222\202 \5J^\42\27\252K\227\42\210\244\42\274t\260\242\203\327\312"
+"\r\262\242\274\330\305\204\255,]b\263,\2A\264\302d\335o\207\2673;;\363"
+"\346\355\233\325\343\373\236\346\367\276\3573\314\237\337\373\315\357\r"
+"`dd\344Q\221\312\334_\273\251\350\313\213\'\205\234\367\302_\222$\347/"
+"\6F\303\357i\353c8\30\273e\216\16\375\333\34\b\376\306\34}\r\302\336\42"
+"IN\234\337\273\257\363\27I\262K\237-%I>\24\301#\222\344rm\370,I\216X\321"
+"\bI\236\221L[\42\205k\0\340\232\25]\265\207\264\340\r\0\60`Eo\354!-\230"
+"\0PbE%\0\60\257\r\217\1\300\1+\252\5\200Q\355\7\326L\222\223V\364\223$"
+"O\351\277+\222\344\300\n\0\b\275\42I\6H\222+\42\261\272\33\33\357\212\243"
+"KARl(7=\337\6\312\355\225I\'\233\b\5[V\313\372\262\354\343\245\201W\364"
+"\321w\2\35j(\250\f\255\257\t#\361r\334\24\353\305U\325\375\351\234\204"
+"\352\77\222\353\37\356O;\355\231\7\333\262\336.z\324\341d\317y\375=\366"
+"z>\356\275\226&gp\332\353\237\260\341\37\222\272\355\f\276{}\7\22s_\325"
+"x\225s\346\326\244\333\177\356\264[R\366xz8v\347\230\'\317o\307\206\263"
+"\317,\335\352\262\7\63F\235\377;\251\363]\334aa\264\251\336h\233\230#\371"
+"f\212\317b\205\n\256 I\316I\234Q\215:G\222\34\225\324\355Y\335t\234\225"
+"\300\332\305\225y\276\30\2322\260\201\rl`\3/\254\364.\bN\351\302\251\305"
+"\376\334L\351\302S\22Xt\31\305*\254\330\325\216d\341\4\0\240R\5Wf\267>"
+".8\16\0\330\255\202\253\35\23s\265\206$\331\253\202{I\222\253e\315:\363"
+"v\357\356\31\216\364\24{\307C\376l=\0\340\265\324k\21\377\7\374\341\17"
+"$\311fE\273\302\210\37\33\241\252\345\351Q\272\231s\337\363qW\t{P\356f"
+"Z\304r\277s\337\24~\237\314{*\274\353\376\217dF\314\210\227\271\215\262"
+"\270p&\25/r\273\325\327\266\347\216\267[\343\312\237-\'\355\2568j\337\\"
+"yt\336\32\215\250\267\203\255\335\366\341\357gC\23X\267\343`\366\36\232"
+"z\362\254\326\6\372\252>\377Z\337\230\224\243\237\326j\225\212N\31\333"
+"\241]\220/\273\310T4P=\257\356\32\263\310\3177v\26\262\371\16\225\342\317"
+"\264\331,\33\31\31\31-\262\376\3\0\2}\247\340\367\271\375\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\217IDATx\332\355\230Kh\23Q\24"
+"\206\377\324TK[\13\206Pl\245\242A\221R\24\202\273\252\213@\24\305\205\13"
+"\335\210E\n\26\37\340F\212(\325\256T|\200\212\24|@7.\202 \242\13\r*\370"
+"(\30\4Eh\27J\7j\250Q\21\251\264P\211-\215\266\277\213q^\231{\2573\21\321"
+"\305\375W9\347\237\357\336d\356\231{\317\4\320\322\322\322\322\322\372"
+"\277\25Q\231\33\323+\42\243O\262\225\214{d\212$\311\331\343\241\321\304"
+"\33\332\32N\204c[KtifU(\370#=z\37\206\355#I~:\334\276\376\350\30I\362R"
+"p\266\216$\2311\203\33$\311\332\300\360\1\2224\254\310 \311\375\202\313"
+"\252\204p\n\0\316Z\321\31;\25\b^\6\09+zf\247\2\301\4\200\250\25E\1`60\374"
+"\26\0\66YQ\32\0F\2\337\260N\222\34\267\242\317$\271+\370Z\221$s\213\0\240"
+"a\200$\31\242HN\230\205u\255\243\343\212\371\2517L\211\rz\313\363e\250"
+"\332\216\25\334l\276!\334c\265\340\276\303\336\253\16\375D\357\30\62\321"
+"\301\355\25mCKS\t\344\237~\320\233\265\340\206\305\332\3425(\216\276\26"
+"_\265\266\251v^Udn\322\310\13\3145\317\255%\355\26\270\375\316\212\177"
+"\335\352\267\207\34{\217\317<\357)\324\225\345\366\22\2279\346\203\37{"
+"\340\353>\77\353r}f\267\7\236\364\371\321\213\323\266\273\330\347\3565"
+"\250\32\34@\274\353\213i.\27\271\325\315[\356*``\341\fIRz\250eT0N\312g"
+"\6\200V\37\354\336=_\250\353iX\271\365\216\207-O7\374\303\331\360\303\303"
+"\370\223\2315\254a\rK\341He0\377\331\314s\0\200\371\262K\353\225p\t\0 "
+"m|\266)\341i\0@\213\f>\255\204\'\314\263X\302\36k\t\320q\32b\257\213\312"
+"\343\346\27\314F\221\325\313\337\3019\222\344-\277Q\363\3209%c\22x\237"
+"i\357,\317\37t\37\261=\352\357]\326\230wNx;`Y\333n\265\37w\232\255\314"
+"\272~\372\364*).\306\357\326[I!k\224\32\333\332%\313\223\32\20e\223\224"
+"\250x(}\325\211n\212\307\334,f\317\1\300\3;\314H~\366\352)\77z\333lr\242"
+"\357\254DRZg\247\312\320\313M\266\325\223\'Y\270\20W\225\351\356G\268\322"
+"\267\241\222\77\34\352\352Q\374\246\33{---\255\277\240\237\332\77pd\26"
+"=A\336\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x"
+"\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\221IDA"
+"Tx\332\355\227OHTA\34\307\277k\207\16Z+\4\211]\42;\30\31F\24i\267\240C"
+"\251A\245V$\321\6\222]\24\r<\264\4\321\265\2020\250 \210\240\255\233]\313"
+"\r\224@\42\322K\bKan\204\224m\35$\321\r\304^\373\3550\363\336\276}o\336"
+"\354\224\236b\276\247\367\235\357\357\363\376\315\274y3\200\225\225\225"
+"U9\355\33\347\3641\317\325\217r\276\327\230\275D\222\357]\227 \311_\225"
+"\206\354u\222\244#\335 I\2225f\354=Q\375L\270k\302e\315\330G\242\232;\0"
+"\0\67\244;d\304>\225\325\235\376\273`\277\21;\42\253\273\0\0)\351\6\215"
+"\330\227\262\272\3\0\60,]\237\21\373\\V\267\224\\\367\202\21{EV\37\4\0"
+"\\\224\356\254\331\213\226\325\315\302\315\371\237\240\254\266\212\352"
+"F\341\326\13w\304tX\316\220\374T\353\2727$\363\273\225\205\353\24m\223"
+"\33\276\ru\345]\367:\376\343A\313w;K\374\17jx\274H\277\306N\224\346\307"
+"\307\n\376x\351\311\256b\266\237!\r\370\331\376p~\0\0*\0\340T\370^\22~"
+"s.\234\237\366\340\\8\374\3427s\341\334\207\244\203w\365\271\301_\271s"
+"6\230\217\372\343n\307k/L\245\357\236\f^\250\363Nz\252\370\316\n=\201x"
+"B\6\255\321}\322*K&CI\235\b\264\77\243^QS\27NVH\222\325:\270\232$\271\22"
+"\61\177\220\6\263\333\214g+\274\243e\323\341\270\254\200i\nS\1\377\203"
+",la\13[\330\302\253\233zW\5;\246\260\263\326\277\233\5SxA\1\347\42\227"
+"\320\201\365uN\1\177\4\0l\327\301\42\314*\340\f\0\240Y\7\67\371\nKUC\222"
+"\34\326\301b\203\265\331\363\261`\377\305\312\366pL5<_\1\0\216F\263m\0"
+"\200qe\326\315\222\315vX\357H\222\347u\233\261\366(\266\235\272%OJ\233"
+"\312s\77\214H7\211xB\235\312%b<\352\334C\42\37\321\354loF\277\222%Q\221"
+"\251\n\6U\31\221\314k:\262\221\352}v\237\333^\257\33Cg\274Uq\322{\270x"
+"\362\267\333\32\350\211\340\200\352\271\357\35\346_\274\375\212-{\16\27"
+"\237!\221*\363\265v0Rm\345\277\365m\263jt\272\326h\252\270\254b\7\214\'"
+"\344\253\1\322I\376\325|\336t;\353\222\37n\355\215(\322}\276\330X\211\237"
+"\213v\263leee\265\306\372\3\36\334z\273\31j\352\237\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\2oIDATx\332\355\227MHTQ\34\305\317\350"
+"T\222Z \203\245!Q\20\25\2221\324\42\212\240\250\205C\13\27\265\311\242"
+"\202,7F\210\256\214\240E\21\t}@ -fc\340\246\244\26\61}\200QDHE\213\26\201"
+"\23&\346\42\350\3\r\343\225\244\341iq\357{\363f\356\275on\23\321\242{6"
+"\363\316=\377\337\273\357\315\2733\367\377\0\'\'\'\'\'\247\377W\233\237"
+"\360MK\340\326\16q\262\303\232\355$\311\21\337\35&\311\271JK\366\2I\362"
+"\247t\335$I.\263c\373DuF\2703\302\275\265c\373E5\327\1\0z\245\333e\305"
+"\16\312\352}\341\253\340I+\366\236\254n\5\0\\\227\256\333\212}$\253\367"
+"\2\0nJw\302\212\275+\253Sy\363\36\263bO\311\352\35\0\200v\351\16\332}\321"
+"\262z\213p\357\303wPT+Eu\223p\213\204k\266]\226\243$\307\353|\367\214\244"
+"\267QSV\256\205_T\177\270\322\352\371nx\351\227t\352\243\373\227p*E1\371"
+"Y\323\230\250\2007\376Z_\265\251nqyYl~:;\246\t\233\206\345\357\210]\232"
+"4\315@_\367\250\361\253\\|T\t/2\2545\205\361\212P\370I\201\37\346\301\375"
+"J\236\t\245J\330\225\7O+y\374\362L\220.W\322\343YF\235\34@\242\355\263"
+"\bW\351\322\5\365\251;\21\60P\375\203$\271\332\364T\7\242`\2345\317\f\0"
+"\353\25\270,t\374<z=\215(#ax\362w\227g\30\26\33\61K\203\361\'3;\330\301"
+"\16\66\302\261\322`\376\263\231\347\1\0\13M\245U\221\360,\0`\211\tn\211"
+"\204g\0\0\r&\370|$<%\366bS\'\334`\321\354f\365Y\33#\267\33\277S\256\325"
+"E\247Y\f~J\222\34T\203\212\7\271]\262\306\0\313\226~\177\341xGx\213\355"
+")\322\341\37\310\33<2\225\267\273\27\244j\373q\273\336\37\331\226\246\242"
+"\227I\375b\234\213\313\203\211Lv\266\266q\253\341\361\354|\254\33M\322"
+" \257s\367\265\234\273\241\77g\263\236\355\5\200\373\201\35\60\334\366"
+"\206\357*zK49\361w\376@\322\270\316\316\25\240}\301k\16z\306HN\\JD-\323"
+"CC>8zu\273E\343\252\250\262\n\3367\327\330;999\375\5\375\2\77\364mx*(\4"
+"e\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2qIDATx\332\355"
+"\230\77h\24A\30\305\337]\24\233`N\24\203\202\242\21\21L\20\21\361\264\320"
+"FP\271\210\350\371\17\33\65\6R%$\240\340\277B+\33-,\264\20A0\n\26A\254"
+"\3243\30\20\321\42\66rp*\361b\21\222 \26\301\220\4\f\307q\317b6ss\2733"
+"s\273\33\33a^\2653o~\2733\373\315\316\367\335\1NNNNNNNNN\255Of\250j\350"
+"X\255\177t\250\242\332\263O\333\252\336.\6\324\247\262\275A\177\17\0$\1"
+"\340Tp.\347\324\306\331\240\177Z\302\77\203\346\204\332\230\f\372\n\222"
+"\363\317j\274U\35\271u\314\357\277U\355\316\262\354\257\344s\367O\372\37"
+"t\342^._}g\225.\237=\354\31\31sL2\336\220O\1\247E\30\335\266\210v\2131"
+"-A\247D\222L\331\340\24I\262\244q\212$I\373f\42I\26e3)\257\346\303n\307"
+"y\r\314\26005p\f9\330\301\16v\260\203\27w\364.\n.\207\205\313\377:\335"
+"L\207\205\2475\260\2502\32lX\203\257\34\251\302\77\0\0\233l\2600G5p\1\0"
+"\260\333\6\247\225\201\265j&I\16\330\340\1\222\344j\331N\370\343\227\250"
+"\33\341\204n{~\0\0\34\66\263\355\0\200\367Z\257\223$\371\315\f\177%I\236"
+"\267\224+\314\232\330,m%O\277\325\365\356\375\310\340\256\24\366\260\336"
+"\365J\304&\323\275\357\n\377\265\316{%\274\333\346W2+F\24\32\375FcA8S\226"
+"@n[\250k{j\373{\26\372\267\330\366\320\31Y\25_\225\213[q]\326\312\276H"
+"\3707T\327\3y97\370\371Wr\375\316\3\312o\207\376:_\353q\32\325^\377[\337"
+"8\246GG\326\204:*\256\350\330\213\241\17\344\33~\364Y\244\363\374\310G"
+"\225\315DM\7\227%Z\\\369\227\244\247<\366Z\214DtS\240\267\342$\261C$\311"
+"\301\265q\330%\177H\362M\274\354\371\220$\331\34\17&I\336\211\307\212\363"
+"*\35\2572\330\1\0\370\35\17^\6\08\30o\332\27D\220\367\2@b\225i\224!\273"
+"4yI\370\335H\252ms\351\345\245\211H\217~\\\363Qe#N\374\273\302\216n\210"
+"\272\354\27\222\375\262\77\332\232\1`{\307\276uK\347&\363\271\347\356/"
+"\254\377^\177\1f32x\260\241X\332\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\67IDATx\332\355\227O\210Ma\30\306\237;\3462\31\377\232"
+".\207\253+\324(\r\223a1\231\242&\13d\241f\'E\230\314\306\312X\221lhJda"
+"i67M)4\213\351\206\242f!\245(\212\\\42M\261!cF\303\315\245y,\316\271\367"
+"|\347~\1778\37e\363>\233s\316\373|\277\363~\3379\357\275\357w\0\221H$\22"
+"\211D\42\221H$\372w\312D\307\266\216\\\13f\336>3\217\332\262b\376\234\246"
+"\314\354t\371\215\301\354|\300H\203\6w\230u}\331\243\333Ob\373\210f^\244"
+"\252\366F{\245b~\320\340{\t\270\250\371%\305\325\314\301\4<\255\371\315"
+"\227*uw\271\346\36-\323us\0\271\376\217\241\271\306\344f\363\273\307\34"
+"\60\260\360;Ir\255\355\255\216\270`\234\265g\6\200\365\32\334\244\234\77"
+"t\327\323\13-\242\302\237\322\226\247\n\377\4\0\320\17\306\337d\26X`\201"
+"\255p\306\17\346\177\313<\13\0\230k\33\272\300\tW\1\0\213l\360^\'\\\1\0"
+"\24l\360\220\23\236\f{\261\205=Up\77\0\222d\331\354\365\323\331n\42\230"
+"\313L\326i\376\16\276O\222\274\241\33-w\342.\331f\201\7B{_c\374\230\332"
+"bO\272\347\315\375\211\340\301\311Dwop\365\355\307h\276\26\351\271BM\217"
+"\272\314\305\370\2439:\231(\225\253K;zV\231\223\364\216\233\242]\264\351"
+"\374\361\211\370\342\272\371\236\273\314\350p\0\\\216/G,\313\336\370MG"
+"\307:\1\240\30\7\66[\353\354\\\222\254\f\5\0\200\356\257\265\310\325\274"
+"\253L\17\334\255\215{|f]m\373\31\355\22\257m\375\203\37zk\20\264\252\317"
+"b\312]!.\365\206k\317\371\260\331\nI\336\362\373\217\r\313,\360\203I\222"
+"\27\374\330>\222d\267_\307\bk\342\263\37<\17\0\260\323o\332\207\303\372"
+"\330\6\0\231\\\312\376\260x*<\216\277\\\262\241\275Z:\361.U\352b\242\332"
+"\373RN\374\225\302\276^\235v\331\243u\366\371\216\364=q\323\241\355\205"
+"\354\314\373\247\267o\312g\260(\205~\1\16\332\36\327<\266j\324\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4;IDATx\332\355\230mh\226"
+"U\30\307\377\251-\324\321\242\222fK\235-]\305r\205\31\275\320dX\6\31\25"
+"K\3132\214J\212\220\202\260(!\42\362\205\242\17E\37\2427g$s\217\201\345"
+"\207,\243@\\#rXsY+c:\327\362\2033g2\13\267\231\277>\234\373\345\334\347"
+">\317\333\350K\360\\\37\266\373\374\377\327\377<\327}\256s\256s=\217T\262"
+"\222\225\354\277\265\3619\270)M\365G\376\32\343\274\37\1|<&\351Ug06\267"
+"x\355R\42{\270X\355\32,{\2758\3556\22\266\263\b\351\271\7q\354\304\214"
+"B\265\327\207\222\321\346\346\321\360yQa\332\345\241\377\32IZ\33\216V\25"
+"\242}&\364^h\306\267\205\343W\363k\227\4\256G*Cd\352\321\0z<\257\370\260"
+"q\374\302\306\2764\330\311|\332)\336\20_3\350\264|\352_\0\232\\\364\36"
+"\200\203y\303\276\341\223\335\353|\370\272\216m7\225jP\311\306fu\255#\211"
+"\272\321\2664\355\263\254=\3412\232\2517x\3){\301\325\276\224\366i\224"
+"$\275\223&z\\\361\241\264\317\6i\234t,\35\344\357.\320\237\3661\262\212"
+"\343\356\244\177\\\227*\212\203\256\317\320\371\322Y\222\252{#\247\336"
+"c\247N\36jk\365\254\352\3\r3\312\313*j\243qMx\274g\5\263\255\315\237\231"
+"\207\2\327\313\334:\323WH^\233\1Xo!W\2\360i!\342\307\0\250\221$\215\223"
+"$uK\222\312\13\21\237#I:`\211\215]Z\210x\226\365\34\210\207%iZA{Y\222\16"
+"\233\347\t\346\337\3769>\307\312\306I{\277s\260ZI\332\237\2006\1\340\370"
+"}\b\320_\233\4\1x#\1\255\2\2402\201m\fR\352\21\';\215\205\0\64\330PM\270"
+"\21\337\262\321\263\1\230\227\20W\3\260\322\206\342\303f\243\227\3p\236"
+"\'\232\367S\b\0\363-\264\311\236\316\316\263\352\375I_\226\305%\3719v\257"
+"\270:\376\344\277\335>i\310\21\17\272o\327e\235\335\212\30\376\25\240\323"
+"\t\273\333\r\305\3365\367:o\363\243#\356\222$M\214\234\356\260\'\272\337"
+"\351\222\273\34\361^g\225\356\223$\265\355\221$5:Q\375\340\214o\4`I4>\r"
+"0\260`\221y\351kB\270\n\200\351\336N&\252C3\1xQz;\331\340,\360\235\201"
+" W\333\303\321s\0\\,\315\5 \252\274O\347\20\377\26\216:\1\366E\361G\356"
+"\37\344\20\223\30=\37\27\274\305\1\276\7\2407%\356\267\305f\235\252%\351"
+"\26\0\266\6\304\t\200\317R\342\317m\361&\200S\236\220\0xE\356\3010\211"
+"\256\n\276aHR\253\275}f\332;7%6\310l\3439A\222\266\30\242\305\332\241f"
+"\223\377\224\n{\16\0OY\211\n\210\351\0\230\271\347\1\60)%.\7`c\234\250"
+"\16O\36\36If*\n\333t\323W\307\1773!c\302\2775\246\263\225\203\21I\272\23"
+"\200KB\342\256\260\21\220v\1\fz\304\377D!mv\252\n\0\303\222t\24\340[\217"
+"\270\33\200\211\236b\330\3\300\354\220y/\375\316\301!\275B2\3052\23\213"
+"7\207\25aj2\315\226\330\24\246k\303b\371U,6\363,\227\314\261\336\347\t"
+"\373v\0Z&\327\17\3|\223>4\213\'\257\367\\J\366\365\362\347\243o\2\360\244"
+"Mm\7`\307\212N\377\201\2244\336\314\337nZ\311\213l\352AC\355&\253Xv\227"
+"u<\301\224\331\324iy\26,a\311Nld\300\32\34\360\212\355KdKr\256\26{\77x"
+"\305\366\245\261+)\316\370NsBl\241m\316[t\24#\316\270k\320\36\77\376\354"
+"]\244\371\361\212^\350rO\304\\\231W\\\345\275\220\215]\200\267\311\360"
+"%zC\232;S\260\270!\315\275\33r\3Y\304=9&\257\313\21\225$ie\300\77\353#"
+"\203\215M]\2662\2663q\2658\77\333\f\1\360r\366\226v\305\327};\356\316F"
+"\256\376\276o\353\315\245\257\260%+Y\311J\366\77\266\177\1_E<X2\241-\b"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3{IDATx\332\355"
+"\227k\210\26U\34\306\237^/\211+\232\310\256\33R\242(\205\251+j\242\6\331"
+"EJQ\21\266\304\374\22E\27E\20\23CH\374\246\302\226y]\272\211X\b^Pk\275"
+"m\336\360\2\321\207\266\17\266\353\na\341\5\13[W\30345Xw\177}8s\33693s"
+"\336\231]\277\t\363|\231\363\177\336\347\2319s\346\374\377\347\377J9r\344"
+"\310\221#G\16\77\272\245\375X^]\325r\347\1o\274\33\340\273\7\262\216\352"
+"\300`\\\327\275oP\304\333]\365\256\304\301\372\256y\367\21\301\251.X\373"
+"^ \206\177\6w\326;\321Z\332\266nm\263\343\31\235\363\276i\365+%i\225\215"
+"\226v\306\373\241U\277b\342Wm\374q\266wN m\251\264\314\343\255\1\65\77"
+"\323\374\247\21\36u\271\343\206\3737\313[\356\235\342\32\303>\221\345\376"
+"\25\240:\316\276\6p!s\332\223\352~Z\355\343W7\354{./B\17-\36\61\227g\206"
+">\326C\35\355\367\357\2664\336+\251\355]5\260w\367n\5\265\335\274x6d\227"
+"\271y_\327\337o\35\20\251.\37\305\23)\300\36\277yoT5ORA\322\350\250\252"
+"D\251\35\33\253\314\201\371d\224>\3447\37\214\206\305\232\270\320\231\316"
+"\337+J\255\327\212[\216lQ\310\77o\271\332\341i\237f\302a\253{\321\245_"
+"0\334\247Y_\266\331\350\246F\331z\0&g\231\77\1\340t\20\25\202k\255$\251"
+"#\313\334]\222\2641N\3\360~\226\371\24\0\t\372\n\300\316(\367\301\201\355"
+"\263<\217H\236\367[\0n\270L\305=\200\357]\252\7\0{\23\346\271\211\t\375"
+"nVv\215CM\3\340\335\344\276\7\340\245\220\230e\277\251#Z\13\200\347\304"
+"\4\240&\214\177\266\346e!w\326\277^\322\t\2003\261\233\1\\\213qM\305\260"
+"P\34\35\223\2441\305\360\275\360\4\32dG\346\2709\342K9\0\212{\373\2270"
+"\tVY\356-\0^\366m\0\0\26\332\362\344d\320M\253\330Q\352\225\245\213\0\373"
+"\203`\276[5\236\n\310\353\0\376\32\367%\300\177A\320\344\2327\272s\253"
+"\363\232\253\1\350e\22\300\270\32~\0 \310\227\t)\375A\77\0f:\265\345\352"
+"\330\221\347\0xV\222\264\34\200!\376\224\1`\223$\351\234M\262\327\1\370"
+"Z\222t\272\364zI\307\0\316KRY\2701o\207\16\0\32\35C\301\31\37\225\244\341"
+"\222\264@\222\364\215$m\220$M\227TYr\213HRU\261\375\272\34\366\312\225"
+"\0\34\226\364N<u</\375\2254\305M\'\223\231\303\244Ci\257,\375\6p{LE\275"
+"\263tZ\f\300\346>\23\63z\261\317\0\330Vk\36\374\264!\37\65Q\315.\0\276"
+"-i\236\355n\253\273\211\304N/\221e\256\254&\321\5\3\f-]Y\333\35\331\340"
+"dYH[/\351H\250ju\276\177\3106G\344\205\350\36\13\207\265\316:z\5\t\214"
+"\16\237Q!O9cz\332qRT\375\345\377\257\3233\315\334\232hX$ijg\326K\372\302"
+"\252\312\274\23\252O5\217\17T\77F\351\265\1=;\375\f=\37\331\232\261G\337"
+"\3128\200\237\364\37e\246i\251\362\267\217\16\226\216\273\364\371\37\t"
+"\266\347\222\21\315\353\332\363v;G\216\349\36j\374\17\364y\306d\317P\f"
+"\370\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b"
+"\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\267IDATx"
+"\332\355\227Mh\23A\30\206\77\342\301\237H.\22\250HU\20Q\20\365P\261\206"
+"\202\240b\213TE\42jE\255\77\224Z\20\352AE\17\202\207\266\7\377\250\340"
+"/\42\305\nZ\250\250E\21\25\25O\36TD\21\305\202P\t\322B\32\265\32*B\203"
+"}=|\231ugw\2723\2739U\346\275$\363\275\3573\273\331\335\371&Kdee\365\277"
+"hB\240\233L/\316\376\2128s7\0\334\216\204.\34\5\253\42<[\7G\273\303\262"
+"-p\251=\34\333\3I\317B\240\211>x\364s\226)\273L \205\216\216\202\370^k"
+"\306\326\213|\13\21Q\253\30\35\60a\17\212t5\217k\304\370\270\236\335T\214"
+"f\313Dez\256X\332\253\205\3739\370\310]{\314\265a\35\233T\236\342I\256"
+"\226\353\350^\0H{\253\33\1\240O{\332\251;/\332T\365\266\227=U\266\13\215"
+"s%\317\345\234\245\373\256Y\225\330\367\326\t\f\234\232*\261\375\322\312"
+"\357\364\263W\244@\357$\227\325\350\351\33\323|\255\305\23\330JDD1\42\42"
+"\312\312\321\37\337\274p\336\223\30t\17\256J\363*\326\355\16)pA6\323_\376"
+"Y;U\27\254\372\267\343g\326\371\334=\302kU\337\20\247\33\65\250\334%Es"
+"\233\32\236R\264Sj{\13\2737\324\356*v\353\307zT\256\261\77Wi\276\2\0t\217"
+"\375\240q\207\177\257\262\32x\342\200\247t\5\'\16\373\235\311\354l\bz\306"
+"/sf\266\317x\b\0\270\25\274B\370n~\364\226\267kO\232\210h9\247\216z\376"
+"\271p\265N\2678/qn\216T\274\13\0\270\257_\332\303\0\200O\356\322f\236p"
+"\242\36\256\342\3441W\211+\273L\272\312y\316\316s\n7\1\0O\315zR\36\0\360"
+"Y\f\327\363d\t38%\257.\36\65\231\266\303\263\234_DDD\327\1\0\317\315\233"
+"\351\20\0 \347\372/\2274\207\2272\361$A\265\374m\177\230>\336\316\314\350"
+"\7\376|\35n\27\370*5\274\362pp\205\233=\22v\3:\355\332\37\302o_y\7\236"
+"\37\36^)\330\213Qv\31670\352\0j\255e\266+\332\246\315\360\352h0\277\240"
+"\304\243\301\31\335O\216\5x\332\327\261 \370O)0J\201\311\302\26\326\301"
+"\261R\340x)g\305\315`f\244#\27\337\266\233#\34\66\336$\272\347\211\31\306"
+"\320\202\316\357P\252\360`\215\216\255A\200\16i\340{ApVs\301F\202f\36\321"
+"\34\2712\350\310\215\272\37]v&\243&\207\272*\355\313\253\225\225\225\325"
+"\370\326_\221\266B\24\365\r\271\344\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3\65IDATx\332\355\230MH\24a\30\307_w\3\263\26\25ISH"
+"\203<x\321\264\242P$*%\205\302>\224@B*\351\3032\225\315\352`\37\30\230"
+"P\4\331\255\233\267\n\3M\42\2120\250C\35\24\212\272\230\211\230\21\25\22"
+"}\b\211\241\356\376:\274;\333\354\316\367l\207\16\363\277\354\274\317\363"
+"\374\346\77\314\356>\3573#\204\'O\236<y\362\364\177\313o\232\315\254-\236"
+"\236uy\346\273\0\3\256\320\2420R\33\234\263\365D\325\350\224\355B\245\36"
+"g\354 1z\352\0M\235$N3\253\355\262\245\n\262\320\333\273\240\34\357\264"
+"\307\36P\352\273\204\20\342\262\262:m\207=\243TW\311u\265\262\276j\315"
+"\356\213\224Ng+\221\234\257\221P\223%\374I\26>V\307\206d\354\227\25\233"
+"\251{\211\327d4\327\212\36\3\250\215\217\326\1LZ^v\331\275\341n\275x\367"
+"\310`\271\327\205<9U\222r\220_\220\221\234Dhq~\346\375\270n\345\322\222"
+"\225\313\226\370\375\314\177\37\237\210\315\354\377\246j9sA-\232>\240*"
+"\370\321\240N\255\215\353X{4p_l\301:!\204\20>!\204\20\205q\245\205\328"
+"\256\361\27\251\216s\343\234K5\360\215\330\2025\352\\\215:\363b\253\316"
+"\375\2728\253\252\250\217\315\345L)\211;\5\6_L\315[\245\244X\223\233\220"
+"\211\217\306_\353\246\b\233\241M\245\311\314;cx\271\254\330\246\227;/s"
+"\306\333}%\0\203\372I\tw\30\302\17\0X\245\237\fJ\332\210\315\3\240\317"
+"(-\341v\203\354m\0\362\214\34063\353,\0\372\215\357\247\204\203\272\271"
+"^\0\362\215a\23\353T\0\356\233\375\275%\334\246\223\271\t@\201\31\334j"
+"d\235\f\300#\363\316\42\341\26M\274\7\200Bs\330\310\32\200!\253\246&\341"
+"\346\270\350\25\0J\254\340\26]k\0\236Y\367S\275\361\343\22\0\33\255\341"
+"\223\0\204\264\'|n\247\225K\353\243\252H\7\0ev\340f9\374\305\237n\330\336"
+".\42\255\17G\327\355\0l\266\7K\353\337\321u\b\340\245\335\rLZ\37\212\271"
+"\203\25v\341\23\0(O&\263\0o\354\357\235\322\372\240\20B\210#\352!\326\216"
+"\216\253\254\177\2\214:\331\266\303\321\226\42\273\342\16\'p\223\274\360"
+"rQ\16\300\270\263\211!\4@\270\177\16\200\335\316\340c\352msR8\324\242\n"
+"\256s\n\253\254\77;\237\223\376\302\r\316\341\266\350\303\225\233\21M\201"
+"[\335\300\17\61\3375\225QJWO\344\307\5W\223e\263\225\261\231\363z!\204"
+"\20\347\334\315\264\13V\306&\332\13\300)w\360X\2\306U\211\30\277N\300x"
+"\13\0g\335\301\303\t\30\313\356\323\351\16~\5@\272+\266\21\200\17\256\330"
+"\212\310\213\225\25\366\21_J \20\b\244\345V\337\212\276\324\331\265\324"
+"^\313\32EWS6~&A\f\325i\371\227\2544\256\330n\t\217\230\374\\l\274;\233"
+"7\270\352\353v\236bEVv\212_F|~\237/\211P8\24\232\233\376\342=\350\377C"
+"\375\1\376\210\231{P\367\17\0\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2\256IDATx\332\355WKh\23A\30\236\246\207T#\271HA(\21ADA["
+"\205\224\326P\21j\261U\252ED\264\342\23)\265 \324\223\350A\360\342I\24"
+"\5\237\250\210\25\264\240(T\21\213(\210`=\210(\242(x(A|\324\252\225\240"
+"\370\b\351\347\341\317\354\316d\2463\273\233\213\205\371.;\373=f_3\377"
+"\3172\346\340\340\3400yQ\241R\255\315\25\17\6\25\266iE\325\343\33\266\331"
+"\322\277\1\340O\275\314\326d\1\0\35\346l-\212\250\25\331\4g\315\351O\334"
+"\366Qd\357r\26\246l\235\347\302\2\201\366\331u\242;&\207\27\373\303\214"
+"\77\\\350\17\227\30\302\177\265\303\274\226U\220\362o0\245\275\355\26\323"
+"C\17q\327\220\310\236\343\354\250\361m\307\13\344*\304%z\270\30\236mY%"
+"\3\0\60P\312^\0\200\207\323\355K6\235\326\261\213\32*\335n\376\17P}b\324"
+"[\201/zu\216]\317=\303\207\303\323\244\354{\210\350S\263\347%\303\233*"
+"A\352\206\fe%%K\f\33\205-9\42[\277\177-\r\347J\34\237\305\223\213\322\274"
+";\325\333\336\42\31N\311\342\332w\276\264M\367\302Z\177yzv\265\242\356"
+"\340\332A\375\7i\343z\227N\255/\212\233\364\341\251E9\243\2277\220zE\257"
+"\266\220\272u\242\245r\211\3649Z\361\t\0\340\352\304\13-\17\0x\251\223"
+"\272\254E\277\231\34{Ue\n)kLk\374,yf)\302 \0\340\272y\207\320\327|]Jo\266"
+"w*\306\330Rr\355\227\331Jb;m\233\363\214\256@\337\4\0\334\266o\355\37\0"
+"\200\267\42\265\236&\214\333\303M\344<\240\264\252\355A\252\312I\362\316"
+"\365\210k\0\200\373\301jR\16\0\60\314O;h\262d\260pF\336]t\326\23\264\34"
+"\36\'\177\35c\214\261\313\0\200G\301\213\351\230\337\214;i\242\352\340"
+"\341\6J\334K\262v\32\355\16S\307\217Rf\374\25\35\237\206\353\2_\244\202"
+"\227\n\27N\213\331}a\33\320\21\241\77\204o_9/</|x\31\317\236\216\3229\237"
+"!P\5\320c\25e\373\2435m\n/\217\26\36\7\0$\242\205\263\266G\216\31\264\237"
+"\266\331M\341B9a\224\23f.\354\302\266p\254\234p\242\234\273\242b03\322"
+"\225\333\351\320\33\341\262\211\36^=\17\325\4\16\315\357\373\6-\362wV\332"
+"\262m0`\217%|\313\24\36\261\2740\323o\275Yd\2145\232\256\334m{\350\31\307"
+"\262\372\344X\177\243\373yuppp\230\334\370\7\48\27\64\310\330\27t\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\247IDATx\332\355\227"
+";hTQ\20\206\307\7\261ruU\242b\220\24\242E\330\200\361\31\r\210\1\237\205"
+"M|\260\204@T\24$\210\301\316B\21!\270\240b\221N\261\360\21\67D\202\42i"
+"\24$`ca\210\217\350\372(\24TP\320f\311\252\221\250\277\305\2345\353\356"
+"\231s\317\35\33\205\3637\3671\367;3\347\314\275s\346\22\5\5\5\5\21\321"
+"\24\377Gwt\256\316\25t^\26\276\0pW\307n\1\0\240Z\303\36`\366\273\206=\311"
+",\216*\330\253\206\275\256`\357\31\2667>:\343\203a\317\304g\227\30\24\235"
+"\361\331\272\42\333\242\230\357W\303\256R\260\307\31\375\274@\223\340\1"
+"\0\300\3\301:\331\r\17\21\21\235[\252\374\3522\367\257\255\t\265\347\37"
+"\324\276\'p\351S\306\301f\21\245\327\42\333\204h\35\221^\317]\36\23k\221"
+"\340z\17xN\351\305\324\222\363d\361\344\331\350\317\322g&U%k\213\347\317"
+"\245Q\237\362\264\266ZL\211n3\347v\t\346<uXm\33\f,~\317\34k\217\25\66e"
+"\350\240\270\30\217+\307\376\2754\354w(V%)\252\337\4O\n\317\273\331q\233"
+"c\370G\22<\227\331>Wl\303\22\314i\30sV\317Qi\203\255#\42\242\365\316U\271"
+"\b\0\343\25\267\327r\320]\356%\335\3\0\267+n\217\3\0F\242\22\222\7\260"
+"\255\42K\236\335H\343`\356p\371\275\366\210w\332\245jf\373UUmD\337\5Q\27"
+";n\322\260\215\314fT\216\277\1\0r*\266\217\35\317\327\260m\314\356\325"
+"\260\263\231\275\241\n\372!\344\312\22\245\23\314\256\323\260+\231=\255"
+"r\374\5\0\360R\305\366\262\343\32\r\333\312\354~\r\233dv@\25\364\360_d"
+"\311\264\253\315\32v9\263g-\246y\351\206\b\270\0\0xe\261,z\27U\220z\330"
+"q\255\305t\t@\336\305\246!o\323c\0\220r\374\3140{\313j\4\0l\227\267\330"
+";|\330$\17\77S\204\217-#\42\242\315\216yUI\206\6\16\272[0;\232\26\263\341"
+"\0o\310\17\3763\354\313\t\217\315T\320N\16\372\20Q\374\260\2471;H\244\b"
+"\373\246\361/\262\323\271\233\264\301\315\33\211\210\350\374G\21\256\227"
+"{\222S|\220\373q\352(\363\\>!\340mk\302\216.\276P\276\236\23-\363\ns\254"
+"\271\22\221\223\37\226\260g\371&4o\201\337\373\302\23\375z\311\354}\353"
+"\2355Ui\77Vx,\225-D\375\31\25\262\251\360\353\32\24\24\24\364\337\352\27"
+"y\22e\275\250\306v\256\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2>IDATx\332\355\327OH\24Q\34\7\360\337\216u\220%\202@\5\2276<T\207"
+"@\21!M\204\n:\24\tB\1770\20\217\31\241\204\210\335\24\42\17I\220D\320E"
+"\210\n\42E\245:T\20\224\7]\315HI\23\25\203@\324 \331$\2E\321\360\333\341"
+"\367\6\66\367\2757\263\277N\325\373^fg\336|\346\317\373;K\344\342\342\342"
+"\342\342\362\17\'+\364\231\347\33\313\246Wd7\211\317\2\30\220\331S\0\0"
+"\344J\354e\266\77%\366\6[\264\n\354ce\237\n\354[e\2733\247\273\277*{+s"
+"{PQ4fn\17\371\366\254\340}\327\224-\25\330kLWc\222\6~\16\0\370`*\366\254"
+"x\224\210\250\263X8\350\332\337\367\226\273\251\347\177Od\333~\321\276"
+"\250\7\244\237\346y\36~\314\316\330.\325\n{6\316\231m3\2S`\\1\22\221\300"
+"\327\\\34\66\214\252=\301\366\367\233\245\3420C\376e\352\316\216\224\337"
+"\331\274\231oK$7\375\n\217D\262\242{+\352\343jwd\322t\325\303\0\200/\232"
+"\222+~}e\33g\222u\42\42j\323\255\221j{d\315\370>\371\0\200\270y\362>c\253"
+"\r\0\232\336E\264\300\366\222\265*\37\0\270\223~\270\237m\213\275\35\242"
+"O\222]\351G\357\263\275\33\330\214\232\231\370:\333g\222aW\307vLb+\331"
+"~\223\330b\325H9\2\233\247l\241\344\306\313lOH\354\4\333\32\211}\301\266"
+"Yb;\331vH\254\372*\350\225\330\213lG$\3664\333\305\77\350\34[\273\4\66"
+"Gu\216\3\222\33/\261=*\261\357\330^\220\330\36\361\327&Q\7\333v\211U\253"
+"\335C]\331\325OC\307l\266\226\355k]Y\25\200u\313\237\251\223l\77k\13\337"
+"\0@\235\321\226\250\6\216\231\347\365G&\33S\266\311\322u\6Ms\355\234\77"
+"\13\350\253\222\210\210L=\366\225\277\30\366\35\337\231\376T7\271lJo\313"
+"\21&\37\365\217\335\20\252\37|\327\343\375\241\360\270\36\217\206\302]"
+"\372\303\271\233!^\371\236q\211\275\235\f\240\211j\367\305\355\342\342"
+"\342\362\367\346\27aI3\343\225\307\246\244\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\2\222IDATx\332\355\230;h\224A\20\307\'\42\271"
+"\312\323SI\24\22H!6z)r\361q\30\220\4\214ba\243(G\bDE\233 \202\235\215\210"
+"\20\22P\260H)\26>\302I `\304B\5\211U*\tj4\6\13\5\25\24\2649r\310\305x\376"
+"-\346\273\334kgwo\322X\354\277\331\275o\276\337\316\354\316w\373\42\n\n"
+"\n\nZ\253\232\254\326\376\336\246\27Ot\r\247\n\0\260\334\255a\223\210\224"
+"T\300\337K\360\267\306\331N\254j\267\360\312:\21\336_\256\246\33\206\177"
+"\33\253\236j/\207\335\336x\247gK\354\254b\264cEf\2131\325W2\r\0\323\352"
+"\2577\225\n\377\340\240j\235{\13\233~\216Y\330,\\\372$\262=p\353\2624\31"
+"\234\362\350\330q\t\356\364\200\267V\376X_QO\224*\357\227\376V-\f\315\211"
+"\216R}Qj\365\35w\353\250\301\24\37\217\372<$\301\234\247a\243\355P\4\213"
+"\263\'\307:a\204\367qqA\34\2147\365m\257\16\r\373}\351;oWi*\n\236\24\236"
+"O\263\343AK\363\257%\270\225\331I[ls\22\314i(X\327\252%\241\321\321]DD"
+"\324k\35\225;\0\260R\367\370\0\7=b\37\3223\0\360\254\356\361\n\0`\336\225"
+"\220\34\200cuYb\307-.8=\263p\251\366\331\220\343\233\266\251\205\331)\325"
+"\2546\17\0\370\243bG\330q\217\206M3;\246r\274\f\0XP\261\223\354x\273\206"
+"\35d\366\254\206\335\302\354CU\320\257 \317,.]c\366\240\206\335\313\354"
+"\r\225\343_\0\200\17*\366\1;n\323\260\3\314\236\327\260\tf\37\253\202\236"
+"[C\226\2562\333\247a\273\231\275i0m\313t9\340<\0\340\243\301\262\343\253"
+"kB\232`\307\35\6\323]\09\33\233\201\274L\27\34g\264\215\314>5\32\1\0\'"
+"\344%\3669\27\207\345\3467\211\360\25>\27\34\261\364\253Y2tq\320\343\202"
+"\331\262i\211\26\34\3403\371\301\325a\337\213{,\246\202Nr\320\27\211\32"
+"\17;\306\354\f\221\42\354G\221\177\221\335Ps\315P\1\367\365\23\21\321\255"
+"\37\362y\\\336\223\\\347B\336\217\323\260|\301\21\355.\277\f\304\315\350"
+"\316\333\265\343Y\3362\357\211\312\266\373\216\234\24\rao\366Mh\316\0{"
+"_h,\232\256w|\347;c\2522~\254\360Z2\233w\235\214\362Y\315]OPPPP\320\377"
+"\241\177<nL\361\3133m\367\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\62IDATx\332\355\326OH\24Q\34\7\3607\263\205\310\322%\260\300"
+"e\r\17\331%7dCR\202\22\42\202\4!\202\202\360\350z0DDo\t\242\227\350 !t"
+"\21\244\202@\250\210\366`\30d\bm\313\n\n\226D(\b\222+\26k\210\'7E\277\35"
+"~o\332\211yof\366W\35\202\367\275\354\314\274\371\314\233\367g\336[!LL"
+"LLLLL\376A,\337\322\313-\326\314\24\357\301\311\42\0\3748\313\261\365\220"
+"\251g\340\257\16\336(\337&\360+\2475\267\330Z|\256t\330T6\336U\36\206L"
+"\274\364\332\361\362\33\235ul\226\321\333\25\373d\367+X\263$\r\0i\366\354"
+"M&\315\27l\362W\27\3003\'\2426\340\275\315\266ml/}\366{\324\0\374\263{"
+"]o\373\20\230Z\367\375\21\367I\306\nlf>\253Y\206\216\6\333\337+s\343X\210"
+"\16~\345>9\344:\256\244\237/\303\231\302\236\323\341\226\25\211\306\317"
+"w\325\310\323\334\242\356\251\215\0\200uEI\267\323_\225\332\245\267(\204"
+"\20bX\201\235\212\233v\264\355\251\6\0\324x\13N\311z\257\371\365\6\0\305"
+"\354\22b\215l\247oW>\2\60\352\275\374\226\354\35\377q\210\276(Lx\257>$"
+"\373 p\30\25[\327\20\331\227\234\317.Ev\236c[\311nrl\203\34\244*\206=."
+"m\202S\361w\262\2278\366\3\331[\34;I\266\217c\307\310\216p\354 \331g\34"
+"\333A6\307\261W\311\346\377`r\34\34a\330*99\3528\25\177#{\201cg\311\336"
+"\344\330\247d{8v\204\354]\216\225\273\335cUY\377\362\373\213~\266\235\354"
+"\33UY\33\200bDo\257\220]Q\26N\3@J\377_S\16pL\277\256\77\321\331\230\264"
+"\275>S\347\235n\255]uV\1uW\n!\204\320\315\330\327\316f\370\274\345\260"
+"\367\255\356Q\331\'\265mF\230|T\277\366\355P\363`K\215O\206\302\13j<\27"
+"\nO\250/\37\333\13\321\344q\355\26{\277\20@37\314\77n\23\23\23\223\377"
+"7\77\1_K\33\27\241\266\312\325\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\345IDATx\332\355\227MHUA\24\307\317\263\260E\364\364\365"
+"\241\5.\\D\233\320\300\322|$DB\37\bEP\24b\202\366!\224DV\13\251\340\21"
+"\201$X\264pY\201Vb\bBD\20\5\345.\220\3122K\245O\250\240\205A\230\2170\254"
+"\376-\316\275y\337{sf\346M\233\202\373\337\334{\317\314o\316\2319s\347"
+"\203(T\250P\241\210hN\206\245\360\344\236\274aE\315\306\343\361\261\257"
+"\246\346\356\3\230\250H\267V~\1\360\300\304\346\3\0\320\222j=\312\326e"
+"&z\202\353u\5m\335l\2331\216B\23W\304\223\210o\311\31\366L\255\3461\354"
+"\360\252\242\224\277W\371\337]6\31h\365k\37$\42:\344\177\235\267\313\337"
+"v\277\376\353D\342\215\377\276\3376\373+\276#]\225YL\236\207\251\350\253"
+"\371YM\275KA\266/\333\211\3332\313\236\312~\332o\364\331\255.\77M\376 "
+"\0<^\42V\210h\361\362\232\310\355\301p\351\371\27u\3409t\372\334\256a{"
+"a\322;\221\255\202Y\'\202@N\340}\267E\307vHp\251\5\2748\37017\360\36\363"
+"_\306\246~\245\314\377\334X\261\377>.\265\372\202\273U\243(\212vz}n\220"
+"`\316S\263\366\347&\251\317\34k\217\22^\313\217\303\342`<\313l\373\317"
+"\320\260\337G$z\326\250\337\13\236\34<7\262\343zM\363\303\22\\h\261\0\17"
+"I0\247a:\303\36\354\363\224\320\350\331\225DD\264A;*\335\352\r|\35\7\335"
+"\246\37\322\275\0p7\303<\3\0\30\61%d\22\300\266\214,\261\343\2\23\34\37"
+"\30=\226nk0\314i\235\n\230\355wZ\325F\0\0\77\234\3306v\\\345\302\306\231"
+"mwr\314G\223Q\'\266\317\362\320\250R=\263\373\\\330E\314\336p\n\372)\344"
+"\225\305\2443\314\256wa+\230=\347\344\370\33\0\340\245\23{\235\35\27\271"
+"\260u\3146\271\2601fo9\5=\364\27Y:\315l\265\13\273\206\331\13\212\242\245"
+"\265e\68\t\0x\253(Y\376\321\264 \365\260\343bE\321\25\0\223:\266\26\362"
+"6=\r\0%2\233\307\354\35e!\0`\247\274\305\336\343\307f\315\31^\204\23\253"
+"\211\210h\213\246_\271RA\31\7\335)\24k\16-\336\206\3\274\';85\354\253Q"
+"\213\315T\320.\16\372\bQ\366a\317cv\200\310!\354\233\236\177\221]\220v"
+"\233\n\300\325\233\210\210\350\342\204\b\227\312g\222\16~\310\347qj\226"
+"\357q\336\351\362C]T\270T_N\37\317\331#s\271\367,\272f\310\311OE\330\13"
+"m\23:\251\200\77\331\302\343\252[\254\355z\247LU\255\35+T+\351M\232nF\311"
+"\336\222\360\352\32*T\250P\377\255~\3^\24\300%\240\223\312\n\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\200IDATx\332\355\226_\210"
+"MA\34\307\177\347\\\36\266\233l\352\332\270Yy\260\336l\222mW\nE\311\237"
+"H\212\302\203b\345O\333b\265\345\317&\373\42\262Iy\21\271[jkI^\220\302"
+"\213K{ccI\233\77[b=\350\320\306\213\345\226\257\207\337L\316\275g\346\314"
+"9\343\t\363}93\277\337|\316\234\371\375~gf\210\234\234\234\234\234\234"
+"\376ae\24\266\272C[&\17)\354\333\16\264\f\1775\275\360\36\200\240\251\332"
+"\332<\6\340\241\211\255\5\0\240\275\322\272\217\255\323Lt\300\343\na[/"
+"\333\312\3068\264\362@<\361\244\305\37\22\246Ns\24O\211\241\230\313\375"
+"F\331/$\311A\247\34\275\213\210h\267\354\235N\226\301ur\374\233\256\256"
+"\21\331\336\2364\377\r\337Q\255\346\24\345\363\250\22}\235MU|\27\302l\177"
+"\332\322m\377\315\36N_\370\313%\273\306\346\267\251-\1\300`N\343\366\f"
+"\370\202\225\336\255\222\333|\376oU\27I\343\314\254\17D\207\371\276\217"
+"//\207\343^u\24\361\372\261A\317v\300\250Y\332\23\243\350\31\2279\32\336"
+"\366\375P{\212\231\255\234,\f\347\23\4\370f\2703!\324\256\341\307\273\356"
+"bP\226\1\367\274Lv\306\242=\365\242;\360\\\367\326&\0\300\7\205\247M\306"
+"\253\206t\237=NDD\335\nXN\334\362M\273\236\351\0\200\372\250c\216\230w"
+"}\\4\0(\252\213\350=\263;cCY\0pV}\330\38\22\237\207\354\265\240/j\275\304"
+"\3549c\32\375\250\3518\263\327m~;q\322\17\332\260\253\231\375d\303\316"
+"\23I\312Y\260u\225\327\213t\372\314\3542\33V\334\2016\333\2607\230\355"
+"\260a\3173\333c\303\36c\366\212\r\273\203\331\1\33v\25\263\243\177P\34"
+"\77\'Y\2609Q\34\r6\23\177dv\261\r[bv\223\r\333\257\274\352\'S\17\263\'"
+"lXq\332\365\252|\7_=X\22\307ne\366\216\312\267\26\300xF\317\256`vD\351"
+"\274\13\0\255Zv\276Hp^\277\257_\326\261y\301\356\217)\235\373\272\275\366"
+"\255\334\5\324\241$\42\42]\305\336\226\207\341\325\245\23\243_u\222}/\324"
+"\354B$\3213\365g\357MT\7cjxv\42\370\251\32~\234\b\356S\233\247\226\23,"
+"\371\242\366\210=\23\30\320\342Fw\343vrrr\372{\365\13\334\226\216K\177"
+"$\341\17\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0"
+"x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3HIDATx"
+"\332\355\227Ih\25A\24E\337\217\32\220(\6A\214\272\20\24\428D\\\250\211"
+"\212\4%\306y\302M\342\30\207\240Y\305y\302lT\\\250\b\212\270q\26\f8\202"
+"\6\243(Nh4\210\204(\350B\215\210\42\204H\2\22%\303\342\270\250\337\77\277"
+"\273\272\273\252\335)}W\335\267\336\351*^\325\253\352\22\211\25+\326\377"
+"\242^^c\360\236\25\3\32}\2\313\266\26\274\377i\372\332C\240e\222\327\315"
+"o\3\352Ll6\0T\272\335\315\312\35b\242[T\334\371t\357\202\362\272\215I("
+"W\2014$\34\'\2431i\3554\247\360p2\224<\365>\336y\77o3\1;\235\350M\42\42"
+"\25\316\333Q\273\351[\354\304\177\254\252\372\344<\257\267\235\374\334"
+"N\274\312\217\260v^\271\321\17Y\221V\336\351t\366J\324u[\331\303\356\215"
+"\276\352\213\34v\301\337\324Lv=\300\353A\301\21\2110|\342\334Dm}\274\363"
+"\374o\312\277\366K\253\246\33\23\354\330\371\370j\213\25|\331\37\246 \220"
+"\310\350y\374\36\20r\316\246\347\254\272\200\256\363\254\n\243hVnv\237"
+"D\257\376\271\31\256\230\352\322Hy_\343\356:\342\254=u\301\313\243\301"
+"\317\08\275\\m\204\215\321`\0\336\213\344\251\256\7Fag\2P\42\42\27\18\20"
+"\5\276\231\312\323(\313\363\321;\352\23\42\42\322dXe\232\326\1\220+\42"
+"\42\33\0\270n\17\277\5\370\222>\n\373\251\36\352\252\246\353\0\224\331"
+"\302\207\0\310t\252\334\2316;u\0<N\275\376\266\373\231Q\232\6\300\222\324"
+"{\25\0\207\355\340\253\236\feEI\31\0\351;\200\252\363B\33v5\0\351\373\336"
+"\42\0jl\340\6\200V},6\343\36\4@\225\313;\5\300F3\274\337\247\6G\0\320d"
+"\206\333\1^{\314\317\0\f7\236\32\0\254\362\270\33\18n\202\253\375sc\227"
+"2\0nj\366-\0\212\303\331\225\0,\324\374y\0<\b\207\337\0\220\23t\1H\4\236"
+"U\42\2223NDD\206ip\262\246\266\205u|Lu\360h\264\307\37Y\243\32\332\303"
+"~\342z\362\331\335\235zN\364\316L\331\343\337\4v<\3\223.\7\217\372\216"
+"\21\3060\311\341Z\32\304\226Z\300/\202\340z\13\230L\177\266\237j\2757\325"
+"\267\265\340\256j\336\341\17\3576\\\237\324m\355\207\177c\263\276\377\270"
+"\325\n\300X\277&u\216W\204\300k\265}5\2453\346\222\r\236j\0n\207\302\227"
+"\0X\2467,\1\240(\24V\27\332\227z\303\23\233\215\346\7\0\332\335\260/\0"
+"\247\f\360.\0\366ymu\24N1\3009\0t\371\'\262\277\325\376H\211\333T\277["
+"L6\260\203\223\13<;}\207J\256[\336\315\16\77\21\356;\345\221\372\17.~\356"
+"*\233\356\3329>\\\346\301&wu\335*\24\221\302\13z\331m\327\330\1_\364\250"
+"\263\323\345\232O\3156\207]\305\323.\364\31\35>c\354\262pD\244S\306\35"
+"\325\77Y\256\7\66\352QG\306\212\310\230\223\337\322\275\266j\337\t\333"
+"\326\340\42\277\236\34\23\337bc\305\212\25\353_\323\37\317\21g\373;\305"
+"Y{\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0"
+"\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\344IDATx\332"
+"\355\227[HTA\30\307\77MK\262l]\215\262\242\373\232\201\25Kx\203\214H\312"
+"\20\303\202\210@\203\f\t\262\202\355\202\206\331R/A\230=\365\20\230h\24"
+"\21=\364\320\203\265PAB\305\26\233,\221\26\326F\370\344.x\13QY\343\337"
+"\303\354\270\267\2319\227\b\202\316\377\351\234\377\367\375f\206\231\371"
+"f\316!\262d\311\222%K\226\376m\315K4\226\265\324-\361\13\22\353\317\227"
+"\rLh\265\366\22@\2508\321-\35\5\360F\213\265\1\0\340\212w\31727O\213\16"
+"\261\274\356X\357.\363\302\232\223p\202%\242/\205;\251\376\210\325\254"
+"=\205m\221Tle\357\333\370{\267\236\5h\346\331\'\211\210\32\371[\273\276"
+"\345;\300\363\277\272\335\337\370s\203\336\305\317\237A\242J\r\354\235"
+"\367\361\350`\246\241\235w\'\226}dt\337\272\242\354%\343\273~\17g\367\233"
+"\251\31\233\27\0|K\345\31)*\274\250*\345\251\327:y\376{I7IaI\261\323a\243"
+"P\377\333\27\317\2154\350p=\213/\350\201S:\311C=\20\251M\7z\6RUj\261\227"
+"\241\320E\rxB\5\243U\r\217\360\274\341\316\332|f\331+o\205\271[\243\204"
+"\317\1@\370^u\202]5\34\241\325]\257\252\336\235%\362o3\370\232\271\315"
+"\324\241\247k\251~\1\0v\252\277\fd\nW\20\21\215yL\365\354\0\0\370L\216"
+"\33\0\60\255\377\350\215\207\223\363S\377\244\236u\303\16\201\227&\311"
+"\315\335\260:/{\301\354Dp(\360\203\210\210.\350\2033k\17V\244\3079\37\373"
+"F\266\227\353\31\336\321\317\312\312R\241\247\241!9Z0\4\323\360q\300\30"
+"\34\63aM\327\243\317\343\236\327\376@p\206h~\366\212\365\233\267\24\255"
+"\323\230\251cs\255\367\36N\n\246\337T\16{\rG;\27\13\343]*\370\3\13\206"
+"\n$\3\333\244\200\313Y\354\235FU\211avO\214\221)\230\205\312L\301k\1\0"
+"\237\24l\232\0\216\224d!\233Q\5\274W^\317\271DD\344W\300W\344\360\254\262"
+"\270\211\250\241H\16\17\21\21Q\211\374\326\356P\fj\21\0 (\13\67\251\253"
+"j\n\0P/\214ey\242U\225+J\270\301bNe\267\0\256\n[\217\4\217$\235-\323\361"
+"\5\355\316\20\320\274\346|\373b\314\312\207\202\363`\252\313\221tc\4\346"
+"\n\336\333\333\37$\373F\347\16\273l\2w\275J<q\247\345\207\217\247|e\253"
+"\372wg\341\240\4\35\257!\42z\34\343\334\27\214\246]\310\362\273\42\20\265"
+"D\213B\313\37$\222_b\226\276\205\375X~o\317\221\315E\335\223I\16\376\354"
+"i\264\33\377\352M\315\311\300\344\250\365K`\311\222%K\177G\277\1\35\272"
+"\212\346%\303j\201\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\1\224IDATx\332c`\30\5\243`\24\214\2\6\6\6ft\1\361\252\30\376\213X\24"
+"&\26[^\377D\310\264}\377\377\377\177m\206.j\361\376\377\377\377\307\b\351"
+"\25\370\377\377\377\377\377\377\13PE\13!\242\222\204t\277\206\250[\200"
+",\266\20\42\366\233` \244A\24\376\77\317\b\23a\272\b\25*\'\34\204\335P"
+"\245\377\365 |}\30\177\1\61\21P\16S\235\311\300\300\300\220\5\343\365\22"
+"\27}\1\60\365w\352\352\356\302\330)\304F\276\332\317\377\350\300\202\204"
+"\264s\32U\353mn\222R\336\34d\275\253HM\267\5\b\275\325\244\247zW\230^_"
+"r\362\214\300\311\377\377\377\377\77+\212[\5#>\355\246^\214\333O\216\226"
+"<\203\22T\335\370\217\27\\\303S\36l\375O\20l\302\245W\373\77\21@\23I\3"
+"\23\22\373%\21\36\373\377\n\227L\26a\2133q\247m\321\bSINf\6\6\6&nu\26\270"
+"\350\357[_\377100\374\375\376\374\364\3627\304\205\2743\3142\7r\342-\5"
+"\2427\201\254H\347\200hf%/\77\377\'\244\202\211\222\49\252yT\363\250\346"
+"Q\315\243\232G5\217j\36\325<\252\31\7\20\203P\302di\316E\241H\2\342-\260"
+"\206k\243(q:\262\317\341om\237\311\304\255w\3\341\306\372\32\\z\215\210"
+"\351c\350\341\b\260_\304\370\f\347H\313\2\302\26\317\301ml\344\376\77\370"
+"t\376\336\33>\332q\35\5\243`\24\214\202!\f\0n\3!\r2\203\224\212\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1~IDATx\332c`\30\5\243"
+"`\24\214\202Q0\n\2061`F\27\20\257\212\341\277\210Eab\261\345\365O\204L"
+"\333\367\377\377\377\327f\350\242\26\357\377\377\377\177\214\220^\201\377"
+"\377\377\377\377\377\277\0U\264\20\42*IH\367k\210\272\5\310b\13!b\277\t"
+"\6B\32D\341\377\363\2140\21\246\213P\241r\302A\330\rU\372_\17\302\327\207"
+"\361\27\20\23\1\3450\325\231\f\f\f\fY0^/q\321\27\0S\177\247\256\356.\214"
+"\235Bl\344\253\375\374\217\16,HH;\247Q\265\336\346&)\345\315A\326\273\212"
+"\324t[\200\320[Mz\252w\205\351\365%\'\317\b\234\374\377\377\377\377\263"
+"\242\270U0\342\323n\352\305\270\375\344h\3113\342\1F\42\341\325\25\345"
+"`dd```b\374\367\361\306]R\314\222\337\205\232\27\77y\223\240y\17F)\240"
+"J\264^\226\17\30\232\27\22o\363\42\f\315\37Ipw\313\33t\335\244E\0\33\17"
+"/\257\200\254\347f\2624\303\300RJ4k\22\324\214\257$\371OH\5\23%\311sT\363"
+"\250\346Q\315\243\232G5\17\33\315b\20J\230,\315\271(\24I@\274\5VA7\212"
+"\22\243\276\342\352\177\202\340r)v\275\307\377\23\5\16c\323\353\377\237"
+"H\340\205%\300~\21\33\32X\373\243\333\211\263x3\216\16,\21\276>\232<\332"
+"\344\36\5\243`\24\214\202!\13\0%\364\372MW\321\367\371\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3vIDATx\332\355\227QH\25A\24\206"
+"\377{\25\24345-\342\32\25\211T\30\244X\212\6FdfJ\212\341K\244I\202\25\26"
+"\201\21%\24\372\222\275TF\221=\4aFE\20\204 \201\32\324\203E`\42j(&f\241"
+"\210Bj\246\222fA\247\207\271\263w\357\336\231\335\331\213O\261\377\323"
+"\335s\316\267\263wf\316\2313\200#G\216\376\27\205\30\r\353/\227D\365\n"
+"\2\313.d\f\314Y\275\355\r\21M\246\31\255\3513D\364\336\212\215&\42\42\252"
+"\364\267\236gV\217\25=\311\342\32\365\266G\314\366\307r\22N\261@\352vq"
+"\213\273\327k\252\262\236\302\33\336P\332\311\236\223\370s\243\312\2T\361"
+"\350\n\08\303\237\352\324\226\257\220\307\177\256\251\31\346\277\313U\27"
+"\177\353\22\31\225nc\357t\372\243C\341\266v\336\3=\373\334\356\276\255"
+"\364\261W\354\357\372l\316\346\7\2233\321\35DD]\353\344\21.3<5\317\325"
+"\322\341T\236\345\223\351l\207D\270\227\26\202x\351\356\353\37\371&\231"
+"|Z`\207\\}\323\230T\317\22\24\321UOH\2406\217\n{\211$\272j\211\256\354"
+"&\251\6\42\315g;\365\203\357\367t{\377t\330\246\224\f\235;\255\323d\334"
+"\\m\224\276R\315\270\241zA3g+\244po\212\277\243\340;\367d\312\330D\36q"
+":\320W\315}\233%\260\327\275\30/r\356\362z\177\210\331W\314;\42[\376)\223"
+"jx\202\371\246\344S2\313\42\n\345\37\275F\16\307zC\2=\367\230\343\240\331"
+"\16:\300bj\3v\26\263\3377\337\177w\305C\327\313\276H\364\337j\205\3262"
+"+\370\230h\214R\42\42\372e\235s3DDt\304\317\306r\351\2545\\NDDo\375\262"
+"\212\254\13\32\2#\335\0\200\42\0\300K\225Z\361\2\0pXga\205G\251\316\261"
+"\254m\320Y\276)\255\223n]\306\315\f&\32\363\r\344\6\200\30\0@\253\32\334"
+"\6\rq\3\300\16\0@\273\32\314\226)Q\203\267\261\265V\203{\0\0\3335\230\225"
+"\216/j0\13\213\327\3408\0\300\274\32\314:\3668\r\216\262\177\20Fj\260\13"
+"\301\311m\343\203\365\232\327\340\tv\260\252a\254\r\35\327`\335\4Z\213"
+"\205}\325\340O\0\200d58\t\0\60\250\301\375\0\200L5x/|\210/1\306\324\340"
+"Qc\6N\331M\311I]%a\231\222\247\302\346\351\0\246\42\42\42jR\201\233\210"
+"\210\250h\271\n \272\330m\316\232\255\320\205s\25\23\21\321\2345\314\332"
+"\223b\321qSb\305\226\t\217\264[v\16\272\333\306\6\227\231\353\225n[aF{"
+"\35\263g\231\261\371,\346\216\264\255\210\226\263q\322\266\2GI\267\361"
+"D\n\365^O\217\213\234\315\3147*k\245\330\321L-b\367\42\363\376\336*Lc\357"
+"7\377\225\274;\201\267\210\347\2}\27\271/Q\366\257\366\363\210\301=\376"
+"\216}#\334\223#\237\317CZo<|2\224\33WT\214\222\370FkH\2444\335\275s\366"
+"u\317\204\313\223\234\245\353\3573\337\231\356\241\210>\3715a(\3062ojd"
+"\3545\225Z\261\266Y\204\266z\324J\34\66>4\242\217\267\3309\213r\32\306"
+"98\321\230\33\314E46\34\77\247\235\313\272#G\216\34-\263\376\1_\270wW~"
+"\b\350\322\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\5ID"
+"ATx\332\355\227]H\24Q\24\307\317\232\232\24\350F\226d\24\24\325C\33-\331"
+"V+}hDAB\260o\25T$\205\226\20\30AB\37[H/\25QQ\221A\224Y/E\17\373\26\22\t"
+"!\24\346\347>d\37\233!\22E,\325\346jhI\377\36\316\334\335\231\331\271s"
+"g\245\'\231\377\213;\347\234\3370\336{\316=\347\22\271r\345\312\225+WS"
+"X\323\314\206\222\23{\212\242\26\201\325\307\312\337\f\253\336\326\6 \276"
+"\326l\r\376\0\360B\305z\1\0\2507Z\217\262u\236\212\216s\\\263\336v\217"
+"m\177\224\213P\303\201\350\365\bKNT35\250\227\360\242\26\212\225\374\354"
+"\27\317\315N6\240AD\37&\42\252\23O\227\234m_H\304\177\b\207\7\304\357\203"
+"N7\177\3318\314\nf\221;\235F463\253\314\273\255g\37e\233\267\365i\366d"
+"\366Y\277U\260;&S3\336\16\0\350\236#\217\360\330\341k\252<O:\334\223g*"
+"H\276\317\225\233\203\276RO2\326\365\274\365[V\257,m\34\62T\325\235\325"
+"\216\321m\275\31\345\214\370>Gh\331kX*\276E\315\336\200T\367\25\350\354"
+"A\330(>\337\216\365\247\3{\217\7\246\23\21\25nl\214\245\255\19\273*\25"
+"t\256\300P\331\27R\2162\31;WD\\\317\364]\25\276b\t\374\311\356\230\365"
+"\217\262s\320\232\275\305\336\201\34\373\343\370\232\225/\300\276\217\362"
+"%ye\350a\6\275eW\236\315f\f\3\0\372,r\222\331\n\273\235\\\3011\225\31\216"
+"\36\'m\3642\0\340\245\331\\\314/\315Qd G\25\212\266\257\375=\300\35\352"
+"\257\2\276BDD\346v\313U\270XY\350\0\200N\253\357I\252\213\356;\0\300\370"
+"\331\263\210\210\350\241\32\346n[d\200}DD\364T\r\267\361\236\31\340EDD"
+"\24U\303Q]\270\200\271V>\253\341/\272p\1\347\22\21\321\204\32\346)0\317"
+"\0\217r\321\253a^\252\21\3\314\37\274T\r/\321\377\177\32\374\236\210\210"
+"\326\253\341r]\2701I\34\214\20\355\372$\21\32\2672\312*c\314T\30\21\42"
+"\42R\366\224\235\272\340\264\252\0\0C*\370\35\0`\273u\245*\6\66\355\270"
+"\221\34\22c\366\360O\311\344\235\317/\275k\3076qL\256\364zpD\316\36\342"
+"\210\363V\276\t\366U\313\330\275\354\377m\351\254\320\272\315)\373\253"
+"\307&k\367\31\315\375\254 \323\227\327\2529\303\262\17{ Z\341Y\263\347"
+"\264\360\264\310\227\344q\252\17\267\350Z\345\272f\311\205\3014\2075\325"
+"\246\177\367\267\367\177\245\222\345\33|i\323\315:\3334\250\265\233IjT"
+"\331\2730*C\373\268\30\304v\217X\241\311]\16G\300P\267\31\355\ne1|\346"
+"WG\22\2LD\366\347O\342v\343\235A\277\22\356\315\300\225+W\256\376\263\376"
+"\1\240\260 +\31\242*\330\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\213IDATx\332\355\227\315k\23A\30\306\337\304c\213\t\210J\275"
+"YA\301JE\304~\374\1\42\244\n\32\277\20\304*\225\200\322b\304C\215B\376"
+"\201\242(\350A\20\251\325\223\275\333\b\326\203\210\20EJ X\264\351\241"
+"\370\221C\21K\252Pk\314\343av6\223\331\231\331\335$\307yN;\357\363\376"
+"\366c\346\235\331\31\42+++\253V\265A\16l\275q6VP$^\27068_\361\273\333+"
+"\0\313}rt\340\'\200\267~l\34\0\200tc\364*\213v\371\321\313,oR\214=f\261"
+"\277\276\235\220b\211\230\213\360H\264\340\204\306\375\273p\302IE/k\357"
+"\345\355\311 \3\60\316\263/\21\21]\346\255[\301\206\357(\317/e\263\213"
+"\374\372b\320\301\337\371\7\262\6B\324\316\373Ft\241#T\345=\24\331ga\353"
+"6]go\206\257\372\203\234=\322\314\234\211\347\1\340\303f}F\304\204\37H"
+"Df\362v\345i\267z\236T\32\312q\366\2304Ufk\242\275\372tO\335\353\363\314"
+"\203\306u\350\212\327\37$\42\212\22\21\235\362\276\313\260\3308\347\365"
+"O\273p\331k~\25\33\337\274\276\200\344\344\267\372\322#f\356^\222\375\227"
+"\242=Ru\343\265B\356\376I\371A\'\356\345\n\365>\253\245$;\357\30\t\375"
+"\230$\234\224w\36\247\233\31\243\246\21\35e9\335^g\35\0\20\367\377\235"
+"\254+\234\5\0\200\271\230\330\202\3466\243\356\325Z\320r\\S\300\b\nC\1"
+"\67!\13[\330\302\26\266pkKoKp5(\\m\367\357f%(\274\242\200\313\352\343\241"
+"\367\354XV\300\213DD\264\303\4\63\263\244\200\213\354\320h\202\373\205"
+"D\351\370\n\0\2306\301\323\0\200-\252\315:|w\357r\206P\236o\210\210\350"
+"\260\236\35\42\42\242\327Jo\4\0\60\257\207\77\2\0\316\33\266+H\352\330"
+"$L[\236)\243\353\334\373\221\306\335\304l\315y\306\331\42\306t\367\276"
+"\303\374\31\225\367\234y\23\372.Ye\31\305N\331\350,2\347\207a {\371\276"
+"v\2541>\306\343\273L5t\306\335\25g\334\217\213e\376\361h\322|\34L=p/\177"
+"\275\230\373N\333\366\35\252\177\303\360\224\317l=\16\255\206\374\347\372"
+"\366%5\372\251+\320Rq]\305\246\3/\310Y\211\254fB\255\347\375wK\234\374"
+"|{\1773\207\357\215\35\364\273BVVVVV\355\325\177\37@~\372\341\341$\364"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0"
+"\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2eIDATx\332\355"
+"\230OH\24Q\34\307\277\263n!i%\262Y\32\36\n\nB2\226(\254\350\20\24\364\207"
+"\250k\30Q\264\24E\7e\17\302J\236\212\240\260\16At\360\240\7/\21u\b\251"
+"\240\242C\bRQB\340B-\3455\311P\266$\r\277\35f\336\356\314\274\77\263\263"
+"\21\35|\337\323\274\337\367\367\331\331\235\367\233\367{o\1++++\253%\243"
+"\232p`m\356\344\352qE\342\231\354\256\211\331\250O{Arjg8\332\361\235\344"
+"h\24\333@\222dW0\332\355F\233\243\350)7o\320\37\33rc\13\221\17\341\234"
+"\233\310w\216\210$\306\275PO\364#\274\341\245\262\335\35o\23\343\301J&"
+"\240Gd_\0\200\213b\324_\331\364\35\27\371\237\372\372\n\342:S\351\344o"
+"\376\305\260:b\324\316\353 \372\261.V\345\r\370\331{q\353\266\253\314\366"
+"\306\257\372\3\202=Z\315;\3230F\222o\327\3503\34\23\276\343\260\363x\314"
+"\256<VKP\342\305hlK\325\242\370\371\203:k{\363\212\232\204\2638\223/(\314"
+"\366Q\361\362f\315\253\312\354\21\331~_\266\317Jf\177`9\333\24\266\327"
+"\373\314\257\22\374<\0\17I\376\210\317\225\314l\0\236\221\374\344\255\271"
+"\222\273Nn_y\232>\34@*\343\365\307\r*wY\313\241G\6\30X\351\366\211\215"
+"\272Y\35\66\301\270\242\2773\0l\221\340\204\357:b\241\234\220\42~\370["
+"\334\362\364\303\277\1\0\254\16\306\337\334\331\302\26\266\260\26v\252"
+"\203\371\337\356\274\b\0X\256K\2557\302\363\0\200U:\370\230\21\236\3\0"
+"\264\352\340kFx\332\355\305\32\266\267\325\374\0H\222y\265\227\241\261"
+"\335x0\233T\326eF\301\257H\222\367e\243\366i\271K6j\340\363\256}\42\34"
+"\277\344o\2619\363\367fg xz:xN\352\324\300b\373\361\260ED\366\fH\3473\276"
+"I\253\213q!\351]L\216\344\347\233\332vk\246g\337KU4M\215\212\335\373\357"
+"F\236\322\16\252\331\353\0\360\2444\34\326\374\354\255\77e\364\201\273"
+"\311I~\21\201\264\266\316\256\206\320;\345\277\nr\5\222\2237S\2462=\365"
+"\254t|\275\275\267\202\215\253\244\272z\24\177\330\215\275\225\225\225"
+"\325\77\320\37`\232q\267=h\322\221\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3IIDATx\332\355\230[HTA\30\307\377\256\322\256\212\270"
+"t\333. \265Qh\17VFf\276u\221R\220z\210H2J\22A#\263$\204\2!\222\240B\242"
+"\227\202\222\264z\252\207\352\301n\32QP\231\346\5+\265\213\25XR*\335\275"
+"T\246_\17s\316\3569gg\3169;\371\24\347{\331\235\3777\2779gg\276\371\276"
+"\231\5\34s\314\261\377\305\42C\24\337\376\334\370vN\317\274\322\25]\337"
+"\255\206\273CD\3\251F5\355\13\21=\264b\275DDD%zu\17SgZ\321\3\254_\215V"
+";\307\264Q\313Y(`\35\251-BU\\\355\212Tf=\207\307\224\256\224\314\332\213"
+"\324v\215\235\25(S{\27\2@\221\332\252\264\267~\33\324\376\335\345\345\257"
+"\325\357\371vW\177\301/2ZZ\30\301\363X\217\276\212\r+\364\252\264\354\245"
+"p\3\267$\310\36\b\77\3543T6[f\323x\33\211\210Z\246\t;D\230\342\313\262"
+"\42n4:\251g\302\314|\266\335\261\221c##a\17:\271\260\366[ \302\306\33+"
+"R\354\243;{Bv\25\235M\264\205\36&\276un\363\315\312o\246\376\35bt+YZ\252"
+"\210\275i\315\6v\250a\266\347\274\230\24l\3644t\274\37v\373\26\244\30g"
+"\353g4\357\261K\203\243W-\327\35019\365\272G\363\330\205\1oi\250\363\240"
+"9\354V}\227\371\323Qk\6\77S\\E\242\311\254\20\303\252+K\274\214\247D\360"
+"\\\305\221i\26\77\303\2\270\211\351\5\66jI\277Q^\311\330\363\26\241\373"
+"\201\210\350\264`\266\254\342~\25\21\321<\203\230h7Eg\337\276\225a\324"
+"X\355\357\224\313(\354\301k\244\330t\42\42\n7\341\270\330\307&\0\300Q\271"
+"\267~IDD\tr\331\223l\244R\341k\3\0\352 \5\373\1\0w\345\340\331\0\20069"
+"x*\0\340\215\34\34\307N\235r\260\7\0\60(\7\263#\373\250\34\354\222\13-"
+"\227&F$\341\361\177\201G\5\227\25\0\310\2757f\254U\237\316hs\311\26\42"
+"\42\212\341\261\27\370\265n\235&\267\b\257\37\311\202B\371 \370\332\237"
+"\1\0\638p\224\350h\31\204\373\0\0\3639\235Z\257\362\341jc\211;\302\355"
+"V\324\302y\353\353!\371\257\301ji|j9\323_\13\7me|\340\20\203st\3425\342"
+"U\202P\233\316\340(]\32\252\5\0l\267\204\225\22\367G\177\340#\42\242a\273"
+"\305\301 \276#\42\242\265rp1\273\301\311\301\212\232\'\7\37gr\234\24\254"
+"\310]r\360.\246\327I\301hf\216\373\246gx\21\34\253\4\356\320\22\61\274"
+"WxrIW\367\314I\21\35379\270\256\17l\271J/\317\277[\361>\342\216\234\31"
+"\334\261\35\245~\235\313\263\361\n\31\377\1\60\324\363\244V\217\246\325"
+"\333\364\264\273o(\322\233\220\224\242\275\365\277\365\213~\326E\313KB"
+"\247[<\241\253\77\232\263\305\346\201\260\271WH>\311\261\336\265\213\253"
+"y\344\363\262)v\377*\331W\377C\3\266\235\310\f\367\42\212\350x\217\353"
+"\367\340W\347\302\356\230c\21696\201\366\27Ad\331E\261F\244`\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3YIDATx\332\355\230]H\24Q\24"
+"\307\317\254\241\201\201\242Hjk\21RHd\32\346wb\240f\30E\30\206`\5\366a"
+"\24\5F\201\221\270\364\240Oa`\24\b\25\255\204\20f\30}R\262\21=h\242&\213"
+"dB\212\4)\244\206d-e\32\247\207;\343\316\316\334s\347\203\36|\230\363\264"
+"\367\374\357of\270\367\234\377\235\35\0\'\234p\302\t\'\234p\202\37a\232"
+"\361\332\313\207\243\374\234y\325\27r\77\316\33]\3545\42\316di\2639s\210"
+"\330c\304F#\42\42\326\206f\317\263l\202\21=\303\346y\325\2716\226[4\\\203"
+"\32\66\21\207$%\343\362\313\251:\343\25\274*O\305ml\234\246\214\275f\326"
+"\277N\231}\32\0\340\2142j6\267{\7\224\371c\36\317\270\362\373\204\331\275"
+"\337\274\200\332\310\261P:\375\241\350\247HK\205w[\315vX-\333\332 [o\275"
+"\350K\24v\237\235\226\211\356CD\34\214\23L\221\4Zf\231\364\242\3171\236"
+"\225\22\304V\345\226\346o\215\207\331\221\336n\237E\270\362\\\236j4\324"
+"\322\26\34$\247DIK\201\311!\352r\36]\77\342EY\332\77\257d\256s\321\n\344"
+"\305\344v\0\200\42U\306\303a;\220\210K\0\61S\252\361\3\35\272\346\13\222"
+"\321\337\360R=<\256ec\377.k\235\225I\0\0\61\273[\346yW\362W\351n\34\220"
+"\245\245\20\267\313x\245!\37\25\b\214\253I\327\232\23j\266\235\267\316"
+"\215\262\230\317\321ZU\360\26\216\236,kn\356\16\66\4a\236\334\313\244M"
+"D\351\334\24\301\331L9D\326\361\244\0\366!\42\342c\272\tv\320\360*&D\13"
+"Z\350-\t\2372>\32\322I\230=u\206\260\365\27(\230\336\205`\\\23\302O\305"
+"\360.\35\354\2\0\200D\366\354bx@\227ap<\0\0\f\213\341\237\4\314\16\357"
+"i\253\356\311`T\375\266\f\263\267\312\4{\360\24+\3\203\3\233\200g\1\0\240"
+"X\fgQB\300D\221\264RE\322\211\210\210\5B\230\254\355\203\210\210\370\\"
+"\304\26\322\375\314\204$\1\374\201\206\331;\365\33\232\335#p\222uL\251"
+"!\341E\221\1\2663\211\332\217\207B\367\224\215\b\323\f\314\223\277\237"
+"\325\262X\316\321\272\320\0V\36\34\357j\205\262\0\32\3020\240\350W\324"
+"\375U2\30z\316Q+:\274<\243\2576=\34\0\334\345^\335\361J\356G7}\270w\327"
+"\2777r\311F\212=\tPeh\261\31\237y\350\240\33\0bM\370\363\3219-\372\343"
+"\210ys\207\235\367\325\350\263R\362d ^\37\335\305y\251\211\256\351\221"
+"w\276QU\347i\t\311\202\337\351`\313v\2537\300\25\16\247\0\0\300\270=\270"
+"\f\0\0z\354=\344\30\42\42V\330b\263M\25\30\21\23\306\326N\306\rv\343T;"
+"l\23c\273\354\260O\344.\221,\223\221MJ\207\25i\354\232;=\42\66\334\5\0"
+"R\330\352\230\215\231{\327/\277\'\372\214\357\324\274\300\267\242\263&"
+"\236\362\16ac\25\3467T\33\243\33L\255\317=\16\372\353\230\331/{\2674\344"
+"7o\241\225\277\300Iq\21.\0@\\\374\375\375\353\37\347C\301\377\212\177Y"
+"\377R\13\347Qa}\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3"
+"qIDATx\332\355\230[H\26A\24\307\217\237\321K\204f\27\61\t\262\213\20}i"
+"J^\n\202\356\206h\371P\17\222\t\222\24\251\244iaW\263\213\371\320\r\n\352"
+"\241\2\5#K\b\t\42(L\202\222>$\303\fE\272\30\221\bI_&]M\374\3670\263~\263"
+";\2637\237\n\366\274\354\316\371\237\337\316\354\316\2313\273K\344\231"
+"g\236\375C\26.y\242\17\345Et*\42\13*\226\367\f\333]\356\21\200\301T\243"
+"7\375\13\2006;6\22\0\2002\275w/\363\306\330\321\203,\256N\364\3253\337"
+"\37\333\247\260\223\5\342E\230\346\361urW\245\3753<\303C\221\300\332\211"
+"Z\273\316\311\fTj\321\273\211\210\212\264\3269g\363\227\243\305\277\251"
+"\252z\253\235\27:\235\375\370\3370Z\272\213\344i\327\243\257\247\270J\275"
+"k\42{\333m\342\226\205\330\303\356\323~\275\306fOd\321D\6\0\340\371L\323"
+"\2000K<%3\354~\300+=\236\21\21\321\376W\206\25\330sP\237K\'\337\205\264"
+"\356R\235v\7\262\335\23\3\236\351\265zAZ\b\225\371C\1k\215Z\24\253\214"
+"DD\203\243\252[\371$\224c\203\3645(4v):.\21\243/\353\265\2\335\245f\224"
+"\77\24\213\316\343\206\322h}_7\4\371i\242<\314*\256U\250\356!i\34\355K"
+"V\316\327\3\0\300M\2456\376\310jM&\273\20\0\260Y\251\275\344\354\26\263"
+"LYm\234!\271\22/5M\2634\0\300<Y\210\370\300\320\201\351z\277O8\7\21\21"
+"\215I\354\242\2419DD\24\210\371l\16\233\335M7;6Y\3568\251\0\200\271\6o"
+".\277\335\363\326](\341r\316\356#\367\360Y\316n#\367p#g\327\221{\270\215"
+"\263\213\325\300$\213\213M\353\212%\42\242\1\177P\35\3403\337\275\374A"
+"\306\6f\7\35\24\62\66\3548\336\312\344CnrV\5\31\274\2005\2129{\225\334"
+"\300\t\272\227\261\26r\5g\20\21\658z+\220\37X\n\221\257u<\'\242\334\365"
+"\374>\277x(T\257~\306;\204\323\224\345\273\300\31\234\256\204q\327\321"
+"=\207\253C\262\207c\35\300\342\371\320\221\234\262\16~>\365\243\337~\330"
+"\253BC\275\300\22T\253\231\252\302\246\254\236\0P\244\271\16h\36\347\260"
+"\260\362\327pW\273\323a\347\211\316\4\356\254\266\201W\262\260\32\365\4"
+"\332d\313\n\0\200\264W\3473\270\327I\222\234\226\374\327\31\275\303Azf"
+"\310\302\17\223\'.o7\3752\274\221\35\252\355W\325|\205\322\254\356Z^\317"
+"c\nx;;\234p\275W\21\21\321%\333<\263\200\211\301{&\6_\264\373\6\266\202"
+"\'\263\256\263\334n\356DD4r\213\210\210j\34\356\30\6\213\203<.\271\222"
+"\230\214\245\217\375\3018f\375\375g\366\266\264I\236-\261\37V\251\226\230"
+"\300\274\210\2362\221{\1\253\237!\265\254\353\24\225\226\334\242\325\351"
+"$5\34\301\365\243\263\fBI\227\241\322w\24[}\315\177o\\&\255\32\2355Kp\226"
+"(o\35\37\261r\233\221\337\253\177\t\352\23\355i\217\250\223J\362\344*\325"
+":E\307\252\3771\307C\362\6\341\232\255\243:r\2645W9\232\344\306o\0\320"
+"\177%\316\373\220\365\3143\317<\373\377\354/\267g\13\374\263A\300\42\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0=\0\0\0x\b\0\0\0"
+"\0d\234\245\352\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3OIDATx\332\355\230"
+"_H\24A\30\300\77;\245\27I\37\62\23\243:\313\f)KC\357 2(\256\207#\311\327"
+"\20\24\301\342LS\373\347!\245\224\24A%\366\307 \304H\217z\251H\n\321\260"
+"\250\23\42\23\225\376\274\4j\177D\315\300(\37\362A\355\370z\230\231\273"
+"\335\331\275\335\235\335\242\36v^v\276o\3477\2633\363\315\367}\263\0\346"
+"K\361\367%`\245\330\264M\333\364\337\245cUt\311U)\301\200\212\276t\327"
+"\364\325I\335\36\237!\342L\36\257u\377@\304\227r\357\240\2\'\42\42\42\326"
+"\310\265G\2106E\217\206\31\322\260]\252\353 \272E\335\261\341 i\211\257"
+"c\302k\373\226\252\374\3724\\\244m1\213\310[\230\334\16\6h\360\263\346"
+"\345\0\0\207\230\324\4\206h(d\300XC\303\7V/\3\2034l\230G\276\270\215\373"
+"\363\221\245Cr\305X\374+\21K\315\275)\225\356\245\317\tZqM\344\253O\252"
+"G\42M\334\303\340\2\60AC\342\0\42\342pR\264(\30\253I\317\272r\2751=\3B"
+"\'TZ\6\7\377{\317tf\202,ow\226\211^\36hXd\364\314\203VR%\366<$\234\267"
+"L\215E\224\333\304\347]\366)\242K\22\246\373\322r\375\375\264\36on\3\366"
+"\221\211\247\231\313\327\36\336\261d-\335\0\0\200&\351IKc\317[\32\33\377"
+"\315)\261i\213y\13W\266:\23\342b \24\n-\316}\31\326j\230\207\210\210k\245"
+"\252\363\362P\330\252\21\r\224t\r\37I/\211\334\211v*\346!\262j\212s\323"
+"#B\367\312\305Q_\223\310\232K\334\335\343@\377g\301\35\313g\2257\336ia"
+"k\311\274N+\347\262\247\rZK8\311\203\34f\35\5]\342\226ZH\341o\253\273\214"
+"\3339\33\373X\'y>I\232\208%q\344q\203\232U\363\36\241S\222\0\0\0Ajf\7\332"
+"\304N\350z\0H\237\245\360\2166\301\363\355\215\203\312\21\362\1S+^\210"
+"\236\357\242\225\31\253h\276\231!\342\35\350\227\354f\362^!\317\304\315"
+"c|\324\n\275F\314+:\270\267\215V\306\206\372bK\36\271\243H`\315Y\f\235"
+"lvT\247\2\0\300mG\300\260w\317\'~\263\27\0\240\205:\321R\375l\217\226\355"
+"\4 \302\351(W\241\250\264\33\21\21[\250t\212\342>\203\264K~\217\250\243"
+"x\2051\232\304\222\315a\271\226\342\325\2\364\272\210\3428\305\217\32\247"
+"\235\312k7\326\32\246e1\264\212\342u\246h\250\240x\275\301\35s\312\225"
+"\345\24o\324\243=j4\34\246\370\5\235;\360&\325\235\271\326L\236\'Z\265"
+"\355\374\275z~\356`\211CPc\354\234\247\33\2718FK\350#\313$\360\254S-\336"
+"A\345\273pj\302\317\33rd\231\313\\ \223\250K\302\253\326)y\275\234\247"
+"\357\363\251\217GNgK\337)\226C\361\13\342\21\245\351\274\27$m\373\224\77"
+"\177x\305\2\'\337\212t\234\256\240}\374\330.n\336\260\377\371/D\304\257"
+"W\226\251\354\244\373\356\317\b:~9\231_53\245\304\322\377s\264o\26\66m"
+"\3236m\323\177\220\376\r\20P\226\3\203\326\262\320\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3YIDATx\332\355\230KHUQ\24\206\377{3+"
+"\363\225\t\242\222\205Y\206\5\231\225Q\240\204f\226\244\224N\42K2zG\243"
+"\36\223\262I5\t\213\42\33D\21\30E\20\211 E\327&\2055\251\210R\224\262\'"
+"\232\31\370H\323\310\222h5\330\367\354\273\357\275{\237\263\317!\210\340"
+"\374#]\377\372\334\373\234\375X\353\b\270r\345\312\225+W\256\\\375{M03"
+"\2751Q\236_\16\376\350\222Sm\344W\377\3652;dL-\205\350F\206&\32u\215$j"
+"N\326a\17\223B\307-\321)\317I\251\227\261!\311\236\340_\227>\t\374<\330"
+"\3221\30\231\226\263\\\260s\237\232\214\273\226\217\322^\305\203\2515\337"
+"y\270H\315\26\319\2559\301F\331\27\303\311S\261YF\306\256p\257\306\360"
+"f*`\277=\226.3\27\373\335a9{\217\271]\252\345\37`\376M\231\271\225y\3\352"
+"W\362\225e\254WOz\232\32\236\356O\tw.0c\265\331\16Z\305rN\204\355,\26\277"
+"h\276\377\316\313\207\256S\315H\366l\'\244\321j+x\223l\214*\42\42\372a"
+"}\346\206\210\210hCP\214\235\245}\326\360v\42\42z\30t\252Hv\304\344O-d"
+"z\1\0\25\0\200\333:wE\3\0`\235\20a\27\217\326=\307N\355\25!\322\247\265"
+"N\302\272\364\232\5L\324\23\30\310\13\0\t\0\0\237\36\334\f\216x\1`>\0\240"
+"E\17f\313\224\305\341L\266\326z\360\13\0\300<\16\263\253\343\275\36\314"
+"\322\3229\234\2\0\30\325\203G\300\21/\0\304\331/\204\261\34\366\300\231"
+"\2746&,j\224\303\237Ya\325\303\246\2\0z9,\274@k\261\264\17\34~\5\0\310"
+"\326\203\27\2\0:9\334\1\0\310\323\203\363\21@\2\7\243G\17\356\16=\201\3"
+"v\217d\277p\223\260\223R\242\303\226\b\0S\5\21\21\65\352\300\215DDT\361"
+"\267.@<\3\0\354\264f\367\b\351\206*\211\210h\304\32f\355I\245\254\334l"
+"\266b\253\245%\355\214\235Bw6\264\373e\341:s\3662\313\212\f\215\237f\361"
+"B3\266\224\345\234S\266\25\361j6E\331V`#\t\33O\246\210\237,c\213\314lb"
+"^\267\252\225b\245\231\356\312\3551\346\216\317\225\36c\377\234\177+\376"
+"v\206\321\42\356\17\367\16\31^\226\352\251\n\214\214\316\25\301\306\312"
+".\303)V\277\3175\2747~\267#\302\bN\336\373\221\207K\315\232\365\334\307"
+"B\267x\277\255\317\233\272\250 \42\20\312{d\272\207\242\333\325\237\to"
+"\22,\317\3151\25{R\347\256Hl\222\241\276d\275+\16iWC\321[\263\355\324\242"
+"#\42Z\37m\263\222\25\17\363U\313\264]\6S\214\327\276\333A\355=\300\320"
+"\243N\3526k\352}I\216\276\311\307\210\210\232\2355\f\227\210\210(\311\31"
+"LDD\265\316\330r\42\42Z\246\325\320\204\211}\207\169\203\'\261}\342l\332"
+"\333\204\357]O\2422M^U\343\374\337\252\17:\343\27\314\31\277s\260\307\326"
+"\320\365Ag\252\334\346\304_\13\354\333Yv\37\273\221\263\35\205\366\236"
+"\31\0\262\253\363gL\374\366\251\325\327\340\376\7\355\377\327\37\232f("
+"\246\338\300\272\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2\347IDATx\332\355\227KHUA\30\307\377\2327]\251\225H\30\67*\264EJ\17\23"
+"T\302GHEAPnz@\201\25\31A\273\36\4\275\220\26=\261\350e\24e\326&)j\23$a"
+"\24!Q\206z\27\202\217\n\21\255\205\275U*\223\376-\346\234{\317\271g\346"
+"\314=g\27\234\377F\374\376\337o\356\314\231\371\230o\200@\201\2\5\n\24"
+"(P\240@\201\2\5\262)I\351T./\311\317I\32\355\177\363\274\345\263\247!s"
+"\352\6i\325\215\245\t\243+;\351\320\310\326\204\320\302nJ5R\245g/Q\251"
+"\333\32t\306\0]42\313\215]\24K\354\334_\224\n\0\351eu\375\261h\221\232"
+"]\22M:\236f\215g\236\212\32\205*6\333\314\270\350\364\316\233^\226\2\36"
+"\62\374\22\351\212\306\2059 g\257\n\367]\262b\354v\341_\220yE\302{\257"
+"\376$\257E\306B\211\325#\254\220\313f\374 IvI\316\244`+\334v\262@\344T"
+":\214\16\222d\243\373\31\252\'I\276\214\17g\211A\2235\'Pd\245\33\377\231"
+"\331\333\1\0\327\377j\340s\0\200\35qQQ\205\363\264\205N\222l\227\315gT"
+"_t_H\222\366iO\3\0\334\325\303\315\0\200\f\33\234\17\0x\242\207\237\212"
+"=\263\301s\1\0\21=\34\261\244\233\260\250\225\17z\370\243%\335\204S\0\0"
+"\223z\370\17\0 d\203\307E\321\353a\361\251\306l\260\230p\236\36\316\265"
+"\256\317\200\373\0\0\313\364p\251%\335~H^\351\341\27\326Cb\352\267,\250"
+"\252\214_q\205\361\20\0\240\275S6X\222cZC\222\34\324\301\275$\311\325\362"
+"J]\253\271\2)_]\275m5\n}\'I\236u\304\247\212Ao\272\261\r\42\'\305\351\234"
+"\26\316\36\65\273Kd\234\224y\223\302\253Q\261[\204\77!5+\214\333\346\220"
+"\234=`\330\345r\373\250a\267\2469\275P\213a\36QM\354\216y\25\36\213w\16"
+"\233N\223\372\223\334\213\336\303M\226\253\262\2701\32nv\353\303\32j-\227"
+"W[\317\247\344\354\5\245\271\261\320\225\335\256\307\240\326\255\'\331"
+"\251;\275\263#*\264+\234@#\266iL\206\216nL\260\5\\\357h\1;\326yh>\303\227"
+"\255\350\211\351\36\333\341\3151\324{/=\177\330\350~\362\274\2638(\330"
+"}~\232\370\25$\311\266\260\37v\312O\222l\365\367z\270F\222\234\351\17&"
+"I\236\361\307V\223$\213ui\362\336I4\306_\375\301\251\0\200U\376\246\275"
+"Mlr\31\0$ey|\224e|\23\177\237\365f\26\344M<\332;\344\351\247o\331j\252"
+"\332\343\304\373,\354\3339^\227\375 \312vWy\177\210.\256)\17\207\306\206"
+"#\217\357\7\317\365\377_\377\0\r\365\321rRm\334\360\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\1\360IDATx\332\355\230\317+\4a\30\307"
+"\237\331-\371\331n\312\372Q\16..\326n\24\255\222$.J\204\243\213\222\42"
+"i\245\250\335\332\203\342\42\377\201\3\67)\271\210\244\\\24mH{\241\374"
+"(\7)\266(\21K|\35\336\231\354N3\363\316\274K9\274\337\323\274\337y>\357"
+"\274\363>\317\314\364\f\221\224\224\224\224\224\324\377\226\333\300+\215"
+"\fx\22\6\376\340d\323\331\23o\302]\0\311F\275\33z\4\260\317c\275\0\0\204"
+"3\335\t\346\226\363\350$\213[J\367\226\231\367\301\335\207a\26\210\23E"
+"s\\\t\325\232\346\357\342\274\32\212\0\33\7\265\361\222\235\34Lk\321#D"
+"D\243\332h\301^\6{\264\370\313X\354J;\36\262\233\377\352\24\364\n9(\237"
+"\303L\364\242\300Q\361-\246\263\253NK7\374\303F\235\27~\207\306v\211<6"
+"\3368\0\34\227\230\234V8xC\247\262\25\227/\37)a\31T\230\277\262\320\255"
+"\267\25\5\357wG\257\274\331fa\256\315<kv\fV:\316\fv\351\327l9u}\263%\274"
+"m\275\260vKx\275\373\300\n\256\342\77\317\371\231\337N\305\355\251\33o"
+"%\42\242\265~\241\234n\0\0\326,\227m\236B\42\42\202\30l\264\25.g\213G6"
+"0IX\302\22\226\260\204%,\341\277\200\263\372>\177e\3\247\262\201\237\305"
+"\340b\366G@\f\256!\42\242k1\270\203\210\210N\305rz\3\0P\204\330\0\0\340"
+"M\354\302q\0\300\242\20\2536\0A\21\266\227\261\347\42lDm1Z\234\243}\267"
+"*\273b\243\257R|\271n\326K\345\24U\370\333Z5\77\351\343^g\352\336\254/"
+"\362r\331\250\31zS\304\277\301\35\23\326V\206g\f\321\275Z{{;\367\251\'"
+"\23Q\7\377IJ\313\362X_\205\317\217\227\207\244\354\364\177O\337ZL\276z"
+"\260Nzi\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0"
+"x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\tIDAT"
+"x\332\355\230[H\25A\30\307\277\216\222G\305\24\13\355\2R\'2-\2102(\361"
+"\255\33e \5]H**\222@#\223$z\n\212\244\33H\364R`\221T\20] {\320(\355\241"
+"\242\320\314\24*-C\n,I\215\242\3139\32Y\376{\230=\236\335=3\263{\276z\334"
+"\377\333~\337\376vfg\277\313\314\22y\362\344\311\23\21\305\271\275qCE~"
+"W\2207FV7\200\207<\266\20\0\200\f\16[*\330\337\34\366\230`q\220\301^1\330"
+":\6\333l\260WcGS\373\r\266:vv\266\201\242\42vvn\230]\307x\337a\203]\314"
+"`\17\t44\215\363\201\353\1\0\35J\277O\7\267\21\21\325,`\346\334\361\247"
+"7\n\274\312c\3218\255wB\262o$\24\212\371\241\351\245\r\337\302\261\211"
+"\321\'Uy\356\321\335\275\210\322\205\34W\350Q\310\325\265-sjI\33\6w\252"
+"\321\255p\324\42\25{\307\231\305u\371jO\357\36\37\271\350m\356\3740\224"
+"\220\231\235g_\255\237\211\262a\27F\236~\336\234\303I\305M\226\241e\354"
+"\2341oe\264\363\260\36N\b\373n\352\322[\1\2774\\e\252\305\254R\303a\327"
+"j\365g<\253\202g\30\216B]\374\f)\340Va\337\245\r\276\265\0\200A\273y\211"
+"`/9\204\356G\0\250Q\254\226S\334/\5\200\2316c\216`\213\34\263\246\350\336"
+"\335\25v\333E\2217\274\212\42\6^\316b\13\0\0\3031RF\307\330HDD\'y\263~"
+"\3\0\310\342UO\270(\245\372F\327H,8@DD\367y\260\350\336\35<x\22\21\21\275"
+"\345\301)DD\364\211\7\373\211\210(\310\203\305\256{\204\7\373x\241\345"
+"3\305\b\23\36\375\27xDs\336\330\362\340\217\275W}>g\256%\233\1\0I2\366"
+"\262\274\327\2552\325\26\0\300\24\t;O\321(\37G\246\375\205\210\210&K\340"
+"x\305\353\246E\340\1\42\42\232%\271\251\375\226\34\256\265\267\270\23\322"
+"\333\312\236If};\252\3765;}\232\314p;\373n1\7]U|\242#\2.\266\30\33 \353"
+"\4\321\312\20p\274\245\f\325\23\21\321vG\330hq\326\263]:\0`\310ms\260\31"
+"\337\3\0V\362\340r\0@\17\17\66\254;x\360)aNa\301\206\371\25\17\336#\354"
+"\215,\230\332\204\343\221v\17\257\202\223\215\300\riNa\373\224;\227\202"
+"p\316\234Q\261\1\315\306u\315X\312U\247\311\374{\ro\213\356\227\6\0tV\6"
+",.\377\372\2721_\211|\263\236\333\3567]\365\265\276\350\31\b\305\245e\345"
+"\346\345\233\314\357\2\252\327\272\346xH\350JP/\350\262~=[\256\17\204M"
+"}J\362y\261s\326\316\257\225\221\257\17Lt\331\207\262\3677\3750\201\35"
+"\247\13c=\210Rb\252\337\367+\370\325;\260{\362\344\311\323\177\324_n\244"
+"~\336\357K\370\267\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\3!IDATx\332\355\230OH\25Q\24\306\277\247a\201\201\242\24\246O#$\222"
+"JR\314,M\f\264,\203\26\212!HA\377\t\n\\\264\bBq\241\324\306\300(\220\42"
+"R\302\20\65\214\262\240\344A\270\310BMB\22\203B\202\224\22#2\37f\32\247"
+"\305\235\247\323\274{\356\314\334\nZ\314\267\233\371\356\357\315}s\357"
+"\371\316\314\0\236<y\362\344\311\323\77W\244\303q\345U\333Gf\364.\221\362"
+"\206\210z\365\330}DDD\253u\330\323\202]\320a/\n\226\2525\330;\6\333\245"
+"\301\366\31l\233{4\346\243\3016\270g7\30(U\271g7\205\3302\215\377;k\260"
+"9\32l\255@\203I:\13\334MDDC\374\200\b\5<\0\0\32735K\356R\177G\256\27<\236"
+"\376H>\371\351\35\305y\233\23\60\65\322\327\23p\tW\2345o\312\241\306\226"
+"\245\203\324\264\30\337Bp\234-\226\32\n\3239\303:0\35:sE\336VH\246\361"
+"L\0(4\235\251\221\260\355\304\350<\20\67a:\356\bCW~ V\375\325\217\315\207"
+"\307\254l\374\317E\257\263\42\31\0\342\3664N\313~\351Ue\330\205\203\206"
+"\265p\334|6\353\211\205\274\227/\371\277\375\206Yo5\262\307\314l\253\354"
+">\327\31f\236\304k2\301\33%~\252\341\371\245+X\275\4+\32\332zf\353\\S\301"
+"9\3029\310\356\343q\5\34 \42\242\373|\21l\345\341e\302\210U\224P/\13\237"
+"\42\42\242vU\361f\260\260\230u\226\262\364\3478\230_\205%]V\302\335jxW"
+"\30,\272d\242\230\273\32\36`Zl\2\0`X\r\3170p4\0`\322mz\n\230l\33\275\2"
+"\236\6\0\254\321\203\'\3046P\17\215e\340)\0@\221\32\336\306\31A\7\233\244"
+"\211\333$\235DD\224\257\204\331\275]FDD\217Tl\1_\317\302HV\300\257y\270"
+"\205\210\210\236\362\354^E\222$\t\347$\13\317\253\2\260UX\334z\334U\246"
+"\247\21D\264\305&<\345\353y\3040K%^\27\331\300\241\211\323-\253Q\22$[\30"
+"\3!\277\326\\_\273\7\177\357s\334\35\35^\34\361\242*#\n\200\277\2649\254"
+"\275\262\353\321\3037\367\236\13/\355R\262\216cO\0\225\266\21\233\365^"
+"\206\16\372\1\304;\310\347\303_\254\350\267C\316\303\35;\333\314\350\303"
+"b\26630\217\217\376\242\334\364\304\210\311\221\347\201QS\345Y\t\237\213"
+"\274\13\203]\307\255\323\227\262\377\6N\3\0\274\323\203K\0\0\317\364&\371"
+"\226\210\210\312\265\330\34G\33\214\321\230}\264\263\272*.\234\256\303"
+"\326\353\177i\301\3\243J|\256\311\350\372P\205\25Z\342Z:|y|T\4\0_\344\212"
+"\270u\331\373S\26\237\23\3\366Wj\230\223G\321\31\7\263\274\311\304X\271"
+"\363\5\265jt\255\243\373s[\202\316\36u\372A\362\206\205\374\334\\\340\346"
+"\258y\325\362\b\0D\363\337\277~\372\341}(\370[\372\5\347\31\367\224\1\r"
+"_\306\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b"
+"\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\365IDATx"
+"\332\355\230MH\25Q\30\206\237\24A2\335\245QX\30\25\30\266\250\26Qn\342"
+"FQ)\271\221H$\253EE\210P\320\242H*\211\220\242\377\237E\31e\42\245\t\31"
+"\24&\204P\224hQJ \267\205\345\246\37\214 \b)\r\323\257\305\231\353\235"
+"\361\314\334{\317\331D0\337f\206\371\3163\357{\276\231\3633\3a\204\21\206"
+"\26\351>\327\346\36\251\2309`{\303\27\42\62\270\300\216\315\23\21\21\331"
+"lG\377Q\364>\253>OF\0(\311\354\262\221nW\322r\307\312x\213C\367X\321\347"
+"\34z8\307\206\336\357\320\262\304\206.\217\321\2056\364*\7\36\261\352\367"
+"\274\237\212\256\265{[\372ED\344A`>-\21\274\274\1\340\215\355\30Y\323\366"
+"\252>\234z\302\370\227\221vb\310\31~\23\315\13}[\254{\370[\\1\331\261~"
+"*\365\322\2358\340\303V\212\26UNj\223\367r\245\16\77\326\341\'\316\220"
+"\374\352m\331\234\251\301\237\365\373}\211\235\34\365\336\264Sk9\347\355"
+"t\341\241\371S\311\202\332nw&\242\13\225\234\177\3247\26oQ7-}+\236\372"
+"\36\360T\326\306\32\24h\251\37q\372p\0\275S\245\267\353\231\33.\343\331"
+"\376p\206\312f\350\23\340{W\253\273\376\360\270\347\340\206\177\271\353"
+"\263!\265W3\276*\273/\267\31\302\242\16\37\0\310\2513\33\36\325\42\42\322"
+"\\\326\252\2522\333\257\215J\5\302\273\310V\257SW\n\360\364\345f\200\221"
+"\n\0\42[L\372<5\6\242\307\rj\346\261\235\5\360MDDN\31\3679\335\365\22\347"
+"\233\366y\2\340i\273\332\23\231\332V\347\231Jb\253\241\262\212\261\203"
+"\0\264\32V\333\211\263\237\0\270`c\33V+\207\213,lCO\213Q\315\274\312\314"
+"\360\2335RTFj\0h\262(\30pE\r\316k6\266a\2052Yda\33\372n\247\364\260\375"
+"\225cB\273m\224a\17\0\327\355\366\236\rQ\0\32\255lS\244|\256\264\261\315"
+"\200\262|\317J9\246Uc\243\f;\0\270\224f^0\240\251\77\321\342\225\3046\213"
+"\225\325b\33\333\f^N\245f\325A\323\252\222;d\243\fj\5\251\317\207,\303"
+"\202\1-\275\261\232\25\231\303l\3\240\370ba\304\274\317pF\365\265\343]"
+"\222\345\306\377\306\23\236\35\234\221m(O6$\323\23\375\7x\226\4\236\245"
+"6#\211j\26\f/\5`\231\77<|2q\277T1\2G\300\250O\301b\221\333\353dn\6\374"
+"$(\r\206\257z\267\323\335U:\375<\b~\255}\6\350\13En\0\\\246\177CH\236F"
+"\3279\231\217\336j\217\7\357p]qLM*\332<\336\251\t\237\366]\264ED\242\332"
+"\345\275\236o\253\321\216R\377\222ol\274_\35~\304\206\21F\30a\374\267\361"
+"\27\232g\20\217\312\324t\206\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2\35IDATx\332\355\226MHTQ\24\307\217cL\42\32\n\2210*BD\20"
+"A\314\bb\330\306\21RH\324\205Q\b\321\242]\33u!\204\37\270\22\f\22\31\241"
+"E:\233\26!\241\213\6\301\205\250\210\240\210A\330\242\17B\3\241\215\240"
+"\4b\202N\223\177\27\357\276y\37\367\2357u\337\306\360\376w\367\376\317"
+"\357\336s/\357\335s\210\264\264\264\264\264\264\316\266\362\231\371H\177"
+"G\341\'\325EW\0lV\251\261e\0\0\334S\2433\6\375T\351\314\'\rDD\324\\\260"
+"\250\262\365;ckL*%\376V\320kJ\364\250\240w.\251\320\335\202\306u\25\372"
+"\276I\337P\241k\5|\240t\356\362C\203\36P\373Z6\0\0)O/\224\13\216%\211\210"
+">\250\376#u\323\357\207\365\363s\236\225\347\343]k\215G#\241\275/\253s"
+"\313\271\226)\254kk\255\261\206\341\241#XZj\366CKSFTR\214\237\303\245\375"
+"v\36\2362\203\346\211\210n\357@\326<\13oec\222\25\345\303\360\324\357J"
+"\6\36\263b\366\300\352\nCK\207\304\301h\274\230\210\250\264e\332\234\332"
+"\345\22/\231r\240\233\366:uaR\314\216\263\347^\260\261\317\\\336c1_\301"
+"\301\215\26[/\231\17\f\343\r\233x\226\215\361W\312\346m\262w}\334\372\34"
+"p\237\267\373\22\0\60\342\17\177f\334;\0\200u\1778\312\270a\0\300/_\370"
+"g\216+\361\255\30\263\177\377\30\310\360V\20x\77\b\234\t\2#\bL\32\326\260"
+"\206CA\226\223C\213\324\340[DDt\223\13\275,\352\212\267;a<\217\27\31x\320"
+"\260{\275\274\242\204(\30_k=\331\'f1z$Y\235\337m\365\365\370E\330\355\307"
+"\277Y\366F\215\323K\271\272\202\355b\247\377\320i7\331\275j\251\247\350"
+"r\302\253Nw\306~\333i\351\30\351\177\30\276vm\374\221o\32\0\300u\245\35"
+"K\177lh\217\224\311\325W\331\276\356G\242L\367\354ZZZZ\377\245N\1\62\356"
+"Ph4\304\374\f\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<"
+"\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0"
+"\326IDATx\332\355\324\241\n\302P\30\206\341\3v\333@\203x\5b\260(v\r\266"
+"\211`\22L^\200\336\301\\\20\203w\260\13\60\350\252\30\314z\5\2465\3030"
+"\t\232\6~\206\263#s\f\3176\20\f\337\223v\376\375\3578iB\20\21\21\321\17"
+"\24\276\2754\314\272\377\310\371\3415\0lr\245\265\'\244F\366v\210\267q"
+"\326\326B\304*[\353\342\303!CZ\364\20s\253\246m\233*\t\34\'P\317\275t\355"
+"H\355[B\b1W\247i\232v\246\266;\362\334U\347\205\276\35\204\253~IM\312\327"
+"p4\321\306\27\271\270\213\316\366rv\327\265F\342\25\227rZ\321\325g\0\60"
+"\343\323>\0x\332k\267\266G;in\237\3346\177BDDDDDDDD\377\346\5U\256\273"
+"\375\326.\326\376\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\0\340IDATx\332c`\30\5\243`\24\214\202Q0\nF\1=@\321\223\37k\2251\205U7"
+"\374yYNH\257\375\377\377\377\377\377\257A\27\256\373\377\377\377\377\377"
+"n\4\64g\377\377\377\377\377\377\377;QEwADK\th\266\204(\373\377Z\24!&\372"
+"\6*H\310f\206\35P\205\377\35a\42N0\221\323\204C\354&Lm!4\4a\374\367,D\204"
+"\367A\230\352-\274\f\f|[a\274\33\304\305\326t\230\372\377\227/\303\231"
+"k\210\215\353\314\377\30\240\206\370\224b\213\256\327\207\224t&\370\2Y"
+"\35379\22\223\351.\204\336#\244\'\362n\230\336\311\344d\221`\210\336\b"
+"2sX\323\225\253\255\243\345\314(\30\5\243`\24\214\202Q0\nF\301(\30\5\243"
+"`\24\214\202Q0\nF\301`\6\0\0\244\314#\230\215\2509\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\0\204IDATx\332\355\323\275\n\2030\30\205"
+"\341/n^Q\213\203B\266^\207t\224\n\336\210W\244\264C/\251C!\234.\205\f\375"
+"\321dp\220\367\231\16|9!\204\304\f\0\0\354\212\3733+\373\306]\307G\326"
+"\276\203$ICN\367\242\267.\343\330Z^S\374\32\234cl\223\313\207\30\217\311"
+"\345\347\327\270\262<\3058o{av\372\b)|\220\244\340\363\236\247\325\225"
+"\335o|a\0\0\0\0\0\200\275z\1\225\275\42wRw\353i\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\1\25IDATx\332\355\324=K\303P\30\305\361\323"
+"R\34\244\375\4\202\350\244\210E\334\305\22\27A\250\270\211t\22\334;\351"
+"\367)\42\276,\335\4\321\202\2728\350T\277\200\242\223\203C\335T\374;\244"
+"\201\264T\274\327\311\341\374\246\373$9\311\315s\223+\231\231\231\375o"
+"\205\237O\3156\222\351\342\343\345\301}\374]\2537\364\335-\304f\233\344"
+"4\343\262{\f\330\215\311\2560\244\26\321\260\347\tIR\367\272\220\314I\222"
+"\236&\203\37\274\16\300W-7\211zp\270\r@\277\311\213\0\264\203\303o\0\307"
+"Yu\2\320\33u]q\324\301\262$]d\325\271$U\202\303\222\244\261lP\212[\345"
+"W\200\263\254:\5x\t\16\37\2\260\226\26\253\0\264\202\303I\272<;\222\264"
+"\235\216\227\302\347\335M\23\37\235\316{:\272\215x\351\371\341\317s&\246"
+"e\215\301\354f\\\3037\362\331z\354\17]\336\317\242\255\361\77lC\245\255"
+"\345)=\\\35}z\26363333333\373\3057\316~\321\2529\17\312\222\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\324IDATx\332\355\324\277J"
+"Ba\34\306\361\307\354\264:IW\20\24\bB4\210\322V\16\247\2466\'/\243\241"
+"\256\240.@GWW\357@pvli)7\253%\20\334\372\272(\30t\216\234\337\24\370|\266"
+"\3\357\227\363\376;G23333333333\373\237J\367\343i\277\26k;\337\300\354"
+"&\324>\3\60:\214\264O\0\274\237D\332\24\0\316C\223\236\3\320\r\265M\0^"
+"\262\7\34\344\304w\222\244A,\256K\222>cq\42I\272\315\36P\316\211\33\27"
+"\222t\226\214\321\361\365U\365\265\320\206\265Y[\0\360\209\252\215Q\241"
+"5+\375\3654)x\322\227[/\356\25\277(\217\37\0\374\f[\177}\256;\363\243\323"
+"\312\362\355\313\77\266=\266\2Z\272cnH\303\210\223\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\0\313IDATx\332\355\323\241\n\302P\30\206"
+"\341#\f\31\352-\210X\206\202Z\274\4\243\27 \6\301\272jS1\313\232`\32h\363"
+"\2\4\223\311 \bb\263\231\4\233\301l\21>\303\306\346\206\374g,\216\357I"
+";\77{7\3309S\212\210\210\2102%\367\177lT\325\375\223\352\201\245\5\0\0"
+"n%2\256\265\22\264s\4\16V0\355>\201\275.\315\337\360kW\366\306+\0\300P"
+"n\3157bN\3\2539\366\257Gr|\201\244!\266\35\261\335\310/\236zw=z\5\325v"
+"\343\355Y\363\271\372\0\200\211\277r\42\355V\273Ok\340X\17\227\313\260"
+"\265\23\354\262\31;s\366\25\0^\263\264G\330(\3627&\42\42\42\42\42\42\42"
+"\312\242/DV\305\342Cf\323\230\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\1#IDATx\332\355\225;n\302`\20\204\'@*\n*N\200[nA\203\304"
+")(\341P\234\3\211\206\42\265\37QRD\224\34\0$D\205\264)\20f\235\375w\261"
+"\24\322D\363\25\366\356\314\216dy\375\0\b!\204\20\362\257x1\3128\33\364"
+"p9\356\336\3\305a!5\313\253\262\274+\2138;\25\305\f\0fZ\231\206\341\265"
+"\36\335\0\300F+\3530|\320\243\'\08i\345\320\234\3564\333\236n\272\365\341"
+"\306k\30\336\233f\357\332&\374\251\233\217\372\320P\334pi\232\322\265M"
+"\270\212\303Ux\267G\372\336f\0\220ie\24\77\236b<\361\247;\277y1~\206\317"
+"\246<\'\315d87e\2364\223\341\302\224E\322L\206KS\226\356\232M\2702e\325"
+"v\315@\377\276\324\276\247\370\237!1\226\270\303O\3353\276Z\24n\270hQ\374"
+"M8oQ\270\fo{\31\372\212\377\307\20\343\2107kW\365\3268\245\25\227\311\365"
+"\32\'\221\342\263\22\21Y\305\212\317|\273\235\77R\b!\204\20B\b!\204<\201"
+"o \17\372\275\f\210\276\210\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0\235IDATx\332\355\324\241\r\2A\24E\321-\0C\262\311\324\1\6\263"
+"\216\2(`%\202\4\267\2\203\242\4\64\5P\0\22I\320\254X\207\207\6H\206`x\210"
+"\235i\340\221\20\304=\376\346\213\231\377\213\2\0\0\374\302\352\36\367"
+"\301l\247\222\244\271\27\67\222$m\277\230,\35\254\372\222\352\316\211\7"
+"\357T\77J\243\36\306Tk\344\f\277\346z\346\324\307\\/\234z\227\353\245S"
+"\257s=q\352:\305\'\353\275\253>~y\37\65\334$\351\354.\330\346\251v\314"
+"\235\1\0\0\0\0\0\370g\37\22\227n\304\367\b\266\347\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\0\342IDATx\332\355\324\277\nAa\30\6\360"
+"\27e\321a\260\30%\243I\231L\314\312\3045\310-(\367 \334\204\277\t\263\221"
+"\f\\\200b\22eP\24\6y\f\234\350\234O\3371X\364\374\226\357\353\351}\352"
+"\253\363vD\210\210\210\350\277U\26\335\260*\217\366W5]\267\n\340\344\265"
+"\347\276+\200\272\246\f\0\350\330\363!\0\300I\31Ik\234\206\252\354\262"
+"\226ED\344\346Q\306\326i\267e\252\365H\327\201\3670\270{\234m\315\263c"
+"x*\275\262\262\231\3054\317\226F\316\274M\7\363\255\204\342\231\204\31"
+"\64\363\332\17\275\307\7{\7[b\234\325\335\213\341h\311\306\252\356\304"
+"\351\212\26\354\335\302\27\33^\334\27477E\365\224\353S\335\237M\305#\206"
+"\34\227\263Q\357\300\377\5\21\21\21\21\21\21\21\321\357\334\1\2056\261"
+"\220\252_\347O\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0"
+"\377IDATx\332\355\324\277+Eq\34\306\361wQ\226{\353\254\312M,6\224URv\263"
+"L\376\1\311\42)\223I)\203Id\262Xl\6\352\16\227\231\231\321 \331\fwC\217"
+"\341\3739\267\233\302gQ\206\347\265=\235\3479\247\363\243\3fff\366\7\6"
+"~86[\275\364\245\371\321\307\374i\267%\35\367\322\252\244\353\364\266-"
+"I\232\212t&IZ\371\322\31\374f{\77\1@\263\244\316\34\0\215\334u\237T\224"
+"t\27i,3\35z\215\366:\0\17\221\16\62\333\352-\332\'\0\215\347H\355\314v"
+"8\312:\5\30\351F\352d\266\255z{\4\60\376\21\3512\263m\326\333}\200\252"
+"\276\356y\3529\337F{\7\200\253\376;\370\325B\264\267\0\230\214t\230{\301"
+"\33\245\275V\322rI{\311\257rQ\222\264\24i\246\357mg\354\276\353\242\325"
+"K\233]\335L\373\337cfffffff\366o}\2\330\244\276\240Xf%\343\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0qIDATx\332\355\3221\n\200 "
+"\24\306q\215\240\255\335\323D\3215\274F\2350\310\213\270F\r\5\65\330\342"
+"\20\26\244k\375\177\313S\361{<A!\0\0\0\0\0\370\5yY\27e._\256\273c\331\37"
+"\216\233\321E\32\2520\333\272\4\265\17e\276\352\224\267\352 <\245\204\347"
+"`\257l\374\324V\335\332uf\215In\246\347\217\2\0\0\0\237v\2\273\250\260"
+"\373{\311\2445\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0"
+"]IDATx\332\355\322\261\r\2000\fD\3213)RDb\4\330\237\212\31\350\30\200\1"
+"@\f\200\204R\42\63CB\5\374\327\177\371\nK\0\0\0\0\0\374\202IRJ\301\212"
+"*\277r\226dS\337U\336\335V\363\7\263\33\2752\16\307r\306\326\212;\337\347"
+"q\340Y\1\0\0\200/\272\1\266/\16\242<\364G\343\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\0\324IDATx\332\355\2261\n\3020\24\206\323"
+"\350R\354\346\352\340*\42\n\202\336\244\36\251\7\351\3445\274M)\36@\220"
+"\376\35JqH^\372\22\355\42\3777\375\217\274\257C\222Gj\f!\204\20B\376\212"
+",\274\274\276\231\3733\361\323%\0\224in\16\0@\236$W\203\\%\311\315 7I\33"
+"\206\211&\33p\27N\210\220\367N\210\220ON\210\220/N\370\245\34\332\355n"
+"\\\204\215\2271\325e\277\231\252\200\274\361F\245|\360F\245|\366F\245|"
+"\365\306\270\231\n\314U\2469)\251m\246\243Z\211\205B\336\211\205B>\212"
+"\305\334\362V,\24\362K,\24\362C,4\264\237\33\326F_\201\242\36\335\272H"
+"z%\355\322\274;\376K\20B\b!\204\20B\310L\364\314\21Kq\342#\273j\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\327IDATx\332\355\226"
+"M\16\202@\fFG01\4vn9\213\307\300Sp%7\2548\212D\23\275\201k\21070\326\205"
+"\362c\230\316\264\243\354\276\267\241\r}\220\241e\300\30\0\0\0\0\200\236"
+"\225\373t\2646\217g\310u\263\212>T\231Z\356h\240\323\272%M(\355\213b\345"
+"\35\233\b\344\r\233\b\344\33\233\b\344+\233\374G\346I\247O;\325N\30y\313"
+"\242_f\333!\267\326P(7\326P(\37\255\241P>[C!\371\330\251\\\277\31\220\257"
+"j\251V\215w\246\0\3714\13\24r\343i\363r\362e\26(\210\3736\307!\233>y\212"
+"\234}n\235\357\224G>|\35\224$\357%\'a\363W\20\21\25\241_\311\355\336\324"
+"w\374K\0\0\0\0\0\0\0\0\317\13\2313i\2246\212\177|\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\0\331IDATx\332\355\226A\16\202@\fEG01"
+"\4vn9\213\307\300Sp%7\2548\212D\23\275\201k\21070\226\205\n\30\246L;\310"
+"\312\3776\264\220\7\31Z:\30\3\0\0\0\0\0\0\0\0\0\0\300\377\260\232\270\26"
+"\254\315\343\351s\323\244\2407E\242\226\33\352h\264nN\3rv]\366\323;6\21"
+"\310\33\66\21\31076\21\310W6\371\231\314\20\17\337v\254\3550\222ta0\247"
+"\2679\271\266\206B\271\262\206B\371h\r\205\362\331\32\nI\373J\245\372a"
+"@\202y\261H\251\372\'\223\207|\32\5\n\271r\227y!\3712\n\24\204\2372\207"
+">C\237\334\333\2_\347\332\365MM\311\207\257\203\222\350\265\344\310\257"
+"\3712\42\242\314w\227\334\356My\307\217\4\230E\13`si\224B\350\272m\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0"
+"\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\327IDATx\332\355"
+"\226M\16\202@\fFG01\4vn9\213\307\300Sp%7\2548\212D\23\275\201k\21070\326"
+"\205\362c\230\316\264\243\354\276\267\241\r}\220\241e\300\30\0\0\0\0\200"
+"\236\225\373t\2646\217g\310u\263\212>T\231Z\356h\240\323\272%M(\355\213"
+"b\345\35\233\b\344\r\233\b\344\33\233\b\344+\233\374G\346I\247O;\325N\30"
+"y\313\242_f\333!\267\326P(7\326P(\37\255\241P>[C!\371\330\251\\\277\31"
+"\220\257j\251V\215w\246\0\3714\13\24r\343i\363r\362e\26(\210\3736\307!"
+"\233>y\212\234}n\235\357\224G>|\35\224$\357%\'a\363W\20\21\25\241_\311"
+"\355\336\324w\374K\0\0\0\0\0\0\0\0\317\13\2313i\2246\212\177|\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^"
+"\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\376IDATx\332\355\225A"
+"\16\301`\20\205\253lDw\266\22\266\210\220H\364&\34\311A\254\34\203\333"
+"\2108\0\21\317\242)\255\2317\232\260|\337\242\231\371f\336\346o\3774I\204"
+"\20B\b!JZ\216\353o\222\375\345\213a\254\1`\35\33F\27\0\200nd(\333bu\33"
+"\31\312\251X=E\206\36\30\314\4l7\375\24\355\6\5\rO\33\24\64\274hP\320\360"
+"\252A\361\227\2609\301Gi\220RC\3030#\320\345\364\227[\365\31\36\230r\340"
+"\16\335\360\314\2243w\350\206\227\246\\\272C7\234\2332w\207\321\235\252"
+"\334\42k\350\351\303\314\300\267\377\371\252z\325&{=\334\261\t\217MS3\223"
+"0<7\267sA\307qx\356\33\32\36\231\246f\206a\370j\232\232\271\205\341\243"
+"ij\346\20\277\272\363\373{:3C\311v\345\346.c&\374K\246\235\344\376\370"
+"b\204\20B\b!\204\20B\24<\1\66\263\226\273\325C\347\271\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\bIDATx\332\355\225=\16\202@\20"
+"\205G1\32\3\235\255g\321[\350)\2107\262\261\362(\22M\364\6\332b\274\201"
+"q,\374c\231y+\211\332\230\367\25\60\363\336\276\220e\227E\204\20B\b!\177"
+"E\313\321\332\359_\336(.\331B\357,2\244@\216\372\344\210\24D\256\25f\42"
+"\42\263\252\222\327\346\27\266#\323\4\3128\32\356\231&P\272\321\360\336"
+"4\201r\210\206w\246\331A;\36\336>/ \\#\255\276\333LD$\253*i|\207\251\361"
+"\24\217n\177\262\267\353\341\322\224\245k\272\341\302\224\205k\272\341"
+"\225)W\256\351\2067\246\334\270\246\313\360\265.C\244\340\303@\215\245"
+"p\360W\227\352\365\234H\1\303\353\6\5\f\27\r\212\337\204\267\r\nH\362X"
+"\324\4+\370\320W\343(\32k\327\271l\360y\301\360<\270\371\n\244\177\233"
+"`\77\246`&\252\252\223\270\202\377\222\203\251,Oo\24B\b!\204\20B\b!_\340"
+"\n\263\247\323\3\2163\245\221\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\1\7IDATx\332\355\225;\16\3020\20D\227\217@\210t\264\234\5"
+"n\1\247\210\270\21\r\25G!\2\tn\0m\20\67@,\5\2778\273c,\1\25\363\212dw\306"
+"\243\310\261\343\210\20B\b!\204\20B\b!\204\20B\222h8Z\263-\347\313\33\305"
+"%[\350\235E\206\24\310Q\237\34\221\202\310\265\302LDdVU\362\332\374\302"
+"vd\232@\31G\303]\323\4J\'\32\336\233&P\16\321\360\3164;h\307\303\333\347"
+"\5\204k\364\253\3576\23\21\311\252J\77\276\303\324x\212G7\77\331\333\365"
+"pi\312\3225\335pa\312\3025\335\360\312\224+\327t\303\33Sn\\\323e\370Z\227"
+"!R\360a\240\306R8\370\253K\365zN\244\200\341uB\1\303EB\361\233\3606\241"
+"\200\264\36\213\332\302\n>\364\3258\212\306\332u.\23>/\30\236\7\67_\201"
+"\364n\23\354\305\24\314DUu\22W\360_r0\225\345\351\215B\376\210+\277U\323"
+"\3C\267\21\6\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0"
+"\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\b"
+"IDATx\332\355\225=\16\202@\20\205G1\32\3\235\255g\321[\350)\2107\262\261"
+"\362(\22M\364\6\332b\274\201q,\374c\231y+\211\332\230\367\25\60\363\336"
+"\276\220e\227E\204\20B\b!\177E\313\321\332\359_\336(.\331B\357,2\244@\216"
+"\372\344\210\24D\256\25f\42\42\263\252\222\327\346\27\266#\323\4\3128\32"
+"\356\231&P\272\321\360\3364\201r\210\206w\246\331A;\36\336>/ \\#\255\276"
+"\333LD$\253*i|\207\251\361\24\217n\177\262\267\353\341\322\224\245k\272"
+"\341\302\224\205k\272\341\225)W\256\351\2067\246\334\270\246\313\360\265"
+".C\244\340\303@\215\245p\360W\227\352\365\234H\1\303\353\6\5\f\27\r\212"
+"\337\204\267\r\nH\362X\324\4+\370\320W\343(\32k\327\271l\360y\301\360<"
+"\270\371\n\244\177\233`\77\246`&\252\252\223\270\202\377\222\203\251,O"
+"o\24B\b!\204\20B\b!_\340\n\263\247\323\3\2163\245\221\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1!IDATx\332c`\30\5\243`\24\214\202"
+"Q0\nF\301(\200\1f\274\262&\242/\3116y\373\377\377K\310\325[\363\377\377"
+"\377\377\261dj~\376\377\377\377\377\207\360(`\304#\367\237\201\201\201"
+"\341\77\23n\5L\204\254\307g:\23%Q5\252y8h\346\246D\263*A\25x\244\342 T"
+"\49\36\312\374\17\5\306\304\246{\343HSI.&F\6f>v\204\340\333\233_\3771\374"
+"\377\377\343\365\305\365\317\361\3306\343\77\1\320\212[\257\357\177\202"
+"\300\5g\200\251\22\16\t\r\234\232\367\23\326|\30\267T\324w\374\216\376"
+"\34\201\267\224\321\325\21agb`d\346\327w\207\213\255\271\376\345\37\3\303"
+"\277\237o\256^!6\236\25~Cl\273\301NN*\311\306\22\276D\3%\210f\3622\34\33"
+"A\315\4\13}|*F\313\260Q\315\243\232G5\217j\36\325<\252y\244i\376M\246\346"
+"\7\f\f\f\f\7\310tU\376\377\377\377\377\7\222\353\247\205\377\377\367\221"
+"\37\42\222\42\243\3#\243`\24\214\2\32\3\0Xi\273\17\246\200\260`\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213"
+"^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\226IDATx\332\355\225"
+"\77K\303@\24\300_\22\360D\301,Fp\21\21\n\35j:\324\222\311AP\34\244..U\320"
+"IDq\26\21]\35\335\375\0\216\2028\271\bZ\375\2\376\245\361\3H\221\326E-"
+"\265\26\362\34\22\315\342\335\13\27P\220\367[\2\271\367\313\273{w\367\2"
+"\3000\f\3030\f\363\205\245\34\35s\236\264\277|\202x\240\353\356 \42.j\312"
+"5D\304\13E\200\241\30C\0\0\64\345\1&\225^\365u3\315V\261\374\37\344\336"
+"4r\206\214P\f-\205\217\262\316\202\3260\242\220\364\334\27\346\213\203"
+"=\246\1V\237\210_>\77\64\3@|\257_\37\325\24\331\366\221`W\356\226\220d"
+"RZ\260\f]\211\254T>\243\345K\371\320BK=\351\327\262\262\313\214\346\372"
+"\205\t\206e\347\247\277\337\35V\337\2\200\240\335\270\277K\272\317\303"
+"\2350\233/tN\311\372\17\365M\314H(\353]\270.R&\233\276*\202{\30\313id\221"
+"F\36J#\227\302\307\214\316\202\334\250\365<\16$\276U\239G\30\6Xv>\376Q"
+"T\374\260\3517n\317U\331V\251\266\275\42w=\272\351\27\245\5\363\350JxR"
+"\371\212\226\25!\233\324\2547T\325\26\263\256#L\0\313v\3433R\365\233\1"
+"@\320\256\337\34\177$\334\347\361(\331KF\347\224l\205\362\234\326\235\311"
+"\246i\372\335\334\364Y\376\5\271\245)\373\0\0\247\232\263ZFD\234\322]\323"
+"\36v\266\377\250\234\f\3030I\370\4oYYv\24\336\312\344\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\320IDATx\332c`\30\5\243`\24\214"
+"\202Q0\nF\301(\30\5\243`\24\214\202Q0\nH\3\214x\344\244\354\225\231\37"
+"\36\276K\216\261\345\377\241\240\236d\255\266\377\221\200-iz\223\376\243"
+"\200\30R\364z\376G\3\366$\4\330\177\342\3241a\23\234\202)\324N\264\315"
+"\377\211T\210\315f\254\201kL\244fGl\232]\211\324\254\214M\263\32\221\232"
+"\261\6\42\13\221\n\357c\323\374\210H\315\7\261i>D\217\250bX\216)\264\232"
+"\350\244\315\365\37\3\360\21\2371\322\321\365\346\220\222\255zP\365\366"
+"\223\226\241\363\221\365\26\221Z\224H\354\202i\335-IF\1\310\24\343\254"
+"\314pw\337\222\277\243\325\304(\30\5\243`\24\214\202Q0\nF\1V\0\0\37b\215"
+"\331d\20\335\365\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\0\324IDATx\332\355\323=\16\1Q\24\206\341C\224X\3\243g1\202D\253PK\330"
+"\200BGb\13\242$b\rBL\324\22\245\370]\202\320|\212\311\235s\'sZ\321|ou\362"
+"d\316$7wF\2041\306\30c\2141\306\30c\2141\306~Y\375\b\\\273I\353\234\201"
+"S\323\260V\322\26\0\0\204\276m#[\31\266\366m\f\244\236\\:\233\30\66\365"
+"\226\21\278*\253e\f\313\211\210dED\2743\264S\203H\323\260F\274\\V\254\244"
+"\6\221\300\260R\274\374P\274\273\341\246\3660L\307\202\236\245\346\254"
+"\252V4,\257\357\2319\333\251m\234\315\r\233\371w\265\217\354\351\333%\262"
+"\203aa\362+\351\275\0\214\2226\4\360\31\244\355\335\347\37\311\30c\377"
+"\352\13\233m\306.\354`\33\30\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\3\242IDATx\332\355\230mh\226U\30\307\377\225\316\351L\335"
+"\232\260(\204\20\221\30\31~q8S&&\306\2220\302\266\225o%\25\301J+1\222\31"
+"D\5RQ\242\t\275\277C%\5\323\225/\330\42\315\4\'\3450\27\224:G\244\326j"
+")AZ\217\325\257\17\347~9\347>\317\330y\372R\304}}:\327\365\77\277\207s"
+"\237s\256s]\233\224[n\271\345\226[n\271\375\307m\344\77\5\227\357\6`\367"
+"\322\322\321\325\244vgi\350\250/\260\355\203R\330qgp\355\363\22\340#d\255"
+"=\230]\37\21\33\346Ooz;\32\207n\333x3\375u\343U\356\5\240\20\b\77\3\300"
+"s\211\277\7\200\3460\370,\300\351\324\37\3@g\20[\t@\253\25y\r\200 x\26"
+"\0\227Z\221\371\0\f\37\222\274P\252\226$\235\262\202\307$\305\361!\340"
+"B<Hl\264\2448>\4\334\'I\272\306\n\232\361@\320G\3\260\331\n\34\5\3701\354"
+"\250\366\3P\227\346&\0\33\303\340fs\303&F\356u\306\235\24x\305N\231\351"
+"\367K\322\250\247\215\363ahb\314\216s\351\353\317\276\215\207\325\301i"
+"\365\260\227\2227\25\237X>}\226\377\314\255\313\260\267\27#\'=\332\13\364"
+"\315\361\204%6\372\313L\237\254}\242\77R\237\367\305\341\317\306\350\371"
+"5\2368u\275\365N\265%\341\13\254)\3276L\2568sx\327\201\fY\267\364\266r"
+"\313\355\270!x+g\276\374\247\263\31\207n\t%\347\274\351n\343\321\266\313"
+"\3\311\306w]\362\253\3255\201\344\202v\227\354^Y\25H6ms\311\375w\217\16"
+"$\27}\344\222\237./\13$[>q\311\316\305\301\307r\3079\207\334\326TB\301"
+"\272\327\251U\13J+\263{\23rsc\311\345\375\rC\27657\230\30\226\16W\r\314"
+"(t\265\357\371\3777^\27\371\375\311\230\337\6+\220#*\377\372c\360\237\252"
+"y\274\27\200\35EN\271\365\0\0]w\r\302\276\232^\222\357\347\271\322Z\353"
+"\2\265\26A\353\3357\343IK\32{\330\221vx\354\334\354\323\375b\42U\377\232"
+"\221\2723\354\4\357\335\347\301X;\356I[\\\370\240\211\366=P7\245\271\3"
+"\247\364m\214\334u\263\257\272\376\245h\274\314fo6\261\25\321\13\377\203"
+"\365m5\316W\214\354\364\333\264\36\0\226$\'z6\355r6\0\260)\231\3721\0-"
+"\326\315\0\340\37540\17\2005\222\364;\300\317\251T\221m\323\26\2Pk-\345"
+"\4\300>I\23\275\263}%n\323\242&\350j\263vk\306VI\232\232H\326\242\242q"
+"Y\2WK\322I{\23z%\251\\\322\370A\332\264K\22\270 I\27\333p\342\24\274\4"
+"\62\322\371\4>\356\3013\342\265\364\232\202g\27\77I\322Oi\31\5\340\36+"
+"\373\0xG\3220\0\336\263\227\r\320\237m\344\254^\325\324\307\33%\251\13"
+"\200\372\364y7\177\25X\360\13\246\372f2\320n\323\256tZ\342\244k\223\244"
+"\252\250\245X$I\265;\215\267\312h\'IoL\325&\343lu\22\343\241\244\202\177"
+"Y\210\273\262Hj\210\245\357\272\7\342\34187\255\266xywY,\265y\222\327\227"
+"td&LI\245\3072\322\255\376;\364\210\255\357s\26\326bK\375\323\212=\200"
+"\23\2226\344\233\205Y\355\251\244\303\273\257h\37&I\215\365W\224\365\37"
+"\334~\242\330\3\3310\271\342t\317\256\236\374\277\f\271\345\226[n\377\242"
+"\375\r\7\200\1=#\202\243\204\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\1\67IDATx\332\355\326\77(Ea\34\306\3617W$\205\221\256\301"
+"&\212\24\67\233d0\30\344O\231(\331Y\r\222ALVR&eR\6#\213\341&\273A\fg\274"
+"\303\235\f\356\250\36\303\271\357\373{G\317\317\244\236\357r\352\324\247"
+"\367\355t\316y\177!(\245\224RJ)\245\324\77\350\350\361\274\352\244\253"
+"\0\360\352\263\373\0\0\214{\354Yi1\344\260Wm\373\341\260\267m\213Y\336"
+">D{\310\333\227h\357x\373\26\355;o\33\321\202\246\225V\262#\254\355O\24"
+"\213\254\35\66\273\313\3321\263\27\254\255\231}b\355\202\331&k\227\315"
+"\242\213\264+\231\235 \355df\267\331M\27f\237Y;\230-\274\366k\325Q^z\262"
+"[-\372\235\376\266\225oh\274\221\355{\206\326\307\231\346\277\343\23\303"
+"\5\257\17L\337\363z\317\364)\257wLo\205\277<\363\32\257\227L\367\361z."
+"\341O\307I3\235t\335\241G\223\276t\350\252\377\17\32B\30Hz\336\241;\277"
+"\242\256x\6\203\206\377\234\314\216\312n\227\256\227x\3127\16]\3\0z\235"
+"\203\330z\201\346\246FY\245\224Re\77\262\353\203\334\236I\tf\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316"
+"\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1;IDATx\332\355\326!HCQ\24\306"
+"\361\353\24\26\205\225\245\5\21D\f\42\202Ql\242\305\242\210 \33\263\251"
+"Y0\256\f\266iR\20\233\b\6\303\213[\320 \2100\301j\3232l\nV\r\32>\203\273"
+"\347\2742\361;m\343\374\323\203\307\217\373\36\227s\271!x\236\347y\236"
+"\347y\236\347\365G\345\346\345\242\325n\1@\313\210[\0\200\327\221\36\257"
+"3\177\342\217\20B\b\371\357\234e\345et+X\364]\324\223\26\35\61f\rxF\364"
+"\274Ao\212^2\350\232\350U\203n\212.\31\364\213\350\35\36g\4c\217\327S\252"
+"+\274^S}\300\353\212\352\23^\'\252\317y\375\254\372\202\306\303\212Q\243"
+"\365FJO\330\7\f8\374\317I\322\253\34\213\307R\317\327\354j\17\372\325O"
+"\254\255\246~9K\332\365\224\35%\355\264\322/v\335\254\332wzk\336\304vh"
+"{#\366\221\266\307b\333\264\335\26{E\333\5\261\tm\363b\317\370\31\370\214"
+"\366\210\267\367\321Vy[\217v\237\267\343\321\356\32\206\376\264k\213\226"
+"\23\343\366\327\256\230\216\233\6\0`\316v\225\32JL\333\353y\236\347\r`"
+"\77;\206rA&|\32\352\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\1\236IDATx\332\355\226\275K\303@\30\306\37\277p\21\272\210h\301A\24"
+"\252X\305A\35\34\234t\321A\4\251[\7\261\24\264\377\203\16:(\342\240\342"
+"$\352\77\240\270\371\1~N.\5\21\251B]\334,\264*8\210`}\34.\201&i\223K\5"
+"]\336\337\224<w\277$\227\313\275\27@\20\4A\20\4\341\377\251pi\353\13\7"
+"k^\323\327/\376\257:{O\203\257\365\240\77u\236\26\366\353\364\325\356\34"
+"\355Du\335I\26a\371\27.\271\242\365\314f\357\217\265\261\256\316\221\245"
+"\214y\36\323\220\215\361~\216\233\301@\332\260\33=\3359\325\361\2600[U"
+"\331\231\247\254\372\35Y\303E\225\366x\270q\222d\336\36_\220$\367<\344"
+"\33\222d\304\36\67\251[k=\2653\77&I\366Z\303J\353i\b\0\260\343\224\267"
+"\0\0\203\256r;\0\340\334)\253\250\303U\256\7\0<9\345lAs)Y\215\266\252\324"
+"\33\371v\2253\0\2006\247\326\0\0xv\225S\0\200a\247<\4\0\270-o\252\324W"
+"\22r\227\257H\2223\366\270U\353#\211\250^\265\2668I\222\334\324[\30\266"
+"\301mh\256\311\230a\27\336{[e\273\336\305 i,\375\204\31\214fYb\304\316"
+"\242\37x3\217\16N\36\363\315\203\321js\266N5\352P\177\361\2\30\327+\237"
+"E\355)\335\302\35H\332\325\367~\37\333\315\364\267\305]\360\271\321M\\"
+"\232f*Q\316\26\333\22n\254\314=\334\311\177\210 \b\202 \b\202 \b\177\303"
+"\17/\310}\213wtf\324\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2qIDATx\332c`\30\5\243`\24\214\202Q0\nF\301\200\3v\262u\n\355\376"
+"\377\377g*1\n\305X0\304\356\375\377\377\377\377\377`\374\32U\347\375\377"
+"\377\377\377\377\377\37\226\270!\13\373CD\357\340\325\273\341\77\2\274"
+"sF\210\317\200\212\341\321\252\373\37\25\30\301e\366AE8\20\212\231P\365"
+"j]B3,\5\316\342\203\322\\85_Ew\311\378\353\37\32\215\1\326\2419\372\377"
+"35\270\3346\250\20#\16\275\372P\371k\276\f\f\f|\366\3315\321H\16k!\20`"
+"\273 \322=X%\265!\222\33pi\206Ho\303!;\351\377\377\377\377\177\212\341"
+"\220\r\206h\26\304e\266\327\212\335uL\270$\347\374\377\377\377\377\377"
+"\23\304\247vd\223,\30\30\30\30\30V\221\227m~\375\377\377\377\377\177+\362"
+"4C\274,C\236\263!\340\7%\232\245\310\322\34\t\2150r|l\fK\317>Dkad``\340"
+"\n3\221\22\321\24\201\213}\77\377\344\316\376=(\312\202\254e\271Y\376}"
+"\272\265\25=\25\24\375\307\6\256\42\205\272\303\27\270\360~T\275!\377\261"
+"\203\265\b%\267\220\204\347\240h\256\301\241\371\26\\\5\7\2128Jh\357\373"
+"\215=4\266#b~/\356\250t\274\205\315\342yH*\4wc-\22\31\30\31\30\30\30\344"
+"\215\244D\264C\21\5\316\331\307w\17\243\272G\304\321!\221\23\302\264:\216"
+"\255\36\272\1\61\371\267\2\216X\335\364\37O\306q\201Hf\343J\22\322\370"
+"4Cs\225\22\201\\g\205/c<\301\251\371\13\341\\\365\13waAX3\236\302\202\22"
+"\315\f\243\232G5\217j\36\325<\260\232\31\tkf\42`\21\63>\2458[\217\f\374"
+"\350\362H\232\241u\224\t\1g\33a\225\203\366@\366\340\322[\b\355\364`zG"
+"\310n9\254\2\336\347%\214\251\223\327l*L\376~\254,\42\350R\316a\251\333"
+"O 5\2502\356`\312\177\235\300\303\300\300\220r\24G\233\4\336\257\231\200"
+"]\376\241\1\3\303%\34z\377_\200\371\b\227\202\251\302L\337q\205\17\254"
+"\1\373\357\17.\5\77\231_\261ia\227\313\271\te\374u\306*\177\252\350\r\3"
+"\3\203\303\2227\30Nz=\37\311H\227\215\3370\24\234\314\32\35M\30\5\243`"
+"\24\214\202!\7\0\326Ak \374\213C\244\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0x\b\0\0\0\0\213^\316\324\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2>IDATx\332c`\30\5\243`\24\214\202Q0\nF\301\260\2\214"
+"\330\205\205X\336\377F\21\60\222\341a\371\367\371\376%B\346\251\316\373"
+"\377\377\377\377\377\377\77/s\207\212\260,\377\17\3\325\370\365n\374\217"
+"\0\357\234\31\30\30\30\30\266\42\t\25\342\321\252\373\37\25\330200\310"
+"\241\210\340\326\253\215\246\367\377B\6\6\6\216\247\310\42\2\b\325L\250"
+"\232\257\240\233\366\223\201\201\341G6\262\210,.\213\327\241[\374B\207"
+"\201\201\201\201\2019m\315k\230\220\5\16\275\372P\371\273AL\f\fB\316\371"
+"u1\314\bI\235\347\20I+\34\232wC\244\247`\227\265\300\257\31\42\273\227"
+"\1\257\264\25\366\0\13\206P\221\2704\177G\27@\326\354\311\300\300\300\300"
+"p\356\25.\315\77\360i\206\204\343\n\234\211\340\37>\315j\f\f\f\f\f\307"
+"\211\317U\310\232Y\31\30\30\30\30\36\220\247\31\207\317H\321,E\226\346"
+"H\224\b#\r\30\303\22\257\17.\25o\320\23\t\13\3\3\3o\250\261\224\260\246"
+"\bLh\363\367\363O\356\354\337C\234\225\345\377\261\201\2532\204mf`\210"
+"\370\217\35\254%\254\231\211A\35W\201DLh\357\373\207]f;Q~v\272\215\315"
+"\325\363\210\13\355}\252\n\206R\42\332\241p\261mg\37\337=\374\233\244x"
+"f\277\1\261\362\267\2\321\361\214Ha\77s t\301\3r\222\30\264\230Qb \303"
+"f\30xBI\256\372E\211f\206Q\315\243\232G5\217j\36\226\232\31\tkf\42`\21"
+"\63>\245\20285\363\243\313#i\206\326Q&\4\234m\204Un\6\244\272\301\331\30"
+")\204\310\177\300\364\216\220\35\274\373\263\317K\30S\'\257\331T\230\374"
+"\375X9\204\277S\316a\251\333O 5\2502\356`Q\260\312\200\201\201!\345(\216"
+"\6M\nL\357\4\34\n\262\31\31.\341\220\372\177\1\346#\\\nn\3051}\'\3244\377"
+"\367\7\227\202\237\314\257\330\264\260\313\345\334\2042\376:c\225\377Y"
+"\270\212\201\201\301a\311\33\f\'\275\236\217d\244\313\306o\30\nn4\361\217"
+"\16\1\214\202Q0\nF\301P\3\0\324\36:\247\356b\206G\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\3nIDATx\332\355\230kHTQ\20\200g[\331"
+"\314,K\r\25\314\302\220\4)\263~U\232\177\f\321\242\b3]\242\300GE\21\5\21"
+"\224\77#\312\n\213-{A\77\354iY\30jBDE\2766\202X)\b3\21\212\325,\363\321"
+"\232\353c}\235~\2349\327\373\276\227\3\375\b\356\374\271\343\314\370\335"
+"\231\34393\347\n`\211%\226Xb\211%\226Xb\311\377.6\246\244D\320\247\267"
+"C-,8\225i\323\3\235\243Z\260\217\204\312@\234\2327\216\314J\240*^\203\261"
+"s\6C\232\355\6\fB|\33\65 \227X\304YC\6\351]\242\316\bj\302\200\351\fC\6"
+"\271\250\221HL\17\6\374\2106d\364\3315 i\223\30\361r\216\21\203$\213\234"
+"b\236\327\237I\225\370@\213|\13\330\334n\267\333\355\376\24\261\230\32"
+"^\267im\226\'\370\226\251T\255-\20\374\226F\34\24\331$Y\223\302v\314\356"
+"A\270\6c\374\231\322&\255|8\307\217\365W\3304 \304\210\1m\305\250l;b\376"
+"\274\310\377\2U.T.\254\345f\300\t7}:\36/\344fL\354\352\245\312\212\233"
+"\334\f\350\311\233\246\212s\37\67\3\32KPq%q3\240\254\232>C\252B\270\31"
+"\244\b{Y\322\25\245\323\241\334&j\f\30b\233\243\310\251\360a\313\364\31"
+"\344\266\250l\214\35\317\241\4\271\3639u\244\353#\362~\211\316\270\307"
+"!\353T\203\324\36\245G\b\275/m\24\227\245\356,j\375\252\207\210\361\310"
+"\232\315\314v\211\377\5\265^\323C\264\313\33\226tX\344\240q\2036\42\344"
+"\235\360\253\336\22\226QK\220\340O\366Q\323{\2354n\b=\367\220\3\22\376"
+"\310\207\305\326\337h\311\322F\244\2619U\33\t\0\260\207\r\213\315t\232"
+"\262NI\252u\322`\225\\\305\235w\27\177\376\231\235\275\277\274M(\263+B"
+"\33\261\tc\352X\37\fU\2560!\304\267J\'\215;\2707gGT\312\270\22\321\267"
+"N\7a\37\240A\347E\266\243\n\204\'^o{\255\301\250\225\342\211S\'%\214\236"
+"r\350\236\223B\32\326)=\246]\342\225p\305\32\34\327R\32X)[\350)F\250\311"
+"\237g\330\203p)e\203\264\351\214\320U\36\215\31\266\264\247\364u{\345K"
+"\335\310\22q\32\267\305z\32\231)\267\307\366\263\345Xn\266\237\216\310"
+"\r\335\5\330<\303*\203L\346\261Z\351)g\325\2346\311P\331\311s[\331\275"
+"$\335\354lPH\300\211W\n\373\275p^\6|9\214\312\322[\274\265\0\200\320\251"
+"\17\3603\26t c$\221\263\26\200\341\374\tl\271\17\347\3622\240\365$;\336"
+"\347xk\1\260\325\263\211\223\315\315\200\310\357\254\275Fs\326\2\320\277"
+"\33/HQ\267m\274\fh(E%\363\230\372\267\30@\375\26\0\08\356\25^\374F\336"
+"\6\32\360\16>\261\276U\37555\362\366\333\254\374\4\301\266M>\317W\257e"
+"\310\270\32o!*\211.u\3067\23KR{\35\225\342\\U\177\226q-\0\301\37\3209\270"
+"L\215\341\3502\301\200D\77z\233T\77\3072FL0\240\200\271w\bw4\221\367UR"
+"\2560\321\375\223\0\335\252\214\212\260h\0\b\214\202\307\372/\205%\226"
+"Xb\211%\377R\376\2\13}Q\t\7\360f\32\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\0\345IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5"
+"C\35\60\42s\fD\260\252\371\367\361\373\203o\304\32\270\345\77.\360\357"
+"\346\24\63J\315\370\377\377\377\377\355\2128\2641\21\357m\2173\326\24\233"
+"\301 \264U\235b3\30\370\27\63Ql\6\203i\b\301\270M\320\300\252SD\303\22"
+"f\325a;\262S\221\372\21h\334\374\225 \77)\262\357\207\32\22F~x\374\214"
+"\371\16a\30R\20\246O\27AheJ\342e\23\204\22\245\304\214\213\20\212\217\22"
+"\63\236C(VJ\314\370\207[\212\211\ne\320\250\31\243f\214\2321j\306\250\31"
+"\243f\214\2321j\306H5\203\5\231\343(B\270\353\20\nel\305\321;;\374\237"
+"x 7\32/t\213\333\31[\210\327\370at\214b\24\214\202Q0\nF\1m\1\0y]\216\257"
+"\272\373\271\342\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\1|IDATx\332\355\230\277KBQ\24\307\277\376\300\301\241,\n\r2\32\202@"
+"(\210j\214\232\42\212\42\2\247\240h\fZ\3\247\210\376\205\210\372\17\34"
+"\252!q7\24\32\202\206\226&\t\312\301(\311\42\212\6{\337\206\367\6\25\264"
+"\347=\22\b\3473\275w\356\273\37\336=\367<\16\367\1\212\242(\212\242(J\247"
+"\343i\20\37\36\251\276\263\312\245B\353\356\4\353(\36E\305\16\362u\266"
+"\301\263^\367\332\236\263\260\330\201\276\35\271\3\253mp\304\2-\355\355"
+"\334B\325\32\246\307\235\253\360\263y\25\3559[3$\250D\377K3\207\273|T\362"
+"\315F]\346\264\322\6\7\324\241\16u\250\243\303\35^\271\303\27\223;\246"
+"Br\307\232<i\276G\212{\324bT\376\36\227\24\367\333\31\212\35\236+\271c"
+"\235bG\357\223\334\221\244\330\261E\261c\342\223$\37n\4\65\66\230\n\2\300"
+"\356\227yq\365\337\221$S\310\31\257%rK\222,E\314\35\243y\222\244\265\4"
+"c\307J\331\236x\0SG\350\330\262\347]x\f\35\201\355\242S\22\331 \376r\370"
+"\353\3q\0\230\334\30pn\257\227\r\266\265\366\354\224\355\266\2439\363\32"
+";\237\177\27\66\16k\77\376\355\352D\320x\250\260\231\21\66\260\312\341"
+"X\306\364\23\261\223\367sZ\333\331Z\333\333\204\257\13\370H\336\327FO\322"
+"\0\2007\3751\241(\212\242\374\33\277\13\61.\0\372\32\332\355\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34"
+"\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0yIDATx\332\355\330\301\t"
+"\2030\24\200\341g\21\\\254\313\364\326\21\274v\2\307\362\332k\301\1\244"
+"\13<\17R\210 \242\245\24\204\357;\305\220\374\429\305\b\0\0\316\256*\306"
+"\327\3\373\236\303\372|\36p+\366]~\360-\32Ku1~l\254\2737\21\21\357\356"
+"\363\334\177\361\256133_\316ECCCCCCCCCC\303]l\347\272v\276\213\3711\1\300"
+"\337L\376\32:P\306$C\200\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0\307IDATx\332\355\226=\n\302@\20F\77E\33\321\302\42\210bai%"
+"\226\36@<\206}n`\355!r\b{\33\275@\332`e%\326\42B\260K\21\213\24\211\210"
+"\2320\261\b\276W\315\376\314cwg\27V\2\0\0\0\200\252SK\303\3610OBt=F\357"
+"G\2758\37\241\347<\'\326\213/\275\343\6S\253C\352o\35\263C\203\265\335"
+"\241e\333\356h\3152\215F\32\356\302\257\251Mg\321K\242\221\341>uOI\201"
+"]\303^n\233\327\276\302\347q.\301\21\227\340\20\216\177rd\336\234\346\222"
+"\244\273oq\354%I\207\tu\301\201\3\7\16\348p\340\250\356\277p%I\272|N\360"
+"\223Y\276\0\0\0~\313\3~\272E^GF\256\36\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\0\261IDATx\332c`\30\5\243`\24\214\202Q0\nF\301("
+"\30\5C\35\60\242\361\25T0\325|\377p\347\')fV\374\307\6\276/W\303\243\207"
+"\211(\2239\42\316:Rj\6\3\3\317\32Q\212\315`\20\312\247\334\f\206 *\230"
+"\241\316Al\334:x\240\tp;iAYr\217\311NALS\241\21,GA2d\271K\300\f\42\302"
+"\343\317~B.%\302!\277\250`\6\303\250\31\243f\214\2321j\306\250\31\243f"
+"\214\2321j\306\250\31\243f\214\2321\242\315`!B\315\206\207\f\f\f\f\f\37"
+"FG%F\301(\30\5\243`\24\320\23\0\0\r34\262\21\353X\234\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\212IDATx\332\355\330\277\r@@\30"
+"\207\341\37Q\253U&0\221\rl`\5\13\230Bi\b\235N4:\3(\251($\376\344\22!\271"
+"H.y\237JN\356\25\276B\220\0\0\0\340:\317\\\212\222\247\rc\377&\233\256"
+"OJs\203o\341^h\334\5\346RW\34\207a&I\32\252\363l\363\365\n\361>\317\232"
+"\271\320\240\341\\c\261\320\230y\2464h\320\240A\203\6\357}\346\362\362"
+"[\354b\312%I-\377#\0\0\377\333\0\270\2261UF\342\271\250\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\223IDATx\332\355\227\241\r\200"
+"0\20E\77\2041\30\0\313\22\354\302\6L\30208\34\222\1\20\314\200\242\n\4"
+"\65M(\264I\5$\357\231Ksw/iN\264\'\1\0\0\0\300\337\311l\254\312\370\336"
+"eu\317\375\21Og{\363\4w\301\341R\3308l\222\244\272\221$\215\323}\265\233"
+"\366\24\265\356\324\302\322\314\5\7\216/8\314s\223\tq\354\317\216\235\271"
+"\340\300\201\3\7\16\34\337p\244x\263S\374\35\330\305,\323\265\42\315\236"
+"\352\2274\0\0@BN\216\342V_\305U\336\305\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\1\370IDATx\332c`\30\5\243`\24\214\202Q0\nF\301"
+"(\30\5C\35\60B(\5\25\270\310\367/\367>cQ\310)\314\303\315\300\300\360\365"
+"\301\17\\FU\374G\2\177\367\352\240H\252\347/\271\360\1&\371\347B\253<\21"
+"f\374\377\377Z\20!\345~\354\77\32\370\335\303N\204\31\377C\341~\235\362"
+"\37\138\314\213\254\231\t\273\273D`\214\346ll\3226\313\30\t\233\1\3J\345"
+"\330\305}\342\2107#\205\5\207D\r\222\4\224yc5\224\257\241\213\242\324\5"
+"\306\370\177\347\361\247\337\f\374\\ZB\20\276\212\323.\6\2\221\234\t\345"
+"~\203\6\342\34i\230\273\375^CD\2462\20i\6/\324\210\371H*\374!B\347\211"
+"\r\17X2iE\22\333\374\206\201\201\201\201A\213\231\3300\205\200\227w\220"
+"8\377.20000\260I\220f\3063\24\336s\b%D\232\31_Qx\320\34\311O\232\31\4\300"
+"\250\31\250\200\5\177\244*30000\374\240\304\214\77\367F\343e\324\214Q3"
+"F\315\30\65c\324\fj\230\361\5\275a\200\t\270\240M5\234f|\200P\252x\314"
+"\220Ei\206`k\1CZl\367\31q\273\34\3320\344\300\251\202\367/D\205\'N\25\16"
+"P[\360\270\364\fD\3115.\\\35\236=\20\5+\360\230Q\5m\222n\343\306._\r\225"
+"\217\307c\206\344O\250\242[\376\314X\302s)T\366\253\0F_\f\tL\314\2037\42"
+"\367\\y\371\rI\206O\311\322\16f\356\224\\\274m\343G\377\t\203w\342\370"
+"\223\235\315W\202F\374\13!\224v\275\276\21\62\242\204p\6\60\275\203\327"
+"\210/\361\304\344\42\236\272\17\270\35\261F\211\310\274\310\223\262\365"
+"3\26\3\376^lQ\305\325\317\306\6\230\325\224%yY\221\363\343\207GW>\217\16"
+"M\214\202Q0\nF\301(\240\23\0\0\243k\313a\27:\333^\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\0\227IDATx\332\355\326!\16\3020\30\206"
+"\341ol!dj\369\275\4\201\304\356\6\273\300\324\216\2603p\13\16\61\205\345"
+"\34\270\n\22<\310\42&\333%\205\37Cx\37\371g}\223\256\25\225\0\0\0\360\353"
+"\262pT\355\203\321\363\341\356oe\17>\346:\256\315\r\357\317\305\302\202"
+"Uz\273\35\354\r\365_h\3546\366F\276\215\317#\377\311\35\203QWK\222J\313"
+"-\232\346\223i\354{\221h\320\240A\203\6\r\32\237(\222\276:]$I7\336\300"
+"\0\0\0\300\77z\1\25\265\77% \200\355\365\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\0\256IDATx\332c`\30\5\243`\24\214\202Q0\nF\301"
+"(\30\5C\35\60\42\261m8\210\327w\341\rv\361\207\377\211\7\336H\372\230\250"
+"\340\227Q3P\1\13\22{\272\0nu\26\366\f\f\f\f\f\273\316C\371w\311\260\253"
+"\2\22\245\231\243\3612j\306\250\31\243f\214\2321j\306\250\31\243f\214\232"
+"1j\306\250\31\243f\214\2321j\6-\373\267D\0\21%(\343\333\13\322\355*G\33"
+"\273\330B\206_>R!<\356R\301\214\23_(7\343\363D*D \333|\234a\312H\274)\6"
+"~\n<p\316\271\16\206Q0\nF\1\31\0\0/\343`sJ\213<\204\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\1AIDATx\332c`\30\5\243`\24\214\202Q"
+"0\nF\301(\30\5C\35\60\42sT\24p+\374\370\375\341gb\fl\377\217\27\334\235"
+"\347\313L\251\31\377\377\377\277\233\300\210\251\215\2114\257+\315\337"
+"%F\251\31\f\f.\307\25)6\203Ai\227\0\305f0\250\314\302\27\267\36\1685\362"
+"\363j\351\301#\305u\17\271II\254\356;4v\366S\220 \r_A\314\370\247D\201"
+"!\356P\207\344P\2225\366@\314XLI\274@5\253Rb\306Q\b%H\211\31\17\376300"
+"00pPb\306\237O\f\f\224\347\227Q3F\315\30\65c\324\214Q3F\315\30\65\203\346"
+"fpRn\6\37\33\3\3\3\3\303\177J\3140\204P\357)1\303\33\332\224\241 \364\304"
+"\336C\332t\225\344\33\301\261\17\332\266\324!\333\b\353\363P#\216\241\212"
+"\263 s\334\370q\352g\27Ps\320\205q\32\360Xt\351\77Q`\31\3\305f\\\346\243"
+"8\255_\367\374D\251\31\333l\2360P\346\227\'\330\372\225,$8\341\373\376"
+"\245k~\21\352g\'\211\3426\340\353\333;\27\177\215\216K\214\202Q0\nF\301"
+"(\240\37\0\0QW\16o\23\277\315\311\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1wIDATx\332c`\30\5\243`\24\214\202Q0\n\206/`D\346hq"
+"2000\374\272L\211\201\227\376\377\377\377\377\377CR\2651Q\301/X\314`\243"
+"\202\31\234\203\304/\303\311\f>*\230\301H\252\31,X\304\\\360\250\377\366"
+"\342\376\177\42\322:\1\360\264\32o\42<\375\237(\260\215\31Ox|$\316\377"
+"\236\371x\314xDd \26\60\3416\343\30\221f\310j\3406c\371\35\42\r\321\306"
+"\35\267_-R\364Y\360he\267\26\2060\4(H\325b\17!1\223IA~y\265\220\ny\356"
+"\333h\31\64j\306\250\31C\316\fn\312\315`\366\207\320\177(pu7\264\206q%"
+"\337\210\16\250\21/\330(6\342\177\f\345F\264SnD\17\345FtPnD\13\345F\324"
+"SnD\25\345F\224Ql\304\277\42\312\215\310\245\334\210L\312\215H\245\330"
+"\210\77\211\224\33\21K\266\21\2350#\42\3116\242\27j\304\257P\262\215h\205"
+"\32\3613\210l#\22`F\370\221m\204\340{\210\21_=\310/<c\241\256p\242\240"
+"~Q\205P\375\373(0\203\225\3506<\301:\212\210\336\35\13!\5m\322\260\316"
+"\327\311G$\207i;z\367)j`\352\375\377T0\343\21\25\314X\375\216r3\336\372"
+"<&gL\t\275\353\345\241\202\34\365\233\2571\214\202Q0\nF\301(\30\5\364\3"
+"\0L\177L\370\346j\327\344\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0\353IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5C\35\60B"
+"i\21\3bu\374\374\366\371\341O\2542\336\377I\0\277\17\207Pl\306\377\377"
+"\377\33\221\3642\221\31\6\325J\224\233\301\34@\271\31\f\332T0C\4\301d\201"
+"\322w;\241\fC7\6\6\6\6\206\203\'pi\26M\202x\6\217\371\231\220p\257\300"
+"\251@\27\242`\13\25\374\3020j\306\250\31\243f\214\2321j\306\250\31\243"
+"f\214\2321j\306\250\31\303\327\f\26\\-\352P\\:\344\b\233\361\35BEE\21\260"
+"\374\33\36\277<\'\322\3O\361\230q\362\17qf\34\304\'\271\204\250>\341M\26"
+"|f\210\336!\302\210\367\272\370])<\377\7\1\23~\256\220\307\326\317F\1\374"
+"\26\362\2028\255\370\367\361\336\351\217\243\3\24\243`\24\214\202Q0\nh"
+"\16\0\347!\360&^\373\367Y\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\272IDATx\332\355\230\77H\2Q\30\300\77S\352\22\61\42\223\206"
+"\b\372\263\326\222cAd\233C\201m-QKADCKMAS\253\224\263\201\2234\264\324"
+"\22\r\342P \6A\204D\4&\r\221\42\232\1773\375\32\336Y\307y\307;x\347\20"
+"|\277\345\356}\337\367~\367\336\273\343\376\1\20\4A\20\4A\20\377\35\13"
+"\333H3r\273\231\257\246\212\352\42\367\220\344\4\0\200r\356\271\256\253"
+"\32\301\77\32\361ee\377\255\213\254\42Y\271\364w\31p \342v+>\26\252\241"
+"\232\273iC\216O6t\353^\31\65\250\255\33q\340\42\0@\377\25j\323\3340\342"
+"\330\7\200\301{\324\343\333\253\354\254\263@.\200\276\353)\335S`\r9\24"
+"-\33\333\24\216\344\3668;\'\22XN\'Y\344=\361\232\7\0\0\207c\324c\227\313"
+"\206w\17\364\257\27\37\33l\20v\330\314\317\347\224#\355]M\313\263\311\364"
+"\360\35\23\25D\304\344\254:\77\20\227%K\334\365\200\200\4\0g\236\230:\236"
+"\365\227\330\316<w\34\217\210\210A\315\3\34\263\212(\327\201\210\30\266"
+"hVxY6i\304q\323\255]\341f\351\24\177=\240\270\362\245\235\370h\213\350"
+":\16_t\22h\330\361\26\60~\17\322s\234T\205\35\30\6aG2-\356x\0qG\326\4\7"
+"\232\340\0r\220\243\303\216\262\t\216:\255)9\310A\216\377\342\260\361\n"
+"\354>q\207+\242\35\317\2310\27\376\373i\201\353\210\211\277\303\224B\302"
+"si\254eD\35\211\205H\373w\366/\362\267X\364\266\25pn\266=\3\63\211\'\372"
+"AA\20\4At\234\37\213-Sznd\210\315\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\0\333IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5"
+"C\35\60b\210\330p \363>\276~\370\237tS\37\376G\5\257\347hSl\306\377\377"
+"\277;\231)6\343\377\377\265\314\224\233\361\277\205\nf\374R\301\243\203"
+"\2118\203Y\363I\212\333\n\1\4\233_\316\221\23\302z$O~\372\21\77\6\365\215"
+"\20\5\211P\376\17\304\fM\n\302\343\341e\b\315BI\230\276 \250\202\260\31"
+"\177\251`\6\303\250\31\243f\214\2321j\306\250\31\243f\214\2321j\306\250"
+"\31\243f\214\2321j\306\250\31H\200\205X\2052_\21\354\'\277H\264e\13f\317"
+"]w \302\343&\25lQ\373E\271_n\225R\301!\f\231\337\360\273\203\221\30Cd\223"
+"5Q\324\225<b\30\5\243`\24\220\7\0y\241\272\345\244\354\311\344\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214"
+"\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\313IDATx\332c`\30\5"
+"\243`\24\214\202Q0\nF\301(\30\5C\35\60b\25\225\321@\345\177\377p\373\27"
+"\251&g\376G\7\337\327\30Pl\306\377\377\277\223q\251f\42\332\\\226\331\256"
+"\24\233\301\300\330O\271\31\f\332\6\224\233\301`\210\303\227XE\317w\242"
+"ivc````\20\247$\25A\343\251\202\n~a\30\65c\324\214Q3F\315\30\65c\324\214"
+"Q3F\315\30\65c\324\214\221a\6f{]\322\6S\225\21\204\372G\254\31F\253pZ\370"
+"\216\n~\271E\271\31\37NRnF\337ObUz\377\307\1\366\262Q\32\267_;\274~\21"
+"\335\317V\16\301\242\354\363\335\243_F\7%F\301(\30\5\243`\24\320\25\0\0"
+"\352\341^3HFt\342\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\1\314IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5C\35\60B(\31\r\342"
+"\265\374\373\370\351\301o,\342\231\377I\2_\327\351#if\42\313\365\\\201"
+"\'=)5\203\201\201}>\'\305f0\210\373Sn\6\203\r\25\314P\200\263X \324\371"
+"N\6\6\6\6\345\20\bg\27^\315|\231\f\f\f\f\f\374\330e\275!17\r\277\3\344"
+" \252\16S\301/\f\243f\214\2321j\306\250\31\243f\214\2321b\315`\301\257"
+"\205\31\257\31\377\240\25;~3x \324_\354f|\206V\354\370\315\220\200P_\360"
+"\232\241\211\77\220\224!\324{\354f<\200P\2Zx\3150\205P\367\261\233\361"
+"\361\r\204\366\307k\206\23\204\272\201Cz\33\244\211s\235\21\217\21\346"
+"\320v\256\22\16\371*\250\2747\36\63\26A\224<\306%\257\3\65\343\42\63N#"
+"4\177C\224L\304\251\342\n\324\2202\234\t\354 T\205%N3\322\241*~Z\341P\320"
+"\6Up\34\267g9_B\325\274\302\36\277\5\260\236C \236\20\213\207)z\211\305"
+"\261L0W\374\77\202/\346\30\17\301\224\375\254dC\223\223\337\r\227\323\303"
+"\337\n~\13\357\351\334N\346D\222\320\352\373\6\227)\305\326\27CN\206\333"
+"\21\366\177\333w\366\361\'\6&~\36\t%\23y\204\222\245\261\377\t\24)Q\177"
+"\b\364\304\266\263\21.\227\302~\3405b5\33\61\205\233\355s\334&\374\256"
+"b$\262\243\265\26\227\21g\215\211/g]\367a3\341r8ie\270Z\371\366W(\6\\\351"
+"3\303\333\317\306\1\204\345$\4x\331\270\31\30>}\271s\343\375\350\250\304"
+"(\30\5\243`\24\214\2z\2\0_\335\235{\334\30\356\243\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0"
+"\0\4gAMA\0\1\206\2401\350\226_\0\0\1\211IDATx\332c`\30\5\243`\24\214\202"
+"Q0\nF\301(\30\5C\35\60\42\2302\32p\346\337O\237\37\374BQ\307a\3c}\373\371"
+"\342\371\77\\\306e\376G\6\77\266Y\42K\312!\313\275_\254A\224\31\377\377"
+"\377\366\306e\306\377\377_\354\221\344\230p{\223e\26+N9\356YLD\231\301"
+" e\207[N\315\22283\30\f\361\310\231\20i\206$\369\31$O#\230\347;\241\fN"
+"C[(\3!\371\t*)h\243\5\r\21B\251f\t$\364\247a\221b\336\211!\207\335/\33"
+"p\33\377w\t\206\20v3\276\343q\343;\42\315 \r\214\2321j\306\250\31\243f"
+"\214\2321j\306\250\31(\25\77\25\314\340\203\326\377\224\230!\5\241\276"
+"Pb\206&\204zC\211\31\320\6\341m\n\314PU\207\320W)0#\rB=\273K\276\31bP3"
+"\266S\20\267\23\240Q\273\214|32#!\364\265\375d\233\2215\31\312h\375OP\255"
+"7\3266\256\310\42X\327\3438#J\7\203h7(\245d\n\300\272Ri\377\261\232a\244"
+"\214$j\4\241\224C\241|^Q5sm\204t\336e\354\326L\373O4h\2428\337\376\257"
+"\253C\357p\221j\304\247\364\25\224\226\37\33\365WPV\6\375\337\351\34\360"
+"\0K\347\221h\3~\236\332\261\362.\366\16(\274\333\363\20\217\376\77\237"
+"_\335\273\371stTb\24\214\202Q0\nF\1=\1\0\242w\304\273\42{3x\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34"
+"\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1rIDATx\332c`\30\5\243`\24"
+"\214\202Q0\nF\301(\30\5C\35\60b\23dV\24\342\303\42\374\361\345#b\215\265"
+"Z\361\361\77\16\360\270E\210\30\23x\26\375\307\7^\330\21\66\202\377\314"
+"\177\374\340\2539\301\340\331\372\237\20x\300M\300\214\250\377\204A\25"
+"\1g\\%\302\214GLx\343\326\364\24\224\361\354\344\353o\77\221e\270\204\215"
+"4`l\263\323\370\334Q\n\261\351O\n\23\26I\333\373P\207\344\343\365\313\\"
+"\210\242\351\330e\325\277B\244\247\241\211\243Z(\2\241\326c7\343\346r\b"
+"-\212\327\ff\b\365\0\2073wC(N\274f@\301\17\34f\340\310.L\244d\320/T0\203"
+"a\324\214Q3F\315\240\256\31\177\241\205\'%f\274\203P\322\224\230\361\24"
+"B\371\220f\6\13\n\3572\204\312\343=\b)\312\236\37!=t\244\376\241VG[P\245"
+"u\261\212\242\371\345\331!*\304m7\25\314\330\272\232\ni,a\37\345f|s/~F"
+"\252\31,\350\2\177\372&\231h\212A9w\3113\203\201\341\317\211\23\243y\177"
+"\324\214Q3F\315\30\65c\324\214\2017\203\205\f=\\J0\326=\3225\353\242w\271"
+"\7(<\336Qc\344\347\5\25\3742\225\n\356`]\205\315\35\214$\232b\37\240\316"
+"\na}\377\301\300\20\3060\nF\301( \r\0\0\204\rV\21\214\274\230\327\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214"
+"\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\265IDATx\332c`\30\5"
+"\243`\24\214\202Q0\nF\301(\30\5C\35\60b\27\26P\340\341@\27\373\370\376"
+"\376_\242\315U\353\275\365\37+\370\262)\210\211(\23\370\246\377\376\217"
+"\33\2347\42\302\b\271\253\377\361\202\357a\4\215\20\271\375\237\0\370\343"
+"E\310\214\315\377\t\202\267\222\370\215\b\374O\4\230\217\77n\317\30C\31"
+"\327\316\275\375\201*%\244`\305\ra\375Qz\214\307\31zP\233nYb\223\25\232"
+"\13\225.\305\347\225J\210\232W\228\344\327B\344\367\3423c\rDM\31.y-\210"
+"\374{|f\234\205\250Q\307\251\340\21D\1\17\212 j\332\25\202P\267q\232q\17"
+"B\t\3421\3\302\373\370\17\247\31_\260\305&\23\25\362\376\250\31\243f\f"
+"U3x\230(1\343\33\3\3\3\3\3\263>%f<\205P-\314$\231\301\202\302\273\350\314"
+"\300\300\300\300\340u|\372\3257\260R\347\17\211\241\343\212Y\21\310\241"
+"(\330\202M\20\325/{\37P\36/\377*\251\20\267+\26Q!}\244\314\241\334\214"
+"\337\251\201\327I5\203\5Cd\303FKW]\txK\352\27\325\233oD\304\355h\3711j"
+"\6EfpP\301\fi\312]-\376\17\222\326y)pG\6\244\21\365\3553\371\3160\372\16"
+"q\306)\362\303#x\17\64H\217\340+\77\274\271p\32\300\257\342\251\7c\257"
+"\303g\323Cb\272\r\377/P\236\306p7\305\211w\307$\6\212\315X\304L\251\31"
+"\237\363\30\31(3\343v\2438\301~v&\37\36\13\336\77\275\374ht`b\24\214\202"
+"Q0\nF\1\335\0\0\234\310\17\374$*\211\257\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\1\305IDATx\332c`\30\5\243`\24\214\202Q0\nF\301"
+"(\30\5C\35\60\42\230.p\326\373\357\17\277\242+\344\260\2012\276\274\277"
+"\373\7\247q\377\221\300\337K\215\242\250\262r\b\311/+\314\2111\343\377"
+"\377\377\37\302q\231\361\377\377\277.f\242\314\370\377/\f\247\31\377\377"
+"O&\316\214\377\357\204p\233\361\337\21383\376\227\3431\343(\221f\34\305"
+"c\306\177\31\270\24\13BU\'\224\26\24\266\27\201\260\f\221\314\370\324\311"
+"\300\300\300\300/g\317\r\25\60z\2027\321p\254\205\332%\202)\'z\0*\227F"
+" \345I\377\205\250\223\303\42\'\376\35\42\227\t\27a\302j\306\323G\270\315"
+"\177\271\27]\204\t\207B<\216\274A\244\31\277\361\230\361\216H3\360\201"
+"\177T0\203a\324\f\252\233\301L\5\63\304!\324\7J\3140\202\346\7\n\314\220"
+"\263\200\244\264\13\24\230\321\2\t\217#\237\3107#.\26B/&\250\3620\256\362"
+"#\357\17D\346);\271f\230\354\205\225\246\321\f\344\230\301\244\225\177"
+"\f^ \257EV\314\202\327\250\314\17\fL\374\f\f\f\214\2\42rj|\b\361\313I\f"
+"D\273\3\7\270!Iq~9b\363\234B3\376\266;\275!J!n\277\34\66$\3262\34f\374"
+"\331\352\204E1\13\361\236xw|\333\306\247\f$\233\321\361\201\201\341\347"
+"7\6\6\206\177\37_\337{Db\300\35\306]W\216\226\311\243f\214\2321j\306\250"
+"\31\243f\214,3\360\327\267r\310\322o>\221U\337\242\200\314\1\b\217WT0\343"
+" \25\314\230\377\230r3>\373<\246<n/\251G[\360\241\n\335e\30\5\243`\24P"
+"\f\0\250\13\265\22M\16\200\255\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\246IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5C\35"
+"\60\42\261m8`\254\237\357\37\177DS\250!\3c\375~s\367\7N\363\36\376G\200"
+"\77\'BP%\247!I~],M\214\31\377\377\377\237\210\323\214\377\377\37\312\20"
+"g\306\377\20\334f\374_\213$\305\204\'\254\312\360\310\5H\21g\2061\77n9"
+"&;\342\314`\322\300#\251\211`\262 \tO\27``````\26\262W\206\b\b I\356\372"
+"\304\300\300\300\300 d\255\5\341\363\21H4<\317 \1\347\215E\216y#Dn\32\1"
+"\277|\331\207\333\374\277K0\375\214U\3413<\216\374\6\241\376\21\62\343"
+"/\341L\362\231\270x\301\168!\324WJ\314\200F\310s\42\315`\303&\250\0\241"
+"\356\23i\6/6A\13\6\6\6\6\206\377\27\2104C\2\213\230\274#\3\3\3\3\303\271"
+"w\204\314\370\5-w\260H\365AR\3662\202\341\226\rI\213\3670e* 2o\370\t\232"
+"a\1-%\34\321%J\240\22\331\204\343\217\371\rD\351)f\324D\335\13\65b\'#\21"
+"\211\240\37\252\270\13%el\206\212\336\26!&!\311}\207*\257C\210\251]\203"
+"\212=W!.56\302\n\316i0\357\270\276\203\31\241Ad\212f;\n3d9+$\252~C\371"
+"w\225\210\316\26\242\347`\206l\342```\235\16\343\235\24#!o\t\354\205i\333"
+"\315-\264\17\356*N\2222(\333\2\230\306\343w\240\214\277\25\214$\346r\306"
+"\206\177\250\25\323\7o2j\364\204\237\310F\334\324$\253Y\340\374\1a\304"
+"\16A2\333\26:\360J\370\16\7\331\r\24\311\2630Cv\361\223m\b\317V\230!\227"
+"d\3116\204\31\336lxjH~\203\253\f\26\307\237=\3107$\f\226\215\177\305\222"
+"o\2105\264P\372\377/\205|CTa\311\375O4\371\206\210\34\203\32\362\323\226"
+"|C8a%\341+\362\243\230\201m5\324\220=\214\24\30\262\23jH\6\5\rs\336\253"
+"P\337\360S`\210&4\235\224P\322E\250\303Y\211\222\320\200\371\b1D\227p\233"
+"\16\'\370\264\3Z\254P`\6\3035h\201@\211\31\320\302\354\r%f\230C\250;\310"
+"b\310\355u\21G\202FH900000|\277\216K\201\315\177b\301~\6J\374\2\1;\251"
+"`\306F\312\315\270x\235r3\3463Pl\306\227\205\250|\344\270}PA\234\31\267"
+"\77\214\216O\214\202Q0\nF\301(\240=\0\0\205$%\241\341\236/&\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34"
+"\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\353IDATx\332c`\30\5\243"
+"`\24\214\202Q0\nF\301(\30\5C\35\60\42\261\5L\b\251\376\373\356\356\27\374"
+"*l\376\23\6\177\366\6\63Rj\306\377\377\377\17)\240\351c\42\335\373\266"
+"\247\215)6\203Ad\273\n\305f0\210\256c\245\330\f\6\335<\\q\253\220\201_"
+"\'\37\227\2261\324\316\347r\177\310NN*G\241\221\343DA\232\24z\17\61\243"
+"\212\202\360x\267\22BKR\22\246g!\24\63%f\274\302\24\42\331\214\77T0\203"
+"a\360\232\301\202\226\24E\30\30\30\30\30\336|\242\300\35\321w\357\336\275"
+"{\367n\364\220\f\217\21m\6\264\24\374A\211\31\320\342\370&%f\270@\250\3"
+"\24\230\341\347\306\300\300\300\300p\235\2w\350-\207\24\342s\311\17S\231"
+"\255\\\f\f\f\f\fog\223m\6\327Z\31\b\243\374\23\271f0.5\2030\26\316%;}\264"
+"\5@\350\223\351d\247\261\204\n\b\3754\370\'\271f8\315\204\246\320\340\247"
+"\344\246u\225\25l\20F\372Ir\363\213\300vQ\b\243o\21\271y\216m-4\237\354"
+"*#;\337N\205\326\363w\302\377\222kFE\n\204\376\350\377\201\334\362\303"
+"\257\5B\377\213\275Fn\31\244\273\34Z\313\327m&\267\34\23\336\4\311h\f+"
+"\333\310-\13\31\27@\333\264\347\223\376\223kF\204\17\204~\355\377\215\354"
+"2\271\22B\375\n~Lv\271.\241\13\241k\16\223_7\310A\250{}\24\324/\320\234"
+"v\340/\345u\324O\372\266\203p\2\367\350_\320\214\373\221l3\224\226\300"
+"j\230\313C\267\355\360\231\nf\334\375M\271\31_\226S!n\323/\210\303z\331"
+"\237\30\30\30^\220c\306\217\376\321\266\345\250\31\243f`\216\177000\310"
+"h00000\334x\3020\nF\301(\300\0\0AG\273/9ZT:\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\0\327IDATx\332c`\30\5\243`\24\214\202Q0\n"
+"F\301(\30\5C\35\60\302Y\32\62\370\324\375\375\370\360-a\323\246\375\'\0"
+"nw)Rl\306\377\377\77;8\260\351d\42\305\343l\345G$)5\203\201\301x\237(\305"
+"f0h\254d\246\330\f\6\307\34<q\33`\201[#\263\220\232%\314\376\367J\37\310"
+"MH2\363a\261SBAr\254\202\232q\211\2224\275\16j\210,\5f\250\376\205\230"
+"\21JA\274\334>\16\65\213\222\270\335\7\241\204)1\343\32\204\342\244\304"
+"\214\227\330\205I2\3437\25\314`\30\65c\324\214Q3F\315\30\65c\324\214Q3"
+"F\315\30\65c\324\214\301o\6\13)\212\37T00000\234\37\35\236\30\5\243`\24"
+"\214\202Q@\7\0\0\231\373yh\362\274\33\371\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\1\266IDATx\332\355\230\277K\2a\30\307\277\225"
+"f\366\213\33\64\314\242\206hJ\333*\20\301\245\206\226B\42\202h\350/h\210"
+"\250\226\20\332]\203\32j\252-p\20\202\222\226\26\323\251\300\241P(h0\242"
+"B\323$Hmx\316+{\317\363\216\240\b\236\317\362}\337;\337\317\275\367<\313"
+"\275\2\f\3030\f\3030\314\177\247\341\353D\352\265\264\233\1\0\321\34\0"
+"\300\341\2\0$o\350\276\313\1\0\310\26\363\267\5U\233u\343\272\254\340\246"
+"k\3634[\227\177\262\257\334/\306\374\237+M\312 \3421\260\375\306\221\303"
+"\251\2602\251\f\26=\6\213\260\n\301\3417Z\311Q\223\340p\31uX\354\202\243"
+"\313pK%\241\246-\0\200\3141\3152\252\253\316\251\361c}\325K\25\250g\227"
+"\325\27\277\365\266\272\305n\341]~\0;\330\301\16v\260\203\35\354`\307\37"
+";Z\365\254\261j;\34z\34\266Z\216\27\0@[\217\16\307\0ENp\244)\274\365\25"
+"\335N\312\254\340\270\242\230\256\357\30\247x}\24\34q\212\231\372/\263"
+"@\221\20\353\21\241h\16\326Sx\'(c\242#zG9\267\254\255\260\357\312\307\246"
+"#\321Q\332\221\7\301-IC1t:H\203\207\23\225\263\230-\325)\217\262\241\370"
+"\275\274\357%\0\300AH\376\270w\372&+_\351\233\1\265G\254\224\r\220V\337"
+"l\323\231~E\251\326\221\311\221\322\355\b\324,X\177B\237\341}M\243\352"
+"\35\333%\35\212\204O\273\375\303{\317\332\202Bx\266Q\353\234\r\0\60\273"
+"]\222\265\306\23\362O\311\2137\376s\202a\30\206\371\25>\0\267\202Z\351"
+"\260^\365,\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0C\0\0"
+"\0x\b\0\0\0\0\214\34\20\301\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\372"
+"IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5C\35\60\302\30\32\62D\251"
+"\177\377\364\5n\311i\377\211\4\367\332%)6\343\377\377\257\305\214(Z\231"
+"\310\360\77W\317J6J\315``\b\235K\271\31\f1)\224\233\301\320\316\203`\263"
+"\300\30\273>Ah\276L\6\6\6\6\206\'K\261\351d\22\267S\200\260Dbf\340\266"
+"@\16\22\366\207qH\263\224\374\203(\330\316@\266\31\f\f\23!\n\236Sb\206"
+"\24\304!\177)\t\323g\217\3205\222\21/\2370B\232\n\371v\324\214Q3F\315\30"
+"\65c\324\214Q3F\315\30\65c\324\214\241o\6\254\275\256\241\13e\210\220o"
+"F@;\252\370w*\370\3459\25\3148F\271\31\37WRl\306\337\224\17\224\232q\326"
+"u\r9\361r\240\2&\362\355\355\351\333x\265L\20\35\35\236\30\5\243`\24\214"
+"\202Q@\7\0\0RT\236\323C\2211X\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\204IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\214"
+"\202\21\17\30q\312\310\330Y\350\313\262\277\273u\346\350!\22\315T\230\372"
+"\37\t\334\216&A\253\312\301\377\350\240\230X\275\355\377\261\1+b\264r\336"
+"\376\217\35T\22\326+\364\37\'\230MP\363\177<`\42\1\275\207\360i\376\37"
+"\217Wo\362\177\374@\214\\G\377\377\377\377\3776<z\313\ti\376\257\210;y"
+"\376G5k\313\236\27\274&\351(B33pY\254\212bI\tT\324\32E\24\247\253\13\220"
+"U\231a\17\t\21\\\232\267 )*B\22\367F\22w\304\245\3719.\347!\211\307\42"
+"\t3!\253\221@0/\242h\276\211`\362\340\322\214\4\256\243\360\36\42\230\77"
+"qi~\202`\n\243h\26@0\337\340\362\363z\42\374\254\213\313\346\375Hl\r$\266"
+"$\22\373*.\2335\220l\270\206$\276\6!\374\227\270|\261\f.Z\202$\332\205"
+"[\363d\224\224\230\302\307\300\300\300\352{\17g\306@\5\222\2042\325\r|"
+"\371y%\1\315v\3704\363\343\327{\30\177\31\226\210W\263(\201\22p)\36\275"
+"\301\4\313\336c8\365V\20Qe\354\302\241\267\232\250\272\252\r\253\336H\42"
+"k:\253_\30Z\257\310\22_\311&\240j}\355CZ\365n<\3\246\363\327\4-\222\233"
+"\25\f\f\f\262\42\354\77_\77\31m{\215\202Q0\n\6-\0\0F\344\353\350O\376\226"
+")\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0"
+"\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\274IDATx\332\355WM"
+"HTQ\24\376\232y\217\2064Fm\252\205FT4P\2468\6\222\5\42Xf\264\350G+L\220"
+"\22Q\202(kU0\2700\372\301~\240\255QP-\264E\13\245Hh!\201\256L\304\225\4"
+"IV\23\375\250\244\22\3713\352iq\357\33\357}s\337\314\233Y\265\270\337\346"
+"\234{\356\367\335{\347\234s\337{\3hhhhhhhhhh\0\0\366\r\322r[\232\332-D"
+"D\324\236\236\370\n\21\21Qb\222\307!^\314LFZ\342,f|i\211]aM\314;S\261\356"
+"\343\207\361\237\323\363+\0\202#,\370&l\32\246a\230>\177\356\216\335\271"
+"\221\316\7\352U\332\310\r\356)w\366,\247zR\3417\7\\\376LS\265\222w\311"
+"\225v\326/\216\274\334\322\306\22\67\342\203_\324\361\33\311\2225\332\325"
+"\230\355\234\0\317\246\254L\237i\30\246a\34\255g\241\317\327\227V\242s"
+"\2633\323\223K\311\262\'\200wu`\n\0\220Sf\16\216\273o\36~\324\r\0\200\n"
+"\42\242\272\224\305\265\0\260\227\371\236T\305\24\215F\243\334\355r\253"
+"\r+\363\375\262\314M5\'\34\353\325\224D\272g4Q\265\347\213\23i\37\'k\226"
+"\6\347\23\273\270\227NG\277k\343\215\35\252z\24\257\336\257\324\366\333"
+"i\371@)w\37>_\r\253\264\237b\263=\334\26\0\303\314;\17\240\311\232\276"
+"\24\257\35\261\346\336\372\321\307\274B\204\304\315\274\21\247\255;,\355"
+"Y\0\335\314-\3018sZ\344\316\313\267i+-\355.\0x\301\374\372F\333V\325l\330"
+"\352\320\315\333\305c\f\361\340E\33\355\275\254=\305iUlxK\316z\\b\3447"
+"\306M\376\224\357evBZ\371\310\252;\240z\335\354d\246\231\17\177\213\332"
+"\236\336U\377\207B\34b\346\373W>\236\21\305\307\5\337\257\20oc\346\211"
+"\25\317\248!\261\254\7\24\315U\307\362`\235\32\302\215\256Q\25E\212U\361"
+"\266d\243\6!\321\27$\336e\26\354\226\202y\234\372\354pe\313;\261H\327$"
+"\332V\36=\251\356\21;$R\201\303\265\272\255\326.\212\234v+z\307&^\253\26"
+"/\304\b\345\235\t\356\363i\245\3705\200\234\232\373}R\2604\276Z\315\22"
+"\341\33\63E\300\t\373\202\325\252\7I\301\2005=\331\272\31A\42\242s\200"
+"i\327\226;\274%\275\241<sn*\302z4xu\361\351\20P4,Q^\325\376I\341c\253P"
+"\334\265\2778\305O\265\230\362o8\200TQ\266@D\277:\216e\244\367\231\230"
+"\275^\377\377\320\320\320\370/\361\17\21\235\207y\340.a\31\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\204IDATx\332\355X]HTA\24\376\\-"
+"\3354\242\262\77\354O\2152\223\f\351\317\362A*\322~\260,\2550$5\f\262_"
+"\262\207|\252\336\202\224\n\222\260\207\3760\211\n\263\77(L*\214\242\214"
+"\25005\37\62+\320\7\211r\301\212r\247\207=s\357\314\235{\357\336]\337j"
+"\317\313\234\371\316\371f\356\2349svf\201\220\204$$!\31\252\204Y\340yY"
+"\211\335M\265\301\215y\2121\306\330\315\240\270\361\314\'Y\366n.St.\265"
+"\351\301\220c\251\235\24\f\331\241\374\217d=\303\342\242u\364M\24)\231"
+"=\222\367\327>\323A\2161G2\260\324\204\273\2179\225p\225\334\341\230\234"
+"\241\6l\226\343 M\37J\264\7T\362\35\307\3446\25Z\354t\3117D\26\5\357\313"
+"\355\310\261\321^M\364\305\374\361\212\322zz\227\377o\253\243y:5d\304\270"
+"\321\341\16\323\263\211\332\207\34\330\\\377\276\345\3444gQ\331N3\327P"
+"\277\2341\306\330\217\330\240\16F%\0 jK0d>cR@\344d_\223\303Co0G\230\222"
+"R\251\315\370\344\31\26\36\21\65\236\272n\'\237\231g\225\42i~\251\273m"
+"\22\254}\241-u\271\237\374l\260\371\366\363\376\323;\333\202:\321\343\344"
+"pT\230r\323\34\36\255*\23n\206\343ZtT\341\3167\361J\231\20\227\372\306"
+"\4\67&\352d\23\237\32\0\270L\235\rs^\351\2268\231\354\325\f\275I\27D2\351"
+"\37\0\224h>\255\22\267A\303\217\3\305\2y\17\351\205\0\260H\363\312\23\270"
+"[5\264\b@\1\351g\365\211\231\317o\t\223\373\0\340\226C\221O\235s@.\251"
+"u\344\271\213;\256\323\310W8\264\37\0\260\236z\265@\77\251\332Y\3564\326"
+"\267d\316\275\346\353\257\326\n\355\n\322>C\361\35E@\263a!\374t<\n\353"
+"%-G_\342[\202v\370\272\t\234\273\22rXz\16\251\341\301Z\202\236\311GI\333"
+"\274y\306l)\25wU\36\220\367\264\223>\303H\226R\3429\2011.\0\313\b\374\365"
+"\202\233=\206\324\225\177d\256R\233\0\0\27i\244\203\2329\322nb\244\213"
+"7S\3562E]\226O\266\31\3128\301\233\302\0\60\365\356-\3155h\254\317d-t\1"
+"S\t\352\25\314\322\rj\225E\321\372\355\2xI\357\20\360\307\202\376\262\321"
+"\202\354q\1#\370@\2\376Z\320\363\255*m\257K\377\5\212\27\3605\272Z\365"
+"Qy\7P\333\5`\246\262!c\356Zn\23\0\34\24,.\356\226I\306#\3426]R\311dy*o"
+"*\0`\207I\r\224\244\234,\5\302;\2101\306\16\227(\77\67\375F\356\2y=\t\266"
+"\5>\332\360\360\341\370\31\2\36\330\221\223%n\256\206\217\344/ ;\362D\221"
+"{I\203\367\332]\5\32\251\255\24\250z\315gO\4\270\330@\2755\222\212}\271"
+"\356S*\330\177Z\337\\\333\27\0\300\316\357\337\252\264\363\224rNt\30\214"
+"1lA\361W\262\\OU\356\304\325\362w\265E\250\357g\367\374i\356\276w\2352"
+"1qc\321l\303X\'\168|9\325+\221\374\235\356\364^_\255p\313\234\277(\214"
+"\324=\201<G$fKV`o\31\235\331]\346F\200R\341c\336\337<<\220\277:\270\24"
+"e{\233\357u\205\376\22\nIHB\362\17\312_\77\226\246x\225\23\375v\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\315IDATx\332\355\226\277/\203"
+"A\30\307\37-\215\26\351 \21\42\322\205\250\20b\2614\6\223\246\203\1\221"
+"\n1h\350\300&\351\324\177@be\360#\42\226N\6\23\6!\26\342GX\211\244L\242"
+"\f\32\204t\370\32\356\256\336\36y\337{o\222\270\357r\337{r\237\273\367"
+"}\356\336{^\42##########\243\77)/o\353\253\336t\247H\2\300\270\36\333\7"
+"\0@\267[\316CD4\314\374\200\26\334\305|\273\26\34`\336\257\5\353\252\234"
+"\210\b\252\23\65\205s\227r\354\230e{\327\1\215d\1\354\311\321C\6\37\330"
+"\263\255l\324\216\364\316\237\314W\332\303q\326\364O\225\302\5\346+\354"
+"\341;\336.\2074\340\2140\347\277=\266\317\36\376\210rS\273`\r\257\263T"
+"\334;\355\324\n\270z,\301E\26\3129\356\263\200\337-\217\375\312|\265#\34"
+"\343\255\77\361\35K\363\t\235\17\344\t\254C=DDy\345\323\34\27f\246\30\232"
+"T^\231V!\217\35Q\207}\2N\26\363\240\16SJ^\272\227\367\275*\264\200\203"
+"<a/<\36T\201Gy[#\276q>Y\13\251/\375$\266\352\231\207\353\224`\366IF\345"
+"\367\30\343Ud:\25\266\243\327\200\333\320\217$\314\263\336\r\200Y;\272"
+"\255\321\332\3132\370\224\210\210\226\0\0\203\312\247n\323\262w\235\314"
+"\26\224\357\355#\336\13\23\321\25\277\223\225K@\7_y\233h\37.\216[\351\261"
+"\311\13\2039u\370\f\222.\\T\235!\31vU\364$6\342\252\340M\224\260I\227\345"
+"r\313\302\246]\27\333L\221Mh\224\352\3305\0`\243A\231(+\3515\7\36\37\314"
+"\277\251\221\221\321\77\321\27\322\376o\321\274]_\177\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\1\364IDATx\332\355\227\301+\304A\24\307"
+"\247\225-\7V\22\253\315\205\224-\27\34\67,E\262\7\245\260\211\310A{\344"
+"\270\371\7$)%%\311\301^\34\224\303\236\24e\221\203\203\263M\273.\24K\355"
+"A!\345\3530\357\267\273\277\337F3o/j\347{y\277\267\275\317\316\314\373"
+"\375\346\315\33!\214\214\214\214\214\214\376\267*\204\20B\264\7\33\356"
+"\271\3770\n\0\261Z\36\234\4\0d\334,\30R\321R\340\313R\340\']\316U\312\253"
+"*\78\222J\316p\263\275\7\0\313<xLF\r\260\340\13\nsq\326\\E\366\2003r\204"
+"\302\20\340$\354\221\342\262\34\270\301\32z\234\2631&-\232\265\253\342"
+"\24\31\342\300n\212\274c\355\347\5\nmf\25\3\n]c\301SE)\323)C\24\333\312"
+"\332\317\273\322L\260F\16\310\330[\'\234\321)\265\316iW\352L\277\311\1"
+"W)Q\247\322\370\35\260\332Yu#M\33\253z\246\244ia\301/\322xY\360\2334\325"
+",\3703\377jl\260R\306\276~91\352T\340Wi\36,\230|Q\257\324\203H\223\260"
+"\374\23\372\344\6\225\26\275\b\0g9w\225\340\210Z\312\372\327w\346\362^"
+"\230\340\355\334/^\365\354\373a\337g\276\4\236Gt;\32\253\270\34\1@P\25"
+"\376&\330#[\312\342\312\376Wg\20#\257W\246@:!E\370\220<y\bQ\'\330\2508"
+"mw\341\242\353\350\271Gy\237\21\320-\204X\201\352\232IQ\2\342\371\324_"
+")\303^k\336>\261DOa\365\357\344\231\220\3644tg-\304<\34:g\264\3159\365"
+"\351\300\33v6\253U\232<vxX\257\260m\26\262i\335\33V!\334\245[Sg\363\354"
+"\276~\357}\f\306;\316\351\203\330N\16\\\363\16\0\30b\336\32\266\200\353"
+"\16s=722*\13\375\0Y_2\21&\342\370\372\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\1\266IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5#\13"
+"\60b\210\250\313\374\377\360\365\307\317\337\277\376\374\371M\252a\33\376"
+"\343\2s\271\bi.\373\217\33l&\244\371\b\36\315\377\205\321\24\63\241\361"
+"\377\3423Y\210\200\346\365\3704\277 \344\356\325\270]=\223pT\31\331\353"
+"\253\251\210b\232zwN\307\260M\236\310@@\210\217\233\235\231\341\367\267"
+"wO~\20\253\231MAI]\317X\37U\360\302\234\305\237\360;D\312\271x\315\33\234"
+"q\265I\n\267\316\204\273\377\t\201$\\z\253\377\23\1\312\261\353e\375O\24"
+"\360\305\252Y\2138\315\377\261f\fV\42#\267\34[T\361\242G\304\275\213\327"
+"\37\274\374\360\365\307_f\16\21uO\17\374\261\333\7u\327\267m\265\1\272"
+"|\30\322\5\60w\253auP\364\244\376\4c^\234\356\215\201j.!+)C5\37 K\363l"
+"\364\360f\42A\363Y\6\2e\30>\360\205\22\315\302\224h6\206P\17\311\n\260"
+"O\320j\207\34\233\331\240I`+9\26gAc\212\203\2024r\207\34\275\275P\315\241"
+"d\350M\303\222\237\211\5M0\275a$k\225\272\16\323{\212d\275\35\210BH\200"
+"D\255\305H\5\230-I:\5;\220\13\77RBZ8\371:J\301\31H\\E\247\251\42\255im"
+"\214&hz\206\30\33\35\261\225\327\273\210+\233\261\326\35\201Dz\325\26S"
+"+\361%\246\37\232\316\357\311$\4\262.\212\326I\32\244%\213\3350\215\373"
+"2\244Hn\223\260\325\3301\237;\177\345\312\217\321.\305(\30\5\243`\30\3"
+"\0\365\372H)\f\253{\b\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\2\60IDATx\332c`\30\5\243`\24\214\202Q0\224\0#\246\220\254\30\63\66\225"
+"\357\356\20\66\315\364\363\177\\ \206\240\346\237\377q\3\r4\265Lh|M6<\6"
+"\273\22\320,\215\317U\252\4\64\177\302\247\371\35\1\3157\360i>N(\300\252"
+"q\207\327F\302\361\354\356\255\301\202\315\324\207{\227\214f\213A\13d\22"
+"\226<\204\306\361\353\215y\32$\350\264_\212\221J:\271\211\322\351\274\36"
+"{\42\313!\244\221;j\77\356$\272\32\237N\305\346o\377\361\202e\270t\362"
+"\224\374\376O\20$a\325jq\350\77Q\0K\231iu\377\77\221\240\26#K\6\255\305"
+"\352\232\223\207\257>y\373\345\7\3\217J`\42\356l\214i\301\247\36;V\24%"
+"\227`2:hz\205\320t^J\340\304t\6L\262\21M\234\35Y\347\207,V\254~\b\203\312"
+"\337\300\355\354\271*8\23\1L\t\272\370D\210\360\257$|)\350\nT3\7\232\270"
+"\310\323\377\377\377\37\267\302\237p\273\240\232\325\241|XA\371F5\354\347"
+"\241\247\4R\375%(-u\23U3\303\267\5\204\363\332s\230f\34\65\6^\360\5J\213"
+"\221\243\371/\224\26 G3+\232&\2224\363\300\302\207\34\315\42hU-I\232\225"
+"\240\364kr4\33\242i&\t\274\207\2460e\334\3550\334\0\226#\330~\223\356l"
+"x!\360\233\f\77G@\351\313\344x\31\226\235\353\310\320\353\4\323\254G\206"
+"\346w\270\n\22\42@6L\357<\322\365\352\300\1395\222\365\212\301\365^ Y\257"
+"\34\242t5$U\257#B/\311\315\300F\244\32\201D\255j/\220\364\32\220\246w\2"
+"rM\24L\222\326t\224\372/\236\24\255\21\250u\')\366\306\241\325\273$\370"
+"\267\bM\353^fbu\212OEo(\20\355]\203\203\350Z\327s\23\253\327\35]\353Ks"
+"\342}{\373\77\371\201\314\360\213\374\270e`@n+\307\222\232\17$a:\337\372"
+"\223Q\342\24\376\377\377\377\377\377S\226\344\365\17\42n\274\234%\77\332"
+"M\32\5\243`\24\fz\0\0\221s\370\377\217\34a0\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\1\377IDATx\332c`\30\5\243`\24\214\202Q0\nF\301("
+"\30\5\243`\210\202\362\377\377\377\237h\t\320\26 \244\220\21S(f1\n\367"
+"\333\327\37\177\3761<\3305\351\7\61\26\257\374\217\25\\\306\264\207\tS"
+"\363\77\354f\352\304\21\243y-\16\27)\20\25`\275\330\335\35E\\p\353\367"
+"\275\304\324{\220\250\320\206\0\66IQA\1~~~^nNNN6\346\307\373\27\214\234"
+"\264*\242\37\324t\370\377\377\377\315\204\222\247\265\257:\303\367\337"
+"\377\31\30\30\30\230Xy\4\304%y\220$_I\377\301gI\332\177\274`\1^\233\377"
+"\223\232\211\220\222\247\30\311\341\201\244\371+\1\245\305xe7\341\365\362"
+"R\374F\363,\303\243w1a_\260p \3\311T\270\336\205\244\247\220\2030\275\363"
+"I\327{\b\246w\16\351z\17\303\364\316$]\357Q\230\336\351\244\353=\6\323"
+"{\210t\275\307\341\1\375\331\215T\275\'\220\343x\17\23IzO\242\246\220+"
+"\244\350=\205\236\276r\210\327{\32\63u\22\255\367\f\226\244-H\244\336s"
+"p\35_\373\33\357@\231\366\304\351=\17\327\353\214\224O\23\211\322{\1\246"
+"\365<\264\352\201\360\252\210\321{\t\246w\5\254\250\201p\'\20\241\3672"
+"L\357$D\261\210b\26\36p\5\246\267\215\1M\363\r\202z\257\302\36462\240k"
+"&\30\321\327az\353\221E\37@\3046\343/\3107\372A\31\215\r\310*\346&\301"
+"\232\33\307^\376\370\363\347\317\77\6\206\317w_\243\31\243\4\263\267\5"
+"U\334\33[Y\272\4M\263-T\274\13\335qXK\342&T5\354\350q\4\3\65\3304_BS\224"
+"\360\377\377\377\377\263\360&v\48\212\256\310b\371\266`\254\321\260\36"
+"Ss,\361\31\334\34M\373\357l\374M)\f \300\306\370\357\357\357\277\377\30"
+"\30\30~0\214\202Q0\nF\1\265\0\0\6\335\205\t\357\24\272$\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\2\223IDATx\332c`\30\5\243`\24\214\202"
+"Q@g\300\210!\342\246\303\217\251\354\371\251sD\30&\373\344\77v\320O\204"
+"\346\265\377q\1{L\305Lh\374 \234\306\332\20\326\214\33H\22\326\374\7\247"
+"\346\273\2045O\307\251y/a\307\261m\300\21^\351D\305\263\204\42\17\246\262"
+"7\327\177\214\346\211A\17\224#\27\376\371\377\177!\7Q\361\f\3<\342\322"
+"\212\272V\2260\356=e\274\232\205\305\271\270\270y\370E\304\245e\345\261"
+"\344\202\346:\334\256\13\372\367\237\0\20\302\320\303\f\245\265\17\62\22"
+"\362\374\353\343\270r\225\77\341\220\323\305\231%\365\bk>\212S3\33a\315"
+"\263qj\276AP\257\3n)\33Ba]\207/\221dM\2052~=~\362\370\351\2137\357\77}"
+"\372$X\7\17\3073\246\370S\230\24\353\247O\177Qe\177\261\302X\354\277HM"
+"\326\375pG[\223\234%\254\340z\253H\317Op\275\307H\327\273\2\256\231\205"
+"d\275\341p\275\26$\353\225\204\353-#\335\321\317az\17\222\256w\2\334b\322"
+"\365z\300\365\232\220\254\227\27\256\267\b\2372&\2Y\227\344T\311P\217\224"
+"\233>{\221\233,\377\377\377\377\377\177\16)z\231\320\263\262%\t\232\367"
+"\243k~A\274\336\2\314R\304\214X\275zX\212\240%\304\266=\377\23\327B\305"
+"\32\317\353\260\'\32\242\34\235\210\344\330l\6\206IP\246\r1z\25\221\364"
+"\32 \25&\31\3048\373\n\202iv\1I\\\213\b\213\347 \354\205&\312\367\20\336"
+"N\302z\203\20z\263\240B/!\334\253\4\365\212\42\364N\204\211A\333\375O\b"
+"j~\0\327{\30\321N\206\b\274$\244\267\7\256\367\37B\360\42q\232]\21\216"
+"\226F\210\36\200\210\274\302\257\227\33\241\327\5Ix\25D\350\3\376xFx\263"
+"x\17\222\3643\b\305\217\327\342\32\270\275\313Q\304\13\211(\177\315\341"
+"z\321|\27\0\25\326\305\223%\21&\213\275F\221\326\271\fe\264\336\372\216"
+"d\375\237\'g\341\274.\270\305>8\253Y\234\35\274\3170\221\t\30.\373\201"
+"S7Z\42\374\377\b\177\21\216\n`\255\340T(_\4S3\77N\315V\250\215\0\37l!Z"
+"\215K\263\32\\\311\254\377\377\377\227`\217\306\205\4\374\314\300\300\240"
+"\32\242\210+\21$`\325\353\201\267\233\200\\\264\31\311\361\2600\374\377"
+"\375\343\373oH\216\373\363\350\344\267\321\336\327(\30\5\243`\340\1\0\210"
+"\2658\340r{+b\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<"
+"\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\240ID"
+"ATx\332\355\227AHTA\30\307\377I\264\266\17\263m]\263\334\242\310\305\312"
+"\312j\17\226Z\4E\30\24\24\244\344\245\220\202\202\210\250 \f:-\201D\20"
+"\31\265\340\245\222 \250\354\322!H\242\250\b\241HB\326KY\221\32\205\344"
+"\332!-\303\370:\314\354\356\354{3\363\236\357(\363\277\314\316\367}\277"
+"\371\336\316|3o\36`dddddddd43\324:0\334^\350\223\355 \42z\352\217-\42\42"
+"\42\252r\217,p\232\226\263f\225/\270\2105\305\276`\357\362\16\327>\376"
+"~{u\276i\226\360\273\276&08\364s\362\376\32\326m\232\23\f\307\342\321\217"
+"\311N\08q\25\0\356\264\374\225\17}\222\24:\2\240,\323\331/\207U,\275\7"
+"\320\230\355u\311\330\260\22N\3\210\13\375\212\351d\356\4\200\313\202a"
+"\231\23nS\260\37B\0\200\275\266\321l:;!A\37\35\310\372\257\213\223 \221"
+"\25\211\256\350g\21_\347\5\3\66\357\272Q\346\272\244\256\206:\26qX\346"
+";ODD\1\177\345y\241\272k\370\2125\311{\263\225q\254\366\26\316\237\213"
+"\77\351\221\254\265\257Q\77:\177\354\227\225\347zs\363\326}(\350\351\321"
+"\352\24K\326\263\311\3\\\257\254\226g\13\\\267\344F\345\260\333Fw\270$"
+"\266H\247}Z6NzmP\34\6\0\260\375\211\320\351\177\360\372\363\330\77\253"
+"\274\272a\267\232\220\317\3641\321Q\221-\354V\25\273V`_\330O\273\207\334"
+"\241`\313\304\77\327\341p\363-\275G\16\247\3650\306\331&\225\256\363\305"
+"\220\313*\36\5\0\354\222\271\226f\266\2722s)\363\24H2\'Y\2238\256\314\314"
+"7W\271\323S\314\206\35AH\231\231\237\221+\235\231\17\262f\'~)3\363\315"
+"\77\341\204[\0\0C\3574\23\266\2045\203N\230\25m\273n\2667\273\274%S\356"
+"KuW\t\347\16\233)\7\273h+\0\340\206\4\376\6\0\250\1\370=(\355\200\337\262"
+"\246[\362L\327\210\210\3507\260\205-\210\375\230\f}a\366\244f7\266\255"
+"\347\205\226\177\'\251\272\231\251\371\260\207\367\363\33n\r\304j\233\22"
+"=9{B>\227\247\362\3408\0 \372\312v\n}R\255\304\17!\350\36\63\365\332\217"
+"0K\5/\26\202\344\267\205\224\346F\32I\361\240\261Rf(\311gO\353\267{\303"
+"s\42\32\317\5\r\344\310\2513\323\275\343\305\372\330\213\376Vs\211\237"
+"+ba\3042\37 FFF3R\377\1\210\316\364\363^\315\300)\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\3EIDATx\332\355\230YH\25Q\30\307\377\367\246"
+"\244\230\220Rf\13\\\3276(\213\222@\255(h\205\262\2+Z\3004\13\242\302hC"
+"\202\244\207H\260\307\250\24\363)#l\243\214\212lQh1\243\7\2452\213\22\13"
+"\203R+D)\320\353\327\303\2343sf\346\334;\213\20=\314\377\345\334\371\276"
+"\363;s\266\357;g.\340\311\223\'O\236\230F\237\31\244\201r\237;\270\216"
+"\210\210.\271b\'\221\242\2616\352\372\215\206\24V&\271\201\307\2602\306"
+"\r\354D\377\f\236\375\202\276o\16[c%\233\355l\223g1\21\21U\272\202\23\231"
+"\243\325\357\242\333\5\254\234\25L\347\246\b>\236\300h\345\307\25fhTG\327"
+"\375\272\27\0\306\253\315\274_[\247\233\212>\n\247\203\0\60_0\224\210p"
+"\'\205W&\0\24\n\206ZaWY\260t\30\0\220!X:\242\370\204\305[MV\0\0\320\342"
+"{\256Z\222~Oe\360\17+\270\223\225Y\'5[\3738\'c\6\0\344j\306R\7\263\315"
+"\224\246Z\253\340\13\265\316A\343:\253;\243-M\371\261\352\236\203\275\255"
+"\352Z\310Mn\3F\t\21\35\203K\30\276i\21\342\336v&j\37y&\261x\363\304\224"
+"\304\370\30\337@O\327\307\36;\255\3611/\7r\237\212\213\335\234\77\3126"
+"|\363\220y\263\\O\265\t\313ua$\251\267\200\26\204\203\255Zk\332\26\306"
+"Yf\225\30(\77$;\207\254\265T\335hz\366h\231\241\261W\217\333{\203\261\311"
+"9+Dcl\277\354\275w\365\257(O\327\\\251\3475{\275\4\215\374\252C\13\r\356"
+"\250\333\346\216k\316A\35+i}/\367}3\271\372u\354V\331\260\212\2707\313"
+"\340h\321\217W\36\317\325\362Q\237#;0\244\203\312%{\360\36\346^#N4\331"
+"\204a>\254p\2213\203o,\340\373B\277\2258\230\241\316mB\265E`\324\230\202"
+"\250\202\77.\371\331e\1\77c\345t\16\7\26\62KU\3\206-\340O\374\330\341\260"
+"z\320\27Y\247\203 +\2239\274\233\31\216;\310)S\30<\217\33N9\200\343\30"
+"\234\307\236\233\207\34\300A\6ob\317\25NRa7\203\371\325\272\336\356X\1"
+"\240\303\220,\277\330\201\371\4\275S\3408G\231{#+[\25\230\37Aom\301[X9"
+"\240\300\177\330\343g}\364\310\331<q\213\373\1\236G\373u\2718\304\262]"
+"f\345Y\303\351\242\334\3\243\205n\231\265\323o\210\17\374b\241\f\0(e\361"
+"\232 ]\'\36\366\305\252\251\226Y&\0@S\350\314\213\311\222\274\274\203Y"
+"\32\1D\207I\333GTv\273\371\353\201^f\347\360\304_\243\303b\3\213\212\237"
+"h\371\255I\364\r\233OB~\260e>\220\34\223\272\257\275\3f\77\77\336dGl\206"
+"<\225\253:\315\34\'$l\266\351\252aP\244!\321\n\232i\232\310\253\372\n\353"
+"\21\n\276#\273\214\335\20k\354S\315\306n\257\226o\332]Z\215e\302}@$\333"
+"\326\205\t\266\6\42\242\207\33t\306\271\267\206\210\372><\252\334\237\345"
+"\375\27\343\311\223\247\377N\177\1\250\311A\371\230[j=\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3\35IDATx\332\355\230MH\25Q\24\200O6\363"
+",\354\371\214\'\17\323\244Pz\376\220\32V\257\77\f\n\244\42\250(A\42)\312"
+"\314M\204\366\263s\321\17Dm20B\250M\331\256x\213\310\210~\260_)\\\204\204"
+"\213\322\26!\331\42\244\b\261\247\257\347i1\347\316\2733sg\3466\263i1g"
+"s\3569s\276{\317\334\271\277\3\20H \201\4\22HVB\371\236\321U_\20\361\202"
+"G8\215\210\210\235\236\330\6DD\304\317\22\2419\26O\245\246\312<\301\213"
+"\345\223\264\302\252\37x\276\37X\361\3\2074\225\362\4/\322\324\264\'\230"
+"\206\346o\77\237\312\27\354-\355B\77-Gm\340\252\227\370a\203[u\332\274"
+"\300~\223;\201\210\210k\345\340{\246\17H\356\210s\332 L\373 \351O\216p"
+"\256xrQO@,\3119\347\1\0@kS\371\324\344\317T\6\0\16\261\'\17\277\317\315"
+"\246R\251\351\37\337>\216\2$\3361\377\311nc\265\27\321En-\205>\335\250"
+"5NBt\227M\221\367\254\2306\300e\22\60\206\27\352\305K<\34\227\201\217B"
+"\251^^\311\301y2\360\b\3006V\236\342\233~ C\3@7+\237\345\340\360]\t87;"
+"\372\20Wp\337\31\240`\201\252\252\212\252\236j&G\327\200\242(\212\32:\276"
+"\231\34%\23\0\353\336\2221\32\27\215\312(U\375\310<\326\261\2\0\340\6\263"
+"\232D\360Fz\330i\201k\f\26\212\306v=\351A\233\365|\7\63\333\5-\'\251\342"
+"\220\245\345:\315|\3147m\2229\313#\323\220f\235\202\247m\227\2027V\270"
+"\232\354+d\317X\330:z\322\5\342\336\346\247\221\245\303\266\220~m\315\351"
+"\17\351\f\r\257\257\226\210Wl\16Y[^n\362\354\264{e\24\270JuO\233\270\277"
+"\212)pP\0/\311\272\332\306\207\366X\337\3530\5v\b\340\230\333\202\377\204"
+"\2\343\28*\271[\240\310\27q\331\253\312\355\77\24@\332\5\336K\372\266\b"
+"\236q\311z\2142,\342\267k\207\211\340\372\312\265\16\60\237\366v\322wD"
+"\375\340\266\271\267\212^\271\206\364\210\207\254\341\319\257\273\34\322"
+")lXXc\2633\334\243o,\234\24\60\270D.\353<\336\331\42\367\245*)j\302\340"
+"\35\2609\337\230\344*\205\235\20\246\263K.k\303\265\250\3361\353\34\363"
+"j\77\366\213\177\274\237\364S\347\206\331\231\343\200\301\233!o\343\77"
+"\214\220\374s\375\35\0\0\313\344\372z7E%\1\0\252\331\36\334K\336>gx\230"
+"\302\22\0\20\243r\213~\216X\355\310F\371\374\256\211\216\24\16\275}\206"
+"\314\363\0\0\r\346\240\313r\335U(<\20:\257\272l\370\17iw\272Y#{\337\271"
+"a\266P\255\247\253\325\270\1.rY\7\216 \42\342>\335\346\317V\355\256w\215"
+"\360\232\255U\274}Lgoz\270\203\27\77\327\330^o\327\377\212\236I|\321\30"
+"\374~\t$\220@\376c\371\13h\371\tc\314\224\33(\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\3\250IDATx\332\355\230{h\216Q\34\307\277\273\270"
+"\315j\271\315\326\22\23\243)C-\2621\323\346\305\212Y\3130\311B\222l\374"
+"cds\211\24FnE\3145\214\77f\214\326B\315Z\361\207\310\245\210\344>+\42\311"
+"2\273\274\77\177\234\337yv\236\347=\317e\357_\324\373\373\347w\316\367"
+"w>\317\271<\347\371\235\363\276@\310B\26\262\220\375g6\345\342\215\5\301"
+"\262k\210\210N\7\307\306\22\21\21\235\t\n^H\316\364\222\352\347\327\213"
+"\354\340tr\244\367\20\21\321\21;\372\225\23=\200cq\1\221\254+U\323\201"
+"\376\22\246C\2327\301\241i\326\300.\42\242\215*\35\320\4\2639\222c\321"
+"\'\13y\235B\227\207\333\315\255\323R/\20\356\360J\264F\263\364\3003\374"
+"\203\375\311BI\327\324\333\16;\303\242\17\63\246\232\7D]#\252\320\364("
+"\3414k \317\240\347\332n!\tO\16\210\24\32t_V<\317\31\270\270J\226|=\207"
+"QY\314\205v\267a\217\323\5\67\212\230\353\234\307j\243eDD\23\\\341\321"
+"\26}\320\5\177c*\220\262uu\24z\n\17!\42\242,\263h\273`\275\314\325[\0\200"
+"\333)\336\340>\246Z\2\317\363\361@G8\231\375$\3758^\252j\30\0\240x\336"
+"(\277\37\360\267\377nK\227\221\6\0\240\366o\257\37\66\375\0>%\260|\326"
+"\232\241*\311\331\336\3720\325\250\344\232\331\241\344j\245\3106\312\346"
+"\325Hs\207)\13E\262X\253O\247\16\366\308)\313\331\352\202\305\177\366\220"
+"\355\303\200\326(\323*\213W\325R\347\1\36\17L\224\345mj\240\357\31\367"
+"q\317\7\260]V\6\233G\320;\272O\357\310\3600D\77d\341~\21\1\b\217m\224\247"
+"\343q\0\362c\254\313\321\17\357\24\77\274\77\327\347q}\23\0\314\220]\247"
+"\352\267\247\334a\255\354\277\263\357\7\0w\33\270V\253\207\223\204{d\325"
+"\375\42\tr-\256@\7G\232\36\r \202}\33\0\240\345(W/\353`\371\301\336\261"
+">\355\227p2\7\242D\3\313)\337\263\366\374G8*\345\372z\r<_\270.\262\201"
+"\261W\316Z\3g\nw: [\30y|\5\37x\201o9\216\337\343\254\356\241\260\222o("
+"\35\306\221c\3519\307\224\357\324\5\3530\224\231\0Z\7\267)16\3161\315\260"
+"\37\66\232\22s\337\327\3506\'\217qs\267\262\210%\237\246u\270\366E]\352"
+"\226\42\354\17>\13,\17\321\367\201I\327\35^&\334\1E\212\nX0\33X\336\6N"
+"\2507U\323\336v\2007h\216\5y\324\376t\313S\274\260;T\355#\2131.\254\274"
+"\357\f\325<\220\334:~!\232}P\265\30\217\260\334\327KUQ\2362\365.\360A]"
+"\37\373X,\361\266\\\347Mb3\253)\316\354rn\226\204 \326\253S\264j\321\236"
+"\201o\264\210\261I2\42\272\23\233\362M\3016o\250\366L;>9\352DG6\231[\355"
+"4\251\303\275M\371\216\351\210\212[,\22\341nV\367;\262#\270\325U\343\367"
+"\342\227x\317\243\256U\257\253\313Dy\42\226\262\372\325\221\225\77 ^\232"
+"V\351\235,\24z\3528\13\0\306\4\334\n\34\331\221\334\250K\\\22\254\354:"
+"Gx\213\371{*\357I\3078&\32\311\313\0*L\354\34g\330g\375r\326*\3549\267"
+"\34\342;\373\264\241l\200\42\244\32\354\263`~\337\363:\334\f\362\177\211"
+"\374\352\'U\231\241\277vB\26\262\220\375\313\366\27\66\235\301\314\232"
+"N\7\366\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0"
+"n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\206IDATx\332"
+"c`\30\5\243`\24\214\202Q\200\6\62\356\375\377\277A\231<\275E\377\377\377"
+"\377\377\377+\'Y\232\377\376\377\377\377\377\377\377\241\370\3240\21\220"
+"\320\42G3+\224\346 \313f(\370E\211\346\277\344h\226\205\322\342\37043\302"
+"\30&.*,H\342\3610\306\312\37H\242/O\256\303fH\356\177\342\300Y\344\20d"
+"\206P\334\207\211\214~\311\37\2071\374\254@t\342\261\300\f\260ODk~\201"
+"E\354 \221~\376o\201E\263\300r\242\264\336\360\42\312y\2150\365\222\344"
+"d+\250\336\227d\345\311UP\335di\366\203j6\'G33Ts\27YV\277\207h\376JV\226"
+"\234\16\241\270\370\311\261\331\0\352\356,\234*\20\331\20\275\300at\201"
+"2\246^=\211$\374\347\17\206\31&\327\377\23\r\346\260\241\352\345\376O\n"
+"X\202\252\331\207$\315\377QC[\234\264\240\24B\321|\2174\315\357P\271\237"
+")\3603\203\3069\362C\233\201\201\201\201\3\23\b\266\3034\254R\204\211\261"
+"\20\357\273\rP\315w\310I\242\22\60\253\363\311\321\335\1\323\255\201\257"
+"\272\301\225\366\177\343Q\211\315\377\212^\356v\220|x\357\f\42J\3679\21"
+"v\'G\3\256(\352!\250\267\16O\4\23\b4\231wx\223G21e\7N\20\202[\257\2\361"
+"\231\21\263\0\274A88\25pEU7;\202\375h\373\245\227\77Y\371\2444-UP\224\77"
+"\300a\250(\334mo\202Pr~\364\t\270L)\316b\32\246\42\23C\212\253\13\42\323"
+"K\250V\374\37\214M\222s\351\377\377\377\363p\352u\204\352]\211K\201\34"
+"\236p\234\r\325,FN\336\373\4\321\373\216\24=\360x\346\205P+\310\321\314"
+"\3\245/\220\243\31\346\325\267\344h\346&\262d\301\252\231\221\230&2.\315"
+"\237\241\264!91\305\1\215\346od5_`\251S\216\34\315\'\241\232O\222\2439"
+"\31^\217\221\241\231\r\236i\377\270\221\337\326\374\377\377\377\377\t\246"
+"\350uV\320\314w\377O\350\343\254n$\237\241\312\\}\7m41\361\253B\223\320"
+"O\256\177\270\254\256 \\x\332\340v\370^\202\232cp\27\275\316g\t\205\313"
+"W|\222\363\b\330\254\212\327hw\274z7\21rY\300U\234z\247\21\3232p\2605\325"
+"\24\343@\204\306\377\337\357\357\236;q\352\376\350 \314(\30\5\243`\260"
+"\1\0\215_\257\241=\36b\21\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\3\3IDATx\332\355\230Mh\23A\24\307_\222~\330\306J\252\25165\r\245\202"
+"\205j[+\250E\220`A\t(V\244\bBDP\204^*\326\203z\360\243\350\301\213\205"
+"\36\324Z\360$\212\342\27b\21EA0\242\25%\375@\374\b5\366\320j%\255\207\n"
+"\r\232\24\236\207\314l\262\37\2633;\361 \262\357\262\273\363\346\267\363"
+"\366\315\377\275\201\5\260\315\266\377\313\26\311\243g\21\77\324I\262\307"
+"\21\21\261^\16F\314\203\306|\350\333\322\264\7\240\234\302\30\264\204\366"
+" ~\252\207\n\n\377\264\302\236FD\304\6\250\244\264D\252\32\240\212\7\207"
+"\236\244\247/\7\f\363\334\0\325\210\210\270\233\305\356@D\304\2247w\354"
+"R\226\366\366\377x\260\232\271p43\355\230jp\202\322\215B\337\367\20\f\351"
+"Y!x\b\214\351f\0\0pZ\23I\365d\346:/\2632Y{BL\376z\317-\304Q\177\346\326"
+"A\206\232\266\254,\232O%\177\223x\332\25\325\307s\270D\344\312g\0w\311"
+"\214\372u\7P\320\232\364\2418EY\274\253\302\0\0\240F8\335\33\365pR\30\376"
+"b06$\32v\273\1\354\217\b\241\223{U\224C\271\363\272\234\256B\27U\334~Z"
+"\22\215\357$\372\\L\240[0\265\335O\256Ke:l\rY9\234Os\177$\5\337\221h\221"
+"\212\355T\32\226\204\25\21\270G\6\366Qe\264-\310Xq\1cf\347`2\2551\226\312"
+"nx4l\37Z\260\347j\326\213\226\254Z\245\260\200\265lT\250\340Yk\360w\365"
+"c\334J\324\3\232w\255\210\n\243\351\13\305\272zv.\321\327Wa\370\34\271"
+"\273\37\236\263.\224n\314G\340\24\356\223\201\17Rz\253\f=Mi\217\201\323"
+"@\354\313B\241\240\17\0\0\276\275\235R\322\370~\271\300R\235)\306\36\335"
+"\343\242\35&;|\336\34-\35\66\325\307I3\266\212\247\256C\32 {b@\t\377\270"
+"s\'YM\377%\77\233kX[\325\321\234\35\235\31\30\231\372\345*\363\325mX\245"
+"\232=\306S\42\342\276\334\341\205\273\236*\216^\26{\204\3168\243s9Nd<7"
+"\271%\320e\350\275\210\210\335\334s\215y\32\7\34\354<v\21x\275L\365D\376"
+"B\325\277\262\4i:\327k\31\230v\304)\31\330M\36]\371\204\355\227\311W\1"
+"IX\324\22E\267\36\365%*\36v\202\\\2032q\367\222\270\347d\340u\2640\236"
+"\345s\260 \356\261\16\37\315itW[5\316\305\333z\277\342h+0\33\240\246&\306"
+"\22)\222\322\262Zz\324\324\216\263\226n\343\37\354\35\32$\253\307Xy\13"
+"\357\323\342\217\231\362<|\215\7\233\376$8\305\t{\273\351\253\327N\232"
+"\261\37y\221m~\301d\257{\330[\245X\313\246\226\372\312\322\234d\244g\307"
+"G\6\337\304\354_y\266\331f\333\77g\177\0\262\302E%\2552<\256\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/"
+"R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\266IDATx\332\355\330;H\303P\24"
+"\6\340\253X\25|t\263Q\212\35D\2458\210\5\7\35| \b\255\24\4\5\21\27\251"
+"TD7\7\37cEA\34\35t\221:\b\272\270\350\\\241],E\34uQ\244X\7AJ\27Qp\211C"
+"\361\77\25D\372\347:\311\375\247\4\362\345\234$77\17\245LLLLL\370T\224"
+"\261M\353\374\220e\347\22\373\5\7\373\237\266\2139s`\373\354\257\324\363"
+"\30\366\225\267\'\300\13\264\35\207M\323\266\316\3268\3424\354\4m\27aO"
+"i\353\223\246\3713\375\f;H\333-\330]\332\366\302~h\f-\273\213\266G\260"
+"\353\264\r\303\336\321\266V\232\266h\234\202\235\245m\24\66A[\2574\355"
+"\242q\16\66H\333\30l\234\266\1\235\373Al\200\266q\330\30m\203\260O\264"
+"uI\323^\32_\300Fi\33\201M\322\326\222\246kh|\5\33\246m\17l\246\234\315"
+"+\277\255\205\260\264\315\343j,\271\371\2019\200\266\363JgXGx\34\22\335"
+"\300\353\fp\212\307-Rz\206\327\253\242\33y\235\7\276\344\261_J\317\361"
+"zC\264\207\327\5\340[\36wJ\351e^\257\211n\343\365=\360\13\217\233\245\364"
+"\246\322\230\312\34L\374*\241\363\310)\231\276\17x=*z\214\327{:/\274\352"
+"\r\370\232\307\355Rz\205\327K\242\273y\235\374\243\353u\314\353a\321S\274"
+"\336\21\335\304\353G\340\7\36{\264\356\257I\321\375\274>\324\271^%\303"
+"t\344\327\347\363\217\221/\f\7\'\\\371\263\305\302\347U\16>\373\225\362"
+"u\270\325{\366\306\374%111\371O\371\4\355\364\215\230\236\354\225\207\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0"
+"\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2mIDATx\332\355\330MH\24"
+"a\30\7\360\277\273\231`\33\31\35\314e\211\330\215 V\264\266l\311\20\332"
+"\212\2\t:\364ad&F\204\207\310>\20\354C\17\221t\254C\4}\320!\20\242\240"
+"<x\261C]:,D\320\245\222\16j\235\244\242\16Ed\230\377\16\63\363\274k8\343"
+">\363\336b\236\323\373>\363\376x\206\231\347\335\231\35 \212(\242\210\302"
+"6\342\272\345+\216\25\246\276\205,\265\213$O\204\304$I\36\17e\2678\230"
+"]a\360Z\27\363\2503\257\360_Z\231K\306\177\216\217\225\246\212ywpd(\270"
+"L\277S\344\2013[\262~1\200*\2574\367\7\332k\336\262\275\0\60H\262\7@\215"
+"\350X\200\335-\253\232\1\\&I\16\0\250+M\373\304\42\261\4\20w\207\27\1d"
+"\334q\306\37\77\25\273\25@\312\233\364\1h I\216\372\333N\261\327\1\0\77"
+"\274i/\200\315\323\344\210\277\255\25\373\333I\264H\342\f\0\324\'\3\256"
+"\326{Y\233u3\333$sh\201F:/+/INj\377\n\266Y\261\223%\331f/Y\31\210g\4\247"
+"J\323y\'\367&\320\336\20\333=\367@\23I\262!\310\26\304\26\377=\224\272"
+"7qke\31\373\235$\227\252\267\354\260\330\3j{P\354\260\332.\233\263\37\224"
+"\361J\354N\265=%\366\266\332\246mN\372\263\330\234\332\16\212\275\242\266"
+"\33\305~\n\373(!\311\264\332\336\21\333\243\266;\304\276\2669\351\345j"
+"\373P\354a\265m\25;\242a\316S\322tTL\323\\1\0\350\220\351I}c\16\311Y\257"
+"Q\271\30\0|\225\351&\375}j\261\331N\370(\370\202\36\347L\351\325z}_\360"
+"\4l\332\363\254\36\3573z\225^\77\233\367\331Xf$L\351^\275n7:\243\327\317"
+"\5O\351q\265)\335ou\305\327\351\365\23\301\337\255Z\345\252\36o7z\203^"
+"\337\264\332\234\263\26OY\324\233\322\255zm\336\35Y\255\327o\375_\304\312"
+"\370\307gJ\237\326\3536\253F{$\370\217U\243\335\325\343&\243\367\350\365"
+"\200\321\t\275\36\23\374\322\352~\235\263\372a\310\252\277\31\274K7z\303"
+"\351Q}\355/^\345\307!nv\242\350\342\302\2\357$\363Gc>Y1\363\341\305x\364"
+"A(\212(\242\370/\343/k,\32,\223szI\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2\314IDATx\332\355\230Ih\24A\24\206\377Y\34\\\b\36t2J\202"
+"F\343\22WDA\224\250\210\42\361\20P\364\342\305CP<y\bH.\1\17\202\250\270"
+"D\21\4=\t\36\304\233F\304KD\\\6\304\25\2148\7\211\13\206`\306D\324\270"
+"$:\206\3620\365jj\272\373uWW\237\224~\227\356\327\177}]KW\275\367f\200"
+"\330b\213-\266\177\327R\225\333t}.\375\303\356-3\356\b!\304\310&\266A\315"
+"\221B\351\365\271FO\255(\204\20B\214\260\360\213r\203\6\17i\257\220\226"
+"b\330\355R\77\341\241\r\22\314u|X\352\317\264gI9\241\234\364/rpV^\353\334"
+"\360N\362\317\204Yd\t\357!\277\327\2^\'\335\363\b\17\253\257w\311\2\336"
+"B\356\3\13x\207\364\n\210\320\363e\13x\22y\267,\340U\344=\261\200\233\311"
+"\33\17\7\247\365)W:N-\255u\234\330}\362\246\366P\36\0\276\277\35\224\17"
+"\350P\234\242\246\333D\260]\313T\303\273\351\334\13\23;[>(\344\256\225"
+"\360f#\270\204$\200y4\332\1y\235f\270\\I\0\13\311\375(\257\357\214\340"
+"\367H\2XF\356\230\274>\372d\2\37\7\0\334u\205\240\5O\203\247\334\1$\0\f"
+"M\227LB{\357\304\352nf\276\241\273\226{\372 \325\227\32\366\33\344\5\331"
+"\250\350\216$\345\b\32\66Q\350\360P\24\370\263\t0\316\300_L\340_\f\374"
+"\315\4\36c`\243\374\372\233\201G\243\314y4\312jG\202KQ`\330\300\264\312"
+"\31\33\230v\326\24\33\230NS\215\r\\\f\25\272\34\360\7\217r\303e\t\6\246"
+"\240970\265\0\20L\317M~\360d\217\315\220\324\42H\312\17\236\312\34\311"
+"\242\311\342d\31X\305\256\331>p=s$i\316X\354\3\347\30X\5\2015\6\303\377"
+"\352<\30\264\374\255<\243\266n\277\23\356\221\316J\36^B7\257\234\360\355"
+"\340\25\333\250jv\247\322L\tg\77\13\27\330z<E\312K\366\b\370\344\263RP"
+"\235\337N\r:\335\332i\322\332\30Xe\345\254[[.<\22\250f]\244\77\364}\363"
+"\42/\265U\311\253\275\344NRoz\210-\212\315{\216k\202\322\335\237\272\243"
+"R\2070\261\346$\351\7\34\302\374\276\n\313n\3W\375\t\0h\350\326\352\237"
+"nv\13\255p\224\220\0\260\365\271^;\365\371\4\305t\333\206\272\237\275W"
+"\37\253\7\215=s\364\226\375\263\302D\345\353U5\333\375p!}Xg\217\206\314"
+"\7]\32\273>t\6\35 \364\240M\376\315\13!\2048\226\t\223\202\264\237\353"
+"\273\376\334\270\22\377+\23[l\261\375\237\366\27D\326W\26\37|\325\220\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0"
+"\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\356IDATx\332\355\230"
+"\337K\24Q\24\307\277\315\256Z\261\230[\270\266\324\232P\221%\25\366\203"
+"2\203\354\305\2025\204@\23\42\360\245\b\212\36\244\'\243\376\203\36\42"
+"\202\250\240\27\251\227\b!+\252\7\321\207~\bF\330O\301\242\227l\305\310"
+"@B\315\335N\17s\357\354\235\331;wv\356@F\314\367e\356\275\347~f\347\336"
+"9\347\3343\13\204\n\365\77\251q\210\356\325h\262\373\210\210h\253\36<J"
+"DD\264M\13&\246\35:\360kN\357\322\200\338L\247}\222uq\240\305\242}\241"
+"\207\210\350:\320\252\3\357&\42\242A\340\260\6<`\42O\2016\377\360\34\373"
+"\301!\240\203\210h\314\17|\223\257u\30\330x\361\306~_\373\25\267\266y\304"
+"aIm\337\34\367\242WZ\364]q\270\211\210\210nG\344\320\311OD\243\235\0\22"
+"\26\275&o\255dC\335R\266\3134\36\7\260\202\303\ry\363Y6\324+\205s\2461"
+"#\256;\2\0\6\0\340\30\2336%\205\3159\250\2\200\251\n\0\300\221\\a\230\35"
+"\225\261%vo,\275\364\275\177\217,FSE\300N\245\224fw\330\0\200\325\254\363"
+"\305g\200\32\0P\315:Ot\340u\2543\254\3\327\261\316G\35\270\236u\306\203"
+"d\323*\237\273\275\b\0H\354\24\302\277\334\314\6\200\22\217\214\311\33"
+"k\235\226(\200\244}\350@\2726*\366\255\2141\326\17 \373\341\376#Y\32\67"
+"\363\3039\362\222-p\333\331`\17\0\224\223\267b\302\232\327\263\366;\321"
+"aT\252\21`\233\217\314\24\1\377\24\332\357\331\3234\332\262\263\273&e>"
+"b\276\212\235\323\36\354\327-\242\223p\37\211\261\307I%lY\264\273\2255"
+"z.\3\310f\306E\17\213\316+\35L\355a\t\355\272\310\0\226\5\201\271k\377"
+"\320\201\371R\346u`\276\331\21\35\230\253,\b\274\370\257\77\366\357 \257"
+"*\27\4\316.\330/S\20\30\13\6\223\366\375\213\330\260\250\n\366\212\246"
+"\322 \360\22\25<\7\265s\307T\360\254\225\351\\\212\335\2426\314%\240\223"
+"E\275\207\245\362)\265\354\232Q\302\345rx/\273\216Ha\236\324\227\313\341"
+"4\273>\223\302oY{\225z\263\7\244\360+\307\342\354\352p\207\1\340\f;\376"
+"\372\244\326o\314\372Y\3659M$u\362&~\262v\312\341\nU\305\354\371\325\311"
+"\355\365\205\246\307\334v\336\r\356e\23.\24X\36z\177\3566\263\t\23\216"
+"\361\r\263\26\233\366\256\\\355q|5_\207\\S\204\354\251B\270\362\212P\303"
+"\274Q\6\374-\307\375\253\373\\k\'\211\332\36L\276\314\327\224e\23\42\353"
+"\363\3\240Ed\357\370L\310\233\4\366\204\357tn-\371yR\3430\30$\42\242\351"
+"f\275\243\244k\206^\34\f\377\277\13\25*\324\277\255\77s\315\314\207\224"
+"{\244X\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n"
+"\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1tIDATx\332c`\30"
+"\5\243`\24\214\202Q0\nF\1v\300\210.\300\201O\365\237\77x$\303\337\375\'"
+"\0\346\260\341\322\353\360\2370X\202K\363B\42\64\377GR\317\204\254\331"
+"\202\230P\222\304\241\371-1\232\177\340\320\274\225\b\275\377\337\343\220"
+"\3408K\330\313\376\270\3439\310\\\34\237\265\337\256o\273;\2327F\301(\30"
+"\5\303\17\60\327\357\257 [\363\365\377\377\377\177b%Oo\335\377\377\377"
+"\377\377\277L\226^\1h\241\356F\202\36xu\323\13\245M\311\260\230\3V\235"
+"\204\222\241\271\6\246\231\221\f\3150\275\263\311\320\253\5\323,\307@z"
+"\200\305A\271\257\37\221a\363{\250\305E\f\24xY\226\f\275jX\232:D\373Y\25"
+"\312\273A\216f\230k\217\221\243\231\27\312{D\216\346\237P\336\77r4\77\205"
+"\362\344\31(H`\17\310jo\303\342\210\3557\31\311\363\25\224;\217\264R\17"
+"B\261:Ch=\311-\244{Z\4\321\270\234nIr\37\343\200=\262\350\251\3237\236"
+"~\370\361\27\207\236ww\320\4\64\377\223\2b\320t\367\221\244[\3M\367UR4"
+"\347\242\265\364\265II!\252\350\335\4\305%\304k\376\204\245_\365\202Xg"
+"\7`3\321d9Qz/\343\350K2\210\231\30\350\251I\361\262\342.\375ooh\377<\332"
+"\42\31\5\243`\24\f\6\0\0v\326\356q#\246i)\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\342IDATx\332\355\330K(DQ\30\7\3603\314\220W\30\212"
+"\205w(\224\307\206\330\331\250IYY\310B\26\66\254X\220\222\225\215B\222"
+"\224\205\354\324\330\330\314\312,\230\224\262\261\301\2022e\224&\2574\222"
+"\307\30\376\26\367\336\351t\315\2359\347\273\26\26\347\277\231\316\235"
+"\371u\356\371\346\334\3237\303\230\212\212\212\335\344\256\206w\232\210"
+"6\7\0\340\241\341%\0\0\372H\370B\303\350\247\340\r\35c\220\200\313\f\214"
+"a9\230\225\305\30k\213k\231\252\271|\200\317\305\351+\t|\t\0\357\274\26"
+"\267\275\32\340\364\2018\236\204Y\327\213\343vp\272j;\342\255\224\251\365"
+"&\257\245\3435\364\r\263\243\207\354\3505fC\17\60\272>\243\36$\343\357"
+"XQ\307\351_e\372\25\311\263`mg\2212\353\374\347\35\374@\344t\340A\232\354"
+"\312J-\260S\4gZ\340\230\b~\264\272\355@j{\375b\365N\371E\252b\77\67[V\233"
+"\261\206\352\354$\323~\204N\324\263\240\242\42\223\214|\272\235\1\216J"
+"\210v\4\0PL\262i\322\355\25\227E\375\240)\240`\343\224r\23\354\204|K\371"
+"{\342y\202\2555p\241T\221\265\27\2431\13>\21f\276\323\'\36\265\263d\312"
+"\16\253\243\325Z[s\243>\332\243\340:}\344\247`c\251\247\24\234\256\217"
+"\356)\370\316\370\225J\301\347\372\250\213\3625W\330y,\342\233\204\264"
+"\303\366\r\335C\300\275\361\226eJB9~w\216\376\303\340m\344\345-\372mQ\201"
+"\247\250\371\312\30\304\23j5\267R\17E\342\267\33s\231:\300\16\211\265:"
+";M8\330-\241k\314\275g\240M\34\177&\270\266,Z\262\226\204\177\337\314|"
+"\211\330c\253;\312\363\314\355\206\223\333-7SQQQ\371\27\371\1u3@\177\215"
+"\252\226J\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\222IDATx\332"
+"c`\30\5\243`\24\214\2\274\200\251\356\342\353M\376dj^\373\377\377\377\377"
+"\377+\310\322+\375\37\2\204\3609\16\227\4\77\224\16!\307f\21\250\315G\361"
+"\250a\304)\363\237\240\n\334\316f\270\16\245\345\311\321\274\22J\273\223"
+"\343iS\250\247\367\222\343g\42<\215\333\331\f\17\241\264$9\232\347Ci7r"
+"<\255\17\365\364\26r\374L\330\323x\234\315\360\23J[\21\262\331\317S\25"
+"\335\34q-\30\353\360\37$\341\347G\26|GU\330\366\237\4\360P\0\252\213\231"
+"\201\201\201\201Ab\3)!\311\377\353\0\262\237\265I\213\7\17\224\0c#M3\27"
+"\212\346\333\244i>\214\312=@J\200\3757@\325\3143\207x\255\207l\211s\337"
+"b\230\206T\222S\30\3C,\214\301NN\346(\201YMV\361\r\323\354A\216\346n\250"
+"\346\273\344h\346\204Y\255G\216\356\271P\315\7(\2519\376+\221\243{%T\363"
+"6J\252\313\377*\304\225aBf\6\232\262\374\177\336=\270u\355\342\13\206\303"
+"6\320\354`G\330&\215\231\250I\371\334\13\30\313\204\220V\253[\270s\304"
+"c\374ZY6\340\315O\241\370\364\32\22\312\215h\352\231\221\330\316G\ty\212"
+"g7.\31\23\42\n\2E\\\245\32\61\245\310u\324 \202\263\266\42\13\237\336y"
+"\373+\227\264\216\rz\233B#n\21\66\213=\221\314\17B\bKf>E\265\33k)\375\5"
+".\335\217&\243u\6Y\363z,z\355\340\262\215\230\222~\310\272\2150\345w\303"
+"\344Nbs\26\67R\272\353\303]V\375\27\303\36\27\213\340\n\346a\310\31\303"
+"\244pV\227u0\25.\30R\2450)c\234\251+\35\242`\1\246\314f\42\312\347\360"
+"\377\377\377\377_\206E\342%T\357v|)[\265\177\205\77\276\262\275\210\264"
+"\236\4*\367)%\232y\310\321|\1\226-\311)_\333\241~\376L\216fs\2\t\214\270"
+"\252t\269\232g\21*h\210\252T\376QR\237\375\277O\206f~D\216\325%]w\32B\367"
+"L6\222u\357B*k\26k\222\252\373\7J19\325\221\205\220\6\344\372Y\350-\272"
+"\354\325\273\237\376\3029\277n\355\276\210\307$1B\25F2\336\206\323}\2\272"
+"\361\2676\247\343\327L \34\235Hiic\202\42<\232\5\b\307Y\354c\34z\227\21"
+"\327\5\t\232\215\331\262\371\332\3158:|4\nF\301(\30>\0\0O\t\277(\362\271"
+"\334\b\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n"
+"\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\326IDATx\332"
+"c`\30\5\243`\24`\0fR5\b\333\376\375@\256e\225\377\377\377_@\246^\307\377"
+"\377\377\377\377\277\233<\315K\376#\353f\42M\363/\b\345B\226\335\26\377"
+"\377#\331MBhK\330\376{\377\344\243\7\204\243$\266\215\24K\33\377\377\377"
+"\277\220\201!\7f7\17\tz\255a\256\315\200jV\305\2452v\335\315]\5\250B=p"
+"\277\246BX\270\3646\374\377\377\377\377\377\313(1Q\200\b\251\244\377\377"
+"\377\377\367\306\245\31\252\256\16Y\214\17)\234\225*Jep\246w\250\262\337"
+"(\242\2460\335;\360\7\16L\31;\3668\216\304\253\371>T\225+\252\260\25Tx"
+"\3L\0k\362\\\3\245}P\205\217\331A\315\306k\2633\324\212\217\350\22\16\377"
+"\377\377\377\377_\1\177\t\1\363\35\206\214\301\261\377\307\215\b$\247\37"
+"P\315.\344\24C\302\26\320\34\270\231\214\234g\202\323\335\304\0\230f1\274"
+"\252X\260\212j\303\30\'=\220\212\312\77o\261\251m\372\373\2378\260C\24"
+"Co\327\177\242\301~\24\215\214\f\f\f\244\4\13\337g$\16\23\211\225\206 "
+"%6s\376@\265\231\241\233x\275\313\177\220\37\332SXHLd\317\245\311Hd\261"
+"TI\242\16\344h\236\13\325|\216\34\315r0\253\345\311\321}\22\252y\t9\232"
+"\315aVs\222\243\373\tTs\179\232\335aV3\221\243\373/%VG\302\254\346\307"
+"*\215\356 \255\302m\37!\251r}\211\235\300\13\230\360<\302\26i-\306\231"
+"%\314\bh\325\273\200\'\77\375\301\257w*\376\334\330\205\257=\372\206P^"
+"\266\301\251W\232\210\222\200\3\207^vb\212\221\353\4\262\0~0\37ku\223\212"
+"\24\21wf\35{\374\215\205GDV\317\305\2Mm\302\215N<e\306\377\377\7\244\220"
+"\305U\321\353\22WL\275\205p\311b\f\2718\24\315\227\361X\334\207-<\252\221"
+"uc\310\312\374\307_N\212\237\203+\300l&\247\302\244\362q\245\202\24\230"
+"\n%\f\251\25\60)^\234iH\374\326\377\377\377\377\3777\300\224\271GL\351"
+"\236\375\371\377.E<\21\265\227\344\262\2\2510\270D\211\346\267\344h\206"
+"i\342\'G\363m(\323\214\34\315\27\240L;r4\37\203\261=\311(\234e\211,\344"
+"\360\327\342\377\247\220\323s\207\325\375f\354\244\'\24\244\22\354\20\67"
+"Y}y\30\350!9\272\237\42g\370\373UV\302\244h\26\'\242\354\334\240\214\263"
+"\236\42B\367W\234\255\13\r\42tG\340\312U7\270/\20\364\234\1\316,\371\315"
+"0\217\242\241\36\236y$:\33\25\3606\223\25`\210*\246x\337/\22\243j\24\214"
+"\202Q0\n\6\n\0\0U\34H(n\264\207F\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1tIDATx\332c`\30\5\243`\24\214\202Q@g\300\210\302\223\360\325"
+"c\270\264\371\5Y&Y\377\377\377\377\377\377\377\326di\276\1\321|\203,g\377"
+"\307\352\27\334\200\t\211\315\212\301 A3\311`T\363\250\346Q\315\243\232"
+"G5\217j\36\325<\2145\377\'B}\363\337\377\377\247cmv\374\207\2\334m\222"
+"\315\377\377\377\377\377\277\217,\315\376\20\371\307di~\1\221\277LN\200"
+"\31\213C\350\305\344\330|\22*\317\213M\3629T\222\3\273^=\250\364)\254\262"
+"\373\241\262|\3305_\201J;c\225\235\2\225\225\306*\353\5\363\25\366\24v"
+"\25J\213a\325\274\25J\247bw\227#\324\350hl\222\2630,F\5RP\351\245X\344"
+"|`z3qE$n\303\345\377\23\260\230\201\341\31T\201+\272\4\77\\\257\7N\315"
+"\35P\25\17\320\304%\341z\267\343N\177\37205\1(\302.p\275\377\331\361\244"
+"^\270\42y\204\30\3272\204^\27|I\277\t\256\254R\4\222\16\234\327#\264\376"
+"/\303\233o8\377#\203\257\277Q\270\377\'\23\310u5\377q\203)\4\363\354\23"
+"\234z\313\bgxA\\z\355\211).D\337\223\347d(\350\306\320\272@\222\370\262"
+"J\240\5Y\347\231\30\342\372\317H\211\331LOC\206\343\375\255\13g\356\214"
+"\16\62\214\202Q0\nF\1u\1\0o\203\277\236\250\310\352\204\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\2\37IDATx\332c`\30\5\243`\24\214\202Q"
+"@g\300L\264Ja\333\277\37\310\265\245\374\377\377\377\13\310\324k\366\377"
+"\377\377\377\377wc\210\353l\373\377\377\377R!\374\232\273\377c\325-\6\21"
+">\213_s\345\177\254\272s\241\302\372x5K\374\307\242\233\211\301\4\312R"
+"\307\251\221M\223\201\341\205\33\224\3432\5Yj3\324\310d\\z\253\376\377"
+"\377\37\317\300\340\n\263\233\213\4\315\301\377\377\377\377\377\77\7\241"
+"[\211\4\315G\377\243\352\376\215\354gB\200\3BM\316a\330\355\306\300\300"
+"\300\340J\212\237\343a~\315a`\340\211\212\342a )\300V\300tg`\312\21\324"
+"\214\320-\202&\301DD\272\216X\te\330\221\241\31\256\373)9\232\241\272\317"
+"\236$K3CD\321\37\206\331\246\344\4\30N\300DI\31\66\252yT\363\250\346Q\315"
+"#V3\13Q\252\24u\231\256\334\301&\261\236p\271\275\346\377\377\377\377\333"
+"\260\311,%\250y\tD\201\1\26\77\23lP\312FC\33EX4\277&\244\271\1J_\307\242"
+"\371\25\241vq\22\204\276\375\31\217\315\214847B\351zl\222\216\210\366\n"
+"\326\204\0kS`M$0g\213`\327<\tJ\317\306*+\4\65y\31VY\5\230\3052\330\315"
+"\206\312>\300*y\3*{\220\1\257fl\236b\310\203I\352\342\320|\30*\217\245"
+"\315\254\3\323\273\17W\357F\322\31\302\374\265\13]\222\353\t<J>\342\260"
+"\331\24\227\273\31\277\303dzq\247!\230\222b\264h\370\367\37_p@\301q\230"
+"\32AdQO\270\326\377fx4\373\303Uq\302\305T\17\42\364\226\341M\373\bu3\334"
+"\24\205\370\245\254\252_#\204\376/\307\237q2\377\343\1{\te\331\227\270"
+"\365n$\\\300\341\324\333FD\361h\213C\257\13Q\205\25366\255\355D\227\340"
+"5\350Z\33\331I\251\0\202\367\3025\276\3575$B\3Z\311\305\251 \306\375\357"
+"\303\343\247\243\343!\243`\24\214\202!\1\0\310\274@\373I9\262G\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\63IDATx\332c`\30\5\243`\24\214"
+"\202A\rJ\377\377\377\177\313\212<\275\331\377\377\377\377\377\377\277("
+"Y\232\37B4\'`\227e\302\257Y\16B\351\220\245\31\nx)\321\3140\252\231*\232"
+"\361\3GH\32\371\377\34\237\242\212;\377I\4_\26*@\365\316\374O\6\370\306"
+"\17I\77\377\311\2\31\fL\f\f\f\212\344\5\2109\3\23\3\3\303\17\3624\177b"
+"`b``\270E\236\346=\20\312\203\34/w30020000p\231\313\261`3<\336\26\312\250"
+"y\201&\363\372\322\3\202N\203\3322s\4\345*c\2624[\314\370\370\377\377\377"
+"\377g\360k\306\32Cq\13\211s6\26\315\342\207U\321\205\210\2561\f\261\244"
+"\246\357D\352U\301\232\26\345\260\252eF\27x\213U\31\317fb,\356\301\221"
+"\r\210\321\313\207\244\376#\262f\35\42\342\271\b\316\322g\344g\224\77\5"
+"\347\272\22a3\2723_\301\370[\t\353e\207\251u\203\n\4\303\4\276\22\326l"
+"\204\36>RxC\f\325\317RP\32\36\61\337I\310\30\\\260\246\bL@\22.%LP\363/"
+"(\255\204\31\310\202\4\375l\201\356CDD\353\23\264\371:\214\221\7\241\232"
+"I*r\340\26\225100\250n\'\224\304P\301d\234e\274\2a\315285\363\22\221>\27"
+"\376\'![1\242\7\340_\34\2462\22Qz\376\303\21\60\207\210*z\257b\327\275"
+"\231\330\42p\26\302\247/a\f-\242\253\21\201\362\207\377\377\377\377\377"
+"s\242\246\24)\305\20R\0\2610000\350@\365\256$\247*;\13\325lB\206\336 \22"
+"\13}\224Z\6\346\343024\377\245\300\342\27\60\213\355I\326\312\373\25\246"
+"w9\311z\365H\253jP@*I\305\0ZRF\350\r&Q\253+R>\316\42\61a\256@\322\233O"
+"\232\336\b\344\362#\2114\275\345\310z]I\323\313\215\244\365\237\2\271\311"
+"\371\377\377\325\244\247\311K0\275\221d$hY\210\326#\2d5e\245/\220\231\7"
+"\241U\274\344\350(\315(\30\5\243`\4\0\0\2025\361\241>N\207\325\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\306IDATx\332\355\230]H\24Q\24"
+"\200\317N\246\315\210\260$[\350\26\241f%T\20V\326&TP\371`DDB\17\325\312"
+"\212\375P\17\25\364R\364\20\6=Yd\5\5EBOQA$D+D\224O\25m\212B\264\261/\375"
+"\301\202\31Q\206\265\326\351a\356\235\237uf\356=Wzj\316\313\275\367\314"
+"\371\346\2349\347\334\371\3\b%\224PBQ\221\350M\34\336\242\n\377BD\334\247"
+"\306\356GDDL\311\330\326\257\256q+.\2320&\205\350\1DD\334\354Tmc0\356\26"
+"\260k\230\335,\256X\34\3x\310\351\235\301p\27\63\333`.\233\13\210w\312"
+"\265G\234\326\2\341\273\314j/\0\0T \42b\326\2004S\' \b/e\343L\0\0h338h"
+"\264<0\325y\320\244\213\244\263\374\17\352\255\367\1\0\322\271@\363>\26"
+"_\7\0\0\314\343\327\232\325\341x\1{\4\276\3340\264s\272\217\33\310\207"
+"\r\275\235l\262\265\226\16\303\265\203l\22W\200\341\312as|\256\2\303\345"
+"#\0\0\251\237lYB\333T\27\6\222xc\b\324`\310d$\357\31\2744O\202\254\312"
+".\25PZ\356\325y7\203\234\214\353N\266\32i\262\13\34\35\26\'\346\254\316"
+"\t\217\21\341\217\256U\216\26v\314\35\307K\2\232M\330`\304\f\276\322\243"
+"M\353\7\370\254\345\251\245\234\220\2758^\302\274\237\201\6\323\220\177"
+"\6GD\260\327\256\232\321\264t\276\376c\264\242\225\36K\352Squ\362\262h"
+"\322\243\264\262\360c\257\276\370,\205\226|\361l\252\337R\331\36\211\252"
+"\227\363\214_\77K\2601\337\315\20\27\207}\212O\2365D\42\21cm\332:R+\366"
+"\314\375\364\26+\330\323=\310\363\\>i\237bT#\204\227\260\361\352T\243\5"
+"Bx6\33_s\305\n\353\320\34!<\311\306&\256\350\260\16\31\302|5\362\3644\230"
+"\353*\273TiqoZ\266=\3134\210\35r\324\371\226\270T\357|\233\344\274\270"
+"I\216\371\237\26\246\341z\273\304\256Z\357w\326\234\314\266Z\347\343\271"
+"T\352n\260pLuK:\77\3\\\222\226\277{.\77\375\342\17\216\336n\253\356\346"
+"\360\36\205\347\301\7\16\33t\266\231\263o\24\34\217sx\7\235=I\316\265G"
+"\320\330If\27Y\354$\231m\264\213\234\240\262\216\275\334MDW\275\267\331"
+"W$\262\352\350WGc~\247\240+\337\272\232\372[\31\201-z\205\315(6\6\42\342"
+"9Z\252\372\235\354Fb\236\207l\364,\2717\3707/^\217\322\33\232\275\nu\225"
+"+\275\17\236\230\300\376M\341\277\240PB\t\345\377\220\277.u\243\n\257\332"
+"IZ\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0"
+"\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\246IDATx\332c`\30"
+"\5\243`\24\214\202Q0H\201\314\204\333\27k\b\2501m[X*\203E\\\344\333\377"
+"\377\377\377\257\307\2537\372\377\377\377\377\377\33`J\224\377\377\377"
+"\377\377\377\377\32\3704C\224\354\302\224\330\n\221\tB\25eB\346\bA(WL\315"
+"\222\20J\20\217f>\22C\221\211\222(\30\325<\252\2314\315\260\344\311\216"
+"\241L\nBI\243\21222000\250Y\31332000\324A\5\377.A\323\253g\be,\204P\237"
+"/m~\1\25\311\374O\6\260\206\3463r\364\376\277\1\361\263\36Y\201\245\16"
+"\321\314CIh\337\245D\363\215\13\344h\234\2\245\3056\220\36^3q\25\260\377"
+"\343\320%\204\240\22\257\304!@\0\213SX\241j0efB$\222\7e\306\370O\211\346"
+"\277\3f\363h\18\252\231\2\315\254XEY\360kb\21fbaefRN$]\263\326Z\r\374F"
+"\343\223<$\214&\360\227x\77\353\241\353exG\274f\5\f\221k\304k\376\210."
+"\360\347\16\341\206+\254L\300\250\1]\30\210\327\214V\367\376qFW\316\310"
+"\200\245\34\202\13\302j}\6\206\237\317O_a M\363h\226\34\236\232\241\361"
+"\354N\244f\324\364pC\35B\237\274\370\3567\316Z\357\353\365\335\77\260\211"
+"\317#\2629c\200Ms\20\221\232/bs6\323_\222|\213\32`\377\272(\352d\37\'\312"
+"\331\317q\350\356$Fs \316\254\353\343\254#\316\211\'K\1778\265\350\304"
+"\3508\310(\30\5\243`P\0\0,\33\325\274\5,y\25\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\2\30IDATx\332\355\230M(EA\24\307\317\275\317\315"
+"G(\311g\224\330\240\27\371\26\21\222\224\205\42\354(%\26\312\306\322J,"
+"\244|\254\355\210P\42R\244ll\336\333\350!\351\225\362vH\42D\276:\26w\346"
+"=\367\335w\357\2733wA\314\1773\2673\347\327\2319\31593]\0!!!!\0pp0m\235"
+"\262\2177\336\t\42\256s\262C\210\210\270\307\7o\243\237\226\231a\227:4"
+"r\305\216E\242\35\36:\233\322\343l\\\357\7\272\362!\207\300OLl\13\42\42"
+"\226R\332\315\4\357\253P\5\241\353\230`7Yo\25\244\316\335m9-RRug\255\2"
+"\320MSU\23\322\253\270\253=Oo-\247\253\\\246t\256\336)\343\34\21qK\n\266"
+"\337\252\4\4\350M=\274\243\316\214\6\231\343\t\221\36\240\237\3650q\362"
+"\6\231\263\210\275\0\374\364\222!\214f0\314#\42\246q\302P\779\240\0/\34"
+"\220l\247\207\t\370\177\300\21\0\240\24\247;\0\0\6\251quW\3433MFO\237:"
+">z\217\374s\315\310\254\303D\332b\220CjIJP\350\341\331\256\244&,\321N\266"
+"/y\260+\2\237\275q\300S\364\243\354\2219_c\3376\236\231\354\0\0\350\30"
+"\246\227\377\212&\314\b9\0\307M\352\370\362\0\326\333\220B\314\315\377"
+"\260\252\320\16\374i\7~\377\261\310\\{\226\354d;\312\254\207\31\276\305"
+"\235)r\204\42+\23\34p\353\6\323\211\321\24F\234\256\20\313\255\357Y\347"
+"\n7\326a\375\263\343\302:\254\353m\2136\366\374\22\303\0C\253\206]\210"
+"\16szPkt8\223\211\375\355\332\33\366\350a\270\363(^\6\177\2~%c\37\313\363"
+"\200\352\260\210~=\334\277\207\366\3778][\n=3c\351r6\350J\r\326\256\366"
+"\4\363\2622We\350l\367\363];D\263V\42\33\366\361\366\360\257\233\36\223"
+"\253$\251$+!\322\260\242\77}\7\27\342\327\224\220\220\320o\321\279e\273"
+"\235:\321\226\211\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2~ID"
+"ATx\332c`\30\5\243`\24\214\202Q0\224\0\63\321*9\rT\376}B\25bD\341I\362"
+"b\350adf\347\21Q\320\263Qa```\230\226\215\323\354\242\377\4A#.\275\1\377"
+"\211\0(:\230\20\314h\222\3\fI\263\32\21\312_\340\322|\225\b\3151\270$<"
+"\b\3738\16\267\261\251\204\364&2\340\213gn\36t\3y\355\346\302\331)sI\r"
+"\321Z\270\275i$\307F\13\\o\6\311z\273\340z\263H\326;\t\2567\233d\2753\341"
+"zsI\326\273\0\2567\217d\275\313\341z\13H\326\273\36\256\267\210d\275\333"
+"\340zKI\326\273\27\256\267\234d\275G\341z\253H\326{\26\256\267\206d\275"
+"W\341zk\361\252c\301\42vW\t\306jh\306(Lee\344\224\265\365\231\216\266<"
+"\300j\336S\354e\245\260U\372\202\207\210\274\375\236\13[\241\366\16.\17"
+"\263V\321\253z\307o\214\222!\22\323\331\274\357\341u\310\351\315\22\222"
+":\246\16\2728<\254\273\34]\304\370\77\321\240\4\275\342\232J\274\336\377"
+"\306\310:\331\2747\222\240\365\177\31\274\0\224q\361\17 >\31\374\271t\371"
+"\330\256\7P\315\272\33\224\210\322\364~\363\321\33O^\177F\21c\'\306\225"
+"G\263\325\261\32\30FP\347\24#\234\311\323\20\277c\237&\357\304\223\266"
+"\177\340\325\353\265\35\257\264;\212\23_\257\314wr9\7\343\255$\30\212\13"
+"!\n/L\2106\200\244vV\342r$\4X\206x* \363\227A\365\366\220\321\274\322\203"
+"\352\275ON\333\f\346c\25\62\364\252C\365\356#\307\342YP\315\326\4U2b\n"
+"\375\307-\205\273)\5kZ@\351\3\fdh\2065\307\266\220\243Y\22J_ G3\37\224"
+"~L\216f6(\375\201\34\3150\360\233\34\315\77\2414\79\232\77Biqr4\303Z\305"
+"\206\344\244N>h\352\334\316@\333\344\211\245kd\13-\305\271w\223\341\356"
+"@X!dG\216\257\341\205a\b\31\232;\340\272/\331\223\32`\fL\177\2218\'w\\"
+"~\370\362\315w\342\255\216\301S\365\234\365\'\244{\t\276\232\313\213\220"
+"\356Cx4\357\'\350\362\25\304\366\'\261\202d\234z\237\20\323\331\236\204"
+"Cs\23q\241\36\262\33\213\336%\370\343\31\31\260\312\tq\261 \345\333\317"
+"w_\217\216\225\214\202Q0\n\250\t\0@Ou\360\347X2S\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\3\13IDATx\332\355\330_H\24A\34\7\360Q\357:"
+"\367<\322\374sF\\g\304\221V\226d\241\221d\366V\232TV\24\201\241\21\275"
+"\25\21$\24\25\276\244d\177,1\262(8\t\262\310\310\247\236J\372CP\250dEH"
+"DT\b\346i\227\242tr\17\371\355ag\366\376\356\356\314\370\22q\363r;\314"
+"|vfg\3467;{\204$R\42\375\237)EXX\353\252\246F%[s\1@\263$~\0\0\270$\207"
+"g\1\0\270*\205\237\252\30\327d\360&\212qC\314\25\276\5\216(\373\231\256"
+"\27\261\363\0\0\355\216Z\212\277\211`\332d\307\374:\365\302/\202\17\321"
+"\26o-P\257N\212\340\\\366\260\336\354z\0\235b\3\266\227\351V\213m\215S"
+"t\232v3\355\222\231\344\235\24WH\255\257j\25\347\360\13w[\20]\31\352u\245"
+"PP\255k\n\2\0\6h>\257\331\273\205\225%\351\252\314\\\367\212\r\333R\265"
+"|I_L\25\213ve\333\2656\313b\263+\212#=\313\36\347f\353\r\260k0\313\270"
+"\377\1\2032/L\222\321\275\3&\366\250Q\257L\354e\303G\2324\264\367\214\307"
+"\243\335\310\2764Y\f\366\347\372\366\273\216\t[$\205\5\351$\311\232\252"
+"Xgg&\177\372\374\316s\345\254$\31\2421P\2515\234)\34\77E\232\365\b\333"
+"E\232-\25\266v\315V\213\7\375of\17\212\333\257\314\236\22\267\357\230m"
+"\23\267}\314>\24\267\375\314\276\21\267C\314\216\304+U\214h\352/m\222,"
+"\221%\236\232\226>\0\350\264\350\331\245\241h\b\355\315\256\255\215/\302"
+"\302\244U\307V\205\252\254$\204\220\234\315\'\36\307\304X0\276m\t\325x"
+"}\370\330\375)\235\b\215G\227\215\203+M\307R\313up\246\246h\272\344&/E"
+"wT\350^\370\303+_5,\217\234\331\'|n\250q\243-\346aos\300\2213\253\244v"
+"{\340C\255U\366Uq\332!\360\236\31\177\364%,\267\317$\212z\264\232\77:\366"
+"\344\21BB\3x\334\374l\366\f\300p{\r;\36U0\32\340:0\245\245\205\347\330"
+"\212\356\2278,m\247\326\'s\322\232\2468[\302\226Q{^\246a\26\373\16\31L"
+"\355\30W\345\344\310\354B\372\333-\203\363\350\357{\31\314\216~\23\628"
+"\300\263\267\353a\366y\352!s\30\355\1\256\312\321Gf\230\36\245\r>\276W"
+"\323\rnt`\16q\201\2249<4\206ep\227\266\217\344\213cwh\3\353Z,\254\257\204"
+"\355\177\276\206|\221\251\42\204LdDd\375\275\37\307\325W\362\330\240\371"
+"@\344\350o\342g\315;\356\234\321\325eFk[\355\236rG\357\276\345\246\230"
+"\220\3\245\237tvi\316\277&\356\306\353\366\16\356I+\2718\26\375\3024\235"
+"\252\310\363FQqq\201SI\42\204\220\317=\315\323\211\377\361\22)\221\22\351"
+"_J\177\1\361\201z\354\207\275\241v\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\2uIDATx\332\355\230\77h\24A\24\306\2773\347er\t\32\243$\21"
+"M\25\25\25\21\265\211\215\177*1\332\250\34(i\4\255\254\204tA\260\20\4\323"
+"XZK\300\352\32+\21D\202\202 b\224\250\340\25\272\22\r\204\30\214\t\6\65"
+"\336e\237\305\276\315\316\205\235\335\267\263 \26\3635\357\346\355\376"
+"fv\366\275y3{\200\223\223\223\223\323\77V\313\232\366\266\216%\333\256"
+"n\21\21\r\333\261W\211\210\210\316X\301\265\0\256Z\301\1K\236\364\376u"
+"1\276\366<0\34,S\17\207\212\244@\1@\245\262\277\4\0\375\253\336\217\0\200"
+"\205\27c\317\323\370\353d\326\331\24V%\2604\223\362\302v$]\356M\201[\363"
+"\204\352s\36x\356i\302\345\3214~\363}\343\373\32\225\214\277^)\245\324"
+"\311\2209\241\224RJe\313\276\37\1;k\225\333m\201\361\255`\256\303u)\\\214"
+"\361-7\265\316\r\364\0\305\326r)*\361_\306\357\32\13\340[=y\'b\303\360"
+"\304\b\277\326\\\327\fA\34\62\25\3}=\2376L\367\250\244\222t\32\374m\22"
+"\370\231\301\377\3224\347W\232\353\260a\316\335\22\30\247j1\350\203}\20"
+"\301\322\f+\344\251\333%\266\r\33X\261\375\223\7\376e\3\363\212\304\317"
+"<\360\242\r\\f;g\3\207\307\211\231<\360,\0\f\214M{wv\312c~\2013l\20\300"
+"\20\21\21}\333(\36\271\213\355w\0\367\2\317\21\61\274\225\355\2PI(q\361"
+"p_\4_\344\237S\3429\217\363\234\325\352\372\42%\206\247\242#I\326\323\211"
+"Nt\312\340\370\32\246\262\'I\224\235~fx\3\333w\342u\245\301\335\21\274"
+"\224\31\16O>\357mjX\230#\236\266\343\364J\341p\tM\3x\34\256\25\351CT9\266"
+"]\0\206\263f\211\247\335\277\'\204\77dN0\255A4\262=\3<\17\0\270M\311Z\256"
+"\36h\332\211\331\375\b\0\260\211R\265[{\333a\244\336\4\325\344f\352\223"
+"^\321\367R\356\360\22\267\77\245\215<\251\215\274\302v\202\355\336\264"
+"\4W\32\\\343\215j2\334\261\332\37&\303M\337\37\227\211\210\26\17j\236\301"
+"\257I\217}\274\371\204s\350X\377\232\336w\335\360\f\350\374y\321i\240e"
+"K\271X\0\3407\352+\4\362\353\r\237\360\333\375c\342\344\344\364\37\350"
+"/{\36w\310\262\'\255d\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\3\'IDATx\332\355\230MHTQ\24\307\377\316L\2433~L\221}XF\223fe )D-\372 "
+"KZ\4QB\20}AT\33!(\250EPH\20mj\23\326\42\7\223\26}@\21\204Q\13\27m\254\240"
+"\222\220\nE\262L\22R\313\f\34g$\215\323\342\335;\335y\357\336\367q\205"
+"\332\274\2639\367\235\363~\357\234{\337y\347\336\31\300\27_|\361\345\37"
+"Ke\2416\272\223\210\256h\262\325DD\364@\17\276ODDt[\13~g\300\324\312\r"
+"\301l\177qipB\t\307\352\f]\263\360\261\304\273!EDT/\361\344TE\0\364\263"
+"\320\262U\13\62W\231\305\323@D\215\0\276pz\267\345\226\215\314\323`v\354"
+"%\42\242&\201\356\260\300\7UI}3\354\227\377\322\235\0\200\200pO.\323\21"
+"\63\\l\250\323\27\201%\203\0\200\253\226\310GY\344f\263\343\t\237j#\200"
+"\227D\324\2\367\360\42\16\323\31\0\265\307k\340\1FY\206> \232\3\256j\353"
+"S\5\37\335\364\16\243o\25\33\204\302\336a\364\2566t\367/\r\30=U\0\200}"
+"\252\264\213\230\226w\213\367%\211\217\315%o\263*\36\300\272\265\13\0\0"
+"\215\334\230\30\2\200\311\17O\1778&t\203\224\262\315\211\255W\263\224\262"
+"G\3\330j\343\215\304\34\340\271v\356\250\3\334e\347\376\3520\347\3456s"
+"\276\345\270\332u\3*\266%lO\346\0\0\362\0 \336\303lc\345i\0\230\236\366"
+"\322\227\333T=L\275`\326\245\35\327\201\13\230N\351\300\371L\247\305\33"
+"\16\rJV\362Z\310\362\240\317\314\265E\260\355\221\277\207;\26\370;\363"
+"\254\27l\317\25o1\317\234vL\222v\231b\272Ef8$\201_(\340\21\263\201\247"
+"T*\330\326\310\263>%T\30\203\371\3562*\226\376\261\315\363MA\322]\367\36"
+"A\259\352\366=\313\42\7\310{\221\204\314\17\361\2\27x>\341\bp\341L\340"
+"\242\231\300sf\2\363\332\230\322\201+\231f{\314\256\266\221\256sA\257]"
+"\250\33\0p\336e\373\344\333\77\203\237\211\7\211|\227i/\23\323>,\251@\333"
+"6$\302G\330ER\7^l\214\'\341\21\36\23z\341\33\257\360O\0\363\330x\320%\234"
+"y\245\343B\377O\272\2043\307\325\t\341I\323.\341<H\372_\216\16<\245:=;"
+"\301)a\256Ku\42\17\263\361&\227p\256,m\304u\26\254\223]\264\352\300\374"
+"\207@\355YW_\344\16\336\363\13\0 \77\263\263t\254P\42!\371jc\242};\377"
+"\265\325\213\327\3)\2B\271\321p\246\fG_\335\25Kw\77\17e\\\256$\'\251\26"
+"\346l\332\241z\257;\315\363\2220>\221\35\31H:\205\26\42\363\357\37677\224"
+"{h\275\335Lg\316*\303%\366\35<\353\213k7\222\251\20L\t\273\254\233\262"
+"\36u\262\275\257\343Bi\226)\336\242d\37\206\35>X\0\230\35\217\315\262\336"
+"\225\354\37\362\3775\362\305\27_\376\273\374\1\213\320\274(\210q\304\17"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0"
+"\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\353IDATx\332c`\30\5"
+"\243`\24\214\202\21\n\30q\210+\253\260\77\272@\236\221\2G\377\377\377\377"
+"\377\223\36Y\2327\374\377\377\377\377\377\377W\310r\366\177\2\236\202\2"
+"&l\202\262D:\20\253f9J4+B\351[\344h\326\202\322\247\311\321l\b\245/\222"
+"\243\331\224\22g\13C\351\7\344\244\221\377P L\206^q\230fB\nY\30\30\30\30"
+":s9\177\36;\177\367\365\267\77\177~\377\371\363{6Lr\356\n&\26VfFFfV\26"
+"&FV\16NV6\36\311o\247\246\241\30\320\377\237$\260\22%m\377\'\321[Z\327"
+"\21\241\315Hj\230h!E\25\251\26\63p \307\363\35\22\65\337C\346\330\221\26"
+"`h.\325\234\361\203x\255\257\2151K\22\36)\21^\16\26V\26V\301^\230\320\214"
+"3pe\377\376\374\372\365\343\327\317\237\277~\276|\217\327K3\241V\314\42"
+"\'e\77\203j\16\241$[H\223\241W\223\330l\201-\77\273A\351\33\344h\216\206"
+"\322\253)\361\2625\31zM1\274\314\312\303A\254\346\311P\275\237\31\30\30"
+"\30\324J\217B\271\237V\307\211\20\357\352\205\f\2\355h\t\363c\n\241\274"
+"\nSy};\266\204\35ET\332\304\5\266\343\253b\t&\215w\22\277q\305s(\3010\21"
+"\272\217S\3525\21\31z\1\16g\233\236\3020\356\327\211G\177\304MDQJ\236\303"
+"X->\207f\311,Sx\305\271\0!\372\f\253^\3T\255\351(\222\234{\341\22f\330"
+"4_A\326\332\217!\335\5\223Z\217E\257\23\262^S,\nv\343\311\352\277\20Z\317"
+"c\365\26\'LZ\rC*\13\241w\5\216\230\\\7\225OF\227`C\350\235\201+\31xC\25"
+"\314G\227X\5\327;\17g\32\222\200\252\270\212\236\354\340z\267\341i\n\340"
+"\b1\27\230\370C<\t\233\31U3<c\274\2021\324\361h\346\301%q\26b\246\t\276"
+",\245\216+\242\271\377\377\377\377\377\177\t\336\374\350\2153\225po\371"
+"\377\277\24\177fn\201\352}\216-<\b\225\4\67\240\2327c)I\376\22\322\f\13"
+"\314cx\332\236\270\0\274\220:DFm\362\222\370\n\24\3\370\303\364\336\42"
+"]\257 <\1\307\222\254W\2W[\212\b\200\224\333\313pv\312|4~]\277\377\370"
+"\'\252\240^l\t\266Z\206\5M\357\224l(\343\341\215\373\317\336~\375\303\306"
+"/\253m\313\205\242\304\f\227\343T\bW\30\2518}\26@Po>z7\1\251\357K(\334"
+"\202\326\343\226s\301o\355\tq|\6\363\343\323\372\310\231\200\263\342pj"
+"\235\245I81(\24m\177\211\256\357\303\212\4\31\22\6\34\230\204\370y\270"
+"\330\231\31\376|\377\362\376\325_\206Q0\nF\301(\30\234\0\0n\16\230\301"
+"\232~\313\32\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0"
+"\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3#IDATx\332"
+"\355\230]HTA\24\200\317\352\352\322\256\226e\246\220EY\tV\226\77\375\200"
+"fn\205!DJD=\364\220\4\25\221\20\325C%\30\24!\31\245B\20\224\225\211\4E"
+"\217\321S\222d\366\247\305BR\tB`\20$\271A\77T\270\333zzh\346\376\236\271"
+"w\34_\n\356y\271{\3179\337\234\231\235s\316\314.\200\'\236x\362_K\311:"
+"e4g\4\21+\24\341w\210\210\270^\211]\216\250N\257\302\251\320\261\251\320"
+"\305h\240}\264OYI\326X\344\251Y7;\n\0P\34\341\357YQ\22\365u#\42\342M\243"
+".\374\25\261\321\24\373\30\35\267\211\231ktU\36\42\42\3360\322-4\374\303"
+">v+\332\3502\32\346\23;\252\253n\243\225n\246\331\31h\237v-\32\351\320"
+"\3013\253]\322\b\213\f\312.\23-\226-\334o\216Q\333\311\265\'\34\341\303"
+"\334\315\254\276F\253-\322!\360\272\314\324A\'x\2209}\263\32.!\42\342\220"
+"cd\36\270\307fiCD\\&\5\267\332Mk\233\352C\372\233\337\356\220\257\245\270"
+"\335\326\337o\252\1\0\200px\201AU\247}\352\235\320\265\237\7n}\240\246"
+"y\32\345\244\210`\347K\262x\337J&\1\254\224\355\42U\4\354Wn\342I\0\257"
+"e}{)e\247\344\232m\325\357\3\08P\223\17\0\277\307\177\306\22\0\33\364\323"
+"\301\350\30}\322\361\306}ru<\320F\2315[d\32\377\320\243\0\363\r\31R\371"
+"\376\371\254\317\302\344#k\325\320\255\20\270\202GNU\210\254\265\333\230"
+"B\344/,\360u\243\322\237,\305\246\360YW\1\0\314\334z\356\3618SD;k}.\360"
+"N\16g\303\2426[\202\366\225;\302\17\271\337\205\367d~\17.\221\330e\261"
+"\34\22\262\333%\212\253]\4\277\222)\315+4\233)W\330\365$\334J\271\216<"
+"\357\213\214\232UyR_Ws\251f+8\376KSG\b\366\224\245\325\26[\354\225\232"
+"\311\276\337if4\227\30~\200\31\237\211\23D\342\256c=\243\33\r\350E\321"
+"^\2263\207=f\365\32\3[-N\301\304_\217G\302\356\235\343\220\277\315\206"
+"+\207\336\f\264U\f\373F\35\340\7\354in4\325l\310\27\3165\233\307\334\26"
+"R\3515\354R\360Y\f.\264\350[$X\310f\360R\253\241\264a\207k\237*d\360<\225"
+"3a7\203\3*\360=\231;\244K\237\372H\37t\316\262\215=\357\250\4\36\25\326"
+"\244\304\205\b\247\260d\316^\235<\32\30\343\360\334\311\242i\'\265\262"
+"\353\20\336l\251\204\316-\250\3305]\177O\236 \257\314\233Vd\0\200\317\37"
+"\b\246\246\244\6C\351\31\2632\355c\205\'\310\246\377V\246\347\357\243\247"
+"\327.\303\356\25\254\355\273\4[\251~\300v%\273\376(\22\311\335\305\16["
+"\262\337\211\374t$\350\274\241\r4\27\177y~3q\247\267%I:\33\36\23\361x,"
+"\341\375\233\345\211\'\236\374\323\362\7(\35\277\213M\235\233@\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\225IDATx\332c`\30\5\243`\24"
+"\214\202Q0\nF\301(\30\5\243`\24\214\202\341\0\30\361\313\252\251(\253\250"
+"\310\211q\376\375\374\346\361\275\233\327.|$\322X\275\302\375\3771\301"
+"Lu\202\32\255;\236\376\307\5\366K\342\323\330\375\346\77~\340\207]\243"
+"E\333\323\377D\200P,Zg\374\'\26\350b\204\366\362\b\354\316\271x\355\371"
+"7\6\16\21e\13V\270\320w.45\42\230\26<\232\30 \213\254\304h\26L&\17M\263"
+"6\252\306}\231jX\\\301z\22*\215&.\212\320\270*R\fgd@u\'\243\t\267\376\377"
+"\377\377\377\247i\36\234x\223\0\13D\363Wtq\273Pk\42R^5D\267\2y\331\1\242"
+"\271\202<\315\'\376\377\377\377\377\377i\3624W\300\303\233\211t\315\367"
+"\341,24\377\241D\263\20%\2325))\271n\374\377\377\377\377\377;\344\331\f"
+")\210v\221eq\26$\246<\b\226\236X\0\323_DA@\262\263\357A\250\255d\270Y\351"
+"74\327j\223\254\225\7^\312\255\42U\253\323nDq\301B\212F\211\370}\310e\224"
+"\1\261\372\204\35kN\242\25\2146x5\264\277\372\377\377\377\377\177_\337"
+"\177\302Rh\377Q\301\253w)\276\2\277\17\277C\5\360h]#C\300\22728\265V\363"
+"\20[\304\241\201S\271RD\5p\30\252\266W\33*\\D\210oV\310\330\312\374\371"
+"\366\375\373\267\317\237>\274\3712\332\366\32\5\243`\24\fO\0\0z1\f\277"
+"\3621\365 \0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\353IDATx\332"
+"c`\30\5\243`\24\214\202Q0\nF\301(\30\5\3\1\30\t\310\313\313\212\361\260"
+"0\376\373\363\343\363\333\247\317H0W\257`\357\177T\360k\216\35\21\372\204"
+"\374f|\370\217\35tq\342uh\346\376\377xA1\16\215<\341[\376\23\6\27\3310"
+"u\332M\375\367\237H\300\207\242Q\255\362\356\177\22\300\7$\255\321\177"
+"\t(~\365\24M`\31\\o$NM\217\246\306[+@}(\36\276\13I\306\1\246\371\rV\215"
+"\207\36241\202\245\1.\373\6&\204\251qe\244\4\366\350\220\204+\261\205\b"
+"0\243j<\34/\210\'\25\300\25\357\306\264y\242\31\241\304g\2S\n\345/\206"
+"\360\316\244\n\21\223\344\217A5C\2239\367\314O\257g\331\22\233_\34\240"
+"\232{\310\312\305P\315w\310\322|\5\356i&\3225o\207\5<9\232/Biir4\77\201"
+"\322b\344h\206e)\1r4\377\204\225\34\344h\206\25\270\34\344h\346\206\33"
+"B\206fI(\375\205\34\315\332h\241N\22\330\7Ma\\\4\253\33li\233\2\77\253"
+"B\351C\344\244\355\f(\275\222\202\34\371_\216\f\275ih\305\20Y\26O\42C\357"
+"\22\230fe\322\365\302+\227\33\244\353\265\202\227\321v$\353\265C\324\f"
+"$\353MET\16\242$je\337\201\320\33L\242\3362\244J\251\232$\235\322}\310"
+"Ua\33\361\329\354z~\241T\243e\270[\2006\206\42\360\352\224]HNO\f]A\340"
+"\6\234\366\354\42\320:\371,O\\\260`\3\323\361y\3600~\275NxC\347\31>\255"
+"-\4\202v7n\255=\334\4\313\30\34:w\371\22\23\2533\321\265}\334\323\352/"
+"ElK_ZC\340\357\237\337\277\177\377\372\361\375\333\227O\377F\373B\243`"
+"\24\214\202\301\f\0\375\227\33\375\331Kn;\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2vIDATx\332c`\30\5\243`\24\214\202\1\5\314$\353pK\24"
+"\272F\256m\273\377\377\377\377\200\225<\275y\377\377\377\377\377\377\7"
+"y\272\317\377G\322\315D\242\346\7\20\212\37539v\233\377\377\377\237|\227"
+"\'\302t\37\'\307\327\2510\335j$h\222\250\233\341\312\300\300\300\300\220"
+"\1\325lN\274^\273\377\377\377\377\237\303\300\300\300\300\220\r\321L\202"
+"\305\20\r\363\21\221\355Lz(Ctk\326\24\210\220`\261\346\177\24\335$\202"
+"s\224\350\346\206i\376\337H\221nx\332\42>m\177\345\201\261\344\30(\260"
+"\233\274\314\314\375\357\377\377\377\377\203\310,FX\372\337\354\263\32"
+"\f\245\'#~i\1a~.\346\237\357\237}&\311P\16\307\232\35\237\377#\300\343"
+"\16=\42\65\372.\372\217\r\224\21\324i3\345\357\177\234 \35\217F\221\364"
+"s\377\361\203\323\34\330uZO\373O\f\220\306\320(\234r\352\77\261@\0E\'["
+"\345\237\377$\200g\310ze\177\342R\366gK\205\257\2568;\3\3\233|\3106\204"
+"p7Z\265\207\t\326$\250\240\372\214\367\0\\N\5\275XD\6\213\375\270\260\205"
+"h/L~/\242vG\213\2134Q\2341\271\27\63\304\221t.s\302\233~\330a\352\372\340"
+"B\217\241\42\323\f\b\246>\270\303\341\42\336\377\377\377\377\77M\227\230"
+"D/\f\323,\13\27\222\262R 6\257\275\200jN%\'\367\327C5o G3\254\306\372E"
+"TI\202\6X\177\241\24@\2445h~\303c\215\f\315\fo\240\264(9\232\317Ci~r4\337"
+"\204\322\\\344h~\f\253:(\361\363\77r4\177\207\322\77\310\321\fS\376\221"
+"\34\315\22P\372)9\232\315\320S\13)\0V\3360\220a\263$\224^D\216\305\375"
+"P\233\305\310\320\13+\304\236\222c\361>\250\346\b2\364v\374\'\277-5\27"
+"\2467\216d\255F\277`z\237\223\34TK\21U\203\26\211zk\221\252\225bR4r9-F"
+"\256\314\326\342n\207\211\206\333)\t\361s\262@\205\2311\n\327\363F8m1&"
+"\324,8CL_\0\7XFD\246\301\5R\30\310\326\274]\24\177\310\266\342\326\272"
+"B\235`\274\364a\323wwC\231\tqMf~\16\6\6\206\277\177\376\374\375\377\367"
+"\17\231\275\211Q0\nF\301(\30\376\0\0\342\261a\303M\377\256\220\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2BIDATx\332c`\30\5\243`\24\214"
+"\202Q0\n\6#\320+>\371\341\224\7\351\372X\34\273\237\376\207\0=\2224\212"
+"\206.\371\217\4j\31\30\30X\210\322\250\346\22\342\210&\244C\224fK\317\b"
+"U,\302\337\ti\346\263\367\215\345\300!w\32\237F\205\244-\377\361\1a\\\32"
+"\215*.\374\307\17Nc\rlv\327\to\360\353\373>;B\23\213F\311\250U\4,\374\377"
+"&\5[\30\250\25\34\375O\20\274\265\300\32\35o\376\23\1\312\260\'\36b\264"
+"\376\267\306L\255\f\f\f\f\341\304\2442\305\7\3305\233bW\276\341\210R\26"
+"\234#\375\f\207\241\2331\335\270\42T\220\201\201\341\22\234\257\210\323"
+"EsQ5.\n\340\205\210O\200\13\31\342\366N\n\\\321\337\331\336\210\210\364"
+"\200\13\273\340\t\13\316s\377\377\377\377\377m\232\33J6a\202\353\215\307"
+"\33\222\254a\311\216\30\202\360\274\337OFQ\5\323\373\234\214r\356\42\341"
+"\200\306\t\faz;\310\260x\'L3\31zYaz\13\311\320\234B\201\305\f\327\240z"
+"\247\222\243\31f\261\2\3\371a\375\7\257*&\354\302\16P\272\227\34W\303\312"
+"l\13r4\177\'*\254\31q\204\27~i\274~\206\351\271\313@\206fQ(}\233\34\315"
+"\2P\372-9\232y\240\364\77r4s\241\321$if\207\322\302\344h\206\211\312\222"
+"\243\31\226\244\225\311\321\374\225\270t\210]\363;x\211NF\322f\207egs2"
+"l\376\tc\270\222\223\253\316Bm~D\216\346|\230\273\371\311\320,AI\221\317"
+"\360\32\246\233\215\f\315\3210\315\273)){\377\267\220\2419\6\256{\6\31"
+"\272\357 \332\32v$k\226Cj\342|L\347\42Qw\24J\23\351\307\234(]^\22t7ckD"
+">\275tty&1\371\245\37W3\364!\244\204d\306\333:\370\343\204]\202\377\327"
+"\1\42\354\366\305a\365I\242\374\315\267\7\253\346{D\6\233\303s,\232W\23"
+"\35\352\346\33314\7\220\22\347\316\323^!\353-\42\246\16Em]\ts132000|&\247"
+"A9\nF\301(\30\5\64\0\0!\5\353\333\177H\267\362\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\2tIDATx\332\355\330OH\24Q\34\7\360\227&\262\32\344"
+"\37\202H\24i\211r\355\220$*\322J\t\375\2034\17\241B\207XP\244\2/\251X\20"
+"\26\230zP\311J\317\235<u(H\353h\b\205\7\21\n\242\365\264\264\342\n\341"
+"\37R\24\302\374v\350\275ig\366\315\354{\277\327I\346w\31f\230\17\277\267"
+"\357\357o\2261\77\374\330O\221G\247#\300\267\223D\333\7\0\b\3210`\240a"
+"\242\'\214t\234\246K/\25\222\365K\0\367m\372\210\262\355\6\0<I\326\275"
+"\312x\23)zT\31o!E\237U\306\17\220\254\337\1h\326\350\260\5\233.\255\326"
+"\33\341\25\233\326\214\203\2\343*A\27\b<\315\37dh\340\265\343\242\r\244"
+"5U\3617\3635\332r\256\7\200G\342\356\200\246>z+\347\325\227\377\262\25"
+"jd\276\320T\236x:O\310q~\214/\214\240&\254\33\335\260\246\7z4`xd\25\266"
+"\230\264\3159wx\256)R\220\362pG\1\327^\217\3107\231Oi\232Z;\224\200[l\6"
+"<`\315\240;\4\360\272\304\rV\365/y\270\275\211\306\42\27X\331\37\367\312"
+"\210\347E\256\215\355\204w\274\311v\377\241\35il\304\253{\267\275m\275"
+"\322\261)\217:O\233\345|}\252%\330l\3354(\36\330\0\20\355\n2\306\330\234"
+"\270\357H7\373\77\213\241\34\17\363\'\367\204\35H\273t*\327\1L\267\36\372"
+"w\22[3J\351\334.\264\335~\345v\213\260m\334\20\211\213\r*\236\333\4\333"
+"\306\355w\223R\3534\301^\344\366-%\361G\203\336\22\255\376\300\f\306\251"
+"\206\202\24786)k\237Ql.\307a\n\256\3468\240\362\262\263&)\223\35+\252\370"
+"\224N3\235\370\204\t.1\301\371\374J\3520\21\307(\370\7\277\206(8*J\37\312"
+"$\271\313\'\311:\5\237\21\373\310a\223M\350!\5\317\300`M\212-L\343\303"
+"Gv\354]!\340\233\226\276L\320\313\226\36\326\307eI\307\365@\261n\275}g"
+"\334\326\375\263\213\253\333\277~\357\376\214\355*\345\36\223W\'/\234\357"
+"e\312\360\373<\351\256]\305\324N\202vi\3525\305^\13\306d\2320\336\332\231"
+"\31c\254q\301\201\373\364\306<\374x6\251\364%}W\345\344\6\2622w\342\376"
+"\37r~\370\341\307\276\212\77&\343]\316\335\336\323q\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\2&IDATx\332\355\230O(\203q\30\307\337m\b9H"
+"m%766\251)\273H\243\\\220\222\232r\260\213Dn\342d\321\312m\27.\312\237"
+"\232\23\211\3\27\'9(\265\34\264\303\222\224\30b\7\334\264&d\217\303\357"
+"\375m\357;\357\273\367\367{\336\24\365\373^\236\275\277w\237\367}\367\274"
+"\277\347\373<M\222\204\204\204\204\204\24\232L\302\211\37\311\316\0\0@"
+"+\16\376\2\0\200\25\34\f\0\0pn\370=\253\306Z)\t\16\24\314\254\337\202K"
+"P0\220Pf\b[\264\326\262\344\32V\fLom\371\227\3316\7\227\232\201\35(\370"
+"\221\204:\24|IBC\341\2727\320c\234\210ER\223\21\345\232}\374\24\0\340\300"
+"\20\36#p,\267\320\266\fT\3F\260_\376\429\352\330\1\205\26\214J\347F\216"
+"\266/\311;5\252>\367\306\350Cp\24\201\37jg\2055\304\340\2121\35\364z\204"
+"a\323\356j\221[\275<\336\253P:\\\317X,5\17j\3623dg.\264\16\65\32m\344("
+"\322\240\n\35\343*\360)\5\231\351\3074H\242aNc\31\315\243\253\274\246\324"
+"\225g;y\331\352\34\232\252\344v\303\4e\317\20\223\be/\30\1EK){/\332\203"
+"\212\33\340\22\375\340\346\177\350r\372\320s\210\3361\17*\347\302\214@"
+"\0\1\4\333\204\270q.at#\317b\236\372J\276q\225\211\237\234\302\364g\272"
+"\227\243\30\230\266\323c\f\\#\307[\f\\!\307\264\231\231\244\4\3g\250\37"
+"`\340\279\27200MT7\17l)\2307\2636L\302\366\344c/f{\366\311\3733!\231\251"
+"\347 \6\336\246t\13\2v\345\34\277\36A\37\202\t\'\252U\314\2a\237\215\347"
+"=K\2224\261\256:\365\24\277\274\177~\315|dU\266\226\276\313h_i\rX\2447"
+"\212m0\321z\369\315\2\'\365r\340\2143\320\372)\364\35\32\261\261\242\257"
+"`p\277(<d\324\212m\315nO\263\307\2511]\244B\233\342\37\31!!\241\77\242"
+"o\206\3\233\211\227\302\5\201\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\252IDATx\332\355\230Mh\23A\30\206\77\267i\321\266\220bIz\360\217"
+"*\324b \226\200\342AT\4\305h\221\42\210\2425P\320C\305K\25\275\204@E\241"
+"\240H\355\335\37\210\77\27\17\365\240b\245\7E\364\246\36\64\364 \4k\t\210"
+"ES\251F\233\244y=dv\263\233\335\235\316\314\202x\330\367\262\337\16\363"
+"\314\367\315\316\314\273\233\20\371\362\345\353\77R\203\\\367\256\236\331"
+"\242j\252\'\0N*\2627\1\0g\324`@\235n\204\27\372\261\27\272E\207\261\335"
+"\13=NDD\232\275\307\226I\0\351\240\245-\236A:H\364\253\225\335\207\\F\337"
+"P\35\373\271\271-\1\0\350\250\345N\270\300\27Yek\354k\324AD-\237\1\334"
+"r\233\3273\326s\207\255\230*M\275C1\327\207\362\226u\334g\317\314hC\232"
+"\320S>\253\7_\332\345\341\321\21=\272\301\357\350T6\321%\275p\371\314D"
+"\251\341\352uN%3Q\22\0\320\257\6\323)\0\247I\21&ZWw\257\311\234\213i/0"
+"\375\33XS\201\177\262k\233\203\211\205\32\227\200g\3305bi\r\365^\315\240"
+"\370\265x\205_\313\20[\252\17F\313\326\344;\343X-\341\3711\313.\3369\232"
+"\207E\23B\326\216\353\321T\16\66\345\370\360\24xz\315_\220\333|\343\347"
+"g\336\303K\374f\271\251g\300\16\17\270\fZ\371\230\233z\361\200\2337\374"
+"\322a\236\251\275kE\266\353`=8\321\37\22\334\351\201\272\264w\266\211\237"
+"\222\250\205\314\366\311\234\260\203ftr\223\324\351L\230Wd\243\334\311"
+">fb\343\222\256\260\253\206\336\227u\224p\215=!mGY\203\215I\263\347\r\266"
+"S\232m3\330ny\17M\353\354~y6\250\263c\n\346}\331\351\345+\371A\212C\nl"
+"\267jb\215\210\16\263\370\202J\325\31\226\270]\26\\FD0\305\262e7\261\360"
+"\241\312+v\25\13_\251\300\372T\77\251\300+X\270\240\2WX\270Z\5\376\301"
+"\302>\225en\3257X\203\227\255}O\5\276\253\323\307\25\340\315\206\217\34"
+"U\240\337\303\203\33DL~\77(\373\343{vq\267\321p`x\2403\34l\16\240$<\306"
+"8\367#\6\213%\246\357O\2178\320\217 \252s\16\3645a\332\251\362\270(\274"
+"\322q\342#bp\263\313\'IR\200\315\270\77\366\236\261\22\237\235\356\262"
+"\32\240m\200h4\262>\324\2640\367-\237\237\237/\24\n\177\212\345r\271\202"
+"J\271\364{&\353\3771\345\313\227/_D\177\1h\n\217R\207\235\rf\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/"
+"R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3%IDATx\332\355XOH\24a\24\177k"
+"\352nE\245\24k\251IF\245\35v\13\205\f2BA\21C\203\244\255Ki\210\224iT\236"
+"ZB6\203\16\35\352 \211\20D%i\206\340!\361P\24u0(\261\r\224\250\226\260"
+"\42I#k1\242\26J_\207y\263\2633\337\237\231\235.A\363\273|\363\376\374\276"
+"\375\336\367\275\357\275\231\5p\340\300\201\203\377\24.\275\270\242\245"
+"b\376^g\314\326T\313\246\20\21\'\\\266\310m\210\210\210\365\26\335StR\231"
+"2\354\260E\316Q\2065\266\310I\302!\377\25\276+I\22I&\267\13\3E\313\1\0"
+"|\253H\373~\22\0\0\242c\267\'\315&\250D1L\223\355\235\204\374Lq\361\272"
+"Ed\224\1\0\240 \202\210\227\n\355\221\357\323\363\371\\\226\34\225pg\364"
+"\263G[\215\353\77(!71K\33\255\325\263k\37\n\250\257\33\270q\335\330\314"
+".\77K5\266\31\f\275\314\254\27\305;g\324g~f\330G\214>\36\62\260\3053%d"
+"$3\231WN\206A\336y\356\274\303\36a\42.\220\276E\220Lua\t\371-\351\213\205"
+"\211\234\336\374\211|&D\373%\275\343\336\366\5D\304\200\241\335l\214\360"
+"[\20\203\374\312\314\221\21\203\256\211~\370\256\345\332\221\252=\356\241"
+"q\230\347\347\256+N\37\37\232\1\263\233\271\205c\313\235\225\227\206%\242"
+"C\0\0\270\256\230^\211\310\25\302\374\2\200\37\334\211\265c\251\242\261"
+"\237G^Lc\232\340\227\77\320\344\1\331~\244\231\354\327j\33\344\2\331~\t"
+"\310\361\230\313i|b\247W\355\243q\300N\233R\27\346\203\344c\316\223\206"
+"l\22\363n\265\365$\263Z\365b\34\242\361\2461\251s2\322b\323e\326B.I\320"
+"m\2772o\254{\334\230}l\310\'x]\300\303#\237%\343T\274X\362[\310~\36\371"
+"#\31\317\221|\\\324\273\16HB.R\304\26q\347\373Rj\344V\353C.\221v\354\307"
+"\371zr\77\351\303\212\370\23\345\270\346\341\255\372\30\0\0\4\64\267G\247"
+"j\252\217\16\262\3643\32w\203\376.\307_p\272U\207\6\206=\32\'\207t!\247"
+"r\332h\230a7\250\246o\244\350\4\0\200R\222\236&\3045\300\220\203\306\242"
+"\353\7\0\200V\222\252\22\310\17\30\262\237n\325:\325e\34\0\0\326\2234\306"
+"~\77\300\233\257j\244\343\364\220M\223\35V\304\253\234f\271@\272\265\224"
+"\22\35\232\251\21\21\21O\223\324E\216.\301\333\312\336\276\36]\226\271"
+"\267Vn[\252\nAr\314\322\354+I5mZ\37j\311\263YS\325\223\252\313\224\354"
+"U\327\230\27W\305H\263\313z!\305\356M\212bH^\35uhO8\316\227\375\275/\342"
+"\302e\371\'\260\222\237\277\4\263f\314\231\177\335\374n\346sO\316Y*\310"
+"\203\274[l\271\21\r\263\334[\326\233A\320\310mL\246\225d\367%R;\26%\333"
+"8kzf\21\21\237\207\374\316\37\63\16\348\3707\361\7(\364\311\331\235fx\230"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0"
+"\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2LIDATx\332\355\227\277"
+"K\34A\24\307_\346nO\203Q\343\317$\240Q$\205 Q\253`eB !!X\231\42\255\205"
+"\377\201`!Bj\21\203\1\265H%\372\37(\210`*\265\260\t\b\42\202&\32\t$D\275"
+"hN\217\13\317b\337:3\273\263;\273;\205)\346[\334\274}\373>\363\363\315"
+"\334,\200\225\225\225\225\225\225\225Z\31*[{;\340W\312:\26\20\21g\323\261"
+"S\210\210\210/S\301.\213\357\22bY\0\200>z\370\346\177\333x7H\24\16\344"
+"\347Yj\331\27\326\217j}\220\242\216\225p\33\206iT1\344%\31\36\n\205\177"
+"S\4\3\200j\262\327d\2709t\242j\4\270\211\354m9d/\24\376!\300\367\310\376"
+".\207,\206\302\343\202\375\226\206\322\356\213yq\254\36\362{q\235\353\275"
+"I\367\301\3135\345\325\212u\316KI\322Hv>\20xq\21\231aLh\271\2204\253\31"
+"\0\324\246\335\317\f\0\252L\340;&\360m\23\270,\345|\1\3\200r\327<5\201"
+"OR\301NX\216\304\201\231I\267I\177L\340\274\t|vc\335.\230\314v\321d\235"
+"\231I\2061\223\215\301L&\354\226\t\2341\201s\211\341,7\345\3e\240sy5\301"
+"\275\340\243\350\233@\304O\t\340i\361J\200\210\2103\361\307,j\320\375}"
+"\235\252\345\274\353\372\234f\235\235J\267|\30\33v\270\331C\345\272\36"
+".\5\226\252\213\312y=|\356\232\25\334\373\210\312\325\330p%\3676\304;\326"
+"\30\77\177\352\224\303\327\301t`\77\b\36g\216\36\376\31h\371\220\312n="
+"|\24\360ny\367$}\327G(\305\370\237|+\252\257\262\212\226\367\2\235\334"
+"\367\214\25-\274C\366+\356\236\244\362y\361\215\246\333\16\365\361\37w"
+"\325a\244v\207y\350%\371:\270k,\232\26\266\3400y\304\253\352\27\r}\235"
+"\2179\317#~R|\215\206\37{[\2628B\300\23\1n\231\213\234\250\277\334\334"
+"p\253{&\275\357\335\217hY\f\234DD\34\363W\337>~\26\302>\225\317\236\373"
+"\271\243\222\362\203\242\241\252\242,\227\315\b\247T\351p\23\355g\270\225"
+"\225\325\177\240+\272\31\352\266\77\250T\34\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\3\374IDATx\332\355XYl\215Q\20\376ZEJk\251\6\325"
+"^\245\304\226\20\252\324\3U\221X\42\270v\t\211X\22K\210\375\1ib\211\250"
+"\n\361bKH\32\304\3\222\22Al\21[\354KH\bBK\211\255Jl\245W\35\17g\316\372"
+"\377\347\252\353\321\77/3\377\374\363\315\234s\356,\347\277@@\1\5\24P@"
+"\177Ou\334\257Z\247UEb\364:\2061\306v\307\206\315b\2141\306\326\307\4\236"
+"\315\301_\243\32\305;\364\359k\20\238\2616\313\213\377\227\237*\201x\223"
+"\211\275*\217\235\215\315G\273\bc\214-P\212\35\374\300Xm\300\373\271i="
+"\77pbzfjT\360\17n\332\325\3\276x\227\204\343\243\235`\262\30\350\1\353"
+"\2641!\352i\327\227R\23\237\b\213\42c}#\177\345\276\307\333K\261i\203_"
+"\344w\2345\223\7\350\330\336\222\255>\312+\334q!\177J*eNZ\342\374\251\216"
+"\0\0rX4\312\366dX\31g\331\0\60m\227\341\267\370z$kHw\365|>\311\216<K\345"
+"D\241\21\347(\31\214\375%U\323m\360 &Rl\273\271\310Li\262V\352<\271-\274"
+"n\262v\250\331,\20\272\221\216\24\363\220ns\220t\367\204\42N\200\375\177"
+"\327\17)F\4\221\210\325fz:J\371\206\361T(:\253\225\333\'M\320\340\267\234"
+"\3371\264E\304\247X!\6\30;m-\222}\252i\365\322<\t\21\371\256n\223\375\\"
+"\264\315\247&x\33\361F\356\343\36\5\324!1\3134\352I\352|\'x5\200\256$\327"
+"\367\267ZljS$\366\23\0Ls$\23\251\17\230{\236)\337/\3\200\201\216z~\314"
+"Y\256k\3253\0\340\23\227\257\330\340}\306\212(\362\4\255F\0 \231\313\347"
+"l\360C\277\345T\232\351\34\42q\270m7\235^\304k\221\2735\325\f2\200\34\22"
+"\257yr\335h\256\34\\\240\33\204\201<\22\337x\272,\361$WA\336\2\36r\351"
+"\276g{\371d\323IE\36g\30\364\0:p\351\220\7\374\223x]\5\266\332in\232\263"
+"N\231w>\3676-&\337v\235\227\244\32)\365\247\215\224\277!\341\262s8\367"
+"\2437\355ed\321\30\212*\366q\241\2173p]\342\337\245\246\202\334\265\261"
+"\332\340r/x(\275j*#\213\361V\206\275\223u\313S\0\200\316\203z\205~\226"
+"\3378wO\277Z}\21\66-\311\333\17U\306j\313s\324\343\226\24\237R\315\25\27"
+"\7\0\325\32\366\1\320\352\225\341m\31\66\333\3400)\n\324\255\2211\306\330"
+"<\264\261G\200\360U\355\251\224\21V\242\266w\216\21v^\3263\325.J\1\240"
+"X\372\214\274(r\346\310\5)-$w\31\0\220)\275oj\353\36\360Cd\344oz\336>{"
+".|^\312\223\356o\36~`F\276(\301\357\215\2\77!\f\32\212\304\333\31\227\23"
+"\356\22gd\214\374\231\321\227\326\22\6\0<\22K+!.\232G\236Z\265V\252\351"
+"\42\t\0`\260g\177\363\205\335\6\251\272\352\323G\324\247\205NC\205Y\232"
+"\322\345\253\326+\312w\25\206=Q.K\211\267\25\n\225\318\253\356S\343}\177"
+"\216It7+\27f+\314!\34\355BrU\226\337lsB\22\311\257\271\2716\262\206\35"
+"m\241|\26\207\200V\353,\23\65\320\237\32\372g\31h\f\0{\242^#\305\240G\252"
+"\241N\366\36\257\37u\240\211Q\321M\235\344\307\346\237IzU\20\365\323B]"
+"\17\262D#3J\351\2147\336\232\32\3463\5\247<f\354\335\212d\323\373)\13z"
+":\36\210p\361\313\237\277\231\226\352\320\252\260\326\363B\265\370\342"
+"j\270\222\42Un\356\256\365\337\232\220v\367\214J-\23\253\77|\323\236\323"
+"G\274.\t\376\364\b(\240\200\376k\372\r\312\236\32\t+\77\351O\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/"
+"R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3.IDATx\332\355\230MHUA\24\307"
+"\377=3#\77\210@\310WZh\221}i\366R\204\254\24+^\245P\21\342.\r\243\204("
+"\253E\205VX\31Ad\213\332D\22\b%E\331F\221\242 \b\304E\21)\202X\233R\260"
+"\262\17,2,\321\323\342\315\334;sg\346\275\353\323\345\375o\356\314\231"
+"\371\315\334;s\346\234y\17\360\344\311\223\'O\0\20ws\234F\257\316\212\16"
+"n#\42\242\226\250X\77\2054\337]w\237TKg\317\245\321\300\t\354\31\37\r<"
+"Ey\360\214\300\363\246\3\327\270\203\331\31(_19\364{\2\17\271\271\351\240"
+"\324kCA\3362\337\307\256\347ouC<%\247\36XmI\307\7m\3635\365\203JH\325\312"
+"PS\340\245\303~\310\t_\320\300\333\0 \255Sm\270\357\200\33\65p\16\200S"
+"\244S\233\fWi\272\0\61\257H\257\313\332\30 \350\23\26\223Qy\22\275Ki\177"
+"Tlf\351\233\274\317\310^\2750!\6\347\254\341z\262\244\321\7\356u\217\257"
+"=\23\307\253\245\355\232\375.3|db\250\37107|\3209KP\207\336\261#q5\267"
+"\371]\302\5b\207\367\314X\347\n~#\237\234|f\376\254\201w*\257\354\354a"
+"\273\201\242}\16\266A\351\301\2351K=\317\213\344\236u\265\n\334\312\236"
+"\271\352\314w\245y\3535\357\26\303\332n\253M\177D\366\2066z\260\306\36"
+"\65\254\210l\273>\364\364\233VL\f\n\203\206\270\325\42\300\322\202\211"
+"Q\42\323\0\367\233\242g\211]\314\35\65\300C\302\211\22\341\355v\361\330"
+"kS\270\375e\b\355\317\254\17\36\61\307\352=\302\345A\234y\253U:\339K\370"
+"d\270\322.\366\232\341X\366\234\224a\301\221\377\231a\376\255\343\22\234"
+"\232\342*\77\361\213\322\230\4\237p\227\334\370\24\23\22\35423\246\353"
+"\234$\3502\241\257\322\31\273\305C\261\321\f\223\306\267\323\262\246v\243"
+"x\7\0\263Y\345R\270\236\201\322M\313\347\16\367\276\350\30\4\217\271b\232"
+"\217\225c\227\364\332\247m\373Xu++\211{s\336\bo\321\'\221\315\232eP\340"
+"*C\256K\264\331\n\23\\fJ\224\346\211-\330Oaa\37\0\24\363A:\34\313\334l"
+"\334\200\4\253\324\307\206;Y#\317\234j\316\357V\222\315\260\336e\257\f"
+"\327\363\206\306@\312\222\302+\22\375\225y\b\237\357:v\310\360\0\253\36"
+"`\263\34\21\351\277\241{\302E+,\5eXYZi\356\357I>\0O\330o\252\221H\16\275"
+"_\252-\370\t\0xLDD\2310\315\314\222g\241~\263;\211\350\26\24\330\272\305"
+"\345\3@\255\311S\312\233*\240\302\202\177\r\377\b\357f*,\247\\\256f\24"
+"\271\202s4l\217e\337\35\36\266\222\213\255/\0\200\42\42\252D\4X9\316]\274"
+"!;\36\21a\314i\26\331\243a\274 \250\13C\311\r\23!k_UX\27*`\360:\347e%c"
+"\375\232\344\31\376\345>\203\377\31L\357\337\nO\236<y\212B\377\1\217\211"
+"\0\344\371\350c\6\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\375"
+"IDATx\332\355W]H\24Q\24>M\251\25e\311&i-h\77 \273\245\6\26\233RH\4\322"
+"CI\205\226l\342\n\32-\24\6i\201\364&D\20\204o\206OQdQA,\24[T\226\375\310"
+"\202\366C\377\230\21\205\221\6%\331K\17\226\323\303\234\373\177gv\354\251"
+"\340~/g\316w\3167\347\336;\367o\0\f\f\f\f\f\f\f\f\376s\314\364\16gZS\36"
+"\321\31.\374\302Hq\250<\344<\247\356\77\350\377\356\2739\213:l\5\335\245"
+"\276\244\341^[\217\246\264\322yWlw\354\364\326\326\331\236\270\235\341"
+"\241=m\247C\330U\373\322N\217\365z\2515\256\311\235hn\277\341\247\366g"
+"\226pq\3456|:\f\0\220\23\377\302\25135\332>\32\355\317\3\b\342\363Q\214"
+"\226\276\242\341>U{\214\6\33\1\0*\320\251\247\t\3654\241N\326V\322P\t\0"
+"\0\64\240W\301RB4E\26\323@\201\343\237D7\310\345\24\221\234VQ\333I\370"
+"b$\36\352\212\324jK/%lTn\211X\343\36\262\325<\231@2!w\343\203(&\337\340"
+"1\307\345\223:\263\350zF\342,\350KsT7R-\224Y\213\314~\227\217\262U\35j"
+"\3064\42\263\301\345\253\364P\242\6\2316\226s\n\251\200,N\312u\6\324\216"
+"\274u\231\16\20\223\3\350\337T[\367M\21/\347\326\226\5\0\225d\242\260\224"
+"\331h\257)\342\367d\247C\361\16\364\257\263\24\62\317z]\367\215\325(\306"
+"E\362\216\13\221\355\42\245\252^;\246\4\305\213\35\367<\227\261\5\355\260"
+"*~\356\230U\216\311\306!\330\244\216\327\250\246\275\35l\270-\200\\d_\260"
+"\204,P\33C0\306mzld\2772v#\332\253\32\361\204 \326\34\224\333\311\266\246"
+"\21\377\26\304\352,\202}\216\321u\31\346\n\342_J|\1\256\314.\2358(\210"
+"\177*\354\36\264=:q\231x\216\343\330\327Pf\324mUp_q\300\251L\16\375]$\\"
+"\230\347\330\343:\355\34\264w]\266\202K\350/\321\211\343\30\334L\226\16"
+"\372\270\272\n\321\35\366j5\255T\215\376\20N!u\233bh\301\340S\345mM\0\0"
+"\267l\217\341*\263\2257\37!\324\211H\234\36;\265\32mDwZi\16\365\217\32"
+"\355A\355\315&\346\347\356\261f\204\6\305=\342\211\254mSZ<\310E\263\205"
+"\320|I{A\272\202\36\230\344\243\21\351\305E\202\3662\37\312jx&\276\271"
+"J\351Q\376\'\26mgtN\353\230\334\243r\257\211\227\\\301\270\335\312@\16"
+"\5\\\256\314\353\252\n\306S\311In\355\216\310\25\16u\372\276;\357\225\312"
+"\236\21\207\331\362\24\7\5\257+7\366c\32\77\21\334\344y\23\235\356\37H"
+"`\312Q\336\211f\374\305\377K\370\334\243D\3632\363\37g``\360\217\342\17"
+"\7x\364z\322\313\5~\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\356"
+"IDATx\332\355\230KHTQ\30\200\377\231\271\363\200t\264\264\306\205Q\251"
+"\225nz,zQ0\201\264*\210\36P`\364Bw\201=\250\240E\201\320\242\7\21ES\270"
+")h\331B*R\42\241\242\210\212\42Hc\24\207\212\bTJ\260\354a\243\316\337\342"
+"\376\347>\316=\3671\347.\242\272\377f\316\377\370\316\343\277\347\374\347"
+"0\0\201\4\22H \377\251D\264V\270rjJ\262\223\206^D|\273\304!\42q\244\373"
+"U{Z\344Q\20\21\21\77\331\263\241\36DD\334!p\355Qa\254\266\205w\251\1y\243"
+"-L.\326\277-\274Z\375\211\306\255.\32\30\355\247}\233\42*,#\307\344\262"
+"\254\302,\313\217e\340U\244u\313\300\353H{*\3\257\'\355\265\f\314dP\2N"
+"\221\362C&\333\265\244t\312\300\365\244<\360\0\324\30O\4\0\300RR^\350\366"
+"\346t474\256\357\270\272\r\324x\336\31\213\227V\227\367g2dxI[o\232\26{"
+"\16]\345 \235\4\344\217E\354\227\373\374\307\222\246O\225\323Z\263=,\276"
+"TM\330\fR\357\352\207\314{\266Y\2\237h\326\17\36\310A\25^Hj\257\346\230"
+"\274\342\16\37S\177\316P\376\222\6\327i\227\\\217\356\245\4\77Z#\252A%"
+"\251\222h8\254D#\241\260\242D\222W\311\234m-L\214\215|,h\223t\255A\0p\234"
+"\202\346r\t\243\302\377U\262\f\1\0@\277\f\314\212\351{\31\230\355\350\317"
+"2p\2|\254Y\241f^\6f9\233\364\223m\370;a_k\316\373\201\307\377\330\310\5"
+"\77p\304\17\234\360\3O\227\201\331\243\261J\6\376I\315Z\347\367\245\215"
+"\235J\333\260\320\271\270\255\7\21\261\200\202\2\350\374\202S\332,\5{\36"
+"\27\62`\7\67\13\252\375f.\346\22\331\371e]\27\336\25)sP\23\231w\233\315"
+"\327ln\232\375\246\250z\262\3360Y\267\333\336S\331\231\256\31s\272\346"
+"\266\30\342F\310Vf\260m\324C\'rC<}Y\17dwl\223\1\356bq-\0\0\60\207\243\337"
+"i\367\361J\262\334\27\314z\'\351\255\374\340\345\16\213\346M\26\370\24"
+";U}\24\321h\277\267\27\361\206e\254q\230z\273e\77\3620\351\5\313\347\256"
+"\261\316\233}\1\232L\214E\314\332F\31\263\216\263\325\372\200T\13L\206"
+"\264\16\200\345\210\210\306\227\0\363e\365\363\253e\346bc\303\332\233L"
+"\331\4\0e\':Z\214\253\237o\235\367\33\341\336\22&\363!9\25=\275\42\366"
+"\254\20\256\372\206\210\210\355\6\323Q\257\3\3D\17\335\33\350\332g2]\260"
+"\260+\212\250\216\786]Tm]\360\314\200\336\251(\2664\327\235W\267\324\227"
+"\223\202\7|\310C\7\225\361\357\243\301\277+\201\4\22\310\77\'\277\1\27"
+"\2341\234X\270\312\226\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\3JIDATx\332\355\227\317KUA\24\307\277\276\f\315\264\2242\323TB*\n\354"
+"\7\b\366x\376\310\20k\221\241\245\375\240_\324&i\21\350\306\242\244,\202"
+"\372\13*2P\210\26Q\256B\255eh\217\240$-0\310g\bY\250i\277(\23\64O\2133"
+"\367\276{\357\233{\257wly\317f\316\231\231\317\374\236sf\0_|\361\345\377"
+"\312\42\357H\350\\\321\3607\305\356\232\210\210j\325\330\34\42u\372\20"
+"-\200\336N\13\240\223^ht\2457\360\310/\n\227n\30\325\3508/\354Y\42\42\252"
+"\320\351B\17l\262`tz\205\7\270\214\314\364\r/\243^KQ\372&M\327{[\257\7"
+":]6\177\350\370\b\321\313 \200^\r~k\251Q~\345z\265\234\255e \7\300\33\215"
+"N2\325h\'\42j\227\302\317\271~\3\0\f\b\330T\341\2\347\25\313`Q\377\36\0"
+"\340=\21\21]\222U\250p\200\37\263\325CDwEI<\0`\223\260\206\334W\257\270"
+"4\77\334g\312i\226ME\336\263Q\2\0\200\323l<\361x\303\30\316d\343\276\n"
+"\34\24F\227\n\274[\30\223*\360~\326\37)95\261\236\207\35K{cK\342\0\244"
+"\n\27\276z\f\0\220PS`\274\346\325\313\205\322\375\1\300\324\273N\363a("
+"5\355r\366\49K\225\tn\340\314Wl\265\271\2604gZ\260\20\253\35\234\34t[\241"
+"\2704#\\\302j\230\223%\363<X\346\345\\\303\326S\267a\223l/\204\265\323"
+"\215\2553\262\253,\r\226u\316\311\251H$\22\351o\335e\352x3\27\215\332\314"
+"0\213l\357k\0Hgm\300\6\376<\316\351\270\24^\311Z\304\373\261\216\302#J"
+"p\6k\23J\260\230\363O%X\\\241i%8\205\265\31%X\304\235Y%8\201\2659%X\\\22"
+"R\202g\240*\1\340w\324\233y\207\247\224\337\277\1\375t\304+\301\77X[\254"
+"\4\177e-q!\360R%X\304\2134\273*)\363\230s\206\325=\357m\31!\242\341>G_"
+",\242\2159F\206\272\255\356oL\n\13\7\370\332\220\225\336\343\346\2565\311"
+"\344\262\77\321\234\35R\317\273O\372\265\262\266\34\262\361\366\27\35\242"
+"\267f&\330\306\212\321u\266p\2660[\34B\315\371\308lz;\306;\6\252Oy\226"
+"p\331\303j\21\'\7\364\262k\5\31YA\313D\263\206\32\315\31\65\334\250xQ>"
+"\264\374|*\255\235\17,\223}\36Dl\22\326\36Q\272>f\350]\262\25\333\302\216"
+"PX\251\332k(v\342I\306\'\302 \353\'\0\350\367\4\271\42=\26\273=SF\243\321"
+"8\356\16a\364sY\276\376 (\321\2643\246\226rEn\20\0N\351\243k*/\254j3\36"
+"mn\267\3312\216Y.\177\6\0\211\362\r\276\f\0\'g\351\357Q\353$\352)\372\375"
+"\301-\247\'P\300\376x\267\32\r\2077\243Y\256\32/|\354\316R\223\243/\373"
+"b|~f~\264\260.\237\316\345]D4\251\375\27PgD\7\267\272\372\321\304\215y"
+"&\'v\373;\243w\266)F\301\344D\370\342\213/\276\370\42\221\177+\366\34\310"
+"\251\270\266\377\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0=\0\0\0n\b\0\0\0\0\261\23Dl\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3}"
+"IDATx\332\355\230MH\25Q\24\307\377>_\245\371QY\6\317\362+\215\4\265\322"
+"6\205\22J\332\267!\332\3024\213jQ-B\20\203\f\243LqQA(A\22AH\5\206\bVT\204"
+"\22\321B\20\372\0\25\222 \344E\232\251D\32&\226uZ\314y\276\271\367\335"
+"\36193\313\336\331\3149\367\334\337\334\3573\347\16\20\220\200\4$ ,\353"
+"\257\16\23\321\253\22+l\3703\362H\201i8\236tRa\226&Av\230\203\257\213\364"
+"\f\202L5-\331;\35&\340R\355\361\2410\267I\323N\230i\372\t\21\21M\2@%\21"
+"\21\215\231\241\177\22\21Q\r\0\304\22\21\321\264\231\236\207\2\0\226\3"
+"\300J\0\300\3739W\332\276\354H\3*j\261\366\34\324\246\32\0\356\22\21\321"
+"e\256\260\225\210\210\16(\320\310v\42ro\6\200\6^\251\13\245\2174%\215\373"
+"\244Y\263\n\272\203\210\210~\3@\234\270\334Z!\200\263\344\355\224(\16\366"
+"l\3\200\26\221\366\234\224)\303\266c\270f\31\0\340\233\36\356\2\34\0\260"
+"l\251V\265\336\227\346\tC\b\0\300\325\357\365\364\3461]\304\5w\374\255"
+"\331L\372i\217Z\267\t\200\23\0\216s\211\333\377\23277g\354\316\214pw\266"
+"\223|\360n+j\'\260O\275\245\35\0\326\261\336j:Z8\0\344\263\336e\211.\344"
+")\201%z\267\246\336\267D;Y}\256\362\257\345\347\32%\35\4ly\315\323\353"
+"\6\200\234\234\4\275\377\250Gi\1\200\37\275\217G\244\27\234\322o\362Z\362"
+"#Y\22}\217\214\217\221\257\fH\364\260V\374\24\0\n\374\322$\315\232K\323"
+"\272\1`\211\3319\17f\255O\214TF2-\232\211\244\17\63/\374u\374\244Hgs\361"
+"\n\355\34\67\216\317\307v\313_\336R\303\250\244\367R\244z\334\t\363\16"
+"\263\215\237\357&\325t\262\215D\302\201\304\5\307\225yz\376\311\32\35\243"
+")C\326h\216\271c\326h\226\357\266\350)[\364\264-z\306\26\375\327\26\355"
+"\264E\207\330\242\303l\321\21\266\350(k4o\223hk\364(\'(Vh\'F\264\3\36\357"
+"\353K\211\306\350\21\77\374\3e\\[T5!\204\303\267\6m+\203JM\235\2342\32"
+"\320\236\240\22\344m=\242\327\'T&\31\314\332g\351K\r\204O*\342\354@\260"
+"\222\36\362y\273r\214\33f\263T\305.\371\202Te\364!\251\235\347\232\324"
+"\241\2766\351\245\77\322\370\222\305\346\31o[e\25m\22\277\307\207\356a"
+"\17_\256\276\262y\r\0P,\341\2152}\211\35\271BW\6\305\f{N\276\270Dz;\227"
+"\337\4\0\254b\353\230\346\314\364\35}\261\230t\t\3_\315\306~\276\260)&"
+"/]\177\276i\202\365d\0\30g#\217\32316;oy\233+\27\32\277\310\357l\22\226"
+" \25\0\16{\254$\354\232k\373\274@\307\n]\357\234\3132\352\33G\365yV\330"
+"\33\326\245\254\323S\351\220a\312V\t\0\250&\42\242|i\315J\270\316\37\303"
+"\275\306\25\67>\234\352H1\334nE\252\r\342\263H\262\34\344Z-\0\200\33\62"
+"\334\340\'<\361Tq\202\177E\204\253\375F\307V\42\242\211T\266\262>z\331"
+"\276\214\5\4W\327\336\362\234P\257\31W\371\362\27\21\365\234\213\17\374"
+"\240\nH@\2\362\77\311\77)x\352\\\266f#]\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3NIDATx\332\355\230IHVQ\24\307\217\3\16`\232\242\246"
+"I\206\230b\205\226\24\66Q\b\2454\20\42\221$\206YVP$\331\42\f\303\210\300"
+"R\250EP\322\306h\200\242\202r(\27\322\302E\263\240Ya\3\215B(I\231\224J"
+"\210\335\26\357\234\373\356{\357\334\367>w-\336\331\334{\317\377\374\356"
+"\360\275;~\0\276\371\346\233o\276\371\26\210\5\351\204\364\265\321\235"
+"/\224rQA\350\303\253\1U\231\323 \204\20\242T:\22\77\n!\304eO0eW\227 \223"
+"\316\13Fy\24554\24\0\0f\24\347\306\2@pDRN\214\252n\275\205\231\\#\251x"
+"\344l,sR\360v\237\42Z\214\362\24\323\323v\r+~R\304n\3738L\323\261\342\t"
+"Ed\241#o\32\360f{H\255\23\36\323\260\227\34\365\367:\341F\236}\300\324"
+"\317\f\372\n\307N\250\21\335\350\234\307L\317\2509\341\223S\177\1B\362"
+"\233\244\224<\244\304\335(1\322\352\263.\363\253B6\274\301\342\77\203\336"
+">\27\66L\262\266\26j\205~\320d\327(f\334&\34 \241P\313f\313\206\27\330"
+"\224\275$\264i\3417\24\322hW*\205W\277\13\365\21{\244\264]\3OP\300&\207"
+"\264O\302#\2463X\t(\211\300\314\353{\168R\346f\346\261\r\313\312\263\235"
+"Z\2359\363z\270\226\213(\323\365\322\tG\233\331\334EL\303\237\250\352L"
+"FlV&=3\313\222H{\306\r\251M]2\253\365\243Z\316\301\335*\374\303!\377\341"
+"V\242\264!\313j-\265\251\311$T\272\177\tv\22y,\33\33|\302\252\376Fw{@\260"
+"\210S\305Y\344\315g\331\30T\317Q\230e\16\36v\357\365|T3\312(n\205\242\16"
+"\240\357.\17\257\227U\367cn\224\31S1\17\37\62\324a\2004\212\334i\36\310"
+"\344\n\343\341\353\206\332\n\0\'1rP\212\373\205\376\30\4\0\370f\310G\325"
+"N\312U\265\16\203t\27\207\4#\351\3\0(P\362\226=d\33\317\306\243\234\16"
+"\0\0\35B\b!V9~\257t\36\336h\371\216Q\337q+\303k\5E}\320\354\214\326\311"
+"8\273<\262\365\213c\16\350\366\325aC\355\264\271\215\37,\321\275a\2107"
+"\222\16\26\246n\77\347Y\372\26],\34\212\245w<\274CS\267\1Obi\220\207\361"
+"\220\30\2\26\36\303\322/\226]\206\351E\36\36\265\334\7\355V\203\351M\315"
+"}\23\277T\235\353.\2|\313_\261\304\36CG0\275\255;\\\335&\tikt\360S\fHp"
+"J\307<o#5\30p\334\271\30\211m\320\302Y\332\352_\221\22\253\277\6QH\223"
+"\315\177\212\204;.w\250\363\374\225\243J\356\362\251.\360\\\31U\245x\353"
+"\245\267\331\365]b\276J\372\350p_8`\36/!\256p\206r\20}\256Z\234\272\244"
+"ZA\305\26\217\'\321i\241\267f\317\7\325\240\226\355\365~\306\305\352\330"
+"\267\201<\2Sx\266#\260Wi\370c\206=\30\360\243\266\334\216\266$M\347M\\"
+"\366^A\353\23\247\375~^\232\235\26\27\64\62\320\3373\356\377\277\340\233"
+"o\276\375\337\366\17\357\313}\6\366\221^\250\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\3\234IDATx\332\355\230[HTA\30\307\247\213\233)\246"
+"\253\350\242\6\222%Y\221\25\25e\20\211\335P\273\221AB\24d\245\4\31Y\276"
+"\330\305,5\23\223B\3014\352!\25\262B\362\22!\6Q\204Ph\365 =\4%\246E\265"
+"\244\201\5\206\202\377\36vf\316m\346\234=\7z\333\357e\347|\377\357wfv."
+"\337\314\34B\2\26\260\200\31l\226m\342@\366\324\210\303\312BG\1\334u\b"
+"\327\0\0\369\203\77\0\0\360\304\21|\333\7\343\231\23x>\205\321\353\204"
+"^\305\35076\301\31!j\272\332\26[\17\274\214V\321v\330\373\0\0\217B\333"
+"`\23(\302\351r\33p\32\24:e\4\270i\247\325aP\321\304\343\262\327\327\'5"
+"\264];\307\351h\7\364\5\6\77w2\275.1z\216o\322H\302\342\222\310\300\230"
+"\352yS\232{\240\343\');OL1\2620\347\326w\0\3001\305W\f\0\330JH%\0\340\206"
+"\210[\226{o\2\212\255\345\371C\231S%\0\36\352\260\331k\n\36Co\375\372\205"
+"\270\227\20\22\273+Y\r&\236z\1\261E\352j\3561\264\265\21R\333\314bd\13"
+"\251P\316b\3\13\32\240\216\345\342\224&4\36TE\35\25:\330\204M\345A;\251"
+"g\334o8S\t\212g\276`-<\42c\17\212\252\310\321\302\245<z\270\341\242WaO"
+"k\242\246%\203U\7\340\335\225\f\17!$\\ak\264A\257\254\263^\'g;tJ\213a\364"
+"\364\226\311\331\317z\351\272\354\255\202\216\237\253\227\312\271\24\242"
+"8g\252\2\312\224=eB\17O\361\322ea\275Jo\345\33\305\22\301\264S\327\\\307"
+"\n\335\215\246\307\217\263\202\212=\374\325\242\34sU4\343\225\232\253X"
+"a\217h,\347\251\312\5\6\325e\276\357>\20-6^s\21+\354\27\302\261\232\374"
+"-\33\343\247\342)0\254Y3!Zq\35$\271B\270p\233\264b+u\377&\376\300H\22\212"
+"\205\376\301\375j-\305b\367\214\323g\212tUo\357cQ\77\304\360\2\372\333"
+"\305\34\352#\340\20}a\273\244\325\371T_\315\223|\256\361/\35\227\300\315"
+"lz\270\214\223\224\377\245\365\22x\324\'\17\262\375\22@1\323\2660O\214"
+"yg\267\250\32\371\215u\30\337\367\274b6\221\376\276&\204\34\242\345\b\6"
+"\'Y\34\'\322\351\357[BH3\3152\374\34\326a\221X{\250\34J\b!\351\2762O\17"
+"\275T\234\260\230_\276\2476\0\210\342b\37\25\277\210\331d\335\361\276\270"
+"\377Z\270\242\262\232\337\213\341\n*\37\25\252]T\3553ou\244\316\357\353"
+"\355\257\364iR\310\262\261\30\37\23\302C\364)H\b\27\231\246{\222M\333\345"
+"5mu\230\30^b6\316yV\227!\6/2\321Re\360$\r\2504JGd\273.\267&y\273\231\262"
+"Q\n\357f!yz\345\216\371\374!\204\220 H\252\336\306\374+M\26\35;\37\342"
+"\204v\227a\356N\263\25\273\3\242d\22\301\275n\323\365>\315\343\22\214\331"
+"\34g\314\223E\226\222\320\253}\233\261\253\26\252|%\274\325\362R\367v\305"
+"\373\253\375\223;c\251\352\3321h\365\321C~\202=l}iZ,ck\375\271r\255\20"
+"\263\255\376]\330b\275\2\266\301\357\373^\251\201\315\265q[t\327k\320\266"
+"(\233\267\315\2546\206V\306X|\275\20\273\343\243\203\377|\374\33\370h\27"
+"\260\200\5\354\377\333\77\7o(\4E6\315\242\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\3\224IDATx\332\355\227[h\316a\34\307\277{g\7\33\303"
+"\352]br\332\26\326\346\264\3aa\32\333\220F\333\205%)ci\27r#V\316R\213\\"
+"\220&E\334\314Z\33\n\27H\304\2641\32\311\305\34404\257\262%9lc\77\27\357"
+"\357\371\37\237\347y\337\277\13\245\336\337\315\377y~\337\337\347\377{"
+"\16\377\377s\0\42\26\261\210E\354\237[Jm\17\21Q]\212w\324\177\205\204\325"
+"ze\227\220\305\316yc\263\310f\247=\301\335v\230\274\260\263\231\351\353"
+"\374\13x\177\20\231\t\340\276g\370\32\21\21\35\65{\357\363\0\307\2\0\36"
+"\1\300G\0@X\260\257\252\355m\375(t\1\0\26\2\300LMt\322\352\215\331f\255"
+"\200\210\210ncM\260\317e\300x\345\200\345\35\376BDTm8xl\247F\223z\252\242"
+"\375\231\305;Z~\31R\22\373\347r}=N\330\331\257\0V4\367\222\314j\30.\344"
+"z\275\321\6\62\346\254\222\24\366Dt\203\353o\200t\253^\n\240W\5\377`x\242"
+"\245\213\376vC.\260\f\207\333\3561\234(\34#\0`\301e\42\242\356\340p\306"
+"(\341B\307hS\2761\264b\376\7\225_\362-\247\'G\24~\33\256vy\336C&4\304\256"
+"K\356\f\351\1\31{\334\22\361\\\365\377F\1\310MK\0\206\372\373\2\376\13"
+"~v7VXb\232\326ra\370O\315\'-\276%\352\264\271\17\13w\271\356\357Q\254/"
+"U\302}\307\371\267Y\312GDa\206=&`\374^\352\274\251\42\301V\207\260\324"
+"hQ\245\22\276\301\21mNa\221\1w\251\330l\21\221\354T\n\314\31\34\255\350"
+"s=\77w\365:\341h\263X#O<Y\275\222\27\251\326y#\363^~nr\3031\226r\205v\216"
+"%R\231j\213\3619:\263K\2\307[+\3534\211c%\332\26\325\222\311\231\263\270"
+"\372`@\2\217\261\325\334\275\26\213j\231l8\216\205\330X\265;n\203\35\336"
+"\356\334^\330\377J\n\267:\26\212x{\237\27s\355\254\24\236\342\250;\242"
+"N\362;su\237@\363*\221z\226M~\247=\'\30\333\317e.}\b\177\274\204Z\2041"
+"\262\377Z8\357J\331q\254f\0{$Y\346\273\327j\213\345\263\32gib\2229\332"
+"\3239\354\231\24\316\340g\77\200\265\266=\303\7\0\323\330\365Z\276 \7\37"
+"\237\1\240\371e\360\\\364\315\224[\2701\23\245\360\323\240x\21\0\220ID"
+"D\t\26\371\t\303\211\272\301\336\26\254\255\fP\243-\256G7S\t,\346)\26\316"
+"~\35,\216\3111\222\363\231y\264SX1\77\7C\354QR\361SP\273\nE\346_\272\243"
+"#\357\272M\252\200\227\232\314\345\254\215U\301-\32\370\241F\363\1@\207"
+"\272\325\2119\272e\2\0J\371\355#\335\322A\3471\312e\238b\271\307\211\260"
+"\2054\270\204\243\254\324i\340W\212\367\317\20\211\375\32x7\307\234Q4\372"
+"\272\356\23\234$\2426\310>.\2424\355\25d@\204\35\60}\363\214U\376\274\376"
+"\376Rm\356\7;S\1 \252\364\261\351\32\26\342\366c\337P~\332j%\241\256N\233"
+"\225\307n\332\27\372\342\325\251bO\205qk\33\241`\367\207uSL\225\262%\b"
+"\317bo\272\320:\17\327\324e]V2\260-*D\274CO.]:\'5\356\373\373\27\35m\255"
+"\236\356\326\21\213X\304\42\366\337\331\37aN\342\304r\350M\260\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\364IDATx\332\355\230]H\24Q\24"
+"\307\377[>\204hQ\232}\272\271f\205\37\210\364PD\17-B\37\224P\320\7E\332"
+"BAQHE\201\32\221\4\22%a\266H\230\341>TKd\21=d\365\20\30\344CZO\225EmE\5"
+"\201-\4a\322F\276\234\36f\356\2753w\356\2143\23d\320\374\237\366\234s\177"
+"w\356\307\231{\317,\20(P\240@\201\376\33M\266\272\266F\276\214\371\355"
+"\356\26\21]\314\365\307V\21\21\21%\n\374\300\333H\327\340Z\357\360\36\22"
+"\352(\362\bo\42\243~\236Z\356\5.!\213n\304\42n\351\307\244R\243;x\352G"
+"%}\302\345\263\17)i\327iwA\1\347\273^\266\31V\334\323\266\305\206\315p"
+"\236\267-\237\323\374\335\307\234\205\262V\307\323\32[\253\210\206\\\364"
+"\20./\37650\364\27\16\3\0@\316\242\302\320\250\317>\257\20\21\rW\372b["
+"\265EJ\373\202\177\350\333\23vn6I\351\315f;\355\7\346\333\374\'0&\f\16"
+"M\330\234\247{\201w\\;Yh\264\313\330\217\322{\364\240\312\271\247\333D"
+"D\247\1\274\320\223\344\225\36XEDDuNl\223F\364\0\347\315\7\327B\335j\262"
+"g\213\31Q\201(\373\331\13\0\350f\346Y[\370\rk\262\24\340\207O\r\0\fr\263"
+"\323\206\2553\236V\355\334\230\t\340\2108\311\272\3250\217W\3\230\302\255"
+"\21\0x&\350.\25{\211E\217\1\0\366\363\326\367\1\340\241\240\333\255l)\213"
+"}\326\35O\310\264J=\202n\266\300\357Y\210\345\205\308\355\3\200.a\357\225"
+"\330\355,\220\264\216\205h\r\0\234\23\366z\233\325\312\26\276\225\322="
+"uF\330\345F\266My\207\257\343\2153\306cQzF\330\346B\342\225\21\265\2\0"
+":\270\375Z4z\312|\33\245\245\250\227n\347$\267\333X\223\r\314\223\262l"
+"B\234\205\342\232\335\317\351\250\274Z\25\326\375\177+Mh\204\331\357\244"
+"\262\355\272\42\361\nXp\261f\347I\313\303+\200\34U\332^5f\n \336V\363\250"
+"\217+\337\227ez\3642s\264h\366Q\315\372\352\\7\350\321\347\334\2212Nq\247"
+":c%8#\216\324G\332A\247\251\323\261`Q\344\317\354\220\364.\327x\200\315"
+"*\253-\2J\32\16(j\255J\235u\2561\352\211\210b\26\67\313\347>\'v\227\326"
+"\346\246t\267Mc\243>\354\4\363\314i0\271y\r8\317\201]`(\24\23\274\n\252"
+"\346\276\227\2167\260y5{\357\fefE\33\305\34V\f\270\230\263\215\22\343\324"
+"\b[\34\330O\343\177\327\214\332\261\337\262\\\24(-j\266\337]y3\367\256"
+"\202=\350\272:\212$%\324\343\7\355\346>\261\273\273}TZ\371K\346\347\216"
+"\245S\37\202\77\'\2\5\n\364o\3537\210\3262\263\276\222}d\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3\234IDATx\332\355\230Ih\24Q\20\206\313"
+"\321Dc\22\367\340\232\250Q\'&:f\221\250\21M\220\30wsP\311\305\5sS\4\203"
+"\271\bz\b\30AD\202K<\270\342\36\225\210\236\4\rJ\242\240\340J\34\67F\4"
+"Q\342`\34\234\234\\\243\376\36\272^O\277\327\3353\223\347Ep\352\362\346"
+"\375U\37\375\272\273\272\252\30\242\204%,a\377\257\365I\322g/\2\315\272"
+"l\0\0>\352\261\253\1\0xk\354<=\203\347\31KV@\7~\310\253\367\211\316\271"
+"\177\201\355\236\6<\\\300\330\257\272\6_\1v\272`\353\203h$\242,\223V\3"
+"\332\1\0uN\354.\361\216\274\2\36 \7,\24\372\236T\225\235`8:\210h\232\361"
+"3\240D\264\231G\302\245\34\307\27\214\327D4\3\0\60E\201\277\301b\35UV\327"
+"t!\77\'\242\274\33\270\356U\317v\7\262\235\230\32\361\265\n\361\221\313"
+"\3-\206\315\352\206\tgPH7]\350i\1;\276N8\277\b\245\322-\t\346w\331\350"
+"\321\354J\21B\243\bVs\373\306\340\345_\25I<\326\257C\370\307\263h)\270"
+"\364\223t\345b\3231\n\0\360#F\6\227>\261\300\326Ty\17<\35\32\363\3\310"
+">-\330&I\317\315\216\357\3Z\373\n\0B\31\356\21\275\242\26\312\312\234\320"
+"\231\357\377b\t\357\355\242\317(\317\352\324=p-\0\234\322c\223\215\267"
+"tP\13\316w)S\2129\327\355\21\274\366\325\201\373\361\232\244\3\'\305\223"
+"B\261\332\215\326\225\273\377\346\236\77\363\232\252\3\207E\373\321\201"
+"\203\274f\352\300\37x-\320J\261\357F\206=\326\202\217\332\362sBF\334\337"
+"g)\303<\203P\206\37\270\36\r]\1\334\237$6\f\267\362\266\13\0\302\356\354"
+"@\0@\t\357\16\61=\222\210\210\352\245\t\312\301\266\0\0Dn\215a\370\252"
+"\365\34hs\203;\r\277\217\267\3278\276\304\n\343@\264S\3\271\274\37om\30"
+"\207M\272\332\21\256Q_\316I\26\32\210\310\363\303\244\13\35\323Y\275\253"
+"d\21^DD\375#\255\253\217\235\315d\327\342\210\264\201\245\317DDCL\370\201"
+"\35nt(y!\3266\21\21\2155\351z\33\314\216\13V\255@j\262\346<\204r\205\335"
+"\314\372lImb\265\226\210\210V\231t\232\343\205\225B\235\42\313\365b\353"
+"\227\242\266\262zD9\320n\371@\367\4\275\303Z$\2058I\255\236\362t\320\327"
+"<x)\331\362\341\215\3559\336\222o\247\322\244\315\242\234\'\224%\366!\233"
+"=b\16l\26\241\307E\304\33\270\366\265\311\354Y\246>Yp\1\\;\216\35k\354"
+"\360;^g\ta\201s~87Tv\265\230\302)C8&\315\360\300\242(pPQ~z\344\307\345"
+"wbS\331\371K\236\253\337\247\213\335o\303\77\331\t.\262~Yl\203VWD6e\0\200"
+"\263DD\r\335\267\347J\360v\206\333]K_\25\200p\177\42\332\7\0\33\255.QA"
+"\242\2146\23\267\326\244E\236\316\271\210c\201{\372\250V!B}j\316#v\227"
+"\234)~\370O\244\23\21\371\314\261\274%vw\333f\231\320_\356=\320\21\331"
+"\371b\303S\340b\347\343\30\\C\275\313\234\203|q\265\345Z\307\13\347\304"
+"\331\324\3478\260\371q\217\4\236\313\n\372bXO&\212\262\260\225\255\356"
+"\351@R~Wd\364\312\350\201.\243i\2417\255+\360<\361GX\302\22\226\260\270"
+"\354\17\21\3741\201\3275\256\13\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3\220IDATx\332\355\230KHUA\30\307\377YiV\332[\213^(\245\201\275"
+"LkQAo\261\350mjVDYA\211\201\213\304\n\212ha\4\341&z/\334D\350\2420\202"
+"D\250(\22|\24\225!do\214\262\227=\2504\22\353\337\342\234\2313\347\334"
+"9\347^\357\42Z\234\377\346\314|\337\367\2733w\316\3147\337\275\200/_\276"
+"|\371\372\307\352\335cblB\314g\255c\367o6\345y\221\33[H\222\217W\4\272"
+"2H\222\254]\355\202\316\243T]\264\323yT\372nh>\329T\325\337\341\255P\235"
+"\267s\42\354\336$\33\313F\7\\nw\363\365\201T\305\333\350\360:&WB\215\252"
+"\314\25\34\357t<\260\303\351\324\252},\0\34\62:\217R\343\363L\273c\336"
+"ez\272\32\0Z,b\277\321\354\347\240\327\277\325\322\0\2404\263\214fT\300"
+"\373\210+n\327\303\335V\363\234v\332\206bw=\325\300UF\363\311\304\350\355"
+"F\353\271\3336\214\310\275\345\204\279\247\263\323k\37\317>)\302N\0\0Z"
+"5\323\361Rl\366\5\222\347\372\352v\330\332\236\35\306\5*\273\307#pX/\215"
+"q\302K\311.wG\227\223\354\330\253qd\326\221\344\253|\217a#\215Oo\322\257"
+"\3030\357/7\303\234[q\220E\210\320\31\343\314\347\312p\340\77\342\370\207"
+"\3w\205\230Z\265\360\17\261p\341\300_\315gL8\360\307\20\267\\/\255\225"
+"\236^\357\221C\225\36\276k>G\207\3W\213#m\231\22#C\235\317\34s\177\326"
+"\b\303\n\222\345\336\13\66\65#)\342\305\215ze\305\372\377\4\0\254\271\4"
+"\0\35\211\37\334\307+5\206\333\0\340\2769\364y\0\300`q\212\323\335\357"
+"^3\242\331\312\314\344|\0\330,s\30027X\4\334Q;\214\1\260\311\312>\331z"
+"v\225\360\27\332\356\2746\0\321J\356\312\322\302\357\354)UFW\2HU\350\f"
+"\r+o\310\255F_~k\26\0\30\245\320\323\2\341zg.\277*\243\'\1\210\356\264"
+"\350\341N6Yxr\345\16\220\301\235\0\200O\216\276\242\233\246\243\3332M\223"
+"\321\245\0\200o\262\177M\237/m\205F\276\214NP\22\62I\36\266\301m\246\325"
+"^\333U\312\312\b\0\60\334\242\227*Q\333\205q\221~\3370\5\0\220b\321#d\314"
+" az\342X\tQ\272\360\242u\270\f\275\2211\r\302\224\352\266e\305\13\334O"
+"\373\235\r\24\b\303\25\270\26\224\42-\\\221\364,#G\310\376P\327[\313Z\337"
+".a9m[i\226x\34\265Za\30\',\25\0\220&z\337\274\316i\227\264\254S\337V\256"
+"\360O\326\301\357\3\313\227S$\311\263\0\200\4\323{P{P\357ij\237\32\222"
+"\307\315\3661\222\344+}\212\250\327\25N\231E\323e\373\fI\216\321\303\317"
+"\203V]\231\345GF\2K\32\32v \330.q\321L\222l\36b7F\205\b\233\305\346\26"
+"\233q\233`[=\331\201\362p$\353f]\346\t\257R~\327,\24ka\331f\350\230>\262"
+"^\264ls\257\343\363\365g}\322\26\252\357\333s\344\211\364R^\220ku\237\7"
+"\333\24\364R\316r\207\7\7\277\322#/\273\260\311!U\4\213uh[|\250\5Ea\0["
+"\322\223\372(\373\241B~/\352q\21\2272%1~\300\357/\255\315\215\277\374\77"
+"F|\371\362\365\77\353/p\343\37%L|\213\200\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\tIDATx\332\355\227\77HVQ\30\306\37\257\37\222\212"
+"\205\204\213\271\350\240\324\20\361\271\b\202\210 \6\231\204\203\250\225"
+"\320\222\340$\250KD\240\270:\24\4\202\250\360AK\20\16\37\30.\212\244\202"
+"\bn\352\30\265(\201S!X\311\343\340\367\275z\377\234s\357}\35\428\317t\317"
+"\373\276\277{\36\356=\177\1\'\'\'\'\'\'\'\247\177\257RC<{\357\307\37\345"
+"+\263\247$\307u\354C\222$\3474l\13\13\232O\317\336\244h25\274{\t\2637%"
+";\302\253jH\305\326\370X\236\244\202w\3740\337\246`\207\30T\263\271\270"
+"\304\337\254\374\25\2528\313$\35\236\313\362\201\376z\205\7/\263\226\314"
+"t\357\225\257\274&\317M\311f\211\324\77\3\62\3228J\4\177*\226\257\3@\217"
+"\320\23\t\330.\251\256\2\0\344\245]\27\17K\355\323\213v\231\4\16b\331\5"
+"\237i\0\350\23z8\206m\r\230\6\200U\211U\2473\r\0U\22\334\264\262\213!\323"
+"\376\321:`a\7#L\3\300\266\304\313\214\354\375(\323\0p[\22y\23[\301H\323"
+"\0\60,\251G\6\370\253\3014\0\354I.\232\375`2\r\0\265\222\314E\261cf\323"
+"\0\60*\351\266p\262\223\26\323\0\360\315b\374\304f\32\0\352\245\340\235"
+"y\271\\7\375\214WR\222\rd21\246\1\340\270X\22\3329\337\333M\3\300]\351"
+"`*\230\332\42I\256\330F\376\264\320\215\301\324\6\311\237\236u\336\234"
+"\26\341\303P\352\371\307\327\345\366\t\373@\272\326\354\3713B\337Q\320"
+"\2\357_\347\274\300\227\nz6\351\202f7\276\241\200\333\205\356W\320\271"
+"\4\13Z\2\343y\375\351\216\344c\5-\373(\275\364\260\'\360\222\242\353\'"
+"Bw+\350\317E\370\273\2\276\21\263\214\3335P`\177\253N\343_.\340\27*\370"
+"\26IrFy\211\350 \371F}\253)\311V\272\253\235\223\223\323\177\257s\313\340"
+"\272\33\3255\24\35\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\206"
+"IDATx\332\355\230_hOa\30\307\237\214d\261b\263\255d\311\237%R\306\305\220"
+"\330\315\254\366\207!\211\270\231\326\232\270\325\354\247\\\21\205\264"
+"\310\257-\31\213$\245d\244\310\256\334P\324n5\345\302\5iD!\253\257\213"
+"s\236\367\375\235\363;\277\367\274\317\363\273\343|\257\316y\236\347s\336"
+"\367<\357\373>\357{\16Q\246L\2312\3757Z:G\215\256\371\0\234W\262\263\0"
+"\0wtp/\0\0#*\370B\0\343\262\6n\13a\234\321\320\317\231\316\311\270U\225"
+"DDSLo\25\240\255\b\307\350W\b\337\366g\233\0\0\243D4\77\204\37\370\303"
+"\23\1\61DDK\202\313N\177\2700\313k\1 /x\345\307L\237$\242E\203\371\35\222"
+"T72\214c\212\1\336b\350=\nz\273\2415\223\253\225\341\205\251\2417\200\317"
+"\261\254t\370\266\374\21\0\320\37\65v\3\0z\323\330Ga#\273\242\346\366\231"
+"\242\7\26k\237INm\314S\347\77\237\200\327\342\274^\2640\366\n\331:\24\312"
+"\35[\21\67\334m\214\24\314\tI\303\353\20U\265\4\236\214\301\343\2\266\5"
+"qm\362\207\247\231y\307\27_\275\331\3\2144\323\0_\36\221\326\233\34\21"
+"}\27.\302|\30\376\215\210h3\303W\275\330f\16\337PX3\201\345\222N\207\233"
+"\3502\276\177\343\301\216r\360\334\320p\217\r\351Uz7\207\36eK\255w\341"
+"\252\347\300ik\273\305\266\323\276\323c\243\265U\233\246\27;\331\373\34"
+"\2694\334d\3533\27\233K~\275\32cn)\315\36\62A\333\242\216\261\364\234\355"
+"4!C1\217}\353\201\264A\302\217\42\337%\343\253Id;\355\342]\341\250\245"
+"/RJ\355\341\4o\217\361\266\'x\327\33\357p\342\263\77\271r\326\300\276)"
+"\327i\6\0\2568\272\275\240D>\257#\272T#:\30x\232\322\367\237\77\t\316\367"
+"\0\320Qz\nu\33\372\\\302\361\375%\2768\227\354S$\254\32\243*\367\212\233"
+"\207r\216$v\313\36S\320\343\206\336/\207+l\307\33\3128\345\343\267\242"
+"\343#\206~\250\240m\307\7\345p\301\266\337%\247OXz\265\234~k\351J1\\e\341"
+"W\362\246\273\340\234\344)\32\66p\237b\274~2\334\246\200W\226s\340\247"
+"\276\200=\253\373\210~\2\0\230\255\374~\7\200S\332\37\7\365\327&\217g\177"
+"^2e\312\364\17\350/\nEa\334\224@\334\220\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2\251IDATx\332\355\230OH\25A\34\307\177O\241\350\305"
+"+*\223\254\320\312\'\244\321\37\242\16\25\231I\201<OA$u\21\5\323\202H$"
+"\350\220\227\42:\364\7\202\350\20QQ\4\231\22AP\206\4\275\204 \302\352\340"
+"%\210\b*,;\210\202\224\4\362\353\2603\277\331\235\335\231\235\231\272\4"
+"\363\275\354\314w\346\263\277\331\367\373\355\354\356\3\360\362\362\362"
+"\362\362\372\327\252\357GD|\264\313\1\3352\216L\357W\331\262\235\30\322"
+"\16;\266\r#Zm\303\346\243,~\266\201_K0\356w\17\214\370\25\0\240\304\b\356"
+"`\307\301\255\205\211\240\265\42k\34\231ei\32\0\200\205n4\216\\\36\34."
+"\0\0\\\n\332\265j\370\b\42\16\344dw\22\0\340{\320^\244\214T\f\226V\306"
+"\373l\251o\1\0\206\202v\267\212}\301&Op\343\7\63\356oXs\2265\367*\330\323"
+"\224\220+\314\351\215\245\n\347$\263\353CS6\5V.\306>S\4\36\223k\1\0zd8"
+"\237\314\266F&\2650\367N\224mW\4\226Bp\373L\330lU\260\347%\270\227\17\324"
+"=\347\326\223*fe$\266bL>[\366\27o\315+\354\316\303\207\342\343\31U\212"
+"\207c\277\353M\343;`\17\61}\324\2522\205\211X)r;l\310\236\342\300q\0\330"
+"\307;\333\214\330e|\372O\0\0\30a\275q#x$\272\265V\363\356\1\233\355u\210"
+"\31\17\344J1X4\226\313\316\311T\230n\210sd\335\345\326\334\24\366:\306"
+"\27\271\204[\267L\237E-!\367\32\67ktl#\261\243a{>w\337i\330Z\f\325VX\27"
+"\271]P\262\25\202\355\214\216\224\240&]\245\0\0Y\332&a\260G*\366L\3k\315"
+"*j|\32\65\347\247\241\262D\366\243`7\306GO\360\261\242>\301xX{\2336\307"
+"\307\262\202\275\221\270\260v\3155\325$g8\244\337\352\223\227\22\234Q\300"
+"\r4\243^\371X\253T\226\301S\365\302\327\245n6\13\t\36\210\215\365!\42\66"
+"\351*\277\213\350C\261\261\313\263/S\336\351F\211\256\264\177\361\\J\360"
+"\214\303k\353A\242\37:\320\367\320|C\323=z\233\355\341:A\257\265\247;\4"
+"\235\263\247o\23<\345p\331_\210~c\17\2132uI\330vA_\265\247\217\t\272\353"
+"oj\5\35~4\372\272\302j{x1\301\13\34B\357d\3547\247O\312n\375\13w\212\372"
+"\21\21\77\271~\316\276B\304\315\316\37\303MG\227\373\177\4\274\274\274"
+"\376w\375\1\205+\265\203N\221\367\351\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\3*IDATx\332\355\230KH\25Q\30\307\377\352\325\362B\226\224"
+"\221i\341#[\224`\202\246-DZdT&B\20b\364\240U\20B\33\245\26\21\324\242@"
+"\250K\321\203\\\271\250\266ibTP\370\210(\303P\220\3240\27\206Q\31\226\211"
+"\327\256\345iq\2763s\316=g\346\332\235h5\337f\346{\374f\3169\363\315\377"
+"\314\275\200o\276\371\346\233o\377\331\22\304I\376\236-S=O\342\203\353"
+"\356\1@s\223\224\312-H3\42SC_\324@\n\343\226eE\2\355\314\321\316\251p\r"
+"\205\267Z\221f\346bU\274&\221\37\252\t\371l\301G\335&\273[\361&\351\222"
+"v\304\355\306\254M\271s&\77\f.q\231\3032\274\226\202\367\355\374k7xP\206"
+"\213)\370\314\316_u\203\333d\347\2\315%(\305N.8\315x\256Vi\222\276\222"
+"\250~\343\226\232\30\b$%\0@A\17\205.\2050\23V\253\350\222O\235\7\372@{"
+"\34b\316\313\310\351\370\313\27#\21\0\n\311\351\211\7\336F\316@<0-\27\42"
+"\361\300\345\374\374\23<\f\373e\\0\331\233x`!\30\303\361\350X!5@\231K\315"
+",\325\24\313\301\0\200\34:\237\220\23\r\365E\311j\31\0\240\177\f\0\360"
+"\376a\210\232\255\301\320z7Y\f\353\246\302\313:\274\206\305\264j\276`\33"
+"\364)\26\304^\251\355\34\316\340\336/)\263\204^\373\311a\222\0Y\312\207"
+"b\303\275\34\246\245\374*e\346\217\305bC]\3223\0\246\345\\kwEN\222\355"
+"\346\37\22{\315\r\0\300\307W\375P\340\357\312\225\307\307\25\67\273\222"
+"\37\263\42\346\336\236q\33\345\17\323JJ\360,<\274Us^\340\260\278\342\5"
+"^\364\2\303\13\234\340\5N\362\2/\367\2\257p\253\313p\202\177\363\323\225"
+"\206t\351\305\1\306\30\233{\347(\216\275\\W\36i\211\263\272\370h5\235<"
+"\36\3755\263\313\244\\\373\243\341;<>\255FO\230u\257&\n\276b\32R\255\223"
+"j\366e+u\247\rp\320Et\317\310\205G((\267\352u7\311\236\220n^E\261\215X"
+"\342\327#cu\332F\267\323f+\254\262\226M\0\362&\243\351[\2422\215\2\247"
+"l\370\274(:\300\3752\355\336\267\243\306\330n\303\35\24zK~\211>\362u\324"
+"\333$\272R\3d\n\371\206c\353\256\42X\3342Y\323\263\5:\212\265\34\13\212"
+"\255$2Lp\247hH\13\36\245\343^{K\4\0\264\207[\323G\0\0\225\326\373F\323"
+"\270k\301\307\305\314h\373\235\227\327\257\211\261\301\42\375\251Z\201"
+"\365\326\272\34L\1RC\302[mx)[)Wno/\306\3360\252\263\350\t\373gB\275\21"
+"n0\352\201\376\256\1770\301f1\271FY[\307r\r\354>3\234\316\263\362\227E"
+"\245\3066:\351X^\27clh\207\362a\270\250\262\207\335\3245Y\2134JhK\272\313"
+"\357g\263\225\326Tl\16~\33}\361\370\271\377W\203o\276\371\346\333\277\262"
+"\77R\306\210\373\325\n\202\204\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\3yIDATx\332\355\230KHTa\24\307\377\2163&\203M\246fi\323\303L"
+"!\350\205\26X\224\26Q\13{)I\217E \351BIh\221BP\2336\221\364\242\262\205"
+"%\364\332D\22AnR\n\42\310\36&\225IdI\17g\42\305WQ\346\263N\213\357\373"
+"\356k\356\2753\367N-\2129\2339\337w\316\357\336s\277{\276\363\235;@D\42"
+"\362_I\202}\264\340\'\321.\233l\16\21\21U\330\203\33(\f\3725\311t\264U"
+"x\362:\366\233\337\377\304\306\255\337\23\205\21\271O\320\225a\321\b\207"
+"\266\4e\267\323@\241L\77\263\302\316\227\327\251\215\210\336y\255\300W"
+"\24\253\\tr\247\265G}\245}GV\222dz^8\3711d\220\37\311\311!\300\223F\5\275"
+"U1[JDc\353\203\323.q\357\36yn\7\233\211\tNG\177U\346G\24\0\f\306\3\0\62"
+"\3372\217X=l\354\27\363\357K\0\200\326eb~\6\277\232\27\0\366\216\223\201"
+"T3o\77\21\321b\351\242%\212Pv\223\261\34e\356\225\17k\347\312\21\65\61"
+"\233\17\0ZL`\335\215\300M\'\24zh\260C^\237F\0\350\265\2224\16`\tW\233\1"
+"\340\262\211\357u\235\2712eP\316[\206A7N\321\222N \207i,\331\'\266\244"
+"ex$\353\252}\\9^\77\354\37\324\213\246S\365\32\325\322cZp\34@:\323^X\337"
+"e\169\0;\26080\273\354\300\242\214u\333\201\347\330\77\252\35\310`J\277"
+"-x\21S\332l\301YL\351\260\1;\301\367\365G1\343\231\355\226\254\253EY<V"
+"\17`\374s\267\301\206,\346\5\362\206\331\236\354\314\324\2077\263Q\255"
+"\351\206\246\16}8W52\224\4\335\364\374\26\332\32%\251`qX}\17\r\356S\301"
+".\256\374P\324\42cy3\240\32z\370\303$\262\241\267\323\302jG%\362@\342\206"
+"\370LVF\234\\I\212\245J\242\373\236\305q\341\204\215J\42N\267\t;\271\355"
+"\n\243\361v\304\204\3\273\376M\370O<\363\250-\230o\253\21;\260\323\250"
+"\357\365$E\177\351u\7\351\316rY\376\251\356<\355\300\207\20\32\n\0\313"
+"\3\314\336\333\241u#\0\26h\315{\202V\37YR5p\225\356F\376\24\257\13\307"
+"\250\341|\243:p\b&\215TJ\320\352\271\311\30f\245\267\302\254\b=O\17\200"
+"[\231\245\212\325P\311\363\352\221\272\256\0\274F\13\237b\363\17\224\13"
+"@+\231\355\260\226\326~\r\25)V,[\331\377\2@@\13\\\242>1\36\213/.\0\251"
+"L}\352\227\272lm\234\13\325\260\217k\345\0\370\341\332\42\231\335\1\237"
+"G\232\361#9\356\2\246\335\24\246Y\334t\257X\204\255\275\232\310\307B`\205"
+"&\335*\371x\rPMDD\247\265\221\270\271\207\37\210\347j\251:\7\310\5`\346"
+"\35\242\363\201i\322\306]\226\312\336\7\225\177.\220hY\365\276\\6r\237"
+"\373@\215\364N\332/5Hz\271YA\20N\363\244\25\ni7\263\316\240\220\17\326"
+"\302wQ\307g\233y-j\222\303\13\274\357\231`u\360\32\21\321\335X\0iZ\366"
+"B\360*\232\222\277=\233\227\226^\25[f\261\34\357\227\321\272\251\326\253"
+"y\336\331\366\221\341\227\3476D\376\373\213HD\42\362\327\3457\246\311j"
+"{\3\230\300#\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0"
+"\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3lIDATx\332"
+"\355\230]HTA\24\307\377\256_\231H\246\324\206\366a\233Y\231Y\221\4!\b\22"
+"\226F\37\276\364\342CT\246\230\221\n}Q \326C\24Q\17\275$\322SD\30D\37R"
+"\204\31)i\17\246\26$\22\245DTb\246%\241\364\345\256\236\36\346\334\335"
+"{wg\356z\257\201=\354\377\345\316\314\271\2779wf\347\234\231Y \244\220"
+"B\372\267\n\263\216\270\26E\16\367L\330q\226\371\220\210\210\350m\236u"
+"\3662yu\305*\333@:]\262\306\36\'\203vZ\231\260\350\337~\r\16\13p)\77G\77"
+"\333\230\351n\361\265\33\201\5\242d\5\26\304=\08FDD\16\313\376G\0\340\203"
+"el\302\367\261\267-\177\366u\376\211\212\262k\255\217y\3\371\311\322w\77"
+"\61\262%>\313\374\344\240p\254\201m\366\266\227\21\21\225\7\243\235\337"
+"}\354\200C\213\347=\327\0\0k\273E59VBz\276\374@XM\r\327\256\226z\r\343"
+"\242\267\2\0\300yR\250c\t\200\202\332\216\236\206\262x_\247\213\331\232"
+"\1\0\225\244T\227l,\7\365s\377F\rS\274\4n\21\246F\335\22\226\313\245\\"
+"\362T\244\17\36\251\342\2\33186%\210\260U\263-\22\3079\306\345vR\3056\316"
+"S\347\246\247\276Oqz5\304`\2053Q\276p\36\t\373)\231\255\330$\b\34\0\260"
+"E\224_X\rp}&\351\263\3\'q\371\223\358\205\313n;\260\313\356\26\353\0\220"
+"&\212_m\301\253E\361\275-x\215\331|\255\342g\214\304\26\1`\271(\16pS\356"
+"\216\364(\337\13\271\374\374\331\2\0\337:\352\373\2451U-jUd\256uR\370\20"
+"\0 2\bKM\322\25\66\6\370\306\240V\236\24\376\5\0\b\2676\333\332\353\343"
+"\0\200w\301\210\227\6Xs\376G\314\352\305 \360\31CM\233\242\315\332\351"
+"\241u\314\355v\273\335\36\331t=\316\207\24\316\221:z\300\326,\363x\366"
+"H\341\273\374\3542\207\335\230F&\361L\7\236\2341xb\306\306<1cc&\313\227"
+"\220\b\245%-\323\22589\324Wg\356\\[\333)\272\266MMS<\355E\260y\251\267"
+"%\25130\234\242\25W+6\247z\23\246,\26\237\231\36\302)\235\253Y\212\314"
+"\267\333\f^o\254\6\252\323\251\376\251\370\310X\255\234\331\254\301\3J"
+"\317\273\20\364\30\306\'5\275\347a\276`\2\276\215\13@yRXxj\253\321\317"
+"V\312\364\363|_\364Z\17\0\250\320\234\210\245\25\35\340<\325\350\231{/"
+"4\354\212\225\244\313\307z\35\65\302m\2428\313\260\225\362\241,\360\244"
+"\232d\204\333\271\274S\277Ks\'+\270\332\233p\202K7\374:\353\347\204\16"
+"\0\205<\264\13\302t\226\253\347\0\327(\21\321M\325\325\26\0\346j\23\263"
+"\f\0b\264\3326\0\250\352}\2757p\30\374\306~\303\357|\253d_\235\2672[\35"
+"\225\274-\215(\317\274\37MB\3724\277\263\22@\324\324\203\202\257B\374N"
+"\261\344rOD4h\232M8q\210\205\337\26\0\247\231\302s^\21\21=\347ii\366cs"
+"\202\245\321\354\303G\362\215\227CM\355\13\255\246\344\355w\4\351\251\315"
+"\260w\250\215\214\213\16\375y\26RH!\375\327\372\13\1\204;Y=\255*X\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\253IDATx\332c`\30\5\243`\24"
+"\214\202Q\200\t\204\226\376\377\377\177\251\20y\232\317\376\377\377\377"
+"\377\377\263d\351\325\377\17\1\372\270\24\60\341\321\254\216F\223\244\231"
+"\27\215&I3A0D53\302\f\311W}{\374\366\253\317\377\220\344\266yB\350\13\206"
+"p!6^aY\35\301\'\313\276\241\30\262\365\77)\340*\'\262^\335\377\244\201"
+"\24d\77+\222\350[Kd\315\357H\324\374\3Y\363q\22\65\37@\3419\221\344\345"
+"m\250Q\305\300`c\241o\250M\224\265\373\227\314C\327\f\5<\374<\34\254\214"
+"\214\f\f\f\f\'\241B\257u\341\262\377~|&\322c\311PG&\217\346\252\221\255"
+"\231\5\316RTa}\366\362\345\77B\328\244\371\77\336E+\206\30\n\372\241\214"
+"{Wn=|\365\351\373\257\337\177\3160C\323\244\t\13\13\33\'\277\230\274\272"
+"\216\2\3\3\3\3\303y\257\27(\6\312\220\224\253V\242\272\306\207\264b\b5"
+"\300\370(\t\355\273$\351\372\200\252\371\344OR4OD\257\214_\20\357\343%"
+"\f\30%\211\270\232\214\222\226\256.\1\7\337\270|r\337}\6\34\305\20\3\3"
+"\3+\'\33\13\13++\313n)\b\377\217\366\257\237\277~\376\372ER\260x\214\26"
+"C\303\260$\2014U\255M\264\244\330\77>\272~\371\334K\6\21\222\f\252D\255"
+"G\377\23J$H\240\20W>H&\354\354\343\26\270\324\260\21\264\367\16\356\34"
+"x\201\220\336\205\370\362\357v\374\215%3\2\331\177\263\34\36\315\307\220"
+"U~\307\246}\2754.\275\314p5\323U!\355s\3279\30\332\227\n`\327\foHY!\t\206"
+"bh\257\300\252\271\24*\273\26Et\'\206\356oFX\3226\314\77\253P\344\276a"
+"X\302yv\32\246fX\335\310\212\242\324\23\213\33\63\377{\240\13\345B\235"
+"u\16Y\220\37\346\330[\317P\334\276\23\255j2\202I\364 \t.B\324j\16\17Q\264"
+"\347\240\352FH\224I@\205\246\302Df2000\330>G\326\375J\13Ys\17\262\324\221"
+"\336\232\311W\21\\Y\210\222(\24\313%\220+\t\334)s\16<smG\22-B\266:\200"
+"@=\316\300\300\300\300\20\206\20MC\361u\31\16\275*(\255\31\270\345\374"
+"\3501\210\rh\240E\252\37D\330\b=\262\r>`h\335\311\216\231L&\374\377\277"
+"S\26K\362\211\376\211\242\365\236#i%\261f\373S\250\316\'\215\nD\367%\221"
+"S\2770\333\357w_G\207[F\301(\30\5C\0\0\0\325%\276\215\347OL+\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/"
+"R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\366IDATx\332c`\30\5\243`\24\214"
+"\202Q0\n\206&`7kx\371\377\377nE\274\212\30a\212\203\215\305\331\271\330"
+"\230\31\30\30\2308\305\24\340\362&g\t[$\363\346\77\16 JX\363\2\\z\377\257"
+"&\354\354o\234\4=\206[\352\77n\25\314\377pJ1A\250\373\2705\343\326\13\323"
+"<\213\242x\235\206+\300>\22\21\317\f\\\n\\\177~\377\375\307\300\300\300"
+"\360\367\373\207o\f\3233 \342\373\235pkf\2011\276]C\225x\17\245/2\20\364"
+"3&\320\204\322\327\311\321\254\313@0\36p\3X\200iR\242\231\237\230\320\306"
+"\320L8u\342\364\263\30\61\256c!\240\371%J\f\310}8\367\233\bC]\240^\336"
+"\206\20\222\275\371\377\377\377\377\36D8[\32J_B\b-Rc```\330\316HX\263\22"
+"\224\276\201\20r\200Pz\2045k@\351\207\30\241#AX\2636\224~\202\21\251\214"
+"\304k~\306@N\332\206\202\257dhN\203G\31\211\211\204\3275 \32n\346n\206"
+"\3\307\316\337\270\373\235\201A\210p\342\260\234\211\2434\332\370\5\312"
+"\362\300\241\323h\371\177\302\3400V\255\221\337\376\23\7\36\317\212VC\325"
+"\352\364\347\77I\240\3I\357\334\377\244\202nxz\271FFi\303\b\215\3473\250"
+"z\227\265\302X)\246\211\323\257\341\320\f\215\273z$\327<)\224B\224`{`y"
+"\314\253j+\206\273\331\31\30\30\30\30\370\21\2\215\202\f\f\f\f\frPn:\222"
+"E\34hz\367C\204\233`\374\6\230\302\2\250\200,\2623_C\5=\323\226\276\373"
+"\377\177\2238D\24\26I\210t\374\20*\202\342Gh2\250\300ZDOF\4\5Td16e1(\202"
+"\262PQI\270H\33T\304\34\233f\33\24A5\f7\376\307\346j\2302\324b\350\23z"
+"\4\226B\351\32\324\244\17\245_`\3653\214\313\3\263\230\r\233\252\373h%"
+"\t\264\311b\1\25:\2\245\347\377B\326\33\16\313\4h\316\234\16\65\24\322"
+"\26[\t\263X\30k\255\211\336\32\65\206I,\f\260J\207\247\240>\324\344\16"
+"\25\375\205\221\304\177`\313r(*\340ff`h\16\304\242\327\16Y\201\77v#!`\7"
+"\206\336|d\351\20\270p\26\266\274\371\20Mo\31J\274\303\205\337c\317\331"
+"\253Q\364z\42K!\345d-\34\345\202\3651\270\222\22dqW$3\323\3604h\3645\304"
+"X>>8\217\3546\311%H\255\307\276bR\2128\221\205\310~\231IR\3618\5%\34\332"
+"I\322\273\tEo,IzmQ\3529U\322*w[$v\3\377mR\32q\f\f\210Ri\177\354SRk\223"
+"B\250\213/\233\220\321\354\325\377\377\377\377\377\377\207\214\310\353"
+"\263\4^y8Yb\264K>\nF\301(\30\266\0\0\350\331u\277#\24Q\333\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\376IDATx\332\355\230[HTA\30\307"
+"\377g5-o\335tW\314\274 \30D\27C\221(|0\360\245\210\310h\301\b\22\244\240"
+"\300\'_|\b\272>D\365\320\205@\354!\242\307z\211\245\240 \23Y\b\212LC*\321"
+"\254\304\310\\#\273\354\346j\371\365\2603g\317u\316\231\343K\304\371\277"
+"\234\231o\346w\346\314\3147\337|\273\200/_\276|\371bj\35&\272\277\301\33"
+"{\230\210\210(\350\t\236L\301\355n\372\6\214\206P\352Q\347\tfZ\265\30\30"
+"\377\21\234\351\35\276N\363\3\353\304]R\333L\21S\3030\21\21\205El\21\203"
+"\7\215\237v\2345\234\327tV\0\340\300\215,\340\303\310\227$\341\20o\30\212"
+"\345\27\254\b\2\30\3337\0\0\243U\254\241\267Q7Z\35\t5\r\0\270\247\326\277"
+"\346i\341Sb\230*\1\240Vc(\321Li\275\3032\207\0\340yC\332\360qm\32\236u"
+"\200\343\0\200h\321O\3252\36R\341~\7x,\365\230\316\357I\37\\u\336\245\342"
+")w\245_s\325\260\212\0\3200!`\317i\77\242C5\267\362}\6\362\252\326\24\257"
+"^\226\1\34+d\335\272_\316&\223\361\330\373\230~\n\7oqg=b\236_\26{q\217"
+"\335\2\354\326\214\354\336\267\271\232\210\210h\34\236`4\22\321\343\200"
+"G\30\330Rny\276\213:\335\234\354\27fSv\307Tz\203\42r\1\351\214nw#2a)\370"
+"f\245|\0dp\361\'\203]\221\210\236o\235\2\245\0\276\222c\264\347\272\376"
+"\366\22\363qx-\21\221M\232q\r\253H\270\342\31/\272e\325\350\271\24\250"
+"\226\201\3\0v\262\362\311Y`Bv\257\243l\260\n\0\212\314\310\n\200\5%]^2"
+"\'\341%\1C\77\356\244\277%\357\347y\0\250d\225QI8\23\0\266\262\312\240"
+"$\254\0\300~Vy\352%S\330.\202K[\352g\36\334\321\333\6\331\356\344\2\315"
+"|\2472,\330\32\42\42\272\2547^c\300. \316\212\337\255\6~\250\271qU\205"
+"\371p\333n\363R\247\340\b\354\261\314C4Z.\200\333t\253\35\63u\33\371\346"
+">\211;a\264\336\224\310\0/\32\255\257$\340\204q\350_2\271\347\351\241\305"
+"$\256\33\373\27\1\243\366\250\373\210g>\30]JAu\250\327\r\374\307\352T\375"
+"\30\231\272$J\244y\234H\332\344\333\334\236c\5o\346\203\330\300\t\366,"
+"\267\202\233\331s\312f:5\314}\37\211\256\206B\247K+\333\334v\3261(\363"
+"\16\2373m\331\250\343=\34\234\277\33y\227X`\353\222S\336\324\2426]\220"
+"\271/\215\262w\200M\216\354^\201\373\364\221\353\374\331\342\327\253\230"
+"\355\26{n\331\214\200\r;:~\273\r9\331\6\67\371V\331\216\206z\335_\16\323"
+"\375O\242}s\376\2371\276|\371\372\327\364\27\207\373\369\n\305\241\215"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0"
+"\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\336IDATx\332\355\230"
+"IlNQ\24\307\377}\324PS\321\201\17%)\2411\265\225\306\302\330\220\6Q\241"
+"4\346\206\240B\264\42\2610m41Vj!Q\211b\321\4\215`!i#\225\350\200\220\240"
+"\206\n\2026\202F\224jc\250\32r-\356\360\356\364^\373\261\21\371\316\346"
+"\336s\356\371\335\361\334\341= $!\tIH\376o\211\31\364\307\350bB\b\331\365"
+"gl\22!\204\20\262\324V\326\331\315\206e\246\264V]\321\35\226\323$\343\214"
+"o\23\335k\b!\244P7\327\320\226o\371\367/\227zM\323\314\255\324\\jC\34\221"
+"K\240\311\34\315\241\33M^\372\303\337h2\321\336\257\327\376\360#\232\214"
+"\260\303o\375\341\27\64\tX{\215\17\376\360+k\213\221,\375\350\17\363Q\205"
+"[\341\226\16M\30\324@\356\303\322f\177\230\313PE[\343\351\247\312]\32\16"
+"\33\205\241KZA\35a\3628\340\17\37\243n\247\25168\357+Q\344\373f\77x\3u"
+"\372\2\0\351\365\304\42\7\303<\341T\346\22\203E\304KVy\301q\314\341\363"
+"\17\342-\327\272x\320\244C2\346o`2\325\n\227w\220\236l\13\222{Ze\2272\242"
+"\371\251\224sJ\262W\307[Z\256\224\253\377\265\30\0\216P\345\2\340\34\226"
+"\nMv\246\314\256S\242n\13\0\3045\210\322\22\235\35+\241\37\242\3249L\245"
+"Z\221pHS\331\36r\273=\264\5\210e\352\36\217\216\77%\2261\215\323]\213\264"
+"aQ\331Kl0\13\367\6\327\357\235\245\351$u%\'0s\31U\17\271\216\361\334e\226"
+"kkQ\341<u\310\223\244f\212\231\355\272\260\254\325b\250\221\232\373Zf\'"
+"\306\350\267\21\201t\357dR\345\2312\263\17\335\345s\0 \233\27d\37g\231"
+"\5\364j\246\312\t\5.`\351<\255\341r\4DN\262\217R\340(f}N\325d\16\7\200"
+"fiD\321\366Hv\7\355\0\310e\326\212\6`\77\313\'\272\27f\245\6\327[\253\232"
+"\1`\0\313\347\273\373{\265\6\2270\227H\0\30\250L\376Ov\320\272\225\366"
+"\327\340}\314\36\7\7\230\316\214\265\0D\277\303#1\314\343\202\344\327V"
+"\4\34\200\3557\\\4\0\234d\332B\314ew\201\276w;\211\324\1x\360\335\4\0\324"
+"1m=\330X\213u\270\37\237*y\276\206S\333n\276\351\274\216\234\323\262\77"
+"\207\331#`\200\32\250U\6\\-&LYt*o\24\330|\372\275\26\327\222\5^\245\300"
+"\341\236wC\204\244\264Y\367X\235\367\305b\177\320\234\227<\17\30l/[M5\302"
+"0^j\271\253\1Oq\373\344\210\227LOQ|\377\247\310\336n3`~x\225\1\0\356\30"
+"\13Z\3423\327x\317\212\322\1\0\205\6\374I\300)\6\333[\n\13\207\207\245"
+"\33\343\310wG\260\310\2007\361\16\320\321\216dU\361I>*/U\300k\241r5\275"
+"\23\0\364\256Ub$_c\363\364\340a\367(9\16 K;\203\257\252,\277\274\210\370"
+"\344X\311-\305\271\357\365\3|\247\302F\b\373`\337\227L\37193\264;\267\361"
+"\322\42\230\27\247+\333\201,Bn\304\311l\254[,=e\372\31\354\22\0\200\32"
+"\233in\361|\331\276McG[\236;\'\335b\355X\273)\243g-h\216T\256\77\271\344"
+"W\305l\203L,\224\353~gV\315\343j\207^\260\366\201:\244z\333\343q\310\336"
+"\'\215\227\315]tJ\233\216\322 \276\200\2235vk0\237\317\331\n\372*\241\235"
+"\257\33U\224\245^1\344qP\37\356\323D\253M\313\202\377\354g\367\303A\333"
+"39\254=\270\353\246\204\246\212\312/\241\1776!\tIH\376E\371\r\2628}\315"
+"\237n\203/\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2HIDATx\332"
+"c`\30\5\243`\24\214\202Q@:`\306\20\341\24\376\375\227L\303\2\276\375\377"
+"\377\377\241\1Yz\265\377\377\377\377\377\377\377\337\304\251fB\345\372"
+"C(\26Kr4\353Aier4sCi^r4\303\0;%\2329(\321\314B\211f&J43\fM\315\314\344"
+"\230\365\5\222\266\377_#AO\315\305\337\277\177\377\376\375\373\77&\270"
+"\230A@\357\372\377\370@\3^\275\32\377\361\3\274\1\246E\300a\242\3704\23"
+"\312\5,\3704\337%\240\3719^\3317x\275\274\4\277\321jg\361\350\235\303F"
+"0\246988888\364`:\316CD\31YIIj\233\241\232\223G`\226\34\325L\17\315\222"
+"$ifd```P7\220\344dcbd\341\320q\205\211\207\302\30\177\236\234\375\217\317"
+"\200e\4\212!{<z\13\376\377\'\263\20cb`\b$\3507e\334\2325\bj\26\307\255"
+"\371\26A\315opk\336LP3\232\361\334\334H\234]\4\302\313\3Ek\352\377\377"
+"\377\377\247\42\342\331\306P\4\32\62\3210%)\360x~t\362\33\262^\217\355"
+"\f\f\f\f\f\356\2730\35x\200`\31\266\34\242`>\226\344\371\231\240\377\255"
+" \224.Y\31C\f)O\220\254\31\332B\373HI\226|GI\233\344%\26\315\377\210m>"
+">\307\242\371\'\224\26\42\244\371\31\26\315\357\240\264,.MBxl~\6\245up"
+"i\226\203\322O\261h\276\7\245\315pi\206u\5\36a\321L0{zB\351\367\330\222"
+"\0,\'y\343\320\f\225~\205O\362\3779\354z\355\241\322\223\260\312N\207\351"
+"v\303*\375\25*k\215\257W\206\243\300\335D\240<}\b\327\275\r\275S\30\5\227"
+"\232\212Tc\240\370\352\0\22\347\364\276\353/\276\374\371\317\314\316/k"
+"\340\205T\25\211\342*\22W\23\254\3\376\267\342\216\312\37\204\364\336\307"
+"\223\16\204\b\350\375\301\211/\25\261\237\307\247w\77#\201D\230\213[o8"
+"\21u~-V\235\207\274\210,\245L&}F\326ws~\212&\326\226\1N (\300\372\377\337"
+"\257\357_\277\217\216\314\214\202Q0\nh\5\0&\203\177\245\2\277\237i\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0"
+"^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2[IDATx\332\355VMHTQ\24>"
+"/\213\201\320\201\34(\307\42\225B\233Z\4\376L\77X\355\n\f\42han\203(\314"
+"\4\177\202t\'A\342b\220\250\320\205\313\300\210h$\210@\31\214\376(f\202"
+"\312v-\n\2\321\260T2\333\250_\213\363\346\335\373\336\273\357\315\343\315"
+"N\356\267\231{\316\371\276{\356\234w\357\271\227HCCCCCCCCCc\263\303\360"
+"\215\236h^\237\316\206\234\271\35\0R!\305k\0\200\266pb\0\0\226\202\221"
+"\243\375O\356%%;\303\352\332@\342\327\0pI\330\307Y<\22\244\332\207\77r"
+"\376\77b\335\22\2514Q[\35\243_\337\276|VNT\307\211\272\204\247\233=\217"
+"\232{\337C w\332\273@\77\205\243\fj|\332\345\26Oq\250\324r\\\205\27\22"
+".q\13\7\256\20\21Q\244u\22>\210x\254{\236\350\320\255E\370c\334%~^@1\373"
+"]\214+\211\266\330\304O=\267\300\253\326\32\3030*\253\r\343\202\351\351"
+"t0\22\177=s\312\264y\0\300\232\354j\30U\211V\314\337\230\304L:\346kz\240"
+"R>;Ot\224\2077$\361VvU\231\346\204By\247\201c\377\0\0\362\236\334\303\204"
+":\266\206\335\322\375\26\265\203\353,\211SL\211\262\265\341\322>\224\270"
+"\263\0\60*\3546{\r\205(\223sW7\226\6\306\313\362V\225y\310\321k:\356\262"
+"y\77ID_y|@\375\271\317d\363i\304\227\32\370\360\242+\316\303\313\34S\264"
+"\275\310\271\264\364\307\224\263oW\354\n\2528u=m/\312\21\365\312~pt\237"
+"\360\\s\325sy\257\307.\356\344\370\240\345\270\350\322\336\366<\2;\234"
+"\353\3168\244\217\343>=t\311\276\373\350\255M:T\356\333\200o2k o\367\b"
+"\345X\262P\367\2163q\335r\f\2\300L\352l4\370\25\205\335\3229R\23K\24\276"
+"m\'\211\210h\361\245\345\331\b~\277\325p\346\325bnG\354,\304+Q\336\226"
+"\307\210\210h\341M\230\314\79\363\357\242\326]\36f\331\24o\344\36\373."
+"L\346z\316<\27\356)\205 \17-\307u#ZKQ\217\273\31\0\30\13\253\356\313\346"
+"\372\r\375B\326\320\320\320P\343\77\264q\350\fI(\272\224\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3\33IDATx\332\355X_h\216Q\30\377\231\261"
+"\177\226\32\32\306L\331\30\366\225\77\223\330\30\271\232\177[,\213\246"
+"V\310\\H-\226\21\221\204&kYj-\215B\333\235\324\2101\231\33.\210\\0}hM\244"
+"\20\321\207\215\307\305y\316\367\236\357\274\347\375\336\367{w\373\376"
+"n\316y\376\374v\236\363\347{\236\347\35\20 @\200\0\1\22\307h\27{vQ$\342"
+"\363O/\354\'\242\365\376\270+\211\210\210\374\221\337\br\271/\262\340\322"
+"\r\'\373\250\270d\27\247$M\236\230\242\b\355<.\366\24\347I\42\332d\211"
+"\305\34w\253\7\352\324\337DD\224n\333\264\227\363\276+<\267[\232.&\347"
+"z>\334\7\226f\25\253\16\272\277GC\220\254\371\6\314l|ADD\355Ef\362Ov-\264"
+"T\267X\365N\332\210\350q\236\211\334\254\5\t`\35\231Pm \227\260\355\255"
+"\362\206\214d\332\351i\323!3\231\3268\376\20\250R*\32\310\tcl\344\3l\271"
+"#B>N\316\350\260\221s\225\270S\233l\204k\365\347,!\307q\323\207\363.\330"
+"\250\373\1\0\207\244\330f#\237\215\23(\273\354r|\357\205\356d\\f\271\304"
+"1n\3\66j>\347=\220\277\334\347\311M\351s\204\r\32\65\263S\247F\312\201"
+"WZ\334\231\246M\247\264\330V\335\0\0;XZ&\35\277\13y\274\302=\245S\373\226"
+"\nC\6\3132\243\241C\310\263\241mD\201\225=>\nEX\312\215B^\302\331\263\236"
+"\216\351Gwe :m\22\303\17)\217\25C2\0\240\340\217\341f>+\305Nhj\245|]\310"
+"!\0\300\240\361^\323\265<\330\254\337g\26\0\314R)\303\267\345\254\306\42"
+"\'7\rt\227E\245\351\352U\345(\334\315@/O\37:\345\3116a\177\246=\253m\0"
+"P\351\222\351\345\302u1\327T\253=\321R39\302\346\f\226;\211hw\324\372\222"
+"\255\27\215\334~\266vG5\5j=\331\23\'\3569\321-\346\233\343\312\222\366"
+"\31\306**\320\342t\234\277\330\241A\323\327\31\237\220\206\23\354\361^"
+"U\246\35U\237\303\4Gr\201=9\257\350\211y}\323\334k-m\21\342d-\13\207\307"
+"\305+\324\227\330\253\'\246HK\234\216_\345Kc.\353C\fu0\344\261G\240b[R"
+"\254ro0\356\251\351\365S\224\371o\253\227\226\252J\215\273\206\347OV{\353"
+"\33\223$y\n\0\264\22\21\235\311\366\334u\206\231\274\17\0\260\250\42\204"
+"\4\260\227\311\257\375\364\273\223\22\350\375\354\370\313\344\265~\276"
+"12\226\2131\265\313\307\312sG\24\67\331\333A\357\237F\371|;_{}\254\\f\365"
+"\254#\210;-\316Ct\264\364\361X\341g\345\352\230v0\301O\243\344!W\27\347"
+"\260\207eu\237\357\203\fY\220\347\371!_\345q\310\327e=\217-\207\t~=\23"
+"\21\r,\360s\332\0\262+\361\350i\360\337\215\0\1\2\4\260\343\77\220\f\234"
+",\233\201\353\31\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\206"
+"IDATx\332\355\227\313kT1\24\306\277i-\332\26\13c\307R-\16\35\353\200h\353"
+"l\352b\250\325\252\340[\260B\21,T\264\376\1E\20\\\270r\343\302\225\350"
+"\312\215\202HEP\350R\21\244h]L\253\370b@\4\255\242\210V\5\5G\221\316\34"
+"\27\347>\222\334\334\\\233\225\213|\233\334|\'\277\233\334Lr\222\1\234"
+"\234\234\234\234\234\234\234\234\234\376Y\251\204\370\326\375K\247\256"
+"X\276{\214\210h\322\216m \42\42:\34\23\2563\302y.6[\301i.:\254\340\4-\362"
+"\312\216-\255/\357X\276c\220\210\350\375*\325\36\345\t\243c\335\31\3\314"
+"mn\312f\327\30\t\232\277\272[\317f\275\6\202\265\372\42Eu#\257\201\13*"
+"\334_&\275\306\33\42\360\6\31\316\315P\274\212f\370\24\31\265\327\0\327"
+"OS\202ze\270\'\204W\352\232g\201.a<2\274>p;\5\344ln\235\324z\237\378/\301"
+"k=\267\2515D\207\0\240*w5\345\305ZDx\215g\36\377\355\243\'8\360S\31\347"
+"#\256\237\21\341\234\362\215\277\262^\340\233\2\247\244\357\340]\245L\301"
+"\375\306w\376\262U\227\361I.\227\13^\247\324\357\3550\360]\235\336z6\16"
+"\306\355\347\327;\303\347F5X\235\3\0\24\343\340\36\61\211E\242w\1\0\335"
+"\2\\\23\242\7*\306\235\377\31\0\220\21\340j\30\234\2360\247\215v\0@E\200"
+"\347\303\340pB\316\341L:\253\355\271\364*\1^\1\0x*8\341\252\34\0\200]G"
+"\263Rz\22~\252>66ia\0\2319\42:-\302\302\224\334b\'\245\203\257\1\230\b"
+"\236|\370K\320\260\215\215Y\350\340=\341P\377\24\202\347p\36\336\2601\42"
+"\35+>\334\f\340\207_\231,\16\362C\311_o/t\331\240E\314\21#\221DR\3\200"
+"\272\276\313~}T\202\233<\367y\\\2\254\211\225\31\371\307[\354\331\227\274"
+"\205bN\200K\264\307\r\r+\331T\253vu\335\224\330o\13\214sq\350\203\350F"
+"\313\177\22;\6\200e\27\264\254\376\206\261\361\320\216\264b\r\\W\310\362"
+"\320B\256RO\n\\\336\243\312\307r\351\341\302\316\374\17\334c\301\346\22"
+"\227\252\231\33\31/4G\270\30\267\272\251<\343Q\367[\301\336\361awGzLDD"
+"\333\354\340\336\267D_\267[\337\361\322\315\356_\205\223\223\323\177\254"
+"\277\233\240P1\353\24\f\270\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\3jIDATx\332\355\227YHVQ\20\200\'\177\323\264L+\302\224\212\36\62"
+"\312,\r+\243\37\225lW\374\313\220\324\254\320\210\214V\241\250\4+z($B\354"
+"\245\350!\264\205\210(,\37ZHQ\222\26z\23\263E\n\rs\2554\322\304\264\232"
+"\36\3569\367l\367^\377\373\277\25w^\346\2369\347\373\347,sf\316\17\340"
+"\210#\2168\342\310\377#\261e\275X\33\355\33{\n\21\21q\222/\354\42\215\305"
+"\23\276\300\33\t<h6\300\317\2\356!:h\234/\256\211g\314\260\366\34\31\67"
+"\303\240\363#\3219V\36\26v\42b\377\22\305^D][\301\335\210\210\370S\261"
+"\317\241\360\365\351Af\354L2d\236\351\242\21\21\177\337\315\237j\0\'\220"
+"\356Ur\307V\224d\344\260\277<\306M\272\326\211\346\314\257h \347\375\274"
+"\200\363\321L\262F\203\263\321B\312-\341i\215h)/,\302\323\323\31c\35y\t"
+"OL\341\243\367\f\306\77\\~\340\31k%\226\231L\273\224\237`\33\375H\2256"
+"q\245!\\\306\241\373\1\262\304;}\22\345\210\345\341\343\f\335\t\0\20B\32"
+"\325d\354\32\356\207ex\213\216\336\37#D\350\37\352)Mr\355\326\327\25\255"
+"\263{\351\340v\371b\321u\255\27\341\\v\21\326\352co\21K\220|[\352\304\243"
+"Zv\203~%=\322\215\r4ptK\261\246\222E\317\272x\270_\314%\266\245\272\205"
+"\356a\254a\204\25U\31dA\226\274\373\3734\235b\4\77-\341[\337\211\16c\246"
+"\253\26\260\230\23\6\25\317POb\324\0\316\33\22\2324\263Mf\246\367\232\n"
+"U\341/W\3046\215\216\20f\372lZ16Im\27\321\376\352J\24\370S\275d\b\224\t"
+"\0\64\203w\3113\241u\252\217\231\202\315\340\7\62\34,/\24 \302\4>\255l"
+"~(\321]\\\335\326T\263\f_P\340p\242\333\224=\255\221\340\341\16\5\236M"
+"t\13\63\245j\352\261\4\227\2l~Y\225\304\233h\42\35aE\b(,\336\252\305\260"
+"\3\21q\17\7w)U\226\30\6\344+\351\347\322\364Ye(;\251jb)\224\340\16=\207"
+"5\206I\360k\332\276C\7\273\244\243\252\204(\272\322\276\2\355c\42\61| "
+"\247\376\226\206o\331o\311s6$\263t2\220\2\0\60\27\371\205d\262n\227\224"
+"=1\6\240\202\313F=\36\0\17\371\316\3\200\5M\254/GN\3728\1\0J\204lv\211"
+"~\34\202\3647\234\375\232R\253\264\343\310\300\321\245\1L`\230\365k4\366"
+"\225\301\305\30\326T\253\377m\353\362\\\31c\3602`\341\273\315\312\357n"
+"\341\227h\205\342\212\372\224Z3\264:\\\234\306Xb/\340\215\211\315F\350"
+"\363xe\21\205\3023E\177<^\224\321s\221\342\b\255\n\257H\217\356\256+W\267"
+"f(\220\275\200\313o\276\363\355\301\215n\333o\365\300o\224\215\264\315"
+"zt\277\25v\321x.\224\3\354\241i\255\334&\257\266C\206\237\21\16h\237\367"
+"d@A\273x\270\7\275F\343j\344\300\330\3405\33%\243M\21\336\317\271Xb\267"
+"\333\331\252,\1=b\363t\373u\362G\236\355\250\32\337\253\241\227\347\373"
+"\364\207\373XKg\205\33\34q\304\21G\376\t\371\13\306\205~i}G`F\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\243IDATx\332c`\30\5\243`\24"
+"\214\202Q0\nF\301(\30\5C\16\60\342\221\n5\375~p/y\306\n\335\371\377\377"
+"\377\377\211\344i\356\373\377\377\377\377\377\377\r\361(a\302)\23\0\241"
+"L\310\322\254\b\241$\311\322L\4\30\325LO\315\270\323\366\177(\355\374\205"
+"\201\201\221\231\225\205\211\1B\277\273\372\232\260\261\377q\202:J4\377"
+"w\242\304\317\232\224h~F\201\263\217\302\224\260\20\64\344\345\27T\376"
+"\275\355\23\210\16\260\315\224$\222\323\243\31c\220h\306H$\252\22\334\177"
+"\77<}F\272f\255\354,r\35ax\3[B\336D\224\336*\34\331\240S\231\260\3366<"
+"\231\177\226\5~\275^\377\361\203m\376x4\377\371O\20\\I\347\307^z\232\236"
+"\202\362\17\314\276\366\225M@N\317\5k\325\372\245w\361]\334>v\201\213p"
+"\340r@\17F\245\273\7\42\261\36\271\304 Xx\302\300I\210p\4fI\262;h7\206"
+"n4\315k!\242q\b\21\t\250B1\6\6\6\373e\250\232UP5\27BDo D\272Qm\321\237"
+"\210\244Y\23-;@\205g\303\4\314\241\2S\21j\344k\77B\5\321s\323O\230\251"
+"S\\\345Ed\\V\300\270r(\252\4\262n\377\377\377\77\4=\270\303\261\7\354R"
+"\314X\225\340\304\24;\201U3\13q\31\222\35\233^=b\2633\317]\362\365200T"
+"\242j]\316JZ\33#\3479\\\353t\5\62\332$j\362\202\314\337^\334\3708\332\25"
+"\31\5\243`\24\fw\0\0\241\236Ik\364\321\320\347\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\1\363IDATx\332c`\30\5\243`\24\214\2J\1\63>I\tU\236"
+"wd\232\253v\347\377\377\377\377c\310\323|\363\377\377\377\377\377\377\327"
+"\300\255\202\t\247\214\220\32\204v%G\263\4\224V%G3\13\224f\'G3\21`T\363"
+"\250\346\341\252\231\21\247\214\336E(\303\377\5\252\304\207;\377\b\32\253"
+"\367\37\'(\246D\363\177\17J\374\34D\211f9J4_\246D\363r\3625\277\360\77"
+"\207ZF\342\1J\317Q\371\77\60\nX\334`\326\375\321\\5\252yT3\3354c\311\222"
+"\354\34\177\276200\360\221j\263P\306\241\377\377\177|\370\362\377\377\353"
+"\5\373Is\205\375%le\364bb\264\n\37\306Q\302\23\241\327\31w\375\220JH\257"
+"\377\177|\240\34\257^\303\377\4@\'\7n\315\377\t\2039\2428\3646\42\253\272"
+"\261f\356\272\233\330\264\257W\42`q\245$T\210\347\32\26\355\7u0\365&\300"
+"$\247!\t\232cu\374q\f\355\27\2412\313\221\5-q\370\375\240\32vWs!\13zA\5"
+"\367\224\240k\337\251\210\244\214\37*\370\33\305\304d\250\250=\3C1F\320"
+"I\300\225)C\205n\243h\356\206\212*20`\321.\5\257C\241\2\77P4\237\200\212"
+"\262A\270h\332\33a\3128\261f\1\fA\24\355\r\30\352\42\220\364jC\305\16#"
+"\211!iG\364\3636c\261z\77T(\32\30590\355H=L\27\230\346\367\2\60\2416\\"
+"\271\271\370\377\377\377\377\375\260\'\317%\366|\f\34:\345\210\354\200"
+"\231\36U\fp\244O\f HD9r\227\354&*\3\3\203\24v\275\307\210+9\261\346\241"
+"\367\304\226\273:\230z\3572\23_l/D\323;\225\244B_y\31\222\326S\6$W]\226"
+"\215G~\376\377\377\377p\276\330\350(\320(\30\5\243`\270\3\0\244\204\33"
+"\356\326\376\315\251\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"\353IDATx\332c`\30\5\243`\24\214\202A\7\364,\310\326*q\347\377\377\377"
+"I\344\351\25\373\377\377\377\377\377\377\227\222\245y\7D\363\377/2dh\376"
+"\17\7A\244k\376\212\320=\231d\315\221\b\315\377\357\t\220\252;\34I\367"
+"\177gRu+#\353n$\331\351\333\221t\237d!Uw)\262\345\246\244\352\266E\326"
+"\235O\252n\336;H\272\267\222\354\361i\310\226\253\23R-7\377\343\377\247"
+"\375\302Xc\374\2777~\275\242\20UW\20\42*\310\272y\360jn\201\252r\300\222"
+"K\376\377\377\357\217W\363S\250\252\20d\301r\270f+\242\262\223\3\212\250"
+"\35L\30\257^~\230*\21Tq\276\273D\270\332\36\247\25\323\376\377\377_\213"
+"\77\260\253\241z\37`)\231\334\25\t\304\3621\250\346I\f\24\24\77\201d\350"
+"\345\204i\226&A\23,\267\232\300\243\33Y\226]VFZR\360\337\207\307w\257\374"
+"\304cH\25\324\342\'p\21\267)\217\221\223\347\377\331\20685\37\205*\231"
+"\2\341\372\235\377\217\t\276\207\22\b\257 \6\6\6\206\224\3778\300\3U\274"
+"\341%\307\300`\377\367\77n\20\207E\2635LR\230a\331\177\274\240\2Ss\5L\256"
+"\356\77!\220\215\241\371\360\177\342\201-\\\27#4\274p&\274\217<\30\5\67"
+"#\214\301\304\300\300\300\300\300\201U\343\346\0^F&AVFF\231\210m\310\342"
+"\23P\225Ya:\356f0\252\222T$9!\6\354\245\r\24lT\300tH\37\\v\n\212\370!T"
+"\255\257\264\261z\303\377\77\326\2\203`T\242\351\366A\316<(z\265qg\237"
+"\tP%\333p\204\327)\242\212\f\244\250\262A\310\2567\303\253\271\31JK\42"
+"\204\16\302\355\335E\240\354\220\201\252\13\300\22^\177\210-\352\332\341"
+"\316f\203K\351\22\324|\17B!Z\247\2260\213\27\21.\363vAT~\200\333\254\6"
+"\223)$\254\371\27\264r\202k\376\13\225X\373\226\260f\21\\\r/\t\42\212\352"
+"\267\30\t\324\355\352\377\377\377\267+\222R\261\220S)1C\365^G*\f\210\6"
+"FP\372\349\232\275\240\364\tr\234\375\16\352l\23\62\364\312P\22^\13`\255"
+"xrzM0\2133\310\320|\r\246\231\231t\275\260B\350\377b\n\364\376\27\'U\253"
+"\320\5\270\336\16\22\265\362OB\24\221\277H\13\344\344\313\310E\263*Fk\b"
+"\321F\220`\205\325\201,\34\\B2\272\366h\255|\317\3338\373\260\373\t\325"
+"\316~\270]\270\227\220^s\334zY\th=\304\215\'h\244\361\353\r\301\33\256"
+"\342\244\265dpv\275\321\300\tO\302Q\332\203U\3476\34\356eDo\300\26\210"
+"\302\230\337\37=z\370\350\331\363\'w\276\215\216\376\214\202Q0\n\6)\0\0"
+"\77\60W\1\316\257bO\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\365"
+"IDATx\332c`\30\5\243`\24\214\202Q0b\0#\n\217\225\31\237\332\37x\344\204"
+"7\374\'\0\276&\342\324|\360\77a\220\210\303\331\242\257\210\360\3457nd"
+"\36\23\234\305KL\20q\341\260\231\365\27\311\1\214\260\371w!\21z\333q\232"
+"\344\350\253\305\206\251\236IF\31\316\276\256EjR\320\207\207\365)\322\323"
+"\321[\230\336\355\244\353}\n\323\273\221t\275\367`z\367\221\256\367:L\357"
+"]\322\365^\204\7\26\23\311zO\303\365\n\221\254\367\4\\\257\34\311z\217"
+"\302\365j\222\254\367\20\\\257)\311z\17\300\365:\222\254w\77\\\257\37\5"
+"\366FS\340\337\365\262\344\2073\24\\\353q&V\357I\254\205\337\2250b\364"
+"\236\303Yx\226\21\324{\5_\331\353\201_\357\35\374%\367T\242\362>.p\24\247"
+"V\246w\204k\215\238*:\366\17\34\310\334M{\256\277\374\362\227U@\301<\2"
+"9\266\347\246`\263\227\27\331\202\305\250\305l\322\37\204T \266j\22I\353"
+"*\36\f\351\b\204,\246^I$\275v\330\34\306~\37&\335\210.%\217\320z\230`\22"
+"@\23WC\350\355\304\35\2210%1(\242\272\b\275\311xR\201\25,\243 \13\232 "
+"\364z\341M\177g0\335m\203\320k\215\77\361\332C\225\231\301E\234\21z\215"
+"\be\33\250\272\42\30\337\5\241W\217`\236;\2Q\270\26\306\377\207\251W\336"
+"X_\34\273\346:\210\312\7P\256\22\\\257!4H\241%\330\325\4,\232#PC\214\3"
+"\246\327\34\302\337\210\224\322\31214{\241\5w\77\204k\317\300\300\300\300"
+" \364\17%\377}G\257i\202\320\343j\33R\1\363\27=\373\206\240j\316\301\210"
+"\350\370]\26350\335\f\5\251(\232g@\4\2615bm\261\25\35Q\310*\256A\304\16"
+"a\321|\1k\301c\205\231H\32\261\344X\230\362*y>\263\271\b\335|p\25\42\270"
+"3\274\23T\312\233\201\201\201\201A\0\336\42\271\2W\221\210\263,aHG\223"
+"\232\n\323]\1\23\271\1\341\337\302\2429\33\42\205h\377v\303t\253@\370\312"
+"X\33\355\20\340\217\341\250%\377Q\322\362%\334\256f\220\305,e\356!\307"
+"v-\2243\17o\31%\n\27\21\200\t\26110\324\303\330\222X5O\203Ikc$\346\313"
+"a07\377_\200=\267\312\300\243\266\33.\266\5#\321p\342((\26\42\3257\26\20"
+"!~t\275q\330+:\6\6\226\337\310\274\327\373\256\277\371k\206\26/kC\b\226"
+"\3148\301u|%\\\20~\275\'\361\227\217\216\370\364\266\23*]\5q\366*\357\20"
+".\232\31\30\34\357b\323z\201\330\26\254r\317\77\264\226H:\77\201\3167\n"
+"`\326WW\24\347\372\373\371\355\213\347O\356}\37\35\247\30\5\243`\24\fB"
+"\0\0\275\302\351\216\352\242\4e\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\224IDATx\332c`\30\5\243`\24\214\202a\4*\356\374\177\330H\246"
+"\336\231\377\377\377\377\377\177)Yzy\377C\2008Q\252\231P\271\212PZ\205"
+"\34\315\274h4I\232I\3\243\232\207\214f\26b\24\361\213\374y\374\217,\233"
+"m\266\375\377p\347\301\337\377\365\34\204TZC3F\36L@\377\376\1778H&R\363"
+"\177(\277\351\77\62\230\200_s\3\\\241\6\3\3\3\303\361\377\250\240\2\233"
+"\236\232\213\277!\0\241\356\17\23\3\377\217\377\350@\7S\357\372\377X@\251"
+"\t\26\301\263\30z5\260\351\375\377\1\253\250\2zTia\217\\\254\242\311\350"
+"\232Y\tDA3\7#\367sl\232\31\30\30\30\214\376\343\5\n\f\f\f\f\22hq\210\0"
+"w\360h\275\fU\3\343\263\241k\226\331\211S\357q\230\232\263\4\13eQ\\\366"
+"20\300\314\227\303\2311^_C5\354\263.\234\371\33\213\6\264\\\205\26k2\b"
+"\346\177\202Y\22-n\365\77\221R\222\330\242\360\342.\221T\f\5!s\346-&\255"
+"PB\16\350/\250R\233\261$n\24\233e\2219z$\226\236\251H\354\234{\fd\273\372"
+"\34\272\34!g[ \261\335H-\364;\20\314MoH\324,i\217T0\221Z\335\364\42\t\277"
+"$Q\263x$\3\376\224\214O\363\f\njI\315\0\n4\257\245\240~\366\323\244@\363"
+"F\nZ\6m\24\64+\344+)\320\274\205\202\6M,\254\346<\333K\262f\266E0^\330"
+"1\222[C=\360DvO\2068]Z\361\177v\34F+\3\20m\22\17\6|\205\201\307\377\377"
+"\377\377_\24C\311\317i\304:w;\3\3\3\203\336f\6&D!\360y6\221z\363!\224\231"
+"\42\23\3\3C\345C\6\6\6\6\6wb-\206\265\250\33631000(\334e``\230x\234(\235"
+"\314\360\324\370\375\3\244\355\251\22c\271{\3q\326\212\375\254\304\325"
+"\302 \34\332\315\17\21q\303B\254Ga\255\336\32\230@4\t\355\355\317h\374"
+"\367\313H\320|\13\215\357FJK\177/*\267\367\f\356&\263\7\376\352\367\377"
+"%\22\373\30\276H\3547z$j\336R\bg\36\24\305\252\302\34\352,\27l\222\256"
+"\320\346x,\216\336\r\254}\372\24\233\346\335\254\306\216\342O\16\\\304"
+"\351\270\227\377\377\377\377\377\377\'ye\232\336\363\377\377\377\1776%"
+"N1#\206\210\224\330\333\307\243\2036\243`\24\214\202\241\1\0\204\21\62"
+"\17\21\177\214\366\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2^"
+"IDATx\332c`\30\5\243`\24\214\202Q0\n\206\16H;\364\3717N\360\356`\26#\36"
+"\275\335\377\t\201d\234z\271\376\23\6\33qiV#B\363\377R\24-Lp\326\'b\202"
+"%\n\207\346\27\347\211\320|\32\227\204\314!\302\316\226G\321\201\32\374"
+"\42\314\30F\262\250v\230\3039\206\27H\214}\t\204\275\6\244\246\34v\n\364"
+"2|\242@\3573\n\364>\202\3535&Y\357c\270^\7\222\365>\207\353\r&U+\323;\270"
+"\336t\222\343\350\33\\o9\251zy\20\361\333J\252^!\204\336\211\f\344\247"
+"\311e\270Ua/\227\24\356#\330gO\376\372\375\356\361\335+_\210\264W\35kv"
+"\\\343D\214^}\234\331\271\206\240^\13|\245A\n~\275\336\370\313\222S\234"
+"x\364f\23,\212Tq\352\235FD\371\253\206#\252\216Z\241\233\366\366\374\255"
+"\247\237Y\344\235u\220\304x\261E\233\310w\24\33^6Y\261#$\3\21\371\344\22"
+"\26\275\306(Z\13\271\321\345\343\340r\271\30zC\221t>w\306\26 rpy\26\64"
+"\231\32$\275~8\202S\f\246\240\rU|\5Q\331\310\36\246\6\245^\270\211\320"
+"k\205/\t\255\201*rG\b)\42\264\36\303\237\376D\240\312\326\303E\4\20z\273"
+"\b\245\3743\350\356\256\204\353M$\230m\342\241*\3311\322\244\13\341\374"
+"*\rU\nOqNP\1Cbr;T\255\33\\\240\37\65\301\23\2439\24\311\'\37\377o\225d"
+" Es,YM=\250\346h\224\6\r\211\340\33%\232\337\222\243Y\3J\77%G3\254\242"
+"\276K\216sOc\311V\304\2\16\250\336\371\344h\356\207j\266$C\257\332\177"
+"\362]\315Gv;\203\201\301\n\246\367\17\311Z\325w\302\263\2759V\5l\235W\317"
+"\2649\211`\266\214,Z\177b\266\367\321\252\233\5\361P\306\275\13\67\36\275"
+"\375\366\227\211\235KPZ\303P\1E\321\364,\274Y\6/\300U2s\23\2417\227Pf\305"
+"\3Lq\207\350a\2Z\247\343\213\16\271\217\370\264\236\325\42\20\233\t\307"
+"pi]\246CL#\216S]]SMN\220\215\221\201\201\341\377\237\37_>\277}\361\360"
+"\366\345g\243=\365Q0\nF\301\360\2\0~\206\6\f\245@\232\357\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\3\17IDATx\332\355\230MH\25Q\24\307\377"
+"\357e\246O+\3244\205\214\324\222B1\b\22\261\242\17CPi!-2\310 3J\342\225"
+"\21\266K\b\21\304\by\220-*\2116Y-$\243B(lU\320\316paEede\201e\237<*y\267"
+"\305\334{g\356\314\2357\347=\242E\314\331\234y\347\334\337\234;w\316=\347"
+"\316\3|\361\305\27_\376#I\213\314\260\231HZr\360(c\214\261\321\244\330"
+"2fH\31ep\320\366{\215M\'\4/\266\351\204\340\204\304\207\377\22\2742\231"
+"\233\35\343\31\306(\203\3\\\257\253,\0\0t\232\261_P\3\3661\247d\21\331"
+"\315\32\226\235!.\330F\235k\13\21^\246s\315\250E\42#\340\2\277\324\301"
+"7\271.\r\337\2122\26\375\36c\357\272K4\343\326\353\236\271\0\0V_R\215\23"
+"\225N\372\270\6\6P5\3414\237w\276\347\234\362\\\0@w\251\360\\\337\225}"
+"m\273\356q^\255\232sY\300|\31\241\77\314\\d\326m\365\213\31A\36\270l\214"
+"%\224\234\252\356\320\333\233\31I\362\265\221k47\234\356m(N\17\2046\\1"
+"M\27\264\221\235A\302\251\322\271\364\215\264.\327\260Evt\217\352\277+"
+"\354\3\32\370\254\212\16;\6<\213S,T\266\3359 $|u\16W\207\302\356\324-J"
+"\213\353\244\24\266\21q\227\324n\77ee[]2\344\20\367\347\251\346LZ\21\322"
+"Ol\320\266!]\344\2111\240O1VX\331\210;|\322\30\61\246\30_[\341\203\356"
+"p\215\234\233\231\333{\13\255#\346\334\341IM\257\272Lm\20\237E=5\341\1"
+"r;\373%*\227\204+Z\310p@\236y\4|\217\336H\305\26\315\24p[.\35\16q\275\200"
+"\303\31\347\204\347\2557\274PN\337\200\7e\305\351\364\206s\270\216\42\5"
+"\0\266\356\20\216\372/\336\260\350\212\37\fX\236q\257\216\205\bg[\221\221"
+"\b\2\350\222\366}\370\355\roR\272\254L\350\243\300|~\271\37^[r\4\b\2U\302"
+"\32\213\220>\5\270\36\2\202f\272a\33\3515\327r}\307PS\314\3744\360\236"
+"\366\260Z-\n-\375\307\33\266\364\370 \200\251\354\37\0\16\277\'\315ZT\211"
+"~\323\324\324\305\227\3153\262\265\306\245\360\354\240\356\212^\256\333"
+"uN\217\310\365JqM\354\274]w\233_t#\341\310=\266\252\236B\216\272\250\255"
+"G^\37\240\302y\331\363\322\263\212\253\233R-M\372\42\rn\34\212s\36\366"
+"X\260\22\35\3338M\203\33\64\266\23\67\210\237Fk\235\246\316\323\362\322"
+"\343\231\243\16K\353\200\373w\225\330i1C=\262\271\77\226\307mK<\13\370"
+"\226\17\214[\373\356\317f}\343\221r\337x\179\237x\3219R\273\2\0\346f\237"
+"\77\34\231\364\312\211\302\247\2141\266;\241\226g\375\333\240\350\353\343"
+"o\376\177>\276\370\342\313\77\222\77\231\337\324\354\243)\372\225\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\340IDATx\332\355\230Mh\23A\24"
+"\200_\243\301\244\rF\233\5\321\226Z\301BD\361 \32E\242-\206J\21)z*\366"
+"\242\224\202J[A,\365R\20A\241\210\202\207\202\5O\365P\24\177z\362\207\342"
+"\305\237V\205H\375\5\17)T\354\301\34\324\n6\260a\353\363\2603\37333\273"
+"\231\235\\<\354\273\314\316\233\367\355\374\354{o\337.@(\241\204\22J(."
+"9R@\\\32Rc\217\42\42\42\236V\202\27L\370\271\277UD\250\2157\230m\235\n"
+"\234!\355[\25x\77i\237\252l\371\215\271el\3627\253\21j\321w\324\177\331"
+"\t\322\26A\1\336I\332\311\n\360J\322\306\34\272\265w\311E\253\366\307e"
+"\374\267,\270C\327O\224\224\251\365,\333\206\3622\313\302\343\1`lf\16l"
+"O\20\27\330\310\300\213A\340%\6~\22\4\376\314\364\327|\225\337\362I\316"
+"=\343\'\262\366#\310\330qh\0\0\32z\251\274l\350%]\327\177\177z\374\301"
+"\177]\233\350$}\n\21\325Ia\225p\234&\354\5\5v\5\235XS\200\373\t[PY\265"
+"A\340n\5vw5\3075C\330\227\nl\213\345J\257\20\21\361J-g\222:w\363\230\30"
+"~\301\371c;c1\202\2108\27\25\260{\5\336\334\3464\350!\312_\2X\27\305B\334"
+"\32\316\225-\345)\216\35\26\6\322m2\232~\347P\216\263l\332#\f7\3\0$\357"
+"\270t]^\376\301\312$\0\\v\253FY\366\226g\6\30\30p\367\215},{\334m0w\355"
+"\272\327\275\316r\207\265\3255>\24\5\200F!z\217\177\343G\234\343\27\211"
+"\362=\217.f\4Ox\326\36/Z\251\271B\376\2432j\217\337\240\272\3\34:&|_\367"
+"\362\367N<b\321\327\315\302pp\270t\'QuW\214\20~o\7\211\346>\213\236\361"
+"\nb{\342\303\246\242\201\363\265\16\317\f\220\243&=f\177\7\177\312>\371"
+"\203X\214x\262~\2609\365\264\331\331\200\301`hG\304<\271\376a#\23\253r"
+"2\2714\332\221%W\227l\266\25\240>P\42N\331^\32\7\200\325\201\3401\312~"
+"s\236\245d\341aMLJ\303\2748q\210ke\312\322\242\271\245\210\210\317j\245"
+"`\232=\362\266j\327\241m\222\257\233\202(\323\313\326\333\222\205\266\357"
+"gB\21\252\200\347U`\272\332&\250f\317\21T_6L\251T\25vT\fn\211\4\205\37"
+"\310\24\257\245\211\264g`\313H\243\220\376.\7\17\13\17L\316/!+\204\277"
+"l\227\202\227\305\217\352c\315\240\4\354\363U\236>\77S\341\274\265\n\341"
+"\243\255\323R\365)-\225L&\352b\261X<j-r\376\341\325\205\360\227L(\241\204"
+"\362\77\310\77\373\202\260\306\353M\220\255\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\2\314IDATx\332\355\230OH\324A\24\307g\r\215\315"
+"p\223\250\260\16\225\211\225P\42\26\24\35\62X\f\322\22\f$\2\243\364\342"
+"\37\210\202\250@(\242<y+\202\330\16\t\375!r\213\305(\242nK^:\4\31t\351"
+"\37\42Q\220\321\302jAm\276\16\316\233\231\337\314\333\37\277\337\333S\361"
+"{\227\235\371\316|\366\315\357\315\354{\363[!\42\213,\262\310\376][\344"
+"7\330\234\314\347\270_<\4\0CL\266\16\0\0N\363\340\207\0\0\0\2079\354J\220"
+"\306\201\257#\\\313\330\6d!\301\13\65\0\0|c\254Z9n\13\317\36Bv\216\341"
+"8\207\360\376\360l3\262\5\206\343\247\bw\205g\253 \320\t)#\3253\3308\351"
+"\13\307\350}\362\37\366\365\334\211\215[\214pM\341\23\327\207g7 \373\231"
+"\341\370F\320}\212\361\303E\6\354\30\66.\226r\254\227\204g\33\220}\300"
+"p|\33\341M%d\201\267\f\366(\302{\31\360L\t\31\267\16\331S\f8\205\360\342"
+"\22\3025\301`;\21\336\307\250\317\367W\310\306\304Lb6d\314\226\203i\277"
+"N\204\202/\200\327\346\326rj\214\262e\201\177\222;\335\361\'\201\35\217"
+"\273\236\241\225\277j\200w\1\331#\24\f5\301\366y\234\274\3\344\262A\34"
+"\2572\375M\252\334\375\335\235\31O\315\77\262R\305%\215\376H\b\221\304"
+"N\271\3\217\2\0\64\24\13WL\b!\356\24+\3571c\222]\317\1\32\205\20B4\311"
+"\336\250\rw-\350\307\r\351\256bG\254\245\330pvA\36#W\215\312G\331/\243"
+"\217\3035}<;\324X762\362s\227\227M\312\317\307Zz\341\336$\332\2440\354"
+"\205\323\316\323\224\203[\32\253\245\362\236\\\365+\255\364QW\30\62b;\244"
+"\330\243\245/8q\220\270P5\232\360\230\24\343\304\3214\347\365J\355<\261"
+"\352)\255\234C\366\2529\257\206\270^\fJm\200\330\344\325\344\211\255p\245"
+"J\245\324\243\364\306\33\330\233R\356U\312\36\267\206^F\270\303\13\267"
+"H\371\223R^K\245\233Xu\261\304\264\321\2766\350)\333QJ\3310\356K\326:\207"
+"\31\367\321\224\3e\333\274\317\323\216\335&wq\177\334\214S\300\261v!D-"
+"v\276\352\t\273Q;\353\227Q\247G\322\252}@O\310\240V\35\60\227\347\211\361"
+"i*\247\36$\340\26=\334\212Z\77\231\221\237;\354=A\234\2208\t/\265\331\337"
+"f\225\254\302\202\370\223\204g\267Z\302\32\352\345m]\261R\262\331\364\373"
+"\262\322;\330\367\1\0\322\353}*\321\25D\3479\257\342\25=\317\362\205\311"
+"\341-\321\77\64\221E\26\331\377c\177\1\257D\363f\30/\33y\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\1\201IDATx\332c`\30\5\243`\24\214\202"
+"Q0\nF\301(\30\5\243`\24\214\202A\tt\266\375\'\4\36\371\342\320+\366\237"
+"\30\320\207]s\bQ\232\377\227`\325\354K\234\346\377X53^&N3\27T=3\212\356"
+"\371\237YX\177\377g\370\377\357\77\23\236`\375[KzT\260\225B-\216!\'\42"
+"\247@\364\336\'G\257%\324b\23\62\364\nC\365\356!Z\7\37+\214%\0\13j1\42"
+"\265\6\376\377\377\177%;\3\3\3\3\203&Lo\2\221z\225\376\377\377\377\377"
+"\377\2\6\6\6\2068\230\336\5\304\2729\7\226\2368w\301\364^AQ\300\202G\263"
+".\204\312\3773\5&\362]\207\350\320Z\205\236,\377p\242*\300\227\f\331\320"
+"\370\2178\276\23\257\31\315K+\344\377\220\220,v\241\2709\214\2644u\1\242"
+"k\326\201\377\377\377\3673\222\230 \241V\3622\210\310\222\236\232!z_\343"
+"V\200\'\300\314!\3242\262\312\341\5\20\233mq\253\300\35\16\314\177\b\251"
+"\300\343\354\345\20j\79\216\316\200\206\265\25\31z\263\241z\337\222\241"
+"w),]9\223\254\325\33\236&7\222\252\325\3646\201\212\5\67\260\276\201\224"
+"\31\344H\323\233\207\234\221HL\322\234HZ7\221\352_\1\204^o\322\343h/Tk"
+"\429\t\213\373\342\377\377\377\377G\20\247\30\63\331[k_\77<\332\264\33"
+"\5\243`\24\f\r\0\0\42U\315\21\316\300 \274\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1MIDATx\332\355\324\241K\3a\34\306\361\333\34\bk\13"
+"FW\4-\202\242U\f\6\321\5m\242\301\240\6mK\202\210\bZl\42\230\4\255\16,"
+"\302\300\177\300\244AA0)\n\ncY\2342u\360\30\356\336\327\335;9\337\337o"
+"\306\347[\3566\356\303\373\336\373ro\20\60\306\30c\2141\306\22\352\20="
+"=\326U\321\16\324[\3\260\240\304u\0\300\244\312n\3\0P\326\330|hq\240\301"
+"\367\21\36V\330\365\310\356)\354Hd\241\2609c\307\25\270\26\331S\205\275"
+"5\3\247\345\366\322\330Q\271\2751vML\373\f\305\241\330\26\255-Ii\366\302"
+"\332c\251\235\267\24\r!-\274\376X\24Et\246\201\346\n\2\272\4\247\t\357"
+"e\332\0|p\246\345\237\376\251\345\274\356\230\232>w\6\334\17v}\247\275"
+"\351Nv\310\276\375o8\366\231d\267\234\323#u\2358V\f\277W\233~|\256\244"
+"v\376\230h\374\3]\265w\'\3\235\342cr\16\0PYl\335q\217\255*\225g\273\357"
+"\316^<\207r\367\371\355H0\317t\320F\304\304\377\200\353\341\345C\205\37"
+"\303\313\263nr_\0\360\240|\263\301\'\340\252G\2750\231\266\226\2251\306"
+"\222\372\6\343\236\37*\373\315\207\223\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\1|IDATx\332\355\327\301+\4Q\34\7\360\237M\212\203B\344\300"
+"\215\213\3\7%v\17\353\264\255\223\304\315&\205\243\33RZ\7r\331\224D\16"
+"Kq\220\275\271\371\'\334\254\203R+\7\65\311\305i7I_\207\3317;3\273\314"
+"\373\375\344\366\373^^\315\257O\277\2317o^\363\2104\32\215F\243\321\370"
+"2\32\217\211m\1\300\232\320\256\3\0nd\30nV\210\210\210y\377;\325qZ\320"
+"7Vm\214}\1>0x\220o\373\214=\21\64~2X`\367\214M\360m\334\330-\371+\306\203"
+"\300\236\31\334\317\267\313\306f\371v\316\330G\276\2352\26\355l\233\364"
+"\3540\333\216yv\206mS\236\335`\333]\317\346\271t\340\315\263\5\331\266"
+"\3\08\346~\203\245\232\335d\332l\215\42\307\243\263\360\207E\307\235\200"
+"-3\350D\21\301\274Z\323\245\17@\206;\216\320 V\270\347\42\210\234\212-"
+"nY\270\17\65\2347\233@\4\356\\}\16\337\3536\21\245\243\361H\256~\216\256"
+"\273\310\n\347\353g\350\260\327-E\342\311\260,g\274\332o8FDT\t^\273M\264"
+"]2\26\324\213\257\353yp_\216~\346n#\3572\341\222\305l7\237\2\270J5\250"
+"\244\271k\333\26\313\377\251\24+V\254\330\32\177\271\303\247\b;\356P\374"
+"\3131lQ\206\223\77\237\243\232,\370Pk\351]O\357\32\215\346\237\362\r\240"
+"\204\375\324\253.\6\60\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\1\215IDATx\332\355\226\273K\303P\24\207\217\217J\21\352\243P\20q\324\42"
+"(\26\34D\247\240\202\270\bn.\265\340V\34\34\n\16\342\277\320I\4\7\301\301"
+"A\7\7\27\5u)\256\235\324E\305\315A\254\210 \250C\261\374\34\322\232\246"
+"\351M\356=\1]\316\267\334$\'\337=7\367\31\42A\20\4A\20\4A\20\376\203l\261"
+"\230\345\2729\0\3101\345\n\0T\374\336hQ\207\20\364\2\265*#\21Wa(k\240\226"
+"G\\E\3407\'\322\223\t\347n\272Z\26\234G\337w\247\347\212z\206\240\301\246"
+"B>\324\221\321\325\\.k\311\23\315;,\242\325\303\361\272\353vO\264\240\260"
+"\246\242~u\332\315Z\n\210\317\371\215\363m@\263\313af\330g\30\371\215%"
+"W\7\270\304\222\373\355\342\203%\17\204Y\222\303DDt\246\220\337\211\210"
+"\350U%[DDt\241\210n\3\0\2\346\310\270\42\332y\t\300R\2711\370\327M\311"
+"\224zqd\0\0\217\274\375\352\1\0\260\316rG\355V\367\205H\374\314r\227\355"
+"\304i\216\333\213\240\276\366\341\305v\3278\356\r\77q\252\266q\316\32\253"
+"\203\'5w\307\320\354^-\375n\330\367&b\333\314V\3751\360\245\275x\223+G"
+"\r\7\305S\207\246\272\341=d\216u\323.z\335\214\366\341>\326\370`7\272\257"
+"\335S\363\356\254\371\36\243\1\272v\314\3\313xb\354\1\300U~!\316\3337b"
+"\362\363,\b\302\37\361\3\\\374klU\272\271z\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\320IDATx\332\355\326\317+\204A\30\7\360\307\256\264"
+"km\266H)\255=\330\342\240\335\213D(\42\207=\330\34\\$\277r\330\3\267U\342"
+"D\3348)\'\')\7\265\34\\\334V[\253\336\203\342\17\220\344B\330\2266\255"
+"x\34\346}\367\235\366\335\315\314\363*\312|/\363\276\357\274\237f\346}"
+"\247\351\1PQQQQQQ!$\236N\315S\355\36\42\342\16\315\372\21\21\21\353\313"
+"\277\341(\337\325\312\232 \t\373XSK\302\337\347\77\342\n\343\302e\351:"
+"\17\1\0@j\310\322\363\231\347\357\6oP.\247\215\5\333\202\322\271(\254y"
+"T~\271\341\200\201\303\204\217\325l`/\1\273\1\240\222\177\260*\200\234"
+"\313\3465\217C\227\42C\276\255\225\334$Y\241\371\346\355\354\260*;\330"
+"a\7;\177m\332n;\330\365\3#\243\35\374N\302\325\254\311\331\301/$\3541\367"
+"\262\3\0\340Nfo\353#g\f|\306\356\237\204p\2359m\226$\42\342\270\330\264"
+"\365C\214;z\247:\237\23\232 \6\0\200t7\345\240oc\3\323*\206E\206\375$|"
+"o.Y:Af\17H8\311p\77\305\366\240\215Y\353v\203b\267u\354&\330i\335n\21l"
+"\24\351+\36\61l\237\274\215\31\66.ow\r{$M\275\327\206}\220\266\223f1R#"
+"Ig\270B\246A\356\274[\347\350\253OB\372&4\276~:\26\77\237\243\373E\265"
+"\327\230PI\31\30XHX\312\266C\247\0\235{,U\361ezE\206\35.Eo#bK]\261\322"
+"\223v\321\357\24)\222\37K\36\211\337\223\341k\333\230\334\246\200\246\34"
+"\203\331\315.\341J\237\313l\7^i\32\250\250\250\250\374\371|\1\265\316\302"
+"Q+`\367\202\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0"
+"\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\313IDAT"
+"x\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\214\202\341\0\30\221"
+"9\254R\354\370U\177z\201K\206}\345\177\302 \35\207\346y\377\211\1\216\330"
+"5\23\245\367\377T$\35L\244\6\22\27v\315\247\211\322|\0\273\260\352K\42"
+"\\=\23gT\231\252 9j\16\224^p\4!\366\366\362]\342<\347\1\261\352%\36%L\224"
+"\244\260Q\315\243\232G5\217j\36\264\232\315!\224\30\21\265\244J\212\35"
+"\2322e\30\3\265\264\375~a\325f43\364\377\223\0\212\3214\257%E\363\1774"
+"\77\233\223\24P\242\250\232o\223\244\371#*\327\213\24W\317D7\314\377,\261"
+"Z\77\64\215\266\344F\301(\30\5\203\5\0\0\313\361]\36\351\341\262\216\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0"
+"\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\342IDATx\332\355\227"
+"-\16\3020\30\206_:0$L 6\213\347\347 \30H\b\34\1\305\5\330\31f9\306\304"
+"\3144\231\206\2030\201@@\baEtb%#Y;A\2\357c\372\373\254\337\367\245\242"
+"\3\b!\204\20B\310\237\22d\262.Y\360\346\206\322\204PI\255B\226fq*M\250"
+"\201o\230\244_\226\35C\331)\207-\236\206r^:9\217\215\3348\327\206ndP\354"
+"\310\325\253\r\240\337\321\77\277[\250v\225\352\363\217s\215\330\6\352"
+"\230\323\347\35\242\311\255\244L\2312e\312\224\177Zn\3\0z\335\212\245\342"
+"\275\344-\323\212\305\313\255\350l\245\5\3279\0`-\355\30B\0\33\313\214"
+"g\20\300\330R\2364\251\366\35\2\330[\312\7\0\230Z\26\314S\231\37-\324d"
+"\304\177\24B\310\327y\1#\326w\370d\265\275\235\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\1vIDATx\332\355\226\257K\4A\24\307\307\363\307\255"
+"0p\210\236\345\312\26\203\277\rf1\b*\227\4\261\30\64\213A\303\5\215\347"
+"%\301\253\202a\301\42\230-\266\263\211(\6A\377\0\321`\323\264\202,_\303"
+"y\273\243;\207\357\315\226\13\357Sv\31\346\303\314\2747\2747J\t\202 \b"
+"\202 \b\202\220\235\334p\257\263\33\08\317\273\271u\0@\220\32\357\242\310"
+"h37\307\330@&\271\'\213\254:G\356&\314\331*7\277\3\367Zk\255\265\27\332"
+"\347U#P\270,Z\334C\20iXr\27z\344\264E\251\200}\222c\25\245\243]\243\272"
+"\'\266\301\315[\312\211\337\253\324E\n\327-\247\302\277\t\223\361\202\203"
+"l\267\204\366\362\177\327s\342\305\375\366\226\31581\267\275\rw9\200\263"
+"<\32\302Y>\210\245/\256<\235,\273\277\304\223\275\323d\263\353\252\217"
+"%\327\214\203\216+\245\30r\305P\257\232E\237*\357\230\361\335U\34y\301"
+"T\37|\305\221\207Lw5\351U$y%Q\217\314FG\222\247Z\352\215\257\330\262z\4"
+"\0\274\315\377i\2614\271\377\2x^L\365gj\252,\225{\346G.p_\6\371\261\322"
+"H\335,\364\f6\314\3341\253\220\377\253\2731\345eS\236e6\367\17\343\177"
+"\357\216[=\237\342u\327\370\245\267x\6\0\257\307s\362\202\26\4\241\23\371"
+"\6a\2\364\n=\342\363\223\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\1\357IDATx\332c`\30\5\243`\24\214\202Q0\n\2061`&B\r\247\344\337\337"
+"d\32/\266\377\377\377\377\247d\311\323\274\367\377\377\377\377\377\237"
+"!K/\353\177\b\20\300\42\307D\320\325PZ\202\34\315\254P\232\215\34\315\370"
+"\300\250\346!\243\231\5\306`\23\304\256\240\7Jw\305#\304\376\275\375\207"
+"\254\304\340\341\177\222\300Ye\6\6\6\6F\210\346\337,$\272\370\2362\334"
+"\317&\244\352eP\222\207kf&\257\b\2028\233\343;\251z\177\261\303m\376\341"
+"F\242\336/6H\1\306\300\240(\212M\21{\225\7\224\3650\f!\372\367\325c\242"
+"\254(\205E\2165\31\211\350\77>\315\4\222g\23\5\211W\354\77\5\66o\244 W"
+"E[\220\357h~\344\254@\252\263wQP\30\244\231\221\357hI\324\34L\232\263/"
+"PP\206\255\207\326p\36\27Iw\364\2\250kS\30\266\223\234\266az\32720l&U\363"
+"Z\250\336W\fx5c+\274x/(\301J*\222\3\314\353\23L\217\374\27R5O\333\nc\31"
+">\42\266\306\200\2\205\213|0\246\351\5\22\3439\345>\\\257:\341\326\23\212"
+"\315R\233\215`\314WJ_IKa}O\341z7\213\177%)Me \345\202\2$q\42\342\331\25"
+")\363\3762\274FR\345\356\215\244w\22;\221za6\327#D\354\16\223\332\254\200"
+"\327\364\223\30\211\327\13\323<\21B]R\315\307P\301H\330\220\312\377\377"
+"\377\377\367\302\335\336\306\237%\5\\\265\260K\334%\277\242\203Wu\346d"
+"\264\303\224.A\31\37I\263\322\361\24r\321\313J\222^q\224b\373\3i5\206\2"
+"\n\257\2004WK#[|\216\324`~\212\320\373\232\344\206\232\25\\\357b2b\330"
+"\354\330\377\377\377\377\77\352Q\33\355r\217\202Q0\n\206#\0\0\275CN\265"
+"m\305\275]\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2BIDATx\332"
+"c`\30\5\243`\24\214\202Q0\nF\1\351\200\261\373\353\377\313\341dj^\366\377"
+"\377\377\377\377\311\323-\360\377\377\377\377\377\377_!K\263\1D\363\177"
+"\334*\230pKq\23\64\236\211\222\20\35\325LO\315\314p\26\33+\13*\230\246"
+"\2\221x{\tM\202\351/\252\31\222\273\376\223\2vI\42k>\377\2374p\36I\257"
+"\354\177R\201\2\42\300\330H\16+y\204\346\273$k\346D\212*\7\262\242\212"
+"\5B\35d\324\222`F\223\232-\17\241\367\267#\213.\26\'\312\\C\254\205\1T"
+"\324\203@\nc\307*\372\227\270\344\311FI\332\346\245D\2634\204\272D\226"
+"fc\bu\202,\315^\20\3528Y\232e \324Yr4C\275\314p\205\34\315\346P\232\254"
+"\32\303\5ox\375\307\2579\24Bmc\300\235\320pk\26\201P;\261\313\376\306\253"
+"9\30J\237\42\307\346j\b\265\5\253g\361\6#\3\203\b4\77Z\240KhC\304\255\361"
+"\331\334\302\200#\260\377\20.\b`\26\27c\310(#\331\214\3\34\207jf\301\220"
+"Q$\350\354\24\250W\227\374a\300\21`\270\201\22\254h\227\301\224S d3,\377"
+"\257\177BzI2\7\326\16\312\42\275(O\2059\272\2\233\254\2\336\320\366\201"
+"\351\275\314@\262fOxE\310\205/0\261\6X\f<\13\332\177\303\252\231\25\267"
+"\177\273\340\366V\342*Sq9\233\345,\\\357*\234\5\f\222f\344\364g\200h,\\"
+"\f\303\245Y\34{<\247!\364>3\300\3511\5\314\372\216\201\201y;\242\301\361"
+"\30O*\2006\233tQJ\35\244\306\3121<z\331\240j\204\220\353{$\275\363q4\367"
+"\3308x\344\343\377c\326\370\361Hz\2531\264\351\37\305hI-@\222^\205\20\216"
+"\302\320\313\217\245\31\206\234W\13\340\242\346\230\356\215\301\324\233"
+"\210\242\340\'D\360\32\266\326@1\206^\264\222\215\373\365\377\377\377\377"
+"7\340\317f0\20\204\241$ks\237\n\216\3509\204\242u\216\0\242\277HL\237\262"
+"\300S\211\201\201\201\341\337\207{\247\17\236\31\355c\217\202Q0\n\6\17"
+"\0\0G#BjW\262\305_\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\310"
+"IDATx\332\355\226=h\24Q\20\307\307\30\r\32\270\313\207\342%\344\274\230"
+"x\4\223B\5\275\13\3064b0 \32\2\202\32A\bAM#v\21+\261\220S\254\324\312\306"
+"\302BP0\212\212\205`\341W\20\13\21\61\246\321\210\311A\n1\271\3\13\243"
+"\227\374-\336{{\273o\337\356\333}\327\351N3w3\373{\363>g\206(\222H\42\371"
+"\177%\2312F\343o\201\251fCx\2\0\2204b\23`b4\365$\207\321fBO\t:\35\22\314"
+"d\210\332\4\214x\30t\313O\240\330Y\246/\204\201g\0\0\35\264\211\303\217"
+"\f\266*-\350\321\20p\275\230n;\243\337\207\332\256qA\267R\355\330\235\21"
+"\42\242\25^\337\356\330\273~\362\301\274\3352\333\42V\220\327\3049\r\0"
+"\330\346\260\315\362\320/4l-\373l\202\224\364*\177x\'\377\214\224\264\370"
+"[\245\206\33=\316+OD\224\323L\273_\35\231\350:p\216La\207TU\222\221\42"
+"\330\222,\327\333}a\3660\272\217g\352\34\346v\361\343\213\303\\\232\274"
+"w[\36a\20\301\345\262\34y.\21b\241\r\13\3165\207a\251\243\222\335\256\223"
+"\340\273\225\34\325\311\247fp5\21Qq_}\313\32\2735%\3462\374\311\262]\313"
+"\6\35\363!;\227q\233\251\225\237U\277v\303\32\230\312\33]O^A\277\332L\b"
+"\f71\365\331fZ\16\373\252\354p)(\314\3\323\264\315\266\24\24\336\314\365"
+"\242\t\314\313L\301(\31\3641\365\334\b>\300\324\33\225oI\3\307\270\376"
+"`\2\17\370\301%\315Z\336\251\212M#7\356\366\217\34\3479\363\231rd\370\303"
+"g\271\276b\362\306\241,\221b\332=\276\221\17\213\327o\22\370;\17\261\321"
+" rf\35\323s3\6\265J\324\2231\311\276\34`\322\207\340\321Q\304\334\323v"
+"eS\301^\222=k\365\360+\1\327\310\236\32\355\206\345\204+\267Ha\327|\n\360"
+"\354\241Vk\246}\320b\367\270\235\2325w[\354UUG\351\13wY\254\262P\244\270"
+"s\227j\303\262\37\255\237[\375\352\362o\5<\\NX\275\77T\260\350q\26\334"
+"\256[\345\226\345\230zGnrw\265k\324_evTs\365d\307\t[\2534\242D\233\207"
+"\204\377\211\3449cc\217Jw\362\206\334\207\rz\244\35\0\3\222\353\276\253"
+"\211\363\270:\0\372\344\6\301\305\236\227\27\364\22\356\224\314\13\236"
+"\314\26]\273\261\201{\272\\\236\264\f7)\332\227y\0\323q\237,\314\344uL"
+"y\24G.\356W\332{m\350\343\36u\277\355#\235\211\225D\370S\370V\240H\42\211"
+"$\222\177J\376\2\f;\243e\224K\16\n\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\1\66IDATx\332c`\30\5\243`\24\214\202Q0\n(\5\62;\377\377\77"
+"mA\246\346;\377\377\377\377\377_\226,\275F\377\377\377\377\377\377\177"
+"!n\25L\270\245T\241f\220\245\231\7B\t\220\245\2310\30\211\232\31\2219\274"
+"\372\22H\274\325P\272\362\16\\\350\357\263s\277q\30\24\371\237\b\340\201"
+"\335f\241\267\304y\364\77\66\77\233\20\347Qm\254\1\306B\234\346\377X\235"
+"-\375\204\324 fF0\77\177v\'B\257\303C\34Q\245m%\203\304\253\203\322YHQ"
+"\365\342\32\221I\240\20\22\67\233\311Ja\237Fs\325\250\346Q\315\230\300"
+"\214`\351\4\313\317!!zlhR\312\260r\347\36\206\256\247\373\246\277B\312"
+"\370\377I\4_%\340\305\20\307\36R\275\313\372{/\314\317R\244\7\2261<\300"
+">\222\256\371\21\202\271\231T\77\377Gj%q\315%M\353\r/\2\16;\17U(ON\372"
+"I\246\244\350\35\315\222\243\232G5\217j\36`\315\237!\324;\2624\337\204"
+"Pg\310s\325\331\377\377\377\377\377/F\236f\241\245\377\377o\323\31\35G"
+"\30\5\243`\24\f^\0\0\236\335\n;\224a{6\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\1\267IDATx\332c`\30\5\243`\24\f4h\377\373:\203\\\275{\377"
+"\377\377\377\177>yzM\376\377\'_w\324\177\nt+\376\247Dw+L\367l\22\303\371"
+"\367\363$\6\206>\230nGR\364n\372\377\377\377\377\311\b\335\375$\350U\202"
+"h\351\201\353.$A\263\r\324\302V\230n^\22\64\263\302\374Z\307\300\220\365"
+"\377\377yM\262\242\370\1779\3\3\3\23^\2452;\377\377\77m\201\42\224\f\323"
+"\355B\310\236;\377\377\377\377\377_\26E,\r\252y/\1\275FXC4\13\42z\3\312"
+"\305\345vU\250\31\250\242\323r\31\30\30\30\30\b%.\250\3776\243\213g\376"
+"\377\377\177#\3\231\232\31\4=\21q\304Bj\306x\277\35\301f\242\244D\328\315"
+"\214p\26\257\276\4\222\370j(]y\7.\364\367\331\271\3378L\211\374O\4\360"
+"\300n\263\320[\342|\371\37\233\237\r\211\363\2456\326\0\373G\234\346\377"
+"X\235\315\373\211\304\360E\266\371s\0\61z\35p\31\305\254#\206$\276\13\226"
+"\t\221\242\352\3055\42\343\37g\306\30\34\311sT\363\250\346!\250\331\f\332"
+"\340#\\4\370\206\31p\242\211+\303\312\235{\30Z^\35\232\203\310\344\f\305"
+"\377I\5\372H\245\32\311`-\334\317b\244\207\224\25\\\363\'\3225\337\203"
+"k\376\261\234d\315H-G\226)\244\371\370I,\1\263\317C\25\312\223\223xF\213"
+"\336Q\315\243\232G5\17e\315\77 \324W\2624C\213\365K\3449\351\367\377\377"
+"\377\377\377\327&O\263\301\303\377\377\277\5\220\35\34l\234\f\243`\24\214"
+"\202Q@s\0\0\272\322\2515\240\352\266\\\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2=IDATx\332\355\327O(lQ\34\7\360\3436c<\177\312<o\212(D"
+")\361\246\224\267\360\244A\22\311\237g%+\275B\324,\220\262di\253\336\372"
+"\325d\203\344-<\204\204\262\222d1&\302++K\222\374\231\347g\341\234s\377"
+"\314=s\357\357Po\361\316w3\267\337\234\317\234\373\347\234s\317\20\242"
+"\242\242\242\242\242\362\357R\275\260\334/k\277\2\0\334\225\310\341K\0"
+"\08\226\357\30\0>\312\340C\212el\220\332\230\f\216Q\\/a\333\251\275\226"
+"\351\230Zhsh\347\261\251M\262\203\23;\221\36L\333~\26\376^\0x\236\22\22"
+"\7\0\200\16!\336\2\347\264\nl\7\270I\r!\204\244X\255\367\321\325=\215{"
+"\t!\232\265\272\342\356\201x\2026\270\257\321\345\343\214\'\236v\351);"
+"\372sa\254\247x|\37|\32!\204O\322\204\353%\31\374\206\210fr\17\375~\216"
+"XO;\353\226\35}9\23\340T\3729c\375\302\317\373\r\13/uM0W\13\270]r\34\366"
+"\7\226r-\267\217\316+\314\240\271<\242\217\236|1\376E\233\4L\325e\335V"
+"\212\255\6\66\227\34x\320mQ\222\2211F\333L\31\213\353\234\236z\334\254"
+"\229vg\3\363I\207d\23m\265a\373\213\223\311\307\363\21mVa\252\16\275\26"
+"\277%\267e\324F-\365)\0\210\3459L\244=\212\353\22\206Wg\271\323$\f\275"
+"\307\202\334%a\'@\376\375\365\211\331^\t\274I\355\375\33^_\20\302\333L"
+"f\327$:>g\330\217\267\77\231\35\300\333af\367\361V_\240\262\3216\237\333"
+"f\264\315\341v\fm\13\271\375!\275\251\2XE\333zn\317\320\266\233\333\277"
+"\32\326\16\350\13r\26\326Nsz\343\305N\340(\267\267\330n\373\365S\276\363"
+"\341\250oW\267Q\344\275j0\354\270\428\252E\fv\24g\303\306\235^\13\212\232"
+"v\217\317\305\30Zua\264\263\250n\277\2336\247\355(\3535\322u\344\323\315"
+"5X\374\213a\207\321\305\f\374R\347\277z\335\242}\226\373\179~\3\277\253"
+"\325\177x\25\25\225\377!/[\365\316\316\224\244@Y\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\2\264IDATx\332\355\330Kh\23A\30\7\360iL\214"
+"Z\13\2465\250D\260RE\360\25(\244\7k\245UD\24i}\\\24A\20\241\21\205\200"
+"\32\4\217-\b\342U\21\17\nB\351EE\24\254Z\352\3\25\364\42\42\36\322\320"
+"R+x\362\42\30B\321\32\373\367\320\231\331\331\315\314\356~\343\321\375"
+"N\303\267\363\313<vfv\bcQD\21E\24Vqf\374]\237\255\35\6\200Kvv\23`\257\217"
+"\340\37\364z(z\1\21\177Ow\314\27\272\22/,\346\371\266h;G\261\267xoor|\231"
+"`3r\2547\346KE\2\356rf\352\32\0\240\331\\7wo\244\337\225hT\346\271\0L\264"
+"\233m\'\0\314\264\251\251\323\352[Z\350\327\311\257\0\200qW\256(\364q\377"
+"\1v\362j\315Z]\361\307\37y5O\272\250O\273#\313+\225\231V\77\362\305e\216"
+"{\352\236\234\5P]\341g{\271\375\241y\326\232\178\n\304\254\356\17X7qMn"
+"@\24&tbIv\321\2539\343\357\245!\343w]\324\0\0\346\236\277Dp\3543\330>\204"
+"\211m\2141\326\340\265\211\331P{\254\226`\214\305\274\331\'\3416h<\253"
+"\301\'v\205\334\336\265\372n\257\233\24\245/\323j\276!\236\\\234\2141\306"
+"\344&\255\33\257\263\341\321fh\360(\177~\207y\273\335T\25\245\216)\3\26"
+"\207\300U\357\203\224l\267`\34\352\250aS\256\226\366A\340\262\377\340I"
+"o\227v6\370\2049\345N\237sVO\306\214\37\362*iWv\304\261[\3146\6\315\220"
+"\323\277\34\333\352\2632\304\31\66\250&\307$\235\214\2079%Zt\275\301]\337"
+"%\271\233\327z\246\375\305\1\377\365\374\211W\333\3144_\222C\376v\3\267"
+"%O~\20@yU\300Fz\313\361\216\272\345u`c\320&\354\3669\220\3CL\314A\13{\21"
+"a>T\372X.\3541\13\374\234\333\237\26V|\276\320M\267K\205\35\265h\370\263"
+"\300)\272\225\267\276\274\305\375\\\330\367t\353\34P\313\3106#\355\36\262"
+"m\221\266H\266k\244\275N\266Yi\237\222m\217\264Sd{X\332\77\61\252\315;"
+"\7r\23\325^\221\264\222\240n\340\222\264Uj\263\375N\227g\2224\232|\343"
+"\330\22q\256v*7\256!\32\215\r)\366<\315\26\324\233\336^\22u\335\36\347"
+"\326Rh\373\264j\207I\315\236t]N{I6\241\3221\342\333]\251X\372\207\341\265"
+"\240\367\33\351G]\352\333\374\25m\253\335\277\21\27*x\234cQD\21E\24\377"
+"A\374\5\346\302\\\n\23R \266\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\376IDATx\332\355\227\317+DQ\24\307\217\37\213\231I!,\374\230\374"
+"\332\260\262d\6E\371\375\7(\261\230R\244HM)+\33\311BS\262\23\212\302j\24"
+"M\311\374\3\26\66\212\35c\30\77\42\65\261\32\223Q\307\342\336\367f\274"
+"\231\314=\7\33\335\357\346\334{\356\373\274s\356\275\357\376x\0ZZZZZZ\177"
+"\256\2744O\255o\274\356<\316{\233\355\25\21q\210\7\17#\42\42V\252<\233"
+"ku\f\b\323\312\202;\204\261\263\340\na\42\234.;D\227\261\204\3\67K\308"
+"i7\13s\315\202\273\205\331cM\263\314\272\203\303\26Q\272lM{P\230;V\326"
+"\27\42p\264\214\301\332QQ\33\216txR\25\306\0\0@\316\278\221\257\234di\324"
+"2`\355\352,\24Z\35!T\227\315\302\272\t\354\234\265\317\241zY\270M\30\256"
+":\243\375*5\312\373\231\337o\335C\344K\277|!\217\302\267\252\370YcM\252"
+"3 |\243Y>\317Ci\327o\224G\334\204\247\373ea\2\310\260kY\26\306>\310\260"
+"\363X\326\257\327\200\n\27\335\32\365. \303f8o\230\275\371`0\255Eq\252"
+"\0\340\245\227\26S\300s\242R\5\34x\376\22\0\300\31c\301\320\270\24\331"
+"\254\274\377\355\233CP\f\230G\355\224\264Hn\2431\26\334$\3143\13\226\355"
+"aN\227\253\277=~\262Dv\t\363\306\202\345\42\77\370\311\211;\312a\313%\334"
+"\300\201}\244\343:s\326\247\34vQ\302#\77\270\223\261\262\336\221\354\16"
+"\203\355\314x\204\250\251\304`\375\214\300q\3.\246\263\'\6\353\245\263"
+"[\6{NgW\314+@\1\231=2\3316*\332\222\274z\314P\331\331$K^\307=I\226\276"
+" vM\366\230\374w\3OFa\337M\237\245F\31w\233\265\3L!\42\342\2\363|\362 "
+">\364\351\37|--\255\377\256Ol\235\364GvQ\4\270\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\2\201IDATx\332\355\230MHTQ\24\307Ob\341\230\221"
+"a-\302\254,\2\205\240@\260\234\n\32\350{\323.\210\\\b\3Q\320\24\b\202\201"
+"\270\ti\21A\b-\242\214\204\24\202)\n+r\321v\202\b\202\332\225\2154e\205"
+"P\266\210)2\372\267\270\347\276\2617\357\276\367\316i\27\357\277\271_\357"
+"\367\316\271\237\347\276G\224(Q\242D\n5\f\227\3067*\331\305\277\1\240K"
+"\7\237\5\0\240S\5O\30\30\35DDT#\203\37s\372l\253\302r\315\34\233\306f\341"
+"8\277\273\325F\313~0\374A\4\227\1 CK\2771\275V\300\2360H\206R\354\371\n"
+"\1|\231\r\356\246%\263\0p\'\360\251\326\221\7\3\1o=\f\217\256\35\5\256"
+"\7\262u_\1\340h\300,Uh\247\216\231\'\232\253[\n\360\17U\325\429d\222\35"
+"\325p\372\tgrN\230\235J\221\233\336\344t;\264c\306\363n\27[\317pSp\363"
+"}\347$\21\21mc\330\325\236\316\205l\346\323\206-\306\333&\276\362^\223"
+"\334V\355\366\350\205\340VcD\227C\335>b\222\367*\257_\31\303_V)\330\24"
+"bj\244\276\32>\25\27\306\4\21\321\242\277\340\371\332\330N\256\374\354"
+"\33\260]\361YZ\356\257\230B|\325\371\327\255\200\35\364\367y\312\206\277"
+"\322\274\255\332`\333\337,\264\362\363E>\357\77C\370\2453\13+\77\232\272"
+"+1\2275Z\3\42[6by>\344\364\332t\374\310e3g\16r\346$\211\341\256K\2349\376"
+"K\f\267\24\270<}\225\244pc\311\226\367\220\30\366\314\365\26\325\207\17"
+"&]\227\220l\364I2\267_x\311 \42\242ASXC\32\370\334k\42\242\226\262\n\246"
+"\366\13oo4\353\216\275\20M\232\1\353\211\25\61\374\342c\264\254\202\267"
+"\230dV\5s{Q\323\345u\241\341\'\3022\7\343\357*\2307\371\275\177\211\270"
+"Y\r\273\232\3416\r|Q\24\256\203\275~\256a\3173\334\255`\355\235L\345\365"
+"\30\263c\n6c\r\257\227\263M\226\315+\f\333\317\30\321\307\4\353\251e{\345"
+"\354\250e_\312\331a\357\n\320 f\37y\354N)\272\275r\365\350\223\262\375"
+"\25V\274\217\367UX\371\206\30\367\330\202\364\246O\364\311f\356\246\345"
+"\263\324\316vo\252N\200\34\0`H\31\237z\200\231\3\311/\241D\211\22\375\357"
+"\372\3P\306\177\256\277\251\203\245\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\0\330IDATx\332\355\2271\n\3020\30\205_\203\270\24A\20\211"
+"\bN\352\t\274\200\7\250\340\356-\274\226\243\213\270\350\340T\4ww\221\212"
+"\223u\217C\213\215\320!\177\262\250\274oIZ\372\321\346%\303+@\b!\204\20"
+"B~\216\250\34c\335pv\362\353\307\345 5\42\226\266|4B\346\225\333\226\272"
+"f\5\0P\0\320\23G5\251\344\\,\307\225|\361\334*\5\0\230\5\355\263\236\216"
+"\232\16O\17\27\345\344\246=\336\265/\323\316\254\317v\77\\5k\16\n\2142"
+"e\312\224)S\376S\371]\335:.%n\234\324\334\354n\204U*\263\344\235\361\222"
+"#\0h=\244\253-:\211\2\200~H\332O\261v\16)qkk\236\b\363\332\372\224\270"
+"\202\373\351\300\277\34B\310W\360\2\374\362<\363\252\216V\352\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\\IDATx\332\355\327\277J\303"
+"P\24\6\360\257\361\317\22\4QJD\21\4\355\344\246\350Vps\251\350(\b>\200"
+"\202\240\364\25\4\37\300\301A\301\305\311It\20\7u\20\4\21\34\205\356\242"
+"\25q\260\335\77\207\3344W\350\220s\356\240\310\371\246\233\300\217\344"
+"\236\223\204\23\300b\261XT\331|\276_\326\332\23\222\334\325\331iR\257W"
+"\31\240+\364t\217\20\177\226\347\323E\265\357ZQ\347\343\354\332s\22{\344"
+"\356\366\320\341=\201\35\353\354\365 ]\325\5\270\232Wj\237$9$\300\261W"
+"\347-\2621#\252\327\206\337\245~i\217\353\231^\327<!\231\376B\210F\200"
+"\276P\276\221\333$\333\211;(I\365\304\342\333\231}\21\177#Y\253\342\244"
+"\267\260i\275\3768\34\177\240(;>~\2440+\271\35\224Z\236\2\0\42\0\30\21"
+"\227j6\307-1\216s\374\242lU\4\0X\n\352s\2620U\344\2236\271\346\26\357\211"
+"\342Z\267\256\332M\357\266\213\77\\]\366\34T0\303\206\r\33\66l\370\237"
+"\342\316\3506\\d\210\253\324\272\234,_\nG\251\246\207o\250\302%\0\30\20"
+"\377\353\2443I\4\0\243!\325n\213Y#d\210;\367\3265a\275\2564C\\\232\217"
+"\247;\373\313\261X,\177\42\337s\216\313K\16\217S\230\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\1\327IDATx\332\355\227\317K\2A\24\307\307"
+"\25\314(\311\202\22\42J2\b;IP\235\42\204\244\272\nI\235\372\3\274t\353"
+"\340\237\320\331n\35\242\310[\77\260Ct+\202(\20\f\42R\262[A\321\241(Ob"
+"\257\303\314\232\363\234\265\235\331CE\363\275<\374\272\237yog\337\316"
+"\314\22\242\245\245\245\245\245\245eO\256\3252\234L6\372\241=\20\372\234"
+"\266\1\0 \202\355\326\262\330\347\344\7\0\0X\303\376\202\3207\370\237A"
+"\32\32\352\213\b}\4\267\321\320\203\341N\241o8\231]\r\377U8\306\232\241"
+"\35]\26\265\360\t!\241t\251B\5\246*\234\0\371\245t\250\326\320\240\240"
+" +;\251r\277I\6\7U`3s^\5\66!oN\376\226s^B\210\213\20BH|\42@\307Yb\343\25"
+"\317\2704\201Y\336\177<\337\21\24\223`\3c\77+\364Q\223\334\323\360\204"
+"\341\7\241o\263=\335Nz\333\343\4\366\376Xf\367\377]\206\252N\3407%\330"
+"\340\272\327\2~f/\17\206}4\24\232\302\354\337,\206\207h\270n^_\2\0\340"
+"\250\301fo\344\34:\300\340\313\372\246|W\247\330\354x\2411|\243\360@gX"
+"fCe\266\315U\350C\245\225\350A\n6U\330~V\365\264\n\234\261X\26\355\250"
+"\227\261\207*\260\271\356F\25\330qpP\265\311\256(\260E\7\211/MvY\32\r\327"
+"\266\305WY\264;\363\265\247\216\310\241]\33u\373\361\274\24\352_\257\337"
+"\313\3432\350\350>w\16\210H\240-\7\34\232\367\310\344MqlJn\252\266\352"
+"\320\343\1\311G\264XCo\307\344\333\352\202\242\3571\245-l\27\0\252\337"
+">[\227\205\77<xW\320_\326ZZZ\277]\237 \27\277i\344\263J\266\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2>IDATx\332\355\230OH\324A\24\307"
+"\237\377\22u\r*TD7\261\303\252`(\36D]Q\320K\20H\236\304Cv\321C\247:t\20"
+"ou\212\300\333f\204\'/^\274t0\364b)\b\242\240\342QJ\202\n\361O\202\231"
+".\306\226_\17\63\223\373\373\355\376~\355{\77\310C\363\275\314\360f>3\363"
+"\336\314\373\315\354\22YYY]\272\356m\342e\216\220\355\3\200x\236\f>\4\0"
+"\234\312h \0\275\34\204\256\3270\342a\26\327\377\31\257\n\250\305\320\33"
+"\34v\0\0\342!\212\32\232\3\37)_C\324!\200M\244B\324\5\0\30\341\300\323"
+"\27t\353\7\374\354g\305\253\314\370zZL\304>\240aC/I\16\310\37:BDD\331,"
+"\370\313M]\271F\1\346\26fdx\37@\267\252g\271\33#5\307\313\3614P\303\255"
+"Cmo+\232;K\77\360$\0\334I1\337XKow\350\261\207K\223\231\270\272\220\274"
+"\23\251\'\323ewmU\255*J<\306.\361\205y\262\360\377\1\347\22\21e\265U\347"
+"\23\21Q{\251\262.\16:{= \207\375\367\327\225#\323\324\f\276zM>\37\\\27"
+",\371J\202(\233(O\302R\265\nXB\24\254c\35\355Q\1;\275mj#{\314p%b\371\251"
+"\343\325\351\306q\367\3\310\303\356\324\256\352\24\365\370\fEmbX\370o\275"
+"\20\4\376%\201\315\23\340\304\27\336Q\305\17\27l^\307\337|\341yU|r\301"
+"WM\336\370\256\257\26\0\360\332mn\317\354\245\3328\365\375\343p\212uX\261"
+"\7\242\r]U\360\33\321>7\251\342\235d\342\32\355r\275\4~\201\0\217F\315"
+"\276\227\260\17\65\334\343u\360|\'\366\352\233A\264\315\266\217\t\26]a"
+"\256\211r\1\234\320\354[\1\273i&\256b\243\225\'\206\215q\321\234\321\213"
+"\213\221\213>O\272T\33\344(:Y\277\374b\216\313\274\216\23\246Y\7\272\312"
+"\372\270\257;\330g,w#\311\350\326mY\n\28\273\313>\32O\f{_\222\301O\1\0"
+"\2172\275H\\j\35*\234\231\260\377\241YYY\375\3\235\3\b)0\212\3\265\334"
+"\177\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b"
+"\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2!IDATx\332c`\30"
+"\5\243`\24\214\202Q0\nF\301(\30F\240\360\377\377[Qd\352\355\376\377\377"
+"\377\377\377\377+\310\321k\362\37\6\2H\327\274\b\256\371\377\31YR5\237"
+"\372\217\4jI\324\234\207\254\371\377cq\322tOD\321\375\337\2234\335b\275"
+"(\272mH\365x2\222\346\223\244\7\372\4\270\346\77d\304\267\21L\363F\234"
+"J\222>\336\213E\346\353GY\303\331\363!\232\265\360&\2474\4\277\377\377"
+"\377\377\377\313a\274H\374\311t\325\377\377\377\377\377\327\206q\323\241"
+".\205i\227\250\236\353\206\333c\20\265\333Q\271\377\377\377\377_F8P\234"
+"\240J\241\\;\344\350\r%\244y\3\252f\17\224\304\261\203\21\277f\250\262"
+"\2650\376>\324\224i\211Oo$T\21\42vJPuG\342\321\374\32\325\325\f\f\f\f\f"
+"\266(YR\2\247^c\250\212\36Ta\271u\b\315\31185\37\204\252\300\310\262\32"
+"oa\232q\226\203RP\5\273\261\310\265A\345\370qi^\16U\240\211M\322\375\377"
+"\377\377\377\3777\342\322+\13\325{\24\273\264\341\357\377\377\27\343\364"
+"\361\t\250f]\\\nL5q\352\365\201\352=DN\331\16\13O%2\364vA\365N&C\257\376"
+"\177,\211\213TG\223Q\35\61\354\205\352=\316@A\261*A\272\336V\22\312\32"
+"t0\3\246\367\42\351z7\303\363\33;\311z/\300\365J\223\252\225\347\3\\\257"
+"&\251z\355\21e\204\31\251z\347\42\364Z\223\2505\20\251`3&M\253\366%$\275"
+"\244e%\247\313HZ\177\n\222\2425\7\245$\77@\274F\356\350\243\250\265@1\261"
+":\215\273\277\243\352\374\377B\231\bm2\326\tS\356\376\307\0\225\204u\212"
+"\254\373\217\25\354\224$\302\332-X\265\36\320\42\251\220A\6\273\325H,\241"
+"\20`\205\42\321\321\263\23U\347\263TR\22\205\5\222\316\317\325b\344u\23"
+"nt\272\260\21\251\3\271\361\342j\373\357\302\211\27\243\35\265Q0\nF\301"
+"\320\1\0iC\3266\252s\265\26\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2\240IDATx\332\355\327KHTQ\30\7\360\233F\3A9\206\213@\302T\242\311"
+"\212HK\231,\204\201 J#\215(\b\37\370h\327\252\205\3\322\13\246\240UJ\20"
+".zP\4\243dEm*$\312\42\242\27\331\204P\342&\360A\205\205AX\233\376-\356"
+"9\347\2363s\317\275\367;\255\212\373mf\356\234\363\343\\\276\357\234\357"
+"\316\265\2540\302\b\343\177\211|*\250\250\217L\231.v\16\300\260\241\335"
+"\r\0\30\65\303\327\1\0xi_\345\321\360\254\375\261\351\231\311\312\33\300"
+"\342\t5\317\355q\313j\341\272\237d{\1<\224\364\22\202M\0\0>8z\25\1\367"
+"!KS\356\372\bT\275\313\262\254\5A\361\3229\366e|\265U\266\357wz\222\224"
+"\260\215<S\31\223\32\13\335\3717\372\16\377\201\262=\337T\332\237\357\314"
+"\316\205\275v\221\341\221\\987P\22\266P;\316\2\303[\r\355\b\0\340W\223"
+"\211m\346\233o\272\212\216\37@\304\255(\25\77\205\24\207\211x\247\214\361"
+"\210\250\353\277)|9\221\307G%\374\203\234\265\232iG7kg\345u%c\256\3{\5"
+">\252\305i\0m\356C)\206\23\332c\t\0\250\362:\3613\332\205\273\1\0/\304"
+"u\303\'\314\37\23[c\361+`\266\\\213\247\324\246o\77\2621$\312S^\253Oj\24"
+"*\26I:\23\240\42\307\355\251\374\277\305Z\251\274\r\276\230M\254c\227\325"
+"\362\316\32\362\261\215Ywm\335U6f\205\'f\351J9\277\234T\364A\17\273\216"
+"\315Qzw\213\254\33\365\370\266=cL\327J\200\357Z[\300f\354\311\31\271(\264"
+"\26_\322O\210\373\255\\\312&\364\270\216>\366>\215\357\275\357\254\27@"
+"\237\316\266\371=\335K\366W\352\206\42\314~5i\3557\31\2566\260\211\354"
+"\177\25\224\340u\214\32\330\267\236e\362\216\33\276\33H\37\27\270\335F"
+"\267inS\364\367\247\f\267\367\3106&\16\314G\262mr\316\352\42\252=\355\330"
+"\25DZ<\341\330R\242=\345\320\371B\32\355\220\372\332k\32=$\367\304\313"
+"\244\322&\225n\334\25\\F[\237+t2p\252\352\316#+\222\272\251\322\253Q$V"
+"\266\246fG\316>\370\262e\302w\301\242\373p\215\356 w;\340J\257\26\222\232"
+"\214\34\375\313\2\346\351s\16\355Y\30\270<\'Tym3eW\24H\362J-\365\350\265"
+"\333p\360@\360w.\251\316\353\267\347gF~\206\357Za\204\21\306\77\24\177"
+"\0n\2614\351\343\350\235\205\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\336IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\3\f\322\16}"
+"\376M\b\374\377\377\177\263\32\26\275\335\377\211\5\230\272\271\210\326"
+"\373\377\34L\17\23\214\241@\274\377\fm\3205\177\'!t\362\2414#\\\344\33"
+"\'\321\232_J\240\331\314\340\360\233h\315\3471lf`P\227b\301\257\311\244"
+"\rB\373o\302\324L\20\60\375E\325\304D\212\346:\b\225\305\300@\206\315\377"
+"\321\364\220bs-\204\352\42\'\355sC\23\30\179\232w@\364.&Go\0\324bQ2\364"
+"2C\365\366\220c\361\6\250fr\364zC\365\6\223\243\31\252\367\229zW@5+\221"
+"\2417\20\252\267\217\f\275\22\377)\b\255\357P\275>\344\'\255\377\253\310"
+"\320\333J\201\2433`z\rI\327\233\f\323;\203t\275y\360\242\276\200d\275\325"
+"H\25\2058\211z;P\252\31\322t\317B\253\244H\321}\0\243\212#Z\267\374_\230"
+"\226\n\233w$\352\16\200[\27\300\300\300\360\230$\335\223\340z]\30\30H\323"
+"\255\373\35\256\327\22*D\264\356.D\20\351\301\5\211\323m\216\24\274\310"
+"\355\5bt\317Dh\275\213Z\337\23\324\35\215d\355\\tI\374\272=\276#\351M\304"
+"\224\307\243\333\366\31rj\322\303f:.\335FW\221\265n\307\341-\254\272\235"
+".\242$\342P\234\341\t\327\315\5\23IDM\377\223\361\305$L7\254\216\267G\321"
+"zU\5\177\22\202\352\276\fmV\230!\313\205h\337\301\257Y\366\t\3\3\3\3\303"
+"A(\327\6am\23\61\271\346\346\377\377\377\377\213\300x[\240Z\247s\23\227"
+"_S\326\325\42\265L\226\376\377\377\377\377\34\1\22\2138X\233\312\300\352"
+"\305\326\237\243\275\235Q0\nF\301\20\3\0\362\216\211\364\322\2150\276\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0"
+"\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\177IDATx\332\355\230"
+"OHTA\34\307g7\313\322@\314\22I\301H\2\213\22\24\42\5!\r\244RX\202\376\\"
+"\272T\307\222.\31\244\6Q\207\42\2\17\t\22\25!\35\204:\24\232-\326\241\16"
+"\36D*\b\222\262C\321nIx\t\211X\205\244\257\207\235\2317o\337\274\367f~"
+"\17\242\340}O\263\277y\237\375\375v\336\357\367\233\231e,V\254X\377\271"
+"*\350\350i`\361\0\221=\n\08B\203g\21\201\376\205\b\3645P\351\215\214\261"
+"\254\240\367Z\241W\201\371\26\226\370\312\341\2176l7\0\240\315\241m\340"
+"9\270\351\2676\3607H\3723\0\354\266\201\317@\322\354\334\364\275mvk\375"
+"X\241\355\365D\320\253(t\232\303]\244\344|\236\207\367\323\352\342\205"
+"\365\33V5\bdv\221\233\301\352\312\270\227\376\25\255M\372L\324\217\344"
+"\20\256\373\332\254\256\201\231>\251\220\b\344\204a\344[\37j\214\17`\252"
+"\223^\317Y\343U\33\360\232\232\214=\353J*\365\335\220}\3570\t\3655\6\4"
+"[\332s\201\217\272\322\322X\244<\260\24\0/\345\370`&M\310.\21u#\201\275"
+"\314\3317\4\66\31\305\361\215\b\216\327Eq<\304\331W\4\266\\8n \300\217"
+"8;N`[\204\343\212\b\371\321G\333`@\335\241d\320\373\42\4\375\214\300\336"
+"\26p\271=\233\22\354y{v\213`\27\b{\261l>;\354\341/\202\35\321\27j\20;Q"
+"+F\31k\277\267\224\236YG\254\303\274j\255\330\261\202~]m\301~\360t{\343"
+"S\320\246e\315^Qb\306\2669\304\225N9\374i\304\3668\354q\306\212\345\221"
+"\341\235\1;\352\260\207\31c,\271 >>\rC\253\27\35\366`AYb(\230=\246\254"
+"\220\274E\324\301\244\25UM*\354f\307~J]\4\37\365+\350k\327\314\260\264"
+"\357\324\243\315\277\25\366N\301\344L\320\261\202\225\215\252\t\321\355"
+"_\332w=h\321uW2\355\361~y\273\337\317n\35w\241c\t]h\27\345\374v\305\272"
+"~\322\235\303\251\260k\325K\335}\32\0\60\275\306\367e\374\321\254\231+"
+"\346\240\26[\317\237\311\272\377\274\20\232\252\tL\277\336\374S\207T\333"
+"\17\216\346:\302\22\77\3\0\227\\\246\r\313\0\60\237\n/\270\252)\340la\6"
+"\364N\334l2\3541\361m)V\254X\377\216V\0DE\262\367BA\330\231\0\0\0\0IEN"
+"D\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\7IDATx\332c`\30\5\243`\24\214"
+"\202Q0\nF\1\r\0\63\66AYu\216\367d\232\'v\362\377\377\377\17\325\310\323"
+"\274\345\377\377\377\377\377_%O\363\177\b\340\42\254\222\tg(\210\220\243"
+"\231\t\247\f\21\232I\0\243\232G5S_\263|\321\251\257+\225p\311\262Bs\225"
+"\2\272\4\227y\366\232oPIHng!\3066>%m\13\67\224\322\341&\363\77\274\232"
+"\245\37\60\60\b+\252\31X\330b\223=m\214U\223!\324e\377O\375\307\7\374\30"
+"\30\30\30QJ/)\31%\255t\342\2n~\22\314\331\6\346\372\372F\34$\205\372s("
+"-w\373\77\351@\31\252y\7\321:~\300Y5\fP\77\377\'\354\3103\307/\334\270"
+"\377\234A\365\26,\2524\210\210\347_\207O]\272u\37^}$\303\30\16p\25\213"
+"\260:\361\217\257&\'\232Q\3060\271<\204\2302\222\226S3^@Y:8\253\203\377"
+"7\240|F\6\6\6\6\371\\\335o\27o>x\372\364/\3\3\203\340;\210\214\342\3t\275"
+"\233}\240\f\361W$g\214)0\213=p\207\21.\315\3750\275\355\f$kn\200\351\275"
+"\304@\262\346Lx\220r\222\254\271\t\256W\201\201T\315;\341z\r\30H\325|\36"
+"\256\327\233\201T\315~p\275E\244\227\236f0Fo\37\3\3316w\23\266\7\213\237"
+"o\374\377\377\377\377\377\26\6\2624\263<\374\377\377\177\33\246R\242\312"
+"\355\77\362\301\252;\3173\220g\363\210\251b\31)\321\314N\216fX).I\216\346"
+"\77P\332\212\222\366\366W\2624\303\232\16\263\b\252\304\22\246\13\342a"
+"\254\7\227>`\251\307\336\237_\377\31\247y\216\4+\313\337j\4=\215\7l\306"
+"\255\331\231\240\346\177x\2\42\206\220\346\347\370\202\321\350\33~\315"
+"\245\370c!\362&\36\275-\204\223\77\67\27\366\204\377\375\323h\27|\24\214"
+"\202Q@=\0\0`\322\257\\FB\2153\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\2yIDATx\332c`\30\5\243`\24\214\202Q@$P[\371h\42\67\231z\265\377\377"
+"\377\377\377\2778y\232w\374\247@\367\377\377\24\350\336@\211nU\230\346"
+"\377\302$\351\363\274\362\177\2410\203)L\363\6R\364z\374\377\377\377\377"
+"\177\t\204nR4\237\207h\21e0\2010\276\223\242\3717\334\257\20\335)\330\24"
+"e\334\373\377\252\n\213\3704\230s\5\31t/\374\377\237\211Mo\321\377\377"
+"\377\377\377\357\301\224`\203\2073\77\3\3\63v\327\375\305\31\32\3340\315"
+"\327\b%!q|\272- |&t\5\254P\232\23\213\346\257<P\206\24\16\213Y\241\206"
+"+`\225\345FI\\L\244%\316\257<\327\31\30\30\22\336\222e3\3\3\203\231/\77"
+"N\263\tjF\2L\224\224H\243\232\7\257f6\335\2523\237\227\312\301\270\214"
+"\30\211\344\27\204V|\200\42\254\250\246ka\'\n\345\310=\206\320,\204,\223"
+"T\3251\263UB\25\273\307J y\366\t\231\305O\276\360\37;X\207]/\367\354\377"
+"\304\0Mdg\363IJ\311\253\351\32J\23\33rV\327\3415\310\216\377\244\2WXh\363"
+"\275\'=\262\31a\316\216$N\357\223\223\317\42E\240l;xT\31\342\327\364\372"
+"\304\271kw\37\277b```p\203j\236{\30\256\371\rvM\37O\236\275z\367\341s$"
+"\221\24u\30\3!f\2115H\3121L\343\207I% \213&\375\377\377\377\377\327\203"
+"\23\322\\\324y\31bp\226aG\2412\367p\224\364\370\n\300\\\230\305\212\f$"
+"\227\236\2660\275\21\f$kV\207\351\235\303@\262f\21\230\336_\244\27\6\354"
+"\257a,=\274\232\261U\314\242\77`\254\360\33\370\313%Lg\33\300#\277\201"
+"\310\366!B\263\316\177\342[^\30\232\17\300\364\336a ]3L\357\'r\212\336"
+"\213\20\352\223\20\3\31\66;\376\377\377\377\377\377\317\2444\250\25PS\365"
+"}6253\250\347\371\222\326\224\37\211\315\n&J4sP\242Y\232\22\3156DW:\330"
+"J\3Frl\336\7\245\357Xb\3121\362JJ\341mKd\20\252^\347\342\321,J\260rn\307"
+"\243{\27!\315_p\7\30\203\370\13bC\31KT\2754\42\240\367*^Y\201mx\235\35"
+"N\300p\305\266G\270\264^\16g\30\5\243`\24\214\202A\2\0\325\237\334\34\306"
+"\321vb\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n"
+"\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2)IDATx\332\355"
+"\327KHTa\24\7\360\343\370@\314\27\342J\251\204\2\31\60R\224\221\221\21"
+"\34hSh\233@HP\223V\5\2652\21Dp!\42\356\4W&\211\233@\220Y\271\321U\17\20"
+"G*\nLE\24\225\320\332\364P\334D\324\277\3059w\346\316u\356\343\373l\23"
+"|\377\315\35\316\371~s\356|\367\316e\206\310\304\304\304\304\304\304\304"
+"\344\237$W\303\324\206\363\276k\216\253\336\0\260\230\257\207_\3\0F\355"
+"\245\376/{=\201l\16\0\0k\266\322s\0\30\17\202\2572\336LW\256q\345q\0\34"
+"\347\245\t\42\242\20\21\21]\347\306d\247\77\16\363a+\215\337Ig>\346\213"
+"#|\330\261\225\346 \271\342\207\367y]\233\275\266d\351\42\37,\313.f\24"
+"\337Hu\333\333\346\3112G\371\227\224\'\274\367\213\27\235:\312U\326\211"
+"G\274\360\35^3K\351\335&\42:\352\220\27I/\334$[t\2461&\243\247<\360\n/"
+"\271t\266\223\24\335\342\273\331Y:!\270\3678\5\334\337\'\307g&\242\77\215"
+"\362\302\365+\22\347C\42ks\304g\364\f\267oe\357\376\364\306\362\336\25"
+"\331\273\315\0\200\5\27[\356sb\3\0>\25\2734\357\263}\351\272\241\r\217"
+"n\270\366>2\356\326y\366\225\311Y[\317\353\220\n\356\347\303\213\337:\223"
+"ep\253\216\355\360\273\377\274r\300vH\307Fe\360\5\35\374\215\355\262\216"
+"} \203\3535l\211\330\17:\203\227\3171\370\236\330\305s\3544\312\325m\203"
+"e\357\252\333\210e\347\324\355m\313\36\253\333A\313\242Z\331\316\247lL"
+"\225\326\234\244l\233\252\35NQ\204uw\n8-S\243\355\77\3226\251F\273`\313"
+"S%\372\320N\321\253 \353\2463\350n\360\313\33}\206\314<\t*c\t\207\304\333"
+"\313A\355\214\223\36\306\3\237\361M\7=P\271\247\2723\350jT\351\372\204"
+"mt\264R\365N~e=\250Z4\236T\245\357\1|\356\13\274>\307\361\253\242p\375"
+"\253\371\277hbb\362\337\344/\357\3138.\230\204\322\307\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\2\205IDATx\332\355\327OHTA\34\7\360i\243"
+"\203%z\210\330\240\77B\1770#\263K\376C\251(\\\212\310\202\262m\203\310"
+"\300H\202\376\200\24\241\207\214,<d\201\202]\302\212\260\b\272E\35\f$\202"
+"\42Oa\36\352\240\13F\7\241\203A\321\37j\277\35f\346\355{\317\367\346\315"
+"\357\267]\204\367\273<v~\357\263\277\331y3\363f\205\210#\2168\376o,\244"
+"\223\332\246\237_\270\345F\1\3643\355U\0\300\20\17\177C\1z\22\5\350\243"
+"\310k\322h\37i\376\365\371}i\235\374\260e\366-\201\226~\5\60 D\237*\235"
+"\243\324\275\13\0\30\314k\n\316I\322\257\3650\5\217\251\202\267\204\270"
+"\16 [D\301\333\3658\337\20bC{\212\370\224Z\265\356\346<\3436\255Ws\364"
+")\205\323\254\311yZ\342\255\274uq\6\0^r\227s\323\233\231+\361\36:\77\366"
+"\355T}\3114\267\332\3\0\330\315\263)9\77W\b!\204H\350\326\216w\217*-\360"
+"!y\331\351i\374\0\0\273\242\361\'Y\371\234\273m@\266UEb\265&3\1mXn\211"
+"\253\2030\26\231mR\335\226t\17\330\35\235\375h\306e\352:\343i\375\241K"
+"\77\64\342L\340~_\342t\274\315\204{\344=Y_\363ZG\227\33\360\210\274\345"
+"\276\277\275\301\321\321\257\234\223s\22i\215\207#\237\324\306\271\231"
+"KZ\37\b\263\233\r}{\246\365\202\20|A\246\307M\275\302\275\20<.\323\347"
+"M\13.\364e\244\262k\202\263\217U\372D`\266\302\367\223\23\336t\213q~\355"
+"\225\227\347a\371}\362\273\27\233\316`\373C\277\375\32\200\77\25\201\251"
+"%\321\223\250\266#l{\353\222\366\5k\363S\205wp\354\36\306\361\313\211\254"
+"\264}\34[_\310a\346\273\264\223\34{Q\25\346\274i\312\20\274\1Y\305\264"
+"\302\233\30\266\27\374\241>\6\3763n\6\177r\35\266\330\31\303\3422\330\235"
+"N\274v\354:\356\244\4PC\265\203y\333@\244\351<\3056\32\255\234r\331j\22"
+"]\77\342\242XI\2415cn:J\241\307g\335\224\360Ohi\373\204G\42Wg)\313{\377"
+"\302\27gm\253\336\366K\334\264\356q\213\237>Yf\77N\235^:\264\212\263\253"
+"\3@6C\235\311\2775\355I\322W\256<\257<m\264\275\337{t):X<\361*\376\343"
+"\25G\34q\314\233\370\7\336B\334\212\365\b\277\322\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\2\216IDATx\332\355\227MHUA\24\307\317\223\264"
+"\36RiJiI-*x\201\tR\321\203\n\255E/\241\205\213\250M\30QJ\37PD\30V\330\7"
+"\5\255j\21\231\20&D\21AD\253\240\205\372jQ\253\210\240\205\321\27\5\5\22"
+"D\361\300(+\376-\356\334\2713s\347\372\356\231]0\377\315\233\231s~\34\346"
+"\314\2343\357\22yyyyyyy\261T5\4\374>\351\b\77\3\0\3649\261;\1\0\370\344"
+"\4O\5\360\3272n\25\266\305u\225\301\357\3\227\300O\203\300X\345\3006\n"
+"\366\217K\340k\2\356r`g\n\269\233uFnA4\266\4\16\7\343\357a\332*\27\23Q"
+"q\353\217\244\300\255(\2579\201k&\6\177\253I\261\265\271%\3539\367\244"
+"ai\330\36\31\351\262\232\261E\276\3149\27#rn\\\346|\302\342\335\322)\6"
+"\305M\26\353/\221\316\237\t\261\302t\257\267\330nM{\77\210\252B\273\305"
+"\266/\264\35O\b\\\20\366\341\270im\310~H\312\320\r\341\260&fi\222\27\250"
+"\211\312l9f\250\223\354\376$v\245p\270i\32j$;\232x\256\203\302#o\234\363"
+"\354R\322\321[n_F/\311\352\210]FD\13{\352\306\356\307\330\2609\334\326"
+"\227\263Q\265\25\210\250\r\0\260-)]y}yD\262\7\210h\226\30\277]\2419u\332"
+"s]+\331~\42\242.9\35R\367\377W,\32\257P}\350<HDD}J\317\330\23\3558\\2\23"
+":\32,\337\13fK\325\216\3639g\354\370\202\231\212\354w\0\220Yl\327\32V\257"
+"\326\217ayc\316N<\337\256LO\250\364#\42j\t\'\347S4\211yc*\236o\230\234"
+"\246\30-\332lm\272\273\322\266\250\3368\3732}\203\233\377\332\204\339\375"
+"\361\222\316\36\342\275z\273U\366\35\367\315\334\242\300K\330/\356\27\311"
+"v\263\331\275\222\275\316f\17K\3661\233=\215\262\3558QW\242dUp\331\'\21"
+"\333\300D7*\207\324\314d\257*l\33\17\325j\252\235\205\256~\245\240S\313"
+"9\350\242\242\32v\200\25\366\234VH\35\34\364\240\206\276\251OO\266\336"
+"\325\353\367Hj\262\372\230\3216FjS\263\375f\313)\270\25=\0\234\341$\352"
+"\224\206^\314\262\16\250MA\217\262\313\357\216 \'w\270|Z\f\0\300\213\r"
+"\216\177\\\233;J\17\77\372\357h//\257\377H\377\0\203o \321\303z\260q\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0"
+"\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\354IDATx\332\355\230"
+"Mh\23A\24\307_bB\17~\200hk\24I5\25\213\245Ee\253\250\5c\221J\16\215P\20"
+"\252\5\5\213\224Z\4-x\360P\204\236\24\25\77\20\252X\4A,V+\212\202(\325"
+"\370Y\24\77\260HE\343\7RA\274\210hD\321\n\376=\354\314\356$\331\335\344"
+"\215\340A\366\177\331\314\276\371\355\314\316\2747\357m\210|\371\362\365"
+"\277h\34\233\250j,y\257;\332a\0\203\232\354j\0\300\260\36<\0\0\300C\42"
+"\42\n2\341O\346\245\366\236\316\310\363!t\207\t.\334d\20\265J\372(\213"
+"\355\3p\216\250M\322\343\31\354:\0\300]\242\315\2\2161\340\363&r\237h\13"
+"\0\340\27g\326\373\305\200\217\210\266\2\300\n\16\\.\337\365\tQU\327\266"
+"\251\274\305\256\207=6_\313%\275Q\207\256\23\360\5\321f\271\347\320R\363"
+"\372L/.\26\1\0\274\27+zql\270\331\321\22;\233\351/\367\36\340\33\0\34\322"
+"\233\\\247\271.5Z\260X\324\370\337\354H\251\16\2342\331\264\16;Y\f\334"
+"\240\3\367\n\270p\317@\336\235\310\7\363:\26\177ku\n\206C\301\0QIum\351"
+"\325S^\217\273\16o\215\206\13/\265\273~\270\323\231\2020\256\270\261\255"
+"(Be\336\316\345\255\n\347x>R\324f\276q\274\273X>;\351dm\21\306\224\367"
+"\244\235cy\216\26069Z\7\205\365\222\363\243;\274\362L\247\348\340\f\77"
+"\360\360[C\262\253\274w\242\307\251\264\221\354\361\2\207\276\341`{\211"
+"\2\321\324\357nOI\266\262\300\341\264\307}\241\261\236\210hY]~2\330 :\314"
+"pg{\210(2\n\240;\267\313o\21\221y\354\356\254\4\370\316\374\235\310\352"
+"\222\20=Z\\=\353\13\21Q\215U\360D\224.\37\335\226+$\273O \42j\260\303\307"
+"\236{R\334\351\313_\256\313\246e\236yb}V\242\257>gn\325\371\360\244\257"
+"\0\260@\264*\322\n\335KDD;E\353\225\343&\266\237\331\256\370{\223B\377"
+"\214\21M\223\215%E\305\373>\5o\213\216\210_\3\305\326\212N\347O\210]x\331"
+"jf\327\20\266\206xi\353V\26<\205\231\364\216)l\7;e\36\264\330\347\374|"
+";\327\202#|\330\212\3255|\366\246d\17\360\331\327\222\275\306F\313\254"
+"\367\35a\263\t\213\345\177;*[\314\375r3\24\357\340\26s\273l4\303\364J\265"
+"\2509\315C\2437\24\266\235\205N<\241\6\322J\16:\353\244\212~\237\315@\33"
+"\323Y\361\313p\311pW\316\301a\24\317\316\314)\375\366\352|g\232z\\Y\fc"
+"y\236Z\342\3346\f^\231\37\267\23\314t~\354v\233\350\216\200\326\7Q\362"
+"\5\236\256\365\377\360\362\345\313\327\77\326\37I\\\2\35\212\205(\20\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0"
+"\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\2IDATx\332\355\326\315"
+"+\4a\34\7\360\237\267\20Jy-\257I\344\245\225\234\326\215\42\7R\222\344"
+"-\'I\312\215\13\227\255\365\7p\262))\27y9!\7\21Q\322.G\324\326\206\206"
+"\244e\313\273\235\365s\2301;\263kg\347\367\354A\362|/\317L\363|f\346yf"
+"\346\367\f\0\17\17\17\17\17\17\317o\'\311z4\225\316h{\21\21\221I\327\336"
+" \42\42\256\320i\271\35\277C\245\25\333\n\305\27\222L\34\272GUz\t\264\357"
+"\f5\3514\n\363\7N\264\22\67\22\f\260\250\312\376\271[\fJs@\257\0\225\222"
+"\221Y`\2523\377x\306q\253\316\345\272\34\250\223\21\335[\355\320\221\236"
+"\3660\343\\\17m\205\237E\264\177\363=\364y\'\303\342\325\340\243n\271}"
+"\13\213\27\36\65G.gZ\23\322\273u\7\32\253\332\256\332,\1\0\200\275}\307"
+"\251\323\13\0\0\27\206\261\2534\'\353Cx0\376\352\306j\366\4\201\364\311"
+"DGR\226\376#V\315vqn\\\320\341E\251\231\5\0\370\24E\21\1\340S\364\276]"
+"95\335Ln\244\304mR\343k\244\345ZUI\222\236\250\3N~Vp\214H\236-\2372\333"
+">\33\321\332|\352=\213\2070b\217\305\300\270^\244\276\7L\257\301\246\204"
+"\33\230\360\253\204\313\231\260<\304x\26\233\246\277$\353\177\30eRs\314"
+"\204\253\245f\215\t7J\315N\250\265T\177\276\2247\221~ey9\276\365E\360\240"
+"\206Y\354\204\214\343\30l!2\377\265\1\270d\\\304`\247e\273\24\201\305T"
+"2\215Q\376m\6\311\266^)\31\253TZ\260\245\330s\42\65\357\371K\325\25If["
+"\325e\316N\262\243\232\229O\2625\32;F\33n\233\332\266\20\347*\317O\17\63"
+"\311\317wN\246\257\215,\37\303.\42\242\267\303`\357\3002\324\323t\267\314"
+"\266\270\360\360\360\360\374\261|\1j\253K\2y\244t\360\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\2sIDATx\332\355\227OH\24q\24\307\237k"
+"FH\21lm\376\t+\244\16[\6\33x\b\315j\301\265\302\350R\227\272\324\241\f"
+"\217IQ\341A\275e\21A\236\364\264\321\32\202Y\202\344!\241C\264\227\350"
+"\274XPFQ\271zQd\367\220\344\267\303ofvvvw\346\367\336\4]\346{\371\355\314"
+"\354g\336\357\275\337{\357\367\33\242@\201\2\375[U\363\221\35\35\177V\244"
+"\346\356\2H\n\3318\0`N\6\217\243@\207\270\360\272\32:E\266\333\0\3136+"
+"\332\2613\310~\317\'\324Esd\226\353n\212\350\226i\273\216\301^\4\0\314"
+"\20\3354\340V\6<\255\220i\223^\347\314\372\221a\360\271A\237\344\300\373"
+"L_\'\210Z\6nDx\253\2240iQvZt\334\17\375P]\362\322s\256K\215\13\262\272"
+"P\266\267\bK\262\345U.\325`\374\256\322O\260\330\273\31\241\301N\0\30\27"
+"\241\273^\253(\307\370hC\322\\\337\313\354\246\365\36\226x\226\253\373"
+"`\323\3\16z!mGqE\33\f\367\316\27\221H\357\324\3\17\\z\2\207V\272<\251P"
+"\343\361\276Y\224\352\347)W\354\350\350\2*)\323\356n\362DE\22_\16kn\42"
+"\345\344\346\245\32\362\25\377\260\344\rO9n\177\274\23\255:\246\275\254"
+"\367\255i\276\31:\267\207\210\210j\0\0Y\27\310\252\347x\367\356\305L\346"
+"\323r\341Q\315o\42\242\245:Q\35z[\16\221\17\5\60S\233\324\260=R\372\226"
+"~\3258\257\276-\276\235\373\341\330\5\276\202\243{E\3607\360\324k\363\271"
+"\266\211\351k\253\r\316\347\230\360\274f\37)\247\224\243\252\16\326\227"
+"\36\5\207\217\20\21\321\210co\\\373\274\2541\271\275\272m\250\234\266\21"
+"\21\321\252\fn,\r\216>\254\\N\3132W\355r\3352X\305k\253\210=\344\31l\27"
+"\237{\210\210h\302\317\254O\213\330\263\336\263\256\254_\0\200g>\316\230"
+"\210\372\360xQ\304\216)\370\274\364K\25\300\206\204\35\66\252>!`\315\363"
+"\320S>\32\65\273\215 Z\267Mv\243\226\213^\267\272\\v3\217\334\237,t\310"
+"\17L\253\223\266\356\372\202\311>\266\261\203\262\204\4\0\264\263\303l"
+"\35\\\373\5\251qM\241SaQ1\f\2x\331,=%\204\305d\240@\201\2\375\37\375\5"
+"*a\3049l\377\2\16\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\304"
+"IDATx\332\355\326I(EQ\34\6\360\317P\346gH\22%E\31\323\333=)\326dA\222\244"
+"\f;)\212\f%\311X\312+Y\2600\26YJ\254H\310\260\265R\312\346ec\243l\205\242"
+"\317\342\234{\2377\334\353\236[6:\337\352t\376\377\337;\367\234{n=@GGG"
+"GGGGGGGG\347\257\323x\3718\345\326\216\221\344\223;\353!I\3624\242PZbi"
+"\262\326\336\2]\0P!0G\302\32\374${-,Ir\3\0$\246/\244\241\226$9\20\25O\13"
+"\60\17\240\305\320!\r\233Q\346\214\254K\320\b\240G\216\327~6\310\271\264"
+"h\270\301X.\16\300\204\34\347\5\353I\264Y\31{\262\272\3\0\327b|\20,w\213"
+"\231g\213\343\276\222\272\24@J\304:wbb\326\352e}\212\372-\0\f\211\261\'"
+"|\313\25V\270H6T\233\315/f\255\303v\313\0\60)\32\266\0\240\306\374\31\0"
+"\300\275(\255\330\334L\321q\1\0\310\37\354\3140\13\331r\341B\33\334du\213"
+"\374\302\6l\77\212%\222G\226\217\304f\373O\312\327\351\2152\333\376\353"
+"q\331\344K\330\5\67\326X8\323\r\226\366\304\215]\226\270\304\205\255\225"
+"v\327\205\3155\276\325\30u\33o\330Vu\233\370.\355\271\272-3\326e\262\262"
+"\3552m\235*\315\2771m\217\42\255<6)G\225d\316\360k\220r\3349\314\250_e"
+"H\372\34B\357\334\3\303\343\364\254f\42$\267\235>pA\4\275-w\274\333\364"
+"0zT\245r\310g\77\344G\177\254\332\273M0\344\347b\261\372]N\333\'y\330\226"
+"\252\377\324\351\350\350\374\373|\3\35\375\364\234\32\302\306\213\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\240IDATx\332\355\227KH\225Q"
+"\20\307O\332B\263\207m\244\262\304\314\36`\264\13\3%\212\302EX-4)\24\222"
+" \311\42\2110%\20#\270PJfT\264\272\24I\201EQ\30\366\202 \254(L\260\205"
+"\217\302\36\220-\42\301Ed\21\4\377\26g\316\275\337\343\34k\346\266\t\276"
+"\377\352\316\314\371}s^w\346\373\224\212\24)R\244T\225\316&\266Tg\274\225"
+"f{\6\240O\310\36\1\0\f\312\340a\0\0^\212\340\36\r\343\271\4^G0\2360w\273"
+"bg\372\207O\343\333\265\2217\367!\'\351\33\0\275J\325\231\334\34\366\30"
+"\0\340\251R\373\t\316d\300C\32y\241\324A\376\226uQ\302\1\245\32\0|\317"
+"\345\300\313\315Z_)\225\277w\33\363\2246 \2253^o\350\n\t]B\3609\225\302"
+"\375\252\225\375/\326\2\300\270\364\357\234{a\2405*\241\377T+f\213\321"
+"f\0g\205l\'\0\240K\304.\241\373\273\307\36\336\332\266;-\350\313*-\b\226"
+"\307\34\33\333\b\0e~_\33\200\233\372\347\f\3\277\263\301:T\30\2560w\265"
+"Qc\350\2160\273QG\332=\256\42\32\335\250\315VC\227\204\340\270\16\\\366"
+"\2706\231\321\264\356[dN:f\215f\217k\226\201\337\223\343\7\331\201\235"
+"Q\13\311\277\322\353\2547t\275\266\13\310\f6\361\6k\2578m\350\371\376e"
+"\27\371\207\215hoo\340\231\367h\364}\377\342z\254K\256\nn\305O\n\24k\263"
+"\3226\301\315\256&\265\214\2\303d\377\262\300\324p\246\302\347\177\212"
+"\3505\324\213\1\0\227l\263\2169o^b7n\0\30\235\351\35PH#\226Z\340\303\201"
+"eV\307\312\375\3:t\374\233r_zw\303\247x\3354\257X1\27[>\375\303\37\3\350"
+"v&\36\323\354UW\274j\337j\'k\256\354*Iy\242C\236\20\3256J\\#a\217\n^\276"
+"\202\211;%\354I\202\263\5l\16\261\27%\211\37\20<O\300\226\21{^\300f\231"
+"\42\225!\200\'\375u\235\245~b\77\13\330n3\351<>\33\67\354\16>kZ\17\216"
+"\263\3219\37\r\33g\263\246z\3\327\271\350\342\376\4{\207\373y{&\201\342"
+"\n\363B\336N\242hb\200\245\355_\340U\261\24L\274\251\374Q\273^#\244\312"
+"\277d\233\302h\13\267L%u\202_\343H_\17\260\216\347Z\222\234jY\304\274\26"
+"\331D>\252\225\324\310\5\361\261\276C\371\321\267J\244H\221\376\37\375"
+"\6Hs#\34\234f\212\250\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\1\213IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\240\n`D\341\211\363\23"
+"R\377\356\r\16\211\230\377D\200o\326X\365\32\376\'\16\60\303u0!4\373\21"
+"\351SKl\2329\211\324\314\216M\363Q\42\65_\301*\332M\224\227\223qD\225\202"
+"\236(!k\237\237}9\232\276G\1\351\205\201\260\216(\t\232\376>;\367\33\301"
+"+\376O*\360\200\3535\375O:`\204eI\33\62\374\253\r\323\374\217\f\315\377"
+"a\1\246w\221\274\220fb```\270\224A\262^\7\244\250\342\320\24\301T\260\13"
+"J\247\337G\217\252\27\327\b\232\236\2\t\327%8\25\60\341\321\314\6\241~"
+"\221\245Y\20B\375!K\263\34\324\207diV\207P\77\311\322\254\r\241>\222\245"
+"\31\32{\317\310\322\f\5\267\311\311\352\202\320\374#I\216f{\250f\6r\234"
+"\355\0\241\356\222UB=\201X\334@\216^Y\250\253\365\310\321|\206\240\227"
+"q\203\2\250\336)d\350\265\205\25t\342\244\353\25\202\351]HF\1\365\27\246"
+"\231\227d\275\n\360\322\271\215d\275\231\210\242\235T\255<\307\21z\255"
+"I\324\33\204T\245\244\220\246\225i\35\222\336\22\322\264\326#We\265\244"
+"e\340G\310z\13Iss5\262^w\42\64\260 \261Y\21\314K\266\237H\fh}\270\265\325"
+"d\344\6Xx\31\223Uxt\220Vt\240v\215\30\64\34_l\3755\332F\34\5\243`\24\f"
+"\25\0\0\rA\273;\324\3767\307\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\354IDATx\332c`\30\5\243`\24\fm\340\177\374z6\271z\363\377\377\377"
+"\377\1777\231\232\377\377\'_\267\312\177Jt\377\247Dw\nL\367\16\322\364"
+"\225\177\371R\316\300P\n\323\335J\212\336)P\327\302t\177!A/\27\334\257"
+"P\335\'I\320\254\364\37M\267\3)\316\376\215\320\35\365\353\377=K\222\302"
+"\313\19\226\230I\215%W\230\356.r\342\30\256\233\201\22\335\34\24\350>N"
+"f\246r\371\377\377\377+ir\3633\223\253\325\20/\315\30\21LM\17u\3741\360"
+"\355\372\266\2738\244\42\377\23\1\374q\330LT\252\371\317\204\22\3600\206"
+"\30q\276\344\306\252\371;qa\364\35\253\346\317\7\210\321\273\361\37vq\321"
+"\35\204\303k-\37\256\250b`\20f\301_\222\274\33\255\250G\1Y\205AH\210\36"
+"\33\361Z\276_X\265\31\301\253\373O*(\206\333\314\361\235\334\322\213\211"
+"\201A\222\f\337\212\3024\277\'C\363G\230\346\17\313I\326;\353\27\302\3"
+"\335_I\n\256\17M\4Mo\202*\325$\'\5(B\364\276\304W\347\341\224!\242\321"
+"\201[3\264\352\371K\226f\36\b\365\205,\315\202\20\352\tY\232\345 \324\r"
+"\2624\33@\250\253de\326\7\220\250r\245\244E\257B\216^\31\42\332z8\375l"
+"KI\371\264\25b\361JJ\274\354A\216\336\371\24\64o}\240z\347\221\241W\36"
+"\226\357\245(\350\265-#C\357M\230f!\322\223\3077\362\273\22\360\276\342"
+"\377\277$\353]\213(%\225H\324j\210T\302\332\223\250w&\222\336\b\322\264"
+"V!\227\354\251\244\351]\211\254\327\2174\275\332\310z\265H\364\257,B\353"
+"\5\322;l\247`z\353\310H\224\320\236\3713m\262\362\277\320\376\377\377\377"
+"F\223]\366\360p\216\266\17G\301(\30\5t\6\0\306\3772\267f\27\277B\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\375IDATx\332\355\327\275j\2"
+"A\30\205\341\343\317\22\331&\215V\242XI\304\42\226\251\205\200\265e:o\300"
+":\b\326^\200X+\366\202\255\215z\1Vi$\225 vbem\216\205H\22\331\350\316\f"
+"b\220\3636\13;\373,\37\f\f\f\240\224RJ\251\340b\177-\24\212\17\33\313\177"
+"f>I\316RvxB\222\34\\\370*\22\374\232gW\217E\3\337\306\303\315\27\65\231"
+"\'\34\206\260\260\360\335a\317\346\350\2155\17\317\335\3433\326\246\363"
+"x\374Q\347\311\1\223|\367\34\60\331\313:`rUs\300$[.\230\254\30\340\371"
+"\360T\347\302\343$\3602\370\205\353\341\361a\207\336\26\337\270j\212\201"
+"l\367\210a\216\1\277M\222,[a\300o\214\373EXb\35C\367\213\351\202\277n\206"
+"\265\317\302\256\370\n\267\33|\0\0\246v\3\225Hr\233\267\33\33\211\327\364"
+"r\264\323][)\365\277\333\3\2305\3747\266\253\325\354\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\1\210IDATx\332\355\330\77H\2Q\34\7\360\257"
+"\332A\270\264\30J\2414\244\30\202\332VS\20\4\315N\341\20\4\315\16A\20A"
+"s4\207s\321n\24\264\264d[FB\240ADCT\16Ac[`\337\6\357\364\254\273\303\373"
+"=\250\210\367]\336\335\273\367\341\375\356\337;8@GGGG\347\207\23\362\13"
+"\212k\211+\351d5\222\214\312\354*)\327\307\264\353\240\77\3344\333\27\311"
+"\334Q\222\242\312\327\253;1\344-|\3555tj.\325\337qO\2229d-=\346J\343w$"
+"\353\243\266\236\345\16\311!c\342\230+\256\222$+\266\2362-\235&I\326\335"
+"\2136G\332z\226\254r\263H>\222\315\210\253\35\372\216q\323\323HNz\\-\303"
+"\1\343\331\322\335K\341\343!\211\267\314\215\222\0w\365\264\4[\372\304"
+"{\224\3439\3@\203\344ew/\340\214\337\335\216\26f/\16!\234\271\77A\2255"
+"Lc\215\25\261!\371J\206\266:m{$\207W\277\365\30\264\245\234V\300$7\f\5"
+"L\356\'\24\60\331ZQ\300$\267U0\271\350\3\337\36}\325\23\203\343\b0S\351"
+"\303\245\301q\347\16\25\37z\270\340\27\3\211=\16\266\236:a \274K\222\234"
+"\27a \274yv\220\201\20\353e\350\377b\252\340\217_\303\372>k\254\212\3\236"
+"oD@4s\3\0p.+(O\222o)Y\331\30^\30\177:m\353\337\42:::\177;\237\275`\233"
+"7OL\235_\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0"
+"n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\223IDATx\332"
+"\355\327\77K\303@\30\6\360\330H8Zh\7A\264PAP\374\0\325\311\311]P\24\272"
+"\t\242\330\325M\7\27w\35tq\21\375\n.\212\330\261\210N\352 b\300\305A\4"
+"\21\301\32]L\341q\270K\322\16M\362\2767\24\365\236\345(\311\357\222\373"
+"\323\273\213e\231\230\230\230\230\230\374\341\330\361\227\347\346\307\236"
+"\77y5\213+\0\230\344\341\r\0\200\313\303\27\0\0\360\360\213\304N\247\353"
+"\231\24u\364\350\340\336\256a\273km\266\f\246\341\314\357\232a\305~YV\222"
+"j\257\326=\337o\42E|\337\253W\333\354\26h\331n\231\267\331/\352(\345\275"
+"\260\315\203\344!.E\35\366N\306\37\21~;&\332\353\247\226\37\331\3R\177"
+"\325b\333\231q\204\20\263\352\326C\321\36\'\325\313)<\2443=\27798X\370"
+"X;]\37\22\266\233\270\'\347t\26\3\241\203\325\223\37Y\270 \13\227\205K"
+"\262\270c\341\tY\334\260V\326W9R#\364M\314\262\354f\322-1\257\275 \213"
+"s\235\23\311\42\307\226\325\344,p\260+m\203cg\324\203W9G\6$\17G\307\336"
+">R\345&\343\245+\0\373\3508\32\330i\272\35\b\354\245\206E\221l\207C\273"
+"F\266S\241\275%\333\365hS\311Qm-\262\343T\373\20\331%\252]\216\354\36\271"
+"\301\273\241=\243\217p\260\251\342\204\363G\274\227v\207\265\3648\0\200"
+"\25\346A6\277\3378-\233Ol\23\23\223\377\220\37\210byHN\256q4\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/"
+"R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\260IDATx\332\355\326!\n\2A\30"
+"\206\341o\326&\330=\206\b\26\217\260\305+\30\3156\275\202M\fz\24\223`7"
+"YLvM\232\304 cXF\2201\3743\33D|\2374\f\274\f\363\263\13#\1\0\0\340\313"
+"f\336\344P~h\227\336\252\27\307\346\326\317CR\204E\333~\277n\24{{|\213"
+"\342\223=\336\206E\343\265\325\352[\343\3415\336\233\236M\343Zw\370\252"
+"\1\0\77e\260\363\351\216#IR\351\363\214%i\223\31\77\344\222\36\24\357\\"
+"QgX\205\264\257\23/2\323\252\233d\315k%\271\352%\324L=\366~\341\377\0\200"
+"\377\362\4\352Z\210p\207\254\34\\\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n"
+"\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\2\77IDATx\332\355\227MK\33A\30\307\37\203U\24[*\42\4\265\264"
+"\265\211(\36\24Q\20[\204Z,\330C!V\250\250\365$\210\240\7_\22#\332\42H\213"
+"\37@\254E\304\213(\250\7K\t\326\203\306\213\346*\364\33\24\24A\205\n\342"
+"E\361\351!\263\231g_fwf/^\346\177\332}\376\371\261\331\347ef\7@KKKKKKK"
+"KKAyO\234\343u\313\177o<\204\210\210\3\16l#\312\352\253\35^\227\206q\306"
+"\6\'\345a\254\7\0\200\0\207w\24\322\326c\205g\277\313\3037\0\0\220EC\371"
+"\317\n\\\221@,\302\256^\36\252\27\271\215\275\362\261\237\16\331ep\213"
+"\17\366!c/\375<x\216\301\357\5~C\354c\266\327\203\317\5\376*\42\342\210"
+"\300\\ap\223\263\335\347\226\220jfnxd\23\367\203v\363\230y\242\327Z\340"
+"\335;j\365\6\230\321#JI\31\351\375\243|\223Ub\204\305\305(\370IpSb\376"
+"\261`\251[-_\335qz\214\207\267X(\356\321\n\343\234\376m\304\276x\224\230"
+"\253h\227\343\25\0\0\320n\334\206%\3720\302\351O\244\302\330/\325\305\217"
+"O2\364RN\330\270\334\224\35\2025\373\302u+\77B\3036\370\271\302\0\276\266"
+"\260\235J\343\33\274\246\354\17\325\351\247Ky\256*\\L\340*Ux\210\376\357"
+"\247j\354\2049c\265*\354\222\265Vo\344\331\3{\233tH\242\217.\235vG\271"
+"ZW\322\255\274\3704s\323&\301\276\345\354\224\371\25j<\331A\316\16\233"
+"\327l\304\240\7\273e\36g\0\0\370\226\t\271\242\357H\202\232y8j\304\376"
+"\210\321\334_\2045}sM\32\321U\21\333EP\353\356\77o\30}\316K_\212\260\237"
+"m\366\36s\256\234\330(\355\207:\207\37\234\ts\326N\321E\347\r%m&\255\361"
+"\346\13\312\266\nR\22BD\304\27\226\275\367\210\242\211\200\260\30\341m"
+"L\204\334\6\267Ki\350k(\232*T[1\272\t\373Au\251*\317\240qP\327t\32]x\340"
+"\353\344\320\213\210\211R\337\7\217\42}\366\322\322\322\272\27\375\7.\225"
+"x\255/F\244a\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0"
+"\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\29IDATx\332"
+"c`\30\5\243`\24\214\202Q0\n\206$`%_k\347\377\377\377W\350\221\247w\363"
+"\377\377\377\377\377\377\377;\207\221t\275J\377\341`\275\16\251\232\355"
+"\376#\201K\246$\352\336\216\254\373\377I-\322t\347\375E\321\276K\2014\355"
+"F;Q\264/\346&M\273`/\212v{RC\256\0I\3637\322c\255\4\241[\216\214\4\323"
+"\6\323LVr\343\\\362\377\377\377\377\377C\311L\351f\7\376\237\262\31d\31"
+"\279\343(\253\360\342S\312\'\305u}\351\77\354r<\373\377\23\1px~\316\177"
+"\242\200\35Vg\377f!\316\243\342\257\340L&8\353/\221\241\224\310\200E\363"
+",\42\65\213a\23d\333@\234\247-\261G\225\204\42\17N\217vK@Y\253\303HO\17"
+"\317)\310 \213az\315I\327;\1\246\267\237t\275\223`z\237\222\256w\t<\244"
+"\5I\326{\b\256W\223\344\372\362)\326dM\24\220G\244\16\177R\365\206\42\364"
+"\266\221\250\225}3R\262<\237\313L\212\3368\364d\35O\264V\3077\230\231\342"
+"*qE\177\370WdM[\340\254z\302Z\213Q-\f2\302\236%\261\0\211i\350\256e`\350"
+"A\342-\301\331T\341\315x\200\351U\6\6\206\nd~86\235r\225o\261\26\36\f\f"
+"\f\f\212\17\221\4NI\240\225\25a+p\226<\20\25E\310B\305\b\235\246k\260\351"
+"Y\370\21\265\364\220\271\201$Y\b\323k\215M\353v\31x\335\16\267$\13!\r/"
+"\251Waj=\256\315\300\300\220\214Qn\211\236\203)\370\2+\267_\241\207\334"
+"<U\313\253X#\343\265Q2\224\325\0\257\276Q,]\r\317\267\311\330JL\201\243"
+"\377\377\377\377\277\30K!\365\252\303\30I]2\366\342\326u\311:_d\376\302"
+"\377\377\377\377\77\25\205\226\351\222\211,\253\265\375\261\244YB\232a"
+"\365\352\325\253dT\5L\224\264IF5\17\17\315\357 \324\77\2624_\201P\33\310"
+"s\327\202\377\377\377\377\377\257\217K\32\177\345\265\341%\363\233e\211"
+"\327G{\365\243`\24\214\202A\n\0\326\210\21\306\307n{\212\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\1dIDATx\332\355\327!HCQ\24\6\3409\20\203"
+"(\3\265\211\306\315\t\16\24,b\20a\342@\346\202\315\42\202\210\n\206\245"
+"\251E\254\6\rF\265\n\302\202\30\4\313l\42\bZ\f\26\rb0LA\233\3417\354\234"
+"\367^=\377M\302\371\313\343\205\217s\357=\334\373\356K\245<\36\217\307"
+"\343\361x<\226t\361t\366\27\37\323\244\355\4\0\314qx\27\0\0\16\267,\262"
+"\255\267\264\311\316\313\363\223)\374\2~\330Cb\253\f\276\21\234&lA\354"
+"9S\370^p\236\260y\261\357L\341k\301\25\302f\21\320\247\7\261\253\204-\205"
+"\24V\273L\330#\261\257\204\235\320\302\375\1\203.\22\366D\3541a\213Z\270"
+"\335n;\324\356\21\205o\3Z\274\255v$\240K\353\1\23\276\f8\363\230\t7\324"
+"\16\333\355\25\370\215x\252\266n\267U\265\337v[V\213>\263\235\211l\301"
+"l+\221-\231\355FdW\370uF\315J3o\221\335\262\332\261\210b\215_*,X\355fl"
+"\247\254\366\0t\177{\237b;\300\335\263\0\340\247\333F\27c\212\206\215N"
+"~%\354\216\315\236%(\306m\266\226\240\27\354\207\37\300\222y\'\34*m\16"
+"\332\217\215\36\261\373\324m8\363\f\2409j!m\311^\345\36\357\374\37\312"
+"\343\361\374\247\374\1#\334\302T\20\f>\271\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\2XIDATx\332\355W=H\226Q\30}-SA)\42JQPA\b\nMAp\321O\262"
+"\304\n\202\264\226Z\222L\207R\b\304\245A\310A\254\321H\20\303\24m\255!"
+"\245\fD\320A\bT\244ZD,hi\225(\b\fN\303y\260\367\275\357\375\363\33\232"
+"\356Y\36\276s\236s\237{\357\367\336\277(\n\b\b\b\b\b\b\b\370\237\270\271"
+"8\327\340\231ZvR!\246\0\240\332\307z\t\300fy\234\271\1\0\370\354\341=\6"
+"\0X\215S\357\1\0\270\3506_c\346\341\30\365\212\324O5\365P\312|\206\341"
+"x\214\232d(\274\345\254\374\230e\22s\266C\16\316\312E\f\177\342\\\273\304"
+"\7\256\312S,R\224 \27\265\245\323\225\2172$g\247Gb\237\243\362\212vx\357"
+"\364\243V\361]\233uZ\314\255v3\223\326Uz\223\374\206\217\371\231J7J\351"
+"\22\353\242`NwJ\330\245\360\324f>\317\234\246\224p\335c\312z\231Rj\32\17"
+"n[\314\323\306\366\245\331\37\26\363\216\271sR\272\3165\331_t\3220\265"
+"9\227\371\245N*\220\322\371\246o\273\222aMg\376\375\232\261\337T\370\n"
+"\33o\323\212\347\224\177K\255\\\317\260\2555\177\224\2301T^\262~\t\203"
+"T\337X\347\313d>e\227)\316;\326k\213v\314g\31\336\232\314C\f\367l_v\215"
+"\311\234g\353\367\7\327\312\331bB\203y\310{\316E\367\\#5S\2325\233\213"
+"\315\375\226=\273\303\271K\351v#Q\362,\346Y\246\364\244\204*\n\337l;\315"
+"e\346,\247\204\21\n\367=vW\230\370B\237C\241J\371\302.0|\375e5O0\\\325"
+"\37\n\335\366C\241F{\244\224K\257s\243\350\340\203~Ar\301u\200/3/q\263"
+":\42-\326\272\314w\230\3670\316\215\223\373\344\274\264\234`\342V\214\252"
+"\206e\275\270\6\275\227n\317\204I\325<*\3155z\230[\1\0\3776\330\214x}\356"
+"\227\322\357\375\13F\256x\315\373O\2\3\0\6\366\177\215\211w\334\363N\235"
+"\351\254\210\242(\312a\77\204\3149\330\25>\261\3656e\365\nx\4\0x\222\345"
+"\33b\3\300J\326/\220\256\231\273\341\31\26\20\20\20\340\215\277\367\247"
+"G\13\345\34\225\240\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\374"
+"IDATx\332\355\230_h\216q\24\307\177\357\213\331+cSk\250--\31\306\346\337"
+"\353\235\267\t\311\22\231vi\342B\212\b\323j\226\13n(\212\346BY\334(ra\253"
+"\r\371Sj(f\331\205\225\13j)[\344\202\325;2\323\324\327\3059\333\236\347"
+"}~\377\236\37w\236ss\366\236s>\3179\277\77\317\371\375\236\t\21I$\221\374"
+"\277R\322\211\356\224#[\0\0\250u\203\317\0\0\260\335\t~@0\266\272\300\207"
+"\31\306\26\27z`\234^\37\n[\376\4]\25\42g\210\341\3210l1\0`\243\310\375"
+"\306\364\352\20\360E0=c\204\376\232\27\2\276\303\t7\211\2741\0\270\32\246"
+"\354=\230\240g\265\3\27\302\315\363\263I\332A\272\307\351\242\277\241\233"
+"\350g<\24\234~I\272\310\355\275\240\334i\307W\262\r\300i\347f\260x\347"
+"\374\177\322T\246\330\205\305\353\222\375c\216)\226\2\370>\327*\264a\30"
+"\275U^C\2\0\360\330\206m\4\0\24{,\315\2645\326X\300\277\0\0\307=\226\16"
+"\202\337\7f\42\b\347\b!\204X\345\261\274\42UZcL<\235\322\334\363\230\362"
+"yK\17\31\63O\13>/s\212\364\34c\317\3434\35>#\247\3561e\246!\213a\237\261"
+"\216T\252\320\0\'H\r\372\214\235<\334fC\331\225Ta\275\337\272\215\13\67"
+"\300;(jE\226\231\341]z\370$E%\344\346/z\370\276\274\276\\N]\256\205\177"
+"\2\0>\6\354\217\bn\323\302\24s=`Or\352\230f\251\362\271\321\5\340^\36I"
+"\203&\361Zz\276\344\312r\310\274Z\373(b\266r@X\251.;%\333\235$w\271Y\250"
+"3\277\3\0dd\256u\306\272u\13\222}\21R\234U\317\245\326\26R\'T\211\313\350"
+"\341\33\244\316\5Yugg\346\251|+\205\77\374 \275W\221\371\232vN\216\221"
+"\267_\341\316\0\0~+\274\t\256{\246\274l\332\34\17U/\315\33\322\365Ro\5"
+"=\371\210j>w\223\277O7\250e*x\252n\237<5\355\241\317\24P)\33\63\255\357"
+"k5\334\312\215N\342Zh\30\262\20\345\352\305:G\256\22c\243A(\317\204ty\316"
+"\352xp\304\242]\7ss\253U\315\365f\213sp@\b!b\336\3157B:\246\357\256\223"
+"A\336\262\217\222\272\244\77\24\256p\243\224OW\241\36\256\242\250\263~"
+"k5Y_\230N\177\n\373\3447\366\220\265\332\4\337\226\254g\251\335\t,D\232"
+"\342\226H>\22\17\230/j\24\230\364\336\204m\23\13\321\n\0(\360XF\211m\261"
+"\200\313\0\340\206\307\320\307\211\363ln\247\7\201\233\301\231\306y\273"
+"+t\302{\323\253\201\375\210\3\367\260E\376#2\234p\323lt\373\16\270\f\0"
+"\267\\\77T\366\17~m\212\376\7\24I$\221Db+\177\0\301\f\215\334/\177\216"
+"\205\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b"
+"\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\tIDATx\332\355"
+"\230MHUA\24\307\377O\263\17\r\252W\275gAi\3650\242t\323\7\231\13\205\262"
+"0\210\204\f,\221 z\24\271,4Z\31\302\213\250EAP\33\77\n\302$\\T\270K7\201"
+"\33\21\212D\220>\334\b%-*I*\22\376-f\256\276w\357\334\371x\273\340\236"
+"\315\3349g~\367\234\231\271sf\346\2\221D\22I$y\310\201\356\311\321\253"
+"\361\274\320\252\17$I\16msg/rQ\316\272\262\315\314\222c\0b\366\354\312"
+"_9\325\30P`\17gr\253w\234\242\226\361\216L\312\7\247\221\26H\228%\236\352"
+"\34\302\336\7\0\350\236\5\6\247\245\302\36.\5\0\214\1\300+\0\300:\7\370"
+";\0\240\22\0\252\0\0\263\16}\256\21=\335\t\324\213\247\203.\363,\207w~"
+"U\2017\321\16\363<(\212\22\211\334w\232\347-\314\221\345@\241=<\367\347"
+"HV\355\370\224\343\312x\260\344\367\204\23X\b\0i\211\16npA;\310\247\313"
+"\0\240\361\361\370H\373F\'\267\17Ir\304\246\345ir\2726G\263_\4{\322\314"
+"&I\222\207\263U\355!\2130\370\221\34\2\0\364d\253>\311\262\305\350\371"
+"z\320KLz^0zN*\276\352N9]\265&\317\3\252\376I\327oM\236KUo\354\222\251("
+"e\360<E\222\234Wg\277g\6\370\7Ir\302\247\275%\351\22\233\f\373\334\247"
+"-\222p\306\6\276\355W\337\263\312\326\242\315\5\277\272X\302\332\17\245"
+"\330\313\350~y$\f_u\360.\321fkh\26\252\320\300\215\241]{\',}\32\370F(\334"
+"`\36\262a\222\344\214f\233l5\r\366\200\312\324)l\263&\370\212\312\264Z"
+"\272N\205-\214\365rpT\360\3171Q^\13s\\-^^\24646\31\206,\2555S\237\t\373"
+"\264\360\204\260\276\16\61\177#I\216\206X[h\21X\306p\42\252S\216v\r\226"
+"N\36*\351\27\3059\245Q\256\332\35a\360\36]\334\13\246\317W\302\345\212"
+"\260\327\210\275~.\34\226\31\374\214\302tI\274\367n8\\.Z|Q\230\344Y\274"
+"\332|\2-\nKA\332$\327+\2324\5\f\227\205\341\215\16\256\23m^\6\f3\302\320"
+"fsr\366\253\327J\375&-<.\32\225\372\246*-\313\317Z\270W\24G\325\1\31v\224"
+"\ny;R/\365\315v\327\5\245\362\275i\367\377-\332%\262\373\354e\246\16\23"
+"<\24\354t\tm/-m\301M\270_\262]Fxo\300K\245\347x\205\21\216\5\340\217R\323"
+"m\177;[\254\267z\216\23\26\360\23\222\344M\257\32\367\330\27\66\'\333z"
+"\222\234^\254z\327C\246l`\364\220\303\376=&[e\270\32\226\5\3261\271=\217"
+"_\1\2654\346.\335\255\207$\3717\277\37\30\273\215\347\34\235\234\'\331"
+"\234\367\317\223DC\34\221D\22I$\377\233\374\3\304/\343\'\r\366\1\353\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0"
+"\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\244IDATx\332c`\30\5\243"
+"`\24\214\202Q0\n\206\n\2608\375\377\377\r/\362\364\312\376\377\377\377"
+"\377\377\377\26\244\350a\2021B T2Y\232\215 \2245Y\232\5 \2240Y\232\311"
+"\1\243\232G5SWs\353\377\377\223\261Jl\206d\311\227\270\265\332\377\377"
+"\377\377\377\377\235\344h\226\334\tQ\360\337\207dg\253lx\346\6e\306\42"
+"DY\210\321j>\331\24\301\341 \311\331>\317\377#\3\'\3425\13\327\375G\5\241"
+"\304\6\30g\306\23\64\255\365\f\304E\225Y\323\13\64\235\377\17r3\340\325"
+"\374\212\201\201\201A\320{\352\307\377\230 \f]\17zh\213V\377\3677\303f"
+"\370\376\246\3\270\243c\363\177|`\255\4\336\270\304\247y\222\30\201\204"
+"\200S\363\2450\302\251\b\273\346\343\221\370\322/\276\3449{\305>\42\363"
+"*\232\315\377\32\245\t\353\301f\363\317e\233\367}$\251H\201\331<M\207\214"
+"\362\b\252\371\7%e\330\307\321r{T\363\250fL\315\214di\376\6\241\270\310"
+"\322\374\2Bq\223\245\371\n%\236\327\207\26C\42d\351\206j.#K3\254BU\'^\13"
+"\63\234\305\355\0\241sd\37\275 R3\42^e\37a\365\314_\6\6\6\206\177\277\277"
+"\377\370\375\217\201\201\201\341\357\317o\77\277^\331x\24]\335\366\377"
+"\304\2034\364\24%\370\216\204\20bDK\236\357\325H\320\214\231\230\30\227"
+"\20\355nl\6*\314$N\257=\216\\\304\247%\305\213\277Q\371\353\341\361\337"
+"\243\275\376Q0\nF\301`\0\0\344s\3616\177\260\375m\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\1\342IDATx\332\355\330\271K\3A\24\6\360\347"
+"\205\306\13\305\240XhP\20\361h\304\302JQA\2\212\230\240\235\244\265\260"
+"\21\4\211\20\260\20,\202\7\202U\20,\374\7\202\215\210\205h\341\201\202"
+"\240\215\266\211\1A\21\323HT\2\237E2f\263\331cf\202\20a\276&\354\333\374"
+"v7\2733o\231\20\251\250\250\250\374\337\224\210\223\262\241\312W\331\323"
+"y\1\\\24\313\331F\0\300;\21\21\t\37\302CDDu\257R8\231\372p>\313\\v=\322"
+"\211\212\336\347\221^\42\67\323gb\77\27\300MMF{\5l5\0\3403\243W\5\360\24"
+"tzP\0\17#[o\261\35\276\30\20\363\331\350\367\214v\255\355\271Yy&U\235\261"
+"\306-\354N}Th\313\347\251\3429q\352mm\225\25\211S\'d0\323wR8\255\'\344"
+"05\205\21eC\253(\205\263\266\270S\234O\17S\370\317p\340\361\326c\270\303"
+"~\220,\0\0\346d\360\42\373B\263(\256\335\4\f\347\242=\356\fC\223\33\21"
+"\354~@V\202\334\270m\3\272D\34|\270}%\251\247&\215Z\207\373\374\227\310"
+"\315F)Yb\'\225\17\370\357a\224\303\6\263\347\b\273\34\364\230\217\37\33"
+"\272\346\260\32\267V\362\304m3\350\315\351R\251\355\2141\206o\201V\236"
+"\351f \217g+9\347\252\16&\203\335\2-A\3\23\273\223Ub\375\204\311P\207\20"
+"So\f\205\25.@\34\311\7\237\246\267\272d\26\242\216\351\364\212\353H\342"
+"\374M\254\17\215K\264\241\337>D\221\365\253\227o+\360\25\317)\205\300\237"
+"\220\36\273\4\60v\364zYD\347\\\370v>\230|\334\326p\351<\377\304\207\275"
+"d\370\216(\32\33\355o\256\260|\266\361\353\375+\365\'\217\212\212J\201"
+"\344\7h\325sy\333l\2345\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2JIDATx\332\355\230OHTQ\24\306\277\3064]D\326\42hB0$\303\305LD\bQ\32"
+"\305@I\233\210p\21\225\264\211B\332\226A\320\322\235EH`Q`.t\221\213\210"
+"b\bB\212\n\262\205\213,\212\240Lb\250\b\311\350\317\264\20\277\26s\337"
+"\233\367\346\275\271\357\236+A\304\375V\367\234\307o\356\271\347\334{\336"
+"\334\7899\375/\252\221\2\365\255\r\337,\347\332\375\212$\207\326Z\240\251"
+"<\225\6\344\354\34}=\221\302w\31\320U\31\333\301\220\266\213\340\2510\374"
+"NT\243\22\363(wP\321M\2x/Ir\16\0J\360Q\244\214\3416\0@\77\0\214\3\0\66"
+"\n\340Z\0\300o\0(\2\0\26\5aw\223$\247\312a\37\26\300\351\22\62\336\276"
+"c\332K\3302oE]\233\276<\276\247\245\213\365!\363\307Jot\210$9\254\205{"
+"\302u\356\366\37(GNK\27\202\354\204\357nR\236\363Z\2709\300\276\5\240J"
+"\265Z=^\257\205\337o\366\207\327Z\312\260\241\236\327^\2\0Ld\216\7\274"
+"Y\25\314\225\344\37\330\320\221\365\307\313\245\207zf&\320\35\226\322="
+"\35\374\27\341\32k\270\3755\27\342\337\23\211;\254n\214$y\321\6>\341\35"
+"\246\2148\354\375\34\362\206g\204p/o\225\215\255\228;\312\313\241w\235"
+"\361\232W\235e\205^\2540\203[\373\n\225({+\260\330\363\234\336\327\323"
+"\31\365\36\273\1m\235\337\244\32;O\77`\234F\253\347\205\t\272\277\5\266"
+"\360`\243\266\42:\364\\B\237\253\16\347w%\356\242*\360\355.\223\363\26"
+"\7\17\233\376\335\251\204\27/dL\260h2>\335\314\77\374%iF\376\314\'\233"
+"\345\235,\233\270\215\f\32\340w\327\364\35\354\3402\274\240\254\6\33\370"
+"\247\262\326\331\314_\247\316\363\274\fS\327\4\206MY\302&\225y\304&\356"
+"S^\23\333f\21v\272\3409>_\237\376\252\273n\25g\77D|\2634\326d\344\322\237"
+"3\207y\'2\365\230\200\216.\346\345R`\214\230\262\37\343\22\3312h\6\37@"
+"\374\226J\357\331\331\266F\373\325f\376\331\310S\367a\313\311\311\351\37"
+"\321\378\1\66\307\263o_@\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\1\266IDATx\332\355\227\317+DQ\24\307\257\373\274b\220\24VHv\244l(#i"
+"fa\243hl\230\315\374\1\212\224\224\215R\366\26LSX\211\330\220d\42#\241"
+"\224f/\24\253i\324\354\254d\241\251k\341\274\367\356\274\231\305\373\36"
+"e\343~6\347\325\274\317\334{\356\317\363\2040\30\f\6\203\301`\370\317T"
+"9\17\65\77AZ\266%\313_\223\226]M\257\332\235\35\326\345\213\366\333\364"
+"\273\302HynD\301\34\271\362\26.\253S!\204\324\362\205\30_\240\207\270\342"
+"\340\374\315\nOv\306\277\2531h\177\327\206\375\263\f0H\r\237\320\200A\364"
+"P\274\345\310\375\24\379\13\372\231\272\335\312\311Zy\343\5w\273\231\342"
+"\231`\310\21\212{\234\224\17\274\224\361\234\265\224\341n\207(\276\t\206"
+"\34\245x\310\221c\24\2179\253\273hi\273\2l9D\356\203`\310q\212)\316,\27"
+"h\226\353\31n/\271\367\234\2063$\207\31n\13\271yN\303\233$\2172\\I\356"
+"\7\247\341u\222\'\31n\267\377\264\2076#\221`\270\347\277hx\311q\'p7\341"
+"\270\327\270;\343^o!\330M\272.<Mm9\327\335G\335U\357J.\200\352\230v\235"
+"\177\325Bj{Vss\26\264\5w\3652\342\6QG\356JJ\220$p\270\357\370\312\227X"
+"\320D\347\237\374\225\317v\20\317\36\230\275(/\232>\373\202\34\216\331"
+"\212\5\327b\240\376\276VR\347\202\345\332Tn^\205\341\263\302a\31\331B%"
+"%h&\n.\344<\211\305\215!|\3177\244\225R\351\251:\346\7\213\224\302`0\30"
+"\376\222o\370\262\211u\323\247\264\300\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2\5IDATx\332\355\330M(DQ\24\0\340c$\312b\26~\212\241\311"
+"L\22M\32\33\77\13e\230h\230B)\224,X)J\311\322\306_~6\306\202$v\312FR,&"
+"\232\25\221\25\33\33\371\317O#\26\66\306\352X\274;\336\27474\357\234g7"
+"\367lnM\363\315\271\357\336\316\275\347\r\200\f\31\62d\0@*\235xr\236\270"
+"\331\32\21\3611\237g\323\21\21\21\13Y\330\257`\264\3\0X\210\370C\214\267"
+"\16N\352w\221\32\213i\316\332\345\7pD1fPl\33\42b\271\252\207\b6E!\252^"
+" \340\32\324i/\1\377LW\3505\322z\5U\235\326\77SG\334\245\7\346.iu\b\314"
+"h0\241\303\314\212\274CD\354\340\326\363D\370\324\227\314\247g\n\0\0t4"
+"9\23\177\325R\232\13g\203G\372\217\3h<\332t\266\b)\341\211\231\13\0\330"
+"I\17\32*\320\340W\3322\215\351~\2144\357gMfh^|\243\24\7gW\7D\346i\16.\27"
+"\270A;mca\23\343%\7\27\211\361\236\203\335\312\360\305*\203k\345\221WY"
+"X\254W+\307f\13l\343`_\374\261k|\301\274f\216\215\27%\361\276\231\365\352"
+"\347\330\26\201s8x\313\3145%\3542\307\272\4vs\360\334\77\314z\224c+\5\266"
+"p\360\241b79\266T$.\341\340\13\305\336sl\257H\334\316\260Yhb\237\316\31"
+"mn4\246M$\36\216Z\77\335NF\355\1\335\356\376\\\216V*\255P/\326\36\252\35"
+"W\355\22\221VGT\273C\243e\3071\315@\220V\202\'\261\215\304\36\245\206f"
+"\265MH\300\260\254]O\324\266\375\21USWq\275\317Q\246!\352\274\371\245o"
+"\35268\341\355xj\274\216\256u\362\263\223\260\310+\32zA{e\313\213\241\33"
+"\344\243nD\310\315z\316y\323\27\301\310\274K\376y$C\206\214\344\210o\370"
+"\37\262\3662\311Xr\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2f"
+"IDATx\332\355\230MHTQ\24\307\377\2767\211Sm\f\263\211\321HZ\210E\246\21"
+"\21\fH\322T \204bX\321\307B3\42t\351N\\\26T.S\333\210\256\203\211\26\26"
+"\321T.\202\242\217MART\210E\13\311\300\202\222 =-\356y3\357\315\23\272"
+"\347\274E\4\357\2779\367^\370q\317\307;w\16\3\304\212\25+\226B{\307g\36"
+"\17lP\241\215\357\211\210\210n\327\311\331\363T\320I){\202|:\f\240\314"
+"\236\255X\nl\313\0\307\36\276\24\334\16\213\274f\177\37\316\360B\224i\203"
+"l\2\216\232\325~\201\333{\0\0\343\363@n\226\17\354\341\24\0\3409\0\334"
+"\7\0T\n\340E\0\300N\0h\4\0\314\13b\316\230H\353\201\203f\265ORgN\357\217"
+"\244\343\25ZP\347\2341\353\30\271&\252s-\5T\16\270\366\360\367_Y\337\256"
+"\355\255\2603\306\212\367\36\221\367\3449FsU^o\210\324\321\271\343\333"
+"\335\211/\377\372Ac\267\223\2515\336\201\233H\270\253\7\223\256[\377h:"
+"tZ=M\266\312\207\340\7d\257;\245\256\223D\227\2031;\313\24245\274\361V"
+"\16\200\225g\42\370\f\3740\272^J\340Ta\225\0\200\217M\33\323\345\177\377"
+"\275\3501\366\203\346\223Hp\306\16h\340\32\206\323\301\230\355\264\231"
+"\355g\r\2745t\42\200w\31sK\5\267\32sS\325\200\234\257\332PKZ\310\375\35"
+"\42\354\335n2fY\225\260\2141\367Tp\2071\371(\371\332\255a\267\2552LX\273"
+"\335i\314O\225\327<\373\215F\t9\243a\217)\346\247\202^\31vD\303V\361\305"
+"5\32\370\212a_GIW\233\206\355\211\222.f\2074\3540\303I\5\273\235\331\33"
+"\232\213\27\303\17\220\265&\231\275\36!`M\252G<\366\270\234\235\362\330"
+"\247b\264a\2450MTJ\331\201\342$\322\42-\357\247\42\333%C\267L\371&\240"
+"n\21Z\357G\351\254\200\\\333\36750y\3317bE\357\273\340\3206\227\262\3\235"
+"\326\253\13\245\3\337E\313K\7\303\263\342B\263%{(\314\236\262\216\266\277"
+"\24\275 HrK\20\355U\275TDDO\262\322O9\313\344\213\323\256\242w\333\227"
+"\210\362\355\361\77I\261b\305\372o\364\7H\312\2003\t,\304\251\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\343IDATx\332c`\30\5\243`\24"
+"\214\202Q0\nF\301(\30\5\203\f(\3502\222\253U\366\346\377\377\377\13\310"
+"\323\313\365\377\377\377\377\377\377\227\222\245\371\20D\363\177\r2\364"
+"\206A\365\376\277B\206\346\377p\340I\262\336E\b\315\377I\325k\217\244\367"
+"\177\36nuX\243\22\3256\346\177\27043a\21[\212\312\235B\212\243\203\376"
+"\243\19\342\365J\300\364\244\305C\31G\210\327\374\32\252e\32\3\303\2(\323"
+"\231X\275s\220\242\210\225\304\350\212\202\251\267d```(\204rR\211\322\253"
+"\4\323;\31\65\245\21\245\371\17\232\352H(\267\214\b\275\253az\215a\42\277"
+"\240\2\334\4\365\246\303\364v\303\205\274\240\42[\t\351\325\207\351\375"
+"\205$\370\f*\346\206_/\17<I\351!\211\332\20\27f\337a\312jQ\204/BE{\360"
+"\351}\16\323{\16U\\\17&\256\204[\357=\270\243\331\320d\366A\305\317\343"
+"\324{\25\253\207Q\23\216\27\16\275g\340z\243\361\304>v\275s\341z\373\260"
+"\310\212\300$\213\361f\341\377\307\261\232=\1&\315\205E\322\221PQ\t\223"
+"\336\204EN\221Pl\244\300\24xc\221\204&\177_\234\221\361\26\246\233\31S"
+".\370\377\377\377\377\377g\343N\5\2460\315\333\260Hn\371\377\377\177\35"
+"\276\364\267\16\246;\2\213d|\243\t\336\204\317\13\17SA2\252\276\22\230"
+"\346\353\344\324\330\360L\327F\206f#\270\303\335\310\320\275\234\22o\363"
+"\3015\337\207\325\237\304k\376\311f\13e\t\b\355\240\244\261\341M\272f3"
+"\270\346\37d\204Y#\\\267\4\31\272\357R\242Y\234\3346\22r\25<\217\274F\351"
+"ZBe8\301\370\332Gn[Z\353\344\377]R\344\267\342\205G;2\243`\24\214\202\341"
+"\0\0V\246H)\16N\225y\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2"
+"sIDATx\332\355\230MH\25Q\24\307oj\340\347&\320\b\37\32DF\6\201QdV\242\233"
+"B#\b\42\27&\201\3216m\323\307\3066\42(\352BxJ\212\270pa\273\240\220Th\21"
+"\204$\361\310\212ZH\42d\204\2536\221\222!\374[\274{\356\233\231\367\346"
+"\316\234c\356\356\17733\347\314\217s\337\235s\316\275\367)\345\344\344"
+"\344\344\304W>\233h\355(\376*\215\266\b\340\255\220\275\17\0X\221\301\237"
+"\341\241\363\230\360j\372R#\212}\26\200d\344\373\356N\265+u\213\350I\16"
+"[\262\5\340\275\207\346\300\3034Z\242\13\30\360\n\374\364,\'\362df\246"
+"n\2\370R\302\201\23\236y.k9\315\374JuD\247$\337\330\3207vC\217\352gVz."
+"\237J_S\262\272\250\3\200\357\322r>\224|\367x\257\33\324\0\60W!d\227\0"
+"\0\205\42\66\231\376(\317%l#\345C\263\265\302s\233\21\365\202%I\222\231"
+"\333q\356\240\317\300\243Z&\354e\261\314c\373}0\329\354\t\77\213\237\34"
+"\370\27Q\177\365\365z|vP#\213J}\3426\331\253\236\266|X\337\366\305d\217"
+"\23{^)\245&\364C\42\26\273\237\330A\337\343B\354\245\33\0\376\370\226c"
+"\340H\f\266\213\2\237\f\344\313\313h\366(\261C\306\364@[\216\305OKO\325"
+"i\313\307(\366\31\261\365\36\343\250\266]\266\263=\304>\361-\313\261\226"
+"\343{\310\375Z\257\266>\212\334#\371f:0\23\7C\331n\303\266\5]\267\265c"
+")\2145\33\r\364d;w\354\213\243\251\6\274\316\341\275d\235\263\213\231\312"
+"/\260l\3730\235\303W\232a/\330{\3139\333DwE\245O\266k\206\\ca\363y\200"
+"\336\30\t\215<\37\236\5}\241\255\264<m_e\326\214\326S\0\330\212\327\332"
+"\346\262Bo\0\353\305\366\262yCtg\320S\330\326\24U\257\345f\340\t\305\27"
+"\365\24lH\26\374m\242\7vsB\b\311C\273^@\262\311\327\2520\360,\3778\270"
+"Y\332\240\357j\276}\340\307\376mbW\361\341J\3\377\20\374\354k\206\276\42"
+"\240_\21<!8K\266\233\224\221\344\331C\35\271E\264\245M\211\363D)\225\317"
+"\332\246\4U\13`\273,jS\33\246\352;Eck\356\277\32\'\'\247\377\243\177\247"
+"n\360\304\24\77\214\374\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\2\240IDATx\332\355\227Kh\24A\20\206\377M\342\272$*&\n\206@\4\23Ar\20"
+"\324\bA1\n\301\270B\214\7_`\16\202\217\213`\24\202\217x\360\340\301\240"
+"+\242b\20\301\215\b\352E\26b\2\36\26o\242\236\24D\20\205h\300\203\202\27"
+"\203\42\306\7ny\230\352\316\364\354l\317T\213\340a\376\313\364T\315G\365"
+"tU\327\364\0\211\22%J\224\350\337j\356y\42z\276\335\211=F\254mr\366>i\r"
+"I\331\21\362i\277\214]C\206jE\360\13\23\276*a\353\31\2722\312\3\t\334\247"
+"\221\2547Z\1\0U\361\340\16\0\300Q\0\305\317\0\200e\2\270\1\0\60\1\0/\1"
+"\0\31\1\374\36\0\320\t\0k\1\0\37\4\357\334\343\275\351V\340\2627j\220\254"
+"\230\231)\372$\312s\301\204w\213\340&\203\235\24\326\366!\77\334,\335\31"
+"C\32\235n\211z\266\367\326p\273i\331\301\354\311\3108w\210\210\216\4\214"
+"\353s\367\3621:\301\31/H\217K\307YE\2616Ou\250\365U\206\7\245\207\342\300"
+"\3753I\251\221\262\363|\31\35\226\302E\177=,\224\261Y\243\22\13\628\260"
+"\201Z\235\33\64\21\25]&}\352\2338t\255b\367`\t\217\36\307\206\2371\361"
+"\0\300\r\36w\307d\7U\3404\200:\22u\370v\365\370\26\0\300\5\276\333%\312"
+"\322\270w\233\346\333\257q\3301\5\317a\3\367Y\332\24\315\356S\354`p\355"
+"\177E\262*5\364}\306\226c\323\301(xZ\301\313CVa\266\235U_^\32\360[\317"
+"\262q,^g}d\230\347+s\326\302\36\326\33a\226\351\30\217\256\224>\315n\b"
+"x\26\227\245 \250n\313\21\353\\D\350\325\232}k)\273\234\365\250S\241cm"
+"\266\36\276\256\221\375T\371\206\275#\326\352\310\207\277\325:\345_\32"
+"vZa\337T\245\365\234\340\7\336\205\370N\263\257\261\22\274R\205>Q\356\343"
+"\216\321Q\271\fn*\272\255\334w\235\210\250\327R\177\251\220\r\247\224)"
+"\320\27{\253\31P\364\245\20\347\242\330\237\221N\207\317\375N\42\207\303"
+"r\260\241\323]\7\270\221\376\342\347\6\27\65]\'\207\323\32~b\77\320\204"
+"\351\367\217\215<j\376\370T\36{J\307n\222\303\255\32\276\355\260f\307\3"
+"\311N\211\350\237\252\265zX\225\b\356\342\353k\247\337\340\2747\353\3."
+"\323\6J)\0\250.9L\33h\3\200\321\222\343\277\377^\242\311\26\270jAW\r\22"
+"%J\224\350\377\320\37}\31\'LL5\331\373\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\240"
+"1\350\226_\0\0\2%IDATx\332c`\30\5\243`\24\214\202Q0\nF&\340m\273x<\227"
+"\\\315\227\377\377\377\377\177:yz\3\376\377\377\377\377\377\177\21<J\230"
+"p\312\230@(U\2624\213B(~\2624\23\1F5\17\16\315R\20J\6\217fF\b\245\351\241"
+"\316\201*!\356\1e,D\323\361\355\372\266\273(\2\221\377I\2\376(6\377\'\315"
+"\257\377\231\220\374,Fb@1r#i\376Nj0\177G\322\374\371\0iz7\376C\311~;H\t"
+"\257\265|\250Q\305\300 \314\202j\272\344y\b}\311\r\315\332\337\357\210"
+"p\333L\2105\36\243\271jXjV\306\236\373}\27\66J\21\64l\301\377\377\337\255"
+"1\23\311\334\377\377\377\377w!\240\267\354\377\377\377\377\377\253\241"
+"k\16\207\260\235\td\363\377\377\377\377\377\77\r]\363)h\226\320\307\347"
+"\347D\b\205Q8@3\77\303\5\t<\232\347A\250\375\350\232\'\301\30\317q\307"
+"\2167\324uL\30\1v\20\226\227\357\342\264y\13\204\232\375\17\303X\373{P"
+"\206\322\16\34\26\27CM\27\307\222\237\231\340\345\3104\354M\1\250\354."
+"\254\205\201\4\\w66\315G\241\222:\330K\22\3\270nCL\275\301P\251#\270\212"
+"\241\20\270n\f\275l0\31%\234eX\7LI\17\272fX\42j\305S\0\236\205\351\326"
+"E\325\333\5\25\376\205\257\364\204\273\356#J<\307\224B\345M\361\245\374"
+"_>P\6_\25rk\17fd7\201r{\27\2260\373\212E\f\253f\241\377\310\361\311\304"
+"\300\300\300\240\305\5\2253#TV\274K\2072>\3015\263BE&\237&X\322\314\272"
+"\4\251\301\36\241\227\1\377\211\251\253$\377\377\377\377\377\277$RhCJ\'"
+"\3bJ\314\347>\f\f\317\214\237#\13\205\375\377\377\77\224\330ZR\16CD\233"
+"\211\364*\26^\245_\35\255\350(\324\374\36B}!K\363\5\bu\217,7q~\375\377"
+"\377\377\377\315d\372Hy\303\377\337S\330G;\344\243`\24\214\202A\f\0\215"
+"A\365S\7 \347L\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\264I"
+"DATx\332\355\230MHTQ\24\307\317\214Mij\350Dj\202SV\4a\37\364\261\30s\23"
+"AEAM\231\255\202 \2056Q\213\6\333G\37\20\5\332*j\21!%\t\322\347\246\20"
+"\42Z\204Y\32\65DED\215\222aDQ:P\6\376[\334{\337\327\334\367\356\334g\213"
+"\202{6\347\334\217\337=\367\276\271\347\314y\217\310\210\21#FB\311\322"
+"k\331\216\222\220l\3\0 \36\16\276\13\0@E(\30\\\312\303\3007\5]\32\2^\42"
+"`\314\322\342\326\336\311\236\212\321:\1w\351\260I\0\230(\265i\35\370!"
+"\0\340\247EO\352\300\277\341\246\17\352\300]\260\350\25\31 \255\365\274"
+"\346\302\246)FD\24\361\237\274a\375d\337sgG\335072+U\216\216\1@\233\253"
+"\253N\370N*\330\4\233\26\225\322{\24\360v6m\31\311\350j\326\212\372\301"
+"ULybo$\361\213\210\16\215\261\326\f\315\253=R\234\252\271\367\201\302\301"
+"D\267l3:\235\214d\340\277%\317\330]\352) \303<A\301\362z\33\311\243\245"
+"0I\272\316\334\242w\2426\27<_\17N\270\340\227z\360\240\253\25\311\350\34"
+"9WcqDDT|x\363B\317\362\213\271~\347\351\377x\377\374g\345\336.07GB\335"
+"\260\1\246\36\233\250\372W\341\255\355\33%\263*/~\272\254\16\200\263\0"
+"\236\262\320a\227\244\211\210(\n\0X\244`\227\3\0:\274p\'\263\23\301\360"
+"\r\273Rq\302S<$\252\202\316<s\247|\315\37\\\217\25\5\300\355Lu{\341\343"
+"\302\30R\327\225\r\336m\223\25\357\235\276l\232M\30\317{\332v\271\212\335"
+">l\t\37o\225\300\265\26\275@~\346+\\_\222,<\332(\254\267R\270\251\231\351"
+"\23\322m\365\357\345F\2547\250\n\27\311\331\265mQZ\1\300\376|\366$\37J"
+"\373\3014 \350j/\333\350\255\203\363\34121e\310s\3469\217D\371\345\177"
+"\13&\16pc\365>O6\346\213\336&\177\317D\303\302\367l\247\347\236Z>\234\n"
+"\214\233-\326\3rt\246\304\212\315\24\350\231\316\301y\t\235/\0\300\33R"
+"\300\342\367\34ul{\36\37\332\245\3144;\230:\355\350:\n;\203\4{\246\7\0"
+"\360\312\325\365=\377U\307\7\256|\17\274(r\25\256\365\3312\2425\205d\333"
+"o\365\233\306\373\311\5\177-o\211_\377RX\262\356\263MQ2\367\232\77\272"
+"\377\26\346\201\223\13\265\352\252\351|\322\240A\0\350\16y\240\370\325"
+"\251\334\231\210\371\234e\304\210\21\265\374\1\361T\240\233\32\301\350"
+"}\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0"
+"\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\264IDATx\332\355\230"
+"OHTA\34\307\277n\241\5\201\225\211\21\5eA^\366\35\242\374CFK\320\37\26"
+"\202\260Cm\207 (\2\17^Z\5\303K\211B\340\301\212\220@\3\203\266K\13\25\4"
+"\35D<TP!uI\42\214\320\335\212]\20#6\rC\177\35\3467\357\355\333\367w\266"
+"C\5\363\275\314\374f\346\363\346\317\233\337o\346=@KKK\253\f5\216L\275"
+"Hn,\13\65\246\211\210\210\236\354Pg/\222\2513\252\354i*\322Q\0\25\341\331"
+"5\2136\263\2\210\204\207\373\355\346\200\322\250y\274\343S\234QZi\201\324"
+"\1\'E.\2460\354\275\0\200\221\34\220\376\304\5\341\341\315\0\200\327\0"
+"\60\6\0\330\240\0\177\3\0D\1\300\0\0\344\374\333\3274\33\226\261_\314t"
+"7pX\344\232}\331KD\364\335(]\355\302r\230\325\336GDD3\246\375\200l\272"
+"\351\13w\212F\353\244\275\315\16W\372\356\260z\236\270\2643\335\305\265"
+"\361%\337\236o\213\36\266[%CV\277\307\3\336\215\23\306\5F\323\233\240\16"
+"\3\'\356N\216w\325\6\357\nW\330\246\310\237\4\264\377\24\366\321W\261`"
+"\311\240v\r\251\5R\320\314\225\42v+\251\352\236\303\5TTc.X\265\372\202"
+"\2545\341g\312\354R\26\0V\1\300t\341\210\32[8\370\5\326q\23\331\265\336"
+"\21-\37\211\364eGi\315r>\243\35C\303\345\302\321F\217\226\35\351de\300"
+"\303n\20Q\302m\207e\211\210\32|\3316\262\332\330\340~a\30~\360<\21\21\365"
+":\341\34\7\201z\35797\t\337r9\0g9\375X\353\t\17\212\344\251\23\276*3\371"
+"*\257 *\206\226s[\260>\31\275\346<\340w\242:\356\352\317\203\222~\345\312"
+"\236\25\225+\36\301`X\322\303.l5\327%\274\42\311}I\267;\341\347%W$g\30"
+"z,\351V\217A[wx\227\30\366F\322%\327\212:.\236\367\r\200\22\376l\177\317"
+"\3579=\346\273}[8\335b\273\252\217\361#o\5\204\336\353\262\357=V\331\35"
+"\307\240\275\342\266\204\177\232\303\356=\'\2759\344\235\35\250\2123\34"
+"\355\341\222\366l <\331\307\231\3\f\267I\227\31\n\21{z>pc\206\27\270\374"
+"P\250\310\325$\222Q\206S\302<\77\33\356{\341\24\0\264\374\222v\202\210"
+"(\25\372\224l\35\275V\374%\32\233\310t\252\37\261\253E2\21\323g\325\337"
+"\205\331\303\26\313\202\337\42\314\367\246\327\365\362\7\21\321@\231S\332"
+"\371p%\177Y\377W\322\322\322\372\207\365\33\n\332\273yB\365\316\231\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0"
+"^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\307IDATx\332\355\327\277"
+"K\202A\30\7\360G\243!)\b\242\b+\336\304\320\251)(\205\32\62\b\32\42\301"
+"\241\240\245\245@jt\13\32\242\244\2501\261\271\251\b\262\251%r\320\277"
+"\240!\232\244\226\240\210\250MP\363i\360~\274\376\340}\337{\336-\356;\235"
+"\347\373\341\336\273\367\336\273{\1ttttttttt\\%\230)Ue\352h\227\227\230"
+"\264\343\250\2345\201O\3241\316\3\200\27\0 D\350i~\202\341\'\3128\235\1"
+"x\0\0\206K>\202\36640\f%c#\16I\217\237\25j\335\204\6\257\331\210\35S\372"
+"\312\207\233\322\323if\357(\r\347\31\236\42X\203\331\n\245\341\42\303\233"
+"\4\273\310\207\313\315P\357\22\354\201\213\206\307\270]!\340gf\213\4\233"
+"\342\r\17\252\333\b\267)u\353\343\366\223p\323%\216\t\353\316\r\267;\352"
+"6\313\355\255\345e\253\33\301\366J\261\276\276Z\321@\5\21\13FKmZ\254\270"
+"^+\\m\\\223m\252<\24v\300\312&\260\303\f\224\355\206-;\274/\267\204\13"
+"^\227\21U6\253\307\202iC\2515\36\350\203\250X\262{${\346\375h\13\300\250"
+"\233\177\331%T0\351\257{Y\336v4\37f;\356\212\t\247\323\351\264\335F\234"
+"O\306\360{\2135\224\346\362Q\223\355S|\23\226M\366\\\371=\32-K\35U\177"
+"\rsR\307]\254x\210Iu\35\227:\255\256\347\244\276R\327\223R\77\252k\277"
+"\324o\352\272\267&4\341\f\323\365\303\361w\313\77^{\374\333_f\245\17\312"
+"\226\316w\232u\322y<\200\210\2109\342i>\212\210\227\364\217\201\231\200"
+"\376 \322\321\321\371_\371\3\273\222\210\361\355\341A\366\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\2\16IDATx\332c`\30\5\243`\24\214\202Q"
+"0\nF\301`\3\314\30\42\22\226\252L\357\3104-\363\377\377\377\377\377\377"
+"\77\336\342\253@\262^\375\377\310`W\231=\77\t\232g\376\307\0;\42x\210\324"
+"|\364\77V\260\334\233\30\315\375\377q\201\303\201\4\65\363\357\374\217"
+"\33l2$\244]\302\267\367)N\355\367\354\210p\275\254{\311\352\17X\265\277"
+"\13\'2\364\214\252Oc\323\77A\204\330\270\343\17Z\215\251\275\220\204\310"
+"\227\312<\205\246\333\221\264\244\27x\3Ys\37\251)Wy%y\356\206\2\216f\230"
+"f)\2622]\326\377\377\377\377\377\357&\267\4\350\371\377\277q0\226L\242"
+"\222\344\353]\374\377\377\377\233M.\202\344\350\355\203\307\345\236HVR"
+"5\243f\241N#R\364\312bd\202*&\2425Kb\311\202[\354\210\325\335\201\265\b"
+"\230\246N\234\356\220c\330K\240j!\42\335\36<\353\35\26\355\247\255\210"
+"\366\275Q\373_\f\355\307\305I\b\372Ft\335/I\212v\371\26T\335!$&\33\325"
+"\331H\232\303IO\263\345p\315\262\344$\371\34\210\336\325d\346\266\244\377"
+"\377\377of!;\263\nJ\r\2322\7\2515\304\315\362\207\\S\214_\374\377\377\377"
+"\327\341\3360\322\33A\f\254H\t\341R\1\211!\23\207\226\210\347\206*\21\257"
+"\271\rK\26\274\223\303K\234\346\24\354%\300\353\6\3bt\257\306\331\2109"
+"\21DX\267A\305a\234\372\267\372\23\323\0\361\352\300Q\202\375_\257E\224"
+"\367\31]\346c\325\376&\201\310\300\227.\274\203M\377t\242\353\300\240\335"
+"X\264\237\264%:\366\255\347a\321\237JB\t\326\364\rC\373D\21\342\365\13"
+"\27\177A\327\36FJ\322W\232\206\246\233\217\264\254\23\215\342|]R\263\255"
+"\365\31\204fN\322s\275\362&\250\336\235d\258\n\373\376\377\377\377\377"
+"\77\271\r&\243\365o\267i\214v\205G\301(\30\5\203\2\0\0|\355E\213\243XY"
+"<\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0"
+"\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2^IDATx\332c`\30\5\243"
+"`\24\214\202Q0\nF\301\210\1\341\277\377_v S\257\361\377\377\377\377\377"
+"\317$O\363\272\377\377\377\377\377\377\237\217,\315\20\275\377\265q\253"
+"`\302)c\7\245_\220c\361\22\250\315\224\270\272\235\34\275zP\315\212\344"
+"h\236H\5W7\222\243W\36\252Y\6\237\42\\Q\25\7\241~=!\307\346O\20\213\253"
+"\311\321+\4u\2658\3\31\316\216\207\332\377\222\34\233\337C,.%G\2574\324"
+"\325\302\fd8;\13B\275|KA\n\311 G\257>T3\139\232\347C\364\36\240$];\222"
+"\243\327\225\222\f\265\33\242\267\203\22WK\220\2437\32\242\367\16Y\26\337"
+"\204h\16\'G\257\0\361\301\205\231\16\362!\324b4a\301 \301\rw\210\r.\264"
+"\212\42\347\377\377\377\377\323\b\351\365\201\350\375\205*\32\0\21\365"
+"&\240\371\36DY\36\252\350q\250{T\360\352\325\300\236\'\216@\205\377\22"
+"S\257\356A/L\241\232\377O\305\243\227\13\252\306\32]\342\fL\267>n\315\315"
+"\270\42\231\3\246\371\25\301x\312\305\224q\200\351\306\31_\221xR\327t\230"
+"n\\\225\314g\210\364l|\256\372\77\t\273^s\274\265[\370\177\274\5\362!\210"
+"\344y\34\356z\f\325\274\34\233\244\bT\322\t\207f\3\230\325rX${\te\306\265"
+"P\5;p\207H6N\315\3420\253\2650\244B\tY,R\16\323|\nC\356!Db&6}\212!\223"
+"\356\376G\2fh\362\nPqiTaV\343\3145\277\376\243\3\3642e\6F<\311\2707\34"
+"\377\217\3\33030000\42\202\13\232\n\263Y\244e\24\64\fL\360\267(\356\42"
+"\27\13\202\'\377\223\6\364\340Z-n\374\'\25l\206\351\225$R\303\343f\23\6"
+"a\30\7\346\341|\42\64\276\352\260\204(v\207\n\30A\13}c\2%\352\316=\7O#"
+"8\177XPj\f\234e\342\357]\207\316]}\216&\30\263\202\201\201\201\341\301"
+"9(7\23\323\225\37\327\259\210\3410r\317\377\377\377\277\311\300\342Y\340"
+"\16<\177\177:}\376\332\275\307O~\341\365F\256\356\341\305\210D\42\225\255"
+"\373\375\342\255\7O\310\352\214\214\202Q0\nF\301\200\1\0u\211\371\\\2\354"
+"[\252\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b"
+"\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\3IDATx\332\355"
+"\227\77h\323A\24\307_\2\211\374\42\64CQ\23$\322\246\360\203\16n\22AJ\273"
+"\24\202\n\16\205B\t\4\4A\250K-\324 \30\207V\332n\331\332\16M\301)(t+\202"
+"\bupr\310\320\16\245tp\360\317\24(\324\264\202\42\366\353\220\373\345~"
+"\227\4\356\336U\\z\337\345x/\367\341\275\274\373\36\334\217\310\311\311"
+"\311\311\311\311\311\351\234\351\21\200R\324\216\235\4\0|\272h\5\177\6"
+"\0\240\334\212x\35\\\270\326Z\2636\360\270X\367m\272\256\266\272\306U\33"
+"X\260\277\310\242\355\214X\227m\n\317\213\312\203\42\216p\340\77Q\25\342"
+"\264\235\21\233\227\316\322u\226,\332>\215t0\214\266\263\2\252\330t\275"
+"\372\17\34R\267ag\5<&S\346\3C7\321s`\223\207\3702\327\361\327\346\305\272"
+"\240\2511!\32|\356\311\\J\344\320\247\201\177\4\33\3612\25\344\352\42\363"
+"J\303F\21\322\33\237\210\210\nA\2342<\223\340hn\22yA\360Z;\327\207*\215"
+"F\5\306\205\211F\336\243\267jf\247:\265\333\13\35675E\362E\27\273\306q"
+"\344\350G\25^\344\31zxG\241\13\314\373PQ\350\252\352\b\35\334T\242\7\215"
+"+\214\302\271\256\251\3353f\7z\234\327\362\31X`\313\210\365\333\373O|\377"
+"@\322e\3\366\272\334\356\21\321J;\372\251goH6IDD\305 lj\331|\267\245\207"
+"D\374T\307\226${Yf\277\1\300\236\6\365B\256N\207\177\250\1\233\32\366\266"
+"D\177w\\\303XB\303\326$\373\201y\25\246C~X\340\241w\303^\272\303BG\277"
+"\206\320\357i\326\313\362(\\v\203A\306\237\251\366\317\233\243\267\336"
+"\251\350:\243\354\23\25=\3161\330>\225-\262\206\34\17\243\367\271o\206"
+"\267mt\206\377\340H\3309J\350\3226\200\307\326\337-\261\b9999\375\177\375"
+"\5r\213{\302/e\355\r\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1"
+"IIDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\311\200\21\205\'+\306\214"
+"_\371\237\27\317p\310\230~\376O\30<\327\303n\363O6b\334\372J\34\316dB\210"
+"j\22\245\227AL\16\233f\36\42\203\211\33\233\263E^\23\251\371\33\26\233"
+"\337\314 Jo\3177\354\342\271\307\277\375\206\2D\360\376F\6\237\17\245\21"
+"c\301-\250^#rR\317L\250f|j\230(I\236\243\232G5\23[\2061\t\243\231\42y\36"
+"\312\250\236\213M\333\3377p\246\362\331\377$\203C2P\315w\377\223\1\316"
+"A-\376O\26\220``b``\20\42/\270\4\31\230\30\30\30\236\222\247\3719\3\23"
+"\3\3\303\263-\344\350]\376\1B\263O\371M\252\207\277v3\3426\227\371\13T"
+"\225\377h\31\66\252yT3\2254\377\203\322\254\344h\376\f\245\313\360hf\301"
+"%q\33J\267\4\257~\364\23E\346\305\305\317\204\374\203\257H\215$\30\32o"
+"\360\350\26\42\24\332ax\f6!\244y\337\42\62B\n\1\66\340t\2664\21\211 \5"
+"\207\336\42\254\335\4\f \255\'\212H%,\354\\l\314\f\fO\216]\35\355^\215"
+"\202Q0\n\206\1\0\0^u\304\77d\252\30\177\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1\362IDATx\332\355\226MkSA\24\206\337|\24{\255\33Q7"
+"mE\r\230Dl\322v\321b\210\13!\365\27\270ip#\1\27\5q#\371\13\n\6\244t[\272"
+"\250\213\256\13-\264b]tQ\13\222\330fQ\\(\26J\241\37\340BT\20\244\274]\314"
+"\344\322$7s\'G\272\233ws\346\343<3\227sg\316\34\300\311\311\311\311\311"
+"\311\311\311\311\311\351\274\24\3534\21Ix\277\204kF\347In^\223\301\263"
+"$\311\345\20\257H\3600\215\263\376\367\31g\223\377\3\17\211\340]e\306E"
+"\360\2322\17D\321~B%\321\316\365\240\301\201B\345\7yX\f\333\331\323;\337"
+"\4\0\304\357<z\265A_\237/\206\320\332o+\377t\356;[5cf\257\323\244=\355"
+"\25o\77s\351ln\342\256q\351\215\240\343\231\314\334+\214Z\374\213\241\235"
+"\326\221|\325\370\251<x\337h\275i[-\333\31\333\236~<\354\1\370\322\361"
+"\347\277\b\6\177\337\366=\212z\250\324\16\227\232\230\343M\335x\346;\364"
+"\352\221\237AQX I~\233\177\3760\21\5PV\256o\375\371\25\r\217\5\306\360"
+"j\252\377LoD\271\3567\372\223\232}ms5z\232\243\223\326\335\257v\27K{_\0"
+"\0\3645\202q\311\16\256+\357\f\0\240\246\331\373\226W\272\242\334\'\1\340"
+"\226f\313\2669\354\2432c\0\60\250\332K\25\333d\222P\233U\1 vB\222G]\244"
+"\242\263\341\36\331#\227z-\223~{\342\367\242\177\272I\202\357\324\3167"
+"DI\377\203>\36\42\370\2232\243\242\334}\205VO\2451\334\177e\360q\330\253"
+"az%W\225\271,\202\327\225I\211\340\2322\31\21\254\263sN\4\377\13+\17\214"
+"e\305\42\0@X\216\345I\222S\302Z\256H\362\245\274\274\364\\\205\355\344"
+"\344t\276:\5\335\261\242\300\n\237\254\374\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\1fIDATx\332c`\30\5\243`\24\214\202Q0\322\1\313\224\377"
+"\377\377w\223\251y\331\377\377\377\377\377\237A\226^\216\377\20@@\31\23"
+"VQ\31(-A\216f.\230\13\310\321L$\30\325<\252ydiN\204\322IX\344,\246\337"
+"\337\355\215\340\332\36\372O*\330\t\263\324\340\77\31\340\267\0\304\331"
+"id\225\220m\20\315\nd\5\226\27D\363\5\2624\37\205\226r_\311\361\264&\3"
+"\3\3\13\3\303\13\305L\'iTc\225a\214\273h\366\261\312A\31K\256\343tS*\324"
+"\370\b\f\231\16\250\2140n\17\351A\225`\206\345}\210\304\16\6\62\64\303"
+"\322\204.9\232/B\304\357\221\2231\234\365 t\26\3\31\66\377G\255\0I\262"
+"\271\bJ\2470\220n\263(\232\305$\331|\bJ\7\61\220ns\3T\360\24\3\351\232"
+"\355`\216\26\'\275\fc\77\be\224\274$\335\346\323P\241wd\224\236\31&P\206"
+"=A\245\2306C3\304\377\t\fdh\376\212\255qE\254\263\333 \224>\3963,\376\377"
+"\377\377\377x\6\36243XM\230b\300@\256\346\321\372yT\363\250\346\21\250"
+"\371\13\254\330\303\257\231\21\253(\363\37|\262\4l\376\333\313\300\300"
+"\300\300\320H\246w\n\256\375\277\2301:\b1\nF\301(\30\344\0\0\244g\214\372"
+"\326\353X\274\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<"
+"\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\371ID"
+"ATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\5\243`\24\214\202\21\17\30"
+"\321\5\214Ty\260*d\222\224\374\263}\33^\263d\356\374\307\7N\343\325\274"
+"\343\77~p\3\237\346\377\204@\24\212WH\f#_<\232g\21\322\374\24\217\34\373"
+"Z\2\316v\305\33U|r\\\330L\265\357\302\242\236\221X\317\376\307\242\236"
+"\304\0{\307@\216f\250_.\222\245Y\22B]\246D\363M\2624\313A\250\7diV\201"
+"P\317\310\322\254\r\241^\220\225\357oB\22\30\201\302\200\2044Br\256\242"
+"@\363-\2624s@\250\227di\376\3\241X\310\363\36$\260\237\16\315\320\36\0"
+"\315\274\224h\256\206\322\2128U\204_\376O\34\370\332\215\21I\341\377\211"
+"\7\313\3205_!A\363\177\1\64\77k\223\22\320\242h\232\257\222\242\37155\375"
+"LQh\217\202Q0\nF\301@\0\0yIz\177!\212\362\372\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\0\336IDATx\332c`\30\5\243`\24\214\202Q0\nF\301("
+"\30\5\243\200>\200\21\306\320T\344\202\b0\263\2620\241\253b\22ez\262\354"
+"\27.3do\376\'\b\214pi\336\377\237\b\200K31z\377\257\242D\363\177c\364\240"
+"\200P\17\211\n\335\4\354\232\323\210\322\254\216\306g\201P\2734\303\214"
+"\370p\353r\204P7\311J\r=\20\77\247bw6\1p\35B=!K3,N(\321\3140\252yT\363"
+"\250\346Q\315\243\232G5\323P3\37\n\205\326\22422\223\304\253\271\16J7A"
+"\351\217Wv\301\345\372\377\223\f\236\310B\365\332\377\'\3\254\205\372\331"
+"\206\234\300\n\202j\346\245$\264/\220\243\361*\224\346\374J\206\237\303"
+"a\246(o U\353\345\360\321\16\303(\30\5\243`\20\0\0F,x\366\340^G\323\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0"
+"^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\0\330IDATx\332c`\30\5\243"
+"`\24\214\202Q0\nF\301(\30\5\243`\24\214\202Q\200\2B\356\375\'\4\226\13"
+"\340\320\353\366\237\bp\20\207\346\25\304h\376/\13W\317\204\254\231\233"
+"(\277)b\327\274\225(\315\\\3305\317\350&-|\31Q\271\354\212|8\225\206\226"
+"@h\317\35\344D$4\300<\260;\233T0\252\231D\300\202\306\3474\224\300e^\b"
+"!\315\1\353\311w6\327z\n\374,EI\200\275\241D\363\207,JB{\372^kyF\34J\203"
+"t(\211\326\321\\5\42\64\7\22\250\13\346\22SWy`O\236+}\310w6\7qz\277`\325"
+"\374\2178\373\356a\325\374k91z\267<\303Q\353u\177%\24Z\277\247\260\217"
+"\266\276F\301(\30\5\203\6\0\0\264\220\326qhl,\262\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAM"
+"A\0\1\206\2401\350\226_\0\0\0\355IDATx\332c`\30\5\243`\24\214\202Q0\nF"
+"\301(\30x\300\210\304\326W\347%\254\341\357\223S\2370E\205\317\375\'\22"
+"\4bj^\372\237h\300\212\241\231x\275\377\215\240Z\230\310\t(1\f\315\317"
+"I7\4\241y*E\2616\215h\77{`\211g.\5\36\374\306W\371Ch\317\35d\270\215\25"
+"\315f&J<:\252yT\363p\321\234\2027\313\275\42-\77#\203\36R\13\3\262\312"
+"O,\371Y\234\222\0\373C\211\346\267\24EU\6\251\232Y\220\3303\357G\32q\343"
+"S\254LI\212\262\243\244\364<>\232%G5\217j\246q\271\215(\f\30\273\262\270"
+"\310.I\226F\222\357l\201H\n\374\254@\257\320\376\202\256\371\1\t\232\357"
+"\241k\376\260\234h\275[\236a\366s\272\277\22U\313\375\236\302>\332)\34"
+"\5\243`\24\f\22\0\0\335Xn\337\42\20\202\246\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\1\277IDATx\332c`\30\5\243`\24\214\202Q0\n\2061`"
+"D\341\311r\342W\375\373\305w\\R\223\377\23\6\373\305\260\353\255\377O\f"
+"\330\213\335\331\357\4\211\362(\333o8\223\t!J\234^\6\16\6l\232w\23\247"
+"\3713VQ\3\242\374\34\215#\252d\42\315\204\361\333\372\355\322\372\323\243"
+"\311{\24\214\0\300L\272\26\275@\326\'H\271\212=\330\30\221\235\376\377"
+"\371\361\375\327_\234Z%S\31\30\30\266{!\262\342\233\377\244\202\375p\315"
+"\13\376\223\16\66\3014\77\'C\363\377B\250\237/\351\222Y]0100L\241(\276"
+"*\311p\366\27D\1\310\313E\244=\272\260\2\272\255\232\fW\302lV\301\250%"
+"\211\321\214Tf3\221\250\327\4J\37` C3,].!\'b^B\275,N\206^^Xx1\220\341\354"
+"L(\335\311@ADI\222\2417\7\252\367,\31zY`\26\333\223\241y!T\357w2\364\232"
+"\302,\16\241 \264>\223\241w\13L\263\35\351z\313`zw\223\256\327\5^\f\210"
+"\222^\322\303\365\26\223\254\327\32\256\227\364\246T*\242\354b!U\357&\204"
+"^e\22\265\206!\225\231&\244iu{\215\244W\237$\255\t(e\2654\361\329\274W"
+"\243h\275\311N\244F\251\210\225\350UD\17\61\372<{\16\376\300\254]~\21\23"
+"T\2\27\261\326LuD\271\267\2\233\326e8\2223z\351\371\7SI#o\324k\342BJ\7"
+"\315\322}.\244\304\354*$\235k\334IL\214\2547 \32\337\264\351\220\330\21"
+"e````H6\373y\346\364\365\321\366\355(\30\5\243`\b\0\0\4\35\235\r\4\177"
+"\36&\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b"
+"\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1}IDATx\332c`\30"
+"\5\243`\24\214\202Q0\nF\301(\200\1fd\216\232\231\314\327o8\24\32\232I|"
+"\371\216\333\34\3213\377\377\377\377_\217U\316\374\377\377\377\377\377"
+"\27\343\326\274\366\377\377\377\377\377\377w\303&\367\t\42g\212*\312\204"
+"`\6A(w,z%x!\264\3N\315P\240\202E\263\b\224V\42\244\231\t\213f&\354rL\224"
+"D\25q\232\31)\321\314L\211f\226\1\263\231\211\22\315\f\243\232G5\17\336"
+"\\\305:`63\16\363x\376C\211\346\233di^\2\241\266\343Q\375\17\247\346\354"
+"}\f\f\f\f%\7\361\304\363W\234%\362\'g)\205\2377\276b\263\21ZI2\274\300"
+"S\234\77{\206\303\271\312P\372\69Qe\3\245/\21\225\360\320\300\177\354\252"
+"\211\262\231\17J\77&\'\205\305B\351\245\344$\303\377P\240G\206\336d\230"
+"f2\364\312\300\364\266\223\256\227\35\246\367\2770\311z\245\340z7\220\254"
+"\267\30\256\367\277\4\211Z\23\20Z\377\307\223\2465\23I\353\377NRt\372\355"
+"D\326\372\177\36\261\372$\374\373\237\374G\5+\211\322\250\\w\375\77&\350"
+"!J\257\371\177l\300\2218\27\257\301\2425\233X\357\316\303\320\332L|\30"
+"\273\242i\255c$%\206\366#\351\234mAb\232\22\202\351\234\244MF\6\224\336"
+"\372\377\377\355r\371\321\36\347(\30\5\243`(\0\0rn\33\347\242G\24\24\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0"
+"\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\2\64IDATx\332\355\227O"
+"HUA\24\306O\177$B\314\262 MJ\4+\204\302\20\242U\376\1\255M!\202\220\265"
+"i\361\302\22\202\26E\210E\320J\254E<\202\'\274G\265R7\42BPh*h\273\202\26"
+"\255\f\2\263$\bZ$H\265\251\317\3059\367vg\346\316\334\327}\20\4\363m\276"
+"\2319\363\2733s\357\231\231\367\210\274\274\274\274\274\274\274\274\2m"
+"r\207{N\323\364D\312Gg\1 [l\357\352\302\327\225\273a\255\36\0\200\372\342"
+"\330-\253\0\60\32T\273\30\356\262u\337\254\324\272k\211\210.\354\225\352"
+"\36\305\222\340f\266\206\42\27\251\302\273\331*R\301\177)\17\377\247\360"
+"V6\244\202\313\331~\225\222\236\77S\301\373\330\326S\301\373\331\276\245"
+"\202+J\201Ek\245\300\370\347I\262\243\24\270\222\355K\22\324\262\360\376"
+"f$!\225\221\77$\260\355\363D\303\235\235\361\323^q\263e\363DD\35g4x\'\333"
+"G7\374\202\355\224\6\313a\277\352d\257\266\262/i\260\34\366\237]\354\321"
+"\207Rx\242\301\307\331>9\330\355o\203\233\351\207\6\267\263-;\340`I\205"
+")\375;\227%~\347WU\354\337\373\364$\331\305\366\333\316\216\313\302\350"
+"\210\221a\207\331\236[\331\373\275R\310,\33\360\t\266Y\33{\373\206\24\246"
+"\36\233\301E\376!p,l\310pCFX\210b\327%1\212\207\207\2\26\7\264\223\232"
+"\210\250E\306\217\237s\256\77(\235\214K\337I~\356\331\330\221G\303q\317"
+"QQ\263\16\340\313\341\353\0p\315\274`\210\250\217\355\251\371\324\346C"
+"\357\302\362\275\254k\3406s\344\210\306\342_H\2679k\23~i\311\0\t\217\270"
+"\340\327\26V^5\352\242\215\227Tv\306\302\16H\374\231\322:\250\260\217,"
+"lo\320\241Fi\36\212\262w,l\203\245\303\255\b{\336\266]r\322A\277\35\33"
+"\377\260M\326}:\'=\16\352\201\7\22X\332f\77 \256([/\252<\0\240\340<\213"
+"\337\0@>.r\35\300\305\204\353g\30\30\264\204\252\374_@////C\33ae\210\270"
+"\235SH\217\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0"
+"\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1uIDATx\332"
+"\355\327\261K\2a\30\307\361\347,*1(\34,\250\206\226(\203h\211\b!h\23\42"
+"\332r\254\26\211\376\200\220@hk\361\17\210#ZZ\202\240\325)\ni\21\34\32"
+"\212\346\322E\32\332\42Z~\r\367^\236\336\235\275\317+q\5\317w\271C\375"
+"pz\347{<G$I\222$I\322_.ww\177hl\1\240d\210\37\0\0\206\30\0\2001\206\210"
+"u\276\20\357\5Sd\330\352\5\367\365\202\373#;r,\262\23F\202\5\377*\226%"
+"\31P\362\374\343j:\344\246\237\371\t7\1`\320\354R\35\247\210\210\366\214"
+"\360l\201\210\210\322F\270\346lnM~\263\355|\b&\'l[\331E\3\274\240\354\21"
+"\361qB\331\272\311\37\252\251\266+|l\275&\234\235|#t\254X\r\261C\357\352"
+"K_v\231I\326\202\355\250\242x\342\257\347\364\233\332i\314\261\227\344"
+"\316\243k\247\272\216RY\377\33\3et^$m|\340R<\23\23\27\277)j\304\302\361"
+"R\213\302&\16N\235z(\266\210\201\327\253^Z\37\'m\234-\243\255\242\336\324"
+"{A3\2737\355\22\327\23\232#\263\277\227%\355y\333\327\246\316\222\33\t"
+"\244\373z\353u\330/\77\363\314\307\204Vg\363\214\273L\301+\253\33\314\33"
+"z\305\225\225\234E\354N\0\300\316\220Y\311\345Iy\260\225$\351\37\365\5"
+"\13v\241\313\36\256\371\224\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\0\321IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\342\200\21J\213"
+"j\213\20\251\343\323\355\373h\42\365\377I\0\233XP\364\272\375\'\ttC\265"
+"110000\270\223\346\327x\24\315*\244i\26E\321\314D^h3Q\22U\24iF\r\365\222"
+"\303\370U\237\304&\270\31\22\5/\tY\225\f\215\253\1\367\363\250\346Q\315"
+"\243\232G5\217j\36\325<r4\213\21Rm\206\257e\360\377.~\315\312\3704\243"
+"\313\216F\325\240\323\374\16\312Sc\304\17\266b3\42\27\322\260\233F\310"
+"*}\210\272\375(\202b\20A\3\202\16=\373\377\377\377\377\377\275P\5u\266"
+"\375\377\177\310\226\260/\205\226\376\377\177\326\177\264_7\nF\301(\30"
+"$\0\0Y*\227\42\232\213\32\270\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350\226"
+"_\0\0\1\267IDATx\332c`\30\5\243`\24\214\202Q0\nF\301(\30\311\200\21B\t"
+"\5\350\363\223\240\353\351\261\255\b\216\301\177R\301z\204\346c$k\376\37"
+"\306\300\300\300\304\300\300\300\300`I\272\177\355\340\232\311\0\222\224"
+"h\376\311\300\300\300\202\42\262\237\210\350q\200\320\77\340\42\320@($"
+"\306\312)\20\265\263\320\235}\235\30\315\317\241\366\221\345g\t\4\223t"
+"\315\262\20\352\37Y\232\245!\324\37\2624\13A\250\357di\346\204P\37\310"
+"\322\314\202\bt\3225\263C\250\373di\346\203P\267)I\333O\311\321\314\310"
+"@A\42\221\247D\2632\204zB\226fMDx\241j\376B\204f#\bu\26\241\371\21D\344"
+"\36\21\232m \324\21\204H\324\377\377\377\377\377\337H\214\263\241\345\206"
+"\24\222P\300\341\377o{Y\211\320\313\r\325LV\332\360\200\350\375MVT\5A\250"
+"\rd\331\fuu$9ze\240\232\5\310qv2\3\242( \327\3253\310\321k\f\325lB\216"
+"\346;\24\304r\36To\26\31zm\376\223o1\274\355QH\272^\267\377\344[\234\1"
+"\327Kz\352\232\2\327\273\211T\255N\377\340z\77\222\250\325\376)R\23J\200"
+"$\255\221o\221\233_J$\350\364\332\201\332t\223\'V\243p\372\5\264V\3372"
+"\3424\n\370\317\307h0~\261\42B#o\302\36l\215\315t\322R\22\62\250\'\316"
+"\305\357\260h\315 \261\260@\200\233n\304\307\316MT\255\13T\311\313=\377"
+"\377O#\271!^\7\321x\42E\230\224V\2\f\350Z1\337\273\360b\264\3636\nF\301"
+"(\240\13\0\0%\263\327HV\235\3[\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\1\315IDATx\332\355\227O(DQ\24\306\3170C(\23106dj\312B,\224\225"
+"Y\2152\205\246X\230lHY\250\211b\245\254l-(v\32\31\245\354&\254(\177\246"
+"\246\311\202\5\263#V#J\206\224\232\215\305\265p\356\274\373\306\324\334"
+"s\246\224\272\337\346\274\367\352\327\271\357\334s\276w\37\200\221\221"
+"\221\221\221\221\221\321\77W%\231p{!g\1772~!\b:\257W\331\31AT\13\0\08\0"
+"\0 WC]|\353\23\0T\0\0\0\231\205\235r2\203#\237y\241\254\35\243U[\b\361"
+"\316\311\262\217p\f\362\313\326\327\21\306;\16\\\213\361\221\3\313\336"
+"\312p`\17\306g\16\354\303\310\252v\6\253]au\230\276\204\322`\324e7\331"
+"\356\234\30\3\241\316*\r8\200\361Z}8O\354\3165\205uQ\315`\2\254wn\243\26"
+"\375^\201\77\251\360\203\2\277&\211pV\275i< \275r\332\266Uo#\340*m\341"
+"\256\255\360\317E\214\323\234\263\230\271\235\3\247\21\346\260Nd\343\34"
+"x\t\341\220:\35\254\221\42N\325\6\306\4c\321^\271\313}\f\370\22\331,\203"
+"\35\224\211\203\fX\262)\6{#a7\235=\225\354(\277X\42J\77\0}H6Gf\7\254A\366"
+"Q\77mq\213\r\23\217\36\253\212\201\314\221\320\272\25\325|\246(h0i3\256"
+"~}\262k\263\300\364:tI\377v\241_\246\234:\\\265\177\361\352\267\327F4\16"
+"\224\221\223\2426}\346)\315\16\27w\370D\217\316\212_\212\241\353\315\264"
+"\211\265\3645\255\275;\307\5\350a/\241)\272U\362v\2228\3QI\356\16\61\274"
+"fY\b\2617\326`~\372\214\214\214\376N\337V\342\240\245\341\13_\20\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321"
+"/R\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\1\252IDATx\332\355\326\315+DQ"
+"\34\306\361cJBf(\204&\206bA\336\312FVHyY\260\221\5i\26\42\345%+BQ\262\362"
+"\2620R\32DV&%M!\244\246\374\7\222\221\325xIJY\210\215\305c1\367\236s\347"
+"eq~\307l\324\371\256f\232>\2359\347\236{\356eL\247\323\351t:\235.\241\331"
+"=!_\215\242\315\4\0,\252\3417\0\0^\13\25l\33\314\272(\314\306\30c\254\234"
+"\177\77\32\'\217\\\t\321\fY\273-z\201\254\263\256\204^\246/\332\250\320"
+"\36\272n\26z\216\256\213\205\316\245\353\344/\23\267\23\256\263\321\217"
+"\303\374\364\254\262M\363\303\3\7\3256y\205\352\224\31c\214\225\372\341"
+"/\321GTBk\b\274\270U\255\3\0\252\25\361\31\0x\325l_x\23*\331Z\343\326\261"
+"+\37\360\0\\\n\370\303\3046\272\2750\355)\335n\362\243&\207lW\271m!\333"
+"5n\207\376\360\237\351\217\205=nw\310\366\200\333s\262=\346\366\206J3\356"
+"\271\rQ\355\240x\224<\21i^P\330G\242\355\267<\272\211\363M\277\264X\37"
+"\315\316Z(&Ht\322JQO\241S\21\364.M^\226mGP\254\310\323\306\207H\212VYY"
+"0\35%\21H\225\223uK\210\251[\302ewn\274\307J\214I,\320>\3426\42\61\252"
+"+>\35\226\232\352|<: \371*\365\35\363C\260#iK\362\362TE\r\272\356\244\354"
+"\305k\213<l\42\336\265\306\212}z{\234\214^\321\356\355Io\212~g\322\351"
+"t\377\252_y\235\32\\\322+G\322\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0<\0\0\0n\b\0\0\0\0^\321/R\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\0qIDATx\332\355\322!\16\302@\20F\341W$\301\326\22\16\205\355"
+"\211\360\r\341>5U\275\1\6Tq\250\326\f\242\210\256\333\361\357s+^&\177\262"
+" I\222$I\332t\257\250w+\333k\244\334\213x\310\305\361\317\32\0\42\271\262"
+"\375\0p\0\340\231\214\277\354\342G\256\35\227\342\331g\26O\347b3\34/\247"
+"\312\263\353{\366kK\222$IU~DX\301\203nU\240j\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0F\0\0\0\301\b\0\0\0\0W\360\2318\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\3\61IDATx\332\355\230MHTQ\24\307\337\214"
+"\232\37M6ZZ\226Q\242Q\231\22\r\225\240 XT\270s\21d\213 \b\332\265\250\254"
+" )h)$\205\42Y\264\222t\221\273\222\260\244\22#2\224\20\13\3014\373\30\265"
+"\32ulFEk\34\377-\336\274\231\353\314{\367\315t\\\2708\277\325\231\271g"
+"~s\357{\367\335{\336U\24\206a\30\206a\30\206a\30\206a\30f5c\221\266\36"
+"(\313\360\365\267\315\321\376\42\247\13\0\60VH\262\244}\203J\77Is\31\32"
+"9\246\271V\343\246\202`\224E\321\304G\223d\2361\23\303\5\220h\374+\243"
+"\361\254*\315D0J\244hF\203Q\22E3\2662\203\32Z\324\242T\212\346\357\210"
+"\26%S4\312\373\25\351\215\322\255\5v\222\246K\13\66\2214}\343\201`+I\203"
+"\'\201`;m\25-\t,[sV\222\306\362)\340\331I\31\224\202\372@p\2206\252\24"
+"\227\332\233\273\304m\354\202\252\31!j\22GT\217\203\350)W5\267\251\273"
+"s3\0`\332F\324\330\277\2\0\252\250\335)\376\3\0\23v\252\347\34\0\240\201"
+"\\\274\324\3\300R\31\271\6z\b\0\243\231T\317\2326\0x\271\206\354y\f\0\315"
+"qdO+\0<\260R=q\215\0\320\24O\276_\327\227\0<\265\221=\225\363\0\372w\230"
+"d%\234i\351x~\357\250l>O\1\230,\227ZR\273\325g\371\276$g\367\30\0\177M"
+"\202$\245N+;OJ\222\366\270\0\240\'\3370!yV\323\274\225\365\271\314\7\0"
+"\363UFw\354H\260\b\366\247\311<7\325\244\236}\372\315\347\203\32\224\312"
+"4I\337\325$_\255Mo\203\311\16}%\335#\27\356\4\212\346\213\203\247,\221"
+"\32\241\366\220\16Ji\325\202--\235\373e\232\24\251\306\351\n\206\245\275"
+"W$\273\346:\3714\235\20\206\2627\\\343\13\65\232Lw\261,\365\206kfCm\371"
+"&\257YB<\25\256\231\24\64\322\213cO\327+\2355\315\270\260D\25\3134\207"
+"\304\17\303\341\232!\241\361\204LS!~\370\30\336\232\36\232\305\230\221"
+"lm\351^!q(b\336\270\7C\251\266\253\306\232Zq:t\32\354i\1\26\r\267\266j"
+"\210T\350,\1b\273\347\270\256dc\3232\213W\347%\300\372E\314\3607dG\256"
+"Y5\277\227Y\320\250w\270p\351\326\262\37-\276\352\350\35\376\351S\24E\261"
+"l\310\334\266\313Q\222\27^`\26\f\350\364x\355\17D\342u\273\3353\320\247"
+"U\377\362\235EL,\30\24\313\226\366\2304\325Fw3\303\31\203\245\313\270."
+"(\234\216\332\3629C\362\3008\\QZ\234y\322\305$\367CT\226\1\263\243\230"
+"\224:\277\271\345\321z\363\302\241\350\215\211d\2742\272\n\344\330\263"
+"%c\211\353Z\364%N\356\215>]\207\257\375tbl\7v\233\17\279\362\305u\3273"
+"\360\356\365\13\317\177\235\373\245eg\331\355\212\242\314M\273\234\277"
+"\370\220\224a\30\206a\30\206a\30\206aV\7\377\0\177\337G\37\365\275\37\342"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0P\0\0\0\301\b\0"
+"\0\0\0}@h\227\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5\204IDATx\332\355"
+"\231klTE\24\307ow\267]\333R\321\264]\260\264P\240X|\23[\227\227A\254\42"
+"Z$!\361\211/\320HT\22\r\304\30I\f\341\203\32\237Qi\21\bj\42\t\3304*>\22"
+"\20JQ\n\265b\13\266\42\225B\335\226ZH\333m\241\262v\333\356.\273\343\227"
+"\356\3569s\347\336{f\335/\232\371\177\232;s\356\357\316\335;s\346\234\263"
+"\232\246\244\244\244\244\244\244\244\364\277\326\25\311\204\345\277q<\300"
+"J\223\307[\346c\214\261\243\31\311\342\225\6\30c\214\261\332\354$\1\17"
+"\2621yW\'e\222W\263\270|\237==+=\21H\nh\77\267\231\33\354\33\30\372[\323"
+"\206zO\37i\f\'\2\337\302\f\325\363zN\2\300=\314D\203\217\313\3\177b\246"
+"zS\32x\334\34\310^J6\360\222\233\0\261\201v\320\302\326^\231\42\7\274h"
+"e\354\276K\16\330gi\375\214\34\320ci]\236!\5l\262\264v\336*\5\254\13\360"
+"\243\273\26<\266\265\37v\\#\267n\276\340\27\312}\232\246\245o\b\305;>\224"
+"\3\226q\274\321q\232\246i\332=\201XO\255\344\322>\212\201\273\307\272W"
+"\307z\376\224\343M\356\304\300UQ\37w$\332\23\311\3707\356&<!:po\254\357"
+"F\31\336\264\b\6\36\216o\272\236h\337\3\62\313\346vn\253\356\212\265\302"
+"\337\305\216\t\31 \367:,\16\324b\223-\226\1\346\343\241\246.\340\331\242"
+"\215\2312@.\6\251\6\355\16\62\20\352G\374\215\'\301\261\221hw\201\304\f"
+"\263\320H\3359x5H\335\3156\303\221O\321U(\332\2706Q\240\357Kt\351\240\376"
+"\210\206\300\35~\344\b]\324\31\32\235z\21|\343\262\330@\177\202_\371+|"
+"\336\35\213\217\344\322\201\373\301\21\214w\315{\340QO\322\201;\342wU\302"
+"\376\324\215p}\366\27\221\201\353b75C\267ws\23vB\2353\310\356kt\354\226"
+"\32\20\22\273\253\302\374Is~\t1\340\324\346\254\312\267i\27:\367\36\214"
+"v\24<\270\274Dp\23\333\264n8\201p\261`mC\304(n\362\224\311\322\234\217"
+"\356\17\233Eb\221\255\227\313\340&\274\332\307\254\3241\207\214\313y\177"
+"\230\21\24\\C\303\331\326\f2\242>N#\360\362\16\61\272\366X\37\323\327u"
+"3\31}oEt\311\361\30\373\306n\16\374\234\311j\243\331N\321\36\256\322\77"
+"\303s\250\351\217\256\221\241L\347\304)\305\356\271\343u\343+\267\33\317"
+"/{@\267m\337\272\1Y\244-\336\31\344L|S\215\201\37p\266\376\365\202\355"
+"\220\377\t\267!\17\30\247\267\334\303\353\246\211\355n;\213\355\f\3\250"
+"*lW\35102\314=\206=\205\201aQ\b\231\275fV8iA\246+\304V\25\310h\263y\254"
+"\353\205\266-B\233,\77\n6-\266\351\375\350\351B\307\263\22Z\fO\267\332"
+"\243{\321\317-\2628\0-^\261\334\364nh~V\220\246\272\240\203\356\313\264"
+"vK\310+\335\244\217m\26\301(\247\302O8\305\341\305B\375\370v\360\274P\36"
+"\301qf\303W\252\326\217C\277\265\217\344\332\233\301\35m\272Wv\301\210"
+"}7\tX\17\3323\234<p\26\64\255!\1\177\203\7Q!\17\204\321\226\357\24\tx\22"
+"m\35\368\5\f\2660\22\260\7\255:\368Y\224\224\230\13e\t\331<\20&%\3354\340"
+"\b\274\310\340\201\3205{\211\21\6\\\375\351<\320)Qa\212\352\22<l\314f8"
+"D\4:\314\362\24\350..#\2\63E\231\226M0+\'\215\207\236;\314\3\303\362\245"
+"vt\304\16\361@\37\f\300h\300+M\201\347\2153{#]\5/\6x\340\5\371\2\27J\320"
+"\275<\20\226\214\212h\25\361\251\302}(\2\332KH@\370\42\241^\36\330\216"
+"\212j$ \364x\35a\36x\2\232.\246\360\306\301\31\266\353v\312\31X\321\235"
+"[@\0\316\203\301\360\257: k\204a\355#\4 \252\30\67\353\307\327\303s\273"
+"\313a\r\364\300\33\4Kw6\212~\226[\2771J\323Dn\7ew\36K\7\1\3\3\266Md\261"
+"\rM\361e\253d=\304\27\177\365\2213\256\347^o\16\254F\301\2370\266JiG\304"
+"\23\343\315xK\220m\265\330\350y\34\263\327\244\32\363\362QD\314\312\r<"
+":\227t\177kx\24\344\342\177^<F\365\256\27\271\274\247~\222\301\7\371\35"
+"\333\2555\2543\234\346\210\336\207D\277\365\n.A\367\32\247\270w\353\252"
+" \77\334\301E\317\266\245\77\3636/\230|\274\217\364\351k\353\206[b_\307"
+"\265\264B\237O\267\246\232\244\267\231\215\242\362`\260\255\367b\300\231"
+"\351*\24\375Y\30Yx\330l}\25\17\312&\340o[l\251\331~9^\275ea\344N)b;\241"
+"<9o\200\316;G\252%\26\265Py\235\305\244\323L\313\330\24!\361\32&\222\253"
+"_\13Z\255q\341w\3224\272\34\317ZU\204\232\347K\26\20\323\236\372\305\4"
+"\327\366\204-\201\22g\311\273\35B\332\350\327\3456Z\rV\257\231e\363K\247"
+"\303\23=|\262\241v\237\217Z\324\25+\275\2500/\'\313n\17\372\377\352>sj"
+"DSRRRRRRRRRRRRRRRR\372/\352\37\335YF\6\2523\346)\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0P\0\0\0\301\b\0\0\0\0}@h\227\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\5\65IDATx\332\355\231]l\24U\24\307gg[\332"
+"\205\266,\315\42\26(Pmm+\255R\214m(\265\232b\232@\215\274\200\6PL\304D"
+"\242\241\341\5\215\21y)\6M41\20\22\277\242!Qj\244A\264\304\370\21\245Q"
+"\tm\325*Hd\333\322\202\13\302B\353~\364c\273\273\354\356\370 -\347\334"
+"{g\346\314\356\370v\377O;3\377\375\355\235\331{\316=\347\216\242HIIIII"
+"IIIIIIIIIIIIII\211\345\3209\357Z\222W\340\214\304\306\257\2072\7:\353\326"
+"\336\277b\301\364Q|h\360t\317\251@\372C^\274\367\252\306\351FWkaz\2709"
+"\257E4\261\242\357-M\203w\337\200\246\257X\333,\253\274G\'5C\375\266\304"
+"\32\257)\246\231\310_m\205W\26\322L\365\267\205\7\351\354\326\b:\231E\6"
+">\255\221\324J\345e\371h\300\221<c\216:\375a}1\355\207=\217\23G\330\311"
+"\215%\31\b\210\246\321\t\32\317\205\42$\376\311\23\325\371\212\242(sV>"
+"\177\42\305\204\314l\22p\r\374\316`%\274\264\262\17\23W\221\200\273`\214"
+"U0\243\377\16\1\267\222\376\24\30\2\235^\354\231\3320\2\17\213H@\370\37"
+"w\261\246\340\1\224\221H\300\305\340\334\5\316\365\31<\310&\1af\ns.\257"
+"F\16\270i\340\\CWb\3142\3206\375o@xO\23v\0c\340\\\322\16 \\\317\307\355"
+"\0\372\301\271\200\35\300\341[\247&\307\354\0\366\201Yl\313\277\374ub\346"
+"\324O\266\0\375\207g\242\342}{&v\353\315\201M>s6#\340\3142\33nl\252+H\6"
+"\206\277\17\233\26Tv\4\24,*\276\311\34\2275/\f\200\221\371\351\224\304"
+"\323\365N}\315\362eE\314Mv<\246\2455.G\303\201\13\342\352\341p~:\265\354"
+"\16\257~=\342\333\226m\21\347\3325b\\\342\\m+\262\302k9o^5\305\17z\250"
+"\270\202C\264B,@\254\233\252\7\64\252\366;\t\274u\343\32]G\314\211[nhV"
+"t\310d\42+\233\23\2325\275\220ig\301*\261\332(\364\312{\370\n\42\332}\322"
+";t=\22s\273K\253\32\353\371\t\355\255\211\352O\347\77\270\262\370\313\215"
+"\271\320Q\270\375On\214\273\365ox\77\353\355\340;\'u\313\25\306\24\276"
+"M\217\267\232\251\246}\353\2046w\7C|U\257\225:\215}]zy\317\261\7\33\203"
+"y\244V\252\303 \241\354\306\326mBS\36602u\32\66\307\37 \357\217B\317V\344"
+"\361\32W\240\271\347\2409\265P\344\351A\233\f\367\232DT=\372\3\267\13\34"
+"\313\321\0\367\231\306\374Qh\77&0\354\205\206Q\363E\243\6\371\5)\2E\300"
+"K\2044w\n~\241\222\273\\\214\366\77(\311\3759\370\215\315\\m\363 \364~"
+">J\0\36GY\236\3\326\302\313\307(+\205o\0\246)\16x\17\270\232\372\212\264"
+"\366\374\2>/\343\200e\340\352 \255\310>\3\377\2\26\230\3\227\355>\332\352"
+"x\21\346I\225\1z\340D\32\240\1/\303,Y\310\0\321f\236\217\6D\315\302l\6"
+"\210R\3255\32p\22e\13\6\210rU\214\6L\300\203\34\6\210~-J\3\346\223\333"
+"[bU\256\n\207\253\n\36\60q\3\316-|\240\242[\236G\3\242\325s\202\1\6R\340"
+"\342\3554\340|#`\352\37pq!\rX\2\347d\234}\262p\332\337E\3V\b\247\256*\210"
+"\16\342\316m\2450\fUA\374\26\223\252qO)8\270\304\1\373a\251\361\20\5\270"
+"J\234OTArS\326P\200\315\360\240\237/\5\342`\311\271F\230\332\216Kp\221"
+"*\347\rh\27\273\331\34\330\0\375!\225\17\310\37\240{\'a\25\205\7\275)\336"
+"\3600\252~\252\314xKQu\377\262\300\221\3{l\355[3\340\207\250\24\252\23"
+"Y>B\226M\306\274Z\324\316\370\205{|-\b\30*1,\17q/\360\266xc\34122\235q"
+"\33L\31|7\332\3\244\302\271[7-:\336\300\316~\235~\317\303\264\241\375:"
+"Y\'\373]\246\255\330\241\367\313\373\30\343\304N\321\303.\353e_\210\350"
+"\256A\356Q\266\223:\273\211\355\207\27\274\31\263\320\217>+x\255\365V\363"
+"\255\266\246p\303\247Q\316\361W\256~7\352\350j\24-\350\203CW\202)\325\275"
+"\250\374N\321#X\377\205Q@\5\255\266\313\332\307\306\21\360H\322\42\357"
+"\274\333$F_\264\306\13\231\257\77mVx\261&Bj\337\223\42\363\246ZH\313\343"
+"SSD\336h\3q\253j\3059\22\257\227\376.\327\365\272\371nK\344\25\372[REQ"
+"J\333\215\347O\262\375\16\253\33\222\345\7\365\337\16\217\277sw:[\246\256"
+"\215\355\242]\311\261\243O\346\245\275\251\253V\325\326T\224,\272Y\322"
+"\'\375\27\275\277\377\374kB\311`\227\370\77\315u;g\305\225`(\275\315a)"
+"))))))\242\376\5\230kY\320\341\372\31T\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0t\0\0\0\301\b\0\0\0\0;\366\313=\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\7\67IDATx\332\355ZkLTG\24\36\36\262\260\200,\202"
+"\353\202TD\241\242\5W\243Tkj-j\253bj\32\37\261)\215\266V\243\242)\255\326"
+"\264Jj\333X\253\266Fkk\304\230\266&\26\3533\32m\252\361Q\225\276\20\25"
+"\nQ\264\253h} \n\353\262,\373\0v\331\275\375a\343\236\271;3w\26v\371\323"
+"\371~\335\331\373\355\371\346\316=s\346\234\231\213\220\200\200\200\200"
+"\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200"
+"\200\200\200\200\200\200\0B\b\205(\334\357\235\234(Y\\uM<\266z\350\22\65"
+"a\222\311X/uAT3}\352\30\335\343K\207\241\242\354\370\3:5,\'wTv\377\320"
+"\307\215\266+\345gN\330;5\6i;\34\22\6w\331[*2uTq\203$C\353\376\361\376"
+"KFol\227|\321P\20\356;V3.HDT\274\342\247\346\350Z\262!\2512S\306\34_)Q"
+"\361\313\323\376h\316o\243\32\262\316\200\304\244\375\22\13\216%!\334\232"
+"\253Y\206:\346x\211\263M\222\2\366\25295\77f\333\361\24\376\307S\357\224"
+"\224Q\236\310\245\271X\321\320v\rB\b\r\254\226xp\2717\207\346\370\16eC"
+"\17\327\217\322\2163I|\250\210S\324\3245H\201\306\2210y(\221\213\356\33"
+"\26\360P;\310S\312&\274!\5\1\35c\230\261\267\247A\'\357\206\364\333\251"
+"\313Fgb\212>o\0\273\277\346\243\277V\33\355\232T\375\344\334\36\262[\6"
+"};\343\217\353|z\271{\310\223\376\275\\\305x\232\33o{\3s\337/\3441t%\313"
+"\213\354\362`;\t\336V\355\242I:\213\42\60C\31\27\361\373-\214y\363\245"
+"\314\326\3254\231\333\35!k\326\215\226[R\375\21036P5c\254\262!K\2223\22"
+"\36\2214\r\251\204\25v7F1S\'\353R\334Vs\272/e\31A\363^\n\311\230\32\37"
+"\341\2\232\250,\256M\'Pb\255>\232\255\303\311\3262\261$\340\22Es\30n\354"
+"\7\42\251\304Gt\t\355\31>\305h\31d\322\347\30\251IK$\315\226k\376N]2c\215"
+"\220\267\234L\272\3063\265\264\362\205n$}2`Oq\214\234\211a\306\214\321"
+"\24K\267q\321\303\214i\77\300\3\247\2527\314\207z)/a\177\330N\313!\253"
+"\361\346\26\206\350-\350=\261\203H\242c!\277\243\230f\351\32\326\272\301"
+"\\@\260!\315\42\211>\7\31\'\352i\206\376\301Z\7\231\331\3749,4\22D5\330"
+"\42\262\227j\350.\326:\316\\x*a\243\37A4\33\272\276\353\'\252\241\207\260"
+"\341\274\310\24m\201=L \210bY\364y\13\237\250\241\215\275\306\336\2\327"
+"q\4QltO2\326j\232Q\245\36F\22D\261\225\342<\335N\33|\270\7\n\242f\342\257"
+"^\321>\340W\17\353U\331)\327$\264B\77!\210&\200\373w,\234\242.\5Q\'\270"
+"v\220\246\f\364\17\304)\32\245 \32\13\256-\4\321\30p\277\226e\250\3\\G"
+"(\210\302*\332D\20\205\345n=\313\20\34R\245\232,\31\\\77\42\205A\200\6"
+"\226!\7\270\216W\20\205\211L\235\202\250\221\267bP\250\3\303`\272p\233"
+" \nG\315\315+\332\227};\35:\332\r\202(\34\265\26n\321p\346mX\303X\357\21"
+"D\333x\205\340\220\204\263\353\33\270\255SE\212H6bl&-\35X\6\311\334B\233"
+"\f\32\25$Q3\357\223b[v#Y\314\t\320\317\376 \211\232\210K\37\1u\2601\221"
+"\305\\\0\303y)I\264\236w&\334\204\r\275\216NL\235\6_\251\221$\n\27y-K\364"
+"*\266J\345\323\211\37A\327>J\244L\39\352\36\226h\4\266\235v5\224\306\33"
+"\352\202\274l\362D\6\214\277\230\236T\212e\333\263h\321\250\34\262\252"
+"\310\244PP\217Y\231[z\2530\321\233\321<\345\323;\24[g\0g\20Kt0^X\220\323"
+"\362\231\36l\33SC\261\365\31 \275\311\34_\331\6\357R\2e*\276\325A->^\4"
+"\244o\231\242\363d\205\333\'>\316\264\330\205\327\315)\324\240\325\342"
+"e\335g\276TU\235\254^<\207\373f\362a\331\375\315t[\373\0\215\31\336\320"
+"\42ye\354>:\353I:\224\275E\266\371/=\212\247\357\230\315<\340\275\336\264"
+"\234%\32^1\324\3477\367\225\353u6{\257\324\34\337\205g\336N\272\251H\213"
+"\267s\215\354\224+\307\345\307\326\340\261\20\306.hG\332\b\357iEM\rK\264"
+"\336=\201{\23\264a\212\215\331\177\320\275j\366\226\177\310!\336\347l\177"
+"A\241Sp\277\351U6U]\312\247\351\311W\32\2119\200}]\305\346F\237\346\322"
+",T\34\376\210z\300\377P\211\314qX\321\261\220\343\245\303X\336:T\211=\337"
+"\256\240i\316\343\3614\r\210JR\215\342AN\3321\246fY\32\237\177o\200\177"
+"*Q>\264\232TN\177\314\302P\316I\245\303B\330:\216\177\214\333C<\230kZ\323"
+"\213{&\243-\330_W\363\374\245\347\353%\262\25\240\365\370\\V\345\3523\200"
+"\311\265\30}]\221\304\325\327\376\372\301i\311\211=#\221\325|\333p\261"
+"\314\201\374\303\327\262c\301(\324\rH\222-L\25\31\335\241\272Q\346\22\266"
+"\205!\301\27\325\332\344\236xV\37|\325\265>\376\357\332\3267\330\242\361"
+"f\337i\327\266\265_\220U\213\210\261\373\320\304\240\276\333\30\312\301"
+"m\375\2569\311\301S-\244\7\361\232\257\246\306\4E3\257\206\235\200\234"
+"]9<4\300\222\303\317rd\4\215%\371\275\3\30\220\276ssf\\\356\13\253s\2\362"
+"\300\341\313\255~\235v7|\77#\266\253\232\317_\366\377\224\275\375DAW\246"
+"p\354VO\347N\367=\227\212\262:\251I\375\34\210\13\177\257\355\314\7\22"
+"\357:\273\3729\203a\315\20\377$\303\212\3\362\31E\325\n\177B\326\266@}"
+"\275\341>\365\232\212SsV \277\32\61m\316\344\22\255\f\354\307*\236\323"
+"\3238\302\206S\n4\f\13\224N2\220]\n<\356\25D\260\363\336\223\336\263i{"
+"c\243\251\311\334l\261\232m\16\233\335iw\242f\t!\24\32\207\42\243b\325"
+"\232xM\202V\327\'\351)\36o\251]u\200%\32\65\245\277*\16Y\357\334}p\237"
+"3O\326\245\fHO\317\30\234\300f\235YX\313\223\341\373\t\3353\331\303Fd\322"
+"\217\17\34\357\27\7)\321P\217\375\340\210\221\366jKT(h\b\321\277\3673\331"
+"\35O\251Q0\21\225\267\375!A\365p\260+\204\260\334\35\315>\252\213\202_"
+" D\345\377)O\250\272\245\362{v\37\236h\315D\335\202\254\203Pt=\352&\344"
+"\202\344\371\233\356\22E\341\313\236\24bsQ\367!~\205A\222$I\332\25\36\330"
+"0\250\204\201YZ\313\245[H@@@@@@@@@\340\377\207\177\1\63\275%\t\255-b\270"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0\301\b\0"
+"\0\0\0\242\16\22\210\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\302IDATx\332"
+"\355\231[LTG\30\307g\331e)\313E\261\254\212\310.`\t^\220\32\215\250\21"
+"}i\32c%F\353\213>\264O\215\266\366\241OM4^\22\65ih\322\370TbL5\336\242"
+"\211F\305\264&Mj\42&\305\b\32E\353*\24\324.\267@Q\1\271\b,,\343\3\305\375"
+"\346\314\345\233\263\7\223\306\314\377i&\337w~\347\2339s\375\16!FFFFFF"
+"FFFFFFFFFFFF\357\257\\jsFq\341\3144\327\320\213\'\217Z\234\275g\376\17"
+"w\243tRm\2476&\305\35p\331Mj\321\277\2072\343B-\257\241\2\365\355\261\37"
+"\233\367\247(\25\353q\211MT\366\35*\325\310N[\250\242\26\252\322a\227\215"
+"\317\327E\325\372Y\33\225\325J1\35\324\355\366j\24E\3077\351\261\16R\r"
+"\365\314\325\352\367\21\35\26\255\324a]\245z\372\24\237\333%\265l\275\257"
+"\262*\324Mg-\371l\203\2335\324\254B\303:\303\274|`w\352\244a\336\357\226"
+"\300\326`\250i\257\241{}\1\264\35`Yg1\326\26\350\335\344g\215\345\f\253"
+"\377\3\204u\248G\212-Fw\25\3\333\200\260j\201\357/\374\344\212@\326\217"
+"\b\253\37\370\256\340\315\307!\353\272\32\345\3\256\303n\336\276\20\262"
+"^!\323\32\270\n\367\212:\b\13X\255\t\2602\n\312T\304\272\6+\13\224\254"
+"^\370\325D\254\77a\245@\311\32{\36+\247\211Xw`\245P\311\42\35\261b\272"
+"W\300\352l\7\225\217\324\2540(\13\227\250\373\372q5\251\\\t!\344\1(\347"
+"$*Y\365\240\274X\304\n\201\262\'W\311\252\3\345e\30\213\3530\226\25\32"
+"\2\313\242\210\325\30\5\225yJV\244&V\316\235-`\215<\323f\221\77@Y\270\n"
+"7\350\263\256\200r)\306\312S\263\32n#\3\254\21\224\363\325,R\21+\16\211"
+"X\177\303%j\216\232u.\326\2106\21\13\216fk#\255\254\261\257\243\302E\341"
+"\355\214\34Pt\30\247\357\306\'\226\272{\302U\207Y\16\367\243\373\355\347"
+"aJi\364\352\34\261\365\2`\235dM\36\336\373\362\225\342\314\341\372\227"
+"\2227=\225\267Q\300\42\343\367\25Q\77\325\357{T\220\225\355u\306\202\23"
+"\62!\350\214\325\26\221\216|\333\254h3\250\344:c1\215t\312\n\277\243\270"
+"\362\2470\256\274)d\371S\234\261\376!\262\16\263\317z>8u,\371\207\214\203"
+"\325\362\216\342\n8d5Oa\\\315\262\1\346\260\277\374>\311\272\232\266\255"
+"$\245\243\372\267Q\33q\221`\275\320gm\307\3045h\21\302J\200\327\217\365"
+"B\227\305\203\377\231\303\311\330\354\6\254\35\242\376r\35\237lzpk\234"
+"\3\354-\253l\271\372\260$a\5D\254\257\300\215\24a\265\302\276\27\260R\327"
+"\211\7v<\254\322$\361\31\13kcV\42\317ZM\364Y\3600\345\316\346Y\305\222"
+"\367b,\330\310\4\376\2G;\20V7\\\rs8\226\33\214\223\256\b\261\21X\200c\315"
+"\2]\330M\234\261\262$7R\234\305\267\321o\213\325\256dM\207G9\207,8m\372"
+"P\26\374\320\323S\255,\37\226\1\220\17\260\271V\26L\347zQV\'\254d[Y\360"
+"\\\220\214\262\272\224,\270\354\317\260\267\225\314V\355C3\321\307\323"
+"\231\304\215\212\25L\304X\314E\333ke\301\331\352)\304XKa\245\307\312bn"
+",\2531\26\223\20}ie1K\326:\4\365\341z\331\371u\242\7`bk8C\315\332\317\344"
+"\r\271\264\216\253\7\232w\2513n\275\320\367\5\237\315\377\225\261\253\376"
+"\221\270*\231\260.\361\36\333Y\7\305\257\203}l\316\366K\336#\223\315\217"
+"\227KQ\337\263\250\327\351\2\237\363\254\317\21\361\f\367\35\263\244\245"
+"\217\211\274\226\215\263N\241O\4NeM\26Tt\276\360\225\227\254)\372[\333"
+"\331O\220\372\5\377\377\3514\363UbG\317\207)V<\r\3256>\353\352\35$\236"
+"\319E+\327\362\331\354\376\5\355\342^\375\226\332\326\16\351\300\271h\27"
+"uQ>t|5\366P\177\245+\206\264\377\236\35\324\23\365\217\235\214\33\372\250"
+"\206\0\262\234x+tQU\32\333\302\346N\35R\264\334\243\263\257dT\214\242\250"
+"\307\245\272\273T\301\t\365\217\260\316\235^;{\336\336FyL\337$\23\233Z"
+"\272\257Z\20]\323\341\25\212UR\201K^\362qQ^\320\357w\21B\310@k\370Q\335"
+"\315f\325\353u\376\275\246x\t\351\37#FFFFFF\377k\275\1\330t\312\301\250"
+"\371\213\226\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0"
+"\0\0\301\b\0\0\0\0@\322\t\361\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\5H"
+"IDATx\332\355\231klTE\24\307o\273\265tw\353\266\2414]jw\241P\37\225\324"
+"\27j\37\42!\230h\243$-\211h\202\301G|\340;\251%\21\211&>\210\22_\365\203"
+"\tT|\4C\321\240m\370 1\1\r\240M\205\270\301Z\5+X\260\320\272\355.\260t"
+"\267\333\245\355\356\216\37\330\3223\367\3169w\246~2\231\377\247\2753\247"
+"\277;\367\3363g\31695\f-------------------LY\266\26\205^w\236\323\210D"
+"\203\243\377\t\226[[}S\225\77\177\3522r\254\'p\340\317\31-\371\262{\277"
+">\317\254:\371\376beT\341kC\fS`u\266\n*\247\371,\243t\244^\236u\315!f\247"
+"\266BIV\303(\263\327\211*)\3263I&\243\3502\t\326\3i&\247x\235-k\3318\223"
+"Uh\241\r\253h\200\311\353\347\\\323_;\370\313O\353\24<\250t\342\7j;\325"
+"u\232\267\327\300\251\360X\314px\212\313\26X]\365\302U\247\211{ur\2171"
+"\332zw\301\364\234\373\216\226a\363\203n!X\325\234\345\316b\313\316\177"
+"\316\2643\22%8l\33\64\374Pd\341;\310\323\326\241\254\274\30\334\316\16"
+"\241M>O;\214\302\356\201fw!F\336\20G\363a\260\315p\357\241Q\363a\16\366"
+" \234\202\337\373\26\360{7\303`\237\377\5\257j\20X\36\f\4]\350\313Ho\205"
+"W\327#V\327\301\345/\302\277y9\264;\203\30\255\0\66\351Y\204;\376\ri.\361"
+"c\372\301px\234\200\5\340E\211\30V\4\206\317P\33\274\227s<1\f.\370\34\5"
+";\5/<b\230\33\fG)X\30\13;\0\226\3\206\307(\30:\t`I0<A\301\270\217sA\f\203"
+"\217\226\42\62\220g\277\302`9\342\227\216f<Y\215oWp\3\21\61,(\21\366kZ"
+"j\370\1\26\22\77f\237-\312\277\243\253\306\354&\223\342\225\35I9H\224\363"
+"\205\r.\313\340a\344k\306\273\221\17vQ+\217n\264\262\214\375X<\373\206"
+"\330N\25\273;\346\13V\233jGc\313\344\245X\320hr\207\227\307\304\207\372"
+".\374\255|4e3\346\341\317\346\337\221\4!}3\16+\350\315\30\275\3G]\37\244"
+"\260l\343\13\352\203y\3672\306\30\353\200\31I\3551<G+\243]\251z\303\346"
+"\327\227\303\304\346\325I<\rzZ-\353\366\356#R\252\357\263\224X\265\377"
+"\20\254\310<%\326}\t*\327[\255\304z\224L\225\333\224X\367\223\254\23\36"
+"\25V\5]\16\324\323a\333\244\215n\362^\203J\260\25\364\302=J0zaF\261\22"
+",F\303|J\260_h\330\265J\260\2554L\255 \316\336O\272\306d\201\332&\77M\322"
+"V\251\205\214+\7)\330\227\212e\377\302>\252\336,T\244\225P\325z\263jK\42"
+"\257\r\207\235\314U\356p4\341a{\255z\353\345v\2648\16z\324i\305\337b\264"
+"M3\351d\255C\272\0\311[g\322eZ\334\213\364q\\\310\378\32\336\335\336\332"
+"\210L\272\266\210i\237!\233\'\300\30c\354y4V\212\333VO\t\337\313\217\27"
+"\'\317\345\241\337\241]\270\337\227SU\30\21\255\327\210\272s\347\5\211"
+"\320\316\251\311\367\250\350*r\222\260\265_u\251\362\336G:\311\23Q+m\273"
+"\245\23\63}#\332I\346\355%\216\366L\330\236.\24\346\314&a\375w>\31CO\236"
+"\fl.\bb\364\322Xk\325\36~$a\206\201\302u\276\335v\350\257\177l\204\\\231"
+"G\\]#\213\373dQZX\350f`\300U\313$\366j0[X\202gFg\251\301f\213S\30\353!"
+"\\*\1\363\211Kv+\314+\323\26\6\277\223\375fXBme\325\340w_\322\f\213\203"
+"\3\251\334\36\6\33\276\277Y\22\27XR/\261\77\352a;\351W\13\f\26\307\366"
+"-u\256iv\3102]\5+\42\227\r\313\31\206\321\361rk\214Oa\335:\201^\2021C\324"
+"h;\16\346\273\351\377D\370F \354\25\201\305\16h\260\206\f\220\337q\321"
+"L\324\332[\13\r\206\211^\256\361\26\307:*lY\360\305\37\236\3404\363av\275"
+"\320\350\'\316\246\35\241e\277\301\263\306\305\317\3608o\325y\205\260i"
+"o>\236\266\211\357\231\37\66\235\207MN\213\3774\233\17\316T\245\214\367"
+"0\306\330\320\246\33\241\217T\276i\351\340\233\27\66]f\273\376\260\6\354"
+"p\240gp8\302r\13\312+\227\n\302y\374\352AC\242O+\247&\302\203>Vd\35\240"
+"\272Z\256\36%V\310G\356\272\5!\5\326\370R\273p<\42\315\232h\260\r{\267"
+"E%Y\211\2252\251\360\220\24+\270\304\220QY\227\4kO\251!\247\234\27cv\313"
+"zD\241\2434\267\205\302\5\327\347\253\25\21\371\17u\210\277D|\327*\242"
+"\226C\27\354\250\274\241\322\357\237S\344\236Z\307\331\201\343\335]\7\23"
+"dD\227\2509\235\206a\30\321\224\241\245\245\245\245\245\365\77\324\277"
+"\36\177\312\257\272\242O\f\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0_\0\0\0\301\b\0\0\0\0\214K3\32\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\5lIDATx\332\355\232]L\\E\24\307g\13\354\n\356\262\200-T\304\5"
+"\312\226\260P\20K\33m*\t\251\37\251-\232\210V\f\330X\23ML\375HlblB4\321"
+"65Z\333\372\240\264\17\215\17&\255\326\304\306\2266\265Z\253\321\266,B"
+"\272\6\20[\20\350j\241\351\226\25\226\317e\273\273\343\3\335\273s\356\336"
+";\367\316\334\365\241\311\374_\2703\347\334\337\235\271\37s\316\34\26!"
+"!!!!!!!!!!!\241\333C&\205\276\345\265.\207\rO_\355\277\320\213\223~\301"
+"\334w\6\260\244\221\335\305\311\245g|0\203\201B\373\263\222\210\177p\30"
+"\'hdm\322\360\233\203XA\301\306$\341_\216bE\205\236H\n~C\30\253hby\22\360"
+"K}XU\347M\306\371_c\212\266\30\376\276\326\236#z\335\77{\315\245\217\226"
+"\306;\6\313\302\6\207\177\42>\330\263U\13]\365\336x_\203A|Q\374\335\331"
+"\273(\326\231\327-u\36\63\310\177K\42\35&zK\246\245\217 \303\30\377L\f"
+"\364o\16\331\275K\272\354\343\206\360)\322\262\263\7\3366\211\277\203\17"
+"|\353^;\244\351\237\2\346+\227cGU\206\370\313\244\216K\320\336\27;(\343"
+"\343\247.\374\261J\35\323\320\356\213\35\344+\237\237^wO\237;\252y\231"
+"&\351>\227B\303~\311`U:\357\231Q\214q\317jM\376F\t\263\t\32\332$C\216\302"
+"i\357-\230\3466h\361k\24_\177\204\26]\227\f\216\304\263\366\304l\201e\32"
+"|[$\346:\17\326\342zL\341o\217\33\277\324\232\300E\311\365W3\21\216\377"
+"\240\360\233\211p\24\262j\360w\306}\217I\276\326\223X\235\277n\236\\\300"
+"Wh\360\313\210\301\374\325\230\206\20B\226\246A\254\316\257\234\0\1\42"
+"_k\375o\253\'z\307;\256\246\26\255\202s.\374\233l\25\264\27\220Mo\261V"
+"&V\35\306t\201\361\333\273\241\261E\373K\376\230\201\237\341\206\266\376"
+"tm\276\271]7\77\375\f4\315\254\326\263\24-\271D\345W\304\361\247\240%\374"
+"\244\276\265.\257\213\306\227\2\214\355G\31\376Y\275\213\351\35\7\242\352"
+"\374\217n99<\274x\204P\255\372C\230\272\37!\204\320&\37\23>!1\253}qc\256"
+"\262\353\3747\235\2639\r\262G\31i>\302\272\1771\271*\n3\315\310\232\273"
+"J{s\21y\376+\3Q\277qF\343\233\300\223{+\215\244\25\333\260\266.l\266p\363"
+"mA\35\27\300\327\337\275\213\367\2\277`]\232\372p1\37\277\25\353\324x\213"
+"\231\207\277\35\353\326@\35%\277R\223O\377P\234g\367\261\77\350\6\314\42"
+"\367R\326\361\3171\215\346\1\267\223\221\77\3056\335\302\237\212\331\370"
+"\254*h\263\377\217\367\7!Tq@\273>Cf!\335\212\335a\217\3077\223\225\343"
+"\254\311L\264=}\224a8\225J\257\311\350\233\261\25<e\315g\223r\253\327b"
+"\214\37\375\4$\13\213[\3451o\253!~0!^\255\37\227}\310&\3|\245\\\241\332"
+"\17}\352\f\360\267)y\255\13\1\237V~\376i\345\271\357\200O\230\233\37T)"
+"\4Y\206\200[\t\357\367{p@%\265\330\t\313x\234\343\17\253&\24f\220\25\355"
+"\346\34\377\367\303j\226\320!\262U\316\311\377B\335t\234l\224\360\335\237"
+"\260]\3351-@8\316\362\215\377\267\200\272\355f\27Y4\260s\361\333i\306N"
+"\260(q\361\273hFPw\311\346\342_\246\31\7\311\306\235\\\374A\232\361\32"
+"\331\260\362\360\203\1\232uL9*2\360\307\250\326\t\262\221\3115~\2729\204"
+"8\362C\206\\b\316(__\245P6U\6\276]c/b\224OO\360AV\22\340\341gS\255`\3\343"
+"\347\341[l4+H\315op=_\7\315H\206\266y\256\361#\352v\233\214\374W\370\336"
+"Oj\ro%q<\240\233\17\376\353RM\335\273\20\307\177\352\346O\202\322\7\305"
+"\261\344^\242\321\243\233\357\'\33\371.u\307z\20H\31\26M\235U\302\16\302"
+"\315\317\360PA\241\260O5\363\256\42\335\276eX\337\372\310\206\35315\267"
+"\267\311\306i\206wr+H\20\317\251L\340>\2628\33u\360o`\236StJ9O\3720<]\204"
+"L#\200\357W\34\333\373\300\347\r\246\260\361)\234@\267B\24\330\2vx\263"
+"l\245\2405\262\35\214\247@\356\361:\254\214\177\316\30\367.\312\253a\315"
+"\300|\367\21h\216\270\30\371M\t[T\317\13R\250)\337\'\337_\37b\252\17 \204"
+"R~_\241P\37\350\31\2312\331\2355\t\231~\260|\23051x$\312PbjA\354:\250\37"
+"\337\231\306\301\267\366\352\305O\224 \369}\372\360\341\2079s\263\225c"
+"\272\360\315\334\311_\305\2206\336\320\357T\226|\247\205\37}\310P\372j"
+"z\351\6\25\1774\317h\202\234\265kR\225\336\273>\31)x\346\253\35J\360\310"
+"\17O%-\315/z\345\360\20\370\236\375\'^\243\305+\236\37\336\330J\35\371"
+"\331VS\352\315\351k\377\364{\223\377\23\63!!!!!!!!!!!!!!!!!!!\241\333A"
+"\377\1([m\21AE\343\27\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0o\0\0\0\301\b\0\0\0\0\344\270\261\42\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\5\311IDATx\332\355\231kL\\E\24\307/\13.\213T@\26\20\20\352\312"
+"K\272\24R\250\325\266\24\254i\255\245\30\232jS\375\240\1\65\306\230\30"
+"\5\261j\23\2146i\322hL\232\206\320&\276R\214\375`[\2536\325ZM\33jE\260"
+"V)(\255H_ \345YJ\227\302.\217]\256\37\272f\317\33493s\227\20\77\230\363"
+"\3734\233\373\277\363\277wv\346\314\231s5\215 \b\202 \b\202 \b\202 \b\202"
+" \b\202 \b\202 \210\377\13!\252\353\311\t\261!\236\t\327\220K\42\n_\262"
+"83)\312{c\264\367r{\233g\326\317b)\332\3368\246\373q\265|\362R.\246\212"
+"\25684\256\7\230j\254\311\236\225[\342\333]\272\221\356m\16V\24\272n\337"
+"\4\247\322\177z\302\22\254\333\355;\334:\306\344\356\330\200(\5y\244\233"
+"\234+\t\316\256bH\27\321[\352\37\355\207\277\364\352b\366\305\233w\263"
+"\177\241\313\330\233\246i\366W;u9\335K\314\332\345^Tt\345k>\344\321\225"
+"\270\327\233\263[\351\322\347\206\251\rf\354\326\270\365\271br\245\332"
+"\356\376q}\356\30\274Ke\2271\250\317%\77\206\32\3727\374\216<\346\230\323"
+"p9\177\264I\32\77\367\224\317\256\337\266s\256y\267\304\';\254\306\13\356"
+"\254+\222\333\36\345\6\344\327\267J\262\23\22\323V\224\3578\345\23\r\332"
+"\364G\231\376\373\255\5\325\r3\354\305=\22\273\230~V;\263\77\17\\M}\275"
+"\7\265k^\304t\342\254g\34\275\367\210\375\352\f\21b\225q\337\251\274\301"
+"\271\215Wr\261\271\350o(\370@h\267`\232\351\251\321\216\374\377\247\fv"
+"\'3\220\216\222\333\200b\42N\344\267\237\351\351X\4\246\261\35d\375J\321"
+"\236R\340\33\276\42\260s2\343~&\32WY\17\63~;qU1\230\\-\2\277\217a\77\256"
+"\f\321(Du@\335\237\2\325\373@\203\317\30;\23\362\237\21\317\252\305\314"
+"\266\'\210X\216\311\200\3445TQ\311L\3Y\36Ug\346\301>\13H\216\243\202\323"
+"\260\227\345\262`\22\7w\220\275\2\321#`\206b3/\23\332}/\217^\360\5E\341"
+"*\34<T1\310\371\376m\224A\361N\271\37\\\302\311\351\270f\362\7\260\307"
+"!~0\241\3529\42\367;s\26\374X&\20\375\ff\30\357g+\4\322\3>\305vp\30\264"
+"\227\212\36*\320\\\310_]\16\377\276\7T\333O\t\20\67\t4\331 \221\t\343\256"
+"V\301\20lU\371E\3\365\230`\351D\0M:7\236\371p\344\247T~\256n\220\22\314"
+"\3075\236\301@;\215\363s\302\225\250\336\317\341\204\21E\276a\20\2779\77"
+"xS\273\332\17\256:Q\16\66\22h&\31\375b\340n\360Wp~I\2\315u\20\221\214~"
+"\211P\330\247\366\33\2\355X\201F\307$~\277\370 \375\340\2\275U\240\31\5"
+"\363\331\350\27\305\204\42\265\337(\334\20\325\357\27i\364\233\'\350KS"
+"\367e\206\b\243\37L\263\303Ltp[p\232)>^\253\377\17\246\224\0\27\266@\3"
+"\236\333m\274\221\251v\304\250\375\42\65\2543C\320\3\361\310\3507\6\205"
+"w\252\375`N)\252\314\304`\241\306\3577\300\344:&N\370\240}U\240\271\3["
+"\256~\277\36(\314Q\373\301!\350\305%6\360L\335\334x\302\27\64QXH\3\355"
+"\256`$\26$F\27\252\212jZ\330\335\340G\'\256\311\2\355\16\316\17&\335I\371"
+"*\77\'\330\221\373Gp\rH\42\206\3739\77&+(S\371\335\13\332\255\2\r\370W"
+"Z\370\205{\2F\250rU\271\255\30\317\303\230\203:\310\333~Q\245\327k\25E"
+"\321\1\240}\b\327\344\3\311:\344z\r\364k\220\373\25\302\343\244 \374\201"
+"\376\246\260h\233\301\34\353\344\205\241\17\201\362[\201\246]\365\364\215"
+"\314iS\266I\304\303S\374\363\270f)\220T\241\212\247\230\27\334,\361{\7"
+"\326\344\342\224\3071\37\236PY{\231R[\201\320.\23\36\307>\30759^\365d\250"
+"f^\360\274\250>\33z\2\312\326\340\242#@\362\244h\323\357e\3138\321&N\267"
+"\255x\350\253\0\222\1\233h\240\236fK\35\247\355\330\322\333\306h6\341\5"
+"b8\241j\304IB\23kxq\21_\234\370\224Q\374\206\6\42\7\254\332\217H\262\205"
+"\205\223\254\241\347M\366\244d\331t\211\25<\210\365\222\307|$\330\42[\310"
+"\233\215\325\261K/\4\376\305\344\252v\303\325zl\300\237\33c:\260\311\352"
+"\237!_s\337)<\307\233/\273C\243S\323\357\313\344\16\21y\3278\273\325[\331"
+"\322F\3517\362\317*\235\346k\305^\343hF\256\330\362\273n\276\372\31l\375"
+"\272\232YL\217\355n\343\77\267tD)3\223\202k&\355v\301\273^\274\216IFsM"
+"\244\316\5C\246\354\352\341\21`\25\376\371\241L3C\326y\23vuLa\377]\364"
+"\377}\334\344i\306~T\3456]\315\336\261\13\321x6hf\261\2741!\265\353*2\334"
+"\360\36\257\351Y\26\314\201-\247A\362r\265\\~\260\236\23}\225\20\334\t"
+"1dc;\3566s\320\211\344\277m\254\350\302\306\340\77\231X\312\276\343\277"
+"p\f\327\342\37\2033\340\'\303\326g\255\332\254Hy\371(\330Y|\177\324\256"
+"\r\27V\265\267\367\335\254\205\235\334*\315\316UG\205\320\354\5\251\361"
+"\341^\337\325\276\13g\307\24\241)\3216~\245gF#\b\202 \b\202 \b\202 \b\202"
+" \b\202 \b\202\370O\371\7%\220\26\230\345\3214\77\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Q\0\0\0\301\b\0\0\0\0\222\202\3\251\0"
+"\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\21IDATx\332\355\230MlLQ\24\307\347"
+"\303(\323i}tj\250\241i\2336%\206\2102\b\22$,\304W\264\22\26\202X\20\221"
+"H#H$,D\33\361\261\20ibE\42\335\210M\2054!\276\203jPD\251\226~\240)\246"
+"e\3721i\247\355\314\265\220\232s\356\273\357\275\363F\254\234\377\352\276"
+"\271\377\367{\357\276\271\347\234{\257\315\306b\261X,\26\213\305b\261X"
+",\26\213\305b\261X\377Fv3\203cj\216\177R\272\333\23620\334\35\372\332\322"
+"2\370W\304\314\225K\212\2n\364S\254\361\371\343\273\r\311\275\375\344\322"
+"\232\230P\253\351d\300:\257\350\312\2400\322\223\22\247%\336\314k\302T"
+"\3576\322y)eQA\321\255<\42\60\377\245 \252o;\t\270\352\247\240\353\302"
+"(s\340\346\250\260\242\33n3\340\272!aM\267F\33\3\203\21aUW\245 \301\263"
+"*\363v\206\345\231;\323~\317\240\267J$\241\341\25\372q\275\265R\361\224"
+"\376\332\232\346\326\316\360\220\323\341\361\372\363g/\366j\34m\263\372"
+"t\3360\255C\363\374\201\3125\322\227\267\317;\23\222]\247\365\306|Tv\16"
+"U\370U\276\324#}\330\27\325\t\36\217<\265\33\202z\317\316y\206\235\227"
+"\324\266R\tx\']\377/tW\343\301LW\346\336\6\f\274\235b4g\334O\221\271\\"
+"\345Y\214\201\357\307\31O\303l\364\215\276\250\262\3459<\216\271f3{\17"
+"\362\257T8\332\220\343\224i\254\214j\202\376\363Z\303\f\4\f\2177\17\77"
+"\364\222\37\315\6QF\b\350t\224U\262\377\224\343\221\306\42h\216_ \20{\252"
+"\341\325\42\r\261\bv\77l\243d\235\353\360b\276\246Z\r\303!\354%\345\261"
+"i\360\226\233ro\0}\306BZj\374\2ni\225G\235\13\235\355\304e\310\13\320\366"
+"\273$\42\n\314g\304\364\375\26\26\3\237D\364A\347+\42\261\t\255\223\214"
+"\210o\210\304Vx1N\42\242\314\325B$\266\243l$\21SQ\210\23\211!TS$b\32\350"
+"\213\206\210\304\237\312E\261\34;zF\225\342\335\6D\2500\271\372\303\252"
+"\332/\21\243\311\274\243-\6\332\21\2118\240\3433I\77\240\335-\21\5\350"
+"\33 \23\341]\77$\42\374v\321\244\366\26\337\f\210t\201\25no\217\1\61\215"
+"LLUD\344\b\261\13\370\306\220\211\236D\263Y&~\2\276\211T\240\238\337\311"
+"\304\317\212\274d\252,\320\256\227\21109x\274Db6h\327\311\304\3570;\24"
+"P\227\340 \36\33\64q]\17\234s\210D\260\203\255\215i\210\260\22, \22\27"
+"&\232\367\25{-U\2454V\32\250\361K\264\335S`\275\236A\42n\2+/\2476\77v\300"
+"\32\275\231D\\\237hV\253\362U9x\307\17\16\312\240\301\216\241X\271%\204"
+"\303^C \356N\330{\334\246+\373G\204\20\4k\334\213\204\335G\261)\361\0p"
+"/U[\274\275\300\23\t\232\0\227\201\215\270\356\252\6\3767\342\273\361\f"
+"\232\2\367\220;\364\\\31a\210\374\3547\0\272\36@\247\3761\300^\264,}=A"
+"\237x\26\32\367\30\234\272\325 d\215\356\251Fq\34\236y\271\f\6\223\213"
+"\267\257U:\'Y\5\350\363\2545\374\340\33\320\2_T\250w\231\257\320c-\355"
+"\366\304a\225\347\42ttf\231M\334C\360\23\211\370\26\255c\33\62\2547\217"
+"\256\235\350\f)\242\331\303\26\242#\205\343\224$\265\34\35\200\274\227"
+"\252\267\13\35(\\\266\223\362\236\357:\274i\27\356<\b\373*\311\307\232"
+"%\355\211\273\216\341.\220\241\342\'\3546\262R\17u\216\2348I[\310\273\211"
+"j\264\332\332\262+}\177\243\20b\360\336\n\351\367\274\'\277yo\367\215\265"
+"|z\355\b:\273Z\24\253\323\334\200\317\326U\327lc\261X,\26\213\305b\261"
+"X,\26\213\305b\375\27\372\5\362\21\177q\22G_>\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0\301\b\0\0\0\0@\322\t\361\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\4\303IDATx\332\355\231]hTG\24\307g\315f"
+"\363\261\346\2536\3065q\215F\315\32\23\243\246\255\245%\230j5P\305\207"
+"\30\360!\215\340C\243\322\42\210\5\221\322\26l\241!\205\202\245`)\25\373"
+"A\213\266U\24\324\227\6R[5FAc@1k\214\251\37\61\21\353\306ln\326lww\372"
+"\320\335\334s\357\235\271w>\366q\376/\231\3359\371\335\331\3718s\316\271"
+"\b)))))))))))))))))))\321\344b5\314_\342+\310E\241\360\235\241\177%\37"
+"\351}\377Z\2\'5\331\265\277\\\206\345\357\307\6%N\277*\16\273\200\315J"
+"\34yA\220\365\n&hh\245\30l7\t\206\'\352-\2063\30`%\344E9\273J\4\66A\376"
+"z\346\361Y\2\77s\3\246\350G\1\330\214\36\32\355\r\1Z\311\31\n\354/\241"
+"\343\26480\3077w\336\202\n\217\351\373\372\363\342\273\327]\263\353\367"
+"8\34\332\21\311sZ}\t\300\306\263$i\331\177\0\332:Y\267\345\237\322a\355"
+"\274\233\326\254{\307\364\366*i\217\272E\37\331ciX)\230\264|i\3323\35V"
+"%9g\b=\320\233s\245a\243z3K\32\66\16\34\2214L\323\233\31\322\260(\305W"
+"\t\301\42\351\204Q|\2724,.\r\363\22\27V\20\226\237N\330\42\342\376\25\323"
+"L\335\241E\\\262#k\320\357\225[X\26\326\2527\257\310\376\312\205\300mo"
+"\225\205\375\246\263&\363$Y\255\300\317\36\226d\325k:+\36\220c5\214\201"
+"\201}/\307z\7L>\16\227\312\240|\307\rA\320^\tT\316\336q\3\253\'C\30\225"
+"\277g\330\30\234E\252DQ+\276\34\67Gz{\304H\225\373\372\254Qc\247\213\37"
+"\224\275\266\343\6)\2\375\207w%=k>\352\324(\341l\23g\220\375\341\30\246"
+"\352(\347\270\366c\33}\301y\325m\263\335\276\234\260\42\306[\200\t\326"
+"m\7\253r\363\315\331\374\1\273I{\211\360\37\66\307\353\331\267\23\345\364"
+"|w\340\42w\365 \320PW\33 \272\346\256\265b\245\b\177`ym]\300d\31\363=\21"
+"\367\77E\233\277\372\3330i\273$\13*\257\377\0\374l\217t\314^vx\272X\202"
+"\345\223\23\264\356Q\272\2569\204\20\362\7\223\260)_\32he\243IZG:*[\215"
+"I\230V\222\16\332/I\332\301t\300\252\222K\32]\234\16Z*\261>A\77\350\331"
+"\333\336k*\275\375\234\1\226\273\361\377\277K\273\357\320j\27\375\30c<"
+"\262\206\1V\236\332k\267\263\311\6\205\203\311hd\t\3\355~\212\366\t\271"
+"\377 &O\4Q\247R\306Q\342\241*\231\234\356g\b-\333\247Oh\237\207p\7\264"
+"\344\244Z\231\f\13>4\335\2529`\263\332\30\343\327\234a\233A(\372\2465\244"
+"\210\352\335\313\234a\253\201\227\34\236m\376\231+3u\313\20W\222\216|\357"
+"\232a\325\240\367)W\222\216\220\307\f\3\67\264\366\234\23\26\65\303\374"
+"|I_\214\230\261\247`\3005q_a\232\31\6\256n\226\302\223\233\230\363\247"
+"`\5|0/\3740f\206\345\352},/\17\f\316\342\251\31\6\352C,Y\237!\240\31\261"
+"\211\317r\30`/\302\17\3036\2609,\261\33h\207\302f\330\4\271\274FS\5h\17"
+"Z\\P\30\\\331^g\330r\320\16Z`\340<\272\252\235S\4\30\204\336\264\300F@"
+"\257\363\225R\7\266%\352\263\300\6A\357zg\337\b\77\\\266t\267\1o\27sZ\2"
+"\67\214!\207\254w\300ux1\357t\200m\1>\6\235#\234\217\bxX\310\376MKV\20"
+"\306\266\244\254\350\34f.1t@\323\370l\202\305>C(\335fWqI@\313.b\265\310"
+"`\22m\245\262\332b\206\307\356\260\r\223\222o\366>\'\277\320(\376\311\230"
+"Bi\5D\263fS\2465\320j\305U\264\207MV\337P\216\210%\257\177|\250\251\f\34"
+"\331\306O\273\23f\223\370RJ\356\264\3614\341\21\241\207\243\332\224;/\247"
+"\270,\2274\202\237[hS\373+\346Ud\1u\235\212\37\360\302>\266\13G4>V\257"
+"\307no\2775\305\303\32\253tH>\302\354\254\330&\'OU\23df\275\355\354\335"
+"\363\16\305\331\26\262\231)\16Y\375\'\3\353\356\313\314\t\352Y\207\321"
+"\305\277\346y\21\66\377\203^\33\324\311Z\356\34u\373w7H\3\f~FMa\354\353"
+"\32\336@e\305<_qQaf\241\13\305CO\356\365_=\77\200\224\224\224\224\224x"
+"\364\37\201P\f\360\7\340\27\373\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0\216\0\0\0\301\b\0\0\0\0<\230\327m\0\0\0\4gAMA\0\1\206"
+"\2401\350\226_\0\0\b\7IDATx\332\355[iP\24G\24nXn\1\225cYT\24\17,\24\215"
+"x\304\13\215\361JE\313\200\232\313\250Q\23-sT\221*\223X\211UZ\225\30\317"
+"\244<b4F\203\7\251X\25\61\22\321\362\306\250\b\36h)h<\202\30PP\20\24Y\21"
+"X\226\335\355\374P\344\365t\367\354,;\263\353\217\376~\315l\177\375\372"
+"\233\351\236\327\257_\367\42$ \340.x\310"
+"\226\372v\211\351\22\20l]Qc\317L\317\312J\373m\365\230\341Q\377\350Na\201"
+"\271EB\207/\3116c\2141\306Wb\354p\247\327\224&\330\263\27\271\241\361\251"
+"5S\366\242\336\216\212\211\\|\33\67\3038C\216\33\226\2061\266,\365\221"
+"\343D\374P\7\354\341\13\323<\35\20\23\266\262\26\223\330\333\221\307\365"
+"\234]\371\224r}$\327^\327\365u\22{\370\352\253\212\325\274]\211)\324-\13"
+"a\212\231t\271\231\263\257\37\2232>\303J\333\303\266\325^\212\304\4\354"
+"\300L<^Guy\370g7\310&\216L\364\225P\372\257\274\2039\310\fR\240F\177\26"
+"s\221\277dl\333&^\320\260\257\2165\322\224\252\35\263bu\317^K\314\364\224"
+"\22,\203\234\0\273\37z\207c\335\345\345V\336{dA\336m\f\21|\212\271\364"
+"\301c\344\35\336\305\317\336\243gL\302\362\204\326\227\261+\361\265\274"
+"\32]\246K\325\340\6y\17\264\b\273\30Yrj\206X\\-\7\'\362\207\262.\257W\313"
+"f\276Z\263.X\236\361\244\21\371\371\263\n\316\16\201w\204+\232+Uc\315\330"
+"w\251Z\327&\272\357\270~\274\271\326\226\225~\272\240\6\241V=^\231\362"
+"2\233qd\367\331[\365\b!\277\250\330A\23\372HJ\7\'\344p,\7>\220\316\f]\237"
+"\227\365\336\305~\327\7\340X\34}\215\301(\34H4\22\277GR\276\235\367B\277"
+"\220\214\372\217\211\322)\265tS\226d\322\202\377N\212R\322N\332\314\273"
+"\217Ig\357\317V\343s\233\240\325\277.)\37G\215s\333,\312Q\354\225r&\320"
+"\r%\324\20\214\211l9S\311\7O\244\b\213\245Mm\240\215\264)%)y\366[\372\225"
+"-\347 AZH\23\374$\23P\31\353kz_\211\333\375\13R\212\231\24\3\321\27\'t"
+"\f\312|\262\251/Yf\274\212\b\316@v\230JD\34\321,\312<\31001\303\321(\33"
+"\3444\2061\233Z\29V\316,z\30\222\246\200\330\350\371\325xH_w\223e\244\344"
+"\32\274\313~\300l\351\0Q\303\304\226C|\335,w\25`\2zk\330\17\216R\340C}"
+"\303\346x7\0\316Y\216O\t\201#\343(\343\355\214\204a\334f\366\203\243\177"
+"\341M\36\233\323\bI\274\345N\325\58\222\30r`$\2157q\254\24\301\233B\16"
+"\251\24\\\77\346\271\334\\p\335>\230\226\3;0\273\200c\344!\274\271\317"
+"{r8\267\362\344\\\2027\235)9\272\376\240\370O\236\21b5\312{r\370\273\205"
+"g\211x\340\216\224\234\330@P\274\217g\244\201{\343(\376\2037\355)90\264"
+"(.\322>7P\6\37\306@\311\351\6J\317\270\42W\1\277\335p\272\263@i\276+\344"
+"\300\17!\224\222\23\303\363.Z\301\bWS\224\234(\216\343\320\fu0\f\225\312"
+"\361\324\203\322\nW\310\201\356\200r\203a^\34\341\232\1\256\206uR9\221"
+"\304\254\303\265\1Kl\316\311\201\36\65H*\207Hm\370(\32\177F%\rqI\234\247"
+"a\345\304\374\2716*,l\307A\240\\\311\234\305K\245\321=\211\370\13J\353"
+"\r\216\233\207\270\306\221&\211\257\344\344\20\323a\b_\375\311\346\313"
+"\13<\316\271F\373A\bB\336\340\332$\225C\364\244L\42\3517\5\323~\365\376"
+"\346\274\23W3\230\30\340\b\363dD\16\35\370rr\2676]\245\345qI\13\353\233"
+"\256v\77\341\222\332\311uik;\253\271\346w\274\332\2141\306\266\35\1\62"
+"\244\t\306g\313\363v2\223\4h\360\'*\241b\6}\2319Vn\360\207\217\350\244"
+"+=],\373\201\30>\34j0\337\315\332\306\1779\3210\210\371t#\25\340\2\261"
+"\367]\340\224\223`w\f\245\374N\tL\345Fi/\7\256\24\32.Rr\210\0\60A{9c\240"
+"g\240>tt\35rGh\256\246\'\f\206\17\322\223\304eH\36\257\271\234i\360f/\343"
+"[ \362\16}5V\343\17\367`\2560\246\320rb\nzGc9\263`\16 \225\305\330L$\364"
+"t\232\252\t.\207)Hfzb2\321[I\232\312\371\1\66\305|9(\260\36r\216k\251\206"
+"\310\355\333\342\330\244t\314v\224\252#\224H\327\245qXo\221;q\232\251\361"
+"9Jd\364zph\276\17\355\345\203U\201\307\357XY\364\260\216\340\335\362\327"
+"F\315/D+\25\241\\f\34\231\246]\245\205\32\357T\262\221i2\334\343\4\323"
+":Z\3\207s\204T\223.G~S\222T\357\240\266\232Xr\233\33\227\206\312\261\275"
+"\212I\366\271\0u\325L5J\266\204\206\311\363\223%[ \31\336jv\3246\351\16"
+"\313Gvj\4VI*\354\364RM\315\210\42\251\232\345v\353|\'\255\262\307O\35\61"
+"A\77\333\244\246\267x\330\255\25F\355\350\345\350U\221\263\236\332\5LQ"
+"\22\64\254\245\252\335\31\254\206\234\2\251\331\357=\224T\353\320@\351"
+"1/Pa\0I\6\245i\216\302z\233\30{\275\347\235\217U\257\22\6\13\6(\255\327"
+"\231q\6\6[S\42\235\224\263\22N\342\253\34\360g[\231\333\345uk\234[\n\206"
+"<\367\260\326\335=\35\251\330\265\221\275\177oN\33\343\351\204\236NO\217"
+"\276\224\375\30+\77\341S\277\244rO\301\335\313<\177!\317\324RA}F\31\312"
+"r.Z\221\203r\272_\225\373\222\32\377\311\315\315\275nE\256C\252\335C.5"
+"\307W$\31\264\211\316\220\203\257\3479\212\317\2349\235oy!^O\23\236\374"
+"\375\355\330 \215\337\16\32p\336\21\13\326K\247N\236\252\322n\341\361y"
+"\245\303\'\246\254\371k\223\332h2\226\246\334l\341!.\313\371\345\243\375"
+"TV\3237\313\251se\265\207\347\305\252\'\246\355F\253\363G\335\2126\214"
+"Wg\211\366^\271J\207\357j\323g\2059+&b\217\232\307\1-\307>q\312Q\276V\216"
+"U\206\345\330\234\220\226\252Y`\305\32\300\224\226\330\222<\232\307\6\315"
+"\16q\336]\332\331a9K\264<Uj\315\30\343\230\232a6\215\317\271^\232\346H"
+"\370\277K\373\203\2677g*\37D\371\2568\t|\365\r\2453\372\t\306&\204\245"
+"\252\252\272\332h4\326\326\31\33\352\352M6#B\365&\204\20\362\r@\301\336"
+"\255\3\203[\207\204\204\352\rz\37\345\235p(\271P\221\234\17R\232\242\362"
+"\207%\245e\367\356\227U<\250\250V\330F\270\241cT\307\350\316]\224,\236"
+"\353\27\255\261)\211w\242\343\365\b\331\356\25\27\267\374\274Cp\367\230"
+"\270\330\270nv\206l\346\364\373\16\207_N\3007.>\276_|+>\241$1\17\271\30"
+"^}\346n/\344\215h\343p\344\16\264\233\232R\304\324S=\20\271\t\261\363X"
+"\177{)\321#\267!d\346~\263TO:r\'\364\311\322\77\312\214B\356EB\32q6\373"
+"\20r7\272m\7\1\225U\357v=\250\327\311f=\223\335/\7y\314~\324$g>z\21\20"
+"\261\345Y\217-C/\6^\372\303,9l\257\351\234e\37\221I\203\374\2636b$ "
+" \240\26\376\7\3250\336H\326\214\303\'\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0\301\b\0\0\0\0D\'\331\314\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\5DIDATx\332\355\232]lTE\24\307g\77\272\375"
+"\\\227\315nmK\241\5Z[\255\245iE\276\244\215\320H\0)$J\344MS\300\27c|B\203"
+"AQ\242\221\350\203\6\343\203)\326\32cMiHh1\322\330\24\355\22A\241\322%"
+"\42\255\245B[\354\367Zua\77\350\266\273{}\220\2269\367\316\2359\267\356"
+"\213\311\374_\272\367\316\311\357\316\275s\316\23193%DJJJJJ\352\377,\23"
+"\2779\351\201\342\374%\231v;!w\246#\276Q\337o\275\201\205\342\34\325\233"
+"\326\227\331\324w\207\274\337u\366\32\356\265\343\371\216\31EO\327\337"
+"*2\4[\331\20V\270\212\237~\f\r+=\25W\304j[\201\2029\77\216)(\205\367\233"
+"\304\264-\243\nZ\315\351\2\230\371\355\270b@\335\16.-\371\204bL\27\354"
+"\34\232\255M1\252\257\364\277\237\251Q1\256\375\272\270\3\13\240)\221\7"
+"u\202\354\321\37\222T\374\340\217\335}\203\276\77\303!BH\252\303\265\270"
+"\240d}\271U\335\211\3235\354A\365\302\307\306Zk\222\265V\256\275\227\324"
+"\375\333\304\304=\13\215\272*\364\276\311\216!h\331\312\34\207\36`S\237"
+"\304I\17\355\3605X\321V\tL\32\271\361c\373\26\30\37b\230|H\33\\M\341\7"
+"\317\242\21\340\313\f\13\360\256\217\213\42{\27\310V9\232\366\f:V;\305"
+"s\302U\232\367\364=\367\270\373\267\220\376X\37\tq\3121\372\352\21M\373"
+"V\352a\376dq\36\313\245\337\246M\323;\13e\332\21\21\343F\373\251\213\2"
+"\rn\226jm\307$mz8\227hpC\324wi\303\340~\245~\247\271\325\270\376\221\371"
+"\306\2561\f\356:}q\237\32G>\231o\373\2\65C\215\323\27\3329#\275\357\356"
+"0Me\240p\305\264\343\255\321\364.\264\331\373\357\227{1\210\302\335\1A"
+"<\367\343^6\34^\273k\3732\363`\375Y\334\334\36J\354\322\313A\277l\245\346"
+"e\23#\211\2238\211S\313\312o\266,\315\317ZD\b\211\6\376\232\30\f\377\'"
+"\234\265jKUy\32\225\364o\\\360\264\217,\260\333\205\357O\262\312\223\256"
+"\227\363x\31E\17\326\244[\\\304<\265\16B\210\23\217K9\22\341\27(\215O\230"
+"\327\240q%=\342%\361\315a,nG\300\360z\233\223\215\367\266d$\320\357\236"
+"\2537%0*67\230\22\30d\313OX\22\30\263\326fG\42S\300+\253\23\231\2\226\277"
+"\301X)u\374\3247\3717q\270\212*\252+\214\345\237\343\232\372\355\330*\272"
+"=\357\320\204\300\357h\225\253+\355\26M=\223~0\214\306\251:7\275\207eT"
+"t\t\211\313\233\5&\376*\366\27Im\306\341\16\3\213\220n\345c9\216\301\231"
+"\6\200E-g\237\353,\2\267\32\30\64\361< k\\\214{\207n\277\225\315\365\250"
+"\335b\34\30\261\303\2\17=#\3029\351\311!\350\26\3406\210\322\347::\200"
+"NN\tp\347\317\13R\0\b\376/\205\361\330 h\77I\373\234\270\2u\314\360_\226"
+"\336\2549\'\256@o\235\343\276\254\271\220\36dD\366\351\344\342r\350}\223"
+"_\208/\27\227K\337\34D\340\256pq\231\364MLA;6\313\3039\351\233\267\21\270"
+"\330\30\17\7\66\35Q%\350m\36\16,$b\30\\\230\207\2630K{\236f\321Km+\6g\347"
+"\341f\350\233\231\30\234\205\207\3\265x6\6\347\346\341\3008\345bV#\231"
+",W\230\303\375\1\66\65\20\270\373-<\34\330ey\b\201+b\372\340\34\356w0\251"
+"!p\364#\343Sj\\`\222j^\206\30\13z\37\330\27\327\370]\17m[-\306m\240~\17"
+"i\335\30$\234\355b7)\241.\6\264\270\213\264\3616\233\bWcf\356\345\315\337"
+"\5\63\235s\247\b\367\24\21d\357k\364\324\364\215\200\226\r&\262\305\f\213"
+"\243\240\320,\343\343^\243\215\7X\26\33\341!\23\227\226\16j\335\317\230"
+"A\bN\264\342U<\334\253\340\321\3170m\336\3\66\2279\203\233\17j\312iv\266"
+"-\200\5\366\273\2724\23<\257h\3211k\205e\277\256\263\274\tWczvk\241YH\347"
+"\220\263\26\276\305M\335\251\340k\310\13\62cm_\24{PV\n+\13%\372\272\346"
+"\311)GU\313\342\t\316\261\345\7\352\25~\327Fh\260\365\232\332\342%\216"
+"\77e\fh*\20\317\236\371\22\327\275O[@\375\f\373\257*\325+=\332\371.\332"
+"\353\35\367\23\307\322\262RF\333\272nn\370\30<g<(H\25\306NAO\t\353e\333"
+"\31<\355\242]<\t\244y\260\264\313\250\305Gj+\216\366\275\23\271{q\4s^^"
+"\227L\260zrB\4\363\3556\262g\341\372\224\373\277\6\321:71\246U\372\247"
+"\360\221\317\213\211q\255\254\363\263`W\16\344,p\13(ug]\37\30\225\33M/"
+"\24\360\243@X\32>\\\230\345\262\306\343A\377\310p\177\200HIIIIIIIIIIII"
+"IIII%D\377\0T\220s>\23<2\20\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0M\0\0\0\301\b\0\0\0\0\257\20b\317\0\0\0\4gAMA\0\1\206\2401"
+"\350\226_\0\0\4\303IDATx\332\355\232[L\34U\30\307\317r_\2\273\330\2\5\n"
+"-\254\205\242KSI\243\200MS\33@b\223\242\306V\233\206Xb\324D\37\64\246\17"
+">\30S\365E\243\361\2224M\37LL\373 \265Z\323Fk[M\213\361\322T.\322\6\13"
+"\331\322\6\20Da\261\303\245\273\13\313\302\216\17\226\360\235\2313\337"
+"\371\216\356\343\371\77\3157\347\277\27793\3472\337\231\263\214iiiiii\255"
+"(\331~\312\263\375\241\305 \362\223\374\375\233\326\304fh\370\232S\13\246"
+"i\376\324\232\355P\356\332=a\232\246y\363\315UrV\316\261\270\371\257\42"
+"_\356\317\263\227\273\237\352\272Sn\6\267\t.\305EU_\225\201(\336\177\271"
+"\247\177h<\306\30c,)\247\300\347\177p\7\250\362\314\346\337\321\232=`\230"
+"\2E\f\3030\42\202\202wQ\230_\bs\326\2676B\322\312\241\367\364]j\375a\b"
+"+<\246V33\\\201\300v(\302\242\315X\325\272\324`\301z\f\326\240\6\373\272"
+"\b}\244m*\254\33\217K\306\253B\357\270\361L\212\244\265\357\245\242\226"
+"\3166\'9R\226\257\342\343\316\316\236\16\244\226\324V\331\334\361\356/"
+"N\214\42uZ\246y\340\311@\375\237\2141\346\333\325X\2672S\304\372\273~\270"
+"0\216\337\341\362\250\337\367)8\331\364\335\312dV\220\355f\214\261\360"
+"\304h\214>J\366\201Gs;\371\277\316\275\242\'\372\327R\42i\363,\2214\246"
+"i\232\246i\232\246i\232\246iJJ\221:\222\253\374\33\212s\262R\247#\306\330"
+"p\340z\354\177\320*\232\37\256\345V\\\321\356\366\263\35\246JV\323{\347"
+"\\\321\253}\302\204p\344\255\22eZ\375\251E\307\4s\341\223u*\264\344\275"
+"W\361\2045\362z*\225\226\3242 O\200\177-\247\321&\257\221\362\351\251\6"
+"\22\215\2746z\42\221\2757\255\2559\221c!\355\370\246D\216\254\314\223Y"
+"\211\34\247\25\357\'t\324\77W\2472\352\227z\273\2\243\323\241\224\214\374"
+"\322\312\255>\301\352\345\303:\223\332C.\265\346BS\331k7\355\236]\304\376"
+"v\271\316>\345<\375\207\355\212$\332\334K.\321\255{\217Z\215\325\4\232"
+"\261\315\351Q\36\210\363\316\303rZ\270\306\271e^\341\255\23)R\332^\254"
+"\241\217\360\336\3552\332q\264\333d\360\223\314\333\22\332\234d\252\346"
+"\277\304tHh\207eC\340<t\3072\361\221uDF{\217\353\204\367\241\264\3005\31"
+"\255}\20F8\355\33\351`7\77\207\321=(\355\27\371\334q\16\6\33P\332U9\255"
+"\3.\376\327c\264\370\210\234\26\375\r\4k1Zp\2010M\366\203cO:B\233\243L"
+"\272\\\243\256Fh!\nm\f\6\331\b\215\364\341\347o\30`w\232E\241q\317\326"
+"\203\320H\357\261\333\324\274wuB\263hw&\341\207nrN\236GI\32`0c\241-\302"
+"\302u\4\32\267Y\21\266\320\302\260\320G\240\255\201\301\254\2056\13\13"
+"\313\t\264b\230^\334\262\320\246\240s3\201\6\353\37\64-4n\223h\13\201\346"
+"\7\307#\3266\235\214\202\322\302\22y#\300\226\32\266\322Ln\307\246AJ\253"
+"\205\301u[\177\33P\243q\357\367>\33\r\316~lg\272\214\366\b\f\256\330\212"
+"\237\344^\317\217J`\345\320|\313e\253[7\347n\225\320Z`pI\220\253\216p\311"
+"\0>\270\322\306\240\371e\201\203\317\31\77Bi\255\234\267R\340\330\3039"
+"\346K\21X\372 \264\366\211,Ya\16w\2\241\35\344\234\7\205\236\317\370\204"
+"p\267#\254:\312m\324\224\tM\215<m\362n\7X\36\277h8/v\271,\337\4z\275B\233"
+"\267\203\26759\\\364Y\353Z;W`Z{\2057u:\366\242!\13n\300\276\260x,h\361"
+"4\322\227\343\363o\360o\352\373\317Y\35g\234[\336\365\243m}4\376\316\362"
+"\36\231\313\177\300\276\215\31\342\273%\277\226\332\330#x\225\32=\301\20"
+"\313/\254\24\65\312\213h\276\375\202\332W\207\223.|rP\332.\356\225\345"
+"\77i\27\351\260\341b\351\24\355\355\244\302\6K\t\2576O;\r\326]@J\233\322"
+"\77\246\300\216\272\251iX\313\264tG|\217BVW\324\26G\77G\35R\374\327A\315"
+"\31G^\350P\231z\326\271\361\2031\1j\361\342\363^dhbY\354\226\246\255\325"
+" O\233\351\353\374\371{\3\253\201KV\305\334\365\205\2532\30\13O\5G\'\230"
+"\226\226\226\226\226\226\226\226\226\226\226\226\226\226\226\226\26\257"
+"\177\0\'\300u\235\377o\227!\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0u\0\0\0\301\b\0\0\0\0\3244\240\3\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\5>IDATx\332\355\231]lTE\24\307o\267\37@\205\245\255@m\273,n\201"
+"\266X\5\333\332\220\370\205\225\30\36\b$\212\37\221\4\225\217\20%\306\7"
+"y!1&@\23\237L\24$$+)\361\243\304\232 Qd\3\261\264\22\33\22\241\225\n\224"
+"J\2415Z\267\245[l\273\273\264\333\335nw\307\7\263\355\231\331{\346\316"
+"\335\273>\230\234\337\313\336\235\373\277\363\2773\367\316\314\231s5\215"
+" \b\202 \b\202 \b\202 \b\202 \b\202 \b\202 \b\202H\7\31\322\263\331e\256"
+"\302\3407q\205z\356/w\344i\301\311\201^\277\305\33r\356m\t1\306\330\5\227"
+"\201p\336\13\r},\301\320\311=\316\324=\353<\261DE\241\367r$\302G\335~\306"
+"\23k~1#%\317\252V\256\236\336Wm\210p]\13\323\243c\275y\317\271\37F\305"
+"j\256o\315\326\273\271\363\f!~d\236I\323\362kz\365x\17.\27t\305\r1\206"
+"\363\353\3\246L7\4\260\212:\366\779gFV\361q\210I\351+51r\266\35\317\222"
+"\334R\264\273\307;\34\210\333\37\\Wi\370\306\364\256\35Um\351\3668K\33"
+"-\231\210\211X\276\371\204-}S\220k\342\242\222\256v\202\245\223\311U*\246"
+"\213\372Yz\371N\305\3654K7k\215Mw\350\\\26\375ao]i\276cs\3234Zs\340\243"
+"\272\302\202\345\317\355k\323\31\276\337\32\232.\36I\272\310__\2308\373"
+"\360%\304\364XAB\262\302\235tk\321\22#WwR\205\215K\300\3519_\352yF\266"
+"\302*\252\273\305\363\357\33M\204\342\344\33\332&\314(\215:\246\233x\315"
+"\2\217 \270f\340\372\205\240\37Kz\23\346v&\271\276-jr\316\b\n\371j\353"
+"\24\232\352\257N\326\254\21\273\343L\262f\301u^\362\226\324\365 /\236\336"
+"\244\360\350\303z\23\374#\21NsBfj\373\213\257\360\200\256j\5\778>\325\25"
+"\325s\232\3332\327\247y\323vd\341\341C\207j]\215\375.\'Z\244\323\304\231"
+"i\237+f{\246\221\331\13\376\371\375\212\256&x\230\373+\233\213\371w\240"
+"\21\223\325@U\3\42*\232\202\252\35x[\13*\271\246~\200\271\376\6\377\334"
+"@Dw~\344\336\5\334\265\206\213\f<\335\230k\bF\331\203\230\352\24\374\263"
+"\fw\345\232\252\35\307\237D\20\34\337\303D\255\334\364\216\273r\3\317\357"
+"\261\30D\334\366\301\315\b\356Z\4\13\233\247\254\306.]j\256\13a\3419\313"
+"\21\23|\351\362pW.R\377\331\262\353\200\374\264^D8\321c\331u\b\34\347\342"
+"\256\21P\326\27\263\354:\t7\301\270k\30\224\375i=\22\36W\353\341)\244{"
+"\376\33l:7\27V\355;\34;8\216\341\256p\232\231P}O\2J\233\266q\334\365\357"
+"TFb\20OU\250\365\360\b([(\273\240MiT\346\310{$\341\352S\275Q\317l\377\17"
+"\216\240\252\373\3402\205\273zU\333\32\370d\346\360<\256\312Ukk\77\f\5"
+"\244\317\244\276#\361n\36\302E\363\301\361\30\356:\30\235-\223oMB\33N\376"
+"\373\273\363\n.\202\335\345K>\235\b\5c\267f\327\365\222\334\220\314v\364"
+"\245\212\365K\303}ge\257=\\g\356\340\256Z\317\254\253\255\274S\376\342"
+"\337\274i\230V\4\307^\311\232\3#\257j\313S^!8\376C\342\n\37\322\23\226"
+"]\213a\324,\3219@\4ky\321\231\17\367\315\262\324\247\6\23!\253-\272\256"
+"\6u\335\222\306\22\77\201\322\227-\272V \201[\262+\214\327\337\310\262"
+"\346\372\220\262\353Y\6\346\211-\326\\\37\3\307\6)\202_\300\303\270\232"
+"a\3054\303\7\252Z)\327\356\203\33\261\327\255\270V\202\212\356\31\344%"
+"\235p\37>\220o\301\365\35PQ\233A<\334\337\f\207\371\21\13\256\33\301q\247"
+"\241\230\3338\357N\3314\37n\232\267\33\306\213\\b,\362l\252\256\273a5k"
+"\f\345\257\360\t\247\307St\275\b3\304YF!\244f\353\250\3426\310\317\267"
+"\246bZ\5\27\222\313\317\270\34%K\213J\212\213\27\17~u@\77\230~\212O\372"
+"Gv\246\342z\fV\301\345EN!W|&fasM\233:\42x\216\32\371\242\225\'d\330XW\231"
+"Y\327C\222\314\270\33K\261\211y\345\321Zs\246\313\302\22\327K\330U\357"
+"\212\312a\227)\327\317e_\1\274\350eGE\251\251,E\255\354\323\35\303\77\t"
+"g6\211\237\27\227\230\330\230\266K\277x\f\343Wf\212\235\264J\335\365M\371"
+"w\226\13\262\345q\77\67l\247\354\352\243& w\335%_\7\206\200\364\264zS\233"
+"\344\246_g\312//p\317d\370\207K\225M\355\262Q\303\272^3\16P\312\216\216"
+"2\306X\354{\23\3g#\342w\367\306\271\303\273\312\260\331\237\'\273\246<"
+"{\250\335gb\3308\305\211lL\323\306\242\343\201\270F\20\4A\20\4A\20\4A\20"
+"\4A\20\4A\20\4A\374\257\370\7\225\274\246Mi}X*\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Q\0\0\0\301\b\0\0\0\0\222\202\3\251\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\4\361IDATx\332\355\231[lTE\30\307Ow\331"
+"\26Z`\333&\256\340.\27\333\332\326\3266\265riDR\20%hx\360\22x r\23\244"
+"b\275>\351\203\222\200\4\b\327\b\30\r\4|\200\304\13\17\\b\360\2625\222"
+"p\21J\351\205\325R,E\272[JC\303\26\227.l\333=;<\324\356\316\314\231sf\346"
+"\314\2749\377\247s\231\375\355\23133\337\367\237\357h\232\222\222\222\222"
+"\222\222\222\\\245\21\257\246/[\350\353\77\2667.\355o\212\257\0\0\08\226"
+"&\13\230\35\2\303Z&\213\270\361\77 h\220El\36!\2\257\215_;\b\327\36M\36"
+"\275$\2118\230<zCR\257\333\222\275\6s\344\20O\247\210]\245Rz\335\231:\364"
+"\326\257\313\221\360\214\237\0X\367\277]\224+J\254\6\230\342\27w-\232$"
+"\262\256]\275n\302\325\236\206\306\306\246\240\315H\361u\215Y\363p\323"
+"\345\226\226\326Anb\361\237N\253\337\f\265\6\232\217^\347{\223_\2\232\364"
+"\357\n\270\210c\333\250H0\260\336\305\203,\350\242#\301\37\23x\220yW\30"
+"\2207\362x\220\343\17\62 ;\36\341z\231s\32\351\310S\16\276\254\366\352"
+"i*\362=\336\5Y\266\363\2265\261\217\77\2208\253w\265[!\77\265\25:\nj\276"
+"\3571#\6\35v\3R\341\312\375\2018\t\371\234H\230\33\67\177K\263\201\270"
+"^\330ol\373\27%\376*\301r\354K\300\304.\31\251m\271\16#3d \267\303D\257"
+"\f\242g\b\42\226Hq\235\301\24\60\224+\316\233\261\355F\nx\267L\24W\261"
+"\371:\222x\237\27\303\345\177\326\212\315\357\17Dp\271k\317%\360\5#`\254"
+"\235/\377\20\63\256\351[\266Ge\362\206\20\61\360\274ns\252\314\77\36\'"
+"G\262_l\3612V\267\232\205\306\270\235\271=\346\243n\363\360}\330\206I\177"
+"\363\246UB\250\340\6\226\236\267LZg\370c\326\3\3534\370\16/pm\202\222\252"
+"}\274]\36\244\0\3339\366\n\232\246i\332\32\232\227\13\360\22\237\242u\242"
+"\223\227H\r\1f\351\305\324p{\347Q\210\225\315W\371F&\3758\315\226Eg\362"
+"\6\210\367{)\310\333\5\2743\322\375!\305:\7\334\374+\273r\363e+\344\217"
+"\266\214\231o\365\221;\246\310\rvS\302\354\35\35dbb\201\375\274\365\364"
+"\16bd\273\375\230@.t.8\241\33\221~\2612\323\343\273\357\213\357\26\60M"
+"\374b\b#\366O\25\265)%~\fyR\334\230\325b]\177E\334\234\225w\42\304\277"
+"\323\305\221\23\3b\31\207dr\221}X\227\f+\376\4\262\7yK\206q^\2\23\377\222"
+"R]\363K\333\312%\7\34\316\347\7\244<d\35D\f\273d\20\27\303\335~\221\236"
+"]\351:9\0\235\274 \245\333\277A\317xA\3063jpq\273\334%\203\330\4\35\217"
+".\42\22\'\315\252\310\342 \206\220\315\23\241AU=\0 v0\233\2318\205\22\312"
+"\247E\207o\235g\216Mnb\271\42\331k\307\201\314\341\203\231\357\262\22c"
+"\360I\226\2018\267|\344\350mV\42R|\3154\20_K\5\252|\326^[;\322\252\324"
+"\265\351\254\233Y\370\344\36NL{\322z\42\20\313T\360I\24\'z\306\244n\262"
+"\26S\313\341\223>\3\21\272\311Z\0D|u7Nt\223&\2\245\212V\r\237\5q\42La\214"
+"\236K\221\fx\25\'\216\342&:j\221G\214\340D\35.\2651\21W\224\220#\333\b"
+"\261\37\272[\304b\ts6\42\247g\215\26\26^\365,e\246#\250\2332\376\304\307"
+"\351\327\321\357L\340\37\302{\36\200\356wgR\307\31\333|o%\264A\276v\254"
+"\243\0k\360r\r\351\223\335!\344K\211\345\226\317\265\23\367\342\277\223"
+"\232\325\42MB\26\321\242\244\336\340\356\211_S\213\32167\247\231\205\260"
+"\355\306r\303Yr\323\26\264U\354\343Q\244\2\332\226\ba\343U\3054\37\0h_"
+"\205\r\371\204\225~\235\264\357\372\312\244x\220\23\34\213\377I\344\247"
+"\272K\35\21M\3232&\373\212\237\231^F^K\327*\357\231\274\241\255&[\375p"
+"X\267,\5T\232\216av7\260!}1\253!dT\302:\27\357\341\6\306\327P\352\'~N`"
+"d!-\0d\376\314\5l,d\250\261\356c\347\r|\316\346\271V\3641\2O\24j\214\362"
+"|\2433\314\231\243\\\5\251\242\3751k^pS\276\306\251\234Uuf\5M\375\322\246"
+"g-3\233\351\315\254Y\263\313J\363\20\233\36\275\326\26h\270p\227V\42\260"
+"\36z\217\327\2231\336\251i\17\242\341\336\236;\232\222\222\222\222\222"
+"\222\222\222\222\222\222\222\222\222\222\222\322\377O\17\1\304\221\257"
+"\21\270\36\357O\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"T\0\0\0\301\b\0\0\0\0t\253\310\355\0\0\0\4gAMA\0\1\206\2401\350\226_\0"
+"\0\5\200IDATx\332\355\232mL\24G\30\307\237\238\1\2013\7\246\221\367\13"
+"\\P{i\33\240\305\227\240~\220T\22\242\215Jmmj*\366E\255ML\215\250\211\332"
+"\42\211\3066Mlb\13\332\2324\4\b\230\246Jl\332(\345jQ\210\30\250\247\264"
+"\1\212=(/\6\242\34\312\341\345\216\343n\373\341\344n\366\366efv\327\246"
+"\37\346\377\345ff\237\375\355\354\31633\317\314\34\0\23\23\23\23\23\23"
+"\23\23\23\23\23\23\23\23\23\23\23\23\23\23\223\230\42\324\2t\205i1S~m+"
+"e\372\205\3438w\363F\r\221\272\17\235\\@\265\21Z1\263\177\343\202:\252"
+"Qs|\354\n19g\234\26LK\7\307\323\6\365H}\205\207\317\344\216\251f\26\366"
+"p\341\372F%2\351\274_\300\344\352T!#\367Lr\234,4R\342N\343\273\33r\342"
+"\372z\377\350\371\363\336,\277\315_\2570+\254M\361\303`\r<\335\215\307"
+"J-\372@y\316a;\'!lM\363/\351C\355l\261\0\200oh\310\13\361f#\331\7\22-\35"
+"w\351\303=\335d\42\177\317y\242\245\303{U5\2458\24\352.<\3(\354\36}\6P"
+"G\31\247=\24\256~\215\277\331\331C\t\205\362\2770\310\301C\31M4.\5\0\340"
+"\332\336&3\232\217\\i\260\372\351\374\24\0\0:N\36\21\277\320\337r\275u"
+"\204\336\371\3\252,yIP\346\2656\375<\250\254G\5\64\263\2753\254c\365\235"
+"\251w\250i}\0\200\356\343\374\207\354Zv\306\1j\241p\252\13\315}{\326\257"
+"\322O\1\0`v\247\27\311E\253v\376\200\356|\201d\212b\265\201B\345@(\235"
+"\326\32A\rM9o\237\20\f\302\256\375H&\317B\13\215j.3\31\327\13\f.\336@2"
+"\271\264\320\342\245\0\360\252\320\342\23$m\246\205\256\4\0(\211\22XX\357"
+"\206\322\311\264\320\f\0\0\343Z\221Y \224L\244\205.\4\0\2007\204&\326P"
+"\322@\13\r\204\202\245\13\4&\275H\220\253\314O\343\267\tL\246\335\301d"
+"\2-\324\27\370\331\'\254\215GyM\37\5~\226m\26\330\20\367y!\364\336\323"
+"\337\23\341\214\204\371\312\241\2669\7\257\b3Y\201\214Z\264\320\346\271"
+"\211\376\300V\276IY(\371\204\26:>\327\311u\265\357\241\26[JC\351\7\324"
+".\25\f\332#\317]-\232\233\273\222*\33\220&\'\214\205\220\211\257\361xf"
+"p8.z\322=:\351\207\205Y/\362f\306nj\350\314\247\337\2052\13\226\213Y\337"
+"\242\357Q5\255\30\343\361;\364P\356\235G\362\306\r\234\202\276\77\360\266"
+"O\316\326W\255h\342\373\361#9\333\332^e\263i\325n\351xal\277\322y\277z"
+"\323\224Th\371\332\204\342`\242)\277M\324\360qI\207\212\360\274\177\365"
+"\7\42\35\247-\357WU1\277\377\\\366\236.~\321\315-\205\177\323,\211\305"
+"\n\335UU9\305k,\246\b\0\360\f\333\332\177\352\243\\gK\224\367\365\235\206"
+"\210\4\203ozR\311\342]\316\331\'\225\20\t\242>\6e\320\377\3T\324\371-\233"
+"So\327Lk\372\234E\365~\216\343\6I\26\r\'\305\367\245\204\257_`{S\7\0\31"
+"\326\347\265\373\246\353Z\236\256\26\f\365\221ZA\13\232\202\361\371\13"
+"\33\65\202\246_F\326\237\205\332@\365\77,Bb\213\6m\240\25yH\246\376\246"
+"&\320\334\3\350\224|H\223\326\327\235E\227\336\237\217h\2\335\226\217d"
+"F\77\323\244\357GV\242\27\216\270\b\356\326c\241[\321mW[\rI\225b\260\320"
+"}hy\271\232\323\240\20\64\27\375\242\326f\242\273\343q\320\267\320b\302"
+"3\233h\34t\23Rz\255\235\f\32\207\201\2323\221\322\257\b\77\236\1\3EG\17"
+"\327eBh\42\6\212n9\331<\204\320$\334\353#\205\367\t\231\363\215\30(z}\206"
+"\20\232\206\363\323x\5[\21\3318\250\33\357)\2\345\360\366oD\240\350\n2"
+"\235\20\312\333\262\236\22\201\242\215\223E\370\376\5\274\265\233\b\264"
+"\37\271\36\265\234\210\231\274\24\315\215\210@m\274-\16\42h\t/\'\266p5"
+"\372\220\20\306A\264\251w\35=\215\363\210~\262[\250\311\t\2f\36\357\210"
+"O|\352=\210\232x\13\360\320\26\16_\215\224Y\324f,\33\307|\237\177\30\271"
+"R\334\352\2\317hl\225<\263\210\177\26\375\217D\364\234\307\77\13\366\236"
+"\222\353X;\334\374\212VH\31\66\206\35\257><\232*a\371\312\2250S\367b)h"
+"\2723\374\324\326\327zxUx}\243^>\330)8\336=\3153\341m\263\356\252\22y\224"
+"\177\320><\341\230q\2\304D\33\22\223Mf\221\b\302\261Dz\27P\367=\247L;e"
+"\'\262\273\212\230\227\344\35%uP\1\263\37\327\2513\355\324\314\21l\77\201"
+"\305\277S2\207r\b\306\211\330:*fW\32\331\200\276\34319\263:\2064\24L%u"
+"\255\201\3654\21\346\352\33\4\310\7\3451@\2475\27g\345\221={\225\374\233"
+"\'\271\274\323/\371\336_\256\220\271S\376\210%u\335\332\2s\330\21\344l"
+"\357\355\366k\362\333\263\370s\233\330%Y)\317\31\r\363\3007\345\234\34"
+"\273o\267{\201\211\211\211\351\77\323\277=:\220;\262Y\30\371\0\0\0\0IE"
+"ND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0l\0\0\0\301\b\0\0\0\0\17"
+"\217\n!\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\6eIDATx\332\355\232}LUe\34"
+"\307\217\\\275\200\220@\341\333X\300\2\304h\316\210\231Z\262jK\2\63g\f"
+"j\262\254\271\326\313&\263\24tn\316\354\205\324\260\271\206k\16\322\30"
+"\32F0\334\212\262\27\302\332`\204i\202\220@J7|\201\230z\21\272\227\313"
+"\213\334\373\364Gq\357\357y=\347\336s\216\177\270\347\373\327\271\367\374"
+"\236\3639\3479\317\363{~\277\337s\24EJJJJJJJJJ\352\216T\310\316\266\323"
+"\237\255\272=\254\210&\204\20Be\267\203em@\377\351\341\333\0\373\350\177"
+"\26\3123\237\365\234g\n\226m:k\351\310\24\13\245\230\315J\274\346e\365"
+"\5\231\314\212\357\365\262P\221\311\254EW},\347\\sY9\377\370Xh\247\251"
+"\250Y\245\0\205.\206\230\210\232\266\256\17\262<\217\231\210Z\375\33\302"
+"Tb\32*x}\33\216B\235\241f\r\367\242\1\2\205\306SM!\205\256\253w#J[\314"
+"xS+J\207\20C\'\246\31\216J)\262!\246\372\347\30L\272\267\260\25q4\371\204"
+"\241\244\240\274\237\335\210\253]\206\276\251\354\16$P\203\305@\326\243"
+"\247E(\324\34a\34jv\271G\310\252\13\63\216\265\341\246\20\345\331c\\\37"
+"F\327\nQ\250\357)\343\36\353\311~!\312]\26i\34\253pR\310\372e\231\201!"
+"\365Q!\252+\307@\27\25\331$Bu\277`\344\344\232sV\200:\223ch\320\26\323"
+"\305\37\355_\33\353\n\225\331\\\377\344<\230l\260\207\237\331\302A\375"
+"Y\20i0J\261|\317\236V\337>mB|\375!\13\345(\276\317\214(#\227\341y=\25\363"
+"L\211h\26:i\326\360\32s\342\264\351\247h\226k\251IA\341\16\306\3732*\27"
+"\232N\346@o1\214\256j\b\'\223\343\242-\243c\3\266>\77\340\'\231N\243d\246"
+"0FY\276\373\314\204w\326\377\264Kk\247gsf\263m%\337\333\354\350\241V\204"
+"m\341Z\22\6\33\327%~\21\313l\21{p\224e}\375\315\351\252\260\215\2W\357"
+"*\216\246\303\206\3\343<\363S\211*\254\31\275\302\365\322\261\77\36\257"
+"\354\24\210\242!G\206J(\205T\344\256\177\331\353I\242\336\270$6\36\317"
+"\241F\22<>\177\277\372kE\335\347z\354\256\220\371\313\226\7\253\231Nd\235"
+"\344\237LG\6k\210xop\321x\315\360\322\340\21n\244\22\345B\206kK\300\303"
+"#\220\216\274\233\323\215k\371\375\341p\7\332\221[\331\377\207\261{\261"
+"\355\235\314\230 \305\222\272w\210\37o\235\310\213\217\212]\372j5c%t\314"
+"b\302\326\262.S\235\346\363\26\237\363b\343G\274\365\245\302\353\324\331"
+"\327\231\260\22\306e\3221\213\315\314L\3558t\272\321U\344\351\263L\30\35"
+"\2\327\220\276;\237\301\252!F\3676\362\216\22X\257\222JYJ\351\314\241\214"
+"\216\304\251Z\334&\302b\23\3\226A^\346\30#K\t\373\213\\\n\222h\243\3\270"
+"\311w\fX\1y\313\314\305\371y\r\321\211\265\35\37\217\f/r\30\277\312\330"
+"\3\354\202\310E\374B\314h|\31\376\332\26\323\223\232(\223\357=\317\204"
+"y\16a\77\253\206XF-\265\330\317%\264\5>g\7\356\342\270\204d\314\214\223"
+"\277\247bF\373\351P\f\357\305B\256\3\202\245\306[\274\32\b\226\5\325Q\335"
+"\30\203\31\217~\312\205u\201\343\336\21\216Q%\266\315@\301\360\274\241"
+"v\220\13\353\347\34c:\16\177\304\251\300j\370~|\30.\6<\243\276\13\360\r"
+"\315$aX@1\366\203\3365\272\t+\6\2200l%h\31\323\13\353\300\242K\22\206M"
+"\363f\335\321G7V\276!a\230\203o\327\r\303r\231PVt\345\325y\335\260\1\314"
+"Y\222\260qx\366\212n\330(\333\263N\r@\360\237kX7\314)\204M\200\377n\30"
+"\34\253\216\2210x+\23Z;\310\303\265\262\302\37.\22\346P\355p\306\253w\360"
+"Sl\246\323\t\362\267\353\2724\36576\223\6I\230\35\306>\42X3\b\216/s\255"
+"\340r\210\354$l\200\327\7\244\6\177\364\35\267r\255\340\306\356\265[\324"
+"i\220\261\216\13\3731\335\33a\330\371\351`.\314\256\351\30\344\22\30J\367"
+"\210`\215\373\274\325;\376]\305\201c\33\r\203\375\37#|\264\355;F\25EQ<"
+"\37\27\363m`\271\360\2]N\352z\306w:I\350\211\321\356\322U\13\246]\251\267"
+"\211J{\340\270\223\206\301EA-\217\267\37U\233 \213\25\3260\362v\343\357"
+"\340t\232^\7\225\0\22\316\341\36\32\3261\351;\277\\\357f\304\np\374\253"
+"\207\206\215\201\225|\356\42\2350X\334id\345\324-\300`\265\316\42f&,*\252"
+"%(m\372`\231\260^\300,\205\314\203\271\307\22]\260c\340JUl\23\370\31\304"
+"\21=\254\371\260.\230\313\266y\27\246\fzv\f\366\301\f\216\223{\244\300"
+"\324\243Z\307\203\271\264t\21\266\237\237\21\60\254\22^&\235g\205U\36."
+"\5\272\237\224\5\7\32\77\2\r\307\252\260_\5\346F\346\374\r/\362\n\337\360"
+"\3,\373\334\23\b\313\332\b/q\325*\270+\7F\333\356\77\313\202\227\223\362"
+"E\266Exf\375\266\277=i\251\3007\22\255\42\343\360\3138\255\302\277\17\267"
+"\302\277\304\233\253|\202\370,Q\301i]\350\7+\361\34\361e\217_\223\4!\344"
+"\312\327\314z\221\250m\16\307\252\265\210\244vq\16i\334k\177\217l\270^"
+"\275\315\203#d\243bM,\262\320\206>\321\322j\rYxt\'hh\225D\356\0\65X5\335"
+"\343\206I\r\345IR\357\223#+B\220\f\2\225\277tK\220l\361\\=\2616\256\34"
+"\326\6S*\263\354\212\277)6\276-Z\367\270\37\331k,\374\30\304\31\245\241"
+"E\32\334\313\332\346\237\347\t\332\350\253\320o\326\324\302\367\311\350"
+"7\376\177W\21\261\365\17\204\20B\275\3535\272\305\3557\20B\350f\271 V\22"
+"=\360\202\324\bgg\273G\353\355\5\77\2240\243\373\364\244\42%%%%%%%%%%%"
+"%%%%%%%%%%%u\'\350_\363\1Xw)\327r\217\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0O\0\0\0\301\b\0\0\0\0\253\345\262\362\0\0\0\4gA"
+"MA\0\1\206\2401\350\226_\0\0\3EIDATx\332\355\232\313KTQ\34\307\257\316"
+"\303\231\254\324\322R\311L\3072CI\27iiV\20Y$\275P\204v\322\42\314\26\21"
+"\26.jS\2336AI\377@\20\231\213\3106=\b\2122Jz\rX\244\246\206\241\226\246"
+"\2318f\371\230\231\323\242\314\357\365\316}\214\347\7\5\375\276\253\357"
+"\357\336\337|8\367\334s~\347\314\234Q\24\26\213\305b\261X\254\377[6\360"
+"\221\231\271\213G\2Td\327\251~!\304\367\313I4\270\370\227\342\227\6\62"
+"Hxw\304\214^D\22\340\212\305\254\212$83m\331\5\327\n\bx\251\330\225\4\274"
+"\b\270\26A\300\243\22\363\230\307<\3461\217y\314c\36\363\376m\236}^\237"
+"\212*\316[\32\354\276\333K\303\263\35\253]\246(\212\342\257;)\bx\221\r"
+"\345\277\77[3|\216\240\377\252\313\377\330\3436\2\336\321Y\233P$\317sf"
+"B\260W\236\247z\5\245\362\274\351\16\b\326\256\221\357\277\353\30\354\221"
+"\347\325\33=\360<x\255\257 \330\34#\77\177\261\201\216\22\2\36\376\306"
+"@\300\33x\b\301n\202zu\3|r\216<\2571\b\301Ny^\177\263n\7\316\257>7\342"
+"\210q\311\363n\201w\27\312\363\332\337C\260\235`=\272\7~+\1\17\37x\303"
+"\2y\336c\230\42\316\2y\236\317\13A\21\301z\376\b|!\1\257\t;\220\200\367"
+"\f|\274G\2367\330\3A.\301~\b\213t\36\1\17_p6\1\257\r\374:\2\336;\360i\16"
+"y^\7\314\20{\232<o\352#\4+\t\366\273\3\304<l\337r\2\336\20\370\4\2\336"
+"(\370\30C\236\265=\3654\370hC^\264%\336\30\370\205\32\336$\334M\264\304"
+"[d\370\375\310\7\327\322-\361\22\300\7\65\274\21\270\233\345\266\302[\201"
+"\345_\303\303\257N\316\215Vx\253\301\177\325\360p\201V\16X\300\305ypC\243"
+"\341\265c\356A\13\17\274\5O!\2725\274\317}\270 T\232\363\366c\360V{\377"
+"\32\34\370\210\301X3\\\3547H\37\267k\307\363}\325X\2503\343\325\342\240"
+"o\366k\23\22\3\330@Qm\214[\77\201\311\'Bn\231T<\377!#\\R\27\346\6=\241"
+"r*T<\21<c\323\305eu\252R\233B&9>\250\201\342i\256\316\217\7\65\343\352"
+"\304\212\320yUsx\42\320\260I\233\225r\272wNZ\233N}\263\267\t\215:\316\357"
+"K\231}\353\371\225\227^ksT\263\tG\371\266\7!O\336&\372F\247\35\212kI\234"
+"+d3n\227\352\366\363E\21\276\206\f\316w\235\315a\343\374;\fkdg\230\270"
+"\340a\343q\357\351\t\13\27\2502\233\227\251\255a\340\306\312\314\353P\314"
+"M\313\2707\331V\352x\304\21\237%\332\344Y\227\305\225\77\245>`\376^\257"
+"\244+\326\225S\77eH\33\276\20\356\237\0\222k\275\272\260\253eQ\372\275"
+"\245\217\\UR\234\357Q\27\255\251\256\226\347O\274F\177\24109+wg\244%\305"
+"\305*\356\37\212o\354\313\247\336\36\277\302b\261X,\26\213\305b\261X,\26"
+"\213\305\372\253\372\t\23\\\22\nd\201\324\343\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0q\0\0\0\301\b\0\0\0\0\335\337\0y\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\t\23IDATx\332\355[yPUU\30\77<\26\37O\4A"
+"P\1%\245D\5\367}!-\27\264\324i\262Q\224\26\315\246L\315,\313\246\321j\322"
+"\322(+m\324l\260\311\264i\264\34\327\\(mSKAL\305D\304\5\21LY\214EPY\336"
+";\375\341{\367~\337\275\347\336w\227\363j\246\271\337\77\34\276s\276\363"
+"\273g\377\266G\210E\26Yd\221E\26Yd\221E\26Yd\221E\26y\'\177cb-[E\331\234"
+"NC\242~\272\5z\215\356\337#\316N\bq\225\234>\274+\317\327S\322fI\21E\224"
+"3\305\346K\274\320\17oQ\31e\365\364\35\340\203W)\213nO\367\25\340\274&"
+"\312&\327K\276\1\\@\25\311\225\352\13\300\311.eDz\263#\177\300v\177S5\332"
+"\303\37\361k\252N\303y\337\0]\377\204\307\256\344\373\334R\377\366\303"
+"F\7\212\254\35\217r\36\342\n0\234ki\356\2531n\273\310ll\315\31\361\212"
+"\330\367\371Xq\202\322E\3664\276\200\235\304\236\353\223\340\232\354\22"
+"\370\353\371\42N\24\21\327\241\212\216\215\36\376i\255}i\273\207\301q\333"
+"\210*\n\367\n\323\300\27\261\205Pj\314\3025\302Al\326\206+\242x\206\256"
+"6\340\32q2\35\\\21k\204\322MIM\251\247@)W\304KB)PR\343\22\326\3672\327"
+"\275\332Q\330\252e\222\232~\236G\262\35\347\33@\3245BpE\252\233\275\206"
+"\360\335\253d\227P\352\203+\206\270Wq%\357\247c\2100\306\367\360\7\273"
+"\257\277_\270\77V~g=\210\177\5C~\232\233;\227\377\3738W\30\344R\300\215"
+"*q3\273\360G\f\251\364 6\315\20\230\21Yn^\225\37\177D\362\201\250G}\21"
+"\177w\r\37\273,\350\311\276\260\2\242/\7\tez\342d\271\337=\367\307\b\214"
+"\314\207|0F\277j\25-g\237\216\2164[\r#BU*\357\363\301\20\333]TU\345\306"
+"\360\306\263M\275\246\256<V\361U\345Bg\347Q\257\224\277l\20\257#\22\271"
+"\254\222j\243\242w;\3608\371\213oR\355\344\334>\310\264}s\225\352\244\275"
+"\246\f\330\350\335T\779W\2674\f8\241\234\32\242\222\261\6O\304R\27\65H"
+"\256\217\3\r\0\66\337FM\320\301H\335\200\21G\250)\272\244\367\342\213<"
+"IM\322\365\36\272\0\303\376\240\246\251\254\233\216\3671h\337\b)\253l{"
+"\361d\345\257.\313t$\267\2252K\6\227h\36\342F\351\367\226\317\n\42\244"
+"\247\362x\6\20bK\371Q\312\315\13\323\n8_*\272>\234\20B\242\224\21\357v"
+"=\366\234\324\3\242\361\365\35\322\200\345*\'\336\345w\363\206H\354+%G"
+"x\2416[\261\20K\235\361\354\363\31\312\210\302\32N\250B\374&M\27\373\347"
+"\270\263\3\302blQF\24\r\344$\374\275\5\301\32\34\214xb\266\b\32\\\304m"
+"e\304a\242|l>\252I\367\n\30x\26\tl\26\275\332o\240\265=\235s\5|\332\323"
+"P#:\17\33\66$zui\42\300\235\42`H\251\350\367KO\42\204\220V3=6\0]\215\24"
+"\273J=\212e\350\r\330:\33\330\366\13\5nnG\231\25\200]+i\350\253G\251#\276"
+"\r\333V\264\7\332G\205\207[\30\5\26\255Z\266u\b!\344[\330\313\357\352C"
+"D\23\62\221i[\245@\201t\246U\31\215\272\31\255\206\370*l\271\t>\317\302"
+"v8\212\4zyvR\13\304~\31\366\363\203\n`\0\f-\334\0\263GF\nl\354\23\267y"
+"4\275%x\307_\200\220\211\232\334o\224>\7k2\4vo,r\312\343\353\300/\360S"
+"\260\247\325\312\210{@\263S(\276tI\3407\307\42\373=\374C\250}\0<\224Uv"
+"%\300\30\'h6\16\326\330\5v\255Df7\323Z\207;\215R:E\313+\225\215j\34\342"
+"\367Jd2\3057\24\353\3625\240\263\35J\210P\231\232,q\206\t\257\201\344\311"
+";&Z\35\270b-\350\354N\250\367I-\t\300u\2421\27\203+\304;\n\37\33\62\20"
+"N\353$\266\215\3740(oh\302\362\242\233\257\27\342\307E0\274\205\204\20"
+"B\262\341\377\343\330\210\320\316\335D\224\334\250\350\312!\300\343p\2"
+"K\320-\340\237\24\266\326\17\2426\347\244\225\317\210\27\3\272]\262E\231"
+"\301\212\2165JiW\26\42T\325VI+\343\304:\350e\234\n\242 R-\312V\1:\234\311"
+"B\234\3\32\310\255\372,\261r\221\240\343\366\7Z\315\n\231\b\324R\230\261"
+"\211\r,MI\240Y\240\366\347\261\1\204\20\22\366Z\35\260\32\345v\306l\350"
+"%`!\2u\203\241K\7_G\321\277#\333\266\36\255\207\234\257\324\227\311\31"
+"\302\350\22DP3U\235\217\314\0d\254\\\302\277\226\262\366\225\260\336\211"
+"\340&.` ~z\\\325\31zU\316s\346\202\177\222\344\210]\230\256\177 \237V\255"
+"\f\270\366K\26\367\24(w\226#&\200\352b\226|\301\324\6%\300\255l\27\362"
+"\31P\356$G\214\207\267(\263\203}\223\352\330\200\31\251\354|\213\13\240"
+"\314\360-\375\n\226Y\311\242\356{\236\261ij\246+\r\375^\250R3\3026\240"
+"\272\225R\37\216\364:\t^\343\206h\305\325m\6\33\312\365\0hU\250\230}m\337"
+"\204JS\321\373\252ayx\206\343\245Vy\13\61\30Fn5WUj\23\206wIp\204\325\326"
+"^\314;\234\247\36\36\313\355.\226\7\34\363\250@\356\277p\42o\253\353\355"
+"\5\5Z\215m\250\210\204K\367j8\250\254\343\345\230\255TCl\356\3O7\372t\207"
+"\24\21\352>7}\201h\227\42B\327\235\213\27\42\334\20!\377\312\254\302k\321"
+"_w\274\203_\\\341\77Ct\261\26\331,\331Y\333\321\306\330\237\315x!:X\333"
+"\321\346\245\241\271\320\f(\327J\21k\240\303\232\27b\4(\327\250\315j0\257"
+"i\215T[Gd\211\266\342\204\30\303\272\325=\210\25\260%\247\f&\224\316R*"
+"E\254\252W\3706\23\324\1\270\304\233*d{\25\16\222S\216\6td\225\310OG\261"
+"\272\342e\204\222\230&\257M\316\322\221\301\244N0\374P(G\204\216\203\4"
+">\210\375@9_\216\b\325\331\316\201<\0\303\22\230\372\271\200\b\23\212\233"
+"u\345\2018\24\336\240y\352\210h>\f\3230\350\204a\254c\325\25\3505\340\201"
+"\b\375\252\307Y/2\314\6\31\312\343\212\203^\312,o\210]8\334\1\23`\20\356"
+"\20\253\305ph\227\3140\217\270\37tW\317|r\355\267\265x\13\65St#\350\356"
+"\20S\263\272\3]y)\246_\345\'\240/Q!M\371u8\255O\232\4\364C\221\301\356"
+"\354F\335\265:\360\265\320\30\330\331E\245V\227\251\252\17J\27ej\n\227"
+"-\207\255>2\5\330\33\231\356\275\225\232\365E^\250\b3\210;aW\271\312\355"
+"P\342\317b\23\200\203\321\20\347)7D\301\237\32\343\372\225\37J\230\270"
+"\245\242\32F\2420\352Z\303\210\323\321\20\63\324\232f\240D\233\1\6\1[W"
+"\240D\26\325(k\42\n\42\347\32\324\315q\210\373;\365\306;P\343\345\206\0"
+"%Q\374\376\352\255{\240A\272\36\61\0\330\263N\317\20\t\331\204\23\357\272"
+"\353\6\214\272\200s\20\222\274\t\304\341\250\177\261\336\247\331q\24\317"
+"\351:\357\42K\260DA\254.\300\240\275X\274B\203\231f\3079\13\364\242\236"
+"+\335\276K\342\f}V\213T\262\23\13\225\16\323\f\30\376\223\4p\277\266T\310"
+"t\211X\303+\32S(;\235\225HV\307i\23\f\314\222:\246\17\304k\221K\225e\361"
+"j\376\341W\3732\251\350\255\267B\274\332\374\233d\36\364\317\264o\200\344"
+"z\231\364\265\371-T\367\350\34y\312\351oA:\366\334\343\214\4\304\312O\24"
+"\257\3\307\363\205\362\366\305Q\272\316\325,ft\352\314;\311\1r\77\333\300"
+"U7X\351rJf\257\3226|q%\273\246.\347\330\331\374\242\353\356\220J\313\316"
+"}\206\214j\313jW=&K\'\42\231\271F\355G\265\225\225\316\32\273\243\265\242"
+"\36]\235\222\255\377\r\30_k<\3\361Z\37C\357\\\257\13F\1\363\343\2111ji"
+"0\205u\267\361\264`2\255Z\77^\343\42S~\351\330o\364\2\236\33@L\322\3\331"
+"z\360\352\27spy\373M\314\321\234\361\274\231\327\217 F\356h\320\222H\276"
+"\245\17\341G1\13\274\r\264by\'\302\231\342_\330Y\243\b\267q\274\346\207"
+"B\327/$\374\223\6\365\356\232\204S\305]E9Y\7\217\353\bu\31\370M\206\243"
+"Ctdx\30\t#\325\316\362\362\342\202zb\221E\26Yd\221E\3777\372\7\303\240"
+"8\323+\202\376\25\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0x\0\0\0\301\b\0\0\0\0!\312+\263\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0"
+"\6\220IDATx\332\355\233[lTE\30\307\247\273\275\355n\13\275\320\373EhA\260"
+"P\1\3\205\32\240\n\6\20\bAm\365A \230\252\211A\37\260\361\201DL\304H\2"
+"\n\325\240>\b\221\253(\20\254%H+\222\224\252\221VJ\205PZ\304\266\264\224"
+"\266\364\2\333v\333\335n\331\335\361\1\267\373\3159s.s\316Y\365a\376O\263"
+"\347\373f~g\316\231\363\315u\21\342\342\342\342\342\342\342\342\342\342"
+"\342\342\342\342\342\342\342\342\342\342\342\342\342\342\342\342\342\342"
+"\342\342B(\4\376H\231\341i\352W\314\22\232156\6\371\372{\233{\351\16\231"
+"\271)&\204\\C}\267\273|j\356!\367\234\17c\317\251\311\262N\251[*\207\260"
+"_\335\337\277\231!t\230\265\343\346\270\35\217\\,]\25\241\304]\345z\350"
+"\334\223#so\'<\230\224\257\252\310\24\260\333\212k\260P\3\237O\225\345"
+"f9\374\236\327L\22.\326R/\246\250i}\350C\373\214O\7hv\374`\357D\31\360"
+"\321\200\343\13t\217)\rXB\355;\237I\212Xw\336\'e\307m\363%\271VW\300\355"
+" \325c\372]\254]\316\25R\340\371\300\353\22\315!\255\3\353\321\310\2Ay"
+"\376\367\231\b\256\305S\270\346c\351\272>[kY\42\35L@(\327\266,\321\31\60"
+"R>\243__\r\333\212\330\234<\210u\353i\305\32ST2A\177\220\334\256\1\34\375"
+"\252\1\321yQ\36;\2700Ft\311c\267\273$\375\355\366\1\312\325\327\330\337"
+"\361\217\344\333\362\236~y\262\t!\24\275`k\273\350U\372\216\26X\20B\346"
+"\264\245\333\352H\213=\214\25lu\23\5\37417`\262\234\24p=E cA\223L\363R"
+"\1^Fd\257\210\204\266\360\253$x\'\2213\252Z\332\246\2\274\r\346n\264\221"
+"\306\227\310\330(h\r\361]\300X\303\n\376\6\26\275X`\2648\241\265L\324\242"
+"\200q4\234\261U\317\4\351s\277\b\214\256\253\360W\265\250\327\33\f\244"
+"#r\30\301\251 \275Od\275\1\177\\\23Z]\225px\302\6\16\7\275\306X\205\310"
+"\334\1\177\264\211\314\360\tMg\3\'\200\364\345\21\221\371>\374qWd\206\317"
+" \213\r\f{\253+b3\21\300\304\367u\13\2443\330\300p\304\324,6;@zPl\356\246"
+"7\26\23c\244\357f\356\33<\340!$k\7\17\260\367J\340\211\330\42\65\77j\7"
+";x\f\244c\230\300\26\343fL\23d\301\341\202\337\261\306\201-\262\340X\231"
+"\300\245S\321\262\340\210I\344\357\311\301\230\234\372\301\30\232\5\323"
+"\266\234`\276\343!h\316\'\307\203\363\202117\321\2\356Zrv\23\33Lp+\234"
+"\273\779\27\272lP(\2\353\2\217\266\300\253\245\240_H\337\244\20\271`|\36"
+"f\6\243\13\360j\301\256\361\346\27~\30\216\261p\207\270\210^}\201m\359"
+"X,\237\362O\17z\201\270\334H\373\354\201\375<\305\16\207\336\253\3K8\376"
+"\304\331\373qD\373ZS]\333\351M\315[FN\35\313i\323\206\326@\377\376\247"
+"\206\267\275C\305\204\317K]G\331\33pX\257\272\306`\200\343P\6\177M_\13"
+"\32_\223\31\211\325\0F%\212\334\2414\372\303\332\355wx\17i\1\207^T\2o\224"
+"\32\224\355z\2001\306\336=f\365`\270\244\230Y\227 \333\n\276\330,i\312"
+"X\236\205\333\316\335\246\332\3323\3\3515\77\320\227~\6\344\352{\334\254"
+"-8*>j\204\320\302\36i\356\227\32\271\252\300(\373\262\4\326\275Ysw\240"
+"\n\214\302\336w\322\270\227f\241 \203\21\312\374jT\210m\331hB\301\7#\224"
+"\374N-X\17\35-\177\316\214\220\341\340\20\272s\\\376\354\354\364H\233\275"
+"\377F\355\257\303H\237T|N\301\21\275\306&\364\37\211\2039\230\2039\230"
+"\2039\370\377\7\16\25^H_\234d\276S1\364o\337G\332w^\2141\356|,H\3\1\251"
+"\335\334\24\277\323\365\b\343\300\367\0x\221\204\317\221q\217\22\343\300"
+"pz\222\'\361\302\3\333\346\275Q\206\201\341\301\202\\z\253\216\r\254\352"
+"&\24\33\305\265\231$\26j\240\356\200\315\247P\203\300)pj`\223\370\216\301"
+"\332I\346\363\6\201\341\26\375\330\210\4\370\fHo6\b\f\347\334=RN\326a\360"
+"X\346\32\3~\5\24Y+\25\62\235\260\312o\30\3\6\23\30\2707&\210\325\207@z"
+"}\214!\340i \335\42\t\376\251+\220\266\30\363E\201m=\324*\355\366!x#\177"
+"\31\321u\201\240\204q\201\264\337\24\30gV\32\0\236\3\77\3438\31\307\323"
+"\300\257\322\0\360[\240\274\333r\216+\340\1\207\307\365\203\313@y\'\345"
+"\34C\256\3\317ous#\341\n\351\333\262\256pS\337\253\273\312\205XuH\262\364"
+"\301\243\27z\301gAa\375\n_\311\273\360&\327\350\343>\n\77\222\303\n\316"
+"q\360\265\264G\353\2\37\202\225(T\362\376\bz\357\327\303\235\7+<hUrO&V"
+"\25\67h\347\206\21+\243\7\2243|\42{\314O\275\210G\207\27*g \253\334\77"
+"[#\267\230\340\326\261\337\352\275|M\334M\344q\331B5y&\221g\3]\257\263"
+"c\315\37\220\7S\33\324uu[\5\13\307\247RX\77\340\237\5%<\253.\237Ex$\316"
+"\261\215\345\234b\342n\267 \377Y\265Y\213D\213\364\366\217\325\316\344"
+"\26\356s\t3;\36Q}\323g(\33\4W\266/\nS\310\26\275rO+%\247x\24\25\429\1\370"
+"\235z\330\326]\177\245\361f{\207\223\22i\323\262\247\345\316\236I]\315"
+"\77\262Q=\30\345V\313l\321;\372\354\3#n\267\23!\204\242\302\254Q\23\'\305"
+"\313\34S\251]\352d\32-\365`c\324\230\300\370Id7\32\303Mc\16\2\23\216\33"
+"\300\375-^S\330\263\353\345\356\327\270\250\221zL\27\366\376\213\332;\325"
+"\247j4c}\207\23u\215_\326^\324\306\255xB\367\350x\311\2111\346\77(\34\230"
+"c\310\234/uK=\3\325]Y<Q\241\300\20\365\354\254\265\313\227\330\224\335"
+"F\353k\253\252\224\367#C\230\352\35\226\233\2273==):\\d\361\r\216\16\367"
+"\365u\266\335jh\366 ........Y\375\r\22\204,I\42\274\320|\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0l\0\0\0\301\b\0\0\0\0\17\217\n"
+"!\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\7]IDATx\332\355\232kPUU\24\200"
+"\367\205\313\353\372\4\271 &\30h\n\210\210\217\214\32\62J\263\304!-\324"
+"Q\'\355\251\2466\2155c6B\226\332\214MjY\223\343\230\346X\222NZ!\343\223"
+"\34\37\350\244\2048qe\24\301\7\242py\277\205\13\2\367\364\'\270k\237\273"
+"\3279\373\334\303\375\325^\1778w\357u\326\267\367>g\257\275\326\342\20"
+"\42D\210\20!B\204\b\21\42D\210\20!B\204\b\21\42D\210\20!B\204\b\21\42D"
+"\210\220\36\361T\354\r\34\65\326\263^\335\210\367s\1\201\206V=\303\30\237"
+"z\252N\222\244\316\35\201j\232\346\363\222$Im\5\373V\214r\2114pu\241\324"
+"#M\237\5(\352&Y{U\245\3745\203\265\242\374\326\325KP\232\267\217Fuc2$Z"
+"\367\253\201\232XI%\222\\\354\331\313\202X\17k\366\361n\']\353\253\374"
+"(\337\235v\211%\335\271\233\223C\341\364\'\257:\324\310\324\224\266\32"
+"\331\246\r\362\206\241G\236R\30\311\303\322\252:B\b\351\357\37:\314\200"
+"\253e,x\3043\257\210\22\251/\3447O\216}62;\254O\266o\264t^U\307|K\352#"
+"\351~A\325\235\234\221\372L\212}T\226q\303\233}\347\7\2074_R\354\177\262"
+"\313\2459<\252o`5\327\370)\275\372\236yqt_\355\201\254\233\r\375\2\42&"
+"&MB\206Wp2\367\306\203\207\204\30B\242\23Rbd\235+w*L\354mzd\266TSo\327"
+"\204\23\214\241\333\177\211\245\356\1771\237\356\317S:\'\356Q\252\267\351"
+"\201\276\357\264\304\326D\271\5\343vZ\3w\250d\t\245x=X\326\275J\306*\217"
+"`\330\330L\251\254\305a\227\241^\365p\247\376\337\3515Ld:\277\223P\347"
+"\24\312\212\244l\275\314pd\235P!\223m%\314\6t\36\32\61X\32\64u\220\351"
+"]\241\306\\\304\314wPi\34\6\273\b}\r\363x_\4\355\4#f\306@\245\5\330)\326"
+"\241\272Ff\240\321\201>\16\13\320\332(\353\363\370\357o\2547h<\3004Ss\317"
+"qmCaY\340:\24\201E\2016{\26\333N1\217O\274\f\256C\20X8h\273\331\310\266"
+"S\306\3\273\1\27\36\201\r\1mE\210\235:\36\330\335n\307u\0\2\363\7m\225"
+"X\0\302\3\353\254s6.\377\r\243\227&\304\16W\20Cj\35\227\3\20X3h\363\321"
+"uj\266\253\317\254\23\264\365\307\316\5.X\33\336\325\3kTxc\261\347\215"
+"\304\356\216\313f\4f\205\361\34b&\230\13\6\326\245\21\201\301=4\272\37"
+"\333L8\317Z\31\200\333(G`\267a\304\225\310^\361\261<\260a&|\303\366\300"
+"\212a\342\310NCb\300\2U\241\260\311\340\372\n\2\263[@\343\374A,33\300u"
+"\t\n{\306q)\235C`\344\2h\34\260\232y\236qx4Bf:.\363\254\230R\2<\365\332"
+"\236pV\230\n\25\320H~\24P\372\20\217\363\253\241\261k&\247\376\\\320\335"
+"\216\355{\36298`\203\360\375\261\205\212x.\310\37\333&\330{\f3b\274\257"
+"\22\310\364D\17tv[\3744\265{R\251\316\3271#\13\201R\274\322\326\77,\313"
+"\260\16:\362\335\270\323t\316\200yI\17\20\201\\R\314\251\243\257\311s\323"
+"{\331\327\312\33\214\346\250i\223\351\366\365\233\260\250\372\'\307\365"
+"\234LE\257\266\2353G*3an\21<\261\2\203\212\277.\346\203\315\307\f|\17\224"
+"\26\2519\354q\255<\254t\354\366i\240\0SlT=\36^\341\310=\257b\213\30R\t"
+"\264\336\3408\214R:\324X\267\206#\267\232r`vg\344\200\221i5\312,\313P,"
+"f8\6\3258+\1\217\235U|^\230\237\362\245X\267\214|0bXX\212\241\254\350+"
+"\26\222C).\321Pn\\~\235\205\252^\77\0}\261*)\315\42#\321 \206\370/o\320"
+"\256\262\375\330b\23\272c2e\303\302\\\'\276\317\375\247\304\206\2150{\r"
+"\356l\255/\271\223s\5I\222<c\246\316}Vf\2440\306\356\226\342y\304]\306"
+"z\277\353\246J\375n\326\303-\217w\17\354\34\363\255\265-p\13,\235\275G"
+"\354k\335\1K\300\234\3516\203\33h\363\252\20\332\16w\320|\222\367\262\335"
+"\3517\356yK\274\222\17\2653h\237\270i\7\220\340uV\347\267\3445w\321\210"
+"\357J\'\377\335\30\3516\32\361Km\223\321r\275\334G#\243\377\222\321\322"
+"\334\b#\306-\364Ya\13\307\352\372\201\3113\342<\312u\301\354\247\313f\301"
+"z\2041\360\17\366Y\361E\207$I\322\21\223\316\311-\246\346\326\35\245X\2"
+"M\327\273\224t\n\362\3\63a\356\35\320l\2350\303\237\20\326\312\n%6\366"
+"v\337\365\321I\33\1\213\322T\30\356\\\334\f_\256\23V\372-\374\305r#\277"
+":\306R\351\247\2236\f\26\345\353<\234gV\0\374\334{:aVX\366\r\210r\206\345"
+"\200\3765z\237Z\6\3741\301\31v\31\324\0C\336\322\t\273\b\177\260\274q\266"
+"\346\34D\341\355o\2\306\3661*<\'a\rp\276>\230\4\253MA\f\30\265\316\37\353"
+"\f *\b\263P\334\13+\2\357#\31\77S\37\254\225]qv\354\2\312)~\252\17fg\225"
+"\342(X\27\320\210\32775\370QH\13\13f=J\225\252<\364\300`I\273\226\251\221"
+"H\235\r\357\350`\231`\234\274\225\255s\25\302*\6\271\16\233\16\r-E\352"
+"\22\324\324\366\272\16\333\3\355 \377P\367\240\377\253=\313U\326\220f`"
+"\245\t\363FIt\302\356\352\247!_B+\31\250Z\26E\273\342Z\360\23C\5\376\213"
+"Q\275H:A\310\364t\345U\374\7\232hQ\3700j\223\254\240\243\235\346I\327)"
+"v)e[\26\232\226\2515D\360\332O\327~\307()\307\3122\255\34mo\211\77\375"
+"\324\245\375\312\352+d\271Am\212\226\24[\2266\331\324\206\372\263<\315"
+":\32\316\2112\377\330\2555\371\364\316\221\323:v\361\340\20277\311o\314"
+"Q\17/\314E\316_Q\35\237\343\253x\217\307\364t\233\323]\r<c\34\316*8\266"
+"\34^\32\205\4\13\346\224=\25\214;\272^\342\252\312=~\226=\246\6K\341\315"
+"\373\345\25M=\347\241oPH\370\230\310)\21\354\250g\371n\276G\35Z\240\374"
+"mZ}\375\203;\25\365\315J:\366\17\370\317u\275\37\262u-\323\222\35o\323"
+"\305jN\326\346xR\352\\g]\217\326\34\265\234p\21e\337\341\312\3314\257\314"
+"\245i%\272v\346\366Ok\324\212\252\371\310\233\270*\201\33\64=\272\3524"
+"\35A\31!\244\337\312<^T\376R\275U\24B\310\244\255w\324I\245_OR\315\333"
+"8yq3\236O@\3779Ml\177\2379\236/\221\276\202\21B\214c\343&F\216\f\223\225"
+"\365*n\27Z\362,\35|\31\251\346\302\333\320\300\240\200\201\304\344\363"
+"\250\265\275\245\246\352A;\21\42D\210\20!B\376_\362/\307\373\331Xy\247"
+"\2744\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Q\0\0\0\301"
+"\b\0\0\0\0\222\202\3\251\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4[IDATx"
+"\332\355\232kHTA\24\307\307v[k\315|\256\22\32\244lT\340ZQ\240\321\303J"
+"\313\212\220\312/B\321K\242\f\42\250>D\20X`}\212\214\36\4A\17\250\244\27"
+"\25F\21=\250\354\365a\213\214T,\337JV\232uS3u\335\323\207\324\235\331\373"
+"\232\273\367\200e\363\377tg\356\331\337\336\273s\316\234\231\263C\210\220"
+"\220\220\220\220\220\220\220\320\337\242 s\37\237\271 !\252\255\374j3\326"
+"\343\244\277\1\0\0\370\265\5\t\230\357\205~yRQ\200\273\301\247\263\30\300"
+"\265^\212X\212\0\314\362P@\2507\17L\355\4\\\242\353;\340\22\343\33\1\227"
+"\350x\17\270D\373K\300%\332\356\2.1\350< \23\17\3\62q7 \23\327y\221\211"
+"l\354!\20S:\1\227\350\372\n\270DY\354)\22G\360\3#n\307\343\3468\205\330"
+"3\367\326\226\233\200L<\1\310\304\203\376\214g+:L\21\363\374\201%!\244"
+"\330\fQ\26*/\303\b9d\302{R\212,l\307\353L\211\220Vec\36\242\263\330\316"
+"v\274\315\224\b!\235\1\23\35w\34lGyF+!\204\364\6J\264\27;\331\216\17\31"
+"-Z\366\272DKQ\n\333Q\263P{m\247K<\220\305\266\33\26\66\231\213\346\365"
+"~n\323\350T\364Q~\357\231q\222m\177\316\250\322{\6mb\350\345`\246\335\222"
+"^I\314\21\367$2\315\266Ee\304$1\233iI\231<\13Omb\37\335\370\261\324ML\23"
+"_Q\327\77\227\277 \346\211\'\300\7\314*!\b\304\347\205\3W=\253\36 m\311"
+"\n\372\0\0\240c\231\366,ld\306\235z\272\36\276\\\234L\270\211V=b\351F\203"
+"\2575\202`K\20\5qH\210c\321\211A\350\3041\350\304\20tb\4:1\16\235\230\200"
+"M\f\235\200M\234o\301&n\300\16\266e^\334\nR\330\256.\265\35\222V\346\n"
+"\232\226\232\20\251\24\275\243\342\223F\6\362\34\351e\300-\256\267^\342"
+"\1\\\242\245\32\2#\252zOj\42\366\214;\23}\16\37\217N\264\213\\8\264D+\217"
+"QC\331\'\251\233\231m\355q\323\243\3\257\306\224$+\306T\256\307`\24\372"
+"\210\261*\26\227\2\256||V\351w\243\217L\3070\364\307\301\332\213\27\213"
+"\3308\270\357\307\42\336\360\364_<\304\42V\25\364o\374\367\343\375\304"
+"9n/|+\232\244z\77\220\275\353\310\20\255\273\201\354]{{\305\214+\210\303"
+"\'\27\272rgG\266\277>S\202\205\266\24\376\251>\301Q\336\243\1zq}j\360\356"
+"\16\34\342\\\337\335\26\273)\342\300\310\254\361uE\317A\31kz\32LB!Z\364"
+"7\316&\374\321*\242P\20\377=b0:q\24:\321\216N\34\207N\214\346\'\332\370"
+"\210Nmb\27\325\27\305\227\230&j\23%\252/\201\2138\205\366\36IN\2447V.\256"
+"l8\217n|\225\23\353\3509\334\305U`\242\33Mrb\5}\177\5\7\60\224\371W\351"
+"\203\334 \226\256\7Us\370\324&\246\202\244\364\f\225\264A\216\376|P\316"
+"\20\225v\314Gh\203\32\335E\300\6\6\370V\311$\21519\256\3\214\371\302\230"
+"\27(\276F\35c\223\247\355\335\17\331B\234\362\232\201=\0\345\321:$i\275"
+"\340w\376C\331,\\b\315\216\215V\3F\335\362\253\25f\253\30\356\365\263\253"
+"Z\245\34;+\353\375\fK\325\234\315^\343_\247,\335,[\2\5\257\226\37\363Y"
+"\254\372\363d\312O~\365>\332\227\345\34\250\2;\346n\273\336.\257\217\26"
+"\261\24\346\305\n\267+~\23\264\266K\336\bk\254r\252\372\350jS\37C\333S"
+"0\254n\355\365\253\243\302(\320\273N\'\26\342+\r\22w\352\316\0\261n#\274"
+"\276m<Y\370<\77\260}%_\216\333(q\2\337L\346M\304\343\257q\rr\276\215\360"
+"+\355\211\356\30_q\32\\0\314\276\324\243\301\373u\316E\214+j\353}eh\337"
+"\263\355Zk\4\315\324<&mVJr\f\335\323\363\316\375\370\236vmN\77\331\207"
+"\'\306\305\204\333\302\310\217\256\266\346\332Z\17\21\22\22\22\372\77\364"
+"\33\25&\302\246\201S\23\255\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0n\0\0\0\301\b\0\0\0\0\13z\332\34\0\0\0\4gAMA\0\1\206\2401\350"
+"\226_\0\0\6\276IDATx\332\355\232ml\24E\30\307\267w\327\366Z\n\327+\224"
+"r\320\322W\241PZy\325\250\304\27l\20R\333D\221\324\22\242\204 `#$\2001"
+"~\20\320/\2044\362\242A1\210\25\255/\330Vh\215%\22\20jA\321Z\252@\240\205"
+"\243\304\276y\264\305\266\334\265G\333kw\374\320\320{fofw\366v\327\370"
+"a\376\237no\377;\277\235\235\231g\236\235YA\340\342\342\342\342\342\342"
+"\342\342\342\342\342\342\342\342\342\342\342\342\342\342\342\342\342\342"
+"\342\342\372\277(D\376tt\372\224\311\236\262a\266\262\246\344\271\275-"
+"\316\376 \357\304\372|q\23B\b\241\272,&\3773.\204\20B\267>]mS\17K\330\373"
+"\17\272/\337\276hE\177\364aq\314\357\375b\201:\330\370w\7\21T\327\2460"
+"Y\277\245\260\13\363\213ei*hK\232\221T\255\233\243\350\217}]S\200\277\377"
+"\325\20\326\356\363\326\b\42\250\347=r\33f\355\351\42\331\321\321p&\232"
+"\271\30\321\324P\364\3648\314\33\227\267\337Iu\237\2651\f\4\363\347\253"
+"\344nf\270\261\241\265\263\27\t&\233\3151}\226C\366\306\317,\37R\254\334"
+"\207H\77\35Q\244m@zj\225\2m\376\240\256\270\236i\222\226\302\17\303\177"
+"p\350\32#\255\366J\271\323o#\23552W\246g&6Z\2457\340\255\251ntz\372\42"
+"\346\346\27\204\322n\322\375\311\361\353>a\234\315\2214\347\261\371&\374"
+"\\i>\275r%\322\233\273\266\336\77\316\36\250\246\324\2408\6\24\61m{\17"
+"v\3227\235J\233)\211&\236\315\26,0\36$\301\206\326HJ\211=\201\235\337I"
+"\305\35\302\13\272\231\3110&\207W\4\6\212R\354\1\321h\223\274XA\316\370"
+"\300\300\177>\0\367\6\241\240\310\33\3201\207\202\333\206\17\31\322\24"
+"\222\352\225\320\252\211q\77\27Z^\247\340.c\5\25\20=E\222G\231A\236S\32"
+"\201\347;2m\16VP\25\331\344\300\243\3167\f\343\267\333D\264l\307\206g&"
+"\245\240c\30\356I\212\353\21hJ!Z~\203\226\nZ\177Z\3]\235&\212+l\0\270r"
+"\374\377\373\3751\13\261.O\303\235\207\7\65\42\3055t\35\34d\220p\217\303"
+";m\77E\303\335\32\4\7W\251C\370&\f\215$\334\243\320]\201h\345\210\267\301"
+"\301\337T\\\13LwI\270E\320\375==\256\272\301o\17\325\325\241\204\233\7"
+"\f#\347\265Nt\335\340\267\235\200\213\207i\323\245>\2558X\357q\4\334Lh"
+"\256\323<\215\303Gn!\340R\241\271A3nD\241v\t\320|M3\216\322\32c\270\251"
+"\330\340\3225\77\352\'\340&AC\233\256\270a\2\16\364V\341\316\200\314\305"
+"CZ\332q\f\7_\30;\345.n\243t\b\272\356\22p\21\344\363\201r2\31\341(\356"
+"%\340\302Xq\215\340w\27\325\25\252P;\201\25WG\211\373\222\354\210\34\320"
+"\306p\42k\223\\\361\267l\3\375\276&\222[\333D\nr>9\234xt\354g\271\300\204"
+"kWx\230^\331\216Vt\277N\235\357\323Mq\n8\17\3630j\317\35\235U\233\226\337"
+"\241\233\22\311-l!u\217\by\336\271\324\354\254\t\356\77N\313=\363d\320"
+"4\244\16\3655H\235\276\324\34\267\302}\344\227\4\23i\b\205j\306\315\2s"
+"\334%\22\16f<1\232q0\317\252%\341`R5Y3n1L\227I\206\247@\333\271\264\322"
+"\314\376\325B\344\265\22\27\24\341{M\230F\334RP\330\t\342l\336\6\306\266"
+"9Y#\356e\360\373$\331r\21\334\321\263\332h\330[Y\32\261vB=\3707]\33n\33"
+"h\214\332\233d\334E\360\357C\232h\311\257\201\203\257(\246y\340\1h\313"
+"\304\340B\207w\22\305d\352\6\256\251\32h\330\232\341!\252\255\22\270\326"
+"\4O{\30\276\270\212\17R}\205p\359hZZ\'\254\\\31\335\30/\202E\225\360`\273"
+"\311_\330\202\230\\\27\257\3\306\27\202\243e\266`\13\23\7\344\274[YV\36"
+"d\265\274\27\243\265M\2203\307\371\230\326\5\2512\355\300W\f\305\\y\377"
+"q\340\335\243\232\26{F\262^\266_\341\202\205p-s\242\332N\42\335\230\371"
+"Eq^\251\2\356}\352h\321\322\335\22g\254\3425p)k0U\25\356\200\204\326\316"
+"\262\305u\22\\p:D\r\356\256d\2457\211)\307\200\227lPA\13\351\307h\27\31"
+"\267#`\357r\317V\301\2031\2}fe\274\nfH\350\206\212M\324\17\374\227\365"
+"\256e\277\354\34\344\235b\317\221\26\215E\334\252\204 \223(\204\216\231"
+"\231/,\250\367!\204\320\325e\352\6\320\257\30\257\334\252\42\210\331\35"
+"))\26\225\321!\7\357\3215\3323x\371.\375\273$:,4\226\227\'\211\17\3[L\206"
+"V\357O\351\306K\355|#y+\2\66z|\207\23\215\303\231\256\4nd\r\36\234m\30"
+"\257\200\264O\'\376\270:\326\240\352]\'oC\212\365\273\226\204\351Ns|\344"
+"\243\357\335z*6&\351\t\213z\307\243\264]\334\2607[\247J\206\24\2642mP{"
+"\276]7E;-\275\232}K\\\254\3351O\23,t\207\332O\20\232\17d\7\275\b\223Q\37"
+"\314\276\177w\311\212\310`h\353\357\5\373\245A\177\371\213QjW\261\216h"
+"\372\266\301[\2762BMVZ\215\264\312]\262\214u\356\267\325\352\362\375\306"
+"\355\275\231L\243\255R\267/F\3526*\247o/\351\371\211J\337\307J\323\343"
+"\5\235\77\212\371y\245l+6\353\375\21\16j*$\246p\243\257\35\r\201\257\354"
+"C}\275\356A\317\300=\361\256 \b}\276\tf\301\32a\217\260O\214a\215\42\256"
+"\335\207\6(\270\255\273G\13\3614\267\270\332\273::z\272{\250\213\373\266"
+"\251q\361\323\222\22\223R\24\27\'Z\336<\212\2108!21R\20F\332\356\250Y\42"
+"\235>#=#3c\274l\237\330xY\347\264--\277\350l\37\265\t\207vZt\237\375\5"
+"\313\202M\245\35\24\340Oq\306d\247\231[N\22\247\257[i\202A\212z\256\244"
+"\'\220\327\32o\\\216\32\226S: \345]0\13\6\312\276\251Q\302{\305\340\227"
+"\250\245\370tvY0ZO`a\330n8\317\264\326\345\307%\b\306+z\327\375\374\330"
+"e\26\376\13\305l\251\33A\b5-\226\306L\303d\233\21\351r\42\201\213\213\213"
+"\213\213\213\213+(\375\13\351\2669T\360\342`G\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0H\0\0\0\301\b\0\0\0\0I9\251\213\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\3\312IDATx\332\355\231OHTA\34\307g\335\335"
+"l\32753M37sEm+W*C\263\314\203dPD\24\30u)\301C\320!$\211\320K\207\250\16"
+"%\25t\220\350\42\n\21\222A!Y\204\20\42AD$\230\177r]0p[\227\255v\335\315"
+"\77\373\307\235\16\245\357\367\366\315\233\367\3267\207\16\363=\275\235"
+"\371\356g\346\315\233\367\233\337\314C\210\213\213\213\213\213\213\213"
+"\213\213\213\213\213\213\213\213\213\213K^:\370\243\362pnd\342\215O\305"
+"\337r+\362\342\256\17ar\245\343#\306\30\343\245;\353\2240\326\347\313\30"
+"c\354\273f \325\332\3\370\237^\352\350\234L\347\212\263\217\324f\77^\325"
+"\5:\350\206\340\274Nh&&T\17\320A\303\202\323\'\275\271\n\241\26\177\247"
+"\203B\300j[)LY\2710\1\247\231\16\262\220\256SX\315#\16\342 \16\342\240"
+"\377\32\224\301\254GfV\240\34\265![\t\264\235\6\332L\7Eai)\rd\243\203\26"
+"`i\25\r\264\237\16\232\203\245Gh\253\377Q\372\250\33\301\222\215\361Ay"
+"c\30124:\244c4\3\335W\344A\255Js\370\25l(^\'g\253\26\365\234\320#4$J\344"
+"\272\254dNa\217^ij\36\22\265\204\247\313I\246\32\217\330%\364\b<\77\267"
+"\330\22\276\235-I\371:\226\2612\b\265\'\232\26z\233\354\253\211\224~\307"
+"\305\276\30\306\262 0al\223\204\3342\372\315\367;\200L\226\334B\23q@\312"
+"G\b\205]8y9H/m[\210Q`s\2672\333\6<esk\b7\275g\24\263\27\216\r1\n\376\301"
+"\372Nf\373\245F\337\232\306\210\240\354\2160\33\20B\371w\275r\177\214}"
+"\351v\252\7!d<\376\310\225\310\210\fw6\327X\304\273\26\342\273&\211\251"
+"{\312\354\371y9)\31:\237\333\365ult<\362\267<uI\351]S+\345\t\311\363#\16"
+"\342 \16\342 \230\22\351v\227f\317\273>E\2652\353&0\306\30\317\236_S\314"
+"\26\264/\254\362\254N\t$\344\331\336\365Z@i\21\241\366\224\226\345\250"
+"\334(8k\265<~\270\327\263k\1\301\354\334\252\5da\265\3136\262\2\231Y\275"
+"kK\254@\360\264|\3+\220N\317\352\3262\325\']\22Ppm\240\240\4\64\13\253"
+"\267Q\23U\370#,\1y\225O-H\23% \1y\220\332\227-\13\\/J{\364\323\17\352\367"
+"\252=\255\361\20\202\377(\250\2574R@\305\340z\226\0\32\7\365\3515\24\20"
+"<\20\230&\200>C\363\31\n\250\32\\;\t\365;a\4\r\244\311\217u\24\370\316"
+"\2226\264\242\35Q\233,\3502\264\225\220\34\335\320\341\227\233\223\306"
+")\340\372A\334\23\235\24m\252\336\311|\34\273\nM/\210\226T\277\210\364"
+"\204\370\361\254J\264\273\274Dn\354\241x\243\367v\213\324R+j,.\263J\24"
+"G\305$\177Kz\302Q\346-\261cP\356\201H\16\42\374\235\r\253\203n\256{\360"
+"+\241\272\21>t\b*\31I\225\322\3753\336P\314\220\265\325&\t\233\236\302"
+"\210\\\227n&u.\322B\t5cIp\234\264\244\305\36T\315\211\327Sc\360\351\230"
+"Z\320=\205h~N%i\300\240\264.4\314\253\341\f\246+\2570\216IeN\217I\315Z"
+"ei\217\3221\363\315:\225\313\336\256^\312H\305\237\25%\261\224\27\335w"
+"\2231\301\307e\344\203>\371\254\340\300\211\352\n\361\220\342\211\241\376"
+"\327\213(I\20B\b\351Kl\5\326M\206\215:4\27\362\316L\215i9\361\344\342\342"
+"\342\242\353\17\20\337/2\243\3573\200\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0Q\0\0\0\301\b\0\0\0\0\222\202\3\251\0\0\0\4gAMA"
+"\0\1\206\2401\350\226_\0\0\6\1IDATx\332\355\232{PTU\34\307\317.\217\345"
+"%\210\200\b\6\1\241\30\212\4\b1\3\230\342`4\3408\365O\23\65\65\215\326"
+"\330\37b\17kh\206\31\213r*+\33g\250f\30\37\215\32&ANQIe\366\200\322Q\343"
+"1\240l\200\344\26,lh \260\274\366q\373#\330\375\235s\317\275\347\\v\377"
+"\353|\377\341\3549\337\375\334\263\367\236\337\357\236\7\b\t\t\t\t\t\t"
+"\tyW>\n\365!z;\343\233\241A\210j\321\311j\302\212\3633\22W\350\2555\7\7"
+"\24:\221\2751#ee\224\16!k\317\305\246\2636\306\225sN\317J\363\232;\221"
+"A1\244V[$(\363\36\1775^t\255\23\263\377\3640aOn\300\r\222$I\355\251\312"
+"\300\274!\231\335r\20t\324g\357\264D\321h\201\22\260\320J\363K=\7\266\4"
+"\42\204\20\312\275(\3215\226F\1772k\177\tS\272\226\335\330\77\202\322r"
+"\24\177\\\377=\23\224Z\3376i\361\252\246]\247\334\3\240dK\221\217\360\200"
+"\372\20\17\2Eoh\224\325=\42y\244\311 \27|\241P\346Y4\7\227\220DC\241\207"
+"\tb\253\353\t\317\377\315\b\202\315\316o\276\356\262\314\32B\22\326>\220"
+"MF\376d\303\17\3061\333\222\244\202\307#`\365F\362\22\273\340M1e\273\33"
+"\262\210a]\37\351J)\215\260\336\21D\20\337\1\215s\353aK\340y\370\305\263"
+" \375\5\30a\13\231VjA\333\307xS\222\335\335\344\\\5[v@b)\361dB\201\361"
+"+\42\304Z\334\345\216^\330\202\215\301h\202\270\4\264]%\372ot\27\177\307"
+"\32\376\36\202w\207 \302\'j!\210\243\356\342\77x\313_\360=B\20\307A\333"
+"4\367 \34\243\5\244\274\37\62\315)\266\330T\210\2030\242\b\17\350\363$"
+"G\322\240<\215D\302cu\27\35\374\304+\240\356A\302s\333]\34\347\'v\233\335"
+"u\273\267\341\36\60F&\370\211\350Sw\235\377\231\327\374\240\347\206\273"
+"8\254\201X#\201\267h\345\345$\30\64S\256\242I\3\361Z=\254N\177\37|p4\273"
+"J\335\32\210\350E\354\256gbid\241paR\13\321\364\224D\37\61\b\235j\237/"
+"T#-DT\3674\30mMXh\224\376\212\20B\366\327Os\20}A\371\360\215#\361\363\305"
+"\221\375\230k0/}}\340\360\245a\244Y\201{:%I\222\244\313k\370\374_\202\214"
+"[A\351#B\323\207\16\305\256[.]m\367\340\245\350KV\230\315\36\276f\365^"
+"\237\331\13\242w\344\313\266\370%\304D\205\353\21\32\271\336m\343\3706"
+"\203\230P\224\237\265\332\225,gZ[~n\206\te\245\306\376/\177\256U>\365\264"
+"_:P\274\360jNqPbFY\211\207g\224&\264s-\257n2 \224\332%i \206\275;\247>"
+"M\266^\351\303\227_\25\352\367\261\350H\34\343\222AYZF\217n_S\234WG\217"
+"\377\2612\357\216G\377\272\355\336\215\31\335\321\355^\216\302\227\37\365"
+"r\\o\252\362r\\\207\34\245\357\205X\347\220_\310\242\210\257$\312,m\337"
+"6\33Mv\204\220ODl\362\272\234\2m+\322$2R\34\'2\t\213\241\244\301N\13\42"
+"\205(\374\210\260uf\322\\)_p\23\343m\270\2536@\341\267<9\315I|\3\67\325"
+"(g\370\374\333\\D\37|w\346\274\237\312\35/\262\363\20\2130\313\255\25\252"
+"\17\261J\201\210\375.|J\377\222\372\304i\177\37\307\3301\301kv\263^je\354"
+">&\307c+n\326va\335\0\63\256\363\260E\fs\366i\77\311$n\300\246\206\354"
+")w\3\223\b\367\323\320\347\354\333\336z\223E\304&\266\77\262\211\316f\6"
+"\618\32\324\367\215p\214\215V\6\361\16\246\231T\'\203\210\205H/\17\361"
+":\203\270\24\326\367\360\20M\254\373\250\260\2V\326\204U\235\210\355\271"
+"\336\342J\371\26\rs\\>\342\204\6\242\303\353\304\t.\342\214:q\34i\326\254"
+":\21\273`(\27\321\251N\234\324\276*\321\253\327a\33]\221\\\304 \r\304h"
+".\42\f\263)9\21{Q\305r\21\343(;\33\2008\1o\344j\36`p$e/LO\337{B\251<\304"
+"t\370a\230B\374\3\2243x\210\330\2d\220B\204\33N\261wq\20\341>\277\355O"
+"\n\361\232\222[iQ\273\5\246h\7\205\330\6\355\17\261\211%p\203\272\203:"
+"\203\206\347\\\263\313\230D\354\24\340Y\252\5\333\357\337\313\2\336\r\327"
+"\302\322\6\252g\37v\\\341\307 ~\2\3357\351\211\340^l\262U\256\16\334\214"
+"-\206\217+\244\222ah\32\211R\3\206\366b\227\337\246`\373\0s\235Q\1\352"
+"\32\360\243O\245\303\327<\256%\nBH\367\36\356|K\321\211\235\341H\316\'"
+"\24l>\325\304\306E\274\42q7\356t>OuE\237#f\3655*\371\311Bx\77\223\77\36"
+"\237\235\267\310]\20\265=\210\27dG\311\225x\360\204\3540\312\226[\225j"
+"\203\42\240_\346\237:\365X\302\177\7B\206\264]u\224\23\351.\354A\313\376"
+"\17\240\264\221\272\274\36\230\264\7.\213\245\6\306Ln\207z,\234\324z\344"
+"\272\223\225\0B{\264\1\337f\247\275\2641-\300c:\236d\77\313\17\374\220"
+"o\362\261\325\312\311\263W N\345\fq\1\315E\374\323\270\230\357\331<\347"
+"\361H\244A\272gF\31\300\13\367i\235m\206\2779\256\322\277\357\212\27\263"
+"_\265\264\\\341_,\214U*\323\42\306hZu\177an\f\254\220z\177k>\247\272 \343"
+"\30\237\21k\356\214\16\3677\314\242\261Q\263\251w\32\t\t\t\t\t\t\t\t\t"
+"\t\t\t\t\t\t\t\t\375\257\364/\335\301\27\254\326,\255[\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0\301\b\0\0\0\0@\322\t\361"
+"\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\326IDATx\332\355\231]lTE\24\307"
+"\317v\333n\201\332\226\226/m\251\355\272V$(\341\243-D\243\265%\215\21\22"
+"\77\32\264A\303\203\21\322\204\27\64&\274\250\304\204\204/\5\321\230\224"
+"\206@\304\324\4k5\r\21\345\241P\301\22J\210\260\4\2e\315j\245l\3136\355"
+"v\333\355\307\262n\307\207\272\354\231\355\275\363q\347>\221\371\77\315"
+"\2319\373\333\231\271w\316\314\231\13\240\245\245\245\245\245\365P\313"
+"a\3260\27 <\245\16s\325\326\224\227\315\3\0\230\b\337\273\343\277~\331"
+";e\265\253\13\366\17\222\24\r5\257O\263\202J\333>J\214\324]/\317\312\373"
+"\225\230\351T\276$\253\300K\314\345+\222b\271.\22\226\274Y2\260\303\204"
+"\255\275\22\254\352)\16,Z\310!8\223\17\262m!\317w\362\214h\307\352\bW\267"
+"\205G\331\316\207\21\316\3MO\24\26W\321\r\301{\367a\301\242\f\272\262\242"
+"W\254c\r\270\7\203\333\247\347/\243|w\b\327\177(8\312\26\364\233\221\247"
+"\223\365\205>\324\360\5g1&\n+Q\345\201\233\311\362\335\217Q\303,1\330#"
+"nT\371=\366\370\23\225\263\305`\213Q\335\304M\354\361\250D\314IL\r\252"
+"\13\20\354\361\2*\217\213\301\262\314~\222\261\t\31#\202sf\346\260\345"
+"1d\374-\3704MT\270\13[^%X\346\211\271x\224]\362\260\344\13\340<\376\34"
+"n\3706*\366T7\241\367\274\377A\350m\241\226\371X1\310\303b\377\257\376"
+"\302\13t\314\370\0,\300\310\222\351\252\1\232\365\223\303\22\354#\0GMG"
+"J,\2738\233\13I7\252\334Y\2\325\245)u\177\2742\16\226zf\240\316<\211\265"
+"\311Q\333\272a\333`\7\353&D\334\322\5|\356o;\42\326\177\1X\337\306N\311"
+"xf\256\316\325\235`\27\354\320K\1\341W\2023\314\221\367Z$N+l\330\3257}"
+"R\347NVc\323Z)\26\253g\221\206f\311\223\2479\354j}7\330\5k|\1772\21\42"
+"\335\305\13\263\0BC}=c\226`\303[[\0\0\322W\255]\263\302\363`^I\317\225"
+"\13\355Wd\243FW)\0\24\65\264\205\r\342\307_{\334R\260\375\31\340\336q\331"
+"4\34\305[\227J\300N\237\270\305\216n\361/sT\202c\252\374\225\326\203\343"
+"\f\225\376\366\216}0p\35\337f\37\f\34_\275m\37\f\34G\237\267\17\6\231\315"
+"\371\366\301\240\370\240<,\34\n\205b\206-\233_\24\17\216\327;\274\276\336"
+"\340(\0\0\344xV\326l\230q\332\376\254\202\b\275\264\243\373<3\16n\r\201"
+"T\257\rB+\340\374\343Fn\331M)ngE`\']&C\337\32\247\35\237\341\303\3749b"
+"\31\33!\237\363a\2572\36K#\345\331\353\340\301n\260\16\211\331w(\337J\336"
+"{v\2140`\221\35\224\3712\257ge\354}\3\247\240\344\34\247g\375\354\314\376"
+"\337\303\330*\317d\303.q\326\327w\370\16,\353Y6\354\6\7\26\240\376m\5\33"
+"\346\347^[`c\31\33\366\17\17v\36\33e\234\7\300\203Q\273z)\33\66\300\203"
+"\5\203\310(a\303\370g~<\253\256\2\26,\316\77\364S\371\365|\26,\302\217"
+"\344\324\254\346\263`\2\31W\210\272\366d\301b|\330\220a\32n8g|X\334pS\262"
+"8g\243\330\310U\334\204\247T\362M\273\22\61C\3156\234\26;`aEX.\225\220"
+"*\302\346a\343\256\42\f_\330F\2\2120\267a\220\267\6K{\3220RZ\203y\346 "
+"\243K\21F\335\252\235S\204U\241r\217_\r\346\\\217\214S\212\313\251\266"
+"\0\31\'\25a\357\342\315\347\214\32\314\363\6\62Z\243j\260O\360\217\276"
+"Q\13A\258\1\353\376]\t\226\331\204\177\3635Q\202\355Z\216\247\377\230R"
+"\244\255\243\276\2434FxI\3055\6\253r\f\237g#\363U\366\200\345\77S\1\373"
+"\320\0X\357\331j\372R9\230\247\260;U\265S\341\32v\16\203\345\236U\217\323"
+"9\321%\247\365}\363\211\37\351\317N\261-q\353\260\243\271\264\375\251W"
+"\344\372\306x\230\353R2\322\16\247\302\361\3405\332\354\255\217+\300J\350"
+"\323e]\277\371\301%\302=9\16b#\372:+\277\362\240\331h5\364\330\210\227"
+"Q-{\24g\223\256o\31o\274\311\257\354=\253x\261\270\77\341\332f\222S\27"
+"%r\326\346\2\376\365\332/\323\37\313\17\230~\310\317\77\22%d\342\2075\346"
+"\367V\250\374TMI\314w\272\217\361\2079\313\42\267\'AKKKKKKKKKKKKKKK\353"
+"\241\323\177\22\246\312#\362\22z\357\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0S\0\0\0\301\b\0\0\0\0\226w\323\224\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\6\63IDATx\332\355\232ilUE\24\307\247\257\373\276"
+"PJ+\257\245\24\220W\252-\330H[\333\b6\242A1E\300Z\305\270\200V0J0\244\326"
+"\304/~0\221\20\227\204Db\210$\206Eh\240\th\325\3245ZP\24j\354b[m\261\224"
+"\226\26\272/\274\327\275\343\7\312\273g\356,\367\334\352\'3\347\323\274"
+"{\376\363\2733wf\316\234\231\226\20m\332\264i\323\246M\2336m\332\264i\323"
+"\246M\2336m\332\264i\373\177\232\257\314q\317\372\270\256I\301\363\310"
+"\325\267\7\16\316\314\345U\211\77RJ\373^\342\236\373\357\237\240\224^/"
+"\361\261\217\\\332N)\245\224\226\230\35\373n>\247\373l#\243\232g\253\216"
+"\'\263\216\b\317\254c:EQ\335!zxh\351l!`3\353\310\17\276U\255\300&\363\311"
+"M\306G`=\31\62\207\25\63\342]\251\333\370\24!\366\230\257\307\33\345j\326"
+"\25\343-\5\332\32\240\5n\352\265\261y\254\357{\257\347K[\355\334\3\272"
+"U\326\307\372\374\274\2458[\363h\330h&\31549\253\274\236~;\355\334\36n"
+"\224\317WK\353E/\3043\35;\300\217\17\24\215\311\3023\363\301\304\353/W"
+"0\363\361\314m\240|x\324\254\6\201j\3z\204\302\301D\242\31\234\373S\340"
+"\315\301\266s#\230H55\234\272\7\224w`\231\205\240|\204Ww\300\250\260\34"
+"\327\365\3101\243o\323N\336_\b\372N\317\340\230\217\201*U\2\277\23\62\351"
+"\323(\346QP\343\25\221\340\42d\16\336\211@:z\215\n3\211\42\305\213LC/-"
+"\260f\336\r\364\342e\31\334\316@\33\235\226\343\276\16\224\305#0\312\356"
+"z\256\252\225V\355\374\26\64a\265Ds\212i(u\77\247F\6z\fm\257C6\335\376"
+"d\241\364\263d\25\63\27(\217\313\367\376n\23\364Fi\200\234\371\32\20\26"
+"+\242\334\210\tJ/$I\305\247\201L\265\360\326\270\315\320+N\231\266\313"
+"\20u*\77\374\232a3\364\234$\201J\2\232r\365hf\367\233\241\367\213\347\'"
+"\334\320~Q3\317\337{\325\364\344\1\61s\25\254d1\223\353s\33\331\7\36\261"
+"\16\4\361\3510\313u\34\363\3\350\371\304.\211\352\262\241iB\4\234\4C\336"
+"/\333\360\302g\f\321\t\4\363U\257\272#U:\226\240/oX#\363\274\223\264u\261"
+"T\364\f`n\262Dn\365\306\206nE*\3726`\246Z\20\223\312\215\300\244HH\210"
+"!\243S\376\352C\311~\20\300\224\261\356wC\327\252:P=tr\22\364\350\244\362"
+"\355`\r\177#\323\314\337\374Q\17\263$\207\22\4*o\226\32\13r\3046~\213Y"
+"\227\34\25\227\234\261\304\374\374\375.U3\357\2o\177\223\363\226Q\241\215"
+"\305*\367\270$I\nssT\n\305\r\251\350E3\271\350\271H\322\271\257\3259X\202"
+"$}#\204\20\3222%f\326\251\231\361*\346\265R*\254\35\242^\32\225\340\323"
+"\207\362\356\207\333Ec4R\240dV\33J\321U\0\t{\313#\200N\355T1A;z%K\362\340"
+"$\17\235\331\255`\216\32\272\277e\232e\207\247y\350V)2\b\310j\345ov\35"
+"\343\250\343y2q<P\375\252\372F\256\243fj\227,\13uYd\335\300\226\37\231"
+"b\241\247eI\20\320|g\25\344W\264\260\320-\222\243\36\220TX\356\34q\365"
+"\f\263-H\270\216Bl\335\33t\337\327\302l%;\205\314\b{\267E=\5n\370\263$"
+"@\304\364\265y\5\325\3602\223\77\24\211\230a6\231\344c&\316\275`u\277\204"
+"\373\266\273`\374\313M\21\60\303\341E\37\212\331\364\t\370\341\363\250"
+"\200\351\260\315$\3570\261\360\77\351;\251;\7\323\247\20\65\23;\257\216"
+"\301\276e\251\231\241H\346\31\270\241d\363L\30\333#\221\314\316z\360#\235"
+"g\302|\334\37\333\320\263\240\234\3063\307\230\20\201d\302\363\3702\13"
+"f,\222\t\267\367\2408\2169\300,_$\263\231\tN\34\223\271\'\\\210d\16\300"
+"\3404O\335\316Dl \201\211U4\307d\322\256\305X\346\240\222\351\36\1\356"
+"%X\346\rP\16\340\327Q;\334\31\261L8\253\203y&<\27D8\311\2771!\223\254D"
+"\326\16P3\33\230\344\36\311\f\26\336\267z\231\314y<{\16\355\364\360L&\361"
+"\312v\340\2301\360|\3053\373a\206\30\235a\2379\42\210\311\27\241\370A\334"
+"\347\204\314n\1\363\254l\313\222\33s\253v] \310\200Y\325\364m\30\346\6"
+"\230/\13\326\21\251\205/r<\216a\302i\3341!`\322\257\240|\33\206\231)\216"
+"\245\16\311-\352\35k\21k\20f\362\177\b%\241\314\325\236ub\313\344\326T"
+"\322\261\343L\362\233e\311\2047(4M\254Y\217\272*4\256\23\256R\353{]G\33"
+"\3\335n\301,\202\3422\314E-\245C)J\244o#\24\77+\223E\261w\245\277)\23<"
+"\246\1\23\321R\335^\366\334\363\271\342\3629}\24s\354\42\204\304\f\262"
+"\320Ji\232\357d\317\363\217(:Tj:K\326\272\304\272\324\313\214\254Y\25o"
+"\3\33MPOi0\257\362)\36\2426\246\310\32\356,}eO\214i\3007^0I\376\2628\1"
+"\274\307\337%\214\177\261;g6\37\367Ky\342\3005N`\212\266\334b\t\370)S\370"
+"\256\276n\17\t\212H\360\23\270\312\212\254V\261\263\233\332\263\266\30"
+"D\270q\333B\272\2630\2416\337c\39\265\5\267\305\256\35B#\'\237\302fQ\351"
+"\255H\3440\376\317\306d~\5\nY\267\302N\276\347S<`I\234\330\33d3\213L\370"
+"pRI\2349\345\232Cn\232r`DJ\349\2306\307\2147\374\371\312q\1\260\357D\221"
+"\352\370h\371OCay9\253\\\213n\5\347\211\316KM5\77\67\250\377\177\t\367"
+"\217H>\261\261!\204L\17\17\f\20m\332\264i\323F\b!\344\37\220AV\b\357\277"
+"\335\255\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0"
+"\301\b\0\0\0\0D\'\331\314\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\3\341I"
+"DATx\332\355\232KLSA\24\206/ \224\367\263\24l\0y\324h\b\211(j\220\240Q"
+"\27b\342c\7\211\340\373\265 \22CL\210\n\13\242\253.4.\\\2701\230hL b\32"
+"%(\30_\201\205\b\n\22\t\210\1\265\20\241\224\bE(\217B\257\13\2\236\351"
+"\235;3\245wy\376\325\355\314\337\217\341\316\2313g&\225$\24\n\205B\241"
+"P\253\n\360\355\353\261\233\342\235\13Z\215\245\250\315-\313\256\306\355"
+"\232\300\2\37\313\313r\25k\2013\313+\232M\363\235\26;\267\212\223\315+"
+"\215\376k\306\355\320\201g\337qq\340Y\357;\216*\304!\16q\210C\34\342\20"
+"\2078\304!\216\241u\354\356\210\234,\223!\42X\232vM\214Z{\276\314\372\202"
+"3\36;\232G\364\273\332\233\33>\255q\3349O\\2E\77\314\331\313\375\305\240"
+"\261\233\7K\177*\253\252\347j\212$I\'\305q~\34532KK\257N\204\337\26\306"
+"\3054\312\\\315\3114\34m*2^\232\370\257V\':\263\231o\22\64\214;\323[\203"
+"\206\253\42\376\205A\303E\26Pk\322r\315V\357\323r\315\356\274F\361\330"
+"\372m\323\1\301q\251\311\201\336\302\273=\303k\241\276$q\2457$\357\372"
+"gz\20\252\204\361e\17\333\354-\317\230\331V\347\26\306E\331IWk\6\305\264"
+"\273O\24WI\232\356\320\357l\42\237\211\341B\310\301U\251\336\f\325\13\341"
+".\220cS\237\261\2406\21\334G\350ha\335N\245:\370\270LbN\323\231\21U\301"
+"\307UC\303\rNz\262rq]\240\177\42\212\23\360U<\\\22\3547\363\326\217a\221"
+"\212\373\237\2\366Bw\r\17\67\366\236\223Q\362Akg\37wy7rp\360\216\260\211"
+"\237-Z8\311\4nM\7\4\222\317<\363\335e\300\255\251\223\217[\374\316\374"
+"ga\362\260\331\5r#\33\267\1\64ZER\3550\23\227\b\32\207Dpv&N\17\32\347D"
+"p\343L\\4h\234\22\301-1qa\260\200\22\301\375e\342\340\16\31\341\373\350"
+"\210l+\202\13`\342`\25\35\357{Q\341\4\215\353E\276\31\303\3049`\352\363"
+"\367\31\7\24324\331K\334\224\2\367\33Z\263\4pF\360\354T\340\6\211BJ\0\7"
+"\27\271C\201\33\200\326]\28\270s\216*pV8\27\371!\\Z\2\254\255F\224a\334"
+"\5\253\225\375\\\334\26\370\341\247\22\327\6\373\213\2708\270SI\375\312"
+"\376\303p\343\234\211\344\341Z\341\231*\234R\266-@^\31o\333\206\356^\232"
+"\3435\304\375\342\244\201K\320\\C\313(\26hO9\317\306\235\205\37\250\25"
+"\201\2018\16\217\307\261h\5\320\3526R=\317\211\252\350\21+\327\265Cg\7"
+"\335t\210\254\1O\13\2769\271B%\367\365\220\207\n\325X\336J\234\305]I*\266"
+"S\344\360&U\226n\372\20a\263\250\2261\275\36\207\236B\232+{\230t\355Q}"
+"\'G<\17\f5\321\212\77Y>KZ\3361\246\254\301\2237^IT\311!g\276y\30\334\271"
+"\f\\\212Cy%a\271\230\243\223$I\322\347\226\326M*\272\37\60\243\3758\375"
+"\204\351\264\377\241\336\371\310#z\366\352\271/{#\367AN\252\b\372\340\r"
+"\256\232\233\27\343\277\212\323\36\n\24G\306^QZ\235\320\217\24\f\355b\264"
+"{\202\77y\b\253\25\200\315\225I\302*\235\341\321\272s\274\251\254663a\23"
+"W\202$\357t\270K\25f\277\31\353}\351\347W`\241\255\204\205\246\222\340"
+"5\26\223\372su6\2\325q\2670\2069\4.2ysZb\250n^\236\34\33\35\30\\\224P("
+"\24\n\205B\241P(\24\n\205B\241PZ\350\37\237w\261b\340\4\5\211\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0V\0\0\0\301\b\0\0\0\0p^"
+"\30\320\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\7\211IDATx\332\355Z]l\24"
+"U\24>\273\333RZ\272\264h\177L\201\345\247\202@\5)\24\n\330\n\42\n\332B"
+"k4\n\t&$B\42\32\324Db4D\23\361\305\27M\20\243&\220@\42\204\200\t\330\226"
+"\266P\201v\333\306b\b\335@\353\26#\277U*\205n)\335\245\277\354\\\37\272"
+"\3359w\366\336;wv\246\17&{\236\356\336s\346\3333\337\234s\356\275g\6 &"
+"1\211ILb\22\223\230\374\357\305\306\231\37\237\b\20\30\26]9a\34\3347\2"
+"\353*.X03\21\0\240\277\303\373[\271W\253w,+\310\235\235\225n\7\200\356"
+"[-MU\3552\356\257\77\253\20J~\337\34\207\365O\356\275G\353I\343\33v=\320"
+"\271\r$R\256o\t\3\247\376\20d\30\64\347\211Q\267\364\23\246\374Q2\242_"
+"x\215\255\37\330.B\375\204p\2456\27 qg\77W\377)\37\365m\42\220\340\211"
+"\312\7\2\265\262\211\207\372\364 1!\275.\16l#1%\77\263Q\327\231C%\312\2"
+"\4\246\206\334\273f\363\365\35V\226M\350\36g\22\327\227\31\214\364v\205"
+"YTx|\251:\16\347\317<\215QK\205\247\275\'\230:\263\360\315\f\355\365\177"
+"U\\\270\351\13\306\247\315Y\375j\42\236/h\212\374\257\257(\376}\33\302"
+"\212\304\357\350G\323Q\252\226\247)T\364\34b\334\302\267\330`\210J\362"
+"}\24\352T\254J\271\216T\347\31\260;\360\265\307(\325\244^\244\322d\323"
+"v\244bU\310<\f\373\1\255+S5\1\315\223u\241\253z\30q\353\351E\306\232\262"
+"\377\247:\2742D\253\332\375\352\330\311\200\r\326\343\333\246\257\355V"
+"\207\375\332\273\354d\245\26\32\236E\266\331\362\321\332\317\34\252\260"
+"5\310v\t\27E\211X\331\324\241\237\5\353\375\33\301\246\361<\362ka\221e"
+"\27\223\217\323\310\205b\352\322!\346p$!P\16\336`\302b\26J\250k\3\352\260"
+"W\33\356h\334\312\244-eX\r\301>*\331\213T\3057\3645\33\37\241\270-a\77"
+"\16\274\230\227b\305bu\376C\352q\355\306{\212\276d\375\205\367\0V\244\252"
+"\363/\343JXO\325\240\203\234\340\311E6\367\34T)\f\257\2778D\366R\250C\263"
+"x\313\306md\265\22k\276\36\235u\343\331\13\24\354.n\254\343\nH=\233i\376"
+"\3202\370\2\236\255\303\250\7l\\\330Rdv\215\322\254l\'\204\220\336\255"
+"\274g1\3749\37\25&\16!\334\5\224*\256p\313\266uN\332\3349J\271R\276PX7"
+"\316!\330\317\364\313\314\344_\t!J\363\27\263u\354>B\260\27e\352\327S\33"
+"\213\322\365\255\346\340]\212\313\304\342No\244\257\240\7e+\261\f\26*q"
+"\\Xw\360y\t\247\315c\226\301&\370\21\356[\226\2210x\206[tM\35\367\266\356"
+"C\325;}\200sQzZ\362\304\324x\'\0\200\277\317\327\331>\250\7\233\365\17"
+"\232Y\177R\243\314\2361}\312dWF\232\346\36\225\233\227\352+\256\t\335\277"
+"\210\310\r{>>w\323\227\307.\367\tw\343\215\305\42\330\335\310\262\323\16"
+"\60y\375\256\243m\303R\333\374\262T>l>6\334_\335i\344\370\340I\346\207"
+"F\247\211c\311~\276\273\7M\300\6g\260\343V\223\277\206\263\340u.l\315\260"
+"\t\334<.\354\203F\23\260\31\\XS,\334\31\33X\267\240\5tU\274k\356\33\4\210"
+"s\262u\363\3324\307=\354\356\373l\270f\217\367F{W\27\1\0\210\313\230\236"
+"\223\277v\212\226\2036\311Z\36\316\343=\253#O\257\266u\364\306\206\34\221"
+"\256\345#\'\256m\tl\323\370c\224\235\260e\3\'4\250\207\234\\\323L\312p"
+"\256\20v+\215\372\243`#\224\200\367\315\377\212\303$\223jv\265\211Z\2\213"
+"\260\345Q\336Z\26:\302]\300\277\366\16\t`\251\243V\235\30\226\316\210\6"
+"\321\215\345\263a%nM\270\33lE\206w@\307[O\7\372!Z\243R\34722\227\13K\252"
+"\320\217\r\2\330\345v6\7\234\36)&7/\213\17\273\314\b\265\0\311\3r\271S"
+"\203\363[\242\302\235F\366\247\270V\16\77\63j\271$\0\336\317\254\232\310"
+"\203\235\237\314\341\200\7[\206\23t-\17\366Y`\7\2_.\243\333;\3143:\202"
+"\251\265IxK\305BQ\274\204\267u\304(l\312J\266\215k*/\274\270\260M\335\372"
+"\31Q\200\177\324\313-\242\207\21o\267\330&\337\363\250\345{K\261\340Z\244"
+"\353-E\255\0\366TP\217\205I9\3069\240\17\300\315,\203b\\>s@\316[\212\205"
+"\334i:\34\334\365F\3\313<L=\207S\214Ho\250\256\242{<\33\251N\304\257\77"
+"\336\223\337\247\355\301\'\325I\21\352U|jE$P,\304\277\22\241\306\251w\317"
+"+\17\353\16\b\311-\214\216Z\200\343\370U\220v\27\66\356\241\200Z\341\373"
+">\\t\235\317k\224\213\223\4\313\230\20\266Z\21t-0\265]^C{\366\363\350>"
+"ok6xU\242\227Z\342\227\2368\26\262\226\322\253c\201h)\227\207\325\224\233"
+"\305\316h\352\f\243\231I7\223w\342\366\251\315\230\267\324\246)\207:\0"
+"\255\342\326Z}X*\304\250Xp\24\32]\312\251r\202;\36\370\352\245\270 \314"
+"7|,<\211\256~\204\332\211\37\13\251\325#\201\212\5G\21\233ZC\5!\2648\342"
+"\233=\241\26\264\0\232\336\21\305\341\30o\232\36\206\337F\254\320\241V"
+"\367\323\2\314B\322\213\243\243\325\270 \264F\1[\306L\26458\305H\24$P\235"
+"\246\316\220\27I\3:\324\352z\253T\343\236\311\362\320R\236\240sd\320\205"
+"\245\313Mi$\7]\255Q\365IR\360[\203\320\313N\17\232:\36e\377\5o\232\310"
+"\34\0\200LE/j\365I`\260\260\306f\3504\306\226Y\330\333&\0\200\237\320D"
+"\227=JXh\303]\304\'41\307\246V\346\2770\13\366b\200%\370\323\202ZK`\241"
+"\24\240\310\360i\214\335>\352\301\37\374$S}n\16\2652\336\16\327PG\312i"
+"\370 Q\257D\r\253Y\327_\3\13\302\13\0 \rw\245|8\305\3103&`\241\201\327"
+"\265\346E\255\\0s{\257\34j\315\302\272\301\224\334\342\220\300\243V2\243"
+"9\356\372Z\306\4\266Q1\7{.\300\234\256\5s\260\375g\230\323u&a\331,t\267"
+"\200I\311R\30q\360\13\230\365\266\303c\204ZiX&\13n0-\371\221\34t\333\315"
+"\303\332;\fP+O\202Ri\200ZyX\6\271\365`\201P-]=j\345\275\r\270%k\2551\330"
+"\b\26\334`\211dkH\310\265\6\226z\307\240\23\265F\42\272B\232ZC\260\225"
+"\326\207\27\0\200\3037\26\324\322-]qA0T-0\13\r\212e\260\270\245\353\6\353"
+"\244N\226Zc%S\r\261\236K\26z\253~\323T\16\26z\253~\323Tg%\254\32\13\265"
+"`\245\214\276\7\277\357\260\24v\364=x9XJ\302`\215\334\221\301\350\232\\"
+"n}2\0\0d\4\307\200Z\b\265t\365\2505L\302\b\13UV;\13\351w\tiK\322\263\262"
+"\31\306\235\276\271\347P\17\304$&1\211IL\214\311\177hMX\256O\235.\231\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\\\0\0\0\301\b\0"
+"\0\0\0g|\210\31\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\7#IDATx\332\355\233"
+"klTE\24\200\247\335\355R\350\23w\13[(\226\326V\260\305T\36\266 P^\201\200"
+"DL|\240\3622\2\212\242\320\210\321\30#\77\64F\42T\23\13\211\n\2J\240!\250"
+"$FP\214@\252\202\265\202\202UZ,\355\266[\332\342\366\341\226v\267\217\335"
+"v\307\37\260\366\314\335\2753g\356\3365\232\354\371u\357\316\271_\316\235"
+";s\346\2343\263\204D$\42\21\211HD\42\22\221\210\350&Q\234\246\324TBz\373"
+"\234N\375\341\343\236_1\372\306\25ms4\331\353k.\331\6\365z\241-\335T)\356"
+"\362\222\225i:\260\207\225R\25\251}\357\276\341\241\261M\337P\216\270\77"
+"ypX\b}r\220\n\244\243\344\16\255\360\255T,\276\23\3635\261\13\7(J\276/"
+"\224g\'^\245X9z\253,|\27\305\213\253(Z\212\235\77@e\344\244Uf\244\374D"
+"\345\244\371n<|9\225\25\367R\254o\211\251\312b\356\253\267W\364\33R\306"
+"\347N\233\221\240\212\360<p\34g\370\6\326\252c\261\376\6c\341\333\252\243"
+"\310\235\217b\33k\231\247~\216\205\215\321\13\77S\371\330\215f\371\36\357"
+"\235\250l\317\334\335\37\224^\212\201\2273\217l\r\242q[\251/\30}\246\230"
+"=\225y\300\36\33Ti\336\345 \360\23b\370^\346\201\307U\264\206\277\23h\274"
+"/]\304NvC\375*\203\252\342Rg\0}\223\b\276\221Q\177\224\2439\321\246\204"
+"\37\24\301\317C\355j\256KJ\255R\372_\1{\22\243\275\232\257\234\246\230"
+"R\225\2\3706\250\\o\24h\347\271e\340Q\365Py\243ph\25\61\3603|\345iP\267"
+"U\34\77\30*\341\3\247\202\251\f}\266e\360\347\222^!|\260\30\336\271\360"
+"S\277\373\26\204\257\210\207~\346\0\327\362\230)\340\327\375\177!\340\256"
+"+\340\246\223\13O4\r\375\330_\214r\320np\355\344\302\235\327\207~,nD\301"
+"aT*x\325\17\207\274J,.Z\205\376k\225\300\216v\377\32\61\25\267$N\200Cq"
+"\221@\271\240\225RJ\251\367ad\240\260\30\302\205\6Y\337u\320\301\362Y\330"
+"(\344\31\b\37\213x i\4>\304y\13\302MA\327{\366\366\272Dp\226\1\7\213\207"
+"\77\375\245%\23\\;\210\316phy\213\316\360$\350\177\256\351\f\37O\302h9"
+"\354r\335-g\340Wu\206g\204\263[\230>o\322\271\336\1#\27\257Q_vT\17\f\320"
+"\211\276\335\222\n\343\3\275\341\314\367\f+\334\376\177\202g\376k\360\6"
+"\235\207\271\35&-*\225#\251\321\37gJ\364\334tQ&\30\264\264\364\207\4\37"
+"\77\'/7cL\34!\244\313\336\342\354r{\22`\177\332\344\213\226\377H\316\252"
+"G2\271\n\225CI\356`\355\227\36\211\276(8\356\223\252b\324LD\243\223w\373"
+"dk$5\261Hv\316\25*/\317\342\330\223;5\260E\371\221\177\212\267ja\323\36"
+"\314\20\64UPm\222\202\230\376\233\3635\316^\203x\234\233m\211\332\330\236"
+"x\257\320\362\'5\262I\205W\274H6h\354q\272\\\354[&+\3533\336S\247\252\35"
+"\64*\331\234\275\230Wu\242;\216\210\341K\24\t\363\7o6\373\257\337X\273"
+"\227m\354:T\355w\214\336\362\313\210\236\373\202-\307\317e\32\277b\32["
+"\322e\77K3S\227\234\302+n>%\313\216e\36/R\264\316fZ\245\r\317\206O\377"
+"i\342\265\322\30\42\271@\217\2027_+\27\200>v\34\311\302\31kj\225\255]\250"
+"\345L\25\36\'\261\30&\312\302\231\27\37\'\310\275d\341\314\213\337\23\340"
+"\215\231\273[e\341L\n\225\243\234\357l\252\77]v(F\273\340`\273\244x\363"
+"\315\314P\254K\222\215[~,`B\2235\277\302N\376\205\rd\32\16\333}7/\333\313"
+"0\365\261b\326\217\16~\276\332\237b\305\334[\311[A\327#,_p2\260b\326\330"
+"\351&1\226,\376\216%]vLhy\214C\353bqI\34\237{\77\322\32]\347\344\212W\377"
+"\22\217V\372\235bx\363N\255\360DD\334\362z\243Fx+F\251\260_\323\7\365\215"
+"E\231\260\316\247\5~\32\371\202\353<\362\354\1\264\253\231Y\'\313\366<"
+"\201\317\211\206o,\32\2072\343\252\255\265\247\237\220k\24552\tW\364\314"
+"\302t\263\331l6\2338J\35K+\264es~I0\2172[,\26k\312\250\261Ve\244\266k\23"
+"\321M\214\231\217\261\37c\233\276\371yN\37\204\357\321\267\200VU\2\357"
+"n\327\271\264\220\2\253\\]&\235\351\373`\277\334\317\311\215\b!\204X\363"
+"\363\314N\274\243\355X\13\347\303a\256\356\302rJ)\355\373\30}z\42\nn\271"
+"\366%\361T_\364;)\373\30,}\7v\3u\372\220\3<\204\205\317\202\360#\34\305"
+"# 8\300\226\35\f\35\0\336\251\276!NZ\200^6\326\364O\241\351y\352\223\b"
+"\6\373X\313I\31\274\231\241\16\67h\31\351\314\236y\256\216\323\237\20B"
+"~\207\273\226Y:\303\7/\252\206\325\241\303\t\334\2217\353\r\257\202k\211"
+"\336\360+\341\204\363c\262\20\341m\341\204;\303\t\207\307F\335z\303\341"
+"\306\257Go8\254\20t\207\323r\227\336\360\321\334\217\33\42<\205;,C\204"
+"\247q\223\225\20\341\23\324J\21z\300\341\26\202M\35\336\253)\256\206g8"
+"\33\324\341\335\210\262R\200d\302\20\347\262:\274\3\206uX\370<p\335\316"
+"\371\240M*\237\211+\17\201\353\13\34\307U\307\r\22\202\213\5\236\207>\317"
+"\201\303\36\233\37\217\203\77\r\203\362\263\274T\\\352\364\341\215\330"
+"\tFi\3\274Q0\2\346\312\365\250\230\353U\374\231\302\357\240\352k\bv\6\363"
+"\267\200\227\270\272/3\371\373\42!\333\304\234\232\366\361\367\35\263\230"
+"\274\262St\30\326pPj\313\214=\224\333\305\77q\25\263\217-\'\b\16\211\221"
+"5\212\362\303\36\316\321\77k\31\253\333\42\372\377\202\251IAo{Eex\31\67"
+"(\317\316\276 \236\23\1\265\223\356\375\213\2M\262l\256\178i\35\374`&\364"
+"\256\306\13\223\2\25\\g\316]\254\255\355\2719\237\255\271\323\347\314\r"
+"\314\23V\226\n\341d\326\267jk\207\273\275\247\207\304\307\246\6O\302O,"
+"\301\314\271\355\232\252q\255\251\270\30\247L\3\333\203\375\257H\312\37"
+"\362U\304\265\370X\241F\226\375\234\304zn=/\305\356]!\27\376\35\220`\327"
+"IoS\257\300\356\310\17\276\257a\'\331\262\13U!>]\240-\222J\337\331-\252"
+"\330\36\235\255=PKX\177R\375\3779\3g\267`*>\274\310-y\301\234\374\273\2"
+"\34\227\363\267s\77\240\366\202\304a\241!#;\315:2n$!\304\345\276\336\346"
+"\260\333\34$\42\21\211HD\42\362\337\223\277\1\24\227s\334=ywZ\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0H\0\0\0\301\b\0\0\0\0I9"
+"\251\213\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4/IDATx\332\355\231mL\216"
+"Q\30\307O\236j\225\224\227\26\322\213I\30\61\315&\313\230\254\204V\330"
+"|a\313\220O>\360\305bX\363R,\3636\246Vkkl\246\265\3465\211U\13\61\232\302"
+"#Cb\25QO\315\343%\241\267\343\203\3229\3679\347\272\317s\337\367\346\203"
+"\363\377t\256s\256\347\267s\237\335\367u\256\353z\20RRRRRR\372\347r#\306"
+"c\226N\367r<xd\26i\333\323\2051\306\330\276\330$\350$\36T\357jS\234\310"
+"\376!\20\356\34m\340\367#\206\6k\377\216\320\270\325f@3\210\311\231f@\276"
+"\304\244\257\31\220Y)\220\2)\220\2\231\224\273\264\347\204\351\330\376"
+"\331\374\216&_m\255\272\335v\314K\337\263\4\17+\233Y]\341\374\263r\307"
+"\307\334\216\266\\\33\274\241\26\345\233\2\245\345\331\206\206\353\22L"
+"\200\322\263\210\fa\207q\320\301\375\244\25\353k\24\224\271\227\3165B\r"
+"\2022wk&:\215\2012\264\234\32\207!P\306\36\346\344\r\35\66\3139s\323\225"
+"7;g\210\203\265\272\345\351\322\'r~\360\234\31\216\370\13\341\203\212\20"
+"B\b\35f8U2\371\16\t*C\b\241#\f\247\324\7\271\b\252E\310\355\4\303\271\340"
+"\211\\\5}B\266\\\206sJ2t\221 \234x\221\341\354\223\215\244%\30V{f\2605"
+" \214{\213b\254\1a\214\357%\271Y\3\302\370q\262E \214\357E[tA\306\334\317"
+"\361\267dG\30\343\226%\26]\331!\345\273\254\331\21\3068\337fQ\22\221Z`"
+"\263(\33I9\356\42\bw691oa[\212\13g\364%;v$B\310{\336\366\362~f\361\333"
+"di\320\271\300\341\365\210\\\6U\42\t\352\333B{D\325k=\342\244@\3\33\264"
+".\276\305\32\227j)P\26\247\307pV\343\23-\1z\302\313.\335+h\247\\\t\320"
+"B\356I\216m\245\234\234\36\272\240\33\202\327*\211v\213\327}!\217\n\346"
+"\257\225Qf\274\336\216^\13C\352\\\312\357\241\336\216\n\261\b\364\244\212"
+"\302z\353\200\256\210\77\2763\244\3419\23\6}\252\23\203\256w\221\326l\30"
+"T= \6\375\240R\255i0\250\26\n,\25T\215\2\203\236A\240\273\244\21\n\203"
+"\32 \320\313_\2041\36\6\265@\240\276W\204\21\b\202\272\276\201\321\367"
+"\r1\366\33\1\201:\3400\336F\32\243\300\35\271\0\362\207@\3350\250\207\n"
+"v\20\250\27\6}E\234\16!\27\244\223Ma\351\264\306\17\6\371K\203l\6z\5\\"
+"\320\30\30\24\300;0#\240 \322\370\16\201\274\340C\n\221\336\21\n\3Ad\243"
+"\331\331\3\202B\301\'#\373\346\37\341\257\77\22\2- \215f\30\64\7\2Qwp#"
+"\3\42\243\25\232\17\201\226\223\306\13\6\364\223\\\236\32$\346\204S\215"
+"\374\307\f\210\216e\313\304\240\365T\264\2643 :\230\255\21\267\3006\223"
+"V]7\3\242\303tB\200\b\264\206JA+Y\207x:_I\23p\334\352(\267X\326c<\rz\357"
+"\315\7m\242\274:x\201\240\211&\355\344r\2\35\224S\36\77\223\241\324\25"
+"\316{\260R\332\211[\344\246h\222\310\32N\337A\323\345\260\363\363\314\36"
+"\r\251\230\3114\3235\36\251\374s\274\314\364B\350\340\354S\240Yo\26\364"
+"8\342\330\222s\25q\237\254|\245]\336,zE\236\262eM\355\266\77g\36\266\365"
+"!\263V\'\274#\342\271E\247\263\276\306\356\340\314\367\315\267\250\256"
+"=\4D\232\211\35\362\234j\17(f%\17\310r\336M\204\257\254\255\222\34G\244"
+"n\247X\212\323\36%Q\320\367\352s\32\42d\n\372Eo\3658\227$\377\20\36u\32"
+"\334T\307F\371.CDa\237\b\323}2\300\245\206E\360>\356\3\66\37\230 \372\205"
+"8\313\233\225\270p\336$\352\346\251,\271+.v\340t1pJp\260\217\237gO\177"
+"\347\207\306\347\77\221\222\222\222\222\222\222\222\222\222\222\222\222"
+"\222\222\322\377\251\337H\25w\370\230\343\217\276\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0p\0\0\0\301\b\0\0\0\0\62\35kG\0\0\0\4"
+"gAMA\0\1\206\2401\350\226_\0\0\7hIDATx\332\355Z{pMG\30\337\233{\363 i\244"
+"i^H\244\255W\32\32\rR\246\224\301`(I\313TK:\30\343Q\35\214Qi\rj0mi<#E\351"
+"c\306\373Y\211A\274\6\255D\25\241m\274\237A^tj\42O\211\344\346\364\217"
+"{s\357~g\277\335\263\221\223\377\366\367\327\275\273\373\333\337=\367\234"
+"\375\366\373~{\bQPPPPPPPPPPPPPPPPPPPPPPPPPPPp\300\302\355\361\16\t\366"
+"\362\263\77\272S\323\220\351|\243\42\202-\244\354I\321\275\212\6\321\206"
+"%\37\317\327\34\250H\33 \311\262\16Xu\271V\253G\356\366)\255$\211\375\367"
+"Tj\0\351\301\22\254\326\337\24j:\330\217\f\222 \366<\2571\270\377\206\21"
+"+8\265J\303p\252\255\1\321\266\274\16\343=\216\22\77\bSK5\16\312>\20\62"
+"\233\37\343\360\362B\4\254\300\203\32\37\265\211\242\333~\224\313\313\362"
+"\342\262\42\256k\42T\307\360\5\227\nx\311<\322+\26751.r\227\336[\265\2"
+"Z\35ou\244kF\340\336\306\303BZ^\13\224\324\317PO;\304\321\213\256\23\363"
+"~@Y\77\32\13V\372P\343=\334\37\307[\304Kfro\254\265\255\361\322n\326\t"
+"\27L0\n\273\353=\221\326|\335\367\312bv\314\353\250`H\7\252\2714\251KP"
+"X\317E\377\1^\347\31\210\340\36\372\213\266\255\253o`\370.\375\30\374\356"
+"\17\241\377\366\201\2166\377M\340f\224\204!\327}\222\n\201}\35\3139[w\23"
+"\247\242\202\323\250\21\67\\\255\13\1\363g\204\27z\253\276ww\200\263i\276"
+"Np\24*\370\35\65b\253\273y\25\210\377]\21b\210#\36VMs\265|\241\23|\33\25"
+"\\G\215XA\205\273\323 \372\243OS|\332\203\302t\352\267l\25,\13\67\66SC"
+"\226P\355Q\317ir\274\304\16\347_\f\5\367\22\364)\265s\3507RA\270\265\31"
+"\13~\33\0\277\247\342\303\326P\277i>\335\21\360\204\376\271\223\r\365\22"
+"u\21\353(g\\\22\65f&\350\231E\323\13\233\33\350\r\255\206z\25\3559\3\7"
+"Q\203F\203\36\237\373\364\4s\305z\303\252\244\26!!\304\207J\23\272\301"
+"\256\t\364\4O\3Ez\243u\327\247m\341\217]\355\32T\254\13\232\266\353R[1"
+"!d\206]\247\367\247\340\16\274\354\332\272\227\352\273>\2\313\212\233o"
+"Z\222\365;\323ma\206\31\351\f\213\273\274\365=\36\377\320\263\254\343\345"
+"\352;\231M\373U\203T\77\266w\250\275 \353\32;WB:\365\245\246c.\246\27\224"
+"\246\3370\37\367\275\371\302%\310E\372\207o\302\206\264\277\305d\263\321"
+"\215(z\206\203\\\23\311\304\373>\321\353\25\65F\217X.\320s1[,\31\257_\16"
+"ZAT\343\352\272a g\354\242{\250\330\2146\367\265\306\26\222`\33\337\17"
+"\313\273}\214\336\365\360F\227\256\361\340\22\343\250\236\360K\214^vp\243"
+"\365\210\345oz\306\fwG\\\1[\245\371\233Q\235\217\4s\276S\337<\252\222\321"
+"K\3631\305\16\360\270JOz\334y\335\13\330|\375\'\253I\6D\42\230\266\17!"
+"\2044\333\301f\366_[\314r<lw\364\371T\313s\214\234}\272\211\36\313\24\60"
+"u\177\22\233\307\350U}h\246\251\343\r\214\212\314\21\345\214^q\77sm\244"
+"$\203\302,\77\306d\337\352\245b\241\336\325H\323\2352\221\13\240e\6\232"
+"o\315\265\254\346\353\355\365!M\200M\\\275\24kS\350\221X\236\311\221\324"
+"T~\347i\334\375\371\270\311\f\326DL\317\354\345\7\3548vs\320\36vn@|\224"
+"\36i\215~\263]d\220o\0\333\2233\264\300\374\3450#\243\234\367x\236\360"
+"7]\256\377\1\201\13\267\305\313l\271\230\223\242\360R\336\334d9\353\302"
+"\32q\300\236i\256\236\377Q#\353\256\300\324\210\326\42\333\330,\374\314"
+"D=\257\23\306z\332C\23\237\232\365\232\f&\233\2467DJO\313\3654I\317\347"
+"\236\234\2406\301$\301\351\222z\332]\233)z\266\7\202\243\1\370u\274)\202"
+"\303\371\311\331`\222\1\315\nS.q\'O\357X\20!\3210\376\214\305&h\227|\352"
+"\367\324n\322z\236\274\3\254\345Vv\305`\227\230\344\360=7zK\n\366\302\345"
+"\236Ot:\317\360\367\214cM)\327\37\42\31\30f\243z\245\2563\310\5\342K\f"
+"\253p\365m\220\23\334\212\351\25\305\272\13\373B\341Z\244\326T\335@)\301"
+"\13\210\336m\372\310c\22\350\272\347\311\367{s<d\4\37\263z\177\205\202"
+"uz\rtN\201\364\271t_\202\204\236\225-\245\317\350\22\250\4\270i\300\247"
+"1\216\356;,\263\23\62z\307}\365c2A\277\356\240\210>\307\254\t5\26l\243"
+"\327;\300\356\354=\301\277\360\b\376\2409\342Uc(\230\211\255\246\275`\310"
+"<\350f\322\346\367\366\206\13\226b\346|\207\32\201\33\376\13\275e\32\13"
+"\2060n\26\266\315\256\3C\226\201>p\342\32d\34J\231\247t\1\62*\264\214\36"
+"\361\254\r\350<\240wu\304\310gJ2\314\0]\4\206l\346\26Z\22I\301!\266\210"
+"\300l\6\20\37\352\272\323}\235\250\236\205.\3\r\362{l\310\312\232\344\370"
+"\370\33[b\274\307\n\226-\6\216\343J\332\366*\242\237Y<\272\244\324i\232"
+"\2469\314\253\266l\250\271\210\335k\370\242\302\30\272\217j\337\201\n:"
+"\317_\2379V@\6\33L\7#\244Q0\361\367\307\5\17bz\341\365K\365\210\243jb\253"
+"\230\335\230q\13_\300\371\36\217\216\7\305i\341pB\b!\363\330w\16\260t\1"
+"\276\34a\177\327]\347\321o\35\211\23\373\3136B\b\261\260\231~\34\306\203"
+"\377}\256\353\324\376S\252u\33FLa\236\342\317\365\207\201\350KN1\360H-"
+"\315\371\244zd\343\377\264\33\343\250\263\27\347\341r\324NXl\307\310\330"
+"Sk,lLH2\212\327\325#\352\203\27\355\4U\342eK\3443\250\370k$\361\352\223"
+"\6\232\336G\211\364\241\235}\261cr\277<\2117cV\350\357u\211\276\241\225"
+"Dfxm\254\37!qgej\210\300b\203r\347\16\316\13\322y1\265\17\236B\207\313"
+"\217\27x\2774\20L\341\360\226\211iK\371\265\271\201\27\320\203\303\13x"
+"$b\225\n\16\224:\226\213\230\227\270\274\21\42\332\34\321n6Q\304\34\311"
+"\347\255\346\263\256\210\313\240\215|\346Y\301Y\215u\77\367\r\274\356\6"
+"\26\313i\36\263\252\223\220\307\253C\247\31\245\b\301W8\314I\6\207h_\241"
+"\326\341Z\343\244\2445\376\322\340rCb\357\313\210\236\314\221YD\16\242"
+"\267D\306\277\230x\27\222jfIZs\314\353\242%\237H\232\226C\267S\347\362"
+"g\272\312\32\3\36\263\301\206V\267\2079{\346\377S\326\330n\235#\303\232"
+"y\377{~_V\3\274\217\16\363\307\324\237\230\224\354Z\233C\344\5_\30\255"
+"\343{Ex\226\77\274\371\307\271Z\242\240\240\240\240\240\240\240\240\240"
+"\240@\b!\344\177\275j\307\205\241\\\220\0\0\0\0\0IEND\256B`\202"
+"\211PNG"
+"\r\n\32\n\0\0\0\rIHDR\0\0\0U\0\0\0\301\b\0\0\0\0\233i\243\323\0\0\0\4g"
+"AMA\0\1\206\2401\350\226_\0\0\5WIDATx\332\355\232klTE\24\307\247\335R\372"
+"\2\nm\255\260b\20\332\362\320\252t\305\240TRJ\225\24$D\242\211\42\332\304"
+"X\203b\210\360A\33\260\276*\217(\210(6\30BB@\326\27ViH\f\326\320U\233b"
+"h\221G\241DW\240-\265\332\245\335\266\256`\227n\357\370\305\335y\334\331"
+"\2733s\247\37\64\363\377\264;\347\356og\347\2369\347\314\271\13\200\226"
+"\226\226\226\226\226\326\177Gq\374\227\346\336\232\326\335\362\207\332"
+"\257/h\204\20Bx~\343L\205PW\0\206ut\261*h|\13\304\324T\254\206\272\0\222"
+"\252\231\242\202ZIQ\341\325u\361\366\251\37@\223\32\246Z,\30\37\365\272"
+"yh\336\311G\354\316u\31d\351\235\4\233\233\345\20\23{$\335\36\66q\333\20"
+"\13\3332\331\346\42\344\356\n0\260m\323\355.nZ\371i3\266\313\376\16\216"
+"+m4a/\347(\330\17K\2754\326\233\245\0\233\370\3225\n\373\343h\25\333w\332"
+"\17\24v\217\222X\343\250\f\221\330\225jb\330\302^\202\332\177\223\32\354"
+"4\362\246\325(\212\343\331D\34\207\363\25a\263~\306\251GUe\235\34\37\216"
+"\275]\25\266\324\300\250\33%\222a\331\367=g7\233\366\320^<C\nC\307\325"
+"A\b!\flH%\307\235AD\275&\354\364u\221\0\365\24\31\375\277D\324P\262 \365"
+"\31\354\207\236[\202[\326!\203[t\256\244g\326\317A\226\247\321\360l\321"
+"U\245b\211\341\216\344\354\32y\177\3152\5\352\340\266L\0\0\0ehh\271\260"
+"\13\370\315ye\340\275\245\256\305\373\220\277v\217\22\246\276\13cj\247"
+"\370\36\30\343\211I}@bk&\254\rXC\203IR[~\242\333\260\2426\313\206\222\242"
+"\323\26T\267\\M\b\200\307\265\272/\252\261[\226\nB\325y\325\241(\266Ai"
+"*\0=\253\347x8#\247\320\342\236Z\260\274cD\216}\311\33\30^\266\333>w\342"
+"\236a\232\252$\27\316=FQ\373\35JN\277\217\265\223\330{Fdy\267\253\272m"
+"\304\362^IV\346\16\263\277E\330\347\25\272\331\262H@\357JS\210\315\217"
+"TE[$>=\372\3015+\230\347\326\242\360\342\16\25\210\37\344/C\b\341\211\347"
+"R\315\246\375\341\311\236O\21\204\26\16\376\373\311\336\252\f\332\266D"
+"\266\316H\300\352\352\300&\212[\200l\25bG,2i\2776\16\67b5\201q\237\b\365"
+"mj\327\367\274\210\371\374\347\262\373v\237)\362\375\266*\\U\314\302\216"
+"\342\375\211v\253\f\357\343\361\0\0\220}\6\33\333%\324{+\252g\215^t7\205"
+"\\k2\321\200\221\337*t\273\336\207<\372D4\234V\r\307\206\16\212\237\350"
+"K:bR7K\4\2021;\206\254\241\27R\344\242i\203%U\266%iJV\270j\25\327\2\n\322"
+"!\243\26\200\20B\370\253\335dU\317\242\36\264\235U\236\360\231\251\7\354"
+"\'\253\314\317F\202\n\300\212\1\212zXIn\235\372\23ImRB\5I\37\21T\277\242"
+"J \356\25\342T\343\214z\341\242/:\r\243\243\212\267\374^\205\273n\264n"
+"t\\\270#^\316;\335r#v\265\35\351-\34\343^\205\nD\365\261[\334\243\272\302"
+"\27\f\361\267(\17 \354C\354\270\214.\270\215\277{\214\352\217\6\346\311"
+"\250\20\215M\341\246\376\205\356\301\274R\26u\26\26\230\370\375\313\203"
+"\332\216\333\223\30T\254E\177\243\200\333\276\31y5\235\225\270Z\321\272"
+"\356\20\331\r\315\250\314z\330<W\2544\315\20\241~\205\34~\177\261\3259"
+"6S\204\212ywR\355\37545\210\254\343E\250\227\260\327\251\273ij@\222JD\253"
+"\2534\325/\271\2i\254\257\210P;\261\271:\5\250\204\33v\322\324\213\230"
+"q\241\310\211\13\177\343\245\251\3470\243\310C\5\242\77v\212\266N\306\273"
+"\226wsC\323\211j&\333do\303\254\307\271\37\bV\340\3203f\373\207\270\375"
+"-N\250\223\230\352\33\214\5\42\222\346Z.h\42\361\364\310\310c\234\0\273"
+"\b\354V\216Ep|L\366\246Y\327\274J\26\16\215\271\261\240ck9\n\343\f\252"
+"8\rn\265\336d\363\177\241\36\311\261OY\257\233\36\221WG\357\254\317\374"
+"\224\352\235\32\205\354\13S/\231K\310\326M\305\214\224\233\276\262\316"
+"\324\217\305\37\363\21\263.\371\206\365#\256\267\234\360^h\367\365\376"
+"\r\0\0\216\33\2343\356\274\367.ss\274\375\216\201h\77k\213\3451\305\357"
+"\367\377\31\265\7=\327\302U\16AI=iu_S<r\320\365\326>\230\372\265\f\264"
+"2f\223e\24703\364,\307\346~\264O\f\352\343\13\362\223\16\212@\217L\342"
+"\215\232E\r\274\314\3562\201\177\42\201\222\303\34\215\6\30\250\22\375"
+"c\306\315/\237\215\301l_\77A\346\234\222\363Bm\324;we\357\242\350\315\354"
+"X\253\22\227\347\312\237\221s\13\321v4\332N\36\377\256y\330\352S\234\r"
+"\22\347\204\361)c\35\0\300\276\236\337\333\202@KKKKKKKKKKKKKKKKK\353\177"
+"\244\177\0\315\17M\317y\301\261\236\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0]\0\0\0\301\b\0\0\0\0\210\276\343\'\0\0\0\4gAMA\0\1"
+"\206\2401\350\226_\0\0\7TIDATx\332\355ZkPVE\30\336\17\4\271\t\310\'\242"
+"@\f\20\212\16\242\342\5\35\257h\231\31\325`\316\2203\226:d\230\22\326$"
+"\223\224y\211\31\223\261I\312\32\255\261\3111sBr\314[b\232\206\251#\231"
+"xK\274\6*\206\t\30(\2\202\360\261\375\340\373\316yw\317\356\236=\310\217"
+"~\354\363Gx\337\347}\330sv\367}\337\335#B\n\n\n\n\n\n\n\n\n|\330\204^{"
+"lh\240[\303\203\232\262\232.\377\303\243\363\256`\27\356\24\314\362\356"
+"\312gJ9\215I\334\231O=\347\314Ce\247>\n\352\214x\354\257\330\210\235^\200"
+"\341Y\2001\306\270r\264u\361\264F\314\302\16\60\372o\235\266\306\27-j\273"
+"}\2129H\3278\251\232\255-\335\222\270\373\26\2368\256\362qM\313U`]ne>7"
+"b>\346:I\211\204u\235MZ\375\3\2018\336\347$e\222\346\357\272I\212\'\267"
+"\213\324\233<;X\313\351\345\344)%\36Z\203\205\30\326A[D\333\13\2456\333"
+"n\42\346\362\342Q\321#\323~\3\226W\235\373\330\360g\17\372\230\213\247"
+"\302\200GY\316\327\231\253\333\2269\247\376\202A\376\200\251\274\317\337"
+"\200^;V[\243\27\65\343\227N\323H\343~\333g\366\356\227\1\362\275\241\272"
+"=K\263ns\231\306\374c\220\337\356.\24\357yO\247\266L\6\2161\232y\257f\13"
+"\373\335 \277^\250\276\22\60\337\200\216\336\232\271H7zm5\310g\13\304\275"
+"\301j\334Nf\36\315~\b\356\352\245\364\336h\237\301W\177]\247U\367&]\365"
+"N\373\205\b2\3057S\362\215q\\\365\22\2355\217r9\'\344\347\0\312>\276\226"
+"\222\277\344\307\21\37\252sN\273Q\276\216\365\267\311\303\20\64\250\222"
+"\222\377\232\243\276V\247L\243\2537\306\30\343\34V*\214*\247\344\247\262"
+"k\206\276\223Jh\337d\214\261c!{PaWI\3652/\26K_\323\370e\332\227\203q\313"
+"L\336t\205_#\345\263X\244\325\372\2021l\351s\270)\231\277\326bn\21\352"
+"5\254\211=\253\271\77\243]\303p\303$\321.\214\257\'\3443\214\214\20}gL"
+"\240}\233\352\307\211\363S\n\261\255\316\210ro\35\275\34\243\356\2165K"
+"\256\271\304\340\373\33\374\3534\337\36\332\365\325D\323\272\340Itn\231"
+"\6\277\236\361VQ\236\304\247%j\332(\370n\266\321^\217\26\3157\207\32V\234"
+"TA\336\16\323\1\355\34\254\373R\250\314)\327K\214\5\352-\256M\355\232\301"
+"x\235\327JDE<\224S\77^\1\36\267\27\245\36\13|0(Z\372\\p\2\374\354O\251"
+"\3673\272\20B\310\267\352\241\254z%\254\376\224z\244\356\2\r\177\310\243"
+"F\351\16\21(\24\226S>\220*\276\320\214I\t\242><u\333\301\37\364\346\275"
+"{\235&\220g\350\r\36\351\352\177\270\302\263\337\27\210\3679\2021\306\370"
+"\227h\327\201B\353\347\3374p\203\300zrt,\360\204\243G\5\375\211\335ubk"
+"X`C\b\241HW\305o\236n$G\303\215\374\347P[\320\364]\355\17\242\3456O\321"
+"\13\61q\231U\256\262\315\332\330\361\214v7S \236\310i\221\33\'\232\24&"
+"\355\365\273K\347Dv\3\247\257H7C<\316t\b\324\237`Zq\332a\246\272\21\371"
+"\305\242\305}\233i\375d+\233=\234~\306\326\30\341\326\31\316:\377\234\362"
+"\340UF\232\271\305dgn2\212\267\17\347\236\334ij\202\211\272\357y\343A\237"
+"\277\363(\346I\323\264\22~\213V\347\37\351\275)f\206y\326\32PE\305\364"
+"\344s\311V\271=T\42)\16\252&b\32\4\324\353\4\363\254T\316\215\273\3c\356"
+"\261\362\250\363\337j\302zLJ\2754\t.{\177o\276z%a=#W0.\217\277\1\3169\203"
+"\371\3527\b\3535\311zT>\361\212\376\313T>/\203x\357\375\244\353]\210\336"
+"^\227\362Y\317\21\352\301\362\3279\203\365\325\226\304%E\21\352\1\26n\213"
+"\326hQ\77\361o\224\32\240z\240\5\365^\372\340\371}8q.\217\260r\217\266"
+"S/8n\2345\203\316\311\365\2161\31K^\241\236l\277\366\323\210\5\274\260"
+"\327\340\330y\363\343\277\331\2011\256\233\303\253\261\365\221\234\300"
+"!\330x\203D#\370\234\323\277\261;\\\224 \220\327\244\270\303\223\325\n"
+"\366\314\37`^\203\331\341\270V\261\337\273\3438|\20\246\372\214)\332\217"
+"\317\356\321\357\251\3404`/\316\253\311\206\347e&c\77\34d\221v*M\321\215"
+"u)R\rP\b\263\207&v\3341W\'\276A3]\354\317\357i\377\5\241\251,\306M\262"
+"\26\25w\274\2220m\302\16\2136!\274\210\332\300\42\374H\225\272\222 \204"
+"\220o\221v\35%\274\323\233\5\2o\261.K\306\320ML\371\274\247\336*s\375\222"
+"/\276\321\13h\1\201#,t\217\35)\314\3546\262\20\220W3\367\304.\256x\251"
+"iZM\203\257\206\331`\372\34\347\2107\307\233&\273\200\207\200\77\205M9"
+"\305V\317\221\310\245\5\242\263\276s\333\237a\211\327\366\220P\177\36\66"
+"\301\234\34\337\353,C}\235\324\367\224\n\20\261\206W\213\30\243\237&Uf"
+"V\200\210\373\274\276\320^bP\217\224R\357\13\227\374J\356U\267aj%\253\374"
+"f\330\30\332\271\213\353\4\245>PN=\1\306\344qi\376GI\365U\222\5\376 <\37"
+">\311\245\371\25\21\352\365ar\352\23\210\334!\370BB~\304,\220\34<\374\374"
+"\203\5\227\365~\305\204\374\49\365q0\246RpZ\t\275\r\231\273%\7\277\27\6"
+"}/ &\301t\337\332G\262\251m\203\3623\5\314\317\331\237^\305X\17\203\356"
+"\307\n\356h\352\0\61_R\335\16\3137>/\370\300\366\261i\223\302@:\261\32"
+"v\361\353%q\376\357!\251n#V%\316\3453\341\201x\210\354\340\7\64\231\177"
+"j@\b!\4\23B\262t\303\3776\231F\26\311\254\3369\322\352\266\303\344\301"
+"~\t\207\7i\13\344O+\241\324\25C\36\373\16\n~\255Yb\3410\364\214\203j\206"
+"X9!\20n\274w\255\234\265\226R\5\342\257QF\316\\H\230oE\335\226O\337\224"
+"\255\246\317j>\304W\262d+\352\310\247\230\256\2367g\23o\337g\'\341\r\267"
+"\244\216\202\257\31j\177Y\226\246\341=\353\n\371\351\223\371\2\4\362\21"
+"G\214\235\4\276x\262\274\311\303\253\357\300\21T\376\311}\17YDT\5\226E"
+"k\4\262\214\310\253\262\352\33P\'\20R\42\'^\35\334\31u\344\273CF\274=\31"
+"u\16\266\345m\346\352\331\250\323\230Ti&\376!z\f\4~#\374\37;\315\351\350"
+"\361\220t\232/~!\1=.\334f_fk\337]\334\ru\1\334^*t\30\264/\275\343\207\272"
+"\n\341\13\367\201\377\2\323|\42\'\321t\301Y|\202\1\261\221v\257\266\226"
+"\332\212\353\245\255HAAAAAAAAAAAAAAAAAAA\341\177\203\377\0\276\323|>\201"
+"\350\3{\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0U\0\0\0"
+"\301\b\0\0\0\0\233i\243\323\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\tI"
+"DATx\332\355\230mh\215Q\34\300\317\356^\355\345y\356\354\205X\214\332$"
+"b^B\336\206%\244\24eJ\211\24y\331|\240D(\371\244\226\360\305\273d\226\246"
+"\30\206\210d\302\206P[\336&l1\346e\263s\357v\331v\347\36_\320\377<\317"
+"}\376\347\334{\347\203\372\377>\235\323\371\337_\317y\236{\316\377\374"
+"\17c\4A\20\4A\20\4A\20\4A\20\4A\20\304\277 J/\252_\232\273\17\353nk\371"
+"$z\307\232<e\322\230\341Cb\177\367\272\352\353\252o\274\216p&\231E7\273"
+"\204\215\247[\372G\340\234Q\321-\202\323utP\230\316Y5\2\341\373\256\204"
+"0\234\331\227\204\202g\243B\226\256\356\20J|\205\2419\223\316\b\35\2\305"
+"\241H\373=\22z\4\326\350K\263\352\205.=\13t\245\31/\205><WO\32wO\204\302"
+"\303X-\353~\21\32\233u\366\2019W\355;C\317\203\352\332\206/\255.3;o\336"
+"\314h\313\240/\367\243\362I\23\33l\17\363\262(\35\4\f\336\357\267\214\37"
+"Q\317\177\207\325\371y\245\313\22\62\262\316\262\'(\267\4\67\267H\257\246"
+"\7\231\317E9\246De\335b\221\36\213\16\3727\251\224\202Z\342p\251\313\362"
+"V\313\34\366\364\224\247R\330\42\334:]\226\326&:\5\216\222\366\362r\334"
+"\272W\222\372\3078G\356\226\26\30\276\22\236I\326\3\330gm\205\221\371\230"
+"45 \375c\262\260\330\22\30\272\35\315)B\377me\303\'\270b\373\354\240\235"
+"#\215\224\242\326\306\373\2403\26\263JS\356\270\211\177\331J\320\356\237"
+"\206X\245\261\333]\270\265\nv\206!V\23\16<P,\303\307~\270\347 V\211:\205"
+"\325\377\nt\6\42\326N8\240<L\275\201\371\23\261Jo\362\203\312\332\f\27"
+"\5b\375\1\332\1\256\262\266\301\3\4b\205q\355\312\r\336\7\332\6b\375\26"
+"\322\1\247\7\333R\35\336T\222:\305iZ\337\203vL\232\312\32\253imd\310\37"
+"\333\276\3039|g\253\265\245\25tF\250\254p2\335\330\332z\1\332\343\224\'"
+"G\320\366b\326\'0\207\251\254C@\273\25\263>\6\355\321\231\2704~\0\350|"
+"\306\254w\341\200\342h:\2\376\262\1\263\276}\7:Kqk\236\323\7\261\357\204"
+"\327A;\177(j\235\0\27\345[\324\n\323\232k-^\342\3017\207W\267\t^xxpc\305"
+"\3L\307k\31\372\254\235\27`\302\331\210X\27\202\266\250T\374\t\363\341"
+"#x\221\42\270\n\304\335Q\26\366\322\241\350\244c\\.<d\250\253\256UR\225"
+"V\340\24\266\7Du\246*\255\tMP\333\350\360\3012\332A\320i\215-~\235t\330"
+":\27\245|T1K\303\32#\227\206\333\202\256Vx\33Q\257uu3[.\200W\4\251\13\244"
+"\352y\223^\232;!\27\300\313m\1\207\340\370\217t=\253[\2569\2[-S\334)\r"
+"\227\352\346\344\211\226\372\350|\6L\202\7\345\301\311\272\326\34k\201"
+"\370\265\350oI5\265V\36\372\231\243k=e\257\254\233K\n2Y\337\274\r\366{"
+"\243/\213\365\244;C\254\345o\215S;\2152\21*\201\263\2124\37U\330$\302\300"
+"\277\317D\244\323jD\2304\315w\314\360\25\42\2\16\7\275\342\213*\376.\42"
+"\342a\220U\26W.\42\345\271\375\345\236\21\221s\331*]\42z\203\271\226\34"
+"\273\276Wn\311\227Y\254\23{\305\372\347J6\346w\31\20\374FFp\356\361z\275"
+"\35m\276nO\200%\231\246a\232\251\246i\304;]\7\312V\337\265\271\2141\366"
+"\223s\336\306\271\207s\356\341\334\343\3618\345L\3230\335n\3030\r\303t"
+"\33)\311)\246\2131\306\2\307-7z\321\343\3438\347\355a\317=>16\231\265x"
+"\31A\20\4A\20\4A\20\4A\20\4A\374\177\374\2\237\77\321\273\202\251e\275"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0L\0\0\0\301\b\0"
+"\0\0\0@\322\t\361\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\4\77IDATx\332\355"
+"\231[l\fQ\30\307\247\266\335\322\356v\2136\266\367Vu\25QmS\211\212\27\42"
+"\322*\202 \204\310\212\270\245\342\26\322\226\210\'\21\222\206 D\334\22"
+"E\244\342\22D\202T\342V\21\327\322\352-D\33]\rJ\265\273d\267\354xp;\337"
+"\35193g\346\353\203\207\363\177\232\231\235\375\315w\2769s\276\313Q\24"
+")))))))))))))))))))\236B\300\331\260\344~\6\376\353i\br\177\13\333\324"
+"\252\32\223\247\314\312a9\356\252\306\365 \206\r\273\244\232\321]\13\213"
+"5Q5\247\225\4\343\257\303\27\232|\203LX\266I\330\230(\6,\324\354\344\262"
+"3`-&Yum\fX\245I\330f\326EK\265\251\227y\226\375\210\330{&X\3578\223V\t"
+"uW\371\f\262\202\205\32\37\272b\13\323\366\320\372\255\340t\357Z\304\32"
+"\63\351;0\354Y8\202\225\364\36\260\274\231\bV\377\207\320cn\314Bz\f\262"
+"N`X\253 \253\336\206`\215\367\3\326\327,\4+\256\r\32\266\34\301\262\336"
+"\201\254S\30\207\355\203\254\6;\202\345\206,\37\306a\271\324G\273\f\301"
+"\212}\3Y\25\b\226\345\6d\275\214D\300vQ\16\33\211`\315\rB\330b\4k\224\27"
+"\262\216 X\216&\310\252\211@\244\\W \253k8\302\260m\324\252\77\37\301*"
+"\242\234\177\0\301\312\350\204\254\307\210E\77\262\26\262>\17E8\277\222"
+"\212\2223\21\203\334D9\277\34\301\232\f\203\244Zm5\317J\201AR\375\220d"
+"\2365\3401\345\260\2\304 \217S\16\333\216`\255\246X7-\346Y\23\374T\36\346"
+"4\317\212\367P\206\2119\214YxY\317\306QW\222\305\326wf\220\234M_\231\226"
+"\237\24\355\377bf\220KxE\334\351\345\tFYy\337\370I\354\217[+\r\305\362"
+"\330\26\355\244\370\363\3168\361 Y\245\233cwo\31 \b+\27I\331\233\362\204"
+"X\363\304\n\0\377\32\1\326\240\16\321zbW\210.l\275xu\262_\367\13\60\20"
+"\25\2137\350\301\332\214\3443\223\264\233$Jf-\371}5z\3739\302\354\321<"
+"Z\313\350n\355\307\225\20ol\307/\260\305\231;\253\344d\23\303m\373\364"
+"\214\237\375(\250\252\252\367\305\231bj\tK\\q\213\206\5\322\365W\377\201"
+"\39\201;\353\274\332\207\25\2172\25\206\254\200\23EKk\6\2642\\\217\f\206"
+"\323fd\307\255\b\230\226\211\244] a\33\221\260\34\22v\35\333Z|@\256\273"
+"!z\241NGd\247\'\332\205\204\201\241\345 au]\304I:\22\26|Nvc\2210\245\221"
+"8N\305\302\310\306\335\20,\314C\34\17\306\302:\372\22F\246C\26\7\22\26"
+"\60\222\354\351\251\13\364\256\2200\240p$,\264/\207\tZ\21^$lp_\302R\210"
+"c_\0\t\313\340|\r\246`\371\304\361\33$\3146\2068y\205\204\25\221S\343\5"
+"\22\66\217<y\212\233\362\211=Dt\372f\305Y\266\206\34\345\375\0\312\260"
+"$P\r\225\342F\ts4\27\212\265\b6\361Q,\252/\272\216w_\314\304\261\272m\20"
+"\327[\330\340\346d\342\321G{T\265s\267v\'$\313#\324\1Kl\374\235\245V\344"
+"\362Y\13\250\366\243\77\225\275\366>\371w\313\235\205\354d;\341\234`\35"
+"P\2n\372txJ/\357\245\357\351Um\177\344l:5\367\252v\257n\235\341\372c\241"
+"}\\\351\355`\357\2e)\247v\352f\357a|\351\360\5\24\233\215\3353\270V\250"
+"\262-{nbg\315\311\213N\227\215G\3659\355\274\237\234]Fw\351\264\266}\335"
+"\6Y+4\315\336b\204\325\343\326q\202[|\77\362\323\24]\227\272\252\4Y\325"
+"i\42oh\272\310\346k\367F\321\215\355q\207:u\274u4\336H\272Up\260\236\213"
+"\352(O\325\354_3g]~v\366\210TzG\367\365\315\2137\264c\21\277\243\23\232"
+"\234\20\357tD\331\303#\24\305\367\261\265\251\246]\221\222\222\222\372"
+"\217\365\23\67\305\305\6\361#\236\306\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0M\0\0\0\301\b\0\0\0\0\257\20b\317\0\0\0\4gAMA\0"
+"\1\206\2401\350\226_\0\0\4\341IDATx\332\355\231ml\24E\30\307\367Z\274\336"
+"\265\205V\333X\255\24jA)\205\252\30\250\232\234\255\357\4\r$$\200P\2\224"
+"\304\324\306\30b\242X\343\'\23\23mBL\214\306\240F\322\20*\20B+\rM\1\221"
+"\367\220\202\2246\201\22\224\302\321\206P\340\340.\5Z8\270k\307\17\32\357"
+"\231\331gvf\237\255\37L\346\377\351v\367\271\337\316\356\314<okYFFFFFF"
+"FFFFFFFFFFFFF\377\225|\224\77=\\\340\317\265\242\341[\236\357^R\273\251"
+"\373\36c\2141\226\334\232\345\t\225Yw\234A\255\367\300\32\367^\204\361"
+"\272;\236\f{\274\203\331\264\200\n\253\210\332a\254A\34\276&\254|_6r6_"
+"8N\323\203=\324\216\301\254S\264\347\334\3100\r\346\223`O\215b\2608q\22"
+"~FX\221\246r\32l\302\260@\352k\254y\222\274\324\346s\250s\237N\367\264"
+"\243\276\4\254;\357\246y\334\352\255\200\266\322\263\343\350J\301n\246"
+";\31j\r\33x\236\250\337\363\330\372\301\223\366/\33K\32c\7\312\307\222"
+"\306\22\353\262\275\320\316\212\373 \374\352\330\314\351\77\32\375>\223"
+"L\373\r\331\246g\237\246\256\220+\310\271\322c5D\3329\354d\240\361\233"
+"t\322\223\276\305p\355\b\222<R\\\202\333G\232\213\35\22\32\333K\331h/\313"
+"hl\23ep\273\245\270:\2\255xPF\273\363\4\1\67\357\236\f\267\207\362\254"
+"\213\244\270*\n\256*\42\241\355$\255\341\302]8-\361(m\367/\355Gq\253\210"
+"\316$\370\321U\204\266\201\354\234\2\265=6\332\t/\2368\324x\233\247]\365"
+"\26\'\202\213\267\r\301ip\235[r\272\333Y\220\367J\352\360O\17\3K{\241\341"
+"\f\357Gr\310\250\320\267\227\2059\330L\215\376\245\r\366\5\367\23\315\235"
+"\217[r\0\311W\33I\205\232\277\356\42\266\rZI#\233\337\213\356\251NJ\\\b"
+"\342\t>\213N\246\224~G%\276h\21\3451\233$\260\26\n\354\31\t\354\376\24"
+"J\346\260Pr~\313\5\nM\26\224\326\223\262\232\t\222\304\35181GB\325\301"
+"H\264\b~\272\217\226\r\36\224,ib\257\241\3] \311\327h\270\334v\24w\275"
+"\230\330\36\252\31\300p\'3\210\23\230U\217\345\r\364^M\326\232>;n\261\207"
+"\316\317\322N\221\26\233\350%\220V\3762\42$o>/8\253L\250\271VK\273yeU%"
+"\343\7vv;\343\36\334\372\6<\214\225^G\315\362\332\376\256\307\276P\275"
+"\276fnp\77\340V{t\263l\177\33\267%\3120\233\331\251\211R\365\3502\273\224"
+"\376\274>u\375}e\3632\6K\325\231\210\305\206\324\365\203\312\231\255\206"
+"\203\333\210\30\264\200\360\241\216\271\373a\3672\337\356\337@\246\363"
+"\300\263J\332\32\340x\3\325\316\336r\246\222\326\323\16\16\226;\3234\272"
+"a_\201\337s\nm\264\333\340\362$5\355\20\250\365}o\332hIX\265\250i\243m"
+"\260hr\34[\236\306\366\377\25\374~\336F\33\202\201@\203v\32\374\236\222"
+"%\322\6\301U\235\366\367\3718xq\323DZ\314e\250\34\271\6Kk\221\306Et\235"
+"`t\23\374.\20i\\\261\24\320\240\301/\379\42\355\222[\237\16_n\266H\33H"
+"\200\253:y{\20\261\377\2276\22F\356\345\24\377a>\36\267\355\323^\344\255"
+":hb\6\62#)Z\17\270:UM\253\200\7\327l4\370\345a\216F\240v\316\f\247\2w\332"
+"\255~m\\5\210T\2500\13\232\246\242\275\4a\275\210\267<\4\214kU\264\17\340"
+"\301Q\304\240\16\334mH1\253\25\\\251Z\215XL\202\6M\316\331\3\367\5/\236"
+"\253l\22;6\327\77\347R\221\355\250\315Zh2\34\222\303\226\363%\371\\\324"
+"\350\261\4\264\271\365\2724\322\363\255\270\323\222\214\260\205/\b>A[/"
+"\351\237\t\371\345\333\222\233\276(\246\360H\253~\226X\213\374.MV\17\213"
+"irG\r\267\314}\225\315#bI3[\222\251ZV\350\210\355\6\311#\307\272\302\227"
+"\207\206\3759\223\247\207\346\25\331\256\257\373X>[[\230K\235p\352\373"
+"\24F\335\301\42E\216\253|\211+\330\360s\212\355\374\265\33\230\362\363"
+"Lz\2536,V\251\21\213vk\302z\313t\2e\306f-X\263N\356cY\226\257>\241d\335"
+"X\241\37\307g\235tf\335\377\316\325\367\353\264\325a9+\376c\211\373\306"
+"\342\336$\312:\265\226\366]\375\221w\266]\22\332wm\37:\346\353\252\332"
+"\267`FqQ^n\300\262\6o\\\271\360G\3302222\372\277\350/\277\226\316RlG\34"
+"O\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0^\0\0\0\301\b"
+"\0\0\0\0c\211X$\0\0\0\4gAMA\0\1\206\2401\350\226_\0\0\6\22IDATx\332\355"
+"\233kl\24E\34\300\347z\347\225\226>\256\355\321W\332;\212\26isj\223\32"
+"\tAmm\20\303\313\230\366\203hx\31\265\t\325\304~\200@\b`4\202\304h0\32"
+"\20C\322&\232 JA\215\bAAH\253\225bj-\25\212B\213\266\327\226\366\332+\327"
+"{\344\256\367X\77\23063{\263;3{3!M\366\377i\367\177\377\373uw:\363\177"
+"\315\34\0\272\350\242\213.\272\350\242\213.\367H\f$\203t\23r\353\13\363"
+"\302\33*k\36s\330\347\311\325\356;#\177\367t\375\26M\354\265J\17\fJ*r\367"
+"\353\272\373\264\303+NE%\222\214nO\321\6\317k\42\303%I\222\234+\265\320"
+"_\234\220(%v\300\300\nOi\226\30\244\331\31080\35\22\223\274\307D\267\337"
+"d\243K\261Z\6zQ\277\304*\303\31*<t\3502/<\310<\21\322\215\347i\227\360"
+"iI\203LY(\361\333%M\322H\347s\312\273\314\30\213\33\235\335\203\203\301"
+"I\0\262\262\nJ\34Km\361\26W\226R\rMk\374\203\375\371\206]f\265d\317\277"
+"q\223\307F\203\257\215\203\367\256\306-JS\275|Uo\241y\370\253\362\207\332"
+"gV0-\274\214Z\36\245\300\257\224\321C\317+\333\316G\371\177P\340\277B\351"
+"\221\365j\306\271\243\260\255\77\211HO\13\240\370\375\352\346\33\21c;\21"
+"\277\26\245w\22b\221\21\361MO*\231\315\276\326\23\250~\33!dG\77\207\357"
+"\254D|\5\242\376\351\42\351m\277\207or\210\370\373\21\365a\342`v\7\230"
+"\360yH\262\361-\21\37\271M\263Tg\361i\260\366t\204\374M\'\354\224\211x"
+"D\316P<\230\217HQ\374\240\203\2\37b\32\34XF\377\341\225\302b\361\327\201"
+"P\374-\261\370\333b\361cb\361n\261\370\t\261\370\230X\274O,>*\26\17\304"
+"\342\223\304\342\323\305\342\315b\361\31b\361Yb\361yb\361v\261\370\305"
+"b\361\25\6\241\370\3542\356x\17\254]\307\35\77\tk7\33x\343\373`mY-o<\232"
+"|\34$\227\302&&|+\242.>\231J\372f\1\323kX\303hy\322NX[)>\310\370 \231\177"
+"VV\31z\367f\253\2317\302\266-\24-\256\270\2529\320\262I\261\336\336\34"
+"B\36\245\210\330S0\365\341X\256\236[N\347\270\333\353\363OKw\377\257iS"
+"sK*\353\36\222%^\'\2353\1\332\337\327\206M\5\32$N2\365*v\246\365\360\342"
+"\307\226c|Nd+\257\4\304\360\32V\375.\257\307\37\304\227\332\347y\361\315"
+"8\207\34\255\273\312ix,X\177\357Y\321\315\7\77\17\37N\\U\347\304f\205\306"
+"\267\302\34\306\336\252\374\7*\177M\230\36V\363\326\206\347.%\210\357$"
+"\fQ\331\216\13\23\t\3407\340\332\2442Y`Q\3145s\36\256/\225\367\0f\32\60"
+"\61Wo\363w\211\316\200T\264\278\264\202s\35\362\24\202_\307}\2{!\272\333"
+"\310\273\266\212\336\204;_Q\356\245\333(t=\300\2772\364B\327S\374\361a"
+"\232:\373^\324\265\354\321\217\77>\225\246\326\323\216\207;\2576\356\243"
+"j\204]\236\'\2157~+\342\24\232\314\214\377\24\0\0H**\316I\306\206\322\202"
+"\252U\3507\207.\r\3174\231\\\227\333%\362\224z|_\253O\243\273\377\221T"
+"\34\24\357\37J$Z\275\251\n\267\35\235N,\30^S+\232v\5\22\r\345\21\345P^"
+"\332\311!\21Q\\gk=<rL\233\302\252}\345\233\f\201\36\256>\306\'C\306\227"
+"\305\317F\370\320\247\261\256\254\334\307)\275\357\305y\314\344/\347s\32"
+"cl\232\375\16\257\332d\254\b\343\322\26]\307\271\257\221k\375\316\221\t"
+"\257\'6\25\5\0\0\203\305\224\231k\253\250\221\357\263\205\357\314\306^"
+"w\373\373\270\332\352\263\270\247\360\177\361B!\376\355\315\rA\304rW2i"
+"\274l\362\262arG\246\212\371\26\330\364/\362\277\343m\31\375\207|\365v"
+"\316\30d{\214\214\227\235=9F:\31s\16\62\376\210\30\312\35\17 \372\266M"
+"\244\22}\34\272\366\23\361\325\210:\370R\204\313\2\230\305\77\212\250\217"
+"\364q\316\322\226\300Z\351c\336I \222\t]\351\347\215G\32gg\271\247\260"
+"\310\262\373Yl\206\334%\24\77\356\26\212\27\274_;,\26/xCuJ,>(\26\357\25"
+"\213\27\274\333\f\3464~no\7\233\304\342\323\304\3423Y)l\375\34++^b\302"
+"/\240j*0\3459H\321L\203O\243qRX|\16\315\340\303%\236\207m\325\226S\340"
+"\363\230\360\310\21\303G\310t\323B\232\370\223\204\235[\313\311\370\305"
+"p\7\307E\304\303\t/\250!{\35\344\200\345\b\21\217d\7\205\313\210\370g\240"
+"\353\261i\42\376\6Z\235\223\350\3265\320M\77\331)\240\373\21\353\27\22"
+"\360\215\360\320Sd\353\305h\355sJ\335\272\4n\257K;)\346\261\354\224\363"
+"\353j\266)m\210\355j\n\374nYCi\203\n]v\220\236\306G\311\353\332\330\207"
+"J\77+q\310\372Ut\7 \217\313\213\362\201F\234\357)\375$$\263;L\205w\304"
+"7s\202g\266U\301\316\337Z\263\267#\276\241\264J\231\t\367R\77\305\317v"
+"\377\320\2447\20\62X\314\326|\354\321\202\361B\272_1e\215hj\257|@\33\323"
+"\236\326\322\353\n/\242\216\231;5\340\233\30b\362!f\372d>\3\336p\204\25"
+"\277\221-\247\330\315\326\311<\304\232\263\254q\t\374=\24\0 \3578u\243"
+"{\217\2463T\325\277P\321\177_\6\64Ju\13i\203 v\2616\221\343_\331/\237\30"
+"Sd\17\234h(\246\233\211j\37\332\313\3549\262~{ 81>\330\347\1\272\350\242"
+"\213.\272\314-\371\17\2\244\0L\266\306\13\246\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0i\0\0\0\301\b\0\0\0\0\351\246\301e\0\0\0"
+"\4gAMA\0\1\206\2401\350\226_\0\0\4\345IDATx\332\355\233Ml\23G\24\307\307"
+"n\262\20l\203M\310\207\371p D\241-%i\324\362Qh\204@i\203\2\224\42U\25\224"
+"\3\251\242\42\241\364R\211\252\27\324^\213\350\245R\213\0q\240\1\201Z\20"
+"Q\371\220\310\205\220\b\205\17\201 \324D%\1\1\2416\24\22\307)v\34\343\304"
+"\333CU\264\2633\2633\316\274\335Je\376\267\365\276\235\337\316\354\233"
+"7o\336\256\21RRRRRRRRRr^.\253\223\371^\306\211D\6\362\36\264\35=:SC\235"
+"\215.(\320\224\16\335Z\337B\221~\340\200\364L\20\6T\222\346\221\364Osk"
+"\321\315\370\375}\215{i\r\f\251\234\177i9\f\311\315\277\264\24\206\24\341"
+"_Z\bC\352\342_:\25\310\313\273\270\276\367\34\210\364\3460\27\225\17\205"
+"\352\314rH\323\300\42\254\267\330\364C\361\272\257\362\f\207\263#\310>"
+"}o\354S\b\304\367\30:;\361\233\314\221\24u\214\224u\214\204\24I\221\24"
+"I\221\24I\221^j\322$\307H\323\35#U\30\17|v\222\352&\336\301\334H5\353%"
+"6\205\271hU\24\313\313o\3474|\254\274\334_\346\233\214\357\226\212\26\254"
+"\2566\31\365\37\356\31\30\307\177\32\32z0.N\232\376q\335\273%\23\356x\372"
+"\306\371_/\nY\276z\210_ \340\351\367\317\370\23\317\363]F\207P\337:\16"
+"\2502\254C\351\300\24+\320[\203:\234\256X<\353\205q\35R\275E,P\240O\207"
+"\325\r\326\0\376\244C\253\205\16Z\255\303k\3\225t\311\6\322}\215\22aW."
+"\265!R\2265QH\333l\t\312\333\311\2707i\200($\'._\277\33\31\30\36Md\20B"
+"\371\323\202\2136\2570\355\257\177>\323;\30\327\21B(\340\362\27\226VV\327"
+"\22u\227\252\337\314\277\324\233\207\270\255\201,[\356\304,\306\327\22"
+"\6\332G\267L\315|I\330|\203\33\304\77\244F\376n\243\315\t\232\211\266\37"
+"o\350\baq\22;\237\\L\37\366\257\215FM\364u\350\24\326\322U\302\0\17\255"
+"\2373\36\360F\243Q-\335&\204\255:}\304\371\204\361\364\275<\6i\271\321"
+"\3525\206\321Q\243\321\3\302\313=F\333\3c\214F\236\31\17\222\f\243V\313"
+"\334\b/\252\236\224\232C\355\226$,\237\210\205\245HO#\302\371^\267.\27"
+"\30\372\204I\275\222!\350\2410\251_\222\364D\230\364X\222\24\23&\rJ\222"
+"\206\205I\303\222\244\21a\322\210$)-LJI\222\262\302$\331w\250\317\34\33"
+"=U\217P$E\372/H\5\216\2214\311F\363\34\33=\2170\311\343\330\350\311\276"
+"|~E\230$\373\356\336+L\362I\222\n\204I\205\216\365\251H\222\24\20&\315"
+"\221$\25\13\223*$I3\205I\13%I\363\305=\242R\n\344\237#\36\215\326H\221"
+"\336\311a\325h\24\212\235\254\272\364Zj\356G\'\325\260\252\250~\346\201"
+"!\302l\241\346\303nz\332\271\2071\245B\\\27Ch\'v\7Q3)\33\307gT;\335)\260"
+"\22\3042\252I\323\16\354\360\17\302\340\262\251\3363\262k.\331Je\322h\362"
+"\210\322\361\371-\246v\310\22\333\217D\25\60{sosC\325\354\27\241\305]\336"
+"\374\247\251(\2765\364\302+\\\201y\313\77\331u\211\370F\351m\302\1776\236"
+"`\273m\3629B\b\371i\276\226\375gW\307\374\3663VL\274\346\230\34\323\355"
+"\320!r>\215\36\264%\367j\241\314\276\322;6\244\17\341*\235\\\362\23\251"
+"zxRs\17\65\317h\3\177Jm\214\33(\f\3\203\36\317b\365\265\244\33\24\364\227"
+"E\5\336{\f\20\364d\205\345#\334\22\201\2\235+\343\345j_\334\201\340\204"
+"7\231#\n%\302\270\227}P[#\263\261\31\13w\34\353\42\212\221\214u\323\25"
+"\f\372\210\275\211kV\343J\274\311#\347\242D\213\361\241~\200\357\3345\354"
+"\255\333\330{6n!w\33I\307\355\334\347b\301\345\264\235\244\247\306\203"
+"\333v\222\260lc\320N\22\346U\243v\222$*\177\252\232\243H\212\244H\212\244"
+"H\3777\222\346\30i\246c\244z;\7{\2211\263\214\225;\325\247@\347\346\34"
+"\66\n9\376O\364\r\323\327C\351\207\346\367\331\231\373\277\264B\214^Hd"
+"\357t\\\3 \371\204\266i\273!:\225\24!\245g\0x\304]\241)\335\0@\272)d\365"
+":\0\251]\310\252\0\200\324*\264\301\210\2\220b\373D\254: \234\317+P\\\272"
+"\6\23\372\202\27x\240\324\22\250%m\323y\313\257\250\243u\20q\357\337!\254"
+"\256\230\341\241\177\300\233\3529\235BJJJJJJr\372\33\207E\262\255\245\262"
+"\25\263\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\200\0\0"
+"\0\200\b\2\0\0\0L\\\366\234\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\0\304"
+"IDATx\332\355\321\261\1\0 \b\4\61p\377\235\337\t\244\261\2600\327B\365"
+"\251\222$I\222$\351\247z\270%1\320\355\276\335\363\303\262\321\333\0\0"
+"\0 \0\0\4\0\200\0\0\20\0\0\2\0@\0\0\b\0\0\1\0 \0\0\4\0\200\0\0\20\0\0\2"
+"\0@\0\0\b\0\0\1\0 \0\0\4\0\200\0\0\20\0\0\2\0@\0\0\b\0\0\1\0 \0\0\4\0\200"
+"\0\0\20\0\0\2\0@\0\0\b\0\0\0&\0\0@\0\0\b\0\0\1\0 \0\0\4\0\200\0\0\20\0"
+"\0\2\0@\0\0\b\0\0\1\0 \0\0\4\0\200\0\0\20\0\0\2\0@\0\0\b\0\0\1\0 I\222"
+"$I\222tn\3\22\244\3\330D|Z\352\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0\200\0\0\0\200\b\2\0\0\0L\\\366\234\0\0\0\4gAMA\0\0\261"
+"\217\13\374a\5\0\0\0\344IDATx\332\355\325;\16\200 \24DQ\236a\377[\36[\33"
+"\23\r~\242\234\333j5\'@k\222$I\222f\253\366>$\261\3165\23W\235\6\260\376"
+"c\6\213u\336\r\0\200\271\353\343\317\210F\36Q\'\300\25\4@\0\0\b\0\0\1\0"
+" \0\0\4\0\200\0\0\20\0\0\2\0@\0\0\b\0\0\1\0 \0\0\4\0\200\0\0\20\0\0\2\0"
+"@\0\0\b\0\0\1\0 \0\0\4\0\200\0\0\20\0\0\2\0@\0\0\b\0\0\1\0 \0\0\4\0\200"
+"\0\0\20\0\0\0L\0\0\200\0\0\20\0\0\2\0@\0\0\b\0\0\1\0 \0\0\4\0\200\0\0\20"
+"\0\0\2\0@\0\0\b\0\0\1\0 \0\0\4\0\200\0|\266~\344\247$\226r\2\0\b\300\377"
+"*\367\376\355\23W\31A\222$I\322\246\25\337\275\17\337\253o0\372\0\0\0\0"
+"IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\224\0\0\0\224\b\2\0\0"
+"\0\372^\227\203\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\4\212IDATx\332\355"
+"\233\261\216\332J\24@\331T)^\261\363\7q\31\351\25;\356VJ\203\377\2008_"
+"\200\377\0\371\13\220\277`%~\0\311e\364\n\344\26\236\302\213\323\341\225"
+"X\231\322+Q\270\4\211\302\245_\201\24E\212<\261\2071\230\345\234\26\61"
+"\223\334\343{\347\3361\333\353\1\0\0\0\0\0\0@\'\270kuu\313\262\354\7[J"
+")\245\24\367\242\327\353=~z|\303\321\334\274l\366\373\375n\277K\222$I\222"
+"\325\363*\313\262+\373\77\330\322\236<M\362m^\336<\3716\17\247\241;p\273"
+"\356L\b\341\217|\234UY\f\306\201\20\242\213\346\202qP\34\n$\251)\16E\267"
+"\24:}\207lk\252\360\362\205T\b1y\232 C\217h\26],\5mi\247\353\24\7\'\36"
+"\204\266\264/`\216\23\316T\t\365\206\336\371\314yC\17sf9\223\77w\3406}"
+"\262\302i\350\217|\247\357t\264Q6\335\276yC/\234\206M\233\270\326\3755"
+"\252\226\3271\234\266\34\256p\32\326\367\327b\270\204\20\65\315\205\323"
+"\320\262,\356\36\233\366\344\305\241h\253\177\251\323[\346\333\334\351"
+";\b\323n\316\323uj\376p\t\306A\235\204\273\205S\355\24\352\244`8\r\r\77"
+"\65\177\3342\30\7\270\251\331\253\237\365\360\213\227q\':\335\233\361\227"
+"o\3633\355D\316u7\252\352y%\232E\230\320C=E\24\207\342\324\6B=\222\33\330"
+"\340\266Q\367\237\376\310o\361\264\273\361\31\274\355N\360\244\223\317"
+"\262,\305\322\3612&\372m\27O\375\231\335\37\371\212u\31\306\215\240\316"
+"\220\311\323Ds\335h\26\221v\227M\276t\235j.\312`\327\205\223O\247%4\277"
+"\42h\315c\212\343\351]\325\7R\312\252\2176/\233\335nG\304\r2_\314\253>"
+"\322\221g}\250|\247\263X,\b\267ay\377\3165D\350d\336\352yE\270\315\242"
+"\370U\274\342\315h\245\274\343\237\26\64\335\t\364H\236\23\215o\275#p]"
+"@\321C\334\337\337\233\224\247\367\230\200\36\37\377\376hR\36\255fG\240"
+"l\42\17\220\7\310C\36 \17\220\7\310C\36 \17\220\207<@\36 \17\220\207<@"
+"\36 \17\220\207<@\36 \17y\200<@\36 \17y\200<@\36 \17y\200<@\36\362\0y\200"
+"<@\36\362\0y\200<\344\1\362\0y\200<\344\1\362\0y\200<\344\1\362\0y\310"
+"\3\344\1\362\0y\310\3\344\1\362\0y\310\3\344\1\362\220\7\310\3\344\1\362"
+"\220\7\310\3\344\1\362nO\236eY\4\356j\345}@\336\371\330\274l(\233\235F"
+"\bQ\365\321~\277o,/\3132\312\346\331\220\17\322d\331\314^+\345\331\17\66"
+"\3416\213-+C\232$\211Iy\375~\237p\237-\363v\373\235\316\263PV\243\250\321"
+"\240Aq(\252B\355\364\35\235\25\25\362\274\241G\304M\341\364\35\363y\22"
+"\315\242\252\25\323uJ\320M\21NC\363q\366G\276\342\211\320Lg\370\255uW\4"
+"y\3624ie\335x\31\23\372V\323\256,KE\27zR\345,\313\322\35\270D\277\275\323"
+"\356\324\263\311\35\270\212\325\213CA\333y\312\255J\272N\333\355\n\363"
+"mN\361<\177\3014\223\30\352\344+\3132\234\206\230hJ0\16\324Q\365G\276\231"
+"\235\342e\214\77\203xCO\35\317|\233\33\333L}\333\202\77\2639g~\f\253\263"
+"e\274\214\351_\324\35\212\372\234;u\266;\245x\36\217Y\346\207\252\251@"
+"\335\372\375\34\17ZI\0!D\235\355\217)\310\375\313\257w\35\352q\371\327"
+"G\277\305w\245\266\264\25\367\337\277+\364\206\336-\27Rw\340\326\324v4"
+"\327\364>\345N\303\337\367o\337\337\377\365\276\376W~\374\367c\276\230"
+"g\257\331\361\355\374|1\177\253\205\261\327\353\211{!\245t\372\316\343"
+"\247\307F_\377\362\371\313\327\177\276\266\376\257l\224\177\320\271F\301"
+"\226v\315\363\17\214WK3\375K\235\376\23\324\275\345%\177\315Ug\376\203"
+"\252y\356\362\335\234-mR\260\21\3716\357\326(\345\r=N\301:\332\272\373"
+"\363\237F\223\315Mq\234z\257\343\22\317\33z\321,b\242\210\227\261\77\362"
+"[\352J\356\332\26iY\226\375`K)\177\216\261o\233$Iv\373]\222$\331k\266J"
+"V\334\16\2\0\0\0\300\225\362\77\367\321\324d\253U\30]\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\252\0\0\0\274\b\2\0\0\0g\233\242"
+"S\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\1\177IDATx\332\355\335\301\r\202"
+"0\0\206Qk\34\240\253\310M\242\7\35\321x\255LB9ht,\334\201\24C\341\275\273"
+"\306\374_h\202\211\270\333\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0PH\230\366"
+"\262\346\330\304\30\315\267\20y\310\177\315\377y}N\347\223\335\227r\21"
+"\207\211\35\367\266\3332\371\345G~\344G~\344g\13\16\305\337\361\373\376"
+"\232u\16s|\321R>\177{i\245\232\3038\216\16\177\344G~\344G~\344G~\344G~"
+"\344G~\344G~\344G~\344G~\371\221\37\371\221\37\371\221\37\371\221\37\371"
+"Y\235C\25\237\26296\217\373\243\226MS\227\3223\311_L\214\261\242\'IM~\316"
+"\226\303\37\371\221\37\371\221\37\371\221\37\371\221\37\371\221\37\371"
+"\221\37\371\221\37\371\221\37\371\221\37\371\221\37\371\221_~\23\310\217"
+"\374\310\217\374\310\217\374\310\217\374\310\217\374\310\217\374\310\217"
+"\374\310\217\374\310\217\374\310\217\374\310\217\374\310\217\374\310\217"
+"\374\310\217\374\310\217\374\310\217\374\314\251\216\277q\314C\16!\250"
+"\345\352G~\344G~\344G~\344G~\344G~\344G~\344G~\344G~\344\227\37\371\221"
+"\37\371\221\37\371\221\37\371\221\37\371\221\237\225(\377\23\317\333\365"
+"f\326\355\346\357soV\207\77\362#\77\362#\77\362#\77\65\337\367\247.\345"
+"!\233\17\0\0\0\0\0\0\0\0\376\350\7\27\214 1\37[Ij\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\311\0\0\0\305\b\2\0\0\0qfA)\0\0\0\4"
+"gAMA\0\0\261\217\13\374a\5\0\0\2\25IDATx\332\355\3331N\302P\0\200a4\f\f"
+"\16\35\31\34d$q\20\266\22\34\254\267 \361\6\304\13\20\27\343F<B\345$\224"
+"\1S\307:\230p\1\7F\6\7\266z\2\26RZ\240\337w\201\227\276\367\347=\362\310"
+"k4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\216\317E9\303\244\313\324\\\37\211"
+"x\26\307\37q\t\3\65\313\371\236p\30Z\324#\221,\222r\6\2724\327h\13m\201"
+"\266\320\26\332\2mq\376m}}~]p\0\217\321\243}\13\373\26h\13m\241-\320\26"
+"\332B[\240-\264\205\266@[h\13m\201\266\320\26\332\2m\241-\264\5\332\342"
+"\2044\253\35>\34\206y\236[\6\373\26h\13m\241-\320\26\332B[\260\247\212"
+"\357\267\266\177\333\354;\263\f\205\13\202\240{\333\255u[\331w6\270\37"
+"H\241p\321C4O\346\316D\374\336\2m\241-\264\5\332B[h\13\264\205\266\320"
+"\26h\13m\241-\320\26\332B[\240-\264\205\266\240h\25\277\305\350\334t\336"
+"^\337,\303!&\266\356m\265\257\333\223\227\211\24\234\211\240-\264\205\266"
+"@[h\13m\301\236*\276\337Z\377\256\343Yl\31\n\327\271\351\214\236F\265\370"
+"\324|\207t\231\352\340\20\242\207h\327\234\227\366G\2103\21m\241-\320\26"
+"\332B[\240-\264\205\266@[h\13m\201\266\320\26\332\2m\241-\264\5\332B[\234"
+"\243\212\337\371\364\356z\236c\34B\20\4uo\253u\325\n\207\241\24\234\211"
+"\240-\264\205\266@[h\213\263W\361\35\304\352g5~\36[\206\302\365{\375\351"
+"\373\264\326mm6\233d\221H\301\231\b\332B[h\13\264\205\266\320\26h\13m\241"
+"-\320\26\332B[\240-\264\205\266@[h\13m\201\2668\21\25\277\305\b\207a\236"
+"\347\226\301\276\5\332B[h\13\264\205\266\320\26h\13\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0\0\0\0\0\0\0\0\250\330\77:\262oHr\275\256V\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\311\0\0\0\305\b\2\0\0\0qfA)\0\0\0\4"
+"gAMA\0\0\261\217\13\374a\5\0\0\1\355IDATx\332\355\3261j\302P\34\300aS<"
+"\210\31\205\16u\f\270\30o!t\260Y\245Kq\223\36B\262J\207\202\267\320\16"
+"B\306\270\24\34\355\21\336\21z\1\63=\22\322\372}\243\17\376>\336\373\305"
+"8\30\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\367 \351\354\233\212\227\42\35\245"
+"N\274\17\66\357\233\177\325Vu\252\262i\346^{\361\213\222tq\357\17\16\32"
+"m\241-\320\26\332B[\240-:0\354\303&\346\371<r\302\341x\270\371\371\345"
+"\373\262z]\305L.\226\305\342yqsi\377\271\337}\354b\206\227\333r\3748\276"
+"\271\264~[\327\347\272\2153\271\257\266\216_\307\226&\207\20\42\207\347"
+"\263\274i\351\372s\215\34\36BhZ\252\317u{\307\342\235\210\377[\240-\264"
+"\205\266@[h\13m\201\266\320\26\332\2m\241-\264\5\332B[h\13\264\205\266"
+"\320\26h\13m\241-\320\26\332B[\240-\264\205\266@[h\13m\201\266\320\26\332"
+"\2m\241-\320\26\332B[\240-\264\205\266@[h\13m\201\266\320\26\332\2m\241"
+"-\264\5\332B[h\13\264\205\266\320\26h\13m\241-\320\26\332B[\240-\264\205"
+"\266@[h\13m\201\266\320\26\332\2m\241-\264\5\332B[\240-\264\205\266@[h"
+"\13m\201\266\320\26\332\2m\241-\264\5\332B[h\13\264\205\266\320\26h\13"
+"m\241-\320\26\332B[\240-\264\205\266@[h\13m\201\266\320\26\332\2m\241-"
+"\356\317\260\17\233\250NUK\223\'O\223\310\341\351(mZ*\226E>\313#\267\327"
+"\264Tn\313\20\302\237n+\3512\240l\232y\232{q\353I\27\367\356\235\210\266"
+"\320\26h\13m\241-\320\26\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\320\206"
+"_\254\313@\2\306L;\320\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0\311\0\0\0\305\b\2\0\0\0qfA)\0\0\0\4gAMA\0\0\261\217\13\374a\5"
+"\0\0\2@IDATx\332\355\3351j\302`\30\200\341Zz\0\217`F\241K\335\2.\306[\b"
+"]\3521\264\16\32\'\351\221\264\203\222\34\313\356EC\3617\351\37\363<k\341"
+"kH^\22\t\370\371\364\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0tA\257\261\3774\377"
+"\230\'\203\304\31\217\301r\265|\250\266\212c\221\216S\3275\212;J\257\211"
+"\353\376,,\332}\337:\237\317\316\265\373\26h\13m\241-\320\26\332B[\320"
+"Z\347J\365\315/\216E\340\344|\235_\33\236\257\363\300\341\305\261\2706"
+"<\233d!\223\263IV\353\tw\337\3023\21m\201\266\320\26\332\2m\241-\264\5"
+"\332B[h\13\264\205\266\320\26h\13m\241-\320\26\332B[p_\366\330t\362\252"
+"\333c\203g\42h\13m\241-\320\26\332\342a\274\304p\20\345\251\f\234P\261"
+"`<px\365\352\362h\207\367\373\375\341\353\260\23\t\333\221t\221\35I\240"
+"-\264\205\266@[h\13m\201\266\320\26\332\2m\241-\264\5\332B[h\13\264\205"
+"\266@[h\213\266\211\342{>\341_j\270&\35\247\201\303\27\237\213\33\376\364"
+"\367\303\2538\'\207\357\303\315\223\223A\362\357\227\325\216\244.\262#"
+"\t\237\267@[h\13m\201\266\320\26\217#\212w\247\333\3156pB\305k\314\300"
+"\341\325/H\353\33^\236\312\300w\247\263\367Y\'\22\266#\351\42;\222@[h\13"
+"m\201\266\320\26\332\2m\241-\264\5\332B[h\13\264\205\266\320\26h\13m\201"
+"\266\320\26m\23\305\36\33\277\205~\367\341\325\277\205\336\314\36\33;\222"
+":yG\261#\t\237\267@[h\13m\201\266h\\\24{l\246\3314p\302\376\260\257ix\276"
+"\316\257\275\205*O\345r\265\254\351\260\267\233m\310\36\233\321\333h\367"
+"\265\353D\302\366\330\\d\217\rh\13m\241-\320\26\332B[\240-\264\205\266"
+"@[h\13m\201\266\320\26\332\2m\241-\320\26\332\242m\354\32\351\344U\267"
+"k\4\317D\320\26\332B[\240-\264\205\266\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0\0\0~\371\1\320\305\207\207\252\22\306\301\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\200\0\0\0\200\b\6\0\0\0\303>a\313\0"
+"\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\3\272IDATx\332\355\334\321IkA\24\205"
+"\341\231\220\7E[\360\321\2\24\42XC\300\224\221\32\24m!\240M$X\203\222\264"
+"`\33\2125\214\17\27\341>x\315\\\345\354\265\346\314\277 oq3\234|\234\34"
+"\334;;\247\224J\42\335f\302%\0\0\1\0\1\0\1\0\1\0\1\0\351)\323}o(\205\177"
+"\23\264\230\234\363\357\357\0|\370\355\246\366\263\343+\200g\0\2\0\2\200"
+"\377\315\371\371y\3129W\275\356\356\356\252\353>\77\77\247\303\303\303"
+"\252\272\307\307\307i\267\333U\327\276\271\271\251>\363b\261\250\256\373"
+"\366\366\226...\252k\77<<T\327\336l6U5\177\365\274\360\257\327\276\234"
+"\235\235\225\357\376\376\357\327\355\355m\251\315\323\323S988\250\252{"
+"ttT\266\333mu\355\353\353\353\3523_]]U\327}}}-\263\331\254\272\366\375"
+"\375}u\355\365z\275\267\336W\251<\313\317\1\200\300\7\201\f\0\b<\20H\1"
+"\200@\217@\16\0\4Z\4\26\0J)e>\237\203@\200\300\6\0\b4\b\254\0\200 \36\201"
+"\35\0\20\304\42\b\3pzz\n\2C\4a\0RJ h\4\301`\0RJ\345\362\362\22\4\346\b"
+"\6\5\0\2\177\4\203\3\370D\360\376\376\16\2C\4!\0@\340\213 \f\0\b<\21\204"
+"\2\0\201\37\202p\0 \360B \1\0\2\37\4\62\0 \360@0\b\200\325j\5\2C\4\241"
+"\315 \20\370!\b\357\6\202\300\13\201\244\35\f\2\37\4\262y\0\20x \220\16"
+"\204\200@\217@>\21\4\2-\2\213\2210\20\350\20X\0\0\201\16\201\r\0\20h\20"
+"X\1\0A<\2020\0\217\217\217 0D\20\332\f\2\201\37\202\360n \b\374\21\f\336"
+"\16\6\2017\202\220y\0\20\370\42\b\33\b\1\201\'\202\320\211 \20\370!\b\37"
+"\t\3\201\27\2\311L \b|\20\310\206BA\340\201@:\25\f\2=\202A\0\234\234\234"
+"\200\240\21\4\203\0xyy\1\201!\202\320n \b\374\20\204\267\203A\340\205@"
+"2\17\0\2\37\4\262\201\20\20x \220N\4\201@\217@>\22\6\2-\29\0\20h\21X\0"
+"h\371\202\266\216\300\n\0\b\342\21\204\1\30\373\255\265U\4a\0z\370~m\361"
+"\314\241\335@\20\264\201`\360e\321 \360F\20\262,\272E\4c\207\33:\20\322"
+"\42\202\36\356^\241\23A \360D\300\262\350\316\21\260,\272s\4,\213\356\34"
+"\1\313\242;G\300\262\350\316\21\260,\272#\4\241\335@\20\370\2359\274\35"
+"\f\2\2573K\346\1ZE0F\270\262\201\220\26\21\214\361\356%\235\b\2\201\36"
+"\201|$\f\4Z\4r\0 \320\42\260\0\0\2\35\2\33\0 \320 \260\2\0\202x\4a\0\306"
+"\376k\236V\21\2046\203@\340w\346\360n \b\374\21\260,\272s\4,\213\356\364"
+"W\311\341\3! \360D\300\262\350\316\21L\247S\226E\367\214`2\231\260,\272"
+"g\4\22\0 \360A\220sfYt\317\bX\26\3359\2\226Ew\204 \264\33\b\2\2773\207"
+"\267\203A\340uf\311<@\253\b\306\bW6\20\322\42\2021\336\275\244\23A \320"
+"#\220\217\204\201@\213@\16\0\4Z\4\26\0@\240C`\3\0\4\32\4V\0@\20\217 \f"
+"\300r\271\4\201!\202\320\211\240V\21\214\371\314\77\5\220\77\25|\225\77"
+"\65H\253\3119\357}\317\204\313\324w\0\0\0\2\0\322\345\367\177J)}\373\20"
+"H\270\3\20\0\20\0\20\0\20\0\20\0\20\0\220Q\345\3\356\372\252/\361\237z"
+"\231\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\200\0\0\0"
+"\200\b\6\0\0\0\303>a\313\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\3\245ID"
+"ATx\332\355\334\301\211\42A\24\207\361.\361\2408)x4\0\5\5c\20\64\fcP4\5"
+"A\223P\214a\6M\3014\34\214\241\347\260\354iw\264P\373\275\177u}\17\346"
+"\264\273E\343\357c\355qz^(\212\242,\230l\247\301K@\0\f\1\60\4\300\20\0"
+"C\0\f\1\609M3\366/\226%\37\27\2448!\204\327\377\7\0\77\335yd\307[\0\367"
+"\0\f\1\60\4\360\314\315\305\243\257\303\341\20}\336n\267\213:3\204P\214"
+"F\243\342\373\373;\372\354\331l\26}\366r\271\214>\367|>\27\37\37\37Q\347"
+"\266\333\355\342\353\353+\372\354\365z\35}\315\203\301\340\265\373\204"
+"G_\377\233G\377f\277\337\227\261\263\335n\313\230\353(\212\242\34\16\207"
+"\345\365z\215>{:\235F\237\275X,\242\317=\235Ne\247\323\211:\267\325j\225"
+"\237\237\237\321g\257V\253\350k\356\367\373\17\317{p\306\373\3\0_\7\337"
+"<\0\360\265\360M\3\0_\17\337,\0\3605\361M\2\0\337\6\1772\231\224\317L\245"
+"\1\200\257\215_i\0\340\353\343W\26\0\370i\340W\26\0\370z\370\275^O+\0\360"
+"m\361\237\374\324\266\232\0\300\267\303\37\217\307\257|l\377\376\0\300"
+"\367\301\227\b\0|\33\374\333\355\366\17\276{\0\340\373\342\273\6\0\276"
+"\77\276[\0\340k\340\273\4\0\276\16\276y\0\340k\341\233\6\0\276\36\276i"
+"\0\340\353\341o6\33\255\0\300\367\307w\13\0|\r|\227\0\300\327\3017\17\0"
+"|-|\323\0\300\327\3037\13\0|M|\223\0\300\327\305\257<\0\360\265\361+\r"
+"\0|}\374\312\2\0\77\r\374\312\2\0_\17\377x<\372\77\22\6\276\37\276\324"
+"S\301\340\333\343K\5\0\276=\276L\0\340\373\340K\4\0\276\37\276{\0\340\373"
+"\342\273\6\0\276\77\276[\0\340k\340\273\4\0\276\16\276y\0\340k\341\233"
+"\6\0\276\36~\267\333\365}\42\b|_\374\313\345\242\25\0\370\376\370n\1\200"
+"\257\201\357\22\0\370:\370\346\1\200\257\205o\32\0\370z\370f\1\200\257"
+"\211o\22\0\370\272\370\225\7Pw|\226E\337\t\0\374\214\227E\203\257\371V"
+"%\361H\30\370~\367)R\1\200o\177\223*\23\0\370>\337\241H\4\220\352\13Y\207"
+"oO\335\3\250\373\367\371,\213\6_\372\232\335\2\0_\343\232]\2\0_\347\232"
+"\315\3\0_\353\232M\3\0_\357\232\315\2\0_\363\'\221f\1\200\237\316\217\241"
+"\335\236\n\6\77\343e\321\340g\274,:\325\27\222e\321o\b \207\307\270X\26"
+"\375\313\241\340g\274,\32\374\214\227E\203\237\361\262h\3603^\26\r~\306"
+"\313\242\301\317|Y4\370,\213\6\237e\321\340+\341K\5\0\276=\276L\0u\377"
+"-]\226E\203/{\315o\17\240\331l\202\237\363\262\350F\243\1~\316\313\242"
+"c\2\0_\347\232\337\36@\b\1\374\204\256\331\364&\20|\275k6\13\0|\275k\226"
+"\\\26\r~\306\313\242\301\317xY4\370\31/\213\256\323\373g\352\370\346\1"
+"\324}\3\'\313\242\357\34\n~\306\313\242\301\317xY4\370\31/\213\6_\33\277"
+"\322\0\300\327\307\257,\0\360\323\300wy$\f|\37\374\371|\256\27@\212/d\252"
+"\370\317|h\27\376Vpo\376\234\301\244:!\204_\377\254\301\313\223\367\20"
+"\0\1\60\4\360\302{\b\223\370\375A\314M \303[\0C\0\f\1\60\4\300\20\0C\0"
+"\f\1\60\265\230\37 \255\252/=\315\26\374\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0\200\0\0\0\200\b\6\0\0\0\303>a\313\0\0\0\4gAM"
+"A\0\0\261\217\13\374a\5\0\0\n\33IDATx\332\355\234\273n\33;\20\206\251\340"
+"\24\16\266N\2512\17`\3\66\260u\3125\224\307H\235R\306\246M\251\300y\t\33"
+"\256\223n\r\373\25\374\32\62\224.\235\205=\305\1\1\232\340e8\27.yL\2*\214"
+"(\213\361\374\237\274;\237\b\256\224R\263j\353\315\256w\255\5\r\200\266"
+"\32\0m5\0\332j\0\264\325\0h\253\1\320\326[Z\377\304\3360\317M\23\324\274"
+"V\253\25\376/@\13\277\376\25\313\260\335\2\3323@[\r\200\266\32\0\251\353"
+"\354\354L\255V\253\340\353\366\366\26|\275\237\77\177*\245\224\272\277"
+"\277W\357\337\277\17^\367\342\342B=\77\77\203\257\375\371\363g\245\224"
+"RWWW\321\232\257\256\256\300\327}||TJ)\365\374\374\254...\242\327\276\277"
+"\277\7_\373\333\267oJ)\245noo\243\327=;;\243=\'\370^\261uzz\352\375\277"
+"7773t]__\277\372y\232\246\371\344\344\304y\335\363\363\363y\277\337\203"
+"\257\275\331l^\375\274\335n\2755o\267[\360u\37\36\36^\375\274\337\357\347"
+"\363\363s\357\265\247i\2_{\34\307W\77\337\334\334x\257{zz\32\275^(c\22"
+"\0>\b(\341\207 \240\206\37\202\200\22~\f\2J\370!\b \341\213\3`C\300\21"
+"\276\13\2\256\360]\20p\204\357\203\200#|\27\4\320\360\263\0\240!\340\f"
+"\337\204\200;|\23\2\316\360m\b8\3037!H\t\77\33\0\251\341C\177aL\370\320"
+"\240R\303\207\202\245\301M\t\37\372\201H\r\77\13\0\251\341\353\353\307"
+" \300\204\257\224\232\273\256\213B\220\32\276\256\31\2Aj\370\372\3321\b"
+"\206a\2301K\24\0l\3701\b\260\341\353W\b\2l\370\20\b\260\341\307 \300\206"
+"/\n\0\65|\37\4\324\360C\20P\303\17A@\r\337\7\1%|1\0\270\302\267!\340\n"
+"\337\5\1W\370.\b\270\302\267!\240\206\237\355!\220\22>e\316\207\\\267\353"
+":\366\360M\b\270\303\327\257\324\360\77~\374X\26\0&\305\22\341\207\214"
+"!U\362\204\214!E\362\304\214!w\370\213\1\340\272\217q\206\17\321\306T\311"
+"\23\203\0;\347\307 H\r\277\357\373\262n\1\241\'Yn\267\37\202\200C\362\370"
+" \240J\36\37\4\334\341g\7\0\62\313r\273}\27\4\234\206\317\206\200\313\360"
+"\331\20\244\204\1778\34@\341g\5\0j\263\206a\20\321\273\32\2\t\275\253!"
+"\340\326\273\32\2\251\360\263\1p}}=\37\16\7\61\275\13]\251\341C\1\300\214"
+"z\320%\31~\26\0\364\250\327\367}\24\2\354\250\7i(f\324\203hc\354\234\17"
+"\1\27\23>D\33g\3\300\236\363C\20P\347\374\20\4\2249\77\6\1e\316\17A\200"
+"\r\37\372\335\2018\0>\311\343\202\200K\362\270 \340\220<>\b8$\217\13\2"
+"j\370)\20\210\0\20\63|&\4\334\206\317\204\200\323\360\331\20p\32>\23\2"
+"\256\360\241\20\210\0\0\261d}\337\213\351\335q\34E\364\256\206@B\357n6"
+"\33\366\360\315\254v\273]rV\242\333\302_^^\324\357\337\277\325\207\17\37"
+"\300\273w\217\307#\350\275\307\343Q}\377\376\35\274{\367x<\252\223\223"
+"\223\350{\377\376\375\253\216\307\243\372\364\351\23x\367nJ\315\277~\375"
+"\2\275\367\317\237\77\352\362\362R\275\274\274\200\336\377\343\307\17\365"
+"\365\353\327|\273\202w\273\35\273\333\207hc\212\344\201|w\200\35\365b\332"
+"\30;\352A\276;\360}\362\305\37\2}\20p\314\371>\b\250\222\'\4\1u\316\367"
+"A@\235\363C\20\304\302\27\37\3m\b8%\217\r\1\227\341sA\300%yl\b\270$\217"
+"\13\2H\370YD\220\206@\302\360i\b\270\365\256\t\1\267\341\323\20p\33>\23"
+"\2h\370\331TpIz7E\355\326\246w\367\373}R\370Y\0\300\204\17\321\306\330"
+"9\37\32Tj\370Pm\214\t\37\372\201H\r_\34\0\312\234\37\203\2002\347\307 "
+"\300\316\3711\b(s~\f\2L\370\242\0pH\36\37\4\34\222\307\7\1U\362\370 \340"
+"\220<>\b\260\341\213\1\300i\370l\b8\r\237\r\1\227\341\263!\3404|6\4\224"
+"\360\305\0\340\326\273\32\2\t\275\253!\340\326\273\32\2\t\275\253!H\t\377"
+"\356\356n\271)\200\352\3661\243\36d\2671v\316\207\3546\306\216z\320\232"
+"9\302_\24\0\223b\211\255\333\20m\214\235\363!\332\30;\352A\266\234s\205"
+"\277\30\0\256\373\230\304\326\355\30\4\2249\77\4\1u\316\17A\300\31\376"
+"\42\0\204\236d%\266n\373 \340\220<.\b\270$\217\13\2\356\360\263\3\0\231"
+"e%\266n\333\20p\32>\23\2n\303gB \21~V\0Rl\226\224\336\35\206AD\357N\323"
+"$\246w\267\333\255X\370\331\0\330l6\340\302R\303\207jc\314\250\7\5\0\23"
+">\24\334\324\360S\276G\311\2\2009\352\305 \300\316\371\20\b\260s~\f\2\354"
+"\250\7\371\356 5\374\224\223J\262\0\340\232\363}\20P%O\b\2\252\344\361"
+"A@\235\363C\20`\303O\205@\f\200\220\344\261!\3402|.\b\270\f\237\r\1\227"
+"\344qA@\r\77\5\2\21\0 \206OC\300\255wM\b\270\365\256\206\200\333\360\231"
+"\20p\205oC\260^\257\363\1 \245w\241\327\355\373\276\210\2239R\364n\327"
+"u\354\341\353\327z\275\236\237\236\236\362\1\260^\257E\364.D\33c\347|\210"
+"6\306\204\17=\251\4\63\352A\264q(|1\0\236\236\236\202\20P\346\374\30\4"
+"\2249\77\4\1e\316\217A@\231\363C\20\304\302\27}\b\364A\300!y|\20pH\36\27"
+"\4\34\222\307\7\1\207\344qA\0\t_|\f\264!\3404|6\4\234\206\317\204\200\323"
+"\360\331\20p\32>\23\2h\370YD\220\206@B\357j\b$\364\3560\f\42zWC \241w\267"
+"\333mR\370\331Tpj\370)>;5|\2506\226<\231#5|\350\7\42\65\374,\0`G=\b\4\230"
+"Q\17\242\215\261\243\36\344\257\13f\324\203hcL\370\342\0P\347\374PC)s~"
+"\250\241)\341\327Xs6\0\270$\217\253\241\34\222\307\325Pj\370\245\327\234"
+"\r\0n\303g6\224\323\360\231\r\345\n\277\324\232}\267\275Ew\5\247\350\335"
+"q\34E\364n\327u\354\341\227Vs\350!u1\0L\212%\364.T\301\246\206_[\315\261"
+"\te\21\0\\\3671\t\275\33k(&\374\232j\206\214\247\331\1\b=\311J\350]_C9"
+"\356\237\245\327\\\334a\321\261Y\326n(\227\341\263\33\312\331\310\32k^"
+"\4\0\250\315\322\r\345\326\273\272\241\22\215\254\261\346\254\0<<<\200"
+"\25,fl\202.\311F\266\303\242#c\23t\3736fl\2024\24\323\310\32k\206\236T"
+"\222\5\0{f\2165\22423\207\32J\331\306Uc\315)\20\210\1\340\23&\276\206r"
+"\b\23WC9\366\360\325X3\24\2\21\0b\266\314n(\247-3\33\312\271\201\263\306"
+"\232!\20,zX\364\341p\20Q\245\3438\212\354\336\255\261\346\256\353\346y"
+"\306\35\26-\276-<\265\221P\5\213i$\364\324\217\32k\16\355A\20\1\0\262}"
+"\33;6\305\32\212\35\233$\17\213^\262\346\342\16\213\346\20&\276\206Rg\346"
+"i\232\252\254\331\7Aq\207Es\3322\273\241\\\302\304Us\3126\256%jvAP\334"
+"a\321\22\252T7\224\333\226\2315s\205/]\263\tAq\207E\357v\273\352T\351n"
+"\267c\17_\272\346i\232\312;,\32\63\63C\25,\246\221\320\240R\303\257\255"
+"\346l\0`g\346XC)3s\254\241\251\341\327Vs6\0\250\302\304\327P\16a\342k("
+"6\374Zj\316\6\0\227-\263\33\312i\313\354\206R\303/\275\346l\0p\253R\335"
+"P\tU\252\33\312\25~\2515\27yXt\t\'s`F\275\332j.\362\260h\223b\251m\320"
+"\20\17\217\31\365j\252\271\310\303\242]\3671\251m\320\241\206R\346\374"
+"\32j.\362\260\350\320\223\254\3246hWC9\32Yc\315\213\2\0\231e\245\266A\233"
+"\r\345ld\2155/\2@\212\315\222R\245\3030\2104\262\306\232\263\2\60\216#"
+"\2700L#\241[\316S\33Yc\315)\337Id\1\300\34\233b\r\305\216M\220\206b\17"
+"a\254\261\346\24\bD\1p\315\314\276\206Rg\346PC\251\'p\326X3\24\2\61\0B"
+"\302\304n(\2270q5\224\353\370\325\32k\206@ \2\0\304\226\351\206r\3332\263"
+"\241\334g\357\326X\263\206\240\310\303\242\245Ti\337\367b\7/\327Xs\221"
+"\207Ec\32\t=,\32\63\66I\35\26\275t\315E\36\26M\231\231c\r\245\314\314R"
+"\207E/Us\221\207Es\b\23_C9\204\211\253f\337\375\263\224\232]\20\24yX4\247"
+"-\263\33\312e\313\354\232SN\340\\\252f\33\202\42\17\213\226P\245\272\241"
+"\334\252T\327\314\31\276t\315\32\202\42\17\213.\351\340e\250\202\225\b"
+"\277\244\232\263\1\200\35\233 \324c\306&\210\202\305\204_S\315\331\0\240"
+"\316\314\241\206Rf\346PC\261\341\327Rs6\0\270\204\211\253\241\34\302\304"
+"\325Pj\370\245\327\234\r\0n[f6\224\323\226\231\r\345\n\277\324\232\27}"
+"\b\344P\245www\42\252\264\357{\366\360K\253y\236\347\371\313\227/\345\1"
+"\240\177\21\tU\nU\260\251\215\254\261f_\3701\0V\232\2\327\372\357\377\266"
+"U\373Z\255V\336\177{\327\332\363\266W\3\240\1\320V\3\240\255\267\373|\20"
+"z\bl\253\375\5h\253\1\320V\3\240\255\6@[\r\200\266\32\0m5\0\332\372_\255"
+"\177\1~\232+\374\\4\303\247\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0U\0\0\0\277\b\2\0\0\0\0H\7\351\0\0\0\4gAMA\0\0\261\217\13\374"
+"a\5\0\0\1\1IDATx\332\355\335\301\t\300 \f@Q[\272\220W\241K\26\234\250\340"
+"Z\351\20\225\\\362\376\0\301\79\307#\42Z\345\212\373\317V;~~~~~~~~~~~~"
+"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\376\374\256"
+"]\203\3463{\357\311\257\37\367\370;b\327\375\253\365\256H\317\376\363\363"
+"\363\363\363\363\363\363\363\363\363\363\363\363\363\363\363\363\363\363"
+"\363\363\363\363\363\363\363\363\363\363\363\363\363\363\363\27\316\377"
+"\207\366\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237"
+"\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237"
+"\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237"
+"\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237"
+"\237\237\237\237\77\251\17\214\371\204K7\231\33\360\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0I\0\0\0\204\b\2\0\0\0Sg\221\341\0\0\0"
+"\4gAMA\0\0\261\217\13\374a\5\0\0\0|IDATx\332\355\331\321\t\200 \24@\321"
+"W\264P\216\220\243\7\376:R\315\20\211\321\343\234\1\304\353C\3740\2\0\0"
+"\0\0\0\0\0\0\0`\230v\266k\272\247\233\\\23\17@\2336m\332\264i\33\247\36"
+"uy\301\334\264i\323\246M\2336m\332\264i\323\246M\2336m\37\333\206\257X"
+"\366\362\357#\361\217\343\276i\323\246M[\306\267\273\367\36\0\0\0\0\0\0"
+"\0\0\0@b7&0\354\17\231\210\206\220\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\320\0\0\0\312\b\2\0\0\0[\213Y\336\0\0\0\4gAMA\0\0"
+"\261\217\13\374a\5\0\0\1\20IDATx\332\355\322\301\t\0 \f\4Acg\246\357X\233"
+"5\b\301\207\314\24p\217c\307\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\200V\3215\224+k\227C\377\254$\332"
+":\231\336\344%\301!8\4\7\202Cp 8\4\207\340@p\b\16\4\207\340@p\b\16\301"
+"\201\340\20\34\b\16\301\201\340\20\34\202\3\301!8\20\34\202Cp 8\4\7\202"
+"Cp 8\4\207\340@p\b\16\4\207\340@p\b\16\301\201\340\20\34\b\16\301\201\340"
+"\20\34\202\3\301!8\20\34\202Cp 8\4\7\202Cp 8\4\207\340@p\b\16\4\207\340"
+"@p\b\16\301\201\340\20\34\b\16\301!8\27 8\4\7\202Cp 8\4\207\340@p\b\16"
+"\4\207\340@p\b\16\301\201\340\20\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0\0\0\0\0\0\0p\355\0\33\336\3\264\322\243\336w\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\334\0\0\0\252\b\2\0\0\0IC\266\n\0\0"
+"\0\4gAMA\0\0\261\217\13\374a\5\0\0\1uIDATx\332\355\326\261\r\202@\24\200"
+"a4\24\26\66\267\201n\300\225$6\236\233\31\3270N\42\26&\2648\204\205\335"
+"\215\240\23P^D\374\276\1\36p\357O\216\252\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0\0\0\0\0\0\0\240\234E\321\351!\204\330D\247<K\303c\3109\227\230\\"
+"\27}\357\330\304kw\265\277Y:\244Cw\353JL^:\\\246F\224\210\22D\211(A\224"
+"\210\22J\253\277\365\340\327\363u\276\234-`\342\322>\265\273vn\237\364"
+"\36\321\337{+\237\276\323\3614\266\301\264O\256o\374S\202(A\224\210\22"
+"D\211(A\224\210\22D\211(A\224 JD\t\242D\224 JD\t\242\4Q\42J\20%\242\4Q"
+"\42J\20%\242\4Q\202(\21%\210\22Q\202(\21%\210\22D\211(A\224\210\22D\211"
+"(A\224\210\22D\t\242D\224 JD\t\242D\224 J\20%\242\4Q\42J\20%\242\4Q\42"
+"J\20%\210\22Q\202(\21%\210\22Q\202(\21%\210\22D\311\217\251\277\365\340"
+"\330\304\376\336[\300\304m7\333\77\212r\265^\265\273\326\326q}#J\20%\242"
+"\4Q\42J\20%T\213\242\323C\b\261\211Ny\226\206\307\220sv\16\0\0\0\0\0\0"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\205}\0E-Q\310F\3\77\265\0\0\0"
+"\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\312\0\0\0\320\b\2\0"
+"\0\0\311Ji\2\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\1cIDATx\332\355\322"
+"\301\t\0!\fEAcgk\341ZZ\366\246gA\330Ef*H\370\257\24\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0\200o\304O\356hO3\306\324G\227\327I\231\251\252\265J\304\35\217T"
+"[\42/\344\5\362B^\310\13\344\205\274\220\27\310\13y!/\220\27\362B^ /\344"
+"\205\274@^\310\13\344\205\274\220\27\310\13y!/\220\27\362B^ /\344\205\274"
+"@^\310\13y\201\274\220\27\310\13y!/\220\27\362B^ /\344\205\274@^\310\13"
+"y\201\274\220\27\362\2y!/\220\27\362B^ /\344\205\274@^\310\13y\201\274"
+"\220\27\362\2y!/\344\5\362B^ /\344\205\274@^\310\13y\201\274\220\27\362"
+"\2y!/\344\5\362B^\310\13\344\205\274@^\310\13y\201\274\220\27\362\2y!/"
+"\344\5\362B^\310\13\344\205\274\220\27\310\13y\201\274\220\27\362\2y!/"
+"\344\5\362B^\310\13\344\205\274\220\27\310\13y!/\220\27\362\2y!/\344\5"
+"\362B^\310\13\344\205\274\220\27\310\13y!/\220\27\362B^ /\344\5\362B^\310"
+"\13\344\205\274\220\27\310\13y!/\220\27\362B^ /\344\205\274@^\310\13\344"
+"\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\260\355\5t\34\7=\313\r\372\316\0\0\0\0I"
+"END\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\252\0\0\0\334\b\2\0\0\0"
+"oo\255\t\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\1\242IDATx\332\355\3301"
+"\16\2020\30\200Q4^\240\33\203\3\334@\216@\257E\\\b73q-7\351\342\340\246"
+"\3q\325\301DIy\357\2\245\377G!iU\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\360\23\273"
+"\77\256\35B\350N\235\6\2134\247\234\363\2066\34\373\370\340%\366\361\367"
+"\t\366\216\335\226\311/\77\362#\77\362#\77[pX\347c\335o\3674\247\362\306"
+"\3356m}\254\275vU\365\366\332\347z\271\26\271\345i\234\\\373\340\337\217"
+"\374\310\217\374\310\217\374\310\217\374\310\217\374\310\217\374\310\217"
+"\374\310\217\374\310\217\374\310\217\374\310\217\374\310\217\374\310\217"
+"\374\310\217\374\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77"
+"\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77"
+"\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77"
+"\362\313o\4\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362"
+"#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362"
+"#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362#\77\362"
+"\313\217\374\310\217\374\310\217\374\310O\311\16\353|\254\266i\247q*o\334"
+"\261\217\362\177V\37\353\341<8\235>\376\310\217\374\310\217\374\310\217"
+"\374|e\367\307\265C\b\335\251\323`\221\346\224s6\7\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0\200\322=\1\372JXr\351\360\210\265\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0\272\0\0\0\220\b\2\0\0\0\60[\346\366\0\0\0\4g"
+"AMA\0\0\261\217\13\374a\5\0\0\3gIDATx\332\355\335\261J\34]\30\307aM\245"
+"\20\13\255,l\306R\b\270{\5\321\353\222\24\301\353\332\265\bX\351X\bvZ\30"
+"\320J\213\rhgnau\3169\363\3169\317S\313~\37\231\77\357\376VL\334\330\0"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\2669\326\177\370\374\367\271\77\375"
+" \316~\235\205\236\313|6\277\272\276\362\234\42\270\273\275;\372q\264\346"
+"\27\177\33\345\177\361\364\344\324s\n\242\357\373\365\277x\234\271\234"
+"\234\234xNA,.\26\321\333\345m\365\266\365}\313\243\212\340\360\360\360"
+"\341\341!\356u\231\317\346\266\22\304\363\337\347\365\2672\316\\\204K\240"
+"w\242\345\342S_\77\302\\\204\313D\303e\234v\21.\23\r\227\21\256\213p\231"
+"n\270\2140\27\3412\335p\31a.\302e\272\3412\306\233\321\361\334sr]\326\322"
+"u\335\376\301\276\3474\321p)=\27\3412\351\323R|.\77\315e\302\341\262Q\370"
+"\373.O\217O\336\214\202\370\354w\\J_\27\3412\365p):\27\3412\365p);\27\341"
+"\22F\177\323\207\237\213\3532\375\353R(u\273\256\273\277\277\367\234\42"
+"x\377\367\276\275\263\35\372\2728-S\377\b]v.\302%\214\345r\31~.\256\313"
+"\364\303\245P\273\b\227:\302\245\320uqZ\352\b\227Rs\21.U\204\213\353\42"
+"\\\202\265\313\356\356\356\313\313\213\347TA\270\224\270.\336\211\252\t"
+"\227\42s\361NTK\270\224\230\213\237\345\256&\\\262\267\213p\251)\\\262"
+"_\27\341RS\270\344\237\213p\251(\\\262\317E\270\304q\335_\17\177\221\214"
+"\355\42\\B\331\334L\360\2543^\27\341\22\307\345\237\313$\257\223s.\302"
+"\245\242\217\320\331\347\42\\\352\233K\256v\21.\365\205K\306\353\42\\\352"
+"\13\227\234s\21.e\255V\253\334\357D\31\347\42\\\n\333\331\331)0\227,\355"
+"\42\\\252\f\227\\\327ev<\363\220\352\13\227\\s\21.\365}\2046\27s\211\321"
+".\37\37\37\236S}\341\222\345\2728-\265\206\213\271x\'2\27\262\315%}\273"
+"\b\227Z\303%\375uqZ\342\270\273\275K\376\232\346R\255$\77\234k.\302%L\273"
+"\b\2278\366\366\366^__\343^\27\247%T\270$\337\212\271\b\27s!O\270$n\27"
+"\341Rw\270\244\274.NK\365\341b.\302e\244\271\314f~\202\256\362pI\331.~"
+"\231x\365\341\222\354\272\370e\342-\204K\262\271\b\227\26\302%\331\\\374"
+"\255\242\26\302%Y\273\b\227\26\302%\315u\21.\215\204K\232\271\b\2278\372"
+"\276\317\372\372\t\346\42\\\2\205\313\305\42\353\353\'h\27\341\22\307\327"
+"~\231x\271\353\42\\\342\370\362/\23/7\27\341\322\310G\3504s\21.\355\204"
+"K\202v\21.\355\204\313\320\353\42\\\232\n\227\241s\21.M\205\313\320\271"
+"\b\227\246\302e\360\233\321\361\334sr]\326\322u\335\376\301\276\347\324"
+"N\270\f\232\213pi\355\264\f\233\213\177\227\273\261p\331\30\362}\227\247"
+"\307\'oFA\24\370\216\313\240\353\42\\\32\f\227\257\317E\2704\30.\3\346"
+"\42\\\302\350o\372\360sq]\232\274.\0\0\0\0\0\0\0\0\0\0\0\214\356\77P\377"
+"c\261\221\355\340\254\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0\272\0\0\0\220\b\2\0\0\0\60[\346\366\0\0\0\4gAMA\0\0\261\217\13"
+"\374a\5\0\0\3\377IDATx\332\355\335\261j\333@\30\300q\307t\310\320E[\206"
+".\362\30(D\32\3\205\330o`\374\4\215\267@\337 t(y.;\220\222L\261\n1\326"
+"\250\200\r\366\346\301\5eK\307B\300\207,\337}\367\235\364\377\255M\23\341"
+"\373\254\373;\221\345N\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0xv\342\353\7\337\375\272\343\321W\342\366\347\255\352qI\223\364y"
+"\366\314:i\220\317\363\363\257\347\25\277\270\353\345\20\7\375\1\353\244"
+"D\226e\325\277\330\317\270\364\373}\326I\211\311\375D{\273\224\273\362"
+"\364\363)K\245A\257\327+\212B\357\331%MRfE\211\315jS}V\374\214\13\341\242"
+"h\'\232N\16\372z\17\343B\270\4\32.~\332\205p\t4\\:\235\316\'\315\341\262"
+"Ym\212\327B\321s\361\300S\267S\305kQe\245G\303\321\315\217\33+\341\342"
+"a\\\f\341\362\364\373\351\362\333%\317x\273\306\337\307\26\247_\272]\f"
+"\341\242\352\271\333\30\206\347\347\241\341\342\301z\271~\337\203WL\326"
+"\305q\374\276_\34\307\1\37=\253k\177\'\272\36\357{\264\327\313u\215o(\272"
+"\31\231\303\205\325\265\377\200_\r\354n\375\335\240\217\36\204\13\b\27"
+"\302%\374p\21\335\214\b\227\320\303Ev\\\b\27YI\222\354\373\247\354O\246"
+"\375\350\t\27IQ\24\31\266\3764I\t\27\3747\32\216\366=\332\345\256\254\375"
+"m\2056#\302\245\31/\241\245\306\205p\221e\370\333\334t:%\\\320\216p\211"
+"\242\210\5\16\42\\\2046#\303\371#\237\347\333\355\226\5\16\42\\\244\306"
+"e\177\270\4\260\217\22.z\302e4\34\261\272\204K\325\243\'\\\2\n\27\211\315"
+"\310\260\23\21.a\205\213\310\270\364\t\27\302\245\262\305\313\202p!\\\b"
+"\227\326\205\213\363\315\210p\21f\270h\301\312\325\226\216\307\205pQ\323"
+"\271\204\13>2l\375\332\3776G\270\310\237Z\\_T\344p32\204\313f\265!\\$w"
+"\42[\27\25u\275\34=\327\270\360\200\37\20.\343\3531\253K\270T\r\27\355"
+"\357\211\42\\\2047#s\270\34z\27\32h\b\27\227\343B\270\20.\204\13\341B\270"
+"\20.^7\243\344\42!\\\232\27.\256\306\205p!\\\16\360\370\360H\270\20.\26"
+"\216\236p\t7\\\234lF\206q&\\\\0\\#g\375\375\347\242\343B\270\270 y\253"
+"b\321q\t\340.4!nFA\337\256 \340K\213\303\334\211$o\234c\371\354b8\265\274"
+"\375}\233e3\26X\354\1\317\347y\300\343\22\300\215\\\233\25...\316\225\33"
+"\27\256\345&\\\b\27\275\341\342\342jh\233g\27\302EU\270\270\270\32Zh\\"
+"\b\227\6\204\213\334\270\20.\204\13\341\322\256p\261yv!\\\32\37.B\343B"
+"\2704#\\l\216\213\341\275\377\204\13\341\362Q\271+\t\27\61a\337\252X\370"
+"\17]0|\264\325\342e\341\356\347\332\331\214\370\204\b=;\221\323\255\337"
+"\316\270\360a\342z^\26\205\35.|B\4\341B\270\2641\\\354lF\204\213\236p\311"
+"\262L\373\270\20.\212\302\345\236pA\345p\321\3766.\302EO\270\324\3760q"
+"\271\315\210p\321\23.\2[\377\261\343B\270\20.\204\13\341B\270\20.~7#\302"
+"E\372\371y\221\372\335\372\217\32\27C\270\270\376}Q;\231JQ$\\N\216\371"
+"\317\353\345\372\354\313\31\253\250A\257\327\23\270\31J\375\263K\34\307"
+"\314\212\22b7\316\251\77.\274\360\321C\354w\26G\214\313\25\343\242f\\\244"
+"~\343R\277]\b\227\266\205K\375\263\13\341\322\302p\251\77.\204K\13\303"
+"\345\210q!\\\324\220\274\343\37g\27\316.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+"\0\200\220\374\3\246\310\'3\200y\213X\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0\220\0\0\0\220\b\2\0\0\0h$u\357\0\0\0\4gAMA\0\0"
+"\261\217\13\374a\5\0\0\4\303IDATx\332\355\234Ak\33G\30\206\343F1\246(\306"
+"{\260IBeXC\2\201^\254\233\241=x\363\13\214n\201^\254_`K\375\1\61{*I\240"
+"F\376\3\t\272\24\234C\215\\($=\30\266\267\30b\330\243\r\261\211r\263\301"
+"\t\16%09\4ZSY\322j5;\363\315\356\363\234\205$\276o\277\321\303\253\231"
+"\271v\r\0\0\0\0\0\0\0\0\204\343y\36Ep\206\346z3\332\213\250\2033\263uq"
+"~\241\224\n\226\3\252\341\0\355gm\245\224R\252{\334\245\32\322\t\226\3"
+"u\211\346z\223\232\210&\332\213.7\354\342\374\2\373\220K}\265\256z\330"
+"\332\334\2422\242]\243\227\352b\225\372\210#\334\bU\37P|q\370\276\257\6"
+"R[\251Q%\271\256\321\13\212/W\345\373\21n\204\324J\4\335\343n\222\206\241"
+"\370\322]\243\227\366\2636\25\263\354\32\375T\276\37(\276M\376\215\r\223"
+"\203\342Kw\r\24_\n\361A\234\256a(\276\5\256\214\r\223\203\342\33e@l\230"
+"\20\24\337([\233[jlP|s*\2574\301\36\2\23\f\215\rQ|A\324VjJ+\365\325:U\315"
+"\3205\22\306\206#)>\366\221\25#\305\206(\276}\327\30S\345\7(\276\357\373"
+"TX3\235\235\216\312\f\24_3\251cC\24\337\16\251cC\24\337\2\315\365\2462"
+"\2\212/\42\66\314\231\342_\27\376\375\236\374\362d\351\307%3\237U\236."
+"\177\376\347\363\253\277^1\')\251.V\225YP|)\261ar:;\35*\237\2061\377\242"
+"D\361\235\217\r\223\23\37\304\264@Dl\210\342g\25\33*\333\210\335C Q\353"
+"\333\317\333w\357\335\265\373\35J\223%\24_Jl\230\34\24\1778\26]\3\305\227"
+"\33\33\242\370\216\305\206(\276\16\327\30\375d\3\212\217kHW|)Z\337~\336"
+"\256\314Wd>L(\276\240\330\20\305\317\211k\260\207@nl\210\342;\26\33\272"
+"u\22\320\262t\354\356\354\212u\215^\312\323\345\217\347\37\243\277\213"
+"\2726JVy\261\212os\302\242\275\250<]v\353!+M\226n~{s\367\217]\\\303%\n"
+"\247\370\331\235l@\361\213\25\33\242\3709q\r9\212oA::;\235\331\271Y\327"
+"\37\273\242(\276\23\261\241d\3057:a\236\347\275\374\363ei\262\224\217\207"
+"/\377\212\257\345B\24i\344\366>\77\267bC\24\337\316\311\6\63\344\360>\77"
+"\355\27\242\24V\361MH\207\347y\235\337;\316\305\206#)\376\215\3537\362"
+"\263\207\300\351\330\320\365\275\370\205\213\r\223\223\223\313>2\275\20"
+"\5\305\'6,\266\342\33\270\20\5\305\327\206\300\223\r9P\374\254\264\376"
+"\253\312\347&6\314\277\342\34726\314\255\342\233\277\20\5\305\'6,\314\36"
+"\202<\375E)P\3615K\207\347y\333\277m\34786LNe\276rr|\262\277\277Ol\350"
+"\222\342k\267\17\235\23\346\373\376\366\213mf\353\262\342\213>\tX\250\330"
+"0\271\342\13\335&\\\264\330\320\226\342O\350z\243\356q\367\326w\267X\6"
+"\257\344A\360@\327\302\370\215\256\330\220n\rv1A\322Q\330\330\320U\305"
+"\317\301\311\6\207\24\177\334\t\13\226\203\307O\37\63C\316(>\261\241a\305"
+"\37K:\352\253\365\245\37\226\230\236\204L\225\247Z\233-kZ\357y\336\273"
+"\267\357\246\312St\302\244\342\247\237\260\306Z\203n\245`\314!K)\35\304"
+"\206\251\231\235\233\35G\361S.\211\321^\304\257Wj>}\370tg\376\316\351\351"
+"\251\241%1X\16\350\326\230\366\321Xk\230\2330bC-,,,\34\35\35e>a\341FH\267"
+",\332\307h\23\346\373~\374&F\16-*\376h\23\26>\n\351\226\34\305\37\356\32"
+"\304K\332\31\365\312\356\21\226\304\370 \276\377\375}\306\302\256\342\'"
+"]\22\353\253u\272%A\361\23M\30\261\241\34\305O4a\270F\326$\337\2503|\302"
+"|\337\77<<\244\246B\24\177x\303\210\r\315\360\376\344\375\355\312\355\241"
+"/\33\222\326\327Vj\215\237\33T\323\0\t\357\363\233\30\354\32\361\233\230"
+" J\224\342\17\222\216\306Z\203n\31V\374\360Q\230r\302\210\re*~\337\tkm"
+"\266\350\226p\305\377\17bC\261\307m\257^\22\211\r\305*\376\25Z\337\\o>"
+"\374\351!U\223\251\370\23\275*Ol(Y\361\377/\35\304\206r\24\277\365kk\370"
+"\204U\27\253333\324K\2ggg\257\367_S\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\320\302"
+"\27XE\211L\r\327-l\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0"
+"\0\0\220\0\0\0\220\b\2\0\0\0h$u\357\0\0\0\4gAMA\0\0\261\217\13\374a\5\0"
+"\0\4\177IDATx\332\355\235\317J\33A\30\300\265\275\344\20\212\271\251\264"
+"\245\361&\364b\336\300\274\201\344&\364b\336 \354\13T\362\2\225\344\5\204"
+"<\201\344\t\204\364\246Ea\257B-\306\233\202\225x\333\36ZD\32wv\223\235"
+"\77\337\314\374~G\23\210\371vg\276\337~3\363ee\5\0\0\0\0\0\0\0\0\204\323"
+"h4\b\2027$\275dr:!\16\336\214\255\331\303,\313\262\366n\233hx\300\350x"
+"\224eY\226e\323\353)\321\220N{\267\235\275 \351%\304D4\223\323\311\313"
+"\13\66{\230a\37r\351\36t\2639\206GC\42#\3325\346i\355\264\210\2178\372"
+"\207\375,\7\24_\34\315f3S\322\331\353\20%\271\2561\17\212/W\345\363\350"
+"\37\366\211\225\b\246\327\3232\27\f\305\227\356\32\363\214\216GD\314\261"
+"k\344\251|\36(\276K\236\313\206\345A\361\245\273\6\212/\205\3642]\356\202"
+"\241\370\16x\265l\370R\b\325\352\210\342[EQ6\374K\367\240\253\2360Q|\253"
+"\f\217\206\212\213\221^\246e\312\37(\276=\225W\247\250\347\235\1\345\337"
+"\t\6Yh\334\250\307\42\212o\234\316^g\241\314T&\333\21U\203\256\261\204"
+"\373%\275D\255\370\330\207)\324eC\305\323\25\212\357\3065\324\223\233\302"
+" \n\25\277\331l\22a\315\214O\306U\364\1\305\267Ja\331\260p\210\240\370"
+"VQ\227\rK&!u\nD\361\265\241\326\274\362E&\24\337\222\312k\214\262\272d"
+"\214\342k@{\251B\313\354\n\257\323\332ii7\5\24\337 \206\\\\\375\2040>\31"
+"\23\371e(\\\242\\:\337\240\370F\\C]O\252x\360K\255\370\317+j\240\'\240"
+"\3257e\240\370:\2613e\231\233r\243\303\232\24\240\370\32\250^6\224\371"
+"Y\301by\355\n\305\257\204\375\325\341*\313l\250\274\33sC\361\227D}\262"
+"\301\334\362G\3413\37\212\277L\3767zL\b\305_\30\347K\370\352\177\0\305"
+"\27w\203\243\370\332\\\303Z\277(WI\3243\344H\32\212_*F\242V:L\27\235\3"
+"w\r\373\205\6\323\313:!\253\274\253\325z\24\77\27\261[\336\325\343>\322"
+"~~\205\331\302\341\215\\\270\371\':\305/\3641\347\235\31P|\317\302Q\370"
+"t\30\221\342\273-\33\242\370\13\243^\230\27\225\322Q|\317\244y\321#\325"
+"\241\341\343\346\262\250\25\277dC\24Q\24*~\260\375\374\374\335 \35\251"
+"\342\373{\312\270p&\17\260\237_a\366\26^;\210K\361\227k\210\42\215\210"
+"\232}\204q{\306\322\317O~\3310\2064\274\0\25\33\242\370%\272\336+~x[\221"
+"\2\357\347\347Q\331\20\305\327\326\20\305\257\357\345\253\342\207}&5@\305"
+"\17{\256\17M\361M4DA\361\3712f\25\337\233\2332\236}}!L\373a\224\r#\22\253"
+"\3306\256\370\335\262;\316\36N\36\67\373\b\251l\250Q\361\205\226\337b>"
+"\301\250\276S\205Zq\314\315\374\375\313\5\241\226\ru\331\226\254t@+;\317"
+"\202\300A\2172\25\3)\212\357\313\311\6\24\377\37\374\246\211O\212\317q"
+"\340E\25\337e\77\779\rQP|\r\42\33sK\13\211\375\374h\375\256\236{\304\365"
+"\363\223\326\20\305/\305\267\235\335i|V\375\236\266\252\370\374\6\250O"
+"\267\265\344\206(\322P\327\200l$\216\220N6\330Q3\307\315>(\33\372\244\370"
+"\224\r=S\374\360N6\204\254\370\224\r}R|\312\206\236)\276\217\rQ\374R|\235"
+"\276F\331\320\316,\245-\214\224\r\255\325\34\64|\206\357\rQ\244Q\275\237"
+"\337\252z\24\247\27\351\372\373\365\2747<\375~:\377q\316eX \277|j\252\343"
+"\271\371q\363\356\356\316\310\20\6\23\24>\316\256*\\#\275Hk\365\32\303"
+"\3022[[[WWWy\257\276\311{ap4\340j\271z\0\320\377\240\7FQ(\376j^\331p\373"
+"\36367\273+n\177\335n|\330x\365\245\267\363\177Jz\311\376\227}\242\346"
+"\220\372\273\372\343\303\343\344\373\244x\2045\32\215\233\2377d/\347\344"
+")\376\377\322\321\377\332\347jI\240V\257\r\276\r\212GXk\247\265\266\266"
+"F\274$p\177\177\177v~F\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\13\177\0\17\2\232"
+"\252^Y:&\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0"
+"\261\b\6\0\0\0\214G@\225\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\3\24IDA"
+"Tx\332\355\3351j\343@\24\306\361\347\255\\\244Q\227\300n1G\210\273\300"
+"6\361\r\202o`\235 \266.\260F\'X\310\5\f:A\360\t\2\276@\300\245\33/(}\n"
+"\227o\253\205\305X\216%\315\214f\244\377\7*\23\302\17\371\203\367\374 "
+"#\21Q!W\345\33\4`\201\5\26X`\201\5\1X`\201\5\26X`A\0\26X`\201\5\26X\20"
+"\200\5\26X`\201\5\26\4`\201\5\26X`\201\5\1X`\201\5\26X`A\0\26X`\201\5\26"
+"X\20\200\5\26X`\201\5\26\4`\201\5\26X`\r9#\260x\263\300\2\13,K\311\26Y"
+"\220\177\227\206\366L\37\247\252\252\232\316\323P\376\246\177N\341a\225"
+"\207RUU\313C\251I\222\200U\365\344\253\\\377O\276\312\301:\367\30c\364"
+"\370y\324\323\30c\300:}6\257\33=\227\355\333\26\254s\245^\225\351\343\24"
+"\254\323R\257Jy(\301\22\21\315\26\231^\223\16\313>\f\254$I\316\226\372"
+"\271\34\77\217]\225}\30X\305\272\320:)\326\3050\261\276*\365\200\312\276"
+"{\254\335\373\256\21\326\356}7,\254kK\275*\236\347\306\356\260\352\224"
+"\372\245\262\36787v\207U\267\324\253\362\362\373\245\337XMK\275*\223\373"
+"I\177\261\232\226zU<\315\215\376\261\322y\252.2{\232\365\13\313F\251_\232"
+"\33\35\227\275\210\210z\333\301\347\277r\31\337\214\235\374\356\333\357"
+"\267\262|^\366c\7\77\271\237\250\3538\236\33\375}\f\267o[\365\221\315\353"
+"&n,W\245\356ynt\217\345\262\324=/\t\335\27\274\313R\277T\366.\277\240\215"
+"\266\324=\316\215n\77\206\276J\335\323\222\320\35\226\357R\367P\366n\260"
+"\272(u\17s\243\233\202_>/\275\227zU\36~>H:O\303,xc\214\206\26Keo\377\315"
+"*\326Ep\367T\343\233\261\325\271\321\312[5{\232i\310i97\332+\370$I\276"
+"\374\372=\362\262\267\207uzS\25jZ,\tEDt$-\377e\2371F\366\373}\24\7\264"
+"\37\177>\344\356\307]\223\37\35Y)\370\20K\375\322\334\230\257\362n\n>\364"
+"R\267\270$l\327Y1\224\272\305%a;\254XJ\335\322\334\330\34\253\352P6\246"
+"\324<.i\216Uu(\33[\262E\346\26\313\366\327\357\221\314\215\315\260b-\365"
+"\226\307%\365\261b/\365\26\307%\365\260\372P\352-\346\306zX})\365\206\227"
+"\204\327c\365\251\324\33\36\227\\\277\374\213i\376sy\\\322z\3530\220\330"
+"\331:\f)`\201\5\26X`\201E\300\2\13,\260\300\2\213\200U#\254hx\263\300\2"
+"\13,\260\bX`\201\5\26X`\21\260\300\2\13,\260\300\42`\201\5\26X`\201E\300"
+"\2\13,\260\300\2\213\200\5\26X`\201\5\26\1\13,\260\300\2\13,\2\26X`\201"
+"\5\26X\4,\260\300\2\13\254\236\346/\220\2709\2\34\332\224P\0\0\0\0IEND"
+"\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0\261\b\6\0\0\0\214G"
+"@\225\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\3RIDATx\332\355\3351N\343@"
+"\30\206\341\311V\24\333\270\243\330fZ\244\2256\271\1\271\1\312\r\310\t"
+"6\370\4(\'@\312\5\42\371\4(\'@\312\1`eJ\220\202dz\212\224\263\25\22\262"
+"l\362\317x<3q\336Or\7!yb\177\361\77\261\305H)e\24\21\345\7\4`\201\5\26"
+"X`\201\5\1X`\201\5\26X`A\0\26X`\201\5\26X\20\200\5\26X`\201\5\26\4`\201"
+"\5\26X`\201\5\1X`\201\5\26X`A\0\26X`\201\5\26X\20\200\5\26X`\201\5\26\4"
+"`\201\5\26X`\235rF`\261g\201\5\26X\236\222/\362$\237\227Im\233^N\2151\306"
+"\314\257\347\251<\247O\247\364\260\252]e\2141\246\332U&\3132\260\332\266"
+"\345\355\322|\315\362v\tV\323\246\2656\373\217\275\251Gk\rV}\333\334oL"
+"S\266\17[\260\232J\275-\323\313)X\365RoK\265\253\300RJ\231|\221\33I\42"
+"\226}\32XY\2265\226zS\366\37\373Xe\237\6V\261.\214M\212uq\232X\207J=\241"
+"\262\217\217U>\225NX\345SyZX\322RoK\340\2711\36\226M\251\177W\366\1\347"
+"\306xX\266\245\336\226\325\335j\330X\256\245\336\226\311x2\\,\327RoK\240"
+"\2711<\326\374zn\265\307H{mv5\33\26\226M\251\177\2165\365\265\255\357\346"
+"\306\236\313>,\326\352n\345\364\302\17\r\330\201\346\306pX\223\361D|\370"
+"\325\17)\351\7B\317sc8\254\355\303\266SYK\177\177s\2779n,\233Ro\3333\264"
+"\326\261\347\306\376\261\\J]\372EF\340E\302\376\261\\K\275+|\276\310\217"
+"\13\313\246\324\245\207\216\364\220\356an\354\27\253\257R\226>\256\347"
+"E\302\376\260l\366\0\333\217{\233\331\322c\331\367\203\345\263\324\273"
+"\256Zx\234\33\373\301\n\361\251e\363\206xZ$\364\217\25\362|H\272\322\352"
+"\251\354\375c\205>\323\1687\372\305\232]\315\202\317p6e\337\361o\372\303"
+"\312\262,\332\352@\333\305$\236\313\336\37V\314Q\304\246\';,\22\372\301"
+"J`\310\r\361f\371\301J`\371$D\rt\307\212Q\3521\246\206\316X1K=\302^\336"
+"\r+\362\372R\260\225\216\257X#\345\360\77Y\265\326\252|,\325\331\317\263"
+"\203\77\373\376\366\256^^_\202]\324\77\3763\26=\257\347\177\317\352\342"
+"\367\205\364aG\316{\226\364\334&\365X,\22\272\35\206\276\277~\217\31\213"
+"\271\321\rKZ\352\307\22\341\305%\366X\322R\77\266\b..\261\303j\273\373"
+"a\b\21\314\215vXC)u\307EB9\326\220J\335\361\3538\245\2242\242\2333\213"
+"u1\370\273T\317\177\235\253\233\2777\262\223-r\330\211{\244\207p\2174X"
+"`\201E\300\2\13,\260\300\2\213\200\5\26X)\206%\32\366,\260\300\2\13,\2"
+"\26X`\201\5\26X\4,\260\300\2\13,\260\bX`\201\5\26X`\21\260\300\2\13,\260"
+"\300\42`\201\5\26X`\201E\300\2\13,\260\300\2\213\200\5\26X`\201\5\26\1"
+"\13,\260\300\2k\240\371\17\245\356\330*\307J1J\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\220\0\0\0\220\b\6\0\0\0\347F\342\270\0\0"
+"\0\4gAMA\0\0\261\217\13\374a\5\0\0\4\343IDATx\332\355\234\77H\224q\30\307"
+"\37\253\301\301\3456\225\n\34\215\32rSj\360\3324\210\322\251#\7\317)\336"
+"\24J\247S\f\365\2468\204B\'m(t\n\33*\267\273\6\343\2324\26087\5\215;7\207"
+"\202\42\220\267\311\350/y\277\367\337\357\317\347\13\357\350\213\274~\356"
+"y>\217\367{\336\6\21\361\205\20\305\234\340\21\20\0\42\0D\0\210\0\20!\t"
+"\1\324q\261C\226\236,I*\225\342\251:\26\77\214+\335\235\366}\337\367\277"
+"|\372\342\217\336\35\365\303\272/\227\366W\270\0\35\245\266W\363\323\335"
+"i\36\260\345Wd\16\324|\272Y\212\245\242\224\327\312\322\326\326F\235\307"
+"\201\324\322y\251S\266\267\267e\356\341\34~\204\3\35\277\205\375-\370\21"
+"\16\24\b \374\b\7\302\217\210>\377H<\362\243\231\251\31\374\b\7:~\13\373"
+"\227\37e\7\263\264\5Z\230Z\32\233\32eaqA*\357+\222\356N\363\261\246\205"
+"\251\245\375|\273\24KEy\365\342\25~\4@\352\351\271\332\203\37\341@\341"
+"\4\77\302\201\360#Z\30~D\f\7\350g\77\252lV\360#\34(xj{5\374\b\7RO\363\351"
+"fYX\\\220\362Z\31\77\242\205\251\247\363R\247\24KEYz\262\204\37\1\220z"
+"n\336\272\211\37\341@\370\21\16\204\37\321\302l\364#\332\32\0\5\362\243"
+"\352nUf\246f\370\313\3\220Z\32\233\32%7\221\223\332^M\372\256\367A\0\0"
+"\251\373\321\263\225gR^+K\307\305\16H\0 u\77Z\337X\307\217\0\b\77\2 \374"
+"\b\200\360#\0\42\277\371\21k\331\0\24(\267\357\334\226\352nUF\357\216\362"
+"0\0H\335\217\36\24\36Hm\257\306\327\42\0\24\314\217X\313\6\240P\374\210"
+"\327\326\0\20~\4@\370\21\0\341G\0D\376\364#\27\216\325\2P\204\311M\344"
+"\244\272[\225\354`\26\200\210\272\37\331\274\226\r@1\305\326\265l\0\212"
+"9\266\275\266\6\200\360#\0\302\217\0\b\77\62\324\217\0H3\77\62m-\33\200"
+"4lk\271\211\234T6+F\370\21\0i\32S\326\262\1H\363\350\376\332\32\0\62$\272"
+"\276\266\6\200\360#\0\302\217\0\210\4\364\243\244\332\32\0Y\342GI\255e"
+"\3\220e~\24\367Z6\0Y\350Gq\256e\3\220\305~\24\307kk\0\b\77\2 \222\234\37"
+"\1\20~\4@D\315\217\302X\313\6 \207\23\306Z6\0\341G\201\326\262\1\210\374"
+"\360\243\243\265\354z\332\32\0\221\37\371\372\371\253\254<_\221\203\203"
+"\203c\377\314)\36\33\21\21Y~\272,\336\210W\27<T \42o\337\274\225+\351+"
+"\222\31\310\324\r\17\25\310\361v\345\215x\262\370x\2211\236\324\227\374"
+"t^Z\317\266\6\206\207\n\344`\273\312\fddgg\'\264{\2\220\3\331\377\270/"
+"\231\201\214\224^\227B\2777-\314r\317\311O\347\245\345LK$\360P\201,\37"
+"\313\307\'\307CmW\0\344@\266>l\2117\354EVq\0\210\261\34\7\42\277f\376\321"
+"|hc9\25\210\261\234\nD\376\77\226\367\337\350\227\256\313]\211\302C\5\62"
+"\320s\n\263\5)\314\26\224\276\267\2 \207\263\372rU\274a/\361\212\3@\214"
+"\3458\220+\355j\354\336\230\234\273pN[x\250@\32\217\345\343\223\343\332"
+"x\16\0\31\64\226{\303\236l\274\3330\346w\246\205i2\226\17e\207\244\353"
+"r\227Q\360P\2014H~:\257\325X\16@\214\345\0d{\273\212\352p\27\16\344\300"
+"X\36\345\341.*\220\245Q\335\271\242\2\61\226\7\332\271\242\29\334\256\222"
+"8\334E\5\262d,O\352p\27\25\310\360v\225\364\341.\0b,\247\205\271\3449Q"
+"\357\\Q\201,\36\313\343\330\271\2 \313\242\373\341.\0b,\307\201lK\222;"
+"WT \306r*\220\213c\271.;WT \303<G\267\235+\0\62$\266\34\356\2 \306r\34"
+"\310\224ve\302\316\25\25H\323\261\334\224\235+\0\322l,7m\347\212\26\246"
+"\311Xn\352\316\25\25(\341\230\276s\5@\214\345\0dZ\273r\371p\27\16\24p,"
+"w\375p\27\25H!6\357\\Q\201\42\36\313m\337\271\242\2E\324\2568\334E\5R\36"
+"\3139\334E\5RjW\34\356\2 \306rZX|\236\303\316\25\25Hy,g\347\n\200\352\16"
+"\207\273\0\210\261\34\7\2127\354\\Q\201\30\313\251@\361\216\345\354\\Q"
+"\201\224<\207\235+\0R\n\207\273\0\210\261\234\304\347@\354\\\271\225\223"
+"\42r\77\214\33\245R)9\374v(\275\327z\1\307\2414\210\210\317c F\214\361"
+"\4\200\b\1 \2@D\223|\7\2~\342o\264\30\325\205\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\220\0\0\0\220\b\6\0\0\0\347F\342\270\0\0"
+"\0\4gAMA\0\0\261\217\13\374a\5\0\0\5\276IDATx\332\355\235\77h\33g\30\306"
+"\337\264\35<d\360mQ\250\13\67&\264\203\265\331$\203\345-)\224\324\331\f"
+"\31\342U\244\220\330[\240\305>\215&\340\242Lq\7\27eL\7G\331\254\f\n\227"
+"\275.\312&\25l\2206\17\66H\24\302u\251\212\206\246Xw\257\356\276\77\277"
+"\7\276\315:\33\335\317\367=\357}\357\363}WD$\21\204R\3523\276\2\4@\b\200"
+"\20\0!\0B\250 \200\312\213ei\34\64$\b\2\276U\317\224h\214\312J%I\222$\31"
+"\236\17\223\315\307\233\211\326u\31\306\17]\200\306\352\237\364\223\312"
+"J\205/\330\36113\17t\355\313kr\324:\222\270\35K\30\206<\347\361@\351\264"
+"tkI\272\335\256\324\367\352\370#<\320\345\247\260\377\22\376\b\17\224\t"
+" \374\21\36\b\177\204\314y\2218\366G\321v\204\77\302\3]~\n\373\224\77\332"
+"x\270\301\264\300\24\226NsW\347\344\305\376\13\351\34w\244\262R\341\337"
+"\232),\235n|}C\216ZG\322<l\342\217\0(\275\356|{\7\177\204\7\322\21\376"
+"\b\17\204\77b\n\313\256\301\351@\6\247\3\374\21\0\245S\357\317\236\224"
+"\26JR\333\251\311\350b\224\311\37u~\357\340\217|\363@q;\376\367\347\203"
+" H\32\7\215\314\376\250\177\322\307\37\371\262\26\66\t\320\344\347\342"
+"v\234\31\244\270\35\263\276\346#@\343\261\361p#\351\237\3643\203\3248h"
+"$a\30rc}\3h<\255E\333Q2<\37f.\373\243\355(\t\202\200\33\354\23@\343\21"
+"\206!\376\b\200\322\3\204\77\2 \25\200f\341\217\230\326<\4h\322\37i,\213"
+"D\333\21\67\3367\200&\375Q\363\260\251\342\217\326\356\255\1\200o\0M\376"
+"\276\316qG\305\37\225\27\313\200\340\33@\223\376(k\331\217\77\362\30 \374"
+"\21\0\251\r\374\21\0\341\217\0\250x\200\306c\363\361\246\212\77\252\357"
+"\325\361G>\2\64\366G\365\275\272\212\77\42\226\355!@\223\376HcY\204X\266"
+"\205=\321*\335\220\275\236,\337^\226\325\312j\246\266Zb\331\5\266\264\232"
+"\240\326\333\226\224\26J\262\365d+S[-\333\326\24\334\322j\302\300\37\341"
+"\201\360Gx \374\21\36\3101\177\2245v\344\333\2665\336Oa\237\362G\32m\265"
+"\36\304\262\1\350\377Fy\261\254\342\217:\307\35W\375\21\0]f\254\335[Si"
+"\253m\36\66]\213\35\1\3204C#v\224$\211K\261#\0\302\37\1\20\376\b\200\354"
+"\35Z\261#K\375\21\0i\266\325z\30\313\6 \355e\21\317b\331\0\64\253\266Z"
+"Ob\331\0d\203\77\62x\333\32\0\302\37\1\2205\376H+vd\220\77\2\240\42\374"
+"\221V\354\310\0\177\4@E\372#\7b\331\0d\202\77\2628\226\r@\256\371\243\234"
+"c\331\0\344\252\77\312)\226\r@\370#\0\302\37\25\347\217\0\310\6\177\244"
+"\25;\232\201\77\2 \233\374\221\306\262\210\262\77\2 \333\206a\333\326\0"
+"\220\255\376\310\220X6\0\341\217\322\307\262I\246Z\256Y\304\262\247I\323"
+"\2\220#\n\303P\346\347\3473]ct1\222W\277\275\222\263\2633\242\315\274\271"
+"\316\355\205#\0\371\234MSh\t\1 \37\323\261\212\241F\0\362\355E\242f[\354"
+"\27\330O;\fr\343\240!K\267\2262]\347\375\273\367\262\376`]z\275\236\332"
+"\337F\25f\260\202 \220h;\222n\267\233\t\236\301\351@V+\253\262|{Y\25\36"
+"\2520\307\3339r\352R\4 \323|\216\306\233\345\34sd\0\344RY^\300N\37\0\344"
+"\302\352z\201{\r\1\220\355ey\301\247\t\1P\21+\350\32\t\214\270\35\233\220"
+"\227\7 \333z\234\r;Q\21\200\362*\313\263NWl\256\340!@Z\373(\32\274\375"
+"\35\0Q\226\3\220\223e\271%GH\1\220i\315]\226\35\362\13@&\225\345\26\36"
+"\63\16@Y\313\362\254\323\225E;\262\2\220\326\320:|\305\20133\0\210\262"
+"\34\200\254I\202:x\256*\0\345\325\334\345\350\311\316\0dp\346\n\200l\4"
+"H\353\274\13\13\216)\0 \3073W\0d\13@\224\345\344\302\234\313\\\331 osa"
+"A\20H}\257n|\346\312\6y7\205Y\224\271\302\3\231\4\220\205\231+\0\62\1 "
+"\217\232\273\0\210\262\34\200\214\0\310\221\314\25e<e9e\2745e\271\326V"
+"(\367\277\277\357uY\356]\31\257Y\2263]y\344\201h\356\2 \312r\0\312\27 "
+"\3172W\0\244\5\20e9\0\245\2\310\363\314\25\0\245\5Hs+\24\336\42{\6\20\315"
+"]\0\224\n \312r\0J\5\20\231+\0J\r\20e9\0\245\2\210\314\25\0\245\2H\263"
+",g\272\362\f\240\341\371\220\346.\372\201\322k\356\352\\\246\317\327vj"
+"\262\373lw\3523=\321\354dEC\31\315]\0\224\272\271k\375\301\272\264\336"
+"\266\270St$^^\243\213\221\324vjRZ(\1\17O\240\351\364\362\327\227\362\364"
+"\307\247LW\0\64\235>\374\361A\252\217\252<q\0h\372\351\252\372CU\366\177"
+"\331\347n\340\201\246\323\363\237\237\313\365\257\256\3\17O \312r\236@"
+"9\225\345d\256x\2\245\3629\273\317vy\213\f@\323\353\315\3537R}T\345\211"
+"\3@\224\345(\7\17\64\272\30\311\326\223-\271\371\315M\340\361@\237\213"
+"\310O\32\27\n\202@>\376\365Q\356~w\27p<\322\25\371\247)\b!\343\313x\4@"
+"\b\1\20\2 d\210\376\6\77\24364\234RJ\245\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0\261\b\2\0\0\0\3%\327\302\0\0\0\4gAMA\0"
+"\0\261\217\13\374a\5\0\0\1\246IDATx\332\355\332\315m\2A\f\206aZ\330\22"
+"(!t\20:\210\350 t\20Q\1\332\n\42\321\0\322V\20Q\1\3226\20\211\6\3660\5"
+"p\330\243s\30)\207D\371e<c[\357\323\301\'\274\214=\343\305\2\0\0\0\0\0"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\374\353\367}\327u\221\23\212H\232\322\366"
+"q\339a6\236\307\325\335*r\302\354\360|\210V\264\362\311|\235wO\273\310"
+"\t\263\313\353e}\277\216\2340;\275\234\226\313e\344\204\271h\373}\379a"
+"\226\246\264y\330DN\370~\242\370+Z\371;gm\220\374\313|\235\335\264Ar\203"
+"\361<:8Q\344f\303q0]\264R\202\3516H\312IS\262X\264R\232\2716H\24\3446\310"
+"\312\307)j\254\264A\242\254\375`-U\264\34\254\245\226fm\220\324\325`\260"
+"\226\26\206\343P\357D\221F\352\r\326\322T\2156H\f\320\35\254\305\f\255"
+"6H,Qy_\20{\n\17b\326~\303\362\177<F\262)\36\36\26\342\351\216\224\234\207"
+"\212eY\351j\247U_Zo\230b\266pX\226M\22\266\2745\16X\226\325\22Zy\275\t"
+"x\365\244\235\320\334^N\300\262TJhw\325(`Y\26L\350\343\255\333\334\265"
+"\212\205\204\316vN\\>\230)%\364\272M\34v\25\352\227\t\35\257\263\375\230"
+"\320\326[|\361\204\21\326J\277Jht\'\246HB\367\233\262\337\'\fU\226\37\4"
+",K\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\300\2217Rz1\375\321\236\371P\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0\261\b\2\0\0"
+"\0\3%\327\302\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\2&IDATx\332\355\332"
+"\301\215\3020\20\205\341\264\220\22R\2\351\0:@t\0\35 *\210R\301J4\200\224"
+"\n\20\25 \245\201\225h\200C\n\340\220\243\367`)\207]m\300c\33<\326\377"
+"\2359\360\304K\306\306.\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\320\257"
+"m\332\262,sNh\214\31\356\303n\273\3139\241\325_\373zQ\347\234\320:~\35"
+"s+\255\371c|\214\207\375!\347\204\326\355\373\266Z\256rNh]\316\227\252"
+"\252rNhK\3336m\316\t\255\341>l\326\233\234\23N\23E_i\215;e\313 #2>F5\313"
+" \343\241\277\366\n&\212\361\326\235\272\244KkBHz\31\64\363\245]s\16\367"
+"!\305\322\316<c\365\242\356\257\275k\316\344\226A3\t\355\7v\333\335p\37"
+"\\K\233\320Dy\232\260(\212\262,\333\246\25\2246\211e\320+\t\255\252\252"
+".\347\213`\242|xc\375zBk\265\\\271\226\366\303\33k\327\204\326a\177p}\331"
+"~l\31$Kh\37\316\356\324\271\376\230\37\330X\213\23N\245\25L\224\356\324"
+"\275o\242x&\234&\212\240\264o\332X\7I\3503Q\242\2276T\302i\242\bJ\33wc"
+"\35\66\241\317D\211\265\f\212\221\320j\233\326\365\341\214r\276\20/aQ\24"
+"\365\242\26\354\305\2o\304\42%L\350\305\23#\341f\275\221mG\262}\227\306"
+"\335R2\17c\215\207\367\375\265\343\231P\266i|\353\337s>\t\5\23O\315\336"
+"\42\351Zz&TPK\237\204:j)K(\253e\22\2477O\23\312j\231\320\235\216\371\204"
+"\202Z&w/gf\265\241\265\226/&T\\\313\340\tS\277.\346yl\250\340\254[\34O"
+"\315}\5Y-5\3359Qy`\26)\241\326\333\304\331^\205z1\241\342\353lO\23\246"
+"u\26\37<a\16\327J\377K\230\350\235\230 \t\325\337\224\235O\230U-\177\311"
+"\260\226\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\200\42\77,\356f\204\n\235"
+"\1\357\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\224\0\0"
+"\0\210\b\2\0\0\0\216JUc\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\2mIDATx\332"
+"\355\334AJ\33a\30\200aK\273\250\313\34!\336\240\336\240\336\240x\3s\3\311"
+"\t\212\'\20\262T!\220ef\26\232,g\204\26\335\331E\213\351.\13\13q\227E\13"
+"\272\263\213\3200X\n\255\316L\346K\237\347\0\202\363\222\237\357\3735\263"
+"\261\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@s\274\254\364\247\317nf[\355\255\315"
+"\327\233\223\257\23\317:\230\207_\356\276\337\215NG\235\275N\273\335\366"
+"X\202\305+\272\376|}\360\376`\373\315\266\347\23/\336\322\354f6\350\17"
+"v\337\355\266Z-\317*X\274\242\321\351\250\273\337u\250\206\214W\3748\366"
+"\16{;ow<\275x\361\2123\316\240\77\350\354u\34\252\361\342=\232q\272\373"
+"]3N\310x\277\3178\236m\274x\217f\34\213c\324x\305C\265w\330s\250\206\214"
+"g\306Y\207xE\27\37.\326~q|Qu\274\225\377\206\267\337n\2234\311\362l\230"
+"\16\305\13\26o\351\376\307}v\236-BN\247S\361\42\305+\232|\231$i\222\244"
+"\311\325\247+\361\202\305+\36\252Y\236%i\222\235g\363\371\\\274H\361\212"
+"\306g\343<\317\207\3510\312\241*\336\37g\234a:\314\362L\274\250\2263N\222"
+"&\r<T\305\373\207\31\347\370\3448\313\263\346\3148\342=}\306Y\371\342("
+"^\340\31G\274\322\16\325<\317\217N\216\352<T\305+\177\306Yl\2155\3148\342"
+"U\350\362\343\345\3426\256\242\217\243x\365-\216\245_\216\213\267\232\305"
+"\261\224\313q\361V9\3434\372r\374\201\2770\350\17\236\366\247\377W>\1q"
+"7}\361\352>*K\274c\23\257\276!\245\364\315O\274j\327\203J\377\256$^%\213"
+"y=\267\235\342\225s0.N\305\232\377\227B\274gM\37\365_F\213\367,\343\263"
+"qC\376\177P\274\372\3262\361\2\257e\342\5^\313\304\13\274\226\211\27x-"
+"\13\246\231\267\370\213\257\361y\377K\244x\276@\33/\236\257\256\7\213\347"
+"\245\21\361\342y]K\260x\313\227A\232>\302\304\363\212\262x\361\376\207"
+"w<\254U<kY\274x\326\262x\361\254e\301\342Y\313\342\305\263\226\5\213g-"
+"\213\27\317Z\26\217\265\f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0h\276\237Q\6\312"
+"\311<\315\220X\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\244\0\0\0\210\b\2\0\0\0\346\271\327[\0\0\0\4gAMA\0\0\261\217\13\374a\5"
+"\0\0\2\221IDATx\332\355\334\315\211\42Q\24\6P\231I`\\\272\254\20\64\203"
+"6\3\251\201\336k\6b\4\215\21\b\225@\203\21HE\320`\2\r&\320\213\352\235"
+"B/\\\316,\4)zV\263x\77\276:\'\201\206\372x\267\357\255\373\312\321\b\0"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\200\320\252\252\362\20\322\372\31\355/\235"
+"\317\347\347\337\317\223\311\344r\271t\237\235G_\262\77=\327\257\353\376"
+"u_/\352\361x\354\311\24\36v\337\361\355\270Yo\24\371A\204}\327}t\315\256"
+"\251\27\265gU~\330\375\42\337\36\332\325r\345\270\227\37v\337\351\375\324"
+"\354\232\331t\346\1\226\37\366\267\236n\265\\\351\351\312\17\373\337\236"
+"\316q\37D\330z\272!\206\335\247\247\33P\330z\272\307\b\373\372u\r\221\272"
+"\236.\307\260G\243\321l:\333\276lO\357\247@\307]O\227Q\330w\343\361x\265"
+"\\\265\2076\320q\327\323e\24v\337\374i\336\354\232p\307]O\227Q\330wUUm"
+"\326\233\366\320\6\355\351\346Os1\245\17\273\257^\324\315\256\351>:=]\371"
+"a\337\315\246\263\315zs|;\206;\356z\272\\\302\356\367t\365\242\336\277"
+"\356\303\365t\267\253\26BL\37\366\267\343\36t\204k\17\255\253\26\271\204"
+"\35m\204\323\323e\24v\264\21NO\227W\3301G8=].aG\33\341\206\336\323\345"
+"\26v\264\21n\210=]\266a\307\34\341\206\322\323\345\37v\264\21\356~}\266"
+"\330\236\356\261\302\2169\302m_\266\245\365t\17\32v\264\21\356\336\323"
+"\205;\356\77\314\204\377}\326\177\205\255\275\347\363\331\311NY\306\303"
+"um\312xz\267\327/\201\346\261\362\277oz\210\260o\377\225\303\275i\31\312"
+"\215\250l\303\216P\250\7\367\16\65\267\260o/\316L\322%\207\35\372\225\270"
+"\253\253\211\303\16\375b\304\217G\244\17;t\241\266\306N\37v\204B\355\202"
+"J\312\260C\27jW\317\322\207\35z7\345\367\273\322\207}\333:\7*\324\276\370"
+"M\37vUU\267B\355>I\261a\7-\324n\377g\21v\350B]\340\242\351\261\302\216"
+"P\250}\240\233>l\205z@a[4\t\333\242I\330\26MC\13\333\257\37\25\36\266E"
+"S\371a[4\225\37\266\33\1\205\207m\321T~\330\26M\345\207m\321Tx\330\n\365"
+" X4\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\24\340/\321C\317\200*!g\326"
+"\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\220\0\0\0\220"
+"\b\6\0\0\0\347F\342\270\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\6\267IDA"
+"Tx\332\355\235OH\\W\30\305OL\3\2216\340\243\20\222\320\26\306]\2066\340"
+"@(\tm\254#$\220\224Fk\26\222\244-D\351J\32(Y\216\261$\272\34\4e\334\245"
+"\13\303\270\212\315\302\350.\343B\231\331\31\60e\262\363\225*y\263\233"
+"\7\t8\256^\27\351+\223\351\2503\357\357\375s~p7*3\217{\217\337;g\2767\367"
+"\36\1\340\200\20\217tp\n\b\5D( B\1\21\n\210\20\n\210P@\204\2\42\24\20!"
+"\24\20\241\200\b\5D( B( B\1\21\n\210P@\204\0\300\7\315~\230\352I\241\253"
+"\253\213\263C\0\0\266mc\343\305\306\276\277w\32Gn&\347\20\342\222\237\317"
+";\315t\2\3009\202&\317D\33\206\201\327\177\277\306\361\217\216\363\337"
+"Osjok8\363\331\31T\253\325\326=P\265Z\305\370\3048g\217`|b|_\361\0@\323"
+"\n\344R~Y\306\331\317\317r\26\65\245\262S\301\351OO{Oac\277\214q\26\65"
+"\346\326\217\267\374\305\370\302j\1+\317V8\223\32RZ/\241\260Z8\364\357"
+"\16\274\205\1@\42\221@y\263LC\255\31\335\335\3350M\323_\5\2\0\3234\221"
+"\235\316rF5bnv\256%\361\264T\201\334X_\336,\343\324\'\2478\273\232\307"
+"\366\266+\220\33\353i\250\31\333=W \227\342Z\21\27\276\272\300Y\3268\266"
+"{\252@\355\304:\242vl\367% \323417;\307\231\3268\266\373\272\205\271\206"
+"\232}2}c\273\257\n\364\237\241\276KC\255\22S\17\247<\211\307S\5ra\237L"
+"\317\330\356\273\2\2710\326\253\301\330\3351\317\342\361U\201\0 \77\237"
+"\307\315\37nr\25$\345\325\237\257\220\374\42\351\3535|\t\210}2\271\351"
+"O\367{J^\201\334\302\334X\317>\231\234\254<[\361-\36\337\25\310\305\332"
+"\266\330\'\323$\266\7Z\201\\\370\t\265>\261=\224\n\4\260O\246Kl\17\245"
+"\2\261\n\351\23\333\339\n\340\267 ^\310\266m\34;z\f\227z/q\225\4\216\355"
+"\243\77\217\6\372\232\201\335\302\0\366\311t\210\355\241\335\302\0\366"
+"\311t\210\355\241V \32jq\215s\362\\2\260\344\25Z\5r\311\334\317p\325\4"
+"\42;\235\rE<\241U \200}2Q\250\354T\220<\227\f4yE\42 \32j1\30\35\31\305"
+"\243\337\37\205\366\372\201\305\370\377\335wk5\354\355\355\341\362\225"
+"\313\\\305\230(\255\227B\177\354&\264\n\344\302>\231Z\261=\22\23]\17\77"
+"\241\216\207\205\307\13\241\213\'\222\n\4\0\313K\313\270\372\355U\256\252"
+"\2\261=\362\n\4\360\361W\225b{d&\272\36\366\311\242\215\355\267\177\272"
+"\215Z\255\26\331{:Q\f\3030\34k\333\342\216\225!3rg\304\211jM]\373\23\331"
+"\233\215\334\31\341\n\207Hq\255\30\265x\234HLt=\354\223\311\35\333c1\321"
+"4\324\352\304\366XL\364{\37,V,\234\374\370$\316\177y\236\253\36`l\357\277"
+"\322\37\251q\216\255\2\1@f\42\203\332\333\32W>\300\330\36V\263T\270\n\4"
+"\260O\26tl\277\366\335\265\330\336\77r\23]\17\67h\360\317\215\357o`\361"
+"\351bl\357\37\353qO4\324\376(\255\227b\25O\354\2\342F\346\362\377\3v\210"
+"0\t4\324\336b\373Agx)m\242\353\261m\33\235\235\235\354\223I\22\333\205"
+"\253@n\f\255\354T\250\f\tb\273P)\254\236\241\301!<\371\343\t\325\321Bl"
+"ow/g\345+\20\0,>]Di\275D\205H\226\\\205\251@\300\273\35\317\266\266\266"
+"\250\222\3b\373\305\257/\nuM\261\233\350FC\315>\331\376\f\f\f\300\252X"
+"\302]\227#\3220\f\303\331}\263\313\207{\32\310\315\344\34\321\326\nQ\77"
+"P\6>x\346\211\3357\273\216a\30\24P;\243\374\262L\345\374\313\275_\357\211"
+"*\36G(\23]O\272/\215\347\205\347\214\355\202\305vac|#\205\325\2\26\36/"
+"h/ \321\277\230)l\5rc\275\316\33\231\213\30\333\205\216\361\315b\275\316"
+"}\262\336oza\333\266\360\327\351\210>t\374>\231\300\261]\16\23\255\263"
+"\241\16z/g-Mt\243\241\326\251O\326\356\311\3114\321-\32j\35\372d\242\307"
+"v\251Lt\243\241\326a\203\206\353\3\327a\376eJs\275\322T @\375}\27e\210"
+"\355Rz \27\32572\227u77G\266Q\\+*\27\333\'\37L:2\256\205T\2670Uc\275L\261"
+"]\352[X}\254W\251O\26\364\21L4\321\32\31\352 NNf\214\367R\366\25\331\240"
+"axxX\252\330\256\204\211\206\42}\262\345\245eG\366\371\227^@\351\276\264"
+"\264\2J$\22\24\220\bcyi\231\261\2351\336;\262\365\311d\216\355J\304\370"
+"FL\323\304\324\303)\306v\306x\177\261\276\274Y\26\376d \331c\273\222\25"
+"\bx\327\'\313L\210\177\324\246\212\273\2629*\r\221\373d\212\304v\365RX"
+"\375H\365\244\204\375v\251\42\261\375\275\321\241Z9\335x\261\201\271\331"
+"9\341\256+\312#\230h\242\3\60\324\42\365\311\302>9\231&:\4C=>1.\314\365"
+"d&2J\212GI\23\r\3016h\210\343\b&\232h\205\372d\351\2764\5\4\366\311<\221"
+"\237\317\253.\36\365\5\224H$b\331\361L\325\330\256|\214o\326\'\313Ng\31"
+"\333i\242\3459\360\327\332\266D\336\222\216\2670/chpH\345\223\223) U\372"
+"d\32\304v}\5\224H$\30\333) \177#7\223cl\347#\255\342\365\311TzLU\373^\330"
+"a}\26206h\20\351\b&\306x\311\372d\326\266\345\350:\217\332\n(\310>\331"
+"\320\340\20\5\244\343\310\317\347\31\333)\240x\373d\251\236\24\5\244\363"
+"\230|0\311\330\316\30\357\17k\333j\373\373d\272\306v\355c|3\274\354M\250"
+"slg\214\367\331\'\323<\266\323\3\371\355\223i\36\333) \77\206\232\261\235"
+"\2\362u\340/c;\5\344\371\300_Y\216`\242\200\4\64\324\202\237\234L\1\211"
+"\336\'\23\371\344d\nH\360>\31c;\5\344\313Pk\370\230j\313C\332\215\306\303"
+"\306\335\310\374\304\207\'\220\271\237\341\204\354\3{a\207`\30\6[\26\24"
+"\20a3\225P@\204\2\42\204\2\42\24\20\241\200\b\5D( N\1\241\200Hl\374\3\323"
+">9/\264~\364\2\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\220\0\0\0\220\b\6\0\0\0\347F\342\270\0\0\0\4gAMA\0\0\261\217\13\374a\5"
+"\0\0\5\301IDATx\332\355\235\261j\35G\24\206\217\234\24\206\304\240\355"
+"d\341\230\254:C\32\3357\260\336\300\250\24\270\260Z\223\302\250\264\342"
+"`\324\n\203\203\374\0\6=\201#\227r\341 w\226\261`\333\13Q\360u\267\2\33"
+"tUm\252\13!\\\3113;\273;g\346|\77\234\306\276{\357j\347\337\231\363\317"
+"\177ffAD\32\1\240%\256\361\b\0\4\2\20\b@ \0\201\0\200@\0\2\1\b\4 \20\0"
+"\20\b@ \0\201\0\4\2\0\2\1\b\4 \20\200@\0\210\210|\77\357\37G\253#Y\\\\"
+"\344\351\0\21\219;;\223\367\307\357/\375\377\346\377\261\367|\257\1`\206"
+"\375\227\373\315<\236\210H\263 sj\242\213\242\220O\177\177\222\353\77^"
+"\347\3653\216\351\327\251,\337^\226\272\256\335s\240\272\256e\373\3116"
+"O\17\310\366\223\355K\311#\42\62\267\7\232\241:\251\344\316/wx\212F\361"
+"\371\237\317r\363\247\233\355U\330\303_\37\362\24\rc\343\376F\230\214\77"
+"|s(\257\377|\315\2234\210w\177\275\223\3037\207\337\374\334\225C\230\210"
+"HY\226R}\254H\250\215aeeE\306\343qX\17$\42\62\36\217e\367\331.O\324\20"
+"^\374\361\302\211<N=\320L\326W\37+Y\272\265\344$\373\216\77\34\323\n\312"
+"P\376\\:\267\337U\262}\36\32\227X\277\267\3564\351t\376\345\274)\313\262"
+"q\375^b\230\230\234N\234\332o\353\321\226\357w\273\177\370\350\355\221"
+"\323M\34\274:\240\321\24\305\316\323\35\247v\233\234N\332|\277\373\207"
+"\313\262t\236\376^\273\273F\343)\210\242(\232\363/\347}\266\231\337\5\256"
+">YuR\321\200\nb\377\345\276S{\35\275=j\373\33\3751\272\305xJt\30kw\327"
+"\234G\214\200\274\325\377\242\315\7\233\316\tuQ\24\64f\244p\315Yw\236\356"
+"\204\374N\273\13\253\223\312\351\346\366\236\357\321\230\21b\300\227\274"
+"\377\356q\264:\242Q\7N\234]e\373\346\203\315\320\337S\235\240\21=\312\366"
+"\216\204N\373\213\313\262tN\250\327\357\255\323\270\3\204O\233t4\3252\334"
+"$\25\t\265\36\331\336\341d\357p\323\344\201\331>\241C\266wO\240H7N\304"
+"\221\355\335\23\b\237\314\224l\357\207@\370dfd{\77\4\32\300\365%t\310\366"
+"\376\b\204O\26G\266G\356\371\263\31\213M\306\301\253\203\330\271g<5p\325"
+"\222Y\242;\365\333s\225h\334\371\b|\262\366\341jh\367<\377\226l!\23\262"
+"]\207\3\20\277\224\262\7iI\231\352p\317\266\277/\337z\264EB\35Q\266\17"
+"\324\273\353XN\202O\226\354\204m\226\6\237y\331>\240\302\325\363G\223P"
+"\'!\333\207\'\20>YV\262}x\2\341\223\r\'H\42\24\356\351s\214I\250\223\232"
+"\22\61Q\263\222t\270\256\6\216\224C\352\254\232\303\'K&\177\34\366\7G\253"
+"#\22\352\274^8\272\344\34d{\304!\237\2440\365M\241\42\213\16\335\262\324"
+"jB\355#\333#\337\253\376\2111k\33\64\370\364\320\nV\374\232[\b\207l\317"
+"\205@\370da\262]I5g:\233\1X\330\240!\301y\262t\n\244r\367\311\22\221\355"
+"\372\b\204O\226t\361\235\216\33\261\276\221y\302\2750\343\77\262=\23\2"
+"Y-<K|\tT\232s \271ld\356c.+]\204I\361T\n\303\266\342\331x6KJA8(\376;\323"
+". O\331\'\353\361\b&\b\224\373\6\r\31M\236\242N4\347y\t\250M\335\306b\216"
+">Yf/F>]}\n\t\265\217lOd\306\35\217\b\331\2369\201\224\256\tgz\42\25\2\371"
+"\274\271Z72\367\2518Hl\7[\26\330!\333\r\20\310\247\21\264\371d\21\216`"
+"\202@\241\363\'\232\206\201\3147\34M\353\206SKD\r\254<\241\360\\\303\275"
+"&\\\252\233o\361yl\237\314HU\1U|\261e{\342uM\354\332\205b4H \337\r\b\206"
+"\34\42\62\227\355\371\20H\253O\246\340\b&\b\224\252L6\270aD\372+\33\64"
+"\275\361J\367r\206@)\370dFw\241ei0\313\221 P\364r\tC\262=O\2\305\34B\214"
+"\237\5\302\6M\310v\b\324\252h\275\213\336 \227r[\b\324b\203\206.|2\203"
+"\262=\177\2\r\245\210\24\235\234\f\201b\371dm\23jv\333\317\234@}\17/\312"
+"NN\206@)\371R\34\341i\204@>\22\333\247\247\340\3143C\4\352\2726\7\331n"
+"\214@]\373d\354gm\220@]md\256\370\344d\b\324w\204\356G\210l7N\240\320\344"
+"\227c:!Pk\371\215l\207@\336=\311\177\353v\220\355\20\250u.\223\350\21L"
+"\20HK\341\31\262\35\2\5\371d\34\204\7\201\202}2\216\342\204@A\33\64 \333"
+"!P\260O\226\3231\13\20(\202O\206l\237\37\13\63\26Y\306\344t\42K\267\226"
+"\274\256\231~\235\312\362\355e\251\353\332\364\263\273&@6\356ox_\263\373"
+"l\327<yfh\b\367\331fd;9P\260Of\\\266C\240\220\204\32\331\16\201\202|2d"
+";\4j\355\223\245|>+\4\212\234P\33v\333!P\27>YbG0A M>\31\262\35\2\5%\324"
+"\6\313T\235\343;\21\371\235\271\3249V\305t*\27\27\27r\343\207\33\362\370"
+"\267\307<\220K\200\27\366\r\24E\201e\1\201\0f*\200@\0\2\1\0\201\0\4\2\20"
+"\b@ \0\201x\4\0\2\201h\370\27X\235\312\273i\274s\304\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0\261\b\6\0\0\0\214G@\225\0"
+"\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\3\314IDATx\332\355\334\77O\333@\30"
+"\307\361\'\235\30\272\370\25 \257\f\225\310\6R\7\62\242.(\357\2000\42U"
+"By\5\64\274\1\244\214t@\312+@y\5T\316\36KY\223\24\t\217\fT\n\333u\2A\343"
+"\363\337\363\371\354~\37\311\23\210\370>\334\375\342\273<\320\21\21%T\246"
+"\372\4\1X`\201\5\26X`A\0\26X`\201\5\26X\20\200\5\26X`\201\5\26\4`\201\5"
+"\26X`\201\5\1X`\201\5\26X`A\0\26X`\201\5\26X\20\200\5\26X`\201\5\26\4`"
+"\201\5\26X`\201\5\1X`\201\5V\353\252\3\26\63\13,\260\300\2\213\2\13,\260"
+"\300\2\13,\n,\260j\306\212\36\42QJ\265\376\32]\216R-T\332\325;\352\251"
+"\266W\364\20)\317\363t\6\42\42\252#\31\377\233\344\364n*\307\337\216\267"
+"g]\24\311j\265\22\21\221\335\335]Y\257\327\326\227\307\301\301A\351\237"
+"q68\223\233\2377\272/wra\371\276/\213\371Bv>\3578\227%\263\331\254\24\346"
+"\354\327L\16\277\36&}\313\233\223\312z\215.G\255\\\202\335\375n\332\330"
+"%7\226\210\250\350!\372\360BA\20\250 \b\32\13\65\276\36g\31w1\2546\205"
+"\375\346y\223\24\352\345\261DDM\357\246\255\300\32^\f\263\216\2718\226"
+"\357\373j\363\274\331Z\216M\252E\270\3103\346\342X\272\260o\22X\357\250"
+"g\17\313\363\274\255\260oJM\357\246y\307[\16KDT\377\244\3574J\334;\365"
+"\346y\243|\337\267\217%\42*\270\377x3a\30\252\371|\356\4T\\\215.GE\306"
+"i\6\313\367\375\\7[\307lz\277\377+8N3XIO\366\256\5~\377\244_\77\226+a\237"
+"\364\313\t\356\2032c4\207\345B\330\247\345d\201P\257\16+.\354m\6~\30\206"
+"\332\257\25\f\365j\261ta\337\220\375_*\226\3213\370\345r)W\77\256\234:"
+"\317:\377~.OOO\306^K\231\274<\317\333\3327V\371\316\230\264\304K\206z\265"
+"\313\360\365\32\234\16\254=J$eU\316\375_=X\272\260\267Y\223\333\211\311"
+"\361T\213\325\335\357\326\366\\e(\324\355a\211\210\32_\217+[\212IY\225"
+"\343P\317\35\254*\303^\227U%\366\177\365b%\205}\231\31e)\324\355c\351\302"
+"\276\212w\306\2\207z\356a\331\b\373\202\207z\356aU\35\366\206\366\177\356"
+"`U\31\366)M\35\315\3032\21\366:\330\22\207z\356b\211\210Z\204\13\243\263"
+"\313\340\376\317=,\335\307\377E\30124u4\27KD\324\344vb\263\251\243\331"
+"X\272\260\317\223W\25\354\377\334\304\22\21\65\274\30f^\212q\373\300\301"
+"\351\300\346\375\326\213\245\13\373,\373\300\234M\35\355\300\312\322\353"
+"\25\67\333*\332\377\271\215\225\26\366qP\206\17\365raen\300\255\252<\317"
+"\223\307\337\217o\215\275\357\77|\370\267q\366\345\317\213\354}\331\223"
+"\345ri\3736;N\314,]\330\327\260\377s\177\31\352\32{-\35\3525\23+-\354k"
+"\buw\261\222\32{-\355\377\232\205\25\327\330k\240\251\243\235Xq\275^5\206"
+"\272\373X\357\303\336\302\241^\363\261^\303\336\362\376\257\231X\257\317"
+"^\16\335\217\33O\360\r\251\216\361\376,\376F\232\2\13,[G\17\24\63\13,\260"
+"\300\2\13,\n,\260\300\2\13,\260(\260\300\2\13,\260\300\242\300\2\13,\260"
+"\300\2\213\2\13,\260\300\2\13,\n,\260\300\2\13,\260(\260\300\2\13,\260"
+"\300\242\300\2\13,\260\300\2\213\2\13,\260\300\2\353\277\255\277zKo\300"
+"\234\265y\361\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K"
+"\0\0\0\261\b\6\0\0\0\214G@\225\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\3"
+"ZIDATx\332\355\334Oj\333@\24\307\361\247\256\262\350FG\230m\240P\353\6"
+"\361\r\202o\20\337 \370\4F\'\b\370\2\1\237 \370\4\1\37\240)\3122\5\27\224"
+"}\26^NW\206Rjk\2364\377\244|\37x\27d\351\343\361/3O#\27\42b\205r\252/\20"
+"\200\5\26X`\201\5\26\4`\201\5\26X`\201\5\1X`\201\5\26X`A\0\26X`\201\5\26"
+"X\20\200\5\26X`\201\5\26\4`\201\5\26X`\201\5\1X`\201\5\26X`A\0\26X`\201"
+"\5\26X\20\200\5\26X`M\256\n\260\30Y`\201\5\26X\24X`\201\5\26X`Q`\201\225"
+"\30\253=\264b\255\235\374\253^\327\235\26\266\3535\277\231\333\251W{hm"
+"Y\226\347\fNN\335X\42bwO\273Ic-\357\226\227\256_\207e\214\261\307\217\343"
+"$\241\366\317\373\256\353\327a\211\210\255\327\365$\261\252Y\345\37KDl"
+"{h\'\5\265y\330\270\\w\77\254)\205\375\361\343x)\324\207cM)\354W\367+\327"
+"k\26\21\261\205\364\370mec\2144\77\32\271\372z\325\371\267\357\277\337"
+"\345\355\327[\264\211\343\354\373\314\351\274^\177\276\312\365\267k\327"
+"\303\26\275G\226&\354\333Ck\373\276\207\366U\315*\347Q5\277\231k\216-\203"
+"\260\312\262t\16\373z]G\301\332\77\357\235\316g\367\264\323\36{\30\226"
+"\210\330\305\355\3029H\2151A\241\226w\313\220\3472\34+\360\247\231\323"
+"(\367\203e\214\t\225\239\345\247\37\254\324a\257\371\260\26\267\213\364"
+"X)\303\336u\316\347\260\376\213\203\225*\3545\253\211\201\357\351\27+E"
+"\330G\34\315\376\261b\206\375\352~\345{\375\27\27+V\330\227e\351\334[\353"
+"h\352\245\305\322\\H\337\257\307\366q\33#\324\303c\205\236MkB\335\343\274"
+".\34V\310\260w=\356\366q\353\363z\302b\205\350\0hF\254\207P\217\207%\42"
+"v\363\260\361q\33J\235\205\212\246^>X>\303>q\377,<\226\346\253si\226\235"
+"\301b=\16\226&\224\317\375\253\317\240\r\24\17K\23\366\377v\6\\\247\n\201"
+"\33\214\361\260\206\204}&\255\353\270X}\302^\23\352\236\247\ni\261\264"
+"a_\315*g\334\1M\275|\261D\3046/M\354M\35\343\305\362}\373\337aS\307x\261"
+"4]\3O\233:\306\215\245\t\373\210\353\277<\2614\235\316\300M\275q`\r\t\373"
+"\346\245\211}\256\351\261\372\206}\250\233\265Yc\365\t{\317M\275qai\302"
+">\306\6\223\254\2614a\37k\353R\326X.\13\346\230\233\342\262\307\352\n\373"
+"\4\241\236/\326\245M\36\221\326\177\343\302:\367\24G\242P\317\33\353\177"
+"=\254\204\241\236\77\326\337a\37\241\2517~\254S\330G^\377\215\23\3534\367"
+"\312\350|\372\77a\361\t\253\20\21\3133\322<P\16\26X\243\13.\30\30Y`\201"
+"\5\26X`Q`\201\5\26X`\201E\201\5\26X`\201\5\26\5\26X`\201\5\26X\24X`\201"
+"\5\26X`Q`\201\5\26X`\201E\201\5\26X`\201\5\26\5\26X`\201\5\26X\24X`\201"
+"\5\26X\237\272\376\0\r\346\314\356\364\f\f\256\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\220\0\0\0\220\b\2\0\0\0h$u\357\0\0\0\4g"
+"AMA\0\0\261\217\13\374a\5\0\0\4\224IDATx\332\355\235\277K\33a\34\306\203"
+"tp\350r[#U87C+xNJ\35rn\332\16V\'\245\35rNJ\13\232\270\5A=7)\230\236nq\260"
+"\304M\205\266:\332\241E\'\355`\211\233\202\226\304-\203\205\270]\207\27"
+"\17K\305\37!\311\275\317\373>\317_`\336\17\367<\317\275\357\327{#\21\212"
+"\242(\212\242(\212\242\302\226a\30\271\325\234\325aq)\0\224\232L\225/\312"
+"\276\357\333q\233\253!\265\354\270]<+\372W\42\60ye\232\346\356\367]\377"
+"_\21\230\244q\265\224Y\362o\22\201\311\33W\4\6\26W\4\6\26W\4&i\\\271\263"
+"\256\177o\21X\230r\22\316-qE`r\305U\3760\357\77\\\4\26B\\m}\331\362+\25"
+"\201\311\33W\4\6\26W\4\6\26W\4\6\26W\4V\357\270\252\212\7\22X=\342\352"
+"\316\35&\2\223%\256\356\271\303D`\341\307Un5\347\327^\4&o\\\21\30X\\\21"
+"\30X\\\21X\325<\260>qE`UP=\343\252\272\300\36\351\206jp`\320\313xO\236"
+">\1\375\3735\2fuX^\306\353z\321\5\375+\264\0f\30\206\267\350\r\277\31V"
+"\340\2674\350\20W\205\323\202\32\264\24\177\302\320\343J#`j\304\225\26"
+"\226(\246\243\367\17\366\225\244\245\232n\237\216\226J\272\277\207\331"
+"q;\267\232S,\256\324\4&\16D\3641@\340\f\23qu||\254U\\\241\2KM\246\n\247"
+"\205\261wc\272\3454\236%\352\23W\360\300t\213+`K\24\347\367\272\305\25"
+"\352\23\346$\34o\321k|\334\310\27M\331\201\331q\333\313xm\317\332\310I"
+"v`\246iz\31\257\357e\37\t\311\236aA\\\221\26\300\23\306\270\202\1\306\270"
+"\202\1\306\270\202\1f\30Fr\42\231\234H\322\3\1\2009\t\307\235q\265\335"
+"aB\2f\307mw\326\345\236\5\0\60\3234\335\31W\231\1&\225\2011\256\220\200"
+"1\256`\2001\256`\200\2514\35-\225j\262\227\250\330t\264\312O\230\222\323"
+"\321j\2Sx:Z5`\214+\244\fc\\\301<a\214+\30`\214+\30K\344\77\363 \1\323v"
+":\32\317\22\65\237\216F\2f\30\306\326\347-\32 \214%\226J\245\215\315\215"
+"\313\77\227\\)\230\f[\370\260\320\324\322\264\366i\215\213\5S:J\245\322"
+"\310\333\221^\273w\357\307\36\227\f\246%\356|\333\351\356\351\36uF\351"
+"\2200\357a\221H$\273\222mji\232\237\233\347\332a\0\23\16\231\236N\267\266"
+"\266\322!1\200\t\235\234\234t\367t\367\332\275\347\277\317\271\216\0\300"
+"\202`\2136G\347\347\346\31l\30\300\204\322\323\351X{\214\325\37\6\230p"
+"HQ\375\217~\35qY\1\200\5\16\31{\36c\365\207\1v\275\372/\177\\\346\372b"
+"\0\23\325\177\374\3758\253\77\f\260\353\325\177\350\365\20\253\77\6\60"
+"\241\365\315\365X{\214\325\37\6X\344js$\326\36\333\376\272\315E\7\0\26"
+"8d\377\253~V\177\30`\327\253\377Tr\212\16\211\1LH\234\213\262\372\303\0"
+"\13\252\177\247\325\311\352\217\1L\350\340\347\2018\27e\365\307\0&\224"
+"]\311\212\352O$`\252\305-\327*}\267^\272\257\271\5\325\237\16\211\1,\250"
+"\376\321\346(\253\77\f\260\353\325\237\347\2420\300\42\34\211\204\3\26"
+"8$G\42\221\200\5\325\237#\221\250\325\77\224\333\262Y\353+\257\376\332"
+"\216D\2\337n\304\221H`\207\f\361\222z^m_\241\354\270\235\77\3143\303\220"
+"\34R\207\221H\325n\231\345H$\253\77-\261\216\325_\275\221\310\6\265\237"
+"3\216D\2;\244T\347\242\264\304\273\35\222#\221\250JM\246\312\27e\2768#"
+"I|\226\216\300\300duXaU\177\2\253\\N\302)\236\25\t\f\314!\335Y\227\300"
+"X\375\t\254\366\262\343v\35\34\222\357aU\23G\42\201\203\255v\347\242\264"
+"\304\32:d-\252\77\201\325\274\372Wws\204\300\300\252\77\201\325\257\372"
+"W\305!\t\f\254\372\23X\brg\335\212\203\215\300Bs\310\312\252\77\201\205"
+"\354\220\17\35\211$0\260\352O`\262T\377{\236\213\22\30X\365\'0\351480x"
+"K\365\'0y7Gn\f6\2\223\332!\377\77\27%0\260\352O`\30\nF\42\t\f\254\372["
+"\35\26\227\202\242(\212\242(\211\365\27\202\345\3\334\253\301\2008\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\220\0\0\0\220\b\2"
+"\0\0\0h$u\357\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\4DIDATx\332\355\235"
+"\317m\342@\24\306\321V\200Kp\t\241\203\320AD\7\241\203\210\n\42*\210D\3"
+"H\276f\17\21\25 \271\201H4\220\3G\16\254\344\334f\17\273K\262\3741\366"
+"\303\343yo\346\367]\243\240\304\77\345}\237g\276\231\f\6\b!\204\20B\b\241"
+"\320\312\262\254X\26\243\273\21\217\302\200fO\263j_9\347\306\367c\236\206"
+"j\215\357\307\333\217\255\373\'\200\351U\236\347\345\272t\377\13`J\355"
+"j\361\262p\347\4\60\275v\5\60cv\5\60cv\5\60\245v5\177\236\273\306\2XHM"
+"\37\2475v\5\60]v\265y\337\270\366\2X\0\273Z\275\255\234T\0\323kW\0\63f"
+"W\0\63fW\0\263aW\333\217m\315\3533\300<\332U\333\31X\355\253\371\363|0"
+"\30\324\274D\3\314\213]]]a:U\261,\262,\373\363\t\0\353\317\256\32\2560"
+"}W\271.\2170\0\254\17\273*\226\205\300\256\246\217\323\323O\3\230R\273"
+":\314@\200i\267\253<\317k>\26`z\355\n`}\314\300\16\355\n`~%\260+\347\\"
+"\215]\1\314\227&\17\23\201]\255\336V\365v\5\260\3565\272\33\t\354j\363"
+"\276\21\77\\\200\365jW\325\276jnW\0\63fW\0\63fW\0\63fW\0\223\333\325\245"
+"vt\275]\315\236f\235\3770\0\273\242\372v\364%-^\26\267\333\25\300Z\257"
+"0\t\354\252\\\227]\331\25\300\232\252y;\372h\205\251\207G\6\60\275v\5\60"
+"cv\5\60cv\5\60cv\5\260c\273\22\264\243\17u\263PJ\24\230\254\35\375\275"
+"n\6\260\376\354J\320\216.\327\245\222kK\22\2&nGO\36&z~\213$\200\31\265"
+"\253D\201\331\265\253\344\200Y\267\253\204\200\211\355\352\306\375{\200"
+"\t\355\252\333v4\300<\332\225\217v4\300\274\330\225\277v4\300:\266+\337"
+"\355h\200aW\351\1\223\331U\207u3\200\371\265\253\316\353f\0k4\3\203\264"
+"\243\1&Q\300v4\300\332)x;\32`M\245\244\35\r0\354*.`\330\225\31`2\273\n"
+"R7K\35\230\314\256\2\326\315\322\5\246\277\35\r\260/\231hG\3\354\357\n"
+"\23ve\3X\226e\330\225*`\77\352\277\274\333\355^\177\276~\376\372l\365\241"
+"\303\3410\361\277\255\300\222\275\32\307\275\212a t\310\366J\324\226\6"
+"Sy\17\23t=u\326r\23zq\226\265\251yq\16\2744%;^\307\322T\340\305_\331+\32"
+"\213\277\201\207\215\254\21\305\366JH\311:\207\26\353\241\221\0;LH\301"
+"!\224X\243\277\231\22\216,\372\307\267\242o\254\346&\330\210\211,\372\333"
+"+\222\312\242\1774%*\253UmY\231 \202\350\237\334a\b\273\347V\314\3;LH\301"
+"\351X\345\7\231c\6\226Z\364\217\352\310\254\240!b.\372Gx(]\20\375\r\355"
+"\213\306y\355\203\254\345h\42\372\307|\261\212\340\224\246\376\3\265\221"
+"_]$\336\27Uu!XB\300\342\213\376\t]\277\'\333\27\325\3262N\356\202KY\364"
+"\327\2638\222\342\25\262\246+\221\351^\322,\256D\206\215\376\251_\203n"
+"\256\22\311\77\32\60\26\375\1\366\25\375MT\42\1f,\372\3\354\2144W\42\1"
+"vqB\352\254D\2\354\312\204\324\266/\n0c\321\37`M\243\277\222J$\300\214"
+"E\177\200\265V\330J$\300\344\213#A\242\77\300n\232\220\375\357\213\2\314"
+"X\364\7X7\352\255\22\t0c\321\37`\35\313w%\22`\276\26G<E\177\200\371\215"
+"\376\235\357\213\2\314X\364\7XO\321\277\253}Q\200\31\213\376\0\353\333"
+"\330n\254D\2,\314\204\24G\177\200\205\214\376\202\tY\363-\0S\32\375\1\26"
+">\372\13&$\300LF\177\200\5\226\354\77;\1,\360\204\24D\177\200\205\237\220"
+"m\367E\1f,\372\3LK\364o\270/\n0c\321\37`\352T_\211\4\230\336\305\221\263"
+"\306\6\60\325\23\362t_\24`\306\242\77\300l\350\260/\n0c\321\337\350\245"
+"\270\b!\204\20JF\277\1\35\210\262\275\321\35\r\264\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0\261\b\6\0\0\0\214G@\225\0\0\0"
+"\4gAMA\0\0\261\217\13\374a\5\0\0\2qIDATx\332\355\334\301M\334@\24\6`\223"
+"\16\\\302\224\20:`;\210\350\200\355 \242\202\225+@\242\201HT\200\250\0"
+"\211\6\42\321@\16\24\220\3\307\227K@\253d\223\335am\257g\346\373%_}\370"
+"\3043\217\367f8\353\272.:9(\237\20\300\202\5\13\26,X\b`\301\202\5\13\26"
+",\4\260`\301\202\5\13\26\2X\260`\301\202\5\13\1,X\260`\301\202\205\0\26"
+",X\260`\301B\0\13\26,X\260`!\200\5\13\26,X\260\20\300\202\5\13\26,X\b`"
+"\301\202\5\13V\221\351\373\276\33\66\303h\357\213Z\237\365\325:^~\274D"
+"D\214\365\316\372\220\316\77\237\307\323\343Sl\7\326\37O\337\367q{s\33"
+"\273\2k\353\271\376z\35\257\77_\343_\201\325u\261\272X\305\363\367\347"
+"\330\227\246\261RJ\361p\377\20\207\246Y\254a3\374\267\344`u]\\~\271|o\5"
+"r\323\fVJ\351\257V\0\326\216V`\330\f1F\252\306Z_\255\263\277K\315a\255"
+".VG\227\\\365X}\337\307\335\267\273\230*\325`\355\353\276a\375.\271\217"
+"\266\2\315`\345v\337Mb\275\265\2S\227\\\361X\307t\337\315`\355\32\304\301"
+"\312\30\304\301\232\260\373\256\22\353\320A\\\323X)\245I\273\357j\260N"
+"\325\n\24\2055g\367],\326\30\203\270\352\261\306\34\304U\215\265\275\6"
+"\207\265g|RCf\373\311*\355c\276\210\17|)m\302\242~\33\316=\213\322g\265"
+"\330\301\3171\77\257\352o\303\25173\246\16\346Y\313-\315\305OJ\227T\232"
+"E\314\340\227R\232EmwN=j.rox\252%F\261\33\351S\254\307\212\77\3530giVq"
+"\212f\256\322\254\352|\326\324\245Y\345\311\277\251J\263\3323\245S\314"
+"\373\253\77\255<\346&\251\231s\360c\34Wj\352\206\305\261\245\331\344\335"
+"\235\217\226f\323\267\302rK\263\371\373\2069gT]\316\314\3308\301\312\330"
+"8\301\312X\6\303\312(MX\31\2459\306\273\316\336\304\304\377\242\201\5\13"
+"\26,X\2\13\26,X\260`\t,X\260`\301\202%\260`\301\202\5\13\226\300\202\5"
+"\13\26,X\2\13\26,X\260`\t,X\260`\301\202%\260`\301\202\5\13\226\300\202"
+"\5\13\26,X\2\13\26\254\2\362\13\42b\42\350\362\272q\233\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0K\0\0\0\261\b\6\0\0\0\214G@\225"
+"\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\2\353IDATx\332\355\334\301i\353"
+"@\20\306q\345u\260%l\tq\7V\7\301\35X\35\30U \266\202\7i \340\n\202+0\250"
+"\201\7i \7\27\340\203\216\223\313sP\22\331\322Fc\343\235\375\177\240\253"
+"\4\77\62\233\321\354\312\17EQHA&\345\17\4`\201\5\26X`\201\5\1X`\201\5\26"
+"X`A\0\26X`\201\5\26X\20\200\5\26X`\201\5\26\4`\201\5\26X`\201\5\1X`\201"
+"\5\26X`A\0\26X`\201\5\26X\20\200\5\26X`\201\5\26\4`\201\5\26X`\201\5\1"
+"X`\201\5\26XI\3069W\204&\250\335O\254^\325\272\222\303\373ADD\353\236\366"
+"\220\26\217\13i\367\255\364\3\326\267\3139\'\317\177\237e(`\365\256zSK"
+"w\354\344\\\300*\n)\227\245\274\375{\223\261d\215\345\275\227\335\353N"
+"\246&[\254\320\204\213%\7VQ\310\352i\365\331\n\304&\33,\357\375\217V\0"
+"\254\201V 4A4b\32\253ZW\321\353RvX\345\262\234]r\346\261\234s\262}\331"
+"\312\265b\6k\254\373\6\353\177\311\375\266\25\350g\nt\262X\261\335\367"
+"\271\264\373vp\302`\2\353\324\n\314-\271\303\373A\252u\365y_sXs\272\357"
+"~B\23\3049\367\345\336f\260\246\226\311Xv\257;\361\336\17>#y\254K\203\270"
+"\330\222+\227\345\305g%\215\245\321}w\307N\352M=\351yIbM\35\304\215e\373"
+"\262\375\261.\231\301\362\336\253t\337\355\276\35-\271\244\2614Z\201\356"
+"\330}i\5\314aiu\337C\255\200\31,\215A\334\251\344\316\265\2\311ci\r\342"
+"\246\264\2Ic\365\267\301\347\254K\241\tW\351\351\356\6\253\336\324*#\222"
+"\305\343\342jo\tw\365\227uO\213y2\13\274\326\304`\365\264\262\217\245="
+"\2132\373\337\220>K\241\203\327\230\237\317m\'\222z7\324\332\231\2714\263"
+"b\352\240\324\217%=\317\272ui\232\230\224\336\2524\315\314\340oQ\232\346"
+"vw4F\315\347J\323\354\276\241\306&\306\367\3224\211\245\271=\326/M\323"
+"X\332\2459\345M\302\304)\32\255\322\314\352|\226\326\316uV\'\377\264\217"
+"G\232\77S\252y\3606\233\323\312Z;IY\235\203\3278\256\224\325\27\26sK3\313"
+"ow~[\232Y\177\25\26[\232\331\177o\30sF\225\2173#v\234\300\212\330q\2+b"
+"3\30\254\210\322\4+\24245\356\365p\22#\374\26\rX`\201\5\26X\4,\260\300"
+"\2\13,\260\bX`\201\5\26X`\21\260\300\2\13,\260\300\42`\201\5\26X`\201E"
+"\300\2\13,\260\300\2\213\200\5\26X`\201\5\26\1\13,\260\300\2\13,\2\26X"
+"`\201\5\26X\4,\260\300J \37.\252Wo\224\247V\321\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\224\0\0\0\210\b\6\0\0\0\1(\3024\0\0\0\4"
+"gAMA\0\0\261\217\13\374a\5\0\0\2\335IDATx\332\355\334\261N\333P\24\200"
+"\341\23\324\201\241K6\206.\31\221\272\224\r\324J\330#\352b{C\352\0<Q\21"
+"yB\206<F\272`\251\225\252\212\222\\|\256\375\375Rv+\371\224{8\27XE\304"
+">\244#u\342-\20P\2J@I@\t(\1%\1%\240\4\224\200\222\200\22P\2J\2J@\t(\t("
+"\1%\240\4\224\4\224\200\22P\22P\2J@I@\t(\1%\240$\240\4\224\200\222\200"
+"\22P\2J\2jv\r\335\20\333\307m\354\236w\223>\307\7\37E\235m6\233h\2336\372"
+"\256\217\366\272\215\323\217\247)\236\13\250\212\272\370r\21}\327G\337"
+"\365q\376\371<\3453\2\225\270\365z\35\355\365\313\267P\323\306\331\247"
+"\263\364\317\fT\302\243l\350\206h\232&n\276\337T\367\374@%\250m\332\30"
+"\272!\372\256\257\342[\b\250\204G\3318L\367]\237f\240\6\252\262\201\272"
+"m\332\270\277\273O;P\3\225\274\361\30\253e\240\6*\341@=\356\206j\34\250"
+"\201Jr\224=\334=D\3234\263>\312\2002P\3\225\371(\33\347\241\313\257\227"
+"\336\20\240\3366P\217\363\320R\6j\240\n\r\324\231.[\201\252l\240\316~\331"
+"\nT\362\201\272\266\313V\240\222\16\324\265^\266\2\225\2409]\266\2\65\321"
+"Q6\316B\6j\240\336<P/\341\262\25\250\202-\361\262\25(\3\65P\331\2162\227"
+"\255@\35<P\273l\5\352\340\201\332e+P\7\r\324.[\201:h\240v\331\n\324\301"
+"G\231\313V\240\2162X\77\375|\212\333\37\267\336\321\205\267\212\210\375"
+"\261g%\313\307\211\77\324\325j>\240\376\366\323\234\353\21\240\216\236"
+"\13\\\240\212\346WL\200*\226\277*\1\252\350\3218^\303\270\212\1\252\310"
+"`\357\262\30\250bG\343\322\377w\0P\5\263\363\2\252\350\321h\347\5T\261"
+"\301~\311;/\240\n\267\264\235\27P\357<\330\317}\347\5\324\204G\343\34w"
+"^@%\32\354\347\260\363\2*\351\321X\353\316\13\250\n\252i\347\5T\205Gc\346"
+"\235\27P\225\17\366\331v^@\315\250\f;/\240f<\330O\261\363\2j!G\343{\355"
+"\274\200Z\350`_j\347\5\224\243\361\250;/\240\364G\207\356\274\200\322\77"
+"\217\306\377\335y\1\245W\17\366\257\331yM\t*^@yU\370j\233v\277}\334\356"
+"w\317\273\375\357M\371L\276\241f4\330\217\263\327\325\267+G\236\346\321"
+"\211\267@@\t(\1%\1%\240\4\224\4\224\200\22P\2J\2J@\t(\t(\1%\240$\240\4"
+"\224\200\22P\22P\2J@I@\t(\1%\1%\240\4\224\200\222\200\22P\2J\2J@\t(\t("
+"\25\352\27sYp\276\230h\23\327\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0\244\0\0\0\210\b\6\0\0\0i\333@\f\0\0\0\4gAMA\0\0\261\217"
+"\13\374a\5\0\0\4/IDATx\332\355\335\261n\333V\24\207\361\353\240C\206\16"
+"\345\226\241\13\307\0]\254-@\207\210c\320E\342\23\304z\203\300O\20\350"
+"\t\fhM\201\0\36-\r\2513\312\5Z$\23338\2207{p\1e\363\220\0\366\306\16)\205"
+"\24u\2358\221\311K\362\367\1w\266L}8G\377s/\311\215\20B\21\200H\270\343"
+"\22\200\220\0!AH\200\220 $@H\20\22 $\b\t\20\22 $\b\t\20\22\204\4\b\tB\2"
+"\204\4!\1B\202\220\0!\1B\202\220\0!AH\200\220 $@H\20\22 $\b\t\20\22 $B"
+"\b!\244iJH\324Ko\263\27\306O\307aq\264\b\'\'\'Q}\266\357|=\355\'I\222\220"
+"=\314\302p0\f\303\3010\334\375\376n\264\237\225\220-n\305\371 \17\303\301"
+"0<\370\371Ac>7![D>\310C\326\377X\t\357\375x\257\221\377\3!\33^\5K\1\263"
+"\207Y\324\255\230\220-\16$\243\307\243\320\357\367\303\375\237\356\267"
+"\356\377#d\3\2IY\1c\17$\204lq\25,[q\223\2\t!\5\22Bb\375\201\344\321/\217"
+"\\\20B\n$\204\24H*\375\373\227\37.\33\27\202\b\331\262@r\374\3668Lg\323"
+"0\235M\303\341\233\303P\24\315{\373ta}\333\312\7y1\331\231\24\313\263e"
+"Q5\27\357/\212\375\27\373\305hkT$I\362\237\317\366%\304t-U\310\6\6\222"
+"\343\267\307\341\340\340 \354\315\366\302\374`\3567d\27\311\372Y\310\7"
+"ym\201\344\345o/W\22\236\236\236\n5\2I\265\341\340\335_\357\302t6\r\363"
+"\203y\330\233\355I\331]\16$[\217\267j\251\202\257\377|\275\222\360\360"
+"\315ag\277\207\316\7\222\335\347\273\265\5\222\335\347\273E>\310\257\f"
+"$\353XBM\3\2I\371[\260\256@\362\351X\6\35\254\220Y\77+&;\223bq\264\210"
+"n,s\333K\205\24HZ=\226\21j\32\22H\2722\226\321\262#\r$\313\263e1\331\231"
+"\24\371 \217\372\32i\331-\16$\3062*\344*\220\264u,\243BF^!\313@R\327\235"
+"t\3062BM\350m\366V\22V\35H.\77\\\206\371\357\363\225\204\347\347\347\254"
+"\350\232\220\237>\332#\353g\225\337Cb,\23/\265<l\252\356*\224\374\220\370"
+"\346#e\343\237\37\223\235n\331\323\331t\325\266\333\326\262\277\344\304"
+"\370\306\306\6!\257\33\355\324\371x\220r\264\323\226\1w\323\204\214~\354"
+"S\347\355\1\345\360;\353g\215\335<h\332\330\'\272\n\371\271\326^\327\366"
+"`S[\273\nY\321J\222\244\30m\215\212\375\27\373\305\305\373\213\312\253"
+"\347\342hQl\77\331.z\233=\25\262\253\25\362:\352|\24I\314\267\33\250\220"
+"\21\2544M\213\355\'\333\305\253\77^u\356\374\243\n\3191\234\215|\366\353"
+"\263\332\16d\250\220\16kDudM\205l\20u\36g\253j\17]\205lpj/\17\374\326\225"
+"\332\307O\307kO\355M\253\220\204\374\237\325\333\354\325vc\330\362l\271"
+":\207\251e#\252\326\36\302\307\373u\312\261\322M\2673\265l\17\27\210\252"
+"\265k\331\35l\355\343\247\343h[;!;\274\3224]mg\326A9\220O\323\224\220V"
+"\234\255]\250\301\225\324\375 \203\246\204\32B\326\270\235\31\313;\n\t"
+"\211\177Q\367K\223\b\211\317\266\366*\337\342@H\334\250\265\337\366I%B"
+"\342\253(\37\274\277\356\326NH|3\345v\346:Z;!\261\366\326^\266\365\257"
+"i\355\204\304\255\7\243\233\274\344\223\220\250\274\265_wR\211\220\210"
+"\252\265;~fEuR)\330\313\6\256\346\216K\0B\2\204\4!\1B\202\220\0!AH\200"
+"\220 $@H\200\220 $@H\20\22 $\b\t\20\22\204\4\b\tB\2\204\4\b\tB\2\204\4"
+"!\1B\202\220\0!AH\200\220 $@H\200\220 $@H\20\22 $\b\t\20\22\204\4\252\342"
+"o\260\214\300:3B\351N\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHD"
+"R\0\0\0\314\0\0\0\274\b\2\0\0\0\273b\326d\0\0\0\4gAMA\0\0\261\217\13\374"
+"a\5\0\0\2\263IDATx\332\355\3351J\3Q\20\200a5\42\26\66{\fE\213l\'\21\301"
+"\264B\274\200X\230\233\210\'\21r\t\301&\22KS(\346\0\n\36@!v\353\35\304"
+"\231e\337~\377\5\36\263\363-<\330b76$I\222$I\222$I\222$I\222$I\222$I\222"
+"$I\222$I\222$I\222\244R\233^Ogw3\317A\201\302\232\246i\232\2063\305\n\343"
+"L\31\3028S\2060\316\224!\2143e\b\343L\31\3028S\2060\316\224!\2143e\b\343"
+"L\31\3028S\2060\316\224!\2143e\b\343L\31\3028S\2060\316\224!\2143\302\362"
+"\342\2140\316\324}a\234\21\306\231J\21\306\31a\234\251\24a\234\21\306\231"
+"J\21\306\31a\234\251\24a\234\21\306\231J\21\306\31a\234\251\24a\234\21"
+"\306\31a\245\b\343\2140\316\b\343L\204qF\30g\352\2370\316\b\343\2140\316"
+"D\30g\204qFX_\273\275\271\345\201\260\360\246\327S*\b\343\2140\316D\30"
+"g\204qF\30g\42\2143\3028#L\234\21\306\31a\234\21&\316\b\343\2140qF\30g"
+"9\215\317\306\4\24\357l\320\242\260zX\77\334\77l\357l\2730$4\271\230|\274"
+"\177,\227\313\36!\253\207\365b\276\330\335\333\265\376\342\235\r\b\343"
+"\254@d\204\365\315\331\2000\316\242\333L\36\357\351\361\351\370\344\330"
+"\232[o\365\272:8:\3109k+y\266\363\311\371\352ue\307\355\366\363\375syu"
+"\231v\334f\376\204UU-\346\213\375\303}\313nK\330\350t\364\274|.\31\31g"
+"\275\22\326\32\62\316\372#\254Md\234\365DX\373UU\365\366\362\346\303bt"
+"\353\257u=\254\373\373\206qF\30g\204q&\3028#\2143\3028\23a\234\21\306\31"
+"a\342\2140\316\b\343L\204qF\30g\204\2113\3028#\2143\302\304\31a\234\21"
+"\306\31a\342\2140\316\b\23g\204qF\30g\204\351\337\235}\276\177\22\246\330"
+"\352a\275\376Z\23&\316\b\343\2140\225\355\2140\316\bS\227\235\21\306\31"
+"a\352\270\263\361\331\330\2468\13\314\377(9#L]vF\30g\204\251\313\316\b"
+"\343\2140u\331\31a\234\21\246.;#\2143\302\324eg\204)\326\31a\212uF\230"
+"b\235\21\246Xg\204)\326\31a\212uF\230b\235\21\246Xg\204)\326\31a\212uF"
+"\230b\235\21\246Xg\204)\326\31a\212uF\230b\235\21\246Xg\204I\222$I\222"
+"$I\222$I\222$I\222$I\222$I\222$\351\17\375\2\2567\275#\221\237\246S\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\244\0\0\0\244\b\2"
+"\0\0\0\226\327\22\26\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\2\254IDATx\332"
+"\355\335\315M\33Q\30@QZp\t\224\200;\b\35Dt\200;@\256 \242\202H4\200\344"
+"J\220\334\0\222\33`\341\2Xx9Y\260\311\216A\16\316\314\334s\33\360\350;"
+"\262\365\346y~\256\256$I\222$I\222$I\222$\315\257\325je\b\211v\317\273"
+"\303\353\201wBz\30\206a\30xW\244y\267\244y\267\244y\267\244y/\352\24\353"
+"\360z\30F\304\273\42\315\273%\315\273%\375\321\361\355\270\276Y\233\341"
+"\362\245\77:\275\237x\'\244y/J\372\360z\370\364d\214\367B\244\77\226`\274"
+"+\322#7[x/D\232wK\232wK\232wK\232wK\232wK\232wK\232wK\232wK\232wK\232w"
+"K\232wK\232wK\232wK\232wK\232wK\232wK\232wK\232wK\232wK\232wK\232wK\232"
+"wK\232wK\232wK\232wK\232wK\232wK\232wK\232wK\232wK\272\356]\223\356z7\245"
+"\213\336e\351\2267\351\2127\351\2127\351\2127\351\212\367\365\3655\351"
+"\204\367\372f}z\77\221^\2767\351\2127\351\2127\351\2127\351\2127\351\212"
+"\367H\351\375\313\236\364\274\275GJ\357\236w,\307\364\364\373i\242\336"
+"\244\277\243\315\375fr\336\244+\336\244C\336\307\267\343\230Wc1\373\356"
+"\365\332%\206\354\233\355\227\234\2675\32\357\271K\363nI\363nI\363\276"
+"\244\3640\fw\77\357\376\377\261\362\276\200\364\346~3\225#\36\351\275}"
+"\330\322\375\273\333\37\2673\223\376\222\367\344\216\333\304x\233\25oS"
+"\342]\236\17\357\326dx\267f\302\2735\r\336\2559\360nM`~;\202\244y\223\346"
+"M\272\355m\245R\361\36)\375\370\353q\371g\234\313\366\366\357~\305\233"
+"\364Y\336\223\270\26\207\364e\274\347\362\234\250\325j5\346^\231\364\265"
+"Y\313\360\36\371\3347W\341\315\336\233t\305\233t\305\233t\305\233t\305"
+"\233t\305\233t\305\233\364\277o\373\260\235\2407\351\357jj\317\201#]\361"
+"&]\361\36)\275\177\331\363\232\267\267\367\235T\274IW\274IW\274I\317\306"
+"\373|\0\322\263\361>\223\341\2\37\241I`\220\256x\223\256x\223\256x\223"
+"\256x\223\256x\223\256x\223\256x\223\236q_\332\366\42=\357\306oh\217|\275"
+"\16\351%x/\346\206B\336\347z\223\256x\223\256x\223\256x\223\256x\223\256"
+"x\223\256x\223\256x\223\256x\223\256x\223\256x\223\16y\223\226$I\222$I"
+"\222$I\222$iB\375\1\233~\260\357a\336\335\365\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\236\0\0\0\240\b\2\0\0\0r\227B\361\0\0\0"
+"\4gAMA\0\0\261\217\13\374a\5\0\0\2\321IDATx\332\355\335\315\211\2A\20@"
+"aS\350P\234L\26\63p2\20#X\214@0\201\205\211D0\1a\22\360`\0\36<\316\36\274"
+"\356O\257\333\264\323\257\336;\13\243\365\211\250h\327baffffffffffff\326"
+"^)\245n\3319\7\240\353x\36\357\267\273\272@\327i\232\246iR\227\351\252"
+".\331U]\262\253\272dWu\311\256\352\222]\325%\273\252\333F\335\262{\302"
+"U\335\6\\\357\267\373\364\217\324e\272\252\333\260\353\351x\32>\6ui\256"
+"\303\307\360\270\375a\177P\27\350\372\250_\3679/\316\375\272w\302-\271"
+"\252KvU\227\354\252.\331U]\262\253\272dWu\311\256\352\222]\325%\273\252"
+"KvU\227\354\252.\331U]\262\253\272dWu\311\256\352\222]\325%\273\252KvU"
+"\227\354\252.\331U]\262\253\2723u\355\226]\251q\253;/\327\307\345\324e"
+"\272\226\35\267\272\363rU\227\354\252.\331U]\262\253\272dWu\311\256\352"
+"\222]\325%\273\252KvU\227\354\252.\331U]\262\253\272dWu\311\256\352\222"
+"]\325%\273F\327e\273\226=\374\255%]\274kP\335~\335Gp\r\247\233y\377\30"
+"\256\201t\3\272\206\320\r\353\n\327\r\356\212\325\325\225\251\253+S7\363"
+"\332\273\367]\20W\216n\316\376\234\353\345\232R*r\271\325\333jj\244\303"
+"\376Pj\310\247\343\351\327\313\215\347\2610m\346\326\253\361<\226\322\315"
+"|\26\277\266\202\377\16\315\331fRp\274\352\6pU\227\354\252\356\253\\\13"
+"\276\211QwF\256\265\367I\345\353V\376\364\245k=\335\372\'\25\67\341\232"
+"\363X^\271\377-\224n \327P\272\341\\\203\350\6u\305\353\206v\5\353\352"
+"\312\324\325\225\251\253+SW\327\237t\347\271wI\327\2\315v\253\226\256\21"
+"uue\352\352\312\324\325\225\251\353\26M\246\256\256L]]k\353n7\333\n\23"
+"/\350\232\371\253iO\273.<\205/u\13\272\326\177D\352~\253\253+SWW\246\256"
+"\256X]\357\2713\3225\336\244te\316KW\346\324te~W\247+SWW\246\256\256L\335"
+"L\327\202\'\225\250[C\267\305=\366\352\352\32UWW\246\256\256\363\322-\365"
+"\33\301\224\322\365r\325\225\246[\377\337JVCWW\246\256\256L]]\231\272\272"
+"2uue\352\352\312\324\325u\356m7\333\'tum\243\277\236O\252+S\267\376Y\277"
+"VI\267\362\t\335VOW\327\240\272\2722uue\352\352\312\324\325\225\251\253"
+"+SWW\246\256\256L]]\231\272\2722uue\352\352\212MW3333333333\263O\4\255"
+"\42C<B\375\306\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0"
+"\242\0\0\0\230\b\2\0\0\0\350q\245\207\0\0\0\4gAMA\0\0\261\217\13\374a\5"
+"\0\0\n\255IDATx\332\355]\277\213\334\306\36\327\271J\361\212\235\316E\n"
+"\2534\244\270Qg\34BVex\315f;C\232Ui\223\300\261\377@6j\303\203M\344\316"
+"\16l\220\273$\360\216-\263\367`\203\334\235\16\326\350J\31\66 W\336\205"
+"=\320v\227Bp\361\273\334~\365\235\321H\232\31\315\2472\366\42k\346\243"
+"\357\357\357\314\327\262\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\ft\307\221\256"
+"\13s\373\256eY\16uz\275\336\207\177s\203\315v\23\307q\361\347\355v{\36"
+"\237[\226\2658[\30\232\345\205C\35\267\357\332\17lJ)=\246\37\375\353#\356"
+"G\355\257\366\361E\34\307\361\371\305y\34\307\5\375\6mR\353O\374h\31]\327"
+"\214h\31\215O\306\16u\314\2367\207\341`\30\316\302|\227_7\216l\235\5\323"
+"\340\226\3627\20\t\333\266\203i\320\n\273\207\370\266m\333\360\42\f\336"
+"\310k@3s\353s#\334\2\b\316\326\331\265\364\310\326\2317\362\f_\332\22l"
+"\310\346\217w\223Ur\255,\344T\343\22\305\315\266m\3778\375\361\213\177"
+"\177!\344i\257\377x}\223\0\211\343x\263\335\334\3713\322#\224R\313\262"
+"(\245\244G\36}\372H\310\377\376\352\347W\317\276y\266\331l\214\334\376"
+"\37\306\'\343\212^t\264\214\374\211\77\34\f+:\300\266m\17\7\303\352\21"
+"y\276\313\207\203\241a\366\357m\345\336\320\6\2\331\341`\30L\3nGa~:\'\204"
+"\230\\\307\220C\210\13v\33NK9\324\341\13\334\363]\336\351\240+\230\6\34"
+"\232\271uM\310\27\307\373\23\277s\4\23BX\335\351p\26J\225ur\373n8\13\215"
+"\2\207\264\37\223\251\223\215\340[ka\222\354d\225t\242\4\342\366]\274y"
+"S%\225\310\24\353\347\273\\s\246\275\221\207\337\213\361\311X\255\325\371"
+"\23\37\371\5\353\354\224\3419\216\226\221\2426\214)8\32403\212\344XE!\276"
+"S\254\273\3104\222c\235\334\23\207:H\5\256\t\323H\216\365\13\66\360Ac\3"
+"v\272\336\322\205\333w\177_\374^\372\263\347\77<\177\372\365S\261[L\217"
+"\251C\235\242\t\320\262\254C}\200\257\377xmYV\232\246\351\333tq\266H\337"
+"\246i\232\n|\223p\26>\371\352\t\374\233\375\325\376\361g\217U\355-D*.\201"
+"Z\253\310\77W\254cf\353,\234\205\336\310\23\245]0\246:\337\345J\266\34"
+"\21B09\20!\34\27M\200u\24\217\223U\42\204o\214\345JV\211zf\13#R\259&\204"
+"\370\23\277\201&\223|\227W\317\304a\230\236\237\316U\342\30S\223\250\302"
+"qAp\363]\236\363\323y\225X\0\303\2642\25\216\341`X+\307\255\20,*\307\216"
+"aZ\201\4\231m\333\245\34ps\354\366]I\372\0\253\244qJU]\276\313e7\322\245"
+"\251\276p\26\362ii\216\342t\3\335}|b]\3520Jm\244\307\'\343\322}\341\13"
+"\314\244\355\365\314w9\237r*]\221\244}d\245\352:[g\34\272\310\33y\222\34"
+"\250\1\20L\3\16\375\4\257KR\325=\77\235\303{\301\341\243J\250\250\5V\325"
+"\334\276[\207\201\2537\251\t\2771\207\303RS\306\243>p\3447J\23dry\335\260"
+"\3\314a\222\225\343\230\233i\330iMV\211\32\65(\216l\255\242\34\3631]\352"
+"\323HQ\251,u%X\325\265\322\34\3631\r\253\356l\235\311\36D\261\352\34\r"
+"8\346[8\34_\265/\320\260Uf\362 \360\315bJ\200\311O\206}\330\226\5\32&F"
+"\340:\25\5\223\301\202}\2616\263%\260\252\301{^\245\6^]\340\263\5\266m"
+"\13O \326\36+3\211rijE]0\345\376`\327\244\235\366\22Q\357\244\231I\256"
+"\222\nu\250#6\245Zo\34\205\3270\32\253k>\325\rX\350|\227\313\345|\341\375"
+"\5m\42(Q\2459\270)\243iG\f\260\246x\357\37v:4\3>\266\4b\324\246\213\31"
+"\300z\360\335L\35\21e\326\257\37\250\3135\252\267a\305\202t\276:%\312L"
+"\2\r\357\f_\317\341=\276P\352\320\77]\276\271D\236Z\360\277\355\334%\r"
+"H=\227\246\351\345\233\313C\377\372\345\340\313\366\23\234\310\225\20B"
+"\256;\t\244\252\3\212\31\r\345I\204\250\24\355c\345\212\261/\34@\267l\230"
+"\361\16\202\322\32756\343\210\1\351\4\216\226\22f\333\\\34\60\274\23\213"
+"\377-\220\372\340\341\'\17\255N\342\376\307\367\221\n\17\330\314&h\6\376"
+"\217\263\263\263\212O\350\2\220>\24\260\231\366\3\273~i>>(\315\310\23\272"
+"\315\371\212R\2\371\225\3\233\t(\324C`;\306N\by\377\376\375\301g\35\241"
+"\236\226\357\362*\223e4\0r\243\0o\13\371\4Ni\6D\31\b\365n\31\346\216s\214"
+"\27\350w\177\276\3\266\261F\232I\357`\351t\273\335\242B\205c3\346\307B"
+"za\351\333T\224yf\224f\300\315\306\315c\343\260+\372\1I\22\260\245\365"
+"Jsu\30\232\205lB\275\322\f\30\25\2444\3j\337H3\337\226J)\315\307F\232\255"
+"\373\37\337oX\37\64M\263q\263\205\200U)\n\243Y\327\221\270-\42\276\210"
+"\333Q\332F\3456\31:\13\234o\304F\263Q\271\212\342\236\331\2C\263\201\241"
+"\331@\35\217\225\215\346\342Zb\203\356J32\35\277\277\332\233M\27\350\215"
+"7Ms\257\327k8\26T\27@\205Q\23\333|h\300n\247\0T\30k2\355l4\27\343\220\253"
+"(m\340\t\35\242\31wbA\340\200\227{\242d\21\251\264\253\177\310\335\221"
+"f`K\221M\34\2344\3OG\326L\2144[\42Z0X\347\237\260\321\f<\35Y39\217\317"
+"\215\263\215\364C[\253\315\303\'k\220\17\321\370\246\21\261W\206\t<_\303"
+"&\315\260\357\200t\31\220]\373\272\2\271|`39\3421\346\200\nH\204!\315\363"
+"/\277\375\322e\232\221\313\7\66\223\303\215e\246\31\20hds.|~Wo\354\257"
+"\366H\377\313\375\274j\333]%\232\201#\\\375~\37\371\220\227\77\275\354"
+"&\315\277\376\366+\362\227@\246\263\211h\5>zkn\244\20rs\24\274\77\34\367"
+"\3001K3\34\21!\263\355i\232\276\372\371U\327D\371\362\315%2\336\5\266\361"
+"\335\237\3578\206\225\362\344\264\1\275\215\77\355\370\342\247\27]\243"
+"\371\373\377|\217\374%\260\215\315\25\252\341;\264\361WT\342\347\323w\352"
+"\236\2\370b\226\346n\200\203-\7\376\216o-/W\256\276-\360\305,\215N-\2."
+"\17a\232\210\326\221\214\30\323\275\347\200\222kz\332\34\254\267\361\256"
+"`G\\n|\37\210(M\331\204\336f\272\22\30\63\254\\i0\211 <a\255\2059s\200"
+"\336f\35|\247\361\375QL[\1_;\335\316|P\330S`\32\363\340PG\327[\265\231"
+"\34cX\261\2653\356\2\376\364X\207\255hy\357\37\223\361\22\273\237\42\1"
+"\33\22\326\371\361\232\335\273\314:\212\n\26e\326\315l\316\21\343\30M\253"
+"M\302\204u\212q\3510\210\226\207\374\302\42\310:\205\203\20\242\201;\226"
+"\357r\326\246Lx\33\333\237\360[\32\370\262.Xu\24698\206\213~\327m\215&"
+"b\372\229\356\177V\227i\16\216K\343IY\206u\227\n4\307\214n\25\231\346\343"
+"\30\366\2748\374\233\32Q\372\256\34\353\'\204(\344\221e\353\214c\215\245"
+"\352\272M\7\233\303Q\344\30S\256P\224\305\267:B\b</W\212\311\315\267\0"
+"\217\263\251bc\274\221\'s\216\214{\246_\351\27,\351\305\343\245:\226\273"
+"\300\342PGBS\235\357r\356\4$\\\342k-\203\215\364\305J\305\256\312)\77\251"
+"jY\363\3239\267sT\252\371\344\362\274\370\26P\205i\333\266[\367\313\262"
+"uV\245\212\200\251\323\2649\224[\224\311aM\4\376\23n\337m\205\354|\227"
+"s\4\207\254\34\2670\300\227\317\353.\265\243\334\216w[dg\353\314\33y\25"
+"\337\31\63\305\230\265\340\321&0\337\254\20\246\13\65\36L\382\251\202p"
+"\26\nQ\241\230\257\77\337\345R\3445\5\32i\201L\337\bw0\r\2048\344\331:"
+"+\330\25\365z\16u0\37\242\222\243\2330\216q\262J\204\177\277\204\20\267"
+"\357\372\23\177~:Gj\365d\225D\313\310\237\370\303\301P\370\373 {cjm\347"
+";\252\225\351p\26>\371\352\t\374\233\375\325\376\361g\217YoY\340\340\376"
+"\237\327\7\247oS\216\203*\254:f\376\337y\351\225\266\317\177x\376\364\353"
+"\247\226\272\300d+\363]\336tkj#@v>\311R\203\252\333\365\2201M\337\310\367"
+"\255\t\307\254LG\313H\352\354\17\332\371G\256W\37\216Y\231\256\222(\226"
+"DQ#\13-\272q|\3034\376\304T\225\214q\213B\214O\327\350\3111\253\305\22"
+"\222Yl8z\304WK5\347\30\37O\177\30\321J\2364\30\16\206L98-c\212\252\6\354"
+"\3065\223\220l\326\244\272\352nG\215\371\277[dK\42\n\336\310c}\371d\225"
+"\b\274QW[\247\354\303\204s0\rZI\361;\324\t\246\1G\307R8\13\65\b\24+a|2"
+"\346k\365JV\311\370d\334\200\2108\324\361\'>_QD\327\4_\355\241\310\241"
+"\202\2227\362\4\212\270C\35o\344\205\263\260J\2113ZF\222\24\26\217\244"
+"\22\353\357\276\375\256\342\340\272\375\325>\276\210\3438\336l7\305\335"
+"J\361E\fO\341\273\251j\270}\227\364\b\245\364\321\247\217*\256e\177\265"
+"\177\366\315\263\27/_\30\31\276{\307km\314\316\326Y\264\214\242eTkG\260"
+"\261\304\265\4*\362@\36-m\310\256\213`%{\77\344![\362\3635\341,\354h@\\"
+"\207+\356O\374\372\372\372\370\314\274\77\361\215\212\256+\201\34\316\302"
+"\26\217T\345\273\334\210o\243\312\\T\37\'2\25\23L\3u\331=R\235oB\210\373"
+"\271K)u\373.=\246\242\346\305\27\361\367\342l\2618[\224F\336\206\346\26"
+"X\247\307\324\266m\373\201m\77\260\13\333\331\353\365\36~\362\360\316\337"
+"_\276\271,f\250\25\31\225\242\327S\3^\r\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f"
+">\304_\2218\36\242C\2074+\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0w\0\0\0\304\b\2\0\0\0*\5)\6\0\0\0\4gAMA\0\0\261\217\13\374a\5"
+"\0\0\3zIDATx\332\355\334\301M\3630\24\300qV\310\b\31\201n@7@\335\200nP"
+"e\2\324\t\220\272\0R\'@\235\0\251\13 u\1\16\35\200C\217\341\200>\251\237"
+"\2v\234\274\367\372l\377\377g\16\225\233\370\227\330\246wwDDDDDDDDDDDD"
+"DDDDDDDDDDDTv\313\207%\203\240[\3234\227\257\313\372i\315P(\266\177\335"
+"\367}\177\371\2724M\303hh\315\25\375\277v/;\6D\245\323\307\251\277jq\277"
+"`L\204\3536]\377\177\307\367#\303\42\217^\77\b\6\345\321\33\6\203*\350"
+"\r\203A\25\364\206\301\240<z\303`P\5=\30\224\354\360v\350\307\5\203*\350"
+"\301\240L\347\317s\237\30\f\246\265}\336\366\351\235>N\f\335\330\332\266"
+"\35\211\336\260n\3231\200\2\350\205\277\0\30\224Ao\371\260\fO\331\373\327"
+"=\3038\13\275\237\21\34\363M0\222\23\321\273\236\r\302\263\n\fNG\357Z\266"
+"\244\77\246\261\350\r/\317\361\27>%\2407m\22\247\271\343\5\203*\350\315"
+"\237g@o\212c0\250\202\236\354\255PE\253\307\225\310\304\n\203\177\3264"
+"\215\324\350\300\240\321\235\376\327i\202\252\31l\333Vv\r3\272IX#\203\307"
+"\367\243\370\245\27\336\360\256\216A)\364\206\205\17oT\304`\24\2759\373"
+"\2440h\364x\13\203q\364\346\237_\201\301\bzRg\261\252f0\212\236\340\201"
+"\212J\31TE\17\6o\266\246S\35\203\6\350\301\240\21zU3h\211^\245\fFo[\355"
+"\23\261U0\270{\331\335\374\236-\234\301\305\375\302\303\177*D\357\247\355"
+"\363\26\364,\30l\3336\313!^\77\255]\35\235\17\63xx;\200\36\fzE/\225\301"
+"\363\347\31\364`\320+z\251Zd\303\2407\364R/\202\f\30t\210\336\204\t\315"
+";\203>\321K\375\234\256\31\214^#\253\307U.\367\234_\6=\243W\b\203Q\364"
+"\34~\350\314\30\314\364\6\314\214\301(&n\267$\262a0\272\247\347\371\205"
+"\352&\33\222Z\353\3\\\313\314\313\371\274\236D\177,\213g\f\231\302\313"
+"\344</\313\24]&\347\335\257.\6\63^\307\310\345\32\311~M.\13\6\263__\366"
+"\317`!{%\236\31\214\236\241\316\354\370\213O\6\303g\250=\277\243f\303`"
+"t\311\302\317\203f\306\f\346\265\311\220%\203\3213\324\271\236\223\363"
+"\303`i\350\371d\2604\364\34\62X&z\336\30,\26\275T\6\365^jKFo\2\203\32\13"
+"\64\345\2437\201A\320\313\217\301Z\320KePv=\254\42\364n\305`]\350\335\204"
+"\301\32\321\263g\260F\364\214\31\254\27=K\6\253F\317\206\301\332\3213`"
+"\20\364~O\366\350\t\350\2513\bz\241\244NG\200\336\254\1\32\303 \350\305"
+"\233yj\r\364,\30\4=u\6A\317\202A\320Sg\20\364\324\31\4=\13\6AO\235A\320"
+"\263`\20\364\324\31\f/\231\202\236\30\203\240g\301 \350\31\61\bz\26\f\202"
+"\236\21\203\240g\315 \350\2513\bz\26\f\202\236:\203\240g\301 \350\2513"
+"\bz\352\f\202\236\5\203\240\247\316 \350Y0\bz\352\f\202\236z\335\246\3"
+"=\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42"
+"\42\42\42*\254o\306Q\324\225Y*\353\221\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0\270\0\0\0\240\b\2\0\0\0\60\3241f\0\0\0\4gAMA\0"
+"\0\261\217\13\374a\5\0\0\bIIDATx\332\355\235\77k\33I\30\306\345\253\\\244"
+"\320t)\256\360\224\206\24\36u\201+\262\373\rd}\202\363v!w\205\330.\271"
+"\203\363)\245\t\30\364\5\4\333\346\nG.\245\3\37J\2475\330H\245\f\n\254"
+"\273\25(\260\356|\205\300\210$zw\264\232\37533\317\2572\210\330\331\331"
+"g\336\77\317\214fj5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\240+{\30\202\206h\324"
+"\353\365Z\2556\273\233\315f3\f\210\245Ba\214\211#\3019\347\7\\\b\301\352"
+"\214\37\360\347\77\77O\375\207\323\333\351b\261\210\27q\30\206+\r\r\206"
+"\3\b\305\264 \341:\256\3438\215\243\206\214&\344\271\377r\77\30\16\302"
+"\353p0\34\214\3031\42\215\226\221\303;\361\372\27\375d\231<\26B\262L\202"
+"^\340\235x\2141\214\2776\372x,\225\376E\37\212\251n~\tzAa\361C>\3064D\3"
+"o\247\22x\'\336\350j\364XaFW#\327q\361\246\312\224H4\217\36\65!\232G\336"
+"\211\207\267V(\256\343j$\21\363\242\213\6\3551\347<\350\5/\177y\251\366"
+"\327>|}\b\257\303\37~$\216\304\376\263}\265\177\356\362\323\345\233\337"
+"\337\350k\350U](\235\323\316\333\77\336\356\370K\246\267\323\331\335,\f"
+"\3030\f\343E,\357\233\271\216\313\352L\b!\204\330\335\222y\370\372p\366"
+"\341\354\335\237\357\220\37\24\67\65\223\233I\346\200\77\271\231tN;\256"
+"\343*lY\31c\255f\253{\336\335\361\77\206\266He \251\270\237\3019\337\305"
+"\277\361\333>\336\362\256\2636C\353\33\315#\277\355\227\342wq\316\375\266"
+"\237\241\320\36]\215`\320eom\2665\320\252\323S\264\232\255m%\36\315#\244"
+"\241,\36\311V\243\34\364\2\316y\5\265\276\255\\\340\265lA\320\13Lr&\266"
+"\225K\347\264\3\r\244\27%\362*\211\346Q\253\331\322(F\312g\322\240\27@"
+"\f\224J\344[\315\356yW\273\352\2171&\337\31\5\275\0\345\355N*\211\346\221"
+"\326.x\253\331\222\f-\223\233\t\264\222Q%\375\213\276\1c\'\337\366C+YT"
+"b\2301%i$\216\256F\20I\255V\253\311\250$Y&Fn\351\220\254pQ\333Ju\302f;"
+"Q\r\321\200VR\350\236w\221\244k\322K\236\226.\t\311x\257\366\224r\222\205"
+"\232F\276Qq\361\326\266\202_F+\3112\261h=\2101\226\272\276jg[(\243\25\213"
+"F&\325\235\264\331<`\214\245\306Z+\n\333\324\322$Y&\25\\\7\256Z^6\274X"
+"\341\234\323C`W\16\336\214\353\270\251\323\311\344\240\233\352[c7\206|"
+"\350\355_\364-}\362\356y\27\372X\'\325\21540\1\245\326h\223\233\t\224\261"
+"m\23\24\315#\323\22\20m\302\242\200%\n[\213\266\303q\316aNg\206^d6j\216"
+"\321\271\26\313\350\251\320\t\310\20[%5\234 \351\354\236\200L\30C:\234"
+"`\307\271\222\42O\373\240B\207\23\303]\243b\333F\275\203\n\35N`\257)\254"
+"j5\216\315\364$\210\346\21\336\375\266\343I\254\272\'\313D\327\7\243\255"
+"X\204\223\f\370m\337\300!%\232:\215\345_\341 \255\345\352\17]\306\242\331"
+"\311\251\375\321\257\2445\355y4\231\201\372y\334D\331e\354\372xQ\20[\4"
+"\65[[\245U\21726\327.A\'k\212(\316Q\306*)i\313\235\207\77\251\372E\216"
+"\343l\372\350\343\77\37\361\246w$\216\343\313O\227\233>u_\351\363\335["
+"\242\205C\336\311;\373h\343d\322K\235X\334) \373\344\335T\252I=\304\261"
+"\3\323\333i\34\307x\315J\262\317\364v\272q\256\36\65\64\20\2128\22\233"
+">\32\16\207x\307\252 \6S\b\241\203P6\377/m\276\260Q9\343\353q\206\240^"
+"!`\310\26\3aVi\340A\320\225,\336nas\262\352\251gu\273\364\17\371\374\337"
+"g\274Z\265\20C\232k\366\371IID\331\364\21.&WNYC\232oD\231\335A(\252\205"
+"\262yH\253\36Q\370\1\207P\nc\261X\350\32Q\210\276\6\251G}\207\34n\354\220"
+"Y\235UZ(\240\42\344\352\271\345+\24\244\36\244\36\271b\26\251\247\300\324"
+"Su\241\34\2768\304\3733\36\324(\0B\1\20\n\320O(\367_\3561\216\20\312N="
+"06A*\247\254m\33\371\246\36b\347\33\310(\224\3\23\205\2\212$W\327J\201"
+"P\342\305\306\275\323\271\256>\330\t1\244\271\372\340\n\204\22\206\341"
+"\306\324#\220zTg\363\222\206\24\251\7\21\245\2\21\305\310kF+\33Q4\256Q"
+"\312*\321\355\354z4X\253\307.\374\202\362\16\371\255R\rj\24\302\234E\366"
+"Q\231w6\373Ry\177\341A\215P\312\332\361k\33\304`\346\275\365G\215P\210"
+"\357\215\242C.\246\222\r\257C\r\36\240\325l\341\270\245\2 \16\241\321#"
+"r\323E\26\356\226T\225wJl\32\324\244\36\372\350\16\357W\234\270\244&l\227"
+"U\311\326\24:\263\304\321\35\304\361n@\236\343\346q\206\32Q\2472\5\207"
+"_\354\16}d\204f\311\235(\265pm\355\216\20\247\202\353wg\tqS\17.`\311o\22"
+"\352w\25\30\235}\f\274\331\271(\350c\253\265\34XB\370\270\23143\243\253"
+"\221i\241\232\276\'\16\206\212r\373D\327\342\217.\316\r\271\255\2672\341"
+"D\357v\222\276\331\31}\262\302p\242w6\247+/\\\334\2430\234h\2772O\334\360"
+"d\302\343U#\234\230\3408\320AE\263\33\253\252:\337\f\271\263\204~H\375"
+"\256\301+\34\372jls\fL:\250$\313\4Um\346\346\321\264+\220\350\240\2\377"
+"-s\347h\332\320\321\265\30\22P\266\244cf7@\\\302\n\2576\333\3542\323\264"
+"\344\234\23\253\77\253\242\fg\250\310\17W\262L\214\35.\342\232[\24+\353"
+"0\306\350\322\304\374\25x\332^\304\32\320\nz=\325\nS\2331FGT\24\266\251"
+"*19\351\254C\357i\262\374z\344\324\354l\327\272\7\261\353\323f\255\320"
+"\316\344\212\316i\307\256AI-Vl\323\212\214Jl\\o\227)\354\355\321J\252\261"
+"\266Z@\265\324>h\210FjakC\260M\255^-*`w\324\212\251=3c,\325\260^\251\4"
+"\266\265Tn62\360r\316e\222/T\262\265VL\32\262V\263%\23J\261\4\226Q+f\224"
+",2\356\300jb\340\233r;iet5\322t\257SC4d\322\r2\216\262\200\234,\23\275"
+"B\13cL\246\7\206J\24\367AO;\23\264\360\263\275\23\217\336\343\367\315C"
+"A%*\333\201\365LTY\271\270\216+\343A\303U\313\327`\250\262\\\266\225\310"
+"\312.\202J\262 \237\324\327g\244w\342\2258\334\214\261\255\22\r6W(\233"
+"\227\31\6=Y&A/(\270\267l5[A/\220/\260P\224\224\237\206\276QL~1\206s\356"
+"\235x\331\364\361tV\5\322M9\2353\221\225\202^\340\267\375]J\31\306\230"
+"\353\270~\333\17zA\206P\247c\313\366={\32X\21\177u^\377\366Z\311o{\370"
+"\372\20^\207\361\42~\272chv7[\77E\236s\376t\317\311\352\215\212#\261\377"
+"l_\311_\177\377\367\373\263\17gq\34#\4\344h\264l\333MT\n}me]\213\\\355"
+"\344Re\277\7r\201D\300Z2\222\331$V<\253\236\13\255o\345J]\277\355o\345"
+"\375\347G\351\276\37\220\3626\312R\314\344f\342\267}\343k\325=\363b\314"
+"q\363\330}\345\n!\16_\34\346\364W\246\267\323\341p8\30\16\6\377\16,iw\367"
+"\f~6\306\2308\22\256\343\362\3\3169\317\354\210\254\334\227\331l\26^\207"
+"\343p\34^\207\26z!{\266=pC4\352\365\372\372\17\337\263X,\306\341x\375\7"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\324j\377\3\270\347,t%\370\343{\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\310\0\0\0\304\b"
+"\2\0\0\0U\370\371\262\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\b\200IDATx"
+"\332\355\335\301\213\333V\36\300qg\232C\2=\370\335Z\330\205\350\230\260"
+"\205\221z*\354\305\352i\233\335\203\307\375\7b\365\324\322\205\32\375\5"
+"\331\351\77`\320q&`\360\255\235@]\3458]\230\3409\325\32\230\342\34epAs"
+"\312\30\34\320\354\311{P\327\353\330\326\33\331\226\344\361\323\367s\n"
+"h\202\255\347\247\367~\357\367\336\323+\225\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\326r\217\42\270\225Y1\315\212Y*\225t]\27eQ*"
+"\225\256G\327\236\347\225J%\177\340\37\35\37QDX\307\341\363\303I\214\356"
+"Y\227\362Yj\217\42\0\25+\35\265j\255\335j\207\343\320\320\215|>Q\b1\231"
+"L\334\216k\325-!\4\325N)\206n8M\'\34\207\323\216\254\335j\347\323\25\332"
+"\r{\372_\302q\330n\265k\325\32\277\310n\23B\330\r;\30\6\213\325\42\34\207"
+"\371T\254\376e\177\361\377\6\303\340\360\371\241\246i\374F;\251\335jO\342"
+"%i96\254X\232\246I\276@\377\262O\214\265\223N^\236H\256\326\353\365\254"
+"\277\200\375\235-\271z\374\342\230\207\177W\315\306U\213n\215\2467l\261"
+"\226\366\302S\252v\205\367\213P\261\216_\34\177\375\355\327qW\17\252\7"
+"\362$\347\351/\247q\227\374\201/\377h\263b~\364\247\217\342\256\276\372"
+"\371\225\357\373<\371;<\36\334V\224#\217\360\254\272\245j\231\27\42\217"
+"\325\363zo~{\263\364\322\315\273\233hr&#\376\300\277\372\375*\356\243\231"
+"\16\332y\263\231\244i2)\267\4i\224B\233\13\266\22f\321\2207\253n\365/\373"
+"\t\23\331\3231\177\367\254\273\305\16(J\372G\337$\232\330\276\225\20\242"
+"\177\331\77|~\310/\236\207\351\317\223|\32\330\252[wd\b\26\345lW\275S\267"
+"\3432\35\224\355\2572\227\310V\270O\231\313t\4\303 \267\356\273p\343\273"
+"\245I)%\207WV\335Z:\r\245\360X\362\16\25\364T\302\220e\327\37\241\b!WV"
+"\303\272\245\217\2622\335\204\20B>[0\231L\234\246C\255H\201Y1\'\267QfB"
+"w\351j\2105\246\317\221BW\250R\360Q\253\326\344-\26]aVY\206\305\266J\261"
+"\341\222\246iq\355\26\231\325L\270\35wq\211\201\252\t\236\305\7)yN\30+"
+"\7\266\263\217\262\362\217\357\334\262fV\234f\333MD!HAB\215ipIv4s\206n"
+"\24*Oh\325-\362\242\0\0`\375\21\20\243\236\315G\315v\303&%1\77\366\t\307"
+"!i\345M\3120\32/3\223\370\377\347lv\22#\30\6\314\205\255\304\254\230s\231"
+"z\305\226{\254i\351\\M\367\254K\346\346V\232\246-\316F(\274\307z\265\242"
+"\221\257\17!b\210#\331L\253\366\366\262D\272g\335\2\276\335 \207\242\13"
+"\206A\241\203\3\371\302#b\5yc/_`S\334FK\376\3141\272\331\2607,n\243%Y-"
+"\31\216C\242\253$$\357\35\t\206AqS\203v\303.\316\336\233\334\302\211(#"
+"X\364\'S\b\3414\35b\366\264\42\212v\253\315\34\306{\241\350\264\200\210"
+"\331W2}\243N\367\254K\321\3056\354,\353^/\212g\272\2\0\0\0\0\0\0X\305\7"
+"\371\177\244\333q\237<~\42\312\342\346\77\67\243\321\210\337 \7\232\246"
+"E[|\255g\226w\341)X\354\213\323\245\335\263\256\323t\354\206\315*\344\24"
+"E\325\310i:\335\263\356\334\4\277\232S\373\222\27\363q\fn\212$\'b\3443"
+"]\226\367\311\24\225J%\356\222\344\310\32\254\352\364\337\261\205\251\353"
+"\272\2027,Y\222\306\234|\272A\225dY\251\2027\274\311\361nX\211d-|\16\317"
+"p\256]\241\344~n\336\335\\__S\33R\344]x\222\366L\251\212%\271\37I)`\315"
+"0+>f\325\36)V\261\342\357\207\363 S\'9\2443\207\370\375~\316\317\220(\13"
+"]\327\365}\375\301\207\17\22\226\2\326\254X\313\236\325\363\327\347\236"
+"\347\365.z\252U\254i\373,\204\320\367uC7\264G\232\256\353T\254\324\215"
+"F\243\363\327\347\276\357\373\3\377\364\227S\177\340\323-\0\0\0\0\0\0\0"
+"\0\260\253>\330\3727\210\326\371\13!\202\253\200\337#EB\210\247\177{\372"
+"\360\341\303\255\24\354\375\374\77\322\254\230\232\246\31\373\306\354l"
+"\364\367\377\372\276\347\365\250\r)\322\367\365\37N~\210\376\35M\32z\27"
+"^\317\353y\27\236jK\337$\257a\345\230\223\324\325\252\265\270\322v;n\326"
+"\237\276wGJ\201\5\357\351\267X\361\213\256\6\376@\251\212%Y\323X.\227\251"
+"\n\271U\254\353\221Z]a\341\266\216l\225\344=\347\n\366\17\222\212\305N"
+"\350\334\212Z\265\315\24\321\360d\215\246\33\351\306\2549,%\315\273bIn"
+"\311\330\247\305\312\243bI\236\355\35\256X\222\255\337\304\357i\206\263"
+"\361\33\242</\217\235v\367r\276aC7~\355\375Z\372_\312\316\37\370\236\347"
+"\371\3\237\354hF\245].\227\315\212\251=\3224M\373\354\257\237\225J\245"
+"/\17\276\374\361\345\217*>L\34\305\261=B\b^e\0\0\0\0\0\0\220\36&\244\327"
+"\240i\329\252Xf\305\354_\3669\277~\r\3010\b\206\1\207\254\316\23B\314\276"
+"\235\234\305\312\253>\220\263o\314gz\343\17\207\317\17\347\336\362K\243"
+"\265\222\271S\354\243\'\263\320\5hV\314\270\227\277\323h%d\325\255\245"
+"\5\30\216C5\178I\22oJ\26:\206\343\220&=I\b!9\226\241\270\'3HN}\311g\243"
+"\222\2Q\204\244\0\373\227\375\342\16\222\'R\fs$\f\335\220\227^\241\367"
+"\3259MGR4\301\220\255\367\261$[q8P\255$\204\210;\370\245\335j36\224\27"
+"\235\344\261$\317\274\344\34\303\356Y\227rI\36N,\246\33\234\246C\311\274"
+"\327\252\7\303\240\240\203\344\315\324\252\265\351\3600\30\6\264\364\177"
+"0+f8\16\213\236\326Kc\220\30\216CF<\363\21\3\205@1\2\0\200\255i\267\332"
+"\355V\2738\367k\325\255\376e\237\340)[\323\244WA\352\3264\5\312\314i\206"
+"\346^\255\251\374s<7IO\3323\23\206n,N\376\364/\373J\346\350\205\20\213"
+"\371\364\311dB\3668\375\202\216[x\244^J\320\320\r\311*+&\273\322$\237\311"
+"W\251\233X\2349\335\271%\220{\273R\326N\323y\374\227\307\362\277Q\346\325"
+"m\267\276\325\370\301\207\17\334\237\b\3443\213\256\24^{$_XK\244\225S\330"
+"\241\344\330pi\344\36\365\203\234\267\220~\374\276\30i\251\272\347\42\356"
+"f\211\334\263*n\267\343\26d\2104\27\0\220|\317\334tkJ\362P\243\335j\337"
+"\221\36\304\320\215\344K\256\247[\234I\215\346\244V\255\331\r;\341\37O"
+"\177\236`\30\330\r{+\317\275\20\42\232\362[\365\221\260\352\26\13\367v"
+"f\220\345v\\\253n\345P\303\204\20\265jm\361\13\24w\307\237Ja\231$U\221"
+"i\236B\2365Px\237\367^\21*\326A\365 :\307u\251L\17\226\361.d\307@\330\337"
+"\331\252\226\371\275\42T,\267\343~\361\367/\342\256~j|*\77\27\303\252["
+"\3263\313\363\274\331\204\270(\13]\327=\317\373\346\237\337\310\33\313"
+"\267o\337\306]\275\372\375\352\343\77\177L\227\262\223\344[\370\223l\263"
+"\226\274\34!I7:\227\34)\310\26x\365\273B\371x\352\350\305Q\326_\340\344"
+"\345\211\2549|fQ\261vR\245R\331n\305::>\272yw\23wU\325S\32\325\257XO\377"
+"\361\364s\363\363W\77\277Z\274\364\346\26779\34\t\31\327h\235\277>\377"
+"\312\372\352\311\'O\bWv>\330\262\33\366\354\354[\302\24\345\2061V\351\375"
+"\27\204\6\303\300i:\274PN\331\32\346v\334\204\331\321\315+V\24\302\333"
+"\r\233\371c\244\\\261\212f\217\42@\26\356Q\4I\272\316\270#\226G\243\21"
+"\207\16\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0w\336\177"
+"\1\316\243q\\\305\236Yb\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rI"
+"HDR\0\0\0\274\0\0\0\276\b\2\0\0\0\0\343\362\367\0\0\0\4gAMA\0\0\261\217"
+"\13\374a\5\0\0\13\207IDATx\332\355\235OL\23\351\33\307GO=p\240\267\306"
+"\220\215\343\255\4\215SN\240n\354pc\315/\301\356\211\42\311\266\236\0\375"
+"E(\'A\42\f\'@\263H9-l\2\264\247E\22\265\334\30\214@{\2425J\332\343\230"
+"\37d\333\333\220HBo\354\241\311\306_\264O\247\355\2743\357\264\337\317"
+"\265\5\312;\237>\317\373\367y\5\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0P\201Kh\2Q\24\305\253\242 \b\262_\246"
+"\337yzz\232\316\244\5A\320\276h\232\246A\232&R\304w\323\'I\222\354\227"
+"[[[\275\35\336\232\177U\356(\247}\3212\231L&\223I\177L7\217F\227\232D\224"
+"@_\300\357\367\313weW\213\213\321_)\234\24\324]U}\257\252\273j3\307!g\343"
+"\223|\321\305h\3768\177a9\331\317\331\350b\324\'\371\360\24\34\23W\42\243"
+"\21[\\\371\241=\221\321\210\333\355\306s\341\24\331/\'\336&.\270$\266\26"
+"\253\330\321\6\226\22\16\205\223{\311\13\356I\356%\241\16\27\321\205\223"
+"L\4u\234\321\317uDt!\324\21E\21Cn\213p\273\335\312se\350\321\220)\277-"
+"\265\237\322O\365L&\243}\321\344\273r\377\203\376\37\276-\276\36W\337\253"
+"\342UQ\274*\212\242(\335\224L\31\275/\277Z\236\230\232\320u\35Q\200!\201"
+"\276\300\371\327\363\372\307\303\341P\370\373!\2612\255\224\373)eZ\371"
+"\336]\331/+\323J\342m\242\236\24\231\77\316#[1\f0u\16\216\224i\205\316"
+"\bUI\363\375P\77\272\30\255gx\345\224\221\371e\7ux\377\376\337\337\275"
+"\367z\353\371%L\347j5M\333\334\332\254\371\307\373\37\364g\77e\35\61\37"
+"\350\fi\224ieG\335a\267\2\300\t\2366\317a\37202\32\2014&\244\244\247\223"
+"O\233\'\13\317-\314q\236\252\270\226F\24\305\203\17\7\306SR\361\2548;3"
+"\233;\312q\370\277,\277Z\236\235\2315\236\252\16>\34p\353\r\277\322\370"
+"$_\366S\326\370\326\205\370z\374\312OW&\236M\234\236\236r\370\357\350\247"
+"\372\304\263\211k\327\256\305\327\343F\336\357\355\360r\333\305\341T\232"
+"@_\340\340\303\201\301NL\356(\327#\367\4\7\203\374\317vh\232\26\34\f\366"
+"\310=F\302\241\247\315s\360\341\200Cox\224&\34\n\377\365\372/#\306\24\317"
+"\212\343c\343\355\327\333\325]\325A\275\26uWm\277\336n$[\271Z\\\34zs\231"
+"Cc\376X\371\303\310;S\373\251\366\33\355\363/\346\35\332\341\235x6\321"
+"\351\353\254\30r8\364\346\262C\215\231\235\231\355\276\323\355\364\rr\351"
+"L\272\375z\373\362\253egy\303\2214\201\276\200\21c\n\'\205N_\347\304\263"
+"\211\206\31c\17\77\36\376\365\376\257\305\263\242S\274\341E\32\237\344"
+"\333X\3330\362\316\366\33\355\245#\1\215\304\346\326\346\300\340\200S\342"
+"\315eN\2141>Vj\324\5a\375\264\362\377U\362\306\366\371\33\373\245q\273"
+"\335\33k\33\r\277D`\26<xc\2774\2117\211z\16\37\65!\336\16\357\322\357K"
+"\315+\2152\255t\335\356\202\7\325\322\377\240\337\306uM;\245\221\375rS"
+"\255D\232\313\334\302\234]\235b\333\244q\273\335\2117\t<\373:3\273-\235"
+"\33\333\244A\347\267~<m\36\203\363\24\215 Md4R\347\36<P\242\367^o\240/"
+"\320\370\322\270\335\356\231\3473x\336&\306l\213\223\324e[\376I\42\61\25"
+"\317\212\205\223\2T\370\226\302I\201Xdp\265\270\224\347J#K#\373e:1MNMj"
+"_P\247\343\377\320\276h\364\42\303\320\243!+GRVK\263\264H\315J\245\366"
+"S\316\335\352\300\224\315\255\315\355w\33357\254\203\245\t\207\302\304"
+"\344o\361\254\30\34\f\302\217r\f\f\16\20I\252\353v\227e=bK\245\241S\357"
+"\344\324$\nH\21\350\272>95\311C\260\261N\232p(\354i\363\224{5w\224Cb\252"
+"\310\374\213\371\324~\252\334\253\2366O8\24n(i\35003\362x\4N\30\201\336"
+"}f\3150\312\42i\3500\223\332O9kg\270\215\250\273*\321#\366\264y,\250%`"
+"\2254\277Qa\23\375\337\252\240\243r\305B\5\316\220\306\'\371\210\375\17"
+"\361\3658\372\277U\241i\32q\342\256\353v\27\353ZIVH3\366d\214xu\341\345"
+"\2<\250\272g3E\365l\42O\42\216\227\346~\337}\2427\323x\273\304\255\t6\304"
+"0\212hpgH\23\350\13\20+M\13/\20fj\204h:O\233\207\351D\37siB\241P\271\227"
+"\n\'\205z\252\0\659\233[\233\304\312.\323`\303\\\32\371n\331\21\340\353"
+"\255\327x\366\365\260\362\347J\331fg9\360f+\r\235\233\346_b\n\230\2254"
+"\2366\17\273uo\266\322\20\276\347\216r\30i\327\337\35&\352\7\260\313Pl"
+"\245\361\373\375\310ML!\232\221]\206b(\215\333\355&6B@\32\326\322\260;"
+"P\306P\32\242\13\\<+bz\306\24\322\2314\261\311\206Q\260a(\215$I\345^R\337"
+"cy\3224\210\306d\324\27f\31i\312k\276\273\273\213\207m\26DcJ7%\247E\232"
+"\362\237\30\271\311\334\fUC\260\347T\32b\206\6\273g\314LO\345\33\223Q9"
+"\16V\322\32034x\322\346B4)\213m\22\254\244q\267\226=\363\207cM\246C4i\351"
+"\236zgHCd\323L&\203\307l.D\223:)\322\20\360Y\206\336\321\20M\352\244HC"
+"\364i0t\262r\0\345\260\321\23\340\1\26\243n\244\247\6OO\304\210\304I\322"
+" =!=\225\211\212l&\260\1\17\260\222\6\365\364 \r\0\220\6@\32\320\b\322"
+"\20\347\377X\2374nB,.]nC\244a1\261\335\344\264\266\266\42=\1\364i\220\236"
+"\354kR\26{\nXIC-\326#=Y\230\361\215\\X\307\2134\304g\2054N\357&\262\222"
+"\206\332\341\201\364dazb\261\35\233\2254\304\22\32\256\2223\35\213\233"
+"\224\2254\364F`\4\33\313\6\26N\2124tE\b\337M\37\36\266Y\20\233$\31\335"
+"g\303p\310M\234\253\260\240\326m\363@|\3\31\35\374`(\r1\352&J\220\200j"
+"!\32\223\321\241D\226\322|,+\215\267\303\213n\215)\320\365\\\30\235\26"
+"b(\r\25592\224)\320\345\256\322\37\323\16\223\206.\235\302\272\326-\244"
+")\234\24\30\25\250c\273\366D\224N\351\275\327k\313\235\322\r\226\233\210"
+"\273\35\331UY`+\r]\207\6\301\206inbW9\212\2554tmi\372j\26P\21\272\1\331"
+"U5d+\215\246i\304\374\222\5\367\20540\242(\22\253\7\271\243\234\256\353"
+"\216\224\246\242\357\26_(\335H\320W\255\254\376\271\312\356O3\227\206."
+"K~\277\357>\272\303\265u\201C\277\205j\356\30\360.\r]U\333\325\342\242"
+"o\203\2\77d\354\311\30q\34q\373\3356\323j\360Vl\367\244\257\1\33{2\206"
+"`Sm\230\241\277i\254\13{[!\315\353\255\327\304,\37\202\215\271a\246xV\\"
+"Y]q\2744\272\256\323\356#\330\230\30f,\270\336\321\242\323\b\364\235\213"
+"\256\26\327\322\357K\20\302\b\312s\205.\256@\334\347\3430i\350\13^\5A\350"
+"\177\320\217%\314\212\370$\337\320\243!\342\r\326\\=l\335\271\247\212\337"
+"\200\245E\4\33\241\316&\242#\272\363\244QwU:\330x;\274\26\\D\356\\\42\243"
+"\21z\3\271e7\234[z\302\262\342\367\340\351\344S\213\317\262;\5Q\24g\236"
+"\317\20o(\236\25\255\t3VK\243i\332\362\253e\372=\33k\33\26\37gw\4\2117"
+"\t\272\377\273\360r\301\262\353\35\255>\313=15A\314\331\224\222\24\243"
+"k \234K\327\355.\272M\n\'\5\13F\332\266I\243\353\372\310\177G\340\201\271"
+"\214<\36a\267\246m\2774\202 \254\254\256\20%\217@\265l\277\333f\272<\311"
+"\2054\202 \4\7\203t\222\2\6)\236\25\7\6\7,\376\243\366H\243i\332\344\324"
+"$\36y\375\f\f\16X\231\230\354\224F\20\204\371\27\363\333\357\266\361\324"
+"\353!\276\36\26781\331,M\351[\302\350\260q3\220;\312\3315\244\260S\32]"
+"\327\177\371\317/x\3745we\254OL\366K#\bB:\223~\30~\b\tj\b\3226\336Kb\177"
+"u\317\225\325\225\212\323\304\340[\306\307\306m\351\312p$\215 \b\303\217"
+"\207\351\265\314o\311~\3166\336\216-Q\24\r.\362\307\327\343\363/\346\355"
+"\375\264\274\324\21\16\16\6\r^\275\354\355\360f\77e\33i]S\366\313\331O"
+"Y#\213\'\361\365xp0h\373\7\346\250\370\364\255\237o\31\364\306\323\346"
+"9L\37FF#\r`\2142\255\354\250;Fn:\312\35\345x0\206/it]7\356\215 \bs\13s"
+"\311\275\244s\317h\372$_\366s\366\351\344S\203\3\354[\77\337\342\344\223"
+"\363U\346\276Zo\272nwe\77e\235\30r\224i\3450}hp=\277d\214]\3l\336\245\251"
+"\301\33W\213kna.\3739\353\224-\306\262_\316\37\347\r\6\230R\77\206+c\4"
+">/\324(yS\325\42\203\267\303\273\243\356\304\326b<g+\331/\'\367\222;\352"
+"\216\247\315c\334\230\340`\220+cx\'\266\26\273\250\236\363\257\347\345"
+"^\252\30\215\224i\245\334\317\32\331\277,\373\345\32>U9\242\213Q>\237\13"
+"\327W\367\4\7\2035\314\27\363y\347j\265\237\352a\370\341\360\343aHS\13"
+"+\253+=rOSm\276)\234\24:}\235\254\217\3266\2624\202 \250\273\352\225\237"
+"\2564\311f\277\324~\252\375F;\347\367\335;\343f9]\327\273\357t\317\316"
+"\3146\2661\343c\343\335w\272\321\3555\231\322\204\330E\255\344\217\363"
+"\321\305h\240/`nGX\24\305p(\34[\213\345\217\363\265}\260\354\347,\16|\261"
+"\205x\264U=\247\350b42\32\221\375\362\277+\240\6\245\221\375r\240/\240"
+"L+\211\267\211\232E\371wT\205s\245\26!\212br/ya*\371\343<a\0\375jm$\336"
+"&P\252\322\206\351\262z\262\225\215$\367\222\250\222a\'\341P\330\364\30"
+"\0]\232%\352\230\236\260\240K\263\364ubk\261\32\346\354\331q\376\365<\272"
+"\30E\337\305\319+\3616a\257+\261\265\30\61\274\7\234\342v\273\3}\201zf"
+"Pj\30\2025\274+\227\232*s\311~Y\276+K\222dn5\223\324~*\223\311\244\77\246"
+"\325]\325\262\42\61\220\306\6|\222O\274*J\222\344nuK\222$\b\202xU\244w"
+"\272\344\216r\245K\352KW)\251\273\352\351\351)\347\353D\0\0\0\0\0\0\0\0"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\224"
+"\370\7\347\322[h\323\3666\302\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0\272\0\0\0\306\b\2\0\0\0\352\214\r\34\0\0\0\4gAMA\0\0\261"
+"\217\13\374a\5\0\0\f\235IDATx\332\355\235\277o\33G\26\307\351\253\\\244"
+"\320t.Rh\334YH\16\332\355\202\4\207\343\226Np\200\314\374\3\307Mi\244 "
+"\370\27\b\354\2_!\204\235\355B0\313$\205\216)\345 \212\351*Z\1\62\250r"
+"\215\310\b\325\221\0\r\254:_\261\201\340\223\3057ofg\177\314\360\373)\4"
+"\1\22\b\356\354\233\367\343;ofZ-\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\340\16\267\326\355"
+"\201\205\20\301v 6D\20\4\255V+\b\2\261!\210\377O\3234}\235\266Z\255$I\346"
+"\213yr\222\314\347s\230\213\267H)\243v\24n\207A\20\4\333\301\355\217n\27"
+"\374\300\313\267\227\311Ir\370\3740I\222\343\223\3434M\341u\234w!q7\36"
+"\355\217f\347\263w%3;\237\215\366Gq7\26B`\344\35\263\222~\257\77=\235\276"
+"\253\211\361\301\30v\343\0\235\235\316\370`\374\2561\214\17\306\235\235"
+"\16\336K\343\334\311`wPA\3041\216S\375^\37\316\246)\206\222-\263w\215\'"
+"[f\203\335\1\214\6\206\2\243i6\375^\3379C\271f4q7\206\356R:Q;\372~\357"
+"\373{\237\334+\376Q/\177{\231\213o\351\3534WM\256~\271&\330\310My\365\213"
+"\334\224R\312\317\276\370\314\312\27x\370\355\303\343\344\30\363\277\224"
+"\3503\334\33\26\231\323\323\323\351po\30wc)e\361\357\23\6\241\25Qg\260"
+";\300\313\265L\30\204\306o%WA\254\230\310*\244\224q76\256\341\247\247\323"
+"0\b\361\226\3550\330\35\30\274\203\311\321\244z\255,\327\221\315\24\302"
+"~\257\217w]t\364u\247l\266\314F\373\243R}\t\323\35\216\366G\272\26\63\332"
+"\37\241h\252(\0\65\260F5\250\366\247\247\323\332m\335=:;\35\376(7\\\314"
+"\310\215F\313\356\221\312h\20wc-\7\356\304t\224Rj\5V\247\205\231&&\266"
+"\263\363Y\324\216\234\363\232\374\b\13\213Q\300O\17\207{CG\263B!\4\377"
+"1a1Em%[f\3169\225\42\311\31,\306\334V&G\23oJM)%S\241\201\305\374\37\375"
+"^\237\31\200\374\23\226\230\363\244Q\26S\347\22c\334\215\37\77y\254\374"
+"\267o\342o\236<}R\206\272#7%\261\37\340j\17\300\341\363\303\305bQ\306\212"
+"`\277\327\377\356\321wu\215\200KD\355\210\223\254Xla\24Btv:\303\275\241"
+"q3\357\325R\245\305\260\310\321\16\326]\217\t\203P\231\356\331\32\243\222"
+"\372\275\247\247\323~\257oE\370\211\2731g4\326T\363\25B(_\236\25[\211\332"
+"Q\5\375\336\343\203q\361z\2153\177\246\247\323u\\WR\276\302\342\266b\274"
+"8\\\244\213\273`N\312\261\230\321\376\b\245\220M[\211\332Q\215\373\214"
+"\n\312\315\234<f\215J\3530\b\313\33\16\203\236\207\362\302\223q\236\241"
+"\264\2305Jb\224\363\336\330V8\331b\305-\334\306MO\312\265\263\351\351\324"
+"\177[Q\216\202Y`n\216S\271\321\315\230%\247J\5\257\256>\337[\225\205\241"
+"\337\217\177\'\376\341\354\325\331\326\247[\6\37\373l\377\231\331\366\200"
+"\253\203\24\256$\270\253_\302 \334\330\330\270\372%jG\306G7\\\274\271\370"
+"\362__\352J|B\210\27\277\276\240\237\353\356\335\273\336\36\37609\232X"
+"\217\307Z\215T\305\373\275\215\273\270\315\304Fe\24149\232\370i+\312\364"
+"\315`4\265\32\251\362xoK\2155\353\3426H\313\312\30\67\7D9z\226\30\244,"
+"Z\26629\232\224\324\366\20\265#\332k\26\267\30\332\231\315\316g\353\225"
+"\341\316\316g\2723\236o+\345\31\212\261\321\350Z\214r\262y\265\351D\371"
+"\264\272\356\224i+E\352Xc\371\261\244\246\'\372\221\263e\346\317\312\0"
+"\355Zt\2235\246\255L\216&\265\bYRJ\246\233\321\235$\364\307z\262yV\351"
+"Z\264^*gI\245\tc\307iP\327]\350\240\325pO2\30zyH+\303\25B(\333\350\233"
+"s\26\6\307\13\352&m\264p\347\303B\22\361\202u\205\226\n\26\261\255\313"
+"\222J_8>\30kE:\237\227\5:;\35[\275\267e/b\327h1Z\3718\355`\334n\267\243"
+"\375\1\337\265H)\351Aorc\242\322b\264\274,\355`\34n\205\21B\330z0e\255"
+"\321\360\260\255\314c\264\312C\302\301d\313\314Us\241\307\210\357\f\350"
+"\210\346J\r\251\254\225\370u5\335\17\357j\302KD\42\255\244\214\256\206"
+"\264R\305z\241}\244V%L\214\211C\3\302\215D\374\344\316\'5S)A\361\35\3\221"
+"\370;\31\217\350\327\314\317\354h\327\342\334b,\35X\371\16\206Nx\335[\243"
+"&\3221~$\242m\316\321V\17:$\361\35\f\321;\341\336\356`\302+\360#\21=\262"
+"\216\3666\323\216\201\77\7\210x\344\230^G\217\b\3635{+0\250\2446\346\370"
+"\320KH.-P\23A\204\37\236\351\312\323\351m\23\364L\340{_\302\205\227\332"
+"\342\3637\313:\346\366JM\345\360\371!\363C\36\354<X\365\247\237\377\373"
+"\263\323\375\314i\232\276\374\355\345\252\277v\377\335e~\16\61\230.\231"
+"K~\376\305\215$\'\ts\376\21\35\360O\237>m9\316\243\377<Z\365\247{\237\334"
+"c\372Nb0\211W\3208\212\213\271\276\351\n7Ah0\314\372\210\220w\235\311v"
+"i\201\216\371!\204\42\354\315\206r\42\341\345\77c\361\241\2569\30\5\333"
+"+\335\340\331\253\263\342\331\317\217\77\375\350\207\271\34\376b!\363 "
+"\206\264\274%z\233\346B\304\335\374\324.\216\177\272\363\361\35\203Qv\314"
+"\\V\'\252w>\276\303\254\204\27\213\305\252\77\345[0\33o.\233+\315%IXy."
+"\341\237.\336\\xs=|\232\246\27o.\f\6\201isnx\227\17O\3\344L\5\346s\36\237"
+"xu\267\30\3618\305\205%7\274\13Q\3021\367\224\23\317\311\364O\256@<\16"
+"\341\244\231\336\305\31\335\245\274p\306\314~\234\211G\253\37\207p\322"
+"L\312S\352*2\27f0\242\222e\277\16\247 \36\247\311:[E\346\202[M\253,\257"
+"\3340\27+\227\346\26\364O`\215r\227\365\361O\314\25\64\230\13\200w)\37"
+"\317\16\305gjq>\233\313\345\333\313\362\276hy\322\23\250\307\\\34\215\307"
+"\216RK\223eE\301\210)\34\21j\204gGU\27W\230j\tg\315\312]\b\255\223)\215"
+";c.n\352\327\3152\27B\\q\251\247\220\343\33V\77Nq\205\251<\5\317j\356\262"
+"z\331\214Y\327\20\342\n\3216\345\42\304\3430\25\246Z.\275\265i.\363\305"
+"\274`]C$\313\374\276!\'\262T\242\13\254x\305P\236\2n\323\\\210\240\313"
+"\f%\363\371\234\350\33\212\376\31\371a.\304\203\360\273\300\b\357R\236"
+"\2n\325\\R\13\211*\3217D\354\77r\13\342A\370]`\204\303vc}\315\312N\200"
+"5\3378\302\337\310X\313N\0\313\24\337g\344\333\201\24\37@\237\334\301\224"
+"\227\352\332gd\271\220&vt2\323\27\272\355\271\333\355\272n.\304#\\\274"
+"\271`jt\304\334+U\266\261l.D-\315OT\211\375D\367\277\272\357\372\226\372"
+"\373_\3357x\360\353so\265\244\353RS\263\225\23\30\350\3)p`G\253\276\23"
+"\30\354\317\36+\303A_.\265\346\307\1\321\237\343\230:e\345\364(\372\260"
+"1\'\217xT\35Mm\3454C\367N{\'\374\255\326k\246\2172t\311\3452\n\42\255\263"
+"R\211\223\330\334;\233\216v\f|WI\177\216\3015k\365*R\266\16J\245\305-\367"
+"\204\6\372y\264N\226\366\346\30f\213W*\322\27j8\231\377\23\211\252VpU\36"
+"\250\357\304M\204\312\33S\264\246\20\61\266\216\246t\212\1\322j\322V^!"
+"\321\360$Fy\255\201\326\31\301\264\304\340\352\235\0\26O:\245\7\310\365"
+"\13jtE\1Z\266q\270\301\203\216\326Z\17\246\274\261cM\256\277\362\370\270"
+"aE\332\241{\261\2142$\271x\271\236\356Q\365\364\264qNY\320\250kt\357\13"
+"Q\26\242\371g6d\310\242v\304\371\266\26G\300\207\313^\351\331\240\353`"
+"\224ILCj%e\35dvu\342po\350\371M\257\364\204\320\275\354\265\305\276v||"
+"0\256%\351\23B(o\2445{\273t\326\342\317E\365t&o\220\2351-fv>\25380E\355"
+"Hy\323\265\261\'\240\255\320\223[\352\225\323\302,A\243\335\36257S\301"
+"\332\265\224\222\351T\314^-}\377\242\77\256\205\223\301\230\345h|\213\311"
+"}XIF#\245\244\335g\361\365\77!\4\355\264\374q-\314\242\306l\21\225\31\225"
+"\3367\32\213\313o\235\235\216\226\241\30g\243\364\304\360\315\2650u6\263"
+"<C\327brg6\334\33\232\331\215\20\42\267\22f\216R\334V\224\13\b\325\27D"
+"\267*\323`\210}{\27o.\266\376\276ep(w\30\204/~}q\373\243\333\6_\351\354"
+"\325Y\222$\351\3534\337Q\234\276N\337o\253\226R\346{\243\242v$7e\20\4\304"
+"\2659\4\227o/\77\377\307\347\6\373\304\204\20\177\376\361\'\361hg\257\316"
+"\266>\335jy\t\235\257\25YM\25B(5\337\272\230\34M\214\203\5\335~j\240\334"
+"8\2062\77-\222\265)\343]\365\24y\34eb\344^\327\234\365$\277`0\16\203\260"
+"!nfr4)2\365\2259\331\364t\352a\206k\20\222\212\373\330\270\33\33\244\242"
+"\266\310\226Y\301\364\223\223\277{\36\206\264\242\206\225\265\345\301\356"
+"\240b\243\311\226\331`wPp\322[\357y\360\201\312\272\21\342n\254L\30\213"
+"3=\235Z)h9\266\342j{e\251\302\235\335\376\2250\b\207{C\353\316&\227p,~"
+"I\345\230\270\265\371\301&\234n\4\353\35Oa\20\366{\375\361\301X\371b\210"
+"\2574>\30\367{}\353_\254\312\371\343\200Lwc\244x\374\344qI\32\227\222\\"
+"\205\13\203pccCn\312U\213Ji\232\246\257\323\305bq\234\34_\323\361,\256"
+"\'<\333\177\246T\32\277~\360\365\17\77\375\320Zg8\235D\305k\215&\303\\"
+"\307\360x\4,\353Q\36\227\3\314u\365\265+\205\254XL]=r%%\373LE\321\233\233"
+"\326k\260\230\331\371\314\3\205\212\323\370\r[\261c1\2567\4\361\327\266"
+"`+\326,fz:u\316\315D\355\210\257\31\372\326#Wc\255\364\376\252\254\23\331"
+"\214\20B\253\365\16u\220\375\332\362\252\314nr\341 \204\30\354\16\370\252"
+"`\266\314<8\t\266j8*\347\265\24\270i3R\327P\274I\344k\33n\335\325\301|"
+"M\270\366S\16\245\224\272\206R\260\357\16\350\tY\37*4\265\270\364\270\33"
+"\3637\34!\261-\253\2400[L\316\226Y\276Y\244\324Y+\204\210\273\361h\177"
+"d\266lY\375n\313\265\bL\272\233z>t\365\203\335\201-\323\221Rvv:\303\275"
+"a\301f\32W*\273\367\271\345\220\233\31\355\217\210\335\'L.\337^&\'I\222"
+"$\363\305<\377\331j\265\222\223\344\303m+B\210\374,u\261!\202 \310\27\256"
+"\203\355\300l\237\312\373\234\275:{\370\355\303\362\256\300\3\177a\220"
+"E6\212\206W\376\210M\315\332J\202\362\247\266z\325\25\243\311\226\331p"
+"o\350\331=\330\256z\232&\207\247\331\371\f\36\245\211\304\335\270Q[_\307"
+"\7c,\3758\20\241\372\275~\5\233E\210\245\362~\257\217\270\343\236\335\344"
+"\32k\5qjv>\33\355\217\342n\274\16A\347\326:\230N\324\216\302\3550\b\2+"
+"\252\311\225rs|r|\370\374\260\214\355\1\60\227\6e\307\301v\220+o\255V+"
+"\b\2\261Ay\205|\357H\253\325\372K\331\273I\320\3\0\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\200\33\370"
+"\37!\227|\255\264\13\340y\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\270\0\0\0\240\b\2\0\0\0\60\3241f\0\0\0\4gAMA\0\0\261\217\13"
+"\374a\5\0\0\6\307IDATx\332\355\235OkSY\34\206S\273\251\320\31r\4\207ZT"
+"z\334\265\250\323{\231\215\26\305d\341,\4\207\266\33A\21\'a>\2005K\231"
+"aJV\3n\204~\201\340]\r:\213\222m2L5]\231[l\271\331\31\261\245\311lL\240"
+"\225\244\203\220Y\24Df\3544\223\236s\356\277\347Yuc\257\336\337\353\373"
+"{\317\277{\22\t\0\0\0\0\0\0\0\0\0\0\0\0\b+C\274\2\333\262\223\311d\42\221"
+"\250\277\251\327\353u^HL\205\42\204\260\246-)\245\234\220\226e\211\244"
+"\220\23r\354\364\330\241\177\260\266Qk\267\333\255v\313u\335}\r\225\312"
+"%\204\22\65\223H\247\322\251T\312\236\266\373\321D\3774\267\232\245r\311"
+"]sK\345R\325\255\3424\241t\216l&[\\.vv:=#tv:N\301\311f\262B\b\336\177h"
+"\364\321\363\225\342r\21\305\4\267\2778\5\307\230\177\364\3571\266eS\235"
+"@\220\315d++\225^\200\251\254T\322\2514\225\362S\42\215\315F/$46\33\331"
+"L\226\252\31%\235J\207H\42\270\213\17H)\3\336h\372L\273RJ\252\251\213\374"
+"b\276\27\25:;\235\374b\236\232\252\37\324x\353^/rx\353\36\303\42\214\244"
+"_r\139\252|\324\t\264\b$\222>C.\23t\203\17m\2\65\201f`\374L\33\32d\216"
+"\244\27K\230k\371\378\5\247\27c\30\r\365\25Jb\256\222}\234\202\203\30\376"
+"K%\221\34\3\17\254\25\342-*\351w\226\5\255\240\22\264\202JTO\261 \222D"
+"\42\221@%d[F\302\321\324\312\260\341\347-=^\312\374\220\301S\373\341\302"
+"\327\27\336\357\274\257\254\306\257\r\305v\356\365(\314\317\316\307K%\266"
+"e\307j\35G\341.\226 \254\7\31:\0&\204\360^yj\317b\305\207\332Fm\346\352"
+"L\253\325\212~Fy\372\353S\353\33\213\222\17\306\311\257N\236\31\77\363"
+"\354\267gD\23\bzX\321\336z\244\224\336+odt\4c8\42\335\335\356\370\331q"
+"\277\32\3201\3\263&\250D\t#\243#O\nOh:\20\350\6\244\261\365\b!\266\337"
+"nc\'jin5\247.N\231o@\32G=\217~yt\351\312%J\253\226\321/G\77\374\365\301"
+"\374\'}t9\212\224\362\365\353\327\324US\252\235\2728e\370+b\272\302l\376"
+"g6\201jL\265\346_\257\26G\301N\fp\356\3349\223\246\242\305Q\260\23\3\30"
+"~\311\352\35\5;\211\244\251\34\13\273\322\343L\366{s\'\307\24;\ns\'\206"
+"\207\77\307\2778\36JG\231\233\235C%&\207\77\306\216\243*\26\312\203\373"
+"\17\250\237I\346f\347\302\327z\210\261\21\216\264*\35%w\237\217\303\370"
+"\200\231eB\225\216\322\330l\260\331\321<\265\215\332\324\205\251\320\b"
+"\205\276\343#\'N\234\320\275\236\254\254\365\304\356TA\314\42\2552\241"
+"\244R)\n\346\27\351k\332\77x\254\254\365tv:\314\240\370Es\253y\352\314"
+"\251\208\212m\331\250\304G\306N\217\351\376,\266\32\241\360\255w\337\261"
+"\247\355\20\b\305\232\346p\227\317X\226\25\6\241X\b\305\357<\253\331\324"
+"\325\204\331^\257G\251\374E\367J\262\2G\341\333\313A@\367`B\201P\366o\227"
+"\206hw\37\34\5p\24\34%PB\221\23\334\200\206\243\364#\24\256\312\13\6\42"
+")\2-\24\b\bZg\263\20\n\20f!PB\231<\77\311{D(\0\b\5\20\n\4N(\315\255&\357"
+"\21\241\34N\375M\235\367\210P\0\20J\264\320z\2Y\201PZ\355\26E\n\204P\336"
+"\4[(\256\353R$Z\17\340(8\n\31\205\214\202\243\250\205\343\32\321ahH\343"
+"\25\30j2\n\223\263\276\263\372|5\4a\226\311\331h\7\24eB1\177+\b\374sH\261"
+"\346\206@(\f||\247\352V\365\6 %\277E\b\361\356\335;\252\25\325$\253\314"
+"QZ\255Vm\243F\265\242\232d\23\ngf\313\3452\5\363\13\3\31\361X\210\376\256"
+"p\20\6.YW\331\330\370\336\237/\30\370\322_B\355\242\240\1]\203_^\216P\350"
+";\306[\17\335\'\252}\'\241|\77\n\246\22I;Q\357(\266e\277\254\276\244~\306"
+"0v\377\244bG\251\272Uf\336\214\261\372|\325\330-\245\303\312\177cw\257"
+"{\363\273\233T\321\0\367\356\3353\266n\257e\201\200\33\236\242\24c\265"
+"\264\236}\36\376\364\220B\352\306\360K\326\265\344\210\251D\311N\22\372"
+"\216k`*Q\262\23\215\216\202\251h\35\354\\\276r\331\360C5\36\0\273}\367"
+"6E\325b\'\77F\316\255\213\313\305\36(\305)8\276\224R\357\3769)\245\367"
+"\312c\365G\25\335\335\356\370\331q\3357\327~\226a\255\277\275\335n\357"
+"\355\355]\377\366:5V\302\255[\267to\242\366\223\312J\205\226qt\212\313"
+"E\37\2138d\340\31B\210\355\267\3334\240\2206\35\355\243\236\217\264Z\255"
+";w\357P\354\243p\343\346\r\37Ub\224\245\307K\264\217\301\310/\346\343\365"
+"\337\202\260\22\272h\342\17B\bo\335\243\366\375\343\255{B\210 \324n\310"
+"\360\363l\313~\361\307\13\202m(\2\254\3510\373)U\267:su\246\273\333E\7"
+"\207\252d\346\352Lp\2\354\260\371G6\232\215\346\237Mv\301\35\252\222(\317"
+"\255\365O6\223%\202\34\4\67\4\243\225C\350\354t\346g\347\321\6Z9D%x\311"
+"\201\314\317\316wv:\250\4\225\3645f\216\271V\32\233\rT\322\27R\312\330"
+"\316\305\5gV-4\363\2661\334\21\347\24\34T2\b\371\305||T\222[\310Q\361\301"
+"I\247\322\215\315\6\241\4\342\336\206\226\36/\321n\309\37b$\351T\232\312"
+"j\261\226\310\354x\312/\3461\22\355\23-\241\336\364TY\251H)\251\243\271"
+"\220\33:\271TV*\364\32\344\202D\302\320\214\234\202\23\314%\33\247\340"
+"0\364\r\\\324\315-\344\2\62\367\357\255{\331L\226\270\32h\244\224~)\306"
+"[\367r\13\271\310g\325\241\350y\314\334\354\\\372Z\332\262\254\311\363"
+"\223\232\236R\333\250\225\313\345R\271T\372\275\24\223sYC\21\376\267\t"
+"!\254i+\235J\313\t)\245\264\246\255\301v\377ww\273\356\232[\257\327\335"
+"5\267\352V\33557.\207\366b\42\224\203Rp2\231\374\364\207\177\323n\267\367"
+"76\177\374\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\22\211\277\1\370\236\202\200"
+"-\275\0\216\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\237"
+"\0\0\0\230\b\6\0\0\0\372\36;X\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\n\6"
+"IDATx\332\355\2351l\333V\32\307\277\30\35<d\360\333<d\b\307\24\305\301"
+"\344\26\2500*\216q/\200\243-n\r\234\324\251\315\365p\216\2639\27\324\241"
+"\2476WD\265:\325=@\t\2759\6\222*\243T\304\261<U4jC\336\242\3\22@\336h\300"
+"\6\244\2157\364\224\263}q\374D\276G\276G\376\177\300\3\342\200N(\276\237"
+"\276\357}\217\217\217\27\210( \0\22`\4\227\0@>\0\371\0\200|\0\362\1\0\371"
+"\0\344\3\0\362\1\355\371\0\227\340$\21412\'Lbc\214L\323$\42\42;o\2378\306"
+"\270l\320\370\245\361\267\77\357\355\356\321\301\301\301\211c\352\215:"
+"\21\21y\236G\376\201\377\366g\360\77.P\206\357p0\306\310\376\304&\3234"
+"\311\316\333dN\2304zqT\332\377\327\77\352\223\267\355Q\275Q\'\317\363\250"
+"\376k\235|\337\207|Y\2410] ;oS>\237\247+\37]I\374|\366v\367\250\321hP\275"
+"Q\247\265\365\265\314\t\30\244\275\25\246\13\201[u\203\336a/P\231\336a"
+"/p\253nP\230.\4Y\350\227\324\312g\231\226\26\302\235\'\242eZ\220O\227V"
+"*\226\202\346F3H\23\315\215fP*\226 \237\312\322u_w\2034\323}\335M\233\204"
+"\220\16\22B\276\241\232\235\267S\227^\303\244c;oC\276\270\32c,\250\224"
+"+Jt\276\263\350\274\363Ka\347\355\240T,\5\316\242\23\324\236\325\244\177"
+"I*\345J\300\30\203|\262\247LT\252^\337%\337y\25x\251X\n\334\252+|\250\320"
+";\354\3518E\243G\264s\253\256rioX\371N7\3030\202\371\271\371\240\275\323"
+"\26vNn\325\325)\n\252\77_\247jA\21U\276w\211(\342\263v_wu\231\37T\273\222"
+"U\31\221\362\235\36\67\212\210\364\32T\304j\236\230\212i6.\371\216G\303"
+"\250\327\301\255\272\220o\230\361\235\3101\220\316\362\211\222\260\275"
+"\323Vu\34\250\316\311\30\206\241\215xq\312w|\374\33v\332\246\275\323\16"
+"\f\303\200|g]X\335\26\1\304-\337\240\315\317\315\207\272V\275\303\236j"
+"\205\b\304\323M\276\301\360\244\366\254\246\265\200\211\77\303a\231\26"
+"m\276\330\224\272\2028\215\370\276OS\177\236\242;\267\357P\377\250\317"
+"\375{\243\27Gi\363\305&Y\246\225\355\305\244\272F<\25\42_\324\271P\25\42"
+"\340\b\42\236\376\264\274\26}\370\247\17\351\371/\317\265\212\200\211\310"
+"\307\30\243\332\323\32\304\223\220\206W\37\255\16%`\355i\215\30c\331\220"
+"\2171F\233/6O<z\b\30413;C_\224\276\340>~\374\3228m\276\330LD\300\330\345"
+"{\\}\254\304Scif\345\347\225\241\4\274\362\321\25Z~\270\234\356\202\303"
+"YtR\265\230S\225\202C\324\275\361\4>O|k\361\322\206\352\362\205\21\60\346"
+"5\201\361\3346\323yJEg\371\206\25\260w\330\213\3556\\,c>\267\352\242\262"
+"Mx\fx\347\366\35\356\n\330\255\272\351(8\234E\207\256~|\25\6$\314w\377"
+"\374\216{\32\346\352\307Wi~n^\357\202\3032\255T\77=\246K\332=\336\206Y"
+"5$;\375J\215|\313\345e\204\34\305\310M\346\270\357\5\313N\277\322\344\233"
+"\237\233G\272U\365N\310\365)\356\364[*\226\364J\273\214\261TV\267iH\273"
+"\303\316\271\366\16{\322VAK\211|\3167\16\252[\305Y\370\307\2\355\355\356"
+"qU\277\267\377~[\217\310g\30Ff\266\253\3209\362\r[\20\312(>FdD=\240\7-"
+"\257EK\367\227\22\355WD\275\214F\276\301\370\234w!\252\350\3507\202\250"
+"\207\352w\341\336Bb\375\213\250\227\341\3107h\274\217d\212\254|\205E\276"
+"\322_J\b#\232W\277<\210\254|!\37 \242\77^Z\263\365r+\326~\26\42_a\272\200"
+"e\361)`\345_+\347\36\63~i\234\n\323\5u\344+\26\213\350\2714\310\367\363"
+"\n\355\277\331\77\367\270\33\3237\324\220\2171F\327>\275\206\236K\t\17"
+"\276\177p\35617\77\277)\344\201\243\310\362\211\372\26\0}R\257\250~\207"
+"|\340\4\276\357s=|n\177b\'/\237\210\223\0j\361d\375\211\372\221\317\316"
+"\333X\275\222Q\371F/\216\376\337{\210c\227\17d8\365B> \203F\243\241\266"
+"|X&\237^\352\215\272\364\376\17-\237*\233\13\29\264\274\26\327\203FQ<\b"
+"-\237i\232\350\241\224\343m{R=\b-\237q\331@\357 \365F\362 \264|(62\20\371"
+"<O\252\7\241\345\33\33\33C\357\244\234\316\277;R=\b-\37\66x\314F\321!\323"
+"\203\21\\b\360>x\226X\305*\37\306{H\275\42|@\344\3\211\1\371\300{\341\231"
+"n\211U>\334\335\0\211\245]L\263\0\244]\0\371\0\200|\0\362\1\0\371\0\344"
+"\3@\230|<\267\\@:`c\347\357Lppp\20\243|\35\310\227\25xV*\363\254~A\332"
+"\5\30\363\1\215\42\337\204\251\226|2o6\3\265\340\331\221\42\254\17\210"
+"|\340Ld\257\333\f-\37\317\26\252 \375\225n\24\17B\313\347\37\370\350\35"
+"T\272\221<\b-\37\317cu \375i7\212\7\220\17\234\t\317^,\211\310\327\332"
+"n\241wR\f\357j\365(\36\204\226\257\323\351p\277\261\32\350\7\317\316\243"
+"\375\243~\244\273]\221\246Zx6\222\1\351\35\357\325\177\2156\337\33I>L6"
+"\247\23\306\30\327x\217g\3Ii\362\361\354\335\13\322\231rE\4\237H\362\361"
+"n \b\364\202\347\375j\375\243~\350\325,B\344C\364K\37\206ap\245\\\21\375"
+"\36Y\276\250\203N\240_\324SF>D\276l\246\334\265\365\265\344\345\363}\237"
+"V\37\255\242\327\322 ^\261\304\365\352ZQ\1G\310\222*D\277t\340|\343\304"
+"\332\337B\344[[_\223\272\211 P\'\352\355\277\331\27\222r\205\311G\304\377"
+"\252L\240w\324\23\331\317\302\344\343yI0\320;\352\365\217\372B\373Y\230"
+"|(<\364\2041F\313\17\227\271\307z\276\357\253\'\37\21\321\302\275\5\364"
+"\246\206\351\226\367\265\265\242\373W\250|\235N\7\321O#,\323\242/\377\372"
+"%\327\261\253\217V\205o\26 \374\3515D\77}x\\}\234h\277\n\227\257\323\351"
+"\320\217\77\374\210\236U\234J\271\302\375\2\227\245\373K\322\266H\tD7\306"
+"X\320;\354\5i\307Yt\2\31\327Ov\263\3636\367g\354\35\366\2\306\230\224\363"
+"\220\362\320\270\357\373t\367\336]\204\27\5\61\f\203jOk\334\307\337\372"
+"\333-\241\25\256\364\3107h\315\215&\42\237B\2151\26\264w\332\334\237\257"
+"\271\321\224z>R\267\313\270\365\365-\204\32\205X~\270\314=\316\353\37\365"
+"ifvF\352\371H\225\257\345\265h\351\376\22z]\221\2\343\346\3477\271\217"
+"\277{\357n,\3730J\17\367iM\277\272\244\335R\2614\324\347\222\235ncI\273"
+"\3ffg\360\254GB\224\212%\372i\345\'\356\343\373G}\232\272>\25\313\271\305"
+"\42_\247\323\241\317f\77\203\t\212\213GD4u}Jju\33{\332\35\64g\321A\332"
+"U4\325&\364y\342\275(n\325\205|\n~\311\335\252\233\304\271\252=\327\4\371"
+"\344\177\271\333;miw1\22/8N\337\375\310M\346how\17\2032\2010\306\250\275"
+"\323\36j:\205\210how\217r\223\271X\307y\261\26\34\357\22p\352\372\24*`"
+"AX\246E\355\337\333\334\23\310\247+\333$\304KL\276A\5\234\233\314A\300"
+"\210\314\317\315\323o\255\337\270\226\301\237\26/7\231K\364\205>\211\356"
+"F\337\362Z\20\60$\206aPs\243I\337>\370v\350\337\35\210\27u\257\25\255\345"
+"\203\200\341\243]\373\3676\327\236*\252\212\27\373<\337\373\232eZA\367"
+"u\27\325\3569\353\360\242\314\24t_w\3\313\264T\252\316\365]\362\223\25"
+"\371\f\303\bj\317j\221\3165\251\351\24\245\246Zx\246a\236\377\362\34\271"
+"\365\277\343:\267\352\322\253W\257\350\332\247\327B\377;[/\267\22\233N"
+"\321\42\355\236n\225r%\263\221\2570]\20\266\22\250R\256\250\274\342F\355"
+"\245@*\77\13\42R>\3030\202J\271\42l\334\333;\354\5\245bI\365\345^j\257"
+"E\263LK\331q`T\371\354\274\35T\312\25\341\237\257\275\323V\255\260\320"
+"S\276A!\242b\32\36F>\306X`\347\355\300Yt\202\346FSZD\257\224+\312\25\26"
+"g\265\17t\30x\373\276O_}\375\25\255\255\257\221[u\207\236\315\227\315\351"
+"wVX\246Ecccd\\6\3100\f2\'L\356-)\302\262\377f\237ffg\264{=\205vO`\245m"
+"]\240\210\b\254K\264\323.\355\2365@O\373\243\231<\317Z\30\206\21\350\332"
+"\207\244\361\211\277\35\264gM\302\346F3\260\363v\240{\337Q\n>@f$L\221t"
+"\351\222\357\270\204QoE\251F\355Y-m\322\245S\276\343cBg\321\321n\261\302"
+"\361E\0\316\242\243\373\230.\233\362\235\236\250\26y\367@\246p\225rE\227"
+"\t\342\310\355\302\300\300\254`\231\26\331y\233nL\337\b\265\36N4[/\267"
+"\350\311\372\23\2527\352\312\254\261\213\213\314\311w\226\214\346\204\311"
+"\375\322\273(\242u:\35\362\266\275L\312\6\3718`\214\2219a\22\33cd\232\346"
+"\37\177w\354\317\357\303\363<\362\17\374\23\177\366\266=%\2273A>\220YF"
+"p\t\0\344\3\220\17\0\310\7 \37\0\220\17@>\0 \37\200|\0\204\345\77\314="
+"\3321;\373\347\32\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0\237\0\0\0\230\b\2\0\0\0u|\254\17\0\0\0\4gAMA\0\0\261\217\13\374a\5\0"
+"\0\bZIDATx\332\355\235=L\333h\30\307S&\206\16\361\226\201\341<\42u\300"
+"\331\42PU<\226S%\232\rZ\244\213;U\334\235\n\351T\270\352R3V\247\246\270"
+"S\271\223R\231\215V:.\35CUJ\230\212\321qJGW\2)\331\22)H\316\226\33\\E\25"
+"\2207~\355\367\323~\376S\204-\300\376\345\371x\237\347\375H\245@ \20\b"
+"\4\2\201@ \20\b\4\2\201d\322\265\230=\217>\253+iE\3234\377\363\340\347"
+"\351tz\362\306\244\377\271u\326r\277\272\203K\265\275Z*\225r\34\247\335"
+"i;\307N\273\335\6\272BHQ\24\375\226\256i\232>\253kS\332\370\365\361\350"
+"\277\263w\336s\216\235\332^\315q\234\332\207Z\234`\313\241\374|\336*[\215"
+"\223F\237\276\32\'\r\253l\345\347\363\360\332\251C\265+\266\327\365\372"
+"<\344u=\273b\3f\302\312jY\216P\207a\316jY@\23IF\301\250\357\327\373\242"
+"\252\276_7\n\6`\n\303\265y\332\354\313\240\346i\23\30\307\220+0\306\33"
+"\252\212\354\207\3\372\352\357\7\331\240o\303V\253l\221z\277\325\335\252"
+"Y2\215\202\241\317\352\27\336\265Y2\31\60\266\312\226\242(\200\365\333"
+"8\'J>\334<m\332\25\333(\30A\222X6t\375\274:\351c\'EQ\354\212\35\272\310"
+"P\\)\252\252\212\365\27\231\321\365eW\354\204\32qV\313\206\310\236\232"
+"\247\315\20Py\321\365\377\341\304\215\214\215\202\21\302\16\242\',\354"
+"\351\372JP:\215\353\215\355\212\35\332X\5\241\353\77E\374\3-V\351\237 "
+"W\356t\375\\!\266aXU\325\340h\353\373u\32\341\212/]\37\60\331\357\253("
+"9T\300a\217\327\365\212+EJ\377\6w\272\376\3\306*\317\n\216\266\272[\245"
+"\352\273D\240\33+\300\1\321R5Y\321\350\306\4p@\264\314\6\205\342\320\225"
+"\36p@\264\264\275\261\260t%\6\254(J\220R\24\343Q\240ht}\277E\357\313=F"
+"\t\355\301\307\203\314D\6}\333\3\343\301\342\322b\302\233(\231\211\314"
+"\301\307\3\231\306\301A\252Q\\\212s\2\332\356 <\311\2016\310\33\344Uw\25"
+"\226n\277\3377K\246\350h\363\363y\221K\352\42\323\355\367\373B\267\204"
+"UU\35\231$\363\355\226\bN\327\353zd\353\224$\263*\273b\243\327z<^}\274"
+"\365\347V\n4D\343\327\307\5m%\25W\212\342\267\300\4\267]A\3\260\252\252"
+"#{#\262d|\42\210T\211c\214\224OF\\\355\235\367\246oN\203\343\r\256\315"
+"\362\246(t\215\202\221\233\311!n\230\2733\7\353$\261\224\233\3111\350\251"
+"\4*K\241\363d\241\242\210,\236\331\317\237\243\27\260\242\332\356\352\243"
+"UD\236\374\345\277/k\277\255\201-\206\313\237\315\337\271\32\306\310dJ"
+"\264\6\210D\266\353+\342\3607\222\355\242\277\\\33\3176\216\234#\260Bz"
+"o\230\233\341Rml%\307v#\232\357\30\245\257\325\332\3235\310\223e5_EQ\320"
+"\363U\5}S\22\332n\24\363\ri\273\253\217VQ\206\13y2Q\31\77\261m\275 f\325"
+"\bk\270\362\332n\363\264\311\316v\363\363y\304\254\232\255\277\240\13D"
+"X\231\211L\270\326o\30\272w\347\357\16\273\324:kA\217\217\206\n\205\2\13"
+"\272\212\242,\334_\30v\365\371\37\317\201\4\r\335\376\361v\210\21\346\30"
+"A\303\5\267LU\3507O\206\256~k\350\22\351\367\377\274\2071\256\334t\21\177"
+"\343\355\273\267\300\200\236\20vE\206\256>\253#:B@\227\252\306\257\217"
+"\343\356-\201M\27\3342O\363\345Ewoo\17\336\276\334t\21\63l\374\375\347"
+"AT\205\236\341\24\211.\242\25\337;\357A+\227\215\260&D`\320\365\217\222"
+"\270R\316\261\3\357\235\215\20\24\42\321U\177P\301-s\27\202B$\272\210\220"
+"\3568`\273\42&V\30t\323\351\364\260K\337\37\357\3\242*\4\205Ht\7\2475]"
+"\26\244T\314\204\240\20uDt\245Zg-x\351b*(]\204\273\7\267,l\350\35\203\227"
+"\5\266\213\22\f\207\342\354\231A\214\25\274\\\5\2369\316\203\42\240\13"
+"\236\31\4tA@\27\4tA@\27D\206n\247\323\31vII\303\211\206L\25\274\364\33"
+"\224.\242\13\2045[\0D\200\256K\232.(\241qW\233\2\333\225\234.\242U\200"
+"\336\327\25D\\\301\3336d<3\364\30\244\367\314\207\237\16!m\346.\4\205H"
+"t\333\2356\244\315\334\205\240\20\211.bZ+xff\302\232\\L\206.\356\372\26"
+"\220pt\217\216Q\323Z\23w\272;\'\241)\204\247\353\272n\357\2747\354j\210"
+"u\377 \\\365\316{\301\13U\330#\242\332\207\32\204^\236n\31s5\36\36]\304"
+"\22\354\334L.\266\207\272\13#\334\351\247c\4\177;8g\332\302\335\231\4\217"
+"\356\221s\204\b\275\2547\253L^\320\305]\2575F\360\353\223\233\311\221="
+"\350\f\24\305p\t\323\5\363\245\33t\77\60Y\363\2018\242&\364^\263l$\351"
+"\16\276\276X\354\23\2116\337\314D\206\357)\235q\325\366\233\355\20\333"
+"\201\21\246\233\342x\f\7\4]\42tw\336\355 Vd\203\371\22W\353\254\265\363"
+"n\207\21\335\324\250\235z\301|\311\212\365\276\310#\217\377\23\323|%\315"
+"\252B\27\1C\332n\273\335FG\202\315\27\233P\230\344\230OE\325\310C\0\255"
+"\262\5\266+\353Yb\256\353n\277\331F\334\360\360\347\207\320\364\215n\270"
+"X-\77\246\346+\310\201\350\362\332.\3173<]\327\335x\266\201\270a\362\306"
+"\244\200\376Y\26\275z\371\212\233\341\6L\236\373\375\2768\215}8;\33;y^"
+"\376u\31}O\365\357*\364\216p\265\376t]\224\223\b\352\373\365\221\1X\204"
+"\1\222,\266K\352,E2+M\26\227\26\21]}\77\0o\276\330\4\213\f\250\345_\226"
+"\5\242\353\272\356\372\323u\364=\13\367\27 \303\n\42AO\224\37\351\237\271"
+"W(\305\367\314\342\236o\33$\177\346\13Xp\272^\327#\233~\222\\{\337n\267"
+"\347\356\314\215\274\355\365\326kh\21^\251{K\3678\17pI\331\7\27\300\42"
+"\333\256Y\222\244mjWl1\237GX\272v\305\226\306\303(\212\3228i\b\370Tb\322"
+"\25\244\30@\5\60\313g\23\220.\325\307\247\265\243\221\237a\241K\34\203"
+"BG\343\337F2{\205\275\363\336\334\2359z\25G\212\373U\271\256;}s:\b\340"
+"\314D\346\363\321\347\342J1ih\247oN\213\236$\243\225\325\262A\6\301\203"
+"\261<\325~\2038\236\331\353z1qWX\200\275\256G\317\210\5\241\33\37\264\3"
+"\300\315\323&V\256A\243+,\2\335\346i3\206IF\360,z\240\352.\341\3060w\272"
+"\362\r~\260\0\7\3514\\\36\23\223b\314\227nu\267\32\377Y\300V\331\n\327"
+"<\311\317\347\345\245\233\240\356\247Q0\202\347Y\27\202\226U\266B\2332"
+"\27\272^\327K\\\327$\253eq\303\360\205\0f\225-\334\314\213=\335\306IB\13"
+"\65)EQ\302y\351\13\226Q\337\257\233%S\237\325GF5\306t\255\262\3057\320"
+"^\343\316X\237\325\355\212\235\231\310\220*\09\307\216\353\272\356W\267"
+"\323\351|\77\205\245\266W3K\346\223\365\'\f\36\252u\326Z\\Z\204\363/\277"
+"\31\261\324{\36\\\356l\302\n\271\213RU5\304xI\264YQ0s{\204\243\226\221"
+"q}\277\16{)\306\2201p\r\317\270\272[\25\226ku\267\n\\\t\304c\263db5!h\267"
+"\1\314\222\t\361\225|\1\304*[\2740\373e2Xo\316\2sq\245\310&0\327\367\353"
+"\305\225\242\244P\257\305\200\264>\253kS\232\252\252D\216g8\374t\350\272"
+"\256s\354\324\366j\42\256\347I\24\335\313\205\21mJS\322\212\177\210\316"
+"\340\303\225r\34\307\77\0\306\377\340\34;\242,\231\5\201@ \20\b\4\2\201"
+"@ \20\b\4\2\201b\246\377\1/\3639\355\21\360C\316\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\230\0\0\0\237\b\2\0\0\0\212\245\207"
+"\316\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\7\244IDATx\332\355\235Ah\333"
+"V\30\307\345t\205\24:\310\353)-\335\250\216\r\243\344\251\247\322\321\315"
+"\3521\220\221\344\230\220C\324ca\20|,\33\30_;XVw\247\264`\320\265;d\356"
+"n\366XR\373V\215%\330\267\272\340\202\262\223\5\16\310\267\354`\310 $O"
+"OOO\322\223\364\377\221C\300\211e}\177\177\337\373\276\357\275\247\247"
+"i\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3204M\323J9\273\37\263lN\1771\250177w\341"
+"\337\264\332\255s\277@\3104\321u\335X4(\245\224R2G\36|\375@\354}\372G}"
+"\317\363Z\355\326\340\343\300q\234\367\316{\b\31;\6\65\314\262Y.\227\315"
+"o\315\331\353\2631]\245{\320m\265[\323\37\4m\231\254\255\254\331\r\333"
+"\37\373\247\311\342\217}\273a[[\26!\4*dO\277\13\261\33\366\332\312\32D"
+"\t\1!\244V\255\271C\367T=\334\241[\253\326\340\240\301\371\213:.\30\350"
+"\240\272\256C\262\213%<\315\32\220\363| =\3152*\4\333\224\313\17k\313z"
+"\361\363\13\211\205\304\344d\342\374\355h\232\3468\316\310\33\261\373\6"
+"\372\35}\376\366\274\254\353>\375\376\351\356\253\335\302\t9\215\245\302"
+"U\374\271\232o*\233X\331gPC\277\243SJ\315\262I\27i\224oU\367\240\273\276"
+"\271>\30\f\212\22N+\333\225(\31Mg\277S\253\326\fj\304\324s\250lW\232{M"
+"\341\217W\331\256\24bD\354\354w\204\365K\2626\'\204X[\226\230\242\235\375"
+"N\236\223 \263l\n8\342\264tK\321.\204\220\312v%l]\353\217\375|6\20\4RS"
+"w\350Z[\226:\267`mYa\303I\255Z\313U8\r[#\252&\341\271\270\22JN\273a\347"
+"\241\23D\b\351\35\366BE$e%<\347\235\374\301\266w\330\313\266\226\272\256"
+"\207R\261\276S\317\320\r\207je\270C7\2464;v\fj\360\2476\275\303^F\357\323"
+"\240\6\347\227\325\37\373\331\273\307P*\326w\352\5I\3452\246%\277\212\376"
+"\330\77[eS\220\342*3Z\362\253\330;\354\345\254j\346\314\3542\240%!\204"
+"3\227\313IR~\21<\265\226\77\366\325\375\22\363W\329\30\24\331T\266+\31"
+"\256I8\313\344L\224\211R\nM\36-\225\373\334\365\235:T\24\320\322n\330\31"
+"\373\304ES\221\3372\252\230\2053M-\240\212\374Z\246\237\304r&8\271\232"
+"\4\210AKw\350\246\234\370\360\f\215j\r\3\252\326$iZ\311,\233\231L\314R"
+"\42p\261A:\23\321<\265\177\372\21#S\335\22\177\354\247`.\2366qV\'n\322"
+"K\f\223n\225\350\272\216\305d15}\22\235E\bl\342t\366;\320Ll\260L\316t\201"
+"9\216\322\35a5\6Kv\200M\250\346\16tG\4\325\210\1\326\35\272\351\273#\352"
+"\r)\376\20\273S\6\272cnf\374\23\310`Ss\312@wl\3565\241\220\254vO\214N\31"
+"\330\233@\216#\261\212\213+}\r\254\35\321S\225\356\224\261tT\2[9pG\351"
+"\356\21\213o\260\373\204\350\0\304\341\224\376\330O4\305J\255s\237\13\330"
+")\244d\303\262\347\35\223(`s\r#\332I\216\256\354\270\232\373\345\215)6"
+"zdF\327\300\270\2124\'\326\224\207\'\272\316p\6q\306\253\375\243~\201\236"
+"c\21\17\203\301\240\177\324\27\263\177\b!WWV\31\257\266\333m(\21\235W\257"
+"_]\366R\271\\\226s\r4WS\217\256\22\226\200\260\7H\371\205\16rW\241a28\264"
+"\262\35n\372\2740 \5\306\223\273(\245Q\205\244\213T\354\332 \264\220\177"
+"\266\204\363\235`!\331\245\5\204\224\210\3438b\356$!\323\301\262U\2710"
+"L\35\311#\331:MN&\243\321\b\326\227H\367\240+\26]g\242\f\220\310t\244\303"
+"x\306,\231#\21<\222\371\317h\350$:L2\23\327 \217d\376\363\340#\204\224"
+"\214\260Ig\242\\\325\363<\230^\262\220\227\7\271Hc$;\264f\364\30\251\\"
+"\22)\264\2\371=\1\321\272|\6\266+\204G\2u\270\3548L.\330\33\4`\3348\20"
+"\63\370gQ.Y\360gu(E)\320#\243\237\261\2\244\251U*a\214\314<\307\237\216"
+"\221\354\344\242W\300l\372@\310b\224\37\214\36.\310\222\220\214Y\25\200"
+"\206\0\20\201\335\275ChEh\5\311\302v\252 \217\304b\16e`;U\360\321\274\350"
+"\251*\302\215\33\67\30K\335\202\223\35\306\272.\220\30\201\13\26\203\205"
+"\304\n+%\6\310\2401n&\372[\200\324k\17.!\261)@\375\224\225+\331A\276\243"
+"~\246\243qvv\220\357\244K\377\250\37\2705\203K\3107\277\275\2015S\204g"
+"s\77\227\220\30&\25\317tx\307HM\323\334\241;\177{\36\66M\245\202\274\366"
+"\37159\36\211\350\232\42\234\226\347\25r\367\365.l\252\262\220%\376wDt"
+"U6\256j\241&\226\341\224\312\272c8\217\324u\375\303\207\17\60n\222\334"
+"7\356sny\13\341\221\203\301\340\355\357oa\334\304\350\36t\3717.\206[\263"
+"\363\374\247\347\260ob\204\32\313Ja\337\35\233\b\222\341\370\323\361\315"
+"/n\362\377}\350Ut\317~x\6+\'\300\263\37\303\331\271$p\r8\245j\356\250\211"
+"\255k\205S\252\346\216\342\4\236\220\5\204\21;x\243$&$j\312\370xl>\26\230"
+"n\272\42v1\317\363\256^\271\372\350\233G\260\273\\^\376\362\262\376k=9"
+"\217\3244\215\20\322\373\247\207\356\253D&\'\223[_\336\22{N\243\370&\236"
+"\321h\264\276\271\16\353Kdcs#\265\247m\262O\350\1\374D<q\247\24QHB\310"
+"\273\277\336\335\375\352.\374)b\341\270po!\212;F\335\379\32\215667&\'\23"
+"\210\21\205\245\345\245\210A\365J\364\17\341\36\273\307\377\36/\177\267"
+"\f=\304xb=y\373\2072\323J\30,S\31\32c!\360\4fp\216\336aO\305\20A\b\351"
+"\35\366 \17\277\212\22\317h(\311\327\22]\2\276\332\177\341\336\202\304"
+"-\213\222\237\3521\32\215\226\226\227\220\304\6\252\370\360\321\303\fl"
+"<5\250\341\217}\4\317\313\216\205\213\345Pzh\t\25\241e\1T\234\242\353:"
+"\362\330\263\203\341\263\252\42j\222\230*\2154\265\264\33vaUl\3565su\246"
+"_\255Z+\240\212\371|\354\373\332\312Zq\322\37\177\354\7\36\214\234at]/"
+"\302\n\274\316~\207}\22.\302,\302\251zUf\376\\\263\263\337\311v\215!Le"
+"\273\222\217Q\323\37\373\225\355J\241;\310\204\220\254OJ\327w\35284\374"
+"\377$(\213\265\246\335\260\13\221\324\344XNH\310\25lk\325\232;t\325l\231"
+"\326\2525H\30\272\201\240\216\2036\367\232y.\360\223qPk\313\262\33v\362"
+"\371\255\77\366\233{Mk\313R\77\227)eKT\203\32\253+\253f\331\244\213t\366"
+"\372lLW\351\36t[\355\326\364\'+\226)e\327Su]7\26\rJ)\245\224\314\21\341"
+"\335\360\375\243\276\347y\255vk\360q\3408NF\217r\317\260\220\27b\226\315"
+"3\231\365;\27\244$\236\347\235I\205\307\227\2\0\0\0\0\0\0\0\0\0\0\0\0\0"
+"9\344\77\361\323\320\204\213\16\320/\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\230\0\0\0\237\b\6\0\0\0\5\307\20\231\0\0\0\4gAMA\0"
+"\0\261\217\13\374a\5\0\0\b\332IDATx\332\355\235\261k#\307\36\307\1776)"
+"\24\360\3\315UN\270\367\270)m\356\5\317\2462w\204h\323\2054\266\322\5\36"
+"D\333\6Blu!E\3646\177@\314\251\314+\4[&\201\30\225\221\341|\226\273S\310"
+"\31\251;\5\34\320u\26\330 u\223\42\310\\\374\234\273\231\325\314\356\314"
+"\356\367\3\3w \326\253\231\257\276\277\337\374\346\247\325\n\21I\2\300"
+"\22\253\230\2\0\201\1\b\f\0\b\f@`\0\2\3\0\2\3\20\30\200\300\0\200\300\0"
+"\4\6 0\0,\360\6\246\340\377\tk\341\365\2779\347\304\357\361\277}\355t:"
+"\245\247\203\247\327\377\357\35\3650\201\20\330\237\302\t\266\2\22B\220"
+"\20\202X\225\321\366\303mc\327\37\235\215h:\235R\357\250G\343\337\3064"
+"\30\f\376\42\304\262\260B%i\327\tD@\273;\273\24\326B\22[\202*k\225\\\356"
+"\343\364\311)\365\216z\327\243\f\310\42\16\306\230\214\32\221L:\211\234"
+"]\316\244\213\314.g\262{\330\225Q#\222\2141Y\320\265(\326\33\252\357\324"
+"e\322I\244\217t\17\273\262\276S\207\300\\t\253\270\25\313\311\371D\26\201"
+"\311\371D\306\255Xr\316!\260<\7\347\334[\267R%\351$\276\13\r\302\202\320"
+" \260\353P\330>h\3132\323>h\373\266!\360\343F\233{Mgw\203y\354>\233{M\b"
+"\314\304\bD \373\307}\250\352\26\372\307}\31\210\0\2K;\342V\f\25)\20\267"
+"b\bL7\211\207k\351\273\231\243\233\0\367\n\245\310\265\322\347f\16\26j"
+"\21\22\21\62\13.0\306X\351\352ZY\34;\271P\316\310\275\233\2021F\'\217O"
+"h\343\376\6\232\247\f3:\33\321\203\367\36\320\305\305E9;Z9\347\20\227E"
+"6\356o\320\360\327!\5\42(_\77X \2:y|\222[_V\231\230_\315\351\301{\17ri"
+"x\\\205\270\212Oe\255B\'\217Orq\262U\210\13\42+\214\300 \256\362\211,\263"
+"\34\2141F\303_\207\264~w\35+\355@N\266\371\316&\215\307\343b8\330\242\24"
+"\1q\271\343d\335\237\272\304\30+\206\203u\17\273\364\341G\37be\35ct6\242"
+"\315\177o\372\355`\355\2036\304\345(\33\3677(\351$\326\377\216\265c\202"
+"\250\21\341\314\306\3\242F\344\337Q\21v\214~\361n\360\256\225B\254\25\201"
+"\341|\321\77^\374\376\2026\337\3314~ni%\7\213\277\216!.\317X\277\273N\217"
+"\276}\344\276\203\205\265\220~\356\375\214\25\363\224\217w\77\246\357\177"
+"\374\336M\201\241\230\352\77\363\2539\275\375\257\267\215\205J\243!r\377"
+"\213}\210\313s*k\25\212\277\216\335s0\3169=\177\376\34+T\20>\b\77\60\362"
+"x)c\16\226E\301\16dG\3342\343bF\4\26\326B\243O\7\4\371\263\375p\233\242"
+"F\344F\210\354\37\367!\260\2\362\342\367\27\364\326\77\337\312\327\301"
+"\340^\305e\375\356\372\322.\266\264\203\301\275\340b\326\34\f\356\5\27"
+"\263*\260\375\275}\254@\t\210>M/\260\324!\22u\257r\221\266\333b5\17U\3"
+"\377\330\377\42]\264J\355`\223\363\t\216\205J\304\374jNo\376\343\315l\34"
+",\20\1\304U2*k\25\252\357\324\263\21\30\302c9\331\335\331\315&D\42<\42"
+"LZs0\204G\204I\253\2{\371\267\24A\371\320]\177m\201\245\211\303\2408\324"
+"j5\2739\230\224\22\263\\r\356\334\271\243\334R\255\345`y>)\178\24&\337"
+"W\17\223Z\2C\376\5\210\210\204\20v\4&\266\4f\27h\31\215\226\3008\347\230"
+"]\240e4ZI>\22|\240\233\350+;X\26\17+\3\305s\261U\323\27\4\345\200U\231"
+"Y\201\251^\20`\'\231\316\301\4\34\f\350\263\212)\0iP-U D\2\67\34\f!\22"
+" D\2\b\f\24\3~\217C`\300\36\252]\315o\230\376\303\337\374\367\33\314~\1"
+"\370\362\253/\215\\G\371,R\365!\'+++X\235\2\240r\356\254\262\326\306C$"
+"z\306\312\301\350l\204\34\f\330c:\235B` \177\224\5\66\30\f0[%\301d\232"
+"\243,\260\213\251\332\267H\360\305\20`5DV\253U\314\252\347\250\264\306"
+"\253>C\337x\210T\255\360\2\207\5fp\r\215\207H|1\304\177T\32\33T\rG\335"
+"\301~Q\273 Z\253\375G\2455K\325p\254|\253H\347\253\345\300=LU\361\265\223"
+"\374\323\'\247p\261\202\243R\5\230_\315\355\354\42\307\343\261\322\353"
+"p\\T\360\374\353\227\201\35\201\251^\30\2\363\27\225\7\233\350\374\314"
+"\237\226\300T/\214\20\351\261\300\24\314A\367TG\352\fU\302Z(u\257\215\221"
+"\357\340\234+\255-cL\371\232\332\225|\325D\77\315#\257A\276\250\254\331"
+"\350l\244U!\320\26\330\17\77\376\240\364:\335G-\202\374i|\332x\355k\216"
+"\216\216\364\313\36:#\20\201r\230\344\234#\364\24,<\326w\352\272\327\326"
+"\277\231\311\371D\351f\332\7m,\236\'\243\271\327|\355z\316.gi\256\255\177"
+"3\355\203\266\222\300&\347\23,\236\'C\3054\222N\222\215\300t\302d\nK\305"
+"\310x\204\265\320\346Z\332S\274\224R\366\217\373XD\307G\322Il\205\307\364"
+"\2\213[1\222\375\22%\367)\303cz\201\251\336\330\2227\207\341\200{I)e \202"
+"l\5FD\262{\330\205\213\225\300\275\226Ls\354\'\207RJ\331=\354bQ=u\257\250"
+"\21\345#0\42\222\375\343>\316\'=\34\252\225\0\3\245\246l\266\270RJ9|6\304"
+"\342:2T\215aI\367Z^`\272.\326\334kb\201=\250\332\33,\224gW\250[\324S\220"
+"\360\3477\30crv9\313\312\275\314\bL\327\305P|\315o\250\356\374\r\256Q\266"
+"[^\204J\367C\243\341\r\231\2717\240S\335_\262x\207\221b\327\250\32\32\r"
+"w\301\230\215\357\252g\224\213$R\247\375\26\303\376\272\314.g\246\327$"
+"\237\223y\224.\334\313\273,u\277\230\177C\252\375b8\253t\247Zoq\35\354"
+"X\362\360\331PKdq+\206 \f\217\250\21\271\220\256\344\237T\32\256\273`h"
+"\212\313\362\206\313\2357\t\221\3453\357\226\347\334\356\233\325\315\307"
+" \262l\305\225A\376\353\316\301*D\226\255\2702\332\301gS\207\321M\372\361"
+"\2657{U\372\205\2702\252A\272W\354\273i\341(\306\232+E\344\320p\340\346"
+"q\305\315O\33:0\314D\206\331\345,\353#:w\317\304nN\f:b\377zb\242;\2179"
+"\210+{\201-#2\344e\351\232\nr\24W>\2[Vd\303g\303Rvb\4\42H\265Y\312Q\\\371"
+"\tl\321C\226f\302^v\2632l\0\30c\251\\kq\4\224\363\207\321\277D\365\346"
+"\247\263\3105\263\250\21\245\332}g\\\212pW`\13\221\351n\265o\373\244\26"
+"Iha-LU\240v\260\274\343w\362Z4\241E\215h)a9\330\231\342\377\366\373\357"
+"\204\26\267b/\352g\2141\331\334k\246\16\205/\247\13\16>.\313\315\t_\366"
+"S|\363\33\62Q#rjC\300\30\223Q#\322\3526}\335{t\364\303\344\366\371\232"
+"\t7\273\271\20q+\316eg\25\210@6\367\232\306D\345\3037\264\264~\f+\178\347"
+"\224t\22\332~\270m\345\372\247ON\251w\324\243\301`@\27\323\13\255_\261"
+"x\25\201\b\210\337\343$\204\240\260\26\222\330\22TY\253\30\277\367O\376"
+"\363\211\362O\374\344\201\363\2[\20\65\42z\364\355#\343\213t\33\363\253"
+"\371\365\317\346,\204\367:\26\277\220\301\357qZ\277\273n\375\376>\373\374"
+"3\372\356\177\337\371\260t\345(8\26\205\270\25\373V\\\366\363\301i\313"
+"\326\315|#\351$\276v\224\370\375\204\276\244\223\30\337\b@X\20\330\255"
+"\241s\331:\222+,jx\59g-\326\331]}\247\356\255\253%\235\244\210\277+P\334"
+".\4\327\3056\273\234\311\244\2238W\4.U\35\314\24\201\b(\254\205T\253\325"
+"(|\77\314\244\334\361\252\272\333b\24\235\322\b\354\266\2n\260\25\220\20"
+"\202\204\20\304\252\314h1wt6\242\351tJ\275\243\36\215\177\33\323`0\240"
+"\247\203\247\245\233\347\322\nL\245h\272p\276j\265\372\312\327\277\354"
+"Dep%\b\f8\303*\246\0@`\0\2\3\0\2\3\20\30\200\300\0\200\300\0\4\6 0\0 0"
+"\0\201\1\b\f\0\13\374\1\225M+\276\3271Y\367\0\0\0\0IEND\256B`\202"
+"\211P"
+"NG\r\n\32\n\0\0\0\rIHDR\0\0\0\270\0\0\0\240\b\6\0\0\0\277\266\2461\0\0"
+"\0\4gAMA\0\0\261\217\13\374a\5\0\0\t\347IDATx\332\355\235\317k\34G\26\307"
+"\237B\16s\320a\332\'\23\302\342\362M\301,\352\311)\260\7w\37\303^F}\214"
+"1d\372/\260<\267dYV\3141!\240D>fa\240\217\221\16\312\3448\n(\214oj\301"
+"\204\366\315-\220`\346\246\2011\264n\265\207]\t\307VvjF\335]U\257\276\37"
+"(\260Mc\267\253\276z\375~U\325\32\21I\2\200)\37`\n\0\4\16\0\4\16\0\4\16"
+"\0\4\16\0\4\16\0\4\16 p\0 p\0 p\0 p\0\352\344CL\201\36\204\20$\36\b\42"
+"\42\232\315ft\222\236`R p\363\t\203\360F\274\276\357\223\327\364\250\331"
+"l\322\306\243\215\245\376\236\351\305\224\362\263\234.g\227\224\246)\345"
+"g9\345yN\351iJ\227\227\227\230hE\326\b\335\204+\323\362[\24\6!\371\233"
+">\205AH\367\77\276_\313\277;\275\230\322\311\351\t\35\35\35\321\360h\b"
+"\353\17\201\227\203\347y\264\325\336\242\360qH[\355-j\2547\214x\257\253"
+"7W4\374uH\373\7\373\264\177\260\17\13\377\16\22\343\317\207\347y2\356\304"
+"rp8\220\26608\34\310\270\23K\317\363\260\206\230\200\333G\313o\311\244"
+"\237\310b^H[)\346\205L\372\211l\371-\b\34\343\277#\fB9:\36In\214\216G2"
+"\356\304\20\270\253#\356\304rr>\221\334\231\234O\\\23:,6G\213\255\42\364"
+"0\b\331\257\257\263Y\24!\4\375\260\373\3}\376\367\317k\315v\244\247\351"
+"\37\376\354\263\277}\246u\36^\376\366\222\276x\372\5\345y\216,\n\227\321"
+"\333\351U\26<N\316\'rp8\220\275\235\236\214\332\321B+i\n\275\235\36\\\24"
+"\16\231\221l\234\225*\214l\234\311\275\335=\31\265\243\225\322r&\221\215"
+"3\216\31\27\67\304\335\335\356\226\236g\26B\334\371\275L\204\2315\347_"
+"\250)#\210\234\234Odw\273[\212\250M\27\370uZ\221I\241\210\267Kr\327\324"
+"\337\350x$\243vT\331;\232^(b\220i\341\233\327\276\253\260\353X\\\33\260"
+"<o\3163Kb\272\260m\22\270\224R&\375\4\2\67a$\375d\345\317\261\16Ke\23I"
+"\77\261\321/\347\23L\256*\356\301\341@\333\302\331F6\316l\239\17q\257\222"
+"\337.\346E\245\1$G\201[(r7\305mJ\32\314V,\22\271\335\2_%\307mR!\303f,\21"
+"\271;\1\245\256@\222\253\300\257E\16\201\33\42n\23\373,8`x\n\221\177_\211"
+"\311MD\\\330\333\335\203\300\313\30Q;b\345\'r\302\320\212\247]\275%\313"
+"\364q\333\20\4q\302P7\220g:\320\2264\26\67&\347\23\323\346\235_PY\314\13"
+"k\n\21\34\31\34\16 \360\252\374nS\263%.\t\3340\177\334|\327d\31\277\333"
+"\266\376e\256\24\363\242\364\315!,\5\276\314\221i6\366-sft<\202\300\313"
+"rMl\355W\346\216\1F\307\\\327Du\273\231\205-\234\316\b\\w\300o\354\25&"
+"\317\237=W>o\373\311\323\'82\330P\32\353\r\352\375\253\207\203\177\336"
+"\36B\b\345\300\322\366#\16\\Ac\300io\316\333\202N6\b\\s\214d\334\331\204"
+"B\bz\375\372\265\322\263\237\266>\265\376\372\16)\3359\32\362\341\303\207"
+"\265\237\201h\234\17\256\352\257\275\370\376\5\356\246\261\f\35\276\270"
+"Q\26\\\325z_\275\271\242\217\376\362\21\213\300\322%\13\256\303\212\33"
+"e\301\343/c\245\347\276\375\356[dM`\305\355\263\340\305\274Xxs\331\364"
+"bJ\237\374\365\23\66\2w\315\202\327\375\3655\306\202\307\235X\351Z>Xo\273"
+"i\2547h\253\275U\257\21!KzNlj\203%\244\t\215H\357\32a\301\205\20JW\211"
+"\374\370\357\37a\275\31\260\361h\203\204\20\356\270(Q;Rz\356\233\357\276"
+"\201:\230\320}\326u\307EQ\331\212f\330.\21\270(%lms\302E\361<\2176\36m"
+",|n\377`\37f\217\21\367\77\276_\213\233\242]\340\252\21\65\4\316\17U\327"
+"\324j\201\207\217\303\205\317\374\362\363/\b.\31\22\4\201\3\2\17\26\13"
+"\34\326\233\'*\306\315j\201\13!\22465@\340<i\2547\250\345\267\370\n\274"
+"\265\271\370\77\367\352\367WpO8[\361 \344+p\337\367\27>stt\4\25\60\306"
+"\337\364\371\n\\\345\247\367\344\24=\337\254\5\356W+p\255\335\204*\335"
+"\203:v\201\324\211k\335\204\267\212pm\215\247\5W\351\36\344,n\360\277X"
+"\254\302@S\233\300U\334\223\227\277\275\304\352;@\263\331\344i\301a\275"
+"\201\323\26<\77\203\300a\301\31[\360\331l\206\325w\0\361@\360\23\270\327"
+"\364\26>\203c!\34\21\270`(\360\252\363\237\0\300E\1\20\270N\340\242 \310"
+"d-p\340\6*;\272 p\0n\341CL\201^\252\354\3030\5\235\3756\260\340\0A&\0U"
+"2\275\230\272)\360\272N\77\2\325\341y\213\13zU\266d\230-\360\7\20\270\355"
+"T\275c\307X\201\243S\20\360\26\270\302gI\245_\5\30\356\242(\254\341\345"
+"\354\222\237\300\225>o\350W\261\337EQX\3034Ma\301\1`\347\203\303\202\333"
+"\217\312\306\26g-8\262(\366\243\262\206U\372\340Z\217\215P)\341\336\273"
+"w\17\'[Y\214\312\32\263=6Be\327\274\356<*\250\326=\251\262\212\251]\340"
+"*~x\325g\327\1\275\2\257zc\271V\201\247\247\213\203\13\4\232\366\242\262"
+"v\303\243!_\201\253\354\330\251\343\fiP\221\5\177\2547\203r\23\7\220\341"
+"\2270\205A\310\362\2*\316\243\345\267\224\326\266\352{O\265W2U\2\315:\356"
+"r\1\345\22\177\31/|\246\216\263\337\265\13\\\305\7\253\373\352gpwT\356"
+"\337\251\353\354w+>e-\277\205O\277%C\b\241\264\246Q;\252\343}\364O\310"
+"\344|\262p2\366v\367 \36K\306\336\356\336\302\365,\346E]\357\243\177B\222"
+"~b\322\204`\324`\260\222~\342\306M\307Dj\267\2505\326\33\24wb\2f\23\265"
+"#\343n\316\263\346\247~t<\202\2054|\214\216G\246}\215\355\361\333\220\23"
+"\347\221\373\256\313=1J\340\252\2217\254\270\271C%\226\322\220\21\263\353"
+"\363\6+nwj0\33gu\277\2339\223\24\6!\254\270\245cp8PZ\273\270\23\273+p\325"
+"`\23V\334\254\241j\230&\347\23\35\357g\326d\305\235\330\344\311\302\270"
+"ed\343\314T\353m\236\300\227\261\342\275\235\36\4\246yt\267\273\246\33"
+"$\363&M\325\212\243GE\177`Y\314\13\223\255\267\231\2_&\243\242!*\307Xr"
+"\2154\273\223v\7.pU\314vM\fH\b\330_8@V\305\314\212\245\224R\16\16\7\272"
+"\337\327\334\211\364<O\331\307+\346\205\24B@\2005\254\211j\22\300\2205"
+"1{B\243v\244l-\262qV\371\36\77\370\335#\345\365\350nwMxg>U2\r\215<\350"
+"51\277\332l\307gQ\325U\201\310\365\7\225\305\2740\351K\312\253\34l\330"
+"\347\221\305X\246.Q\343^K^\2\'\42\331\333\351-5\321\32\213\13\316\212\333"
+"\300\275\263<\273\326 \362\372\305mh\227\247}i*\325\346\36\24\202\352\23"
+"\267\301\31,;s\261\313\4\235\b<\253u\5\213yarO\220\275\325\264eE>8\34 "
+"O^b*\320\2q\333+\360UE\236\2153T<Kr\375,\211q\334\351\213x\333\352\30\226"
+"\312\262\316PX\24\300\333\277@Q;Zi\201p\34\334\362\376\266\205\331)\267"
+"\255P6\316\234\3344!\204X\252\257\304\342\324+>\265\327\251DW\2\320\336"
+"No\245y\262\324\265\343\347O\252\266s\336\266\363\204sa(\f\302\225\347"
+"\306\202l\211\33\2\277KF\340\355\212\34\247\r\24a\20\256\354\2160\310<"
+"\361M{-\233\323\345&\364\273\n\233I\355\0m\236\252\256\213\r\13\355y\236"
+"\214;\361\235\276`\314Z\34\334\310\363\256\352{\276\353\207&\375\304\310"
+"@+jG2\351\'+\7\331\357\376@3r\321\334\251\324\251\36\321\274\214\330\343"
+"N\254\305\77\275\266\324e\211\232k;\303\332\265\312]!\fBJ\372\211\322-"
+"\4\3130\275\230\322\360hH\351iJ\'\351\t\245\247i\251W\344\205AH-\277E\376"
+"\246O\276\357\323\306\243\215R\337\377\352\315\25=y\372\204~:\370\211\325"
+"z;\'p\42\42\317\363\350\371\263\347\364\325\77\276\252\364\337\271zsus"
+"]\371\333\327%\346g9\345y\376\207g\205\20$\36\210\233\337\373\276O^\323"
+"#\177\323\247\306z\243\322\367|\361\375\13\372\372\237_W~g\245.\234>z\354"
+"\256Y\6\233\31\35\217\\\250\342\242\331\250\214t\232m\302v\350\240$\b\334"
+"\25\241;&l\b\374\377\245\25\313\316N\350$\351\'.\237\302\13A\327Q4\251"
+"\233l\234\311\356v\27;\230 d\365\200\264\273\3355Z\354\327\242\306\216"
+"%\207\363\340e\245\31\303\307!\205AHA\20\224\236\223V\345\325\357\257("
+"MS\32\376:\244\375\203}\266i>\344\301\r\20\274\277\351\337\24b\204\20\245"
+"\346\257\257\363\351y\236S~\226\337\24\224 h\b\\;-\277E\315f\363\275_\377"
+"\31\263\331\214N\322\223\367~\r p\0\336\343\3L\1\200\300\1\200\300\1\200"
+"\300\1\200\300\1\200\300\1\200\300\1\4\16\0\4\16\0\4\16\0\4\16\0\4\16\0"
+"\4\16\300b\376\3\16&A}\35H\4A\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0"
+"\0\rIHDR\0\0\0\270\0\0\0\240\b\2\0\0\0\60\3241f\0\0\0\4gAMA\0\0\261\217"
+"\13\374a\5\0\0\7\217IDATx\332\355\235\317k\333f\30\307\345t\207\24:\360"
+"{k\3136\362\366\26\350!\322\261a\245\326\241;\24\62\34_\n-\245\213\257"
+"\205\261\340c\331\230\321_\20\360\261+\30t\355\16\301W\273,\255s\252\25"
+"\346 \37]\352\22y\227\332\340\200\234\223v\b\13e\255e\325~\177J\337\17"
+"=\4B%E\357W\337\347y\237\367\221^\303\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\272"
+"\222\303-\260L+\237\317\33\206\321\177\333\357\367\373\270!\31\25\n!\304"
+"\3340)\245t\215\232\246I\362\204\256\321\253\337\\\235\373\37{\307\275"
+"\361x<\32\217<\317;\327P\263\325\204P\322f\22v\301.\24\n\326\206\225D\23"
+"\311\31\276\37\66[M\357\310k\266\232\35\257\3\247\321\3229\312;\345\306"
+"~#\234\204\221\20\302I\350\326\335\362N\231\20\202\373\257\215>\42\251"
+"4\366\33P\214\272\361\305\255\273\302\374#\271\307X\246\205\321Q\202\362"
+"N\271}\320\216\24\246}\320\266\13\66FJ\246D\202A\20iB0\b\312;e\214\232"
+"P\354\202\255\221D\340.\22\240\224\362\b4\341$l\37\264/\376\t\310v)\245"
+"\30M^8Ug\371A\362\273~c\277\341T\235R\2614\353\341\26\223\352:U\7c\312"
+"~R\343w\375e\304\341T\35\273`\'\234\262\n\213D~\327\307\264H\276\221,\\"
+"\317\20\234\270Tv+\30\345e\13h\13d\f\301 \250\354V\226\251wIIrQ\240[|j"
+"\363\245\5\64Vs\nY\363g\204\241Ej$_t\227\335\272\313p\36!q\376\214Z\313"
+"\27\340\326]\271\225\t\271\265\26\314\206\22%%\311U\22\f\202R\261\304\343"
+"2\244\327\345\334\272\13\61\304\251$\371\34\270\266W\343\227\375\251P\303"
+"u\353.\322\333\245T\22\f\2\336Up\1\325\266\204U\26heA\2254\366\33\2\356"
+"\235:kC\320\312\42*\21V\230Rm\35\21\42\61\f\303H\242\222p\22\212\\tUm\315"
+"\31\271m\242\231\260\370J\224\202\375\t\231\326Jm\257\246f\220V\263\227"
+"%\243KBIj\257\262R9e\373\2368\325\215\324\3052\255\271SD\211\t\277\262"
+"B\t\'a\206\326\203\b!s\33\31\345N\13Un\246\314\320\204y\356{7\322\357\205"
+"\342\215\267\231Hl\347\246&\341$\224\336O\252~\223v\312\223\25Ji|j\242"
+"H\fV_(\341$Ls\0\232\333\256\246H7\206\26o~4\366\33\31\r:\265\275\232\42"
+"\227\32iB\n\3\20!$>\350\370]_\235\253\325E(\301 H[\0\212/\302\252\220\300"
+"\352(\224\264\265\303QJ\365*Nk$\24\325\236\261\245\210_\371Sp\31=\322\212"
+"\224\224U\346\332\211\202\17D\244\33i0\225x;Q3\304j\'\24\355M%\336N\224"
+"\255\32E\32\42\322TV\230\37\321\371=\3160\236\374\374d4\32\31\200I\231"
+"\352\'q\265J\306\237\17%\204\234\274;Y\275\262\372\331\337\16\337\17\257"
+"}{M\315\233\36E\221vB\231\236N/\177}YKG\331.n\317R\211a\30O\177{\n\33`"
+"\310\352\225U]_G\215\351\232\16\'\241\312W\36\351\211\226\253\77\361i\254"
+"\342\365\304H[\304\244\264,CO\345\227\270b\353\263\347\317\20,x\240\337"
+"2aL\263\243\372\16\251\257\243\210Y[e\346(\224\306mY\361\342\317\27x\364"
+"9\261~s]@i\212\231Pb\fpz:}\366\7\342\16G\266\213\333\332\b\245P(\300Nd"
+"a\337\261\265\21J\314\2656_61\226|\205\242\313\227\261-\323\212\311\266"
+"\264\350\310\2124\207\367$y\205\267\242{\307=,\356\210xV7,\r\204bn\230"
+"\263~\325j\2650\212\2\60MS\7\241\314\276\312,o\330\230\2464\205\315\352"
+"q\314\322\353\215\33\67\264\330#V\307\325\343\377\325 \270\256$3p\224\370"
+"\367\374\260\223\260\30b\26\355U\21\312\371\356\322\237\345\360\325!\206"
+"0\35\321\207\257\243\300NR\3_G\351\277\205P\340(\377A\327(\204\2GI \224"
+"\3315A\204\36\221\220<QZ(@\21\270\326\334\370\n\5\241\7\241\'Y2\213\320"
+"\3\241\\\260~s\35\367\21B\1\3000\f\343+\256G\327}\1\5\300Q\200p\241\f\337"
+"\17q\37!\24\314\201\1B\17\200P2\b\327\252\25\3\241\214\306\350\235VC(o"
+"\325\26\212\347y\30$\204\36\0G\201\243 GA\216\2Ga\13\367\3275\2000r\271"
+"\34\277\203\263\311QP\234\225\16\357\27\36\330\b\5\305\331t\'(\314\204"
+"\202\367F\245\343\35y\32\b\5\23\37\351t\274\16\337\4\210\311Q\b!\37>|\300"
+"h\2455\223e\346(\243\321\250w\334\303h\2455\2235\30Vf\361\35\24\211\b\310"
+"\21W4\272V0\13\1\237Sd\31\330\302I\310\373\343\13\340S\304\354Y\262\242"
+"\227\256\201,/\207P\20w\204\207\36D\237\264\306\35\203y\77\nL%\225v\302"
+"\336Q,\323z\323y\203\361\23\206\260o)2v\224\216\327A\345M\30\207\257\16"
+"\205}\6\340\22\363#N\317\246[\77na\24\5\360\370\361ca\353\366\\\26\b\202"
+"A\20\263w\17\320+\215\345\22z\316\301n\244\2\20|\223y-9\302T\322d\'\6\277"
+"\3275`*i\262\23\216\216\2S\341:\331\271\365\375-\301\'\345\370\2\330\203"
+"G\17\60\250\\\354\344\327\324\271uc\277\21\1\246\270uW\312P\362\355\237"
+"\243\224\372\177\373X\375a\305\364tz\375\273\353RvT\273\304\365\350\343"
+"\361\370\354\354\354\356\17w1\306L\270\177\377>\357&j\231\264\17\332\b"
+"\31\313#w7\372\234\200s\20BN\336\235 \0i\32t\270\317z.\30\215F\17\37=\304"
+"`/\303\275\255{Y\331\354\265\266WC\370X\f\247\352d\353\261@\262\242]j\42"
+"\7B\210\337\3651\366\311\361\273\276\42\373\320\347\4\237\3172\255\327"
+"\177\275Fb\253E\2+:\231\375\230\216\327\331\274\2759=\235B\7sU\262y{S\235"
+"\4\366\222\370S\6\303`\370\317\20]psU\222\346\332Zr\312;e\244 \263\210"
+"\337s\34Z\1Q8\tK\305\22\264\1\255\314Q\t\274d&\245b)\234\204P\tT\222h\316"
+"\234q\255\4\203\0*I\4\2454\263\2658u\252j\332\324m3\330\21\347\326]\250"
+"d\21\234\252\223\35\225Tv+\30\361\305\261\13v0\b\220\224\200\254\207\241"
+"\332^\r\341\6\63\3479Fb\27l\214,\27kIM\307\223Su`$\334\13-Z7=\265\17\332"
+"\224R\214\243\270$W;\271\264\17\332\2105\220\13$\242C0r\353\256\232K6n"
+"\335\305\324W\271T\267\262[Q\244\366\357w\375\362N\31\351\252\322PJe)\306"
+"\357\372\225\335J\352s\325\\\372<f\273\270m\337\261M\323\\\277\271\316"
+"\351,\275\343^\253\325j\266\232\315\227\315\214\274\227\225K\361\337F\b"
+"17L\273`\3235J)57\314\305\272\377\247\247S\357\310\353\367\373\336\221"
+"\327\361:\336\221\227\225\227\3662\42\224YYp>\237\377\370\207O\31\217\307"
+"\347\215\315\27\77\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3000\376\5\372"
+"G\3471\273\213\267\255\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIH"
+"DR\0\0\0t\0\0\0\240\b\6\0\0\0\3355H\36\0\0\0\4gAMA\0\0\261\217\13\374a"
+"\5\0\0\4\377IDATx\332\355\235\277k[W\24\307\217J\207\f\35|\267\f\35|\307"
+"\204Rt\337f\34B\336\33\223R\220<&d\320[\3\245\305\243\323\220\2405\24R"
+"\234\77@Dc\22h\242l\221\301F\332b\203]^6\253\304\305\312d\25\\P\266\333"
+"\301U1\245\211\224\306\222\336;\367\363\205\13\36l\214\316\207\357\271"
+"\347\236\373C%\21\361\202\324\3503B\0P\4P\4P\4P\4P\200\42\200\42\200\42"
+"\200\42\200\2\24M\254\310E\222\304\311\314\377\357\347\204~r\31c\304\225"
+"\235Xk\305.Zq\316\211Y0b\27\255\234\377\362\374\177\376M\251T\2h\336\\"
+"\26\307\261D\345\350\275\320\362$\200\376\313\201\325JU\252\225\252$W\22"
+"9\367\305\271B~\16\37\3620\306\370\264\226\372\326\263\226\237\206\346"
+"\360\231\302\4\31\271\3107\33M\77<\36\372i\n\240S\36i-\365\335\255\256"
+"\237\225\0:E\220\375\203\276\237\265\0z\306#\211\223\271\200\4\350\31\17"
+"k\355LS+@\2478\352\367\352>/\2\350\'V\256\331^\346\363$\200*p\345<\201"
+"\26\276Sd\214\221\326/-Y\272\264D\253\253\350\273-I\234\310\341\233C`j"
+"\0\232\326Ry\331~Y\330~+\275\334S\243\331h\372\242\210\242hL#\275H0)\212"
+"\306\24\77\235\315\216\\\370\352\29\265\350s(0\25\1\5\246\42\240\300\374"
+"x\225$\3077\270\263\275\254\3600g}H,\267\16m6\2328S\313:t\375\301\272\327"
+"\242\340\327\241i-\365\2324\353\370\345j\16\215\\$\235\315\216\252v\336"
+"\254\347\320\334\0\65\306H\266\233\25\34203E\321\4z\324x\244\16f\260\353"
+"\320\264\226\312\325o\256BCC\312\265\326J\266\233\251\335\6\13.\3456\33"
+"M\3664\265\0Mk)\247\r\264\244\\c\214\34\2769T\357\316`Rn\375n\235T\253"
+"\305\241\326Z\331\337\337\17#\300!8\264~\267\216\225\26484$w\6\341P\334"
+"\251\310\241\241\271S\275Cq\247\42\207\206\262\356\f\306\241\325J\225u"
+"\247&\207j8\360U\4\207\316\4h\210\305\220\352\224\273\372\375*\271P\223"
+"C\373\7\375`O#\250s\250\265\226\243%\232\200\256TV\210\262&\240q\34\23"
+"eMs\350\360x\30\364\372S\325\34\32\271\210f\202\246\224;\2177\327\1:E\271"
+"\262#\302\252\200:\200\252*\212N._\5\36`-EQ\344\42\354\242)\345.,,\20]"
+"M@q(\16Ey\6j\27-\321U\5\324\2T\335:\24\1\24Q\24\241\323\232Z\247\210.\321"
+"\337\1\346i8\4P\4P\200~\244\336\376\376\226\350j\2\332\373\255GtI\271\b"
+"\240h6@\7\177\f\210\256&\240;;;D\227\224\213p(b\16\325,\216qN;\300\232"
+"\232\363t\213\224\25Et\213\224\1mo\264\211\260&\240T\272\312\212\42c\214"
+"\34\35\35Q\24iq\350`0\220\327\277\276\3066Z\200\212\210lll\20eM@)\214\24"
+"\315\241#\205\374p\206\312S\177O\236>\31\373;4!\224\1\345\265\261\2\245"
+"\334\220\323\256\332\203\326\223\270\24\25\310\241\221\213\344\325\366"
+"+\34\252\5\250H\230\257Z\253\276\333r\377\247\373\344DM\16\25\t\3571d\365"
+"\267\317\326\356\254a#M\16\r\315\245A\334\17\305\245\312\34\32\222K\203"
+"\271\301}\375\346u\354\244\th{\243-/\236\277\200\200\226\224+r\3628U\266"
+"\233\251\356\361\6\365hF\257\327\223\333wnc+-\16\35\251\273\325\225\245"
+"KK8T\13P\315\337-\32\344;E\203\301@n\334\274A\276\324\2TD\344\361\323\307"
+"\362\360\347\207\20\321\220r5\317\247\301\77\rw\355\333k\34\316\326\4t"
+"4\237\276\373\363\35t4\0\25\21\331\336\331\226\345\313\313@\325\2t\4\365"
+"\326w\267 \364\77\344\363<\322Z\352\213\2549\304,\337@\213\16\25\240\312"
+"\240\2\364\3c\245\262\342\207\307C\200~`\344\256\2610N\221\213\244\263"
+"\331)L\337\2277\347\'\250~/~}\221\346\203\26\240\42\'\373\250\313\227\227"
+"9\361P\304e\313\270Q\277Wg\16-jQ\364\276\221\304\211\357\37\364\1\252\5"
+"\250\210xc\214o=k\1T\13\320\274.m\0zFn]\177\260\16Pm#r\221\357nu\1\252"
+"m$q27\260\0U\6\26\2403J\305\315F\23\240\32\213\247\325\37V}\266\227\1T"
+"\333\260\326N\5.\273-9\2201F\252\225\252$W\22q\316}\322\313-A^\205(\2`"
+"Wv\222\304\211\330E+\326Zqe7\321\26\36@\13\246\310E\377|\201\374\351\237"
+"GZ\373q\r\240(\260\375P\4P\200\42\200\42\200\42\200\42\200\2\24\1\24\1"
+"\24\1\24\1\24\240\250\310\372\13\253\5S\264\n\263e\342\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0t\0\0\0\240\b\6\0\0\0\3355H\36"
+"\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\4\376IDATx\332\355\235\301k\23i"
+"\30\207\337.\36*\270\320\364\24\245\2738\275\31v\313&\236j\334Br\264\213"
+"P{T<4Wa\331\245GE\326\215GYp\251\177@1G\323\203\2667\'\262\325\364\326"
+")X\232\343\224\265\330\334\22\260\320\334\276\275l\244+\265\262\315|\337"
+"\314\274y\36\30\260\247\31\347\341\367~\357\367\3160\31\21\21#\240\206"
+"\257\270\5\b\5\204\2B\1\241\200P\204\2B\1\241\200P@(B#\240\\*K!_\340\316"
+"[bD\34\17\347\2159\376t\355\275\266\204\273\241t\272\35\t\202@\302\335"
+"P\3020\224`+\220N\247\203\251\264\t=\211\366^[6\2676\245\321h\210\337\360"
+"e3\330\304\\\232\205~J\357\240\'\376+_\352+u\251\257\324I\360\247\367\330"
+"\345a\203\325\347\253\246\262P1\231L\306\270\376\377$\360H\277\320>\207"
+"\37\16Mm\271f\n\371\2B5\b=Js\275i*\13\25\204j\21\332g\377\335\376\260\211"
+"\325-\364\250\330r\251\214P-B\217\226b\317\363\20\252Eh\237\352\203*B5"
+"\t5\306\230\235\267;\32;\342\341\25\2521\255\251\234\24\331`\343\365\206"
+"\314^\237M\375\324\211\307g\3772}uZ\336\377\375^\312\2452B\2650znT^\372"
+"/\245\262Pa\226\233\3465\3648j\3135\232\42MB\373R\3236\360\247)\372\2\255"
+"\355\226\24g\212\251i\226XC\277\300\245\357.\311\233\277\336H&\223A(R\21"
+"\212\324\1a\r=\305\232\232\373>GB5%\265\266\\c\37\232\306m\313I,=^b\37"
+"\252I\2501&\221oB\260\206\16@\357\240\'\305\231b\242\336\23F\350\200\264"
+"\367\332\222\233\312%f\360@S4 \331\211\254<]~J\227\253\211k\77]K\314\23"
+"\32Jn\204\353in*\'a\30\222P\r\214\236\33M\304\376\24\241\21\62}u:\366\322"
+"K\311\265Pz/|{!\266\256\227\204Z(\275\325\337\252$T\33\223\223\223\261"
+"4H$\324\22q\245\224\204*K)\tU\226R\22\252,\245$TYJI\250\262})\tu\260/\275"
+"1w\203\204j\302\345\213e\bU\326\34Qr\35\261\370\313\42\t\325D{\257-\347"
+"\2779OB\265\220\235\310\212\347y\b\325\304\374\334<B5Q*\225XC\265\r\31"
+"\316~}\226\204j\32\62\330\376<;B\35c\373++\buL\376\207<BU\t\315\333\25"
+"JS\24\3###$T\23\66\33#\204\306\300\330\330\30BI(BI(\270\301\273\350!T\225"
+"P\17\241\200P\204\202\202\246\210IQL\330\232\26\221PJ. \24\20\252\231\366"
+"^\33\241\232\bwC\204\2B\21\nn\350t;\b\325D\20\4\b\5\204\222PH\377\32\312"
+"p>\6x\215S\21\66\247D\b\215\1\233S\42\204\306\200\337\360\21J\207KS\224"
+"X\306\307\307\255~U\214\204:\244\265\335\262\376\2118\204:\244\321hX\77"
+"\7B\25\65D\254\241\16q\361\301\f\22\352pXP_\251;\271\26\204F@v\42\233\30"
+"\241\224\\E\345\226\204:\302U:I\250#.\27.;\373\25`\204:\30&\270\372\232"
+"5%\327\1\217\376x\344\364|$\324\362v\306\305G\217I\250#\356\336\277\353"
+"\374\234$TQ:I\250\262t\222Pe\351$\241\226\270y\373fl\347Fh\304\254\275"
+"Xs\362\230\214\222\353\200\336AOrS\271X~\252\231\204Z\340\336\375{\261"
+"\312$\241\21\262\361zC\256\374x%\366\353@hD\245\326\345o\204Rr-s\353\366"
+"\255D\310Dh\4<\371\363\211<[y\226\230\353\241\344*X7Ih\4\264\266[2{}6q"
+"\327\205\320S6AIZ7\21:\240\314\342L\321\331+%\b\265\314\235\237\357$V\346"
+"\307>\305\345\221f*\13\25\343\372~\235\342@\250\42\231\bU&\23\241\'q\370"
+"\341\320\314\317\315\247I\2469C\233\223\316n\226.\367\177\16\rrS\271\324"
+"\311D\3501\254\275X\223\342L1\366\347\232l[\42\240\372\240\232\252\365"
+"\222\246\3503\354\277\3337\345RY\203L\204\256>_5\231LF\213\314\341\25\232"
+"\306-\tB\77\303\322\343%m\251\34N\241\315\365\246)\344\13ZE\16\217\320"
+"\346zSS\3233\274B\207L\244^\241\265\345\3320\224V\335Bw\336\356\230\305"
+"_\27\65\67;\372\205\366%z\2367\354\22\323\371\264\245\265\335\222 \b\304"
+"\177\345K}\245\236\310\227\264\342&\221B{\7=\t\266\2\t\303P\302\335P\374"
+"\206/\301V\200\300$\n}\370\373\303\377\374\335\355v\77>\246:\372o8\35\316"
+"\337\234\7\236\207\2B\21\n\b\5\204\2B\1\241\b\5\204\2B\1\241\200P\204\202"
+"*\376\1\17u\21\327\341\25\342d\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0"
+"\0\0\rIHDR\0\0\0S\0\0\0\215\b\2\0\0\0D\344\321\b\0\0\0\4gAMA\0\0\261\217"
+"\13\374a\5\0\0\2\363IDATx\332\355\334\301J\343@\30\7\360\254\354\241\7"
+"\17\235G\310\33lrS\326C\343\255x\251}\203\346\t\266\346\tJ\236@\350Q\26"
+"\204\36\325C\311\265]p\251\267D(\344\32!\302\364\30\2500\275u\17^D\261"
+"I3\223\371\22\367\377\77Ja\374\351d:3\337G\f\3A\20\4A\20\4A\232\222o\271"
+"\237p:N\23aY\226\205Q(%\337n\267M\224\77\374}8>9\336\361\201\203\377v\266"
+"C\169\344\220C\169\344\220C\169\344\220C\169\344\220C\169\344\220C\169"
+"\344\220C\169\344\220C\169\344\220C\169\344\220C\376\225\362]\363x\253"
+"\347U\362\224\314\346\263w\77w:\216\365\303j\35\266j\364\267\331\252H0"
+"\r\334\201\313\30\333=\226m\331\336\320\213\227\261\374\210\213\373\5\261"
+"|r=1Ms\337A\235\216\263\270_4U\36L\203\22\346w~\236\362&\311\305Z\270\3"
+"W\311\263\306\30\233\\O\232!\347)\267-[\355Z\343\16\334\272\313\343e\234"
+"\273\214\351\301k\225W\307.\201\327\'\27k\241|\222\177\2147\364j\'\357"
+"\367\372z\366\27\3014\250\221||9\326\266\263b\214\211\265\250\205\\\254"
+"E\245\217w\271\7^\207\\\325W\367^\311\335\341U.\347)\'9M\364{}I\271\354"
+")\365\352\367\25\211\374\346\356f\365\274\242<\237S\311\r\303\270\275\273"
+"%;\245\306\313\230\360\370l[6\331l\237\317\347\204\3620\n7/\33\232\331"
+"\36>\206\264\267&\263\77\63\32y\222$\264\362(\212h\344\37\257\3234\'yJ"
+"h\344\344\221\231t\270o\207\34r\310\363vQ\264\277\275\314;0\244\344\355"
+"v\233V\316\332\214FN\376\332\21\313\262h\3442\3+\311\321\317#\32y\367\254"
+"K\310\226\274\363<\240\35^&\347\275s\262\363\371k\331\220fm\313\273\201"
+"\255\3746\252{\326\225,\230\226\313\305\257\213\312\333\f\212T\310\353"
+"\366\17\327Wi\320\374\365\346\217\374\272\324Xx\312\265\25\33v_\277\21"
+"\324\325\364\314y\306X\301.\n\255Udo\350U-/\336<\243\273s\240\322J\323"
+"^m#\4\335\42\25\341\367\355\226\241\351\20\362G\276\332g\273`\315\274\26"
+"]a\3014P\262\332\333\226]\2561\214\262\37N\254\205\314\232\307\30\33_\216"
+"\33\334\3\311S^\244\357\363mL\323\364G~\221\306\210Z\313\337\316\177o\350"
+"}\266\333c\2149\35\307\37\371J\232^\213\310i\336z\272y\331D\217\221\222"
+"\13\206\317\222\373\326S\335]\336\257i\35\266\252\320j\275\231hn \207\34"
+"r\310!\207\34r\310!\207\34r\310!\207\34r\310!\207\34r\310!\207\34r\310"
+"!\207\34\362\374\344\327RO\235\323&\302\262,3\20\4A\20\4A\220/\226\177"
+"\344\265[\255\0\r\251\207\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\241\0\0\0\242\b\2\0\0\0\246\247:O\0\0\0\4gAMA\0\0\261\217\13"
+"\374a\5\0\0\t\367IDATx\332\355\235\77l\333\306\27\307\351\242C\206\16\276"
+"\315C\6\337(\300\203\217[\200\16\25\307\342\2678\332\32\264@\305UH\21\231"
+"[\233\337\17u\325\321\b*X\243]\300\255\272\245\31\\e\213] \201\275\231"
+"\6\34\310#\38\200\274Q\200\fP\233~\203\0\303hu\307\273\343\375#\365\276"
+"\310\20@\210B\335\207\357\335{\217\307\367<\17\4\2\201@ \20\b\4\2\201@"
+" \20\b\4*\277V\330\37c\214\303oCX&\307\365\303\177\177\220g\34\324\203"
+"7\307o`\21]\267\324\25\26\307O`\201*/`\f\214A\345\327\247\25\376m\323\333"
+"i|\21{\236\227\216\3238\216i\1\307\374/\217>\177\4\214]\327\325\373\253"
+"8\216\343\213\370<>O>$I\222H|\211O|\274\216\t!\204\20\177\323_{\270V\375"
+"\334\311\361\270\372\354\335\331\361\311\361\374\217\216\357G\b\5_\4A="
+"\250\327\353\265\215ZI\343j/\227\361\3141e\223\254\177\330ol5\20B&\327"
+"\21c\34\66\303\301\321`\346\236\n\3750\247\30\17\216\6\215\255\206u\243"
+"A\bE\355hx9\4\306*\r\267\263\323\301\30\273\346!}\342\367\17\373\300\270"
+"\220F\327\243\260\351z%\25c\334\331\351d\223\f\30W\220\356\77\34\270E\322"
+"%\213\253\247\267\323\335\27\273\273/v\3234U\370\265wy\360\77\2446 \307"
+"\30w~\354|\365\365WN\305\325n1~\375\327\353\326\323\226\\j{\267G\22B\360"
+":\236C\345\257l\234\275;\233#\237\347\326E\330\7\365`\257\273g2\327*G\356"
+"4\272\36\321L\215\347\42;;\235\323\267\247j/ix9\354u{\322IZ\324\216\214"
+"\271\356\22\354\307\375\303\276\350:\42\204Lf\253\203\243A\330\fE/\22c"
+"l&\305r\232q6\311DS\336\240\36X\314X$r\364\316Ngy\31\17/\207\374Y\357\334"
+"pG\327#\27\362\321\321\365(jG\374f\35\324\3\255~\333Q\306\374\376\331n"
+"Z\222[\234\341\374\25Z\375\266\213\214\243v\344`\344\42M\232\363\347 \204"
+"4\3552\3161\346,n\4\365\300\21\317\2546/\350u{Uf\234M2\237\370\26\357w"
+"\3\21\31\217\353\16\233a5\31s\2\326\35\236\30p\335<\201\267Z\314N0\346"
+"\4\254\303\217YQ\257\3333\211\331>c\36\300\b!\247\236\310\232\311\fUa\266"
+"\314\230\7\260O\374R\373\347\42\277]\tf\313\214s\243h\345\1\210k\312]\201"
+"\342;\224M\306\0\230s\35\n\346\21\326\30\367\17\373\326\13\271\356\210"
+"\275\32\5\303\21;\214O\337\236j\275s+\211Y:(\261\3008\233d\354R@er$\265"
+"\230\245-\312\2cvUoI\366`\271\275Yn\3772\315\270\263\323\1\300E0K\34h1"
+"\312xx9d\347\301\0x.F\336\2141\26\335\230\2152V{\351\25V6\311\30U\260\250"
+"\359\312\230\355\245+V\252TR\354dD\246B\36\333\20\343\321\365\b\2iQ1\36"
+"]`\214\235c\314\210\245\33[\r\300I\23\343A$\177\214m\2021\243\342Q$\265"
+"_\222\215\231\346\261\371\227\216\rQM\77\220\'\337<\241}\264\367\313\336"
+"\203\317\36x \212\36|\366\340\367\303\337\27~\224\246\351\363\377=\327"
+"~\5<v\314\250\3358\370\212z\351<6\317\2416\355\214\319@\211\16\335\331"
+"\25#b\345\251\32\351\365\325\177\374\366\7\355\25\264\250\35U\243g\212"
+"\1\255=\\\243e\236\373\7\3737\37ol\372jZ\321\3B-\205\301Wn\200\255\321"
+"\216\317\336\235\235\307\347\13\77\332~\266\r\241\226h\360\265\375l{\341"
+"G\273/v\255\3311\255\266\16F\254\334\224\331\217\333u\331\361\364v\272"
+"\177\260\277\360\243\307[\217\301\210\325\232\362\376\257\373\26\354\230"
+"Q\207\203pZG\200\315XU]vL\273\263\202z\0\341t\221\0\233\266\3\376\371\352"
+"O\271\357\224d|\363\361\206\26mA\337\372\202z\274\365\330\250\273\246\371"
+"j\232\243F\b\201\277-.ZY\211\346\256\265\3301\255\355\r\355\36\4\t\211"
+"V\332\224s\327\222\214_\276z\t\214\365\251\371mS\310\264\3243\236\267\262"
+"Z\250/\377\363%\20*\256\332Fma\242|\374\267)\306\264\273I\272\301\26\210"
+"\323#\246iz\365\376\n\30WD\301\27\213\27\363\344\344\4\30W\2051e1\317/"
+"\316\2653f\370\212\n\217\335\260R\fY\270%\323\206\237\250d\234|X\374\264"
+"\230\247\25\4HHd\223,\260\343X\277\35\323\356#B\bP1\343\256E\303.ev\214"
+"\3271PQ+\332\222\216\307c\315\214)\'{\300\216\3253\246T4E+!\312\354\30"
+"\255\42\240b`\77\226\220:;\336\4;V,\3329\13\355v,zA\240\42R2\247L\214\261"
+"D!\rd\335]\2131\246Et\16\16\330\252\260h!\221^_\r\211\223Q\306\211\r\306"
+" \227\5\214\2011\b\30\203\2001\250*\214E\243yP\21\211\26F\24\61N\200\261"
+"9\211\26F\304\30\303I\17\303\212/\342\342_\242l\77\236\336N\1\211r)\31"
+"\2\375\211Sw\34\210\307lD\217U\t3\246\35@I\307)P1\343\250WWW-\331q\fv\254"
+"X\264HV\364\351\2002;\206\364I=c\332\3219\254\2311\355&\2;V.\332y\17\275"
+"\271\23\343&\2228\367\13\222\330\217\21B\242Gn\204\31\63Rd\306\373\214"
+" Q\335|\274Y\2308I\234\f\221\211\271h\261;\270k\3\216Z\342\2452\31\306"
+"\264\243\324ro@\203\26/\346\337V\31\323^\233\2445\27\0Y\f\270d\31\323o"
+"\245\327\177\275\6<\305u\365\376jar\354\23_\342\214\263\f\343\265\207k"
+"\264-Y\272\207\24\350\276\16~=P\345\250=\351:\27\355\77\3\306J\244\266"
+"\245\216$cZ\343\2314M\301]kr\324\b!\271g\273\222\214k\33\65Z1\344\340\340"
+"\08\25\21\255\223\261t_,\371g\22\264>a/_\275\324\3337\275\322\232\336N"
+"i\373\235\5\3064w\355im\304\273\4F\274\260\274\2051\226\356}&\317\270\266"
+"Q\243E\327\273/v\341X\210\234h\346Q\244\323l\241\347\307\264\206\332i\232"
+"\352m\217_Q1\6\260h\354&\314\2365\240d\306\30(\267\335m\3560C\215v\314"
+"\350\215\17\246,\252\237\177\372\231f\304\333\355m\215\377q\356\354\37"
+"\266)\303\320\201\342\323Bx\306\250i\264\343\\Sn=m\201\201\362\250\365"
+"]\213v\314\226=U\332\204\35\263\357AOpV\363r\2121u\226s`\245^;f\233\262"
+"\347yO\276y\2y\24\273\350\301\230:\253\335\210\371\357\243l\2221\16\13"
+"\362L\205\\ZE\355\210QIth\306\365l6\33\34\r\30\33738\32\0N\241E\23\212"
+"X\r1\2361\307\325C\214\275p\\\27#\216\341\37To\2241\373\242}\342CU\344"
+"\376\356\306xm\311\'\276\320\267\231c\314\36\320\7\33\63\3178\322\271\206"
+"\227Cw\31\263=\266\347yQ;\2\300\354hY\310K\333a\314N\227\275\2741\257\225"
+"W\377\260\257v\301-0f\'\365K\216\231\rX:2\265\3008\327\35-\'f6\340\42\65"
+"A;\214g\263\31\3550\320rb\316\5\334\353\366\244\277\334\32cvz\260T\230"
+"s\1\27\3148\2541\346\211\277\226!\322\316\335\266\n.\262e\306\263\331l"
+"x9\314\305\34\66\303J\226G\262I\306\316\203U\225\206,3\346\304\354\23\277"
+"b\305\316\321\365(w\253RU\373\263\317\230\23\63B\2502\217.\6G\3\236\333"
+"Z\225\367r\2021\'\346\371\366\\j\277\235M2\306\343BM\325{W\30\363c\306"
+"\30\227\364\364\310\351\333S\236\246;\312\37\3178\304x\216\231\263\365"
+"P\271\2\61\236\360J\337\3637\267\30s\346\315w;tg\247\343>\351^\267\307"
+"\331oX\323\2237\347\30\13\335\365s\327\355l\251\244\177\330\347\357\210"
+"V\244\222U>\306w\267\77\377\2258e\323\331$\353u{\374tu\247\f\3562\236\7"
+")\242]\325\303fh1\42\33^\16\303f(t\315\6R\177\247\31\317m\42\367\351\305"
+"B\7\36\265#\321\363\22E\320F\355Hb\34\235\304\3\377\n2\346/\32\320\334"
+"`\330\f\373\207}\345\274G\327\243\376a\77l\206r\223\6}\342\33\273\5\331"
+"W\262\222\313\370\315\361\33c\247\311[\337\265\366\17\344\337OG\b\221M"
+"\342\23\37\257cB\b^\307k\17\3278\377\355\315\307\233\344C\222$I\362!9>"
+"9\216/b\351\36\360\b\241\355g\333\337\77\377\336\330A\374\225\225\225r"
+"0\236\353\354\335Y\353iKm\207U\237\370\214\276\336j\333\3\66\266\32{\335"
+"=\376{\313\0cW|u\221\234\304\21\5\365\300V0X\216\375\270\324\244-\322-"
+"=\343;\322r\375\345\f(l\206\306\2\253*3\276\213r\243v\244dv{qa\214{\335"
+"\236;E\326\2120\276\237e\211V!\24\2425\231\224//\343\373u\211\316NG\267"
+"\33G\b5\266\32\275n\317\345c*\245\311\217\13f\\q\34\237_\234\'IR0\27\272"
+"K\262\311&!\204\3246j\356\377|v\356\364\251W\t=\372\374\321\375~\241\323"
+"\333i|\21\247\343\364n\374A\34\307\377\2362\2061\236\217\271A\253h\336"
+"\\\277\222\3%+b\307K.\266\35\303\214\353\352\13\30\3cP\371\225\23s\215"
+"\307c\230\314\5\2\201@ \20\b\4\2\201@ \20\b\4\2\201\354\353\377\16\342"
+"\335\20\222\342,\307\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR"
+"\0\0\0\240\0\0\0\232\b\6\0\0\0..C\346\0\0\0\4gAMA\0\0\261\217\13\374a\5"
+"\0\0\7\177IDATx\332\355\235\77l\23W\30\300\77\252\16\31\30\362\230\2\242"
+"\25\36#1p\267\1mU\37[@\225\202\231\370\'\21\63\201\332!\365V\7Tp&H\253"
+"\322\300\346 \2711\33A\42\65[\316\210\22\62a\243\22\331c*5\22\336.\22\221"
+"\342\355:\224\244\242\245\271g\373\316\367\307\277\237\24e\360\rw\357\375"
+"\356{\357\373\336\275\273=\42\342\n@H|D\23\0\2\2\2\2 \0\2\2\2\2 "
+"@\220|\254s\220RJ\214#\6\255\5\332\254\375\261&kkk\376\bh\34\61d\311^\242"
+"UA\233\351\233\323\222\277\226g\b\6\346\200\0\b\b1NB\340\37V\236\257\354"
+"\372{\352PJF\16\216\320P\b\3309\355\315\266\324_\325\305\256\332\262\261"
+"\261!\265zm\347\1777lW\17\324\260\22\3030$u(%\206a\310\350\341Q\32\33\1"
+"E\232\253M\251V\253bWm\251\275\252i\225\r:\301q\34\261\253\266\210\210"
+"<|\364\360\275\337L\303\24+mI:\235\26\353KK\206\366\16!\340 D\270\205G"
+"\13b\77\265e\341\321\2028\216\23\332\271\324\3525\251\325kr\373\207\333"
+"\357\t9qib\340\42\244\353\365g\245-7\316\224Ke73\236qu\2565\n\177\251T"
+"\312\315M\346\3347\177\276\211m\233\27n\24t\2577\231\2\276\371\363\215"
+"\233\233\314\271J\251\330\210\367\241\77\3230\335r\251\234X\1\23W\206Y"
+"y\276\42gN\237\221\375\237\354\227\333\77\334\16u\230\365k\250>w\361\234"
+"\354\333\267O\246oNK{\263M\35\60\252\342\235\260N\310\261\317\217\375g"
+"\302\237\4\34\307\221\374\265\274\34\370\364@\242D\214\275\200\255\365"
+"\326\216x\333\31g\222\371\267\210d\301!f\264S\327\247v\262H\2771\rS\206"
+"\207\207\305J[\42\362w\2019\225J\351I\262\341H\275^\27\21\331\271)\374"
+"\2769\266E,\336/\312\354\235Y\31;5F\26\334/*\213\25_\223\13\3230\335\334"
+"d\316-\227\312n\343u#\260\363n\274n\270\225\305\212\233\233\314\271\246"
+"a\372\232\254d\3063\221\312\232\23\231\5o\275\335\362\245\234\242\224r"
+"\263\23Y\267\\*\273[o\267B\275\236\312b\305\315Nd}\271\241\224R\221\311"
+"\230\23\'\340\213\337^\364\334I\231\361\214[Y\254D\266t\261-\243\37\321"
+"0\314\33+q\2vp1\37,\352\26n\24B\357\220N#\343\335;w\335T*\325\323u\79\235"
+"\30\b\1\267\336n\271V\332\352\272\3\342X\300\375\320*N/\42\206\325\6\261"
+"\27\260\361\272\321U\303\'E<\77E\314Nd\21\60\350\371\236R*vCm\267\35\333"
+"\315\\\330J[}m\233\330\nX.\225\273j\3348/\334w\263\316\335\315\324\304"
+"4\314\276I\30\313\265\340\7\277<\220s\27\317i\37\257\224\222\273w\356\312"
+"\222\2754PO!\217\34\34\221%{I*\213\25QJu\264\256|\374\213\343\221[\306"
+"\213D\4\3544\362\231\2069PQo\267h\330iQ[)\25x\206\34\253\b\330i\344\313"
+"M\346\344e\355%{/\336E\303\227\265\227\222\233\314u\264\214w\374\213\343"
+"\322Zo\21\1;\211|Q\252\364G5S\356$A\trN\30\213$\244S\371\302,\254\306\205"
+"\306\353F$$\214\374\20\334\\mj\17\273\246a\312\362\263ev\223i0zxT\32\277"
+"7\3044\314\216\22\223\201z\36\260\271\332\324\276h\344\353n^\270\374l\271"
+"#\t/g/\17\206\200\355\315\266\234\277x^\353Q\371m\371\6u\313b/\f\355\35"
+"\352H\302\342\\Q\356\375|/\371\2\236\277x^k\2437\362\365_\302\253\337\\"
+"\365|\363C\254\5\234\2769\255\265_\3\371\302\223\360\344W\'\373Z\236\351"
+"\233\200\315\325\246\326\373\342\224RRy\\A>\237%\254<\326[5q\34\247\243"
+"\232l,\4lo\266\345\344W\'\265\344[~\266L\2019\300\304DGB\273j\367m\303"
+"S_\4\234\272>\245\365\336\225\331\237f\311v\3d\364\360\250\314\227\346"
+"\265\216\315_\313Ks\265\31\177\1W\236\257h\355\\\313M\346\344\354\205\263"
+"X\22\60c\247\306\244p\243\240\2350\306^@\235\371\204\225\266\344\326\314"
+"-\354\350\23\337M}\267\263\335t7j\365Z\340Cq\240\2N\337\234\366\34z\225"
+"RR.\225\261\242\317\350&%3\77\316\4\232\25\7&`k\275%3\77\316x\36\67_\232"
+"\'\351\b)3\326\231\17:\216#\371\353\371\370\t\230\277\236\367\\\355\310"
+"\214gb\275\243\77\t\363\301\314x\306\363\270\342\\1\260\2u \2\266\326["
+"R\234+z\16\275\272\31\31\4\307|i^k(\326\251\341FF@\235\220]\370\276@\261"
+"9\42C\361\354O\263\236\307\331U;\220(\350\273\200:\321/\225J\311\225\257"
+"\257\320\373\21\341\354\205\263ZKuADA\337\5\324\211~\263wf\351\365\210"
+"\241\323\'v\325\366=#\366U\300\366f\3333\372Yi\213\304#\202\34\375\354"
+"\250Vm\320\357\214\330W\1u\312.\272Ux\350\77:}S\234+\372\272\255\323W\1"
+"\213\367\275\347~G\77;JO\307<\n\316\335\237\213\236\200+\317W<W=\n\337"
+"\23\375\242\316\267\223\337\366\34hB\21\320\353\244\224R<l\20\3\306N\215"
+"y\276\212\270V\257\371\366\244\214o\2.<Z\330\365\367\354\245,\275\33\23"
+"t\372\312\257a\330\27\1\237\374\372\304s\331m\342\322\4=\233 \1\375\372"
+"\24\206/\2V\253U\317\344\203\7M\343\303\310\301\21\317\302\364\332\332"
+"\232/5A_\4\364\272\33\30~\223\31\5\275\246]}\21\260\265\336\362\314~O\217"
+"\237\246Gc\206N\237\371\361\355\223\236\5\364:\t\206\337\344\16\303\366"
+"\323(\b\350q\22:\205M\210&^}\3478N\317\345\230\236\5\334\376$\325\377^"
+"\304\227\b\30W\322\351t\317\375\37\270\200^\257\3310\f\203\236\214k\4\324"
+"\b\36\365W!\n\250\363\200\42\363\277\3702\264wHkU$4\1=\207_\346\177\261"
+"\307<b\6\232\t\367$\240\263\261\373\352\207\356\13q \272\350L\241zy<\253"
+"\'\1\275\354\37\36\36\246\7\7@\300^\346\201\201nLg\b\216\77jX\343\215Z"
+"\33N8\2\372\375\25p\210`\4<\242\21\1\353\21\215\200<\375\234\214L8H\272"
+"\26\60j\237{\202\0\207a\217\215\353\241D\300^\13\220\220\234a8\2649\340"
+"nP\202\201P\5\244\4\3\241\'!\0\b\b\221f\217\274\373b!\0\21\20\20\20\0\1"
+"\1\1\1\20\20\20\20\0\1\1\1\1\20\20\20\20\0\1\1\1\1\20\20\20\20\0\1\1\1"
+"\1\20\20\20\20\0\1\1\1\1\20\20\20\20\0\1\1\1\1\20\20\20\20\0\1\1\1\1\20"
+"\20\20\20\20\20\0\1\1\1\1\20\20\20\20\0\1\1\1\1\20\20\20\20\0\1\1\1\1\20"
+"\20\20\20\0\1\1\1\1\20\20\20\20\0\1\1\1\1\20\20\20\20\0\1\1\1\1\20\20\20"
+"\20\0\1\1\1\1\20\20\20\20\0\1\1\1\1\20\20\20\20\20\20\0\1\1\1\1\20\20\20"
+"\20\0\1\1\1\1\20\20\22\314_\252(\234nm\373\0{\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\240\0\0\0\232\b\6\0\0\0..C\346\0\0\0\4g"
+"AMA\0\0\261\217\13\374a\5\0\0\7\364IDATx\332\355\235\77l\23W\30\300\277"
+"\42\6\17\31r\233\207\f\334\350(B\2347+\21\252o\f\b\t\262\245\1\t{\253\322"
+"VM\314D(\42q\246\2\3\5&(\222\301\231 \221\n\316V\33\2256L\265\221@\311"
+"\350\212\2408S.\22H\311v\35ZG\251\332\372\236\343\373\357\337O:1\370\200"
+"\347{\77\177\337{\337{w\367\231\210\330\2\20\20\307\270\4\200\200\200\200"
+"\0\b\b\b\b\200\200\200\200\0\b\b\b\b\200\200\200\200\0\b\b\b\b\200\200"
+"\200\200\0\b\b\b\b\200\200\200\200\0\b\b\b\b\200\200\200\200\0\b\b\b\b"
+"\200\200\200\200\0\b\b\b\b\200\200\200\200\0\b\b\b\b\b\b\200\200\200\200"
+"\0\b\b\b\b\200\200\200\200\0\b\b\b\b\200\200\200\200\0\b\b\b\b\200\200"
+"\200\200\0\b\b\b\b\200\200\200\200\0\b\b\b\b\200\200\200\200\0\b\b\b\b"
+"\200\200\200\200\0\b\b\b\b\200\200\200\200\0\b\b\b\b\b\b\200\200\200\200"
+"\0\b\b\b\b\20\42\1\315\254)\266m\377\343X{\265\326\365\337\341\210\346"
+"af\315\256\373\2728_$\2\2)\30 \30\1www\271\272\20\234\200\365F\235\253"
+"\13\336\th\2342\270z}B\343M\243\343\347\332\240\346\277\200\211\201\4="
+"\323\'X\226\3259\30\31\206\377\2\252\360\372\327\327\364^\304\331\377\264"
+"\37\3361\240S}\b\342\237~C\35\1\253\265*=\30\365\364\273k9\236\23\310\30"
+"P%\2R\212\211A\4l(D\300S\1E@\'\363)\305\364\207\200\275LH{\22\320)\367"
+"\223\202\243O\375M\335\323y@O\2f\3062\216\347l\274\333\240\27#<\3n6\233"
+"\35\317I\33\351\340\4Ti\200J\b\207pR}\351\234\301z]\220\350Y@\3074\374"
+"\2224\34Uj\265Z\317\375\357\271\200\346\347&\343\300\270F@\207\276\323"
+"4MR#\251\200\5t\30\2046\233M\306\201\21d\373\303\266c\25\303)\370\370\42"
+"`r()\272\256w<gye\231\36\215\30*}\346\306J\230++!\23\347\':~\376\360\321"
+"Cz4b\250\364\331\205\363\27\302!`6\233%\r\367Y\372\325u]\222C\311p\b8~"
+"v\\4\255\363\252\310\217\217~\244gc\24\375\234\262\236\257\2\252\204c\322"
+"p\274\4\314]\316\205K\300\374\345|\307\317-\313\222\245\307K\364n\310Y"
+"}\261\252\264\372\321k\371\305u\1\63c\31\307\331\360\334\3659z8\344\334"
+"\272}\253\347`\23\210\200*\rk6\233\354\222\16\61\257\177}\255\264p\340"
+"V\372u]\300\331og\35\317\231\373\216(\30VT\372&\237\313\273z\77\220\253"
+"\2&\6\22\222\317u\216\202\325ZUV_\254\322\333\21\215~\305\33EW\377_\327"
+"\267\344\2534p\372\353iz<d\250\364\211\2315]\251\375y*`r(\351\30\5\233"
+"\315\246\334\377\341>\275\36\22\226\36/)\355^W}\340P\240\2\252F\301\271"
+"\353s\236\337\362\7\316\354\177\332\227\351o\324\242\237\312\6\344P\b\250"
+"\22\5-\313\222\251KS\30\20\60S\227\246\34o<\367*\372y&`;\n:-\317=[y\306"
+"\204$@V_\254\312\263\225gJ3_/\242\237\247\2&\207\222Je\231\251KS\262\375"
+"a\33\33\2H\275*\31H\3234\327g\276\276\b(\42r\365\332U\307\325\21\313\262"
+"\344\213K_`\204\317\2349wF)\365\316~;\353\372\314\3277\1ED\312\245\262"
+"\3439\325ZU\256\314^\301\n\237X\\XT\252\371\245\215\264\\\275v\325\323"
+"\266x.`f,#\205\231\202\343y7o\337d\263\202O\343>\325\325\250\'\245\'\236"
+"\267\307\227G\364.\334XpL\305\42\42\323\337L\263q\325C6\336m(W\36\212\363"
+"E\327v\274\4.`b !\225\237*\216\347Y\226%\243\247G\231\224x\300\366\207"
+"m\31==\2524\3563\263\246\347\251\327W\1EDR#)\245Z\222eYr\346\334\31\212"
+"\324.\317xU\'\35\232\246)\215\333#\'`{V\254\262\225\273\336\250\313\350"
+"\351Q$tI\276\321\323\243\312\17\212\252\374T\361t\326\33\250\200\355\201"
+"\255\312\363D\220\320\177\371\356\335\271\347Y\30194\2&\6\22\362\244\364"
+"\304q\225\4\t\375\225/\237\313\313\227_}\351{;\3yQMj$%\277\375\362\233"
+"\322\271m\t\231\35w\77\341P\225/m\244\345\301\303\7\201\2645\2607%\245"
+"FR\312\203]$Tg\343\335\206\f\237\34\356J>\325`\20+\1ED&/N*K\330.\321P\254"
+"\376\177\226\36/)\227Z\16\313\27\364+7l\247\303\314\232\266\227\224Ke["
+"\245\35\355\2430S\260\341\237\24f\n]]CM\323\354\326f\313\263\366\24\347"
+"\213\252m\t^\300\243H\2306\322\236^\300\250\320\332l\331i#\335\265|\353"
+"o\327=m\227\252\200\241y[f7\351\270=.\34>9\334\327[\373W_\254v5\336k\247"
+"\335\255\367[\276,\263E&\5\367\22\t\333\355\353\247h\330\332l\331f\326"
+"\354\372:\245\215\264\275\367q\317\2276F.\2\36\216\204k\257\326\224\352"
+"\204m\252\265\252\f\237\34\226\305\205\305\330\327\f\27\27\26e\370\344"
+"p\327O\2365\263f(&\34\241\217\200m\326\337\256\333\272\256w\375+\327u\335"
+".\227\312\261\213z\345R\371H\327CD\354|.\357{{#7\t\371/\366>\356\35)\325"
+"\304I\304^\304\23\221\300\256A,\4<\302\227\371O\21\213\363E\337\306>n\375"
+"\360\356\335\271\327\223x\272\256{>\323\355\33\1m\333\266\327^\255\331"
+"\232\246\35\271CD\304\2368\77aW\236WB+^\345y\305\316\347\362=}\307\366"
+"\367\f\372\7\27;\1\333\221a\342\374D\317\35\244i\232\235\317\345\355r\251"
+"\34hG\355}\334;\220\256\327\37W\373{\205e\330\21K\1\17G\n7:\354py\2420"
+"S\260\313\245\262\247ik\375\355\272]y^\261\13\63\205\256\213\307*Q/L\245"
+"(U\1\217G\261\24\61~v\\\266\336o\311\265\353\327\344\346\355\233=\377{"
+"\365F\375_\305\334\264\221\226\301\301\301\203W\21\350\'t\245\373ZD\376"
+"z\307n\373\25e\355r\211W/\354\321u]\356\336\271+\343g\307#[Z\212\\\4t\243"
+"(\33\365C\3234\2738_\fm\277D\266\20\335-\311\241\244\374\\\375Y\326^\255"
+"\271\362\342\224\260\243i\232\24\347\213\262\365~\313\267\33\207b\273\35"
+"\313M2c\231\3\21\335z\205@\230\305\13\343\212F_\13xX\304\247\313O\245\265"
+"\331\222\302L\241\253%\2750\2226\322R.\225egg\'V\342\305V\300\303\251\371"
+"\373[\337\313\316\316\216\224K\345HEE]\327\2450S\220\326fK~\257\377.\223"
+"\27\'c;\2448.}\300\344\305I\231\2748)\373\237\366eyeY\252/\253\262\274"
+"\262\254\274s\330\257HgfM\311]\316\205j\253\24\2\272Hb q \343\203\207\17"
+"d\343\335\206\324j5\251\326\252R\177Sw|A\213\27\302e\263Y1\77\67c\227Z"
+"\21P\201\324HJR#\251\203\333\21\367\77\355K\343MC\252\265\252\354\356\356"
+"J\275Q\77\370\363\250\23\7\343\224!\332\240&\206a\210~B\27\3030\372*\302"
+"!`\227\21\62\63\226\351xs\266\323\213v\364\23\272\257O\26@\300>\303\357"
+"\'\7\304\235c\\\2@@@@\200 \370L\376\336\223\2452\233\3P\245\371GS\251\254"
+"\245$ \0)\30\20\20\0\1\1\1\1\20\20\20\20\0\1\1\1\1\20\20\42\311\237coc"
+"\374\2166X%\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0s\0"
+"\0\0\240\b\2\0\0\0\260\213\3040\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\2"
+"\311IDATx\332\355\334\261j\333@\34\307\361\244\364\1\254-C\7\337\33X\332"
+"\2]\2447(y\3\353\r\214\266\320\305\370\t\fz\1\203\326d0Z\343\301E\31Up"
+"\220G\5\64\334\350\202\n\227\315\235\323F\262u\276#\215\365\375\254\2a"
+"~\374\365\277\377\235l_\\\0\0\0\0\0\0\240\201\347z\201\37\30\277\355\345"
+"\331\7\3478\216;r\205\20b(\\\327u\6\216\30\212\253/W\177\7qi8\212\317g"
+"\\\206\276\357{#\357\337\20\321\2716\303q\230.SU\253}w\4\330\30\350\376"
+"4$\371\352\221O\26\211^\205\222\354\333\302q\230\255\263\275Qd\32\312J"
+"\356-\350o\246\201\37X\312\324R\262\37`\352\22B$\213\344\372\353\265\331"
+"\333\276\374~\311\177\346\366>\366\377\276S\230Mg\267\337oO\274\311\366"
+"i[>\227y\236\347y\276\373\265{X=\364}\351/6\205\366\323]l\212\331t\26\370"
+"\201\3438\254\371\257JU/\320t\231\206\343\2204\337\236\3745&*Y\311h\22"
+"\21h\333\0\320u\362\317\326\231\215\223\252s\233U;e\232,\22!\4\271\35\220"
+",\22\352\324|c=>VY\311\233o7\204vT\254\307\217V\361<f\2152\34\253\254$"
+"\217\277\371X\323eJ\251\232\2175\232D\304\325\3011\261\252Z\321\1\314\17"
+"X\262\222\236\353\221U\7\361<>\3460\205\306j~\227E\254\235y\256w\360L\200"
+"Xu\206\201\203\357Z\210U\307\301\357\3\20\253\225\366\252j\305\251UgB\210"
+"\366\366\252j\305\200\245\343\340\13\202p\34\222\222\371>\20\317cR\322"
+"\231\7\332\373@\261)H\311\374v\213UK\177\341\342\20\353\35\216]\262uFD"
+"V\n\226>`\245`g\323\31\21\231/XU+v\261V\n\226}\201\225\31VV\222\210\254"
+"l\272(X}-\257\16U\255\310\307\312\332\305H`k;\313\f\253\257\345}L\272L"
+"\373\226\306\'\203\255\240\345\267\303w\367wT\236\246h\22\261vY\251Y\337"
+"\367)X+Z6\b\214\261\372<\327k\231\n\372yP`\246\33\264|ip\373\264\335\355"
+"v$\253\311\35\271M\227V\253U\77\237cC\311\272\215\311\366\375G\256\'b\353"
+"\365\16\313Woc1\320\r\6\203A\323\245\307\37\217${R\3156]*\313\222d\255"
+"\324l\371L\262\'\20CA\262v\222m^\375\351\6\370h\311\322\r\254\255`=\356"
+"\6\6\376U\252e;`\374O]\351\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\200\17\340\17\345\206\346s&R\367"
+"\217\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0s\0\0\0\240"
+"\b\6\0\0\0\77\351Sg\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\4*IDATx\332\355"
+"\335\261K\33Q\34\300\361\237\225\202C\7_\241\340\320\301\33\5\7/\177@\333"
+"\273\377@\35\205\16\346\77\220\214\322\26k\307R(\370\17\bY\343 Y\23A\211"
+"\233\21,q\363\204\b\311\26!\205s{\235\4[\332\336%\271\273\274\367\362\375"
+"\302\33\n\1m>\276\273w\357\3168\'\42Z\310\211\236\361\26\200I`\22\230\4"
+"&\230\4&\201I`\22\230`\22\230\177)\fB)\371%\336\365\234\232\223\2\67\332"
+"\265\376\373\227\352\337\365%\272\215dp\77\220v\273-\321m$Q\24I\373\262"
+"-\203\301\0%\2330\377W\377\256/\27\227\27\322l6\245\321l\310E\373\2\65"
+"[1\377\354\341\347\2034N\32R;\252I\355\250\306\314\375\363=.j\344Q\375"
+"\270\256\313\333e\255\224\322E\376_\f\35vc>\26\17c]=\254\352\222_\2\323"
+"v\314\247\265N[\272\274]\6\323\5\314\307z\335\336\254\241\272\213\371\24"
+"\65\fB\3471\13]\315\266N[\277\375\333_\363e\341\305Ba+\275\363\263s\331"
+"z\277%Q\24qi\222\367\356\220ZT\342\373\276\370\276/\336\262\'+\253+\271"
+"|\255/\237\277\310\356\207].M\212\34J)\35\6\241\336\337\333\327\235\253"
+"N\246\207\336\316U\307\305\225\257=\337\254RJ\227\267\313\272~\\\317\f"
+"u\177o\37L\23`+;\25\335\353\3662\271\224qd\323\301\376\237\3100\bu\353"
+"\2645\361\246\203\3+^w\316\31\236\347\351\352au\42T\313\257K\335\273\336"
+"\232t\246V\17\253`\23266\3277\307>\247V\17\2536\236G\335\336\25QJ\351\203"
+"\357\7c_\276X\6:\33\373\226a\20\2165K-\3\235\235\273\nJ\251\261\256Q-\2"
+"\235\275\373~\225\235\212\253\240\263y#7\fB\35\17\343\221A\3014t\224\374"
+"\322\310\347Q\303/[f\373\271\31\245\324\310\233\370\7\337\17\300t\t\324"
+"\320\235\42\60\307\1\215\207\261\211\267\320\200\34\27\264\327\355\231"
+"\266\302\5q\22\320\372q\35L\323\357\276\214r\331b\320\371\23\274\177]\266"
+"\244\5\215\207\261\366<\17L\223Gy\273<\322\323\n`\32>F\271\343b\300\341"
+"\26\260\244\221vA\24\17\343i\257n\301\312rA4\345\335!\260\262\276\3232"
+"\305\305\20PiG\332\347\212\246\270\31\17\322(\207[\223g\347\274\210|\22"
+"J\325\375\375\275<\237\177.o\336\276I|\355\253\227\257\244vT\343wML\337"
+"\356K\273\30\232\302\354\4(\257\315\204)\234;\301\31g\244yB\241\350\353"
+"N>nm\314v\77&\377~\347\302\213\5\331X\337\340\234i\303Hs\356,\362!0f\346"
+"\4}\375\3665\3615+\253+\342y\36\63\323\225\353\316\2\267\370@\231d\244"
+"yB\276\327\355q\230\265\2414\33\3K\257\227\n;\3242\303\nX\bUv*\314LWfg"
+"\20\4\271\177\37`fP\343\244\221\370\232\360]\310a\326\226\375\3324\345"
+"\375\320433\203\6\203\201\\\377\270N\236\235A\310a\326\206\232\315f\342"
+"k\3745\37L+\316\233\315\344\363\246\357\347\213i\314\7!\332\236\347yrs"
+"s\223\374\206\317\31513M/\355\307\236\346\371w]\300\314\260\363\263\363"
+"\304\327,..\202\351\312\354df\332\202y\33\61\63g\t\323[\366\300t\3450\233"
+"\347\335\23\60\35\n\314\202\17\263`:t\230\315s\1\304\16P\306\245\371K\204"
+"y\355\2\61\63\35\212\231\311\2\210\300$0\tL0\tL\2\223\300$0\301$0\tL\2"
+"\223\300\4\223\300$0\tL0\tL\2\223\300$0\301$0\tL\2\223\300\4\223\300$0"
+"\tL0\tL\2\223\300$0\301$0\tL\2\223\300\4\223\300$0\tL0\tL\2\223\300$0\301"
+"$0\tL\2\223\300\4\223\300$0\tL0y\13\300$0\tL\2\23L\2\223\300$0\tL0\tL\2"
+"\223\300$0\301$0\tL\2\23L\262\272_42,]\331\17l\277\0\0\0\0IEND\256B`\202"
+""
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0s\0\0\0\240\b\6\0\0\0\77\351Sg\0\0\0"
+"\4gAMA\0\0\261\217\13\374a\5\0\0\4\60IDATx\332\355\335\277K\33Q\0\300\361"
+"\227\322\301\241C\337\346\320\301\33\205\16\275lB\207\336\375\7\352(t\310"
+"\375\5UG\351`\343(\5!\377\200%\216:H\326D\260\304\315\23,q\363\4\205\270"
+"%\20\341\262\275NB[*\367r\277\357\345\373\2057\b\7\36\371\360\356\335\273"
+"$Z\23B(AF\364\212\227\0L\2\223\300$0\301$0\tL\2\223\300\4\223\300$0\tL"
+"\2\23L\2\223\300$0\301$0\tL\2\223\300\4\223\300$0\tL\2\23L\2\223\300$0"
+"\301$0\tL\2\223\300\4\223\300$0\tL\2\23L\2\223\300$0\301$0\tL\2\223\300"
+"\4\223\300$0\tL\2\23L\2\223\300$0\301$0\tL\2\223\300\4\223\300$0\tL\2\23"
+"L\2\223\300$0\tL0\tL\2\223\300\234\303^\363\22\244\233R*\362\230Z\255\306"
+"\314$0K\325\315\257\33\60\253\220eY\221\307\214\307c0+\201\271d\25\372"
+"\373\301d\315\244\270\227\331 \b\3004\3452\33\334\201i\f&7@\6]f/\375K0"
+"\253\320\312\307\225BgfM\b\241`HgV\336\336\336F\277\340\31=\312cf\246X"
+"\375C=\362\230,\237\376\200\231b\256\343F\36\343\373>\230U\310q\234h\314"
+"+\77\363\363P\214dCJ\251t\252\333\365L\317\203\231\231Bk\253k\221\307L"
+"\237\246\231nK\270\314\246\265^~\212^/\273g\335\314\317\3\314\234ff\257"
+"\327\313\345\\X\367\22\f\257\341i\255\227\226ee~.\314\314\34f\345\343\303"
+"c\246\357\22603S\30\226ei\315\312\326A+\257s\2%\356h\3566Ks\211\5\63\341"
+"\b\'a$\344\340z\220\333\371\260f\306\314kxb\341\315B\344q\373\337\367s"
+"=/fY\2141\274\37F\316\312p\22*)%3\263\354\263r\361\335b\344q\307\'\307"
+"b4\32\61\63\313\374\34Vg\255\314\371\306\207\231\31\247\255/[Zk\345\321"
+"\217\243\334\366\226\314\314\f\367\225E\314J\266&3\216\376y_\13\262}\330"
+".\352\34A\322\31\333\233\333e\237\225`\352^^uozr|t\7f\2341\270\36hA\346"
+"\275\257\4s\306\321:hi_^\275\206W\364\371\2\226\364\275J\245\224\352\237"
+"\367\313p\316\240\375o\324\355\272\366:\31N\302\42oz\300L\353\206\247$"
+"\227W0_z\\\247{\303\243\224R\235\323N\231\316\37\300\270\220\303\373a\321"
+"w\257`\246\1\31N\302\314\77\324\ff\16\220%[\'\301L\2Y\360S\36\60_\332~"
+"\350|b\240$\17\321\301|i\270\216;\323\366#\357\17g\201\231\301; \177B\226"
+"\354\316u\2761\245\224\252s\3321\25r~0]\307\235y}\254\30\244\371\230R\312"
+"\231\336\371\2500\244\331\230\353\253\353\261f\343\363]k\305 \315\304t"
+"\35W\373\363:\25\334~\314\7\246eY\252}\330VI*\351\223\235\371\301L:\23"
+"\237\237\265\272\216[\365\327\242\27276\333\233\333\261\327\304\177\77"
+"%P\301\365\261\332\230RJ\3455\274X{\305\227j\3566M\272_(7\236\353\270\252"
+"\271\333\234\371a\270\316\266\243\204oa%\32\245\371\277&\256\343\n\371"
+"V\n\333\266\205m\333\302Z\262\304\362\373\345L~\327\336\267=\261\363u\307"
+"\270\357\301\344\212\331\77\357\377\365\263\375\301\326\372\22NZ]\374\274"
+"\20\33\2377\n\371B\217q_\34*\252\341\375\320\204;\325r\255\231E V|\337"
+"\bf\377\274\77o\210fa\206\223P\265\17\333\306\335\241\316\25f\347\264\243"
+"\274\206g\312\246\337\214\255\211n\323\247\251\350\236u\305\361\311q!\177"
+"\0\202\255I\202\36\37\36\305\345\325\245\350\365z\242\333\353f\3767[\301"
+"L\1,\270\13\304h<\22\276\357\213\340.\20A\20\b\377\312g\346\315P\256\377"
+"\n\303u\\1\36\217\231]&`R\266\361w\200\300$0\tL\2\23L\2\223\300$0\tL0\251"
+"2\375\6\376%\2350_Z\315\225\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0"
+"\rIHDR\0\0\0s\0\0\0\240\b\6\0\0\0\77\351Sg\0\0\0\4gAMA\0\0\261\217\13\374"
+"a\5\0\0\4OIDATx\332\355\335\301J\33A\34\200\361\177Z)\36zpn\36<8\26z+u"
+"\367Vi\301\335\7\260\230\276A\366\r\212\267R(\222\'(\370\2B\256\366 \271"
+"j\241\340\321-X\3421\202B\274EHa\323R\230\36lA,ugc6\231\235|\37\354-\244"
+"[\177\314\314\356d\2155\21\61B^\364\200\37\1\230\4&\201I`\202I`\22\230"
+"\4&\201\t&\201I`\22\230\4&\230\4&\201I`\202I`\22\230\4&\201\t&\201I`\22"
+"\230\4&\230\4&\201I`\202I`\22\230\4&\201\t&\201I`\22\230\4&\230\4&\201"
+"I`\202I`\22\230\4&\201\t&\201I`\22\230\4&\230\4&\201I`\202I`\22\230\4&"
+"\201\t&\201I`\22\230\4&\230\4&\201I`\22\230`\22\230\4&\2019\203\315\225"
+"\365\306\306\230\334\327\324j5\4\30\2314Q\314\323o\247\374t}\301\274\272"
+"\272\312}\215\326\32\1_\246Y\275\f&k&M\26\263\333\3552\315z\203yf\201\311"
+"4\353\321\5\20\230\325\300<N\217\231fgid\276x\371\2\2011V\23\21S\326\233"
+"\333l\351\255\254\254X],\321\224oMlv\201\302\325\20\205*`\246i\232\373"
+"\2328\212Q\250\4\346\327|\314(\212P\30\347\322V\326\21\6\241\261I)e\312"
+"<\217Y9J\35\231\307\351\261\f\277\17s_W\337\2543\244\\\237fED\16>\37\344"
+"\257\233\353\254\233\225\300<<<dd\372\260f\212\210\321Z[\255\233I#a\335"
+"sy\315\24\271\376\364\344\362\342\222\321\351\303\310\24\21\263\363q\307"
+"jtj\255\31a\367;\312\377Gl\247\332\346v\23\20\3271E\304tN:\271\230\331"
+" \3\344\36\307C\21\3710\211\271|\370c(\33\2577\356|\315\334\2439\2718\277"
+"\260\332\6\244)\255\231\42b\224R&\33d\271\243\263w\336c\224\271z5\373\267"
+"~\277/{\237\366r_\267\270\264(I#a\210\271<2\213\\\be\203\214\375Z\227\327"
+"L\221\353\247\17\236>y*\317\236\77\313];\177\375\374%\7\207\7\f5WGf\221"
+"\321\311}\247\303\267&7\217\326n\313\n\363\350\313\21@\256c\26\31\235["
+"o\267@r\31\263\310\26_6\310\230n]\307\264\275\3574\306\230\316I\7(\227"
+"1E\304$\215\304z\272\335\371\270\3\226\313\230\42b\216\276\34Y\203\362"
+"\231\247\343\230Zk\353\3516\33d&\fB\320\\\305,:\335rA\3448\246\210\230"
+"\366~\333\32\264s\322a\273\317eL\245\224\351\235\367\0\365\1S\376<4m\273"
+"~\2\3528f\321\365\23P\3071\213\354\16\1Z\1\314\42\233\3617\237P\340\266"
+"\305\341\223\263y\b\354\366mK\34\305`\272x(\245\n\203\316\370\'-n\237\340"
+"\250\240\355\375\366,\256\243\356\237\344\250\240\275\363\336\254M\273"
+"\3258\321QA\377~\3422#\243\264:\'\253\224*|\225{s\224\276\331|\3f\325o"
+"[n\77W\344\361\324[\315\23/\272St\273\326n\313\307O_\252{\362q\24\27\332"
+"\313\235\201\221Z\355\377\200R\252\320\323\nw\255\251[o\267\252~\241\344"
+"\307\24\323\334n\232q\325\336o\233\244\221T\21\326\2375#\f\302\221o_\356"
+"\332\304on7M\34\305\316\343\226\372E\210\323\252\271\335\224w\357\337\225"
+"\362\336\247\337N\245{\326\2254M%MS\351_\365\235\371\235\30/1E\256\277"
+"\313\266\265\333\232\350\327\240\16\277\17\377\371\212\271\265Wk\376\376"
+"\342\3204\256x\213<\2162\356X3K\272/\235\6*\230%\243\216\343V\6L\307\256"
+"|[\273\255{o:\200\351\330\246C\322H\n=\267\353*\246\267W\263\243\244\224"
+"\222\372f]\352\233u\211\327c\231\177<\177\377\333\205\t\376YI0\357(\fB"
+"\211\243X\242(\222p5\224\305\245E0}\32\271\301j Zk\321\313Z\202 \20\265"
+"\240D/\353\377B\203\351\311\250^XX\230\350\356\20\230\36\305\237\\\4\223"
+"\300$0\tL0\tL\2\223\300$0\301\244\312\364\33]\212\224&\226\22\257\312\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\232\0\0\0\232\b"
+"\6\0\0\0Q\377Q\27\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\5\367IDATx\332"
+"\355\235=k\33I\30\200_\207\24.Rh\377A\266\24\270\360\252\13\\\263\373\17"
+"\24\375\202\263\332\300q\216~\201Q\353;0\250\f\7:6]\354\302\250\225\17"
+"l\244N\33p\220\31358\240t+P`\335\3555\27s\7\271h\366{f\365<\260\205\315"
+"\332\332\235y\364\316;\357\214\264{\42\222\b@\311<\243\t\0\321\0\321\0"
+"\20\r\20\r\20\r\0\321\0\321\0\20\r\20\r\20\r\0\321\0\321\0\20\r\20\r\232"
+"\316s\232\340\277X\226%\316\241#\42\42\236\353=\375\336~i\213m\333\337"
+"\375\2330\f%\274\17\237~\236^MED$\370\30H\24E4\252\210\354\311\16o|\364"
+"\\O<\327{\222\350\325O\257Jy\235\371\315\\\3020\224\340c \213`\361$\42"
+"\2425X\254^\267\'\256\353J\373\240]\353\265\314o\3462\275\232\312\371\305"
+"\271,\202\305N\264\177\322\324\303\262\254\244\177\324O&\227\223$\336\304"
+"\211\256\304\2338\361\307~\322\353\366\222\6\367G\363n\312s\275\304\37"
+"\373Z\313\365#\351Fg\243\304\266mD\323\365\350\37\365\223\325\303*i\n\263"
+"\353Y\322\77\352#\232.\303\343\360dhd\364Re\365\260j\202p\346^|\323\5k"
+"\230p\346]t\257\333k\324\20\231\226\345\3552\361\\\317\250>3\252\274a\333"
+"\266\370c\277\264z\227\210\310\227\317_$\274\17%\b\2\211\326\221\254\327"
+"k\345\362C\307\351H\253\325z\252\3139\207\216\354\277\330/\355Z\337\377"
+"\371^\336\374\362\306\230\242\2601\303d\31\63\274\311\345$\31\34\17J\213"
+"\20\226e%\236\353%\303\223a)e\226x\23\233R\26\321\373\2m\333N\226\267\313"
+"B\207\235\301\361 \3518\235\332\356\251\343t\222\321\331\250\320\373\232"
+"\\N\22\313\262\20-k\271\242\210\b\260zX%\203\343\201\226\265\251o\322\25"
+"\221s\306\233X\347\334MO\311\374\261\237\273\341\375\261oT\322\334\353"
+"\366\222\331\365,\367}\17\216\7\210\246\222\323\344\35R\374\261ote\275"
+"\343tr\277\321\374\261\257\333P\252W\3\347\31*M\27\354{\355\221\'\302-"
+"o\227:\311\246\317\372dV\311f\327\263Z\223\373*\332&k\16\267zX\351\322"
+"6z$\375Y\223\337\6\255\5\226V\342\2117\261\16\262\231)\231\1\323\371\322"
+"\206\323,9\254\6\262\231%Y\274\211u\235UUz\214\316F\246\311f\216d\313\333"
+"e\243s\261,\345\220\264ym\215\262\231!\331\256\16\225e\254\234\324$\233"
+"\376%\f\177\354#\325\226\332\343\344r\222Z\266\212KAzK\266K\263\312\252"
+"WS*\256\263\351[\361G\262\362e\233]\317\232%Z\332\n7\222U\'[E\251\211~"
+"Sq$\253^\266\n\332\274\374)8\222\351/[\5\63\321r\363\2624\311\377\360d"
+"\210 5\312V\362\344@\217\274\214\22\206\36\223\260\321\331\310,\321\6\307"
+"\203T\357$\244\320gd)i\263h\2757\26ob*\376\25\3250\323l-*\241O\212\277"
+"\2514Uj\323>\237h\362\221f\224)!_.~\223\36\311\277\276G\232\274\271\340"
+"%\252boD5\361$/\323\77_\233\\N\364\24MuWF\r\13\272\34\31k\233\5\2466\305"
+"\335\200\352\276v\206Ls\206\320\2\327B\253\215f\253\207\25\35\255\311>"
+"\266\212\243Z\265\321\214Y\246y\37v)(\252U\27\315*\334\222\302Q\360\304"
+"\240\200u\320\352f\232D3s\243Z\1K\204\325T\234\13\236*s\324\20\325\362"
+"\254\26\344~D\317\333_\337*\235w\372\333\251\200~DQ$\247\277\253\365M\377"
+"\347~\256\327\312\365\216Py7\220\2335#\252\345)\262\347\212h\375\243\276"
+"\322Wg\276\373\343\35\241C\363\250v~q\276\365\274\366A[:N\247\372\210\246"
+"\262xN\335\254Yu\265\34\373\325\262_\\\315\33\3518jX\247\316\218\312]/"
+"cM\263y\333\210\262\364i\346\34\355u\367\365\326s\356>\335I\30\206$A\206"
+"\360\341\342\203\322y\275n/\365\377\316,\332\277\37\232\372\177\250$\230"
+"\240\17a\30\312\335\247\273\255\347\271\256[\315d@5q\344\233\177\2329|"
+"\306\233\270\232\241S%\232=~}\334\231\7\2366\t\225\247#\357\277\330O]\346"
+"\310$Z\347p\373\213L\377\232\322k\6\262\b\26\362\370\365q\353y\216\343"
+"\224/\232\312\213\\]]\321k\246F5\205 \241\22lr\213\246\362\320\257]|@}"
+"S\b\202\240\360\210\226z2\240:\21 \2616\373\353\346\213\356\343\324\21"
+"\315~i+\325\317\300\340\210\3661Ps\301\266\225\377gj\321Tf\234*\241\27"
+"\364%\212\42\245\t\201J\320\311\225\243m-\374\335\263\32\260\13Q\215\210"
+"\6\371\203\205\302\322a\355\21-ZG\364\224\351\242\25<*\245\26\255\325j"
+"1t\356\0\353\365\272\220\321-\263h\355\203v!a\27\364\246\350\345\303g4"
+")T\1\242\201\231\242\251\324_\240\31\250\344\353\245\211\246ZU\6\363\'"
+"\3*\371\3727\236\247\275\200\371\315\374\307\242QCk\314d`[_\247aO\376\371"
+"\204\n\0\223\1@4\0D\3D\3D\3@4@4\0D\3D\3D\3@4@4\0D\3D\3D\3@4@4\0D\3D\3D"
+"\3@4@4@4\0D\3D\3@4@4@4\0D\3D\3@4@4@4\0D\3D\3@4@4@4\0D\3D\3@4@4@4\0D\3D"
+"\3D\3@4@4\0D\3D\3D\3@4@4\0D\3D\3D\3@4@4\0D\3D\3D\3@4@4\0D\3D\3D\3@4@4@"
+"4\200\222\371\33r\266\26\202\244\267\245\350\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\232\0\0\0\232\b\2\0\0\0\336\235\306@\0\0"
+"\0\4gAMA\0\0\261\217\13\374a\5\0\0\4\276IDATx\332\355\3351n\333H\24\200"
+"ay\253\24[\2107\b\313\0[\204\354\22\354\2+\336@\341\r\2542\301. \360\4"
+"\206N`@\27\320\202\271\200\2416.\34\310\235h\300\13\245d\0/\240t\22\240"
+"\202\245R\b0\f\257\3718$\207\344\220\374\2772rDy\236\336\233y3\2245\30"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+"\0\0\0\0\0\0\0\0\0\0\0\0\314v\246\362C\253\233\325\213\377\36E\321\307"
+"\277>2\210\332\245\r\370`0x\377\307\373\262\317~L!\\\25\205\271\216{L\'"
+"\377\337_\312\\\330y\3530\372\332\r\207\303\264\207\276\375\373\255\302"
+"p\276\372\365\25\243_\247\375~_a8a\32\302\331\277p\n%\333\266m\6Q\373R"
+"\250\332p\n%\333~M8\353[\n}\271\376Rm\261\265\206\26\1\320\253L\206(\205"
+"SxS8\16\275\212\356p\246\317_\361\367\270\332\354\244\330j\'t\363q\34\223"
+"\235mbY\226\320\315gf\247j\372\27\336vB.\336\310+3\324J\331)\347x\231\205"
+"5\376\37\316\264\207n\277\336j\333F\20\236Kx\5\310=q\246O^Q\24i\13\247"
+"\360\\\243\321\2100h\313\316\77Ssc}\267\326\26N\341\271\204W\200\\\\\307"
+"\25\326A*\331\251g5\304\364\251E0\r\322F89$\232/\266}\330\246]lv1#\30\345"
+"m\3567i#\274\274Z\252<C\216m\4\241\373\3740\376@0\312\327\2777\277\275"
+"I{\364\372\372Z\363\365\374\261/\324[\216V\252\253\264U\r\257p\275\371"
+"\345\234\220TTi\267\17\333J.\271\274Z\326}\311\336T\332\6Rer>\21\256:9"
+"\237\20\230b\302E\330L\343\220\34\22\356\323\324\313\262,aT7\367\233\306"
+"\336Gl\370\25\60\273\230\tC\32L\203jw.\204k+\266GPL\315\343\361hY\25\337"
+"\357!\254\301HP\275\251\31.\302\312_\201\274 b\6\325\230\2325\355\236\n"
+"\33~$\250\256\324\254/1\344\4\245\7-\337k\326\235\25r\202\262)\237iu\263"
+"2h\316\222\23\649$\354\342\n\344\r\360f&,y\211[m\377\333\351\25P3\375\236"
+"|\333\31%\267X\231m\362xJ\330\224g\225\373\42\371 \254\341\34\310\254\33"
+"\311!\251|_\243=\344=\265SS\320\360pe\276\335\230D\25\337\372\246\24\263"
+"\314\311\240\216\315*\343c)\257\34\r\272\5@\345}\327\363e\221|\22u\252"
+"a\6\315J\231\215T\237\317\2673c\231\34\22\343nn\235_\316\211h\201X\232"
+";,\231\223h\337\42\252\22Ks\27\26*\23~\177\42\252\22K\323\317\23]\307\315"
+"\\\26\365!\242*\2614k\371S2\242]\355^,\313\312\334,k\331)\205|\336\362"
+"t\257\271c{F\266m\253L7&.e\265Dts\277\351\314\7\320\374\261\257R\226\332"
+"\27\313\\\21M\16I\265\267\37\32\323\247\2658\226\271\42\332\352\302\353"
+":\256J\201m},\363F49$\255[\361\312\267ou-\226\'\336\310S\231T\36[\261V"
+"\374\332\336\310\223o\230zv\362\325\251\317\250+v/O\333\30c\327\361\256"
+"\343\252\354\177\265\254\277\254h\317\310\344\240\272\216\253\262\77\360"
+"\354W\350\362\1~\336\3418\215H\343\347\272\376\330\317\225\221u|`\310\234"
+"\305Q\256\302\3738\375\4\323\240\346du\35w~9W\237#\237.|zt\237\224\342"
+"\356I\332T\24L\203JW\26\247(\26~\205\335\333\355\322\274\312O\313\200\345"
+"\3252\230\6\345\363\300\262,o\344\315.f\313\253e\201\312\361\364%\371c"
+"\277\251\361<3!M\303E\370\356\367w\345\237\352\307\177\77\342\357q\24E"
+"\273\375n\277\337\257\243\265\234\177\303\341\320~m\333\266\355\274u\264"
+"|\211\310\347\177>\177\372\373\323n\267\33\364\234\77\366\13\314O\346\330"
+"\334o\270\243\370\205\332[\246\3205b\373\260\345o|HsX[\202J \36353\306"
+"\226\337\325\315\212@\26\334\27\r\27\241!\311\232\34\222\371\345\234\17"
+":j\250\300\223\363I\311\26\242L\24\303E\330`\373\321\361|-\323\340\347"
+"\252\250\263\213Y\273\216A\316\332\36Zo\344\235z\307\362\235\353\355\327"
+"\3338\216\243\273h\35\2553\277\36\212p\326Q\223O\337)\363\330\2\236\42"
+"\375\354\307\3428~\374B\222S\330\242\273\210\336\37\0\0\0\0\0\0\0\0\0\0"
+"\232\364\23:\352\273\222\232\276o.\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\230\0\0\0\233\b\2\0\0\0\21\64\305\330\0\0\0\4gAMA"
+"\0\0\261\217\13\374a\5\0\0\2\61IDATx\332\355\324\315I]Q\30\206\321{\305"
+"\6n\79%\304r\204L\264\3\261\203`\27:\21\254 X\211`#\318<6\240\6\3\376\234"
+"\347[\317t\17\66\274\213\275w;I\222$I\222$I\322\77Z\226\305\b\233\357\344"
+"\347\311\323\337\';\24\24\327u5EA\21dD\21dD\21dD\21dD\21dD\21dD\21\344"
+"f:\34\16\217\17\217\353\353\231\250\240\b2\242\b2\242\b2\242\b2\242\b2"
+"\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2"
+"\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2"
+"\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2"
+"\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2\242\b2"
+"\242\b2\242\b\362\255\356\377\334\257\333\211\327\313\335\335\336\255\233"
+"\nYA\21dD\21dD\21dD\21dD\21dD\21dD\21dDq:dFq4dIq.dLq(dOq\42dRq\34dUq\26"
+"dXq\20d[q\nd^q\4\344\4\305>\344\20\3058\344\34\3052\344(\305,\3444\305"
+"&\344@\305 \344L\305\32\344X\305\24\344d\305\16\344p\305\b$\305\2$\305"
+"\2$\305\2$\305\2$\305\2$\305\367B\36}O\305\323_\247;\275\247#\212 )\202"
+"\244X\205\244X\200\244X\200\244X\200\244X\200\244X\200\244X\200\244X\200"
+"\244X\200\244X\200\274\274\270\244\370A\355\77\355\246\363\263\363\353"
+"\233k\213\377\77\325~\377\365/\222b\341k\245X\200\244X\200\244X\200\244"
+"X\200\244X\200\244X\200\244X\200\244X\200\244X\200\244X\200\244X\200\244"
+"X\200\244X\200\244X\200\244X\200\244X\200\244X\200\244X\200\244X\200\244"
+"X\200\244X\200\244X\200\244X\200\244\270\225\216\337>^~,W\277\257\314$"
+"I\222$I\222$}T\317H\306=z\261\265J\316\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0\230\0\0\0\233\b\6\0\0\0\236VR\217\0\0\0\4gAMA\0"
+"\0\261\217\13\374a\5\0\0\2\200IDATx\332\355\3351J\3Q\20\200\341\211X\244"
+"\260\311\r\3342`\343\36C<\201`cr\2\361\6\222[\30\213\260^D\310\5,\274\210"
+"E\312\347\t\204\25\34u6\337\17\323\275@\230|,!\33\222YD\264\220\222:\261"
+"\2\1&\300$\300\4\230\0\223\0\23`\2L\2LS\0\326u\235m)\17\330\373\333{\364"
+"\227\275\215\351\333\2651\323Zk\207\217C\353/\3736\3661\306|\13\30d&\35"
+"\30d&\35\30d&\35\30d&\35\30d&\35\30d&\35\30d\346\253\371\261[E\363\263"
+"y\f\273!\26\213\205O\26\225s/ry\261\214\375\353\36\62\345\0\203L\351\300"
+" S:0\310\224\16\f2\245\3\203L\277\362\215V\310\0\203L\265\201A\6\30d\252"
+"\17\f2\300 S}`\220\1\6\231\352\3\203\f0\310T\37\30d\200A\246\372\300 \3"
+"\f2\325\7\6\31`\220\251>0\310\0\203L\365\201A\6\30d\252\17\f2\300 S}`\220"
+"\1\6\231\246\361O\37\220\1\6\31`\220\t0\310\0\203L\23\7\6\31`\220\1\6\231"
+"\0\203\f0\310\0\203L\200A\6\30d\2\f2\300 \3\f2\1\6\31`\377\t\331\260\33"
+",\2\260\274\256\256\257\342e\367b\21\200\345us{\3\31`\220\1\6\231\0\203"
+"\f0\310\0\203L\200A\6\30d\200A\6\31`\220\1\6\31`\202\f0\310\0\203\f0A\6"
+"\30d\200\t2\300 \3\f2\300\4\31`\220\1\6\31`\202\f0\310\0\323\21\42\3\f"
+"2\300 \3L\220\1\6\31`\220\1&\310\0\203\f0\35\3\62\300 \3\f2\300\4\31`\220"
+"\1\246\211!\3\f2\300T\27\31`\220\1\246\272\310\0\203\f0\325E\6\30d\200"
+"\251.2\300&\204\354\341\376\341\337=\257YD\2641\7[k^\305\2\255W\353\330"
+">o]\301\224\323\323\366)Vw+\300t\34\310\0\203\f0\325E\6\30d\200\251.2\300"
+" \3Lu\221\1\6\31`\252\213\f0\310\0S]d\200A\226\212\f0\245\42\3L\251\310"
+"\0S*2\300\224\212\f0\245\42\3L\251\310\0S*2\300\224\212\f0\245\42\3L\251"
+"\310\0S*2\300\224\212\354t\354\301\315\343\306v\25\21\21\335y7\372\354"
+"\350\237\16\220\274\311\27`\2L\2L\200I\200\t0\1&\1\246\77\350\23\30n\274"
+"\334|\315\336\302\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0"
+"\0\230\0\0\0\233\b\6\0\0\0\236VR\217\0\0\0\4gAMA\0\0\261\217\13\374a\5"
+"\0\0\2wIDATx\332\355\335AJ\2\1\24\307\341gt\21\217\220[\241\13H\'\20\332"
+"\324\r\302\235\264\b\257a\233\300\23\204\'\t\\z\4\27-\\N\213(Z\4N\352#"
+"\337\370\375\340\277\33T\206\217\31p@{\21\321\204\224\324\205S \300\4\230"
+"\4\230\0\23`\22`\2L\200I\207u\331\366\300\331\323\314\331\322w\323\307"
+"i\253\343z\321\362QQ\323x\242\244\317\356\357\356c\376<w\213\324\377\342"
+"\2L\251\270\0S*.\300\224\212\13\60\245\342\2L\251\270\0S*.\300\224\212"
+"\13\60\245\342\2L\251\270\0S*.\300\224\212\13\60\245\342\2\f\256T\\\200"
+"\301\225\376>\200\301\5\230j\342\2\f.\300T\27\27`p\1\246\272\270\0\203"
+"\13\60\325\305\5\30\\\200\251..\300:\326\344arR\270\42\374t@gZ\274,b|;"
+">\271\317\345\n\6\27`\252\211\13\60\270\0S]\\\200\301\5\230\352\342\2\f"
+".\300T\27\27`p\1\6W]\\\200\301\5\30\\\1\230\340\2\f.\300\340\352\26.\300"
+"\340\2\f.\300\4\27`p\1\6\27`\202\13\60\270\0\203\13\60\301\5\30\\\200\301"
+"u\266\270\0\203\13\60\270\0\23\\\200\301\5\30\\\200\t.\300\340\2\f.\300"
+"\4\27`p\1\6\27`\202\13\60\270\0\203K\200\301\5\30\\\200\301%\300\340\2"
+"\f.\300\340\322\376\371;\277\37-_\2271\272\31Q\1\330\361[\275\255bx=\214"
+"\315fC\205[$\\\200\301\245s\7\6\27`p\1\6\227\0\203\13\60\270\0\203K\200"
+"\301\5\30\\\200\301%\300\340\2\f.\300\340\22`p\1\6\227\272\t\f.\300\340"
+"\2\f.\1\6\27`p\25100\270\0\203K\365\200\301\5\30\\\252\7\f.\300\340R=`"
+"p\1\6\227\352\1\203\13\60\270T\17\30\\\200\301\245z\300\340\2\f.\325\3"
+"\6\27`p\251\36\60\270\0\203K\365\200\301\5\30\\\252\7\f.\300\340R=`p)\r"
+"\30\\J\3\6\227\322\200\301\245\337j\332lW\333\367m3\270\32\64m_\317\316"
+"f\207\3\203\313\322\200\301ei\300\340\2624`pY\32\60\270,\r\30\\\226\6\f"
+".K\3\6\227\355\263\336\227\262]\365\373\375X\257\327\276\226\326\237j\r"
+"L:\211\207\335\22`\2L\200I\200\t0\1&\1&\300\4\230t\304>\0\265!\372{\251"
+";\20\313\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\230\0"
+"\0\0\233\b\6\0\0\0\236VR\217\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\2\244"
+"IDATx\332\355\335\261I\3a\30\200\341\377\304\5\62B\312\200\215\266\1\7"
+"\20\'H\320\302d\3I\'\26\342\30\306BI\26\220, d\3!eFHaa\31\13\211\255\'"
+"\346\13\371\316\347\205\257\373\271\342\277\7\356\302\205\273\252\224\262"
+".RP\7\266@\200\t0\t0\1&\300$\300\4\230\0\223\376\326a\335\205\367w\367"
+"vK\337\335\334\336\324ZW\225\232\217\212\6W\203\3620~\260\263\372\202S"
+"U\333\275D\216\37\307e8\30\332Y\305\335\203A\246\360\233|\310\24\376+\22"
+"\62\205\2\203L\341\300 S80\310\24\16\f2\205\3\203L\341\300 S80\310\24\16"
+"\f2\205\3\203L\341\300 S80\310\264\223\177\264B\6\30d\312\r\f2\300 S~`"
+"\220\1\6\231\362\3\203\f0\310\224\37\30d\200A\246\374\3006\310F\327#g\245"
+"A\325~u\300.\233<MJ\357\242\347\354\3543\234m\277:`\227\365/\373e\372<"
+"u\26]\42!SR`\220\1\6\231\362\3\203\f0\310\224\37\30d\200A\246\374\300 "
+"\3\f2\345\7\6\31`\220\251\31_\372\200\f0\310\0\203L\200A\6\30dj80\310\0"
+"\203\f0\310\4\30d\200A\6\30d\2\f2\300 \23`\220\1\6\31`\220\t0\310\0\203"
+"\f0\310\4\30d\200A\6\230 \3\f2\300 \23`\220\1\6\31`\220\t0\310\0\203\f"
+"0A\6\30d\200A\6\230 \3\f\262\375o/\77\347\227\271\331\313\254\234\235\237"
+"5\37N\315\317\371\1\266\345Z\255V\231\277\316K\347\250\3\230K\344\366["
+"\255V\245{\332-\213\267\205\315\0\f2\300 \3L\220\1\6\31`\220\1&\310\0\203"
+"\f0\310\376\t2\300 \3\f2\300\4\31`\220\1\6\31`\202\f0\310\0\323\177@\6"
+"\30d\200A\6\230 \3\f2\300\3240d\200A\6\230\362\42\3\f2\300\224\27\31`\220"
+"\1\246\274\310\0\203\f0\345E\6\30d\200)/2\300 \3Ly\221\1\6\31`\312\213"
+"\f0\310\0S^d\200A\6\230\362\42\3\f2\300\224\27\31`\220\1\246\274\310\0"
+"\203,\24\31`\nE\6\230\302\221\255\215\331\314\311\361\311\372\343\375c"
+"\375S\2778\246M5\277G\6\230\tE\6\230\tE\6\230\tE\6\230\tE\6\230\tE\6\230"
+"\tE\6\230\tEVw}\265Q&\325\255\335n\227\345rYk-`\n\315\263H\1&\300$\300"
+"\4\230\0\223\0\23`\2L\2L\373\334\'\271\205\353{L=d\327\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0N\0\0\0\310\b\2\0\0\0\311!@\217"
+"\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\3\27IDATx\332\355\332\77k\333@\34"
+"\306\361\244S\206\16\321\346!Co\ft\210\264\6Juc\350\22\374\nj\275\203\340"
+"W\20\374\n\f~\3\6\215\241C\360j\27R\234\315\n\2448\243\n\31<J\340\200\274"
+"\251\203!\270\1\237\316\362\371$\247\337\317\30b[\317\375\323\335O:8\0"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\303\16m\376\230\364"
+"\245s\354\270\256\373\372\2274M\'\321$\376\23\307q\274\367m\351\271^\257"
+"\333\233>Ns\245l\236\rn\7A+p\34g\377B\6\255`|7\3167\224\315\263\260\37"
+"\n!\366#\244\364e\211\220ot\256;u\317\331\353\366rC\246\217S\317\365\352"
+"\30\322q\234\3029Yb<\7\255\340\375\347|U\243\264;\315Y\243\264\26r\32I"
+"k`\13\61\270\35\\|\273\320\371\317\305\313b\370s\30EQ\232\246q\34\273\256"
+"\353\34;\276\357\237~>\325\374\370\371\227\363I4\251\246K\333Wm\235\16"
+"\31\337\215\233\227M\305\270h_\265g\3173\2355\271\232\234B\210l\236\251"
+"/n\366<\223\276\324\234\b\235\353NM\357\267a\77T_V\330\17\67\335\350I_"
+"\252\233/\233g\2667\217B\210\302\234\245\267\315\352\264\266;V=\330\306"
+"w\343-\17\t\352\216\265\32U\261\212\30\31c\352\246T,r\346\217f\26n\367"
+"\212\326,=;L\336c\f\216.\305\257\314\236g\325\37_z\335\236\301}\230b\354"
+"l:G>\224\273\210\325\242\311\33\67\77nLEM\222\344\351\367\323\332k8smD"
+"U\210\36\42\203\3376\32\215\326\366\371\261\235^]\337\242I\222\30\214\232"
+"\244I\211\221e2\352\321\307\243\275\253u\225\214\272xY\374/Q\25\23\322"
+"Z\261/M\323\212\227%\357\314d\341K1!7=\270\226\214\252(\306k\36\331t\17"
+":_\245\251^\255\365>F\372R\261\205\2604W\25\203\247q\3220\265\27\17\276"
+"\257\335K\337\377\272\267\267\240)\216\224F:V\335\245V\217\254\352\22\304"
+"\226\227RX\205\264\372PG\335\352[\36\345\324\355\270\345\271\277\214\302"
+"gP\345\322\26\226\254*(\177\27v\354\246#Y\bQX=\257\240K\227\6\267\3\235"
+"\342m\341\315vY\31-,\265\346yn\366\276\275\331\372\241s}\313e\271s\335"
+"\221\276\\=R{\256\327\274l\206\375P\363K*~\350\332\274l\346VT6t\377\271"
+"\327\267\202]\347\234>N\353\362\232\204\301\207\345\265\316\271\323\276"
+"\255]\316\327y\253\271\300h*\361\324\307\36!\304\366\257\267,\353\311\366"
+"J\370[v\257\316\363RE1y\317\336\325\222\276\324\331c\254N\313\366U{G!\17"
+"\255e\226\276\\\276\21 >\211\306Ic\365\330\31E\321\344a2\34\r\337\303\233"
+"\206\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\225\371\13\201"
+"P\252qQ`\\b\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\200"
+"\0\0\0\200\b\2\0\0\0L\\\366\234\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\0"
+"\346IDATx\332\355\3251\16\200 \20EA\326p\377+\257\255\r\211$\6\225\235"
+"\327Z\371\'@k\222$I\222\252\25\243\17\231i\235g&\216\230\6\260\3762\203"
+"\303:\357\6\0@\355z\205\207n}\367\37Q\'\300\25\4@\0\0\b\0\0\1\0 \0\0\4"
+"\0\200\0\0\20\0\0\2\0@\0\0\b\0\0\1\0 \0\0\4\0\200\0\0\20\0\0\2\0@\0\0\b"
+"\0\0\1\0 \0\0\4\0\200\0\0\20\0\0\2\0@\0\0\b\0\0\1\0 \0\0\4\0\200\0\0\20"
+"\0\0\0L\0\0\200\0\0\20\0\0\2\0@\0\0\b\0\0\1\0 \0\0\4\0\200\0\0\20\0\0\2"
+"\0@\0\0\b\0\0\1\0 \0\0\4\0\200\0\374\266\276\307od\246\23 \0\0\64[\354"
+"w\253~n\342\b#H\222$I\272t\2\371\237\17\337(R\30\336\0\0\0\0IEND\256B`"
+"\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\200\0\0\0\200\b\6\0\0\0\303>a\313"
+"\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\1\33IDATx\332\355\330\261\r\200"
+"0\fEA\177\224\375W6#\200\200\306\344\256\206&y2\26\251\252.\266u8\2\1 "
+"\0\4\200\0\20\0\2`\'\353\356\203\335~\27L\224\344\375\4p\371s]\335\235"
+"O\200\35\0\1`\t\374z\271\230\376m4\1\20\0\2@\0\b\0\1 \0\4\200\0\20\0\2"
+"@\0\b\0\1 \0\4\200\0\20\0\2@\0\b\0\1 \0\4\200\0\20\0\2@\0\b\0\1 \0\4\200"
+"\0\20\0\2@\0\b\0\1 \0\4\200\0\20\0\2@\0\b\0\1 \0\4\200\0\20\0\2@\0\b\0"
+"\1 \0\4\200\0\20\0\2@\0\b\0\1 \0\4\200\0\20\0\2@\0\b\0\1 \0\4\200\0\20"
+"\0\2@\0\b\0\1\b\0\1 \0\4\200\0\20\0\2@\0\b\0\1 \0\4\200\0\20\0\2@\0\b\0"
+"\1 \0\4\200\0\20\0\2`\260\365\364\305\356vz&\0\2@\0\374<\200$Nj\250\253"
+"\273KU\331\346L\0\4\200\0\20\0\2@\0\b\200=\234H\364\22\0}K\240\271\0\0"
+"\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\230\0\0\0\227\b\2"
+"\0\0\0f\366\5\243\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\2`IDATx\332\355"
+"\3301J\34a\0\206\341(^JM\274\300\202\27X\261q\273\5/\23\260\333\244\20"
+"\366\4\301\322\24\t\332\271M\300\13\244\260\263\261\330\316\364)6\20I\330"
+"}\377\347mg\6f\276\7\6f\336\275\223$I\222$I\303\265\267\371\360\335\267"
+";\33mC\253\325j~9\337p\302\301\346\353\17\337\37\32q\'\3327\1H\201\24H"
+"\201\4)\220\29\\\313\353%\310\202\342\342\363\2\344\316+N\317\247^\255"
+"\243+\202\214(\202\214(\202\214(\202\214(\202\214(\202\214(\202\214(\202"
+"\214(\202\214(\202\214(\202\214(\202\214(\202\214(\202\214(\202\214(\202"
+"\214(\202\214(\202\214(\202\214(\202\214(\202\214(\202\214(\202|k7_n\266"
+"A\21\344\233z\374\361xv~\266%7\3\362\357\25\217O\216\237\237\237AR\4I\21"
+"dR\21dD\21dD\21dD\21dD\21dD\21dD\21dD\21dD\21dD\21dD\21dD\21dD\21dD\21"
+"dD\21dD\21dDqt\310\214\342\320\220%\305q!c\212\203B\366\24G\204|\372\371"
+"\324S\34\16r\375\262\236\234Nz\212cA\256_\326\307\'\307\17\253\207\344"
+"\323\355S\4I\21$E\220\24\207\203\34G\261\f9\224b\26r4\305&\344\200\212"
+"A\3101\25k\220\303*\246 GV\354@\16\256\30\201\244X\200\244X\200\244X\200"
+"\244X\200\244X\200\244X\200\244X\200\244X\200\244X\200\244X\200\244\30"
+"\201\234\234N(\356<\344\354bv\373\365\26\325nC\316.f\213O\13N\273\rI\261"
+"\0I\261\0I\261\0I\261\0I\261\0I\261\0I\261\0I\261\0I\261\0I\261\0I\261"
+"\0I\261\0I\261\0I\261\0I\261\0I\261\0I\261\0I\261\0I\261\0I\261\0I\261"
+"\0I\261\0I\261\0y\365\361\212\342\316C.\257\227\363\313\271qw\33ry\275"
+"\234\236O-\273\333\220\24\13\220\24\13\220\24\13\220\24\13\220\24\13\220"
+"\24\13\220\24\13\220\24\267\252\275\315\207___m\264\r\335\177\277\77\372"
+"p\364\377~\b\250\360C@ \5R A\n\244\376M\7\177\374|\261\3216\264Z\255\214"
+" I\222$I\222~\353\27\223p\5\237\203\268D\0\0\0\0IEND\256B`\202"
+"\211PNG\r"
+"\n\32\n\0\0\0\rIHDR\0\0\0\230\0\0\0\227\b\6\0\0\0\351\224\222\364\0\0\0"
+"\4gAMA\0\0\261\217\13\374a\5\0\0\2vIDATx\332\355\3301N\2A\24\200\341\267"
+"\304\202\302\206\316\302\13\220\330\254\35D\13\241#\236\200\204B\351L\274"
+"\f\t\35\66(\36\300\204\13\230Ps$\274\2*\3y\354\367\'\323m2\331\267_v\262"
+"[E\304.\244B\265\214@\200\t0\t0\1&\300$\300\4\230\32\320\305\276\27\316"
+"g\363\250\353\332\304\24\21\21\375\373\376a\201\325u\35\275\273\236\311"
+"\312\21)\300\4\230\4\230\0\23`\22`j<\260\341`\30UUY\211\327\347\373\247"
+"7\230\312\264Z\256b<\31\3\246\34\270\0SQ\\\200\251(.\300\340*\212\13\60"
+"\270r\375\246\20\\\200\301u4\\\200\301\5\230\16\323|6\77:.\300\32\322\364"
+"y\32/\257/\'\331\33\260\6\340Z\274-N\266\77`p\1\246\234\270\0\203\13\60"
+"\345\305\5\30\\\200)/.\300\340\2Lyq\1\6\27`\312\213\13\60\270\0S^\\\200"
+"\301\5\230\362\342\2\f.\300\340\312\213\13\60\270\0\203+\0\23\\\200\301"
+"\5\30\\\347\205\13\60\270\0\203\13\60\375\243\301\303\340lq\1v\342n\353"
+"\333X\177\255\317\372\36\1;!\256\315\367&\332\227m\300\4\27`p\1\6W\263"
+"p\1\6\27`p\1&\270\0\203\13\60\270\0\23\\\200\301\5\30\\\200\t.\300\340"
+"\2\f.\300\4\27`p\1\6\227\0\203\13\60\270\0\203K\200\301\5\30\\\200\301"
+"\5\27`\7\257\323\351\304\372k\r\27`epm\2767qu}e\30\200\225\301\325\275"
+"\351\32\6`p\1\6\27`p\301\5\30\\\200\301%\300\340\2\f.\300\340\22`p\1\6"
+"\27`p\t0\270\0\203\13\60\270\4\30\\\200\301\245s\4\6\27`p\1\6\227\0\203"
+"\13\60\270\224\30\30\\\200\301\245\234\300>\226\37p\1V\246\325r\25\243"
+"\307\221\'\7X\31\\\343\311\330S\3\f.%\2\6\27`p)\37\60\270\0\203K\371\200"
+"\301\5\30\\\312\7\f.\300\340R>`p\1\6\227\362\1\203\13\60\270\224\17\30"
+"\\\200\301\245|\300\340\2\f.\345\3\6\27`p)\37\60\270\324\202K\351\200\301"
+"\245b\300\340R1`\323\247)\\*\7\f.\35\365+R\2L\200\t0\t0\1&\300\244\375"
+"\273\330\367\302\355vkZ\372uUD\354\214A\216H\1&\1&\300\4\230\4\230\0\23"
+"`\322\337\373\1`p_\356\3030\322\346\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\232\0\0\0\235\b\2\0\0\0\303\230\366\370\0\0\0\4gA"
+"MA\0\0\261\217\13\374a\5\0\0\1\224IDATx\332\355\330\261m\203@\30\200Q;"
+"\362\20.Rpk \271\340\306\260\224\302b\223\304\36\303J\21\311\213\330\202"
+"\316\31\1\27)\\\262\301e\201\20\42[\221\316\350\275\226C\34\377\207@b6"
+"\3\0\0\0\0 \27\363\321\25\261\212\306\224\203\276\357\317\237\347{s\246"
+"\224\2142\7\355\251-W\345\357k\236\214iJ\344\224\239\221\239\345d\32\26"
+"\67\237y\375\272\356\337\367\331\336X\275\251\227\317\313\37\17\35>\16"
+"\335\245\313s\333\241\b\353\227\365\77^ \rh\216M\316\317isl\206v\236\363"
+"\177\256X\305{\6\356e\353\333\211\234\310\211\234r\42\'r\42\'r\312\211"
+"\234\310\211\234\310)\'r\42\'r\42\247\234\310\211\234\310\211\234r\42\'"
+"r\42\'r\312\211\234\310\211\234\310)\'r\42\'r\312\211\234\310\211\234\310"
+")\'r\42\'r\42\247\234\310\211\234\310\211\234r\42\'r\42\'r\312\211\234"
+"\310\211\234\310)\'r\42\'r\42\247\234\310\211\234\310\211\234r\42\'r\42"
+"\247\234\310\211\234\310\211\234r\42\'r\42\'r\312\211\234\310\211\234\310"
+")\'r\42\'r\42\247\234\310\211\234\310\211\234r\42\'r\42\'r\312\211\234"
+"\310\211\234r2!\213\233\317\fE\330\276n\263\275\261P\204\241C\365\246\216"
+"U|\270m\377\305|tEJ\311S\237\203\366\324\226\253\322\313\326\267\239\221"
+"\239\221SN\36\314\370o\204\335\333\316\230r\320]:C\0\0\0\0\200\251\373"
+"\6\177\25x\4\2372\346\311\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\r"
+"IHDR\0\0\0\220\0\0\0\220\b\2\0\0\0h$u\357\0\0\0\4gAMA\0\0\261\217\13\374"
+"a\5\0\0\4\263IDATx\332\355\235=N\33A\24\200M\322\270\260\42\334\1J\242"
+"\230\16)\r\276\1\276\1r\207\224&\276\1\332\13\4\371\2A\366\5\220|\2\344"
+"\23 9\35D m\213\24\42L\7\22A\246\333\24\211\20\211\331\231\375\231\237"
+"7\273\337Wb$\'\357\355\314|\363f\347\321h\0\0\0\0\0\0\0\0\200p\332\355"
+"6A\b\206h\77\232\235\314\210C0ckq\277H\222\244\267\323#\32\1\609\232$I"
+"\222$\311\374jN4\244\323\333\351%\317\210\366#b\42\232\331\311\354y\302"
+"\26\367\13\354C.\203\317\203d\211\361\341\230\310\210v\215e\272\333]\342"
+"#\216\341\3010I\1\305\27G\247\323I\224\364w\373DI\256k,\203\342\313U\371"
+"4\206\7Cb%\202\371\325<K\302P|\351\256\261\314\344hB\304<\273F\232\312"
+"\247\201\342\373\344\251l\230\35\24_\272k\240\370R\210/\342b\tC\361=\360"
+"b\331\360\271\20\252\325\21\305w\212\242l\370\207\301\347\201z\302D\361"
+"\2352>\34+\222\21_\304Y\312\37(\276;\225W/QOo\6d\377M\260H\256q\243\36"
+"\213(\276u\372\273\375\\+S\226\325\216\250Zt\215\2\356\27\355Gj\305\307"
+">l\241.\33*vW(\276\37\327POn\n\203\320*~\247\323!\302\206\231\36O\313\350"
+"\3\212\357\24m\331P;DP|\247\250\313\206\31\27!\365\22\210\342\33C\255y"
+"\331\213L(\276#\2257\30eu\311\30\3057\200\361R\205\221\331\25^\246\273"
+"\3355n\n(\276E,\271\270z\2070=\236\22\371\42h\217(\13\2577(\276\25\327"
+"P\327\223J^\374R+\376\323\211\32\230\th\371\2272P|\223\270\231\262\354"
+"M\271\265\303\231\24\240\370\6(_6\224\371]\225\305\361\331\25\212_\n\367"
+"\247\303e\216\331Py\77\346\206\342\27D}\263\301\336\361\207v\317\207\342"
+"\27Y\377\255^\23B\361s\343\375\b_\375\17@\361\305=\340(\2761\327p\326/"
+"\312\327\42\32\30r$\r\305\317\24#Q\'\35\266\213\316\25w\r\367\205\6\333"
+"\307:UVy_\247\365(~*b_yW\217\373\232\366\363\323\256\26\36\37d\355\313"
+"\77\265S|\255\217y\357\314\200\342\7\26\16\355\356\260F\212\357\267l\210"
+"\342\347F}0/jIG\361\3\223\346\274W\252\253F\210/\227\325Z\36136D\21\205"
+"V\361+\333\317/\334\27\244k\252\370\341\3362\326\316\344\25\354\347\247"
+"]\275\205\327\16\352\245\370\305\32\242H\243F\315>\252\361x\326\245\237"
+"\237\374\262a\35\226\341\34\224l\210\222\13\305\27\271\21\335\340\25\337"
+"\345\253H\332V\277\16\266\222\301+\276\233\262a\256\16\315(~*\246\32\242"
+"\210JX#\303\215\215PU\336M\331\260@\33t\24\337\333\\\237\24\5\305\377\7"
+"\33\rQD%\254j\212\357\354\77\3431a\325i\366\341\362\210\322c\302*\242\370"
+"\216\313\206~\23V\205f\37\216\313\206~\23\326\b\275e\267\373i\335{\302"
+"\32A7\373pY6\224\223\260P\373\371y\271\301(!a\332\'U\250\342\373\332\374"
+"{\317V\220\212\357\254l(\241\226X\300\266d)\276w\273\225\220\260\220\24"
+"_\310[`\276R\225\261b E\361E\335l\360\230\255`\24\237\277i\22\222\342s"
+"\358\257\342\373\354\347\'\247!J\315\313=B\313\206\1!\261\237\37\255\337"
+"\325s\217\270~~\322\32\242HC\326\352N\343\263\362\317\264S\305\347o\200"
+"\206\364XKn\210\42\ru\r\310\305\302Q\245\233\rn\324\314s\263\17\372\303"
+"\204\244\370\2414DA\361\377\22PC\24\24\237\262aP\212O\33100\305\17\261"
+"!JX\212o\322\327(\33\272\231\245\214\205\221\262\241\263\232\203\201\357"
+"\b\275!\2124\312\367\363[Q\217\342\370<^{\273\226\366\13\217\277\36\317"
+"\276\237\221\206\34\353\313\207\216:\236\33\3577noo\255\fa\260\201v;\273"
+"\242p\215\370<n\266\232\f\13\307lnn^^^\246}\372*\355\203\321\341\210l\371"
+"\332\0\230\337\350\201U\24\212\277\222V6\334\372\270\305\303\356\213\233"
+"\2377\353\357\326_\374\350\365\362\217\242\375h\357\323\36Q\363H\353M\353"
+"\341\376a\366m\246\37a\355v\373\372\3075\253\227w\322\24\377\177\351\30"
+"~\31\222-\t4[\315\321\327\221~\204u\267\273\253\253\253\304K\2www\247g"
+"\247\304\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\214\360\33\220;*S\303]\316\263\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\220\0\0\0\220\b"
+"\2\0\0\0h$u\357\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\4\362IDATx\332\355"
+"\234AN\333@\30\205\207v\223ET\221\35\240\266\252\331!uCn@n\200\262C\352"
+"\206\334\0\371\2E\271@Qr\1\244\234\0\345\4TaG%\220\262E*\25a\7R\212\302"
+"\316\335\245\210`\217=\236\231\377\215\375\276%\1\21\315\213\355\317\317"
+"\231_)B\b!\204\20B\b!\204\20\2N\253\325\342\42\4C|\24O\316\'\\\207`\216"
+"\255\305|\221$Ig\257\303\325\b\200\321\351(I\222$If\2673\256\6:\235\275"
+"N\362\202\370(\346\232@39\237\274\fl1_\320>p\351\35\366\222\25\206\'C\256"
+"\f\264k\254\322\336ms}\340\350\37\367\223\24\250\370pDQ\224d\322\335\357"
+"r\225p]c\25*>\256\312\247\321\77\356s\255 \230\335\316\362\4F\305Gw\215"
+"UF\247#\256\230\260k\244\251|\32T|I\226\265a~\250\370\350\256A\305Gaz="
+"5\13\214\212/\300\233\265\341\253T\250\370(d\324\206K\262O\230T|\257\f"
+"O\206\332\363\236\266\376\240\342\373S\371<\27\252<\277\311\357\20\370"
+"@[\33.\3\323\36\213T|\347t\367\2739U0\347\325\256w\330\343\252:t\215\234"
+"\265\34120\245T|\24g\313$\355\303\25\205j\303\227\177H\305\227q\215B\265"
+"a\376Nd1_DQ\304\25\266\314\370l\\\250\316(\244*T|\313\30\324\206Eo\6\250"
+"\37061\250\r\213^\2\251\370\326\310\326\274\374\201Q\361=\251|\321G\224"
+"i\201)]eL\305\267@\236\3320\177`\332\263+\25\277\24\355\335vb\212\231\277"
+"P\361K\221\2636,\24\230\366\16a|6\346\312\233\240}Di\34\30\25_\2706,\32"
+"\230V\361\247\327SF\340\26064\b\214\212o\2716LJS\362\224\313\357\208\254"
+"\r\315\2\243\342\213\325\206\306\201i\377\27\25_OI\327(\24\30\25_\2466"
+",\23\230\3661\33\25\337~mX&0*\2769\6;\33\254\4\246\275\347\243\342;t\r"
+"\203\300\250\370\276k\303\362\201i\337\0\25\337fmh%0*\276\214k\30\7\246"
+"\275\210\362;\4\326jC[\201Q\361=\325\206\266\2\323~z\270\23\320\276k\224"
+"\fL\253\370\265\236\347g]\345\313\7F\305\367Q\33\332\rL{\334\327t\236\237"
+"#\327\260\22\230\366\313\77\265S|\203\201(>\3\243\342\273\255\r]\4\246"
+"\275;\254\221\342;u\r[\201Q\361\377c<\20\305s`Z-\252\205\342\273\250\r"
+"\335\5\226\275\245\272\372\212\357\2506t\27X\335\25\337xg\203``Z\305\257"
+"\354<\77w\265\241\323\300\352\253\370\356jC\327\201i\317\344\25\234\347"
+"\227\177 \n``\265S\374\362;\33\304\3S\265\32\366\341\2726\364\23X]\346"
+"\371y\250\r\375\4\246j2\354\303\312\316\6\220\300\264\242\33\274\342\373"
+"\251\r\275\5\246*\77\317\317Om\3503\260*+\276\305\235\r8\201\251\34\363"
+"\374X\33b\5VM\305\367Y\33\372\17\254j\212_f J\20\201UM\361=\327\206\42"
+"\201Ug\330\207\267G\224\262\201UD\361EjC\251\300\2520\354C\2446\224\nL"
+"\205>\262\333\363#J\204\300T\320\303>\244jC\331\300B\235\347\'X\33\312"
+"\6\246\375\244\202*>\210k\210\4\26\236\342\313\326\206\342\201\251\260"
+"Fv\213\327\206\b\201\205\244\370\36v6\340\7\246B\31\331\215\346\32\202"
+"\201\205\241\370\b\265!N`\350\212\17R\33\342\4\246\220\347\371a\272\206"
+"x`\270\212\217S\33B\5\2460\347\371A\325\206h\201!\316\363\203u\r\204\300"
+"\24\332\260\17X\225\307\tLA\315\363C\253\r1\3C\231\347\7\356\328\201i;"
+" \37\212/\265\263!\320\300\344\347\371a\326\206\260\201\t+~\20\256\201"
+"\26\230\244\342\13\356l\b701\305G\256\r\301\3\23P|\360\332\20\77\60\337"
+"\212/\276\263!\364\300\224\317a\37\370\265a\20\201\371\233\347\207_\33"
+"\6\21\230\3623\354\303\377@\224\n\7\246l\314\363[\313>\212\247W\323\215"
+"\217\33*@.~^\0\276\253\350K\224\261\236\317\177\237\267>o=<<T\2746\254"
+"\22\332y~k\31\2561\275\2326\232\rE\374\262\275\275}ss\223\366\352\273\264"
+"\27\6\'\3\246%u\3P\361\332\260zd(\376ZZm\270\363u\207\37v)\356\377\334"
+"o~\332|\363\245\367\253\77\212\217\342\203o\7\\5A\232\37\232O\363\247\311"
+"\305D\177\204\265Z\255\273\337w\274z\211\223\246\370\257\245\243\377\275"
+"\317\264\20h4\33\203\37\3\375\21\326\336m\257\257\257s\275\20x||\274\374"
+"u\311u \204\20B\b!\204\20B\b!\204\20B\b!\204\20b\205\177\314J\277CT\265"
+"U\367\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\220\0\0\0"
+"\220\b\6\0\0\0\347F\342\270\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\5\361"
+"IDATx\332\355\235Ok\33G\30\306_\247\241\350\340\203\367\246\4;\240\243"
+"E\32\260n\201^\254c\350%\370\33X\237\240\216>@\353*\307Pb\344/`\320\251"
+"\344\24|*\270\207\200zK\17)\316\315.\261\261t\263\301\5\205\22\330\36\212"
+"K\34[\322\376\231\235\231w\346\367\2039Y2\253\321\243\335\367\331g\366"
+"\235\5\21I\5\240 w\230\2@@\200\200\0\1\1\2\2@@\200\200\0\1\1\2\2@@%H\222"
+"\204I\230\303W\42\362\3\323p;\7\277\36H\222$2\374}\310d\314 e\334\34\355"
+"\365v\232\246i:\271\234\244I\2220\'\323\7\223p\333\30\235\214\322+\6{\3"
+"\346\4\1e\37\335\255n\372%\355\3656s\203\200\346\217$I\322\311\345\344"
+"\206\200\206o\206\314\17\2\232\77vwv\323it6;\314\21\2\232>Zk\255t\26\24"
+"\3247\7\66\3763^\375\362JV\36\254L\375\373\335\257\357\312\247\177>\311"
+"\301o\7L\26\66\376\372\330x\272\221f\245\321h0g\\\302\246\333\366yPP#\240"
+"k\243\267\335K\363\202\255\377o,H\344Oe$I\42g\37\316\244\266X\313\365\276"
+"\361\351X\356\255\334#L\215}\2\372/\373\271\305#\42R_\256Ko\273G\5\215"
+"m/\316\344rBA\35\363\207\37\276\31\246e!\'\303\266\227&\362\202\32\333"
+"^\226\303w\207\321\n(\312\42\272\267\335\223\372r=\223\323\312\302\352"
+"\303U\351lv(\242cN\333\247]\232\362\24\324\221\346dq}\340\301\336 \327"
+"\335\346<\354\356\354\42\240\220G\2363\312\225=\317K\204\266\36\333>\353"
+"L\222\227\bs\2628>hg\263S\250\226)\302\306\323\r\4\24Z\341\234\325\266"
+"w\267\272\327\336[\204\321\311(\246\202\232\264\375\363/\376\313\367\26"
+"\245\267\335C@!\214F\243\221\313\266\233\22PD9\31\266}V\361[\206\375\327"
+"\373\b(6\333nR@\221\344d\330\366Y\365\n9Y\244\2*j\333M\13\3506g\207\200"
+"\2\262\355\363\36\26\64A\3409Y\274\266=\313\345\305\24\1\347d\330v\33\2"
+"J\3234m\255\265\20\220\357c\377\365\276Q\213m\222@s2l\273-\1\5\332\240"
+"!\234\17s\370\356\320x\314`\232\0s2l\273M\1\5\230\223\305\265L5\357%\244"
+"*\2\312\311\260\355.\4\24PN\246\337\266W\231KUI 9\31\266\335\225\200n["
+"\177\204\200<\264\355e\326\346TM\09\31\266\335\245\200\2\310\311\302\266"
+"\355e\357\273\330@y\203\6l\273k\1)/\250\303\265\355&\262\'[(\316\311\260"
+"\355>\bHqN\26\3462USu\205M\224\26\324\330v_\4\2444\'\13\257)\224\311/\301"
+"\5\312r2\35\7z\333\26L6\226K\270@YA\215m\367M@\312l\275\377\79k\13\246"
+"\252\177\271\256P\224\223\205c\333\253X\264\356\22%\5\65\266\335W\1)i\320"
+"\20\206m\257\352\376\211k\24\344d\330v\237\5\244\240\240\326o\333\253<"
+"\16\37\360\274A\203n\333^u\77B_\3608\'\303\266k\20\220\3079\231_\7\224"
+"g\13&\33\317\232\373\204\247\r\32\260\355Z\4\344iN\346\317\301d\335\202"
+"\311\346\351\3347<\314\311\260\355\232\4d\3038\250\24P\231^\316\261\t\310"
+"\263\6\r\272l\273\355\233j\276\342QN\246\277\227s\214\2\362(\'\323c\333"
+"]L\230\317x\322\240A\207mwu\17\304w<\310\311\260\355\232\5\344AN\346\277"
+"mw\331\200@\3\216\33\64`\333\265\13\310qN\206m\327. \3079\31\266=\4\1\331"
+"\n\227\235\13\250\212^\316\b\310\351\17\16\333\36\212\200\34-<\323\337"
+"\313\31\19\315\311\354\25\316\32l\273v\19\310\311\364\367rF@N\353G;O\227"
+"j\261\355\241\b\310bN\346\217m\367\261{\273f,\375\30\261\355\241\n\310"
+"\322]|\77l\273\257\215\4\264c\301\220`\333C\26\220\205\271uo\333}\356N"
+"\32\2\25\77\2\205m\17]@\25\27\324\330\366\30\4TaNf\376\237V\275\5\23\2"
+"\362*\'\303\266\307\42\240*\n\352;b\230\376N\77\323\353\236\377\364\\\216"
+"\217\217\5\354Q[\254\311\263\357\237\31\377\277\326m\273\246\255\257C\304"
+"\360\231_\177/g\4\344\264\240\266k\333\265mk\24*\6\335\257\276-\230\20"
+"\220W9\231=\333\256qk\307\2201\224\77\352\333\202\t\1\231\263\365\6\276"
+"\223r\23lc\347d\4\344uN\206m\217Y@\6\352Rl{\354\2*\31hc\333c\27P\311\37"
+"9\266\35\1\225\312\311\364\367rF@f(\3704\260\276-\230\20\220\779Y\3564"
+"~\2607\310\364\272\27\77\277\220\363\363s\42ped\375~\13\245\361\276l\301"
+"\304\31\250Z\36242_\270\272\216\315#I\229\373p&\265\305\332\334\327\216"
+"O\307r\374W\30k}\36\177\3738\272\263\320\370t,\315G\315\314W\20\243[0A"
+"\\9Y\2463P\243\321\220\243\243#\n\204\210\370\370\367Gi>j\316]5\232\251"
+"\210.RX\201\376\345\257Y\226\'\317\25P{\275\35e\35\0\42O\276{\42\355\365"
+"\366\314\327\314\275\204\215NFR_\2563\233\221\362\376\317\367\322\374\246"
+"Y\354\f\324\335\352\42\236\310Y}\270*\335\255n\3763P\36\333\16\341\27\324"
+"\367\37\334\277\325\326O=\3\365_\366\21\17\374_P\367~\354\345;\3\265\326"
+"Z\262\264\264\304\354\201\210\210\\\\\\\310\333\77\336\346/\242\1J\331"
+"x\0\4\4\b\b\20\20 \0\4\4\b\b\20\20 \0\4\4\b\b\20\20 @@\0\b\b\20\20 "
+" \210\203\177\1\232\36\262d\232\347\346\17\0\0\0\0IEND\256B`\202"
+"\211PN"
+"G\r\n\32\n\0\0\0\rIHDR\0\0\0\270\0\0\0\240\b\2\0\0\0\60\3241f\0\0\0\4g"
+"AMA\0\0\261\217\13\374a\5\0\0\bIIDATx\332\355\235\77k\33I\30\306\345\253"
+"\\\244\320t)\256\360\224\206\24\36u\201+\262\373\rd}\202\363v!w\205\330"
+".\271\203\363)\245\t\30\364\5\4\333\346\nG.\245\3\37J\2475\330H\245\f\n"
+"\254\273\25(\260\356|\205\300\210$zw\264\232\37533\317\2572\210\330\331"
+"\331g\336\77\317\214fj5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\240+{\30\202\206"
+"h\324\353\365Z\2556\273\233\315f3\f\210\245Ba\214\211#\3019\347\7\\\b\301"
+"\352\214\37\360\347\77\77O\375\207\323\333\351b\261\210\27q\30\206+\r\r"
+"\206\3\b\305\264 \341:\256\3438\215\243\206\214&\344\271\377r\77\30\16"
+"\302\353p0\34\214\3031\42\215\226\221\303;\361\372\27\375d\231<\26B\262"
+"L\202^\340\235x\2141\214\2776\372x,\225\376E\37\212\251n~\tzAa\361C>\306"
+"4D\3o\247\22x\'\336\350j\364XaFW#\327q\361\246\312\224H4\217\36\65!\232"
+"G\336\211\207\267V(\256\343j$\21\363\242\213\6\3551\347<\350\5/\177y\251"
+"\366\327>|}\b\257\303\37~$\216\304\376\263}\265\177\356\362\323\345\233"
+"\337\337\350k\350U](\235\323\316\333\77\336\356\370K\246\267\323\331\335"
+",\f\3030\f\343E,\357\233\271\216\313\352L\b!\204\330\335\222y\370\372p"
+"\366\341\354\335\237\357\220\37\24\67\65\223\233I\346\200\77\271\231tN"
+";\256\343*lY\31c\255f\253{\336\335\361\77\206\266He \251\270\237\3019\337"
+"\305\277\361\333>\336\362\256\2636C\353\33\315#\277\355\227\342wq\316\375"
+"\266\237\241\320\36]\215`\320eom\2665\320\252\323S\264\232\255m%\36\315"
+"#\244\241,\36\311V\243\34\364\2\316y\5\265\276\255\\\340\265lA\320\13L"
+"r&\266\225K\347\264\3\r\244\27%\362*\211\346Q\253\331\322(F\312g\322\240"
+"\27@\f\224J\344[\315\356yW\273\352\2171&\337\31\5\275\0\345\355N*\211\346"
+"\221\326.x\253\331\222\f-\223\233\t\264\222Q%\375\213\276\1c\'\337\366"
+"C+YTb\2301%i$\216\256F\20I\255V\253\311\250$Y&Fn\351\220\254pQ\333Ju\302"
+"f;Q\r\321\200VR\350\236w\221\244k\322K\236\226.\t\311x\257\366\224r\222"
+"\205\232F\276Qq\361\326\266\202_F+\3112\261h=\2101\226\272\276jg[(\243"
+"\25\213F&\325\235\264\331<`\214\245\306Z+\n\333\324\322$Y&\25\\\7\256Z"
+"^6\274X\341\234\323C`W\16\336\214\353\270\251\323\311\344\240\233\352["
+"c7\206|\350\355_\364-}\362\356y\27\372X\'\325\21540\1\245\326h\223\233"
+"\t\224\261m\23\24\315#\323\22\20m\302\242\200%\n[\213\266\303q\316aNg\206"
+"^d6j\216\321\271\26\313\350\251\320\t\310\20[%5\234 \351\354\236\200L\30"
+"C:\234`\307\271\222\42O\373\240B\207\23\303]\243b\333F\275\203\n\35N`\257"
+")\254j5\216\315\364$\210\346\21\336\375\266\343I\254\272\'\313D\327\7\243"
+"\255X\204\223\f\370m\337\300!%\232:\215\345_\341 \255\345\352\17]\306\242"
+"\331\311\251\375\321\257\2445\355y4\231\201\372y\334D\331e\354\372xQ\20"
+"[\4\65[[\245U\21726\327.A\'k\212(\316Q\306*)i\313\235\207\77\251\372E\216"
+"\343l\372\350\343\77\37\361\246w$\216\343\313O\227\233>u_\351\363\335["
+"\242\205C\336\311;\373h\343d\322K\235X\334) \373\344\335T\252I=\304\261"
+"\3\323\333i\34\307x\315J\262\317\364v\272q\256\36\65\64\20\2128\22\233"
+">\32\16\207x\307\252 \6S\b\241\203P6\377/m\276\260Q9\343\353q\206\240^"
+"!`\310\26\3aVi\340A\320\225,\336nas\262\352\251gu\273\364\17\371\374\337"
+"g\274Z\265\20C\232k\366\371IID\331\364\21.&WNYC\232oD\231\335A(\252\205"
+"\262yH\253\36Q\370\1\207P\nc\261X\350\32Q\210\276\6\251G}\207\34n\354\220"
+"Y\235UZ(\240\42\344\352\271\345+\24\244\36\244\36\271b\26\251\247\300\324"
+"Su\241\34\2768\304\3733\36\324(\0B\1\20\n\320O(\367_\3561\216\20\312N="
+"06A*\247\254m\33\371\246\36b\347\33\310(\224\3\23\205\2\212$W\327J\201"
+"P\342\305\306\275\323\271\256>\330\t1\244\271\372\340\n\204\22\206\341"
+"\306\324#\220zTg\363\222\206\24\251\7\21\245\2\21\305\310kF+\33Q4\256Q"
+"\312*\321\355\354z4X\253\307.\374\202\362\16\371\255R\rj\24\302\234E\366"
+"Q\231w6\373Ry\177\341A\215P\312\332\361k\33\304`\346\275\365G\215P\210"
+"\357\215\242C.\246\222\r\257C\r\36\240\325l\341\270\245\2 \16\241\321#"
+"r\323E\26\356\226T\225wJl\32\324\244\36\372\350\16\357W\234\270\244&l\227"
+"U\311\326\24:\263\304\321\35\304\361n@\236\343\346q\206\32Q\2472\5\207"
+"_\354\16}d\204f\311\235(\265pm\355\216\20\247\202\353wg\tqS\17.`\311o\22"
+"\352w\25\30\235}\f\274\331\271(\350c\253\265\34XB\370\270\23143\243\253"
+"\221i\241\232\276\'\16\206\212r\373D\327\342\217.\316\r\271\255\2672\341"
+"D\357v\222\276\331\31}\262\302p\242w6\247+/\\\334\2430\234h\2772O\334\360"
+"d\302\343U#\234\230\3408\320AE\263\33\253\252:\337\f\271\263\204~H\375"
+"\256\301+\34\372jls\fL:\250$\313\4Um\346\346\321\264+\220\350\240\2\377"
+"-s\347h\332\320\321\265\30\22P\266\244cf7@\\\302\n\2576\333\3542\323\264"
+"\344\234\23\253\77\253\242\fg\250\310\17W\262L\214\35.\342\232[\24+\353"
+"0\306\350\322\304\374\25x\332^\304\32\320\nz=\325\nS\2331FGT\24\266\251"
+"*19\351\254C\357i\262\374z\344\324\354l\327\272\7\261\353\323f\255\320"
+"\316\344\212\316i\307\256AI-Vl\323\212\214Jl\\o\227)\354\355\321J\252\261"
+"\266Z@\265\324>h\210FjakC\260M\255^-*`w\324\212\251=3c,\325\260^\251\4"
+"\266\265Tn62\360r\316e\222/T\262\265VL\32\262V\263%\23J\261\4\226Q+f\224"
+",2\356\300jb\340\233r;iet5\322t\257SC4d\322\r2\216\262\200\234,\23\275"
+"B\13cL\246\7\206J\24\367AO;\23\264\360\263\275\23\217\336\343\367\315C"
+"A%*\333\201\365LTY\271\270\216+\343A\303U\313\327`\250\262\\\266\225\310"
+"\312.\202J\262 \237\324\327g\244w\342\2258\334\214\261\255\22\r6W(\233"
+"\227\31\6=Y&A/(\270\267l5[A/\220/\260P\224\224\237\206\276QL~1\206s\356"
+"\235x\331\364\361tV\5\322M9\2353\221\225\202^\340\267\375]J\31\306\230"
+"\353\270~\333\17zA\206P\247c\313\366={\32X\21\177u^\377\366Z\311o{\370"
+"\372\20^\207\361\42~\272chv7[\77E\236s\376t\317\311\352\215\212#\261\377"
+"l_\311_\177\377\367\373\263\17gq\34#\4\344h\264l\333MT\n}me]\213\\\355"
+"\344Re\277\7r\201D\300Z2\222\331$V<\253\236\13\255o\345J]\277\355o\345"
+"\375\347G\351\276\37\220\3626\312R\314\344f\342\267}\343k\325=\363b\314"
+"q\363\330}\345\n!\16_\34\346\364W\246\267\323\341p8\30\16\6\377\16,iw\367"
+"\f~6\306\2308\22\256\343\362\3\3169\317\354\210\254\334\227\331l\26^\207"
+"\343p\34^\207\26z!{\266=pC4\352\365\372\372\17\337\263X,\306\341x\375\7"
+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\324j\377\3\270\347,t%\370\343{\0"
+"\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\232\0\0\0\231\b"
+"\6\0\0\0\327k#\271\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\1\375IDATx\332"
+"\355\3351j\302`\30\200\341\317\342!28\230c(\355`\274\205\320\241x\fq\221"
+"\\C:\24<\206\16\202k\274\201\16\35\34\35:\270\245S\207.M\3\261\324\370"
+"<\220-\374\360\177\276\344\17Y\354DD\31pe\17F\200\320\20\32\b\r\241!4\20"
+"\32B\203J\335:7\347\213\334\304\210\210\210\365f\35\353\315\372:\241\315"
+"\3463\23\346[l\216N\274\243!4\20\32B\3\241!4\356D\267\311\305N\357\247"
+"X\276.[5\240\351\3134\222^\362\343=\253\267U\34\216\207\326\3549\355\247"
+"1y\2364\276n\371\333\253\312n\273+\353\254w\13\327n\273\253\334w6\312Z"
+"\265\347l\224U\3569_\344\265\326tt\342\35\r\241\201\320\20\32B\3\241!4"
+"\20\32BCh 4\204\6BCh\b\r\204\206\320@h\b\r\241\201\320\20\32\b\r\241!4"
+"\20\32BCh 4\204\6BCh\b\r\204\206\320@h\b\r\241\201\320\20\32\b\r\241!4"
+"\20\32B\3\241!4\204\6BCh\b\r\256\251\333\344b\203\307A\224ei\252x\242!"
+"4\204\6BCh 4\204F\3334\372\35\355\362q\211b_\334\335\20\317\347\263\222"
+"\3762\264b_\304\360ih\2528:\21\32B\3\241!4\20\32BCh 4\204\206\320@h\b\r"
+"\204\206\320\20\32\b\r\241\201\320\20\32B\3\241!4\20\32BCh 4\204\6BCh\b"
+"\r\204\206\320\20\32\b\r\241\201\320\20\32B\3\241!4\20\32BCh 4\204\6BC"
+"h\b\r\204\206\320\340K\243\377\251\236\366\323\310\27\271\251\336\270\264"
+"\237\376\357\320\222^\22\263\371\314/\205\243\23\241!4\20\32B\3\241!4\332"
+"\246\326w\264q661\42\42\342p<\324\272\277\23\21\245\261\341\350Dh 4\204"
+"\206\320@h\b\r\204\206\320\270\23\237\243X\30+\351}TV\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\232\0\0\0\231\b\6\0\0\0\327k#\271"
+"\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\1\377IDATx\332\355\3351N\302`\30"
+"\200\341\257\206\201\301\201\221\301\201\336@F\22\27z\f\22\6\303J\274\0"
+"\350 r\f\342Mp\220\300\206G(\203\3\267\250\203\7\220&U*}\236\244\333\237"
+"&|y\351\337\264C\223\210(\2~\331\225\21 4\204\6BCh\b\r\204\206\320@h\324"
+"C\253\314\342l\230\231\30\21\21\221\37\362\310\363\374\344\365I\224x\5"
+"U\24\336V\361m\271X\306\374in\353\304=\32B\3\241!4\20\32B\243)ZU\236\354"
+"\370y\214\325\353\312T\377\271\264\227\306h<\252oh\371!/\365\20\217z\312"
+"\206Y\345\241\331:q\217\206\320@h\b\r\241\201\320\20\32\b\r\241!4\20\32"
+"B\3\241!4\204\6BCh 4\204\206\320@h\b\r\204\206\320\20\32\b\r\241!4\20\32"
+"B\3\241!4\204\6BCh 4\204\206\320@h\b\r\204\206\320\20\32\b\r\241\201\320"
+"\20\32B\3\241!4\32\253\322o\252\367o\373\261}\3376n\210\323\207i\354\77"
+"\366j\372\253\320\332\327\355\30\334\r\32\67\304N\247\243$[\'BCh 4\204"
+"\6BCh\b\355d\273\315.\222$\271\250c\267\331\251\304\25\r\241\201\320\20"
+"\32B\3\241!4\20\32BCh 4\204\206\320@h\b\r\204\206\320\20\32\b\r\241\201"
+"\320\20\32B\3\241!4\20\32BCh 4\204\6BCh\b\r\204\206\320\20\32\b\r\241\201"
+"\320\20\32B\3\241!4\20\32BCh 4\204\6BCh\b\r\204F\315\265\252<Y\332K\343"
+"\345\371\345\242\6\224\366\322\37\327L\356\'\221\r\263F\375\346\263\206"
+"\326\275\351\306\354q\326\270\177\353h<r\311\262u\42\64\204\6BCh 4\204"
+"\306e+\365\34m\271X\232\30\21\21\261~[\227Z\237DDal\330:\21\32\b\r\241"
+"!4\20\32B\3\241q~_\225\2704\'\17\364\313\230\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\232\0\0\0\231\b\2\0\0\0X\t\264\356\0\0\0"
+"\4gAMA\0\0\261\217\13\374a\5\0\0\1\227IDATx\332\355\3351n\202P\34\300a"
+"m8\0#\203\203\357\6\305\315\244\213\34\303\244\3y\307 .\215\'h\\M\207&"
+"\36\3\27\23\216\241G\351\336\1\322\332\332\'\375\276\25\60\360\377\311"
+"#\2720\231\0\0\0\0\360\377L\7\367\b!\204y0\251\24\264\307\266\177\207l"
+"\360#b\35\233Mc\224I\334|\323\201\333\357\301\214\306DN9\221\239\221SN"
+"\306!\273\346\340\303\373\341|9\33\342\317\212u,f\305\37\344\334\277\355"
+"\7\377\247\340\253\252U\365\355\234\26[\317N\344DN\344\224\239\221\239"
+"\221SN\344DN\344DN9\221\239\221\239\345DN\344DN\344\224\239\221\239\221"
+"SN\344DN\344DN9\221\239\221SN\344DN\344DN9\221\239\221\239\345DN\22\221"
+"\215\365\302\26\345b\367\272\273\3073/\37K9\77\313\363|\371\264\264\330"
+"\42\'r\42\'r\312\211\234\310ys\335\251\233&\254;ur\42\247\234\310\211\234"
+"\310)\'r\42\'r\42\247\234\310\211\234\310\211\234r\42\'r\42\'r\312\211"
+"\234\310\211\234\310)\'r\42\'r\42\247\234\310\211\234\310\211\234r\42\'"
+"r\42\'r\312\211\234\310\211\234r\42\'r\42\'r\312\211\234$\344\252W\312"
+"\305:V\253*\315\13\13\363\320\263i\373\262M6I\317\231\377n\316\365\363"
+"\372\36\277\302\305\254h6\215\305\269\221\239\221SN\344\344\26\206\177"
+"w\266\307\326\230\0\0\0\0F\346\3\216\237$\204.\266#\250\0\0\0\0IEND\256"
+"B`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\232\0\0\0\231\b\6\0\0\0\327k#"
+"\271\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\2\23IDATx\332\355\3351N\302"
+"P\34\300\341\177\r\3\203\7pp\2607\320\21\242C\3371H\34\b\307\0\35\b\327"
+"0\16&\34\3\7L\335\364\b880r\203:\260[\210`\240|_\322\355\345%\357\361K"
+"_S\206f\21Q\5\354\331\231-@h\b\r\204\206\320\20\32\b\r\241A\255\3266\203"
+"S\221\42\25\311\256\21\21\21\243\307\321\306c\263\330\342\237\201\311x"
+"\22\303\207\241\35f\35O\2269:\361\214\206\320@h\b\r\204\206\3208\25\255"
+"]O8}\231\306\342k\321\230\r\312\257\362\350\335\367~\35\263\374^\306\323"
+"\363S\243\302\30\364\7qqy\261\3239\253M\257\311xR\325IE\252\266\231\363"
+"\320\257T\244\3325\227\363\262Qk\216\210\252\234\227\265\353\336f>G\'\236"
+"\321\20\32\b\r\241!4\20\32B\3\241!4\204\6BCh 4\204\206\320@h\b\r\204\206"
+"\320\20\32\b\r\241\201\320\20\32B\3\241!4\204\6BCh 4\204\206\320@h\b\r"
+"\204\206\320\20\32\b\r\241\201\320\20\32B\3\241!4\20\32BCh 4\204\206\320"
+"`\237Z\266\340\357:\267\235X\177\313\36w4\204\206\320@h\b\r\204\206\320"
+"h(\357\321j\254V\253x\177{\77\271u\337\\\337D\373\274-\264\377\362\361"
+"\371\21\335\273\356\311\255\273\234\227\321\271\3558:\361\214\6BCh\b\r"
+"\204\206\320@h\b\r\241\201\320\20\32B\3\241!4\20\32BCh 4\204\6BCh\b\r\204"
+"\206\320@h\b\r\241\201\320\20\32\b\r\241!4\20\32BCh 4\204\6BCh\b\r\204"
+"\206\320@h\b\r\241\201\320\20\32\b\r\241!4\370\253\235\177S}\320\37D*\222"
+"\235=r\371U~\330\241\365\356{~%\34\235\b\r\241\201\320\20\32\b\r\241\321"
+"4YDT\233\16\316\363|\347/\3628^\263\327\331~B\3G\'B\3\241!4\204\6BCh\b"
+"\r\204\306\221\373\1%\376\26\t\333\240\302\213\0\0\0\0IEND\256B`\202"
+"\211"
+"PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\244\0\0\0\244\b\6\0\0\0\31\265\205A\0\0"
+"\0\4gAMA\0\0\261\217\13\374a\5\0\0\nlIDATx\332\355\235\77h\33\311\36\307"
+"\177\tW\270H\341\355\\\244\360\224\201+\274\333\345\270\7\321\226\307k"
+"\244\355\216{\17\42\265\201\343\371T\36<0jM@Der\340 w\'\27F\255\24P\220"
+";\255\301\207R*\340\3\245\223@\206U\267\257\b\n~!\266~+\315\316\376f\367"
+"\373\205!$\221\255\235\231\317\376\376\315\354\316\3\42\212\t\202\204\350"
+"!\206\0\2\220\20\4 !\0\tA\0\22\2\220\20\4 !\0\tA\0\22\2\220\20\4 !\b@B"
+"\0\22\202\356\326w\30\2\276\224R\244\366\25\21\219\273\16\271\256{\347"
+"g\347\3639\215\302\321\227\277\367\372=\f \200L.\307q\310=p\311/\371\244"
+"\366\25)\245\310=pi\347\321\216\226\337\377\341\257\17\64\237\317\251\327"
+"\357\321\344\343\204\3020\374\77p\213\256\7T\360\375\220J)\362K>\371\317"
+"|r]\227\236|\377\304\3705,o\226\24^\206\324\353\367\250s\326)4\240\205"
+"\4\322s=\252\224+T)W2\1\220\3h\347\254C\275w\237\1\235\315f\205\232\237"
+"\270\bM)\25\327\17\353\361\364z\32\333\244h\21\305\355\223v\34\224\203"
+"\270 s\225\357\16\372%\77\356\236w\343<hz=\215\33G\215\330q\34\0i[\253"
+"Uk\326Y\303\244VS)\5 \1\242,\345\20\314\374\270\346\361\3258.\242\242E"
+"\224\33Wn}\226\255\224\242W\315W\364\323\77\177J\365{.\336_\320l>\2430"
+"\f\211\210\250\366\274F{\217\367\356\375\231\323\267\2474\3718\371R\317"
+"T\373j\355\317l\233\235\377\362\357_\350\317\263\77\221eg\321\352\207\365"
+"8ZD\332-\316p0\214\33G\2158(\7w\272\303\341`\270\366\367\370%\377Nk^\77"
+"\254\307\355\223v*\341\305p0\264\331\215\333Y\302\341\0\301\325\370j\34"
+"\267\232\255;\1\322\r\344\267\372S\253\326\342\356yW\333\r\26-\242\270"
+"~X\7\220&\222\26\35\223\266*\241ljIt\2\371u\13\312A\334>ik\1\263{\336\265"
+"-\266\264\343B\35\307\3212I\335\363\256\226\42s\232@\336\356\263\216b~"
+"\264\210b\317\365\0\244N\27\275m\6\255\273<b\2\310\257\255\346\266aJ\255"
+"Z\3\220\3336\317\365\266r\321i\325\351L\3\251\253\274\325>i\3\310,\342"
+"\305\341`\230\252\233\312\nH]c#8\256\224\13\343\246\361\222\211\215\bY"
+"\3\271\2121[\315\326\306\225\5\241P\346\7F\223\31\245\4 o\273\361M\22\37"
+"\241P\332\17\243)\253(\25\310m\254\345\364z*-\3\267\33\306\361\3258\223"
+"U\ti@n\23[F\213H\222\245\264\27\306\366I;\263\201\224\n\344\2522\221\324"
+"\205\13r\337v\302\230\365\262\230d W.<iyH\b\224\331o\33\263\261\300+\35"
+"\310UK\272\2725\34\f\213\13d\322\242w\26\311\213\355@n\2e\306\305\363\354"
+"\\J\2228G\332z\254M@n\2e\206^H\356\204J\336\34`\33\220\233@\231\321\230"
+"\233\37\230\306Q#\321\300H|\4\324F \223B\231Q9Hv\22#u\207\212\255@\22Q"
+"\242\354\273{\336\315/\220I\343\306\306QC\354\306\17\233\201LZ\22\62\\"
+"b37\20I\226\266\244o\223\262\31\310\325\36Sn\205#ZD&W\303\344\271j\301"
+";Qr\3d\32291X\2374\323y\256\2536|7\26\32\310\244\t\246\241\344\262\220"
+"\235\6\220\33\224\340\fe\335\351\7\320\334X%\203\214\16@&\214\'\r$\232"
+"2\352^\302\266@\25\n\310\325K\27\204\204T\351\336yys\325y\5\62\211\353"
+"N\271\2\222\275u\24\260\303\4@&4 )Z\311\\w\16@\246\224\200\246h%\263-\202"
+"\267\232-+_\212\224W \271IhZ1\177*\7\'9\216C\325\347U\326\353\343~\377"
+"\357\357\4\311\321l6\243\343\227\307k\77\267\363h\207~\373\317o\332\277"
+"\77\25 +\345\n\353\\\227\343\227\307\205;a\300\6\35\277<\246\345\315r\355"
+"\347j\317kv\0\311\275s8w\42$\327J\356=\336\243\240\34\310\6\322s=\326\331"
+"/\247oOa\35s`%+\345\212l \271f\34\261\243|+\3319\353\254\375\334\317\377"
+"\372\231\34\307\221\13$\347\216\271x\177A\223\311\4\263n\201\225\3245\347"
+"\231\0\351\271\36\353\245\356\257\377x\215\331\266@\243pD\37\376\372`/"
+"\220~\311_\373\231\3259~\220\35z\363\307\233\365\363\376\314\227\t$\347"
+"N)\342a\2226\213s\304\310\316\243\35\22612\16\344\323\37\237\262\200\204"
+"\354\321d2a\271mq@r/\250\367\256\207Y\266L\34#b%\220\27\357/\340\256-T"
+"\257\277\336\210p\274\2438 9\35\203\354\4R\227\225\324\6\244{\340\2\310"
+"\34\353\342\375\305\332\317x\256\'\3H\307qX\233)\0d\276\255\244\332W2\200"
+"\344XG\316\35\6\311\325\352\24\334{9p]\31@rL5\247C\220\\M>\256_\352\345"
+"\30&#@\356\356\356j\351\20$W\243p\264\3663\234\260\315\214\313f\230jN\207"
+" \331\342\24\310\267Ml\364$5\273\353\267\37\301B\332\257\371|\256\305["
+"\312p\331\330nf\177\34\311\230C\216qJ\35\310u;\3049;\217\241\234$6[f\332"
+"\17Mt$\274D\206\r\361\364\235\211/y\372\343S\212\343\30\243\r\311\260\220"
+"P>db\245\r@B\260\220\20\4 !\0\tA\0\22JMJ)\0\t\t\2r\77} \215\324!\2277\313"
+"B\26\3079k\277P\6@\206\227!\375\360\217\37\60\332\220\31\227\275n7\270"
+"\256\'\322\240le\342A>\304\220P\376,$g[\222\216\'\322\240l\305\361t\333"
+"\356{\325\3$\343\42LdhPz\342\276\3r\333}\257\306\200\324\361D\32\224\235"
+"8\17p}\372\373\223=.\33@\332-N\310\245\3431\25-@r2+\357\0\61d\336-\244"
+"\216\355i\332\262\354uO\244\355=\3363\262\364\4\245#N\311G\307\263\367"
+"\332\200\344\\\f\254\244\235RJ\261^\325=\272\34\t\2\222\2614\250\373\b"
+"\tH\216u\\\336,\265<Y\252\rHN\374\240\353\245\226\220a \31\357\20\327\371"
+"\42Zm\7\'r\16m\364\\\317\312\3036\213\3348\363Z\77\254\313;|\223s\227\244"
+"q>\36\224\236\202r`\374U\213\332\356\244Z\265\266\366N\232^Oau,j\355\223"
+"\266\3519\325{\3262Gp\333\371:;[\363\231\347z;\321=\357fy\32=\232a\217"
+"\227\202\2011\337\211\264N\243G\323\333\306W\343,B0\375f\236\243\306Q\3"
+"\223.\270\371%\2375\217\232\335\265~ 3\n\204\3214\267\341`\310\2R)%\37"
+"H\356\335U\253\3260\371\26[\307\341`\230\306\367\247\323\251\351\365\24"
+"V2\347\3261(\7\366\0\311\315\320\20K\332i\35S4&\351u\216c%\221q\333\227"
+"Y\247\34ne_\307B]RF\253\37\326\263\266\216\351\2\311\265\222q\34\307~\311"
+"\7\24\26\254\312\30HFeT\373\247\327S\270\356\f\33g\205\315P\42*\'.I\241"
+"\310\212\246\321h\30\362dr2\267\24K\thw4\245\24\333U\247Tw4\17$w\365f\225"
+"u\247P\375G\333\322{\31\234\27yA\363\370j\214xR\220\2210\\/67\0A9`\17\0"
+"JAr\342\306\361\325\330\344\265\311\314\346\220\344\3100\f\321\42\62\275"
+"\241\332|\275\213[\233\304\6\f\375\315s=v\350\244\363\341-\261@\256\6%"
+"\211\0e60v\317\273Y\\\247\374\30\6P\232\2071\303\304\322\216,\17P\232\203"
+"1\203\270Q\6\220I\352`\200\322\f\214\2\26\'\262_\324O\n%JB\374l:)\214\2"
+"nx\273\226\257n\7\334(\236o\277\225L`\231\315^\3272\276\32\343\245\3\337"
+"\3608Icsa^\307\356x\'ZD\210+o\215_\322\360G`\bd\177\20\16\27\376\331Eo"
+"2n\2\343\361|d\206\253\315\243E\333\276\246\224b\77%hIr\230/\367\263\262"
+"\226E\330\302\3268jlt\343\n\177\332Sv\200\276)\224\321\42\212\33G\215\\"
+"\272\361\240\34$\332\17`Y-7\237Yc\36\301\364K\376\306\356y5\26\26<L\227"
+"\337\272\332\267\300\264\321\225\327\252\265\215=\305\355\22\231%}\267"
+"\313Bl\32\63}\35\314KO~\224Rq\343\250\261\225k\276\335_\213<\204}\205\337"
+"$\233|\327e\345\255fK\214\33SJ\305\365\303\372\326\326\360\266W\260\260"
+"\352P\254\272\333}\223\327=\357\306\265j\315\330\352\217\3438qP\16\342"
+"V\263\245\r\302\333O\b\332\30\236<XQi\243\224R\324>i\263\316qN\252\345"
+"\315\222\302\313\220z\375\36M>Nh2\231|\371s\23\371%\237\234]\207\\\327"
+"%\327u\311;\360X\247cmr\335/~}A\257\337\274\266rN\255\6r\245\240\34\320"
+"\253\346\253T&\370>X\327\3360\373\312\3305\21\21\235\276=\245\27\277\276"
+"\240\331lf\365|\242Pl\271\206\203a\2366\231\344o\267KQ\300\34\16\206y|"
+"IW~\267a\345\25\314\356y7\317o\213+\306C\361\333\254pHP\264\210\342V\263"
+"U\2045\372b\355\214i5[Z\212\315&\255a\221v0\345\42\313\336D\236\353Q\245"
+"\\\241J\271BO\276\177\42\346\272\2267K\352\234u\250\367\256G\235\263\216"
+"\365\31s!\313>\333\312q\34\362\237\371\344\272.\371%\77\225\272\346]\372"
+"\364\367\'\32]\216\250\337\357S\257\337\243Q8*\364\\\0\310{\212\356\336"
+"\201G\256\353~)h\23\321F\260\256\352\226\263\371\214\3020\244\371|N\243"
+"p\364\371\337\nf\1\1d\312\320\252}\365\315\377\323y~4\200\204\240\214\364"
+"\20C\0\1H\b\2\220\20\200\204 \0\t\1H\b\2\220\20\200\204 \0\t\1H\b\2\220"
+"\20\4 !\0\tA\0\22\2\220\20\224\\\377\3\2165Y\254\1iKi\0\0\0\0IEND\256B"
+"`\202"
+"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\244\0\0\0\244\b\6\0\0\0\31\265"
+"\205A\0\0\0\4gAMA\0\0\261\217\13\374a\5\0\0\n\252IDATx\332\355\235\277"
+"k\33I\33\307\37\207+\\\244\360t.Rx\312\300\25\336\355\f)\242-\217\267\221"
+"\324\35\367\276\20\251;\374\276\3079\372\7^\243\362\216\3\23\225y_p\220"
+"\273s\n\261\255\34p\220;\255\301\207R*\340\200\334I \303\252\233\267\b"
+"\n~M\34\315\256fg\237\331\375~a\b\304\233xw\347\263\317\257yvg\203\210"
+"\24A\20\23=\302-\200\0$\4\1H\b@B\20\200\204\0$\4\1H\b@B\20\200\204\0$\4"
+"\1H\b\2\220\20\200\204 \0\t\1H\bJ\256\357p\13\322KJIrG~\365g\375\263>n"
+"\20\2004\13\233\277\353\223\347y$\266\4y\236GDD{\317\366\22\377_\213\333"
+"\5E\227\21MgS\212\242\210f\263\31\r\243\341\347\277\233Nq\263\357h\203"
+"\3201NB\b\n\236\7\344y\36\5\225 \25tiu\363\351\206\206\227C:;;\243\376"
+"Y\237\206\321\20@\226\361\302}\317\247Z\265F\265j\215\236~\377\224\315"
+"y-n\27t\372\366\224\372\357\372t\372\366\264\224\26T\225eH)U\347\250\243"
+"&\327\23\345\212\302^\250\352\325\272*\321<\25\377\42\233\215\246\32\234"
+"\17\224\313\212\347\261\352\34u\224\224\22@\2728\204\20\252}\330V\361<"
+"VES\330\13UP\t\0$@\344\245\301\371\240\210`\26\347b\312\2\342\327\300\364"
+"=\277\20sX\210,\273^\255\323\253\243W\264\375d\333Z&\34]F\253k\231;\322"
+"\3329\21\21\235\2749\241\375_\366\235\316\314\235\6RJI\335\343n&u\303%"
+"t\375\263>\215\77\216i<\36\177\3713\215\202J\360\245\300\356y\36\371\273"
+"~&\260.n\27\264\377\313>\275\376\317k\224}l\216\326A\313\250{\216\347\261"
+"\n{\241j6\232\326\334\237\20B\325\253u\3259\352\250\321\325\310\270\33"
+"w4#w/i\t{\241\221I\233\\OT\347\250\303&1\220R\252\326A\313\30\234\361<"
+"v\261\206\351\316\311\6\225\300\210U\354\36w\331O\224\224R\265\17\333F"
+"\212\370\335\343\256\22B\0H\323.z]k\321>l;\351\306\232\215\346\332Vst5"
+"r\345\332\371\273\350\356qwm\20\35\262\20\337\364\20\353\2548\305\363\330"
+"\205\272%o\30\323Z\206\42\201x\177\324\253\365\265\\y\263\321\4\220I\207"
+"\357\371\251a\f{a\31\326|\327Z\bh\37\266\1d\22\30\323\334\350\311\365\244"
+"l\2351JJ\231\332\215w\217\273\0\62+\30\303^XH\367\234u]\226!\224n\303\30"
+"\317c\3561\21\3730\207\31\224\356\3028\272\32\25\246\251 \357\252\4#(y"
+"\304AIa,\273\213\316\242n\3339\352\0\3104\245\35\246\3018\313\362P\322"
+"\7\235A\370\223\357MK\n#\342\305\354C\241\234+\25\371\335\254\244\261\16"
+"`\264\3e<\217\363\214\315\363[\237\5\214|\241\34]\215\362\212\321\363\271"
+"9\200\221\77\224a/,>\220B\210D\353\260\2001_([\7\255b\3\231\244\271\226"
+"I\31\242\220\3317\343x\222\347\215@i\207O\f\77\272\32\25\17H!\204\266\253"
+"\3101\240.\325HR\345\260\330\35\304\353\342\343y\\\212\3261.C\267\16lq"
+"^\354t:;R\224-\335H\262l;8\37\24\3H\335\247\20I\f\377x\322\302+\20<.vr"
+"=A\334\230\343\320\255~L\256\'n\3\251[s,\360\327\274\234i[\323u\335\31"
+"\327\206\363\267\216(\361\270\325\262\226\261\225\314\327:\306\363\30\256"
+"\332\301\254;C+\231\257ud\374\366[)\207nE$C+\231\237u\264\20 c\244\30\272"
+"o1fT\242\313\357)C\343\204\333V2\243\272d>\2532\260\216\305\260\222\31"
+"\254\336\230/\37 v,\217\225\314`1\303~2\203\314\2728\31\267iOg|7\330Z\265"
+"\266\362\230\262\356P\345\232~\377\343\367\225\307l\77\331&\337\363\215"
+"\376^\353\356\32/\367\27k\365\306\260\333\266\353\256\221\314\24\257g\322"
+"\344\234>\312\303]C\356Hg\276L\273mct\353\230w\270k\367\206\316\274\232"
+"z\31\314\230\205\364=\2376\37o~\363\230\233O7\245\337\17\272\250V\262R"
+"\251\30\371]\306\200\f*\301\312c\372g}\314\256\203\352\277[=o\301\363\200"
+"\27\220\336\256\207\370\261\250@j\30\222\315\307\233$\245d\4\244\267\32"
+"\310\341%\334\265\213\32\217\307t\363\351fu\330\266\353\363\1\362\351\367"
+"OW\306\217i\367\t\204\334\260\222:F\311\n\220:\361#\254\243\333\322\331"
+"\375V\207\3+@\352\304\16Q\24aV\35\226NuD\3560\211!uN\4@\26\337B\232\330"
+"n\331\32\220\343\217\210\37]\226n3\314\272\231\2665\227\215\202\270\373"
+"\272x\177\221\271\333~\204\333\fq\222\21 \367\236\355\255\375dA\374\245"
+"S\372Y7\323\376\316\306\205x\273\36\r\316\7\245\233\300\375\177\355#T\341"
+"\b\344\346\343\315\225V\264\210\332\332\332\2a\210!\241\254d\243R\2 !}"
+" \307\0\22\202\313\206 \0\tA\0\22\2\220\220\3032\321^\306\2\310\213\367"
+"\27\264\261\261Q\250\201\325\'\207\201\324y\337\6\202\214\1\371\341\257"
+"\17\337\374\371\252\327c!7d\243\357\325\b\220\263\331l\365\305\30x#\r\312"
+"\31H\2159\234\316\246\371\3\251s\22&\332\333\241|\245\2636\257c\2342\7"
+"R\307L\233\376d\33d_\253\336,%Z\277\21\333\236\313\206\205tZ:\6eq\273\340"
+"\221\324\350<\25&\336\331\205\230\'4\227\21\17 uN\244\214\375\220E\222"
+"\216A1\361f\251\231\244f:\3252\3276*\375P6\322\231;\23\375\222\306\n\343"
+"\266\276l\0\345#\35\17g\342u\rc@\332x\1\b\342k\35u\31`\5\344\336\263=\22"
+"B`\206\13\b\244\251\265}\253@\22\231\373\260%dO:\337\2167\3651Z\243\315"
+"\25:O\211\316\305A|$\245\324*\210\263\4R\347\13\271\265j\rn\333!\325\253"
+"\365\225\307,n\27<\201\324\375\364/\254\244;j\274h\254\236\367w\346\276"
+"\35o\24\310a4\324\372\364o\363E\23\63\355\200|\317\327r\327&\277\35o\274"
+"AW\347\344\366\236\355\241\35\315\1\275\374\365\245\2619\317\r\310\327"
+"\377}\255u\\\373\337m\3148c\t!\264B\253\2237\'F7R5\16\3440\32\256\354 "
+"\'\42\372\361\357\77\42\271an\35u:\375Mo\365\222\311;5:\333\332&q\t\220"
+"}\353\250377\237n\350\317\267\177\362\7\362\364\355\251V\263\305\313__"
+"\302J:l\35u\303\263\244\312d\303\306\316QGk\357l\303{-[\33\203\363\301"
+"\312k\13*Aa\367\310\216\347\261\22B\30\377\375\231\275\6\373\333\37\277"
+"i\35\367\363\77\177F\306\355h\354h2\231\311\334B\222\346\346\337J)58\37"
+"\300B2\30RJ\245+)eV\347\301\343\2\353\325:\200t\340\232\224R\252{\334\315"
+"\362<\262\275H]+\231UL\2 \365F\353\240\245=O\31Z\307\354\201\324\r\222"
+"\225R*\354\205\0\62\'W\255;G\355\303v\326\347\223\375\5\267\17\333\205"
+"s\335E\2R\327U[\362bv.zr=\341\342\22\0$oca\347\302\203J\240}\341\243\253"
+"\21\373x\262\b@&\231\23\213\225\20{7@\267Xn!\223+=\220I\342F\313^\313\356"
+"*\200\256\353\266\24@\227\22H!\204\32]\215\264\347\241u\320\262y~|\335"
+"\204RJ5\33M\0ix$\2011\207\312\7\357@\232k\346\355*\220\272u\341\34k\303"
+"\274K\r\313\33\343{>\200\264\b\243R*\257{\236_\34\223$\236\344\6\245k@"
+"&\2051\307P)\277\233\344{\276v\246\267\204\222\213\373v\t\310\2440\346"
+"\\\341p\247\26\306)\321q\5\310\24402\350\274\312\377\tn6\232\211\241\264"
+"\\\212p\16\310\244\245\35F\13\22<b\2344Pv\217\273\271\335@\316@\372\236"
+"\237(>g\266:\306\'\13L\3\345\350j\224\313\3327W \233\215f\242\270\234a"
+"\353\37\257:Y\32(\363Hv\270\1)\204H\2644\273\324\344z\302\255\244\306o"
+"%!\r\224\313U\5[O:\' \203J\220\330E3nb\341\271V\234\26J[\326\222\3\220"
+"i\255\42\363\216*\276\35\65i\342\241\273\345\213,]Q\336@\256{o\30\267\367"
+"\361n MZ<\377Z&\236E\322\223\27\220A%H\\\316q\251\255\217=\220\313\336"
+"\275u&!\13\60m\3Y\257\326\23\255\377\273\3249\345\34\220\313x)\351\252"
+"\303C\211\217\211\30\323\6\220B\b\325:h\245JX\2707\2478\17\244\211\330"
+"\351~\271\243}\330Nm5\263\4\262^\255\33y\370lW\36J\t\344\322\205\257\353"
+"\276\356g\234\235\243N\42\200L\2)\245T\315FS\205\275\320\310\303\266\264"
+"\212y/\257\226\6\310\273/\267\233\232\300\373Yh\373\260\255\352\325\372"
+"\203\26t\35 \203J\240Z\7-\325=\356\256\355\216\37:\177\27\336\334\374\332"
+"\330XR\351\252\244\224\364\352\350\25\375\360\267\37\62\375=\27\357/h:"
+"\233~\331`\262\371\242I\333O\266\277\371oN\336\234\320\370\343\230\344"
+"\216$)%\311\35\271\362\337\254\243\305\355\202~\372\307O\306\277\331h["
+"\252\bc\335r\210\313\212\347\261j\37\266]\213\25\213\347\262\37Jz\262p"
+"\203\\\225U\235\25@\2\314D\26\261\200 \26\33\310\273\256<\354\205\205\0"
+"qY\252*\210k.\'\220wK+&\212\314yYC\327\276\237Y\332,;\215|\317\247Z\265"
+"F\265jMk\247*\333Z\334.\350\364\355)\365\337\3653\375t2G\225\22\310\373"
+"e\243\240\22P\360< \317\363r\1tq\273\240\3502\242\376\331g\0\207\321\260"
+"\264\363Qz \357K\bA\336\256GA%\370R\77\364v=\255\17\301\353\350\303_\37"
+"h6\233Q\377\254O\343\217c\212\242\250\324\0\2\3105\255\251\334\371\274"
+"c\204\330\22\344y\336\203\307\316f\263\377\3\315\324\366\275\0\22\202,"
+"\352\21n\1\4 !\b@B\0\22\202\0$\4 !\b@B\0\22\202\0$\4 !\b@B\20\200\204\0"
+"$\4=\254\377\1\253j\214$\266]\273\375\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n"
+"\32\n\0\0\0\rIHDR\0\0\0\244\0\0\0\244\b\2\0\0\0\226\327\22\26\0\0\0\4g"
+"AMA\0\0\261\217\13\374a\5\0\0\b\343IDATx\332\355\235=k\33I\30\307\345\343"
+"\212\24)\264]\212+<\245!\205w\273\300\25\321~\3e\273\204\34D\333\206\300"
+"9\372\4b\277@\214U\206\3\23\225I\n\237R*\1\7\271\363\32\24\326\245\2\66"
+"H\235\r2\254\273\\!09;\373\354\354\354\354\274\354\376\377E\212\204H\253"
+"\371\315\363:\2633\255\26\4A\20\4A\20\4A\20\4A\20\4A\20\4A\20\4A\20\4\231"
+"\247\215\346\374T\277\343\337\372\233\371\367\371|>\7l+\3458\216\273\355"
+"z\256\327n\267]\327u\332\216\273\355\336\273\177\217\347\377\36}=j\265"
+"Zq\34_\\^\304q||r\\\277y`=l\317\365\374\216\337\351t\274m\357\301\37\17"
+"\344~\370\321\327\243\311\347I\34\307\223/\223\213\213\13\4\2=\26\34\366"
+"\302\321\376(]\245\77T)\231%\321 \362\\\17\343\257HA7\30\37\214\177h\325"
+"\342l1\334\35\62\306\200\243\22\61\306\206\273C\225v\314\243\351\3414\354"
+"\205\240#3\205\326n\312\264\322U\32\r\42\307q\0\253\24\346\351\341\364"
+"\207%\2r\361\4\333\42\314w\221\243\364\342M\263\367\336\354=}\376T\356"
+"\307.\317\227\363\357\231E3\177-\316\377u/_\275|\377\361=`g*\354\205{o"
+"\366J\216\373\362|y|r\34\307\361\272=2\371<\341\317\1\331&[\377\351w\374"
+"\3623\340\350\353\321\263\277\2365\252C\307;\320e\374v2K\206\273\303\240"
+"\33\310\r\231\236\353\205\275p|0\26\256\2\322U\332\337\351\203\357\377"
+"Jg\261\321LfI\177\247\257\246\336\365;\376pw\2708[\b<\347\370`\214\304"
+"\255\3458\316h\177$\320\323\210\6\221\256\236F\320\r\4\2369]\245w\227a"
+"\232\345\272\223YR\324\224\rib0\306\242AT\324!5\324\245\373\35\277\320"
+"HM\17\247\6Z\206\3438E\221\217\366G\315r\351a/,\344\264\203n`x0*\204<\231"
+"%M\341\35\r\242z4(\356:v\376\266n2K\352\277z\306\237\332L\17\2476.+\5\335"
+"\2003cOWi\235ys\222\266\2756u\34\207\323\304k\313\233\223tm\374[\330\13"
+"y\242x\rys\222\256Y\246\352\271\36OmY+\336\303\335ackPN\227\236\256\322"
+":\354{\341\251\262\322Ujxq\245\300\261Y_\217\5\335\240\351Ii\221I\237\314"
+"\22\213#Vn\206\322\20\322\374\274G\373#+cUnn\322(\322\374\274\355\333\301"
+"\230\233\2254\2204\77o\233F\246\277\323\7\3512\274\27g\13;\2225\236P]\357"
+"\334[J9:>\30[\3603rC5v\325s\326c\246\233D\356\212\226\225\331\246\246\34"
+"\66]\245\346:s\306\30\355\300-\256#5\215\230\271\266Ao\17\255IGPy\337\311"
+"\304\235k~\307G\250\256\42Y3\321\35\322+\366v\344\226\372\2027=zf\331\t"
+"]8\32\235h\330\340\27\27g\13k\314\32\257D\224\257\304L1n\332\254\221\201"
+"\363;s\42\63\67\305\270i\263n\364k\20R\273\24\372\215\233\256\34\246\207"
+"S \224e9\372\215\233\256\255a\326rc\242\316\361d\214\301\254U\32\267\316"
+"\206\32\335\r\200YW\21\271\265\25\261\304\34D\22^QZ\256\'M\363\\\17\315"
+"Q\3655\267\236^$\341\303\3212\253\324\2204\214\255\241yD\3\322\2642^\363"
+"7\261\251G\234\377\373\341\343\7\320*)b\f\237t\237(}\24bKa\272J\201\252"
+"RO\256z\204\211\235\302\360\341\n<\271\360\336\\\21\67\356\77\316\254\241"
+"\'_&\340$E\304q}\302=\214\302\260\31c\304\321\177\374\'\nB\302a\333\335"
+"v\25=\4\261\370a\3262\273\345\42\272\321\302=\253\302\226\355\272.\314"
+"Z\201\346\363\371\362|\371\313\177\332z\270\245\b6\21\60\342\223\30\220"
+"$\352\370\344Xn\330.\36\26373w\4\37\307\307 $Qq\34\23N^\5l\242\235\2\313"
+"V\7{\263z\330\364\204\302\315W\222\303v\366\201\370J`g\177\307\372\306"
+";Hf\314\316\16\213\212\3348d\257\212\301&\222@\324]U(\313_>\372\363\221"
+"\300\247\375\336\204!\363\\oow\317\306\'\227\333,k\4\354v\273-f\n\215v"
+"\343b\251#T;\330\270\323\2509\260!\300\206\0\33\2l\310\16\330x\337\7\226"
+"m\272\216\276\36m\30,\271+\16p\343FKn\7\255\30l\351+\254\20\255\254\275"
+"\235\247\337N+\207}q\231\271b\2153\355\244\213\30\322\313\313\313\312a"
+"\23\337\321n\267\201G2\354lgIX\2354\330\304r\272\360\226G(K\304\233\37"
+"D<\225\231\240]_]\13<\34$\327\262U\270\361\26\271\253\209\232\344T<{\213"
+"\276\330F\336\342\260\263\35\b\361p\220\200\2105x\261\215\274\205a\23\353"
+"\326h\242I\24\61\230\327W\327b\33y\13\303&\34\bv\203\250\201-\274\77\277"
+"0lzc!\214[\1l\341\275\235\42\355R\242a\13\330R\3448\16\341&\225\302&\276"
+"L\365\211\37u5\353\307\276\260sU\7{\353\341\26\372\246\345E\330L\231u0"
+"A\330Dk\5w\264\225\367\341\4\3542\207Q\t.q\22g\247\364^\364\0\254\244Y"
+"Wt\220\211 lb~m=\334B\337\264\214\302\27\231\307\332-\317\227e^\202\227"
+"\17\273\325j\275\376\3735\230\211\2111F\344\341\332\16\24$\316S5\355\370"
+"R\342z\35\323\316E\247o\206)\3512\305\267%\21\263\354\336\375{0n\261\324"
+"\354\351\363\247Y\377z\372\355T\347A&\304)|F\31\267-\226]\365\2350\245"
+"6\34\276\375\347-\214[\242Y\23#v}u\255\371\4`\372\330{s\214\333\n\313\246"
+"\257\341\30\356\16MO(\242A\4\330\234I8}s\255\21}I+\236\322|\330\364\245"
+"Y\6\235\365L\33\267\t\243i8\354\334[\264\rZn\310\275\341]\373\335\253&"
+"\303\246\363\36\23\217p\247k\206t\225\352\235\233&\303&N\3527\364v\235"
+"\334\351\251wL\215\205\235\353\300\r\311pmzn3a\347\206\77\243\317o\247"
+"SJ\215w6\32\b\333q\234d\226\2309\\r\246\252\256\340m l\272\2041\245\213"
+"B\213\270\5\352\346\312\3\365\31\207i\260\351|v\355\300\355\270\365\220"
+"N/\265\\\313j\24l\372\222l\313\356(\316\315\314\325\327\216\346\300\316"
+"Mc\315\315\300\263D_\35\252\236\267!\260=\327\3135\3+/\231\347qV\312x\233"
+"\0\233\207\2645\241Z \341T\306[;\354\240\33\344\222NW\251\335\33\65s+o"
+"5\274\365\302\346qr6%eeZ\7\n\3521\215\260skQY[\216l\342\2758[T\347\304"
+"\264\300v\34\207\'\220\325\2074\1771\266\16Z\25\375l\365\260\31c<S\274"
+"n\244orQb+\352\2556\241t\227\256\30\66O:V[\322\205\374\371\332\245\313"
+"\315V\224\301v\34\'\267\201X\177\322Ey\3135q5\260\371\r\272\376\244ox\363"
+"\324cr\243x\325\260=\327S\377\243j\325o\371\2710+\351\325\253\203\315\30"
+"+\364[\254\357\234T\332j\370\231\212\360k\376U\300.\212y=k\233{,\5O\273"
+"\370n\356\326\337\351\27\215\345ra\7\335\200\77\13\373\271Qhk\337[K\372"
+"zk\354\370\r]\nl\306X4\2108\13\310F\7\351\334\236bQ\23\277\31\307\361\301"
+"8\354\205\264{,\3\333\357\370\303\335!\177\21q\367\363q\242\320/\354\206"
+"\77\241\315\362\360\243\375Q\177\247\1777\233+\4\2331\26t\203h\20\225|"
+"\236t\225j\177;\342\2266\214z\232\240\33\274\333\177G\34\37\303\257\345"
+"\371r\376}>\237\317\347\337\347l\223e\275\344\276<_\256_<v]\327i;\262N"
+"\344\374\364\357\247\227\257^\342\312\312\374(\36\r\42\61\257n\202\312"
+"\27\212M\364\352E\13\33\355Z\234-\220\210\225En\276\225\3\263d\307.P\363"
+"(\320\370`\f\247]U\372f\210\241\257{;\250\251T\30z\330\13\265POfI4\210"
+"\354mnoX\r\336s\275\'\335\'~\307w\267])\5\333]\235~;\215\343x\362e2\371"
+"<\261\275\224\332\250\215\305{\256\347\272.\333d~\307o\267\333b\367\214"
+"]_]\307\'\361\272:\237|\236\304\'\261\330m\34\200\255A7\331\223\347z\277"
+"\274S0\216\343\365\355w\353\16\f\242$\4A\20\4A\20\4A\20\4A\20\4A\20\4A"
+"\20\4\231\255\377\0\307V@_9R\202\7\0\0\0\0IEND\256B`\202"
+"\211PNG\r\n\32"
+"\n\0\0\0\rIHDR\0\0\0\244\0\0\0\244\b\6\0\0\0\31\265\205A\0\0\0\4gAMA\0"
+"\0\261\217\13\374a\5\0\0\n\202IDATx\332\355\235\277k\33I\33\307\237\34"
+"W\270H\241\355\\\244\360\226\206\24\336\355r\334\13\321\376\7\322v9\356"
+"\205\223\332pp\216\312\203\3\2436\34g\242\362\356\300\357\351\272\310\205"
+"_]\251\4\34\344Nkp\220\3135( w2(\260\356\346-\16\345\25~\343W\263\273\263"
+"3\317\354~\2770$\4E;\232\371\354\363kfw\36\20\221 \bb\242/0\4\20\200\204"
+" \0\t\1H\b\2\220\20\200\204 \0\t\1H\b\2\220\20\200\204 \0\tA\0\22\2\220"
+"\20t\277\276\304\20\310)\250\7\237\376\356{>\325j\265{\77\33E\21-n\26D"
+"D\24_\305\24\3071\6\20@\246\227\357\371\344y\36\271;.\5\365\200j\265\32"
+"\355>\336U\362\335\267\37o):\217(\216c\212\257b\32\275\31Qt\36\321b\261"
+"\300\300\257\351\1Ux\77\244\357\371\324l4)\250\7\344\355y\264\365pK{\37"
+".\337_R\24E4z;\242\321\233Q\345\255i\245\200t\34\347o\0\237\6\324l4\215"
+"\0(\3\350\340x@\203\343\1M\242I%\241\24eoa#\24\375\243\276H\226\211\260"
+"I\363\331\\t\366;\302u]Q\205yZ\31\307R\3760\307qD\367\240+\346\263\271"
+"(\203\206\'C\21\324\3\0i[s]\327Jk\230\306j\266[m\0i\13\210UQ\211\301,\207"
+"k.\253E\334\244\351\305\264T\256\334\352,;l\204\364\307\321\37\205f\313"
+"\327\37\256\77\25\267\343\253\230\334\35\227\236}\373l\343\377\371\365"
+"\367_\211\210\310\363<rj\16=\371\372I\241c\361\327\277\377\242\347\337"
+"\77/E\331\310J\367<>\35\27\342\6\373G}\321\331\357\334ku\202z\260\361{"
+"\306\247\343{\373\35\66B\321=\350\26\322\377d\231\210\316~\7.[g\353\354"
+"w\224\271\347d\231\210\341\311P\264[m\351\322J\36 \357\373\276\336aOL/"
+"\246\312\300\34\237\216m.\25\331\23+\16O\206J&\254\177\324\27a#\314\324"
+"\17\325@\336\265\240\252JU\3112\2615\351\341\337I\337\363s[\305U\221\331"
+"q\234\\})\22\310\273\305|\25\67`\377\250\237\3737\3\310\265\326n\265s\273"
+"\257\254\326\320$\220*\313Y\323\213\251M.\234o\347\362LDQ\345\20\335@\252"
+"\2\63Y&\302\367|\0\2315^\314\232\205\26\35;\231\2r=|\341:6\245\4\322q\234"
+"\314\31g\357\260Wx\274d\32\310\365\30\63k\\\315\34J\373a\234\317\346\332"
+"V+\270\0\231\267\362\300\30J>\231t\226r\207\16\253\310\25\310\274\326\222"
+")\224<,c\332\1\65\25\17q\4r\225\364d\361.\f\241\264\317M\317gsc\31#W W"
+"c\231%\23g\6\245]0N/\246F\13\275\234\201\\_^\265\30Js\27O[\276\350\37\365"
+"\215\17\230\r@f]P`\262\215\315\216\2427\7\30m\2\62K\262\303\244x\316\377"
+"\356\345\2\243m@f\331\7\60\237\315M\257}\353\37 [a\264\21\310,P\32\356"
+"\77\337\362\16\67\30m\5r\345\276\323\250{\320-\77\220iV\25\246\27S\226"
+"+\t\266\2\231%T2\224\344\360+E\230.\355\224\25H\42\22\335\203.\367xR\317"
+"*\202\254\253N\226\t\353\275{\266\3\231\266\302\321;\354\225\17\3104\365"
+"F\356\217t\226\1\310\264\13\22\232\347\204O0m0\220\256\24\220i\275\326"
+"|6/\7\220i\262j\33&\261L@26\26\346\3h\356qcY\201LS\371H\226\211\256\4\307"
+"\274K\260\351\341\366\262\1\231\306\213i\252\13\233\315\344l\232\2742\2"
+"\231\326uk\360d\305XGF\77\20@*\254\204h\260\222\346\254\243\rYuU\200dd"
+"D\314\304$\32\203d\0)\331z\207=\343\305r\345\7\'\275\370\341\205\324\353"
+"\361^\376\374\22Gb0\323\217\77\375H\267\37o7~\256\365]\213\34\307)\244"
+"\17\312\201l\177\327\336\370\231\333\217\267\364\362\347\227 \200\231\26"
+"\213\205\324\274l=\334\242f\243\311\37\310\260\21\322\366\243mXG\213%k"
+"(^\374\360\202\77\2202w\r\254#\177+\371\347\277\376\334\370\271\335\307"
+"\273\344{>_ \35\307\331\370\252c\42\242\301\361\0\326\321\202XRUxf\fH\331"
+"\230\2\326\221\277\3428\246\263wg\312\346\234-\220\227\357/+{\\\232mZ\275"
+"\264\377\377i\373\321\266r\267\255\f\310\340i\260\3613\277\375\376\33f"
+"\332\22\r\216\7R%\240\365c\233\331\0\31\324\3\251\332\343\353\343\327\230"
+"i\213\222\233\301\361@\273\333V\6\244\214\273\306A\346\366Y\311MR}\376"
+"\2166 e~\34\304K\243\267#e\363\257\25H\231\273d\364f\204\31\266\320m\313"
+"d\333\254\200\224\355\f\200\264\324JJ\314\33+ e\322~\231\273\f\262\27H"
+"o\317\343\3\244\273\343\302:V\34\310\255\207[\312v\377\344\6\322\3636\337"
+"\35Q\24af-\226\214\207Se%\363\3)\321\221\370\n\345\36\233%cPT\255\330\344"
+"\6R\246 \216\345B\273%cPj\265\232y e\356\212\313\367\227\230Q\313%cPdB"
+"\267\302\201\224\271+nnn0\243\25\260\220N\215AR#\323\t,\27\226\0\310\330"
+"\22\227-c\246\221\320\224C\233v\376\354>\336\345\221\324@\25\311\264\317"
+"\365\224\356\276\304P\253\327\223\257\237\220\20\2\3\301\321Bb\225\6\202"
+"\313\206\0$\4\1H\b@B\220\325@\272\256\213Q\206\30\1\271\3 !y\241\16\231"
+"R777\225\334\1\357\355yR;\273\0\244fM\242\t}\365\217\257*\367\273\307\247"
+"c\345\217\274*w\331\272\37\0\202\314i\23\214\252\274\6\262l\250<I\215\314"
+"N\36\35f\36*V2\33\261Um3\314\7\244d\'\212z\37\65\244G2\225\22U\333\fs\273"
+"\354\353\17\327R\31\32dq\206\255q\337kn e:R\304\253\177!f@\306L\200\324"
+"\375f\3\310@\f\271\347+\341@\13\2202\317\354\242\364cq\374\350\272\33O"
+"\326P\371din \'\347\233\37\221\334~\264\2155\355\22[G\225o&\311\37C\306"
+"\261\221W\377Bz$\363\206\\\225\317\333()\214\313\274\330R\346\35\344\20"
+"\77\311\30\22\325\217\251\344>0\261\263\337\221:l\223,<\220\262\312\315"
+"\367|\355\363\252\306BJ\276\262-l\20409\26I\346`$\331\327>k\265\220D$\346"
+"\2639\207\303\277\321\24\66\2319m\267\332<\317\313\2269k\331\3263\262\341"
+"\256\357W\1\363\251\367\7\24pG\241\25\320\372G\375\215s9<\31\26qm\275&"
+"~z1\305\2043o\216\343\210d\231\2302.\352\276L\306m\13!DP\17\60\361\214"
+"[\367\240k\312]\253\5\322u]\251\37\62>\35c\342-Of\nLP\325~\341\370t\f+"
+"iqk\267\332\246\347O\355\27\206\215\20V\262\344\326q>\233\27\331\7\63\77"
+"\nV\322\336\330\261\340J\2119\263\217\214\333\276\314\272`\353X\f\220i"
+"\254dg\277\3 ,\251;j\252#\233\r\216\261zc\276\5\365@j\2564X\307\342\200"
+"Lc%\13\252\370\243I\272j\331y\322\264\312f\376\316\303\222\242\271&\273"
+"\230\2411\336/\366\2\262u\311d\231\b\327u\1\211\306&[\242\323\\\21)\366"
+"\2\256\353Jeo\310\272\365\2664\363\242y\333 \237\372\26\366L\352\213\33"
+"\247\27S\256I\247\236\13\311\16\0\342I>%\36!\204\b\33\241\356\376\351\333"
+"\360)\353\42\f\r\4\222\30\36\325\17}\27\223y\30l\335U\370\236\17\210\f"
+"\324\206W5GC\365a\275\27\34\236\f\1%s\30\205\20&\307\235o@\r(\315\300h"
+"8\2067\363\0Q\232x\22P\352\203\221A\225\203\177Q\26P\352\201\221I\35\330"
+"\236\1K\226\t\262\357\2J;+\30\231lr\261\247\f\201-kr1z\232\304\221\341"
+"\262\255}w\363*\326\301\266\265\377\215\315\323$\214LC!;]\314\312\315 "
+"\256\374o\370\223&Qd\34\227\333\33\367\254\6\265\312.<\213\213f\236$\332"
+"\35\214\257\77\305X\265\355ka#\224\336\\kQ\305\302\336\247\337>7\320\335"
+"\203n%\266\216e\261\212\226\2049\345\250\241\335]\207-cy\310q\34\321=\350"
+"\246\216\25\31\226v\354\3r\365\bD\326\301_\271\3612<\373\235\27D\313\252"
+"\22\374\335S\332R\306\347,\203\215{,]\327\315\r\242\205u[;,D\326d\347\256"
+"+\357\36t\331\'\77a#T\362{\223eb\243\207\260+\253\314k-\326\255fg\277\303"
+"\6\316\240\36\210\336a/S\326|\337\346ZK\27\16\354sc\262O2\246\201\263w"
+"\330\23a#\3246\211\276\347\213v\253-\206\'Ce7Y\31\352\262\17VT\332\246"
+"v\253M\257~yE[\17\267\224\177\367\365\207k\232\234O(\212\42\212\242\210"
+"\26\67\213\314g\261\270\256K\356\216\373\351\317\240\36\220\267\347\25"
+"\322\357\263wg\364\315\77\277Qv\20\246\tY\13$\321\337\347p\277\372\345"
+"\25=\373\366\231\266k^\177\270\226:\1\267(\350\356\353\323\363\357\237"
+"\323\353\343\327T\6\225bS\201j7n\203J\272\20P\256\227&U\1\314\25\210%\335"
+"\355T\316\267ye]Z\3\210\0\262\320\214\274w\330S\232\305\232\320\370t\\"
+"\245\227\'Tgg\214MVs>\233\213\336a\257r;\230\254\316\262\263f\346\315F"
+"\223\202\247\1\65\33Mm\231\260\214.\337_\322\340x@\203\343\1M\242\tUQ\225"
+"\3\362\256|\317\247\240\36P\275^\'\177\317\247\355G\333\332\256}\366\356"
+"\214FoF\24E\21\215\336\216h\261XP\325Uy \77gA\275=\217|\317\247Z\255F\236"
+"\347\221Ss2\327\25\317\336\235\21\21}*\260GQD\223\363\211\325\305k\0\311"
+"PA=\370\354\277\307W1`\3\220PY\364\5\206\0\2\220\20\4 !\0\tA\0\22\2\220"
+"\20\4 !\0\tA\0\22\2\220\20\4 !\b@B\0\22\202\0$\4 !(\275\376\3\7\23WT\322"
+"fHF\0\0\0\0IEND\256B`\202"
+
+};
+/* Font data 1462508 bytes */
+
+struct letter letter_data[1855]={
+{0x00000000,0x000012a7,0x00000000, 123, 135, 0, 0},
+{0x000012a7,0x00000063,0x00000020, 28, 112, 0, 0},
+{0x0000130a,0x0000022f,0x00000021, 29, 112, 0, 0},
+{0x00001539,0x000001c4,0x00000022, 34, 112, 0, 0},
+{0x000016fd,0x00000280,0x00000023, 54, 112, 0, 0},
+{0x0000197d,0x0000041c,0x00000024, 54, 112, 0, 0},
+{0x00001d99,0x000005c9,0x00000025, 78, 112, 0, 0},
+{0x00002362,0x00000528,0x00000026, 80, 112, 0, 0},
+{0x0000288a,0x00000181,0x00000027, 23, 112, 0, 0},
+{0x00002a0b,0x0000027f,0x00000028, 37, 112, 0, 0},
+{0x00002c8a,0x00000285,0x00000029, 37, 112, 0, 0},
+{0x00002f0f,0x000002f7,0x0000002a, 48, 112, 0, 0},
+{0x00003206,0x000000c9,0x0000002b, 57, 112, 0, 0},
+{0x000032cf,0x0000017c,0x0000002c, 27, 112, 0, 0},
+{0x0000344b,0x00000095,0x0000002d, 32, 112, 0, 0},
+{0x000034e0,0x000000fe,0x0000002e, 27, 112, 0, 0},
+{0x000035de,0x0000015a,0x0000002f, 31, 112, 0, 0},
+{0x00003738,0x00000384,0x00000030, 54, 112, 0, 0},
+{0x00003abc,0x0000012a,0x00000031, 54, 112, 0, 0},
+{0x00003be6,0x0000039b,0x00000032, 54, 112, 0, 0},
+{0x00003f81,0x000003f4,0x00000033, 54, 112, 0, 0},
+{0x00004375,0x00000256,0x00000034, 54, 112, 0, 0},
+{0x000045cb,0x000003dd,0x00000035, 54, 112, 0, 0},
+{0x000049a8,0x000003f5,0x00000036, 54, 112, 0, 0},
+{0x00004d9d,0x00000305,0x00000037, 54, 112, 0, 0},
+{0x000050a2,0x000003f5,0x00000038, 54, 112, 0, 0},
+{0x00005497,0x000003f4,0x00000039, 54, 112, 0, 0},
+{0x0000588b,0x00000188,0x0000003a, 27, 112, 0, 0},
+{0x00005a13,0x000001ff,0x0000003b, 27, 112, 0, 0},
+{0x00005c12,0x0000022f,0x0000003c, 57, 112, 0, 0},
+{0x00005e41,0x000000a8,0x0000003d, 57, 112, 0, 0},
+{0x00005ee9,0x00000216,0x0000003e, 57, 112, 0, 0},
+{0x000060ff,0x00000317,0x0000003f, 48, 112, 0, 0},
+{0x00006416,0x0000069c,0x00000040, 70, 112, 0, 0},
+{0x00006ab2,0x0000035f,0x00000041, 75, 112, 0, 0},
+{0x00006e11,0x00000349,0x00000042, 73, 112, 0, 0},
+{0x0000715a,0x00000430,0x00000043, 73, 112, 0, 0},
+{0x0000758a,0x000002f3,0x00000044, 78, 112, 0, 0},
+{0x0000787d,0x00000304,0x00000045, 72, 112, 0, 0},
+{0x00007b81,0x00000259,0x00000046, 68, 112, 0, 0},
+{0x00007dda,0x0000046c,0x00000047, 78, 112, 0, 0},
+{0x00008246,0x00000180,0x00000048, 82, 112, 0, 0},
+{0x000083c6,0x000000e1,0x00000049, 42, 112, 0, 0},
+{0x000084a7,0x0000028a,0x0000004a, 61, 112, 0, 0},
+{0x00008731,0x00000353,0x0000004b, 77, 112, 0, 0},
+{0x00008a84,0x0000019e,0x0000004c, 68, 112, 0, 0},
+{0x00008c22,0x000003f5,0x0000004d, 92, 112, 0, 0},
+{0x00009017,0x00000373,0x0000004e, 78, 112, 0, 0},
+{0x0000938a,0x00000443,0x0000004f, 78, 112, 0, 0},
+{0x000097cd,0x0000026f,0x00000050, 72, 112, 0, 0},
+{0x00009a3c,0x00000587,0x00000051, 78, 112, 0, 0},
+{0x00009fc3,0x0000039c,0x00000052, 77, 112, 0, 0},
+{0x0000a35f,0x00000487,0x00000053, 63, 112, 0, 0},
+{0x0000a7e6,0x00000204,0x00000054, 68, 112, 0, 0},
+{0x0000a9ea,0x000002ba,0x00000055, 78, 112, 0, 0},
+{0x0000aca4,0x00000390,0x00000056, 75, 112, 0, 0},
+{0x0000b034,0x0000052c,0x00000057, 92, 112, 0, 0},
+{0x0000b560,0x00000396,0x00000058, 70, 112, 0, 0},
+{0x0000b8f6,0x0000029a,0x00000059, 70, 112, 0, 0},
+{0x0000bb90,0x0000034f,0x0000005a, 63, 112, 0, 0},
+{0x0000bedf,0x000000a7,0x0000005b, 37, 112, 0, 0},
+{0x0000bf86,0x0000028b,0x0000005c, 57, 112, 0, 0},
+{0x0000c211,0x000000a9,0x0000005d, 37, 112, 0, 0},
+{0x0000c2ba,0x00000228,0x0000005e, 57, 112, 0, 0},
+{0x0000c4e2,0x00000085,0x0000005f, 48, 112, 0, 0},
+{0x0000c567,0x0000017d,0x00000060, 23, 112, 0, 0},
+{0x0000c6e4,0x00000336,0x00000061, 58, 112, 0, 0},
+{0x0000ca1a,0x00000328,0x00000062, 61, 112, 0, 0},
+{0x0000cd42,0x000002f3,0x00000063, 53, 112, 0, 0},
+{0x0000d035,0x00000320,0x00000064, 63, 112, 0, 0},
+{0x0000d355,0x000002e8,0x00000065, 54, 112, 0, 0},
+{0x0000d63d,0x0000020e,0x00000066, 44, 112, 0, 0},
+{0x0000d84b,0x00000428,0x00000067, 59, 112, 0, 0},
+{0x0000dc73,0x00000230,0x00000068, 65, 112, 0, 0},
+{0x0000dea3,0x00000188,0x00000069, 35, 112, 0, 0},
+{0x0000e02b,0x00000262,0x0000006a, 41, 112, 0, 0},
+{0x0000e28d,0x0000027d,0x0000006b, 63, 112, 0, 0},
+{0x0000e50a,0x00000103,0x0000006c, 34, 112, 0, 0},
+{0x0000e60d,0x000002c8,0x0000006d, 90, 112, 0, 0},
+{0x0000e8d5,0x0000021e,0x0000006e, 65, 112, 0, 0},
+{0x0000eaf3,0x000002ff,0x0000006f, 58, 112, 0, 0},
+{0x0000edf2,0x0000032e,0x00000070, 63, 112, 0, 0},
+{0x0000f120,0x0000033e,0x00000071, 61, 112, 0, 0},
+{0x0000f45e,0x00000229,0x00000072, 49, 112, 0, 0},
+{0x0000f687,0x00000327,0x00000073, 48, 112, 0, 0},
+{0x0000f9ae,0x000001f4,0x00000074, 41, 112, 0, 0},
+{0x0000fba2,0x00000225,0x00000075, 65, 112, 0, 0},
+{0x0000fdc7,0x00000294,0x00000076, 58, 112, 0, 0},
+{0x0001005b,0x000003c8,0x00000077, 84, 112, 0, 0},
+{0x00010423,0x00000288,0x00000078, 58, 112, 0, 0},
+{0x000106ab,0x00000378,0x00000079, 58, 112, 0, 0},
+{0x00010a23,0x00000283,0x0000007a, 51, 112, 0, 0},
+{0x00010ca6,0x000001e4,0x0000007b, 37, 112, 0, 0},
+{0x00010e8a,0x00000082,0x0000007c, 57, 112, 0, 0},
+{0x00010f0c,0x000001de,0x0000007d, 37, 112, 0, 0},
+{0x000110ea,0x00000196,0x0000007e, 57, 112, 0, 0},
+{0x00011280,0x00000231,0x000000a1, 29, 112, 0, 0},
+{0x000114b1,0x000003a3,0x000000a2, 54, 112, 0, 0},
+{0x00011854,0x000003ea,0x000000a3, 54, 112, 0, 0},
+{0x00011c3e,0x000002a5,0x000000a5, 54, 112, 0, 0},
+{0x00011ee3,0x00000082,0x000000a6, 57, 112, 0, 0},
+{0x00011f65,0x00000422,0x000000a7, 48, 112, 0, 0},
+{0x00012387,0x00000142,0x000000a8, 34, 112, 0, 0},
+{0x000124c9,0x00000237,0x000000ab, 48, 112, 0, 0},
+{0x00012700,0x00000084,0x000000af, 33, 112, 0, 0},
+{0x00012784,0x00000174,0x000000b0, 32, 112, 0, 0},
+{0x000128f8,0x0000011d,0x000000b1, 57, 112, 0, 0},
+{0x00012a15,0x0000011b,0x000000b4, 32, 112, 0, 0},
+{0x00012b30,0x000001ed,0x000000b6, 70, 112, 0, 0},
+{0x00012d1d,0x000000e6,0x000000b7, 32, 112, 0, 0},
+{0x00012e03,0x00000147,0x000000b8, 32, 112, 0, 0},
+{0x00012f4a,0x00000224,0x000000bb, 48, 112, 0, 0},
+{0x0001316e,0x00000323,0x000000bf, 48, 112, 0, 0},
+{0x00013491,0x00000454,0x000000c0, 75, 112, 0, 0},
+{0x000138e5,0x00000455,0x000000c1, 75, 112, 0, 0},
+{0x00013d3a,0x00000499,0x000000c2, 75, 112, 0, 0},
+{0x000141d3,0x000004b0,0x000000c3, 75, 112, 0, 0},
+{0x00014683,0x00000496,0x000000c4, 75, 112, 0, 0},
+{0x00014b19,0x000004b4,0x000000c5, 75, 112, 0, 0},
+{0x00014fcd,0x000004c6,0x000000c6, 95, 112, 0, 0},
+{0x00015493,0x0000055d,0x000000c7, 73, 112, 0, 0},
+{0x000159f0,0x000003f7,0x000000c8, 72, 112, 0, 0},
+{0x00015de7,0x000003ff,0x000000c9, 72, 112, 0, 0},
+{0x000161e6,0x00000435,0x000000ca, 72, 112, 0, 0},
+{0x0001661b,0x00000428,0x000000cb, 72, 112, 0, 0},
+{0x00016a43,0x000001b3,0x000000cc, 42, 112, 0, 0},
+{0x00016bf6,0x000001c3,0x000000cd, 42, 112, 0, 0},
+{0x00016db9,0x000001f1,0x000000ce, 42, 112, 0, 0},
+{0x00016faa,0x000001e4,0x000000cf, 42, 112, 0, 0},
+{0x0001718e,0x0000034e,0x000000d0, 78, 112, 0, 0},
+{0x000174dc,0x000004b6,0x000000d1, 78, 112, 0, 0},
+{0x00017992,0x00000532,0x000000d2, 78, 112, 0, 0},
+{0x00017ec4,0x0000053d,0x000000d3, 78, 112, 0, 0},
+{0x00018401,0x00000567,0x000000d4, 78, 112, 0, 0},
+{0x00018968,0x00000577,0x000000d5, 78, 112, 0, 0},
+{0x00018edf,0x0000055a,0x000000d6, 78, 112, 0, 0},
+{0x00019439,0x000005a6,0x000000d8, 78, 112, 0, 0},
+{0x000199df,0x0000039a,0x000000d9, 78, 112, 0, 0},
+{0x00019d79,0x000003a6,0x000000da, 78, 112, 0, 0},
+{0x0001a11f,0x000003d1,0x000000db, 78, 112, 0, 0},
+{0x0001a4f0,0x000003cf,0x000000dc, 78, 112, 0, 0},
+{0x0001a8bf,0x00000385,0x000000dd, 70, 112, 0, 0},
+{0x0001ac44,0x0000036c,0x000000df, 58, 112, 0, 0},
+{0x0001afb0,0x00000407,0x000000e0, 58, 112, 0, 0},
+{0x0001b3b7,0x0000040b,0x000000e1, 58, 112, 0, 0},
+{0x0001b7c2,0x00000437,0x000000e2, 58, 112, 0, 0},
+{0x0001bbf9,0x00000442,0x000000e3, 58, 112, 0, 0},
+{0x0001c03b,0x00000435,0x000000e4, 58, 112, 0, 0},
+{0x0001c470,0x00000473,0x000000e5, 58, 112, 0, 0},
+{0x0001c8e3,0x00000471,0x000000e6, 82, 112, 0, 0},
+{0x0001cd54,0x000003e8,0x000000e7, 53, 112, 0, 0},
+{0x0001d13c,0x000003b4,0x000000e8, 54, 112, 0, 0},
+{0x0001d4f0,0x000003ba,0x000000e9, 54, 112, 0, 0},
+{0x0001d8aa,0x000003e7,0x000000ea, 54, 112, 0, 0},
+{0x0001dc91,0x000003d7,0x000000eb, 54, 112, 0, 0},
+{0x0001e068,0x000001cd,0x000000ec, 35, 112, 0, 0},
+{0x0001e235,0x000001e0,0x000000ed, 37, 112, 0, 0},
+{0x0001e415,0x00000201,0x000000ee, 35, 112, 0, 0},
+{0x0001e616,0x000001fb,0x000000ef, 35, 112, 0, 0},
+{0x0001e811,0x0000033b,0x000000f1, 65, 112, 0, 0},
+{0x0001eb4c,0x000003ca,0x000000f2, 58, 112, 0, 0},
+{0x0001ef16,0x000003d5,0x000000f3, 58, 112, 0, 0},
+{0x0001f2eb,0x000003f9,0x000000f4, 58, 112, 0, 0},
+{0x0001f6e4,0x00000413,0x000000f5, 58, 112, 0, 0},
+{0x0001faf7,0x000003f7,0x000000f6, 58, 112, 0, 0},
+{0x0001feee,0x000003fc,0x000000f8, 58, 112, 0, 0},
+{0x000202ea,0x00000314,0x000000f9, 65, 112, 0, 0},
+{0x000205fe,0x00000327,0x000000fa, 65, 112, 0, 0},
+{0x00020925,0x0000034e,0x000000fb, 65, 112, 0, 0},
+{0x00020c73,0x0000033f,0x000000fc, 65, 112, 0, 0},
+{0x00020fb2,0x00000448,0x000000fd, 58, 112, 0, 0},
+{0x000213fa,0x00000477,0x000000ff, 58, 112, 0, 0},
+{0x00021871,0x000003e4,0x00000100, 75, 112, 0, 0},
+{0x00021c55,0x0000038c,0x00000101, 58, 112, 0, 0},
+{0x00021fe1,0x000004a5,0x00000102, 75, 112, 0, 0},
+{0x00022486,0x00000441,0x00000103, 58, 112, 0, 0},
+{0x000228c7,0x00000454,0x00000104, 75, 112, 0, 0},
+{0x00022d1b,0x000003f7,0x00000105, 58, 112, 0, 0},
+{0x00023112,0x0000051f,0x00000106, 73, 112, 0, 0},
+{0x00023631,0x000003c4,0x00000107, 53, 112, 0, 0},
+{0x000239f5,0x0000054e,0x00000108, 73, 112, 0, 0},
+{0x00023f43,0x000003e3,0x00000109, 53, 112, 0, 0},
+{0x00024326,0x000004f5,0x0000010a, 73, 112, 0, 0},
+{0x0002481b,0x00000397,0x0000010b, 53, 112, 0, 0},
+{0x00024bb2,0x00000551,0x0000010c, 73, 112, 0, 0},
+{0x00025103,0x000003ea,0x0000010d, 53, 112, 0, 0},
+{0x000254ed,0x00000406,0x0000010e, 78, 112, 0, 0},
+{0x000258f3,0x000004a4,0x0000010f, 71, 112, 0, 0},
+{0x00025d97,0x0000035b,0x00000110, 78, 112, 0, 0},
+{0x000260f2,0x00000384,0x00000111, 63, 112, 0, 0},
+{0x00026476,0x00000384,0x00000112, 72, 112, 0, 0},
+{0x000267fa,0x0000033a,0x00000113, 54, 112, 0, 0},
+{0x00026b34,0x0000043a,0x00000114, 72, 112, 0, 0},
+{0x00026f6e,0x000003f2,0x00000115, 54, 112, 0, 0},
+{0x00027360,0x000003da,0x00000116, 72, 112, 0, 0},
+{0x0002773a,0x0000038c,0x00000117, 54, 112, 0, 0},
+{0x00027ac6,0x000003f8,0x00000118, 72, 112, 0, 0},
+{0x00027ebe,0x000003a4,0x00000119, 54, 112, 0, 0},
+{0x00028262,0x0000042d,0x0000011a, 72, 112, 0, 0},
+{0x0002868f,0x000003e2,0x0000011b, 54, 112, 0, 0},
+{0x00028a71,0x00000592,0x0000011c, 78, 112, 0, 0},
+{0x00029003,0x0000053f,0x0000011d, 59, 112, 0, 0},
+{0x00029542,0x000005a7,0x0000011e, 78, 112, 0, 0},
+{0x00029ae9,0x00000554,0x0000011f, 59, 112, 0, 0},
+{0x0002a03d,0x00000536,0x00000120, 78, 112, 0, 0},
+{0x0002a573,0x000004f0,0x00000121, 59, 112, 0, 0},
+{0x0002aa63,0x0000029e,0x00000124, 82, 112, 0, 0},
+{0x0002ad01,0x0000034e,0x00000125, 65, 112, 0, 0},
+{0x0002b04f,0x000001f9,0x00000126, 82, 112, 0, 0},
+{0x0002b248,0x00000292,0x00000127, 65, 112, 0, 0},
+{0x0002b4da,0x00000200,0x00000128, 42, 112, 0, 0},
+{0x0002b6da,0x00000217,0x00000129, 36, 112, 0, 0},
+{0x0002b8f1,0x0000012a,0x0000012a, 42, 112, 0, 0},
+{0x0002ba1b,0x00000147,0x0000012b, 35, 112, 0, 0},
+{0x0002bb62,0x000001f8,0x0000012c, 42, 112, 0, 0},
+{0x0002bd5a,0x00000207,0x0000012d, 35, 112, 0, 0},
+{0x0002bf61,0x000001b1,0x0000012e, 42, 112, 0, 0},
+{0x0002c112,0x0000025d,0x0000012f, 35, 112, 0, 0},
+{0x0002c36f,0x00000189,0x00000130, 42, 112, 0, 0},
+{0x0002c4f8,0x0000036a,0x00000132, 96, 112, 0, 0},
+{0x0002c862,0x00000373,0x00000133, 55, 112, 0, 0},
+{0x0002cbd5,0x00000392,0x00000134, 61, 112, 0, 0},
+{0x0002cf67,0x000002ca,0x00000135, 41, 112, 0, 0},
+{0x0002d231,0x00000288,0x00000139, 68, 112, 0, 0},
+{0x0002d4b9,0x000001de,0x0000013a, 35, 112, 0, 0},
+{0x0002d697,0x000002fb,0x0000013d, 68, 112, 0, 0},
+{0x0002d992,0x00000279,0x0000013e, 40, 112, 0, 0},
+{0x0002dc0b,0x00000287,0x00000141, 68, 112, 0, 0},
+{0x0002de92,0x0000019b,0x00000142, 34, 112, 0, 0},
+{0x0002e02d,0x00000468,0x00000143, 78, 112, 0, 0},
+{0x0002e495,0x00000302,0x00000144, 65, 112, 0, 0},
+{0x0002e797,0x0000049b,0x00000147, 78, 112, 0, 0},
+{0x0002ec32,0x0000032f,0x00000148, 65, 112, 0, 0},
+{0x0002ef61,0x000004a8,0x0000014c, 78, 112, 0, 0},
+{0x0002f409,0x00000355,0x0000014d, 58, 112, 0, 0},
+{0x0002f75e,0x00000578,0x0000014e, 78, 112, 0, 0},
+{0x0002fcd6,0x0000040c,0x0000014f, 58, 112, 0, 0},
+{0x000300e2,0x00000597,0x00000150, 78, 112, 0, 0},
+{0x00030679,0x00000434,0x00000151, 58, 112, 0, 0},
+{0x00030aad,0x000004e2,0x00000152, 94, 112, 0, 0},
+{0x00030f8f,0x0000044d,0x00000153, 85, 112, 0, 0},
+{0x000313dc,0x0000049d,0x00000154, 77, 112, 0, 0},
+{0x00031879,0x000002f9,0x00000155, 49, 112, 0, 0},
+{0x00031b72,0x000004cb,0x00000158, 77, 112, 0, 0},
+{0x0003203d,0x0000031d,0x00000159, 49, 112, 0, 0},
+{0x0003235a,0x0000056d,0x0000015a, 63, 112, 0, 0},
+{0x000328c7,0x000003f8,0x0000015b, 48, 112, 0, 0},
+{0x00032cbf,0x00000597,0x0000015c, 63, 112, 0, 0},
+{0x00033256,0x0000042a,0x0000015d, 48, 112, 0, 0},
+{0x00033680,0x000005ab,0x0000015e, 63, 112, 0, 0},
+{0x00033c2b,0x00000423,0x0000015f, 48, 112, 0, 0},
+{0x0003404e,0x0000059b,0x00000160, 63, 112, 0, 0},
+{0x000345e9,0x00000420,0x00000161, 48, 112, 0, 0},
+{0x00034a09,0x0000031a,0x00000162, 68, 112, 0, 0},
+{0x00034d23,0x000002f0,0x00000163, 41, 112, 0, 0},
+{0x00035013,0x00000313,0x00000164, 68, 112, 0, 0},
+{0x00035326,0x0000032b,0x00000165, 41, 112, 0, 0},
+{0x00035651,0x00000278,0x00000166, 68, 112, 0, 0},
+{0x000358c9,0x0000025a,0x00000167, 41, 112, 0, 0},
+{0x00035b23,0x000003ef,0x00000168, 78, 112, 0, 0},
+{0x00035f12,0x0000035f,0x00000169, 65, 112, 0, 0},
+{0x00036271,0x00000328,0x0000016a, 78, 112, 0, 0},
+{0x00036599,0x00000293,0x0000016b, 65, 112, 0, 0},
+{0x0003682c,0x000003e7,0x0000016c, 78, 112, 0, 0},
+{0x00036c13,0x0000035c,0x0000016d, 65, 112, 0, 0},
+{0x00036f6f,0x000003fd,0x0000016e, 78, 112, 0, 0},
+{0x0003736c,0x0000037b,0x0000016f, 65, 112, 0, 0},
+{0x000376e7,0x00000400,0x00000170, 78, 112, 0, 0},
+{0x00037ae7,0x00000378,0x00000171, 65, 112, 0, 0},
+{0x00037e5f,0x0000038f,0x00000172, 78, 112, 0, 0},
+{0x000381ee,0x0000030c,0x00000173, 65, 112, 0, 0},
+{0x000384fa,0x0000064a,0x00000174, 92, 112, 0, 0},
+{0x00038b44,0x000004c2,0x00000175, 84, 112, 0, 0},
+{0x00039006,0x000003b3,0x00000176, 70, 112, 0, 0},
+{0x000393b9,0x0000046e,0x00000177, 58, 112, 0, 0},
+{0x00039827,0x000003a8,0x00000178, 70, 112, 0, 0},
+{0x00039bcf,0x00000430,0x00000179, 63, 112, 0, 0},
+{0x00039fff,0x0000034f,0x0000017a, 51, 112, 0, 0},
+{0x0003a34e,0x00000402,0x0000017b, 63, 112, 0, 0},
+{0x0003a750,0x00000329,0x0000017c, 51, 112, 0, 0},
+{0x0003aa79,0x00000462,0x0000017d, 63, 112, 0, 0},
+{0x0003aedb,0x00000377,0x0000017e, 51, 112, 0, 0},
+{0x0003b252,0x0000071a,0x000001cd, 75, 112, 0, 0},
+{0x0003b96c,0x00000441,0x000001ce, 58, 112, 0, 0},
+{0x0003bdad,0x000002ec,0x000001cf, 42, 112, 0, 0},
+{0x0003c099,0x00000202,0x000001d0, 35, 112, 0, 0},
+{0x0003c29b,0x00000569,0x000001d1, 78, 112, 0, 0},
+{0x0003c804,0x00000401,0x000001d2, 58, 112, 0, 0},
+{0x0003cc05,0x000003db,0x000001d3, 78, 112, 0, 0},
+{0x0003cfe0,0x00000353,0x000001d4, 65, 112, 0, 0},
+{0x0003d333,0x00000590,0x000001e6, 78, 112, 0, 0},
+{0x0003d8c3,0x00000544,0x000001e7, 59, 112, 0, 0},
+{0x0003de07,0x0000079c,0x000001e8, 77, 112, 0, 0},
+{0x0003e5a3,0x000003a3,0x000001e9, 63, 112, 0, 0},
+{0x0003e946,0x00000529,0x000001ea, 78, 112, 0, 0},
+{0x0003ee6f,0x000003bf,0x000001eb, 58, 112, 0, 0},
+{0x0003f22e,0x000002cc,0x000001f0, 41, 112, 0, 0},
+{0x0003f4fa,0x000008e6,0x000001f4, 78, 112, 0, 0},
+{0x0003fde0,0x000008db,0x000001f5, 59, 112, 0, 0},
+{0x000406bb,0x0000073a,0x000001f8, 78, 112, 0, 0},
+{0x00040df5,0x000002b9,0x000001f9, 65, 112, 0, 0},
+{0x000410ae,0x00000146,0x000002c6, 34, 112, 0, 0},
+{0x000411f4,0x00000144,0x000002c7, 34, 112, 0, 0},
+{0x00041338,0x000000e6,0x000002d9, 32, 112, 0, 0},
+{0x0004141e,0x00000174,0x000002da, 32, 112, 0, 0},
+{0x00041592,0x0000010f,0x000002db, 32, 112, 0, 0},
+{0x000416a1,0x0000015f,0x000002dc, 36, 112, 0, 0},
+{0x00041800,0x000001c4,0x000002dd, 34, 112, 0, 0},
+{0x000419c4,0x0000010d,0x00000300, 32, 112, 0, 0},
+{0x00041ad1,0x0000014d,0x00000306, 32, 112, 0, 0},
+{0x00041c1e,0x00000175,0x0000030b, 35, 112, 0, 0},
+{0x00041d93,0x0000037a,0x00000462, 74, 120, 0, 0},
+{0x0004210d,0x00000342,0x00000463, 51, 120, 0, 0},
+{0x0004244f,0x00000448,0x00000472, 73, 120, 0, 0},
+{0x00042897,0x00000321,0x00000473, 51, 120, 0, 0},
+{0x00042bb8,0x00000088,0x00002013, 48, 112, 0, 0},
+{0x00042c40,0x00000095,0x00002014, 94, 112, 0, 0},
+{0x00042cd5,0x00000312,0x00002020, 48, 112, 0, 0},
+{0x00042fe7,0x000003ec,0x00002021, 48, 112, 0, 0},
+{0x000433d3,0x00000199,0x00002022, 57, 112, 0, 0},
+{0x0004356c,0x0000021d,0x00002026, 94, 112, 0, 0},
+{0x00043789,0x000006f0,0x00002030, 94, 112, 0, 0},
+{0x00043e79,0x0000015a,0x00002039, 32, 112, 0, 0},
+{0x00043fd3,0x00000162,0x0000203a, 32, 112, 0, 0},
+{0x00044135,0x00000531,0x00002116, 113, 112, 0, 0},
+{0x00044666,0x00000292,0x0000fb01, 65, 112, 0, 0},
+{0x000448f8,0x00000250,0x0000fb02, 65, 112, 0, 0},
+{0x00044b48,0x00000063,0x00000000, 28, 120, 0, 0},
+{0x00044bab,0x00000063,0x00000001, 28, 120, 0, 0},
+{0x00044c0e,0x00000063,0x00000002, 28, 120, 0, 0},
+{0x00044c71,0x00000063,0x00000003, 28, 120, 0, 0},
+{0x00044cd4,0x00000063,0x00000004, 28, 120, 0, 0},
+{0x00044d37,0x00000063,0x00000005, 28, 120, 0, 0},
+{0x00044d9a,0x00000063,0x00000006, 28, 120, 0, 0},
+{0x00044dfd,0x00000063,0x00000007, 28, 120, 0, 0},
+{0x00044e60,0x00000063,0x00000008, 28, 120, 0, 0},
+{0x00044ec3,0x00000063,0x00000009, 28, 120, 0, 0},
+{0x00044f26,0x00000063,0x0000000a, 28, 120, 0, 0},
+{0x00044f89,0x00000063,0x0000000b, 28, 120, 0, 0},
+{0x00044fec,0x00000063,0x0000000c, 28, 120, 0, 0},
+{0x0004504f,0x00000063,0x0000000d, 28, 120, 0, 0},
+{0x000450b2,0x00000063,0x0000000e, 28, 120, 0, 0},
+{0x00045115,0x00000063,0x0000000f, 28, 120, 0, 0},
+{0x00045178,0x00000063,0x00000010, 28, 120, 0, 0},
+{0x000451db,0x00000063,0x00000011, 28, 120, 0, 0},
+{0x0004523e,0x00000063,0x00000012, 28, 120, 0, 0},
+{0x000452a1,0x00000063,0x00000013, 28, 120, 0, 0},
+{0x00045304,0x00000063,0x00000014, 28, 120, 0, 0},
+{0x00045367,0x00000063,0x00000015, 28, 120, 0, 0},
+{0x000453ca,0x00000063,0x00000016, 28, 120, 0, 0},
+{0x0004542d,0x00000063,0x00000017, 28, 120, 0, 0},
+{0x00045490,0x00000063,0x00000018, 28, 120, 0, 0},
+{0x000454f3,0x00000063,0x00000019, 28, 120, 0, 0},
+{0x00045556,0x00000063,0x0000001a, 28, 120, 0, 0},
+{0x000455b9,0x00000063,0x0000001b, 28, 120, 0, 0},
+{0x0004561c,0x00000063,0x0000001c, 28, 120, 0, 0},
+{0x0004567f,0x00000063,0x0000001d, 28, 120, 0, 0},
+{0x000456e2,0x00000063,0x0000001e, 28, 120, 0, 0},
+{0x00045745,0x00000063,0x0000001f, 28, 120, 0, 0},
+{0x000457a8,0x00000063,0x00000020, 28, 120, 0, 0},
+{0x0004580b,0x00000210,0x00000021, 30, 120, 0, 0},
+{0x00045a1b,0x00000189,0x00000022, 39, 120, 0, 0},
+{0x00045ba4,0x000002d2,0x00000023, 56, 120, 0, 0},
+{0x00045e76,0x00000439,0x00000024, 56, 120, 0, 0},
+{0x000462af,0x0000064e,0x00000025, 84, 120, 0, 0},
+{0x000468fd,0x0000059f,0x00000026, 82, 120, 0, 0},
+{0x00046e9c,0x00000156,0x00000027, 21, 120, 0, 0},
+{0x00046ff2,0x000002a3,0x00000028, 34, 120, 0, 0},
+{0x00047295,0x000002ab,0x00000029, 34, 120, 0, 0},
+{0x00047540,0x000002fb,0x0000002a, 50, 120, 0, 0},
+{0x0004783b,0x000000ca,0x0000002b, 61, 120, 0, 0},
+{0x00047905,0x00000166,0x0000002c, 28, 120, 0, 0},
+{0x00047a6b,0x00000093,0x0000002d, 34, 120, 0, 0},
+{0x00047afe,0x000000e2,0x0000002e, 28, 120, 0, 0},
+{0x00047be0,0x0000023f,0x0000002f, 34, 120, 0, 0},
+{0x00047e1f,0x000003e0,0x00000030, 56, 120, 0, 0},
+{0x000481ff,0x0000015b,0x00000031, 56, 120, 0, 0},
+{0x0004835a,0x000003cc,0x00000032, 56, 120, 0, 0},
+{0x00048726,0x00000422,0x00000033, 56, 120, 0, 0},
+{0x00048b48,0x000002a7,0x00000034, 56, 120, 0, 0},
+{0x00048def,0x0000040c,0x00000035, 56, 120, 0, 0},
+{0x000491fb,0x00000442,0x00000036, 56, 120, 0, 0},
+{0x0004963d,0x00000300,0x00000037, 56, 120, 0, 0},
+{0x0004993d,0x00000458,0x00000038, 56, 120, 0, 0},
+{0x00049d95,0x0000044c,0x00000039, 56, 120, 0, 0},
+{0x0004a1e1,0x00000150,0x0000003a, 28, 120, 0, 0},
+{0x0004a331,0x000001cf,0x0000003b, 28, 120, 0, 0},
+{0x0004a500,0x0000025e,0x0000003c, 61, 120, 0, 0},
+{0x0004a75e,0x000000ad,0x0000003d, 61, 120, 0, 0},
+{0x0004a80b,0x00000246,0x0000003e, 61, 120, 0, 0},
+{0x0004aa51,0x00000305,0x0000003f, 45, 120, 0, 0},
+{0x0004ad56,0x000006e9,0x00000040, 74, 120, 0, 0},
+{0x0004b43f,0x00000410,0x00000041, 75, 120, 0, 0},
+{0x0004b84f,0x00000368,0x00000042, 73, 120, 0, 0},
+{0x0004bbb7,0x00000448,0x00000043, 73, 120, 0, 0},
+{0x0004bfff,0x00000327,0x00000044, 78, 120, 0, 0},
+{0x0004c326,0x0000031f,0x00000045, 73, 120, 0, 0},
+{0x0004c645,0x00000270,0x00000046, 67, 120, 0, 0},
+{0x0004c8b5,0x0000049f,0x00000047, 78, 120, 0, 0},
+{0x0004cd54,0x000001bd,0x00000048, 84, 120, 0, 0},
+{0x0004cf11,0x0000010a,0x00000049, 41, 120, 0, 0},
+{0x0004d01b,0x0000028c,0x0000004a, 56, 120, 0, 0},
+{0x0004d2a7,0x0000034d,0x0000004b, 81, 120, 0, 0},
+{0x0004d5f4,0x000001df,0x0000004c, 67, 120, 0, 0},
+{0x0004d7d3,0x000004ac,0x0000004d, 95, 120, 0, 0},
+{0x0004dc7f,0x000003d7,0x0000004e, 82, 120, 0, 0},
+{0x0004e056,0x0000048f,0x0000004f, 78, 120, 0, 0},
+{0x0004e4e5,0x0000028c,0x00000050, 67, 120, 0, 0},
+{0x0004e771,0x00000603,0x00000051, 78, 120, 0, 0},
+{0x0004ed74,0x000003d3,0x00000052, 73, 120, 0, 0},
+{0x0004f147,0x000004b6,0x00000053, 63, 120, 0, 0},
+{0x0004f5fd,0x0000023d,0x00000054, 67, 120, 0, 0},
+{0x0004f83a,0x000002fd,0x00000055, 82, 120, 0, 0},
+{0x0004fb37,0x00000420,0x00000056, 75, 120, 0, 0},
+{0x0004ff57,0x000005e7,0x00000057, 99, 120, 0, 0},
+{0x0005053e,0x0000043f,0x00000058, 73, 120, 0, 0},
+{0x0005097d,0x00000322,0x00000059, 74, 120, 0, 0},
+{0x00050c9f,0x000003cc,0x0000005a, 62, 120, 0, 0},
+{0x0005106b,0x000000b4,0x0000005b, 34, 120, 0, 0},
+{0x0005111f,0x000002a3,0x0000005c, 61, 120, 0, 0},
+{0x000513c2,0x000000b6,0x0000005d, 34, 120, 0, 0},
+{0x00051478,0x00000278,0x0000005e, 61, 120, 0, 0},
+{0x000516f0,0x00000079,0x0000005f, 50, 120, 0, 0},
+{0x00051769,0x00000160,0x00000060, 21, 120, 0, 0},
+{0x000518c9,0x00000362,0x00000061, 56, 120, 0, 0},
+{0x00051c2b,0x00000347,0x00000062, 56, 120, 0, 0},
+{0x00051f72,0x000002e1,0x00000063, 45, 120, 0, 0},
+{0x00052253,0x00000351,0x00000064, 58, 120, 0, 0},
+{0x000525a4,0x00000308,0x00000065, 50, 120, 0, 0},
+{0x000528ac,0x000001f4,0x00000066, 44, 120, 0, 0},
+{0x00052aa0,0x00000494,0x00000067, 55, 120, 0, 0},
+{0x00052f34,0x00000233,0x00000068, 62, 120, 0, 0},
+{0x00053167,0x00000166,0x00000069, 32, 120, 0, 0},
+{0x000532cd,0x00000230,0x0000006a, 39, 120, 0, 0},
+{0x000534fd,0x000002e0,0x0000006b, 60, 120, 0, 0},
+{0x000537dd,0x000000ff,0x0000006c, 32, 120, 0, 0},
+{0x000538dc,0x00000322,0x0000006d, 89, 120, 0, 0},
+{0x00053bfe,0x00000222,0x0000006e, 62, 120, 0, 0},
+{0x00053e20,0x00000307,0x0000006f, 50, 120, 0, 0},
+{0x00054127,0x0000035b,0x00000070, 58, 120, 0, 0},
+{0x00054482,0x0000034f,0x00000071, 56, 120, 0, 0},
+{0x000547d1,0x00000218,0x00000072, 45, 120, 0, 0},
+{0x000549e9,0x00000319,0x00000073, 47, 120, 0, 0},
+{0x00054d02,0x00000206,0x00000074, 39, 120, 0, 0},
+{0x00054f08,0x00000236,0x00000075, 62, 120, 0, 0},
+{0x0005513e,0x000002ac,0x00000076, 54, 120, 0, 0},
+{0x000553ea,0x00000413,0x00000077, 78, 120, 0, 0},
+{0x000557fd,0x000002ca,0x00000078, 54, 120, 0, 0},
+{0x00055ac7,0x00000371,0x00000079, 54, 120, 0, 0},
+{0x00055e38,0x0000024c,0x0000007a, 49, 120, 0, 0},
+{0x00056084,0x00000203,0x0000007b, 34, 120, 0, 0},
+{0x00056287,0x00000094,0x0000007c, 61, 120, 0, 0},
+{0x0005631b,0x00000209,0x0000007d, 34, 120, 0, 0},
+{0x00056524,0x000001a0,0x0000007e, 61, 120, 0, 0},
+{0x000566c4,0x00000063,0x00000080, 28, 120, 0, 0},
+{0x00056727,0x00000063,0x00000081, 28, 120, 0, 0},
+{0x0005678a,0x00000063,0x00000082, 28, 120, 0, 0},
+{0x000567ed,0x00000063,0x00000083, 28, 120, 0, 0},
+{0x00056850,0x00000063,0x00000084, 28, 120, 0, 0},
+{0x000568b3,0x00000063,0x00000085, 28, 120, 0, 0},
+{0x00056916,0x00000063,0x00000086, 28, 120, 0, 0},
+{0x00056979,0x00000063,0x00000087, 28, 120, 0, 0},
+{0x000569dc,0x00000063,0x00000088, 28, 120, 0, 0},
+{0x00056a3f,0x00000063,0x00000089, 28, 120, 0, 0},
+{0x00056aa2,0x00000063,0x0000008a, 28, 120, 0, 0},
+{0x00056b05,0x00000063,0x0000008b, 28, 120, 0, 0},
+{0x00056b68,0x00000063,0x0000008c, 28, 120, 0, 0},
+{0x00056bcb,0x00000063,0x0000008d, 28, 120, 0, 0},
+{0x00056c2e,0x00000063,0x0000008e, 28, 120, 0, 0},
+{0x00056c91,0x00000063,0x0000008f, 28, 120, 0, 0},
+{0x00056cf4,0x00000063,0x00000090, 28, 120, 0, 0},
+{0x00056d57,0x00000063,0x00000091, 28, 120, 0, 0},
+{0x00056dba,0x00000063,0x00000092, 28, 120, 0, 0},
+{0x00056e1d,0x00000063,0x00000093, 28, 120, 0, 0},
+{0x00056e80,0x00000063,0x00000094, 28, 120, 0, 0},
+{0x00056ee3,0x00000063,0x00000095, 28, 120, 0, 0},
+{0x00056f46,0x00000063,0x00000096, 28, 120, 0, 0},
+{0x00056fa9,0x00000063,0x00000097, 28, 120, 0, 0},
+{0x0005700c,0x00000063,0x00000098, 28, 120, 0, 0},
+{0x0005706f,0x00000063,0x00000099, 28, 120, 0, 0},
+{0x000570d2,0x00000063,0x0000009a, 28, 120, 0, 0},
+{0x00057135,0x00000063,0x0000009b, 28, 120, 0, 0},
+{0x00057198,0x00000063,0x0000009c, 28, 120, 0, 0},
+{0x000571fb,0x00000063,0x0000009d, 28, 120, 0, 0},
+{0x0005725e,0x00000063,0x0000009e, 28, 120, 0, 0},
+{0x000572c1,0x00000063,0x0000009f, 28, 120, 0, 0},
+{0x00057324,0x00000063,0x000000a0, 28, 120, 0, 0},
+{0x00057387,0x00000208,0x000000a1, 30, 120, 0, 0},
+{0x0005758f,0x000003ff,0x000000a2, 56, 120, 0, 0},
+{0x0005798e,0x0000040e,0x000000a3, 56, 120, 0, 0},
+{0x00057d9c,0x0000094c,0x000000a4, 112, 112, 0, 0},
+{0x000586e8,0x000002fd,0x000000a5, 57, 120, 0, 0},
+{0x000589e5,0x00000094,0x000000a6, 61, 120, 0, 0},
+{0x00058a79,0x0000046d,0x000000a7, 50, 120, 0, 0},
+{0x00058ee6,0x00000114,0x000000a8, 34, 120, 0, 0},
+{0x00058ffa,0x000005b6,0x000000a9, 74, 112, 0, 0},
+{0x000595b0,0x00000245,0x000000ab, 43, 120, 0, 0},
+{0x000597f5,0x000000a8,0x000000ac, 67, 112, 0, 0},
+{0x0005989d,0x00000093,0x000000ad, 34, 120, 0, 0},
+{0x00059930,0x000005d6,0x000000ae, 74, 112, 0, 0},
+{0x00059f06,0x00000082,0x000000af, 34, 120, 0, 0},
+{0x00059f88,0x00000161,0x000000b0, 34, 120, 0, 0},
+{0x0005a0e9,0x000000d4,0x000000b1, 52, 112, 0, 0},
+{0x0005a1bd,0x000000ea,0x000000b4, 34, 120, 0, 0},
+{0x0005a2a7,0x00000348,0x000000b5, 76, 120, 0, 0},
+{0x0005a5ef,0x000004d1,0x000000b6, 50, 120, 0, 0},
+{0x0005aac0,0x000000ce,0x000000b7, 34, 120, 0, 0},
+{0x0005ab8e,0x00000137,0x000000b8, 34, 120, 0, 0},
+{0x0005acc5,0x0000021f,0x000000ba, 30, 120, 0, 0},
+{0x0005aee4,0x0000023c,0x000000bb, 43, 120, 0, 0},
+{0x0005b120,0x00000315,0x000000bf, 45, 120, 0, 0},
+{0x0005b435,0x00000409,0x000000c0, 75, 120, 0, 0},
+{0x0005b83e,0x00000406,0x000000c1, 75, 120, 0, 0},
+{0x0005bc44,0x0000045b,0x000000c2, 75, 120, 0, 0},
+{0x0005c09f,0x0000044e,0x000000c3, 75, 120, 0, 0},
+{0x0005c4ed,0x00000441,0x000000c4, 75, 120, 0, 0},
+{0x0005c92e,0x0000047c,0x000000c5, 75, 120, 0, 0},
+{0x0005cdaa,0x00000502,0x000000c6, 100, 120, 0, 0},
+{0x0005d2ac,0x000004c2,0x000000c7, 73, 120, 0, 0},
+{0x0005d76e,0x0000038d,0x000000c8, 73, 120, 0, 0},
+{0x0005dafb,0x00000390,0x000000c9, 73, 120, 0, 0},
+{0x0005de8b,0x000003f4,0x000000ca, 73, 120, 0, 0},
+{0x0005e27f,0x000003c5,0x000000cb, 73, 120, 0, 0},
+{0x0005e644,0x0000016d,0x000000cc, 41, 120, 0, 0},
+{0x0005e7b1,0x00000169,0x000000cd, 41, 120, 0, 0},
+{0x0005e91a,0x000001cf,0x000000ce, 41, 120, 0, 0},
+{0x0005eae9,0x000001a0,0x000000cf, 41, 120, 0, 0},
+{0x0005ec89,0x0000031f,0x000000d0, 78, 120, 0, 0},
+{0x0005efa8,0x0000044a,0x000000d1, 82, 120, 0, 0},
+{0x0005f3f2,0x00000486,0x000000d2, 78, 120, 0, 0},
+{0x0005f878,0x00000484,0x000000d3, 78, 120, 0, 0},
+{0x0005fcfc,0x000004f7,0x000000d4, 78, 120, 0, 0},
+{0x000601f3,0x000004d4,0x000000d5, 78, 120, 0, 0},
+{0x000606c7,0x000004c7,0x000000d6, 78, 120, 0, 0},
+{0x00060b8e,0x000001fc,0x000000d7, 61, 120, 0, 0},
+{0x00060d8a,0x0000062d,0x000000d8, 78, 120, 0, 0},
+{0x000613b7,0x00000338,0x000000d9, 82, 120, 0, 0},
+{0x000616ef,0x00000337,0x000000da, 82, 120, 0, 0},
+{0x00061a26,0x00000398,0x000000db, 82, 120, 0, 0},
+{0x00061dbe,0x00000373,0x000000dc, 82, 120, 0, 0},
+{0x00062131,0x00000341,0x000000dd, 74, 120, 0, 0},
+{0x00062472,0x00000283,0x000000de, 67, 120, 0, 0},
+{0x000626f5,0x000003d1,0x000000df, 58, 120, 0, 0},
+{0x00062ac6,0x0000036d,0x000000e0, 56, 120, 0, 0},
+{0x00062e33,0x0000036e,0x000000e1, 56, 120, 0, 0},
+{0x000631a1,0x000003c8,0x000000e2, 56, 120, 0, 0},
+{0x00063569,0x000003ae,0x000000e3, 56, 120, 0, 0},
+{0x00063917,0x0000039a,0x000000e4, 56, 120, 0, 0},
+{0x00063cb1,0x000003de,0x000000e5, 56, 120, 0, 0},
+{0x0006408f,0x000004be,0x000000e6, 80, 120, 0, 0},
+{0x0006454d,0x0000033c,0x000000e7, 45, 120, 0, 0},
+{0x00064889,0x0000031a,0x000000e8, 50, 120, 0, 0},
+{0x00064ba3,0x00000317,0x000000e9, 50, 120, 0, 0},
+{0x00064eba,0x00000374,0x000000ea, 50, 120, 0, 0},
+{0x0006522e,0x00000344,0x000000eb, 50, 120, 0, 0},
+{0x00065572,0x0000016c,0x000000ec, 32, 120, 0, 0},
+{0x000656de,0x00000167,0x000000ed, 36, 120, 0, 0},
+{0x00065845,0x000001cf,0x000000ee, 32, 120, 0, 0},
+{0x00065a14,0x0000019f,0x000000ef, 32, 120, 0, 0},
+{0x00065bb3,0x00000423,0x000000f0, 50, 120, 0, 0},
+{0x00065fd6,0x000002af,0x000000f1, 62, 120, 0, 0},
+{0x00066285,0x00000334,0x000000f2, 50, 120, 0, 0},
+{0x000665b9,0x0000032d,0x000000f3, 50, 120, 0, 0},
+{0x000668e6,0x00000390,0x000000f4, 50, 120, 0, 0},
+{0x00066c76,0x0000036e,0x000000f5, 50, 120, 0, 0},
+{0x00066fe4,0x00000357,0x000000f6, 50, 120, 0, 0},
+{0x0006733b,0x0000014f,0x000000f7, 52, 112, 0, 0},
+{0x0006748a,0x0000042d,0x000000f8, 50, 120, 0, 0},
+{0x000678b7,0x0000028a,0x000000f9, 62, 120, 0, 0},
+{0x00067b41,0x00000287,0x000000fa, 62, 120, 0, 0},
+{0x00067dc8,0x000002e5,0x000000fb, 62, 120, 0, 0},
+{0x000680ad,0x000002bd,0x000000fc, 62, 120, 0, 0},
+{0x0006836a,0x00000373,0x000000fd, 54, 120, 0, 0},
+{0x000686dd,0x00000360,0x000000fe, 58, 120, 0, 0},
+{0x00068a3d,0x000003aa,0x000000ff, 54, 120, 0, 0},
+{0x00068de7,0x000003b4,0x00000100, 75, 120, 0, 0},
+{0x0006919b,0x00000322,0x00000101, 56, 120, 0, 0},
+{0x000694bd,0x00000468,0x00000102, 75, 120, 0, 0},
+{0x00069925,0x000003ce,0x00000103, 56, 120, 0, 0},
+{0x00069cf3,0x0000042b,0x00000104, 75, 120, 0, 0},
+{0x0006a11e,0x00000383,0x00000105, 56, 120, 0, 0},
+{0x0006a4a1,0x0000046a,0x00000106, 73, 120, 0, 0},
+{0x0006a90b,0x000002f6,0x00000107, 45, 120, 0, 0},
+{0x0006ac01,0x000004d4,0x00000108, 73, 120, 0, 0},
+{0x0006b0d5,0x0000034e,0x00000109, 45, 120, 0, 0},
+{0x0006b423,0x0000045e,0x0000010a, 73, 120, 0, 0},
+{0x0006b881,0x000002e0,0x0000010b, 45, 120, 0, 0},
+{0x0006bb61,0x000004cb,0x0000010c, 73, 120, 0, 0},
+{0x0006c02c,0x0000034e,0x0000010d, 45, 120, 0, 0},
+{0x0006c37a,0x000003bd,0x0000010e, 78, 120, 0, 0},
+{0x0006c737,0x000003dc,0x0000010f, 66, 120, 0, 0},
+{0x0006cb13,0x00000320,0x00000111, 58, 120, 0, 0},
+{0x0006ce33,0x00000342,0x00000112, 73, 120, 0, 0},
+{0x0006d175,0x000002d3,0x00000113, 50, 120, 0, 0},
+{0x0006d448,0x000003f1,0x00000114, 73, 120, 0, 0},
+{0x0006d839,0x00000376,0x00000115, 50, 120, 0, 0},
+{0x0006dbaf,0x00000382,0x00000116, 73, 120, 0, 0},
+{0x0006df31,0x00000307,0x00000117, 50, 120, 0, 0},
+{0x0006e238,0x000003be,0x00000118, 73, 120, 0, 0},
+{0x0006e5f6,0x00000337,0x00000119, 50, 120, 0, 0},
+{0x0006e92d,0x000003ed,0x0000011a, 73, 120, 0, 0},
+{0x0006ed1a,0x0000037e,0x0000011b, 50, 120, 0, 0},
+{0x0006f098,0x00000522,0x0000011c, 78, 120, 0, 0},
+{0x0006f5ba,0x00000553,0x0000011d, 55, 120, 0, 0},
+{0x0006fb0d,0x00000526,0x0000011e, 78, 120, 0, 0},
+{0x00070033,0x000004c5,0x0000011f, 55, 120, 0, 0},
+{0x000704f8,0x000004b3,0x00000120, 78, 120, 0, 0},
+{0x000709ab,0x00000450,0x00000121, 55, 120, 0, 0},
+{0x00070dfb,0x0000056b,0x00000123, 55, 120, 0, 0},
+{0x00071366,0x0000028a,0x00000124, 84, 120, 0, 0},
+{0x000715f0,0x000002de,0x00000125, 62, 120, 0, 0},
+{0x000718ce,0x000001dc,0x00000126, 84, 120, 0, 0},
+{0x00071aaa,0x0000023e,0x00000127, 62, 120, 0, 0},
+{0x00071ce8,0x000001af,0x00000128, 41, 120, 0, 0},
+{0x00071e97,0x000001b8,0x00000129, 34, 120, 0, 0},
+{0x0007204f,0x00000116,0x0000012a, 41, 120, 0, 0},
+{0x00072165,0x0000010b,0x0000012b, 33, 120, 0, 0},
+{0x00072270,0x000001d0,0x0000012c, 41, 120, 0, 0},
+{0x00072440,0x000001c9,0x0000012d, 32, 120, 0, 0},
+{0x00072609,0x00000196,0x0000012e, 41, 120, 0, 0},
+{0x0007279f,0x000001f2,0x0000012f, 32, 120, 0, 0},
+{0x00072991,0x0000015e,0x00000130, 41, 120, 0, 0},
+{0x00072aef,0x000000fa,0x00000131, 33, 120, 0, 0},
+{0x00072be9,0x0000030a,0x00000132, 91, 120, 0, 0},
+{0x00072ef3,0x000002f7,0x00000133, 56, 120, 0, 0},
+{0x000731ea,0x0000032f,0x00000134, 56, 120, 0, 0},
+{0x00073519,0x0000027f,0x00000135, 40, 120, 0, 0},
+{0x00073798,0x00000409,0x00000136, 81, 120, 0, 0},
+{0x00073ba1,0x00000394,0x00000137, 60, 120, 0, 0},
+{0x00073f35,0x0000031a,0x00000138, 54, 120, 0, 0},
+{0x0007424f,0x0000023c,0x00000139, 67, 120, 0, 0},
+{0x0007448b,0x0000015b,0x0000013a, 32, 120, 0, 0},
+{0x000745e6,0x000002a9,0x0000013b, 67, 120, 0, 0},
+{0x0007488f,0x000001ce,0x0000013c, 32, 120, 0, 0},
+{0x00074a5d,0x000002d2,0x0000013d, 67, 120, 0, 0},
+{0x00074d2f,0x000001dd,0x0000013e, 39, 120, 0, 0},
+{0x00074f0c,0x00000241,0x0000013f, 80, 120, 0, 0},
+{0x0007514d,0x0000015f,0x00000140, 41, 120, 0, 0},
+{0x000752ac,0x00000303,0x00000141, 67, 120, 0, 0},
+{0x000755af,0x00000191,0x00000142, 32, 120, 0, 0},
+{0x00075740,0x00000405,0x00000143, 82, 120, 0, 0},
+{0x00075b45,0x0000026d,0x00000144, 62, 120, 0, 0},
+{0x00075db2,0x0000049f,0x00000145, 82, 120, 0, 0},
+{0x00076251,0x000002f5,0x00000146, 62, 120, 0, 0},
+{0x00076546,0x00000472,0x00000147, 82, 120, 0, 0},
+{0x000769b8,0x000002d6,0x00000148, 62, 120, 0, 0},
+{0x00076c8e,0x00000322,0x00000149, 76, 120, 0, 0},
+{0x00076fb0,0x000004f9,0x0000014a, 82, 120, 0, 0},
+{0x000774a9,0x0000030a,0x0000014b, 62, 120, 0, 0},
+{0x000777b3,0x00000439,0x0000014c, 78, 120, 0, 0},
+{0x00077bec,0x000002e0,0x0000014d, 50, 120, 0, 0},
+{0x00077ecc,0x000004f9,0x0000014e, 78, 120, 0, 0},
+{0x000783c5,0x00000387,0x0000014f, 50, 120, 0, 0},
+{0x0007874c,0x00000502,0x00000150, 78, 120, 0, 0},
+{0x00078c4e,0x00000395,0x00000151, 50, 120, 0, 0},
+{0x00078fe3,0x00000577,0x00000152, 100, 120, 0, 0},
+{0x0007955a,0x000004b5,0x00000153, 84, 120, 0, 0},
+{0x00079a0f,0x000003ff,0x00000154, 73, 120, 0, 0},
+{0x00079e0e,0x00000266,0x00000155, 45, 120, 0, 0},
+{0x0007a074,0x00000496,0x00000156, 73, 120, 0, 0},
+{0x0007a50a,0x000002e2,0x00000157, 45, 120, 0, 0},
+{0x0007a7ec,0x00000469,0x00000158, 73, 120, 0, 0},
+{0x0007ac55,0x000002c9,0x00000159, 45, 120, 0, 0},
+{0x0007af1e,0x000004d6,0x0000015a, 63, 120, 0, 0},
+{0x0007b3f4,0x00000329,0x0000015b, 47, 120, 0, 0},
+{0x0007b71d,0x00000539,0x0000015c, 63, 120, 0, 0},
+{0x0007bc56,0x0000037d,0x0000015d, 47, 120, 0, 0},
+{0x0007bfd3,0x00000534,0x0000015e, 63, 120, 0, 0},
+{0x0007c507,0x00000377,0x0000015f, 47, 120, 0, 0},
+{0x0007c87e,0x00000533,0x00000160, 63, 120, 0, 0},
+{0x0007cdb1,0x00000389,0x00000161, 47, 120, 0, 0},
+{0x0007d13a,0x0000030f,0x00000162, 67, 120, 0, 0},
+{0x0007d449,0x000002aa,0x00000163, 39, 120, 0, 0},
+{0x0007d6f3,0x00000315,0x00000164, 67, 120, 0, 0},
+{0x0007da08,0x000002ae,0x00000165, 39, 120, 0, 0},
+{0x0007dcb6,0x00000278,0x00000166, 67, 120, 0, 0},
+{0x0007df2e,0x00000216,0x00000167, 39, 120, 0, 0},
+{0x0007e144,0x00000379,0x00000168, 82, 120, 0, 0},
+{0x0007e4bd,0x000002c8,0x00000169, 62, 120, 0, 0},
+{0x0007e785,0x000002eb,0x0000016a, 82, 120, 0, 0},
+{0x0007ea70,0x00000233,0x0000016b, 62, 120, 0, 0},
+{0x0007eca3,0x0000039e,0x0000016c, 82, 120, 0, 0},
+{0x0007f041,0x000002ef,0x0000016d, 62, 120, 0, 0},
+{0x0007f330,0x000003ae,0x0000016e, 82, 120, 0, 0},
+{0x0007f6de,0x00000301,0x0000016f, 62, 120, 0, 0},
+{0x0007f9df,0x000003a2,0x00000170, 82, 120, 0, 0},
+{0x0007fd81,0x000002ec,0x00000171, 62, 120, 0, 0},
+{0x0008006d,0x00000355,0x00000172, 82, 120, 0, 0},
+{0x000803c2,0x000002a4,0x00000173, 62, 120, 0, 0},
+{0x00080666,0x00000620,0x00000174, 99, 120, 0, 0},
+{0x00080c86,0x00000477,0x00000175, 78, 120, 0, 0},
+{0x000810fd,0x00000392,0x00000176, 74, 120, 0, 0},
+{0x0008148f,0x000003c5,0x00000177, 54, 120, 0, 0},
+{0x00081854,0x0000037a,0x00000178, 74, 120, 0, 0},
+{0x00081bce,0x000003e4,0x00000179, 62, 120, 0, 0},
+{0x00081fb2,0x000002af,0x0000017a, 49, 120, 0, 0},
+{0x00082261,0x000003d4,0x0000017b, 62, 120, 0, 0},
+{0x00082635,0x0000026f,0x0000017c, 49, 120, 0, 0},
+{0x000828a4,0x00000444,0x0000017d, 62, 120, 0, 0},
+{0x00082ce8,0x000002e1,0x0000017e, 49, 120, 0, 0},
+{0x00082fc9,0x000001e9,0x0000017f, 44, 120, 0, 0},
+{0x000831b2,0x00000446,0x00000186, 73, 120, 0, 0},
+{0x000835f8,0x00000516,0x00000187, 76, 120, 0, 0},
+{0x00083b0e,0x00000376,0x00000188, 57, 120, 0, 0},
+{0x00083e84,0x00000345,0x00000189, 80, 120, 0, 0},
+{0x000841c9,0x000003a7,0x0000018a, 88, 120, 0, 0},
+{0x00084570,0x00000383,0x0000018c, 58, 120, 0, 0},
+{0x000848f3,0x00000331,0x0000018e, 73, 120, 0, 0},
+{0x00084c24,0x0000047f,0x0000018f, 62, 120, 0, 0},
+{0x000850a3,0x000003ed,0x00000190, 56, 120, 0, 0},
+{0x00085490,0x00000315,0x00000191, 67, 120, 0, 0},
+{0x000857a5,0x000002c8,0x00000192, 82, 120, 0, 0},
+{0x00085a6d,0x00000537,0x00000193, 78, 120, 0, 0},
+{0x00085fa4,0x00000119,0x00000197, 41, 120, 0, 0},
+{0x000860bd,0x000003c3,0x00000198, 95, 120, 0, 0},
+{0x00086480,0x000003a3,0x00000199, 60, 120, 0, 0},
+{0x00086823,0x00000114,0x0000019a, 45, 120, 0, 0},
+{0x00086937,0x0000032e,0x0000019b, 67, 120, 0, 0},
+{0x00086c65,0x00000474,0x0000019c, 129, 120, 0, 0},
+{0x000870d9,0x000003d8,0x0000019d, 82, 120, 0, 0},
+{0x000874b1,0x0000024b,0x0000019e, 62, 120, 0, 0},
+{0x000876fc,0x00000495,0x0000019f, 78, 120, 0, 0},
+{0x00087b91,0x00000210,0x000001c3, 30, 120, 0, 0},
+{0x00087da1,0x0000073e,0x000001c4, 138, 120, 0, 0},
+{0x000884df,0x00000601,0x000001c5, 127, 120, 0, 0},
+{0x00088ae0,0x00000620,0x000001c6, 107, 120, 0, 0},
+{0x00089100,0x000003f0,0x000001c7, 122, 120, 0, 0},
+{0x000894f0,0x000003c0,0x000001c8, 99, 120, 0, 0},
+{0x000898b0,0x000002dc,0x000001c9, 62, 120, 0, 0},
+{0x00089b8c,0x000005f3,0x000001ca, 129, 120, 0, 0},
+{0x0008a17f,0x000005be,0x000001cb, 113, 120, 0, 0},
+{0x0008a73d,0x000003ff,0x000001cc, 90, 120, 0, 0},
+{0x0008ab3c,0x0000045b,0x000001cd, 75, 120, 0, 0},
+{0x0008af97,0x000003d2,0x000001ce, 56, 120, 0, 0},
+{0x0008b369,0x000001cc,0x000001cf, 41, 120, 0, 0},
+{0x0008b535,0x000001ca,0x000001d0, 32, 120, 0, 0},
+{0x0008b6ff,0x000004f4,0x000001d1, 78, 120, 0, 0},
+{0x0008bbf3,0x00000391,0x000001d2, 50, 120, 0, 0},
+{0x0008bf84,0x00000397,0x000001d3, 82, 120, 0, 0},
+{0x0008c31b,0x000002ef,0x000001d4, 62, 120, 0, 0},
+{0x0008c60a,0x00000519,0x000001e6, 78, 120, 0, 0},
+{0x0008cb23,0x000004cb,0x000001e7, 55, 120, 0, 0},
+{0x0008cfee,0x000003db,0x000001e8, 81, 120, 0, 0},
+{0x0008d3c9,0x00000377,0x000001e9, 60, 120, 0, 0},
+{0x0008d740,0x000004a4,0x000001ea, 78, 120, 0, 0},
+{0x0008dbe4,0x0000034c,0x000001eb, 50, 120, 0, 0},
+{0x0008df30,0x00000283,0x000001f0, 41, 120, 0, 0},
+{0x0008e1b3,0x000004bc,0x000001f4, 78, 120, 0, 0},
+{0x0008e66f,0x00000460,0x000001f5, 55, 120, 0, 0},
+{0x0008eacf,0x00000409,0x000001f8, 82, 120, 0, 0},
+{0x0008eed8,0x0000026d,0x000001f9, 62, 120, 0, 0},
+{0x0008f145,0x0000054d,0x00000218, 63, 120, 0, 0},
+{0x0008f692,0x000003b2,0x00000219, 47, 120, 0, 0},
+{0x0008fa44,0x000002e1,0x0000021a, 67, 120, 0, 0},
+{0x0008fd25,0x000002a1,0x0000021b, 39, 120, 0, 0},
+{0x0008ffc6,0x00000463,0x00000226, 75, 120, 0, 0},
+{0x00090429,0x000003b2,0x00000227, 56, 120, 0, 0},
+{0x000907db,0x000004fa,0x00000230, 78, 120, 0, 0},
+{0x00090cd5,0x00000365,0x00000231, 50, 120, 0, 0},
+{0x0009103a,0x00000149,0x000002c6, 34, 120, 0, 0},
+{0x00091183,0x00000162,0x000002c7, 34, 120, 0, 0},
+{0x000912e5,0x000000ce,0x000002d9, 34, 120, 0, 0},
+{0x000913b3,0x0000017b,0x000002da, 34, 120, 0, 0},
+{0x0009152e,0x00000108,0x000002db, 34, 120, 0, 0},
+{0x00091636,0x0000013f,0x000002dc, 34, 120, 0, 0},
+{0x00091775,0x00000189,0x000002dd, 39, 120, 0, 0},
+{0x000918fe,0x000000e0,0x00000300, 34, 120, 0, 0},
+{0x000919de,0x00000148,0x00000306, 34, 120, 0, 0},
+{0x00091b26,0x0000014d,0x0000030b, 34, 120, 0, 0},
+{0x00091c73,0x000003ac,0x00000386, 67, 120, 0, 0},
+{0x0009201f,0x00000147,0x00000387, 67, 120, 0, 0},
+{0x00092166,0x000003cd,0x00000388, 80, 120, 0, 0},
+{0x00092533,0x0000035b,0x00000389, 90, 120, 0, 0},
+{0x0009288e,0x00000244,0x0000038a, 48, 120, 0, 0},
+{0x00092ad2,0x00000412,0x0000038c, 77, 120, 0, 0},
+{0x00092ee4,0x0000035b,0x0000038e, 81, 120, 0, 0},
+{0x0009323f,0x0000045c,0x0000038f, 85, 120, 0, 0},
+{0x0009369b,0x0000034c,0x00000390, 43, 120, 0, 0},
+{0x000939e7,0x000002c2,0x00000391, 67, 120, 0, 0},
+{0x00093ca9,0x000002e3,0x00000392, 73, 120, 0, 0},
+{0x00093f8c,0x000001c0,0x00000393, 61, 120, 0, 0},
+{0x0009414c,0x000002e6,0x00000394, 67, 120, 0, 0},
+{0x00094432,0x000002f6,0x00000395, 70, 120, 0, 0},
+{0x00094728,0x000002c0,0x00000396, 67, 120, 0, 0},
+{0x000949e8,0x00000255,0x00000397, 79, 120, 0, 0},
+{0x00094c3d,0x000003c7,0x00000398, 73, 120, 0, 0},
+{0x00095004,0x00000141,0x00000399, 40, 120, 0, 0},
+{0x00095145,0x00000335,0x0000039a, 73, 120, 0, 0},
+{0x0009547a,0x0000026a,0x0000039b, 67, 120, 0, 0},
+{0x000956e4,0x000003a0,0x0000039c, 82, 120, 0, 0},
+{0x00095a84,0x0000031a,0x0000039d, 76, 120, 0, 0},
+{0x00095d9e,0x000002c7,0x0000039e, 73, 120, 0, 0},
+{0x00096065,0x0000030f,0x0000039f, 73, 120, 0, 0},
+{0x00096374,0x000001da,0x000003a0, 79, 120, 0, 0},
+{0x0009654e,0x00000262,0x000003a1, 73, 120, 0, 0},
+{0x000967b0,0x000002dc,0x000003a3, 70, 120, 0, 0},
+{0x00096a8c,0x0000021f,0x000003a4, 64, 120, 0, 0},
+{0x00096cab,0x00000262,0x000003a5, 67, 120, 0, 0},
+{0x00096f0d,0x000002f3,0x000003a6, 70, 120, 0, 0},
+{0x00097200,0x0000033c,0x000003a7, 67, 120, 0, 0},
+{0x0009753c,0x000002cd,0x000003a8, 76, 120, 0, 0},
+{0x00097809,0x00000359,0x000003a9, 73, 120, 0, 0},
+{0x00097b62,0x000001d9,0x000003aa, 40, 120, 0, 0},
+{0x00097d3b,0x000002f4,0x000003ab, 67, 120, 0, 0},
+{0x0009802f,0x000003df,0x000003ac, 76, 120, 0, 0},
+{0x0009840e,0x0000032d,0x000003ad, 61, 120, 0, 0},
+{0x0009873b,0x00000434,0x000003ae, 73, 120, 0, 0},
+{0x00098b6f,0x000002ca,0x000003af, 43, 120, 0, 0},
+{0x00098e39,0x00000405,0x000003b0, 67, 120, 0, 0},
+{0x0009923e,0x000002e5,0x000003b1, 76, 120, 0, 0},
+{0x00099523,0x000003c5,0x000003b2, 70, 120, 0, 0},
+{0x000998e8,0x000002c4,0x000003b3, 67, 120, 0, 0},
+{0x00099bac,0x000002f5,0x000003b4, 64, 120, 0, 0},
+{0x00099ea1,0x0000022c,0x000003b5, 61, 120, 0, 0},
+{0x0009a0cd,0x000002fa,0x000003b6, 61, 120, 0, 0},
+{0x0009a3c7,0x0000033d,0x000003b7, 73, 120, 0, 0},
+{0x0009a704,0x0000038c,0x000003b8, 47, 120, 0, 0},
+{0x0009aa90,0x000001d4,0x000003b9, 43, 120, 0, 0},
+{0x0009ac64,0x000002c6,0x000003ba, 67, 120, 0, 0},
+{0x0009af2a,0x0000027f,0x000003bb, 67, 120, 0, 0},
+{0x0009b1a9,0x00000348,0x000003bc, 76, 120, 0, 0},
+{0x0009b4f1,0x0000026f,0x000003bd, 67, 120, 0, 0},
+{0x0009b760,0x000002e7,0x000003be, 58, 120, 0, 0},
+{0x0009ba47,0x00000259,0x000003bf, 61, 120, 0, 0},
+{0x0009bca0,0x00000262,0x000003c0, 73, 120, 0, 0},
+{0x0009bf02,0x000002da,0x000003c1, 64, 120, 0, 0},
+{0x0009c1dc,0x00000314,0x000003c2, 50, 120, 0, 0},
+{0x0009c4f0,0x0000026a,0x000003c3, 70, 120, 0, 0},
+{0x0009c75a,0x000001f5,0x000003c4, 67, 120, 0, 0},
+{0x0009c94f,0x000002a4,0x000003c5, 67, 120, 0, 0},
+{0x0009cbf3,0x0000036f,0x000003c6, 73, 120, 0, 0},
+{0x0009cf62,0x00000333,0x000003c7, 61, 120, 0, 0},
+{0x0009d295,0x00000423,0x000003c8, 76, 120, 0, 0},
+{0x0009d6b8,0x0000030e,0x000003c9, 76, 120, 0, 0},
+{0x0009d9c6,0x0000025c,0x000003ca, 43, 120, 0, 0},
+{0x0009dc22,0x00000329,0x000003cb, 67, 120, 0, 0},
+{0x0009df4b,0x00000352,0x000003cc, 61, 120, 0, 0},
+{0x0009e29d,0x00000394,0x000003cd, 67, 120, 0, 0},
+{0x0009e631,0x00000402,0x000003ce, 76, 120, 0, 0},
+{0x0009ea33,0x00000359,0x000003d0, 70, 120, 0, 0},
+{0x0009ed8c,0x000003a6,0x000003d1, 76, 120, 0, 0},
+{0x0009f132,0x00000252,0x000003d2, 64, 120, 0, 0},
+{0x0009f384,0x00000350,0x000003d3, 77, 120, 0, 0},
+{0x0009f6d4,0x000002e3,0x000003d4, 64, 120, 0, 0},
+{0x0009f9b7,0x00000300,0x000003d5, 61, 120, 0, 0},
+{0x0009fcb7,0x00000391,0x000003d6, 76, 120, 0, 0},
+{0x000a0048,0x000004ba,0x000003d7, 73, 120, 0, 0},
+{0x000a0502,0x000003fb,0x000003f0, 73, 120, 0, 0},
+{0x000a08fd,0x0000032c,0x00000401, 62, 120, 0, 0},
+{0x000a0c29,0x0000017d,0x00000402, 82, 120, 0, 0},
+{0x000a0da6,0x00000380,0x00000404, 67, 120, 0, 0},
+{0x000a1126,0x0000012b,0x00000406, 36, 120, 0, 0},
+{0x000a1251,0x000001cd,0x00000407, 36, 120, 0, 0},
+{0x000a141e,0x0000028c,0x00000408, 56, 120, 0, 0},
+{0x000a16aa,0x00000261,0x00000409, 100, 120, 0, 0},
+{0x000a190b,0x00000351,0x0000040a, 100, 120, 0, 0},
+{0x000a1c5c,0x0000013a,0x0000040b, 88, 120, 0, 0},
+{0x000a1d96,0x000000e9,0x0000040f, 80, 120, 0, 0},
+{0x000a1e7f,0x00000388,0x00000410, 71, 120, 0, 0},
+{0x000a2207,0x000002a9,0x00000411, 63, 120, 0, 0},
+{0x000a24b0,0x00000311,0x00000412, 62, 120, 0, 0},
+{0x000a27c1,0x00000190,0x00000413, 60, 120, 0, 0},
+{0x000a2951,0x000006bf,0x00000414, 81, 120, 0, 0},
+{0x000a3010,0x0000024c,0x00000415, 62, 120, 0, 0},
+{0x000a325c,0x000009a3,0x00000416, 80, 120, 0, 0},
+{0x000a3bff,0x000003ff,0x00000417, 68, 120, 0, 0},
+{0x000a3ffe,0x00000356,0x00000418, 73, 120, 0, 0},
+{0x000a4354,0x00000907,0x00000419, 79, 120, 0, 0},
+{0x000a4c5b,0x00000386,0x0000041a, 70, 120, 0, 0},
+{0x000a4fe1,0x0000066c,0x0000041b, 71, 120, 0, 0},
+{0x000a564d,0x000003f4,0x0000041c, 84, 120, 0, 0},
+{0x000a5a41,0x00000213,0x0000041d, 73, 120, 0, 0},
+{0x000a5c54,0x00000441,0x0000041e, 73, 120, 0, 0},
+{0x000a6095,0x00000197,0x0000041f, 69, 120, 0, 0},
+{0x000a622c,0x00000258,0x00000420, 60, 120, 0, 0},
+{0x000a6484,0x0000034e,0x00000421, 62, 120, 0, 0},
+{0x000a67d2,0x000001eb,0x00000422, 63, 120, 0, 0},
+{0x000a69bd,0x00000741,0x00000423, 67, 120, 0, 0},
+{0x000a70fe,0x00000366,0x00000424, 63, 120, 0, 0},
+{0x000a7464,0x000003dc,0x00000425, 65, 120, 0, 0},
+{0x000a7840,0x00000223,0x00000426, 70, 120, 0, 0},
+{0x000a7a63,0x00000242,0x00000427, 61, 120, 0, 0},
+{0x000a7ca5,0x00000221,0x00000428, 87, 120, 0, 0},
+{0x000a7ec6,0x000002b3,0x00000429, 94, 120, 0, 0},
+{0x000a8179,0x000002d1,0x0000042a, 74, 120, 0, 0},
+{0x000a844a,0x00000306,0x0000042b, 89, 120, 0, 0},
+{0x000a8750,0x0000024a,0x0000042c, 63, 120, 0, 0},
+{0x000a899a,0x0000037f,0x0000042d, 67, 120, 0, 0},
+{0x000a8d19,0x000004d5,0x0000042e, 93, 120, 0, 0},
+{0x000a91ee,0x0000036a,0x0000042f, 60, 120, 0, 0},
+{0x000a9558,0x000002ea,0x00000430, 50, 120, 0, 0},
+{0x000a9842,0x000003a7,0x00000431, 42, 120, 0, 0},
+{0x000a9be9,0x00000222,0x00000432, 43, 120, 0, 0},
+{0x000a9e0b,0x0000012d,0x00000433, 38, 120, 0, 0},
+{0x000a9f38,0x0000052a,0x00000434, 60, 120, 0, 0},
+{0x000aa462,0x0000030d,0x00000435, 50, 120, 0, 0},
+{0x000aa76f,0x0000062a,0x00000436, 56, 120, 0, 0},
+{0x000aad99,0x000002e8,0x00000437, 48, 120, 0, 0},
+{0x000ab081,0x00000267,0x00000438, 51, 120, 0, 0},
+{0x000ab2e8,0x00000694,0x00000439, 55, 120, 0, 0},
+{0x000ab97c,0x00000294,0x0000043a, 49, 120, 0, 0},
+{0x000abc10,0x000004b4,0x0000043b, 50, 120, 0, 0},
+{0x000ac0c4,0x000002ee,0x0000043c, 59, 120, 0, 0},
+{0x000ac3b2,0x000001a3,0x0000043d, 51, 120, 0, 0},
+{0x000ac555,0x0000030e,0x0000043e, 51, 120, 0, 0},
+{0x000ac863,0x00000162,0x0000043f, 48, 120, 0, 0},
+{0x000ac9c5,0x0000031c,0x00000440, 53, 120, 0, 0},
+{0x000acce1,0x0000027b,0x00000441, 45, 120, 0, 0},
+{0x000acf5c,0x00000191,0x00000442, 45, 120, 0, 0},
+{0x000ad0ed,0x00000d1a,0x00000443, 50, 120, 0, 0},
+{0x000ade07,0x0000034c,0x00000444, 57, 120, 0, 0},
+{0x000ae153,0x00000311,0x00000445, 50, 120, 0, 0},
+{0x000ae464,0x00000214,0x00000446, 52, 120, 0, 0},
+{0x000ae678,0x00000367,0x00000447, 43, 120, 0, 0},
+{0x000ae9df,0x0000033f,0x00000448, 61, 120, 0, 0},
+{0x000aed1e,0x00000510,0x00000449, 67, 120, 0, 0},
+{0x000af22e,0x0000029e,0x0000044a, 51, 120, 0, 0},
+{0x000af4cc,0x0000025f,0x0000044b, 63, 120, 0, 0},
+{0x000af72b,0x000001d4,0x0000044c, 44, 120, 0, 0},
+{0x000af8ff,0x0000062a,0x0000044d, 47, 120, 0, 0},
+{0x000aff29,0x0000039a,0x0000044e, 66, 120, 0, 0},
+{0x000b02c3,0x0000025d,0x0000044f, 43, 120, 0, 0},
+{0x000b0520,0x000003cd,0x00000451, 50, 120, 0, 0},
+{0x000b08ed,0x0000013f,0x00000452, 65, 120, 0, 0},
+{0x000b0a2c,0x0000029b,0x00000454, 47, 120, 0, 0},
+{0x000b0cc7,0x00000165,0x00000456, 28, 120, 0, 0},
+{0x000b0e2c,0x000001b6,0x00000457, 52, 120, 0, 0},
+{0x000b0fe2,0x0000022d,0x00000458, 39, 120, 0, 0},
+{0x000b120f,0x00000124,0x00000459, 80, 120, 0, 0},
+{0x000b1333,0x0000010e,0x0000045a, 88, 120, 0, 0},
+{0x000b1441,0x00000110,0x0000045b, 70, 120, 0, 0},
+{0x000b1551,0x000005e0,0x0000045e, 50, 120, 0, 0},
+{0x000b1b31,0x000000e8,0x0000045f, 68, 120, 0, 0},
+{0x000b1c19,0x0000037a,0x00000462, 74, 120, 0, 0},
+{0x000b1f93,0x00000342,0x00000463, 51, 120, 0, 0},
+{0x000b22d5,0x00000448,0x00000472, 73, 120, 0, 0},
+{0x000b271d,0x00000321,0x00000473, 51, 120, 0, 0},
+{0x000b2a3e,0x000003fb,0x000005d0, 62, 119, 0, 0},
+{0x000b2e39,0x00000255,0x000005d1, 58, 119, 0, 0},
+{0x000b308e,0x000002dd,0x000005d2, 44, 119, 0, 0},
+{0x000b336b,0x00000251,0x000005d3, 54, 119, 0, 0},
+{0x000b35bc,0x000002cd,0x000005d4, 62, 119, 0, 0},
+{0x000b3889,0x00000201,0x000005d5, 37, 119, 0, 0},
+{0x000b3a8a,0x00000231,0x000005d6, 37, 119, 0, 0},
+{0x000b3cbb,0x00000306,0x000005d7, 65, 119, 0, 0},
+{0x000b3fc1,0x0000041a,0x000005d8, 65, 119, 0, 0},
+{0x000b43db,0x000001c7,0x000005d9, 33, 119, 0, 0},
+{0x000b45a2,0x000001f8,0x000005da, 54, 119, 0, 0},
+{0x000b479a,0x000002b6,0x000005db, 54, 119, 0, 0},
+{0x000b4a50,0x0000034b,0x000005dc, 54, 119, 0, 0},
+{0x000b4d9b,0x00000328,0x000005dd, 62, 119, 0, 0},
+{0x000b50c3,0x00000407,0x000005de, 65, 119, 0, 0},
+{0x000b54ca,0x00000221,0x000005df, 37, 119, 0, 0},
+{0x000b56eb,0x00000211,0x000005e0, 37, 119, 0, 0},
+{0x000b58fc,0x00000367,0x000005e1, 58, 119, 0, 0},
+{0x000b5c63,0x000003cd,0x000005e2, 58, 119, 0, 0},
+{0x000b6030,0x000002ee,0x000005e3, 58, 119, 0, 0},
+{0x000b631e,0x00000375,0x000005e4, 58, 119, 0, 0},
+{0x000b6693,0x00000301,0x000005e5, 58, 119, 0, 0},
+{0x000b6994,0x00000380,0x000005e6, 58, 119, 0, 0},
+{0x000b6d14,0x000003a3,0x000005e7, 58, 119, 0, 0},
+{0x000b70b7,0x00000224,0x000005e8, 51, 119, 0, 0},
+{0x000b72db,0x00000522,0x000005e9, 76, 119, 0, 0},
+{0x000b77fd,0x00000343,0x000005ea, 62, 119, 0, 0},
+{0x000b7b40,0x0000008a,0x00000604, 27, 190, 0, 0},
+{0x000b7bca,0x000001bb,0x0000060c, 56, 190, 0, 0},
+{0x000b7d85,0x0000022d,0x0000061b, 56, 190, 0, 0},
+{0x000b7fb2,0x000003c7,0x0000061f, 59, 190, 0, 0},
+{0x000b8379,0x00000309,0x00000621, 72, 190, 0, 0},
+{0x000b8682,0x000002fe,0x00000622, 44, 190, 0, 0},
+{0x000b8980,0x00000315,0x00000623, 34, 190, 0, 0},
+{0x000b8c95,0x00000443,0x00000624, 61, 190, 0, 0},
+{0x000b90d8,0x00000319,0x00000625, 42, 190, 0, 0},
+{0x000b93f1,0x00000619,0x00000626, 88, 190, 0, 0},
+{0x000b9a0a,0x00000203,0x00000627, 34, 190, 0, 0},
+{0x000b9c0d,0x00000428,0x00000628, 106, 190, 0, 0},
+{0x000ba035,0x00000481,0x0000062a, 106, 190, 0, 0},
+{0x000ba4b6,0x000004de,0x0000062b, 106, 190, 0, 0},
+{0x000ba994,0x00000552,0x0000062c, 84, 190, 0, 0},
+{0x000baee6,0x000004b9,0x0000062d, 84, 190, 0, 0},
+{0x000bb39f,0x0000052d,0x0000062e, 84, 190, 0, 0},
+{0x000bb8cc,0x000002b1,0x0000062f, 59, 190, 0, 0},
+{0x000bbb7d,0x0000032d,0x00000630, 59, 190, 0, 0},
+{0x000bbeaa,0x000002c0,0x00000631, 58, 190, 0, 0},
+{0x000bc16a,0x0000033f,0x00000632, 58, 190, 0, 0},
+{0x000bc4a9,0x00000553,0x00000633, 121, 190, 0, 0},
+{0x000bc9fc,0x0000067d,0x00000634, 121, 190, 0, 0},
+{0x000bd079,0x00000627,0x00000635, 141, 190, 0, 0},
+{0x000bd6a0,0x000006b6,0x00000636, 141, 190, 0, 0},
+{0x000bdd56,0x000004f7,0x00000637, 101, 190, 0, 0},
+{0x000be24d,0x00000595,0x00000638, 101, 190, 0, 0},
+{0x000be7e2,0x00000505,0x00000639, 90, 190, 0, 0},
+{0x000bece7,0x0000057b,0x0000063a, 90, 190, 0, 0},
+{0x000bf262,0x000000b7,0x00000640, 70, 190, 0, 0},
+{0x000bf319,0x000004fc,0x00000641, 106, 190, 0, 0},
+{0x000bf815,0x0000050d,0x00000642, 77, 190, 0, 0},
+{0x000bfd22,0x00000532,0x00000643, 89, 190, 0, 0},
+{0x000c0254,0x00000478,0x00000644, 61, 190, 0, 0},
+{0x000c06cc,0x000002a5,0x00000645, 50, 190, 0, 0},
+{0x000c0971,0x000003fa,0x00000646, 65, 190, 0, 0},
+{0x000c0d6b,0x0000039e,0x00000647, 60, 190, 0, 0},
+{0x000c1109,0x00000355,0x00000648, 61, 190, 0, 0},
+{0x000c145e,0x0000051e,0x00000649, 88, 190, 0, 0},
+{0x000c197c,0x000005ce,0x0000064a, 88, 190, 0, 0},
+{0x000c1f4a,0x000001b8,0x0000064b, 35, 190, 0, 0},
+{0x000c2102,0x00000264,0x0000064c, 39, 190, 0, 0},
+{0x000c2366,0x0000019d,0x0000064d, 35, 190, 0, 0},
+{0x000c2503,0x0000011f,0x0000064e, 35, 190, 0, 0},
+{0x000c2622,0x000001e6,0x0000064f, 35, 190, 0, 0},
+{0x000c2808,0x00000133,0x00000650, 35, 190, 0, 0},
+{0x000c293b,0x000001ce,0x00000651, 36, 190, 0, 0},
+{0x000c2b09,0x000001a1,0x00000652, 28, 190, 0, 0},
+{0x000c2caa,0x0000016f,0x00000660, 82, 190, 0, 0},
+{0x000c2e19,0x0000033d,0x00000661, 82, 190, 0, 0},
+{0x000c3156,0x000003f9,0x00000662, 82, 190, 0, 0},
+{0x000c354f,0x00000495,0x00000663, 82, 190, 0, 0},
+{0x000c39e4,0x000003ef,0x00000664, 82, 190, 0, 0},
+{0x000c3dd3,0x00000400,0x00000665, 82, 190, 0, 0},
+{0x000c41d3,0x00000368,0x00000666, 82, 190, 0, 0},
+{0x000c453b,0x0000050c,0x00000667, 82, 190, 0, 0},
+{0x000c4a47,0x000004fd,0x00000668, 82, 190, 0, 0},
+{0x000c4f44,0x0000042c,0x00000669, 82, 190, 0, 0},
+{0x000c5370,0x0000041e,0x0000066a, 74, 190, 0, 0},
+{0x000c578e,0x000001a0,0x0000066c, 34, 190, 0, 0},
+{0x000c592e,0x0000057b,0x0000066d, 98, 190, 0, 0},
+{0x000c5ea9,0x0000015b,0x00000670, 15, 190, 0, 0},
+{0x000c6004,0x0000032f,0x00000671, 39, 190, 0, 0},
+{0x000c6333,0x000001e5,0x00000674, 43, 190, 0, 0},
+{0x000c6518,0x0000058e,0x00000686, 105, 190, 0, 0},
+{0x000c6aa6,0x000002c0,0x0000068d, 42, 190, 0, 0},
+{0x000c6d66,0x0000039d,0x00000698, 63, 190, 0, 0},
+{0x000c7103,0x000003fb,0x000006a9, 69, 190, 0, 0},
+{0x000c74fe,0x0000072d,0x000006af, 154, 190, 0, 0},
+{0x000c7c2b,0x0000039e,0x000006be, 60, 190, 0, 0},
+{0x000c7fc9,0x000002b9,0x000006c2, 61, 190, 0, 0},
+{0x000c8282,0x000002b3,0x000006c3, 63, 190, 0, 0},
+{0x000c8535,0x000004e8,0x000006cc, 98, 190, 0, 0},
+{0x000c8a1d,0x00000297,0x000006d5, 41, 190, 0, 0},
+{0x000c8cb4,0x00000568,0x000006d9, 82, 190, 0, 0},
+{0x000c921c,0x0000017f,0x000006f0, 65, 190, 0, 0},
+{0x000c939b,0x0000029c,0x000006f1, 65, 190, 0, 0},
+{0x000c9637,0x00000360,0x000006f2, 65, 190, 0, 0},
+{0x000c9997,0x000003bc,0x000006f3, 65, 190, 0, 0},
+{0x000c9d53,0x00000359,0x000006f4, 65, 190, 0, 0},
+{0x000ca0ac,0x00000478,0x000006f5, 65, 190, 0, 0},
+{0x000ca524,0x000003c6,0x000006f6, 65, 190, 0, 0},
+{0x000ca8ea,0x0000046e,0x000006f7, 65, 190, 0, 0},
+{0x000cad58,0x0000045d,0x000006f8, 65, 190, 0, 0},
+{0x000cb1b5,0x0000037f,0x000006f9, 65, 190, 0, 0},
+{0x000cb534,0x000003f9,0x00001f00, 76, 120, 0, 0},
+{0x000cb92d,0x0000058b,0x00001f01, 76, 120, 0, 0},
+{0x000cbeb8,0x00000638,0x00001f02, 76, 120, 0, 0},
+{0x000cc4f0,0x00000664,0x00001f03, 76, 120, 0, 0},
+{0x000ccb54,0x00000644,0x00001f04, 76, 120, 0, 0},
+{0x000cd198,0x00000668,0x00001f05, 76, 120, 0, 0},
+{0x000cd800,0x0000034b,0x00001f10, 61, 120, 0, 0},
+{0x000cdb4b,0x000004a0,0x00001f11, 61, 120, 0, 0},
+{0x000cdfeb,0x0000054c,0x00001f12, 61, 120, 0, 0},
+{0x000ce537,0x00000572,0x00001f13, 61, 120, 0, 0},
+{0x000ceaa9,0x0000055e,0x00001f14, 61, 120, 0, 0},
+{0x000cf007,0x00000572,0x00001f15, 61, 120, 0, 0},
+{0x000cf579,0x00000458,0x00001f20, 73, 120, 0, 0},
+{0x000cf9d1,0x00000475,0x00001f21, 73, 120, 0, 0},
+{0x000cfe46,0x00000510,0x00001f22, 73, 120, 0, 0},
+{0x000d0356,0x00000538,0x00001f23, 73, 120, 0, 0},
+{0x000d088e,0x00000518,0x00001f24, 73, 120, 0, 0},
+{0x000d0da6,0x0000053d,0x00001f25, 73, 120, 0, 0},
+{0x000d12e3,0x000003be,0x00001f30, 43, 120, 0, 0},
+{0x000d16a1,0x000003de,0x00001f31, 43, 120, 0, 0},
+{0x000d1a7f,0x00000498,0x00001f32, 43, 120, 0, 0},
+{0x000d1f17,0x000004b7,0x00001f33, 43, 120, 0, 0},
+{0x000d23ce,0x000004a4,0x00001f34, 43, 120, 0, 0},
+{0x000d2872,0x000003b3,0x00001f35, 43, 120, 0, 0},
+{0x000d2c25,0x00000378,0x00001f40, 61, 120, 0, 0},
+{0x000d2f9d,0x00000390,0x00001f41, 61, 120, 0, 0},
+{0x000d332d,0x0000055d,0x00001f42, 61, 120, 0, 0},
+{0x000d388a,0x0000057d,0x00001f43, 61, 120, 0, 0},
+{0x000d3e07,0x0000043b,0x00001f44, 61, 120, 0, 0},
+{0x000d4242,0x0000045d,0x00001f45, 61, 120, 0, 0},
+{0x000d469f,0x000004fe,0x00001f50, 67, 120, 0, 0},
+{0x000d4b9d,0x000003cf,0x00001f51, 67, 120, 0, 0},
+{0x000d4f6c,0x000005d4,0x00001f52, 67, 120, 0, 0},
+{0x000d5540,0x000005fd,0x00001f53, 67, 120, 0, 0},
+{0x000d5b3d,0x00000471,0x00001f54, 67, 120, 0, 0},
+{0x000d5fae,0x0000048e,0x00001f55, 67, 120, 0, 0},
+{0x000d643c,0x0000056a,0x00001f60, 76, 120, 0, 0},
+{0x000d69a6,0x00000597,0x00001f61, 76, 120, 0, 0},
+{0x000d6f3d,0x0000063e,0x00001f62, 76, 120, 0, 0},
+{0x000d757b,0x00000668,0x00001f63, 76, 120, 0, 0},
+{0x000d7be3,0x00000648,0x00001f64, 76, 120, 0, 0},
+{0x000d822b,0x0000066b,0x00001f65, 76, 120, 0, 0},
+{0x000d8896,0x0000055d,0x00001f70, 76, 120, 0, 0},
+{0x000d8df3,0x0000042e,0x00001f71, 76, 120, 0, 0},
+{0x000d9221,0x0000044d,0x00001f72, 61, 120, 0, 0},
+{0x000d966e,0x0000036c,0x00001f73, 61, 120, 0, 0},
+{0x000d99da,0x000005ac,0x00001f74, 73, 120, 0, 0},
+{0x000d9f86,0x0000048b,0x00001f75, 73, 120, 0, 0},
+{0x000da411,0x00000398,0x00001f76, 43, 120, 0, 0},
+{0x000da7a9,0x00000306,0x00001f77, 43, 120, 0, 0},
+{0x000daaaf,0x0000045e,0x00001f78, 61, 120, 0, 0},
+{0x000daf0d,0x0000039e,0x00001f79, 61, 120, 0, 0},
+{0x000db2ab,0x000004dd,0x00001f7a, 67, 120, 0, 0},
+{0x000db788,0x000003d6,0x00001f7b, 67, 120, 0, 0},
+{0x000dbb5e,0x00000565,0x00001f7c, 76, 120, 0, 0},
+{0x000dc0c3,0x00000454,0x00001f7d, 76, 120, 0, 0},
+{0x000dc517,0x0000038a,0x00001fd3, 43, 120, 0, 0},
+{0x000dc8a1,0x00000459,0x00001fe3, 67, 120, 0, 0},
+{0x000dccfa,0x00000087,0x00002013, 56, 120, 0, 0},
+{0x000dcd81,0x0000007e,0x00002014, 100, 120, 0, 0},
+{0x000dcdff,0x00000157,0x00002018, 21, 120, 0, 0},
+{0x000dcf56,0x00000156,0x00002019, 21, 120, 0, 0},
+{0x000dd0ac,0x00000166,0x0000201a, 28, 120, 0, 0},
+{0x000dd212,0x00000163,0x0000201b, 21, 120, 0, 0},
+{0x000dd375,0x0000016f,0x0000201c, 39, 120, 0, 0},
+{0x000dd4e4,0x00000177,0x0000201d, 39, 120, 0, 0},
+{0x000dd65b,0x00000179,0x0000201e, 39, 120, 0, 0},
+{0x000dd7d4,0x00000189,0x0000201f, 39, 120, 0, 0},
+{0x000dd95d,0x0000031d,0x00002020, 50, 120, 0, 0},
+{0x000ddc7a,0x0000041d,0x00002021, 50, 120, 0, 0},
+{0x000de097,0x000001a7,0x00002022, 61, 120, 0, 0},
+{0x000de23e,0x000001be,0x00002026, 100, 120, 0, 0},
+{0x000de3fc,0x0000076b,0x00002030, 100, 120, 0, 0},
+{0x000deb67,0x00000166,0x00002039, 26, 120, 0, 0},
+{0x000deccd,0x00000161,0x0000203a, 26, 120, 0, 0},
+{0x000dee2e,0x000001ce,0x00002062, 52, 112, 0, 0},
+{0x000deffc,0x00000420,0x000020ac, 66, 120, 0, 0},
+{0x000df41c,0x00000188,0x000020e8, 94, 112, 0, 0},
+{0x000df5a4,0x0000053c,0x00002103, 100, 120, 0, 0},
+{0x000dfae0,0x00000393,0x00002109, 101, 120, 0, 0},
+{0x000dfe73,0x000005a1,0x00002116, 112, 120, 0, 0},
+{0x000e0414,0x000004af,0x00002120, 79, 120, 0, 0},
+{0x000e08c3,0x0000034a,0x00002122, 84, 112, 0, 0},
+{0x000e0c0d,0x0000020c,0x000021d1, 57, 112, 0, 0},
+{0x000e0e19,0x0000021d,0x000021d2, 93, 112, 0, 0},
+{0x000e1036,0x00000206,0x000021d3, 57, 112, 0, 0},
+{0x000e123c,0x00000322,0x00002200, 67, 112, 0, 0},
+{0x000e155e,0x000003d5,0x00002202, 47, 112, 0, 0},
+{0x000e1933,0x000000bf,0x00002203, 52, 112, 0, 0},
+{0x000e19f2,0x0000048e,0x00002205, 77, 112, 0, 0},
+{0x000e1e80,0x000002f5,0x00002206, 58, 112, 0, 0},
+{0x000e2175,0x00000343,0x00002207, 67, 112, 0, 0},
+{0x000e24b8,0x00000309,0x00002209, 67, 112, 0, 0},
+{0x000e27c1,0x00000228,0x0000220a, 67, 112, 0, 0},
+{0x000e29e9,0x00000220,0x0000220d, 42, 112, 0, 0},
+{0x000e2c09,0x00000202,0x0000220f, 77, 112, 0, 0},
+{0x000e2e0b,0x00000322,0x00002211, 67, 112, 0, 0},
+{0x000e312d,0x000001de,0x00002215, 50, 112, 0, 0},
+{0x000e330b,0x000000b8,0x00002219, 24, 112, 0, 0},
+{0x000e33c3,0x00000385,0x0000221a, 52, 112, 0, 0},
+{0x000e3748,0x000002ed,0x0000221d, 67, 112, 0, 0},
+{0x000e3a35,0x00000353,0x0000221e, 67, 112, 0, 0},
+{0x000e3d88,0x0000024e,0x00002220, 72, 112, 0, 0},
+{0x000e3fd6,0x0000008f,0x00002223, 57, 112, 0, 0},
+{0x000e4065,0x00000283,0x00002227, 57, 112, 0, 0},
+{0x000e42e8,0x00000281,0x00002228, 57, 112, 0, 0},
+{0x000e4569,0x000001f6,0x0000222b, 28, 112, 0, 0},
+{0x000e475f,0x000001c4,0x00002234, 81, 112, 0, 0},
+{0x000e4923,0x00000190,0x00002245, 52, 112, 0, 0},
+{0x000e4ab3,0x0000026d,0x00002248, 52, 112, 0, 0},
+{0x000e4d20,0x000001b8,0x00002260, 52, 112, 0, 0},
+{0x000e4ed8,0x000000b7,0x00002261, 52, 112, 0, 0},
+{0x000e4f8f,0x00000233,0x00002264, 52, 112, 0, 0},
+{0x000e51c2,0x0000020f,0x00002265, 52, 112, 0, 0},
+{0x000e53d1,0x00000223,0x00002282, 67, 112, 0, 0},
+{0x000e55f4,0x0000020e,0x00002283, 67, 112, 0, 0},
+{0x000e5802,0x00000340,0x00002284, 67, 112, 0, 0},
+{0x000e5b42,0x00000245,0x00002286, 67, 112, 0, 0},
+{0x000e5d87,0x0000022c,0x00002287, 67, 112, 0, 0},
+{0x000e5fb3,0x0000047d,0x00002295, 72, 112, 0, 0},
+{0x000e6430,0x0000054c,0x00002297, 72, 112, 0, 0},
+{0x000e697c,0x000000a8,0x000022a5, 62, 112, 0, 0},
+{0x000e6a24,0x00000283,0x000022c0, 57, 112, 0, 0},
+{0x000e6ca7,0x00000281,0x000022c1, 57, 112, 0, 0},
+{0x000e6f28,0x0000027f,0x000022c2, 72, 112, 0, 0},
+{0x000e71a7,0x0000028d,0x000022c3, 72, 112, 0, 0},
+{0x000e7434,0x0000048e,0x00002300, 77, 112, 0, 0},
+{0x000e78c2,0x00000183,0x00002329, 32, 112, 0, 0},
+{0x000e7a45,0x0000017f,0x0000232a, 32, 112, 0, 0},
+{0x000e7bc4,0x00000220,0x0000239b, 42, 112, 0, 0},
+{0x000e7de4,0x00000098,0x0000239c, 37, 112, 0, 0},
+{0x000e7e7c,0x00000234,0x0000239d, 42, 112, 0, 0},
+{0x000e80b0,0x00000236,0x0000239e, 43, 112, 0, 0},
+{0x000e82e6,0x00000097,0x0000239f, 43, 112, 0, 0},
+{0x000e837d,0x00000216,0x000023a0, 43, 112, 0, 0},
+{0x000e8593,0x000000a7,0x000023a1, 37, 112, 0, 0},
+{0x000e863a,0x00000094,0x000023a2, 37, 112, 0, 0},
+{0x000e86ce,0x000000a5,0x000023a3, 37, 112, 0, 0},
+{0x000e8773,0x000000a6,0x000023a4, 37, 112, 0, 0},
+{0x000e8819,0x00000091,0x000023a5, 37, 112, 0, 0},
+{0x000e88aa,0x0000009e,0x000023a6, 37, 112, 0, 0},
+{0x000e8948,0x00000158,0x000023a7, 47, 112, 0, 0},
+{0x000e8aa0,0x0000020b,0x000023a8, 47, 112, 0, 0},
+{0x000e8cab,0x0000015b,0x000023a9, 47, 112, 0, 0},
+{0x000e8e06,0x000000a2,0x000023aa, 47, 112, 0, 0},
+{0x000e8ea8,0x0000015d,0x000023ab, 47, 112, 0, 0},
+{0x000e9005,0x000001ff,0x000023ac, 47, 112, 0, 0},
+{0x000e9204,0x00000154,0x000023ad, 47, 112, 0, 0},
+{0x000e9358,0x00000714,0x00002622, 85, 120, 0, 0},
+{0x000e9a6c,0x0000017f,0x000027e9, 32, 112, 0, 0},
+{0x000e9beb,0x0000023a,0x000027f8, 93, 112, 0, 0},
+{0x000e9e25,0x00000341,0x000027fa, 98, 112, 0, 0},
+{0x000ea166,0x0000019f,0x00002981, 44, 112, 0, 0},
+{0x000ea305,0x0000024e,0x0000299f, 72, 112, 0, 0},
+{0x000ea553,0x00000275,0x0000fb01, 62, 120, 0, 0},
+{0x000ea7c8,0x0000022b,0x0000fb02, 62, 120, 0, 0},
+{0x000ea9f3,0x00000067,0x00000020, 60, 120, 0, 0},
+{0x000eaa5a,0x00000187,0x00000021, 60, 120, 0, 0},
+{0x000eabe1,0x0000016c,0x00000022, 60, 120, 0, 0},
+{0x000ead4d,0x0000032b,0x00000023, 60, 120, 0, 0},
+{0x000eb078,0x00000306,0x00000024, 60, 120, 0, 0},
+{0x000eb37e,0x0000034e,0x00000025, 60, 120, 0, 0},
+{0x000eb6cc,0x000002df,0x00000026, 60, 120, 0, 0},
+{0x000eb9ab,0x0000015c,0x00000027, 60, 120, 0, 0},
+{0x000ebb07,0x00000208,0x00000028, 60, 120, 0, 0},
+{0x000ebd0f,0x000001ed,0x00000029, 60, 120, 0, 0},
+{0x000ebefc,0x000001e0,0x0000002a, 60, 120, 0, 0},
+{0x000ec0dc,0x0000014a,0x0000002b, 60, 120, 0, 0},
+{0x000ec226,0x0000014f,0x0000002c, 60, 120, 0, 0},
+{0x000ec375,0x000000b8,0x0000002d, 60, 120, 0, 0},
+{0x000ec42d,0x000000de,0x0000002e, 60, 120, 0, 0},
+{0x000ec50b,0x000001fd,0x0000002f, 60, 120, 0, 0},
+{0x000ec708,0x00000314,0x00000030, 60, 120, 0, 0},
+{0x000eca1c,0x0000014a,0x00000031, 60, 120, 0, 0},
+{0x000ecb66,0x000002a2,0x00000032, 60, 120, 0, 0},
+{0x000ece08,0x000002cf,0x00000033, 60, 120, 0, 0},
+{0x000ed0d7,0x00000296,0x00000034, 60, 120, 0, 0},
+{0x000ed36d,0x00000268,0x00000035, 60, 120, 0, 0},
+{0x000ed5d5,0x0000031a,0x00000036, 60, 120, 0, 0},
+{0x000ed8ef,0x00000234,0x00000037, 60, 120, 0, 0},
+{0x000edb23,0x00000353,0x00000038, 60, 120, 0, 0},
+{0x000ede76,0x0000032a,0x00000039, 60, 120, 0, 0},
+{0x000ee1a0,0x00000139,0x0000003a, 60, 120, 0, 0},
+{0x000ee2d9,0x000001c2,0x0000003b, 60, 120, 0, 0},
+{0x000ee49b,0x000001d4,0x0000003c, 60, 120, 0, 0},
+{0x000ee66f,0x000000f9,0x0000003d, 60, 120, 0, 0},
+{0x000ee768,0x000001bc,0x0000003e, 60, 120, 0, 0},
+{0x000ee924,0x00000251,0x0000003f, 60, 120, 0, 0},
+{0x000eeb75,0x0000036f,0x00000040, 60, 120, 0, 0},
+{0x000eeee4,0x00000301,0x00000041, 60, 120, 0, 0},
+{0x000ef1e5,0x000002e9,0x00000042, 60, 120, 0, 0},
+{0x000ef4ce,0x000002e1,0x00000043, 60, 120, 0, 0},
+{0x000ef7af,0x0000028f,0x00000044, 60, 120, 0, 0},
+{0x000efa3e,0x0000027d,0x00000045, 60, 120, 0, 0},
+{0x000efcbb,0x00000242,0x00000046, 60, 120, 0, 0},
+{0x000efefd,0x000002fc,0x00000047, 60, 120, 0, 0},
+{0x000f01f9,0x00000275,0x00000048, 60, 120, 0, 0},
+{0x000f046e,0x0000015e,0x00000049, 60, 120, 0, 0},
+{0x000f05cc,0x00000225,0x0000004a, 60, 120, 0, 0},
+{0x000f07f1,0x00000354,0x0000004b, 60, 120, 0, 0},
+{0x000f0b45,0x0000019d,0x0000004c, 60, 120, 0, 0},
+{0x000f0ce2,0x0000030f,0x0000004d, 60, 120, 0, 0},
+{0x000f0ff1,0x000002e4,0x0000004e, 60, 120, 0, 0},
+{0x000f12d5,0x00000320,0x0000004f, 60, 120, 0, 0},
+{0x000f15f5,0x00000280,0x00000050, 60, 120, 0, 0},
+{0x000f1875,0x000003aa,0x00000051, 60, 120, 0, 0},
+{0x000f1c1f,0x00000304,0x00000052, 60, 120, 0, 0},
+{0x000f1f23,0x00000314,0x00000053, 60, 120, 0, 0},
+{0x000f2237,0x000001d0,0x00000054, 60, 120, 0, 0},
+{0x000f2407,0x00000259,0x00000055, 60, 120, 0, 0},
+{0x000f2660,0x0000030a,0x00000056, 60, 120, 0, 0},
+{0x000f296a,0x000003f3,0x00000057, 60, 120, 0, 0},
+{0x000f2d5d,0x0000031d,0x00000058, 60, 120, 0, 0},
+{0x000f307a,0x00000277,0x00000059, 60, 120, 0, 0},
+{0x000f32f1,0x000002ad,0x0000005a, 60, 120, 0, 0},
+{0x000f359e,0x00000126,0x0000005b, 60, 120, 0, 0},
+{0x000f36c4,0x000001eb,0x0000005c, 60, 120, 0, 0},
+{0x000f38af,0x00000121,0x0000005d, 60, 120, 0, 0},
+{0x000f39d0,0x00000184,0x0000005e, 60, 120, 0, 0},
+{0x000f3b54,0x00000097,0x0000005f, 60, 120, 0, 0},
+{0x000f3beb,0x00000149,0x00000060, 60, 120, 0, 0},
+{0x000f3d34,0x00000299,0x00000061, 60, 120, 0, 0},
+{0x000f3fcd,0x0000030e,0x00000062, 60, 120, 0, 0},
+{0x000f42db,0x00000269,0x00000063, 60, 120, 0, 0},
+{0x000f4544,0x00000302,0x00000064, 60, 120, 0, 0},
+{0x000f4846,0x00000289,0x00000065, 60, 120, 0, 0},
+{0x000f4acf,0x000001e9,0x00000066, 60, 120, 0, 0},
+{0x000f4cb8,0x00000323,0x00000067, 60, 120, 0, 0},
+{0x000f4fdb,0x0000026e,0x00000068, 60, 120, 0, 0},
+{0x000f5249,0x0000018c,0x00000069, 60, 120, 0, 0},
+{0x000f53d5,0x000001ec,0x0000006a, 60, 120, 0, 0},
+{0x000f55c1,0x000002cf,0x0000006b, 60, 120, 0, 0},
+{0x000f5890,0x0000013e,0x0000006c, 60, 120, 0, 0},
+{0x000f59ce,0x00000264,0x0000006d, 60, 120, 0, 0},
+{0x000f5c32,0x00000215,0x0000006e, 60, 120, 0, 0},
+{0x000f5e47,0x000002a2,0x0000006f, 60, 120, 0, 0},
+{0x000f60e9,0x0000031b,0x00000070, 60, 120, 0, 0},
+{0x000f6404,0x0000031c,0x00000071, 60, 120, 0, 0},
+{0x000f6720,0x000001e9,0x00000072, 60, 120, 0, 0},
+{0x000f6909,0x0000029c,0x00000073, 60, 120, 0, 0},
+{0x000f6ba5,0x0000020c,0x00000074, 60, 120, 0, 0},
+{0x000f6db1,0x00000218,0x00000075, 60, 120, 0, 0},
+{0x000f6fc9,0x00000295,0x00000076, 60, 120, 0, 0},
+{0x000f725e,0x00000312,0x00000077, 60, 120, 0, 0},
+{0x000f7570,0x0000028b,0x00000078, 60, 120, 0, 0},
+{0x000f77fb,0x0000030b,0x00000079, 60, 120, 0, 0},
+{0x000f7b06,0x00000228,0x0000007a, 60, 120, 0, 0},
+{0x000f7d2e,0x000001c6,0x0000007b, 60, 120, 0, 0},
+{0x000f7ef4,0x000000b1,0x0000007c, 60, 120, 0, 0},
+{0x000f7fa5,0x000001c4,0x0000007d, 60, 120, 0, 0},
+{0x000f8169,0x00000161,0x0000007e, 60, 120, 0, 0},
+{0x000f82ca,0x0000040f,0x0000007f, 60, 120, 0, 0},
+{0x000f86d9,0x00000067,0x000000a0, 60, 120, 0, 0},
+{0x000f8740,0x00000182,0x000000a1, 60, 120, 0, 0},
+{0x000f88c2,0x0000027d,0x000000a2, 60, 120, 0, 0},
+{0x000f8b3f,0x00000291,0x000000a3, 60, 120, 0, 0},
+{0x000f8dd0,0x000002e8,0x000000a5, 60, 120, 0, 0},
+{0x000f90b8,0x000000b1,0x000000a6, 60, 120, 0, 0},
+{0x000f9169,0x00000385,0x000000a7, 60, 120, 0, 0},
+{0x000f94ee,0x00000112,0x000000a8, 60, 120, 0, 0},
+{0x000f9600,0x00000469,0x000000a9, 60, 120, 0, 0},
+{0x000f9a69,0x0000026b,0x000000ab, 60, 120, 0, 0},
+{0x000f9cd4,0x00000497,0x000000ae, 60, 120, 0, 0},
+{0x000fa16b,0x000000c4,0x000000af, 60, 120, 0, 0},
+{0x000fa22f,0x0000015e,0x000000b0, 60, 120, 0, 0},
+{0x000fa38d,0x0000015e,0x000000b1, 60, 120, 0, 0},
+{0x000fa4eb,0x000000e5,0x000000b4, 60, 120, 0, 0},
+{0x000fa5d0,0x000002c5,0x000000b6, 60, 120, 0, 0},
+{0x000fa895,0x000000cd,0x000000b7, 60, 120, 0, 0},
+{0x000fa962,0x00000125,0x000000b8, 60, 120, 0, 0},
+{0x000faa87,0x000001ad,0x000000bb, 60, 120, 0, 0},
+{0x000fac34,0x00000254,0x000000bf, 60, 120, 0, 0},
+{0x000fae88,0x0000035d,0x000000c0, 60, 120, 0, 0},
+{0x000fb1e5,0x00000359,0x000000c1, 60, 120, 0, 0},
+{0x000fb53e,0x00000382,0x000000c2, 60, 120, 0, 0},
+{0x000fb8c0,0x0000036d,0x000000c3, 60, 120, 0, 0},
+{0x000fbc2d,0x0000035c,0x000000c4, 60, 120, 0, 0},
+{0x000fbf89,0x000003ba,0x000000c5, 60, 120, 0, 0},
+{0x000fc343,0x00000368,0x000000c6, 60, 120, 0, 0},
+{0x000fc6ab,0x00000355,0x000000c7, 60, 120, 0, 0},
+{0x000fca00,0x000002c7,0x000000c8, 60, 120, 0, 0},
+{0x000fccc7,0x000002c1,0x000000c9, 60, 120, 0, 0},
+{0x000fcf88,0x000002ea,0x000000ca, 60, 120, 0, 0},
+{0x000fd272,0x000002e9,0x000000cb, 60, 120, 0, 0},
+{0x000fd55b,0x000001ac,0x000000cc, 60, 120, 0, 0},
+{0x000fd707,0x000001a4,0x000000cd, 60, 120, 0, 0},
+{0x000fd8ab,0x000001cd,0x000000ce, 60, 120, 0, 0},
+{0x000fda78,0x000001cc,0x000000cf, 60, 120, 0, 0},
+{0x000fdc44,0x000002cf,0x000000d0, 60, 120, 0, 0},
+{0x000fdf13,0x00000348,0x000000d1, 60, 120, 0, 0},
+{0x000fe25b,0x00000393,0x000000d2, 60, 120, 0, 0},
+{0x000fe5ee,0x00000388,0x000000d3, 60, 120, 0, 0},
+{0x000fe976,0x000003af,0x000000d4, 60, 120, 0, 0},
+{0x000fed25,0x0000039c,0x000000d5, 60, 120, 0, 0},
+{0x000ff0c1,0x000003b0,0x000000d6, 60, 120, 0, 0},
+{0x000ff471,0x00000419,0x000000d8, 60, 120, 0, 0},
+{0x000ff88a,0x000002a1,0x000000d9, 60, 120, 0, 0},
+{0x000ffb2b,0x000002a1,0x000000da, 60, 120, 0, 0},
+{0x000ffdcc,0x000002cc,0x000000db, 60, 120, 0, 0},
+{0x00100098,0x000002c2,0x000000dc, 60, 120, 0, 0},
+{0x0010035a,0x000002d5,0x000000dd, 60, 120, 0, 0},
+{0x0010062f,0x00000272,0x000000de, 60, 120, 0, 0},
+{0x001008a1,0x00000328,0x000000df, 60, 120, 0, 0},
+{0x00100bc9,0x000002fa,0x000000e0, 60, 120, 0, 0},
+{0x00100ec3,0x000002fa,0x000000e1, 60, 120, 0, 0},
+{0x001011bd,0x0000031e,0x000000e2, 60, 120, 0, 0},
+{0x001014db,0x00000309,0x000000e3, 60, 120, 0, 0},
+{0x001017e4,0x00000322,0x000000e4, 60, 120, 0, 0},
+{0x00101b06,0x0000035f,0x000000e5, 60, 120, 0, 0},
+{0x00101e65,0x00000325,0x000000e6, 60, 120, 0, 0},
+{0x0010218a,0x000002e7,0x000000e7, 60, 120, 0, 0},
+{0x00102471,0x000002de,0x000000e8, 60, 120, 0, 0},
+{0x0010274f,0x000002da,0x000000e9, 60, 120, 0, 0},
+{0x00102a29,0x00000305,0x000000ea, 60, 120, 0, 0},
+{0x00102d2e,0x00000308,0x000000eb, 60, 120, 0, 0},
+{0x00103036,0x00000198,0x000000ec, 60, 120, 0, 0},
+{0x001031ce,0x0000018f,0x000000ed, 60, 120, 0, 0},
+{0x0010335d,0x000001b9,0x000000ee, 60, 120, 0, 0},
+{0x00103516,0x000001be,0x000000ef, 60, 120, 0, 0},
+{0x001036d4,0x00000374,0x000000f0, 60, 120, 0, 0},
+{0x00103a48,0x0000026a,0x000000f1, 60, 120, 0, 0},
+{0x00103cb2,0x0000031b,0x000000f2, 60, 120, 0, 0},
+{0x00103fcd,0x0000031f,0x000000f3, 60, 120, 0, 0},
+{0x001042ec,0x00000342,0x000000f4, 60, 120, 0, 0},
+{0x0010462e,0x0000032c,0x000000f5, 60, 120, 0, 0},
+{0x0010495a,0x00000343,0x000000f6, 60, 120, 0, 0},
+{0x00104c9d,0x0000035d,0x000000f8, 60, 120, 0, 0},
+{0x00104ffa,0x00000277,0x000000f9, 60, 120, 0, 0},
+{0x00105271,0x00000272,0x000000fa, 60, 120, 0, 0},
+{0x001054e3,0x00000298,0x000000fb, 60, 120, 0, 0},
+{0x0010577b,0x0000029a,0x000000fc, 60, 120, 0, 0},
+{0x00105a15,0x0000034f,0x000000fd, 60, 120, 0, 0},
+{0x00105d64,0x0000034c,0x000000fe, 60, 120, 0, 0},
+{0x001060b0,0x0000037b,0x000000ff, 60, 120, 0, 0},
+{0x0010642b,0x0000032b,0x00000100, 60, 120, 0, 0},
+{0x00106756,0x000002c9,0x00000101, 60, 120, 0, 0},
+{0x00106a1f,0x0000038d,0x00000102, 60, 120, 0, 0},
+{0x00106dac,0x00000332,0x00000103, 60, 120, 0, 0},
+{0x001070de,0x00000376,0x00000104, 60, 120, 0, 0},
+{0x00107454,0x00000305,0x00000105, 60, 120, 0, 0},
+{0x00107759,0x0000033f,0x00000106, 60, 120, 0, 0},
+{0x00107a98,0x000002c9,0x00000107, 60, 120, 0, 0},
+{0x00107d61,0x00000363,0x00000108, 60, 120, 0, 0},
+{0x001080c4,0x000002f6,0x00000109, 60, 120, 0, 0},
+{0x001083ba,0x0000032c,0x0000010a, 60, 120, 0, 0},
+{0x001086e6,0x000002b0,0x0000010b, 60, 120, 0, 0},
+{0x00108996,0x00000371,0x0000010c, 60, 120, 0, 0},
+{0x00108d07,0x0000030c,0x0000010d, 60, 120, 0, 0},
+{0x00109013,0x000002fe,0x0000010e, 60, 120, 0, 0},
+{0x00109311,0x00000344,0x0000010f, 60, 120, 0, 0},
+{0x00109655,0x000002d2,0x00000110, 60, 120, 0, 0},
+{0x00109927,0x0000031a,0x00000111, 60, 120, 0, 0},
+{0x00109c41,0x0000028c,0x00000112, 60, 120, 0, 0},
+{0x00109ecd,0x000002ad,0x00000113, 60, 120, 0, 0},
+{0x0010a17a,0x000002f6,0x00000114, 60, 120, 0, 0},
+{0x0010a470,0x0000030f,0x00000115, 60, 120, 0, 0},
+{0x0010a77f,0x000002a6,0x00000116, 60, 120, 0, 0},
+{0x0010aa25,0x000002c2,0x00000117, 60, 120, 0, 0},
+{0x0010ace7,0x000002dd,0x00000118, 60, 120, 0, 0},
+{0x0010afc4,0x000002f3,0x00000119, 60, 120, 0, 0},
+{0x0010b2b7,0x000002f9,0x0000011a, 60, 120, 0, 0},
+{0x0010b5b0,0x00000318,0x0000011b, 60, 120, 0, 0},
+{0x0010b8c8,0x00000380,0x0000011c, 60, 120, 0, 0},
+{0x0010bc48,0x00000391,0x0000011d, 60, 120, 0, 0},
+{0x0010bfd9,0x00000391,0x0000011e, 60, 120, 0, 0},
+{0x0010c36a,0x000003a5,0x0000011f, 60, 120, 0, 0},
+{0x0010c70f,0x00000343,0x00000120, 60, 120, 0, 0},
+{0x0010ca52,0x00000355,0x00000121, 60, 120, 0, 0},
+{0x0010cda7,0x000002d9,0x00000124, 60, 120, 0, 0},
+{0x0010d080,0x000002f1,0x00000125, 60, 120, 0, 0},
+{0x0010d371,0x000002a9,0x00000126, 60, 120, 0, 0},
+{0x0010d61a,0x000002d4,0x00000127, 60, 120, 0, 0},
+{0x0010d8ee,0x000001b1,0x00000128, 60, 120, 0, 0},
+{0x0010da9f,0x00000199,0x00000129, 60, 120, 0, 0},
+{0x0010dc38,0x00000160,0x0000012a, 60, 120, 0, 0},
+{0x0010dd98,0x00000151,0x0000012b, 60, 120, 0, 0},
+{0x0010dee9,0x000001f1,0x0000012c, 60, 120, 0, 0},
+{0x0010e0da,0x000001cf,0x0000012d, 60, 120, 0, 0},
+{0x0010e2a9,0x000001c5,0x0000012e, 60, 120, 0, 0},
+{0x0010e46e,0x000001f5,0x0000012f, 60, 120, 0, 0},
+{0x0010e663,0x00000182,0x00000130, 60, 120, 0, 0},
+{0x0010e7e5,0x000002cc,0x00000132, 60, 120, 0, 0},
+{0x0010eab1,0x0000029a,0x00000133, 69, 120, 0, 0},
+{0x0010ed4b,0x000002a6,0x00000134, 60, 120, 0, 0},
+{0x0010eff1,0x00000225,0x00000135, 60, 120, 0, 0},
+{0x0010f216,0x000001db,0x00000139, 60, 120, 0, 0},
+{0x0010f3f1,0x00000189,0x0000013a, 60, 120, 0, 0},
+{0x0010f57a,0x00000226,0x0000013d, 60, 120, 0, 0},
+{0x0010f7a0,0x000001e5,0x0000013e, 60, 120, 0, 0},
+{0x0010f985,0x0000027f,0x00000141, 60, 120, 0, 0},
+{0x0010fc04,0x000001ee,0x00000142, 60, 120, 0, 0},
+{0x0010fdf2,0x00000338,0x00000143, 60, 120, 0, 0},
+{0x0011012a,0x00000250,0x00000144, 60, 120, 0, 0},
+{0x0011037a,0x00000375,0x00000147, 60, 120, 0, 0},
+{0x001106ef,0x0000029e,0x00000148, 60, 120, 0, 0},
+{0x0011098d,0x0000035c,0x0000014c, 60, 120, 0, 0},
+{0x00110ce9,0x000002ed,0x0000014d, 60, 120, 0, 0},
+{0x00110fd6,0x000003bf,0x0000014e, 60, 120, 0, 0},
+{0x00111395,0x0000034b,0x0000014f, 60, 120, 0, 0},
+{0x001116e0,0x000003d0,0x00000150, 60, 120, 0, 0},
+{0x00111ab0,0x0000035c,0x00000151, 60, 120, 0, 0},
+{0x00111e0c,0x0000032c,0x00000152, 60, 120, 0, 0},
+{0x00112138,0x00000349,0x00000153, 60, 120, 0, 0},
+{0x00112481,0x00000354,0x00000154, 60, 120, 0, 0},
+{0x001127d5,0x0000022b,0x00000155, 60, 120, 0, 0},
+{0x00112a00,0x0000038f,0x00000158, 60, 120, 0, 0},
+{0x00112d8f,0x00000273,0x00000159, 60, 120, 0, 0},
+{0x00113002,0x00000368,0x0000015a, 60, 120, 0, 0},
+{0x0011336a,0x000002e2,0x0000015b, 60, 120, 0, 0},
+{0x0011364c,0x00000392,0x0000015c, 60, 120, 0, 0},
+{0x001139de,0x00000310,0x0000015d, 60, 120, 0, 0},
+{0x00113cee,0x00000382,0x0000015e, 60, 120, 0, 0},
+{0x00114070,0x00000305,0x0000015f, 60, 120, 0, 0},
+{0x00114375,0x000003a4,0x00000160, 60, 120, 0, 0},
+{0x00114719,0x00000318,0x00000161, 60, 120, 0, 0},
+{0x00114a31,0x0000023a,0x00000162, 60, 120, 0, 0},
+{0x00114c6b,0x00000287,0x00000163, 60, 120, 0, 0},
+{0x00114ef2,0x0000024c,0x00000164, 60, 120, 0, 0},
+{0x0011513e,0x00000290,0x00000165, 60, 120, 0, 0},
+{0x001153ce,0x0000020d,0x00000166, 60, 120, 0, 0},
+{0x001155db,0x0000026c,0x00000167, 60, 120, 0, 0},
+{0x00115847,0x000002b5,0x00000168, 60, 120, 0, 0},
+{0x00115afc,0x00000280,0x00000169, 60, 120, 0, 0},
+{0x00115d7c,0x00000263,0x0000016a, 60, 120, 0, 0},
+{0x00115fdf,0x00000247,0x0000016b, 60, 120, 0, 0},
+{0x00116226,0x000002d4,0x0000016c, 60, 120, 0, 0},
+{0x001164fa,0x000002a8,0x0000016d, 60, 120, 0, 0},
+{0x001167a2,0x00000305,0x0000016e, 60, 120, 0, 0},
+{0x00116aa7,0x000002d8,0x0000016f, 60, 120, 0, 0},
+{0x00116d7f,0x000002da,0x00000170, 60, 120, 0, 0},
+{0x00117059,0x000002b8,0x00000171, 60, 120, 0, 0},
+{0x00117311,0x000002ba,0x00000172, 60, 120, 0, 0},
+{0x001175cb,0x00000280,0x00000173, 60, 120, 0, 0},
+{0x0011784b,0x00000484,0x00000174, 60, 120, 0, 0},
+{0x00117ccf,0x000003c4,0x00000175, 60, 120, 0, 0},
+{0x00118093,0x00000300,0x00000176, 60, 120, 0, 0},
+{0x00118393,0x0000037e,0x00000177, 60, 120, 0, 0},
+{0x00118711,0x000002f7,0x00000178, 60, 120, 0, 0},
+{0x00118a08,0x000002f0,0x00000179, 60, 120, 0, 0},
+{0x00118cf8,0x00000287,0x0000017a, 60, 120, 0, 0},
+{0x00118f7f,0x000002db,0x0000017b, 60, 120, 0, 0},
+{0x0011925a,0x0000027b,0x0000017c, 60, 120, 0, 0},
+{0x001194d5,0x0000032e,0x0000017d, 60, 120, 0, 0},
+{0x00119803,0x000002c9,0x0000017e, 60, 120, 0, 0},
+{0x00119acc,0x00000391,0x000001cd, 60, 120, 0, 0},
+{0x00119e5d,0x0000032d,0x000001ce, 60, 120, 0, 0},
+{0x0011a18a,0x000001dd,0x000001cf, 60, 120, 0, 0},
+{0x0011a367,0x000001c7,0x000001d0, 60, 120, 0, 0},
+{0x0011a52e,0x000003bf,0x000001d1, 60, 120, 0, 0},
+{0x0011a8ed,0x0000034e,0x000001d2, 60, 120, 0, 0},
+{0x0011ac3b,0x000002d4,0x000001d3, 60, 120, 0, 0},
+{0x0011af0f,0x000002ae,0x000001d4, 60, 120, 0, 0},
+{0x0011b1bd,0x00000392,0x000001e6, 60, 120, 0, 0},
+{0x0011b54f,0x000003a2,0x000001e7, 60, 120, 0, 0},
+{0x0011b8f1,0x000003ba,0x000001e8, 60, 120, 0, 0},
+{0x0011bcab,0x00000398,0x000001e9, 61, 120, 0, 0},
+{0x0011c043,0x000003a2,0x000001ea, 60, 120, 0, 0},
+{0x0011c3e5,0x00000330,0x000001eb, 60, 120, 0, 0},
+{0x0011c715,0x00000239,0x000001f0, 60, 120, 0, 0},
+{0x0011c94e,0x00000352,0x000001f4, 60, 120, 0, 0},
+{0x0011cca0,0x0000036a,0x000001f5, 60, 120, 0, 0},
+{0x0011d00a,0x0000033e,0x000001f8, 60, 120, 0, 0},
+{0x0011d348,0x00000266,0x000001f9, 60, 120, 0, 0},
+{0x0011d5ae,0x0000011f,0x000002c6, 60, 120, 0, 0},
+{0x0011d6cd,0x00000129,0x000002c7, 60, 120, 0, 0},
+{0x0011d7f6,0x000000cd,0x000002d9, 60, 120, 0, 0},
+{0x0011d8c3,0x0000015e,0x000002da, 60, 120, 0, 0},
+{0x0011da21,0x0000011d,0x000002db, 60, 120, 0, 0},
+{0x0011db3e,0x00000114,0x000002dc, 60, 120, 0, 0},
+{0x0011dc52,0x0000016c,0x000002dd, 60, 120, 0, 0},
+{0x0011ddbe,0x000000e6,0x00000300, 60, 120, 0, 0},
+{0x0011dea4,0x0000012b,0x00000306, 60, 120, 0, 0},
+{0x0011dfcf,0x00000148,0x0000030b, 60, 120, 0, 0},
+{0x0011e117,0x000000ba,0x00002013, 60, 120, 0, 0},
+{0x0011e1d1,0x000000a6,0x00002014, 60, 120, 0, 0},
+{0x0011e277,0x0000011d,0x00002018, 60, 120, 0, 0},
+{0x0011e394,0x00000120,0x00002019, 60, 120, 0, 0},
+{0x0011e4b4,0x00000122,0x0000201a, 60, 120, 0, 0},
+{0x0011e5d6,0x00000120,0x0000201b, 60, 120, 0, 0},
+{0x0011e6f6,0x00000147,0x0000201c, 60, 120, 0, 0},
+{0x0011e83d,0x00000151,0x0000201d, 60, 120, 0, 0},
+{0x0011e98e,0x00000150,0x0000201e, 60, 120, 0, 0},
+{0x0011eade,0x00000151,0x0000201f, 60, 120, 0, 0},
+{0x0011ec2f,0x0000016a,0x00002020, 60, 120, 0, 0},
+{0x0011ed99,0x000001df,0x00002021, 60, 120, 0, 0},
+{0x0011ef78,0x00000119,0x00002022, 60, 120, 0, 0},
+{0x0011f091,0x0000011d,0x00002026, 60, 120, 0, 0},
+{0x0011f1ae,0x000003eb,0x00002030, 60, 120, 0, 0},
+{0x0011f599,0x00000180,0x00002039, 60, 120, 0, 0},
+{0x0011f719,0x00000184,0x0000203a, 60, 120, 0, 0},
+{0x0011f89d,0x000001e7,0x00002116, 60, 120, 0, 0},
+{0x0011fa84,0x000002ba,0x0000fb01, 60, 120, 0, 0},
+{0x0011fd3e,0x00000287,0x0000fb02, 60, 120, 0, 0},
+{0x0011ffc5,0x000003b7,0x000005d0, 67, 120, 0, 0},
+{0x0012037c,0x0000012e,0x000005d1, 67, 120, 0, 0},
+{0x001204aa,0x000001c5,0x000005d2, 67, 120, 0, 0},
+{0x0012066f,0x000000c2,0x000005d3, 67, 120, 0, 0},
+{0x00120731,0x00000110,0x000005d4, 67, 120, 0, 0},
+{0x00120841,0x000000fa,0x000005d5, 67, 120, 0, 0},
+{0x0012093b,0x000000d3,0x000005d6, 67, 120, 0, 0},
+{0x00120a0e,0x000000dc,0x000005d7, 67, 120, 0, 0},
+{0x00120aea,0x00000241,0x000005d8, 67, 120, 0, 0},
+{0x00120d2b,0x000000e0,0x000005d9, 67, 120, 0, 0},
+{0x00120e0b,0x000000f7,0x000005da, 67, 120, 0, 0},
+{0x00120f02,0x0000018a,0x000005db, 67, 120, 0, 0},
+{0x0012108c,0x000001c0,0x000005dc, 67, 120, 0, 0},
+{0x0012124c,0x00000134,0x000005dd, 67, 120, 0, 0},
+{0x00121380,0x00000203,0x000005de, 67, 120, 0, 0},
+{0x00121583,0x00000124,0x000005df, 67, 120, 0, 0},
+{0x001216a7,0x00000114,0x000005e0, 67, 120, 0, 0},
+{0x001217bb,0x00000215,0x000005e1, 67, 120, 0, 0},
+{0x001219d0,0x000001d2,0x000005e2, 67, 120, 0, 0},
+{0x00121ba2,0x000001bb,0x000005e3, 67, 120, 0, 0},
+{0x00121d5d,0x000001fe,0x000005e4, 67, 120, 0, 0},
+{0x00121f5b,0x0000020e,0x000005e5, 67, 120, 0, 0},
+{0x00122169,0x000002ef,0x000005e6, 67, 120, 0, 0},
+{0x00122458,0x00000234,0x000005e7, 67, 120, 0, 0},
+{0x0012268c,0x00000120,0x000005e8, 67, 120, 0, 0},
+{0x001227ac,0x000001ff,0x000005e9, 67, 120, 0, 0},
+{0x001229ab,0x00000143,0x000005ea, 67, 120, 0, 0},
+{0x00122aee,0x000001cd,0x00003002, 60, 110, 0, 0},
+{0x00122cbb,0x00000305,0x00003041, 60, 110, 0, 0},
+{0x00122fc0,0x000003cd,0x00003042, 60, 110, 0, 0},
+{0x0012338d,0x00000216,0x00003043, 60, 110, 0, 0},
+{0x001235a3,0x0000023d,0x00003044, 60, 110, 0, 0},
+{0x001237e0,0x000001ff,0x00003045, 60, 110, 0, 0},
+{0x001239df,0x00000279,0x00003046, 60, 110, 0, 0},
+{0x00123c58,0x00000248,0x00003047, 60, 110, 0, 0},
+{0x00123ea0,0x000002dc,0x00003048, 60, 110, 0, 0},
+{0x0012417c,0x000002e9,0x00003049, 60, 110, 0, 0},
+{0x00124465,0x0000038e,0x0000304a, 60, 110, 0, 0},
+{0x001247f3,0x00000366,0x0000304b, 60, 110, 0, 0},
+{0x00124b59,0x000003f1,0x0000304c, 60, 110, 0, 0},
+{0x00124f4a,0x000002cf,0x0000304d, 60, 110, 0, 0},
+{0x00125219,0x0000034c,0x0000304e, 60, 110, 0, 0},
+{0x00125565,0x000001ff,0x0000304f, 60, 110, 0, 0},
+{0x00125764,0x000002b6,0x00003050, 60, 110, 0, 0},
+{0x00125a1a,0x00000315,0x00003051, 60, 110, 0, 0},
+{0x00125d2f,0x00000337,0x00003052, 60, 110, 0, 0},
+{0x00126066,0x000001bd,0x00003053, 60, 110, 0, 0},
+{0x00126223,0x0000022b,0x00003054, 60, 110, 0, 0},
+{0x0012644e,0x000002db,0x00003055, 60, 110, 0, 0},
+{0x00126729,0x0000031f,0x00003056, 60, 110, 0, 0},
+{0x00126a48,0x000001bd,0x00003057, 60, 110, 0, 0},
+{0x00126c05,0x00000268,0x00003058, 60, 110, 0, 0},
+{0x00126e6d,0x0000027c,0x00003059, 60, 110, 0, 0},
+{0x001270e9,0x0000030f,0x0000305a, 60, 110, 0, 0},
+{0x001273f8,0x000001ef,0x0000305b, 60, 110, 0, 0},
+{0x001275e7,0x00000261,0x0000305c, 60, 110, 0, 0},
+{0x00127848,0x000002c7,0x0000305d, 60, 110, 0, 0},
+{0x00127b0f,0x00000354,0x0000305e, 60, 110, 0, 0},
+{0x00127e63,0x000002be,0x0000305f, 60, 110, 0, 0},
+{0x00128121,0x00000370,0x00003060, 60, 110, 0, 0},
+{0x00128491,0x00000334,0x00003061, 60, 110, 0, 0},
+{0x001287c5,0x0000036c,0x00003062, 60, 110, 0, 0},
+{0x00128b31,0x000001de,0x00003063, 60, 110, 0, 0},
+{0x00128d0f,0x00000234,0x00003064, 60, 110, 0, 0},
+{0x00128f43,0x000002bf,0x00003065, 60, 110, 0, 0},
+{0x00129202,0x0000028b,0x00003066, 60, 110, 0, 0},
+{0x0012948d,0x000002bd,0x00003067, 60, 110, 0, 0},
+{0x0012974a,0x0000026f,0x00003068, 60, 110, 0, 0},
+{0x001299b9,0x000002f3,0x00003069, 60, 110, 0, 0},
+{0x00129cac,0x0000036e,0x0000306a, 60, 110, 0, 0},
+{0x0012a01a,0x00000295,0x0000306b, 60, 110, 0, 0},
+{0x0012a2af,0x00000445,0x0000306c, 60, 110, 0, 0},
+{0x0012a6f4,0x00000377,0x0000306d, 60, 110, 0, 0},
+{0x0012aa6b,0x00000346,0x0000306e, 60, 110, 0, 0},
+{0x0012adb1,0x00000337,0x0000306f, 60, 110, 0, 0},
+{0x0012b0e8,0x00000393,0x00003070, 60, 110, 0, 0},
+{0x0012b47b,0x000003c6,0x00003071, 61, 110, 0, 0},
+{0x0012b841,0x00000397,0x00003072, 60, 110, 0, 0},
+{0x0012bbd8,0x000003e5,0x00003073, 60, 110, 0, 0},
+{0x0012bfbd,0x000003dd,0x00003074, 60, 110, 0, 0},
+{0x0012c39a,0x0000033d,0x00003075, 60, 110, 0, 0},
+{0x0012c6d7,0x000003e5,0x00003076, 60, 110, 0, 0},
+{0x0012cabc,0x000003d9,0x00003077, 60, 110, 0, 0},
+{0x0012ce95,0x00000252,0x00003078, 60, 110, 0, 0},
+{0x0012d0e7,0x000002cf,0x00003079, 60, 110, 0, 0},
+{0x0012d3b6,0x000002f2,0x0000307a, 60, 110, 0, 0},
+{0x0012d6a8,0x00000373,0x0000307b, 60, 110, 0, 0},
+{0x0012da1b,0x000003c2,0x0000307c, 60, 110, 0, 0},
+{0x0012dddd,0x000003b5,0x0000307d, 60, 110, 0, 0},
+{0x0012e192,0x000002f4,0x0000307e, 60, 110, 0, 0},
+{0x0012e486,0x0000033f,0x0000307f, 60, 110, 0, 0},
+{0x0012e7c5,0x00000347,0x00003080, 60, 110, 0, 0},
+{0x0012eb0c,0x00000427,0x00003081, 60, 110, 0, 0},
+{0x0012ef33,0x00000291,0x00003082, 60, 110, 0, 0},
+{0x0012f1c4,0x000002a4,0x00003083, 60, 110, 0, 0},
+{0x0012f468,0x00000364,0x00003084, 60, 110, 0, 0},
+{0x0012f7cc,0x000002cf,0x00003085, 60, 110, 0, 0},
+{0x0012fa9b,0x000003b3,0x00003086, 60, 110, 0, 0},
+{0x0012fe4e,0x000001ec,0x00003087, 60, 110, 0, 0},
+{0x0013003a,0x0000023c,0x00003088, 60, 110, 0, 0},
+{0x00130276,0x00000334,0x00003089, 60, 110, 0, 0},
+{0x001305aa,0x0000033e,0x0000308b, 60, 110, 0, 0},
+{0x001308e8,0x000002dd,0x0000308c, 60, 110, 0, 0},
+{0x00130bc5,0x000002a7,0x0000308d, 60, 110, 0, 0},
+{0x00130e6c,0x00000358,0x0000308f, 60, 110, 0, 0},
+{0x001311c4,0x00000329,0x00003092, 60, 110, 0, 0},
+{0x001314ed,0x00000315,0x00003093, 60, 110, 0, 0},
+{0x00131802,0x000001ca,0x000030a1, 60, 110, 0, 0},
+{0x001319cc,0x00000196,0x000030a3, 60, 110, 0, 0},
+{0x00131b62,0x000001c5,0x000030a4, 60, 110, 0, 0},
+{0x00131d27,0x000001d6,0x000030a5, 60, 110, 0, 0},
+{0x00131efd,0x00000219,0x000030a6, 60, 110, 0, 0},
+{0x00132116,0x00000114,0x000030a7, 60, 110, 0, 0},
+{0x0013222a,0x0000012b,0x000030a8, 60, 110, 0, 0},
+{0x00132355,0x000001bf,0x000030a9, 60, 110, 0, 0},
+{0x00132514,0x00000238,0x000030aa, 60, 110, 0, 0},
+{0x0013274c,0x0000028b,0x000030ab, 60, 110, 0, 0},
+{0x001329d7,0x00000311,0x000030ac, 60, 110, 0, 0},
+{0x00132ce8,0x0000017f,0x000030ad, 60, 110, 0, 0},
+{0x00132e67,0x00000200,0x000030ae, 60, 110, 0, 0},
+{0x00133067,0x00000286,0x000030af, 60, 110, 0, 0},
+{0x001332ed,0x000002fd,0x000030b0, 60, 110, 0, 0},
+{0x001335ea,0x00000247,0x000030b1, 60, 110, 0, 0},
+{0x00133831,0x000002ca,0x000030b2, 60, 110, 0, 0},
+{0x00133afb,0x00000121,0x000030b3, 60, 110, 0, 0},
+{0x00133c1c,0x000001a5,0x000030b4, 60, 110, 0, 0},
+{0x00133dc1,0x00000220,0x000030b5, 60, 110, 0, 0},
+{0x00133fe1,0x00000287,0x000030b6, 60, 110, 0, 0},
+{0x00134268,0x0000026a,0x000030b7, 60, 110, 0, 0},
+{0x001344d2,0x000002e9,0x000030b8, 60, 110, 0, 0},
+{0x001347bb,0x00000227,0x000030b9, 60, 110, 0, 0},
+{0x001349e2,0x000002c8,0x000030ba, 60, 110, 0, 0},
+{0x00134caa,0x00000250,0x000030bb, 60, 110, 0, 0},
+{0x00134efa,0x000002c2,0x000030bc, 60, 110, 0, 0},
+{0x001351bc,0x00000272,0x000030bd, 60, 110, 0, 0},
+{0x0013542e,0x000002ce,0x000030be, 60, 110, 0, 0},
+{0x001356fc,0x000002d7,0x000030bf, 60, 110, 0, 0},
+{0x001359d3,0x00000335,0x000030c0, 60, 110, 0, 0},
+{0x00135d08,0x0000024b,0x000030c1, 60, 110, 0, 0},
+{0x00135f53,0x000002bc,0x000030c2, 60, 110, 0, 0},
+{0x0013620f,0x0000020d,0x000030c3, 60, 110, 0, 0},
+{0x0013641c,0x000002e9,0x000030c5, 60, 110, 0, 0},
+{0x00136705,0x000001d4,0x000030c6, 60, 110, 0, 0},
+{0x001368d9,0x00000235,0x000030c7, 60, 110, 0, 0},
+{0x00136b0e,0x00000146,0x000030c8, 60, 110, 0, 0},
+{0x00136c54,0x000001d1,0x000030c9, 60, 110, 0, 0},
+{0x00136e25,0x000001dc,0x000030ca, 60, 110, 0, 0},
+{0x00137001,0x000000f9,0x000030cb, 60, 110, 0, 0},
+{0x001370fa,0x00000288,0x000030cc, 60, 110, 0, 0},
+{0x00137382,0x00000282,0x000030cd, 60, 110, 0, 0},
+{0x00137604,0x000001ad,0x000030ce, 60, 110, 0, 0},
+{0x001377b1,0x000002a1,0x000030cf, 60, 110, 0, 0},
+{0x00137a52,0x00000345,0x000030d0, 60, 110, 0, 0},
+{0x00137d97,0x00000352,0x000030d1, 60, 110, 0, 0},
+{0x001380e9,0x000001ed,0x000030d2, 60, 110, 0, 0},
+{0x001382d6,0x0000022b,0x000030d3, 60, 110, 0, 0},
+{0x00138501,0x00000293,0x000030d4, 60, 110, 0, 0},
+{0x00138794,0x000001ff,0x000030d5, 60, 110, 0, 0},
+{0x00138993,0x0000024e,0x000030d6, 60, 110, 0, 0},
+{0x00138be1,0x000002af,0x000030d7, 60, 110, 0, 0},
+{0x00138e90,0x0000022c,0x000030d8, 60, 110, 0, 0},
+{0x001390bc,0x000002bc,0x000030d9, 60, 110, 0, 0},
+{0x00139378,0x000002e9,0x000030da, 60, 110, 0, 0},
+{0x00139661,0x0000026e,0x000030db, 60, 110, 0, 0},
+{0x001398cf,0x000002fd,0x000030dc, 60, 110, 0, 0},
+{0x00139bcc,0x000002fd,0x000030dd, 60, 110, 0, 0},
+{0x00139ec9,0x00000210,0x000030de, 60, 110, 0, 0},
+{0x0013a0d9,0x00000257,0x000030df, 60, 110, 0, 0},
+{0x0013a330,0x000002a7,0x000030e0, 60, 110, 0, 0},
+{0x0013a5d7,0x0000024c,0x000030e1, 60, 110, 0, 0},
+{0x0013a823,0x00000192,0x000030e2, 60, 110, 0, 0},
+{0x0013a9b5,0x0000023b,0x000030e3, 60, 110, 0, 0},
+{0x0013abf0,0x000001af,0x000030e4, 60, 110, 0, 0},
+{0x0013ad9f,0x00000142,0x000030e5, 60, 110, 0, 0},
+{0x0013aee1,0x00000127,0x000030e6, 60, 110, 0, 0},
+{0x0013b008,0x00000121,0x000030e7, 60, 110, 0, 0},
+{0x0013b129,0x00000136,0x000030e8, 60, 110, 0, 0},
+{0x0013b25f,0x00000208,0x000030e9, 60, 110, 0, 0},
+{0x0013b467,0x000001c6,0x000030ea, 60, 110, 0, 0},
+{0x0013b62d,0x0000027d,0x000030eb, 60, 110, 0, 0},
+{0x0013b8aa,0x000001be,0x000030ec, 60, 110, 0, 0},
+{0x0013ba68,0x0000011a,0x000030ed, 60, 110, 0, 0},
+{0x0013bb82,0x00000200,0x000030ef, 60, 110, 0, 0},
+{0x0013bd82,0x00000216,0x000030f2, 60, 110, 0, 0},
+{0x0013bf98,0x000001f3,0x000030f3, 60, 110, 0, 0},
+{0x0013c18b,0x000000ba,0x000030fc, 60, 110, 0, 0},
+{0x0013c245,0x0000037a,0x000010d0, 70, 193, 0, 0},
+{0x0013c5bf,0x000005cd,0x000010d1, 80, 193, 0, 0},
+{0x0013cb8c,0x0000057e,0x000010d2, 80, 193, 0, 0},
+{0x0013d10a,0x00000780,0x000010d3, 116, 193, 0, 0},
+{0x0013d88a,0x0000050b,0x000010d4, 75, 193, 0, 0},
+{0x0013dd95,0x00000591,0x000010d5, 76, 193, 0, 0},
+{0x0013e326,0x000005b5,0x000010d6, 95, 193, 0, 0},
+{0x0013e8db,0x00000612,0x000010d7, 111, 193, 0, 0},
+{0x0013eeed,0x0000045a,0x000010d8, 81, 193, 0, 0},
+{0x0013f347,0x0000050c,0x000010d9, 76, 193, 0, 0},
+{0x0013f853,0x00000850,0x000010da, 142, 193, 0, 0},
+{0x001400a3,0x0000058d,0x000010db, 78, 193, 0, 0},
+{0x00140630,0x0000050c,0x000010dc, 77, 193, 0, 0},
+{0x00140b3c,0x00000587,0x000010dd, 117, 193, 0, 0},
+{0x001410c3,0x0000053a,0x000010de, 81, 193, 0, 0},
+{0x001415fd,0x000005c9,0x000010df, 84, 193, 0, 0},
+{0x00141bc6,0x000006ae,0x000010e0, 108, 193, 0, 0},
+{0x00142274,0x0000038e,0x000010e1, 79, 193, 0, 0},
+{0x00142602,0x0000095c,0x000010e2, 113, 193, 0, 0},
+{0x00142f5e,0x000006d9,0x000010e3, 120, 193, 0, 0},
+{0x00143637,0x000007a6,0x000010e4, 108, 193, 0, 0},
+{0x00143ddd,0x000004a4,0x000010e5, 81, 193, 0, 0},
+{0x00144281,0x00000707,0x000010e6, 110, 193, 0, 0},
+{0x00144988,0x00000413,0x000010e7, 72, 193, 0, 0},
+{0x00144d9b,0x0000064a,0x000010e8, 81, 193, 0, 0},
+{0x001453e5,0x0000051f,0x000010e9, 76, 193, 0, 0},
+{0x00145904,0x0000067c,0x000010ea, 83, 193, 0, 0},
+{0x00145f80,0x0000042a,0x000010eb, 78, 193, 0, 0},
+{0x001463aa,0x000007d2,0x000010ec, 86, 193, 0, 0},
+{0x00146b7c,0x0000076c,0x000010ed, 92, 193, 0, 0},
+{0x001472e8,0x00000478,0x000010ee, 72, 193, 0, 0},
+{0x00147760,0x000007b1,0x000010ef, 112, 193, 0, 0},
+{0x00147f11,0x000005a0,0x000010f0, 85, 193, 0, 0},
+{0x001484b1,0x0000079d,0x000010f1, 93, 193, 0, 0},
+{0x00148c4e,0x00000452,0x000010f2, 85, 193, 0, 0},
+{0x001490a0,0x00000488,0x000010f3, 76, 193, 0, 0},
+{0x00149528,0x0000052a,0x000010f4, 77, 193, 0, 0},
+{0x00149a52,0x0000065b,0x000010f5, 94, 193, 0, 0},
+{0x0014a0ad,0x0000052e,0x000010f6, 105, 193, 0, 0},
+{0x0014a5db,0x0000010d,0x000025a0, 128, 128, 0, 0},
+{0x0014a6e8,0x0000012d,0x000025a1, 128, 128, 0, 0},
+{0x0014a815,0x000004d3,0x000025a2, 148, 148, 0, 0},
+{0x0014ace8,0x000001c8,0x000025a3, 170, 188, 0, 0},
+{0x0014aeb0,0x0000025e,0x000025a4, 201, 197, 0, 0},
+{0x0014b10e,0x00000236,0x000025a5, 201, 197, 0, 0},
+{0x0014b344,0x00000289,0x000025a6, 201, 197, 0, 0},
+{0x0014b5cd,0x00000403,0x000025a7, 128, 128, 0, 0},
+{0x0014b9d0,0x000003ee,0x000025a8, 128, 128, 0, 0},
+{0x0014bdbe,0x00000a64,0x000025a9, 128, 128, 0, 0},
+{0x0014c822,0x0000014a,0x000025aa, 85, 191, 0, 0},
+{0x0014c96c,0x000000c5,0x000025ab, 73, 132, 0, 0},
+{0x0014ca31,0x00000159,0x000025ac, 208, 202, 0, 0},
+{0x0014cb8a,0x000001be,0x000025ad, 220, 170, 0, 0},
+{0x0014cd48,0x000001ac,0x000025ae, 202, 208, 0, 0},
+{0x0014cef4,0x000001eb,0x000025af, 170, 220, 0, 0},
+{0x0014d0df,0x000003b0,0x000025b0, 186, 144, 0, 0},
+{0x0014d48f,0x00000448,0x000025b1, 186, 144, 0, 0},
+{0x0014d8d7,0x0000050c,0x000025b2, 144, 144, 0, 0},
+{0x0014dde3,0x000004c8,0x000025b3, 144, 144, 0, 0},
+{0x0014e2ab,0x0000035d,0x000025b4, 75, 177, 0, 0},
+{0x0014e608,0x0000039b,0x000025b5, 75, 177, 0, 0},
+{0x0014e9a3,0x0000052c,0x000025b6, 144, 144, 0, 0},
+{0x0014eecf,0x00000607,0x000025b7, 144, 144, 0, 0},
+{0x0014f4d6,0x000001ef,0x000025b8, 75, 177, 0, 0},
+{0x0014f6c5,0x0000026f,0x000025b9, 75, 177, 0, 0},
+{0x0014f934,0x000002b6,0x000025ba, 148, 136, 0, 0},
+{0x0014fbea,0x000002da,0x000025bb, 164, 136, 0, 0},
+{0x0014fec4,0x00000700,0x000025bc, 144, 144, 0, 0},
+{0x001505c4,0x0000060a,0x000025bd, 144, 144, 0, 0},
+{0x00150bce,0x00000415,0x000025be, 75, 177, 0, 0},
+{0x00150fe3,0x000003a3,0x000025bf, 75, 177, 0, 0},
+{0x00151386,0x000004dd,0x000025c0, 144, 144, 0, 0},
+{0x00151863,0x0000048d,0x000025c1, 144, 144, 0, 0},
+{0x00151cf0,0x000002ba,0x000025c2, 75, 177, 0, 0},
+{0x00151faa,0x00000334,0x000025c3, 75, 177, 0, 0},
+{0x001522de,0x00000326,0x000025c4, 148, 136, 0, 0},
+{0x00152604,0x00000478,0x000025c5, 164, 136, 0, 0},
+{0x00152a7c,0x000002fc,0x000025c6, 204, 188, 0, 0},
+{0x00152d78,0x000002f5,0x000025c7, 164, 164, 0, 0},
+{0x0015306d,0x0000031a,0x000025c8, 158, 160, 0, 0},
+{0x00153387,0x00000af6,0x000025c9, 162, 152, 0, 0},
+{0x00153e7d,0x000003c3,0x000025ca, 119, 196, 0, 0},
+{0x00154240,0x00000892,0x000025cb, 184, 160, 0, 0},
+{0x00154ad2,0x000008c9,0x000025cc, 200, 196, 0, 0},
+{0x0015539b,0x00000bd0,0x000025cd, 188, 190, 0, 0},
+{0x00155f6b,0x00000ce6,0x000025ce, 186, 198, 0, 0},
+{0x00156c51,0x00000710,0x000025cf, 184, 160, 0, 0},
+{0x00157361,0x00000a4f,0x000025d0, 159, 152, 0, 0},
+{0x00157db0,0x000008a3,0x000025d1, 159, 152, 0, 0},
+{0x00158653,0x000007ed,0x000025d2, 152, 159, 0, 0},
+{0x00158e40,0x00000923,0x000025d3, 152, 159, 0, 0},
+{0x00159763,0x00000a30,0x000025d4, 184, 160, 0, 0},
+{0x0015a193,0x000007d8,0x000025d5, 184, 160, 0, 0},
+{0x0015a96b,0x00000548,0x000025d6, 116, 160, 0, 0},
+{0x0015aeb3,0x00000547,0x000025d7, 116, 160, 0, 0},
+{0x0015b3fa,0x0000033c,0x000025d8, 83, 141, 0, 0},
+{0x0015b736,0x00000a40,0x000025d9, 161, 162, 0, 0},
+{0x0015c176,0x000007c8,0x000025da, 160, 154, 0, 0},
+{0x0015c93e,0x0000083d,0x000025db, 160, 154, 0, 0},
+{0x0015d17b,0x00000312,0x000025dc, 115, 160, 0, 0},
+{0x0015d48d,0x00000473,0x000025dd, 115, 160, 0, 0},
+{0x0015d900,0x00000479,0x000025de, 115, 160, 0, 0},
+{0x0015dd79,0x00000498,0x000025df, 115, 160, 0, 0},
+{0x0015e211,0x00000640,0x000025e0, 154, 154, 0, 0},
+{0x0015e851,0x00000507,0x000025e1, 154, 154, 0, 0},
+{0x0015ed58,0x0000027a,0x000025e2, 152, 155, 0, 0},
+{0x0015efd2,0x000002c9,0x000025e3, 152, 155, 0, 0},
+{0x0015f29b,0x000002c0,0x000025e4, 152, 155, 0, 0},
+{0x0015f55b,0x000002ed,0x000025e5, 152, 155, 0, 0},
+{0x0015f848,0x00000360,0x000025e6, 78, 200, 0, 0},
+{0x0015fba8,0x0000012f,0x000025e7, 128, 128, 0, 0},
+{0x0015fcd7,0x00000164,0x000025e8, 128, 128, 0, 0},
+{0x0015fe3b,0x000002a9,0x000025e9, 152, 151, 0, 0},
+{0x001600e4,0x000002bf,0x000025ea, 152, 151, 0, 0},
+{0x001603a3,0x000001dd,0x000025eb, 154, 157, 0, 0},
+{0x00160580,0x000004fc,0x000025ec, 144, 144, 0, 0},
+{0x00160a7c,0x0000053b,0x000025ed, 144, 144, 0, 0},
+{0x00160fb7,0x0000063a,0x000025ee, 144, 144, 0, 0},
+{0x001615f1,0x00000892,0x000025ef, 184, 160, 0, 0},
+{0x00161e83,0x00000246,0x000025f0, 154, 153, 0, 0},
+{0x001620c9,0x00000248,0x000025f1, 154, 153, 0, 0},
+{0x00162311,0x000001e0,0x000025f2, 154, 153, 0, 0},
+{0x001624f1,0x0000025c,0x000025f3, 154, 153, 0, 0},
+{0x0016274d,0x00000ab5,0x000025f4, 164, 164, 0, 0},
+{0x00163202,0x00000af3,0x000025f5, 164, 164, 0, 0},
+{0x00163cf5,0x0000092c,0x000025f6, 164, 164, 0, 0},
+{0x00164621,0x00000acb,0x000025f7, 164, 164, 0, 0},
+};
+
+struct font font_table[10]={
+{
+"",
+"",
+"",
+"",
+"",
+0,
+1,
+},
+{
+"arabic",
+"medium",
+"roman",
+"serif",
+"vari",
+1,
+0,
+},
+{
+"century_school-new_"
+"century_school-century_school_book-new_century_school_book-century",
+"bold",
+""
+"roman",
+"serif",
+"vari",
+1,
+326,
+},
+{
+"century_school-new_century_school-century_school_book-ne"
+"w_century_school_book-century-hebrew",
+"medium",
+"roman",
+"serif",
+"vari",
+327,
+878,
+},
+{
+"courier",
+"medium",
+"r"
+"oman",
+"serif",
+"mono",
+1205,
+337,
+},
+{
+"georgian",
+"medium",
+"roman",
+"sans",
+"vari",
+1542,
+0,
+},
+{
+"hebrew",
+"medium",
+"roman",
+"sans",
+"mono",
+1542,
+0,
+},
+{
+"hebre"
+"w",
+"medium",
+"roman",
+"serif",
+"vari",
+1542,
+0,
+},
+{
+"japanese-hebrew",
+"medium",
+"roman",
+"sans",
+"mono",
+1542,
+186,
+},
+{
+"symbol-dingbats"
+"-georgian-zapf-chancery",
+"medium",
+"roman",
+"sans",
+"vari",
+1728,
+127,
+},
+};
+
+int n_fonts=10;
+
+
+#endif
+
diff --git a/framebuffer.c b/framebuffer.c
new file mode 100644
index 0000000..6582b8b
--- /dev/null
+++ b/framebuffer.c
@@ -0,0 +1,1685 @@
+/* framebuffer.c
+ * Linux framebuffer code
+ * (c) 2002 Petr 'Brain' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "cfg.h"
+
+#ifdef GRDRV_FB
+
+#define USE_GPM_DX
+
+/* #define FB_DEBUG */
+/* #define SC_DEBUG */
+
+/* note: SIGUSR1 is used by libpthread and is disabled even if no thread
+ functions are called --- do not use */
+
+#define SIG_REL SIGUSR2
+#define SIG_ACQ SIGVTALRM
+
+#if defined(FB_DEBUG) || defined(SC_DEBUG)
+ #define MESSAGE(a) fprintf(stderr,"%s",a);
+#endif
+
+#include "links.h"
+
+#include "bits.h"
+
+#include <gpm.h>
+
+#include <sys/mman.h>
+#include <sys/ioctl.h>
+
+#include <linux/fb.h>
+#include <linux/kd.h>
+#include <linux/vt.h>
+
+#include "arrow.inc"
+
+#ifndef MAP_FAILED
+#define MAP_FAILED ((void *)-1L)
+#endif
+
+#ifdef GPM_HAVE_SMOOTH
+#define gpm_smooth GPM_SMOOTH
+#else
+#define gpm_smooth 0
+#endif
+
+static int TTY = 0;
+
+#ifndef USE_GPM_DX
+static int fb_txt_xsize, fb_txt_ysize;
+static struct winsize fb_old_ws;
+static struct winsize fb_new_ws;
+static int fb_old_ws_v;
+static int fb_msetsize;
+#endif
+static int fb_hgpm;
+
+static int fb_console;
+
+static struct itrm *fb_kbd;
+
+static struct graphics_device *fb_old_vd;
+static struct graphics_device *fb_block_dev;
+
+static int fb_handler;
+static unsigned char *fb_mem, *fb_vmem;
+static unsigned fb_mem_size;
+static unsigned fb_mapped_size;
+static int fb_linesize,fb_bits_pp,fb_pixelsize;
+static int fb_xsize,fb_ysize;
+static long border_left, border_right, border_top, border_bottom;
+static int fb_colors, fb_palette_colors;
+static struct fb_var_screeninfo vi;
+static struct fb_fix_screeninfo fi;
+
+static void fb_draw_bitmap(struct graphics_device *dev,struct bitmap* hndl, int x, int y);
+
+static unsigned char *fb_driver_param;
+struct graphics_driver fb_driver;
+static int have_cmap=0;
+static volatile int fb_active=1;
+
+struct palette
+{
+ unsigned short *red;
+ unsigned short *green;
+ unsigned short *blue;
+};
+
+static struct palette old_palette;
+static struct palette global_pal;
+static struct vt_mode vt_mode,vt_omode;
+
+static struct fb_var_screeninfo oldmode;
+
+static volatile int in_gr_operation;
+
+/* mouse */
+static int mouse_x, mouse_y; /* mouse pointer coordinates */
+static long mouse_black, mouse_white;
+static int background_x, background_y; /* Where was the mouse background taken from */
+static unsigned char *mouse_buffer, *background_buffer, *new_background_buffer;
+static struct graphics_device *mouse_graphics_device;
+static int global_mouse_hidden;
+
+
+#define TEST_MOUSE(xl,xh,yl,yh) if (RECTANGLES_INTERSECT(\
+ (xl),(xh),\
+ background_x,background_x+arrow_width,\
+ (yl),(yh),\
+ background_y,background_y+arrow_height)\
+ && !global_mouse_hidden){\
+ mouse_hidden=1;\
+ hide_mouse();\
+ }else mouse_hidden=0;
+
+#define END_MOUSE if (mouse_hidden) show_mouse();
+
+#define END_GR \
+ in_gr_operation--;\
+ if (!fb_active && !in_gr_operation)\
+ EINTRLOOP(rs, ioctl(TTY,VT_RELDISP,1));
+#define START_GR \
+ in_gr_operation++; \
+ if (!fb_active) { END_GR; return; }
+#define START_GR_0 \
+ in_gr_operation++; \
+ if (!fb_active) { END_GR; return 0; }
+
+
+#define NUMBER_OF_DEVICES 10
+
+#define TEST_INACTIVITY if (!fb_active||dev!=current_virtual_device) return;
+
+#define TEST_INACTIVITY_0 if (!fb_active||dev!=current_virtual_device) return 0;
+
+#define RECTANGLES_INTERSECT(xl0, xh0, xl1, xh1, yl0, yh0, yl1, yh1) (\
+ (xl0)<(xh1)\
+ && (xl1)<(xh0)\
+ && (yl0)<(yh1)\
+ && (yl1)<(yh0))
+
+/* This assures that x, y, xs, ys, data will be sane according to clipping
+ * rectangle. If nothing lies within this rectangle, the current function
+ * returns. The data pointer is automatically advanced by this macro to reflect
+ * the right position to start with inside the bitmap. */
+#define CLIP_PREFACE \
+ int mouse_hidden;\
+ int xs=hndl->x,ys=hndl->y;\
+ unsigned char *data=hndl->data;\
+\
+ TEST_INACTIVITY\
+ if (x>=dev->clip.x2||x+xs<=dev->clip.x1) return;\
+ if (y>=dev->clip.y2||y+ys<=dev->clip.y1) return;\
+ if (x+xs>dev->clip.x2) xs=dev->clip.x2-x;\
+ if (y+ys>dev->clip.y2) ys=dev->clip.y2-y;\
+ if (dev->clip.x1-x>0){\
+ xs-=(dev->clip.x1-x);\
+ data+=fb_pixelsize*(dev->clip.x1-x);\
+ x=dev->clip.x1;\
+ }\
+ if (dev->clip.y1-y>0){\
+ ys-=(dev->clip.y1-y);\
+ data+=hndl->skip*(dev->clip.y1-y);\
+ y=dev->clip.y1;\
+ }\
+ /* xs, ys: how much pixels to paint\
+ * data: where to start painting from\
+ */\
+ START_GR\
+ TEST_MOUSE (x,x+xs,y,y+ys)
+
+
+/* fill_area: 5,5,10,10 fills in 25 pixels! */
+
+/* This assures that left, right, top, bottom will be sane according to the
+ * clipping rectangle set up by svga_driver->set_clip_area. If empty region
+ * results, return from current function occurs. */
+#define FILL_CLIP_PREFACE \
+ int mouse_hidden;\
+ TEST_INACTIVITY\
+ if (left>=right||top>=bottom) return;\
+ if (left>=dev->clip.x2||right<=dev->clip.x1||top>=dev->clip.y2||bottom<=dev->clip.y1) return;\
+ if (left<dev->clip.x1) left=dev->clip.x1;\
+ if (right>dev->clip.x2) right=dev->clip.x2;\
+ if (top<dev->clip.y1) top=dev->clip.y1;\
+ if (bottom>dev->clip.y2) bottom=dev->clip.y2;\
+ START_GR\
+ TEST_MOUSE(left,right,top,bottom)
+
+
+#define HLINE_CLIP_PREFACE \
+ int mouse_hidden;\
+ TEST_INACTIVITY\
+ if (y<dev->clip.y1||y>=dev->clip.y2||right<=dev->clip.x1||left>=dev->clip.x2) return;\
+ if (left<dev->clip.x1) left=dev->clip.x1;\
+ if (right>dev->clip.x2) right=dev->clip.x2;\
+ if (left>=right) return;\
+ START_GR\
+ TEST_MOUSE (left,right,y,y+1)
+
+#define VLINE_CLIP_PREFACE \
+ int mouse_hidden;\
+ TEST_INACTIVITY\
+ if (x<dev->clip.x1||x>=dev->clip.x2||top>=dev->clip.y2||bottom<=dev->clip.y1) return;\
+ if (top<dev->clip.y1) top=dev->clip.y1;\
+ if (bottom>dev->clip.y2) bottom=dev->clip.y2;\
+ if (top>=bottom) return;\
+ START_GR\
+ TEST_MOUSE(x,x+1,top,bottom)
+
+#define HSCROLL_CLIP_PREFACE \
+ int mouse_hidden;\
+ TEST_INACTIVITY_0\
+ if (!sc) return 0;\
+ if (sc>(dev->clip.x2-dev->clip.x1)||-sc>(dev->clip.x2-dev->clip.x1))\
+ return 1;\
+ START_GR_0\
+ TEST_MOUSE (dev->clip.x1,dev->clip.x2,dev->clip.y1,dev->clip.y2)
+
+#define VSCROLL_CLIP_PREFACE \
+ int mouse_hidden;\
+ TEST_INACTIVITY_0\
+ if (!sc) return 0;\
+ if (sc>dev->clip.y2-dev->clip.y1||-sc>dev->clip.y2-dev->clip.y1) return 1;\
+ START_GR_0\
+ TEST_MOUSE (dev->clip.x1, dev->clip.x2, dev->clip.y1, dev->clip.y2)\
+
+#include "fbcommon.inc"
+
+static void redraw_mouse(void);
+
+static void fb_mouse_move(int dx, int dy)
+{
+ struct event ev;
+ mouse_x += dx;
+ mouse_y += dy;
+ ev.ev = EV_MOUSE;
+ if (mouse_x >= fb_xsize) mouse_x = fb_xsize - 1;
+ if (mouse_y >= fb_ysize) mouse_y = fb_ysize - 1;
+ if (mouse_x < 0) mouse_x = 0;
+ if (mouse_y < 0) mouse_y = 0;
+ ev.x = mouse_x;
+ ev.y = mouse_y;
+ ev.b = B_MOVE;
+ if (!current_virtual_device) return;
+ if (current_virtual_device->mouse_handler) current_virtual_device->mouse_handler(current_virtual_device, ev.x, ev.y, ev.b);
+ redraw_mouse();
+}
+
+static void fb_key_in(void *p, struct event *ev, int size)
+{
+ if (size != sizeof(struct event)) return;
+ if (ev->ev == EV_ABORT) terminate_loop = 1;
+ if (ev->ev != EV_KBD) return;
+ if ((ev->y & KBD_ALT) && ev->x >= '0' && ev->x <= '9') {
+ switch_virtual_device((ev->x - '1' + 10) % 10);
+ return;
+ }
+ if (!current_virtual_device) return;
+ if (!ev->y && ev->x == KBD_F5) fb_mouse_move(-3, 0);
+ else if (!ev->y && ev->x == KBD_F6) fb_mouse_move(0, 3);
+ else if (!ev->y && ev->x == KBD_F7) fb_mouse_move(0, -3);
+ else if (!ev->y && ev->x == KBD_F8) fb_mouse_move(3, 0);
+ else
+ {
+ if (fb_driver.codepage!=utf8_table&&(ev->x)>=128&&(ev->x)<=255)
+ if ((ev->x=cp2u(ev->x,fb_driver.codepage)) == -1) return;
+ if (current_virtual_device->keyboard_handler) current_virtual_device->keyboard_handler(current_virtual_device, ev->x, ev->y);
+ }
+}
+
+
+
+
+#define mouse_getscansegment(buf,x,y,w) memcpy(buf,fb_vmem+y*fb_linesize+x*fb_pixelsize,w)
+#define mouse_drawscansegment(ptr,x,y,w) memcpy(fb_vmem+y*fb_linesize+x*fb_pixelsize,ptr,w);
+
+/* Flushes the background_buffer onscreen where it was originally taken from. */
+static void place_mouse_background(void)
+{
+ struct bitmap bmp;
+
+ bmp.x=arrow_width;
+ bmp.y=arrow_height;
+ bmp.skip=arrow_width*fb_pixelsize;
+ bmp.data=background_buffer;
+
+ {
+ struct graphics_device * current_virtual_device_backup;
+
+ current_virtual_device_backup=current_virtual_device;
+ current_virtual_device=mouse_graphics_device;
+ fb_draw_bitmap(mouse_graphics_device, &bmp, background_x,
+ background_y);
+ current_virtual_device=current_virtual_device_backup;
+ }
+
+}
+
+/* Only when the old and new mouse don't interfere. Using it on interfering mouses would
+ * cause a flicker.
+ */
+static void hide_mouse(void)
+{
+
+ global_mouse_hidden=1;
+ place_mouse_background();
+}
+
+/* Gets background from the screen (clipping provided only right and bottom) to the
+ * passed buffer.
+ */
+static void get_mouse_background(unsigned char *buffer_ptr)
+{
+ int width,height,skip,x,y;
+
+ skip=arrow_width*fb_pixelsize;
+
+ x=mouse_x;
+ y=mouse_y;
+
+ width=fb_pixelsize*(arrow_width+x>fb_xsize?fb_xsize-x:arrow_width);
+ height=arrow_height+y>fb_ysize?fb_ysize-y:arrow_height;
+
+ for (;height;height--){
+ mouse_getscansegment(buffer_ptr,x,y,width);
+ buffer_ptr+=skip;
+ y++;
+ }
+}
+
+/* Overlays the arrow's image over the mouse_buffer
+ * Doesn't draw anything into the screen
+ */
+static void render_mouse_arrow(void)
+{
+ int x,y, reg0, reg1;
+ unsigned char *mouse_ptr=mouse_buffer;
+ unsigned *arrow_ptr=arrow;
+
+ for (y=arrow_height;y;y--){
+ reg0=*arrow_ptr;
+ reg1=arrow_ptr[1];
+ arrow_ptr+=2;
+ for (x=arrow_width;x;)
+ {
+ int mask=1<<(--x);
+
+ if (reg0&mask)
+ memcpy (mouse_ptr, &mouse_black, fb_pixelsize);
+ else if (reg1&mask)
+ memcpy (mouse_ptr, &mouse_white, fb_pixelsize);
+ mouse_ptr+=fb_pixelsize;
+ }
+ }
+}
+
+static void place_mouse(void)
+{
+ struct bitmap bmp;
+
+ bmp.x=arrow_width;
+ bmp.y=arrow_height;
+ bmp.skip=arrow_width*fb_pixelsize;
+ bmp.data=mouse_buffer;
+ {
+ struct graphics_device * current_graphics_device_backup;
+
+ current_graphics_device_backup=current_virtual_device;
+ current_virtual_device=mouse_graphics_device;
+ fb_draw_bitmap(mouse_graphics_device, &bmp, mouse_x, mouse_y);
+ current_virtual_device=current_graphics_device_backup;
+ }
+ global_mouse_hidden=0;
+}
+
+/* Only when the old and the new mouse positions do not interfere. Using this routine
+ * on interfering positions would cause a flicker.
+ */
+static void show_mouse(void)
+{
+
+ get_mouse_background(background_buffer);
+ background_x=mouse_x;
+ background_y=mouse_y;
+ memcpy(mouse_buffer,background_buffer,fb_pixelsize*arrow_area);
+ render_mouse_arrow();
+ place_mouse();
+}
+
+/* Doesn't draw anything into the screen
+ */
+static void put_and_clip_background_buffer_over_mouse_buffer(void)
+{
+ unsigned char *bbufptr=background_buffer, *mbufptr=mouse_buffer;
+ int left=background_x-mouse_x;
+ int top=background_y-mouse_y;
+ int right,bottom;
+ int bmpixelsizeL=fb_pixelsize;
+ int number_of_bytes;
+ int byte_skip;
+
+ right=left+arrow_width;
+ bottom=top+arrow_height;
+
+ if (left<0){
+ bbufptr-=left*bmpixelsizeL;
+ left=0;
+ }
+ if (right>arrow_width) right=arrow_width;
+ if (top<0){
+ bbufptr-=top*bmpixelsizeL*arrow_width;
+ top=0;
+ }
+ if (bottom>arrow_height) bottom=arrow_height;
+ mbufptr+=bmpixelsizeL*(left+arrow_width*top);
+ byte_skip=arrow_width*bmpixelsizeL;
+ number_of_bytes=bmpixelsizeL*(right-left);
+ for (;top<bottom;top++){
+ memcpy(mbufptr,bbufptr,number_of_bytes);
+ mbufptr+=byte_skip;
+ bbufptr+=byte_skip;
+ }
+}
+
+/* This draws both the contents of background_buffer and mouse_buffer in a scan
+ * way (left-right, top-bottom), so the flicker is reduced.
+ */
+static inline void place_mouse_composite(void)
+{
+ int mouse_left=mouse_x;
+ int mouse_top=mouse_y;
+ int background_left=background_x;
+ int background_top=background_y;
+ int mouse_right=mouse_left+arrow_width;
+ int mouse_bottom=mouse_top+arrow_height;
+ int background_right=background_left+arrow_width;
+ int background_bottom=background_top+arrow_height;
+ int skip=arrow_width*fb_pixelsize;
+ int background_length,mouse_length;
+ unsigned char *mouse_ptr=mouse_buffer,*background_ptr=background_buffer;
+ int yend;
+
+ if (mouse_bottom>fb_ysize) mouse_bottom=fb_ysize;
+ if (background_bottom>fb_ysize) background_bottom=fb_ysize;
+
+ /* Let's do the top part */
+ if (background_top<mouse_top){
+ /* Draw the background */
+ background_length=background_right>fb_xsize?fb_xsize-background_left
+ :arrow_width;
+ for (;background_top<mouse_top;background_top++){
+ mouse_drawscansegment(background_ptr,background_left
+ ,background_top,background_length*fb_pixelsize);
+ background_ptr+=skip;
+ }
+
+ }else if (background_top>mouse_top){
+ /* Draw the mouse */
+ mouse_length=mouse_right>fb_xsize
+ ?fb_xsize-mouse_left:arrow_width;
+ for (;mouse_top<background_top;mouse_top++){
+ mouse_drawscansegment(mouse_ptr,mouse_left,mouse_top,mouse_length*fb_pixelsize);
+ mouse_ptr+=skip;
+ }
+ }
+
+ /* Let's do the middle part */
+ yend=mouse_bottom<background_bottom?mouse_bottom:background_bottom;
+ if (background_left<mouse_left){
+ /* Draw background, mouse */
+ mouse_length=mouse_right>fb_xsize?fb_xsize-mouse_left:arrow_width;
+ for (;mouse_top<yend;mouse_top++){
+ mouse_drawscansegment(background_ptr,background_left,mouse_top
+ ,(mouse_left-background_left)*fb_pixelsize);
+ mouse_drawscansegment(mouse_ptr,mouse_left,mouse_top,mouse_length*fb_pixelsize);
+ mouse_ptr+=skip;
+ background_ptr+=skip;
+ }
+
+ }else{
+ int l1, l2, l3;
+
+ /* Draw mouse, background */
+ mouse_length=mouse_right>fb_xsize?fb_xsize-mouse_left:arrow_width;
+ background_length=background_right-mouse_right;
+ if (background_length+mouse_right>fb_xsize)
+ background_length=fb_xsize-mouse_right;
+ l1=mouse_length*fb_pixelsize;
+ l2=(mouse_right-background_left)*fb_pixelsize;
+ l3=background_length*fb_pixelsize;
+ for (;mouse_top<yend;mouse_top++){
+ mouse_drawscansegment(mouse_ptr,mouse_left,mouse_top,l1);
+ if (background_length>0)
+ mouse_drawscansegment(
+ background_ptr +l2,
+ mouse_right,mouse_top ,l3);
+ mouse_ptr+=skip;
+ background_ptr+=skip;
+ }
+ }
+
+ if (background_bottom<mouse_bottom){
+ /* Count over bottoms! tops will be invalid! */
+ /* Draw mouse */
+ mouse_length=mouse_right>fb_xsize?fb_xsize-mouse_left
+ :arrow_width;
+ for (;background_bottom<mouse_bottom;background_bottom++){
+ mouse_drawscansegment(mouse_ptr,mouse_left,background_bottom
+ ,mouse_length*fb_pixelsize);
+ mouse_ptr+=skip;
+ }
+ }else{
+ /* Draw background */
+ background_length=background_right>fb_xsize?fb_xsize-background_left
+ :arrow_width;
+ for (;mouse_bottom<background_bottom;mouse_bottom++){
+ mouse_drawscansegment(background_ptr,background_left,mouse_bottom
+ ,background_length*fb_pixelsize);
+ background_ptr+=skip;
+ }
+ }
+}
+
+/* This moves the mouse a sophisticated way when the old and new position of the
+ * cursor overlap.
+ */
+static inline void redraw_mouse_sophisticated(void)
+{
+ int new_background_x, new_background_y;
+
+ get_mouse_background(mouse_buffer);
+ put_and_clip_background_buffer_over_mouse_buffer();
+ memcpy(new_background_buffer,mouse_buffer,fb_pixelsize*arrow_area);
+ new_background_x=mouse_x;
+ new_background_y=mouse_y;
+ render_mouse_arrow();
+ place_mouse_composite();
+ memcpy(background_buffer,new_background_buffer,fb_pixelsize*arrow_area);
+ background_x=new_background_x;
+ background_y=new_background_y;
+}
+
+static void redraw_mouse(void){
+
+ if (!fb_active) return; /* We are not drawing */
+ if (mouse_x!=background_x||mouse_y!=background_y){
+ if (RECTANGLES_INTERSECT(
+ background_x, background_x+arrow_width,
+ mouse_x, mouse_x+arrow_width,
+ background_y, background_y+arrow_height,
+ mouse_y, mouse_y+arrow_height)){
+ redraw_mouse_sophisticated();
+ }else{
+ /* Do a normal hide/show */
+ get_mouse_background(mouse_buffer);
+ memcpy(new_background_buffer,
+ mouse_buffer,arrow_area*fb_pixelsize);
+ render_mouse_arrow();
+ hide_mouse();
+ place_mouse();
+ memcpy(background_buffer,new_background_buffer
+ ,arrow_area*fb_pixelsize);
+ background_x=mouse_x;
+ background_y=mouse_y;
+ }
+ }
+}
+
+/* This is an empiric magic that ensures
+ * Good white purity
+ * Correct rounding and dithering prediction
+ * And this is the cabbala:
+ * 063 021 063
+ * 009 009 021
+ * 255 085 255
+ * 036 036 084
+ */
+static void generate_palette(struct palette *palette)
+{
+ int a;
+
+ switch (fb_colors)
+ {
+ case 16:
+ for (a=0;a<fb_palette_colors;a++)
+ {
+ palette->red[a]=(a&8)?65535:0;
+ palette->green[a]=((a>>1)&3)*(65535/3);
+ palette->blue[a]=(a&1)?65535:0;
+ }
+ break;
+ case 256:
+ for (a=0;a<fb_palette_colors;a++){
+ palette->red[a]=((a>>5)&7)*(65535/7);
+ palette->green[a]=((a>>2)&7)*(65535/7);
+ palette->blue[a]=(a&3)*(65535/3);
+ }
+ break;
+ case 32768:
+ for (a=0;a<fb_palette_colors;a++){
+ /*
+ palette->red[a]=((a>>10)&31)*(65535/31);
+ palette->green[a]=((a>>5)&31)*(65535/31);
+ palette->blue[a]=(a&31)*(65535/31);
+ */
+ palette->red[a]=
+ palette->green[a]=
+ palette->blue[a]=(((a&31)*255)/31)*257;
+ }
+ break;
+ case 65536:
+ for (a=0;a<fb_palette_colors;a++){
+ /*
+ palette->red[a]=((a>>11)&31)*(65535/31);
+ palette->green[a]=((a>>5)&63)*(65535/63);
+ palette->blue[a]=(a&31)*(65535/31);
+ */
+ palette->green[a]=(((a&63)*255)/64)*257;
+ palette->red[a]=
+ palette->blue[a]=(((a&31)*255)/32)*257;
+ }
+ break;
+ default:
+ for (a=0;a<fb_palette_colors;a++){
+ palette->red[a]=
+ palette->green[a]=
+ palette->blue[a]=a*257;
+ /* stuff it in both high and low byte */
+ }
+ }
+}
+
+static void alloc_palette(struct palette *pal)
+{
+ pal->red=mem_calloc(sizeof(unsigned short)*fb_palette_colors);
+ pal->green=mem_calloc(sizeof(unsigned short)*fb_palette_colors);
+ pal->blue=mem_calloc(sizeof(unsigned short)*fb_palette_colors);
+
+ if (!pal->red||!pal->green||!pal->blue) {
+ /*internal("Cannot create palette.\n")*/;
+ }
+}
+
+
+static void free_palette(struct palette *pal)
+{
+ mem_free(pal->red);
+ mem_free(pal->green);
+ mem_free(pal->blue);
+}
+
+
+static void set_palette(struct palette *pal)
+{
+ struct fb_cmap cmap;
+ int i;
+ unsigned short *red=pal->red;
+ unsigned short *green=pal->green;
+ unsigned short *blue=pal->blue;
+ __u16 *r, *g, *b, *t;
+ int rs;
+
+ r=mem_alloc(fb_palette_colors*sizeof(__u16));
+ g=mem_alloc(fb_palette_colors*sizeof(__u16));
+ b=mem_alloc(fb_palette_colors*sizeof(__u16));
+ t=mem_calloc(fb_palette_colors*sizeof(__u16));
+
+ if (!r||!g||!b||!t) {
+ /*internal("Cannot allocate memory.\n")*/;
+ }
+
+ for (i = 0; i < fb_palette_colors; i++)
+ {
+ r[i] = red[i];
+ g[i] = green[i];
+ b[i] = blue[i];
+ /*fprintf(stderr, "%d %d %d\n", r[i], g[i], b[i]);*/
+ /*fprintf(stderr, "%5x: %5x\t%5x\t%5x\t%5x\n",i,r[i],g[i],b[i],t[i]);*/
+
+ }
+
+ cmap.start = 0;
+ cmap.len = fb_palette_colors;
+ cmap.red = r;
+ cmap.green = g;
+ cmap.blue = b;
+ cmap.transp = t;
+
+ EINTRLOOP(rs, ioctl(fb_handler, FBIOPUTCMAP, &cmap));
+ if (rs==-1) {
+ /*internal("Cannot set palette\n")*/;
+ }
+
+ mem_free(r);mem_free(g);mem_free(b);mem_free(t);
+}
+
+
+static void get_palette(struct palette *pal)
+{
+ struct fb_cmap cmap;
+ int i;
+ __u16 *r, *g, *b, *t;
+ int rs;
+
+ r=mem_alloc(fb_palette_colors*sizeof(__u16));
+ g=mem_alloc(fb_palette_colors*sizeof(__u16));
+ b=mem_alloc(fb_palette_colors*sizeof(__u16));
+ t=mem_alloc(fb_palette_colors*sizeof(__u16));
+
+ if (!r||!g||!b||!t) {
+ /*internal("Cannot allocate memory.\n")*/;
+ }
+
+ cmap.start = 0;
+ cmap.len = fb_palette_colors;
+ cmap.red = r;
+ cmap.green = g;
+ cmap.blue = b;
+ cmap.transp = t;
+
+ EINTRLOOP(rs, ioctl(fb_handler, FBIOGETCMAP, &cmap));
+ if (rs==-1) {
+ /*internal("Cannot get palette\n")*/;
+ }
+
+ for (i = 0; i < fb_palette_colors; i++)
+ {
+ /*printf("%d %d %d\n",r[i],g[i],b[i]);*/
+ pal->red[i] = r[i];
+ pal->green[i] = g[i];
+ pal->blue[i] = b[i];
+ }
+
+ mem_free(r);mem_free(g);mem_free(b);mem_free(t);
+}
+
+static void fb_clear_videoram(void)
+{
+ memset(fb_mem, 0, (border_top + fb_ysize + border_bottom) * fb_linesize);
+}
+
+static void sleep_a_little_bit(void)
+{
+ struct timeval tv = { 0, 20000 };
+ fd_set dummy;
+ int rs;
+ FD_ZERO(&dummy);
+ EINTRLOOP(rs, select(0, &dummy, &dummy, &dummy, &tv));
+}
+
+static void fb_switch_signal(void *data)
+{
+ struct vt_stat st;
+ struct rect r;
+ int sign=(int)(unsigned long)data;
+ int rs;
+
+ switch(sign)
+ {
+ case SIG_REL: /* release */
+ fb_active=0;
+ if (!in_gr_operation)
+ EINTRLOOP(rs, ioctl(TTY,VT_RELDISP,1));
+ break;
+
+ case SIG_ACQ: /* acq */
+ EINTRLOOP(rs, ioctl(TTY,VT_GETSTATE,&st));
+ if (rs) return;
+ if (st.v_active != fb_console) return;
+ fb_active=1;
+ EINTRLOOP(rs, ioctl(TTY,VT_RELDISP,VT_ACKACQ));
+ /*
+ * There is a race condition in Linux NVidia framebuffer driver
+ * It still draws into a framebuffer here, so we have to sleep
+ */
+ sleep_a_little_bit();
+ if (have_cmap && current_virtual_device)
+ set_palette(&global_pal);
+ r.x1=0;
+ r.y1=0;
+ r.x2=fb_xsize;
+ r.y2=fb_ysize;
+ if (border_left | border_top | border_right | border_bottom) fb_clear_videoram();
+ if (current_virtual_device) current_virtual_device->redraw_handler(current_virtual_device,&r);
+ break;
+ }
+}
+
+
+static unsigned char *fb_switch_init(void)
+{
+ int rs;
+
+ EINTRLOOP(rs, ioctl(TTY, VT_WAITACTIVE, fb_console));
+ install_signal_handler(SIG_REL, fb_switch_signal, (void*)SIG_REL, 1);
+ install_signal_handler(SIG_ACQ, fb_switch_signal, (void*)SIG_ACQ, 0);
+ EINTRLOOP(rs, ioctl(TTY,VT_GETMODE, &vt_omode));
+ if (rs == -1) {
+ return stracpy("Could not get VT mode.\n");
+ }
+ memcpy(&vt_mode, &vt_omode, sizeof(vt_mode));
+
+ vt_mode.mode = VT_PROCESS;
+ vt_mode.waitv = 0;
+ vt_mode.relsig = SIG_REL;
+ vt_mode.acqsig = SIG_ACQ;
+
+ EINTRLOOP(rs, ioctl(TTY,VT_SETMODE, &vt_mode));
+ if (rs == -1) {
+ return stracpy("Could not set VT mode.\n");
+ }
+ return NULL;
+}
+
+static void fb_switch_shutdown(void)
+{
+ int rs;
+ EINTRLOOP(rs, ioctl(TTY,VT_SETMODE, &vt_omode));
+}
+
+static void fb_shutdown_palette(void)
+{
+ if (have_cmap)
+ {
+ set_palette(&old_palette);
+ free_palette(&old_palette);
+ free_palette(&global_pal);
+ }
+}
+
+static void fb_ctrl_c(struct itrm *i)
+{
+ kbd_ctrl_c();
+}
+
+#ifndef USE_GPM_DX
+static void fb_mouse_setsize(void)
+{
+ struct vt_stat vs;
+ int rs;
+ EINTRLOOP(rs, ioctl(0, VT_GETSTATE, &vs));
+ if (!rs) {
+ fd_set zero;
+ struct timeval tv;
+ FD_ZERO(&zero);
+ memset(&tv, 0, sizeof tv);
+ EINTRLOOP(rs, ioctl(0, VT_ACTIVATE, vs.v_active > 1 ? 1 : 2));
+ tv.tv_sec = 0;
+ tv.tv_usec = 100000;
+ EINTRLOOP(rs, select(0, &zero, &zero, &zero, &tv));
+ tv.tv_sec = 0;
+ tv.tv_usec = 100000;
+ EINTRLOOP(rs, select(0, &zero, &zero, &zero, &tv));
+ tv.tv_sec = 0;
+ tv.tv_usec = 100000;
+ EINTRLOOP(rs, select(0, &zero, &zero, &zero, &tv));
+ EINTRLOOP(rs, ioctl(0, VT_ACTIVATE, vs.v_active));
+ }
+}
+#endif
+
+static void unhandle_fb_mouse(void);
+
+static void fb_gpm_in(void *nic)
+{
+#ifndef USE_GPM_DX
+ static int lx = -1, ly = -1;
+#endif
+ struct event ev;
+ Gpm_Event gev;
+ again:
+ if (Gpm_GetEvent(&gev) <= 0) {
+ unhandle_fb_mouse();
+ return;
+ }
+ /*fprintf(stderr, "%d %d\n", gev.x, gev.y);*/
+#ifndef USE_GPM_DX
+ if (gev.x != lx || gev.y != ly) {
+ mouse_x = (gev.x - 1) * fb_xsize / fb_txt_xsize + fb_xsize / fb_txt_xsize / 2 - 1;
+ mouse_y = (gev.y - 1) * fb_ysize / fb_txt_ysize + fb_ysize / fb_txt_ysize / 2 - 1;
+ lx = gev.x, ly = gev.y;
+ }
+#else
+ if (gev.dx || gev.dy) {
+ if (!(gev.type & gpm_smooth)) {
+ mouse_x += gev.dx * 8;
+ mouse_y += gev.dy * 8;
+ } else {
+ mouse_x += gev.dx;
+ mouse_y += gev.dy;
+ }
+ }
+#endif
+ ev.ev = EV_MOUSE;
+ if (mouse_x >= fb_xsize) mouse_x = fb_xsize - 1;
+ if (mouse_y >= fb_ysize) mouse_y = fb_ysize - 1;
+ if (mouse_x < 0) mouse_x = 0;
+ if (mouse_y < 0) mouse_y = 0;
+
+ if (!(gev.type & gpm_smooth) && (gev.dx || gev.dy)) {
+ mouse_x = (mouse_x + 8) / 8 * 8 - 4;
+ mouse_y = (mouse_y + 8) / 8 * 8 - 4;
+ if (mouse_x >= fb_xsize) mouse_x = fb_xsize - 1;
+ if (mouse_y >= fb_ysize) mouse_y = fb_ysize - 1;
+ if (mouse_x < 0) mouse_x = 0;
+ if (mouse_y < 0) mouse_y = 0;
+ }
+
+ ev.x = mouse_x;
+ ev.y = mouse_y;
+ if (gev.buttons & GPM_B_LEFT) ev.b = B_LEFT;
+ else if (gev.buttons & GPM_B_MIDDLE) ev.b = B_MIDDLE;
+ else if (gev.buttons & GPM_B_RIGHT) ev.b = B_RIGHT;
+ else ev.b = 0;
+ if (gev.type & GPM_DOWN) ev.b |= B_DOWN;
+ else if (gev.type & GPM_UP) ev.b |= B_UP;
+ else if (gev.type & GPM_DRAG) ev.b |= B_DRAG;
+ else ev.b |= B_MOVE;
+
+#ifndef USE_GPM_DX
+ if (fb_msetsize < 0) {
+ } else if (fb_msetsize < 10) {
+ fb_msetsize++;
+ } else if ((ev.b & BM_ACT) == B_MOVE && !(ev.b & BM_BUTT)) {
+ fb_mouse_setsize();
+ fb_msetsize = -1;
+ }
+#endif
+
+ if (((ev.b & BM_ACT) == B_MOVE && !(ev.b & BM_BUTT)) || (ev.b & BM_ACT) == B_DRAG) {
+ if (can_read(fb_hgpm)) goto again;
+ }
+
+ if (!current_virtual_device) return;
+ if (current_virtual_device->mouse_handler) current_virtual_device->mouse_handler(current_virtual_device, ev.x, ev.y, ev.b);
+ redraw_mouse();
+}
+
+static int handle_fb_mouse(void)
+{
+ Gpm_Connect conn;
+#ifndef USE_GPM_DX
+ int gpm_ver = 0;
+ struct winsize ws;
+ fb_old_ws_v = 0;
+#endif
+ fb_hgpm = -1;
+#ifndef USE_GPM_DX
+ Gpm_GetLibVersion(&gpm_ver);
+ fb_msetsize = -1;
+ if (gpm_ver >= 11900) {
+ int rs;
+ EINTRLOOP(rs,ioctl(1, TIOCGWINSZ, &ws));
+ if (rs != -1) {
+ memcpy(&fb_old_ws, &ws, sizeof(struct winsize));
+ fb_old_ws_v = 1;
+ ws.ws_row *= 2;
+ EINTRLOOP(rs, ioctl(1, TIOCSWINSZ, &ws));
+ fb_msetsize = 0;
+ memcpy(&fb_new_ws, &ws, sizeof ws);
+ }
+ }
+ get_terminal_size(1, &fb_txt_xsize, &fb_txt_ysize);
+#endif
+ conn.eventMask = ~0;
+ conn.defaultMask = gpm_smooth;
+ conn.minMod = 0;
+ conn.maxMod = -1;
+ if ((fb_hgpm = Gpm_Open(&conn, 0)) < 0) {
+ unhandle_fb_mouse();
+ return -1;
+ }
+ set_handlers(fb_hgpm, fb_gpm_in, NULL, NULL, NULL);
+#ifdef SIGTSTP
+ install_signal_handler(SIGTSTP, (void (*)(void *))sig_tstp, NULL, 0);
+#endif
+#ifdef SIGCONT
+ install_signal_handler(SIGCONT, (void (*)(void *))sig_cont, NULL, 0);
+#endif
+#ifdef SIGTTIN
+ install_signal_handler(SIGTTIN, (void (*)(void *))sig_tstp, NULL, 0);
+#endif
+
+ return 0;
+}
+
+static void unhandle_fb_mouse(void)
+{
+ if (fb_hgpm >= 0) set_handlers(fb_hgpm, NULL, NULL, NULL, NULL);
+#ifndef USE_GPM_DX
+ fb_hgpm = -1;
+ if (fb_old_ws_v) {
+ int rs;
+ EINTRLOOP(rs, ioctl(1, TIOCSWINSZ, &fb_old_ws));
+ fb_old_ws_v = 0;
+ }
+#endif
+ Gpm_Close();
+#ifdef SIGTSTP
+ install_signal_handler(SIGTSTP, (void (*)(void *))sig_tstp, NULL, 0);
+#endif
+#ifdef SIGCONT
+ install_signal_handler(SIGCONT, (void (*)(void *))sig_cont, NULL, 0);
+#endif
+#ifdef SIGTTIN
+ install_signal_handler(SIGTTIN, (void (*)(void *))sig_tstp, NULL, 0);
+#endif
+}
+
+#define seq_hide_cursor "\033[10000B\033[10000C\033[?25l"
+#define seq_show_cursor "\033[10000D\033[?25h"
+
+static void fb_print(unsigned char *str)
+{
+ int wr;
+ EINTRLOOP(wr, write(TTY, str, strlen(str)));
+ if (wr <= 0)
+ EINTRLOOP(wr, write(1, str, strlen(str)));
+}
+
+static void fb_hide_cursor(void)
+{
+ fb_print(seq_hide_cursor);
+}
+
+static void fb_show_cursor(void)
+{
+ fb_print(seq_show_cursor);
+}
+
+static unsigned char *fb_init_driver(unsigned char *param, unsigned char *ignore)
+{
+ unsigned char *e;
+ struct stat st;
+ int rs;
+
+ TTY = 0;
+ EINTRLOOP(rs, ioctl(TTY,VT_GETMODE, &vt_omode));
+ if (rs == -1) {
+ TTY = 1;
+ EINTRLOOP(rs, ioctl(TTY,VT_GETMODE, &vt_omode));
+ if (rs == -1) {
+ TTY = 0;
+ }
+ }
+
+ kbd_set_raw = 1;
+ fb_old_vd = NULL;
+ fb_driver_param=NULL;
+ if(param != NULL)
+ fb_driver_param=stracpy(param);
+
+ border_left = border_right = border_top = border_bottom = 0;
+ if (!param) param="";
+ if (*param) {
+ if (*param < '0' || *param > '9')
+ { bad_p:
+ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; }
+ return stracpy("-mode syntax is left_border[,top_border[,right_border[,bottom_border]]]\n"); }
+ border_left = strtoul(param, (char **)(void *)&param, 10);
+ if ((unsigned long)border_left > MAXINT / 10) goto bad_p;
+ if (*param == ',') param++;
+ } else {
+ border_left = 0;
+ }
+ if (*param) {
+ if (*param < '0' || *param > '9') goto bad_p;
+ border_top = strtoul(param, (char **)(void *)&param, 10);
+ if ((unsigned long)border_top > MAXINT / 10) goto bad_p;
+ if (*param == ',') param++;
+ } else {
+ border_top = border_left;
+ }
+ if (*param) {
+ if (*param < '0' || *param > '9') goto bad_p;
+ border_right = strtoul(param, (char **)(void *)&param, 10);
+ if ((unsigned long)border_right > MAXINT / 10) goto bad_p;
+ if (*param == ',') param++;
+ } else {
+ border_right = border_left;
+ }
+ if (*param) {
+ if (*param < '0' || *param > '9') goto bad_p;
+ border_bottom = strtoul(param, (char **)(void *)&param, 10);
+ if ((unsigned long)border_bottom > MAXINT / 10) goto bad_p;
+ if (*param == ',') param++;
+ } else {
+ border_bottom = border_top;
+ }
+ if (*param) goto bad_p;
+
+ EINTRLOOP(rs, fstat(TTY, &st));
+ if (rs) {
+ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; }
+ return stracpy("Cannon stat stdin.\n");
+ }
+
+ fb_console = st.st_rdev & 0xff;
+
+ fb_hide_cursor();
+
+ if ((e = fb_switch_init())) {
+ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; }
+ fb_show_cursor();
+ return e;
+ }
+
+ EINTRLOOP(fb_handler, open("/dev/fb0", O_RDWR));
+ if (fb_handler==-1) {
+ fb_switch_shutdown();
+ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; }
+ fb_show_cursor();
+ return stracpy("Cannot open /dev/fb0.\n");
+ }
+
+ EINTRLOOP(rs, ioctl (fb_handler, FBIOGET_VSCREENINFO, &vi));
+ if (rs==-1)
+ {
+ EINTRLOOP(rs, close(fb_handler));
+ fb_switch_shutdown();
+ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; }
+ fb_show_cursor();
+ return stracpy("Cannot get FB VSCREENINFO.\n");
+ }
+
+ oldmode=vi;
+
+ EINTRLOOP(rs, ioctl (fb_handler, FBIOGET_FSCREENINFO, &fi));
+ if (rs==-1)
+ {
+ EINTRLOOP(rs, close(fb_handler));
+ fb_switch_shutdown();
+ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; }
+ fb_show_cursor();
+ return stracpy("Cannot get FB FSCREENINFO.\n");
+ }
+
+ fb_xsize=vi.xres;
+ fb_ysize=vi.yres;
+ fb_bits_pp=vi.bits_per_pixel;
+ if (fb_bits_pp == 16 && vi.green.length == 5) fb_bits_pp = 15;
+
+ if (fb_xsize <= border_left + border_right) border_left = border_right = 0;
+ fb_xsize -= border_left + border_right;
+ if (fb_ysize <= border_top + border_bottom) border_top = border_bottom = 0;
+ fb_ysize -= border_top + border_bottom;
+
+ fb_driver.x=fb_xsize;
+ fb_driver.y=fb_ysize;
+
+ switch(fb_bits_pp)
+ {
+ case 4:
+ fb_pixelsize=1;
+ fb_palette_colors=16;
+ break;
+
+ case 8:
+ fb_pixelsize=1;
+ fb_palette_colors=256;
+ break;
+
+ case 15:
+ case 16:
+ fb_pixelsize=2;
+ fb_palette_colors=64;
+ break;
+
+ case 24:
+ fb_palette_colors=256;
+ fb_pixelsize=3;
+ break;
+
+ case 32:
+ fb_palette_colors=256;
+ fb_pixelsize=4;
+ fb_bits_pp=24;
+ break;
+
+ default:
+ EINTRLOOP(rs, close(fb_handler));
+ fb_switch_shutdown();
+ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; }
+ fb_show_cursor();
+ return stracpy("Unknown bit depth");
+ }
+ fb_colors=1<<fb_bits_pp;
+
+ if (fi.visual==FB_VISUAL_PSEUDOCOLOR && fb_colors <= 0x1000000) /* set palette */
+ {
+ have_cmap=1;
+ fb_palette_colors=fb_colors;
+ alloc_palette(&old_palette);
+ get_palette(&old_palette);
+
+ alloc_palette(&global_pal);
+ generate_palette(&global_pal);
+ set_palette(&global_pal);
+ }
+ if (fi.visual==FB_VISUAL_DIRECTCOLOR) /* set pseudo palette */
+ {
+ have_cmap=2;
+ alloc_palette(&old_palette);
+ get_palette(&old_palette);
+
+ alloc_palette(&global_pal);
+ generate_palette(&global_pal);
+ set_palette(&global_pal);
+ }
+
+ fb_linesize=fi.line_length;
+ fb_mem_size=fi.smem_len;
+
+ vi.xoffset=0;
+ vi.yoffset=0;
+ EINTRLOOP(rs, ioctl(fb_handler, FBIOPAN_DISPLAY, &vi));
+ if (rs==-1)
+ {
+ /* mikulas : nechodilo mi to, tak jsem tohle vyhodil a ono to chodi */
+ /*fb_shutdown_palette();
+ EINTRLOOP(rs, close(fb_handler));
+ fb_show_cursor();
+ return stracpy("Cannot pan display.\n");
+ */
+ }
+
+ if (init_virtual_devices(&fb_driver, NUMBER_OF_DEVICES)){
+ fb_shutdown_palette();
+ EINTRLOOP(rs, close(fb_handler));
+ fb_switch_shutdown();
+ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; }
+ fb_show_cursor();
+ return stracpy("Allocation of virtual devices failed.\n");
+ }
+ fb_kbd = handle_svgalib_keyboard((void (*)(void *, unsigned char *, int))fb_key_in);
+
+ /* Mikulas: nechodi to na sparcu */
+ if (fb_mem_size < (unsigned)((border_top + fb_ysize + border_bottom) * fb_linesize))
+ {
+ fb_shutdown_palette();
+ svgalib_free_trm(fb_kbd);
+ shutdown_virtual_devices();
+ EINTRLOOP(rs, close(fb_handler));
+ fb_switch_shutdown();
+ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; }
+ fb_show_cursor();
+ return stracpy("Nonlinear mapping of graphics memory not supported.\n");
+ }
+
+ if (vi.nonstd) {
+ fb_shutdown_palette();
+ svgalib_free_trm(fb_kbd);
+ shutdown_virtual_devices();
+ EINTRLOOP(rs, close(fb_handler));
+ fb_switch_shutdown();
+ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; }
+ fb_show_cursor();
+ return stracpy("Non-standard pixel format.\n");
+ }
+
+ /*
+ * Some framebuffer implementations (for example Mach64) on Sparc64 hate
+ * partial framebuffer mappings.
+ *
+ * For others, we can save virtual memory space by doing a partial mmap.
+ */
+ fb_mapped_size = (border_top + fb_ysize + border_bottom) * fb_linesize;
+retry1:
+ if ((fb_mem=mmap(0,fb_mapped_size,PROT_READ|PROT_WRITE,MAP_SHARED,fb_handler,0))==MAP_FAILED) {
+ if (errno == EINTR) goto retry1;
+ fb_mapped_size = fb_mem_size;
+retry2:
+ if ((fb_mem=mmap(0,fb_mapped_size,PROT_READ|PROT_WRITE,MAP_SHARED,fb_handler,0))==MAP_FAILED) {
+ if (errno == EINTR) goto retry2;
+ fb_shutdown_palette();
+ svgalib_free_trm(fb_kbd);
+ shutdown_virtual_devices();
+
+ EINTRLOOP(rs, close(fb_handler));
+ fb_switch_shutdown();
+ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; }
+ fb_show_cursor();
+ return stracpy("Cannot mmap graphics memory.\n");
+ }
+ }
+ fb_vmem = fb_mem + border_left * fb_pixelsize + border_top * fb_linesize;
+ fb_driver.depth=fb_pixelsize&7;
+ fb_driver.depth|=(fb_bits_pp&31)<<3;
+ if (htonl(0x12345678) == 0x12345678) {
+ /* Big endian */
+ if (fb_driver.depth == 130 || fb_driver.depth == 122) fb_driver.depth |= 1 << 8;
+ else if (fb_driver.depth == 196) fb_driver.depth |= 1 << 9;
+ }
+
+ fb_driver.get_color=get_color_fn(fb_driver.depth);
+ if (!fb_driver.get_color) {
+ fb_shutdown_palette();
+ svgalib_free_trm(fb_kbd);
+ shutdown_virtual_devices();
+
+ EINTRLOOP(rs, close(fb_handler));
+ fb_switch_shutdown();
+ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; }
+ fb_show_cursor();
+ return stracpy("Unknown bit format.\n");
+ }
+ /*fb_switch_init();*/
+ install_signal_handler(SIGINT, (void (*)(void *))fb_ctrl_c, fb_kbd, 0);
+
+ /* mouse */
+ mouse_buffer=mem_alloc(fb_pixelsize*arrow_area);
+ background_buffer=mem_alloc(fb_pixelsize*arrow_area);
+ new_background_buffer=mem_alloc(fb_pixelsize*arrow_area);
+ background_x=mouse_x=fb_xsize>>1;
+ background_y=mouse_y=fb_ysize>>1;
+ mouse_black=fb_driver.get_color(0);
+ mouse_white=fb_driver.get_color(0xffffff);
+ mouse_graphics_device=fb_driver.init_device();
+ virtual_devices[0] = NULL;
+ global_mouse_hidden=1;
+ if (handle_fb_mouse()) {
+ fb_driver.shutdown_device(mouse_graphics_device);
+ mem_free(mouse_buffer);
+ mem_free(background_buffer);
+ mem_free(new_background_buffer);
+ fb_shutdown_palette();
+ svgalib_free_trm(fb_kbd);
+ shutdown_virtual_devices();
+
+ EINTRLOOP(rs, close(fb_handler));
+ fb_switch_shutdown();
+ if(fb_driver_param) { mem_free(fb_driver_param); fb_driver_param=NULL; }
+ fb_show_cursor();
+ return stracpy("Cannot open GPM mouse.\n");
+ }
+ /* hide cursor */
+ if (border_left | border_top | border_right | border_bottom) fb_clear_videoram();
+
+ show_mouse();
+ return NULL;
+}
+
+static void fb_shutdown_driver(void)
+{
+ int rs;
+ mem_free(mouse_buffer);
+ mem_free(background_buffer);
+ mem_free(new_background_buffer);
+ fb_driver.shutdown_device(mouse_graphics_device);
+ unhandle_fb_mouse();
+ in_gr_operation++;
+ if (fb_active) {
+ fb_clear_videoram();
+ EINTRLOOP(rs, ioctl (fb_handler, FBIOPUT_VSCREENINFO, &oldmode));
+ }
+ END_GR;
+ fb_shutdown_palette();
+ install_signal_handler(SIGINT, NULL, NULL, 0);
+ EINTRLOOP(rs, close(fb_handler));
+ EINTRLOOP(rs, munmap(fb_mem,fb_mapped_size));
+ shutdown_virtual_devices();
+ fb_switch_shutdown();
+ svgalib_free_trm(fb_kbd);
+ if(fb_driver_param) mem_free(fb_driver_param);
+ /* show cursor */
+ fb_show_cursor();
+}
+
+
+static unsigned char *fb_get_driver_param(void)
+{
+ return fb_driver_param;
+}
+
+
+/* Return value: 0 alloced on heap
+ * 1 alloced in vidram
+ * 2 alloced in X server shm
+ */
+static int fb_get_empty_bitmap(struct bitmap *dest)
+{
+ if (dest->x && (unsigned)dest->x * (unsigned)dest->y / (unsigned)dest->x != (unsigned)dest->y) overalloc();
+ if ((unsigned)dest->x * (unsigned)dest->y > (unsigned)MAXINT / fb_pixelsize) overalloc();
+ dest->data=mem_alloc(dest->x*dest->y*fb_pixelsize);
+ dest->skip=dest->x*fb_pixelsize;
+ dest->flags=0;
+ return 0;
+}
+
+/* Return value: 0 alloced on heap
+ * 1 alloced in vidram
+ * 2 alloced in X server shm
+ */
+/*
+static int fb_get_filled_bitmap(struct bitmap *dest, long color)
+{
+ int n;
+
+ if (dest->x && (unsigned)dest->x * (unsigned)dest->y / (unsigned)dest->x != (unsigned)dest->y) overalloc();
+ if ((unsigned)dest->x * (unsigned)dest->y > MAXINT / fb_pixelsize) overalloc();
+ n=dest->x*dest->y*fb_pixelsize;
+ dest->data=mem_alloc(n);
+ pixel_set(dest->data,n,&color);
+ dest->skip=dest->x*fb_pixelsize;
+ dest->flags=0;
+ return 0;
+}
+*/
+
+static void fb_register_bitmap(struct bitmap *bmp)
+{
+}
+
+static void fb_unregister_bitmap(struct bitmap *bmp)
+{
+ mem_free(bmp->data);
+}
+
+static void *fb_prepare_strip(struct bitmap *bmp, int top, int lines)
+{
+ return ((char *)bmp->data)+bmp->skip*top;
+}
+
+
+static void fb_commit_strip(struct bitmap *bmp, int top, int lines)
+{
+ return;
+}
+
+
+static void fb_draw_bitmap(struct graphics_device *dev,struct bitmap* hndl, int x, int y)
+{
+ unsigned char *scr_start;
+ int rs;
+
+ CLIP_PREFACE
+
+ scr_start=fb_vmem+y*fb_linesize+x*fb_pixelsize;
+ for(;ys;ys--){
+ memcpy(scr_start,data,xs*fb_pixelsize);
+ data+=hndl->skip;
+ scr_start+=fb_linesize;
+ }
+ END_MOUSE
+ END_GR
+}
+
+
+#if 0
+static void fb_draw_bitmaps(struct graphics_device *dev, struct bitmap **hndls, int n, int x, int y)
+{
+ TEST_INACTIVITY
+
+ if (x>=fb_xsize||y>fb_ysize) return;
+ while(x+(*hndls)->x<=0&&n){
+ x+=(*hndls)->x;
+ n--;
+ hndls++;
+ }
+ while(n&&x<=fb_xsize){
+ fb_draw_bitmap(dev, *hndls, x, y);
+ x+=(*hndls)->x;
+ n--;
+ hndls++;
+ }
+}
+#endif
+
+
+
+static void fb_fill_area(struct graphics_device *dev, int left, int top, int right, int bottom, long color)
+{
+ unsigned char *dest;
+ int y;
+ int rs;
+
+ FILL_CLIP_PREFACE
+
+ dest=fb_vmem+top*fb_linesize+left*fb_pixelsize;
+ for (y=bottom-top;y;y--){
+ pixel_set(dest,(right-left)*fb_pixelsize,&color);
+ dest+=fb_linesize;
+ }
+ END_MOUSE
+ END_GR
+}
+
+
+static void fb_draw_hline(struct graphics_device *dev, int left, int y, int right, long color)
+{
+ unsigned char *dest;
+ int rs;
+
+ HLINE_CLIP_PREFACE
+
+ dest=fb_vmem+y*fb_linesize+left*fb_pixelsize;
+ pixel_set(dest,(right-left)*fb_pixelsize,&color);
+ END_MOUSE
+ END_GR
+}
+
+
+static void fb_draw_vline(struct graphics_device *dev, int x, int top, int bottom, long color)
+{
+ unsigned char *dest;
+ int y;
+ int rs;
+
+ VLINE_CLIP_PREFACE
+
+ dest=fb_vmem+top*fb_linesize+x*fb_pixelsize;
+ for (y=(bottom-top);y;y--){
+ memcpy(dest,&color,fb_pixelsize);
+ dest+=fb_linesize;
+ }
+ END_MOUSE
+ END_GR
+}
+
+
+static int fb_hscroll(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ unsigned char *dest, *src;
+ int y;
+ int len;
+ int rs;
+
+ HSCROLL_CLIP_PREFACE
+
+ if (sc>0){
+ len=(dev->clip.x2-dev->clip.x1-sc)*fb_pixelsize;
+ src=fb_vmem+fb_linesize*dev->clip.y1+dev->clip.x1*fb_pixelsize;
+ dest=src+sc*fb_pixelsize;
+ for (y=dev->clip.y2-dev->clip.y1;y;y--){
+ memmove(dest,src,len);
+ dest+=fb_linesize;
+ src+=fb_linesize;
+ }
+ }else{
+ len=(dev->clip.x2-dev->clip.x1+sc)*fb_pixelsize;
+ dest=fb_vmem+fb_linesize*dev->clip.y1+dev->clip.x1*fb_pixelsize;
+ src=dest-sc*fb_pixelsize;
+ for (y=dev->clip.y2-dev->clip.y1;y;y--){
+ memmove(dest,src,len);
+ dest+=fb_linesize;
+ src+=fb_linesize;
+ }
+ }
+ END_MOUSE
+ END_GR
+ return 1;
+}
+
+
+static int fb_vscroll(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ unsigned char *dest, *src;
+ int y;
+ int len;
+ int rs;
+
+ VSCROLL_CLIP_PREFACE
+
+ len=(dev->clip.x2-dev->clip.x1)*fb_pixelsize;
+ if (sc>0){
+ /* Down */
+ dest=fb_vmem+(dev->clip.y2-1)*fb_linesize+dev->clip.x1*fb_pixelsize;
+ src=dest-fb_linesize*sc;
+ for (y=dev->clip.y2-dev->clip.y1-sc;y;y--){
+ memcpy(dest,src,len);
+ dest-=fb_linesize;
+ src-=fb_linesize;
+ }
+ }else{
+ /* Up */
+ dest=fb_vmem+dev->clip.y1*fb_linesize+dev->clip.x1*fb_pixelsize;
+ src=dest-fb_linesize*sc;
+ for (y=dev->clip.y2-dev->clip.y1+sc;y;y--){
+ memcpy(dest,src,len);
+ dest+=fb_linesize;
+ src+=fb_linesize;
+ }
+ }
+ END_MOUSE
+ END_GR
+ return 1;
+}
+
+
+static void fb_set_clip_area(struct graphics_device *dev, struct rect *r)
+{
+ memcpy(&dev->clip, r, sizeof(struct rect));
+ if (dev->clip.x1>=dev->clip.x2||dev->clip.y2<=dev->clip.y1||dev->clip.y2<=0||dev->clip.x2<=0||dev->clip.x1>=fb_xsize
+ ||dev->clip.y1>=fb_ysize){
+ /* Empty region */
+ dev->clip.x1=dev->clip.x2=dev->clip.y1=dev->clip.y2=0;
+ }else{
+ if (dev->clip.x1<0) dev->clip.x1=0;
+ if (dev->clip.x2>fb_xsize) dev->clip.x2=fb_xsize;
+ if (dev->clip.y1<0) dev->clip.y1=0;
+ if (dev->clip.y2>fb_ysize) dev->clip.y2=fb_ysize;
+ }
+}
+
+static int fb_block(struct graphics_device *dev)
+{
+ if (fb_old_vd) return 1;
+ fb_block_dev = dev;
+ unhandle_fb_mouse();
+ fb_old_vd = current_virtual_device;
+ current_virtual_device=NULL;
+ svgalib_block_itrm(fb_kbd);
+ if (have_cmap) set_palette(&old_palette);
+ fb_switch_shutdown();
+ fb_show_cursor();
+ fb_print("\n");
+ return 0;
+}
+
+static int fb_unblock(struct graphics_device *dev)
+{
+ int rs;
+ if (current_virtual_device) {
+ return 0;
+ }
+ if (dev != fb_block_dev) return -2;
+ if (svgalib_unblock_itrm(fb_kbd)) return -1;
+ fb_switch_init();
+ fb_hide_cursor();
+ vi.xoffset=0;
+ vi.yoffset=0;
+ EINTRLOOP(rs, ioctl(fb_handler, FBIOPAN_DISPLAY, &vi));
+ current_virtual_device = fb_old_vd;
+ fb_old_vd = NULL;
+ if (have_cmap) set_palette(&global_pal);
+ handle_fb_mouse();
+ if (border_left | border_top | border_right | border_bottom) fb_clear_videoram();
+ if (current_virtual_device) current_virtual_device->redraw_handler(current_virtual_device
+ ,&current_virtual_device->size);
+ return 0;
+}
+
+
+struct graphics_driver fb_driver={
+ "fb",
+ fb_init_driver,
+ init_virtual_device,
+ shutdown_virtual_device,
+ fb_shutdown_driver,
+ fb_get_driver_param,
+ fb_get_empty_bitmap,
+ /*fb_get_filled_bitmap,*/
+ fb_register_bitmap,
+ fb_prepare_strip,
+ fb_commit_strip,
+ fb_unregister_bitmap,
+ fb_draw_bitmap,
+ /*fb_draw_bitmaps,*/
+ NULL, /* fb_get_color */
+ fb_fill_area,
+ fb_draw_hline,
+ fb_draw_vline,
+ fb_hscroll,
+ fb_vscroll,
+ fb_set_clip_area,
+ fb_block,
+ fb_unblock,
+ NULL, /* set_title */
+ NULL, /* exec */
+ NULL, /* set_clipboard_text */
+ NULL, /* get_clipboard_text */
+ 0, /* depth (filled in fb_init_driver function) */
+ 0, 0, /* size (in X is empty) */
+ GD_DONT_USE_SCROLL|GD_NEED_CODEPAGE, /* flags */
+ 0, /* codepage */
+ NULL, /* shell */
+};
+
+#endif /* GRDRV_FB */
diff --git a/ftp.c b/ftp.c
new file mode 100644
index 0000000..159237c
--- /dev/null
+++ b/ftp.c
@@ -0,0 +1,792 @@
+/* ftp.c
+ * ftp:// processing
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+#define FTP_BUF 16384
+
+struct ftp_connection_info {
+ int pending_commands;
+ int opc;
+ int pasv;
+ int dir;
+ int rest_sent;
+ int conn_st;
+ int d;
+ int dpos;
+ int buf_pos;
+ unsigned char ftp_buffer[FTP_BUF];
+ unsigned char cmdbuf[1];
+};
+
+static void ftp_get_banner(struct connection *);
+static void ftp_got_banner(struct connection *, struct read_buffer *);
+static void ftp_login(struct connection *);
+static void ftp_logged(struct connection *);
+static void ftp_sent_passwd(struct connection *);
+static void ftp_got_info(struct connection *, struct read_buffer *);
+static void ftp_got_user_info(struct connection *, struct read_buffer *);
+static void ftp_dummy_info(struct connection *, struct read_buffer *);
+static void ftp_pass_info(struct connection *, struct read_buffer *);
+static void ftp_send_retr_req(struct connection *, int);
+static struct ftp_connection_info *add_file_cmd_to_str(struct connection *);
+static void ftp_retr_1(struct connection *);
+static void ftp_retr_file(struct connection *, struct read_buffer *);
+static void ftp_got_final_response(struct connection *, struct read_buffer *);
+static void created_data_connection(struct connection *);
+static void got_something_from_data_connection(struct connection *);
+static void ftp_end_request(struct connection *, int);
+static int get_ftp_response(struct connection *, struct read_buffer *, int);
+static int ftp_process_dirlist(struct cache_entry *, off_t *, int *, unsigned char *, int, int, int *);
+
+
+static int get_ftp_response(struct connection *c, struct read_buffer *rb, int part)
+{
+ int l;
+ set_timeout(c);
+ again:
+ for (l = 0; l < rb->len; l++) if (rb->data[l] == 10) {
+ unsigned char *e;
+ long k = strtoul(rb->data, (char **)(void *)&e, 10);
+ if (e != rb->data + 3 || k < 100 || k >= 1000) return -1;
+ if (*e == '-') {
+ int i;
+ for (i = 0; i < rb->len - 5; i++) {
+ if (rb->data[i] == 10 && !memcmp(rb->data+i+1, rb->data, 3) && rb->data[i+4] == ' ') {
+ for (i++; i < rb->len; i++) if (rb->data[i] == 10) goto ok;
+ return 0;
+ }
+ }
+ return 0;
+ ok:
+ l = i;
+ }
+ if (!part && k >= 100 && k < 200) {
+ kill_buffer_data(rb, l + 1);
+ goto again;
+ }
+ if (part == 2) return k;
+ kill_buffer_data(rb, l + 1);
+ return k;
+ }
+ return 0;
+}
+
+void ftp_func(struct connection *c)
+{
+ /*setcstate(c, S_CONN);*/
+ /*set_timeout(c);*/
+ if (get_keepalive_socket(c)) {
+ int p;
+ if ((p = get_port(c->url)) == -1) {
+ setcstate(c, S_INTERNAL);
+ abort_connection(c);
+ return;
+ }
+ make_connection(c, p, &c->sock1, ftp_options.fast_ftp ? ftp_login : ftp_get_banner);
+ } else ftp_send_retr_req(c, S_SENT);
+}
+
+static void ftp_get_banner(struct connection *c)
+{
+ struct read_buffer *rb;
+ set_timeout(c);
+ setcstate(c, S_SENT);
+ if (!(rb = alloc_read_buffer(c))) return;
+ read_from_socket(c, c->sock1, rb, ftp_got_banner);
+}
+
+static void ftp_got_banner(struct connection *c, struct read_buffer *rb)
+{
+ int g = get_ftp_response(c, rb, 0);
+ if (g == -1) { setcstate(c, S_FTP_ERROR); abort_connection(c); return; }
+ if (!g) { read_from_socket(c, c->sock1, rb, ftp_got_banner); return; }
+ if (g >= 400) { setcstate(c, S_FTP_UNAVAIL); retry_connection(c); return; }
+ ftp_login(c);
+}
+
+static void ftp_login(struct connection *c)
+{
+ unsigned char *login;
+ unsigned char *u;
+ int logl = 0;
+ set_timeout(c);
+ login = init_str();
+ add_to_str(&login, &logl, "USER ");
+ if ((u = get_user_name(c->url)) && *u) add_to_str(&login, &logl, u);
+ else add_to_str(&login, &logl, "anonymous");
+ if (u) mem_free(u);
+ if (ftp_options.fast_ftp) {
+ struct ftp_connection_info *fi;
+ add_to_str(&login, &logl, "\r\nPASS ");
+ if ((u = get_pass(c->url)) && *u) add_to_str(&login, &logl, u);
+ else add_to_str(&login, &logl, ftp_options.anon_pass);
+ if (u) mem_free(u);
+ add_to_str(&login, &logl, "\r\n");
+ if (!(fi = add_file_cmd_to_str(c))) {
+ mem_free(login);
+ return;
+ }
+ add_to_str(&login, &logl, fi->cmdbuf);
+ } else add_to_str(&login, &logl, "\r\n");
+ write_to_socket(c, c->sock1, login, strlen(login), ftp_logged);
+ mem_free(login);
+ setcstate(c, S_SENT);
+}
+
+static void ftp_logged(struct connection *c)
+{
+ struct read_buffer *rb;
+ if (!(rb = alloc_read_buffer(c))) return;
+ if (!ftp_options.fast_ftp) {
+ ftp_got_user_info(c, rb);
+ return;
+ }
+ read_from_socket(c, c->sock1, rb, ftp_got_info);
+}
+
+static void ftp_got_info(struct connection *c, struct read_buffer *rb)
+{
+ int g = get_ftp_response(c, rb, 0);
+ if (g == -1) { setcstate(c, S_FTP_ERROR); abort_connection(c); return; }
+ if (!g) { read_from_socket(c, c->sock1, rb, ftp_got_info); return; }
+ if (g >= 400) { setcstate(c, S_FTP_UNAVAIL); retry_connection(c); return; }
+ ftp_got_user_info(c, rb);
+}
+
+static void ftp_got_user_info(struct connection *c, struct read_buffer *rb)
+{
+ int g = get_ftp_response(c, rb, 0);
+ if (g == -1) { setcstate(c, S_FTP_ERROR); abort_connection(c); return; }
+ if (!g) { read_from_socket(c, c->sock1, rb, ftp_got_user_info); return; }
+ if (g >= 530 && g < 540) { setcstate(c, S_FTP_LOGIN); retry_connection(c); return; }
+ if (g >= 400) { setcstate(c, S_FTP_UNAVAIL); retry_connection(c); return; }
+ if (g >= 200 && g < 300) {
+ if (ftp_options.fast_ftp) ftp_dummy_info(c, rb);
+ else ftp_send_retr_req(c, S_GETH);
+ } else {
+ if (ftp_options.fast_ftp) ftp_pass_info(c, rb);
+ else {
+ unsigned char *login;
+ unsigned char *u;
+ int logl = 0;
+ login = init_str();
+ add_to_str(&login, &logl, "PASS ");
+ if ((u = get_pass(c->url)) && *u) add_to_str(&login, &logl, u);
+ else add_to_str(&login, &logl, ftp_options.anon_pass);
+ if (u) mem_free(u);
+ add_to_str(&login, &logl, "\r\n");
+ write_to_socket(c, c->sock1, login, strlen(login), ftp_sent_passwd);
+ mem_free(login);
+ setcstate(c, S_LOGIN);
+ }
+ }
+}
+
+static void ftp_dummy_info(struct connection *c, struct read_buffer *rb)
+{
+ int g = get_ftp_response(c, rb, 0);
+ if (g == -1) { setcstate(c, S_FTP_ERROR); abort_connection(c); return; }
+ if (!g) { read_from_socket(c, c->sock1, rb, ftp_dummy_info); return; }
+ ftp_retr_file(c, rb);
+}
+
+static void ftp_sent_passwd(struct connection *c)
+{
+ struct read_buffer *rb;
+ if (!(rb = alloc_read_buffer(c))) return;
+ read_from_socket(c, c->sock1, rb, ftp_pass_info);
+}
+
+static void ftp_pass_info(struct connection *c, struct read_buffer *rb)
+{
+ int g = get_ftp_response(c, rb, 0);
+ if (g == -1) { setcstate(c, S_FTP_ERROR); abort_connection(c); return; }
+ if (!g) { read_from_socket(c, c->sock1, rb, ftp_pass_info); setcstate(c, S_LOGIN); return; }
+ if (g >= 530 && g < 540) { setcstate(c, S_FTP_LOGIN); abort_connection(c); return; }
+ if (g >= 400) { setcstate(c, S_FTP_UNAVAIL); abort_connection(c); return; }
+ if (ftp_options.fast_ftp) ftp_retr_file(c, rb);
+ else ftp_send_retr_req(c, S_GETH);
+}
+
+static struct ftp_connection_info *add_file_cmd_to_str(struct connection *c)
+{
+ unsigned char *d = get_url_data(c->url);
+ unsigned char *de;
+ int del;
+ unsigned char pc[6];
+ int ps;
+ struct ftp_connection_info *inf, *inf2;
+ unsigned char *s;
+ int l;
+ if (!d) {
+ internal("get_url_data failed");
+ setcstate(c, S_INTERNAL);
+ abort_connection(c);
+ return NULL;
+ }
+ de = init_str(), del = 0;
+ add_conv_str(&de, &del, d, strlen(d), -2);
+ d = de;
+ inf = mem_alloc(sizeof(struct ftp_connection_info));
+ memset(inf, 0, sizeof(struct ftp_connection_info));
+ l = 0;
+ s = init_str();
+ inf->pasv = ftp_options.passive_ftp;
+ if (*c->socks_proxy) inf->pasv = 1;
+ c->info = inf;
+ if (!inf->pasv) if ((ps = get_pasv_socket(c, c->sock1, &c->sock2, pc))) {
+ mem_free(d);
+ return NULL;
+ }
+#ifdef HAVE_IPTOS
+ if (ftp_options.set_tos) {
+ int rx;
+ int on = IPTOS_THROUGHPUT;
+ EINTRLOOP(rx, setsockopt(c->sock2, IPPROTO_IP, IP_TOS, (char *)&on, sizeof(int)));
+ }
+#endif
+ if (!(de = strchr(d, POST_CHAR))) de = d + strlen(d);
+ if (d == de || de[-1] == '/') {
+ inf->dir = 1;
+ inf->pending_commands = 4;
+ add_to_str(&s, &l, "TYPE A\r\n");
+ if (!inf->pasv) {
+ add_to_str(&s, &l, "PORT ");
+ add_num_to_str(&s, &l, pc[0]);
+ add_chr_to_str(&s, &l, ',');
+ add_num_to_str(&s, &l, pc[1]);
+ add_chr_to_str(&s, &l, ',');
+ add_num_to_str(&s, &l, pc[2]);
+ add_chr_to_str(&s, &l, ',');
+ add_num_to_str(&s, &l, pc[3]);
+ add_chr_to_str(&s, &l, ',');
+ add_num_to_str(&s, &l, pc[4]);
+ add_chr_to_str(&s, &l, ',');
+ add_num_to_str(&s, &l, pc[5]);
+ add_to_str(&s, &l, "\r\n");
+ } else {
+ add_to_str(&s, &l, "PASV\r\n");
+ }
+ add_to_str(&s, &l, "CWD /");
+ add_bytes_to_str(&s, &l, d, de - d);
+ add_to_str(&s, &l, "\r\nLIST\r\n");
+ c->from = 0;
+ } else {
+ inf->dir = 0;
+ inf->pending_commands = 3;
+ add_to_str(&s, &l, "TYPE I\r\n");
+ if (!inf->pasv) {
+ add_to_str(&s, &l, "PORT ");
+ add_num_to_str(&s, &l, pc[0]);
+ add_chr_to_str(&s, &l, ',');
+ add_num_to_str(&s, &l, pc[1]);
+ add_chr_to_str(&s, &l, ',');
+ add_num_to_str(&s, &l, pc[2]);
+ add_chr_to_str(&s, &l, ',');
+ add_num_to_str(&s, &l, pc[3]);
+ add_chr_to_str(&s, &l, ',');
+ add_num_to_str(&s, &l, pc[4]);
+ add_chr_to_str(&s, &l, ',');
+ add_num_to_str(&s, &l, pc[5]);
+ add_to_str(&s, &l, "\r\n");
+ } else {
+ add_to_str(&s, &l, "PASV\r\n");
+ }
+ if (c->from && c->no_cache < NC_IF_MOD) {
+ add_to_str(&s, &l, "REST ");
+ add_num_to_str(&s, &l, c->from);
+ add_to_str(&s, &l, "\r\n");
+ inf->rest_sent = 1;
+ inf->pending_commands++;
+ } else c->from = 0;
+ add_to_str(&s, &l, "RETR /");
+ add_bytes_to_str(&s, &l, d, de - d);
+ add_to_str(&s, &l, "\r\n");
+ }
+ inf->opc = inf->pending_commands;
+ if ((unsigned)l > MAXINT - sizeof(struct ftp_connection_info) - 1) overalloc();
+ inf2 = mem_realloc(inf, sizeof(struct ftp_connection_info) + l + 1);
+ strcpy((inf = inf2)->cmdbuf, s);
+ mem_free(s);
+ c->info = inf;
+ mem_free(d);
+ return inf;
+}
+
+
+static void ftp_send_retr_req(struct connection *c, int state)
+{
+ struct ftp_connection_info *fi;
+ unsigned char *login;
+ int logl = 0;
+ set_timeout(c);
+ login = init_str();
+ if (!c->info && !(fi = add_file_cmd_to_str(c))) {
+ mem_free(login);
+ return;
+ } else fi = c->info;
+ if (ftp_options.fast_ftp) a:add_to_str(&login, &logl, fi->cmdbuf);
+ else {
+ unsigned char *nl = strchr(fi->cmdbuf, '\n');
+ if (!nl) goto a;
+ nl++;
+ add_bytes_to_str(&login, &logl, fi->cmdbuf, nl - fi->cmdbuf);
+ memmove(fi->cmdbuf, nl, strlen(nl) + 1);
+ }
+ write_to_socket(c, c->sock1, login, strlen(login), ftp_retr_1);
+ mem_free(login);
+ setcstate(c, state);
+}
+
+static void ftp_retr_1(struct connection *c)
+{
+ struct read_buffer *rb;
+ if (!(rb = alloc_read_buffer(c))) return;
+ read_from_socket(c, c->sock1, rb, ftp_retr_file);
+}
+
+static void ftp_retr_file(struct connection *c, struct read_buffer *rb)
+{
+ int g;
+ struct ftp_connection_info *inf = c->info;
+ if (0) {
+ rep:
+ if (!ftp_options.fast_ftp) {
+ ftp_send_retr_req(c, S_GETH);
+ return;
+ }
+ }
+ if (inf->pending_commands > 1) {
+ unsigned char pc[6];
+ if (inf->pasv && inf->opc - (inf->pending_commands - 1) == 2) {
+ int i = 3, j;
+ while (i < rb->len) {
+ if (rb->data[i] >= '0' && rb->data[i] <= '9') {
+ for (j = 0; j < 6; j++) {
+ int n = 0;
+ while (rb->data[i] >= '0' && rb->data[i] <= '9') {
+ n = n * 10 + rb->data[i] - '0';
+ if (n >= 256) goto no_pasv;
+ if (++i >= rb->len) goto no_pasv;
+ }
+ pc[j] = n;
+ if (j != 5) {
+ if (rb->data[i] != ',') goto xa;
+ if (++i >= rb->len) goto xa;
+ if (rb->data[i] < '0' || rb->data[i] > '9') {
+ xa:
+ if (j != 1) goto no_pasv;
+ pc[4] = pc[0];
+ pc[5] = pc[1];
+ pc[0] = pc[1] = pc[2] = pc[3] = 0;
+ goto pasv_ok;
+ }
+ }
+ }
+ goto pasv_ok;
+ }
+ i++;
+ }
+ no_pasv:
+ memset(pc, 0, sizeof pc);
+ pasv_ok:;
+ }
+ g = get_ftp_response(c, rb, 0);
+ if (g == -1) { setcstate(c, S_FTP_ERROR); abort_connection(c); return; }
+ if (!g) { read_from_socket(c, c->sock1, rb, ftp_retr_file); setcstate(c, S_GETH); return; }
+ inf->pending_commands--;
+ switch (inf->opc - inf->pending_commands) {
+ case 1: /* TYPE */
+ goto rep;
+ case 2: /* PORT */
+ if (g >= 400) { setcstate(c, S_FTP_PORT); abort_connection(c); return; }
+ if (inf->pasv) {
+ if (!pc[4] && !pc[5]) {
+ setcstate(c, S_FTP_ERROR);
+ retry_connection(c);
+ return;
+ }
+ make_connection(c, (pc[4] << 8) + pc[5], &c->sock2, created_data_connection);
+ }
+ goto rep;
+ case 3: /* REST / CWD */
+ if (g >= 400) {
+ if (!inf->dir) c->from = 0;
+ else { setcstate(c, S_FTP_NO_FILE); abort_connection(c); return; }
+ }
+ goto rep;
+ }
+ internal("WHAT???");
+ }
+ g = get_ftp_response(c, rb, 2);
+ if (!g) { read_from_socket(c, c->sock1, rb, ftp_retr_file); setcstate(c, S_GETH); return; }
+ if (g >= 100 && g < 200) {
+ unsigned char *d = rb->data;
+ int i, p = 0;
+ for (i = 0; i < rb->len && d[i] != 10; i++) if (d[i] == '(') p = i;
+ if (!p || p == rb->len - 1) goto nol;
+ p++;
+ if (d[p] < '0' || d[p] > '9') goto nol;
+ for (i = p; i < rb->len; i++) if (d[i] < '0' || d[i] > '9') goto quak;
+ goto nol;
+ quak:
+ for (; i < rb->len; i++) if (d[i] != ' ') break;
+ if (i + 4 > rb->len) goto nol;
+ if (casecmp(&d[i], "byte", 4)) goto nol;
+ {
+#if defined(HAVE_STRTOLL)
+ long long est = strtoll(&d[p], NULL, 10);
+ if (est == MAXLLONG) est = -1;
+#elif defined(HAVE_STRTOQ)
+ longlong est = strtoq(&d[p], NULL, 10);
+#else
+ long est = strtol(&d[p], NULL, 10);
+ if (est == MAXLONG) est = -1;
+#endif
+ if (est < 0 || (off_t)est < 0 || (off_t)est != est) est = 0;
+ if (est) c->est_length = est + c->from;
+ }
+ nol:;
+ }
+ if (!inf->pasv)
+ set_handlers(c->sock2, (void (*)(void *))got_something_from_data_connection, NULL, NULL, c);
+ /*read_from_socket(c, c->sock1, rb, ftp_got_final_response);*/
+ ftp_got_final_response(c, rb);
+}
+
+static void ftp_got_final_response(struct connection *c, struct read_buffer *rb)
+{
+ struct ftp_connection_info *inf = c->info;
+ int g = get_ftp_response(c, rb, 0);
+ if (g == -1) { setcstate(c, S_FTP_ERROR); abort_connection(c); return; }
+ if (!g) { read_from_socket(c, c->sock1, rb, ftp_got_final_response); if (c->state != S_TRANS) setcstate(c, S_GETH); return; }
+ if (g == 425 || g == 450 || g == 500 || g == 501 || g == 550) {
+ if (c->url[strlen(c->url) - 1] == '/') goto skip_redir;
+ if (!c->cache) {
+ if (get_cache_entry(c->url, &c->cache)) {
+ setcstate(c, S_OUT_OF_MEM);
+ abort_connection(c);
+ return;
+ }
+ c->cache->refcount--;
+ }
+ if (c->cache->redirect) mem_free(c->cache->redirect);
+ c->cache->redirect = stracpy(c->url);
+ c->cache->redirect_get = 1;
+ add_to_strn(&c->cache->redirect, "/");
+ c->cache->incomplete = 0;
+ /*setcstate(c, S_FTP_NO_FILE);*/
+ setcstate(c, S__OK);
+ abort_connection(c);
+ return;
+ }
+ skip_redir:
+ if (g >= 400) { setcstate(c, S_FTP_FILE_ERROR); abort_connection(c); return; }
+ if (inf->conn_st == 2) {
+ ftp_end_request(c, S__OK);
+ } else {
+ inf->conn_st = 1;
+ if (c->state != S_TRANS) setcstate(c, S_GETH);
+ }
+}
+
+static int is_date(unsigned char *data) /* can touch at most data[-4] --- "n 12 "<--if fed with this --- if you change it, fix the caller */
+{
+ /* fix for ftp://ftp.su.se/ */
+ if (*data == ' ') data--;
+ if (data[0] >= '0' && data[0] <= '9' && data[-1] >= '0' && data[-1] <= '9') data -= 2;
+ else if (data[0] >= '1' && data[0] <= '9' && data[-1] == ' ') data -= 1 + (data[-2] == ' ');
+ else return 0;
+ if (data[0] == ':') return 1;
+ if (data[0] != ' ') return 0;
+ if ((data[-1] < 'a' || data[-1] > 'z') && (data[-1] < 'A' || data[-1] > 'Z')) return 0;
+ return 1;
+}
+
+static int ftp_process_dirlist(struct cache_entry *ce, off_t *pos, int *d, unsigned char *bf, int ln, int fin, int *tr)
+{
+ unsigned char *str, *buf;
+ int sl;
+ int ret = 0;
+ int p;
+ int len;
+ int f;
+ int a;
+ again:
+ buf = bf + ret;
+ len = ln - ret;
+ for (p = 0; p < len; p++) if (buf[p] == '\n') goto lb;
+ if (p && (fin || len >= FTP_BUF)) {
+ ret += p;
+ goto pl;
+ }
+ return ret;
+ lb:
+ ret += p + 1;
+ if (p && buf[p - 1] == '\r') p--;
+ pl:
+ str = init_str();
+ sl = 0;
+ /*add_to_str(&str, &sl, " ");*/
+ f = *d;
+ if (*d && *d < p && WHITECHAR(buf[*d - 1])) {
+ int ee, dir;
+ ppp:
+ for (ee = *d; ee <= p - 4; ee++)
+ if (!memcmp(buf + ee, " -> ", 4)) goto syml;
+ ee = p;
+ syml:
+ if (!f) {
+ if ((ee - *d != 1 || buf[*d] != '.') &&
+ (ee - *d != 2 || buf[*d] != '.' || buf[*d + 1] != '.')) {
+ int i;
+ for (i = 0; i < *d; i++) add_chr_to_str(&str, &sl, ' ');
+ add_to_str(&str, &sl, "<a href=\"../\">..</a>\n");
+ }
+ }
+ dir = buf[0] == 'd';
+ if (!dir) {
+ unsigned char *p = memacpy(buf, *d);
+ if (strstr(p, "<DIR>")) dir = 1;
+ mem_free(p);
+ };
+ add_conv_str(&str, &sl, buf, *d, 0);
+ add_to_str(&str, &sl, "<a href=\"./");
+ add_conv_str(&str, &sl, buf + *d, ee - *d, 1);
+ if (dir) add_chr_to_str(&str, &sl, '/');
+ add_to_str(&str, &sl, "\">");
+ add_conv_str(&str, &sl, buf + *d, ee - *d, 0);
+ add_to_str(&str, &sl, "</a>");
+ add_conv_str(&str, &sl, buf + ee, p - ee, 0);
+ } else {
+ int pp, ppos;
+ int bp, bn;
+ if (p > 5 && !casecmp(buf, "total", 5)) goto raw;
+ for (pp = p - 1; pp >= 0; pp--) if (!WHITECHAR(buf[pp])) break;
+ if (pp < 0) goto raw;
+ if (pp < p - 1) pp++;
+ ppos = -1;
+ for (; pp >= 10; pp--) if (WHITECHAR(buf[pp])) {
+ if (is_date(&buf[pp - 6]) &&
+ buf[pp - 5] == ' ' &&
+ ((buf[pp - 4] == '2' && buf[pp - 3] == '0') ||
+ (buf[pp - 4] == '1' && buf[pp - 3] == '9')) &&
+ buf[pp - 2] >= '0' && buf[pp - 2] <= '9' &&
+ buf[pp - 1] >= '0' && buf[pp - 1] <= '9') {
+ if (pp < p - 2 && buf[pp + 1] == ' ' && buf[pp + 2] != ' ') ppos = pp + 1;
+ else ppos = pp;
+ }
+ if (buf[pp - 6] == ' ' &&
+ ((buf[pp - 5] >= '0' && buf[pp - 5] <= '2') || buf[pp - 5] == ' ') &&
+ buf[pp - 4] >= '0' && buf[pp - 4] <= '9' &&
+ buf[pp - 3] == ':' &&
+ buf[pp - 2] >= '0' && buf[pp - 2] <= '5' &&
+ buf[pp - 1] >= '0' && buf[pp - 1] <= '9') {
+ ppos = pp;
+ if (pp + 2 < p && buf[pp + 1] == ' ' && buf[pp + 2] != ' ')
+ ppos++;
+ }
+ }
+ if (ppos != -1) {
+ pp = ppos;
+ goto done;
+ }
+
+ for (pp = 0; pp + 5 <= p; pp++)
+ if (!casecmp(&buf[pp], "<DIR>", 5)) {
+ pp += 4;
+ while (pp + 1 < p && WHITECHAR(buf[pp + 1])) pp++;
+ if (pp + 1 < p) goto done;
+ }
+
+ bn = -1;
+ bp = 0; /* warning, go away */
+ for (pp = 0; pp < p; ) {
+ if (buf[pp] >= '0' && buf[pp] <= '9') {
+ int i;
+ for (i = pp; i < p; i++)
+ if (buf[i] < '0' || buf[i] > '9') break;
+ if (i < p && WHITECHAR(buf[i])) {
+ if (i - pp > bn) {
+ bn = i - pp;
+ bp = pp;
+ }
+ }
+ pp = i;
+ }
+ while (pp < p && !WHITECHAR(buf[pp])) pp++;
+ while (pp < p && WHITECHAR(buf[pp])) pp++;
+ }
+ if (bn >= 0) {
+ pp = bp + bn;
+ while (pp + 1 < p && WHITECHAR(buf[pp + 1])) pp++;
+ if (pp + 1 < p) goto done;
+ }
+
+ for (pp = p - 1; pp >= 0; pp--) if (!WHITECHAR(buf[pp])) break;
+ if (pp < 0) goto raw;
+ for (; pp >= 0; pp--) if (WHITECHAR(buf[pp]) && (pp < 3 || memcmp(buf + pp - 3, " -> ", 4)) && (pp > p - 4 || memcmp(buf + pp, " -> ", 4))) break;
+ done:
+ *d = pp + 1;
+ goto ppp;
+ raw:
+ add_conv_str(&str, &sl, buf, p, 0);
+ }
+ add_chr_to_str(&str, &sl, '\n');
+ a = add_fragment(ce, *pos, str, sl);
+ if (a < 0) return a;
+ if (a == 1) *tr = 0;
+ *pos += sl;
+ mem_free(str);
+ goto again;
+}
+
+static void created_data_connection(struct connection *c)
+{
+ struct ftp_connection_info *inf = c->info;
+#ifdef HAVE_IPTOS
+ if (ftp_options.set_tos) {
+ int rx;
+ int on = IPTOS_THROUGHPUT;
+ EINTRLOOP(rx, setsockopt(c->sock2, IPPROTO_IP, IP_TOS, (char *)&on, sizeof(int)));
+ }
+#endif
+ inf->d = 1;
+ set_handlers(c->sock2, (void (*)(void *))got_something_from_data_connection, NULL, NULL, c);
+}
+
+static void got_something_from_data_connection(struct connection *c)
+{
+ struct ftp_connection_info *inf = c->info;
+ int l;
+ int m;
+ int rs;
+ set_timeout(c);
+ if (!inf->d) {
+ int ns;
+ inf->d = 1;
+ set_handlers(c->sock2, NULL, NULL, NULL, NULL);
+ EINTRLOOP(ns, accept(c->sock2, NULL, NULL));
+ if (ns == -1) goto e;
+ EINTRLOOP(rs, close(c->sock2));
+ c->sock2 = ns;
+ set_handlers(ns, (void (*)(void *))got_something_from_data_connection, NULL, NULL, c);
+ return;
+ }
+ if (!c->cache) {
+ if (get_cache_entry(c->url, &c->cache)) {
+ setcstate(c, S_OUT_OF_MEM);
+ abort_connection(c);
+ return;
+ }
+ c->cache->refcount--;
+ }
+ if (inf->dir && !c->from) {
+ unsigned char *ud;
+ unsigned char *s0;
+ int s0l;
+ int err = 0;
+ static unsigned char ftp_head[] = "<html><head><title>/";
+ static unsigned char ftp_head2[] = "</title></head><body><h2>Directory /";
+ static unsigned char ftp_head3[] = "</h2><pre>";
+#define A(s) \
+do { \
+ m = add_fragment(c->cache, c->from, s, strlen(s)); \
+ if (m < 0 && !err) err = m; \
+ c->from += strlen(s); \
+} while (0)
+ A(ftp_head);
+ ud = stracpy(get_url_data(c->url));
+ if (strchr(ud, POST_CHAR)) *strchr(ud, POST_CHAR) = 0;
+ s0 = init_str();
+ s0l = 0;
+ add_conv_str(&s0, &s0l, ud, strlen(ud), -1);
+ mem_free(ud);
+ A(s0);
+ A(ftp_head2);
+ A(s0);
+ A(ftp_head3);
+ mem_free(s0);
+ if (!c->cache->head) c->cache->head = stracpy("\r\n");
+ add_to_strn(&c->cache->head, "Content-Type: text/html\r\n");
+ if (err) {
+ setcstate(c, err);
+ abort_connection(c);
+ return;
+ }
+#undef A
+ }
+ EINTRLOOP(l, read(c->sock2, inf->ftp_buffer + inf->buf_pos, FTP_BUF - inf->buf_pos));
+ if (l == -1) {
+ e:
+ if (inf->conn_st != 1 && !inf->dir && !c->from) {
+ set_handlers(c->sock2, NULL, NULL, NULL, NULL);
+ close_socket(&c->sock2);
+ inf->conn_st = 2;
+ return;
+ }
+ setcstate(c, get_error_from_errno(errno));
+ retry_connection(c);
+ return;
+ }
+ if (l > 0) {
+ if (!inf->dir) {
+ if ((off_t)(0UL + c->from + l) < 0) {
+ setcstate(c, S_LARGE_FILE);
+ abort_connection(c);
+ return;
+ }
+ c->received += l;
+ m = add_fragment(c->cache, c->from, inf->ftp_buffer, l);
+ if (m < 0) {
+ setcstate(c, m);
+ abort_connection(c);
+ return;
+ }
+ if (m == 1) c->tries = 0;
+ c->from += l;
+ } else {
+ c->received += l;
+ m = ftp_process_dirlist(c->cache, &c->from, &inf->dpos, inf->ftp_buffer, l + inf->buf_pos, 0, &c->tries);
+ if (m < 0) {
+ setcstate(c, m);
+ abort_connection(c);
+ return;
+ }
+ memmove(inf->ftp_buffer, inf->ftp_buffer + m, inf->buf_pos + l - m);
+ inf->buf_pos += l - m;
+ }
+ setcstate(c, S_TRANS);
+ return;
+ }
+ m = ftp_process_dirlist(c->cache, &c->from, &inf->dpos, inf->ftp_buffer, inf->buf_pos, 1, &c->tries);
+ if (m < 0) {
+ setcstate(c, m);
+ abort_connection(c);
+ return;
+ }
+ set_handlers(c->sock2, NULL, NULL, NULL, NULL);
+ close_socket(&c->sock2);
+ if (inf->conn_st == 1) {
+ ftp_end_request(c, S__OK);
+ } else {
+ inf->conn_st = 2;
+ }
+}
+
+static void ftp_end_request(struct connection *c, int state)
+{
+ if (state == S__OK) {
+ if (c->cache) {
+ truncate_entry(c->cache, c->from, 1);
+ c->cache->incomplete = 0;
+ }
+ }
+ setcstate(c, state);
+ add_keepalive_socket(c, FTP_KEEPALIVE_TIMEOUT);
+}
+
diff --git a/gif.c b/gif.c
new file mode 100644
index 0000000..267fb21
--- /dev/null
+++ b/gif.c
@@ -0,0 +1,543 @@
+/* gif.c
+ * GIF parser
+ (c) 2002 Karel 'Clock' Kulhavy
+ This file is a part of the Links program, released under GPL.
+*/
+
+/* TODO: remove superfluous deco->im_width and deco->im_height */
+
+#include "cfg.h"
+
+#ifdef G
+
+#ifdef HAVE_MATH_H
+#include <math.h>
+#endif
+
+#include "links.h"
+
+/****************************** Functions *************************************/
+
+/* Takes the argument from global_cimg. Does not free the gif_decoder
+ * struct itself. */
+void gif_destroy_decoder(struct cached_image *cimg)
+{
+ struct gif_decoder *deco=cimg->decoder;
+
+ if ((cimg->state==12||cimg->state==14)&&cimg->strip_optimized) mem_free(deco->actual_line);
+ if (deco->color_map) mem_free(deco->color_map);
+}
+
+/* colors: number of triplets (color entries) */
+static void alloc_color_map(int colors)
+{
+ struct gif_decoder* deco=global_cimg->decoder;
+
+ if (deco->color_map) mem_free(deco->color_map);
+ if ((unsigned)colors > MAXINT / 3 / sizeof(*(deco->color_map))) overalloc();
+ deco->color_map=mem_alloc(colors*3*sizeof(*(deco->color_map)));
+}
+
+/*
+ Initialize code table: construct codes 0...(1<<code_size)-1 with values
+ 0...(1<<code_size)-1 Codes (1<<code_size) and (1<<code_size)+1 are
+ left intact -- they are of no use.
+ Initializes CC and EOI
+ Zeroes out the last_code. In normal data stream the first code must be
+ in the table. However, if corrupted stream is to be received, a cause could
+ happen that the first code would be out of table and as last code would
+ be used something uninitialized and something very strange could happen
+ (drawing a pixel from previous image or an infinite loop in outputting
+ string)
+*/
+static void init_table(void)
+{
+ int i;
+ struct gif_decoder *deco;
+
+ deco=global_cimg->decoder;
+ deco->code_size=deco->initial_code_size;
+ deco->first_code=1;
+ for (i=0;i<1<<deco->code_size;i++)
+ {
+ deco->table[i].pointer=-1;
+ deco->table[i].end_char=i;
+ }
+ /* Here i=1<<code_size. */
+ deco->CC=i;
+ deco->EOI=i+1;
+ deco->table_pos=i+2;
+ for (;i<4096;i++)
+ {
+ deco->table[i].pointer=-2;
+ }
+ deco->code_size++;
+ deco->last_code=0;
+}
+
+/*
+ Outputs a single pixel.
+ if end_callback_hit gets set, do not send any more data in.
+*/
+static inline void
+output_pixel(int c)
+{
+ struct gif_decoder *deco;
+ struct cached_image *cimg=global_cimg;
+
+ deco=global_cimg->decoder;
+ if (c>=1<<deco->im_bpp){
+ end_callback_hit=1;
+ return;
+ }
+ deco->actual_line[deco->xoff*3]=deco->color_map[c*3];
+ deco->actual_line[deco->xoff*3+1]=deco->color_map[c*3+1];
+ deco->actual_line[deco->xoff*3+2]=deco->color_map[c*3+2];
+ deco->xoff++;
+ if (deco->xoff>=deco->im_width)
+ {
+ deco->xoff=0;
+ global_cimg->rows_added=1;
+ if (deco->interl_dist==1)
+ {
+ if (global_cimg->strip_optimized){
+ buffer_to_bitmap_incremental(cimg
+ ,deco->actual_line, 1, deco->yoff,
+ cimg->dregs, 1);
+ }else{
+ deco->actual_line+=deco->im_width*3;
+ }
+ deco->yoff++;
+ }else{
+ int skip=deco->interl_dist&15;
+ int n=(deco->interl_dist==24)
+ ?8:(deco->interl_dist>>1);
+ unsigned char *ptr;
+ int y;
+
+ ptr=deco->actual_line+deco->im_width*3;
+ for (y=deco->yoff+1;y<deco->im_height
+ &&y<deco->yoff+n;y++){
+ memcpy(ptr,deco
+ ->actual_line,deco->im_width*3);
+ ptr+=deco->im_width*3;
+ }
+ deco->actual_line+=deco->im_width*3*skip;
+ deco->yoff+=skip;
+ }
+ while (deco->yoff>=deco->im_height)
+ {
+ /* The vertical range is complete. */
+ if (deco->interl_dist<=2)
+ {
+ end_callback_hit=1;
+ return;
+ }else{
+ deco->interl_dist=(deco->interl_dist==24)
+ ?8:(deco->interl_dist>>1);
+ deco->yoff=deco->interl_dist>>1;
+ deco->actual_line=global_cimg
+ ->buffer+deco->yoff*3*deco->im_width;
+ }
+ }
+ }
+}
+
+/* Finds the first char of output string for given codeword. */
+static inline int
+find_first(int c)
+{
+ struct gif_decoder *deco;
+ int p;
+ int i;
+
+ deco=global_cimg->decoder;
+ for (i=0;i<4096;i++){
+ p=deco->table[c].pointer;
+ if (p==-1) break;
+ if (p<-1||p>=4096) return 0;
+ c=p;
+ }
+ return deco->table[c].end_char;
+}
+
+/* GIF code
+ Supply a code and it outputs the string for c.
+ if end_callback_hit is set then it should not be called anymore.
+*/
+static inline void
+output_string(int c)
+{
+ int pos=0;
+ struct gif_decoder *deco;
+
+ deco=global_cimg->decoder;
+ while(1){
+ if (pos==4096){
+ /* Cycle in string */
+ end_callback_hit=1;
+ return;
+ }
+ deco->table[pos].garbage=deco->table[c].end_char;
+ pos++;
+ c=deco->table[c].pointer;
+ if (c<0) break; /* We are at the end */
+ }
+ for (pos--;pos>=0;pos--)
+ {
+ output_pixel(deco->table[pos].garbage);
+ if (end_callback_hit) return;
+ }
+}
+
+/* Adds to the code table
+ return value: 0 ok
+ 1 fatal error
+ 2 stop sending data
+*/
+
+static inline void
+add_table(struct gif_decoder *deco,int end_char,int pointer)
+{
+ if (deco->table_pos>=4096){
+ end_callback_hit=1;
+ return; /* Overflow */
+ }
+ deco->table[deco->table_pos].end_char=end_char;
+ deco->table[deco->table_pos].pointer=pointer;
+ deco->table_pos++;
+ if (deco->table_pos==(1<<deco->code_size)&&deco->code_size!=12)
+ {
+ /* Table pos is a power of 2 */
+ deco->code_size++;
+ }
+}
+
+/* Yout throw inside a codeword and it processes it farther
+ If the code==256, it means that end-of-file came.
+ This is part of GIF code.
+ If sets up end_callback_hit, no more codes should be sent into accept_codee.
+*/
+static inline void
+accept_code(struct gif_decoder *deco,int c)
+{
+ int k;
+
+ if (c>4096||c<0) return; /* Erroneous code word will be ignored */
+ if (c==deco->CC) {
+ init_table();
+ return;
+ }
+
+ if (c==deco->EOI)
+ {
+ end_callback_hit=1;
+ return;
+ }
+
+ if (deco->first_code)
+ {
+ deco->first_code=0;
+ /* First code after init_table */
+ /* Action: output the string for code */
+ output_string(c);
+ if (end_callback_hit) return;
+ deco->last_code=c;
+ return;
+ }
+
+ if (c>=deco->table_pos)
+ {
+ /* The code is not in the table */
+ k=find_first(deco->last_code);
+ }
+ else
+ {
+ /* The code is in code table */
+ k=find_first(c);
+ }
+
+ add_table(deco,k,deco->last_code);
+ if (end_callback_hit) return;
+
+ /* Output the string for code */
+ output_string(c);
+ if (end_callback_hit) return;
+ deco->last_code=c; /* Update last code. */
+}
+
+
+/* You throw inside a byte, it depacks the bits out and makes code and then
+ passes to the decoder (no headers, palettes etc. go through this.)
+ sets end_callback_hit to 1 when no more data should be put in.
+*/
+static inline void
+accept_byte(unsigned char c)
+{
+ int original_code_size;
+ struct gif_decoder *deco;
+
+ deco=global_cimg->decoder;
+ deco->read_code|=(unsigned long)c<<deco->bits_read;
+ deco->bits_read+=8;
+ while (deco->bits_read>=deco->code_size)
+ {
+ /* We have collected up a whole code word. */
+ original_code_size=deco->code_size;
+ accept_code(deco,deco->read_code&((1<<deco->code_size)-1));
+ if (end_callback_hit) return;
+ deco->read_code>>=original_code_size;
+ deco->bits_read-=original_code_size;
+ }
+}
+
+/* if deco->transparent >=0, then fill it with transparent colour.
+ * actual line must exist, must be set to the beginning of the image,
+ * and the buffer must be formatted. */
+static void implant_transparent(struct gif_decoder *deco)
+{
+ if (deco->transparent>=0&&deco->transparent<(1<<deco->im_bpp)){
+ if (global_cimg->strip_optimized){
+ compute_background_8(deco->color_map+3*deco->transparent,
+ global_cimg);
+ }else{
+ memcpy(deco->color_map+3*deco->transparent
+ ,deco->actual_line,3);
+ }
+ }
+}
+
+/* Dimensions are in deco->im_width and deco->im_height */
+static int gif_dimensions_known(void)
+{
+ struct gif_decoder *deco;
+
+ deco=global_cimg->decoder;
+ global_cimg->buffer_bytes_per_pixel=3;
+ global_cimg->width=deco->im_width;
+ global_cimg->height=deco->im_height;
+ global_cimg->red_gamma=global_cimg->green_gamma
+ =global_cimg->blue_gamma=sRGB_gamma;
+ global_cimg->strip_optimized=(deco->interl_dist==1
+ &&deco->im_width*deco->im_height>=65536);
+ /* Run strip_optimized only from 65536 pixels up */
+ return header_dimensions_known(global_cimg);
+}
+
+/* Accepts one byte from GIF codestream
+ Caller is responsible for destorying the decoder when
+ end_callback_hit is 1.
+*/
+static inline void
+gif_accept_byte(int c)
+{
+ struct gif_decoder *deco;
+
+ deco=global_cimg->decoder;
+
+ switch(deco->state)
+ {
+ case 0: /* Reading signature and screen descriptor -- 13 bytes */
+ deco->tbuf[deco->tlen]=c;
+ deco->tlen++;
+ if (deco->tlen>=13){
+ if (strncmp(deco->tbuf,"GIF87a",6)
+ &&strncmp(deco->tbuf,"GIF89a",6)){
+ bad_file:
+ end_callback_hit=1;
+ return; /* Invalid GIF header */
+ }
+ deco->im_bpp=(deco->tbuf[10]&7)+1;
+ deco->tlen=0;
+ if (deco->tbuf[10]<128){
+ /* No global color map follows */
+ deco->state=2; /* Reading image data */
+ }else{
+ /* Read global color map */
+ alloc_color_map(1<<deco->im_bpp);
+ deco->state=1;
+ }
+ if (deco->tbuf[10] & 8 || deco->tbuf[12]) {
+ /* Test for corrupted file */
+ goto bad_file;
+ }
+ }
+ break;
+
+ case 1: /* Reading global color map -- 3*(1<<im_bpp) bytes in GIF*/
+ deco->color_map[deco->tlen]=c;
+ deco->tlen++;
+ if (deco->tlen>=3*(1<<deco->im_bpp)){
+ deco->state=2;
+ deco->tlen=0;
+ }
+ break;
+
+ case 2: /* Reading garbage before and one ',' or '!' in GIF */
+ switch (c){
+ case ',':
+ if (deco->im_width){
+ /* Double header encountered */
+ end_callback_hit=1;
+ return;
+ }
+ deco->state=3;
+ deco->tlen=0;
+ break;
+
+ case '!':
+ deco->state=7;
+ break;
+ }
+ break;
+
+ case 3: /* Reading image descriptor -- 9 bytes in GIF */
+ deco->tbuf[deco->tlen]=c;
+ deco->tlen++;
+ if (deco->tlen>=9){
+ deco->im_width=deco->tbuf[4]+(deco->tbuf[5]<<8);
+ deco->im_height=deco->tbuf[6]+(deco->tbuf[7]<<8);
+ if (deco->im_width<=0||deco->im_height<=0){
+ end_callback_hit=1;
+ return; /* Bad dimensions */
+ }
+ if (deco->tbuf[8]&64){
+ /* Interlaced order */
+ deco->interl_dist=24; /* Actually 8, the 16 indicates
+ * it is the first pass. */
+ }else
+ deco->interl_dist=1;
+ if (gif_dimensions_known()) {
+ end_callback_hit=1;
+ return; /* Bad dimensions */
+ }
+ if (global_cimg->width && (unsigned)global_cimg->width * (unsigned)global_cimg->buffer_bytes_per_pixel / (unsigned)global_cimg->width != (unsigned)global_cimg->buffer_bytes_per_pixel) overalloc();
+ if ((unsigned)global_cimg->width * (unsigned)global_cimg->buffer_bytes_per_pixel > MAXINT) overalloc();
+ deco->actual_line=global_cimg->strip_optimized
+ ?mem_alloc(global_cimg->width*global_cimg
+ ->buffer_bytes_per_pixel)
+ :global_cimg->buffer;
+ if (deco->tbuf[8]&128){
+ deco->im_bpp=1+(deco->tbuf[8]&7);
+ deco->tlen=0;
+ alloc_color_map(1<<deco->im_bpp);
+ deco->state=4;
+ }else{
+ deco->state=5;
+ deco->tlen=0;
+ deco->xoff=0;
+ deco->yoff=0;
+ }
+ }
+ break;
+
+ case 4: /* Reading local colormap in GIF */
+ deco->color_map[deco->tlen]=c;
+ deco->tlen++;
+ if (deco->tlen>=3*(1<<deco->im_bpp)){
+ deco->state=5;
+ deco->xoff=0;
+ deco->yoff=0;
+ }
+ break;
+
+ case 5: /* Reading code size block in GIF */
+ deco->initial_code_size=c;
+ if (deco->initial_code_size<=1||deco->initial_code_size>8){
+ end_callback_hit=1;
+ return; /* Invalid initial code size */
+ }
+ if (!deco->color_map){
+ end_callback_hit=1;
+ return;
+ }
+ deco->bits_read=0;
+ deco->read_code=0; /* Nothing read */
+ init_table(); /* Decoding is about to begin sets up code_size. */
+ deco->state=6;
+ deco->tlen=0;
+ deco->remains=0;
+ implant_transparent(deco);
+ break;
+
+ case 6: /* Reading image data in GIF */
+ if (!deco->remains){
+ /* This byte is a count byte. Feed it into remains. */
+ deco->remains=c;
+ if (!c){
+ /* 0 count = end of data. */
+ end_callback_hit=1; /* Don't send any following data */
+ return;
+ }
+ }
+ else
+ {
+ accept_byte(c);
+ if (end_callback_hit) return; /* No more data wanted */
+ deco->remains--;
+ }
+ break;
+
+ case 7: /* Reading a byte after '!' in GIF */
+ if (c==0xf9) deco->state=9;
+ else deco->state=8;
+ deco->remains=0;
+ deco->tlen=0;
+ break;
+
+ case 8: /* Skipping ignored blocks in GIF */
+ case 9: /* Graphics control block block size */
+ if (!deco->remains)
+ {
+ /* Byte count awaited */
+ if (!c)
+ {
+ /* End. :-) */
+ deco->state=2; /* Go and wait for ',' */
+ deco->tlen=0;
+ break;
+ }
+ deco->remains=c;
+ }
+ else
+ {
+ if (deco->state==9&&deco->tlen==3) deco->transparent=deco->transparent?c:-1;
+ if (deco->state==9&&deco->tlen==0) deco->transparent=c&1;
+ deco->remains--;
+ deco->tlen++;
+ }
+ break;
+ }
+}
+
+void gif_start(struct cached_image *cimg)
+{
+ struct gif_decoder *deco;
+
+ deco=mem_calloc(sizeof(*deco));
+ deco->transparent=-1;
+ cimg->decoder=deco;
+}
+
+static void gif_restart_internal(unsigned char *data, int length)
+{
+ while(length){
+ gif_accept_byte(*data);
+ if (end_callback_hit) return;
+ data++;
+ length--;
+ }
+}
+
+void gif_restart(unsigned char *data, int length)
+{
+#ifdef DEBUG
+ if (!global_cimg->decoder) internal("NULL decoder in gif_restart");
+#endif /* #ifdef DEBUG */
+ end_callback_hit=0;
+ gif_restart_internal(data, length);
+ if (end_callback_hit) img_end(global_cimg);
+}
+
+
+#endif /* #ifdef G */
diff --git a/graphics/Fontmap b/graphics/Fontmap
new file mode 100644
index 0000000..26f7146
--- /dev/null
+++ b/graphics/Fontmap
@@ -0,0 +1,7 @@
+% Uncomment one of the following three lines and change the font name or
+% file name to suit the font you want to generate for inclusion into Links.
+% Comment char is not # but % !
+
+ /Links-generated (s050000l.pfb) ;
+% /Links-generated (/usr/local/share/ghostscript/fonts/c059016l.pfb) ;
+% /Links-generated /CenturySchL-Bold ;
diff --git a/graphics/Makefile b/graphics/Makefile
new file mode 100644
index 0000000..3797791
--- /dev/null
+++ b/graphics/Makefile
@@ -0,0 +1,23 @@
+CFLAGS=-g -Wall -O2
+LDFLAGS=
+
+all: improcess genps pbm2png clip generate_font arrow
+
+clean:
+ rm -f improcess gepns core pbm2png clip generate_font arrow
+
+improcess: improcess.c
+ gcc -o improcess $(CFLAGS) $(LDFLAFGS) -lpng -lz -lm improcess.c
+
+pbm2png: pbm2png.c
+ gcc -o pbm2png $(CFLAGS) $(LDFLAGS) -lpng -lz -lm pbm2png.c
+
+genps: genps.c
+
+clip: clip.c
+
+generate_font: generate_font.c
+ gcc -o generate_font -lpng -lz -lm $(CFLAGS) $(LDFLAGS) generate_font.c
+
+arrow: arrow.c
+ gcc -o arrow $(CFLAGS) $(LDFLAGS) arrow.c -lpng -lz -lm
diff --git a/graphics/arrow.c b/graphics/arrow.c
new file mode 100644
index 0000000..7389400
--- /dev/null
+++ b/graphics/arrow.c
@@ -0,0 +1,84 @@
+/* arrow.c
+ * (c) 2001 Karel 'Clock' Kulhavy
+ * This program is a part of Links project.
+ * It takes a 32x? png image (truecolor one) and puts stdout a hex representation.
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <png.h>
+
+double r[256],g[256],b[256];
+unsigned char rc[256],gc[256],bc[256];
+double red_thr=130, green_thr=78, blue_thr=33;
+double red_gamma=2000,green_gamma=2000,blue_gamma=2000;
+
+void print_row_hex(FILE *f, unsigned char *buf, int n)
+{
+ int val1=0, val0=0, a;
+
+ for (a=0;a<n;a++){
+ val1<<=1;
+ if (*buf==255&&buf[1]==255&&buf[2]==255)val1|=1;
+ val0<<=1;
+ if (!*buf&&!buf[1]&&!buf[2])val0|=1;
+ buf+=3;
+ }
+ fprintf(f,"\t0x%08x,0x%08x,\n", val0, val1);
+}
+
+int main(int argc, char **argv)
+{
+ int x,y;
+ unsigned char* image;
+ png_structp png_ptr_read;
+ png_infop info_ptr_read;
+ FILE *in_file, *out_file;
+ double gamma;
+
+
+ in_file=fopen("arrow.png","r");
+ out_file=fopen("arrow.inc","w");
+ if (!(in_file&&out_file)){
+ perror("arrow");
+ exit(1);
+ }
+ png_ptr_read=png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL,
+ NULL);
+ info_ptr_read=png_create_info_struct(png_ptr_read);
+ png_init_io(png_ptr_read, in_file);
+ png_read_info(png_ptr_read, info_ptr_read);
+ x=png_get_image_width(png_ptr_read,info_ptr_read);
+ y=png_get_image_height(png_ptr_read,info_ptr_read);
+ if (png_get_gAMA(png_ptr_read,info_ptr_read, &gamma))
+ {
+ png_set_gamma(png_ptr_read, 1, gamma);
+ }
+ else
+ {
+ png_set_gamma(png_ptr_read, 1, 1.0);
+ }
+ png_read_update_info(png_ptr_read, info_ptr_read);
+ image=malloc(3*x);
+ if (!image){
+ fprintf(stderr,"Not enough memory\n");
+ exit(1);
+ }
+
+ fprintf(out_file,"/* Automatically generated by the program \"arrow\" (arrow.c) */");
+ fprintf(out_file,"enum {arrow_width=32, arrow_height=%d, arrow_area=%d};\n",y,y*32);
+ fprintf(out_file,"\nstatic unsigned int arrow[%d]={\n",y+y);
+ for (;y;y--){
+ png_read_row(png_ptr_read,image,NULL);
+ print_row_hex(out_file,image,x);
+ }
+ fprintf(out_file,"};\n");
+
+ free(image);
+ png_read_end(png_ptr_read, NULL);
+ png_destroy_read_struct(&png_ptr_read, &info_ptr_read, NULL);
+ fclose(in_file);
+
+ return 0;
+}
+
diff --git a/graphics/arrow.png b/graphics/arrow.png
new file mode 100644
index 0000000..d43fd99
--- /dev/null
+++ b/graphics/arrow.png
Binary files differ
diff --git a/graphics/clip.c b/graphics/clip.c
new file mode 100644
index 0000000..9d7e300
--- /dev/null
+++ b/graphics/clip.c
@@ -0,0 +1,943 @@
+/* This is a utility for making Links fonts from postscript files and
+ * Ghostscript fonts.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+/* Here switch on which encoding the Ghostscript font is in. */
+/* #define LATIN */
+/* #define CYRILLIC */
+/* #define HEBREW */
+/* #define HIRAGANA */
+/* #define KATAKANA */
+/* #define DINGBATS */
+/* #define GREEK */
+/* #define ARABIC */
+/* #define ARABIC2 */
+/* #define GEORGIAN_MKHEDRULI */
+# define STANDARD_SYMBOL
+
+#ifdef STANDARD_SYMBOL /* (s050000l.pfb) */
+int copy[]={
+ 34,0x2200,
+ 36,0x2203,
+ 39,0x220d,
+ 64,0x2245,
+ 68,0x2206,
+ 92,0x2234,
+ 94,0x22a5,
+ 163,0x2264,
+ 165,0x221e,
+ 164,0x2215,
+ 177,0x00b1,
+ 179,0x2265,
+ 180,0x2062,
+ 181,0x221d,
+ 182,0x2202,
+ 183,0x2981,
+ 184,0x00f7,
+ 185,0x2260,
+ 186,0x2261,
+ 187,0x2248,
+ 188,0x20e8,
+ 189,0x2223,
+ 196,0x2297,
+ 197,0x2295,
+ 198,0x2205,
+ 198,0x2300,
+ 199,0x22c2,
+ 200,0x22c3,
+ 201,0x2283,
+ 202,0x2287,
+ 203,0x2284,
+ 204,0x2282,
+ 205,0x2286,
+ 206,0x220a,
+ 207,0x2209,
+ 208,0x2220,
+ 208,0x299f,
+ 209,0x2207,
+ 210,0x00ae,
+ 211,0x00a9,
+ 212,0x2122,
+ 213,0x220f,
+ 214,0x221a,
+ 215,0x2219,
+ 216,0x00ac,
+ 217,0x2227,
+ 217,0x22c0,
+ 218,0x22c1,
+ 218,0x2228,
+ 219,0x27fa,
+ 220,0x27f8,
+ 221,0x21d1,
+ 222,0x21d2,
+ 223,0x21d3,
+ 225,0x2329,
+ 229,0x2211,
+ 230,0x239b,
+ 231,0x239c,
+ 232,0x239d,
+ 233,0x23a1,
+ 234,0x23a2,
+ 235,0x23a3,
+ 236,0x23a7,
+ 237,0x23a8,
+ 238,0x23a9,
+ 239,0x23aa,
+ 241,0x232a,
+ 241,0x27e9,
+ 242,0x222b,
+ 246,0x239e,
+ 247,0x239f,
+ 248,0x23a0,
+ 249,0x23a4,
+ 250,0x23a5,
+ 251,0x23a6,
+ 252,0x23ab,
+ 253,0x23ac,
+ 254,0x23ad,
+ 242,0x222b
+};
+
+int merge[]={};
+#endif /* #ifdef STANDARD_SYMBOL */
+
+#ifdef GEORGIAN_MKHEDRULI /* mkhedruli.pfb */
+int copy[]={
+ 35,0x10d0,
+ 36,0x10d1,
+ 37,0x10d2,
+ 38,0x10d3,
+ 39,0x10d4,
+ 40,0x10d5,
+ 41,0x10d6,
+ 42,0x10f1,
+ 43,0x10d7,
+ 44,0x10d8,
+ 45,0x10d9,
+ 46,0x10da,
+ 47,0x10db,
+ 48,0x10dc,
+ 49,0x10f2,
+ 50,0x10dd,
+ 51,0x10de,
+ 52,0x10df,
+ 53,0x10e0,
+ 54,0x10e1,
+ 55,0x10e2,
+ 56,0x10e3,
+ 57,0x10f3,
+ 58,0x10e4,
+ 59,0x10e5,
+ 60,0x10e6,
+ 61,0x10e7,
+ 62,0x10e8,
+ 63,0x10e9,
+ 64,0x10ea,
+ 65,0x10eb,
+ 66,0x10ec,
+ 67,0x10ed,
+ 68,0x10ee,
+ 69,0x10f4,
+ 70,0x10ef,
+ 71,0x10f0,
+ 72,0x10f5,
+ 73,0x10f6,
+};
+
+int merge[]={};
+#endif /* #ifdef GEORGIAN_MKHEDRULI */
+
+#ifdef ARABIC2 /* irnafnt5.pfb */
+int copy[]={
+ 48,0x06f0,
+ 49,0x06f1,
+ 50,0x06f2,
+ 51,0x06f3,
+ 52,0x06f4,
+ 53,0x06f5,
+ 54,0x06f6,
+ 55,0x06f7,
+ 56,0x06f8,
+ 57,0x06f9,
+ 76,0x0686,
+ 86,0x0698,
+ 111,0x06af,
+ 125,0x06cc,
+ 158,0x0640,
+};
+
+int merge[]={};
+#endif
+
+#ifdef ARABIC /* ArabicNaskh.pfb */
+int copy[]={
+ 37,0x066a,
+ 44,0x060c,
+ 48,0x0660,
+ 49,0x0661,
+ 50,0x0662,
+ 51,0x0663,
+ 52,0x0664,
+ 53,0x0665,
+ 54,0x0666,
+ 55,0x0667,
+ 56,0x0668,
+ 57,0x0669,
+ 59,0x061b,
+ 63,0x061f,
+ 64,0x0604,
+ 65,0x0627,
+ 67,0x0623,
+ 69,0x0622,
+ 71,0x0625,
+ 76,0x0628,
+ 80,0x062a,
+ 84,0x062b,
+ 88,0x062c,
+ 94,0x066c,
+ 95,0x0671,
+ 96,0x062d,
+ 100,0x062e,
+ 101,0x062f,
+ 103,0x0630,
+ 105,0x0631,
+ 107,0x0632,
+ 112,0x0633,
+ 116,0x0634,
+ 120,0x0635,
+ 123,0x0670,
+ 126,0x0636,
+ 162,0x0637,
+ 166,0x0638,
+ 167,0x0621,
+ 167,0x06f6,
+ 170,0x0639,
+ 174,0x063a,
+ 178,0x0641,
+ 182,0x0642,
+ 183,0x06a9,
+ 186,0x0643,
+ 190,0x0644,
+ 194,0x0645,
+ 198,0x0646,
+ 199,0x0647,
+ 199,0x06be,
+ 202,0x06d5,
+ 203,0x0648,
+ 205,0x068d,
+ 208,0x064a,
+ 212,0x0649,
+ 213,0x0674,
+ 215,0x06c2,
+ 217,0x0626,
+ 218,0x0624,
+ 220,0x06d9,
+ 228,0x064e,
+ 231,0x064b,
+ 232,0x064c,
+ 234,0x0650,
+ 235,0x064d,
+ 233,0x0651,
+ 230,0x0652,
+ 229,0x064f,
+ 42,0x066d,
+ 78,0x06c3,
+};
+
+int merge[]={};
+#endif
+
+#ifdef HEBREW /* elronm.pfb - monospaced, hebrewmm.pfb - proportional */
+int copy[]={ /* iso 8859-8 */
+ 0xE0,0x05D0,
+ 0xE1,0x05D1,
+ 0xE2,0x05D2,
+ 0xE3,0x05D3,
+ 0xE4,0x05D4,
+ 0xE5,0x05D5,
+ 0xE6,0x05D6,
+ 0xE7,0x05D7,
+ 0xE8,0x05D8,
+ 0xE9,0x05D9,
+ 0xEA,0x05DA,
+ 0xEB,0x05DB,
+ 0xEC,0x05DC,
+ 0xED,0x05DD,
+ 0xEE,0x05DE,
+ 0xEF,0x05DF,
+ 0xF0,0x05E0,
+ 0xF1,0x05E1,
+ 0xF2,0x05E2,
+ 0xF3,0x05E3,
+ 0xF4,0x05E4,
+ 0xF5,0x05E5,
+ 0xF6,0x05E6,
+ 0xF7,0x05E7,
+ 0xF8,0x05E8,
+ 0xF9,0x05E9,
+ 0xFA,0x05EA,
+};
+
+
+int merge[]={};
+#endif
+
+
+#ifdef KATAKANA
+int copy[]={
+ 33,0x30ac,
+ 35,0x30f7,
+ 36,0x30b2,
+ 37,0x30b4,
+ 38,0x30d3,
+ 39,0x30ef,
+ 40,0x30d9,
+ 41,0x30dc,
+ 42,0x30d6,
+ 43,0x30c3,
+ 44,0x30e4,
+ 45,0x30e9,
+ 46,0x30e6,
+ 47,0x30e8,
+ 48,0x30ce,
+ 49,0x30de,
+ 50,0x30a4,
+ 51,0x30a6,
+ 52,0x30a8,
+ 53,0x30aa,
+ 54,0x30ca,
+ 55,0x30cb,
+ 56,0x30cc,
+ 57,0x30cd,
+ 58,0x30dd,
+ 59,0x30e2,
+ 60,0x30e3,
+ 61,0x30ea,
+ 62,0x30e5,
+ 63,0x30e7,
+ 64,0x30f8,
+ 65,0x30b6,
+ 66,0x30c9,
+ 67,0x30c5,
+ 68,0x30ba,
+ 70,0x30bc,
+ 71,0x30be,
+ 72,0x30d1,
+ 74,0x30d4,
+ 75,0x30d7,
+ 76,0x30da,
+ 77,0x30a3,
+ 78,0x30a9,
+ 83,0x30b8,
+ 85,0x30a7,
+ 86,0x30c7,
+ 88,0x30c2,
+ 89,0x30a1,
+ 90,0x30c0,
+ 91,0x30eb,
+ 92,0x30ed,
+ 93,0x30ec,
+ 94,0x30d0,
+ 95,0x30fc,
+ 97,0x30b5,
+ 98,0x30c8,
+ 99,0x30c4,
+ 100,0x30b9,
+ 101,0x30af,
+ 102,0x30bb,
+ 103,0x30bd,
+ 104,0x30de,
+ 105,0x30d5,
+ 106,0x30df,
+ 107,0x30e0,
+ 108,0x30e1,
+ 109,0x30f3,
+ 110,0x30f2,
+ 111,0x30d8,
+ 112,0x30db,
+ 113,0x30f5,
+ 114,0x30f6,
+ 115,0x30c4,
+ 116,0x30b3,
+ 117,0x30d2,
+ 118,0x30c6,
+ 119,0x30f0,
+ 120,0x30c1,
+ 121,0x30cf,
+ 122,0x30bf,
+ 124,0x30a5,
+};
+int merge[]={};
+#endif
+
+
+#ifdef HIRAGANA
+int copy[]={
+ 33,0x304c,
+ 35,0x3050,
+ 36,0x3052,
+ 37,0x3054,
+ 38,0x3073,
+ 39,0x308f,
+ 40,0x3079,
+ 41,0x307c,
+ 42,0x3076,
+ 43,0x3063,
+ 44,0x3084,
+ 45,0x3089,
+ 46,0x3086,
+ 47,0x3088,
+ 48,0x306e,
+ 49,0x3042,
+ 50,0x3044,
+ 51,0x3046,
+ 52,0x3048,
+ 53,0x304a,
+ 54,0x306a,
+ 55,0x306b,
+ 56,0x306c,
+ 57,0x306d,
+ 58,0x307d,
+ 59,0x3082,
+ 60,0x3083,
+ 62,0x3085,
+ 63,0x3087,
+ 64,0x304e,
+ 65,0x3056,
+ 66,0x3069,
+ 67,0x3065,
+ 68,0x305a,
+ 70,0x305c,
+ 71,0x305e,
+ 72,0x3071,
+ 74,0x3074,
+ 75,0x3077,
+ 76,0x307a,
+ 77,0x3043,
+ 78,0x3049,
+ 79,0x309c,
+ 83,0x3058,
+ 85,0x3047,
+ 86,0x3067,
+ 88,0x3062,
+ 89,0x3041,
+ 90,0x3060,
+ 91,0x308b,
+ 92,0x308d,
+ 93,0x308c,
+ 94,0x3070,
+ 97,0x3055,
+ 98,0x3068,
+ 99,0x3064,
+ 100,0x3059,
+ 101,0x304f,
+ 102,0x305b,
+ 103,0x305d,
+ 104,0x307e,
+ 105,0x3075,
+ 106,0x307f,
+ 107,0x3080,
+ 108,0x3081,
+ 109,0x3093,
+ 110,0x3092,
+ 111,0x3078,
+ 112,0x307b,
+ 113,0x304b,
+ 114,0x3051,
+ 115,0x3057,
+ 116,0x3053,
+ 117,0x3072,
+ 118,0x3066,
+ 119,0x304d,
+ 120,0x3061,
+ 121,0x306f,
+ 122,0x305f,
+ 124,0x3045
+};
+
+int merge[]={};
+#endif
+
+#ifdef LATIN
+
+/* 0xc2: acute
+ */
+int copy[]={
+ 161,0xa1,
+ 162,0xa2,
+ 163,0xa3,
+ 165,0xa5,
+ 167,0xa7,
+ 171,0xab,
+ 172,0x2039,
+ 173,0x203a,
+ 174,0xfb01,
+ 175,0xfb02,
+ 177,0x2013,
+ 178,0x2020,
+ 179,0x2021,
+ 182,0xb6,
+ 183,0x2022,
+ 187,0xbb,
+ 188,0x2026,
+ 189,0x2030,
+ 191,0xbf,
+ 196,0x2dc,
+ 208,0x2014,
+ 225,0xc6,
+ 232,0x141,
+ 233,0xd8,
+ 234,0x152,
+ 235,0x2116,
+ 241,0xe6,
+ 248,0x142,
+ 249,0xf8,
+ 250,0x153,
+ 251,0xdf,
+
+ 193,0x300,
+#define GRA 193 /* ` */
+ 194,0xb4,
+#define ACU 194 /* ' */
+ 195,0x2c6,
+#define CIR 195 /* ^ */
+ 196,0x2dc,
+#define TIL 196 /* ~ */
+ 197,0xaf,
+#define MAC 197 /* - above */
+ 198,0x306,
+#define LSC 198 /* lower semicircle above */
+ 199,0x2d9,
+ 199,0xb7,
+#define DOT 199 /* . above */
+ 200,0xa8,
+#define UML 200 /* .. above */
+ 202,0x2da,
+ 202,0xb0,
+#define RIN 202 /* o above */
+ 203,0xb8,
+#define CED 203 /* (5 without the top stroke) under */
+ 205,0x30b,
+#define DAC 205 /* " */
+ 206,0x2db,
+#define OGO 206 /* left-right mirrored J under (ogonek) */
+ 207,0x2c7,
+#define CAR 207 /* v above */
+
+
+
+};
+
+int merge[]={
+ '+','-',0xb1,
+ 'A',GRA,0xc0,
+ 'A',ACU,0xc1,
+ 'A',CIR,0xc2,
+ 'A',TIL,0xc3,
+ 'A',UML,0xc4,
+ 'A',RIN,0xc5,
+ 'C',CED,0xc7,
+ 'E',GRA,0xc8,
+ 'E',ACU,0xc9,
+ 'E',CIR,0xca,
+ 'E',UML,0xcb,
+ 'I',GRA,0xcc,
+ 'I',ACU,0xcd,
+ 'I',CIR,0xce,
+ 'I',UML,0xcf,
+ 'D','-',0xd0,
+ 'N',TIL,0xd1,
+ 'O',GRA,0xd2,
+ 'O',ACU,0xd3,
+ 'O',CIR,0xd4,
+ 'O',TIL,0xd5,
+ 'O',UML,0xd6,
+ 'U',GRA,0xd9,
+ 'U',ACU,0xda,
+ 'U',CIR,0xdb,
+ 'U',UML,0xdc,
+ 'Y',ACU,0xdd,
+ 'a',GRA,0xe0,
+ 'a',ACU,0xe1,
+ 'a',CIR,0xe2,
+ 'a',TIL,0xe3,
+ 'a',UML,0xe4,
+ 'a',RIN,0xe5,
+ 'c',CED,0xe7,
+ 'e',GRA,0xe8,
+ 'e',ACU,0xe9,
+ 'e',CIR,0xea,
+ 'e',UML,0xeb,
+ 'i',GRA,0xec,
+ 'i',ACU,0xed,
+ 'i',CIR,0xee,
+ 'i',UML,0xef,
+ 'n',TIL,0xf1,
+ 'o',GRA,0xf2,
+ 'o',ACU,0xf3,
+ 'o',CIR,0xf4,
+ 'o',TIL,0xf5,
+ 'o',UML,0xf6,
+ 'u',GRA,0xf9,
+ 'u',ACU,0xfa,
+ 'u',CIR,0xfb,
+ 'u',UML,0xfc,
+ 'y',ACU,0xfd,
+ 'y',UML,0xff,
+ 'A',MAC,0x100,
+ 'a',MAC,0x101,
+ 'A',LSC,0x102,
+ 'a',LSC,0x103,
+ 'A',OGO,0x104,
+ 'a',OGO,0x105,
+ 'C',ACU,0x106,
+ 'c',ACU,0x107,
+ 'C',CIR,0x108,
+ 'c',CIR,0x109,
+ 'C',DOT,0x10a,
+ 'c',DOT,0x10b,
+ 'C',CAR,0x10c,
+ 'c',CAR,0x10d,
+ 'D',CAR,0x10e,
+ 'd',0x27,0x10f,
+ 'D','-',0x110,
+ 'd','-',0x111,
+ 'E',MAC,0x112,
+ 'e',MAC,0x113,
+ 'E',LSC,0x114,
+ 'e',LSC,0x115,
+ 'E',DOT,0x116,
+ 'e',DOT,0x117,
+ 'E',OGO,0x118,
+ 'e',OGO,0x119,
+ 'E',CAR,0x11a,
+ 'e',CAR,0x11b,
+ 'G',CIR,0x11c,
+ 'g',CIR,0x11d,
+ 'G',LSC,0x11e,
+ 'g',LSC,0x11f,
+ 'G',DOT,0x120,
+ 'g',DOT,0x121,
+ 'H',CIR,0x124,
+ 'h',CIR,0x125,
+ 'H','-',0x126,
+ 'h','-',0x127,
+ 'I',TIL,0x128,
+ 'i',TIL,0x129,
+ 'I',MAC,0x12a,
+ 'i',MAC,0x12b,
+ 'I',LSC,0x12c,
+ 'i',LSC,0x12d,
+ 'I',OGO,0x12e,
+ 'i',OGO,0x12f,
+ 'I',DOT,0x130,
+ 'I','J',0x132,
+ 'i','j',0x133,
+ 'J',CIR,0x134,
+ 'j',CIR,0x135,
+ 'L',ACU,0x139,
+ 'l',ACU,0x13a,
+ 'L',0x27,0x13d,
+ 'l',0x27,0x13e,
+ 'N',ACU,0x143,
+ 'n',ACU,0x144,
+ 'N',CAR,0x147,
+ 'n',CAR,0x148,
+ 'O',MAC,0x14c,
+ 'o',MAC,0x14d,
+ 'O',LSC,0x14e,
+ 'o',LSC,0x14f,
+ 'O',DAC,0x150,
+ 'o',DAC,0x151,
+ 'R',ACU,0x154,
+ 'r',ACU,0x155,
+ 'R',CAR,0x158,
+ 'r',CAR,0x159,
+ 'S',ACU,0x15a,
+ 's',ACU,0x15b,
+ 'S',CIR,0x15c,
+ 's',CIR,0x15d,
+ 'S',CED,0x15e,
+ 's',CED,0x15f,
+ 'S',CAR,0x160,
+ 's',CAR,0x161,
+ 'T',CED,0x162,
+ 't',CED,0x163,
+ 'T',CAR,0x164,
+ 't',0x27,0x165,
+ 'T','-',0x166,
+ 't','-',0x167,
+ 'U',TIL,0x168,
+ 'u',TIL,0x169,
+ 'U',MAC,0x16a,
+ 'u',MAC,0x16b,
+ 'U',LSC,0x16c,
+ 'u',LSC,0x16d,
+ 'U',RIN,0x16e,
+ 'u',RIN,0x16f,
+ 'U',DAC,0x170,
+ 'u',DAC,0x171,
+ 'U',OGO,0x172,
+ 'u',OGO,0x173,
+ 'W',CIR,0x174,
+ 'w',CIR,0x175,
+ 'Y',CIR,0x176,
+ 'y',CIR,0x177,
+ 'Y',UML,0x178,
+ 'Z',ACU,0x179,
+ 'z',ACU,0x17a,
+ 'Z',DOT,0x17b,
+ 'z',DOT,0x17c,
+ 'Z',CAR,0x17d,
+ 'z',CAR,0x17e,
+ 'A',CAR,0x1cd,
+ 'a',CAR,0x1ce,
+ 'I',CAR,0x1cf,
+ 'i',CAR,0x1d0,
+ 'O',CAR,0x1d1,
+ 'o',CAR,0x1d2,
+ 'U',CAR,0x1d3,
+ 'u',CAR,0x1d4,
+ 'G',CAR,0x1e6,
+ 'g',CAR,0x1e7,
+ 'K',CAR,0x1e8,
+ 'k',CAR,0x1e9,
+ 'O',OGO,0x1ea,
+ 'o',OGO,0x1eb,
+ 'j',CAR,0x1f0,
+ 'G',ACU,0x1f4,
+ 'g',ACU,0x1f5,
+ 'N',GRA,0x1f8,
+ 'n',GRA,0x1f9,
+};
+
+#endif /* LATIN */
+
+#ifdef DINGBATS
+
+int merge[]={};
+
+int copy[]={
+ 43,0x261e,
+};
+
+#endif /* DINGBATS */
+
+#ifdef CYRILLIC
+
+int merge[]={};
+
+int copy[]={
+ 45,0x044d,
+ 65,0x0410,
+ 66,0x0411,
+ 67,0x0426,
+ 68,0x0414,
+ 69,0x0415,
+ 70,0x0424,
+ 71,0x0413,
+ 72,0x0425,
+ 73,0x0418,
+ 74,0x0416,
+ 75,0x041a,
+ 76,0x041b,
+ 77,0x041c,
+ 78,0x041d,
+ 79,0x041e,
+ 80,0x041f,
+ 81,0x0427,
+ 82,0x0420,
+ 83,0x0421,
+ 84,0x0422,
+ 85,0x0423,
+ 86,0x0412,
+ 87,0x0428,
+ 88,0x0429,
+ 89,0x0419,
+ 90,0x0417,
+ 91,0x044b,
+ 93,0x044e,
+ 95,0x042d,
+ 97,0x0430,
+ 98,0x0431,
+ 99,0x0446,
+ 100,0x0434,
+ 101,0x0435,
+ 102,0x0444,
+ 103,0x0433,
+ 104,0x0445,
+ 105,0x0438,
+ 106,0x0436,
+ 107,0x043a,
+ 108,0x043b,
+ 109,0x043c,
+ 110,0x043d,
+ 111,0x043e,
+ 112,0x043f,
+ 113,0x0447,
+ 114,0x0440,
+ 115,0x0441,
+ 116,0x0442,
+ 117,0x0443,
+ 118,0x0432,
+ 119,0x0448,
+ 120,0x0449,
+ 121,0x0439,
+ 122,0x0437,
+ 123,0x042b,
+ 125,0x042e,
+ 161,0x044c,
+ 164,0x042c,
+ 168,0x042a,
+ 233,0x0401,
+ 249,0x0451
+};
+
+#endif /* CYRILLIC */
+
+#ifdef GREEK
+int copy[]={
+ 65,0x0391,
+ 66,0x0392,
+ 67,0x0393,
+ 68,0x0394,
+ 69,0x0395,
+ 70,0x0396,
+ 71,0x0397,
+ 72,0x0398,
+ 73,0x0399,
+ 74,0x039a,
+ 75,0x039b,
+ 76,0x039c,
+ 77,0x039d,
+ 78,0x039e,
+ 79,0x039f,
+ 80,0x03a0,
+ 81,0x03a1,
+ 82,0x03a3,
+ 83,0x03a4,
+ 84,0x03d2,
+ 85,0x03a6,
+ 86,0x03a7,
+ 87,0x03a8,
+ 88,0x03a9,
+ 97,0x03b1,
+ 98,0x03b2,
+ 99,0x03b3,
+ 100,0x03b4,
+ 101,0x03b5,
+ 102,0x03b6,
+ 103,0x03b7,
+ 104,0x03d1,
+ 105,0x03b8,
+ 106,0x03ba,
+ 107,0x03bb,
+ 108,0x03bc,
+ 109,0x03bd,
+ 110,0x03be,
+ 111,0x03bf,
+ 112,0x03c0,
+ 113,0x03c1,
+ 114,0x03c3,
+ 115,0x03c4,
+ 116,0x03c5,
+ 117,0x03c6,
+ 118,0x03c7,
+ 119,0x03c8,
+ 120,0x03c9,
+};
+
+int merge[]={};
+
+#endif /* #ifdef GREEK */
+unsigned char string[256];
+
+void cp(int src, int dest)
+{
+ sprintf(string,"cp font/new/orig_%04x.png font/new/%04x.png"
+ "\n",src,dest);
+ fputs(string,stderr);
+ system(string);
+}
+
+void mrg(int letter, int accent, int dest)
+{
+ sprintf(string,"convert +append font/new/orig_%04x.png spacer.png"
+ " font/new/orig_%04x.png font/new/%04x.png\n",
+ letter,accent,dest);
+ fputs(string,stderr);
+ system(string);
+}
+
+int main(int argc, char **argv)
+{
+ int a,top_margin,bottom_margin;
+ float dpi;
+ unsigned char *txt;
+ FILE *f;
+
+ if (!(txt=getenv("hundred_dpi"))){
+ fprintf(stderr,"Can't find environment variable \"hundred_dpi\".\n");
+ exit(1);
+ }
+ dpi=atof(txt)/100;
+ if (!(txt=getenv("top_promile"))){
+ fprintf(stderr,"Can't find environment variable \"top_promile\".\n");
+ exit(1);
+ }
+ top_margin=atol(txt)*842*dpi/72000;
+ if (!(txt=getenv("bottom_promile"))){
+ fprintf(stderr,"Can't find environment variable \"bottom_promile\".\n");
+ exit(1);
+ }
+ bottom_margin=atol(txt)*842*dpi/72000;
+
+ f=fopen("clip_improcess_program","w");
+ if (!f){
+ fprintf(stderr,"Can't open \"clip_improcess_program\" file for"
+ " writing.\n");
+ perror(argv[0]);
+ exit(1);
+ }
+ fprintf(f,"detract %d\n",bottom_margin);
+ fprintf(f,"mirror\nflip\nmirror\nflip\n");
+ fprintf(f,"detract %d\n",top_margin);
+ fprintf(f,"mirror\nflip\nmirror\nflip\n");
+ fclose(f);
+
+ fprintf(stderr,"mkdir -p font/new\n");
+ system("mkdir -p font/new");
+ fprintf(stderr,"rm font/new/*\n");
+ system("rm font/new/*");
+ for (a=0;a<256;a++)
+ {
+ sprintf(string,"convert -crop 0x0 letters%d.png letters%d.png\n",a,a);
+ fputs(string,stderr);
+ system(string);
+ sprintf(string,"improcess letters%d.png clip_improcess_program"
+ " font/new/orig_%04x.png\n",a,a);
+ fputs(string,stderr);
+ system(string);
+ }
+ sprintf(string,"rm letters*.png\n");
+ fputs(string,stderr);
+ system(string);
+#ifdef LATIN
+ for (a=32;a<127;a++){
+ cp(a,a);
+ }
+#endif /* LATIN */
+ for (a=0;a<sizeof(copy)/sizeof(*copy)/2;a++){
+ cp(copy[a*2],copy[a*2+1]);
+ }
+ for (a=0;a<sizeof(merge)/sizeof(*merge)/3;a++){
+ mrg(merge[a*3],merge[a*3+1],merge[a*3+2]);
+ }
+ fprintf(stderr,"rm font/new/orig_????.png\n");
+ system("rm font/new/orig_????.png\n");
+ return 0;
+}
+
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0020.png b/graphics/font/century_school-bold-roman-serif-vari/0020.png
new file mode 100644
index 0000000..68c5b0b
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0020.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0021.png b/graphics/font/century_school-bold-roman-serif-vari/0021.png
new file mode 100644
index 0000000..ecbc4d0
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0021.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0022.png b/graphics/font/century_school-bold-roman-serif-vari/0022.png
new file mode 100644
index 0000000..866b715
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0022.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0023.png b/graphics/font/century_school-bold-roman-serif-vari/0023.png
new file mode 100644
index 0000000..37ca70a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0023.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0024.png b/graphics/font/century_school-bold-roman-serif-vari/0024.png
new file mode 100644
index 0000000..77caff4
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0024.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0025.png b/graphics/font/century_school-bold-roman-serif-vari/0025.png
new file mode 100644
index 0000000..ec2387e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0025.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0026.png b/graphics/font/century_school-bold-roman-serif-vari/0026.png
new file mode 100644
index 0000000..808ff66
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0026.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0027.png b/graphics/font/century_school-bold-roman-serif-vari/0027.png
new file mode 100644
index 0000000..7fefda7
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0027.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0028.png b/graphics/font/century_school-bold-roman-serif-vari/0028.png
new file mode 100644
index 0000000..65a3822
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0028.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0029.png b/graphics/font/century_school-bold-roman-serif-vari/0029.png
new file mode 100644
index 0000000..013f727
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0029.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/002a.png b/graphics/font/century_school-bold-roman-serif-vari/002a.png
new file mode 100644
index 0000000..e215491
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/002a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/002b.png b/graphics/font/century_school-bold-roman-serif-vari/002b.png
new file mode 100644
index 0000000..9907c57
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/002b.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/002c.png b/graphics/font/century_school-bold-roman-serif-vari/002c.png
new file mode 100644
index 0000000..be653b5
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/002c.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/002d.png b/graphics/font/century_school-bold-roman-serif-vari/002d.png
new file mode 100644
index 0000000..79c8f74
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/002d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/002e.png b/graphics/font/century_school-bold-roman-serif-vari/002e.png
new file mode 100644
index 0000000..2eb6c40
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/002e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/002f.png b/graphics/font/century_school-bold-roman-serif-vari/002f.png
new file mode 100644
index 0000000..4d412b7
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/002f.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0030.png b/graphics/font/century_school-bold-roman-serif-vari/0030.png
new file mode 100644
index 0000000..382883c
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0030.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0031.png b/graphics/font/century_school-bold-roman-serif-vari/0031.png
new file mode 100644
index 0000000..ca0f13a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0031.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0032.png b/graphics/font/century_school-bold-roman-serif-vari/0032.png
new file mode 100644
index 0000000..440d21a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0032.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0033.png b/graphics/font/century_school-bold-roman-serif-vari/0033.png
new file mode 100644
index 0000000..c6728a6
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0033.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0034.png b/graphics/font/century_school-bold-roman-serif-vari/0034.png
new file mode 100644
index 0000000..6011df9
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0034.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0035.png b/graphics/font/century_school-bold-roman-serif-vari/0035.png
new file mode 100644
index 0000000..39a333f
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0035.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0036.png b/graphics/font/century_school-bold-roman-serif-vari/0036.png
new file mode 100644
index 0000000..4fd4cc4
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0036.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0037.png b/graphics/font/century_school-bold-roman-serif-vari/0037.png
new file mode 100644
index 0000000..1927560
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0037.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0038.png b/graphics/font/century_school-bold-roman-serif-vari/0038.png
new file mode 100644
index 0000000..d29b632
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0038.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0039.png b/graphics/font/century_school-bold-roman-serif-vari/0039.png
new file mode 100644
index 0000000..83a52cd
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0039.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/003a.png b/graphics/font/century_school-bold-roman-serif-vari/003a.png
new file mode 100644
index 0000000..564d96d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/003a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/003b.png b/graphics/font/century_school-bold-roman-serif-vari/003b.png
new file mode 100644
index 0000000..4f0bcda
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/003b.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/003c.png b/graphics/font/century_school-bold-roman-serif-vari/003c.png
new file mode 100644
index 0000000..5bfece3
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/003c.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/003d.png b/graphics/font/century_school-bold-roman-serif-vari/003d.png
new file mode 100644
index 0000000..ec7fad2
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/003d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/003e.png b/graphics/font/century_school-bold-roman-serif-vari/003e.png
new file mode 100644
index 0000000..8ce48c3
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/003e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/003f.png b/graphics/font/century_school-bold-roman-serif-vari/003f.png
new file mode 100644
index 0000000..a75da46
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/003f.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0040.png b/graphics/font/century_school-bold-roman-serif-vari/0040.png
new file mode 100644
index 0000000..04de735
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0040.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0041.png b/graphics/font/century_school-bold-roman-serif-vari/0041.png
new file mode 100644
index 0000000..ca3d53a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0041.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0042.png b/graphics/font/century_school-bold-roman-serif-vari/0042.png
new file mode 100644
index 0000000..b7da169
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0042.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0043.png b/graphics/font/century_school-bold-roman-serif-vari/0043.png
new file mode 100644
index 0000000..a705ff0
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0043.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0044.png b/graphics/font/century_school-bold-roman-serif-vari/0044.png
new file mode 100644
index 0000000..d86d2d7
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0044.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0045.png b/graphics/font/century_school-bold-roman-serif-vari/0045.png
new file mode 100644
index 0000000..c026aae
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0045.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0046.png b/graphics/font/century_school-bold-roman-serif-vari/0046.png
new file mode 100644
index 0000000..ce22f9f
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0046.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0047.png b/graphics/font/century_school-bold-roman-serif-vari/0047.png
new file mode 100644
index 0000000..dece0a4
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0047.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0048.png b/graphics/font/century_school-bold-roman-serif-vari/0048.png
new file mode 100644
index 0000000..b36b897
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0048.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0049.png b/graphics/font/century_school-bold-roman-serif-vari/0049.png
new file mode 100644
index 0000000..82bf462
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0049.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/004a.png b/graphics/font/century_school-bold-roman-serif-vari/004a.png
new file mode 100644
index 0000000..a9ce051
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/004a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/004b.png b/graphics/font/century_school-bold-roman-serif-vari/004b.png
new file mode 100644
index 0000000..66a3700
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/004b.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/004c.png b/graphics/font/century_school-bold-roman-serif-vari/004c.png
new file mode 100644
index 0000000..1b23276
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/004c.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/004d.png b/graphics/font/century_school-bold-roman-serif-vari/004d.png
new file mode 100644
index 0000000..210027e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/004d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/004e.png b/graphics/font/century_school-bold-roman-serif-vari/004e.png
new file mode 100644
index 0000000..4f20199
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/004e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/004f.png b/graphics/font/century_school-bold-roman-serif-vari/004f.png
new file mode 100644
index 0000000..e5b559c
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/004f.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0050.png b/graphics/font/century_school-bold-roman-serif-vari/0050.png
new file mode 100644
index 0000000..651475a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0050.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0051.png b/graphics/font/century_school-bold-roman-serif-vari/0051.png
new file mode 100644
index 0000000..04a2272
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0051.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0052.png b/graphics/font/century_school-bold-roman-serif-vari/0052.png
new file mode 100644
index 0000000..fcd9c87
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0052.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0053.png b/graphics/font/century_school-bold-roman-serif-vari/0053.png
new file mode 100644
index 0000000..0d806c5
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0053.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0054.png b/graphics/font/century_school-bold-roman-serif-vari/0054.png
new file mode 100644
index 0000000..e86ad59
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0054.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0055.png b/graphics/font/century_school-bold-roman-serif-vari/0055.png
new file mode 100644
index 0000000..8d554e3
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0055.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0056.png b/graphics/font/century_school-bold-roman-serif-vari/0056.png
new file mode 100644
index 0000000..6f1021c
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0056.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0057.png b/graphics/font/century_school-bold-roman-serif-vari/0057.png
new file mode 100644
index 0000000..41eab84
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0057.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0058.png b/graphics/font/century_school-bold-roman-serif-vari/0058.png
new file mode 100644
index 0000000..5577341
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0058.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0059.png b/graphics/font/century_school-bold-roman-serif-vari/0059.png
new file mode 100644
index 0000000..6a67889
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0059.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/005a.png b/graphics/font/century_school-bold-roman-serif-vari/005a.png
new file mode 100644
index 0000000..dcb9539
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/005a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/005b.png b/graphics/font/century_school-bold-roman-serif-vari/005b.png
new file mode 100644
index 0000000..e03ab75
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/005b.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/005c.png b/graphics/font/century_school-bold-roman-serif-vari/005c.png
new file mode 100644
index 0000000..1fdcb2d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/005c.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/005d.png b/graphics/font/century_school-bold-roman-serif-vari/005d.png
new file mode 100644
index 0000000..7e97c6a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/005d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/005e.png b/graphics/font/century_school-bold-roman-serif-vari/005e.png
new file mode 100644
index 0000000..7b1152b
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/005e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/005f.png b/graphics/font/century_school-bold-roman-serif-vari/005f.png
new file mode 100644
index 0000000..e6e1469
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/005f.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0060.png b/graphics/font/century_school-bold-roman-serif-vari/0060.png
new file mode 100644
index 0000000..f2a730e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0060.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0061.png b/graphics/font/century_school-bold-roman-serif-vari/0061.png
new file mode 100644
index 0000000..9bee6e8
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0061.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0062.png b/graphics/font/century_school-bold-roman-serif-vari/0062.png
new file mode 100644
index 0000000..6c76b15
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0062.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0063.png b/graphics/font/century_school-bold-roman-serif-vari/0063.png
new file mode 100644
index 0000000..65e9eb8
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0063.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0064.png b/graphics/font/century_school-bold-roman-serif-vari/0064.png
new file mode 100644
index 0000000..e96b946
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0064.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0065.png b/graphics/font/century_school-bold-roman-serif-vari/0065.png
new file mode 100644
index 0000000..53fb3f5
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0065.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0066.png b/graphics/font/century_school-bold-roman-serif-vari/0066.png
new file mode 100644
index 0000000..759c120
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0066.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0067.png b/graphics/font/century_school-bold-roman-serif-vari/0067.png
new file mode 100644
index 0000000..10dffe3
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0067.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0068.png b/graphics/font/century_school-bold-roman-serif-vari/0068.png
new file mode 100644
index 0000000..167a5f4
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0068.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0069.png b/graphics/font/century_school-bold-roman-serif-vari/0069.png
new file mode 100644
index 0000000..e659174
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0069.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/006a.png b/graphics/font/century_school-bold-roman-serif-vari/006a.png
new file mode 100644
index 0000000..7b3ce67
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/006a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/006b.png b/graphics/font/century_school-bold-roman-serif-vari/006b.png
new file mode 100644
index 0000000..7ac496a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/006b.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/006c.png b/graphics/font/century_school-bold-roman-serif-vari/006c.png
new file mode 100644
index 0000000..299b6ad
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/006c.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/006d.png b/graphics/font/century_school-bold-roman-serif-vari/006d.png
new file mode 100644
index 0000000..833c546
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/006d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/006e.png b/graphics/font/century_school-bold-roman-serif-vari/006e.png
new file mode 100644
index 0000000..02ea008
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/006e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/006f.png b/graphics/font/century_school-bold-roman-serif-vari/006f.png
new file mode 100644
index 0000000..2c9126c
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/006f.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0070.png b/graphics/font/century_school-bold-roman-serif-vari/0070.png
new file mode 100644
index 0000000..0971ed9
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0070.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0071.png b/graphics/font/century_school-bold-roman-serif-vari/0071.png
new file mode 100644
index 0000000..d6088e6
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0071.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0072.png b/graphics/font/century_school-bold-roman-serif-vari/0072.png
new file mode 100644
index 0000000..9878976
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0072.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0073.png b/graphics/font/century_school-bold-roman-serif-vari/0073.png
new file mode 100644
index 0000000..f117109
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0073.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0074.png b/graphics/font/century_school-bold-roman-serif-vari/0074.png
new file mode 100644
index 0000000..02e03df
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0074.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0075.png b/graphics/font/century_school-bold-roman-serif-vari/0075.png
new file mode 100644
index 0000000..436057a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0075.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0076.png b/graphics/font/century_school-bold-roman-serif-vari/0076.png
new file mode 100644
index 0000000..f86b272
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0076.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0077.png b/graphics/font/century_school-bold-roman-serif-vari/0077.png
new file mode 100644
index 0000000..e06a7db
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0077.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0078.png b/graphics/font/century_school-bold-roman-serif-vari/0078.png
new file mode 100644
index 0000000..60ef32e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0078.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0079.png b/graphics/font/century_school-bold-roman-serif-vari/0079.png
new file mode 100644
index 0000000..9d85402
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0079.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/007a.png b/graphics/font/century_school-bold-roman-serif-vari/007a.png
new file mode 100644
index 0000000..484b107
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/007a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/007b.png b/graphics/font/century_school-bold-roman-serif-vari/007b.png
new file mode 100644
index 0000000..872a6fd
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/007b.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/007c.png b/graphics/font/century_school-bold-roman-serif-vari/007c.png
new file mode 100644
index 0000000..1b1631b
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/007c.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/007d.png b/graphics/font/century_school-bold-roman-serif-vari/007d.png
new file mode 100644
index 0000000..eaa7605
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/007d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/007e.png b/graphics/font/century_school-bold-roman-serif-vari/007e.png
new file mode 100644
index 0000000..9d55482
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/007e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00a1.png b/graphics/font/century_school-bold-roman-serif-vari/00a1.png
new file mode 100644
index 0000000..145bd83
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00a1.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00a2.png b/graphics/font/century_school-bold-roman-serif-vari/00a2.png
new file mode 100644
index 0000000..7710621
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00a2.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00a3.png b/graphics/font/century_school-bold-roman-serif-vari/00a3.png
new file mode 100644
index 0000000..498c1bb
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00a3.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00a5.png b/graphics/font/century_school-bold-roman-serif-vari/00a5.png
new file mode 100644
index 0000000..6a3b50b
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00a5.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00a6.png b/graphics/font/century_school-bold-roman-serif-vari/00a6.png
new file mode 100644
index 0000000..1b1631b
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00a6.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00a7.png b/graphics/font/century_school-bold-roman-serif-vari/00a7.png
new file mode 100644
index 0000000..fdc6a9e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00a7.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00a8.png b/graphics/font/century_school-bold-roman-serif-vari/00a8.png
new file mode 100644
index 0000000..7622f05
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00a8.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00ab.png b/graphics/font/century_school-bold-roman-serif-vari/00ab.png
new file mode 100644
index 0000000..e409fd7
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00ab.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00af.png b/graphics/font/century_school-bold-roman-serif-vari/00af.png
new file mode 100644
index 0000000..5eb6ddb
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00af.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00b0.png b/graphics/font/century_school-bold-roman-serif-vari/00b0.png
new file mode 100644
index 0000000..be6955d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00b0.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00b1.png b/graphics/font/century_school-bold-roman-serif-vari/00b1.png
new file mode 100644
index 0000000..64bd447
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00b1.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00b4.png b/graphics/font/century_school-bold-roman-serif-vari/00b4.png
new file mode 100644
index 0000000..c8bddb7
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00b4.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00b6.png b/graphics/font/century_school-bold-roman-serif-vari/00b6.png
new file mode 100644
index 0000000..53d2497
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00b6.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00b7.png b/graphics/font/century_school-bold-roman-serif-vari/00b7.png
new file mode 100644
index 0000000..dfea19d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00b7.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00b8.png b/graphics/font/century_school-bold-roman-serif-vari/00b8.png
new file mode 100644
index 0000000..1768028
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00b8.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00bb.png b/graphics/font/century_school-bold-roman-serif-vari/00bb.png
new file mode 100644
index 0000000..fa254bd
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00bb.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00bf.png b/graphics/font/century_school-bold-roman-serif-vari/00bf.png
new file mode 100644
index 0000000..21546cb
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00bf.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00c0.png b/graphics/font/century_school-bold-roman-serif-vari/00c0.png
new file mode 100644
index 0000000..eeea282
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00c0.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00c1.png b/graphics/font/century_school-bold-roman-serif-vari/00c1.png
new file mode 100644
index 0000000..4a390e9
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00c1.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00c2.png b/graphics/font/century_school-bold-roman-serif-vari/00c2.png
new file mode 100644
index 0000000..9f494c2
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00c2.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00c3.png b/graphics/font/century_school-bold-roman-serif-vari/00c3.png
new file mode 100644
index 0000000..524c700
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00c3.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00c4.png b/graphics/font/century_school-bold-roman-serif-vari/00c4.png
new file mode 100644
index 0000000..300c5a0
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00c4.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00c5.png b/graphics/font/century_school-bold-roman-serif-vari/00c5.png
new file mode 100644
index 0000000..a30876e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00c5.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00c6.png b/graphics/font/century_school-bold-roman-serif-vari/00c6.png
new file mode 100644
index 0000000..79347cf
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00c6.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00c7.png b/graphics/font/century_school-bold-roman-serif-vari/00c7.png
new file mode 100644
index 0000000..aa0294a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00c7.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00c8.png b/graphics/font/century_school-bold-roman-serif-vari/00c8.png
new file mode 100644
index 0000000..bdda3b1
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00c8.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00c9.png b/graphics/font/century_school-bold-roman-serif-vari/00c9.png
new file mode 100644
index 0000000..372464c
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00c9.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00ca.png b/graphics/font/century_school-bold-roman-serif-vari/00ca.png
new file mode 100644
index 0000000..dd79ada
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00ca.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00cb.png b/graphics/font/century_school-bold-roman-serif-vari/00cb.png
new file mode 100644
index 0000000..c3316de
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00cb.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00cc.png b/graphics/font/century_school-bold-roman-serif-vari/00cc.png
new file mode 100644
index 0000000..02bd8af
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00cc.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00cd.png b/graphics/font/century_school-bold-roman-serif-vari/00cd.png
new file mode 100644
index 0000000..520c433
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00cd.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00ce.png b/graphics/font/century_school-bold-roman-serif-vari/00ce.png
new file mode 100644
index 0000000..b22a048
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00ce.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00cf.png b/graphics/font/century_school-bold-roman-serif-vari/00cf.png
new file mode 100644
index 0000000..b78ab3b
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00cf.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00d0.png b/graphics/font/century_school-bold-roman-serif-vari/00d0.png
new file mode 100644
index 0000000..751462d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00d0.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00d1.png b/graphics/font/century_school-bold-roman-serif-vari/00d1.png
new file mode 100644
index 0000000..ac82c72
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00d1.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00d2.png b/graphics/font/century_school-bold-roman-serif-vari/00d2.png
new file mode 100644
index 0000000..5880215
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00d2.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00d3.png b/graphics/font/century_school-bold-roman-serif-vari/00d3.png
new file mode 100644
index 0000000..6cf734f
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00d3.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00d4.png b/graphics/font/century_school-bold-roman-serif-vari/00d4.png
new file mode 100644
index 0000000..c453aba
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00d4.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00d5.png b/graphics/font/century_school-bold-roman-serif-vari/00d5.png
new file mode 100644
index 0000000..8a74f4b
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00d5.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00d6.png b/graphics/font/century_school-bold-roman-serif-vari/00d6.png
new file mode 100644
index 0000000..382377a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00d6.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00d8.png b/graphics/font/century_school-bold-roman-serif-vari/00d8.png
new file mode 100644
index 0000000..d5ab958
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00d8.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00d9.png b/graphics/font/century_school-bold-roman-serif-vari/00d9.png
new file mode 100644
index 0000000..c278d85
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00d9.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00da.png b/graphics/font/century_school-bold-roman-serif-vari/00da.png
new file mode 100644
index 0000000..6175421
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00da.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00db.png b/graphics/font/century_school-bold-roman-serif-vari/00db.png
new file mode 100644
index 0000000..294915e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00db.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00dc.png b/graphics/font/century_school-bold-roman-serif-vari/00dc.png
new file mode 100644
index 0000000..3fadb29
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00dc.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00dd.png b/graphics/font/century_school-bold-roman-serif-vari/00dd.png
new file mode 100644
index 0000000..78d3803
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00dd.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00df.png b/graphics/font/century_school-bold-roman-serif-vari/00df.png
new file mode 100644
index 0000000..2dea71d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00df.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00e0.png b/graphics/font/century_school-bold-roman-serif-vari/00e0.png
new file mode 100644
index 0000000..8166fc9
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00e0.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00e1.png b/graphics/font/century_school-bold-roman-serif-vari/00e1.png
new file mode 100644
index 0000000..02e1615
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00e1.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00e2.png b/graphics/font/century_school-bold-roman-serif-vari/00e2.png
new file mode 100644
index 0000000..9d6fb14
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00e2.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00e3.png b/graphics/font/century_school-bold-roman-serif-vari/00e3.png
new file mode 100644
index 0000000..9d5afb1
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00e3.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00e4.png b/graphics/font/century_school-bold-roman-serif-vari/00e4.png
new file mode 100644
index 0000000..d199f90
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00e4.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00e5.png b/graphics/font/century_school-bold-roman-serif-vari/00e5.png
new file mode 100644
index 0000000..4193886
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00e5.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00e6.png b/graphics/font/century_school-bold-roman-serif-vari/00e6.png
new file mode 100644
index 0000000..8e6562b
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00e6.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00e7.png b/graphics/font/century_school-bold-roman-serif-vari/00e7.png
new file mode 100644
index 0000000..6bf9b95
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00e7.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00e8.png b/graphics/font/century_school-bold-roman-serif-vari/00e8.png
new file mode 100644
index 0000000..be5d236
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00e8.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00e9.png b/graphics/font/century_school-bold-roman-serif-vari/00e9.png
new file mode 100644
index 0000000..638b6bc
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00e9.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00ea.png b/graphics/font/century_school-bold-roman-serif-vari/00ea.png
new file mode 100644
index 0000000..7dec67f
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00ea.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00eb.png b/graphics/font/century_school-bold-roman-serif-vari/00eb.png
new file mode 100644
index 0000000..e2785fb
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00eb.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00ec.png b/graphics/font/century_school-bold-roman-serif-vari/00ec.png
new file mode 100644
index 0000000..1d28fb3
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00ec.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00ed.png b/graphics/font/century_school-bold-roman-serif-vari/00ed.png
new file mode 100644
index 0000000..69a049a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00ed.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00ee.png b/graphics/font/century_school-bold-roman-serif-vari/00ee.png
new file mode 100644
index 0000000..8a201aa
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00ee.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00ef.png b/graphics/font/century_school-bold-roman-serif-vari/00ef.png
new file mode 100644
index 0000000..b34f3ce
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00ef.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00f1.png b/graphics/font/century_school-bold-roman-serif-vari/00f1.png
new file mode 100644
index 0000000..2119e39
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00f1.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00f2.png b/graphics/font/century_school-bold-roman-serif-vari/00f2.png
new file mode 100644
index 0000000..1982f9e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00f2.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00f3.png b/graphics/font/century_school-bold-roman-serif-vari/00f3.png
new file mode 100644
index 0000000..8895e6e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00f3.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00f4.png b/graphics/font/century_school-bold-roman-serif-vari/00f4.png
new file mode 100644
index 0000000..e5ad033
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00f4.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00f5.png b/graphics/font/century_school-bold-roman-serif-vari/00f5.png
new file mode 100644
index 0000000..2f53850
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00f5.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00f6.png b/graphics/font/century_school-bold-roman-serif-vari/00f6.png
new file mode 100644
index 0000000..8c8265d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00f6.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00f8.png b/graphics/font/century_school-bold-roman-serif-vari/00f8.png
new file mode 100644
index 0000000..62fe16e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00f8.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00f9.png b/graphics/font/century_school-bold-roman-serif-vari/00f9.png
new file mode 100644
index 0000000..e7846cc
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00f9.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00fa.png b/graphics/font/century_school-bold-roman-serif-vari/00fa.png
new file mode 100644
index 0000000..823bea6
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00fa.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00fb.png b/graphics/font/century_school-bold-roman-serif-vari/00fb.png
new file mode 100644
index 0000000..fd27688
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00fb.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00fc.png b/graphics/font/century_school-bold-roman-serif-vari/00fc.png
new file mode 100644
index 0000000..1e85e33
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00fc.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00fd.png b/graphics/font/century_school-bold-roman-serif-vari/00fd.png
new file mode 100644
index 0000000..384b1b6
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00fd.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/00ff.png b/graphics/font/century_school-bold-roman-serif-vari/00ff.png
new file mode 100644
index 0000000..cca80df
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/00ff.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0100.png b/graphics/font/century_school-bold-roman-serif-vari/0100.png
new file mode 100644
index 0000000..5708a79
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0100.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0101.png b/graphics/font/century_school-bold-roman-serif-vari/0101.png
new file mode 100644
index 0000000..6397a44
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0101.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0102.png b/graphics/font/century_school-bold-roman-serif-vari/0102.png
new file mode 100644
index 0000000..0e82ddf
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0102.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0103.png b/graphics/font/century_school-bold-roman-serif-vari/0103.png
new file mode 100644
index 0000000..98bb22d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0103.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0104.png b/graphics/font/century_school-bold-roman-serif-vari/0104.png
new file mode 100644
index 0000000..1d9ed8e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0104.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0105.png b/graphics/font/century_school-bold-roman-serif-vari/0105.png
new file mode 100644
index 0000000..74208af
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0105.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0106.png b/graphics/font/century_school-bold-roman-serif-vari/0106.png
new file mode 100644
index 0000000..dcbb52c
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0106.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0107.png b/graphics/font/century_school-bold-roman-serif-vari/0107.png
new file mode 100644
index 0000000..49006c0
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0107.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0108.png b/graphics/font/century_school-bold-roman-serif-vari/0108.png
new file mode 100644
index 0000000..560d8a6
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0108.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0109.png b/graphics/font/century_school-bold-roman-serif-vari/0109.png
new file mode 100644
index 0000000..43d4171
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0109.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/010a.png b/graphics/font/century_school-bold-roman-serif-vari/010a.png
new file mode 100644
index 0000000..0b266b4
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/010a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/010b.png b/graphics/font/century_school-bold-roman-serif-vari/010b.png
new file mode 100644
index 0000000..b5b3a7f
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/010b.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/010c.png b/graphics/font/century_school-bold-roman-serif-vari/010c.png
new file mode 100644
index 0000000..cf3f08c
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/010c.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/010d.png b/graphics/font/century_school-bold-roman-serif-vari/010d.png
new file mode 100644
index 0000000..b028b52
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/010d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/010e.png b/graphics/font/century_school-bold-roman-serif-vari/010e.png
new file mode 100644
index 0000000..e678304
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/010e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/010f.png b/graphics/font/century_school-bold-roman-serif-vari/010f.png
new file mode 100644
index 0000000..77d8bed
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/010f.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0110.png b/graphics/font/century_school-bold-roman-serif-vari/0110.png
new file mode 100644
index 0000000..1609bc1
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0110.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0111.png b/graphics/font/century_school-bold-roman-serif-vari/0111.png
new file mode 100644
index 0000000..833dd68
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0111.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0112.png b/graphics/font/century_school-bold-roman-serif-vari/0112.png
new file mode 100644
index 0000000..58360b2
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0112.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0113.png b/graphics/font/century_school-bold-roman-serif-vari/0113.png
new file mode 100644
index 0000000..8259cf8
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0113.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0114.png b/graphics/font/century_school-bold-roman-serif-vari/0114.png
new file mode 100644
index 0000000..e06dd39
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0114.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0115.png b/graphics/font/century_school-bold-roman-serif-vari/0115.png
new file mode 100644
index 0000000..581d778
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0115.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0116.png b/graphics/font/century_school-bold-roman-serif-vari/0116.png
new file mode 100644
index 0000000..9af92a9
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0116.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0117.png b/graphics/font/century_school-bold-roman-serif-vari/0117.png
new file mode 100644
index 0000000..3649b8b
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0117.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0118.png b/graphics/font/century_school-bold-roman-serif-vari/0118.png
new file mode 100644
index 0000000..f722f35
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0118.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0119.png b/graphics/font/century_school-bold-roman-serif-vari/0119.png
new file mode 100644
index 0000000..99f1a7d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0119.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/011a.png b/graphics/font/century_school-bold-roman-serif-vari/011a.png
new file mode 100644
index 0000000..2399a3c
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/011a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/011b.png b/graphics/font/century_school-bold-roman-serif-vari/011b.png
new file mode 100644
index 0000000..1ab16b2
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/011b.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/011c.png b/graphics/font/century_school-bold-roman-serif-vari/011c.png
new file mode 100644
index 0000000..f98c72a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/011c.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/011d.png b/graphics/font/century_school-bold-roman-serif-vari/011d.png
new file mode 100644
index 0000000..766692e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/011d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/011e.png b/graphics/font/century_school-bold-roman-serif-vari/011e.png
new file mode 100644
index 0000000..5c65a46
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/011e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/011f.png b/graphics/font/century_school-bold-roman-serif-vari/011f.png
new file mode 100644
index 0000000..d3ff12f
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/011f.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0120.png b/graphics/font/century_school-bold-roman-serif-vari/0120.png
new file mode 100644
index 0000000..1566cb9
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0120.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0121.png b/graphics/font/century_school-bold-roman-serif-vari/0121.png
new file mode 100644
index 0000000..9f9f0bc
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0121.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0124.png b/graphics/font/century_school-bold-roman-serif-vari/0124.png
new file mode 100644
index 0000000..ada11d4
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0124.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0125.png b/graphics/font/century_school-bold-roman-serif-vari/0125.png
new file mode 100644
index 0000000..95de068
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0125.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0126.png b/graphics/font/century_school-bold-roman-serif-vari/0126.png
new file mode 100644
index 0000000..e6fd9fe
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0126.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0127.png b/graphics/font/century_school-bold-roman-serif-vari/0127.png
new file mode 100644
index 0000000..0db5df3
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0127.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0128.png b/graphics/font/century_school-bold-roman-serif-vari/0128.png
new file mode 100644
index 0000000..aaec314
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0128.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0129.png b/graphics/font/century_school-bold-roman-serif-vari/0129.png
new file mode 100644
index 0000000..05b3ad1
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0129.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/012a.png b/graphics/font/century_school-bold-roman-serif-vari/012a.png
new file mode 100644
index 0000000..7212330
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/012a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/012b.png b/graphics/font/century_school-bold-roman-serif-vari/012b.png
new file mode 100644
index 0000000..3126174
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/012b.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/012c.png b/graphics/font/century_school-bold-roman-serif-vari/012c.png
new file mode 100644
index 0000000..ccacbed
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/012c.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/012d.png b/graphics/font/century_school-bold-roman-serif-vari/012d.png
new file mode 100644
index 0000000..aae8ba8
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/012d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/012e.png b/graphics/font/century_school-bold-roman-serif-vari/012e.png
new file mode 100644
index 0000000..23e07e4
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/012e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/012f.png b/graphics/font/century_school-bold-roman-serif-vari/012f.png
new file mode 100644
index 0000000..5539410
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/012f.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0130.png b/graphics/font/century_school-bold-roman-serif-vari/0130.png
new file mode 100644
index 0000000..b95a8e6
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0130.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0132.png b/graphics/font/century_school-bold-roman-serif-vari/0132.png
new file mode 100644
index 0000000..36f583d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0132.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0133.png b/graphics/font/century_school-bold-roman-serif-vari/0133.png
new file mode 100644
index 0000000..41a7248
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0133.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0134.png b/graphics/font/century_school-bold-roman-serif-vari/0134.png
new file mode 100644
index 0000000..8626981
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0134.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0135.png b/graphics/font/century_school-bold-roman-serif-vari/0135.png
new file mode 100644
index 0000000..839cdf7
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0135.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0139.png b/graphics/font/century_school-bold-roman-serif-vari/0139.png
new file mode 100644
index 0000000..e29cdad
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0139.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/013a.png b/graphics/font/century_school-bold-roman-serif-vari/013a.png
new file mode 100644
index 0000000..6926d55
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/013a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/013d.png b/graphics/font/century_school-bold-roman-serif-vari/013d.png
new file mode 100644
index 0000000..918ad89
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/013d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/013e.png b/graphics/font/century_school-bold-roman-serif-vari/013e.png
new file mode 100644
index 0000000..32ff9ca
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/013e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0141.png b/graphics/font/century_school-bold-roman-serif-vari/0141.png
new file mode 100644
index 0000000..7126c90
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0141.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0142.png b/graphics/font/century_school-bold-roman-serif-vari/0142.png
new file mode 100644
index 0000000..02022c3
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0142.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0143.png b/graphics/font/century_school-bold-roman-serif-vari/0143.png
new file mode 100644
index 0000000..93cea70
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0143.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0144.png b/graphics/font/century_school-bold-roman-serif-vari/0144.png
new file mode 100644
index 0000000..147f340
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0144.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0147.png b/graphics/font/century_school-bold-roman-serif-vari/0147.png
new file mode 100644
index 0000000..dda91fa
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0147.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0148.png b/graphics/font/century_school-bold-roman-serif-vari/0148.png
new file mode 100644
index 0000000..fef2350
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0148.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/014c.png b/graphics/font/century_school-bold-roman-serif-vari/014c.png
new file mode 100644
index 0000000..ef30027
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/014c.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/014d.png b/graphics/font/century_school-bold-roman-serif-vari/014d.png
new file mode 100644
index 0000000..66594cb
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/014d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/014e.png b/graphics/font/century_school-bold-roman-serif-vari/014e.png
new file mode 100644
index 0000000..8d44e6a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/014e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/014f.png b/graphics/font/century_school-bold-roman-serif-vari/014f.png
new file mode 100644
index 0000000..44c0554
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/014f.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0150.png b/graphics/font/century_school-bold-roman-serif-vari/0150.png
new file mode 100644
index 0000000..d7f9eff
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0150.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0151.png b/graphics/font/century_school-bold-roman-serif-vari/0151.png
new file mode 100644
index 0000000..c32cff2
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0151.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0152.png b/graphics/font/century_school-bold-roman-serif-vari/0152.png
new file mode 100644
index 0000000..bb34284
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0152.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0153.png b/graphics/font/century_school-bold-roman-serif-vari/0153.png
new file mode 100644
index 0000000..f7deca2
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0153.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0154.png b/graphics/font/century_school-bold-roman-serif-vari/0154.png
new file mode 100644
index 0000000..cb8f032
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0154.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0155.png b/graphics/font/century_school-bold-roman-serif-vari/0155.png
new file mode 100644
index 0000000..a5d9cb0
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0155.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0158.png b/graphics/font/century_school-bold-roman-serif-vari/0158.png
new file mode 100644
index 0000000..c19553f
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0158.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0159.png b/graphics/font/century_school-bold-roman-serif-vari/0159.png
new file mode 100644
index 0000000..7093f42
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0159.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/015a.png b/graphics/font/century_school-bold-roman-serif-vari/015a.png
new file mode 100644
index 0000000..a6c41c9
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/015a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/015b.png b/graphics/font/century_school-bold-roman-serif-vari/015b.png
new file mode 100644
index 0000000..a8fc24b
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/015b.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/015c.png b/graphics/font/century_school-bold-roman-serif-vari/015c.png
new file mode 100644
index 0000000..be5a049
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/015c.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/015d.png b/graphics/font/century_school-bold-roman-serif-vari/015d.png
new file mode 100644
index 0000000..4f6547d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/015d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/015e.png b/graphics/font/century_school-bold-roman-serif-vari/015e.png
new file mode 100644
index 0000000..f7b1cca
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/015e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/015f.png b/graphics/font/century_school-bold-roman-serif-vari/015f.png
new file mode 100644
index 0000000..2b62606
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/015f.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0160.png b/graphics/font/century_school-bold-roman-serif-vari/0160.png
new file mode 100644
index 0000000..4ee363f
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0160.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0161.png b/graphics/font/century_school-bold-roman-serif-vari/0161.png
new file mode 100644
index 0000000..ed200b0
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0161.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0162.png b/graphics/font/century_school-bold-roman-serif-vari/0162.png
new file mode 100644
index 0000000..cacca20
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0162.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0163.png b/graphics/font/century_school-bold-roman-serif-vari/0163.png
new file mode 100644
index 0000000..8384c0b
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0163.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0164.png b/graphics/font/century_school-bold-roman-serif-vari/0164.png
new file mode 100644
index 0000000..a3dd241
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0164.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0165.png b/graphics/font/century_school-bold-roman-serif-vari/0165.png
new file mode 100644
index 0000000..cb78819
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0165.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0166.png b/graphics/font/century_school-bold-roman-serif-vari/0166.png
new file mode 100644
index 0000000..714a776
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0166.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0167.png b/graphics/font/century_school-bold-roman-serif-vari/0167.png
new file mode 100644
index 0000000..8d08e1f
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0167.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0168.png b/graphics/font/century_school-bold-roman-serif-vari/0168.png
new file mode 100644
index 0000000..b955e1b
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0168.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0169.png b/graphics/font/century_school-bold-roman-serif-vari/0169.png
new file mode 100644
index 0000000..b335ede
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0169.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/016a.png b/graphics/font/century_school-bold-roman-serif-vari/016a.png
new file mode 100644
index 0000000..7d1dd17
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/016a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/016b.png b/graphics/font/century_school-bold-roman-serif-vari/016b.png
new file mode 100644
index 0000000..7abbf04
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/016b.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/016c.png b/graphics/font/century_school-bold-roman-serif-vari/016c.png
new file mode 100644
index 0000000..a36d055
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/016c.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/016d.png b/graphics/font/century_school-bold-roman-serif-vari/016d.png
new file mode 100644
index 0000000..7588d23
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/016d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/016e.png b/graphics/font/century_school-bold-roman-serif-vari/016e.png
new file mode 100644
index 0000000..d2461f5
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/016e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/016f.png b/graphics/font/century_school-bold-roman-serif-vari/016f.png
new file mode 100644
index 0000000..7266347
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/016f.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0170.png b/graphics/font/century_school-bold-roman-serif-vari/0170.png
new file mode 100644
index 0000000..d9d2786
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0170.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0171.png b/graphics/font/century_school-bold-roman-serif-vari/0171.png
new file mode 100644
index 0000000..3d13bba
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0171.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0172.png b/graphics/font/century_school-bold-roman-serif-vari/0172.png
new file mode 100644
index 0000000..7f14bf4
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0172.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0173.png b/graphics/font/century_school-bold-roman-serif-vari/0173.png
new file mode 100644
index 0000000..01d8e26
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0173.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0174.png b/graphics/font/century_school-bold-roman-serif-vari/0174.png
new file mode 100644
index 0000000..c912d71
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0174.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0175.png b/graphics/font/century_school-bold-roman-serif-vari/0175.png
new file mode 100644
index 0000000..a00acae
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0175.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0176.png b/graphics/font/century_school-bold-roman-serif-vari/0176.png
new file mode 100644
index 0000000..20cb0b6
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0176.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0177.png b/graphics/font/century_school-bold-roman-serif-vari/0177.png
new file mode 100644
index 0000000..56ea71f
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0177.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0178.png b/graphics/font/century_school-bold-roman-serif-vari/0178.png
new file mode 100644
index 0000000..b121bf5
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0178.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0179.png b/graphics/font/century_school-bold-roman-serif-vari/0179.png
new file mode 100644
index 0000000..d7c3a45
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0179.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/017a.png b/graphics/font/century_school-bold-roman-serif-vari/017a.png
new file mode 100644
index 0000000..9356cae
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/017a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/017b.png b/graphics/font/century_school-bold-roman-serif-vari/017b.png
new file mode 100644
index 0000000..4ea7cbe
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/017b.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/017c.png b/graphics/font/century_school-bold-roman-serif-vari/017c.png
new file mode 100644
index 0000000..2ebd6ec
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/017c.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/017d.png b/graphics/font/century_school-bold-roman-serif-vari/017d.png
new file mode 100644
index 0000000..8a0e610
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/017d.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/017e.png b/graphics/font/century_school-bold-roman-serif-vari/017e.png
new file mode 100644
index 0000000..52d6756
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/017e.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01cd.png b/graphics/font/century_school-bold-roman-serif-vari/01cd.png
new file mode 100644
index 0000000..a8c2ad6
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01cd.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01ce.png b/graphics/font/century_school-bold-roman-serif-vari/01ce.png
new file mode 100644
index 0000000..fbd747a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01ce.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01cf.png b/graphics/font/century_school-bold-roman-serif-vari/01cf.png
new file mode 100644
index 0000000..b8e908d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01cf.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01d0.png b/graphics/font/century_school-bold-roman-serif-vari/01d0.png
new file mode 100644
index 0000000..2ba6d11
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01d0.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01d1.png b/graphics/font/century_school-bold-roman-serif-vari/01d1.png
new file mode 100644
index 0000000..ab99fb8
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01d1.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01d2.png b/graphics/font/century_school-bold-roman-serif-vari/01d2.png
new file mode 100644
index 0000000..c8320c1
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01d2.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01d3.png b/graphics/font/century_school-bold-roman-serif-vari/01d3.png
new file mode 100644
index 0000000..c0ed7a5
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01d3.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01d4.png b/graphics/font/century_school-bold-roman-serif-vari/01d4.png
new file mode 100644
index 0000000..ae905a4
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01d4.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01e6.png b/graphics/font/century_school-bold-roman-serif-vari/01e6.png
new file mode 100644
index 0000000..588c1d8
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01e6.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01e7.png b/graphics/font/century_school-bold-roman-serif-vari/01e7.png
new file mode 100644
index 0000000..59f42ea
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01e7.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01e8.png b/graphics/font/century_school-bold-roman-serif-vari/01e8.png
new file mode 100644
index 0000000..a7dd959
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01e8.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01e9.png b/graphics/font/century_school-bold-roman-serif-vari/01e9.png
new file mode 100644
index 0000000..2d8b9a5
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01e9.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01ea.png b/graphics/font/century_school-bold-roman-serif-vari/01ea.png
new file mode 100644
index 0000000..8d5e37e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01ea.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01eb.png b/graphics/font/century_school-bold-roman-serif-vari/01eb.png
new file mode 100644
index 0000000..b22f165
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01eb.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01f0.png b/graphics/font/century_school-bold-roman-serif-vari/01f0.png
new file mode 100644
index 0000000..1415345
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01f0.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01f4.png b/graphics/font/century_school-bold-roman-serif-vari/01f4.png
new file mode 100644
index 0000000..8d0d0be
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01f4.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01f5.png b/graphics/font/century_school-bold-roman-serif-vari/01f5.png
new file mode 100644
index 0000000..339a5ed
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01f5.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01f8.png b/graphics/font/century_school-bold-roman-serif-vari/01f8.png
new file mode 100644
index 0000000..10ee1db
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01f8.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/01f9.png b/graphics/font/century_school-bold-roman-serif-vari/01f9.png
new file mode 100644
index 0000000..9b3803a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/01f9.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/02c6.png b/graphics/font/century_school-bold-roman-serif-vari/02c6.png
new file mode 100644
index 0000000..b583d42
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/02c6.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/02c7.png b/graphics/font/century_school-bold-roman-serif-vari/02c7.png
new file mode 100644
index 0000000..1e075e0
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/02c7.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/02d9.png b/graphics/font/century_school-bold-roman-serif-vari/02d9.png
new file mode 100644
index 0000000..dfea19d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/02d9.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/02da.png b/graphics/font/century_school-bold-roman-serif-vari/02da.png
new file mode 100644
index 0000000..be6955d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/02da.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/02db.png b/graphics/font/century_school-bold-roman-serif-vari/02db.png
new file mode 100644
index 0000000..4eae61e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/02db.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/02dc.png b/graphics/font/century_school-bold-roman-serif-vari/02dc.png
new file mode 100644
index 0000000..c23b8a1
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/02dc.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/02dd.png b/graphics/font/century_school-bold-roman-serif-vari/02dd.png
new file mode 100644
index 0000000..866b715
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/02dd.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0300.png b/graphics/font/century_school-bold-roman-serif-vari/0300.png
new file mode 100644
index 0000000..1d4feda
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0300.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0306.png b/graphics/font/century_school-bold-roman-serif-vari/0306.png
new file mode 100644
index 0000000..35c6e0f
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0306.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/030b.png b/graphics/font/century_school-bold-roman-serif-vari/030b.png
new file mode 100644
index 0000000..ed7ec78
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/030b.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0462.png b/graphics/font/century_school-bold-roman-serif-vari/0462.png
new file mode 100644
index 0000000..48e6122
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0462.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0463.png b/graphics/font/century_school-bold-roman-serif-vari/0463.png
new file mode 100644
index 0000000..9997c71
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0463.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0472.png b/graphics/font/century_school-bold-roman-serif-vari/0472.png
new file mode 100644
index 0000000..8a3e78e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0472.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/0473.png b/graphics/font/century_school-bold-roman-serif-vari/0473.png
new file mode 100644
index 0000000..da8c760
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/0473.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/2013.png b/graphics/font/century_school-bold-roman-serif-vari/2013.png
new file mode 100644
index 0000000..a5512ea
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/2013.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/2014.png b/graphics/font/century_school-bold-roman-serif-vari/2014.png
new file mode 100644
index 0000000..d385a8d
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/2014.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/2020.png b/graphics/font/century_school-bold-roman-serif-vari/2020.png
new file mode 100644
index 0000000..9046f47
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/2020.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/2021.png b/graphics/font/century_school-bold-roman-serif-vari/2021.png
new file mode 100644
index 0000000..4957718
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/2021.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/2022.png b/graphics/font/century_school-bold-roman-serif-vari/2022.png
new file mode 100644
index 0000000..fef5d04
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/2022.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/2026.png b/graphics/font/century_school-bold-roman-serif-vari/2026.png
new file mode 100644
index 0000000..abea078
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/2026.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/2030.png b/graphics/font/century_school-bold-roman-serif-vari/2030.png
new file mode 100644
index 0000000..c2f4bbb
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/2030.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/2039.png b/graphics/font/century_school-bold-roman-serif-vari/2039.png
new file mode 100644
index 0000000..7598a28
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/2039.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/203a.png b/graphics/font/century_school-bold-roman-serif-vari/203a.png
new file mode 100644
index 0000000..d81692a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/203a.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/2116.png b/graphics/font/century_school-bold-roman-serif-vari/2116.png
new file mode 100644
index 0000000..fe02e8a
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/2116.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/aliases b/graphics/font/century_school-bold-roman-serif-vari/aliases
new file mode 100644
index 0000000..2862f1e
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/aliases
@@ -0,0 +1,5 @@
+new_century_school
+century_school_book
+new_century_school_book
+century
+
diff --git a/graphics/font/century_school-bold-roman-serif-vari/fb01.png b/graphics/font/century_school-bold-roman-serif-vari/fb01.png
new file mode 100644
index 0000000..f1714be
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/fb01.png
Binary files differ
diff --git a/graphics/font/century_school-bold-roman-serif-vari/fb02.png b/graphics/font/century_school-bold-roman-serif-vari/fb02.png
new file mode 100644
index 0000000..b6dc180
--- /dev/null
+++ b/graphics/font/century_school-bold-roman-serif-vari/fb02.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0000.png b/graphics/font/century_school-medium-roman-serif-vari/0000.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0000.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0001.png b/graphics/font/century_school-medium-roman-serif-vari/0001.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0001.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0002.png b/graphics/font/century_school-medium-roman-serif-vari/0002.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0002.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0003.png b/graphics/font/century_school-medium-roman-serif-vari/0003.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0003.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0004.png b/graphics/font/century_school-medium-roman-serif-vari/0004.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0004.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0005.png b/graphics/font/century_school-medium-roman-serif-vari/0005.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0005.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0006.png b/graphics/font/century_school-medium-roman-serif-vari/0006.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0006.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0007.png b/graphics/font/century_school-medium-roman-serif-vari/0007.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0007.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0008.png b/graphics/font/century_school-medium-roman-serif-vari/0008.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0008.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0009.png b/graphics/font/century_school-medium-roman-serif-vari/0009.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0009.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/000a.png b/graphics/font/century_school-medium-roman-serif-vari/000a.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/000a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/000b.png b/graphics/font/century_school-medium-roman-serif-vari/000b.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/000b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/000c.png b/graphics/font/century_school-medium-roman-serif-vari/000c.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/000c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/000d.png b/graphics/font/century_school-medium-roman-serif-vari/000d.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/000d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/000e.png b/graphics/font/century_school-medium-roman-serif-vari/000e.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/000e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/000f.png b/graphics/font/century_school-medium-roman-serif-vari/000f.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/000f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0010.png b/graphics/font/century_school-medium-roman-serif-vari/0010.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0010.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0011.png b/graphics/font/century_school-medium-roman-serif-vari/0011.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0011.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0012.png b/graphics/font/century_school-medium-roman-serif-vari/0012.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0012.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0013.png b/graphics/font/century_school-medium-roman-serif-vari/0013.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0013.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0014.png b/graphics/font/century_school-medium-roman-serif-vari/0014.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0014.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0015.png b/graphics/font/century_school-medium-roman-serif-vari/0015.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0015.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0016.png b/graphics/font/century_school-medium-roman-serif-vari/0016.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0016.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0017.png b/graphics/font/century_school-medium-roman-serif-vari/0017.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0017.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0018.png b/graphics/font/century_school-medium-roman-serif-vari/0018.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0018.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0019.png b/graphics/font/century_school-medium-roman-serif-vari/0019.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0019.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/001a.png b/graphics/font/century_school-medium-roman-serif-vari/001a.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/001a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/001b.png b/graphics/font/century_school-medium-roman-serif-vari/001b.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/001b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/001c.png b/graphics/font/century_school-medium-roman-serif-vari/001c.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/001c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/001d.png b/graphics/font/century_school-medium-roman-serif-vari/001d.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/001d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/001e.png b/graphics/font/century_school-medium-roman-serif-vari/001e.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/001e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/001f.png b/graphics/font/century_school-medium-roman-serif-vari/001f.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/001f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0020.png b/graphics/font/century_school-medium-roman-serif-vari/0020.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0020.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0021.png b/graphics/font/century_school-medium-roman-serif-vari/0021.png
new file mode 100644
index 0000000..756e08d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0021.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0022.png b/graphics/font/century_school-medium-roman-serif-vari/0022.png
new file mode 100644
index 0000000..d79513f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0022.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0023.png b/graphics/font/century_school-medium-roman-serif-vari/0023.png
new file mode 100644
index 0000000..5686043
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0023.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0024.png b/graphics/font/century_school-medium-roman-serif-vari/0024.png
new file mode 100644
index 0000000..c150f02
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0024.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0025.png b/graphics/font/century_school-medium-roman-serif-vari/0025.png
new file mode 100644
index 0000000..daebaa9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0025.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0026.png b/graphics/font/century_school-medium-roman-serif-vari/0026.png
new file mode 100644
index 0000000..9f66959
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0026.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0027.png b/graphics/font/century_school-medium-roman-serif-vari/0027.png
new file mode 100644
index 0000000..ba8af4f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0027.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0028.png b/graphics/font/century_school-medium-roman-serif-vari/0028.png
new file mode 100644
index 0000000..a5800d9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0028.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0029.png b/graphics/font/century_school-medium-roman-serif-vari/0029.png
new file mode 100644
index 0000000..1bf1d96
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0029.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/002a.png b/graphics/font/century_school-medium-roman-serif-vari/002a.png
new file mode 100644
index 0000000..a4bf83b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/002a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/002b.png b/graphics/font/century_school-medium-roman-serif-vari/002b.png
new file mode 100644
index 0000000..da4599f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/002b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/002c.png b/graphics/font/century_school-medium-roman-serif-vari/002c.png
new file mode 100644
index 0000000..3301c02
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/002c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/002d.png b/graphics/font/century_school-medium-roman-serif-vari/002d.png
new file mode 100644
index 0000000..cbb0cad
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/002d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/002e.png b/graphics/font/century_school-medium-roman-serif-vari/002e.png
new file mode 100644
index 0000000..7ee27b9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/002e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/002f.png b/graphics/font/century_school-medium-roman-serif-vari/002f.png
new file mode 100644
index 0000000..b8fa390
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/002f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0030.png b/graphics/font/century_school-medium-roman-serif-vari/0030.png
new file mode 100644
index 0000000..a3abc90
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0030.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0031.png b/graphics/font/century_school-medium-roman-serif-vari/0031.png
new file mode 100644
index 0000000..02c2a8f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0031.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0032.png b/graphics/font/century_school-medium-roman-serif-vari/0032.png
new file mode 100644
index 0000000..4711935
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0032.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0033.png b/graphics/font/century_school-medium-roman-serif-vari/0033.png
new file mode 100644
index 0000000..3222d24
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0033.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0034.png b/graphics/font/century_school-medium-roman-serif-vari/0034.png
new file mode 100644
index 0000000..b6415f0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0034.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0035.png b/graphics/font/century_school-medium-roman-serif-vari/0035.png
new file mode 100644
index 0000000..daae5d3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0035.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0036.png b/graphics/font/century_school-medium-roman-serif-vari/0036.png
new file mode 100644
index 0000000..d6bbde9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0036.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0037.png b/graphics/font/century_school-medium-roman-serif-vari/0037.png
new file mode 100644
index 0000000..b758c94
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0037.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0038.png b/graphics/font/century_school-medium-roman-serif-vari/0038.png
new file mode 100644
index 0000000..eb6bdef
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0038.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0039.png b/graphics/font/century_school-medium-roman-serif-vari/0039.png
new file mode 100644
index 0000000..7f39dff
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0039.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/003a.png b/graphics/font/century_school-medium-roman-serif-vari/003a.png
new file mode 100644
index 0000000..cd8c94b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/003a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/003b.png b/graphics/font/century_school-medium-roman-serif-vari/003b.png
new file mode 100644
index 0000000..8f2c7a2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/003b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/003c.png b/graphics/font/century_school-medium-roman-serif-vari/003c.png
new file mode 100644
index 0000000..7e81096
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/003c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/003d.png b/graphics/font/century_school-medium-roman-serif-vari/003d.png
new file mode 100644
index 0000000..3a16b66
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/003d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/003e.png b/graphics/font/century_school-medium-roman-serif-vari/003e.png
new file mode 100644
index 0000000..48cc42f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/003e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/003f.png b/graphics/font/century_school-medium-roman-serif-vari/003f.png
new file mode 100644
index 0000000..8570eb9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/003f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0040.png b/graphics/font/century_school-medium-roman-serif-vari/0040.png
new file mode 100644
index 0000000..b2f98f9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0040.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0041.png b/graphics/font/century_school-medium-roman-serif-vari/0041.png
new file mode 100644
index 0000000..77e1ee1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0041.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0042.png b/graphics/font/century_school-medium-roman-serif-vari/0042.png
new file mode 100644
index 0000000..3b7029e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0042.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0043.png b/graphics/font/century_school-medium-roman-serif-vari/0043.png
new file mode 100644
index 0000000..0881b04
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0043.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0044.png b/graphics/font/century_school-medium-roman-serif-vari/0044.png
new file mode 100644
index 0000000..7808dfd
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0044.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0045.png b/graphics/font/century_school-medium-roman-serif-vari/0045.png
new file mode 100644
index 0000000..edb2cba
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0045.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0046.png b/graphics/font/century_school-medium-roman-serif-vari/0046.png
new file mode 100644
index 0000000..c4d2225
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0046.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0047.png b/graphics/font/century_school-medium-roman-serif-vari/0047.png
new file mode 100644
index 0000000..f93b40a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0047.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0048.png b/graphics/font/century_school-medium-roman-serif-vari/0048.png
new file mode 100644
index 0000000..2b0fcbc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0048.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0049.png b/graphics/font/century_school-medium-roman-serif-vari/0049.png
new file mode 100644
index 0000000..b881ef1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0049.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/004a.png b/graphics/font/century_school-medium-roman-serif-vari/004a.png
new file mode 100644
index 0000000..6c3b9d3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/004a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/004b.png b/graphics/font/century_school-medium-roman-serif-vari/004b.png
new file mode 100644
index 0000000..734a088
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/004b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/004c.png b/graphics/font/century_school-medium-roman-serif-vari/004c.png
new file mode 100644
index 0000000..615a2c5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/004c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/004d.png b/graphics/font/century_school-medium-roman-serif-vari/004d.png
new file mode 100644
index 0000000..e653385
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/004d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/004e.png b/graphics/font/century_school-medium-roman-serif-vari/004e.png
new file mode 100644
index 0000000..33a5aab
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/004e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/004f.png b/graphics/font/century_school-medium-roman-serif-vari/004f.png
new file mode 100644
index 0000000..e25d53d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/004f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0050.png b/graphics/font/century_school-medium-roman-serif-vari/0050.png
new file mode 100644
index 0000000..f1f4703
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0050.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0051.png b/graphics/font/century_school-medium-roman-serif-vari/0051.png
new file mode 100644
index 0000000..0e73f95
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0051.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0052.png b/graphics/font/century_school-medium-roman-serif-vari/0052.png
new file mode 100644
index 0000000..0a9e3ec
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0052.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0053.png b/graphics/font/century_school-medium-roman-serif-vari/0053.png
new file mode 100644
index 0000000..127d635
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0053.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0054.png b/graphics/font/century_school-medium-roman-serif-vari/0054.png
new file mode 100644
index 0000000..bd5da9b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0054.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0055.png b/graphics/font/century_school-medium-roman-serif-vari/0055.png
new file mode 100644
index 0000000..638f97e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0055.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0056.png b/graphics/font/century_school-medium-roman-serif-vari/0056.png
new file mode 100644
index 0000000..76cb2ca
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0056.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0057.png b/graphics/font/century_school-medium-roman-serif-vari/0057.png
new file mode 100644
index 0000000..1690fa4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0057.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0058.png b/graphics/font/century_school-medium-roman-serif-vari/0058.png
new file mode 100644
index 0000000..5faf3cd
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0058.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0059.png b/graphics/font/century_school-medium-roman-serif-vari/0059.png
new file mode 100644
index 0000000..b9e118b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0059.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/005a.png b/graphics/font/century_school-medium-roman-serif-vari/005a.png
new file mode 100644
index 0000000..98dc58b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/005a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/005b.png b/graphics/font/century_school-medium-roman-serif-vari/005b.png
new file mode 100644
index 0000000..9dac7f4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/005b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/005c.png b/graphics/font/century_school-medium-roman-serif-vari/005c.png
new file mode 100644
index 0000000..19b22ac
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/005c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/005d.png b/graphics/font/century_school-medium-roman-serif-vari/005d.png
new file mode 100644
index 0000000..12d285a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/005d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/005e.png b/graphics/font/century_school-medium-roman-serif-vari/005e.png
new file mode 100644
index 0000000..d573d79
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/005e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/005f.png b/graphics/font/century_school-medium-roman-serif-vari/005f.png
new file mode 100644
index 0000000..74425fc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/005f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0060.png b/graphics/font/century_school-medium-roman-serif-vari/0060.png
new file mode 100644
index 0000000..0b6f5b8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0060.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0061.png b/graphics/font/century_school-medium-roman-serif-vari/0061.png
new file mode 100644
index 0000000..1249772
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0061.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0062.png b/graphics/font/century_school-medium-roman-serif-vari/0062.png
new file mode 100644
index 0000000..79a2d67
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0062.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0063.png b/graphics/font/century_school-medium-roman-serif-vari/0063.png
new file mode 100644
index 0000000..f8b2549
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0063.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0064.png b/graphics/font/century_school-medium-roman-serif-vari/0064.png
new file mode 100644
index 0000000..24a0ce4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0064.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0065.png b/graphics/font/century_school-medium-roman-serif-vari/0065.png
new file mode 100644
index 0000000..6d121fb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0065.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0066.png b/graphics/font/century_school-medium-roman-serif-vari/0066.png
new file mode 100644
index 0000000..9c3a9cb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0066.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0067.png b/graphics/font/century_school-medium-roman-serif-vari/0067.png
new file mode 100644
index 0000000..5c2ab77
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0067.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0068.png b/graphics/font/century_school-medium-roman-serif-vari/0068.png
new file mode 100644
index 0000000..9423818
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0068.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0069.png b/graphics/font/century_school-medium-roman-serif-vari/0069.png
new file mode 100644
index 0000000..28523ed
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0069.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/006a.png b/graphics/font/century_school-medium-roman-serif-vari/006a.png
new file mode 100644
index 0000000..12aad8b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/006a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/006b.png b/graphics/font/century_school-medium-roman-serif-vari/006b.png
new file mode 100644
index 0000000..0f50d7e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/006b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/006c.png b/graphics/font/century_school-medium-roman-serif-vari/006c.png
new file mode 100644
index 0000000..e4ace15
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/006c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/006d.png b/graphics/font/century_school-medium-roman-serif-vari/006d.png
new file mode 100644
index 0000000..41b709c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/006d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/006e.png b/graphics/font/century_school-medium-roman-serif-vari/006e.png
new file mode 100644
index 0000000..4165dfe
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/006e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/006f.png b/graphics/font/century_school-medium-roman-serif-vari/006f.png
new file mode 100644
index 0000000..d329049
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/006f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0070.png b/graphics/font/century_school-medium-roman-serif-vari/0070.png
new file mode 100644
index 0000000..9b77669
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0070.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0071.png b/graphics/font/century_school-medium-roman-serif-vari/0071.png
new file mode 100644
index 0000000..afc946e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0071.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0072.png b/graphics/font/century_school-medium-roman-serif-vari/0072.png
new file mode 100644
index 0000000..c068539
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0072.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0073.png b/graphics/font/century_school-medium-roman-serif-vari/0073.png
new file mode 100644
index 0000000..5d2773d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0073.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0074.png b/graphics/font/century_school-medium-roman-serif-vari/0074.png
new file mode 100644
index 0000000..b70df0c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0074.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0075.png b/graphics/font/century_school-medium-roman-serif-vari/0075.png
new file mode 100644
index 0000000..5af2d2a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0075.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0076.png b/graphics/font/century_school-medium-roman-serif-vari/0076.png
new file mode 100644
index 0000000..d33fbdd
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0076.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0077.png b/graphics/font/century_school-medium-roman-serif-vari/0077.png
new file mode 100644
index 0000000..85ed3e9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0077.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0078.png b/graphics/font/century_school-medium-roman-serif-vari/0078.png
new file mode 100644
index 0000000..3988bad
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0078.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0079.png b/graphics/font/century_school-medium-roman-serif-vari/0079.png
new file mode 100644
index 0000000..ffe28be
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0079.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/007a.png b/graphics/font/century_school-medium-roman-serif-vari/007a.png
new file mode 100644
index 0000000..805ade6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/007a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/007b.png b/graphics/font/century_school-medium-roman-serif-vari/007b.png
new file mode 100644
index 0000000..6755cb8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/007b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/007c.png b/graphics/font/century_school-medium-roman-serif-vari/007c.png
new file mode 100644
index 0000000..c78ffba
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/007c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/007d.png b/graphics/font/century_school-medium-roman-serif-vari/007d.png
new file mode 100644
index 0000000..d7a4d0f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/007d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/007e.png b/graphics/font/century_school-medium-roman-serif-vari/007e.png
new file mode 100644
index 0000000..8d88a4f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/007e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0080.png b/graphics/font/century_school-medium-roman-serif-vari/0080.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0080.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0081.png b/graphics/font/century_school-medium-roman-serif-vari/0081.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0081.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0082.png b/graphics/font/century_school-medium-roman-serif-vari/0082.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0082.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0083.png b/graphics/font/century_school-medium-roman-serif-vari/0083.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0083.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0084.png b/graphics/font/century_school-medium-roman-serif-vari/0084.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0084.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0085.png b/graphics/font/century_school-medium-roman-serif-vari/0085.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0085.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0086.png b/graphics/font/century_school-medium-roman-serif-vari/0086.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0086.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0087.png b/graphics/font/century_school-medium-roman-serif-vari/0087.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0087.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0088.png b/graphics/font/century_school-medium-roman-serif-vari/0088.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0088.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0089.png b/graphics/font/century_school-medium-roman-serif-vari/0089.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0089.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/008a.png b/graphics/font/century_school-medium-roman-serif-vari/008a.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/008a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/008b.png b/graphics/font/century_school-medium-roman-serif-vari/008b.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/008b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/008c.png b/graphics/font/century_school-medium-roman-serif-vari/008c.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/008c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/008d.png b/graphics/font/century_school-medium-roman-serif-vari/008d.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/008d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/008e.png b/graphics/font/century_school-medium-roman-serif-vari/008e.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/008e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/008f.png b/graphics/font/century_school-medium-roman-serif-vari/008f.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/008f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0090.png b/graphics/font/century_school-medium-roman-serif-vari/0090.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0090.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0091.png b/graphics/font/century_school-medium-roman-serif-vari/0091.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0091.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0092.png b/graphics/font/century_school-medium-roman-serif-vari/0092.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0092.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0093.png b/graphics/font/century_school-medium-roman-serif-vari/0093.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0093.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0094.png b/graphics/font/century_school-medium-roman-serif-vari/0094.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0094.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0095.png b/graphics/font/century_school-medium-roman-serif-vari/0095.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0095.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0096.png b/graphics/font/century_school-medium-roman-serif-vari/0096.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0096.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0097.png b/graphics/font/century_school-medium-roman-serif-vari/0097.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0097.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0098.png b/graphics/font/century_school-medium-roman-serif-vari/0098.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0098.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0099.png b/graphics/font/century_school-medium-roman-serif-vari/0099.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0099.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/009a.png b/graphics/font/century_school-medium-roman-serif-vari/009a.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/009a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/009b.png b/graphics/font/century_school-medium-roman-serif-vari/009b.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/009b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/009c.png b/graphics/font/century_school-medium-roman-serif-vari/009c.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/009c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/009d.png b/graphics/font/century_school-medium-roman-serif-vari/009d.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/009d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/009e.png b/graphics/font/century_school-medium-roman-serif-vari/009e.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/009e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/009f.png b/graphics/font/century_school-medium-roman-serif-vari/009f.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/009f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00a0.png b/graphics/font/century_school-medium-roman-serif-vari/00a0.png
new file mode 100644
index 0000000..c741f39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00a0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00a1.png b/graphics/font/century_school-medium-roman-serif-vari/00a1.png
new file mode 100644
index 0000000..ca2f9d6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00a1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00a2.png b/graphics/font/century_school-medium-roman-serif-vari/00a2.png
new file mode 100644
index 0000000..e3f4397
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00a2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00a3.png b/graphics/font/century_school-medium-roman-serif-vari/00a3.png
new file mode 100644
index 0000000..fcda57c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00a3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00a4.png b/graphics/font/century_school-medium-roman-serif-vari/00a4.png
new file mode 100644
index 0000000..e434822
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00a4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00a5.png b/graphics/font/century_school-medium-roman-serif-vari/00a5.png
new file mode 100644
index 0000000..c8fa597
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00a5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00a6.png b/graphics/font/century_school-medium-roman-serif-vari/00a6.png
new file mode 100644
index 0000000..c78ffba
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00a6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00a7.png b/graphics/font/century_school-medium-roman-serif-vari/00a7.png
new file mode 100644
index 0000000..7d02ea4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00a7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00a8.png b/graphics/font/century_school-medium-roman-serif-vari/00a8.png
new file mode 100644
index 0000000..dfcd0f1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00a8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00a9.png b/graphics/font/century_school-medium-roman-serif-vari/00a9.png
new file mode 100644
index 0000000..fc437a2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00a9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00ab.png b/graphics/font/century_school-medium-roman-serif-vari/00ab.png
new file mode 100644
index 0000000..fe87e3e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00ab.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00ac.png b/graphics/font/century_school-medium-roman-serif-vari/00ac.png
new file mode 100644
index 0000000..4952a44
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00ac.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00ad.png b/graphics/font/century_school-medium-roman-serif-vari/00ad.png
new file mode 100644
index 0000000..cbb0cad
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00ad.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00ae.png b/graphics/font/century_school-medium-roman-serif-vari/00ae.png
new file mode 100644
index 0000000..b5b8a66
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00ae.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00af.png b/graphics/font/century_school-medium-roman-serif-vari/00af.png
new file mode 100644
index 0000000..36578fd
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00af.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00b0.png b/graphics/font/century_school-medium-roman-serif-vari/00b0.png
new file mode 100644
index 0000000..3250fb0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00b0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00b1.png b/graphics/font/century_school-medium-roman-serif-vari/00b1.png
new file mode 100644
index 0000000..b410c2e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00b1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00b4.png b/graphics/font/century_school-medium-roman-serif-vari/00b4.png
new file mode 100644
index 0000000..5331e7f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00b4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00b5.png b/graphics/font/century_school-medium-roman-serif-vari/00b5.png
new file mode 100644
index 0000000..b95722c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00b5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00b6.png b/graphics/font/century_school-medium-roman-serif-vari/00b6.png
new file mode 100644
index 0000000..c64791e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00b6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00b7.png b/graphics/font/century_school-medium-roman-serif-vari/00b7.png
new file mode 100644
index 0000000..5465168
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00b7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00b8.png b/graphics/font/century_school-medium-roman-serif-vari/00b8.png
new file mode 100644
index 0000000..6f59f93
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00b8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00ba.png b/graphics/font/century_school-medium-roman-serif-vari/00ba.png
new file mode 100644
index 0000000..08ad0be
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00ba.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00bb.png b/graphics/font/century_school-medium-roman-serif-vari/00bb.png
new file mode 100644
index 0000000..4979168
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00bb.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00bf.png b/graphics/font/century_school-medium-roman-serif-vari/00bf.png
new file mode 100644
index 0000000..6c7b028
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00bf.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00c0.png b/graphics/font/century_school-medium-roman-serif-vari/00c0.png
new file mode 100644
index 0000000..15494b6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00c0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00c1.png b/graphics/font/century_school-medium-roman-serif-vari/00c1.png
new file mode 100644
index 0000000..08f1034
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00c1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00c2.png b/graphics/font/century_school-medium-roman-serif-vari/00c2.png
new file mode 100644
index 0000000..241c0e5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00c2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00c3.png b/graphics/font/century_school-medium-roman-serif-vari/00c3.png
new file mode 100644
index 0000000..62ef651
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00c3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00c4.png b/graphics/font/century_school-medium-roman-serif-vari/00c4.png
new file mode 100644
index 0000000..e25abd7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00c4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00c5.png b/graphics/font/century_school-medium-roman-serif-vari/00c5.png
new file mode 100644
index 0000000..5643102
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00c5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00c6.png b/graphics/font/century_school-medium-roman-serif-vari/00c6.png
new file mode 100644
index 0000000..05e0e25
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00c6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00c7.png b/graphics/font/century_school-medium-roman-serif-vari/00c7.png
new file mode 100644
index 0000000..b09d4fc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00c7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00c8.png b/graphics/font/century_school-medium-roman-serif-vari/00c8.png
new file mode 100644
index 0000000..a56137d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00c8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00c9.png b/graphics/font/century_school-medium-roman-serif-vari/00c9.png
new file mode 100644
index 0000000..698c8f9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00c9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00ca.png b/graphics/font/century_school-medium-roman-serif-vari/00ca.png
new file mode 100644
index 0000000..b073045
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00ca.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00cb.png b/graphics/font/century_school-medium-roman-serif-vari/00cb.png
new file mode 100644
index 0000000..4916050
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00cb.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00cc.png b/graphics/font/century_school-medium-roman-serif-vari/00cc.png
new file mode 100644
index 0000000..2f1647a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00cc.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00cd.png b/graphics/font/century_school-medium-roman-serif-vari/00cd.png
new file mode 100644
index 0000000..230b18f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00cd.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00ce.png b/graphics/font/century_school-medium-roman-serif-vari/00ce.png
new file mode 100644
index 0000000..a20c7c3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00ce.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00cf.png b/graphics/font/century_school-medium-roman-serif-vari/00cf.png
new file mode 100644
index 0000000..86055a6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00cf.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00d0.png b/graphics/font/century_school-medium-roman-serif-vari/00d0.png
new file mode 100644
index 0000000..f441567
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00d0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00d1.png b/graphics/font/century_school-medium-roman-serif-vari/00d1.png
new file mode 100644
index 0000000..3b48423
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00d1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00d2.png b/graphics/font/century_school-medium-roman-serif-vari/00d2.png
new file mode 100644
index 0000000..3388700
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00d2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00d3.png b/graphics/font/century_school-medium-roman-serif-vari/00d3.png
new file mode 100644
index 0000000..07bd886
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00d3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00d4.png b/graphics/font/century_school-medium-roman-serif-vari/00d4.png
new file mode 100644
index 0000000..c9b5764
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00d4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00d5.png b/graphics/font/century_school-medium-roman-serif-vari/00d5.png
new file mode 100644
index 0000000..d355614
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00d5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00d6.png b/graphics/font/century_school-medium-roman-serif-vari/00d6.png
new file mode 100644
index 0000000..bec05af
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00d6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00d7.png b/graphics/font/century_school-medium-roman-serif-vari/00d7.png
new file mode 100644
index 0000000..01f00d6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00d7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00d8.png b/graphics/font/century_school-medium-roman-serif-vari/00d8.png
new file mode 100644
index 0000000..decc8d2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00d8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00d9.png b/graphics/font/century_school-medium-roman-serif-vari/00d9.png
new file mode 100644
index 0000000..36357b4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00d9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00da.png b/graphics/font/century_school-medium-roman-serif-vari/00da.png
new file mode 100644
index 0000000..7b41f5e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00da.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00db.png b/graphics/font/century_school-medium-roman-serif-vari/00db.png
new file mode 100644
index 0000000..c3fa7dc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00db.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00dc.png b/graphics/font/century_school-medium-roman-serif-vari/00dc.png
new file mode 100644
index 0000000..84ec45d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00dc.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00dd.png b/graphics/font/century_school-medium-roman-serif-vari/00dd.png
new file mode 100644
index 0000000..4a780bd
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00dd.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00de.png b/graphics/font/century_school-medium-roman-serif-vari/00de.png
new file mode 100644
index 0000000..8e5e74a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00de.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00df.png b/graphics/font/century_school-medium-roman-serif-vari/00df.png
new file mode 100644
index 0000000..5f9a707
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00df.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00e0.png b/graphics/font/century_school-medium-roman-serif-vari/00e0.png
new file mode 100644
index 0000000..ef134c4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00e0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00e1.png b/graphics/font/century_school-medium-roman-serif-vari/00e1.png
new file mode 100644
index 0000000..e2f0b66
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00e1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00e2.png b/graphics/font/century_school-medium-roman-serif-vari/00e2.png
new file mode 100644
index 0000000..9b19ab4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00e2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00e3.png b/graphics/font/century_school-medium-roman-serif-vari/00e3.png
new file mode 100644
index 0000000..6faf307
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00e3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00e4.png b/graphics/font/century_school-medium-roman-serif-vari/00e4.png
new file mode 100644
index 0000000..e42d5d3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00e4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00e5.png b/graphics/font/century_school-medium-roman-serif-vari/00e5.png
new file mode 100644
index 0000000..7f16161
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00e5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00e6.png b/graphics/font/century_school-medium-roman-serif-vari/00e6.png
new file mode 100644
index 0000000..697b27b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00e6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00e7.png b/graphics/font/century_school-medium-roman-serif-vari/00e7.png
new file mode 100644
index 0000000..197814d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00e7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00e8.png b/graphics/font/century_school-medium-roman-serif-vari/00e8.png
new file mode 100644
index 0000000..6b8bfcc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00e8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00e9.png b/graphics/font/century_school-medium-roman-serif-vari/00e9.png
new file mode 100644
index 0000000..5b865c8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00e9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00ea.png b/graphics/font/century_school-medium-roman-serif-vari/00ea.png
new file mode 100644
index 0000000..a80c04b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00ea.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00eb.png b/graphics/font/century_school-medium-roman-serif-vari/00eb.png
new file mode 100644
index 0000000..5449a29
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00eb.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00ec.png b/graphics/font/century_school-medium-roman-serif-vari/00ec.png
new file mode 100644
index 0000000..f87cb14
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00ec.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00ed.png b/graphics/font/century_school-medium-roman-serif-vari/00ed.png
new file mode 100644
index 0000000..8ed692a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00ed.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00ee.png b/graphics/font/century_school-medium-roman-serif-vari/00ee.png
new file mode 100644
index 0000000..684220f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00ee.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00ef.png b/graphics/font/century_school-medium-roman-serif-vari/00ef.png
new file mode 100644
index 0000000..7694347
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00ef.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00f0.png b/graphics/font/century_school-medium-roman-serif-vari/00f0.png
new file mode 100644
index 0000000..ff9e79e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00f0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00f1.png b/graphics/font/century_school-medium-roman-serif-vari/00f1.png
new file mode 100644
index 0000000..1863225
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00f1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00f2.png b/graphics/font/century_school-medium-roman-serif-vari/00f2.png
new file mode 100644
index 0000000..90ffefc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00f2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00f3.png b/graphics/font/century_school-medium-roman-serif-vari/00f3.png
new file mode 100644
index 0000000..3fc062d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00f3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00f4.png b/graphics/font/century_school-medium-roman-serif-vari/00f4.png
new file mode 100644
index 0000000..c2179da
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00f4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00f5.png b/graphics/font/century_school-medium-roman-serif-vari/00f5.png
new file mode 100644
index 0000000..9f597c9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00f5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00f6.png b/graphics/font/century_school-medium-roman-serif-vari/00f6.png
new file mode 100644
index 0000000..52ebd15
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00f6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00f7.png b/graphics/font/century_school-medium-roman-serif-vari/00f7.png
new file mode 100644
index 0000000..3babf3e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00f7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00f8.png b/graphics/font/century_school-medium-roman-serif-vari/00f8.png
new file mode 100644
index 0000000..80b66f7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00f8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00f9.png b/graphics/font/century_school-medium-roman-serif-vari/00f9.png
new file mode 100644
index 0000000..89720b7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00f9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00fa.png b/graphics/font/century_school-medium-roman-serif-vari/00fa.png
new file mode 100644
index 0000000..7b6a38a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00fa.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00fb.png b/graphics/font/century_school-medium-roman-serif-vari/00fb.png
new file mode 100644
index 0000000..31a547c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00fb.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00fc.png b/graphics/font/century_school-medium-roman-serif-vari/00fc.png
new file mode 100644
index 0000000..f484d4a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00fc.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00fd.png b/graphics/font/century_school-medium-roman-serif-vari/00fd.png
new file mode 100644
index 0000000..7575f3f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00fd.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00fe.png b/graphics/font/century_school-medium-roman-serif-vari/00fe.png
new file mode 100644
index 0000000..a92ff41
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00fe.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/00ff.png b/graphics/font/century_school-medium-roman-serif-vari/00ff.png
new file mode 100644
index 0000000..429e669
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/00ff.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0100.png b/graphics/font/century_school-medium-roman-serif-vari/0100.png
new file mode 100644
index 0000000..d9f2b88
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0100.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0101.png b/graphics/font/century_school-medium-roman-serif-vari/0101.png
new file mode 100644
index 0000000..05f018f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0101.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0102.png b/graphics/font/century_school-medium-roman-serif-vari/0102.png
new file mode 100644
index 0000000..661eccc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0102.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0103.png b/graphics/font/century_school-medium-roman-serif-vari/0103.png
new file mode 100644
index 0000000..ec18c60
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0103.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0104.png b/graphics/font/century_school-medium-roman-serif-vari/0104.png
new file mode 100644
index 0000000..65e9c78
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0104.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0105.png b/graphics/font/century_school-medium-roman-serif-vari/0105.png
new file mode 100644
index 0000000..d44a387
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0105.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0106.png b/graphics/font/century_school-medium-roman-serif-vari/0106.png
new file mode 100644
index 0000000..158b1f9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0106.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0107.png b/graphics/font/century_school-medium-roman-serif-vari/0107.png
new file mode 100644
index 0000000..4f4c3d6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0107.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0108.png b/graphics/font/century_school-medium-roman-serif-vari/0108.png
new file mode 100644
index 0000000..94d1620
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0108.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0109.png b/graphics/font/century_school-medium-roman-serif-vari/0109.png
new file mode 100644
index 0000000..7e6f7af
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0109.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/010a.png b/graphics/font/century_school-medium-roman-serif-vari/010a.png
new file mode 100644
index 0000000..bc48181
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/010a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/010b.png b/graphics/font/century_school-medium-roman-serif-vari/010b.png
new file mode 100644
index 0000000..42e5109
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/010b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/010c.png b/graphics/font/century_school-medium-roman-serif-vari/010c.png
new file mode 100644
index 0000000..0522c15
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/010c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/010d.png b/graphics/font/century_school-medium-roman-serif-vari/010d.png
new file mode 100644
index 0000000..25bc99f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/010d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/010e.png b/graphics/font/century_school-medium-roman-serif-vari/010e.png
new file mode 100644
index 0000000..2517a39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/010e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/010f.png b/graphics/font/century_school-medium-roman-serif-vari/010f.png
new file mode 100644
index 0000000..57178ea
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/010f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0111.png b/graphics/font/century_school-medium-roman-serif-vari/0111.png
new file mode 100644
index 0000000..57e3d0c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0111.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0112.png b/graphics/font/century_school-medium-roman-serif-vari/0112.png
new file mode 100644
index 0000000..c6622fc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0112.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0113.png b/graphics/font/century_school-medium-roman-serif-vari/0113.png
new file mode 100644
index 0000000..d1fb284
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0113.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0114.png b/graphics/font/century_school-medium-roman-serif-vari/0114.png
new file mode 100644
index 0000000..e6f5682
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0114.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0115.png b/graphics/font/century_school-medium-roman-serif-vari/0115.png
new file mode 100644
index 0000000..8b25e1b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0115.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0116.png b/graphics/font/century_school-medium-roman-serif-vari/0116.png
new file mode 100644
index 0000000..0764aa1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0116.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0117.png b/graphics/font/century_school-medium-roman-serif-vari/0117.png
new file mode 100644
index 0000000..67643c6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0117.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0118.png b/graphics/font/century_school-medium-roman-serif-vari/0118.png
new file mode 100644
index 0000000..e9b88e0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0118.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0119.png b/graphics/font/century_school-medium-roman-serif-vari/0119.png
new file mode 100644
index 0000000..65ee561
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0119.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/011a.png b/graphics/font/century_school-medium-roman-serif-vari/011a.png
new file mode 100644
index 0000000..c9f618a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/011a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/011b.png b/graphics/font/century_school-medium-roman-serif-vari/011b.png
new file mode 100644
index 0000000..89b82bb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/011b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/011c.png b/graphics/font/century_school-medium-roman-serif-vari/011c.png
new file mode 100644
index 0000000..2c53cb3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/011c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/011d.png b/graphics/font/century_school-medium-roman-serif-vari/011d.png
new file mode 100644
index 0000000..5d73135
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/011d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/011e.png b/graphics/font/century_school-medium-roman-serif-vari/011e.png
new file mode 100644
index 0000000..73ec161
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/011e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/011f.png b/graphics/font/century_school-medium-roman-serif-vari/011f.png
new file mode 100644
index 0000000..5c3607b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/011f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0120.png b/graphics/font/century_school-medium-roman-serif-vari/0120.png
new file mode 100644
index 0000000..5236dd7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0120.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0121.png b/graphics/font/century_school-medium-roman-serif-vari/0121.png
new file mode 100644
index 0000000..c1d2e76
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0121.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0123.png b/graphics/font/century_school-medium-roman-serif-vari/0123.png
new file mode 100644
index 0000000..6c78fb7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0123.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0124.png b/graphics/font/century_school-medium-roman-serif-vari/0124.png
new file mode 100644
index 0000000..4d8584a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0124.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0125.png b/graphics/font/century_school-medium-roman-serif-vari/0125.png
new file mode 100644
index 0000000..0eb92b4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0125.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0126.png b/graphics/font/century_school-medium-roman-serif-vari/0126.png
new file mode 100644
index 0000000..91ab4e1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0126.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0127.png b/graphics/font/century_school-medium-roman-serif-vari/0127.png
new file mode 100644
index 0000000..945cd04
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0127.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0128.png b/graphics/font/century_school-medium-roman-serif-vari/0128.png
new file mode 100644
index 0000000..fbfe282
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0128.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0129.png b/graphics/font/century_school-medium-roman-serif-vari/0129.png
new file mode 100644
index 0000000..1e774d7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0129.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/012a.png b/graphics/font/century_school-medium-roman-serif-vari/012a.png
new file mode 100644
index 0000000..0b77639
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/012a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/012b.png b/graphics/font/century_school-medium-roman-serif-vari/012b.png
new file mode 100644
index 0000000..d8f7b3d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/012b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/012c.png b/graphics/font/century_school-medium-roman-serif-vari/012c.png
new file mode 100644
index 0000000..459e547
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/012c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/012d.png b/graphics/font/century_school-medium-roman-serif-vari/012d.png
new file mode 100644
index 0000000..6f9661a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/012d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/012e.png b/graphics/font/century_school-medium-roman-serif-vari/012e.png
new file mode 100644
index 0000000..62f1233
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/012e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/012f.png b/graphics/font/century_school-medium-roman-serif-vari/012f.png
new file mode 100644
index 0000000..b984b8d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/012f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0130.png b/graphics/font/century_school-medium-roman-serif-vari/0130.png
new file mode 100644
index 0000000..7d0279a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0130.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0131.png b/graphics/font/century_school-medium-roman-serif-vari/0131.png
new file mode 100644
index 0000000..b4138d9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0131.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0132.png b/graphics/font/century_school-medium-roman-serif-vari/0132.png
new file mode 100644
index 0000000..0d0e21b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0132.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0133.png b/graphics/font/century_school-medium-roman-serif-vari/0133.png
new file mode 100644
index 0000000..c83d782
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0133.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0134.png b/graphics/font/century_school-medium-roman-serif-vari/0134.png
new file mode 100644
index 0000000..9149257
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0134.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0135.png b/graphics/font/century_school-medium-roman-serif-vari/0135.png
new file mode 100644
index 0000000..be73801
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0135.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0136.png b/graphics/font/century_school-medium-roman-serif-vari/0136.png
new file mode 100644
index 0000000..bf17f98
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0136.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0137.png b/graphics/font/century_school-medium-roman-serif-vari/0137.png
new file mode 100644
index 0000000..3accfc4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0137.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0138.png b/graphics/font/century_school-medium-roman-serif-vari/0138.png
new file mode 100644
index 0000000..8172de9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0138.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0139.png b/graphics/font/century_school-medium-roman-serif-vari/0139.png
new file mode 100644
index 0000000..8c4697b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0139.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/013a.png b/graphics/font/century_school-medium-roman-serif-vari/013a.png
new file mode 100644
index 0000000..5dda83d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/013a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/013b.png b/graphics/font/century_school-medium-roman-serif-vari/013b.png
new file mode 100644
index 0000000..7165a6b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/013b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/013c.png b/graphics/font/century_school-medium-roman-serif-vari/013c.png
new file mode 100644
index 0000000..9f2edcc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/013c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/013d.png b/graphics/font/century_school-medium-roman-serif-vari/013d.png
new file mode 100644
index 0000000..9953a7a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/013d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/013e.png b/graphics/font/century_school-medium-roman-serif-vari/013e.png
new file mode 100644
index 0000000..097496d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/013e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/013f.png b/graphics/font/century_school-medium-roman-serif-vari/013f.png
new file mode 100644
index 0000000..85069c0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/013f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0140.png b/graphics/font/century_school-medium-roman-serif-vari/0140.png
new file mode 100644
index 0000000..a3666ab
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0140.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0141.png b/graphics/font/century_school-medium-roman-serif-vari/0141.png
new file mode 100644
index 0000000..33f05bb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0141.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0142.png b/graphics/font/century_school-medium-roman-serif-vari/0142.png
new file mode 100644
index 0000000..46c8c3c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0142.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0143.png b/graphics/font/century_school-medium-roman-serif-vari/0143.png
new file mode 100644
index 0000000..24d3b74
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0143.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0144.png b/graphics/font/century_school-medium-roman-serif-vari/0144.png
new file mode 100644
index 0000000..f6e9afb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0144.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0145.png b/graphics/font/century_school-medium-roman-serif-vari/0145.png
new file mode 100644
index 0000000..f88f69e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0145.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0146.png b/graphics/font/century_school-medium-roman-serif-vari/0146.png
new file mode 100644
index 0000000..591fab4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0146.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0147.png b/graphics/font/century_school-medium-roman-serif-vari/0147.png
new file mode 100644
index 0000000..40e810b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0147.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0148.png b/graphics/font/century_school-medium-roman-serif-vari/0148.png
new file mode 100644
index 0000000..1c4ca2b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0148.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0149.png b/graphics/font/century_school-medium-roman-serif-vari/0149.png
new file mode 100644
index 0000000..8d5d244
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0149.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/014a.png b/graphics/font/century_school-medium-roman-serif-vari/014a.png
new file mode 100644
index 0000000..38f5650
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/014a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/014b.png b/graphics/font/century_school-medium-roman-serif-vari/014b.png
new file mode 100644
index 0000000..195cac4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/014b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/014c.png b/graphics/font/century_school-medium-roman-serif-vari/014c.png
new file mode 100644
index 0000000..8914992
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/014c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/014d.png b/graphics/font/century_school-medium-roman-serif-vari/014d.png
new file mode 100644
index 0000000..1ce3d4b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/014d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/014e.png b/graphics/font/century_school-medium-roman-serif-vari/014e.png
new file mode 100644
index 0000000..84b6c4c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/014e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/014f.png b/graphics/font/century_school-medium-roman-serif-vari/014f.png
new file mode 100644
index 0000000..d86a4fb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/014f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0150.png b/graphics/font/century_school-medium-roman-serif-vari/0150.png
new file mode 100644
index 0000000..a515be3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0150.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0151.png b/graphics/font/century_school-medium-roman-serif-vari/0151.png
new file mode 100644
index 0000000..e88effd
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0151.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0152.png b/graphics/font/century_school-medium-roman-serif-vari/0152.png
new file mode 100644
index 0000000..2990636
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0152.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0153.png b/graphics/font/century_school-medium-roman-serif-vari/0153.png
new file mode 100644
index 0000000..b6d2774
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0153.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0154.png b/graphics/font/century_school-medium-roman-serif-vari/0154.png
new file mode 100644
index 0000000..85ae884
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0154.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0155.png b/graphics/font/century_school-medium-roman-serif-vari/0155.png
new file mode 100644
index 0000000..06b8f26
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0155.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0156.png b/graphics/font/century_school-medium-roman-serif-vari/0156.png
new file mode 100644
index 0000000..8866fd2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0156.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0157.png b/graphics/font/century_school-medium-roman-serif-vari/0157.png
new file mode 100644
index 0000000..89ac8a9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0157.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0158.png b/graphics/font/century_school-medium-roman-serif-vari/0158.png
new file mode 100644
index 0000000..9b413c3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0158.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0159.png b/graphics/font/century_school-medium-roman-serif-vari/0159.png
new file mode 100644
index 0000000..5a5728b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0159.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/015a.png b/graphics/font/century_school-medium-roman-serif-vari/015a.png
new file mode 100644
index 0000000..dd63c79
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/015a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/015b.png b/graphics/font/century_school-medium-roman-serif-vari/015b.png
new file mode 100644
index 0000000..7228a41
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/015b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/015c.png b/graphics/font/century_school-medium-roman-serif-vari/015c.png
new file mode 100644
index 0000000..fbdf18a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/015c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/015d.png b/graphics/font/century_school-medium-roman-serif-vari/015d.png
new file mode 100644
index 0000000..aaba784
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/015d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/015e.png b/graphics/font/century_school-medium-roman-serif-vari/015e.png
new file mode 100644
index 0000000..0463631
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/015e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/015f.png b/graphics/font/century_school-medium-roman-serif-vari/015f.png
new file mode 100644
index 0000000..de52d2f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/015f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0160.png b/graphics/font/century_school-medium-roman-serif-vari/0160.png
new file mode 100644
index 0000000..c5ca96c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0160.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0161.png b/graphics/font/century_school-medium-roman-serif-vari/0161.png
new file mode 100644
index 0000000..1d07fb4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0161.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0162.png b/graphics/font/century_school-medium-roman-serif-vari/0162.png
new file mode 100644
index 0000000..eafa75a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0162.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0163.png b/graphics/font/century_school-medium-roman-serif-vari/0163.png
new file mode 100644
index 0000000..2f8596d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0163.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0164.png b/graphics/font/century_school-medium-roman-serif-vari/0164.png
new file mode 100644
index 0000000..42db82c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0164.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0165.png b/graphics/font/century_school-medium-roman-serif-vari/0165.png
new file mode 100644
index 0000000..d4ce1af
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0165.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0166.png b/graphics/font/century_school-medium-roman-serif-vari/0166.png
new file mode 100644
index 0000000..f34ba4a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0166.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0167.png b/graphics/font/century_school-medium-roman-serif-vari/0167.png
new file mode 100644
index 0000000..a97f211
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0167.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0168.png b/graphics/font/century_school-medium-roman-serif-vari/0168.png
new file mode 100644
index 0000000..122e722
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0168.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0169.png b/graphics/font/century_school-medium-roman-serif-vari/0169.png
new file mode 100644
index 0000000..50895e1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0169.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/016a.png b/graphics/font/century_school-medium-roman-serif-vari/016a.png
new file mode 100644
index 0000000..8f6dd10
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/016a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/016b.png b/graphics/font/century_school-medium-roman-serif-vari/016b.png
new file mode 100644
index 0000000..3845492
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/016b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/016c.png b/graphics/font/century_school-medium-roman-serif-vari/016c.png
new file mode 100644
index 0000000..65547c6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/016c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/016d.png b/graphics/font/century_school-medium-roman-serif-vari/016d.png
new file mode 100644
index 0000000..f6cc17c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/016d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/016e.png b/graphics/font/century_school-medium-roman-serif-vari/016e.png
new file mode 100644
index 0000000..6892e08
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/016e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/016f.png b/graphics/font/century_school-medium-roman-serif-vari/016f.png
new file mode 100644
index 0000000..286a3f8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/016f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0170.png b/graphics/font/century_school-medium-roman-serif-vari/0170.png
new file mode 100644
index 0000000..3af6a28
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0170.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0171.png b/graphics/font/century_school-medium-roman-serif-vari/0171.png
new file mode 100644
index 0000000..9680e99
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0171.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0172.png b/graphics/font/century_school-medium-roman-serif-vari/0172.png
new file mode 100644
index 0000000..ed14748
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0172.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0173.png b/graphics/font/century_school-medium-roman-serif-vari/0173.png
new file mode 100644
index 0000000..ef957f7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0173.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0174.png b/graphics/font/century_school-medium-roman-serif-vari/0174.png
new file mode 100644
index 0000000..8326e41
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0174.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0175.png b/graphics/font/century_school-medium-roman-serif-vari/0175.png
new file mode 100644
index 0000000..59df74a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0175.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0176.png b/graphics/font/century_school-medium-roman-serif-vari/0176.png
new file mode 100644
index 0000000..17b9fb7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0176.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0177.png b/graphics/font/century_school-medium-roman-serif-vari/0177.png
new file mode 100644
index 0000000..17dcdd5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0177.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0178.png b/graphics/font/century_school-medium-roman-serif-vari/0178.png
new file mode 100644
index 0000000..b2565e5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0178.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0179.png b/graphics/font/century_school-medium-roman-serif-vari/0179.png
new file mode 100644
index 0000000..9241c5b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0179.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/017a.png b/graphics/font/century_school-medium-roman-serif-vari/017a.png
new file mode 100644
index 0000000..cc1fe1a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/017a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/017b.png b/graphics/font/century_school-medium-roman-serif-vari/017b.png
new file mode 100644
index 0000000..f5a8261
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/017b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/017c.png b/graphics/font/century_school-medium-roman-serif-vari/017c.png
new file mode 100644
index 0000000..c43ab5b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/017c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/017d.png b/graphics/font/century_school-medium-roman-serif-vari/017d.png
new file mode 100644
index 0000000..508afb4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/017d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/017e.png b/graphics/font/century_school-medium-roman-serif-vari/017e.png
new file mode 100644
index 0000000..f0dbfc9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/017e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/017f.png b/graphics/font/century_school-medium-roman-serif-vari/017f.png
new file mode 100644
index 0000000..55996fb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/017f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0186.png b/graphics/font/century_school-medium-roman-serif-vari/0186.png
new file mode 100644
index 0000000..558eca4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0186.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0187.png b/graphics/font/century_school-medium-roman-serif-vari/0187.png
new file mode 100644
index 0000000..1f97213
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0187.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0188.png b/graphics/font/century_school-medium-roman-serif-vari/0188.png
new file mode 100644
index 0000000..3a9d2b9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0188.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0189.png b/graphics/font/century_school-medium-roman-serif-vari/0189.png
new file mode 100644
index 0000000..031cf72
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0189.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/018a.png b/graphics/font/century_school-medium-roman-serif-vari/018a.png
new file mode 100644
index 0000000..cea81af
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/018a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/018c.png b/graphics/font/century_school-medium-roman-serif-vari/018c.png
new file mode 100644
index 0000000..8e71704
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/018c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/018e.png b/graphics/font/century_school-medium-roman-serif-vari/018e.png
new file mode 100644
index 0000000..8d8b641
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/018e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/018f.png b/graphics/font/century_school-medium-roman-serif-vari/018f.png
new file mode 100644
index 0000000..d4f13a9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/018f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0190.png b/graphics/font/century_school-medium-roman-serif-vari/0190.png
new file mode 100644
index 0000000..73456fc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0190.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0191.png b/graphics/font/century_school-medium-roman-serif-vari/0191.png
new file mode 100644
index 0000000..17dc290
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0191.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0192.png b/graphics/font/century_school-medium-roman-serif-vari/0192.png
new file mode 100644
index 0000000..2c5f624
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0192.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0193.png b/graphics/font/century_school-medium-roman-serif-vari/0193.png
new file mode 100644
index 0000000..81ad79f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0193.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0197.png b/graphics/font/century_school-medium-roman-serif-vari/0197.png
new file mode 100644
index 0000000..3f213cb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0197.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0198.png b/graphics/font/century_school-medium-roman-serif-vari/0198.png
new file mode 100644
index 0000000..cab9db3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0198.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0199.png b/graphics/font/century_school-medium-roman-serif-vari/0199.png
new file mode 100644
index 0000000..20dc28f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0199.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/019a.png b/graphics/font/century_school-medium-roman-serif-vari/019a.png
new file mode 100644
index 0000000..5e32865
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/019a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/019b.png b/graphics/font/century_school-medium-roman-serif-vari/019b.png
new file mode 100644
index 0000000..d9ab67c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/019b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/019c.png b/graphics/font/century_school-medium-roman-serif-vari/019c.png
new file mode 100644
index 0000000..e6bbb81
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/019c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/019d.png b/graphics/font/century_school-medium-roman-serif-vari/019d.png
new file mode 100644
index 0000000..98857b9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/019d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/019e.png b/graphics/font/century_school-medium-roman-serif-vari/019e.png
new file mode 100644
index 0000000..d24e179
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/019e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/019f.png b/graphics/font/century_school-medium-roman-serif-vari/019f.png
new file mode 100644
index 0000000..6642d1b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/019f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01c3.png b/graphics/font/century_school-medium-roman-serif-vari/01c3.png
new file mode 100644
index 0000000..756e08d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01c3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01c4.png b/graphics/font/century_school-medium-roman-serif-vari/01c4.png
new file mode 100644
index 0000000..106639c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01c4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01c5.png b/graphics/font/century_school-medium-roman-serif-vari/01c5.png
new file mode 100644
index 0000000..e230b79
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01c5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01c6.png b/graphics/font/century_school-medium-roman-serif-vari/01c6.png
new file mode 100644
index 0000000..45ace1b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01c6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01c7.png b/graphics/font/century_school-medium-roman-serif-vari/01c7.png
new file mode 100644
index 0000000..452e202
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01c7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01c8.png b/graphics/font/century_school-medium-roman-serif-vari/01c8.png
new file mode 100644
index 0000000..53d3cfa
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01c8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01c9.png b/graphics/font/century_school-medium-roman-serif-vari/01c9.png
new file mode 100644
index 0000000..f5f10ac
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01c9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01ca.png b/graphics/font/century_school-medium-roman-serif-vari/01ca.png
new file mode 100644
index 0000000..de25ff4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01ca.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01cb.png b/graphics/font/century_school-medium-roman-serif-vari/01cb.png
new file mode 100644
index 0000000..c55ebb5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01cb.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01cc.png b/graphics/font/century_school-medium-roman-serif-vari/01cc.png
new file mode 100644
index 0000000..da13974
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01cc.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01cd.png b/graphics/font/century_school-medium-roman-serif-vari/01cd.png
new file mode 100644
index 0000000..75627b7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01cd.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01ce.png b/graphics/font/century_school-medium-roman-serif-vari/01ce.png
new file mode 100644
index 0000000..fa7ce84
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01ce.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01cf.png b/graphics/font/century_school-medium-roman-serif-vari/01cf.png
new file mode 100644
index 0000000..33a3a3f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01cf.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01d0.png b/graphics/font/century_school-medium-roman-serif-vari/01d0.png
new file mode 100644
index 0000000..a8dc2d9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01d0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01d1.png b/graphics/font/century_school-medium-roman-serif-vari/01d1.png
new file mode 100644
index 0000000..88595bd
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01d1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01d2.png b/graphics/font/century_school-medium-roman-serif-vari/01d2.png
new file mode 100644
index 0000000..b7ef1b1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01d2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01d3.png b/graphics/font/century_school-medium-roman-serif-vari/01d3.png
new file mode 100644
index 0000000..f2e3d6f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01d3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01d4.png b/graphics/font/century_school-medium-roman-serif-vari/01d4.png
new file mode 100644
index 0000000..d91093d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01d4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01e6.png b/graphics/font/century_school-medium-roman-serif-vari/01e6.png
new file mode 100644
index 0000000..80aad17
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01e6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01e7.png b/graphics/font/century_school-medium-roman-serif-vari/01e7.png
new file mode 100644
index 0000000..6a0a878
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01e7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01e8.png b/graphics/font/century_school-medium-roman-serif-vari/01e8.png
new file mode 100644
index 0000000..f367122
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01e8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01e9.png b/graphics/font/century_school-medium-roman-serif-vari/01e9.png
new file mode 100644
index 0000000..4d494d5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01e9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01ea.png b/graphics/font/century_school-medium-roman-serif-vari/01ea.png
new file mode 100644
index 0000000..9d24d27
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01ea.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01eb.png b/graphics/font/century_school-medium-roman-serif-vari/01eb.png
new file mode 100644
index 0000000..63bc9c0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01eb.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01f0.png b/graphics/font/century_school-medium-roman-serif-vari/01f0.png
new file mode 100644
index 0000000..f636604
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01f0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01f4.png b/graphics/font/century_school-medium-roman-serif-vari/01f4.png
new file mode 100644
index 0000000..0983b72
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01f4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01f5.png b/graphics/font/century_school-medium-roman-serif-vari/01f5.png
new file mode 100644
index 0000000..c897d6e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01f5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01f8.png b/graphics/font/century_school-medium-roman-serif-vari/01f8.png
new file mode 100644
index 0000000..41ef59a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01f8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/01f9.png b/graphics/font/century_school-medium-roman-serif-vari/01f9.png
new file mode 100644
index 0000000..853979a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/01f9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0218.png b/graphics/font/century_school-medium-roman-serif-vari/0218.png
new file mode 100644
index 0000000..d9104f1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0218.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0219.png b/graphics/font/century_school-medium-roman-serif-vari/0219.png
new file mode 100644
index 0000000..68ab1c4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0219.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/021a.png b/graphics/font/century_school-medium-roman-serif-vari/021a.png
new file mode 100644
index 0000000..021f21d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/021a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/021b.png b/graphics/font/century_school-medium-roman-serif-vari/021b.png
new file mode 100644
index 0000000..5dec29a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/021b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0226.png b/graphics/font/century_school-medium-roman-serif-vari/0226.png
new file mode 100644
index 0000000..e30d214
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0226.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0227.png b/graphics/font/century_school-medium-roman-serif-vari/0227.png
new file mode 100644
index 0000000..51d3c9e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0227.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0230.png b/graphics/font/century_school-medium-roman-serif-vari/0230.png
new file mode 100644
index 0000000..fc1e513
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0230.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0231.png b/graphics/font/century_school-medium-roman-serif-vari/0231.png
new file mode 100644
index 0000000..a57bba1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0231.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/02c6.png b/graphics/font/century_school-medium-roman-serif-vari/02c6.png
new file mode 100644
index 0000000..084bd21
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/02c6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/02c7.png b/graphics/font/century_school-medium-roman-serif-vari/02c7.png
new file mode 100644
index 0000000..0ba9112
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/02c7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/02d9.png b/graphics/font/century_school-medium-roman-serif-vari/02d9.png
new file mode 100644
index 0000000..5465168
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/02d9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/02da.png b/graphics/font/century_school-medium-roman-serif-vari/02da.png
new file mode 100644
index 0000000..27f74c9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/02da.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/02db.png b/graphics/font/century_school-medium-roman-serif-vari/02db.png
new file mode 100644
index 0000000..89a32f9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/02db.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/02dc.png b/graphics/font/century_school-medium-roman-serif-vari/02dc.png
new file mode 100644
index 0000000..95b7f6d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/02dc.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/02dd.png b/graphics/font/century_school-medium-roman-serif-vari/02dd.png
new file mode 100644
index 0000000..d79513f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/02dd.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0300.png b/graphics/font/century_school-medium-roman-serif-vari/0300.png
new file mode 100644
index 0000000..cbd74f6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0300.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0306.png b/graphics/font/century_school-medium-roman-serif-vari/0306.png
new file mode 100644
index 0000000..c167733
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0306.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/030b.png b/graphics/font/century_school-medium-roman-serif-vari/030b.png
new file mode 100644
index 0000000..9c21c6e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/030b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0386.png b/graphics/font/century_school-medium-roman-serif-vari/0386.png
new file mode 100644
index 0000000..3186649
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0386.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0387.png b/graphics/font/century_school-medium-roman-serif-vari/0387.png
new file mode 100644
index 0000000..6a9549e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0387.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0388.png b/graphics/font/century_school-medium-roman-serif-vari/0388.png
new file mode 100644
index 0000000..bca8061
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0388.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0389.png b/graphics/font/century_school-medium-roman-serif-vari/0389.png
new file mode 100644
index 0000000..484a52e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0389.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/038a.png b/graphics/font/century_school-medium-roman-serif-vari/038a.png
new file mode 100644
index 0000000..3fe71ec
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/038a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/038c.png b/graphics/font/century_school-medium-roman-serif-vari/038c.png
new file mode 100644
index 0000000..87f747f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/038c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/038e.png b/graphics/font/century_school-medium-roman-serif-vari/038e.png
new file mode 100644
index 0000000..95344d8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/038e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/038f.png b/graphics/font/century_school-medium-roman-serif-vari/038f.png
new file mode 100644
index 0000000..2f49296
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/038f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0390.png b/graphics/font/century_school-medium-roman-serif-vari/0390.png
new file mode 100644
index 0000000..afdc9e2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0390.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0391.png b/graphics/font/century_school-medium-roman-serif-vari/0391.png
new file mode 100644
index 0000000..7c3f664
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0391.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0392.png b/graphics/font/century_school-medium-roman-serif-vari/0392.png
new file mode 100644
index 0000000..a9034f7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0392.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0393.png b/graphics/font/century_school-medium-roman-serif-vari/0393.png
new file mode 100644
index 0000000..018798d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0393.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0394.png b/graphics/font/century_school-medium-roman-serif-vari/0394.png
new file mode 100644
index 0000000..f09f1f0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0394.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0395.png b/graphics/font/century_school-medium-roman-serif-vari/0395.png
new file mode 100644
index 0000000..a73de93
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0395.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0396.png b/graphics/font/century_school-medium-roman-serif-vari/0396.png
new file mode 100644
index 0000000..a7298d8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0396.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0397.png b/graphics/font/century_school-medium-roman-serif-vari/0397.png
new file mode 100644
index 0000000..dea078b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0397.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0398.png b/graphics/font/century_school-medium-roman-serif-vari/0398.png
new file mode 100644
index 0000000..398754f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0398.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0399.png b/graphics/font/century_school-medium-roman-serif-vari/0399.png
new file mode 100644
index 0000000..bff0349
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0399.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/039a.png b/graphics/font/century_school-medium-roman-serif-vari/039a.png
new file mode 100644
index 0000000..754a8a5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/039a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/039b.png b/graphics/font/century_school-medium-roman-serif-vari/039b.png
new file mode 100644
index 0000000..32b0ef7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/039b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/039c.png b/graphics/font/century_school-medium-roman-serif-vari/039c.png
new file mode 100644
index 0000000..97acd4c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/039c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/039d.png b/graphics/font/century_school-medium-roman-serif-vari/039d.png
new file mode 100644
index 0000000..3e98136
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/039d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/039e.png b/graphics/font/century_school-medium-roman-serif-vari/039e.png
new file mode 100644
index 0000000..08389af
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/039e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/039f.png b/graphics/font/century_school-medium-roman-serif-vari/039f.png
new file mode 100644
index 0000000..d5761e2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/039f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03a0.png b/graphics/font/century_school-medium-roman-serif-vari/03a0.png
new file mode 100644
index 0000000..cbc1d11
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03a0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03a1.png b/graphics/font/century_school-medium-roman-serif-vari/03a1.png
new file mode 100644
index 0000000..fb9c111
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03a1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03a3.png b/graphics/font/century_school-medium-roman-serif-vari/03a3.png
new file mode 100644
index 0000000..7cacca0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03a3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03a4.png b/graphics/font/century_school-medium-roman-serif-vari/03a4.png
new file mode 100644
index 0000000..a2a56ca
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03a4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03a5.png b/graphics/font/century_school-medium-roman-serif-vari/03a5.png
new file mode 100644
index 0000000..41589d9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03a5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03a6.png b/graphics/font/century_school-medium-roman-serif-vari/03a6.png
new file mode 100644
index 0000000..bfc73c4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03a6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03a7.png b/graphics/font/century_school-medium-roman-serif-vari/03a7.png
new file mode 100644
index 0000000..dae3f21
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03a7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03a8.png b/graphics/font/century_school-medium-roman-serif-vari/03a8.png
new file mode 100644
index 0000000..c5b68c6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03a8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03a9.png b/graphics/font/century_school-medium-roman-serif-vari/03a9.png
new file mode 100644
index 0000000..0089e1c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03a9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03aa.png b/graphics/font/century_school-medium-roman-serif-vari/03aa.png
new file mode 100644
index 0000000..79623da
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03aa.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03ab.png b/graphics/font/century_school-medium-roman-serif-vari/03ab.png
new file mode 100644
index 0000000..f501f92
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03ab.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03ac.png b/graphics/font/century_school-medium-roman-serif-vari/03ac.png
new file mode 100644
index 0000000..10231b3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03ac.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03ad.png b/graphics/font/century_school-medium-roman-serif-vari/03ad.png
new file mode 100644
index 0000000..c3091e7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03ad.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03ae.png b/graphics/font/century_school-medium-roman-serif-vari/03ae.png
new file mode 100644
index 0000000..429c1ab
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03ae.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03af.png b/graphics/font/century_school-medium-roman-serif-vari/03af.png
new file mode 100644
index 0000000..9e9c9d4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03af.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03b0.png b/graphics/font/century_school-medium-roman-serif-vari/03b0.png
new file mode 100644
index 0000000..a108ea8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03b0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03b1.png b/graphics/font/century_school-medium-roman-serif-vari/03b1.png
new file mode 100644
index 0000000..79e2e45
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03b1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03b2.png b/graphics/font/century_school-medium-roman-serif-vari/03b2.png
new file mode 100644
index 0000000..0ae0da2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03b2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03b3.png b/graphics/font/century_school-medium-roman-serif-vari/03b3.png
new file mode 100644
index 0000000..c3204e3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03b3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03b4.png b/graphics/font/century_school-medium-roman-serif-vari/03b4.png
new file mode 100644
index 0000000..34ff14f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03b4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03b5.png b/graphics/font/century_school-medium-roman-serif-vari/03b5.png
new file mode 100644
index 0000000..39965c5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03b5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03b6.png b/graphics/font/century_school-medium-roman-serif-vari/03b6.png
new file mode 100644
index 0000000..e222ad6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03b6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03b7.png b/graphics/font/century_school-medium-roman-serif-vari/03b7.png
new file mode 100644
index 0000000..203f381
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03b7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03b8.png b/graphics/font/century_school-medium-roman-serif-vari/03b8.png
new file mode 100644
index 0000000..9b80679
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03b8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03b9.png b/graphics/font/century_school-medium-roman-serif-vari/03b9.png
new file mode 100644
index 0000000..93a9944
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03b9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03ba.png b/graphics/font/century_school-medium-roman-serif-vari/03ba.png
new file mode 100644
index 0000000..f53ac8e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03ba.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03bb.png b/graphics/font/century_school-medium-roman-serif-vari/03bb.png
new file mode 100644
index 0000000..ce178cd
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03bb.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03bc.png b/graphics/font/century_school-medium-roman-serif-vari/03bc.png
new file mode 100644
index 0000000..b95722c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03bc.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03bd.png b/graphics/font/century_school-medium-roman-serif-vari/03bd.png
new file mode 100644
index 0000000..10e98d2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03bd.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03be.png b/graphics/font/century_school-medium-roman-serif-vari/03be.png
new file mode 100644
index 0000000..dc58a53
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03be.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03bf.png b/graphics/font/century_school-medium-roman-serif-vari/03bf.png
new file mode 100644
index 0000000..44ac9ec
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03bf.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03c0.png b/graphics/font/century_school-medium-roman-serif-vari/03c0.png
new file mode 100644
index 0000000..d95c053
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03c0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03c1.png b/graphics/font/century_school-medium-roman-serif-vari/03c1.png
new file mode 100644
index 0000000..9c7af19
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03c1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03c2.png b/graphics/font/century_school-medium-roman-serif-vari/03c2.png
new file mode 100644
index 0000000..2edb72d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03c2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03c3.png b/graphics/font/century_school-medium-roman-serif-vari/03c3.png
new file mode 100644
index 0000000..b6afeb9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03c3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03c4.png b/graphics/font/century_school-medium-roman-serif-vari/03c4.png
new file mode 100644
index 0000000..fdaa52a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03c4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03c5.png b/graphics/font/century_school-medium-roman-serif-vari/03c5.png
new file mode 100644
index 0000000..cc5606c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03c5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03c6.png b/graphics/font/century_school-medium-roman-serif-vari/03c6.png
new file mode 100644
index 0000000..c791ffc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03c6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03c7.png b/graphics/font/century_school-medium-roman-serif-vari/03c7.png
new file mode 100644
index 0000000..4924377
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03c7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03c8.png b/graphics/font/century_school-medium-roman-serif-vari/03c8.png
new file mode 100644
index 0000000..27c1fee
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03c8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03c9.png b/graphics/font/century_school-medium-roman-serif-vari/03c9.png
new file mode 100644
index 0000000..e802549
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03c9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03ca.png b/graphics/font/century_school-medium-roman-serif-vari/03ca.png
new file mode 100644
index 0000000..3ce9c17
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03ca.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03cb.png b/graphics/font/century_school-medium-roman-serif-vari/03cb.png
new file mode 100644
index 0000000..1f3372f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03cb.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03cc.png b/graphics/font/century_school-medium-roman-serif-vari/03cc.png
new file mode 100644
index 0000000..2f40064
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03cc.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03cd.png b/graphics/font/century_school-medium-roman-serif-vari/03cd.png
new file mode 100644
index 0000000..60cd9a2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03cd.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03ce.png b/graphics/font/century_school-medium-roman-serif-vari/03ce.png
new file mode 100644
index 0000000..daaa2fd
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03ce.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03d0.png b/graphics/font/century_school-medium-roman-serif-vari/03d0.png
new file mode 100644
index 0000000..f50b49d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03d0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03d1.png b/graphics/font/century_school-medium-roman-serif-vari/03d1.png
new file mode 100644
index 0000000..706fa26
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03d1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03d2.png b/graphics/font/century_school-medium-roman-serif-vari/03d2.png
new file mode 100644
index 0000000..42f4f31
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03d2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03d3.png b/graphics/font/century_school-medium-roman-serif-vari/03d3.png
new file mode 100644
index 0000000..39bf171
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03d3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03d4.png b/graphics/font/century_school-medium-roman-serif-vari/03d4.png
new file mode 100644
index 0000000..420f910
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03d4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03d5.png b/graphics/font/century_school-medium-roman-serif-vari/03d5.png
new file mode 100644
index 0000000..abe9aaa
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03d5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03d6.png b/graphics/font/century_school-medium-roman-serif-vari/03d6.png
new file mode 100644
index 0000000..ded2e53
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03d6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03d7.png b/graphics/font/century_school-medium-roman-serif-vari/03d7.png
new file mode 100644
index 0000000..4f27a13
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03d7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/03f0.png b/graphics/font/century_school-medium-roman-serif-vari/03f0.png
new file mode 100644
index 0000000..9afec79
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/03f0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0401.png b/graphics/font/century_school-medium-roman-serif-vari/0401.png
new file mode 100644
index 0000000..68b8807
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0401.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0402.png b/graphics/font/century_school-medium-roman-serif-vari/0402.png
new file mode 100644
index 0000000..f508027
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0402.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0404.png b/graphics/font/century_school-medium-roman-serif-vari/0404.png
new file mode 100644
index 0000000..f0678dc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0404.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0406.png b/graphics/font/century_school-medium-roman-serif-vari/0406.png
new file mode 100644
index 0000000..b79afec
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0406.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0407.png b/graphics/font/century_school-medium-roman-serif-vari/0407.png
new file mode 100644
index 0000000..df4aa48
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0407.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0408.png b/graphics/font/century_school-medium-roman-serif-vari/0408.png
new file mode 100644
index 0000000..6c3b9d3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0408.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0409.png b/graphics/font/century_school-medium-roman-serif-vari/0409.png
new file mode 100644
index 0000000..b6b8a86
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0409.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/040a.png b/graphics/font/century_school-medium-roman-serif-vari/040a.png
new file mode 100644
index 0000000..834e68f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/040a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/040b.png b/graphics/font/century_school-medium-roman-serif-vari/040b.png
new file mode 100644
index 0000000..5297bb1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/040b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/040f.png b/graphics/font/century_school-medium-roman-serif-vari/040f.png
new file mode 100644
index 0000000..61c51d0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/040f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0410.png b/graphics/font/century_school-medium-roman-serif-vari/0410.png
new file mode 100644
index 0000000..61fc0a4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0410.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0411.png b/graphics/font/century_school-medium-roman-serif-vari/0411.png
new file mode 100644
index 0000000..ad4c828
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0411.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0412.png b/graphics/font/century_school-medium-roman-serif-vari/0412.png
new file mode 100644
index 0000000..ea31dd5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0412.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0413.png b/graphics/font/century_school-medium-roman-serif-vari/0413.png
new file mode 100644
index 0000000..318c0bb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0413.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0414.png b/graphics/font/century_school-medium-roman-serif-vari/0414.png
new file mode 100644
index 0000000..38448ec
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0414.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0415.png b/graphics/font/century_school-medium-roman-serif-vari/0415.png
new file mode 100644
index 0000000..f29f2bb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0415.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0416.png b/graphics/font/century_school-medium-roman-serif-vari/0416.png
new file mode 100644
index 0000000..fcd23ee
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0416.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0417.png b/graphics/font/century_school-medium-roman-serif-vari/0417.png
new file mode 100644
index 0000000..a6672f3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0417.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0418.png b/graphics/font/century_school-medium-roman-serif-vari/0418.png
new file mode 100644
index 0000000..b60b6b0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0418.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0419.png b/graphics/font/century_school-medium-roman-serif-vari/0419.png
new file mode 100644
index 0000000..fb43943
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0419.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/041a.png b/graphics/font/century_school-medium-roman-serif-vari/041a.png
new file mode 100644
index 0000000..66aa619
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/041a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/041b.png b/graphics/font/century_school-medium-roman-serif-vari/041b.png
new file mode 100644
index 0000000..ddd8fd9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/041b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/041c.png b/graphics/font/century_school-medium-roman-serif-vari/041c.png
new file mode 100644
index 0000000..8f8d39a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/041c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/041d.png b/graphics/font/century_school-medium-roman-serif-vari/041d.png
new file mode 100644
index 0000000..703b1db
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/041d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/041e.png b/graphics/font/century_school-medium-roman-serif-vari/041e.png
new file mode 100644
index 0000000..2e0fb83
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/041e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/041f.png b/graphics/font/century_school-medium-roman-serif-vari/041f.png
new file mode 100644
index 0000000..b4cc2ac
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/041f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0420.png b/graphics/font/century_school-medium-roman-serif-vari/0420.png
new file mode 100644
index 0000000..11584e6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0420.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0421.png b/graphics/font/century_school-medium-roman-serif-vari/0421.png
new file mode 100644
index 0000000..e5d5a0d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0421.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0422.png b/graphics/font/century_school-medium-roman-serif-vari/0422.png
new file mode 100644
index 0000000..57e55a1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0422.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0423.png b/graphics/font/century_school-medium-roman-serif-vari/0423.png
new file mode 100644
index 0000000..dde1269
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0423.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0424.png b/graphics/font/century_school-medium-roman-serif-vari/0424.png
new file mode 100644
index 0000000..6714ea4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0424.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0425.png b/graphics/font/century_school-medium-roman-serif-vari/0425.png
new file mode 100644
index 0000000..f385a73
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0425.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0426.png b/graphics/font/century_school-medium-roman-serif-vari/0426.png
new file mode 100644
index 0000000..6ec6bd9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0426.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0427.png b/graphics/font/century_school-medium-roman-serif-vari/0427.png
new file mode 100644
index 0000000..685406a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0427.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0428.png b/graphics/font/century_school-medium-roman-serif-vari/0428.png
new file mode 100644
index 0000000..94a0c80
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0428.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0429.png b/graphics/font/century_school-medium-roman-serif-vari/0429.png
new file mode 100644
index 0000000..fa44ddd
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0429.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/042a.png b/graphics/font/century_school-medium-roman-serif-vari/042a.png
new file mode 100644
index 0000000..8564ac5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/042a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/042b.png b/graphics/font/century_school-medium-roman-serif-vari/042b.png
new file mode 100644
index 0000000..12db8e3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/042b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/042c.png b/graphics/font/century_school-medium-roman-serif-vari/042c.png
new file mode 100644
index 0000000..3d1e684
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/042c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/042d.png b/graphics/font/century_school-medium-roman-serif-vari/042d.png
new file mode 100644
index 0000000..19c0ab5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/042d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/042e.png b/graphics/font/century_school-medium-roman-serif-vari/042e.png
new file mode 100644
index 0000000..b5ead04
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/042e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/042f.png b/graphics/font/century_school-medium-roman-serif-vari/042f.png
new file mode 100644
index 0000000..e229cbf
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/042f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0430.png b/graphics/font/century_school-medium-roman-serif-vari/0430.png
new file mode 100644
index 0000000..466c3a2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0430.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0431.png b/graphics/font/century_school-medium-roman-serif-vari/0431.png
new file mode 100644
index 0000000..97d357f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0431.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0432.png b/graphics/font/century_school-medium-roman-serif-vari/0432.png
new file mode 100644
index 0000000..4d14558
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0432.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0433.png b/graphics/font/century_school-medium-roman-serif-vari/0433.png
new file mode 100644
index 0000000..5db7088
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0433.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0434.png b/graphics/font/century_school-medium-roman-serif-vari/0434.png
new file mode 100644
index 0000000..f3c78c7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0434.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0435.png b/graphics/font/century_school-medium-roman-serif-vari/0435.png
new file mode 100644
index 0000000..c47461e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0435.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0436.png b/graphics/font/century_school-medium-roman-serif-vari/0436.png
new file mode 100644
index 0000000..5b162d5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0436.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0437.png b/graphics/font/century_school-medium-roman-serif-vari/0437.png
new file mode 100644
index 0000000..a660275
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0437.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0438.png b/graphics/font/century_school-medium-roman-serif-vari/0438.png
new file mode 100644
index 0000000..9b0d223
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0438.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0439.png b/graphics/font/century_school-medium-roman-serif-vari/0439.png
new file mode 100644
index 0000000..e43986c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0439.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/043a.png b/graphics/font/century_school-medium-roman-serif-vari/043a.png
new file mode 100644
index 0000000..a39a790
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/043a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/043b.png b/graphics/font/century_school-medium-roman-serif-vari/043b.png
new file mode 100644
index 0000000..5383e79
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/043b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/043c.png b/graphics/font/century_school-medium-roman-serif-vari/043c.png
new file mode 100644
index 0000000..a48fcc0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/043c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/043d.png b/graphics/font/century_school-medium-roman-serif-vari/043d.png
new file mode 100644
index 0000000..91f4290
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/043d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/043e.png b/graphics/font/century_school-medium-roman-serif-vari/043e.png
new file mode 100644
index 0000000..365ad26
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/043e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/043f.png b/graphics/font/century_school-medium-roman-serif-vari/043f.png
new file mode 100644
index 0000000..7837b66
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/043f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0440.png b/graphics/font/century_school-medium-roman-serif-vari/0440.png
new file mode 100644
index 0000000..215dfb1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0440.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0441.png b/graphics/font/century_school-medium-roman-serif-vari/0441.png
new file mode 100644
index 0000000..46e8cf6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0441.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0442.png b/graphics/font/century_school-medium-roman-serif-vari/0442.png
new file mode 100644
index 0000000..d858d01
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0442.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0443.png b/graphics/font/century_school-medium-roman-serif-vari/0443.png
new file mode 100644
index 0000000..a337876
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0443.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0444.png b/graphics/font/century_school-medium-roman-serif-vari/0444.png
new file mode 100644
index 0000000..01c7eb8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0444.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0445.png b/graphics/font/century_school-medium-roman-serif-vari/0445.png
new file mode 100644
index 0000000..d19ec8a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0445.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0446.png b/graphics/font/century_school-medium-roman-serif-vari/0446.png
new file mode 100644
index 0000000..482e6f9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0446.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0447.png b/graphics/font/century_school-medium-roman-serif-vari/0447.png
new file mode 100644
index 0000000..5c8189a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0447.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0448.png b/graphics/font/century_school-medium-roman-serif-vari/0448.png
new file mode 100644
index 0000000..ab2d64b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0448.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0449.png b/graphics/font/century_school-medium-roman-serif-vari/0449.png
new file mode 100644
index 0000000..200b62d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0449.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/044a.png b/graphics/font/century_school-medium-roman-serif-vari/044a.png
new file mode 100644
index 0000000..bfced39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/044a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/044b.png b/graphics/font/century_school-medium-roman-serif-vari/044b.png
new file mode 100644
index 0000000..0e0a6fe
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/044b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/044c.png b/graphics/font/century_school-medium-roman-serif-vari/044c.png
new file mode 100644
index 0000000..02daf17
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/044c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/044d.png b/graphics/font/century_school-medium-roman-serif-vari/044d.png
new file mode 100644
index 0000000..b8a3563
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/044d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/044e.png b/graphics/font/century_school-medium-roman-serif-vari/044e.png
new file mode 100644
index 0000000..9273dcc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/044e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/044f.png b/graphics/font/century_school-medium-roman-serif-vari/044f.png
new file mode 100644
index 0000000..6ea44b7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/044f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0451.png b/graphics/font/century_school-medium-roman-serif-vari/0451.png
new file mode 100644
index 0000000..29e30b0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0451.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0452.png b/graphics/font/century_school-medium-roman-serif-vari/0452.png
new file mode 100644
index 0000000..53201c9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0452.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0454.png b/graphics/font/century_school-medium-roman-serif-vari/0454.png
new file mode 100644
index 0000000..0ef6777
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0454.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0456.png b/graphics/font/century_school-medium-roman-serif-vari/0456.png
new file mode 100644
index 0000000..a9e896a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0456.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0457.png b/graphics/font/century_school-medium-roman-serif-vari/0457.png
new file mode 100644
index 0000000..4a94f9f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0457.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0458.png b/graphics/font/century_school-medium-roman-serif-vari/0458.png
new file mode 100644
index 0000000..18c6035
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0458.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0459.png b/graphics/font/century_school-medium-roman-serif-vari/0459.png
new file mode 100644
index 0000000..8184ea6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0459.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/045a.png b/graphics/font/century_school-medium-roman-serif-vari/045a.png
new file mode 100644
index 0000000..7189a65
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/045a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/045b.png b/graphics/font/century_school-medium-roman-serif-vari/045b.png
new file mode 100644
index 0000000..b8103bb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/045b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/045e.png b/graphics/font/century_school-medium-roman-serif-vari/045e.png
new file mode 100644
index 0000000..335e9dd
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/045e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/045f.png b/graphics/font/century_school-medium-roman-serif-vari/045f.png
new file mode 100644
index 0000000..6dde144
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/045f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0462.png b/graphics/font/century_school-medium-roman-serif-vari/0462.png
new file mode 100644
index 0000000..48e6122
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0462.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0463.png b/graphics/font/century_school-medium-roman-serif-vari/0463.png
new file mode 100644
index 0000000..9997c71
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0463.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0472.png b/graphics/font/century_school-medium-roman-serif-vari/0472.png
new file mode 100644
index 0000000..8a3e78e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0472.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0473.png b/graphics/font/century_school-medium-roman-serif-vari/0473.png
new file mode 100644
index 0000000..da8c760
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0473.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05d0.png b/graphics/font/century_school-medium-roman-serif-vari/05d0.png
new file mode 100644
index 0000000..3d2c027
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05d0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05d1.png b/graphics/font/century_school-medium-roman-serif-vari/05d1.png
new file mode 100644
index 0000000..4062398
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05d1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05d2.png b/graphics/font/century_school-medium-roman-serif-vari/05d2.png
new file mode 100644
index 0000000..0c79fb9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05d2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05d3.png b/graphics/font/century_school-medium-roman-serif-vari/05d3.png
new file mode 100644
index 0000000..61aa917
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05d3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05d4.png b/graphics/font/century_school-medium-roman-serif-vari/05d4.png
new file mode 100644
index 0000000..4267dcb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05d4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05d5.png b/graphics/font/century_school-medium-roman-serif-vari/05d5.png
new file mode 100644
index 0000000..ca9c04e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05d5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05d6.png b/graphics/font/century_school-medium-roman-serif-vari/05d6.png
new file mode 100644
index 0000000..e7f1921
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05d6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05d7.png b/graphics/font/century_school-medium-roman-serif-vari/05d7.png
new file mode 100644
index 0000000..3cefc3c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05d7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05d8.png b/graphics/font/century_school-medium-roman-serif-vari/05d8.png
new file mode 100644
index 0000000..aff1844
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05d8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05d9.png b/graphics/font/century_school-medium-roman-serif-vari/05d9.png
new file mode 100644
index 0000000..b9a9cca
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05d9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05da.png b/graphics/font/century_school-medium-roman-serif-vari/05da.png
new file mode 100644
index 0000000..9371fdc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05da.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05db.png b/graphics/font/century_school-medium-roman-serif-vari/05db.png
new file mode 100644
index 0000000..0f45cfc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05db.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05dc.png b/graphics/font/century_school-medium-roman-serif-vari/05dc.png
new file mode 100644
index 0000000..a4b669c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05dc.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05dd.png b/graphics/font/century_school-medium-roman-serif-vari/05dd.png
new file mode 100644
index 0000000..54fb7c7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05dd.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05de.png b/graphics/font/century_school-medium-roman-serif-vari/05de.png
new file mode 100644
index 0000000..d7a7a3f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05de.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05df.png b/graphics/font/century_school-medium-roman-serif-vari/05df.png
new file mode 100644
index 0000000..3d5a8dc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05df.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05e0.png b/graphics/font/century_school-medium-roman-serif-vari/05e0.png
new file mode 100644
index 0000000..74b2d9e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05e0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05e1.png b/graphics/font/century_school-medium-roman-serif-vari/05e1.png
new file mode 100644
index 0000000..70ef4c4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05e1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05e2.png b/graphics/font/century_school-medium-roman-serif-vari/05e2.png
new file mode 100644
index 0000000..4f2fe3f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05e2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05e3.png b/graphics/font/century_school-medium-roman-serif-vari/05e3.png
new file mode 100644
index 0000000..4b87fa3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05e3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05e4.png b/graphics/font/century_school-medium-roman-serif-vari/05e4.png
new file mode 100644
index 0000000..08fac7b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05e4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05e5.png b/graphics/font/century_school-medium-roman-serif-vari/05e5.png
new file mode 100644
index 0000000..68d3718
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05e5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05e6.png b/graphics/font/century_school-medium-roman-serif-vari/05e6.png
new file mode 100644
index 0000000..64a363b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05e6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05e7.png b/graphics/font/century_school-medium-roman-serif-vari/05e7.png
new file mode 100644
index 0000000..5cd5372
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05e7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05e8.png b/graphics/font/century_school-medium-roman-serif-vari/05e8.png
new file mode 100644
index 0000000..be52621
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05e8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05e9.png b/graphics/font/century_school-medium-roman-serif-vari/05e9.png
new file mode 100644
index 0000000..51d4eb3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05e9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/05ea.png b/graphics/font/century_school-medium-roman-serif-vari/05ea.png
new file mode 100644
index 0000000..0fc8c11
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/05ea.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0604.png b/graphics/font/century_school-medium-roman-serif-vari/0604.png
new file mode 100644
index 0000000..d08105a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0604.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/060c.png b/graphics/font/century_school-medium-roman-serif-vari/060c.png
new file mode 100644
index 0000000..e9ba4ce
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/060c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/061b.png b/graphics/font/century_school-medium-roman-serif-vari/061b.png
new file mode 100644
index 0000000..233d58b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/061b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/061f.png b/graphics/font/century_school-medium-roman-serif-vari/061f.png
new file mode 100644
index 0000000..8362f66
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/061f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0621.png b/graphics/font/century_school-medium-roman-serif-vari/0621.png
new file mode 100644
index 0000000..8fb076b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0621.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0622.png b/graphics/font/century_school-medium-roman-serif-vari/0622.png
new file mode 100644
index 0000000..b4c2976
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0622.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0623.png b/graphics/font/century_school-medium-roman-serif-vari/0623.png
new file mode 100644
index 0000000..cbb7e96
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0623.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0624.png b/graphics/font/century_school-medium-roman-serif-vari/0624.png
new file mode 100644
index 0000000..69ca936
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0624.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0625.png b/graphics/font/century_school-medium-roman-serif-vari/0625.png
new file mode 100644
index 0000000..cae04b2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0625.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0626.png b/graphics/font/century_school-medium-roman-serif-vari/0626.png
new file mode 100644
index 0000000..08b9da3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0626.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0627.png b/graphics/font/century_school-medium-roman-serif-vari/0627.png
new file mode 100644
index 0000000..3ad54ea
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0627.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0628.png b/graphics/font/century_school-medium-roman-serif-vari/0628.png
new file mode 100644
index 0000000..78583e3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0628.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/062a.png b/graphics/font/century_school-medium-roman-serif-vari/062a.png
new file mode 100644
index 0000000..395661f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/062a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/062b.png b/graphics/font/century_school-medium-roman-serif-vari/062b.png
new file mode 100644
index 0000000..5026aae
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/062b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/062c.png b/graphics/font/century_school-medium-roman-serif-vari/062c.png
new file mode 100644
index 0000000..345e1f8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/062c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/062d.png b/graphics/font/century_school-medium-roman-serif-vari/062d.png
new file mode 100644
index 0000000..f4652ce
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/062d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/062e.png b/graphics/font/century_school-medium-roman-serif-vari/062e.png
new file mode 100644
index 0000000..9e4f5c7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/062e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/062f.png b/graphics/font/century_school-medium-roman-serif-vari/062f.png
new file mode 100644
index 0000000..1f36bed
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/062f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0630.png b/graphics/font/century_school-medium-roman-serif-vari/0630.png
new file mode 100644
index 0000000..b2f9b4b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0630.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0631.png b/graphics/font/century_school-medium-roman-serif-vari/0631.png
new file mode 100644
index 0000000..1653949
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0631.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0632.png b/graphics/font/century_school-medium-roman-serif-vari/0632.png
new file mode 100644
index 0000000..4ec48f5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0632.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0633.png b/graphics/font/century_school-medium-roman-serif-vari/0633.png
new file mode 100644
index 0000000..ac1f89b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0633.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0634.png b/graphics/font/century_school-medium-roman-serif-vari/0634.png
new file mode 100644
index 0000000..fb5f898
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0634.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0635.png b/graphics/font/century_school-medium-roman-serif-vari/0635.png
new file mode 100644
index 0000000..d169cc3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0635.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0636.png b/graphics/font/century_school-medium-roman-serif-vari/0636.png
new file mode 100644
index 0000000..69fb2c0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0636.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0637.png b/graphics/font/century_school-medium-roman-serif-vari/0637.png
new file mode 100644
index 0000000..ccc3113
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0637.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0638.png b/graphics/font/century_school-medium-roman-serif-vari/0638.png
new file mode 100644
index 0000000..d203bf2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0638.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0639.png b/graphics/font/century_school-medium-roman-serif-vari/0639.png
new file mode 100644
index 0000000..c1c0a1f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0639.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/063a.png b/graphics/font/century_school-medium-roman-serif-vari/063a.png
new file mode 100644
index 0000000..b0cf033
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/063a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0640.png b/graphics/font/century_school-medium-roman-serif-vari/0640.png
new file mode 100644
index 0000000..7fbd45b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0640.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0641.png b/graphics/font/century_school-medium-roman-serif-vari/0641.png
new file mode 100644
index 0000000..9b9b6f8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0641.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0642.png b/graphics/font/century_school-medium-roman-serif-vari/0642.png
new file mode 100644
index 0000000..bdba82d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0642.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0643.png b/graphics/font/century_school-medium-roman-serif-vari/0643.png
new file mode 100644
index 0000000..461362e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0643.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0644.png b/graphics/font/century_school-medium-roman-serif-vari/0644.png
new file mode 100644
index 0000000..52657c6
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0644.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0645.png b/graphics/font/century_school-medium-roman-serif-vari/0645.png
new file mode 100644
index 0000000..80f6ba9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0645.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0646.png b/graphics/font/century_school-medium-roman-serif-vari/0646.png
new file mode 100644
index 0000000..40f4d17
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0646.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0647.png b/graphics/font/century_school-medium-roman-serif-vari/0647.png
new file mode 100644
index 0000000..d09c176
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0647.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0648.png b/graphics/font/century_school-medium-roman-serif-vari/0648.png
new file mode 100644
index 0000000..e207309
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0648.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0649.png b/graphics/font/century_school-medium-roman-serif-vari/0649.png
new file mode 100644
index 0000000..2047c74
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0649.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/064a.png b/graphics/font/century_school-medium-roman-serif-vari/064a.png
new file mode 100644
index 0000000..b57a850
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/064a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/064b.png b/graphics/font/century_school-medium-roman-serif-vari/064b.png
new file mode 100644
index 0000000..284f81a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/064b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/064c.png b/graphics/font/century_school-medium-roman-serif-vari/064c.png
new file mode 100644
index 0000000..cf7a4d0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/064c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/064d.png b/graphics/font/century_school-medium-roman-serif-vari/064d.png
new file mode 100644
index 0000000..57a71f5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/064d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/064e.png b/graphics/font/century_school-medium-roman-serif-vari/064e.png
new file mode 100644
index 0000000..d1cab43
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/064e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/064f.png b/graphics/font/century_school-medium-roman-serif-vari/064f.png
new file mode 100644
index 0000000..94cdddd
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/064f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0650.png b/graphics/font/century_school-medium-roman-serif-vari/0650.png
new file mode 100644
index 0000000..703391f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0650.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0651.png b/graphics/font/century_school-medium-roman-serif-vari/0651.png
new file mode 100644
index 0000000..3820fcb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0651.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0652.png b/graphics/font/century_school-medium-roman-serif-vari/0652.png
new file mode 100644
index 0000000..8cf2e41
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0652.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0660.png b/graphics/font/century_school-medium-roman-serif-vari/0660.png
new file mode 100644
index 0000000..c91ecdf
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0660.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0661.png b/graphics/font/century_school-medium-roman-serif-vari/0661.png
new file mode 100644
index 0000000..ad9815c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0661.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0662.png b/graphics/font/century_school-medium-roman-serif-vari/0662.png
new file mode 100644
index 0000000..957d774
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0662.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0663.png b/graphics/font/century_school-medium-roman-serif-vari/0663.png
new file mode 100644
index 0000000..7bec5c4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0663.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0664.png b/graphics/font/century_school-medium-roman-serif-vari/0664.png
new file mode 100644
index 0000000..b73b74f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0664.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0665.png b/graphics/font/century_school-medium-roman-serif-vari/0665.png
new file mode 100644
index 0000000..73b3e76
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0665.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0666.png b/graphics/font/century_school-medium-roman-serif-vari/0666.png
new file mode 100644
index 0000000..a91c6c8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0666.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0667.png b/graphics/font/century_school-medium-roman-serif-vari/0667.png
new file mode 100644
index 0000000..2c76477
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0667.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0668.png b/graphics/font/century_school-medium-roman-serif-vari/0668.png
new file mode 100644
index 0000000..a5ebf6b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0668.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0669.png b/graphics/font/century_school-medium-roman-serif-vari/0669.png
new file mode 100644
index 0000000..c6d1def
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0669.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/066a.png b/graphics/font/century_school-medium-roman-serif-vari/066a.png
new file mode 100644
index 0000000..af4d317
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/066a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/066c.png b/graphics/font/century_school-medium-roman-serif-vari/066c.png
new file mode 100644
index 0000000..fdd177b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/066c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/066d.png b/graphics/font/century_school-medium-roman-serif-vari/066d.png
new file mode 100644
index 0000000..e400341
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/066d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0670.png b/graphics/font/century_school-medium-roman-serif-vari/0670.png
new file mode 100644
index 0000000..08acb29
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0670.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0671.png b/graphics/font/century_school-medium-roman-serif-vari/0671.png
new file mode 100644
index 0000000..edbd195
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0671.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0674.png b/graphics/font/century_school-medium-roman-serif-vari/0674.png
new file mode 100644
index 0000000..01a8bcf
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0674.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0686.png b/graphics/font/century_school-medium-roman-serif-vari/0686.png
new file mode 100644
index 0000000..93cea25
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0686.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/068d.png b/graphics/font/century_school-medium-roman-serif-vari/068d.png
new file mode 100644
index 0000000..3072527
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/068d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/0698.png b/graphics/font/century_school-medium-roman-serif-vari/0698.png
new file mode 100644
index 0000000..72cc016
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/0698.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06a9.png b/graphics/font/century_school-medium-roman-serif-vari/06a9.png
new file mode 100644
index 0000000..c56f70d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06a9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06af.png b/graphics/font/century_school-medium-roman-serif-vari/06af.png
new file mode 100644
index 0000000..f465a82
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06af.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06be.png b/graphics/font/century_school-medium-roman-serif-vari/06be.png
new file mode 100644
index 0000000..d09c176
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06be.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06c2.png b/graphics/font/century_school-medium-roman-serif-vari/06c2.png
new file mode 100644
index 0000000..e39c3ae
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06c2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06c3.png b/graphics/font/century_school-medium-roman-serif-vari/06c3.png
new file mode 100644
index 0000000..dc35e30
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06c3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06cc.png b/graphics/font/century_school-medium-roman-serif-vari/06cc.png
new file mode 100644
index 0000000..73df0f4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06cc.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06d5.png b/graphics/font/century_school-medium-roman-serif-vari/06d5.png
new file mode 100644
index 0000000..9fc68e3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06d5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06d9.png b/graphics/font/century_school-medium-roman-serif-vari/06d9.png
new file mode 100644
index 0000000..4e060fe
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06d9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06f0.png b/graphics/font/century_school-medium-roman-serif-vari/06f0.png
new file mode 100644
index 0000000..c529522
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06f0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06f1.png b/graphics/font/century_school-medium-roman-serif-vari/06f1.png
new file mode 100644
index 0000000..9fb96ed
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06f1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06f2.png b/graphics/font/century_school-medium-roman-serif-vari/06f2.png
new file mode 100644
index 0000000..ae1c893
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06f2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06f3.png b/graphics/font/century_school-medium-roman-serif-vari/06f3.png
new file mode 100644
index 0000000..3e27a39
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06f3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06f4.png b/graphics/font/century_school-medium-roman-serif-vari/06f4.png
new file mode 100644
index 0000000..d6a3b73
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06f4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06f5.png b/graphics/font/century_school-medium-roman-serif-vari/06f5.png
new file mode 100644
index 0000000..eed295c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06f5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06f6.png b/graphics/font/century_school-medium-roman-serif-vari/06f6.png
new file mode 100644
index 0000000..abb32be
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06f6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06f7.png b/graphics/font/century_school-medium-roman-serif-vari/06f7.png
new file mode 100644
index 0000000..e559664
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06f7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06f8.png b/graphics/font/century_school-medium-roman-serif-vari/06f8.png
new file mode 100644
index 0000000..c2a1fad
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06f8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/06f9.png b/graphics/font/century_school-medium-roman-serif-vari/06f9.png
new file mode 100644
index 0000000..9cb4acb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/06f9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f00.png b/graphics/font/century_school-medium-roman-serif-vari/1f00.png
new file mode 100644
index 0000000..b12386b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f00.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f01.png b/graphics/font/century_school-medium-roman-serif-vari/1f01.png
new file mode 100644
index 0000000..d8fbb91
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f01.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f02.png b/graphics/font/century_school-medium-roman-serif-vari/1f02.png
new file mode 100644
index 0000000..a16fa0d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f02.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f03.png b/graphics/font/century_school-medium-roman-serif-vari/1f03.png
new file mode 100644
index 0000000..423bc6f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f03.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f04.png b/graphics/font/century_school-medium-roman-serif-vari/1f04.png
new file mode 100644
index 0000000..040d976
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f04.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f05.png b/graphics/font/century_school-medium-roman-serif-vari/1f05.png
new file mode 100644
index 0000000..9732a3b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f05.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f10.png b/graphics/font/century_school-medium-roman-serif-vari/1f10.png
new file mode 100644
index 0000000..28e244e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f10.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f11.png b/graphics/font/century_school-medium-roman-serif-vari/1f11.png
new file mode 100644
index 0000000..51051b8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f11.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f12.png b/graphics/font/century_school-medium-roman-serif-vari/1f12.png
new file mode 100644
index 0000000..d9e8b2d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f12.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f13.png b/graphics/font/century_school-medium-roman-serif-vari/1f13.png
new file mode 100644
index 0000000..b93fdc8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f13.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f14.png b/graphics/font/century_school-medium-roman-serif-vari/1f14.png
new file mode 100644
index 0000000..1658944
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f14.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f15.png b/graphics/font/century_school-medium-roman-serif-vari/1f15.png
new file mode 100644
index 0000000..69c1937
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f15.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f20.png b/graphics/font/century_school-medium-roman-serif-vari/1f20.png
new file mode 100644
index 0000000..647a6b4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f20.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f21.png b/graphics/font/century_school-medium-roman-serif-vari/1f21.png
new file mode 100644
index 0000000..0a826c7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f21.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f22.png b/graphics/font/century_school-medium-roman-serif-vari/1f22.png
new file mode 100644
index 0000000..97d88ae
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f22.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f23.png b/graphics/font/century_school-medium-roman-serif-vari/1f23.png
new file mode 100644
index 0000000..100957c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f23.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f24.png b/graphics/font/century_school-medium-roman-serif-vari/1f24.png
new file mode 100644
index 0000000..2e62ae1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f24.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f25.png b/graphics/font/century_school-medium-roman-serif-vari/1f25.png
new file mode 100644
index 0000000..5c86a47
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f25.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f30.png b/graphics/font/century_school-medium-roman-serif-vari/1f30.png
new file mode 100644
index 0000000..7d584b3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f30.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f31.png b/graphics/font/century_school-medium-roman-serif-vari/1f31.png
new file mode 100644
index 0000000..9bdcb55
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f31.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f32.png b/graphics/font/century_school-medium-roman-serif-vari/1f32.png
new file mode 100644
index 0000000..9a4cd19
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f32.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f33.png b/graphics/font/century_school-medium-roman-serif-vari/1f33.png
new file mode 100644
index 0000000..9349056
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f33.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f34.png b/graphics/font/century_school-medium-roman-serif-vari/1f34.png
new file mode 100644
index 0000000..a09bdb1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f34.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f35.png b/graphics/font/century_school-medium-roman-serif-vari/1f35.png
new file mode 100644
index 0000000..8d2db87
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f35.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f40.png b/graphics/font/century_school-medium-roman-serif-vari/1f40.png
new file mode 100644
index 0000000..c76ece2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f40.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f41.png b/graphics/font/century_school-medium-roman-serif-vari/1f41.png
new file mode 100644
index 0000000..8f949ed
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f41.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f42.png b/graphics/font/century_school-medium-roman-serif-vari/1f42.png
new file mode 100644
index 0000000..46c1dd1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f42.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f43.png b/graphics/font/century_school-medium-roman-serif-vari/1f43.png
new file mode 100644
index 0000000..f154119
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f43.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f44.png b/graphics/font/century_school-medium-roman-serif-vari/1f44.png
new file mode 100644
index 0000000..e5c4c62
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f44.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f45.png b/graphics/font/century_school-medium-roman-serif-vari/1f45.png
new file mode 100644
index 0000000..fc92037
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f45.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f50.png b/graphics/font/century_school-medium-roman-serif-vari/1f50.png
new file mode 100644
index 0000000..f816d14
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f50.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f51.png b/graphics/font/century_school-medium-roman-serif-vari/1f51.png
new file mode 100644
index 0000000..496b899
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f51.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f52.png b/graphics/font/century_school-medium-roman-serif-vari/1f52.png
new file mode 100644
index 0000000..5d61ff3
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f52.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f53.png b/graphics/font/century_school-medium-roman-serif-vari/1f53.png
new file mode 100644
index 0000000..d22e9ac
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f53.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f54.png b/graphics/font/century_school-medium-roman-serif-vari/1f54.png
new file mode 100644
index 0000000..e7a09a7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f54.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f55.png b/graphics/font/century_school-medium-roman-serif-vari/1f55.png
new file mode 100644
index 0000000..1186010
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f55.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f60.png b/graphics/font/century_school-medium-roman-serif-vari/1f60.png
new file mode 100644
index 0000000..6b46ebb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f60.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f61.png b/graphics/font/century_school-medium-roman-serif-vari/1f61.png
new file mode 100644
index 0000000..a956710
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f61.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f62.png b/graphics/font/century_school-medium-roman-serif-vari/1f62.png
new file mode 100644
index 0000000..de9143e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f62.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f63.png b/graphics/font/century_school-medium-roman-serif-vari/1f63.png
new file mode 100644
index 0000000..009398e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f63.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f64.png b/graphics/font/century_school-medium-roman-serif-vari/1f64.png
new file mode 100644
index 0000000..fe84d58
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f64.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f65.png b/graphics/font/century_school-medium-roman-serif-vari/1f65.png
new file mode 100644
index 0000000..a143b0d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f65.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f70.png b/graphics/font/century_school-medium-roman-serif-vari/1f70.png
new file mode 100644
index 0000000..b8710ce
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f70.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f71.png b/graphics/font/century_school-medium-roman-serif-vari/1f71.png
new file mode 100644
index 0000000..6fbc998
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f71.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f72.png b/graphics/font/century_school-medium-roman-serif-vari/1f72.png
new file mode 100644
index 0000000..0db8ab1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f72.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f73.png b/graphics/font/century_school-medium-roman-serif-vari/1f73.png
new file mode 100644
index 0000000..f37a7f7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f73.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f74.png b/graphics/font/century_school-medium-roman-serif-vari/1f74.png
new file mode 100644
index 0000000..d1c5233
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f74.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f75.png b/graphics/font/century_school-medium-roman-serif-vari/1f75.png
new file mode 100644
index 0000000..4635040
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f75.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f76.png b/graphics/font/century_school-medium-roman-serif-vari/1f76.png
new file mode 100644
index 0000000..46ac81a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f76.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f77.png b/graphics/font/century_school-medium-roman-serif-vari/1f77.png
new file mode 100644
index 0000000..d348cd1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f77.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f78.png b/graphics/font/century_school-medium-roman-serif-vari/1f78.png
new file mode 100644
index 0000000..4be7657
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f78.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f79.png b/graphics/font/century_school-medium-roman-serif-vari/1f79.png
new file mode 100644
index 0000000..89f8645
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f79.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f7a.png b/graphics/font/century_school-medium-roman-serif-vari/1f7a.png
new file mode 100644
index 0000000..51ed290
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f7a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f7b.png b/graphics/font/century_school-medium-roman-serif-vari/1f7b.png
new file mode 100644
index 0000000..95bf08f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f7b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f7c.png b/graphics/font/century_school-medium-roman-serif-vari/1f7c.png
new file mode 100644
index 0000000..f2b4c47
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f7c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1f7d.png b/graphics/font/century_school-medium-roman-serif-vari/1f7d.png
new file mode 100644
index 0000000..a738567
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1f7d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1fd3.png b/graphics/font/century_school-medium-roman-serif-vari/1fd3.png
new file mode 100644
index 0000000..cc02f70
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1fd3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/1fe3.png b/graphics/font/century_school-medium-roman-serif-vari/1fe3.png
new file mode 100644
index 0000000..7177b49
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/1fe3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2013.png b/graphics/font/century_school-medium-roman-serif-vari/2013.png
new file mode 100644
index 0000000..89f7e8a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2013.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2014.png b/graphics/font/century_school-medium-roman-serif-vari/2014.png
new file mode 100644
index 0000000..0c31206
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2014.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2018.png b/graphics/font/century_school-medium-roman-serif-vari/2018.png
new file mode 100644
index 0000000..80fb1d5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2018.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2019.png b/graphics/font/century_school-medium-roman-serif-vari/2019.png
new file mode 100644
index 0000000..ba8af4f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2019.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/201a.png b/graphics/font/century_school-medium-roman-serif-vari/201a.png
new file mode 100644
index 0000000..3301c02
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/201a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/201b.png b/graphics/font/century_school-medium-roman-serif-vari/201b.png
new file mode 100644
index 0000000..d67fb20
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/201b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/201c.png b/graphics/font/century_school-medium-roman-serif-vari/201c.png
new file mode 100644
index 0000000..6ef3df1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/201c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/201d.png b/graphics/font/century_school-medium-roman-serif-vari/201d.png
new file mode 100644
index 0000000..5a4781f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/201d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/201e.png b/graphics/font/century_school-medium-roman-serif-vari/201e.png
new file mode 100644
index 0000000..f1ea105
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/201e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/201f.png b/graphics/font/century_school-medium-roman-serif-vari/201f.png
new file mode 100644
index 0000000..6f4303f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/201f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2020.png b/graphics/font/century_school-medium-roman-serif-vari/2020.png
new file mode 100644
index 0000000..98786a8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2020.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2021.png b/graphics/font/century_school-medium-roman-serif-vari/2021.png
new file mode 100644
index 0000000..a53980c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2021.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2022.png b/graphics/font/century_school-medium-roman-serif-vari/2022.png
new file mode 100644
index 0000000..dcfd776
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2022.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2026.png b/graphics/font/century_school-medium-roman-serif-vari/2026.png
new file mode 100644
index 0000000..390856a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2026.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2030.png b/graphics/font/century_school-medium-roman-serif-vari/2030.png
new file mode 100644
index 0000000..bf3f688
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2030.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2039.png b/graphics/font/century_school-medium-roman-serif-vari/2039.png
new file mode 100644
index 0000000..9400d5f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2039.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/203a.png b/graphics/font/century_school-medium-roman-serif-vari/203a.png
new file mode 100644
index 0000000..039c9e8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/203a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2062.png b/graphics/font/century_school-medium-roman-serif-vari/2062.png
new file mode 100644
index 0000000..2fdf151
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2062.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/20ac.png b/graphics/font/century_school-medium-roman-serif-vari/20ac.png
new file mode 100644
index 0000000..baa008a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/20ac.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/20e8.png b/graphics/font/century_school-medium-roman-serif-vari/20e8.png
new file mode 100644
index 0000000..60c5393
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/20e8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2103.png b/graphics/font/century_school-medium-roman-serif-vari/2103.png
new file mode 100644
index 0000000..28db297
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2103.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2109.png b/graphics/font/century_school-medium-roman-serif-vari/2109.png
new file mode 100644
index 0000000..a8545c2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2109.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2116.png b/graphics/font/century_school-medium-roman-serif-vari/2116.png
new file mode 100644
index 0000000..39cf786
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2116.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2120.png b/graphics/font/century_school-medium-roman-serif-vari/2120.png
new file mode 100644
index 0000000..1d6bb57
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2120.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2122.png b/graphics/font/century_school-medium-roman-serif-vari/2122.png
new file mode 100644
index 0000000..351fcc5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2122.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/21d1.png b/graphics/font/century_school-medium-roman-serif-vari/21d1.png
new file mode 100644
index 0000000..e597bbb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/21d1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/21d2.png b/graphics/font/century_school-medium-roman-serif-vari/21d2.png
new file mode 100644
index 0000000..1a567c9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/21d2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/21d3.png b/graphics/font/century_school-medium-roman-serif-vari/21d3.png
new file mode 100644
index 0000000..30a1271
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/21d3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2200.png b/graphics/font/century_school-medium-roman-serif-vari/2200.png
new file mode 100644
index 0000000..d954db0
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2200.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2202.png b/graphics/font/century_school-medium-roman-serif-vari/2202.png
new file mode 100644
index 0000000..e1c5cc2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2202.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2203.png b/graphics/font/century_school-medium-roman-serif-vari/2203.png
new file mode 100644
index 0000000..3110322
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2203.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2205.png b/graphics/font/century_school-medium-roman-serif-vari/2205.png
new file mode 100644
index 0000000..edfe9d8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2205.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2206.png b/graphics/font/century_school-medium-roman-serif-vari/2206.png
new file mode 100644
index 0000000..9fe3000
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2206.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2207.png b/graphics/font/century_school-medium-roman-serif-vari/2207.png
new file mode 100644
index 0000000..8bbd1e2
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2207.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2209.png b/graphics/font/century_school-medium-roman-serif-vari/2209.png
new file mode 100644
index 0000000..5626bff
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2209.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/220a.png b/graphics/font/century_school-medium-roman-serif-vari/220a.png
new file mode 100644
index 0000000..788bc01
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/220a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/220d.png b/graphics/font/century_school-medium-roman-serif-vari/220d.png
new file mode 100644
index 0000000..ef374fa
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/220d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/220f.png b/graphics/font/century_school-medium-roman-serif-vari/220f.png
new file mode 100644
index 0000000..41813c1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/220f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2211.png b/graphics/font/century_school-medium-roman-serif-vari/2211.png
new file mode 100644
index 0000000..46cfd49
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2211.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2215.png b/graphics/font/century_school-medium-roman-serif-vari/2215.png
new file mode 100644
index 0000000..55a1a5e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2215.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2219.png b/graphics/font/century_school-medium-roman-serif-vari/2219.png
new file mode 100644
index 0000000..4647c9f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2219.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/221a.png b/graphics/font/century_school-medium-roman-serif-vari/221a.png
new file mode 100644
index 0000000..4dd6f53
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/221a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/221d.png b/graphics/font/century_school-medium-roman-serif-vari/221d.png
new file mode 100644
index 0000000..6efa6ce
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/221d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/221e.png b/graphics/font/century_school-medium-roman-serif-vari/221e.png
new file mode 100644
index 0000000..e259e18
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/221e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2220.png b/graphics/font/century_school-medium-roman-serif-vari/2220.png
new file mode 100644
index 0000000..63fa722
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2220.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2223.png b/graphics/font/century_school-medium-roman-serif-vari/2223.png
new file mode 100644
index 0000000..4a5ec61
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2223.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2227.png b/graphics/font/century_school-medium-roman-serif-vari/2227.png
new file mode 100644
index 0000000..4ee8f17
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2227.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2228.png b/graphics/font/century_school-medium-roman-serif-vari/2228.png
new file mode 100644
index 0000000..e717f2e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2228.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/222b.png b/graphics/font/century_school-medium-roman-serif-vari/222b.png
new file mode 100644
index 0000000..4e4a025
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/222b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2234.png b/graphics/font/century_school-medium-roman-serif-vari/2234.png
new file mode 100644
index 0000000..f643ef1
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2234.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2245.png b/graphics/font/century_school-medium-roman-serif-vari/2245.png
new file mode 100644
index 0000000..1e787c5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2245.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2248.png b/graphics/font/century_school-medium-roman-serif-vari/2248.png
new file mode 100644
index 0000000..2c84823
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2248.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2260.png b/graphics/font/century_school-medium-roman-serif-vari/2260.png
new file mode 100644
index 0000000..ceb12dc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2260.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2261.png b/graphics/font/century_school-medium-roman-serif-vari/2261.png
new file mode 100644
index 0000000..a394f9e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2261.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2264.png b/graphics/font/century_school-medium-roman-serif-vari/2264.png
new file mode 100644
index 0000000..1a4065a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2264.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2265.png b/graphics/font/century_school-medium-roman-serif-vari/2265.png
new file mode 100644
index 0000000..e9c6c1f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2265.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2282.png b/graphics/font/century_school-medium-roman-serif-vari/2282.png
new file mode 100644
index 0000000..40acc15
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2282.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2283.png b/graphics/font/century_school-medium-roman-serif-vari/2283.png
new file mode 100644
index 0000000..2284f51
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2283.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2284.png b/graphics/font/century_school-medium-roman-serif-vari/2284.png
new file mode 100644
index 0000000..cc462cb
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2284.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2286.png b/graphics/font/century_school-medium-roman-serif-vari/2286.png
new file mode 100644
index 0000000..238bce4
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2286.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2287.png b/graphics/font/century_school-medium-roman-serif-vari/2287.png
new file mode 100644
index 0000000..192702f
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2287.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2295.png b/graphics/font/century_school-medium-roman-serif-vari/2295.png
new file mode 100644
index 0000000..d355286
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2295.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2297.png b/graphics/font/century_school-medium-roman-serif-vari/2297.png
new file mode 100644
index 0000000..1f2e3c9
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2297.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/22a5.png b/graphics/font/century_school-medium-roman-serif-vari/22a5.png
new file mode 100644
index 0000000..a2be35a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/22a5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/22c0.png b/graphics/font/century_school-medium-roman-serif-vari/22c0.png
new file mode 100644
index 0000000..4ee8f17
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/22c0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/22c1.png b/graphics/font/century_school-medium-roman-serif-vari/22c1.png
new file mode 100644
index 0000000..e717f2e
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/22c1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/22c2.png b/graphics/font/century_school-medium-roman-serif-vari/22c2.png
new file mode 100644
index 0000000..ca694c7
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/22c2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/22c3.png b/graphics/font/century_school-medium-roman-serif-vari/22c3.png
new file mode 100644
index 0000000..c6b2502
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/22c3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2300.png b/graphics/font/century_school-medium-roman-serif-vari/2300.png
new file mode 100644
index 0000000..edfe9d8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2300.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2329.png b/graphics/font/century_school-medium-roman-serif-vari/2329.png
new file mode 100644
index 0000000..b3ac921
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2329.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/232a.png b/graphics/font/century_school-medium-roman-serif-vari/232a.png
new file mode 100644
index 0000000..34fc228
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/232a.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/239b.png b/graphics/font/century_school-medium-roman-serif-vari/239b.png
new file mode 100644
index 0000000..a4e756a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/239b.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/239c.png b/graphics/font/century_school-medium-roman-serif-vari/239c.png
new file mode 100644
index 0000000..c863fe5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/239c.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/239d.png b/graphics/font/century_school-medium-roman-serif-vari/239d.png
new file mode 100644
index 0000000..c819a69
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/239d.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/239e.png b/graphics/font/century_school-medium-roman-serif-vari/239e.png
new file mode 100644
index 0000000..f1f72ca
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/239e.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/239f.png b/graphics/font/century_school-medium-roman-serif-vari/239f.png
new file mode 100644
index 0000000..43dbeea
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/239f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23a0.png b/graphics/font/century_school-medium-roman-serif-vari/23a0.png
new file mode 100644
index 0000000..47c05e5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23a0.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23a1.png b/graphics/font/century_school-medium-roman-serif-vari/23a1.png
new file mode 100644
index 0000000..0d33892
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23a1.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23a2.png b/graphics/font/century_school-medium-roman-serif-vari/23a2.png
new file mode 100644
index 0000000..938bddf
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23a2.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23a3.png b/graphics/font/century_school-medium-roman-serif-vari/23a3.png
new file mode 100644
index 0000000..f77481b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23a3.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23a4.png b/graphics/font/century_school-medium-roman-serif-vari/23a4.png
new file mode 100644
index 0000000..1850ae5
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23a4.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23a5.png b/graphics/font/century_school-medium-roman-serif-vari/23a5.png
new file mode 100644
index 0000000..e990432
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23a5.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23a6.png b/graphics/font/century_school-medium-roman-serif-vari/23a6.png
new file mode 100644
index 0000000..07d9d99
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23a6.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23a7.png b/graphics/font/century_school-medium-roman-serif-vari/23a7.png
new file mode 100644
index 0000000..e09607d
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23a7.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23a8.png b/graphics/font/century_school-medium-roman-serif-vari/23a8.png
new file mode 100644
index 0000000..43ea42b
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23a8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23a9.png b/graphics/font/century_school-medium-roman-serif-vari/23a9.png
new file mode 100644
index 0000000..c73b2ed
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23a9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23aa.png b/graphics/font/century_school-medium-roman-serif-vari/23aa.png
new file mode 100644
index 0000000..749fa64
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23aa.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23ab.png b/graphics/font/century_school-medium-roman-serif-vari/23ab.png
new file mode 100644
index 0000000..9ba5c7c
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23ab.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23ac.png b/graphics/font/century_school-medium-roman-serif-vari/23ac.png
new file mode 100644
index 0000000..3412e42
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23ac.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/23ad.png b/graphics/font/century_school-medium-roman-serif-vari/23ad.png
new file mode 100644
index 0000000..1b6e2bd
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/23ad.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2622.png b/graphics/font/century_school-medium-roman-serif-vari/2622.png
new file mode 100644
index 0000000..7c9da7a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2622.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/27e9.png b/graphics/font/century_school-medium-roman-serif-vari/27e9.png
new file mode 100644
index 0000000..34fc228
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/27e9.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/27f8.png b/graphics/font/century_school-medium-roman-serif-vari/27f8.png
new file mode 100644
index 0000000..ee8ddba
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/27f8.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/27fa.png b/graphics/font/century_school-medium-roman-serif-vari/27fa.png
new file mode 100644
index 0000000..1be301a
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/27fa.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/2981.png b/graphics/font/century_school-medium-roman-serif-vari/2981.png
new file mode 100644
index 0000000..a13b843
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/2981.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/299f.png b/graphics/font/century_school-medium-roman-serif-vari/299f.png
new file mode 100644
index 0000000..63fa722
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/299f.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/aliases b/graphics/font/century_school-medium-roman-serif-vari/aliases
new file mode 100644
index 0000000..a4110f8
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/aliases
@@ -0,0 +1,5 @@
+new_century_school
+century_school_book
+new_century_school_book
+century
+hebrew
diff --git a/graphics/font/century_school-medium-roman-serif-vari/fb01.png b/graphics/font/century_school-medium-roman-serif-vari/fb01.png
new file mode 100644
index 0000000..a3ed1bc
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/fb01.png
Binary files differ
diff --git a/graphics/font/century_school-medium-roman-serif-vari/fb02.png b/graphics/font/century_school-medium-roman-serif-vari/fb02.png
new file mode 100644
index 0000000..170b8be
--- /dev/null
+++ b/graphics/font/century_school-medium-roman-serif-vari/fb02.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0020.png b/graphics/font/courier-medium-roman-serif-mono/0020.png
new file mode 100644
index 0000000..0ba338a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0020.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0021.png b/graphics/font/courier-medium-roman-serif-mono/0021.png
new file mode 100644
index 0000000..ec561a6
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0021.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0022.png b/graphics/font/courier-medium-roman-serif-mono/0022.png
new file mode 100644
index 0000000..049682a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0022.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0023.png b/graphics/font/courier-medium-roman-serif-mono/0023.png
new file mode 100644
index 0000000..a5ed286
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0023.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0024.png b/graphics/font/courier-medium-roman-serif-mono/0024.png
new file mode 100644
index 0000000..065591e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0024.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0025.png b/graphics/font/courier-medium-roman-serif-mono/0025.png
new file mode 100644
index 0000000..ef5bf8a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0025.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0026.png b/graphics/font/courier-medium-roman-serif-mono/0026.png
new file mode 100644
index 0000000..b0e24b7
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0026.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0027.png b/graphics/font/courier-medium-roman-serif-mono/0027.png
new file mode 100644
index 0000000..780716c
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0027.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0028.png b/graphics/font/courier-medium-roman-serif-mono/0028.png
new file mode 100644
index 0000000..53e4dc1
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0028.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0029.png b/graphics/font/courier-medium-roman-serif-mono/0029.png
new file mode 100644
index 0000000..18a2d62
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0029.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/002a.png b/graphics/font/courier-medium-roman-serif-mono/002a.png
new file mode 100644
index 0000000..5337225
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/002a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/002b.png b/graphics/font/courier-medium-roman-serif-mono/002b.png
new file mode 100644
index 0000000..b85b03c
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/002b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/002c.png b/graphics/font/courier-medium-roman-serif-mono/002c.png
new file mode 100644
index 0000000..366b1b6
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/002c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/002d.png b/graphics/font/courier-medium-roman-serif-mono/002d.png
new file mode 100644
index 0000000..9533a1e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/002d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/002e.png b/graphics/font/courier-medium-roman-serif-mono/002e.png
new file mode 100644
index 0000000..71a15a4
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/002e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/002f.png b/graphics/font/courier-medium-roman-serif-mono/002f.png
new file mode 100644
index 0000000..408b4c9
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/002f.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0030.png b/graphics/font/courier-medium-roman-serif-mono/0030.png
new file mode 100644
index 0000000..c8aa237
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0030.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0031.png b/graphics/font/courier-medium-roman-serif-mono/0031.png
new file mode 100644
index 0000000..893289b
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0031.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0032.png b/graphics/font/courier-medium-roman-serif-mono/0032.png
new file mode 100644
index 0000000..bc9f2ed
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0032.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0033.png b/graphics/font/courier-medium-roman-serif-mono/0033.png
new file mode 100644
index 0000000..f604d06
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0033.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0034.png b/graphics/font/courier-medium-roman-serif-mono/0034.png
new file mode 100644
index 0000000..6b37d73
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0034.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0035.png b/graphics/font/courier-medium-roman-serif-mono/0035.png
new file mode 100644
index 0000000..ce964b6
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0035.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0036.png b/graphics/font/courier-medium-roman-serif-mono/0036.png
new file mode 100644
index 0000000..1af9729
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0036.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0037.png b/graphics/font/courier-medium-roman-serif-mono/0037.png
new file mode 100644
index 0000000..0dd571d
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0037.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0038.png b/graphics/font/courier-medium-roman-serif-mono/0038.png
new file mode 100644
index 0000000..3d74e3e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0038.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0039.png b/graphics/font/courier-medium-roman-serif-mono/0039.png
new file mode 100644
index 0000000..493421e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0039.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/003a.png b/graphics/font/courier-medium-roman-serif-mono/003a.png
new file mode 100644
index 0000000..1c311b7
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/003a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/003b.png b/graphics/font/courier-medium-roman-serif-mono/003b.png
new file mode 100644
index 0000000..785e684
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/003b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/003c.png b/graphics/font/courier-medium-roman-serif-mono/003c.png
new file mode 100644
index 0000000..d3fa3e7
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/003c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/003d.png b/graphics/font/courier-medium-roman-serif-mono/003d.png
new file mode 100644
index 0000000..05e01f8
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/003d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/003e.png b/graphics/font/courier-medium-roman-serif-mono/003e.png
new file mode 100644
index 0000000..3b6eb4a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/003e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/003f.png b/graphics/font/courier-medium-roman-serif-mono/003f.png
new file mode 100644
index 0000000..c564c8e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/003f.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0040.png b/graphics/font/courier-medium-roman-serif-mono/0040.png
new file mode 100644
index 0000000..d550c61
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0040.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0041.png b/graphics/font/courier-medium-roman-serif-mono/0041.png
new file mode 100644
index 0000000..12680a1
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0041.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0042.png b/graphics/font/courier-medium-roman-serif-mono/0042.png
new file mode 100644
index 0000000..817de46
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0042.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0043.png b/graphics/font/courier-medium-roman-serif-mono/0043.png
new file mode 100644
index 0000000..a5b45de
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0043.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0044.png b/graphics/font/courier-medium-roman-serif-mono/0044.png
new file mode 100644
index 0000000..912e8fb
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0044.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0045.png b/graphics/font/courier-medium-roman-serif-mono/0045.png
new file mode 100644
index 0000000..09fa441
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0045.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0046.png b/graphics/font/courier-medium-roman-serif-mono/0046.png
new file mode 100644
index 0000000..c6499b9
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0046.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0047.png b/graphics/font/courier-medium-roman-serif-mono/0047.png
new file mode 100644
index 0000000..d11b92a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0047.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0048.png b/graphics/font/courier-medium-roman-serif-mono/0048.png
new file mode 100644
index 0000000..c56505f
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0048.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0049.png b/graphics/font/courier-medium-roman-serif-mono/0049.png
new file mode 100644
index 0000000..2271825
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0049.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/004a.png b/graphics/font/courier-medium-roman-serif-mono/004a.png
new file mode 100644
index 0000000..51ea102
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/004a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/004b.png b/graphics/font/courier-medium-roman-serif-mono/004b.png
new file mode 100644
index 0000000..2994f50
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/004b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/004c.png b/graphics/font/courier-medium-roman-serif-mono/004c.png
new file mode 100644
index 0000000..baa6bbe
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/004c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/004d.png b/graphics/font/courier-medium-roman-serif-mono/004d.png
new file mode 100644
index 0000000..f0d7f12
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/004d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/004e.png b/graphics/font/courier-medium-roman-serif-mono/004e.png
new file mode 100644
index 0000000..74cfaad
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/004e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/004f.png b/graphics/font/courier-medium-roman-serif-mono/004f.png
new file mode 100644
index 0000000..4e8bc4b
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/004f.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0050.png b/graphics/font/courier-medium-roman-serif-mono/0050.png
new file mode 100644
index 0000000..6383ac5
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0050.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0051.png b/graphics/font/courier-medium-roman-serif-mono/0051.png
new file mode 100644
index 0000000..b5262ad
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0051.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0052.png b/graphics/font/courier-medium-roman-serif-mono/0052.png
new file mode 100644
index 0000000..1dc0b5a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0052.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0053.png b/graphics/font/courier-medium-roman-serif-mono/0053.png
new file mode 100644
index 0000000..07beb1e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0053.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0054.png b/graphics/font/courier-medium-roman-serif-mono/0054.png
new file mode 100644
index 0000000..a2fbd45
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0054.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0055.png b/graphics/font/courier-medium-roman-serif-mono/0055.png
new file mode 100644
index 0000000..91c38c9
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0055.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0056.png b/graphics/font/courier-medium-roman-serif-mono/0056.png
new file mode 100644
index 0000000..0740cc8
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0056.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0057.png b/graphics/font/courier-medium-roman-serif-mono/0057.png
new file mode 100644
index 0000000..f54f077
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0057.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0058.png b/graphics/font/courier-medium-roman-serif-mono/0058.png
new file mode 100644
index 0000000..145c2a2
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0058.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0059.png b/graphics/font/courier-medium-roman-serif-mono/0059.png
new file mode 100644
index 0000000..f6cd49e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0059.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/005a.png b/graphics/font/courier-medium-roman-serif-mono/005a.png
new file mode 100644
index 0000000..7bf6ab0
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/005a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/005b.png b/graphics/font/courier-medium-roman-serif-mono/005b.png
new file mode 100644
index 0000000..ad1cc24
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/005b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/005c.png b/graphics/font/courier-medium-roman-serif-mono/005c.png
new file mode 100644
index 0000000..4e5703d
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/005c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/005d.png b/graphics/font/courier-medium-roman-serif-mono/005d.png
new file mode 100644
index 0000000..2488c54
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/005d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/005e.png b/graphics/font/courier-medium-roman-serif-mono/005e.png
new file mode 100644
index 0000000..8984ae1
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/005e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/005f.png b/graphics/font/courier-medium-roman-serif-mono/005f.png
new file mode 100644
index 0000000..785e79e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/005f.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0060.png b/graphics/font/courier-medium-roman-serif-mono/0060.png
new file mode 100644
index 0000000..30899c4
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0060.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0061.png b/graphics/font/courier-medium-roman-serif-mono/0061.png
new file mode 100644
index 0000000..a60aa33
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0061.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0062.png b/graphics/font/courier-medium-roman-serif-mono/0062.png
new file mode 100644
index 0000000..6fadf58
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0062.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0063.png b/graphics/font/courier-medium-roman-serif-mono/0063.png
new file mode 100644
index 0000000..fa7552a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0063.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0064.png b/graphics/font/courier-medium-roman-serif-mono/0064.png
new file mode 100644
index 0000000..8f0cdfa
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0064.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0065.png b/graphics/font/courier-medium-roman-serif-mono/0065.png
new file mode 100644
index 0000000..8c67ca5
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0065.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0066.png b/graphics/font/courier-medium-roman-serif-mono/0066.png
new file mode 100644
index 0000000..3610573
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0066.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0067.png b/graphics/font/courier-medium-roman-serif-mono/0067.png
new file mode 100644
index 0000000..3c0055c
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0067.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0068.png b/graphics/font/courier-medium-roman-serif-mono/0068.png
new file mode 100644
index 0000000..4f30d7e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0068.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0069.png b/graphics/font/courier-medium-roman-serif-mono/0069.png
new file mode 100644
index 0000000..1abf36a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0069.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/006a.png b/graphics/font/courier-medium-roman-serif-mono/006a.png
new file mode 100644
index 0000000..a751e29
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/006a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/006b.png b/graphics/font/courier-medium-roman-serif-mono/006b.png
new file mode 100644
index 0000000..ed605b4
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/006b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/006c.png b/graphics/font/courier-medium-roman-serif-mono/006c.png
new file mode 100644
index 0000000..d65ccc1
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/006c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/006d.png b/graphics/font/courier-medium-roman-serif-mono/006d.png
new file mode 100644
index 0000000..9106ae8
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/006d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/006e.png b/graphics/font/courier-medium-roman-serif-mono/006e.png
new file mode 100644
index 0000000..7585965
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/006e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/006f.png b/graphics/font/courier-medium-roman-serif-mono/006f.png
new file mode 100644
index 0000000..ac7ce0b
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/006f.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0070.png b/graphics/font/courier-medium-roman-serif-mono/0070.png
new file mode 100644
index 0000000..fe47773
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0070.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0071.png b/graphics/font/courier-medium-roman-serif-mono/0071.png
new file mode 100644
index 0000000..5c3426a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0071.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0072.png b/graphics/font/courier-medium-roman-serif-mono/0072.png
new file mode 100644
index 0000000..131228a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0072.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0073.png b/graphics/font/courier-medium-roman-serif-mono/0073.png
new file mode 100644
index 0000000..e51e1a5
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0073.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0074.png b/graphics/font/courier-medium-roman-serif-mono/0074.png
new file mode 100644
index 0000000..4ee103a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0074.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0075.png b/graphics/font/courier-medium-roman-serif-mono/0075.png
new file mode 100644
index 0000000..3ccd52f
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0075.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0076.png b/graphics/font/courier-medium-roman-serif-mono/0076.png
new file mode 100644
index 0000000..cb809b8
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0076.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0077.png b/graphics/font/courier-medium-roman-serif-mono/0077.png
new file mode 100644
index 0000000..b4db64e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0077.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0078.png b/graphics/font/courier-medium-roman-serif-mono/0078.png
new file mode 100644
index 0000000..60799c3
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0078.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0079.png b/graphics/font/courier-medium-roman-serif-mono/0079.png
new file mode 100644
index 0000000..f15ab87
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0079.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/007a.png b/graphics/font/courier-medium-roman-serif-mono/007a.png
new file mode 100644
index 0000000..c16c815
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/007a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/007b.png b/graphics/font/courier-medium-roman-serif-mono/007b.png
new file mode 100644
index 0000000..4d62507
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/007b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/007c.png b/graphics/font/courier-medium-roman-serif-mono/007c.png
new file mode 100644
index 0000000..e788e13
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/007c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/007d.png b/graphics/font/courier-medium-roman-serif-mono/007d.png
new file mode 100644
index 0000000..e0c2d9f
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/007d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/007e.png b/graphics/font/courier-medium-roman-serif-mono/007e.png
new file mode 100644
index 0000000..9e26b4f
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/007e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/007f.png b/graphics/font/courier-medium-roman-serif-mono/007f.png
new file mode 100644
index 0000000..75f8d00
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/007f.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00a0.png b/graphics/font/courier-medium-roman-serif-mono/00a0.png
new file mode 100644
index 0000000..0ba338a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00a0.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00a1.png b/graphics/font/courier-medium-roman-serif-mono/00a1.png
new file mode 100644
index 0000000..c4d4e0a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00a1.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00a2.png b/graphics/font/courier-medium-roman-serif-mono/00a2.png
new file mode 100644
index 0000000..caa1c50
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00a2.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00a3.png b/graphics/font/courier-medium-roman-serif-mono/00a3.png
new file mode 100644
index 0000000..d06c803
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00a3.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00a5.png b/graphics/font/courier-medium-roman-serif-mono/00a5.png
new file mode 100644
index 0000000..a2073f3
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00a5.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00a6.png b/graphics/font/courier-medium-roman-serif-mono/00a6.png
new file mode 100644
index 0000000..e788e13
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00a6.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00a7.png b/graphics/font/courier-medium-roman-serif-mono/00a7.png
new file mode 100644
index 0000000..c0985b0
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00a7.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00a8.png b/graphics/font/courier-medium-roman-serif-mono/00a8.png
new file mode 100644
index 0000000..980793e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00a8.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00a9.png b/graphics/font/courier-medium-roman-serif-mono/00a9.png
new file mode 100644
index 0000000..f46ea73
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00a9.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00ab.png b/graphics/font/courier-medium-roman-serif-mono/00ab.png
new file mode 100644
index 0000000..66b9c7c
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00ab.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00ae.png b/graphics/font/courier-medium-roman-serif-mono/00ae.png
new file mode 100644
index 0000000..29a6479
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00ae.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00af.png b/graphics/font/courier-medium-roman-serif-mono/00af.png
new file mode 100644
index 0000000..baee5eb
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00af.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00b0.png b/graphics/font/courier-medium-roman-serif-mono/00b0.png
new file mode 100644
index 0000000..28ab0b9
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00b0.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00b1.png b/graphics/font/courier-medium-roman-serif-mono/00b1.png
new file mode 100644
index 0000000..184c213
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00b1.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00b4.png b/graphics/font/courier-medium-roman-serif-mono/00b4.png
new file mode 100644
index 0000000..8dff5bb
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00b4.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00b6.png b/graphics/font/courier-medium-roman-serif-mono/00b6.png
new file mode 100644
index 0000000..ee930f2
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00b6.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00b7.png b/graphics/font/courier-medium-roman-serif-mono/00b7.png
new file mode 100644
index 0000000..a759641
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00b7.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00b8.png b/graphics/font/courier-medium-roman-serif-mono/00b8.png
new file mode 100644
index 0000000..99616c0
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00b8.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00bb.png b/graphics/font/courier-medium-roman-serif-mono/00bb.png
new file mode 100644
index 0000000..700ab0a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00bb.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00bf.png b/graphics/font/courier-medium-roman-serif-mono/00bf.png
new file mode 100644
index 0000000..4cebedd
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00bf.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00c0.png b/graphics/font/courier-medium-roman-serif-mono/00c0.png
new file mode 100644
index 0000000..ee17158
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00c0.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00c1.png b/graphics/font/courier-medium-roman-serif-mono/00c1.png
new file mode 100644
index 0000000..70fccde
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00c1.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00c2.png b/graphics/font/courier-medium-roman-serif-mono/00c2.png
new file mode 100644
index 0000000..b673f76
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00c2.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00c3.png b/graphics/font/courier-medium-roman-serif-mono/00c3.png
new file mode 100644
index 0000000..c03f98f
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00c3.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00c4.png b/graphics/font/courier-medium-roman-serif-mono/00c4.png
new file mode 100644
index 0000000..97fe24b
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00c4.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00c5.png b/graphics/font/courier-medium-roman-serif-mono/00c5.png
new file mode 100644
index 0000000..a0d70ac
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00c5.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00c6.png b/graphics/font/courier-medium-roman-serif-mono/00c6.png
new file mode 100644
index 0000000..f8117ca
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00c6.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00c7.png b/graphics/font/courier-medium-roman-serif-mono/00c7.png
new file mode 100644
index 0000000..9325786
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00c7.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00c8.png b/graphics/font/courier-medium-roman-serif-mono/00c8.png
new file mode 100644
index 0000000..36dfb9a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00c8.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00c9.png b/graphics/font/courier-medium-roman-serif-mono/00c9.png
new file mode 100644
index 0000000..30ae31d
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00c9.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00ca.png b/graphics/font/courier-medium-roman-serif-mono/00ca.png
new file mode 100644
index 0000000..20a2f1f
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00ca.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00cb.png b/graphics/font/courier-medium-roman-serif-mono/00cb.png
new file mode 100644
index 0000000..46788cc
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00cb.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00cc.png b/graphics/font/courier-medium-roman-serif-mono/00cc.png
new file mode 100644
index 0000000..b452774
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00cc.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00cd.png b/graphics/font/courier-medium-roman-serif-mono/00cd.png
new file mode 100644
index 0000000..0d0b288
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00cd.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00ce.png b/graphics/font/courier-medium-roman-serif-mono/00ce.png
new file mode 100644
index 0000000..dd5f54d
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00ce.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00cf.png b/graphics/font/courier-medium-roman-serif-mono/00cf.png
new file mode 100644
index 0000000..d356846
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00cf.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00d0.png b/graphics/font/courier-medium-roman-serif-mono/00d0.png
new file mode 100644
index 0000000..b65bb2e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00d0.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00d1.png b/graphics/font/courier-medium-roman-serif-mono/00d1.png
new file mode 100644
index 0000000..c55604e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00d1.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00d2.png b/graphics/font/courier-medium-roman-serif-mono/00d2.png
new file mode 100644
index 0000000..370c70a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00d2.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00d3.png b/graphics/font/courier-medium-roman-serif-mono/00d3.png
new file mode 100644
index 0000000..2264429
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00d3.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00d4.png b/graphics/font/courier-medium-roman-serif-mono/00d4.png
new file mode 100644
index 0000000..55e53c4
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00d4.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00d5.png b/graphics/font/courier-medium-roman-serif-mono/00d5.png
new file mode 100644
index 0000000..80afcd3
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00d5.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00d6.png b/graphics/font/courier-medium-roman-serif-mono/00d6.png
new file mode 100644
index 0000000..1e41114
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00d6.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00d8.png b/graphics/font/courier-medium-roman-serif-mono/00d8.png
new file mode 100644
index 0000000..a97a257
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00d8.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00d9.png b/graphics/font/courier-medium-roman-serif-mono/00d9.png
new file mode 100644
index 0000000..1aaea10
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00d9.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00da.png b/graphics/font/courier-medium-roman-serif-mono/00da.png
new file mode 100644
index 0000000..bc4af12
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00da.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00db.png b/graphics/font/courier-medium-roman-serif-mono/00db.png
new file mode 100644
index 0000000..e1d911d
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00db.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00dc.png b/graphics/font/courier-medium-roman-serif-mono/00dc.png
new file mode 100644
index 0000000..968844d
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00dc.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00dd.png b/graphics/font/courier-medium-roman-serif-mono/00dd.png
new file mode 100644
index 0000000..9992756
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00dd.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00de.png b/graphics/font/courier-medium-roman-serif-mono/00de.png
new file mode 100644
index 0000000..8936101
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00de.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00df.png b/graphics/font/courier-medium-roman-serif-mono/00df.png
new file mode 100644
index 0000000..bd12a5f
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00df.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00e0.png b/graphics/font/courier-medium-roman-serif-mono/00e0.png
new file mode 100644
index 0000000..71005a2
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00e0.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00e1.png b/graphics/font/courier-medium-roman-serif-mono/00e1.png
new file mode 100644
index 0000000..77cb4a4
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00e1.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00e2.png b/graphics/font/courier-medium-roman-serif-mono/00e2.png
new file mode 100644
index 0000000..339ff0a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00e2.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00e3.png b/graphics/font/courier-medium-roman-serif-mono/00e3.png
new file mode 100644
index 0000000..8ed852c
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00e3.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00e4.png b/graphics/font/courier-medium-roman-serif-mono/00e4.png
new file mode 100644
index 0000000..c958993
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00e4.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00e5.png b/graphics/font/courier-medium-roman-serif-mono/00e5.png
new file mode 100644
index 0000000..168c592
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00e5.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00e6.png b/graphics/font/courier-medium-roman-serif-mono/00e6.png
new file mode 100644
index 0000000..00dd343
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00e6.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00e7.png b/graphics/font/courier-medium-roman-serif-mono/00e7.png
new file mode 100644
index 0000000..40c50e0
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00e7.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00e8.png b/graphics/font/courier-medium-roman-serif-mono/00e8.png
new file mode 100644
index 0000000..537f761
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00e8.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00e9.png b/graphics/font/courier-medium-roman-serif-mono/00e9.png
new file mode 100644
index 0000000..3db0c31
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00e9.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00ea.png b/graphics/font/courier-medium-roman-serif-mono/00ea.png
new file mode 100644
index 0000000..bb49863
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00ea.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00eb.png b/graphics/font/courier-medium-roman-serif-mono/00eb.png
new file mode 100644
index 0000000..027d735
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00eb.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00ec.png b/graphics/font/courier-medium-roman-serif-mono/00ec.png
new file mode 100644
index 0000000..f27e692
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00ec.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00ed.png b/graphics/font/courier-medium-roman-serif-mono/00ed.png
new file mode 100644
index 0000000..0fd96b5
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00ed.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00ee.png b/graphics/font/courier-medium-roman-serif-mono/00ee.png
new file mode 100644
index 0000000..eaa67a6
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00ee.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00ef.png b/graphics/font/courier-medium-roman-serif-mono/00ef.png
new file mode 100644
index 0000000..4f99bfc
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00ef.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00f0.png b/graphics/font/courier-medium-roman-serif-mono/00f0.png
new file mode 100644
index 0000000..06bcc26
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00f0.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00f1.png b/graphics/font/courier-medium-roman-serif-mono/00f1.png
new file mode 100644
index 0000000..cfee045
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00f1.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00f2.png b/graphics/font/courier-medium-roman-serif-mono/00f2.png
new file mode 100644
index 0000000..5182e7d
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00f2.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00f3.png b/graphics/font/courier-medium-roman-serif-mono/00f3.png
new file mode 100644
index 0000000..31e7856
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00f3.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00f4.png b/graphics/font/courier-medium-roman-serif-mono/00f4.png
new file mode 100644
index 0000000..7179cfa
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00f4.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00f5.png b/graphics/font/courier-medium-roman-serif-mono/00f5.png
new file mode 100644
index 0000000..ed086c7
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00f5.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00f6.png b/graphics/font/courier-medium-roman-serif-mono/00f6.png
new file mode 100644
index 0000000..2ff3778
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00f6.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00f8.png b/graphics/font/courier-medium-roman-serif-mono/00f8.png
new file mode 100644
index 0000000..d2482f6
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00f8.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00f9.png b/graphics/font/courier-medium-roman-serif-mono/00f9.png
new file mode 100644
index 0000000..a132129
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00f9.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00fa.png b/graphics/font/courier-medium-roman-serif-mono/00fa.png
new file mode 100644
index 0000000..806267b
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00fa.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00fb.png b/graphics/font/courier-medium-roman-serif-mono/00fb.png
new file mode 100644
index 0000000..f0df998
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00fb.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00fc.png b/graphics/font/courier-medium-roman-serif-mono/00fc.png
new file mode 100644
index 0000000..284fb9f
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00fc.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00fd.png b/graphics/font/courier-medium-roman-serif-mono/00fd.png
new file mode 100644
index 0000000..81b8e77
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00fd.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00fe.png b/graphics/font/courier-medium-roman-serif-mono/00fe.png
new file mode 100644
index 0000000..e7d2fef
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00fe.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/00ff.png b/graphics/font/courier-medium-roman-serif-mono/00ff.png
new file mode 100644
index 0000000..76a84e9
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/00ff.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0100.png b/graphics/font/courier-medium-roman-serif-mono/0100.png
new file mode 100644
index 0000000..a425f94
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0100.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0101.png b/graphics/font/courier-medium-roman-serif-mono/0101.png
new file mode 100644
index 0000000..6dd287f
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0101.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0102.png b/graphics/font/courier-medium-roman-serif-mono/0102.png
new file mode 100644
index 0000000..7c6c2b2
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0102.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0103.png b/graphics/font/courier-medium-roman-serif-mono/0103.png
new file mode 100644
index 0000000..1dfd168
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0103.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0104.png b/graphics/font/courier-medium-roman-serif-mono/0104.png
new file mode 100644
index 0000000..2ca6fe4
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0104.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0105.png b/graphics/font/courier-medium-roman-serif-mono/0105.png
new file mode 100644
index 0000000..cda954d
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0105.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0106.png b/graphics/font/courier-medium-roman-serif-mono/0106.png
new file mode 100644
index 0000000..a7f2041
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0106.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0107.png b/graphics/font/courier-medium-roman-serif-mono/0107.png
new file mode 100644
index 0000000..a670104
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0107.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0108.png b/graphics/font/courier-medium-roman-serif-mono/0108.png
new file mode 100644
index 0000000..15f2bdb
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0108.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0109.png b/graphics/font/courier-medium-roman-serif-mono/0109.png
new file mode 100644
index 0000000..7a5b372
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0109.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/010a.png b/graphics/font/courier-medium-roman-serif-mono/010a.png
new file mode 100644
index 0000000..d04a59c
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/010a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/010b.png b/graphics/font/courier-medium-roman-serif-mono/010b.png
new file mode 100644
index 0000000..9778ebb
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/010b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/010c.png b/graphics/font/courier-medium-roman-serif-mono/010c.png
new file mode 100644
index 0000000..12e64f2
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/010c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/010d.png b/graphics/font/courier-medium-roman-serif-mono/010d.png
new file mode 100644
index 0000000..e6a6e65
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/010d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/010e.png b/graphics/font/courier-medium-roman-serif-mono/010e.png
new file mode 100644
index 0000000..98ba4af
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/010e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/010f.png b/graphics/font/courier-medium-roman-serif-mono/010f.png
new file mode 100644
index 0000000..3074b81
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/010f.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0110.png b/graphics/font/courier-medium-roman-serif-mono/0110.png
new file mode 100644
index 0000000..85ac22b
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0110.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0111.png b/graphics/font/courier-medium-roman-serif-mono/0111.png
new file mode 100644
index 0000000..ce80fe7
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0111.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0112.png b/graphics/font/courier-medium-roman-serif-mono/0112.png
new file mode 100644
index 0000000..58b5ae8
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0112.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0113.png b/graphics/font/courier-medium-roman-serif-mono/0113.png
new file mode 100644
index 0000000..cd21917
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0113.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0114.png b/graphics/font/courier-medium-roman-serif-mono/0114.png
new file mode 100644
index 0000000..46502d9
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0114.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0115.png b/graphics/font/courier-medium-roman-serif-mono/0115.png
new file mode 100644
index 0000000..4a01684
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0115.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0116.png b/graphics/font/courier-medium-roman-serif-mono/0116.png
new file mode 100644
index 0000000..3ff7faa
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0116.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0117.png b/graphics/font/courier-medium-roman-serif-mono/0117.png
new file mode 100644
index 0000000..48713e7
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0117.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0118.png b/graphics/font/courier-medium-roman-serif-mono/0118.png
new file mode 100644
index 0000000..e2aa92a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0118.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0119.png b/graphics/font/courier-medium-roman-serif-mono/0119.png
new file mode 100644
index 0000000..0e84e81
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0119.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/011a.png b/graphics/font/courier-medium-roman-serif-mono/011a.png
new file mode 100644
index 0000000..5c05b17
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/011a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/011b.png b/graphics/font/courier-medium-roman-serif-mono/011b.png
new file mode 100644
index 0000000..439deea
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/011b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/011c.png b/graphics/font/courier-medium-roman-serif-mono/011c.png
new file mode 100644
index 0000000..34a19dd
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/011c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/011d.png b/graphics/font/courier-medium-roman-serif-mono/011d.png
new file mode 100644
index 0000000..2b45efd
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/011d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/011e.png b/graphics/font/courier-medium-roman-serif-mono/011e.png
new file mode 100644
index 0000000..5df4cdf
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/011e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/011f.png b/graphics/font/courier-medium-roman-serif-mono/011f.png
new file mode 100644
index 0000000..2d182ea
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/011f.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0120.png b/graphics/font/courier-medium-roman-serif-mono/0120.png
new file mode 100644
index 0000000..445c8d4
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0120.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0121.png b/graphics/font/courier-medium-roman-serif-mono/0121.png
new file mode 100644
index 0000000..95589a6
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0121.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0124.png b/graphics/font/courier-medium-roman-serif-mono/0124.png
new file mode 100644
index 0000000..f61b454
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0124.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0125.png b/graphics/font/courier-medium-roman-serif-mono/0125.png
new file mode 100644
index 0000000..988a03a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0125.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0126.png b/graphics/font/courier-medium-roman-serif-mono/0126.png
new file mode 100644
index 0000000..ef1b7e0
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0126.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0127.png b/graphics/font/courier-medium-roman-serif-mono/0127.png
new file mode 100644
index 0000000..36bffb1
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0127.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0128.png b/graphics/font/courier-medium-roman-serif-mono/0128.png
new file mode 100644
index 0000000..33087f1
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0128.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0129.png b/graphics/font/courier-medium-roman-serif-mono/0129.png
new file mode 100644
index 0000000..cb966b0
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0129.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/012a.png b/graphics/font/courier-medium-roman-serif-mono/012a.png
new file mode 100644
index 0000000..6585862
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/012a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/012b.png b/graphics/font/courier-medium-roman-serif-mono/012b.png
new file mode 100644
index 0000000..181b4a1
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/012b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/012c.png b/graphics/font/courier-medium-roman-serif-mono/012c.png
new file mode 100644
index 0000000..5c6fedf
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/012c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/012d.png b/graphics/font/courier-medium-roman-serif-mono/012d.png
new file mode 100644
index 0000000..e5116d5
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/012d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/012e.png b/graphics/font/courier-medium-roman-serif-mono/012e.png
new file mode 100644
index 0000000..4cffd45
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/012e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/012f.png b/graphics/font/courier-medium-roman-serif-mono/012f.png
new file mode 100644
index 0000000..337032a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/012f.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0130.png b/graphics/font/courier-medium-roman-serif-mono/0130.png
new file mode 100644
index 0000000..66e7c60
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0130.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0132.png b/graphics/font/courier-medium-roman-serif-mono/0132.png
new file mode 100644
index 0000000..084a6c6
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0132.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0133.png b/graphics/font/courier-medium-roman-serif-mono/0133.png
new file mode 100644
index 0000000..58a795b
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0133.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0134.png b/graphics/font/courier-medium-roman-serif-mono/0134.png
new file mode 100644
index 0000000..a30d0e8
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0134.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0135.png b/graphics/font/courier-medium-roman-serif-mono/0135.png
new file mode 100644
index 0000000..87c4714
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0135.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0139.png b/graphics/font/courier-medium-roman-serif-mono/0139.png
new file mode 100644
index 0000000..e2c473a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0139.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/013a.png b/graphics/font/courier-medium-roman-serif-mono/013a.png
new file mode 100644
index 0000000..a19d096
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/013a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/013d.png b/graphics/font/courier-medium-roman-serif-mono/013d.png
new file mode 100644
index 0000000..c26c517
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/013d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/013e.png b/graphics/font/courier-medium-roman-serif-mono/013e.png
new file mode 100644
index 0000000..878f896
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/013e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0141.png b/graphics/font/courier-medium-roman-serif-mono/0141.png
new file mode 100644
index 0000000..4a44d3b
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0141.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0142.png b/graphics/font/courier-medium-roman-serif-mono/0142.png
new file mode 100644
index 0000000..931d9a6
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0142.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0143.png b/graphics/font/courier-medium-roman-serif-mono/0143.png
new file mode 100644
index 0000000..b444e5a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0143.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0144.png b/graphics/font/courier-medium-roman-serif-mono/0144.png
new file mode 100644
index 0000000..e06aeee
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0144.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0147.png b/graphics/font/courier-medium-roman-serif-mono/0147.png
new file mode 100644
index 0000000..25f67fe
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0147.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0148.png b/graphics/font/courier-medium-roman-serif-mono/0148.png
new file mode 100644
index 0000000..93e0d3b
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0148.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/014c.png b/graphics/font/courier-medium-roman-serif-mono/014c.png
new file mode 100644
index 0000000..37f8e2d
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/014c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/014d.png b/graphics/font/courier-medium-roman-serif-mono/014d.png
new file mode 100644
index 0000000..95d6032
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/014d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/014e.png b/graphics/font/courier-medium-roman-serif-mono/014e.png
new file mode 100644
index 0000000..8a4f0a7
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/014e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/014f.png b/graphics/font/courier-medium-roman-serif-mono/014f.png
new file mode 100644
index 0000000..977c930
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/014f.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0150.png b/graphics/font/courier-medium-roman-serif-mono/0150.png
new file mode 100644
index 0000000..938ba09
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0150.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0151.png b/graphics/font/courier-medium-roman-serif-mono/0151.png
new file mode 100644
index 0000000..0215d30
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0151.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0152.png b/graphics/font/courier-medium-roman-serif-mono/0152.png
new file mode 100644
index 0000000..17f2c82
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0152.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0153.png b/graphics/font/courier-medium-roman-serif-mono/0153.png
new file mode 100644
index 0000000..81ccbd6
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0153.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0154.png b/graphics/font/courier-medium-roman-serif-mono/0154.png
new file mode 100644
index 0000000..a46637a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0154.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0155.png b/graphics/font/courier-medium-roman-serif-mono/0155.png
new file mode 100644
index 0000000..2ef79f4
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0155.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0158.png b/graphics/font/courier-medium-roman-serif-mono/0158.png
new file mode 100644
index 0000000..b3d2fb6
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0158.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0159.png b/graphics/font/courier-medium-roman-serif-mono/0159.png
new file mode 100644
index 0000000..6f6af82
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0159.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/015a.png b/graphics/font/courier-medium-roman-serif-mono/015a.png
new file mode 100644
index 0000000..a75fe58
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/015a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/015b.png b/graphics/font/courier-medium-roman-serif-mono/015b.png
new file mode 100644
index 0000000..9efc6e4
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/015b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/015c.png b/graphics/font/courier-medium-roman-serif-mono/015c.png
new file mode 100644
index 0000000..c665b7e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/015c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/015d.png b/graphics/font/courier-medium-roman-serif-mono/015d.png
new file mode 100644
index 0000000..2ffdac2
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/015d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/015e.png b/graphics/font/courier-medium-roman-serif-mono/015e.png
new file mode 100644
index 0000000..8a8d79b
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/015e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/015f.png b/graphics/font/courier-medium-roman-serif-mono/015f.png
new file mode 100644
index 0000000..9ab3fc0
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/015f.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0160.png b/graphics/font/courier-medium-roman-serif-mono/0160.png
new file mode 100644
index 0000000..e841af3
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0160.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0161.png b/graphics/font/courier-medium-roman-serif-mono/0161.png
new file mode 100644
index 0000000..0a4c149
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0161.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0162.png b/graphics/font/courier-medium-roman-serif-mono/0162.png
new file mode 100644
index 0000000..d006e3f
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0162.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0163.png b/graphics/font/courier-medium-roman-serif-mono/0163.png
new file mode 100644
index 0000000..b5a4531
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0163.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0164.png b/graphics/font/courier-medium-roman-serif-mono/0164.png
new file mode 100644
index 0000000..7041163
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0164.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0165.png b/graphics/font/courier-medium-roman-serif-mono/0165.png
new file mode 100644
index 0000000..378352e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0165.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0166.png b/graphics/font/courier-medium-roman-serif-mono/0166.png
new file mode 100644
index 0000000..480b6db
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0166.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0167.png b/graphics/font/courier-medium-roman-serif-mono/0167.png
new file mode 100644
index 0000000..92486a3
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0167.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0168.png b/graphics/font/courier-medium-roman-serif-mono/0168.png
new file mode 100644
index 0000000..66de698
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0168.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0169.png b/graphics/font/courier-medium-roman-serif-mono/0169.png
new file mode 100644
index 0000000..d722f55
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0169.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/016a.png b/graphics/font/courier-medium-roman-serif-mono/016a.png
new file mode 100644
index 0000000..6ef2a55
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/016a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/016b.png b/graphics/font/courier-medium-roman-serif-mono/016b.png
new file mode 100644
index 0000000..47e3328
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/016b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/016c.png b/graphics/font/courier-medium-roman-serif-mono/016c.png
new file mode 100644
index 0000000..9ae94a7
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/016c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/016d.png b/graphics/font/courier-medium-roman-serif-mono/016d.png
new file mode 100644
index 0000000..9d3d79a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/016d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/016e.png b/graphics/font/courier-medium-roman-serif-mono/016e.png
new file mode 100644
index 0000000..37c3ff7
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/016e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/016f.png b/graphics/font/courier-medium-roman-serif-mono/016f.png
new file mode 100644
index 0000000..f43453f
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/016f.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0170.png b/graphics/font/courier-medium-roman-serif-mono/0170.png
new file mode 100644
index 0000000..fe3a63a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0170.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0171.png b/graphics/font/courier-medium-roman-serif-mono/0171.png
new file mode 100644
index 0000000..c130196
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0171.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0172.png b/graphics/font/courier-medium-roman-serif-mono/0172.png
new file mode 100644
index 0000000..b6dd623
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0172.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0173.png b/graphics/font/courier-medium-roman-serif-mono/0173.png
new file mode 100644
index 0000000..8764a41
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0173.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0174.png b/graphics/font/courier-medium-roman-serif-mono/0174.png
new file mode 100644
index 0000000..3ba9e76
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0174.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0175.png b/graphics/font/courier-medium-roman-serif-mono/0175.png
new file mode 100644
index 0000000..53e6636
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0175.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0176.png b/graphics/font/courier-medium-roman-serif-mono/0176.png
new file mode 100644
index 0000000..2132710
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0176.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0177.png b/graphics/font/courier-medium-roman-serif-mono/0177.png
new file mode 100644
index 0000000..7799d34
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0177.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0178.png b/graphics/font/courier-medium-roman-serif-mono/0178.png
new file mode 100644
index 0000000..9312cc8
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0178.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0179.png b/graphics/font/courier-medium-roman-serif-mono/0179.png
new file mode 100644
index 0000000..6e2a999
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0179.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/017a.png b/graphics/font/courier-medium-roman-serif-mono/017a.png
new file mode 100644
index 0000000..1700863
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/017a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/017b.png b/graphics/font/courier-medium-roman-serif-mono/017b.png
new file mode 100644
index 0000000..edec808
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/017b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/017c.png b/graphics/font/courier-medium-roman-serif-mono/017c.png
new file mode 100644
index 0000000..b65c262
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/017c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/017d.png b/graphics/font/courier-medium-roman-serif-mono/017d.png
new file mode 100644
index 0000000..f487d26
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/017d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/017e.png b/graphics/font/courier-medium-roman-serif-mono/017e.png
new file mode 100644
index 0000000..1549ce2
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/017e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01cd.png b/graphics/font/courier-medium-roman-serif-mono/01cd.png
new file mode 100644
index 0000000..44a9445
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01cd.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01ce.png b/graphics/font/courier-medium-roman-serif-mono/01ce.png
new file mode 100644
index 0000000..4569593
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01ce.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01cf.png b/graphics/font/courier-medium-roman-serif-mono/01cf.png
new file mode 100644
index 0000000..5490572
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01cf.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01d0.png b/graphics/font/courier-medium-roman-serif-mono/01d0.png
new file mode 100644
index 0000000..7ac8380
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01d0.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01d1.png b/graphics/font/courier-medium-roman-serif-mono/01d1.png
new file mode 100644
index 0000000..1455d7e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01d1.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01d2.png b/graphics/font/courier-medium-roman-serif-mono/01d2.png
new file mode 100644
index 0000000..1b0ad67
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01d2.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01d3.png b/graphics/font/courier-medium-roman-serif-mono/01d3.png
new file mode 100644
index 0000000..2f98ac9
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01d3.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01d4.png b/graphics/font/courier-medium-roman-serif-mono/01d4.png
new file mode 100644
index 0000000..ba44e51
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01d4.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01e6.png b/graphics/font/courier-medium-roman-serif-mono/01e6.png
new file mode 100644
index 0000000..c70a06c
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01e6.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01e7.png b/graphics/font/courier-medium-roman-serif-mono/01e7.png
new file mode 100644
index 0000000..fe06842
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01e7.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01e8.png b/graphics/font/courier-medium-roman-serif-mono/01e8.png
new file mode 100644
index 0000000..8a93aac
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01e8.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01e9.png b/graphics/font/courier-medium-roman-serif-mono/01e9.png
new file mode 100644
index 0000000..3408ec0
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01e9.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01ea.png b/graphics/font/courier-medium-roman-serif-mono/01ea.png
new file mode 100644
index 0000000..5009d72
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01ea.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01eb.png b/graphics/font/courier-medium-roman-serif-mono/01eb.png
new file mode 100644
index 0000000..0e01e79
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01eb.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01f0.png b/graphics/font/courier-medium-roman-serif-mono/01f0.png
new file mode 100644
index 0000000..69b393c
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01f0.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01f4.png b/graphics/font/courier-medium-roman-serif-mono/01f4.png
new file mode 100644
index 0000000..1c96141
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01f4.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01f5.png b/graphics/font/courier-medium-roman-serif-mono/01f5.png
new file mode 100644
index 0000000..3000e46
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01f5.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01f8.png b/graphics/font/courier-medium-roman-serif-mono/01f8.png
new file mode 100644
index 0000000..07ffa41
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01f8.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/01f9.png b/graphics/font/courier-medium-roman-serif-mono/01f9.png
new file mode 100644
index 0000000..338d469
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/01f9.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/02c6.png b/graphics/font/courier-medium-roman-serif-mono/02c6.png
new file mode 100644
index 0000000..b0ab6f0
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/02c6.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/02c7.png b/graphics/font/courier-medium-roman-serif-mono/02c7.png
new file mode 100644
index 0000000..2c38a3e
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/02c7.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/02d9.png b/graphics/font/courier-medium-roman-serif-mono/02d9.png
new file mode 100644
index 0000000..a759641
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/02d9.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/02da.png b/graphics/font/courier-medium-roman-serif-mono/02da.png
new file mode 100644
index 0000000..28ab0b9
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/02da.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/02db.png b/graphics/font/courier-medium-roman-serif-mono/02db.png
new file mode 100644
index 0000000..d8eb18d
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/02db.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/02dc.png b/graphics/font/courier-medium-roman-serif-mono/02dc.png
new file mode 100644
index 0000000..c393b32
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/02dc.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/02dd.png b/graphics/font/courier-medium-roman-serif-mono/02dd.png
new file mode 100644
index 0000000..049682a
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/02dd.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0300.png b/graphics/font/courier-medium-roman-serif-mono/0300.png
new file mode 100644
index 0000000..ebd41e4
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0300.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/0306.png b/graphics/font/courier-medium-roman-serif-mono/0306.png
new file mode 100644
index 0000000..8cf7aee
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/0306.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/030b.png b/graphics/font/courier-medium-roman-serif-mono/030b.png
new file mode 100644
index 0000000..27b7f05
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/030b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/2013.png b/graphics/font/courier-medium-roman-serif-mono/2013.png
new file mode 100644
index 0000000..aac0de1
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/2013.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/2014.png b/graphics/font/courier-medium-roman-serif-mono/2014.png
new file mode 100644
index 0000000..133cc42
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/2014.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/2018.png b/graphics/font/courier-medium-roman-serif-mono/2018.png
new file mode 100644
index 0000000..c66dd51
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/2018.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/2019.png b/graphics/font/courier-medium-roman-serif-mono/2019.png
new file mode 100644
index 0000000..a0eaddc
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/2019.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/201a.png b/graphics/font/courier-medium-roman-serif-mono/201a.png
new file mode 100644
index 0000000..6ebe8ff
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/201a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/201b.png b/graphics/font/courier-medium-roman-serif-mono/201b.png
new file mode 100644
index 0000000..a0eaddc
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/201b.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/201c.png b/graphics/font/courier-medium-roman-serif-mono/201c.png
new file mode 100644
index 0000000..e3151e1
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/201c.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/201d.png b/graphics/font/courier-medium-roman-serif-mono/201d.png
new file mode 100644
index 0000000..7bec829
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/201d.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/201e.png b/graphics/font/courier-medium-roman-serif-mono/201e.png
new file mode 100644
index 0000000..97e2e5f
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/201e.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/201f.png b/graphics/font/courier-medium-roman-serif-mono/201f.png
new file mode 100644
index 0000000..7bec829
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/201f.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/2020.png b/graphics/font/courier-medium-roman-serif-mono/2020.png
new file mode 100644
index 0000000..fc95c3d
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/2020.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/2021.png b/graphics/font/courier-medium-roman-serif-mono/2021.png
new file mode 100644
index 0000000..1e4b260
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/2021.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/2022.png b/graphics/font/courier-medium-roman-serif-mono/2022.png
new file mode 100644
index 0000000..142f1bc
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/2022.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/2026.png b/graphics/font/courier-medium-roman-serif-mono/2026.png
new file mode 100644
index 0000000..9aa9296
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/2026.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/2030.png b/graphics/font/courier-medium-roman-serif-mono/2030.png
new file mode 100644
index 0000000..642e418
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/2030.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/2039.png b/graphics/font/courier-medium-roman-serif-mono/2039.png
new file mode 100644
index 0000000..1c5fa20
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/2039.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/203a.png b/graphics/font/courier-medium-roman-serif-mono/203a.png
new file mode 100644
index 0000000..88cea19
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/203a.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/2116.png b/graphics/font/courier-medium-roman-serif-mono/2116.png
new file mode 100644
index 0000000..1cf873b
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/2116.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/fb01.png b/graphics/font/courier-medium-roman-serif-mono/fb01.png
new file mode 100644
index 0000000..53b0058
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/fb01.png
Binary files differ
diff --git a/graphics/font/courier-medium-roman-serif-mono/fb02.png b/graphics/font/courier-medium-roman-serif-mono/fb02.png
new file mode 100644
index 0000000..a1e5417
--- /dev/null
+++ b/graphics/font/courier-medium-roman-serif-mono/fb02.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05d0.png b/graphics/font/japanese-medium-roman-sans-mono/05d0.png
new file mode 100644
index 0000000..e388d59
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05d0.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05d1.png b/graphics/font/japanese-medium-roman-sans-mono/05d1.png
new file mode 100644
index 0000000..e997669
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05d1.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05d2.png b/graphics/font/japanese-medium-roman-sans-mono/05d2.png
new file mode 100644
index 0000000..90d7aa5
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05d2.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05d3.png b/graphics/font/japanese-medium-roman-sans-mono/05d3.png
new file mode 100644
index 0000000..c3f0edc
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05d3.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05d4.png b/graphics/font/japanese-medium-roman-sans-mono/05d4.png
new file mode 100644
index 0000000..0b90611
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05d4.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05d5.png b/graphics/font/japanese-medium-roman-sans-mono/05d5.png
new file mode 100644
index 0000000..5d0c140
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05d5.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05d6.png b/graphics/font/japanese-medium-roman-sans-mono/05d6.png
new file mode 100644
index 0000000..5308d2b
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05d6.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05d7.png b/graphics/font/japanese-medium-roman-sans-mono/05d7.png
new file mode 100644
index 0000000..e39fdee
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05d7.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05d8.png b/graphics/font/japanese-medium-roman-sans-mono/05d8.png
new file mode 100644
index 0000000..f0e4394
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05d8.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05d9.png b/graphics/font/japanese-medium-roman-sans-mono/05d9.png
new file mode 100644
index 0000000..c7e2ead
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05d9.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05da.png b/graphics/font/japanese-medium-roman-sans-mono/05da.png
new file mode 100644
index 0000000..fe9a472
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05da.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05db.png b/graphics/font/japanese-medium-roman-sans-mono/05db.png
new file mode 100644
index 0000000..312a05e
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05db.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05dc.png b/graphics/font/japanese-medium-roman-sans-mono/05dc.png
new file mode 100644
index 0000000..360461e
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05dc.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05dd.png b/graphics/font/japanese-medium-roman-sans-mono/05dd.png
new file mode 100644
index 0000000..e65fef4
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05dd.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05de.png b/graphics/font/japanese-medium-roman-sans-mono/05de.png
new file mode 100644
index 0000000..416386c
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05de.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05df.png b/graphics/font/japanese-medium-roman-sans-mono/05df.png
new file mode 100644
index 0000000..eee56b8
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05df.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05e0.png b/graphics/font/japanese-medium-roman-sans-mono/05e0.png
new file mode 100644
index 0000000..3b7b2d9
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05e0.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05e1.png b/graphics/font/japanese-medium-roman-sans-mono/05e1.png
new file mode 100644
index 0000000..8d63bfc
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05e1.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05e2.png b/graphics/font/japanese-medium-roman-sans-mono/05e2.png
new file mode 100644
index 0000000..d420446
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05e2.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05e3.png b/graphics/font/japanese-medium-roman-sans-mono/05e3.png
new file mode 100644
index 0000000..cd61c0c
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05e3.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05e4.png b/graphics/font/japanese-medium-roman-sans-mono/05e4.png
new file mode 100644
index 0000000..93fef5e
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05e4.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05e5.png b/graphics/font/japanese-medium-roman-sans-mono/05e5.png
new file mode 100644
index 0000000..e2511ef
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05e5.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05e6.png b/graphics/font/japanese-medium-roman-sans-mono/05e6.png
new file mode 100644
index 0000000..f53b78b
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05e6.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05e7.png b/graphics/font/japanese-medium-roman-sans-mono/05e7.png
new file mode 100644
index 0000000..3bf7f00
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05e7.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05e8.png b/graphics/font/japanese-medium-roman-sans-mono/05e8.png
new file mode 100644
index 0000000..da37117
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05e8.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05e9.png b/graphics/font/japanese-medium-roman-sans-mono/05e9.png
new file mode 100644
index 0000000..1fe9393
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05e9.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/05ea.png b/graphics/font/japanese-medium-roman-sans-mono/05ea.png
new file mode 100644
index 0000000..9c76dfc
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/05ea.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3002.png b/graphics/font/japanese-medium-roman-sans-mono/3002.png
new file mode 100644
index 0000000..d071092
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3002.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3041.png b/graphics/font/japanese-medium-roman-sans-mono/3041.png
new file mode 100644
index 0000000..9d8dee6
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3041.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3042.png b/graphics/font/japanese-medium-roman-sans-mono/3042.png
new file mode 100644
index 0000000..cfac2b9
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3042.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3043.png b/graphics/font/japanese-medium-roman-sans-mono/3043.png
new file mode 100644
index 0000000..3d92cef
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3043.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3044.png b/graphics/font/japanese-medium-roman-sans-mono/3044.png
new file mode 100644
index 0000000..9a65294
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3044.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3045.png b/graphics/font/japanese-medium-roman-sans-mono/3045.png
new file mode 100644
index 0000000..8c65139
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3045.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3046.png b/graphics/font/japanese-medium-roman-sans-mono/3046.png
new file mode 100644
index 0000000..011b203
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3046.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3047.png b/graphics/font/japanese-medium-roman-sans-mono/3047.png
new file mode 100644
index 0000000..12986c7
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3047.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3048.png b/graphics/font/japanese-medium-roman-sans-mono/3048.png
new file mode 100644
index 0000000..61a2f44
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3048.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3049.png b/graphics/font/japanese-medium-roman-sans-mono/3049.png
new file mode 100644
index 0000000..9aa1757
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3049.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/304a.png b/graphics/font/japanese-medium-roman-sans-mono/304a.png
new file mode 100644
index 0000000..a6f224f
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/304a.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/304b.png b/graphics/font/japanese-medium-roman-sans-mono/304b.png
new file mode 100644
index 0000000..a221777
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/304b.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/304c.png b/graphics/font/japanese-medium-roman-sans-mono/304c.png
new file mode 100644
index 0000000..a1fda0d
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/304c.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/304d.png b/graphics/font/japanese-medium-roman-sans-mono/304d.png
new file mode 100644
index 0000000..2f45a3d
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/304d.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/304e.png b/graphics/font/japanese-medium-roman-sans-mono/304e.png
new file mode 100644
index 0000000..db551fb
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/304e.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/304f.png b/graphics/font/japanese-medium-roman-sans-mono/304f.png
new file mode 100644
index 0000000..12f3b1b
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/304f.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3050.png b/graphics/font/japanese-medium-roman-sans-mono/3050.png
new file mode 100644
index 0000000..0a7b7c9
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3050.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3051.png b/graphics/font/japanese-medium-roman-sans-mono/3051.png
new file mode 100644
index 0000000..43d7fd5
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3051.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3052.png b/graphics/font/japanese-medium-roman-sans-mono/3052.png
new file mode 100644
index 0000000..f74e85c
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3052.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3053.png b/graphics/font/japanese-medium-roman-sans-mono/3053.png
new file mode 100644
index 0000000..e3cabf0
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3053.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3054.png b/graphics/font/japanese-medium-roman-sans-mono/3054.png
new file mode 100644
index 0000000..475510a
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3054.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3055.png b/graphics/font/japanese-medium-roman-sans-mono/3055.png
new file mode 100644
index 0000000..325ba12
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3055.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3056.png b/graphics/font/japanese-medium-roman-sans-mono/3056.png
new file mode 100644
index 0000000..46d0656
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3056.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3057.png b/graphics/font/japanese-medium-roman-sans-mono/3057.png
new file mode 100644
index 0000000..93dbff3
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3057.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3058.png b/graphics/font/japanese-medium-roman-sans-mono/3058.png
new file mode 100644
index 0000000..a2664bf
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3058.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3059.png b/graphics/font/japanese-medium-roman-sans-mono/3059.png
new file mode 100644
index 0000000..32f3a84
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3059.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/305a.png b/graphics/font/japanese-medium-roman-sans-mono/305a.png
new file mode 100644
index 0000000..d5872a5
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/305a.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/305b.png b/graphics/font/japanese-medium-roman-sans-mono/305b.png
new file mode 100644
index 0000000..e9f40ed
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/305b.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/305c.png b/graphics/font/japanese-medium-roman-sans-mono/305c.png
new file mode 100644
index 0000000..381721c
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/305c.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/305d.png b/graphics/font/japanese-medium-roman-sans-mono/305d.png
new file mode 100644
index 0000000..41c5d26
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/305d.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/305e.png b/graphics/font/japanese-medium-roman-sans-mono/305e.png
new file mode 100644
index 0000000..8a62642
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/305e.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/305f.png b/graphics/font/japanese-medium-roman-sans-mono/305f.png
new file mode 100644
index 0000000..09e4d6f
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/305f.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3060.png b/graphics/font/japanese-medium-roman-sans-mono/3060.png
new file mode 100644
index 0000000..bed9cd8
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3060.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3061.png b/graphics/font/japanese-medium-roman-sans-mono/3061.png
new file mode 100644
index 0000000..6033f2d
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3061.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3062.png b/graphics/font/japanese-medium-roman-sans-mono/3062.png
new file mode 100644
index 0000000..00d42d4
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3062.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3063.png b/graphics/font/japanese-medium-roman-sans-mono/3063.png
new file mode 100644
index 0000000..d2e5721
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3063.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3064.png b/graphics/font/japanese-medium-roman-sans-mono/3064.png
new file mode 100644
index 0000000..d1ff369
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3064.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3065.png b/graphics/font/japanese-medium-roman-sans-mono/3065.png
new file mode 100644
index 0000000..86092df
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3065.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3066.png b/graphics/font/japanese-medium-roman-sans-mono/3066.png
new file mode 100644
index 0000000..3105c46
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3066.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3067.png b/graphics/font/japanese-medium-roman-sans-mono/3067.png
new file mode 100644
index 0000000..a4edbb6
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3067.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3068.png b/graphics/font/japanese-medium-roman-sans-mono/3068.png
new file mode 100644
index 0000000..c28fd85
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3068.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3069.png b/graphics/font/japanese-medium-roman-sans-mono/3069.png
new file mode 100644
index 0000000..084f42d
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3069.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/306a.png b/graphics/font/japanese-medium-roman-sans-mono/306a.png
new file mode 100644
index 0000000..31ca14e
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/306a.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/306b.png b/graphics/font/japanese-medium-roman-sans-mono/306b.png
new file mode 100644
index 0000000..754fa26
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/306b.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/306c.png b/graphics/font/japanese-medium-roman-sans-mono/306c.png
new file mode 100644
index 0000000..e45a617
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/306c.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/306d.png b/graphics/font/japanese-medium-roman-sans-mono/306d.png
new file mode 100644
index 0000000..0ffe8d5
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/306d.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/306e.png b/graphics/font/japanese-medium-roman-sans-mono/306e.png
new file mode 100644
index 0000000..e9bc513
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/306e.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/306f.png b/graphics/font/japanese-medium-roman-sans-mono/306f.png
new file mode 100644
index 0000000..3be48de
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/306f.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3070.png b/graphics/font/japanese-medium-roman-sans-mono/3070.png
new file mode 100644
index 0000000..d6de793
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3070.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3071.png b/graphics/font/japanese-medium-roman-sans-mono/3071.png
new file mode 100644
index 0000000..789a1c2
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3071.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3072.png b/graphics/font/japanese-medium-roman-sans-mono/3072.png
new file mode 100644
index 0000000..1bc100d
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3072.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3073.png b/graphics/font/japanese-medium-roman-sans-mono/3073.png
new file mode 100644
index 0000000..48a5de1
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3073.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3074.png b/graphics/font/japanese-medium-roman-sans-mono/3074.png
new file mode 100644
index 0000000..d271e9b
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3074.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3075.png b/graphics/font/japanese-medium-roman-sans-mono/3075.png
new file mode 100644
index 0000000..bf5e11f
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3075.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3076.png b/graphics/font/japanese-medium-roman-sans-mono/3076.png
new file mode 100644
index 0000000..6e1c43c
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3076.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3077.png b/graphics/font/japanese-medium-roman-sans-mono/3077.png
new file mode 100644
index 0000000..5d91226
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3077.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3078.png b/graphics/font/japanese-medium-roman-sans-mono/3078.png
new file mode 100644
index 0000000..0646a35
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3078.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3079.png b/graphics/font/japanese-medium-roman-sans-mono/3079.png
new file mode 100644
index 0000000..9e7db9d
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3079.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/307a.png b/graphics/font/japanese-medium-roman-sans-mono/307a.png
new file mode 100644
index 0000000..9b94ac3
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/307a.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/307b.png b/graphics/font/japanese-medium-roman-sans-mono/307b.png
new file mode 100644
index 0000000..d596d1f
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/307b.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/307c.png b/graphics/font/japanese-medium-roman-sans-mono/307c.png
new file mode 100644
index 0000000..8201a18
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/307c.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/307d.png b/graphics/font/japanese-medium-roman-sans-mono/307d.png
new file mode 100644
index 0000000..fd2cb5f
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/307d.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/307e.png b/graphics/font/japanese-medium-roman-sans-mono/307e.png
new file mode 100644
index 0000000..233faab
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/307e.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/307f.png b/graphics/font/japanese-medium-roman-sans-mono/307f.png
new file mode 100644
index 0000000..8ba29bd
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/307f.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3080.png b/graphics/font/japanese-medium-roman-sans-mono/3080.png
new file mode 100644
index 0000000..a1de81b
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3080.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3081.png b/graphics/font/japanese-medium-roman-sans-mono/3081.png
new file mode 100644
index 0000000..e7c817e
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3081.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3082.png b/graphics/font/japanese-medium-roman-sans-mono/3082.png
new file mode 100644
index 0000000..8f95b01
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3082.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3083.png b/graphics/font/japanese-medium-roman-sans-mono/3083.png
new file mode 100644
index 0000000..67f82a3
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3083.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3084.png b/graphics/font/japanese-medium-roman-sans-mono/3084.png
new file mode 100644
index 0000000..390864d
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3084.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3085.png b/graphics/font/japanese-medium-roman-sans-mono/3085.png
new file mode 100644
index 0000000..7bd9bd7
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3085.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3086.png b/graphics/font/japanese-medium-roman-sans-mono/3086.png
new file mode 100644
index 0000000..c37047b
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3086.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3087.png b/graphics/font/japanese-medium-roman-sans-mono/3087.png
new file mode 100644
index 0000000..0e3d78c
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3087.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3088.png b/graphics/font/japanese-medium-roman-sans-mono/3088.png
new file mode 100644
index 0000000..71c91be
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3088.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3089.png b/graphics/font/japanese-medium-roman-sans-mono/3089.png
new file mode 100644
index 0000000..4ca7d21
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3089.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/308b.png b/graphics/font/japanese-medium-roman-sans-mono/308b.png
new file mode 100644
index 0000000..6e4bba1
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/308b.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/308c.png b/graphics/font/japanese-medium-roman-sans-mono/308c.png
new file mode 100644
index 0000000..406af0d
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/308c.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/308d.png b/graphics/font/japanese-medium-roman-sans-mono/308d.png
new file mode 100644
index 0000000..f9837f0
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/308d.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/308f.png b/graphics/font/japanese-medium-roman-sans-mono/308f.png
new file mode 100644
index 0000000..481409f
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/308f.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3092.png b/graphics/font/japanese-medium-roman-sans-mono/3092.png
new file mode 100644
index 0000000..877d53e
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3092.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/3093.png b/graphics/font/japanese-medium-roman-sans-mono/3093.png
new file mode 100644
index 0000000..4001125
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/3093.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30a1.png b/graphics/font/japanese-medium-roman-sans-mono/30a1.png
new file mode 100644
index 0000000..4860404
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30a1.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30a3.png b/graphics/font/japanese-medium-roman-sans-mono/30a3.png
new file mode 100644
index 0000000..53ea89f
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30a3.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30a4.png b/graphics/font/japanese-medium-roman-sans-mono/30a4.png
new file mode 100644
index 0000000..baf4e24
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30a4.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30a5.png b/graphics/font/japanese-medium-roman-sans-mono/30a5.png
new file mode 100644
index 0000000..dac0cb4
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30a5.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30a6.png b/graphics/font/japanese-medium-roman-sans-mono/30a6.png
new file mode 100644
index 0000000..bb6147e
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30a6.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30a7.png b/graphics/font/japanese-medium-roman-sans-mono/30a7.png
new file mode 100644
index 0000000..f21d1bc
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30a7.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30a8.png b/graphics/font/japanese-medium-roman-sans-mono/30a8.png
new file mode 100644
index 0000000..a356753
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30a8.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30a9.png b/graphics/font/japanese-medium-roman-sans-mono/30a9.png
new file mode 100644
index 0000000..993d071
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30a9.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30aa.png b/graphics/font/japanese-medium-roman-sans-mono/30aa.png
new file mode 100644
index 0000000..e8d8daa
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30aa.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30ab.png b/graphics/font/japanese-medium-roman-sans-mono/30ab.png
new file mode 100644
index 0000000..6fadd55
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30ab.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30ac.png b/graphics/font/japanese-medium-roman-sans-mono/30ac.png
new file mode 100644
index 0000000..c52f8e6
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30ac.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30ad.png b/graphics/font/japanese-medium-roman-sans-mono/30ad.png
new file mode 100644
index 0000000..a3cf443
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30ad.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30ae.png b/graphics/font/japanese-medium-roman-sans-mono/30ae.png
new file mode 100644
index 0000000..e17dbbe
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30ae.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30af.png b/graphics/font/japanese-medium-roman-sans-mono/30af.png
new file mode 100644
index 0000000..9463ff8
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30af.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30b0.png b/graphics/font/japanese-medium-roman-sans-mono/30b0.png
new file mode 100644
index 0000000..456eaac
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30b0.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30b1.png b/graphics/font/japanese-medium-roman-sans-mono/30b1.png
new file mode 100644
index 0000000..0d12a55
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30b1.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30b2.png b/graphics/font/japanese-medium-roman-sans-mono/30b2.png
new file mode 100644
index 0000000..621a4c6
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30b2.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30b3.png b/graphics/font/japanese-medium-roman-sans-mono/30b3.png
new file mode 100644
index 0000000..d3cc0f6
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30b3.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30b4.png b/graphics/font/japanese-medium-roman-sans-mono/30b4.png
new file mode 100644
index 0000000..c8c5336
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30b4.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30b5.png b/graphics/font/japanese-medium-roman-sans-mono/30b5.png
new file mode 100644
index 0000000..cda6154
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30b5.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30b6.png b/graphics/font/japanese-medium-roman-sans-mono/30b6.png
new file mode 100644
index 0000000..f5db994
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30b6.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30b7.png b/graphics/font/japanese-medium-roman-sans-mono/30b7.png
new file mode 100644
index 0000000..7d0bd1e
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30b7.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30b8.png b/graphics/font/japanese-medium-roman-sans-mono/30b8.png
new file mode 100644
index 0000000..088838b
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30b8.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30b9.png b/graphics/font/japanese-medium-roman-sans-mono/30b9.png
new file mode 100644
index 0000000..5d7cdc2
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30b9.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30ba.png b/graphics/font/japanese-medium-roman-sans-mono/30ba.png
new file mode 100644
index 0000000..a7b49c1
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30ba.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30bb.png b/graphics/font/japanese-medium-roman-sans-mono/30bb.png
new file mode 100644
index 0000000..c0bb427
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30bb.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30bc.png b/graphics/font/japanese-medium-roman-sans-mono/30bc.png
new file mode 100644
index 0000000..0644f4d
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30bc.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30bd.png b/graphics/font/japanese-medium-roman-sans-mono/30bd.png
new file mode 100644
index 0000000..cfd831b
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30bd.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30be.png b/graphics/font/japanese-medium-roman-sans-mono/30be.png
new file mode 100644
index 0000000..0e57da9
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30be.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30bf.png b/graphics/font/japanese-medium-roman-sans-mono/30bf.png
new file mode 100644
index 0000000..b181bf1
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30bf.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30c0.png b/graphics/font/japanese-medium-roman-sans-mono/30c0.png
new file mode 100644
index 0000000..a3b19db
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30c0.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30c1.png b/graphics/font/japanese-medium-roman-sans-mono/30c1.png
new file mode 100644
index 0000000..1088a1b
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30c1.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30c2.png b/graphics/font/japanese-medium-roman-sans-mono/30c2.png
new file mode 100644
index 0000000..ac190f7
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30c2.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30c3.png b/graphics/font/japanese-medium-roman-sans-mono/30c3.png
new file mode 100644
index 0000000..96dcf2a
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30c3.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30c5.png b/graphics/font/japanese-medium-roman-sans-mono/30c5.png
new file mode 100644
index 0000000..49b7cc2
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30c5.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30c6.png b/graphics/font/japanese-medium-roman-sans-mono/30c6.png
new file mode 100644
index 0000000..ce7aaa0
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30c6.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30c7.png b/graphics/font/japanese-medium-roman-sans-mono/30c7.png
new file mode 100644
index 0000000..1c247b3
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30c7.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30c8.png b/graphics/font/japanese-medium-roman-sans-mono/30c8.png
new file mode 100644
index 0000000..50da428
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30c8.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30c9.png b/graphics/font/japanese-medium-roman-sans-mono/30c9.png
new file mode 100644
index 0000000..93c6fba
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30c9.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30ca.png b/graphics/font/japanese-medium-roman-sans-mono/30ca.png
new file mode 100644
index 0000000..6aa7cbe
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30ca.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30cb.png b/graphics/font/japanese-medium-roman-sans-mono/30cb.png
new file mode 100644
index 0000000..4804e3d
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30cb.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30cc.png b/graphics/font/japanese-medium-roman-sans-mono/30cc.png
new file mode 100644
index 0000000..a91bf93
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30cc.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30cd.png b/graphics/font/japanese-medium-roman-sans-mono/30cd.png
new file mode 100644
index 0000000..c364e1f
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30cd.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30ce.png b/graphics/font/japanese-medium-roman-sans-mono/30ce.png
new file mode 100644
index 0000000..0e9f522
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30ce.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30cf.png b/graphics/font/japanese-medium-roman-sans-mono/30cf.png
new file mode 100644
index 0000000..f2e88dd
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30cf.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30d0.png b/graphics/font/japanese-medium-roman-sans-mono/30d0.png
new file mode 100644
index 0000000..d2b7d0b
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30d0.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30d1.png b/graphics/font/japanese-medium-roman-sans-mono/30d1.png
new file mode 100644
index 0000000..aab800d
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30d1.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30d2.png b/graphics/font/japanese-medium-roman-sans-mono/30d2.png
new file mode 100644
index 0000000..7cd507a
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30d2.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30d3.png b/graphics/font/japanese-medium-roman-sans-mono/30d3.png
new file mode 100644
index 0000000..d29849e
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30d3.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30d4.png b/graphics/font/japanese-medium-roman-sans-mono/30d4.png
new file mode 100644
index 0000000..6c635a9
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30d4.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30d5.png b/graphics/font/japanese-medium-roman-sans-mono/30d5.png
new file mode 100644
index 0000000..c4ac4cf
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30d5.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30d6.png b/graphics/font/japanese-medium-roman-sans-mono/30d6.png
new file mode 100644
index 0000000..65f4ad6
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30d6.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30d7.png b/graphics/font/japanese-medium-roman-sans-mono/30d7.png
new file mode 100644
index 0000000..e2b5c93
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30d7.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30d8.png b/graphics/font/japanese-medium-roman-sans-mono/30d8.png
new file mode 100644
index 0000000..b74b241
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30d8.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30d9.png b/graphics/font/japanese-medium-roman-sans-mono/30d9.png
new file mode 100644
index 0000000..b545d71
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30d9.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30da.png b/graphics/font/japanese-medium-roman-sans-mono/30da.png
new file mode 100644
index 0000000..98c1038
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30da.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30db.png b/graphics/font/japanese-medium-roman-sans-mono/30db.png
new file mode 100644
index 0000000..e9fcd89
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30db.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30dc.png b/graphics/font/japanese-medium-roman-sans-mono/30dc.png
new file mode 100644
index 0000000..0088bc6
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30dc.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30dd.png b/graphics/font/japanese-medium-roman-sans-mono/30dd.png
new file mode 100644
index 0000000..9f49eee
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30dd.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30de.png b/graphics/font/japanese-medium-roman-sans-mono/30de.png
new file mode 100644
index 0000000..df36b13
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30de.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30df.png b/graphics/font/japanese-medium-roman-sans-mono/30df.png
new file mode 100644
index 0000000..58fecf6
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30df.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30e0.png b/graphics/font/japanese-medium-roman-sans-mono/30e0.png
new file mode 100644
index 0000000..b3fb18f
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30e0.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30e1.png b/graphics/font/japanese-medium-roman-sans-mono/30e1.png
new file mode 100644
index 0000000..d114d5e
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30e1.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30e2.png b/graphics/font/japanese-medium-roman-sans-mono/30e2.png
new file mode 100644
index 0000000..ae0e15f
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30e2.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30e3.png b/graphics/font/japanese-medium-roman-sans-mono/30e3.png
new file mode 100644
index 0000000..5f79476
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30e3.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30e4.png b/graphics/font/japanese-medium-roman-sans-mono/30e4.png
new file mode 100644
index 0000000..7dfa675
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30e4.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30e5.png b/graphics/font/japanese-medium-roman-sans-mono/30e5.png
new file mode 100644
index 0000000..13578d4
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30e5.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30e6.png b/graphics/font/japanese-medium-roman-sans-mono/30e6.png
new file mode 100644
index 0000000..99207d1
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30e6.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30e7.png b/graphics/font/japanese-medium-roman-sans-mono/30e7.png
new file mode 100644
index 0000000..9e65f49
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30e7.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30e8.png b/graphics/font/japanese-medium-roman-sans-mono/30e8.png
new file mode 100644
index 0000000..f2ac974
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30e8.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30e9.png b/graphics/font/japanese-medium-roman-sans-mono/30e9.png
new file mode 100644
index 0000000..996809e
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30e9.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30ea.png b/graphics/font/japanese-medium-roman-sans-mono/30ea.png
new file mode 100644
index 0000000..128236f
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30ea.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30eb.png b/graphics/font/japanese-medium-roman-sans-mono/30eb.png
new file mode 100644
index 0000000..47d6363
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30eb.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30ec.png b/graphics/font/japanese-medium-roman-sans-mono/30ec.png
new file mode 100644
index 0000000..15330dc
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30ec.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30ed.png b/graphics/font/japanese-medium-roman-sans-mono/30ed.png
new file mode 100644
index 0000000..a4360a9
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30ed.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30ef.png b/graphics/font/japanese-medium-roman-sans-mono/30ef.png
new file mode 100644
index 0000000..202d354
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30ef.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30f2.png b/graphics/font/japanese-medium-roman-sans-mono/30f2.png
new file mode 100644
index 0000000..52f0556
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30f2.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30f3.png b/graphics/font/japanese-medium-roman-sans-mono/30f3.png
new file mode 100644
index 0000000..32f74d6
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30f3.png
Binary files differ
diff --git a/graphics/font/japanese-medium-roman-sans-mono/30fc.png b/graphics/font/japanese-medium-roman-sans-mono/30fc.png
new file mode 100644
index 0000000..d5362cf
--- /dev/null
+++ b/graphics/font/japanese-medium-roman-sans-mono/30fc.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10d0.png b/graphics/font/symbol-medium-roman-sans-vari/10d0.png
new file mode 100644
index 0000000..fc06873
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10d0.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10d1.png b/graphics/font/symbol-medium-roman-sans-vari/10d1.png
new file mode 100644
index 0000000..7eb8533
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10d1.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10d2.png b/graphics/font/symbol-medium-roman-sans-vari/10d2.png
new file mode 100644
index 0000000..497e4e7
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10d2.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10d3.png b/graphics/font/symbol-medium-roman-sans-vari/10d3.png
new file mode 100644
index 0000000..6a7a83d
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10d3.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10d4.png b/graphics/font/symbol-medium-roman-sans-vari/10d4.png
new file mode 100644
index 0000000..6cfea7f
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10d4.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10d5.png b/graphics/font/symbol-medium-roman-sans-vari/10d5.png
new file mode 100644
index 0000000..2b42cac
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10d5.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10d6.png b/graphics/font/symbol-medium-roman-sans-vari/10d6.png
new file mode 100644
index 0000000..95683f7
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10d6.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10d7.png b/graphics/font/symbol-medium-roman-sans-vari/10d7.png
new file mode 100644
index 0000000..f0547bc
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10d7.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10d8.png b/graphics/font/symbol-medium-roman-sans-vari/10d8.png
new file mode 100644
index 0000000..adeaed0
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10d8.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10d9.png b/graphics/font/symbol-medium-roman-sans-vari/10d9.png
new file mode 100644
index 0000000..f9a5a54
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10d9.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10da.png b/graphics/font/symbol-medium-roman-sans-vari/10da.png
new file mode 100644
index 0000000..0c64d6e
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10da.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10db.png b/graphics/font/symbol-medium-roman-sans-vari/10db.png
new file mode 100644
index 0000000..1d52027
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10db.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10dc.png b/graphics/font/symbol-medium-roman-sans-vari/10dc.png
new file mode 100644
index 0000000..f3491c4
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10dc.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10dd.png b/graphics/font/symbol-medium-roman-sans-vari/10dd.png
new file mode 100644
index 0000000..723a635
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10dd.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10de.png b/graphics/font/symbol-medium-roman-sans-vari/10de.png
new file mode 100644
index 0000000..0593afe
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10de.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10df.png b/graphics/font/symbol-medium-roman-sans-vari/10df.png
new file mode 100644
index 0000000..a9a467d
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10df.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10e0.png b/graphics/font/symbol-medium-roman-sans-vari/10e0.png
new file mode 100644
index 0000000..920fd68
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10e0.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10e1.png b/graphics/font/symbol-medium-roman-sans-vari/10e1.png
new file mode 100644
index 0000000..9b705da
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10e1.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10e2.png b/graphics/font/symbol-medium-roman-sans-vari/10e2.png
new file mode 100644
index 0000000..54ef6e3
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10e2.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10e3.png b/graphics/font/symbol-medium-roman-sans-vari/10e3.png
new file mode 100644
index 0000000..64e3d1f
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10e3.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10e4.png b/graphics/font/symbol-medium-roman-sans-vari/10e4.png
new file mode 100644
index 0000000..8f2b358
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10e4.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10e5.png b/graphics/font/symbol-medium-roman-sans-vari/10e5.png
new file mode 100644
index 0000000..989c49d
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10e5.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10e6.png b/graphics/font/symbol-medium-roman-sans-vari/10e6.png
new file mode 100644
index 0000000..d344ae0
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10e6.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10e7.png b/graphics/font/symbol-medium-roman-sans-vari/10e7.png
new file mode 100644
index 0000000..afc8863
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10e7.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10e8.png b/graphics/font/symbol-medium-roman-sans-vari/10e8.png
new file mode 100644
index 0000000..d7a4120
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10e8.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10e9.png b/graphics/font/symbol-medium-roman-sans-vari/10e9.png
new file mode 100644
index 0000000..af04848
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10e9.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10ea.png b/graphics/font/symbol-medium-roman-sans-vari/10ea.png
new file mode 100644
index 0000000..6b4ac34
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10ea.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10eb.png b/graphics/font/symbol-medium-roman-sans-vari/10eb.png
new file mode 100644
index 0000000..bf9c93a
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10eb.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10ec.png b/graphics/font/symbol-medium-roman-sans-vari/10ec.png
new file mode 100644
index 0000000..69f8e89
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10ec.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10ed.png b/graphics/font/symbol-medium-roman-sans-vari/10ed.png
new file mode 100644
index 0000000..45b2386
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10ed.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10ee.png b/graphics/font/symbol-medium-roman-sans-vari/10ee.png
new file mode 100644
index 0000000..9bbaca4
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10ee.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10ef.png b/graphics/font/symbol-medium-roman-sans-vari/10ef.png
new file mode 100644
index 0000000..eb763f6
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10ef.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10f0.png b/graphics/font/symbol-medium-roman-sans-vari/10f0.png
new file mode 100644
index 0000000..9468754
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10f0.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10f1.png b/graphics/font/symbol-medium-roman-sans-vari/10f1.png
new file mode 100644
index 0000000..d4d729c
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10f1.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10f2.png b/graphics/font/symbol-medium-roman-sans-vari/10f2.png
new file mode 100644
index 0000000..5a9bfca
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10f2.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10f3.png b/graphics/font/symbol-medium-roman-sans-vari/10f3.png
new file mode 100644
index 0000000..15be041
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10f3.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10f4.png b/graphics/font/symbol-medium-roman-sans-vari/10f4.png
new file mode 100644
index 0000000..dd6d3b8
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10f4.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10f5.png b/graphics/font/symbol-medium-roman-sans-vari/10f5.png
new file mode 100644
index 0000000..20853a0
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10f5.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/10f6.png b/graphics/font/symbol-medium-roman-sans-vari/10f6.png
new file mode 100644
index 0000000..c69dc94
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/10f6.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25a0.png b/graphics/font/symbol-medium-roman-sans-vari/25a0.png
new file mode 100644
index 0000000..70ebd4c
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25a0.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25a1.png b/graphics/font/symbol-medium-roman-sans-vari/25a1.png
new file mode 100644
index 0000000..5a2d06f
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25a1.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25a2.png b/graphics/font/symbol-medium-roman-sans-vari/25a2.png
new file mode 100644
index 0000000..4e0035e
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25a2.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25a3.png b/graphics/font/symbol-medium-roman-sans-vari/25a3.png
new file mode 100644
index 0000000..f2105bd
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25a3.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25a4.png b/graphics/font/symbol-medium-roman-sans-vari/25a4.png
new file mode 100644
index 0000000..0302eb1
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25a4.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25a5.png b/graphics/font/symbol-medium-roman-sans-vari/25a5.png
new file mode 100644
index 0000000..2732bdf
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25a5.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25a6.png b/graphics/font/symbol-medium-roman-sans-vari/25a6.png
new file mode 100644
index 0000000..665e4a5
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25a6.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25a7.png b/graphics/font/symbol-medium-roman-sans-vari/25a7.png
new file mode 100644
index 0000000..bfb9b0a
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25a7.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25a8.png b/graphics/font/symbol-medium-roman-sans-vari/25a8.png
new file mode 100644
index 0000000..64e5d5c
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25a8.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25a9.png b/graphics/font/symbol-medium-roman-sans-vari/25a9.png
new file mode 100644
index 0000000..81de7a2
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25a9.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25aa.png b/graphics/font/symbol-medium-roman-sans-vari/25aa.png
new file mode 100644
index 0000000..7a0fbaa
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25aa.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25ab.png b/graphics/font/symbol-medium-roman-sans-vari/25ab.png
new file mode 100644
index 0000000..54bf304
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25ab.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25ac.png b/graphics/font/symbol-medium-roman-sans-vari/25ac.png
new file mode 100644
index 0000000..f92f10c
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25ac.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25ad.png b/graphics/font/symbol-medium-roman-sans-vari/25ad.png
new file mode 100644
index 0000000..fef1610
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25ad.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25ae.png b/graphics/font/symbol-medium-roman-sans-vari/25ae.png
new file mode 100644
index 0000000..c273eb1
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25ae.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25af.png b/graphics/font/symbol-medium-roman-sans-vari/25af.png
new file mode 100644
index 0000000..58fd8c5
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25af.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25b0.png b/graphics/font/symbol-medium-roman-sans-vari/25b0.png
new file mode 100644
index 0000000..7a29baa
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25b0.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25b1.png b/graphics/font/symbol-medium-roman-sans-vari/25b1.png
new file mode 100644
index 0000000..08a96ed
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25b1.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25b2.png b/graphics/font/symbol-medium-roman-sans-vari/25b2.png
new file mode 100644
index 0000000..a57928f
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25b2.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25b3.png b/graphics/font/symbol-medium-roman-sans-vari/25b3.png
new file mode 100644
index 0000000..ff4a5d7
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25b3.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25b4.png b/graphics/font/symbol-medium-roman-sans-vari/25b4.png
new file mode 100644
index 0000000..3b4a752
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25b4.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25b5.png b/graphics/font/symbol-medium-roman-sans-vari/25b5.png
new file mode 100644
index 0000000..bd53fef
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25b5.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25b6.png b/graphics/font/symbol-medium-roman-sans-vari/25b6.png
new file mode 100644
index 0000000..2ee0da3
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25b6.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25b7.png b/graphics/font/symbol-medium-roman-sans-vari/25b7.png
new file mode 100644
index 0000000..b54d98f
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25b7.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25b8.png b/graphics/font/symbol-medium-roman-sans-vari/25b8.png
new file mode 100644
index 0000000..f975fce
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25b8.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25b9.png b/graphics/font/symbol-medium-roman-sans-vari/25b9.png
new file mode 100644
index 0000000..4b98840
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25b9.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25ba.png b/graphics/font/symbol-medium-roman-sans-vari/25ba.png
new file mode 100644
index 0000000..ebb3608
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25ba.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25bb.png b/graphics/font/symbol-medium-roman-sans-vari/25bb.png
new file mode 100644
index 0000000..820f644
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25bb.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25bc.png b/graphics/font/symbol-medium-roman-sans-vari/25bc.png
new file mode 100644
index 0000000..fff4e49
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25bc.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25bd.png b/graphics/font/symbol-medium-roman-sans-vari/25bd.png
new file mode 100644
index 0000000..741d59c
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25bd.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25be.png b/graphics/font/symbol-medium-roman-sans-vari/25be.png
new file mode 100644
index 0000000..255da17
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25be.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25bf.png b/graphics/font/symbol-medium-roman-sans-vari/25bf.png
new file mode 100644
index 0000000..34aa278
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25bf.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25c0.png b/graphics/font/symbol-medium-roman-sans-vari/25c0.png
new file mode 100644
index 0000000..9cbaf62
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25c0.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25c1.png b/graphics/font/symbol-medium-roman-sans-vari/25c1.png
new file mode 100644
index 0000000..0ba32fd
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25c1.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25c2.png b/graphics/font/symbol-medium-roman-sans-vari/25c2.png
new file mode 100644
index 0000000..06cfeff
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25c2.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25c3.png b/graphics/font/symbol-medium-roman-sans-vari/25c3.png
new file mode 100644
index 0000000..92489b7
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25c3.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25c4.png b/graphics/font/symbol-medium-roman-sans-vari/25c4.png
new file mode 100644
index 0000000..e37ea9c
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25c4.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25c5.png b/graphics/font/symbol-medium-roman-sans-vari/25c5.png
new file mode 100644
index 0000000..bfadb4e
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25c5.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25c6.png b/graphics/font/symbol-medium-roman-sans-vari/25c6.png
new file mode 100644
index 0000000..8f67ed2
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25c6.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25c7.png b/graphics/font/symbol-medium-roman-sans-vari/25c7.png
new file mode 100644
index 0000000..2d3dc0e
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25c7.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25c8.png b/graphics/font/symbol-medium-roman-sans-vari/25c8.png
new file mode 100644
index 0000000..d4202ff
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25c8.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25c9.png b/graphics/font/symbol-medium-roman-sans-vari/25c9.png
new file mode 100644
index 0000000..e704650
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25c9.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25ca.png b/graphics/font/symbol-medium-roman-sans-vari/25ca.png
new file mode 100644
index 0000000..07501d0
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25ca.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25cb.png b/graphics/font/symbol-medium-roman-sans-vari/25cb.png
new file mode 100644
index 0000000..6a4f860
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25cb.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25cc.png b/graphics/font/symbol-medium-roman-sans-vari/25cc.png
new file mode 100644
index 0000000..8026f04
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25cc.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25cd.png b/graphics/font/symbol-medium-roman-sans-vari/25cd.png
new file mode 100644
index 0000000..aa8774f
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25cd.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25ce.png b/graphics/font/symbol-medium-roman-sans-vari/25ce.png
new file mode 100644
index 0000000..937da61
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25ce.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25cf.png b/graphics/font/symbol-medium-roman-sans-vari/25cf.png
new file mode 100644
index 0000000..3cbcb3b
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25cf.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25d0.png b/graphics/font/symbol-medium-roman-sans-vari/25d0.png
new file mode 100644
index 0000000..c24f1bf
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25d0.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25d1.png b/graphics/font/symbol-medium-roman-sans-vari/25d1.png
new file mode 100644
index 0000000..b8c4b32
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25d1.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25d2.png b/graphics/font/symbol-medium-roman-sans-vari/25d2.png
new file mode 100644
index 0000000..ded3954
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25d2.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25d3.png b/graphics/font/symbol-medium-roman-sans-vari/25d3.png
new file mode 100644
index 0000000..6b774a6
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25d3.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25d4.png b/graphics/font/symbol-medium-roman-sans-vari/25d4.png
new file mode 100644
index 0000000..0c9b05e
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25d4.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25d5.png b/graphics/font/symbol-medium-roman-sans-vari/25d5.png
new file mode 100644
index 0000000..da6a874
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25d5.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25d6.png b/graphics/font/symbol-medium-roman-sans-vari/25d6.png
new file mode 100644
index 0000000..8855a22
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25d6.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25d7.png b/graphics/font/symbol-medium-roman-sans-vari/25d7.png
new file mode 100644
index 0000000..75d7dee
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25d7.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25d8.png b/graphics/font/symbol-medium-roman-sans-vari/25d8.png
new file mode 100644
index 0000000..38ba321
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25d8.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25d9.png b/graphics/font/symbol-medium-roman-sans-vari/25d9.png
new file mode 100644
index 0000000..444f3db
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25d9.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25da.png b/graphics/font/symbol-medium-roman-sans-vari/25da.png
new file mode 100644
index 0000000..c76dd47
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25da.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25db.png b/graphics/font/symbol-medium-roman-sans-vari/25db.png
new file mode 100644
index 0000000..4a9b62d
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25db.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25dc.png b/graphics/font/symbol-medium-roman-sans-vari/25dc.png
new file mode 100644
index 0000000..7e9575f
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25dc.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25dd.png b/graphics/font/symbol-medium-roman-sans-vari/25dd.png
new file mode 100644
index 0000000..4884448
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25dd.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25de.png b/graphics/font/symbol-medium-roman-sans-vari/25de.png
new file mode 100644
index 0000000..e97a033
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25de.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25df.png b/graphics/font/symbol-medium-roman-sans-vari/25df.png
new file mode 100644
index 0000000..d363cff
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25df.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25e0.png b/graphics/font/symbol-medium-roman-sans-vari/25e0.png
new file mode 100644
index 0000000..6ac3cd7
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25e0.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25e1.png b/graphics/font/symbol-medium-roman-sans-vari/25e1.png
new file mode 100644
index 0000000..1347973
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25e1.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25e2.png b/graphics/font/symbol-medium-roman-sans-vari/25e2.png
new file mode 100644
index 0000000..4541606
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25e2.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25e3.png b/graphics/font/symbol-medium-roman-sans-vari/25e3.png
new file mode 100644
index 0000000..a95d768
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25e3.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25e4.png b/graphics/font/symbol-medium-roman-sans-vari/25e4.png
new file mode 100644
index 0000000..8b9e9c8
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25e4.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25e5.png b/graphics/font/symbol-medium-roman-sans-vari/25e5.png
new file mode 100644
index 0000000..98bc8fa
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25e5.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25e6.png b/graphics/font/symbol-medium-roman-sans-vari/25e6.png
new file mode 100644
index 0000000..fd55872
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25e6.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25e7.png b/graphics/font/symbol-medium-roman-sans-vari/25e7.png
new file mode 100644
index 0000000..00f13dc
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25e7.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25e8.png b/graphics/font/symbol-medium-roman-sans-vari/25e8.png
new file mode 100644
index 0000000..44b7187
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25e8.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25e9.png b/graphics/font/symbol-medium-roman-sans-vari/25e9.png
new file mode 100644
index 0000000..45345cc
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25e9.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25ea.png b/graphics/font/symbol-medium-roman-sans-vari/25ea.png
new file mode 100644
index 0000000..31bacf9
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25ea.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25eb.png b/graphics/font/symbol-medium-roman-sans-vari/25eb.png
new file mode 100644
index 0000000..9e9aa6a
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25eb.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25ec.png b/graphics/font/symbol-medium-roman-sans-vari/25ec.png
new file mode 100644
index 0000000..b0df4dc
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25ec.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25ed.png b/graphics/font/symbol-medium-roman-sans-vari/25ed.png
new file mode 100644
index 0000000..940312a
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25ed.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25ee.png b/graphics/font/symbol-medium-roman-sans-vari/25ee.png
new file mode 100644
index 0000000..ac2d5f5
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25ee.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25ef.png b/graphics/font/symbol-medium-roman-sans-vari/25ef.png
new file mode 100644
index 0000000..6a4f860
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25ef.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25f0.png b/graphics/font/symbol-medium-roman-sans-vari/25f0.png
new file mode 100644
index 0000000..5ea621a
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25f0.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25f1.png b/graphics/font/symbol-medium-roman-sans-vari/25f1.png
new file mode 100644
index 0000000..708ca9c
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25f1.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25f2.png b/graphics/font/symbol-medium-roman-sans-vari/25f2.png
new file mode 100644
index 0000000..5ccc07a
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25f2.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25f3.png b/graphics/font/symbol-medium-roman-sans-vari/25f3.png
new file mode 100644
index 0000000..d722bdd
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25f3.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25f4.png b/graphics/font/symbol-medium-roman-sans-vari/25f4.png
new file mode 100644
index 0000000..fa37803
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25f4.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25f5.png b/graphics/font/symbol-medium-roman-sans-vari/25f5.png
new file mode 100644
index 0000000..3b75df3
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25f5.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25f6.png b/graphics/font/symbol-medium-roman-sans-vari/25f6.png
new file mode 100644
index 0000000..9a69a40
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25f6.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/25f7.png b/graphics/font/symbol-medium-roman-sans-vari/25f7.png
new file mode 100644
index 0000000..b05960d
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/25f7.png
Binary files differ
diff --git a/graphics/font/symbol-medium-roman-sans-vari/aliases b/graphics/font/symbol-medium-roman-sans-vari/aliases
new file mode 100644
index 0000000..aa701eb
--- /dev/null
+++ b/graphics/font/symbol-medium-roman-sans-vari/aliases
@@ -0,0 +1,4 @@
+dingbats
+georgian
+zapf
+chancery
diff --git a/graphics/gen b/graphics/gen
new file mode 100755
index 0000000..ea329f1
--- /dev/null
+++ b/graphics/gen
@@ -0,0 +1,7 @@
+#!/bin/sh
+make arrow generate_font &&
+./arrow &&
+./generate_font &&
+rm arrow generate_font &&
+mv font_include.c .. &&
+mv arrow.inc ..
diff --git a/graphics/generate_font.c b/graphics/generate_font.c
new file mode 100644
index 0000000..9218461
--- /dev/null
+++ b/graphics/generate_font.c
@@ -0,0 +1,490 @@
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <png.h>
+
+#ifndef PROGNAME
+#define PROGNAME "generate_font"
+#endif /* #ifndef PROGNAME */
+
+struct letter{
+ int begin; /* Begin in the byte stream */
+ int length; /* Length (in bytes) of the PNG data in the byte stream */
+ int code; /* Unicode code of the character */
+ int xsize;
+ int ysize;
+ void *foo;
+ void *bar;
+};
+
+struct font{
+ unsigned char *family;
+ unsigned char *weight;
+ unsigned char *slant;
+ unsigned char *adstyl;
+ unsigned char *spacing;
+ int n_letters; /* Number of letters in this font */
+ struct letter *letters;
+};
+
+struct font *fonts;
+int n_fonts;
+int n_letters;
+int stamp;
+
+int file_select(const struct dirent * entry)
+{
+
+ char *s=entry->d_name;
+ FILE *f;
+
+ if (strlen(s)!=8) return 0;
+ if (!((s[0]>='0'&&s[0]<='9')||(s[0]>='a'&&s[0]<='f'))) return 0;
+ if (!((s[1]>='0'&&s[1]<='9')||(s[1]>='a'&&s[1]<='f'))) return 0;
+ if (!((s[2]>='0'&&s[2]<='9')||(s[2]>='a'&&s[2]<='f'))) return 0;
+ if (!((s[3]>='0'&&s[3]<='9')||(s[3]>='a'&&s[3]<='f'))) return 0;
+ if (s[4]!='.'||s[5]!='p'||s[6]!='n'||s[7]!='g') return 0;
+ f=fopen(s,"r");
+ if (!f) return 0; /* If it can't be open as a file then it's probably
+ * a directory
+ */
+ fclose(f);
+ return 1;
+}
+
+/* If the directory name has bad structure (must have 4 dashes in the name),
+ * then nothing is done
+ * Fills weight, slant, adstyl, spacing with appropriate strings
+ * Returns 1 if the input should be skipped.
+ */
+int parse_font_name(unsigned char *input, unsigned char **family,
+ unsigned char **weight, unsigned char ** slant, unsigned char ** adstyl,
+ unsigned char ** spacing)
+{
+ int dashes=0;
+ unsigned char *p, *r;
+ FILE *f;
+ unsigned char alias[256];
+
+ p=input;
+ while(*p){
+ if (*p=='-') dashes++;
+ p++;
+ }
+ if (dashes!=4) return 1; /* Invalid name structure -- ignore this entry */
+ if (chdir(input)){
+ /* Is a directory and has appropriate name, but can't
+ * change into.
+ */
+ fprintf(stderr,"%s: can't change into directory %s.\n",
+ PROGNAME, input);
+ perror(PROGNAME);
+ exit(1);
+ }
+ p=input;
+ r=p;
+ while (*r!='-') r++;
+ *family=malloc(r-p+1);
+ if (!*family){
+ fprintf(stderr,"Out of memory.\n");
+ exit(1);
+ }
+ memcpy(*family,p,r-p);
+ (*family)[r-p]=0;
+ r++;
+ p=r;
+ while (*r!='-') r++;
+ *weight=malloc(r-p+1);
+ if (!*weight){
+ fprintf(stderr,"Out of memory.\n");
+ exit(1);
+ }
+ memcpy(*weight,p,r-p);
+ (*weight)[r-p]=0;
+ r++;
+ p=r;
+ while (*r!='-') r++;
+ *slant=malloc(r-p+1);
+ if (!*slant){
+ fprintf(stderr,"Out of memory.\n");
+ exit(1);
+ }
+ memcpy(*slant,p,r-p);
+ (*slant)[r-p]=0;
+ r++;
+ p=r;
+ while (*r!='-') r++;
+ *adstyl=malloc(r-p+1);
+ if (!*adstyl){
+ fprintf(stderr,"Out of memory.\n");
+ exit(1);
+ }
+ memcpy(*adstyl,p,r-p);
+ (*adstyl)[r-p]=0;
+ r++;
+ p=r;
+ while (*r) r++;
+ *spacing=malloc(r-p+1);
+ if (!*spacing){
+ fprintf(stderr,"Out of memory.\n");
+ exit(1);
+ }
+ memcpy(*spacing,p,r-p);
+ (*spacing)[r-p]=0;
+ /* Now let's append the aliases file contents */
+ f=fopen("aliases","r");
+ if (f){
+ while(fgets(alias,sizeof(alias),f)){
+ int length=strlen(alias);
+
+ while(length>0&&alias[length-1]=='\n')length--;
+ while(length>0&&alias[length-1]==' ')length--;
+ while(length>0&&alias[length-1]=='\t')length--;
+ alias[length]=0;
+ if (!length) continue;
+ *family=realloc(*family,strlen(*family)+2+strlen(alias));
+ strcpy(*family+strlen(*family),"-");
+ strcpy(*family+strlen(*family),alias);
+ }
+ fclose(f);
+ }
+ return 0;
+}
+
+/* Doesn't free the strings, just pushes them into the global structure */
+void add_font_name(unsigned char *family, unsigned char *weight,unsigned char
+*slant, unsigned char *adstyl, unsigned char *spacing)
+{
+ struct font *f;
+
+ n_fonts++;
+ fonts=realloc(fonts,n_fonts*sizeof(*fonts));
+ if (!fonts){
+ fprintf(stderr,"%s: Out of memory\n",PROGNAME);
+ exit(1);
+ }
+ f=fonts+n_fonts-1;
+ f->family=family;
+ f->weight=weight;
+ f->slant=slant;
+ f->adstyl=adstyl;
+ f->spacing=spacing;
+}
+
+void get_png_dimensions(int *x, int *y, FILE * stream)
+{
+ png_structp png_ptr;
+ png_infop info_ptr;
+
+ png_ptr=png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL,
+ NULL);
+ info_ptr=png_create_info_struct(png_ptr);
+ png_init_io(png_ptr,stream);
+ png_read_info(png_ptr, info_ptr);
+ *x=png_get_image_width(png_ptr,info_ptr);
+ *y=png_get_image_height(png_ptr,info_ptr);
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+}
+
+/* Returns forbidden_0_to_7 for next char. */
+int print_char(FILE *output, int c, int forbidden_0_to_7)
+{
+ static int char_pos=0; /* To not makes lines excessively long. */
+
+ if (char_pos>=70){
+ fputs("\"\n\"",output);
+ char_pos=0;
+ }
+ switch(c){
+ case '\n':
+ fputs("\\n",output);
+two:
+ char_pos+=2;
+ forbidden_0_to_7=0;
+ break;
+
+ case '\t':
+ fputs("\\t",output); goto two;
+
+ case '\b':
+ fputs("\\b",output); goto two;
+
+ case '\r':
+ fputs("\\r",output); goto two;
+
+ case '\f':
+ fputs("\\f",output); goto two;
+
+ case '\\':
+ fputs("\\\\",output); goto two;
+
+ case '\'':
+ fputs("\\\'",output); goto two;
+
+ default:
+ if (c<' '||c=='"'||c=='?'||c>126
+ ||(c>='0'&&c<='7'&&forbidden_0_to_7)){
+ fprintf(output,"\\%o",c);
+ if (c>=0100) char_pos+=4;
+ else if (c>=010) char_pos+=3;
+ else char_pos+=2;
+ forbidden_0_to_7=(c<0100);
+ }else{
+ fprintf(output,"%c",c);
+ char_pos++;
+ forbidden_0_to_7=0;
+
+ }
+ break;
+ }
+ return forbidden_0_to_7;
+}
+
+
+/* name: path to file to process
+ * output: where to put the C code
+ * char_number: number of the char. -1 means do not write anything into the tables.
+*/
+static inline void process_file(unsigned char *name,
+ FILE*output, int char_number)
+{
+ FILE *f;
+ int c;
+ int letter_code=letter_code;
+ int count=0;
+ unsigned char btr[5];
+ int forbidden_0_to_7;
+
+ f=fopen(name,"r");
+ if (!f){
+ fprintf(stderr,"%s can't open file %s.\n",PROGNAME,
+ name);
+ perror(PROGNAME);
+ exit(1);
+ }
+ if (char_number>=0){
+ memcpy(btr,name,4);
+ btr[4]=0;
+ letter_code=strtoul(btr,NULL,16);
+ fonts[n_fonts-1].letters[char_number].begin=stamp;
+ }
+ fprintf(output,"\"");
+ forbidden_0_to_7=0;
+
+ while(EOF!=(c=fgetc(f))){
+ forbidden_0_to_7=print_char(output,c,forbidden_0_to_7);
+ stamp++;
+ count++;
+ }
+ fprintf(output,"\"\n");
+ rewind(f);
+ fonts[n_fonts-1].letters[char_number].length=count;
+ fonts[n_fonts-1].letters[char_number].code=letter_code;
+ get_png_dimensions(&(fonts[n_fonts-1].letters[char_number].xsize),
+ &(fonts[n_fonts-1].letters[char_number].ysize),f);
+ fclose(f);
+}
+
+void process_letters(FILE *output)
+{
+ struct dirent **namelist;
+ struct dirent **ptr;
+ int nr,a;
+
+ nr=scandir(".",&namelist,file_select,alphasort);
+ if (nr<0){
+ perror(PROGNAME);
+ exit(1);
+ }
+ fonts[n_fonts-1].n_letters=nr;
+ if (!nr) return;
+ if (nr<0){
+ perror(PROGNAME);
+ exit(1);
+ }
+ n_letters+=nr;
+ fonts[n_fonts-1].letters=malloc(sizeof(struct letter)*nr);
+ if (!(fonts[n_fonts-1].letters)){
+ fprintf(stderr,"%s: Out of memory", PROGNAME);
+ exit(1);
+ }
+ ptr=namelist;
+ for(a=0;a<nr;a++){
+ process_file((*ptr)->d_name,output,a);
+ free(*ptr);
+ ptr++;
+ }
+ free(namelist);
+}
+
+/* build_font_table:
+ * scans the font directory
+ * for each directory:
+ * * renews font description structures
+ * * scans the images
+ * * builds a binary search array
+ * * writes the font structure into the ../font_include.c
+ * * releases font description structures
+ * Also prints the font_data byte table.
+ */
+void build_font_table(FILE *output)
+{
+ struct dirent *directory_entry;
+ unsigned char *directory_name;
+ DIR *dir;
+ struct stat stat0;
+ unsigned char *family, *weight, *slant, *adstyl, *spacing;
+
+ directory_name="system_font";
+ if (0>chdir(directory_name)){
+ fprintf(stderr,"%s: can't change into directory %s.\n",
+ PROGNAME,directory_name);
+ perror(PROGNAME);
+ exit(1);
+ }
+ add_font_name("","","","","");
+ process_letters(output);
+ if (0>chdir("..")){
+ perror(PROGNAME);
+ exit(1);
+ }
+
+ directory_name="font";
+ dir=opendir(directory_name);
+ if (0>chdir(directory_name)){
+ fprintf(stderr,"%s can't change into directory %s.\n",
+ PROGNAME,directory_name);
+ perror(PROGNAME);
+ exit(1);
+ }
+ if (!dir){
+ fprintf(stderr,"%s can't opendir() directory %s.\n",PROGNAME,
+ directory_name);
+ perror(PROGNAME);
+ exit(1);
+ }
+ while((directory_entry=readdir(dir))){
+ if (0>stat(directory_entry->d_name,&stat0)) continue;
+ /* Can't be stated
+ */
+ if (!S_ISDIR(stat0.st_mode)) continue; /* Is no directory */
+ /* Process the directory */
+ if (parse_font_name(directory_entry->d_name,&family,&weight,&slant,
+ &adstyl,&spacing))
+ {
+ continue; /* Inappropriate name */
+ }
+ /* If the directory is name a-... and in a-../aliases there
+ * is
+ * b
+ * c
+ * d
+ *, then family is a-b-c-d.
+ */
+ add_font_name(family,weight,slant,adstyl,spacing);
+ process_letters(output);
+ if (0>chdir("..")){
+ perror(PROGNAME);
+ exit(1);
+ }
+ }
+ fprintf(output,"\n};\n");
+}
+
+void print_string(unsigned char * ptr, FILE * output)
+{
+ int forbidden_0_to_7;
+
+ fprintf(output,"\"");
+ forbidden_0_to_7=0;
+ while(*ptr) forbidden_0_to_7=print_char(output,*ptr++,forbidden_0_to_7);
+ fprintf(output,"\"");
+}
+
+void print_letter(struct letter *p, FILE * output)
+{
+ fprintf(output,"{0x%08x,0x%08x,0x%08x,% 5d,% 5d, 0, 0}",p->begin,p->length,
+ p->code, p->xsize, p->ysize);
+}
+
+
+void print_font(int a, FILE * output)
+{
+ struct font *f=fonts+a;
+
+ fprintf(output,"{\n");
+ print_string(f->family,output);
+ fprintf(output,",\n");
+ print_string(f->weight,output);
+ fprintf(output,",\n");
+ print_string(f->slant,output);
+ fprintf(output,",\n");
+ print_string(f->adstyl,output);
+ fprintf(output,",\n");
+ print_string(f->spacing,output);
+ fprintf(output,",\n");
+ fprintf(output,"%d,\n",n_letters);
+ fprintf(output,"%d,\n",f->n_letters);
+ n_letters+=f->n_letters;
+ fprintf(output,"},\n");
+}
+
+void print_font_table(FILE *output)
+{
+ int a;
+ int index;
+
+ fprintf(output,"/* Font data %d bytes */\n\n",stamp);
+ fprintf(output,"struct letter letter_data[%d]={\n",n_letters);
+ for (a=0;a<n_fonts;a++){
+ struct letter *ptr=fonts[a].letters;
+ int count=fonts[a].n_letters;
+
+ for(;count;count--){
+ print_letter(ptr,output);
+ fprintf(output,",\n");
+ ptr++;
+ }
+ }
+ fprintf(output,"};\n\n");
+ fprintf(output,"struct font font_table[%d]={\n",n_fonts);
+ n_letters=0;
+ for (a=0,index=0;a<n_fonts;a++){
+ print_font(a,output);
+ }
+ fprintf(output,"};\n");
+ fprintf(output,"\nint n_fonts=%d;\n",n_fonts);
+}
+
+int main(int argc, char **argv)
+{
+ FILE *output;
+ int retval;
+
+ while(!(output=fopen("font_include.c","w"))
+ &&(errno==EAGAIN||errno==EINTR));
+ if (!output){
+ fprintf(stderr,PROGNAME ": ");
+ perror("font_include.c");
+ exit(1);
+ }
+
+ fprintf(output,"#include \"cfg.h\"\n\n");
+ fprintf(output,"#ifdef G\n\n");
+ fprintf(output,"#include \"links.h\"\n\n");
+ fprintf(output,"unsigned char font_data[]={\n");
+ build_font_table(output);
+ print_font_table(output);
+ fprintf(output,"\n\n#endif\n\n");
+ while ((retval=fclose(output)&&(errno==EAGAIN||errno==EINTR)));
+ if (retval){
+ perror(PROGNAME);
+ exit(1);
+ }
+ return 0;
+}
diff --git a/graphics/genps.c b/graphics/genps.c
new file mode 100644
index 0000000..2e9708e
--- /dev/null
+++ b/graphics/genps.c
@@ -0,0 +1,51 @@
+#include <stdio.h>
+
+/* Begin of user-settable variables */
+float font_pos=300; /* Default: 300 */
+float font_height=392.9619; /* Default: 392.9619 */
+float h_margin=100; /* Default: 100 */
+float v_margin=120; /* Default: 120 */
+float paper_height=842; /* Do not change paper_height unless you know what you are
+ * doing. Default: 842 */
+/* End of user=settable variables */
+
+#define FONT "Links-generated"
+
+int main(int argc, char **argv)
+{
+ FILE *f=fopen("letters.ps","w");
+ int a;
+
+ fprintf (f,"%%!PS-Adobe-1.0\n%%%%DocumentFonts: %s\n"
+ "%%%%Title: Bitmapped font generator\n%%%%Pages: %d\n"
+/* "%%%%BoundingBox: 0 0 150 250\n" */
+ "%%%%EndProlog\n\n",FONT,256);
+/* fprintf(f,"/.setpagesize { /statusdict .systemvar "
+ "begin .setpagesize end } bind def\n"
+ "userdict begin\n"
+ "/links {15 25 //.setpagesize exec} bind def\n"
+ "end\n"
+ "currentdict /.setpagesize .undef\n");
+*/
+ for (a=0;a<256;a++){
+ fprintf (f,"%%%%Page: %d %d\n",a,a+1);
+ fprintf (f,"/%s\n",FONT);
+ fprintf (f,"findfont %f scalefont setfont %f %f"
+ " moveto\n",font_height,h_margin,
+ font_pos);
+ fprintf (f,"<%02x> show ",a);
+ fprintf (f,"0 %f rmoveto 0 %f ",paper_height-font_pos
+ -v_margin,v_margin);
+ fprintf (f,"rlineto %f %f ",h_margin
+ ,paper_height);
+ fprintf (f,"lineto %f %f ",h_margin,paper_height-v_margin);
+ fprintf (f,"lineto fill %f 0 moveto <%02x> ",h_margin,a);
+ fprintf (f,"stringwidth rlineto 0 %f rlineto %f %f ",
+ v_margin, h_margin,v_margin);
+ fprintf (f,"lineto fill showpage\n");
+ }
+ fprintf (f,"%%%%Trailer\n");
+ fclose(f);
+ return 0;
+}
+
diff --git a/graphics/improcess.c b/graphics/improcess.c
new file mode 100644
index 0000000..8fe68e9
--- /dev/null
+++ b/graphics/improcess.c
@@ -0,0 +1,480 @@
+/* (c) 2001 Karel 'Clock' Kulhavy
+ * Serves the purpose to manipulate grayscale PNG images according to a
+ * linear command list.
+ * commandline format: improcess input_filename command_filename output_filename
+ * Internal format: a 2D field of unsigned's
+ * 0x000000 black
+ * 0xffffff white
+ * Commandfile format:
+ * command argument1 argument2...
+ * command argument1 argument2...
+ * .
+ * .
+ * .
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <png.h>
+
+int *image;
+int xs,ys;
+int force_gamma_1;
+
+void read_png(unsigned char *filename)
+{
+ unsigned char *temporary_array;
+ png_structp png_ptr;
+ png_infop info_ptr;
+ double gamma;
+ int y1,number_of_passes;
+ unsigned char **ptrs;
+ FILE *f;
+
+ f=fopen(filename,"r");
+ png_ptr=png_create_read_struct(PNG_LIBPNG_VER_STRING,
+ NULL, NULL, NULL);
+ info_ptr=png_create_info_struct(png_ptr);
+ png_init_io(png_ptr,f);
+ png_read_info(png_ptr, info_ptr);
+ xs=png_get_image_width(png_ptr,info_ptr);
+ ys=png_get_image_height(png_ptr,info_ptr);
+ if (png_get_gAMA(png_ptr,info_ptr, &gamma))
+ {
+ if (force_gamma_1) png_set_gamma(png_ptr, 1.0, 1.0);
+ /* Forcing gamma is here for repairing files after processing
+ * with GIMP, which deliberately writes gamma=00 00 b1 8f
+ * even when input gamma was 00 01 86 a0 and no gamma setting
+ * change is performed by user (simply saind, GIMP is
+ * braindead)
+ */
+ else png_set_gamma(png_ptr, 1.0, gamma);
+ }
+ else
+ {
+ png_set_gamma(png_ptr, 1.0, 0.454545);
+ }
+ {
+ int bit_depth;
+ int color_type;
+
+ color_type=png_get_color_type(png_ptr, info_ptr);
+ bit_depth=png_get_bit_depth(png_ptr, info_ptr);
+ if (color_type==PNG_COLOR_TYPE_GRAY){
+ if (bit_depth<8){
+ png_set_expand(png_ptr);
+ }
+ if (bit_depth==16){
+ png_set_strip_16(png_ptr);
+ }
+ }
+ if (color_type==PNG_COLOR_TYPE_PALETTE){
+ png_set_expand(png_ptr);
+ png_set_rgb_to_gray(png_ptr,1,54.0/256,183.0/256);
+ }
+ if (color_type & PNG_COLOR_MASK_ALPHA){
+ png_set_strip_alpha(png_ptr);
+ }
+ if (color_type==PNG_COLOR_TYPE_RGB ||
+ color_type==PNG_COLOR_TYPE_RGB_ALPHA){
+ png_set_rgb_to_gray(png_ptr, 1, 54.0/256, 183.0/256);
+ }
+
+ }
+ /* If the depth is different from 8 bits/gray, make the libpng expand
+ * it to 8 bit gray.
+ */
+ number_of_passes=png_set_interlace_handling(png_ptr);
+ png_read_update_info(png_ptr,info_ptr);
+ temporary_array=malloc(xs*ys);
+ image=malloc(xs*ys*sizeof(image));
+ ptrs=malloc(ys*sizeof(*ptrs));
+ for (y1=0;y1<ys;y1++) ptrs[y1]=temporary_array+xs*y1;
+ for (;number_of_passes;number_of_passes--){
+ png_read_rows(png_ptr, ptrs, NULL, ys);
+ }
+ png_read_end(png_ptr, NULL);
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ {
+ int *imptr=image;
+ unsigned char *tptr=temporary_array;
+ int a;
+
+ for (y1=ys*xs;y1;y1--){
+ a=*tptr++;
+ a=a|(a<<8)|(a<<16);
+ *imptr++=a;
+ }
+ }
+ free(ptrs);
+ free(temporary_array);
+ fclose(f);
+}
+
+void write_png(unsigned char *filename)
+{
+ unsigned char *temporary;
+ unsigned char *tptr;
+ int *iptr,a;
+ FILE *f;
+ png_structp png_ptr;
+ png_infop info_ptr;
+
+ f=fopen(filename,"w");
+ if (!f){
+ fprintf(stderr,"Unable to open file %s.\n",filename);
+ exit(1);
+ }
+ temporary=malloc(xs*ys);
+ if (!temporary){
+ fprintf(stderr,"Out of memory.\n");
+ exit(1);
+ }
+ iptr=image;
+ tptr=temporary;
+ for (a=xs*ys;a;a--){
+ *tptr++=(*iptr++)>>16;
+ }
+ png_ptr=png_create_write_struct(PNG_LIBPNG_VER_STRING,NULL,NULL,NULL);
+ info_ptr=png_create_info_struct(png_ptr);
+ png_init_io(png_ptr,f);
+ png_set_filter(png_ptr,0,PNG_FILTER_NONE|PNG_FILTER_SUB|PNG_FILTER_UP
+ |PNG_FILTER_AVG|PNG_FILTER_PAETH);
+ png_set_compression_level(png_ptr,Z_BEST_COMPRESSION);
+ png_set_IHDR(png_ptr,info_ptr,xs,ys,8,PNG_COLOR_TYPE_GRAY,PNG_INTERLACE_NONE,
+ PNG_COMPRESSION_TYPE_DEFAULT,PNG_FILTER_TYPE_DEFAULT);
+ png_set_gAMA(png_ptr,info_ptr,1.0);
+ png_write_info(png_ptr,info_ptr);
+ tptr=temporary;
+ for (a=ys;a;a--){
+ png_write_row(png_ptr,tptr);
+ tptr+=xs;
+ }
+ png_write_end(png_ptr,info_ptr);
+ png_destroy_write_struct(&png_ptr,&info_ptr);
+ free(temporary);
+ fclose(f);
+}
+
+void clip(void)
+{
+ int a;
+ int *iptr;
+ int val;
+
+ iptr=image;
+ for (a=xs*ys;a;a--){
+ val=*iptr;
+ if (val<0) val=0;
+ if (val>0xffffff) val=0xffffff;
+ *iptr++=val;
+ }
+}
+
+void threshold(int param)
+{
+ int a;
+ int *iptr;
+ int val;
+
+ iptr=image;
+ for (a=xs*ys;a;a--){
+ val=*iptr;
+ *iptr++=(val>=param)?0xffffff:0;
+ }
+}
+
+void mul(int param)
+{
+ int a;
+ int *iptr;
+ int val;
+
+ iptr=image;
+ for (a=xs*ys;a;a--){
+ val=*iptr;
+ val*=param;
+ *iptr++=val;
+ }
+}
+
+void add(int param)
+{
+ int a;
+ int *iptr;
+ int val;
+
+ iptr=image;
+ for (a=xs*ys;a;a--){
+ val=*iptr;
+ val+=param;
+ *iptr++=val;
+ }
+}
+
+void divide(int param)
+{
+ int a;
+ int *iptr;
+ int val;
+
+ iptr=image;
+ for (a=xs*ys;a;a--){
+ val=*iptr;
+ val/=param;
+ *iptr++=val;
+ }
+}
+
+void right_shift(int param)
+{
+ int a;
+ int *iptr;
+ int val;
+
+ iptr=image;
+ for (a=xs*ys;a;a--){
+ val=*iptr;
+ val>>=param;
+ *iptr++=val;
+ }
+}
+
+void left_shift(int param)
+{
+ int a;
+ int *iptr;
+ int val;
+
+ iptr=image;
+ for (a=xs*ys;a;a--){
+ val=*iptr;
+ val<<=param;
+ *iptr++=val;
+ }
+}
+
+void flip()
+{
+ int *new;
+ int x,y;
+ int *iptr,*nptr;
+
+ new=malloc(xs*ys*sizeof(*new));
+ if (!new){
+ fprintf(stderr,"Out of memory when flipping.\n");
+ exit(1);
+ }
+ iptr=image;
+ nptr=new;
+ for (y=ys;y;y--){
+ for(x=xs;x;x--){
+ *nptr=*iptr;
+ iptr++;
+ nptr+=ys;
+ }
+ nptr-=xs*ys;
+ nptr++;
+ }
+ free(image);
+ image=new;
+ x=xs;
+ xs=ys;
+ ys=x;
+}
+
+void mirror(void){
+ int y;
+ int *fptr, *rptr, *lptr;
+ int xchg;
+
+ lptr=image;
+ for (y=ys;y;y--){
+ fptr=lptr;
+ rptr=lptr+xs-1;
+ while(rptr>fptr){
+ xchg=*rptr;
+ *rptr=*fptr;
+ *fptr=xchg;
+ fptr++;
+ rptr--;
+ }
+ lptr+=xs;
+ }
+}
+
+void append(int lines, int value){
+ int *ptr;
+
+ if (lines<=0) return;
+ image=realloc(image,xs*(ys+lines)*sizeof(*image));
+ if (!image){
+ fprintf(stderr,"Out of memory when appending lines to the image.\n");
+ exit(1);
+ }
+ ptr=image+xs*ys;
+ ys+=lines;
+ for (lines*=xs;lines;lines--){
+ *ptr++=value;
+ }
+}
+
+void detract(int lines){
+ if (lines>=ys) return; /* Invalid */
+ ys-=lines;
+ image=realloc(image,xs*ys*sizeof(*image));
+ if (!image){
+ fprintf(stderr,"Out of memory at detract.\n");
+ exit(1);
+ }
+}
+
+/* Blurs so that each pixel is replaced by sum of its value, value of "pixels" pixels
+ * left and "pixels" pixels right, divided by 2*pixels+1.
+ */
+void blurbox(int pixels)
+{
+ int *templine, *iptr;
+ int *tptr;
+ int *addptr,*subptr;
+ int divisor=pixels*2+1;
+ int y,x;
+ int val;
+
+ templine=malloc((2*pixels+xs)*sizeof(*templine));
+ if (!templine){
+ fprintf(stderr,"Out of memory when box blurring.\n");
+ exit(1);
+ }
+ iptr=image;
+ for (y=ys;y;y--){
+ tptr=templine;
+ val=*iptr/divisor;
+ for (x=pixels;x;x--){
+ *tptr++=val;
+ }
+ for (x=xs;x;x--){
+ *tptr++=(*iptr++)/divisor;
+ }
+ val=iptr[-1]/divisor;
+ iptr-=xs;
+ for (x=pixels;x;x--){
+ *tptr++=val;
+ }
+ val=0;
+ tptr=templine;
+ for (x=divisor-1;x;x--){
+ val+=*tptr++;
+ }
+ addptr=tptr;
+ subptr=templine;
+ for (x=xs;x;x--){
+ val+=*addptr++;
+ *iptr++=val;
+ val-=*subptr++;
+ }
+ }
+ free(templine);
+}
+
+void perform_command_line(unsigned char *command)
+{
+ char *ptr;
+ int param1, param2;
+
+ /* Find the first space, newline, tab or null */
+ ptr=command;
+ while(!(*ptr==0||*ptr==10||*ptr==32||*ptr==9)) ptr++;
+ if (!*ptr) return; /* Invalid */
+ *ptr=0;
+ ptr++;
+ if (!strcmp(command,"clip")){
+ clip();
+ }else if (!strcmp(command,"threshold")){
+ param1=strtol(ptr,NULL,0);
+ threshold(param1);
+ }else if (!strcmp(command,"flip")){
+ flip();
+ }else if (!strcmp(command,"append")){
+ param1=strtol(ptr,&ptr,0);
+ param2=strtol(ptr,&ptr,0);
+ append(param1,param2);
+ }else if (!strcmp (command,"detract")){
+ param1=strtol(ptr,&ptr,0);
+ detract(param1);
+ }else if (!strcmp(command,"mirror")){
+ mirror();
+ }else if (!strcmp(command,"blurbox")){
+ param1=strtol(ptr,&ptr,0);
+ blurbox(param1);
+ }else if (!strcmp(command,"gaussian")){
+ param1=strtol(ptr,&ptr,0);
+ param2=strtol(ptr,&ptr,0);
+ if (param1>0){
+ for (;param1;param1--){
+ blurbox(param2);
+ }
+ }
+ }else if (!strcmp(command,"*")){
+ param1=strtol(ptr,&ptr,0);
+ mul(param1);
+ }else if (!strcmp(command,"+")){
+ param1=strtol(ptr,&ptr,0);
+ add(param1);
+ }else if (!strcmp(command,"/")){
+ param1=strtol(ptr,&ptr,0);
+ if (param1) divide(param1);
+ }else if (!strcmp(command,">>")){
+ param1=strtol(ptr,&ptr,0);
+ right_shift(param1);
+ }else if (!strcmp(command,"<<")){
+ param1=strtol(ptr,&ptr,0);
+ left_shift(param1);
+ }else{
+ fprintf(stderr,"Invalid command %s encountered.\n",command);
+ }
+}
+
+void process_commands(unsigned char *filename)
+{
+ FILE *f;
+ unsigned char string[1024];
+
+ if (!strlen(filename)) return;
+ /* "" as command filename */
+ f=fopen(filename,"r");
+ if (!f){
+ fprintf(stderr,"Can't open command file %s.\n",filename);
+ exit(1);
+ }
+ while(fgets(string, sizeof(string),f)){
+ perform_command_line(string);
+ }
+ fclose(f);
+}
+
+int main(int argc, char** argv)
+{
+ if (argc<4){
+usage:
+ fprintf(stderr,
+ "Usage: improcess [-f] input_filename "
+ "command_filename output_filename\nIf command_filename\
+is \"\", then no operations are performed.\n");
+ return 0;
+ }
+ if (argv[1][0]=='-'&&argv[1][1]=='f'&&!argv[1][2])
+ {
+ /* -f flag */
+ if (argc<5) goto usage;
+ force_gamma_1=1;
+ read_png(argv[2]);
+ process_commands(argv[3]);
+ write_png(argv[4]);
+ }else{
+ read_png(argv[1]);
+ process_commands(argv[2]);
+ write_png(argv[3]);
+ }
+ return 0;
+}
diff --git a/graphics/links.xpm b/graphics/links.xpm
new file mode 100644
index 0000000..acd7086
--- /dev/null
+++ b/graphics/links.xpm
@@ -0,0 +1,143 @@
+/* XPM */
+static char * links_xpm[] = {
+"48 48 92 2",
+" c None",
+". c #000000",
+"+ c #400000",
+"@ c #7F0000",
+"# c #004000",
+"$ c #007F00",
+"% c #800000",
+"& c #FF0000",
+"* c #008000",
+"= c #00FF00",
+"- c #F20000",
+"; c #750000",
+"> c #3B0000",
+", c #E70000",
+"' c #EB0000",
+") c #250000",
+"! c #200000",
+"~ c #140000",
+"{ c #030000",
+"] c #010000",
+"^ c #0F0000",
+"/ c #1E0000",
+"( c #120000",
+"_ c #EE0000",
+": c #760000",
+"< c #DC0000",
+"[ c #FE0000",
+"} c #F30000",
+"| c #A40000",
+"1 c #AF0000",
+"2 c #580000",
+"3 c #000040",
+"4 c #00007F",
+"5 c #000058",
+"6 c #404040",
+"7 c #7F7F7F",
+"8 c #0000FF",
+"9 c #0000AF",
+"0 c #FFFFFF",
+"a c #000080",
+"b c #808080",
+"c c #D8D8D8",
+"d c #4D4D4D",
+"e c #CCCCCC",
+"f c #9C9C9C",
+"g c #C8C8C8",
+"h c #606060",
+"i c #DEDEDE",
+"j c #FDFDFD",
+"k c #1B1B1B",
+"l c #010101",
+"m c #F3F3F3",
+"n c #C6C6C6",
+"o c #0C0C0C",
+"p c #666666",
+"q c #202020",
+"r c #EAEAEA",
+"s c #0B0B0B",
+"t c #353535",
+"u c #707070",
+"v c #4B4B4B",
+"w c #C5C5C5",
+"x c #040404",
+"y c #151515",
+"z c #767676",
+"A c #0000E6",
+"B c #00009A",
+"C c #6C6C6C",
+"D c #050505",
+"E c #8B8B8B",
+"F c #0000FC",
+"G c #0000E2",
+"H c #0000DD",
+"I c #0000D1",
+"J c #000041",
+"K c #000010",
+"L c #0000BD",
+"M c #0000DA",
+"N c #000071",
+"O c #6E6E6E",
+"P c #D5D5D5",
+"Q c #C0C0C0",
+"R c #A1A1A1",
+"S c #737373",
+"T c #020202",
+"U c #0000E7",
+"V c #B7B7B7",
+"W c #0000F8",
+"X c #0000B7",
+"Y c #00005C",
+"Z c #5C5C5C",
+"` c #F4F4F4",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # . ",
+". % & & & & & & & & & & & & & & & & & & & & % . . * = = = = = = = = = = = = = = = = = = = = * . ",
+". % & & & & & & & & & & & & & & & & & & & & % . . * = = = = = = = = = = = = = = = = = = = = * . ",
+". @ & & & & & & & & & & & & & & & & & & & & @ . . $ = = = = = = = = = = = = = = = = = = = = $ . ",
+". % & & & - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; > . . * = = = = = = = = = = = = = = = = = = = = * . ",
+". % & & & , . . . . . . . . . . . . . . . . . . . * = = = = = = = = = = = = = = = = = = = = * . ",
+". @ & & & ' ) ) ! ~ { . . . . . . . . ] ^ / ( . . $ = = = = = = = = = = = = = = = = = = = = $ . ",
+". @ & & & & & & & & _ : . . . . . . > < [ & @ . . $ = = = = = = = = = = = = = = = = = = = = $ . ",
+". % & & & & & & & & & } . . . . . . | & & & % . . * = = = = = = = = = = = = = = = = = = = = * . ",
+". @ & & & & & & & & & & . . . . . . 1 & & & @ . . $ = = = = = = = = = = = = = = = = = = = = $ . ",
+". % & & & & & & & & & & . . . . . . 1 & & & % . . * = = = = = = = = = = = = = = = = = = = = * . ",
+". % & & & & & & & & & & . . . . . . 1 & & & % . . * = = = = = = = = = = = = = = = = = = = = * . ",
+". @ & & & & & & & & & & . . . . . . 1 & & & @ . . $ = = = = = = = = = = = = = = = = = = = = $ . ",
+". @ & & & & & & & & & & . . . . . . 1 & & & @ . . $ = = = = = = = = = = = = = = = = = = = = $ . ",
+". % & & & & & & & & & & . . . . . . 1 & & & % . . * = = = = = = = = = = = = = = = = = = = = * . ",
+". @ & & & & & & & & & & . . . . . . 1 & & & @ . . $ = = = = = = = = = = = = = = = = = = = = $ . ",
+". % & & & & & & & & & & . . . . . . 1 & & & % . . * = = = = = = = = = = = = = = = = = = = = * . ",
+". % & & & & & & & & & & . . . . . . 1 & & & % . . * = = = = = = = = = = = = = = = = = = = = * . ",
+". @ & & & & & & & & & & . . . . . . 1 & & & @ . . $ = = = = = = = = = = = = = = = = = = = = $ . ",
+". @ & & & & & & & & & & . . . . . . 1 & & & @ . . $ = = = = = = = = = = = = = = = = = = = = $ . ",
+". % & & & & & & & & & & . . . . . . 1 & & & % . . * = = = = = = = = = = = = = = = = = = = = * . ",
+". + % % % % % % % % % % . . . . . . 2 % % % + . . # * * * * * * * * * * * * * * * * * * * * # . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". 3 4 4 4 4 4 4 4 4 4 4 . . . . . . 5 4 4 4 3 . . 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 . ",
+". 4 8 8 8 8 8 8 8 8 8 8 . . . . . . 9 8 8 8 4 . . 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 . ",
+". a 8 8 8 8 8 8 8 8 8 8 . . . . . . 9 8 8 8 a . . b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 b . ",
+". 4 8 8 8 8 8 8 8 8 8 8 . . . . . . 9 8 8 8 4 . . 7 0 0 0 0 0 0 0 0 0 0 0 c d d e 0 0 0 0 0 7 . ",
+". a 8 8 8 8 8 8 8 8 8 8 . . . . . . 9 8 8 8 a . . b 0 0 0 0 0 0 0 0 0 0 0 f . . g 0 0 0 0 0 b . ",
+". a 8 8 8 8 8 8 8 8 8 8 . . . . . . 9 8 8 8 a . . b 0 0 0 0 0 0 0 0 0 0 0 h . . i 0 0 0 0 0 b . ",
+". 4 8 8 8 8 8 8 8 8 8 8 . . . . . . 9 8 8 8 4 . . 7 0 0 0 0 0 0 0 0 0 0 j k . l m 0 0 0 0 0 7 . ",
+". 4 8 8 8 8 8 8 8 8 8 8 . . . . . . 9 8 8 8 4 . . 7 0 0 0 0 0 0 0 0 0 0 n . . o j 0 0 0 0 0 7 . ",
+". a 8 8 8 8 8 8 8 8 8 8 . . . . . . 9 8 8 8 a . . b 0 0 0 0 0 0 0 0 0 0 p . . q 0 0 0 0 0 0 b . ",
+". 4 8 8 8 8 8 8 8 8 8 8 . . . . . . 9 8 8 8 4 . . 7 0 0 0 0 0 0 0 0 0 r s . . t 0 0 0 0 0 0 7 . ",
+". a 8 8 8 8 8 8 8 8 8 8 . . . . . . 9 8 8 8 a . . b 0 0 0 0 0 0 0 0 0 u . . . v 0 0 0 0 0 0 b . ",
+". a 8 8 8 8 8 8 8 8 8 8 . . . . . . 9 8 8 8 a . . b 0 0 0 0 0 0 0 0 w x . . . h 0 0 0 0 0 0 b . ",
+". 4 8 8 8 8 8 8 8 8 8 8 . . . . . . 9 8 8 8 4 . . 7 0 0 0 0 0 0 0 n y . . . . z 0 0 0 0 0 0 7 . ",
+". 4 8 8 8 8 8 8 8 8 8 A . . . . . . B 8 8 8 4 . . 7 0 0 0 0 0 i C D . . . . . E 0 0 0 0 0 0 7 . ",
+". a 8 8 8 F G G H I 9 J . . . . . . K 4 L M N . . O P Q R S t T . . . . . . . R 0 0 0 0 0 0 b . ",
+". 4 8 8 8 U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V 0 0 0 0 0 0 7 . ",
+". a 8 8 8 U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 0 0 0 0 0 0 b . ",
+". a 8 8 8 W X X X X X X X X X X X X X X X X Y . . Z V V V V V V V V V V V V V ` 0 0 0 0 0 0 b . ",
+". 4 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 . . 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 . ",
+". 4 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 . . 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 . ",
+". a 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 a . . b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 b . ",
+". 3 a a a a a a a a a a a a a a a a a a a a 3 . . 6 b b b b b b b b b b b b b b b b b b b b 6 . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "};
diff --git a/graphics/makefont b/graphics/makefont
new file mode 100755
index 0000000..edd3d2c
--- /dev/null
+++ b/graphics/makefont
@@ -0,0 +1,21 @@
+# Standard Latin dimensions (so that all fonts match together):
+# Baseline is in 5/24 of height (from bottom)
+# Top edge of X is in 81/100 of height (from bottom)
+# Bitmap height: 112 pixels (the checker spacer is also made for this)
+# see 0058.png which is 'X'.
+
+# User settable parameters
+export hundred_dpi=1703
+# default: hundred_dpi=1703
+export top_promile=198
+# default: top_promile=198
+export bottom_promile=238
+# default: bottom_promile=238
+# End of user settable parameters.\
+
+./genps
+./pdf2html letters.ps
+rm index.html
+rm letters*.html
+./clip
+
diff --git a/graphics/pbm2png.c b/graphics/pbm2png.c
new file mode 100644
index 0000000..e233bd0
--- /dev/null
+++ b/graphics/pbm2png.c
@@ -0,0 +1,493 @@
+/* (c) 2000 Karel Kulhavy, Clocksoft
+ * clock@atrey.karlin.mff.cuni.cz
+ * This program is a stdin filter that performs these operations:
+ * 1) Downconverts 17x15 oversampled binary image data (black-or-white
+ * pixels, 1 bit per pixel, pbmraw format) to 256-level grayscale
+ * pgmraw format and saves it to basename_%d.png.
+ * 2) At the end, generates necessary html's
+ * 3) The input pages must be concatenated
+ * 4) Recommended source of the pbm: Aladdin Ghostscript
+ * If there is an input argument (one number as first arg), it's treated
+ * as number of first page that comes at fd #0. Default value is 0.
+ * Parameters: <hundred_dpi> <basename_> <titlestring> <bottom_html_code>
+ * <pageoffset> <input_filename> [first page number]
+
+ * Little benchmarks: Normal (gs+pbm2png) 1:32
+ Without pbm2png 0:28
+ Without libpng 0:51
+ Without grayscaling 0:32
+
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <png.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+
+unsigned char *basename_;
+/*
+ basename:
+ pbm2png.c:32: `basename' redeclared as different kind of symbol
+ /usr/include/string.h:245: previous declaration of `basename'
+*/
+unsigned char *titlestring;
+unsigned char *bottom;
+int pageoffset=-13;
+unsigned long t1[256]; /* Conversion from 1-bit to 2-bit expansion */
+unsigned long t2[256]; /* Conversion from 2-bit to 4-bit expansion */
+unsigned char *l1; /* Input data, output data. lw<<1 bytes long */
+unsigned long *l2; /* 2-bit expansion lw unsigned long's long*/
+unsigned long long *l4; /* 4-bit expansion lw unsigned long long's long */
+int ox,oy;
+int lw; /* Width of the input in 16-pixel units. */
+int lb; /* Width of the input in 8-pixel units */
+FILE *of;
+int filenumber;
+int x,y;
+png_structp png_ptr;
+png_infop info_ptr;
+unsigned long ppm;
+float dpi;
+unsigned char string[8192];
+unsigned char *filename;
+int ifd;
+
+void
+gentables(void)
+{
+ int a,d;
+ unsigned long b;
+ unsigned char c;
+
+ for (a=0;a<256;a++){
+ b=0;
+ c=a;
+ for (d=7;d>=0;d--){
+ b<<=2;
+ b|=(c>>d)&1;
+ }
+ t1[a]=b;
+ b=0;
+ c=a;
+ for (d=4;d;d--){
+ b<<=4;
+ b|=c&3;
+ c>>=2;
+ }
+ t2[a]=b;
+ }
+}
+
+void
+make_index(void)
+{
+ FILE *f;
+
+ f=fopen("index.html","w");
+
+ fprintf(f,"<html><head><title>%s</title></head><body bgcolor=\"#000000\" text=\"#00ff00\" link=\"#ffff00\""
+ " vlink=\"#00ffff\" alink=\"#ffff00\">\n",titlestring);
+ fprintf(f,"<a href=\"../\"><img src=\"up.png\" border=0></a><br>"
+ "<a href=\"%s.pdf\">Download in PDF format</a><br>"
+ "<h1>%s</h1><h2>Page index</h2>",basename_,titlestring);
+ {
+ int n;
+ unsigned char *t;
+ FILE *g;
+
+ fprintf(f,"<table cellspacing=0 cellpadding=0 border=1>\n<tr>");
+ for (n=0;n<filenumber;n++){
+ if (!(n%40)&&n){
+ fprintf(f,"</tr>\n<tr>");
+ }
+ fprintf(f,"<td><a href=\"%s%d.html\">%d</a></td>\n",basename_,n,n+pageoffset);
+ }
+
+ fprintf(f,"</tr></table><h2>");
+ g=fopen("index.dir","rb");
+ if (g)
+ {
+ t=malloc(65536);
+ fprintf(f,"Contents Index</h2><table border=0 cellspacing=0 cellpadding=0>");
+ while(fgets(t,65536,g)){
+ int val=0;
+ int len=strlen(t);
+ unsigned char *u=t;
+ if (len&&t[len-1]=='\n') t[len-1]=0;
+ if (*t>'9'||*t<'0') continue;
+ while(*u>='0'&&*u<='9'){
+ val*=10;
+ val+=*u-'0';
+ u++;
+ }
+ val--;
+ u++; /* The char behind the number is ignored */
+ fprintf(f,"<tr><td>%d </td><td><a href=\"%s%d.html\">%s</a></td></tr>\n",val+pageoffset
+ ,basename_,val,u);
+ }
+ fprintf(f,"</table>");
+ fclose(g);
+ free(t);
+ }
+ fprintf(f,"</body></html>");
+ fclose(f);
+
+ }
+}
+
+
+void
+make_page(int index)
+{
+ FILE *f;
+
+ sprintf(string,"%s%d.html",basename_,index);
+ f=fopen(string,"w");
+
+ fprintf(f,"<html><head><title>%s</title></head><body bgcolor=\"#000000\" text=\"#00ff00\" link=\"#ffff00\" vlink=\"#00ffff\"
+alink=\"#ffff00\">\n",titlestring);
+ fprintf(f,"<h1>%s, Page %d</h1>\n",titlestring,index+pageoffset);
+ fprintf(f,"<p><table border=0 cellspacing=0 cellpadding=2><tr>");
+ fprintf(f,"<td valign=\"top\"><table border=0 cellpadding=0 cellspacing=0><tr><td>");
+ if (index)
+ {
+ fprintf(f,"<a href=\"%s%d.html\"><img src=\"left.png\" border=0
+></a>\n",basename_,index-1);
+ }
+ else
+ {
+ fprintf(f,"<img src=\"left.png\" border=0>\n");
+ }
+ fprintf(f,"</td><td>");
+ if (index<filenumber-1)
+ {
+ fprintf(f,"<a href=\"%s%d.html\">
+<img src=\"right.png\" border=0></a>\n",basename_,index+1);
+ }
+ else
+ {
+ fprintf(f,"<img src=\"right.png\" border=0>\n");
+ }
+ fprintf(f,"</td></tr><tr><td colspan=2><a href=\"index.html\">
+<img src=\"idx.png\" border=0 ></a></td>");
+ fprintf(f,"</tr></table>");
+ fprintf(f,"</td><td><img src=\"%s%d.png\" border=\"0\"
+></td>\n</tr></table>",basename_,index);
+ fprintf(f,"</body></html>");
+ fclose(f);
+}
+
+/* Returns 0 is OK, exit(1) on error, returns 1 on broken pipe */
+int
+sure_read(unsigned char *dest, size_t len)
+{
+ ssize_t rd;
+ if (!len) return 0;
+ again:
+ rd=read(ifd,dest,len);
+ if (rd==len) return 0;
+ if (!rd) return 1;
+ if (rd<0&&(errno==EINTR||errno==EAGAIN||errno==EWOULDBLOCK)) goto again;
+ if (rd>0&&rd<len){
+ /*fprintf(stderr,"read %d/%d",rd,len);*/
+ len-=rd;
+ dest+=rd;
+ fflush(stderr);
+ goto again;
+ }
+ fprintf(stderr,"read error.\n");
+ perror("");
+ exit(1);
+}
+
+int
+eat_up_whitespace_and_comments(void)
+{
+ again:
+ sure_read(string,1);
+ if (*string==' '||*string=='\t'){
+ goto again;
+ }
+ if (*string=='\n'||*string=='\r'){
+ goto again;
+ }
+ if (*string=='#'){
+ /* Eat up comment */
+ aa:
+ sure_read(string,1);
+ if (*string!='\n'&&*string!='\r') goto aa;
+ goto again;
+ }
+ return *string;
+}
+
+int
+read_header(void)
+{
+
+
+ /*
+ if (filenumber)
+ {
+ int a;
+
+ for (a=0;a<256;a++){
+ sure_read(string,1);
+ printf("%d ", *string);
+ fflush(stdout);
+ }
+ exit(0);
+ }
+ */
+ if (sure_read(string,2)) return 1; /* P1 */
+ x=eat_up_whitespace_and_comments()-'0';
+ again:
+ sure_read(string,1);
+ if (*string!=' '&&*string!='\t'&&*string!='\n'&&*string!='\r'){
+ x*=10;
+ x+=*string-'0';
+ goto again;
+ }
+ y=eat_up_whitespace_and_comments()-'0';
+ bgain:
+ sure_read(string,1);
+ if (*string!=' '&&*string!='\t'&&*string!='\n'&&*string!='\r'){
+ y*=10;
+ y+=*string-'0';
+ goto bgain;
+ }
+ return 0;
+}
+
+void
+open_png(void)
+{
+ png_ptr=png_create_write_struct(PNG_LIBPNG_VER_STRING,NULL,NULL,NULL);
+ info_ptr=png_create_info_struct(png_ptr);
+ png_init_io(png_ptr,of);
+ png_set_filter(png_ptr,0,PNG_FILTER_NONE|PNG_FILTER_SUB|PNG_FILTER_UP
+ |PNG_FILTER_AVG|PNG_FILTER_PAETH);
+ png_set_compression_level(png_ptr,Z_BEST_COMPRESSION);
+ png_set_IHDR(png_ptr,info_ptr,ox,oy,8,PNG_COLOR_TYPE_GRAY,PNG_INTERLACE_NONE,
+ PNG_COMPRESSION_TYPE_DEFAULT,PNG_FILTER_TYPE_DEFAULT);
+ png_set_gAMA(png_ptr,info_ptr,1.0);
+ png_set_pHYs(png_ptr,info_ptr,ppm,ppm,PNG_RESOLUTION_METER);
+ png_write_info(png_ptr,info_ptr);
+}
+
+void
+close_png(void)
+{
+ png_write_end(png_ptr,info_ptr);
+ png_destroy_write_struct(&png_ptr,&info_ptr);
+}
+
+/* Represents the same pixels that are in l2 in l4. */
+void
+move_2_to_4(void)
+{
+ unsigned long long bit4;
+ unsigned long bit2;
+ int index;
+
+ for (index=lw-1;index>=0;index--){
+ bit2=l2[index];
+ bit4=t2[bit2&255];
+ bit4<<=16;
+ bit2>>=8;
+ bit4|=t2[bit2&255];
+ bit4<<=16;
+ bit2>>=8;
+ bit4|=t2[bit2&255];
+ bit4<<=16;
+ bit2>>=8;
+ bit4|=t2[bit2&255];
+ l4[index]=bit4;
+ }
+}
+
+/* Adds the same pixels that are in l2 to l4. */
+void
+add_2_to_4(void)
+{
+ unsigned long long bit4;
+ unsigned long bit2;
+ int index;
+
+ for (index=lw-1;index>=0;index--){
+ bit2=l2[index];
+ bit4=t2[bit2&255];
+ bit4<<=16;
+ bit2>>=8;
+ bit4|=t2[bit2&255];
+ bit4<<=16;
+ bit2>>=8;
+ bit4|=t2[bit2&255];
+ bit4<<=16;
+ bit2>>=8;
+ bit4|=t2[bit2&255];
+ l4[index]+=bit4;
+ }
+}
+
+/* Moves pixels from l1 to l2 with format change */
+void
+move_1_to_2(void)
+{
+ int index;
+
+ for (index=lw-1;index>=0;index--)
+ l2[index]=(t1[l1[index<<1]]<<16)|t1[l1[(index<<1)+1]];
+}
+
+/* Adds pixels from l1 to l2 with format change */
+void
+add_1_to_2(void)
+{
+ int index;
+
+ for (index=lw-1;index>=0;index--)
+ l2[index]+=(t1[l1[index<<1]]<<16)|t1[l1[(index<<1)+1]];
+}
+
+/* Loads 1 line into l1 */
+void
+load(void)
+{
+ sure_read(l1,lb);
+}
+
+/* Loads 3 lines into l2 */
+void
+load_to_2(void)
+{
+ load();
+ move_1_to_2();
+ load();
+ add_1_to_2();
+ load();
+ add_1_to_2();
+}
+
+/* Loads 15 lines into l4 */
+void
+load_to_4(void)
+{
+ load_to_2();
+ move_2_to_4();
+ load_to_2();
+ add_2_to_4();
+ load_to_2();
+ add_2_to_4();
+ load_to_2();
+ add_2_to_4();
+ load_to_2();
+ add_2_to_4();
+}
+
+/* Converts the data from l4 to l1 including suming up 17 adjacent pixels */
+void
+export_from_4(void)
+{
+ int a,b,reg_hold;
+ unsigned char sum;
+ unsigned long long *loader=l4;
+ unsigned long long reg=0;
+
+ reg_hold=0;
+ for (a=0;a<ox;a++){
+ sum=0;
+ for (b=17;b;b--){
+ if (!reg_hold){
+ reg=*loader++;
+ reg_hold=16;
+ }
+ sum+=reg&15;
+ reg>>=4;
+ reg_hold--;
+ }
+ l1[a]=sum;
+ }
+ png_write_row(png_ptr,l1);
+}
+
+/*
+ * Parameters: <hundred_dpi> <basename_> <titlestring> <bottom_html_code>
+ * <pageoffset> [first page number]
+ */
+int
+main(int argc, char **argv)
+{
+ int a,z;
+
+ if (argc<7){
+ fprintf(stderr,"Usage: pbm2png <hundred_dpi> <basename_> <titlestring>
+<bottom_html_code> <pageoffset> <ifname> [starting_filenumber]\n");
+ return 0;
+ }
+ dpi=atof(argv[1])/10;
+ ppm=dpi*1000/25.4;
+ basename_=argv[2];
+ titlestring=argv[3];
+ bottom=argv[4];
+ pageoffset=atol(argv[5]);
+ filename=argv[6];
+ again0:
+ ifd=open(filename,O_RDONLY);
+ if (ifd<0){
+ if (errno==EAGAIN||errno==EINTR||errno==EWOULDBLOCK) goto
+ again0;
+ else {
+ perror("");
+ exit(1);
+ }
+ }
+ fprintf(stderr,"filename %s, %d\n",filename,ifd);
+ if (argc>=8){
+ filenumber=atol(argv[7]);
+ }
+ gentables();
+ again:
+ fprintf(stderr,"\nFile %i\n",filenumber);
+ if (read_header()){
+ for (a=0;a<filenumber;a++)
+ make_page(a);
+ make_index();
+ return 0;
+ }
+ lw=(x+15)>>4;
+ lb=(x+7)>>3;
+ ox=x/17;
+ oy=y/15;
+ fprintf(stderr,"Input: %i*%i pixels, %f*%f dpi, %.1fMB.\n",x,y,dpi*17,dpi*15,(float)lb*y/1048576);
+ fprintf(stderr,"Ouput: %i*%i pixels, %f*%f dpi, %.1fKB raw data.\n",ox,oy,dpi,dpi,(float)ox*oy/1024);
+ l1=(unsigned char*)malloc(lw*2);
+ l2=(unsigned long*)malloc(lw*sizeof(unsigned long));
+ l4=(unsigned long long*)malloc(lw*sizeof(unsigned long long));
+ sprintf(string,"%s%d.png",basename_,filenumber);
+ filenumber++;
+ of=fopen(string,"w");
+ open_png();
+ for (z=oy;z;z--){
+ if (!(z&15)){
+ fprintf(stderr,".");
+ fflush(stderr);
+ }
+ load_to_4();
+ export_from_4();
+ }
+ close_png();
+ fprintf(stderr,"\nWritten %lu bytes of data, ratio %.1f%%\n",ftell(of),(float)ftell(of)*100/ox/oy);
+ fclose(of);
+ for (a=y%15;a;a--)
+ load();
+ free(l1);
+ free(l2);
+ free(l4);
+ goto again;
+}
diff --git a/graphics/pdf2html b/graphics/pdf2html
new file mode 100755
index 0000000..1e53501
--- /dev/null
+++ b/graphics/pdf2html
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+filter='./pbm2png'
+ghostscript='gs'
+basename='letters'
+titlestring='Letters generated for Links'
+bottom=''
+pageoffset='0'
+
+PATH=$PATH:./
+hdpi=`expr $hundred_dpi '*' 17 '/' 100`
+vdpi=`expr $hundred_dpi '*' 15 '/' 100`
+start=$2
+if [ "$start" = "" ]; then
+ start=0
+fi
+start1=`expr $start + 1`
+
+pname="/tmp/.pdf2html_pipe_$$"
+function delete () { rm -f $pname; }
+trap delete SIGINT
+
+rm -f $pname
+mkfifo $pname
+$ghostscript -q -dFirstPage=$start1 -dNOPAUSE -dBATCH -sDEVICE=pbmraw -sPAPERSIZE=a4 -sOutputFile="$pname" -r"$hdpi"x"$vdpi" $1 &
+$filter "$hundred_dpi" "$basename" "$titlestring" "$bottom" "$pageoffset" "$pname" $start
+rm -f $pname
+
diff --git a/graphics/spacer.png b/graphics/spacer.png
new file mode 100644
index 0000000..95f7e38
--- /dev/null
+++ b/graphics/spacer.png
Binary files differ
diff --git a/graphics/system_font/0000.png b/graphics/system_font/0000.png
new file mode 100644
index 0000000..5d70892
--- /dev/null
+++ b/graphics/system_font/0000.png
Binary files differ
diff --git a/html.c b/html.c
new file mode 100644
index 0000000..4995cd9
--- /dev/null
+++ b/html.c
@@ -0,0 +1,3193 @@
+/* html.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+#define format format_
+
+struct list_head html_stack = {&html_stack, &html_stack};
+
+int html_format_changed = 0;
+
+static inline int isA(unsigned char c)
+{
+ return (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z');
+}
+
+static inline int atchr(unsigned char c)
+{
+ return /*isA(c) ||*/ (c > ' ' && c != '=' && c != '<' && c != '>');
+}
+
+/* accepts one html element */
+/* e is pointer to the begining of the element (*e must be '<') */
+/* eof is pointer to the end of scanned area */
+/* parsed element name is stored in name, it's length is namelen */
+/* first attribute is stored in attr */
+/* end points to first character behind the html element */
+/* returns: -1 fail (returned values in pointers are invalid) */
+/* 0 success */
+int parse_element(unsigned char *e, unsigned char *eof, unsigned char **name, int *namelen, unsigned char **attr, unsigned char **end)
+{
+ if (eof - e < 3 || *(e++) != '<') return -1;
+ if (name) *name = e;
+ if (*e == '/') {
+ e++;
+ if (*e == '>' || *e == '<') goto xx;
+ } else if (!isA(*e)) {
+ return -1;
+ }
+ while (isA(*e) || (*e >= '0' && *e <= '9') || *e == '_' || *e == '-' || *e == '=') {
+ e++;
+ if (e >= eof) return -1;
+ }
+ xx:
+ if (name && namelen) *namelen = e - *name;
+ while ((WHITECHAR(*e) || *e == '/' || *e == ':')) {
+ e++;
+ if (e >= eof) return -1;
+ }
+ if ((!atchr(*e) && *e != '>' && *e != '<')) return -1;
+ if (attr) *attr = e;
+ nextattr:
+ while (WHITECHAR(*e)) {
+ e++;
+ if (e >= eof) return -1;
+ }
+ if ((!atchr(*e) && *e != '>' && *e != '<')) return -1;
+ if (*e == '>' || *e == '<') goto en;
+ while (atchr(*e)) {
+ e++;
+ if (e >= eof) return -1;
+ }
+ while (WHITECHAR(*e)) {
+ e++;
+ if (e >= eof) return -1;
+ }
+ if (*e != '=') goto endattr;
+ goto x2;
+ while (WHITECHAR(*e)) {
+ x2:
+ e++;
+ if (e >= eof) return -1;
+ }
+ if (U(*e)) {
+ unsigned char uu = *e;
+ /*u:*/
+ goto x3;
+ while (e < eof && *e != uu && *e /*(WHITECHAR(*e) || *e > ' ')*/) {
+ x3:
+ e++;
+ if (e >= eof) return -1;
+ }
+ if (*e < ' ') return -1;
+ e++;
+ if (e >= eof /*|| (!WHITECHAR(*e) && *e != uu && *e != '>' && *e != '<')*/) return -1;
+ /*if (*e == uu) goto u;*/
+ } else {
+ while (!WHITECHAR(*e) && *e != '>' && *e != '<') {
+ e++;
+ if (e >= eof) return -1;
+ }
+ }
+ while (WHITECHAR(*e)) {
+ e++;
+ if (e >= eof) return -1;
+ }
+ endattr:
+ if (*e != '>' && *e != '<') goto nextattr;
+ en:
+ if (end) *end = e + (*e == '>');
+ return 0;
+}
+
+#define add_chr(s, l, c) \
+do { \
+ if (!((l) & (32 - 1))) { \
+ if ((unsigned)(l) > MAXINT - 32) overalloc(); \
+ (s) = mem_realloc((s), (l) + 32); \
+ } \
+ (s)[(l)++] = (c); \
+} while (0)
+
+int get_attr_val_nl = 0;
+
+/* parses html element attributes */
+/* e is attr pointer previously get from parse_element, DON'T PASS HERE ANY OTHER VALUE!!! */
+/* name is searched attribute */
+/* returns allocated string containing the attribute, or NULL on unsuccess */
+unsigned char *get_attr_val(unsigned char *e, unsigned char *name)
+{
+ unsigned char *n;
+ unsigned char *a = DUMMY;
+ int l = 0;
+ int f;
+ aa:
+ while (WHITECHAR(*e)) e++;
+ if (*e == '>' || *e == '<') return NULL;
+ n = name;
+ while (*n && upcase(*e) == upcase(*n)) e++, n++;
+ f = *n;
+ while (atchr(*e)) f = 1, e++;
+ while (WHITECHAR(*e)) e++;
+ if (*e != '=') goto ea;
+ e++;
+ while (WHITECHAR(*e)) e++;
+ if (!U(*e)) {
+ while (!WHITECHAR(*e) && *e != '>' && *e != '<') {
+ if (!f) add_chr(a, l, *e);
+ e++;
+ }
+ } else {
+ unsigned char uu = *e;
+ /*a:*/
+ e++;
+ while (*e != uu) {
+ if (!*e) {
+ mem_free(a);
+ return NULL;
+ }
+ if (!f) {
+ if (get_attr_val_nl == 2) goto exact;
+ if (*e != 13) {
+ if (*e != 9 && *e != 10) exact:add_chr(a, l, *e);
+ else if (!get_attr_val_nl) add_chr(a, l, ' ');
+ }
+ }
+ e++;
+ }
+ e++;
+ /*if (*e == uu) {
+ if (!f) add_chr(a, l, *e);
+ goto a;
+ }*/
+ }
+ ea:
+ if (!f) {
+ unsigned char *b;
+ add_chr(a, l, 0);
+ if (strchr(a, '&')) {
+ unsigned char *aa = a;
+ int c = d_opt->cp;
+ d_opt->cp = d_opt->real_cp;
+ a = convert_string(NULL, aa, strlen(aa), d_opt);
+ d_opt->cp = c;
+ mem_free(aa);
+ }
+ while ((b = strchr(a, 1))) *b = ' ';
+ if (get_attr_val_nl != 2) {
+ for (b = a; *b == ' '; b++)
+ ;
+ if (b != a) memmove(a, b, strlen(b) + 1);
+ for (b = a + strlen(a) - 1; b >= a && *b == ' '; b--) *b = 0;
+ }
+ set_mem_comment(a, name, strlen(name));
+ return a;
+ }
+ goto aa;
+}
+
+int has_attr(unsigned char *e, unsigned char *name)
+{
+ unsigned char *a;
+ if (!(a = get_attr_val(e, name))) return 0;
+ mem_free(a);
+ return 1;
+}
+
+/*
+static unsigned char *get_url_val(unsigned char *e, unsigned char *name)
+{
+ int n = 0;
+ unsigned char *p, *q, *pp;
+ if (!(pp = get_attr_val(e, name))) return NULL;
+ p = pp; q = pp;
+ while (1) {
+ if (*p == '#') n = 1;
+ if ((*p = *q) != ' ' || n) p++;
+ if (!*q) break;
+ q++;
+ }
+ return pp;
+}
+*/
+
+static unsigned char *get_url_val(unsigned char *e, unsigned char *name)
+{
+ unsigned char *a;
+ get_attr_val_nl = 1;
+ a = get_attr_val(e, name);
+ get_attr_val_nl = 0;
+ return a;
+}
+
+static unsigned char *get_exact_attr_val(unsigned char *e, unsigned char *name)
+{
+ unsigned char *a;
+ get_attr_val_nl = 2;
+ a = get_attr_val(e, name);
+ get_attr_val_nl = 0;
+ if (a) {
+ unsigned char *x1, *x2;
+ for (x1 = x2 = a; *x1; x1++, x2++) {
+ if (x1[0] == '\r') {
+ *x2 = '\n';
+ if (x1[1] == '\n') x1++;
+ } else {
+ *x2 = *x1;
+ }
+ }
+ *x2 = 0;
+ }
+ return a;
+}
+
+static struct {
+ unsigned short int n;
+ unsigned char *s;
+} roman_tbl[] = {
+ {1000, "m"},
+ {999, "im"},
+/* {995, "vm"},*/
+ {990, "xm"},
+/* {950, "lm"},*/
+ {900, "cm"},
+ {500, "d"},
+ {499, "id"},
+/* {495, "vd"},*/
+ {490, "xd"},
+/* {450, "ld"},*/
+ {400, "cd"},
+ {100, "c"},
+ {99, "ic"},
+/* {95, "vc"},*/
+ {90, "xc"},
+ {50, "l"},
+ {49, "il"},
+/* {45, "vl"},*/
+ {40, "xl"},
+ {10, "x"},
+ {9, "ix"},
+ {5, "v"},
+ {4, "iv"},
+ {1, "i"},
+ {0, NULL}
+};
+
+static void roman(unsigned char *p, unsigned n)
+{
+ int i = 0;
+ if (n >= 4000) {
+ strcpy(p, "---");
+ return;
+ }
+ if (!n) {
+ strcpy(p, "o");
+ return;
+ }
+ p[0] = 0;
+ while (n) {
+ while (roman_tbl[i].n <= n) {
+ n -= roman_tbl[i].n;
+ strcat(p, roman_tbl[i].s);
+ }
+ i++;
+ if (n && !roman_tbl[i].n) {
+ internal("BUG in roman number convertor");
+ return;
+ }
+ }
+}
+
+struct color_spec {
+ unsigned char *name;
+ int rgb;
+};
+
+static struct color_spec color_specs[] = {
+ {"aliceblue", 0xF0F8FF},
+ {"antiquewhite", 0xFAEBD7},
+ {"aqua", 0x00FFFF},
+ {"aquamarine", 0x7FFFD4},
+ {"azure", 0xF0FFFF},
+ {"beige", 0xF5F5DC},
+ {"bisque", 0xFFE4C4},
+ {"black", 0x000000},
+ {"blanchedalmond", 0xFFEBCD},
+ {"blue", 0x0000FF},
+ {"blueviolet", 0x8A2BE2},
+ {"brown", 0xA52A2A},
+ {"burlywood", 0xDEB887},
+ {"cadetblue", 0x5F9EA0},
+ {"chartreuse", 0x7FFF00},
+ {"chocolate", 0xD2691E},
+ {"coral", 0xFF7F50},
+ {"cornflowerblue", 0x6495ED},
+ {"cornsilk", 0xFFF8DC},
+ {"crimson", 0xDC143C},
+ {"cyan", 0x00FFFF},
+ {"darkblue", 0x00008B},
+ {"darkcyan", 0x008B8B},
+ {"darkgoldenrod", 0xB8860B},
+ {"darkgray", 0xA9A9A9},
+ {"darkgreen", 0x006400},
+ {"darkkhaki", 0xBDB76B},
+ {"darkmagenta", 0x8B008B},
+ {"darkolivegreen", 0x556B2F},
+ {"darkorange", 0xFF8C00},
+ {"darkorchid", 0x9932CC},
+ {"darkred", 0x8B0000},
+ {"darksalmon", 0xE9967A},
+ {"darkseagreen", 0x8FBC8F},
+ {"darkslateblue", 0x483D8B},
+ {"darkslategray", 0x2F4F4F},
+ {"darkturquoise", 0x00CED1},
+ {"darkviolet", 0x9400D3},
+ {"deeppink", 0xFF1493},
+ {"deepskyblue", 0x00BFFF},
+ {"dimgray", 0x696969},
+ {"dodgerblue", 0x1E90FF},
+ {"firebrick", 0xB22222},
+ {"floralwhite", 0xFFFAF0},
+ {"forestgreen", 0x228B22},
+ {"fuchsia", 0xFF00FF},
+ {"gainsboro", 0xDCDCDC},
+ {"ghostwhite", 0xF8F8FF},
+ {"gold", 0xFFD700},
+ {"goldenrod", 0xDAA520},
+ {"gray", 0x808080},
+ {"green", 0x008000},
+ {"greenyellow", 0xADFF2F},
+ {"honeydew", 0xF0FFF0},
+ {"hotpink", 0xFF69B4},
+ {"indianred", 0xCD5C5C},
+ {"indigo", 0x4B0082},
+ {"ivory", 0xFFFFF0},
+ {"khaki", 0xF0E68C},
+ {"lavender", 0xE6E6FA},
+ {"lavenderblush", 0xFFF0F5},
+ {"lawngreen", 0x7CFC00},
+ {"lemonchiffon", 0xFFFACD},
+ {"lightblue", 0xADD8E6},
+ {"lightcoral", 0xF08080},
+ {"lightcyan", 0xE0FFFF},
+ {"lightgoldenrodyellow", 0xFAFAD2},
+ {"lightgreen", 0x90EE90},
+ {"lightgrey", 0xD3D3D3},
+ {"lightpink", 0xFFB6C1},
+ {"lightsalmon", 0xFFA07A},
+ {"lightseagreen", 0x20B2AA},
+ {"lightskyblue", 0x87CEFA},
+ {"lightslategray", 0x778899},
+ {"lightsteelblue", 0xB0C4DE},
+ {"lightyellow", 0xFFFFE0},
+ {"lime", 0x00FF00},
+ {"limegreen", 0x32CD32},
+ {"linen", 0xFAF0E6},
+ {"magenta", 0xFF00FF},
+ {"maroon", 0x800000},
+ {"mediumaquamarine", 0x66CDAA},
+ {"mediumblue", 0x0000CD},
+ {"mediumorchid", 0xBA55D3},
+ {"mediumpurple", 0x9370DB},
+ {"mediumseagreen", 0x3CB371},
+ {"mediumslateblue", 0x7B68EE},
+ {"mediumspringgreen", 0x00FA9A},
+ {"mediumturquoise", 0x48D1CC},
+ {"mediumvioletred", 0xC71585},
+ {"midnightblue", 0x191970},
+ {"mintcream", 0xF5FFFA},
+ {"mistyrose", 0xFFE4E1},
+ {"moccasin", 0xFFE4B5},
+ {"navajowhite", 0xFFDEAD},
+ {"navy", 0x000080},
+ {"oldlace", 0xFDF5E6},
+ {"olive", 0x808000},
+ {"olivedrab", 0x6B8E23},
+ {"orange", 0xFFA500},
+ {"orangered", 0xFF4500},
+ {"orchid", 0xDA70D6},
+ {"palegoldenrod", 0xEEE8AA},
+ {"palegreen", 0x98FB98},
+ {"paleturquoise", 0xAFEEEE},
+ {"palevioletred", 0xDB7093},
+ {"papayawhip", 0xFFEFD5},
+ {"peachpuff", 0xFFDAB9},
+ {"peru", 0xCD853F},
+ {"pink", 0xFFC0CB},
+ {"plum", 0xDDA0DD},
+ {"powderblue", 0xB0E0E6},
+ {"purple", 0x800080},
+ {"red", 0xFF0000},
+ {"rosybrown", 0xBC8F8F},
+ {"royalblue", 0x4169E1},
+ {"saddlebrown", 0x8B4513},
+ {"salmon", 0xFA8072},
+ {"sandybrown", 0xF4A460},
+ {"seagreen", 0x2E8B57},
+ {"seashell", 0xFFF5EE},
+ {"sienna", 0xA0522D},
+ {"silver", 0xC0C0C0},
+ {"skyblue", 0x87CEEB},
+ {"slateblue", 0x6A5ACD},
+ {"slategray", 0x708090},
+ {"snow", 0xFFFAFA},
+ {"springgreen", 0x00FF7F},
+ {"steelblue", 0x4682B4},
+ {"tan", 0xD2B48C},
+ {"teal", 0x008080},
+ {"thistle", 0xD8BFD8},
+ {"tomato", 0xFF6347},
+ {"turquoise", 0x40E0D0},
+ {"violet", 0xEE82EE},
+ {"wheat", 0xF5DEB3},
+ {"white", 0xFFFFFF},
+ {"whitesmoke", 0xF5F5F5},
+ {"yellow", 0xFFFF00},
+ {"yellowgreen", 0x9ACD32},
+};
+
+#define endof(T) ((T)+sizeof(T)/sizeof(*(T)))
+
+int decode_color(unsigned char *str, struct rgb *col)
+{
+ unsigned long ch;
+ if (*str != '#') {
+ struct color_spec *cs;
+ for (cs = color_specs; cs < endof(color_specs); cs++)
+ if (!strcasecmp(cs->name, str)) {
+ ch = cs->rgb;
+ goto found;
+ }
+ str--;
+ }
+ str++;
+ if (strlen(str) == 6) {
+ unsigned char *end;
+ ch = strtoul(str, (char **)(void *)&end, 16);
+ if (!*end && ch < 0x1000000) {
+found:
+ memset(col, 0, sizeof(struct rgb));
+ col->r = ch / 0x10000;
+ col->g = ch / 0x100 % 0x100;
+ col->b = ch % 0x100;
+ return 0;
+ }
+ }
+ return -1;
+}
+
+int get_color(unsigned char *a, unsigned char *c, struct rgb *rgb)
+{
+ unsigned char *at;
+ int r = -1;
+ if (d_opt->col >= 1) if ((at = get_attr_val(a, c))) {
+ r = decode_color(at, rgb);
+ mem_free(at);
+ }
+ return r;
+}
+
+int get_bgcolor(unsigned char *a, struct rgb *rgb)
+{
+ if (d_opt->col < 2) return -1;
+ return get_color(a, "bgcolor", rgb);
+}
+
+static unsigned char *get_target(unsigned char *a)
+{
+ return get_attr_val(a, "target");
+}
+
+void kill_html_stack_item(struct html_element *e)
+{
+ html_format_changed = 1;
+ if (e->dontkill == 2) {
+ internal("trying to kill unkillable element");
+ return;
+ }
+ if (!e || (void *)e == &html_stack) {
+ internal("trying to free bad html element");
+ return;
+ }
+ if (e->attr.fontface) mem_free(e->attr.fontface);
+ if (e->attr.link) mem_free(e->attr.link);
+ if (e->attr.target) mem_free(e->attr.target);
+ if (e->attr.image) mem_free(e->attr.image);
+ if (e->attr.href_base) mem_free(e->attr.href_base);
+ if (e->attr.target_base) mem_free(e->attr.target_base);
+ if (e->attr.select) mem_free(e->attr.select);
+ free_js_event_spec(e->attr.js_event);
+ del_from_list(e);
+ mem_free(e);
+ /*if ((void *)(html_stack.next) == &html_stack || !html_stack.next) {
+ debug("killing last element");
+ }*/
+}
+
+static inline void kill_elem(unsigned char *e)
+{
+ if ((size_t)html_top.namelen == strlen(e) && !casecmp(html_top.name, e, html_top.namelen))
+ kill_html_stack_item(&html_top);
+}
+
+#if defined(DEBUG) && 0
+void debug_stack(void)
+{
+ struct html_element *e;
+ printf("HTML stack debug: \n");
+ foreachback(e, html_stack) {
+ int i;
+ printf("\"");
+ for (i = 0; i < e->namelen; i++) printf("%c", e->name[i]);
+ printf("\"\n");
+ }
+ printf("%c", 7);
+ fflush(stdout);
+ sleep(1);
+}
+#endif
+
+void html_stack_dup(void)
+{
+ struct html_element *e;
+ struct html_element *ep;
+ html_format_changed = 1;
+ if ((void *)(ep = html_stack.next) == &html_stack || !html_stack.next) {
+ internal("html stack empty");
+ return;
+ }
+ e = mem_alloc(sizeof(struct html_element));
+ memcpy(e, ep, sizeof(struct html_element));
+ e->attr.fontface = stracpy(ep->attr.fontface);
+ e->attr.link = stracpy(ep->attr.link);
+ e->attr.target = stracpy(ep->attr.target);
+ e->attr.image = stracpy(ep->attr.image);
+ e->attr.href_base = stracpy(ep->attr.href_base);
+ e->attr.target_base = stracpy(ep->attr.target_base);
+ e->attr.select = stracpy(ep->attr.select);
+ copy_js_event_spec(&e->attr.js_event, ep->attr.js_event);
+ /*if (e->name) {
+ if (e->attr.link) set_mem_comment(e->attr.link, e->name, e->namelen);
+ if (e->attr.target) set_mem_comment(e->attr.target, e->name, e->namelen);
+ if (e->attr.image) set_mem_comment(e->attr.image, e->name, e->namelen);
+ if (e->attr.href_base) set_mem_comment(e->attr.href_base, e->name, e->namelen);
+ if (e->attr.target_base) set_mem_comment(e->attr.target_base, e->name, e->namelen);
+ if (e->attr.select) set_mem_comment(e->attr.select, e->name, e->namelen);
+ }*/
+ e->name = e->options = NULL;
+ e->namelen = 0;
+ e->dontkill = 0;
+ add_to_list(html_stack, e);
+}
+
+
+#ifdef JS
+static void get_js_event(unsigned char *a, unsigned char *name, unsigned char **where)
+{
+ unsigned char *v;
+ if ((v = get_attr_val(a, name))) {
+ if (*where) mem_free(*where);
+ *where = v;
+ }
+}
+
+static int get_js_events_x(struct js_event_spec **spec, unsigned char *a)
+{
+ if (!has_attr(a, "onkeyup") && !has_attr(a, "onkeydown") && !has_attr(a,"onkeypress") && !has_attr(a,"onchange") && !has_attr(a, "onfocus") && !has_attr(a,"onblur") && !has_attr(a, "onclick") && !has_attr(a, "ondblclick") && !has_attr(a, "onmousedown") && !has_attr(a, "onmousemove") && !has_attr(a, "onmouseout") && !has_attr(a, "onmouseover") && !has_attr(a, "onmouseup")) return 0;
+ create_js_event_spec(spec);
+ get_js_event(a, "onclick", &(*spec)->click_code);
+ get_js_event(a, "ondblclick", &(*spec)->dbl_code);
+ get_js_event(a, "onmousedown", &(*spec)->down_code);
+ get_js_event(a, "onmouseup", &(*spec)->up_code);
+ get_js_event(a, "onmouseover", &(*spec)->over_code);
+ get_js_event(a, "onmouseout", &(*spec)->out_code);
+ get_js_event(a, "onmousemove", &(*spec)->move_code);
+ get_js_event(a, "onfocus", &(*spec)->focus_code);
+ get_js_event(a, "onblur", &(*spec)->blur_code);
+ get_js_event(a, "onchange", &(*spec)->change_code);
+ get_js_event(a, "onkeypress", &(*spec)->keypress_code);
+ get_js_event(a, "onkeyup", &(*spec)->keyup_code);
+ get_js_event(a, "onkeydown", &(*spec)->keydown_code);
+ return 1;
+}
+
+static int get_js_events(unsigned char *a)
+{
+ return get_js_events_x(&format.js_event, a);
+}
+#else
+static int get_js_events_x(struct js_event_spec **spec, unsigned char *a)
+{
+ return 0;
+}
+static int get_js_events(unsigned char *a)
+{
+ return 0;
+}
+#endif
+
+void *ff;
+void (*put_chars_f)(void *, unsigned char *, int);
+void (*line_break_f)(void *);
+void *(*special_f)(void *, int, ...);
+
+static unsigned char *eoff;
+unsigned char *eofff;
+unsigned char *startf;
+
+int line_breax;
+static int pos;
+static int putsp;
+
+static int was_br;
+int table_level;
+int empty_format;
+
+static void ln_break(int n)
+{
+ if (!n || html_top.invisible) return;
+ while (n > line_breax) line_breax++, line_break_f(ff);
+ pos = 0;
+ putsp = -1;
+}
+
+#define CH_BUF 256
+#define BUF_RESERVE 6
+
+static int put_chars_conv(unsigned char *c, int l)
+{
+ static unsigned char buffer[CH_BUF];
+ int bp = 0;
+ int pp = 0;
+ int total = 0;
+ if (format.attr & AT_GRAPHICS) {
+ put_chars_f(ff, c, l);
+ return l;
+ }
+ if (!l) put_chars_f(ff, NULL, 0);
+ while (pp < l) {
+ int sl;
+ unsigned char *e = NULL; /* against warning */
+ if (c[pp] < 128 && c[pp] != '&') {
+ put_c:
+ if (bp > CH_BUF - BUF_RESERVE && c[pp] >= 0xc0) goto flush;
+ if (!(buffer[bp++] = c[pp++])) buffer[bp - 1] = ' ';
+ if (buffer[bp - 1] != ' ' && bp < CH_BUF) continue;
+ goto flush;
+ }
+ if (c[pp] != '&') {
+ struct conv_table *t;
+ int i;
+ if (pp + 3 <= l && c[pp] == 0xef && c[pp + 1] == 0xbb && c[pp + 2] == 0xbf && d_opt->real_cp == utf8_table) {
+ pp += 3;
+ continue;
+ }
+ if ((d_opt->real_cp == d_opt->cp && d_opt->real_cp == utf8_table) || !convert_table) goto put_c;
+ t = convert_table;
+ i = pp;
+ decode:
+ if (!t[c[i]].t) {
+ e = t[c[i]].u.str;
+ } else {
+ t = t[c[i++]].u.tbl;
+ if (i >= l) goto put_c;
+ goto decode;
+ }
+ pp = i + 1;
+ } else {
+ int i = pp + 1;
+ if (d_opt->plain & 1) goto put_c;
+ while (i < l && c[i] != ';' && c[i] != '&' && c[i] > ' ') i++;
+ if (!(e = get_entity_string(&c[pp + 1], i - pp - 1, d_opt->cp))) goto put_c;
+ pp = i + (i < l && c[i] == ';');
+ }
+ if (!e[0]) continue;
+ if (!e[1]) {
+ buffer[bp++] = e[0];
+ if (bp < CH_BUF) continue;
+ flush:
+ e = "";
+ goto flush1;
+ }
+ sl = strlen(e);
+ if (sl > BUF_RESERVE) {
+ e = "";
+ sl = 0;
+ }
+ if (bp + sl > CH_BUF) {
+ flush1:
+ put_chars_f(ff, buffer, bp);
+ if (d_opt->cp == utf8_table) {
+ while (bp) if ((buffer[--bp] & 0xc0) != 0x80) total++;
+ } else {
+ total += bp;
+ bp = 0;
+ }
+ }
+ while (*e) {
+ buffer[bp++] = *(e++);
+ }
+ if (bp == CH_BUF) goto flush;
+ }
+ if (bp) put_chars_f(ff, buffer, bp);
+ if (d_opt->cp == utf8_table) {
+ while (bp) if ((buffer[--bp] & 0xc0) != 0x80) total++;
+ } else {
+ total += bp;
+ }
+ return total;
+}
+
+static void put_chrs(unsigned char *start, int len)
+{
+ if (par_format.align == AL_NO) putsp = 0;
+ if (!len || html_top.invisible) return;
+ if (putsp == 1) pos += put_chars_conv(" ", 1), putsp = -1;
+ if (putsp == -1) {
+ if (start[0] == ' ') start++, len--;
+ putsp = 0;
+ }
+ if (!len) {
+ putsp = -1;
+ if (par_format.align == AL_NO) putsp = 0;
+ return;
+ }
+ if (start[len - 1] == ' ') putsp = -1;
+ if (par_format.align == AL_NO) putsp = 0;
+ was_br = 0;
+ pos += put_chars_conv(start, len);
+ line_breax = 0;
+}
+
+static void kill_until(int ls, ...)
+{
+ int l;
+ struct html_element *e = &html_top;
+ if (ls) e = e->next;
+ while ((void *)e != &html_stack) {
+ int sk = 0;
+ va_list arg;
+ va_start(arg, ls);
+ while (1) {
+ unsigned char *s = va_arg(arg, unsigned char *);
+ if (!s) break;
+ if (!*s) sk++;
+ else if ((size_t)e->namelen == strlen(s) && !casecmp(e->name, s, strlen(s))) {
+ if (!sk) {
+ if (e->dontkill) break;
+ va_end(arg);
+ goto killll;
+ }
+ else if (sk == 1) {
+ va_end(arg);
+ goto killl;
+ } else break;
+ }
+ }
+ va_end(arg);
+ if (e->dontkill || (e->namelen == 5 && !casecmp(e->name, "TABLE", 5))) break;
+ if (e->namelen == 2 && upcase(e->name[0]) == 'T' && (upcase(e->name[1]) == 'D' || upcase(e->name[1]) == 'H' || upcase(e->name[1]) == 'R')) break;
+ e = e->next;
+ }
+ return;
+ killl:
+ e = e->prev;
+ killll:
+ l = 0;
+ while ((void *)e != &html_stack) {
+ if (ls && e == html_stack.next) break;
+ if (e->linebreak > l) l = e->linebreak;
+ e = e->prev;
+ kill_html_stack_item(e->next);
+ }
+ ln_break(l);
+}
+
+int get_num(unsigned char *a, unsigned char *n)
+{
+ unsigned char *al;
+ if ((al = get_attr_val(a, n))) {
+ unsigned char *end;
+ unsigned long s = strtoul(al, (char **)(void *)&end, 10);
+ if (!*al || *end || s > 10000) s = -1;
+ mem_free(al);
+ return s;
+ }
+ return -1;
+}
+
+/* trunc somehow clips the maximum values. Use 0 to disable truncastion. */
+static int parse_width(unsigned char *w, int trunc)
+{
+ unsigned char *end;
+ int p = 0;
+ long s;
+ int l;
+ int limit = par_format.width - (par_format.leftmargin + par_format.rightmargin) * gf_val(1, G_HTML_MARGIN);
+ while (WHITECHAR(*w)) w++;
+ for (l = 0; w[l] && w[l] != ','; l++)
+ ;
+ while (l && WHITECHAR(w[l - 1])) l--;
+ if (!l) return -1;
+ if (w[l - 1] == '%') l--, p = 1;
+ while (l && WHITECHAR(w[l - 1])) l--;
+ if (!l) return -1;
+ s = strtoul(w, (char **)(void *)&end, 10);
+ if (end - w < l || s < 0 || s > 10000) return -1;
+ if (p) {
+ if (trunc) {
+#ifdef G
+ if (trunc == 3) {
+ return -1;
+ /*
+ limit = d_opt->yw - G_SCROLL_BAR_WIDTH;
+ if (limit < 0) limit = 0;
+ */
+ }
+#endif
+ s = s * limit / 100;
+ }
+ else return -1;
+ } else s = (s + (gf_val(HTML_CHAR_WIDTH, 1) - 1) / 2) / gf_val(HTML_CHAR_WIDTH, 1);
+ if (trunc == 1 && s > limit) s = limit;
+ if (s < 0) s = 0;
+ return s;
+}
+
+/* trunc somehow clips the maximum values. Use 0 to disable truncastion. */
+int get_width(unsigned char *a, unsigned char *n, int trunc)
+{
+ int r;
+ unsigned char *w;
+ if (!(w = get_attr_val(a, n))) return -1;
+ r = parse_width(w, trunc);
+ mem_free(w);
+ return r;
+}
+
+/*int form_num;
+struct form form = { 0, NULL, 0 };
+int g_ctrl_num;*/
+
+struct form form = { NULL, NULL, NULL, NULL, 0, 0 };
+
+unsigned char *last_form_tag;
+unsigned char *last_form_attr;
+unsigned char *last_input_tag;
+
+static inline void set_link_attr(void)
+{
+ memcpy(!(format.attr & AT_INVERT) ? &format.fg : &format.bg, &format.clink, sizeof(struct rgb));
+}
+
+static void put_link_line(unsigned char *prefix, unsigned char *linkname, unsigned char *link, unsigned char *target)
+{
+ html_stack_dup();
+ ln_break(1);
+ if (format.link) mem_free(format.link), format.link = NULL;
+ if (format.target) mem_free(format.target), format.target = NULL;
+ format.form = NULL;
+ put_chrs(prefix, strlen(prefix));
+ html_format_changed = 1;
+ format.link = join_urls(format.href_base, link);
+ format.target = stracpy(target);
+ set_link_attr();
+ put_chrs(linkname, strlen(linkname));
+ ln_break(1);
+ kill_html_stack_item(&html_top);
+}
+
+static void html_span(unsigned char *a) { }
+
+static void html_bold(unsigned char *a)
+{
+ get_js_events(a);
+ format.attr |= AT_BOLD;
+}
+
+static void html_italic(unsigned char *a)
+{
+ get_js_events(a);
+ format.attr |= AT_ITALIC;
+}
+
+static void html_underline(unsigned char *a)
+{
+ get_js_events(a);
+ format.attr |= AT_UNDERLINE;
+}
+
+static void html_fixed(unsigned char *a)
+{
+ get_js_events(a);
+ format.attr |= AT_FIXED;
+}
+
+static void html_invert(unsigned char *a)
+{
+ struct rgb rgb;
+ get_js_events(a);
+ memcpy(&rgb, &format.fg, sizeof(struct rgb));
+ memcpy(&format.fg, &format.bg, sizeof(struct rgb));
+ memcpy(&format.bg, &rgb, sizeof(struct rgb));
+ format.attr ^= AT_INVERT;
+}
+
+static void html_a(unsigned char *a)
+{
+ unsigned char *al;
+
+ int ev = get_js_events(a);
+
+ if ((al = get_url_val(a, "href"))) {
+ unsigned char *all = al;
+ while (all[0] == ' ') all++;
+ while (all[0] && all[strlen(all) - 1] == ' ') all[strlen(all) - 1] = 0;
+ if (format.link) mem_free(format.link);
+ format.link = join_urls(format.href_base, all);
+ mem_free(al);
+ if ((al = get_target(a))) {
+ if (format.target) mem_free(format.target);
+ format.target = al;
+ } else {
+ if (format.target) mem_free(format.target);
+ format.target = stracpy(format.target_base);
+ }
+ /*format.attr ^= AT_BOLD;*/
+ set_link_attr();
+ } else if (!ev) kill_html_stack_item(&html_top);
+ if ((al = get_attr_val(a, "name"))) {
+ special_f(ff, SP_TAG, al);
+ mem_free(al);
+ }
+}
+
+static void html_a_special(unsigned char *a, unsigned char *next, unsigned char *eof)
+{
+ unsigned char *t;
+ while (next < eof && WHITECHAR(*next)) next++;
+ if (next > eof - 4) return;
+ if (!(next[0] == '<' && next[1] == '/' && upcase(next[2]) == 'A' && next[3] == '>')) return;
+ if (!has_attr(a, "href") || !format.link) return;
+ t = get_attr_val(a, "title");
+ if (!t) return;
+ put_chrs(t, strlen(t));
+ mem_free(t);
+}
+
+static void html_sub(unsigned char *a)
+{
+ get_js_events(a);
+ format.fontsize = 1;
+ format.baseline = -1;
+}
+
+static void html_sup(unsigned char *a)
+{
+ get_js_events(a);
+ format.fontsize = 1;
+ if (format.baseline <= 0) format.baseline = format.fontsize;
+}
+
+
+static void html_font(unsigned char *a)
+{
+ unsigned char *al;
+ if ((al = get_attr_val(a, "size"))) {
+ int p = 0;
+ unsigned long s;
+ unsigned char *nn = al;
+ unsigned char *end;
+ if (*al == '+') p = 1, nn++;
+ if (*al == '-') p = -1, nn++;
+ s = strtoul(nn, (char **)(void *)&end, 10);
+ if (*nn && !*end) {
+ if (s > 7) s = 7;
+ if (!p) format.fontsize = s;
+ else format.fontsize += p * s;
+ if (format.fontsize < 1) format.fontsize = 1;
+ if (format.fontsize > 7) format.fontsize = 7;
+ }
+ mem_free(al);
+ }
+ get_color(a, "color", &format.fg);
+}
+
+static void html_img(unsigned char *a)
+{
+ unsigned char *al;
+ unsigned char *s;
+ unsigned char *orig_link = NULL;
+ int ismap, usemap = 0;
+ /*put_chrs(" ", 1);*/
+ get_js_events(a);
+ if ((!F || !d_opt->display_images) && ((al = get_attr_val(a, "usemap")))) {
+ unsigned char *u;
+ usemap = 1;
+ html_stack_dup();
+ if (format.link) mem_free(format.link);
+ if (format.form) format.form = NULL;
+ u = join_urls(format.href_base, al);
+ format.link = mem_alloc(strlen(u) + 5);
+ strcpy(format.link, "MAP@");
+ strcat(format.link, u);
+ format.attr |= AT_BOLD;
+ mem_free(u);
+ mem_free(al);
+ }
+ ismap = format.link && (F || !has_attr(a, "usemap")) && has_attr(a, "ismap");
+ if (format.image) mem_free(format.image), format.image = NULL;
+ if ((s = get_url_val(a, "src")) || (s = get_attr_val(a, "dynsrc")) || (s = get_attr_val(a, "data"))) {
+ if (!format.link && d_opt->braille) goto skip_img;
+ format.image = join_urls(format.href_base, s);
+ skip_img:
+ orig_link = s;
+ }
+ if (!F || !d_opt->display_images) {
+ if ((!(al = get_attr_val(a, "alt")) && !(al = get_attr_val(a, "title"))) || !*al) {
+ if (al) mem_free(al);
+ if (!d_opt->images && !format.link) goto ret;
+ if (d_opt->image_names && s) {
+ unsigned char *ss;
+ al = stracpy("[");
+ if (!(ss = strrchr(s, '/'))) ss = s;
+ else ss++;
+ add_to_strn(&al, ss);
+ if ((ss = strchr(al, '?'))) *ss = 0;
+ if ((ss = strchr(al, '&'))) *ss = 0;
+ add_to_strn(&al, "]");
+ } else if (usemap) al = stracpy("[USEMAP]");
+ else if (ismap) al = stracpy("[ISMAP]");
+ else al = stracpy("[IMG]");
+ }
+ if (al) {
+ if (ismap) {
+ unsigned char *h;
+ html_stack_dup();
+ h = stracpy(format.link);
+ add_to_strn(&h, "?0,0");
+ mem_free(format.link);
+ format.link = h;
+ }
+ html_format_changed = 1;
+ put_chrs(al, strlen(al));
+ if (ismap) kill_html_stack_item(&html_top);
+ }
+ mem_free(al);
+#ifdef G
+ } else {
+ struct image_description i;
+ unsigned char *al;
+ unsigned char *u;
+ int aa = -1;
+
+ if ((al = get_attr_val(a, "align"))) {
+ if (!strcasecmp(al, "left")) aa = AL_LEFT;
+ if (!strcasecmp(al, "right")) aa = AL_RIGHT;
+ if (!strcasecmp(al, "center")) aa = AL_CENTER;
+ if (!strcasecmp(al, "bottom")) aa = AL_BOTTOM;
+ if (!strcasecmp(al, "middle")) aa = AL_MIDDLE;
+ if (!strcasecmp(al, "top")) aa = AL_TOP;
+ mem_free(al);
+ }
+
+ if (aa == AL_LEFT || aa == AL_RIGHT || aa == AL_CENTER) {
+ ln_break(1);
+ html_stack_dup();
+ par_format.align = aa;
+ }
+
+ memset(&i,0,sizeof(i));
+ if (ismap) {
+ unsigned char *h;
+ html_stack_dup();
+ h = stracpy(format.link);
+ add_to_strn(&h, "?0,0");
+ mem_free(format.link);
+ format.link = h;
+ }
+
+ i.url = stracpy(format.image);
+
+ i.src = orig_link, orig_link = NULL;
+ /*
+ i.xsize = get_num(a, "width");
+ i.ysize = get_num(a, "height");
+ */
+ i.xsize = get_width(a, "width", 2);
+ i.ysize = get_width(a, "height", 3);
+ if (d_opt->porn_enable && i.xsize < 0 && i.ysize < 0 && d_opt->plain == 2) {
+ /* Strict checking for porn condition ;-) */
+ i.autoscale_x = d_opt->xw;
+ i.autoscale_y = d_opt->yw;
+ } else {
+ /* Turn off autoscale */
+ i.autoscale_x = 0;
+ i.autoscale_y = 0;
+ }
+ /*debug("%s, %s -> %d, %d", get_attr_val(a, "width"), get_attr_val(a, "height"), i.xsize, i.ysize);*/
+ i.hspace = get_num(a, "hspace");
+ i.vspace = get_num(a, "vspace");
+ i.border = get_num(a, "border");
+ i.align = aa;
+ i.name = get_attr_val(a, "id");
+ if (!i.name) i.name = get_attr_val(a, "name");
+ i.alt = get_attr_val(a, "title");
+ if (!i.alt) i.alt = get_attr_val(a, "alt");
+ i.insert_flag = !(format.form);
+ i.ismap = ismap;
+ if ((u = get_attr_val(a, "usemap"))) {
+ i.usemap = join_urls(format.href_base, u);
+ mem_free(u);
+ }
+ if (i.url) special_f(ff, SP_IMAGE, &i), mem_free(i.url);
+ if (i.usemap) mem_free(i.usemap);
+ if (i.name) mem_free(i.name);
+ if (i.alt) mem_free(i.alt);
+ if (i.src) mem_free(i.src);
+ line_breax = 0;
+ if (ismap) kill_html_stack_item(&html_top);
+ if (aa == AL_LEFT || aa == AL_RIGHT || aa == AL_CENTER) {
+ ln_break(1);
+ kill_html_stack_item(&html_top);
+ }
+ line_breax = 0;
+ was_br = 0;
+#endif
+ }
+ ret:
+ if (format.image) mem_free(format.image), format.image = NULL;
+ html_format_changed = 1;
+ if (usemap) kill_html_stack_item(&html_top);
+ /*put_chrs(" ", 1);*/
+ if (orig_link) mem_free(orig_link);
+}
+
+static void html_obj(unsigned char *a, int obj)
+{
+ unsigned char *old_base = format.href_base;
+ unsigned char *url;
+ unsigned char *type = get_attr_val(a, "type");
+ unsigned char *base;
+ if ((base = get_attr_val(a, "codebase"))) format.href_base = join_urls(format.href_base, base);
+ if (!type) {
+ url = get_attr_val(a, "src");
+ if (!url) url = get_attr_val(a, "data");
+ if (url) type = get_content_type(NULL, url), mem_free(url);
+ }
+ if (type && known_image_type(type)) {
+ html_img(a);
+ if (obj == 1) html_top.invisible = 1;
+ goto ret;
+ }
+ url = get_attr_val(a, "src");
+ if (!url) url = get_attr_val(a, "data");
+ if (url) put_link_line("", !obj ? "[EMBED]" : "[OBJ]", url, ""), mem_free(url);
+ ret:
+ if (base) mem_free(format.href_base), format.href_base = old_base, mem_free(base);
+ if (type) mem_free(type);
+}
+
+static void html_embed(unsigned char *a)
+{
+ html_obj(a, 0);
+}
+
+static void html_object(unsigned char *a)
+{
+ html_obj(a, 1);
+}
+
+static void html_body(unsigned char *a)
+{
+ get_color(a, "text", &format.fg);
+ get_color(a, "link", &format.clink);
+ if (has_attr(a, "onload")) special_f(ff, SP_SCRIPT, NULL);
+ /*
+ get_bgcolor(a, &format.bg);
+ get_bgcolor(a, &par_format.bgcolor);
+ */
+}
+
+static void html_skip(unsigned char *a) { html_top.invisible = html_top.dontkill = 1; }
+
+static void html_title(unsigned char *a) { html_top.invisible = html_top.dontkill = 1; }
+
+static void html_script(unsigned char *a)
+{
+ unsigned char *s;
+ s = get_attr_val(a, "src");
+ special_f(ff, SP_SCRIPT, s);
+ if (s) mem_free(s);
+ html_skip(a);
+}
+
+static void html_noscript(unsigned char *a)
+{
+ if (d_opt->js_enable) html_skip(a);
+}
+
+static void html_center(unsigned char *a)
+{
+ par_format.align = AL_CENTER;
+ if (!table_level && !F) par_format.leftmargin = par_format.rightmargin = 0;
+}
+
+static void html_linebrk(unsigned char *a)
+{
+ unsigned char *al;
+ if ((al = get_attr_val(a, "align"))) {
+ if (!strcasecmp(al, "left")) par_format.align = AL_LEFT;
+ if (!strcasecmp(al, "right")) par_format.align = AL_RIGHT;
+ if (!strcasecmp(al, "center")) {
+ par_format.align = AL_CENTER;
+ if (!table_level && !F) par_format.leftmargin = par_format.rightmargin = 0;
+ }
+ if (!strcasecmp(al, "justify")) par_format.align = AL_BLOCK;
+ mem_free(al);
+ }
+}
+
+static void html_br(unsigned char *a)
+{
+ html_linebrk(a);
+ if (par_format.align != AL_NO) {
+ if (was_br) ln_break(2);
+ was_br = 1;
+ }
+}
+
+static void html_form(unsigned char *a)
+{
+ was_br = 1;
+}
+
+static void html_p(unsigned char *a)
+{
+ if (par_format.leftmargin < margin) par_format.leftmargin = margin;
+ if (par_format.rightmargin < margin) par_format.rightmargin = margin;
+ /*par_format.align = AL_LEFT;*/
+ html_linebrk(a);
+}
+
+static void html_address(unsigned char *a)
+{
+ par_format.leftmargin += 1;
+ par_format.align = AL_LEFT;
+}
+
+static void html_blockquote(unsigned char *a)
+{
+ par_format.leftmargin += 2;
+ par_format.align = AL_LEFT;
+}
+
+static void html_h(int h, unsigned char *a)
+{
+#ifdef G
+ if (F) {
+ html_linebrk(a);
+ format.fontsize = 8 - h;
+ format.attr |= AT_BOLD;
+ return;
+ }
+#endif
+ par_format.align = AL_LEFT;
+ if (h == 1) {
+ html_center(a);
+ return;
+ }
+ html_linebrk(a);
+ switch (par_format.align) {
+ case AL_LEFT:
+ par_format.leftmargin = (h - 2) * 2;
+ par_format.rightmargin = 0;
+ break;
+ case AL_RIGHT:
+ par_format.leftmargin = 0;
+ par_format.rightmargin = (h - 2) * 2;
+ break;
+ case AL_CENTER:
+ par_format.leftmargin = par_format.rightmargin = 0;
+ break;
+ case AL_BLOCK:
+ par_format.leftmargin = par_format.rightmargin = (h - 2) * 2;
+ break;
+ }
+}
+
+static void html_h1(unsigned char *a) { html_h(1, a); }
+static void html_h2(unsigned char *a) { html_h(2, a); }
+static void html_h3(unsigned char *a) { html_h(3, a); }
+static void html_h4(unsigned char *a) { html_h(4, a); }
+static void html_h5(unsigned char *a) { html_h(5, a); }
+static void html_h6(unsigned char *a) { html_h(6, a); }
+
+static void html_pre(unsigned char *a)
+{
+ format.attr |= AT_FIXED;
+ par_format.align = AL_NO;
+ par_format.leftmargin = par_format.leftmargin > 1;
+ par_format.rightmargin = 0;
+}
+
+static void html_hr(unsigned char *a)
+{
+ int i;
+ int q = get_num(a, "size");
+ html_stack_dup();
+ par_format.align = AL_CENTER;
+ if (format.link) mem_free(format.link), format.link = NULL;
+ format.form = NULL;
+ html_linebrk(a);
+ if (par_format.align == AL_BLOCK) par_format.align = AL_CENTER;
+ par_format.leftmargin = margin;
+ par_format.rightmargin = margin;
+ i = get_width(a, "width", 1);
+ if (!F) {
+ unsigned char r = 205;
+ if (q >= 0 && q < 2) r = 196;
+ if (i < 0) i = par_format.width - 2 * margin - 4;
+ format.attr = AT_GRAPHICS;
+ special_f(ff, SP_NOWRAP, 1);
+ while (i-- > 0) put_chrs(&r, 1);
+ special_f(ff, SP_NOWRAP, 0);
+ }
+#ifdef G
+ else {
+ struct hr_param hr;
+ if (q < 0) q = 2;
+ if (i < 0) i = par_format.width - 2 * margin * G_HTML_MARGIN - 6 * G_HTML_MARGIN;
+ hr.size = q;
+ hr.width = i;
+ if (i >= 0) special_f(ff, SP_HR, &hr);
+ }
+#endif
+ ln_break(2);
+ kill_html_stack_item(&html_top);
+}
+
+static void html_table(unsigned char *a)
+{
+ par_format.leftmargin = margin;
+ par_format.rightmargin = margin;
+ par_format.align = AL_LEFT;
+ html_linebrk(a);
+ format.attr = 0;
+}
+
+static void html_tr(unsigned char *a)
+{
+ html_linebrk(a);
+}
+
+static void html_th(unsigned char *a)
+{
+ /*html_linebrk(a);*/
+ kill_until(1, "TD", "TH", "", "TR", "TABLE", NULL);
+ format.attr |= AT_BOLD;
+ put_chrs(" ", 1);
+}
+
+static void html_td(unsigned char *a)
+{
+ /*html_linebrk(a);*/
+ kill_until(1, "TD", "TH", "", "TR", "TABLE", NULL);
+ format.attr &= ~AT_BOLD;
+ put_chrs(" ", 1);
+}
+
+static void html_base(unsigned char *a)
+{
+ unsigned char *al;
+ if ((al = get_url_val(a, "href"))) {
+ if (format.href_base) mem_free(format.href_base);
+ format.href_base = join_urls(((struct html_element *)html_stack.prev)->attr.href_base, al);
+ special_f(ff, SP_SET_BASE, format.href_base);
+ mem_free(al);
+ }
+ if ((al = get_target(a))) {
+ if (format.target_base) mem_free(format.target_base);
+ format.target_base = al;
+ }
+}
+
+static void html_ul(unsigned char *a)
+{
+ unsigned char *al;
+ /*debug_stack();*/
+ par_format.list_level++;
+ par_format.list_number = 0;
+ par_format.flags = P_STAR;
+ if ((al = get_attr_val(a, "type"))) {
+ if (!strcasecmp(al, "disc") || !strcasecmp(al, "circle")) par_format.flags = P_O;
+ if (!strcasecmp(al, "square")) par_format.flags = P_PLUS;
+ mem_free(al);
+ }
+ if ((par_format.leftmargin += 2 + (par_format.list_level > 1)) > par_format.width * 2 / 3 && !table_level)
+ par_format.leftmargin = par_format.width * 2 / 3;
+ par_format.align = AL_LEFT;
+ html_top.dontkill = 1;
+}
+
+static void html_ol(unsigned char *a)
+{
+ unsigned char *al;
+ int st;
+ par_format.list_level++;
+ st = get_num(a, "start");
+ if (st == -1) st = 1;
+ par_format.list_number = st;
+ par_format.flags = P_NUMBER;
+ if ((al = get_attr_val(a, "type"))) {
+ if (!strcmp(al, "1")) par_format.flags = P_NUMBER;
+ if (!strcmp(al, "a")) par_format.flags = P_alpha;
+ if (!strcmp(al, "A")) par_format.flags = P_ALPHA;
+ if (!strcmp(al, "r")) par_format.flags = P_roman;
+ if (!strcmp(al, "R")) par_format.flags = P_ROMAN;
+ if (!strcmp(al, "i")) par_format.flags = P_roman;
+ if (!strcmp(al, "I")) par_format.flags = P_ROMAN;
+ mem_free(al);
+ }
+ if (!F) if ((par_format.leftmargin += (par_format.list_level > 1)) > par_format.width * 2 / 3 && !table_level)
+ par_format.leftmargin = par_format.width * 2 / 3;
+ par_format.align = AL_LEFT;
+ html_top.dontkill = 1;
+}
+
+static void html_li(unsigned char *a)
+{
+ /*kill_until(0, "", "UL", "OL", NULL);*/
+ if (!par_format.list_number) {
+ unsigned char x[7] = "*&nbsp;";
+ if ((par_format.flags & P_LISTMASK) == P_O) x[0] = 'o';
+ if ((par_format.flags & P_LISTMASK) == P_PLUS) x[0] = '+';
+#ifdef G
+ if (F) par_format.leftmargin += 2;
+#endif
+ put_chrs(x, 7);
+ if (!F) par_format.leftmargin += 2;
+ par_format.align = AL_LEFT;
+ putsp = -1;
+ } else {
+ unsigned char c = 0;
+ unsigned char n[32];
+ int t = par_format.flags & P_LISTMASK;
+ int s = get_num(a, "value");
+#ifdef G
+ if (F) par_format.leftmargin += 4;
+#endif
+ if (s != -1) par_format.list_number = s;
+ if ((t != P_roman && t != P_ROMAN && par_format.list_number < 10) || t == P_alpha || t == P_ALPHA) put_chrs("&nbsp;", 6), c = 1;
+ if (t == P_ALPHA || t == P_alpha) {
+ n[0] = par_format.list_number ? (par_format.list_number - 1) % 26 + (t == P_ALPHA ? 'A' : 'a') : 0;
+ n[1] = 0;
+ } else if (t == P_ROMAN || t == P_roman) {
+ roman(n, par_format.list_number);
+ if (t == P_ROMAN) {
+ unsigned char *x;
+ for (x = n; *x; x++) *x = upcase(*x);
+ }
+ } else sprintf(n, "%d", par_format.list_number);
+ put_chrs(n, strlen(n));
+ put_chrs(".&nbsp;", 7);
+ if (!F) par_format.leftmargin += strlen(n) + c + 2;
+ par_format.align = AL_LEFT;
+ html_top.next->parattr.list_number = par_format.list_number + 1;
+ par_format.list_number = 0;
+ putsp = -1;
+ }
+ line_breax = 2;
+}
+
+static void html_dl(unsigned char *a)
+{
+ par_format.flags &= ~P_COMPACT;
+ if (has_attr(a, "compact")) par_format.flags |= P_COMPACT;
+ if (par_format.list_level) par_format.leftmargin += 5;
+ par_format.list_level++;
+ par_format.list_number = 0;
+ par_format.align = AL_LEFT;
+ par_format.dd_margin = par_format.leftmargin;
+ html_top.dontkill = 1;
+ if (!(par_format.flags & P_COMPACT)) {
+ ln_break(2);
+ html_top.linebreak = 2;
+ }
+}
+
+static void html_dt(unsigned char *a)
+{
+ kill_until(0, "", "DL", NULL);
+ par_format.align = AL_LEFT;
+ par_format.leftmargin = par_format.dd_margin;
+ if (!(par_format.flags & P_COMPACT) && !has_attr(a, "compact"))
+ ln_break(2);
+}
+
+static void html_dd(unsigned char *a)
+{
+ kill_until(0, "", "DL", NULL);
+ if ((par_format.leftmargin = par_format.dd_margin + (table_level ? 3 : 8)) > par_format.width * 2 / 3 && !table_level)
+ par_format.leftmargin = par_format.width * 2 / 3;
+ par_format.align = AL_LEFT;
+}
+
+static void get_html_form(unsigned char *a, struct form *form)
+{
+ unsigned char *al;
+ unsigned char *ch;
+ form->method = FM_GET;
+ if ((al = get_attr_val(a, "method"))) {
+ if (!strcasecmp(al, "post")) {
+ unsigned char *ax;
+ form->method = FM_POST;
+ if ((ax = get_attr_val(a, "enctype"))) {
+ if (!strcasecmp(ax, "multipart/form-data"))
+ form->method = FM_POST_MP;
+ mem_free(ax);
+ }
+ }
+ mem_free(al);
+ }
+ if ((al = get_url_val(a, "action"))) {
+ unsigned char *all = al;
+ while (all[0] == ' ') all++;
+ while (all[0] && all[strlen(all) - 1] == ' ') all[strlen(all) - 1] = 0;
+ form->action = join_urls(format.href_base, all);
+ mem_free(al);
+ } else {
+ if ((ch = strchr(form->action = stracpy(format.href_base), POST_CHAR))) *ch = 0;
+ if (form->method == FM_GET && (ch = strchr(form->action, '?'))) *ch = 0;
+ }
+ if ((al = get_target(a))) {
+ form->target = al;
+ } else {
+ form->target = stracpy(format.target_base);
+ }
+ if ((al=get_attr_val(a,"name")))
+ {
+ form->form_name=al;
+ }
+ if ((al=get_attr_val(a,"onsubmit")))
+ {
+ form->onsubmit=al;
+ }
+ form->num = a - startf;
+}
+
+static void find_form_for_input(unsigned char *i)
+{
+ unsigned char *s, *ss, *name, *attr, *lf, *la;
+ int namelen;
+ if (form.action) mem_free(form.action);
+ if (form.target) mem_free(form.target);
+ if (form.form_name) mem_free(form.form_name);
+ if (form.onsubmit) mem_free(form.onsubmit);
+ memset(&form, 0, sizeof(struct form));
+ if (!special_f(ff, SP_USED, NULL)) return;
+ if (last_form_tag && last_input_tag && i <= last_input_tag && i > last_form_tag) {
+ get_html_form(last_form_attr, &form);
+ return;
+ }
+ if (last_form_tag && last_input_tag && i > last_input_tag) {
+ if (parse_element(last_form_tag, i, &name, &namelen, &la, &s))
+ internal("couldn't parse already parsed tag");
+ lf = last_form_tag;
+ s = last_input_tag;
+ } else {
+ lf = NULL, la = NULL;
+ s = startf;
+ }
+ se:
+ while (s < i && *s != '<') sp:s++;
+ if (s >= i) goto end_parse;
+ if (s + 2 <= eofff && (s[1] == '!' || s[1] == '?')) {
+ s = skip_comment(s, i);
+ goto se;
+ }
+ ss = s;
+ if (parse_element(s, i, &name, &namelen, &attr, &s)) goto sp;
+ if (namelen != 4 || casecmp(name, "FORM", 4)) goto se;
+ lf = ss;
+ la = attr;
+ goto se;
+
+ end_parse:
+ if (lf) {
+ last_form_tag = lf;
+ last_form_attr = la;
+ last_input_tag = i;
+ get_html_form(la, &form);
+ } else {
+ last_form_tag = NULL;
+ }
+}
+
+static void html_button(unsigned char *a)
+{
+ unsigned char *al;
+ struct form_control *fc;
+ find_form_for_input(a);
+ fc = mem_calloc(sizeof(struct form_control));
+ if (!(al = get_attr_val(a, "type"))) {
+ fc->type = FC_SUBMIT;
+ goto xxx;
+ }
+ if (!strcasecmp(al, "submit")) fc->type = FC_SUBMIT;
+ else if (!strcasecmp(al, "reset")) fc->type = FC_RESET;
+ else if (!strcasecmp(al, "button")) fc->type = FC_BUTTON;
+ else {
+ mem_free(al);
+ mem_free(fc);
+ return;
+ }
+ mem_free(al);
+ xxx:
+ get_js_events(a);
+ fc->form_num = last_form_tag ? last_form_tag - startf : 0;
+ fc->ctrl_num = last_form_tag ? a - last_form_tag : a - startf;
+ fc->position = a - startf;
+ fc->method = form.method;
+ fc->action = stracpy(form.action);
+ fc->form_name = stracpy(form.form_name);
+ fc->onsubmit = stracpy(form.onsubmit);
+ fc->name = get_attr_val(a, "name");
+ fc->default_value = get_exact_attr_val(a, "value");
+ fc->ro = has_attr(a, "disabled") ? 2 : has_attr(a, "readonly") ? 1 : 0;
+ if (fc->type == FC_IMAGE) fc->alt = get_attr_val(a, "alt");
+ if (fc->type == FC_SUBMIT && !fc->default_value) fc->default_value = stracpy("Submit");
+ if (fc->type == FC_RESET && !fc->default_value) fc->default_value = stracpy("Reset");
+ if (fc->type == FC_BUTTON && !fc->default_value) fc->default_value = stracpy("BUTTON");
+ if (!fc->default_value) fc->default_value = stracpy("");
+ special_f(ff, SP_CONTROL, fc);
+ format.form = fc;
+ format.attr |= AT_BOLD | AT_FIXED;
+ /*put_chrs("[&nbsp;", 7);
+ if (fc->default_value) put_chrs(fc->default_value, strlen(fc->default_value));
+ put_chrs("&nbsp;]", 7);
+ put_chrs(" ", 1);*/
+}
+
+static void set_max_textarea_width(int *w)
+{
+ int limit;
+ if (!table_level) {
+ limit = par_format.width - (par_format.leftmargin + par_format.rightmargin) * gf_val(1, G_HTML_MARGIN);
+ } else {
+ limit = gf_val(d_opt->xw - 2, d_opt->xw - G_SCROLL_BAR_WIDTH - 2 * G_HTML_MARGIN * d_opt->margin);
+ }
+ if (!F) {
+ if (*w > limit) {
+ *w = limit;
+ if (*w < HTML_MINIMAL_TEXTAREA_WIDTH) *w = HTML_MINIMAL_TEXTAREA_WIDTH;
+ }
+#ifdef G
+ } else {
+ struct style *st = g_get_style(0, 0, d_opt->font_size, G_HTML_DEFAULT_FAMILY "-medium-roman-serif-mono", 0);
+ int uw = g_char_width(st, '_');
+ g_free_style(st);
+ if (uw && *w > limit / uw) {
+ *w = limit / uw;
+ if (*w < HTML_MINIMAL_TEXTAREA_WIDTH) *w = HTML_MINIMAL_TEXTAREA_WIDTH;
+ }
+#endif
+ }
+}
+
+static void html_input(unsigned char *a)
+{
+ int i;
+ int size;
+ unsigned char *al;
+ struct form_control *fc;
+ find_form_for_input(a);
+ fc = mem_calloc(sizeof(struct form_control));
+ if (!(al = get_attr_val(a, "type"))) {
+ if (has_attr(a, "onclick")) fc->type = FC_BUTTON;
+ else fc->type = FC_TEXT;
+ goto xxx;
+ }
+ if (!strcasecmp(al, "text")) fc->type = FC_TEXT;
+ else if (!strcasecmp(al, "password")) fc->type = FC_PASSWORD;
+ else if (!strcasecmp(al, "checkbox")) fc->type = FC_CHECKBOX;
+ else if (!strcasecmp(al, "radio")) fc->type = FC_RADIO;
+ else if (!strcasecmp(al, "submit")) fc->type = FC_SUBMIT;
+ else if (!strcasecmp(al, "reset")) fc->type = FC_RESET;
+ else if (!strcasecmp(al, "file")) fc->type = FC_FILE;
+ else if (!strcasecmp(al, "hidden")) fc->type = FC_HIDDEN;
+ else if (!strcasecmp(al, "image")) fc->type = FC_IMAGE;
+ else if (!strcasecmp(al, "button")) fc->type = FC_BUTTON;
+ else fc->type = FC_TEXT;
+ mem_free(al);
+ xxx:
+ fc->form_num = last_form_tag ? last_form_tag - startf : 0;
+ fc->ctrl_num = last_form_tag ? a - last_form_tag : a - startf;
+ fc->position = a - startf;
+ fc->method = form.method;
+ fc->action = stracpy(form.action);
+ fc->form_name = stracpy(form.form_name);
+ fc->onsubmit = stracpy(form.onsubmit);
+ fc->target = stracpy(form.target);
+ fc->name = get_attr_val(a, "name");
+ if (fc->type == FC_TEXT || fc->type == FC_PASSWORD) fc->default_value = get_attr_val(a, "value");
+ else if (fc->type != FC_FILE) fc->default_value = get_exact_attr_val(a, "value");
+ if (fc->type == FC_CHECKBOX && !fc->default_value) fc->default_value = stracpy("on");
+ if ((size = get_num(a, "size")) <= 0) size = HTML_DEFAULT_INPUT_SIZE;
+ size++;
+ if (size > HTML_MINIMAL_TEXTAREA_WIDTH) {
+ set_max_textarea_width(&size);
+ }
+ fc->size = size;
+ if ((fc->maxlength = get_num(a, "maxlength")) == -1) fc->maxlength = MAXINT / 4;
+ if (fc->type == FC_CHECKBOX || fc->type == FC_RADIO) fc->default_state = has_attr(a, "checked");
+ fc->ro = has_attr(a, "disabled") ? 2 : has_attr(a, "readonly") ? 1 : 0;
+ if (fc->type == FC_IMAGE) {
+ fc->alt = get_attr_val(a, "alt");
+ if (!fc->alt) fc->alt = get_attr_val(a, "title");
+ if (!fc->alt) fc->alt = get_attr_val(a, "name");
+ }
+ if (fc->type == FC_SUBMIT && !fc->default_value) fc->default_value = stracpy("Submit");
+ if (fc->type == FC_RESET && !fc->default_value) fc->default_value = stracpy("Reset");
+ if (!fc->default_value) fc->default_value = stracpy("");
+ if (fc->type == FC_HIDDEN) goto hid;
+ put_chrs(" ", 1);
+ html_stack_dup();
+ format.form = fc;
+ get_js_events(a);
+ switch (fc->type) {
+ case FC_TEXT:
+ case FC_PASSWORD:
+ case FC_FILE:
+ format.attr |= AT_BOLD | AT_FIXED;
+ format.fontsize = 3;
+ for (i = 0; i < fc->size; i++) put_chrs("_", 1);
+ break;
+ case FC_CHECKBOX:
+ format.attr |= AT_BOLD | AT_FIXED;
+ format.fontsize = 3;
+ put_chrs("[&nbsp;]", 8);
+ break;
+ case FC_RADIO:
+ format.attr |= AT_BOLD | AT_FIXED;
+ format.fontsize = 3;
+ put_chrs("[&nbsp;]", 8);
+ break;
+ case FC_IMAGE:
+ if (!F || !d_opt->display_images) {
+ if (format.image) mem_free(format.image), format.image = NULL;
+ if ((al = get_url_val(a, "src")) || (al = get_url_val(a, "dynsrc"))) {
+ format.image = join_urls(format.href_base, al);
+ mem_free(al);
+ }
+ format.attr |= AT_BOLD | AT_FIXED;
+ put_chrs("[&nbsp;", 7);
+ if (fc->alt) put_chrs(fc->alt, strlen(fc->alt));
+ else put_chrs("Submit", 6);
+ put_chrs("&nbsp;]", 7);
+ } else html_img(a);
+ break;
+ case FC_SUBMIT:
+ case FC_RESET:
+ format.attr |= AT_BOLD | AT_FIXED;
+ format.fontsize = 3;
+ put_chrs("[&nbsp;", 7);
+ if (fc->default_value) put_chrs(fc->default_value, strlen(fc->default_value));
+ put_chrs("&nbsp;]", 7);
+ break;
+ case FC_BUTTON:
+ format.attr |= AT_BOLD | AT_FIXED;
+ format.fontsize = 3;
+ put_chrs("[&nbsp;", 7);
+ if (fc->default_value) put_chrs(fc->default_value, strlen(fc->default_value));
+ else put_chrs("BUTTON", 6);
+ put_chrs("&nbsp;]", 7);
+ break;
+ default:
+ internal("bad control type");
+ }
+ kill_html_stack_item(&html_top);
+ put_chrs(" ", 1);
+
+ hid:
+ special_f(ff, SP_CONTROL, fc);
+}
+
+static void html_select(unsigned char *a)
+{
+ unsigned char *al;
+ if (!(al = get_attr_val(a, "name"))) return;
+ html_top.dontkill = 1;
+ if (format.select) mem_free(format.select);
+ format.select = al;
+ format.select_disabled = 2 * has_attr(a, "disabled");
+}
+
+static void html_option(unsigned char *a)
+{
+ struct form_control *fc;
+ unsigned char *val;
+ find_form_for_input(a);
+ if (!format.select) return;
+ fc = mem_calloc(sizeof(struct form_control));
+ if (!(val = get_exact_attr_val(a, "value"))) {
+ unsigned char *p, *r;
+ unsigned char *name;
+ int namelen;
+ int l = 0;
+ for (p = a - 1; *p != '<'; p--)
+ ;
+ val = init_str();
+ if (parse_element(p, eoff, NULL, NULL, NULL, &p)) {
+ internal("parse element failed");
+ goto x;
+ }
+ rrrr:
+ while (p < eoff && WHITECHAR(*p)) p++;
+ while (p < eoff && !WHITECHAR(*p) && *p != '<') {
+ pppp:
+ add_chr_to_str(&val, &l, *p), p++;
+ }
+ r = p;
+ while (r < eoff && WHITECHAR(*r)) r++;
+ if (r >= eoff) goto x;
+ if (r - 2 <= eoff && (r[1] == '!' || r[1] == '?')) {
+ p = skip_comment(r, eoff);
+ goto rrrr;
+ }
+ if (parse_element(r, eoff, &name, &namelen, NULL, &p)) goto pppp;
+ if (!((namelen == 6 && !casecmp(name, "OPTION", 6)) ||
+ (namelen == 7 && !casecmp(name, "/OPTION", 7)) ||
+ (namelen == 6 && !casecmp(name, "SELECT", 6)) ||
+ (namelen == 7 && !casecmp(name, "/SELECT", 7)) ||
+ (namelen == 8 && !casecmp(name, "OPTGROUP", 8)) ||
+ (namelen == 9 && !casecmp(name, "/OPTGROUP", 9)))) goto rrrr;
+ }
+ x:
+ fc->form_num = last_form_tag ? last_form_tag - startf : 0;
+ fc->ctrl_num = last_form_tag ? a - last_form_tag : a - startf;
+ fc->position = a - startf;
+ fc->method = form.method;
+ fc->action = stracpy(form.action);
+ fc->form_name = stracpy(form.form_name);
+ fc->onsubmit = stracpy(form.onsubmit);
+ fc->type = FC_CHECKBOX;
+ fc->name = stracpy(format.select);
+ fc->default_value = val;
+ fc->default_state = has_attr(a, "selected");
+ fc->ro = format.select_disabled;
+ if (has_attr(a, "disabled")) fc->ro = 2;
+ put_chrs(" ", 1);
+ html_stack_dup();
+ format.form = fc;
+ format.attr |= AT_BOLD | AT_FIXED;
+ format.fontsize = 3;
+ put_chrs("[ ]", 3);
+ kill_html_stack_item(&html_top);
+ put_chrs(" ", 1);
+ special_f(ff, SP_CONTROL, fc);
+}
+
+void clr_white(unsigned char *name)
+{
+ unsigned char *nm;
+ for (nm = name; *nm; nm++)
+ if (WHITECHAR(*nm) || *nm == 1) *nm = ' ';
+}
+
+void clr_spaces(unsigned char *name)
+{
+ unsigned char *n1, *n2;
+ clr_white(name);
+ /*for (nm = name; *nm; nm++)
+ while (nm[0] == ' ' && (nm == name || nm[1] == ' ' || !nm[1]))
+ memmove(nm, nm + 1, strlen(nm));*/
+ if (!strchr(name, ' ')) return;
+ for (n1 = name, n2 = name; *n1; n1++)
+ if (!(n1[0] == ' ' && (n2 == name || n1[1] == ' ' || !n1[1])))
+ *n2++ = *n1;
+ *n2 = 0;
+}
+
+static int menu_stack_size;
+static struct menu_item **menu_stack;
+
+static void new_menu_item(unsigned char *name, long data, int fullname)
+ /* name == NULL - up; data == -1 - down */
+{
+ struct menu_item *top, *item, *nmenu = NULL; /* no uninitialized warnings */
+ if (name) {
+ clr_spaces(name);
+ if (!name[0]) mem_free(name), name = stracpy(" ");
+ if (name[0] == 1) name[0] = ' ';
+ }
+ if (name && data == -1) {
+ nmenu = mem_calloc(sizeof(struct menu_item));
+ /*nmenu->text = "";*/
+ }
+ if (menu_stack_size && name) {
+ top = item = menu_stack[menu_stack_size - 1];
+ while (item->text) item++;
+ if ((size_t)((unsigned char *)(item + 2) - (unsigned char *)top) > MAXINT) overalloc();
+ top = mem_realloc(top, (unsigned char *)(item + 2) - (unsigned char *)top);
+ item = item - menu_stack[menu_stack_size - 1] + top;
+ menu_stack[menu_stack_size - 1] = top;
+ if (menu_stack_size >= 2) {
+ struct menu_item *below = menu_stack[menu_stack_size - 2];
+ while (below->text) below++;
+ below[-1].data = top;
+ }
+ item->text = name;
+ item->rtext = data == -1 ? ">" : "";
+ item->hotkey = fullname ? "\000\001" : "\000\000"; /* dirty */
+ item->func = data == -1 ? MENU_FUNC do_select_submenu : MENU_FUNC selected_item;
+ item->data = data == -1 ? nmenu : (void *)(my_intptr_t)data;
+ item->in_m = data == -1 ? 1 : 0;
+ item->free_i = 0;
+ item++;
+ memset(item, 0, sizeof(struct menu_item));
+ /*item->text = "";*/
+ } else if (name) mem_free(name);
+ if (name && data == -1) {
+ if ((unsigned)menu_stack_size > MAXINT / sizeof(struct menu_item *) - 1) overalloc();
+ menu_stack = mem_realloc(menu_stack, (menu_stack_size + 1) * sizeof(struct menu_item *));
+ menu_stack[menu_stack_size++] = nmenu;
+ }
+ if (!name) menu_stack_size--;
+}
+
+static void init_menu(void)
+{
+ menu_stack_size = 0;
+ menu_stack = DUMMY;
+ new_menu_item(stracpy(""), -1, 0);
+}
+
+void free_menu(struct menu_item *m) /* Grrr. Recursion */
+{
+ struct menu_item *mm;
+ for (mm = m; mm->text; mm++) {
+ mem_free(mm->text);
+ if (mm->func == MENU_FUNC do_select_submenu) free_menu(mm->data);
+ }
+ mem_free(m);
+}
+
+static struct menu_item *detach_menu(void)
+{
+ struct menu_item *i = NULL;
+ if (menu_stack_size) i = menu_stack[0];
+ if (menu_stack) mem_free(menu_stack);
+ return i;
+}
+
+static void destroy_menu(void)
+{
+ if (menu_stack && menu_stack != DUMMY) free_menu(menu_stack[0]);
+ detach_menu();
+}
+
+static void menu_labels(struct menu_item *m, unsigned char *base, unsigned char **lbls)
+{
+ unsigned char *bs;
+ for (; m->text; m++) {
+ if (m->func == MENU_FUNC do_select_submenu) {
+ if ((bs = stracpy(base))) {
+ add_to_strn(&bs, m->text);
+ add_to_strn(&bs, " ");
+ menu_labels(m->data, bs, lbls);
+ mem_free(bs);
+ }
+ } else {
+ if ((bs = stracpy(m->hotkey[1] ? (unsigned char *)"" : base))) add_to_strn(&bs, m->text);
+ lbls[(my_intptr_t)m->data] = bs;
+ }
+ }
+}
+
+static int menu_contains(struct menu_item *m, int f)
+{
+ if (m->func != MENU_FUNC do_select_submenu) return (my_intptr_t)m->data == f;
+ for (m = m->data; m->text; m++) if (menu_contains(m, f)) return 1;
+ return 0;
+}
+
+void do_select_submenu(struct terminal *term, struct menu_item *menu, struct session *ses)
+{
+ struct menu_item *m;
+ int def = get_current_state(ses);
+ int sel = 0;
+ if (def < 0) def = 0;
+ for (m = menu; m->text; m++, sel++) if (menu_contains(m, def)) goto f;
+ sel = 0;
+ f:
+ do_menu_selected(term, menu, ses, sel);
+}
+
+static int do_html_select(unsigned char *attr, unsigned char *html, unsigned char *eof, unsigned char **end)
+{
+ struct form_control *fc;
+ unsigned char *t_name, *t_attr, *en;
+ int t_namelen;
+ unsigned char *lbl;
+ int lbl_l;
+ unsigned char *vlbl;
+ int vlbl_l;
+ int nnmi = 0;
+ struct conv_table *ct = special_f(ff, SP_TABLE, NULL);
+ unsigned char **val, **lbls;
+ int order, preselect, group;
+ int i, mw;
+ if (has_attr(attr, "multiple") || dmp) return 1;
+ find_form_for_input(attr);
+ lbl = NULL;
+ lbl_l = 0;
+ vlbl = NULL;
+ vlbl_l = 0;
+ val = DUMMY;
+ order = 0, group = 0, preselect = -1;
+ init_menu();
+ se:
+ en = html;
+ see:
+ html = en;
+ while (html < eof && *html != '<') html++;
+ if (html >= eof) {
+ int i;
+ abort:
+ *end = html;
+ if (lbl) mem_free(lbl);
+ if (vlbl) mem_free(vlbl);
+ for (i = 0; i < order; i++) if (val[i]) mem_free(val[i]);
+ mem_free(val);
+ destroy_menu();
+ *end = en;
+ return 0;
+ }
+ if (lbl) {
+ unsigned char *q, *s = en;
+ int l = html - en;
+ while (l && WHITECHAR(s[0])) s++, l--;
+ while (l && WHITECHAR(s[l-1])) l--;
+ q = convert_string(ct, s, l, d_opt);
+ if (q) add_to_str(&lbl, &lbl_l, q), mem_free(q);
+ add_bytes_to_str(&vlbl, &vlbl_l, s, l);
+ }
+ if (html + 2 <= eof && (html[1] == '!' || html[1] == '?')) {
+ html = skip_comment(html, eof);
+ goto se;
+ }
+ if (parse_element(html, eof, &t_name, &t_namelen, &t_attr, &en)) {
+ html++;
+ goto se;
+ }
+ if (t_namelen == 7 && !casecmp(t_name, "/SELECT", 7)) {
+ if (lbl) {
+ if (!val[order - 1]) val[order - 1] = stracpy(vlbl);
+ if (!nnmi) new_menu_item(lbl, order - 1, 1), lbl = NULL;
+ else mem_free(lbl), lbl = NULL;
+ mem_free(vlbl), vlbl = NULL;
+ }
+ goto end_parse;
+ }
+ if (t_namelen == 7 && !casecmp(t_name, "/OPTION", 7)) {
+ if (lbl) {
+ if (!val[order - 1]) val[order - 1] = stracpy(vlbl);
+ if (!nnmi) new_menu_item(lbl, order - 1, 1), lbl = NULL;
+ else mem_free(lbl), lbl = NULL;
+ mem_free(vlbl), vlbl = NULL;
+ }
+ goto see;
+ }
+ if (t_namelen == 6 && !casecmp(t_name, "OPTION", 6)) {
+ unsigned char *v, *vx;
+ if (lbl) {
+ if (!val[order - 1]) val[order - 1] = stracpy(vlbl);
+ if (!nnmi) new_menu_item(lbl, order - 1, 1), lbl = NULL;
+ else mem_free(lbl), lbl = NULL;
+ mem_free(vlbl), vlbl = NULL;
+ }
+ if (has_attr(t_attr, "disabled")) goto see;
+ if (preselect == -1 && has_attr(t_attr, "selected")) preselect = order;
+ v = get_exact_attr_val(t_attr, "value");
+ if (!(order & (ALLOC_GR - 1))) {
+ if ((unsigned)order > MAXINT / sizeof(unsigned char *) - ALLOC_GR) overalloc();
+ if ((unsigned)order > MAXINT / sizeof(unsigned char *) - ALLOC_GR) overalloc();
+ val = mem_realloc(val, (order + ALLOC_GR) * sizeof(unsigned char *));
+ }
+ val[order++] = v;
+ if ((vx = get_attr_val(t_attr, "label"))) {
+ new_menu_item(convert_string(ct, vx, strlen(vx), d_opt), order - 1, 0);
+ mem_free(vx);
+ }
+ if (!v || !vx) {
+ lbl = init_str(), lbl_l = 0;
+ vlbl = init_str(), vlbl_l = 0;
+ nnmi = !!vx;
+ }
+ goto see;
+ }
+ if ((t_namelen == 8 && !casecmp(t_name, "OPTGROUP", 8)) || (t_namelen == 9 && !casecmp(t_name, "/OPTGROUP", 9))) {
+ if (lbl) {
+ if (!val[order - 1]) val[order - 1] = stracpy(vlbl);
+ if (!nnmi) new_menu_item(lbl, order - 1, 1), lbl = NULL;
+ else mem_free(lbl), lbl = NULL;
+ mem_free(vlbl), vlbl = NULL;
+ }
+ if (group) new_menu_item(NULL, -1, 0), group = 0;
+ }
+ if (t_namelen == 8 && !casecmp(t_name, "OPTGROUP", 8)) {
+ unsigned char *la;
+ if (!(la = get_attr_val(t_attr, "label"))) la = stracpy("");
+ new_menu_item(convert_string(ct, la, strlen(la), d_opt), -1, 0);
+ mem_free(la);
+ group = 1;
+ }
+ goto see;
+
+ end_parse:
+ *end = en;
+ if (!order) goto abort;
+ fc = mem_calloc(sizeof(struct form_control));
+ lbls = mem_calloc(order * sizeof(unsigned char *));
+ fc->form_num = last_form_tag ? last_form_tag - startf : 0;
+ fc->ctrl_num = last_form_tag ? attr - last_form_tag : attr - startf;
+ fc->position = attr - startf;
+ fc->method = form.method;
+ fc->action = stracpy(form.action);
+ fc->form_name= stracpy(form.form_name);
+ fc->onsubmit= stracpy(form.onsubmit);
+ fc->name = get_attr_val(attr, "name");
+ fc->type = FC_SELECT;
+ fc->default_state = preselect < 0 ? 0 : preselect;
+ fc->default_value = order ? stracpy(val[fc->default_state]) : stracpy("");
+ fc->ro = has_attr(attr, "disabled") ? 2 : has_attr(attr, "readonly") ? 1 : 0;
+ fc->nvalues = order;
+ fc->values = val;
+ fc->menu = detach_menu();
+ fc->labels = lbls;
+ menu_labels(fc->menu, "", lbls);
+ html_stack_dup();
+ format.attr |= AT_FIXED;
+ format.fontsize = 3;
+ put_chrs("[", 1);
+ html_stack_dup();
+ get_js_events(attr);
+ format.form = fc;
+ format.attr |= AT_BOLD | AT_FIXED;
+ format.fontsize = 3;
+ mw = 0;
+ for (i = 0; i < order; i++) if (lbls[i] && cp_len(d_opt->cp, lbls[i]) > mw) mw = cp_len(d_opt->cp, lbls[i]);
+ for (i = 0; i < mw; i++) put_chrs("_", 1);
+ kill_html_stack_item(&html_top);
+ put_chrs("]", 1);
+ kill_html_stack_item(&html_top);
+ special_f(ff, SP_CONTROL, fc);
+ return 0;
+}
+
+static void html_textarea(unsigned char *a)
+{
+ internal("This should be never called");
+}
+
+static void do_html_textarea(unsigned char *attr, unsigned char *html, unsigned char *eof, unsigned char **end)
+{
+ struct form_control *fc;
+ unsigned char *p, *t_name, *w;
+ int t_namelen;
+ int cols, rows;
+ int i;
+ find_form_for_input(attr);
+ while (html < eof && (*html == '\n' || *html == '\r')) html++;
+ p = html;
+ while (p < eof && *p != '<') {
+ pp:
+ p++;
+ }
+ if (p >= eof) {
+ *end = eof;
+ return;
+ }
+ if (parse_element(p, eof, &t_name, &t_namelen, NULL, end)) goto pp;
+ if (t_namelen != 9 || casecmp(t_name, "/TEXTAREA", 9)) goto pp;
+ fc = mem_calloc(sizeof(struct form_control));
+ fc->form_num = last_form_tag ? last_form_tag - startf : 0;
+ fc->ctrl_num = last_form_tag ? attr - last_form_tag : attr - startf;
+ fc->position = attr - startf;
+ fc->method = form.method;
+ fc->action = stracpy(form.action);
+ fc->form_name = stracpy(form.form_name);
+ fc->onsubmit = stracpy(form.onsubmit);
+ fc->name = get_attr_val(attr, "name");
+ fc->type = FC_TEXTAREA;;
+ fc->ro = has_attr(attr, "disabled") ? 2 : has_attr(attr, "readonly") ? 1 : 0;
+ fc->default_value = memacpy(html, p - html);
+ if ((cols = get_num(attr, "cols")) < HTML_MINIMAL_TEXTAREA_WIDTH) cols = HTML_DEFAULT_TEXTAREA_WIDTH;
+ cols++;
+ set_max_textarea_width(&cols);
+ if ((rows = get_num(attr, "rows")) <= 0) rows = HTML_DEFAULT_TEXTAREA_HEIGHT;
+ if (!F) {
+ if (rows > d_opt->yw) {
+ rows = d_opt->yw;
+ if (rows <= 0) rows = 1;
+ }
+#ifdef G
+ } else {
+ if (d_opt->font_size && rows > (int)(d_opt->yw - G_SCROLL_BAR_WIDTH) / (int)d_opt->font_size) {
+ rows = (int)(d_opt->yw - G_SCROLL_BAR_WIDTH) / (int)d_opt->font_size;
+ if (rows <= 0) rows = 1;
+ }
+#endif
+ }
+ fc->cols = cols;
+ fc->rows = rows;
+ fc->wrap = 1;
+ if ((w = get_attr_val(attr, "wrap"))) {
+ if (!strcasecmp(w, "hard") || !strcasecmp(w, "physical")) fc->wrap = 2;
+ else if (!strcasecmp(w, "off")) fc->wrap = 0;
+ mem_free(w);
+ }
+ if ((fc->maxlength = get_num(attr, "maxlength")) == -1) fc->maxlength = MAXINT / 4;
+ if (rows > 1) ln_break(1);
+ else put_chrs(" ", 1);
+ html_stack_dup();
+ get_js_events(attr);
+ format.form = fc;
+ format.attr = AT_BOLD | AT_FIXED;
+#ifdef G
+ if (F) format.attr &= ~AT_BOLD;
+#endif
+ format.fontsize = 3;
+ for (i = 0; i < rows; i++) {
+ int j;
+ for (j = 0; j < cols; j++) put_chrs("_", 1);
+ if (i < rows - 1) ln_break(1);
+ }
+ kill_html_stack_item(&html_top);
+ if (rows > 1) ln_break(1);
+ else put_chrs(" ", 1);
+ special_f(ff, SP_CONTROL, fc);
+}
+
+static void html_iframe(unsigned char *a)
+{
+ unsigned char *name, *url;
+ if (!(url = get_url_val(a, "src"))) return;
+ if (!*url) goto free_url_ret;
+ if (!(name = get_attr_val(a, "name"))) name = stracpy("");
+ if (*name) put_link_line("IFrame: ", name, url, d_opt->framename);
+ else put_link_line("", "IFrame", url, d_opt->framename);
+ mem_free(name);
+ free_url_ret:
+ mem_free(url);
+}
+
+static void html_noframes(unsigned char *a)
+{
+ if (d_opt->frames) html_skip(a);
+}
+
+static void html_frame(unsigned char *a)
+{
+ unsigned char *name, *u2, *url;
+ if (!(u2 = get_url_val(a, "src"))) {
+ url = stracpy("");
+ } else {
+ url = join_urls(format.href_base, u2);
+ mem_free(u2);
+ }
+ if (!url) return;
+ name = get_attr_val (a, "name");
+ if (!name)
+ name = stracpy(url);
+ else if (!name[0]) { /* When name doesn't have a value */
+ mem_free(name);
+ name = stracpy(url);
+ }
+ if (!d_opt->frames || !html_top.frameset) put_link_line("Frame: ", name, url, "");
+ else {
+ struct frame_param fp;
+ unsigned char *scroll = get_attr_val(a, "scrolling");
+ fp.name = name;
+ fp.url = url;
+ fp.parent = html_top.frameset;
+ fp.marginwidth = get_num(a, "marginwidth");
+ fp.marginheight = get_num(a, "marginheight");
+ fp.scrolling = SCROLLING_AUTO;
+ if (scroll) {
+ if (!strcasecmp(scroll, "no"))
+ fp.scrolling = SCROLLING_NO;
+ else if (!strcasecmp(scroll, "yes"))
+ fp.scrolling = SCROLLING_YES;
+ mem_free(scroll);
+ }
+ if (special_f(ff, SP_USED, NULL)) special_f(ff, SP_FRAME, &fp);
+ }
+ mem_free(name);
+ mem_free(url);
+}
+
+static void parse_frame_widths(unsigned char *a, int ww, int www, int **op, int *olp)
+{
+ unsigned char *aa;
+ int q, qq, i, d, nn;
+ unsigned long n;
+ int *oo, *o;
+ int ol;
+ ol = 0;
+ o = DUMMY;
+ new_ch:
+ while (WHITECHAR(*a)) a++;
+ n = strtoul(a, (char **)(void *)&a, 10);
+ if (n > 10000) n = 10000;
+ q = n;
+ if (*a == '%') q = q * ww / 100;
+ else if (*a != '*') q = (q + (www - 1) / 2) / (www ? www : 1);
+ else if (!(q = -q)) q = -1;
+ if ((unsigned)ol > MAXINT / sizeof(int) - 1) overalloc();
+ o = mem_realloc(o, (ol + 1) * sizeof(int));
+ o[ol++] = q;
+ if ((aa = strchr(a, ','))) {
+ a = aa + 1;
+ goto new_ch;
+ }
+ *op = o;
+ *olp = ol;
+ q = gf_val(2 * ol - 1, ol);
+ for (i = 0; i < ol; i++) if (o[i] > 0) q += o[i] - 1;
+ if (q >= ww) {
+ distribute:
+ for (i = 0; i < ol; i++) if (o[i] < 1) o[i] = 1;
+ q -= ww;
+ d = 0;
+ for (i = 0; i < ol; i++) d += o[i];
+ qq = q;
+ for (i = 0; i < ol; i++) {
+ q -= o[i] - o[i] * (d - qq) / (d ? d : 1);
+ do_not_optimize_here(&d);
+ /* SIGH! gcc 2.7.2.* has an optimizer bug! */
+ o[i] = o[i] * (d - qq) / (d ? d : 1);
+ }
+ while (q) {
+ nn = 0;
+ for (i = 0; i < ol; i++) {
+ if (q < 0) o[i]++, q++, nn = 1;
+ if (q > 0 && o[i] > 1) o[i]--, q--, nn = 1;
+ if (!q) break;
+ }
+ if (!nn) break;
+ }
+ } else {
+ int nn = 0;
+ for (i = 0; i < ol; i++) if (o[i] < 0) nn = 1;
+ if (!nn) goto distribute;
+ if ((unsigned)ol > MAXINT / sizeof(int)) overalloc();
+ oo = mem_alloc(ol * sizeof(int));
+ memcpy(oo, o, ol * sizeof(int));
+ for (i = 0; i < ol; i++) if (o[i] < 1) o[i] = 1;
+ q = ww - q;
+ d = 0;
+ for (i = 0; i < ol; i++) if (oo[i] < 0) d += -oo[i];
+ qq = q;
+ for (i = 0; i < ol; i++) if (oo[i] < 0) {
+ o[i] += (-oo[i] * qq / (d ? d : 1));
+ q -= (-oo[i] * qq / (d ? d : 1));
+ }
+ if (q < 0) {
+ q = 0;
+ /*internal("parse_frame_widths: q < 0"); may happen when page contains too big values */
+ }
+ for (i = 0; i < ol; i++) if (oo[i] < 0) {
+ if (q) o[i]++, q--;
+ }
+ if (q > 0) {
+ q = 0;
+ /*internal("parse_frame_widths: q > 0"); may happen when page contains too big values */
+ }
+ mem_free(oo);
+ }
+ for (i = 0; i < ol; i++) if (!o[i]) {
+ int j;
+ int m = 0;
+ int mj = 0;
+ for (j = 0; j < ol; j++) if (o[j] > m) m = o[j], mj = j;
+ if (m) o[i] = 1, o[mj]--;
+ }
+}
+
+static void html_frameset(unsigned char *a)
+{
+ int x = 0, y = 0; /* against warning */
+ struct frameset_param fp;
+ unsigned char *c, *d;
+ if (!d_opt->frames || !special_f(ff, SP_USED, NULL)) return;
+ if (!(c = get_attr_val(a, "cols"))) c = stracpy("100%");
+ if (!(d = get_attr_val(a, "rows"))) d = stracpy("100%");
+ if (!html_top.frameset) {
+ x = d_opt->xw;
+ y = d_opt->yw;
+ } else {
+ struct frameset_desc *f = html_top.frameset;
+ if (f->yp >= f->y) goto free_cd;
+ x = f->f[f->xp + f->yp * f->x].xw;
+ y = f->f[f->xp + f->yp * f->x].yw;
+ }
+ parse_frame_widths(c, x, gf_val(HTML_FRAME_CHAR_WIDTH, 1), &fp.xw, &fp.x);
+ parse_frame_widths(d, y, gf_val(HTML_FRAME_CHAR_HEIGHT, 1), &fp.yw, &fp.y);
+ fp.parent = html_top.frameset;
+ if (fp.x && fp.y) {
+ html_top.frameset = special_f(ff, SP_FRAMESET, &fp);
+#ifdef JS
+ if (html_top.frameset)html_top.frameset->onload_code=get_attr_val(a,"onload");
+#endif
+ }
+ mem_free(fp.xw);
+ mem_free(fp.yw);
+ free_cd:
+ mem_free(c);
+ mem_free(d);
+}
+
+/*static void html_frameset(unsigned char *a)
+{
+ int w;
+ int horiz = 0;
+ struct frameset_param *fp;
+ unsigned char *c, *d;
+ if (!d_opt->frames || !special_f(ff, SP_USED, NULL)) return;
+ if (!(c = get_attr_val(a, "cols"))) {
+ horiz = 1;
+ if (!(c = get_attr_val(a, "rows"))) return;
+ }
+ fp = mem_alloc(sizeof(struct frameset_param));
+ fp->n = 0;
+ fp->horiz = horiz;
+ par_format.leftmargin = par_format.rightmargin = 0;
+ d = c;
+ while (1) {
+ while (WHITECHAR(*d)) d++;
+ if (!*d) break;
+ if (*d == ',') {
+ d++;
+ continue;
+ }
+ if ((w = parse_width(d, 1)) != -1) {
+ if ((unsigned)fp->n > (MAXINT - sizeof(struct frameset_param)) / sizeof(int) - 1) overalloc();
+ fp = mem_realloc(fp, sizeof(struct frameset_param) + (fp->n + 1) * sizeof(int));
+ fp->width[fp->n++] = w;
+ }
+ if (!(d = strchr(d, ','))) break;
+ d++;
+ }
+ fp->parent = html_top.frameset;
+ if (fp->n) html_top.frameset = special_f(ff, SP_FRAMESET, fp);
+ mem_free(fp);
+ f:
+ mem_free(c);
+}*/
+
+static void html_link(unsigned char *a)
+{
+ unsigned char *name, *url, *title;
+ if ((name = get_attr_val(a, "type"))) {
+ if (strcasecmp(name, "text/html")) {
+ mem_free(name);
+ return;
+ }
+ mem_free(name);
+ }
+ if (!(url = get_url_val(a, "href"))) return;
+ if (!(name = get_attr_val(a, "rel")))
+ if (!(name = get_attr_val(a, "rev")))
+ if (!(name = get_attr_val(a, "ref")))
+ name = stracpy(url);
+ if (!strcasecmp(name, "stylesheet") ||
+ !strcasecmp(name, "alternate stylesheet") ||
+ !strcasecmp(name, "made") ||
+ !strcasecmp(name, "icon") ||
+ !strcasecmp(name, "shortcut icon") ||
+ !strcasecmp(name, "apple-touch-icon") ||
+ !strcasecmp(name, "meta") ||
+ !strcasecmp(name, "pingback") ||
+ !strcasecmp(name, "File-List") ||
+ !strcasecmp(name, "Edit-Time-Data") ||
+ !casecmp(name, "schema", 6)) goto skip;
+ if (!strcasecmp(name, "prefetch") ||
+ !strcasecmp(name, "dns-prefetch")) {
+ unsigned char *pre_url = join_urls(format.href_base, url);
+ if (!dmp) load_url(pre_url, format.href_base, NULL, PRI_PRELOAD, NC_ALWAYS_CACHE, 0, 0);
+ mem_free(pre_url);
+ goto skip;
+ }
+ if ((title = get_attr_val(a, "title"))) {
+ add_to_strn(&name, ": ");
+ add_to_strn(&name, title);
+ mem_free(title);
+ }
+ put_link_line("Link: ", name, url, format.target_base);
+ skip:
+ mem_free(name);
+ mem_free(url);
+}
+
+struct element_info {
+ unsigned char *name;
+ void (*func)(unsigned char *);
+ int linebreak;
+ int nopair; /* Somehow relates to paired elements */
+};
+
+static struct element_info elements[] = {
+ {"SPAN", html_span, 0, 0},
+ {"B", html_bold, 0, 0},
+ {"STRONG", html_bold, 0, 0},
+ {"DFN", html_bold, 0, 0},
+ {"I", html_italic, 0, 0},
+ {"Q", html_italic, 0, 0},
+ {"CITE", html_italic, 0, 0},
+ {"EM", html_italic, 0, 0},
+ {"ABBR", html_italic, 0, 0},
+ {"U", html_underline, 0, 0},
+ {"S", html_underline, 0, 0},
+ {"STRIKE", html_underline, 0, 0},
+ {"FIXED", html_fixed, 0, 0},
+ {"CODE", html_fixed, 0, 0},
+ {"TT", html_fixed, 0, 0},
+ {"SUB", html_sub, 0, 0},
+ {"SUP", html_sup, 0, 0},
+ {"FONT", html_font, 0, 0},
+ {"INVERT", html_invert, 0, 0},
+ {"A", html_a, 0, 2},
+ {"IMG", html_img, 0, 1},
+ {"IMAGE", html_img, 0, 1},
+ {"OBJECT", html_object, 0, 0},
+ {"EMBED", html_embed, 0, 1},
+
+ {"BASE", html_base, 0, 1},
+ {"BASEFONT", html_font, 0, 1},
+
+ {"BODY", html_body, 0, 0},
+
+/* {"HEAD", html_skip, 0, 0},*/
+ {"TITLE", html_title, 0, 0},
+ {"SCRIPT", html_script, 0, 0},
+ {"NOSCRIPT", html_noscript, 0, 0},
+ {"STYLE", html_skip, 0, 0},
+ {"NOEMBED", html_skip, 0, 0},
+
+ {"BR", html_br, 1, 1},
+ {"DIV", html_linebrk, 1, 0},
+ {"CENTER", html_center, 1, 0},
+ {"CAPTION", html_center, 1, 0},
+ {"P", html_p, 2, 2},
+ {"HR", html_hr, 2, 1},
+ {"H1", html_h1, 2, 2},
+ {"H2", html_h2, 2, 2},
+ {"H3", html_h3, 2, 2},
+ {"H4", html_h4, 2, 2},
+ {"H5", html_h5, 2, 2},
+ {"H6", html_h6, 2, 2},
+ {"BLOCKQUOTE", html_blockquote,2, 0},
+ {"ADDRESS", html_address, 2, 0},
+ {"PRE", html_pre, 2, 0},
+ {"LISTING", html_pre, 2, 0},
+
+ {"UL", html_ul, 1, 0},
+ {"DIR", html_ul, 1, 0},
+ {"MENU", html_ul, 1, 0},
+ {"OL", html_ol, 1, 0},
+ {"LI", html_li, 1, 3},
+ {"DL", html_dl, 1, 0},
+ {"DT", html_dt, 1, 1},
+ {"DD", html_dd, 1, 1},
+
+ {"TABLE", html_table, 2, 0},
+ {"TR", html_tr, 1, 0},
+ {"TD", html_td, 0, 0},
+ {"TH", html_th, 0, 0},
+
+ {"FORM", html_form, 1, 0},
+ {"INPUT", html_input, 0, 1},
+ {"TEXTAREA", html_textarea, 0, 1},
+ {"SELECT", html_select, 0, 0},
+ {"OPTION", html_option, 1, 1},
+ {"BUTTON", html_button, 0, 0},
+
+ {"LINK", html_link, 1, 1},
+ {"IFRAME", html_iframe, 1, 1},
+ {"FRAME", html_frame, 1, 1},
+ {"FRAMESET", html_frameset, 1, 0},
+ {"NOFRAMES", html_noframes, 0, 0},
+};
+
+unsigned char *skip_comment(unsigned char *html, unsigned char *eof)
+{
+ int comm = html + 4 <= eof && html[2] == '-' && html[3] == '-';
+ html += comm ? 4 : 2;
+ while (html < eof) {
+ if (!comm && html[0] == '>') return html + 1;
+ if (comm && html + 2 <= eof && html[0] == '-' && html[1] == '-') {
+ html += 2;
+ while (html < eof && *html == '-') html++;
+ while (html < eof && WHITECHAR(*html)) html++;
+ if (html >= eof) return eof;
+ if (*html == '>') return html + 1;
+ continue;
+ }
+ html++;
+ }
+ return eof;
+}
+
+static void process_head(unsigned char *head)
+{
+ unsigned char *r, *p;
+ struct refresh_param rp;
+ if ((r = parse_http_header(head, "Refresh", NULL))) {
+ if (!d_opt->auto_refresh) {
+ if ((p = parse_header_param(r, "URL", 0)) || (p = parse_header_param(r, "", 0))) {
+ put_link_line("Refresh: ", p, p, d_opt->framename);
+ mem_free(p);
+ }
+ } else {
+ rp.url = parse_header_param(r, "URL", 0);
+ if (!rp.url) rp.url = parse_header_param(r, "", 0);
+ rp.time = atoi(r);
+ if (rp.time < 1) rp.time = 1;
+ special_f(ff, SP_REFRESH, &rp);
+ if (rp.url) mem_free(rp.url);
+ }
+ mem_free(r);
+ }
+}
+
+static int qd(unsigned char *html, unsigned char *eof, int *len)
+{
+ int l;
+ *len = 1;
+ if (html >= eof) {
+ internal("qd: out of data, html == %p, eof == %p", html, eof);
+ return -1;
+ }
+ if (html[0] != '&' || d_opt->plain & 1) return html[0];
+ if (html + 1 >= eof) return -1;
+ if (html[1] != '#') return -1;
+ for (l = 2; l < 10 && html + l < eof; l++) if (html[l] == ';') {
+ int n = get_entity_number(html + 2, l - 2);
+ if (n >= 0) {
+ *len = l + 1;
+ return n;
+ }
+ break;
+ }
+ return -1;
+}
+
+void parse_html(unsigned char *html, unsigned char *eof, void (*put_chars)(void *, unsigned char *, int), void (*line_break)(void *), void *(*special)(void *, int, ...), void *f, unsigned char *head)
+{
+ unsigned char *lt;
+
+ html_format_changed = 1;
+ putsp = -1;
+ line_breax = table_level ? 2 : 1;
+ pos = 0;
+ was_br = 0;
+
+#define set_globals \
+do { \
+ put_chars_f = put_chars; \
+ line_break_f = line_break; \
+ special_f = special; \
+ ff = f; \
+ eoff = eof; \
+} while (0)
+
+ set_globals;
+
+ if (head) process_head(head);
+
+ set_lt:
+
+ set_globals; /* !!! FIXME: toto odstranit */
+
+ lt = html;
+ while (html < eof) {
+ unsigned char *name, *attr, *end;
+ unsigned char *a;
+ int namelen;
+ struct element_info *ei;
+ int inv;
+ if (WHITECHAR(*html) && par_format.align != AL_NO) {
+ unsigned char *h = html;
+ /*if (putsp == -1) {
+ while (html < eof && WHITECHAR(*html)) html++;
+ goto set_lt;
+ }
+ putsp = 0;*/
+ while (h < eof && WHITECHAR(*h)) h++;
+ if (h + 1 < eof && h[0] == '<' && h[1] == '/') {
+ if (!parse_element(h, eof, &name, &namelen, &attr, &end)) {
+ put_chrs(lt, html - lt);
+ lt = html = h;
+ if (!html_top.invisible) putsp = 1;
+ goto element;
+ }
+ }
+ html++;
+ if (!(pos + (html-lt-1))) goto skip_w; /* ??? */
+ if (*(html - 1) == ' ') {
+ if (html < eof && !WHITECHAR(*html) && !F) continue; /* BIG performance win; not sure if it doesn't cause any bug */
+ put_chrs(lt, html - lt);
+ } else {
+ put_chrs(lt, html - 1 - lt);
+ put_chrs(" ", 1);
+ }
+ skip_w:
+ while (html < eof && WHITECHAR(*html)) html++;
+ /*putsp = -1;*/
+ goto set_lt;
+ put_sp:
+ put_chrs(" ", 1);
+ /*putsp = -1;*/
+ }
+ if (par_format.align == AL_NO && (*html < 32 || *html == '&')) {
+ int l;
+ int q = qd(html, eof, &l);
+ putsp = 0;
+ if (q == 9) {
+ put_chrs(lt, html - lt);
+ put_chrs(" ", 8 - pos % 8);
+ html += l;
+ goto set_lt;
+ } else if (q == 13 || q == 10) {
+ put_chrs(lt, html - lt);
+ next_break:
+ html += l;
+ if (q == 13 && html < eof - 1 && qd(html, eof, &l) == 10) html += l;
+ ln_break(1);
+ if (html >= eof) goto set_lt;
+ q = qd(html, eof, &l);
+ if (q == 13 || q == 10) {
+ line_breax = 0;
+ goto next_break;
+ }
+ goto set_lt;
+ }
+ }
+ if (*html < ' ') {
+ /*if (putsp == 1) goto put_sp;
+ putsp = 0;*/
+ put_chrs(lt, html - lt);
+ put_chrs(".", 1);
+ html++;
+ goto set_lt;
+ }
+ if (html + 2 <= eof && html[0] == '<' && (html[1] == '!' || html[1] == '?') && !(d_opt->plain & 1)) {
+ /*if (putsp == 1) goto put_sp;
+ putsp = 0;*/
+ put_chrs(lt, html - lt);
+ html = skip_comment(html, eof);
+ goto set_lt;
+ }
+ if (*html != '<' || d_opt->plain & 1 || parse_element(html, eof, &name, &namelen, &attr, &end)) {
+ /*if (putsp == 1) goto put_sp;
+ putsp = 0;*/
+ html++;
+ continue;
+ }
+ element:
+ html_format_changed = 1;
+ inv = *name == '/'; name += inv; namelen -= inv;
+ if (!inv && putsp == 1 && !html_top.invisible) goto put_sp;
+ put_chrs(lt, html - lt);
+ if (par_format.align != AL_NO) if (!inv && !putsp) {
+ unsigned char *ee = end;
+ unsigned char *nm;
+ while (!parse_element(ee, eof, &nm, NULL, NULL, &ee))
+ if (*nm == '/') goto ng;
+ if (ee < eof && WHITECHAR(*ee)) {
+ /*putsp = -1;*/
+ put_chrs(" ", 1);
+ }
+ ng:;
+ }
+ html = end;
+ for (ei = elements; ei != &elements[sizeof(elements) / sizeof(*elements)]; ei++) {
+ if (strlen(ei->name) != (size_t)namelen || casecmp(ei->name, name, namelen))
+ continue;
+ if (ei - elements > 4) {
+ struct element_info e = *ei;
+ memmove(elements + 1, elements, (ei - elements) * sizeof(struct element_info));
+ elements[0] = e;
+ ei = &elements[0];
+ }
+ if (!inv) {
+ int display_none = 0;
+ int noskip = 0;
+ /* treat <br> literally in <pre> (fixes source code viewer on github) */
+ if (par_format.align == AL_NO && !strcasecmp(ei->name, "BR"))
+ line_breax = 0;
+ ln_break(ei->linebreak);
+ if ((a = get_attr_val(attr, "id"))) {
+ special(f, SP_TAG, a);
+ mem_free(a);
+ }
+ if ((a = get_attr_val(attr, "style"))) {
+ unsigned char *d, *s;
+
+ if (!strcasecmp(ei->name, "INPUT")) {
+ unsigned char *aa = get_attr_val(attr, "type");
+ if (aa) {
+ if (!strcasecmp(aa, "hidden"))
+ noskip = 1;
+ mem_free(aa);
+ }
+ }
+
+ for (d = s = a; *s; s++) if (*s > ' ') *d++ = *s;
+ *d = 0;
+ display_none |= !casecmp(a, "display:none", 12) && !noskip;
+ mem_free(a);
+ }
+ if (display_none) {
+ if (ei->nopair == 1) goto set_lt;
+ html_stack_dup();
+ html_top.name = name;
+ html_top.namelen = namelen;
+ html_top.options = attr;
+ html_top.linebreak = 0;
+ html_top.invisible = 1;
+ goto set_lt;
+ }
+ if (!html_top.invisible) {
+ int a = par_format.align == AL_NO;
+ struct par_attrib pa = par_format;
+ if (ei->func == html_table && d_opt->tables && table_level < HTML_MAX_TABLE_LEVEL) {
+ format_table(attr, html, eof, &html, f);
+ set_globals;
+ ln_break(2);
+ goto set_lt;
+ }
+ if (ei->func == html_select) {
+ if (!do_html_select(attr, html, eof, &html))
+ goto set_lt;
+ }
+ if (ei->func == html_textarea) {
+ do_html_textarea(attr, html, eof, &html);
+ goto set_lt;
+ }
+ if (ei->nopair == 2 || ei->nopair == 3) {
+ struct html_element *e;
+ if (ei->nopair == 2) {
+ foreach(e, html_stack) {
+ if (e->dontkill) break;
+ if (e->linebreak || !ei->linebreak) break;
+ }
+ } else foreach(e, html_stack) {
+ if (e->linebreak && !ei->linebreak) break;
+ if (e->dontkill) break;
+ if (e->namelen == namelen && !casecmp(e->name, name, e->namelen)) break;
+ }
+ if (e->namelen == namelen && !casecmp(e->name, name, e->namelen)) {
+ while (e->prev != (void *)&html_stack) kill_html_stack_item(e->prev);
+ if (e->dontkill != 2) kill_html_stack_item(e);
+ }
+ }
+ if (ei->nopair != 1) {
+ html_stack_dup();
+ html_top.name = name;
+ html_top.namelen = namelen;
+ html_top.options = attr;
+ html_top.linebreak = ei->linebreak;
+ }
+ if (ei->func) ei->func(attr);
+ if (ei->func == html_a) html_a_special(attr, html, eof);
+ if (ei->func != html_br) was_br = 0;
+ if (a) par_format = pa;
+ }
+ } else {
+ struct html_element *e, *ff;
+ int lnb = 0;
+ int xxx = 0;
+ was_br = 0;
+ if (ei->nopair == 1 || ei->nopair == 3) break;
+ /*debug_stack();*/
+ foreach(e, html_stack) {
+ if (e->linebreak && !ei->linebreak) xxx = 1;
+ if (e->namelen != namelen || casecmp(e->name, name, e->namelen)) {
+ if (e->dontkill) break;
+ else continue;
+ }
+ if (xxx) {
+ kill_html_stack_item(e);
+ break;
+ }
+ for (ff = e; ff != (void *)&html_stack; ff = ff->prev)
+ if (ff->linebreak > lnb) lnb = ff->linebreak;
+ format.fontsize = e->next->attr.fontsize;
+ ln_break(lnb);
+ while (e->prev != (void *)&html_stack) kill_html_stack_item(e->prev);
+ kill_html_stack_item(e);
+ break;
+ }
+ /*debug_stack();*/
+ }
+ goto set_lt;
+ }
+ if (!inv) {
+ if ((a = get_attr_val(attr, "id"))) {
+ special(f, SP_TAG, a);
+ mem_free(a);
+ }
+ }
+ goto set_lt;
+ }
+ put_chrs(lt, html - lt);
+ ln_break(1);
+ putsp = -1;
+ pos = 0;
+ /*line_breax = 1;*/
+ was_br = 0;
+#undef set_globals
+}
+
+static void scan_area_tag(unsigned char *attr, unsigned char *name, unsigned char **ptr, struct memory_list **ml)
+{
+ unsigned char *v;
+ if ((v = get_attr_val(attr, name))) {
+ *ptr = v;
+ add_to_ml(ml, v, NULL);
+ }
+}
+
+int get_image_map(unsigned char *head, unsigned char *s, unsigned char *eof, unsigned char *tag, struct menu_item **menu, struct memory_list **ml, unsigned char *href_base, unsigned char *target_base, int to, int def, int hdef, int gfx)
+{
+ unsigned char *name, *attr, *al, *label, *href, *target;
+ int namelen, lblen;
+ struct link_def *ld;
+ struct menu_item *nm;
+ int nmenu = 0;
+ int i;
+ unsigned char *hd = init_str();
+ int hdl = 0;
+ struct conv_table *ct;
+ if (head) add_to_str(&hd, &hdl, head);
+ scan_http_equiv(s, eof, &hd, &hdl, NULL, NULL, NULL, NULL);
+ if (!gfx) ct = get_convert_table(hd, to, def, NULL, NULL, hdef);
+ else ct = convert_table;
+ mem_free(hd);
+ *menu = mem_calloc(sizeof(struct menu_item));
+ se:
+ while (s < eof && *s != '<') {
+ sp:
+ s++;
+ }
+ if (s >= eof) {
+ mem_free(*menu);
+ return -1;
+ }
+ if (s + 2 <= eof && (s[1] == '!' || s[1] == '?')) {
+ s = skip_comment(s, eof);
+ goto se;
+ }
+ if (parse_element(s, eof, &name, &namelen, &attr, &s)) goto sp;
+ if (namelen != 3 || casecmp(name, "MAP", 3)) goto se;
+ if (tag && *tag) {
+ if (!(al = get_attr_val(attr, "name"))) goto se;
+ if (strcasecmp(al, tag)) {
+ mem_free(al);
+ goto se;
+ }
+ mem_free(al);
+ }
+ *ml = getml(NULL);
+ se2:
+ while (s < eof && *s != '<') {
+ sp2:
+ s++;
+ }
+ if (s >= eof) {
+ freeml(*ml);
+ mem_free(*menu);
+ return -1;
+ }
+ if (s + 2 <= eof && (s[1] == '!' || s[1] == '?')) {
+ s = skip_comment(s, eof);
+ goto se2;
+ }
+ if (parse_element(s, eof, &name, &namelen, &attr, &s)) goto sp2;
+ if (namelen == 1 && !casecmp(name, "A", 1)) {
+ unsigned char *ss;
+ label = init_str();
+ lblen = 0;
+ se3:
+ ss = s;
+ se4:
+ while (ss < eof && *ss != '<') ss++;
+ if (ss >= eof) {
+ mem_free(label);
+ freeml(*ml);
+ mem_free(*menu);
+ return -1;
+ }
+ add_bytes_to_str(&label, &lblen, s, ss - s);
+ s = ss;
+ if (s + 2 <= eof && (s[1] == '!' || s[1] == '?')) {
+ s = skip_comment(s, eof);
+ goto se3;
+ }
+ if (parse_element(s, eof, NULL, NULL, NULL, &ss)) {
+ ss = s + 1;
+ goto se4;
+ }
+ if (!((namelen == 1 && !casecmp(name, "A", 1)) ||
+ (namelen == 2 && !casecmp(name, "/A", 2)) ||
+ (namelen == 3 && !casecmp(name, "MAP", 3)) ||
+ (namelen == 4 && !casecmp(name, "/MAP", 4)) ||
+ (namelen == 4 && !casecmp(name, "AREA", 4)) ||
+ (namelen == 5 && !casecmp(name, "/AREA", 5)))) {
+ s = ss;
+ goto se3;
+ }
+ } else if (namelen == 4 && !casecmp(name, "AREA", 4)) {
+ unsigned char *l = get_attr_val(attr, "alt");
+ if (l) label = !gfx ? convert_string(ct, l, strlen(l), d_opt) : stracpy(l), mem_free(l);
+ else label = NULL;
+ } else if (namelen == 4 && !casecmp(name, "/MAP", 4)) goto done;
+ else goto se2;
+ href = get_url_val(attr, "href");
+ if (!(target = get_target(attr)) && !(target = stracpy(target_base)))
+ target = stracpy("");
+ ld = mem_calloc(sizeof(struct link_def));
+ if (href) if (!(ld->link = join_urls(href_base, href))) {
+ mem_free(href);
+ mem_free(target);
+ mem_free(ld);
+ if (label) mem_free(label);
+ goto se2;
+ }
+ if (href) mem_free(href);
+ ld->target = target;
+
+ add_to_ml(ml, ld, ld->target, NULL);
+ if (ld->link) add_to_ml(ml, ld->link, NULL);
+ scan_area_tag(attr, "shape", &ld->shape, ml);
+ scan_area_tag(attr, "coords", &ld->coords, ml);
+ scan_area_tag(attr, "onclick", &ld->onclick, ml);
+ scan_area_tag(attr, "ondblclick", &ld->ondblclick, ml);
+ scan_area_tag(attr, "onmousedown", &ld->onmousedown, ml);
+ scan_area_tag(attr, "onmouseup", &ld->onmouseup, ml);
+ scan_area_tag(attr, "onmouseover", &ld->onmouseover, ml);
+ scan_area_tag(attr, "onmouseout", &ld->onmouseout, ml);
+ scan_area_tag(attr, "onmousemove", &ld->onmousemove, ml);
+
+ if (label) clr_spaces(label);
+ if (label && !*label) mem_free(label), label = NULL;
+ ld->label = label;
+ if (!label) label = stracpy(ld->link);
+ if (label && !*label) mem_free(label), label = NULL;
+ if (!label) label = stracpy(ld->onclick);
+ if (label && !*label) mem_free(label), label = NULL;
+ if (!label && !gfx) goto se2;
+ if (!label) label = stracpy(ld->onmousedown);
+ if (label && !*label) mem_free(label), label = NULL;
+ if (!label) label = stracpy(ld->onmouseup);
+ if (label && !*label) mem_free(label), label = NULL;
+ if (!label) label = stracpy(ld->ondblclick);
+ if (label && !*label) mem_free(label), label = NULL;
+ if (!label) label = stracpy(ld->onmouseover);
+ if (label && !*label) mem_free(label), label = NULL;
+ if (!label) label = stracpy(ld->onmouseout);
+ if (label && !*label) mem_free(label), label = NULL;
+ if (!label) label = stracpy(ld->onmousemove);
+ if (label && !*label) mem_free(label), label = NULL;
+ if (!label) goto se2;
+ add_to_ml(ml, label, NULL);
+
+ if (!gfx) for (i = 0; i < nmenu; i++) {
+ struct link_def *ll = (*menu)[i].data;
+ if (!xstrcmp(ll->link, ld->link) && !xstrcmp(ll->target, ld->target) && !xstrcmp(ll->onclick, ld->onclick)) {
+ goto se2;
+ }
+ }
+ if ((unsigned)nmenu > MAXINT / sizeof(struct menu_item) - 2) overalloc();
+ nm = mem_realloc(*menu, (nmenu + 2) * sizeof(struct menu_item));
+ *menu = nm;
+ memset(&nm[nmenu], 0, 2 * sizeof(struct menu_item));
+ nm[nmenu].text = label;
+ nm[nmenu].rtext = "";
+ nm[nmenu].hotkey = "";
+ nm[nmenu].func = MENU_FUNC map_selected;
+ nm[nmenu].data = ld;
+ nm[++nmenu].text = NULL;
+ goto se2;
+ done:
+ add_to_ml(ml, *menu, NULL);
+ return 0;
+}
+
+void scan_http_equiv(unsigned char *s, unsigned char *eof, unsigned char **head, int *hdl, unsigned char **title, unsigned char **background, unsigned char **bgcolor, struct js_event_spec **j)
+{
+ unsigned char *name, *attr, *he, *c;
+ int namelen;
+ int tlen = 0;
+ if (background) *background = NULL;
+ if (bgcolor) *bgcolor = NULL;
+ if (title) *title = init_str();
+ add_chr_to_str(head, hdl, '\n');
+ se:
+ while (s < eof && *s != '<') sp:s++;
+ if (s >= eof) return;
+ if (s + 2 <= eof && (s[1] == '!' || s[1] == '?')) {
+ s = skip_comment(s, eof);
+ goto se;
+ }
+ if (parse_element(s, eof, &name, &namelen, &attr, &s)) goto sp;
+ ps:
+ if (namelen == 6 && !casecmp(name, "SCRIPT", 6)) {
+ s = skip_element(s, eof, "SCRIPT", 0);
+ goto se;
+ }
+ if (namelen == 4 && !casecmp(name, "BODY", 4)) {
+ if (background) *background = get_attr_val(attr, "background"), background = NULL;
+ if (bgcolor) *bgcolor = get_attr_val(attr, "bgcolor"), bgcolor = NULL;
+ if (j) get_js_events_x(j, attr);
+ /*return;*/
+ }
+ if (title && !tlen && namelen == 5 && !casecmp(name, "TITLE", 5)) {
+ unsigned char *s1;
+ xse:
+ s1 = s;
+ while (s < eof && *s != '<') xsp:s++;
+ add_bytes_to_str(title, &tlen, s1, s - s1);
+ if (s >= eof) goto se;
+ if (s + 2 <= eof && (s[1] == '!' || s[1] == '?')) {
+ s = skip_comment(s, eof);
+ goto xse;
+ }
+ if (parse_element(s, eof, &name, &namelen, &attr, &s)) {
+ s1 = s;
+ goto xsp;
+ }
+ clr_spaces(*title);
+ goto ps;
+ }
+ if (namelen != 4 || casecmp(name, "META", 4)) goto se;
+ if ((he = get_attr_val(attr, "charset"))) {
+ add_to_str(head, hdl, "Charset: ");
+ add_to_str(head, hdl, he);
+ mem_free(he);
+ }
+ if (!(he = get_attr_val(attr, "http-equiv"))) goto se;
+ c = get_attr_val(attr, "content");
+ add_to_str(head, hdl, he);
+ if (c) add_to_str(head, hdl, ": "), add_to_str(head, hdl, c), mem_free(c);
+ mem_free(he);
+ add_to_str(head, hdl, "\r\n");
+ goto se;
+}
+
diff --git a/html_gr.c b/html_gr.c
new file mode 100644
index 0000000..e21fc2a
--- /dev/null
+++ b/html_gr.c
@@ -0,0 +1,1084 @@
+/* html_gr.c
+ * HTML parser in graphics mode
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "cfg.h"
+
+#define format format_
+
+#ifdef G
+
+#include "links.h"
+
+static int g_nobreak;
+
+static int get_real_font_size(int size)
+{
+ int fs=d_opt->font_size;
+
+ if (size < 1) size = 1;
+ if (size > 7) size = 7;
+ switch (size) {
+ case 1: return (14*fs)>>4;
+ case 2: return (15*fs)>>4;
+ case 3: return (16*fs)>>4;
+ case 4: return (19*fs)>>4;
+ case 5: return (22*fs)>>4;
+ case 6: return (25*fs)>>4;
+ case 7: return (28*fs)>>4;
+ }
+ return 0;
+}
+
+struct background *get_background(unsigned char *bg, unsigned char *bgcolor)
+{
+ struct background *b;
+ struct rgb r;
+ b = mem_alloc(sizeof(struct background));
+ {
+ if (bgcolor && !decode_color(bgcolor, &r)) {
+ b->u.sRGB=(r.r << 16) + (r.g << 8) + r.b;
+ } else {
+ b->u.sRGB=(d_opt->default_bg.r << 16) + (d_opt->default_bg.g << 8) + d_opt->default_bg.b;
+ }
+ }
+ return b;
+}
+
+static void g_put_chars(void *, unsigned char *, int);
+
+/* Returns 0 to 2550 */
+static int gray (int r, int g, int b)
+{
+ return r*3+g*6+b;
+}
+
+/* Tells if two colors are too near to be legible one on another */
+/* 1=too near 0=not too near */
+static int too_near(int r1, int g1, int b1, int r2, int g2, int b2)
+{
+ int diff = abs(r1-r2) * 3 + abs(g1-g2) * 6 + abs(b1-b2);
+
+ return diff < 0x17f;
+}
+
+/* Fixes foreground based on background */
+static void separate_fg_bg(int *fgr, int *fgg, int *fgb
+ , int bgr, int bgg, int bgb)
+{
+ if (too_near(*fgr, *fgg, *fgb, bgr, bgg, bgb)) {
+ *fgr = 255 - bgr;
+ *fgg = 255 - bgg;
+ *fgb = 255 - bgb;
+ } else return;
+ if (too_near(*fgr, *fgg, *fgb, bgr, bgg, bgb)) {
+ if (gray(bgr, bgg, bgb) <= 1275)
+ *fgr = *fgg = *fgb = 255;
+ else
+ *fgr = *fgg = *fgb = 0;
+ }
+}
+
+static unsigned char *make_html_font_name(int attr)
+{
+ unsigned char *str;
+ int len;
+
+ str=init_str();len=0;
+ add_to_str(&str, &len, G_HTML_DEFAULT_FAMILY);
+ add_to_str(&str, &len, attr & AT_BOLD ? "-bold" : "-medium");
+ add_to_str(&str, &len, attr & AT_ITALIC ? "-italic-serif" :
+ "-roman-serif");
+ add_to_str(&str, &len, attr & AT_FIXED ? "-mono" : "-vari");
+ return str;
+}
+
+static struct style *get_style_by_ta(struct text_attrib *ta)
+{
+ int fg_r,fg_g,fg_b; /* sRGB 0-255 values */
+ int fs = get_real_font_size(ta->fontsize);
+ struct style*stl;
+ unsigned char *fontname;
+
+ fg_r=ta->fg.r;
+ fg_g=ta->fg.g;
+ fg_b=ta->fg.b;
+ separate_fg_bg(&fg_r,&fg_g,&fg_b,ta->bg.r,ta->bg.g,ta->bg.b);
+ stl = g_get_style((fg_r << 16) + (fg_g << 8) + fg_b, (ta->bg.r << 16) +
+ (ta->bg.g << 8) + ta->bg.b, fs,
+ fontname=make_html_font_name(ta->attr),
+ ta->attr & AT_UNDERLINE ? FF_UNDERLINE : 0);
+ mem_free(fontname);
+ return stl;
+}
+
+#define rm(x) ((x).width - (x).rightmargin * G_HTML_MARGIN > 0 ? (x).width - (x).rightmargin * G_HTML_MARGIN : 0)
+
+#ifndef SPAD
+static inline int pw2(int a)
+{
+ int x = 1;
+ while (x < a && x) {
+ if ((unsigned)x > MAXINT / 2) overalloc();
+ x <<= 1;
+ }
+ return x;
+}
+#else
+static inline int pw2(int a)
+{
+ return a;
+}
+#endif
+
+void flush_pending_line_to_obj(struct g_part *p, int minheight)
+{
+ int i, pp, pos, w, lbl;
+ struct g_object_line *l = p->line;
+ struct g_object_area *a;
+ if (!l) {
+ return;
+ }
+ for (i = l->n_entries - 1; i >= 0; i--) {
+ struct g_object_text *go = (struct g_object_text *)l->entries[i];
+ if (go->draw == g_text_draw) {
+ int l;
+ while ((l = strlen(go->text)) && go->text[l - 1] == ' ') go->text[l - 1] = 0, go->xw -= g_char_width(go->style, ' ');
+ if (go->xw < 0) internal("xw(%d) < 0", go->xw);
+ }
+ if (!go->xw) continue;
+ break;
+ }
+ scan_again:
+ pp = 0;
+ w = minheight;
+ lbl = 0;
+ for (i = 0; i < l->n_entries; i++) {
+ int yy = l->entries[i]->y;
+ if (yy >= G_OBJ_ALIGN_SPECIAL) yy = 0;
+ pp += l->entries[i]->xw;
+ if (l->entries[i]->xw && l->entries[i]->yw + yy > w) w = l->entries[i]->yw + yy;
+ if (yy < lbl) lbl = yy;
+ }
+ if (lbl < 0) {
+ for (i = 0; i < l->n_entries; i++) {
+ if (l->entries[i]->y < G_OBJ_ALIGN_SPECIAL) l->entries[i]->y -= lbl;
+ }
+ goto scan_again;
+ }
+ if (par_format.align == AL_CENTER) pos = (rm(par_format) + par_format.leftmargin * G_HTML_MARGIN - pp) / 2;
+ else if (par_format.align == AL_RIGHT) pos = rm(par_format) - pp;
+ else pos = par_format.leftmargin * G_HTML_MARGIN;
+ if (pos < par_format.leftmargin * G_HTML_MARGIN) pos = par_format.leftmargin * G_HTML_MARGIN;
+ pp = pos;
+ for (i = 0; i < l->n_entries; i++) {
+ l->entries[i]->x = pp;
+ pp += l->entries[i]->xw;
+ if (l->entries[i]->y < G_OBJ_ALIGN_SPECIAL) {
+ l->entries[i]->y = w - l->entries[i]->yw - l->entries[i]->y;
+ } else if (l->entries[i]->y == G_OBJ_ALIGN_TOP) {
+ l->entries[i]->y = 0;
+ } else if (l->entries[i]->y == G_OBJ_ALIGN_MIDDLE) {
+ l->entries[i]->y = (w - l->entries[i]->yw + 1) / 2;
+ }
+ }
+ l->x = 0;
+ l->xw = par_format.width;
+ l->yw = w;
+ l->y = p->cy;
+ if (l->xw > p->root->xw) p->root->xw = l->xw;
+ p->root->yw = p->cy += w;
+ p->root->n_lines++;
+ if ((unsigned)p->root->n_lines > (MAXINT - sizeof(struct g_object_area)) / 2 / sizeof(struct g_object_text *) + 1) overalloc();
+ a = mem_realloc(p->root, sizeof(struct g_object_area) + sizeof(struct g_object_text *) * pw2(p->root->n_lines + 1));
+ /* note: +1 is for extend_area */
+ p->root = a;
+ p->root->lines[p->root->n_lines - 1] = l;
+ p->line = NULL;
+ p->w.pos = 0;
+ p->w.last_wrap = NULL;
+ p->w.last_wrap_obj = NULL;
+}
+
+void add_object_to_line(struct g_part *pp, struct g_object_line **lp, struct g_object *go)
+{
+ struct g_object_line *l;
+ if (go && (go->xw < 0 || go->yw < 0)) {
+ internal("object has negative size: %d,%d", go->xw, go->yw);
+ return;
+ }
+ if (!*lp) {
+ l = mem_calloc(sizeof(struct g_object_line) + sizeof(struct g_object_text *));
+ l->mouse_event = g_line_mouse;
+ l->draw = g_line_draw;
+ l->destruct = g_line_destruct;
+ l->get_list = g_line_get_list;
+ /*l->x = 0;
+ l->y = 0;
+ l->xw = 0;
+ l->yw = 0;*/
+ l->bg = pp->root->bg;
+ if (!go) {
+ *lp = l;
+ return;
+ }
+ l->n_entries = 1;
+ } else {
+ if (!go) return;
+ (*lp)->n_entries++;
+ if ((unsigned)(*lp)->n_entries > (MAXINT - sizeof(struct g_object_line)) / sizeof(struct g_object *)) overalloc();
+ l = mem_realloc(*lp, sizeof(struct g_object_line) + sizeof(struct g_object *) * (*lp)->n_entries);
+ *lp = l;
+ }
+ l->entries[l->n_entries - 1] = go;
+ *lp = l;
+ if (pp->cx == -1) pp->cx = par_format.leftmargin * G_HTML_MARGIN;
+ if (go->xw) {
+ pp->cx += pp->cx_w;
+ pp->cx_w = 0;
+ pp->cx += go->xw;
+ }
+}
+
+void flush_pending_text_to_line(struct g_part *p)
+{
+ struct g_object_text *t = p->text;
+ if (!t) return;
+ add_object_to_line(p, &p->line, (struct g_object *)t);
+ p->text = NULL;
+}
+
+static void split_line_object(struct g_part *p, struct g_object_text *text, unsigned char *ptr)
+{
+ struct g_object_text *t2;
+ struct g_object_line *l2;
+ int n;
+ if (!ptr) {
+ if (p->line && p->line->n_entries && (struct g_object *)text == p->line->entries[p->line->n_entries - 1]) {
+ flush_pending_line_to_obj(p, 0);
+ goto wwww;
+ }
+ t2 = NULL;
+ goto nt2;
+ }
+#ifdef DEBUG
+ if (ptr < text->text || ptr >= text->text + strlen(text->text))
+ internal("split_line_object: split point (%p) pointing out of object (%p,%lx)", ptr, text->text, (unsigned long)strlen(text->text));
+#endif
+ t2 = mem_calloc(sizeof(struct g_object_text) + strlen(ptr));
+ t2->mouse_event = g_text_mouse;
+ t2->draw = g_text_draw;
+ t2->destruct = g_text_destruct;
+ t2->get_list = NULL;
+ if (*ptr == ' ') {
+ strcpy(t2->text, ptr + 1);
+ *ptr = 0;
+ /*debug("split: (%s)(%s)", text->text, ptr + 1);*/
+ } else {
+ strcpy(t2->text, ptr);
+ ptr[0] = '-';
+ ptr[1] = 0;
+ }
+ t2->y = text->y;
+ t2->style = g_clone_style(text->style);
+ t2->link_num = text->link_num;
+ t2->link_order = text->link_order;
+ text->xw = g_text_width(text->style, text->text);
+ nt2:
+ if (p->line) for (n = 0; n < p->line->n_entries; n++) if (p->line->entries[n] == (struct g_object *)text) goto found;
+ if (text != p->text) {
+ internal("split_line_object: bad wrap");
+ t2->destruct(t2);
+ mem_free(t2);
+ return;
+ }
+ if (0) {
+ int nn;
+ found:
+ n += !ptr;
+ l2 = mem_calloc(sizeof(struct g_object_line) + (p->line->n_entries - n) * sizeof(struct g_object_text *));
+ l2->mouse_event = g_line_mouse;
+ l2->draw = g_line_draw;
+ l2->destruct = g_line_destruct;
+ l2->get_list = g_line_get_list;
+ l2->bg = p->root->bg;
+ l2->n_entries = p->line->n_entries - n;
+ l2->entries[0] = (struct g_object *)t2;
+ memcpy(&l2->entries[!!ptr], p->line->entries + n + !!ptr, (l2->n_entries - !!ptr) * sizeof(struct g_object_text *));
+ p->line->n_entries = n + !!ptr;
+ flush_pending_line_to_obj(p, 0);
+ p->line = l2;
+ if (ptr) {
+ t2->xw = g_text_width(t2->style, t2->text);
+ t2->yw = text->yw;
+ p->w.pos = 0;
+ }
+ for (nn = 0; nn < l2->n_entries; nn++) {
+ p->w.pos += l2->entries[nn]->xw; /* !!! FIXME: nastav last_wrap */
+ /*debug("a1: %d (%s)", l2->entries[nn]->xw, tt->text);*/
+ }
+ wwww:
+ if (p->text) p->w.pos += g_text_width(p->text->style, p->text->text);
+ /*debug("%d", p->w.pos);*/
+ } else {
+ flush_pending_text_to_line(p);
+ flush_pending_line_to_obj(p, 0);
+ p->line = NULL;
+ t2->xw = g_text_width(t2->style, t2->text);
+ t2->yw = text->yw;
+ p->text = t2;
+ p->pending_text_len = -1;
+ p->w.pos = t2->xw;
+ p->cx_w = g_char_width(t2->style, ' ');
+ }
+ p->w.last_wrap = NULL;
+ p->w.last_wrap_obj = NULL;
+ t2 = p->text;
+ if (t2) {
+ int sl = strlen(t2->text);
+ if (sl >= 1 && t2->text[sl - 1] == ' ') {
+ p->w.last_wrap = &t2->text[sl - 1];
+ p->w.last_wrap_obj = t2;
+ } else if (sl >= 2 && t2->text[sl - 2] == 0xc2 && t2->text[sl - 1] == 0xad) {
+ p->w.last_wrap = &t2->text[sl - 2];
+ p->w.last_wrap_obj = t2;
+ }
+ }
+}
+
+void add_object(struct g_part *p, struct g_object *o)
+{
+ g_nobreak = 0;
+ flush_pending_text_to_line(p);
+ p->w.width = rm(par_format) - par_format.leftmargin * G_HTML_MARGIN;
+ if (p->w.pos + o->xw > p->w.width) flush_pending_line_to_obj(p, 0);
+ add_object_to_line(p, &p->line, o);
+ p->w.last_wrap = NULL;
+ p->w.last_wrap_obj = o;
+ p->w.pos += o->xw;
+}
+
+static void g_line_break(void *p_)
+{
+ struct g_part *p = p_;
+ if (g_nobreak) {
+ g_nobreak = 0;
+ return;
+ }
+ flush_pending_text_to_line(p);
+ if (!p->line || par_format.align == AL_NO) {
+ add_object_to_line(p, &p->line, NULL);
+ empty_line:
+ flush_pending_line_to_obj(p, get_real_font_size(format.fontsize));
+ } else {
+ int i;
+ for (i = 0; i < p->line->n_entries; i++) {
+ struct g_object *go = p->line->entries[i];
+ if (go->destruct != g_tag_destruct)
+ goto flush;
+ }
+ goto empty_line;
+ flush:
+ flush_pending_line_to_obj(p, 0);
+ }
+ if (p->cx > p->xmax) p->xmax = p->cx;
+ p->cx = -1;
+ p->cx_w = 0;
+}
+
+/* SHADOWED IN html_form_control */
+static void g_html_form_control(struct g_part *p, struct form_control *fc)
+{
+ if (!p->data) {
+ /*destroy_fc(fc);
+ mem_free(fc);*/
+ add_to_list(p->uf, fc);
+ return;
+ }
+ fc->g_ctrl_num = g_ctrl_num++;
+ if (fc->type == FC_TEXT || fc->type == FC_PASSWORD || fc->type == FC_TEXTAREA) {
+ unsigned char *dv = convert_string(convert_table, fc->default_value, strlen(fc->default_value), d_opt);
+ if (dv) {
+ mem_free(fc->default_value);
+ fc->default_value = dv;
+ }
+ /*
+ for (i = 0; i < fc->nvalues; i++) if ((dv = convert_string(convert_table, fc->values[i], strlen(fc->values[i]), d_opt))) {
+ mem_free(fc->values[i]);
+ fc->values[i] = dv;
+ }
+ */
+ }
+ if (fc->type == FC_TEXTAREA) {
+ unsigned char *p;
+ for (p = fc->default_value; p[0]; p++) if (p[0] == '\r') {
+ if (p[1] == '\n') memmove(p, p + 1, strlen(p)), p--;
+ else p[0] = '\n';
+ }
+ }
+ add_to_list(p->data->forms, fc);
+}
+
+static struct link **putchars_link_ptr = NULL;
+
+/* Probably releases clickable map */
+void release_image_map(struct image_map *map)
+{
+ int i;
+ if (!map) return;
+ for (i = 0; i < map->n_areas; i++) mem_free(map->area[i].coords);
+ mem_free(map);
+}
+
+int is_in_area(struct map_area *a, int x, int y)
+{
+ int i;
+ int over;
+ switch (a->shape) {
+ case SHAPE_DEFAULT:
+ return 1;
+ case SHAPE_RECT:
+ return a->ncoords >= 4 && x >= a->coords[0] && y >= a->coords[1] && x < a->coords[2] && y < a->coords[3];
+ case SHAPE_CIRCLE:
+ return a->ncoords >= 3 && (a->coords[0]-x)*(a->coords[0]-x)+(a->coords[1]-y)*(a->coords[1]-y) <= a->coords[2]*a->coords[2];
+ case SHAPE_POLY:
+ over = 0;
+ if (a->ncoords >= 4) for (i = 0; i + 1 < a->ncoords; i += 2) {
+ int x1, x2, y1, y2;
+ x1 = a->coords[i];
+ y1 = a->coords[i + 1];
+ x2 = a->coords[0];
+ y2 = a->coords[1];
+ if (i + 3 < a->ncoords) {
+ x2 = a->coords[i + 2];
+ y2 = a->coords[i + 3];
+ }
+ if (y1 > y2) {
+ int sw;
+ sw = x1; x1 = x2; x2 = sw;
+ sw = y1; y1 = y2; y2 = sw;
+ }
+ if (y >= y1 && y < y2) {
+ int po = 10000 * (y - y1) / (y2 - y1);
+ int xs = x1 + (x2 - x1) * po / 10000;
+ if (xs >= x) over++;
+ }
+ }
+ return over & 1;
+ default:
+ internal("is_in_area: bad shape: %d", a->shape);
+ }
+ return 0;
+}
+
+/* The size is requested in im->xsize and im->ysize. <0 means
+ * not specified. Autoscale is requested in im->autoscale.
+ * If autoscale is specified, im->xsize and im->ysize must
+ * be >0. */
+static void do_image(struct g_part *p, struct image_description *im)
+{
+ struct g_object_image *io;
+ struct link *link;
+ link = NULL;
+ putchars_link_ptr = &link;
+ g_put_chars(p, NULL, 0);
+ putchars_link_ptr = NULL;
+ if (!link) im->link_num = -1;
+ else {
+ im->link_num = link - p->data->links;
+ im->link_order = link->obj_order++;
+ if (link->img_alt) mem_free(link->img_alt);
+ link->img_alt = stracpy(im->alt);
+ }
+ io = insert_image(p, im);
+ if (!io) goto ab;
+ io->ismap = im->ismap;
+ add_object(p, (struct g_object *)io);
+ if (im->usemap && p->data) {
+ unsigned char *tag = extract_position(im->usemap);
+ struct additional_file *af = request_additional_file(current_f_data, im->usemap);
+ af->need_reparse = 1;
+ if (af->rq && (af->rq->state == O_LOADING || af->rq->state == O_INCOMPLETE || af->rq->state == O_OK) && af->rq->ce) {
+ struct memory_list *ml;
+ struct menu_item *menu;
+ struct cache_entry *ce = af->rq->ce;
+ unsigned char *start, *end;
+ int i;
+ struct image_map *map;
+ if (get_file(af->rq, &start, &end)) goto ft;
+ if (start == end) goto ft;
+ if (get_image_map(ce->head, start, end, tag, &menu, &ml, format.href_base, format.target_base, 0, 0, 0, 1)) goto ft;
+ map = mem_alloc(sizeof(struct image_map));
+ map->n_areas = 0;
+ for (i = 0; menu[i].text; i++) {
+ struct link_def *ld = menu[i].data;
+ struct map_area *a;
+ struct link *link;
+ int shape = !ld->shape || !*ld->shape ? SHAPE_RECT : !strcasecmp(ld->shape, "default") ? SHAPE_DEFAULT : !strcasecmp(ld->shape, "rect") ? SHAPE_RECT : !strcasecmp(ld->shape, "circle") ? SHAPE_CIRCLE : !strcasecmp(ld->shape, "poly") || !strcasecmp(ld->shape, "polygon") ? SHAPE_POLY : -1;
+ if (shape == -1) continue;
+ if ((unsigned)map->n_areas > (MAXINT - sizeof(struct image_map)) / sizeof(struct map_area) - 1) overalloc();
+ map = mem_realloc(map, sizeof(struct image_map) + (map->n_areas + 1) * sizeof(struct map_area));
+ a = &map->area[map->n_areas++];
+ a->shape = shape;
+ a->coords = DUMMY;
+ a->ncoords = 0;
+ if (ld->coords) {
+ unsigned char *p = ld->coords;
+ int num;
+ next_coord:
+ num = 0;
+ while (*p && (*p < '0' || *p > '9')) p++;
+ if (!*p) goto noc;
+ while (*p >= '0' && *p <= '9' && num < 10000000) num = num * 10 + *p - '0', p++;
+ if (*p == '.') {
+ p++;
+ while (*p >= '0' && *p <= '9') p++;
+ }
+ if (*p == '%' && num < 1000) {
+ int m = io->xw < io->yw ? io->xw : io->yw;
+ num = num * m / 100;
+ p++;
+ } else num = num * d_opt->image_scale / 100;
+ if ((unsigned)a->ncoords > MAXINT / sizeof(int) - 1) overalloc();
+ a->coords = mem_realloc(a->coords, (a->ncoords + 1) * sizeof(int));
+ a->coords[a->ncoords++] = num;
+ goto next_coord;
+ }
+ noc:
+ if (!(link = new_link(p->data))) a->link_num = -1;
+ else {
+ link->pos = DUMMY;
+ link->type = L_LINK;
+ link->where = stracpy(ld->link);
+ link->target = stracpy(ld->target);
+ link->img_alt = stracpy(ld->label);
+ link->where_img = stracpy(im->url);
+#ifdef JS
+ if (ld->onclick || ld->ondblclick || ld->onmousedown || ld->onmouseup || ld->onmouseover || ld->onmouseout || ld->onmousemove) {
+ create_js_event_spec(&link->js_event);
+ link->js_event->click_code = stracpy(ld->onclick);
+ link->js_event->dbl_code = stracpy(ld->ondblclick);
+ link->js_event->down_code = stracpy(ld->onmousedown);
+ link->js_event->up_code = stracpy(ld->onmouseup);
+ link->js_event->over_code = stracpy(ld->onmouseover);
+ link->js_event->out_code = stracpy(ld->onmouseout);
+ link->js_event->move_code = stracpy(ld->onmousemove);
+ }
+#endif
+ a->link_num = link - p->data->links;
+ }
+ if (last_link) mem_free(last_link), last_link = NULL;
+ }
+ io->map = map;
+ freeml(ml);
+ ft:;
+ }
+ if (tag) mem_free(tag);
+ }
+ ab:;
+}
+
+static void g_hr(struct g_part *gp, struct hr_param *hr)
+{
+ unsigned char bgstr[8];
+ struct g_object_line *o;
+ o = mem_calloc(sizeof(struct g_object_line));
+ o->mouse_event = g_line_mouse;
+ o->draw = g_line_draw;
+ o->destruct = g_line_bg_destruct;
+ o->get_list = g_line_get_list;
+ /*o->x = 0;
+ o->y = 0;*/
+ o->xw = hr->width;
+ o->yw = hr->size;
+ table_bg(&format, bgstr);
+ o->bg = get_background(NULL, bgstr);
+ o->n_entries = 0;
+ flush_pending_text_to_line(gp);
+ /*flush_pending_line_to_obj(gp, get_real_font_size(format.fontsize));*/
+ add_object_to_line(gp, &gp->line, (struct g_object *)o);
+ line_breax = 0;
+ gp->cx = -1;
+ gp->cx_w = 0;
+}
+
+
+static void *g_html_special(void *p_, int c, ...)
+{
+ struct g_part *p = p_;
+ va_list l;
+ unsigned char *t;
+ struct form_control *fc;
+ struct frameset_param *fsp;
+ struct frame_param *fp;
+ struct image_description *im;
+ struct g_object_tag *tag;
+ struct refresh_param *rp;
+ struct hr_param *hr;
+ va_start(l, c);
+ switch (c) {
+ case SP_TAG:
+ t = va_arg(l, unsigned char *);
+ va_end(l);
+ /* not needed to convert %AB here because html_tag will be called anyway */
+ tag = mem_calloc(sizeof(struct g_object_tag) + strlen(t));
+ tag->mouse_event = g_dummy_mouse;
+ tag->draw = g_dummy_draw;
+ tag->destruct = g_tag_destruct;
+ strcpy(tag->name, t);
+ flush_pending_text_to_line(p);
+ add_object_to_line(p, &p->line, (struct g_object *)tag);
+ break;
+ case SP_CONTROL:
+ fc = va_arg(l, struct form_control *);
+ va_end(l);
+ g_html_form_control(p, fc);
+ break;
+ case SP_TABLE:
+ va_end(l);
+ return convert_table;
+ case SP_USED:
+ va_end(l);
+ return (void *)(my_intptr_t)!!p->data;
+ case SP_FRAMESET:
+ fsp = va_arg(l, struct frameset_param *);
+ va_end(l);
+ return create_frameset(p->data, fsp);
+ case SP_FRAME:
+ fp = va_arg(l, struct frame_param *);
+ va_end(l);
+ create_frame(fp);
+ break;
+ case SP_SCRIPT:
+ t = va_arg(l, unsigned char *);
+ va_end(l);
+ if (p->data) process_script(p->data, t);
+ break;
+ case SP_IMAGE:
+ im = va_arg(l, struct image_description *);
+ va_end(l);
+ do_image(p, im);
+ break;
+ case SP_NOWRAP:
+ va_end(l);
+ break;
+ case SP_REFRESH:
+ rp = va_arg(l, struct refresh_param *);
+ va_end(l);
+ html_process_refresh(p->data, rp->url, rp->time);
+ break;
+ case SP_SET_BASE:
+ t = va_arg(l, unsigned char *);
+ va_end(l);
+ if (p->data) set_base(p->data, t);
+ break;
+ case SP_HR:
+ hr = va_arg(l, struct hr_param *);
+ va_end(l);
+ g_hr(p, hr);
+ break;
+ default:
+ va_end(l);
+ internal("html_special: unknown code %d", c);
+ }
+ return NULL;
+}
+
+static unsigned char to_je_ale_prasarna[] = "";
+
+static unsigned char *cached_font_face = to_je_ale_prasarna;
+static struct text_attrib_beginning ta_cache = { -1, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, 0 };
+
+static void g_put_chars(void *p_, unsigned char *s, int l)
+{
+ struct g_part *p = p_;
+ struct g_object_text *t;
+ struct link *link;
+ int ptl;
+ unsigned char *sh;
+
+ if (l < 0) overalloc();
+
+again:
+ if (l > 2 && (sh = memchr(s + 1, 0xad, l - 2)) && sh[-1] == 0xc2) {
+ sh++;
+ g_put_chars(p_, s, sh - s);
+ l -= (sh - s);
+ s = sh;
+ goto again;
+ }
+
+ /*fprintf(stderr, "%d: '%.*s'\n", l, l, s);*/
+
+ t = NULL;
+
+ if (putchars_link_ptr) {
+ link = NULL;
+ goto check_link;
+ }
+ while (par_format.align != AL_NO && p->cx == -1 && l && *s == ' ') s++, l--;
+ if (!l) return;
+ g_nobreak = 0;
+ if (p->cx < par_format.leftmargin * G_HTML_MARGIN) p->cx = par_format.leftmargin * G_HTML_MARGIN;
+ if (html_format_changed) {
+ if (memcmp(&ta_cache, &format, sizeof(struct text_attrib_beginning)) || xstrcmp(cached_font_face, format.fontface) || cached_font_face == to_je_ale_prasarna ||
+ xstrcmp(format.link, last_link) || xstrcmp(format.target, last_target) ||
+ xstrcmp(format.image, last_image) || format.form != last_form
+ || ((format.js_event || last_js_event) && compare_js_event_spec(format.js_event, last_js_event)) ) {
+ /*if (!html_format_changed) internal("html_format_changed not set");*/
+ flush_pending_text_to_line(p);
+ if (xstrcmp(cached_font_face, format.fontface) || cached_font_face == to_je_ale_prasarna) {
+ if (cached_font_face && cached_font_face != to_je_ale_prasarna) mem_free(cached_font_face);
+ cached_font_face = stracpy(format.fontface);
+ }
+ memcpy(&ta_cache, &format, sizeof(struct text_attrib_beginning));
+ if (p->current_style) g_free_style(p->current_style);
+ p->current_style = get_style_by_ta(&format);
+ }
+ html_format_changed = 0;
+ }
+ /*if (p->cx <= par_format.leftmargin * G_HTML_MARGIN && *s == ' ' && par_format.align != AL_NO) s++, l--;*/
+ if (!p->text) {
+ link = NULL;
+ t = mem_calloc(sizeof(struct g_object_text) + ALLOC_GR);
+ t->mouse_event = g_text_mouse;
+ t->draw = g_text_draw;
+ t->destruct = g_text_destruct;
+ t->get_list = NULL;
+ t->style = g_clone_style(p->current_style);
+ t->yw = t->style->height;
+ /*t->xw = 0;
+ t->y = 0;*/
+ if (format.baseline) {
+ if (format.baseline < 0) t->y = -(t->style->height / 3);
+ if (format.baseline > 0) t->y = get_real_font_size(format.baseline) - (t->style->height / 2);
+ }
+ check_link:
+ if (last_link || last_image || last_form || format.link || format.image || format.form
+ || format.js_event || last_js_event
+ ) goto process_link;
+ back_link:
+ if (putchars_link_ptr) {
+ *putchars_link_ptr = link;
+ return;
+ }
+
+ if (!link) t->link_num = -1;
+ else {
+ t->link_num = link - p->data->links;
+ t->link_order = link->obj_order++;
+ }
+
+ t->text[0] = 0;
+ p->pending_text_len = 0;
+ p->text = t;
+ }
+ if (p->pending_text_len == -1) {
+ p->pending_text_len = strlen(p->text->text);
+ ptl = p->pending_text_len;
+ if (!ptl) ptl = 1;
+ goto a1;
+ }
+ ptl = p->pending_text_len;
+ if (!ptl) ptl = 1;
+ if (((ptl + ALLOC_GR - 1) & ~(ALLOC_GR - 1)) != ((ptl + l + ALLOC_GR - 1) & ~(ALLOC_GR - 1))) a1: {
+ struct g_object_text *t;
+ if ((unsigned)l > MAXINT) overalloc();
+ if ((unsigned)ptl + (unsigned)l > MAXINT - ALLOC_GR) overalloc();
+ t = mem_realloc(p->text, sizeof(struct g_object_text) + ((ptl + l + ALLOC_GR - 1) & ~(ALLOC_GR - 1)));
+ if (p->w.last_wrap >= p->text->text && p->w.last_wrap < p->text->text + p->pending_text_len) p->w.last_wrap += (unsigned char *)t - (unsigned char *)p->text;
+ if (p->w.last_wrap_obj == p->text) p->w.last_wrap_obj = t;
+ p->text = t;
+ }
+ memcpy(p->text->text + p->pending_text_len, s, l), p->text->text[p->pending_text_len += l] = 0;
+ p->text->xw += g_text_width(p->text->style, p->text->text + p->pending_text_len - l); /* !!! FIXME: move to g_wrap_text */
+ if (par_format.align != AL_NO) {
+ p->w.text = p->text->text + p->pending_text_len - l;
+ p->w.style = p->text->style;
+ p->w.obj = p->text;
+ p->w.width = rm(par_format) - par_format.leftmargin * G_HTML_MARGIN;
+ p->w.force_break = 0;
+ if (p->w.width < 0) p->w.width = 0;
+ if (!g_wrap_text(&p->w)) {
+ split_line_object(p, p->w.last_wrap_obj, p->w.last_wrap);
+ }
+ }
+ return;
+
+ /* !!! WARNING: THE FOLLOWING CODE IS SHADOWED IN HTML_R.C */
+
+ process_link:
+ if ((last_link /*|| last_target*/ || last_image || last_form) &&
+ !putchars_link_ptr &&
+ !xstrcmp(format.link, last_link) && !xstrcmp(format.target, last_target) &&
+ !xstrcmp(format.image, last_image) && format.form == last_form
+ && ((!format.js_event && !last_js_event) || !compare_js_event_spec(format.js_event, last_js_event))) {
+ if (!p->data) goto back_link;
+ if (!p->data->nlinks) {
+ internal("no link");
+ goto back_link;
+ }
+ link = &p->data->links[p->data->nlinks - 1];
+ goto back_link;
+ } else {
+ if (last_link) mem_free(last_link);
+ if (last_target) mem_free(last_target);
+ if (last_image) mem_free(last_image);
+ free_js_event_spec(last_js_event);
+ last_link = last_target = last_image = NULL;
+ last_form = NULL;
+ last_js_event = NULL;
+ if (!(format.link || format.image || format.form || format.js_event)) goto back_link;
+ /*if (d_opt->num_links) {
+ unsigned char s[64];
+ unsigned char *fl = format.link, *ft = format.target, *fi = format.image;
+ struct form_control *ff = format.form;
+ struct js_event_spec *js = format.js_event;
+ format.link = format.target = format.image = NULL;
+ format.form = NULL;
+ format.js_event = NULL;
+ s[0] = '[';
+ snzprint(s + 1, 62, p->link_num);
+ strcat(s, "]");
+ g_put_chars(p, s, strlen(s));
+ if (ff && ff->type == FC_TEXTAREA) g_line_break(p);
+ if (p->cx < par_format.leftmargin * G_HTML_MARGIN) p->cx = par_format.leftmargin * G_HTML_MARGIN;
+ format.link = fl, format.target = ft, format.image = fi;
+ format.form = ff;
+ format.js_event = js;
+ }*/
+ p->link_num++;
+ last_link = stracpy(format.link);
+ last_target = stracpy(format.target);
+ last_image = stracpy(format.image);
+ last_form = format.form;
+ copy_js_event_spec(&last_js_event, format.js_event);
+ if (!p->data) goto back_link;
+ if (!(link = new_link(p->data))) goto back_link;
+ link->num = p->link_num - 1;
+ link->pos = DUMMY;
+ copy_js_event_spec(&link->js_event, format.js_event);
+ if (!last_form) {
+ link->type = L_LINK;
+ link->where = stracpy(last_link);
+ link->target = stracpy(last_target);
+ } else {
+ link->type = last_form->type == FC_TEXT || last_form->type == FC_PASSWORD || last_form->type == FC_FILE ? L_FIELD : last_form->type == FC_TEXTAREA ? L_AREA : last_form->type == FC_CHECKBOX || last_form->type == FC_RADIO ? L_CHECKBOX : last_form->type == FC_SELECT ? L_SELECT : L_BUTTON;
+ link->form = last_form;
+ link->target = stracpy(last_form->target);
+ }
+ link->where_img = stracpy(last_image);
+ link->sel_color = 0;
+ link->n = 0;
+ }
+ goto back_link;
+}
+
+static void g_do_format(unsigned char *start, unsigned char *end, struct g_part *part, unsigned char *head)
+{
+ pr(
+ parse_html(start, end, (void (*)(void *, unsigned char *, int))g_put_chars, g_line_break, (void *(*)(void *, int, ...))g_html_special, part, head);
+ /*if ((part->y -= line_breax) < 0) part->y = 0;*/
+ flush_pending_text_to_line(part);
+ flush_pending_line_to_obj(part, 0);
+ ) {};
+}
+
+struct g_table_cache_entry {
+ struct g_table_cache_entry *next;
+ struct g_table_cache_entry *prev;
+ unsigned char *start;
+ unsigned char *end;
+ int align;
+ int m;
+ int width;
+ int link_num;
+ struct g_part p;
+};
+
+static struct list_head g_table_cache = { &g_table_cache, &g_table_cache };
+
+void g_free_table_cache(void)
+{
+ free_list(g_table_cache);
+}
+
+struct g_part *g_format_html_part(unsigned char *start, unsigned char *end, int align, int m, int width, unsigned char *head, int link_num, unsigned char *bg, unsigned char *bgcolor, struct f_data *f_d)
+{
+ int wa;
+ struct g_part *p;
+ struct html_element *e;
+ struct form_control *fc;
+ int lm = margin;
+
+ struct g_table_cache_entry *tce;
+
+ if (!f_d) foreach(tce, g_table_cache) {
+ if (tce->start == start && tce->end == end && tce->align == align && tce->m == m && tce->width == width && tce->link_num == link_num) {
+ p = mem_alloc(sizeof(struct g_part));
+ memcpy(p, &tce->p, sizeof(struct part));
+ return p;
+ }
+ }
+ margin = m;
+
+ /*d_opt->tables = 0;*/
+
+ if (last_link) mem_free(last_link);
+ if (last_image) mem_free(last_image);
+ if (last_target) mem_free(last_target);
+ free_js_event_spec(last_js_event);
+ last_link = last_image = last_target = NULL;
+ last_form = NULL;
+ last_js_event = NULL;
+
+ cached_font_face = to_je_ale_prasarna;
+ p = mem_calloc(sizeof(struct g_part));
+ {
+ struct g_object_area *a;
+ a = mem_calloc(sizeof(struct g_object_area) + sizeof(struct g_object_line *));
+ a->bg = get_background(bg, bgcolor);
+ if (bgcolor) decode_color(bgcolor, &format.bg);
+ if (bgcolor) decode_color(bgcolor, &par_format.bgcolor);
+ a->mouse_event = g_area_mouse;
+ a->draw = g_area_draw;
+ a->destruct = g_area_destruct;
+ a->get_list = g_area_get_list;
+ /*a->n_lines = 0;*/
+ p->root = a;
+ init_list(p->uf);
+ }
+ p->data = f_d;
+ p->x = p->y = 0;
+ p->xmax = 0;
+ html_stack_dup();
+ e = &html_top;
+ html_top.dontkill = 2;
+ html_top.namelen = 0;
+ par_format.align = align;
+ par_format.leftmargin = m;
+ par_format.rightmargin = m;
+ par_format.width = width;
+ par_format.list_level = 0;
+ par_format.list_number = 0;
+ par_format.dd_margin = 0;
+ p->cx = -1;
+ p->cx_w = 0;
+ g_nobreak = align != AL_NO;
+ g_do_format(start, end, p, head);
+ g_nobreak = 0;
+ line_breax = 1;
+ while (&html_top != e) {
+ kill_html_stack_item(&html_top);
+ if (!&html_top || (void *)&html_top == (void *)&html_stack) {
+ internal("html stack trashed");
+ break;
+ }
+ }
+ html_top.dontkill = 0;
+
+ wa = g_get_area_width(p->root);
+ if (wa > p->x) p->x = wa;
+ g_x_extend_area(p->root, p->x, 0, align);
+ if (p->x > p->xmax) p->xmax = p->x;
+ p->y = p->root->yw;
+ /*debug("WIDTH: obj (%d, %d), p (%d %d)", p->root->xw, p->root->yw, p->x, p->y);*/
+
+ kill_html_stack_item(&html_top);
+ if (!f_d) g_release_part(p), p->root = NULL;
+ if (cached_font_face && cached_font_face != to_je_ale_prasarna) mem_free(cached_font_face);
+ cached_font_face = to_je_ale_prasarna;
+
+ foreach(fc, p->uf) destroy_fc(fc);
+ free_list(p->uf);
+
+ margin = lm;
+
+ if (last_link) mem_free(last_link);
+ if (last_image) mem_free(last_image);
+ if (last_target) mem_free(last_target);
+ free_js_event_spec(last_js_event);
+ last_link = last_image = last_target = NULL;
+ last_form = NULL;
+ last_js_event = NULL;
+
+ if (table_level > 1 && !f_d) {
+ tce = mem_alloc(sizeof(struct g_table_cache_entry));
+ tce->start = start;
+ tce->end = end;
+ tce->align = align;
+ tce->m = m;
+ tce->width = width;
+ tce->link_num = link_num;
+ memcpy(&tce->p, p, sizeof(struct g_part));
+ add_to_list(g_table_cache, tce);
+ }
+
+ return p;
+}
+
+void g_release_part(struct g_part *p)
+{
+ if (p->text) p->text->destruct(p->text);
+ if (p->line) p->line->destruct(p->line);
+ if (p->root) p->root->destruct(p->root);
+ if (p->current_style) g_free_style(p->current_style);
+}
+
+static void g_scan_lines(struct g_object_line **o, int n, int *w)
+{
+ while (n--) {
+ if ((*o)->n_entries) {
+ struct g_object *oo = (*o)->entries[(*o)->n_entries - 1];
+ if ((*o)->x + oo->x + oo->xw > *w) *w = (*o)->x + oo->x + oo->xw;
+ }
+ o++;
+ }
+}
+
+int g_get_area_width(struct g_object_area *a)
+{
+ int w = 0;
+ g_scan_lines(a->lines, a->n_lines, &w);
+ return w;
+}
+
+void g_x_extend_area(struct g_object_area *a, int width, int height, int align)
+{
+ struct g_object_line *l;
+ int i;
+ a->xw = width;
+ for (i = 0; i < a->n_lines; i++) {
+ a->lines[i]->xw = width;
+ }
+ if (align != AL_NO) for (i = a->n_lines - 1; i >= 0; i--) {
+ l = a->lines[i];
+ if (!l->n_entries) {
+ a->yw -= l->yw;
+ l->destruct(l);
+ a->n_lines--;
+ continue;
+ }
+ break;
+ }
+ if (a->yw >= height) return;
+ l = mem_calloc(sizeof(struct g_object_line));
+ l->mouse_event = g_line_mouse;
+ l->draw = g_line_draw;
+ l->destruct = g_line_destruct;
+ l->get_list = g_line_get_list;
+ l->x = 0;
+ l->y = a->yw;
+ l->xw = width;
+ l->yw = height - a->yw;
+ l->bg = a->bg;
+ l->n_entries = 0;
+ a->lines[a->n_lines] = l;
+ a->n_lines++;
+}
+
+
+
+#endif
diff --git a/html_r.c b/html_r.c
new file mode 100644
index 0000000..2b64e24
--- /dev/null
+++ b/html_r.c
@@ -0,0 +1,1459 @@
+/* html_r.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+#define format format_
+
+struct f_data *init_formatted(struct document_options *opt)
+{
+ struct f_data *scr;
+ scr = mem_calloc(sizeof(struct f_data));
+ copy_opt(&scr->opt, opt);
+ scr->data = DUMMY;
+ scr->nlinks = 0;
+ scr->links = DUMMY;
+ scr->nlink_events = 0;
+ scr->link_events = DUMMY;
+ init_list(scr->forms);
+ init_list(scr->tags);
+ init_list(scr->nodes);
+#ifdef G
+ scr->n_images=0;
+ init_list(scr->images);
+ scr->search_positions = DUMMY;
+ scr->search_lengths = DUMMY;
+ init_list(scr->image_refresh);
+ scr->start_highlight_x = -1;
+ scr->start_highlight_y = -1;
+ scr->hlt_pos = -1;
+#endif
+ return scr;
+}
+
+void destroy_fc(struct form_control *fc)
+{
+ int i;
+ if (fc->action) mem_free(fc->action);
+ if (fc->target) mem_free(fc->target);
+ if (fc->form_name) mem_free(fc->form_name);
+ if (fc->onsubmit) mem_free(fc->onsubmit);
+ if (fc->name) mem_free(fc->name);
+ if (fc->alt) mem_free(fc->alt);
+ if (fc->default_value) mem_free(fc->default_value);
+ for (i = 0; i < fc->nvalues; i++) {
+ if (fc->values[i]) mem_free(fc->values[i]);
+ if (fc->labels[i]) mem_free(fc->labels[i]);
+ }
+ if (fc->values) mem_free(fc->values);
+ if (fc->labels) mem_free(fc->labels);
+ if (fc->menu) free_menu(fc->menu);
+}
+
+void free_frameset_desc(struct frameset_desc *fd)
+{
+ int i;
+ for (i = 0; i < fd->n; i++) {
+ if (fd->f[i].subframe) free_frameset_desc(fd->f[i].subframe);
+ if (fd->f[i].name) mem_free(fd->f[i].name);
+ if (fd->f[i].url) mem_free(fd->f[i].url);
+ }
+#ifdef JS
+ if (fd->onload_code)mem_free(fd->onload_code);
+#endif
+ mem_free(fd);
+}
+
+struct frameset_desc *copy_frameset_desc(struct frameset_desc *fd)
+{
+ int i;
+ struct frameset_desc *new;
+ if ((unsigned)fd->n > MAXINT / sizeof(struct frame_desc)) overalloc();
+ new = mem_alloc(sizeof(struct frameset_desc) + fd->n * sizeof(struct frame_desc));
+ memcpy(new, fd, sizeof(struct frameset_desc) + fd->n * sizeof(struct frame_desc));
+#ifdef JS
+ if (new->onload_code) new->onload_code = stracpy(new->onload_code);
+#endif
+ for (i = 0; i < new->n; i++) {
+ if (new->f[i].subframe) new->f[i].subframe = copy_frameset_desc(new->f[i].subframe);
+ if (new->f[i].name) new->f[i].name = stracpy(new->f[i].name);
+ if (new->f[i].url) new->f[i].url = stracpy(new->f[i].url);
+ }
+ return new;
+}
+
+void free_additional_files(struct additional_files **a)
+{
+ struct additional_file *af;
+ if (!*a) return;
+ if (--(*a)->refcount) {
+ *a = NULL;
+ return;
+ }
+ foreach(af, (*a)->af) release_object(&af->rq);
+ free_list((*a)->af);
+ mem_free(*a);
+ *a = NULL;
+}
+
+static void clear_formatted(struct f_data *scr)
+{
+ int n;
+ int y;
+ struct form_control *fc;
+ if (!scr) return;
+#ifdef G
+ if (scr->root) scr->root->destruct(scr->root);
+#endif
+ release_object(&scr->rq);
+ free_additional_files(&scr->af);
+ if (scr->title) mem_free(scr->title);
+ if (scr->frame_desc) {
+ free_frameset_desc(scr->frame_desc);
+ }
+ for (n = 0; n < scr->nlinks; n++) {
+ struct link *l = &scr->links[n];
+ if (l->where) mem_free(l->where);
+ if (l->target) mem_free(l->target);
+ if (l->where_img) mem_free(l->where_img);
+ if (l->img_alt) mem_free(l->img_alt);
+ if (l->pos) mem_free(l->pos);
+ free_js_event_spec(l->js_event);
+ }
+ mem_free(scr->links);
+ for (n = 0; n < scr->nlink_events; n++) {
+ free_js_event_spec(scr->link_events[n]);
+ }
+ mem_free(scr->link_events);
+ if (!F) for (y = 0; y < scr->y; y++) mem_free(scr->data[y].d);
+ mem_free(scr->data);
+ if (scr->lines1) mem_free(scr->lines1);
+ if (scr->lines2) mem_free(scr->lines2);
+ if (scr->opt.framename) mem_free(scr->opt.framename);
+ foreach(fc, scr->forms) {
+ destroy_fc(fc);
+ }
+ free_list(scr->forms);
+ free_list(scr->tags);
+ free_list(scr->nodes);
+ if (scr->search) mem_free(scr->search);
+ if (scr->slines1) mem_free(scr->slines1);
+ if (scr->slines2) mem_free(scr->slines2);
+#ifdef G
+ free_list(scr->image_refresh);
+ if (scr->srch_string) mem_free(scr->srch_string);
+ if (scr->last_search) mem_free(scr->last_search);
+ if (scr->search_positions) mem_free(scr->search_positions);
+ if (scr->search_lengths) mem_free(scr->search_lengths);
+#endif
+ if (scr->refresh) mem_free(scr->refresh);
+ jsint_destroy_document_description(scr);
+ if (scr->script_href_base) mem_free(scr->script_href_base);
+ free_js_event_spec(scr->js_event);
+}
+
+void destroy_formatted(struct f_data *scr)
+{
+ if (scr->fd) {
+ internal("trying to free locked formatted data");
+ return;
+ }
+ clear_formatted(scr);
+ mem_free(scr);
+}
+
+static inline int color_distance(struct rgb *c1, struct rgb *c2)
+{
+ return
+ 3 * (c1->r - c2->r) * (c1->r - c2->r) +
+ 4 * (c1->g - c2->g) * (c1->g - c2->g) +
+ 2 * (c1->b - c2->b) * (c1->b - c2->b);
+}
+
+struct rgb palette_16_colors[16] = {
+ {0x00, 0x00, 0x00, 0},
+ {0x80, 0x00, 0x00, 0},
+ {0x00, 0x80, 0x00, 0},
+ {0xaa, 0x55, 0x00, 0},
+ {0x00, 0x00, 0x80, 0},
+ {0x80, 0x00, 0x80, 0},
+ {0x00, 0x80, 0x80, 0},
+ {0xaa, 0xaa, 0xaa, 0},
+ {0x55, 0x55, 0x55, 0},
+ {0xff, 0x55, 0x55, 0},
+ {0x55, 0xff, 0x55, 0},
+ {0xff, 0xff, 0x55, 0},
+ {0x55, 0x55, 0xff, 0},
+ {0xff, 0x55, 0xff, 0},
+ {0x55, 0xff, 0xff, 0},
+ {0xff, 0xff, 0xff, 0},
+};
+
+struct rgb_cache_entry {
+ int color;
+ int l;
+ struct rgb rgb;
+};
+
+#define RGB_HASH_SIZE 4096
+
+#define HASH_RGB(r, l) ((((r)->r << 3) + ((r)->g << 2) + (r)->b + (l)) & (RGB_HASH_SIZE - 1))
+
+int find_nearest_color(struct rgb *r, int l)
+{
+ int dist, dst, min, i;
+ static struct rgb_cache_entry rgb_cache[RGB_HASH_SIZE];
+ static int cache_init = 0;
+ int h;
+ if ((size_t)l > sizeof(palette_16_colors) / sizeof(*palette_16_colors))
+ internal("invalid length %d", l);
+ if (!cache_init) goto initialize;
+ back:
+ h = HASH_RGB(r, l);
+ if (rgb_cache[h].color != -1 && rgb_cache[h].l == l && rgb_cache[h].rgb.r == r->r && rgb_cache[h].rgb.g == r->g && rgb_cache[h].rgb.b == r->b) return rgb_cache[h].color;
+ dist = 0xffffff;
+ min = 0;
+ for (i = 0; i < l; i++) if ((dst = color_distance(r, &palette_16_colors[i])) < dist)
+ dist = dst, min = i;
+ rgb_cache[h].color = min;
+ rgb_cache[h].l = l;
+ rgb_cache[h].rgb.r = r->r;
+ rgb_cache[h].rgb.g = r->g;
+ rgb_cache[h].rgb.b = r->b;
+ return min;
+
+ initialize:
+ for (h = 0; h < RGB_HASH_SIZE; h++) rgb_cache[h].color = -1;
+ cache_init = 1;
+ goto back;
+}
+
+int fg_color(int fg, int bg)
+{
+ int l = bg < fg ? bg : fg;
+ int h = bg < fg ? fg : bg;
+ if (l == h || (!l && (h == 4 || h == 8 || h == 12)) ||
+ (l == 1 && (h == 3 || h == 5 || h == 8 || h == 12)) ||
+ (l == 2 && h == 6) || (l == 3 && (h == 5 || h == 12)) ||
+ (l == 4 && (h == 8 || h == 12)) || (l == 5 && (h == 8 || h == 12)))
+ return (fg == 4 || fg == 12) && (bg == 0 || bg == 8) ? 6 : (7 - 7 * (bg == 2 || bg == 6 || bg == 7));
+ return fg;
+}
+
+#define XALIGN(x) (((x)+0xf)&~0xf)
+
+static int nowrap = 0;
+
+static void xpand_lines(struct part *p, int y)
+{
+ if (!p->data) return;
+ if (y < 0) return;
+ if ((unsigned)y + (unsigned)p->yp + 1 >= MAXINT ||
+ (unsigned)y + (unsigned)p->yp + 1 < (unsigned)y) overalloc();
+ y += p->yp + 1;
+ if (y > p->data->y) {
+ int i;
+ if ((y ^ p->data->y) > p->data->y) {
+ unsigned s;
+ for (s = 1; s < (unsigned)y; s = s * 2 + 1) {
+ if (s >= MAXINT) overalloc();
+ }
+ p->data->data = mem_realloc(p->data->data, s * sizeof(struct line));
+ }
+ /*
+#define YALIGN(y) (((y)+0x3ff)&~0x3ff)
+ if (YALIGN(y + 1) > YALIGN(p->data->y)) {
+ if (YALIGN((unsigned)y + 1) > MAXINT / sizeof(struct line)) overalloc();
+ p->data->data = mem_realloc(p->data->data, YALIGN(y+1)*sizeof(struct line));
+ }*/
+ for (i = p->data->y; i < y; i++) {
+ p->data->data[i].l = 0;
+ p->data->data[i].d = DUMMY;
+ }
+ p->data->y = y;
+ }
+}
+
+static void xpand_line(struct part *p, int y, int x)
+{
+ if (!p->data) return;
+ if (XALIGN((unsigned)x + (unsigned)p->xp) > MAXINT) overalloc();
+ x += p->xp;
+ y += p->yp;
+#ifdef DEBUG
+ if (y >= p->data->y) {
+ internal("line does not exist");
+ return;
+ }
+#endif
+ if (x >= p->data->data[y].l) {
+ int i;
+ if (XALIGN(x+1) > XALIGN(p->data->data[y].l)) {
+ if (XALIGN((unsigned)x + 1) > MAXINT / sizeof(chr)) overalloc();
+ p->data->data[y].d = mem_realloc(p->data->data[y].d, XALIGN(x+1)*sizeof(chr));
+ }
+ for (i = p->data->data[y].l; i <= x; i++) {
+ p->data->data[y].d[i].at = p->bgcolor << 3;
+ p->data->data[y].d[i].ch = ' ';
+ }
+ p->data->data[y].l = i;
+ }
+}
+
+static void r_xpand_spaces(struct part *p, int l)
+{
+ unsigned char *c;
+ if ((unsigned)l >= MAXINT) overalloc();
+ c = mem_realloc(p->spaces, l + 1);
+ memset(c + p->spl, 0, l - p->spl + 1);
+ p->spl = l + 1;
+ p->spaces = c;
+}
+
+static inline void xpand_spaces(struct part *p, int l)
+{
+ if ((unsigned)l >= (unsigned)p->spl) r_xpand_spaces(p, l);
+}
+
+#define POS(x, y) (p->data->data[p->yp + (y)].d[p->xp + (x)])
+#define LEN(y) (p->data->data[p->yp + (y)].l - p->xp < 0 ? 0 : p->data->data[p->yp + (y)].l - p->xp)
+#define SLEN(y, x) p->data->data[p->yp + (y)].l = p->xp + x;
+#define X(x) (p->xp + (x))
+#define Y(y) (p->yp + (y))
+
+static inline void set_hchar(struct part *p, int x, int y, unsigned ch, unsigned at)
+{
+ chr *cc;
+ xpand_lines(p, y);
+ xpand_line(p, y, x);
+ cc = &POS(x, y);
+ cc->ch = ch;
+ cc->at = at;
+}
+
+static inline void set_hchars(struct part *p, int x, int y, int xl, unsigned ch, unsigned at)
+{
+ chr *cc;
+ xpand_lines(p, y);
+ xpand_line(p, y, x+xl-1);
+ cc = &POS(x, y);
+ for (; xl; xl--) {
+ cc->ch = ch;
+ cc->at = at;
+ cc++;
+ }
+}
+
+void xset_hchar(struct part *p, int x, int y, unsigned ch, unsigned at)
+{
+ set_hchar(p, x, y, ch, at);
+}
+
+void xset_hchars(struct part *p, int x, int y, int xl, unsigned ch, unsigned at)
+{
+ set_hchars(p, x, y, xl, ch, at);
+}
+
+void xxpand_lines(struct part *p, int y)
+{
+ xpand_lines(p, y);
+}
+
+void xxpand_line(struct part *p, int y, int x)
+{
+ xpand_line(p, y, x);
+}
+
+static inline void set_hline(struct part *p, int x, int y, int xl, unsigned char *d, unsigned at)
+{
+ chr *cc;
+ int xp;
+ xpand_lines(p, y);
+ xpand_line(p, y, x+xl-1);
+ xp = par_format.align != AL_NO;
+ if (xp) xpand_spaces(p, x+xl-1);
+ cc = NULL;
+ if (p->data) cc = &POS(x, y);
+ for (; xl; xl--, x++, d++) {
+ if (xp) p->spaces[x] = *d == ' ';
+ if (p->data) {
+ cc->ch = *d;
+ cc->at = at;
+ cc++;
+ }
+ }
+}
+
+static inline void set_hline_uni(struct part *p, int x, int y, int xl, char_t *d, unsigned at)
+{
+ chr *cc;
+ int xp;
+ xpand_lines(p, y);
+ xpand_line(p, y, x+xl-1);
+ xp = par_format.align != AL_NO;
+ if (xp) xpand_spaces(p, x+xl-1);
+ cc = NULL;
+ if (p->data) cc = &POS(x, y);
+ for (; xl; xl--, x++, d++) {
+ if (xp) p->spaces[x] = *d == ' ';
+ if (p->data) {
+ cc->ch = *d;
+ cc->at = at;
+ cc++;
+ }
+ }
+}
+
+static int last_link_to_move;
+static struct tag *last_tag_to_move;
+static struct tag *last_tag_for_newline;
+
+static inline void move_links(struct part *p, int xf, int yf, int xt, int yt)
+{
+ int n;
+ struct tag *t;
+ int w = 0;
+ if (!p->data) return;
+ xpand_lines(p, yt);
+ for (n = last_link_to_move; n < p->data->nlinks; n++) {
+ int i;
+ struct link *link = &p->data->links[n];
+ /*printf("ml: %d %d %d %d",link->pos[0].x,link->pos[0].y,X(xf),Y(yf));fflush(stdout);sleep(1);*/
+ for (i = link->first_point_to_move; i < link->n; i++) if (link->pos[i].y >= Y(yf)) {
+ w = 1;
+ if (link->pos[i].y == Y(yf) && link->pos[i].x >= X(xf)) {
+ if (yt >= 0) link->pos[i].y = Y(yt), link->pos[i].x += -xf + xt;
+ else memmove(&link->pos[i], &link->pos[i+1], (link->n-i-1) * sizeof(struct point)), link->n--, i--;
+ }
+ } else {
+ link->first_point_to_move = i + 1;
+ }
+ if (!w) last_link_to_move = n;
+ }
+ w = 0;
+ if (yt >= 0) for (t = last_tag_to_move->next; (void *)t != &p->data->tags; t = t->next) {
+ if (t->y == Y(yf)) {
+ w = 1;
+ if (t->x >= X(xf)) {
+ t->y = Y(yt), t->x += -xf + xt;
+ }
+ }
+ if (!w) last_tag_to_move = t;
+ }
+}
+
+static inline void copy_chars(struct part *p, int x, int y, int xl, chr *d)
+{
+ if (xl <= 0) return;
+ xpand_lines(p, y);
+ xpand_line(p, y, x+xl-1);
+ for (; xl; xl--, x++, d++) POS(x, y) = *d;
+}
+
+static inline void move_chars(struct part *p, int x, int y, int nx, int ny)
+{
+ if (LEN(y) - x <= 0) return;
+ copy_chars(p, nx, ny, LEN(y) - x, &POS(x, y));
+ SLEN(y, x);
+ move_links(p, x, y, nx, ny);
+}
+
+static inline void shift_chars(struct part *p, int y, int s)
+{
+ chr *a;
+ int l = LEN(y);
+ if ((unsigned)l > MAXINT / sizeof(chr)) overalloc();
+ a = mem_alloc(l * sizeof(chr));
+ memcpy(a, &POS(0, y), l * sizeof(chr));
+ set_hchars(p, 0, y, s, ' ', p->bgcolor << 3);
+ copy_chars(p, s, y, l, a);
+ mem_free(a);
+ move_links(p, 0, y, s, y);
+}
+
+static inline void del_chars(struct part *p, int x, int y)
+{
+ SLEN(y, x);
+ move_links(p, x, y, -1, -1);
+}
+
+#define rm(x) ((x).width - (x).rightmargin > 0 ? (x).width - (x).rightmargin : 0)
+
+static void line_break(void *);
+
+static int split_line(struct part *p)
+{
+ int i;
+ for (i = rm(par_format); i >= par_format.leftmargin; i--)
+ if (i < p->spl && p->spaces[i]) goto split;
+ for (i = par_format.leftmargin; i < p->cx ; i++)
+ if (i < p->spl && p->spaces[i]) goto split;
+ if (p->cx + par_format.rightmargin > p->x) p->x = p->cx + par_format.rightmargin;
+ return 0;
+ split:
+ if (i + par_format.rightmargin > p->x) p->x = i + par_format.rightmargin;
+ if (p->data) {
+#ifdef DEBUG
+ if (POS(i, p->cy).ch != ' ') internal("bad split: %c", (unsigned char)POS(i, p->cy).ch);
+#endif
+ move_chars(p, i+1, p->cy, par_format.leftmargin, p->cy+1);
+ del_chars(p, i, p->cy);
+ }
+ memmove(p->spaces, p->spaces + i + 1, p->spl - i - 1);
+ memset(p->spaces + p->spl - i - 1, 0, i + 1);
+ memmove(p->spaces + par_format.leftmargin, p->spaces, p->spl - par_format.leftmargin);
+ p->cy++; p->cx -= i - par_format.leftmargin + 1;
+ if (p->cx == par_format.leftmargin) p->cx = -1;
+ if (p->y < p->cy + (p->cx != -1)) p->y = p->cy + (p->cx != -1);
+ return 1 + (p->cx == -1);
+}
+
+static void align_line(struct part *p, int y)
+{
+ int na;
+ if (!p->data) return;
+ if (!LEN(y) || par_format.align == AL_LEFT || par_format.align == AL_NO || par_format.align == AL_BLOCK /* !!! fixme! */) return;
+ na = rm(par_format) - LEN(y);
+ if (par_format.align == AL_CENTER) na /= 2;
+ if (na > 0) shift_chars(p, y, na);
+}
+
+struct link *new_link(struct f_data *f)
+{
+ if (!f) return NULL;
+ if (!(f->nlinks & (ALLOC_GR - 1))) {
+ if ((unsigned)f->nlinks > MAXINT / sizeof(struct link) - ALLOC_GR) overalloc();
+ f->links = mem_realloc(f->links, (f->nlinks + ALLOC_GR) * sizeof(struct link));
+ }
+ memset(&f->links[f->nlinks], 0, sizeof(struct link));
+#ifdef G
+ f->links[f->nlinks].r.x1 = MAXINT;
+ f->links[f->nlinks].r.y1 = MAXINT;
+#endif
+ return &f->links[f->nlinks++];
+}
+
+void html_tag(struct f_data *f, unsigned char *t, int x, int y)
+{
+ struct tag *tag;
+ unsigned char *tt;
+ int ll;
+ if (!f) return;
+ tt = init_str();
+ ll = 0;
+ add_conv_str(&tt, &ll, t, strlen(t), -2);
+ tag = mem_alloc(sizeof(struct tag) + strlen(tt) + 1);
+ tag->x = x;
+ tag->y = y;
+ strcpy(tag->name, tt);
+ add_to_list(f->tags, tag);
+ if ((void *)last_tag_for_newline == &f->tags) last_tag_for_newline = tag;
+ mem_free(tt);
+}
+
+unsigned char *last_link = NULL;
+unsigned char *last_target = NULL;
+unsigned char *last_image = NULL;
+struct form_control *last_form = NULL;
+struct js_event_spec *last_js_event = NULL;
+
+static int nobreak;
+
+struct conv_table *convert_table;
+
+static void put_chars(void *p_, unsigned char *c, int l)
+{
+ struct part *p = p_;
+
+ static struct text_attrib_beginning ta_cache = { -1, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, 0 };
+ static int bg_cache;
+ static int fg_cache;
+ char_t *uni_c = DUMMY;
+
+ int bg, fg;
+ int i;
+ struct link *link;
+ struct point *pt;
+ int ll;
+
+ if (l < 0) overalloc();
+
+ /*printf("%d-", p->cx);for (i=0; i<l; i++) printf("%c", c[i]); printf("-\n");sleep(1);*/
+ while (p->cx <= par_format.leftmargin && l && *c == ' ' && par_format.align != AL_NO) c++, l--;
+ if (!l) return;
+ if (p->cx < par_format.leftmargin) p->cx = par_format.leftmargin;
+ if (c[0] != ' ' || (c[1] && c[1] != ' ')) {
+ last_tag_for_newline = (void *)&p->data->tags;
+ }
+#ifdef ENABLE_UTF8
+ if (d_opt->cp == utf8_table) {
+ int pl;
+ unsigned char *cc;
+ if (p->utf8_part_len) {
+ unsigned char new_part[7];
+ unsigned char *q;
+ next_utf_byte:
+ if ((*c & 0xc0) != 0x80)
+ goto bad_utf;
+ p->utf8_part[p->utf8_part_len++] = *c;
+ p->utf8_part[p->utf8_part_len] = 0;
+ c++;
+ l--;
+ q = p->utf8_part;
+ if (!get_utf_8(&q)) {
+ if (p->utf8_part_len == sizeof(p->utf8_part) - 1)
+ goto bad_utf;
+ if (l) goto next_utf_byte;
+ return;
+ }
+ pl = p->utf8_part_len;
+ p->utf8_part_len = 0;
+ strcpy(new_part, p->utf8_part);
+ put_chars(p, new_part, pl);
+ }
+ bad_utf:
+ p->utf8_part_len = 0;
+ if (!l) return;
+ uni_c = mem_alloc(l * sizeof(char_t));
+ ll = 0;
+ cc = c;
+ next_utf_char:
+ pl = utf8chrlen(*cc);
+ if (cc - c + pl > l) {
+ memcpy(p->utf8_part, cc, p->utf8_part_len = l - (cc - c));
+ goto utf_done;
+ } else {
+ if (!pl) {
+ cc++;
+ } else {
+ unsigned un;
+ GET_UTF_8(cc, un);
+ if (un != 0xad)
+ uni_c[ll++] = un;
+ }
+ if (cc < c + l) goto next_utf_char;
+ }
+ utf_done:
+ if (!ll) {
+ mem_free(uni_c);
+ return;
+ }
+ } else
+#endif
+ {
+ ll = l;
+ }
+ if (last_link || last_image || last_form || format.link || format.image
+ || format.form || format.js_event || last_js_event
+ ) goto process_link;
+ no_l:
+ /*printf("%d %d\n",p->cx, p->cy);*/
+ if (memcmp(&ta_cache, &format, sizeof(struct text_attrib_beginning))) goto format_change;
+ bg = bg_cache, fg = fg_cache;
+ end_format_change:
+ if (p->y < p->cy + 1) p->y = p->cy + 1;
+ if (nowrap && p->cx + ll > rm(par_format)) {
+ mem_free(uni_c);
+ return;
+ }
+#ifdef ENABLE_UTF8
+ if (d_opt->cp == utf8_table) {
+ set_hline_uni(p, p->cx, p->cy, ll, uni_c, ((fg&0x08)<<3)|(bg<<3)|(fg&0x07));
+ } else
+#endif
+ {
+ set_hline(p, p->cx, p->cy, l, c, ((fg&0x08)<<3)|(bg<<3)|(fg&0x07));
+ }
+ p->cx += ll;
+ nobreak = 0;
+ if (par_format.align != AL_NO)
+ while (p->cx > rm(par_format) && p->cx > par_format.leftmargin) {
+ int x;
+ if (!(x = split_line(p))) break;
+ align_line(p, p->cy - 1);
+ nobreak = x - 1;
+ }
+ if ((p->xa += ll) - (c[l-1] == ' ' && par_format.align != AL_NO) + par_format.leftmargin + par_format.rightmargin > p->xmax) p->xmax = p->xa - (c[l-1] == ' ' && par_format.align != AL_NO) + par_format.leftmargin + par_format.rightmargin;
+ mem_free(uni_c);
+ return;
+
+ /* !!! WARNING: THE FOLLOWING CODE IS SHADOWED IN HTML_GR.C */
+
+ process_link:
+ if ((last_link || last_image || last_form) &&
+ !xstrcmp(format.link, last_link) && !xstrcmp(format.target, last_target) &&
+ !xstrcmp(format.image, last_image) && format.form == last_form
+ && ((!format.js_event && !last_js_event) || !compare_js_event_spec(format.js_event, last_js_event))
+ ) {
+ if (!p->data) goto x;
+ link = &p->data->links[p->data->nlinks - 1];
+ if (!p->data->nlinks) {
+ internal("no link");
+ goto no_l;
+ }
+ goto set_link;
+ x:;
+ } else {
+ if (last_link) mem_free(last_link);
+ if (last_target) mem_free(last_target);
+ if (last_image) mem_free(last_image);
+ free_js_event_spec(last_js_event);
+ last_link = last_target = last_image = NULL;
+ last_form = NULL;
+ last_js_event = NULL;
+ if (!(format.link || format.image || format.form || format.js_event)) goto no_l;
+ if (d_opt->num_links || d_opt->braille) {
+ unsigned char s[64];
+ unsigned char *fl = format.link, *ft = format.target, *fi = format.image;
+ struct form_control *ff = format.form;
+ struct js_event_spec *js = format.js_event;
+ format.link = format.target = format.image = NULL;
+ format.form = NULL;
+ format.js_event = NULL;
+ if (d_opt->num_links) {
+ s[0] = '[';
+ snzprint(s + 1, 62, p->link_num);
+ strcat(s, "]");
+ } else {
+ if (ff && (ff->type == FC_TEXT || ff->type == FC_PASSWORD || ff->type == FC_FILE || ff->type == FC_TEXTAREA)) {
+ strcpy(s, ">");
+ } else if (ff && (ff->type == FC_CHECKBOX || ff->type == FC_RADIO || ff->type == FC_SELECT)) {
+ strcpy(s, "");
+ } else {
+ strcpy(s, "~");
+ }
+ }
+ put_chars(p, s, strlen(s));
+ if (ff && ff->type == FC_TEXTAREA) line_break(p);
+ if (p->cx < par_format.leftmargin) p->cx = par_format.leftmargin;
+ format.link = fl, format.target = ft, format.image = fi;
+ format.form = ff;
+ format.js_event = js;
+ }
+ p->link_num++;
+ last_link = stracpy(format.link);
+ last_target = stracpy(format.target);
+ last_image = stracpy(format.image);
+ last_form = format.form;
+ copy_js_event_spec(&last_js_event, format.js_event);
+ if (!p->data) goto no_l;
+ if (!(link = new_link(p->data))) goto no_l;
+ link->num = p->link_num - 1;
+ link->pos = DUMMY;
+ copy_js_event_spec(&link->js_event, format.js_event);
+ if (!last_form) {
+ link->type = L_LINK;
+ link->where = stracpy(last_link);
+ link->target = stracpy(last_target);
+ } else {
+ link->type = last_form->type == FC_TEXT || last_form->type == FC_PASSWORD || last_form->type == FC_FILE ? L_FIELD : last_form->type == FC_TEXTAREA ? L_AREA : last_form->type == FC_CHECKBOX || last_form->type == FC_RADIO ? L_CHECKBOX : last_form->type == FC_SELECT ? L_SELECT : L_BUTTON;
+ link->form = last_form;
+ link->target = stracpy(last_form->target);
+ }
+ link->where_img = stracpy(last_image);
+ if (link->type != L_FIELD && link->type != L_AREA) {
+ bg = find_nearest_color(&format.clink, 8);
+ fg = find_nearest_color(&format.bg, 8);
+ fg = fg_color(fg, bg);
+ } else {
+ fg = find_nearest_color(&format.fg, 8);
+ bg = find_nearest_color(&format.bg, 8);
+ fg = fg_color(fg, bg);
+ }
+ link->sel_color = ((fg & 8) << 3) | (fg & 7) | (bg << 3);
+ link->n = 0;
+ set_link:
+ if ((unsigned)link->n + (unsigned)ll > MAXINT / sizeof(struct point)) overalloc();
+ pt = mem_realloc(link->pos, (link->n + ll) * sizeof(struct point));
+ link->pos = pt;
+ for (i = 0; i < ll; i++) pt[link->n + i].x = X(p->cx) + i,
+ pt[link->n + i].y = Y(p->cy);
+ link->n += ll;
+ }
+ goto no_l;
+
+ format_change:
+ bg = find_nearest_color(&format.bg, 8);
+ fg = find_nearest_color(&format.fg, 16);
+ fg = fg_color(fg, bg);
+ if (format.attr & AT_ITALIC) fg = fg ^ 0x01;
+ if (format.attr & AT_UNDERLINE) fg = (fg ^ 0x04) | 0x08;
+ if (format.attr & AT_BOLD) fg = fg | 0x08;
+ fg = fg_color(fg, bg);
+ if (format.attr & AT_GRAPHICS) bg = bg | 0x10;
+ memcpy(&ta_cache, &format, sizeof(struct text_attrib_beginning));
+ fg_cache = fg; bg_cache = bg;
+ goto end_format_change;
+}
+
+static void line_break(void *p_)
+{
+ struct part *p = p_;
+ struct tag *t;
+ /*printf("-break-\n");*/
+ if (p->cx + par_format.rightmargin > p->x) p->x = p->cx + par_format.rightmargin;
+ if (nobreak) {
+ nobreak = 0;
+ p->cx = -1;
+ p->xa = 0;
+ return;
+ }
+ if (!p->data) goto e;
+ xpand_lines(p, p->cy + 1);
+ if (p->cx > par_format.leftmargin && LEN(p->cy) > p->cx - 1 && POS(p->cx-1, p->cy).ch == ' ') del_chars(p, p->cx-1, p->cy), p->cx--;
+ if (p->cx > 0) align_line(p, p->cy);
+ if (p->data) for (t = last_tag_for_newline; t && (void *)t != &p->data->tags; t = t->prev) {
+ t->x = X(0);
+ t->y = Y(p->cy + 1);
+ }
+ e:
+ p->cy++; p->cx = -1; p->xa = 0;
+ if (p->spl > d_opt->xw) p->spl = d_opt->xw;
+ memset(p->spaces, 0, p->spl);
+}
+
+int g_ctrl_num;
+
+/* SHADOWED IN g_html_form_control */
+static void html_form_control(struct part *p, struct form_control *fc)
+{
+ if (!p->data) {
+ add_to_list(p->uf, fc);
+ return;
+ }
+ fc->g_ctrl_num = g_ctrl_num++;
+ if (fc->type == FC_TEXT || fc->type == FC_PASSWORD || fc->type == FC_TEXTAREA) {
+ unsigned char *dv = convert_string(convert_table, fc->default_value, strlen(fc->default_value), d_opt);
+ if (dv) {
+ mem_free(fc->default_value);
+ fc->default_value = dv;
+ }
+ }
+ if (fc->type == FC_TEXTAREA) {
+ unsigned char *p;
+ for (p = fc->default_value; p[0]; p++) if (p[0] == '\r') {
+ if (p[1] == '\n') memmove(p, p + 1, strlen(p)), p--;
+ else p[0] = '\n';
+ }
+ }
+ add_to_list(p->data->forms, fc);
+}
+
+static void add_frameset_entry(struct frameset_desc *fsd, struct frameset_desc *subframe, unsigned char *name, unsigned char *url, int marginwidth, int marginheight, unsigned char scrolling)
+{
+ if (fsd->yp >= fsd->y) return;
+ fsd->f[fsd->xp + fsd->yp * fsd->x].subframe = subframe;
+ fsd->f[fsd->xp + fsd->yp * fsd->x].name = stracpy(name);
+ fsd->f[fsd->xp + fsd->yp * fsd->x].url = stracpy(url);
+ fsd->f[fsd->xp + fsd->yp * fsd->x].marginwidth = marginwidth;
+ fsd->f[fsd->xp + fsd->yp * fsd->x].marginheight = marginheight;
+ fsd->f[fsd->xp + fsd->yp * fsd->x].scrolling = scrolling;
+ if (++fsd->xp >= fsd->x) fsd->xp = 0, fsd->yp++;
+}
+
+struct frameset_desc *create_frameset(struct f_data *fda, struct frameset_param *fp)
+{
+ int i;
+ struct frameset_desc *fd;
+ if (!fp->x || !fp->y) {
+ internal("zero size of frameset");
+ return NULL;
+ }
+ if (fp->x && (unsigned)fp->x * (unsigned)fp->y / (unsigned)fp->x != (unsigned)fp->y) overalloc();
+ if ((unsigned)fp->x * (unsigned)fp->y > (MAXINT - sizeof(struct frameset_desc)) / sizeof(struct frame_desc)) overalloc();
+ fd = mem_calloc(sizeof(struct frameset_desc) + fp->x * fp->y * sizeof(struct frame_desc));
+ fd->n = fp->x * fp->y;
+ fd->x = fp->x;
+ fd->y = fp->y;
+ for (i = 0; i < fd->n; i++) {
+ fd->f[i].xw = fp->xw[i % fp->x];
+ fd->f[i].yw = fp->yw[i / fp->x];
+ }
+ if (fp->parent) add_frameset_entry(fp->parent, fd, NULL, NULL, -1, -1, SCROLLING_AUTO);
+ else if (!fda->frame_desc) fda->frame_desc = fd;
+ else mem_free(fd), fd = NULL;
+ return fd;
+}
+
+void create_frame(struct frame_param *fp)
+{
+ add_frameset_entry(fp->parent, NULL, fp->name, fp->url, fp->marginwidth, fp->marginheight, fp->scrolling);
+}
+
+void process_script(struct f_data *f, unsigned char *t)
+{
+ if (t && !f->script_href_base) f->script_href_base = stracpy(format.href_base);
+ if (!d_opt->js_enable) return;
+ if (t) {
+ unsigned char *u;
+ u = join_urls(f->script_href_base, t);
+ if (u) {
+ request_additional_file(f, u);
+ mem_free(u);
+ }
+ }
+ f->are_there_scripts = 1;
+}
+
+void set_base(struct f_data *f, unsigned char *t)
+{
+ if (!f->script_href_base) f->script_href_base = stracpy(format.href_base);
+}
+
+void html_process_refresh(struct f_data *f, unsigned char *url, int time)
+{
+ if (!f) return;
+ if (f->refresh) return;
+ if (!url) f->refresh = stracpy(f->rq->url);
+ else f->refresh = join_urls(f->rq->url, url);
+ f->refresh_seconds = time;
+}
+
+static void *html_special(void *p_, int c, ...)
+{
+ struct part *p = p_;
+ va_list l;
+ unsigned char *t;
+ struct form_control *fc;
+ struct frameset_param *fsp;
+ struct frame_param *fp;
+ struct refresh_param *rp;
+ va_start(l, c);
+ switch (c) {
+ case SP_TAG:
+ t = va_arg(l, unsigned char *);
+ va_end(l);
+ html_tag(p->data, t, X(p->cx), Y(p->cy));
+ break;
+ case SP_CONTROL:
+ fc = va_arg(l, struct form_control *);
+ va_end(l);
+ html_form_control(p, fc);
+ break;
+ case SP_TABLE:
+ return convert_table;
+ case SP_USED:
+ return (void *)(my_intptr_t)!!p->data;
+ case SP_FRAMESET:
+ fsp = va_arg(l, struct frameset_param *);
+ va_end(l);
+ return create_frameset(p->data, fsp);
+ case SP_FRAME:
+ fp = va_arg(l, struct frame_param *);
+ va_end(l);
+ create_frame(fp);
+ break;
+ case SP_NOWRAP:
+ nowrap = va_arg(l, int);
+ va_end(l);
+ break;
+ case SP_SCRIPT:
+ t = va_arg(l, unsigned char *);
+ va_end(l);
+ if (p->data) process_script(p->data, t);
+ break;
+ case SP_REFRESH:
+ rp = va_arg(l, struct refresh_param *);
+ va_end(l);
+ html_process_refresh(p->data, rp->url, rp->time);
+ break;
+ case SP_SET_BASE:
+ t = va_arg(l, unsigned char *);
+ va_end(l);
+ if (p->data) set_base(p->data, t);
+ break;
+ default:
+ va_end(l);
+ internal("html_special: unknown code %d", c);
+ }
+ return NULL;
+}
+
+static void do_format(unsigned char *start, unsigned char *end, struct part *part, unsigned char *head)
+{
+ pr(
+ parse_html(start, end, (void (*)(void *, unsigned char *, int))put_chars, line_break, (void *(*)(void *, int, ...))html_special, part, head);
+ ) {};
+}
+
+int margin;
+
+struct table_cache_entry {
+ struct table_cache_entry *next;
+ struct table_cache_entry *prev;
+ struct table_cache_entry *hash_next;
+ unsigned char *start;
+ unsigned char *end;
+ int align;
+ int m;
+ int width;
+ int xs;
+ int link_num;
+ struct part p;
+};
+
+static struct list_head table_cache = { &table_cache, &table_cache };
+
+#define TC_HASH_SIZE 4096
+
+static struct table_cache_entry *table_cache_hash[TC_HASH_SIZE];
+
+void free_table_cache(void)
+{
+ struct table_cache_entry *tce;
+ foreach(tce, table_cache) {
+ int hash = ((int)(unsigned long)tce->start + tce->xs) & (TC_HASH_SIZE - 1);
+ table_cache_hash[hash] = NULL;
+ }
+ free_list(table_cache);
+}
+
+struct part *format_html_part(unsigned char *start, unsigned char *end, int align, int m, int width, struct f_data *data, int xs, int ys, unsigned char *head, int link_num)
+{
+ struct part *p;
+ struct html_element *e;
+ int llm = last_link_to_move;
+ struct tag *ltm = last_tag_to_move;
+ int lm = margin;
+ int ef = empty_format;
+ struct form_control *fc;
+ struct table_cache_entry *tce;
+ if (!data) {
+ tce = table_cache_hash[((int)(unsigned long)start + xs) & (TC_HASH_SIZE - 1)];
+ while (tce) {
+ if (tce->start == start && tce->end == end && tce->align == align && tce->m == m && tce->width == width && tce->xs == xs && tce->link_num == link_num) {
+ p = mem_alloc(sizeof(struct part));
+ memcpy(p, &tce->p, sizeof(struct part));
+ return p;
+ }
+ tce = tce->hash_next;
+ }
+ }
+ if (ys < 0) {
+ internal("format_html_part: ys == %d", ys);
+ return NULL;
+ }
+ if (data) {
+ struct node *n;
+ n = mem_alloc(sizeof(struct node));
+ n->x = xs;
+ n->y = ys;
+ n->xw = !table_level ? MAXINT : width;
+ add_to_list(data->nodes, n);
+ }
+ last_link_to_move = data ? data->nlinks : 0;
+ last_tag_to_move = data ? (void *)&data->tags : NULL;
+ last_tag_for_newline = data ? (void *)&data->tags: NULL;
+ margin = m;
+ empty_format = !data;
+ if (last_link) mem_free(last_link);
+ if (last_image) mem_free(last_image);
+ if (last_target) mem_free(last_target);
+ free_js_event_spec(last_js_event);
+ last_link = last_image = last_target = NULL;
+ last_form = NULL;
+ last_js_event = NULL;
+ nobreak = align != AL_NO;
+ p = mem_calloc(sizeof(struct part));
+ /*p->x = p->y = 0;*/
+ p->data = data;
+ p->xp = xs; p->yp = ys;
+ /*p->xmax = p->xa = 0;*/
+ p->bgcolor = find_nearest_color(&par_format.bgcolor, 8);
+ p->spaces = DUMMY;
+ /*p->spl = 0;*/
+ p->link_num = link_num;
+ init_list(p->uf);
+ html_stack_dup();
+ e = &html_top;
+ html_top.dontkill = 2;
+ html_top.namelen = 0;
+ par_format.align = align;
+ par_format.leftmargin = m;
+ par_format.rightmargin = m;
+ par_format.width = width;
+ par_format.list_level = 0;
+ par_format.list_number = 0;
+ par_format.dd_margin = 0;
+ p->cx = -1;
+ p->cy = 0;
+ do_format(start, end, p, head);
+ if (p->xmax < p->x) p->xmax = p->x;
+ if (align == AL_NO) {
+ if (p->cy > p->y)
+ p->y = p->cy;
+ }
+ nobreak = 0;
+ line_breax = 1;
+ if (last_link) mem_free(last_link);
+ if (last_image) mem_free(last_image);
+ if (last_target) mem_free(last_target);
+ free_js_event_spec(last_js_event);
+ while (&html_top != e) {
+ kill_html_stack_item(&html_top);
+ if (!&html_top || (void *)&html_top == (void *)&html_stack) {
+ internal("html stack trashed");
+ break;
+ }
+ }
+ html_top.dontkill = 0;
+ kill_html_stack_item(&html_top);
+ mem_free(p->spaces);
+ if (data) {
+ struct node *n = data->nodes.next;
+ n->yw = ys - n->y + p->y;
+ }
+ foreach(fc, p->uf) destroy_fc(fc);
+ free_list(p->uf);
+ last_link_to_move = llm;
+ last_tag_to_move = ltm;
+ margin = lm;
+ empty_format = ef;
+ last_link = last_image = last_target = NULL;
+ last_form = NULL;
+ last_js_event = NULL;
+
+ if (table_level > 1 && !data) {
+ int hash;
+ tce = mem_alloc(sizeof(struct table_cache_entry));
+ tce->start = start;
+ tce->end = end;
+ tce->align = align;
+ tce->m = m;
+ tce->width = width;
+ tce->xs = xs;
+ tce->link_num = link_num;
+ memcpy(&tce->p, p, sizeof(struct part));
+ add_to_list(table_cache, tce);
+ hash = ((int)(unsigned long)start + xs) & (TC_HASH_SIZE - 1);
+ tce->hash_next = table_cache_hash[hash];
+ table_cache_hash[hash] = tce;
+ }
+ return p;
+}
+
+static void release_part(struct part *p)
+{
+ mem_free(p);
+}
+
+static void push_base_format(unsigned char *url, struct document_options *opt, int frame)
+{
+ struct html_element *e;
+ if (html_stack.next != &html_stack) {
+ internal("something on html stack");
+ init_list(html_stack);
+ }
+ e = mem_calloc(sizeof(struct html_element));
+ add_to_list(html_stack, e);
+ format.attr = opt->plain & 1 ? AT_FIXED : 0;
+ format.fontsize = 3;
+ format.link = format.target = format.image = format.select = NULL;
+ format.form = NULL;
+ memcpy(&format.fg, &opt->default_fg, sizeof(struct rgb));
+ memcpy(&format.bg, &opt->default_bg, sizeof(struct rgb));
+ memcpy(&format.clink, &opt->default_link, sizeof(struct rgb));
+ format.href_base = stracpy(url);
+ format.target_base = stracpy(opt->framename);
+ par_format.align = opt->plain & 1 ? AL_NO : AL_LEFT;
+ par_format.leftmargin = opt->plain & 1 ? 0 : opt->margin;
+ par_format.rightmargin = opt->plain & 1 ? 0 : opt->margin;
+ if (frame && par_format.leftmargin) par_format.leftmargin = 1;
+ if (frame && par_format.rightmargin) par_format.rightmargin = 1;
+ par_format.width = opt->xw;
+ par_format.list_level = par_format.list_number = 0;
+ par_format.dd_margin = opt->margin;
+ par_format.flags = 0;
+ memcpy(&par_format.bgcolor, &opt->default_bg, sizeof(struct rgb));
+ html_top.invisible = 0;
+ html_top.name = NULL; html_top.namelen = 0; html_top.options = NULL;
+ html_top.linebreak = 1;
+ html_top.dontkill = 1;
+}
+
+struct conv_table *get_convert_table(unsigned char *head, int to, int def, int *frm, int *aa, int hard)
+{
+ int from = -1;
+ unsigned char *a, *b;
+ unsigned char *p = head;
+ while (from == -1 && p && (a = parse_http_header(p, "Content-Type", &p))) {
+ if ((b = parse_header_param(a, "charset", 0))) {
+ from = get_cp_index(b);
+ mem_free(b);
+ }
+ mem_free(a);
+ }
+ if (from == -1 && head && (a = parse_http_header(head, "Content-Charset", NULL))) {
+ from = get_cp_index(a);
+ mem_free(a);
+ }
+ if (from == -1 && head && (a = parse_http_header(head, "Charset", NULL))) {
+ from = get_cp_index(a);
+ mem_free(a);
+ }
+ if (aa) {
+ *aa = from == -1;
+ if (hard && !*aa) *aa = 2;
+ }
+ if (hard || from == -1) from = def;
+ if (frm) *frm = from;
+ return get_translation_table(from, to);
+}
+
+struct document_options dd_opt;
+
+struct document_options *d_opt = &dd_opt;
+
+struct f_data *current_f_data = NULL;
+
+void really_format_html(struct cache_entry *ce, unsigned char *start, unsigned char *end, struct f_data *screen, int frame)
+{
+ unsigned char *url = ce->url;
+ unsigned char *head, *t;
+ int hdl;
+ int i;
+ unsigned char *bg = NULL, *bgcolor = NULL;
+ int bg_col, fg_col;
+ current_f_data = screen;
+ memset(table_cache_hash, 0, sizeof(table_cache_hash));
+ d_opt = &screen->opt;
+ screen->use_tag = ce->count;
+ startf = start;
+ eofff = end;
+ head = init_str(), hdl = 0;
+ if (ce->head) add_to_str(&head, &hdl, ce->head);
+ scan_http_equiv(start, end, &head, &hdl, &t, d_opt->plain ? NULL : &bg, d_opt->plain || d_opt->col < 2 ? NULL : &bgcolor, &screen->js_event);
+ if (d_opt->plain) *t = 0;
+ convert_table = get_convert_table(head, screen->opt.cp, screen->opt.assume_cp, &screen->cp, &screen->ass, screen->opt.hard_assume);
+ screen->opt.real_cp = screen->cp;
+ i = d_opt->plain; d_opt->plain = 0;
+ screen->title = convert_string(convert_table, t, strlen(t), d_opt);
+ d_opt->plain = i;
+ mem_free(t);
+ push_base_format(url, &screen->opt, frame);
+ table_level = 0;
+ g_ctrl_num = 0;
+ last_form_tag = NULL;
+ last_form_attr = NULL;
+ last_input_tag = NULL;
+ if (!F) {
+ struct part *rp;
+ if ((rp = format_html_part(start, end, par_format.align, par_format.leftmargin, screen->opt.xw, screen, 0, 0, head, 1))) release_part(rp);
+#ifdef G
+ } else {
+ struct g_part *rp;
+ if ((rp = g_format_html_part(start, end, par_format.align, par_format.leftmargin, screen->opt.xw - G_SCROLL_BAR_WIDTH, head, 1, bg, bgcolor, screen))) {
+ int w = screen->opt.xw;
+ int h = screen->opt.yw;
+ screen->x = rp->x;
+ screen->y = rp->root->yw;
+ if (screen->x > w) w = screen->x;
+ if (screen->y > h) h = screen->y;
+ g_x_extend_area(rp->root, w, h, AL_LEFT);
+ screen->root = (struct g_object *)rp->root, rp->root = NULL;
+ g_release_part(rp);
+ mem_free(rp);
+ get_parents(screen, screen->root);
+ }
+#endif
+ }
+ mem_free(head);
+ if (bg) mem_free(bg);
+ if (bgcolor) mem_free(bgcolor);
+ if (!F) {
+ screen->x = 0;
+ for (i = screen->y - 1; i >= 0; i--) {
+ if (!screen->data[i].l) mem_free(screen->data[i].d), screen->y--;
+ else break;
+ }
+ for (i = 0; i < screen->y; i++) if (screen->data[i].l > screen->x) screen->x = screen->data[i].l;
+ }
+ if (form.action) mem_free(form.action), form.action = NULL;
+ if (form.target) mem_free(form.target), form.target = NULL;
+ if (form.form_name) mem_free(form.form_name), form.form_name = NULL;
+ if (form.onsubmit) mem_free(form.onsubmit), form.onsubmit = NULL;
+ bg_col = find_nearest_color(&format.bg, 8);
+ fg_col = find_nearest_color(&format.fg, 16);
+ fg_col = fg_color(fg_col, bg_col);
+ screen->bg = (bg_col << 3) | (fg_col & 7) | ((fg_col & 8) << 3);
+ kill_html_stack_item(html_stack.next);
+ if (html_stack.next != &html_stack) {
+ internal("html stack not empty after operation");
+ init_list(html_stack);
+ }
+ sort_links(screen);
+ current_f_data = NULL;
+ d_opt = &dd_opt;
+}
+
+int compare_opt(struct document_options *o1, struct document_options *o2)
+{
+ double kdo_si_hraje_nezlobi____a_nebo_to_je_PerM=o1->bfu_aspect-o2->bfu_aspect;
+
+ if (o1->xw == o2->xw &&
+ o1->yw == o2->yw &&
+ o1->xp == o2->xp &&
+ o1->yp == o2->yp &&
+ o1->scrolling == o2->scrolling &&
+ o1->col == o2->col &&
+ o1->cp == o2->cp &&
+ o1->assume_cp == o2->assume_cp &&
+ o1->hard_assume == o2->hard_assume &&
+ o1->braille == o2->braille &&
+ o1->tables == o2->tables &&
+ o1->frames == o2->frames &&
+ o1->images == o2->images &&
+ o1->image_names == o2->image_names &&
+ o1->margin == o2->margin &&
+ o1->js_enable == o2->js_enable &&
+ o1->plain == o2->plain &&
+ o1->num_links == o2->num_links &&
+ o1->table_order == o2->table_order &&
+ o1->auto_refresh == o2->auto_refresh &&
+ o1->font_size == o2->font_size &&
+ o1->display_images == o2->display_images &&
+ o1->image_scale == o2->image_scale &&
+ o1->porn_enable == o2->porn_enable &&
+ o1->aspect_on == o2->aspect_on &&
+ !memcmp(&o1->default_fg, &o2->default_fg, sizeof(struct rgb)) &&
+ !memcmp(&o1->default_bg, &o2->default_bg, sizeof(struct rgb)) &&
+ !memcmp(&o1->default_link, &o2->default_link, sizeof(struct rgb)) &&
+ kdo_si_hraje_nezlobi____a_nebo_to_je_PerM<=0.0001 &&
+ kdo_si_hraje_nezlobi____a_nebo_to_je_PerM>=-0.0001 &&
+ ((o1->framename && o2->framename && !strcasecmp(o1->framename, o2->framename)) || (!o1->framename && !o2->framename))) return 0;
+ return 1;
+}
+
+void copy_opt(struct document_options *o1, struct document_options *o2)
+{
+ memcpy(o1, o2, sizeof(struct document_options));
+ o1->framename = stracpy(o2->framename);
+}
+
+struct link *get_link_at_location(struct f_data *f, int x, int y)
+{
+ struct link *l1, *l2, *l;
+ if (y < 0 || y >= f->y) return NULL;
+ l1 = f->lines1[y];
+ l2 = f->lines2[y];
+ if (!l1 || !l2) return NULL;
+ for (l = l1; l <= l2; l++) {
+ int i;
+ for (i = 0; i < l->n; i++) if (l->pos[i].x == x && l->pos[i].y == y) return l;
+ }
+ return NULL;
+}
+
+static void add_srch_chr(struct f_data *f, unsigned c, int x, int y, int nn)
+{
+ int n = f->nsearch;
+ if (c == ' ' && (!n || f->search[n - 1].c == ' ')) return;
+ if (c == '_') {
+ struct link *l = get_link_at_location(f, x, y);
+ if (l && (l->type == L_SELECT || l->type == L_FIELD || l->type == L_AREA))
+ return;
+ }
+ f->search[n].c = c;
+ f->search[n].x = x;
+ f->search[n].y = y;
+ f->search[n].n = nn;
+ f->nsearch++;
+}
+
+static void sort_srch(struct f_data *f)
+{
+ int i;
+ int *min, *max;
+ if ((unsigned)f->y > MAXINT / sizeof(struct search *)) overalloc();
+ if ((unsigned)f->y > MAXINT / sizeof(int)) overalloc();
+ f->slines1 = mem_calloc(f->y * sizeof(struct search *));
+ f->slines2 = mem_calloc(f->y * sizeof(struct search *));
+ min = mem_alloc(f->y * sizeof(int));
+ max = mem_alloc(f->y * sizeof(int));
+ for (i = 0; i < f->y; i++) min[i] = MAXINT, max[i] = 0;
+ for (i = 0; i < f->nsearch; i++) {
+ struct search *s = &f->search[i];
+ if (s->x < min[s->y]) min[s->y] = s->x, f->slines1[s->y] = s;
+ if (s->x + s->n > max[s->y]) max[s->y] = s->x + s->n, f->slines2[s->y] = s;
+ }
+ mem_free(min);
+ mem_free(max);
+}
+
+static inline int is_spc(chr *cc)
+{
+ return cc->ch <= ' ' || cc->at & ATTR_FRAME;
+}
+
+static int get_srch(struct f_data *f)
+{
+ struct node *n;
+ int cnt = 0;
+ int cc = !f->search;
+#define add_srch(c_, x_, y_, n_) \
+do { \
+ if (!cc) { \
+ add_srch_chr(f, c_, x_, y_, n_);\
+ } else { \
+ if (cnt == MAXINT) return -1; \
+ cnt++; \
+ } \
+} while (0)
+ foreachback(n, f->nodes) {
+ int x, y;
+ int xm = n->x + n->xw, ym = n->y + n->yw;
+ /*printf("%d %d - %d %d\n", n->x, n->y, xm, ym);
+ fflush(stdout);*/
+ for (y = n->y; y < ym && y < f->y; y++) {
+ int ns = 1;
+ for (x = n->x; x < xm && x < f->data[y].l; x++) {
+ unsigned c = f->data[y].d[x].ch;
+ if (is_spc(&f->data[y].d[x])) c = ' ';
+ if (c == ' ' && ns) continue;
+ c = charset_upcase(c, f->opt.cp);
+ if (ns) {
+ add_srch(c, x, y, 1);
+ ns = 0;
+ continue;
+ }
+ if (c != ' ') {
+ add_srch(c, x, y, 1);
+ } else {
+ int xx;
+ for (xx = x + 1; xx < xm && xx < f->data[y].l; xx++) if (!is_spc(&f->data[y].d[xx])) goto ja_uz_z_toho_programovani_asi_zcvoknu;
+ xx = x;
+ ja_uz_z_toho_programovani_asi_zcvoknu:
+ /* uz jsem zcvoknul, trpim poruchou osobnosti */
+ add_srch(' ', x, y, xx - x);
+ if (xx == x) goto uz_jsem_zcvoknul__jsem_psychopat__trpim_poruchou_osobnosti;
+ x = xx - 1;
+ }
+ }
+ uz_jsem_zcvoknul__jsem_psychopat__trpim_poruchou_osobnosti:
+ add_srch(' ', x, y, 0);
+ }
+ }
+#undef add_srch
+ return cnt;
+}
+
+int get_search_data(struct f_data *f)
+{
+ int n;
+ struct search *ra;
+ if (f->search) return 0;
+ n = get_srch(f);
+ f->nsearch = 0;
+ if (n < 0) return -1;
+ if ((unsigned)n > MAXINT / sizeof(struct search)) return -1;
+ f->search = mem_alloc_mayfail(n * sizeof(struct search));
+ if (!f->search) return -1;
+ get_srch(f);
+ while (f->nsearch && f->search[f->nsearch - 1].c == ' ') f->nsearch--;
+ ra = mem_realloc_mayfail(f->search, f->nsearch * sizeof(struct search));
+ if (ra) f->search = ra;
+ sort_srch(f);
+ return 0;
+}
diff --git a/html_tbl.c b/html_tbl.c
new file mode 100644
index 0000000..0f79ea2
--- /dev/null
+++ b/html_tbl.c
@@ -0,0 +1,1831 @@
+/* html_tbl.c
+ * Tables in HTML
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+#define format format_
+
+#ifdef DEBUG
+#undef DEBUG
+#endif
+
+/*#define DEBUG*/
+
+#define RECT_BOUND_BITS 10 /* --- bound at 1024 pixels */
+
+#define AL_TR -1
+
+#define VAL_TR -1
+#define VAL_TOP 0
+#define VAL_MIDDLE 1
+#define VAL_BOTTOM 2
+
+#define W_AUTO -1
+#define W_REL -2
+
+#define F_VOID 0
+#define F_ABOVE 1
+#define F_BELOW 2
+#define F_HSIDES 3
+#define F_LHS 4
+#define F_RHS 8
+#define F_VSIDES 12
+#define F_BOX 15
+
+#define R_NONE 0
+#define R_ROWS 1
+#define R_COLS 2
+#define R_ALL 3
+#define R_GROUPS 4
+
+static void get_align(unsigned char *attr, int *a)
+{
+ unsigned char *al;
+ if ((al = get_attr_val(attr, "align"))) {
+ if (!(strcasecmp(al, "left"))) *a = AL_LEFT;
+ if (!(strcasecmp(al, "right"))) *a = AL_RIGHT;
+ if (!(strcasecmp(al, "center"))) *a = AL_CENTER;
+ if (!(strcasecmp(al, "justify"))) *a = AL_BLOCK;
+ if (!(strcasecmp(al, "char"))) *a = AL_RIGHT; /* NOT IMPLEMENTED */
+ mem_free(al);
+ }
+}
+
+static void get_valign(unsigned char *attr, int *a)
+{
+ unsigned char *al;
+ if ((al = get_attr_val(attr, "valign"))) {
+ if (!(strcasecmp(al, "top"))) *a = VAL_TOP;
+ if (!(strcasecmp(al, "middle"))) *a = VAL_MIDDLE;
+ if (!(strcasecmp(al, "bottom"))) *a = VAL_BOTTOM;
+ if (!(strcasecmp(al, "baseline"))) *a = VAL_TOP; /* NOT IMPLEMENTED */
+ mem_free(al);
+ }
+}
+
+static void get_c_width(unsigned char *attr, int *w, int sh)
+{
+ unsigned char *al;
+ if ((al = get_attr_val(attr, "width"))) {
+ if (*al && al[strlen(al) - 1] == '*') {
+ unsigned char *en;
+ unsigned long n;
+ al[strlen(al) - 1] = 0;
+ n = strtoul(al, (char **)(void *)&en, 10);
+ if (n < 10000 && !*en) *w = W_REL - n;
+ } else {
+ int p = get_width(attr, "width", sh);
+ if (p >= 0) *w = p;
+ }
+ mem_free(al);
+ }
+}
+
+#define INIT_X 8
+#define INIT_Y 8
+
+struct table_cell {
+ int used;
+ int spanned;
+ int mx, my;
+ unsigned char *start;
+ unsigned char *end;
+ int align;
+ int valign;
+ int b;
+ struct rgb bgcolor;
+ int group;
+ int colspan;
+ int rowspan;
+ int min_width;
+ int max_width;
+ int x_width;
+ int height;
+ int xpos, ypos, xw, yw;
+ int link_num;
+#ifdef G
+ unsigned char bgcolor_str[8];
+ struct g_object_area *root;
+ struct rect_set *brd;
+ int g_width;
+ struct rect rect;
+ tcount dgen;
+#endif
+};
+
+struct table_column {
+ int group;
+ int align;
+ int valign;
+ int width;
+};
+
+struct table {
+ struct part *p;
+#ifdef G
+ struct g_part *gp;
+#endif
+ int x, y;
+ int rx, ry;
+ int align;
+ int border, cellpd, vcellpd, cellsp;
+ int frame, rules, width, wf;
+ unsigned char *bordercolor;
+ int *min_c, *max_c;
+ int *w_c;
+ int rw;
+ int min_t, max_t;
+ struct table_cell *cells;
+ int c, rc;
+ struct table_column *cols;
+ int xc;
+ int *xcols;
+ int *r_heights;
+ int rh;
+ int link_num;
+ struct rgb bgcolor;
+#ifdef G
+ struct background *bg;
+ struct background *frame_bg;
+ struct rect_set **r_bg;
+ int nr_bg;
+ struct rect_set **r_frame;
+ int nr_frame;
+ struct table_cell ***r_cells;
+ int *w_cells;
+ int nr_cells;
+#endif
+};
+
+
+#ifdef DEBUG
+#define CELL(t, x, y) (((x) < 0 || (x) >= (t)->rx || (y) < 0 || (y) >= (t)->ry) ? (internal("accessing cell out of table (%d,%d) - limit (%d,%d)", (x), (y), (t)->rx, (t)->ry), (t)->cells) : &(t)->cells[(y) * (t)->rx + (x)])
+#else
+#define CELL(t, x, y) (&(t)->cells[(y) * (t)->rx + (x)])
+#endif
+
+static unsigned char frame_table[81] = {
+ 0x00, 0xb3, 0xba, 0xc4, 0xc0, 0xd3, 0xcd, 0xd4, 0xc8,
+ 0xc4, 0xd9, 0xbd, 0xc4, 0xc1, 0xd0, 0xcd, 0xd4, 0xc8,
+ 0xcd, 0xbe, 0xbc, 0xcd, 0xbe, 0xbc, 0xcd, 0xcf, 0xca,
+
+ 0xb3, 0xb3, 0xba, 0xda, 0xc3, 0xd3, 0xd5, 0xc6, 0xc8,
+ 0xbf, 0xb4, 0xbd, 0xc2, 0xc5, 0xd0, 0xd5, 0xc6, 0xc8,
+ 0xb8, 0xb5, 0xbc, 0xb8, 0xb5, 0xbc, 0xd1, 0xd8, 0xca,
+
+ 0xba, 0xba, 0xba, 0xd6, 0xd6, 0xc7, 0xc9, 0xc9, 0xcc,
+ 0xb7, 0xb7, 0xb6, 0xd2, 0xd2, 0xd7, 0xc9, 0xc9, 0xcc,
+ 0xbb, 0xbb, 0xb9, 0xbb, 0xbb, 0xb9, 0xcb, 0xcb, 0xce,
+};
+
+static unsigned char hline_table[3] = { 0x20, 0xc4, 0xcd };
+static unsigned char vline_table[3] = { 0x20, 0xb3, 0xba };
+
+static struct table *new_table(void)
+{
+ struct table *t;
+ t = mem_calloc(sizeof(struct table));
+ t->p = NULL;
+#ifdef G
+ t->gp = NULL;
+ t->r_frame = DUMMY;
+ t->nr_frame = 0;
+ t->r_bg = DUMMY;
+ t->nr_bg = 0;
+ t->r_cells = DUMMY;
+ t->w_cells = DUMMY;
+ t->nr_cells = 0;
+#endif
+ t->x = t->y = 0;
+ t->rx = INIT_X;
+ t->ry = INIT_Y;
+ t->cells = mem_calloc(INIT_X * INIT_Y * sizeof(struct table_cell));
+ t->c = 0;
+ t->rc = INIT_X;
+ t->cols = mem_calloc(INIT_X * sizeof(struct table_column));
+ t->xcols = DUMMY;
+ t->xc = 0;
+ t->r_heights = DUMMY;
+ return t;
+}
+
+static void free_table(struct table *t)
+{
+#ifdef G
+ if (F) {
+ int i, j;
+ for (j = 0; j < t->y; j++) for (i = 0; i < t->x; i++) {
+ struct table_cell *c = CELL(t, i, j);
+ if (c->root) c->root->destruct(c->root);
+ if (c->brd) mem_free(c->brd);
+ }
+ for (i = 0; i < t->nr_frame; i++) mem_free(t->r_frame[i]);
+ if (t->r_frame) mem_free(t->r_frame);
+ for (i = 0; i < t->nr_bg; i++) mem_free(t->r_bg[i]);
+ if (t->r_bg) mem_free(t->r_bg);
+ for (i = 0; i < t->nr_cells; i++) mem_free(t->r_cells[i]);
+ mem_free(t->r_cells), mem_free(t->w_cells);
+ if (t->frame_bg) g_release_background(t->frame_bg);
+ }
+#endif
+ if (t->bordercolor) mem_free(t->bordercolor);
+ if (t->min_c) mem_free(t->min_c);
+ if (t->max_c) mem_free(t->max_c);
+ if (t->w_c) mem_free(t->w_c);
+ mem_free(t->r_heights);
+ mem_free(t->cols);
+ mem_free(t->xcols);
+ mem_free(t->cells);
+ mem_free(t);
+}
+
+static void expand_cells(struct table *t, int x, int y)
+{
+ int i, j;
+ if (x >= t->x) {
+ if (t->x) {
+ for (i = 0; i < t->y; i++) if (CELL(t, t->x - 1, i)->colspan == -1) {
+ for (j = t->x; j <= x; j++) {
+ CELL(t, j, i)->used = 1;
+ CELL(t, j, i)->spanned = 1;
+ CELL(t, j, i)->rowspan = CELL(t, t->x - 1, i)->rowspan;
+ CELL(t, j, i)->colspan = -1;
+ CELL(t, j, i)->mx = CELL(t, t->x - 1, i)->mx;
+ CELL(t, j, i)->my = CELL(t, t->x - 1, i)->my;
+ }
+ }
+ }
+ t->x = x + 1;
+ }
+ if (y >= t->y) {
+ if (t->y) {
+ for (i = 0; i < t->x; i++) if (CELL(t, i, t->y - 1)->rowspan == -1) {
+ for (j = t->y; j <= y; j++) {
+ CELL(t, i, j)->used = 1;
+ CELL(t, i, j)->spanned = 1;
+ CELL(t, i, j)->rowspan = -1;
+ CELL(t, i, j)->colspan = CELL(t, i, t->y - 1)->colspan;
+ CELL(t, i, j)->mx = CELL(t, i, t->y - 1)->mx;
+ CELL(t, i, j)->my = CELL(t, i, t->y - 1)->my;
+ }
+ }
+ }
+ t->y = y + 1;
+ }
+}
+
+static struct table_cell *new_cell(struct table *t, int x, int y)
+{
+ struct table nt;
+ int i, j;
+ if (x < t->x && y < t->y) goto ret;
+ rep:
+ if (x < t->rx && y < t->ry) {
+ expand_cells(t, x, y);
+ goto ret;
+ }
+ nt.rx = t->rx;
+ nt.ry = t->ry;
+ while (x >= nt.rx) {
+ if ((unsigned)nt.rx > MAXINT / 2) overalloc();
+ nt.rx *= 2;
+ }
+ while (y >= nt.ry) {
+ if ((unsigned)nt.ry > MAXINT / 2) overalloc();
+ nt.ry *= 2;
+ }
+ if ((unsigned)nt.rx * (unsigned)nt.ry / (unsigned)nt.rx != (unsigned)nt.ry) overalloc();
+ if ((unsigned)nt.rx * (unsigned)nt.ry > MAXINT / sizeof(struct table_cell)) overalloc();
+ nt.cells = mem_calloc(nt.rx * nt.ry * sizeof(struct table_cell));
+ for (i = 0; i < t->x; i++)
+ for (j = 0; j < t->y; j++)
+ memcpy(CELL(&nt, i, j), CELL(t, i, j), sizeof(struct table_cell));
+ mem_free(t->cells);
+ t->cells = nt.cells;
+ t->rx = nt.rx;
+ t->ry = nt.ry;
+ goto rep;
+
+ ret:
+ return CELL(t, x, y);
+}
+
+static void new_columns(struct table *t, int span, int width, int align, int valign, int group)
+{
+ if ((unsigned)t->c + (unsigned)span > MAXINT) overalloc();
+ if (t->c + span > t->rc) {
+ int n = t->rc;
+ struct table_column *nc;
+ while (t->c + span > n) {
+ if ((unsigned)n > MAXINT / 2) overalloc();
+ n *= 2;
+ }
+ if ((unsigned)n > MAXINT / sizeof(struct table_column)) overalloc();
+ nc = mem_realloc(t->cols, n * sizeof(struct table_column));
+ t->rc = n;
+ t->cols = nc;
+ }
+ while (span--) {
+ t->cols[t->c].align = align;
+ t->cols[t->c].valign = valign;
+ t->cols[t->c].width = width;
+ t->cols[t->c++].group = group;
+ group = 0;
+ }
+}
+
+static void set_td_width(struct table *t, int x, int width, int f)
+{
+ if (x >= t->xc) {
+ int n = t->xc ? t->xc : 1;
+ int i;
+ int *nc;
+ while (x >= n) {
+ if ((unsigned)n > MAXINT / 2) overalloc();
+ n *= 2;
+ }
+ if ((unsigned)n > MAXINT / sizeof(int)) overalloc();
+ nc = mem_realloc(t->xcols, n * sizeof(int));
+ for (i = t->xc; i < n; i++) nc[i] = W_AUTO;
+ t->xc = n;
+ t->xcols = nc;
+ }
+ if (t->xcols[x] == W_AUTO || f) {
+ set:
+ t->xcols[x] = width;
+ return;
+ }
+ if (width == W_AUTO) return;
+ if (width < 0 && t->xcols[x] >= 0) goto set;
+ if (width >= 0 && t->xcols[x] < 0) return;
+ t->xcols[x] = (t->xcols[x] + width) / 2;
+}
+
+unsigned char *skip_element(unsigned char *html, unsigned char *eof, unsigned char *what, int sub)
+{
+ int l = strlen(what);
+ int level = 1;
+ unsigned char *name;
+ int namelen;
+ r:
+ while (html < eof && (*html != '<')) rr:html++;
+ if (html + 2 <= eof && (html[1] == '!' || html[1] == '?')) {
+ html = skip_comment(html, eof);
+ goto r;
+ }
+ if (html >= eof) return eof;
+ if (parse_element(html, eof, &name, &namelen, NULL, &html)) goto rr;
+ if (namelen == l && !casecmp(name, what, l) && sub) level++;
+ if (namelen == l + 1 && name[0] == '/' && !casecmp(name + 1, what, l)) if (!--level) return html;
+ goto r;
+}
+
+struct s_e {
+ unsigned char *s, *e;
+};
+
+static int default_line_align(void)
+{
+ return par_format.align == AL_NO ? AL_NO : AL_LEFT;
+}
+
+static struct table *parse_table(unsigned char *html, unsigned char *eof, unsigned char **end, struct rgb *bgcolor, int sh, struct s_e **bad_html, int *bhp)
+{
+ int qqq;
+ struct table *t;
+ struct table_cell *cell;
+ unsigned char *t_name, *t_attr, *en;
+ int t_namelen;
+ int x = 0, y = -1;
+ int p = 0;
+ unsigned char *lbhp = NULL;
+ int l_al = default_line_align();
+ int l_val = VAL_MIDDLE;
+ int csp, rsp;
+ int group = 0;
+ int i, j, k;
+ struct rgb l_col;
+ int c_al = AL_TR, c_val = VAL_TR, c_width = W_AUTO, c_span = 0;
+ memcpy(&l_col, bgcolor, sizeof(struct rgb));
+ *end = html;
+ if (bad_html) {
+ *bad_html = DUMMY;
+ *bhp = 0;
+ }
+ if (!(t = new_table())) return NULL;
+ memcpy(&t->bgcolor, bgcolor, sizeof(struct rgb));
+ se:
+ en = html;
+ see:
+ html = en;
+ if (bad_html && !p && !lbhp) {
+ if (!(*bhp & (ALLOC_GR-1))) {
+ if ((unsigned)*bhp > MAXINT / sizeof(struct s_e) - ALLOC_GR) overalloc();
+ *bad_html = mem_realloc(*bad_html, (*bhp + ALLOC_GR) * sizeof(struct s_e));
+ }
+ lbhp = (*bad_html)[(*bhp)++].s = html;
+ }
+ while (html < eof && *html != '<') html++;
+ if (html >= eof) {
+ if (p) CELL(t, x, y)->end = html;
+ if (lbhp) (*bad_html)[*bhp-1].e = html;
+ goto scan_done;
+ }
+ if (html + 2 <= eof && (html[1] == '!' || html[1] == '?')) {
+ html = skip_comment(html, eof);
+ goto se;
+ }
+ if (parse_element(html, eof, &t_name, &t_namelen, &t_attr, &en)) {
+ html++;
+ goto se;
+ }
+ if (t_namelen == 5 && !casecmp(t_name, "TABLE", 5)) {
+ en = skip_element(en, eof, "TABLE", 1);
+ goto see;
+ }
+ if (t_namelen == 6 && !casecmp(t_name, "SCRIPT", 5)) {
+ en = skip_element(en, eof, "SCRIPT", 0);
+ goto see;
+ }
+ if (t_namelen == 6 && !casecmp(t_name, "/TABLE", 6)) {
+ if (c_span) new_columns(t, c_span, c_width, c_al, c_val, 1);
+ if (p) CELL(t, x, y)->end = html;
+ if (lbhp) (*bad_html)[*bhp-1].e = html;
+ goto scan_done;
+ }
+ if (t_namelen == 8 && !casecmp(t_name, "COLGROUP", 8)) {
+ if (c_span) new_columns(t, c_span, c_width, c_al, c_val, 1);
+ if (lbhp) (*bad_html)[*bhp-1].e = html, lbhp = NULL;
+ c_al = AL_TR;
+ c_val = VAL_TR;
+ c_width = W_AUTO;
+ get_align(t_attr, &c_al);
+ get_valign(t_attr, &c_val);
+ get_c_width(t_attr, &c_width, sh);
+ if ((c_span = get_num(t_attr, "span")) == -1) c_span = 1;
+ goto see;
+ }
+ if (t_namelen == 9 && !casecmp(t_name, "/COLGROUP", 9)) {
+ if (c_span) new_columns(t, c_span, c_width, c_al, c_val, 1);
+ if (lbhp) (*bad_html)[*bhp-1].e = html, lbhp = NULL;
+ c_span = 0;
+ c_al = AL_TR;
+ c_val = VAL_TR;
+ c_width = W_AUTO;
+ goto see;
+ }
+ if (t_namelen == 3 && !casecmp(t_name, "COL", 3)) {
+ int sp, wi, al, val;
+ if (lbhp) (*bad_html)[*bhp-1].e = html, lbhp = NULL;
+ if ((sp = get_num(t_attr, "span")) == -1) sp = 1;
+ wi = c_width;
+ al = c_al;
+ val = c_val;
+ get_align(t_attr, &al);
+ get_valign(t_attr, &val);
+ get_c_width(t_attr, &wi, sh);
+ new_columns(t, sp, wi, al, val, !!c_span);
+ c_span = 0;
+ goto see;
+ }
+ if (t_namelen == 3 && (!casecmp(t_name, "/TR", 3) || !casecmp(t_name, "/TD", 3) || !casecmp(t_name, "/TH", 3))) {
+ if (c_span) new_columns(t, c_span, c_width, c_al, c_val, 1);
+ if (p) CELL(t, x, y)->end = html, p = 0;
+ if (lbhp) (*bad_html)[*bhp-1].e = html, lbhp = NULL;
+ }
+ if (t_namelen == 2 && !casecmp(t_name, "TR", 2)) {
+ if (c_span) new_columns(t, c_span, c_width, c_al, c_val, 1);
+ if (p) CELL(t, x, y)->end = html, p = 0;
+ if (lbhp) (*bad_html)[*bhp-1].e = html, lbhp = NULL;
+ if (group) group--;
+ l_al = default_line_align();
+ l_val = VAL_MIDDLE;
+ memcpy(&l_col, bgcolor, sizeof(struct rgb));
+ get_align(t_attr, &l_al);
+ get_valign(t_attr, &l_val);
+ get_bgcolor(t_attr, &l_col);
+ y++, x = 0;
+ goto see;
+ }
+ if (t_namelen == 5 && ((!casecmp(t_name, "THEAD", 5)) || (!casecmp(t_name, "TBODY", 5)) || (!casecmp(t_name, "TFOOT", 5)))) {
+ if (c_span) new_columns(t, c_span, c_width, c_al, c_val, 1);
+ if (lbhp) (*bad_html)[*bhp-1].e = html, lbhp = NULL;
+ group = 2;
+ }
+ if (t_namelen != 2 || (casecmp(t_name, "TD", 2) && casecmp(t_name, "TH", 2))) goto see;
+ if (c_span) new_columns(t, c_span, c_width, c_al, c_val, 1);
+ if (lbhp) (*bad_html)[*bhp-1].e = html, lbhp = NULL;
+ if (p) CELL(t, x, y)->end = html, p = 0;
+ if (y == -1) y = 0, x = 0;
+ nc:
+ if (!(cell = new_cell(t, x, y))) goto see;
+ if (cell->used) {
+ if (cell->colspan == -1) goto see;
+ x++;
+ goto nc;
+ }
+ cell->mx = x;
+ cell->my = y;
+ cell->used = 1;
+ cell->start = en;
+ p = 1;
+ cell->align = l_al;
+ cell->valign = l_val;
+ cell->b = 0;
+#if 0
+ if (upcase(t_name[1]) == 'H') {
+ unsigned char *e = en;
+ while (e < eof && WHITECHAR(*e)) e++;
+ if (eof - e > 6 && !casecmp(e, "<TABLE", 6)) goto no_th; /* hack for www.root.cz */
+ cell->b = 1;
+ cell->align = AL_CENTER;
+ no_th:;
+ }
+#endif
+ if (group == 1) cell->group = 1;
+ if (x < t->c) {
+ if (t->cols[x].align != AL_TR) cell->align = t->cols[x].align;
+ if (t->cols[x].valign != VAL_TR) cell->valign = t->cols[x].valign;
+ }
+ memcpy(&cell->bgcolor, &l_col, sizeof(struct rgb));
+ get_align(t_attr, &cell->align);
+ get_valign(t_attr, &cell->valign);
+ get_bgcolor(t_attr, &cell->bgcolor);
+#ifdef G
+ sprintf(cell->bgcolor_str, "#%02x%02x%02x", cell->bgcolor.r & 0xff, cell->bgcolor.g & 0xff, cell->bgcolor.b & 0xff);
+#endif
+ if ((csp = get_num(t_attr, "colspan")) == -1) csp = 1;
+ if (!csp) csp = -1;
+ if ((rsp = get_num(t_attr, "rowspan")) == -1) rsp = 1;
+ if (!rsp) rsp = -1;
+ if (csp >= 0 && rsp >= 0 && csp * rsp > 100000) {
+ if (csp > 10) csp = -1;
+ if (rsp > 10) rsp = -1;
+ }
+ cell->colspan = csp;
+ cell->rowspan = rsp;
+ if (csp == 1) {
+ int w = W_AUTO;
+ get_c_width(t_attr, &w, sh);
+ if (w != W_AUTO) set_td_width(t, x, w, 0);
+ }
+ qqq = t->x;
+ for (i = 1; csp != -1 ? i < csp : x + i < qqq; i++) {
+ struct table_cell *sc;
+ if (!(sc = new_cell(t, x + i, y)) || sc->used) {
+ csp = i;
+ for (k = 0; k < i; k++) CELL(t, x + k, y)->colspan = csp;
+ break;
+ }
+ sc->used = sc->spanned = 1;
+ sc->rowspan = rsp;
+ sc->colspan = csp;
+ sc->mx = x;
+ sc->my = y;
+ }
+ qqq = t->y;
+ for (j = 1; rsp != -1 ? j < rsp : y + j < qqq; j++) {
+ for (k = 0; k < i; k++) {
+ struct table_cell *sc;
+ if (!(sc = new_cell(t, x + k, y + j)) || sc->used) {
+ int l, m;
+ if (sc->mx == x && sc->my == y) continue;
+ /*internal("boo");*/
+ for (l = 0; l < k; l++) memset(CELL(t, x + l, y + j), 0, sizeof(struct table_cell));
+ rsp = j;
+ for (l = 0; l < i; l++) for (m = 0; m < j; m++) CELL(t, x + l, y + m)->rowspan = j;
+ goto brk;
+ }
+ sc->used = sc->spanned = 1;
+ sc->rowspan = rsp;
+ sc->colspan = csp;
+ sc->mx = x;
+ sc->my = y;
+ }
+ }
+ brk:
+ goto see;
+
+ scan_done:
+ *end = html;
+
+ for (x = 0; x < t->x; x++) for (y = 0; y < t->y; y++) {
+ struct table_cell *c = CELL(t, x, y);
+ if (!c->spanned) {
+ if (c->colspan == -1) c->colspan = t->x - x;
+ if (c->rowspan == -1) c->rowspan = t->y - y;
+ }
+ }
+
+ if ((unsigned)t->y > MAXINT / sizeof(int)) overalloc();
+ t->r_heights = mem_calloc(t->y * sizeof(int));
+
+ for (x = 0; x < t->c; x++) if (t->cols[x].width != W_AUTO) set_td_width(t, x, t->cols[x].width, 1);
+ set_td_width(t, t->x, W_AUTO, 0);
+
+ return t;
+}
+
+static void get_cell_width(struct table *t, struct table_cell *c, int w, int a, int *min, int *max, int *n_links)
+{
+ if (min) *min = -1;
+ if (max) *max = -1;
+ if (n_links) *n_links = c->link_num;
+ if (!F) {
+ struct part *p;
+ if (!(p = format_html_part(c->start, c->end, c->align != AL_NO ? AL_LEFT : AL_NO, t->cellpd, w, NULL, !!a, !!a, NULL, c->link_num))) return;
+ if (min) *min = p->x;
+ if (max) *max = p->xmax;
+ if (n_links) *n_links = p->link_num;
+ mem_free(p);
+#ifdef G
+ } else {
+ struct g_part *gp;
+ if (!(gp = g_format_html_part(c->start, c->end, c->align != AL_NO ? AL_LEFT : AL_NO, 0, w, NULL, c->link_num, NULL, c->bgcolor_str, NULL))) return;
+ if (min) *min = gp->x;
+ if (max) *max = gp->xmax;
+ if (n_links) *n_links = gp->link_num;
+ mem_free(gp);
+#endif
+ }
+ /*debug("get_cell_width: %d < %d", *min, *max);*/
+ /*if (min && max && *min > *max) internal("get_cell_width: %d > %d", *min, *max);*/
+}
+
+static inline void check_cell_widths(struct table *t)
+{
+ int i, j;
+ for (j = 0; j < t->y; j++) for (i = 0; i < t->x; i++) {
+ int min, max;
+ struct table_cell *c = CELL(t, i, j);
+ if (!c->start) continue;
+ get_cell_width(t, c, 0, 0, &min, &max, NULL);
+ /*if (min != c->min_width || max < c->max_width) internal("check_cell_widths failed");*/
+ }
+}
+
+#define g_c_w(cc) \
+do { \
+ struct table_cell *c = cc; \
+ if (!c->start) continue; \
+ c->link_num = nl; \
+ get_cell_width(t, c, 0, 0, &c->min_width, &c->max_width, &nl);\
+} while (0)
+
+static void get_cell_widths(struct table *t)
+{
+ int nl = gf_val(t->p->link_num, t->gp->link_num);
+ int i, j;
+ if (!d_opt->table_order)
+ for (j = 0; j < t->y; j++) for (i = 0; i < t->x; i++) g_c_w(CELL(t, i, j));
+ else
+ for (i = 0; i < t->x; i++) for (j = 0; j < t->y; j++) g_c_w(CELL(t, i, j));
+ t->link_num = nl;
+}
+
+static void dst_width(int *p, int n, int w, int *lim)
+{
+ int i, s = 0, d, r;
+ for (i = 0; i < n; i++) s += p[i];
+ if (s >= w) return;
+ if (!n) return;
+ again:
+ d = (w - s) / n;
+ r = (w - s) % n;
+ w = 0;
+ for (i = 0; i < n; i++) {
+ p[i] += d + (i < r);
+ if (lim && p[i] > lim[i]) w += p[i] - lim[i], p[i] = lim[i];
+ }
+ if (w) {
+ /*if (!lim) internal("bug in dst_width");*/
+ lim = NULL;
+ s = 0;
+ goto again;
+ }
+}
+
+static int get_vline_width(struct table *t, int col)
+{ /* return: -1 none, 0, space, 1 line, 2 double */
+ int w = 0;
+ NO_GFX;
+ if (!col) return -1;
+ if (t->rules == R_COLS || t->rules == R_ALL) w = t->cellsp;
+ else if (t->rules == R_GROUPS) w = col < t->c && t->cols[col].group;
+ if (!w && t->cellpd) w = -1;
+ return w;
+}
+
+static int get_hline_width(struct table *t, int row)
+{
+ int w = 0;
+ NO_GFX;
+ if (!row) return -1;
+ if (t->rules == R_ROWS || t->rules == R_ALL) {
+ x:
+ if (t->cellsp || t->vcellpd) return t->cellsp;
+ return -1;
+ }
+ else if (t->rules == R_GROUPS) {
+ int q;
+ for (q = 0; q < t->x; q++) if (CELL(t, q, row)->group) goto x;
+ return t->vcellpd ? 0 : -1;
+ }
+ if (!w && !t->vcellpd) w = -1;
+ return w;
+}
+
+#ifdef G
+static int g_get_vline_pad(struct table *t, int col, int *plpos, int *plsize)
+{
+ int pad, lpos, lsize;
+ int border;
+ NO_TXT;
+ if (!col || col == t->x) {
+ border = (!col && t->frame & F_LHS) || (col == t->x && t->frame & F_RHS) ? t->border : 0;
+ pad = border + t->cellsp + t->cellpd;
+ if (!col) lpos = 0, lsize = border + t->cellsp;
+ else lpos = pad - border - t->cellsp, lsize = border + t->cellsp;
+ } else {
+ border = t->rules == R_COLS || t->rules == R_ALL || (t->rules == R_GROUPS && col < t->c && t->cols[col].group) ? t->border : 0;
+ pad = 2 * t->cellpd + t->cellsp;
+ lpos = t->cellpd;
+ lsize = t->cellsp;
+ }
+ if (!border) {
+ lsize = 0;
+ if (!col) lpos = 0;
+ else if (col == t->x) lpos = pad;
+ else lpos = pad / 2;
+ }
+ if (plpos) *plpos = lpos;
+ if (plsize) *plsize = lsize;
+ return pad;
+}
+
+static int g_get_hline_pad(struct table *t, int row, int *plpos, int *plsize)
+{
+ int pad, lpos, lsize;
+ int border;
+ NO_TXT;
+ if (!row || row == t->y) {
+ border = (!row && t->frame & F_ABOVE) || (row == t->y && t->frame & F_BELOW) ? t->border : 0;
+ pad = border + t->cellsp + t->cellpd;
+ if (!row) lpos = 0, lsize = border + t->cellsp;
+ else lpos = pad - border - t->cellsp, lsize = border + t->cellsp;
+ } else {
+ border = t->rules == R_ROWS || t->rules == R_ALL ? t->border : 0;
+ if (t->rules == R_GROUPS) {
+ int q;
+ for (q = 0; q < t->x; q++) if (CELL(t, q, row)->group) {
+ border = t->border;
+ break;
+ }
+ }
+ pad = 2 * t->cellpd + t->cellsp;
+ lpos = t->cellpd;
+ lsize = t->cellsp;
+ }
+ if (!border) {
+ lsize = 0;
+ if (!row) lpos = 0;
+ else if (row == t->y) lpos = pad;
+ else lpos = pad / 2;
+ }
+ if (plpos) *plpos = lpos;
+ if (plsize) *plsize = lsize;
+ return pad;
+}
+#endif
+
+static int get_column_widths(struct table *t)
+{
+ int i, j, s, ns;
+ if ((unsigned)t->x > MAXINT / sizeof(int)) overalloc();
+ if (!t->min_c) t->min_c = mem_alloc(t->x * sizeof(int));
+ if (!t->max_c) t->max_c = mem_alloc(t->x * sizeof(int));
+ if (!t->w_c) t->w_c = mem_alloc(t->x * sizeof(int));
+ memset(t->min_c, 0, t->x * sizeof(int));
+ memset(t->max_c, 0, t->x * sizeof(int));
+ s = 1;
+ do {
+ ns = MAXINT;
+ for (i = 0; i < t->x; i++) for (j = 0; j < t->y; j++) {
+ struct table_cell *c = CELL(t, i, j);
+ if (c->spanned || !c->used) continue;
+ if (c->colspan + i > t->x) {
+ /*internal("colspan out of table");
+ return -1;*/
+ continue;
+ }
+ if (c->colspan == s) {
+ int k, p = 0;
+ /*int pp = t->max_c[i];*/
+ int m = 0;
+ for (k = 1; k < s; k++) {
+ if (!F) p += get_vline_width(t, i + k) >= 0;
+#ifdef G
+ else p += g_get_vline_pad(t, i + k, NULL, NULL);
+#endif
+ }
+ dst_width(t->min_c + i, s, c->min_width - p, t->max_c + i);
+ dst_width(t->max_c + i, s, c->max_width - p - m, NULL);
+ for (k = 0; k < s; k++) if (t->min_c[i + k] > t->max_c[i + k]) t->max_c[i + k] = t->min_c[i + k];
+ } else if (c->colspan > s && c->colspan < ns) ns = c->colspan;
+ }
+ } while ((s = ns) != MAXINT);
+ return 0;
+}
+
+static void get_table_width(struct table *t)
+{
+ int i, vl;
+ int min = 0, max = 0;
+ for (i = 0; i < t->x; i++) {
+ if (!F) vl = get_vline_width(t, i) >= 0;
+#ifdef G
+ else if (i) {
+ vl = g_get_vline_pad(t, i, NULL, NULL);
+ } else vl = 0;
+#endif
+ min += vl, max += vl;
+ min += t->min_c[i];
+ if (t->xcols[i] > t->max_c[i]) max += t->xcols[i];
+ max += t->max_c[i];
+ }
+ if (!F) {
+ vl = (!!(t->frame & F_LHS) + !!(t->frame & F_RHS)) * !!t->border;
+ min += vl, max += vl;
+#ifdef G
+ } else {
+ vl = g_get_vline_pad(t, 0, NULL, NULL);
+ min += vl, max += vl;
+ vl = g_get_vline_pad(t, t->x, NULL, NULL);
+ min += vl, max += vl;
+#endif
+ }
+ t->min_t = min;
+ t->max_t = max;
+ /*if (min > max) internal("min(%d) > max(%d)", min, max);*/
+}
+
+static void distribute_widths(struct table *t, int width)
+{
+ int i;
+ int d = width - t->min_t;
+ int om = 0;
+ unsigned char *u;
+ int *w, *mx;
+ int mmax_c = 0;
+ t->rw = 0;
+ if (!t->x) return;
+ if (d < 0) {
+ /*internal("too small width %d, required %d", width, t->min_t);*/
+ return;
+ }
+ for (i = 0; i < t->x; i++) if (t->max_c[i] > mmax_c) mmax_c = t->max_c[i];
+ memcpy(t->w_c, t->min_c, t->x * sizeof(int));
+ t->rw = width;
+ if ((unsigned)t->x > MAXINT / sizeof(int)) overalloc();
+ u = mem_alloc(t->x);
+ w = mem_alloc(t->x * sizeof(int));
+ mx = mem_alloc(t->x * sizeof(int));
+ while (d) {
+ int mss, mii;
+ int p = 0;
+ int wq;
+ int dd;
+ memset(w, 0, t->x * sizeof(int));
+ memset(mx, 0, t->x * sizeof(int));
+ for (i = 0; i < t->x; i++) {
+ switch (om) {
+ case 0:
+ if (t->w_c[i] < t->xcols[i]) {
+ w[i] = 1, mx[i] = (t->xcols[i] > t->max_c[i] ? t->max_c[i] : t->xcols[i]) - t->w_c[i];
+ if (mx[i] <= 0) w[i] = 0;
+ }
+ break;
+ case 1:
+ if (t->xcols[i] < -1 && t->xcols[i] != -2) {
+ w[i] = t->xcols[i] <= -2 ? -2 - t->xcols[i] : 1;
+ mx[i] = t->max_c[i] - t->w_c[i];
+ if (mx[i] <= 0) w[i] = 0;
+ }
+ break;
+ case 2:
+ case 3:
+ if (t->w_c[i] < t->max_c[i] && (om == 3 || t->xcols[i] == W_AUTO)) {
+ mx[i] = t->max_c[i] - t->w_c[i];
+ if (mmax_c) w[i] = gf_val(5, 5 * HTML_CHAR_WIDTH) + t->max_c[i] * 10 / mmax_c;
+ else w[i] = 1;
+ }
+ break;
+ case 4:
+ if (t->xcols[i] >= 0) {
+ w[i] = 1, mx[i] = t->xcols[i] - t->w_c[i];
+ if (mx[i] <= 0) w[i] = 0;
+ }
+ break;
+ case 5:
+ if (t->xcols[i] < 0) w[i] = t->xcols[i] <= -2 ? -2 - t->xcols[i] : 1, mx[i] = MAXINT;
+ break;
+ case 6:
+ w[i] = 1, mx[i] = MAXINT;
+ break;
+ default:
+ /*internal("could not expand table");*/
+ goto end2;
+ }
+ p += w[i];
+ }
+ if (!p) {
+ om++;
+ continue;
+ }
+ wq = 0;
+ if (u) memset(u, 0, t->x);
+ dd = d;
+ a:
+ mss = 0; mii = -1;
+ for (i = 0; i < t->x; i++) if (w[i]) {
+ int ss;
+ if (u && u[i]) continue;
+ if (!(ss = dd * w[i] / p)) ss = 1;
+ if (ss > mx[i]) ss = mx[i];
+ if (ss > mss) mss = ss, mii = i;
+ }
+ if (mii != -1) {
+ int q = t->w_c[mii];
+ if (u) u[mii] = 1;
+ t->w_c[mii] += mss;
+ d -= t->w_c[mii] - q;
+ while (d < 0) t->w_c[mii]--, d++;
+ if (t->w_c[mii] < q) {
+ /*internal("shrinking cell");*/
+ t->w_c[mii] = q;
+ }
+ wq = 1;
+ if (d) goto a;
+ } else if (!wq) om++;
+ }
+ end2:
+ mem_free(mx);
+ mem_free(w);
+ if (u) mem_free(u);
+}
+
+#ifdef HTML_TABLE_2ND_PASS
+static void check_table_widths(struct table *t)
+{
+ int *w;
+ int i, j;
+ int s, ns;
+ int m, mi = 0; /* go away, warning! */
+ if ((unsigned)t->x > MAXINT / sizeof(int)) overalloc();
+ w = mem_calloc(t->x * sizeof(int));
+ for (j = 0; j < t->y; j++) for (i = 0; i < t->x; i++) {
+ struct table_cell *c = CELL(t, i, j);
+ int k, p = 0;
+ if (!c->start) continue;
+ for (k = 1; k < c->colspan; k++) p += get_vline_width(t, i + k) >= 0;
+ for (k = 0; k < c->colspan; k++) p += t->w_c[i + k];
+ get_cell_width(t, c, p, 1, &c->x_width, NULL, NULL);
+ if (c->x_width > p) {
+ /*int min, max;
+ get_cell_width(t, c, 0, 0, &min, &max, NULL);
+ internal("cell is now wider (%d > %d) min = %d, max = %d, now_min = %d, now_max = %d", c->x_width, p, t->min_c[i], t->max_c[i], min, max);*/
+ /* sbohem, internale. chytl jsi mi spoustu chyb v tabulkovaci, ale ted je proste cas jit ... ;-( */
+ c->x_width = p;
+ }
+ }
+ s = 1;
+ do {
+ ns = MAXINT;
+ for (i = 0; i < t->x; i++) for (j = 0; j < t->y; j++) {
+ struct table_cell *c = CELL(t, i, j);
+ if (!c->start) continue;
+ if (c->colspan + i > t->x) {
+ /*internal("colspan out of table");*/
+ mem_free(w);
+ return;
+ }
+ if (c->colspan == s) {
+ int k, p = 0;
+ for (k = 1; k < s; k++) p += get_vline_width(t, i + k) >= 0;
+ dst_width(w + i, s, c->x_width - p, t->max_c + i);
+ /*for (k = i; k < i + s; k++) if (w[k] > t->w_c[k]) {
+ int l;
+ int c;
+ ag:
+ c = 0;
+ for (l = i; l < i + s; l++) if (w[l] < t->w_c[k]) w[l]++, w[k]--, c = 1;
+ if (w[k] > t->w_c[k]) {
+ if (!c) internal("can't shrink cell");
+ else goto ag;
+ }
+ }*/
+ } else if (c->colspan > s && c->colspan < ns) ns = c->colspan;
+ }
+ } while ((s = ns) != MAXINT);
+
+ s = 0; ns = 0;
+ for (i = 0; i < t->x; i++) {
+ s += t->w_c[i], ns += w[i];
+ /*if (w[i] > t->w_c[i]) {
+ int k;
+ for (k = 0; k < t->x; k++) debug("%d, %d", t->w_c[k], w[k]);
+ debug("column %d: new width(%d) is larger than previous(%d)", i, w[i], t->w_c[i]);
+ }*/
+ }
+ if (ns > s) {
+ /*internal("new width(%d) is larger than previous(%d)", ns, s);*/
+ mem_free(w);
+ return;
+ }
+ m = -1;
+ for (i = 0; i < t->x; i++) {
+ /*if (table_level == 1) debug("%d: %d %d %d %d", i, t->max_c[i], t->min_c[i], t->w_c[i], w[i]);*/
+ if (t->max_c[i] > m) m = t->max_c[i], mi = i;
+ }
+ /*if (table_level == 1) debug("%d %d", mi, s - ns);*/
+ if (m != -1) {
+ w[mi] += s - ns;
+ if (w[mi] <= t->max_c[mi]) {
+ mem_free(t->w_c);
+ t->w_c = w;
+ return;
+ }
+ }
+ mem_free(w);
+}
+#endif
+
+static void get_table_heights(struct table *t)
+{
+ int s, ns;
+ int i, j;
+ for (j = 0; j < t->y; j++) {
+ for (i = 0; i < t->x; i++) {
+ struct table_cell *cell = CELL(t, i, j);
+ struct part *p;
+#ifdef G
+ struct g_part *gp;
+#endif
+ int xw = 0, sp;
+ if (!cell->used || cell->spanned) continue;
+ /*
+ fprintf(stderr, "i==%d, w_c[i]==%d, min_c[i]==%d, max_c[i]==%d\n", i, t->w_c[i], t->min_c[i], t->max_c[i]);
+ */
+ for (sp = 0; sp < cell->colspan; sp++) {
+ xw += t->w_c[i + sp];
+ if (sp < cell->colspan - 1) {
+ if (!F) xw += get_vline_width(t, i + sp + 1) >= 0;
+#ifdef G
+ else xw += g_get_vline_pad(t, i + sp + 1, NULL, NULL);
+#endif
+ }
+ }
+ if (!F) {
+ if (!(p = format_html_part(cell->start, cell->end, cell->align, t->cellpd, xw, NULL, 2, 2, NULL, cell->link_num))) return;
+ cell->height = p->y;
+ mem_free(p);
+#ifdef G
+ } else {
+ if (!(gp = g_format_html_part(cell->start, cell->end, cell->align, 0, xw, NULL, cell->link_num, NULL /* FIX: background image */, cell->bgcolor_str, t->gp->data))) return;
+ /*if (gp->root->xw > xw) internal("vono to neumi formatovat... buuuu (%d > %d)", gp->root->xw, xw);*/
+ cell->root = gp->root;
+ gp->root = NULL;
+ cell->height = gp->y;
+ cell->g_width = xw;
+ g_release_part(gp);
+ mem_free(gp);
+#endif
+ }
+ /*debug("%d, %d.",xw, cell->height);*/
+ }
+ }
+ s = 1;
+ do {
+ ns = MAXINT;
+ for (j = 0; j < t->y; j++) {
+ for (i = 0; i < t->x; i++) {
+ struct table_cell *cell = CELL(t, i, j);
+ if (!cell->used || cell->spanned) continue;
+ if (cell->rowspan == s) {
+ int k, p = 0;
+ for (k = 1; k < s; k++) {
+ if (!F) p += get_hline_width(t, j + k) >= 0;
+#ifdef G
+ else p += g_get_hline_pad(t, j + k, NULL, NULL);
+#endif
+ }
+ dst_width(t->r_heights + j, s, cell->height - p, NULL);
+ } else if (cell->rowspan > s && cell->rowspan < ns) ns = cell->rowspan;
+ }
+ }
+ } while ((s = ns) != MAXINT);
+ if (!F) {
+ t->rh = (!!(t->frame & F_ABOVE) + !!(t->frame & F_BELOW)) * !!t->border;
+ for (j = 0; j < t->y; j++) {
+ t->rh += t->r_heights[j];
+ if (j) t->rh += get_hline_width(t, j) >= 0;
+ }
+#ifdef G
+ } else {
+ t->rh = 0;
+ for (j = 0; j <= t->y; j++) {
+ t->rh += g_get_hline_pad(t, j, NULL, NULL);
+ if (j < t->y) t->rh += t->r_heights[j];
+ }
+#endif
+ }
+}
+
+static void display_complicated_table(struct table *t, int x, int y, int *yy)
+{
+ int i, j;
+ struct f_data *f = t->p->data;
+ int yp, xp = x + ((t->frame & F_LHS) && t->border);
+ for (i = 0; i < t->x; i++) {
+ yp = y + ((t->frame & F_ABOVE) && t->border);
+ for (j = 0; j < t->y; j++) {
+ struct table_cell *cell = CELL(t, i, j);
+ if (cell->start) {
+ int yt;
+ struct part *p = NULL;
+ int xw = 0, yw = 0, s;
+ for (s = 0; s < cell->colspan; s++) {
+ xw += t->w_c[i + s];
+ if (s < cell->colspan - 1) xw += get_vline_width(t, i + s + 1) >= 0;
+ }
+ for (s = 0; s < cell->rowspan; s++) {
+ yw += t->r_heights[j + s];
+ if (s < cell->rowspan - 1) yw += get_hline_width(t, j + s + 1) >= 0;
+ }
+ html_stack_dup();
+ html_top.dontkill = 1;
+ if (cell->b) format.attr |= AT_BOLD;
+ memcpy(&format.bg, &cell->bgcolor, sizeof(struct rgb));
+ memcpy(&par_format.bgcolor, &cell->bgcolor, sizeof(struct rgb));
+ p = format_html_part(cell->start, cell->end, cell->align, t->cellpd, xw, f, t->p->xp + xp, t->p->yp + yp + (cell->valign != VAL_MIDDLE && cell->valign != VAL_BOTTOM ? 0 : (yw - cell->height) / (cell->valign == VAL_MIDDLE ? 2 : 1)), NULL, cell->link_num);
+ cell->xpos = xp;
+ cell->ypos = yp;
+ cell->xw = xw;
+ cell->yw = yw;
+ for (yt = 0; yt < p->y; yt++) {
+ xxpand_lines(t->p, yp + yt);
+ xxpand_line(t->p, yp + yt, xp + t->w_c[i]);
+ }
+ kill_html_stack_item(&html_top);
+ mem_free(p);
+ }
+ cell->xpos = xp;
+ cell->ypos = yp;
+ cell->xw = t->w_c[i];
+ yp += t->r_heights[j];
+ if (j < t->y - 1) yp += (get_hline_width(t, j + 1) >= 0);
+ }
+ if (i < t->x - 1) xp += t->w_c[i] + (get_vline_width(t, i + 1) >= 0);
+ }
+ yp = y;
+ for (j = 0; j < t->y; j++) {
+ yp += t->r_heights[j];
+ if (j < t->y - 1) yp += (get_hline_width(t, j + 1) >= 0);
+ }
+ *yy = yp + (!!(t->frame & F_ABOVE) + !!(t->frame & F_BELOW)) * !!t->border;
+}
+
+static int AF;
+
+#define draw_frame_point(xx, yy, ii, jj) \
+if (H_LINE_X((ii-1), (jj)) >= 0 || H_LINE_X((ii), (jj)) >= 0 || V_LINE_X((ii), (jj-1)) >= 0 || V_LINE_X((ii), (jj)) >= 0) xset_hchar(t->p, (xx), (yy), frame_table[V_LINE((ii),(jj)-1)+3*H_LINE((ii),(jj))+9*H_LINE((ii)-1,(jj))+27*V_LINE((ii),(jj))], AF)
+
+#define draw_frame_hline(xx, yy, ll, ii, jj) \
+if (H_LINE_X((ii), (jj)) >= 0) xset_hchars(t->p, (xx), (yy), (ll), hline_table[H_LINE((ii), (jj))], AF)
+
+#define draw_frame_vline(xx, yy, ll, ii, jj) \
+{ \
+ int qq; \
+ if (V_LINE_X((ii), (jj)) >= 0) for (qq = 0; qq < (ll); qq++) xset_hchar(t->p, (xx), (yy) + qq, vline_table[V_LINE((ii), (jj))], AF); }
+
+#ifndef DEBUG
+#define H_LINE_X(xx, yy) fh[(xx) + 1 + (t->x + 2) * (yy)]
+#define V_LINE_X(xx, yy) fv[(yy) + 1 + (t->y + 2) * (xx)]
+#else
+#define H_LINE_X(xx, yy) (*(xx < -1 || xx > t->x + 1 || yy < 0 || yy > t->y ? (signed char *)NULL : &fh[(xx) + 1 + (t->x + 2) * (yy)]))
+#define V_LINE_X(xx, yy) (*(xx < 0 || xx > t->x || yy < -1 || yy > t->y + 1 ? (signed char *)NULL : &fv[(yy) + 1 + (t->y + 2) * (xx)]))
+#endif
+#define H_LINE(xx, yy) (H_LINE_X((xx), (yy)) < 0 ? 0 : H_LINE_X((xx), (yy)))
+#define V_LINE(xx, yy) (V_LINE_X((xx), (yy)) < 0 ? 0 : V_LINE_X((xx), (yy)))
+
+static void get_table_frame(struct table *t, signed char *fv, signed char *fh)
+{
+ int i, j;
+ memset(fh, -1, (t->x + 2) * (t->y + 1));
+ memset(fv, -1, (t->x + 1) * (t->y + 2));
+ for (j = 0; j < t->y; j++) for (i = 0; i < t->x; i++) {
+ int x, y;
+ int xsp, ysp;
+ struct table_cell *cell = CELL(t, i, j);
+ if (!cell->used || cell->spanned) continue;
+ if ((xsp = cell->colspan) == 0) xsp = t->x - i;
+ if ((ysp = cell->rowspan) == 0) ysp = t->y - j;
+ if (t->rules != R_NONE && t->rules != R_COLS) for (x = 0; x < xsp; x++) {H_LINE_X(i + x, j) = t->cellsp; H_LINE_X(i + x, j + ysp) = t->cellsp;}
+ if (t->rules != R_NONE && t->rules != R_ROWS) for (y = 0; y < ysp; y++) {V_LINE_X(i, j + y) = t->cellsp; V_LINE_X(i + xsp, j + y) = t->cellsp;}
+ if (F) {
+ for (x = 0; x < xsp; x++) for (y = 1; y < ysp; y++)
+ H_LINE_X(i + x, j + y) = -2;
+ for (x = 1; x < xsp; x++) for (y = 0; y < ysp; y++)
+ V_LINE_X(i + x, j + y) = -2;
+ }
+ }
+ if (t->rules == R_GROUPS) {
+ for (i = 1; i < t->x; i++) {
+ if (/*i < t->xc &&*/ t->xcols[i]) continue;
+ for (j = 0; j < t->y; j++) V_LINE_X(i, j) = 0;
+ }
+ for (j = 1; j < t->y; j++) {
+ for (i = 0; i < t->x; i++) if (CELL(t, i, j)->group) goto c;
+ for (i = 0; i < t->x; i++) H_LINE_X(i, j) = 0;
+ c:;
+ }
+ }
+ for (i = 0; i < t->x; i++) {
+ H_LINE_X(i, 0) = t->border * !!(t->frame & F_ABOVE);
+ H_LINE_X(i, t->y) = t->border * !!(t->frame & F_BELOW);
+ }
+ for (j = 0; j < t->y; j++) {
+ V_LINE_X(0, j) = t->border * !!(t->frame & F_LHS);
+ V_LINE_X(t->x, j) = t->border * !!(t->frame & F_RHS);
+ }
+}
+
+static void display_table_frames(struct table *t, int x, int y)
+{
+ signed char *fh, *fv;
+ int i, j;
+ int cx, cy;
+ if ((unsigned)t->x > MAXINT) overalloc();
+ if ((unsigned)t->y > MAXINT) overalloc();
+ if (((unsigned)t->x + 2) * ((unsigned)t->y + 2) / ((unsigned)t->x + 2) != ((unsigned)t->y + 2)) overalloc();
+ if (((unsigned)t->x + 2) * ((unsigned)t->y + 2) > MAXINT) overalloc();
+ fh = mem_alloc((t->x + 2) * (t->y + 1));
+ fv = mem_alloc((t->x + 1) * (t->y + 2));
+ get_table_frame(t, fv, fh);
+
+ cy = y;
+ for (j = 0; j <= t->y; j++) {
+ cx = x;
+ if ((j > 0 && j < t->y && get_hline_width(t, j) >= 0) || (j == 0 && t->border && (t->frame & F_ABOVE)) || (j == t->y && t->border && (t->frame & F_BELOW))) {
+ for (i = 0; i < t->x; i++) {
+ int w;
+ if (i > 0) w = get_vline_width(t, i);
+ else w = t->border && (t->frame & F_LHS) ? t->border : -1;
+ if (w >= 0) {
+ draw_frame_point(cx, cy, i, j);
+ if (j < t->y) draw_frame_vline(cx, cy + 1, t->r_heights[j], i, j);
+ cx++;
+ }
+ w = t->w_c[i];
+ draw_frame_hline(cx, cy, w, i, j);
+ cx += w;
+ }
+ if (t->border && (t->frame & F_RHS)) {
+ draw_frame_point(cx, cy, i, j);
+ if (j < t->y) draw_frame_vline(cx, cy + 1, t->r_heights[j], i, j);
+ cx++;
+ }
+ cy++;
+ } else if (j < t->y) {
+ for (i = 0; i <= t->x; i++) {
+ if ((i > 0 && i < t->x && get_vline_width(t, i) >= 0) || (i == 0 && t->border && (t->frame & F_LHS)) || (i == t->x && t->border && (t->frame & F_RHS))) {
+ draw_frame_vline(cx, cy, t->r_heights[j], i, j);
+ cx++;
+ }
+ if (i < t->x) cx += t->w_c[i];
+ }
+ }
+ if (j < t->y) cy += t->r_heights[j];
+ /*for (cyy = cy1; cyy < cy; cyy++) xxpand_line(t->p, cyy, cx - 1);*/
+ }
+ mem_free(fh);
+ mem_free(fv);
+}
+
+#ifdef G
+static void process_g_table(struct g_part *gp, struct table *t);
+#endif
+
+void format_table(unsigned char *attr, unsigned char *html, unsigned char *eof, unsigned char **end, void *f)
+{
+ struct part *p = !F ? f : NULL;
+#ifdef G
+ struct g_part *gp = F ? f : NULL;
+#endif
+ int border, cellsp, vcellpd, cellpd, align;
+ int frame, rules, width, wf;
+ struct rgb bgcolor;
+ struct table *t;
+ unsigned char *al;
+ int cye;
+ int x;
+ int i;
+ struct s_e *bad_html = NULL;
+ int bad_html_n;
+ struct node *n, *nn;
+ int cpd_pass, cpd_width, cpd_last;
+ int AF_SAVE = AF;
+ table_level++;
+ memcpy(&bgcolor, &par_format.bgcolor, sizeof(struct rgb));
+ get_bgcolor(attr, &bgcolor);
+ if (!F) {
+ int bg = find_nearest_color(&bgcolor, 8);
+ int fg = find_nearest_color(&d_opt->default_fg, 16);
+ /*fg = fg_color(fg, bg);*/
+ AF = ATTR_FRAME | (fg & 7) | (bg << 3) | ((fg & 8) << 3);
+ }
+ if ((border = get_num(attr, "border")) == -1) border = has_attr(attr, "border") || has_attr(attr, "rules") || has_attr(attr, "frame");
+ /*if (!border) border = 1;*/
+ if ((cellsp = get_num(attr, "cellspacing")) == -1) cellsp = gf_val(1, 2);
+ if ((cellpd = get_num(attr, "cellpadding")) == -1) {
+ vcellpd = gf_val(0, 1);
+ cellpd = gf_val(!!border, 1);
+ } else {
+ if (!F) {
+ vcellpd = cellpd >= HTML_CHAR_HEIGHT / 2 + 1;
+ cellpd = cellpd >= HTML_CHAR_WIDTH / 2 + 1;
+ } else vcellpd = cellpd;
+ }
+ if (!F && !border) cellsp = 0;
+ else if (!F && !cellsp) cellsp = 1;
+ /* Sparc gcc-2.7.2.1 miscompiles this */
+ do_not_optimize_here(&cellsp);
+ if (!F && border > 2) border = 2;
+ if (!F && cellsp > 2) cellsp = 2;
+#ifdef G
+ if (F && !cellsp && border) cellsp = 1;
+#endif
+ align = par_format.align;
+ if (align == AL_NO || align == AL_BLOCK) align = AL_LEFT;
+ if ((al = get_attr_val(attr, "align"))) {
+ if (!strcasecmp(al, "left")) align = AL_LEFT;
+ if (!strcasecmp(al, "center")) align = AL_CENTER;
+ if (!strcasecmp(al, "right")) align = AL_RIGHT;
+ mem_free(al);
+ }
+ frame = F_BOX;
+ if ((al = get_attr_val(attr, "frame"))) {
+ if (!strcasecmp(al, "void")) frame = F_VOID;
+ if (!strcasecmp(al, "above")) frame = F_ABOVE;
+ if (!strcasecmp(al, "below")) frame = F_BELOW;
+ if (!strcasecmp(al, "hsides")) frame = F_HSIDES;
+ if (!strcasecmp(al, "vsides")) frame = F_VSIDES;
+ if (!strcasecmp(al, "lhs")) frame = F_LHS;
+ if (!strcasecmp(al, "rhs")) frame = F_RHS;
+ if (!strcasecmp(al, "box")) frame = F_BOX;
+ if (!strcasecmp(al, "border")) frame = F_BOX;
+ mem_free(al);
+ }
+ rules = border ? R_ALL : R_NONE;
+ if ((al = get_attr_val(attr, "rules"))) {
+ if (!strcasecmp(al, "none")) rules = R_NONE;
+ if (!strcasecmp(al, "groups")) rules = R_GROUPS;
+ if (!strcasecmp(al, "rows")) rules = R_ROWS;
+ if (!strcasecmp(al, "cols")) rules = R_COLS;
+ if (!strcasecmp(al, "all")) rules = R_ALL;
+ mem_free(al);
+ }
+ if (!border) frame = F_VOID;
+ wf = 0;
+ if ((width = get_width(attr, "width", gf_val(p->data || p->xp, !!gp->data))) == -1) {
+ width = par_format.width - (par_format.leftmargin + par_format.rightmargin) * gf_val(1, G_HTML_MARGIN);
+ if (width < 0) width = 0;
+ wf = 1;
+ }
+ if (!(t = parse_table(html, eof, end, &bgcolor, gf_val(p->data || p->xp, !!gp->data), &bad_html, &bad_html_n))) {
+ if (bad_html) mem_free(bad_html);
+ goto ret0;
+ }
+ for (i = 0; i < bad_html_n; i++) {
+ while (bad_html[i].s < bad_html[i].e && WHITECHAR(*bad_html[i].s)) bad_html[i].s++;
+ while (bad_html[i].s < bad_html[i].e && WHITECHAR(bad_html[i].e[-1])) bad_html[i].e--;
+ if (bad_html[i].s < bad_html[i].e) parse_html(bad_html[i].s, bad_html[i].e, put_chars_f, line_break_f, special_f, gf_val((void *)p, (void *)gp), NULL);
+ }
+ mem_free(bad_html);
+ html_stack_dup();
+ html_top.dontkill = 1;
+ par_format.align = AL_LEFT;
+#ifdef G
+ if (F) {
+ t->gp = gp;
+ } else
+#endif
+ {
+ t->p = p;
+ }
+ t->bordercolor = get_attr_val(attr, "bordercolor");
+ t->align = align;
+ t->border = border;
+ t->cellpd = cellpd;
+ t->vcellpd = vcellpd;
+ t->cellsp = cellsp;
+ t->frame = frame;
+ t->rules = rules;
+ t->width = width;
+ t->wf = wf;
+ cpd_pass = 0;
+ cpd_last = t->cellpd;
+ cpd_width = 0; /* not needed, but let the warning go away */
+ again:
+ get_cell_widths(t);
+ if (get_column_widths(t)) goto ret2;
+ get_table_width(t);
+ if (gf_val(!p->data && !p->xp, !gp->data)) {
+ if (!wf && t->max_t > width) t->max_t = width;
+ if (t->max_t < t->min_t) t->max_t = t->min_t;
+ if (t->max_t + (par_format.leftmargin + par_format.rightmargin) * gf_val(1, G_HTML_MARGIN) > gf_val(p->xmax, gp->xmax)) *gf_val(&p->xmax, &gp->xmax) = t->max_t + (par_format.leftmargin + par_format.rightmargin) * gf_val(1, G_HTML_MARGIN);
+ if (t->min_t + (par_format.leftmargin + par_format.rightmargin) * gf_val(1, G_HTML_MARGIN) > gf_val(p->x, gp->x)) *gf_val(&p->x, &gp->x) = t->min_t + (par_format.leftmargin + par_format.rightmargin) * gf_val(1, G_HTML_MARGIN);
+ goto ret2;
+ }
+ if (!F && !cpd_pass && t->min_t > width && t->cellpd) {
+ t->cellpd = 0;
+ cpd_pass = 1;
+ cpd_width = t->min_t;
+ goto again;
+ }
+ if (cpd_pass == 1 && t->min_t > cpd_width) {
+ t->cellpd = cpd_last;
+ cpd_pass = 2;
+ goto again;
+ }
+ /*debug("%d %d %d", t->min_t, t->max_t, width);*/
+ if (t->min_t >= width) distribute_widths(t, t->min_t);
+ else if (t->max_t < width && wf) distribute_widths(t, t->max_t);
+ else distribute_widths(t, width);
+ if (!F && !p->data && p->xp == 1) {
+ int ww = t->rw + par_format.leftmargin + par_format.rightmargin;
+ if (ww > par_format.width) ww = par_format.width;
+ if (ww < t->rw) ww = t->rw;
+ if (ww > p->x) p->x = ww;
+ p->cy += t->rh;
+ goto ret2;
+ }
+#ifdef HTML_TABLE_2ND_PASS
+ if (!F) check_table_widths(t);
+#endif
+ get_table_heights(t);
+#ifdef G
+ if (F) {
+ gp->link_num = t->link_num;
+ process_g_table(gp, t);
+ t = NULL;
+ goto ret3;
+ }
+#endif
+
+ x = par_format.leftmargin;
+ if (align == AL_CENTER) x = (par_format.width + par_format.leftmargin - par_format.rightmargin - t->rw) / 2;
+ if (align == AL_RIGHT) x = par_format.width - par_format.rightmargin - t->rw;
+ if (x + t->rw > par_format.width) x = par_format.width - t->rw;
+ if (x < 0) x = 0;
+ /*display_table(t, x, p->cy, &cye);*/
+ if (!p->data) {
+ if (t->rw + par_format.leftmargin + par_format.rightmargin > p->x) p->x = t->rw + par_format.leftmargin + par_format.rightmargin;
+ p->cy += t->rh;
+ goto ret2;
+ }
+
+ n = p->data->nodes.next;
+ n->yw = p->yp - n->y + p->cy;
+ display_complicated_table(t, x, p->cy, &cye);
+ display_table_frames(t, x, p->cy);
+ nn = mem_alloc(sizeof(struct node));
+ nn->x = n->x;
+ nn->y = p->yp + cye;
+ nn->xw = n->xw;
+ add_to_list(p->data->nodes, nn);
+ /*if (p->cy + t->rh != cye) internal("size does not match; 1:%d, 2:%d", p->cy + t->rh, cye);*/
+ p->cy = cye;
+
+ ret2:
+ *gf_val(&p->link_num, &gp->link_num) = t->link_num;
+#ifdef G
+ ret3:
+#endif
+ if (!F) if (p->cy > p->y) p->y = p->cy;
+ if (t) free_table(t);
+ kill_html_stack_item(&html_top);
+ ret0:
+ table_level--;
+ if (!table_level) {
+ if (!F) free_table_cache();
+#ifdef G
+ else g_free_table_cache();
+#endif
+ }
+ AF = AF_SAVE;
+}
+
+#ifdef G
+
+static void add_to_rect_sets(struct rect_set ***s, int *n, struct rect *r)
+{
+ int i, j;
+ for (i = r->y1 >> RECT_BOUND_BITS; i <= (r->y2 - 1) >> RECT_BOUND_BITS; i++) {
+ if (i >= *n) {
+ struct rect_set **ns;
+ if ((unsigned)i > MAXINT / sizeof(struct rect_set *) - 1) overalloc();
+ ns = mem_realloc(*s, (i + 1) * sizeof(struct rect_set *));
+ for (j = *n; j < i + 1; j++) ns[j] = init_rect_set();
+ *s = ns;
+ *n = i + 1;
+ }
+ add_to_rect_set(&(*s)[i], r);
+ }
+}
+
+static void add_to_cell_sets(struct table_cell ****s, int **nn, int *n, struct rect *r, struct table_cell *c)
+{
+ int i, j;
+ for (i = r->y1 >> RECT_BOUND_BITS; i <= (r->y2 - 1) >> RECT_BOUND_BITS; i++) {
+ if (i >= *n) {
+ struct table_cell ***ns;
+ int *nnn;
+ if ((unsigned)i > MAXINT / sizeof(struct table_cell ***) - 1) overalloc();
+ if ((unsigned)i > MAXINT / sizeof(int *) - 1) overalloc();
+ ns = mem_realloc(*s, (i + 1) * sizeof(struct table_cell ***));
+ nnn = mem_realloc(*nn, (i + 1) * sizeof(int *));
+ for (j = *n; j < i + 1; j++) ns[j] = DUMMY, nnn[j] = 0;
+ *s = ns;
+ *nn = nnn;
+ *n = i + 1;
+ }
+ {
+ struct table_cell **nc;
+ if ((unsigned)(*nn)[i] > MAXINT / sizeof(struct table_cell *) - 1) overalloc();
+ nc = mem_realloc((*s)[i], ((*nn)[i] + 1) * sizeof(struct table_cell *));
+ nc[(*nn)[i]] = c;
+ (*s)[i] = nc;
+ (*nn)[i]++;
+ }
+ }
+}
+
+static void table_mouse_event(struct f_data_c *fd, struct g_object_table *o, int x, int y, int b)
+{
+ struct table *t = o->t;
+ int i, j;
+ for (j = 0; j < t->y; j++) for (i = 0; i < t->x; i++) {
+ struct table_cell *c = CELL(t, i, j);
+ if (c->root) if (!g_forward_mouse(fd, (struct g_object *)c->root, x, y, b)) return;
+ }
+}
+
+static void draw_rect_set(struct graphics_device *dev, struct background *bg, struct rect_set *rs, int x, int y)
+{
+ int i;
+ for (i = 0; i < rs->m; i++) {
+ struct rect *r = &rs->r[i];
+ if (is_rect_valid(r))
+ g_draw_background(dev, bg, x + r->x1, y + r->y1, r->x2 - r->x1, r->y2 - r->y1);
+ }
+}
+
+static void draw_rect_sets(struct graphics_device *dev, struct background *bg, struct rect_set **rs, int nrs, int x, int y)
+{
+ int i;
+ for (i = (dev->clip.y1 - y) >> RECT_BOUND_BITS; i <= (dev->clip.y2 - y - 1) >> RECT_BOUND_BITS; i++) if (i >= 0 && i < nrs) {
+ draw_rect_set(dev, bg, rs[i], x, y);
+ }
+}
+
+static void table_draw(struct f_data_c *fd, struct g_object_table *o, int x, int y)
+{
+ static tcount dgen = 0;
+ tcount my_dgen = ++dgen;
+ int i, j;
+ struct table *t = o->t;
+ struct graphics_device *dev = fd->ses->term->dev;
+ /*
+ for (j = 0; j < t->y; j++) for (i = 0; i < t->x; i++) {
+ struct table_cell *c = CELL(t, i, j);*/
+ /*
+ fprintf(stderr, "Y: %d %d\n", x, y);
+ fprintf(stderr, "bounds: %d %d\n", dev->clip.y1 + y, dev->clip.y2 + y);
+ */
+ for (i = (dev->clip.y1 - y) >> RECT_BOUND_BITS; i <= (dev->clip.y2 - y - 1) >> RECT_BOUND_BITS; i++) if (i >= 0 && i < t->nr_cells) for (j = 0; j < t->w_cells[i]; j++) {
+ struct table_cell *c = t->r_cells[i][j];
+ /*fprintf(stderr, "draw: %d %d\n", i, j);*/
+ if (c->root && c->dgen != my_dgen) {
+ struct rect clip;
+ c->dgen = my_dgen;
+ memcpy(&clip, &c->rect, sizeof(struct rect));
+ clip.x1 += x;
+ clip.x2 += x;
+ clip.y1 += y;
+ clip.y2 += y;
+ if (!do_rects_intersect(&clip, &dev->clip)) continue;
+ draw_rect_set(dev, c->root->bg, c->brd, x, y);
+ restrict_clip_area(dev, &clip, x + c->root->x, y + c->root->y, x + c->root->x + c->root->xw/*c->g_width*/, y + c->root->y + c->root->yw);
+ c->root->draw(fd, c->root, x + c->root->x, y + c->root->y);
+ drv->set_clip_area(dev, &clip);
+ }
+ }
+ draw_rect_sets(dev, t->bg, t->r_bg, t->nr_bg, x, y);
+ draw_rect_sets(dev, t->frame_bg, t->r_frame, t->nr_frame, x, y);
+}
+
+static void table_destruct(struct g_object_table *o)
+{
+ free_table(o->t);
+ mem_free(o);
+}
+
+static void table_get_list(struct g_object_table *o, void (*fn)(struct g_object *parent, struct g_object *child))
+{
+ struct table *t = o->t;
+ int i, j;
+ for (j = 0; j < t->y; j++) for (i = 0; i < t->x; i++) {
+ struct table_cell *c = CELL(t, i, j);
+ if (c->root) fn((struct g_object *)o, (struct g_object *)c->root);
+ }
+}
+
+void table_bg(struct text_attrib *ta, unsigned char bgstr[8])
+{
+ if (ta->bg.r + ta->bg.g * 3 + ta->bg.b * 5 > 9 * 128) strcpy(bgstr, "#000000");
+ else if (ta->fg.r > G_HTML_TABLE_FRAME_COLOR && ta->fg.g > G_HTML_TABLE_FRAME_COLOR && ta->fg.b > G_HTML_TABLE_FRAME_COLOR) {
+ unsigned char max = ta->fg.r;
+ if (ta->fg.g > max) max = ta->fg.g;
+ if (ta->fg.b > max) max = ta->fg.b;
+ max &= 0xff;
+ sprintf(bgstr, "#%02x%02x%02x", max, max, max);
+ } else sprintf(bgstr, "#%02x%02x%02x", G_HTML_TABLE_FRAME_COLOR, G_HTML_TABLE_FRAME_COLOR, G_HTML_TABLE_FRAME_COLOR);
+}
+
+static void process_g_table(struct g_part *gp, struct table *t)
+{
+ int i, j;
+ int x, y;
+ struct g_object_table *o;
+ signed char *fv, *fh;
+ unsigned char bgstr[8];
+ struct text_attrib *ta;
+ struct rgb dummy;
+ y = 0;
+ for (j = 0; j < t->y; j++) {
+ x = 0;
+ y += g_get_hline_pad(t, j, NULL, NULL);
+ for (i = 0; i < t->x; i++) {
+ struct table_cell *c;
+ x += g_get_vline_pad(t, i, NULL, NULL);
+ c = CELL(t, i, j);
+ if (c->root) {
+ int s;
+ int yw = 0;
+ for (s = 0; s < c->rowspan; s++) {
+ yw += t->r_heights[j + s];
+ if (s < c->rowspan - 1) yw += g_get_hline_pad(t, j + s + 1, NULL, NULL);
+ }
+ c->root->x = x, c->root->y = y;
+ c->root->y += c->valign != VAL_MIDDLE && c->valign != VAL_BOTTOM ? 0 : (yw - c->root->yw) / (c->valign == VAL_MIDDLE ? 2 : 1);
+ }
+ x += t->w_c[i];
+ }
+ y += t->r_heights[j];
+ }
+
+ if (html_top.next != (struct html_element *)(void *)&html_stack) ta = &html_top.next->attr;
+ else ta = &format;
+
+ if (t->bordercolor && !decode_color(t->bordercolor, &dummy)) {
+ if (!(t->frame_bg = get_background(NULL, t->bordercolor))) {
+ free_table(t);
+ return;
+ }
+ } else {
+ table_bg(ta, bgstr);
+ if (!(t->frame_bg = get_background(NULL, bgstr))) {
+ free_table(t);
+ return;
+ }
+ }
+
+ if ((unsigned)t->x > MAXINT) overalloc();
+ if ((unsigned)t->y > MAXINT) overalloc();
+ if (((unsigned)t->x + 2) * ((unsigned)t->y + 2) / ((unsigned)t->x + 2) != ((unsigned)t->y + 2)) overalloc();
+ if (((unsigned)t->x + 2) * ((unsigned)t->y + 2) > MAXINT) overalloc();
+ fh = mem_alloc((t->x + 2) * (t->y + 1));
+ fv = mem_alloc((t->x + 1) * (t->y + 2));
+ get_table_frame(t, fv, fh);
+ y = 0;
+ for (j = 0; j <= t->y; j++) {
+ int ypad, ypos, ysize;
+ ypad = g_get_hline_pad(t, j, &ypos, &ysize);
+ x = 0;
+ for (i = 0; i <= t->x; i++) {
+ struct rect r;
+ int xpad, xpos, xsize;
+ xpad = g_get_vline_pad(t, i, &xpos, &xsize);
+ if (i < t->x && j < t->y) {
+ CELL(t, i, j)->xpos = x + xpos + xsize;
+ CELL(t, i, j)->ypos = y + ypos + ysize;
+ }
+ if (i > 0 && j > 0) {
+ struct table_cell *c = CELL(t, i - 1, j - 1);
+ c->xw = x + xpos - c->xpos;
+ c->yw = y + ypos - c->ypos;
+ /*debug("C: %d %d %d %d", c->xpos, c->ypos, c->xw, c->yw);*/
+ /*debug("%d %d %d", y, ypos, c->ypos);*/
+ if (!c->used && !c->spanned) {
+ r.x1 = c->xpos, r.x2 = c->xpos + c->xw;
+ r.y1 = c->ypos, r.y2 = c->ypos + c->yw;
+ add_to_rect_sets(&t->r_bg, &t->nr_bg, &r);
+ }
+ }
+ r.x1 = x + xpos, r.x2 = x + xpos + xsize;
+ r.y1 = y + ypos, r.y2 = y + ypos + ysize;
+ if (H_LINE(i-1,j) || H_LINE(i,j) || V_LINE(i,j-1) || V_LINE(i,j))
+ add_to_rect_sets(&t->r_frame, &t->nr_frame, &r);
+ else if (H_LINE_X(i-1,j) != -2 || H_LINE_X(i,j) != -2 || V_LINE_X(i,j-1) != -2 || V_LINE_X(i,j) != -2) add_to_rect_sets(&t->r_bg, &t->nr_bg, &r);
+ if (i < t->x) {
+ int l;
+ int b;
+ g_get_vline_pad(t, i + 1, &b, NULL);
+ r.x1 = r.x2;
+ r.x2 = x + xpad + t->w_c[i] + b;
+ l = H_LINE_X(i,j);
+ if (l == -2)
+ ;
+ else if (l > 0) add_to_rect_sets(&t->r_frame, &t->nr_frame, &r);
+ else add_to_rect_sets(&t->r_bg, &t->nr_bg, &r);
+ }
+ r.x1 = x + xpos, r.x2 = x + xpos + xsize;
+ if (j < t->y) {
+ int l;
+ int b;
+ g_get_hline_pad(t, j + 1, &b, NULL);
+ r.y1 = r.y2;
+ r.y2 = y + ypad + t->r_heights[j] + b;
+ l = V_LINE_X(i,j);
+ if (l == -2)
+ ;
+ else if (l > 0) add_to_rect_sets(&t->r_frame, &t->nr_frame, &r);
+ else add_to_rect_sets(&t->r_bg, &t->nr_bg, &r);
+ }
+ if (i < t->x) x += xpad + t->w_c[i];
+ }
+ if (j < t->y) y += ypad + t->r_heights[j];
+ }
+
+ for (j = 0; j < t->y; j++) for (i = 0; i < t->x; i++) {
+ struct table_cell *c = CELL(t, i, j);
+ if (c->used && !c->spanned && c->root) {
+ struct table_cell *d = CELL(t, i + c->colspan - 1, j + c->rowspan - 1);
+ struct rect r;
+ r.x1 = c->xpos;
+ r.y1 = c->ypos;
+ r.x2 = d->xpos + d->xw;
+ r.y2 = d->ypos + d->yw;
+ add_to_cell_sets(&t->r_cells, &t->w_cells, &t->nr_cells, &r, c);
+ memcpy(&c->rect, &r, sizeof(struct rect));
+ c->brd = init_rect_set();
+ /*debug("%d,%d %d,%d", r.x1, r.y1, r.x2, r.y2);*/
+ add_to_rect_set(&c->brd, &r);
+ r.x1 = c->root->x;
+ r.y1 = c->root->y;
+ r.x2 = c->root->x + c->root->xw;
+ r.y2 = c->root->y + c->root->yw;
+ exclude_rect_from_set(&c->brd, &r);
+ /*debug("%d,%d %d,%d", r.x1, r.y1, r.x2, r.y2);*/
+ }
+ }
+
+ mem_free(fh);
+ mem_free(fv);
+
+ o = mem_calloc(sizeof(struct g_object_table));
+ o->mouse_event = table_mouse_event;
+ o->draw = table_draw;
+ o->destruct = table_destruct;
+ o->get_list = table_get_list;
+ o->xw = t->rw;
+ o->yw = t->rh;
+ o->t = t;
+ t->bg = gp->root->bg;
+ flush_pending_text_to_line(gp);
+ flush_pending_line_to_obj(gp, 0);
+ gp->cx = -1;
+ gp->cx_w = 0;
+ add_object_to_line(gp, &gp->line, (struct g_object *)o);
+ flush_pending_text_to_line(gp);
+ par_format.align = t->align;
+ flush_pending_line_to_obj(gp, 0);
+ gp->cx = -1;
+ gp->cx_w = 0;
+}
+
+#endif
diff --git a/http.c b/http.c
new file mode 100644
index 0000000..814eeba
--- /dev/null
+++ b/http.c
@@ -0,0 +1,1042 @@
+/* http.c
+ * HTTP protocol client implementation
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+struct http_connection_info {
+ int bl_flags;
+ int http10;
+ int close;
+ off_t length;
+ int version;
+ int chunk_remaining;
+};
+
+/* prototypes */
+static void http_send_header(struct connection *);
+static void http_get_header(struct connection *);
+static void add_user_agent(unsigned char **hdr, int *l);
+static void add_referer(unsigned char **hdr, int *l, unsigned char *url, unsigned char *prev_url);
+static void add_accept(unsigned char **hdr, int *l);
+static void add_accept_encoding(unsigned char **hdr, int *l, unsigned char *url, struct connection *c);
+static void add_accept_charset(unsigned char **hdr, int *l, struct http_connection_info *info);
+static void add_accept_language(unsigned char **hdr, int *l, struct http_connection_info *info);
+static void add_connection(unsigned char **hdr, int *l, int http10, int proxy, int post);
+static void add_if_modified(unsigned char **hdr, int *l, struct connection *c);
+static void add_range(unsigned char **hdr, int *l, unsigned char *url, struct connection *c);
+static void add_pragma_no_cache(unsigned char **hdr, int *l, int no_cache);
+static void add_auth_string(unsigned char **hdr, int *l, unsigned char *url);
+static void add_post_header(unsigned char **hdr, int *l, unsigned char **post);
+static void add_extra_options(unsigned char **hdr, int *l);
+
+
+/* Returns a string pointer with value of the item.
+ * The string must be destroyed after usage with mem_free.
+ */
+unsigned char *parse_http_header(unsigned char *head, unsigned char *item, unsigned char **ptr)
+{
+ unsigned char *i, *f, *g, *h;
+ if (!head) return NULL;
+ for (f = head; *f; f++) {
+ if (*f != 10) continue;
+ f++;
+ for (i = item; *i && *f; i++, f++)
+ if (upcase(*i) != upcase(*f)) goto cont;
+ if (!*f) break;
+ if (f[0] == ':') {
+ while (f[1] == ' ') f++;
+ for (g = ++f; *g >= ' '; g++)
+ ;
+ while (g > f && g[-1] == ' ') g--;
+ h = mem_alloc(g - f + 1);
+ memcpy(h, f, g - f);
+ h[g - f] = 0;
+ if (ptr) {
+ *ptr = f;
+ }
+ return h;
+ }
+ cont:;
+ f--;
+ }
+ return NULL;
+}
+
+unsigned char *parse_header_param(unsigned char *x, unsigned char *e, int all)
+{
+ unsigned char u;
+ size_t le = strlen(e);
+ int lp;
+ unsigned char *y = x;
+ if (!all) {
+ a:
+ if (!(y = strchr(y, ';'))) return NULL;
+ }
+ while (*y && (*y == ';' || *y <= ' ')) y++;
+ if (strlen(y) < le) return NULL;
+ if (casecmp(y, e, le)) goto a;
+ y += le;
+ while (*y && (*y <= ' ' || *y == '=')) y++;
+ u = ';';
+ if (*y == '\'' || *y == '"') u = *y++;
+ lp = 0;
+ while (y[lp] >= ' ' && y[lp] != u) {
+ lp++;
+ if (lp == MAXINT) overalloc();
+ }
+ return memacpy(y, lp);
+}
+
+int get_http_code(unsigned char *head, int *code, int *version)
+{
+ if (!head) return -1;
+ while (head[0] == ' ') head++;
+ if (upcase(head[0]) != 'H' || upcase(head[1]) != 'T' || upcase(head[2]) != 'T' ||
+ upcase(head[3]) != 'P') return -1;
+ if (head[4] == '/' && head[5] >= '0' && head[5] <= '9'
+ && head[6] == '.' && head[7] >= '0' && head[7] <= '9' && head[8] <= ' ') {
+ if (version) *version = (head[5] - '0') * 10 + head[7] - '0';
+ } else if (version) *version = 0;
+ for (head += 4; *head > ' '; head++)
+ ;
+ if (*head++ != ' ') return -1;
+ if (head[0] < '1' || head [0] > '9' || head[1] < '0' || head[1] > '9' ||
+ head[2] < '0' || head [2] > '9') {
+ if (code) *code = 200;
+ return 0;
+ }
+ if (code) *code = (head[0]-'0')*100 + (head[1]-'0')*10 + head[2]-'0';
+ return 0;
+}
+
+static struct {
+ unsigned char *name;
+ int bugs;
+} buggy_servers[] = {
+ { "mod_czech/3.1.0", BL_HTTP10 },
+ { "Purveyor", BL_HTTP10 },
+ { "Netscape-Enterprise", BL_HTTP10 | BL_NO_ACCEPT_LANGUAGE },
+ { "Apache Coyote", BL_HTTP10 },
+ { "lighttpd", BL_HTTP10 },
+ { "FORPSI", BL_NO_RANGE },
+ { "Sausalito", BL_HTTP10 },
+ { NULL, 0 }
+};
+
+static int check_http_server_bugs(unsigned char *url, struct http_connection_info *info, unsigned char *head)
+{
+ unsigned char *server;
+ int i, bugs;
+ if (!http_options.allow_blacklist || info->http10) return 0;
+ if (!(server = parse_http_header(head, "Server", NULL))) return 0;
+ bugs = 0;
+ for (i = 0; buggy_servers[i].name; i++) if (strstr(server, buggy_servers[i].name)) bugs |= buggy_servers[i].bugs;
+ mem_free(server);
+ if (bugs && (server = get_host_name(url))) {
+ add_blacklist_entry(server, bugs);
+ mem_free(server);
+ return bugs & ~BL_NO_RANGE;
+ }
+ return 0;
+}
+
+static void http_end_request(struct connection *c, int notrunc, int nokeepalive, int state)
+{
+ if (state == S__OK) {
+ if (c->cache) {
+ if (!notrunc) truncate_entry(c->cache, c->from, 1);
+ c->cache->incomplete = 0;
+ }
+ }
+ setcstate(c, state);
+ if (c->info && !((struct http_connection_info *)c->info)->close
+#ifdef HAVE_SSL
+ && !c->ssl /* We won't keep alive ssl connections */
+#endif
+ && !nokeepalive
+ && (!http_options.bug_post_no_keepalive || !strchr(c->url, POST_CHAR))) {
+ add_keepalive_socket(c, HTTP_KEEPALIVE_TIMEOUT);
+ } else {
+ abort_connection(c);
+ }
+}
+
+void http_func(struct connection *c)
+{
+ /*setcstate(c, S_CONN);*/
+ /*set_timeout(c);*/
+ if (get_keepalive_socket(c)) {
+ int p;
+ if ((p = get_port(c->url)) == -1) {
+ setcstate(c, S_INTERNAL);
+ abort_connection(c);
+ return;
+ }
+ make_connection(c, p, &c->sock1, http_send_header);
+ } else http_send_header(c);
+}
+
+void proxy_func(struct connection *c)
+{
+ http_func(c);
+}
+
+static void add_url_to_str(unsigned char **str, int *l, unsigned char *url)
+{
+ unsigned char *sp;
+ for (sp = url; *sp && *sp != POST_CHAR; sp++) {
+ if (*sp <= ' ') {
+ unsigned char esc[4];
+ sprintf(esc, "%%%02X", (int)*sp);
+ add_to_str(str, l, esc);
+ } else {
+ add_chr_to_str(str, l, *sp);
+ }
+ }
+}
+
+static void http_send_header(struct connection *c)
+{
+ struct http_connection_info *info;
+ int http10 = http_options.http10;
+ unsigned char *hdr;
+ unsigned char *h, *u;
+ unsigned char *u2;
+ int l = 0;
+ unsigned char *post;
+ unsigned char *host;
+
+ if (!c->cache) {
+ if (!find_in_cache(c->url, &c->cache))
+ c->cache->refcount--;
+ }
+
+ host = upcase(c->url[0]) != 'P' ? c->url : get_url_data(c->url);
+ set_timeout(c);
+ info = mem_calloc(sizeof(struct http_connection_info));
+ c->info = info;
+ if ((h = get_host_name(host))) {
+ info->bl_flags = get_blacklist_flags(h);
+ mem_free(h);
+ }
+ if (info->bl_flags & BL_HTTP10) http10 = 1;
+ info->http10 = http10;
+ post = strchr(host, POST_CHAR);
+ if (post) post++;
+ hdr = init_str();
+ if (!post) add_to_str(&hdr, &l, "GET ");
+ else {
+ add_to_str(&hdr, &l, "POST ");
+ c->unrestartable = 2;
+ }
+ if (upcase(c->url[0]) != 'P') add_to_str(&hdr, &l, "/");
+ if (!(u = get_url_data(c->url))) {
+ http_bad_url:
+ mem_free(hdr);
+ http_end_request(c, 0, 1, S_BAD_URL);
+ return;
+ }
+ if (post && post < u) {
+ goto http_bad_url;
+ }
+ u2 = u;
+ if (upcase(c->url[0]) == 'P' && !*c->socks_proxy && *proxies.dns_append) {
+ unsigned char *u_host;
+ int u_host_len;
+ int u2_len = 0;
+ if (parse_url(u, NULL, NULL, NULL, NULL, NULL, &u_host, &u_host_len, NULL, NULL, NULL, NULL, NULL)) goto http_bad_url;
+ u2 = init_str();
+ add_bytes_to_str(&u2, &u2_len, u, u_host + u_host_len - u);
+ add_to_str(&u2, &u2_len, proxies.dns_append);
+ add_to_str(&u2, &u2_len, u_host + u_host_len);
+ }
+ add_url_to_str(&hdr, &l, u2);
+ if (u2 != u) mem_free(u2);
+ if (!http10) add_to_str(&hdr, &l, " HTTP/1.1\r\n");
+ else add_to_str(&hdr, &l, " HTTP/1.0\r\n");
+ if ((h = get_host_name(host))) {
+ add_to_str(&hdr, &l, "Host: ");
+ add_to_str(&hdr, &l, h);
+ mem_free(h);
+ if ((h = get_port_str(host))) {
+ add_to_str(&hdr, &l, ":");
+ add_to_str(&hdr, &l, h);
+ mem_free(h);
+ }
+ add_to_str(&hdr, &l, "\r\n");
+ }
+ add_user_agent(&hdr, &l);
+ add_referer(&hdr, &l, host, c->prev_url);
+ add_accept(&hdr, &l);
+ add_accept_encoding(&hdr, &l, host, c);
+ add_accept_charset(&hdr, &l, info);
+ add_accept_language(&hdr, &l, info);
+ add_connection(&hdr, &l, http10, upcase(c->url[0]) == 'P', !!post);
+ add_if_modified(&hdr, &l, c);
+ add_range(&hdr, &l, host, c);
+ add_pragma_no_cache(&hdr, &l, c->no_cache);
+ add_auth_string(&hdr, &l, c->url);
+ add_post_header(&hdr, &l, &post);
+ add_cookies(&hdr, &l, host);
+ add_extra_options(&hdr, &l);
+ add_to_str(&hdr, &l, "\r\n");
+ if (post) {
+ while (post[0] && post[1]) {
+ int h1, h2;
+ h1 = post[0] <= '9' ? (unsigned)post[0] - '0' : post[0] >= 'A' ? upcase(post[0]) - 'A' + 10 : 0;
+ if (h1 < 0 || h1 >= 16) h1 = 0;
+ h2 = post[1] <= '9' ? (unsigned)post[1] - '0' : post[1] >= 'A' ? upcase(post[1]) - 'A' + 10 : 0;
+ if (h2 < 0 || h2 >= 16) h2 = 0;
+ add_chr_to_str(&hdr, &l, h1 * 16 + h2);
+ post += 2;
+ }
+ }
+ write_to_socket(c, c->sock1, hdr, l, http_get_header);
+ mem_free(hdr);
+ setcstate(c, S_SENT);
+}
+
+static void add_user_agent(unsigned char **hdr, int *l)
+{
+ add_to_str(hdr, l, "User-Agent: ");
+ if (!(*http_options.header.fake_useragent)) {
+ add_to_str(hdr, l, "Links (" VERSION_STRING "; ");
+ add_to_str(hdr, l, system_name);
+ add_to_str(hdr, l, "; ");
+ add_to_str(hdr, l, compiler_name);
+ add_to_str(hdr, l, "; ");
+ if (!F && !list_empty(terminals)) {
+ struct terminal *term;
+ unsigned char *t = "text";
+ foreach(term, terminals) if (term->spec->braille) t = "braille";
+ add_to_str(hdr, l, t);
+ }
+#ifdef G
+ else if (F && drv) {
+ add_to_str(hdr, l, drv->name);
+ }
+#endif
+ else {
+ add_to_str(hdr, l, "dump");
+ }
+ add_to_str(hdr, l, ")\r\n");
+ } else {
+ add_to_str(hdr, l, http_options.header.fake_useragent);
+ add_to_str(hdr, l, "\r\n");
+ }
+}
+
+static void add_referer(unsigned char **hdr, int *l, unsigned char *url, unsigned char *prev_url)
+{
+ switch (http_options.header.referer)
+ {
+ case REFERER_FAKE:
+ add_to_str(hdr, l, "Referer: ");
+ add_to_str(hdr, l, http_options.header.fake_referer);
+ add_to_str(hdr, l, "\r\n");
+ break;
+
+ case REFERER_SAME_URL:
+ add_to_str(hdr, l, "Referer: ");
+ add_url_to_str(hdr, l, url);
+ add_to_str(hdr, l, "\r\n");
+ break;
+
+ case REFERER_REAL_SAME_SERVER:
+ {
+ unsigned char *h, *j;
+ int brk = 1;
+ if ((h = get_host_name(url))) {
+ if ((j = get_host_name(prev_url))) {
+ if (!strcasecmp(h, j)) brk = 0;
+ mem_free(j);
+ }
+ mem_free(h);
+ }
+ if (brk) break;
+ /* fall through */
+ }
+ case REFERER_REAL:
+ {
+ unsigned char *ref;
+ unsigned char *user, *ins;
+ int ulen;
+ if (!prev_url) break; /* no referrer */
+
+ ref = stracpy(prev_url);
+ if (!parse_url(ref, NULL, &user, &ulen, NULL, NULL, &ins, NULL, NULL, NULL, NULL, NULL, NULL) && ulen && ins) {
+ memmove(user, ins, strlen(ins) + 1);
+ }
+ add_to_str(hdr, l, "Referer: ");
+ add_url_to_str(hdr, l, ref);
+ add_to_str(hdr, l, "\r\n");
+ mem_free(ref);
+ }
+ break;
+ }
+}
+
+static void add_accept(unsigned char **hdr, int *l)
+{
+ add_to_str(hdr, l, "Accept: */*\r\n");
+}
+
+#ifdef HAVE_ANY_COMPRESSION
+static int advertise_compression(unsigned char *url, struct connection *c)
+{
+ struct http_connection_info *info = c->info;
+ unsigned char *extd;
+ if (c->no_compress || http_options.no_compression || info->bl_flags & BL_NO_COMPRESSION)
+ return 0;
+ extd = strrchr(url, '.');
+ if (extd && get_compress_by_extension(extd + 1, strchr(extd + 1, 0)))
+ return 0;
+ return 1;
+}
+#endif
+
+static void add_accept_encoding(unsigned char **hdr, int *l, unsigned char *url, struct connection *c)
+{
+#if defined(HAVE_ZLIB) || defined(HAVE_BZIP2) || defined(HAVE_LZMA)
+#define info ((struct http_connection_info *)c->info)
+ if (advertise_compression(url, c)) {
+ int orig_l = *l;
+ int l1;
+ add_to_str(hdr, l, "Accept-Encoding: ");
+ l1 = *l;
+#if defined(HAVE_ZLIB)
+ if (*l != l1) add_chr_to_str(hdr, l, ',');
+ add_to_str(hdr, l, "gzip,deflate");
+#endif
+#if defined(HAVE_BZIP2)
+ if (!(info->bl_flags & BL_NO_BZIP2)) {
+ if (*l != l1) add_chr_to_str(hdr, l, ',');
+ add_to_str(hdr, l, "bzip2");
+ }
+#endif
+#if defined(HAVE_LZMA)
+ if (!(info->bl_flags & BL_NO_BZIP2)) {
+ if (*l != l1) add_chr_to_str(hdr, l, ',');
+ add_to_str(hdr, l, "lzma,lzma2");
+ }
+#endif
+ if (*l != l1) add_to_str(hdr, l, "\r\n");
+ else *l = orig_l;
+ }
+#undef info
+#endif
+}
+
+static void add_accept_charset(unsigned char **hdr, int *l, struct http_connection_info *info)
+{
+ static unsigned char *accept_charset = NULL;
+ if (!accept_charset) {
+ int i;
+ unsigned char *cs, *ac;
+ int aclen = 0;
+ ac = init_str();
+ for (i = 0; (cs = get_cp_mime_name(i)); i++) {
+ if (aclen) add_to_str(&ac, &aclen, ",");
+ else add_to_str(&ac, &aclen, "Accept-Charset: ");
+ add_to_str(&ac, &aclen, cs);
+ }
+ if (aclen) add_to_str(&ac, &aclen, "\r\n");
+ retry:
+ if (!(accept_charset = malloc(strlen(ac) + 1))) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ mem_free(ac);
+ return;
+ }
+ strcpy(accept_charset, ac);
+ mem_free(ac);
+ }
+ if (!(info->bl_flags & BL_NO_CHARSET) && !http_options.no_accept_charset) add_to_str(hdr, l, accept_charset);
+}
+
+static void add_accept_language(unsigned char **hdr, int *l, struct http_connection_info *info)
+{
+ if (!(info->bl_flags & BL_NO_ACCEPT_LANGUAGE)) {
+ int la;
+ add_to_str(hdr, l, "Accept-Language: ");
+ la = *l;
+ add_to_str(hdr, l, _(TEXT_(T__ACCEPT_LANGUAGE), NULL));
+ add_to_str(hdr, l, ",");
+ if (!strstr(*hdr + la, "en,") && !strstr(*hdr + la, "en;")) add_to_str(hdr, l, "en;q=0.2,");
+ add_to_str(hdr, l, "*;q=0.1\r\n");
+ }
+}
+
+static void add_connection(unsigned char **hdr, int *l, int http10, int proxy, int post)
+{
+ if (!http10) {
+ if (!proxy) add_to_str(hdr, l, "Connection: ");
+ else add_to_str(hdr, l, "Proxy-Connection: ");
+ if (!post || !http_options.bug_post_no_keepalive) add_to_str(hdr, l, "keep-alive\r\n");
+ else add_to_str(hdr, l, "close\r\n");
+ }
+}
+
+static void add_if_modified(unsigned char **hdr, int *l, struct connection *c)
+{
+ struct cache_entry *e;
+ if ((e = c->cache)) {
+ int code = 0; /* against warning */
+ if (get_http_code(e->head, &code, NULL) || code >= 400) goto skip_ifmod;
+ if (!e->incomplete && e->head && c->no_cache <= NC_IF_MOD) {
+ unsigned char *m;
+ if (e->last_modified) m = stracpy(e->last_modified);
+ else if ((m = parse_http_header(e->head, "Date", NULL)))
+ ;
+ else if ((m = parse_http_header(e->head, "Expires", NULL)))
+ ;
+ else goto skip_ifmod;
+ add_to_str(hdr, l, "If-Modified-Since: ");
+ add_to_str(hdr, l, m);
+ add_to_str(hdr, l, "\r\n");
+ mem_free(m);
+ }
+ skip_ifmod:;
+ }
+}
+
+static void add_range(unsigned char **hdr, int *l, unsigned char *url, struct connection *c)
+{
+ struct cache_entry *e;
+ struct http_connection_info *info = c->info;
+ if ((e = c->cache)) {
+ int code = 0; /* against warning */
+ if (!get_http_code(e->head, &code, NULL) && code >= 300)
+ return;
+ }
+ if (c->from /*&& (c->est_length == -1 || c->from < c->est_length)*/ && c->no_cache < NC_IF_MOD && !(info->bl_flags & BL_NO_RANGE)) {
+/* If the cached entity is compressed and we turned off compression,
+ request the whole file */
+#ifdef HAVE_ANY_COMPRESSION
+ if (!advertise_compression(url, c) && e) {
+ unsigned char *d;
+ if ((d = parse_http_header(e->head, "Transfer-Encoding", NULL))) {
+ mem_free(d);
+ return;
+ }
+ }
+#endif
+ add_to_str(hdr, l, "Range: bytes=");
+ add_num_to_str(hdr, l, c->from);
+ add_to_str(hdr, l, "-\r\n");
+ }
+}
+
+static void add_pragma_no_cache(unsigned char **hdr, int *l, int no_cache)
+{
+ if (no_cache >= NC_PR_NO_CACHE) add_to_str(hdr, l, "Pragma: no-cache\r\nCache-Control: no-cache\r\n");
+}
+
+static void add_auth_string(unsigned char **hdr, int *l, unsigned char *url)
+{
+ unsigned char *h;
+ if ((h = get_auth_string(url))) {
+ add_to_str(hdr, l, h);
+ mem_free(h);
+ }
+}
+
+static void add_post_header(unsigned char **hdr, int *l, unsigned char **post)
+{
+ if (*post) {
+ unsigned char *pd = strchr(*post, '\n');
+ if (pd) {
+ add_to_str(hdr, l, "Content-Type: ");
+ add_bytes_to_str(hdr, l, *post, pd - *post);
+ add_to_str(hdr, l, "\r\n");
+ *post = pd + 1;
+ }
+ add_to_str(hdr, l, "Content-Length: ");
+ add_num_to_str(hdr, l, strlen(*post) / 2);
+ add_to_str(hdr, l, "\r\n");
+ }
+}
+
+static void add_extra_options(unsigned char **hdr, int *l)
+{
+ unsigned char *p = http_options.header.extra_header;
+ while (1) {
+ unsigned char *q = p + strcspn(p, "\\");
+ if (p != q) {
+ unsigned char *c;
+ unsigned char *s = memacpy(p, q - p);
+ c = strchr(s, ':');
+ if (c && casecmp(s, "Cookie:", 7)) {
+ unsigned char *v = NULL; /* against warning */
+ unsigned char *cc = memacpy(s, c - s);
+ unsigned char *x = parse_http_header(*hdr, cc, &v);
+ mem_free(cc);
+ if (x) {
+ unsigned char *new_hdr;
+ int new_l;
+ mem_free(x);
+ new_hdr = init_str();
+ new_l = 0;
+ add_bytes_to_str(&new_hdr, &new_l, *hdr, v - *hdr);
+ while (*++c == ' ')
+ ;
+ add_to_str(&new_hdr, &new_l, c);
+ add_to_str(&new_hdr, &new_l, v + strcspn(v, "\r\n"));
+ mem_free(*hdr);
+ *hdr = new_hdr;
+ *l = new_l;
+ goto already_added;
+ }
+ }
+ add_to_str(hdr, l, s);
+ add_to_str(hdr, l, "\r\n");
+ already_added:
+ mem_free(s);
+ }
+ if (!*q) break;
+ p = q + 1;
+ }
+}
+
+static int is_line_in_buffer(struct read_buffer *rb)
+{
+ int l;
+ for (l = 0; l < rb->len; l++) {
+ if (rb->data[l] == 10) return l + 1;
+ if (l < rb->len - 1 && rb->data[l] == 13 && rb->data[l + 1] == 10) return l + 2;
+ if (l == rb->len - 1 && rb->data[l] == 13) return 0;
+ if (rb->data[l] < ' ') return -1;
+ }
+ return 0;
+}
+
+static void read_http_data(struct connection *c, struct read_buffer *rb)
+{
+ struct http_connection_info *info = c->info;
+ int a;
+ set_timeout(c);
+ if (rb->close == 2) {
+ http_end_request(c, 0, 0, S__OK);
+ return;
+ }
+ if (info->length != -2) {
+ int l = rb->len;
+ if (info->length >= 0 && info->length < l) l = info->length;
+ if ((off_t)(0UL + c->from + l) < 0) {
+ setcstate(c, S_LARGE_FILE);
+ abort_connection(c);
+ return;
+ }
+ c->received += l;
+ a = add_fragment(c->cache, c->from, rb->data, l);
+ if (a < 0) {
+ setcstate(c, a);
+ abort_connection(c);
+ return;
+ }
+ if (a == 1) c->tries = 0;
+ if (info->length >= 0) info->length -= l;
+ c->from += l;
+ kill_buffer_data(rb, l);
+ if (!info->length && !rb->close) {
+ http_end_request(c, 0, 0, S__OK);
+ return;
+ }
+ } else {
+ next_chunk:
+ if (info->chunk_remaining == -2) {
+ int l;
+ if ((l = is_line_in_buffer(rb))) {
+ if (l == -1) {
+ setcstate(c, S_HTTP_ERROR);
+ abort_connection(c);
+ return;
+ }
+ kill_buffer_data(rb, l);
+ if (l <= 2) {
+ http_end_request(c, 0, 0, S__OK);
+ return;
+ }
+ goto next_chunk;
+ }
+ } else if (info->chunk_remaining == -1) {
+ int l;
+ if ((l = is_line_in_buffer(rb))) {
+ unsigned char *de;
+ long n = 0; /* warning, go away */
+ if (l != -1) n = strtol(rb->data, (char **)(void *)&de, 16);
+ if (l == -1 || n < 0 || n >= MAXINT || de == rb->data) {
+ setcstate(c, S_HTTP_ERROR);
+ abort_connection(c);
+ return;
+ }
+ kill_buffer_data(rb, l);
+ if (!(info->chunk_remaining = n)) info->chunk_remaining = -2;
+ goto next_chunk;
+ }
+ } else {
+ int l = info->chunk_remaining;
+ if (l > rb->len) l = rb->len;
+ if ((off_t)(0UL + c->from + l) < 0) {
+ setcstate(c, S_LARGE_FILE);
+ abort_connection(c);
+ return;
+ }
+ c->received += l;
+ a = add_fragment(c->cache, c->from, rb->data, l);
+ if (a < 0) {
+ setcstate(c, a);
+ abort_connection(c);
+ return;
+ }
+ if (a == 1) c->tries = 0;
+ info->chunk_remaining -= l;
+ c->from += l;
+ kill_buffer_data(rb, l);
+ if (!info->chunk_remaining && rb->len >= 1) {
+ if (rb->data[0] == 10) kill_buffer_data(rb, 1);
+ else {
+ if (rb->data[0] != 13 || (rb->len >= 2 && rb->data[1] != 10)) {
+ setcstate(c, S_HTTP_ERROR);
+ abort_connection(c);
+ return;
+ }
+ if (rb->len < 2) goto read_more;
+ kill_buffer_data(rb, 2);
+ }
+ info->chunk_remaining = -1;
+ goto next_chunk;
+ }
+ }
+
+ }
+ read_more:
+ read_from_socket(c, c->sock1, rb, read_http_data);
+ setcstate(c, S_TRANS);
+}
+
+static int get_header(struct read_buffer *rb)
+{
+ int i;
+ if (rb->len <= 0) return 0;
+ if (rb->data[0] != 'H') return -2;
+ if (rb->len <= 1) return 0;
+ if (rb->data[1] != 'T') return -2;
+ if (rb->len <= 2) return 0;
+ if (rb->data[2] != 'T') return -2;
+ if (rb->len <= 3) return 0;
+ if (rb->data[3] != 'P') return -2;
+ for (i = 0; i < rb->len; i++) {
+ unsigned char a = rb->data[i];
+ if (/*a < ' ' && a != 10 && a != 13*/!a) return -1;
+ if (i < rb->len - 1 && a == 10 && rb->data[i + 1] == 10) return i + 2;
+ if (i < rb->len - 3 && a == 13) {
+ if (rb->data[i + 1] != 10) return -1;
+ if (rb->data[i + 2] == 13) {
+ if (rb->data[i + 3] != 10) return -1;
+ return i + 4;
+ }
+ }
+ }
+ return 0;
+}
+
+static void http_got_header(struct connection *c, struct read_buffer *rb)
+{
+ off_t cf;
+ int state = c->state != S_PROC ? S_GETH : S_PROC;
+ unsigned char *head;
+ unsigned char *cookie, *ch;
+ int a, h = 0, version = 0; /* against warning */
+ unsigned char *d;
+ struct cache_entry *e;
+ int previous_http_code;
+ struct http_connection_info *info;
+ unsigned char *host = upcase(c->url[0]) != 'P' ? c->url : get_url_data(c->url);
+ set_timeout(c);
+ info = c->info;
+ if (rb->close == 2) {
+ unsigned char *h;
+ if (!c->tries && (h = get_host_name(host))) {
+ if (info->bl_flags & BL_NO_CHARSET) {
+ del_blacklist_entry(h, BL_NO_CHARSET);
+ } else {
+ add_blacklist_entry(h, BL_NO_CHARSET);
+ c->tries = -1;
+ }
+ mem_free(h);
+ }
+ setcstate(c, S_CANT_READ);
+ retry_connection(c);
+ return;
+ }
+ rb->close = 0;
+ again:
+ if ((a = get_header(rb)) == -1) {
+ setcstate(c, S_HTTP_ERROR);
+ abort_connection(c);
+ return;
+ }
+ if (!a) {
+ read_from_socket(c, c->sock1, rb, http_got_header);
+ setcstate(c, state);
+ return;
+ }
+ if (a != -2) {
+ head = mem_alloc(a + 1);
+ memcpy(head, rb->data, a); head[a] = 0;
+ kill_buffer_data(rb, a);
+ } else {
+ head = stracpy("HTTP/0.9 200 OK\r\nContent-Type: text/html\r\n\r\n");
+ }
+ if (get_http_code(head, &h, &version) || h == 101) {
+ mem_free(head);
+ setcstate(c, S_HTTP_ERROR);
+ abort_connection(c);
+ return;
+ }
+ if (check_http_server_bugs(host, c->info, head) && is_connection_restartable(c)) {
+ mem_free(head);
+ setcstate(c, S_RESTART);
+ retry_connection(c);
+ return;
+ }
+ ch = head;
+ while ((cookie = parse_http_header(ch, "Set-Cookie", &ch))) {
+ unsigned char *host = upcase(c->url[0]) != 'P' ? c->url : get_url_data(c->url);
+ set_cookie(NULL, host, cookie);
+ mem_free(cookie);
+ }
+ if (h == 100) {
+ mem_free(head);
+ state = S_PROC;
+ goto again;
+ }
+ if (h < 200) {
+ mem_free(head);
+ setcstate(c, S_HTTP_ERROR);
+ abort_connection(c);
+ return;
+ }
+ if (h == 204) {
+ mem_free(head);
+ http_end_request(c, 0, 0, S_HTTP_204);
+ return;
+ }
+ if (h == 304) {
+ mem_free(head);
+ http_end_request(c, 1, 0, S__OK);
+ return;
+ }
+ if (h == 416 && c->from) {
+ mem_free(head);
+ http_end_request(c, 0, 1, S__OK);
+ return;
+ }
+ if ((h == 500 || h == 502 || h == 503 || h == 504) && http_options.retry_internal_errors && is_connection_restartable(c)) {
+ /* !!! FIXME: wait some time ... */
+ if (is_last_try(c)) {
+ unsigned char *h;
+ if ((h = get_host_name(host))) {
+ add_blacklist_entry(h, BL_NO_BZIP2);
+ mem_free(h);
+ }
+ }
+ mem_free(head);
+ setcstate(c, S_RESTART);
+ retry_connection(c);
+ return;
+ }
+ if (!c->cache) {
+ if (get_cache_entry(c->url, &c->cache)) {
+ mem_free(head);
+ setcstate(c, S_OUT_OF_MEM);
+ abort_connection(c);
+ return;
+ }
+ c->cache->refcount--;
+ }
+ e = c->cache;
+ previous_http_code = e->http_code;
+ e->http_code = h;
+ if (e->head) mem_free(e->head);
+ e->head = head;
+ if ((d = parse_http_header(head, "Expires", NULL))) {
+ time_t t = parse_http_date(d);
+ if (t && e->expire_time != 1) e->expire_time = t;
+ mem_free(d);
+ }
+ if ((d = parse_http_header(head, "Pragma", NULL))) {
+ if (!casecmp(d, "no-cache", 8)) e->expire_time = 1;
+ mem_free(d);
+ }
+ if ((d = parse_http_header(head, "Cache-Control", NULL))) {
+ unsigned char *f = d;
+ while (1) {
+ while (*f && (*f == ' ' || *f == ',')) f++;
+ if (!*f) break;
+ if (!casecmp(f, "no-cache", 8) || !casecmp(f, "must-revalidate", 15)) {
+ e->expire_time = 1;
+ }
+ if (!casecmp(f, "max-age=", 8)) {
+ if (e->expire_time != 1) e->expire_time = time(NULL) + atoi(f + 8);
+ }
+ while (*f && *f != ',') f++;
+ }
+ mem_free(d);
+ }
+#ifdef HAVE_SSL
+ if (c->ssl) {
+ int l = 0;
+ if (e->ssl_info) mem_free(e->ssl_info);
+ e->ssl_info = init_str();
+ add_num_to_str(&e->ssl_info, &l, SSL_get_cipher_bits(c->ssl, NULL));
+ add_to_str(&e->ssl_info, &l, "-bit ");
+ add_to_str(&e->ssl_info, &l, SSL_get_cipher_version(c->ssl));
+ add_to_str(&e->ssl_info, &l, " ");
+ add_to_str(&e->ssl_info, &l, (unsigned char *)SSL_get_cipher_name(c->ssl));
+ }
+#endif
+ if (e->redirect) mem_free(e->redirect), e->redirect = NULL;
+ if (h == 301 || h == 302 || h == 303 || h == 307) {
+ if ((h == 302 || h == 303 || h == 307) && !e->expire_time) e->expire_time = 1;
+ if ((d = parse_http_header(e->head, "Location", NULL))) {
+ unsigned char *user, *ins;
+ unsigned char *newuser, *newpassword;
+ if (!parse_url(d, NULL, &user, NULL, NULL, NULL, &ins, NULL, NULL, NULL, NULL, NULL, NULL) && !user && ins && (newuser = get_user_name(host))) {
+ if (*newuser) {
+ int ins_off = ins - d;
+ newpassword = get_pass(host);
+ if (!newpassword) newpassword = stracpy("");
+ add_to_strn(&newuser, ":");
+ add_to_strn(&newuser, newpassword);
+ add_to_strn(&newuser, "@");
+ extend_str(&d, strlen(newuser));
+ ins = d + ins_off;
+ memmove(ins + strlen(newuser), ins, strlen(ins) + 1);
+ memcpy(ins, newuser, strlen(newuser));
+ mem_free(newpassword);
+ }
+ mem_free(newuser);
+ }
+ if (e->redirect) mem_free(e->redirect);
+ e->redirect = d;
+ e->redirect_get = h == 303;
+ }
+ }
+ if (!e->expire_time && strchr(c->url, POST_CHAR)) e->expire_time = 1;
+ info->close = 0;
+ info->length = -1;
+ info->version = version;
+ if ((d = parse_http_header(e->head, "Connection", NULL)) || (d = parse_http_header(e->head, "Proxy-Connection", NULL))) {
+ if (!strcasecmp(d, "close")) info->close = 1;
+ mem_free(d);
+ } else if (version < 11) info->close = 1;
+ cf = c->from;
+ c->from = 0;
+ if ((d = parse_http_header(e->head, "Content-Range", NULL))) {
+ if (strlen(d) > 6) {
+ d[5] = 0;
+ if (!(strcasecmp(d, "bytes")) && d[6] >= '0' && d[6] <= '9') {
+#if defined(HAVE_STRTOLL)
+ long long f = strtoll(d + 6, NULL, 10);
+ if (f == MAXLLONG) f = -1;
+#elif defined(HAVE_STRTOQ)
+ longlong f = strtoq(d + 6, NULL, 10);
+#else
+ long f = strtol(d + 6, NULL, 10);
+ if (f == MAXLONG) f = -1;
+#endif
+ if (f >= 0 && (off_t)f >= 0 && (off_t)f == f) c->from = f;
+ }
+ }
+ mem_free(d);
+ } else if (h == 206) {
+/* Hmm ... some servers send 206 partial but don't sent Content-Range */
+ c->from = cf;
+ }
+ if (cf && !c->from && !c->unrestartable) c->unrestartable = 1;
+ if (c->from > cf || c->from < 0) {
+ setcstate(c, S_HTTP_ERROR);
+ abort_connection(c);
+ return;
+ }
+ if ((d = parse_http_header(e->head, "Content-Length", NULL))) {
+ unsigned char *ep;
+#if defined(HAVE_STRTOLL)
+ long long l = strtoll(d, (char **)(void *)&ep, 10);
+ if (l == MAXLLONG) l = -1;
+#elif defined(HAVE_STRTOQ)
+ longlong l = strtoq(d, (char **)(void *)&ep, 10);
+#else
+ long l = strtol(d, (char **)(void *)&ep, 10);
+ if (l == MAXLONG) l = -1;
+#endif
+ if (!*ep && l >= 0 && (off_t)l >= 0 && (off_t)l == l) {
+ if (!info->close || version >= 11) info->length = l;
+ if (c->from + l >= 0) c->est_length = c->from + l;
+ }
+ mem_free(d);
+ }
+ if ((d = parse_http_header(e->head, "Accept-Ranges", NULL))) {
+ if (!strcasecmp(d, "none") && !c->unrestartable) c->unrestartable = 1;
+ mem_free(d);
+ } else {
+ if (!c->unrestartable && !c->from) c->unrestartable = 1;
+ }
+ if (info->bl_flags & BL_NO_RANGE && !c->unrestartable) c->unrestartable = 1;
+ if ((d = parse_http_header(e->head, "Transfer-Encoding", NULL))) {
+ if (!strcasecmp(d, "chunked")) {
+ info->length = -2;
+ info->chunk_remaining = -1;
+ }
+ mem_free(d);
+ }
+ if (!info->close && info->length == -1) info->close = 1;
+ if ((d = parse_http_header(e->head, "Last-Modified", NULL))) {
+ if (e->last_modified && strcasecmp(e->last_modified, d)) {
+ delete_entry_content(e);
+ if (c->from) {
+ c->from = 0;
+ mem_free(d);
+ setcstate(c, S_MODIFIED);
+ retry_connection(c);
+ return;
+ }
+ }
+ if (!e->last_modified) e->last_modified = d;
+ else mem_free(d);
+ }
+ if (!e->last_modified && (d = parse_http_header(e->head, "Date", NULL)))
+ e->last_modified = d;
+ if (info->length == -1 || (version < 11 && info->close)) rb->close = 1;
+
+
+ /*
+ * Truncate entry if:
+ * - it is compressed (the mix of an old and new document
+ * would likely produce decompression error).
+ * - it was http authentication (the user doesn't need to see the
+ * authentication message).
+ */
+ if ((d = parse_http_header(e->head, "Content-Encoding", NULL))) {
+ mem_free(d);
+ truncate_entry(e, c->from, 0);
+ } else if (previous_http_code == 401 || previous_http_code == 407) {
+ truncate_entry(e, c->from, 0);
+ }
+
+ read_http_data(c, rb);
+}
+
+static void http_get_header(struct connection *c)
+{
+ struct read_buffer *rb;
+ set_timeout(c);
+ if (!(rb = alloc_read_buffer(c))) return;
+ rb->close = 1;
+ read_from_socket(c, c->sock1, rb, http_got_header);
+}
diff --git a/https.c b/https.c
new file mode 100644
index 0000000..4454bb7
--- /dev/null
+++ b/https.c
@@ -0,0 +1,81 @@
+/* https.c
+ * HTTPS protocol client implementation
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations
+ * including the two.
+ * You must obey the GNU General Public License in all respects
+ * for all of the code used other than OpenSSL. If you modify
+ * file(s) with this exception, you may extend this exception to your
+ * version of the file(s), but you are not obligated to do so. If you
+ * do not wish to do so, delete this exception statement from your
+ * version. If you delete this exception statement from all source
+ * files in the program, then also delete it here.
+ */
+
+#include "links.h"
+
+#ifndef PATH_MAX
+#define PATH_MAX 255
+#endif
+
+#ifdef HAVE_SSL
+
+static SSL_CTX *context = NULL;
+
+SSL *getSSL(void)
+{
+ if (!context) {
+ const SSL_METHOD *m;
+ unsigned char f_randfile[PATH_MAX];
+
+ const unsigned char *f = RAND_file_name(f_randfile, sizeof(f_randfile));
+ if (f && RAND_egd(f)<0) {
+ /* Not an EGD, so read and write to it */
+ if (RAND_load_file(f_randfile, -1))
+ RAND_write_file(f_randfile);
+ }
+ SSLeay_add_ssl_algorithms();
+ m = SSLv23_client_method();
+ if (!m) return NULL;
+ context = SSL_CTX_new((void *)m);
+ if (!context) return NULL;
+ SSL_CTX_set_options(context, SSL_OP_ALL);
+ SSL_CTX_set_default_verify_paths(context);
+/* needed for systems without /dev/random, but obviously kills security. */
+ /*{
+ unsigned char pool[32768];
+ int i;
+ int rs;
+ struct timeval tv;
+ EINTRLOOP(rs, gettimeofday(&tv, NULL));
+ for (i = 0; i < sizeof pool; i++) pool[i] = random() ^ tv.tv_sec ^ tv.tv_usec;
+ RAND_add(pool, sizeof pool, sizeof pool);
+ }*/
+ }
+ return (SSL_new(context));
+}
+void ssl_finish(void)
+{
+ if (context) SSL_CTX_free(context);
+}
+
+void https_func(struct connection *c)
+{
+ c->ssl = (void *)-1;
+ http_func(c);
+}
+
+#else
+
+void https_func(struct connection *c)
+{
+ setcstate(c, S_NO_SSL);
+ abort_connection(c);
+}
+
+#endif
diff --git a/img.c b/img.c
new file mode 100644
index 0000000..fd1dfbb
--- /dev/null
+++ b/img.c
@@ -0,0 +1,1366 @@
+/* img.c
+ * Generic image decoding and PNG and JPG decoders.
+ * (c) 2002 Karel 'Clock' Kulhavy
+ * This is a part of the Links program, released under GPL.
+
+ * Used in graphics mode of Links only
+ TODO: odstranit zbytecne ditherovani z strip_optimized header_dimensions_known,
+ protoze pozadi obrazku musi byt stejne jako pozadi stranky, a to se nikdy
+ neditheruje, protoze je to vzdy jednolita barva. Kdyz uz to nepujde
+ odstranit tak tam aspon dat fixne zaokrouhlovani.
+ TODO: pouzit get_filled_bitmap az bude napsany k optimalizaci zadavani
+ grafickych dat do X serveru z hlediska zaalokovane pameti.
+ TODO: dodelat stripy do jpegu a png a tiff.
+ */
+
+#include "links.h"
+
+#ifdef G
+
+#ifdef HAVE_ENDIAN_H
+/* Max von Sydow */
+#include <endian.h>
+#endif
+
+#ifdef HAVE_JPEG
+#include <jpeglib.h>
+#endif
+
+struct decoded_image {
+ int bla;
+};
+
+#define RESTART_SIZE 8192
+/* Size of biggest chunk of compressed data that is processed in one run */
+
+
+/* End of decoder structs */
+
+static struct g_object_image *global_goi;
+struct cached_image *global_cimg;
+int end_callback_hit;
+#endif /* #ifdef G */
+int dither_images=1;
+#ifdef G
+
+static int is_image_size_sane(int x, int y)
+{
+ unsigned a = (unsigned)x * (unsigned)y * 6;
+ if (y && a / (unsigned)y / 6 != (unsigned)x) return 0;
+ return a < MAXINT;
+}
+
+/* This is a dummy */
+void img_draw_decoded_image(struct graphics_device *dev, struct decoded_image *d, int x, int y, int xw, int yw, int xo, int yo)
+{
+}
+
+/* This is a dummy */
+void img_release_decoded_image(struct decoded_image *d)
+{
+ mem_free(d);
+}
+
+/* mem_free(cimg->decoder) */
+static void destroy_decoder (struct cached_image *cimg)
+{
+#ifdef HAVE_JPEG
+ struct jpg_decoder *jd;
+#endif /* #ifdef HAVE_JPEG */
+ struct png_decoder *pd;
+#ifdef HAVE_TIFF
+ struct tiff_decoder *td;
+#endif /* #ifdef HAVE_TIFF */
+
+ if (cimg->decoder){
+ switch(cimg->image_type){
+ case IM_PNG:
+ pd=(struct png_decoder *)cimg->decoder;
+ png_destroy_read_struct(
+ &pd->png_ptr,
+ &pd->info_ptr,
+ NULL);
+ break;
+#ifdef HAVE_JPEG
+ case IM_JPG:
+ jd=(struct jpg_decoder *)cimg->decoder;
+
+ jpeg_destroy_decompress(jd->cinfo);
+ mem_free(jd->cinfo);
+ mem_free(jd->jerr);
+ if (jd->jdata) mem_free(jd->jdata);
+ break;
+#endif /* #ifdef HAVE_JPEG */
+ case IM_GIF:
+ gif_destroy_decoder(cimg);
+ break;
+ case IM_XBM:
+ /* do nothing */
+ break;
+#ifdef HAVE_TIFF
+ case IM_TIFF:
+ td=(struct tiff_decoder *)cimg->decoder;
+ if (td->tiff_open)
+ {
+ if (td->tiff_data)mem_free(td->tiff_data);
+ td->tiff_open=0;
+ }
+ break;
+#endif
+ }
+ mem_free(cimg->decoder);
+ }
+}
+
+static void img_destruct_image(struct g_object *object)
+{
+ struct g_object_image *goi=(struct g_object_image *)object;
+
+ if (goi->orig_src)mem_free(goi->orig_src);
+ if (goi->alt)mem_free(goi->alt);
+ if (goi->name)mem_free(goi->name);
+ if (goi->src)mem_free(goi->src);
+ release_image_map(goi->map);
+ if (goi->image_list.next)del_from_list(&goi->image_list);
+ if (goi->xw&&goi->yw){
+ /* At least one dimension is zero */
+ goi->cimg->refcount--;
+ }
+ mem_free(goi);
+}
+
+/* Frees all data allocated by cached_image including cached image itself */
+void img_destruct_cached_image(struct cached_image *cimg)
+{
+ switch (cimg->state){
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 9:
+ case 11:
+ break;
+
+ case 12:
+ case 14:
+ if (cimg->gamma_table) mem_free(cimg->gamma_table);
+ if (cimg->bmp.user){
+ drv->unregister_bitmap(&(cimg->bmp));
+ }
+ if (cimg->strip_optimized){
+ if (cimg->dregs) mem_free(cimg->dregs);
+ }else{
+ mem_free(cimg->buffer);
+ }
+ case 8:
+ case 10:
+ destroy_decoder(cimg);
+ break;
+
+ case 13:
+ case 15:
+ drv->unregister_bitmap(&(cimg->bmp));
+ break;
+
+#ifdef DEBUG
+ default:
+ fprintf(stderr,"img_destruct_cached_image: state=%d\n",cimg->state);
+ internal("Invalid state in struct cached_image");
+#endif /* #ifdef DEBUG */
+ }
+ mem_free(cimg->url);
+ mem_free(cimg);
+}
+
+/* You throw in a vertical dimension of image and it returns
+ * new dimension according to the aspect ratio and user-set image
+ * scaling factor. When scaling factor is 100% and screen pixels
+ * are non-square, the picture will be always in one dimension
+ * untouched and in the second _ENLARGED_. So that no information
+ * in the picture will be lost.
+ * Input may be <0. In this case output=input
+ * Input may be 0. In this case output=0.
+ * If input is >0 the output is also >0.
+ */
+static int img_scale_h(unsigned scale, int in){
+ int out;
+ /* We assume unsigned long holds at least 32 bits */
+ unsigned long pre;
+
+ if (in<=0) return in;
+ pre=((unsigned long)(aspect<65536UL?65536UL:aspect)*scale+128)>>8;
+ out=((unsigned long)in*pre+12800UL)/25600UL;
+ if (out<1) out=1;
+ return out;
+}
+
+static int img_scale_v(unsigned scale, int in){
+ int out;
+ unsigned long divisor;
+
+ if (in<=0) return in;
+ divisor=(100*(aspect>=65536UL?65536UL:aspect)+128)>>8;
+ out=((unsigned long)in*(scale*256)+(divisor>>1))/divisor;
+ if (out<1) out=1;
+ return out;
+}
+
+/* Returns height (pixels) for prescribed width (pixels). Honours aspect. */
+static int width2height(float width_px, float width_mm, float height_mm)
+{
+ int height_px;
+
+ if (width_px<=0) return width_px;
+ height_px=(height_mm*width_px*65536)/(aspect*width_mm);
+ if (height_px<1) height_px=1;
+ return height_px;
+
+}
+
+/* Returns width (pixels) for prescribed height (pixels). Honours aspect. */
+static int height2width(float height_px, float width_mm, float height_mm)
+{
+ int width_px;
+
+ if (height_px<=0) return height_px;
+ width_px=(width_mm*height_px*aspect)/(65536*height_mm);
+ if (width_px<1) width_px=1;
+ return width_px;
+
+}
+
+/* Compute 8-bit background for filling buffer with cimg->*_gamma
+ * (performs rounding) */
+void compute_background_8(unsigned char *rgb, struct cached_image *cimg)
+{
+ unsigned short red, green, blue;
+
+ round_color_sRGB_to_48(&red, &green, &blue
+ , cimg->background_color);
+ rgb[0]=apply_gamma_single_16_to_8(red
+ ,cimg->red_gamma/user_gamma);
+ rgb[1]=apply_gamma_single_16_to_8(green
+ ,cimg->green_gamma/user_gamma);
+ rgb[2]=apply_gamma_single_16_to_8(blue
+ ,cimg->blue_gamma/user_gamma);
+}
+
+/* updates cimg state when header dimensions are know. Only allowed to be called
+ * in state 8 and 10.
+ * Allocates right amount of memory into buffer, formats it (with background or
+ * zeroes, depens on buffer_bytes_per_pixel). Updates dimensions (xww and yww)
+ * according to newly known header dimensions. Fills in gamma_stamp, bmp.user
+ * (NULL because we not bother with generating bitmap here)
+ * and rows_added.
+ * Resets strip_optimized if image will be scaled or
+ * Allocates dregs if on exit strip_optimized is nonzero.
+ * Allocates and computes gamma_table, otherwise
+ * sets gamma_table to NULL. Also doesn't make gamma table if image contains less
+ * than 1024 pixels (it would be probably a waste of time).
+ * Output state is always 12 (from input state 8) or 14 (from input state 10).
+ *
+ * The caller must have set the following elements of cimg:
+ * width
+ * height
+ * buffer_bytes_per_pixel
+ * red_gamma
+ * green_gamma
+ * blue_gamma
+ * strip_optimized
+ */
+int header_dimensions_known(struct cached_image *cimg)
+{
+ unsigned short red, green, blue;
+
+#ifdef DEBUG
+ if ((cimg->state^8)&13){
+ fprintf(stderr,"cimg->state=%d\n",cimg->state);
+ internal("Invalid state in header_dimensions_known");
+ }
+#endif /* #ifdef DEBUG */
+ if (cimg->width<1||cimg->height<1){
+ /*fprintf(stderr,"width=%d height=%d\n",cimg->width, cimg->height);*/
+ return 1;
+ }
+ if (!is_image_size_sane(cimg->width, cimg->height)) {
+ return 1;
+ }
+ if (cimg->wanted_xw<0){
+ /* Unspecified width */
+ if (cimg->wanted_yw<0){
+ /* Unspecified neither width nor height */
+ cimg->xww=img_scale_h(cimg->scale, cimg->width);
+ cimg->yww=img_scale_v(cimg->scale, cimg->height);
+ }else{
+ /* Unspecified width specified height */
+ cimg->xww=height2width(cimg->yww,
+ cimg->width, cimg->height);
+ if (cimg->xww<=0) cimg->xww=1;
+
+ }
+ }else{
+ /* Specified width */
+ if (cimg->wanted_yw<0){
+ /* Unspecified height, specified width */
+ cimg->yww=width2height(cimg->xww,
+ cimg->width, cimg->height);
+ if (cimg->yww<=0) cimg->yww=1;
+ }else if (cimg->wanted_xyw_meaning==MEANING_AUTOSCALE){
+ /* Specified height and width and autoscale meant */
+ /* Try first to nail the height */
+ cimg->yww=cimg->wanted_yw;
+ cimg->xww=height2width(cimg->yww,
+ cimg->width, cimg->height);
+ if (cimg->xww>cimg->wanted_xw)
+ {
+ /* Width too much, we nail the width */
+ cimg->xww=cimg->wanted_xw;
+ cimg->yww=width2height(cimg->xww,
+ cimg->width, cimg->height);
+ }
+
+ /* Some sanity checks */
+ if (cimg->xww<=0) cimg->xww=1;
+ if (cimg->yww<=0) cimg->yww=1;
+ }
+ }
+ if (!is_image_size_sane(cimg->xww, cimg->yww)) {
+ cimg->xww = cimg->width;
+ cimg->yww = cimg->height;
+ }
+ if (cimg->width!=cimg->xww||cimg->height!=cimg->yww) cimg->strip_optimized=0;
+ cimg->gamma_stamp=gamma_stamp;
+ if (cimg->strip_optimized){
+ struct bitmap tmpbmp;
+ unsigned short *buf_16;
+ int i;
+
+ tmpbmp.x=cimg->width;
+ tmpbmp.y=1;
+ /* No buffer, bitmap is valid from the very beginning */
+ cimg->bmp.x=cimg->width;
+ cimg->bmp.y=cimg->height;
+ if (drv->get_empty_bitmap(&(cimg->bmp))) {
+ cimg->dregs = NULL;
+ goto skip_img;
+ }
+ if ((unsigned)cimg->width > MAXINT / sizeof(*buf_16) / 3) overalloc();
+ buf_16=mem_alloc(sizeof(*buf_16)*3*cimg->width);
+ round_color_sRGB_to_48(&red, &green, &blue
+ , cimg->background_color);
+ mix_one_color_48(buf_16,cimg->width, red, green, blue);
+#ifdef DEBUG
+ if (cimg->height<=0){
+ fprintf(stderr,"cimg->height=%d\n",cimg->height);
+ internal("Invalid cimg->height in strip_optimized section of\
+ header_dimensions_known");
+ }
+#endif /* #ifdef DEBUG */
+ /* The skip is uninitialized here and is read by dither_start
+ * but is not used in any malicious way so it doesn't matter
+ */
+ tmpbmp.data=cimg->bmp.data;
+ cimg->dregs=dither_images?dither_start(buf_16,&tmpbmp):NULL;
+ tmpbmp.data=(unsigned char *)tmpbmp.data+cimg->bmp.skip;
+ if (cimg->dregs)
+ for (i=cimg->height-1;i;i--){
+ dither_restart(buf_16,&tmpbmp,cimg->dregs);
+ tmpbmp.data=(unsigned char *)tmpbmp.data+cimg->bmp.skip;
+ }
+ else
+ for (i=cimg->height-1;i;i--){
+ (*round_fn)(buf_16,&tmpbmp);
+ tmpbmp.data=(unsigned char *)tmpbmp.data+cimg->bmp.skip;
+ }
+ mem_free(buf_16);
+ skip_img:
+ drv->register_bitmap(&(cimg->bmp));
+ if(cimg->dregs) memset(cimg->dregs,0,cimg->width*sizeof(*cimg->dregs)*3);
+ cimg->bmp.user=(void *)&end_callback_hit; /* Nonzero value */
+ /* This ensures the dregs are none and because strip
+ * optimization is unusable in interlaced pictures,
+ * this saves the zeroing out at the beginning of the
+ * decoder itself.
+ */
+ }else {
+ cimg->rows_added=1;
+ cimg->bmp.user=NULL;
+ if (cimg->width && (unsigned)cimg->width * (unsigned)cimg->height / (unsigned)cimg->width != (unsigned)cimg->height) overalloc();
+ if ((unsigned)cimg->width * (unsigned)cimg->height > (unsigned)MAXINT / cimg->buffer_bytes_per_pixel) overalloc();
+ cimg->buffer=mem_alloc(cimg->width*cimg->height
+ *cimg->buffer_bytes_per_pixel);
+ if (cimg->buffer_bytes_per_pixel==4
+ ||cimg->buffer_bytes_per_pixel==4
+ *sizeof(unsigned short))
+ {
+ /* Make the buffer contain full transparency */
+ memset(cimg->buffer,0,cimg->width*cimg->height
+ *cimg->buffer_bytes_per_pixel);
+ }else{
+ /* Fill the buffer with background color */
+ if (cimg->buffer_bytes_per_pixel>4){
+ /* 16-bit */
+ unsigned short red, green, blue;
+
+ round_color_sRGB_to_48(&red, &green, &blue
+ , cimg->background_color);
+
+ red=apply_gamma_single_16_to_16(red
+ ,cimg->red_gamma/user_gamma);
+ green=apply_gamma_single_16_to_16(green
+ ,cimg->green_gamma/user_gamma);
+ blue=apply_gamma_single_16_to_16(blue
+ ,cimg->blue_gamma / user_gamma);
+ mix_one_color_48((unsigned short *)cimg->buffer
+ ,cimg->width*cimg->height,red
+ ,green, blue);
+ }else{
+ unsigned char rgb[3];
+
+ /* 8-bit */
+ compute_background_8(rgb,cimg);
+ mix_one_color_24(cimg->buffer
+ ,cimg->width*cimg->height
+ ,rgb[0],rgb[1],rgb[2]);
+ }
+ }
+ }
+ if (cimg->buffer_bytes_per_pixel<=4&&cimg->width*cimg->height>=1024){
+ make_gamma_table(cimg);
+ }else if (cimg->buffer_bytes_per_pixel>=6&&cimg->width*cimg->height>=262144){
+ make_gamma_table(cimg);
+ }else cimg->gamma_table=NULL;
+ cimg->state|=4; /* Update state */
+ return 0;
+}
+
+/* Fills "tmp" buffer with the resulting data and does not free the input
+ * buffer. May be called only in states 12 and 14 of cimg
+ */
+static unsigned short *buffer_to_16(unsigned short *tmp, struct cached_image *cimg
+ ,unsigned char *buffer, int height)
+{
+ unsigned short red, green,blue;
+
+#ifdef DEBUG
+ if (cimg->state!=12&&cimg->state!=14){
+ fprintf(stderr,"cimg->state=%d\n",cimg->state);
+ internal("invalid state in buffer_to_16");
+ }
+#endif /* #ifdef DEBUG */
+ switch (cimg->buffer_bytes_per_pixel){
+ case 3:
+ if (cimg->gamma_table){
+ apply_gamma_exponent_24_to_48_table(tmp, buffer,
+ cimg->width*height
+ ,cimg->gamma_table);
+ }
+ else{
+ apply_gamma_exponent_24_to_48(tmp,buffer,cimg->width
+ *height
+ ,user_gamma/cimg->red_gamma
+ ,user_gamma/cimg->green_gamma
+ ,user_gamma/cimg->blue_gamma);
+ }
+ break;
+
+ case 3*sizeof(unsigned short):
+ if (cimg->gamma_table){
+ apply_gamma_exponent_48_to_48_table(tmp
+ ,(unsigned short *)buffer
+ ,cimg->width*height, cimg->gamma_table);
+ }else{
+ apply_gamma_exponent_48_to_48(tmp,(unsigned short *)buffer
+ ,cimg->width*height,
+ user_gamma/cimg->red_gamma,
+ user_gamma/cimg->green_gamma,
+ user_gamma/cimg->blue_gamma);
+ }
+ break;
+
+ /* Alpha's: */
+ case 4:
+ {
+
+ round_color_sRGB_to_48(&red,&green,&blue,cimg->background_color);
+ if (cimg->gamma_table){
+ apply_gamma_exponent_and_undercolor_32_to_48_table(
+ tmp, buffer, cimg->width *height,
+ cimg->gamma_table, red, green, blue);
+ }else{
+
+ apply_gamma_exponent_and_undercolor_32_to_48(tmp,buffer
+ ,cimg->width*height,
+ user_gamma/cimg->red_gamma,
+ user_gamma/cimg->green_gamma,
+ user_gamma/cimg->blue_gamma,
+ red, green, blue);
+ }
+ }
+ break;
+
+ case 4*sizeof(unsigned short):
+ {
+ round_color_sRGB_to_48(&red, &green, &blue,
+ cimg->background_color);
+ if (cimg->gamma_table){
+ apply_gamma_exponent_and_undercolor_64_to_48_table
+ (tmp, (unsigned short *)buffer, cimg->width*height
+ ,cimg->gamma_table, red, green, blue);
+ }else{
+ apply_gamma_exponent_and_undercolor_64_to_48(tmp
+ ,(unsigned short*)buffer,cimg->width*height,
+ user_gamma/cimg->red_gamma,
+ user_gamma/cimg->green_gamma,
+ user_gamma/cimg->blue_gamma,
+ red,green,blue);
+ }
+ }
+ break;
+
+#ifdef DEBUG
+ default:
+ internal("buffer_to_16: unknown mem organization");
+#endif /* #ifdef DEBUG */
+
+ }
+ return tmp;
+}
+
+/* Returns allocated buffer with the resulting data and does not free the input
+ * buffer. May be called only in states 12 and 14 of cimg
+ * use_strip: 1 if the image is already registered and prepare_strip and
+ * commit_strip is to be used
+ * 0: if the image is not yet registered and instead one big register_bitmap
+ * will be used eventually
+ * dregs must be externally allocated and contain required value or must be
+ * NULL.
+ * if !dregs then rounding is performed instead of dithering.
+ * dregs are not freed.
+ * bottom dregs are placed back into dregs.
+ * Before return the bitmap will be in registered state and changes will be
+ * commited.
+ * height must be >=1 !!!
+ */
+void buffer_to_bitmap_incremental(struct cached_image *cimg
+ ,unsigned char *buffer, int height, int yoff, int *dregs, int use_strip)
+{
+#define max_height 16
+/* max_height must be at least 1 */
+ unsigned short *tmp;
+ struct bitmap tmpbmp;
+ int add1=0, add2;
+
+#ifdef DEBUG
+ if (cimg->state!=12&&cimg->state!=14){
+ fprintf(stderr,"cimg->state=%d\n",cimg->state);
+ internal("Invalid state in buffer_to_bitmap_incremental\n");
+ }
+ if (height<1){
+ fprintf(stderr,"height=%d\n",height);
+ internal("Invalid height in buffer_to_bitmap_incremental\n");
+ }
+ if (cimg->width<1||cimg->height<1){
+ fprintf(stderr,"cimg->width=%d, cimg->height=%d\n",cimg->width,
+ cimg->height);
+ internal("Invalid cimg->width x cimg->height in\
+buffer_to_bitmap_incremental");
+ }
+#endif /* #ifdef DEBUG */
+ if ((unsigned)cimg->width > MAXINT / max_height / 3 / sizeof(*tmp)) overalloc();
+ tmp=mem_alloc(cimg->width*(height<max_height?height:max_height)*3*sizeof(*tmp));
+ /* Prepare a fake bitmap for dithering */
+ tmpbmp.x=cimg->width;
+ if (!use_strip){
+ tmpbmp.data=(unsigned char *)cimg->bmp.data+cimg->bmp.skip*yoff;
+ add1=cimg->bmp.skip*max_height;
+ }
+ add2=cimg->buffer_bytes_per_pixel*cimg->width*max_height;
+not_enough:
+ tmpbmp.y=height<max_height?height:max_height;
+ if (use_strip) {
+ tmpbmp.data=drv->prepare_strip(&(cimg->bmp),yoff,tmpbmp.y);
+ if (!tmpbmp.data) goto prepare_failed;
+ }
+ tmpbmp.skip=cimg->bmp.skip;
+ buffer_to_16(tmp, cimg, buffer, tmpbmp.y);
+ if (dregs){
+ dither_restart(tmp, &tmpbmp, dregs);
+ }
+ else {
+
+ (*round_fn)(tmp, &tmpbmp);
+ }
+ if (use_strip) {
+ prepare_failed:
+ drv->commit_strip(&(cimg->bmp),yoff,tmpbmp.y);
+ }
+ height-=tmpbmp.y;
+ if (!height) goto end;
+ buffer+=add2;
+ yoff+=tmpbmp.y;
+ tmpbmp.data=(unsigned char *)tmpbmp.data+add1;
+ /* This has no effect if use_strip but it's faster
+ * to add to bogus value than to play with
+ * conditional jumps.
+ */
+ goto not_enough;
+end:
+ mem_free(tmp);
+ if (!use_strip) drv->register_bitmap(&(cimg->bmp));
+}
+
+/* Takes the buffer and resamples the data into the bitmap. Automatically
+ * destroys the previous bitmap. Must be called only when cimg->buffer is valid.
+ * Sets bmp->user to non-NULL
+ * If gamma_table is used, it must be still allocated here (take care if you
+ * want to destroy gamma table and call buffer_to_bitmap, first call buffer_to_bitmap
+ * and then destroy gamma_table).
+ */
+static void buffer_to_bitmap(struct cached_image *cimg)
+{
+ unsigned short *tmp, *tmp1;
+ int ix, iy, ox, oy, gonna_be_smart;
+ int *dregs;
+
+#ifdef DEBUG
+ if(cimg->state!=12&&cimg->state!=14){
+ fprintf(stderr,"cimg->state=%d\n",cimg->state);
+ internal("buffer_to_bitmap called in invalid state");
+ }
+ if (cimg->strip_optimized) internal("strip_optimized in buffer_to_bitmap");
+ if (cimg->width<1||cimg->height<1){
+ fprintf(stderr,"cimg->width=%d, cimg->height=%d\n",cimg->width,
+ cimg->height);
+ internal("Invalid cimg->width x cimg->height in\
+buffer_to_bitmap");
+ }
+#endif /* #ifdef DEBUG */
+
+
+ if (!cimg->rows_added) return;
+
+ /* Here of course width and height must be already filled */
+ cimg->rows_added=0;
+ ix=cimg->width;
+ iy=cimg->height;
+ ox=cimg->xww;
+ oy=cimg->yww;
+ if (ix==ox&&iy==oy) gonna_be_smart=1;
+ else{
+ gonna_be_smart=0;
+ if (ix && (unsigned)ix * (unsigned)iy / (unsigned)ix != (unsigned)iy) overalloc();
+ if ((unsigned)ix * (unsigned)iy > MAXINT / sizeof(*tmp) / 3) overalloc();
+ tmp=mem_alloc(ix*iy*3*sizeof(*tmp));
+ buffer_to_16(tmp,cimg,cimg->buffer,iy);
+ if (!cimg->decoder){
+ mem_free(cimg->buffer);
+ cimg->buffer=NULL;
+ }
+
+ /* Scale the image to said size */
+#ifdef DEBUG
+ if (ox<=0||oy<=0){
+ internal("ox or oy <=0 before resampling image");
+ }
+#endif /* #ifdef DEBUG */
+ if (ix!=ox||iy!=oy){
+ /* We must really scale */
+ tmp1=tmp;
+ scale_color(tmp1,ix,iy,&tmp,ox,oy);
+ }
+ }
+ if (cimg->bmp.user) drv->unregister_bitmap(&cimg->bmp);
+ cimg->bmp.x=ox;
+ cimg->bmp.y=oy;
+ if (drv->get_empty_bitmap(&(cimg->bmp))) {
+ if (!gonna_be_smart) {
+ mem_free(tmp);
+ }
+ goto bitmap_failed;
+ }
+ if (gonna_be_smart){
+ if (dither_images) {
+ if ((unsigned)cimg->width > MAXINT / 3 / sizeof(*dregs)) overalloc();
+ dregs = mem_calloc(sizeof(*dregs)*3*cimg->width);
+ } else {
+ dregs = NULL;
+ }
+ buffer_to_bitmap_incremental(cimg, cimg->buffer, cimg->height,
+ 0, dregs, 0);
+ if (dregs) mem_free(dregs);
+ }else{
+ if (dither_images)
+ dither(tmp,&(cimg->bmp));
+ else
+ (*round_fn)(tmp,&(cimg->bmp));
+ mem_free(tmp);
+ bitmap_failed:
+ drv->register_bitmap(&(cimg->bmp));
+ }
+ cimg->bmp.user=(void *)&end_callback_hit;
+ /* Indicate that the bitmap is valid. The value is just any
+ nonzero value */
+ cimg->rows_added=0;
+ /* Indicate the bitmap is up-to-date */
+}
+
+/* Performs state transition for end of stream or error in image or
+ * end of image */
+void img_end(struct cached_image *cimg)
+{
+ switch(cimg->state){
+ case 12:
+ case 14:
+ if (cimg->strip_optimized){
+ if (cimg->dregs) mem_free(cimg->dregs);
+ }
+ else{
+ buffer_to_bitmap(cimg);
+ mem_free(cimg->buffer);
+ }
+ if (cimg->gamma_table) mem_free(cimg->gamma_table);
+ case 8:
+ case 10:
+ destroy_decoder(cimg);
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 9:
+ case 11:
+ case 13:
+ case 15:
+ break;
+#ifdef DEBUG
+ default:
+ fprintf(stderr,"state=%d\n",cimg->state);
+ internal("Invalid state encountered in end");
+#endif /* #ifdef DEBUG */
+ }
+ cimg->state|=1;
+}
+
+static void r3l0ad(struct cached_image *cimg, struct g_object_image *goi)
+{
+ cimg->eof_hit=0;
+ cimg->last_count=goi->af->rq->ce->count;
+ cimg->last_count2=goi->af->rq->ce->count2;
+ cimg->gamma_stamp=gamma_stamp;
+ switch(cimg->state){
+ case 8:
+ case 10:
+ destroy_decoder(cimg);
+ case 1:
+ case 3:
+ case 9:
+ case 11:
+ case 0:
+ case 2:
+ break;
+
+ case 12:
+ if (cimg->gamma_table) mem_free(cimg->gamma_table);
+ destroy_decoder(cimg);
+ if (cimg->strip_optimized){
+ if (cimg->dregs) mem_free(cimg->dregs);
+ }else{
+ mem_free(cimg->buffer);
+ }
+ if (cimg->bmp.user){
+ case 13:
+ drv->unregister_bitmap(&cimg->bmp);
+ }
+ cimg->xww=img_scale_h(cimg->scale, cimg->wanted_xw<0?32:cimg->wanted_xw);
+ cimg->yww=img_scale_v(cimg->scale, cimg->wanted_yw<0?32:cimg->wanted_yw);
+ break;
+
+ case 14:
+ if (cimg->gamma_table) mem_free(cimg->gamma_table);
+ destroy_decoder(cimg);
+ if (cimg->strip_optimized){
+ if (cimg->dregs) mem_free(cimg->dregs);
+ }else{
+ mem_free(cimg->buffer);
+ }
+ if (cimg->bmp.user){
+ case 15:
+ drv->unregister_bitmap(&cimg->bmp);
+ }
+ break;
+
+#ifdef DEBUG
+ default:
+ fprintf(stderr,"cimg->state=%d\n",cimg->state);
+ internal("Invalid state in r3l0ad()");
+#endif /* #ifdef DEBUG */
+ }
+ cimg->state&=2;
+}
+
+/* Returns 1 if match. If returns 1 then test is mem_free'd.
+ * If doesn't return 1 then returns 0
+ * dtest - Destructive TEST
+ */
+static inline int dtest(unsigned char *template, unsigned char *test)
+{
+ if (strcasecmp(template,test)) return 0;
+ else{
+ mem_free(test);
+ return 1;
+ }
+}
+
+/* content_type will be mem_free'd before return from this function.
+ * This may be called only in state 0 or 2 */
+static void type(struct cached_image *cimg, unsigned char *content_type)
+{
+#ifdef DEBUG
+ if (cimg->state!=0&&cimg->state!=2){
+ fprintf(stderr,"cimg->state=%d\n",cimg->state);
+ internal("Invalid state encountered in type()");
+ }
+#endif /* #ifdef DEBUG */
+#ifdef HAVE_JPEG
+ if (dtest("image/jpeg",content_type)){
+ cimg->image_type=IM_JPG;
+ jpeg_start(cimg);
+ }else if (dtest("image/jpg",content_type)){
+ cimg->image_type=IM_JPG;
+ jpeg_start(cimg);
+ }else if (dtest("image/jpe",content_type)){
+ cimg->image_type=IM_JPG;
+ jpeg_start(cimg);
+ }else if (dtest("image/pjpe",content_type)){
+ cimg->image_type=IM_JPG;
+ jpeg_start(cimg);
+ }else if (dtest("image/pjpeg",content_type)){
+ cimg->image_type=IM_JPG;
+ jpeg_start(cimg);
+ }else if (dtest("image/pjpg",content_type)){
+ cimg->image_type=IM_JPG;
+ jpeg_start(cimg);
+ }else
+#endif /* #ifdef HAVE_JPEG */
+ if (dtest("image/png",content_type)){
+ cimg->image_type=IM_PNG;
+ png_start(cimg);
+ }else if (dtest("image/x-png",content_type)){
+ cimg->image_type=IM_PNG;
+ png_start(cimg);
+ }else if (dtest("image/gif",content_type)){
+ cimg->image_type=IM_GIF;
+ gif_start(cimg);
+ }else if (dtest("image/x-xbitmap",content_type)){
+ cimg->image_type=IM_XBM;
+ xbm_start(cimg);
+#ifdef HAVE_TIFF
+ }else if (dtest("image/tiff",content_type)){
+ cimg->image_type=IM_TIFF;
+ tiff_start(cimg);
+ }else if (dtest("image/tif",content_type)){
+ cimg->image_type=IM_TIFF;
+ tiff_start(cimg);
+#endif /* #ifdef HAVE_TIFF */
+ }else{
+ /* Error */
+ mem_free(content_type);
+ img_end(cimg);
+ return;
+ }
+ cimg->state|=8; /* Advance the state according to the table in
+ links-doc.html */
+ cimg->last_length=0;
+}
+
+/* Doesn't print anything. Downloads more data if available.
+ * Sets up cimg->reparse and cimg->xww and cimg->yww accordingly to
+ * the state of the decoder. When changing xww and yww also changes xw and yw
+ * in g_object_image.
+ * return value 1 means the data were chopped and the caller shall not redraw
+ * (because it would be too slow and because we are probably choked
+ * up with the data)
+ */
+static int img_process_download(struct g_object_image *goi, struct f_data_c *fdatac)
+{
+ unsigned char *data, *dataend, *ctype;
+ int length;
+ struct cached_image *cimg = goi->cimg;
+ int chopped=0;
+
+#ifdef DEBUG
+ if (!goi->af) internal("NULL goi->af in process_download\n");
+ if (cimg->state>=16){ /* Negative don't occur becaus it's unsigned char */
+ fprintf(stderr,"cimg->state=%d\n",cimg->state);
+ internal("Invalid cimg->state in img_process_download\n");
+ }
+#endif /* #ifdef DEBUG */
+ if (!goi->af->rq) return 0;
+ if (!goi->af->rq->ce) goto end;
+ /*fprintf(stderr, "processing: %s\n", goi->af->rq->ce->url);*/
+ if (goi->af->rq->ce->count2!=cimg->last_count2||
+ (goi->af->rq->ce->count!=cimg->last_count && cimg->eof_hit) ||
+ (cimg->state>=12&&gamma_stamp!=cimg->gamma_stamp)){
+ /* Reload */
+ r3l0ad(cimg,goi);
+ }
+ /*if (!goi->af->rq->ce->head) goto end;*/ /* Mikulas: head muze byt NULL*/ /* Mikulas: tak se to zpracuje a nebude se skakat na konec, kdyz je to NULL */
+
+ if (cimg->state==0||cimg->state==2){
+ /* Type still unknown */
+ ctype=get_content_type(goi->af->rq->ce->head,
+ goi->af->rq->url);
+ if (!ctype) ctype = stracpy("application/octet-stream");
+ type(cimg,ctype);
+ }
+
+ /* Now, if we are in state where decoder is running (8, 10, 12, 14), we may feed
+ * some data into it.
+ */
+
+ if (!((cimg->state^8)&9)){
+ if (get_file(goi->af->rq, &data, &dataend)) goto end;
+ length = dataend - data;
+ if (length<=cimg->last_length) goto end; /* No new data */
+
+ data+=cimg->last_length;
+ length-=cimg->last_length;
+ if (length>RESTART_SIZE){
+ length=RESTART_SIZE;
+ chopped=1;
+ if (fdatac) {
+ refresh_image(fdatac,(struct g_object *)goi,1);
+ }
+ }
+ /* Decoder has been already started */
+ switch(cimg->image_type){
+ case IM_PNG:
+ png_restart(cimg,data,length);
+ break;
+#ifdef HAVE_JPEG
+ case IM_JPG:
+ jpeg_restart(cimg,data,length);
+ break;
+#endif /* #ifdef HAVE_JPEG */
+ case IM_XBM:
+ xbm_restart(cimg,data,length);
+ break;
+ case IM_GIF:
+ gif_restart(data,length);
+ break;
+#ifdef HAVE_TIFF
+ case IM_TIFF:
+ tiff_restart(cimg,data,length);
+ break;
+#endif /* #ifdef HAVE_TIFF */
+#ifdef DEBUG
+ default:
+ fprintf(stderr,"cimg->image_type=%d\n",cimg->state);
+ internal("Invalid image_type encountered when processing data in\
+img_process_download.\n");
+#endif /* #ifdef DEBUG */
+ }
+ cimg->last_length+=length;
+ }
+ end:
+
+ /* Test end */
+ if (!is_entry_used(goi->af->rq->ce) && (goi->af->rq->state < 0
+ ||(goi->af->rq->ce&&goi->af->rq->stat.state<0))){
+ /* We must not perform end with chopped because some
+ * unprocessed data still wait for us :)
+ */
+ if (!chopped){
+#ifdef HAVE_TIFF
+ if (!((cimg->state^8)&9)&&cimg->image_type==IM_TIFF)
+ tiff_finish(cimg);
+#endif
+ cimg->eof_hit=1;
+ if (goi->af->rq->ce)
+ cimg->last_count=goi->af->rq->ce->count;
+ img_end(cimg);
+ }
+ } else if (!chopped) {
+ if (fdatac && f_is_finished(fdatac->f_data)) {
+ refresh_image(fdatac,(struct g_object *)goi,2000);
+ }
+ }
+ return chopped;
+}
+
+/* Input: rgb (sRGB) triplet (0...255)
+ * Returns a color that is very contrasty on that background sRGB color
+ */
+int get_foreground(int rgb)
+{
+ int r,g,b;
+
+ r=(rgb>>16)&255;
+ g=(rgb>>8)&255;
+ b=rgb&255;
+
+ r=r<128?255:0;
+ g=g<128?255:0;
+ b=b<128?255:0;
+
+ return (r<<16)|(g<<8)|b;
+}
+
+static void draw_frame_mark (struct graphics_driver *drv, struct
+ graphics_device *dev, int x, int y, int xw, int yw
+ , long bg, long fg, int broken)
+{
+#ifdef DEBUG
+ if (xw<1||yw<1) internal("zero dimension in draw_frame_mark");
+#endif /* #ifdef DEBUG */
+ if (broken == 1){
+ /* Draw between ( 0 and 1/4 ) and ( 3/4 and 1 ) of each
+ * side (0-1)
+ */
+ int xl, xh, yl, yh;
+
+ xh=xw-(xl=xw>>2);
+ yh=yw-(yl=yw>>2);
+ /* Draw full sides and the box inside */
+ drv->draw_hline(dev,x,y,x+xl,fg);
+ drv->draw_hline(dev,x+xl,y,x+xh,bg);
+ drv->draw_hline(dev,x+xh,y,x+xw,fg);
+ if (yw>=1){
+ if (yw>=2){
+ drv->draw_vline(dev,x,y+1,y+yl,fg);
+ drv->draw_vline(dev,x,y+yl,y+yh,bg);
+ drv->draw_vline(dev,x,y+yh,y+yw-1,fg);
+ if (xw>=1){
+ if (xw>=2){
+ drv->fill_area(dev,
+ x+1,y+1,x+xw-1,y+yw-1,
+ bg);
+ }
+ drv->draw_vline(dev,x+xw-1,y+1,y+yl,fg);
+ drv->draw_vline(dev,x+xw-1,y+yl,y+yh,bg);
+ drv->draw_vline(dev,x+xw-1,y+yh,y+yw-1,fg);
+ }
+ }
+ drv->draw_hline(dev,x,y+yw-1,x+xl,fg);
+ drv->draw_hline(dev,x+xl,y+yw-1,x+xh,bg);
+ drv->draw_hline(dev,x+xh,y+yw-1,x+xw,fg);
+ }
+ }else {
+ /* Draw full sides and the box inside */
+ drv->draw_hline(dev,x,y,x+xw,fg);
+ if (yw>=1){
+ if (yw>=2){
+ drv->draw_vline(dev,x,y+1,y+yw-1,fg);
+ if (xw>=1){
+ if (xw>=2){
+ if (broken < 2) drv->fill_area(dev,
+ x+1,y+1,x+xw-1,y+yw-1,
+ bg);
+ }
+ drv->draw_vline(dev,x+xw-1,y+1,
+ y+yw-1,fg);
+ }
+ }
+ drv->draw_hline(dev,x,y+yw-1,x+xw,fg);
+ }
+ if (broken == 2 && xw > 2 && yw > 2) {
+ draw_frame_mark(drv, dev, x + 1, y + 1, xw - 2, yw - 2, bg, fg, 3);
+ }
+ }
+}
+
+/* Entry is allowed only in states 12, 13, 14, 15
+ * Draws the picture from bitmap.
+ * Before doing so, ensures that bitmap is present and if not, converts it from
+ * the buffer.
+ */
+static void draw_picture(struct f_data_c *fdatac, struct g_object_image *goi,
+ int x, int y, int bg)
+{
+ struct graphics_device *dev=fdatac->ses->term->dev;
+ struct cached_image *cimg=goi->cimg;
+ struct rect saved;
+
+#ifdef DEBUG
+ if (goi->cimg->state<12||goi->cimg->state>=16){
+ fprintf(stderr,"cimg->state=%d\n",cimg->state);
+ internal("Invalid cimg->state in draw_picture");
+ }
+#endif /* #ifdef DEBUG */
+ if (!(cimg->state&1)){
+ if (!cimg->bmp.user)
+ buffer_to_bitmap(cimg);
+ }
+#ifdef DEBUG
+ else if (!cimg->bmp.user){
+ fprintf(stderr,"cimg->state=%d\n",cimg->state);
+ internal("Nonexistent bitmap in said cimg->state in draw_picture");
+ }
+#endif /* #ifdef DEBUG */
+ restrict_clip_area(dev, &saved, x, y, x+goi->xw, y+goi->yw);
+ drv->draw_bitmap(dev,&cimg->bmp,x,y);
+ drv->fill_area(dev, x+cimg->bmp.x, y, x+goi->xw,y+cimg->bmp.y, bg);
+ drv->fill_area(dev, x,y+cimg->bmp.y,x+goi->xw, y+goi->yw,bg);
+ drv->set_clip_area(dev,&saved);
+}
+
+/* Ensures in buffer there is not newer picture than in bitmap. Allowed to be
+ * called only in state 12, 13, 14, 15.
+ */
+static void update_bitmap(struct cached_image *cimg)
+{
+#ifdef DEBUG
+ if (cimg->state<12||cimg->state>=16){
+ fprintf(stderr,"cimg->state=%d\n",cimg->state);
+ internal("Invalid state in update_bitmap");
+ }
+#endif /* #ifdef DEBUG */
+ if (!(cimg->state&1)&&
+ !cimg->strip_optimized
+ &&cimg->rows_added) buffer_to_bitmap(cimg);
+}
+
+/* Draws the image at x,y. Is called from other C sources. */
+static void img_draw_image (struct f_data_c *fdatac, struct g_object_image *goi,
+ int x, int y)
+{
+ long color_bg, color_fg;
+ struct cached_image *cimg = goi->cimg;
+ struct rect r;
+ /* refresh_image(fdatac, goi, 1000); To sem asi napsal mikulas jako
+ * navod, jak se vola to refresh_image. Nicmene ja jsem milostive
+ * usoudil, ze zadnejch 1000, ale 0.
+ */
+
+ if (cimg) {
+ color_bg=dip_get_color_sRGB(cimg->background_color);
+ color_fg=dip_get_color_sRGB(get_foreground(cimg->background_color));
+ } else {
+ color_bg = dip_get_color_sRGB(0x00c0c0c0);
+ color_fg = dip_get_color_sRGB(0x00000000);
+ }
+
+ if (!(goi->xw&&goi->yw)) return; /* At least one dimension is zero */
+
+
+ memcpy(&r, &fdatac->ses->term->dev->clip, sizeof(struct rect));
+ if (fdatac->vs->g_display_link && fdatac->active && fdatac->vs->current_link != -1 && fdatac->vs->current_link == goi->link_num) {
+ draw_frame_mark(drv, fdatac->ses->term->dev,x,y,goi->xw,
+ goi->yw,color_bg,color_fg,2);
+ restrict_clip_area(fdatac->ses->term->dev, &r, x + 2, y + 2, x + goi->xw - 2, y + goi->yw - 2);
+ }
+
+ global_goi=goi;
+ global_cimg=goi->cimg;
+ if (img_process_download(goi, fdatac)) goto ret; /* Choked with data, will not
+ * draw. */
+ /* Now we will only draw... */
+ if (cimg->state<12){
+ draw_frame_mark(drv, fdatac->ses->term->dev,x,y,goi->xw,
+ goi->yw,color_bg,color_fg,cimg->state&1);
+ }else
+#ifdef DEBUG
+ if (cimg->state<16){
+#else
+ {
+#endif /* #ifdef DEBUG */
+ update_bitmap(cimg);
+ draw_picture(fdatac,goi,x,y,color_bg);
+ }
+#ifdef DEBUG
+ else{
+ fprintf(stderr,"cimg->state=%d\n",cimg->state);
+ internal("Invalid state in img_draw_image");
+ }
+#endif /* #ifdef DEBUG */
+ ret:;
+ drv->set_clip_area(fdatac->ses->term->dev, &r);
+#ifdef LINKS_TESTMODE_IMAGE_AUTO_EXIT
+ if (cimg->state & 1)
+ terminate_loop = 1;
+#endif
+}
+
+/* Prior to calling this function you have to fill out
+ * image -> xw (<0 means not known)
+ * image -> yw (<0 means not known)
+ * image -> xyw meaning (MEANING_AUTOSCALE or MEANING_DIMS)
+ * image -> background
+ *
+ * The URL will not be freed.
+ */
+static void find_or_make_cached_image(struct g_object_image *image, unsigned char *url,
+ int scale)
+{
+ struct cached_image *cimg;
+
+ if (!(cimg = find_cached_image(image->background, url, image->xw,
+ image->yw, image->xyw_meaning,scale, aspect))){
+ /* We have to make a new image cache entry */
+ cimg = mem_alloc(sizeof(*cimg));
+ cimg->refcount = 1;
+ cimg->background_color=image->background;
+#ifdef DEBUG
+ if (!url)
+ internal ("NULL url as argument of\
+find_or_make_cached_image");
+#endif /* #ifdef DEBUG */
+ cimg->scale = scale;
+ cimg->aspect = aspect;
+ cimg->url = stracpy(url);
+ cimg->wanted_xw = image->xw;
+ cimg->wanted_yw = image->yw;
+ cimg->wanted_xyw_meaning=image->xyw_meaning;
+ cimg->xww = image->xw<0?img_scale_h(cimg->scale, 32):cimg->wanted_xw;
+ cimg->yww = image->yw<0?img_scale_v(cimg->scale, 32):cimg->wanted_yw;
+ cimg->state=0;
+ /* width, height, image_type, buffer, buffer_bytes_per_pixel, red_gamma,
+ * green_gamma, blue_gamma, gamma_stamp, bitmap, last_length, rows_added,
+ * and decoder is invalid in both state 0 and state 2. Thus is need no to
+ * be filled in.
+ */
+
+ /* last_count2 is unitialized */
+ cimg->eof_hit=0;
+ cimg->last_count=-1;
+ cimg->last_count2=-1;
+ if (cimg->wanted_xw>=0&&cimg->wanted_yw>=0) cimg->state|=2;
+ add_image_to_cache(cimg);
+ }
+ global_cimg=image->cimg=cimg;
+}
+
+/* The original (unscaled, in pixels pace) size is requested in im->xsize and im->ysize.
+ * <0 means unknown. Autoscale is requested in autoscale. When autoscale is on,
+ * the requested dimensions are not scaled and they mean maximum allowed
+ * dimensions. */
+struct g_object_image *insert_image(struct g_part *p, struct image_description *im)
+{
+ struct g_object_image *image;
+ struct cached_image *cimg;
+ int retval;
+
+ image=mem_calloc(sizeof(struct g_object_image));
+ global_goi=image;
+ image->mouse_event=&g_text_mouse;
+ image->draw=&img_draw_image;
+ image->destruct=&img_destruct_image;
+ image->get_list=NULL;
+ image->link_num = im->link_num;
+ image->link_order = im->link_order;
+ image->map = NULL;
+ /*
+ image->x is already filled
+ image->y is already filled
+ */
+ if (im->align == AL_MIDDLE) image->y = G_OBJ_ALIGN_MIDDLE;
+ if (im->align == AL_TOP) image->y = G_OBJ_ALIGN_TOP;
+
+ if (im->autoscale_x&&im->autoscale_y)
+ {
+ /* Autoscale requested */
+ image->xw=im->autoscale_x;
+ image->yw=im->autoscale_y;
+ image->xyw_meaning=MEANING_AUTOSCALE;
+ }else{
+ /* Autoscale not requested */
+ image->xw=img_scale_h(d_opt->image_scale, im->xsize);
+ image->yw=img_scale_v(d_opt->image_scale, im->ysize);
+ image->xyw_meaning=MEANING_DIMS;
+ }
+ if (image->xw >= 0 && image->yw >= 0) {
+ if (!is_image_size_sane(image->xw, image->yw)) {
+ mem_free(image);
+ return NULL;
+ }
+ }
+
+ /* Put the data for javascript inside */
+ image->id=(current_f_data->n_images)++;
+ image->name=stracpy(im->name);
+ image->alt=stracpy(im->alt);
+ image->orig_src=stracpy(im->src);
+ image->border=im->border;
+ image->vspace=im->vspace;
+ image->hspace=im->hspace;
+ image->src=stracpy(im->url);
+
+ if (!(image->xw&&image->yw)){
+ /* At least one is zero */
+ if (image->xw<0) image->xw=0;
+ if (image->yw<0) image->yw=0;
+ if (im->insert_flag)add_to_list(current_f_data->images,&image->image_list);
+ else image->image_list.prev=NULL,image->image_list.next=NULL;
+ return image;
+ }
+ /*
+ image->parent is already filled
+ */
+ image->af=request_additional_file(current_f_data,im->url);
+ if (image->xw < 0 || image->yw < 0) image->af->unknown_image_size = 1;
+ image->background=p->root->bg->u.sRGB;
+
+ /* This supplies the result into image->cimg and global_cimg */
+ find_or_make_cached_image(image, im->url, d_opt->image_scale);
+ cimg=global_cimg;
+
+next_chunk:
+ retval=img_process_download(image,NULL);
+ if (retval&&!(cimg->state&4)) goto next_chunk;
+ image->xw=image->cimg->xww;
+ image->yw=image->cimg->yww;
+ if (cimg->state==0||cimg->state==8||(!image->af->rq->ce && image->af->unknown_image_size)) if (image->af->need_reparse != -1) image->af->need_reparse = 1;
+ if (im->insert_flag)add_to_list(current_f_data->images,&image->image_list);
+ else image->image_list.prev=NULL,image->image_list.next=NULL;
+ return image;
+}
+
+#ifdef JS
+
+void change_image (struct g_object_image *goi, unsigned char *url, unsigned char *src, struct f_data
+ *fdata)
+{
+ /*struct cached_image *cimg;*/
+
+ global_goi=goi;
+ mem_free(goi->src);
+ goi->src=stracpy(url);
+ if (goi->orig_src)mem_free(goi->orig_src);
+ goi->orig_src=stracpy(src);
+ if (!(goi->xw&&goi->yw)) return;
+ goi->cimg->refcount--;
+ goi->af=request_additional_file(fdata,url);
+ goi->af->need_reparse = -1;
+
+ find_or_make_cached_image(goi, url, fdata->opt.image_scale);
+ /* Automatically sets up global_cimg */
+
+ refresh_image(fdata->fd,(struct g_object*)goi,1);
+}
+
+#endif
+
+#endif
+
+int known_image_type(unsigned char *type)
+{
+#ifdef G
+ if (!strcasecmp(type, "image/png")) return 1;
+ if (!strcasecmp(type, "image/x-png")) return 1;
+ if (!strcasecmp(type, "image/gif")) return 1;
+ if (!strcasecmp(type, "image/x-xbitmap")) return 1;
+#ifdef HAVE_JPEG
+ if (!strcasecmp(type, "image/jpeg")) return 1;
+ if (!strcasecmp(type, "image/jpg")) return 1;
+ if (!strcasecmp(type, "image/jpe")) return 1;
+ if (!strcasecmp(type, "image/pjpe")) return 1;
+ if (!strcasecmp(type, "image/pjpeg")) return 1;
+ if (!strcasecmp(type, "image/pjpg")) return 1;
+#endif
+#ifdef HAVE_TIFF
+ if (!strcasecmp(type, "image/tiff")) return 1;
+ if (!strcasecmp(type, "image/tif")) return 1;
+#endif
+#endif
+ return 0;
+}
diff --git a/imgcache.c b/imgcache.c
new file mode 100644
index 0000000..21db093
--- /dev/null
+++ b/imgcache.c
@@ -0,0 +1,140 @@
+/* imgcache.c
+ * Image cache
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "cfg.h"
+
+#ifdef G
+
+#include "links.h"
+
+static struct list_head image_cache = { &image_cache, &image_cache };
+
+/* xyw_meaning either MEANING_DIMS or MEANING_AUTOSCALE. */
+struct cached_image *find_cached_image(int bg, unsigned char *url, int xw, int
+ yw, int xyw_meaning, int scale, int aspect)
+{
+ struct cached_image *i;
+ if (xw>=0&&yw>=0&&xyw_meaning==MEANING_DIMS){
+ /* The xw and yw is already scaled so that scale and
+ * aspect don't matter.
+ */
+ foreach (i, image_cache) {
+ if (i->background_color == bg
+ && !strcmp(i->url, url)
+ && i->wanted_xw==xw
+ && i->wanted_yw==yw
+ && i->wanted_xyw_meaning==xyw_meaning
+ ) goto hit;
+ }
+ }else{
+ foreach (i, image_cache) {
+ if (i->background_color == bg
+ && !strcmp(i->url, url)
+ && i->wanted_xw==xw
+ && i->wanted_yw==yw
+ && i->wanted_xyw_meaning==xyw_meaning
+ && i->scale==scale
+ && i->aspect==aspect) goto hit;
+ }
+ }
+ return NULL;
+
+hit:
+ i->refcount++;
+ del_from_list(i);
+ add_to_list(image_cache, i);
+ return i;
+}
+
+void add_image_to_cache(struct cached_image *ci)
+{
+ add_to_list(image_cache, ci);
+}
+
+static unsigned long image_size(struct cached_image *cimg)
+{
+ unsigned long siz = sizeof(struct cached_image);
+ switch(cimg->state){
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ break;
+
+ case 12:
+ case 14:
+ siz+=(unsigned long)cimg->width*cimg->height*cimg->buffer_bytes_per_pixel;
+ if (cimg->bmp.user){
+ case 13:
+ case 15:
+ siz+=(unsigned long)cimg->bmp.x*cimg->bmp.y*(drv->depth&7);
+ }
+ break;
+
+#ifdef DEBUG
+ default:
+ fprintf(stderr,"cimg->state=%d\n",cimg->state);
+ internal("Invalid cimg->state in image_size\n");
+ break;
+#endif /* #ifdef DEBUG */
+ }
+ return siz;
+}
+
+static int shrink_image_cache(int u)
+{
+ struct cached_image *i;
+ longlong si = 0;
+ int r = 0;
+ foreach(i, image_cache) if (!i->refcount) si += image_size(i);
+ while ((si >= image_cache_size || u == SH_FREE_ALL || u == SH_FREE_SOMETHING) && !list_empty(image_cache)) {
+ i = image_cache.prev;
+ while (i->refcount) {
+ i = i->prev;
+ if ((void *)i == &image_cache) goto no;
+ }
+ r |= ST_SOMETHING_FREED;
+ si -= image_size(i);
+ del_from_list(i);
+ img_destruct_cached_image(i);
+ if (u == SH_FREE_SOMETHING) break;
+ }
+ no:
+ return r | (list_empty(image_cache) ? ST_CACHE_EMPTY : 0);
+}
+
+unsigned long imgcache_info(int type)
+{
+ struct cached_image *i;
+ unsigned long n = 0;
+ foreach(i, image_cache) {
+ switch (type) {
+ case CI_BYTES:
+ n += image_size(i);
+ break;
+ case CI_LOCKED:
+ if (!i->refcount) break;
+ /* fall through */
+ case CI_FILES:
+ n++;
+ break;
+ default:
+ internal("imgcache_info: query %d", type);
+ }
+ }
+ return n;
+}
+
+void init_imgcache(void)
+{
+ register_cache_upcall(shrink_image_cache, "imgcache");
+}
+
+#endif
diff --git a/install-sh b/install-sh
new file mode 100755
index 0000000..e9de238
--- /dev/null
+++ b/install-sh
@@ -0,0 +1,251 @@
+#!/bin/sh
+#
+# install - install a program, script, or datafile
+# This comes from X11R5 (mit/util/scripts/install.sh).
+#
+# Copyright 1991 by the Massachusetts Institute of Technology
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of M.I.T. not be used in advertising or
+# publicity pertaining to distribution of the software without specific,
+# written prior permission. M.I.T. makes no representations about the
+# suitability of this software for any purpose. It is provided "as is"
+# without express or implied warranty.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch. It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+ case $1 in
+ -c) instcmd="$cpprog"
+ shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd="$stripprog"
+ shift
+ continue;;
+
+ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+ shift
+ continue;;
+
+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+ shift
+ continue;;
+
+ *) if [ x"$src" = x ]
+ then
+ src=$1
+ else
+ # this colon is to work around a 386BSD /bin/sh bug
+ :
+ dst=$1
+ fi
+ shift
+ continue;;
+ esac
+done
+
+if [ x"$src" = x ]
+then
+ echo "install: no input file specified"
+ exit 1
+else
+ true
+fi
+
+if [ x"$dir_arg" != x ]; then
+ dst=$src
+ src=""
+
+ if [ -d $dst ]; then
+ instcmd=:
+ chmodcmd=""
+ else
+ instcmd=mkdir
+ fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad
+# if $src (and thus $dsttmp) contains '*'.
+
+ if [ -f $src -o -d $src ]
+ then
+ true
+ else
+ echo "install: $src does not exist"
+ exit 1
+ fi
+
+ if [ x"$dst" = x ]
+ then
+ echo "install: no destination specified"
+ exit 1
+ else
+ true
+ fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+ if [ -d $dst ]
+ then
+ dst="$dst"/`basename $src`
+ else
+ true
+ fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+# this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='
+'
+IFS="${IFS-${defaultIFS}}"
+
+oIFS="${IFS}"
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS="${oIFS}"
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+ pathcomp="${pathcomp}${1}"
+ shift
+
+ if [ ! -d "${pathcomp}" ] ;
+ then
+ $mkdirprog "${pathcomp}"
+ else
+ true
+ fi
+
+ pathcomp="${pathcomp}/"
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+ $doit $instcmd $dst &&
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+ if [ x"$transformarg" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ dstfile=`basename $dst $transformbasename |
+ sed $transformarg`$transformbasename
+ fi
+
+# don't allow the sed command to completely eliminate the filename
+
+ if [ x"$dstfile" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ true
+ fi
+
+# Make a temp file name in the proper directory.
+
+ dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+ $doit $instcmd $src $dsttmp &&
+
+ trap "rm -f ${dsttmp}" 0 &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing. If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+
+# Now rename the file to the real destination.
+
+ $doit $rmcmd -f $dstdir/$dstfile &&
+ $doit $mvcmd $dsttmp $dstdir/$dstfile
+
+fi &&
+
+
+exit 0
diff --git a/intl/bahasa_indonesian.lng b/intl/bahasa_indonesian.lng
new file mode 100644
index 0000000..66da94c
--- /dev/null
+++ b/intl/bahasa_indonesian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "us-ascii",
+T__LANGUAGE, "Bahasa Indonesian",
+T__ACCEPT_LANGUAGE, "id",
+T_OK, "Ya",
+T_CANCEL, "Batal",
+T_BAD_NUMBER, "Angka salah",
+T_NUMBER_EXPECTED, "Angka diharapkan",
+T_NUMBER_OUT_OF_RANGE, "Angka melebihi batas",
+T_BAD_STRING, "Salah string",
+T_EMPTY_STRING_NOT_ALLOWED, "String kosong tidak dibolehkan",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Salah konfigurasi",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Tidak dapat menulis pada berkas konfigurasi",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Tentang",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nPenjelajah World Wide Web teks dan grafik",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Tombol",
+T_KEYS_DESC, "ESC Tampilkan menu\n^C, q, Q Keluar\n^P, ^N Gulung ke atas, bawah\n[, ] Gulung ke kiri, kanan\nup, down Pilih link\n-> Ikuti link\n<- Kembali\ng Menuju URL\nG Menuju URL berdasarkan URL sekarang\n^G Menuju URL berdasarkan link sekarang\n* Mode menampilkan gambar\n^W URL lengkap atau cari string\n^B,^X,^V,^K salin, potong, tempel, potong baris sampai/dari clipboard\nAlt-1 .. Alt-9 Ganti layar virtual (svgalib dan framebuffer)",
+T_KEYS_BRAILLE_DESC, "a, w kursor ke baris status atau judul\n{, } kursor ke awal/akhir baris\n^Y,^T,y,t,^O Ke link/kata/formulir sebelumnya atau selanjutnya",
+T_COPYING, "Menyalin",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\nThis 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.",
+T_RESOURCES, "Sumber",
+T_CONNECTIONS, "Hubungan",
+T_MEMORY_CACHE, "Cache memori",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Cache font",
+T_IMAGE_CACHE, "Cache gambar",
+T_FORMATTED_DOCUMENT_CACHE, "Cache dokumen terformat",
+T_DNS_CACHE, NULL,
+T_HANDLES, "pegangan",
+T_TIMERS, "pencatat waktu",
+T_WAITING, NULL,
+T_CONNECTING, "menghubungi",
+T_tRANSFERRING, "mengirimkan",
+T_KEEPALIVE, "keepalive",
+T_BYTES, "byte",
+T_LETTERS, "huruf",
+T_FILES, "berkas",
+T_LOCKED, "terkunci",
+T_LOADING, "memuat",
+T_IMAGES, "gambar",
+T_DOCUMENTS, "dokumen",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "byte dari memori dialoksikan",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Informasi memori",
+T_NO_HISTORY, "Tidak ada history",
+T_NO_DOWNLOADS, "Tidak ada downloads",
+T_NO_FRAMES, "Tidak ada bingkai",
+T_VT_100_FRAMES, "Bingkai VT 100",
+T_LINUX_OR_OS2_FRAMES, "Bingkai Linux atau OS/2",
+T_KOI8R_FRAMES, "Bingkai KOI8-R",
+T_FREEBSD_FRAMES, "Bingkai FreeBSD",
+T_USE_11M, "Gunakan ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Larang bingkai pada cp850/852",
+T_BLOCK_CURSOR, "Kursor blok",
+T_COLOR, "Warna",
+T_BRAILLE_TERMINAL, "Terminal Braille",
+T_TERMINAL_OPTIONS, "Pilihan terminal",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)",
+T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Akses langsung (tanpa proxy) domain (dibatasi kome)",
+T_NETWORK_OPTIONS, "Pilihan jaringan",
+T_MAX_CONNECTIONS, "Batas hubungan",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Batas hubungan untuk satu host",
+T_RETRIES, "Banyak percobaan (0 - unlimited)",
+T_RECEIVE_TIMEOUT_SEC, "Menerima timeout (detik)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout jika tidak dapat dimulai ulang",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Pencarian DNS tidak serentak",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Beri waktu berkas yang di-download",
+T_CACHE_OPTIONS, "Pilihan cache",
+T_MEMORY_CACHE_SIZE__KB, "Ukuran cache memori (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Ukuran cache gambar (KiB)",
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Banyak dokumen t erformat",
+T_AGGRESSIVE_CACHE, "Aggressive cache",
+T_HTML_OPTIONS, "Pilihan HTML",
+T_DISPLAY_TABLES, "Tampilkan tabel",
+T_DISPLAY_FRAMES, "Tampilkan rangka/bingkai",
+T_DISPLAY_IMAGES, "Tampilkan gambar",
+T_DISPLAY_IMAGE_FILENAMES, "Tampilkan nama berkas gambar",
+T_DISPLAY_LINKS_TO_IMAGES, "Tampilkan link ke gambar",
+T_LINK_ORDER_BY_COLUMNS, "Pindahkan berdasarkan kolom di tabel",
+T_NUMBERED_LINKS, "Beri nomor link",
+T_AUTO_REFRESH, "Penyegeran otomatis",
+T_TARGET_IN_NEW_WINDOW, "Izinkan membuka links pada jendela baru (target=\"_blank\")",
+T_TEXT_MARGIN, "Batas tepi teks",
+T_DEFAULT_CODEPAGE, "Default codepage",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Abaikan informasi charset yang dikirim server",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Pergi ke URL",
+T_GO_BACK, "Kembali",
+T_GO_FORWARD, NULL,
+T_HISTORY, "History",
+T_RELOAD, "Sgarkan",
+T_NEW_WINDOW, "Jendela baru",
+T_SAVE_AS, "Simpan sebagai",
+T_SAVE_URL_AS, "Simpan URL sebagai",
+T_SAVE_FORMATTED_DOCUMENT, "Simpan dokumen terformat",
+T_COPY_URL_LOCATION, "Salin lokasi URL sekarang",
+T_KILL_BACKGROUND_CONNECTIONS, "Matikan semua dibelakang",
+T_KILL_ALL_CONNECTIONS, "Matikan semua hubungan",
+T_FLUSH_ALL_CACHES, "Bersihkan semua cache",
+T_RESOURCE_INFO, "Informasi resource",
+T_OS_SHELL, "Shell Sistem Operasi",
+T_EXIT, "Keluar",
+T_SEARCH, "Cari",
+T_SEARCH_BACK, "Cari kebelakang",
+T_FIND_NEXT, "Cari selanjutnya",
+T_FIND_PREVIOUS, "Cari sebelumnya",
+T_TOGGLE_HTML_PLAIN, "Mode HTML/teks",
+T_DOCUMENT_INFO, "Informasi dokument",
+T_FRAME_AT_FULL_SCREEN, "Bingkai seluruh layar",
+T_SAVE_HTML_OPTIONS, "Simpan pilihan HTML",
+T_CHARACTER_SET, "Character set",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "Surat dan telnet",
+T_MAIL_TELNET_AND_SHELL, "Surat, telnet dan shell",
+T_ASSOCIATIONS, "Penghubungan",
+T_FILE_EXTENSIONS, "Extension berkas",
+T_SAVE_OPTIONS, "Simpan pilihan",
+T_FILE, "Berkas",
+T_VIEW, "Tampilan",
+T_LINK, "Link",
+T_DOWNLOADS, "Download",
+T_SETUP, "Setup",
+T_HELP, "Pertolongan",
+T_ENTER_URL, "Masukkan URL",
+T_SAVE_URL, "Simpan URL",
+T_DOWNLOAD, "Download",
+T_SAVE_TO_FILE, "Simpan ke berkas",
+T_SEARCH_FOR_TEXT, "Cari teks",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Menunggu diantrian",
+T_LOOKING_UP_HOST, "Mencari host",
+T_MAKING_CONNECTION, "Membuat hubungan",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "Negosiasi SSL",
+T_REQUEST_SENT, "Permohonan dikirim",
+T_GETTING_HEADERS, "Menerima headers",
+T_LOGGING_IN, "Logging in",
+T_SERVER_IS_PROCESSING_REQUEST, "Server sedang mengerjakan permohonan",
+T_TRANSFERRING, "Mengirim",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Menunggu untuk konfirmasi redirect",
+T_INTERRUPTED, "Terganggu",
+T_SOCKET_EXCEPTION, "Pengecualian socket",
+T_INTERNAL_ERROR, "Kesalahan internal",
+T_OUT_OF_MEMORY, "Kehabisan memori",
+T_HOST_NOT_FOUND, "Host tidak ditemukan",
+T_ERROR_WRITING_TO_SOCKET, "Kesalahan menulis ke socket",
+T_ERROR_READING_FROM_SOCKET, "Kesalahan membaca dari socket",
+T_DATA_MODIFIED, "Data diubah",
+T_BAD_URL_SYNTAX, "URL syntax salah",
+T_RECEIVE_TIMEOUT, "Menerima timeout",
+T_REQUEST_MUST_BE_RESTARTED, "Rermohonan harus diulang",
+T_CANT_GET_SOCKET_STATE, "Tidak bisa mendapatakan keadaan socket",
+T_CYCLIC_REDIRECT, "Cyclic redirect",
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Kesalahan jawaban HTTP",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Tidak ada isi",
+T_UNKNOWN_FILE_TYPE, "Jenis berkas tidak diketahui",
+T_ERROR_OPENING_FILE, "Kesalahan membuka berkas",
+T_BAD_FTP_RESPONSE, "Kesalahan jawaban FTP",
+T_FTP_SERVICE_UNAVAILABLE, "Pelayanan FTP tidak tersedia",
+T_BAD_FTP_LOGIN, "Kesalahan FTP login",
+T_FTP_PORT_COMMAND_FAILED, "Perintah FTP PORT gagal",
+T_FILE_NOT_FOUND, "Berkas tidak ditemukan",
+T_FTP_FILE_ERROR, "Kesalahan berkas FTP",
+T_UNKNOWN_ERROR, "Kesalahan tidak diketahui",
+T_RECEIVED, "Diterima",
+T_OF, "dari",
+T_AVG, "rata-rata",
+T_CUR, "sekarang",
+T_AVERAGE_SPEED, "Kecepatan rata-rata",
+T_SPEED, "Kecepatan",
+T_CURRENT_SPEED, "kecepatan sekarang",
+T_ELAPSED_TIME, "Waktu berlalu",
+T_ESTIMATED_TIME, "perkiraan waktu",
+T_BACKGROUND, "Background",
+T_ABORT, "Batalkan",
+T_ABORT_AND_DELETE_FILE, "Batalkan dan hapus berkas",
+T_YES, "Ya",
+T_NO, "tidak",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, "Berkas sudah ada",
+T_ALREADY_EXISTS_AS_DOWNLOAD, "sudah ada sebagai download.",
+T_ALREADY_EXISTS, "sudah ada.",
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, "Anda mau menimpa?",
+T_CONTINUE, NULL,
+T_OVERWRITE, "timpa",
+T_RENAME, "Ganti nama",
+T_DOWNLOAD_ERROR, "Kesalahan download",
+T_COULD_NOT_WRITE_TO_FILE, "Tidak dapat menulis berkas.",
+T_ERROR_DOWNLOADING, "Kesalahan downloading",
+T_ERROR_LOADING, "Kesalahan memuat",
+T_COULD_NOT_CREATE_FILE, "Tidak dapat membuat berkas",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "jenis tidak diketahui",
+T_CONTENT_TYPE_IS, "Jenis isi adalah",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Anda ingin buka, simpan atau tampikan berkas ini?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Anda ingin buka atau menampilkan berkas ini?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Anda ingin simpan atau menampilkan berkas ini?",
+T_SAVE, "Simpan",
+T_DISPLAY, "Tampilkan",
+T_WHAT_TO_DO, "Apa yang ingin dilakukan?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Anda mau membuka berkas dengan",
+T_SAVE_IT_OR_DISPLAY_IT, "simpan atau tampilkan??",
+T_OPEN, "Buka",
+T_OPEN_WITH, "Buka dengan",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Apakah anda ingin meneruskan dan mengirim data formulir?",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Apakah anda ingin mengirim data formulir?",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Apakah anda ingin mengirim ulang data formulir?",
+T_WARNING, "Peringatan",
+T_ERROR, "Kesalahan",
+T_WELCOME, "Selamat datang",
+T_WELCOME_TO_LINKS, "Selamat datang!",
+T_BASIC_HELP, "Untuk menampilkan menu, tekan ESC atau klik pada baris teratas. Pilih Pertolongan->Panduan pada menu untuk panduan pemakaian.",
+T_LABEL, "Label",
+T_CONTENT_TYPES, "Content-Type(s)",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' diganti nama berkas)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Halangi terminal ketikaprogram berjalan",
+T_RUN_ON_TERMINAL, "Jalankan pada terminal",
+T_RUN_IN_XWINDOW, "Jalankan pada X-Window",
+T_ASK_BEFORE_OPENING, "Tanya sebelum mebuka",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Hapus hubungan",
+T_ASSOCIATION, "pengubungan",
+T_EXTENSION_S, "Extension(s)",
+T_CONTENT_TYPE, "Content-Type",
+T_DELETE_EXTENSION, "Hapus extension",
+T_EXTENSION, "Extension",
+T_eXTENSION, "extension",
+T_ERROR_WHILE_POSTING_FORM, "kesalahan ketika mengirim formulir",
+T_COULD_NOT_GET_FILE, "Tidak dapat mendapatkan berkas",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Tidak ada pencarian sebelumnya",
+T_SEARCH_STRING_NOT_FOUND, "Kata pencarian tidak ditemukan",
+T_SAVE_ERROR, "Simpan kesalahan",
+T_ERROR_WRITING_TO_FILE, "Kesalahan menulis ke berkas",
+T_DISPLAY_USEMAP, "Tampilkan usemap",
+T_FOLLOW_LINK, "Ikuti link",
+T_OPEN_IN_NEW_WINDOW, "Buka di jendela baru",
+T_DOWNLOAD_LINK, "Download link",
+T_RESET_FORM, "Kosongkan formulir",
+T_SUBMIT_FORM, "Serahkan formulir",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Serahkan formulir dan buka pada jendela baru",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Serahkan formulir dan download",
+T_VIEW_IMAGE, "Lihat gambar",
+T_DOWNLOAD_IMAGE, "Download gambar",
+T_NO_LINK_SELECTED, "Tidak ada link dipilih",
+T_IMAGE, "Gambar",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Layar",
+T_WINDOW, "Jendela",
+T_FULL_SCREEN, "layar penuh",
+T_BEOS_TERMINAL, "terminal BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, "JavaScript",
+T_SUBMIT_FORM_TO, "Serahkan formulir ke",
+T_POST_FORM_TO, "Kirim formulir ke",
+T_RADIO_BUTTON, "Radio button",
+T_CHECKBOX, "Checkbox",
+T_SELECT_FIELD, "Select field",
+T_TEXT_FIELD, "Text field",
+T_TEXT_AREA, "Text area",
+T_FILE_UPLOAD, "Upload berkas",
+T_PASSWORD_FIELD, "Password Field",
+T_BUTTON, "Button",
+T_NAME, "nama",
+T_VALUE, "isi",
+T_HIT_ENTER_TO, "tekan ENTER untuk",
+T_SUBMIT_TO, "serahkan ke",
+T_POST_TO, "kirim ke",
+T_INFO, "Informasi",
+T_HEADER_INFO, "Informasi header",
+T_YOU_ARE_NOWHERE, "Anda tidak dimanapun!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Ukuran",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "tidak lengkap",
+T_CODEPAGE, "Codepage",
+T_ASSUMED, "Dianggap",
+T_IGNORING_SERVER_SETTING, "Abaikan setting server",
+T_SERVER, "Server",
+T_DATE, "Tanggal",
+T_LAST_MODIFIED, "terakhir dirubah",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Bahasa",
+T_GO_TO_LINK, "Menuju link",
+T_ENTER_LINK_NUMBER, "Masukkan nomor link",
+T_RESIZE_TERMINAL, "Ubah ukuran terminal",
+T_COLUMNS, "Kolom",
+T_ROWS, "Baris",
+T_GOTO, "Menuju ke",
+T_CLOSE, "Tutup",
+T_FOLDER, "Folder",
+T_fOLDER, "folder",
+T_ADD, "Tambah",
+T_DELETE, "Hapus",
+T_EDIT, "Ubah",
+T_MOVE, "Pingah",
+T_NO_ITEMS_SELECTED, "Tidak ada yang dipilih. Tidak ada yang dipindah.",
+T_UNSELECT_ALL, "Jangan pilih semua",
+T_BOOKMARKS, "Bookmarks",
+T_BOOKMARK, "bookmark",
+T_ADD_BOOKMARK, "Tambah bookmark",
+T_ADD_ASSOCIATION, "Tambah penghubungan",
+T_ADD_EXTENSION, "Tambah extension",
+T_ADD_FOLDER, "Tambah folder",
+T_BOOKMARK_TITLE, "Judul bookmark",
+T_EDIT_BOOKMARK, "Ubsh bookmark",
+T_EDIT_ASSOCIATION, "Ubah penghubungan",
+T_EDIT_EXTENSION, "Ubah extension",
+T_DELETE_BOOKMARK, "Hapus bookmark",
+T_EDIT_FOLDER, "Ubah folder",
+T_DELETE_FOLDER, "Hapus folder",
+T_NOT_EMPTY_SURE_DELETE, "tidak kosong. Anda yakin ingin menghapusnya?",
+T_BOOKMARK_MANAGER, "Pengatur bookmark",
+T_ASSOCIATIONS_MANAGER, "Pengatur penghubungan",
+T_EXTENSIONS_MANAGER, "Pengatur extensions",
+T_url, "URL",
+T_NNAME, "Nama",
+T_EXIT_LINKS, "Keluar",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "Anda yakin ingin menutup jendela?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Anda yakin ingin keluar?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Download sedang berlangsung, anda yakin mau keluar?",
+T_HTTP_OPTIONS, "Pilihan HTTP",
+T_FTP_OPTIONS, "Pilihan FTP",
+T_HTTP_BUG_WORKAROUNDS, "Penanganan bug HTTP",
+T_USE_HTTP_10, "Gunakan HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Izinkan daftar hitam server bermasalah",
+T_BROKEN_302_REDIRECT, "Redirect 302 rusak (melanggar RFC)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Tidak ada hubungan keepalive setelah permohonan POST (beberapa basisdata PHP membutuhkannya)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, "Jangan kirim Accept-Charset",
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "Tanpa penunjuk",
+T_REFERER_SAME_URL, "Kirim permohonan URL sebagai penunjuk",
+T_REFERER_FAKE, "Penunjuk tetap",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "Kirim penunjuk asli (TIDAK AMAN!)",
+T_FAKE_REFERER, "Penunjuk HTTP tetap",
+T_FAKE_USERAGENT, "Palsukan User-Agent",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Password untuk login anonim",
+T_USE_PASSIVE_FTP, "Gunakan passive FTP",
+T_USE_FAST_FTP, "Gunakan FTP cepat (melanggar RFC)",
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Panduan pengguna",
+T_HOMEPAGE, "Halaman rumah",
+T_CALIBRATION, "Pengukuran",
+T_MAILTO_PROG, "Program surat (% diganti dengan alamat)",
+T_SHELL_PROG, "Shell untuk menjalankan perintah eksternal (% diganti dengan perintah)",
+T_TELNET_PROG, "Program telnet (% diganti dengan \"host\" atau \"host port\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Program Tn3270 (% diganti dengan \"host\" atau \"host port\")",
+T_MMS_PROG, "Program MMS (% diganti dengan URL)",
+T_MAIL_AND_TELNET_PROGRAMS, "Program Mail dan telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Program surat, telnet dan shell",
+T_NO_PROGRAM, "Tidak ada program",
+T_NO_PROGRAM_SPECIFIED_FOR, "Tidak ada program diberikan untuk",
+T_MAIL, "surat",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, "mms",
+T_BAD_MAILTO_URL, "URL mailto salah",
+T_BAD_TELNET_URL, "URL telnet salah",
+T_BAD_TN3270_URL, "URL tn3270 salah",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "URL MMS karakter yang tidak bisa diterima",
+T_AUTHORIZATION_REQUIRED, "Hak khusus diperlukan",
+T_PROXY_AUTHORIZATION_REQUIRED, "Hak khusus proxy diperlukan",
+T_USERID, "Pengguna (user)",
+T_PASSWORD, "kata kunci (password)",
+T_ENTER_USERNAME, "Masukkan nama pengguna untuk ",
+T_AT, "pada ",
+T_SSL_ERROR, "kesalahan SS",
+T_NO_SSL, "Links versi ini tidak mendukung SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, "Tidak ada program SMB terpasangd (smbc atau smbclient)",
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "Anda yakin ingin menghapus",
+T_BOOKMARKS_ALREADY_IN_USE, "Bookmarks sedang terpakai!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Penghubung sedang terpakai!",
+T_EXTENSIONS_ALREADY_IN_USE, "Extensions sedang terpakai!",
+T_VIDEO_OPTIONS, "Pilihan video",
+T_VIDEO_OPTIONS_TEXT, "Saran gamma:\n 1.33 untuk ruangan gelap, 1.11 untuk ruangan terang, 1 untuk kebanyakan ruang, 0.88 untuk ruangan sangat terang.",
+T_RED_DISPLAY_GAMMA, "gamma merah",
+T_GREEN_DISPLAY_GAMMA, "Gamma hijau",
+T_BLUE_DISPLAY_GAMMA, "Gamma biru",
+T_USER_GAMMA, "Gamma pengguna",
+T_ALERT, "Perhatian",
+T_QUESTION, "Pertanyaan",
+T_KILL_SCRIPT, "Matikan script",
+T_KILL_ALL_SCRIPTS, "Matikan sSemua scripts",
+T_SCRIPT_KILLED_BY_USER, "Javasript dimatikan oleh pengguna.",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "JavaScript mencoba untuk menutup jendela. Anda ingin menutup jendelnya?",
+T_ENTER_STRING, "Masukkan stringng",
+T_JAVASCRIPT_OPTIONS, "Pilihan JavaScript",
+T_ENABLE_JAVASCRIPT, "Aktifkan JavaScript",
+T_VERBOSE_JS_ERRORS, "Detail kesalahan JavaScript",
+T_VERBOSE_JS_WARNINGS, "Detail peringatan JavaScript",
+T_MISCELANEOUS_OPTIONS, "Pilihan lainnya",
+T_JAVASCRIPT_ERROR, "Kesalahan JavaScript",
+T_JAVASCRIPT_WARNING, "Peringatan JavaScript",
+T_DISMISS, "Bubar",
+T_MENU_FONT_SIZE, "Ukuran huruf menu",
+T_USER_FONT_SIZE, "Ukuran huruf pengguna",
+T_TURN_OFF_WARNINGS, "Matikan peringatan",
+T_BOOKMARKS_ENCODING, "Bookmarks encoding",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "JavaScript mencoba menuju ke URL",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "JavaScript mencoba membuka jendela barudengan URL",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "JavaScript mencoba menuju ke history",
+T_TO_URL, "ke URL",
+T_GOTO_HISTORY, "Menuju history",
+T_ALLOW, "Izinkan",
+T_REJECT, "Tolak",
+T_ENABLE_ALL_CONVERSIONS, "Aktifkan semua konversi",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Aktifkan resolusi nama global",
+T_MANUAL_JS_CONTROL, "Operasi konfirmasi JavaScript manual",
+T_JS_RECURSION_DEPTH, "Kedalaman rekursif",
+T_MENU_BACKGROUND_COLOR, "Warna background",
+T_MENU_FOREGROUND_COLOR, "Warna foreground",
+T_SCROLL_BAR_BAR_COLOR, "Warna batang Scrollbar",
+T_SCROLL_BAR_AREA_COLOR, "Warna ruang Scrollbar",
+T_SCROLL_BAR_FRAME_COLOR, "Warna bingkai Scrollbar",
+T_BOOKMARKS_FILE, "Berkas bookmarks",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "MAsukkan warna sebagai heksadesimal (RRGGBB).",
+T_JS_MEMORY_LIMIT_KB, "Memori diberikan untuk JavaScript (KiB)",
+T_DITHER_LETTERS, "Dither huruf",
+T_DITHER_IMAGES, "Dither gambar",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "Ubah ukuran gambar (%)",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT,"Tampikan yang terbaik untuk monitor CRT",
+T_DISPLAY_OPTIMIZATION_LCD_RGB,"Tampilkan yang terbaik untuk monitor LCD (RGB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR,"Tampilkan yang terbaik untuk monitor LCD (BGR)",
+T_ASPECT_RATIO, "Pertimbangan letak",
+T_ASPECT_CORRECTION_ON, "Perbaikan letak aktif",
+T_KEYBOARD_CODEPAGE, "Codepage papan ketik",
+T_COPY_LINK_LOCATION, "Salin lokasi link",
+T_BLOCK_URL, "Halangi gambar",
+T_BLOCK_LIST, "Gambar terhalangi",
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, "Gambar yang terhalangi sudah terbuka",
+T_BLOCK_LIST_MANAGER, "Pengatur penghalang gambar",
+T_BLOCK_ADD, "Tambah URL gambar untuk di halangi",
+T_BLOCK_EDIT, "Ubah URL gambar",
+T_BLOCK_DELETE, "Hapus",
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "B",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "A",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, "O",
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, "T",
+T_HK_FLUSH_ALL_CACHES, "E",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "L",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "B",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, "E",
+T_HK_FRAME_AT_FULL_SCREEN, "F",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "A",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "H",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, "V",
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, "J",
+T_HK_MISCELANEOUS_OPTIONS, "O",
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, "B",
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "A",
+T_HK_KEYS, "K",
+T_HK_COPYING, "C",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, "H",
+T_HK_CALIBRATION, "L",
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, "C",
+T_HK_BLOCK_URL, "B",
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/belarusian.lng b/intl/belarusian.lng
new file mode 100644
index 0000000..c31491f
--- /dev/null
+++ b/intl/belarusian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "koi8-ru",
+T__LANGUAGE, "Belarusian",
+T__ACCEPT_LANGUAGE, "be",
+T_OK, "ïë",
+T_CANCEL, "áÄÍÅÎÁ",
+T_BAD_NUMBER, "îÑÐÒÁצÌØÎ٠̦Ë",
+T_NUMBER_EXPECTED, "õ ÐÏ̦ ÐÁצÎÅÎ ÂÙÃØ Ì¦Ë",
+T_NUMBER_OUT_OF_RANGE, "ì¦Ë ÎÅ ÎÁÌÅÖÙÃØ ÄÁÚ×ÏÌÅÎÁÍÕ ÄÙÑÐÁÚÏÎÕ",
+T_BAD_STRING, "îÑÐÒÁצÌØÎÙ ÒÁÄÏË",
+T_EMPTY_STRING_NOT_ALLOWED, "ðÕÓÔÙÑ ÒÁÄ˦ ÎÅ ÄÁÚ×ÁÌÑÀÃÃÁ",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "ðÁÍÙÌËÁ ÎÁÓÔÒÏÊ˦",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "îÅÍÁÇÞÙÍÁ ÚÁЦÓÁÃØ Õ ÆÁÊÌ ÎÁÓÔÒÏÅË",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "ðÒÁ ÐÒÁÇÒÁÍÕ",
+T_LINKS__LYNX_LIKE, "Links ×ÅÒÓ¦¦ " VERSION_STRING "\n\n Lynx-ÐÁÄÏÂÎÙ ÔÜËÓÔÁ×Ù ×ÜÂ-ÂÒÁ®ÚÜÒ",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "ëÌÁצÛÙ",
+T_KEYS_DESC, "ESC ÍÅÎÀ\n^C, q ×ÙÈÁÄ\n^P, ^N ÐÒÁËÒÕÔËÁ ®×ÅÒÈ-ÕΦÚ\n[, ] ÐÒÁËÒÕÔËÁ ®ÌÅ×Á-®ÐÒÁ×Á\nup, down ×ÙÂÁÒ ÓÐÁÓÙÌ˦\n-> ÐÅÒÁÈÏÄ ÐÏ ÓÐÁÓÙÌÃÙ\n<- ÎÁÚÁÄ\ng ÐÅÒÁÊæ ÄÁ ÎÏ×ÁÇÁ URL\nG ÐÅÒÁÊæ ÄÁ URL, ÚÁÓÎÁ×ÁÎÁÍÕ ÎÁ ÃÑËÕÞÙÍ\n/ ÐÏÛÕË\n? Ú×ÁÒÏÔÎÙ ÐÏÛÕË\nn ÛÕËÁÃØ ÄÁÌÅÊ\nN ÛÕËÁÃØ Õ×ÅÒÈ\n= ¦ÎÆÁÒÍÁÃÙÑ ÐÒÁ ÄÁËÕÍÅÎÔ\n| ¦ÎÆÁÒÍÁÃÙÑ ÐÒÁ ÚÁÇÁÌÏ×ÁË\n\\ ÐÁËÁÚÁÃØ ËÏÄ HTML\nd ÚÁËÁÞÁÃØ",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "ðÒÁ×Ù",
+T_COPYING_DESC, "çÜÔÁ ÐÒÁÇÒÁÍÁ Ú'Ñ®ÌÑÅÃÃÁ Ó×ÁÂÏÄÎÙÍ ðú; ×Ù ÍÏÖÁÃÅ ÒÁÓÐÁ®ÓÀÄÖ×ÁÃØ ¦/æ ÍÁÄÙƦËÁ×ÁÃØ ÑÅ ÚÇÏÄÎÁ Ú Ì¦ÃÜÎÚ¦ÑÊ GNU, ÑËÁÑ ÁÐÕÂ̦ËÁ×ÁÎÁ \"æÏÎÄÁÍ Ó×ÁÂÏÄÎÁÇÁ ÐÒÁÇÒÁÍÎÁÇÁ ÚÁÂÅÓÐÑÞÜÎÎÑ\" (FSF); ×ÅÒÓ¦¦ 2 ì¦ÃÜÎÚ¦¦, æ (ÐÁ ×ÁÛÁÍÕ ÖÁÄÁÎÎÀ) ÂÏÌØÛ ÐÏÚÎÑÊ ×ÅÒÓ¦¦",
+T_RESOURCES, "òÜÓÕÒÓÙ",
+T_CONNECTIONS, "úÌÕÞÜÎÎÑ®",
+T_MEMORY_CACHE, "ëÜÛ ÐÁÍÑæ",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "ëÜÛ ÆÁÒÍÁæÒÁ×ÁÎÙÈ ÄÁËÕÍÅÎÔÁ®",
+T_DNS_CACHE, NULL,
+T_HANDLES, "ÈÜÎÄÌÁ®",
+T_TIMERS, "ÔÁÊÍÅÒÁ®",
+T_WAITING, NULL,
+T_CONNECTING, "ÚÌÕÞÜÎÎÅ",
+T_tRANSFERRING, "ÐÅÒÁÄÁÞÁ",
+T_KEEPALIVE, "ÚÁÈÁ×ÁÎÎÅ ÚÌÕÞÜÎÎÑ",
+T_BYTES, "ÂÁÊÔ",
+T_LETTERS, NULL,
+T_FILES, "ÆÁÊÌÁ®",
+T_LOCKED, "ÚÁÂÌÁ˦ÒÁ×ÁÎÁ",
+T_LOADING, "ÚÁÇÒÕÖÁÅÃÃÁ",
+T_IMAGES, NULL,
+T_DOCUMENTS, "ÄÁËÕÍÅÎÔÁ®",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "ÂÁÊÔÁ® ×ÙÄÚÑÌÅÎÁ",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "¶ÎÆÁÒÍÁÃÙÑ ÐÒÁ ÐÁÍÑÃØ",
+T_NO_HISTORY, "öÕÒÎÁÌ ÐÕÓÔÙ",
+T_NO_DOWNLOADS, "îÑÍÁ ÚÁËÁÞÁË",
+T_NO_FRAMES, "îÑÍÁ ÒÁÍÁË",
+T_VT_100_FRAMES, "òÁÍ˦ VT 100",
+T_LINUX_OR_OS2_FRAMES, "òÁÍ˦ Linux æ OS/2",
+T_KOI8R_FRAMES, "òÁÍ˦ KOI8-R",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "÷ÙËÁÒÙÓÔÏ®×ÁÃØ ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "îÅËÁÔÏÒÙÑ ÒÁÍ˦ Ú cp850/852",
+T_BLOCK_CURSOR, "ëÕÒÓÁÒ ÐÒÁÍÁ×ÕÇÏÌØΦËÁÍ",
+T_COLOR, "ëÏÌÅÒ",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "îÁÓÔÒÏÊ˦ ÔÜÒͦÎÁÌÁ",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP ÐÒÏËÓ¦ (ÓÅÒ×ÅÒ:ÐÏÒÔ)",
+T_FTP_PROXY__HOST_PORT, "FTP ÐÒÏËÓ¦ (ÓÅÒ×ÅÒ:ÐÏÒÔ)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "óÐ¦Ó (ÐÒÁÚ ËÏÓËÕ) ÄÁÍÅÎÁ® Ú ÄÏÓÔÕÐÁÍ ÂÅÚ ÐÒÏËÓ¦",
+T_NETWORK_OPTIONS, "îÁÓÔÒÏÊ˦ ÓÅÔ˦",
+T_MAX_CONNECTIONS, "íÁËÓ. ËÏÌØËÁÓÃØ ÚÌÕÞÜÎÎÑ®",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "íÁËÓ. ËÏÌØËÁÓÃØ ÚÌÕÞÜÎÎÑ® ÄÁ ÁÄÎÁÇÏ ÓÅÒ×ÅÒÁ",
+T_RETRIES, "óÐÒÏÂ",
+T_RECEIVE_TIMEOUT_SEC, "ôÁÊÍÁÕÔ ÎÁ ÐÒÙ£Í (ÓÅË.)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "ôÁÊÍÁÕÔ ÐÒÙ ÁÄÓÕÔÎÁÓæ ÄÁËÁÞ˦",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "áÓ¦ÎÈÒÏÎÎÙ Ú×ÁÒÏÔ ÄÁ DNS",
+T_SET_TIME_OF_DOWNLOADED_FILES, "õÓÔÁÎÏ®ËÁ ÞÁÓÕ ÄÌÑ ÚÁËÁÞÁÎÙÈ ÆÁÊÌÁ®",
+T_CACHE_OPTIONS, "îÁÓÔÒÏÊ˦ ËÜÛÁ",
+T_MEMORY_CACHE_SIZE__KB, "ðÁÍÅÒÙ ËÜÛÁ ÐÁÍÑæ (ëâ)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "ëÏÌØËÁÓÃØ ÆÁÒÍÁæÒÁ×ÁÎÙÈ ÄÁËÕÍÅÎÔÁ®",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "îÁÓÔÒÏÊ˦ HTML",
+T_DISPLAY_TABLES, "ôÁÂ̦ÃÙ",
+T_DISPLAY_FRAMES, "æÒÜÊÍÙ",
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "óÐÁÓÙÌ˦ ÎÁ צÄÁÒÙÓÙ",
+T_LINK_ORDER_BY_COLUMNS, "òÕÈÁÃÃÁ ÐÁ ÓÌÕÐËÁÈ ÔÁÂ̦Ã",
+T_NUMBERED_LINKS, "îÕÍÅÒÁ×ÁÃØ ÓÐÁÓÙÌ˦",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "÷ÏÄÓÔÕÐ",
+T_DEFAULT_CODEPAGE, "ëÁÄÚ¦ÒÏ®ËÁ ÐÁ ÚÁÍÏ®Þ×ÁÎΦ",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "¶ÇÎÁÒÁ×ÁÃØ ËÁÄÚ¦ÒÏ®ËÕ, ÄÁÄÚÅÎÕÀ ÓÅÒ×ÅÒÁÍ",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "ðÅÒÁÊæ ÄÁ ÎÏ×ÁÇÁ URL",
+T_GO_BACK, "ðÅÒÁÊæ ÎÁÚÁÄ",
+T_GO_FORWARD, NULL,
+T_HISTORY, "öÕÒÎÁÌ",
+T_RELOAD, "áÄÎÁצÃØ",
+T_NEW_WINDOW, "îÏ×ÁÅ ÁËÎÏ",
+T_SAVE_AS, "úÁÈÁ×ÁÃØ ÑË",
+T_SAVE_URL_AS, "úÁÈÁ×ÁÃØ URL ÑË",
+T_SAVE_FORMATTED_DOCUMENT, "úÁÈÁ×ÁÃØ ÆÁÒÍÁæÒÁ×ÁÎÙ ÄÁËÕÍÅÎÔ",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "òÁÚÁÒ×ÁÃØ ÆÏÎÁ×ÙÑ ÚÌÕÞÜÎΦ",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "áÞÙÓæÃØ ÕÓŠצÄÙ ËÜÛÁ",
+T_RESOURCE_INFO, "¶ÎÆÁÒÍÁÃÙÑ ÐÒÁ ÒÜÓÕÒÓÙ",
+T_OS_SHELL, "ëÁÍÁÎÄÎÙ ÒÁÄÏË",
+T_EXIT, "÷ÙÈÁÄ",
+T_SEARCH, "ðÏÛÕË",
+T_SEARCH_BACK, "ú×ÁÒÏÔÎÙ ÐÏÛÕË",
+T_FIND_NEXT, "ûÕËÁÃØ ÄÁÌÅÊ",
+T_FIND_PREVIOUS, "ûÕËÁÃØ ÎÁÚÁÄ",
+T_TOGGLE_HTML_PLAIN, "ðÅÒÁËÌÀÞÙÃØ HTML/ÔÜËÓÔ",
+T_DOCUMENT_INFO, "¶ÎÆÁÒÍÁÃÙÑ ÐÒÁ ÄÁËÕÍÅÎÔ",
+T_FRAME_AT_FULL_SCREEN, "æÒÜÊÍ ÎÁ ÐÏ®ÎÙ ÜËÒÁÎ",
+T_SAVE_HTML_OPTIONS, "úÁÈÁ×ÁÃØ ÎÁÓÔÒÏÊ˦ HTML",
+T_CHARACTER_SET, "ëÁÄÚ¦ÒÏ®ËÁ",
+T_CACHE, "ëÜÛ",
+T_MAIL_AND_TELNEL, "ðÏÛÔÁ ¦ telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "óÕÐÁÓÔÁ®ÌÅÎΦ",
+T_FILE_EXTENSIONS, "òÁÓÛÙÒÜÎΦ ÆÁÊÌÁ®",
+T_SAVE_OPTIONS, "úÁÈÁ×ÁÃØ ÎÁÓÔÒÏÊ˦",
+T_FILE, "æÁÊÌ",
+T_VIEW, "÷¦Ä",
+T_LINK, "óÐÁÓÙÌ˦",
+T_DOWNLOADS, "úÁËÁÞ˦",
+T_SETUP, "îÁÓÔÒÏÊËÁ",
+T_HELP, "äÁ×ÅÄËÁ",
+T_ENTER_URL, "õ×ÑÄÚ¦ÃÅ URL",
+T_SAVE_URL, "úÁÈÁ×ÁÃØ URL",
+T_DOWNLOAD, "úÁËÁÞËÁ",
+T_SAVE_TO_FILE, "úÁÈÁ×ÁÃØ Õ ÆÁÊÌ",
+T_SEARCH_FOR_TEXT, "ðÏÛÕË ÔÜËÓÔÕ",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "þÁËÁÎÎÅ ® ÞÁÒÚÅ",
+T_LOOKING_UP_HOST, "ðÏÛÕË ÓÅÒ×ÅÒÁ",
+T_MAKING_CONNECTION, "úÌÕÞÜÎÎÅ",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "ðÒÁÔÁËÏÌ SSL",
+T_REQUEST_SENT, "úÁÐÙÔ ÐÁÓÌÁÎÙ",
+T_GETTING_HEADERS, "áÔÒÙÍÁÎÎÅ ÚÁÇÁÌÏ®ËÁ®",
+T_LOGGING_IN, NULL,
+T_SERVER_IS_PROCESSING_REQUEST, "óÅÒ×ÅÒ ÁÐÒÁÃÏ®×ÁÅ ÚÁÐÙÔ",
+T_TRANSFERRING, "ðÅÒÁÓÙÌËÁ",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "þÁËÁÎÎÅ ÐÁÃ×ÅÒÄÖÁÎÎÑ ÐÅÒÁÎÁ˦ÒÁ×ÁÎÎÑ",
+T_INTERRUPTED, "ðÅÒÁÐÙÎÅÎÁ",
+T_SOCKET_EXCEPTION, "÷ÙËÌÀÞÜÎÎÅ ® ÓÏËÅÃÅ",
+T_INTERNAL_ERROR, "õÎÕÔÒÁÎÁÑ ÐÁÍÙÌËÁ",
+T_OUT_OF_MEMORY, "íÁÌÁ ÐÁÍÑæ",
+T_HOST_NOT_FOUND, "óÅÒ×ÅÒ ÎÅ ÚÎÁÊÄÚÅÎÙ",
+T_ERROR_WRITING_TO_SOCKET, "ðÁÍÙÌËÁ ÚÁЦÓÕ ® ÓÏËÅÔ",
+T_ERROR_READING_FROM_SOCKET, "ðÁÍÙÌËÁ ÞÙÔÁÎÎÑ Ú ÓÏËÅÔÁ",
+T_DATA_MODIFIED, "äÁÔÁ ÚÍÅÎÅÎÁ",
+T_BAD_URL_SYNTAX, "îÑÐÒÁצÌØÎÙ Ó¦ÎÔÁËÓ¦Ó URL",
+T_RECEIVE_TIMEOUT, "ôÁÊÍÁ®Ô ÐÒÙ ÞÙÔÁÎΦ",
+T_REQUEST_MUST_BE_RESTARTED, "úÁÐÙÔ ÐÁצÎÅÎ ÂÙÃØ ÐÁ®ÔÏÒÁÎÙ",
+T_CANT_GET_SOCKET_STATE, "îÅÌØÇÁ ÁÔÒÙÍÁÃØ ÓÔÁÎ ÓÏËÅÔÁ",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "îÑÐÒÁצÌØÎÙ ÁÄËÁÚ HTTP",
+T_HTTP_100, NULL,
+T_NO_CONTENT, "îÑÍÁ ÄÁÄÚÅÎÙÈ",
+T_UNKNOWN_FILE_TYPE, "îÅ×ÑÄÏÍÙ ÔÙÐ ÆÁÊÌÁ",
+T_ERROR_OPENING_FILE, "ðÁÍÙÌËÁ ÁÄËÒÙÃÃÑ ÆÁÊÌÁ",
+T_BAD_FTP_RESPONSE, "îÑÐÒÁצÌØÎÙ ÁÄËÁÚ HTTP",
+T_FTP_SERVICE_UNAVAILABLE, "óÜÒ×¦Ó FTP ÎÅÄÁÓÔÕÐÎÙ",
+T_BAD_FTP_LOGIN, "îÑÐÒÁצÌØÎÙ FTP login",
+T_FTP_PORT_COMMAND_FAILED, "ëÁÍÁÎÄÁ FTP PORT ÓËÏÎÞÙÌÁÓØ ÎÑ®ÄÁÌÁ",
+T_FILE_NOT_FOUND, "æÁÊÌ ÎÅ ÚÎÁÊÄÚÅÎÙ",
+T_FTP_FILE_ERROR, "ðÁÍÙÌËÁ ÆÁÊÌÁ ÎÁ FTP",
+T_UNKNOWN_ERROR, "îÅ×ÑÄÏÍÁÑ ÐÁÍÙÌËÁ",
+T_RECEIVED, "ðÒÙÎÑÔÁ",
+T_OF, "Ú",
+T_AVG, "Õ ÓÑÒÜÄÎÅÍ",
+T_CUR, "ÃÑËÕÞÁÑ",
+T_AVERAGE_SPEED, "óÑÒÜÄÎÑÑ ÈÕÔËÁÓÃØ",
+T_SPEED, "èÕÔËÁÓÃØ",
+T_CURRENT_SPEED, "ÃÑËÕÞÁÑ ÈÕÔËÁÓÃØ",
+T_ELAPSED_TIME, "úÁÔÒÁÞÁÎÙ ÞÁÓ",
+T_ESTIMATED_TIME, "ðÌÁÎÕÅÍÙ ÞÁÓ",
+T_BACKGROUND, "õ ÆÏÎÅ",
+T_ABORT, "ðÒÅÁÐÙΦÃØ",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "ôÁË",
+T_NO, "îÅ",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "ðÁÍÙÌËÁ ÚÁËÁÞ˦",
+T_COULD_NOT_WRITE_TO_FILE, "îÅÍÁÎÞÙÍÁ ЦÓÁÃØ Õ ÆÁÊÌ",
+T_ERROR_DOWNLOADING, "ðÁÍÙÌËÁ ÚÁËÁÞ×ÁÎÎÑ",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "îÅÍÁÇÞÙÍÁ ÓÔ×ÁÒÙÃØ ÆÁÊÌ",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "îÅ×ÑÄÏÍÙ ÔÙÐ",
+T_CONTENT_TYPE_IS, "ôÙÐ ÄÁËÕÍÅÎÔÁ",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "öÁÄÁÅÃÅ ÆÁÊÌ ÚÁÈÁ×ÁÃØ Ã¦ ÐÁËÁÚÁÃØ ÎÁ ÜËÒÁÎÅ?",
+T_SAVE, "úÁÈÁ×ÁÃØ",
+T_DISPLAY, "ðÁËÁÚÁÃØ",
+T_WHAT_TO_DO, "ûÔÏ ÒÁ¦ÃØ?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "öÁÄÁÅÃÅ ÁÄËÒÙÃØ ÆÁÊÌ Ú ÄÁÐÁÍÏÇÁÊ",
+T_SAVE_IT_OR_DISPLAY_IT, "ÚÁÈÁ×ÁÃØ Ã¦ ÐÁËÁÚÁÃØ ÑÇÏ?",
+T_OPEN, "áÄËÒÙÃØ",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "öÁÄÁÅÃÅ ÐÁÓÌÅÄ×ÁÃØ ÐÅÒÁÁÄÒÁÓÁÃÙ? ? ÁÄÐÒÁ×?ÃØ ÄÁÄÚÅÎÙÑ ÆÏÒÍÙ ÐÏ ÁÄÒÅÓÕ",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "㦠ÖÁÄÁÅÃÅ ÷Ù ÁÄÐÒÁצÃØ ÄÁÄÚÅÎÙÑ ÆÏÒÍÙ ÐÁ ÁÄÒÁÓÕ",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "㦠ÖÁÄÁÅÃÅ ÷Ù ÚÎÏ® ÁÄÐÒÁצÃØ ÄÁÄÚÅÎÙÑ ÆÏÒÍÙ ÐÁ ÁÄÒÁÓÕ",
+T_WARNING, "õ×ÁÇÁ",
+T_ERROR, "ðÁÍÙÌËÁ",
+T_WELCOME, "÷¦ÔÁÅÍ!",
+T_WELCOME_TO_LINKS, "ûÞÙÒÁ ÷ÁÓ ×¦ÔÁÅÍ Õ Links!",
+T_BASIC_HELP, "îÁæÓΦÃÅ ESC ÄÌÑ ×ÙË̦ËÕ ÍÅÎÀ. ðÒÁÞÙÔÁÊÃÅ ÄÁÐÁÍÏÖÎ¦Ë ËÁÒÙÓÔÁÌØΦËÁ, ×ÙÂÒÁ®ÛÙ ® ÍÅÎÀ 'äÁÐÁÍÏÇÁ->äÁÐÁÍÏÖΦË'.",
+T_LABEL, "íÅÔËÁ",
+T_CONTENT_TYPES, "ôÙÐ(Ù) ÚÍÅÓÔÕ",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "ðÒÁÇÒÁÍÁ ('%' ÚÁÍÑÎÑÅÃÃÁ ÎÁ ¦ÍÑ ÆÁÊÌÁ)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "âÌÁ˦ÒÁ×ÁÃØ ÔÜÒͦÎÁÌ ÎÁ ÞÁÓ ÐÒÁÃÙ ÐÒÁÇÒÁÍÙ",
+T_RUN_ON_TERMINAL, "úÁÐÕÓæÃØ ÎÁ ÔÜÒͦÎÁÌÅ",
+T_RUN_IN_XWINDOW, "úÁÐÕÓæÃØ Õ X-Window",
+T_ASK_BEFORE_OPENING, "úÁÐÙÔ ÐÅÒÁÄ ÁÄËÒÙÃãÍ",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "÷ÙÄÁ̦ÃØ ÓÕÐÁÓÔÁ®ÌÅÎÎÅ",
+T_ASSOCIATION, "óÕÐÁÓÔÁ®ÌÅÎÎÅ",
+T_EXTENSION_S, "òÁÓÛÙÒÅÎΦ",
+T_CONTENT_TYPE, "ôÙÐ ÚÍÅÓÔÕ",
+T_DELETE_EXTENSION, "÷ÙÄÁ̦ÃØ ÒÁÓÛÙÒÜÎÎÅ",
+T_EXTENSION, "òÁÓÛÙÒÜÎÎÅ",
+T_eXTENSION, NULL,
+T_ERROR_WHILE_POSTING_FORM, "ðÁÍÙÌËÁ ÐÒÙ ÁÄÐÒÁ®ÃÙ ÆÏÒÍÙ",
+T_COULD_NOT_GET_FILE, "îÅÓÁÇÞÙÍÁ ÁÔÒÙÍÁÃØ ÆÁÊÌ",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "òÁÎÅÊ ÐÏÛÕËÕ ÎÅ ÂÙÌÏ",
+T_SEARCH_STRING_NOT_FOUND, "ûÕËÁÅÍÙ ÒÁÄÏË ÎÅ ÚÎÁÊÄÚÅÎÙ",
+T_SAVE_ERROR, "ðÁÍÙÌËÁ ÚÁÈÁ×ÁÎÎÑÑ",
+T_ERROR_WRITING_TO_FILE, "ðÁÍÙÌËÁ ÚÁЦÓÕ ® ÆÁÊÌ",
+T_DISPLAY_USEMAP, "ðÁËÁÚÁÃØ ËÁÒÔÕ",
+T_FOLLOW_LINK, "óÌÅÄÏ×ÁÔØ ÓÓÙÌËÅ",
+T_OPEN_IN_NEW_WINDOW, "ïÔËÒÙÔØ × ÎÏ×ÏÍ ÏËÎÅ",
+T_DOWNLOAD_LINK, "îÁ˦ÒÏ®×ÁÃÃÁ ÐÁ ÓÐÁÓÙÌÃÙ",
+T_RESET_FORM, "áÞÙÓÔËÁ ÆÏÒÍÙ",
+T_SUBMIT_FORM, "ðÁÓÌÁÃØ ÆÏÒÍÕ",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "ðÁÓÌÁÃØ ÆÏÒÍÕ ¦ ÁÄËÒÙÃØ Õ ÎÏ×ÙÍ ÁËÎÅ",
+T_SUBMIT_FORM_AND_DOWNLOAD, "ðÁÓÌÁÔØ ÆÏÒÍÕ ¦ ÓËÁÞÁÃØ",
+T_VIEW_IMAGE, "ðÒÁÇÌÑÄÚÅÃØ ×ÙÑ×Õ",
+T_DOWNLOAD_IMAGE, "óËÁÞÁÃØ ×ÙÑ×Õ",
+T_NO_LINK_SELECTED, "îÑÍÁ ×ÙÂÒÁÎÙÈ ÓÐÁÓÙÌÁË",
+T_IMAGE, "íÁÌÀÎÁË",
+T_USEMAP, "ëÁÒÔÁ ÓÐÁÓÙÌÁË",
+T_XTERM, NULL,
+T_TWTERM, NULL,
+T_SCREEN, "üËÒÁÎ",
+T_WINDOW, "áËÎÏ",
+T_FULL_SCREEN, "îÁ ®×ÅÓØ ÜËÒÁÎ",
+T_BEOS_TERMINAL, "ôÜÒͦÎÁÌ BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "ðÅÒÁÄÁÞÁ ÆÏÒÍÙ ÐÁ ÁÄÒÅÓÕ",
+T_POST_FORM_TO, "áÄÐÒÁ®ËÁ ÆÏÒÍÙ ÐÁ ÁÄÒÅÓÕ",
+T_RADIO_BUTTON, "òÁÄÙ£-ËÎÏÐËÁ",
+T_CHECKBOX, "áÄÚÎÁËÁ",
+T_SELECT_FIELD, "÷ÙÂÑÒÙÃÅ ÐÏÌÅ",
+T_TEXT_FIELD, "ôÜËÓÔÁ×ÁÅ ÐÏÌÅ",
+T_TEXT_AREA, "ôÜËÓÔÁ×ÁÅ ÐÏÌÅ",
+T_FILE_UPLOAD, "÷ÙÇÒÕÚËÁ ÆÁÊÌÁ",
+T_PASSWORD_FIELD, "ðÏÌÅ ÐÁÒÏÌÑ",
+T_BUTTON, NULL,
+T_NAME, "ÍÅÔËÁ",
+T_VALUE, "ÚÎÁÞÅÎÎÅ",
+T_HIT_ENTER_TO, "ÎÁÖͦÃÅ ENTER, ËÁÂ",
+T_SUBMIT_TO, "ÐÅÒÁÄÁÃØ ÐÁ ÁÄÒÅÓÕ",
+T_POST_TO, "ÁÄÐÒÁצÃØ ÐÁ ÁÄÒÅÓÕ",
+T_INFO, "¶ÎÆÁ",
+T_HEADER_INFO, "¶ÎÆÁ ÐÒÁ ÚÁÇÁÌÏ×ÁË",
+T_YOU_ARE_NOWHERE, "÷Ù ÎÅ ÚÎÁÈÏÄÚ¦ÃÅÓÑ Î¦ ÎÁ ÁÄÎÙÍ ÓÁÊÃÅ!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "ðÁÍÅÒ",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "ÎÅ ÃÁÌËÁÍ",
+T_CODEPAGE, "ëÏÄÁ×ÁÑ ÓÔÁÒÏÎËÁ",
+T_ASSUMED, "ÐÒÙÎÑÔÁ",
+T_IGNORING_SERVER_SETTING, "¦ÇÎÁÒÁ×ÁÃØ ÎÁÓÔÒÏÊ˦ ÓÅÒ×ÅÒÁ",
+T_SERVER, "óÅÒ×ÅÒ",
+T_DATE, "äÁÔÁ",
+T_LAST_MODIFIED, "áÐÏÛÎÑÑ ÍÁÄÙƦËÁÃÙÑ",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "íÏ×Á",
+T_GO_TO_LINK, "ðÁÊÓæ ÐÁ ÓÐÁÓÙÌÃÙ",
+T_ENTER_LINK_NUMBER, "õ×ÑÄÚ¦ÃÅ ÎÕÍÁÒ ÓÐÁÓÙÌ˦",
+T_RESIZE_TERMINAL, "úÍÑΦÃØ ÐÁÍÅÒÙ ÔÜÒͦÎÁÌÁ",
+T_COLUMNS, "óÌÕÐËÏ®",
+T_ROWS, "òÁÄËÏ®",
+T_GOTO, "ðÁÊÓæ",
+T_CLOSE, "úÁËÒÙÃØ",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "äÁÄÁÃØ",
+T_DELETE, "÷ÙÄÁ̦ÃØ",
+T_EDIT, "òÜÄÁÇÁ×ÁÃØ",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "úÁËÌÁÄ˦",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "äÁÄÁÃØ ÚÁËÌÁÄËÕ",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, "îÁÚ×Á ÚÁËÌÁÄ˦",
+T_EDIT_BOOKMARK, "òÅÄÁÇÁ×ÁÃØ ÚÁËÌÁÄËÕ",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "÷ÙÄÁ̦ÃØ ÚÁËÌÁÄËÕ",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "ðÒÁÃÁ Ú ÚÁËÌÁÄËÁͦ",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, "URL",
+T_NNAME, "¶ÍÑ",
+T_EXIT_LINKS, "÷ÙÈÁÄ Ú Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "÷Ù ÓÁÐÒÁ®ÄÙ ÖÁÄÁÅÃÅ ÚÁ×ÑÒÛÙÃØ ÐÒÁÃÕ Ú Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "÷Ù ÓÁÐÒÁ®ÄÙ ÖÁÄÁÅÃÅ ÚÁ×ÑÒÛÙÃØ ÐÒÁÃÕ Ú Ó Links ¦ ÓÐÙΦÃØ ÕÓÅ ÚÁËÁÞ˦?",
+T_HTTP_OPTIONS, "îÁÓÔÒÏÊ˦ HTTP",
+T_FTP_OPTIONS, "îÁÓÔÒÏÊ˦ FTP",
+T_HTTP_BUG_WORKAROUNDS, "ðÁÚÂÑÇÁÃØ ÐÁÍÙÌÁË Õ HTTP",
+T_USE_HTTP_10, "÷ÙËÁÒÙÓÔÏ®×ÁÃØ HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "äÁÄÁ×ÁÃØ ÄÁ ÞÏÒÎÁÇÁ ÓЦÓÁ ÎÅÁÄÌÁÄÖÁÎÙÑ ÓÅÒ×ÅÒÙ",
+T_BROKEN_302_REDIRECT, "äÁÚ×Ï̦ÃØ ÎÑÐÒÁצÌØÎÕÀ 302-ÐÅÒÁÁÄÒÁÓÏ®ËÕ (ÇÜÔÁ ÎÅ ÁÄÐÁ×ÑÄÁÅ RFC, ÈÁÃÑ ¦ ÓÕÍÑÛÞÁÌØÎÁ Ú Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "îÅ ÐÁÄÔÒÙÍ̦×ÁÃØ keepalive ÐÁÓÌÑ ÚÁÐÙÔÕ POST (ÐÁÔÒÜÂÎÁ ÄÌÑ ÎÅËÁÔÏÒÙÈ ÎÅÁÄÌÁÄÖÁÎÙÈ PHP-ÂÁÚ ÄÁÄÚÅÎÙÈ)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "ðÁÒÏÌØ ÄÌÑ ÁÎÁΦÍÎÁÇÁ ®×ÁÈÏÄÕ",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "äÁÐÁÍÏÖΦË",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, "ðÒÁÇÒÁÍÁ ÁÄÐÒÁ®Ë¦ ÐÏÛÔÙ (% ÚÁÍÑÎÑÅÃÃÁ ÎÁ ÁÄÒÁÓ)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "ðÒÁÇÒÁÍÁ telnet (% ÚÁÍÑÎÑÅÃÃÁ ÎÁ 'host' æ 'host port')",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "ðÒÁÇÒÁÍÁ tn3270 (% ÚÁÍÑÎÑÅÃÃÁ ÎÁ 'host' æ 'host port')",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "ðÒÁÇÒÁÍÙ ÄÌÑ ÐÏÛÔÙ ¦ telnet'Á",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "îÑÍÁ ÐÒÁÇÒÁÍÙ",
+T_NO_PROGRAM_SPECIFIED_FOR, "îÅ ®ËÁÚÁÎÁ ÐÒÁÇÒÁÍÁ ÄÌÑ",
+T_MAIL, "ÐÏÛÔÙ",
+T_TELNET, NULL,
+T_MAGNET, NULL,
+T_TN3270, NULL,
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "îÑÐÒÁצÌØÎÙ ÁÄÒÁÓ mailto:",
+T_BAD_TELNET_URL, "îÑÐÒÁצÌØÎÙ ÁÄÒÁÓ telnet",
+T_BAD_TN3270_URL, "îÑÐÒÁצÌØÎÙ ÁÄÒÁÓ tn3270",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "¶ÍÑ ËÁÒÙÓÔÁÌØΦËÁ",
+T_PASSWORD, "ðÁÒÏÌØ",
+T_ENTER_USERNAME, "õ×ÑÄÚ¦ÃÅ ¦ÍÑ ËÁÒÙÓÔÁÌØΦËÁ ÄÌÑ ",
+T_AT, "ÎÁ ",
+T_SSL_ERROR, "ðÁÍÙÌËÁ SSL",
+T_NO_SSL, "çÜÔÁ ×ÅÒÓ¦Ñ Links ÎÅ ÐÁÄÔÒÙÍ̦×ÁÅ SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, NULL,
+T_HK_GO_BACK, NULL,
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, NULL,
+T_HK_RELOAD, NULL,
+T_HK_BOOKMARKS, NULL,
+T_HK_NEW_WINDOW, NULL,
+T_HK_SAVE_AS, NULL,
+T_HK_SAVE_URL_AS, NULL,
+T_HK_SAVE_FORMATTED_DOCUMENT, NULL,
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, NULL,
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, NULL,
+T_HK_RESOURCE_INFO, NULL,
+T_HK_MEMORY_INFO, NULL,
+T_HK_OS_SHELL, NULL,
+T_HK_RESIZE_TERMINAL, NULL,
+T_HK_EXIT, NULL,
+T_HK_SEARCH, NULL,
+T_HK_SEARCH_BACK, NULL,
+T_HK_FIND_NEXT, NULL,
+T_HK_FIND_PREVIOUS, NULL,
+T_HK_TOGGLE_HTML_PLAIN, NULL,
+T_HK_DOCUMENT_INFO, NULL,
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, NULL,
+T_HK_HTML_OPTIONS, NULL,
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, NULL,
+T_HK_LANGUAGE, NULL,
+T_HK_CHARACTER_SET, NULL,
+T_HK_TERMINAL_OPTIONS, NULL,
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, NULL,
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, NULL,
+T_HK_MAIL_AND_TELNEL, NULL,
+T_HK_ASSOCIATIONS, NULL,
+T_HK_FILE_EXTENSIONS, NULL,
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, NULL,
+T_HK_ABOUT, NULL,
+T_HK_KEYS, NULL,
+T_HK_COPYING, NULL,
+T_HK_MANUAL, NULL,
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, NULL,
+T_HK_VIEW, NULL,
+T_HK_LINK, NULL,
+T_HK_DOWNLOADS, NULL,
+T_HK_SETUP, NULL,
+T_HK_HELP, NULL,
+T_HK_DISPLAY_USEMAP, NULL,
+T_HK_FOLLOW_LINK, NULL,
+T_HK_OPEN_IN_NEW_WINDOW, NULL,
+T_HK_DOWNLOAD_LINK, NULL,
+T_HK_RESET_FORM, NULL,
+T_HK_SUBMIT_FORM, NULL,
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, NULL,
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, NULL,
+T_HK_VIEW_IMAGE, NULL,
+T_HK_DOWNLOAD_IMAGE, NULL,
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, NULL,
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, NULL,
+T_HK_WINDOW, NULL,
+T_HK_FULL_SCREEN, NULL,
+T_HK_BEOS_TERMINAL, NULL,
diff --git a/intl/brazilian_portuguese.lng b/intl/brazilian_portuguese.lng
new file mode 100644
index 0000000..8e4edf2
--- /dev/null
+++ b/intl/brazilian_portuguese.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-1",
+T__LANGUAGE, "Brazilian Portuguese",
+T__ACCEPT_LANGUAGE, "pt-br,pt;q=0.9",
+T_OK, "OK",
+T_CANCEL, "Cancelar",
+T_BAD_NUMBER, "Número inválido",
+T_NUMBER_EXPECTED, "Espera-se número no campo",
+T_NUMBER_OUT_OF_RANGE, "Número fora de freqüência",
+T_BAD_STRING, "Sequência de caracteres inválida",
+T_EMPTY_STRING_NOT_ALLOWED, "Não é permitido sequência de caracteres vazia",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Erro de configuração",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Não posso escrever no arquivo de configuração",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Sobre",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nBrowser WWW",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Teclas",
+T_KEYS_DESC, "ESC Exibe o menu\n^C, q Finalizar\n^P, ^N Deslocar para cima, baixo\n[, ] Deslocar para a esquerda, direita\n cima, baixo seleciona link\n-> visita link\n<- volta\ng abre url\nG abre url baseada na url atual\n/ localizar\n? localizar para trás\nn encontrar próximo\nN encontrar anterior\n= informações sobre documento\n\\ fonte do documento\nd download",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Licensa",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nEste programa é um software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licensa Pública Geral GNU, como publicada pela Free Software Foundation; ou pela versão 2 da Licensa, ou (por sua opção) qualquer versão posterior.",
+T_RESOURCES, "Recursos",
+T_CONNECTIONS, "Conexões",
+T_MEMORY_CACHE, "Cache de memória",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "Cache de documentos formatados",
+T_DNS_CACHE, NULL,
+T_HANDLES, "handles",
+T_TIMERS, "temporizadores",
+T_WAITING, NULL,
+T_CONNECTING, "conectando",
+T_tRANSFERRING, "transferindo",
+T_KEEPALIVE, "manter ativo",
+T_BYTES, "bytes",
+T_LETTERS, NULL,
+T_FILES, "arquivosfiles",
+T_LOCKED, "travado",
+T_LOADING, "carregando",
+T_IMAGES, NULL,
+T_DOCUMENTS, "documentos",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "bytes de memória alocados",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Informações sobre memória",
+T_NO_HISTORY, "Sem histórico",
+T_NO_DOWNLOADS, "Sem downloads",
+T_NO_FRAMES, "Sem frames",
+T_VT_100_FRAMES, "Frames VT 100",
+T_LINUX_OR_OS2_FRAMES, "Frames Linux ou OS/2",
+T_KOI8R_FRAMES, "Frames KOI8-R",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Use ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Frames restritos para cp850/852",
+T_BLOCK_CURSOR, "Cursor Bloco",
+T_COLOR, "Cores",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Opções do Terminal",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "Proxy de HTTP (host:porta)",
+T_FTP_PROXY__HOST_PORT, "Proxy de FTP (host:porta)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, NULL,
+T_NETWORK_OPTIONS, "Opções de Rede",
+T_MAX_CONNECTIONS, "Número máximo de conexões",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Número Máximo de conexões a um host",
+T_RETRIES, "Tentativas",
+T_RECEIVE_TIMEOUT_SEC, "Receber timeout (seg)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout quando não for reinicializável",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Busca por DNS assíncrona",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Definir tempo em arquivos recebidos",
+T_CACHE_OPTIONS, "Opções de cache",
+T_MEMORY_CACHE_SIZE__KB, "Tamanho do chache de memória (KiB)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Número de documentos formatados",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "Opções de Html",
+T_DISPLAY_TABLES, "Exibir tabelas",
+T_DISPLAY_FRAMES, "Exibir frames",
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Exibir links para imagens",
+T_LINK_ORDER_BY_COLUMNS, "Mover por colunas em tabelas",
+T_NUMBERED_LINKS, "Links numerados",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Margem do texto",
+T_DEFAULT_CODEPAGE, "Página de código Padrão",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorar informações de charset enviadas pelo servidor",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Ir para URL",
+T_GO_BACK, "Voltar",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Histórico",
+T_RELOAD, "Recarregar",
+T_NEW_WINDOW, "Nova janela",
+T_SAVE_AS, "Salvar como",
+T_SAVE_URL_AS, "Salvar URL como",
+T_SAVE_FORMATTED_DOCUMENT, "Salvar documento formatado",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Encerrar conexões em segundo plano",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Reinicializar todos os caches",
+T_RESOURCE_INFO, "Informações sobre os Recursos",
+T_OS_SHELL, "OS shell",
+T_EXIT, "Sair",
+T_SEARCH, "Procurar",
+T_SEARCH_BACK, "Procurar para trás",
+T_FIND_NEXT, "Localizar próximo",
+T_FIND_PREVIOUS, "Localizar anterior",
+T_TOGGLE_HTML_PLAIN, "Alternar entre html/plain",
+T_DOCUMENT_INFO, "Informação sobre o documento",
+T_FRAME_AT_FULL_SCREEN, "Frame em tela cheia",
+T_SAVE_HTML_OPTIONS, "Salvar opções de html",
+T_CHARACTER_SET, "Conjunto de Caracteres (Charset)",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "Mail e telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Associações",
+T_FILE_EXTENSIONS, "Extensões de arquivo",
+T_SAVE_OPTIONS, "Salvar opções",
+T_FILE, "Arquivo",
+T_VIEW, "Exibir",
+T_LINK, "Link",
+T_DOWNLOADS, "Downloads",
+T_SETUP, "Configuração",
+T_HELP, "Ajuda",
+T_ENTER_URL, "Digite URL",
+T_SAVE_URL, "Salvar URL",
+T_DOWNLOAD, "Download",
+T_SAVE_TO_FILE, "Salvar para arquivo",
+T_SEARCH_FOR_TEXT, "Procurar pelo texto",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Aguardando na fila",
+T_LOOKING_UP_HOST, "Procurando pelo host",
+T_MAKING_CONNECTION, "Conectando",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, NULL,
+T_REQUEST_SENT, "Solicitação enviada",
+T_GETTING_HEADERS, "Obtendo os cabeçalhos",
+T_LOGGING_IN, NULL,
+T_SERVER_IS_PROCESSING_REQUEST, "O servidor está processando a solicitação",
+T_TRANSFERRING, "Transferindo",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Aguardando pela confirmação de redirecionamento",
+T_INTERRUPTED, "Interrompido",
+T_SOCKET_EXCEPTION, "Excessão do Socket",
+T_INTERNAL_ERROR, "Erro interno",
+T_OUT_OF_MEMORY, "Sem memória",
+T_HOST_NOT_FOUND, "Host não encontrado",
+T_ERROR_WRITING_TO_SOCKET, "Erro ao gravar pelo socket",
+T_ERROR_READING_FROM_SOCKET, "Erro ao ler pelo socket",
+T_DATA_MODIFIED, "Datos modificados",
+T_BAD_URL_SYNTAX, "Sintaxe da URL está incorreta",
+T_RECEIVE_TIMEOUT, "Sinal timeout recebido",
+T_REQUEST_MUST_BE_RESTARTED, "A solicitação deve ser reiniciada",
+T_CANT_GET_SOCKET_STATE, "Não posso obter o status do socket",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Resposta HTTP incorreta",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Sem conteúdo",
+T_UNKNOWN_FILE_TYPE, "Tipo de arquivo desconhecido",
+T_ERROR_OPENING_FILE, "Erro ao abrir arquivo",
+T_BAD_FTP_RESPONSE, "Resposta FTP incorreta",
+T_FTP_SERVICE_UNAVAILABLE, "Serviço de FTP não-disponível",
+T_BAD_FTP_LOGIN, "Login FTP incorreto",
+T_FTP_PORT_COMMAND_FAILED, "Comando FTP PORT falhou",
+T_FILE_NOT_FOUND, "Arquivo não encontrado",
+T_FTP_FILE_ERROR, "Erro em FTP",
+T_UNKNOWN_ERROR, "ERRO DESCONHECIDO",
+T_RECEIVED, "Recebido",
+T_OF, "de",
+T_AVG, "média",
+T_CUR, "atual",
+T_AVERAGE_SPEED, "Velocidade média",
+T_SPEED, "Velocidade",
+T_CURRENT_SPEED, "velocidade atual",
+T_ELAPSED_TIME, "Tempo decorrido",
+T_ESTIMATED_TIME, "tempo estimado",
+T_BACKGROUND, "Segundo plano",
+T_ABORT, "Cancelar",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Sim",
+T_NO, "Não",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Erro de download",
+T_COULD_NOT_WRITE_TO_FILE, "Não posso gravar no arquivo",
+T_ERROR_DOWNLOADING, "Erro durante o download",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "Não posso criar o arquivo",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Tipo desconhecido",
+T_CONTENT_TYPE_IS, "O Tipo de conteúdo é",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Deseja salvar ou exibir este arquivo?",
+T_SAVE, "Salvar",
+T_DISPLAY, "Exibir",
+T_WHAT_TO_DO, "Fazer o que?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Deseja abrir o arquivo com",
+T_SAVE_IT_OR_DISPLAY_IT, "salvar ou exibir?",
+T_OPEN, "Abrir",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Deseja continuar com o redirecionamento e enviar os dados do formulário",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Deseja enviar os dados do formulário",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Deseja enviar novamente os dados do formulário",
+T_WARNING, "Atenção",
+T_ERROR, "Erro",
+T_WELCOME, "Bem-vindo",
+T_WELCOME_TO_LINKS, "Bem-vindo ao links!",
+T_BASIC_HELP, "Pressione ESC para ativar o menu. Selecione Ajuda->Manual no menu para o Manual do Usuário.",
+T_LABEL, "Rótulo",
+T_CONTENT_TYPES, "Tipo(s) de conteúdo",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programa ('%' será substituído pelo nome do arquivo)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Bloquear o terminal enquanto o programa está sendo executado",
+T_RUN_ON_TERMINAL, "Executar no terminal",
+T_RUN_IN_XWINDOW, "Executar no X-Window",
+T_ASK_BEFORE_OPENING, "Perguntar antes de abrir",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Apagar associação",
+T_ASSOCIATION, "associação",
+T_EXTENSION_S, "Extensão(ões)",
+T_CONTENT_TYPE, "Tipo de conteúdo (Content-Type)",
+T_DELETE_EXTENSION, "Apagar extensão",
+T_EXTENSION, "Extensão",
+T_eXTENSION, "extensão",
+T_ERROR_WHILE_POSTING_FORM, "Erro durante o envio do formulário",
+T_COULD_NOT_GET_FILE, "Não posso obter o arquivo",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Não há procura anterior",
+T_SEARCH_STRING_NOT_FOUND, "String de procura não localizada",
+T_SAVE_ERROR, "Erro ao salvar",
+T_ERROR_WRITING_TO_FILE, "Erro ao gravar em arquivo",
+T_DISPLAY_USEMAP, "Exibir o usemap",
+T_FOLLOW_LINK, "Seguir link",
+T_OPEN_IN_NEW_WINDOW, "Abrir em nova janela",
+T_DOWNLOAD_LINK, "Download link",
+T_RESET_FORM, "Reiniciar formulário",
+T_SUBMIT_FORM, "Enviar formulário",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Enviar formulário e abrir em nova janela",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Enviar formulário e efetuar download",
+T_VIEW_IMAGE, "Visualizar imagem",
+T_DOWNLOAD_IMAGE, "Download da imagem",
+T_NO_LINK_SELECTED, "Nenhum link selecionado",
+T_IMAGE, "Imagem",
+T_USEMAP, "Usemap (mapa de imagem)",
+T_XTERM, "Xterm",
+T_TWTERM, NULL,
+T_SCREEN, "Tela",
+T_WINDOW, "Janela",
+T_FULL_SCREEN, "Tela cheia",
+T_BEOS_TERMINAL, "Terminal do BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Enviar formulário para",
+T_POST_FORM_TO, "Postar formulário para",
+T_RADIO_BUTTON, "Botão radio",
+T_CHECKBOX, "Caixa de verificação",
+T_SELECT_FIELD, "Campo de seleção",
+T_TEXT_FIELD, "Campo de texto",
+T_TEXT_AREA, "Área de texto",
+T_FILE_UPLOAD, "Upload de arquivo",
+T_PASSWORD_FIELD, "Campo de password",
+T_BUTTON, NULL,
+T_NAME, "nome",
+T_VALUE, "valor",
+T_HIT_ENTER_TO, "perssione ENTER para",
+T_SUBMIT_TO, "enviar para",
+T_POST_TO, "postar para",
+T_INFO, "Info",
+T_HEADER_INFO, NULL,
+T_YOU_ARE_NOWHERE, "Você está aqui!!!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Tamanho",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "incompleto",
+T_CODEPAGE, "Codepage",
+T_ASSUMED, "assumido",
+T_IGNORING_SERVER_SETTING, "Ignorando configuração de servidor",
+T_SERVER, "Servidor",
+T_DATE, "Data",
+T_LAST_MODIFIED, "Última modificação",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Idioma",
+T_GO_TO_LINK, "Ir para link",
+T_ENTER_LINK_NUMBER, "Digite o número do number",
+T_RESIZE_TERMINAL, "Redimensionar terminal",
+T_COLUMNS, "Colunas",
+T_ROWS, "Linhas",
+T_GOTO, "Ir para",
+T_CLOSE, "Fechar",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "Adicionar",
+T_DELETE, "Apagar",
+T_EDIT, "Editar",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "Bookmarks (marcadores)",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "Adicionar bookmark",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, "Título do Bookmark",
+T_EDIT_BOOKMARK, "Editar bookmark",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "Apagar bookmark",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "Gerenciador de Bookmark",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, "url",
+T_NNAME, "Nome",
+T_EXIT_LINKS, "Encerrar o Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Você realmente deseja encerrar o Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Você realmente deseja encerrar o Links (e terminar com todos os downloads)?",
+T_HTTP_OPTIONS, "Opções de HTTP",
+T_FTP_OPTIONS, "Opções de FTP",
+T_HTTP_BUG_WORKAROUNDS, "HTTP bug workarounds",
+T_USE_HTTP_10, "Utilizar HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Permitir blacklist de servidores com bugs",
+T_BROKEN_302_REDIRECT, "Redirecionamento 302 incorreto (viola a RFC, mas mantém compatibilidade com o Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Não manter conexão ativa após solicitação POST (alguns bancos de dados PHP com bugs necessitam)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Password para login anônimo",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Manual do Usuário",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, "Cliente de e-mail (% será substituido pelo endereço)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Cliente telnet (% será substituido por \"host\" or \"host port\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Cliente tn3270 (% será substituido por \"host\" or \"host port\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Clientes de e-mail e telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Nenhum programa",
+T_NO_PROGRAM_SPECIFIED_FOR, "Nenhum programa foi especificado para",
+T_MAIL, "mail",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "URL mailto incorreta",
+T_BAD_TELNET_URL, "URL telnet incorreta",
+T_BAD_TN3270_URL, "URL tn3270 incorreta",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, NULL,
+T_PASSWORD, NULL,
+T_ENTER_USERNAME, NULL,
+T_AT, NULL,
+T_SSL_ERROR, NULL,
+T_NO_SSL, NULL,
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "B",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "V",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "F",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "X",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "B",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "F",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "A",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "H",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "A",
+T_HK_KEYS, "K",
+T_HK_COPYING, "C",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/bulgarian.lng b/intl/bulgarian.lng
new file mode 100644
index 0000000..236f3ad
--- /dev/null
+++ b/intl/bulgarian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "cp1251",
+T__LANGUAGE, "Bulgarian",
+T__ACCEPT_LANGUAGE, "bg",
+T_OK, "ÎÊ",
+T_CANCEL, "Îòêàç",
+T_BAD_NUMBER, "Íåâàëèäíî ÷èñëî",
+T_NUMBER_EXPECTED, " òîâà ïîëå òðÿáâà äà èìà ÷èñëî",
+T_NUMBER_OUT_OF_RANGE, "×èñëîòî å èçâúí äèàïàçîíà",
+T_BAD_STRING, "Íåâàëèäåí ñèìâîëåí íèç",
+T_EMPTY_STRING_NOT_ALLOWED, "Íå å ïîçâîëåí ïðàçåí ñèìâîëåí íèç",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Ãðåøêà â íàñòðîéêèòå",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Íå ìîæå äà ñå ïèøå âúâ ôàéëà ñ íàñòðîéêèòå",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Çà ïðîãðàìàòà",
+T_LINKS__LYNX_LIKE, "Links âåðñèÿ " VERSION_STRING "\n\n Lynx-ïîäîáåí òåêñòîâ web-áðàóçúð",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Êëàâèøè",
+T_KEYS_DESC, "ESC ìåíþ\n^C, q èçõîä\n^P, ^N ïðåëèñòè íàãîðå-íàäîëó\n[, ] ïðåëèñòè íàëÿâî-íàäÿñíî\nup, down èçáåðè âðúçêà\n-> ïðîñëåäè âðúçêà\n<- íàçàä\ng îòâîðè íîâ URL\nG îòâîðè URL, áàçèðàí íà òåêóùèÿ\n/ òúðñè\n? òúðñè â îáðàòíà ïîñîêà\nn íàìåðè ñëåäâàùîòî ñúâïàäåíèå\nN íàìåðè ïðåäíîòî ñúâïàäåíèå\n= èíôîðìàöèÿ çà äîêóìåíòà\n| èíôîðìàöèÿ çà çàãëàâíàòà ÷àñò\n\\ ïîêàæè HTML êîäà\nd ñâàëè (äðúïíè, èçòåãëè)",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Àâòîðñêî ïðàâo",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\nÒàçè ïðîãðàìà å ñâîáîäåí ñîôòóåð; ìîæåòå äà ÿ ðàçïðîñòðàíÿâàòå è/èëè ìîäèôèöèðàòå ñïîðåä êëàóçèòå íà Îáùèÿ Ïóáëè÷åí Ëèöåíç GNU, ïóáëèêóâàí îò Ôîíäàöèÿòà çà ñâîáîäåí ñîôòóåð (FSF); âåðñèÿ 2 íà Ëèöåíçà èëè (ïî Âàøå æåëàíèå) êîÿòî è äà å ïî-êúñíà âåðñèÿ.",
+T_RESOURCES, "Ðåñóðñè",
+T_CONNECTIONS, "Âðúçêà(è)",
+T_MEMORY_CACHE, "Êåø-ïàìåò",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "Êåø çà ôîðìàòèðàíèòå äîêóìåíòè",
+T_DNS_CACHE, NULL,
+T_HANDLES, "handles",
+T_TIMERS, "òàéìåðè",
+T_WAITING, NULL,
+T_CONNECTING, "ñâúðçâàíå",
+T_tRANSFERRING, "ïðåäàâàíå",
+T_KEEPALIVE, "ðåàíèìèðàíå íà âðúçêàòà",
+T_BYTES, "áàéòà",
+T_LETTERS, NULL,
+T_FILES, "ôàéëà",
+T_LOCKED, "çàêëþ÷åí",
+T_LOADING, "çàðåæäàíå",
+T_IMAGES, NULL,
+T_DOCUMENTS, "äîêóìåíòè",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "áàéòà çàäåëåíà ïàìåò",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Èíôîðìàöèÿ çà ïàìåòòà",
+T_NO_HISTORY, "Íÿìà èñòîðèÿ",
+T_NO_DOWNLOADS, "Íèùî íå ñå ñâàëÿ",
+T_NO_FRAMES, "Áåç ðàìêè",
+T_VT_100_FRAMES, "Ðàìêè VT 100",
+T_LINUX_OR_OS2_FRAMES, "Ðàìêè Linux èëè OS/2",
+T_KOI8R_FRAMES, "Ðàìêè KOI8-R",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Èçïîëçâàíå íà ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Îãðàíè÷åíè ðàìêè â cp850/852",
+T_BLOCK_CURSOR, "Áëîêîâ êóðñîð",
+T_COLOR, "Öâÿò",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Íàñòðîéêè íà òåðìèíàëà",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP ïðîêñè (ñúðâúð:ïîðò)",
+T_FTP_PROXY__HOST_PORT, "FTP ïðîêñè (ñúðâúð:ïîðò)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Ñïèñúê (ðàçäåëåí ÷ðåç çàïåòàè) íà äîìåéíèòå çà äîñòúï áåç ïðîêñè",
+T_NETWORK_OPTIONS, "Ìðåæîâè íàñòðîéêè",
+T_MAX_CONNECTIONS, "Ìàêñ. áðîé âðúçêè",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Ìàêñ. áðîé âðúçêè êúì åäèí ñúðâúð",
+T_RETRIES, "Áðîé îïèòè îòíîâî",
+T_RECEIVE_TIMEOUT_SEC, "Òàéìàóò ïðè ïðèåìàíå (ñåê.)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Òàéìàóò ïðè íåâúçìîæíîñò çà ðåñòàðòèðàíå",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Àñèíõðîííî îáðúùåíèå êúì DNS",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Óñòàíîâÿâàíå íà âðåìåòî íà ñâàëåíèòå ôàéëîâå",
+T_CACHE_OPTIONS, "Íàñòðîéêè íà êåøà",
+T_MEMORY_CACHE_SIZE__KB, "Ðàçìåð íà êåø-ïàìåòòà (ÊÁ)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Áðîé íà ôîðìàòèðàíèòå äîêóìåíòè",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "HTML íàñòðîéêè",
+T_DISPLAY_TABLES, "Òàáëèöè",
+T_DISPLAY_FRAMES, "Ðàìêè",
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Âðúçêè êúì èçîáðàæåíèÿòà",
+T_LINK_ORDER_BY_COLUMNS, "Ïðèäâèæâàíå ïî êîëîíè â òàáëèöèòå",
+T_NUMBERED_LINKS, "Íîìåðèðàíè âðúçêè",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Îòñòúï",
+T_DEFAULT_CODEPAGE, "Êîäèðàíå ïî ïîäðàçáèðàíå",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Èãíîðèðàé êîäèðàíåòî, ïîäàäåíî îò ñúðâúðà",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Îòâîðè íîâ URL",
+T_GO_BACK, "Âúðíè ñå íàçàä",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Èñòîðèÿ",
+T_RELOAD, "Çàðåäè îòíîâî",
+T_NEW_WINDOW, "Íîâ ïðîçîðåö",
+T_SAVE_AS, "Çàïàçè êàòî",
+T_SAVE_URL_AS, "Çàïàçè URL êàòî",
+T_SAVE_FORMATTED_DOCUMENT, "Çàïàçè ôîðìàòèðàí äîêóìåíò",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Óáèé âðúçêèòå âúâ ôîíîâ ðåæèì",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Èçïðàçíè âñè÷êè âèäîâå êåø",
+T_RESOURCE_INFO, "Èíôîðìàöèÿ çà ðåñóðñèòå",
+T_OS_SHELL, "Êîìàíäåí ðåä",
+T_EXIT, "Èçõîä",
+T_SEARCH, "Òúðñåíå",
+T_SEARCH_BACK, "Òúðñåíå â îáðàòíà ïîñîêà",
+T_FIND_NEXT, "Íàìåðè ñëåäâàùîòî ñúâïàäåíèå",
+T_FIND_PREVIOUS, "Íàìåðè ïðåäíîòî ñúâïàäåíèå",
+T_TOGGLE_HTML_PLAIN, "Ïðåâêëþ÷è HTML/òåêñò",
+T_DOCUMENT_INFO, "Èíôîðìàöèÿ çà äîêóìåíòà",
+T_FRAME_AT_FULL_SCREEN, "Ðàìêà ïðè ïúëåí åêðàí",
+T_SAVE_HTML_OPTIONS, "Çàïàçè HTML íàñòðîéêèòå",
+T_CHARACTER_SET, "Êîäèðàíå",
+T_CACHE, "Êåø",
+T_MAIL_AND_TELNEL, "Ïîùà è telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Àñîöèàöèè",
+T_FILE_EXTENSIONS, "Ôàéëîâè ðàçøèðåíèÿ",
+T_SAVE_OPTIONS, "Çàïàçè íàñòðîéêèòå",
+T_FILE, "Ôàéë",
+T_VIEW, "Èçãëåä",
+T_LINK, "Âðúçêà",
+T_DOWNLOADS, "Ñâàëÿíå",
+T_SETUP, "Íàñòðîéêè",
+T_HELP, "Ïîìîù",
+T_ENTER_URL, "Âúâåäåòå URL",
+T_SAVE_URL, "Çàïàçåòå URL",
+T_DOWNLOAD, "Ñâàëè (äðúïíè, èçòåãëè)",
+T_SAVE_TO_FILE, "Çàïàçè âúâ ôàéë",
+T_SEARCH_FOR_TEXT, "Òúðñåíå íà òåêñò",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "×àêàíå íà îïàøêà",
+T_LOOKING_UP_HOST, "Òúðñè ñå õîñòúò",
+T_MAKING_CONNECTION, "Âðúçêàòà ñå óñòàíîâÿâà",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, NULL,
+T_REQUEST_SENT, "Çàÿâêàòà å èçïðàòåíà",
+T_GETTING_HEADERS, "Ïîëó÷àâà ñå çàãëàâíàòà ÷àñò",
+T_LOGGING_IN, NULL,
+T_SERVER_IS_PROCESSING_REQUEST, "Ñúðâúðúò îáðàáîòâà çàÿâêàòà",
+T_TRANSFERRING, "Ïðåäàâàíå",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Î÷àêâà ñå ïîòâðúæäåíèå íà ïðåïðàùàíåòî",
+T_INTERRUPTED, "Ïðåêúñíàòî",
+T_SOCKET_EXCEPTION, "Èçêëþ÷åíèå â socket",
+T_INTERNAL_ERROR, "Âúòðåøíà ãðåøêà",
+T_OUT_OF_MEMORY, "Ïàìåòòà å íåäîñòàòú÷íà",
+T_HOST_NOT_FOUND, "Õîñòúò íå å îòêðèò",
+T_ERROR_WRITING_TO_SOCKET, "Ãðåøêà ïðè ïèñàíåòî â socket",
+T_ERROR_READING_FROM_SOCKET, "Ãðåøêà ïðè ÷åòåíåòî îò socket",
+T_DATA_MODIFIED, "Äàòàòà å ïðîìåíåíà",
+T_BAD_URL_SYNTAX, "Íåâàëèäåí URL ñèíòàêñèñ",
+T_RECEIVE_TIMEOUT, "Òàéìàóò ïðè ïîëó÷àâàíå",
+T_REQUEST_MUST_BE_RESTARTED, "Çàÿâêàòà òðÿáâà äà ñå ïîâòîðè",
+T_CANT_GET_SOCKET_STATE, "Íå ìîæå äà ñå ïîëó÷è ñúñòîÿíèåòî íà socket-à",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Íåâàëèäåí HTTP îòãîâîð",
+T_HTTP_100, NULL,
+T_NO_CONTENT, "Íÿìà äàííè",
+T_UNKNOWN_FILE_TYPE, "Íåèçâåñòåí òèï ôàéë",
+T_ERROR_OPENING_FILE, "Ãðåøêà ïðè îòâàðÿíåòî íà ôàéë",
+T_BAD_FTP_RESPONSE, "Íåâàëèäåí FTP îòãîâîð",
+T_FTP_SERVICE_UNAVAILABLE, "Óñëóãàòà FTP å íåäîñòúïíà",
+T_BAD_FTP_LOGIN, "Íåâàëèäåí FTP login",
+T_FTP_PORT_COMMAND_FAILED, "Êîìàíäàòà FTP PORT çàâúðøè íåóñïåøíî",
+T_FILE_NOT_FOUND, "Ôàéëúò íå å îòêðèò",
+T_FTP_FILE_ERROR, "Ãðåøêà â FTP ôàéë",
+T_UNKNOWN_ERROR, "Íåïîçíàòà ãðåøêà",
+T_RECEIVED, "Ïîëó÷åíè",
+T_OF, "îò",
+T_AVG, "ñðåäíî",
+T_CUR, "òåêóùî",
+T_AVERAGE_SPEED, "Ñðåäíà ñêîðîñò",
+T_SPEED, "Ñêîðîñò",
+T_CURRENT_SPEED, "òåêóùà ñêîðîñò",
+T_ELAPSED_TIME, "Èçòåêëî âðåìå",
+T_ESTIMATED_TIME, "Ïðîãíîçèðàíî âðåìå",
+T_BACKGROUND, "Âúâ ôîíîâ ðåæèì",
+T_ABORT, "Ïðåêúñíè",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Äà",
+T_NO, "Íå",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Ãðåøêà ïðè ñâàëÿíå",
+T_COULD_NOT_WRITE_TO_FILE, "Íå ìîæå äà ñå ïèøå âúâ ôàéë",
+T_ERROR_DOWNLOADING, "Ãðåøêà ïðè ñâàëÿíå",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "Íå ìîæå äà ñå ñúçäàäå ôàéë",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Íåïîçíàò òèï",
+T_CONTENT_TYPE_IS, "Òèïúò íà äîêóìåíòà å",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Æåëàåòå ëè äà çàïàçèòå èëè ïîêàæåòå òîçè ôàéë íà åêðàíà?",
+T_SAVE, "Çàïàçâàíå",
+T_DISPLAY, "Ïîêàçâàíå",
+T_WHAT_TO_DO, "Êàêâî äà ïðàâÿ?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Æåëàåòå ëè äà îòâîðèòå ôàéëà ÷ðåç",
+T_SAVE_IT_OR_DISPLAY_IT, "äà ãî çàïàçÿ èëè äà ãî ïîêàæà íà åêðàíà?",
+T_OPEN, "Îòâîðåí",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Æåëàåòå ëè äà ïðîñëåäèòå ïðåïðàùàíåòî è äà èçïðàòèòå äàííèòå îò ôîðìóëÿðà êúì àäðåñ",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Æåëàåòå äà èçïðàòèòå äàííèòå îò ôîðìóëÿðà êúì àäðåñ",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Æåëàåòå ëè äà ïðåïðàòèòå äàííèòå îò ôîðìóëÿðà êúì àäðåñ",
+T_WARNING, "Âíèìàíèå",
+T_ERROR, "Ãðåøêà",
+T_WELCOME, "Çäðàâåéòå",
+T_WELCOME_TO_LINKS, "Äîáðå äîøëè â Links!",
+T_BASIC_HELP, "Íàòèñíåòå ESC çà äà èçâèêàòå ìåíþòî. Èçáåðåòå 'Ïîìîù->Ðúêîâîäñòâî', çà äà ïðî÷åòåòå ðúêîâîäñòâîòî çà ïîòðåáèòåëÿ.",
+T_LABEL, "Åòèêåò",
+T_CONTENT_TYPES, "Òèï(îâå) ñúäúðæàíèå",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Ïðîãðàìà çà ('%' çàìåíÿ èìåòî íà ôàéëà)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Áëîêèðàíå íà òåðìèíàëà ïî âðåìå íà ðàáîòàòà íà ïðîãðàìàòà",
+T_RUN_ON_TERMINAL, "Ñòàðòèðàé â òåðìèíàë",
+T_RUN_IN_XWINDOW, "Ñòàðòèðàé â X-Window",
+T_ASK_BEFORE_OPENING, "Çàïðîñ ïåðåä îòêðûòèåì",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Óäàëèòü ñîïîñòàâëåíèå",
+T_ASSOCIATION, "Àñîöèàöèÿ",
+T_EXTENSION_S, "Ðàçøèðåíèå(ÿ)",
+T_CONTENT_TYPE, "Òèï íà ñúäúðæàíèåòî",
+T_DELETE_EXTENSION, "Èçòðèé ðàçøèðåíèå",
+T_EXTENSION, "Ðàçøèðåíèå",
+T_eXTENSION, NULL,
+T_ERROR_WHILE_POSTING_FORM, "Ãðåøêà ïðè èçïðàùàíå íà ôîðìóëÿðà",
+T_COULD_NOT_GET_FILE, "Ôàéëúò íå ìîæå äà áúäå ïîëó÷åí",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Íÿìà ïðåäèøíî òúðñåíå",
+T_SEARCH_STRING_NOT_FOUND, "Òúðñåíèÿò ñèìâîëåí íèç íå å îòêðèò",
+T_SAVE_ERROR, "Ãðåøêà ïðè çàïàçâàíå",
+T_ERROR_WRITING_TO_FILE, "Ãðåøêà ïðè çàïèñ âúâ ôàéë",
+T_DISPLAY_USEMAP, "Ïîêàæè êàðòàòà",
+T_FOLLOW_LINK, "Ïðîñëåäè âðúçêà",
+T_OPEN_IN_NEW_WINDOW, "Îòâîðè â íîâ ïðîçîðåö",
+T_DOWNLOAD_LINK, "Ñâàëè (äðúïíè, èçòåãëè) âðúçêà",
+T_RESET_FORM, "Èç÷èñòè ôîðìóëÿð",
+T_SUBMIT_FORM, "Ïîòâúðäè ôîðìóëÿð",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Ïîòâúðäè ôîðìóëÿðà è îòâîðè â íîâ ïðîçîðåö",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Ïîòâúðäè ôîðìóëÿðà è ñâàëè (äðúïíè, èçòåãëè)",
+T_VIEW_IMAGE, "Ïîêàæè èçîáðàæåíèå",
+T_DOWNLOAD_IMAGE, "Ñâàëè èçîáðàæåíèå",
+T_NO_LINK_SELECTED, "Íå å èçáðàíà âðúçêà",
+T_IMAGE, "Èçîáðàæåíèå",
+T_USEMAP, "Êàðòà íà âðúçêèòå",
+T_XTERM, NULL,
+T_TWTERM, NULL,
+T_SCREEN, "Åêðàí",
+T_WINDOW, "Ïðîçîðåö",
+T_FULL_SCREEN, "Íà öÿë åêðàí",
+T_BEOS_TERMINAL, "BeOS òåðìèíàë",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Ïîòâúðäè ôîðìóëÿð êúì àäðåñ",
+T_POST_FORM_TO, "Èçïðàòè ôîðìóëÿð êúì àäðåñ",
+T_RADIO_BUTTON, "Ðàäèî-áóòîí",
+T_CHECKBOX, "Êîíòðîëíà êóòèéêà (checkbox)",
+T_SELECT_FIELD, "Ïîëå çà èçáîð",
+T_TEXT_FIELD, "Òåêñòîâî ïîëå",
+T_TEXT_AREA, "Òåêñòîâà îáëàñò",
+T_FILE_UPLOAD, "Êà÷âàíå (upload) íà ôàéë",
+T_PASSWORD_FIELD, "Ïîëå çà ïàðîëà",
+T_BUTTON, NULL,
+T_NAME, "èìå",
+T_VALUE, "ñòîéíîñò",
+T_HIT_ENTER_TO, "íàòèñíåòå ENTER, çà äà",
+T_SUBMIT_TO, "ïîòâúðäåòå êúì àäðåñ",
+T_POST_TO, "èçïðàòåòå êúì àäðåñ",
+T_INFO, "Èíôîðìàöèÿ",
+T_HEADER_INFO, "Èíôîðìàöèÿ íà çàãëàâíàòà ÷àñò",
+T_YOU_ARE_NOWHERE, "Âèå íå ñå íàìèðàòå íà íèêúäå!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Ðàçìåð",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "íåçàâúðøåí",
+T_CODEPAGE, "Êîäèðàíå",
+T_ASSUMED, "ïðèåòî",
+T_IGNORING_SERVER_SETTING, "èãíîðèðàíå íà íàñòðîéêèòå íà ñúðâúðà",
+T_SERVER, "Ñåðâúð",
+T_DATE, "Äàòà",
+T_LAST_MODIFIED, "Ïîñëåäíà ìîäèôèêàöèÿ",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Åçèê",
+T_GO_TO_LINK, "Îòâîðè âðúçêà",
+T_ENTER_LINK_NUMBER, "Âúâåäåòå íîìåð íà âðúçêà",
+T_RESIZE_TERMINAL, "Ïðîìåíåòå ðàçìåðà íà òåðìèíàëà",
+T_COLUMNS, "Êîëîíè",
+T_ROWS, "Ðåäîâå",
+T_GOTO, "Îòâîðè",
+T_CLOSE, "Çàòâîðè",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "Äîáàâè",
+T_DELETE, "Èçòðèé",
+T_EDIT, "Ðåäàêòèðàé",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "Îòìåòêè",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "Äîáàâÿíå íà îòìåòêà",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, "Èìå íà îòìåòêàòà",
+T_EDIT_BOOKMARK, "Ðåäàêòèðàíå íà îòìåòêà",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "Èçòðèâàíå íà îòìåòêà",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "Óïðàâëåíèå íà îòìåòêèòå",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, "URL",
+T_NNAME, "Èìå",
+T_EXIT_LINKS, "Èçõîä îò Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Íàèñòèíà ëè æåëàåòå äà èçëåçåòå îò Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Íàèñòèíà ëè æåëàåòå äà èçëåçåòå îò Links è äà ïðåêðàòèòå âñè÷êî, êîåòî ñâàëÿòå?",
+T_HTTP_OPTIONS, "HTTP íàñòðîéêè",
+T_FTP_OPTIONS, "FTP íàñòðîéêè",
+T_HTTP_BUG_WORKAROUNDS, "Çàîáèêàëÿé ãðåøêè â HTTP",
+T_USE_HTTP_10, "Èçïîëçâàé HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Ïðàùàé íåñòàáèëíèòå ñúðâúðè â ÷åðåí ñïèñúê",
+T_BROKEN_302_REDIRECT, "Ðàçðåøè íåïðàâèëèòå 302-ïðåïðàùàíèÿ (òîâà ïðîòèâîðå÷è íà RFC, íî å ñúâìåñòèìî ñ Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Íå ðåàíèìèðàé ñëåä èçïðàùàíå íà POST çàÿâêà (íåîáõîäèìî çà íÿêîè íåñòàáèëíè PHP-áàçè äàííè)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Ïàðîëà ïðè àíîíèìåí âõîä",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Ðúêîâîäñòâî",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, "Ïîùåíñêà ïðîãðàìà (% çàìåíÿ àäðåñà)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Ïðîãðàìà çà telnet (% çàìåíÿ 'host' èëè 'host port')",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Ïðîãðàìà çà tn3270 (% çàìåíÿ 'host' èëè 'host port')",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Ïðîãðàìè çà ïîùà è telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Íÿìà ïðîãðàìà",
+T_NO_PROGRAM_SPECIFIED_FOR, "Íå å ïîñî÷åíà ïðîãðàìà çà",
+T_MAIL, "ïîùà",
+T_TELNET, NULL,
+T_MAGNET, NULL,
+T_TN3270, NULL,
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Íåâàëèäåí àäðåñ mailto:",
+T_BAD_TELNET_URL, "Íåâàëèäåí àäðåñ telnet",
+T_BAD_TN3270_URL, "Íåâàëèäåí àäðåñ tn3270",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "Èäåíòèôèêàöèÿ íà ïîòðåáèòåëÿ",
+T_PASSWORD, "Ïàðîëà",
+T_ENTER_USERNAME, "Âúâåäåòå èìå íà ïîòðåáèòåëÿ ",
+T_AT, "íà ",
+T_SSL_ERROR, "SSL ãðåøêà",
+T_NO_SSL, "Òàçè âåðñèÿ íà Links íå ïîääúðæà SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, NULL,
+T_HK_GO_BACK, NULL,
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, NULL,
+T_HK_RELOAD, NULL,
+T_HK_BOOKMARKS, NULL,
+T_HK_NEW_WINDOW, NULL,
+T_HK_SAVE_AS, NULL,
+T_HK_SAVE_URL_AS, NULL,
+T_HK_SAVE_FORMATTED_DOCUMENT, NULL,
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, NULL,
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, NULL,
+T_HK_RESOURCE_INFO, NULL,
+T_HK_MEMORY_INFO, NULL,
+T_HK_OS_SHELL, NULL,
+T_HK_RESIZE_TERMINAL, NULL,
+T_HK_EXIT, NULL,
+T_HK_SEARCH, NULL,
+T_HK_SEARCH_BACK, NULL,
+T_HK_FIND_NEXT, NULL,
+T_HK_FIND_PREVIOUS, NULL,
+T_HK_TOGGLE_HTML_PLAIN, NULL,
+T_HK_DOCUMENT_INFO, NULL,
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, NULL,
+T_HK_HTML_OPTIONS, NULL,
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, NULL,
+T_HK_LANGUAGE, NULL,
+T_HK_CHARACTER_SET, NULL,
+T_HK_TERMINAL_OPTIONS, NULL,
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, NULL,
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, NULL,
+T_HK_MAIL_AND_TELNEL, NULL,
+T_HK_ASSOCIATIONS, NULL,
+T_HK_FILE_EXTENSIONS, NULL,
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, NULL,
+T_HK_ABOUT, NULL,
+T_HK_KEYS, NULL,
+T_HK_COPYING, NULL,
+T_HK_MANUAL, NULL,
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, NULL,
+T_HK_VIEW, NULL,
+T_HK_LINK, NULL,
+T_HK_DOWNLOADS, NULL,
+T_HK_SETUP, NULL,
+T_HK_HELP, NULL,
+T_HK_DISPLAY_USEMAP, NULL,
+T_HK_FOLLOW_LINK, NULL,
+T_HK_OPEN_IN_NEW_WINDOW, NULL,
+T_HK_DOWNLOAD_LINK, NULL,
+T_HK_RESET_FORM, NULL,
+T_HK_SUBMIT_FORM, NULL,
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, NULL,
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, NULL,
+T_HK_VIEW_IMAGE, NULL,
+T_HK_DOWNLOAD_IMAGE, NULL,
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, NULL,
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, NULL,
+T_HK_WINDOW, NULL,
+T_HK_FULL_SCREEN, NULL,
+T_HK_BEOS_TERMINAL, NULL,
diff --git a/intl/catalan.lng b/intl/catalan.lng
new file mode 100644
index 0000000..89958cd
--- /dev/null
+++ b/intl/catalan.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-1",
+T__LANGUAGE, "Catalan",
+T__ACCEPT_LANGUAGE, "ca",
+T_OK, "D'acord",
+T_CANCEL, "Anul·lació",
+T_BAD_NUMBER, "Nombre incorrecte",
+T_NUMBER_EXPECTED, "S'hi esperava un nombre",
+T_NUMBER_OUT_OF_RANGE, "Nombre fora de rang",
+T_BAD_STRING, "Cadena incorrecta",
+T_EMPTY_STRING_NOT_ALLOWED, "No s'hi permeten cadenes buides",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Error de configuració",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "No ha estat possible escriure en l'arxiu de configuració",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Quant a...",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nNavegador en mode text/gràfic",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Tecles",
+T_KEYS_DESC, "ESC mostrar menú\n^C, q eixir\n^P, ^N amunt, avall\n[, ] esquerra, dreta\namunt, avall seleccionar enllaç (mode text)\n-> seguir enllaç (mode text)\n<- tornar (mode text)\ng anar a\nG anar a una URL basada en l'actual\n^G anar a una URL basada en l'enllaç actual\n/ cercar\n? cercar enrere\nn cercar següent\nN cercar anterior\n= informació del document\n| informació de les capçaleres\n\\ font del document\nd descarregar\n^W completar URL o cercar cadena\n^B, ^X, ^V copiar, tallar, pegar (només OS/2)\nAlt-1 .. Alt-9 canviar de consola virtual (svgalib i framebuffer)",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Llicència",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nAquest programa és lliure; podeu redistribuir-lo i modificar-lo d'acord amb la GNU General Public License tal com l'ha publicada la Free Software Foundation; saia la versió 2 de la dita llicència o (ad libitum) qualsevol de més recent.",
+T_RESOURCES, "Recursos",
+T_CONNECTIONS, "Connexions",
+T_MEMORY_CACHE, "Memòria cau",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Memòria cau (tipus de lletra)",
+T_IMAGE_CACHE, "Memòria cau (imatges)",
+T_FORMATTED_DOCUMENT_CACHE, "Memória cau (documents)",
+T_DNS_CACHE, NULL,
+T_HANDLES, "manejadors",
+T_TIMERS, "comptadors",
+T_WAITING, NULL,
+T_CONNECTING, "connectant",
+T_tRANSFERRING, "transferint",
+T_KEEPALIVE, "perdurables",
+T_BYTES, "bytes",
+T_LETTERS, "tipus de lletra",
+T_FILES, "fitxers",
+T_LOCKED, "bloquejat",
+T_LOADING, "carregant",
+T_IMAGES, "imatges",
+T_DOCUMENTS, "documents",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "bytes de memòria reservats",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Informació sobre la memòria",
+T_NO_HISTORY, "Sense historial",
+T_NO_DOWNLOADS, "Cap descàrrega",
+T_NO_FRAMES, "Sense marcs",
+T_VT_100_FRAMES, "Marcs VT 100",
+T_LINUX_OR_OS2_FRAMES, "Marcs Linux o OS/2",
+T_KOI8R_FRAMES, "Marcs KOI8-R",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Usar ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Restringir marcs als de cp850/852",
+T_BLOCK_CURSOR, "cursor de bloc",
+T_COLOR, "Color",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Opcions del terminal",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP proxy (màquina:port)",
+T_FTP_PROXY__HOST_PORT, "FTP proxy (màquina:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Dominis (separats per comes) d'accés directe (amb proxy o sense)",
+T_NETWORK_OPTIONS, "Opcions de xarxa",
+T_MAX_CONNECTIONS, "Màxim de connexions",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Màxim de connexions a una màquina",
+T_RETRIES, "Reintents",
+T_RECEIVE_TIMEOUT_SEC, "Temps màxim de recepció (segons)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Temps màxim si no es pot rearrancar",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Recerca asíncrona de DNS",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Posar l'hora local als fitxers descarregats",
+T_CACHE_OPTIONS, "Opcions per a la memòria cau",
+T_MEMORY_CACHE_SIZE__KB, "Dimensions de la memòria cau d'images (KiB)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Nombre de documents formatats",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "Opcions d'HTML",
+T_DISPLAY_TABLES, "Mostrar taules",
+T_DISPLAY_FRAMES, "Mostrar marcs",
+T_DISPLAY_IMAGES, "Mostrar imatges",
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Mostrar enllaços a imatges",
+T_LINK_ORDER_BY_COLUMNS, "Moure per columnes en les taules",
+T_NUMBERED_LINKS, "Enllaços numerats",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Marge del text",
+T_DEFAULT_CODEPAGE, "Pàgina de codis predeterminada",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorar el joc de caràcters enviat pel servidor",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Anar a (URL)",
+T_GO_BACK, "Enrere",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Historial",
+T_RELOAD, "Recarregar",
+T_NEW_WINDOW, "Nova finestra",
+T_SAVE_AS, "Anomenar i desar",
+T_SAVE_URL_AS, "Anomenar la URL i desar-la",
+T_SAVE_FORMATTED_DOCUMENT, "Desar document amb format",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Finalitzar connexions en segon pla",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Buidar la memòria cau",
+T_RESOURCE_INFO, "Informació de recursos",
+T_OS_SHELL, "OS shell",
+T_EXIT, "Eixir",
+T_SEARCH, "Cercar",
+T_SEARCH_BACK, "Cercar enrere",
+T_FIND_NEXT, "Cercar següent",
+T_FIND_PREVIOUS, "Cercar anterior",
+T_TOGGLE_HTML_PLAIN, "Canviar html/text",
+T_DOCUMENT_INFO, "Informació del document",
+T_FRAME_AT_FULL_SCREEN, "Marc en pantalla completa",
+T_SAVE_HTML_OPTIONS, "Desar les opcions d'html",
+T_CHARACTER_SET, "Joc de caràcters",
+T_CACHE, "Memòria cau",
+T_MAIL_AND_TELNEL, "Correu i telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Associacions",
+T_FILE_EXTENSIONS, "Extensions de fitxers",
+T_SAVE_OPTIONS, "Desar opcions",
+T_FILE, "Fitxer",
+T_VIEW, "Veure",
+T_LINK, "Enllaç",
+T_DOWNLOADS, "Descàrregues",
+T_SETUP, "Configurar",
+T_HELP, "Ajuda",
+T_ENTER_URL, "Introduïu URL",
+T_SAVE_URL, "Desar URL",
+T_DOWNLOAD, "Descarregar",
+T_SAVE_TO_FILE, "Desar en un fitxer",
+T_SEARCH_FOR_TEXT, "Cercar text",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Esperant en la cua",
+T_LOOKING_UP_HOST, "Cercant servidor",
+T_MAKING_CONNECTION, "Connectant",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "Negociació SSL",
+T_REQUEST_SENT, "Petició enviada",
+T_GETTING_HEADERS, "Rebent capçaleres",
+T_LOGGING_IN, "Connectant",
+T_SERVER_IS_PROCESSING_REQUEST, "El servidor està processant la sol·licitud",
+T_TRANSFERRING, "Transferint",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Esperant confirmació per a la redirecció",
+T_INTERRUPTED, "Interromput",
+T_SOCKET_EXCEPTION, "Excepció del connector",
+T_INTERNAL_ERROR, "Error intern",
+T_OUT_OF_MEMORY, "Memòria exhaurida",
+T_HOST_NOT_FOUND, "No s'ha trobat la màquina",
+T_ERROR_WRITING_TO_SOCKET, "Error mentre escrivia al connector",
+T_ERROR_READING_FROM_SOCKET, "Error mentre llegia del connector",
+T_DATA_MODIFIED, "Dades modificades",
+T_BAD_URL_SYNTAX, "Sintaxi de la URL incorrecta",
+T_RECEIVE_TIMEOUT, "Temps màxim de recepció sobrepassat",
+T_REQUEST_MUST_BE_RESTARTED, "La petició ha de ser repetida",
+T_CANT_GET_SOCKET_STATE, "No es pot obtenir l'estat del connector",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Resposta HTTP incorrecta",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Buit",
+T_UNKNOWN_FILE_TYPE, "Tipus de fitxer desconegut",
+T_ERROR_OPENING_FILE, "Error mentre obria el fitxer",
+T_BAD_FTP_RESPONSE, "Resposta FTP incorrecta",
+T_FTP_SERVICE_UNAVAILABLE, "Servei d'FTP no disponible",
+T_BAD_FTP_LOGIN, "Login FTP incorrecte",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT: instrucció fallida",
+T_FILE_NOT_FOUND, "No s'ha trobat el fitxer",
+T_FTP_FILE_ERROR, "FTP file error",
+T_UNKNOWN_ERROR, "Error desconegut",
+T_RECEIVED, "Rebut",
+T_OF, "de",
+T_AVG, "mitjà",
+T_CUR, "actual",
+T_AVERAGE_SPEED, "Velocitat mitjana",
+T_SPEED, "Velocitat",
+T_CURRENT_SPEED, "Velocitat actual",
+T_ELAPSED_TIME, "Temps transcorregut",
+T_ESTIMATED_TIME, "temps estimat",
+T_BACKGROUND, "Segon pla",
+T_ABORT, "Avortament",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Sí",
+T_NO, "No",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Error de descàrrega",
+T_COULD_NOT_WRITE_TO_FILE, "No s'ha pogut crear el fitxer",
+T_ERROR_DOWNLOADING, "Error mentre descarregava",
+T_ERROR_LOADING, "Error mentre carregava",
+T_COULD_NOT_CREATE_FILE, "No s'ha pogut crear el fitxer",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Tipus desconegut",
+T_CONTENT_TYPE_IS, "El contingut és",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Voleu obrir, desar o mostrar aquest fitxer?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Voleu obrir o mostrar aquest fitxer?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Voleu desar o mostrar aquest fitxer?",
+T_SAVE, "Desar",
+T_DISPLAY, "Mostrar",
+T_WHAT_TO_DO, "Què en fem?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Voleu obrir el fitxer amb",
+T_SAVE_IT_OR_DISPLAY_IT, "desar-lo o veure'l",
+T_OPEN, "Obrir",
+T_OPEN_WITH, "Obrir amb",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Voleu seguir la redirecció i enviar les dades a la URL",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Voleu enviar les dades del formulari a la URL",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Voleu reenviar les dades del formulari a la URL",
+T_WARNING, "Alerta",
+T_ERROR, "Error",
+T_WELCOME, "Benvingut/da",
+T_WELCOME_TO_LINKS, "Benvingut/a a links!",
+T_BASIC_HELP, "Premeu ESC o feu clic en la part superior de la finestra per a veure el menú. Trieu Ajuda->Manual per veure el manual d'usuari.",
+T_LABEL, "Etiqueta",
+T_CONTENT_TYPES, "Tipus de contingut",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programa ('%' és substituït pel nom del fitxer)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Bloquejar el terminal mentre el programa s'executa",
+T_RUN_ON_TERMINAL, "Executar en terminal",
+T_RUN_IN_XWINDOW, "Executar en X-Window",
+T_ASK_BEFORE_OPENING, "Preguntar abans d'obrir",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Esborrar associació",
+T_ASSOCIATION, "associació",
+T_EXTENSION_S, "Extensions",
+T_CONTENT_TYPE, "Tipus de contingut",
+T_DELETE_EXTENSION, "Esborrar extensions",
+T_EXTENSION, "Extensió",
+T_eXTENSION, "extensió",
+T_ERROR_WHILE_POSTING_FORM, "Error durant la tramesa del formulari",
+T_COULD_NOT_GET_FILE, "No ha estat possible obtenir el fitxer",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "No hi ha recerca prèvia",
+T_SEARCH_STRING_NOT_FOUND, "No s'ha trobat la cadena",
+T_SAVE_ERROR, "Error mentre desava",
+T_ERROR_WRITING_TO_FILE, "Error mentre escrivia el fitxer",
+T_DISPLAY_USEMAP, "Mostrar usemap",
+T_FOLLOW_LINK, "Seguir enllaç",
+T_OPEN_IN_NEW_WINDOW, "Obrir en una finestra nova",
+T_DOWNLOAD_LINK, "Descarregar l'enllaç",
+T_RESET_FORM, "Refer formulari",
+T_SUBMIT_FORM, "Enviar formulari",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Submit form and open in new window",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Trametre formulari i descarregar",
+T_VIEW_IMAGE, "Veure imatge",
+T_DOWNLOAD_IMAGE, "Descarregar imatge",
+T_NO_LINK_SELECTED, "No heu seleccionat cap link",
+T_IMAGE, "Imatge",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Pantalla",
+T_WINDOW, "Finestra",
+T_FULL_SCREEN, "Pantalla completa",
+T_BEOS_TERMINAL, "Terminal BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Enviar formulari a",
+T_POST_FORM_TO, "Enviar (per correu) formulari a",
+T_RADIO_BUTTON, "Botó excloent",
+T_CHECKBOX, "Selecció",
+T_SELECT_FIELD, "Llista",
+T_TEXT_FIELD, "Camp de text",
+T_TEXT_AREA, "Àrea de text",
+T_FILE_UPLOAD, "Trametre fitxer",
+T_PASSWORD_FIELD, "Camp de contrasenya",
+T_BUTTON, "Botó",
+T_NAME, "nom",
+T_VALUE, "valor",
+T_HIT_ENTER_TO, "premeu ENTER per",
+T_SUBMIT_TO, "presentar a",
+T_POST_TO, "enviar a",
+T_INFO, "Informació",
+T_HEADER_INFO, "Capçaleres",
+T_YOU_ARE_NOWHERE, "No et trobes enlloc!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Grandària",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "incomplet",
+T_CODEPAGE, "Pàgina de codis",
+T_ASSUMED, "suposat",
+T_IGNORING_SERVER_SETTING, "Ignora la indicació del servidor",
+T_SERVER, "Servidor",
+T_DATE, "Data",
+T_LAST_MODIFIED, "Última modificació",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Idioma",
+T_GO_TO_LINK, "Anar a l'enllaç",
+T_ENTER_LINK_NUMBER, "Introduïu número d'enllaç",
+T_RESIZE_TERMINAL, "Modificació de les dimensions del terminal",
+T_COLUMNS, "Columnes",
+T_ROWS, "Files",
+T_GOTO, "Anar",
+T_CLOSE, "Tancar",
+T_FOLDER, "Directori",
+T_fOLDER, "directori",
+T_ADD, "Afegir",
+T_DELETE, "Esborrar",
+T_EDIT, "Editar",
+T_MOVE, "Moure",
+T_NO_ITEMS_SELECTED, "No hi ha cap element seleccionat. No hi ha res a moure.",
+T_UNSELECT_ALL, "Llevar la selecció",
+T_BOOKMARKS, "Adreces interessants",
+T_BOOKMARK, "adreça interessant",
+T_ADD_BOOKMARK, "Afegir a la llista d'adreces interessants",
+T_ADD_ASSOCIATION, "Afegir associació",
+T_ADD_EXTENSION, "Afegir extensió",
+T_ADD_FOLDER, "Afegir directori",
+T_BOOKMARK_TITLE, "Títol del registre",
+T_EDIT_BOOKMARK, "Editar registre",
+T_EDIT_ASSOCIATION, "Editar associació",
+T_EDIT_EXTENSION, "Editar extensió",
+T_DELETE_BOOKMARK, "Eliminar registre",
+T_EDIT_FOLDER, "Editar directori",
+T_DELETE_FOLDER, "Esborrar directori",
+T_NOT_EMPTY_SURE_DELETE, "no és buit. Segur que voleu esborrar-lo?",
+T_BOOKMARK_MANAGER, "Adreces interessants",
+T_ASSOCIATIONS_MANAGER, "Associacions",
+T_EXTENSIONS_MANAGER, "Extensions",
+T_url, "url",
+T_NNAME, "Nom",
+T_EXIT_LINKS, "Eixir de Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Segur que voleu eixir de Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Segur que voleu eixir de Links (i interrompre totes les descàrregues)?",
+T_HTTP_OPTIONS, "Opcions HTTP",
+T_FTP_OPTIONS, "Opcions FTP",
+T_HTTP_BUG_WORKAROUNDS, "Obviar errors d'HTTP",
+T_USE_HTTP_10, "Usar HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Permetre llista negra de servidors que donen errors",
+T_BROKEN_302_REDIRECT, "Redirecció 302 incorrecta (viola el RFC, però és compatible amb Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "No mantenir la connexió després de la sol·licitud POST (és necessari per a algunes bases de dades PHP)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "No indicar cap adreça de procedència",
+T_REFERER_SAME_URL, "Send requested URL as referer",
+T_REFERER_FAKE, "Procedència fixa",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "Enviar l'adreça de procedència real (operació normal, INSEGUR!)",
+T_FAKE_REFERER, "Adreça HTTP de procedència fixa",
+T_FAKE_USERAGENT, "Identificació falsa per al navegador",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Contrasenya per a connexió anònima",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Manual de l'usuari",
+T_HOMEPAGE, "Pàgina inicial",
+T_CALIBRATION, "Calibratge",
+T_MAILTO_PROG, "Programa de correu (% és substituït per l'adreça)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Programa de telnet (% és substituït per \"host\" o per \"host port\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Programa tn3270 (% és substituït per \"host\" o per \"host port\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Programes de correu i de telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Cap programa",
+T_NO_PROGRAM_SPECIFIED_FOR, "No hi ha cap programa especificat per a",
+T_MAIL, "correu",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Adreça de correu incorrecta",
+T_BAD_TELNET_URL, "Adreça de telnet incorrecta",
+T_BAD_TN3270_URL, "Adreça de tn3270 incorrecta",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "ID d'usuari",
+T_PASSWORD, "Password",
+T_ENTER_USERNAME, "Introduïu el nom d'usuari de ",
+T_AT, "en ",
+T_SSL_ERROR, "Error SSL",
+T_NO_SSL, "Aquesta versió de Links no admet SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "Segur que voleu esborrar-la? ",
+T_BOOKMARKS_ALREADY_IN_USE, "Adreces interessants en ús!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Associacions en ús!",
+T_EXTENSIONS_ALREADY_IN_USE, "Extensió en ús!",
+T_VIDEO_OPTIONS, "Opcions de vídeo",
+T_VIDEO_OPTIONS_TEXT, "Recommended User gamma setting:\n 1.33 for dark room, 1.11 for very dim room, 1 for usual computer workspace lighting, 0.88 for bright environment lighting.",
+T_RED_DISPLAY_GAMMA, "Red display gamma",
+T_GREEN_DISPLAY_GAMMA, "Green display gamma",
+T_BLUE_DISPLAY_GAMMA, "Blue display gamma",
+T_USER_GAMMA, "User gamma",
+T_ALERT, "Alerta",
+T_QUESTION, "Pregunta",
+T_KILL_SCRIPT, "Kill script",
+T_KILL_ALL_SCRIPTS, "Kill all scripts",
+T_SCRIPT_KILLED_BY_USER, "Javascript killed by user.",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript intenta tancar la finestra del navegador. Realment voleu tancar-la?",
+T_ENTER_STRING, "Introduïu una cadena",
+T_JAVASCRIPT_OPTIONS, "Opcions de javascript",
+T_ENABLE_JAVASCRIPT, "Habilitar javascript",
+T_VERBOSE_JS_ERRORS, "Mostrar detalladament els errors de javascript.",
+T_VERBOSE_JS_WARNINGS, "Mostrar detalladament les advertències de javascript.",
+T_MISCELANEOUS_OPTIONS, "Opcions miscel·lànies",
+T_JAVASCRIPT_ERROR, "Error de javascript",
+T_JAVASCRIPT_WARNING, "Advertència de javascript",
+T_DISMISS, "Anul·lació",
+T_MENU_FONT_SIZE, "Grandària de la lletra del menú",
+T_USER_FONT_SIZE, "Grandària de la lletra",
+T_TURN_OFF_WARNINGS, "Desactivar advertències",
+T_BOOKMARKS_ENCODING, "Taula de caràcters per al fitxer d'adreces interessants",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript intenta anar a la URL",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript intenta obrir una nova finestra amb la URL",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript intenta accedir a l'historial",
+T_TO_URL, "a la URL",
+T_GOTO_HISTORY, "Anar a l'historial",
+T_ALLOW, "Permetre",
+T_REJECT, "Rebutjar",
+T_ENABLE_ALL_CONVERSIONS, "Permetre totes les conversions",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Habilitar la resolució global de noms",
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, "Profunditat de la recursió",
+T_MENU_BACKGROUND_COLOR, "Color de fons dels menús",
+T_MENU_FOREGROUND_COLOR, "Color dels menús",
+T_SCROLL_BAR_BAR_COLOR, "Color de la barra de desplaçament",
+T_SCROLL_BAR_AREA_COLOR, "Color de l'àrea de desplaçament",
+T_SCROLL_BAR_FRAME_COLOR, "Color del marc de l'àrea de desplaçament",
+T_BOOKMARKS_FILE, "Fitxer d'adreces interessants",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Enter colors as sRGB hexadecimal RRGGBB triplets.",
+T_JS_MEMORY_LIMIT_KB, "Memòria dedicada a javascript (KiB)",
+T_DITHER_LETTERS, "Lletres tremoloses",
+T_DITHER_IMAGES, "Imatges tremoloses",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "Escala per a totes les imatges (%)",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, "Optimització per a CRT",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optimització per a LCD (RGB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optimització per a LCD (BGR)",
+T_ASPECT_RATIO, "Aspect ratio",
+T_ASPECT_CORRECTION_ON, "Aspect correction on",
+T_KEYBOARD_CODEPAGE, "Pàgina de codis del teclat",
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "B",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "V",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "F",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "X",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "B",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "F",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "A",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "H",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, "V",
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, "J",
+T_HK_MISCELANEOUS_OPTIONS, "O",
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "A",
+T_HK_KEYS, "K",
+T_HK_COPYING, "C",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, "H",
+T_HK_CALIBRATION, "L",
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/croatian.lng b/intl/croatian.lng
new file mode 100644
index 0000000..5550b8d
--- /dev/null
+++ b/intl/croatian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-2",
+T__LANGUAGE, "Croatian",
+T__ACCEPT_LANGUAGE, "hr",
+T_OK, "OK",
+T_CANCEL, "Otka¾i",
+T_BAD_NUMBER, "Neispravan broj",
+T_NUMBER_EXPECTED, "U polju oèekujem broj",
+T_NUMBER_OUT_OF_RANGE, "Broj izvan opsega",
+T_BAD_STRING, "Neispravan niz znakova",
+T_EMPTY_STRING_NOT_ALLOWED, "Prazni niz znakova nije dozvoljen",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Gre¹ka u konfiguraciji",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Ne mogu pisati u konfiguracijsku datoteku",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "O",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nTekstualni i grafièki WWW preglednik",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Tipke",
+T_KEYS_DESC, "ESC prika¾i izbornik\n^C, q izaði\n^P, ^N idi gore, idi dolje\n[, ] idi lijevo, desno\ngore, dolje izaberi link (za tekst mod)\n-> slijedi link (za tekst mod)\n<- idi natrag (za tekst mod)\nz idi natrag\ng idi na url\nG idi na url baziran na trenutnom url-u\n^G idi na url baziran na trenutnom linku\n/ tra¾i\n? tra¾i unatrag\nn tra¾i slijedeæi\nN tra¾i prethodni\n= podaci o dokumentu\n| podaci o zaglavlju\n\\ html kod dokumenta\nd skini\n^W Dovr¹i URL ili znakovni niz za tra¾enje\n^B, ^X, ^V kopiraj, odre¾i, ubaci u/iz clipboarda (samo OS/2)\nAlt-1 .. Alt-9 prebacuje virtualne prozore (svgalib i framebuffer)",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Kopiranje",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_2 "\n\nOvaj program je slobodni softver; mo¾ete ga kopirati i/ili mijenjati uz po¹tivanje pravila GNU General Public Licence koju izdaje Free Software Foundation; inaèica 2 (ili bilo koja vi¹a).",
+T_RESOURCES, "Resursi",
+T_CONNECTIONS, "Veze",
+T_MEMORY_CACHE, "memorijski meðuspremnik",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Meðumemorija pisma",
+T_IMAGE_CACHE, "Meðumemorija slika",
+T_FORMATTED_DOCUMENT_CACHE, "Meðumemorija formatiranih dokumenata",
+T_DNS_CACHE, NULL,
+T_HANDLES, "handleri",
+T_TIMERS, "brojaèi",
+T_WAITING, NULL,
+T_CONNECTING, "spajam se",
+T_tRANSFERRING, "prenosim",
+T_KEEPALIVE, "odr¾i ¾ivim",
+T_BYTES, "bajtovi",
+T_LETTERS, "pisma",
+T_FILES, "datoteke",
+T_LOCKED, "zakljuèano",
+T_LOADING, "uèitavam",
+T_IMAGES, "slike",
+T_DOCUMENTS, "dokumenti",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "kolièina alociranih bajtova memorije",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Informacije o memoriji",
+T_NO_HISTORY, "Nema povijesti",
+T_NO_DOWNLOADS, "Nema preuzimanja",
+T_NO_FRAMES, "Nema okvira",
+T_VT_100_FRAMES, "VT 100 okviri",
+T_LINUX_OR_OS2_FRAMES, "Linux ili OS/2 okviri",
+T_KOI8R_FRAMES, "KOI8-R okviri",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Koristi ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Ogranièi okvire kod cp850/852",
+T_BLOCK_CURSOR, "Blok kursor",
+T_COLOR, "Boja",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Opcije terminala",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)",
+T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Domene za izravni pristup (bez proxya, odvojeno zarezom)",
+T_NETWORK_OPTIONS, "Mre¾ne opcije",
+T_MAX_CONNECTIONS, "Maksimanlno veza",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Maksimalno veza na jedno raèunalo",
+T_RETRIES, "Poku¹aja",
+T_RECEIVE_TIMEOUT_SEC, "Primi timeout (sek)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout kada se ne mo¾e ponovo pokrenuti",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Async DNS tra¾enje",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Podesi vremena preuzetih datoteka",
+T_CACHE_OPTIONS, "Opcije memorijskog meðuspremnika",
+T_MEMORY_CACHE_SIZE__KB, "Velièina memorijskog meðuspremnika (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Velièina memorijskog meðuspremnika slika (KiB)",
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Broj formatiranih dokumenata",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "Html opcije",
+T_DISPLAY_TABLES, "Prika¾i tablice",
+T_DISPLAY_FRAMES, "Prika¾i okvire",
+T_DISPLAY_IMAGES, "Prika¾i slike",
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Prika¾i linkove prema slikama",
+T_LINK_ORDER_BY_COLUMNS, "Pomièi se po stupcima u tablicama",
+T_NUMBERED_LINKS, "Linkovi su numerirani",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Tekstualna margina",
+T_DEFAULT_CODEPAGE, "Defaultna kodna stranica",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Zanemari podatke o znakovnim mapama poslanim od servera",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Idi na URL",
+T_GO_BACK, "Idi nazad",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Povijest",
+T_RELOAD, "Ponovo uèitaj",
+T_NEW_WINDOW, "Novi prozor",
+T_SAVE_AS, "Spremi kao",
+T_SAVE_URL_AS, "Spremi URL kao",
+T_SAVE_FORMATTED_DOCUMENT, "Spremi formatirani dokument",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Ubij veze u pozadini",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Isprazni sve memorijske meðuspremnike",
+T_RESOURCE_INFO, "Podaci o resursima",
+T_OS_SHELL, "OS ljuska",
+T_EXIT, "Izaði",
+T_SEARCH, "Tra¾i",
+T_SEARCH_BACK, "Tra¾i unazad",
+T_FIND_NEXT, "Tra¾i naprijed",
+T_FIND_PREVIOUS, "Tra¾i unazad",
+T_TOGGLE_HTML_PLAIN, "Mijenjaj html/obièni tekst",
+T_DOCUMENT_INFO, "Podaci o dokumentu",
+T_FRAME_AT_FULL_SCREEN, "Rastegni okvir na cijeli ekran",
+T_SAVE_HTML_OPTIONS, "Spremi html opcije",
+T_CHARACTER_SET, "Kodna stranica",
+T_CACHE, "Meðumemorija",
+T_MAIL_AND_TELNEL, "Email i telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Veze",
+T_FILE_EXTENSIONS, "Nastavci datoteka",
+T_SAVE_OPTIONS, "Saèuvaj opcije",
+T_FILE, "Datoteka",
+T_VIEW, "Prikaz",
+T_LINK, "Link",
+T_DOWNLOADS, "Preuzimanja",
+T_SETUP, "Opcije",
+T_HELP, "Pomoæ",
+T_ENTER_URL, "Unesi URL",
+T_SAVE_URL, "Spremi URL",
+T_DOWNLOAD, "Preuzmi",
+T_SAVE_TO_FILE, "Spremi u datoteku",
+T_SEARCH_FOR_TEXT, "Tra¾i tekst",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Èekam u redu",
+T_LOOKING_UP_HOST, "Tra¾im raèunalo",
+T_MAKING_CONNECTION, "Zapoèinjem vezu",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "SSL pregovaranje",
+T_REQUEST_SENT, "Zahtjev poslan",
+T_GETTING_HEADERS, "Dobivam zaglavlja",
+T_LOGGING_IN, "Prijavljujem se",
+T_SERVER_IS_PROCESSING_REQUEST, "Server obraðuje zahtjev",
+T_TRANSFERRING, "Prenosim",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Èekam podatke o redirekciji",
+T_INTERRUPTED, "Prekinuto",
+T_SOCKET_EXCEPTION, "Socket gre¹ka",
+T_INTERNAL_ERROR, "Interna gre¹ka",
+T_OUT_OF_MEMORY, "Nedovoljno memorije",
+T_HOST_NOT_FOUND, "Raèunalo nije naðeno",
+T_ERROR_WRITING_TO_SOCKET, "Gre¹ka pri pisanju u socket",
+T_ERROR_READING_FROM_SOCKET, "Gre¹ka pri èitanju iz socketa",
+T_DATA_MODIFIED, "Podaci promijenjeni",
+T_BAD_URL_SYNTAX, "Neispravana URL sintaksa",
+T_RECEIVE_TIMEOUT, "Primi timeout",
+T_REQUEST_MUST_BE_RESTARTED, "Zahtjev mora biti ponovljen",
+T_CANT_GET_SOCKET_STATE, "Ne mogu dobiti stanje socketa ",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Neispravan HTTP odgovor",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Nema sadr¾aja",
+T_UNKNOWN_FILE_TYPE, "Nepoznati tip datoteke",
+T_ERROR_OPENING_FILE, "Gre¹ka pri otvaranju datoteke",
+T_BAD_FTP_RESPONSE, "Neispravan FTP odgovor",
+T_FTP_SERVICE_UNAVAILABLE, "Nemoguæ pristup FTP usluzi",
+T_BAD_FTP_LOGIN, "Neispravan FTP login",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT naredba nije uspjela",
+T_FILE_NOT_FOUND, "Datoteka nije pronaðena",
+T_FTP_FILE_ERROR, "gre¹ka u FTP datoteci",
+T_UNKNOWN_ERROR, "Nepoznata gre¹ka",
+T_RECEIVED, "Primljeno",
+T_OF, "od",
+T_AVG, "prosjek",
+T_CUR, "trenutno",
+T_AVERAGE_SPEED, "Prosjeèna brzina",
+T_SPEED, "Brzina",
+T_CURRENT_SPEED, "trenutna brzina",
+T_ELAPSED_TIME, "Proteklo vrijeme",
+T_ESTIMATED_TIME, "procijenjeno vrijeme",
+T_BACKGROUND, "Pozadina",
+T_ABORT, "Otka¾i",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Yes",
+T_NO, "Ne",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Gre¹ka pri skidanju podatka",
+T_COULD_NOT_WRITE_TO_FILE, "Nisam mogao stvoriti datoteku",
+T_ERROR_DOWNLOADING, "Gre¹ka pri preuzimanju",
+T_ERROR_LOADING, "Gre¹ka pri uèitavanju",
+T_COULD_NOT_CREATE_FILE, "Nisam mogao stvoriti datoteku",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Nepoznati tip",
+T_CONTENT_TYPE_IS, "Tip sadr¾aja je",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "®elite li otvoriti, saèuvati ili spremiti ovu datoteku?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "®elite li otvoriti ili prikazati ovu datoteku?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "®elite li saèuvati ili prikazati ovu datoteku?",
+T_SAVE, "Spremi",
+T_DISPLAY, "Prika¾i",
+T_WHAT_TO_DO, "©to napraviti?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "®elite li otvoriti datoteku sa",
+T_SAVE_IT_OR_DISPLAY_IT, "spremiti ili prikazati?",
+T_OPEN, "Otvoriti",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "¾elite li slijediti redirekciju i poslati podatke iz formulara na url",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "®elite li poslati podatke na url",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "®elite li ponovo poslati podatke na url",
+T_WARNING, "Upozorenje",
+T_ERROR, "Gre¹ka",
+T_WELCOME, "Dobordo¹li",
+T_WELCOME_TO_LINKS, "Dobrodo¹li u links!",
+T_BASIC_HELP, "Pritisni ESC za izbornik. Izaberi Pomoæ->Upute u izborniku za korisnièke upute.",
+T_LABEL, "Oznaka",
+T_CONTENT_TYPES, "Tip sadr¾aja",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' je zamijenjeno sa imenom datoteke)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blokiraj terminal dok program radi",
+T_RUN_ON_TERMINAL, "Izvr¹i na terminalu",
+T_RUN_IN_XWINDOW, "Izvr¹i na X-Windowsima",
+T_ASK_BEFORE_OPENING, "Pitaj prije otvaranja",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Izbri¹i vezu",
+T_ASSOCIATION, "veza",
+T_EXTENSION_S, "Nastavak(ci)",
+T_CONTENT_TYPE, "Tip sadr¾aja",
+T_DELETE_EXTENSION, "Izbri¹i nastavak",
+T_EXTENSION, "Nastavak",
+T_eXTENSION, "nastavak",
+T_ERROR_WHILE_POSTING_FORM, "Gre¹ka pri slanju formulara",
+T_COULD_NOT_GET_FILE, "Nisam mogao dobiti file",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Nije bilo prethodnog tra¾enja",
+T_SEARCH_STRING_NOT_FOUND, "Nije naðen tra¾eni niz znakova",
+T_SAVE_ERROR, "Gre¹ka pri spremanju",
+T_ERROR_WRITING_TO_FILE, "Gre¹ka pri pisanju u file",
+T_DISPLAY_USEMAP, "Prika¾i usemapu",
+T_FOLLOW_LINK, "Slijedi link",
+T_OPEN_IN_NEW_WINDOW, "Otvori u novom prozoru",
+T_DOWNLOAD_LINK, "Preuzmi link",
+T_RESET_FORM, "Resetiraj formular",
+T_SUBMIT_FORM, "Po¹alji formular",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Po¹alji formular i otvori u novom",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Po¹alji formular i preuzmi",
+T_VIEW_IMAGE, "Prika¾i sliku",
+T_DOWNLOAD_IMAGE, "Skini sliku",
+T_NO_LINK_SELECTED, "Nema odabranih linkova",
+T_IMAGE, "Slika",
+T_USEMAP, "Usemapa",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Ekran",
+T_WINDOW, "Prozor",
+T_FULL_SCREEN, "Cijeli prozor",
+T_BEOS_TERMINAL, "BeOS terminal",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Po¹ali formular na",
+T_POST_FORM_TO, "Postaj formular na",
+T_RADIO_BUTTON, "Radio gumb",
+T_CHECKBOX, "Oznaèavanje",
+T_SELECT_FIELD, "Odaberi polje",
+T_TEXT_FIELD, "Tekstualno polje",
+T_TEXT_AREA, "Tekstualno podruèje",
+T_FILE_UPLOAD, "Po¹alji datoteku",
+T_PASSWORD_FIELD, "Polje za lozinku",
+T_BUTTON, "Gumb",
+T_NAME, "ime",
+T_VALUE, "vrijednost",
+T_HIT_ENTER_TO, "udari ENTER za",
+T_SUBMIT_TO, "po¹alji na",
+T_POST_TO, "postaj na",
+T_INFO, "Podaci",
+T_HEADER_INFO, "Podaci o zaglavlju",
+T_YOU_ARE_NOWHERE, "Vi ste nigdje!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Velièina",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "nedovr¹eno",
+T_CODEPAGE, "Kodna stranica",
+T_ASSUMED, "pretpostavljeno",
+T_IGNORING_SERVER_SETTING, "zanemarujem postavke servera",
+T_SERVER, "Server",
+T_DATE, "Datum",
+T_LAST_MODIFIED, "Zadnja promjena",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Jezik",
+T_GO_TO_LINK, "Idi na link",
+T_ENTER_LINK_NUMBER, "Unesi broj linka",
+T_RESIZE_TERMINAL, "Promijeni velièinu terminala",
+T_COLUMNS, "Stupci",
+T_ROWS, "Redci",
+T_GOTO, "Kreni",
+T_CLOSE, "Zatvori",
+T_FOLDER, "Mapa",
+T_fOLDER, "mapa",
+T_ADD, "Dodaj",
+T_DELETE, "Obri¹i",
+T_EDIT, "Uredi",
+T_MOVE, "Pomakni",
+T_NO_ITEMS_SELECTED, "Nema izabranih predmeta. Ne mogu ni¹ta pomaknuti.",
+T_UNSELECT_ALL, "Nemoj izabrati",
+T_BOOKMARKS, "Bilje¹ke",
+T_BOOKMARK, "bilje¹ka",
+T_ADD_BOOKMARK, "Dodaj bilje¹ku",
+T_ADD_ASSOCIATION, "Dodaj vezu",
+T_ADD_EXTENSION, "Dodaj nastavak",
+T_ADD_FOLDER, "Dodaj mapu",
+T_BOOKMARK_TITLE, "Naslov bilje¹ke",
+T_EDIT_BOOKMARK, "Uredi bilje¹ke",
+T_EDIT_ASSOCIATION, "Uredi veze",
+T_EDIT_EXTENSION, "Uredi nastavke",
+T_DELETE_BOOKMARK, "Izbri¹i bilje¹ku",
+T_EDIT_FOLDER, "Uredi mapu",
+T_DELETE_FOLDER, "Izbri¹i mapu",
+T_NOT_EMPTY_SURE_DELETE, "nije prazan. Da li ste sigurni da ga ¾elite obrisati?",
+T_BOOKMARK_MANAGER, "Upravljanje bilje¹kama",
+T_ASSOCIATIONS_MANAGER, "Upravljanje vezama",
+T_EXTENSIONS_MANAGER, "Upravljanje nastavcima",
+T_url, "url",
+T_NNAME, "Ime",
+T_EXIT_LINKS, "Izaði iz Linksa",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "®elite li zaista izaæi?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Hoæemo li zbilja van (i prekinuti svako preuzimanje)?",
+T_HTTP_OPTIONS, "HTTP opcije",
+T_FTP_OPTIONS, "FTP opcije",
+T_HTTP_BUG_WORKAROUNDS, "HTTP bug zaobilaznica",
+T_USE_HTTP_10, "Koristi HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Dozvoli crnu listu bugovitih servera",
+T_BROKEN_302_REDIRECT, "Neispravna redirekcija 302 (kr¹i RFC, ali je kompatibilno sa Netscapeom)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Bez odr¾avanja veze nakon POST zahtjeva (neke bugovite PHP baze podataka trebaju ovo)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "Nema referera",
+T_REFERER_SAME_URL, "Po¹alji zahtijevani URL kao referer",
+T_REFERER_FAKE, "Fiksirani referer",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "Po¹alji pravi referer (normalna operacija, NESIGURNO!!!)",
+T_FAKE_REFERER, "Fixed HTTP Referer",
+T_FAKE_USERAGENT, "La¾iraj User-Agent",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Lozinka za anonimni login",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Upute za korisnika",
+T_HOMEPAGE, "Polazna stranica",
+T_CALIBRATION, "Kalibracija",
+T_MAILTO_PROG, "Mail program (% æe biti zamijenjeno adresom)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Telnet program (% æe se zamijeniti sa \"host\" ili \"host port\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Tn3270 program (% æe biti zamijenjeno sa \"raèunalo\" ili \"raèunalo port\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Mail i telnet programi",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Nema programa",
+T_NO_PROGRAM_SPECIFIED_FOR, "Nema programa za",
+T_MAIL, "email",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Neispravan mailto url",
+T_BAD_TELNET_URL, "Neispravan telnet url",
+T_BAD_TN3270_URL, "Neispravan tn3270 url",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "Korisnikov ID",
+T_PASSWORD, "Lozinka",
+T_ENTER_USERNAME, "Unesi ime korisnika za ",
+T_AT, "pri ",
+T_SSL_ERROR, "SSL gre¹ka",
+T_NO_SSL, "Ova inaèica Linksa nema SSL/TLS podr¹ku",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "®elite li izbrisati",
+T_BOOKMARKS_ALREADY_IN_USE, "Bilje¹ka se veæ koristi!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Veza se veæ koristi!",
+T_EXTENSIONS_ALREADY_IN_USE, "Nastavci se veæ koriste!",
+T_VIDEO_OPTIONS, "Video opcije",
+T_VIDEO_OPTIONS_TEXT, "Predlo¾ene korisnièke gamma opcije:\n 1.33 za tamnu sobu, 1.11 za sobu sa prigu¹enim svjetlomm, 1 za uobèajeno osvjetljenje, 0.88 za jako osvjetljenje.",
+T_RED_DISPLAY_GAMMA, "Crvena gamma za prikazivanje",
+T_GREEN_DISPLAY_GAMMA, "Zelena gamma za prikazivanje",
+T_BLUE_DISPLAY_GAMMA, "Plava gamma za prikazivanju",
+T_USER_GAMMA, "Korisnikova gamma",
+T_ALERT, "Upozori",
+T_QUESTION, "Pitanje",
+T_KILL_SCRIPT, "Ubij skriptu",
+T_KILL_ALL_SCRIPTS, "Ubij sve skripte",
+T_SCRIPT_KILLED_BY_USER, "Javascript ubijen od korisnika.",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript poku¹ava zatvoriti prozor preglednika. ®elite li zaista zatvoriti prozor?",
+T_ENTER_STRING, "Unesi niz znakova",
+T_JAVASCRIPT_OPTIONS, "Javascript opcije",
+T_ENABLE_JAVASCRIPT, "Omoguæi javascript",
+T_VERBOSE_JS_ERRORS, "Op¹irne javascript gre¹ke",
+T_VERBOSE_JS_WARNINGS, "Op¹irna javascript upozorenja",
+T_MISCELANEOUS_OPTIONS, "Razne opcije",
+T_JAVASCRIPT_ERROR, "Javascript gre¹ka",
+T_JAVASCRIPT_WARNING, "Javascript upozorenje",
+T_DISMISS, "Otpusti",
+T_MENU_FONT_SIZE, "Velièina pisma u izborniku",
+T_USER_FONT_SIZE, "Velièina pisma korisnika",
+T_TURN_OFF_WARNINGS, "Iskljuèi upozorenja",
+T_BOOKMARKS_ENCODING, "Enkoding bilje¾aka",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript poku¹ava iæi na URL",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript poku¹ava otvoriti novi prozor sa URLom",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript poku¹ava uæi u povijest",
+T_TO_URL, "na url",
+T_GOTO_HISTORY, "Povijest linkova",
+T_ALLOW, "Dozvoli",
+T_REJECT, "Odbaci",
+T_ENABLE_ALL_CONVERSIONS, "Omoguæi sve konverzije",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Omoguæi globalnu rezoluciju imena",
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, "Dubina rekurzije",
+T_MENU_BACKGROUND_COLOR, "Boja pozadine",
+T_MENU_FOREGROUND_COLOR, "Boja prednjeg plana",
+T_SCROLL_BAR_BAR_COLOR, "Boja trake za pomicanje",
+T_SCROLL_BAR_AREA_COLOR, "Boja okoline trake za pomicanje",
+T_SCROLL_BAR_FRAME_COLOR, "Boja okvira trake za pomicanje",
+T_BOOKMARKS_FILE, "Datoteka bilje¾aka",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Unesi boje kao sRGB heksadecimalne RRGGBB triplete.",
+T_JS_MEMORY_LIMIT_KB, "Memorija posveæena javascriptu (KiB)",
+T_DITHER_LETTERS, "Izgladi slova",
+T_DITHER_IMAGES, "Izgladi slike",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "Skaliraj sve slike za (%)",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, "Aspect ratio",
+T_ASPECT_CORRECTION_ON, "Korekcija pogleda je ukljuèena",
+T_KEYBOARD_CODEPAGE, "Kodna stranica tipkovnice",
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "B",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "S",
+T_HK_SAVE_URL_AS, "J",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "F",
+T_HK_RESOURCE_INFO, "P",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "ð",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "B",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "F",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "S",
+T_HK_LANGUAGE, "J",
+T_HK_CHARACTER_SET, "H",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, "V",
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, "T",
+T_HK_MISCELANEOUS_OPTIONS, "O",
+T_HK_CACHE, "R",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "V",
+T_HK_FILE_EXTENSIONS, "D",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "O",
+T_HK_KEYS, "K",
+T_HK_COPYING, "K",
+T_HK_MANUAL, "U",
+T_HK_HOMEPAGE, "P",
+T_HK_CALIBRATION, "L",
+T_HK_FILE, "D",
+T_HK_VIEW, "I",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "S",
+T_HK_SETUP, "O",
+T_HK_HELP, "P",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "P",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "V",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/czech.lng b/intl/czech.lng
new file mode 100644
index 0000000..dc981f9
--- /dev/null
+++ b/intl/czech.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "iso8859-2",
+T__LANGUAGE, "Czech",
+T__ACCEPT_LANGUAGE, "cs,sk;q=0.5",
+T_OK, "OK",
+T_CANCEL, "Zru¹it",
+T_BAD_NUMBER, "Chybné èíslo",
+T_NUMBER_EXPECTED, "V rámeèku musí být èíslo",
+T_NUMBER_OUT_OF_RANGE, "Èíslo je mimo rozsah",
+T_BAD_STRING, "Chybný øetìzec",
+T_EMPTY_STRING_NOT_ALLOWED, "Musí¹ zadat nìjaký text!",
+T_BAD_IP_ADDRESS, "Chybná IP addresa",
+T_INVALID_IP_ADDRESS_SYNTAX, "Chyná syntax IP adresy",
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, "Nemohu pou¾ít lokální IP adresu",
+T_CONFIG_ERROR, "Chyba v konfiguraci",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Nemù¾u zapisovat do konfiguraèního souboru",
+T_BOOKMARK_ERROR, "Chyba v zálo¾kách",
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, "Nemù¾u zapisovat do souboru zálo¾ek",
+T_ABOUT, "O programu",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW browser",
+T_VERSION, "Verze",
+T_VERSION_INFORMATION, "Informace o verzi",
+T_LINKS_VERSION, "Verze Linksu",
+T_OPERATING_SYSTEM_TYPE, "Typ operaèního systému",
+T_OPERATING_SYSTEM_VERSION, "Verze operaèního systému",
+T_COMPILER, "Kompilátor",
+T_COMPILE_TIME, "Èas kompilace",
+T_WORD_SIZE, "Velikost slova",
+T_MEMORY, "Pamì»",
+T_FILE_SIZE, "soubory",
+T_DEBUGGING_LEVEL, "Úroveò debuggování",
+T_UTF8_TERMINAL, "UTF-8 na terminálu",
+T_COMPRESSION_METHODS, "Metody komprese",
+T_ENCRYPTION, "©ifrování",
+T_GPM_MOUSE_DRIVER, "GPM ovladaè my¹i",
+T_XTERM_FOR_OS2, "Xterm pro OS/2",
+T_GRAPHICS_MODE, "Grafický mód",
+T_IMAGE_LIBRARIES, "Knihovny pro obrázky",
+T_KEYS, "Klávesy",
+T_KEYS_DESC, "ESC zobraz menu\n^C, q, Q konec\n^P, ^N posouvání nahoru/dolù\n[, ] posouvání vlevo/vpravo\nup, down posouvání po odkazech\n-> skoè na odkaz\n<-, z zpátky\n', x dopøedu\nTAB pøepínej rámy\ng jdi na URL\nG jdi na URL, které je zalo¾ené na aktuálním URL\n^G jdi na URL, které je zalo¾ené na aktuálním linku\n* pøepnout zobrazování odkazù na obrázky\n^W doplnìní URL nebo textu na vyhledávání\n^B,^X,^V,^K zkopíruj/sma¾/vlo¾/sma¾ øádek z/do schránky\nAlt-1 .. Alt-9 pøepínání virtuálních obrazovek (svga a fb)",
+T_KEYS_BRAILLE_DESC, "a, w kurzor na stavovou øádku nebo titulek\n{, } kurzor na zaèátek nebo konec øádku\n^Y,^T,y,t,^O dal¹í/pøedchozí link/slovo/polo¾ka formuláøe",
+T_COPYING, "Kopírování",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_2 "\n\nTento program je volné programové vybavení; mù¾ete jej ¹íøit a modifikovat podle ustanovení Obecné veøejné licence GNU, vydávané Free Software Foundation; a to verze 2 a vý¹e této licence.",
+T_RESOURCES, "Zdroje",
+T_CONNECTIONS, "Spojení",
+T_MEMORY_CACHE, "Pamì»ová cache",
+T_DECOMPRESSED_CACHE, "Cache dekomprimovaných souborù",
+T_FONT_CACHE, "Písmenková cache",
+T_IMAGE_CACHE, "Cache obázkù",
+T_FORMATTED_DOCUMENT_CACHE, "Zformátované dokumenty v cachi",
+T_DNS_CACHE, "DNS cache",
+T_HANDLES, "handlù",
+T_TIMERS, "èasovaèù",
+T_WAITING, "èeká",
+T_CONNECTING, "pøipojuji",
+T_tRANSFERRING, "pøená¹ím",
+T_KEEPALIVE, "¾ivých",
+T_BYTES, "bytù",
+T_LETTERS, "písmenek",
+T_FILES, "souborù",
+T_LOCKED, "zamèených",
+T_LOADING, "nahrávám",
+T_IMAGES, "obrázkù",
+T_DOCUMENTS, "dokumentù",
+T_SERVERS, "serverù",
+T_MEMORY_ALLOCATED, "bytù obsazené pamìti",
+T_BLOCKS_ALLOCATED, "blokù",
+T_MEMORY_REQUESTED, "bytù alokovaných ze systému",
+T_BLOCKS_REQUESTED, "blokù",
+T_JS_MEMORY_ALLOCATED, "bytù pamìti obsazené javascriptem",
+T_MEMORY_INFO, "Informace o pamìti",
+T_NO_HISTORY, "®ádná historie",
+T_NO_DOWNLOADS, "®ádné stahování",
+T_NO_FRAMES, "Vypnout rámeèky",
+T_VT_100_FRAMES, "Rámeèky VT100",
+T_LINUX_OR_OS2_FRAMES, "Rámeèky typu Linux nebo OS/2",
+T_KOI8R_FRAMES, "Rámeèky KOI8-R",
+T_FREEBSD_FRAMES, "Rámeèky FreeBSD",
+T_USE_11M, "Pou¾ívat ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Omezené rámeèky v cp850/852",
+T_BLOCK_CURSOR, "Blokový kurzor",
+T_COLOR, "Barvy",
+T_BRAILLE_TERMINAL, "Braillský øádek",
+T_TERMINAL_OPTIONS, "Nastavení terminálu",
+T_PROXIES, "Proxy",
+T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)",
+T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, "Socks4A proxy (user@host:port)",
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, "Pøidej text ke jménu stroje (pro fixní tor exit node)",
+T_ONLY_PROXIES, "Pøipojuj se pouze pøes proxy nebo Socks (u¾iteèné pro tor)",
+T_NOPROXY_LIST, "Domény s pøímym pøístupem (bez proxy) (oddìluj èárkama)",
+T_NETWORK_OPTIONS, "Nastavení sítì",
+T_MAX_CONNECTIONS, "Maximálnì spojení",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Maximálnì spojení k jednomu stroji",
+T_RETRIES, "Poèet pokusù (0 - neomezeno)",
+T_RECEIVE_TIMEOUT_SEC, "Trpìlivost pøi stahování (sekundy)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Trpìlivost, kdy¾ spojení nemù¾e být restartováno",
+T_BIND_TO_LOCAL_IP_ADDRESS, "Pou¾ij lokální IP adresu",
+T_ASYNC_DNS_LOOKUP, "Asynchronní DNS",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Nastavit èas stáhnutých souborù",
+T_CACHE_OPTIONS, "Nastavení cache",
+T_MEMORY_CACHE_SIZE__KB, "Velikost cache (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Velikost obrázkové cache (KiB)",
+T_FONT_CACHE_SIZE__KB, "Velikost písmenkové cache (KiB)",
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Poèet zformátovaných dokumentù",
+T_AGGRESSIVE_CACHE, "Agresivní cache",
+T_HTML_OPTIONS, "Html nastavení",
+T_DISPLAY_TABLES, "Zobrazovat tabulky",
+T_DISPLAY_FRAMES, "Zobrazovat rámy",
+T_DISPLAY_IMAGES, "Zobrazovat obrázky",
+T_DISPLAY_IMAGE_FILENAMES, "Zobrazovat jména obrázkù",
+T_DISPLAY_LINKS_TO_IMAGES, "Zobrazovat odkazy na obrázky",
+T_LINK_ORDER_BY_COLUMNS, "Poøadí odkazù po sloupcích",
+T_NUMBERED_LINKS, "Èíslované odkazy",
+T_AUTO_REFRESH, "Automatický refresh",
+T_TARGET_IN_NEW_WINDOW, "Povolit otevírání odkazu v novém oknì (target=\"_blank\")",
+T_TEXT_MARGIN, "Okraj textu",
+T_DEFAULT_CODEPAGE, "Pøedpokládat kódovou stránku",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorovat infomaci o kódové stránce",
+T_TEXT_COLOR, "Text",
+T_LINK_COLOR, "Odkazy",
+T_BACKGROUND_COLOR, "Pozadí",
+T_IGNORE_DOCUMENT_COLOR, "Ignorovat barvy v dokumentu",
+T_COLOR_0, "Èerná",
+T_COLOR_1, "Èervená",
+T_COLOR_2, "Zelená",
+T_COLOR_3, "®lutá",
+T_COLOR_4, "Tmavì modrá",
+T_COLOR_5, "Fialová",
+T_COLOR_6, "Svìtle modrá",
+T_COLOR_7, "Bílá",
+T_COLOR_8, "Tmavì ¹edá",
+T_COLOR_9, "Svìtle èervená",
+T_COLOR_10, "Svìtle zelená",
+T_COLOR_11, "Svìtle ¾lutá",
+T_COLOR_12, "Modrá",
+T_COLOR_13, "Svìtle fialová",
+T_COLOR_14, "Velmi svìtle modrá",
+T_COLOR_15, "Svìtle bílá",
+T_GOTO_URL, "Bì¾ na URL",
+T_GO_BACK, "Zpátky",
+T_GO_FORWARD, "Dopøedu",
+T_HISTORY, "Historie",
+T_RELOAD, "Nahraj znova",
+T_NEW_WINDOW, "Nové okno",
+T_SAVE_AS, "Ulo¾ pod jménem",
+T_SAVE_URL_AS, "Ulo¾ URL pod jménem",
+T_SAVE_FORMATTED_DOCUMENT, "Ulo¾ zformátovaný dokument",
+T_COPY_URL_LOCATION, "Zkopíruj URL stránky do schránky",
+T_KILL_BACKGROUND_CONNECTIONS, "Ukonèit v¹echna spojení na pozadí",
+T_KILL_ALL_CONNECTIONS, "Ukonèit v¹echna spojení",
+T_FLUSH_ALL_CACHES, "Vylej v¹echny cache",
+T_RESOURCE_INFO, "Informace o zdrojích",
+T_OS_SHELL, "OS shell",
+T_EXIT, "Konec",
+T_SEARCH, "Hledej",
+T_SEARCH_BACK, "Hledej zpìt",
+T_FIND_NEXT, "Najdi dal¹í",
+T_FIND_PREVIOUS, "Najdi pøedchozí",
+T_TOGGLE_HTML_PLAIN, "Pøepnout html/plain",
+T_DOCUMENT_INFO, "Informace o dokumentu",
+T_FRAME_AT_FULL_SCREEN, "Rám pøes celou obrazovku",
+T_SAVE_HTML_OPTIONS, "Ulo¾ html nastavení",
+T_CHARACTER_SET, "Znaková sada",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "Mail a telnet",
+T_MAIL_TELNET_AND_SHELL, "Mail, telnet a shell",
+T_ASSOCIATIONS, "Pøiøazení",
+T_FILE_EXTENSIONS, "Pøípony souborù",
+T_SAVE_OPTIONS, "Ulo¾ nastavení",
+T_FILE, "Soubor",
+T_VIEW, "Zobrazení",
+T_LINK, "Link",
+T_DOWNLOADS, "Stahování",
+T_SETUP, "Nastavení",
+T_HELP, "Pomoc",
+T_ENTER_URL, "Zadej URL",
+T_SAVE_URL, "Ulo¾ URL",
+T_DOWNLOAD, "Stahování",
+T_SAVE_TO_FILE, "Ulo¾ do souboru",
+T_SEARCH_FOR_TEXT, "Hledání textu",
+T_PAGE_P, "(str. ",
+T_PAGE_OF, " z ",
+T_PAGE_CL, ")",
+T_WAITING_IN_QUEUE, "Èeká ve frontì",
+T_LOOKING_UP_HOST, "Hledám server",
+T_MAKING_CONNECTION, "Navazuju spojení",
+T_SOCKS_NEGOTIATION, "Navazuju Socks spojení",
+T_SSL_NEGOTIATION, "Vyjednávání SSL",
+T_REQUEST_SENT, "Vysílám ¾ádost",
+T_GETTING_HEADERS, "Stahuju hlavièku",
+T_LOGGING_IN, "Pøihla¹uji se",
+T_SERVER_IS_PROCESSING_REQUEST, "Server zpracovává ¾ádost",
+T_TRANSFERRING, "Pøená¹ím",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Èekám na potvrzení pøesmìrování",
+T_INTERRUPTED, "Pøeru¹eno",
+T_SOCKET_EXCEPTION, "Chyba v socketu",
+T_INTERNAL_ERROR, "Vnitøní chyba",
+T_OUT_OF_MEMORY, "Do¹la pamì», bobánku",
+T_HOST_NOT_FOUND, "Nena¹el jsem server",
+T_ERROR_WRITING_TO_SOCKET, "Chyba pøi zapisování do socketu",
+T_ERROR_READING_FROM_SOCKET, "Chyba pøi ètení ze socketu",
+T_DATA_MODIFIED, "Data zmìnìna",
+T_BAD_URL_SYNTAX, "Blbì napsaný URL",
+T_RECEIVE_TIMEOUT, "Èas vypr¹el",
+T_REQUEST_MUST_BE_RESTARTED, "®ádost se musí poslat znova",
+T_CANT_GET_SOCKET_STATE, "Nemù¾u zjistit stav socketu",
+T_CYCLIC_REDIRECT, "Cyklický redirekt",
+T_TOO_LARGE_FILE, "Pøíli¹ velký soubor",
+T_BLOCKED_URL, "Toto URL je zablokováno ve va¹em seznamu",
+T_NO_PROXY, "Pro toto spojení není ¾ádná proxy a spojení bez proxy jsou zakázána",
+T_BAD_HTTP_RESPONSE, "©patná HTTP odpovìï (asi bugovitý server)",
+T_HTTP_100, "HTTP 100 (?)",
+T_NO_CONTENT, "®ádnej obsah",
+T_UNKNOWN_FILE_TYPE, "Neznámý typ souboru",
+T_ERROR_OPENING_FILE, "Chybièka pøi ètení souboru",
+T_BAD_FTP_RESPONSE, "©patná odpovìï na FTP",
+T_FTP_SERVICE_UNAVAILABLE, "FTP není pøístupné",
+T_BAD_FTP_LOGIN, "Blbì ses zalogoval na FTP",
+T_FTP_PORT_COMMAND_FAILED, "Selhal FTP PORT pøíkaz (nejse¹ za firewallem?)",
+T_FILE_NOT_FOUND, "Soubor nenalezen",
+T_FTP_FILE_ERROR, "Chyba FTP souboru",
+T_UNKNOWN_ERROR, "Neznámá chyba",
+T_RECEIVED, "Pøijato",
+T_OF, "z",
+T_AVG, "prùmìrnì",
+T_CUR, "momentálnì",
+T_AVERAGE_SPEED, "Prùmìrná rychlost",
+T_SPEED, "Rychlost",
+T_CURRENT_SPEED, "momentální rychlost",
+T_ELAPSED_TIME, "Uplynulý èas",
+T_ESTIMATED_TIME, "pøedpokládaný èas",
+T_BACKGROUND, "Na pozadí",
+T_ABORT, "Ukonèit",
+T_ABORT_AND_DELETE_FILE, "Ukonèit a smazat soubor",
+T_YES, "Ano",
+T_NO, "Ne",
+T_DIRECTORY, "Adresáø",
+T_FILE_ALREADY_EXISTS, "Soubor ji¾ existuje",
+T_ALREADY_EXISTS_AS_DOWNLOAD, "ji¾ existuje a stahuje se do nìj.",
+T_ALREADY_EXISTS, "ji¾ existuje.",
+T_DO_YOU_WISH_TO_CONTINUE, "Chce¹ pokraèovat ve stahování nebo soubor pøepsat?",
+T_DO_YOU_WISH_TO_OVERWRITE, "Chce¹ soubor pøepsat?",
+T_CONTINUE, "Pokraèovat",
+T_OVERWRITE, "Pøepsat",
+T_RENAME, "Pøejmenovat",
+T_DOWNLOAD_ERROR, "Chyba pøi stahování",
+T_COULD_NOT_WRITE_TO_FILE, "Nemù¾u zapisovat do souboru",
+T_ERROR_DOWNLOADING, "Chyba pøi stahování",
+T_ERROR_LOADING, "Chyba pøi natahování",
+T_COULD_NOT_CREATE_FILE, "Nemù¾u vytvoøit soubor",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, "Nemù¾u vytvoøit soubor v TMP adresáøi",
+T_ERROR_CALLING_LSEEK_ON_FILE, "Chyba pøi volání lseek na souboru",
+T_TOO_LARGE_FILE_SEQUENCE, "Pøíli¹ dlouhá sekvence souborù",
+T_UNKNOWN_TYPE, "Neznámý typ",
+T_CONTENT_TYPE_IS, "Typ je",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Chce¹ soubor otevøít, ulo¾it nebo zobrazit?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Chce¹ soubor otevøít nebo zobrazit?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Tenhle soubor chce¹ ulo¾it nebo zobrazit?",
+T_SAVE, "Ulo¾it",
+T_DISPLAY, "Zobrazit",
+T_WHAT_TO_DO, "Co mám podle tebe dìlat?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Chce¹ otevøít soubor pomocí",
+T_SAVE_IT_OR_DISPLAY_IT, "ulo¾it nebo zobrazit?",
+T_OPEN, "Otevøít",
+T_OPEN_WITH, "Otevøít pomocí",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Chce¹ následovat redirekt a poslat data na adresu",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Chce¹ poslat data z formuláøe na adresu",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Chce¹ poslat data z formuláøe znova na adresu",
+T_WARNING, "Upozornìní",
+T_ERROR, "Chyba",
+T_WELCOME, "Vítej",
+T_WELCOME_TO_LINKS, "Vítej v programu links!",
+T_BASIC_HELP, "Pro zobrazení menu stiskni ESC nebo klikni na horní pruh v oknì. Pokud chce¹ vidìt manuál, zvol v menu Pomoc->Manuál.",
+T_LABEL, "Popis",
+T_CONTENT_TYPES, "Typ(y) (oddìlené èárkou)",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' je nahrazeno jménem souboru)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Zablokuj terminál, kdy¾ program bì¾í",
+T_RUN_ON_TERMINAL, "Pustit na terminálu",
+T_RUN_IN_XWINDOW, "Pustit v X-Window oknì",
+T_ASK_BEFORE_OPENING, "Zeptat se pøed otevíráním",
+T_ACCEPT_HTTP, "Akceptuje HTTP URL",
+T_ACCEPT_FTP, "Akceptuje FTP URL",
+T_DELETE_ASSOCIATION, "Smazat pøiøazení",
+T_ASSOCIATION, "pøiøazení",
+T_EXTENSION_S, "Pøípona(y) (oddìlené èárkou)",
+T_CONTENT_TYPE, "Typ",
+T_DELETE_EXTENSION, "Smazat pøíponu",
+T_EXTENSION, "Pøípona",
+T_eXTENSION, "pøíponu",
+T_ERROR_WHILE_POSTING_FORM, "Chyba pøi posílání formuláøe",
+T_COULD_NOT_GET_FILE, "Nemù¾u dostat soubor",
+T_READING_FILES_IS_NOT_ALLOWED, "Není dovoleno èíst soubory",
+T_NO_PREVIOUS_SEARCH, "®ádné pøedchozí hledání",
+T_SEARCH_STRING_NOT_FOUND, "Nena¹el jsem to",
+T_SAVE_ERROR, "Chyba pøi ukládání",
+T_ERROR_WRITING_TO_FILE, "Chyba pøi zápisu do souboru",
+T_DISPLAY_USEMAP, "Zobrazit mapu",
+T_FOLLOW_LINK, "Otevøít odkaz",
+T_OPEN_IN_NEW_WINDOW, "Otevøít v novém oknì",
+T_DOWNLOAD_LINK, "Stáhnout odkaz",
+T_RESET_FORM, "Vygumovat formuláø",
+T_SUBMIT_FORM, "Poslat formuláø",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Poslat formuláø a otevøít v novém oknì",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Poslat formuláø a stáhnout",
+T_VIEW_IMAGE, "Zobrazit obrázek",
+T_DOWNLOAD_IMAGE, "Stáhnout obrázek",
+T_NO_LINK_SELECTED, "®ádný odkaz",
+T_IMAGE, "Obrázek",
+T_USEMAP, "Mapa obrázkù",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Screen",
+T_WINDOW, "Okno",
+T_FULL_SCREEN, "Celá obrazovka",
+T_BEOS_TERMINAL, "BeOS terminál",
+T_UNABLE_TO_OPEN_NEW_WINDOW, "Nemù¾u otevøít nové okno",
+T_JAVASCRIPT, "Javascript",
+T_SUBMIT_FORM_TO, "Po¹li formuláø na",
+T_POST_FORM_TO, "Po¹li formuláø na",
+T_RADIO_BUTTON, "Radio tlaèítko",
+T_CHECKBOX, "Za¹krtávací ètvereèek",
+T_SELECT_FIELD, "Vybírací políèko",
+T_TEXT_FIELD, "Textové políèko",
+T_TEXT_AREA, "Textová plocha",
+T_FILE_UPLOAD, "Uploadnutí souboru",
+T_PASSWORD_FIELD, "Políèko s heslem",
+T_BUTTON, "Tlaèítko",
+T_NAME, "jméno",
+T_VALUE, "hodnota",
+T_HIT_ENTER_TO, "po stisknutí ENTER",
+T_SUBMIT_TO, "bude posláno na",
+T_POST_TO, "bude postnuto na",
+T_INFO, "Informace",
+T_HEADER_INFO, "Informace o hlavièce",
+T_YOU_ARE_NOWHERE, "Nemá¹ zobrazenou ¾ádnou stránku.",
+T_NO_HEADER, "Dokument nemá ¾ádnou hlavièku",
+T_URL, "URL",
+T_SIZE, "Velikost",
+T_COMPRESSED_WITH, "zkomprimováno",
+T_INCOMPLETE, "neúplný",
+T_CODEPAGE, "Kódování",
+T_ASSUMED, "pøedpokládám",
+T_IGNORING_SERVER_SETTING, "ignoruju informaci ze serveru",
+T_SERVER, "Server",
+T_DATE, "Datum",
+T_LAST_MODIFIED, "Poslední zmìna",
+T_SSL_CIPHER, "SSL ¹ifra",
+T_LANGUAGE, "Jazyk",
+T_GO_TO_LINK, "Bì¾ na odkaz",
+T_ENTER_LINK_NUMBER, "Zadej èíslo odkazu",
+T_RESIZE_TERMINAL, "Zmìò velikost terminálu",
+T_COLUMNS, "Sloupce",
+T_ROWS, "Øádky",
+T_GOTO, "Jdi na",
+T_CLOSE, "Zavøít",
+T_FOLDER, "Adresáø",
+T_fOLDER, "adresáø",
+T_ADD, "Pøidat",
+T_DELETE, "Smazat",
+T_EDIT, "Editovat",
+T_MOVE, "Pøestìhovat",
+T_NO_ITEMS_SELECTED, "®ádná polo¾ka nebyla vybrána, není co stìhovat.",
+T_UNSELECT_ALL, "Odznaèit v¹e",
+T_BOOKMARKS, "Zálo¾ky",
+T_BOOKMARK, "zálo¾ku",
+T_ADD_BOOKMARK, "Pøidej zálo¾ku",
+T_ADD_ASSOCIATION, "Pøidej pøiøazení",
+T_ADD_EXTENSION, "Pøidej pøíponu",
+T_ADD_FOLDER, "Pøidej adresáø",
+T_BOOKMARK_TITLE, "Název zálo¾ky",
+T_EDIT_BOOKMARK, "Edituj zálo¾ku",
+T_EDIT_ASSOCIATION, "Edituj pøiøazení",
+T_EDIT_EXTENSION, "Edituj pøíponu",
+T_DELETE_BOOKMARK, "Sma¾ zálo¾ku",
+T_EDIT_FOLDER, "Edituj adresáø",
+T_DELETE_FOLDER, "Sma¾ adresáø",
+T_NOT_EMPTY_SURE_DELETE, "není prázdný. Opravdu ho chce¹ smazat?",
+T_BOOKMARK_MANAGER, "Správce zálo¾ek",
+T_ASSOCIATIONS_MANAGER, "Správce pøiøazení",
+T_EXTENSIONS_MANAGER, "Správce pøípon",
+T_url, "url",
+T_NNAME, "Název",
+T_EXIT_LINKS, "Ukonèení Linksu",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "Chce¹ opravdu zavøít okno?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Chce¹ opravdu ukonèit Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Chce¹ skuteènì ukonèit Links a zru¹it v¹echna stahování?",
+T_HTTP_OPTIONS, "HTTP nastavení",
+T_FTP_OPTIONS, "FTP nastavení",
+T_HTTP_BUG_WORKAROUNDS, "Obcházení chyb v HTTP",
+T_USE_HTTP_10, "Pou¾ívej pouze HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Povol seznam zabugovaných serverù",
+T_BROKEN_302_REDIRECT, "©patný 302 redirekt (poru¹uje RFC, ale je kompatibilní s Netscapem)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Nedr¾ keepalive spojení po POST po¾adavku (nìkteré zabugované PHP databáze to potøebují)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, "Neposílej Accept-Charset",
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, "Nenabízej mo¾nost komprese pøenosu",
+T_RETRY_ON_INTERNAL_ERRORS, "Zkusit znovu pøi interní chybì serveru (50x)",
+T_HEADER_OPTIONS, "Nastavení hlavièky",
+T_HTTP_HEADER_OPTIONS, "Nastavení HTTP hlavièky",
+T_REFERER_NONE, "Neposílat referer",
+T_REFERER_SAME_URL, "Posílat po¾adované URL jako referer",
+T_REFERER_FAKE, "Posílat fixní referer",
+T_REFERER_REAL_SAME_SERVER, "Posílat opravdový referer pouze na stejný server",
+T_REFERER_REAL, "Posílat opravdový referer (normální chování, NEBEZPEÈNÉ!!!)",
+T_FAKE_REFERER, "Fixní HTTP Referer",
+T_FAKE_USERAGENT, "Hlásit fale¹ný User-Agent",
+T_EXTRA_HEADER, "Dal¹í polo¾ky v hlavièce ('\\' znamená nový øádek)",
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Heslo pro anonymní login",
+T_USE_PASSIVE_FTP, "Pou¾ívat pasivní FTP",
+T_USE_FAST_FTP, "Rychlé FTP (nekompatibilní s RFC)",
+T_SET_TYPE_OF_SERVICE, "Nastav IP Type Of Service",
+T_MANUAL, "Manuál",
+T_HOMEPAGE, "Domácí stránka",
+T_CALIBRATION, "Kalibrace",
+T_MAILTO_PROG, "Program pro mail (% je nahrazeno adresou)",
+T_SHELL_PROG, "Shell pro spou¹tìní externích pøíkazù (% je nahrazeno pøíkazem)",
+T_TELNET_PROG, "Program pro telnet (% je nahrazeno jménem stroje a pøípadnì portem)",
+T_MAGNET_PROG, "Program pro magnet (% je nahrazeno URL)",
+T_TN3270_PROG, "Program pro tn3270 (% je nahrazeno jménem stroje a pøípadnì portem)",
+T_MMS_PROG, "Program pro mms (% je nahrazeno URL)",
+T_MAIL_AND_TELNET_PROGRAMS, "Programy pro mail a telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Programy pro mail, telnet a shell",
+T_NO_PROGRAM, "®ádný program",
+T_NO_PROGRAM_SPECIFIED_FOR, "Není zadán ¾ádný program pro",
+T_MAIL, "mail",
+T_TELNET, "telnet",
+T_MAGNET, "magnet",
+T_TN3270, "tn3270",
+T_MMS, "mms",
+T_BAD_MAILTO_URL, "©patné mailto url",
+T_BAD_TELNET_URL, "©patné telnet url",
+T_BAD_TN3270_URL, "©patné tn3270 url",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "MMS url obsahuje neakceptovatelné znaky",
+T_AUTHORIZATION_REQUIRED, "Pøihlá¹ení",
+T_PROXY_AUTHORIZATION_REQUIRED, "Pøihlá¹ení k proxy",
+T_USERID, "U¾ivatelské jméno",
+T_PASSWORD, "Heslo",
+T_ENTER_USERNAME, "Zadej login pro ",
+T_AT, "na adrese ",
+T_SSL_ERROR, "Chyba SSL",
+T_NO_SSL, "Tato verze Linksu nepodporuje SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, "Socks spojení selhalo nebo bylo odmítnuto",
+T_BAD_SOCKS_VERSION, "©patná Socks verze (potøeba je 4a)",
+T_SOCKS_NO_IDENTD, "Socks proxy se nemù¾e pøipojit na identd server",
+T_SOCKS_BAD_USERID, "©patná identifikace Socks u¾ivatele",
+T_SOCKS_UNKNOWN_ERROR, "Neznámá Socks chyba",
+T_NO_SMB_CLIENT, "Nebyl nalezen program pro pøístup na SMB (podporován je smbclient a smbc)",
+T_DECOMPRESSION_ERROR, "Chyba pøi dekomprimování",
+T_ERROR_DECOMPRESSING_, "Chyba pøi dekomprimování ",
+T__wITH_, " pomocí ",
+T_COMPRESSED_ERROR, "Chybná zkomprimovaná data",
+T_UNKNOWN_COMPRESSION_METHOD, "Neznámá kompresní metoda",
+T_SURE_DELETE, "Opravdu chce¹ smazat",
+T_BOOKMARKS_ALREADY_IN_USE, "Zálo¾ky jsou ji¾ otevøené v jiném oknì!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Pøiøazení jsou ji¾ otevøená v jiném oknì!",
+T_EXTENSIONS_ALREADY_IN_USE, "Pøípony jsou ji¾ otevøené v jiném oknì!",
+T_VIDEO_OPTIONS, "Video nastavení",
+T_VIDEO_OPTIONS_TEXT, "Doporuèené nastavení U¾ivatelské gammy:\n1.33 pro temnou komoru, 1.11 pro velmi tmavou místnost, 1 pro bì¾nì osvìtlení poèítaèových pracovi¹», 0.88 pro jasnì osvìtlená pracovi¹tì.",
+T_RED_DISPLAY_GAMMA, "Èervená display gamma",
+T_GREEN_DISPLAY_GAMMA, "Zelená display gamma",
+T_BLUE_DISPLAY_GAMMA, "Modrá display gamma",
+T_USER_GAMMA, "U¾ivatelská gamma",
+T_ALERT, "Výstraha",
+T_QUESTION, "Otázka",
+T_KILL_SCRIPT, "Ukonèit script",
+T_KILL_ALL_SCRIPTS, "Ukonèit v¹echny skripty",
+T_SCRIPT_KILLED_BY_USER, "Javascript byl zne¹kodnìn u¾ivatelem.",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript se sna¾í zavøít okno prohlí¾eèe. Opravdu chcete okno zavøít?",
+T_ENTER_STRING, "Zadej text",
+T_JAVASCRIPT_OPTIONS, "Nastavení javascriptu",
+T_ENABLE_JAVASCRIPT, "Zapnout javascript",
+T_VERBOSE_JS_ERRORS, "Upozoròovat na chyby v javascriptu",
+T_VERBOSE_JS_WARNINGS, "Upozoròovat na varování v javascriptu",
+T_MISCELANEOUS_OPTIONS, "Ostatní nastavení",
+T_JAVASCRIPT_ERROR, "Chyba javascriptu",
+T_JAVASCRIPT_WARNING, "Varování javascriptu",
+T_DISMISS, "Zapomeò na to",
+T_MENU_FONT_SIZE, "Velikost písma v menu",
+T_USER_FONT_SIZE, "Velikost písma",
+T_TURN_OFF_WARNINGS, "Pøestat hlásit varování",
+T_BOOKMARKS_ENCODING, "Vybrat kódování zálo¾ek",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript se pokou¹í jít na URL",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript se pokou¹í otevøít nové okno s URL",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript se pokou¹í jít do historie",
+T_TO_URL, "na URL",
+T_GOTO_HISTORY, "Jdi do historie",
+T_ALLOW, "Povolit",
+T_REJECT, "Zakázat",
+T_ENABLE_ALL_CONVERSIONS, "Povolit v¹echny konverze",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Povolit globální vyhledávání jmen",
+T_MANUAL_JS_CONTROL, "Potvrzovat akce javascriptu manuálnì",
+T_JS_RECURSION_DEPTH, "Hloubka rekurse",
+T_MENU_BACKGROUND_COLOR, "Barva pozadí menu",
+T_MENU_FOREGROUND_COLOR, "Barva popøedí menu",
+T_SCROLL_BAR_BAR_COLOR, "Barva tahátka scrollovací li¹ty",
+T_SCROLL_BAR_AREA_COLOR, "Barva scrollovací li¹ty",
+T_SCROLL_BAR_FRAME_COLOR, "Barva rámu scrollovací li¹ty",
+T_BOOKMARKS_FILE, "Soubor pro ukládání zálo¾ek",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Hodnoty barev vkládejte ve tvaru sRGB hexadecimálních RRGGBB trojic.",
+T_JS_MEMORY_LIMIT_KB, "Pamì» vyhrazená pro javascript (KiB)",
+T_DITHER_LETTERS, "Ditherovat písmenka",
+T_DITHER_IMAGES, "Ditherovat obrázky",
+T_8_BIT_GAMMA_CORRECTION, "8-bitová gamma korekce",
+T_16_BIT_GAMMA_CORRECTION, "16-bitová gamma korekce",
+T_AUTO_GAMMA_CORRECTION, "Automaticky zvolit gamma korekci (podle rychlosti FPU)",
+T_SCALE_ALL_IMAGES_BY, "Zvìt¹ení v¹ech obrázkù (%)",
+T_PORN_ENABLE, "Automatická velikost obrázkù zobrazených pøes celou obrazovku",
+T_DISPLAY_OPTIMIZATION_CRT, "Optimalizovat výstup pro obrazovku",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optimalizovat výstup pro LCD (RGB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optimalizovat výstup pro LCD (BGR)",
+T_ASPECT_RATIO, "Pomìr stran",
+T_ASPECT_CORRECTION_ON, "Zapnout korekci pomìru stran",
+T_KEYBOARD_CODEPAGE, "Kódování klávesnice",
+T_COPY_LINK_LOCATION, "Zkopíruj URL odkazu do schránky",
+T_BLOCK_URL, "Zablokuj obrázek",
+T_BLOCK_LIST, "Zablokované obrázky",
+T_BLOCKED_IMAGE, "zablokovaný obrázek",
+T_BLOCK_LIST_IN_USE, "Seznam zablokovaných obrázkù je u¾ otevøený",
+T_BLOCK_LIST_MANAGER, "Správce zablokovaných obrázkù",
+T_BLOCK_ADD, "Pøidej obrázek k zablokovaným",
+T_BLOCK_EDIT, "Uprav URL obrázku",
+T_BLOCK_DELETE, "Odstraò zablokování",
+T_HK_GOTO_URL, "B",
+T_HK_GO_BACK, "Z",
+T_HK_GO_FORWARD, "D",
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "Y",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "J",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, "C",
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, "P",
+T_HK_FLUSH_ALL_CACHES, "V",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "E",
+T_HK_SEARCH, "H",
+T_HK_SEARCH_BACK, "Z",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "L",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, "E",
+T_HK_FRAME_AT_FULL_SCREEN, "R",
+T_HK_HTML_OPTIONS, "M",
+T_HK_COLOR, "B",
+T_HK_SAVE_HTML_OPTIONS, "U",
+T_HK_LANGUAGE, "Y",
+T_HK_CHARACTER_SET, "Z",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, "V",
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, "J",
+T_HK_MISCELANEOUS_OPTIONS, "O",
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "P",
+T_HK_BLOCK_LIST, "B",
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "O",
+T_HK_KEYS, "K",
+T_HK_COPYING, "P",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, "D",
+T_HK_CALIBRATION, "L",
+T_HK_FILE, "S",
+T_HK_VIEW, "Z",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "N",
+T_HK_HELP, "P",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "O",
+T_HK_OPEN_IN_NEW_WINDOW, "N",
+T_HK_DOWNLOAD_LINK, "S",
+T_HK_RESET_FORM, "V",
+T_HK_SUBMIT_FORM, "P",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "N",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "S",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "O",
+T_HK_COPY_LINK_LOCATION, "C",
+T_HK_BLOCK_URL, "B",
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "O",
+T_HK_FULL_SCREEN, "C",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/danish.lng b/intl/danish.lng
new file mode 100644
index 0000000..ae7e08c
--- /dev/null
+++ b/intl/danish.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-1",
+T__LANGUAGE, "Danish",
+T__ACCEPT_LANGUAGE, "da",
+T_OK, "Ok",
+T_CANCEL, "Annuller",
+T_BAD_NUMBER, "Fejl i nummer",
+T_NUMBER_EXPECTED, "Nummer forventet i felt",
+T_NUMBER_OUT_OF_RANGE, "Nummer uden for område",
+T_BAD_STRING, "Fejl i tekststreng",
+T_EMPTY_STRING_NOT_ALLOWED, "Tom tekststreng ikke tilladt",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Konfigurationsfejl",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Kan ikke skrive til konfigurationsfil",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Om Links",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nBrowser for WWW",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Taster",
+T_KEYS_DESC, "ESC vis menu\n^C, q afslut\n^P, ^N bladre op/ned\n[, ] bladre venstre/højre\nop,ned vælg lænker\n-> følg lænke\n<- gå tilbage\ng gå til URL\nG gå til URL baseret på nuværende URL\n/ søg\n? søg baglæns\nn find næste\nN find foregående\n= dokument information\n| vis dokument hoved\n\\ vis kilde\nd start filoverførsel",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Licens",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nDette program er fri software. Du kan distribuere det og/eller ændre det i henhold til GNU General Public License, publiceret af Free Software Foundation, enten version 2 eller (hvis du ønsker) en hvilken som helst senere version.",
+T_RESOURCES, "Ressourcer",
+T_CONNECTIONS, "Forbindelser",
+T_MEMORY_CACHE, "Hukommelsescache",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Skrifttegncache",
+T_IMAGE_CACHE, "Billed cache",
+T_FORMATTED_DOCUMENT_CACHE, "Cache for behandlede dokumenter",
+T_DNS_CACHE, NULL,
+T_HANDLES, "håndtag",
+T_TIMERS, "tidsafbrydere",
+T_WAITING, NULL,
+T_CONNECTING, "etablerer forbindelse",
+T_tRANSFERRING, "overfører data",
+T_KEEPALIVE, "forbindelser holdes i live",
+T_BYTES, "byte",
+T_LETTERS, "bogstaver",
+T_FILES, "filer",
+T_LOCKED, "låst",
+T_LOADING, "henter",
+T_IMAGES, "billeder",
+T_DOCUMENTS, "dokumenter",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "bytes hukommelse allokeret",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Hukommelsesinformation",
+T_NO_HISTORY, "Ingen historik",
+T_NO_DOWNLOADS, "Ingen filoverførsler",
+T_NO_FRAMES, "Ingen rammer",
+T_VT_100_FRAMES, "VT100-rammer",
+T_LINUX_OR_OS2_FRAMES, "Linux eller OS/2-rammer",
+T_KOI8R_FRAMES, "KOI8-R-rammer",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Anvend ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Begræns rammer i cp850/852",
+T_BLOCK_CURSOR, "Udfyld markør",
+T_COLOR, "Farver",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Terminalindstillinger",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP-proxy (vært:port)",
+T_FTP_PROXY__HOST_PORT, "FTP-proxy (vært:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Direkte tilgang (uden proxy) til disse domæner (kommasepareret)",
+T_NETWORK_OPTIONS, "Netværksindstillinger",
+T_MAX_CONNECTIONS, "Max forbindelser",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Max forbindelser til en vært",
+T_RETRIES, "Antal forsøg",
+T_RECEIVE_TIMEOUT_SEC, "Ventetid ved filoverførsler (sek)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Ventetid ved genstartsproblemer",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Asynkron DNS-opslag",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Vis tidsinformation for hentede filer",
+T_CACHE_OPTIONS, "Cacheindstillinger",
+T_MEMORY_CACHE_SIZE__KB, "Størrelse for hukommelsescache (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Størrrelse for billedcache (KiB)",
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Antal behandlede dokumenter",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "HTML-indstillinger",
+T_DISPLAY_TABLES, "Vis tabeller",
+T_DISPLAY_FRAMES, "Vis rammer",
+T_DISPLAY_IMAGES, "Vis billeder",
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Vis lænker til billeder",
+T_LINK_ORDER_BY_COLUMNS, "Søjlevis navigering i tabeller",
+T_NUMBERED_LINKS, "Nummererede lænker",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Tekstmargin",
+T_DEFAULT_CODEPAGE, "Standardtegnopsætning",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorer information om tegnopsætning fra server",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Gå til URL",
+T_GO_BACK, "Gå tilbage",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Historik",
+T_RELOAD, "Genindlæs",
+T_NEW_WINDOW, "Nyt vindue",
+T_SAVE_AS, "Gem som",
+T_SAVE_URL_AS, "Gem URL som",
+T_SAVE_FORMATTED_DOCUMENT, "Gem behandlet dokument",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Dræb baggrundsforbindelse",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Tøm cachen",
+T_RESOURCE_INFO, "Ressourceinformation",
+T_OS_SHELL, "Kommandofortolker",
+T_EXIT, "Afslut",
+T_SEARCH, "Søg",
+T_SEARCH_BACK, "Søg bagud",
+T_FIND_NEXT, "Søg næste",
+T_FIND_PREVIOUS, "Søg foregående",
+T_TOGGLE_HTML_PLAIN, "Skift mellem HTML/tekst",
+T_DOCUMENT_INFO, "Dokumentinformation",
+T_FRAME_AT_FULL_SCREEN, "Maksimer ramme",
+T_SAVE_HTML_OPTIONS, "Gem HTML-indstillinger",
+T_CHARACTER_SET, "Tegnsætindstillinger",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "Post og telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Associationer",
+T_FILE_EXTENSIONS, "Filendelser",
+T_SAVE_OPTIONS, "Gem indstillinger",
+T_FILE, "Filer",
+T_VIEW, "Vis",
+T_LINK, "Lænker",
+T_DOWNLOADS, "Filoverførsler",
+T_SETUP, "Indstillinger",
+T_HELP, "Hjælp",
+T_ENTER_URL, "Indtast URL",
+T_SAVE_URL, "Gem URL",
+T_DOWNLOAD, "Hent",
+T_SAVE_TO_FILE, "Gem som",
+T_SEARCH_FOR_TEXT, "Søg efter tekst",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Venter i kø",
+T_LOOKING_UP_HOST, "Lokaliserer vært",
+T_MAKING_CONNECTION, "Forbinder",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "SSL forhandling",
+T_REQUEST_SENT, "Forespørgsel sent",
+T_GETTING_HEADERS, "Henter dokumenthoved",
+T_LOGGING_IN, "Logger på",
+T_SERVER_IS_PROCESSING_REQUEST, "Serveren behandler forespørgsel",
+T_TRANSFERRING, "Overfører",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Venter på bekræftelse på omdirigering",
+T_INTERRUPTED, "Afbrudt",
+T_SOCKET_EXCEPTION, "Sokkelfejl",
+T_INTERNAL_ERROR, "Intern fejl",
+T_OUT_OF_MEMORY, "Hukommelse opbrugt",
+T_HOST_NOT_FOUND, "Værtsmaskinen kan ikke lokaliseres",
+T_ERROR_WRITING_TO_SOCKET, "Fejl ved skrivning til sokkel",
+T_ERROR_READING_FROM_SOCKET, "Fejl ved læsning fra sokkel",
+T_DATA_MODIFIED, "Data ændret",
+T_BAD_URL_SYNTAX, "Fejl i URL-syntaks",
+T_RECEIVE_TIMEOUT, "Ventetid udløbet for overførsel",
+T_REQUEST_MUST_BE_RESTARTED, "Forespørgsel skal genstartes",
+T_CANT_GET_SOCKET_STATE, "Kan ikke aflæse sokkeltilstand",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Fejl i HTTP-svar",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Intet indhold",
+T_UNKNOWN_FILE_TYPE, "Ukendt filtype",
+T_ERROR_OPENING_FILE, "Fejl ved åbning af fil",
+T_BAD_FTP_RESPONSE, "Fejl i FTP-svar",
+T_FTP_SERVICE_UNAVAILABLE, "FTP-tjeneste ikke tilgængelig",
+T_BAD_FTP_LOGIN, "Fejlagtig FTP-indlogning",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT kommando mislykkedes",
+T_FILE_NOT_FOUND, "Filen findes ikke",
+T_FTP_FILE_ERROR, "FTP filfejl",
+T_UNKNOWN_ERROR, "Ukendt fejl",
+T_RECEIVED, "Modtog",
+T_OF, "af",
+T_AVG, "gennemsnitlig",
+T_CUR, "nuværende",
+T_AVERAGE_SPEED, "Gennemsnitlig hastighed",
+T_SPEED, "Hastighed",
+T_CURRENT_SPEED, "nuværende hastighed",
+T_ELAPSED_TIME, "Forløbet tid",
+T_ESTIMATED_TIME, "beregnet tid",
+T_BACKGROUND, "Baggrund",
+T_ABORT, "Afbryd",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Ja",
+T_NO, "Nej",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Overførselsfejl",
+T_COULD_NOT_WRITE_TO_FILE, "Kunne ikke skrive til fil",
+T_ERROR_DOWNLOADING, "Fejl ved overførsel af",
+T_ERROR_LOADING, "Fejl ved indlæsning",
+T_COULD_NOT_CREATE_FILE, "Kunne ikke oprette fil",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Ukendt type",
+T_CONTENT_TYPE_IS, "Indholdstype er",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Ønsker du at åbne, gemme eller vise denne fil?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Ønsker du at åbne eller vise denne fil?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Vil du gemme eller vise filen?",
+T_SAVE, "Gem",
+T_DISPLAY, "Vis",
+T_WHAT_TO_DO, "Hvad skaljeg gøre?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Vil du åbne filen med",
+T_SAVE_IT_OR_DISPLAY_IT, "gemme den, eller vise den?",
+T_OPEN, "Åben",
+T_OPEN_WITH, "Åben med",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Vil du følge omdirigering og sende formulardata til URL",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Vil du sende formulardata til URL",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Vil du sende formulardata til URL igen",
+T_WARNING, "Advarsel",
+T_ERROR, "Fejl",
+T_WELCOME, "Velkommen",
+T_WELCOME_TO_LINKS, "Velkommen til links!",
+T_BASIC_HELP, "Tryk ESC for menu. Vælg Hjælp->Brugervejledning for mere vejledning",
+T_LABEL, "Mærkat",
+T_CONTENT_TYPES, "Indholdstyper",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' erstattes med filnavn)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Bloker terminalen mens programmet kører",
+T_RUN_ON_TERMINAL, "Kør i terminal",
+T_RUN_IN_XWINDOW, "Kør i X-vindue",
+T_ASK_BEFORE_OPENING, "Spørg før der åbnes",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Slet association",
+T_ASSOCIATION, "Association",
+T_EXTENSION_S, "Filendelser",
+T_CONTENT_TYPE, "Indholdstype",
+T_DELETE_EXTENSION, "Slet filendelse",
+T_EXTENSION, "Filendelse",
+T_eXTENSION, "filendelse",
+T_ERROR_WHILE_POSTING_FORM, "Fejl under afsendelse af formular",
+T_COULD_NOT_GET_FILE, "Kunne ikke hente fil",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Ingen tidligere søgning",
+T_SEARCH_STRING_NOT_FOUND, "Søgningen gav intet resultat",
+T_SAVE_ERROR, "Fejl ved skrivning",
+T_ERROR_WRITING_TO_FILE, "Fejl ved skrivning til fil",
+T_DISPLAY_USEMAP, "Vis usemap",
+T_FOLLOW_LINK, "Følg lænke",
+T_OPEN_IN_NEW_WINDOW, "Åben i nyt vindue",
+T_DOWNLOAD_LINK, "Hent lænke",
+T_RESET_FORM, "Nulstil formular",
+T_SUBMIT_FORM, "Send formular",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Send formular og åben i nyt vindue",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Send formular og overfør fil",
+T_VIEW_IMAGE, "Vis billede",
+T_DOWNLOAD_IMAGE, "Hent billede",
+T_NO_LINK_SELECTED, "Ingen lænker valgt",
+T_IMAGE, "Billede",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Skærm",
+T_WINDOW, "Vindue",
+T_FULL_SCREEN, "Maximer skærm",
+T_BEOS_TERMINAL, "BeOS-terminal",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Send formular til",
+T_POST_FORM_TO, "Send formular til",
+T_RADIO_BUTTON, "Radioknap",
+T_CHECKBOX, "Afkrysningsboks",
+T_SELECT_FIELD, "Vælg felt",
+T_TEXT_FIELD, "Tekstfelt",
+T_TEXT_AREA, "Tekstområde",
+T_FILE_UPLOAD, "Filoplæsning",
+T_PASSWORD_FIELD, "Adgangskodefelt",
+T_BUTTON, "knap",
+T_NAME, "Navn",
+T_VALUE, "Værdi",
+T_HIT_ENTER_TO, "tryk [Linieskift] for at",
+T_SUBMIT_TO, "send til",
+T_POST_TO, "send til",
+T_INFO, "Info",
+T_HEADER_INFO, "Info om sidehoved",
+T_YOU_ARE_NOWHERE, "Du er ingen steder!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Størrelse",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "ufuldstændig",
+T_CODEPAGE, "tegnopsætning",
+T_ASSUMED, "antaget",
+T_IGNORING_SERVER_SETTING, "Ignorer serverindstilling",
+T_SERVER, "Server",
+T_DATE, "Dato",
+T_LAST_MODIFIED, "Sidst opdateret",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Sprog",
+T_GO_TO_LINK, "Gå til lænke",
+T_ENTER_LINK_NUMBER, "Skriv nummer på lænke",
+T_RESIZE_TERMINAL, "Ændre terminalstørrelse",
+T_COLUMNS, "Søjler",
+T_ROWS, "Rækker",
+T_GOTO, "Gå til",
+T_CLOSE, "Luk",
+T_FOLDER, "Mappe",
+T_fOLDER, "mappe",
+T_ADD, "Tilføj",
+T_DELETE, "Slet",
+T_EDIT, "Rediger",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "Bogmærke",
+T_BOOKMARK, "bogmærke",
+T_ADD_BOOKMARK, "Tilføj bogmærke",
+T_ADD_ASSOCIATION, "Tilføj association",
+T_ADD_EXTENSION, "Tilføj filendelse",
+T_ADD_FOLDER, "Tilføj mappe",
+T_BOOKMARK_TITLE, "Titel på bogmærke",
+T_EDIT_BOOKMARK, "Rediger bogmærke",
+T_EDIT_ASSOCIATION, "Ændre bogmærke",
+T_EDIT_EXTENSION, "Ændre filendelse",
+T_DELETE_BOOKMARK, "Slet bokmærke",
+T_EDIT_FOLDER, "Ændre mappe",
+T_DELETE_FOLDER, "Slet mappe",
+T_NOT_EMPTY_SURE_DELETE, "er ikke tom. Er du sikker på at den skal slettes? ",
+T_BOOKMARK_MANAGER, "Bogmærkehåndtering",
+T_ASSOCIATIONS_MANAGER, "Associationshåndtering",
+T_EXTENSIONS_MANAGER, "Filendelseshåndtering",
+T_url, "url",
+T_NNAME, "Navn",
+T_EXIT_LINKS, "Afslut links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Vil du virkelig afslutte links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Vil du virkelig afslutte links og afbryde alle filoverførsler?",
+T_HTTP_OPTIONS, "HTTP-indstillinger",
+T_FTP_OPTIONS, "FTP-indstillinger",
+T_HTTP_BUG_WORKAROUNDS, "Korrigering af HTTP-fejl",
+T_USE_HTTP_10, "Anvend HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Tillad frasortering af fejlbehæftede servere",
+T_BROKEN_302_REDIRECT, "Fejl ved omdirigering 302 (overtræder RFC, men er kompatibel med Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Afbryd forbindelsen efter POST-forespørgsler (nødvendig for visse fejlbehæftede PHP-databaser)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "Ingen henviser",
+T_REFERER_SAME_URL, "Send forespurgte URL som henviser",
+T_REFERER_FAKE, "Fast henviser",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "Send rigtige henviser (normal procedure, USIKKER!!!)",
+T_FAKE_REFERER, "Falsk HTTP henviser",
+T_FAKE_USERAGENT, "Falsk brugeragent",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Adgangskode for anonym indlogning",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Brugervejledning",
+T_HOMEPAGE, "Hjemmeside",
+T_CALIBRATION, "Kalibrering",
+T_MAILTO_PROG, "Epostprogram (% erstattes med adresse)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Program til fjernlogin (% erstattes med \"vært\" eller \"vært port\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Tn3270-program (% erstattes med \"vært\" eller \"vært port\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Program til epost og fjernlogin",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Intet program",
+T_NO_PROGRAM_SPECIFIED_FOR, "Intet program angivet for",
+T_MAIL, "epost",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Fejl i mailto URL",
+T_BAD_TELNET_URL, "Fejl i telnet URL",
+T_BAD_TN3270_URL, "Fejl i tn3270 URL",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "Brugernavn",
+T_PASSWORD, "Adgangskode",
+T_ENTER_USERNAME, "Indtast brugernavn og adgangskode for ",
+T_AT, "på ",
+T_SSL_ERROR, "SSL-fejl",
+T_NO_SSL, "Denne version af Links understøtter ikke SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "Er du sikker på at slette",
+T_BOOKMARKS_ALREADY_IN_USE, "Bogmærker er allerede i brug!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Associationer er allerede i brug!",
+T_EXTENSIONS_ALREADY_IN_USE, "Filendelser er allerede i brug!",
+T_VIDEO_OPTIONS, "Videoindstillinger",
+T_VIDEO_OPTIONS_TEXT, "",
+T_RED_DISPLAY_GAMMA, "Anbefalede Bruger gamma indstilling:\n 1.33 for mørke rum, 1.11 for rum med dæmpet belysning, 1 for almindelig belysning, 0.88 for lyse omgivelser.",
+T_GREEN_DISPLAY_GAMMA, "Grøn gamma visning",
+T_BLUE_DISPLAY_GAMMA, "Blå gamme visning",
+T_USER_GAMMA, "Bruger gamma",
+T_ALERT, "Bemærk",
+T_QUESTION, "Spørgsmål",
+T_KILL_SCRIPT, "Dræb script",
+T_KILL_ALL_SCRIPTS, "Dræb alle scripts",
+T_SCRIPT_KILLED_BY_USER, "Javascript dræbt af bruger.",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Et javascript forsøger at lukke vinduet. Fortsæt ?",
+T_ENTER_STRING, "Indtast tekststreng",
+T_JAVASCRIPT_OPTIONS, "Javascript indstillinger",
+T_ENABLE_JAVASCRIPT, "Tillad javascript",
+T_VERBOSE_JS_ERRORS, "Meddel javascript fejl",
+T_VERBOSE_JS_WARNINGS, "Meddel javascript advarsler",
+T_MISCELANEOUS_OPTIONS, "Diverse indstillinger",
+T_JAVASCRIPT_ERROR, "Javascript fejl",
+T_JAVASCRIPT_WARNING, "Javascript advarsel",
+T_DISMISS, "afvis",
+T_MENU_FONT_SIZE, "Menu fontstørrelse",
+T_USER_FONT_SIZE, "Bruger fontstørrelse",
+T_TURN_OFF_WARNINGS, "Vis ikke advarsler",
+T_BOOKMARKS_ENCODING, "Bogmærketegnsæt",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript forsøger at åbne URL",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript forsøger at åbne et nyt vindue med URL",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript forsøger at åbne en URL fra historik",
+T_TO_URL, "til url",
+T_GOTO_HISTORY, "Gå til URL i historik",
+T_ALLOW, "Tillad",
+T_REJECT, "Forbyd",
+T_ENABLE_ALL_CONVERSIONS, "Tillad alle konverteringer",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Tillad global navneresolution",
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, "Rekursionsdybde",
+T_MENU_BACKGROUND_COLOR, "Baggrundsfarve",
+T_MENU_FOREGROUND_COLOR, "Forgrundsfarve",
+T_SCROLL_BAR_BAR_COLOR, "Rullebjælke farve",
+T_SCROLL_BAR_AREA_COLOR, "Rullebjælkeområdets farve",
+T_SCROLL_BAR_FRAME_COLOR, "Rullebjælkerammens farve",
+T_BOOKMARKS_FILE, "Bogmærkefil",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Indtast farver i RGB hexadecimal notation (RRGGBB).",
+T_JS_MEMORY_LIMIT_KB, "Hukommelse dedikeret til javascript (KiB)",
+T_DITHER_LETTERS, "farvereducer bogstaver",
+T_DITHER_IMAGES, "farvereducer billeder",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "Skaler billeder med (%)",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, "Vis optimering for CRT",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "Vis optimering for LCD (RGB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "Vis optimering for LCD (BGR)",
+T_ASPECT_RATIO, "Aspektratio",
+T_ASPECT_CORRECTION_ON, "Aspekt korrektion slået til",
+T_KEYBOARD_CODEPAGE, "Tastetur tegnsætning",
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "B",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "V",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "F",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "X",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "B",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "F",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "A",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "H",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, "V",
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, "J",
+T_HK_MISCELANEOUS_OPTIONS, "O",
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "A",
+T_HK_KEYS, "K",
+T_HK_COPYING, "C",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, "H",
+T_HK_CALIBRATION, "L",
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/dutch.lng b/intl/dutch.lng
new file mode 100644
index 0000000..5ef2586
--- /dev/null
+++ b/intl/dutch.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "us-ascii",
+T__LANGUAGE, "Dutch",
+T__ACCEPT_LANGUAGE, "nl",
+T_OK, "OK",
+T_CANCEL, "Annuleren",
+T_BAD_NUMBER, "Onjuist nummer",
+T_NUMBER_EXPECTED, "Nummer verwacht in veld",
+T_NUMBER_OUT_OF_RANGE, "Number buiten het bereik",
+T_BAD_STRING, "Onjuiste string",
+T_EMPTY_STRING_NOT_ALLOWED, "Lege string niet toegestaan",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Configuratie fout",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Niet mogelijk om naar het configuratiebestand te schrijven",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "About",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW browser",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Toetsen",
+T_KEYS_DESC, "ESC weergave menu\n^C, q afsluiten\n^P, ^N scroll up, down\n[, ] scroll links, rechts\nup, naar beneden selecteerd link\n-> volg link\n<- ga terug\ng ga naar url\nG ga naar de url gebaseerd op de huidige url\n/ zoeken\n? terug zoeken\nn vindt volgende\nN vindt vorige\n= document info\n| hoofd info\n\\ document code\nd download",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Copieren",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\nDit programma is vrije software; je mag het herdistributeren en/of wijzigen als onder de GNU General Public License, zoals gepubliceerd door the Free Software Foundation; als versie 2 van de licentie, of (naar jouw keuze) elke latere versie.",
+T_RESOURCES, "Resources",
+T_CONNECTIONS, "Verbindingen",
+T_MEMORY_CACHE, "Geheugen cache",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "Invoeren document cache",
+T_DNS_CACHE, NULL,
+T_HANDLES, "afhandelen",
+T_TIMERS, "timers",
+T_WAITING, NULL,
+T_CONNECTING, "verbinden",
+T_tRANSFERRING, "overzetten",
+T_KEEPALIVE, "keepalive",
+T_BYTES, "bytes",
+T_LETTERS, NULL,
+T_FILES, "bestanden",
+T_LOCKED, "geblokkeerd",
+T_LOADING, "aan het laden",
+T_IMAGES, NULL,
+T_DOCUMENTS, "documenten",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "bytes van geheugen gelocaliseerd",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Geheugen info",
+T_NO_HISTORY, "Geen verleden",
+T_NO_DOWNLOADS, "Geen downloads",
+T_NO_FRAMES, "Geen frames",
+T_VT_100_FRAMES, "VT 100 frames",
+T_LINUX_OR_OS2_FRAMES, "Linux of OS/2 frames",
+T_KOI8R_FRAMES, "KOI8-R frames",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Gebruik ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Ristricte frames in cp850/852",
+T_BLOCK_CURSOR, "Blokkeer cursor",
+T_COLOR, "Kleur",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Terminal opties",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)",
+T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Directe toegang (zonder proxy) domeinen (komma gescheiden)",
+T_NETWORK_OPTIONS, "Netwerk opties",
+T_MAX_CONNECTIONS, "Max verbindingen",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Max verbindingen naar één host",
+T_RETRIES, "Opnieuw proberen",
+T_RECEIVE_TIMEOUT_SEC, "Verbinding over tijd (sec)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Over tijd wanneer onherstartbaar",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Async DNS lookup",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Set tijd van gedownloade bestanden",
+T_CACHE_OPTIONS, "Cache opties",
+T_MEMORY_CACHE_SIZE__KB, "Geheugen cache grootte (KiB)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Number van geformatteerde documenten",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "Html opties",
+T_DISPLAY_TABLES, "Tables weergeven",
+T_DISPLAY_FRAMES, "Frames weergeven",
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Geef links naar afbeeldingen weer",
+T_LINK_ORDER_BY_COLUMNS, "Verplaatsen door kolommen in table",
+T_NUMBERED_LINKS, "Links zijn genummerd",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Tekst marge",
+T_DEFAULT_CODEPAGE, "Standaard codepage",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Negeer charset informatie verzonder door server",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Ga naar URL",
+T_GO_BACK, "Ga terug",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Geschiedenis",
+T_RELOAD, "Herladen",
+T_NEW_WINDOW, "Nieuw venster",
+T_SAVE_AS, "Opslaan als",
+T_SAVE_URL_AS, "Sla URL op als",
+T_SAVE_FORMATTED_DOCUMENT, "Opslaan geformatteerd document",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Doden van achtergrond verbindingen",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Leeg maken van alle caches",
+T_RESOURCE_INFO, "Hulpbronnen info",
+T_OS_SHELL, "OS shell",
+T_EXIT, "Afsluiten",
+T_SEARCH, "Zoeken",
+T_SEARCH_BACK, "Zoek terugwaards",
+T_FIND_NEXT, "Vind volgende",
+T_FIND_PREVIOUS, "Vind vorige",
+T_TOGGLE_HTML_PLAIN, "Verwisselen html/plain",
+T_DOCUMENT_INFO, "Document info",
+T_FRAME_AT_FULL_SCREEN, "Frame als volledig scherm",
+T_SAVE_HTML_OPTIONS, "Opslaan html opties",
+T_CHARACTER_SET, "Character set",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "Post and telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Associaties",
+T_FILE_EXTENSIONS, "Bestands extensie",
+T_SAVE_OPTIONS, "Options opslaan",
+T_FILE, "Bestand",
+T_VIEW, "Weergave",
+T_LINK, "Link",
+T_DOWNLOADS, "Downloads",
+T_SETUP, "Configuratie",
+T_HELP, "Help",
+T_ENTER_URL, "Enter URL",
+T_SAVE_URL, "Opslaan URL",
+T_DOWNLOAD, "Download",
+T_SAVE_TO_FILE, "Opslaan naar bestand",
+T_SEARCH_FOR_TEXT, "Zoeken naar tekst",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "In wachtrij",
+T_LOOKING_UP_HOST, "Zoeken naar host",
+T_MAKING_CONNECTION, "Verbinding maken",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "SSL onderhandeling",
+T_REQUEST_SENT, "Verzoek verzonden",
+T_GETTING_HEADERS, "Ontvangen hoofden",
+T_LOGGING_IN, NULL,
+T_SERVER_IS_PROCESSING_REQUEST, "Server verwerkt verzoek",
+T_TRANSFERRING, "Overzetten",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Wachten voor indirecte bevestiging",
+T_INTERRUPTED, "Onderschept",
+T_SOCKET_EXCEPTION, "Socket uitzondering",
+T_INTERNAL_ERROR, "Interne fout",
+T_OUT_OF_MEMORY, "Te weinig geheugen",
+T_HOST_NOT_FOUND, "Host niet gevonden",
+T_ERROR_WRITING_TO_SOCKET, "Schrijven naar socket mislukt",
+T_ERROR_READING_FROM_SOCKET, "Lezen van socket mislukt",
+T_DATA_MODIFIED, "Data gemodificeerd",
+T_BAD_URL_SYNTAX, "BSlechtead URL syntaxis",
+T_RECEIVE_TIMEOUT, "Onvangst buiten tijd",
+T_REQUEST_MUST_BE_RESTARTED, "Verzoek moet opnieuw",
+T_CANT_GET_SOCKET_STATE, "Kan geen socket status krijgen",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Slechte HTTP respons",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Geen content",
+T_UNKNOWN_FILE_TYPE, "Onbekende bestandstype",
+T_ERROR_OPENING_FILE, "Fout bij openen bestand",
+T_BAD_FTP_RESPONSE, "Slechte FTP antwoord",
+T_FTP_SERVICE_UNAVAILABLE, "FTP service niet beschikbaar",
+T_BAD_FTP_LOGIN, "Slechte FTP login",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT commando gefaald",
+T_FILE_NOT_FOUND, "Bestand niet gevonden",
+T_FTP_FILE_ERROR, "FTP bestand fout",
+T_UNKNOWN_ERROR, "Onbekende fout",
+T_RECEIVED, "Ontvangen",
+T_OF, "van",
+T_AVG, "gem",
+T_CUR, "nu",
+T_AVERAGE_SPEED, "Gemiddelde snelheid",
+T_SPEED, "Snelheid",
+T_CURRENT_SPEED, "huidige snelheid",
+T_ELAPSED_TIME, "Verlopen tijd",
+T_ESTIMATED_TIME, "geschatte tijd",
+T_BACKGROUND, "Achtergrond",
+T_ABORT, "Annuleren",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Ja",
+T_NO, "Nee",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Download fout",
+T_COULD_NOT_WRITE_TO_FILE, "Kan bestand niet aanmaken",
+T_ERROR_DOWNLOADING, "Fout met downloaden",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "Kan bestand niet maken",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Onbekend type",
+T_CONTENT_TYPE_IS, "Content type is",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Wil je dit bestand opslaan of weergeven?",
+T_SAVE, "Opslaan",
+T_DISPLAY, "Weergeven",
+T_WHAT_TO_DO, "Wat wil je doen?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Wil je dit bestand openen met",
+T_SAVE_IT_OR_DISPLAY_IT, "wil je het opslaan of weergeven?",
+T_OPEN, "Openen",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Wil je de verwijzing volgen en wil je data verzenden naar de url",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Wil je data verzenden naar de url",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Wil je opnieuw data verzenden naar de url",
+T_WARNING, "Waarschuwing",
+T_ERROR, "Fout",
+T_WELCOME, "Welkom",
+T_WELCOME_TO_LINKS, "Welkom bij links!",
+T_BASIC_HELP, "Druk ESC voor menu. Selecteer Help->Handleiding in menu voor de gebruikershandleiding.",
+T_LABEL, "Label",
+T_CONTENT_TYPES, "Content-Type(s)",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programma ('%' is vervangen met bestandsnaam)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blokkeer terminal wanneer programma bezig is",
+T_RUN_ON_TERMINAL, "Uitvoeren op terminal",
+T_RUN_IN_XWINDOW, "Uitvoeren in X-Window",
+T_ASK_BEFORE_OPENING, "Vraag voor openen",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Verwijder associatie",
+T_ASSOCIATION, "Associatie",
+T_EXTENSION_S, "Extentie(s)",
+T_CONTENT_TYPE, "Content-Type",
+T_DELETE_EXTENSION, "Verwijder extensie",
+T_EXTENSION, "Extensie",
+T_eXTENSION, "extensie",
+T_ERROR_WHILE_POSTING_FORM, "Fout bij versturen furmulier",
+T_COULD_NOT_GET_FILE, "Kan bestand niet krijgen",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Geen vorige zoekactie",
+T_SEARCH_STRING_NOT_FOUND, "Zoekstring niet gevonden",
+T_SAVE_ERROR, "Fout bij opslaan",
+T_ERROR_WRITING_TO_FILE, "Schrijffout bij opslaan",
+T_DISPLAY_USEMAP, "Geef usemap weer",
+T_FOLLOW_LINK, "Volg link",
+T_OPEN_IN_NEW_WINDOW, "Openen in nieuw venster",
+T_DOWNLOAD_LINK, "Download link",
+T_RESET_FORM, "Resetten formulier",
+T_SUBMIT_FORM, "Verzenden formulier",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Verzend furmulier en openen in een nieuw venster",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Verzenden formulier en download",
+T_VIEW_IMAGE, "Bekijk afbeelding",
+T_DOWNLOAD_IMAGE, "Download afbeelding",
+T_NO_LINK_SELECTED, "Geen link geselecteerd",
+T_IMAGE, "Afbeelding",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Scherm",
+T_WINDOW, "Venster",
+T_FULL_SCREEN, "Volledig scherm",
+T_BEOS_TERMINAL, "BeOS terminal",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Aanbieden formulier aan",
+T_POST_FORM_TO, "Verzend formulier naar",
+T_RADIO_BUTTON, "Radio knop",
+T_CHECKBOX, "Kruisvakje",
+T_SELECT_FIELD, "Selecteer veld",
+T_TEXT_FIELD, "Tekstveld",
+T_TEXT_AREA, "Tekstgebied",
+T_FILE_UPLOAD, "Bestand upload",
+T_PASSWORD_FIELD, "Paswoordveld",
+T_BUTTON, NULL,
+T_NAME, "naam",
+T_VALUE, "waarde",
+T_HIT_ENTER_TO, "raak ENTER om",
+T_SUBMIT_TO, "Aanbieden aan",
+T_POST_TO, "Verzenden aan",
+T_INFO, "Info",
+T_HEADER_INFO, "Hoofd info",
+T_YOU_ARE_NOWHERE, "Jij bent in de Efteling!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Grootte",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "incompleet",
+T_CODEPAGE, "Codepage",
+T_ASSUMED, "geveinsd",
+T_IGNORING_SERVER_SETTING, "negeer server instelling",
+T_SERVER, "Server",
+T_DATE, "Datum",
+T_LAST_MODIFIED, "Laatst gewijzigd",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Taal",
+T_GO_TO_LINK, "Ga naar link",
+T_ENTER_LINK_NUMBER, "Voer in link nummer",
+T_RESIZE_TERMINAL, "Verschaal terminal",
+T_COLUMNS, "Kolommen",
+T_ROWS, "Rijen",
+T_GOTO, "Ga naar",
+T_CLOSE, "Sluiten",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "Toevoegen",
+T_DELETE, "Verwijderen",
+T_EDIT, "Bewerken",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "Bladwijzers",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "Voeg bladwijzer toe",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, "Bladwijzer titel",
+T_EDIT_BOOKMARK, "Bewerk bladwijzer",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "Verwijder bladwijzer",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "Bladwijzer beheer",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, "url",
+T_NNAME, "Naam",
+T_EXIT_LINKS, "Afsluiten Links (of rechts...)",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Wil je echt Links verlaten?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Wil je echt Links verlaten (en alle downloads annuleren)?",
+T_HTTP_OPTIONS, "HTTP opties",
+T_FTP_OPTIONS, "FTP opties",
+T_HTTP_BUG_WORKAROUNDS, "HTTP bug workarounds",
+T_USE_HTTP_10, "Gebruik HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Sta een zwarte lijst toe van buggy servers",
+T_BROKEN_302_REDIRECT, "Verbroken verwijzing 302 (het overtreedt RFC, maar is uitwisselbaar met Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Geen levendige verbinding naar versturen verzoek (somige buggy PHP databases hebben dit nodig)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Paswoord voor anonieme aanmelding",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Gebruikershandleiding",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, "Mail programma (% is vervangen met adres)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Telnet programma (% is vervangen met \"host\" of \"host port\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Tn3270 programma (% is vervangen met \"host\" of \"host port\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Mail en telnet programma's",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Geen programma",
+T_NO_PROGRAM_SPECIFIED_FOR, "Geen programma gespecificieerd voor",
+T_MAIL, "mail",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Onjuiste mailto url",
+T_BAD_TELNET_URL, "Onjuiste telnet url",
+T_BAD_TN3270_URL, "Onjuiste tn3270 url",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "Gebruikers ID",
+T_PASSWORD, "Paswoord",
+T_ENTER_USERNAME, "Geef gebruikersnaam voor ",
+T_AT, "van ",
+T_SSL_ERROR, "SSL fout",
+T_NO_SSL, "Deze versie van Links heeft geen SSL/TLS ondersteuning",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "B",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "V",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "F",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "X",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "B",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "F",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "A",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "H",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "A",
+T_HK_KEYS, "K",
+T_HK_COPYING, "C",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/english.lng b/intl/english.lng
new file mode 100644
index 0000000..c4fe929
--- /dev/null
+++ b/intl/english.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "us-ascii",
+T__LANGUAGE, "English",
+T__ACCEPT_LANGUAGE, "en",
+T_OK, "OK",
+T_CANCEL, "Cancel",
+T_BAD_NUMBER, "Bad number",
+T_NUMBER_EXPECTED, "Number expected in field",
+T_NUMBER_OUT_OF_RANGE, "Number out of range",
+T_BAD_STRING, "Bad string",
+T_EMPTY_STRING_NOT_ALLOWED, "Empty string not allowed",
+T_BAD_IP_ADDRESS, "Bad IP address",
+T_INVALID_IP_ADDRESS_SYNTAX, "Invalid IP address syntax",
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, "Unable to use local IP address",
+T_CONFIG_ERROR, "Config error",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Unable to write to config file",
+T_BOOKMARK_ERROR, "Bookmark error",
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, "Unable to write to bookmark file",
+T_ABOUT, "About",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nText and graphics WWW browser",
+T_VERSION, "Version",
+T_VERSION_INFORMATION, "Version information",
+T_LINKS_VERSION, "Links version",
+T_OPERATING_SYSTEM_TYPE, "Operating system type",
+T_OPERATING_SYSTEM_VERSION, "Operating system version",
+T_COMPILER, "Compiler",
+T_COMPILE_TIME, "Compile time",
+T_WORD_SIZE, "Word size",
+T_MEMORY, "Memory",
+T_FILE_SIZE, "file size",
+T_DEBUGGING_LEVEL, "Debugging level",
+T_UTF8_TERMINAL, "UTF-8 terminal",
+T_COMPRESSION_METHODS, "Compression methods",
+T_ENCRYPTION, "Encryption",
+T_GPM_MOUSE_DRIVER, "GPM mouse driver",
+T_XTERM_FOR_OS2, "Xterm for OS/2",
+T_GRAPHICS_MODE, "Graphics mode",
+T_IMAGE_LIBRARIES, "Image libraries",
+T_KEYS, "Keys",
+T_KEYS_DESC, "ESC display menu\n^C, q, Q quit\n^P, ^N scroll up, down\n[, ] scroll left, right\nup, down select link\n-> follow link\n<-, z go back\n', x go forward\nTAB switch frames\ng go to url\nG go to url based on current url\n^G go to url based on current link\n* toggle image displaying\n^W complete URL or search string\n^B,^X,^V,^K copy, cut, paste, cut line to/from clipboard\nAlt-1 .. Alt-9 switch virtual screens (svgalib and fb)",
+T_KEYS_BRAILLE_DESC, "a, w cursor to status line or title\n{, } cursor to start/end of a line\n^Y,^T,y,t,^O go to next/previous link/word/form entry",
+T_COPYING, "Copying",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\nThis 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.",
+T_RESOURCES, "Resources",
+T_CONNECTIONS, "Connections",
+T_MEMORY_CACHE, "Memory cache",
+T_DECOMPRESSED_CACHE, "Decompressed cache",
+T_FONT_CACHE, "Font cache",
+T_IMAGE_CACHE, "Image cache",
+T_FORMATTED_DOCUMENT_CACHE, "Formatted document cache",
+T_DNS_CACHE, "DNS cache",
+T_HANDLES, "handles",
+T_TIMERS, "timers",
+T_WAITING, "waiting",
+T_CONNECTING, "connecting",
+T_tRANSFERRING, "transferring",
+T_KEEPALIVE, "keepalive",
+T_BYTES, "bytes",
+T_LETTERS, "letters",
+T_FILES, "files",
+T_LOCKED, "locked",
+T_LOADING, "loading",
+T_IMAGES, "images",
+T_DOCUMENTS, "documents",
+T_SERVERS, "servers",
+T_MEMORY_ALLOCATED, "bytes of memory allocated",
+T_BLOCKS_ALLOCATED, "blocks",
+T_MEMORY_REQUESTED, "bytes requested from system",
+T_BLOCKS_REQUESTED, "blocks",
+T_JS_MEMORY_ALLOCATED, "bytes of javascript memory allocated",
+T_MEMORY_INFO, "Memory info",
+T_NO_HISTORY, "No history",
+T_NO_DOWNLOADS, "No downloads",
+T_NO_FRAMES, "No frames",
+T_VT_100_FRAMES, "VT 100 frames",
+T_LINUX_OR_OS2_FRAMES, "Linux or OS/2 frames",
+T_KOI8R_FRAMES, "KOI8-R frames",
+T_FREEBSD_FRAMES, "FreeBSD frames",
+T_USE_11M, "Use ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Restrict frames in cp850/852",
+T_BLOCK_CURSOR, "Block cursor",
+T_COLOR, "Color",
+T_BRAILLE_TERMINAL, "Braille terminal",
+T_TERMINAL_OPTIONS, "Terminal options",
+T_PROXIES, "Proxies",
+T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)",
+T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, "Socks4A proxy (user@host:port)",
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, "Append text to hostname (for specifying tor exit node)",
+T_ONLY_PROXIES, "Connect only via proxies or Socks (useful for tor)",
+T_NOPROXY_LIST, "Direct access (w/o proxy) domains (comma separated)",
+T_NETWORK_OPTIONS, "Network options",
+T_MAX_CONNECTIONS, "Max connections",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Max connections to one host",
+T_RETRIES, "Retries (0 - unlimited)",
+T_RECEIVE_TIMEOUT_SEC, "Receive timeout (sec)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout when unrestartable",
+T_BIND_TO_LOCAL_IP_ADDRESS, "Bind to local IP address",
+T_ASYNC_DNS_LOOKUP, "Async DNS lookup",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Set time of downloaded files",
+T_CACHE_OPTIONS, "Cache options",
+T_MEMORY_CACHE_SIZE__KB, "Memory cache size (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Image cache size (KiB)",
+T_FONT_CACHE_SIZE__KB, "Font cache size (KiB)",
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Number of formatted documents",
+T_AGGRESSIVE_CACHE, "Aggressive cache",
+T_HTML_OPTIONS, "Html options",
+T_DISPLAY_TABLES, "Display tables",
+T_DISPLAY_FRAMES, "Display frames",
+T_DISPLAY_IMAGES, "Display images",
+T_DISPLAY_IMAGE_FILENAMES, "Display image filenames",
+T_DISPLAY_LINKS_TO_IMAGES, "Display links to images",
+T_LINK_ORDER_BY_COLUMNS, "Move by columns in table",
+T_NUMBERED_LINKS, "Links are numbered",
+T_AUTO_REFRESH, "Auto refresh",
+T_TARGET_IN_NEW_WINDOW, "Allow opening links in new window (target=\"_blank\")",
+T_TEXT_MARGIN, "Text margin",
+T_DEFAULT_CODEPAGE, "Default codepage",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignore charset info sent by server",
+T_TEXT_COLOR, "Text",
+T_LINK_COLOR, "Link",
+T_BACKGROUND_COLOR, "Background",
+T_IGNORE_DOCUMENT_COLOR, "Ignore document color",
+T_COLOR_0, "Black",
+T_COLOR_1, "Red",
+T_COLOR_2, "Green",
+T_COLOR_3, "Yellow",
+T_COLOR_4, "Dark blue",
+T_COLOR_5, "Magenta",
+T_COLOR_6, "Cyan",
+T_COLOR_7, "White",
+T_COLOR_8, "Dark grey",
+T_COLOR_9, "Bright red",
+T_COLOR_10, "Bright green",
+T_COLOR_11, "Bright yellow",
+T_COLOR_12, "Bright blue",
+T_COLOR_13, "Bright magenta",
+T_COLOR_14, "Bright cyan",
+T_COLOR_15, "Bright white",
+T_GOTO_URL, "Go to URL",
+T_GO_BACK, "Go back",
+T_GO_FORWARD, "Go forward",
+T_HISTORY, "History",
+T_RELOAD, "Reload",
+T_NEW_WINDOW, "New window",
+T_SAVE_AS, "Save as",
+T_SAVE_URL_AS, "Save URL as",
+T_SAVE_FORMATTED_DOCUMENT, "Save formatted document",
+T_COPY_URL_LOCATION, "Copy current URL location",
+T_KILL_BACKGROUND_CONNECTIONS, "Kill background connections",
+T_KILL_ALL_CONNECTIONS, "Kill all connections",
+T_FLUSH_ALL_CACHES, "Flush all caches",
+T_RESOURCE_INFO, "Resource info",
+T_OS_SHELL, "OS shell",
+T_EXIT, "Exit",
+T_SEARCH, "Search",
+T_SEARCH_BACK, "Search backward",
+T_FIND_NEXT, "Find next",
+T_FIND_PREVIOUS, "Find previous",
+T_TOGGLE_HTML_PLAIN, "Toggle html/plain",
+T_DOCUMENT_INFO, "Document info",
+T_FRAME_AT_FULL_SCREEN, "Frame at full-screen",
+T_SAVE_HTML_OPTIONS, "Save html options",
+T_CHARACTER_SET, "Character set",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "Mail and telnet",
+T_MAIL_TELNET_AND_SHELL, "Mail, telnet and shell",
+T_ASSOCIATIONS, "Associations",
+T_FILE_EXTENSIONS, "File extensions",
+T_SAVE_OPTIONS, "Save options",
+T_FILE, "File",
+T_VIEW, "View",
+T_LINK, "Link",
+T_DOWNLOADS, "Downloads",
+T_SETUP, "Setup",
+T_HELP, "Help",
+T_ENTER_URL, "Enter URL",
+T_SAVE_URL, "Save URL",
+T_DOWNLOAD, "Download",
+T_SAVE_TO_FILE, "Save to file",
+T_SEARCH_FOR_TEXT, "Search for text",
+T_PAGE_P, "(p",
+T_PAGE_OF, " of ",
+T_PAGE_CL, ")",
+T_WAITING_IN_QUEUE, "Waiting in queue",
+T_LOOKING_UP_HOST, "Looking up host",
+T_MAKING_CONNECTION, "Making connection",
+T_SOCKS_NEGOTIATION, "Making Socks connection",
+T_SSL_NEGOTIATION, "SSL negotiation",
+T_REQUEST_SENT, "Request sent",
+T_GETTING_HEADERS, "Getting headers",
+T_LOGGING_IN, "Logging in",
+T_SERVER_IS_PROCESSING_REQUEST, "Server is processing request",
+T_TRANSFERRING, "Transferring",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Waiting for redirect confirmation",
+T_INTERRUPTED, "Interrupted",
+T_SOCKET_EXCEPTION, "Socket exception",
+T_INTERNAL_ERROR, "Internal error",
+T_OUT_OF_MEMORY, "Out of memory",
+T_HOST_NOT_FOUND, "Host not found",
+T_ERROR_WRITING_TO_SOCKET, "Error writing to socket",
+T_ERROR_READING_FROM_SOCKET, "Error reading from socket",
+T_DATA_MODIFIED, "Data modified",
+T_BAD_URL_SYNTAX, "Bad URL syntax",
+T_RECEIVE_TIMEOUT, "Receive timeout",
+T_REQUEST_MUST_BE_RESTARTED, "Request must be restarted",
+T_CANT_GET_SOCKET_STATE, "Can't get socket state",
+T_CYCLIC_REDIRECT, "Cyclic redirect",
+T_TOO_LARGE_FILE, "Too large file",
+T_BLOCKED_URL, "This URL is in your blocklist",
+T_NO_PROXY, "No proxy for this connection and connections without proxies are disabled",
+T_BAD_HTTP_RESPONSE, "Bad HTTP response",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "No content",
+T_UNKNOWN_FILE_TYPE, "Unknown file type",
+T_ERROR_OPENING_FILE, "Error opening file",
+T_BAD_FTP_RESPONSE, "Bad FTP response",
+T_FTP_SERVICE_UNAVAILABLE, "FTP service unavailable",
+T_BAD_FTP_LOGIN, "Bad FTP login",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT command failed",
+T_FILE_NOT_FOUND, "File not found",
+T_FTP_FILE_ERROR, "FTP file error",
+T_UNKNOWN_ERROR, "Unknown error",
+T_RECEIVED, "Received",
+T_OF, "of",
+T_AVG, "avg",
+T_CUR, "cur",
+T_AVERAGE_SPEED, "Average speed",
+T_SPEED, "Speed",
+T_CURRENT_SPEED, "current speed",
+T_ELAPSED_TIME, "Elapsed time",
+T_ESTIMATED_TIME, "estimated time",
+T_BACKGROUND, "Background",
+T_ABORT, "Abort",
+T_ABORT_AND_DELETE_FILE, "Abort and delete file",
+T_YES, "Yes",
+T_NO, "No",
+T_DIRECTORY, "Directory",
+T_FILE_ALREADY_EXISTS, "File already exists",
+T_ALREADY_EXISTS_AS_DOWNLOAD, "already exists as an active download.",
+T_ALREADY_EXISTS, "already exists.",
+T_DO_YOU_WISH_TO_CONTINUE, "Do you wish to continue download or overwrite file?",
+T_DO_YOU_WISH_TO_OVERWRITE, "Do you wish to overwrite it?",
+T_CONTINUE, "Continue",
+T_OVERWRITE, "Overwrite",
+T_RENAME, "Rename",
+T_DOWNLOAD_ERROR, "Download error",
+T_COULD_NOT_WRITE_TO_FILE, "Could not create file",
+T_ERROR_DOWNLOADING, "Error downloading",
+T_ERROR_LOADING, "Error loading",
+T_COULD_NOT_CREATE_FILE, "Could not create file",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, "Could not create temporary file",
+T_ERROR_CALLING_LSEEK_ON_FILE, "Error calling lseek on file",
+T_TOO_LARGE_FILE_SEQUENCE, "Too large file sequence",
+T_UNKNOWN_TYPE, "Unknown type",
+T_CONTENT_TYPE_IS, "Content type is",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Do you want to open, save or display this file?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Do you want to open or display this file?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Do you want to save or display this file?",
+T_SAVE, "Save",
+T_DISPLAY, "Display",
+T_WHAT_TO_DO, "What to do?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Do you want to open file with",
+T_SAVE_IT_OR_DISPLAY_IT, "save it or display it?",
+T_OPEN, "Open",
+T_OPEN_WITH, "Open with",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Do you want to follow redirect and post form data to url",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Do you want to post form data to url",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Do you want to repost form data to url",
+T_WARNING, "Warning",
+T_ERROR, "Error",
+T_WELCOME, "Welcome",
+T_WELCOME_TO_LINKS, "Welcome to links!",
+T_BASIC_HELP, "To display menu, press ESC or click on the top line in window. Select Help->Manual in menu for user's manual.",
+T_LABEL, "Label",
+T_CONTENT_TYPES, "Content-Type(s) (comma-separated)",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' is replaced with file name)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Block terminal while program running",
+T_RUN_ON_TERMINAL, "Run on terminal",
+T_RUN_IN_XWINDOW, "Run in X-Window",
+T_ASK_BEFORE_OPENING, "Ask before opening",
+T_ACCEPT_HTTP, "Accepts HTTP URLs",
+T_ACCEPT_FTP, "Accepts FTP URLs",
+T_DELETE_ASSOCIATION, "Delete association",
+T_ASSOCIATION, "association",
+T_EXTENSION_S, "Extension(s) (comma-separated)",
+T_CONTENT_TYPE, "Content-Type",
+T_DELETE_EXTENSION, "Delete extension",
+T_EXTENSION, "Extension",
+T_eXTENSION, "extension",
+T_ERROR_WHILE_POSTING_FORM, "Error while posting form",
+T_COULD_NOT_GET_FILE, "Could not get file",
+T_READING_FILES_IS_NOT_ALLOWED, "Reading files is not allowed",
+T_NO_PREVIOUS_SEARCH, "No previous search",
+T_SEARCH_STRING_NOT_FOUND, "Search string not found",
+T_SAVE_ERROR, "Save error",
+T_ERROR_WRITING_TO_FILE, "Error writing to file",
+T_DISPLAY_USEMAP, "Display usemap",
+T_FOLLOW_LINK, "Follow link",
+T_OPEN_IN_NEW_WINDOW, "Open in new window",
+T_DOWNLOAD_LINK, "Download link",
+T_RESET_FORM, "Reset form",
+T_SUBMIT_FORM, "Submit form",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Submit form and open in new window",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Submit form and download",
+T_VIEW_IMAGE, "View image",
+T_DOWNLOAD_IMAGE, "Download image",
+T_NO_LINK_SELECTED, "No link selected",
+T_IMAGE, "Image",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Screen",
+T_WINDOW, "Window",
+T_FULL_SCREEN, "Full screen",
+T_BEOS_TERMINAL, "BeOS terminal",
+T_UNABLE_TO_OPEN_NEW_WINDOW, "Unable to open new window",
+T_JAVASCRIPT, "Javascript",
+T_SUBMIT_FORM_TO, "Submit form to",
+T_POST_FORM_TO, "Post form to",
+T_RADIO_BUTTON, "Radio button",
+T_CHECKBOX, "Checkbox",
+T_SELECT_FIELD, "Select field",
+T_TEXT_FIELD, "Text field",
+T_TEXT_AREA, "Text area",
+T_FILE_UPLOAD, "File upload",
+T_PASSWORD_FIELD, "Password field",
+T_BUTTON, "Button",
+T_NAME, "name",
+T_VALUE, "value",
+T_HIT_ENTER_TO, "hit ENTER to",
+T_SUBMIT_TO, "submit to",
+T_POST_TO, "post to",
+T_INFO, "Info",
+T_HEADER_INFO, "Header info",
+T_YOU_ARE_NOWHERE, "No page is displayed",
+T_NO_HEADER, "The document doesn't have a header",
+T_URL, "URL",
+T_SIZE, "Size",
+T_COMPRESSED_WITH, "compressed with",
+T_INCOMPLETE, "incomplete",
+T_CODEPAGE, "Codepage",
+T_ASSUMED, "assumed",
+T_IGNORING_SERVER_SETTING, "ignoring server setting",
+T_SERVER, "Server",
+T_DATE, "Date",
+T_LAST_MODIFIED, "Last modified",
+T_SSL_CIPHER, "SSL cipher",
+T_LANGUAGE, "Language",
+T_GO_TO_LINK, "Go to link",
+T_ENTER_LINK_NUMBER, "Enter link number",
+T_RESIZE_TERMINAL, "Resize terminal",
+T_COLUMNS, "Columns",
+T_ROWS, "Rows",
+T_GOTO, "Goto",
+T_CLOSE, "Close",
+T_FOLDER, "Folder",
+T_fOLDER, "folder",
+T_ADD, "Add",
+T_DELETE, "Delete",
+T_EDIT, "Edit",
+T_MOVE, "Move",
+T_NO_ITEMS_SELECTED, "No items selected. Nothing to move.",
+T_UNSELECT_ALL, "Unselect all",
+T_BOOKMARKS, "Bookmarks",
+T_BOOKMARK, "bookmark",
+T_ADD_BOOKMARK, "Add bookmark",
+T_ADD_ASSOCIATION, "Add association",
+T_ADD_EXTENSION, "Add extension",
+T_ADD_FOLDER, "Add folder",
+T_BOOKMARK_TITLE, "Bookmark title",
+T_EDIT_BOOKMARK, "Edit bookmark",
+T_EDIT_ASSOCIATION, "Edit association",
+T_EDIT_EXTENSION, "Edit extension",
+T_DELETE_BOOKMARK, "Delete bookmark",
+T_EDIT_FOLDER, "Edit folder",
+T_DELETE_FOLDER, "Delete folder",
+T_NOT_EMPTY_SURE_DELETE, "is not empty. Do you really want to delete it?",
+T_BOOKMARK_MANAGER, "Bookmark manager",
+T_ASSOCIATIONS_MANAGER, "Associations manager",
+T_EXTENSIONS_MANAGER, "Extensions manager",
+T_url, "url",
+T_NNAME, "Name",
+T_EXIT_LINKS, "Exit Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "Do you really want to close window?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Do you really want to exit Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Do you really want to exit Links (and terminate all downloads)?",
+T_HTTP_OPTIONS, "HTTP options",
+T_FTP_OPTIONS, "FTP options",
+T_HTTP_BUG_WORKAROUNDS, "HTTP bug workarounds",
+T_USE_HTTP_10, "Use HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Allow blacklist of buggy servers",
+T_BROKEN_302_REDIRECT, "Broken redirect 302 (it violates RFC, but it's compatible with Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "No keepalive connection after POST request (some buggy PHP databases need it)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, "Do not send Accept-Charset",
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, "Do not advertise compression support",
+T_RETRY_ON_INTERNAL_ERRORS, "Retry on internal server errors (50x)",
+T_HEADER_OPTIONS, "Header options",
+T_HTTP_HEADER_OPTIONS, "HTTP header options",
+T_REFERER_NONE, "No referer",
+T_REFERER_SAME_URL, "Send requested URL as referer",
+T_REFERER_FAKE, "Fixed referer",
+T_REFERER_REAL_SAME_SERVER, "Send real referer only to the same server",
+T_REFERER_REAL, "Send real referer (normal operation, INSECURE!!!)",
+T_FAKE_REFERER, "Fixed HTTP Referer",
+T_FAKE_USERAGENT, "Fake User-Agent",
+T_EXTRA_HEADER, "Extra header string ('\\' means newline)",
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Password for anonymous login",
+T_USE_PASSIVE_FTP, "Use passive FTP",
+T_USE_FAST_FTP, "Use fast (but RFC-incompatible) FTP",
+T_SET_TYPE_OF_SERVICE, "Set IP Type Of Service",
+T_MANUAL, "User's manual",
+T_HOMEPAGE, "Home page",
+T_CALIBRATION, "Calibration",
+T_MAILTO_PROG, "Mail program (% is replaced with address)",
+T_SHELL_PROG, "Shell for executing external commands (% is replaced with command)",
+T_TELNET_PROG, "Telnet program (% is replaced with \"host\" or \"host port\")",
+T_MAGNET_PROG, "Magnet program (% is replaced with URL)",
+T_TN3270_PROG, "Tn3270 program (% is replaced with \"host\" or \"host port\")",
+T_MMS_PROG, "MMS program (% is replaced with URL)",
+T_MAIL_AND_TELNET_PROGRAMS, "Mail and telnet programs",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Mail, telnet and shell programs",
+T_NO_PROGRAM, "No program",
+T_NO_PROGRAM_SPECIFIED_FOR, "No program specified for",
+T_MAIL, "mail",
+T_TELNET, "telnet",
+T_MAGNET, "magnet",
+T_TN3270, "tn3270",
+T_MMS, "mms",
+T_BAD_MAILTO_URL, "Bad mailto url",
+T_BAD_TELNET_URL, "Bad telnet url",
+T_BAD_TN3270_URL, "Bad tn3270 url",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "MMS url contains inacceptable characters",
+T_AUTHORIZATION_REQUIRED, "Authorization required",
+T_PROXY_AUTHORIZATION_REQUIRED, "Proxy authorization required",
+T_USERID, "User ID",
+T_PASSWORD, "Password",
+T_ENTER_USERNAME, "Enter username for ",
+T_AT, "at ",
+T_SSL_ERROR, "SSL error",
+T_NO_SSL, "This version of Links does not contain SSL/TLS support",
+T_SOCKS_REJECTED_OR_FAILED, "Socks connection rejected or failed",
+T_BAD_SOCKS_VERSION, "Bad Socks version (4a is required)",
+T_SOCKS_NO_IDENTD, "Socks proxy can't connect to identd server",
+T_SOCKS_BAD_USERID, "Bad Socks userid",
+T_SOCKS_UNKNOWN_ERROR, "Unknown Socks error",
+T_NO_SMB_CLIENT, "No smb client program installed (supported is smbclient or smbc)",
+T_DECOMPRESSION_ERROR, "Decompression error",
+T_ERROR_DECOMPRESSING_, "Error decompressing ",
+T__wITH_, " with ",
+T_COMPRESSED_ERROR, "Error in compressed data",
+T_UNKNOWN_COMPRESSION_METHOD, "Unknown compression method",
+T_SURE_DELETE, "Are you sure to delete",
+T_BOOKMARKS_ALREADY_IN_USE, "Bookmarks are already in use!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Associations are already in use!",
+T_EXTENSIONS_ALREADY_IN_USE, "Extensions are already in use!",
+T_VIDEO_OPTIONS, "Video options",
+T_VIDEO_OPTIONS_TEXT, "Recommended User gamma setting:\n 1.33 for dark room, 1.11 for very dim room, 1 for usual computer workspace lighting, 0.88 for bright environment lighting.",
+T_RED_DISPLAY_GAMMA, "Red display gamma",
+T_GREEN_DISPLAY_GAMMA, "Green display gamma",
+T_BLUE_DISPLAY_GAMMA, "Blue display gamma",
+T_USER_GAMMA, "User gamma",
+T_ALERT, "Alert",
+T_QUESTION, "Question",
+T_KILL_SCRIPT, "Kill script",
+T_KILL_ALL_SCRIPTS, "Kill all scripts",
+T_SCRIPT_KILLED_BY_USER, "Javascript killed by user.",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript is trying to close the browser window. Do you really want to close the window?",
+T_ENTER_STRING, "Enter string",
+T_JAVASCRIPT_OPTIONS, "Javascript options",
+T_ENABLE_JAVASCRIPT, "Enable javascript",
+T_VERBOSE_JS_ERRORS, "Verbose javascript errors",
+T_VERBOSE_JS_WARNINGS, "Verbose javascript warnings",
+T_MISCELANEOUS_OPTIONS, "Miscellaneous options",
+T_JAVASCRIPT_ERROR, "Javascript error",
+T_JAVASCRIPT_WARNING, "Javascript warning",
+T_DISMISS, "Dismiss",
+T_MENU_FONT_SIZE, "Menu font size",
+T_USER_FONT_SIZE, "User font size",
+T_TURN_OFF_WARNINGS, "Turn off warnings",
+T_BOOKMARKS_ENCODING, "Bookmarks encoding",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript is attempting to go to URL",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript is attempting open a new window with URL",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript is attempting to go into history",
+T_TO_URL, "to url",
+T_GOTO_HISTORY, "Goto history",
+T_ALLOW, "Allow",
+T_REJECT, "Reject",
+T_ENABLE_ALL_CONVERSIONS, "Enable all conversions",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Enable global name resolution",
+T_MANUAL_JS_CONTROL, "Manual javascript operations confirmation",
+T_JS_RECURSION_DEPTH, "Recursion depth",
+T_MENU_BACKGROUND_COLOR, "Background color",
+T_MENU_FOREGROUND_COLOR, "Foreground color",
+T_SCROLL_BAR_BAR_COLOR, "Scroll-bar bar color",
+T_SCROLL_BAR_AREA_COLOR, "Scroll-bar area color",
+T_SCROLL_BAR_FRAME_COLOR, "Scroll-bar frame color",
+T_BOOKMARKS_FILE, "Bookmarks file",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Enter colors as sRGB hexadecimal RRGGBB triplets.",
+T_JS_MEMORY_LIMIT_KB, "Memory dedicated to javascript (KiB)",
+T_DITHER_LETTERS, "Dither letters",
+T_DITHER_IMAGES, "Dither images",
+T_8_BIT_GAMMA_CORRECTION, "8-bit gamma correction",
+T_16_BIT_GAMMA_CORRECTION, "16-bit gamma correction",
+T_AUTO_GAMMA_CORRECTION, "Auto gamma correction (according to FPU speed)",
+T_SCALE_ALL_IMAGES_BY, "Scale all images by (%)",
+T_PORN_ENABLE, "Autoscale single images",
+T_DISPLAY_OPTIMIZATION_CRT,"Display optimization for CRT",
+T_DISPLAY_OPTIMIZATION_LCD_RGB,"Display optimization for LCD (RGB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR,"Display optimization for LCD (BGR)",
+T_ASPECT_RATIO, "Aspect ratio",
+T_ASPECT_CORRECTION_ON, "Aspect correction on",
+T_KEYBOARD_CODEPAGE, "Keyboard codepage",
+T_COPY_LINK_LOCATION, "Copy link location",
+T_BLOCK_URL, "Block image",
+T_BLOCK_LIST, "Blocked images",
+T_BLOCKED_IMAGE, "Blocked images",
+T_BLOCK_LIST_IN_USE, "Blocked images is already open",
+T_BLOCK_LIST_MANAGER, "Image blocking manager",
+T_BLOCK_ADD, "Add Image URL to block",
+T_BLOCK_EDIT, "Edit Image URL",
+T_BLOCK_DELETE, "Remove",
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "B",
+T_HK_GO_FORWARD, "F",
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "V",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, "C",
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, "T",
+T_HK_FLUSH_ALL_CACHES, "C",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "X",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "B",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, "E",
+T_HK_FRAME_AT_FULL_SCREEN, "F",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, "C",
+T_HK_SAVE_HTML_OPTIONS, "A",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "H",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, "V",
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, "J",
+T_HK_MISCELANEOUS_OPTIONS, "O",
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, "B",
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "A",
+T_HK_KEYS, "K",
+T_HK_COPYING, "C",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, "H",
+T_HK_CALIBRATION, "L",
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, "C",
+T_HK_BLOCK_URL, "B",
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/estonian.lng b/intl/estonian.lng
new file mode 100644
index 0000000..8fb8ee3
--- /dev/null
+++ b/intl/estonian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-15",
+T__LANGUAGE, "Estonian",
+T__ACCEPT_LANGUAGE, "et",
+T_OK, "OK",
+T_CANCEL, "Tühista",
+T_BAD_NUMBER, "Vale number",
+T_NUMBER_EXPECTED, "Eeldame välja sees numbrit",
+T_NUMBER_OUT_OF_RANGE, "Number väärtusepiirkonnast väljas",
+T_BAD_STRING, "Ebasobiv string",
+T_EMPTY_STRING_NOT_ALLOWED, "Tühi string pole lubatud",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Konfiguratsiooni viga",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Ei saa kirjutada konfiguratsioonifaili",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Programmi kohta",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW brauser",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Klahvid",
+T_KEYS_DESC, "ESC Näitab menüüd\n^C, q väljub\n^P, ^N kerib üles, alla\n[, ] kerib vasakule, paremale\nup, down valib lingi\n-> järgib linki\n<- läheb tagasi\ng läheb URL-le\nG läheb URL-le, mis baseerub käesolaval URL-l\n/ otsing\n? otsing tagurpidi\nn otsib järgmise vaste\nN otsib eelneva vaste\n= dokumendi informatsioon\n| päise informatsioon\n\\ dokumendi lähtekood\nd faili/dokumendi allalaadimine",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Kopeerimisõigused",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nTõlge eesti keelde Kalev Lember\n\nSee programm on vaba tarkvara; te võite seda levitada ja/või muuta, järgides dokumenti GNU General Public License, mille on avaldanud Free Software Foundation; kas versiooni 2 Litsensist, või (teie valikul) suvalist hilisemat versiooni.",
+T_RESOURCES, "Ressursid",
+T_CONNECTIONS, "Ühendused",
+T_MEMORY_CACHE, "Mälupuhver",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Fontide puhver",
+T_IMAGE_CACHE, "Piltide puhver",
+T_FORMATTED_DOCUMENT_CACHE, "Vormindatud lehekülgede puhver",
+T_DNS_CACHE, NULL,
+T_HANDLES, NULL,
+T_TIMERS, NULL,
+T_WAITING, NULL,
+T_CONNECTING, "parajasti ühendan",
+T_tRANSFERRING, "kannan üle",
+T_KEEPALIVE, NULL,
+T_BYTES, "baiti",
+T_LETTERS, "tähemärki",
+T_FILES, "faili",
+T_LOCKED, "lukustatud",
+T_LOADING, "parajasti laen",
+T_IMAGES, "pilti",
+T_DOCUMENTS, "dokumenti",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "baiti mälust kasutatud",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Info kasutatud mälu kohta",
+T_NO_HISTORY, "Ajalugu puudub",
+T_NO_DOWNLOADS, "Pole allalaadimisi",
+T_NO_FRAMES, "Pole paane",
+T_VT_100_FRAMES, "VT 100 paanid",
+T_LINUX_OR_OS2_FRAMES, "Linux-i või OS/2 paanid",
+T_KOI8R_FRAMES, "KOI8-R paanid",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Kasuta ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "cp850/852 paanide ära keelamine",
+T_BLOCK_CURSOR, "Plokk kursor",
+T_COLOR, "Värviline",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Terminali seaded",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)",
+T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Otsese juurdepääsuga (ilma vahemäluta) domeenid (eraldatud komadega)",
+T_NETWORK_OPTIONS, "Võrgu seaded",
+T_MAX_CONNECTIONS, "Maksimaalselt ühendusi",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Maksimaalselt ühendusi ühele hostile",
+T_RETRIES, "Uusi katseid (0 - piiramatult)",
+T_RECEIVE_TIMEOUT_SEC, "Vastuvõtmise ooteaeg (sek)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, NULL,
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Asünkroonne DNS otsing",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Märgi allalaaditud failidele aeg",
+T_CACHE_OPTIONS, "Mälupuhvri seaded",
+T_MEMORY_CACHE_SIZE__KB, "Mälupuhvri suurus (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Piltide puhvri suurus (KiB)",
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Valmisvormindatud lehekülgi",
+T_AGGRESSIVE_CACHE, "Agressiivne puhverdamine",
+T_HTML_OPTIONS, "HTML seaded",
+T_DISPLAY_TABLES, "Näita tabeleid",
+T_DISPLAY_FRAMES, "Näita paane",
+T_DISPLAY_IMAGES, "Näita pilte",
+T_DISPLAY_IMAGE_FILENAMES, "Näita piltide failinimesid",
+T_DISPLAY_LINKS_TO_IMAGES, "Näita linke piltidele",
+T_LINK_ORDER_BY_COLUMNS, "Linkide järjekord veergudes",
+T_NUMBERED_LINKS, "Lingid nummerdatuna",
+T_AUTO_REFRESH, "Automaatne värskendus",
+T_TARGET_IN_NEW_WINDOW, "Luba linkidel avaneda uues aknas (target=\"_blank\")",
+T_TEXT_MARGIN, "Teksti ääris",
+T_DEFAULT_CODEPAGE, "Vaikimisi koodilehekülg",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignoreeri serveri saadetud koodilehekülje infot",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Ava URL",
+T_GO_BACK, "Tagasi",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Ajalugu",
+T_RELOAD, "Lae uuesti",
+T_NEW_WINDOW, "Uus aken",
+T_SAVE_AS, "Salvesta",
+T_SAVE_URL_AS, "Salvesta URL",
+T_SAVE_FORMATTED_DOCUMENT, "Salvesta vormindatud lehekülg",
+T_COPY_URL_LOCATION, "Kopeeri URL asukoht",
+T_KILL_BACKGROUND_CONNECTIONS, "Katkesta taustaühendused",
+T_KILL_ALL_CONNECTIONS, "Katkesta kõik ühendused",
+T_FLUSH_ALL_CACHES, "Tühjenda mälupuhver",
+T_RESOURCE_INFO, "Info kasutatud ressurssidest",
+T_OS_SHELL, "Opsüsteemi käsurida",
+T_EXIT, "Väljumine",
+T_SEARCH, "Otsing",
+T_SEARCH_BACK, "Tagurpidi otsing",
+T_FIND_NEXT, "Leia järgmine vaste",
+T_FIND_PREVIOUS, "Leia eelmine vaste",
+T_TOGGLE_HTML_PLAIN, "Vaata html lähtekoodi",
+T_DOCUMENT_INFO, "Lehekülje info",
+T_FRAME_AT_FULL_SCREEN, "Paan täisekraanil",
+T_SAVE_HTML_OPTIONS, "Salvesta HTML seaded",
+T_CHARACTER_SET, "Kooditabel",
+T_CACHE, "Mälupuhver",
+T_MAIL_AND_TELNEL, "Mail ja telnet",
+T_MAIL_TELNET_AND_SHELL, "Mail, telnet ja shell",
+T_ASSOCIATIONS, "Sidestused",
+T_FILE_EXTENSIONS, "Faililaiendid",
+T_SAVE_OPTIONS, "Salvesta seaded",
+T_FILE, "Fail",
+T_VIEW, "Vaade",
+T_LINK, "Link",
+T_DOWNLOADS, "Allalaadimised",
+T_SETUP, "Seadistus",
+T_HELP, "Abi",
+T_ENTER_URL, "Sisesta URL",
+T_SAVE_URL, "Salvesta URL",
+T_DOWNLOAD, "Alla laadimine",
+T_SAVE_TO_FILE, "Salvesta faili",
+T_SEARCH_FOR_TEXT, "Tekstiotsing",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Järjekorras ootamas",
+T_LOOKING_UP_HOST, "Otsin hosti",
+T_MAKING_CONNECTION, "Loon ühendust",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, NULL,
+T_REQUEST_SENT, "Päring saadetud",
+T_GETTING_HEADERS, "Tõmban päiseid",
+T_LOGGING_IN, "Login sisse",
+T_SERVER_IS_PROCESSING_REQUEST, "Server töötleb päringut",
+T_TRANSFERRING, "Kannan üle",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Ootan edasisuunamise kinnitust",
+T_INTERRUPTED, "Katkestatud",
+T_SOCKET_EXCEPTION, "Socketi viga",
+T_INTERNAL_ERROR, "Sisemine viga",
+T_OUT_OF_MEMORY, "Mälu otsas",
+T_HOST_NOT_FOUND, "Ei leidnud hosti",
+T_ERROR_WRITING_TO_SOCKET, "Viga socketisse kirjutamisel",
+T_ERROR_READING_FROM_SOCKET, "Viga socketi lugemisel",
+T_DATA_MODIFIED, "Andmed muudetud",
+T_BAD_URL_SYNTAX, "Vigane URL süntaks",
+T_RECEIVE_TIMEOUT, "Vastuvõtmise taimaut",
+T_REQUEST_MUST_BE_RESTARTED, "Päring peab olema uuesti laaditud",
+T_CANT_GET_SOCKET_STATE, "Ei saa kätte sokli staatust",
+T_CYCLIC_REDIRECT, "Ringis edasisuunamine",
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Vigane HTTP vastus",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Sisu puudub",
+T_UNKNOWN_FILE_TYPE, "Tundmatu failitüüp",
+T_ERROR_OPENING_FILE, "Viga faili avamisel",
+T_BAD_FTP_RESPONSE, "Vigane FTP vastus",
+T_FTP_SERVICE_UNAVAILABLE, "FTP teenus pole kätesaadav",
+T_BAD_FTP_LOGIN, "Vigane FTP sisselogimine",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT käsk ebaõnnestus",
+T_FILE_NOT_FOUND, "Ei leidnud faili",
+T_FTP_FILE_ERROR, "FTP faili viga",
+T_UNKNOWN_ERROR, "Tundmatu viga",
+T_RECEIVED, "Vastu võetud",
+T_OF, ", kokku on ",
+T_AVG, "keskm.",
+T_CUR, "hetkk.",
+T_AVERAGE_SPEED, "Keskmine kiirus",
+T_SPEED, "Kiirus",
+T_CURRENT_SPEED, "käesolev kiirus",
+T_ELAPSED_TIME, "Kulunud aeg",
+T_ESTIMATED_TIME, "hinnatud aeg",
+T_BACKGROUND, "Taustale",
+T_ABORT, "Katkestamine",
+T_ABORT_AND_DELETE_FILE, "Katkestada ja kustutada fail",
+T_YES, "Jah",
+T_NO, "Ei",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Alla laadimise viga",
+T_COULD_NOT_WRITE_TO_FILE, "Ei suuda kirjutada faili",
+T_ERROR_DOWNLOADING, "Viga alla laadimisel",
+T_ERROR_LOADING, "Viga laadimisel",
+T_COULD_NOT_CREATE_FILE, "Ei suuda luua faili",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Tundmatu tüüp",
+T_CONTENT_TYPE_IS, "Sisu tüüp on",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Kas te soovite seda faili avada, salvestada või näidata?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Kas te soovite seda faili avada või näidata?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Kas te soovite seda faili salvestada või näidata?",
+T_SAVE, "Salvesta",
+T_DISPLAY, "Näita",
+T_WHAT_TO_DO, "Mida teha?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Kas tahate avada faili",
+T_SAVE_IT_OR_DISPLAY_IT, "salvestada seda või näidata?",
+T_OPEN, "Ava",
+T_OPEN_WITH, "Ava programmiga",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Kas tahate järgida ümbersuunamist ja postitada ankeedi andmed URL-le",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Kas tahate postitada ankeedi sisu URL-le",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Kas tahate uuesti postitada ankeedi sinu URL-le",
+T_WARNING, "Hoiatus",
+T_ERROR, "Viga",
+T_WELCOME, "Tere tulemast",
+T_WELCOME_TO_LINKS, "Tere tulemast linksi!",
+T_BASIC_HELP, "Vajutage ESC menüü jaoks. Valige Abi->Kasutamisjuhend menüüs inglisekeelse kasutusõpetuse jaoks.",
+T_LABEL, "Pealdis",
+T_CONTENT_TYPES, "Sisu tüüp (tüübid)",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programm ('%' asendatakse faili nimega)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blokeeri terminal, kui programm jookseb",
+T_RUN_ON_TERMINAL, "Käivita terminalil",
+T_RUN_IN_XWINDOW, "Käivita X-i aknas",
+T_ASK_BEFORE_OPENING, "Küsi kinnitust enne avamist",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Kustutada failide seos",
+T_ASSOCIATION, "Failide seosed",
+T_EXTENSION_S, "Laiend(id)",
+T_CONTENT_TYPE, "Sisu tüüp",
+T_DELETE_EXTENSION, "Kustutada laiend",
+T_EXTENSION, "Laiend",
+T_eXTENSION, "laiend",
+T_ERROR_WHILE_POSTING_FORM, "Viga vormi saatmisel",
+T_COULD_NOT_GET_FILE, "Ei suuda tuua faili",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Eelnev otsing puudub",
+T_SEARCH_STRING_NOT_FOUND, "Otsitav sõna puudub",
+T_SAVE_ERROR, "Salvestamise viga",
+T_ERROR_WRITING_TO_FILE, "Viga faili kirjutamisel",
+T_DISPLAY_USEMAP, "Näita usemap'i",
+T_FOLLOW_LINK, "Järgi linki",
+T_OPEN_IN_NEW_WINDOW, "Ava uues aknas",
+T_DOWNLOAD_LINK, "Lae link alla",
+T_RESET_FORM, "Nulli vorm",
+T_SUBMIT_FORM, "Esita vorm",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Esita vorm ja ava uues aknas",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Esita vorm ja laadi alla",
+T_VIEW_IMAGE, "Näita pilti",
+T_DOWNLOAD_IMAGE, "Laadi alla pilt",
+T_NO_LINK_SELECTED, "Link pole valitud",
+T_IMAGE, "Pilt",
+T_USEMAP, NULL,
+T_XTERM, "Xterm",
+T_TWTERM, NULL,
+T_SCREEN, "Ekraan",
+T_WINDOW, "Aken",
+T_FULL_SCREEN, "Täisekraan",
+T_BEOS_TERMINAL, "BeOS-i terminal",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Esita vorm",
+T_POST_FORM_TO, "Postita vorm",
+T_RADIO_BUTTON, "Raadionupp",
+T_CHECKBOX, "Märkeruut",
+T_SELECT_FIELD, "Märgista väli",
+T_TEXT_FIELD, "Tekstiväli",
+T_TEXT_AREA, "Teksti ala",
+T_FILE_UPLOAD, "Faili üles laadimine",
+T_PASSWORD_FIELD, "Parooliväli",
+T_BUTTON, "nupp",
+T_NAME, "nimi",
+T_VALUE, "väärtus",
+T_HIT_ENTER_TO, "vajuta ENTER et",
+T_SUBMIT_TO, "järgi",
+T_POST_TO, "postita",
+T_INFO, "Info",
+T_HEADER_INFO, "Päise info",
+T_YOU_ARE_NOWHERE, "Sa ei ole kuskil!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Suurus",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "pooleli",
+T_CODEPAGE, "Kooditabel",
+T_ASSUMED, "eeldatud",
+T_IGNORING_SERVER_SETTING, "ignoreeri serveri eelistused",
+T_SERVER, "Server",
+T_DATE, "Kuupäev",
+T_LAST_MODIFIED, "Viimati muudetud",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Keel",
+T_GO_TO_LINK, "Mine lingile",
+T_ENTER_LINK_NUMBER, "Sisesta lingi number",
+T_RESIZE_TERMINAL, "Muuda terminali suurus",
+T_COLUMNS, "Veerus",
+T_ROWS, "Read",
+T_GOTO, "Mine",
+T_CLOSE, "Sulge",
+T_FOLDER, "Kaust",
+T_fOLDER, "kaust",
+T_ADD, "Lisa",
+T_DELETE, "Kustuta",
+T_EDIT, "Muuda",
+T_MOVE, "Liiguta",
+T_NO_ITEMS_SELECTED, "Midagi pole valitud",
+T_UNSELECT_ALL, "Tühista kõik valikud",
+T_BOOKMARKS, "Järjehoidjad",
+T_BOOKMARK, "Järjehoidja",
+T_ADD_BOOKMARK, "Lisa järjehoidja",
+T_ADD_ASSOCIATION, "Sidestuse lisamine",
+T_ADD_EXTENSION, "Faililaiendi lisamine",
+T_ADD_FOLDER, "Kausta lisamine",
+T_BOOKMARK_TITLE, "Järjehoidja pealkiri",
+T_EDIT_BOOKMARK, "Muuda järjehoidjat",
+T_EDIT_ASSOCIATION, "Sidestuse muutmine",
+T_EDIT_EXTENSION, "Faililaiendi muutmine",
+T_DELETE_BOOKMARK, "Kustuta järjehoidja",
+T_EDIT_FOLDER, "Kausta muutmine",
+T_DELETE_FOLDER, "Kausta kustutamine",
+T_NOT_EMPTY_SURE_DELETE, "pole tühi. Kas te kindlasti soovite seda kustutada?",
+T_BOOKMARK_MANAGER, "Järjehoidjate haldur",
+T_ASSOCIATIONS_MANAGER, "Sidestuste haldur",
+T_EXTENSIONS_MANAGER, "Faililaiendite haldur",
+T_url, "url",
+T_NNAME, "Nimi",
+T_EXIT_LINKS, "Linksist väljumine",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Kas te tõesti tahate väljuda Linksist?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Kas te tõesti tahate väljuda Linksist?",
+T_HTTP_OPTIONS, "HTTP häälestus",
+T_FTP_OPTIONS, "FTP häälestus",
+T_HTTP_BUG_WORKAROUNDS, "HTTP vigadest möödaminek",
+T_USE_HTTP_10, "Kasuta HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Luba vigaste serverite musta nimekirja",
+T_BROKEN_302_REDIRECT, "Vigane ümbersuunamine 302 (läheb vastuollu RFC-ga, kuid on ühilduv Netscape-ga)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Ära hoia ühendust üleval peale POST päringut (vajalik mõnede vigaste PHP rakenduste jaoks)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, "Ära saada Accept-Charset",
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "Ilma viitajata",
+T_REFERER_SAME_URL, "Saada tellitud URL viitajana",
+T_REFERER_FAKE, "Kindlaksmääratud viitaja",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "Saada õige viitaja (normaalne tegutsemisviis, EBATURVALINE!!!)",
+T_FAKE_REFERER, "Kindlaksmääratud HTTP viitaja",
+T_FAKE_USERAGENT, "Võltsitud User-Agent",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Parool anonüümsele sisselogimisele",
+T_USE_PASSIVE_FTP, "Kasuta passiivset FTP-d",
+T_USE_FAST_FTP, "Kasuta kiiret (kuid RFC-ga mitte ühilduvat) FTP-d",
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Kasutamisjuhend",
+T_HOMEPAGE, "Kodulehekülg",
+T_CALIBRATION, "Kalibreerimine",
+T_MAILTO_PROG, "Mailiprogramm (% asendatakse aadressiga)",
+T_SHELL_PROG, "Shell väliste programmide käivitamiseks (% asendatakse käsuga)",
+T_TELNET_PROG, "Telneti programm (% asendatakse \"host\" või \"host port\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Tn3270 programm (% asendatakse \"host\" või \"host port\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Maili ja telneti programmid",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Maili, telneti ja shelli programmid",
+T_NO_PROGRAM, "Pole programmi",
+T_NO_PROGRAM_SPECIFIED_FOR, "Pole programmi märgitud",
+T_MAIL, NULL,
+T_TELNET, NULL,
+T_MAGNET, NULL,
+T_TN3270, NULL,
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Vigane mailto url",
+T_BAD_TELNET_URL, "Vigane telnet url",
+T_BAD_TN3270_URL, "Vigane tn3270 url",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, "Vajalik autoriseerimine",
+T_PROXY_AUTHORIZATION_REQUIRED, "Vajalik proxy autoriseerimine",
+T_USERID, "Kasutaja ID",
+T_PASSWORD, "Parool",
+T_ENTER_USERNAME, "Sisesta kasutajanimi ",
+T_AT, "kiirusel ",
+T_SSL_ERROR, "SSL viga",
+T_NO_SSL, "See Linksi versioon ei sisalda SSL/TLS toetust",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "Kas te kindlasti soovite kustutada?",
+T_BOOKMARKS_ALREADY_IN_USE, "Järjehoidjad on juba kasutuses!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Sidestused on juba kasutuses!",
+T_EXTENSIONS_ALREADY_IN_USE, "Faililaiendid on juba kasutuses",
+T_VIDEO_OPTIONS, "Video seaded",
+T_VIDEO_OPTIONS_TEXT, "Soovitatavad kasutaja gamma parameetrid:\n 1.33 pimedas ruumis, 1.11 väga hämaras ruumis, 1 tavalises arvutitöökoha valgustuses, 0.88 heledas keskkonnas.",
+T_RED_DISPLAY_GAMMA, "Punase näitamise gamma",
+T_GREEN_DISPLAY_GAMMA, "Rohelise näitamise gamma",
+T_BLUE_DISPLAY_GAMMA, "Sinise näitamise gamma",
+T_USER_GAMMA, "Kasutaja gamma",
+T_ALERT, "Hoiatus",
+T_QUESTION, "Küsimus",
+T_KILL_SCRIPT, "Peata skript",
+T_KILL_ALL_SCRIPTS, "Peata kõik skriptid",
+T_SCRIPT_KILLED_BY_USER, "Javascript peatatud kasutaja poolt",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript üritab sulgeda brauseri akent. Kas te tõesti soovite akent sulgeda?",
+T_ENTER_STRING, "Sisesta string",
+T_JAVASCRIPT_OPTIONS, "Javascripti seaded",
+T_ENABLE_JAVASCRIPT, "Luba javascript",
+T_VERBOSE_JS_ERRORS, "Paljusõnalised javascript-i veateated",
+T_VERBOSE_JS_WARNINGS, "Paljusõnalised javascript-i hoiatused",
+T_MISCELANEOUS_OPTIONS, "Muud seaded",
+T_JAVASCRIPT_ERROR, "Javascripti viga",
+T_JAVASCRIPT_WARNING, "Javascripti hoiatus",
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, "Menüü fondi suurus",
+T_USER_FONT_SIZE, "Kasutaja fondi suurus",
+T_TURN_OFF_WARNINGS, "Lülita välja hoiatused",
+T_BOOKMARKS_ENCODING, "Järjehoidjate kodeering",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript üritab minna URL-le",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript üritab avada uut akent URL-ga",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript üritab ajalukku minna",
+T_TO_URL, "URL-le",
+T_GOTO_HISTORY, "Mine ajalukku",
+T_ALLOW, "Luba",
+T_REJECT, "Keela ära",
+T_ENABLE_ALL_CONVERSIONS, "Luba kõik konvertimised",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Luba globaalset nimede lahendamist",
+T_MANUAL_JS_CONTROL, "Käsitsi javascripti operatsioonide kinnitamine",
+T_JS_RECURSION_DEPTH, "Rekursiooni sügavus",
+T_MENU_BACKGROUND_COLOR, "Tagatausta värv",
+T_MENU_FOREGROUND_COLOR, "Esiplaani värv",
+T_SCROLL_BAR_BAR_COLOR, "Kerimisriba riba värv",
+T_SCROLL_BAR_AREA_COLOR, "Kerimisriba ala värv",
+T_SCROLL_BAR_FRAME_COLOR, "Kerimisriba freimi värv",
+T_BOOKMARKS_FILE, "Järjehoidjate fail",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Sisesta värve sRGB kuueteistkümnendsüsteemi RRGGBB kolmikutena.",
+T_JS_MEMORY_LIMIT_KB, "Javascriptile eraldatud mälu (KiB)",
+T_DITHER_LETTERS, "Tihenda kirja",
+T_DITHER_IMAGES, "Tihenda pilte",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "Muuda piltide suurust (%)",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, "Ekraani optimeerimine CRT jaoks",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "Ekraani optimeerimine LCD (RGB) jaoks",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "Ekraani optimeerimine LCD (BGR) jaoks",
+T_ASPECT_RATIO, "Suhtearv",
+T_ASPECT_CORRECTION_ON, "Suhte korrektsioon sisselülitatud",
+T_KEYBOARD_CODEPAGE, "Klaviatuuri kooditabel",
+T_COPY_LINK_LOCATION, "Kopeeri lingi asukoht",
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "A",
+T_HK_GO_BACK, "T",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "G",
+T_HK_RELOAD, "L",
+T_HK_BOOKMARKS, "J",
+T_HK_NEW_WINDOW, NULL,
+T_HK_SAVE_AS, "S",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "V",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, NULL,
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "R",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, NULL,
+T_HK_RESIZE_TERMINAL, NULL,
+T_HK_EXIT, "E",
+T_HK_SEARCH, "O",
+T_HK_SEARCH_BACK, "T",
+T_HK_FIND_NEXT, "J",
+T_HK_FIND_PREVIOUS, "E",
+T_HK_TOGGLE_HTML_PLAIN, "V",
+T_HK_DOCUMENT_INFO, "L",
+T_HK_HEADER_INFO, "P",
+T_HK_FRAME_AT_FULL_SCREEN, "A",
+T_HK_HTML_OPTIONS, "H",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "S",
+T_HK_LANGUAGE, "K",
+T_HK_CHARACTER_SET, "O",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "V",
+T_HK_JAVASCRIPT_OPTIONS, "J",
+T_HK_MISCELANEOUS_OPTIONS, "D",
+T_HK_CACHE, "R",
+T_HK_MAIL_AND_TELNEL, NULL,
+T_HK_ASSOCIATIONS, "I",
+T_HK_FILE_EXTENSIONS, "F",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "P",
+T_HK_KEYS, "K",
+T_HK_COPYING, "E",
+T_HK_MANUAL, "A",
+T_HK_HOMEPAGE, "O",
+T_HK_CALIBRATION, "L",
+T_HK_FILE, NULL,
+T_HK_VIEW, NULL,
+T_HK_LINK, NULL,
+T_HK_DOWNLOADS, NULL,
+T_HK_SETUP, NULL,
+T_HK_HELP, NULL,
+T_HK_DISPLAY_USEMAP, NULL,
+T_HK_FOLLOW_LINK, "J",
+T_HK_OPEN_IN_NEW_WINDOW, "A",
+T_HK_DOWNLOAD_LINK, "L",
+T_HK_RESET_FORM, NULL,
+T_HK_SUBMIT_FORM, NULL,
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, NULL,
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, NULL,
+T_HK_VIEW_IMAGE, NULL,
+T_HK_DOWNLOAD_IMAGE, NULL,
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, NULL,
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, NULL,
+T_HK_WINDOW, NULL,
+T_HK_FULL_SCREEN, NULL,
+T_HK_BEOS_TERMINAL, NULL,
diff --git a/intl/finnish.lng b/intl/finnish.lng
new file mode 100644
index 0000000..1722ed7
--- /dev/null
+++ b/intl/finnish.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-1",
+T__LANGUAGE, "Finnish",
+T__ACCEPT_LANGUAGE, "fi",
+T_OK, "OK",
+T_CANCEL, "Keskeytä",
+T_BAD_NUMBER, "Ei numero",
+T_NUMBER_EXPECTED, "Kentässä on oltava numero",
+T_NUMBER_OUT_OF_RANGE, "Numero yli lukualueen",
+T_BAD_STRING, "Laiton merkkijono",
+T_EMPTY_STRING_NOT_ALLOWED, "Tyhjä merkkijono ei sallittu",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Asetuksissa virhe",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Asetustiedoston kirjoitus ei onnistu",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Ohjelmasta",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW-selain",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Näppäimet",
+T_KEYS_DESC, "ESC näytä valikko\n^C, q lopetus\n^P, ^N rivi ylös, alas\n[, ] vasemmalle, oikealle\nnuoli ylös, alas valitse linkki\n-> seuraa linkkä\n<- palaa takaisin\ng valitse url\nG valitse url nykyisen sivun pohjalta\n/ etsi\n? etsi takaisinpäin\nn etsi seuraava\nN etsi edellinen\n= tietoja sivusta\n| tietoja otsikosta\n\\ lähdetiedosto\nd imuroi",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Copyright",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nThis 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.",
+T_RESOURCES, "Lähteet",
+T_CONNECTIONS, "Yhteydet",
+T_MEMORY_CACHE, "Välimuisti",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Merkkivälimuisti",
+T_IMAGE_CACHE, "Kuvavälimuisti",
+T_FORMATTED_DOCUMENT_CACHE, "Muotoiltu dokumentin välimuisti",
+T_DNS_CACHE, NULL,
+T_HANDLES, "kahvat",
+T_TIMERS, "ajastimet",
+T_WAITING, NULL,
+T_CONNECTING, "yhdistää",
+T_tRANSFERRING, "siirtää",
+T_KEEPALIVE, "keepalive",
+T_BYTES, "tavua",
+T_LETTERS, "merkkiä",
+T_FILES, "tiedostoa",
+T_LOCKED, "lukittu",
+T_LOADING, "lataa",
+T_IMAGES, "kuvaa",
+T_DOCUMENTS, "documentit",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "tavua muistia varattu",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Tietoa muistista",
+T_NO_HISTORY, "Ei historiaa",
+T_NO_DOWNLOADS, "Ei latauksia",
+T_NO_FRAMES, "Ei kehyksiä",
+T_VT_100_FRAMES, "VT 100 kehykset",
+T_LINUX_OR_OS2_FRAMES, "Linux tai OS/2 kehykset",
+T_KOI8R_FRAMES, "KOI8-R kehykset",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Käytä ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Rajoita kehykset näihin: cp850/852",
+T_BLOCK_CURSOR, "Neliöosoitin",
+T_COLOR, "Väri",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Terminaaliasetukset",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP proxy (osoite:portti)",
+T_FTP_PROXY__HOST_PORT, "FTP proxy (osoite:portti)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Suora yhteys (ei proxya) näihin osoitteisiin (pilkulla erotettuna)",
+T_NETWORK_OPTIONS, "Verkkoasetukset",
+T_MAX_CONNECTIONS, "Yhteyksien maksimilkm",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Yhteyksien maksimilkm yhteen kohteeseen",
+T_RETRIES, "Uudelleenyrityksiä",
+T_RECEIVE_TIMEOUT_SEC, "Vastaanoton aikaylitys (sec)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Ajanylitys kun ei-käynnistettävissä",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Ei-synkroninen DNS-haku",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Aseta ladattujen tiedostojen aika",
+T_CACHE_OPTIONS, "Välimuistiasetukset",
+T_MEMORY_CACHE_SIZE__KB, "Välimuistin koko (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Kuvavälimuistin koko (KiB)",
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Muotoiltujen dokumenttien lukumäärä",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "Html-asetukset",
+T_DISPLAY_TABLES, "Näytä taulukot",
+T_DISPLAY_FRAMES, "Näytä kehykset",
+T_DISPLAY_IMAGES, "Näytä kuvat",
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Näytä linkit kuvissa",
+T_LINK_ORDER_BY_COLUMNS, "Liiku pystysuunnassa linkeissä",
+T_NUMBERED_LINKS, "Linkit numeroidaan",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Tekstimarginaali",
+T_DEFAULT_CODEPAGE, "Oletusmerkistö",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Hylkää palvelimen merkistötieto",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Valitse URL",
+T_GO_BACK, "Siirry takaisin",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Historia",
+T_RELOAD, "Lataa uudelleen",
+T_NEW_WINDOW, "Uusi ikkuna",
+T_SAVE_AS, "Tallenna nimellä",
+T_SAVE_URL_AS, "Tallenna URL nimellä",
+T_SAVE_FORMATTED_DOCUMENT, "Tallenna muotoiltu dokumentti",
+T_COPY_URL_LOCATION, "Kopioi nykyinen URL",
+T_KILL_BACKGROUND_CONNECTIONS, "Poista taustayhteydet",
+T_KILL_ALL_CONNECTIONS, "Poista kaikki kytkennät",
+T_FLUSH_ALL_CACHES, "Tyhjennä välimuisti",
+T_RESOURCE_INFO, "Lähdetiedot",
+T_OS_SHELL, "Käyttöjärjestelmä",
+T_EXIT, "Poistu",
+T_SEARCH, "Etsi",
+T_SEARCH_BACK, "Etsi takaisinpäin",
+T_FIND_NEXT, "Etsi seuraava",
+T_FIND_PREVIOUS, "Etsi eteenpäin",
+T_TOGGLE_HTML_PLAIN, "Valitse HTML/tavallinen",
+T_DOCUMENT_INFO, "Dokumentin tiedot",
+T_FRAME_AT_FULL_SCREEN, "Kehys koko näytöllä",
+T_SAVE_HTML_OPTIONS, "Tallenna HTML-asetukset",
+T_CHARACTER_SET, "Merkistö",
+T_CACHE, "Välimuisti",
+T_MAIL_AND_TELNEL, "Sähköposti ja telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "kytkennät",
+T_FILE_EXTENSIONS, "Tiedostopäätteet",
+T_SAVE_OPTIONS, "Tallenna asetukset",
+T_FILE, "Tiedosto",
+T_VIEW, "Näytä",
+T_LINK, "Linkki",
+T_DOWNLOADS, "Lataukset",
+T_SETUP, "Asetukset",
+T_HELP, "Ohje",
+T_ENTER_URL, "Kirjoita URL",
+T_SAVE_URL, "Tallenna URL",
+T_DOWNLOAD, "Lataa",
+T_SAVE_TO_FILE, "Tallenna tiedostoon",
+T_SEARCH_FOR_TEXT, "Etsi tekstiä",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Odottaa jonossa",
+T_LOOKING_UP_HOST, "Etsii osoitetta",
+T_MAKING_CONNECTION, "Yhdistää",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "SSL-kättely",
+T_REQUEST_SENT, "Pyyntö lähetetty",
+T_GETTING_HEADERS, "Hakee otsikkoja",
+T_LOGGING_IN, "Loggaa sisään",
+T_SERVER_IS_PROCESSING_REQUEST, "Palvelin käsittelee pyyntöä",
+T_TRANSFERRING, "Siirtää",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Odottaa varmistusta uudelleenosoitukselle",
+T_INTERRUPTED, "Keskeytetty",
+T_SOCKET_EXCEPTION, "Töpselivirhe",
+T_INTERNAL_ERROR, "Sisäinen virhe",
+T_OUT_OF_MEMORY, "Muisti loppu",
+T_HOST_NOT_FOUND, "Osoite tuntematon",
+T_ERROR_WRITING_TO_SOCKET, "Töpseliin kirjoitus ei onnistu",
+T_ERROR_READING_FROM_SOCKET, "Töpselin lukeminen ei onnistu",
+T_DATA_MODIFIED, "Tieto muunnettu",
+T_BAD_URL_SYNTAX, "Väärä URL-syntaksi",
+T_RECEIVE_TIMEOUT, "Vastaanoton ajanylitys",
+T_REQUEST_MUST_BE_RESTARTED, "Pyyntö lähetettävä uudelleen",
+T_CANT_GET_SOCKET_STATE, "Töpselin tilaa ei saada",
+T_CYCLIC_REDIRECT, "Jaksollinen uudelleenosoitus",
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Laiton HTTP-vastaus",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Ei sisältöä",
+T_UNKNOWN_FILE_TYPE, "Tuntematon tiedostotyyppi",
+T_ERROR_OPENING_FILE, "Tiedoston avaus ei onnistu",
+T_BAD_FTP_RESPONSE, "Laiton FTP-vastaus",
+T_FTP_SERVICE_UNAVAILABLE, "FTP-palvelin ei vastaa",
+T_BAD_FTP_LOGIN, "FTP-sisäänkirjoitus ei onnistunut",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT-komento epäonnistui",
+T_FILE_NOT_FOUND, "Tiedostoa ei löydy",
+T_FTP_FILE_ERROR, "FTP tiedostovirhe",
+T_UNKNOWN_ERROR, "Tuntematon virhe",
+T_RECEIVED, "Vastaanotettu",
+T_OF, "/",
+T_AVG, "km",
+T_CUR, "nyk",
+T_AVERAGE_SPEED, "Keskinopeus",
+T_SPEED, "Nopeus",
+T_CURRENT_SPEED, "nopeus nyt",
+T_ELAPSED_TIME, "Kulutettu aika",
+T_ESTIMATED_TIME, "laskettu aika",
+T_BACKGROUND, "Taustalla",
+T_ABORT, "Keskeytä",
+T_ABORT_AND_DELETE_FILE, "Keskeytä ja poista tiedosto",
+T_YES, "Kyllä",
+T_NO, "Ei",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Vastaanottovirhe",
+T_COULD_NOT_WRITE_TO_FILE, "Tiedostoon kirjoitus epäonnistui",
+T_ERROR_DOWNLOADING, "Virhe imuroitaessa",
+T_ERROR_LOADING, "Virhe ladattaessa",
+T_COULD_NOT_CREATE_FILE, "Tiedoston luonti epäonnistui",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Tuntematon tyyppi",
+T_CONTENT_TYPE_IS, "Sisällön tyyppi on",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Haluatko avata, tallettaa vai katsoa tämän tiedoston?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Haluatko avata vai katsoa tämän tiedoston?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Haluatko tallettaa vai katsoa tämän tiedoston?",
+T_SAVE, "Tallenna",
+T_DISPLAY, "Näytä",
+T_WHAT_TO_DO, "Mitä tehdä?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Haluatko avata tiedoston tällä:",
+T_SAVE_IT_OR_DISPLAY_IT, "tallentaa vai katsoa sen?",
+T_OPEN, "Avaa",
+T_OPEN_WITH, "Avaa ohjelmalla",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Haluatko seurata uudelleenosoitusta ja lähettää datan osoitteeseen",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Haluatko lähettää datan osoitteeseen",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Haluatko uudelleenlähettää datan osoitteeseen",
+T_WARNING, "Varoitus",
+T_ERROR, "Virhe",
+T_WELCOME, "Tervetuloa",
+T_WELCOME_TO_LINKS, "Tervetuloa linksiin!",
+T_BASIC_HELP, "Paina ESC niin saat ohjeen. Valitse Ohje->Ohjekirja valikosta niin saat käyttöohjeet.",
+T_LABEL, "Nimilappu",
+T_CONTENT_TYPES, "Sisältötyypit",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Ohjelma ('%' on vaihdettu tiedostoon)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Lukitse terminaali kun ohjelma on ajossa",
+T_RUN_ON_TERMINAL, "Aja terminaalilla",
+T_RUN_IN_XWINDOW, "Aja X-ikkunassa",
+T_ASK_BEFORE_OPENING, "Kysy ennen avausta",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Poista kytkentä",
+T_ASSOCIATION, "Kytkentä",
+T_EXTENSION_S, "Tiedostopäätteet",
+T_CONTENT_TYPE, "Sisältötyyppi",
+T_DELETE_EXTENSION, "Poista tiedostopääte",
+T_EXTENSION, "Tiedostopääte",
+T_eXTENSION, "tiedostopääte",
+T_ERROR_WHILE_POSTING_FORM, "Virhe kaavaketta lähetettäessä",
+T_COULD_NOT_GET_FILE, "Tiedoston haku epäonnistui",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Ei aikaisempaa hakua",
+T_SEARCH_STRING_NOT_FOUND, "Hakumerkkijonoa ei löytynyt",
+T_SAVE_ERROR, "Talletusvirhe",
+T_ERROR_WRITING_TO_FILE, "Virhe tiedostoon kirjoittaessa",
+T_DISPLAY_USEMAP, "Näytä kartta",
+T_FOLLOW_LINK, "Seuraa linkkiä",
+T_OPEN_IN_NEW_WINDOW, "Avaa uuteen ikkunaan",
+T_DOWNLOAD_LINK, "Lataa linkki",
+T_RESET_FORM, "Tyhjennä kaavake",
+T_SUBMIT_FORM, "Lähetä kaavake",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Lähetä kaavake ja avaa uudessa ikkunassa",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Lähetä kaavake ja lataa",
+T_VIEW_IMAGE, "Näytä kuva",
+T_DOWNLOAD_IMAGE, "Lataa kuva",
+T_NO_LINK_SELECTED, "Ei linkkiä",
+T_IMAGE, "Kuva",
+T_USEMAP, "Kartta",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Näyttö",
+T_WINDOW, "Ikkuna",
+T_FULL_SCREEN, "Koko näyttö",
+T_BEOS_TERMINAL, "BeOS-terminaali",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Hyväksy kaavake:",
+T_POST_FORM_TO, "Lähetä kaavake:",
+T_RADIO_BUTTON, "Radionäppäin",
+T_CHECKBOX, "Valintalaatikko",
+T_SELECT_FIELD, "Valitse kenttä",
+T_TEXT_FIELD, "Tekstikenttä",
+T_TEXT_AREA, "Tekstialue",
+T_FILE_UPLOAD, "Tiedoston lähetys",
+T_PASSWORD_FIELD, "Salasanakenttä",
+T_BUTTON, "Näppäin",
+T_NAME, "nimi",
+T_VALUE, "arvo",
+T_HIT_ENTER_TO, "paina rivinvaihtoa",
+T_SUBMIT_TO, "hyväksy",
+T_POST_TO, "lähetä",
+T_INFO, "Tieto",
+T_HEADER_INFO, "Otsikkotieto",
+T_YOU_ARE_NOWHERE, "Et ole missään!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Koko",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "epätäydellinen",
+T_CODEPAGE, "Merkistö",
+T_ASSUMED, "oletettu",
+T_IGNORING_SERVER_SETTING, "hylkää palvelinasetukset",
+T_SERVER, "Palvelin",
+T_DATE, "Päiväys",
+T_LAST_MODIFIED, "Viimeksi muokattu",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Kieli",
+T_GO_TO_LINK, "Valitse linkki",
+T_ENTER_LINK_NUMBER, "Valitse linkkinumero",
+T_RESIZE_TERMINAL, "Aseta terminaalin koko",
+T_COLUMNS, "Saraketta",
+T_ROWS, "Riviä",
+T_GOTO, "Mene",
+T_CLOSE, "Sulje",
+T_FOLDER, "Kansio",
+T_fOLDER, "kansio",
+T_ADD, "Lisää",
+T_DELETE, "Poista",
+T_EDIT, "Muokkaa",
+T_MOVE, "Siirrä",
+T_NO_ITEMS_SELECTED, "Ei valintoja. Ei siirrettävää.",
+T_UNSELECT_ALL, "Poista kaikki valinnat" ,
+T_BOOKMARKS, "Kirjanmerkit",
+T_BOOKMARK, "Kirjanmerkki",
+T_ADD_BOOKMARK, "Lisää kirjanmerkki",
+T_ADD_ASSOCIATION, "Lisää kytkentä",
+T_ADD_EXTENSION, "Lisää tiedostopääte",
+T_ADD_FOLDER, "Lisää kansio",
+T_BOOKMARK_TITLE, "Kirjanmerkin otsikko",
+T_EDIT_BOOKMARK, "Muokkaa kirjanmerkkiä",
+T_EDIT_ASSOCIATION, "Muokkaa kytkentää",
+T_EDIT_EXTENSION, "Muokkaa tiedostopäätettä",
+T_DELETE_BOOKMARK, "Poista kirjanmerkki",
+T_EDIT_FOLDER, "Muokkaa kansiota",
+T_DELETE_FOLDER, "Poista kansio",
+T_NOT_EMPTY_SURE_DELETE, "ei ole tyhjä. Haluatko silti poistaa sen?",
+T_BOOKMARK_MANAGER, "Kirjanmerkkimuokkain",
+T_ASSOCIATIONS_MANAGER, "Kytkentämuokkain",
+T_EXTENSIONS_MANAGER, "Tiedostopäätemuokkain",
+T_url, "url",
+T_NNAME, "Nimi",
+T_EXIT_LINKS, "Poistu Linksistä",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Haluatko poistua Linksistä?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Haluatko poistua Linksistä (ja keskeyttää kaikki lataukset)?",
+T_HTTP_OPTIONS, "HTTP-asetukset",
+T_FTP_OPTIONS, "FTP-asetukset",
+T_HTTP_BUG_WORKAROUNDS, "HTTP virheohitukset",
+T_USE_HTTP_10, "Käytä HTTP/1.0-protokollaa",
+T_ALLOW_SERVER_BLACKLIST, "Käytä palvelinten mustia listoja",
+T_BROKEN_302_REDIRECT, "Rikkinäinen uudelleenosoitus 302 (Rikkoo RFC:n mutta on yhteensopiva Netscapen kanssa)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Ei yhteyden ylläpitoa POSTin jälkeen (jotkut vialliset PHP-tietokannat vaativat sitä)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "Ei viitettä",
+T_REFERER_SAME_URL, "Lähetä pyydetty URL viitteenä",
+T_REFERER_FAKE, "Tekaistu viite",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "Lähetä oikea viite (normaali käytäntö, turvaton!)",
+T_FAKE_REFERER, "Tekaistu HTTP viite",
+T_FAKE_USERAGENT, "Tekaistu selain",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Salasana anonyymipalvelimille",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Käyttöohjekirja",
+T_HOMEPAGE, "Kotisivu",
+T_CALIBRATION, "Kalibrointi",
+T_MAILTO_PROG, "Sähköpostiohjelma (% korvataan osoitteella)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Telnet-ohjelma (% korvataan \"osoitteella\" tai \"portilla\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Tn3270-ohjelma (% korvataan \"osoitteella\" tai \"portilla\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Sähköposti- tai telnetohjelmat",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Ei ohjelmaa",
+T_NO_PROGRAM_SPECIFIED_FOR, "Ei ohjelmaa osoitettu",
+T_MAIL, "sähköposti",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Laiton sähköposti-URL",
+T_BAD_TELNET_URL, "Laiton telnet-URL",
+T_BAD_TN3270_URL, "Laiton tn3270-URL",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "Käyttäjän ID",
+T_PASSWORD, "Salasana",
+T_ENTER_USERNAME, "Kirjoita kättäjänimi",
+T_AT, "-> ",
+T_SSL_ERROR, "SSL-virhe",
+T_NO_SSL, "Tämä Linksin versio ei tue SSL/TLS:ää",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "Oletko varma että poistetaan",
+T_BOOKMARKS_ALREADY_IN_USE, "Kirjanmerkit ovat jo käytössä!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Kytkennät ovat jo käytössä!",
+T_EXTENSIONS_ALREADY_IN_USE, "Tiedostopäätteet ovat jo käytössä!",
+T_VIDEO_OPTIONS, "Videoasetukset",
+T_VIDEO_OPTIONS_TEXT, "Suositeltavat gamma-asetukset:\n 1.33 pimeälle huoneelle, 1.11 hyvin hämärälle huoneelle, 1 normaalissa valaistuksessa ja 0.88 kirkkaassa valaistuksessa.",
+T_RED_DISPLAY_GAMMA, "Punainen gamma",
+T_GREEN_DISPLAY_GAMMA, "Vihreä gamma",
+T_BLUE_DISPLAY_GAMMA, "Sininen gamma",
+T_USER_GAMMA, "Käyttäjän gamma",
+T_ALERT, "Hälytys",
+T_QUESTION, "Kysymys",
+T_KILL_SCRIPT, "Poista skripti",
+T_KILL_ALL_SCRIPTS, "Poista kaikki skriptit",
+T_SCRIPT_KILLED_BY_USER, "JavaScript on käyttäjän poistama.",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "JavaScript yrittää sulkea selainikkunan. Haluatko sulkea sen?",
+T_ENTER_STRING, "Syötä merkkijono",
+T_JAVASCRIPT_OPTIONS, "JavaScript-asetukset",
+T_ENABLE_JAVASCRIPT, "Ota JavaScript käyttöön",
+T_VERBOSE_JS_ERRORS, "Monisanaiset JavaScript-virheet",
+T_VERBOSE_JS_WARNINGS, "Monisanaiset JavaScript-varoitukset",
+T_MISCELANEOUS_OPTIONS, "Sekalaiset asetukset",
+T_JAVASCRIPT_ERROR, "JavaScript-virhe",
+T_JAVASCRIPT_WARNING, "JavaScript-varoitus",
+T_DISMISS, "Poistu",
+T_MENU_FONT_SIZE, "Menun merkkikoko",
+T_USER_FONT_SIZE, "Käyttäjän merkkikoko",
+T_TURN_OFF_WARNINGS, "Varoitukset pois",
+T_BOOKMARKS_ENCODING, "Kirjanmerkkienkoodaus",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "JavaScript yrittää siirtyä osoitteeseen",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "JavaScript yrittää avata uuden ikkunan osoitteella",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "JavaScript yrittää siirtyä historiaan",
+T_TO_URL, "osoitteeseen",
+T_GOTO_HISTORY, "Mene historiaan",
+T_ALLOW, "Salli",
+T_REJECT, "Estä",
+T_ENABLE_ALL_CONVERSIONS, "Salli kaikki muunnokset",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Salli globaali nimialue",
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, "Rekursion syvyys",
+T_MENU_BACKGROUND_COLOR, "Taustan väri",
+T_MENU_FOREGROUND_COLOR, "Edustan väri",
+T_SCROLL_BAR_BAR_COLOR, "Liu'un väri",
+T_SCROLL_BAR_AREA_COLOR, "Liu'un taustaväri",
+T_SCROLL_BAR_FRAME_COLOR, "Liu'un reunuksen väri",
+T_BOOKMARKS_FILE, "Kirjanmerkkitiedosto",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Syötä värit RGB-heksadesimaalina RRGGBB.",
+T_JS_MEMORY_LIMIT_KB, "JavaScriptille omistettu muisti (KiB)",
+T_DITHER_LETTERS, "Ditheroi merkit",
+T_DITHER_IMAGES, "Ditheroi kuvat",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "Skaalaa kuvat kertoimella (%)",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, "Näytön optimointi CRT:lle",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "Näytön optimointi LCD:lle (RGB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "Näytön optimointi LCD:lle (BGR)",
+T_ASPECT_RATIO, "Kuvasuhde",
+T_ASPECT_CORRECTION_ON, "Kuvasuhteen korjaus käytössä",
+T_KEYBOARD_CODEPAGE, "Näppäimistön koodisivu",
+T_COPY_LINK_LOCATION, "Kopioi linkin osoite",
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "V",
+T_HK_GO_BACK, "S",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "L",
+T_HK_BOOKMARKS, "K",
+T_HK_NEW_WINDOW, "U",
+T_HK_SAVE_AS, "N",
+T_HK_SAVE_URL_AS, "L",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, "U",
+T_HK_KILL_BACKGROUND_CONNECTIONS, "P",
+T_HK_KILL_ALL_CONNECTIONS, "O",
+T_HK_FLUSH_ALL_CACHES, "Y",
+T_HK_RESOURCE_INFO, "E",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "J",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "Q",
+T_HK_SEARCH, "E",
+T_HK_SEARCH_BACK, "T",
+T_HK_FIND_NEXT, "S",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "V",
+T_HK_DOCUMENT_INFO, "D",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "K",
+T_HK_HTML_OPTIONS, "H",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "A",
+T_HK_LANGUAGE, "K",
+T_HK_CHARACTER_SET, "M",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, "V",
+T_HK_NETWORK_OPTIONS, "E",
+T_HK_JAVASCRIPT_OPTIONS, "J",
+T_HK_MISCELANEOUS_OPTIONS, "A",
+T_HK_CACHE, "L",
+T_HK_MAIL_AND_TELNEL, "S",
+T_HK_ASSOCIATIONS, "Y",
+T_HK_FILE_EXTENSIONS, "P",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "O",
+T_HK_KEYS, "N",
+T_HK_COPYING, "C",
+T_HK_MANUAL, "K",
+T_HK_HOMEPAGE, "T",
+T_HK_CALIBRATION, "A",
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, "O",
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/french.lng b/intl/french.lng
new file mode 100644
index 0000000..989139f
--- /dev/null
+++ b/intl/french.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-1",
+T__LANGUAGE, "French",
+T__ACCEPT_LANGUAGE, "fr",
+T_OK, "OK",
+T_CANCEL, "Annuler",
+T_BAD_NUMBER, "Nombre incorrect",
+T_NUMBER_EXPECTED, "Saisir un nombre",
+T_NUMBER_OUT_OF_RANGE, "Intervalle incorrect",
+T_BAD_STRING, "Saisie erronnée",
+T_EMPTY_STRING_NOT_ALLOWED, "Saisie obligatoire",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Erreur de configuration",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Impossible d'écrire la configuration",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Info",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nNavigateur en mode texte et graphique",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Touches",
+T_KEYS_DESC, "ESC Affichage du menu\n^C, q quitter\n^P, ^N paginer haut/bas\n[, ] paginer gauche/droite \nPgUp/PgDn Choix du lien\n-> Suivre le lien\n<- retour\ng atteindre l'URL\nG atteindre l'URL (de l'URL actuelle)\n/ Chercher\n? Chercher en arrière\nn Chercher le suivant\nN Chercher le précédent\n= Infos sur le document\n\\ Code source du document\nd Télécharger",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Licence",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nCe programme est un logiciel libre ; et peut être publié, modifié et diffusé selon les termes de la GNU General Public License publiée par la Free Software Foundation, soit selon la version 2 de la GPL, soit (à votre choix) selon toute version ultérieure.",
+T_RESOURCES, "Ressources",
+T_CONNECTIONS, "Connexions",
+T_MEMORY_CACHE, "Cache mémoire vive",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Cache fontes",
+T_IMAGE_CACHE, "Cache image",
+T_FORMATTED_DOCUMENT_CACHE, "Cache des documents formatés ",
+T_DNS_CACHE, NULL,
+T_HANDLES, "fichiers ouverts",
+T_TIMERS, "timer(s)",
+T_WAITING, NULL,
+T_CONNECTING, "Connexions",
+T_tRANSFERRING, "transfert(s)",
+T_KEEPALIVE, "connexion(s) maintenue(s)",
+T_BYTES, "octets",
+T_LETTERS, "lettres",
+T_FILES, "fichier(s)",
+T_LOCKED, "bloqué(s)",
+T_LOADING, "en cours de chargement",
+T_IMAGES, "images",
+T_DOCUMENTS, "document(s)",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "octets alloués",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, "octets alloués pour javascript",
+T_MEMORY_INFO, "État de la mémoire vive",
+T_NO_HISTORY, "Pas d'historique",
+T_NO_DOWNLOADS, "Aucun téléchargement",
+T_NO_FRAMES, "Pas de cadres",
+T_VT_100_FRAMES, "Cadres VT 100",
+T_LINUX_OR_OS2_FRAMES, "Cadres Linux ou OS/2",
+T_KOI8R_FRAMES, "Cadres KOI8-R",
+T_FREEBSD_FRAMES, "Cadres FreeBSD",
+T_USE_11M, "Utiliser ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Limiter les cadres dans cp850/852",
+T_BLOCK_CURSOR, "Curseur bloc",
+T_COLOR, "Couleur",
+T_BRAILLE_TERMINAL, "Braille terminal",
+T_TERMINAL_OPTIONS, "Options du terminal",
+T_PROXIES, "Proxy(s)",
+T_HTTP_PROXY__HOST_PORT, "Proxy HTTP (Hôte:port)",
+T_FTP_PROXY__HOST_PORT, "Proxy FTP (Hôte:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, "Proxy Socks4A (user@host:port)",
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, "Connexions uniquement via proxy ou Sock",
+T_NOPROXY_LIST, "Ne pas utiliser de proxy pour les domaines suivants (séparés par une virgule)",
+T_NETWORK_OPTIONS, "Options de réseau",
+T_MAX_CONNECTIONS, "Nombre maximum de connexions",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Nombre maximum de connexions à un serveur",
+T_RETRIES, "Répétitions (0 - illimité)",
+T_RECEIVE_TIMEOUT_SEC, "Temps maximal (sec)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Attente quand relance impossible",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Résolution DNS asynchrone",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Changer date/heure des fichiers reçus",
+T_CACHE_OPTIONS, "Options du cache",
+T_MEMORY_CACHE_SIZE__KB, "Taille du cache (Ko)",
+T_IMAGE_CACHE_SIZE__KB, "Taille du cache image (Ko)",
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Nombre de documents formatés",
+T_AGGRESSIVE_CACHE, "Cache agressif",
+T_HTML_OPTIONS, "Options HTML",
+T_DISPLAY_TABLES, "Affichage des tableaux",
+T_DISPLAY_FRAMES, "Affichage des cadres",
+T_DISPLAY_IMAGES, "Affichage des images",
+T_DISPLAY_IMAGE_FILENAMES, "Affichage des noms d'images",
+T_DISPLAY_LINKS_TO_IMAGES, "Afficher marqueurs d'images",
+T_LINK_ORDER_BY_COLUMNS, "Liens triés par colonnes",
+T_NUMBERED_LINKS, "Numéroter les liens",
+T_AUTO_REFRESH, "Rafraichissement auto",
+T_TARGET_IN_NEW_WINDOW, "Autoriser l'ouverture des liens dans une nouvelle fenêtre (target=\"_blank\")",
+T_TEXT_MARGIN, "Marge",
+T_DEFAULT_CODEPAGE, "Jeu de caractères par défaut",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorer le jeu de caractères indiqué par le serveur",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Atteindre l'URL",
+T_GO_BACK, "Retour",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Historique",
+T_RELOAD, "Relire",
+T_NEW_WINDOW, "Nouvelle fenêtre",
+T_SAVE_AS, "Enregistrer sous",
+T_SAVE_URL_AS, "Enregistrer l'URL sous",
+T_SAVE_FORMATTED_DOCUMENT, "Enregistrer le document formaté",
+T_COPY_URL_LOCATION, "Copier URL courante",
+T_KILL_BACKGROUND_CONNECTIONS, "Couper connexions en arrière-plan",
+T_KILL_ALL_CONNECTIONS, "Couper toutes les connexions",
+T_FLUSH_ALL_CACHES, "Effacer tout le cache",
+T_RESOURCE_INFO, "Infos sur les ressources",
+T_OS_SHELL, "Ligne de commandes",
+T_EXIT, "Quitter",
+T_SEARCH, "Chercher",
+T_SEARCH_BACK, "Chercher en arrière",
+T_FIND_NEXT, "Chercher le suivant",
+T_FIND_PREVIOUS, "Chercher le précédent",
+T_TOGGLE_HTML_PLAIN, "Bascule HTML/source",
+T_DOCUMENT_INFO, "Infos sur le document",
+T_FRAME_AT_FULL_SCREEN, "Cadre en plein écran",
+T_SAVE_HTML_OPTIONS, "Enregistrer les options HTML",
+T_CHARACTER_SET, "Jeu de caractères",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "E-mail et telnet",
+T_MAIL_TELNET_AND_SHELL, "E-mail, telnet et shell",
+T_ASSOCIATIONS, "Associations",
+T_FILE_EXTENSIONS, "Extensions de fichiers",
+T_SAVE_OPTIONS, "Enregistrer les options",
+T_FILE, "Fichier",
+T_VIEW, "Affichage",
+T_LINK, "Lien",
+T_DOWNLOADS, "Téléchargements",
+T_SETUP, "Configuration",
+T_HELP, "Aide",
+T_ENTER_URL, "Entrez l'URL",
+T_SAVE_URL, "Enregistrer l'URL",
+T_DOWNLOAD, "Téléchargement",
+T_SAVE_TO_FILE, "Enregistrer dans le fichier",
+T_SEARCH_FOR_TEXT, "Recherche du texte",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "en liste d'attente",
+T_LOOKING_UP_HOST, "Recherche de l'hôte",
+T_MAKING_CONNECTION, "Établissement de la connexion",
+T_SOCKS_NEGOTIATION, "Établissement connexion Socks",
+T_SSL_NEGOTIATION, "Négotiation SSL",
+T_REQUEST_SENT, "Requête transmise",
+T_GETTING_HEADERS, "Réception de l'en-tête",
+T_LOGGING_IN, "Entrée loggin",
+T_SERVER_IS_PROCESSING_REQUEST, "Le serveur traîte la requête",
+T_TRANSFERRING, "Transfert",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Attente de confirmation de redirection",
+T_INTERRUPTED, "Interrompu",
+T_SOCKET_EXCEPTION, "Exception socket",
+T_INTERNAL_ERROR, "Erreur interne",
+T_OUT_OF_MEMORY, "Mémoire vive saturée",
+T_HOST_NOT_FOUND, "Hôte introuvable",
+T_ERROR_WRITING_TO_SOCKET, "Erreur d'écriture sur le socket",
+T_ERROR_READING_FROM_SOCKET, "Erreur de lecture sur le socket",
+T_DATA_MODIFIED, "Données modifiées",
+T_BAD_URL_SYNTAX, "Erreur de syntaxe dans l'URL",
+T_RECEIVE_TIMEOUT, "Temps d'attente dépassé",
+T_REQUEST_MUST_BE_RESTARTED, "Retransmission de la requête",
+T_CANT_GET_SOCKET_STATE, "Impossible d'obtenir l'état du socket",
+T_CYCLIC_REDIRECT, "Redirection cyclique",
+T_TOO_LARGE_FILE, "Fichier trop gros",
+T_BLOCKED_URL, "Cette URL est dans notre liste",
+T_NO_PROXY, "Pas de proxy pour cette connexion et connexions sans proxy inhibées",
+T_BAD_HTTP_RESPONSE, "Réponse HTTP incorrecte",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Pas de contenu",
+T_UNKNOWN_FILE_TYPE, "Type de fichier inconnu",
+T_ERROR_OPENING_FILE, "Erreur lors de l'ouverture du fichier",
+T_BAD_FTP_RESPONSE, "Réponse FTP incorrecte",
+T_FTP_SERVICE_UNAVAILABLE, "Service FTP non disponible",
+T_BAD_FTP_LOGIN, "Echec de la connexion FTP",
+T_FTP_PORT_COMMAND_FAILED, "Échec de la commande FTP PORT",
+T_FILE_NOT_FOUND, "Fichier introuvable",
+T_FTP_FILE_ERROR, "Erreur de fichier FTP",
+T_UNKNOWN_ERROR, "Erreur inconnue",
+T_RECEIVED, "Réception",
+T_OF, "sur",
+T_AVG, "moyenne",
+T_CUR, "actuelle",
+T_AVERAGE_SPEED, "Vitesse moyenne",
+T_SPEED, "Vitesse",
+T_CURRENT_SPEED, "vitesse actuelle",
+T_ELAPSED_TIME, "Temps écoulé",
+T_ESTIMATED_TIME, "temps estimé",
+T_BACKGROUND, "Arrière-plan",
+T_ABORT, "Annuler",
+T_ABORT_AND_DELETE_FILE, "Interruption et effacement fichier",
+T_YES, "Oui",
+T_NO, "Non",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, "Le fichier existe déja",
+T_ALREADY_EXISTS_AS_DOWNLOAD, "existe déja dans un téléchargement en cours",
+T_ALREADY_EXISTS, "existe déja.",
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, "Voulez-vous l'écraser ?",
+T_CONTINUE, NULL,
+T_OVERWRITE, "Écraser",
+T_RENAME, "Renommer",
+T_DOWNLOAD_ERROR, "Erreur du téléchargement",
+T_COULD_NOT_WRITE_TO_FILE, "Impossible d'écrire le fichier",
+T_ERROR_DOWNLOADING, "Erreur lors du téléchargement",
+T_ERROR_LOADING, "Erreur lors du chargement",
+T_COULD_NOT_CREATE_FILE, "Le fichier n'a pas pu être créé",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, "Impossible de créer un fichier temporaire",
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Type inconnu",
+T_CONTENT_TYPE_IS, "Le type du contenu est",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Voulez-vous ouvrir, enregister, ou afficher ce fichier ?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Voulez-vous ouvrir ou afficher ce fichier ?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Voulez-vous enregistrer ou afficher ce fichier ?",
+T_SAVE, "Enregistrer",
+T_DISPLAY, "Afficher",
+T_WHAT_TO_DO, "Que voulez-vous faire ?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Ouvrir le fichier avec",
+T_SAVE_IT_OR_DISPLAY_IT, "enregistrer ou afficher ?",
+T_OPEN, "Ouvrir",
+T_OPEN_WITH, "Ouvrir avec",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Voulez-vous envoyer ces données au nouveau serveur ?",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Voulez-vous envoyer ces données ?",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Voulez-vous réexpedier ces données ?",
+T_WARNING, "Avertissement",
+T_ERROR, "Erreur",
+T_WELCOME, "Bienvenue",
+T_WELCOME_TO_LINKS, "Bienvenue dans Links !",
+T_BASIC_HELP, "Manuel",
+T_LABEL, "Description",
+T_CONTENT_TYPES, "Type(s) de contenu",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programme (% = nom du fichier)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Bloquer le terminal durant l'exécution du programme",
+T_RUN_ON_TERMINAL, "Ouvrir dans un terminal",
+T_RUN_IN_XWINDOW, "Ouvrir en mode graphique (X-Window)",
+T_ASK_BEFORE_OPENING, "Confirmer le démarrage du programme",
+T_ACCEPT_HTTP, "Accepte HTTP URLs",
+T_ACCEPT_FTP, "Accepte FTP URLs",
+T_DELETE_ASSOCIATION, "Effacer l'association",
+T_ASSOCIATION, "Association",
+T_EXTENSION_S, "Extension(s)",
+T_CONTENT_TYPE, "Type de contenu",
+T_DELETE_EXTENSION, "Supprimer l'extension",
+T_EXTENSION, "Extension",
+T_eXTENSION, "extension",
+T_ERROR_WHILE_POSTING_FORM, "Erreur lors du transfert du formulaire",
+T_COULD_NOT_GET_FILE, "Impossible d'obtenir le fichier",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Pas de clef de recherche",
+T_SEARCH_STRING_NOT_FOUND, "Texte introuvable",
+T_SAVE_ERROR, "Erreur d'enregistrement",
+T_ERROR_WRITING_TO_FILE, "Erreur lors de l'écriture du fichier",
+T_DISPLAY_USEMAP, "Afficher usemap",
+T_FOLLOW_LINK, "Suivre le lien",
+T_OPEN_IN_NEW_WINDOW, "Ouvrir dans une nouvelle fenêtre",
+T_DOWNLOAD_LINK, "Enregistrer le lien",
+T_RESET_FORM, "Rétablir le formulaire",
+T_SUBMIT_FORM, "Envoi du formulaire",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Envoi du formulaire et ouverture d'une nouvelle fenêtre",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Envoyer et enregistrer le formulaire",
+T_VIEW_IMAGE, "Afficher l'image",
+T_DOWNLOAD_IMAGE, "Enregistrer l'image",
+T_NO_LINK_SELECTED, "Aucun lien sélectionné",
+T_IMAGE, "Image",
+T_USEMAP, "Imagemap",
+T_XTERM, "Xterm",
+T_TWTERM, "TwTerm",
+T_SCREEN, "Écran",
+T_WINDOW, "Fenêtre",
+T_FULL_SCREEN, "Plein écran",
+T_BEOS_TERMINAL, "Terminal BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, "Javascript",
+T_SUBMIT_FORM_TO, "Envoi du formulaire à",
+T_POST_FORM_TO, "Transfert du formulaire à",
+T_RADIO_BUTTON, "Boutons radio",
+T_CHECKBOX, "Case à cocher",
+T_SELECT_FIELD, "Liste",
+T_TEXT_FIELD, "Champ texte",
+T_TEXT_AREA, "Champ texte multiligne",
+T_FILE_UPLOAD, "Envoi de fichier",
+T_PASSWORD_FIELD, "Champ mot de passe",
+T_BUTTON, "Soumettre formulaire à",
+T_NAME, "Nom",
+T_VALUE, "Valeur",
+T_HIT_ENTER_TO, "Appuyez sur Entrée",
+T_SUBMIT_TO, "Envoi à",
+T_POST_TO, "Transfert à",
+T_INFO, "Info",
+T_HEADER_INFO, "Info. entêtes",
+T_YOU_ARE_NOWHERE, "Vous n'êtes nulle part !",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Taille",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "incomplet",
+T_CODEPAGE, "Jeu de caractères",
+T_ASSUMED, "supposé",
+T_IGNORING_SERVER_SETTING, "Configuration du serveur ignorée",
+T_SERVER, "Serveur",
+T_DATE, "Date",
+T_LAST_MODIFIED, "Dernière modification",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Langue",
+T_GO_TO_LINK, "Aller au lien",
+T_ENTER_LINK_NUMBER, "Indiquer le numéro du lien",
+T_RESIZE_TERMINAL, "Modification des dimensions du terminal",
+T_COLUMNS, "Colonnes",
+T_ROWS, "Lignes",
+T_GOTO, "Aller à",
+T_CLOSE, "Fermer",
+T_FOLDER, "Répertoire",
+T_fOLDER, "répertoire",
+T_ADD, "Ajouter",
+T_DELETE, "Effacer",
+T_EDIT, "Modifier",
+T_MOVE, "Déplacer",
+T_NO_ITEMS_SELECTED, "Pas de points sélectionnés. Rien à déplacer.",
+T_UNSELECT_ALL, "Désélectionner tout",
+T_BOOKMARKS, "Signets",
+T_BOOKMARK, "signet",
+T_ADD_BOOKMARK, "Ajouter un signet",
+T_ADD_ASSOCIATION, "Ajouter association",
+T_ADD_EXTENSION, "Ajouter extension",
+T_ADD_FOLDER, "Ajouter répertoire",
+T_BOOKMARK_TITLE, "Description",
+T_EDIT_BOOKMARK, "Modifier signet",
+T_EDIT_ASSOCIATION, "Modidier association",
+T_EDIT_EXTENSION, "Modifier extension",
+T_DELETE_BOOKMARK, "Effacer signet",
+T_EDIT_FOLDER, "Modidier répertoire",
+T_DELETE_FOLDER, "Effacer répertoire",
+T_NOT_EMPTY_SURE_DELETE, "pas vide. Voulez-vous réellement l'effacer ?",
+T_BOOKMARK_MANAGER, "Gestion des signets",
+T_ASSOCIATIONS_MANAGER, "Gestion association",
+T_EXTENSIONS_MANAGER, "Gestion extensions",
+T_url, "URL",
+T_NNAME, "Nom",
+T_EXIT_LINKS, "Quitter ?",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "Êtes-vous sûr de vouloir fermer cette fenêtre ?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Êtes-vous sûr de vouloir quitter Links ?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Interrompre les téléchargements et quitter Links ?",
+T_HTTP_OPTIONS, "Options HTTP",
+T_FTP_OPTIONS, "Options FTP",
+T_HTTP_BUG_WORKAROUNDS, "Contourner les erreurs HTTP ?",
+T_USE_HTTP_10, "Utiliser HTTP 1.0 ?",
+T_ALLOW_SERVER_BLACKLIST, "Mise en liste noire des serveurs bogués ?",
+T_BROKEN_302_REDIRECT, "Redirection 302 défectueuse ?",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Ne pas maintenir la connexion après une requête POST ?",
+T_DO_NOT_SEND_ACCEPT_CHARSET, "Ne pas envoyer Accept-Charset",
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, "Ne pas avertir sur le support compressé",
+T_RETRY_ON_INTERNAL_ERRORS, "Recommancer sur les erreurs internes du serveur (50x)",
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "Pas de referer",
+T_REFERER_SAME_URL, "Envoyer les requêtes URL comme referer",
+T_REFERER_FAKE, "Fixer referer",
+T_REFERER_REAL_SAME_SERVER, "Envoyer referer réel seulement au même serveur",
+T_REFERER_REAL, "Envoyer referer réel (opération normale, peu sûr !!!)",
+T_FAKE_REFERER, "Fixer HTTP Referer",
+T_FAKE_USERAGENT, "Truquer User-Agent",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Mot de passe pour les connexions anonymes",
+T_USE_PASSIVE_FTP, "Utiliser FTP mode passive",
+T_USE_FAST_FTP, "Utiliser FTP rapide (mais incompatible RFC)",
+T_SET_TYPE_OF_SERVICE, "Activer IP Type Of Service",
+T_MANUAL, "Manuel",
+T_HOMEPAGE, "Page d'accueil",
+T_CALIBRATION, "Calibration",
+T_MAILTO_PROG, "Programme E-Mail (% = adresse)",
+T_SHELL_PROG, "Programme Shell (% = commande)",
+T_TELNET_PROG, "Programme Telnet (% = port hôte)",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Programme TN3270 (% = port hôte)",
+T_MMS_PROG, "Programme MMS (% = URL)",
+T_MAIL_AND_TELNET_PROGRAMS, "Clients e-mail/telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Clients e-mail/telnet/shell",
+T_NO_PROGRAM, "Pas de programme",
+T_NO_PROGRAM_SPECIFIED_FOR, "Aucun programme n'est défini pour ",
+T_MAIL, "e-mail",
+T_TELNET, "Telnet",
+T_MAGNET, NULL,
+T_TN3270, "TN3270",
+T_MMS, "mms",
+T_BAD_MAILTO_URL, "Adresse e-mail incorrecte",
+T_BAD_TELNET_URL, "Adresse Telnet incorrecte",
+T_BAD_TN3270_URL, "Adresse TN3270 incorrecte",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "L'URL MMS contient des caractères inaceptables",
+T_AUTHORIZATION_REQUIRED, "Autorisation demandée",
+T_PROXY_AUTHORIZATION_REQUIRED, "Autorisation proxy demandée",
+T_USERID, "ID utilisateur",
+T_PASSWORD, "Mot de passe",
+T_ENTER_USERNAME, "Entrez le nom d'utilisateur pour ",
+T_AT, "à ",
+T_SSL_ERROR, "Erreur SSL",
+T_NO_SSL, "Cette version de Links ne supporte pas SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, "Socks rejet ou disfonctionnement",
+T_BAD_SOCKS_VERSION, "Mauvaise version Socks (4a demandée)",
+T_SOCKS_NO_IDENTD, "Proxy Socks ne peut se connecter au serveur identd",
+T_SOCKS_BAD_USERID, "Mauvais userid Socks",
+T_SOCKS_UNKNOWN_ERROR, "Erreur Socks inconnue",
+T_NO_SMB_CLIENT, "Pas de programme client smb installé (smbclient or smbc supportés)",
+T_DECOMPRESSION_ERROR, "Erreur décompression",
+T_ERROR_DECOMPRESSING_, "Erreur décompression ",
+T__wITH_, " avec ",
+T_COMPRESSED_ERROR, "Error dans les données compressés",
+T_UNKNOWN_COMPRESSION_METHOD, "Méthode de compression inconnue",
+T_SURE_DELETE, "Confirmation effacement",
+T_BOOKMARKS_ALREADY_IN_USE, "Signets déja en cours d'utilisation",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Associations déja en cours d'utilisation !",
+T_EXTENSIONS_ALREADY_IN_USE, "Extensions déja en cours d'utilisation !",
+T_VIDEO_OPTIONS, "Options vidéo",
+T_VIDEO_OPTIONS_TEXT, "Niveaux gamma utilisateur recommandés:\n 1.33 pour pièce noire, 1.11 pour pièce sombre, 1 pour l'éclairage habituel de l'espace de travail d'un ordinateur, 0.88 pour un environnement très éclairé.",
+T_RED_DISPLAY_GAMMA, "Gamma affichage du rouge",
+T_GREEN_DISPLAY_GAMMA, "Gamma affichage du vert",
+T_BLUE_DISPLAY_GAMMA, "Gamma affichage du bleu",
+T_USER_GAMMA, "Gamma utilisateur",
+T_ALERT, "Alerte",
+T_QUESTION, "Question",
+T_KILL_SCRIPT, "Tuer script",
+T_KILL_ALL_SCRIPTS, "Tuer tous les scripts",
+T_SCRIPT_KILLED_BY_USER, "Javascript tué par l'utilisateur",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript essai de fermer la fenêtre du navigateur. Voulez-vous réellement fermer la fenêtre ?",
+T_ENTER_STRING, "Entrer texte",
+T_JAVASCRIPT_OPTIONS, "Options javascript",
+T_ENABLE_JAVASCRIPT, "Autoriser javascript",
+T_VERBOSE_JS_ERRORS, "Suivi erreurs javascript",
+T_VERBOSE_JS_WARNINGS, "Suivi avertisements javascript",
+T_MISCELANEOUS_OPTIONS, "Options diverses",
+T_JAVASCRIPT_ERROR, "Erreur javascript",
+T_JAVASCRIPT_WARNING, "Avertissement javascript",
+T_DISMISS, "Rejeter",
+T_MENU_FONT_SIZE, "Taille fonte nenu",
+T_USER_FONT_SIZE, "Taille fonte utilisateur",
+T_TURN_OFF_WARNINGS, "Couper avertissements",
+T_BOOKMARKS_ENCODING, "Encodage signets",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript essai d'aller à une URL",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript essai d'ouvrir une nouvelle fenêtre avec URL",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript essai d'aller dans l'historique",
+T_TO_URL, "à l'URL",
+T_GOTO_HISTORY, "Historique",
+T_ALLOW, "Permettre",
+T_REJECT, "Rejet",
+T_ENABLE_ALL_CONVERSIONS, "Autoriser toutes les conversions",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Autoriser nom global",
+T_MANUAL_JS_CONTROL, "Confirmation manuelle des opérations javascript",
+T_JS_RECURSION_DEPTH, "Profondeur recursion",
+T_MENU_BACKGROUND_COLOR, "Couleur de fond",
+T_MENU_FOREGROUND_COLOR, "Couleur premier plan",
+T_SCROLL_BAR_BAR_COLOR, "Couleur barre ascenseur",
+T_SCROLL_BAR_AREA_COLOR, "Couleur curseur ascenseur",
+T_SCROLL_BAR_FRAME_COLOR, "Couleur cadre ascenseur",
+T_BOOKMARKS_FILE, "Fichier signets",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Entrer les couleurs comme des triplés RVB en hexa.",
+T_JS_MEMORY_LIMIT_KB, "Mémoire réservée à javascript (Ko)",
+T_DITHER_LETTERS, "Tramage lettres",
+T_DITHER_IMAGES, "Tramage images",
+T_8_BIT_GAMMA_CORRECTION, "Correction gamma 8 bits",
+T_16_BIT_GAMMA_CORRECTION, "Correction gama 16 bits",
+T_AUTO_GAMMA_CORRECTION, "Correction gamma auto (en rapport à la vitesse FPU)",
+T_SCALE_ALL_IMAGES_BY, "Facteur d'échelle des images par (%)",
+T_PORN_ENABLE, "Mise à l'échelle image seule",
+T_DISPLAY_OPTIMIZATION_CRT, "Optimisation affichage pour CRT",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optimisation affichage LCD (RVB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optimisation affichage LCD (BVR)",
+T_ASPECT_RATIO, "Ratio aspect",
+T_ASPECT_CORRECTION_ON, "Avec correction aspect",
+T_KEYBOARD_CODEPAGE, "Codes clavier",
+T_COPY_LINK_LOCATION, "Copier lien",
+T_BLOCK_URL, "Bloquer image",
+T_BLOCK_LIST, "Blocage d'images",
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, "Gestion blocage d'images déja ouverte",
+T_BLOCK_LIST_MANAGER, "Gestion blocage d'images",
+T_BLOCK_ADD, "Ajouter URL image",
+T_BLOCK_EDIT, "Modidier URL image",
+T_BLOCK_DELETE, "Effacer",
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "Z",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "E",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "P",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "C",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "L",
+T_HK_RESIZE_TERMINAL, NULL,
+T_HK_EXIT, "Q",
+T_HK_SEARCH, "C",
+T_HK_SEARCH_BACK, "A",
+T_HK_FIND_NEXT, "S",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "B",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "L",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "E",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "J",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "R",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "E",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "F",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "O",
+T_HK_ABOUT, "I",
+T_HK_KEYS, "T",
+T_HK_COPYING, "L",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "F",
+T_HK_VIEW, "A",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "E",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "S",
+T_HK_OPEN_IN_NEW_WINDOW, "F",
+T_HK_DOWNLOAD_LINK, "E",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/galician.lng b/intl/galician.lng
new file mode 100644
index 0000000..e9b251f
--- /dev/null
+++ b/intl/galician.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-1",
+T__LANGUAGE, "Galician",
+T__ACCEPT_LANGUAGE, "gl",
+T_OK, "Aceptar",
+T_CANCEL, "Cancelar",
+T_BAD_NUMBER, "Número non válido",
+T_NUMBER_EXPECTED, "Agardábase un número no campo",
+T_NUMBER_OUT_OF_RANGE, "Número fora de rango",
+T_BAD_STRING, "Cadea non válida",
+T_EMPTY_STRING_NOT_ALLOWED, "Non se permite unha cadea baleira",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Erro de configuración",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Non se puido escribir no ficheiro de configuración",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Acerca de",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nNavegador WWW",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Teclas",
+T_KEYS_DESC, "ESC Amosar menú\n^C, q Sair\n^P, ^N Desprazar arriba, abaixo\n[, ] Desprazar esquerda, dereita\narriba/abaixo Seleccionar ligazón\n-> Seguir ligazón\n<- Voltar atrás\ng Ir a URL\nG Ir a URL a partir da actual\n/ Buscar\n? Buscar hacia atrás\nn Atopar seguinte\nN Atopar anterior\n= Info do documento\n| Info das cabeceiras\n\\ Fonte do documento\nd Descargar",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Licencia",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nEste programa é software libre; pode redistribuílo e/ou modificalo baixo os termos da Licencia Xeral Pública GNU publicada pola Free Software Foundation; tanto a versión 2 da Licencia, ou (á súa elección) calqueira versión posterior.",
+T_RESOURCES, "Recursos",
+T_CONNECTIONS, "Conexións",
+T_MEMORY_CACHE, "Caché en memoria",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Caché do tipo de letra",
+T_IMAGE_CACHE, "Caché de imaxes",
+T_FORMATTED_DOCUMENT_CACHE, "Caché de documentos con formato",
+T_DNS_CACHE, NULL,
+T_HANDLES, "handles",
+T_TIMERS, "temporizadores",
+T_WAITING, NULL,
+T_CONNECTING, "conectando",
+T_tRANSFERRING, "transferindo",
+T_KEEPALIVE, "keepalive",
+T_BYTES, "bytes",
+T_LETTERS, "letras",
+T_FILES, "ficheiros",
+T_LOCKED, "bloqueado",
+T_LOADING, "cargando",
+T_IMAGES, "imaxes",
+T_DOCUMENTS, "documentos",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "bytes de memoria reservados",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Información da memoria",
+T_NO_HISTORY, "Sen historial",
+T_NO_DOWNLOADS, "Sen descargas",
+T_NO_FRAMES, "Sen marcos",
+T_VT_100_FRAMES, "Marcos VT 100",
+T_LINUX_OR_OS2_FRAMES, "Marcos Linux ou OS/2",
+T_KOI8R_FRAMES, "Marcos KOI8-R",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Usar ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Restrinxir marcos en cp850/852",
+T_BLOCK_CURSOR, "Cursor de bloque",
+T_COLOR, "Cor",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Opcións de terminal",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "Proxy HTTP (máquina:porto)",
+T_FTP_PROXY__HOST_PORT, "Proxy FTP (máquina:porto)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Dominios de acceso directo (sen proxy; separados por comas)",
+T_NETWORK_OPTIONS, "Opcións de rede",
+T_MAX_CONNECTIONS, "Máximo de conexións",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Máximo de conexións a unha máquina",
+T_RETRIES, "Reintentos",
+T_RECEIVE_TIMEOUT_SEC, "Prazo de recepción (seg)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Prazo se non é rearrancable",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Búsqueda DNS asíncrona",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Establecer data dos ficheiros descargados",
+T_CACHE_OPTIONS, "Opcións da caché",
+T_MEMORY_CACHE_SIZE__KB, "Tamaño da caché en memoria (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Tamaño da caché de imaxes (KiB)",
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Número de documentos formateados",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "Opcións HTML",
+T_DISPLAY_TABLES, "Amosar táboas",
+T_DISPLAY_FRAMES, "Amosar marcos",
+T_DISPLAY_IMAGES, "Amosar imaxes",
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Amosar ligazóns ás imaxes",
+T_LINK_ORDER_BY_COLUMNS, "Mover por columnas nas táboas",
+T_NUMBERED_LINKS, "As ligazóns están numeradas",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Marxe de texto",
+T_DEFAULT_CODEPAGE, "Táboa de códigos por defecto",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorar a información de xogo de caracteres do servidor",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Ir a URL",
+T_GO_BACK, "Voltar atrás",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Historial",
+T_RELOAD, "Recargar",
+T_NEW_WINDOW, "Nova fiestra",
+T_SAVE_AS, "Gardar como",
+T_SAVE_URL_AS, "Gardar URL como",
+T_SAVE_FORMATTED_DOCUMENT, "Gardar documento formateado",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Eliminar conexións en segundo plano",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Baleirar tódalas cachés",
+T_RESOURCE_INFO, "Información de recursos",
+T_OS_SHELL, "Intérprete de comandos do S.O.",
+T_EXIT, "Sair",
+T_SEARCH, "Buscar",
+T_SEARCH_BACK, "Buscar hacia atrás",
+T_FIND_NEXT, "Atopar seguinte",
+T_FIND_PREVIOUS, "Atopar anterior",
+T_TOGGLE_HTML_PLAIN, "Cambiar HTML/texto plano",
+T_DOCUMENT_INFO, "Información do documento",
+T_FRAME_AT_FULL_SCREEN, "Marco en pantalla completa",
+T_SAVE_HTML_OPTIONS, "Gardar opcións de HTML",
+T_CHARACTER_SET, "Xogo de caracteres",
+T_CACHE, "Caché",
+T_MAIL_AND_TELNEL, "Correo e telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Asociacións",
+T_FILE_EXTENSIONS, "Extensións de ficheiros",
+T_SAVE_OPTIONS, "Gardar opcións",
+T_FILE, "Ficheiro",
+T_VIEW, "Ver",
+T_LINK, "Ligazón",
+T_DOWNLOADS, "Descargas",
+T_SETUP, "Configuración",
+T_HELP, "Axuda",
+T_ENTER_URL, "Introduza unha URL",
+T_SAVE_URL, "Gardar URL",
+T_DOWNLOAD, "Descargar",
+T_SAVE_TO_FILE, "Gardar ó ficheiro",
+T_SEARCH_FOR_TEXT, "Buscar texto",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Agardando na cola",
+T_LOOKING_UP_HOST, "Buscando máquina",
+T_MAKING_CONNECTION, "Establecendo conexión",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "Negociación SSL",
+T_REQUEST_SENT, "Petición enviada",
+T_GETTING_HEADERS, "Obtendo as cabeceiras",
+T_LOGGING_IN, "Iniciando sesión",
+T_SERVER_IS_PROCESSING_REQUEST, "O servidor está procesando a petición",
+T_TRANSFERRING, "Transferindo",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Agardando pola confirmación da redirección",
+T_INTERRUPTED, "Interrumpido",
+T_SOCKET_EXCEPTION, "Excepción de socket",
+T_INTERNAL_ERROR, "Erro interno",
+T_OUT_OF_MEMORY, "Sen memoria",
+T_HOST_NOT_FOUND, "Non se atopou a máquina",
+T_ERROR_WRITING_TO_SOCKET, "Erro escribindo nun socket",
+T_ERROR_READING_FROM_SOCKET, "Erro lendo dun socket",
+T_DATA_MODIFIED, "Datos modificados",
+T_BAD_URL_SYNTAX, "Sintaxe de URL incorrecta",
+T_RECEIVE_TIMEOUT, "Prazo de recepción sobrepasado",
+T_REQUEST_MUST_BE_RESTARTED, "A petición debe ser reiniciada",
+T_CANT_GET_SOCKET_STATE, "Non se puido saber o estado do socket",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Resposta HTTP incorrecta",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Non hai contido",
+T_UNKNOWN_FILE_TYPE, "Tipo de ficheiro descoñecido",
+T_ERROR_OPENING_FILE, "Erro abrindo ficheiro",
+T_BAD_FTP_RESPONSE, "Resposta FTP incorrecta",
+T_FTP_SERVICE_UNAVAILABLE, "O servicio FTP non está dispoñible",
+T_BAD_FTP_LOGIN, "Login FTP erróneo",
+T_FTP_PORT_COMMAND_FAILED, "Fallou o comando FTP PORT",
+T_FILE_NOT_FOUND, "Non se atopou o ficheiro",
+T_FTP_FILE_ERROR, "Erro FTP de ficheiro",
+T_UNKNOWN_ERROR, "Erro descoñecido",
+T_RECEIVED, "Recibidos",
+T_OF, "de",
+T_AVG, "media",
+T_CUR, "actuais",
+T_AVERAGE_SPEED, "Velocidade media",
+T_SPEED, "Velocidade",
+T_CURRENT_SPEED, "velocidade actual",
+T_ELAPSED_TIME, "Tempo transcorrido",
+T_ESTIMATED_TIME, "tempo estimado",
+T_BACKGROUND, "2º plano",
+T_ABORT, "Cancelar",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Sí",
+T_NO, "Non",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Erro de descarga",
+T_COULD_NOT_WRITE_TO_FILE, "Non se puido crear o ficheiro",
+T_ERROR_DOWNLOADING, "Erro descargando",
+T_ERROR_LOADING, "Erro cargando",
+T_COULD_NOT_CREATE_FILE, "Non se puido crear o ficheiro",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Tipo descoñecido",
+T_CONTENT_TYPE_IS, "O tipo de contido é",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "¿Quere abrir, gardar ou amosar este ficheiro?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "¿Quere abrir ou amosar este ficheiro?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "¿Quere gardar ou amosar este ficheiro?",
+T_SAVE, "Gardar",
+T_DISPLAY, "Amosar",
+T_WHAT_TO_DO, "¿Qué fago?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "¿Quere abrir este ficheiro con",
+T_SAVE_IT_OR_DISPLAY_IT, "gardalo ou mostralo?",
+T_OPEN, "Abrir",
+T_OPEN_WITH, "Abrir con",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Quere seguir a redirección e enviar os datos do formulario á url",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Quere enviar os datos do formulario á url",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Quere volver a enviar os datos do formulario á url",
+T_WARNING, "Aviso",
+T_ERROR, "Erro",
+T_WELCOME, "Benvido",
+T_WELCOME_TO_LINKS, "Benvido a links!",
+T_BASIC_HELP, "Pulse ESC para o menú. Escolla Axuda->Manual no menú para o manual de usuario.",
+T_LABEL, "Etiqueta",
+T_CONTENT_TYPES, "Tipo(s) de contido",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programa ('%' é remprazado polo nome do ficheiro)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Bloquear terminal mentres o programa se está executando",
+T_RUN_ON_TERMINAL, "Executar en terminal",
+T_RUN_IN_XWINDOW, "Executar en X-Window",
+T_ASK_BEFORE_OPENING, "Preguntar antes de abrir",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Eliminar asociación",
+T_ASSOCIATION, "asociación",
+T_EXTENSION_S, "Extensión(s)",
+T_CONTENT_TYPE, "Tipo de contido",
+T_DELETE_EXTENSION, "Eliminar extensión",
+T_EXTENSION, "Extensión",
+T_eXTENSION, "extensión",
+T_ERROR_WHILE_POSTING_FORM, "Erro durante o envío do formulario",
+T_COULD_NOT_GET_FILE, "Non se puido obter o ficheiro",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Non hai búsqueda anterior",
+T_SEARCH_STRING_NOT_FOUND, "Non se atopou a cadea de búsqueda",
+T_SAVE_ERROR, "Erro ó gardar",
+T_ERROR_WRITING_TO_FILE, "Erro escribindo a ficheiro",
+T_DISPLAY_USEMAP, "Amosar Usemap",
+T_FOLLOW_LINK, "Seguir ligazón",
+T_OPEN_IN_NEW_WINDOW, "Abrir en nova fiestra",
+T_DOWNLOAD_LINK, "Descargar ligazón",
+T_RESET_FORM, "Restablecer formulario",
+T_SUBMIT_FORM, "Enviar formulario",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Enviar formulario e abrir nunha fiestra nova",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Enviar formulario e descargar",
+T_VIEW_IMAGE, "Ver imaxe",
+T_DOWNLOAD_IMAGE, "Descargar imaxe",
+T_NO_LINK_SELECTED, "Non hai ningunha ligazón seleccionada",
+T_IMAGE, "Imaxe",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Pantalla",
+T_WINDOW, "Fiestra",
+T_FULL_SCREEN, "Pantalla completa",
+T_BEOS_TERMINAL, "Terminal de BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Enviar formulario a",
+T_POST_FORM_TO, "Enviar (por Post) formulario a",
+T_RADIO_BUTTON, "Botón radial",
+T_CHECKBOX, "Caixa de selección",
+T_SELECT_FIELD, "Campo de selección",
+T_TEXT_FIELD, "Campo de texto",
+T_TEXT_AREA, "Area de texto",
+T_FILE_UPLOAD, "Enviar ficheiro",
+T_PASSWORD_FIELD, "Campo de contrasinal",
+T_BUTTON, "Botón",
+T_NAME, "nome",
+T_VALUE, "valor",
+T_HIT_ENTER_TO, "pulse ENTER para",
+T_SUBMIT_TO, "enviar a",
+T_POST_TO, "enviar (por Post) a",
+T_INFO, "Información",
+T_HEADER_INFO, "Información das cabeceiras",
+T_YOU_ARE_NOWHERE, "¡Vostede non está en ningunha parte!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Tamaño",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "incompleto",
+T_CODEPAGE, "Táboa de códigos",
+T_ASSUMED, "asumido",
+T_IGNORING_SERVER_SETTING, "ignorando configuración do servidor",
+T_SERVER, "Servidor",
+T_DATE, "Data",
+T_LAST_MODIFIED, "Ultima modificación",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Lingua",
+T_GO_TO_LINK, "Ir a ligazón",
+T_ENTER_LINK_NUMBER, "Introduce nº de ligazón",
+T_RESIZE_TERMINAL, "Redimensionar terminal",
+T_COLUMNS, "Columnas",
+T_ROWS, "Filas",
+T_GOTO, "Ir a",
+T_CLOSE, "Pechar",
+T_FOLDER, "Directorio",
+T_fOLDER, "directorio",
+T_ADD, "Engadir",
+T_DELETE, "Borrar",
+T_EDIT, "Editar",
+T_MOVE, "Mover",
+T_NO_ITEMS_SELECTED, "Non hai elementos seleccionados. Nada para mover.",
+T_UNSELECT_ALL, "Deseleccionar todo",
+T_BOOKMARKS, "Marcadores",
+T_BOOKMARK, "marcador",
+T_ADD_BOOKMARK, "Engadir marcador",
+T_ADD_ASSOCIATION, "Engadir asociación",
+T_ADD_EXTENSION, "Engadir extensión",
+T_ADD_FOLDER, "Engadir directorio",
+T_BOOKMARK_TITLE, "Título do marcador",
+T_EDIT_BOOKMARK, "Editar marcador",
+T_EDIT_ASSOCIATION, "Editar asociación",
+T_EDIT_EXTENSION, "Editar extensión",
+T_DELETE_BOOKMARK, "Borrar marcador",
+T_EDIT_FOLDER, "Editar directorio",
+T_DELETE_FOLDER, "Borrar directorio",
+T_NOT_EMPTY_SURE_DELETE, "non está baleiro. ¿Seguro que quere borralo?",
+T_BOOKMARK_MANAGER, "Xestor de marcadores",
+T_ASSOCIATIONS_MANAGER, "Xestor de asociacións",
+T_EXTENSIONS_MANAGER, "Xestor de extensións",
+T_url, "url",
+T_NNAME, "Nome",
+T_EXIT_LINKS, "Sair de Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "¿Realmente quere sair de Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "¿Realmente quere sair de Links (e rematar tódalas descargas)?",
+T_HTTP_OPTIONS, "Opcións HTTP",
+T_FTP_OPTIONS, "Opcións FTP",
+T_HTTP_BUG_WORKAROUNDS, "Correcións de fallos HTTP",
+T_USE_HTTP_10, "Usar HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Permitir lista negra de servidores defectuosos",
+T_BROKEN_302_REDIRECT, "Redirección 302 incorrecta (viola o RFC, pero é compatible con Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Non manter viva a conexión tras unha petición POST (algunhas bases de datos PHP defectuosas necesitan esto)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "Sen referer",
+T_REFERER_SAME_URL, "Enviar URL solicitada como referer",
+T_REFERER_FAKE, "Referer fixo",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "Enviar referer auténtico (operación normal, ¡¡INSEGURO!!)",
+T_FAKE_REFERER, "HTTP Referer fixo",
+T_FAKE_USERAGENT, "User-Agent falso",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Contrasinal para o login anónimo",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Manual de usuario",
+T_HOMEPAGE, "Páxina de inicio",
+T_CALIBRATION, "Calibrar",
+T_MAILTO_PROG, "Programa de correo (% é remprazado pola dirección)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Programa de telnet (% é remprazado por \"máquina\" ou \"máquina porto\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Programa de Tn3270 (% é remprazado por \"máquina\" ou \"máquina porto\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Programas de correo e telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Sen programa",
+T_NO_PROGRAM_SPECIFIED_FOR, "Sen programa especificado para",
+T_MAIL, "correo",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "URL mailto errónea",
+T_BAD_TELNET_URL, "URL telnet errónea",
+T_BAD_TN3270_URL, "URL tn3270 errónea",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "ID de usuario",
+T_PASSWORD, "Contrasinal",
+T_ENTER_USERNAME, "Introduza o nome de usuario para ",
+T_AT, "en ",
+T_SSL_ERROR, "erro SSL",
+T_NO_SSL, "Esta versión de Links non contén soporte de SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "¿Seguro que queres borrar",
+T_BOOKMARKS_ALREADY_IN_USE, "¡Os marcadores xa están en uso!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "¡As asociacións xa están en uso!",
+T_EXTENSIONS_ALREADY_IN_USE, "¡As extensións xa están en uso!",
+T_VIDEO_OPTIONS, "Opcións de vídeo",
+T_VIDEO_OPTIONS_TEXT, "Valor de gamma do usuario recomendado:\n 1.33 para salas escuras, 1.11 para salas con pouca luz, 1 para iluminacións habituais, 0.88 para iluminación brillante.",
+T_RED_DISPLAY_GAMMA, "Gamma vermello",
+T_GREEN_DISPLAY_GAMMA, "Gamma verde",
+T_BLUE_DISPLAY_GAMMA, "Gamma azul",
+T_USER_GAMMA, "Gamma do usuario",
+T_ALERT, "Alerta",
+T_QUESTION, "Pregunta",
+T_KILL_SCRIPT, "Matar script",
+T_KILL_ALL_SCRIPTS, "Matar tódolos scripts",
+T_SCRIPT_KILLED_BY_USER, "Javascript matado polo usuario",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript está intentando pechar a fiestra do navegador. ¿Realmente queres pechala?",
+T_ENTER_STRING, "Introduza cadea",
+T_JAVASCRIPT_OPTIONS, "Opcións de Javascript",
+T_ENABLE_JAVASCRIPT, "Habilitar Javascript",
+T_VERBOSE_JS_ERRORS, "Erros de Javascript detallados",
+T_VERBOSE_JS_WARNINGS, "Avisos de Javascript detallados",
+T_MISCELANEOUS_OPTIONS, "Opcións misceláneas",
+T_JAVASCRIPT_ERROR, "Erro de Javascript",
+T_JAVASCRIPT_WARNING, "Aviso de Javascript",
+T_DISMISS, "Descartar",
+T_MENU_FONT_SIZE, "Tamaño da letra do menú",
+T_USER_FONT_SIZE, "Tamaño da letra do usuario",
+T_TURN_OFF_WARNINGS, "Desactivar avisos",
+T_BOOKMARKS_ENCODING, "Codificación dos marcadores",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript está intentando ir á URL",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript está intentando abrir unha nova fiestra coa URL",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript está intentando ir ó historial",
+T_TO_URL, "á url",
+T_GOTO_HISTORY, "Ir ó historial",
+T_ALLOW, "Permitir",
+T_REJECT, "Rexeitar",
+T_ENABLE_ALL_CONVERSIONS, "Habilitar tódalas conexións",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Habilitar resolución de nomes global",
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, "Profundidade da recursión",
+T_MENU_BACKGROUND_COLOR, "Cor de fondo do menú",
+T_MENU_FOREGROUND_COLOR, "Cor do primeiro plano do menú",
+T_SCROLL_BAR_BAR_COLOR, "Cor da barra de desprazamento",
+T_SCROLL_BAR_AREA_COLOR, "Cor da área da barra de desprazamento",
+T_SCROLL_BAR_FRAME_COLOR, "Cor do marco da barra de desprazamento",
+T_BOOKMARKS_FILE, "Ficheiro de marcadores",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Intruduce cores como tripletes hexadecimais RRGGBB.",
+T_JS_MEMORY_LIMIT_KB, "Memoria adicada ó Javascript (KiB)",
+T_DITHER_LETTERS, "Difuminar letras",
+T_DITHER_IMAGES, "Difuminar imaxes",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "Escalar tódalas imaxes un (%)",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, "Optimización de visualización para CRT",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optimización de visualización para LCD (RGB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optimización de visualización para LCD (BGR)",
+T_ASPECT_RATIO, "Relación de aspecto",
+T_ASPECT_CORRECTION_ON, "Corrección de aspecto en",
+T_KEYBOARD_CODEPAGE, "Páxina de códigos do teclado",
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "I",
+T_HK_GO_BACK, "V",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "M",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "G",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "F",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "L",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "B",
+T_HK_RESOURCE_INFO, "N",
+T_HK_MEMORY_INFO, "O",
+T_HK_OS_SHELL, "C",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "S",
+T_HK_SEARCH, "B",
+T_HK_SEARCH_BACK, "T",
+T_HK_FIND_NEXT, "S",
+T_HK_FIND_PREVIOUS, "A",
+T_HK_TOGGLE_HTML_PLAIN, "C",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "M",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "G",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "X",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, "V",
+T_HK_NETWORK_OPTIONS, "R",
+T_HK_JAVASCRIPT_OPTIONS, "J",
+T_HK_MISCELANEOUS_OPTIONS, "M",
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "O",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "G",
+T_HK_ABOUT, "A",
+T_HK_KEYS, "T",
+T_HK_COPYING, "L",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, "P",
+T_HK_CALIBRATION, "B",
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "S",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "L",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "V",
+T_HK_DOWNLOAD_IMAGE, "I",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/gen-intl b/intl/gen-intl
new file mode 100755
index 0000000..e94297f
--- /dev/null
+++ b/intl/gen-intl
@@ -0,0 +1,46 @@
+#!/bin/sh
+LC_ALL=C
+export LC_ALL
+echo
+echo Generating language table.
+mangle_unprintable_command="`./mangle-unprintable`"
+languages=`cat index.txt|sed 's/ //g'`
+if [ -n "$languages" ]; then
+(
+n=0
+echo '/* Automatically generated by gen-intl */'
+for i in $languages; do
+ echo -n $i" " 1>&2
+ echo
+ echo 'static struct translation translation_'$i' [] = {'
+ echo ' { 0, NULL },'
+ cat $i.lng | eval "$mangle_unprintable_command" | sed 's/^/ {/' | sed 's/,[ ]*$/ },/'
+ echo ' { 0, NULL }'
+ echo '};'
+ n=`expr $n + 1`
+done
+echo
+echo 'static struct translation_desc translations [] = {'
+for i in $languages; do
+ echo ' { translation_'$i' },'
+done
+echo ' { NULL }'
+echo '};'
+echo
+(
+ echo '/* Automatically generated by gen-intl */'
+ echo
+ echo '#define N_LANGUAGES '$n
+ echo
+ cat english.lng | grep '^T_' | (cat; echo T__N_TEXTS) | sed 's/,.*//' | cat -n | sed 's/^\([^T]*\)\(.*\)$/#define \2 \1/'
+) | sed 's/ //g' > language.h
+) | sed 's/ //g' > ../language.inc
+if cmp -s ../language.h language.h; then
+ rm -f language.h
+else
+ mv language.h ..
+fi
+echo
+echo Done.
+fi
+echo
diff --git a/intl/german.lng b/intl/german.lng
new file mode 100644
index 0000000..a9869d7
--- /dev/null
+++ b/intl/german.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-1",
+T__LANGUAGE, "German",
+T__ACCEPT_LANGUAGE, "de",
+T_OK, "OK",
+T_CANCEL, "Abbruch",
+T_BAD_NUMBER, "fehlerhafte Zahl",
+T_NUMBER_EXPECTED, "Zahleingabe erwartet",
+T_NUMBER_OUT_OF_RANGE, "Ungültiger Zahlbereich",
+T_BAD_STRING, "Falsche Eingabe",
+T_EMPTY_STRING_NOT_ALLOWED, "Werteingabe erforderlich",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Konfigurationsfehler",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Kann Konfigurationsdatei nicht schreiben",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Über",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW-Browser",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Tasten",
+T_KEYS_DESC, "ESC Menue-Anzeige\n^C, q quit\n^P, ^N auf/ab blättern\n[, ] links/rechts blättern \nBild rauf/runter Linkauswahl\n-> Link folgen\n<- zurück\nz zurück (nur im Grafischmodus)\n^r wiederladen\ng gehe zu Adresse\nG gehe zu Adresse (von aktueller URL)\n^G gehe zu Adresse (von aktueller Link)\n/ Suche\n? Suche rückwärts\nn nächster Suchbegriff\nN vorh. Suchbegriff\n= Dokument-Info\n| Kopf-Info\n\\ Dokument-Quelle\nd Speichern\n^W URL oder Suchetext komplettieren",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Lizenz",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nDieses Programm ist freie Software; es kann unter den Bedingungen der GNU General Public License - wie von der Free Software Foundation veröffentlicht - verändert/weiter verbreitet werden; entweder Version 2 der GPL, oder (wenn Sie möchten) jede neuere Version",
+T_RESOURCES, "Resourcen",
+T_CONNECTIONS, "Verbindungen",
+T_MEMORY_CACHE, "Hauptspeicher-Cache",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Zeichensatz-Cache",
+T_IMAGE_CACHE, "Bilder-Cache",
+T_FORMATTED_DOCUMENT_CACHE, "Formatierte Dokumenten-Cache",
+T_DNS_CACHE, NULL,
+T_HANDLES, "offene Dateien",
+T_TIMERS, "Zeitgeber",
+T_WAITING, NULL,
+T_CONNECTING, "Verbindungen im Aufbau",
+T_tRANSFERRING, "Übertragungen",
+T_KEEPALIVE, "Verbindung halten",
+T_BYTES, "Bytes",
+T_LETTERS, "Zeichen",
+T_FILES, "Datei/en",
+T_LOCKED, "gesperrt",
+T_LOADING, "geladen",
+T_IMAGES, "Bilder",
+T_DOCUMENTS, "Dokumente",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "zugewiesener Hauptspeicher",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Hauptspeicherverbrauch",
+T_NO_HISTORY, "Keine history",
+T_NO_DOWNLOADS, "Keine Downloads",
+T_NO_FRAMES, "Keine Rahmen",
+T_VT_100_FRAMES, "VT 100 Rahmen",
+T_LINUX_OR_OS2_FRAMES, "Linux oder OS/2 Rahmen",
+T_KOI8R_FRAMES, "KOI8-R Rahmen",
+T_FREEBSD_FRAMES, "FreeBSD Rahmen",
+T_USE_11M, "Benutze ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Beschränke Rahmen im cp850/852",
+T_BLOCK_CURSOR, "Blockcursor",
+T_COLOR, "Farbe",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Terminaloptionen",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP Proxy (Rechner:Port)",
+T_FTP_PROXY__HOST_PORT, "FTP Proxy (Rechner:Port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Direktzugriff (w/o Proxy) Domänen (Kommaliste)",
+T_NETWORK_OPTIONS, "Netzwerkoptionen",
+T_MAX_CONNECTIONS, "Max. Verbindungen",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Max. Verbindungen zu einem Server",
+T_RETRIES, "Wiederholungen",
+T_RECEIVE_TIMEOUT_SEC, "Empfangswartezeit (sec)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Wartezeit bei Verb.-Aufbau",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Asynchr. DNS-Auflösung",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Datum/Zeit empfangener Dateien setzen",
+T_CACHE_OPTIONS, "Cache-Optionen",
+T_MEMORY_CACHE_SIZE__KB, "Hauptspeicher-Cache (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Bilder-Cache (KiB)",
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Anzahl formatierter Dokumente",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "HTML-Optionen",
+T_DISPLAY_TABLES, "Tabellen anzeigen",
+T_DISPLAY_FRAMES, "Rahmen anzeigen",
+T_DISPLAY_IMAGES, "Bilder anzeigen",
+T_DISPLAY_IMAGE_FILENAMES, "Bilddateinamen anzeigen",
+T_DISPLAY_LINKS_TO_IMAGES, "Bildverweise anzeigen",
+T_LINK_ORDER_BY_COLUMNS, "Links nach Spalten sortieren",
+T_NUMBERED_LINKS, "Links nummerieren",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, "Erlauben das Öffnen der Verweise in neuem Fenster",
+T_TEXT_MARGIN, "Textbereich",
+T_DEFAULT_CODEPAGE, "Standardzeichensatz",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Zeichensatz-Info des Servers ignorieren",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Gehe zu Adresse",
+T_GO_BACK, "Zurück",
+T_GO_FORWARD, NULL,
+T_HISTORY, "History",
+T_RELOAD, "Neu laden",
+T_NEW_WINDOW, "Neues Fenster",
+T_SAVE_AS, "Speichern als",
+T_SAVE_URL_AS, "Speichere Adresse als",
+T_SAVE_FORMATTED_DOCUMENT, "Speichere formatiertes Dokument",
+T_COPY_URL_LOCATION, "Netzadresse kopieren",
+T_KILL_BACKGROUND_CONNECTIONS, "Hintergrundverbindungen kappen",
+T_KILL_ALL_CONNECTIONS, "Alle Verbindungen kappen",
+T_FLUSH_ALL_CACHES, "Alle Cache-Bereiche leeren",
+T_RESOURCE_INFO, "Resourcen",
+T_OS_SHELL, "Befehlszeile",
+T_EXIT, "Ende",
+T_SEARCH, "Suche",
+T_SEARCH_BACK, "Suche rückwärts",
+T_FIND_NEXT, "Suche nächsten",
+T_FIND_PREVIOUS, "Suche vorherigen",
+T_TOGGLE_HTML_PLAIN, "Umschaltung HTML/Quelltext",
+T_DOCUMENT_INFO, "Dokumentinformationen",
+T_FRAME_AT_FULL_SCREEN, "Rahmen im Vollbildschirm",
+T_SAVE_HTML_OPTIONS, "HTML Sicherheit",
+T_CHARACTER_SET, "Zeichensatz",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "Mail und Telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Verknüpfungen",
+T_FILE_EXTENSIONS, "Dateiendungen",
+T_SAVE_OPTIONS, "Optionen speichern",
+T_FILE, "Datei",
+T_VIEW, "Anzeige",
+T_LINK, "Link",
+T_DOWNLOADS, "Downloads",
+T_SETUP, "Einstellungen",
+T_HELP, "Hilfe",
+T_ENTER_URL, "Adresse eingeben",
+T_SAVE_URL, "Adresse speichern",
+T_DOWNLOAD, "Download",
+T_SAVE_TO_FILE, "Speichern in Datei",
+T_SEARCH_FOR_TEXT, "Textsuche",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "In Warteschlange",
+T_LOOKING_UP_HOST, "Suche Host",
+T_MAKING_CONNECTION, "Verbindungsaufbau",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "SSL-Verhandlung",
+T_REQUEST_SENT, "Anforderung gesendet",
+T_GETTING_HEADERS, "Empfange Kopfzeilen",
+T_LOGGING_IN, "Melde an",
+T_SERVER_IS_PROCESSING_REQUEST, "Server verarbeitet Anforderung",
+T_TRANSFERRING, "Übertragung",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Warte auf Bestätigung",
+T_INTERRUPTED, "Unterbrochen",
+T_SOCKET_EXCEPTION, "Socket-Ausnahmefehler",
+T_INTERNAL_ERROR, "Interner Fehler",
+T_OUT_OF_MEMORY, "kein Hauptspeicher verfügbar",
+T_HOST_NOT_FOUND, "Host nicht gefunden",
+T_ERROR_WRITING_TO_SOCKET, "Socket-Schreibfehler",
+T_ERROR_READING_FROM_SOCKET, "Socket-Lesefehler",
+T_DATA_MODIFIED, "Daten geändert",
+T_BAD_URL_SYNTAX, "Fehlerhafte Adresse",
+T_RECEIVE_TIMEOUT, "Empfangs-Wartezeit abgelaufen",
+T_REQUEST_MUST_BE_RESTARTED, "Anforderung wird neu gesendet",
+T_CANT_GET_SOCKET_STATE, "Kann Socket-Status nicht abfragen",
+T_CYCLIC_REDIRECT, "Zyklische Umleitung",
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Fehlerhafte HTTP-Antwort",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Kein Inhalt",
+T_UNKNOWN_FILE_TYPE, "Unbekannter Dateityp",
+T_ERROR_OPENING_FILE, "Fehler bei Datei-Öffnung",
+T_BAD_FTP_RESPONSE, "fehlerhafte FTP-Antwort",
+T_FTP_SERVICE_UNAVAILABLE, "FTP-Dienst nicht verfügbar",
+T_BAD_FTP_LOGIN, "fehlerhafte FTP-Anmeldung",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT-Befehl falsch",
+T_FILE_NOT_FOUND, "Datei nicht gefunden",
+T_FTP_FILE_ERROR, "FTP-Dateifehler",
+T_UNKNOWN_ERROR, "Unbekannter Fehler",
+T_RECEIVED, "Empfangen",
+T_OF, "von",
+T_AVG, "schnitt",
+T_CUR, "aktuell",
+T_AVERAGE_SPEED, "Durchschnittsrate",
+T_SPEED, "Rate",
+T_CURRENT_SPEED, "Aktuelle Rate",
+T_ELAPSED_TIME, "Abgelaufene Zeit",
+T_ESTIMATED_TIME, "Geschätzte Zeit",
+T_BACKGROUND, "Hintergrund",
+T_ABORT, "Abbruch",
+T_ABORT_AND_DELETE_FILE, "Abbrechen und Datei entfernen",
+T_YES, "Ja",
+T_NO, "Nein",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Download-Fehler",
+T_COULD_NOT_WRITE_TO_FILE, "Datei konnte nicht geschrieben werden",
+T_ERROR_DOWNLOADING, "Fehler während Download",
+T_ERROR_LOADING, "Fehler beim Öffnen",
+T_COULD_NOT_CREATE_FILE, "Datei konnte nicht erstellt werden",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Unbekannter Typ",
+T_CONTENT_TYPE_IS, "Mimetyp ist",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Diese Datei öffnen, speichern oder anzeigen?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Diese Datei öffnen oder anzeigen?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Diese Datei anzeigen oder speichern?",
+T_SAVE, "Speichern",
+T_DISPLAY, "Anzeigen",
+T_WHAT_TO_DO, "Was bitte?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Öffnen der Datei mit",
+T_SAVE_IT_OR_DISPLAY_IT, "speichern oder anzeigen?",
+T_OPEN, "Öffnen",
+T_OPEN_WITH, "Öffnen mit",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Sollen diese Daten an den neuen Server übertragen werden?",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Sollen diese Daten übertragen werden?",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Sollen diese Daten erneut übertragen werden?",
+T_WARNING, "Warnung",
+T_ERROR, "Fehler",
+T_WELCOME, "Willkommen",
+T_WELCOME_TO_LINKS, "Recht herzlich Willkommen bei Links!",
+T_BASIC_HELP, "Handbuch",
+T_LABEL, "Bezeichnung",
+T_CONTENT_TYPES, "Mimetyp(en)",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programm ('%' wird durch Dateinamen ersetzt)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Terminal während Programmausführung blockiert",
+T_RUN_ON_TERMINAL, "Im Terminalfenster starten",
+T_RUN_IN_XWINDOW, "Im Grafikfenster (X-Window) starten",
+T_ASK_BEFORE_OPENING, "Frage vor dem Öffnen",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Verknüpfung löschen",
+T_ASSOCIATION, "Verknüpfung",
+T_EXTENSION_S, "Erweiterung(en)",
+T_CONTENT_TYPE, "Mimetyp",
+T_DELETE_EXTENSION, "Erweiterung löschen",
+T_EXTENSION, "Erweiterung",
+T_eXTENSION, "Erweiterung",
+T_ERROR_WHILE_POSTING_FORM, "Fehler bei Formular-Übertragung",
+T_COULD_NOT_GET_FILE, "Konnte Datei nicht erhalten",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Kein vorheriger Suchbegriff",
+T_SEARCH_STRING_NOT_FOUND, "Suchbegriff nicht gefunden",
+T_SAVE_ERROR, "Speicherungsfehler",
+T_ERROR_WRITING_TO_FILE, "Fehler beim speichern der Datei",
+T_DISPLAY_USEMAP, "Usemap anzeigen",
+T_FOLLOW_LINK, "Link folgen",
+T_OPEN_IN_NEW_WINDOW, "In neuem Fenster öffnen",
+T_DOWNLOAD_LINK, "Link speichern",
+T_RESET_FORM, "Formular zurücksetzen",
+T_SUBMIT_FORM, "Formular senden",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Formular senden und neues Fenster öffnen",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Formular senden und speichern",
+T_VIEW_IMAGE, "Bild anzeigen",
+T_DOWNLOAD_IMAGE, "Bild speichern",
+T_NO_LINK_SELECTED, "Kein Link ausgewählt",
+T_IMAGE, "Bild",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Bildschirm",
+T_WINDOW, "Fenster",
+T_FULL_SCREEN, "Vollbildschirm",
+T_BEOS_TERMINAL, "BeOS-Terminal",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Sende Formular an",
+T_POST_FORM_TO, "Verschicke Formular an",
+T_RADIO_BUTTON, "Radiobutton",
+T_CHECKBOX, "Checkbox",
+T_SELECT_FIELD, "Auswahlfeld",
+T_TEXT_FIELD, "Textfeld",
+T_TEXT_AREA, "Textbereich",
+T_FILE_UPLOAD, "Datei senden",
+T_PASSWORD_FIELD, "Passwort-Feld",
+T_BUTTON, "Knopf",
+T_NAME, "Name",
+T_VALUE, "Wert",
+T_HIT_ENTER_TO, "ENTER drücken",
+T_SUBMIT_TO, "Sende an",
+T_POST_TO, "Verschicke an",
+T_INFO, "Info",
+T_HEADER_INFO, "HTTP Kopfinformationen",
+T_YOU_ARE_NOWHERE, "Sie sind nirgendwo!",
+T_NO_HEADER, NULL,
+T_URL, "Adresse",
+T_SIZE, "Größe",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "unvollständig",
+T_CODEPAGE, "Zeichensatz",
+T_ASSUMED, "angenommen",
+T_IGNORING_SERVER_SETTING, "Servereinstellung ignoriert",
+T_SERVER, "Server",
+T_DATE, "Datum",
+T_LAST_MODIFIED, "Zuletzt geändert",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Sprache",
+T_GO_TO_LINK, "Link auswählen",
+T_ENTER_LINK_NUMBER, "Linknummer eingeben",
+T_RESIZE_TERMINAL, "Terminalgrösse ändern",
+T_COLUMNS, "Spalten",
+T_ROWS, "Zeilen",
+T_GOTO, "Gehe zu",
+T_CLOSE, "Schließen",
+T_FOLDER, "Verzeichnis",
+T_fOLDER, "Verzeichnis",
+T_ADD, "Hinzufügen",
+T_DELETE, "Löschen",
+T_EDIT, "Ändern",
+T_MOVE, "Verschieben",
+T_NO_ITEMS_SELECTED, "Es ist nichts markiert - nichts zu verschieben",
+T_UNSELECT_ALL, "Markierungen aufheben",
+T_BOOKMARKS, "Lesezeichen",
+T_BOOKMARK, "Lesezeichen",
+T_ADD_BOOKMARK, "Lesezeichen hinzufügen",
+T_ADD_ASSOCIATION, "Verknüpfung hinzufügen",
+T_ADD_EXTENSION, "Erweiterung hinzufügen",
+T_ADD_FOLDER, "Verzeichnis hinzufügen",
+T_BOOKMARK_TITLE, "Bezeichnung",
+T_EDIT_BOOKMARK, "Lesezeichen ändern",
+T_EDIT_ASSOCIATION, "Verknüpfung bearbeiten",
+T_EDIT_EXTENSION, "Erweiterung bearbeiten",
+T_DELETE_BOOKMARK, "Lesezeichen löschen",
+T_EDIT_FOLDER, "Verzeichnis bearbeiten",
+T_DELETE_FOLDER, "Verzeichnis entfernen",
+T_NOT_EMPTY_SURE_DELETE, "ist nicht leer. Wirklich entfernen?",
+T_BOOKMARK_MANAGER, "Lesezeichen-Verwaltung",
+T_ASSOCIATIONS_MANAGER, "Verknüpfungs-Verwaltung",
+T_EXTENSIONS_MANAGER, "Erweiterungs-Verwaltung",
+T_url, "Netzadresse",
+T_NNAME, "Name",
+T_EXIT_LINKS, "Beenden?",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Links wirklich beenden?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Links und alle Downloads beenden?",
+T_HTTP_OPTIONS, "HTTP-Optionen",
+T_FTP_OPTIONS, "FTP-Optionen",
+T_HTTP_BUG_WORKAROUNDS, "HTTP-Fehler umgehen?",
+T_USE_HTTP_10, "HTTP 1.0 benutzen?",
+T_ALLOW_SERVER_BLACKLIST, "Server-Sperrliste benutzen?",
+T_BROKEN_302_REDIRECT, "defekte 302-Weiterleitung?",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Verbindung nach POST nicht aufrechterhalten?",
+T_DO_NOT_SEND_ACCEPT_CHARSET, "Kein Accept-Charset senden",
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "Kein Referer senden",
+T_REFERER_SAME_URL, "Angeforderte Adresse als Referer senden",
+T_REFERER_FAKE, "Unten angegebenen festen HTTP-Referer senden",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "Echten Referer senden (normal, aber UNSICHER!)",
+T_FAKE_REFERER, "Fester HTTP-Referer:",
+T_FAKE_USERAGENT, "Gefakter User-Agent senden",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Passwort für anomyme Anmeldung",
+T_USE_PASSIVE_FTP, "Passives FTP nutzen",
+T_USE_FAST_FTP, "Schnelleres (aber nicht RFC-konformes) FTP nutzen",
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Manual",
+T_HOMEPAGE, "Homepage",
+T_CALIBRATION, "Kalibration",
+T_MAILTO_PROG, "Mail-Programm (% wird mit Email-Addresse ersetzt)",
+T_SHELL_PROG, "Shell-Programm für externe Aufrufe (% wird mit Kommando ersetzt)",
+T_TELNET_PROG, "Telnet-Programm (% wird mit \"host\" oder \"host port\" ersetzt)",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "TN3270-Programm (% wird mit \"host\" oder \"host port\" ersetzt)",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Mail-/Telnet-Programme",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Mail-/Telnet-/Shell-Programme",
+T_NO_PROGRAM, "Kein Programm",
+T_NO_PROGRAM_SPECIFIED_FOR, "Programm nicht definiert für ",
+T_MAIL, "Mail",
+T_TELNET, "Telnet",
+T_MAGNET, NULL,
+T_TN3270, "TN3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "fehlerhafte Mailadresse",
+T_BAD_TELNET_URL, "fehlerhafte Telnetadresse",
+T_BAD_TN3270_URL, "fehlerhafte TN3270-Adresse",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "Benutzerkennung",
+T_PASSWORD, "Passwort",
+T_ENTER_USERNAME, "Benutzername eingeben für ",
+T_AT, "bei ",
+T_SSL_ERROR, "SSL-Fehler",
+T_NO_SSL, "Diese Programmversion unterstützt kein SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "Wirklich löschen",
+T_BOOKMARKS_ALREADY_IN_USE, "Lesezeichen schon in Benutzung!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Verknüpfungen schon in Benutzung!",
+T_EXTENSIONS_ALREADY_IN_USE, "Erweiterungen schon in Benutzung!",
+T_VIDEO_OPTIONS, "Videooptionen",
+T_VIDEO_OPTIONS_TEXT, "Benutzergamma empfohlen:\n 1.33 für dunklen Raum, 1.11 bei gedimmten Licht, 1 für typischen Computerarbeitsplatz, 0.88 bei hell erleuchteter Umgebung",
+T_RED_DISPLAY_GAMMA, "Gamma Rot",
+T_GREEN_DISPLAY_GAMMA, "Gamma Grün",
+T_BLUE_DISPLAY_GAMMA, "Gamma Blau",
+T_USER_GAMMA, "Benutzergamma",
+T_ALERT, "Warnung",
+T_QUESTION, "Frage",
+T_KILL_SCRIPT, "Javascriptausführung verweigern",
+T_KILL_ALL_SCRIPTS, "Javascriptausführung für alle Skripte verweigern",
+T_SCRIPT_KILLED_BY_USER, "Javascriptausführung durch Benutzer verweigert",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript versucht, das Browserfenster zu schließen. Zulassen?",
+T_ENTER_STRING, "Text eingeben",
+T_JAVASCRIPT_OPTIONS, "Javascriptoptionen",
+T_ENABLE_JAVASCRIPT, "Javascript aktivieren",
+T_VERBOSE_JS_ERRORS, "Ausführliche Javascriptfehler",
+T_VERBOSE_JS_WARNINGS, "Ausführliche Javascriptwarnungen",
+T_MISCELANEOUS_OPTIONS, "Sonstige Optionen",
+T_JAVASCRIPT_ERROR, "Javascriptfehler",
+T_JAVASCRIPT_WARNING, "Javascriptwarnung",
+T_DISMISS, "Verwerfen",
+T_MENU_FONT_SIZE, "Menüfontgröße",
+T_USER_FONT_SIZE, "Benutzerfontgröße",
+T_TURN_OFF_WARNINGS, "Warnungen abschalten",
+T_BOOKMARKS_ENCODING, "Lesezeichenformat",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript versucht zu Netzadresse zu gehen",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript versucht Adresse in neuem Fenster zu öffnen",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript versucht auf History zugreifen",
+T_TO_URL, "zu Netzadresse",
+T_GOTO_HISTORY, "Gehe zu History",
+T_ALLOW, "Erlauben",
+T_REJECT, "Abweisen",
+T_ENABLE_ALL_CONVERSIONS, "Alle Umwandlungen aktivieren",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Globale Namensauflösung aktivieren",
+T_MANUAL_JS_CONTROL, "Manuell Javascriptoperationen Bestätigung",
+T_JS_RECURSION_DEPTH, "Verschachtelungstiefe",
+T_MENU_BACKGROUND_COLOR, "Hintergrundfarbe für Menü",
+T_MENU_FOREGROUND_COLOR, "Fordergrundfarbe für Menü",
+T_SCROLL_BAR_BAR_COLOR, "Farbe für Scrollbalken",
+T_SCROLL_BAR_AREA_COLOR, "Farbe für Scrollbalkenzone",
+T_SCROLL_BAR_FRAME_COLOR, "Farbe für Scrollbalkenrahmen",
+T_BOOKMARKS_FILE, "Lesezeichendatei",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Farben eingeben als sRGB hexadezimal RRGGBB Triplets",
+T_JS_MEMORY_LIMIT_KB, "Speicher für Javascript reservieren (KiB)",
+T_DITHER_LETTERS, "Buchstaben rastern",
+T_DITHER_IMAGES, "Bilder rastern",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "Alle Bilder skalieren um (%)",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, "Bildschirmoptimierung für CRT",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "Bildschirmoptimierung für LCD (RGB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "Bildschirmoptimierung für LCD (BGR)",
+T_ASPECT_RATIO, "Seitenvehältnis",
+T_ASPECT_CORRECTION_ON, "Seitenverhältniskorrekur an",
+T_KEYBOARD_CODEPAGE, "Tastatur-Codepage",
+T_COPY_LINK_LOCATION, "Linkziel kopieren",
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "Z",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "N",
+T_HK_BOOKMARKS, "L",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "S",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, "U",
+T_HK_KILL_BACKGROUND_CONNECTIONS, "A",
+T_HK_KILL_ALL_CONNECTIONS, "K",
+T_HK_FLUSH_ALL_CACHES, "L",
+T_HK_RESOURCE_INFO, "R",
+T_HK_MEMORY_INFO, "I",
+T_HK_OS_SHELL, "B",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "E",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "R",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "V",
+T_HK_TOGGLE_HTML_PLAIN, "Q",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "L",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "I",
+T_HK_LANGUAGE, "S",
+T_HK_CHARACTER_SET, "Z",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, "V",
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, "J",
+T_HK_MISCELANEOUS_OPTIONS, "O",
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "E",
+T_HK_ASSOCIATIONS, "V",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "O",
+T_HK_ABOUT, "Ü",
+T_HK_KEYS, "T",
+T_HK_COPYING, "C",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, "H",
+T_HK_CALIBRATION, "K",
+T_HK_FILE, "F",
+T_HK_VIEW, "A",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "E",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "F",
+T_HK_DOWNLOAD_LINK, "S",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, "C",
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/greek.lng b/intl/greek.lng
new file mode 100644
index 0000000..3f2be6c
--- /dev/null
+++ b/intl/greek.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-7",
+T__LANGUAGE, "Greek",
+T__ACCEPT_LANGUAGE, "el",
+T_OK, "ÅíôÜîåé",
+T_CANCEL, "Áêýñùóç",
+T_BAD_NUMBER, "Ìç Ýãêõñïò áñéèìüò",
+T_NUMBER_EXPECTED, "Äåí áíáìåíüôáí áñéèìüò óôï ðåäßï",
+T_NUMBER_OUT_OF_RANGE, "Áñéèìüò åêôüò ïñßïõ",
+T_BAD_STRING, "Ìç Ýãêõñï áëöáñéèìçôéêü",
+T_EMPTY_STRING_NOT_ALLOWED, "Äåí åðéôñÝðåôáé êåíü áëöáñéèìçôéêü",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "ÓöÜëìá ñõèìßóåùí",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Áäýíáôç ç åããñáöÞ óôï áñ÷åßï ñõèìßóåùí",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Ðåñß...",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nÖõëëïìåôñçôÞò WWW êåéìÝíïõ ôýðïõ-Lynx",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "ÐëÞêôñá",
+T_KEYS_DESC, "ESC åìöÜíéóç ìåíïý\n^C, q Ýîïäïò\n^P, ^N êýëéóç ðÜíù, êÜôù\n[, ] êýëéóç áñéóôåñÜ, äåîéÜ\nðÜíù, êÜôù åðéëïãÞ óõíäÝóìïõ\n-> áêïëïýèçóç óõíäÝóìïõ\n<- ðÞãáéíå ðßóù\ng ðÞãáéíå óôï URL\nG ðÞãáéíå óôï URL âÜóç ôïõ ôñÝ÷ïíôïò\n/ áíáæÞôçóç\n? áíáæÞôçóç ðßóù\nn áíáæÞôçóç åðïìÝíïõ\nN áíáæÞôçóç ðñïçãïõìÝíïõ\n= ðëçñïöïñßåò åããñÜöïõ\n| ðëçñïöïñßåò êåöáëßäáò\n\\ ðñùôïãåíÞò êþäéêáò\nd ìåôáöüñôùóç",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "ÁíôéãñáöÞ...",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n(C) 1999 - 2002 Ìßêïõëáò Ðáôüêá\n\nÁõôü ôï ðñüãñáììá åßíáé åëÝõèåñï ëïãéóìéêü, ìðïñåßôå íá ôï åðáíáäéáíåßìåôå êáé/Þ íá ôï ôñïðïðïéÞóåôå âÜóç ôùí óõíèçêþí ôçò ÃåíéêÞò Äçìüóéáò ¶äåéáò GNU, üðùò áõôÞ äçìïóéåýåôáé áðü ôï ºäñõìá ÅëåõèÝñïõ Ëïãéóìéêïý, åßôå ç Ýêäïóç 2 ôçò ¶äåéáò Þ (êáôÜ ôçí åðéëïãÞ óáò) ïðïéáäÞðïôå ìåôáãåíÝóôåñç.",
+T_RESOURCES, "ÐçãÝò",
+T_CONNECTIONS, "ÓõíäÝóåéò",
+T_MEMORY_CACHE, "ËáíèÜíïõóá ìíÞìç",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "ÐñïóùñéíÞ ìíÞìç ìïñöïðïéçìÝíùí åããñÜöùí",
+T_DNS_CACHE, NULL,
+T_HANDLES, "÷åéñéóôÝò",
+T_TIMERS, "÷ñïíéóôÝò",
+T_WAITING, NULL,
+T_CONNECTING, "ãßíåôáé óýíäåóç",
+T_tRANSFERRING, "ãßíåôáé ìåôáöïñÜ",
+T_KEEPALIVE, "äéáôÞñçóç åí æùÞ",
+T_BYTES, "byte",
+T_LETTERS, NULL,
+T_FILES, "áñ÷åßá",
+T_LOCKED, "êëåéäùìÝíï",
+T_LOADING, "ãßíåôáé öüñôùóç",
+T_IMAGES, NULL,
+T_DOCUMENTS, "Ýããñáöá",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "byte ìíÞìçò ðïõ êáôáíåìÞèçêáí",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Ðëçñïöïñßåò ìíÞìçò",
+T_NO_HISTORY, "Äåí õðÜñ÷åé éóôïñéêü",
+T_NO_DOWNLOADS, "Äåí õðÜñ÷ïõí ìåôáöïñôþóåéò",
+T_NO_FRAMES, "Äåí õðÜñ÷ïõí ðëáßóéá (frames)",
+T_VT_100_FRAMES, "Ðëáßóéá VT 100",
+T_LINUX_OR_OS2_FRAMES, "Ðëáßóéá Linux Þ OS/2",
+T_KOI8R_FRAMES, "Ðëáßóéá KOI8-R",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "×ñÞóç ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Ðåñéïñéóìüò ðëáéóßùí óôï cp850/852",
+T_BLOCK_CURSOR, "ÄñïìÝáò ìïñöÞò ìðëïê",
+T_COLOR, "×ñþìá",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "ÅðéëïãÝò ôåñìáôéêïý",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "ÄéáìåóïëáâçôÞò HTTP (óýóôçìá:èýñá)",
+T_FTP_PROXY__HOST_PORT, "ÄéáìåóïëáâçôÞò FTP (óýóôçìá:èýñá)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Áðåõèåßáò ðñüóâáóç (÷ùñßò äéáìåóïëáâçôÞ) åðéèçìÜôùí (äéá÷ùñéóìüò ìå êüììáôá)",
+T_NETWORK_OPTIONS, "ÅðéëïãÝò äéêôýïõ",
+T_MAX_CONNECTIONS, "ÌÝãéóôïò áñéèìüò óõíäÝóåùí",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "ÌÝãéóôïò áñéèìüò óõíäÝóåùí óå Ýíá åîõðçñåôçôÞ",
+T_RETRIES, "ÅðáíáëÞøåéò ðñïóðÜèåéáò",
+T_RECEIVE_TIMEOUT_SEC, "ËÞîç ÷ñüíïõ ëÞøçò (äåõôåñüëåðôá)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "ËÞîç ÷ñüíïõ üôáí äå ìðïñåß íá åðáíáêéíçèåß",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Áóýã÷ñïíåò áéôÞóåéò DNS",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Êáèïñéóìüò ÷ñüíïõ óôá ìåôáöïñôùìÝíá áñ÷åßá",
+T_CACHE_OPTIONS, "ÅðéëïãÝò ðñïóùñéíþí óåëßäùí",
+T_MEMORY_CACHE_SIZE__KB, "ÌÝãåèïò ìíÞìçò ãéá ðñïóùñéíÝò óåëßäåò (KiB)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Áñéèìüò ìïñöïðïéçìÝíùí åããñÜöùí",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "ÅðéëïãÝò HTML",
+T_DISPLAY_TABLES, "ÅìöÜíéóç ðéíÜêùí",
+T_DISPLAY_FRAMES, "ÅìöÜíéóç ðëáéóßùí",
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "ÅìöÜíéóç óõíäÝóìùí óôéò åéêüíåò",
+T_LINK_ORDER_BY_COLUMNS, "Ìåôáêßíçóç âÜóç óôçëþí óôïõò ðßíáêåò",
+T_NUMBERED_LINKS, "ÁñéèìçìÝíïé óýíäåóìïé",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Ðåñéèþñéï êåéìÝíïõ",
+T_DEFAULT_CODEPAGE, "Åî' ïñéóìïý êùäéêïóåëßäá",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Áãíüçóç ðëçñïöïñéþí êùäéêïóåëßäáò ôïõ åîõðçñåôçôÞ",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "ÐÞãáéíå óôï URL",
+T_GO_BACK, "ÐÞãáéíå ðßóù",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Éóôïñéêü",
+T_RELOAD, "Åðáíáöüñôùóç",
+T_NEW_WINDOW, "ÍÝï ðáñÜèõñï",
+T_SAVE_AS, "ÁðïèÞêåõóç ùò",
+T_SAVE_URL_AS, "ÁðïèÞêåõóç URL ùò",
+T_SAVE_FORMATTED_DOCUMENT, "ÁðïèÞêåõóç ìïñöïðïéçìÝíïõ êåéìÝíïõ",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Ôåñìáôéóìþí óõíäÝóåùí ðáñáóêçíßïõ",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "ÄéáãñáöÞ ðñïóöÜôùí óåëßäùí",
+T_RESOURCE_INFO, "Ðëçñïöïñßåò ðüñïõ",
+T_OS_SHELL, "Öëïéüò Ë.Ó.",
+T_EXIT, "¸îïäïò",
+T_SEARCH, "ÁíáæÞôçóç",
+T_SEARCH_BACK, "ÁíáæÞôçóç ðßóù",
+T_FIND_NEXT, "Åýñåóç åðüìåíïõ",
+T_FIND_PREVIOUS, "¸õñåóç ðñïçãïýìåíïõ",
+T_TOGGLE_HTML_PLAIN, "ÅííáëáãÞ HTML/áðëü",
+T_DOCUMENT_INFO, "Ðëçñïöïñßåò åããñÜöïõ",
+T_FRAME_AT_FULL_SCREEN, "Ðëáßóéï óå ðëÞñç ïèüíç",
+T_SAVE_HTML_OPTIONS, "ÁðïèÞêåõóç åðéëïãþí HTML",
+T_CHARACTER_SET, "Ðßíáêáò ÷áñáêôÞñùí",
+T_CACHE, "Ðñüóöáôåò óåëßäåò",
+T_MAIL_AND_TELNEL, "Áëëçëïãñáößá êáé telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Áíôéóôïé÷ßóåéò",
+T_FILE_EXTENSIONS, "ÊáôáëÞîåéò áñ÷åßùí",
+T_SAVE_OPTIONS, "ÁðïèÞêåõóç åðéëïãþí",
+T_FILE, "Áñ÷åßï",
+T_VIEW, "ÅìöÜíéóç",
+T_LINK, "Óýíäåóìïò",
+T_DOWNLOADS, "Ìåôáöïñôþóåéò",
+T_SETUP, "Ñõèìßóåéò",
+T_HELP, "ÂïÞèåéá",
+T_ENTER_URL, "ÅéóáãùãÞ URL",
+T_SAVE_URL, "ÁðïèÞêåõóç URL",
+T_DOWNLOAD, "Ìåôáöüñôùóç",
+T_SAVE_TO_FILE, "ÁðïèÞêåõóç óå áñ÷åßï",
+T_SEARCH_FOR_TEXT, "ÁíáæÞôçóç êåéìÝíïõ",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "ÁíáìïíÞ óôçí ïõñÜ",
+T_LOOKING_UP_HOST, "Åýñåóç óõóôÞìáôïò",
+T_MAKING_CONNECTION, "Ãßíåôå óýíäåóç",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, NULL,
+T_REQUEST_SENT, "ÓôÜëèçêå áßôçóç",
+T_GETTING_HEADERS, "ËÞøç êåöáëßäùí",
+T_LOGGING_IN, NULL,
+T_SERVER_IS_PROCESSING_REQUEST, "Ï åîõðçñåôçôÞò åðåîåñãÜæåôå ôçí áßôçóç",
+T_TRANSFERRING, "Ãßíåôå ìåôáöïñÜ",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "ÁíáìïíÞ åðéâåâáßùóçò åðáíáäéåýèõíóçò",
+T_INTERRUPTED, "Äéáêüðçêå",
+T_SOCKET_EXCEPTION, "Åîáßñåóç õðïäï÷Ýá",
+T_INTERNAL_ERROR, "Åóùôåñéêü óöÜëìá",
+T_OUT_OF_MEMORY, "Ç ìíÞìç åîáíôëÞèçêå",
+T_HOST_NOT_FOUND, "Ï åîõðçñåôçôÞò äå âñÝèçêå",
+T_ERROR_WRITING_TO_SOCKET, "ÓöÜëìá åããñáöÞò óôïí õðïäï÷Ýá",
+T_ERROR_READING_FROM_SOCKET, "ÓöÜëìá áíÜãíùóçò áðü õðïäï÷Ýá",
+T_DATA_MODIFIED, "ÄåäïìÝíá ôñïðïðïéÞèçêáí",
+T_BAD_URL_SYNTAX, "Ìç Ýãêõñï óõíôáêôéêü URL",
+T_RECEIVE_TIMEOUT, "ËÞîç ÷ñüíïõ ëÞøçò",
+T_REQUEST_MUST_BE_RESTARTED, "Ç áßôçóç ðñÝðåé íá åðáíáêéíçèåß",
+T_CANT_GET_SOCKET_STATE, "Áäýíáôç ç ëÞøç êáôÜóôáóçò õðïäï÷Ýá",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Ìç Ýãêõñç áðÜíôçóç HTTP",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Äåí õðÜñ÷åé ðåñéå÷üìåíï",
+T_UNKNOWN_FILE_TYPE, "¶ãíùóôï åßäïò áñ÷åßïõ",
+T_ERROR_OPENING_FILE, "Error opening file",
+T_BAD_FTP_RESPONSE, "Ìç Ýãêõñç áðÜíôçóç FTP",
+T_FTP_SERVICE_UNAVAILABLE, "Ç õðçñåóßá FTP äåí åßíáé äéáèÝóéìç",
+T_BAD_FTP_LOGIN, "Ìç Ýãêõñï üíïìá ÷ñÞóôç FTP",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT command failed",
+T_FILE_NOT_FOUND, "Ôï áñ÷åßï äå âñÝèçêå",
+T_FTP_FILE_ERROR, "ÓöÜëìá áñ÷åßïõ FTP",
+T_UNKNOWN_ERROR, "¶ãíùóôï óöÜëìá",
+T_RECEIVED, "ÅëÞöèçóáí",
+T_OF, "áðü",
+T_AVG, "ì.ü.",
+T_CUR, "ôñÝ÷ïí",
+T_AVERAGE_SPEED, "ÌÝóç ôá÷ýôçôá",
+T_SPEED, "Ôá÷ýôçôá",
+T_CURRENT_SPEED, "ôñÝ÷ïõóá ôá÷ýôçôá",
+T_ELAPSED_TIME, "×ñüíïò ðïõ ðÝñáóå",
+T_ESTIMATED_TIME, "åíáðïìåßíùí ÷ñüíïò",
+T_BACKGROUND, "ÐáñáóêÞíéï",
+T_ABORT, "ÄéáêïðÞ",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Íáé",
+T_NO, "¼÷é",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "ÓöÜëìá ìåôáöüñôùóçò",
+T_COULD_NOT_WRITE_TO_FILE, "Áäýíáôç ç äçìéïõñãßá áñ÷åßïõ",
+T_ERROR_DOWNLOADING, "ÓöÜëìá ìåôáöüñôùóçò",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "Áäýíáôç ç äçìéïõñãßá áñ÷åßïõ",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "¶ãíùóôï åßäïò",
+T_CONTENT_TYPE_IS, "Ôï åßäïò ðåñéå÷ïìÝíïõ åßíáé",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "ÈÝëåôå íá áðïèçêåýóåôå Þ íá åìöáíßóåôå áõôü ôï áñ÷åßï;",
+T_SAVE, "ÁðïèÞêåõóç",
+T_DISPLAY, "ÅìöÜíéóç",
+T_WHAT_TO_DO, "Ôß èÝëåôå íá êÜíåôå;",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "ÈÝëåôå íá áíïßîåôå ôï áñ÷åßï ìå",
+T_SAVE_IT_OR_DISPLAY_IT, "áðïèÞêåõóç Þ åìöÜíéóç;",
+T_OPEN, "¶íïéãìá",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Do you want to follow redirect and post form data to url",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Do you want to post form data to url",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Do you want to repost form data to url",
+T_WARNING, "Ðñïåéäïðïßçóç",
+T_ERROR, "ÓöÜëìá",
+T_WELCOME, "Êáëþò Þëèáôå",
+T_WELCOME_TO_LINKS, "Êáëþò Þëèáôå óôï links!",
+T_BASIC_HELP, "ÐáôÞóôå ESC ãéá ìåíïý. åðéëÝîôå ÂïÞèåéá->Åã÷åéñßäéï óôï ìåíïý ãéá ôï åã÷åéñßäéï ÷ñÞóôç.",
+T_LABEL, "ÅôéêÝôá",
+T_CONTENT_TYPES, "Åßäïò(ç) ðåñéå÷ïìÝíïõ",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Ðñüãñáììá (ôï '%' áíôéêáèßóôáôáé ìå üíïìá áñ÷åßïõ)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Block terminal while program running",
+T_RUN_ON_TERMINAL, "ÅêôÝëåóç óå ôåñìáôéêü",
+T_RUN_IN_XWINDOW, "ÅêôÝëåóç óå ðáñÜèõñï ×",
+T_ASK_BEFORE_OPENING, "Åñþôçóç ðñéí ôï Üíïéãìá",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "ÄéáãñáöÞ áíôéóôïß÷éóçò",
+T_ASSOCIATION, "Áíôéóôïß÷éóç",
+T_EXTENSION_S, "ÅðÝêôáóç(Üóåéò)",
+T_CONTENT_TYPE, "Åßäïò-Ðåñéå÷ïìÝíïõ",
+T_DELETE_EXTENSION, "ÄéáãñáöÞ êáôÜëçîçò",
+T_EXTENSION, "ÊáôÜëçîç",
+T_eXTENSION, NULL,
+T_ERROR_WHILE_POSTING_FORM, "ÓöÜëìá êáôÜ ôçí áðïóôïëÞ öüñìáò",
+T_COULD_NOT_GET_FILE, "Áäýíáôç ç ëÞøç áñ÷åßïõ",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Äåí õðÜñ÷åé ðñïçãïýìåíç áíáæÞôçóç",
+T_SEARCH_STRING_NOT_FOUND, "Ôï áëöáñéèìçôéêü áíáæÞôçóçò äå âñÝèçêå",
+T_SAVE_ERROR, "ÓöÜëìá áðïèÞêåõóçò",
+T_ERROR_WRITING_TO_FILE, "ÓöÜëìá åããñáöÞò óå áñ÷åßï",
+T_DISPLAY_USEMAP, "ÅìöÜíéóç äïìÞò USEMAP",
+T_FOLLOW_LINK, "Áêïëïýèçóç óõíäÝóìïõ",
+T_OPEN_IN_NEW_WINDOW, "¶íïéãìá óå íÝï ðáñÜèõñï",
+T_DOWNLOAD_LINK, "Ìåôáöüñôùóç óõíäÝóìïõ",
+T_RESET_FORM, "Áñ÷éêïðïßçóç öüñìáò",
+T_SUBMIT_FORM, "ÁðïóôïëÞ öüñìáò",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "ÁðïóôïëÞ öüñìáò êáé Üíïéãìá óå íÝï ðáñÜèõñï",
+T_SUBMIT_FORM_AND_DOWNLOAD, "ÁðïóôïëÞ öüñìáò êáé ìåôáöüñôùóç",
+T_VIEW_IMAGE, "ÅìöÜíéóç åéêüíáò",
+T_DOWNLOAD_IMAGE, "Ìåôáöüñôùóç åéêüíáò",
+T_NO_LINK_SELECTED, "Äåí åðéëÝ÷èçêå óýíäåóìïò",
+T_IMAGE, "Åéêüíá",
+T_USEMAP, "USEMAP",
+T_XTERM, "xterm",
+T_TWTERM, NULL,
+T_SCREEN, "Ïèüíç",
+T_WINDOW, "ÐáñÜèõñï",
+T_FULL_SCREEN, "ÐëÞñçò ïèüíç",
+T_BEOS_TERMINAL, "Ôåñìáôéêü BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "ÁðïóôïëÞ öüñìáò óôï",
+T_POST_FORM_TO, "ÁðïóôïëÞ öüñìáò óôï",
+T_RADIO_BUTTON, "Êïõìðß ôýðïõ ñÜäéïõ",
+T_CHECKBOX, "Êïõôß åðéëïãÞò",
+T_SELECT_FIELD, "Ðåäßï åðéëïãÞò",
+T_TEXT_FIELD, "Ðåäßï êåéìÝíïõ",
+T_TEXT_AREA, "Ðåñéï÷Þ êåéìÝíïõ",
+T_FILE_UPLOAD, "ÁíÝâáóìá áñ÷åßïõ",
+T_PASSWORD_FIELD, "Ðåäßïõ êùäéêïý",
+T_BUTTON, NULL,
+T_NAME, "üíïìá",
+T_VALUE, "ôéìÞ",
+T_HIT_ENTER_TO, "ðáôÞóôå ENTER ãéá íá",
+T_SUBMIT_TO, "óôåßëåôå óå",
+T_POST_TO, "áðïóôåßëåôå óå",
+T_INFO, "Ðëçñïöïñßåò",
+T_HEADER_INFO, "Ðëçñïöïñßåò êåöáëßäáò",
+T_YOU_ARE_NOWHERE, "Äåí åßóôå ðïõèåíÜ!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "ÌÝãåèïò",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "áóõìðëÞñùôï",
+T_CODEPAGE, "Êùäéêïóåëßäá",
+T_ASSUMED, "õðïíïïåßôå",
+T_IGNORING_SERVER_SETTING, "áãíüçóç ñýèìéóçò åîõðçñåôçôÞ",
+T_SERVER, "ÅîõðçñåôçôÞò",
+T_DATE, "Çìåñïìçíßá",
+T_LAST_MODIFIED, "Ôåëåõôáßá ôñïðïðïßçóç",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Ãëþóóá",
+T_GO_TO_LINK, "ÐÞãáéíå óôï óýíäåóìï",
+T_ENTER_LINK_NUMBER, "ÅéóÜãåôå áñéèìü óõíäÝóìïõ",
+T_RESIZE_TERMINAL, "ÁëëáãÞ ìåãÝèïõò ôåñìáôéêïý",
+T_COLUMNS, "ÓôÞëåò",
+T_ROWS, "ÃñáììÝò",
+T_GOTO, "ÐÞãáéíå",
+T_CLOSE, "Êëåßóéìï",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "ÐñïóèÞêç",
+T_DELETE, "ÄéáãñáöÞ",
+T_EDIT, "Åðåîåñãáóßá",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "Óåëéäïäåßêôåò",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "ÐñïóèÞêç óåëéäïäåßêôç",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, "Ôßôëïò óåëéäïäåßêôç",
+T_EDIT_BOOKMARK, "Åðåîåñãáóßá óåëéäïäåéêôþí",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "ÄéáãñáöÞ óåëéäïäåßêôç",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "Äéá÷åéñéóôÞò óåëéäïäåéêôþí",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, "URL",
+T_NNAME, "¼íïìá",
+T_EXIT_LINKS, "¸îïäïò áðü Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "ÈÝëåôå óßãïõñá íá ôåñìáôßóåôå ôï links;",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "ÈÝëåôå óßãïõñá íá ôåñìáôßóåôå ôï links (êáé íá äéáêüøåôå üëåò ôéò ìåôáöïñôþóåéò);",
+T_HTTP_OPTIONS, "ÅðéëïãÝò HTTP",
+T_FTP_OPTIONS, "ÅðéëïãÝò FTP",
+T_HTTP_BUG_WORKAROUNDS, "Ðñü÷åéñåò ëýóåéò óöáëìÜôùí HTTP",
+T_USE_HTTP_10, "×ñÞóç HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "×ñÞóç ìáýñçò ëßóôáò ðñïâëçìáôéêþí åîõðçñåôçôþí",
+T_BROKEN_302_REDIRECT, "ÅóöáëìÝíç åðáíáêáôåýèõíóç 302 (åíÜíôéá ôïõ RFC, áëëÜ åßíáé óõìâáôü ìå Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Äåí õðÜñ÷åé óýíäåóç keepalive ìåôÜ ôçí áßôçóç POST (ìåñéêÝò ðñïâëçìáôéêÝò âÜóåéò PHP ôï áðáéôïýí)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Êùäéêüò ãéá áíþíõìç óýíäåóç",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Åã÷åéñßäéï ÷ñÞóôç",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, "Ðñüãñáììá áëëçëïãñáößáò (ôï % áíôéêáèßóôáôáé ìå ôç äéåýèõíóç)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Ðñüãñáììá telnet (ôï % áíôéêáèßóôáôáé ìå \"åîõðçñåôçôÞò\" Þ \"åîõðçñåôçôÞò èýñá\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Ðñüãñáììá Tn3270 (ôï % áíôéêáèßóôáôáé ìå \"åîõðçñåôçôÞò\" Þ \"åîõðçñåôçôÞò èýñá\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "ÐñïãñÜììáôá áëëçëïãñáößáò êáé telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Äåí õðÜñ÷åé ðñüãñáììá",
+T_NO_PROGRAM_SPECIFIED_FOR, "Äåí êáèïñßóôçêå ðñüãñáììá ãéá",
+T_MAIL, "áëëçëïãñáößá",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "ÅóöáëìÝíï URL mailto",
+T_BAD_TELNET_URL, "ÅóöáëìÝíï URL telnet",
+T_BAD_TN3270_URL, "ÅóöáëìÝíï URL tn3270",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "¼íïìá ÷ñÞóôç",
+T_PASSWORD, "Êùäéêüò",
+T_ENTER_USERNAME, "ÅéóÜãåôå üíïìá ÷ñÞóôç ãéá ",
+T_AT, "óôï ",
+T_SSL_ERROR, "ÓöÜëìá SSL",
+T_NO_SSL, "ÁõôÞ ç Ýêäïóç ôïõ Links äå äéáèÝôåé õðïóôÞñéîç SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "B",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "V",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "F",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "X",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "B",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "F",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "A",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "H",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "A",
+T_HK_KEYS, "K",
+T_HK_COPYING, "C",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/hungarian.lng b/intl/hungarian.lng
new file mode 100644
index 0000000..26439d7
--- /dev/null
+++ b/intl/hungarian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-2",
+T__LANGUAGE, "Hungarian",
+T__ACCEPT_LANGUAGE, "hu",
+T_OK, "OK",
+T_CANCEL, "Mégsem",
+T_BAD_NUMBER, "Hibás szám",
+T_NUMBER_EXPECTED, "Szám nem megengedett a mezõben",
+T_NUMBER_OUT_OF_RANGE, "Szám tartományon kívül",
+T_BAD_STRING, "Hibás szöveg",
+T_EMPTY_STRING_NOT_ALLOWED, "Üres szöveg nem engedélyezett",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Beállítási hiba",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Nem írható a konfigurációs fájl",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "A programról",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nLynx-típusú szöveges WWW böngészõ",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Billentyûk",
+T_KEYS_DESC, "ESC menü megjelenítés\n^C, q kilépés\n^P, ^N görgetés fel, le\n[, ] görgetés balra, jobbra\nfel, le link kiválasztás\n-> link követése\n<- vissza\ng URL-re ugrás\nG URL-re ugrás (aktuális URL alapján)\n/ keresés\n? keresés visszafelé\nn szöveg keresés\nN elõzõ keresése\n= dokumentum információ\n\\ dokumentum forrás\nd letöltés",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Szerzõi jogok",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_2 "\n\nEz egy szabad program; terjesztheted és/vagy módosíthatod a Szabad Szoftver Alapítvány által készített GNU Licenc második vagy késõbbi verziója szerint. (www.gnu.org)",
+T_RESOURCES, "Erõforrások",
+T_CONNECTIONS, "Kapcsolatok",
+T_MEMORY_CACHE, "Gyorsítótár",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Betûk gyorsítótára",
+T_IMAGE_CACHE, "Gyorsítótár a képeknek",
+T_FORMATTED_DOCUMENT_CACHE, "Formázott dokumentum gyorsító",
+T_DNS_CACHE, NULL,
+T_HANDLES, "fogantyúk",
+T_TIMERS, "idõmérõk",
+T_WAITING, NULL,
+T_CONNECTING, "kapcsolódás",
+T_tRANSFERRING, "letöltés",
+T_KEEPALIVE, "életben tartás",
+T_BYTES, "bájt",
+T_LETTERS, "betû",
+T_FILES, "fájl",
+T_LOCKED, "védett",
+T_LOADING, "töltés",
+T_IMAGES, "kép",
+T_DOCUMENTS, "dokumentumok",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "bájt memória lefoglalva",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Memória információ",
+T_NO_HISTORY, "Nincs elõzmény",
+T_NO_DOWNLOADS, "Nincs letöltés",
+T_NO_FRAMES, "Nincs keret",
+T_VT_100_FRAMES, "VT 100 keretek",
+T_LINUX_OR_OS2_FRAMES, "Linux vagy OS/2 keretek",
+T_KOI8R_FRAMES, "KOI8-R keretek",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "^[[11m használata",
+T_RESTRICT_FRAMES_IN_CP850_852, "Keretek korlátozása cp850/852 alatt.",
+T_BLOCK_CURSOR, "Tömb kurzor",
+T_COLOR, "Szín",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Terminál beállítások",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)",
+T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Proxy nélküli hozzáférés a következõ doménekhez (vesszõvel elválasztva)",
+T_NETWORK_OPTIONS, "Hálózati tulajdonságok",
+T_MAX_CONNECTIONS, "Maximális kapcsolatok",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Maximális kapcsolatok egy kiszolgálóhoz",
+T_RETRIES, "Próbálkozások száma",
+T_RECEIVE_TIMEOUT_SEC, "Várakozási idõ vételkor (mp)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Várakozási idõ, ha nem lehet újrainditani",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Aszinkron DNS lekérdezés",
+T_SET_TIME_OF_DOWNLOADED_FILES, "A letöltött fájlok idejének beállítása",
+T_CACHE_OPTIONS, "Gyorsítótár beállítások",
+T_MEMORY_CACHE_SIZE__KB, "Gyorsítótár mérete (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Képek gyorsítótára",
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "A formázott dokumentumok száma",
+T_AGGRESSIVE_CACHE, "Agresszív gyorsítótárazás",
+T_HTML_OPTIONS, "HTML beállítások",
+T_DISPLAY_TABLES, "Táblázatok megjelenítése",
+T_DISPLAY_FRAMES, "Keretek megjelenítése",
+T_DISPLAY_IMAGES, "Képek megjelenítése",
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "A képre mutató linkek megjelenítése",
+T_LINK_ORDER_BY_COLUMNS, "Táblázatban mozgás oszloponként",
+T_NUMBERED_LINKS, "A linkek számozottak legyenek",
+T_AUTO_REFRESH, "Autómatikus frissítés",
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Szöveg margó",
+T_DEFAULT_CODEPAGE, "Alapértelmezett kódlap",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "A kiszolgáló által küldött karaktertábla figyelmen kívül hagyása",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "URL-re ugrás",
+T_GO_BACK, "Vissza",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Elõzmények",
+T_RELOAD, "Frissítés",
+T_NEW_WINDOW, "Új ablak",
+T_SAVE_AS, "Mentés másként",
+T_SAVE_URL_AS, "URL mentése másként",
+T_SAVE_FORMATTED_DOCUMENT, "Formázott dokumentum mentése",
+T_COPY_URL_LOCATION, "URL címének másolása",
+T_KILL_BACKGROUND_CONNECTIONS, "Háttérben futó letöltések megszakítása",
+T_KILL_ALL_CONNECTIONS, "Összes kapcsolat megszakítása",
+T_FLUSH_ALL_CACHES, "Gyorsítótár kiürítése",
+T_RESOURCE_INFO, "Erõforrás információ",
+T_OS_SHELL, "Parancssor",
+T_EXIT, "Kilépés",
+T_SEARCH, "Keresés",
+T_SEARCH_BACK, "Keresés visszafelé",
+T_FIND_NEXT, "Következõ keresése",
+T_FIND_PREVIOUS, "Elõzõ keresése",
+T_TOGGLE_HTML_PLAIN, "Váltás HTML/forrás között",
+T_DOCUMENT_INFO, "Dokumentum információ",
+T_FRAME_AT_FULL_SCREEN, "Keret teljes képernyõre",
+T_SAVE_HTML_OPTIONS, "HTML beállítások mentése",
+T_CHARACTER_SET, "Kódlapok",
+T_CACHE, "Gyorsítótár",
+T_MAIL_AND_TELNEL, "Levél és telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Hozzárendelések",
+T_FILE_EXTENSIONS, "Fájl kiterjesztések",
+T_SAVE_OPTIONS, "Beállítások mentése",
+T_FILE, "Fájl",
+T_VIEW, "Nézet",
+T_LINK, "Link",
+T_DOWNLOADS, "Letöltések",
+T_SETUP, "Beállítások",
+T_HELP, "Súgó",
+T_ENTER_URL, "URL beírása",
+T_SAVE_URL, "URL mentése",
+T_DOWNLOAD, "Letöltés",
+T_SAVE_TO_FILE, "Mentés fájlba",
+T_SEARCH_FOR_TEXT, "Szöveg keresése",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Sorban állás",
+T_LOOKING_UP_HOST, "Kiszolgáló keresése",
+T_MAKING_CONNECTION, "Kapcsolat létrehozása",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "SSL kommunikáció kezdeményezése",
+T_REQUEST_SENT, "Kérés elküldve",
+T_GETTING_HEADERS, "Fejléc fogadása",
+T_LOGGING_IN, "Bejelentkezés",
+T_SERVER_IS_PROCESSING_REQUEST, "A kiszolgáló feldolgozza a kérést",
+T_TRANSFERRING, "Átvitel folyamatban",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Várakozás az átirányítás elfogadására",
+T_INTERRUPTED, "Megszakítva",
+T_SOCKET_EXCEPTION, "Csatorna elhagyás",
+T_INTERNAL_ERROR, "Belsõ hiba",
+T_OUT_OF_MEMORY, "Kevés a memória",
+T_HOST_NOT_FOUND, "Kiszolgáló nem található",
+T_ERROR_WRITING_TO_SOCKET, "Hiba a csatornára írása közben",
+T_ERROR_READING_FROM_SOCKET, "Hiba a csatorna olvasása közben",
+T_DATA_MODIFIED, "Adat megváltozott",
+T_BAD_URL_SYNTAX, "Hibás URL szintaxis",
+T_RECEIVE_TIMEOUT, "Idõtúllépés vételkor",
+T_REQUEST_MUST_BE_RESTARTED, "A kérést újra kellett indítani",
+T_CANT_GET_SOCKET_STATE, "Nem lehet a csatorna állapotát megállapítani",
+T_CYCLIC_REDIRECT, "Ciklikus átirányítás",
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Hibás HTTP válasz",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "A lap üres",
+T_UNKNOWN_FILE_TYPE, "Ismeretlen fájlformátum",
+T_ERROR_OPENING_FILE, "Hiba a fájl megnyitásakor",
+T_BAD_FTP_RESPONSE, "Hibás FTP válasz",
+T_FTP_SERVICE_UNAVAILABLE, "FTP szolgáltatás nem elérhetõ",
+T_BAD_FTP_LOGIN, "Hibás FTP bejelentkezés",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT parancs hiba",
+T_FILE_NOT_FOUND, "A fájl nem található",
+T_FTP_FILE_ERROR, "FTP fájl hiba",
+T_UNKNOWN_ERROR, "Ismeretlen hiba",
+T_RECEIVED, "Fogadott",
+T_OF, ", fájlméret",
+T_AVG, "átlag",
+T_CUR, "aktuális",
+T_AVERAGE_SPEED, "Átlagos sebesség",
+T_SPEED, "Sebesség",
+T_CURRENT_SPEED, "Aktuális sebesség",
+T_ELAPSED_TIME, "Eltelt idõ",
+T_ESTIMATED_TIME, "Becsült hátralevõ idõ",
+T_BACKGROUND, "Háttérbe",
+T_ABORT, "Megszakít",
+T_ABORT_AND_DELETE_FILE, "Megszakítás, és a fájl törlése",
+T_YES, "Igen",
+T_NO, "Nem",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Hiba a letöltésben",
+T_COULD_NOT_WRITE_TO_FILE, "Hiba a fájlba írás közben",
+T_ERROR_DOWNLOADING, "Letöltési hiba",
+T_ERROR_LOADING, "Betöltési hiba",
+T_COULD_NOT_CREATE_FILE, "Fájl nem hozható létre",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Ismeretlen fájlformátum",
+T_CONTENT_TYPE_IS, "Tartalom típus",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Megnyitás, mentés vagy megjelenítés?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Megnyitás vagy mentés?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Mentés fájlba vagy megjelenítés képernyõn?",
+T_SAVE, "Mentés",
+T_DISPLAY, "Megjelenítés",
+T_WHAT_TO_DO, "Mit tegyünk?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Fájl megnyitása",
+T_SAVE_IT_OR_DISPLAY_IT, "mentsük vagy jelenítsük meg?",
+T_OPEN, "Megnyitás",
+T_OPEN_WITH, "Megnyitás ezzel",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Követed az átirányítást, és elküldöd az ûrlapot",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Elküldöd az ûrlapot",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Újra küldöd az ûrlapot",
+T_WARNING, "Figyelem",
+T_ERROR, "Hiba",
+T_WELCOME, "Üdvözlünk",
+T_WELCOME_TO_LINKS, "Üdvözlünk a Linksben!",
+T_BASIC_HELP, "Nyomj ESC-et a menühöz. Válaszd ki a Súgó/Kézikönyv-et a bõvebb segítséghez.",
+T_LABEL, "Címke",
+T_CONTENT_TYPES, "Tartalom típus(ok)",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' a fájl neve)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Terminál zárolás a program futása közben",
+T_RUN_ON_TERMINAL, "Futtatás terminálban",
+T_RUN_IN_XWINDOW, "Futtatás X-Windowban",
+T_ASK_BEFORE_OPENING, "Kérdés megnyitás elõtt.",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Kapcsolatok törlése",
+T_ASSOCIATION, "Kapcsolatok",
+T_EXTENSION_S, "Kiterjesztés(ek)",
+T_CONTENT_TYPE, "Tartalom típus(ok)",
+T_DELETE_EXTENSION, "Kiterjesztések törlése",
+T_EXTENSION, "Kiterjesztések",
+T_eXTENSION, "kiterjesztések",
+T_ERROR_WHILE_POSTING_FORM, "Hiba az ûrlap elküldése közben",
+T_COULD_NOT_GET_FILE, "Nem fogadható a fájl",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Nincs korábbi keresés",
+T_SEARCH_STRING_NOT_FOUND, "Keresett szöveg nem található.",
+T_SAVE_ERROR, "Mentési hiba",
+T_ERROR_WRITING_TO_FILE, "Hiba a fájl írása közben",
+T_DISPLAY_USEMAP, "Térkép megjelenítése",
+T_FOLLOW_LINK, "Link követése",
+T_OPEN_IN_NEW_WINDOW, "Megnyitás új ablakban.",
+T_DOWNLOAD_LINK, "Link letöltése",
+T_RESET_FORM, "Ûrlap törlése",
+T_SUBMIT_FORM, "Ûrlap elfogadása",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Ûrlap elfogadása és megnyitása új ablakban",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Ûrlap elfogadása és letöltés",
+T_VIEW_IMAGE, "Kép megtekintése",
+T_DOWNLOAD_IMAGE, "Kép letöltése",
+T_NO_LINK_SELECTED, "Nincs kiválasztott link",
+T_IMAGE, "Kép",
+T_USEMAP, "Térkép használata",
+T_XTERM, "XTerm",
+T_TWTERM, "TWterm",
+T_SCREEN, "Képernyõ",
+T_WINDOW, "Ablak",
+T_FULL_SCREEN, "Teljes képernyõ",
+T_BEOS_TERMINAL, "BeOS terminál",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Ûrlap elfogadása",
+T_POST_FORM_TO, "Ûrlap elküldése",
+T_RADIO_BUTTON, "Rádió gomb",
+T_CHECKBOX, "Jelölõnégyzet",
+T_SELECT_FIELD, "Mezõ kiválasztása",
+T_TEXT_FIELD, "Szöveg mezõ",
+T_TEXT_AREA, "Szöveg terület",
+T_FILE_UPLOAD, "Fájl feltöltése",
+T_PASSWORD_FIELD, "Jelszó mezõ",
+T_BUTTON, "Nyomógomb",
+T_NAME, "név",
+T_VALUE, "érték",
+T_HIT_ENTER_TO, "Üss ENTER-t",
+T_SUBMIT_TO, "elfogad",
+T_POST_TO, "elküld",
+T_INFO, "Információ",
+T_HEADER_INFO, "Fejléc infó",
+T_YOU_ARE_NOWHERE, "Nincs megnyitott oldal!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Méret",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "sikertelen",
+T_CODEPAGE, "Kódlap",
+T_ASSUMED, "feltételezett",
+T_IGNORING_SERVER_SETTING, "kiszolgáló beállítás figyelmen kívül hagyása",
+T_SERVER, "Kiszolgáló",
+T_DATE, "Dátum",
+T_LAST_MODIFIED, "Utolsó módosítás",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Nyelv",
+T_GO_TO_LINK, "Ugrás linkre",
+T_ENTER_LINK_NUMBER, "Írd be a link számát",
+T_RESIZE_TERMINAL, "Terminál átméretezése",
+T_COLUMNS, "Oszlopok",
+T_ROWS, "Sorok",
+T_GOTO, "Ugrás",
+T_CLOSE, "Bezár",
+T_FOLDER, "Mappa",
+T_fOLDER, "Mappa",
+T_ADD, "Hozzáad",
+T_DELETE, "Törlés",
+T_EDIT, "Szerkeszt",
+T_MOVE, "Mozgatás",
+T_NO_ITEMS_SELECTED, "Nincsenek bejegyzések kiválasztva",
+T_UNSELECT_ALL, "Kijelölést megszüntet",
+T_BOOKMARKS, "Könyvjelzõk",
+T_BOOKMARK, "Könyvjelzõ",
+T_ADD_BOOKMARK, "Könyvjelzõkhöz hozzáfûz",
+T_ADD_ASSOCIATION, "Új hozzárendelés",
+T_ADD_EXTENSION, "Kiterjesztés hozzáadása",
+T_ADD_FOLDER, "Mappa hozzáadása",
+T_BOOKMARK_TITLE, "Könyvjelzõ neve",
+T_EDIT_BOOKMARK, "Könyvjelzõ szerkesztése",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, "Kiterjesztés szerkesztése",
+T_DELETE_BOOKMARK, "Könyvjelzõ törlése",
+T_EDIT_FOLDER, "Mappa szerkesztése",
+T_DELETE_FOLDER, "Mappa törlése",
+T_NOT_EMPTY_SURE_DELETE, "Nem üres. Biztosan töröljük?",
+T_BOOKMARK_MANAGER, "Könyvjelzõ kezelõ",
+T_ASSOCIATIONS_MANAGER, "Hozzárendelések",
+T_EXTENSIONS_MANAGER, "Kiterjesztések",
+T_url, "url",
+T_NNAME, "Név",
+T_EXIT_LINKS, "Kilépés",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Biztos, hogy kilépsz a Linksbõl?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Biztos, hogy kilépsz a Linksbõl (és megszakítod az aktiv letöltéseket)?",
+T_HTTP_OPTIONS, "HTTP opciók",
+T_FTP_OPTIONS, "FTP opciók",
+T_HTTP_BUG_WORKAROUNDS, "HTTP hiba megoldása",
+T_USE_HTTP_10, "HTTP/1.0 használata",
+T_ALLOW_SERVER_BLACKLIST, "A hibás szerverek feketelistájának engedélyezése",
+T_BROKEN_302_REDIRECT, "Megszakított 302 átirányítás (megszegi a RFC-t, de kompatibilis a Netscape-pel.)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Nincs élõ kapcsolat POST kérés után (néhány hibás PHP adatbázisnak kell)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, "Nincs Accept-Charset küldés",
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "Nincs referer",
+T_REFERER_SAME_URL, "A kért URL küldése refererként",
+T_REFERER_FAKE, "Rögzített referer",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "Valódi referer küldése (normál mûködés, veszélyes!!!)",
+T_FAKE_REFERER, "Rögzített HTTP referer",
+T_FAKE_USERAGENT, "A böngészõ azonosítása mint:",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Jelszó az anonymous ftp belépéshez",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Kézikönyv",
+T_HOMEPAGE, "Honlap",
+T_CALIBRATION, "Kalibráció",
+T_MAILTO_PROG, "Levelezõ program (% helyére írd be a címed)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Telnet program (% helyére írd be \'kiszolgáló\' vagy \'kiszolgáló port\')",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Tn3270 program (% helyére írd be \'kiszolgáló\' vagy \'kiszolgáló port\')",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Levelezõ és Telnet programok",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Nincs program",
+T_NO_PROGRAM_SPECIFIED_FOR, "Nincs program beállítva",
+T_MAIL, "levelezés",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Hibás levélküldési URL",
+T_BAD_TELNET_URL, "Hibás telnet URL",
+T_BAD_TN3270_URL, "Hibás tn3270 URL",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "Felhasználói azonosító",
+T_PASSWORD, "Jelszó",
+T_ENTER_USERNAME, "Felhasználónév szükséges ehhez:",
+T_AT, NULL,
+T_SSL_ERROR, "SSL hiba",
+T_NO_SSL, "A Links ezen verziója nem témogatja az SSL/TLS titkosítást.",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "Biztosan törölhetõ?",
+T_BOOKMARKS_ALREADY_IN_USE, "A könyvjelzõk használatban vannak",
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, "Videó beállítások",
+T_VIDEO_OPTIONS_TEXT, "Javasolt értékek:\n 1.33 sötét környezethez, 1.11 félhomályhoz, 1 átlagos megvilágítás esetén, 0.88 fényes környezethez.",
+T_RED_DISPLAY_GAMMA, "Vörös gamma érték",
+T_GREEN_DISPLAY_GAMMA, "Zöld gamma érték",
+T_BLUE_DISPLAY_GAMMA, "Kék gamma érték",
+T_USER_GAMMA, "egyedi gamma",
+T_ALERT, "Figyelmeztetés",
+T_QUESTION, "Kérdés",
+T_KILL_SCRIPT, "A script leállítása",
+T_KILL_ALL_SCRIPTS, "Minden script leállítása",
+T_SCRIPT_KILLED_BY_USER, "A javascript megszakítva",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "A javascript be akarja zárni az ablakot. Valóban bezárjuk?",
+T_ENTER_STRING, "Szövegbevitel",
+T_JAVASCRIPT_OPTIONS, "Javascript beállítások",
+T_ENABLE_JAVASCRIPT, "A javascript engedélyezése",
+T_VERBOSE_JS_ERRORS, "Bõvebb javascript hibaüzenetek",
+T_VERBOSE_JS_WARNINGS, "Bõvebb javascript figyelmeztetõ üzenetek",
+T_MISCELANEOUS_OPTIONS, "Különleges beállítások",
+T_JAVASCRIPT_ERROR, "Javascript hiba",
+T_JAVASCRIPT_WARNING, "Javascript figyelmeztetés",
+T_DISMISS, "Hatástalanít",
+T_MENU_FONT_SIZE, "Menü betûmérete",
+T_USER_FONT_SIZE, "Felhasználói betûméret",
+T_TURN_OFF_WARNINGS, "Figyelmeztetések kikapcsolása",
+T_BOOKMARKS_ENCODING, "Könyvjelzõk kódolása",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "A Javascript erre az URL-re szeretne ugrani",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "A javascript új ablakban nyitná meg ezt az URL-t",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "A javascript a historyra akar ugrani",
+T_TO_URL, "URL-re ugrás",
+T_GOTO_HISTORY, "Elõzményekhez",
+T_ALLOW, "Engedélyez",
+T_REJECT, "Elutasít",
+T_ENABLE_ALL_CONVERSIONS, "Minden konverzió engedélyezése",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Globális névfeloldás",
+T_MANUAL_JS_CONTROL, "A javascript mûveletek kézi jóváhagyása",
+T_JS_RECURSION_DEPTH, "Rekurziós mélység",
+T_MENU_BACKGROUND_COLOR, "Menü háttérszín",
+T_MENU_FOREGROUND_COLOR, "Menü betûszín",
+T_SCROLL_BAR_BAR_COLOR, "Görgetõsáv csúszka színe",
+T_SCROLL_BAR_AREA_COLOR, "Görgetõsáv belsõ színe",
+T_SCROLL_BAR_FRAME_COLOR, "Görgetõsáv keretének színe",
+T_BOOKMARKS_FILE, "Könyvjelzõ állomány",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "A színeket kétbájtos hexa értékkel add meg (RRGGBB)",
+T_JS_MEMORY_LIMIT_KB, "A Javascript számára fenntartott memória (KiB)",
+T_DITHER_LETTERS, "Betûk optimalizálása kisebb színmélységhez",
+T_DITHER_IMAGES, "Képek optimalizálása kisebb színmélységhez",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "Képek átméretezése (%-kal)",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, "Képernyõ optimalizálása CRT monitorhoz",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "Képernyõ optimalizálása LCD-hez (RGB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "Képernyõ optimalizálása LCD-hez (BGR)",
+T_ASPECT_RATIO, "Torzítási arány",
+T_ASPECT_CORRECTION_ON, "Torzítás korrekció bekapcsolása",
+T_KEYBOARD_CODEPAGE, "Billentyûzet kódlapja",
+T_COPY_LINK_LOCATION, "Link címének másolása",
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "U",
+T_HK_GO_BACK, "V",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "E",
+T_HK_RELOAD, "F",
+T_HK_BOOKMARKS, "K",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "S",
+T_HK_SAVE_URL_AS, "R",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "H",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "T",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "K",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "V",
+T_HK_FIND_NEXT, "K",
+T_HK_FIND_PREVIOUS, "E",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "T",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "M",
+T_HK_LANGUAGE, "N",
+T_HK_CHARACTER_SET, "K",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "H",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "G",
+T_HK_MAIL_AND_TELNEL, "L",
+T_HK_ASSOCIATIONS, "R",
+T_HK_FILE_EXTENSIONS, "K",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "P",
+T_HK_KEYS, "B",
+T_HK_COPYING, "S",
+T_HK_MANUAL, "K",
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/icelandic.lng b/intl/icelandic.lng
new file mode 100644
index 0000000..ae14896
--- /dev/null
+++ b/intl/icelandic.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-1",
+T__LANGUAGE, "Icelandic",
+T__ACCEPT_LANGUAGE, "is",
+T_OK, "Í lagi",
+T_CANCEL, "Hætta við",
+T_BAD_NUMBER, "Ógild tala",
+T_NUMBER_EXPECTED, "Búist við tölu á reit",
+T_NUMBER_OUT_OF_RANGE, "Tala ekki í mengi",
+T_BAD_STRING, "Ógildur strengur",
+T_EMPTY_STRING_NOT_ALLOWED, "Tómur strengur óheimill",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Uppsetningarvilla",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Villa við ritun uppsetningarskrár",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Um",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW vafri",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Lyklar",
+T_KEYS_DESC, "ESC Sýna valblað\n^C, q hætta\n^P, ^N skruna upp, niður\n[, ] skruna vinstri, hægri\nup, down velja tengil\n-> elta tengil\n<- til baka\ng opna slóð\nG opna slóð eftir núverandi\n/ leita\n? leita öfugt\nn finna næsta\nN finna fyrra\n= uppl. skjals\n\\ kóði skjals\nd hlaða niður",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Afritun",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nÞetta forrit er frjáls hugbúnaður; þú getur dreift og/eða breytt honum samkvæmt skilmálum GNU General Public License leyfisins eftir Free Software Foundation; annaðhvort útgáfu 2 af leyfinu, eða (eftir þinni eigin hentisemi) hvaða seinni útgáfu sem er.",
+T_RESOURCES, "Kerfisþol",
+T_CONNECTIONS, "Tengingar",
+T_MEMORY_CACHE, "Skyndiminni",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "Forsniðið skyndiminni skráa",
+T_DNS_CACHE, NULL,
+T_HANDLES, "handföng",
+T_TIMERS, "teljarar",
+T_WAITING, NULL,
+T_CONNECTING, "tengist",
+T_tRANSFERRING, "flyt gögn",
+T_KEEPALIVE, "tengingarhald",
+T_BYTES, "bæti",
+T_LETTERS, NULL,
+T_FILES, "skrár",
+T_LOCKED, "læst",
+T_LOADING, "hleð",
+T_IMAGES, NULL,
+T_DOCUMENTS, "skjöl",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "skilgreint minni",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Uppl. minnis",
+T_NO_HISTORY, "Engin saga",
+T_NO_DOWNLOADS, "Engar niðurhleðslur",
+T_NO_FRAMES, "Engir rammar",
+T_VT_100_FRAMES, "VT 100 rammar",
+T_LINUX_OR_OS2_FRAMES, "Linux or OS/2 rammar",
+T_KOI8R_FRAMES, "KOI8-R rammar",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Nota ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Afturhalda römmum í cp850/852",
+T_BLOCK_CURSOR, "Blokkarbendill",
+T_COLOR, "Litur",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Stillingar skeljar",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP sel (miðlari:gátt)",
+T_FTP_PROXY__HOST_PORT, "FTP sel (miðlari:gátt)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, NULL,
+T_NETWORK_OPTIONS, "Stillingar netkerfis",
+T_MAX_CONNECTIONS, "Hámark tenginga",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Hámark tenginga við hvern miðlara",
+T_RETRIES, "Endurtektir",
+T_RECEIVE_TIMEOUT_SEC, "Sóknarfrestur (sek)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Sóknarfrestur þegar ekki endurtektarhæft",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Samhliða nafnaþjónakall",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Tími niðurhlaðinna skráa",
+T_CACHE_OPTIONS, "Stillingar skyndiminnis",
+T_MEMORY_CACHE_SIZE__KB, "Stærð skyndiminnis (KiB)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Tala forsniðinna skjala",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "Html stillingar",
+T_DISPLAY_TABLES, "Sýna töflur",
+T_DISPLAY_FRAMES, "Sýna ramma",
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Sýna slóðir að myndum",
+T_LINK_ORDER_BY_COLUMNS, "Færa eftir dálkum í töflum",
+T_NUMBERED_LINKS, "Tenglar eru númeraðir",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Textaspássía",
+T_DEFAULT_CODEPAGE, "Sjálfgefið stafasett",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Hunsa stafasett sent frá miðlara",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Opna slóð",
+T_GO_BACK, "Til baka",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Saga",
+T_RELOAD, "Endurhlaða",
+T_NEW_WINDOW, "Nýr gluggi",
+T_SAVE_AS, "Vista sem",
+T_SAVE_URL_AS, "Vista slóð sem",
+T_SAVE_FORMATTED_DOCUMENT, "Vista forsniðið skjal",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Drepa tengingar í bakgrunni",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Hreinsa allt skyndiminni",
+T_RESOURCE_INFO, "Uppl. kerfisþols",
+T_OS_SHELL, "Kerfisskel",
+T_EXIT, "Hætta",
+T_SEARCH, "Leita",
+T_SEARCH_BACK, "Leita öfugt",
+T_FIND_NEXT, "Finna næsta",
+T_FIND_PREVIOUS, "Finna fyrra",
+T_TOGGLE_HTML_PLAIN, "Skipta á milli html/texta",
+T_DOCUMENT_INFO, "Uppl. skjals",
+T_FRAME_AT_FULL_SCREEN, "Rammar í stærstu skjámynd",
+T_SAVE_HTML_OPTIONS, "Vista html stillingar",
+T_CHARACTER_SET, "Stafasett",
+T_CACHE, "Skyndiminni",
+T_MAIL_AND_TELNEL, "Póst- og telnet forrit",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Forritatengsl",
+T_FILE_EXTENSIONS, "Skráarendingar",
+T_SAVE_OPTIONS, "Vista stillingar",
+T_FILE, "Skrá",
+T_VIEW, "Viðmót",
+T_LINK, "Tenglar",
+T_DOWNLOADS, "Niðurhleðslur",
+T_SETUP, "Uppsetning",
+T_HELP, "Hjálp",
+T_ENTER_URL, "Setja inn slóð",
+T_SAVE_URL, "Vista slóð",
+T_DOWNLOAD, "Niðurhlaða",
+T_SAVE_TO_FILE, "Vista í skrá",
+T_SEARCH_FOR_TEXT, "Leita að texta",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Bíð í röð",
+T_LOOKING_UP_HOST, "Leita að miðlara",
+T_MAKING_CONNECTION, "Opna tengingu",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, NULL,
+T_REQUEST_SENT, "Fyrirspurn send",
+T_GETTING_HEADERS, "Næ í hausa",
+T_LOGGING_IN, NULL,
+T_SERVER_IS_PROCESSING_REQUEST, "Miðlari er að vinna úr fyrirspurn",
+T_TRANSFERRING, "Flyt gögn",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Bíð eftir staðfestingu endurkasts",
+T_INTERRUPTED, "Truflun",
+T_SOCKET_EXCEPTION, "Villa í gagnaflutningi",
+T_INTERNAL_ERROR, "Innri villa",
+T_OUT_OF_MEMORY, "Minni á þrotum",
+T_HOST_NOT_FOUND, "Miðlari ekki fundinn",
+T_ERROR_WRITING_TO_SOCKET, "Villa við ritun til nets",
+T_ERROR_READING_FROM_SOCKET, "Villa við lestur nets",
+T_DATA_MODIFIED, "Gögnum breytt",
+T_BAD_URL_SYNTAX, "Ógild slóð",
+T_RECEIVE_TIMEOUT, "Sóknarfrestur útrunninn",
+T_REQUEST_MUST_BE_RESTARTED, "Endurgera verður fyrirspurn",
+T_CANT_GET_SOCKET_STATE, "Finn ekki stöðu gáttar",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Ógilt HTTP svar",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Ekkert efni",
+T_UNKNOWN_FILE_TYPE, "Óþekkt skráartegund",
+T_ERROR_OPENING_FILE, "Villa við opnun skráar",
+T_BAD_FTP_RESPONSE, "Ógilt FTP svar",
+T_FTP_SERVICE_UNAVAILABLE, "FTP þjónusta ekki tiltæk",
+T_BAD_FTP_LOGIN, "Ógild FTP innstimplun",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT skipun mistókst",
+T_FILE_NOT_FOUND, "Skrá ekki fundin",
+T_FTP_FILE_ERROR, "FTP skráarvilla",
+T_UNKNOWN_ERROR, "Óþekkt villa",
+T_RECEIVED, "Tekið á móti",
+T_OF, "af",
+T_AVG, "meðalt",
+T_CUR, "núv",
+T_AVERAGE_SPEED, "Meðalhraði",
+T_SPEED, "Hraði",
+T_CURRENT_SPEED, "Núverandi hraði",
+T_ELAPSED_TIME, "Liðinn tími",
+T_ESTIMATED_TIME, "metinn tími",
+T_BACKGROUND, "Bakgrunnur",
+T_ABORT, "Hætta við",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Já",
+T_NO, "Nei",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "niðurhleðsluvilla",
+T_COULD_NOT_WRITE_TO_FILE, "Gat ekki skrifað í skrá",
+T_ERROR_DOWNLOADING, "Villa við niðurhleðslu",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "Gat ekki búið til skrá",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Óþekkt gerð",
+T_CONTENT_TYPE_IS, "Innihaldsgerð er",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Viltu sjá eða vista innihald þessarar skráar?",
+T_SAVE, "Vista",
+T_DISPLAY, "Sjá",
+T_WHAT_TO_DO, "Hvað skal gera?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Viltu opna skrá með",
+T_SAVE_IT_OR_DISPLAY_IT, "Vista hana eða opna hana?",
+T_OPEN, "Opna",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Viltu fylgja endurspeglun og senda þessar upplýsingar á slóðina",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Viltu senda þessar upplýsingar á slóðina",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Viltu endursenda fyrri upplýsingar á slóðina",
+T_WARNING, "Viðvörun",
+T_ERROR, "Villa",
+T_WELCOME, "Velkomin",
+T_WELCOME_TO_LINKS, "Verið velkomin til Links!",
+T_BASIC_HELP, "Ýttu á ESC fyrir valblað. Veldu Hjálp->Handbók í valblaði fyrir handbókina.",
+T_LABEL, "Miði",
+T_CONTENT_TYPES, "Innihaldstegundir",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Forrit ('%' er skipt út fyrir skáarheiti)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Fela skel á meðan forrit er keyrt",
+T_RUN_ON_TERMINAL, "Keyra á skel",
+T_RUN_IN_XWINDOW, "Keyra í X-Windows",
+T_ASK_BEFORE_OPENING, "Spyrja fyrir opnun",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Eyða forritatengslum",
+T_ASSOCIATION, "Forritatengsl",
+T_EXTENSION_S, "Skráarendingar",
+T_CONTENT_TYPE, "Innihaldstegund",
+T_DELETE_EXTENSION, "Eyða skráarendingu",
+T_EXTENSION, "Skráarending",
+T_eXTENSION, "skráarending",
+T_ERROR_WHILE_POSTING_FORM, "Villa við póstun forms",
+T_COULD_NOT_GET_FILE, "Gat ekki sótt skrá",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Engin fyrri leit",
+T_SEARCH_STRING_NOT_FOUND, "Leitarstrengur ekki fundinn",
+T_SAVE_ERROR, "Vistunarvilla",
+T_ERROR_WRITING_TO_FILE, "Villa við ritun skráar",
+T_DISPLAY_USEMAP, "Sýna notkunarkort",
+T_FOLLOW_LINK, "Elta slóð",
+T_OPEN_IN_NEW_WINDOW, "Opna í nýjum glugga",
+T_DOWNLOAD_LINK, "Hlaða niður tengil",
+T_RESET_FORM, "Hreinsa form",
+T_SUBMIT_FORM, "Senda form",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Senda form og opna nýjan glugga",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Senda form og hlaða niður",
+T_VIEW_IMAGE, "Skoða mynd",
+T_DOWNLOAD_IMAGE, "Hlaða niður mynd",
+T_NO_LINK_SELECTED, "Enginn tengill valinn",
+T_IMAGE, "Mynd",
+T_USEMAP, "Notkunarkort",
+T_XTERM, "Xterm",
+T_TWTERM, NULL,
+T_SCREEN, "Skjár",
+T_WINDOW, "Gluggi",
+T_FULL_SCREEN, "Fullskjár",
+T_BEOS_TERMINAL, "BeOS skel",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Senda form til",
+T_POST_FORM_TO, "Senda form til",
+T_RADIO_BUTTON, "Einvalshnappur",
+T_CHECKBOX, "Fjölvalshnappur",
+T_SELECT_FIELD, "Einvalsreitur",
+T_TEXT_FIELD, "Textareitur",
+T_TEXT_AREA, "Textasvæði",
+T_FILE_UPLOAD, "Upphlöðun skráar",
+T_PASSWORD_FIELD, "Lykilorðareitur",
+T_BUTTON, NULL,
+T_NAME, "nafn",
+T_VALUE, "gildi",
+T_HIT_ENTER_TO, "ýttu á ENTER til að",
+T_SUBMIT_TO, "senda til",
+T_POST_TO, "senda til",
+T_INFO, "Upplýsingar",
+T_HEADER_INFO, NULL,
+T_YOU_ARE_NOWHERE, "Þú ert hvergi!",
+T_NO_HEADER, NULL,
+T_URL, "slóð",
+T_SIZE, "Stærð",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "óklárað",
+T_CODEPAGE, "Lyklasett",
+T_ASSUMED, "gert ráð fyrir",
+T_IGNORING_SERVER_SETTING, "hunsa stillingar miðlara",
+T_SERVER, "Miðlari",
+T_DATE, "Dagsetning",
+T_LAST_MODIFIED, "Seinast breytt",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Tungumál",
+T_GO_TO_LINK, "Opna tengil",
+T_ENTER_LINK_NUMBER, "Innsetning tenglanúmer",
+T_RESIZE_TERMINAL, "Setja skjástærð skeljar",
+T_COLUMNS, "Dálkar",
+T_ROWS, "Raðir",
+T_GOTO, "Fara til",
+T_CLOSE, "Loka",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "Bæta við",
+T_DELETE, "Eyða",
+T_EDIT, "Breyta",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "Bókamerki",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "Bæta við bókamerki",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, "Titill bókamerkis",
+T_EDIT_BOOKMARK, "Breyta bókamerki",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "Eyða bókamerki",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "Bókamerkjastjóri",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, "slóð",
+T_NNAME, "Nafn",
+T_EXIT_LINKS, "Loka Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Viltu virkilega loka Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Viltu virkilega loka Links (og hætta við allar niðurhleðslur)?",
+T_HTTP_OPTIONS, "HTTP stillingar",
+T_FTP_OPTIONS, "FTP stillingar",
+T_HTTP_BUG_WORKAROUNDS, "HTTP aflúsun",
+T_USE_HTTP_10, "Nota HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Leyfa svartan lista götóttra vefþjóna",
+T_BROKEN_302_REDIRECT, "Brotnar endursendingar 302 (það brýtur RFC, en er Netscape-samhæft)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Engar endurlífganir eftir POST fyrirspurn (sumir götóttir PHP grunnar þarfnast þess)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Lykilorð fyrir ónafngreindar innskráningar",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Handbók",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, "Póstforrit (% er skipt út fyrir netfang)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Telnet forrit (% er skipt út fyrir \"miðlari\" eða \"miðlari gátt\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Tn3270 forrit (% er skipt út fyrir \"miðlari\" eða \"miðlari gátt\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Póst- og telnet forrit",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Ekkert forrit",
+T_NO_PROGRAM_SPECIFIED_FOR, "Ekkert forrit skilgreint fyrir",
+T_MAIL, "póstur",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Rangt póstfang",
+T_BAD_TELNET_URL, "Rangt netfang",
+T_BAD_TN3270_URL, "Rangt netfang",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, NULL,
+T_PASSWORD, NULL,
+T_ENTER_USERNAME, NULL,
+T_AT, NULL,
+T_SSL_ERROR, NULL,
+T_NO_SSL, NULL,
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "O",
+T_HK_GO_BACK, "B",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "S",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "E",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "V",
+T_HK_SAVE_URL_AS, "T",
+T_HK_SAVE_FORMATTED_DOCUMENT, "F",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "Y",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "L",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "H",
+T_HK_SEARCH, "L",
+T_HK_SEARCH_BACK, "E",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "F",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "U",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "R",
+T_HK_HTML_OPTIONS, "S",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "A",
+T_HK_LANGUAGE, "T",
+T_HK_CHARACTER_SET, "S",
+T_HK_TERMINAL_OPTIONS, "K",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "Y",
+T_HK_MAIL_AND_TELNEL, "P",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "I",
+T_HK_ABOUT, "U",
+T_HK_KEYS, "L",
+T_HK_COPYING, "A",
+T_HK_MANUAL, "H",
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "S",
+T_HK_VIEW, "V",
+T_HK_LINK, "T",
+T_HK_DOWNLOADS, "N",
+T_HK_SETUP, "U",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "E",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "T",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "S",
+T_HK_DOWNLOAD_IMAGE, "M",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/index.txt b/intl/index.txt
new file mode 100644
index 0000000..fed6c3f
--- /dev/null
+++ b/intl/index.txt
@@ -0,0 +1,33 @@
+english
+bahasa_indonesian
+belarusian
+brazilian_portuguese
+bulgarian
+catalan
+croatian
+czech
+danish
+dutch
+estonian
+finnish
+french
+galician
+german
+greek
+hungarian
+icelandic
+italian
+lithuanian
+norwegian
+polish
+portuguese
+romanian
+russian
+serbian
+slovak
+spanish
+swedish
+swiss_german
+turkish
+ukrainian
+upper_sorbian
diff --git a/intl/intl.txt b/intl/intl.txt
new file mode 100644
index 0000000..e952cda
--- /dev/null
+++ b/intl/intl.txt
@@ -0,0 +1,10 @@
+When you add or delete any text, add or delete it in english.lng and run
+script ./synclang. It adds NULL entries to other languages. Then run ./gen-intl.
+
+When you change any text, run ./get-intl.
+
+Menu hotkeys are also translated via this interface. You can specify more
+hotkeys. When using normal letters as hotkeys, always use upper case. When using
+some characters above 128, specify both upper and lower letters.
+
+vim: textwidth=80
diff --git a/intl/italian.lng b/intl/italian.lng
new file mode 100644
index 0000000..aea94d2
--- /dev/null
+++ b/intl/italian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "it-ascii",
+T__LANGUAGE, "Italian",
+T__ACCEPT_LANGUAGE, "it",
+T_OK, "OK",
+T_CANCEL, "Cancella",
+T_BAD_NUMBER, "Numero sbagliato",
+T_NUMBER_EXPECTED, "atteso numero nel campo",
+T_NUMBER_OUT_OF_RANGE, "Numero fuori intervallo",
+T_BAD_STRING, "Stringa sbagliata",
+T_EMPTY_STRING_NOT_ALLOWED, "Stringa vuota non consentita",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Errore configurazione",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Non posso scrivere il file di configurazione",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "About",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWeb browser.",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Tasti",
+T_KEYS_DESC, "ESC mostra menu\n^C, q esci\n^P, ^N scrolla su, giu'\n[, ] scrolla sinistra, destra\nup, down selezione link\n-> segui link\n<- indietro\ng apri url\nG apri url relativo a url correntel\n/ cerca\n? cerca indietro\nn trova prossimo\nN trova precedente\n= info documento\n\\ sorgente documento\nd scarica",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Copying",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\nQuesto programma e' free software; lo puoi ridistribuire e/o modificare nei termini della GNU General Public License come pubblicato dalla Free Software Foundation; sia la versione 2 della Licenza, o (a tua scelta) ogni altra versione successiva",
+T_RESOURCES, "Risorse",
+T_CONNECTIONS, "Connessioni",
+T_MEMORY_CACHE, "Cache memoria",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "Cache documenti formattati",
+T_DNS_CACHE, NULL,
+T_HANDLES, "handles",
+T_TIMERS, "contatori",
+T_WAITING, NULL,
+T_CONNECTING, "connessione in corso",
+T_tRANSFERRING, "trasferimenti in corso",
+T_KEEPALIVE, "keepalive",
+T_BYTES, "bytes",
+T_LETTERS, NULL,
+T_FILES, "files",
+T_LOCKED, "Bloccati",
+T_LOADING, "caricamenti in corso",
+T_IMAGES, NULL,
+T_DOCUMENTS, "documenti",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "byte di memoria allocati",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Info memoria",
+T_NO_HISTORY, "Nessuna cronologia",
+T_NO_DOWNLOADS, "Nessun download",
+T_NO_FRAMES, "Non utilizzare frame",
+T_VT_100_FRAMES, "Frame VT 100",
+T_LINUX_OR_OS2_FRAMES, "Frame Linux o OS/2",
+T_KOI8R_FRAMES, "Frame KOI8-R",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Usa ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Frame ristrette in cp850/852",
+T_BLOCK_CURSOR, "cursore a blocco",
+T_COLOR, "Colore",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Opzioni terminale",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "Proxy HTTP (host:porta)",
+T_FTP_PROXY__HOST_PORT, "Proxy FTP (host:porta)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, NULL,
+T_NETWORK_OPTIONS, "Opzioni di rete",
+T_MAX_CONNECTIONS, "Connessioni massime",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Connessioni massime ad un host",
+T_RETRIES, "Tentativi",
+T_RECEIVE_TIMEOUT_SEC, "Timeout ricezione (sec)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout quando non riavviabile",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Ricerca asincrona DNS",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Imposta ora del file scaricato",
+T_CACHE_OPTIONS, "Opzioni cache",
+T_MEMORY_CACHE_SIZE__KB, "Dimensione memoria cache (KiB)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Numero di documenti formattati",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "Opzioni html",
+T_DISPLAY_TABLES, "Visualizza tabelle",
+T_DISPLAY_FRAMES, "Visualizza frame",
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Visualizza i link alle immagini",
+T_LINK_ORDER_BY_COLUMNS, "Muoviti a collonne nelle tabelle",
+T_NUMBERED_LINKS, "I links sono numerati",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Margine testo",
+T_DEFAULT_CODEPAGE, "Codepage predefinita",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignora le informazioni sul charset mandate dal server",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Apri URL",
+T_GO_BACK, "Indietro",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Cronologia",
+T_RELOAD, "Ricarica",
+T_NEW_WINDOW, "Nuova finestra",
+T_SAVE_AS, "Salva come",
+T_SAVE_URL_AS, "Salva URL come",
+T_SAVE_FORMATTED_DOCUMENT, "Salva documento formattato",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Uccidi connessioni in background",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Svuota tutte le cache",
+T_RESOURCE_INFO, "Informazioni risorse",
+T_OS_SHELL, "OS shell",
+T_EXIT, "Esci",
+T_SEARCH, "Cerca",
+T_SEARCH_BACK, "Cerca indietro",
+T_FIND_NEXT, "Trova successivo",
+T_FIND_PREVIOUS, "Trova precedente",
+T_TOGGLE_HTML_PLAIN, "Inverti html/plain",
+T_DOCUMENT_INFO, "Informazioni documento",
+T_FRAME_AT_FULL_SCREEN, "Frame a tutto schermo",
+T_SAVE_HTML_OPTIONS, "Salva opzioni html",
+T_CHARACTER_SET, "Set caratteri",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "Mail e Telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Associazioni",
+T_FILE_EXTENSIONS, "Estensioni File",
+T_SAVE_OPTIONS, "Salva opzioni",
+T_FILE, "File",
+T_VIEW, "Visualizza",
+T_LINK, "Link",
+T_DOWNLOADS, "Download",
+T_SETUP, "Impostazioni",
+T_HELP, "Aiuto",
+T_ENTER_URL, "Inserisci URL",
+T_SAVE_URL, "Salva URL",
+T_DOWNLOAD, "Download",
+T_SAVE_TO_FILE, "Salva su file",
+T_SEARCH_FOR_TEXT, "Cerca testo",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Attesa in coda",
+T_LOOKING_UP_HOST, "Cerco host",
+T_MAKING_CONNECTION, "Effettuo connessione",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, NULL,
+T_REQUEST_SENT, "Richiesta spedita",
+T_GETTING_HEADERS, "Ricezione headers",
+T_LOGGING_IN, NULL,
+T_SERVER_IS_PROCESSING_REQUEST, "Il server sta elaborando la richiesta",
+T_TRANSFERRING, "Trasferimento",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Attesa conferma redirezione",
+T_INTERRUPTED, "Interrotto",
+T_SOCKET_EXCEPTION, "Eccezione socket",
+T_INTERNAL_ERROR, "Errore interno",
+T_OUT_OF_MEMORY, "Memoria esaurita",
+T_HOST_NOT_FOUND, "Host non trovato",
+T_ERROR_WRITING_TO_SOCKET, "Errore in scrittura su socket",
+T_ERROR_READING_FROM_SOCKET, "Errore in lettura da socket",
+T_DATA_MODIFIED, "Data modificata",
+T_BAD_URL_SYNTAX, "Sintassi URL errata",
+T_RECEIVE_TIMEOUT, "Ricevuto timeout",
+T_REQUEST_MUST_BE_RESTARTED, "La richiesta deve essere riavviata",
+T_CANT_GET_SOCKET_STATE, "Non posso prendere lo stato della socket",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Risposta HTTP errata",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Nessun contenuto",
+T_UNKNOWN_FILE_TYPE, "Tipo file sconosciuto",
+T_ERROR_OPENING_FILE, "Errore nell'apertura del file",
+T_BAD_FTP_RESPONSE, "Risposta FTP errata",
+T_FTP_SERVICE_UNAVAILABLE, "Servizio FTP non attivo",
+T_BAD_FTP_LOGIN, "Errore login FTP",
+T_FTP_PORT_COMMAND_FAILED, "Comando FTP PORT fallito",
+T_FILE_NOT_FOUND, "File non trovato",
+T_FTP_FILE_ERROR, "Errore file FTP",
+T_UNKNOWN_ERROR, "Errore sconosciuto",
+T_RECEIVED, "Ricevuti",
+T_OF, "di",
+T_AVG, "media",
+T_CUR, "corrente",
+T_AVERAGE_SPEED, "Velocita' media",
+T_SPEED, "Velocita'",
+T_CURRENT_SPEED, "Velocita' corrente",
+T_ELAPSED_TIME, "Tempo trascorso",
+T_ESTIMATED_TIME, "tempo stimato",
+T_BACKGROUND, "Background",
+T_ABORT, "Interrompi",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Si",
+T_NO, "No",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Errore download",
+T_COULD_NOT_WRITE_TO_FILE, "Non posso scrivere sul file",
+T_ERROR_DOWNLOADING, "Errore dureante il download",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "Non posso creare il file",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Tipo sconosciuto",
+T_CONTENT_TYPE_IS, "Il tipo contenuto e'",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Vuoi salvare o visualizzare il file?",
+T_SAVE, "Salva",
+T_DISPLAY, "Visualizza",
+T_WHAT_TO_DO, "Cosa fare ?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Vuoi aprire il file con",
+T_SAVE_IT_OR_DISPLAY_IT, "salvataggio o visualizzazione ?",
+T_OPEN, "Apri",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Vuoi seguire la redirezione e spedire di dati all'URL",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Vuoi spedire i dati all'url",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Vuoi rispedire i dati all'url",
+T_WARNING, "Attenzione",
+T_ERROR, "Errore",
+T_WELCOME, "Benvenuto",
+T_WELCOME_TO_LINKS, "Benvenuto in links!",
+T_BASIC_HELP, "Premi ESC per il menu. Seleziona Help->Manuale nel menu' per il manuale utente.",
+T_LABEL, "Etichetta",
+T_CONTENT_TYPES, "Tipo(i) contenuto",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programma ('%' e' sostituito con il nome del file)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blocca il terminale mentre il programma e' attivo",
+T_RUN_ON_TERMINAL, "Esegui in un terminale",
+T_RUN_IN_XWINDOW, "Esegui in X-Window",
+T_ASK_BEFORE_OPENING, "Chiedi prima di aprire",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Cancella associazione",
+T_ASSOCIATION, "Associazione",
+T_EXTENSION_S, "Estensione(i)",
+T_CONTENT_TYPE, "Tipo contenuto",
+T_DELETE_EXTENSION, "Cancella estensioni",
+T_EXTENSION, "Estensione",
+T_eXTENSION, "estensione",
+T_ERROR_WHILE_POSTING_FORM, "Errore durante l'invio dei dati",
+T_COULD_NOT_GET_FILE, "Non posso scaricare il file",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Nessuna ricerca precedente",
+T_SEARCH_STRING_NOT_FOUND, "Stringa cercata non trovata",
+T_SAVE_ERROR, "Errore salvataggio",
+T_ERROR_WRITING_TO_FILE, "Errore scrittura del file",
+T_DISPLAY_USEMAP, "Visualizza usemap",
+T_FOLLOW_LINK, "Segui link",
+T_OPEN_IN_NEW_WINDOW, "Apri in una nuova finestra",
+T_DOWNLOAD_LINK, "Scarica link",
+T_RESET_FORM, "Cancella form",
+T_SUBMIT_FORM, "Invia form",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Invia form e apri in una nuova finestra",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Invia form e scarica",
+T_VIEW_IMAGE, "Visualizza immagine",
+T_DOWNLOAD_IMAGE, "Scarica immagine",
+T_NO_LINK_SELECTED, "Nessun link selezionato",
+T_IMAGE, "Immmagine",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Schermo",
+T_WINDOW, "Finestra",
+T_FULL_SCREEN, "Tutto schermo",
+T_BEOS_TERMINAL, "Terminale BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Sottometti form a",
+T_POST_FORM_TO, "Invia form a",
+T_RADIO_BUTTON, "Radio button",
+T_CHECKBOX, "Checkbox",
+T_SELECT_FIELD, "Campo selezionato",
+T_TEXT_FIELD, "Campo testo",
+T_TEXT_AREA, "Area testo",
+T_FILE_UPLOAD, "Upload file",
+T_PASSWORD_FIELD, "Campo password",
+T_BUTTON, NULL,
+T_NAME, "nome",
+T_VALUE, "valore",
+T_HIT_ENTER_TO, "premi ENTER per",
+T_SUBMIT_TO, "sottometti a",
+T_POST_TO, "invia a",
+T_INFO, "Info",
+T_HEADER_INFO, NULL,
+T_YOU_ARE_NOWHERE, "Sei nel nulla!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Dimensione",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "incompleto",
+T_CODEPAGE, "Codepage",
+T_ASSUMED, "assunta",
+T_IGNORING_SERVER_SETTING, "ignoro i settaggi del server",
+T_SERVER, "Server",
+T_DATE, "Data",
+T_LAST_MODIFIED, "Ultima modifica",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Lingua",
+T_GO_TO_LINK, "vai al link",
+T_ENTER_LINK_NUMBER, "Inserisci il numero del link",
+T_RESIZE_TERMINAL, "Ridimensiona terminale",
+T_COLUMNS, "Colonne",
+T_ROWS, "Righe",
+T_GOTO, "Vai a",
+T_CLOSE, "Chiudi",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "Aggiungi",
+T_DELETE, "Cancella",
+T_EDIT, "Modifica",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "Bookmark",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "Aggiungi bookmark",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, "Titolo bookmark ",
+T_EDIT_BOOKMARK, "Modifica bookmark",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "Cancella bookmark",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "Gestore bookmark",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, "url",
+T_NNAME, "Nome",
+T_EXIT_LINKS, "Chiudi Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Vuoi veramente uscire da Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Vuoi veramente uscire da Links (e terminare tutti i download)?",
+T_HTTP_OPTIONS, "Opzioni HTTP",
+T_FTP_OPTIONS, "Opzioni FTP",
+T_HTTP_BUG_WORKAROUNDS, "HTTP bug workarounds",
+T_USE_HTTP_10, "Usa HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Permetti blacklist per i server difettosi",
+T_BROKEN_302_REDIRECT, "Redirezione 302 errata (viola gli RFC, ma e' compatibile con Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Nessuna connessione keepalive dopo una richiesta POST (necessario per alcuni database PHP difettosi)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Password per login anonimo",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Manuale utente",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, "Programma mail (% e' sostituito con l'indirizzo)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Programma telnet (% e' sostituito con \"host\" o \"host port\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Programma Tn3270 (% e' sostituito con \"host\" o \"host port\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Programmi mail e telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Nessun programma",
+T_NO_PROGRAM_SPECIFIED_FOR, "Nessun programma definito per",
+T_MAIL, "mail",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Errato mailto url",
+T_BAD_TELNET_URL, "Errato telnet url",
+T_BAD_TN3270_URL, "Errato tn3270 url",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, NULL,
+T_PASSWORD, NULL,
+T_ENTER_USERNAME, NULL,
+T_AT, NULL,
+T_SSL_ERROR, NULL,
+T_NO_SSL, NULL,
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "B",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "V",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "F",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "E",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "B",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "F",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "A",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "H",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "A",
+T_HK_KEYS, "K",
+T_HK_COPYING, "C",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/lithuanian.lng b/intl/lithuanian.lng
new file mode 100644
index 0000000..8e4a887
--- /dev/null
+++ b/intl/lithuanian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "Windows-1257",
+T__LANGUAGE, "Lithuanian",
+T__ACCEPT_LANGUAGE, "lt",
+T_OK, "Gerai",
+T_CANCEL, "Atðaukti",
+T_BAD_NUMBER, "Netinkamas skaièius",
+T_NUMBER_EXPECTED, "Laukelyje reikia ávesti skaièiø",
+T_NUMBER_OUT_OF_RANGE, "Skaièius per didelis",
+T_BAD_STRING, "Neteisinga eilutë",
+T_EMPTY_STRING_NOT_ALLOWED, "Eilutë negali bûti tuðèia",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Configûravimo klaida",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Neámanoma áraðyti á konfigûracijos failà",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Apie",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nLynx-tipo tekstinë narðyklë",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Klaviðai",
+T_KEYS_DESC, "ESC parodyti meniu\n^C, q iðeiti\n^P, ^N lëtai á virðø, á apaèià\n[, ] lëtai á kairæ, á deðinæ\nup, down paþymëti nuorodà\n-> sekti nuorodà \n<- atgal\ng eiti adresu..\nG eiti adresu ðiame serveryje..\n/ ieðkoti\n? ieðkoti atgal\nn surasti sekantá \nN surasti prieð tai buvusá\n= dokumento informacija\n\\ dokumento ðaltinis\nd parsiûsti",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Licenzija",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\nÐi programa yra nemokama; tu gali platinti jà ir/arba modifikuoti pagal GNU Bendrajà Publicistinæ Licenzijà (GPL), paraðytà Nemokamø Programø Fondo (Free Software Foundation); pagal 2 Licenzijos versijà, arba (kaip jau tu norësi) kokià vëlesnæ.",
+T_RESOURCES, "Resursai",
+T_CONNECTIONS, "Prisijungimai",
+T_MEMORY_CACHE, "Laikinoji atmintis",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "Suformuoto dokumento laikinoji atmintis",
+T_DNS_CACHE, NULL,
+T_HANDLES, "valdikliai",
+T_TIMERS, "laiko matuokliai",
+T_WAITING, NULL,
+T_CONNECTING, "jungiasi",
+T_tRANSFERRING, "siunèia",
+T_KEEPALIVE, "keepalive",
+T_BYTES, "baitai",
+T_LETTERS, NULL,
+T_FILES, "failai",
+T_LOCKED, "uþrakintas",
+T_LOADING, "kraunasi",
+T_IMAGES, NULL,
+T_DOCUMENTS, "dokumentai",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "baitø atminties iðskirta",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Atminties informacija",
+T_NO_HISTORY, "Nër istorijos",
+T_NO_DOWNLOADS, "Nër siuntimø",
+T_NO_FRAMES, "Nenaudoti rëmø",
+T_VT_100_FRAMES, "VT 100 rëmai",
+T_LINUX_OR_OS2_FRAMES, "Linux ar OS/2 rëmai",
+T_KOI8R_FRAMES, "KOI8-R rëmai",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Naudoti ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Apriboti rëmus cp850/852 koduotëse",
+T_BLOCK_CURSOR, "Blokuoti þymeklá",
+T_COLOR, "Spalvos",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Terminalo opcijos",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP proksi (hostas:portas)",
+T_FTP_PROXY__HOST_PORT, "FTP proksi (hostas:portas)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, NULL,
+T_NETWORK_OPTIONS, "Tinklo opcijos",
+T_MAX_CONNECTIONS, "Daugiausia prisijungimø",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Daugiausia prisijungimø á tà patá hostà",
+T_RETRIES, "Pakartojimai",
+T_RECEIVE_TIMEOUT_SEC, "Gavimo timeout'as (sek)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout'as kai neperkaunama",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Asinchroiðka DNS paieðka",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Nustatyti parsiøstø failø laikà",
+T_CACHE_OPTIONS, "Laikinosios atminties opcijos",
+T_MEMORY_CACHE_SIZE__KB, "Laikinosios atminties dydis (KiB)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Suformuotø dokumentø saièius",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "Html opcijos",
+T_DISPLAY_TABLES, "Rodyti lenteles",
+T_DISPLAY_FRAMES, "Rodyti rëmus",
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Rodyti nuorodas á paveikslëlius",
+T_LINK_ORDER_BY_COLUMNS, "Judëti pagal kolonas lentelëje",
+T_NUMBERED_LINKS, "Nuorodas suþymëti",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Teksto paraðtë",
+T_DEFAULT_CODEPAGE, "Standartinë koduotë",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignoruoti serverio siunèiamà koduotës informacijà",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Eiti á puslapá..",
+T_GO_BACK, "Eiti atgal",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Istorija",
+T_RELOAD, "Perkrauti",
+T_NEW_WINDOW, "Naujas Langas",
+T_SAVE_AS, "Iðsaugoti kaip..",
+T_SAVE_URL_AS, "Iðdaugoti adresà kaip..",
+T_SAVE_FORMATTED_DOCUMENT, "Iðsaugoti suformuotà dokumentà",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Pribaigti foninius siuntimus",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Iðvalyti laikinàjà atmintá",
+T_RESOURCE_INFO, "Resursø informacija",
+T_OS_SHELL, "Konsolë",
+T_EXIT, "Iðeiti",
+T_SEARCH, "Paieðka",
+T_SEARCH_BACK, "Atvirkðtinë paieðka",
+T_FIND_NEXT, "Surasti sekantá",
+T_FIND_PREVIOUS, "Surasti prieð tai buvusá",
+T_TOGGLE_HTML_PLAIN, "Pakeisti html/plain",
+T_DOCUMENT_INFO, "Informacija apie dokumentà",
+T_FRAME_AT_FULL_SCREEN, "Rëmas per visà ekranà",
+T_SAVE_HTML_OPTIONS, "Iðsaugoti html opcijas",
+T_CHARACTER_SET, "Koduotë",
+T_CACHE, "Laikinoji atmintis",
+T_MAIL_AND_TELNEL, "Paðtas ir telnet'as",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Asociacijos",
+T_FILE_EXTENSIONS, "Failø plëtiniai",
+T_SAVE_OPTIONS, "Iðsaugoti pakeitimus",
+T_FILE, "Byla",
+T_VIEW, "Þiûrëti",
+T_LINK, "Nuoroda",
+T_DOWNLOADS, "Siuntimai",
+T_SETUP, "Nustatymai",
+T_HELP, "Pagalba",
+T_ENTER_URL, "Ávesk adresà",
+T_SAVE_URL, "Iðsaugok adresà",
+T_DOWNLOAD, "Parsisiøsk",
+T_SAVE_TO_FILE, "Iðsaugoti á failà",
+T_SEARCH_FOR_TEXT, "Ieðkok teksto",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Laukiam eilëje",
+T_LOOKING_UP_HOST, "Ieðkom hosto",
+T_MAKING_CONNECTION, "Jungiamës",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, NULL,
+T_REQUEST_SENT, "Praðymas iðsiøstas",
+T_GETTING_HEADERS, "Gaunam antraðtes",
+T_LOGGING_IN, NULL,
+T_SERVER_IS_PROCESSING_REQUEST, "Serveris kramto uþklausà",
+T_TRANSFERRING, "Siunèiam",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Laukiam permetimo patvirtinimo",
+T_INTERRUPTED, "Nutraukta",
+T_SOCKET_EXCEPTION, "Soket'o iðimtis",
+T_INTERNAL_ERROR, "Vidinë klaida",
+T_OUT_OF_MEMORY, "Nebër atminties",
+T_HOST_NOT_FOUND, "Hostas nerastas",
+T_ERROR_WRITING_TO_SOCKET, "Nesigauna áraðyti á soket'à",
+T_ERROR_READING_FROM_SOCKET, "Neisaugna skaityti ið soket'o",
+T_DATA_MODIFIED, "Duomenys pakeisti",
+T_BAD_URL_SYNTAX, "Bloga adreso sintaksë",
+T_RECEIVE_TIMEOUT, "Gavimo timeout'as",
+T_REQUEST_MUST_BE_RESTARTED, "Uþklausa turi bûti pakartota",
+T_CANT_GET_SOCKET_STATE, "Negaunu soket'o bûsenos",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Blogas HTTP atsakymas",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Nëra turinio",
+T_UNKNOWN_FILE_TYPE, "Neþinomas failo tipas",
+T_ERROR_OPENING_FILE, "Klaida bandant atidaryti failà",
+T_BAD_FTP_RESPONSE, "Blogas FTP atsakymas",
+T_FTP_SERVICE_UNAVAILABLE, "Nepaleistas FTP servisas",
+T_BAD_FTP_LOGIN, "Neteisingas FTP vartotojas",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT komanda nepavyko",
+T_FILE_NOT_FOUND, "Failas nerastas",
+T_FTP_FILE_ERROR, "FTP failo klaida",
+T_UNKNOWN_ERROR, "Neþinoma klaida",
+T_RECEIVED, "Parsiøsta",
+T_OF, "ið",
+T_AVG, "vid.",
+T_CUR, "dab.",
+T_AVERAGE_SPEED, "Vidutinis greitis",
+T_SPEED, "Greitis",
+T_CURRENT_SPEED, "dabartinis greitis",
+T_ELAPSED_TIME, "Likæs laikas",
+T_ESTIMATED_TIME, "numatytas laikas",
+T_BACKGROUND, "Fonas",
+T_ABORT, "Nutraukti",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Taip",
+T_NO, "Ne",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Siuntimo klaida",
+T_COULD_NOT_WRITE_TO_FILE, "Negaliu áraðyti á failà",
+T_ERROR_DOWNLOADING, "Siuntimo klaida",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "Negaliu sukurti failo",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Neþinomas tipas",
+T_CONTENT_TYPE_IS, "Turinio tipas yra",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Nori ðá failà iðsaugoti ar pamatyti?",
+T_SAVE, "Iðsaugoti",
+T_DISPLAY, "Parodyti",
+T_WHAT_TO_DO, "Kà daryti?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Ar nori atidaryti failà su",
+T_SAVE_IT_OR_DISPLAY_IT, "iðsaugoti ar parodyti?",
+T_OPEN, "Atidaryti",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Ar nori sekti perkëlimà ir iðsiøsti duomenis ið formos á serverá",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Ar nori iðsiøsti duomenis ið formos á serverá",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Ar nori ið naujo iðsiøsti duomenis?",
+T_WARNING, "Áspëjimas",
+T_ERROR, "Klaida",
+T_WELCOME, "Sveikas atvykæs",
+T_WELCOME_TO_LINKS, "Sveiki atvykæ á links!",
+T_BASIC_HELP, "Spustelk ESC ir iððoks meniu. Pasirink pagalba->Apraðymas vardan vartotojo gido.",
+T_LABEL, "Þymë",
+T_CONTENT_TYPES, "Turinio-Tipas(ai)",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programa ('%' pakeièiamas failo pavadinimu)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Uþblokuoti terminalà kol naudojama programa",
+T_RUN_ON_TERMINAL, "Naudoti terminale",
+T_RUN_IN_XWINDOW, "Naudoti X-Window aplinkoje",
+T_ASK_BEFORE_OPENING, "Atsiklausti prieð atidarant",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Iðtrinti asociacijà",
+T_ASSOCIATION, "Asociacija",
+T_EXTENSION_S, "Priesaga(os)",
+T_CONTENT_TYPE, "Turinio-Tipas",
+T_DELETE_EXTENSION, "Iðtrinti plëtiná",
+T_EXTENSION, "Plëtinys",
+T_eXTENSION, "plëtinys",
+T_ERROR_WHILE_POSTING_FORM, "Klaida bandant iðsiøsti formà",
+T_COULD_NOT_GET_FILE, "Negaliu gauti failo",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Prieð tai nieko neieðkota",
+T_SEARCH_STRING_NOT_FOUND, "Paieðkos eiutë nerasta",
+T_SAVE_ERROR, "Iðsaugojimo klaida",
+T_ERROR_WRITING_TO_FILE, "Klaida bandant áraðyti á failà",
+T_DISPLAY_USEMAP, "Parodyti usemap'à",
+T_FOLLOW_LINK, "Sekti nuorodà",
+T_OPEN_IN_NEW_WINDOW, "Atidaryti naujame lange",
+T_DOWNLOAD_LINK, "Parsiøsti nuorodà",
+T_RESET_FORM, "Iðtrinti formà",
+T_SUBMIT_FORM, "Patvirinti formà",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Patvirtinti formà ir atidaryti naujame lange",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Patvirinti formà ir parsiøsti",
+T_VIEW_IMAGE, "Paþiûrëti paveiklsëlá",
+T_DOWNLOAD_IMAGE, "Parsiøsti paveikslëlá",
+T_NO_LINK_SELECTED, "Nër nuorodos",
+T_IMAGE, "Paveikslëlis",
+T_USEMAP, "Usemap'as",
+T_XTERM, "Xterm'as",
+T_TWTERM, NULL,
+T_SCREEN, "Ekranas",
+T_WINDOW, "Langas",
+T_FULL_SCREEN, "Visas ekranas",
+T_BEOS_TERMINAL, "BeOS terminalas",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Patvirtinti formà",
+T_POST_FORM_TO, "Iðsiøsti formà á",
+T_RADIO_BUTTON, "Knopkë",
+T_CHECKBOX, "Varnelë",
+T_SELECT_FIELD, "Paþymëti laukà",
+T_TEXT_FIELD, "Teksto laukas",
+T_TEXT_AREA, "Teksto plotas",
+T_FILE_UPLOAD, "Nusiøsti failà",
+T_PASSWORD_FIELD, "Slaptaþodþio laukas",
+T_BUTTON, NULL,
+T_NAME, "vardas",
+T_VALUE, "reikðmë",
+T_HIT_ENTER_TO, "spausk ENTER kad",
+T_SUBMIT_TO, "patvirtinti",
+T_POST_TO, "iðsiøsti",
+T_INFO, "Informacijà",
+T_HEADER_INFO, NULL,
+T_YOU_ARE_NOWHERE, "Tu esi niekur!",
+T_NO_HEADER, NULL,
+T_URL, "adresas",
+T_SIZE, "Dydis",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "nebaigta",
+T_CODEPAGE, "koduotë",
+T_ASSUMED, "priskirtas",
+T_IGNORING_SERVER_SETTING, "ignoruojam serverio nurodymà",
+T_SERVER, "Serveris",
+T_DATE, "Data",
+T_LAST_MODIFIED, "Paskutiná kartà koreguota",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Kalba",
+T_GO_TO_LINK, "Eiti pagal nuorodà",
+T_ENTER_LINK_NUMBER, "Ávesk nuorodos numerá",
+T_RESIZE_TERMINAL, "pakeisk terminalo dydá",
+T_COLUMNS, "Colonos",
+T_ROWS, "Stulpeliai",
+T_GOTO, "Eiti á",
+T_CLOSE, "Uþdaryti",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "Ádëti",
+T_DELETE, "Iðtrinti",
+T_EDIT, "Redaguoti",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "Lankomiausi",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "Ádëti lankomiausià",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, "Lankomiausio pavadinimas",
+T_EDIT_BOOKMARK, "Koreguoti lankomiausià",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "Iðtrinti lankomiausià",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "Lankomiausiø vadybininkas",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, "adresas",
+T_NNAME, "Vardas",
+T_EXIT_LINKS, "Iðeiti ið Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Ar tikrai nori palikti Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Ar tikrai nori palikti Links (ir nutraukti visus fononius siuntimus)?",
+T_HTTP_OPTIONS, "HTTP opcijos",
+T_FTP_OPTIONS, "FTP opcijos",
+T_HTTP_BUG_WORKAROUNDS, "HTTP bug'o workaround'ai",
+T_USE_HTTP_10, "Naudoti HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Daryti bugovø serveriø sàraðà",
+T_BROKEN_302_REDIRECT, "Sulûþæs perkëlimas 302 (jis paþeidþia RFC, bet yra suderinamas su Netscape'u)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Nelaikyti keepalive susijungimo po POST praðymo (kai kurios bugovos PHP duom. bazës rekalajua ðito)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Anoniminio vartotojo slaptaþodis",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Vartotojo gidas",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, "Paðto programa (% pakeièiamas adresu)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Telnet'o programa (% pakeièiamas \"hostu\" arba \"hostu prievadu\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Tn3270 programa (% pakeièiamas \"hostu\" arba \"hostu prievadu\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Paðto ir telnet'o programos",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Nër programos",
+T_NO_PROGRAM_SPECIFIED_FOR, "Nër programos",
+T_MAIL, "paðtui",
+T_TELNET, "telnet'ui",
+T_MAGNET, NULL,
+T_TN3270, "tn3270'ui",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Blogas paðto adresas",
+T_BAD_TELNET_URL, "Blogas telnet'o adresas",
+T_BAD_TN3270_URL, "Blogas tn3270 adresas",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, NULL,
+T_PASSWORD, NULL,
+T_ENTER_USERNAME, NULL,
+T_AT, NULL,
+T_SSL_ERROR, NULL,
+T_NO_SSL, NULL,
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "B",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "V",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "F",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "X",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "B",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "F",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "A",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "H",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "A",
+T_HK_KEYS, "K",
+T_HK_COPYING, "C",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/mangle-unprintable b/intl/mangle-unprintable
new file mode 100755
index 0000000..7833c29
--- /dev/null
+++ b/intl/mangle-unprintable
@@ -0,0 +1,13 @@
+#!/bin/sh
+i=128
+a="sed"
+echo="`which echo`"
+while [ $i -lt 256 ]; do
+ oct="`printf %03o $i`"
+ # dash's internal echo doesn't know -e
+ char="`"$echo" -e \\\\$oct`"
+ a="$a -e 's/$char/\\\\\\\\$oct/g'"
+ i=`expr $i + 1`
+done
+# bash and dash differ here: bash creates double backslashes, dash single
+echo "$a"|sed 's/\\\\\\\\/\\\\/g'
diff --git a/intl/norwegian.lng b/intl/norwegian.lng
new file mode 100644
index 0000000..4d8d085
--- /dev/null
+++ b/intl/norwegian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-1",
+T__LANGUAGE, "Norwegian",
+T__ACCEPT_LANGUAGE, "no",
+T_OK, "Ok",
+T_CANCEL, "Avbryt",
+T_BAD_NUMBER, "Feil nummer",
+T_NUMBER_EXPECTED, "Nummer forventet i felt",
+T_NUMBER_OUT_OF_RANGE, "Nummeret er utenfor område",
+T_BAD_STRING, "Feil i tekststreng",
+T_EMPTY_STRING_NOT_ALLOWED, "Tom tekststreng er ikke tillatt",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Konfigurasjonsfeil",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Kan ikke skrive til konfigurasjonsfil",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Om",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nNettleser",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Taster",
+T_KEYS_DESC, "ESC vis meny\n^C, q avslutt\n^P, ^N bla opp/ned\n[, ] bla venstre/høyre\nopp,ned velg lenker\n-> følg lenke\n<- gå tilbake\ng gå til nettadresse\nG gå til nettadresse basert på nåværende\n/ søk\n? søk baklengs\nn finn neste\nN finn forrige\n= dokumentinformasjon\n| vis dokumenthode\n\\ vis kilde\nd start filoverføring",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Lisens",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nDette programmet er fri software. Du kan distribuere og endre det i henhold til GNU General Public License, publisert av Free Software Foundation, versjon 2 eller senere.",
+T_RESOURCES, "Ressurser",
+T_CONNECTIONS, "Tilkoblinger",
+T_MEMORY_CACHE, "Minnehurtiglager",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Skrifttypehurtiglager",
+T_IMAGE_CACHE, "Bildehurtiglager",
+T_FORMATTED_DOCUMENT_CACHE, "Hurtiglager for formaterte dokumenter",
+T_DNS_CACHE, NULL,
+T_HANDLES, "håndtak",
+T_TIMERS, "tidtakere",
+T_WAITING, NULL,
+T_CONNECTING, "kobler til",
+T_tRANSFERRING, "overfører data",
+T_KEEPALIVE, "tilkoblinger holdes i live",
+T_BYTES, "byte",
+T_LETTERS, "tegn",
+T_FILES, "filer",
+T_LOCKED, "låst",
+T_LOADING, "henter",
+T_IMAGES, "bilder",
+T_DOCUMENTS, "dokumenter",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "byte tildelt minne",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Minneinformasjon",
+T_NO_HISTORY, "Ingen historikk",
+T_NO_DOWNLOADS, "Ingen nedlastninger",
+T_NO_FRAMES, "Ingen rammer",
+T_VT_100_FRAMES, "VT100-rammer",
+T_LINUX_OR_OS2_FRAMES, "Linux eller OS/2-rammer",
+T_KOI8R_FRAMES, "KOI8-R-rammer",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Bruk ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Begrens rammer ved cp850/852",
+T_BLOCK_CURSOR, "Hel markør",
+T_COLOR, "Farger",
+T_BRAILLE_TERMINAL, "Braille-terminal",
+T_TERMINAL_OPTIONS, "Terminal",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP-proxy (vert:port)",
+T_FTP_PROXY__HOST_PORT, "FTP-proxy (vert:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Omgå mellomtjener for følgende domener (kommaseparert)",
+T_NETWORK_OPTIONS, "Nettverk",
+T_MAX_CONNECTIONS, "Maks antall tilkoblinger",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Maks antall tilkoblinger per vert",
+T_RETRIES, "Antall forsøk (0 - uendelig)",
+T_RECEIVE_TIMEOUT_SEC, "Tidsavbrudd for mottak av fil (sek)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Tidsavbrudd ved omstartsproblemer",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Asynkron DNS-oppslag",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Sett nedlastingstidspunkt på filer",
+T_CACHE_OPTIONS, "Hurtiglager",
+T_MEMORY_CACHE_SIZE__KB, "Størrelse på minnehurtiglager (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Størrelse på bildehurtiglager (KiB)",
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Antall formaterte dokumenter",
+T_AGGRESSIVE_CACHE, "Aggressiv hurtiglager",
+T_HTML_OPTIONS, "HTML-oppsett",
+T_DISPLAY_TABLES, "Vis tabeller",
+T_DISPLAY_FRAMES, "Vis rammer",
+T_DISPLAY_IMAGES, "Vis bilder",
+T_DISPLAY_IMAGE_FILENAMES, "Vis filnavnet til bilder",
+T_DISPLAY_LINKS_TO_IMAGES, "Vis lenker til bilder",
+T_LINK_ORDER_BY_COLUMNS, "Kolonnevis navigering i tabeller",
+T_NUMBERED_LINKS, "Nummererte lenker",
+T_AUTO_REFRESH, "Automatisk oppfrisking",
+T_TARGET_IN_NEW_WINDOW, "Tillat åpning av lenker i nytt vindu (target=\"_blank\")",
+T_TEXT_MARGIN, "Tekstmargin",
+T_DEFAULT_CODEPAGE, "Standard tegnsett",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorer tjenerens ønske om tegnsett",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Gå til nettadresse",
+T_GO_BACK, "Gå tilbake",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Historikk",
+T_RELOAD, "Oppdater",
+T_NEW_WINDOW, "Nytt vindu",
+T_SAVE_AS, "Lagre som..",
+T_SAVE_URL_AS, "Lagre lenke som..",
+T_SAVE_FORMATTED_DOCUMENT, "Lagre formatert dokument",
+T_COPY_URL_LOCATION, "Kopier besøkt nettadresse",
+T_KILL_BACKGROUND_CONNECTIONS, "Drep bakgrunnstilkoblinger",
+T_KILL_ALL_CONNECTIONS, "Drep alle tilkoblinger",
+T_FLUSH_ALL_CACHES, "Tøm hurtiglager",
+T_RESOURCE_INFO, "Tilgjengelige ressurser",
+T_OS_SHELL, "Kommandolinjen",
+T_EXIT, "Avslutt",
+T_SEARCH, "Søk",
+T_SEARCH_BACK, "Søk bakover",
+T_FIND_NEXT, "Finn neste",
+T_FIND_PREVIOUS, "Finn forrige",
+T_TOGGLE_HTML_PLAIN, "Bytt mellom HTML og tekst",
+T_DOCUMENT_INFO, "Dokumentinformasjon",
+T_FRAME_AT_FULL_SCREEN, "Maksimer ramme",
+T_SAVE_HTML_OPTIONS, "Lagre HTML-oppsett",
+T_CHARACTER_SET, "Tegnsett",
+T_CACHE, "Hurtiglager",
+T_MAIL_AND_TELNEL, "E-brev og telnet",
+T_MAIL_TELNET_AND_SHELL, "E-brev, telnet og skall",
+T_ASSOCIATIONS, "Tilknytninger",
+T_FILE_EXTENSIONS, "Filtype",
+T_SAVE_OPTIONS, "Lagre oppsett",
+T_FILE, "Fil",
+T_VIEW, "Vis",
+T_LINK, "Lenker",
+T_DOWNLOADS, "Nedlastninger",
+T_SETUP, "Oppsett",
+T_HELP, "Hjelp",
+T_ENTER_URL, "Tast inn nettadresse",
+T_SAVE_URL, "Lagre nettadresse",
+T_DOWNLOAD, "Last ned",
+T_SAVE_TO_FILE, "Lagre som",
+T_SEARCH_FOR_TEXT, "Søk etter tekst",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Venter i kø",
+T_LOOKING_UP_HOST, "Lokaliserer vert",
+T_MAKING_CONNECTION, "Kobler til",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "SSL-forhandling",
+T_REQUEST_SENT, "Forespørsel sendt",
+T_GETTING_HEADERS, "Henter dokumenthode",
+T_LOGGING_IN, "Logger inn",
+T_SERVER_IS_PROCESSING_REQUEST, "Tjeneren behandler forespørselen",
+T_TRANSFERRING, "Overfører",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Venter på bekreftelse av omdirigering",
+T_INTERRUPTED, "Avbrutt",
+T_SOCKET_EXCEPTION, "Sokkelfeil",
+T_INTERNAL_ERROR, "Intern feil",
+T_OUT_OF_MEMORY, "Tom for minne",
+T_HOST_NOT_FOUND, "Vertsmaskinen kunne ikke lokaliseres",
+T_ERROR_WRITING_TO_SOCKET, "Feil ved skriving til sokkel",
+T_ERROR_READING_FROM_SOCKET, "Feil ved lesing fra sokkel",
+T_DATA_MODIFIED, "Data endret",
+T_BAD_URL_SYNTAX, "Feil i nettadressens syntaks",
+T_RECEIVE_TIMEOUT, "Tidsavbrudd ved mottak",
+T_REQUEST_MUST_BE_RESTARTED, "Forespørsel må omstartes",
+T_CANT_GET_SOCKET_STATE, "Klarte ikke lese sokkeltilstand",
+T_CYCLIC_REDIRECT, "Ble omdirigert i ring",
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Feil i svar fra tjener",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Ingen innhold",
+T_UNKNOWN_FILE_TYPE, "Ukjent filtype",
+T_ERROR_OPENING_FILE, "Feil ved åpning av fil",
+T_BAD_FTP_RESPONSE, "Feil i svar fra FTP-tjener",
+T_FTP_SERVICE_UNAVAILABLE, "FTP-tjenesten er ikke tilgjengelig",
+T_BAD_FTP_LOGIN, "Feil innloggingsinformasjon til FTP-tjener",
+T_FTP_PORT_COMMAND_FAILED, "Kommandoen FTP PORT mislyktes",
+T_FILE_NOT_FOUND, "Filen finnes ikke",
+T_FTP_FILE_ERROR, "FTP filfeil",
+T_UNKNOWN_ERROR, "Ukjent feil",
+T_RECEIVED, "Motatt",
+T_OF, "av",
+T_AVG, "snitt",
+T_CUR, "nå",
+T_AVERAGE_SPEED, "Gjennomsnittlig hastighet",
+T_SPEED, "Hastighet",
+T_CURRENT_SPEED, "nåværende hastighet",
+T_ELAPSED_TIME, "Tid brukt",
+T_ESTIMATED_TIME, "beregnet tid",
+T_BACKGROUND, "Bakgrunn",
+T_ABORT, "Avbryt",
+T_ABORT_AND_DELETE_FILE, "Avbryt og slett fil",
+T_YES, "Ja",
+T_NO, "Nei",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, "Filene eksisterer",
+T_ALREADY_EXISTS_AS_DOWNLOAD, "eksisterer som en aktiv nedlastning",
+T_ALREADY_EXISTS, "ekisterer",
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, "Vil du overskrive?",
+T_CONTINUE, NULL,
+T_OVERWRITE, "Overskriv",
+T_RENAME, "Gi nytt navn",
+T_DOWNLOAD_ERROR, "Nedlastningsfeil",
+T_COULD_NOT_WRITE_TO_FILE, "Klarte ikke å skrive til fil",
+T_ERROR_DOWNLOADING, "Feil ved nedlastning av",
+T_ERROR_LOADING, "Feil ved lasting",
+T_COULD_NOT_CREATE_FILE, "Kunne ikke opprette fil",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Ukjent type",
+T_CONTENT_TYPE_IS, "Innholdstype er",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Vil du åpne, lagre eller vise denne filen?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Vil du åpne eller vise denne filen?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Vil du lagre eller vise filen?",
+T_SAVE, "Lagre",
+T_DISPLAY, "Vis",
+T_WHAT_TO_DO, "Hva skal gjøres?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Vil du åpne filen med",
+T_SAVE_IT_OR_DISPLAY_IT, "lagre, eller vise den?",
+T_OPEN, "Åpne",
+T_OPEN_WITH, "Åpne med",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Vil du følge omdirigeringen og sende innholdet i skjemaet til nettadressen",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Vil du sende innholdet i skjemaet til nettadressen",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Vil du send innholdet i skjemaet om igjen til nettadressen",
+T_WARNING, "Advarsel",
+T_ERROR, "Feil",
+T_WELCOME, "Velkommen",
+T_WELCOME_TO_LINKS, "Velkommen til Links!",
+T_BASIC_HELP, "Trykk ESC for meny. Velg Hjelp->Brukerveiledning for mer informasjon",
+T_LABEL, "Merkelapp",
+T_CONTENT_TYPES, "Innholdstyper",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' erstattes med filnavn)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blokker terminalen mens programmet kjører",
+T_RUN_ON_TERMINAL, "Kjør i terminal",
+T_RUN_IN_XWINDOW, "Kjør i et X-vindu",
+T_ASK_BEFORE_OPENING, "Spør før åpning",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Slett tilknytning",
+T_ASSOCIATION, "tilknytning",
+T_EXTENSION_S, "Etternavn",
+T_CONTENT_TYPE, "Innholdtype",
+T_DELETE_EXTENSION, "Slett etternavn",
+T_EXTENSION, "Etternavn",
+T_eXTENSION, "Etternavn",
+T_ERROR_WHILE_POSTING_FORM, "Feil ved sending av skjemaet",
+T_COULD_NOT_GET_FILE, "Kunne ikke hente fil",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Ingen tidligere søk",
+T_SEARCH_STRING_NOT_FOUND, "Søket gav ingen resultat",
+T_SAVE_ERROR, "Feil ved lagring",
+T_ERROR_WRITING_TO_FILE, "Feil ved skriving til fil",
+T_DISPLAY_USEMAP, "Vis usemap",
+T_FOLLOW_LINK, "Følg lenke",
+T_OPEN_IN_NEW_WINDOW, "Åpne i nytt vindu",
+T_DOWNLOAD_LINK, "Last ned lenke",
+T_RESET_FORM, "Nullstill skjema",
+T_SUBMIT_FORM, "Send skjema",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Send skjema og åpne i nytt vindu",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Send skjema og last ned fil",
+T_VIEW_IMAGE, "Vis bilde",
+T_DOWNLOAD_IMAGE, "Last ned bilde",
+T_NO_LINK_SELECTED, "Ingen lenker er valgt",
+T_IMAGE, "Bilde",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Skjerm",
+T_WINDOW, "Vindu",
+T_FULL_SCREEN, "Fullskjerm",
+T_BEOS_TERMINAL, "BeOS-terminal",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, "Javaskript",
+T_SUBMIT_FORM_TO, "Send skjema til",
+T_POST_FORM_TO, "Send skjema til",
+T_RADIO_BUTTON, "Radioknapp",
+T_CHECKBOX, "Avkryssingsboks",
+T_SELECT_FIELD, "Velg felt",
+T_TEXT_FIELD, "Tekstfelt",
+T_TEXT_AREA, "Tekstboks",
+T_FILE_UPLOAD, "Last opp fil",
+T_PASSWORD_FIELD, "Passordfelt",
+T_BUTTON, "Knapp",
+T_NAME, "Navn",
+T_VALUE, "Verdi",
+T_HIT_ENTER_TO, "trykk [linjeskift] for å",
+T_SUBMIT_TO, "send til",
+T_POST_TO, "send til",
+T_INFO, "Info",
+T_HEADER_INFO, "Informasjon om dokumenthode",
+T_YOU_ARE_NOWHERE, "Ingen nettside er lastet!",
+T_NO_HEADER, NULL,
+T_URL, "Nettside",
+T_SIZE, "Størrelse",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "ufullstendig",
+T_CODEPAGE, "Tegnsett",
+T_ASSUMED, "antatt",
+T_IGNORING_SERVER_SETTING, "Ignorer tjeneroppsett",
+T_SERVER, "Tjener",
+T_DATE, "Dato",
+T_LAST_MODIFIED, "Sist oppdatert",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Språk",
+T_GO_TO_LINK, "Gå til lenke",
+T_ENTER_LINK_NUMBER, "Oppgi lenkenummer",
+T_RESIZE_TERMINAL, "Endre terminalstørrelse",
+T_COLUMNS, "Kolonner",
+T_ROWS, "Rader",
+T_GOTO, "Gå til",
+T_CLOSE, "Lukk",
+T_FOLDER, "Mappe",
+T_fOLDER, "mappe",
+T_ADD, "Legg til",
+T_DELETE, "Slett",
+T_EDIT, "Rediger",
+T_MOVE, "Flytt",
+T_NO_ITEMS_SELECTED, "Kan ikke flytte. Ingen gjenstander er valgt.",
+T_UNSELECT_ALL, "Fjern alle markeringer",
+T_BOOKMARKS, "Bokmerker",
+T_BOOKMARK, "bokmerke",
+T_ADD_BOOKMARK, "Legg til bokmerke",
+T_ADD_ASSOCIATION, "Legg til tilknytning",
+T_ADD_EXTENSION, "Legg til etternavn",
+T_ADD_FOLDER, "Legg til mappe",
+T_BOOKMARK_TITLE, "Bokmerketittel",
+T_EDIT_BOOKMARK, "Rediger bokmerke",
+T_EDIT_ASSOCIATION, "Endre tilknytning",
+T_EDIT_EXTENSION, "Endre etternavn",
+T_DELETE_BOOKMARK, "Slett bokmerke",
+T_EDIT_FOLDER, "Endre mappe",
+T_DELETE_FOLDER, "Slett mappe",
+T_NOT_EMPTY_SURE_DELETE, "er ikke tom. Vil du virkelig slette den?",
+T_BOOKMARK_MANAGER, "Bokmerker",
+T_ASSOCIATIONS_MANAGER, "Tilknytninger",
+T_EXTENSIONS_MANAGER, "Etternavn",
+T_url, "nettadresse",
+T_NNAME, "Navn",
+T_EXIT_LINKS, "Avslutt Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "Vil du lukke vinduet?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Vil du avslutte Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Vil du avslutte Links og avbryte alle nedlastninger?",
+T_HTTP_OPTIONS, "HTTP-oppsett",
+T_FTP_OPTIONS, "FTP-oppsett",
+T_HTTP_BUG_WORKAROUNDS, "Omgå feil i HTTP-svar",
+T_USE_HTTP_10, "Bruk HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Tillat svartelisting av feilaktige tjenere",
+T_BROKEN_302_REDIRECT, "Tillat brukket omdirigeringsrespons 302 (bryter RFC, men er kompatibel med Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Avbryt forbindelsen etter POST-forespørsler (nødvendig for visse feilaktige PHP-databaser)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, "Ikke send informasjon om aksepterte tegnsett",
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "Ikke send referanse",
+T_REFERER_SAME_URL, "Send samme nettadresse som referanse",
+T_REFERER_FAKE, "Send falsk referanse",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "Send ekte referanse (vanlig operasjon, men sporbar)",
+T_FAKE_REFERER, "Falsk referanse",
+T_FAKE_USERAGENT, "Falsk nettlesersignatur",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Passord for anonym innlogging",
+T_USE_PASSIVE_FTP, "Bruk passive FTP-tilkoblinger",
+T_USE_FAST_FTP, "Bruk raske (men RFC-inkompatible) FTP-tilkoblinger",
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Brukerveiledning",
+T_HOMEPAGE, "Hjemmeside",
+T_CALIBRATION, "Kalibrering",
+T_MAILTO_PROG, "E-brevklient (% erstattes med adresse)",
+T_SHELL_PROG, "Skall",
+T_TELNET_PROG, "Telnetklient (% erstattes med \"vert\" eller \"vert port\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Tn3270-program (% erstattes med \"vert\" eller \"vert port\")",
+T_MMS_PROG, "MMS-program (% erstattes med nettadresse)",
+T_MAIL_AND_TELNET_PROGRAMS, "Program for e-brev og fjerninnlogging",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Program for e-brev, fjerninnlogging og skall",
+T_NO_PROGRAM, "Ingen program",
+T_NO_PROGRAM_SPECIFIED_FOR, "Ingen program er spesifisert",
+T_MAIL, "e-brev",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, "mms",
+T_BAD_MAILTO_URL, "Feil i \"mailto\"-adresse",
+T_BAD_TELNET_URL, "Feil i \"telnet\"-adresse",
+T_BAD_TN3270_URL, "Feil i \"tn3270\"-adresse",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "Nettadressen for MMS inneholder ulovlige tegn",
+T_AUTHORIZATION_REQUIRED, "Krever godkjennelse",
+T_PROXY_AUTHORIZATION_REQUIRED, "Mellomtjener krever godkjennelse",
+T_USERID, "Brukernavn",
+T_PASSWORD, "Passord",
+T_ENTER_USERNAME, "Tast inn brukernavn for ",
+T_AT, "på ",
+T_SSL_ERROR, "SSL-feil",
+T_NO_SSL, "Denne versjonen av Links har ikke støtte for SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "Er du sikker på at du vil slette",
+T_BOOKMARKS_ALREADY_IN_USE, "Bokmerket er allerede i bruk",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Tilknytningen er allerede i bruk",
+T_EXTENSIONS_ALREADY_IN_USE, "Etternavnet er allerede i bruk",
+T_VIDEO_OPTIONS, "Video",
+T_VIDEO_OPTIONS_TEXT, "Anbefalt gammakorreksjon:\n1.33 for mørkt rom, 1.11 for senket belysning, 1 for vanlig belysning og 0.88 for høy belysning.",
+T_RED_DISPLAY_GAMMA, "Rød gammakorreksjon",
+T_GREEN_DISPLAY_GAMMA, "Grønn gammakorreksjon",
+T_BLUE_DISPLAY_GAMMA, "Blå gammakorreksjon",
+T_USER_GAMMA, "Egen gammakorreksjon",
+T_ALERT, "Alarm",
+T_QUESTION, "Spørsmål",
+T_KILL_SCRIPT, "Drep skript",
+T_KILL_ALL_SCRIPTS, "Drep alle skript",
+T_SCRIPT_KILLED_BY_USER, "Javaskriptet ble drept av bruker",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Et javaskript prøver å lukke vinduet. Ønsker du å lukke det?",
+T_ENTER_STRING, "Skriv tekst",
+T_JAVASCRIPT_OPTIONS, "Javaskript",
+T_ENABLE_JAVASCRIPT, "Aktiver javaskript",
+T_VERBOSE_JS_ERRORS, "Detaljerte feilmeldinger om javaskript",
+T_VERBOSE_JS_WARNINGS, "Detaljerte advarsler om javaskript",
+T_MISCELANEOUS_OPTIONS, "Annet oppsett",
+T_JAVASCRIPT_ERROR, "Feil i javaskript",
+T_JAVASCRIPT_WARNING, "Advarsel fra javaskript",
+T_DISMISS, "Ignorer",
+T_MENU_FONT_SIZE, "Tekststørrelse i menyer",
+T_USER_FONT_SIZE, "Egen tekststørrelse",
+T_TURN_OFF_WARNINGS, "Slå av advarsler",
+T_BOOKMARKS_ENCODING, "Bokmerke koding",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Et javaskript prøver å gå til en ny nettside",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Et javaskript prøver å åpne en ny nettadresse i et nytt vindu",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Et javaskript prøver å hente ut tidligere besøkte nettadresser",
+T_TO_URL, "til nettadressen",
+T_GOTO_HISTORY, "Gå til tidligere besøkte nettadresser",
+T_ALLOW, "Tillat",
+T_REJECT, "Avvis",
+T_ENABLE_ALL_CONVERSIONS, "Tillat alle konverteringer",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Tillat globale navneoppslag",
+T_MANUAL_JS_CONTROL, "Manuell godkjenning av operasjoner i javaskript",
+T_JS_RECURSION_DEPTH, "Rekursjonsdybde",
+T_MENU_BACKGROUND_COLOR, "Bakgrunnsfarge",
+T_MENU_FOREGROUND_COLOR, "Forgrunnsfarge",
+T_SCROLL_BAR_BAR_COLOR, "Fargelegg rullefelt",
+T_SCROLL_BAR_AREA_COLOR, "Fargelegg rullefeltets spor",
+T_SCROLL_BAR_FRAME_COLOR, "Fargelegg rullefeltets ramme",
+T_BOOKMARKS_FILE, "Bokmerkefil",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Velg farger heksadesimalt som RGB-tripletter",
+T_JS_MEMORY_LIMIT_KB, "Minne dedikert til javaskript (KiB)",
+T_DITHER_LETTERS, "Kompenser for fargereduksjon i bokstaver",
+T_DITHER_IMAGES, "Kompenser for fargereduksjon i bilder",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "Skaler alle bilder (%)",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, "Optimaliser for CRT",
+T_DISPLAY_OPTIMIZATION_LCD_RGB,"Optimaliser for LCD (RGB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR,"Optimaliser for LCD (BGR)",
+T_ASPECT_RATIO, "Størrelseforhold",
+T_ASPECT_CORRECTION_ON, "Korreksjon av størrelseforhold",
+T_KEYBOARD_CODEPAGE, "Tegnsett",
+T_COPY_LINK_LOCATION, "Kopier lenkens nettadresse",
+T_BLOCK_URL, "Blokker bilde",
+T_BLOCK_LIST, "Blokker bilder",
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, "Blokker bilder som alt er åpnet",
+T_BLOCK_LIST_MANAGER, "Bildeblokkering",
+T_BLOCK_ADD, "Legg til bildeblokkering",
+T_BLOCK_EDIT, "Rediger blokkering",
+T_BLOCK_DELETE, "Slett blokkering",
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "B",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "V",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, "C",
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "F",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "X",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "B",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "F",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "A",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "H",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, "V",
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, "J",
+T_HK_MISCELANEOUS_OPTIONS, "O",
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, "B",
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "A",
+T_HK_KEYS, "K",
+T_HK_COPYING, "C",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, "H",
+T_HK_CALIBRATION, "L",
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, "C",
+T_HK_BLOCK_URL, "B",
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/polish.lng b/intl/polish.lng
new file mode 100644
index 0000000..91291fe
--- /dev/null
+++ b/intl/polish.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-2",
+T__LANGUAGE, "Polish",
+T__ACCEPT_LANGUAGE, "pl",
+T_OK, "OK",
+T_CANCEL, "Anuluj",
+T_BAD_NUMBER, "Nieprawid³owa liczba",
+T_NUMBER_EXPECTED, "Oczekiwano liczby",
+T_NUMBER_OUT_OF_RANGE, "Liczba poza dozwolonym zakresem",
+T_BAD_STRING, "Nieprawid³owe wyra¿enie",
+T_EMPTY_STRING_NOT_ALLOWED, "Musisz wpisaæ jakie¶ wyra¿enie",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "B³±d konfiguracji",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Nie mo¿na zapisaæ do pliku konfiguracyjnego",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "O programie",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nTekstowa przegl±darka WWW w stylu Lynksa" ,
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Klawiszologia",
+T_KEYS_DESC, "ESC poka¿ menu\n^C, q wyj¶cie\n^P, ^N przewiñ góra,dó³\n[, ] przewiñ lewo,prawo\ngóra, dó³ zaznacz link\n-> wybierz link\n<- powrót\ng przejd¼ do URL-a\nG przejd¼ do URL-a bazuj±cego na aktualnym\n/ szukaj\nn znajd¼ nastêpny\nd pobierz\n* prze³±cz wy¶wietlanie obrazków\n^W dope³nij URL lub szukany ³añcuch\n^B, ^X, ^V skopiuj, wytnij, wklej do/ze schowka\nAlt-1 .. Alt-9 prze³±cz ekran wirtualny (svgalib lub framebuffer)",
+T_KEYS_BRAILLE_DESC, "a, t kursor do linii stanu lub tytu³u\n{, } kursor do pocz±tku/koñca linii\n^T, ^Y nastêpny lub poprzedni odno¶nik",
+T_COPYING, "Kopiowanie",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_2 "\n\nNiniejszy program jest oprogramowaniem wolnodostêpnym; mo¿na go rozprowadzaæ dalej i/lub modyfikowaæ na warunkach GPL GNU, wydanej przez Free Software Foundation - wed³ug wersji 2-giej tej Licencji lub której¶ z pó¼niejszych wersji.",
+T_RESOURCES, "Zasoby",
+T_CONNECTIONS, "Po³±czenia",
+T_MEMORY_CACHE, "Pamiêæ podrêczna",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Pamiêæ podrêczna fontów",
+T_IMAGE_CACHE, "Pamiêæ podrêczna obrazów",
+T_FORMATTED_DOCUMENT_CACHE, "Sformatowane dokumenty w pamiêci podrêcznej",
+T_DNS_CACHE, NULL,
+T_HANDLES, "uchwyt(ów)",
+T_TIMERS, "zegar(ów)",
+T_WAITING, NULL,
+T_CONNECTING, "oczekuj±cych",
+T_tRANSFERRING, "transferów",
+T_KEEPALIVE, "¿ywych",
+T_BYTES, "bajtów",
+T_LETTERS, "znaków",
+T_FILES, "plików",
+T_LOCKED, "zablokowanych",
+T_LOADING, "³adowanych",
+T_IMAGES, "obrazy",
+T_DOCUMENTS, "dokumentów",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "przydzielonej pamiêci",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, "przydzielonej pamiêci dla javascriptu",
+T_MEMORY_INFO, "Informacje o pamiêci",
+T_NO_HISTORY, "Brak historii",
+T_NO_DOWNLOADS, "Brak pobrañ",
+T_NO_FRAMES, "Brak ramek",
+T_VT_100_FRAMES, "Ramki VT100",
+T_LINUX_OR_OS2_FRAMES, "Ramki typu Linux lub OS/2",
+T_KOI8R_FRAMES, "Ramki KOI8-R",
+T_FREEBSD_FRAMES, "Ramki FreeBSD",
+T_USE_11M, "U¿yj ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Ogranicz ramki w cp850/852",
+T_BLOCK_CURSOR, "Kursor blokowy",
+T_COLOR, "Kolor",
+T_BRAILLE_TERMINAL, "Terminal Braille'a",
+T_TERMINAL_OPTIONS, "Opcje terminala",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "Proxy HTTP (host:port)",
+T_FTP_PROXY__HOST_PORT, "Proxy FTP (host:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Lista domen dostêpnych bez proxy",
+T_NETWORK_OPTIONS, "Ustawienia sieci",
+T_MAX_CONNECTIONS, "Maksymalna liczba po³±czeñ",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Maksymalna liczba po³±czeñ z jednym serwerem",
+T_RETRIES, "Próby (0 - bez ograniczeñ)",
+T_RECEIVE_TIMEOUT_SEC, "Maksymalny czas oczekiwania na po³±czenie (sek)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Maks. czas oczekiwania na po³±czenie niewznawialne",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Asynchroniczne szukanie nazw",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Ustaw czas pobieranych plików",
+T_CACHE_OPTIONS, "Ustawienia pamiêci podrêcznej",
+T_MEMORY_CACHE_SIZE__KB, "Rozmiar cache (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Rozmiar cache obrazów (KiB)" ,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Liczba sformatowanych dokumentów",
+T_AGGRESSIVE_CACHE, "Agresywna pamiêæ podrêczna",
+T_HTML_OPTIONS, "Ustawienia HTML",
+T_DISPLAY_TABLES, "Wy¶wietlaj tabele",
+T_DISPLAY_FRAMES, "Wy¶wietlaj ramki",
+T_DISPLAY_IMAGES, "Wy¶wietlaj obrazy",
+T_DISPLAY_IMAGE_FILENAMES, "Wy¶wietlaj nazwy plików obrazów",
+T_DISPLAY_LINKS_TO_IMAGES, "Pokazuj linki do obrazków",
+T_LINK_ORDER_BY_COLUMNS, "Uporz±dkuj linki w kolumnach",
+T_NUMBERED_LINKS, "Numerowane linki",
+T_AUTO_REFRESH, "Automatyczne od¶wie¿anie",
+T_TARGET_IN_NEW_WINDOW, "Pozwól na otwieranie odno¶ników w nowym oknie (target=\"_blank\")",
+T_TEXT_MARGIN, "Margines tekstu",
+T_DEFAULT_CODEPAGE, "Domy¶lna strona kodowa",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignoruj informacje o zestawie znaków wysy³ane przez serwer",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Przejd¼ do URL-a",
+T_GO_BACK, "Wróæ",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Historia",
+T_RELOAD, "Prze³aduj",
+T_NEW_WINDOW, "Nowe okno",
+T_SAVE_AS, "Zapisz jako",
+T_SAVE_URL_AS, "Zapisz URL jako",
+T_SAVE_FORMATTED_DOCUMENT, "Zapisz sformatowany dokument",
+T_COPY_URL_LOCATION, "Skopiuj po³o¿enie URL-a",
+T_KILL_BACKGROUND_CONNECTIONS, "Przerwij wszystkie po³±czenia w tle",
+T_KILL_ALL_CONNECTIONS, "Przerwij wszystkie po³±czenia",
+T_FLUSH_ALL_CACHES, "Wyczy¶æ ca³± pamiêæ podrêczn±",
+T_RESOURCE_INFO, "Informacje o zasobach",
+T_OS_SHELL, "Pow³oka systemowa",
+T_EXIT, "Wyj¶cie",
+T_SEARCH, "Szukaj",
+T_SEARCH_BACK, "Szukaj wstecz",
+T_FIND_NEXT, "Znajd¼ nastêpne",
+T_FIND_PREVIOUS, "Znajd¼ poprzednie",
+T_TOGGLE_HTML_PLAIN, "Prze³±cz html/plain",
+T_DOCUMENT_INFO, "Informacje o dokumencie",
+T_FRAME_AT_FULL_SCREEN, "Ramka na ca³ym ekranie",
+T_SAVE_HTML_OPTIONS, "Zapisz ustawienia HTML",
+T_CHARACTER_SET, "Zestaw znaków",
+T_CACHE, "Pamiêæ podrêczna",
+T_MAIL_AND_TELNEL, "Poczta i telnet",
+T_MAIL_TELNET_AND_SHELL, "Poczta, telnet i pow³oka",
+T_ASSOCIATIONS, "Skojarzenia",
+T_FILE_EXTENSIONS, "Rozszerzenia",
+T_SAVE_OPTIONS, "Zapisz opcje",
+T_FILE, "Plik",
+T_VIEW, "Widok",
+T_LINK, "Link",
+T_DOWNLOADS, "Pobieranie",
+T_SETUP, "Ustawienia",
+T_HELP, "Pomoc",
+T_ENTER_URL, "Wprowad¼ URL",
+T_SAVE_URL, "Zapisz URL",
+T_DOWNLOAD, "Pobieranie",
+T_SAVE_TO_FILE, "Zapisz do pliku",
+T_SEARCH_FOR_TEXT, "Znajd¼ tekst",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Oczekuj±ce w kolejce",
+T_LOOKING_UP_HOST, "Szukam serwera",
+T_MAKING_CONNECTION, "Nawi±zywanie po³±czenia",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "Negocjacja SSL",
+T_REQUEST_SENT, "¯±danie wys³ane",
+T_GETTING_HEADERS, "Pobieranie nag³ówków",
+T_LOGGING_IN, "Logowanie",
+T_SERVER_IS_PROCESSING_REQUEST, "Serwer przetwarza ¿±danie",
+T_TRANSFERRING, "Przesy³anie",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Oczekiwanie na potwierdzenie przekierowania",
+T_INTERRUPTED, "Przerwano",
+T_SOCKET_EXCEPTION, "Wyj±tek gniazda",
+T_INTERNAL_ERROR, "B³±d wewnêtrzny",
+T_OUT_OF_MEMORY, "Brak pamiêci",
+T_HOST_NOT_FOUND, "Nie znaleziono serwera",
+T_ERROR_WRITING_TO_SOCKET, "B³±d przy zapisywaniu do gniazda",
+T_ERROR_READING_FROM_SOCKET, "B³±d przy czytaniu z gniazda",
+T_DATA_MODIFIED, "Dane zosta³y zmodyfikowane",
+T_BAD_URL_SYNTAX, "Z³a sk³adnia URL-a",
+T_RECEIVE_TIMEOUT, "Przekroczony limit czasu pobierania",
+T_REQUEST_MUST_BE_RESTARTED, "¯±danie musi byæ powtórzone",
+T_CANT_GET_SOCKET_STATE, "Nie mo¿na zbadaæ stanu gniazda",
+T_CYCLIC_REDIRECT, "Cykliczne przekierowanie",
+T_TOO_LARGE_FILE, "Plik zbyt du¿y",
+T_BLOCKED_URL, "Ten URL jest na li¶cie zablokowanych",
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Nieprawid³owa odpowied¼ HTTP",
+T_HTTP_100, NULL,
+T_NO_CONTENT, "Plik pusty",
+T_UNKNOWN_FILE_TYPE, "Nieznany typ pliku",
+T_ERROR_OPENING_FILE, "B³±d przy otwieraniu pliku",
+T_BAD_FTP_RESPONSE, "Nieprawid³owa odpowied¼ FTP",
+T_FTP_SERVICE_UNAVAILABLE, "Us³uga FTP jest niedostêpna",
+T_BAD_FTP_LOGIN, "Nieprawid³owy login",
+T_FTP_PORT_COMMAND_FAILED, "Polecenie PORT nie powiod³o siê",
+T_FILE_NOT_FOUND, "Nie znaleziono pliku",
+T_FTP_FILE_ERROR, "B³±d plikowy FTP",
+T_UNKNOWN_ERROR, "Nieznany b³±d",
+T_RECEIVED, "Pobrano",
+T_OF, "z",
+T_AVG, "¶red",
+T_CUR, "akt",
+T_AVERAGE_SPEED, "¦rednia prêdko¶æ",
+T_SPEED, "Prêdko¶æ",
+T_CURRENT_SPEED, "aktualna prêdko¶æ",
+T_ELAPSED_TIME, "Up³ynê³o",
+T_ESTIMATED_TIME, "Pozosta³y czas",
+T_BACKGROUND, "W tle",
+T_ABORT, "Przerwij",
+T_ABORT_AND_DELETE_FILE, "Przerwij i usuñ plik",
+T_YES, "Tak",
+T_NO, "Nie",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, "Plik ju¿ istnieje",
+T_ALREADY_EXISTS_AS_DOWNLOAD, "ju¿ istnieje jako aktywne ¶ci±ganie.",
+T_ALREADY_EXISTS, "ju¿ istnieje.",
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, "Czy chcesz go nadpisaæ?",
+T_CONTINUE, NULL,
+T_OVERWRITE, "Nadpisz",
+T_RENAME, "Zmieñ nazwê",
+T_DOWNLOAD_ERROR, "B³±d pobierania",
+T_COULD_NOT_WRITE_TO_FILE, "Nie mo¿na utworzyæ pliku",
+T_ERROR_DOWNLOADING, "Wyst±pi³ b³±d podczas pobierania",
+T_ERROR_LOADING, "Wyst±pi³ b³±d podczas ³adowania",
+T_COULD_NOT_CREATE_FILE, "Nie mo¿na utworzyæ pliku",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, "Nie mo¿na utworzyæ pliku tymczasowego",
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Nieznany typ",
+T_CONTENT_TYPE_IS, "Typ zawarto¶ci to",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Chcesz otworzyæ, zapisaæ czy wy¶wietliæ ten plik?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Chcesz otworzyæ czy wy¶wietliæ ten plik?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Chcesz zapisaæ czy wy¶wietliæ ten plik?",
+T_SAVE, "Zapisz",
+T_DISPLAY, "Wy¶wietl",
+T_WHAT_TO_DO, "Co mam zrobiæ?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Chcesz ten plik otworzyæ w",
+T_SAVE_IT_OR_DISPLAY_IT, "otworzyæ, zapisaæ czy wy¶wietliæ?",
+T_OPEN, "Otwórz",
+T_OPEN_WITH, "Otwórz w",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Czy chcesz przekierowaæ i wys³aæ dane formularza do",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Chcesz wys³aæ formularz do",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Chcesz ponownie wys³aæ formularz do",
+T_WARNING, "Ostrze¿enie",
+T_ERROR, "B³±d",
+T_WELCOME, "Powitanie",
+T_WELCOME_TO_LINKS, "Witaj w programie Links!",
+T_BASIC_HELP, "Wci¶nij ESC aby wywo³aæ menu. Wybierz Pomoc->Podrêcznik z menu aby zapoznaæ siê z instrukcj± u¿ytkowania programu.",
+T_LABEL, "Etykieta",
+T_CONTENT_TYPES, "Typ(y) zawarto¶ci",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' jest zastêpowany nazw± pliku)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blokuj terminal na czas dzia³ania programu",
+T_RUN_ON_TERMINAL, "Uruchom na terminalu",
+T_RUN_IN_XWINDOW, "Uruchom w okienku X",
+T_ASK_BEFORE_OPENING, "Zapytaj przed otwarciem",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Usuñ skojarzenie",
+T_ASSOCIATION, "Skojarzenie",
+T_EXTENSION_S, "Rozszerzenia",
+T_CONTENT_TYPE, "Typ zawarto¶ci",
+T_DELETE_EXTENSION, "Usuñ rozszerzenie",
+T_EXTENSION, "Rozszerzenie",
+T_eXTENSION, "rozszerzenie",
+T_ERROR_WHILE_POSTING_FORM, "Wyst±pi³ b³±d podczas wysy³ania formularza",
+T_COULD_NOT_GET_FILE, "Nie mo¿na pobraæ pliku",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Niczego wcze¶niej nie szukano",
+T_SEARCH_STRING_NOT_FOUND, "Nie znaleziono wyra¿enia",
+T_SAVE_ERROR, "B³±d zapisu",
+T_ERROR_WRITING_TO_FILE, "B³±d zapisu do pliku",
+T_DISPLAY_USEMAP, "Poka¿ mapê obrazków",
+T_FOLLOW_LINK, "Wybierz link",
+T_OPEN_IN_NEW_WINDOW, "Otwórz w nowym oknie",
+T_DOWNLOAD_LINK, "Pobierz",
+T_RESET_FORM, "Wyczy¶æ formularz",
+T_SUBMIT_FORM, "Prze¶lij formularz",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Prze¶lij formularz i otwórz w nowym oknie",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Prze¶lij formularz i ¶ci±gnij",
+T_VIEW_IMAGE, "Poka¿ obrazek",
+T_DOWNLOAD_IMAGE, "Pobierz obrazek",
+T_NO_LINK_SELECTED, "Nie wybrano ¿adnego linka",
+T_IMAGE, "Obrazek",
+T_USEMAP, "Mapa obrazków",
+T_XTERM, "X-Terminal",
+T_TWTERM, "Twterm",
+T_SCREEN, "Screen",
+T_WINDOW, "Okno",
+T_FULL_SCREEN, "Pe³ny ekran",
+T_BEOS_TERMINAL, "Terminal BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, "Javascript",
+T_SUBMIT_FORM_TO, "Prze¶lij formularz do",
+T_POST_FORM_TO, "Wy¶lij formularz do",
+T_RADIO_BUTTON, "Okr±g³y przycisk",
+T_CHECKBOX, "Przycisk wyboru",
+T_SELECT_FIELD, "Pole wyboru",
+T_TEXT_FIELD, "Pole tekstowe",
+T_TEXT_AREA, "Pole tekstowe",
+T_FILE_UPLOAD, "£adowanie pliku",
+T_PASSWORD_FIELD, "Pole has³a",
+T_BUTTON, "Przycisk",
+T_NAME, "nazwa",
+T_VALUE, "warto¶æ",
+T_HIT_ENTER_TO, "wci¶nij ENTER aby",
+T_SUBMIT_TO, "przes³aæ do",
+T_POST_TO, "wys³aæ do",
+T_INFO, "Informacja",
+T_HEADER_INFO, "Informacje nag³ówka",
+T_YOU_ARE_NOWHERE, "Tak naprawdê to jeste¶ nigdzie!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Rozmiar",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "niekompletne",
+T_CODEPAGE, "Strona kodowa",
+T_ASSUMED, "Domy¶lna",
+T_IGNORING_SERVER_SETTING, "Ignoruj ustawienia serwera",
+T_SERVER, "Serwer",
+T_DATE, "Data",
+T_LAST_MODIFIED, "Ostatnia zmiana",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Jêzyk",
+T_GO_TO_LINK, "Przejd¼ do linka",
+T_ENTER_LINK_NUMBER, "Wprowad¼ numer linka",
+T_RESIZE_TERMINAL, "Zmieñ rozmiar terminala",
+T_COLUMNS, "Kolumny",
+T_ROWS, "Wiersze",
+T_GOTO, "Przejd¼ do",
+T_CLOSE, "Zamknij",
+T_FOLDER, "Folder",
+T_fOLDER, "folder",
+T_ADD, "Dodaj",
+T_DELETE, "Usuñ",
+T_EDIT, "Edytuj",
+T_MOVE, "Przenie¶",
+T_NO_ITEMS_SELECTED, "Nie zaznaczy³e¶ niczego",
+T_UNSELECT_ALL, "Odznacz wszystkie",
+T_BOOKMARKS, "Zak³adki",
+T_BOOKMARK, "Zak³adka",
+T_ADD_BOOKMARK, "Dodaj do zak³adek",
+T_ADD_ASSOCIATION, "Dodaj skojarzenie",
+T_ADD_EXTENSION, "Dodaj rozszerzenie",
+T_ADD_FOLDER, "Dodaj folder",
+T_BOOKMARK_TITLE, "Nazwa zak³adki",
+T_EDIT_BOOKMARK, "Edytuj zak³adkê",
+T_EDIT_ASSOCIATION, "Edytuj skojarzenie",
+T_EDIT_EXTENSION, "Edytuj rozszerzenie",
+T_DELETE_BOOKMARK, "Usuñ zak³adkê",
+T_EDIT_FOLDER, "Edytuj folder",
+T_DELETE_FOLDER, "Usuñ folder",
+T_NOT_EMPTY_SURE_DELETE, "nie jest pusty. Naprawdê chcesz go usun±æ?",
+T_BOOKMARK_MANAGER, "Obs³uga zak³adek",
+T_ASSOCIATIONS_MANAGER, "Mened¿er skojarzeñ",
+T_EXTENSIONS_MANAGER, "Mened¿er rozszerzeñ",
+T_url, "url",
+T_NNAME, "Nazwa",
+T_EXIT_LINKS, "Wyjd¼ z Linksa",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "Czy na pewno chcesz zamkn±æ okno?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Czy na pewno chcesz wyj¶æ z Linksa?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Czy na pewno chcesz wyj¶æ i przerwaæ wszystkie ¶ci±gania?",
+T_HTTP_OPTIONS, "Opcje HTTP",
+T_FTP_OPTIONS, "Opcje FTP",
+T_HTTP_BUG_WORKAROUNDS, "Obej¶cia b³êdów HTTP",
+T_USE_HTTP_10, "U¿yj HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Akceptuj czarn± listê zapluskwionych serwerów",
+T_BROKEN_302_REDIRECT, "Z³e przeniesienia 302 (niezgodne z RFC ale kompatybilne z Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Nie utrzymuj po³±czeñ po ¿±daniu POST (niektóre bazy PHP wymagaj± tego)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, "Nie wysy³aj Accept-Charset",
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, "Ponawiaj próby przy wewnêtrznych b³êdach serwera (50x)",
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "Bez nag³ówka Referer",
+T_REFERER_SAME_URL, "Wysy³aj ¿±dany URL jako Referer",
+T_REFERER_FAKE, "Sta³y nag³ówek Referer",
+T_REFERER_REAL_SAME_SERVER, "Wysy³aj prawdziwy Referer tylko do tego samego serwera",
+T_REFERER_REAL, "Wysy³aj prawdziwy Referer (standardowe zachowanie, NIEBEZPIECZNE!)",
+T_FAKE_REFERER, "Sta³y nag³ówek HTTP Referer",
+T_FAKE_USERAGENT, "Nazwa przegl±darki wysy³ana serwerowi",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Has³o dla logowania anonimowego",
+T_USE_PASSIVE_FTP, "U¿ywaj pasywnego FTP",
+T_USE_FAST_FTP, "U¿ywaj szybkiego FTP",
+T_SET_TYPE_OF_SERVICE, "Ustaw typ us³ugi IP (ToS)",
+T_MANUAL, "Podrêcznik u¿ytkownika",
+T_HOMEPAGE, "Strona domowa",
+T_CALIBRATION, "Kalibracja",
+T_MAILTO_PROG, "Program pocztowy (% jest zastêpowany przez adres e-mail)",
+T_SHELL_PROG, "Program pow³oki",
+T_TELNET_PROG, "Program us³ugi Telnet (% jest zastêpowany przez \"host\" lub przez \"host port\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Program Tn3270 (% jest zastêpowany przez \"host\" lub przez \"host port\")",
+T_MMS_PROG, "Program MMS (% jest zastêpowany przez URL)",
+T_MAIL_AND_TELNET_PROGRAMS, "Obs³uga poczty i us³ugi Telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Obs³uga poczty, us³ugi Telnet i pow³oki",
+T_NO_PROGRAM, "Nie okre¶lono programu",
+T_NO_PROGRAM_SPECIFIED_FOR, "Nie okre¶lono programu do obs³ugi",
+T_MAIL, "poczty",
+T_TELNET, "telneta",
+T_MAGNET, NULL,
+T_TN3270, "Tn3270",
+T_MMS, "mms",
+T_BAD_MAILTO_URL, "B³êdny adres e-mail",
+T_BAD_TELNET_URL, "Niew³a¶ciwy adres serwera dla programu Telnet",
+T_BAD_TN3270_URL, "Niew³a¶ciwy adres serwera dla programu Tn3270",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "URL MMS zawiera nieakceptowalne znaki",
+T_AUTHORIZATION_REQUIRED, "Wymagana autoryzacja",
+T_PROXY_AUTHORIZATION_REQUIRED, "Wymagana autoryzacja dla proxy",
+T_USERID, "Identyfikator u¿ytkownika",
+T_PASSWORD, "Has³o",
+T_ENTER_USERNAME, "Nazwa u¿ytkownika dla ",
+T_AT, "na ",
+T_SSL_ERROR, "B³±d SSL",
+T_NO_SSL, "Ta wersja Linksa nie posiada obs³ugi SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, "Brak zainstalowanego klienta smb (obs³ugiwane s± smbclient i smbc)",
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "Jeste¶ pewny, ze chcesz usun±æ",
+T_BOOKMARKS_ALREADY_IN_USE, "Zak³adki w u¿yciu!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Skojarzenia w u¿yciu!",
+T_EXTENSIONS_ALREADY_IN_USE, "Rozszerzenia w u¿yciu!",
+T_VIDEO_OPTIONS, "Opcje obrazu",
+T_VIDEO_OPTIONS_TEXT, "Zalecane ustawienie gamma dla u¿ytkownika:\n 1.33 dla ciemnego pokoju, 1.11 dla bardzo przyciemnionego pokoju, 1 dla zwyk³ego o¶wietlenia miejsca przy komputerze, 0.88 dla jasnego o¶wietlenia.",
+T_RED_DISPLAY_GAMMA, "Gamma dla sk³adowej czerwonej",
+T_GREEN_DISPLAY_GAMMA, "Gamma dla sk³adowej zielonej",
+T_BLUE_DISPLAY_GAMMA, "Gamma dla sk³adowej niebieskiej",
+T_USER_GAMMA, "Gamma u¿ytkownika",
+T_ALERT, "Uwaga",
+T_QUESTION, "Pytanie",
+T_KILL_SCRIPT, "Zabij skrypt",
+T_KILL_ALL_SCRIPTS, "Zabij wszystkie skrypty",
+T_SCRIPT_KILLED_BY_USER, "Skrypt zabity przez u¿ytkownika",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Skrypt chce zamkn±æ to okno. Na pewno chcesz zamkn±æ to okno?",
+T_ENTER_STRING, "Podaj ci±g",
+T_JAVASCRIPT_OPTIONS, "Opcje Javascriptu",
+T_ENABLE_JAVASCRIPT, "W³±cz Javascript",
+T_VERBOSE_JS_ERRORS, "¦ledzenie b³êdów Javascriptu",
+T_VERBOSE_JS_WARNINGS, "¦ledzenie ostrze¿eñ Javascriptu",
+T_MISCELANEOUS_OPTIONS, "Opcje ró¿ne",
+T_JAVASCRIPT_ERROR, "B³±d Javascriptu",
+T_JAVASCRIPT_WARNING, "Ostrze¿enie Javascriptu",
+T_DISMISS, "Pomiñ",
+T_MENU_FONT_SIZE, "Rozmiar fontu menu",
+T_USER_FONT_SIZE, "Rozmiar fontu u¿ytkownika",
+T_TURN_OFF_WARNINGS, "Wy³±cz ostrze¿enia",
+T_BOOKMARKS_ENCODING, "Kodowanie zak³adek",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript próbuje i¶æ pod adres",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript próbuje otworzyæ nowe okno z adresem",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript próbuje i¶æ do historii",
+T_TO_URL, "do URL-a",
+T_GOTO_HISTORY, "Id¼ do historii",
+T_ALLOW, "Pozwól",
+T_REJECT, "Odrzuæ",
+T_ENABLE_ALL_CONVERSIONS, "W³±cz wszystkie konwersje",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "W³±cz globalne szukanie nazw",
+T_MANUAL_JS_CONTROL, "Rêczne potwierdzanie operacji Javascriptu",
+T_JS_RECURSION_DEPTH, "Poziom rekurencji Javascriptu",
+T_MENU_BACKGROUND_COLOR, "Kolor t³a menu",
+T_MENU_FOREGROUND_COLOR, "Kolor znaków menu",
+T_SCROLL_BAR_BAR_COLOR, "Kolor paska przewijania",
+T_SCROLL_BAR_AREA_COLOR, "Kolor obszaru paska przewijania",
+T_SCROLL_BAR_FRAME_COLOR, "Kolor ramki paska przewijania",
+T_BOOKMARKS_FILE, "Plik zak³adek",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Wpisz kolory jako trójki RGB",
+T_JS_MEMORY_LIMIT_KB, "Pamiêæ dla Javascriptu",
+T_DITHER_LETTERS, "Dithering znaków",
+T_DITHER_IMAGES, "Dithering obrazów",
+T_8_BIT_GAMMA_CORRECTION, "8-bitowa korekcja gamma",
+T_16_BIT_GAMMA_CORRECTION, "16-bitowa korekcja gamma",
+T_AUTO_GAMMA_CORRECTION, "Automatyczna korekcja gamma",
+T_SCALE_ALL_IMAGES_BY, "Skalowanie wszystkich obrazów",
+T_PORN_ENABLE, "Automatyczne skalowanie pojedynczych obrazów",
+T_DISPLAY_OPTIMIZATION_CRT, "Optymalizacja dla ekranu CRT",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optymalizacja dla ekranu LCD RGB",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optymalizacja dla ekranu LCD BGR",
+T_ASPECT_RATIO, "Wspó³czynnik wspó³rzêdnych ekranu (aspect ratio)",
+T_ASPECT_CORRECTION_ON, "Korekcja aspektu",
+T_KEYBOARD_CODEPAGE, "Strona kodowa klawiatury",
+T_COPY_LINK_LOCATION, "Skopiuj po³o¿enie odno¶nika",
+T_BLOCK_URL, "Zablokuj obrazek",
+T_BLOCK_LIST, "Zablokowane obrazki",
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, "Zablokowane obrazki s± ju¿ otwarte",
+T_BLOCK_LIST_MANAGER, "Mened¿er blokowania obrazków",
+T_BLOCK_ADD, "Dodaj URL obrazka do zablokowania",
+T_BLOCK_EDIT, "Zmieñ URL obrazka",
+T_BLOCK_DELETE, "Usuñ",
+T_HK_GOTO_URL, "U",
+T_HK_GO_BACK, "W",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, NULL,
+T_HK_RELOAD, NULL,
+T_HK_BOOKMARKS, "Z",
+T_HK_NEW_WINDOW, NULL,
+T_HK_SAVE_AS, "Z",
+T_HK_SAVE_URL_AS, "A",
+T_HK_SAVE_FORMATTED_DOCUMENT, "F",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "P",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "C",
+T_HK_RESOURCE_INFO, NULL,
+T_HK_MEMORY_INFO, "N",
+T_HK_OS_SHELL, NULL,
+T_HK_RESIZE_TERMINAL, NULL,
+T_HK_EXIT, "Y",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "W",
+T_HK_FIND_NEXT, NULL,
+T_HK_FIND_PREVIOUS, NULL,
+T_HK_TOGGLE_HTML_PLAIN, NULL,
+T_HK_DOCUMENT_INFO, NULL,
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "Y",
+T_HK_HTML_OPTIONS, "U",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "Z",
+T_HK_LANGUAGE, "J",
+T_HK_CHARACTER_SET, "Z",
+T_HK_TERMINAL_OPTIONS, NULL,
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "U",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "P",
+T_HK_MAIL_AND_TELNEL, "C",
+T_HK_ASSOCIATIONS, "S",
+T_HK_FILE_EXTENSIONS, "R",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "O",
+T_HK_ABOUT, "O",
+T_HK_KEYS, NULL,
+T_HK_COPYING, "P",
+T_HK_MANUAL, NULL,
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "P",
+T_HK_VIEW, "W",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "O",
+T_HK_SETUP, "U",
+T_HK_HELP, "M",
+T_HK_DISPLAY_USEMAP, "M",
+T_HK_FOLLOW_LINK, "L",
+T_HK_OPEN_IN_NEW_WINDOW, NULL,
+T_HK_DOWNLOAD_LINK, "P",
+T_HK_RESET_FORM, NULL,
+T_HK_SUBMIT_FORM, "P",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "F",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "O",
+T_HK_VIEW_IMAGE, "B",
+T_HK_DOWNLOAD_IMAGE, "O",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, NULL,
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, NULL,
+T_HK_WINDOW, NULL,
+T_HK_FULL_SCREEN, NULL,
+T_HK_BEOS_TERMINAL, NULL,
diff --git a/intl/portuguese.lng b/intl/portuguese.lng
new file mode 100644
index 0000000..c9c43a3
--- /dev/null
+++ b/intl/portuguese.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-1",
+T__LANGUAGE, "Portuguese",
+T__ACCEPT_LANGUAGE, "pt",
+T_OK, "OK",
+T_CANCEL, "Cancelar",
+T_BAD_NUMBER, "Número inválido",
+T_NUMBER_EXPECTED, "Espera-se número no campo",
+T_NUMBER_OUT_OF_RANGE, "Número fora do intervalo",
+T_BAD_STRING, "Sequência de caracteres inválida",
+T_EMPTY_STRING_NOT_ALLOWED, "Não é permitida uma sequência de caracteres vazia",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Erro de configuração",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Não posso escrever no arquivo de configuração",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Sobre",
+T_LINKS__LYNX_LIKE, "Browser WWW em modo texto",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Teclas",
+T_KEYS_DESC, "ESC Exibe o menu\n^C, q Finalizar\n^P, ^N Deslocar para cima, baixo\n[, ] Deslocar para a esquerda, direita\n cima, baixo seleciona link\n-> visita link\n<- volta\ng abre url\nG abre url baseada na url atual\n/ localizar\n? localizar para trás\nn encontrar próximo\nN encontrar anterior\n= informações sobre documento\n\\ fonte do documento\nd download",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Licensa",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nEste programa é um software livre; pode redistribuí-lo e/ou modificá-lo sob os termos da Licensa Pública Geral GNU, como publicada pela Free Software Foundation; ou pela versão 2 da Licensa, ou (por sua opção) qualquer versão posterior.",
+T_RESOURCES, "Recursos",
+T_CONNECTIONS, "Conexões",
+T_MEMORY_CACHE, "Cache de memória",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "Cache de documentos formatados",
+T_DNS_CACHE, NULL,
+T_HANDLES, "handles",
+T_TIMERS, "temporizadores",
+T_WAITING, NULL,
+T_CONNECTING, "a conectar",
+T_tRANSFERRING, "a transferir",
+T_KEEPALIVE, "manter activo",
+T_BYTES, "bytes",
+T_LETTERS, NULL,
+T_FILES, "arquivosfiles",
+T_LOCKED, "bloqueado",
+T_LOADING, "a carregar",
+T_IMAGES, NULL,
+T_DOCUMENTS, "documentos",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "bytes de memória alocados",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Informações sobre a memória",
+T_NO_HISTORY, "Sem histórico",
+T_NO_DOWNLOADS, "Sem downloads",
+T_NO_FRAMES, "Sem frames",
+T_VT_100_FRAMES, "Frames VT 100",
+T_LINUX_OR_OS2_FRAMES, "Frames Linux ou OS/2",
+T_KOI8R_FRAMES, "Frames KOI8-R",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Usar ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Frames restritos para cp850/852",
+T_BLOCK_CURSOR, "Bloquear cursor",
+T_COLOR, "Cores",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Opções do Terminal",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, NULL,
+T_FTP_PROXY__HOST_PORT, NULL,
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, NULL,
+T_NETWORK_OPTIONS, NULL,
+T_MAX_CONNECTIONS, NULL,
+T_MAX_CONNECTIONS_TO_ONE_HOST, NULL,
+T_RETRIES, NULL,
+T_RECEIVE_TIMEOUT_SEC, NULL,
+T_TIMEOUT_WHEN_UNRESTARTABLE, NULL,
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, NULL,
+T_SET_TIME_OF_DOWNLOADED_FILES, NULL,
+T_CACHE_OPTIONS, NULL,
+T_MEMORY_CACHE_SIZE__KB, NULL,
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, NULL,
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, NULL,
+T_DISPLAY_TABLES, NULL,
+T_DISPLAY_FRAMES, NULL,
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, NULL,
+T_LINK_ORDER_BY_COLUMNS, NULL,
+T_NUMBERED_LINKS, NULL,
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, NULL,
+T_DEFAULT_CODEPAGE, NULL,
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, NULL,
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Ir para URL",
+T_GO_BACK, "Voltar",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Histórico",
+T_RELOAD, "Recarregar",
+T_NEW_WINDOW, "Nova janela",
+T_SAVE_AS, "Guardar como",
+T_SAVE_URL_AS, "Guardar URL como",
+T_SAVE_FORMATTED_DOCUMENT, "Guardar documento formatado",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Fechar conexões em segundo plano",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Reinicializar as caches",
+T_RESOURCE_INFO, "Informações sobre os Recursos",
+T_OS_SHELL, "OS shell",
+T_EXIT, "Sair",
+T_SEARCH, "Procurar",
+T_SEARCH_BACK, "Procurar para trás",
+T_FIND_NEXT, "Localizar próximo",
+T_FIND_PREVIOUS, "Localizar anterior",
+T_TOGGLE_HTML_PLAIN, "Alternar entre HTML/Texto simples",
+T_DOCUMENT_INFO, "Informação sobre o documento",
+T_FRAME_AT_FULL_SCREEN, "Frame maximizado",
+T_SAVE_HTML_OPTIONS, NULL,
+T_CHARACTER_SET, "Conjunto de Caracteres (Charset)",
+T_CACHE, NULL,
+T_MAIL_AND_TELNEL, NULL,
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Associações",
+T_FILE_EXTENSIONS, "Extensões de ficheiro",
+T_SAVE_OPTIONS, "Salvar opções",
+T_FILE, "Ficheiro",
+T_VIEW, "Ver",
+T_LINK, "Link",
+T_DOWNLOADS, "Downloads",
+T_SETUP, "Configuração",
+T_HELP, "Ajuda",
+T_ENTER_URL, "Introduza o URL",
+T_SAVE_URL, "Guardar o URL",
+T_DOWNLOAD, "Download",
+T_SAVE_TO_FILE, "Salvar para ficheiro",
+T_SEARCH_FOR_TEXT, "Procurar pelo texto",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Aguardando na fila",
+T_LOOKING_UP_HOST, "Procurando pelo host",
+T_MAKING_CONNECTION, "A conectar",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "Negociação SSL",
+T_REQUEST_SENT, "Pedido enviado",
+T_GETTING_HEADERS, "A obter os cabeçalhos",
+T_LOGGING_IN, "A efectuar o login",
+T_SERVER_IS_PROCESSING_REQUEST, "O servidor está a processar o pedido",
+T_TRANSFERRING, "A transferir",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "A aguardar pela confirmação do redirecionamento",
+T_INTERRUPTED, "Interrompido",
+T_SOCKET_EXCEPTION, "Excessão do Socket",
+T_INTERNAL_ERROR, "Erro interno",
+T_OUT_OF_MEMORY, "Sem memória",
+T_HOST_NOT_FOUND, "Host não encontrado",
+T_ERROR_WRITING_TO_SOCKET, "Erro ao gravar pelo socket",
+T_ERROR_READING_FROM_SOCKET, "Erro ao ler pelo socket",
+T_DATA_MODIFIED, "Dados modificados",
+T_BAD_URL_SYNTAX, "Sintaxe do URL está incorreta",
+T_RECEIVE_TIMEOUT, "Timeout recebido",
+T_REQUEST_MUST_BE_RESTARTED, "O pedido deve ser reiniciado",
+T_CANT_GET_SOCKET_STATE, "Não posso obter o status do socket",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Resposta HTTP incorreta",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Sem conteúdo",
+T_UNKNOWN_FILE_TYPE, "Tipo de ficheiro desconhecido",
+T_ERROR_OPENING_FILE, "Erro ao abrir ficheiro",
+T_BAD_FTP_RESPONSE, "Resposta FTP incorreta",
+T_FTP_SERVICE_UNAVAILABLE, "Serviço de FTP indisponível",
+T_BAD_FTP_LOGIN, "Login FTP incorreto",
+T_FTP_PORT_COMMAND_FAILED, "Comando FTP PORT falhou",
+T_FILE_NOT_FOUND, "Ficheiro não encontrado",
+T_FTP_FILE_ERROR, "Erro em FTP",
+T_UNKNOWN_ERROR, "ERRO DESCONHECIDO",
+T_RECEIVED, "Recebido",
+T_OF, "de",
+T_AVG, "média",
+T_CUR, "actual",
+T_AVERAGE_SPEED, "Velocidade média",
+T_SPEED, "Velocidade",
+T_CURRENT_SPEED, "velocidade actual",
+T_ELAPSED_TIME, "Tempo gasto",
+T_ESTIMATED_TIME, "tempo estimado",
+T_BACKGROUND, "Segundo plano",
+T_ABORT, "Cancelar",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Sim",
+T_NO, "Não",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Erro de download",
+T_COULD_NOT_WRITE_TO_FILE, "Não posso gravar para arquivo",
+T_ERROR_DOWNLOADING, "Erro durante o download",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "Não posso criar o arquivo",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Tipo desconhecido",
+T_CONTENT_TYPE_IS, "O Tipo de conteúdo é",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Deseja guardar ou mostrar este arquivo?",
+T_SAVE, "Salvar",
+T_DISPLAY, "Mostar",
+T_WHAT_TO_DO, "O que fazer?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Deseja abrir o arquivo com",
+T_SAVE_IT_OR_DISPLAY_IT, "salvar ou exibir?",
+T_OPEN, "Abrir",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Deseja continuar com o redirecionamento e enviar os dados do formulário",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Deseja enviar os dados do formulário",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Deseja enviar novamente os dados do formulário",
+T_WARNING, "Atenção",
+T_ERROR, "Erro",
+T_WELCOME, "Bem-vindo",
+T_WELCOME_TO_LINKS, "Bem-vindo ao Links!",
+T_BASIC_HELP, "Pressione ESC para ativar o menu. Selecione Ajuda->Manual no menu para o Manual do Utilizador.",
+T_LABEL, NULL,
+T_CONTENT_TYPES, NULL,
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, NULL,
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, NULL,
+T_RUN_ON_TERMINAL, NULL,
+T_RUN_IN_XWINDOW, NULL,
+T_ASK_BEFORE_OPENING, NULL,
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, NULL,
+T_ASSOCIATION, NULL,
+T_EXTENSION_S, "Extensão(ões)",
+T_CONTENT_TYPE, "Tipo de conteúdo (Content-Type)",
+T_DELETE_EXTENSION, "Apagar extensão",
+T_EXTENSION, "Extensão",
+T_eXTENSION, NULL,
+T_ERROR_WHILE_POSTING_FORM, "Erro durante o envio do formulário",
+T_COULD_NOT_GET_FILE, "Não posso obter o ficheiro",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Não há procura anterior",
+T_SEARCH_STRING_NOT_FOUND, "Texto a procurar não encontrado",
+T_SAVE_ERROR, "Erro ao salvar",
+T_ERROR_WRITING_TO_FILE, "Erro ao gravar no ficheiro",
+T_DISPLAY_USEMAP, "Mostrar o usemap",
+T_FOLLOW_LINK, "Seguir link",
+T_OPEN_IN_NEW_WINDOW, "Abrir em nova janela",
+T_DOWNLOAD_LINK, "Download link",
+T_RESET_FORM, "Reiniciar formulário",
+T_SUBMIT_FORM, "Enviar formulário",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Enviar formulário e abrir em nova janela",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Enviar formulário e efectuar download",
+T_VIEW_IMAGE, "Ver imagem",
+T_DOWNLOAD_IMAGE, "Download da imagem",
+T_NO_LINK_SELECTED, "Nenhum link selecionado",
+T_IMAGE, "Imagem",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, NULL,
+T_SCREEN, "Monitor",
+T_WINDOW, "Janela",
+T_FULL_SCREEN, "maximizado",
+T_BEOS_TERMINAL, "Terminal do BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Enviar formulário para",
+T_POST_FORM_TO, "Postar formulário para",
+T_RADIO_BUTTON, "Botão radio",
+T_CHECKBOX, "Caixa de verificação",
+T_SELECT_FIELD, "Campo de seleção",
+T_TEXT_FIELD, "Campo de texto",
+T_TEXT_AREA, "Área de texto",
+T_FILE_UPLOAD, "Upload de ficheiro",
+T_PASSWORD_FIELD, "Campo de password",
+T_BUTTON, NULL,
+T_NAME, "nome",
+T_VALUE, "valor",
+T_HIT_ENTER_TO, "perssione ENTER para",
+T_SUBMIT_TO, "enviar para",
+T_POST_TO, "postar para",
+T_INFO, "Info",
+T_HEADER_INFO, "Informação de cabeçalhos",
+T_YOU_ARE_NOWHERE, "Não está em nenhum sítio",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Tamanho",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "incompleto",
+T_CODEPAGE, "Codepage",
+T_ASSUMED, "assumido",
+T_IGNORING_SERVER_SETTING, "Ignorando configuração de servidor",
+T_SERVER, "Servidor",
+T_DATE, "Data",
+T_LAST_MODIFIED, "Última modificação",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Idioma",
+T_GO_TO_LINK, "Ir para link",
+T_ENTER_LINK_NUMBER, "Digite o número do link",
+T_RESIZE_TERMINAL, "Redimensionar terminal",
+T_COLUMNS, "Colunas",
+T_ROWS, "Linhas",
+T_GOTO, "Ir para",
+T_CLOSE, "Fechar",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "Adicionar",
+T_DELETE, "Apagar",
+T_EDIT, "Editar",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "Bookmarks",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "Adicionar bookmark",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, NULL,
+T_EDIT_BOOKMARK, "Editar bookmark",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "Apagar bookmark",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "Explorador de Bookmarks",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, NULL,
+T_NNAME, "Nome",
+T_EXIT_LINKS, "Sair",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Você realmente deseja encerrar o Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Você realmente deseja encerrar o Links (e terminar todos os downloads)?",
+T_HTTP_OPTIONS, NULL,
+T_FTP_OPTIONS, NULL,
+T_HTTP_BUG_WORKAROUNDS, NULL,
+T_USE_HTTP_10, NULL,
+T_ALLOW_SERVER_BLACKLIST, NULL,
+T_BROKEN_302_REDIRECT, NULL,
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, NULL,
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, NULL,
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Manual do Utilizador",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, NULL,
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, NULL,
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, NULL,
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, NULL,
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Nenhum programa",
+T_NO_PROGRAM_SPECIFIED_FOR, "Nenhum programa foi especificado para",
+T_MAIL, NULL,
+T_TELNET, NULL,
+T_MAGNET, NULL,
+T_TN3270, NULL,
+T_MMS, NULL,
+T_BAD_MAILTO_URL, NULL,
+T_BAD_TELNET_URL, NULL,
+T_BAD_TN3270_URL, NULL,
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "Utilizador",
+T_PASSWORD, "Password",
+T_ENTER_USERNAME, "Introduza Utilizador",
+T_AT, "em ",
+T_SSL_ERROR, "Erro de SSL",
+T_NO_SSL, "Sem SSL",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "U",
+T_HK_GO_BACK, "V",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "G",
+T_HK_SAVE_URL_AS, "D",
+T_HK_SAVE_FORMATTED_DOCUMENT, "M",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "F",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "E",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "A",
+T_HK_SEARCH, "P",
+T_HK_SEARCH_BACK, "A",
+T_HK_FIND_NEXT, "P",
+T_HK_FIND_PREVIOUS, "C",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "F",
+T_HK_HTML_OPTIONS, NULL,
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, NULL,
+T_HK_LANGUAGE, "I",
+T_HK_CHARACTER_SET, "H",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "R",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, NULL,
+T_HK_MAIL_AND_TELNEL, NULL,
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "S",
+T_HK_KEYS, "T",
+T_HK_COPYING, "L",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "C",
+T_HK_HELP, "A",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "S",
+T_HK_OPEN_IN_NEW_WINDOW, "J",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "E",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "V",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "O",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/romanian.lng b/intl/romanian.lng
new file mode 100644
index 0000000..5597e97
--- /dev/null
+++ b/intl/romanian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-16",
+T__LANGUAGE, "Romanian",
+T__ACCEPT_LANGUAGE, "ro",
+T_OK, "Bine",
+T_CANCEL, "Anuleazã",
+T_BAD_NUMBER, "Numãr greºit",
+T_NUMBER_EXPECTED, "Numãr aºteptat în acest cîmp",
+T_NUMBER_OUT_OF_RANGE, "Numãr în afara domeniului",
+T_BAD_STRING, "ªir greºit",
+T_EMPTY_STRING_NOT_ALLOWED, "ªir vid neacceptabil",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Eroare de configurare",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Nu pot sã scriu fiºierul de configurere",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Despre",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nca ºi lynx, navigator WWW de tip text",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Taste",
+T_KEYS_DESC, "ESC Afiºeazã meniul\n^C, q Ieºi\n^P, ^N Pagina sus, jos\n[, ] Pagina stînga, dreapta\nPgUp/PgDn Selecteazã legãtura\n-> Urmãreºte legãtura\n<- Înapoi\ng Du-te la URL\nG Du-te la URL, (de la pagina curentã)\n/ Cautã\n? Cautã înapoi\nn Gãseºte urmãtorul\nN Gãseºte precedentul\n= Informaþii despre document\n| Informaþii despre header\n\\ Sursa documentului\nd Încarcã",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Licenþa",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\nAcest program este liber (free), poate fi publicat, modificat ºi difuzat numai în termenii licenþei publice generale de la GNU de la Fundaþia de Programe cu Liber Acces, sau de la versiunea a doua a GPL, sau (alegerea este a dumneavoastrã) dupã toate versiunile anterioare.",
+T_RESOURCES, "Resurse",
+T_CONNECTIONS, "Conexiuni",
+T_MEMORY_CACHE, "Memorie cache",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "Cache de document formatat",
+T_DNS_CACHE, NULL,
+T_HANDLES, "Fiºiere deschise",
+T_TIMERS, "Ceas",
+T_WAITING, NULL,
+T_CONNECTING, "Conectare",
+T_tRANSFERRING, "Transfer",
+T_KEEPALIVE, "Conexiune menþinutã",
+T_BYTES, "Biþi",
+T_LETTERS, NULL,
+T_FILES, "Fiºier(e)",
+T_LOCKED, "Blocat(ã)",
+T_LOADING, "În curs de încãrcare",
+T_IMAGES, NULL,
+T_DOCUMENTS, "Documente",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "Biþii de memorie alocaþi",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Informaþii despre memorie",
+T_NO_HISTORY, "Fãrã istoric",
+T_NO_DOWNLOADS, "Nici o încãrcare",
+T_NO_FRAMES, "Fãrã cadruri",
+T_VT_100_FRAMES, "Cadruri VT 100",
+T_LINUX_OR_OS2_FRAMES, "Cadruri Linux sau OS/2",
+T_KOI8R_FRAMES, "Cadre KOI8-R",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Utilizaþi ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Limiteazã cadrurile in cp850/852",
+T_BLOCK_CURSOR, "Cursor bloc",
+T_COLOR, "Culoare",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Opþiuni de terminal",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)",
+T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Acces direct (w/o proxy) domenii (separate cu virgulã)",
+T_NETWORK_OPTIONS, "Opþiuni de reþea",
+T_MAX_CONNECTIONS, "Conexiuni maxime",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Conexiuni maxime la un host",
+T_RETRIES, "Reîncercãri",
+T_RECEIVE_TIMEOUT_SEC, "Primit timeout (sec)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout cînd este nerestartabil",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Async DNS lookup",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Seteaza timpul de încãrcare al fiºierelor",
+T_CACHE_OPTIONS, "Opþiuni de cache",
+T_MEMORY_CACHE_SIZE__KB, "Dimensiunea memoriei cache (KiB)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Numãrul documentelor formatate",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "Opþiuni html",
+T_DISPLAY_TABLES, "Aratã tabele",
+T_DISPLAY_FRAMES, "Aratã cadrele",
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Aratã legãturile cãtre imagini",
+T_LINK_ORDER_BY_COLUMNS, "Miºcã cursorul pe coloane în tabele",
+T_NUMBERED_LINKS, "Legãturile sînt numãrate",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Marginea textului",
+T_DEFAULT_CODEPAGE, "Codarea de paginã predefinitã",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorã setul de caractere (charset) trimis de server",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Du-te la URL",
+T_GO_BACK, "Întoarce-te",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Istoric",
+T_RELOAD, "Reîncarcã",
+T_NEW_WINDOW, "Fereastrã nouã",
+T_SAVE_AS, "Salveazã ca",
+T_SAVE_URL_AS, "Salveazã URL ca",
+T_SAVE_FORMATTED_DOCUMENT, "Salveazã documentul formatat",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Oprirea descãrcãrilor din fundal",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Eliminã tot cache-ul",
+T_RESOURCE_INFO, "Informaþii despre resurse",
+T_OS_SHELL, "Shell-ul sistemului de operare",
+T_EXIT, "Ieºi",
+T_SEARCH, "Cautã",
+T_SEARCH_BACK, "Cautã înapoi",
+T_FIND_NEXT, "Gãseºte urmãtorul",
+T_FIND_PREVIOUS, "Gãseºte precedentul",
+T_TOGGLE_HTML_PLAIN, "Toggle html/plain",
+T_DOCUMENT_INFO, "Informaþii despre document",
+T_FRAME_AT_FULL_SCREEN, "Cadrul pe tot ecranul",
+T_SAVE_HTML_OPTIONS, "Salveazã opþiunile html",
+T_CHARACTER_SET, "Setul de caractere",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "E-mail ºi telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Asociaþii",
+T_FILE_EXTENSIONS, "Extensia fiºierelor",
+T_SAVE_OPTIONS, "Salveazã opþiunile",
+T_FILE, "Fiºier",
+T_VIEW, "Vezi",
+T_LINK, "Legãturi",
+T_DOWNLOADS, "Încarcã",
+T_SETUP, "Setãri",
+T_HELP, "Ajutor",
+T_ENTER_URL, "Intrã URL",
+T_SAVE_URL, "Salveazã URL",
+T_DOWNLOAD, "Încarcã",
+T_SAVE_TO_FILE, "Salveazã în fiºier",
+T_SEARCH_FOR_TEXT, "Cautã pentru text",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Aºteaptã la coadã",
+T_LOOKING_UP_HOST, "Looking up host",
+T_MAKING_CONNECTION, "Fac conexiunea",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "Negociere SSL",
+T_REQUEST_SENT, "Cerere trimisã",
+T_GETTING_HEADERS, "Primesc header",
+T_LOGGING_IN, NULL,
+T_SERVER_IS_PROCESSING_REQUEST, "Serverul proceseazã cererea",
+T_TRANSFERRING, "Transfer",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Aºtept pentru redirecþionarea confirmãrii",
+T_INTERRUPTED, "Întrerupt",
+T_SOCKET_EXCEPTION, "Socket exception",
+T_INTERNAL_ERROR, "Eroare internã",
+T_OUT_OF_MEMORY, "Memorie insuficientã",
+T_HOST_NOT_FOUND, "Gazdã negãsitã",
+T_ERROR_WRITING_TO_SOCKET, "Eroare de scriere la socket",
+T_ERROR_READING_FROM_SOCKET, "Eroare de citire de la socket",
+T_DATA_MODIFIED, "Date modificate",
+T_BAD_URL_SYNTAX, "Sintaxã greºitã",
+T_RECEIVE_TIMEOUT, "A expirat timpul de aºteptare",
+T_REQUEST_MUST_BE_RESTARTED, "Cererea trebuie reînceputã",
+T_CANT_GET_SOCKET_STATE, "Nu pot determina starea soketului",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Rãspuns HTTP greºit",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Fãrã conþinut",
+T_UNKNOWN_FILE_TYPE, "Tip de fiºier necunoscut",
+T_ERROR_OPENING_FILE, "Eroare la deschiderea fiºierului",
+T_BAD_FTP_RESPONSE, "Rãspuns FTP greºit",
+T_FTP_SERVICE_UNAVAILABLE, "Serviciu FTP nedisponibil",
+T_BAD_FTP_LOGIN, "FTP login greºit",
+T_FTP_PORT_COMMAND_FAILED, "Comanda PORTul FTP a eºuat",
+T_FILE_NOT_FOUND, "Fiºier negãsit",
+T_FTP_FILE_ERROR, "Eroare FTP de fiºier",
+T_UNKNOWN_ERROR, "Eroare necunoscutã",
+T_RECEIVED, "Primite",
+T_OF, "Din",
+T_AVG, "Medie",
+T_CUR, "Cursor",
+T_AVERAGE_SPEED, "Viteza medie",
+T_SPEED, "Viteza",
+T_CURRENT_SPEED, "Viteza curentã",
+T_ELAPSED_TIME, "Elapsed time",
+T_ESTIMATED_TIME, "Timp estimat",
+T_BACKGROUND, "Fundal",
+T_ABORT, "Anuleazã",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Da",
+T_NO, "Nu",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Eroare la descãrcare",
+T_COULD_NOT_WRITE_TO_FILE, "Nu s-a putut crea fiºierul",
+T_ERROR_DOWNLOADING, "Eroare la descãrcare",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "Nu s-a putut crea fiºierul",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Tip necunoscut",
+T_CONTENT_TYPE_IS, "Tipul de conþinut este",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Vreþi sã salvaþi sau sã vedeþi acest fiºier?",
+T_SAVE, "Slaveazã",
+T_DISPLAY, "Aratã",
+T_WHAT_TO_DO, "Ce sã fac?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Vreþi sã deschideþi fiºierul cu",
+T_SAVE_IT_OR_DISPLAY_IT, "Îl salvez sau îl arãt?",
+T_OPEN, "Deschide",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Vreþi sã fiþi redirecþionat ºi sã primiþi date de la url",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Vreþi sã postaþi date cãtre url",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Vreþi sã repostaþi date cãtre url",
+T_WARNING, "Avertisment",
+T_ERROR, "Eroare",
+T_WELCOME, "Bine aþi venit",
+T_WELCOME_TO_LINKS, "Bine aþi venit la links!",
+T_BASIC_HELP, "Apãsaþi ESC pentru meniu. Selectaþi Ajutor->Manual în meniu pentru manualul utlizatorului.",
+T_LABEL, "Etichetã",
+T_CONTENT_TYPES, "Content-Type(s)",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' este înlocuit cu numele fiºierului)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blocheazã terminalul cînd ruleazã programul",
+T_RUN_ON_TERMINAL, "Ruleazã în terminal",
+T_RUN_IN_XWINDOW, "Ruleazã în X-Window",
+T_ASK_BEFORE_OPENING, "Întreabã înainte de a deschide",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "ªterge asocierea",
+T_ASSOCIATION, "Asocierea",
+T_EXTENSION_S, "Extensia(extensiile)",
+T_CONTENT_TYPE, "Tipul conþinutului",
+T_DELETE_EXTENSION, "ªterge extensia",
+T_EXTENSION, "Extensia",
+T_eXTENSION, "extensia",
+T_ERROR_WHILE_POSTING_FORM, "Eroare la postarea formularului",
+T_COULD_NOT_GET_FILE, "Nu s-a putut recupera fiºierul",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Nu existã cãutãri anterioare",
+T_SEARCH_STRING_NOT_FOUND, "ªir de cãutare negãsit",
+T_SAVE_ERROR, "Eroare la salvare",
+T_ERROR_WRITING_TO_FILE, "Eroare la scrierea fiºierului",
+T_DISPLAY_USEMAP, "Aratã usemap",
+T_FOLLOW_LINK, "Urmãreºte link",
+T_OPEN_IN_NEW_WINDOW, "Deschide în fereastrã nouã",
+T_DOWNLOAD_LINK, "Descarcã link",
+T_RESET_FORM, "Reseteazã formularul",
+T_SUBMIT_FORM, "Trimite formularul",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Trimite formularul ºi deschide în fereastrã nouã",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Trimite formularul ºi descarcã",
+T_VIEW_IMAGE, "Vezi imagine",
+T_DOWNLOAD_IMAGE, "Descarcã imaginea",
+T_NO_LINK_SELECTED, "Nici un link selectat",
+T_IMAGE, "Imagine",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Ecran",
+T_WINDOW, "Fereastrã",
+T_FULL_SCREEN, "Pe tot ecranul",
+T_BEOS_TERMINAL, "Terminal BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Trimite formular cãtre",
+T_POST_FORM_TO, "Posteazã formular cãtre",
+T_RADIO_BUTTON, "Buton radio",
+T_CHECKBOX, "Checkbox",
+T_SELECT_FIELD, "Selecteazã cîmpul",
+T_TEXT_FIELD, "Cîmp de text",
+T_TEXT_AREA, "Arie de text",
+T_FILE_UPLOAD, "Încãrcare de fiºier",
+T_PASSWORD_FIELD, "Cîmp de parolã",
+T_BUTTON, NULL,
+T_NAME, "Nume",
+T_VALUE, "Valoare",
+T_HIT_ENTER_TO, "Apãsaþi ENTER ca sã",
+T_SUBMIT_TO, "Trimite la",
+T_POST_TO, "Posteazã cãtre",
+T_INFO, "Info",
+T_HEADER_INFO, "Info pentru antet",
+T_YOU_ARE_NOWHERE, "You are nowhere!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Dimensiune",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "Incomplet",
+T_CODEPAGE, "Codare",
+T_ASSUMED, "Asumat",
+T_IGNORING_SERVER_SETTING, "Ignoring server setting",
+T_SERVER, "Server",
+T_DATE, "Data",
+T_LAST_MODIFIED, "Ultima modificare",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Limbaj",
+T_GO_TO_LINK, "Du-te la link",
+T_ENTER_LINK_NUMBER, "Introdu numãrul link-ului",
+T_RESIZE_TERMINAL, "Redimensionezã terminalul",
+T_COLUMNS, "Coloane",
+T_ROWS, "Linii",
+T_GOTO, "Du-te la",
+T_CLOSE, "Închide",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "Adaugã",
+T_DELETE, "ªterge",
+T_EDIT, "Editeazã",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "Semne de carte",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "Adaugã semn de carte",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, "Titlu semnului de carte",
+T_EDIT_BOOKMARK, "Editeazã semnul de carte",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "ªterge semnul de carte",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "Administratorul semnelor de carte",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, "Url",
+T_NNAME, "Nume",
+T_EXIT_LINKS, "Ieºire links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Chiar vreþi sã ieºiþi din links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Chiar vreþi sã ieºiþi din links (ºi sã terminaþi descãrcãrile)?",
+T_HTTP_OPTIONS, "Opþiuni HTTP",
+T_FTP_OPTIONS, "Opþiuni FTP",
+T_HTTP_BUG_WORKAROUNDS, "HTTP bug workarounds",
+T_USE_HTTP_10, "Foloseºte HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Allow blacklist of buggy servers",
+T_BROKEN_302_REDIRECT, "Broken redirect 302 (it violates RFC, but it's compatible with Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "No keepalive connection after POST request (some buggy PHP databases need it)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Parolã pentru login anonim",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Manualul utilizatorului",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, "Program de e-mail (% este înlocuit cu adresa)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Program de telnet (% este înlocuit cu \"Host\" ori \"Host port\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Program de Tn3270 (% este înlocuit cu \"Host\" ori \"Host port\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Programe de e-mail si telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Nici un program",
+T_NO_PROGRAM_SPECIFIED_FOR, "Program nespecificat pentru",
+T_MAIL, "E-mail",
+T_TELNET, "Telnet",
+T_MAGNET, NULL,
+T_TN3270, "Tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "URL greºit pentru e-mail",
+T_BAD_TELNET_URL, "URL greºit pentru telnet",
+T_BAD_TN3270_URL, "URL greºit pentru tn3270",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "Identificare utilizator",
+T_PASSWORD, "Parola",
+T_ENTER_USERNAME, "Introduceþi numele utilizatorului pentru",
+T_AT, "la ",
+T_SSL_ERROR, "Eroare SSL",
+T_NO_SSL, "Aceastã versiune de links nu conþine suport pentru SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "T",
+T_HK_GO_BACK, "N",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "T",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "V",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "F",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "T",
+T_HK_RESOURCE_INFO, "F",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "I",
+T_HK_SEARCH, "C",
+T_HK_SEARCH_BACK, "P",
+T_HK_FIND_NEXT, "U",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "T",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "S",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "T",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "R",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "D",
+T_HK_KEYS, "T",
+T_HK_COPYING, "L",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "A",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "U",
+T_HK_OPEN_IN_NEW_WINDOW, "N",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "E",
+T_HK_WINDOW, "F",
+T_HK_FULL_SCREEN, "E",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/russian.lng b/intl/russian.lng
new file mode 100644
index 0000000..1d13fce
--- /dev/null
+++ b/intl/russian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "koi8-r",
+T__LANGUAGE, "Russian",
+T__ACCEPT_LANGUAGE, "ru",
+T_OK, "ïë",
+T_CANCEL, "ïÔÍÅÎÁ",
+T_BAD_NUMBER, "îÅ×ÅÒÎÏÅ ÞÉÓÌÏ",
+T_NUMBER_EXPECTED, "÷ ÐÏÌÅ ÄÏÌÖÎÏ ÂÙÔØ ÞÉÓÌÏ",
+T_NUMBER_OUT_OF_RANGE, "þÉÓÌÏ ×ÎÅ ÄÏÐÕÓÔÉÍÏÇÏ ÄÉÁÐÁÚÏÎÁ",
+T_BAD_STRING, "îÅ×ÅÒÎÁÑ ÓÔÒÏËÁ",
+T_EMPTY_STRING_NOT_ALLOWED, "ðÕÓÔÙÅ ÓÔÒÏËÉ ÎÅ ÄÏÐÕÓËÁÀÔÓÑ",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "ïÛÉÂËÁ ÎÁÓÔÒÏÊËÉ",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ × ÆÁÊÌ ÎÁÓÔÒÏÅË",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "ï ÐÒÏÇÒÁÍÍÅ",
+T_LINKS__LYNX_LIKE, "Links ×ÅÒÓÉÉ " VERSION_STRING "\n\n Lynx-ÐÏÄÏÂÎÙÊ ÔÅËÓÔÏ×ÙÊ ×ÅÂ-ÂÒÁÕÚÅÒ",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "ëÌÁ×ÉÛÉ",
+T_KEYS_DESC, "ESC ÍÅÎÀ\n^C, q ×ÙÈÏÄ\n^P, ^N ÐÒÏËÒÕÔËÁ ××ÅÒÈ-×ÎÉÚ\n[, ] ÐÒÏËÒÕÔËÁ ×ÌÅ×Ï-×ÐÒÁ×Ï\nup, down ×ÙÂÏÒ ÓÓÙÌËÉ\n-> ÐÅÒÅÈÏÄ ÐÏ ÓÓÙÌËÅ\n<- ÎÁÚÁÄ\ng ÐÅÒÅÊÔÉ Ë ÎÏ×ÏÍÕ URL\nG ÐÅÒÅÊÔÉ Ë URL, ÏÓÎÏ×ÁÎÎÏÍÕ ÎÁ ÔÅËÕÝÅÍ\n^G ÐÅÒÅÊÔÉ Ë URL, ÏÓÎÏ×ÁÎÎÏÍÕ ÎÁ ÓÓÙÌËÅ\n/ ÐÏÉÓË\n? ÏÂÒÁÔÎÙÊ ÐÏÉÓË\nn ÉÓËÁÔØ ÄÁÌÅÅ\nN ÉÓËÁÔØ ××ÅÒÈ\n= ÉÎÆÏÒÍÁÃÉÑ Ï ÄÏËÕÍÅÎÔÅ\n| ÉÎÆÏÒÍÁÃÉÑ Ï ÚÁÇÏÌÏ×ËÅ\n\\ ÐÏËÁÚÁÔØ ËÏÄ HTML\nd ÚÁËÁÞÁÔØ\n^W Á×ÔÏÄÏÐÏÌÎÅÎÉÅ URL",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "ðÒÁ×Á",
+T_COPYING_DESC, "üÔÁ ÐÒÏÇÒÁÍÍÁ Ñ×ÌÑÅÔÓÑ Ó×ÏÂÏÄÎÙÍ ðï; ×Ù ÍÏÖÅÔÅ ÒÁÓÐÒÏÓÔÒÁÎÑÔØ É/ÉÌÉ ÍÏÄÉÆÉÃÉÒÏ×ÁÔØ Å£ ÓÏÇÌÁÓÎÏ ÌÉÃÅÎÚÉÉ GNU, ËÏÔÏÒÁÑ ÏÐÕÂÌÉËÏ×ÁÎÁ \"æÏÎÄÏÍ Ó×ÏÂÏÄÎÏÇÏ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ\" (FSF); ×ÅÒÓÉÉ 2 ìÉÃÅÎÚÉÉ, ÉÌÉ (ÐÏ ×ÁÛÅÍÕ ÖÅÌÁÎÉÀ) ÂÏÌÅÅ ÐÏÚÄÎÅÊ ×ÅÒÓÉÉ",
+T_RESOURCES, "òÅÓÕÒÓÙ",
+T_CONNECTIONS, "óÏÅÄÉÎÅÎÉÑ(ÉÊ)",
+T_MEMORY_CACHE, "ëÜÛ ÐÁÍÑÔÉ",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "ëÜÛ ÛÒÉÆÔÏ×",
+T_IMAGE_CACHE, "ËÜÛ ÉÚÏÂÒÁÖÅÎÉÊ",
+T_FORMATTED_DOCUMENT_CACHE, "ëÜÛ ÆÏÒÍÁÔÉÒÏ×ÁÎÎÙÈ ÄÏËÕÍÅÎÔÏ×",
+T_DNS_CACHE, NULL,
+T_HANDLES, "ÈÜÎÄÌÏ×",
+T_TIMERS, "ÔÁÊÍÅÒÏ×",
+T_WAITING, NULL,
+T_CONNECTING, "ÓÏÚÄÁ×ÁÅÍÙÈ ÓÏÅÄÉÎÅÎÉÑ(ÉÊ)",
+T_tRANSFERRING, "ÐÅÒÅÄÁÞÁ",
+T_KEEPALIVE, "ÓÏÈÒÁÎÅÎÉÅ ÓÏÅÄÉÎÅÎÉÑ",
+T_BYTES, "ÂÁÊÔ",
+T_LETTERS, "ÓÉÍ×ÏÌÏ×",
+T_FILES, "ÆÁÊÌÏ×",
+T_LOCKED, "ÚÁÂÌÏËÉÒÏ×ÁÎÏ",
+T_LOADING, "ÚÁÇÒÕÖÁÅÔÓÑ",
+T_IMAGES, "ÉÚÏÂÒÁÖÅÎÉÊ",
+T_DOCUMENTS, "ÄÏËÕÍÅÎÔÏ×",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "ÂÁÊÔ ×ÙÄÅÌÅÎÏ",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "éÎÆÏÒÍÁÃÉÑ Ï ÐÁÍÑÔÉ",
+T_NO_HISTORY, "öÕÒÎÁÌ ÐÕÓÔ",
+T_NO_DOWNLOADS, "îÅÔ ÚÁËÁÞÅË",
+T_NO_FRAMES, "îÅÔ ÒÁÍÏË",
+T_VT_100_FRAMES, "òÁÍËÉ VT 100",
+T_LINUX_OR_OS2_FRAMES, "òÁÍËÉ Linux ÉÌÉ OS/2",
+T_KOI8R_FRAMES, "òÁÍËÉ KOI8-R",
+T_FREEBSD_FRAMES, "òÁÍËÉ FreeBSD",
+T_USE_11M, "éÓÐÏÌØÚÏ×ÁÔØ ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "îÅËÏÔÏÒÙÅ ÒÁÍËÉ ÉÚ cp850/852",
+T_BLOCK_CURSOR, "ëÕÒÓÏÒ ÐÒÑÍÏÕÇÏÌØÎÉËÏÍ",
+T_COLOR, "ã×ÅÔ",
+T_BRAILLE_TERMINAL, "ôÅÒÍÉÎÁÌ âÒÁÊÌÑ",
+T_TERMINAL_OPTIONS, "îÁÓÔÒÏÊËÉ ÔÅÒÍÉÎÁÌÁ",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP ÐÒÏËÓÉ (ÓÅÒ×ÅÒ:ÐÏÒÔ)",
+T_FTP_PROXY__HOST_PORT, "FTP ÐÒÏËÓÉ (ÓÅÒ×ÅÒ:ÐÏÒÔ)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "óÐÉÓÏË (ÞÅÒÅÚ ÚÁÐÑÔÕÀ) ÄÏÍÅÎÏ× Ó ÄÏÓÔÕÐÏÍ ÂÅÚ ÐÒÏËÓÉ",
+T_NETWORK_OPTIONS, "îÁÓÔÒÏÊËÉ ÓÅÔÉ",
+T_MAX_CONNECTIONS, "íÁËÓ. ÞÉÓÌÏ ÓÏÅÄÉÎÅÎÉÊ",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "íÁËÓ. ÞÉÓÌÏ ÓÏÅÄÉÎÅÎÉÊ Ë ÏÄÎÏÍÕ ÓÅÒ×ÅÒÕ",
+T_RETRIES, "ðÏÐÙÔÏË",
+T_RECEIVE_TIMEOUT_SEC, "ôÁÊÍÁÕÔ ÎÁ ÐÒÉ£Í (ÓÅË.)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "ôÁÊÍÁÕÔ ÐÒÉ ÏÔÓÕÔÓÔ×ÉÉ ÄÏËÁÞËÉ",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "áÓÉÎÈÒÏÎÎÏÅ ÏÂÒÁÝÅÎÉÅ Ë DNS",
+T_SET_TIME_OF_DOWNLOADED_FILES, "õÓÔÁÎÏ×ËÁ ×ÒÅÍÅÎÉ ÄÌÑ ÚÁËÁÞÁÎÎÙÈ ÆÁÊÌÏ×",
+T_CACHE_OPTIONS, "îÁÓÔÒÏÊËÉ ËÜÛÁ",
+T_MEMORY_CACHE_SIZE__KB, "òÁÚÍÅÒ ËÜÛÁ ÐÁÍÑÔÉ (ëâ)",
+T_IMAGE_CACHE_SIZE__KB, "òÁÚÍÅÒ ËÜÛÁ ÉÚÏÂÒÁÖÅÎÉÊ (ëâ)",
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "þÉÓÌÏ ÆÏÒÍÁÔÉÒÏ×ÁÎÎÙÈ ÄÏËÕÍÅÎÔÏ×",
+T_AGGRESSIVE_CACHE, "áÇÒÅÓÓÉ×ÎÙÊ ËÜÛ",
+T_HTML_OPTIONS, "îÁÓÔÒÏÊËÉ HTML",
+T_DISPLAY_TABLES, "ôÁÂÌÉÃÙ",
+T_DISPLAY_FRAMES, "æÒÅÊÍÙ",
+T_DISPLAY_IMAGES, "éÚÏÂÒÁÖÅÎÉÑ",
+T_DISPLAY_IMAGE_FILENAMES, "éÍÅÎÁ ÆÁÊÌÏ× ÉÚÏÂÒÁÖÅÎÉÊ",
+T_DISPLAY_LINKS_TO_IMAGES, "óÓÙÌËÉ ÎÁ ÉÚÏÂÒÁÖÅÎÉÑ",
+T_LINK_ORDER_BY_COLUMNS, "ä×ÉÇÁÔØÓÑ ÐÏ ÓÔÏÌÂÃÁÍ ÔÁÂÌÉÃ",
+T_NUMBERED_LINKS, "îÕÍÅÒÏ×ÁÔØ ÓÓÙÌËÉ",
+T_AUTO_REFRESH, "á×ÔÏÍÁÔÉÞÅÓËÉÊ REFRESH",
+T_TARGET_IN_NEW_WINDOW, "òÁÚÒÅÛÁÔØ ÏÔËÒÙ×ÁÔØ ÌÉÎËÉ × ÎÏ×ÏÍ ÏËÎÅ (ÔÜÇ target=\"_blank\")",
+T_TEXT_MARGIN, "ïÔÓÔÕÐ",
+T_DEFAULT_CODEPAGE, "ëÏÄÉÒÏ×ËÁ ÐÏ ÕÍÏÌÞÁÎÉÀ",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "éÇÎÏÒÉÒÏ×ÁÔØ ËÏÄÉÒÏ×ËÕ, ÄÁÎÎÕÀ ÓÅÒ×ÅÒÏÍ",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "ðÅÒÅÊÔÉ Ë ÎÏ×ÏÍÕ URL",
+T_GO_BACK, "ðÅÒÅÊÔÉ ÎÁÚÁÄ",
+T_GO_FORWARD, NULL,
+T_HISTORY, "öÕÒÎÁÌ",
+T_RELOAD, "ïÂÎÏ×ÉÔØ",
+T_NEW_WINDOW, "îÏ×ÏÅ ÏËÎÏ",
+T_SAVE_AS, "óÏÈÒÁÎÉÔØ ËÁË",
+T_SAVE_URL_AS, "óÏÈÒÁÎÉÔØ URL ËÁË",
+T_SAVE_FORMATTED_DOCUMENT, "óÏÈÒÁÎÉÔØ ÆÏÒÍÁÔÉÒÏ×ÁÎÎÙÊ ÄÏËÕÍÅÎÔ",
+T_COPY_URL_LOCATION, "óËÏÐÉÒÏ×ÁÔØ ÁÄÒÅÓ URL",
+T_KILL_BACKGROUND_CONNECTIONS, "òÁÚÏÒ×ÁÔØ ÆÏÎÏ×ÙÅ ÓÏÅÄÉÎÅÎÉÑ",
+T_KILL_ALL_CONNECTIONS, "òÁÚÏÒ×ÁÔØ ×ÓÅ ÓÏÅÄÉÎÅÎÉÑ",
+T_FLUSH_ALL_CACHES, "ïÞÉÓÔÉÔØ ×ÓÅ ×ÉÄÙ ËÜÛÁ",
+T_RESOURCE_INFO, "éÎÆÏÒÍÁÃÉÑ Ï ÒÅÓÕÒÓÁÈ",
+T_OS_SHELL, "ëÏÍÁÎÄÎÁÑ ÓÔÒÏËÁ",
+T_EXIT, "÷ÙÈÏÄ",
+T_SEARCH, "ðÏÉÓË",
+T_SEARCH_BACK, "ïÂÒÁÔÎÙÊ ÐÏÉÓË",
+T_FIND_NEXT, "éÓËÁÔØ ÄÁÌÅÅ",
+T_FIND_PREVIOUS, "éÓËÁÔØ ÎÁÚÁÄ",
+T_TOGGLE_HTML_PLAIN, "ðÅÒÅËÌÀÞÉÔØ HTML/ÉÓÈÏÄÎÙÊ ÔÅËÓÔ",
+T_DOCUMENT_INFO, "éÎÆÏÒÍÁÃÉÑ Ï ÄÏËÕÍÅÎÔÅ",
+T_FRAME_AT_FULL_SCREEN, "æÒÅÊÍ ÎÁ ÐÏÌÎÙÊ ÜËÒÁÎ",
+T_SAVE_HTML_OPTIONS, "óÏÈÒÁÎÉÔØ ÎÁÓÔÒÏÊËÉ HTML",
+T_CHARACTER_SET, "ëÏÄÉÒÏ×ËÁ",
+T_CACHE, "ëÜÛ",
+T_MAIL_AND_TELNEL, "ðÏÞÔÁ É telnet",
+T_MAIL_TELNET_AND_SHELL, "ðÏÞÔÁ, telnet É ÏÂÏÌÏÞËÁ shell",
+T_ASSOCIATIONS, "óÏÐÏÓÔÁ×ÌÅÎÉÑ",
+T_FILE_EXTENSIONS, "òÁÓÛÉÒÅÎÉÑ ÆÁÊÌÏ×",
+T_SAVE_OPTIONS, "óÏÈÒÁÎÉÔØ ÎÁÓÔÒÏÊËÉ",
+T_FILE, "æÁÊÌ",
+T_VIEW, "÷ÉÄ",
+T_LINK, "óÓÙÌËÉ",
+T_DOWNLOADS, "úÁËÁÞËÉ",
+T_SETUP, "îÁÓÔÒÏÊËÁ",
+T_HELP, "óÐÒÁ×ËÁ",
+T_ENTER_URL, "÷×ÅÄÉÔÅ URL",
+T_SAVE_URL, "óÏÈÒÁÎÉÔØ URL",
+T_DOWNLOAD, "úÁËÁÞËÁ",
+T_SAVE_TO_FILE, "óÏÈÒÁÎÉÔØ × ÆÁÊÌ",
+T_SEARCH_FOR_TEXT, "ðÏÉÓË ÔÅËÓÔÁ",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "ïÖÉÄÁÎÉÅ × ÏÞÅÒÅÄÉ",
+T_LOOKING_UP_HOST, "ðÏÉÓË ÓÅÒ×ÅÒÁ",
+T_MAKING_CONNECTION, "óÏÅÄÉÎÅÎÉÅ",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "ðÒÏÔÏËÏÌ SSL",
+T_REQUEST_SENT, "úÁÐÒÏÓ ÐÏÓÌÁÎ",
+T_GETTING_HEADERS, "ðÏÌÕÞÅÎÉÅ ÚÁÇÏÌÏ×ËÏ×",
+T_LOGGING_IN, "òÅÇÉÓÔÒÁÃÉÑ",
+T_SERVER_IS_PROCESSING_REQUEST, "óÅÒ×ÅÒ ÏÂÒÁÂÁÔÙ×ÁÅÔ ÚÁÐÒÏÓ",
+T_TRANSFERRING, "ðÅÒÅÓÙÌËÁ",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "ïÖÉÄÁÎÉÅ ÐÏÄÔ×ÅÒÖÄÅÎÉÑ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ",
+T_INTERRUPTED, "ðÒÅÒ×ÁÎÏ",
+T_SOCKET_EXCEPTION, "éÓËÌÀÞÅÎÉÅ × ÓÏËÅÔÅ",
+T_INTERNAL_ERROR, "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ",
+T_OUT_OF_MEMORY, "íÁÌÏ ÐÁÍÑÔÉ",
+T_HOST_NOT_FOUND, "óÅÒ×ÅÒ ÎÅ ÎÁÊÄÅÎ",
+T_ERROR_WRITING_TO_SOCKET, "ïÛÉÂËÁ ÚÁÐÉÓÉ × ÓÏËÅÔ",
+T_ERROR_READING_FROM_SOCKET, "ïÛÉÂËÁ ÞÔÅÎÉÑ ÉÚ ÓÏËÅÔÁ",
+T_DATA_MODIFIED, "äÁÔÁ ÉÚÍÅÎÅÎÁ",
+T_BAD_URL_SYNTAX, "îÅ×ÅÒÎÙÊ ÓÉÎÔÁËÓÉÓ URL",
+T_RECEIVE_TIMEOUT, "ôÁÊÍÁÕÔ ÐÒÉ ÞÔÅÎÉÉ",
+T_REQUEST_MUST_BE_RESTARTED, "úÁÐÒÏÓ ÄÏÌÖÅÎ ÂÙÔØ ÐÏ×ÔÏÒ£Î",
+T_CANT_GET_SOCKET_STATE, "îÅÌØÚÑ ÐÏÌÕÞÉÔØ ÓÏÓÔÏÑÎÉÅ ÓÏËÅÔÁ",
+T_CYCLIC_REDIRECT, "ãÉËÌÉÞÅÓËÏÅ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÅ",
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "îÅ×ÅÒÎÙÊ ÏÔ×ÅÔ HTTP",
+T_HTTP_100, NULL,
+T_NO_CONTENT, "îÅÔ ÄÁÎÎÙÈ",
+T_UNKNOWN_FILE_TYPE, "îÅÉÚ×ÅÓÔÎÙÊ ÔÉÐ ÆÁÊÌÁ",
+T_ERROR_OPENING_FILE, "ïÛÉÂËÁ ÏÔËÒÙÔÉÑ ÆÁÊÌÁ",
+T_BAD_FTP_RESPONSE, "îÅ×ÅÒÎÙÊ ÏÔ×ÅÔ HTTP",
+T_FTP_SERVICE_UNAVAILABLE, "óÅÒ×ÉÓ FTP ÎÅÄÏÓÔÕÐÅÎ",
+T_BAD_FTP_LOGIN, "îÅ×ÅÒÎÙÊ FTP login",
+T_FTP_PORT_COMMAND_FAILED, "ëÏÍÁÎÄÁ FTP PORT ÚÁËÏÎÞÉÌÁÓØ ÎÅÕÄÁÞÎÏ",
+T_FILE_NOT_FOUND, "æÁÊÌ ÎÅ ÎÁÊÄÅÎ",
+T_FTP_FILE_ERROR, "ïÛÉÂËÁ ÆÁÊÌÁ ÎÁ FTP",
+T_UNKNOWN_ERROR, "îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ",
+T_RECEIVED, "ðÒÉÎÑÔÏ",
+T_OF, "ÉÚ",
+T_AVG, "× ÓÒÅÄÎÅÍ",
+T_CUR, "ÔÅËÕÝÁÑ",
+T_AVERAGE_SPEED, "óÒÅÄÎÑÑ ÓËÏÒÏÓÔØ",
+T_SPEED, "óËÏÒÏÓÔØ",
+T_CURRENT_SPEED, "ÔÅËÕÝÁÑ ÓËÏÒÏÓÔØ",
+T_ELAPSED_TIME, "úÁÔÒÁÞÅÎÎÏÅ ×ÒÅÍÑ",
+T_ESTIMATED_TIME, "ïÖÉÄÁÅÍÏÅ ×ÒÅÍÑ",
+T_BACKGROUND, "÷ ÆÏÎÅ",
+T_ABORT, "ðÒÅÒ×ÁÔØ",
+T_ABORT_AND_DELETE_FILE, "ðÒÅÒ×ÁÔØ É ÓÔÅÒÅÔØ ÆÁÊÌ",
+T_YES, "äÁ",
+T_NO, "îÅÔ",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, "ôÁËÏÊ ÆÁÊÌ ÕÖÅ ÉÍÅÅÔÓÑ",
+T_ALREADY_EXISTS_AS_DOWNLOAD, "ÕÖÅ ÚÁËÁÞÉ×ÁÅÔÓÑ",
+T_ALREADY_EXISTS, "ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ",
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, "öÅÌÁÅÔÅ ÚÁÐÉÓÁÔØ ÐÏ×ÅÒÈ ÆÁÊÌÁ?",
+T_CONTINUE, NULL,
+T_OVERWRITE, "ðÏ×ÅÒÈ",
+T_RENAME, "ðÅÒÅÉÍÅÎÏ×ÁÔØ",
+T_DOWNLOAD_ERROR, "ïÛÉÂËÁ ÚÁËÁÞËÉ",
+T_COULD_NOT_WRITE_TO_FILE, "îÅ×ÏÚÍÏÖÎÏ ÐÉÓÁÔØ × ÆÁÊÌ",
+T_ERROR_DOWNLOADING, "ïÛÉÂËÁ ÚÁËÁÞÉ×ÁÎÉÑ",
+T_ERROR_LOADING, "ïÛÉÂËÁ ÏÔËÒÙÔÉÑ",
+T_COULD_NOT_CREATE_FILE, "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÆÁÊÌ",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "îÅÉÚ×ÅÓÔÎÙÊ ÔÉÐ",
+T_CONTENT_TYPE_IS, "ôÉÐ ÄÏËÕÍÅÎÔÁ",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "öÅÌÁÅÔÅ ÆÁÊÌ ÏÔËÒÙÔØ, ÓÏÈÒÁÎÉÔØ ÉÌÉ ÏÔÏÂÒÁÚÉÔØ ÎÁ ÜËÒÁÎÅ?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "öÅÌÁÅÔÅ ÆÁÊÌ ÏÔËÒÙÔØ ÉÌÉ ÏÔÏÂÒÁÚÉÔØ ÎÁ ÜËÒÁÎÅ?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "öÅÌÁÅÔÅ ÆÁÊÌ ÓÏÈÒÁÎÉÔØ ÉÌÉ ÏÔÏÂÒÁÚÉÔØ ÎÁ ÜËÒÁÎÅ?",
+T_SAVE, "óÏÈÒÁÎÉÔØ",
+T_DISPLAY, "ïÔÏÂÒÁÚÉÔØ",
+T_WHAT_TO_DO, "þÔÏ ÄÅÌÁÔØ?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "öÅÌÁÅÔÅ ÏÔËÒÙÔØ ÆÁÊÌ Ó ÐÏÍÏÝØÀ",
+T_SAVE_IT_OR_DISPLAY_IT, "ÓÏÈÒÁÎÉÔØ ÉÌÉ ÏÔÏÂÒÁÚÉÔØ ÅÇÏ?",
+T_OPEN, "ïÔËÒÙÔØ",
+T_OPEN_WITH, "ïÔËÒÙÔØ Ó ÐÏÍÏÝØÀ",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "öÅÌÁÅÔÅ ÐÏÓÌÅÄÏ×ÁÔØ ÐÅÒÅÁÄÒÅÓÁÃÉÉ É ÏÔÐÒÁ×ÉÔØ ÄÁÎÎÙÅ ÆÏÒÍÙ ÐÏ ÁÄÒÅÓÕ",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "öÅÌÁÅÔÅ ÏÔÐÒÁ×ÉÔØ ÄÁÎÎÙÅ ÆÏÒÍÙ ÐÏ ÁÄÒÅÓÕ",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "öÅÌÁÅÔÅ ÓÎÏ×Á ÏÔÐÒÁ×ÉÔØ ÄÁÎÎÙÅ ÆÏÒÍÙ ÐÏ ÁÄÒÅÓÕ",
+T_WARNING, "÷ÎÉÍÁÎÉÅ",
+T_ERROR, "ïÛÉÂËÁ",
+T_WELCOME, "úÄÒÁ×ÓÔ×ÕÊÔÅ",
+T_WELCOME_TO_LINKS, "äÏÂÒÏ ÐÏÖÁÌÏ×ÁÔØ × Links!",
+T_BASIC_HELP, "îÁÖÍÉÔÅ ESC ÄÌÑ ×ÙÚÏ×Á ÍÅÎÀ. ðÒÏÞÔÉÔÅ ÒÕËÏ×ÏÄÓÔ×Ï ÐÏÌØÚÏ×ÁÔÅÌÑ, ×ÙÂÒÁ× × ÍÅÎÀ 'ðÏÍÏÝØ->òÕËÏ×ÏÄÓÔ×Ï'",
+T_LABEL, "íÅÔËÁ",
+T_CONTENT_TYPES, "ôÉÐ(Ù) ÓÏÄÅÒÖÉÍÏÇÏ",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "ðÒÏÇÒÁÍÍÁ ('%' ÚÁÍÅÎÑÅÔÓÑ ÎÁ ÉÍÑ ÆÁÊÌÁ)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "âÌÏËÉÒÏ×ÁÔØ ÔÅÒÍÉÎÁÌ ÎÁ ×ÒÅÍÑ ÒÁÂÏÔÙ ÐÒÏÇÒÁÍÍÙ",
+T_RUN_ON_TERMINAL, "úÁÐÕÓÔÉÔØ ÎÁ ÔÅÒÍÉÎÁÌÅ",
+T_RUN_IN_XWINDOW, "úÁÐÕÓÔÉÔØ × X-Window",
+T_ASK_BEFORE_OPENING, "úÁÐÒÏÓ ÐÅÒÅÄ ÏÔËÒÙÔÉÅÍ",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "õÄÁÌÉÔØ ÓÏÐÏÓÔÁ×ÌÅÎÉÅ",
+T_ASSOCIATION, "óÏÐÏÓÔÁ×ÌÅÎÉÅ",
+T_EXTENSION_S, "òÁÓÛÉÒÅÎÉÑ",
+T_CONTENT_TYPE, "ôÉÐ ÓÏÄÅÒÖÉÍÏÇÏ",
+T_DELETE_EXTENSION, "õÄÁÌÉÔØ ÒÁÓÛÉÒÅÎÉÅ",
+T_EXTENSION, "òÁÓÛÉÒÅÎÉÅ",
+T_eXTENSION, "ÒÁÓÛÉÒÅÎÉÅ",
+T_ERROR_WHILE_POSTING_FORM, "ïÛÉÂËÁ ÐÒÉ ÏÔÐÒÁ×ËÅ ÆÏÒÍÙ",
+T_COULD_NOT_GET_FILE, "îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÆÁÊÌ",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "òÁÎÅÅ ÐÏÉÓËÁ ÎÅ ÂÙÌÏ",
+T_SEARCH_STRING_NOT_FOUND, "éÓËÏÍÁÑ ÓÔÒÏËÁ ÎÅ ÎÁÊÄÅÎÁ",
+T_SAVE_ERROR, "ïÛÉÂËÁ ÓÏÈÒÁÎÅÎÉÑ",
+T_ERROR_WRITING_TO_FILE, "ïÛÉÂËÁ ÚÁÐÉÓÉ × ÆÁÊÌ",
+T_DISPLAY_USEMAP, "ïÔÏÂÒÁÚÉÔØ ËÁÒÔÕ",
+T_FOLLOW_LINK, "óÌÅÄÏ×ÁÔØ ÓÓÙÌËÅ",
+T_OPEN_IN_NEW_WINDOW, "ïÔËÒÙÔØ × ÎÏ×ÏÍ ÏËÎÅ",
+T_DOWNLOAD_LINK, "óËÁÞÁÔØ ÐÏ ÓÓÙÌËÅ",
+T_RESET_FORM, "ïÞÉÓÔËÁ ÆÏÒÍÙ",
+T_SUBMIT_FORM, "ðÏÓÌÁÔØ ÆÏÒÍÕ",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "ðÏÓÌÁÔØ ÆÏÒÍÕ É ÏÔËÒÙÔØ × ÎÏ×ÏÍ ÏËÎÅ",
+T_SUBMIT_FORM_AND_DOWNLOAD, "ðÏÓÌÁÔØ ÆÏÒÍÕ É ÓËÁÞÁÔØ",
+T_VIEW_IMAGE, "ðÒÏÓÍÏÔÒÅÔØ ÉÚÏÂÒÁÖÅÎÉÅ",
+T_DOWNLOAD_IMAGE, "óËÁÞÁÔØ ÉÚÏÂÒÁÖÅÎÉÅ",
+T_NO_LINK_SELECTED, "îÅÔ ×ÙÂÒÁÎÎÙÈ ÓÓÙÌÏË",
+T_IMAGE, "òÉÓÕÎÏË",
+T_USEMAP, "ëÁÒÔÁ ÓÓÙÌÏË",
+T_XTERM, NULL,
+T_TWTERM, NULL,
+T_SCREEN, "üËÒÁÎ SCREEN",
+T_WINDOW, "ïËÎÏ",
+T_FULL_SCREEN, "îÁ ×ÅÓØ ÜËÒÁÎ",
+T_BEOS_TERMINAL, "ôÅÒÍÉÎÁÌ BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "ðÅÒÅÄÁÞÁ ÆÏÒÍÙ ÐÏ ÁÄÒÅÓÕ",
+T_POST_FORM_TO, "ïÔÐÒÁ×ËÁ ÆÏÒÍÙ ÐÏ ÁÄÒÅÓÕ",
+T_RADIO_BUTTON, "òÁÄÉÏ-ËÎÏÐËÁ",
+T_CHECKBOX, "ïÔÍÅÔËÁ",
+T_SELECT_FIELD, "÷ÙÂÅÒÉÔÅ ÐÏÌÅ",
+T_TEXT_FIELD, "ôÅËÓÔÏ×ÏÅ ÐÏÌÅ",
+T_TEXT_AREA, "ôÅËÓÔÏ×ÏÅ ÐÏÌÅ",
+T_FILE_UPLOAD, "÷ÙÇÒÕÚËÁ ÆÁÊÌÁ",
+T_PASSWORD_FIELD, "ðÏÌÅ ÐÁÒÏÌÑ",
+T_BUTTON, "ëÎÏÐËÁ",
+T_NAME, "ÍÅÔËÁ",
+T_VALUE, "ÚÎÁÞÅÎÉÅ",
+T_HIT_ENTER_TO, "ÎÁÖÍÉÔÅ ENTER, ÞÔÏÂÙ",
+T_SUBMIT_TO, "ÐÅÒÅÄÁÔØ ÐÏ ÁÄÒÅÓÕ",
+T_POST_TO, "ÏÔÐÒÁ×ÉÔØ ÐÏ ÁÄÒÅÓÕ",
+T_INFO, "éÎÆÏÒÍÁÃÉÑ",
+T_HEADER_INFO, "éÎÆÏ Ï ÚÁÇÏÌÏ×ËÅ",
+T_YOU_ARE_NOWHERE, "÷Ù ÎÅ ÎÁÈÏÄÉÔÅÓØ ÎÉ ÎÁ ÏÄÎÏÍ ÓÁÊÔÅ!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "òÁÚÍÅÒ",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "ÎÅ ÐÏÌÎÏÓÔØÀ",
+T_CODEPAGE, "ëÏÄÏ×ÁÑ ÓÔÒÁÎÉÃÁ",
+T_ASSUMED, "ÐÒÉÎÑÔÏ",
+T_IGNORING_SERVER_SETTING, "ÉÇÎÏÒÉÒÏ×ÁÔØ ÎÁÓÔÒÏÊËÉ ÓÅÒ×ÅÒÁ",
+T_SERVER, "óÅÒ×ÅÒ",
+T_DATE, "äÁÔÁ",
+T_LAST_MODIFIED, "ðÏÓÌÅÄÎÑÑ ÍÏÄÉÆÉËÁÃÉÑ",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "ñÚÙË",
+T_GO_TO_LINK, "ðÏÊÔÉ ÐÏ ÓÓÙÌËÅ",
+T_ENTER_LINK_NUMBER, "÷×ÅÄÉÔÅ ÎÏÍÅÒ ÓÓÙÌËÉ",
+T_RESIZE_TERMINAL, "éÚÍÅÎÉÔØ ÒÁÚÍÅÒÙ ÔÅÒÍÉÎÁÌÁ",
+T_COLUMNS, "óÔÏÌÂÃÏ×",
+T_ROWS, "óÔÒÏË",
+T_GOTO, "ðÏÊÔÉ",
+T_CLOSE, "úÁËÒÙÔØ",
+T_FOLDER, "ðÁÐËÁ",
+T_fOLDER, "ÐÁÐËÕ",
+T_ADD, "äÏÂÁ×ÉÔØ",
+T_DELETE, "õÄÁÌÉÔØ",
+T_EDIT, "òÅÄÁËÔÉÒÏ×ÁÔØ",
+T_MOVE, "ðÅÒÅÍÅÓÔÉÔØ",
+T_NO_ITEMS_SELECTED, "îÉÞÅÇÏ ÎÅ ×ÙÂÒÁÎÏ",
+T_UNSELECT_ALL, "ïÔÍÅÎÉÔØ ×ÙÄÅÌÅÎÉÅ",
+T_BOOKMARKS, "úÁËÌÁÄËÉ",
+T_BOOKMARK, "ÚÁËÌÁÄËÕ",
+T_ADD_BOOKMARK, "äÏÂÁ×ÉÔØ ÚÁËÌÁÄËÕ",
+T_ADD_ASSOCIATION, "äÏÂÁ×ÉÔØ ÓÏÐÏÓÔÁ×ÌÅÎÉÅ",
+T_ADD_EXTENSION, "äÏÂÁ×ÉÔØ ÒÁÓÛÉÒÅÎÉÅ",
+T_ADD_FOLDER, "äÏÂÁ×ÉÔØ ÐÁÐËÕ",
+T_BOOKMARK_TITLE, "îÁÚ×ÁÎÉÅ ÚÁËÌÁÄËÉ",
+T_EDIT_BOOKMARK, "òÅÄÁËÔÉÒÏ×ÁÔØ ÚÁËÌÁÄËÕ",
+T_EDIT_ASSOCIATION, "òÅÄÁËÔÉÒÏ×ÁÔØ ÓÏÐÏÓÔÁ×ÌÅÎÉÅ",
+T_EDIT_EXTENSION, "òÅÄÁËÔÉÒÏ×ÁÔØ ÒÁÓÛÉÒÅÎÉÅ",
+T_DELETE_BOOKMARK, "õÄÁÌÉÔØ ÚÁËÌÁÄËÕ",
+T_EDIT_FOLDER, "òÅÄÁËÔÉÒÏ×ÁÔØ ÐÁÐËÕ",
+T_DELETE_FOLDER, "õÄÁÌÉÔØ ÐÁÐËÕ",
+T_NOT_EMPTY_SURE_DELETE, "ÎÅ ÐÕÓÔ(Á). öÅÌÁÅÔÅ ÕÄÁÌÉÔØ?",
+T_BOOKMARK_MANAGER, "òÁÂÏÔÁ Ó ÚÁËÌÁÄËÁÍÉ",
+T_ASSOCIATIONS_MANAGER, "òÁÂÏÔÁ Ó ÓÏÐÏÓÔÁ×ÌÅÎÉÑÍÉ",
+T_EXTENSIONS_MANAGER, "òÁÂÏÔÁ Ó ÒÁÓÛÉÒÅÎÉÑÍÉ",
+T_url, "URL",
+T_NNAME, "éÍÑ",
+T_EXIT_LINKS, "÷ÙÈÏÄ ÉÚ Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ÚÁËÒÙÔØ ÏËÎÏ?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ÚÁ×ÅÒÛÉÔØ ÒÁÂÏÔÕ Ó Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ÚÁ×ÅÒÛÉÔØ ÒÁÂÏÔÕ Ó Links É ÐÒÅÒ×ÁÔØ ×ÓÅ ÚÁËÁÞËÉ?",
+T_HTTP_OPTIONS, "îÁÓÔÒÏÊËÉ HTTP",
+T_FTP_OPTIONS, "îÁÓÔÒÏÊËÉ FTP",
+T_HTTP_BUG_WORKAROUNDS, "éÚÂÅÇÁÔØ ÏÛÉÂÏË × HTTP",
+T_USE_HTTP_10, "éÓÐÏÌØÚÏ×ÁÔØ HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "ðÏÍÅÝÁÔØ ÎÅÏÔÌÁÖÅÎÎÙÅ ÓÅÒ×ÅÒÙ × Þ£ÒÎÙÊ ÓÐÉÓÏË",
+T_BROKEN_302_REDIRECT, "òÁÚÒÅÛÉÔØ ÎÅÐÒÁ×ÉÌØÎÕÀ 302-ÐÅÒÅÁÄÒÅÓÏ×ËÕ (ÜÔÏ ÎÅ ÏÔ×ÅÞÁÅÔ RFC, ÈÏÔÑ É ÓÏ×ÍÅÓÔÉÍÏ Ó Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "îÅ ÐÏÄÄÅÒÖÉ×ÁÔØ keepalive ÐÏÓÌÅ ÚÁÐÒÏÓÁ POST (ÎÕÖÎÏ ÄÌÑ ÎÅËÏÔÏÒÙÈ ÎÅÏÔÌÁÖÅÎÎÙÈ PHP-ÂÁÚ ÄÁÎÎÙÈ)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, "îÅ ÐÏÓÙÌÁÔØ ACCEPT_CHARSET",
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "ðÏÓÙÌÁÔØ ÐÕÓÔÏÊ REFERER",
+T_REFERER_SAME_URL, "ðÏÓÙÌÁÔØ ÔÏÔ ÖÅ ÚÁÐÒÁÛÉ×ÁÅÍÙÊ ÁÄÒÅÓ ËÁË REFERER",
+T_REFERER_FAKE, "ðÏÓÙÌÁÔØ ÕËÁÚÁÎÎÙÊ ÎÉÖÅ REFERER",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "ðÏÓÙÌÁÔØ ÎÁÓÔÏÑÝÉÊ REFERER (ÎÅÂÅÚÏÐÁÓÎÏ!)",
+T_FAKE_REFERER, "õËÁÚÁÎÎÙÊ REFERER ÄÌÑ ÐÏÓÙÌËÉ:",
+T_FAKE_USERAGENT, "ðÏÄÍÅÎÑÔØ USER-AGENT ÎÁ:",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "ðÁÒÏÌØ ÄÌÑ ÁÎÏÎÉÍÎÏÇÏ ×ÈÏÄÁ:",
+T_USE_PASSIVE_FTP, "éÓÐÏÌØÚÏ×ÁÔØ PASSIVE FTP",
+T_USE_FAST_FTP, "õÓËÏÒÅÎÎÙÊ FTP (ÎÅÓÏ×ÍÅÓÔÉÍ Ó RFC)",
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "òÕËÏ×ÏÄÓÔ×Ï",
+T_HOMEPAGE, "äÏÍÁÛÎÑÑ ÓÔÒÁÎÉÞËÁ",
+T_CALIBRATION, "ëÁÌÉÂÒÁÃÉÑ",
+T_MAILTO_PROG, "ðÒÏÇÒÁÍÍÁ ÏÔÐÒÁ×ËÉ ÐÏÞÔÙ (% ÚÁÍÅÎÑÅÔÓÑ ÎÁ ÁÄÒÅÓ)",
+T_SHELL_PROG, "ïÂÏÌÏÞËÁ (shell) ÄÌÑ ×ÎÅÛÎÉÈ ËÏÍÁÎÄ (% ÚÁÍÅÎÑÅÔÓÑ ËÏÍÁÎÄÏÊ)",
+T_TELNET_PROG, "ðÒÏÇÒÁÍÍÁ telnet (% ÚÁÍÅÎÑÅÔÓÑ ÎÁ 'host' ÉÌÉ 'host port')",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "ðÒÏÇÒÁÍÍÁ tn3270 (% ÚÁÍÅÎÑÅÔÓÑ ÎÁ 'host' ÉÌÉ 'host port')",
+T_MMS_PROG, "ðÒÏÇÒÁÍÍÁ ÄÌÑ MMS-ÐÒÏÔÏËÏÌÁ (% ÚÁÍÅÎÑÅÔÓÑ ÎÁ URL)",
+T_MAIL_AND_TELNET_PROGRAMS, "ðÒÏÇÒÁÍÍÙ ÄÌÑ ÐÏÞÔÙ É telnet'Á",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, "ðÒÏÇÒÁÍÍÙ ÐÏÞÔÙ, telnet É ÏÂÏÌÏÞËÉ",
+T_NO_PROGRAM, "îÅÔ ÐÒÏÇÒÁÍÍÙ",
+T_NO_PROGRAM_SPECIFIED_FOR, "îÅ ÕËÁÚÁÎÁ ÐÒÏÇÒÁÍÍÁ ÄÌÑ",
+T_MAIL, "ÐÏÞÔÙ",
+T_TELNET, NULL,
+T_MAGNET, NULL,
+T_TN3270, NULL,
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "îÅ×ÅÒÎÙÊ ÁÄÒÅÓ mailto:",
+T_BAD_TELNET_URL, "îÅ×ÅÒÎÙÊ ÁÄÒÅÓ telnet",
+T_BAD_TN3270_URL, "îÅ×ÅÒÎÙÊ ÁÄÒÅÓ tn3270",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "áÄÒÅÓ MMS ÓÏÄÅÒÖÉÔ ÎÅÄÏÐÕÓÔÉÍÙÅ ÓÉÍ×ÏÌÙ",
+T_AUTHORIZATION_REQUIRED, "îÅÏÂÈÏÄÉÍÁ Á×ÔÏÒÉÚÁÃÉÑ",
+T_PROXY_AUTHORIZATION_REQUIRED, "îÅÏÂÈÏÄÉÍÁ Á×ÔÏÒÉÚÁÃÉÑ ÐÒÏËÓÉ",
+T_USERID, "éÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ",
+T_PASSWORD, "ðÁÒÏÌØ",
+T_ENTER_USERNAME, "÷×ÅÄÉÔÅ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ",
+T_AT, "ÎÁ ",
+T_SSL_ERROR, "ïÛÉÂËÁ SSL",
+T_NO_SSL, "üÔÁ ×ÅÒÓÉÑ Links ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "÷Ù ÔÏÞÎÏ ÈÏÔÉÔÅ ÕÄÁÌÉÔØ",
+T_BOOKMARKS_ALREADY_IN_USE, "úÁËÌÁÄËÉ ÕÖÅ ÒÅÄÁËÔÉÒÕÀÔÓÑ!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "óÏÐÏÓÔÁ×ÌÅÎÉÑ ÕÖÅ ÒÅÄÁËÔÉÒÕÀÔÓÑ!",
+T_EXTENSIONS_ALREADY_IN_USE, "òÁÓÛÉÒÅÎÉÑ ÕÖÅ ÒÅÄÁËÔÉÒÕÀÔÓÑ!",
+T_VIDEO_OPTIONS, "îÁÓÔÒÏÊËÉ ÜËÒÁÎÁ",
+T_VIDEO_OPTIONS_TEXT, "òÅËÏÍÅÎÄÕÅÍÙÅ ÚÎÁÞÅÎÉÑ ÐÁÒÁÍÅÔÒÁ User gamma:\n 1.33 × ÔÅÍÎÏÔÅ, 1.11 - ÐÒÉ ÓÌÁÂÏÍ ÏÓ×ÅÝÅÎÉÉ, 1 - ÐÒÉ ÏÂÙÞÎÏÍ, 0.88 - ÐÒÉ ÑÒËÏÍ Ó×ÅÔÅ",
+T_RED_DISPLAY_GAMMA, "Gamma ÄÌÑ ËÒÁÓÎÏÇÏ",
+T_GREEN_DISPLAY_GAMMA, "Gamma ÄÌÑ ÚÅÌÅÎÏÇÏ",
+T_BLUE_DISPLAY_GAMMA, "Gamma ÄÌÑ ÓÉÎÅÇÏ",
+T_USER_GAMMA, NULL,
+T_ALERT, "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ",
+T_QUESTION, "÷ÏÐÒÏÓ",
+T_KILL_SCRIPT, "ðÒÅÒ×ÁÔØ ÓËÒÉÐÔ",
+T_KILL_ALL_SCRIPTS, "ðÒÅÒÙ×ÁÔØ ×ÓÅ ÓËÒÉÐÔÙ",
+T_SCRIPT_KILLED_BY_USER, "óËÒÉÐÔ ÐÒÅÒ×ÁÎ ÐÏÌØÚÏ×ÁÔÅÌÅÍ",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "óËÒÉÐÔ ÐÙÔÁÅÔÓÑ ÚÁËÒÙÔØ ÏËÎÏ ÂÒÁÕÚÅÒÁ - ÒÁÚÒÅÛÉÔØ?",
+T_ENTER_STRING, "÷×ÅÄÉÔÅ ÓÔÒÏËÕ",
+T_JAVASCRIPT_OPTIONS, "îÁÓÔÒÏÊËÉ JavaScript",
+T_ENABLE_JAVASCRIPT, "÷ËÌÀÞÉÔØ JavaScript",
+T_VERBOSE_JS_ERRORS, "óÏÏÂÝÁÔØ ÏÂ ÏÛÉÂËÁÈ",
+T_VERBOSE_JS_WARNINGS, "÷ÙÄÁ×ÁÔØ ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ",
+T_MISCELANEOUS_OPTIONS, "ðÒÏÞÉÅ ÎÁÓÔÒÏÊËÉ",
+T_JAVASCRIPT_ERROR, "ïÛÉÂËÁ JavaScript",
+T_JAVASCRIPT_WARNING, "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ JavaScript",
+T_DISMISS, "ïÔËÌÏÎÉÔØ",
+T_MENU_FONT_SIZE, "òÁÚÍÅÒ ÛÒÉÆÔÁ ÍÅÎÀ",
+T_USER_FONT_SIZE, "òÁÚÍÅÒ ÛÒÉÆÔÁ",
+T_TURN_OFF_WARNINGS, "ïÔËÌÀÞÉÔØ ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ",
+T_BOOKMARKS_ENCODING, "ëÏÄÉÒÏ×ËÁ ÄÌÑ ÚÁËÌÁÄÏË",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "óËÒÉÐÔ ÐÙÔÁÅÔÓÑ ÏÔËÒÙÔØ URL",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "óËÒÉÐÔ ÐÙÔÁÅÔÓÑ ÏÔËÒÙÔØ URL × ÎÏ×ÏÍ ÏËÎÅ",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "óËÒÉÐÔ ÐÙÔÁÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÖÕÒÎÁÌ",
+T_TO_URL, "ÐÏ ÓÓÙÌËÅ",
+T_GOTO_HISTORY, "ÐÅÒÅÊÔÉ Ë ÖÕÒÎÁÌÕ",
+T_ALLOW, "òÁÚÒÅÛÉÔØ",
+T_REJECT, "úÁÐÒÅÔÉÔØ",
+T_ENABLE_ALL_CONVERSIONS, "òÁÚÒÅÛÉÔØ ×ÓÅ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "òÁÚÒÅÛÉÔØ ÇÌÏÂÁÌØÎÏÅ ÒÁÓÐÏÚÎÁ×ÁÎÉÅ ÉÍÅÎ",
+T_MANUAL_JS_CONTROL, "òÕÞÎÏÅ ÕÐÒÁ×ÌÅÎÉÅ Javascript",
+T_JS_RECURSION_DEPTH, "çÌÕÂÉÎÁ ÒÅËÕÒÓÉÉ",
+T_MENU_BACKGROUND_COLOR, "ã×ÅÔ ÆÏÎÁ ÍÅÎÀ",
+T_MENU_FOREGROUND_COLOR, "ã×ÅÔ ÔÅËÓÔÁ × ÍÅÎÀ",
+T_SCROLL_BAR_BAR_COLOR, "ã×ÅÔ ÐÏÌÚÕÎËÁ ÐÏÌÏÓÙ ÐÒÏËÒÕÔËÉ",
+T_SCROLL_BAR_AREA_COLOR, "ã×ÅÔ ÐÏÌÏÓÙ ÐÒÏËÒÕÔËÉ",
+T_SCROLL_BAR_FRAME_COLOR, "ã×ÅÔ ÒÁÍËÉ ÐÏÌÏÓÙ ÐÒÏËÒÕÔËÉ",
+T_BOOKMARKS_FILE, "æÁÊÌ ÚÁËÌÁÄÏË",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "÷×ÅÄÉÔÅ Ã×ÅÔÁ × ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÏÍ ÆÏÒÍÁÔÅ RRGGBB",
+T_JS_MEMORY_LIMIT_KB, "ìÉÍÉÔ ÐÁÍÑÔÉ ÄÌÑ JavaScript (ëâ)",
+T_DITHER_LETTERS, "óÇÌÁÖÉ×ÁÔØ ÛÒÉÆÔÙ",
+T_DITHER_IMAGES, "óÇÌÁÖÉ×ÁÔØ ËÁÒÔÉÎËÉ",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "íÁÓÛÔÁ ÉÚÏÂÒÁÖÅÎÉÊ",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, "ïÐÔÉÍÉÚÁÃÉÑ ÄÌÑ CRT-ÍÏÎÉÔÏÒÁ",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "ïÐÔÉÍÉÚÁÃÉÑ ÄÌÑ RGB LCD",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "ïÐÔÉÍÉÚÁÃÉÑ ÄÌÑ BGR LCD",
+T_ASPECT_RATIO, "ëÏÜÆÆÉÃÉÅÎÔ ÓÖÁÔÉÑ",
+T_ASPECT_CORRECTION_ON, "÷ËÌÀÞÉÔØ ËÏÒÒÅËÃÉÀ ÓÖÁÔÉÑ",
+T_KEYBOARD_CODEPAGE, "ëÏÄÉÒÏ×ËÁ ËÌÁ×ÉÁÔÕÒÙ",
+T_COPY_LINK_LOCATION, "óËÏÐÉÒÏ×ÁÔØ ÁÄÒÅÓ ÓÓÙÌËÉ",
+T_BLOCK_URL, "âÌÏËÉÒÏ×ÁÔØ ÉÚÏÂÒÁÖÅÎÉÅ ÐÏ URL",
+T_BLOCK_LIST, "úÁÂÌÏËÉÒÏ×ÁÎÎÙÅ ÉÚÏÂÒÁÖÅÎÉÑ",
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, "óÐÉÓÏË ÚÁÂÌÏËÉÒÏ×ÁÎÎÙÈ ÉÚÏÂÒÁÖÅÎÉÊ ÕÖÅ × ÒÁÂÏÔÅ",
+T_BLOCK_LIST_MANAGER, "òÅÄÁËÔÏÒ ÓÐÉÓËÁ ÚÁÂÌÏËÉÒÏ×ÁÎÎÙÈ ÉÚÏÂÒÁÖÅÎÉÊ",
+T_BLOCK_ADD, "äÏÂÁ×ÉÔØ URL-ÁÄÒÅÓ ÉÚÏÂÒÁÖÅÎÉÑ × ÓÐÉÓÏË",
+T_BLOCK_EDIT, "òÅÄÁËÔÉÒÏ×ÁÔØ URL-ÁÄÒÅÓ ÉÚÏÂÒÁÖÅÎÉÑ",
+T_BLOCK_DELETE, "õÄÁÌÉÔØ",
+T_HK_GOTO_URL, NULL,
+T_HK_GO_BACK, NULL,
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, NULL,
+T_HK_RELOAD, NULL,
+T_HK_BOOKMARKS, NULL,
+T_HK_NEW_WINDOW, NULL,
+T_HK_SAVE_AS, NULL,
+T_HK_SAVE_URL_AS, NULL,
+T_HK_SAVE_FORMATTED_DOCUMENT, NULL,
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, NULL,
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, NULL,
+T_HK_RESOURCE_INFO, NULL,
+T_HK_MEMORY_INFO, NULL,
+T_HK_OS_SHELL, NULL,
+T_HK_RESIZE_TERMINAL, NULL,
+T_HK_EXIT, NULL,
+T_HK_SEARCH, NULL,
+T_HK_SEARCH_BACK, NULL,
+T_HK_FIND_NEXT, NULL,
+T_HK_FIND_PREVIOUS, NULL,
+T_HK_TOGGLE_HTML_PLAIN, NULL,
+T_HK_DOCUMENT_INFO, NULL,
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, NULL,
+T_HK_HTML_OPTIONS, NULL,
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, NULL,
+T_HK_LANGUAGE, NULL,
+T_HK_CHARACTER_SET, NULL,
+T_HK_TERMINAL_OPTIONS, NULL,
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, NULL,
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, NULL,
+T_HK_MAIL_AND_TELNEL, NULL,
+T_HK_ASSOCIATIONS, NULL,
+T_HK_FILE_EXTENSIONS, NULL,
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, NULL,
+T_HK_ABOUT, NULL,
+T_HK_KEYS, NULL,
+T_HK_COPYING, NULL,
+T_HK_MANUAL, NULL,
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, NULL,
+T_HK_VIEW, NULL,
+T_HK_LINK, NULL,
+T_HK_DOWNLOADS, NULL,
+T_HK_SETUP, NULL,
+T_HK_HELP, NULL,
+T_HK_DISPLAY_USEMAP, NULL,
+T_HK_FOLLOW_LINK, NULL,
+T_HK_OPEN_IN_NEW_WINDOW, NULL,
+T_HK_DOWNLOAD_LINK, NULL,
+T_HK_RESET_FORM, NULL,
+T_HK_SUBMIT_FORM, NULL,
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, NULL,
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, NULL,
+T_HK_VIEW_IMAGE, NULL,
+T_HK_DOWNLOAD_IMAGE, NULL,
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, NULL,
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, NULL,
+T_HK_WINDOW, NULL,
+T_HK_FULL_SCREEN, NULL,
+T_HK_BEOS_TERMINAL, NULL,
diff --git a/intl/serbian.lng b/intl/serbian.lng
new file mode 100644
index 0000000..4db3e9b
--- /dev/null
+++ b/intl/serbian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "iso-8859-5",
+T__LANGUAGE, "Serbian",
+T__ACCEPT_LANGUAGE, "sr",
+T_OK, "Ã àÕÔã",
+T_CANCEL, "¿ÞÝØèâØ",
+T_BAD_NUMBER, "»Þè ÑàÞø",
+T_NUMBER_EXPECTED, "Ã ßÞùã áÕ ÞçÕÚãøÕ ÑàÞø",
+T_NUMBER_OUT_OF_RANGE, "±àÞø ÒÐÝ ÞßáÕÓÐ",
+T_BAD_STRING, "»ÞèÐ ÝØáÚÐ",
+T_EMPTY_STRING_NOT_ALLOWED, "¿àÐ×ÝÐ ÝØáÚÐ ÝØøÕ ÔÞ×ÒÞùÕÝÐ",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "³àÕèÚÐ ã ßÞÔÕèÐÒÐúØÜÐ",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "½Õ ÜÞÓã ÔÐ ãßØèÕÜ ÔÐâÞâÕÚã áÐ ßÞÔÕèÐÒÐúØÜÐ",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "¾ ßàÞÓàÐÜã",
+T_LINKS__LYNX_LIKE, "»ØÝÚá " VERSION_STRING "\n\nLynx-ÞÛØÚØ âÕÚáâãÐÛÝØ WWW çØâÐç",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "ÂÐáâÕàØ",
+T_KEYS_DESC, "ESC ßàØÚÐÖØ ÜÕÝØ\n^C, q, Q ×ÐÒàèØ\n^P, ^N ÚÛØ×Ðø ÓÞàÕ, ÔÞÛÕ\n[, ] ÚÛØ×Ðø ÛÕÒÞ, ÔÕáÝÞ\ná. ÓÞàÕ, ÔÞÛÕ Ø×ÐÑÕàØ ÒÕ×ã\n-> ßàÐâØ ÒÕ×ã\n<- ØÔØ ÝÐ×ÐÔ\ng ØÔØ ÝÐ ÃÀ»\nG ØÔØ ÝÐ ÃÀ» ×ÐáÝÞÒÐÝ ÝÐ âÕÚãûÕÜ ÃÀ»-ã\n^G ØÔØ ÝÐ ÃÀ» ×ÐáÝÞÒÐÝ ÝÐ âÕÚãûÞø ÒÕ×Ø\n/ âàÐÖØ\nn ÝÐòØ áÛÕÔÕûÕ\nd ßàÕã×ÜØ\n* áÜÕÝØ ßàØÚÐ×ØÒÐúÕ áÛØÚÐ\n^W ÔÞßãÝØ ÃÀ» ØÛØ ÝØáÚã ßàÕâàÐÓÕ\n^B, ^X, ^V ÚÞßØàÐø, ØáÕæØ, ×ÐÛÕßØ ã/Ø× ÞáâÐÒÕ\nAlt-1 .. Alt-9 ßàÕÑÐæØ áÕ ÝÐ ÒØàâãÐÛÝØ ÕÚàÐÝ (svgalib Ø framebuffer)",
+T_KEYS_BRAILLE_DESC, "a, t ßÞáâÐÒØ ÚãàáÞà ÝÐ àÕÔ áâÐúÐ ØÛØ ÝÐáÛÞÒÝã\n{, } ßÞáâÐÒØ ÚãàáÞà ÝÐ ßÞçÕâÐÚ/ÚàÐø àÕÔÐ\n^T, ^Y ØÔØ ÝÐ áÛÕÔÕûã ØÛØ ßàÕâåÞÔÝã ÒÕ×ã",
+T_COPYING, "ºÞßØàÐúÕ",
+T_COPYING_DESC, "»ØÝÚá " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\nÐãâÞàØ: ¼ØÚãÛÐè ¿ÐâÞÚÐ, ¿Õâà ºãÛåÐÒØ, ºÐàÕÛ ºãÛåÐÒØ, ¼ÐàâØÝ ¿ÕàÓÕÛ\nßàÕÒÞÔ: ÁâàÐåØúÐ ÀÐÔØû <mr99164@alas.matf.bg.ac.yu>, ÁÀ´ \"ÃÛØÚá\"\n\n¾ÒÐø ßàÞÓàÐÜ øÕ áÛÞÑÞÔÝØ áÞäâÒÕà; ÜÞÖÕâÕ ÓÐ àÐáßÞÔÕÛØâØ Ø/ØÛØ ÜÕúÐâØ ßÞÔ ÞÔàÕÔÑÐÜÐ ³½Ã-ÞÒÕ ÞßèâÕ øÐÒÝÕ ÛØæÕÝæÕ ÚÞøã øÕ ÞÑøÐÒØÛÐ ·ÐÔãÖÑØÝÐ ×Ð áÛÞÑÞÔÝØ áÞäâÒÕà; Ø âÞ, ÑØÛÞ ÒÕà×ØøÕ 2 »ØæÕÝæÕ, ØÛØ (ßÞ ÒÐèÕÜ Ø×ÑÞàã) ÑØÛÞ ÚÞøÕ áÛÕÔÕûÕ ÒÕà×ØøÕ.",
+T_RESOURCES, "ÀÕáãàáØ",
+T_CONNECTIONS, "¿ÞÒÕ×ØÒÐúÐ",
+T_MEMORY_CACHE, "¼ÕÜÞàØøáÚÐ ÞáâÐÒÐ",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "¾áâÐÒÐ äÞÝâÞÒÐ",
+T_IMAGE_CACHE, "¾áâÐÒÐ áÛØÚÐ",
+T_FORMATTED_DOCUMENT_CACHE, "¾áâÐÒÐ äÞàÜÐâØàÐÝØå ÔÞÚãÜÕÝÐâÐ",
+T_DNS_CACHE, NULL,
+T_HANDLES, "àãçÚØ",
+T_TIMERS, "èâÞßÕàØæÐ",
+T_WAITING, NULL,
+T_CONNECTING, "ßÞÒÕ×ØÒÐúÕ/Ð ã âÞÚã",
+T_tRANSFERRING, "ßàÕÝÞá/Ð",
+T_KEEPALIVE, "ÞÔàÖÐÒÐÝØå/Ð/Þ ßÞÒÕ×ØÒÐúÐ/Õ",
+T_BYTES, "ÑÐøâ/Ð/ÞÒÐ",
+T_LETTERS, "ßØáÜÞ/Ð/ÐÜÐ",
+T_FILES, "ÔÐâÞâÕÚÐ",
+T_LOCKED, "×ÐÚùãçÐÝ/Ð/Øå",
+T_LOADING, "ãçØâÐÒÐúÐ/Õ ã âÞÚã",
+T_IMAGES, "áÛØÚÐ/Õ",
+T_DOCUMENTS, "ÔÞÚãÜÕÝÐâÐ",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "ÑÐøâ/Ð/ÞÒÐ ÜÕÜÞàØøÕ øÕ ×Ðã×ÕâÞ",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "¿ÞÔÐæØ Þ ÜÕÜÞàØøØ",
+T_NO_HISTORY, "½ÕÜÐ ØáâÞàØøÕ",
+T_NO_DOWNLOADS, "½ÕÜÐ ßàÕã×ÕâØå ÔÐâÞâÕÚÐ",
+T_NO_FRAMES, "±Õ× ÞÚÒØàÐ",
+T_VT_100_FRAMES, "VT 100 ÞÚÒØàØ",
+T_LINUX_OR_OS2_FRAMES, "Linux ØÛØ OS/2 ÞÚÒØàØ",
+T_KOI8R_FRAMES, "KOI8-R ÞÚÒØàØ",
+T_FREEBSD_FRAMES, "ÄàرÁ´ ÞÚÒØàØ",
+T_USE_11M, "ºÞàØáâØ ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "¾ÓàÐÝØçØ ÞÚÒØàÕ ÝÐ cp850/852",
+T_BLOCK_CURSOR, "ºãàáÞà ÚÐÞ ÑÛÞÚ",
+T_COLOR, "±ÞøÕ",
+T_BRAILLE_TERMINAL, "±àÐøÕÒ âÕàÜØÝÐÛ",
+T_TERMINAL_OPTIONS, "¿ÞÔÕèÐÒÐúÐ âÕàÜØÝÐÛÐ",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP ßÞáàÕÔÝØÚ (ÔÞÜÐûØÝ:ßÞàâ)",
+T_FTP_PROXY__HOST_PORT, "FTP ßÞáàÕÔÝØÚ (ÔÞÜÐûØÝ:ßÞàâ)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "´ÞÜÕÝØ (àÐ×ÔÒÞøÕÝØ ×ÐßÕâÐÜÐ) ÝÕßÞáàÕÔÝÞÓ ßàØáâãßÐ (ÑÕ× ßÞáàÕÔÝØÚÐ)",
+T_NETWORK_OPTIONS, "¼àÕÖÝÐ ßÞÔÕèÐÒÐúÐ",
+T_MAX_CONNECTIONS, "½ÐøÒØèÕ ßÞÒÕ×ØÒÐúÐ",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "½ÐøÒØèÕ ßÞÒÕ×ØÒÐúÐ áÐ øÕÔÝØÜ ÔÞÜÐûØÝÞÜ",
+T_RETRIES, "¿ÞÝÞÒÝØå ßÞÚãèÐøÐ (0 - ÝÕÞÓàÐÝØçÕÝÞ)",
+T_RECEIVE_TIMEOUT_SEC, "²àÕÜ. ÞÓàÐÝØçÕúÕ ßàØÜÐúÐ (áÕÚ)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "²àÕÜ. ÞÓàÐÝØçÕúÕ ÚÐÔÐ ÝØøÕ ÜÞÓãûÕ ßÞÝ. ßÞÚà.",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "°áØÝåàÞÝÐ ßàÕâàÐÓÐ DNS-Ð",
+T_SET_TIME_OF_DOWNLOADED_FILES, "¿ÞáâÐÒØ ÔÐâãÜ ßàÕã×ÕâØå ÔÐâÞâÕÚÐ",
+T_CACHE_OPTIONS, "¿ÞÔÕèÐÒÐúÐ ÞáâÐÒÕ",
+T_MEMORY_CACHE_SIZE__KB, "²ÕÛØçØÝÐ ÜÕÜÞàØøáÚÕ ÞáâÐÒÕ (Ú±)",
+T_IMAGE_CACHE_SIZE__KB, "²ÕÛØçØÝÐ ÞáâÐÒÕ áÛØÚÐ (Ú±)",
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "±àÞø äÞàÜÐâØàÐÝØå ÔÞÚãÜÕÝÐâÐ",
+T_AGGRESSIVE_CACHE, "°ÓàÕáØÒÝÐ ÞáâÐÒÐ",
+T_HTML_OPTIONS, "¿ÞÔÕèÐÒÐúÐ HTML-Ð",
+T_DISPLAY_TABLES, "¿àØÚÐÖØ âÐÑÕÛÕ",
+T_DISPLAY_FRAMES, "¿àØÚÐÖØ ÞÚÒØàÕ",
+T_DISPLAY_IMAGES, "¿àØÚÐÖØ áÛØÚÕ",
+T_DISPLAY_IMAGE_FILENAMES, "¿àØÚÐÖØ ÝÐ×ØÒÕ ÔÐâÞâÕÚÐ ×Ð áÛØÚÕ",
+T_DISPLAY_LINKS_TO_IMAGES, "¿àØÚÐÖØ ÒÕ×Õ ÚÐ áÛØÚÐÜÐ",
+T_LINK_ORDER_BY_COLUMNS, "à âÐÑÕÛÐÜÐ áÕ ÚàÕûØ ßÞ ÚÞÛÞÝÐÜÐ",
+T_NUMBERED_LINKS, "²Õ×Õ áã ÝãÜÕàØáÐÝÕ",
+T_AUTO_REFRESH, "°ãâÞÜÐâáÚÞ ÞáÒÕÖÕúÕ",
+T_TARGET_IN_NEW_WINDOW, "´Þ×ÒÞÛØ ÞâÒÐàÐúÕ ÒÕ×Ð ã ÝÞÒÞÜ ßàÞ×Þàã (target=\"_blank\")",
+T_TEXT_MARGIN, "¼ÐàÓØÝÐ âÕÚáâÐ",
+T_DEFAULT_CODEPAGE, "¿ÞÔàÐ×ãÜÕÒÐÝÐ ÚÞÔÝÐ áâàÐÝÐ",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "·ÐÝÕÜÐàØ ØÝäÞàÜÐæØøã Þ áÚãßã ×ÝÐÚÞÒÐ ÚÞøã èÐùÕ áÕàÒÕà",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "¸ÔØ ÝÐ ÃÀ»",
+T_GO_BACK, "¸ÔØ ÝÐ×ÐÔ",
+T_GO_FORWARD, NULL,
+T_HISTORY, "¸áâÞàØøÐ",
+T_RELOAD, "¿ÞÝÞÒÞ ãçØâÐø",
+T_NEW_WINDOW, "½ÞÒ ßàÞ×Þà",
+T_SAVE_AS, "ÁÐçãÒÐø ÚÐÞ",
+T_SAVE_URL_AS, "ÁÐçãÒÐø ÃÀ» ÚÐÞ",
+T_SAVE_FORMATTED_DOCUMENT, "ÁÐçãÒÐø äÞàÜÐâØàÐÝØ ÔÞÚãÜÕÝâ",
+T_COPY_URL_LOCATION, "ºÞßØàÐø âàÕÝãâÝÞ ÃÀ» ÜÕáâÞ",
+T_KILL_BACKGROUND_CONNECTIONS, "ÃÑØø ßÞ×ÐÔØÝáÚÐ ßÞÒÕ×ØÒÐúÐ",
+T_KILL_ALL_CONNECTIONS, "ÃÑØø áÒÐ ßÞÒÕ×ØÒÐúÐ",
+T_FLUSH_ALL_CACHES, "¾çØáâØ áÒÕ ÞáâÐÒÕ",
+T_RESOURCE_INFO, "¿ÞÔÐæØ Þ àÕáãàáØÜÐ",
+T_OS_SHELL, "©ãáÚÐ ¾Á-Ð",
+T_EXIT, "¸×ÛÐ×",
+T_SEARCH, "ÂàÐÖØ",
+T_SEARCH_BACK, "ÂàÐÖØ ãÝÐ×ÐÔ",
+T_FIND_NEXT, "½ÐòØ áÛÕÔÕûÕ",
+T_FIND_PREVIOUS, "½ÐòØ ßàÕâåÞÔÝÞ",
+T_TOGGLE_HTML_PLAIN, "¿àØÚÐ× HTML/ÞÑØçÐÝ",
+T_DOCUMENT_INFO, "¿ÞÔÐæØ Þ ÔÞÚãÜÕÝâã",
+T_FRAME_AT_FULL_SCREEN, "¾ÚÒØà ÝÐ æÕÛÞÜ ÕÚàÐÝã",
+T_SAVE_HTML_OPTIONS, "ÁÐçãÒÐø ßÞÔÕèÐÒÐúÐ HTML-Ð",
+T_CHARACTER_SET, "ÁÚãß ×ÝÐÚÞÒÐ",
+T_CACHE, "¾áâÐÒÐ",
+T_MAIL_AND_TELNEL, "¿ÞèâÐ Ø âÕÛÝÕâ",
+T_MAIL_TELNET_AND_SHELL, "¿ÞèâÐ, âÕÛÝÕâ Ø ùãáÚÐ",
+T_ASSOCIATIONS, "¿àØÔàãÖÕúÐ",
+T_FILE_EXTENSIONS, "²àáâÕ ÔÐâÞâÕÚÐ",
+T_SAVE_OPTIONS, "ÁÐçãÒÐø ßÞÔÕèÐÒÐúÐ",
+T_FILE, "´ÐâÞâÕÚÐ",
+T_VIEW, "ß¾ÓÛÕÔÐø",
+T_LINK, "²Õ×Ð",
+T_DOWNLOADS, "ßÀÕã×ØÜÐúÐ",
+T_SETUP, "ßÞÔµèÐÒÐúÐ",
+T_HELP, "¿ÞÜÞû",
+T_ENTER_URL, "ÃÝÕáØâÕ ÃÀ»",
+T_SAVE_URL, "ÁÐçãÒÐø ÃÀ»",
+T_DOWNLOAD, "¿àÕã×ØÜÐúÕ",
+T_SAVE_TO_FILE, "ÁÐçãÒÐø ã ÔÐâÞâÕÚã",
+T_SEARCH_FOR_TEXT, "ÂàÐÖØ âÕÚáâ",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "ÇÕÚÐúÕ ã àÕÔã",
+T_LOOKING_UP_HOST, "ÂàÐÖØÜ ÔÞÜÐûØÝÐ",
+T_MAKING_CONNECTION, "¿ÞÒÕ×ãøÕÜ áÕ",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "SSL ßàÕÓÞÒÞà",
+T_REQUEST_SENT, "·ÐåâÕÒ ßÞáÛÐÝ",
+T_GETTING_HEADERS, "´ÞÑÐÒùÐÜ ×ÐÓÛÐÒùÐ",
+T_LOGGING_IN, "¿àØøÐÒùãøÕÜ áÕ",
+T_SERVER_IS_PROCESSING_REQUEST, "ÁÕàÒÕà ÞÑàÐòãøÕ ×ÐåâÕÒ",
+T_TRANSFERRING, "¿àÕÝÞáØÜ",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "ÇÕÚÐÜ ×Ð ßÞâÒàÔã ßàÕãáÜÕàÕúÐ",
+T_INTERRUPTED, "¿àÕÚØÝãâÞ",
+T_SOCKET_EXCEPTION, "¸×ã×ÕâÐÚ ãâØçÝØæÕ",
+T_INTERNAL_ERROR, "ÃÝãâàÐèúÐ ÓàÕèÚÐ",
+T_OUT_OF_MEMORY, "½ÕÜÐ ÒØèÕ ÜÕÜÞàØøÕ",
+T_HOST_NOT_FOUND, "´ÞÜÐûØÝ ÝØøÕ ÝÐòÕÝ",
+T_ERROR_WRITING_TO_SOCKET, "³àÕèÚÐ ßàØ çÕÚÐúã ÝÐ ãâØçÝØæã",
+T_ERROR_READING_FROM_SOCKET, "³àÕèÚÐ ßàØ çØâÐúã áÐ ãâØçÝØæÕ",
+T_DATA_MODIFIED, "¿ÞÔÐæØ áã Ø×ÜÕúÕÝØ",
+T_BAD_URL_SYNTAX, "»ÞèÐ áØÝâÐÚáÐ ÃÀ»-Ð",
+T_RECEIVE_TIMEOUT, "²àÕÜÕ ßàØÜÐúÐ øÕ ØáâÕÚÛÞ",
+T_REQUEST_MUST_BE_RESTARTED, "·ÐåâÕÒ áÕ ÜÞàÐ ßÞÝÞÒÞ ßÞÚàÕÝãâØ",
+T_CANT_GET_SOCKET_STATE, "½Õ ÜÞÓã ÔÐ áÐ×ÝÐÜ áâÐúÕ ãâØçÝØæÕ",
+T_CYCLIC_REDIRECT, "ÆØÚÛØçÝÞ ßàÕãáÜÕàÕúÕ",
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "»Þè ÞÔÓÞÒÞà HTTP-Ð",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "½ÕÜÐ áÐÔàÖÐøÐ",
+T_UNKNOWN_FILE_TYPE, "½ÕßÞ×ÝÐâÐ ÒàáâÐ ÔÐâÞâÕÚÕ",
+T_ERROR_OPENING_FILE, "³àÕèÚÐ ßàØ ÞâÒÐàÐúã ÔÐâÞâÕÚÕ",
+T_BAD_FTP_RESPONSE, "»Þè ÞÔÓÞÒÞà FTP-Ð",
+T_FTP_SERVICE_UNAVAILABLE, "ÁÕàÒØá FTP-Ð ÝØøÕ ÔÞáâãßÐÝ",
+T_BAD_FTP_LOGIN, "»ÞèÐ ßàØøÐÒÐ FTP-Ð",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT ÝÐàÕÔÑÐ ÝØøÕ ãßÕÛÐ",
+T_FILE_NOT_FOUND, "´ÐâÞâÕÚÐ ÝØøÕ ÝÐòÕÝÐ",
+T_FTP_FILE_ERROR, "FTP ÓàÕèÚÐ ÔÐâÞâÕÚÕ",
+T_UNKNOWN_ERROR, "½ÕßÞ×ÝÐâÐ ÓàÕèÚÐ",
+T_RECEIVED, "¿àØÜùÕÝÞ",
+T_OF, "ÞÔ",
+T_AVG, "ßàÞá",
+T_CUR, "âàÕÝ",
+T_AVERAGE_SPEED, "¿àÞáÕçÝÐ Ñà×ØÝÐ",
+T_SPEED, "±à×ØÝÐ",
+T_CURRENT_SPEED, "âàÕÝãâÝÐ Ñà×ØÝÐ",
+T_ELAPSED_TIME, "¿àÞâÕÚÛÞ ÒàÕÜÕ",
+T_ESTIMATED_TIME, "ßàÞæÕúÕÝÞ ÒàÕÜÕ",
+T_BACKGROUND, "¿Þ×ÐÔØÝÐ",
+T_ABORT, "¿àÕÚØÝØ",
+T_ABORT_AND_DELETE_FILE, "¿àÕÚØÝØ Ø ÞÑàØèØ ÔÐâÞâÕÚã",
+T_YES, "´Ð",
+T_NO, "½Õ",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, "´ÐâÞâÕÚÐ ÒÕû ßÞáâÞøØ",
+T_ALREADY_EXISTS_AS_DOWNLOAD, "áÕ ÒÕû ßàÕã×ØÜÐ.",
+T_ALREADY_EXISTS, "ÒÕû ßÞáâÞøØ.",
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, "¶ÕÛØâÕ ÛØ ÔÐ ßàÕßØèÕÜ ßàÕÚÞ úÕ?",
+T_CONTINUE, NULL,
+T_OVERWRITE, "¿àÕßØèØ",
+T_RENAME, "¿àÕØÜÕÝãø",
+T_DOWNLOAD_ERROR, "³àÕèÚÐ ßàØ ßàÕã×ØÜÐúã",
+T_COULD_NOT_WRITE_TO_FILE, "½Õ ÜÞÓã ÔÐ ãßØèÕÜ ÔÐâÞâÕÚã",
+T_ERROR_DOWNLOADING, "³àÕèÚÐ ßàØ ßàÕã×ØÜÐúã",
+T_ERROR_LOADING, "³àÕèÚÐ ßàØ ãçØâÐÒÐúã",
+T_COULD_NOT_CREATE_FILE, "½Õ ÜÞÓã ÔÐ áâÒÞàØÜ ÔÐâÞâÕÚã",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "½ÕßÞ×ÝÐâÐ ÒàáâÐ",
+T_CONTENT_TYPE_IS, "²àáâÐ áÐÔàÖÐøÐ øÕ",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "¶ÕÛØâÕ ÛØ ÔÐ ÞâÒÞàØÜ, áÐçãÒÐÜ ØÛØ ßàØÚÐÖÕÜ ÞÒã ÔÐâÞâÕÚã?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "¶ÕÛØâÕ ÛØ ÔÐ ÞâÒÞàØÜ ØÛØ ßàØÚÐÖÕÜ ÞÒã ÔÐâÞâÕÚã?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "¶ÕÛØâÕ ÛØ ÔÐ áÐçãÒÐÜ ØÛØ ßàØÚÐÖÕÜ ÞÒã ÔÐâÞâÕÚã?",
+T_SAVE, "ÁÐçãÒÐø",
+T_DISPLAY, "¿àØÚÐÖØ",
+T_WHAT_TO_DO, "ÈâÐ ÔÐ àÐÔØÜ?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "¶ÕÛØâÕ ÛØ ÔÐ ÞâÒÞàØÜ ÔÐâÞâÕÚã áÐ",
+T_SAVE_IT_OR_DISPLAY_IT, "áÐçãÒÐÜ øÕ ØÛØ ßàØÚÐÖÕÜ?",
+T_OPEN, "¾âÒÞàØ",
+T_OPEN_WITH, "¾âÒÞàØ ã× ßÞÜÞû",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "¶ÕÛØâÕ ÛØ ÔÐ ßàÐâØÜ ßàÕãáÜÕàÕúÕ Ø ßÞèÐùÕÜ ßÞÔÐâÚÕ Ø× ÞÑàÐáæÐ ÝÐ ÃÀ»",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "¶ÕÛØâÕ ÛØ ÔÐ ßÞèÐùÕÜ ßÞÔÐâÚÕ Ø× ÞÑàÐáæÐ ÝÐ ÃÀ»",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "¶ÕÛØâÕ ÛØ ÔÐ ßÞÝÞÒÞ ßÞèÐùÕÜ ßÞÔÐâÚÕ Ø× ÞÑàÐáæÐ ÝÐ ÃÀ»",
+T_WARNING, "ÃßÞ×ÞàÕúÕ",
+T_ERROR, "³àÕèÚÐ",
+T_WELCOME, "´ÞÑàÞÔÞèÛØ",
+T_WELCOME_TO_LINKS, "´ÞÑàÞÔÞèÛØ ã »ØÝÚá!",
+T_BASIC_HELP, "¿àØâØáÝØâÕ ESC ×Ð ÜÕÝØ. ¸×ÐÑÕàØâÕ ¿ÞÜÞû->ÃßãâáâÒÞ Ø× ÜÕÝØøÐ ×Ð ÚÞàØáÝØçÚÞ ãßãâáâÒÞ.",
+T_LABEL, "½ÐâßØá",
+T_CONTENT_TYPES, "²àáâÕ áÐÔàÖÐøÐ",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "¿àÞÓàÐÜ ('%' áÕ ×ÐÜÕúãøÕ ØÜÕÝÞÜ ÔÐâÞâÕÚÕ)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "·ÐãáâÐÒØ âÕàÜØÝÐÛ ×Ð ÒàÕÜÕ àÐÔÐ ßàÞÓàÐÜÐ",
+T_RUN_ON_TERMINAL, "¿ÞÚàÕÝØ ã âÕàÜØÝÐÛã",
+T_RUN_IN_XWINDOW, "¿ÞÚàÕÝØ ã ¸Úá ßàÞ×Þàã",
+T_ASK_BEFORE_OPENING, "¿ØâÐø ßàÕ ÞâÒÐàÐúÐ",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "¾ÑàØèØ ßàØÔàãÖÕúÕ",
+T_ASSOCIATION, "ßàØÔàãÖÕúÕ",
+T_EXTENSION_S, "²àáâÕ",
+T_CONTENT_TYPE, "²àáâÐ áÐÔàÖÐøÐ",
+T_DELETE_EXTENSION, "¾ÑàØèØ Òàáâã",
+T_EXTENSION, "²àáâÐ",
+T_eXTENSION, "Òàáâã",
+T_ERROR_WHILE_POSTING_FORM, "³àÕèÚÐ ßàØ áÛÐúã ÞÑàÐáæÐ",
+T_COULD_NOT_GET_FILE, "½Õ ÜÞÓã ÔÐ ÔÞÑÐÒØÜ ÔÐâÞâÕÚã",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "½ÕÜÐ ßàÕâåÞÔÝÕ ßàÕâàÐÓÕ",
+T_SEARCH_STRING_NOT_FOUND, "ÂàÐÖÕÝÐ ÝØáÚÐ ÝØøÕ ÝÐòÕÝÐ",
+T_SAVE_ERROR, "³àÕèÚÐ ßàØ çãÒÐúã",
+T_ERROR_WRITING_TO_FILE, "³àÕèÚÐ ßàØ ãßØáã ã ÔÐâÞâÕÚã",
+T_DISPLAY_USEMAP, "¿àØÚÐÖØ ÜÐßã",
+T_FOLLOW_LINK, "¿àÐâØ ÒÕ×ã",
+T_OPEN_IN_NEW_WINDOW, "¾âÒÞàØ ã ÝÞÒÞÜ ßàÞ×Þàã",
+T_DOWNLOAD_LINK, "¿àÕã×ÜØ ÒÕ×ã",
+T_RESET_FORM, "¾çØáâØ ÞÑàÐ×Ðæ",
+T_SUBMIT_FORM, "¿àÕÔÐø ÞÑàÐ×Ðæ",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "¿àÕÔÐø ÞÑàÐ×Ðæ Ø ÞâÒÞàØ ã ÝÞÒÞÜ ßàÞ×Þàã",
+T_SUBMIT_FORM_AND_DOWNLOAD, "¿àÕÔÐø ÞÑàÐ×Ðæ Ø ßàÕã×ÜØ",
+T_VIEW_IMAGE, "¿ÞÓÛÕÔÐø áÛØÚã",
+T_DOWNLOAD_IMAGE, "¿àÕã×ÜØ áÛØÚã",
+T_NO_LINK_SELECTED, "½ÕÜÐ Ø×ÐÑàÐÝØå ÒÕ×Ð",
+T_IMAGE, "ÁÛØÚÐ",
+T_USEMAP, "¼ÐßÐ",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "µÚàÐÝ",
+T_WINDOW, "¿àÞ×Þà",
+T_FULL_SCREEN, "ÆÕÞ ÕÚàÐÝ",
+T_BEOS_TERMINAL, "BeOS âÕàÜØÝÐÛ",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, "¨ÐÒÐÁßØá",
+T_SUBMIT_FORM_TO, "¿àÕÔÐø ÞÑàÐ×Ðæ ÝÐ",
+T_POST_FORM_TO, "¿ÞèÐùØ ÞÑàÐ×Ðæ ÝÐ",
+T_RADIO_BUTTON, "ÀÐÔØÞ ÔãÓÜÕ",
+T_CHECKBOX, "ºãûØæÐ",
+T_SELECT_FIELD, "¿ÞùÕ ×Ð Ø×ÑÞà",
+T_TEXT_FIELD, "ÂÕÚáâãÐÛÝÞ ßÞùÕ",
+T_TEXT_AREA, "ÂÕÚáâãÐÛÝÐ ÞÑÛÐáâ",
+T_FILE_UPLOAD, "ÁÛÐúÕ ÔÐâÞâÕÚÕ",
+T_PASSWORD_FIELD, "¿ÞùÕ ×Ð ÛÞ×ØÝÚã",
+T_BUTTON, "´ãÓÜÕ",
+T_NAME, "ÝÐ×ØÒ",
+T_VALUE, "ÒàÕÔÝÞáâ",
+T_HIT_ENTER_TO, "ßàØâØáÝØâÕ ENTER ÔÐ ÑØáâÕ",
+T_SUBMIT_TO, "ßàÕÔÐÛØ ÝÐ",
+T_POST_TO, "ßÞáÛÐÛØ ÝÐ",
+T_INFO, "¿ÞÔÐæØ",
+T_HEADER_INFO, "¿ÞÔÐæØ Þ ×ÐÓÛÐÒùØÜÐ",
+T_YOU_ARE_NOWHERE, "½Õ ÝÐÛÐ×ØâÕ áÕ ÝØÓÔÕ!",
+T_NO_HEADER, NULL,
+T_URL, "ÃÀ»",
+T_SIZE, "²ÕÛØçØÝÐ",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "ÝÕßÞâßãÝÞ",
+T_CODEPAGE, "ºÞÔÝÐ áâàÐÝÐ",
+T_ASSUMED, "ßàÕâßÞáâÐÒùÕÝÐ",
+T_IGNORING_SERVER_SETTING, "×ÐÝÕÜÐàãøÕÜ ßÞÔÕèÐÒÐúÕ áÕàÒÕàÐ",
+T_SERVER, "ÁÕàÒÕà",
+T_DATE, "´ÐâãÜ",
+T_LAST_MODIFIED, "¿ÞáÛÕÔúÐ Ø×ÜÕÝÐ",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "¨Õ×ØÚ",
+T_GO_TO_LINK, "¸ÔØ ÝÐ ÒÕ×ã",
+T_ENTER_LINK_NUMBER, "ÃÝÕáØâÕ ÑàÞø ÒÕ×Õ",
+T_RESIZE_TERMINAL, "¿àÞÜÕÝØ ÒÕÛØçØÝã âÕàÜØÝÐÛÐ",
+T_COLUMNS, "ºÞÛÞÝÕ",
+T_ROWS, "ÀÕÔÞÒØ",
+T_GOTO, "¸ÔØ ÝÐ",
+T_CLOSE, "·ÐâÒÞàØ",
+T_FOLDER, "ÄÐáæØÚÛÐ",
+T_fOLDER, "äÐáæØÚÛÐ",
+T_ADD, "´ÞÔÐø",
+T_DELETE, "¾ÑàØèØ",
+T_EDIT, "ÃàÕÔØ",
+T_MOVE, "¿àÕÜÕáâØ",
+T_NO_ITEMS_SELECTED, "½ØèâÐ ÝØøÕ Ø×ÐÑàÐÝÞ. ½ÕÜÐÜ èâÐ ÔÐ ßàÕÜÕáâØÜ.",
+T_UNSELECT_ALL, "¾ÔÞ×ÝÐçØ áÒÕ",
+T_BOOKMARKS, "¾ÑÕÛÕÖØÒÐçØ",
+T_BOOKMARK, "ÞÑÕÛÕÖØÒÐç",
+T_ADD_BOOKMARK, "´ÞÔÐø ÞÑÕÛÕÖØÒÐç",
+T_ADD_ASSOCIATION, "´ÞÔÐø ßàØÔàãÖÕúÕ",
+T_ADD_EXTENSION, "´ÞÔÐø Òàáâã",
+T_ADD_FOLDER, "´ÞÔÐø äÐáæØÚÛã",
+T_BOOKMARK_TITLE, "½ÐáÛÞÒ ÞÑÕÛÕÖØÒÐçÐ",
+T_EDIT_BOOKMARK, "ÃàÕòØÒÐúÕ ÞÑÕÛÕÖØÒÐçÐ",
+T_EDIT_ASSOCIATION, "ÃàÕòØÒÐúÕ ßàØÔàãÖÕúÐ",
+T_EDIT_EXTENSION, "ÃàÕòØÒÐúÕ ÒàáâÕ",
+T_DELETE_BOOKMARK, "±àØáÐúÕ ÞÑÕÛÕÖØÒÐçÐ",
+T_EDIT_FOLDER, "ÃàÕòØÒÐúÕ äÐáæØÚÛÕ",
+T_DELETE_FOLDER, "±àØáÐúÕ äÐáæØÚÛÕ",
+T_NOT_EMPTY_SURE_DELETE, "ÝØøÕ ßàÐ×ÝÐ. ´Ð ÛØ ×ÐØáâÐ ÖÕÛØâÕ ÔÐ øÕ ÞÑàØèÕÜ?",
+T_BOOKMARK_MANAGER, "ÃßàÐÒØâÕù ÞÑÕÛÕÖØÒÐçÐ",
+T_ASSOCIATIONS_MANAGER, "ÃßàÐÒØâÕù ßàØÔàãÖÕúÐ",
+T_EXTENSIONS_MANAGER, "ÃßàÐÒØâÕù ÒàáâÐ",
+T_url, "ÃÀ»",
+T_NNAME, "¸ÜÕ",
+T_EXIT_LINKS, "¸×ÛÐ× Ø× »ØÝÚáÐ",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "´Ð ÛØ ×ÐØáâÐ ÖÕÛØâÕ ÔÐ Ø×ÐòÕâÕ Ø× »ØÝÚáÐ?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "´Ð ÛØ ×ÐØáâÐ ÖÕÛØâÕ ÔÐ Ø×ÐòÕâÕ Ø× »ØÝÚáÐ (Ø ßàÕÚØÝÕâÕ áÒÐ ßàÕã×ØÜÐúÐ)?",
+T_HTTP_OPTIONS, "¿ÞÔÕèÐÒÐúÐ HTTP-Ð",
+T_FTP_OPTIONS, "¿ÞÔÕèÐÒÐúÐ FTP-Ð",
+T_HTTP_BUG_WORKAROUNDS, "·ÐÞÑØÛÐÖÕúÕ ßàÞÑÛÕÜÐ áÐ HTTP-ÞÜ",
+T_USE_HTTP_10, "ºÞàØáâØ HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "´ÞßãáâØ æàÝã ÛØáâã ßàÞÑÛÕÜÐâØçÝØå áÕàÒÕàÐ",
+T_BROKEN_302_REDIRECT, "¿ÞÚÒÐàÕÝÞ ßàÞáÛÕòØÒÐúÕ 302 (ÝÐàãèÐÒÐ RFC, ÐÛØ øÕ áÐÓÛÐáÝÞ áÐ ½ÕâáÚÕøßÞÜ)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "±Õ× ÞçãÒÐúÐ ßÞÒÕ×ØÒÐúÐ ßÞáÛÕ POST ×ÐåâÕÒÐ (ßÞâàÕÑÝÞ ×Ð ÝÕÚÕ ßàÞÑÛÕÜÐâØçÝÕ ¿Å¿ ÑÐ×Õ ßÞÔÐâÐÚÐ)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, "½Õ èÐùØ Accept-Charset",
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "½ÕÜÐ ãßãûØÒÐçÐ",
+T_REFERER_SAME_URL, "¿ÞèÐùØ ×ÐåâÕÒÐÝØ ÃÀ» ÚÐÞ ãßãûØÒÐçÐ",
+T_REFERER_FAKE, "¿ÞßàÐÒùÕÝ ãßãûØÒÐç",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "¿ÞèÐùØ áâÒÐàÝÞÓ ãßãûØÒÐçÐ (ãÞÑØçÐøÕÝÐ ÜÐÝØßãÛÐæØøÐ, ½µÁ¸³ÃÀ½¾!!!)",
+T_FAKE_REFERER, "¿ÞßàÐÒùÕÝ HTTP ãßãûØÒÐç",
+T_FAKE_USERAGENT, "»ÐÖÐÝ ÚÞàØáÝØçÚØ ÐÓÕÝâ",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "»Þ×ØÝÚÐ ×Ð ÐÝÞÝØÜÝã ßàØøÐÒã",
+T_USE_PASSIVE_FTP, "ºÞàØáâØ ßÐáØÒÝØ FTP",
+T_USE_FAST_FTP, "ºÞàØáâØ Ñà×Ø (ÐÛØ ÝÕãáÐÓÛÐèÕÝ áÐ RFC-ÞÜ) FTP",
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "ºÞàØáÝØçÚÞ ãßãâáâÒÞ",
+T_HOMEPAGE, "´ÞÜÐûÐ áâàÐÝØæÐ",
+T_CALIBRATION, "ºÐÛØÑàØáÐúÕ",
+T_MAILTO_PROG, "¿àÞÓàÐÜ ×Ð ßÞèâã (% áÕ ×ÐÜÕúãøÕ ÐÔàÕáÞÜ)",
+T_SHELL_PROG, "©ãáÚÐ ×Ð Ø×ÒàèÐÒÐúÕ áßÞùÐèúØå ÝÐàÕÔÑØ (×ÝÐÚ % ûÕ ÑØâØ ×ÐÜÕúÕÝ ÝÐàÕÔÑÞÜ)",
+T_TELNET_PROG, "¿àÞÓàÐÜ ×Ð âÕÛÝÕâ (% áÕ ×ÐÜÕúãøÕ ÝØáÚÞÜ \"ÔÞÜÐûØÝ\" ØÛØ \"ÔÞÜÐûØÝ ßÞàâ\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "¿àÞÓàÐÜ ×Ð tn3270 (% áÕ ×ÐÜÕúãøÕ ÝØáÚÞÜ \"ÔÞÜÐûØÝ\" ØÛØ \"ÔÞÜÐûØÝ ßÞàâ\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "¿àÞÓàÐÜØ ×Ð ßÞèâã Ø âÕÛÝÕâ",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, "¿àÞÓàÐÜØ ×Ð ßÞèâã, âÕÛÝÕâ Ø ùãáÚã",
+T_NO_PROGRAM, "½ÕÜÐ ßàÞÓàÐÜÐ",
+T_NO_PROGRAM_SPECIFIED_FOR, "½ØøÕ ×ÐÔÐâ ßàÞÓàÐÜ ×Ð",
+T_MAIL, "ßÞèâã",
+T_TELNET, "âÕÛÝÕâ",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "»Þè mailto ÃÀ»",
+T_BAD_TELNET_URL, "»Þè telnet ÃÀ»",
+T_BAD_TN3270_URL, "»Þè tn3270 ÃÀ»",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, "·ÐåâÕÒÐ áÕ ßÞâÒàÔÐ ØáßàÐÒÝÞáâØ",
+T_PROXY_AUTHORIZATION_REQUIRED, "·ÐåâÕÒÐ áÕ ßÞáàÕÔÝØçÚÐ ßÞâÒàÔÐ ØáßàÐÒÝÞáâØ",
+T_USERID, "ºÞàØáÝØçÚÞ ØÜÕ",
+T_PASSWORD, "»Þ×ØÝÚÐ",
+T_ENTER_USERNAME, "ÃÝÕáØâÕ ÚÞàØáÝØçÚÞ ØÜÕ ×Ð ",
+T_AT, "ÝÐ ",
+T_SSL_ERROR, "³àÕèÚÐ SSL-Ð",
+T_NO_SSL, "¾ÒÐ ÒÕà×ØøÐ »ØÝÚáÐ ÝÕ áÐÔàÖØ ßÞÔàèÚã ×Ð SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "´Ð ÛØ ×ÐØáâÐ ÖÕÛØâÕ ÔÐ ÞÑàØèÕâÕ",
+T_BOOKMARKS_ALREADY_IN_USE, "¾ÑÕÛÕÖØÒÐçØ áã ÒÕû ã ãßÞâàÕÑØ!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "¿àØÔàãÖÕúÐ áã ÒÕû ã ãßÞâàÕÑØ!",
+T_EXTENSIONS_ALREADY_IN_USE, "²àáâÕ áã ÒÕû ã ãßÞâàÕÑØ!",
+T_VIDEO_OPTIONS, "¿ÞÔÕèÐÒÐúÐ ÓàÐäØÚÕ",
+T_VIDEO_OPTIONS_TEXT, "¿àÕßÞàãçÕÝÞ ÚÞàØáÝØçÚÞ ßÞÔÕèÐÒÐúÕ ÓÐÜÕ:\n 1,33 ×Ð âÐÜÝã áÞÑã, 1,11 ×Ð ÒÕÞÜÐ ×ÐÜàÐçÕÝã áÞÑã, 1 ×Ð ãÞÑØçÐøÕÝÞ àÐçãÝÐàáÚÞ áâÞÝÞ ÞáÒÕâùÕúÕ, 0,88 ×Ð øÐáÝÞ ÞáÒÕâùÕúÕ ÞÚàãÖÕúÐ",
+T_RED_DISPLAY_GAMMA, "ÆàÒÕÝÐ ÓÐÜÐ ßàØÚÐ×Ð",
+T_GREEN_DISPLAY_GAMMA, "·ÕÛÕÝÐ ÓÐÜÐ ßàØÚÐ×Ð",
+T_BLUE_DISPLAY_GAMMA, "¿ÛÐÒÐ ÓÐÜÐ ßàØÚÐ×Ð",
+T_USER_GAMMA, "ºÞàØáÝØçÚÐ ÓÐÜÐ",
+T_ALERT, "¾ßàÕ×",
+T_QUESTION, "¿ØâÐúÕ",
+T_KILL_SCRIPT, "ÃÑØø áßØá",
+T_KILL_ALL_SCRIPTS, "ÃÑØø áÒÕ áßØáÕ",
+T_SCRIPT_KILLED_BY_USER, "¨ÐÒÐÁßØá ãÑØøÕÝ ÞÔ áâàÐÝÕ ÚÞàØáÝØÚÐ.",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "¨ÐÒÐÁßØá ßÞÚãèÐÒÐ ÔÐ ×ÐâÒÞàØ ßàÞ×Þà çØâÐçÐ. ´Ð ÛØ ×ÐØáâÐ ÖÕÛØâÕ ÔÐ ×ÐâÒÞàØÜ ßàÞ×Þà?",
+T_ENTER_STRING, "ÃÝÕáØâÕ ÝØáÚã",
+T_JAVASCRIPT_OPTIONS, "¿ÞÔÕèÐÒÐúÐ ¨ÐÒÐÁßØáÐ",
+T_ENABLE_JAVASCRIPT, "ÃÚùãçØ ¨ÐÒÐÁßØáÕ",
+T_VERBOSE_JS_ERRORS, "±àÑùØÒÕ ÓàÕèÚÕ ¨ÐÒÐÁßØáÐ",
+T_VERBOSE_JS_WARNINGS, "±àÑùØÒÐ ãßÞ×ÞàÕúÐ ¨ÐÒÐÁßØáÐ",
+T_MISCELANEOUS_OPTIONS, "ÀÐ×ÝÐ ßÞÔÕèÐÒÐúÐ",
+T_JAVASCRIPT_ERROR, "³àÕèÚÐ ¨ÐÒÐÁßØáÐ",
+T_JAVASCRIPT_WARNING, "ÃßÞ×ÞàÕúÕ ¨ÐÒÐÁßØáÐ",
+T_DISMISS, "¾âßãáâØ",
+T_MENU_FONT_SIZE, "²ÕÛØçØÝÐ äÞÝâÐ ÜÕÝØøÐ",
+T_USER_FONT_SIZE, "ºÞàØáÝØçÚÐ ÒÕÛØçØÝÐ äÞÝâÐ",
+T_TURN_OFF_WARNINGS, "¸áÚùãçØ ãßÞ×ÞàÕúÐ",
+T_BOOKMARKS_ENCODING, "ºÞÔØàÐúÕ ÞÑÕÛÕÖØÒÐçÐ",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "¨ÐÒÐÁßØá ßÞÚãèÐÒÐ ÔÐ ØÔÕ ÝÐ ÃÀ»",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "¨ÐÒÐÁßØá ßÞÚãèÐÒÐ ÔÐ ÞâÒÞàØ ÝÞÒ ßàÞ×Þà ÝÐ ÃÀ»",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "¨ÐÒÐÁßØá ßÞÚãèÐÒÐ ÔÐ ßàØáâãßØ ØáâÞàØøØ",
+T_TO_URL, "ÝÐ ÃÀ»",
+T_GOTO_HISTORY, "¸ÔØ ÝÐ ØáâÞàØøã",
+T_ALLOW, "´Þ×ÒÞÛØ",
+T_REJECT, "¾ÔÑØø",
+T_ENABLE_ALL_CONVERSIONS, "ÃÚùãçØ áÒÐ ßàÕâÒÐàÐúÐ",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "ÃÚùãçØ ÞßèâÕ àÐ×àÕèÕúÕ ØÜÕÝÐ",
+T_MANUAL_JS_CONTROL, "ÀãçÝÐ ßÞâÒàÔÐ ÜÐÝØßãÛÐæØøÕ ¨ÐÒÐÁßØáØÜÐ",
+T_JS_RECURSION_DEPTH, "´ãÑØÝÐ àÕÚãà×ØøÕ",
+T_MENU_BACKGROUND_COLOR, "±ÞøÐ ßÞ×ÐÔØÝÕ",
+T_MENU_FOREGROUND_COLOR, "±ÞøÐ âÕÚáâÐ",
+T_SCROLL_BAR_BAR_COLOR, "±ÞøÐ ÛØÝØøÕ ÚÛØ×ÐçÐ",
+T_SCROLL_BAR_AREA_COLOR, "±ÞøÐ ÞÑÛÐáâØ ÚÛØ×ÐçÐ",
+T_SCROLL_BAR_FRAME_COLOR, "±ÞøÐ ÞÚÒØàÐ ÚÛØ×ÐçÐ",
+T_BOOKMARKS_FILE, "´ÐâÞâÕÚÐ ÞÑÕÛÕÖØÒÐçÐ",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "ÃÝÕáØâÕ ÑÞøÕ ÚÐÞ sRGB åÕÚáÐÔÕÚÐÔÝÕ RRGGBB âàÞøÚÕ.",
+T_JS_MEMORY_LIMIT_KB, "¼ÕÜÞàØøÐ ßÞáÒÕûÕÝÐ ¨ÐÒÐÁßØáØÜÐ (Ú±)",
+T_DITHER_LETTERS, "¸áâÐçÚÐø áÛÞÒÐ",
+T_DITHER_IMAGES, "¸áâÐçÚÐø áÛØÚÕ",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "¿ÞáâÐÒØ ÒÕÛØçØÝã áÒØå áÛØÚÐ ÝÐ (%)",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, "¾ßâØÜØ×ÐæØøÐ ßàØÚÐ×Ð ×Ð CRT",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "¾ßâØÜØ×ÐæØøÐ ßàØÚÐ×Ð ×Ð LCD (RGB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "¾ßâØÜØ×ÐæØøÐ ßàØÚÐ×Ð ×Ð LCD (BGR)",
+T_ASPECT_RATIO, "¿àÞßÞàæØøÕ ßÞÓÛÕÔÐ",
+T_ASPECT_CORRECTION_ON, "ÃÚùãçØ ØáßàÐÒùÐúÕ ßÞÓÛÕÔÐ",
+T_KEYBOARD_CODEPAGE, "ºÞÔÝÐ áâàÐÝÐ âÐáâÐâãàÕ",
+T_COPY_LINK_LOCATION, "ºÞßØàÐø ÜÕáâÞ ÒÕ×Õ",
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "¸",
+T_HK_GO_BACK, "Ý",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "á",
+T_HK_RELOAD, "¿",
+T_HK_BOOKMARKS, "¾",
+T_HK_NEW_WINDOW, "Ò",
+T_HK_SAVE_AS, "Ú",
+T_HK_SAVE_URL_AS, "Ã",
+T_HK_SAVE_FORMATTED_DOCUMENT, "ä",
+T_HK_COPY_URL_LOCATION, "â",
+T_HK_KILL_BACKGROUND_CONNECTIONS, "Ñ",
+T_HK_KILL_ALL_CONNECTIONS, "ú",
+T_HK_FLUSH_ALL_CACHES, "ç",
+T_HK_RESOURCE_INFO, "à",
+T_HK_MEMORY_INFO, "Õ",
+T_HK_OS_SHELL, "©",
+T_HK_RESIZE_TERMINAL, "Û",
+T_HK_EXIT, "×",
+T_HK_SEARCH, "Â",
+T_HK_SEARCH_BACK, "ã",
+T_HK_FIND_NEXT, "á",
+T_HK_FIND_PREVIOUS, "ß",
+T_HK_TOGGLE_HTML_PLAIN, "Ú",
+T_HK_DOCUMENT_INFO, "¸",
+T_HK_HEADER_INFO, "×",
+T_HK_FRAME_AT_FULL_SCREEN, "æ",
+T_HK_HTML_OPTIONS, "Þ",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "Ð",
+T_HK_LANGUAGE, "¨",
+T_HK_CHARACTER_SET, "Á",
+T_HK_TERMINAL_OPTIONS, "â",
+T_HK_VIDEO_OPTIONS, "è",
+T_HK_NETWORK_OPTIONS, "¼",
+T_HK_JAVASCRIPT_OPTIONS, "Ô",
+T_HK_MISCELANEOUS_OPTIONS, "À",
+T_HK_CACHE, "¾",
+T_HK_MAIL_AND_TELNEL, "¿",
+T_HK_ASSOCIATIONS, "Ö",
+T_HK_FILE_EXTENSIONS, "²",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "Ð",
+T_HK_ABOUT, "¾",
+T_HK_KEYS, "Â",
+T_HK_COPYING, "º",
+T_HK_MANUAL, "ã",
+T_HK_HOMEPAGE, "´",
+T_HK_CALIBRATION, "Û",
+T_HK_FILE, "´",
+T_HK_VIEW, "¾",
+T_HK_LINK, "²",
+T_HK_DOWNLOADS, "À",
+T_HK_SETUP, "µ",
+T_HK_HELP, "¿",
+T_HK_DISPLAY_USEMAP, "Ü",
+T_HK_FOLLOW_LINK, "¿",
+T_HK_OPEN_IN_NEW_WINDOW, "¾",
+T_HK_DOWNLOAD_LINK, "à",
+T_HK_RESET_FORM, "¾",
+T_HK_SUBMIT_FORM, "¿",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Ý",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "à",
+T_HK_VIEW_IMAGE, "á",
+T_HK_DOWNLOAD_IMAGE, "ã",
+T_HK_COPY_LINK_LOCATION, "Ü",
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "µ",
+T_HK_WINDOW, "¿",
+T_HK_FULL_SCREEN, "Æ",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/slovak.lng b/intl/slovak.lng
new file mode 100644
index 0000000..02f8fbd
--- /dev/null
+++ b/intl/slovak.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "iso8859-2",
+T__LANGUAGE, "Slovak",
+T__ACCEPT_LANGUAGE, "sk,cs;q=0.5",
+T_OK, "OK",
+T_CANCEL, "Zru¹i»",
+T_BAD_NUMBER, "Chybné èíslo",
+T_NUMBER_EXPECTED, "V rámèeku musí by» èíslo",
+T_NUMBER_OUT_OF_RANGE, "Èíslo je mimo rozsah",
+T_BAD_STRING, "Chybný re»azec",
+T_EMPTY_STRING_NOT_ALLOWED, "Prázdny re»azec nie je dovolený!",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Chyba v konfigurácii",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Nemô¾em zapisova» do konfig. súboru",
+T_BOOKMARK_ERROR, "Chyba zálo¾iek",
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, "Nemô¾em zapisova» do súboru zálo¾iek",
+T_ABOUT, "O programe",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW browser",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Klávesy",
+T_KEYS_DESC, "ESC zobraz menu\n^C, q koniec\n^P, ^N posúvanie hore/dole\n[, ] posúvanie vµavo/vpravo\nup, down posúvanie po odkazoch\n-> skoè na odkaz\n<- spä»\ng choï na URL\nG choï na URL, ktoré je zalo¾ené na aktuálnom\n/ hµadaj dopredu\n? hµadaj dozadu\nn nájdi ïal¹ie\nN nájdi predo¹le\n= informácie o stránke\n\\ zobraz zdroj\nd stiahni",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Kopírovanie",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_2 "\n\nTento program je voµné programové vybavenie; mô¾ete ho ¹íri» a modifikova» podµa ustanovení V¹eobecnej verejnej licencie GNU, vydávanej nadáciou Free Software Foundation; a to buï verzie 2 tejto licencie, alebo (podµa vá¹ho uvá¾enia) kterejkoµvek neskor¹ej verzie.",
+T_RESOURCES, "Zdroje",
+T_CONNECTIONS, "Spojenie",
+T_MEMORY_CACHE, "Pamä»ová cache",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Cache fontov",
+T_IMAGE_CACHE, "Cache obrázkov",
+T_FORMATTED_DOCUMENT_CACHE, "Formátované dokumenty v cache",
+T_DNS_CACHE, "DNS cache",
+T_HANDLES, "handle",
+T_TIMERS, "èasovaèov",
+T_WAITING, "èaká",
+T_CONNECTING, "pripájam",
+T_tRANSFERRING, "prená¹am",
+T_KEEPALIVE, "keep-alive",
+T_BYTES, "bytov",
+T_LETTERS, "písmen",
+T_FILES, "súborov",
+T_LOCKED, "zamknutých",
+T_LOADING, "nahrávam",
+T_IMAGES, "obrázkov",
+T_DOCUMENTS, "dokumentov",
+T_SERVERS, "serverov",
+T_MEMORY_ALLOCATED, "bytov alokovanej pamäti",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Informácie o pamäti",
+T_NO_HISTORY, "®iadna história",
+T_NO_DOWNLOADS, "Niè nes»ahujem",
+T_NO_FRAMES, "Vypnú» rámèeky",
+T_VT_100_FRAMES, "Rámèeky VT100",
+T_LINUX_OR_OS2_FRAMES, "Rámèeky typu Linux alebo OS/2",
+T_KOI8R_FRAMES, "Rámèeky KOI8-R",
+T_FREEBSD_FRAMES, "Rámeèky FreeBSD",
+T_USE_11M, "Pou¾íva» 11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Obmedzi» rámèeky v CP850/852",
+T_BLOCK_CURSOR, "Blokový kurzor",
+T_COLOR, "Farby",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Nastavenia terminálu",
+T_PROXIES, "Proxy",
+T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)",
+T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Domény s priamym prístupom (bez proxy) (oddeµuj èiarkami)",
+T_NETWORK_OPTIONS, "Nastavenia siete",
+T_MAX_CONNECTIONS, "Maximálny poèet spojení",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Maximálny poèet spojení na jeden poèítaè",
+T_RETRIES, "Poèet pokusov",
+T_RECEIVE_TIMEOUT_SEC, "Èasový limit (sek)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Vyèka», keï spojenie nemô¾e by» re¹tartované",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Asynchrónna DNS",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Nastavi» èas stiahnutých súborov",
+T_CACHE_OPTIONS, "Nastavenia cache",
+T_MEMORY_CACHE_SIZE__KB, "Veµkos» cache (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Veµkos» cache obrázkov (KiB)",
+T_FONT_CACHE_SIZE__KB, "Veµkos» cache písmenok",
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Poèet zformatovaných dokumentov",
+T_AGGRESSIVE_CACHE, "Agresívna cache",
+T_HTML_OPTIONS, "Nastavenia HTML",
+T_DISPLAY_TABLES, "Zobrazova» tabuµky",
+T_DISPLAY_FRAMES, "Zobrazova» rámy",
+T_DISPLAY_IMAGES, "Zobrazova» obrázky",
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Zobrazova» linky na obrázky",
+T_LINK_ORDER_BY_COLUMNS, "Poradie odkazov po ståpcoch",
+T_NUMBERED_LINKS, "Èíslované linky",
+T_AUTO_REFRESH, "Automatický refresh",
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Okraj textu",
+T_DEFAULT_CODEPAGE, "©tandardná znaková sada",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorova» informáciu o kódovej stránke",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Otvori» URL ...",
+T_GO_BACK, "Spä»",
+T_GO_FORWARD, "Dopredu",
+T_HISTORY, "História",
+T_RELOAD, "Obnovi»",
+T_NEW_WINDOW, "Nové okno",
+T_SAVE_AS, "Ulo¾i» ako ...",
+T_SAVE_URL_AS, "Ulo¾i» URL ako ...",
+T_SAVE_FORMATTED_DOCUMENT, "Ulo¾i» sformatovaný dokument",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Ukonèi» v¹etky spojenia na pozadí",
+T_KILL_ALL_CONNECTIONS, "Ukonèi» v¹etky spojenia",
+T_FLUSH_ALL_CACHES, "Vyprázdni» cache",
+T_RESOURCE_INFO, "Informácie o zdrojoch",
+T_OS_SHELL, "OS shell",
+T_EXIT, "Koniec",
+T_SEARCH, "Hµada» ...",
+T_SEARCH_BACK, "Hµada» dozadu ...",
+T_FIND_NEXT, "Nasledujúci výskyt vzorky",
+T_FIND_PREVIOUS, "Predchádzajúci výskyt vzorky",
+T_TOGGLE_HTML_PLAIN, "Prepnú» HTML/plain",
+T_DOCUMENT_INFO, "Informacie o dokumente",
+T_FRAME_AT_FULL_SCREEN, "Rám na celú obrazovku",
+T_SAVE_HTML_OPTIONS, "Ulo¾i» nastavenia HTML",
+T_CHARACTER_SET, "Znaková sada",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "Mail a telnet",
+T_MAIL_TELNET_AND_SHELL, "Mail, telnet a shell",
+T_ASSOCIATIONS, "Priradenia",
+T_FILE_EXTENSIONS, "Prípony súborov",
+T_SAVE_OPTIONS, "Ulo¾i» nastavenia",
+T_FILE, "Súbor",
+T_VIEW, "Zobrazenie",
+T_LINK, "Link",
+T_DOWNLOADS, "S»ahovanie",
+T_SETUP, "Nastavenia",
+T_HELP, "Pomoc",
+T_ENTER_URL, "Zadaj URL",
+T_SAVE_URL, "Ulo¾i» URL",
+T_DOWNLOAD, "S»ahovanie",
+T_SAVE_TO_FILE, "Ulo¾i» do súborov",
+T_SEARCH_FOR_TEXT, "Vzorka",
+T_PAGE_P, "(str. ",
+T_PAGE_OF, " z ",
+T_PAGE_CL, ")",
+T_WAITING_IN_QUEUE, "Èaká vo fronte",
+T_LOOKING_UP_HOST, "Hµadám server",
+T_MAKING_CONNECTION, "Naväzujem spojenie",
+T_SOCKS_NEGOTIATION, "Naväzujem Socks spojenie",
+T_SSL_NEGOTIATION, "Vyjednávam SSL",
+T_REQUEST_SENT, "Posielam po¾iadavku",
+T_GETTING_HEADERS, "S»ahujem hlavièku",
+T_LOGGING_IN, "Prihlasujem sa",
+T_SERVER_IS_PROCESSING_REQUEST, "Server spracováva ¾iados»",
+T_TRANSFERRING, "Prená¹am",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Èakám na potvrdenie presmerovania",
+T_INTERRUPTED, "Preru¹ené",
+T_SOCKET_EXCEPTION, "Chyba v sockete",
+T_INTERNAL_ERROR, "Vnútorná chyba",
+T_OUT_OF_MEMORY, "Nedostatok pamäte ",
+T_HOST_NOT_FOUND, "Nena¹iel som server",
+T_ERROR_WRITING_TO_SOCKET, "Chyba pri zapisovaní do socketu",
+T_ERROR_READING_FROM_SOCKET, "Chyba pri èítaní zo socketu",
+T_DATA_MODIFIED, "Dáta boli zmenené",
+T_BAD_URL_SYNTAX, "Chybné URL",
+T_RECEIVE_TIMEOUT, "Èas vypr¹al",
+T_REQUEST_MUST_BE_RESTARTED, "Po¾iadavka sa musí posla» znovu",
+T_CANT_GET_SOCKET_STATE, "Nemô¾em zisti» stav socketu",
+T_CYCLIC_REDIRECT, "Cyklický redirekt",
+T_TOO_LARGE_FILE, "Príli¹ veµký súbor",
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Chybná odpoveï HTTP (mo¾no chybný server)",
+T_HTTP_100, "HTTP 100 (?)",
+T_NO_CONTENT, "Bez obsahu",
+T_UNKNOWN_FILE_TYPE, "Neznámy typ súboru",
+T_ERROR_OPENING_FILE, "Chyba pri otváraní súboru",
+T_BAD_FTP_RESPONSE, "Chybná odpoveï FTP",
+T_FTP_SERVICE_UNAVAILABLE, "FTP nie je prístupné",
+T_BAD_FTP_LOGIN, "Chybný login na FTP",
+T_FTP_PORT_COMMAND_FAILED, "Zlyhal FTP PORT príkaz (nemá¹ firewall?)",
+T_FILE_NOT_FOUND, "Súbor nenájdený",
+T_FTP_FILE_ERROR, "FTP chyba súboru",
+T_UNKNOWN_ERROR, "Neznáma chyba",
+T_RECEIVED, "Prijaté",
+T_OF, "z",
+T_AVG, "priemerne",
+T_CUR, "momentálne",
+T_AVERAGE_SPEED, "Priemerná rýchlos»",
+T_SPEED, "Rýchlos»",
+T_CURRENT_SPEED, "momentálna rýchlos»",
+T_ELAPSED_TIME, "Uplynulý èas",
+T_ESTIMATED_TIME, "predpokladaný èas",
+T_BACKGROUND, "Na pozadie",
+T_ABORT, "Ukonèi»",
+T_ABORT_AND_DELETE_FILE, "Ukonèi» a zmaza» súbor",
+T_YES, "Áno",
+T_NO, "Nie",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Chyba pri s»ahovaní súboru",
+T_COULD_NOT_WRITE_TO_FILE, "Nemô¾em zapisova» do súboru",
+T_ERROR_DOWNLOADING, "Chyba pri s»ahovaní",
+T_ERROR_LOADING, "Chyba pri naèítaní",
+T_COULD_NOT_CREATE_FILE, "Nemô¾em vytvori» súbor",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Neznámy typ",
+T_CONTENT_TYPE_IS, "Typ obsahu je",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Otvori», ulo¾i» alebo zobrazi» súbor?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Otvori» alebo zobrazi» súbor?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Ulo¾i» alebo zobrazi» súbor?",
+T_SAVE, "Ulo¾i»",
+T_DISPLAY, "Zobrazi»",
+T_WHAT_TO_DO, "Èo mám robi»?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Otvori» súbor pomocou",
+T_SAVE_IT_OR_DISPLAY_IT, "ulo¾i» alebo zobrazi»?",
+T_OPEN, "Otvori»",
+T_OPEN_WITH, "Otvori» pomocou",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Nasledova» presmerovanie a posla» dáta na adresu",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Posla» dáta z formulára na adresu",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Posla» dáta z formulára znova na adresu",
+T_WARNING, "Upozornenie",
+T_ERROR, "Chyba",
+T_WELCOME, "Vitaj priateµko!",
+T_WELCOME_TO_LINKS, "Vitaj v Linkse!",
+T_BASIC_HELP, "Stlaè ESC pre menu. Ak chce¹ vidie» manuál, zvoµ v menu Pomoc->Manuál.",
+T_LABEL, "Popis",
+T_CONTENT_TYPES, "Typ(y) obsahu",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' je nahradené menom súboru)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Zablokuj terminál, poèas behu programu",
+T_RUN_ON_TERMINAL, "Spusti» v termináli",
+T_RUN_IN_XWINDOW, "Spusti» v X-Windows okne",
+T_ASK_BEFORE_OPENING, "Opýta» sa pred otvorením",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Zmaza» priradenie",
+T_ASSOCIATION, "priradenie",
+T_EXTENSION_S, "Prípona(y)",
+T_CONTENT_TYPE, "Typ obsahu",
+T_DELETE_EXTENSION, "Zmaza» príponu",
+T_EXTENSION, "Prípona",
+T_eXTENSION, "príponu",
+T_ERROR_WHILE_POSTING_FORM, "Chyba pri odosielaní formulára",
+T_COULD_NOT_GET_FILE, "Nemô¾em získa» súbor",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "®iadne predchádzajúce hµadania",
+T_SEARCH_STRING_NOT_FOUND, "Re»azec nenájdený",
+T_SAVE_ERROR, "Chyba pri ukladaní",
+T_ERROR_WRITING_TO_FILE, "Chyba pri zápisovaní do súboru",
+T_DISPLAY_USEMAP, "Zobrazi» mapu",
+T_FOLLOW_LINK, "Otvori» odkaz",
+T_OPEN_IN_NEW_WINDOW, "Otvori» v novom okne",
+T_DOWNLOAD_LINK, "Stiahnu» odkaz",
+T_RESET_FORM, "Vyèisti» formulár",
+T_SUBMIT_FORM, "Odosla» formulár",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Odosla» formulár a otvori» v novom okne",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Odosla» formulár a stiahnu»",
+T_VIEW_IMAGE, "Zobrazi» obrázok",
+T_DOWNLOAD_IMAGE, "Stiahnu» obrázok",
+T_NO_LINK_SELECTED, "®iadny link",
+T_IMAGE, "Obrázok",
+T_USEMAP, "Mapa obrázkov",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Obrazovka",
+T_WINDOW, "Okno",
+T_FULL_SCREEN, "Celá obrazovka",
+T_BEOS_TERMINAL, "BeOS terminál",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Odosla» formulár na",
+T_POST_FORM_TO, "Po¹li formulár na",
+T_RADIO_BUTTON, "Rádiový gombík",
+T_CHECKBOX, "Za¹krtávacie pole",
+T_SELECT_FIELD, "Výberové pole",
+T_TEXT_FIELD, "Textové pole",
+T_TEXT_AREA, "Textová plocha",
+T_FILE_UPLOAD, "Upload súboru",
+T_PASSWORD_FIELD, "Políèko s heslom",
+T_BUTTON, "Tlaèidlo",
+T_NAME, "meno",
+T_VALUE, "hodnota",
+T_HIT_ENTER_TO, "stlaè ENTER pre",
+T_SUBMIT_TO, "bolo odoslané na",
+T_POST_TO, "bolo poslané na",
+T_INFO, "Informácie",
+T_HEADER_INFO, "Informácie o hlavièke",
+T_YOU_ARE_NOWHERE, "Nemá¹ zobrazenú ¾iadnu stránku",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Veµkos»",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "neúplný",
+T_CODEPAGE, "Znaková sada",
+T_ASSUMED, "predpokladám",
+T_IGNORING_SERVER_SETTING, "ignoruj informácie zo serveru",
+T_SERVER, "Server",
+T_DATE, "Dátum",
+T_LAST_MODIFIED, "Posledná zmena",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Jazyk",
+T_GO_TO_LINK, "Choï na odkaz",
+T_ENTER_LINK_NUMBER, "Zadaj èíslo linky",
+T_RESIZE_TERMINAL, "Zmeò veµkos» terminálu",
+T_COLUMNS, "Ståpce",
+T_ROWS, "Riadky",
+T_GOTO, "Choï na",
+T_CLOSE, "Zatvori»",
+T_FOLDER, "Adresár",
+T_fOLDER, "adresár",
+T_ADD, "Prida»",
+T_DELETE, "Zmaza»",
+T_EDIT, "Upravi»",
+T_MOVE, "Presunú»",
+T_NO_ITEMS_SELECTED, "®iadny prvok nebol oznaèený",
+T_UNSELECT_ALL, "Odznaèi»",
+T_BOOKMARKS,"Zálo¾ky",
+T_BOOKMARK, "zálo¾ku",
+T_ADD_BOOKMARK, "Prida» zálo¾ku",
+T_ADD_ASSOCIATION, "Prida» priradenie",
+T_ADD_EXTENSION, "Prida» príponu",
+T_ADD_FOLDER, "Prida» adresár",
+T_BOOKMARK_TITLE, "Názov zálo¾ky",
+T_EDIT_BOOKMARK, "Upravi» zálo¾ku",
+T_EDIT_ASSOCIATION, "Upravi» priradenie",
+T_EDIT_EXTENSION, "Upravi» príponu",
+T_DELETE_BOOKMARK, "Zma¾a» zálo¾ku",
+T_EDIT_FOLDER, "Upravi» adresár",
+T_DELETE_FOLDER, "Zmaza» adresár",
+T_NOT_EMPTY_SURE_DELETE, "nie je prázdny. Naozaj vymaza»?",
+T_BOOKMARK_MANAGER, "Správca zálo¾iek",
+T_ASSOCIATIONS_MANAGER, "Správca priradení",
+T_EXTENSIONS_MANAGER, "Mana¾ér prípon",
+T_url, "URL",
+T_NNAME, "Názov",
+T_EXIT_LINKS, "Ukonèi» Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "Zatvori» okno?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Ukonèi» Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Ukonèi» Links a preru¹i» prebiehajúce s»ahovanie?",
+T_HTTP_OPTIONS, "Nastavenia HTTP",
+T_FTP_OPTIONS, "Nastavenia FTP",
+T_HTTP_BUG_WORKAROUNDS, "Obchádzanie chýb v HTTP",
+T_USE_HTTP_10, "Pou¾ívaj iba HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Povoli» zoznam chybných serverov",
+T_BROKEN_302_REDIRECT, "Nesprávny 302 redirekt (poru¹uje RFC, ale je kompatibilní s Netscapom)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Nedr¾ 'keepalive' spojenie po POST po¾iadavke (niektoré zabugované PHPcka to potrebujú)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "®iadny referer",
+T_REFERER_SAME_URL, "Referer rovnaký ako URL",
+T_REFERER_FAKE, "Fixný referer",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "Pravdivý referer (nie je to bezpeèné)",
+T_FAKE_REFERER, "Fixný referer",
+T_FAKE_USERAGENT, "Hlási» prehliadaè",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "emailová adresa pre anonymný FTP prístup",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Manuál",
+T_HOMEPAGE, "Domovská stránka",
+T_CALIBRATION, "Kalibrácia",
+T_MAILTO_PROG, "Program pre mail (% je nahradene adresou)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Program pre telnet (% je nahradene menom stroje a prípadne portom)",
+T_MAGNET_PROG, "Program pre magnet (% je nahradene URL)",
+T_TN3270_PROG, "Program pre tn3270 (% je je nahradene menom stroje a prípadne portom)",
+T_MMS_PROG, "Program pre mms (% je nahradene URL)",,
+T_MAIL_AND_TELNET_PROGRAMS, "Programy pre mail a telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Programy pre mail a telnet a shell",
+T_NO_PROGRAM, "®iadny program",
+T_NO_PROGRAM_SPECIFIED_FOR, "Nie je nastavený ¾iadny program pre",
+T_MAIL, "mail",
+T_TELNET, "telnet",
+T_MAGNET, "magnet",
+T_TN3270, "tn3270",
+T_MMS, "mms",
+T_BAD_MAILTO_URL, "Chybné mailové URL",
+T_BAD_TELNET_URL, " Chybné terminálove URL (telnet)",
+T_BAD_TN3270_URL, " Chybné terminálove URL (tn3270)",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "U¾ívateµské meno",
+T_PASSWORD, "Heslo",
+T_ENTER_USERNAME, "Zadaj login ",
+T_AT, "na adrese ",
+T_SSL_ERROR, "Chyba SSL",
+T_NO_SSL, "Táto verzia Linksu nepodporuje SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "Naozaj zmaza»",
+T_BOOKMARKS_ALREADY_IN_USE, "Táto zálo¾ka u¾ existuje",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Priradenia sú u¾ otvorené v inom okne",
+T_EXTENSIONS_ALREADY_IN_USE, "Táto prípona u¾ existuje",
+T_VIDEO_OPTIONS, "Nastavenia grafiky",
+T_VIDEO_OPTIONS_TEXT, "Doporuèené nastavenie u¾ívateµskej gammy: 1.33 v tmavej komore, 1.11 v temnej miestnosti, 1.00 pri be¾nom osvetlení, 0.88 v miestnosti so silným osvetlením",
+T_RED_DISPLAY_GAMMA, "Gamma: èervená",
+T_GREEN_DISPLAY_GAMMA, "zelená",
+T_BLUE_DISPLAY_GAMMA, "modrá",
+T_USER_GAMMA, "u¾ívateµská",
+T_ALERT, "Poplach",
+T_QUESTION, "Otázka",
+T_KILL_SCRIPT, "Ukonèi» skript",
+T_KILL_ALL_SCRIPTS, "Ukonèi» v¹etky skripty",
+T_SCRIPT_KILLED_BY_USER, "Skript bol ukonèený u¾ivateµom",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Skript chce zavrie» okno",
+T_ENTER_STRING, "Zadaj text",
+T_JAVASCRIPT_OPTIONS, "Nastavenia JavaScriptu",
+T_ENABLE_JAVASCRIPT, "Povoli» JavaScript",
+T_VERBOSE_JS_ERRORS, "Upozoròova» na chyby JavaScriptu",
+T_VERBOSE_JS_WARNINGS, "Upozoròova» na varovania JavaScriptu",
+T_MISCELANEOUS_OPTIONS, "Iné nastavenia",
+T_JAVASCRIPT_ERROR, "Chyba JavaScriptu",
+T_JAVASCRIPT_WARNING, "Varovanie JavaScriptu",
+T_DISMISS, "Odmietnu»",
+T_MENU_FONT_SIZE, "Veµkos» písma v menu",
+T_USER_FONT_SIZE, "U¾ívateµská veµkos» fontov",
+T_TURN_OFF_WARNINGS, "Vypnú» hlásenie varovaní",
+T_BOOKMARKS_ENCODING, "Znaková sada zálo¾iek",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Script chce ís» na URL",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Script chce otvori» nové okno s URL",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Script chce pristupova» k histórii",
+T_TO_URL, "na URL",
+T_GOTO_HISTORY, "História",
+T_ALLOW, "Povoli»",
+T_REJECT, "Odmietnu»",
+T_ENABLE_ALL_CONVERSIONS, "Povoli» v¹etky konverzie",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Povoli» globálne vyhµadávanie mien",
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, "Håbka rekurzie JavaScriptu",
+T_MENU_BACKGROUND_COLOR, "Farba pozadia menu",
+T_MENU_FOREGROUND_COLOR, "Farba popredia menu",
+T_SCROLL_BAR_BAR_COLOR, "Farba posuvníka scrollovacej li¹ty",
+T_SCROLL_BAR_AREA_COLOR, "Farba scrollovacej li¹ty",
+T_SCROLL_BAR_FRAME_COLOR, "Farba ramceka scrollovacej li¹ty",
+T_BOOKMARKS_FILE, "Súbor zálo¾iek",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Farby zadávajte vo formáte sRGB (0-255 hexadecimálne v RRGGBB pre ka¾dú farbu)",
+T_JS_MEMORY_LIMIT_KB, "Pamä» vyhradená pre Script (KiB)",
+T_DITHER_LETTERS, "Pou¾i» dithering na písmena",
+T_DITHER_IMAGES, "Pou¾i» dithering na obrázky",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "Zväè¹enie obrázkov (%)",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, "Optimalizova» pre monitor",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optimalizova» pre LCD (RGB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optimalizova» pre LCD (BGR)",
+T_ASPECT_RATIO, "Pomer strán",
+T_ASPECT_CORRECTION_ON, "Zapnú» korekciu pomeru strán",
+T_KEYBOARD_CODEPAGE, "Kódová stránka klávesnice",
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "O",
+T_HK_GO_BACK, "S",
+T_HK_GO_FORWARD, "D",
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "B",
+T_HK_BOOKMARKS, "Y",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "A",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, "C",
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, "P",
+T_HK_FLUSH_ALL_CACHES, "V",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "L",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "E",
+T_HK_SEARCH, "H",
+T_HK_SEARCH_BACK, "Z",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "L",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, "E",
+T_HK_FRAME_AT_FULL_SCREEN, "R",
+T_HK_HTML_OPTIONS, "T",
+T_HK_COLOR, "F",
+T_HK_SAVE_HTML_OPTIONS, "U",
+T_HK_LANGUAGE, "J",
+T_HK_CHARACTER_SET, "Z",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, "V",
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, "J",
+T_HK_MISCELANEOUS_OPTIONS, "I",
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "P",
+T_HK_BLOCK_LIST, "B",
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "O",
+T_HK_KEYS, "K",
+T_HK_COPYING, "P",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, "D",
+T_HK_CALIBRATION, "L",
+T_HK_FILE, "S",
+T_HK_VIEW, "Z",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "N",
+T_HK_HELP, "P",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "O",
+T_HK_OPEN_IN_NEW_WINDOW, "N",
+T_HK_DOWNLOAD_LINK, "S",
+T_HK_RESET_FORM, "V",
+T_HK_SUBMIT_FORM, "P",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "N",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "S",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "O",
+T_HK_COPY_LINK_LOCATION, "C",
+T_HK_BLOCK_URL, "B",
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "O",
+T_HK_FULL_SCREEN, "C",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/spanish.lng b/intl/spanish.lng
new file mode 100644
index 0000000..b037157
--- /dev/null
+++ b/intl/spanish.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-1",
+T__LANGUAGE, "Spanish",
+T__ACCEPT_LANGUAGE, "es",
+T_OK, "Aceptar",
+T_CANCEL, "Cancelar",
+T_BAD_NUMBER, "Número no válido",
+T_NUMBER_EXPECTED, "Se espera número en campo",
+T_NUMBER_OUT_OF_RANGE, "Número fuera de rango",
+T_BAD_STRING, "Cadena no válida",
+T_EMPTY_STRING_NOT_ALLOWED, "No se permite cadena vacía",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Error de configuración",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Imposible escribir en fichero de configuración",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Acerca de",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nNavegador en modo texto similar a Lynx",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Teclas",
+T_KEYS_DESC, "ESC Mostrar menú\n^C, q Quitar\n^P, ^N Deslizar arriba, abajo\n[, ] Deslizar izquierda, derecha\narriba, abajo Seleccionar enlace\n-> Seguir enlace\n<- Volver atrás\ng Ir a URL\nG Ir a URL según URL actual\n/ Buscar\n? Buscar atrás\nn Buscar siguiente\nN Buscar anterior\n= Información del documento\n\\ Código fuente del documento\nd Descargar",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Licencia",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nEste programa es software libre; puede redistribuirlo o modificarlo bajo los términos de la GNU General Public License como ha sido publicada por la Free Software Foundation; también bajo la versión 2 de la licencia, o (a su elección) cualquier otra versión posterior.",
+T_RESOURCES, "Recursos",
+T_CONNECTIONS, "Conexiones",
+T_MEMORY_CACHE, "Cache en memoria",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "Cache de documentos con formato",
+T_DNS_CACHE, NULL,
+T_HANDLES, "Asas",
+T_TIMERS, "temporizadores",
+T_WAITING, NULL,
+T_CONNECTING, "conectando",
+T_tRANSFERRING, "transfiriendo",
+T_KEEPALIVE, "Mantener viva",
+T_BYTES, "bytes",
+T_LETTERS, NULL,
+T_FILES, "Ficheros",
+T_LOCKED, "bloqueado",
+T_LOADING, "cargando",
+T_IMAGES, NULL,
+T_DOCUMENTS, "documentos",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "bytes de memoria reservados",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Información de memoria",
+T_NO_HISTORY, "Sin historial",
+T_NO_DOWNLOADS, "Sin descargas",
+T_NO_FRAMES, "Sin recuadros",
+T_VT_100_FRAMES, "Recuadros VT 100",
+T_LINUX_OR_OS2_FRAMES, "Recuadros OS/2 o Linux",
+T_KOI8R_FRAMES, "Recuadros KOI8-R",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Usar ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Restringir recuadros a los de cp850/852",
+T_BLOCK_CURSOR, "Cursor de bloque",
+T_COLOR, "Color",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Opciones de terminal",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "Proxy HTTP (máquina:puerto)",
+T_FTP_PROXY__HOST_PORT, "Proxy FTP (máquina:puerto)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Lista (separada por comas) de dominios para los que no se usa proxy",
+T_NETWORK_OPTIONS, "Opciones de red",
+T_MAX_CONNECTIONS, "Máximo de conexiones",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Máximo de conexiones a una máquina",
+T_RETRIES, "Reintentos",
+T_RECEIVE_TIMEOUT_SEC, "Plazo para recepción (seg)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Plazo si no es rearrancable",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Búsqueda DNS asíncrona",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Poner hora en ficheros descargados",
+T_CACHE_OPTIONS, "Opciones de cache",
+T_MEMORY_CACHE_SIZE__KB, "Tamaño de la memoria cache (KiB)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Número de documentos formateados",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "Opciones HTML",
+T_DISPLAY_TABLES, "Mostrar tablas",
+T_DISPLAY_FRAMES, "Mostrar marcos",
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Mostrar enlaces a imágenes",
+T_LINK_ORDER_BY_COLUMNS, "Mover por columnas en tabla",
+T_NUMBERED_LINKS, "Enlaces numerados",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Margen del texto",
+T_DEFAULT_CODEPAGE, "Página de códigos por omisión",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "No respetar el juego de carácteres enviado por el servidor",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Ir a URL",
+T_GO_BACK, "Ir atrás",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Historial",
+T_RELOAD, "Recargar",
+T_NEW_WINDOW, "Nueva ventana",
+T_SAVE_AS, "Guardar como",
+T_SAVE_URL_AS, "Guardar URL como",
+T_SAVE_FORMATTED_DOCUMENT, "Guardar documento con formato",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Matar conexiones en segundo plano",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Vaciar todas las caches",
+T_RESOURCE_INFO, "Información de recursos",
+T_OS_SHELL, "Shell del SO",
+T_EXIT, "Salir",
+T_SEARCH, "Buscar",
+T_SEARCH_BACK, "Buscar atrás",
+T_FIND_NEXT, "Buscar siguiente",
+T_FIND_PREVIOUS, "Buscar anterior",
+T_TOGGLE_HTML_PLAIN, "Cambiar HTML/texto ASCII",
+T_DOCUMENT_INFO, "Información del documento",
+T_FRAME_AT_FULL_SCREEN, "Marco en pantalla completa",
+T_SAVE_HTML_OPTIONS, "Guardar opciones HTML",
+T_CHARACTER_SET, "Juego de caracteres",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "Correo y telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Asociaciones",
+T_FILE_EXTENSIONS, "Extensiones de fichero",
+T_SAVE_OPTIONS, "Guardar opciones",
+T_FILE, "Fichero",
+T_VIEW, "Ver",
+T_LINK, "Enlace",
+T_DOWNLOADS, "Descargas",
+T_SETUP, "Configuración",
+T_HELP, "Ayuda",
+T_ENTER_URL, "Introduce URL",
+T_SAVE_URL, "Guardar URL",
+T_DOWNLOAD, "Descargar",
+T_SAVE_TO_FILE, "Guardar en fichero",
+T_SEARCH_FOR_TEXT, "Buscar texto",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Esperando en cola",
+T_LOOKING_UP_HOST, "Buscando máquina",
+T_MAKING_CONNECTION, "Realizando conexión",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, NULL,
+T_REQUEST_SENT, "Petición enviada",
+T_GETTING_HEADERS, "Recibiendo cabeceras",
+T_LOGGING_IN, NULL,
+T_SERVER_IS_PROCESSING_REQUEST, "El servidor está procesando la petición",
+T_TRANSFERRING, "Transfiriendo",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Esperando confirmación para la redirección",
+T_INTERRUPTED, "Interrumpido",
+T_SOCKET_EXCEPTION, "Excepción de socket",
+T_INTERNAL_ERROR, "Error interno",
+T_OUT_OF_MEMORY, "No queda memoria libre",
+T_HOST_NOT_FOUND, "Máquina no encontrada",
+T_ERROR_WRITING_TO_SOCKET, "Error escribiendo en socket",
+T_ERROR_READING_FROM_SOCKET, "Error leyendo del socket",
+T_DATA_MODIFIED, "Datos modificados",
+T_BAD_URL_SYNTAX, "Sintaxis de URL incorrecta",
+T_RECEIVE_TIMEOUT, "Plazo de recepción sobrepasado",
+T_REQUEST_MUST_BE_RESTARTED, "La petición debe ser recomenzada",
+T_CANT_GET_SOCKET_STATE, "No puedo saber el estado del socket",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Respuesta HTTP incorrecta",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Sin contenido",
+T_UNKNOWN_FILE_TYPE, "Tipo de fichero desconocido",
+T_ERROR_OPENING_FILE, "Error abriendo fichero",
+T_BAD_FTP_RESPONSE, "Respuesta FTP incorrecta",
+T_FTP_SERVICE_UNAVAILABLE, "Servicio FTP no disponible",
+T_BAD_FTP_LOGIN, "Login FTP incorrecto",
+T_FTP_PORT_COMMAND_FAILED, "Ha fallado mandato del puerto FTP",
+T_FILE_NOT_FOUND, "Fichero no encontrado",
+T_FTP_FILE_ERROR, "Error FTP de fichero",
+T_UNKNOWN_ERROR, "Error desconocido",
+T_RECEIVED, "Recibidos",
+T_OF, "de",
+T_AVG, "media",
+T_CUR, "actual",
+T_AVERAGE_SPEED, "Velocidad media",
+T_SPEED, "Velocidad",
+T_CURRENT_SPEED, "velocidad actual",
+T_ELAPSED_TIME, "Tiempo transcurrido",
+T_ESTIMATED_TIME, "tiempo estimado",
+T_BACKGROUND, "2º plano",
+T_ABORT, "Cancelar",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Sí",
+T_NO, "No",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Error de descarga",
+T_COULD_NOT_WRITE_TO_FILE, "No puedo escribir en fichero",
+T_ERROR_DOWNLOADING, "Error de descarga",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "No puedo crear fichero",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Tipo desconocido",
+T_CONTENT_TYPE_IS, "El tipo de contenido es",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "¿Quiere guardar o ver este fichero?",
+T_SAVE, "Guardar",
+T_DISPLAY, "Ver",
+T_WHAT_TO_DO, "¿Qué hago?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "¿Quiere abrir este fichero con",
+T_SAVE_IT_OR_DISPLAY_IT, "¿Guardar o verlo?",
+T_OPEN, "Abrir",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "¿Quiere seguir la redirección y enviar los datos del formulario a la URL",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "¿Quiere enviar los datos del formulario a la URL",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "¿Quiere reenviar los datos del formulario a la URL",
+T_WARNING, "Atención",
+T_ERROR, "Error",
+T_WELCOME, "Bienvenido",
+T_WELCOME_TO_LINKS, "¡Bienvenido a links!",
+T_BASIC_HELP, "Pulse ESC para menú. Seleccione Ayuda->Manual en el menú para el manual de usuario.",
+T_LABEL, "Etiqueta",
+T_CONTENT_TYPES, "Tipos de contenido",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programa ('%' es reemplazado por el nombre del fichero)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Bloquear terminal mientras el programa se ejecuta",
+T_RUN_ON_TERMINAL, "Ejecutar en terminal",
+T_RUN_IN_XWINDOW, "Ejecutar en X-Window",
+T_ASK_BEFORE_OPENING, "Preguntar antes de abrir",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Eliminar asociación",
+T_ASSOCIATION, "Asociación",
+T_EXTENSION_S, "Extensiones",
+T_CONTENT_TYPE, "Tipo de contenido",
+T_DELETE_EXTENSION, "Eliminar extensión",
+T_EXTENSION, "Extensión",
+T_eXTENSION, "extensión",
+T_ERROR_WHILE_POSTING_FORM, "Error durante envío del formulario",
+T_COULD_NOT_GET_FILE, "No puedo conseguir el fichero",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "No hay busqueda anterior",
+T_SEARCH_STRING_NOT_FOUND, "Cadena no encontrada",
+T_SAVE_ERROR, "Error al guardar",
+T_ERROR_WRITING_TO_FILE, "Error escribiendo en fichero",
+T_DISPLAY_USEMAP, "Mostrar Usemap",
+T_FOLLOW_LINK, "Seguir enlace",
+T_OPEN_IN_NEW_WINDOW, "Abrir en nueva ventana",
+T_DOWNLOAD_LINK, "Descargar enlace",
+T_RESET_FORM, "Limpiar formulario",
+T_SUBMIT_FORM, "Enviar formulario",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Enviar formulario y abrir en nueva ventana",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Enviar formulario y descargar",
+T_VIEW_IMAGE, "Ver imagen",
+T_DOWNLOAD_IMAGE, "Descargar imagen",
+T_NO_LINK_SELECTED, "No hay enlace seleccionado",
+T_IMAGE, "Imagen",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, NULL,
+T_SCREEN, "Pantalla",
+T_WINDOW, "Ventana",
+T_FULL_SCREEN, "Pantalla completa",
+T_BEOS_TERMINAL, "terminal BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Enviar formulario a",
+T_POST_FORM_TO, "Enviar (Post) formulario a",
+T_RADIO_BUTTON, "Botón exclusivo",
+T_CHECKBOX, "Botón de selección",
+T_SELECT_FIELD, "Campo de selección",
+T_TEXT_FIELD, "Campo de texto",
+T_TEXT_AREA, "Cuadro de texto",
+T_FILE_UPLOAD, "Enviar fichero",
+T_PASSWORD_FIELD, "Campo de contraseña",
+T_BUTTON, NULL,
+T_NAME, "nombre",
+T_VALUE, "valor",
+T_HIT_ENTER_TO, "Pulse ENTRAR para",
+T_SUBMIT_TO, "enviar a",
+T_POST_TO, "enviar (Post) a",
+T_INFO, "Información",
+T_HEADER_INFO, "Información de cabecera",
+T_YOU_ARE_NOWHERE, "¡Usted no está en ninguna parte!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Tamaño",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "incompleto",
+T_CODEPAGE, "Página de códigos",
+T_ASSUMED, "asumido",
+T_IGNORING_SERVER_SETTING, "ignorando configuración del servidor",
+T_SERVER, "Servidor",
+T_DATE, "Fecha",
+T_LAST_MODIFIED, "Ultima modificación",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Idioma",
+T_GO_TO_LINK, "Ir a enlace",
+T_ENTER_LINK_NUMBER, "Introduce nº de enlace",
+T_RESIZE_TERMINAL, "Redimensionar terminal",
+T_COLUMNS, "Columnas",
+T_ROWS, "Filas",
+T_GOTO, "Ir a",
+T_CLOSE, "Cerrar",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "Añadir",
+T_DELETE, "Borrar",
+T_EDIT, "Editar",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "Marcadores",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "Añadir marcador",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, "Título del marcador",
+T_EDIT_BOOKMARK, "Editar marcador",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "Eliminar marcador",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "Gestor de marcadores",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, "URL",
+T_NNAME, "Nombre",
+T_EXIT_LINKS, "Salir de Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "¿Seguro que quiere salir de Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "¿Seguro que quiere salir de Links (y cortar todas las descargas)?",
+T_HTTP_OPTIONS, "Opciones HTTP",
+T_FTP_OPTIONS, "Opciones FTP",
+T_HTTP_BUG_WORKAROUNDS, "Rodeo para errores en HTTP",
+T_USE_HTTP_10, "Usar HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Permitir lista negra de servidores con errores",
+T_BROKEN_302_REDIRECT, "Redirección 302 incorrecta (no respeta el RFC, pero es compatible con Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "No mantener viva la conexión después de petición POST (algunas bases de datos PHP incorrectas lo necesitan)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Contraseña para login anónimo",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Manual de usuario",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, "Programa de correo (% es reemplazado por la dirección)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Programa de Telnet (% es reemplazado por \"máquina\" o \"máquina puerto\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Programa Tn3270(% es reemplazado con \"máquina\" o \"máquina puerto\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Programas de Correo y Telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Sin programa",
+T_NO_PROGRAM_SPECIFIED_FOR, "Sin programa especificado para",
+T_MAIL, "correo",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "URL mailto incorrecta",
+T_BAD_TELNET_URL, "URL telnet incorrecta",
+T_BAD_TN3270_URL, "URL tn3270 incorrecta",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "Identificador de usuario",
+T_PASSWORD, "Clave de acceso",
+T_ENTER_USERNAME, "Escriba su identificador de usuario para ",
+T_AT, "en ",
+T_SSL_ERROR, "Error de SSL",
+T_NO_SSL, "Esta versión de Links no está preparada para SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "I",
+T_HK_GO_BACK, "T",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "C",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "G",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "X",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "V",
+T_HK_RESOURCE_INFO, "F",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "S",
+T_HK_SEARCH, "B",
+T_HK_SEARCH_BACK, "A",
+T_HK_FIND_NEXT, "S",
+T_HK_FIND_PREVIOUS, "N",
+T_HK_TOGGLE_HTML_PLAIN, "C",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "M",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "G",
+T_HK_LANGUAGE, "I",
+T_HK_CHARACTER_SET, "J",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "R",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "O",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "G",
+T_HK_ABOUT, "A",
+T_HK_KEYS, "T",
+T_HK_COPYING, "L",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "E",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "C",
+T_HK_HELP, "A",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "S",
+T_HK_OPEN_IN_NEW_WINDOW, "A",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/swedish.lng b/intl/swedish.lng
new file mode 100644
index 0000000..3196937
--- /dev/null
+++ b/intl/swedish.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-1",
+T__LANGUAGE, "Swedish",
+T__ACCEPT_LANGUAGE, "sv",
+T_OK, "Ok",
+T_CANCEL, "Avbryt",
+T_BAD_NUMBER, "Felaktigt nummer",
+T_NUMBER_EXPECTED, "Väntade mig nummer i fältet",
+T_NUMBER_OUT_OF_RANGE, "Nummer i felaktigt intervall",
+T_BAD_STRING, "Felaktig sträng",
+T_EMPTY_STRING_NOT_ALLOWED, "Tom sträng ej tillåten",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Konfigurationsfel",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Kan inte skriva till konfigurationsfilen",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Om",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nLynx-liknande bläddrare för WWW",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Tangenter",
+T_KEYS_DESC, "ESC visa meny\n^C, q avsluta\n^P, ^N bläddra upp/ner\n[, ] bläddra vänster/höger\nupp,ner välj länk\n-> följ länk\n<- gå tillbaka\ng gå till URL\nG gå till URL baserat på nuvarande URL\n/ sök\n? sök bakåt\nn sök nästa\nN sök föregående\n= dokumentinformation\n\\ dokumentkällkod\nd hämta",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Licens",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\nSvensk översättning (C) 2000-2001 Free Software Foundation och Martin Norbäck\n\nDetta program är fri programvara. Du kan distribuera det och/eller modifiera det under villkoren i GNU General Public License, publicerad av Free Software Foundation, antingen version 2 eller (om du så vill) någon senare version.",
+T_RESOURCES, "Resurser",
+T_CONNECTIONS, "uppkopplingar",
+T_MEMORY_CACHE, "Minnescache",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "Formatterad dokumentcache",
+T_DNS_CACHE, NULL,
+T_HANDLES, "handtag",
+T_TIMERS, "tidtagare",
+T_WAITING, NULL,
+T_CONNECTING, "kopplar upp",
+T_tRANSFERRING, "för över",
+T_KEEPALIVE, "håll vid liv",
+T_BYTES, "byte",
+T_LETTERS, NULL,
+T_FILES, "filer",
+T_LOCKED, "låst",
+T_LOADING, "laddar",
+T_IMAGES, NULL,
+T_DOCUMENTS, "dokument",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "byte minne allokerat",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Minnesinformation",
+T_NO_HISTORY, "Ingen historik",
+T_NO_DOWNLOADS, "Inga hämtningar",
+T_NO_FRAMES, "Inga ramar",
+T_VT_100_FRAMES, "VT100-ramar",
+T_LINUX_OR_OS2_FRAMES, "Linux eller OS/2-ramar",
+T_KOI8R_FRAMES, "KOI8-R-ramar",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "Använd ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Begränsa ramar i cp850/852",
+T_BLOCK_CURSOR, "Fylld markör",
+T_COLOR, "Färg",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Terminalalternativ",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP-proxy (värd:port)",
+T_FTP_PROXY__HOST_PORT, "FTP-proxy (värd:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Direkt åtkomst (utan proxy) till dessa domäner (kommaseparerade)",
+T_NETWORK_OPTIONS, "Nätverksalternativ",
+T_MAX_CONNECTIONS, "Max anslutningar",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Max anslutningar till värd",
+T_RETRIES, "Antal försök",
+T_RECEIVE_TIMEOUT_SEC, "Försökstid vid hämtning (sek)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Försökstid när ej omstartningsbar",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Asynkron DNS-uppslagning",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Sätt tidsinformation på hämtade filer",
+T_CACHE_OPTIONS, "Cachealternativ",
+T_MEMORY_CACHE_SIZE__KB, "Storlek på minnescache (KiB)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Antal formatterade dokument",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "HTML-alternativ",
+T_DISPLAY_TABLES, "Visa tabeller",
+T_DISPLAY_FRAMES, "Visa ramar",
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Visa länkar till bilder",
+T_LINK_ORDER_BY_COLUMNS, "Flytta längs kolumner i tabell",
+T_NUMBERED_LINKS, "Numrera länkar",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Textmarginal",
+T_DEFAULT_CODEPAGE, "Standardteckenuppsättning",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorera information om teckenuppsättning från servern",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Gå till URL",
+T_GO_BACK, "Gå tillbaka",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Historik",
+T_RELOAD, "Ladda om",
+T_NEW_WINDOW, "Nytt fönster",
+T_SAVE_AS, "Spara som",
+T_SAVE_URL_AS, "Spara URL som",
+T_SAVE_FORMATTED_DOCUMENT, "Spara formatterat dokument",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Döda bakgrundsuppkopplingar",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Töm alla cachar",
+T_RESOURCE_INFO, "Resursinformation",
+T_OS_SHELL, "Kommandotolk",
+T_EXIT, "Avsluta",
+T_SEARCH, "Sök",
+T_SEARCH_BACK, "Sök bakåt",
+T_FIND_NEXT, "Sök nästa",
+T_FIND_PREVIOUS, "Sök föregående",
+T_TOGGLE_HTML_PLAIN, "Växla HTML/text",
+T_DOCUMENT_INFO, "Dokumentinformation",
+T_FRAME_AT_FULL_SCREEN, "Ram i fullskärmsläge",
+T_SAVE_HTML_OPTIONS, "Spara HTML-alternativ",
+T_CHARACTER_SET, "Teckenuppsättning",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "Epost och telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Associationer",
+T_FILE_EXTENSIONS, "Filändelser",
+T_SAVE_OPTIONS, "Spara alternativ",
+T_FILE, "Arkiv",
+T_VIEW, "Visa",
+T_LINK, "Länk",
+T_DOWNLOADS, "Hämtningar",
+T_SETUP, "Inställningar",
+T_HELP, "Hjälp",
+T_ENTER_URL, "Ange URL",
+T_SAVE_URL, "Spara URL",
+T_DOWNLOAD, "Hämta",
+T_SAVE_TO_FILE, "Spara till fil",
+T_SEARCH_FOR_TEXT, "Sök efter text",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Väntar i kö",
+T_LOOKING_UP_HOST, "Letar upp värd",
+T_MAKING_CONNECTION, "Kopplar upp",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, NULL,
+T_REQUEST_SENT, "Förfrågan skickad",
+T_GETTING_HEADERS, "Hämtar rubriker",
+T_LOGGING_IN, NULL,
+T_SERVER_IS_PROCESSING_REQUEST, "Servern bearbetar förfrågan",
+T_TRANSFERRING, "Skickar",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Väntar på bekräftelse av omdirigering",
+T_INTERRUPTED, "Avbruten",
+T_SOCKET_EXCEPTION, "Socketfel",
+T_INTERNAL_ERROR, "Internt fel",
+T_OUT_OF_MEMORY, "Slut på minne",
+T_HOST_NOT_FOUND, "Värden hittades inte",
+T_ERROR_WRITING_TO_SOCKET, "Fel vid skrivning till socket",
+T_ERROR_READING_FROM_SOCKET, "Fel vid läsning från socket",
+T_DATA_MODIFIED, "Data modifierad",
+T_BAD_URL_SYNTAX, "Felaktig URL-syntax",
+T_RECEIVE_TIMEOUT, "För lång väntan vid hämtning",
+T_REQUEST_MUST_BE_RESTARTED, "Förfrågan måste startas om",
+T_CANT_GET_SOCKET_STATE, "Kan inte se sockettillstånd",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Felaktigt HTTP-svar",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Inget innehåll",
+T_UNKNOWN_FILE_TYPE, "Okänd filtyp",
+T_ERROR_OPENING_FILE, "Fel vid öppnande av fil",
+T_BAD_FTP_RESPONSE, "Felaktigt FTP-svar",
+T_FTP_SERVICE_UNAVAILABLE, "FTP-tjänsten ej tillgänglig",
+T_BAD_FTP_LOGIN, "Felaktig FTP-inloggning",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT-kommando misslyckades",
+T_FILE_NOT_FOUND, "Filen ej funnen",
+T_FTP_FILE_ERROR, "FTP filfel",
+T_UNKNOWN_ERROR, "Okänt fel",
+T_RECEIVED, "Hämtat",
+T_OF, "av",
+T_AVG, "medel",
+T_CUR, "nuvarande",
+T_AVERAGE_SPEED, "Medelhastighet",
+T_SPEED, "Hastighet",
+T_CURRENT_SPEED, "nuvarande hastighet",
+T_ELAPSED_TIME, "Använd tid",
+T_ESTIMATED_TIME, "uppskattad tid",
+T_BACKGROUND, "Bakgrund",
+T_ABORT, "Avbryt",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Ja",
+T_NO, "Nej",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Hämtningsfel",
+T_COULD_NOT_WRITE_TO_FILE, "Kunde inte skriva till fil",
+T_ERROR_DOWNLOADING, "Fel vid hämtning av",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "Kunde inte skapa fil",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Okänd typ",
+T_CONTENT_TYPE_IS, "Innehållstyp är",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Vill du spara eller visa filen?",
+T_SAVE, "Spara",
+T_DISPLAY, "Visa",
+T_WHAT_TO_DO, "Vad skall jag göra?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Vill du öppna filen med",
+T_SAVE_IT_OR_DISPLAY_IT, "spara den, eller visa den?",
+T_OPEN, "Öppna",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Vill du följa omdirigering och skicka formulärdata till URL",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Vill du skicka formulärdata till URL",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Vill du skicka formulärdata igen till URL",
+T_WARNING, "Varning",
+T_ERROR, "Fel",
+T_WELCOME, "Välkommen",
+T_WELCOME_TO_LINKS, "Välkommen till links!",
+T_BASIC_HELP, "Tryck ESC för meny. Välj Hjälp->Bruksanvisning för bruksanvisning",
+T_LABEL, "Etikett",
+T_CONTENT_TYPES, "Innehållstyp(er)",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' ersätts med filnamn)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blockera terminalen när programmet körs",
+T_RUN_ON_TERMINAL, "Kör i terminal",
+T_RUN_IN_XWINDOW, "Kör i X-fönster",
+T_ASK_BEFORE_OPENING, "Fråga innan öppnande",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Ta bort association",
+T_ASSOCIATION, "Association",
+T_EXTENSION_S, "Ändelse(r)",
+T_CONTENT_TYPE, "Innehållstyp",
+T_DELETE_EXTENSION, "Ta bort ändelse",
+T_EXTENSION, "Ändelse",
+T_eXTENSION, "ändelse",
+T_ERROR_WHILE_POSTING_FORM, "Fel vid skickande av formulär",
+T_COULD_NOT_GET_FILE, "Kunde inte hämta fil",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Ingen tidigare sökning",
+T_SEARCH_STRING_NOT_FOUND, "Söksträng ej hittad",
+T_SAVE_ERROR, "Sparfel",
+T_ERROR_WRITING_TO_FILE, "Fel vid skrivning till fil",
+T_DISPLAY_USEMAP, "Visa usemap",
+T_FOLLOW_LINK, "Följ länk",
+T_OPEN_IN_NEW_WINDOW, "Öppna i nytt fönster",
+T_DOWNLOAD_LINK, "Hämta länk",
+T_RESET_FORM, "Töm formulär",
+T_SUBMIT_FORM, "Skicka formulär",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Skicka formulär och öppna i nytt fönster",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Skicka formulär och hämta",
+T_VIEW_IMAGE, "Visa bild",
+T_DOWNLOAD_IMAGE, "Hämta bild",
+T_NO_LINK_SELECTED, "Ingen länk vald",
+T_IMAGE, "Bild",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, NULL,
+T_SCREEN, "Skärm",
+T_WINDOW, "Fönster",
+T_FULL_SCREEN, "Fullskärm",
+T_BEOS_TERMINAL, "BeOS-terminal",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Skicka formulär till",
+T_POST_FORM_TO, "Skicka formulär till",
+T_RADIO_BUTTON, "Radioknapp",
+T_CHECKBOX, "Kryssruta",
+T_SELECT_FIELD, "Valfält",
+T_TEXT_FIELD, "Textfält",
+T_TEXT_AREA, "Textarea",
+T_FILE_UPLOAD, "Filsändning",
+T_PASSWORD_FIELD, "Lösenordsfält",
+T_BUTTON, NULL,
+T_NAME, "Namn",
+T_VALUE, "Värde",
+T_HIT_ENTER_TO, "tryck Enter för att",
+T_SUBMIT_TO, "skicka till",
+T_POST_TO, "skicka till",
+T_INFO, "Info",
+T_HEADER_INFO, "Huvudinfo",
+T_YOU_ARE_NOWHERE, "Du är ingenstans!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Storlek",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "ej komplett",
+T_CODEPAGE, "teckenuppsättning",
+T_ASSUMED, "antagen",
+T_IGNORING_SERVER_SETTING, "Ignorerar serverinställning",
+T_SERVER, "Server",
+T_DATE, "Datum",
+T_LAST_MODIFIED, "Senast ändrad",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Språk",
+T_GO_TO_LINK, "Gå till länk",
+T_ENTER_LINK_NUMBER, "Skriv in länknummer",
+T_RESIZE_TERMINAL, "Ändra storlek på terminal",
+T_COLUMNS, "Kolumner",
+T_ROWS, "Rader",
+T_GOTO, "Gå till",
+T_CLOSE, "Stäng",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "Lägg till",
+T_DELETE, "Ta bort",
+T_EDIT, "Redigera",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "Bokmärken",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "Lägg till bokmärke",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, "Bokmärkestitel",
+T_EDIT_BOOKMARK, "Redigera bokmärke",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "Ta bort bokmärke",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "Bokmärkeshanterare",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, "URL",
+T_NNAME, "Namn",
+T_EXIT_LINKS, "Avsluta links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Vill du verkligen avsluta links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Vill du verkligen avsluta links och avbryta alla pågående hämtningar?",
+T_HTTP_OPTIONS, "HTTP-alternativ",
+T_FTP_OPTIONS, "FTP-alternativ",
+T_HTTP_BUG_WORKAROUNDS, "Kringgå HTTP-buggar",
+T_USE_HTTP_10, "Använd HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Tillåt svartlistning av felaktiga servrar",
+T_BROKEN_302_REDIRECT, "Trasig omdirigering 302 (bryter mot RFC, men är kompatibel med Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Håll inte uppkopplingen uppe efter POST-förfrågan (en del trasiga PHP-databaser behöver det)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Lösenord för anonym inloggning",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Bruksanvisning",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, "Epostprogram (% ersätts med adress)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Telnetprogram (% ersätts med \"värd\" eller \"värd port\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Tn3270-program (% ersätts med \"värd\" eller \"värd port\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Epost- och telnetprogram",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Inget program",
+T_NO_PROGRAM_SPECIFIED_FOR, "Inget program angett för",
+T_MAIL, "epost",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Felaktig mailto-URL",
+T_BAD_TELNET_URL, "Felaktig telnet-URL",
+T_BAD_TN3270_URL, "Felaktig tn3270-URL",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "Användar-ID",
+T_PASSWORD, "Lösenord",
+T_ENTER_USERNAME, "Ange användarnamn för ",
+T_AT, "på ",
+T_SSL_ERROR, "SSL-fel",
+T_NO_SSL, "Denna version av Links innehåller inte stöd för SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "B",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "R",
+T_HK_BOOKMARKS, "S",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "V",
+T_HK_SAVE_URL_AS, "U",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "K",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "F",
+T_HK_RESOURCE_INFO, "I",
+T_HK_MEMORY_INFO, "M",
+T_HK_OS_SHELL, "O",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "X",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "B",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "P",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "F",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "A",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "H",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "A",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "S",
+T_HK_ABOUT, "A",
+T_HK_KEYS, "K",
+T_HK_COPYING, "C",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "F",
+T_HK_VIEW, "V",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "S",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "W",
+T_HK_DOWNLOAD_LINK, "D",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/swiss_german.lng b/intl/swiss_german.lng
new file mode 100644
index 0000000..4f23fc7
--- /dev/null
+++ b/intl/swiss_german.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-1",
+T__LANGUAGE, "Swiss German",
+T__ACCEPT_LANGUAGE, "de",
+T_OK, "OK",
+T_CANCEL, "Abbruch",
+T_BAD_NUMBER, "fehlerhafti Zahl",
+T_NUMBER_EXPECTED, "Zahligabe erwartet",
+T_NUMBER_OUT_OF_RANGE, "Ungültiger Zahlberich",
+T_BAD_STRING, "Falschi Igabe",
+T_EMPTY_STRING_NOT_ALLOWED, "Werte Igabe erforderlich",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Konfigurationsfehler",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Cha Konfigurationsdatei nöd schriebe",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Über",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW-Browser",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Taschte",
+T_KEYS_DESC, "ESC Menue-Azeig\n^C, q quit\n^P, ^N auf/ab blättere\n[, ] links/rechts blättere \nBild ufe/abe Linkuswahl\n-> Link folge\n<- zrugg\nz zrugg (nur im Grafischmodus)\n^r wiederladen\n^s stopp\ng gah zu dr Adresse\nG gah zu dr Adresse (von dr aktuelle URL)\n^G gah zu dr Adresse (vom aktuelle Link)\n/ Suechä\n? Rückwärts suechä \nn nexschte Suechbegriff\nN vorh. Suechbegriff\n= Dokument-Info\n| Kopf-Info\n\\ Dokument-Quelle\nd Speicherä\n^W URL oder Suechtext komplettiere",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Lizänz",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nDas Programm da isch freie Softwär; es cha unter dr Bedingige vo dr GNU General Public License - wie von der Free Software Foundation veröffentlicht - verändert/wieter verbreitet werde; entweder Version 2 vo dr GPL, oder (falls erwünscht) jedi neueri Version",
+T_RESOURCES, "Resourcen",
+T_CONNECTIONS, "Verbindige",
+T_MEMORY_CACHE, "Hauptspiicher-Cache",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "Zeichesatz-Cache",
+T_IMAGE_CACHE, "Bilder-Cache",
+T_FORMATTED_DOCUMENT_CACHE, "Formatierte Dokument-Cache",
+T_DNS_CACHE, NULL,
+T_HANDLES, "offeni Dateie",
+T_TIMERS, "Ziitgeber",
+T_WAITING, NULL,
+T_CONNECTING, "Verbindinge im Ufbau",
+T_tRANSFERRING, "Übertragige",
+T_KEEPALIVE, "Verbindige halte",
+T_BYTES, "Bytes",
+T_LETTERS, "Zeiche",
+T_FILES, "Datei/en",
+T_LOCKED, "gsperrt",
+T_LOADING, "glade",
+T_IMAGES, "Bilder",
+T_DOCUMENTS, "Dokument",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "zuegwiesene Hauptspeicher",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Hauptspeicherverbruuch",
+T_NO_HISTORY, "Kei history",
+T_NO_DOWNLOADS, "Kei Downloads",
+T_NO_FRAMES, "Kei Rahme",
+T_VT_100_FRAMES, "VT 100 Rahme",
+T_LINUX_OR_OS2_FRAMES, "Linux oder OS/2 Rahme",
+T_KOI8R_FRAMES, "KOI8-R Rahme",
+T_FREEBSD_FRAMES, "FreeBSD Rahme",
+T_USE_11M, "Benutze ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Beschränkig Rahme im cp850/852",
+T_BLOCK_CURSOR, "Blockcursor",
+T_COLOR, "Farb",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Terminaloptione",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP Proxy (Rechner:Port)",
+T_FTP_PROXY__HOST_PORT, "FTP Proxy (Rechner:Port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Direktzuegriff (w/o Proxy) Domäne (Komma-Lischte)",
+T_NETWORK_OPTIONS, "Netzwerkoptione",
+T_MAX_CONNECTIONS, "Max. Verbindige",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Max. Verbindige zumene Server",
+T_RETRIES, "Wiederholige",
+T_RECEIVE_TIMEOUT_SEC, "Empfangswarteziit (sec)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Warteziit bei Verb.-Aufbau",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Asynchr. DNS-Auflösig",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Datum/Ziit vo empfangene Dateien setze",
+T_CACHE_OPTIONS, "Cache-Optione",
+T_MEMORY_CACHE_SIZE__KB, "Hauptspeicher-Cache (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Bilder-Cache (KiB)",
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Anzahl formatierter Dokument",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "HTML-Optione",
+T_DISPLAY_TABLES, "Tabelle azeige",
+T_DISPLAY_FRAMES, "Rahmen azeige",
+T_DISPLAY_IMAGES, "Bilder azeige",
+T_DISPLAY_IMAGE_FILENAMES, "Bilddateinamen azeige",
+T_DISPLAY_LINKS_TO_IMAGES, "Bildverweise azeige",
+T_LINK_ORDER_BY_COLUMNS, "Links nach Spalten sortieren",
+T_NUMBERED_LINKS, "Links nummeriere",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, "S'öffnen vo Verwiis ime neue Fenster erlaube",
+T_TEXT_MARGIN, "Textberiich",
+T_DEFAULT_CODEPAGE, "Standardzeichesatz",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Zeichesatz-Info vom Servers ignoriere",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Gah zudr Adresse",
+T_GO_BACK, "Zrugg",
+T_GO_FORWARD, NULL,
+T_HISTORY, "History",
+T_RELOAD, "Neu lade",
+T_NEW_WINDOW, "Neus Fenschter",
+T_SAVE_AS, "Speichere als",
+T_SAVE_URL_AS, "Speichere d'Adresse als",
+T_SAVE_FORMATTED_DOCUMENT, "Speichere vome formatierte Dokument",
+T_COPY_URL_LOCATION, "Netzadresse kopiere",
+T_KILL_BACKGROUND_CONNECTIONS, "Hintergrundverbindinge kappe",
+T_KILL_ALL_CONNECTIONS, "Alli Verbindige kappe",
+T_FLUSH_ALL_CACHES, "Alli Cache-Bereich leere",
+T_RESOURCE_INFO, "Resource",
+T_OS_SHELL, "Befehlszeile",
+T_EXIT, "Ende",
+T_SEARCH, "Sueche",
+T_SEARCH_BACK, "Sueche rückwärts",
+T_FIND_NEXT, "Sueche nächschte",
+T_FIND_PREVIOUS, "Sueche vorherige",
+T_TOGGLE_HTML_PLAIN, "Umschaltig HTML/Quelltext",
+T_DOCUMENT_INFO, "Dokumentinformatione",
+T_FRAME_AT_FULL_SCREEN, "Rahme im Vollbildschirm",
+T_SAVE_HTML_OPTIONS, "HTML Sicherheit",
+T_CHARACTER_SET, "Zeichesatz",
+T_CACHE, "Cache",
+T_MAIL_AND_TELNEL, "Mail und Telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Verknüpfige",
+T_FILE_EXTENSIONS, "Dateiendige",
+T_SAVE_OPTIONS, "Optione speichere",
+T_FILE, "Datei",
+T_VIEW, "Anzeig",
+T_LINK, "Link",
+T_DOWNLOADS, "Downloads",
+T_SETUP, "Istellige",
+T_HELP, "Hilfe",
+T_ENTER_URL, "Adresse iigäh",
+T_SAVE_URL, "Adresse speichere",
+T_DOWNLOAD, "Download",
+T_SAVE_TO_FILE, "Speichere ine Datei",
+T_SEARCH_FOR_TEXT, "Textsuechi",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "In Warteschlange",
+T_LOOKING_UP_HOST, "Sueche Host",
+T_MAKING_CONNECTION, "Verbindigsuufbau",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "SSL-Verhandlig",
+T_REQUEST_SENT, "Anforderig gesendet",
+T_GETTING_HEADERS, "Empfange Kopfzeile",
+T_LOGGING_IN, "Melde aa",
+T_SERVER_IS_PROCESSING_REQUEST, "Server verarbeitet Anforderig",
+T_TRANSFERRING, "Überträgig",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Warte auf Bestätigung",
+T_INTERRUPTED, "Unterbrochen",
+T_SOCKET_EXCEPTION, "Socket-Usnahmefehler",
+T_INTERNAL_ERROR, "Interne Fehler",
+T_OUT_OF_MEMORY, "kei Hauptspeicher verfügbar",
+T_HOST_NOT_FOUND, "Host nöd gfunde",
+T_ERROR_WRITING_TO_SOCKET, "Socket-Schriibfehler",
+T_ERROR_READING_FROM_SOCKET, "Socket-Läsefehler",
+T_DATA_MODIFIED, "Daten gänderet",
+T_BAD_URL_SYNTAX, "Fehlerhafti Adresse",
+T_RECEIVE_TIMEOUT, "Empfangs-Warteziit abgelaufe",
+T_REQUEST_MUST_BE_RESTARTED, "Anforderig wird neu gesendet",
+T_CANT_GET_SOCKET_STATE, "Cha Socket-Status nöd abfrage",
+T_CYCLIC_REDIRECT, "Zyklische Umleitig",
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Fählerhafti HTTP-Antwort",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Kei Inhalt",
+T_UNKNOWN_FILE_TYPE, "Unbekannte Dateityp",
+T_ERROR_OPENING_FILE, "Fehler bei Datei-Öffnig",
+T_BAD_FTP_RESPONSE, "fehlerhafti FTP-Antwort",
+T_FTP_SERVICE_UNAVAILABLE, "FTP-Dienscht nöd verfüegbar",
+T_BAD_FTP_LOGIN, "fehlerhafte FTP-Anmeldig",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT-Befehl bschisse",
+T_FILE_NOT_FOUND, "Datei nöd gfunde",
+T_FTP_FILE_ERROR, "FTP-Dateifehler",
+T_UNKNOWN_ERROR, "Unbekannte Fehler",
+T_RECEIVED, "Empfange",
+T_OF, "von",
+T_AVG, "schnitt",
+T_CUR, "aktuell",
+T_AVERAGE_SPEED, "Durchschnittsrate",
+T_SPEED, "Rate",
+T_CURRENT_SPEED, "Aktuelli Rate",
+T_ELAPSED_TIME, "Abgelaufeni Ziit",
+T_ESTIMATED_TIME, "Gschätzti Ziit",
+T_BACKGROUND, "Hintergrund",
+T_ABORT, "Abbruch",
+T_ABORT_AND_DELETE_FILE, "Abbreche und Datei lösche",
+T_YES, "Jo",
+T_NO, "Nei",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Download-Fehler",
+T_COULD_NOT_WRITE_TO_FILE, "Datei hät nöd chönne gschriebe werde",
+T_ERROR_DOWNLOADING, "Fehler während Download",
+T_ERROR_LOADING, "Fehler beim Öffne",
+T_COULD_NOT_CREATE_FILE, "Datei hät nöd chönne erstellt werde",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Unbekannte Typ",
+T_CONTENT_TYPE_IS, "Mimetyp isch",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "D'Datei öffne, speichere oder azeige?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "D'Datei öffne oder anzeige?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "D'Datei anzeige oder speichere?",
+T_SAVE, "Speichere",
+T_DISPLAY, "Anzeige",
+T_WHAT_TO_DO, "Häh?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Öffne d'Datei mit",
+T_SAVE_IT_OR_DISPLAY_IT, "speichere oder anzeige?",
+T_OPEN, "Öffne",
+T_OPEN_WITH, "Öffne mit",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Sölled die Daten an dä neu Server übertreit werde?",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Sölled die Daten übertreit werde?",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Sölled die Daten erneut übertreit werde?",
+T_WARNING, "Warnig",
+T_ERROR, "Fehler",
+T_WELCOME, "Grüezi",
+T_WELCOME_TO_LINKS, "Herzlich Willkomme bi dä Links!",
+T_BASIC_HELP, "Handbuech",
+T_LABEL, "Bezeichnig",
+T_CONTENT_TYPES, "Mimetyp(en)",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programm ('%' wird durch Dateiname ersetzt)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Terminal während dä Programmausfüehrig blockiert",
+T_RUN_ON_TERMINAL, "Im Terminalfenschter starte",
+T_RUN_IN_XWINDOW, "Im Grafikfenster (X-Window) starte",
+T_ASK_BEFORE_OPENING, "Frage vor em Öffnen",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Verknüpfig lösche",
+T_ASSOCIATION, "Verknüpfig",
+T_EXTENSION_S, "Erwiiterig(e)",
+T_CONTENT_TYPE, "Mimetyp",
+T_DELETE_EXTENSION, "Erwiiterig lösche",
+T_EXTENSION, "Erwiiterig",
+T_eXTENSION, "Erwiiterig",
+T_ERROR_WHILE_POSTING_FORM, "Fehler bi dä Formular-Überträgig",
+T_COULD_NOT_GET_FILE, "Ha Datei nöd übercho",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Kei vorherige Suechbegriff",
+T_SEARCH_STRING_NOT_FOUND, "Suechbegriff nöd gfunde",
+T_SAVE_ERROR, "Fehler bim spiichere",
+T_ERROR_WRITING_TO_FILE, "Fähler bim spiichere vodr Datei",
+T_DISPLAY_USEMAP, "Usemap azeige",
+T_FOLLOW_LINK, "Em Link folge",
+T_OPEN_IN_NEW_WINDOW, "Ime neue Fenschter öffne",
+T_DOWNLOAD_LINK, "Link speichere",
+T_RESET_FORM, "Formular zruggsetze",
+T_SUBMIT_FORM, "Formular sende",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Formular sende und neuis Fänschter öffne",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Formular sende und speichere",
+T_VIEW_IMAGE, "Bild azeige",
+T_DOWNLOAD_IMAGE, "Bild speichere",
+T_NO_LINK_SELECTED, "Kei Link usgwählt",
+T_IMAGE, "Bild",
+T_USEMAP, "Usemap",
+T_XTERM, "Xterm",
+T_TWTERM, "Twterm",
+T_SCREEN, "Bildschirm",
+T_WINDOW, "Fenschter",
+T_FULL_SCREEN, "Vollbildschirm",
+T_BEOS_TERMINAL, "BeOS-Terminal",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "S'Formular sende an",
+T_POST_FORM_TO, "Verschick s'Formular an",
+T_RADIO_BUTTON, "Radiobutton",
+T_CHECKBOX, "Checkbox",
+T_SELECT_FIELD, "Auswahlfeld",
+T_TEXT_FIELD, "Textfeld",
+T_TEXT_AREA, "Textberiich",
+T_FILE_UPLOAD, "Datei sende",
+T_PASSWORD_FIELD, "Passwort-Feld",
+T_BUTTON, "Chnopf",
+T_NAME, "Name",
+T_VALUE, "Wert",
+T_HIT_ENTER_TO, "ENTER drücke",
+T_SUBMIT_TO, "Sende an",
+T_POST_TO, "Verschicke an",
+T_INFO, "Info",
+T_HEADER_INFO, "HTTP Kopfinformatione",
+T_YOU_ARE_NOWHERE, "Sie sind nirgendwo!",
+T_NO_HEADER, NULL,
+T_URL, "Adresse",
+T_SIZE, "Größe",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "unvollständig",
+T_CODEPAGE, "Zeichensatz",
+T_ASSUMED, "agnoh",
+T_IGNORING_SERVER_SETTING, "Serveriistellig ignoriert",
+T_SERVER, "Server",
+T_DATE, "Datum",
+T_LAST_MODIFIED, "Zletscht gändert",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Sprach",
+T_GO_TO_LINK, "Link uuswähle",
+T_ENTER_LINK_NUMBER, "Linknummer iigäh",
+T_RESIZE_TERMINAL, "Terminalgrössi ändere",
+T_COLUMNS, "Spalte",
+T_ROWS, "Ziile",
+T_GOTO, "Gah zu",
+T_CLOSE, "Schließe",
+T_FOLDER, "Verzeichnis",
+T_fOLDER, "Verzeichnis",
+T_ADD, "Hinzufüege",
+T_DELETE, "Lösche",
+T_EDIT, "Ändere",
+T_MOVE, "Verschiebe",
+T_NO_ITEMS_SELECTED, "Es isch nüt markiert - nüt z'verschiebe",
+T_UNSELECT_ALL, "Markierige ufhebe",
+T_BOOKMARKS, "Lesezeiche",
+T_BOOKMARK, "Lesezeiche",
+T_ADD_BOOKMARK, "Leseziichen hinzufüege",
+T_ADD_ASSOCIATION, "Verchnüpfig hinzufüege",
+T_ADD_EXTENSION, "Erweiterig hinzufüege",
+T_ADD_FOLDER, "Verziichnis hinzufüege",
+T_BOOKMARK_TITLE, "Bezeichnig",
+T_EDIT_BOOKMARK, "Lesezeichen ändere",
+T_EDIT_ASSOCIATION, "Verchnüpfig bearbeite",
+T_EDIT_EXTENSION, "Erwiiterig bearbeite",
+T_DELETE_BOOKMARK, "Lesezeeiche lösche",
+T_EDIT_FOLDER, "Verzeichnis bearbeite",
+T_DELETE_FOLDER, "Verzeichnis entferne",
+T_NOT_EMPTY_SURE_DELETE, "isch nöd leer. Sicher entferne?",
+T_BOOKMARK_MANAGER, "Lesezeiche-Verwaltig",
+T_ASSOCIATIONS_MANAGER, "Verchnüpfigs-Verwaltig",
+T_EXTENSIONS_MANAGER, "Erwiiterigs-Verwaltig",
+T_url, "Netzadresse",
+T_NNAME, "Name",
+T_EXIT_LINKS, "Beende?",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Links würkli beende?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Links und alli Downloads beende?",
+T_HTTP_OPTIONS, "HTTP-Optionen",
+T_FTP_OPTIONS, "FTP-Optionen",
+T_HTTP_BUG_WORKAROUNDS, "HTTP-Fähler umgah?",
+T_USE_HTTP_10, "HTTP 1.0 benutze?",
+T_ALLOW_SERVER_BLACKLIST, "Server-Sperrlischte benutze?",
+T_BROKEN_302_REDIRECT, "defekte 302-Wiiterliitig?",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Verbindig nach POST nöd uufrächterhalte?",
+T_DO_NOT_SEND_ACCEPT_CHARSET, "Kei Accept-Charset sende",
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, "Kei Referer sende",
+T_REFERER_SAME_URL, "Angeforderti Adresse als Referer sende",
+T_REFERER_FAKE, "Wiiter une agähne feschte HTTP-Referer sende",
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, "Echte Referer sende (normal, aber UNSICHER!)",
+T_FAKE_REFERER, "Fester HTTP-Referer:",
+T_FAKE_USERAGENT, "Gfakte User-Agent sende",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Passwort für anomyme Ameldig",
+T_USE_PASSIVE_FTP, "Passivs FTP nutze",
+T_USE_FAST_FTP, "Schnellers (aber nöd RFC-konforms) FTP nutze",
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Manual",
+T_HOMEPAGE, "Homepage",
+T_CALIBRATION, "Kalibration",
+T_MAILTO_PROG, "Mail-Programm (% wird mit Email-Addresse ersetzt)",
+T_SHELL_PROG, "Shell-Programm für externi Ufrüef (% wird mit Kommando ersetzt)",
+T_TELNET_PROG, "Telnet-Programm (% wird mit \"host\" oder \"host port\" ersetzt)",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "TN3270-Programm (% wird mit \"host\" oder \"host port\" ersetzt)",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Mail-/Telnet-Programme",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Mail-/Telnet-/Shell-Programme",
+T_NO_PROGRAM, "Keis Programm",
+T_NO_PROGRAM_SPECIFIED_FOR, "Programm nöd definiert für ",
+T_MAIL, "Mail",
+T_TELNET, "Telnet",
+T_MAGNET, NULL,
+T_TN3270, "TN3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "fehlerhafti Mailadresse",
+T_BAD_TELNET_URL, "fehlerhafti Telnetadresse",
+T_BAD_TN3270_URL, "fehlerhafti TN3270-Adresse",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, "Benutzerkennig",
+T_PASSWORD, "Passwort",
+T_ENTER_USERNAME, "Benutzername iigäh für ",
+T_AT, "bei ",
+T_SSL_ERROR, "SSL-Fähler",
+T_NO_SSL, "Die Programmversion unterstützt kei SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "Wirklich lösche",
+T_BOOKMARKS_ALREADY_IN_USE, "Lesezeiche scho in Benutzig!",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Verchnüpfige scho in Benutzig!",
+T_EXTENSIONS_ALREADY_IN_USE, "Erwiiterige scho in Benutzig!",
+T_VIDEO_OPTIONS, "Videooptione",
+T_VIDEO_OPTIONS_TEXT, "Benutzergamma empfohlen:\n 1.33 für dunklen Ruum, 1.11 bei gedimmten Liecht, 1 für en typische Computerarbeitsplatz, 0.88 bi hell erlüchteter Umgebig",
+T_RED_DISPLAY_GAMMA, "Gamma Rot",
+T_GREEN_DISPLAY_GAMMA, "Gamma Grüen",
+T_BLUE_DISPLAY_GAMMA, "Gamma Blau",
+T_USER_GAMMA, "Benutzergamma",
+T_ALERT, "Warnig",
+T_QUESTION, "Frage",
+T_KILL_SCRIPT, "Javascriptusfüehrig verweigere",
+T_KILL_ALL_SCRIPTS, "Javascriptusfüehrig für alli Skript verweigere",
+T_SCRIPT_KILLED_BY_USER, "Javascriptusfüehrig dur dä Benutzer verweigert",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript versuecht, s'Browserfenschter z'schließe. Zulah?",
+T_ENTER_STRING, "Text iigäh",
+T_JAVASCRIPT_OPTIONS, "Javascriptoptione",
+T_ENABLE_JAVASCRIPT, "Javascript aktiviere",
+T_VERBOSE_JS_ERRORS, "Uusfüehrlichi Javascriptfehler",
+T_VERBOSE_JS_WARNINGS, "Uusfüehrlichi Javascriptwarnige",
+T_MISCELANEOUS_OPTIONS, "Suschtigi Optionen",
+T_JAVASCRIPT_ERROR, "Javascriptfehler",
+T_JAVASCRIPT_WARNING, "Javascriptwarnig",
+T_DISMISS, "Verwärfe",
+T_MENU_FONT_SIZE, "Menüfontgrößi",
+T_USER_FONT_SIZE, "Benutzerfontgrößi",
+T_TURN_OFF_WARNINGS, "Warnige abschalte",
+T_BOOKMARKS_ENCODING, "Läsezeicheformat",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript versuecht zu dr Netzadresse z'gah",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript versuecht Adresse ime neue Fenschter z'öffne",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript versuecht uf d'History zuegrife",
+T_TO_URL, "zu Netzadresse",
+T_GOTO_HISTORY, "Gah zu dr History",
+T_ALLOW, "Erlaube",
+T_REJECT, "Abwiise",
+T_ENABLE_ALL_CONVERSIONS, "Alli Umwandlige aktiviere",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Globali Namensuflösig aktiviere",
+T_MANUAL_JS_CONTROL, "Manuell Javascriptoperatione Bestätigung",
+T_JS_RECURSION_DEPTH, "Verschachteligstiefi",
+T_MENU_BACKGROUND_COLOR, "Hintergrundfarb fürs Menü",
+T_MENU_FOREGROUND_COLOR, "Vordergrundfarb fürs Menü",
+T_SCROLL_BAR_BAR_COLOR, "Farb für Scrollbalken",
+T_SCROLL_BAR_AREA_COLOR, "Farb für Scrollbalkenzone",
+T_SCROLL_BAR_FRAME_COLOR, "Farb für Scrollbalkenrahmen",
+T_BOOKMARKS_FILE, "Läsezeichedatei",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Farbe igäh als sRGB hexadezimal RRGGBB Triplets",
+T_JS_MEMORY_LIMIT_KB, "Speicher für Javascript reserviere (KiB)",
+T_DITHER_LETTERS, "Buechstabe rastere",
+T_DITHER_IMAGES, "Bilder rastere",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "Alli Bilder skaliere um (%)",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, "Bildschirmoptimierig für CRT",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "Bildschirmoptimierig für LCD (RGB)",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "Bildschirmoptimierig für LCD (BGR)",
+T_ASPECT_RATIO, "Siitevehältnis",
+T_ASPECT_CORRECTION_ON, "Siiteverhältniskorrekur an",
+T_KEYBOARD_CODEPAGE, "Tastatur-Codepage",
+T_COPY_LINK_LOCATION, "Linkziel kopiere",
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "Z",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "H",
+T_HK_RELOAD, "D",
+T_HK_BOOKMARKS, "L",
+T_HK_NEW_WINDOW, "N",
+T_HK_SAVE_AS, "S",
+T_HK_SAVE_URL_AS, "P",
+T_HK_SAVE_FORMATTED_DOCUMENT, "D",
+T_HK_COPY_URL_LOCATION, "U",
+T_HK_KILL_BACKGROUND_CONNECTIONS, "A",
+T_HK_KILL_ALL_CONNECTIONS, "K",
+T_HK_FLUSH_ALL_CACHES, "C",
+T_HK_RESOURCE_INFO, "R",
+T_HK_MEMORY_INFO, "I",
+T_HK_OS_SHELL, "B",
+T_HK_RESIZE_TERMINAL, "T",
+T_HK_EXIT, "E",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "R",
+T_HK_FIND_NEXT, "N",
+T_HK_FIND_PREVIOUS, "V",
+T_HK_TOGGLE_HTML_PLAIN, "Q",
+T_HK_DOCUMENT_INFO, "I",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "L",
+T_HK_HTML_OPTIONS, "O",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "H",
+T_HK_LANGUAGE, "S",
+T_HK_CHARACTER_SET, "Z",
+T_HK_TERMINAL_OPTIONS, "T",
+T_HK_VIDEO_OPTIONS, "V",
+T_HK_NETWORK_OPTIONS, "N",
+T_HK_JAVASCRIPT_OPTIONS, "J",
+T_HK_MISCELANEOUS_OPTIONS, "O",
+T_HK_CACHE, "C",
+T_HK_MAIL_AND_TELNEL, "M",
+T_HK_ASSOCIATIONS, "V",
+T_HK_FILE_EXTENSIONS, "E",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "P",
+T_HK_ABOUT, "Ü",
+T_HK_KEYS, "T",
+T_HK_COPYING, "L",
+T_HK_MANUAL, "M",
+T_HK_HOMEPAGE, "H",
+T_HK_CALIBRATION, "K",
+T_HK_FILE, "F",
+T_HK_VIEW, "A",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "D",
+T_HK_SETUP, "E",
+T_HK_HELP, "H",
+T_HK_DISPLAY_USEMAP, "U",
+T_HK_FOLLOW_LINK, "F",
+T_HK_OPEN_IN_NEW_WINDOW, "F",
+T_HK_DOWNLOAD_LINK, "S",
+T_HK_RESET_FORM, "R",
+T_HK_SUBMIT_FORM, "S",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D",
+T_HK_VIEW_IMAGE, "I",
+T_HK_DOWNLOAD_IMAGE, "G",
+T_HK_COPY_LINK_LOCATION, "C",
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, "T",
+T_HK_SCREEN, "S",
+T_HK_WINDOW, "W",
+T_HK_FULL_SCREEN, "F",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/synclang b/intl/synclang
new file mode 100755
index 0000000..e46dce2
--- /dev/null
+++ b/intl/synclang
@@ -0,0 +1,19 @@
+#!/bin/sh
+echo
+echo Syncing other languages.
+mkdir ../intl-bak 2>/dev/null
+languages=`cat index.txt|sed 's/ //g'`
+if [ -n "$languages" ]; then
+ for i in $languages; do
+ if [ "$i" != english ]; then
+ echo -n $i" " 1>&2
+ awk -f synclang.awk <$i.lng | sed 's/ //g' >_sync.tmp
+ mv $i.lng ../intl-bak/$i.lng.bak
+ mv _sync.tmp $i.lng
+ fi
+ done
+ echo
+ echo Done.
+fi
+echo
+./gen-intl
diff --git a/intl/synclang.awk b/intl/synclang.awk
new file mode 100644
index 0000000..4844591
--- /dev/null
+++ b/intl/synclang.awk
@@ -0,0 +1,17 @@
+#!/bin/awk -f
+BEGIN {
+ FS=","
+}
+
+/^T_/ {
+ s2=$2;
+ for(i = 3; i <= NF; i++) s2 = s2","$i;
+ aa[$1] = s2;
+}
+
+END {
+ while (getline < "english.lng") {
+ if (aa[$1] != "") printf("%s,%s\n", $1, aa[$1]);
+ else printf("%s, NULL,\n", $1);
+ }
+}
diff --git a/intl/turkish.lng b/intl/turkish.lng
new file mode 100644
index 0000000..9ca5940
--- /dev/null
+++ b/intl/turkish.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "8859-9",
+T__LANGUAGE, "Turkish",
+T__ACCEPT_LANGUAGE, "tr",
+T_OK, "Tamam",
+T_CANCEL, "Ýptal",
+T_BAD_NUMBER, "Hatalý sayý",
+T_NUMBER_EXPECTED, "Sayý girilmesi bekleniyordu",
+T_NUMBER_OUT_OF_RANGE, "Number out of range",
+T_BAD_STRING, "Hatalý söz dizimi",
+T_EMPTY_STRING_NOT_ALLOWED, "Boþ söz dizimine izin verilmiyor",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Yapýlandýrma Hatasý",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Yapýlandýrma dosyasýna yazýlamýyor",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Hakkýnda",
+T_LINKS__LYNX_LIKE, "Baðlantýlar " VERSION_STRING "\n\nLynx türünde metin tabanlý tarayýcý",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Tuþlar",
+T_KEYS_DESC, "ESC menüyü göster\n^C, q çýk\n^P, ^N yukarý kaydýr, aþaðý kaydýr\n[, ] saða kaydýr, sola kaydýr\nyukarý, aþaðý baðlantýyý seç\n-> baðlantýyý izle\n<- geri git\ng adrese git\nG þimdiki adresten yola çýkarak yeni bir adrese git\n/ ara\n? geriye doðru ara\nn tekrar ara\nN geriye doðru tekrar ara\n= belge bilgisi\n\\ kaynaðýný göster\nd indir",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Kopyalamak",
+T_COPYING_DESC, "Baðlantýlar " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\n Bu özgür bir yazýlýmdýr; GNU Genel Kamu Lisansý altýnda daðýtýlabilir ve/veya geliþtirilebilir.",
+T_RESOURCES, "Kaynaklar",
+T_CONNECTIONS, "Baðlantýlar",
+T_MEMORY_CACHE, "Memory cache",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "Biçimlenmiþ belge önbelleði",
+T_DNS_CACHE, NULL,
+T_HANDLES, "handles",
+T_TIMERS, "zamanlayýcýlar",
+T_WAITING, NULL,
+T_CONNECTING, "baðlanýyor",
+T_tRANSFERRING, "aktarýlýyor",
+T_KEEPALIVE, "keepalive",
+T_BYTES, "byte lar",
+T_LETTERS, NULL,
+T_FILES, "dosyalar",
+T_LOCKED, "kilitlenmiþ",
+T_LOADING, "yükleniyor",
+T_IMAGES, NULL,
+T_DOCUMENTS, "belgeler",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "ayýrýlmýþ hafýza byte larý",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Daha fazla bilgi",
+T_NO_HISTORY, "Geçmiþ yok",
+T_NO_DOWNLOADS, "Ýndirilen dosya yok",
+T_NO_FRAMES, "Çerçeve yok",
+T_VT_100_FRAMES, "VT 100 çerçeveleri",
+T_LINUX_OR_OS2_FRAMES, "Linux ya da OS/2 çerçeveleri",
+T_KOI8R_FRAMES, "KOI8-R çerçeveleri",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "^[[11m kullan",
+T_RESTRICT_FRAMES_IN_CP850_852, "Çerçeveleri cp850/852 içerisinde kýsýtla",
+T_BLOCK_CURSOR, "Blok imleç",
+T_COLOR, "Renk",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Terminal seçenekleri",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP vekil sunucu (host:port)",
+T_FTP_PROXY__HOST_PORT, "FTP vekil sunucu (host:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, NULL,
+T_NETWORK_OPTIONS, "Að Seçenekleri",
+T_MAX_CONNECTIONS, "Maximum baðlantý",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Bir makinaya maximum baðlantý",
+T_RETRIES, "Tekrar deneme",
+T_RECEIVE_TIMEOUT_SEC, "Zaman aþýmý (sn)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Tekrar baþlatýlamazsa zaman aþýmý",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Eþzamanlý olmayan DNS sorgusu",
+T_SET_TIME_OF_DOWNLOADED_FILES, "Yüklenen dosyalarýn zamanlarýný belirle",
+T_CACHE_OPTIONS, "Önbellek Seçenekleri",
+T_MEMORY_CACHE_SIZE__KB, "Hafýza önbellek boyutu (KiB)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Biçimlenmiþ belge sayýsý",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "Html seçenekleri",
+T_DISPLAY_TABLES, "Tablolarý göster",
+T_DISPLAY_FRAMES, "Çerçeveleri göster",
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Resimlere olan baðlantýlarý göster",
+T_LINK_ORDER_BY_COLUMNS, "Tablolardaki sütunlara göre hareket et",
+T_NUMBERED_LINKS, "Baðlantýlar numaralandýrýlsýn",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Metin boþluðu",
+T_DEFAULT_CODEPAGE, "Varsayýlan karakter seti",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Sunucu tarafýndan belirlenmiþ karakter setini önemseme",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "Adrese git",
+T_GO_BACK, "Geri git",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Geçmiþ",
+T_RELOAD, "Yenile",
+T_NEW_WINDOW, "Yeni pencere",
+T_SAVE_AS, "Farklý Kaydet",
+T_SAVE_URL_AS, "Adresi karklý kaydet",
+T_SAVE_FORMATTED_DOCUMENT, "Biçimlenmiþ belgeyi kaydet",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "Arkadaki baðlantýlarý durdur",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "Önbellekleri temizle",
+T_RESOURCE_INFO, "Kaynak bilgisi",
+T_OS_SHELL, "Sistem kabuðu",
+T_EXIT, "Çýk",
+T_SEARCH, "Ara",
+T_SEARCH_BACK, "Geriye doðru ara",
+T_FIND_NEXT, "Tekrar ara",
+T_FIND_PREVIOUS, "Geriye doðru ara",
+T_TOGGLE_HTML_PLAIN, "html/plain aç/kapa",
+T_DOCUMENT_INFO, "Belge bilgisi",
+T_FRAME_AT_FULL_SCREEN, "Tam ekranda çerçeve",
+T_SAVE_HTML_OPTIONS, "Html seçeneklerini kaydet",
+T_CHARACTER_SET, "Karakter Seti",
+T_CACHE, "Önbellek",
+T_MAIL_AND_TELNEL, "Posta ve Telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "Associations",
+T_FILE_EXTENSIONS, "Dosya uzantýlarý",
+T_SAVE_OPTIONS, "Seçenekleri kaydet",
+T_FILE, "Dosya",
+T_VIEW, "Görünüm",
+T_LINK, "Baðlantýlar",
+T_DOWNLOADS, "Ýndirilenler",
+T_SETUP, "Ayarlar",
+T_HELP, "Yardým",
+T_ENTER_URL, "Adres gir",
+T_SAVE_URL, "Adresi kaydet",
+T_DOWNLOAD, "Ýndir",
+T_SAVE_TO_FILE, "Dosyaya kaydet",
+T_SEARCH_FOR_TEXT, "Metini ara",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Sýraya atýlýyor",
+T_LOOKING_UP_HOST, "Makina sorgulanýyor",
+T_MAKING_CONNECTION, "Baðlantý yapýlýyor",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, NULL,
+T_REQUEST_SENT, "Ýstek gönderildi",
+T_GETTING_HEADERS, "Baþlýklar alýnýyor",
+T_LOGGING_IN, NULL,
+T_SERVER_IS_PROCESSING_REQUEST, "Sunucu isteði iþletiyor",
+T_TRANSFERRING, "Transfer ediliyor",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Yönlendirme onayý için bekleniyor",
+T_INTERRUPTED, "Kesildi",
+T_SOCKET_EXCEPTION, "Soket sorunu",
+T_INTERNAL_ERROR, "Ýçsel hata",
+T_OUT_OF_MEMORY, "Hafýza yetmiyor",
+T_HOST_NOT_FOUND, "Makina bulunamadý",
+T_ERROR_WRITING_TO_SOCKET, "Sokete yazarken hata",
+T_ERROR_READING_FROM_SOCKET, "Soketten okurken hata",
+T_DATA_MODIFIED, "Veri düzenlendi",
+T_BAD_URL_SYNTAX, "Hatalý adres yazýmý",
+T_RECEIVE_TIMEOUT, "Zaman aþýmý",
+T_REQUEST_MUST_BE_RESTARTED, "Ýstek tekrar yapýlmalý",
+T_CANT_GET_SOCKET_STATE, "Soket durumu alýnamýyor",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Hatalý HTTP cevabý",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "Ýçerik YOK",
+T_UNKNOWN_FILE_TYPE, "Bilinmeyen dosya türü",
+T_ERROR_OPENING_FILE, "Dosya açýlýrken hata",
+T_BAD_FTP_RESPONSE, "Hatalý FTP cevabý",
+T_FTP_SERVICE_UNAVAILABLE, "FTP servisi kullanýlamýyor",
+T_BAD_FTP_LOGIN, "Hatalý FTP kullanýcýsý",
+T_FTP_PORT_COMMAND_FAILED, "FTP PORT komutu sonlandý",
+T_FILE_NOT_FOUND, "Dosya bulunamadý",
+T_FTP_FILE_ERROR, "FTP dosya hatasý",
+T_UNKNOWN_ERROR, "Bilinmeyen hata",
+T_RECEIVED, "Alýndý",
+T_OF, "/",
+T_AVG, "ortalama",
+T_CUR, "þimdiki",
+T_AVERAGE_SPEED, "Ortalama hýz",
+T_SPEED, "Hýz",
+T_CURRENT_SPEED, "Þimdiki hýz",
+T_ELAPSED_TIME, "Geçen zaman",
+T_ESTIMATED_TIME, "Hesaplanan zaman",
+T_BACKGROUND, "Arkaplan",
+T_ABORT, "Çýk",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Evet",
+T_NO, "Hayýr",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Ýndirme hatasý",
+T_COULD_NOT_WRITE_TO_FILE, "Dosya yaratýlamýyor",
+T_ERROR_DOWNLOADING, "Error downloading",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "Dosya yaratýlamýyor",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Bilinmeyen tür",
+T_CONTENT_TYPE_IS, "Content-Type",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Bu dosyayý kaydetmek mi yoksa görüntülemek mi istersiniz?",
+T_SAVE, "Kaydet",
+T_DISPLAY, "Görüntüle",
+T_WHAT_TO_DO, "Ne yapacaksýnýz?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Dosyayý program ile aç",
+T_SAVE_IT_OR_DISPLAY_IT, "kaydet ya da görüntüle",
+T_OPEN, "Aç",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Yönlendirmeyi izlemek ve form bilgisini adrese göndermek istiyor musunuz",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Form bilgisini adrese göndermek istiyor musunuz",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Form bilgisini adrese tekrar göndermek istiyor musunuz",
+T_WARNING, "Uyarý",
+T_ERROR, "Hata",
+T_WELCOME, "Hoþgeldin",
+T_WELCOME_TO_LINKS, "Links'e hoþgeldiniz!",
+T_BASIC_HELP, "Menü için ESC ye basýn. Kullanýcý klavuzu için Yardým->Kýlavuz 'u seçin.",
+T_LABEL, "Etiketler",
+T_CONTENT_TYPES, "Content-Type(s)",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' dosya adý ile deðiþtirildi)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Program çalýþýrken terminali kilitle",
+T_RUN_ON_TERMINAL, "Terminalde çalýþtýr",
+T_RUN_IN_XWINDOW, "X-Window'da çalýþtýr",
+T_ASK_BEFORE_OPENING, "Açmadan önce sor",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Association sil",
+T_ASSOCIATION, "Association",
+T_EXTENSION_S, "Uzantý(lar)",
+T_CONTENT_TYPE, "Content-Type",
+T_DELETE_EXTENSION, "Uzantýyý sil",
+T_EXTENSION, "Uzantý",
+T_eXTENSION, "uzantý",
+T_ERROR_WHILE_POSTING_FORM, "Fromu gönderirken hata",
+T_COULD_NOT_GET_FILE, "Dosya alýnamýyor",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Geri arama yok",
+T_SEARCH_STRING_NOT_FOUND, "Aranan söz dizimi bulunamadý",
+T_SAVE_ERROR, "Kaydetme hatasý",
+T_ERROR_WRITING_TO_FILE, "Dosyaya yazarken hata",
+T_DISPLAY_USEMAP, "Haritayý görüntüle",
+T_FOLLOW_LINK, "Baðlantýyý takip et",
+T_OPEN_IN_NEW_WINDOW, "Yeni pencerede aç",
+T_DOWNLOAD_LINK, "Baðlantýyý indir",
+T_RESET_FORM, "Formu Temizle",
+T_SUBMIT_FORM, "Forumu Gönder",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Formu gönder ve yeni pencerede aç",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Formu gönder ve indir",
+T_VIEW_IMAGE, "Resmi göster",
+T_DOWNLOAD_IMAGE, "Resmi indir",
+T_NO_LINK_SELECTED, "Baðlantý seçilmedi",
+T_IMAGE, "Resim",
+T_USEMAP, "Harita",
+T_XTERM, "Xterm",
+T_TWTERM, NULL,
+T_SCREEN, "Ekran",
+T_WINDOW, "Pencere",
+T_FULL_SCREEN, "Tam ekran",
+T_BEOS_TERMINAL, "BeOS terminali",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Formu gönder",
+T_POST_FORM_TO, "Formu yolla",
+T_RADIO_BUTTON, "Radyo düðmesi",
+T_CHECKBOX, "Ýþaret kutusu",
+T_SELECT_FIELD, "Alaný seç",
+T_TEXT_FIELD, "Metin satýrý",
+T_TEXT_AREA, "Metin alaný",
+T_FILE_UPLOAD, "Dosya yükle",
+T_PASSWORD_FIELD, "Parola alaný",
+T_BUTTON, NULL,
+T_NAME, "isim",
+T_VALUE, "deðer",
+T_HIT_ENTER_TO, "ENTER a basýn",
+T_SUBMIT_TO, "gönder",
+T_POST_TO, "yolla",
+T_INFO, "Bilgi",
+T_HEADER_INFO, NULL,
+T_YOU_ARE_NOWHERE, "Hiçbir yerde deðilsin!",
+T_NO_HEADER, NULL,
+T_URL, "Adres",
+T_SIZE, "Boyut",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "tamamlanmamýþ",
+T_CODEPAGE, "Karakter seti",
+T_ASSUMED, "tahmin edilen",
+T_IGNORING_SERVER_SETTING, "sunucu ayarlarý gözardý ediliyor",
+T_SERVER, "Sunucu",
+T_DATE, "Tarih",
+T_LAST_MODIFIED, "Son güncelleme",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Dil",
+T_GO_TO_LINK, "Baðlantýya git",
+T_ENTER_LINK_NUMBER, "Baðlantý numarasýný gir",
+T_RESIZE_TERMINAL, "Terminali boyutlandýr",
+T_COLUMNS, "Sütunlar",
+T_ROWS, "Satýrlar",
+T_GOTO, "Git",
+T_CLOSE, "Kapat",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "Ekle",
+T_DELETE, "Sil",
+T_EDIT, "Düzenle",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "Yer imleri",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "Yer imi ekle",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, "Yer imi baþlýðý",
+T_EDIT_BOOKMARK, "Yer imini düzenle",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "Yer imini sil",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "Yer imi yöneticisi",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, "adres",
+T_NNAME, "Ýsim",
+T_EXIT_LINKS, "Links'den çýk",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Links'den gerçekten çýkmak istiyor musunuz?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Gerçekten Links'den çýkmak (ve tüm indirilenleri durdurmak) istiyor musunuz?",
+T_HTTP_OPTIONS, "HTTP seçenekleri",
+T_FTP_OPTIONS, "FTP seçenekleri",
+T_HTTP_BUG_WORKAROUNDS, "HTTP hatalý sunucular",
+T_USE_HTTP_10, "HTTP/1.0 kullan",
+T_ALLOW_SERVER_BLACKLIST, "Hatalý sunucular karalistesini oluþtur",
+T_BROKEN_302_REDIRECT, "Hatalý yönlendirme 302 (RFC'ye uymuyor, fakat Netscape ile uyumlu)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "POST isteðinden sonra keepalive baðlantýsý yok (bazý hatalý PHP veri tabanlarý buna ihtiyaç duyuyor)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Anonim kullanýcý için þifre",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Kullanýcý klavuzu",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, "Posta programý (% adresi ile deðiþtiriliyor)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "Telnet programý (% \"host\" or \"host port\" ile deðiþtiriliyor)",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Tn3270 programý (% \"host\" or \"host port\" ile deðiþtiriliyor)",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Posta ve Telnet programlarý",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "Program yok",
+T_NO_PROGRAM_SPECIFIED_FOR, "Program belirlenmemiþ:",
+T_MAIL, "posta",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, "tn3270",
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Adrese posta gönder",
+T_BAD_TELNET_URL, "Hatalý telnet adresi",
+T_BAD_TN3270_URL, NULL,
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, NULL,
+T_PASSWORD, NULL,
+T_ENTER_USERNAME, NULL,
+T_AT, NULL,
+T_SSL_ERROR, NULL,
+T_NO_SSL, NULL,
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "G",
+T_HK_GO_BACK, "R",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, "M",
+T_HK_RELOAD, "N",
+T_HK_BOOKMARKS, "Y",
+T_HK_NEW_WINDOW, "Y",
+T_HK_SAVE_AS, "K",
+T_HK_SAVE_URL_AS, "A",
+T_HK_SAVE_FORMATTED_DOCUMENT, "B",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "O",
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, "T",
+T_HK_RESOURCE_INFO, "B",
+T_HK_MEMORY_INFO, "H",
+T_HK_OS_SHELL, "T",
+T_HK_RESIZE_TERMINAL, "B",
+T_HK_EXIT, "K",
+T_HK_SEARCH, "A",
+T_HK_SEARCH_BACK, "G",
+T_HK_FIND_NEXT, "T",
+T_HK_FIND_PREVIOUS, "R",
+T_HK_TOGGLE_HTML_PLAIN, "H",
+T_HK_DOCUMENT_INFO, "B",
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "E",
+T_HK_HTML_OPTIONS, "S",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "K",
+T_HK_LANGUAGE, "L",
+T_HK_CHARACTER_SET, "K",
+T_HK_TERMINAL_OPTIONS, "N",
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "A",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "O",
+T_HK_MAIL_AND_TELNEL, "P",
+T_HK_ASSOCIATIONS, "S",
+T_HK_FILE_EXTENSIONS, "U",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "Y",
+T_HK_ABOUT, "H",
+T_HK_KEYS, "T",
+T_HK_COPYING, "K",
+T_HK_MANUAL, "L",
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "D",
+T_HK_VIEW, "G",
+T_HK_LINK, "B",
+T_HK_DOWNLOADS, "N",
+T_HK_SETUP, "A",
+T_HK_HELP, "Y",
+T_HK_DISPLAY_USEMAP, "H",
+T_HK_FOLLOW_LINK, "T",
+T_HK_OPEN_IN_NEW_WINDOW, "Y",
+T_HK_DOWNLOAD_LINK, "N",
+T_HK_RESET_FORM, "T",
+T_HK_SUBMIT_FORM, "G",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "V",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "N",
+T_HK_VIEW_IMAGE, "R",
+T_HK_DOWNLOAD_IMAGE, "D",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, "X",
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, "A",
+T_HK_WINDOW, "P",
+T_HK_FULL_SCREEN, "T",
+T_HK_BEOS_TERMINAL, "B",
diff --git a/intl/ukrainian.lng b/intl/ukrainian.lng
new file mode 100644
index 0000000..d78d035
--- /dev/null
+++ b/intl/ukrainian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "koi8-u",
+T__LANGUAGE, "Ukrainian",
+T__ACCEPT_LANGUAGE, "uk",
+T_OK, "õÇÕ",
+T_CANCEL, "óËÁÓÕ×ÁÔÉ",
+T_BAD_NUMBER, "îÅÐÒÁ×ÉÌØÎÅ ÞÉÓÌÏ",
+T_NUMBER_EXPECTED, "÷ ÐÏ̦ ÍÁ¤ ÂÕÔØ ÞÉÓÌÏ",
+T_NUMBER_OUT_OF_RANGE, "þÉÓÌÏ ×ÉÈÏÄÉÔØ ÚÁ ÐÒÉÐÕÓÔÉͦ ÍÅÖ¦",
+T_BAD_STRING, "îÅÐÒÁ×ÉÌØÎÉÊ ÒÑÄÏË",
+T_EMPTY_STRING_NOT_ALLOWED, "ðÏÒÏÖΦ ÒÑÄËÉ ÎÅÄÏÐÕÓÔÉͦ",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "ðÏÍÉÌËÁ ËÏÎƦÇÕÒÁæ§",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "îÅ ÍÏÖÕ ÚÁÐÉÓÁÔÉ ÆÁÊÌ ËÏÎƦÇÕÒÁæ§",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "ðÒÏ ÐÒÏÇÒÁÍÕ",
+T_LINKS__LYNX_LIKE, "Links, ×ÅÒÓ¦Ñ " VERSION_STRING "\n\n ðÏĦÂÎÉÊ ÄÏ Lynx ÔÅËÓÔÏ×ÉÊ ×ÅÂ-ÂÒoÕÚÅÒ",
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "KÌÁצۦ",
+T_KEYS_DESC, "ESC ÍÅÎÀ\n^C, q ×ÉȦÄ\n^P, ^N ÐÒÏËÒÕÔËÁ ×ÇÏÒÕ-×ÎÉÚ\n[, ] ÐÒÏËÒÕÔËÁ ×̦×Ï-×ÐÒÁ×Ï\nup, down ×ÉÂ¦Ò ÐÏÓÉÌÁÎÎÑ\n-> ÐÅÒÅÈ¦Ä ÚÁ ÐÏÓÉÌÁÎÎÑÍ\n<- ÎÁÚÁÄ\ng ÐÅÒÅÊÔÉ ÄÏ ÎÏ×ÏÇÏ URL\nG ÐÅÒÅÊÔÉ ÄÏ URL, ÑËÉÊ ÂÁÚÕ¤ÔØÓÑ ÎÁ ÐÏÔÏÞÎÏÍÕ\n/ ÐÏÛÕË\n? Ú×ÏÒÏÔÎ¦Ê ÐÏÛÕË\nn ÛÕËÁÔÉ ÄÁ̦\nN ÛÕËÁÔÉ ×ÇÏÒÕ\n= ¦ÎÆÏÒÍÁÃ¦Ñ ÐÒÏ ÄÏËÕÍÅÎÔ\n\\ ÐÏËÁÚÁÔÉ ËÏÄ HTML\nd ÚÁ×ÁÎÔÁÖÉÔÉ",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "ì¦ÃÅÎÚ¦Ñ",
+T_COPYING_DESC, "ãÑ ÐÒÏÇÒÁÍÁ ¤ ÂÅÚËÏÛÔÏ×ÎÉÍ ðú; ×É ÍÏÖÅÔÅ ÒÏÚÐÏ×ÓÀÄÖÕ×ÁÔÉ ÔÁ/ÁÂÏ ÍÏÄÉƦËÕ×ÁÔÉ §§ ÚǦÄÎÏ Ì¦ÃÅÎÚ¦§ GNU, ÑËÁ ÏÐÕÂ̦ËÏ×ÁÎÁ \"æÏÎÄÏÍ ÂÅÚËÏÛÔÏ×ÎÏÇÏ ÐÒÏÇÒÁÍÎÏÇÏ ÚÁÂÅÚÐÅÞÅÎÎÑ\" (FSF); ×ÅÒÓ¦§ 2 ì¦ÃÅÎÚ¦§, ÁÂÏ (ÚÁ ×ÁÛÉÍ ÂÁÖÁÎÎÑÍ) ¦ÌØÛ Ð¦ÚÎØϧ ×ÅÒÓ¦§",
+T_RESOURCES, "òÅÓÕÒÓÉ",
+T_CONNECTIONS, "ú'¤ÄÎÁÎÎÑ",
+T_MEMORY_CACHE, "ëÅÛ × ÐÁÍ'ÑÔ¦",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, NULL,
+T_IMAGE_CACHE, NULL,
+T_FORMATTED_DOCUMENT_CACHE, "ëÅÛ ×¦ÄÆÏÒÍÁÔÏ×ÁÎÉÈ ÄÏËÕÍÅÎÔ¦×",
+T_DNS_CACHE, NULL,
+T_HANDLES, "ÈÅÎÄ̦×",
+T_TIMERS, "ÔÁÊÍÅÒ¦×",
+T_WAITING, NULL,
+T_CONNECTING, "ÓÔ×ÏÒÀÀÔØÓÑ",
+T_tRANSFERRING, "ÐÅÒÅÄÁÞ",
+T_KEEPALIVE, "ÚÂÅÒÅÖÅÎÎÑ Ú×'ÑÚËÕ",
+T_BYTES, "ÂÁÊÔ",
+T_LETTERS, NULL,
+T_FILES, "ÆÁÊ̦×",
+T_LOCKED, "ÂÌÏËÏ×ÁÎÏ",
+T_LOADING, "ÚÁ×ÁÎÔÁÖÕ¤ÔØÓÑ",
+T_IMAGES, NULL,
+T_DOCUMENTS, "ÄÏËÕÍÅÎÔ¦×",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "ÂÁÊÔ¦× ×ÉĦÌÅÎÏ",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "¶ÎÆÏÒÍÁÃ¦Ñ ÐÒÏ ÐÁÍ'ÑÔØ",
+T_NO_HISTORY, "öÕÒÎÁÌ ÐÏÒÏÖΦÊ",
+T_NO_DOWNLOADS, "îÅÍÁ¤ ÚÁ×ÁÎÔÁÖÅÎØ",
+T_NO_FRAMES, "âÅÚ ÒÁÍÏË",
+T_VT_100_FRAMES, "òÁÍËÉ VT 100",
+T_LINUX_OR_OS2_FRAMES, "òÁÍËÉ Linux ÞÉ OS/2",
+T_KOI8R_FRAMES, "òÁÍËÉ KOI8-R",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "÷ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "äÅÑ˦ ÒÁÍËÉ Ú cp850/852",
+T_BLOCK_CURSOR, "ðÒÑÍÏËÕÔÎÉÊ ËÕÒÓÏÒ",
+T_COLOR, "ëÏÌØÏÒÉ",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "ðÁÒÁÍÅÔÒÉ ÔÅÒÍiÎÁÌÕ",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP-ÐÒÏËÓ¦ (ÓÅÒ×ÅÒ:ÐÏÒÔ)",
+T_FTP_PROXY__HOST_PORT, "FTP-ÐÒÏËÓ¦ (ÓÅÒ×ÅÒ:ÐÏÒÔ)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "äÏÍÅÎÉ, ÄÏ ÑËÉÈ ÊÔÉ ÂÅÚ ÐÒÏËÓ¦(ÞÅÒÅÚ ËÏÍÕ)",
+T_NETWORK_OPTIONS, "íÅÒÅÖΦ ÐaÒÁÍÅÔÒÉ",
+T_MAX_CONNECTIONS, "íÁËÓ. ÞÉÓÌÏ Ú'¤ÄÎÁÎØ",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "íÁËÓ. ÞÉÓÌÏ Ú'¤ÄÎÁÎØ Ú ÏÄÎÉÍ ÓÅÒ×ÅÒÏÍ",
+T_RETRIES, "óÐÒÏÂ",
+T_RECEIVE_TIMEOUT_SEC, "ôÁÊÍÁÕÔ ÎÁ ÐÒÉÊÏÍ (ÓÅË.)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "ôÁÊÍÁÕÔ, ËÏÌÉ ÄÏËÁÞËÁ ÎÅÍÏÖÌÉ×Á",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "áÓÉÎÈÒÏÎÎÅ Ú×ÅÒÎÅÎÎÑ ÄÏ DNS",
+T_SET_TIME_OF_DOWNLOADED_FILES, "÷ÉÓÔÁ×ÌÅÎÎÑ ÞÁÓÕ ÄÌÑ ÚÁ×ÁÎÔÁÖÅÎÉÈ ÆÁÊ̦×",
+T_CACHE_OPTIONS, "ðÁÒÁÍÅÔÒÉ ËÅÛÕ",
+T_MEMORY_CACHE_SIZE__KB, "òÏÚÍ¦Ò ËÅÛÕ × ÐÁÍ'ÑÔ¦ (ËÂ)",
+T_IMAGE_CACHE_SIZE__KB, NULL,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "ë¦ÌØ˦ÓÔØ ×¦ÄÆÏÒÍÁÔÏ×ÁÎÉÈ ÄÏËÕÍÅÎÔ¦×",
+T_AGGRESSIVE_CACHE, NULL,
+T_HTML_OPTIONS, "ðÁÒÁÍÅÔÒÉ HTML",
+T_DISPLAY_TABLES, "ôÁÂÌÉæ",
+T_DISPLAY_FRAMES, "æÒÅÊÍÉ",
+T_DISPLAY_IMAGES, NULL,
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "ðÏÓÉÌÁÎÎÑ ÎÁ ÚÏÂÒÁÖÅÎÎÑ",
+T_LINK_ORDER_BY_COLUMNS, "òÕÈÁÔÉÓØ ÐÏ ÓÔÏ×ÐÞÉËÁÍ ÔÁÂÌÉÃØ",
+T_NUMBERED_LINKS, "îÕÍÅÒÕ×ÁÔÉ Ì¦ÎËÉ",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "÷¦ÄÓÔÕÐ",
+T_DEFAULT_CODEPAGE, "ëÏÄÕ×ÁÎÎÑ ÚÁ ÚÍÏ×ÞÁÎÎÑÍ",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "¶ÇÎÏÒÕ×ÁÔÉ ÎÁĦÓÌÁÎÅ ÓÅÒ×ÅÒÏÍ ËÏÄÕ×ÁÎÎÑ",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "ðeÒÅÊÔÉ ÄÏ...",
+T_GO_BACK, "ðo×ÅÒÎÕÔÉÓÑ ÎÁÚÁÄ",
+T_GO_FORWARD, NULL,
+T_HISTORY, "öÕÒÎÁÌ",
+T_RELOAD, "ïÎÏ×ÉÔÉ",
+T_NEW_WINDOW, "îÏ׊צËÎÏ",
+T_SAVE_AS, "úÂÅÒÅÇÔÉ ÑË",
+T_SAVE_URL_AS, "úÂÅÒÅÇÔÉ URL ÑË",
+T_SAVE_FORMATTED_DOCUMENT, "úÂÅÒÅÇÔÉ ×¦ÄÆÏÒÍÁÔÏ×ÁÎÉÊ ÄÏËÕÍÅÎÔ",
+T_COPY_URL_LOCATION, NULL,
+T_KILL_BACKGROUND_CONNECTIONS, "òÏÚ¦Ò×ÁÔÉ ÆÏÎÏצ Ú'¤ÄÎÁÎÎÑ",
+T_KILL_ALL_CONNECTIONS, NULL,
+T_FLUSH_ALL_CACHES, "ïÞÉÓÔÉÔÉ ×Ó¦ ËÅÛ¦",
+T_RESOURCE_INFO, "¶ÎÆÏÒÍÁÃ¦Ñ ÐÒÏ ÒÅÓÕÒÓÉ",
+T_OS_SHELL, "ïÂÏÌÏÎËÁ ËÏÒÉÓÔÕ×ÁÞÁ",
+T_EXIT, "÷ÉȦÄ",
+T_SEARCH, "ðÏÛÕË",
+T_SEARCH_BACK, "ú×ÏÒÏÔÎ¦Ê ÐÏÛÕË",
+T_FIND_NEXT, "ûÕËÁÔÉ ÄÁ̦",
+T_FIND_PREVIOUS, "ûÕËÁÔÉ ÎÁÚÁÄ",
+T_TOGGLE_HTML_PLAIN, "ðÅÒÅÍÉËÁÞ HTML/ÔÅËÓÔ",
+T_DOCUMENT_INFO, "¶ÎÆÏÒÍÁÃ¦Ñ ÐÒÏ ÄÏËÕÍÅÎÔ",
+T_FRAME_AT_FULL_SCREEN, "æÒÅÊÍ ÎÁ ×ÅÓØ ÅËÒÁÎ",
+T_SAVE_HTML_OPTIONS, "úÂÅÒÅÇÔÉ ÐÁÒÁÍÅÔÒÉ HTML",
+T_CHARACTER_SET, "ëÏÄÕ×ÁÎÎÑ",
+T_CACHE, "ëÅÛ",
+T_MAIL_AND_TELNEL, "ðÏÛÔÁ ÔÁ telnet",
+T_MAIL_TELNET_AND_SHELL, NULL,
+T_ASSOCIATIONS, "óЦ×ÓÔÁ×ÌÅÎÎÑ",
+T_FILE_EXTENSIONS, "òÏÚÛÉÒÅÎÎÑ ÆÁÊ̦×",
+T_SAVE_OPTIONS, "úÂÅÒÅÇÔÉ ÐÁÒÁÍÅÔÒÉ",
+T_FILE, "æÁÊÌ",
+T_VIEW, "÷ÉÇÌÑÄ",
+T_LINK, "ðÏÓÉÌÁÎÎÑ",
+T_DOWNLOADS, "úÁ×ÁÎÔÁÖÅÎÎÑ",
+T_SETUP, "ðÁÒÁÍÅÔÒÉ",
+T_HELP, "äÏÐÏÍÏÇÁ",
+T_ENTER_URL, "÷×ÅĦÔØ URL",
+T_SAVE_URL, "úÂÅÒÅÇÔÉ URL",
+T_DOWNLOAD, "úÁ×ÁÎÔÁÖÅÎÎÑ",
+T_SAVE_TO_FILE, "úÁÐÉÓÁÔÉ ÄÏ ÆÁÊÌÕ",
+T_SEARCH_FOR_TEXT, "ðÏÛÕË ÔÅËÓÔÕ",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "ïÞ¦ËÕ×ÁÎÎÑ × ÞÅÒÚ¦",
+T_LOOKING_UP_HOST, "÷ÉÚÎÁÞÅÎÎÑ ¦ÍÅΦ ÓÅÒ×ÅÒÕ",
+T_MAKING_CONNECTION, "óÔ×ÏÒÅÎÎÑ Ú'¤ÄÎÁÎÎÑ",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, NULL,
+T_REQUEST_SENT, "úÁÐÉÔ ÎÁĦÓÌÁÎÏ",
+T_GETTING_HEADERS, "ïÔÒÉÍÁÎÎÑ ÚÁÇÏÌÏ×˦×",
+T_LOGGING_IN, NULL,
+T_SERVER_IS_PROCESSING_REQUEST, "óÅÒ×ÅÒ ÏÂÒÏÂÌÀ¤ ÚÁÐÉÔ",
+T_TRANSFERRING, "ðÅÒÅÄÁÞÁ",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "ïÞ¦ËÕ×ÁÎÎÑ Ð¦ÄÔ×ÅÒÄÖÅÎÎÑ ÐÅÒÅÎÁÐÒÑÍÌÅÎÎÑ",
+T_INTERRUPTED, "ðÅÒÅÒ×ÁÎÏ",
+T_SOCKET_EXCEPTION, "÷ÉËÌÀÞÅÎÎÑ × ÓÏËÅÔ¦",
+T_INTERNAL_ERROR, "÷ÎÕÔÒ¦ÛÎÑ ÐÏÍÉÌËÁ",
+T_OUT_OF_MEMORY, "îÅÓÔÁÞÁ ÐÁÍ'ÑÔ¦",
+T_HOST_NOT_FOUND, "óÅÒ×ÅÒ ÎÅ ÚÎÁÊÄÅÎÏ",
+T_ERROR_WRITING_TO_SOCKET, "ðÏÍÉÌËÁ ÚÁÐÉÓÕ × ÓÏËÅÔ",
+T_ERROR_READING_FROM_SOCKET, "ðÏÍÉÌËÁ ÞÉÔÁÎÎÑ Ú ÓÏËÅÔÕ",
+T_DATA_MODIFIED, "äÁÔÕ ÚͦÎÅÎÏ",
+T_BAD_URL_SYNTAX, "îÅÐÒÁ×ÉÌØÎÉÊ ÓÉÎÔÁËÓÉÓ URL",
+T_RECEIVE_TIMEOUT, "ôÁÊÍ-ÁÕÔ Ð¦Ä ÞÁÓ ÞÉÔÁÎÎÑ",
+T_REQUEST_MUST_BE_RESTARTED, "úÁÐÉÔ ÐÏÔÒ¦ÂÎÏ ÐÏ×ÔÏÒÉÔÉ",
+T_CANT_GET_SOCKET_STATE, "îÅÍÏÖÌÉ×Ï ÏÔÒÉÍÁÔÉ ÓÔÁÎ ÓÏËÅÔÕ",
+T_CYCLIC_REDIRECT, NULL,
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "îÅÐÒÁ×ÉÌØÎÁ צÄÐÏצÄØ HTTP",
+T_HTTP_100, "HTTP 100 (\?\?\?)",
+T_NO_CONTENT, "îÅÍÁ ¦ÎÆÏÒÍÁæ§",
+T_UNKNOWN_FILE_TYPE, "îÅצÄÏÍÉÊ ÔÉÐ ÆÁÊÌÕ",
+T_ERROR_OPENING_FILE, "ðÏÍÉÌËÁ צÄËÒÉÔÔÑ ÆÁÊÌÕ",
+T_BAD_FTP_RESPONSE, "îÅÐÒÁ×ÉÌØÎÁ צÄÐÏצÄØ FTP",
+T_FTP_SERVICE_UNAVAILABLE, "óÅÒ×¦Ó FTP ÎÅÄÏÓÔÕÐÎÉÊ",
+T_BAD_FTP_LOGIN, "îÅ×ÄÁÌÅ FTP-Ú'¤ÄÎÁÎÎÑ",
+T_FTP_PORT_COMMAND_FAILED, "ëÏÍÁÎÄÁ FTP PORT ÚÁ˦ÎÞÉÌÁÓÑ ÎÅ×ÄÁÌÏ",
+T_FILE_NOT_FOUND, "æÁÊÌ ÎÅ ÚÎÁÊÄÅÎÏ",
+T_FTP_FILE_ERROR, "ðÏÍÉÌËÁ ÆÁÊÌÕ ÎÁ FTP",
+T_UNKNOWN_ERROR, "îÅצÄÏÍÁ ÐÏÍÉÌËÁ",
+T_RECEIVED, "ðÒÉÊÎÑÔÏ",
+T_OF, "Ú",
+T_AVG, "× ÓÅÒÅÄÎØÏÍÕ",
+T_CUR, "ÐÏÔÏÞÎÁ",
+T_AVERAGE_SPEED, "óÅÒÅÄÎÑ Û×ÉÄ˦ÓÔØ",
+T_SPEED, "û×ÉÄ˦ÓÔØ",
+T_CURRENT_SPEED, "ÐÏÔÏÞÎÁ Û×ÉÄ˦ÓÔØ",
+T_ELAPSED_TIME, "÷ÉÔÒÁÞÅÎÉÊ ÞÁÓ",
+T_ESTIMATED_TIME, "ïÞ¦ËÕ×ÁÎÉÊ ÞÁÓ",
+T_BACKGROUND, "îÁ Ô̦",
+T_ABORT, "ðÅÒÅÒ×ÁÔÉ",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "ôÁË",
+T_NO, "î¦",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "ðÏÍÉÌËÁ ÚÁ×ÁÎÔÁÖÅÎÎÑ",
+T_COULD_NOT_WRITE_TO_FILE, "îÅ ÍÏÖÕ ÐÉÓÁÔÉ Õ ÆÁÊÌ",
+T_ERROR_DOWNLOADING, "ðÏÍÉÌËÁ ÚÁ×ÁÎÔÁÖÅÎÎÑ",
+T_ERROR_LOADING, NULL,
+T_COULD_NOT_CREATE_FILE, "îÅ ÍÏÖÕ ÓÔ×ÏÒÉÔÉ ÆÁÊÌ",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "îÅצÄÏÍÉÊ ÔÉÐ",
+T_CONTENT_TYPE_IS, "ôÉÐ ÄÏËÕÍÅÎÔÕ",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL,
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "÷É Â ÈÏÔ¦ÌÉ ÚÂÅÒÅÇÔÉ ÞÉ ÐÏËÁÚÁÔÉ ÃÅÊ ÆÁÊÌ?",
+T_SAVE, "úÂÅÒÅÇÔÉ",
+T_DISPLAY, "ðÏËÁÚÁÔÉ",
+T_WHAT_TO_DO, "ýÏ ÒÏÂÉÔÉ?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "âÁÖÁ¤ÔŠצÄËÒÉÔÉ ÆÁÊÌ ÚÁ ÄÏÐÏÍÏÇÏÀ",
+T_SAVE_IT_OR_DISPLAY_IT, "ÚÂÅÒÅÇÔÉ ÞÉ ÐÏËÁÚÁÔÉ ÊÏÇÏ?",
+T_OPEN, "÷¦ÄËÒÉÔÉ",
+T_OPEN_WITH, NULL,
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "âÁÖÁ¤ÔÅ ÐÒÑÍÕ×ÁÔÉ ÚÁ ÐÅÒÅÁÄÒÅÓÁæ¤À ÔÁ צÄÐÒÁ×ÉÔÉ ×ͦÓÔ ÆÏÒÍÉ ÚÁ ÁÄÒÅÓÏÀ",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "÷É ÂÁÖÁ¤ÔŠצÄÐÒÁ×ÉÔÉ ×ͦÓÔ ÆÏÒÍÉ ÚÁ ÁÄÒÅÓÏÀ",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "÷É ÂÁÖÁ¤ÔÅ ÚÁÎÏ×Ï ×¦ÄÐÒÁ×ÉÔÉ ×ͦÓÔ ÆÏÒÍÉ ÚÁ ÁÄÒÅÓÏÀ",
+T_WARNING, "ðÏÐÅÒÅÄÖÅÎÎÑ",
+T_ERROR, "ðÏÍÉÌËÁ",
+T_WELCOME, "÷¦ÔÁ¤ÍÏ",
+T_WELCOME_TO_LINKS, "ìÁÓËÁ×Ï ÐÒÏÓÉÍÏ ÄÏ Links!",
+T_BASIC_HELP, "îÁÔÉÓΦÔØ ESC ÝÏ ×ÉËÌÉËÁÔÉ ÍÅÎÀ. ðÒÏÞÉÔÁÊÔÅ ¦ÎÓÔÒÕËæÀ × ÍÅÎÀ 'äÏÐÏÍÏÇÁ->¶ÎÓÔÒÕËæÑ'.",
+T_LABEL, "í¦ÔËÁ",
+T_CONTENT_TYPES, "ôÉÐ(É) ÄÁÎÉÈ",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "ðÒÏÇÒÁÍÁ ('%' ÚÁͦÎÀ¤ÔØÓÑ ÎÁ ¦Í'Ñ ÆÁÊÌÕ)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "âÌÏËÕ×ÁÔÉ ÔÅÒͦÎÁÌ ÎÁ ÞÁÓ ÒÏÂÏÔÉ ÐÒÏÇÒÁÍÉ",
+T_RUN_ON_TERMINAL, "úÁÐÕÓÔÉÔÉ × ÔÅÒͦÎÁ̦",
+T_RUN_IN_XWINDOW, "úÁÐÕÓÔÉÔÉ × X-Window",
+T_ASK_BEFORE_OPENING, "óÐÉÔÁÔÉ ÐÅÒÅÄ ×¦ÄËÒÉÔÔÑÍ",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "÷ÉÄÁÌÉÔÉ ÓЦ×ÓÔÁ×ÌÅÎÎÑ",
+T_ASSOCIATION, "óЦ×ÓÔÁ×ÌÅÎÎÑ",
+T_EXTENSION_S, "òÏÚÛÉÒÅÎÎÑ",
+T_CONTENT_TYPE, "ôÉÐ ÄÁÎÉÈ",
+T_DELETE_EXTENSION, "÷ÉÄÁÌÉÔÉ ÒÏÚÛÉÒÅÎÎÑ",
+T_EXTENSION, "òÏÚÛÉÒÅÎÎÑ",
+T_eXTENSION, NULL,
+T_ERROR_WHILE_POSTING_FORM, "ðÏÍÉÌËÁ צÄÐÒÁ×ÌÅÎÎÑ ÆÏÒÍÉ",
+T_COULD_NOT_GET_FILE, "îÅ ÍÏÖÕ ÏÔÒÉÍÁÔÉ ÆÁÊÌ",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "ðÏÛÕËÕ ÝÅ ÎÅ ÂÕÌÏ",
+T_SEARCH_STRING_NOT_FOUND, "òÑÄÏË ÎÅ ÚÎÁÊÄÅÎÏ",
+T_SAVE_ERROR, "ðÏÍÉÌËÁ ÚÂÅÒÅÖÅÎÎÑ",
+T_ERROR_WRITING_TO_FILE, "ðÏÍÉÌËÁ ÚÁÐÉÓÕ ÄÏ ÆÁÊÌÕ",
+T_DISPLAY_USEMAP, "÷¦ÄÏÂÒÁÚÉÔÉ ÍÁÐÕ",
+T_FOLLOW_LINK, "êÔÉ ÚÁ ÐÏÓÉÌÁÎÎÑÍ",
+T_OPEN_IN_NEW_WINDOW, "÷¦ÄËÒÉÔÉ × ÎÏ×ÏÍÕ ×¦ËΦ",
+T_DOWNLOAD_LINK, "úÁ×ÁÎÔÁÖÉÔÉ ÚÁ ÐÏÓÉÌÁÎÎÑÍ",
+T_RESET_FORM, "ïÞÉÓÔÉÔÉ ÆÏÒÍÕ",
+T_SUBMIT_FORM, "÷¦Ä¦ÓÌÁÔÉ ÆÏÒÍÕ",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "÷¦Ä¦ÓÌÁÔÉ ÆÏÒÍÕ ÔÁ צÄËÒÉÔÉ × ÎÏ×ÏÍÕ ×¦ËΦ",
+T_SUBMIT_FORM_AND_DOWNLOAD, "÷¦Ä¦ÓÌÁÔÉ ÆÏÒÍÕ ÔÁ ÚÁ×ÁÎÔÉÖÉÔÉ",
+T_VIEW_IMAGE, "ðÏÄÉ×ÉÔÉÓØ ÚÏÂÒÁÖÅÎÎÑ",
+T_DOWNLOAD_IMAGE, "úÁ×ÁÎÔÉÖÉÔÉ ÚÏÂÒÁÖÅÎÎÑ",
+T_NO_LINK_SELECTED, "îÅÍÁ¤ ×ÉÂÒÁÎÉÈ ÐÏÓÉÌÁÎØ",
+T_IMAGE, "úÏÂÒÁÖÅÎÎÑ",
+T_USEMAP, "ÍÁÐÁ ÐÏÓÉÌÁÎØ",
+T_XTERM, "Xterm",
+T_TWTERM, NULL,
+T_SCREEN, "åËÒÁÎ",
+T_WINDOW, "÷¦ËÎÏ",
+T_FULL_SCREEN, "÷ÅÓØ ÅËÒÁÎ",
+T_BEOS_TERMINAL, "ôÅÒͦÎÁÌ BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "ðÅÒÅÄÁÔÉ ÆÏÒÍÕ ÚÁ ÁÄÒÅÓÏÀ",
+T_POST_FORM_TO, "÷¦ÄÐÒÁ×ÉÔÉ ÆÏÒÍÕ ÚÁ ÁÄÒÅÓÏÀ",
+T_RADIO_BUTTON, "òÁĦÏËÎÏÐËÁ",
+T_CHECKBOX, "ðÒÁÐÏÒÅÃØ",
+T_SELECT_FIELD, "ðÏÌÅ ×ÉÂÏÒÕ",
+T_TEXT_FIELD, "ôÅËÓÔÏ×Å ÐÏÌÅ",
+T_TEXT_AREA, "ôÅËÓÔÏ×Á ÏÂÌÁÓÔØ",
+T_FILE_UPLOAD, "ð¦Ä×ÁÎÔÁÖÅÎÎÑ ÆÁÊÌÕ",
+T_PASSWORD_FIELD, "÷×ÅĦÔØ ÐÁÒÏÌØ",
+T_BUTTON, NULL,
+T_NAME, "¦Í'Ñ",
+T_VALUE, "ÚÎÁÞÅÎÎÑ",
+T_HIT_ENTER_TO, "ÎÁÔÉÓΦÔØ ENTER, ÝÏÂ",
+T_SUBMIT_TO, "ÐÅÒÅÄÁÔÉ ÚÁ ÁÄÒÅÓÏÀ",
+T_POST_TO, "צÄÐÒÁ×ÉÔÉ ÚÁ ÁÄÒÅÓÏÀ",
+T_INFO, "¶ÎÆÏÒÍÁæÑ",
+T_HEADER_INFO, NULL,
+T_YOU_ARE_NOWHERE, "÷É ÚÁÒÁÚ Î¦ÄÅ!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "òÏÚͦÒ",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "ÎÅ ÐÏ×ΦÓÔÀ",
+T_CODEPAGE, "ëÏÄÏ×Á ÓÔÏÒ¦ÎËÁ",
+T_ASSUMED, "ÐÒÉÊÎÑÔÏ",
+T_IGNORING_SERVER_SETTING, "¦ÇÎÏÒÕ×ÁÔÉ ÐÁÒÁÍÅÔÒÉ ÓÅÒ×ÅÒÕ",
+T_SERVER, "óÅÒ×ÅÒ",
+T_DATE, "äÁÔÁ",
+T_LAST_MODIFIED, "äÁÔÁ ÍÏÄÉƦËÁæ§",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "íÏ×Á",
+T_GO_TO_LINK, "êÔÉ ÚÁ ÐÏÓÉÌÁÎÎÑÍ",
+T_ENTER_LINK_NUMBER, "÷×ÅĦÔØ ÎÏÍÅÒ ÐÏÓÉÌÁÎÎÑ",
+T_RESIZE_TERMINAL, "úͦÎÉÔÉ ÒÏÚͦÒÉ ÔÅÒÍÉÎÁÌÕ",
+T_COLUMNS, "óÔÏ×ÐÞÉËÉ",
+T_ROWS, "òÑÄËÉ",
+T_GOTO, "êÔÉ",
+T_CLOSE, "úÁËÒÉÔÉ",
+T_FOLDER, NULL,
+T_fOLDER, NULL,
+T_ADD, "äÏÄÁÔÉ",
+T_DELETE, "óÔÅÒÔÉ",
+T_EDIT, "òÅÄÁÇÕ×ÁÔÉ",
+T_MOVE, NULL,
+T_NO_ITEMS_SELECTED, NULL,
+T_UNSELECT_ALL, NULL,
+T_BOOKMARKS, "úÁËÌÁÄËÉ",
+T_BOOKMARK, NULL,
+T_ADD_BOOKMARK, "äÏÄÁÔÉ ÚÁËÌÁÄËÕ",
+T_ADD_ASSOCIATION, NULL,
+T_ADD_EXTENSION, NULL,
+T_ADD_FOLDER, NULL,
+T_BOOKMARK_TITLE, "îÁÚ×Á ÚÁËÌÁÄËÉ",
+T_EDIT_BOOKMARK, "òÅÄÁÇÕ×ÁÔÉ ÚÁËÌÁÄËÕ",
+T_EDIT_ASSOCIATION, NULL,
+T_EDIT_EXTENSION, NULL,
+T_DELETE_BOOKMARK, "÷ÉÄÁÌÉÔÉ ÚÁËÌÁÄËÕ",
+T_EDIT_FOLDER, NULL,
+T_DELETE_FOLDER, NULL,
+T_NOT_EMPTY_SURE_DELETE, NULL,
+T_BOOKMARK_MANAGER, "òÏÂÏÔÁ Ú ÚÁËÌÁÄËÁÍÉ",
+T_ASSOCIATIONS_MANAGER, NULL,
+T_EXTENSIONS_MANAGER, NULL,
+T_url, "URL",
+T_NNAME, "îÁÚ×Á",
+T_EXIT_LINKS, "÷ÉÈ¦Ä Ú Links",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "÷É Ä¦ÊÓÎÏ ÂÁÖÁ¤ÔÅ ×ÉÊÔÉ Ú Links?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "÷É Ä¦ÊÓÎÏ ÂÁÖÁ¤ÔÅ ×ÉÊÔÉ Ú Links ÔÁ ÐÒÉÐÉÎÉÔÉ ×Ó¦ ÚÁ×ÁÎÔÁÖÅÎÎÑ?",
+T_HTTP_OPTIONS, "ðÁÒÁÍÅÔÒÉ HTTP",
+T_FTP_OPTIONS, "ðÁÒÁÍÅÔÒÉ FTP",
+T_HTTP_BUG_WORKAROUNDS, "ïÂÈÏÄÉÔÉ ÐÏÍÉÌËÉ × HTTP",
+T_USE_HTTP_10, "÷ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "÷ÎÏÓÉÔÉ ÎÅÎÁÌÁÇÏÄÖÅΦ ÓÅÒ×ÅÒÉ × ÞÏÒÎÉÊ ÓÐÉÓÏË",
+T_BROKEN_302_REDIRECT, "äÏÚ×ÏÌÉÔÉ ÎÅÐÒÁ×ÉÌØÎÕ 302-ÐÅÒÅÁÄÒÅÓÁæÀ (ÊΊצÄÐÏצÄÁ¤ RFC, ÈÏÞ ¦ ÓÕͦÓÎÏ Ú Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "îŠЦÄÔÒÉÍÕ×ÁÔÉ keepalive ЦÓÌÑ ÚÁÐÒÏÓÕ POST (ÐÏÔÒ¦ÂÎÏ ÄÌÑ ÄÅÑËÉÈ ÎÅצÄÌÁÇÏÄÖÅÎÉÈ PHP-ÂÁÚ ÄÁÎÉÈ)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, NULL,
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "ðÁÒÏÌØ ÄÌÑ ÁÎÏΦÍÎÏÇÏ ×ÈÏÄÕ",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "¶ÎÓÔÒÕËæÑ",
+T_HOMEPAGE, NULL,
+T_CALIBRATION, NULL,
+T_MAILTO_PROG, "ðÏÛÔÏ×Á ÐÒÏÇÒÁÍÁ (% ÚÁͦÎÀ¤ÔØÓÑ ÁÄÒÅÓÏÀ)",
+T_SHELL_PROG, NULL,
+T_TELNET_PROG, "ðÒÏÇÒÁÍÁ telnet (% ÚÁͦÎÀ¤ÔØÓÑ ÎÁ 'host' ÁÂÏ 'host port')",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "ðÒÏÇÒÁÍÁ tn3270 (% ÚÁͦÎÀ¤ÔØÓÑ ÎÁ 'host' ÁÂÏ 'host port')",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "ðÒÏÇÒÁÍÉ ÄÌÑ ÐÏÛÔÉ ÔÁ telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL,
+T_NO_PROGRAM, "îÅÍÁ¤ ÐÒÏÇÒÁÍÉ",
+T_NO_PROGRAM_SPECIFIED_FOR, "îÅ ×ËÁÚÁÎÏ ÐÒÏÇÒÁÍÕ ÄÌÑ",
+T_MAIL, "ÐÏÛÔÉ",
+T_TELNET, NULL,
+T_MAGNET, NULL,
+T_TN3270, NULL,
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "îÅÐÒÁ×ÉÌØÎÁ ÁÄÒÅÓÁ mailto:",
+T_BAD_TELNET_URL, "îÅÐÒÁ×ÉÌØÎÁ ÁÄÒÅÓÁ telnet",
+T_BAD_TN3270_URL, "îÅÐÒÁ×ÉÌØÎÁ ÁÄÒÅÓÁ tn3270",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, NULL,
+T_PROXY_AUTHORIZATION_REQUIRED, NULL,
+T_USERID, NULL,
+T_PASSWORD, NULL,
+T_ENTER_USERNAME, NULL,
+T_AT, NULL,
+T_SSL_ERROR, "ðÏÍÉÌËÁ SSL",
+T_NO_SSL, "ãÑ ×ÅÒÓ¦Ñ Links ΊЦÄÔÒÉÍÕ¤ SSL/TLS",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, NULL,
+T_BOOKMARKS_ALREADY_IN_USE, NULL,
+T_ASSOCIATIONS_ALREADY_IN_USE, NULL,
+T_EXTENSIONS_ALREADY_IN_USE, NULL,
+T_VIDEO_OPTIONS, NULL,
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, NULL,
+T_GREEN_DISPLAY_GAMMA, NULL,
+T_BLUE_DISPLAY_GAMMA, NULL,
+T_USER_GAMMA, NULL,
+T_ALERT, NULL,
+T_QUESTION, NULL,
+T_KILL_SCRIPT, NULL,
+T_KILL_ALL_SCRIPTS, NULL,
+T_SCRIPT_KILLED_BY_USER, NULL,
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL,
+T_ENTER_STRING, NULL,
+T_JAVASCRIPT_OPTIONS, NULL,
+T_ENABLE_JAVASCRIPT, NULL,
+T_VERBOSE_JS_ERRORS, NULL,
+T_VERBOSE_JS_WARNINGS, NULL,
+T_MISCELANEOUS_OPTIONS, NULL,
+T_JAVASCRIPT_ERROR, NULL,
+T_JAVASCRIPT_WARNING, NULL,
+T_DISMISS, NULL,
+T_MENU_FONT_SIZE, NULL,
+T_USER_FONT_SIZE, NULL,
+T_TURN_OFF_WARNINGS, NULL,
+T_BOOKMARKS_ENCODING, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL,
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL,
+T_TO_URL, NULL,
+T_GOTO_HISTORY, NULL,
+T_ALLOW, NULL,
+T_REJECT, NULL,
+T_ENABLE_ALL_CONVERSIONS, NULL,
+T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL,
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, NULL,
+T_MENU_BACKGROUND_COLOR, NULL,
+T_MENU_FOREGROUND_COLOR, NULL,
+T_SCROLL_BAR_BAR_COLOR, NULL,
+T_SCROLL_BAR_AREA_COLOR, NULL,
+T_SCROLL_BAR_FRAME_COLOR, NULL,
+T_BOOKMARKS_FILE, NULL,
+T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL,
+T_JS_MEMORY_LIMIT_KB, NULL,
+T_DITHER_LETTERS, NULL,
+T_DITHER_IMAGES, NULL,
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, NULL,
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL,
+T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL,
+T_ASPECT_RATIO, NULL,
+T_ASPECT_CORRECTION_ON, NULL,
+T_KEYBOARD_CODEPAGE, NULL,
+T_COPY_LINK_LOCATION, NULL,
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, NULL,
+T_HK_GO_BACK, NULL,
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, NULL,
+T_HK_RELOAD, NULL,
+T_HK_BOOKMARKS, NULL,
+T_HK_NEW_WINDOW, NULL,
+T_HK_SAVE_AS, NULL,
+T_HK_SAVE_URL_AS, NULL,
+T_HK_SAVE_FORMATTED_DOCUMENT, NULL,
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, NULL,
+T_HK_KILL_ALL_CONNECTIONS, NULL,
+T_HK_FLUSH_ALL_CACHES, NULL,
+T_HK_RESOURCE_INFO, NULL,
+T_HK_MEMORY_INFO, NULL,
+T_HK_OS_SHELL, NULL,
+T_HK_RESIZE_TERMINAL, NULL,
+T_HK_EXIT, NULL,
+T_HK_SEARCH, NULL,
+T_HK_SEARCH_BACK, NULL,
+T_HK_FIND_NEXT, NULL,
+T_HK_FIND_PREVIOUS, NULL,
+T_HK_TOGGLE_HTML_PLAIN, NULL,
+T_HK_DOCUMENT_INFO, NULL,
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, NULL,
+T_HK_HTML_OPTIONS, NULL,
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, NULL,
+T_HK_LANGUAGE, NULL,
+T_HK_CHARACTER_SET, NULL,
+T_HK_TERMINAL_OPTIONS, NULL,
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, NULL,
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, NULL,
+T_HK_MAIL_AND_TELNEL, NULL,
+T_HK_ASSOCIATIONS, NULL,
+T_HK_FILE_EXTENSIONS, NULL,
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, NULL,
+T_HK_ABOUT, NULL,
+T_HK_KEYS, NULL,
+T_HK_COPYING, NULL,
+T_HK_MANUAL, NULL,
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, NULL,
+T_HK_VIEW, NULL,
+T_HK_LINK, NULL,
+T_HK_DOWNLOADS, NULL,
+T_HK_SETUP, NULL,
+T_HK_HELP, NULL,
+T_HK_DISPLAY_USEMAP, NULL,
+T_HK_FOLLOW_LINK, NULL,
+T_HK_OPEN_IN_NEW_WINDOW, NULL,
+T_HK_DOWNLOAD_LINK, NULL,
+T_HK_RESET_FORM, NULL,
+T_HK_SUBMIT_FORM, NULL,
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, NULL,
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, NULL,
+T_HK_VIEW_IMAGE, NULL,
+T_HK_DOWNLOAD_IMAGE, NULL,
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, NULL,
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, NULL,
+T_HK_WINDOW, NULL,
+T_HK_FULL_SCREEN, NULL,
+T_HK_BEOS_TERMINAL, NULL,
diff --git a/intl/upper_sorbian.lng b/intl/upper_sorbian.lng
new file mode 100644
index 0000000..30545d8
--- /dev/null
+++ b/intl/upper_sorbian.lng
@@ -0,0 +1,594 @@
+T__CHAR_SET, "ISO-8859-2",
+T__LANGUAGE, "Upper Sorbian",
+T__ACCEPT_LANGUAGE, "sb",
+T_OK, "OK",
+T_CANCEL, "Pøetorhnyæ",
+T_BAD_NUMBER, "Njekorektna lièba",
+T_NUMBER_EXPECTED, "Sym lièbu woèakowa³",
+T_NUMBER_OUT_OF_RANGE, "Lièba zwonka dowoleneho rozmìra",
+T_BAD_STRING, "Njekorektny wuraz",
+T_EMPTY_STRING_NOT_ALLOWED, "Nulowy wuraz njedowoleny",
+T_BAD_IP_ADDRESS, NULL,
+T_INVALID_IP_ADDRESS_SYNTAX, NULL,
+T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL,
+T_CONFIG_ERROR, "Zmylk konfiguracije",
+T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Njemó¾u do konfiguraciskeje dataje pisaæ",
+T_BOOKMARK_ERROR, NULL,
+T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL,
+T_ABOUT, "Wo programje",
+T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nTekstowy browser podobny na lynx" ,
+T_VERSION, NULL,
+T_VERSION_INFORMATION, NULL,
+T_LINKS_VERSION, NULL,
+T_OPERATING_SYSTEM_TYPE, NULL,
+T_OPERATING_SYSTEM_VERSION, NULL,
+T_COMPILER, NULL,
+T_COMPILE_TIME, NULL,
+T_WORD_SIZE, NULL,
+T_MEMORY, NULL,
+T_FILE_SIZE, NULL,
+T_DEBUGGING_LEVEL, NULL,
+T_UTF8_TERMINAL, NULL,
+T_COMPRESSION_METHODS, NULL,
+T_ENCRYPTION, NULL,
+T_GPM_MOUSE_DRIVER, NULL,
+T_XTERM_FOR_OS2, NULL,
+T_GRAPHICS_MODE, NULL,
+T_IMAGE_LIBRARIES, NULL,
+T_KEYS, "Tasty",
+T_KEYS_DESC, "ESC poka¾ meni\n^C, q zakónèiæ\n^P, ^Nhorje/dele listowaæ\n[, ] nalìwo/naprawo listowaæ\nwobraz horje/dele\n-> wotkaz wubraæ\n<- wróæo\ng d¼i na URL\nG d¼i k adresy (wot aktualneje adresy)\n/ pytaæ\n? prjedaw¹e pytanje\nn pøichodny namakaæ\nN pøedchadny namakaæ\n= informacija wo dokumenæe\n\\ ¾ór³o dokumenta\nd dele sæahnyæ",
+T_KEYS_BRAILLE_DESC, NULL,
+T_COPYING, "Kopìrowanje",
+T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_2 "\n\nTutón program je swobodny; mó¾e¹ jón zmìniæ a dale dawaæ po GPL GNU, wudatej wot Free Software Fundation - po druhej abo pozd¼i¹ej wersiji licensy.",
+T_RESOURCES, "Resursy",
+T_CONNECTIONS, "zwiskow",
+T_MEMORY_CACHE, "nachwilny pomjatk",
+T_DECOMPRESSED_CACHE, NULL,
+T_FONT_CACHE, "nachwilny pomjatk pismow",
+T_IMAGE_CACHE, "nachwilny pomjatk wobrazow",
+T_FORMATTED_DOCUMENT_CACHE, "formatowane dokumenty w nachwilnym pomjatku",
+T_DNS_CACHE, NULL,
+T_HANDLES, "woèinjenych datajow",
+T_TIMERS, "èasnikow",
+T_WAITING, NULL,
+T_CONNECTING, "woèakowanych",
+T_tRANSFERRING, "transferow",
+T_KEEPALIVE, "¾iwych",
+T_BYTES, "bajtow",
+T_LETTERS, "pismikow",
+T_FILES, "datajow",
+T_LOCKED, "blokowanych",
+T_LOADING, "zaèitanych",
+T_IMAGES, "wobrazy",
+T_DOCUMENTS, "dokumentow",
+T_SERVERS, NULL,
+T_MEMORY_ALLOCATED, "pøid¼ìleneho pomjatka",
+T_BLOCKS_ALLOCATED, NULL,
+T_MEMORY_REQUESTED, NULL,
+T_BLOCKS_REQUESTED, NULL,
+T_JS_MEMORY_ALLOCATED, NULL,
+T_MEMORY_INFO, "Informacija wo pomjatku",
+T_NO_HISTORY, "®ane stawizny",
+T_NO_DOWNLOADS, "®ane sæehnjene dataje",
+T_NO_FRAMES, "®ane ramiki",
+T_VT_100_FRAMES, "Ramiki VT100",
+T_LINUX_OR_OS2_FRAMES, "Ramiki typa Linux abo OS/2",
+T_KOI8R_FRAMES, "Ramiki KOI8-R",
+T_FREEBSD_FRAMES, NULL,
+T_USE_11M, "wu¾iwaj ^[[11m",
+T_RESTRICT_FRAMES_IN_CP850_852, "Wobmjezuj ramiki w cp850/852",
+T_BLOCK_CURSOR, "blokowy cursor",
+T_COLOR, "barba",
+T_BRAILLE_TERMINAL, NULL,
+T_TERMINAL_OPTIONS, "Opcije terminala",
+T_PROXIES, NULL,
+T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)",
+T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)",
+T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL,
+T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL,
+T_ONLY_PROXIES, NULL,
+T_NOPROXY_LIST, "Lisæina domenow, pøistupnych bjez proxy",
+T_NETWORK_OPTIONS, "Syæowe opcije",
+T_MAX_CONNECTIONS, "Maksimalna lièba zwiskow",
+T_MAX_CONNECTIONS_TO_ONE_HOST, "Maksimalna lièba zwiskow z jednym serwerom",
+T_RETRIES, "pospyty",
+T_RECEIVE_TIMEOUT_SEC, "Najdlì¹e èakanje na zwisk (sek)",
+T_TIMEOUT_WHEN_UNRESTARTABLE, "Maks. èakanje na njerestartujomny proces",
+T_BIND_TO_LOCAL_IP_ADDRESS, NULL,
+T_ASYNC_DNS_LOOKUP, "Asynchroniske pytanje mjenow",
+T_SET_TIME_OF_DOWNLOADED_FILES, "èas sæehnjenych datajow nastajiæ",
+T_CACHE_OPTIONS, "Nastajenje nachwilneho pomjatka",
+T_MEMORY_CACHE_SIZE__KB, "Wulkosæ nachwilneho pomjatka (KiB)",
+T_IMAGE_CACHE_SIZE__KB, "Wulkosæ nachwilneho pomjatka za wobrazy (KiB)" ,
+T_FONT_CACHE_SIZE__KB, NULL,
+T_NUMBER_OF_FORMATTED_DOCUMENTS, "Lièba formatowanych dokumentow",
+T_AGGRESSIVE_CACHE, "Agresiwny cache",
+T_HTML_OPTIONS, "HTML-opcije",
+T_DISPLAY_TABLES, "Poka¾ tabulki",
+T_DISPLAY_FRAMES, "Poka¾ ramiki",
+T_DISPLAY_IMAGES, "Poka¾ wobrazy",
+T_DISPLAY_IMAGE_FILENAMES, NULL,
+T_DISPLAY_LINKS_TO_IMAGES, "Pokazuj linki na wobrazki",
+T_LINK_ORDER_BY_COLUMNS, "Rjaduj linki w ¹paltach",
+T_NUMBERED_LINKS, "Èis³owane linki",
+T_AUTO_REFRESH, NULL,
+T_TARGET_IN_NEW_WINDOW, NULL,
+T_TEXT_MARGIN, "Kromy teksta",
+T_DEFAULT_CODEPAGE, "Standardna kodowa strona",
+T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignoruj informacije serwera wo pismje",
+T_TEXT_COLOR, NULL,
+T_LINK_COLOR, NULL,
+T_BACKGROUND_COLOR, NULL,
+T_IGNORE_DOCUMENT_COLOR, NULL,
+T_COLOR_0, NULL,
+T_COLOR_1, NULL,
+T_COLOR_2, NULL,
+T_COLOR_3, NULL,
+T_COLOR_4, NULL,
+T_COLOR_5, NULL,
+T_COLOR_6, NULL,
+T_COLOR_7, NULL,
+T_COLOR_8, NULL,
+T_COLOR_9, NULL,
+T_COLOR_10, NULL,
+T_COLOR_11, NULL,
+T_COLOR_12, NULL,
+T_COLOR_13, NULL,
+T_COLOR_14, NULL,
+T_COLOR_15, NULL,
+T_GOTO_URL, "D¼i na URL",
+T_GO_BACK, "Wróæo",
+T_GO_FORWARD, NULL,
+T_HISTORY, "Stawizny",
+T_RELOAD, "Znowa zaèitaæ",
+T_NEW_WINDOW, "Nowe wokno",
+T_SAVE_AS, "Zawìsæiæ jako",
+T_SAVE_URL_AS, "Zawìsæ URL jako",
+T_SAVE_FORMATTED_DOCUMENT, "Zawìsæ formatowany dokument",
+T_COPY_URL_LOCATION, "Kopìruj mìstno serwera",
+T_KILL_BACKGROUND_CONNECTIONS, "Pøetorhñ w¹itke pozadkowe zwiski",
+T_KILL_ALL_CONNECTIONS, "Pøetorhñ w¹itke zwiski",
+T_FLUSH_ALL_CACHES, "Nachwilny pomjatk wurjed¼iæ",
+T_RESOURCE_INFO, "Informacije wo resursach",
+T_OS_SHELL, "Systemowy komandowy interpreter",
+T_EXIT, "Zakónèiæ",
+T_SEARCH, "Pytaj",
+T_SEARCH_BACK, "Pytaj dozady",
+T_FIND_NEXT, "Namakaj pøichodne",
+T_FIND_PREVIOUS, "Namakaj pøedchadne",
+T_TOGGLE_HTML_PLAIN, "Pøe¹altuj mjez html a prostym tekstom",
+T_DOCUMENT_INFO, "Informacije wo dokumenæe",
+T_FRAME_AT_FULL_SCREEN, "Ramik po cy³ej wobrazowce",
+T_SAVE_HTML_OPTIONS, "HTML-opcije zawìsæiæ",
+T_CHARACTER_SET, "Pismo",
+T_CACHE, "Nachwilny pomjatk",
+T_MAIL_AND_TELNEL, "email a telnet",
+T_MAIL_TELNET_AND_SHELL, "email, telnet a komandowy interpreter",
+T_ASSOCIATIONS, "Asocijacije",
+T_FILE_EXTENSIONS, "Ekstensije datajow",
+T_SAVE_OPTIONS, "Opcije zawìsæiæ",
+T_FILE, "Dataja",
+T_VIEW, "Napohlad",
+T_LINK, "Wotkaz",
+T_DOWNLOADS, "Sæehnjene dataje",
+T_SETUP, "Nastajenja",
+T_HELP, "Pomoc",
+T_ENTER_URL, "Zapodaj URL",
+T_SAVE_URL, "Zawìsæ URL",
+T_DOWNLOAD, "Sæahnyæ",
+T_SAVE_TO_FILE, "Do dataje zawìsæiæ",
+T_SEARCH_FOR_TEXT, "Pytaj tekst",
+T_PAGE_P, NULL,
+T_PAGE_OF, NULL,
+T_PAGE_CL, NULL,
+T_WAITING_IN_QUEUE, "Èakam w rynku",
+T_LOOKING_UP_HOST, "Pytam serwer",
+T_MAKING_CONNECTION, "Nawjazuju zwisk",
+T_SOCKS_NEGOTIATION, NULL,
+T_SSL_NEGOTIATION, "SSL-jednanja",
+T_REQUEST_SENT, "®adanje wusy³ane",
+T_GETTING_HEADERS, "Èitam h³owy",
+T_LOGGING_IN, "So pøizjewju",
+T_SERVER_IS_PROCESSING_REQUEST, "Serwer d¼ì³a",
+T_TRANSFERRING, "Kopìrowanje",
+T_WAITING_FOR_REDIRECT_CONFIRMATION, "Èakam na potwjerd¼enje dopós³anja",
+T_INTERRUPTED, "Pøetorhnjene",
+T_SOCKET_EXCEPTION, NULL,
+T_INTERNAL_ERROR, "Interny zmylk",
+T_OUT_OF_MEMORY, "Pomjatk njedosaha",
+T_HOST_NOT_FOUND, "Njemó¾ach serwer namakaæ",
+T_ERROR_WRITING_TO_SOCKET, "Zmylk pøi pisanju na socket",
+T_ERROR_READING_FROM_SOCKET, "Zmylk pøi èitanju ze socketa",
+T_DATA_MODIFIED, "Daty modifikowane",
+T_BAD_URL_SYNTAX, "Hubjena URL-syntaksa",
+T_RECEIVE_TIMEOUT, "Èasowy limit za èitanje pøekroèeny",
+T_REQUEST_MUST_BE_RESTARTED, "®adanje dyrbi so wospjetowaæ",
+T_CANT_GET_SOCKET_STATE, "Njemó¾u staw socketa zwìsæiæ",
+T_CYCLIC_REDIRECT, "Cykliski link",
+T_TOO_LARGE_FILE, NULL,
+T_BLOCKED_URL, NULL,
+T_NO_PROXY, NULL,
+T_BAD_HTTP_RESPONSE, "Hubjena HTTP-wotmo³wa",
+T_HTTP_100, NULL,
+T_NO_CONTENT, "Prózdna dataja",
+T_UNKNOWN_FILE_TYPE, "Nieznata datajowa dru¾ina",
+T_ERROR_OPENING_FILE, "Zmylk pøi woèinjenju dataje",
+T_BAD_FTP_RESPONSE, "Hubjena FTP-wotmo³wa",
+T_FTP_SERVICE_UNAVAILABLE, "FTP njesteji k dispoziciji",
+T_BAD_FTP_LOGIN, "Hubjeny FTP-login",
+T_FTP_PORT_COMMAND_FAILED, "PORT-komando je so zwrì¹æi³o",
+T_FILE_NOT_FOUND, "Njesym dataju namaka³",
+T_FTP_FILE_ERROR, "Datajowy zmylk FTP",
+T_UNKNOWN_ERROR, "Nieznaty zmylk",
+T_RECEIVED, "Sym dósta³",
+T_OF, "z",
+T_AVG, "pøer.",
+T_CUR, "akt",
+T_AVERAGE_SPEED, "Pøerìzna spì¹nosæ",
+T_SPEED, "Spì¹nosæ",
+T_CURRENT_SPEED, "aktualna spì¹nosæ",
+T_ELAPSED_TIME, "zañd¼eny èas",
+T_ESTIMATED_TIME, "wostatny èas",
+T_BACKGROUND, "W pozadku",
+T_ABORT, "Pøetorhñ",
+T_ABORT_AND_DELETE_FILE, NULL,
+T_YES, "Haj",
+T_NO, "Nì",
+T_DIRECTORY, NULL,
+T_FILE_ALREADY_EXISTS, NULL,
+T_ALREADY_EXISTS_AS_DOWNLOAD, NULL,
+T_ALREADY_EXISTS, NULL,
+T_DO_YOU_WISH_TO_CONTINUE, NULL,
+T_DO_YOU_WISH_TO_OVERWRITE, NULL,
+T_CONTINUE, NULL,
+T_OVERWRITE, NULL,
+T_RENAME, NULL,
+T_DOWNLOAD_ERROR, "Zmylk pøi sæahowanju dataje",
+T_COULD_NOT_WRITE_TO_FILE, "Njemó¾u do dataje pisaæ",
+T_ERROR_DOWNLOADING, "Njemó¾u dataju sæahnyæ",
+T_ERROR_LOADING, "Zmylk pøi zaèitanju",
+T_COULD_NOT_CREATE_FILE, "Njemó¾u dataju stworiæ",
+T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL,
+T_ERROR_CALLING_LSEEK_ON_FILE, NULL,
+T_TOO_LARGE_FILE_SEQUENCE, NULL,
+T_UNKNOWN_TYPE, "Njeznata dru¾ina",
+T_CONTENT_TYPE_IS, "Typ dataje je",
+T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Dataju woèiniæ, zawìsæiæ abo pokazaæ?",
+T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Dataju woèiniæ abo pokazaæ?",
+T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Dataju zawìsæiæ abo pokazaæ?",
+T_SAVE, "Zawìsæiæ",
+T_DISPLAY, "Pokazaæ",
+T_WHAT_TO_DO, "©to mam èiniæ?",
+T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Chce¹ dataju woèiniæ w",
+T_SAVE_IT_OR_DISPLAY_IT, "zawìsæiæ abo pokazaæ?",
+T_OPEN, "Woèiniæ",
+T_OPEN_WITH, "Woèiniæ z",
+T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Chce¹ dopós³anje sæìhowaæ a formular pós³aæ na",
+T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Chce¹ formular pós³aæ na",
+T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Chce¹ formular hi¹æe raz pós³aæ na",
+T_WARNING, "Warnowanje",
+T_ERROR, "Zmylk",
+T_WELCOME, "Powitanje",
+T_WELCOME_TO_LINKS, "Witaj w programje Links!",
+T_BASIC_HELP, "St³óè ESC, zo by dósta³ meni. Wubjer Pomoc->Pøiruèka z menija, zo by so z programom zeznajomi³.",
+T_LABEL, "Etiket",
+T_CONTENT_TYPES, "Dru¾ina wobsaha",
+T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' so naruna z mjenom dataje)",
+T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Terminal blokowaæ, doni¾ program d¼ì³a",
+T_RUN_ON_TERMINAL, "W terminalu startowaæ",
+T_RUN_IN_XWINDOW, "W X-Woknje startowaæ",
+T_ASK_BEFORE_OPENING, "Wopra¹ej so pøed woèinjenjom",
+T_ACCEPT_HTTP, NULL,
+T_ACCEPT_FTP, NULL,
+T_DELETE_ASSOCIATION, "Asociaciju znièiæ",
+T_ASSOCIATION, "Asociacija",
+T_EXTENSION_S, "Ekstensija",
+T_CONTENT_TYPE, "Dru¾ina wobsaha",
+T_DELETE_EXTENSION, "Zniè ekstensiju",
+T_EXTENSION, "Ekstensija",
+T_eXTENSION, "ekstensija",
+T_ERROR_WHILE_POSTING_FORM, "Zmylk pøi pós³anju formulara",
+T_COULD_NOT_GET_FILE, "Njemó¾ach dataju dóstaæ",
+T_READING_FILES_IS_NOT_ALLOWED, NULL,
+T_NO_PREVIOUS_SEARCH, "Njebìch hi¹æe nièo pyta³",
+T_SEARCH_STRING_NOT_FOUND, "Nièo njenamaka³",
+T_SAVE_ERROR, "Zmylk pøi zwìsæenju",
+T_ERROR_WRITING_TO_FILE, "Zmylk pøi pisanju do dataje",
+T_DISPLAY_USEMAP, "Poka¾ kartu z wobrazkami",
+T_FOLLOW_LINK, "Wubjer link",
+T_OPEN_IN_NEW_WINDOW, "Woèiñ w nowym woknje",
+T_DOWNLOAD_LINK, "Sæehñ",
+T_RESET_FORM, "Formular wuprózdniæ",
+T_SUBMIT_FORM, "Formular pós³aæ",
+T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Formular pós³aæ a w nowym woknje woèiniæ",
+T_SUBMIT_FORM_AND_DOWNLOAD, "Formular pós³aæ a daty sæahnyæ",
+T_VIEW_IMAGE, "Poka¾ wobraz",
+T_DOWNLOAD_IMAGE, "Sæehñ wobrazk",
+T_NO_LINK_SELECTED, "®adyn link wubrany",
+T_IMAGE, "Wobraz",
+T_USEMAP, "Karta z wobrazkami",
+T_XTERM, "X-Terminal",
+T_TWTERM, NULL,
+T_SCREEN, NULL,
+T_WINDOW, "Wokno",
+T_FULL_SCREEN, "Cy³a wobrazowka",
+T_BEOS_TERMINAL, "Terminal BeOS",
+T_UNABLE_TO_OPEN_NEW_WINDOW, NULL,
+T_JAVASCRIPT, NULL,
+T_SUBMIT_FORM_TO, "Pósæel formular na",
+T_POST_FORM_TO, "Pósæel formular na",
+T_RADIO_BUTTON, "Radiowy knefl",
+T_CHECKBOX, NULL,
+T_SELECT_FIELD, "Pólko za wubìranje",
+T_TEXT_FIELD, "Tekstowe pólko",
+T_TEXT_AREA, "Tekstowe polo",
+T_FILE_UPLOAD, "Pós³anje dataje",
+T_PASSWORD_FIELD, "Hes³owe pólko",
+T_BUTTON, "Knefl",
+T_NAME, "mjeno",
+T_VALUE, "hódnota",
+T_HIT_ENTER_TO, "st³óè ENTER, zo by",
+T_SUBMIT_TO, "pós³a³ na",
+T_POST_TO, "pós³a³ na",
+T_INFO, "Informacija",
+T_HEADER_INFO, "Informacija we h³ójèce",
+T_YOU_ARE_NOWHERE, "Njejsy nihd¼e!",
+T_NO_HEADER, NULL,
+T_URL, "URL",
+T_SIZE, "Wulkosæ",
+T_COMPRESSED_WITH, NULL,
+T_INCOMPLETE, "njekompletne",
+T_CODEPAGE, "Kodowa strona",
+T_ASSUMED, "Standardna",
+T_IGNORING_SERVER_SETTING, "Ignoruj nastajenja serwera",
+T_SERVER, "Serwer",
+T_DATE, "Datum",
+T_LAST_MODIFIED, "Poslednja zmìna",
+T_SSL_CIPHER, NULL,
+T_LANGUAGE, "Rìè",
+T_GO_TO_LINK, "D¼i na link",
+T_ENTER_LINK_NUMBER, "Zapodaj èis³o linka",
+T_RESIZE_TERMINAL, "Wulkosæ terminala zmìniæ",
+T_COLUMNS, "©palty",
+T_ROWS, "Linki",
+T_GOTO, "D¼i na",
+T_CLOSE, "Zaèiñ",
+T_FOLDER, "Zapisk",
+T_fOLDER, "zapisk",
+T_ADD, "Dodaj",
+T_DELETE, "Znièiæ",
+T_EDIT, "Edituj",
+T_MOVE, "Pøesunyæ",
+T_NO_ITEMS_SELECTED, "Nièo njewubrane",
+T_UNSELECT_ALL, "Wubìranje zbìhnyæ",
+T_BOOKMARKS, "Lubu¹ki",
+T_BOOKMARK, "Lubu¹k",
+T_ADD_BOOKMARK, "Dodaj k lubu¹kam",
+T_ADD_ASSOCIATION, "Dodaj asociaciju",
+T_ADD_EXTENSION, "Dodaj ekstensiju",
+T_ADD_FOLDER, "Dodaj zapisk",
+T_BOOKMARK_TITLE, "Mjeno lubu¹ka",
+T_EDIT_BOOKMARK, "Edituj lubu¹ki",
+T_EDIT_ASSOCIATION, "Edituj asociacije",
+T_EDIT_EXTENSION, "Edituj ekstensiju",
+T_DELETE_BOOKMARK, "Zniè lubu¹k",
+T_EDIT_FOLDER, "Edituj zapisk",
+T_DELETE_FOLDER, "Zniè zapisk",
+T_NOT_EMPTY_SURE_DELETE, "njeje prózdny. Chce¹ jón woprawd¼e znièiæ?",
+T_BOOKMARK_MANAGER, "Rjadowanje lubu¹kow",
+T_ASSOCIATIONS_MANAGER, "Rjadowanje asociacijow",
+T_EXTENSIONS_MANAGER, "Rjadowanje ekstensijow",
+T_url, NULL,
+T_NNAME, "Mjeno",
+T_EXIT_LINKS, "Won hiæ z linksa",
+T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL,
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Chce¹ woprawd¼e links zakónèiæ?",
+T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Chce¹ woprawd¼e zakónèiæ a w¹itke sæahowanja pøetorhnyæ?",
+T_HTTP_OPTIONS, "HTTP-opcije",
+T_FTP_OPTIONS, "FTP-opcije",
+T_HTTP_BUG_WORKAROUNDS, "Wobeñd¼enja HTTP-zmylkow",
+T_USE_HTTP_10, "Wu¾iwaj HTTP/1.0",
+T_ALLOW_SERVER_BLACKLIST, "Akceptuj èornu lisæinu serwerow",
+T_BROKEN_302_REDIRECT, "Hubjene 302 (njewotpowìduje RFC, ale kompatibelne z Netscape)",
+T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Njewud¼er¾uj zwisk po POST-komand¼e (nìkotre datowe bazy PHP sej to ¾adaja)",
+T_DO_NOT_SEND_ACCEPT_CHARSET, NULL,
+T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL,
+T_RETRY_ON_INTERNAL_ERRORS, NULL,
+T_HEADER_OPTIONS, NULL,
+T_HTTP_HEADER_OPTIONS, NULL,
+T_REFERER_NONE, NULL,
+T_REFERER_SAME_URL, NULL,
+T_REFERER_FAKE, NULL,
+T_REFERER_REAL_SAME_SERVER, NULL,
+T_REFERER_REAL, NULL,
+T_FAKE_REFERER, NULL,
+T_FAKE_USERAGENT, "Mjeno browsera, ki¾ ma so serwerej pós³aæ",
+T_EXTRA_HEADER, NULL,
+T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Hes³o za anonymne pøizjewjenje",
+T_USE_PASSIVE_FTP, NULL,
+T_USE_FAST_FTP, NULL,
+T_SET_TYPE_OF_SERVICE, NULL,
+T_MANUAL, "Pøiruèka za wu¾iwarja",
+T_HOMEPAGE, "Domjaca strona",
+T_CALIBRATION, "Kalibracija",
+T_MAILTO_PROG, "Emailowy program (% so z emailowej adresu naruna)",
+T_SHELL_PROG, "Programowy interpreter (% so naruna z pøikazom)",
+T_TELNET_PROG, "Program za telnet (% naruna so z \"host\" abo \"host port\")",
+T_MAGNET_PROG, NULL,
+T_TN3270_PROG, "Program za Tn3270 (% naruna so z \"host\" abo \"host port\")",
+T_MMS_PROG, NULL,
+T_MAIL_AND_TELNET_PROGRAMS, "Elektroniska pó¹ta a telnet",
+T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Programy za elektronisku pó¹tu, telnet a komanda",
+T_NO_PROGRAM, "®adyn program",
+T_NO_PROGRAM_SPECIFIED_FOR, "®adyn program podaty za",
+T_MAIL, "email",
+T_TELNET, "telnet",
+T_MAGNET, NULL,
+T_TN3270, NULL,
+T_MMS, NULL,
+T_BAD_MAILTO_URL, "Hubjena emailowa adresa",
+T_BAD_TELNET_URL, "Hubjena adresa serwera za telnet",
+T_BAD_TN3270_URL, "Hubjena adresa serwera za Tn3270",
+T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL,
+T_AUTHORIZATION_REQUIRED, "Pøizjewjenje so trìbne",
+T_PROXY_AUTHORIZATION_REQUIRED, "Pøizjewjenje na proxy trìbne",
+T_USERID, "Mjeno wu¾iwarja",
+T_PASSWORD, "Hes³o",
+T_ENTER_USERNAME, "Zapodaj mjeno wu¾iwarja",
+T_AT, NULL,
+T_SSL_ERROR, "SSL-zmylk",
+T_NO_SSL, "Tutón links bu bjez SSL/TLS kompilowany",
+T_SOCKS_REJECTED_OR_FAILED, NULL,
+T_BAD_SOCKS_VERSION, NULL,
+T_SOCKS_NO_IDENTD, NULL,
+T_SOCKS_BAD_USERID, NULL,
+T_SOCKS_UNKNOWN_ERROR, NULL,
+T_NO_SMB_CLIENT, NULL,
+T_DECOMPRESSION_ERROR, NULL,
+T_ERROR_DECOMPRESSING_, NULL,
+T__wITH_, NULL,
+T_COMPRESSED_ERROR, NULL,
+T_UNKNOWN_COMPRESSION_METHOD, NULL,
+T_SURE_DELETE, "Chce¹ woprawd¼e znièiæ",
+T_BOOKMARKS_ALREADY_IN_USE, "Lubu¹ki so hi¾o wu¾iwaja",
+T_ASSOCIATIONS_ALREADY_IN_USE, "Asosiciacije so hi¾o wu¾iwaja",
+T_EXTENSIONS_ALREADY_IN_USE, "Ekstensije so hi¾o wu¾iwaja",
+T_VIDEO_OPTIONS, "Wideoopcije",
+T_VIDEO_OPTIONS_TEXT, NULL,
+T_RED_DISPLAY_GAMMA, "gamma-korektura za èerwjeñ",
+T_GREEN_DISPLAY_GAMMA, "gamma-korektura za zeleñ",
+T_BLUE_DISPLAY_GAMMA, "gamma-korektura za módru barbu",
+T_USER_GAMMA, "gamma-korektura po wu¾iwarju",
+T_ALERT, NULL,
+T_QUESTION, "Pra¹enje",
+T_KILL_SCRIPT, "Zabij skript",
+T_KILL_ALL_SCRIPTS, "Zezabijej w¹itke skripty",
+T_SCRIPT_KILLED_BY_USER, "Skript wot wu¾iwarja zabity",
+T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Skript chce wokno zaèiniæ. Chce¹ to?",
+T_ENTER_STRING, "Zapodaj rjad pismikow",
+T_JAVASCRIPT_OPTIONS, "Opcije za javascript",
+T_ENABLE_JAVASCRIPT, "Javascript dowoliæ",
+T_VERBOSE_JS_ERRORS, "Roz¹ìrjene rozprawy wo javascript-zmylkach",
+T_VERBOSE_JS_WARNINGS, "Roz¹ìrjene javascript-warnowanja",
+T_MISCELANEOUS_OPTIONS, "W¹elake opcije",
+T_JAVASCRIPT_ERROR, "javascript-zmylk",
+T_JAVASCRIPT_WARNING, "javascript-warnowanje",
+T_DISMISS, "Pu¹æ",
+T_MENU_FONT_SIZE, "Wulkosæ menijoweho pisma",
+T_USER_FONT_SIZE, "Wulkosæ wot wu¾iwarja postajeneho pisma",
+T_TURN_OFF_WARNINGS, "Warnowanja wupnyæ",
+T_BOOKMARKS_ENCODING, "Kodowanje lubu¹kow",
+T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript chce na tutu adresu hiæ",
+T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript chce nowe wokno woèiniæ z adresu",
+T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript chce do stawiznow",
+T_TO_URL, NULL,
+T_GOTO_HISTORY, "D¼i do stawiznow",
+T_ALLOW, "Dowoliæ",
+T_REJECT, "Wotpokazaæ",
+T_ENABLE_ALL_CONVERSIONS, "W¹itke konwersije zmó¾niæ",
+T_ENABLE_GLOBAL_NAME_RESOLUTION, "Globalne pytanje serwerow zmó¾niæ",
+T_MANUAL_JS_CONTROL, NULL,
+T_JS_RECURSION_DEPTH, "H³ubokosæ rekursiwnosæe",
+T_MENU_BACKGROUND_COLOR, "Barba pozadka",
+T_MENU_FOREGROUND_COLOR, "Barba pisma",
+T_SCROLL_BAR_BAR_COLOR, "Prìdna barba pøesuwaka",
+T_SCROLL_BAR_AREA_COLOR, "Pozadkowa barba pøesuwaka",
+T_SCROLL_BAR_FRAME_COLOR, "Barba ramika pøesuwaka",
+T_BOOKMARKS_FILE, "Dataja z lubu¹kami",
+T_ENTER_COLORS_AS_RGB_TRIPLETS, "Zapodaj barby jako RGB-triple",
+T_JS_MEMORY_LIMIT_KB, "Pomjatk za javascript (KiB)",
+T_DITHER_LETTERS, "Pismiki ditherowaæ",
+T_DITHER_IMAGES, "Wobrazy ditherowaæ",
+T_8_BIT_GAMMA_CORRECTION, NULL,
+T_16_BIT_GAMMA_CORRECTION, NULL,
+T_AUTO_GAMMA_CORRECTION, NULL,
+T_SCALE_ALL_IMAGES_BY, "Wulkosæ w¹itkich wobrazow zmìniæ wo",
+T_PORN_ENABLE, NULL,
+T_DISPLAY_OPTIMIZATION_CRT, "Optimizowanje CRT",
+T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optimizowanje RGB",
+T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optimizowanje BGR",
+T_ASPECT_RATIO, "©ìrokosæ/wysokosæ",
+T_ASPECT_CORRECTION_ON, "Korektura ©ìrokosæe/wysokosæe",
+T_KEYBOARD_CODEPAGE, "Kodowa strona tastatury",
+T_COPY_LINK_LOCATION, "Kopìruj mìstno linka",
+T_BLOCK_URL, NULL,
+T_BLOCK_LIST, NULL,
+T_BLOCKED_IMAGE, NULL,
+T_BLOCK_LIST_IN_USE, NULL,
+T_BLOCK_LIST_MANAGER, NULL,
+T_BLOCK_ADD, NULL,
+T_BLOCK_EDIT, NULL,
+T_BLOCK_DELETE, NULL,
+T_HK_GOTO_URL, "U",
+T_HK_GO_BACK, "W",
+T_HK_GO_FORWARD, NULL,
+T_HK_HISTORY, NULL,
+T_HK_RELOAD, NULL,
+T_HK_BOOKMARKS, "Z",
+T_HK_NEW_WINDOW, NULL,
+T_HK_SAVE_AS, "Z",
+T_HK_SAVE_URL_AS, "A",
+T_HK_SAVE_FORMATTED_DOCUMENT, "F",
+T_HK_COPY_URL_LOCATION, NULL,
+T_HK_KILL_BACKGROUND_CONNECTIONS, "P",
+T_HK_KILL_ALL_CONNECTIONS, "W",
+T_HK_FLUSH_ALL_CACHES, "C",
+T_HK_RESOURCE_INFO, NULL,
+T_HK_MEMORY_INFO, "N",
+T_HK_OS_SHELL, NULL,
+T_HK_RESIZE_TERMINAL, NULL,
+T_HK_EXIT, "Y",
+T_HK_SEARCH, "S",
+T_HK_SEARCH_BACK, "W",
+T_HK_FIND_NEXT, NULL,
+T_HK_FIND_PREVIOUS, NULL,
+T_HK_TOGGLE_HTML_PLAIN, NULL,
+T_HK_DOCUMENT_INFO, NULL,
+T_HK_HEADER_INFO, NULL,
+T_HK_FRAME_AT_FULL_SCREEN, "Y",
+T_HK_HTML_OPTIONS, "U",
+T_HK_COLOR, NULL,
+T_HK_SAVE_HTML_OPTIONS, "Z",
+T_HK_LANGUAGE, "J",
+T_HK_CHARACTER_SET, "Z",
+T_HK_TERMINAL_OPTIONS, NULL,
+T_HK_VIDEO_OPTIONS, NULL,
+T_HK_NETWORK_OPTIONS, "U",
+T_HK_JAVASCRIPT_OPTIONS, NULL,
+T_HK_MISCELANEOUS_OPTIONS, NULL,
+T_HK_CACHE, "P",
+T_HK_MAIL_AND_TELNEL, "C",
+T_HK_ASSOCIATIONS, "S",
+T_HK_FILE_EXTENSIONS, "R",
+T_HK_BLOCK_LIST, NULL,
+T_HK_SAVE_OPTIONS, "O",
+T_HK_ABOUT, "O",
+T_HK_KEYS, NULL,
+T_HK_COPYING, "P",
+T_HK_MANUAL, NULL,
+T_HK_HOMEPAGE, NULL,
+T_HK_CALIBRATION, NULL,
+T_HK_FILE, "P",
+T_HK_VIEW, "W",
+T_HK_LINK, "L",
+T_HK_DOWNLOADS, "O",
+T_HK_SETUP, "U",
+T_HK_HELP, "M",
+T_HK_DISPLAY_USEMAP, "M",
+T_HK_FOLLOW_LINK, "L",
+T_HK_OPEN_IN_NEW_WINDOW, NULL,
+T_HK_DOWNLOAD_LINK, "P",
+T_HK_RESET_FORM, NULL,
+T_HK_SUBMIT_FORM, "P",
+T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "F",
+T_HK_SUBMIT_FORM_AND_DOWNLOAD, "O",
+T_HK_VIEW_IMAGE, "B",
+T_HK_DOWNLOAD_IMAGE, "O",
+T_HK_COPY_LINK_LOCATION, NULL,
+T_HK_BLOCK_URL, NULL,
+T_HK_XTERM, NULL,
+T_HK_TWTERM, NULL,
+T_HK_SCREEN, NULL,
+T_HK_WINDOW, NULL,
+T_HK_FULL_SCREEN, NULL,
+T_HK_BEOS_TERMINAL, NULL,
diff --git a/jpeg.c b/jpeg.c
new file mode 100644
index 0000000..7676eae
--- /dev/null
+++ b/jpeg.c
@@ -0,0 +1,398 @@
+/* jpeg.c
+ * JPEG decoding
+ * (c) 2002 Karel 'Clock' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "cfg.h"
+
+#ifdef G
+#include "links.h"
+
+#ifdef HAVE_JPEG
+#include <jpeglib.h>
+
+#if BITS_IN_JSAMPLE != 8
+#error "You have a weird jpeglib compiled for 12 bits per sample that is not able to read ordinary JPEG's. \
+See INSTALL for description how to compile Links with jpeglib statically to supply your own \"good\" version \
+of jpeglib or reinstall your system's jpeglib to be a normal one."
+#endif /* #if BITS_IN_JSAMPLE != 8 */
+
+struct jerr_struct{
+ struct jpeg_error_mgr pub;
+ jmp_buf setjmp_buffer;
+};
+
+static struct jerr_struct *global_jerr;
+static struct jpeg_decompress_struct *global_cinfo;
+static int mesg_unsup_emitted; /* Defaults to zero at program startup and once
+ * set is never reset back to zero */
+
+
+METHODDEF(void) my_error_exit(j_common_ptr cinfo)
+{
+ longjmp(global_jerr->setjmp_buffer,2);
+}
+
+METHODDEF(void) /* Only for the sake of libjpeg */
+nop(j_decompress_ptr cinfo)
+{
+}
+
+METHODDEF(void)
+my_output_message(j_common_ptr cinfo)
+{
+}
+
+METHODDEF(boolean) my_fill_input_buffer(j_decompress_ptr cinfo)
+{
+ return FALSE; /* We utilize I/O suspension (or emulsion? ;-) ) */
+}
+
+METHODDEF(void) my_skip_input_data(j_decompress_ptr cinfo,long num_bytes)
+{
+ if ((unsigned long)num_bytes>cinfo->src->bytes_in_buffer)
+ {
+ /* We have to enter skipping state */
+ cinfo->src->next_input_byte+=cinfo->src->bytes_in_buffer;
+ ((struct jpg_decoder *)(global_cimg->decoder))->skip_bytes
+ =num_bytes-cinfo->src->bytes_in_buffer;
+ cinfo->src->bytes_in_buffer=0;
+ }
+ else
+ {
+ /* We only pull out some bytes from buffer. */
+ cinfo->src->next_input_byte+=num_bytes;
+ cinfo->src->bytes_in_buffer-=num_bytes;
+ }
+}
+
+void jpeg_start(struct cached_image *cimg)
+{
+ struct jpg_decoder *jd;
+
+ global_cinfo=mem_alloc(sizeof(*global_cinfo));
+ global_jerr=mem_alloc(sizeof(*global_jerr));
+ global_cinfo->err = jpeg_std_error(&(global_jerr->pub));
+ global_jerr->pub.error_exit=my_error_exit;
+ global_jerr->pub.output_message=my_output_message;
+ if (setjmp(global_jerr->setjmp_buffer)){
+g19_2000:
+ mem_free(global_cinfo);
+ mem_free(global_jerr);
+ img_end(cimg);
+ return;
+ }
+ jpeg_create_decompress(global_cinfo);
+ if (setjmp(global_jerr->setjmp_buffer)){
+ jpeg_destroy_decompress(global_cinfo);
+ goto g19_2000;
+ return;
+ }
+ jpeg_stdio_src(global_cinfo,stdin);
+ global_cinfo->src->init_source=&nop;
+ global_cinfo->src->fill_input_buffer=&my_fill_input_buffer;
+ global_cinfo->src->skip_input_data=&my_skip_input_data;
+ global_cinfo->src->resync_to_restart=&jpeg_resync_to_restart;
+ global_cinfo->src->term_source=nop;
+ global_cinfo->src->bytes_in_buffer=0;
+ global_cinfo->src->next_input_byte=NULL;
+ cimg->decoder=mem_alloc(sizeof(struct jpg_decoder));
+ jd=(struct jpg_decoder *)cimg->decoder;
+ jd->cinfo=global_cinfo;
+ jd->jerr=global_jerr;
+ jd->state=0;
+ jd->skip_bytes=0;
+ jd->jdata=NULL;
+ /* Scanlines can be left unititialized */
+}
+
+/* This is here because libjpeg doesn't support transformation from CMYK
+ * to RGB so that we must do it ourselves.
+ *
+ * data must be non-NULL. */
+static void cmyk_to_rgb(unsigned char *data, int pixels)
+{
+ for (;pixels;pixels--, data+=4)
+ {
+ /* C -> R */
+ data[0]=((data[0])*(data[3])+127)/255;
+
+ /* M -> G */
+ data[1]=((data[1])*(data[3])+127)/255;
+
+ /* Y -> B */
+ data[2]=((data[2])*(data[3])+127)/255;
+
+ /* Put alpha=1 instead of K */
+ data[3]=255;
+ }
+}
+
+/* data must be non-NULL */
+static void gray_to_rgb(unsigned char *data, int pixels)
+{
+ unsigned char *dest;
+
+ dest=data+(pixels-1)*3;
+ data+=pixels-1;
+ for(;pixels;pixels--,data--,dest-=3){
+ dest[2]=*data;
+ dest[1]=*data;
+ dest[0]=*data;
+ }
+}
+
+/* Fixes returned data in case they are CMYK or grayscale. */
+static inline void fix_data( struct jpg_decoder *deco, int lines_read)
+{
+ int a;
+
+ switch (global_cinfo->output_components){
+ case 1:
+ for (a=0; a<lines_read; a++)
+ gray_to_rgb(deco->scanlines[a], global_cinfo
+ ->output_width);
+ break;
+
+ case 3:
+ break;
+
+ case 4:
+ cmyk_to_rgb(deco->scanlines[0], global_cinfo
+ ->output_width*lines_read);
+ break;
+
+ default: internal("Invalid output_components");
+ }
+}
+
+void jpeg_restart(struct cached_image *cimg, unsigned char *data, int length)
+{
+ struct jpg_decoder *deco;
+
+ deco=(struct jpg_decoder *)(cimg->decoder);
+#ifdef DEBUG
+ if (!deco) internal("NULL decoder in jpeg_restart");
+#endif /* #ifdef DEBUG */
+ global_cinfo=((struct jpg_decoder *)(cimg->decoder))->cinfo;
+ global_jerr=((struct jpg_decoder *)(cimg->decoder))->jerr;
+ /* These global variables are here so that we don't have to pass lots
+ * of structure pointers into each function. The jpeg decoder is never
+ * running twice at the same time so it doesn't matter.
+ */
+
+ /* If the decoder wants us to skip bytes it's not interested in */
+ if (deco->skip_bytes>=length){
+ /* If the decoder wants to skip as much as or more bytes than
+ * the chunk that has just arrived */
+ deco->skip_bytes-=length;
+ return;
+ }else{
+ /* If the decoder wants to skip less bytes than the chunk
+ * that has just arrived */
+ data+=deco->skip_bytes;
+ length-=deco->skip_bytes;
+ deco->skip_bytes=0;
+ }
+
+ /* Add the arrived data chunk into the decoder buffer. Sometimes the
+ * chunks are so small the decoder can't move on on a single chunk
+ * so it has to accumulate more chunks together. This is why the buffer
+ * is there. */
+ if ((unsigned)global_cinfo->src->bytes_in_buffer + (unsigned)length > MAXINT) overalloc();
+ if ((unsigned)global_cinfo->src->bytes_in_buffer + (unsigned)length < (unsigned)length) overalloc();
+ if (deco->jdata){
+ /* If there is already some decoder buffer, we have to
+ * allocate more space */
+ memmove(deco->jdata,global_cinfo->src->next_input_byte,
+ global_cinfo->src->bytes_in_buffer);
+ deco->jdata=mem_realloc(
+ deco->jdata, global_cinfo->src->bytes_in_buffer+length);
+ }else{
+ /* If there is no decoder buffer we'll have to allocate
+ * space for a new buffer */
+ deco->jdata=mem_alloc(global_cinfo->src->bytes_in_buffer+length);
+ }
+
+ /* Copy the data iself into the decoder buffer */
+ memcpy(deco->jdata+global_cinfo->src->bytes_in_buffer
+ ,data,length);
+
+ /* Update the next input byte pointer for the decoder to continue at
+ * the right position */
+ global_cinfo->src->next_input_byte=deco->jdata;
+
+ /* ...:::...:..:.:::.:.::::.::.:.:.:.::..::::.::::.:...: */
+ /* Update the length of data in the decoder buffer */
+ global_cinfo->src->bytes_in_buffer+=length;
+
+ if (setjmp(global_jerr->setjmp_buffer)) goto decoder_ended;
+ switch(deco->state){
+ case 0:
+ /* jpeg_read_header */
+ if (JPEG_SUSPENDED==jpeg_read_header(global_cinfo,TRUE))
+ break;
+ global_cinfo->buffered_image=TRUE;
+ deco->state=1;
+
+ case 1:
+ /* If the scaling is sufficiently brutal we can leave out
+ * some DCT coefficients...: */
+ /* jpeg_start_decompress */
+ if (jpeg_start_decompress(global_cinfo)==FALSE)
+ break;
+
+ cimg->width=global_cinfo->output_width;
+ cimg->height=global_cinfo->output_height;
+
+ switch(cimg->buffer_bytes_per_pixel=
+ global_cinfo->output_components)
+ {
+ case 1:
+ /* We'll do the conversion ourselves
+ * because libjpeg seems to be buggy */
+ cimg->buffer_bytes_per_pixel=3;
+ break;
+
+
+ case 3: /* RGB or YCrCb. We will ask libjpeg to
+ * possibly convert from YCrCb to RGB. */
+
+ global_cinfo->out_color_space=JCS_RGB;
+ break;
+
+ case 4:
+ /* CMYK or YCCK. We need to enable conversion
+ * to CMYK and then convert CMYK data to RGBA
+ * with dummy A ourselves.
+ * We will ask libjpeg to possibly convert from
+ * YCCK to CMYK. */
+ global_cinfo->out_color_space=JCS_CMYK;
+ break;
+
+ default:
+ /* Let's make a decompression fatal error here */
+
+ if (!mesg_unsup_emitted){
+ fprintf(stderr,
+ "Unsupported JPEG output components number: %d.\n",
+ cimg->buffer_bytes_per_pixel);
+ mesg_unsup_emitted=1;
+ }
+ longjmp(global_jerr->setjmp_buffer,2);
+
+ /* longjmp() and siglongjmp() make programs hard to
+ * understand and maintain. If possible an alternative
+ * should be used. Hahaha :) ;-)
+ */
+ /* Free will makes people hard to understand
+ * and maintain. If possible an alternative should be
+ * used.
+ */
+ /* With our new LongJump(TM) your jumps will be longer
+ * than with ordinary commercially available jumps.
+ */
+ }
+ cimg->red_gamma=sRGB_gamma;
+ cimg->green_gamma=sRGB_gamma;
+ cimg->blue_gamma=sRGB_gamma;
+ /* This is defined in the JPEG standard somehow that sRGB
+ * color space is used. */
+
+ cimg->strip_optimized=0;
+ /* Strip optimization yet waits to be written. This will
+ * allow huge jpegs to be processed without consuming
+ * Links memory and consuming Xserver memory instead ;-)
+ * However strip optimization is already written for PNG's.
+ */
+
+ if (header_dimensions_known(cimg)) {
+ longjmp(global_jerr->setjmp_buffer,2);
+ }
+new_scan:
+ deco->state=2;
+
+ case 2:
+ /* jpeg_start_output */
+ if (FALSE==jpeg_start_output(global_cinfo,global_cinfo->input_scan_number)){
+susp0:
+ /* Suspended */
+ break;
+ }
+ deco->state=3;
+
+ case 3:
+ /* jpeg_read_scanlines */
+ /* color */
+ while (global_cinfo->output_scanline
+ <global_cinfo->output_height){
+ int a, lines;
+
+ for (a=0;a<16;a++){
+ deco->scanlines[a]=cimg->buffer
+ +(global_cinfo
+ ->output_scanline+a)
+ *global_cinfo->output_width*cimg->
+ buffer_bytes_per_pixel;
+ }
+
+ if ((lines=
+ jpeg_read_scanlines(
+ global_cinfo,deco->scanlines,1))){
+ /* Some lines were written into cimg buffer */
+ cimg->rows_added=1;
+
+ fix_data(deco, lines);
+ }else{
+ /* No lines have been written into cimg
+ * buffer */
+ /* We are suspended and we want more data */
+ goto susp0; /* Break the outer
+ * switch statement */
+ }
+ }
+ deco->state=4;
+
+ case 4:
+ /* jpeg_finish_output */
+ if (FALSE==jpeg_finish_output(global_cinfo))
+ {
+ /* Suspended */
+ break;
+ }
+ if (!jpeg_input_complete(global_cinfo))
+ {
+ /* Some more scans awaited... */
+ goto new_scan;
+ }
+ deco->state=5;
+
+ case 5:
+ /* jpeg_finish_decompress */
+ if (FALSE==jpeg_finish_decompress(global_cinfo))
+ break;
+decoder_ended:
+ img_end(cimg);
+ }
+}
+
+void add_jpeg_version(unsigned char **s, int *l)
+{
+ add_to_str(s, l, "JPEG (");
+#if defined(JPEG_LIB_VERSION_MAJOR) && defined(JPEG_LIB_VERSION_MINOR)
+ add_num_to_str(s, l, JPEG_LIB_VERSION_MAJOR);
+ add_to_str(s, l, ".");
+ add_num_to_str(s, l, JPEG_LIB_VERSION_MINOR);
+#else
+ add_num_to_str(s, l, JPEG_LIB_VERSION / 10);
+ add_to_str(s, l, ".");
+ add_num_to_str(s, l, JPEG_LIB_VERSION % 10);
+#endif
+ add_to_str(s, l, ")");
+}
+
+#endif /* #ifdef HAVE_JPEG */
+
+#endif /* #ifdef G */
+
diff --git a/jsint.c b/jsint.c
new file mode 100644
index 0000000..aba4d03
--- /dev/null
+++ b/jsint.c
@@ -0,0 +1,3990 @@
+/* jsint.c
+ * (c) 2002 Mikulas Patocka (Vrxni Ideolog), Petr 'Brain' Kulhavy
+ * This file is a part of the Links program, relased under GPL.
+ */
+
+/*
+ * Ve vsech upcallech plati, ze pokud dostanu ID nejakeho objektu, tak
+ * javascript ma k tomu objektu pristupova prava. Jinymi slovy pristupova prava
+ * se testuji v upcallech jen, aby se neco neproneslo vratnici ven. Dovnitr se
+ * muze donaset vsechno, co si javascript donese, na to ma prava.
+ *
+ * Navic vsechny upcally dostanou pointer na f_data_c, kde bezi javascript,
+ * takze se bude moci testovat, zda javascript nesaha na f_data_c, ke kteremu
+ * nema pristupova prava.
+ *
+ * Brain
+ */
+
+/* Uctovani pameti:
+ * js_mem_alloc/js_mem_free se bude pouzivat na struktury fax_me_tender
+ * dale se bude pouzivat take ve funkcich pro praci s cookies, protoze string
+ * cookies v javascript_context se tez alokuje pomoci js_mem_alloc/js_mem_free.
+ */
+
+/*
+ Retezce:
+
+ vsechny retezce v ramci javascriptu jsou predavany v kodovani f_data->cp
+ (tedy tak, jak prisly v dokumentu ze site)
+ */
+
+
+#include "links.h"
+
+#ifdef JS
+
+tcount jsint_execute_seq = 0;
+
+#include "struct.h"
+#include "ipret.h"
+#include "builtin_keys.h"
+
+/*
+vypisuje to: jaky kod byl zarazen do fronty. jaky kod byl predan interpretu do js_execute_code. jaky kod byl vykonan a ukoncen intepretem jsint_done_execution
+#define TRACE_EXECUTE
+*/
+
+struct js_request {
+ struct js_request *next;
+ struct js_request *prev;
+ int onclick_submit; /* >=0 (znamena cislo formulare) pokud tohle je request onclick handleru u submit tlacitka nebo onsubmit handleru */
+ int onsubmit; /* dtto pro submit handler */
+ struct event ev; /* event, ktery se ma poslat pri uspechu */
+ int write_pos; /* document.write position from END of document. -1 if document.write cannot be used */
+ int wrote; /* this request called document.write */
+ int len;
+ tcount seq;
+ unsigned char code[1];
+};
+
+
+/* set_cookies bude parsovat takhle:
+ * +....=............;...............................+ <- tohle je strinzik
+ * ^ ^
+ * najdu 1. rovnase a za nim 1. strednik, najdu nasledujici rovnase a
+ * nasledujici strednik, pokud to bude platne (&'='<&';') a 2. jmeno bude
+ * "expires", tak to je furt jedna cookie -> poslu Mikulasovi.
+ *
+ * kdyz ne, tak je to jina susenka a poslu to 1. Mikulasovi
+ *
+ * pokud najdu ';' a za nim whitespace, za kterym neni rovnase, tak od toho
+ * stredniku je to garbaz, kterou vratim do strinziku (fd->js->ctx->cookies)
+ */
+
+/* sets all cookies in fd>js->ctx->cookies */
+/* final_flush means, that set_cookies was called from jsint_done_execution */
+
+
+
+
+
+
+/* JESTLI V TYHLE FUNKCI BUDE NEJAKA BUGA, tak za to muze PerM, Clock a pan GNU,
+ * ktery tady kolem rusili, ze jsem se nemohl soustredit. Takze se s
+ * pripadnejma reklamacema obratte na ne!
+ *
+ * Brain
+ */
+
+/* prototypes */
+void jsint_send_event(struct f_data_c *fd, struct event *ev);
+int jsint_create(struct f_data_c *);
+void jsint_done_execution(struct f_data_c *);
+int jsint_can_access(struct f_data_c *, struct f_data_c *);
+struct f_data_c *jsint_find_recursive(struct f_data_c *, long); /* line 89 */
+void *jsint_find_object(struct f_data_c *, long);
+long *add_id(long *, int *, long );
+long *add_fd_id(long *, int *, long, long, unsigned char *);
+void send_vodevri_v_novym_vokne(struct terminal *, void (*)(struct terminal *, unsigned char *, unsigned char *), struct session *);
+void add_all_recursive_in_fd(long **, int *, struct f_data_c *, struct f_data_c *);
+
+
+void jsint_set_cookies(struct f_data_c *fd, int final_flush)
+{
+ unsigned char *str;
+ unsigned char *next;
+ unsigned char *eq1, *semic1, *eq2, *semic2;
+
+ if(!(fd->js)||!(fd->js->ctx))internal("jsint_set_cookies called with NULL context.\n");
+ if (!(fd->js->ctx->cookies)||!(fd->rq))return; /* cookies string is empty, nothing to set */
+ str=fd->js->ctx->cookies;
+
+a_znova:
+ eq1=strchr(str,'=');
+ semic1=strchr(str,';');
+
+ if (!*str||(!final_flush&&!semic1)) /* na konci neni strednik a skript jeste bezi, takze to musime vratit do stringu a vypadnout */
+ {
+ unsigned char *bla=NULL;
+ if (*str)bla=stracpy1(str);
+ js_mem_free(fd->js->ctx->cookies);
+ fd->js->ctx->cookies=bla;
+ return;
+ }
+
+ /* ted se v str bud vyskytuje strednik, nebo skript uz skoncil */
+
+ if (semic1&&eq1>semic1) /* '=' je za ';' takze to pred strednikem a strednik skipnem */
+ {
+ str=semic1+1;
+ goto a_znova;
+ }
+
+ next=semic1?semic1+1:str+strlen(str);
+ if (!eq1) /* neni tam '=', takze to preskocime */
+ {
+ str=next;
+ goto a_znova;
+ }
+
+ /* ted by to mela bejt regulerni susenka */
+
+ next_par:
+ eq2=NULL,semic2=NULL;
+ if (semic1!=NULL)
+ {
+ eq2=strchr(semic1+1,'=');
+ semic2=strchr(semic1+1,';');
+ }
+
+ if (eq2&&semic1&&(final_flush||semic2))
+ {
+ unsigned char *p=strstr(semic1+1,"expires");
+ if (!p)p=strstr(semic1+1,"Expires");
+ if (!p)p=strstr(semic1+1,"EXPIRES");
+ if (!p)p=strstr(semic1+1,"domain");
+ if (!p)p=strstr(semic1+1,"Domain");
+ if (!p)p=strstr(semic1+1,"DOMAIN");
+ if (!p)p=strstr(semic1+1,"path");
+ if (!p)p=strstr(semic1+1,"Path");
+ if (!p)p=strstr(semic1+1,"PATH");
+ if (!p)p=strstr(semic1+1,"comment");
+ if (!p)p=strstr(semic1+1,"Comment");
+ if (!p)p=strstr(semic1+1,"COMMENT");
+ if (!p)p=strstr(semic1+1,"max-age");
+ if (!p)p=strstr(semic1+1,"Max-age");
+ if (!p)p=strstr(semic1+1,"Max-Age");
+ if (!p)p=strstr(semic1+1,"MAX-AGE");
+ if (!p)p=strstr(semic1+1,"version");
+ if (!p)p=strstr(semic1+1,"Version");
+ if (!p)p=strstr(semic1+1,"VERSION");
+ if (p&&p>semic1&&p<eq2) /* za 1. prirazenim nasleduje "expires=", takze to je porad jedna susenka */
+ {
+ next=semic2?semic2+1:str+strlen(str);
+ semic1=semic2;
+ goto next_par;
+ }
+ }
+
+ if (*next)next[-1]=0;
+
+ for (;*str&&WHITECHAR(*str);str++); /* skip whitechars */
+
+ /*debug("set_cookie: \"%s\"", str);*/
+ set_cookie(fd->ses->term, fd->rq->url, str);
+
+ str=next;
+ goto a_znova;
+}
+
+
+int jsint_object_type(long to_je_on_Padre)
+{
+ return to_je_on_Padre&JS_OBJ_MASK;
+}
+
+
+int jsint_create(struct f_data_c *fd)
+{
+ struct js_state *js;
+
+ if (fd->js) internal("javascript state present");
+ js = mem_calloc(sizeof(struct js_state));
+ if (!(js->ctx = js_create_context(fd, ((fd->id)<<JS_OBJ_MASK_SIZE)|JS_OBJ_T_DOCUMENT))) {
+ mem_free(js);
+ return 1;
+ }
+ init_list(js->queue);
+ fd->js = js;
+ return 0;
+}
+
+void jsint_destroy(struct f_data_c *fd)
+{
+ struct js_state *js = fd->js;
+ fd->script_t = 0;
+ if (!js) return;
+ fd->js = NULL;
+ pr(js_destroy_context(js->ctx)) return;
+ if (js->src) mem_free(js->src);
+ if (js->active) mem_free(js->active);
+ js_zaflaknuto_pameti-=js->newdata;
+ free_list(js->queue);
+ mem_free(js);
+}
+
+/* for <a href="javascript:..."> */
+void javascript_func(struct session *ses, unsigned char *hlavne_ze_je_vecirek)
+{
+ unsigned char *code=get_url_data(hlavne_ze_je_vecirek);
+
+ jsint_execute_code(current_frame(ses),code,strlen(code),-1,-1,-1, NULL);
+}
+
+void jsint_send_event(struct f_data_c *fd, struct event *ev)
+{
+ if (!ev || !ev->b) return;
+ send_event(fd->ses, ev);
+}
+
+/* executes or queues javascript code in frame:
+ write_pos is number of bytes from the position where document.write should write to the end of document
+ write_pos == -1 if it is not from <SCRIPT> statement and cannot use document.write
+*/
+/* data je cislo formulare pro onclick submit handler, jinak se nepouziva */
+/* ev je udalost, ktera se ma znovu poslat, pokud bylo vraceno true */
+void jsint_execute_code(struct f_data_c *fd, unsigned char *code, int len, int write_pos, int onclick_submit, int onsubmit, struct event *ev)
+{
+ struct js_request *r, *q;
+
+ for (;code&&len&&*code&&((*code)==' '||(*code)==9||(*code)==13||(*code)==10);code++,len--);
+
+ /*
+ FUJ !!!!
+ if (!strncasecmp(code,"javascript:",strlen("javascript:")))code+=strlen("javascript:");
+ */
+
+ if (len >= 11 && !casecmp(code, "javascript:", 11)) code += 11, len -= 11;
+
+ if (!js_enable) {
+ jsint_send_event(fd, ev);
+ return;
+ }
+
+#ifdef TRACE_EXECUTE
+ fprintf(stderr, "Submitted: ^^%.*s^^\n", len, code);
+#endif
+
+ if (!fd->js && jsint_create(fd)) {
+ jsint_send_event(fd, ev);
+ return;
+ }
+ if ((unsigned)len > MAXINT - sizeof(struct js_request)) overalloc();
+ r = mem_calloc(sizeof(struct js_request) + len);
+ r->seq = jsint_execute_seq++;
+ r->write_pos = write_pos;
+ r->len = len;
+ r->onclick_submit = onclick_submit;
+ r->onsubmit = onsubmit;
+ memcpy(r->code, code, len);
+ if (ev) memcpy(&r->ev, ev, sizeof(struct event));
+ if (write_pos == -1) {
+ struct list_head *l = (struct list_head *)fd->js->queue.prev;
+ add_to_list(*l, r);
+ } else {
+ /* add it beyond all <SCRIPT> requests but before non-<SCRIPT> ones */
+ foreach(q, fd->js->queue) if (q->write_pos == -1) break;
+ q = q->prev;
+ add_at_pos(q, r);
+ }
+ jsint_run_queue(fd);
+}
+
+void jsint_done_execution(struct f_data_c *fd)
+{
+ struct js_request *r, *to_exec;
+ struct js_state *js = fd->js;
+ struct event ev = { 0, 0, 0, 0 };
+ if (!js) {
+ internal("no js in frame");
+ return;
+ }
+ if (!js->active) {
+ internal("jsint_done_execution: completion function called on inactive js");
+ return;
+ }
+
+#ifdef TRACE_EXECUTE
+ fprintf(stderr, "Done: ^^%.*s^^\n", js->active->len, js->active->code);
+#endif
+
+ /* accept all cookies set by the script */
+ jsint_set_cookies(fd,1);
+
+ /* js->active obsahuje request prave dobehnuteho skriptu */
+
+ /* dobehl onclick_handler a nezaplatil (vratil false), budou se dit veci */
+ if (js->active->ev.b && js->ctx->zaplatim)
+ memcpy(&ev, &js->active->ev, sizeof(struct event));
+ if (js->active->onclick_submit >=0 && !js->ctx->zaplatim)
+ {
+ /* pokud je handler od stejneho formulare, jako je defered, tak odlozeny skok znicime a zlikvidujem prislusny onsubmit handler z fronty */
+ if (js->active->onclick_submit == fd->ses->defered_data)
+ {
+ foreach (r,js->queue)
+ /* to je onsubmit od naseho formulare, tak ho smazem */
+ if (r->onsubmit == js->active->onclick_submit)
+ {
+ del_from_list(r);
+ mem_free(r);
+ break; /* zadny dalsi onsubmit tohoto formulare uz nebude */
+ }
+ ses_destroy_defered_jump(fd->ses);
+ }
+ }
+
+ if (js->active->write_pos == -1) mem_free(js->active), js->active = NULL;
+ else {
+ r = js->active; js->active = NULL;
+ if (r->wrote) js->wrote = 1;
+ jsint_scan_script_tags(fd);
+ if (!f_is_finished(fd->f_data)) {
+ fd->done = 0;
+ fd->parsed_done = 0;
+ }
+ if (js->wrote && fd->script_t == -1) {
+ fd->done = 0;
+ fd->parsed_done = 0;
+ fd_loaded(NULL, fd);
+ js->wrote = 0;
+ }
+ mem_free(r);
+ }
+
+ to_exec = js->active;
+ if (!to_exec && !list_empty(fd->js->queue)) to_exec = fd->js->queue.next;
+ if (fd->ses->defered_url && (!to_exec || (to_exec->seq > fd->ses->defered_seq && to_exec->write_pos == -1)))
+ {
+ unsigned char *url, *target;
+
+ url=stracpy(fd->ses->defered_url);
+ target=stracpy(fd->ses->defered_url);
+
+ goto_url_f(fd->ses,NULL,url,target,fd->ses->defered_target_base,fd->ses->defered_data,0,0,0);
+ mem_free(url);
+ mem_free(target);
+ }
+ else
+ jsint_run_queue(fd);
+ jsint_send_event(fd, &ev);
+}
+
+void jsint_run_queue(struct f_data_c *fd)
+{
+ struct js_request *r;
+ struct js_state *js = fd->js;
+
+ if ((!fd->done && fd->f_data) || !js || js->active || list_empty(js->queue)) return;
+
+ r = js->queue.next;
+ del_from_list(r);
+ js->active = r;
+#ifdef TRACE_EXECUTE
+ fprintf(stderr, "Executing: ^^%.*s^^\n", r->len, r->code);
+
+#endif
+ pr(js_execute_code(js->ctx, r->code, r->len, (void (*)(void *))jsint_done_execution)) {};
+}
+
+/* returns: 1 - source is modified by document.write
+ 0 - original source
+*/
+
+int jsint_get_source(struct f_data_c *fd, unsigned char **start, unsigned char **end)
+{
+ struct js_state *js = fd->js;
+
+ if (!js || !js->src) return 0;
+ if (start) *start = js->src;
+ if (end) *end = js->src + js->srclen;
+ return 1;
+}
+
+/*
+ * tests if script running in frame "running" can access document in frame "accessed"
+ * 0=no permission, 1=permission OK
+ */
+int jsint_can_access(struct f_data_c *running, struct f_data_c *accessed)
+{
+ int a;
+ unsigned char *h1, *h2;
+ if (!running || !accessed || !running->rq || !accessed->rq) return 0;
+
+ h1 = get_host_name(running->rq->url);
+ h2 = get_host_name(accessed->rq->url);
+ a = !strcasecmp(h1, h2);
+ mem_free(h1);
+ mem_free(h2);
+ return a;
+}
+
+
+/* doc_id is real document id, whithout any type */
+/* fd must be a valid pointer */
+struct f_data_c *jsint_find_recursive(struct f_data_c *fd, long doc_id)
+{
+ struct f_data_c *sub, *fdd;
+ if (fd->id == doc_id) return fd;
+ foreach(sub, fd->subframes) {
+ if ((fdd = jsint_find_recursive(sub, doc_id))) return fdd;
+ }
+ return NULL;
+}
+
+/*
+ * This function finds document that has given ID
+ */
+struct f_data_c *jsint_find_document(long doc_id)
+{
+ struct f_data_c *fd;
+ struct session *ses;
+ int type=jsint_object_type(doc_id);
+
+ if (type!=JS_OBJ_T_DOCUMENT&&type!=JS_OBJ_T_FRAME)
+ {unsigned char txt[256]; snprintf(txt,256,"jsint_find_document called with type=%d\n",type);internal(txt);}
+ doc_id>>=JS_OBJ_MASK_SIZE;
+ foreach(ses, sessions) if ((fd = jsint_find_recursive(ses->screen, doc_id))) return fd;
+ return NULL;
+}
+
+void jsint_destroy_document_description(struct f_data *f)
+{
+ struct js_document_description *jsd;
+ if (!f)return;
+
+ jsd= f->js_doc;
+ if (!jsd) return;
+ f->js_doc = NULL;
+ /* Pro Martina: vsecky polozky vyrobene vyse se tady zase musi uvolnit (jak kurtizana v rimskejch laznich) */
+ /* -------------- */
+ mem_free(jsd);
+}
+
+/* Document has just loaded. Scan for <SCRIPT> tags and execute each of them */
+
+void jsint_scan_script_tags(struct f_data_c *fd)
+{
+ unsigned char *name, *attr;
+ int namelen;
+ unsigned char *val, *e, *ee;
+ unsigned char *s, *ss, *eof;
+ unsigned char *start, *end;
+ unsigned char *onload_code=NULL;
+ int uv;
+ int bs;
+
+ if (!js_enable)return;
+ if (!fd->rq || !fd->rq->ce || !fd->f_data) return;
+ if (!jsint_get_source(fd, &ss, &eof)) {
+ if (get_file(fd->rq, &ss, &eof)) return;
+ }
+
+ d_opt = &fd->f_data->opt;
+
+ s = ss;
+ se:
+ while (s < eof && *s != '<') sp:s++;
+ if (s >= eof || fd->script_t < 0)
+ {
+ if (onload_code && fd->script_t != -1)
+ {
+ jsint_execute_code(fd,onload_code,strlen(onload_code),-1,-1,-1, NULL);
+ }
+ fd->script_t = -1;
+ goto ret;
+ }
+ if (s + 2 <= eof && (s[1] == '!' || s[1] == '?')) {
+ s = skip_comment(s, eof);
+ goto se;
+ }
+ if (parse_element(s, eof, &name, &namelen, &attr, &s)) goto sp;
+ if (!onload_code&&namelen==4&&!casecmp(name,"BODY",4))
+ {
+ onload_code=get_attr_val(attr,"onload"); /* if the element doesn't have onload attribute get_attr_val returns NULL */
+ goto se;
+ }
+
+ if (!onload_code&&namelen==3&&!casecmp(name,"IMG",3))
+ {
+ onload_code=get_attr_val(attr,"onload"); /* if the element doesn't have onload attribute get_attr_val returns NULL */
+ goto se;
+ }
+
+ if (namelen != 6 || casecmp(name, "SCRIPT", 6) || s - ss < fd->script_t) goto se;
+ start = end = NULL;
+ if ((val = get_attr_val(attr, "src"))) {
+ unsigned char *url;
+ if (fd->f_data->script_href_base && ((url = join_urls(fd->f_data->script_href_base, val)))) {
+ int code, version;
+ struct additional_file *af = request_additional_file(fd->f_data, url);
+ mem_free(url);
+ mem_free(val);
+ if (!af || !af->rq) goto se;
+ if (af->rq->state >= 0) goto ret;
+ if (!af->rq->ce) goto se;
+ if (!get_http_code(af->rq->ce->head, &code, &version)) {
+ if (code < 200 || code >= 300) goto se;
+ }
+ if (get_file(af->rq, &start, &end)) goto se;
+ if (start == end) goto se;
+ } else {
+ mem_free(val);
+ goto se;
+ }
+ }
+ e = s;
+ uv = 0;
+ bs = 0;
+ while (e < eof && *e != '<') {
+ es:
+ if (!uv && (*e == '"' || *e == '\'')) uv = *e, bs = 0;
+ else if (*e == '\\' && uv) bs = 1;
+ else if (*e == uv && !bs) uv = 0;
+ else bs = 0;
+ e++;
+ }
+ if (e + 8 <= eof) {
+ if (/*uv ||*/ casecmp(e, "</SCRIPT", 8)) goto es;
+ } else e = eof;
+ ee = e;
+ while (ee < eof && *ee != '>') ee++;
+ if (ee < eof) ee++;
+ fd->script_t = ee - ss;
+ if (!start || !end) jsint_execute_code(fd, s, e - s, eof - ee,-1,-1, NULL);
+ else jsint_execute_code(fd, start, end - start, eof - ee,-1,-1, NULL);
+ ret:
+ if (onload_code)mem_free(onload_code);
+
+ d_opt = &dd_opt;
+}
+
+
+struct hopla_mladej
+{
+ struct form_control *fc;
+ struct form_state *fs;
+};
+
+
+/* Returns pointer to the object with given ID in the document, or NULL when
+ * there's no such object. Document must be a valid pointer.
+ *
+ * Pointer type depends on type of object, caller must know the type and
+ * interpret the pointer in the right way.
+ */
+
+void *jsint_find_object(struct f_data_c *document, long obj_id)
+{
+ int type=obj_id&JS_OBJ_MASK;
+ int orig_obj_id=obj_id;
+ obj_id>>=JS_OBJ_MASK_SIZE;
+
+ switch (type)
+ {
+ /* form element
+ * obj_id can be from 0 up to number of form fields
+ * (document->vs->form_info_len may be actually lower if the fields were never
+ * touched)
+ * returns allocated struct hopla_mladej, you must free it after use
+ */
+ case JS_OBJ_T_TEXT:
+ case JS_OBJ_T_PASSWORD:
+ case JS_OBJ_T_TEXTAREA:
+ case JS_OBJ_T_CHECKBOX:
+ case JS_OBJ_T_RADIO:
+ case JS_OBJ_T_SELECT:
+ case JS_OBJ_T_SUBMIT:
+ case JS_OBJ_T_RESET:
+ case JS_OBJ_T_HIDDEN:
+ case JS_OBJ_T_BUTTON:
+ {
+ struct hopla_mladej *hopla;
+
+ struct form_control *fc;
+ /*int n=document->vs->form_info_len;*/
+ int a=0;
+
+ if (obj_id<0/*||obj_id>=n*/)return NULL;
+ hopla=mem_alloc(sizeof(struct hopla_mladej));
+
+ if (!(document->f_data)){mem_free(hopla);return NULL;};
+
+ foreachback(fc,document->f_data->forms)
+ if (fc->g_ctrl_num==obj_id){a=1;break;}
+ if (!a){mem_free(hopla);return NULL;}
+
+ if (!(hopla->fs=find_form_state(document, fc))){mem_free(hopla);return NULL;}
+ hopla->fc=fc;
+ return hopla;
+ }
+
+ /* link
+ * obj_id can be from 0 to (nlinks-1)
+ */
+ case JS_OBJ_T_LINK:
+ {
+ struct link*l;
+ int n;
+
+ if (!(document->f_data))return NULL;
+
+ l=document->f_data->links;
+ n=document->f_data->nlinks;
+
+ if (obj_id<0||obj_id>=n)return NULL;
+ return l+obj_id;
+ }
+
+ /* form
+ * obj_id is form_num in struct form_control (f_data->forms)
+ */
+ case JS_OBJ_T_FORM:
+ {
+ struct form_control *f;
+
+ if (!(document->f_data))return NULL;
+ foreachback(f, document->f_data->forms) if ((f->form_num)==obj_id)return f;
+ return NULL;
+ }
+
+ /* anchors
+ * obj_id is position in list of all tags
+ */
+ case JS_OBJ_T_ANCHOR:
+ {
+ struct tag *t;
+ int a=0;
+
+ if (!(document->f_data))return NULL;
+ foreach(t,document->f_data->tags)
+ {
+ if (obj_id==a)return t;
+ a++;
+ }
+ return NULL;
+ }
+ break;
+
+ /* this is document
+ * call jsint_find_document
+ * returned value is struct f_data_c
+ */
+ case JS_OBJ_T_FRAME:
+ case JS_OBJ_T_DOCUMENT:
+ return jsint_find_document(orig_obj_id);
+
+ /* image
+ * returned value is struct g_object_image *
+ */
+ case JS_OBJ_T_IMAGE:
+#ifdef G
+ if (F)
+ {
+ struct xlist_head *fi;
+
+ if (!document->f_data)return NULL;
+ foreach(fi,document->f_data->images)
+ {
+ struct g_object_image *gi;
+ struct g_object_image goi;
+
+ gi = (struct g_object_image *)((char *)fi + ((char *)&goi - (char *)&(goi.image_list)));
+ if (gi->id==obj_id)return gi;
+ }
+ return NULL;
+ }else
+#endif
+ return NULL;
+
+ default:
+ internal("jsint_find_object: unknown type %d.",type);
+ return NULL; /* never called, but GCC likes it ;-) */
+ }
+}
+
+
+long *add_id(long *field,int *len,long id)
+{
+ long *p;
+ int a;
+ for (a=0;a<(*len);a++) /* this object is already on the list */
+ if (field[a]==id)return field;
+
+ (*len)++;
+ if ((unsigned)*len > MAXINT / sizeof(long)) overalloc();
+ p=mem_realloc(field,(*len)*sizeof(long));
+
+ p[(*len)-1]=id;
+ return p;
+}
+
+long *add_fd_id(long *field,int *len,long fd,long id, unsigned char *name)
+{
+ long *p;
+ int a;
+ for (a=0;a<(*len);a+=3) /* this object is already on the list */
+ if (field[a]==fd&&field[a+1]==id)return field;
+
+
+ (*len)+=3;
+ if ((unsigned)*len > MAXINT / sizeof(long)) overalloc();
+ p=mem_realloc(field,(*len)*sizeof(long));
+
+ p[(*len)-3]=fd;
+ p[(*len)-2]=id;
+ p[(*len)-1]=(name&&(*name))?(long)stracpy(name):(long)NULL;
+ return p;
+}
+
+static long js_upcall_get_frame_id(void *data);
+
+/* finds all objects with name takhle_tomu_u_nas_nadavame
+ * in fd and all it's subframes with rq==NULL
+ * js_ctx is f_data_c of the accessing script
+ */
+static long *find_in_subframes(struct f_data_c *js_ctx, struct f_data_c *fd, long *pole_vole, int *n_items, unsigned char *takhle_tomu_u_nas_nadavame)
+{
+ struct f_data_c *ff;
+ struct form_control *f;
+#ifdef G
+ struct xlist_head *fi;
+#endif
+
+ /* search frame */
+ foreach(ff,fd->subframes)
+ if (ff->loc&&ff->loc->name&&!strcmp(ff->loc->name,takhle_tomu_u_nas_nadavame)&&jsint_can_access(js_ctx,ff)) /* to je on! */
+ if (!(pole_vole=add_id(pole_vole,n_items,js_upcall_get_frame_id(ff))))return NULL;
+
+ if (!(fd->f_data))goto a_je_po_ptakach;
+
+#ifdef G
+ if (F)
+ /* search images */
+ foreach(fi,fd->f_data->images)
+ {
+ struct g_object_image *gi;
+ struct g_object_image goi;
+
+ gi = (struct g_object_image *)((char *)fi + ((char *)(&goi) - (char *)(&(goi.image_list))));
+ if (gi->name&&!strcmp(gi->name, takhle_tomu_u_nas_nadavame))
+ if (!(pole_vole=add_id(pole_vole,n_items,JS_OBJ_T_IMAGE+((gi->id)<<JS_OBJ_MASK_SIZE))))return NULL;
+ }
+#endif
+ /* search forms */
+ foreachback(f,fd->f_data->forms)
+ if (f->form_name&&!strcmp(f->form_name,takhle_tomu_u_nas_nadavame)) /* tak tohle JE Jim Beam */
+ if (!(pole_vole=add_id(pole_vole,n_items,((f->form_num)<<JS_OBJ_MASK_SIZE)+JS_OBJ_T_FORM)))return NULL;
+
+ /* search form elements */
+ foreachback(f,fd->f_data->forms)
+ if (f->name&&!strcmp(f->name,takhle_tomu_u_nas_nadavame)) /* tak tohle JE Jim Beam */
+ {
+ long tak_mu_to_ukaz=0;
+ tak_mu_to_ukaz=(f->g_ctrl_num)<<JS_OBJ_MASK_SIZE;
+ switch (f->type)
+ {
+ case FC_TEXT: tak_mu_to_ukaz|=JS_OBJ_T_TEXT; break;
+ case FC_PASSWORD: tak_mu_to_ukaz|=JS_OBJ_T_PASSWORD; break;
+ case FC_TEXTAREA: tak_mu_to_ukaz|=JS_OBJ_T_TEXTAREA; break;
+ case FC_CHECKBOX: tak_mu_to_ukaz|=JS_OBJ_T_CHECKBOX; break;
+ case FC_RADIO: tak_mu_to_ukaz|=JS_OBJ_T_RADIO; break;
+ case FC_IMAGE:
+ case FC_SELECT: tak_mu_to_ukaz|=JS_OBJ_T_SELECT; break;
+ case FC_SUBMIT: tak_mu_to_ukaz|=JS_OBJ_T_SUBMIT ; break;
+ case FC_RESET: tak_mu_to_ukaz|=JS_OBJ_T_RESET ; break;
+ case FC_HIDDEN: tak_mu_to_ukaz|=JS_OBJ_T_HIDDEN ; break;
+ case FC_BUTTON: tak_mu_to_ukaz|=JS_OBJ_T_BUTTON ; break;
+ default: /* internal("Invalid form element type.\n"); */
+ tak_mu_to_ukaz=0;break;
+ }
+ if (tak_mu_to_ukaz&&!(pole_vole=add_id(pole_vole,n_items,tak_mu_to_ukaz)))return NULL;
+ }
+
+a_je_po_ptakach:
+ /* find in all rq==NULL */
+ foreach(ff,fd->subframes)
+ if (!(ff->rq)) pole_vole=find_in_subframes(js_ctx,ff,pole_vole,n_items,takhle_tomu_u_nas_nadavame);
+
+
+ return pole_vole;
+}
+
+/* resolves name of an object, returns field of all ID's with the name
+ * obj_id is object in which we're searching
+ * takhle_tomu_u_nas_nadavame is the searched name
+ * context is identifier of the javascript context
+ * n_items is number of returned items
+ *
+ * on error returns NULL
+ */
+long *jsint_resolve(void *context, long obj_id, char *takhle_tomu_u_nas_nadavame,int *n_items)
+{
+ struct f_data_c *fd;
+ struct f_data_c *js_ctx=(struct f_data_c*)context;
+ long *pole_vole;
+ *n_items=0;
+
+ if (!takhle_tomu_u_nas_nadavame||!(*takhle_tomu_u_nas_nadavame))return NULL;
+ pole_vole=mem_alloc(sizeof(long));
+ switch(jsint_object_type(obj_id))
+ {
+ /* searched object can be a frame, image, form or a form element */
+ case JS_OBJ_T_DOCUMENT:
+ case JS_OBJ_T_FRAME:
+ fd=jsint_find_document(obj_id);
+ if (!fd||!(jsint_can_access(js_ctx,fd)))break;
+
+ pole_vole=find_in_subframes(js_ctx, fd, pole_vole, n_items, takhle_tomu_u_nas_nadavame);
+ break;
+
+ /* searched name can be a form element */
+ case JS_OBJ_T_FORM:
+ {
+ struct form_control *fc=jsint_find_object(js_ctx,obj_id);
+ struct form_control *f;
+ if (!fc){mem_free(pole_vole);return NULL;}
+
+ if (!(js_ctx->f_data)){mem_free(pole_vole);return NULL;}
+ foreachback(f,js_ctx->f_data->forms)
+ {
+ if (f->form_num==fc->form_num) /* this form */
+ if (f->name&&!strcmp(f->name,takhle_tomu_u_nas_nadavame)) /* this IS Jim Beam */
+ {
+ long tak_mu_to_ukaz=0;
+ tak_mu_to_ukaz=(f->g_ctrl_num)<<JS_OBJ_MASK_SIZE;
+ switch (f->type)
+ {
+ case FC_TEXT: tak_mu_to_ukaz|=JS_OBJ_T_TEXT; break;
+ case FC_PASSWORD: tak_mu_to_ukaz|=JS_OBJ_T_PASSWORD; break;
+ case FC_TEXTAREA: tak_mu_to_ukaz|=JS_OBJ_T_TEXTAREA; break;
+ case FC_CHECKBOX: tak_mu_to_ukaz|=JS_OBJ_T_CHECKBOX; break;
+ case FC_RADIO: tak_mu_to_ukaz|=JS_OBJ_T_RADIO; break;
+ case FC_IMAGE:
+ case FC_SELECT: tak_mu_to_ukaz|=JS_OBJ_T_SELECT; break;
+ case FC_SUBMIT: tak_mu_to_ukaz|=JS_OBJ_T_SUBMIT ; break;
+ case FC_RESET: tak_mu_to_ukaz|=JS_OBJ_T_RESET ; break;
+ case FC_HIDDEN: tak_mu_to_ukaz|=JS_OBJ_T_HIDDEN ; break;
+ case FC_BUTTON: tak_mu_to_ukaz|=JS_OBJ_T_BUTTON ; break;
+ default: tak_mu_to_ukaz=0;break;
+ /* internal("Invalid form element type.\n"); */
+ }
+ if ((tak_mu_to_ukaz&JS_OBJ_MASK)&&!(pole_vole=add_id(pole_vole,n_items,tak_mu_to_ukaz)))return NULL;
+ }
+ }
+ }
+ break;
+ }
+ if (!pole_vole)return NULL;
+ if (!(*n_items)){mem_free(pole_vole);pole_vole=NULL;}
+ return pole_vole;
+}
+
+/*------------------------>>>>>>>> UPCALLS <<<<<<<<-------------------------*/
+
+
+/* tyhle upcally se volaji ze select smycky:
+
+ void js_upcall_confirm(void *data)
+ void js_upcall_alert(void * data)
+ void js_upcall_close_window(void *data)
+ void js_upcall_get_string(void *data)
+ void js_upcall_goto_url(void * data)
+ void js_upcall_goto_history(void * data)
+ void js_upcall_set_image_src(void* data)
+
+V nich se musi volat js_spec_vykill_timer, aby se znicil timer, ktery upcall
+zavolal.
+
+Tyto upcally MUZOU dostavat f_data_c pointer primo, protoze kdyz ten f_data_c
+umre a s nim i ten JS, tak se timery znicej --- tudiz se nic nestane.
+*/
+
+
+static void redraw_document(struct f_data_c *f)
+{
+ /*
+ if (F) {
+ f->xl = -1;
+ f->yl = -1;
+ draw_to_window(f->ses->win, (void (*)(struct terminal *, void *))draw_doc, f);
+ }
+ */
+ draw_fd(f);
+}
+
+struct js_document_description *js_upcall_get_document_description(void *p, long doc_id)
+{
+ struct js_document_description *js_doc;
+ struct f_data *f;
+ struct f_data_c *pfd = p;
+ struct f_data_c *fd;
+ fd = jsint_find_document(doc_id);
+ if (!fd || !fd->f_data || !jsint_can_access(pfd, fd)) return NULL;
+ f = fd->f_data;
+ if (f->js_doc) return f->js_doc;
+ js_doc = mem_calloc(sizeof(struct js_document_description));
+ /* Pro Martina: pridat sem prohlizeni f_data a vytvoreni struktury */
+ /* -------------- */
+ return f->js_doc = js_doc;
+}
+
+
+/* returns ID of a document with the javascript */
+long js_upcall_get_document_id(void *data)
+{
+ struct f_data_c *fd;
+ if (!data)internal("js_upcall_get_document_id called with NULL pointer!");
+
+ fd=(struct f_data_c*)data;
+ return (((fd->id)<<JS_OBJ_MASK_SIZE)|JS_OBJ_T_DOCUMENT);
+}
+
+
+/* same as get_document_id, but returned type is FRAME */
+static long js_upcall_get_frame_id(void *data)
+{
+ struct f_data_c *fd;
+ if (!data)internal("js_upcall_get_document_id called with NULL pointer!");
+
+ fd=(struct f_data_c*)data;
+ return (((fd->id)<<JS_OBJ_MASK_SIZE)|JS_OBJ_T_FRAME);
+}
+
+
+/* writes "len" bytes starting at "str" to document */
+void js_upcall_document_write(void *p, unsigned char *str, int len)
+{
+ int pos;
+ unsigned char *s;
+ struct f_data_c *fd = p;
+ struct js_state *js = fd->js;
+ if (!js)return;
+ if (!js->active) internal("js_upcall_document_write: no request active");
+ if (js->active->write_pos == -1) return;
+ if (js->active->write_pos < 0) internal("js_upcall_document_write: js->active trashed");
+ if (!js->src) {
+ unsigned char *s, *eof;
+ if (get_file(fd->rq, &s, &eof)) return;
+ if (!(js->src = memacpy(s, eof - s))) return;
+ js->srclen = eof - s;
+ }
+ if ((unsigned)js->srclen + (unsigned)len > MAXINT) overalloc();
+ if ((unsigned)js->srclen + (unsigned)len < (unsigned)len) overalloc();
+ s = mem_realloc(js->src, js->srclen + len);
+ js->src = s;
+ if ((pos = js->srclen - js->active->write_pos) < 0) pos = 0;
+ memmove(s + pos + len, s + pos, js->srclen - pos);
+ memcpy(s + pos, str, len);
+ js->srclen += len;
+ js->newdata += len;
+ js_zaflaknuto_pameti += len;
+ js->active->wrote = 1;
+}
+
+
+/* returns title of actual document (=document in the script context) */
+/* when an error occurs, returns NULL */
+/* returned string should be deallocated after use */
+unsigned char *js_upcall_get_title(void *data)
+{
+ struct f_data_c *fd;
+ unsigned char *title, *t;
+ struct conv_table* ct;
+
+ if (!data)internal("js_upcall_get_title called with NULL pointer!");
+ fd=(struct f_data_c *)data;
+
+ title=mem_alloc(MAX_STR_LEN*sizeof(unsigned char));
+
+ if (!(get_current_title(fd->ses,title,MAX_STR_LEN))){mem_free(title);return NULL;}
+ if (fd->f_data)
+ {
+ ct=get_translation_table(fd->f_data->opt.cp,fd->f_data->cp);
+ t = convert_string(ct, title, strlen(title), NULL);
+ mem_free(title);
+ title=t;
+ }
+ return title;
+}
+
+
+/* sets title of actual document (=document in the script context) */
+/* string title will be deallocated after use */
+void js_upcall_set_title(void *data, unsigned char *title)
+{
+ unsigned char *t;
+ struct conv_table* ct;
+ struct f_data_c *fd;
+ int l=0;
+
+ if (!data)internal("js_upcall_get_title called with NULL pointer!");
+ fd=(struct f_data_c *)data;
+
+ if (!title)return;
+
+ if (!(fd->f_data)){mem_free(title);return;}
+ if (fd->f_data->title)mem_free(fd->f_data->title);
+ fd->f_data->title=init_str();
+ fd->f_data->uncacheable=1;
+ ct=get_translation_table(fd->f_data->cp,fd->f_data->opt.cp);
+ t = convert_string(ct, title, strlen(title), NULL);
+ add_to_str(&(fd->f_data->title),&l,t);
+ mem_free(t);
+
+ mem_free(title);
+ redraw_document(fd);
+}
+
+
+/* returns URL of actual document (=document in the script context) */
+/* when an error occurs, returns NULL */
+/* returned string should be deallocated after use */
+unsigned char *js_upcall_get_location(void *data)
+{
+ struct f_data_c *fd;
+ unsigned char *loc;
+
+ if (!data)internal("js_upcall_get_location called with NULL pointer!");
+ fd=(struct f_data_c *)data;
+
+ loc=mem_alloc(MAX_STR_LEN*sizeof(unsigned char));
+
+ if (!(get_current_url(fd->ses,loc,MAX_STR_LEN))){mem_free(loc);return NULL;}
+ return loc;
+}
+
+
+/* returns string containing last modification date */
+/* or NULL when the date is not known or when an error occurs */
+unsigned char *js_upcall_document_last_modified(void *data, long document_id)
+{
+ struct f_data_c *fd;
+ struct f_data_c *document;
+ unsigned char *retval;
+
+ document=jsint_find_document(document_id);
+ if (!data)internal("js_upcall_document_last_modified called with NULL pointer!");
+ fd=(struct f_data_c *)data;
+
+ if (!document)return NULL; /* document not found */
+ if (!jsint_can_access(fd, document))return NULL; /* you have no permissions to look at the document */
+
+ if (!fd->rq||!fd->rq->ce)return NULL;
+ retval=stracpy(fd->rq->ce->last_modified);
+
+ return retval;
+}
+
+
+/* returns allocated string with user-agent */
+unsigned char *js_upcall_get_useragent(void *data)
+{
+ struct f_data_c *fd;
+ unsigned char *retval=init_str();
+ int l=0;
+
+ if (!data)internal("js_upcall_get_useragent called with NULL pointer!");
+ fd=(struct f_data_c *)data;
+
+ if (!http_options.header.fake_useragent||!(*http_options.header.fake_useragent)) {
+ add_to_str(&retval, &l, "Links (" VERSION_STRING "; ");
+ add_to_str(&retval, &l, system_name);
+ add_to_str(&retval, &l, ")");
+ }
+ else {
+ add_to_str(&retval, &l, http_options.header.fake_useragent);
+ }
+
+ return retval;
+}
+
+
+/* returns allocated string with browser name */
+unsigned char *js_upcall_get_appname(void)
+{
+ if (!http_options.header.fake_useragent||!(*http_options.header.fake_useragent))
+ return stracpy("Links");
+ else
+ return stracpy(http_options.header.fake_useragent);
+}
+
+
+/* returns allocated string with browser name */
+unsigned char *js_upcall_get_appcodename(void)
+{
+ if (!http_options.header.fake_useragent||!(*http_options.header.fake_useragent))
+ return stracpy("Links");
+ else
+ return stracpy(http_options.header.fake_useragent);
+}
+
+
+/* returns allocated string with browser version: "version_number (system_name)" */
+unsigned char *js_upcall_get_appversion(void)
+{
+ unsigned char *str;
+ int l=0;
+
+ if (http_options.header.fake_useragent&&(*http_options.header.fake_useragent))return stracpy(http_options.header.fake_useragent);
+ str=init_str();
+ add_to_str(&str,&l,VERSION_STRING);
+ add_to_str(&str,&l," (");
+ add_to_str(&str,&l,system_name);
+ add_to_str(&str,&l,")");
+ return str;
+}
+
+
+/* returns allocated string with referrer */
+unsigned char *js_upcall_get_referrer(void *data)
+{
+ struct f_data_c *fd;
+ unsigned char *retval=init_str();
+ unsigned char *loc;
+ int l=0;
+
+ if (!data)internal("js_upcall_get_referrer called with NULL pointer!");
+ fd=(struct f_data_c *)data;
+
+ switch (http_options.header.referer)
+ {
+ case REFERER_FAKE:
+ add_to_str(&retval, &l, http_options.header.fake_referer);
+ break;
+
+ case REFERER_SAME_URL:
+ loc=mem_alloc(MAX_STR_LEN*sizeof(unsigned char));
+ if (!(get_current_url(fd->ses,loc,MAX_STR_LEN))){mem_free(loc);break;}
+ add_to_str(&retval, &l, loc);
+ mem_free(loc);
+ break;
+
+ case REFERER_REAL:
+ {
+ unsigned char *post;
+
+ if (!fd->rq||!(fd->rq->prev_url))break; /* no referrer */
+ post=strchr(fd->rq->prev_url, POST_CHAR);
+ if (!post)add_to_str(&retval, &l, fd->rq->prev_url);
+ else add_bytes_to_str(&retval, &l, fd->rq->prev_url, post - fd->rq->prev_url);
+ }
+ break;
+ }
+
+ return retval;
+}
+
+struct gimme_js_id
+{
+ long id; /* id of f_data_c */
+ long js_id; /* unique id of javascript */
+};
+
+/* tady se netestuje js_id, protoze BFU to chce killnout, tak to proste killne */
+/* aux function for all dialog upcalls */
+static void js_kill_script_pressed(void *data)
+{
+ struct f_data_c *fd;
+ struct gimme_js_id *jsid=(struct gimme_js_id*)data;
+
+ fd=jsint_find_document(jsid->id);
+ if (!fd)return; /* context no longer exists */
+
+ if (!(fd->js))return;
+ js_downcall_game_over(fd->js->ctx); /* call downcall */
+}
+
+
+
+/* aux function for js_upcall_confirm */
+static void js_upcall_confirm_ok_pressed(void *data)
+{
+ struct f_data_c *fd;
+ struct gimme_js_id *jsid=(struct gimme_js_id*)data;
+
+ fd=jsint_find_document(jsid->id);
+ if (!fd)return; /* context no longer exists */
+
+ if (!(fd->js)||jsid->js_id!=fd->js->ctx->js_id)return;
+ js_downcall_vezmi_true(fd->js->ctx); /* call downcall */
+}
+
+
+/* aux function for js_upcall_confirm */
+static void js_upcall_confirm_cancel_pressed(void *data)
+{
+ struct f_data_c *fd;
+ struct gimme_js_id *jsid=(struct gimme_js_id*)data;
+
+ fd=jsint_find_document(jsid->id);
+ if (!fd)return; /* context no longer exists */
+
+ if (!(fd->js)||jsid->js_id!=fd->js->ctx->js_id)return;
+ js_downcall_vezmi_false(fd->js->ctx); /* call downcall */
+}
+
+
+/* creates dialog with text s->string and buttons OK/Cancel */
+/* s->string will be dealocated */
+/* s will be dealocated too */
+/* must be called from select loop */
+void js_upcall_confirm(void *data)
+{
+ struct fax_me_tender_string *s=(struct fax_me_tender_string*)data;
+ struct gimme_js_id* jsid;
+ struct f_data_c *fd;
+ struct terminal *term;
+ unsigned char *txt;
+
+ if (!s)internal("js_upcall_confirm called with NULL pointer\n"); /* to jenom kdyby na mne PerM zkousel naky oplzlosti... */
+
+ /* context must be a valid pointer ! */
+ fd=(struct f_data_c*)(s->ident);
+ term=fd->ses->term;
+
+ if (!fd->js)return;
+ jsid=mem_alloc(sizeof(struct gimme_js_id));
+
+ /* kill timer, that called me */
+ js_spec_vykill_timer(fd->js->ctx,0);
+
+ /* fill in jsid */
+ jsid->id=((fd->id)<<JS_OBJ_MASK_SIZE)|JS_OBJ_T_DOCUMENT;
+ jsid->js_id=fd->js->ctx->js_id;
+
+ skip_nonprintable(s->string);
+ if (fd->f_data)
+ {
+ struct conv_table* ct;
+
+ ct=get_translation_table(fd->f_data->cp,fd->f_data->opt.cp);
+ txt=convert_string(ct,s->string,strlen(s->string),NULL);
+ }
+ else
+ txt=stracpy(s->string);
+ js_mem_free(s->string);
+ msg_box(
+ term, /* terminal */
+ getml(txt,jsid,NULL), /* memory blocks to free */
+ TEXT_(T_QUESTION), /* title */
+ AL_CENTER, /* alignment */
+ txt, /* message */
+ jsid, /* data for button functions */
+ 3, /* # of buttons */
+ TEXT_(T_OK),js_upcall_confirm_ok_pressed,B_ENTER, /* first button */
+ TEXT_(T_CANCEL),js_upcall_confirm_cancel_pressed,B_ESC, /* second button */
+ TEXT_(T_KILL_SCRIPT), js_kill_script_pressed,NULL
+ );
+
+ js_mem_free(s);
+}
+
+
+/* aux function for js_upcall_alert */
+static void js_upcall_alert_ok_pressed(void *data)
+{
+ struct f_data_c *fd;
+ struct gimme_js_id *jsid=(struct gimme_js_id*)data;
+
+ fd=jsint_find_document(jsid->id);
+ if (!fd)return; /* context no longer exists */
+
+ if (!(fd->js)||jsid->js_id!=fd->js->ctx->js_id)return;
+ js_downcall_vezmi_null(fd->js->ctx); /* call downcall */
+}
+
+
+/* gets struct fax_me_tender_string* */
+/* creates dialog with title "Alert" and message got from struct fax_me_tender_string */
+/* structure and the text are both deallocated */
+/* must be called from select loop */
+void js_upcall_alert(void * data)
+{
+ struct fax_me_tender_string *s=(struct fax_me_tender_string*)data;
+ struct gimme_js_id* jsid;
+ struct f_data_c *fd;
+ struct terminal *term;
+ unsigned char *txt;
+
+ if (!s)internal("Alert called with NULL pointer.\n"); /* to jenom kdyby na mne PerM zkousel naky oplzlosti... */
+
+ /* context must be a valid pointer ! */
+ fd=(struct f_data_c*)(s->ident);
+ term=fd->ses->term;
+
+ if (!fd->js) return;
+ jsid=mem_alloc(sizeof(struct gimme_js_id));
+
+ /* kill timer, that called me */
+ js_spec_vykill_timer(fd->js->ctx,0);
+
+ /* fill in jsid */
+ jsid->id=((fd->id)<<JS_OBJ_MASK_SIZE)|JS_OBJ_T_DOCUMENT;
+ jsid->js_id=fd->js->ctx->js_id;
+
+ skip_nonprintable(s->string);
+ if (fd->f_data)
+ {
+ struct conv_table* ct;
+
+ ct=get_translation_table(fd->f_data->cp,fd->f_data->opt.cp);
+ txt=convert_string(ct,s->string,strlen(s->string),NULL);
+ }
+ else
+ txt=stracpy(s->string);
+ js_mem_free(s->string);
+ msg_box(
+ term, /* terminal */
+ getml(txt,jsid,NULL), /* memory blocks to free */
+ TEXT_(T_ALERT), /* title */
+ AL_CENTER, /* alignment */
+ txt, /* message */
+ jsid, /* data for button functions */
+ 2, /* # of buttons */
+ TEXT_(T_OK),js_upcall_alert_ok_pressed,B_ENTER|B_ESC,
+ TEXT_(T_KILL_SCRIPT), js_kill_script_pressed,NULL
+ );
+
+ js_mem_free(s);
+}
+
+
+/* aux function for js_upcall_close_window */
+/* tady se netestuje js_id, protoze BFU zmacklo, ze chce zavrit okno a v
+ * nekterych pripadech by ho to nezavrelo (kdyby se testovalo) a to by vypadalo
+ * blbe */
+static void js_upcall_close_window_yes_pressed(void *data)
+{
+ struct f_data_c *fd;
+ struct gimme_js_id *jsid=(struct gimme_js_id*)data;
+
+ fd=jsint_find_document(jsid->id);
+ if (!fd)return; /* context no longer exists */
+
+ really_exit_prog(fd->ses);
+}
+
+
+/* asks user if he really wants to close the window and calls really_exit_prog */
+/* argument is struct fax_me_tender_nothing* */
+/* must be called from select loop */
+void js_upcall_close_window(void *data)
+{
+ struct fax_me_tender_nothing *s=(struct fax_me_tender_nothing*)data;
+ struct f_data_c *fd;
+ struct terminal *term;
+
+ if (!s)internal("js_upcall_close_window called with NULL pointer\n"); /* to jenom kdyby na mne PerM zkousel naky oplzlosti... */
+
+ /* context must be a valid pointer ! */
+ fd=(struct f_data_c*)(s->ident);
+ if (!fd->js) return;
+ term=fd->ses->term;
+
+ /* kill timer, that called me */
+ js_spec_vykill_timer(fd->js->ctx,0);
+
+ if (js_manual_confirmation)
+ {
+ struct gimme_js_id* jsid;
+
+ jsid=mem_alloc(sizeof(struct gimme_js_id));
+
+ /* fill in jsid */
+ jsid->id=((fd->id)<<JS_OBJ_MASK_SIZE)|JS_OBJ_T_DOCUMENT;
+ jsid->js_id=fd->js->ctx->js_id;
+
+ msg_box(
+ term, /* terminal */
+ getml(jsid,NULL), /* memory blocks to free */
+ TEXT_(T_EXIT_LINKS), /* title */
+ AL_CENTER, /* alignment */
+ TEXT_(T_SCRIPT_TRYING_TO_CLOSE_WINDOW), /* message */
+ jsid, /* data for button functions */
+ 2, /* # of buttons */
+ TEXT_(T_YES),js_upcall_close_window_yes_pressed,NULL,
+ TEXT_(T_KILL_SCRIPT), js_kill_script_pressed,NULL
+ );
+ js_mem_free(s);
+ }
+ else
+ {
+ js_mem_free(s);
+ if (term->next == term->prev && are_there_downloads())
+ query_exit(fd->ses);
+ else
+ really_exit_prog(fd->ses);
+ }
+}
+
+
+/* returns parent window ID of the script */
+long js_upcall_get_window_id(void *data)
+{
+ struct f_data_c *fd;
+ if (!data)internal("js_upcall_get_window_id called with NULL pointer!");
+
+ fd=(struct f_data_c*)data;
+ return ((fd->id)<<JS_OBJ_MASK_SIZE)|JS_OBJ_T_FRAME;
+}
+
+
+
+/* aux function for js_upcall_get_string */
+static void js_upcall_get_string_ok_pressed(void *data, unsigned char *str)
+{
+ struct f_data_c *fd;
+ struct gimme_js_id *jsid=(struct gimme_js_id*)data;
+
+ fd=jsint_find_document(jsid->id);
+ if (!fd)return; /* context no longer exists */
+
+ if (!(fd->js)||jsid->js_id!=fd->js->ctx->js_id)return;
+ js_downcall_vezmi_string(fd->js->ctx, stracpy(str)); /* call downcall */
+}
+
+
+struct history js_get_string_history={0, {&js_get_string_history.items, &js_get_string_history.items}};
+
+
+/* creates input field for string, with text s->string1, default response
+ * s->string2 and buttons OK/Kill Script
+ * s->string1 and s->string2 will be dealocated
+ * s will be dealocated too
+ * must be called from select loop */
+
+void js_upcall_get_string(void *data)
+{
+ struct fax_me_tender_2_stringy *s=(struct fax_me_tender_2_stringy*)data;
+ struct gimme_js_id* jsid;
+ struct f_data_c *fd;
+ struct terminal *term;
+ unsigned char *str1,*str2;
+
+ if (!s)internal("js_upcall_get_string called with NULL pointer\n"); /* to jenom kdyby na mne PerM zkousel naky oplzlosti... */
+
+ /* context must be a valid pointer ! */
+ fd=(struct f_data_c*)(s->ident);
+ term=fd->ses->term;
+
+ if (!fd->js) return;
+ jsid=mem_alloc(sizeof(struct gimme_js_id));
+
+ /* kill timer, that called me */
+ js_spec_vykill_timer(fd->js->ctx,0);
+
+ /* fill in jsid */
+ jsid->id=((fd->id)<<JS_OBJ_MASK_SIZE)|JS_OBJ_T_DOCUMENT;
+ jsid->js_id=fd->js->ctx->js_id;
+
+ str1=stracpy(s->string1);
+ str2=stracpy(s->string2);
+ js_mem_free(s->string1);
+ js_mem_free(s->string2);
+
+ input_field(
+ term, /* terminal */
+ getml(str1, str2,jsid,NULL), /* mem to free */
+ TEXT_(T_ENTER_STRING), /* title */
+ str1, /* question */
+ jsid, /* data for functions */
+ &js_get_string_history, /* history */
+ MAX_INPUT_URL_LEN, /* string len */
+ str2, /* string to fill the dialog with */
+ 0, /* min value */
+ 0, /* max value */
+ NULL, /* check fn */
+ TEXT_(T_OK), /* ok button */
+ js_upcall_get_string_ok_pressed,
+ TEXT_(T_KILL_SCRIPT), /* cancel button */
+ js_kill_script_pressed,
+ NULL
+ );
+ js_mem_free(s);
+}
+
+
+/* clears window with javascript */
+/* must be called from select loop */
+/* javascript must halt before calling this upcall */
+void js_upcall_clear_window(void *data)
+{
+ /* context must be a valid pointer ! */
+ /*struct f_data_c *fd=(struct f_data_c*)data;*/
+ /* no jsint_destroy context or so here, it's called automatically from reinit_f_data_c */
+ /*
+ zatim jsem to zrusil ... tahle funkce musi byt volana pres timer, takhle je to uplne blbe a spadne to pri kazdem volani -- Mikulas
+
+ to je <|>vina, v komentari je jasne napsano, ze tahle fce musi byt volana ze select loop, takze to nema co padat -- Brain
+
+ no prave!! ze select smycky == z timeru. Z javascriptu to volat nemuzes, protoze to pod sebou ten kontext javascriptu smaze, a ten interpret spadne, protoze jeho kontext uz nebude existovat. -- Mikulas
+
+ reinit_f_data_c(fd);
+ */
+}
+
+
+/* returns allocated string with window name */
+unsigned char *js_upcall_get_window_name(void *data)
+{
+ /* context must be a valid pointer ! */
+ struct f_data_c *fd=(struct f_data_c*)data;
+
+ return fd->loc?stracpy(fd->loc->name):NULL;
+}
+
+
+/* returns allocated field of ID's of links in JS document
+ * number of links is stored in len
+ * if number of links is 0, returns NULL
+ * on error returns NULL too
+ */
+long *js_upcall_get_links(void *data, long document_id, int *len)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)data;
+ struct f_data_c *fd;
+ struct link *l;
+ int a;
+ long *to_je_Ono;
+
+ fd=jsint_find_document(document_id);
+ if (!js_ctx)internal("js_upcall_get_links called with NULL context pointer\n");
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+ if (!(fd->f_data))return NULL;
+ *len=fd->f_data->nlinks;
+ if (!(*len))return NULL;
+ l=fd->f_data->links;
+ if ((unsigned)*len > MAXINT / sizeof(long)) overalloc();
+ to_je_Ono=mem_alloc((*len)*sizeof(long));
+
+ for (a=0;a<(*len);a++)
+ /*to_je_Ono[a]=JS_OBJ_T_LINK+(((l+a)->num)<<JS_OBJ_MASK_SIZE);*/
+ to_je_Ono[a]=JS_OBJ_T_LINK+(a<<JS_OBJ_MASK_SIZE);
+
+ return to_je_Ono;
+}
+
+
+/* returns allocated string with TARGET of the link
+ * if the link doesn't exist in the document, returns NULL
+ */
+unsigned char *js_upcall_get_link_target(void *data, long document_id, long link_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)data;
+ struct f_data_c *fd;
+ struct link *l;
+
+ if (!js_ctx)internal("js_upcall_get_link_target called with NULL context pointer\n");
+ if ((link_id&JS_OBJ_MASK)!=JS_OBJ_T_LINK)return NULL; /* this isn't link */
+
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ l=jsint_find_object(fd,link_id);
+ if (!l)return NULL;
+
+ return stracpy((l->target)?(l->target):(unsigned char *)(""));
+}
+
+
+/* returns allocated field of ID's of forms in JS document
+ * number of forms is stored in len
+ * if number of forms is 0, returns NULL
+ * on error returns NULL too
+ */
+long *js_upcall_get_forms(void *data, long document_id, int *len)
+{
+ struct f_data_c *js_ctx=(struct f_data_c *)data;
+ struct f_data_c *fd;
+ struct form_control *fc;
+ long *to_je_Ono;
+ long last=0;
+
+ if (!js_ctx)internal("js_upcall_get_forms called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ if (!(fd->f_data))return NULL;
+
+ to_je_Ono=mem_alloc(sizeof(long));
+
+ *len=0;
+
+ foreachback(fc, fd->f_data->forms)
+ {
+ long *p;
+ int a;
+
+ if ((*len)&&(fc->form_num)==last)continue;
+ for (a=0;a<(*len);a++)
+ if ((to_je_Ono[a]>>JS_OBJ_MASK_SIZE)==(fc->form_num))goto already_have; /* we already have this number */
+
+ (*len)++;
+ if ((unsigned)*len > MAXINT / sizeof(long)) overalloc();
+ p=mem_realloc(to_je_Ono,(*len)*sizeof(long));
+ to_je_Ono=p;
+ to_je_Ono[(*len)-1]=JS_OBJ_T_FORM|((fc->form_num)<<JS_OBJ_MASK_SIZE);
+ last=fc->form_num;
+already_have:;
+ }
+
+ if (!(*len)){mem_free(to_je_Ono);to_je_Ono=NULL;}
+
+ return to_je_Ono;
+}
+
+
+/* returns allocated string with the form action
+ * when an error occurs, returns NULL
+ */
+unsigned char *js_upcall_get_form_action(void *data, long document_id, long form_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c *)data;
+ struct f_data_c *fd;
+ struct form_control *fc;
+
+ if (!js_ctx)internal("js_upcall_get_form_action called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ if ((form_id&JS_OBJ_MASK)!=JS_OBJ_T_FORM)return NULL; /* this isn't form */
+
+ fc=jsint_find_object(fd,form_id);
+ if (!fc)return NULL;
+
+ return stracpy(fc->action);
+}
+
+
+
+/* sets form action
+ */
+void js_upcall_set_form_action(void *context, long document_id, long form_id, unsigned char *action)
+{
+ struct f_data_c *js_ctx=(struct f_data_c *)context;
+ struct f_data_c *fd;
+ struct form_control *fc;
+
+ if (!js_ctx) {
+ internal("js_upcall_set_form_action called with NULL context pointer\n");
+ }
+
+ fd=jsint_find_document(document_id);
+ if (!fd || !jsint_can_access(js_ctx,fd)) {
+ if (action) mem_free(action);
+ return;
+ }
+
+ if ( (form_id&JS_OBJ_MASK) != JS_OBJ_T_FORM ) {
+ if (action) mem_free(action);
+ return;
+ }
+
+ fc=jsint_find_object(fd,form_id);
+ if (!fc) {
+ if (action) mem_free(action);
+ return;
+ }
+
+ if (fc->action) {
+ mem_free (fc->action);
+ if ( fd->loc && fd->loc->url )
+ fc->action=join_urls(fd->loc->url,action);
+ else
+ fc->action=stracpy(action);
+ fd->f_data->uncacheable=1;
+ }
+
+ if (action) {
+ mem_free(action);
+ }
+}
+
+
+/* returns allocated string with the form target
+ * when an error occurs, returns NULL
+ */
+unsigned char *js_upcall_get_form_target(void *data, long document_id, long form_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c *)data;
+ struct f_data_c *fd;
+ struct form_control *fc;
+
+ if (!js_ctx)internal("js_upcall_get_form_target called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ if ((form_id&JS_OBJ_MASK)!=JS_OBJ_T_FORM)return NULL; /* this isn't form */
+
+ fc=jsint_find_object(fd,form_id);
+ if (!fc)return NULL;
+
+ return stracpy(fc->target);
+}
+
+
+
+/* returns allocated string with the form method
+ * when an error occurs, returns NULL
+ */
+unsigned char *js_upcall_get_form_method(void *data, long document_id, long form_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c *)data;
+ struct f_data_c *fd;
+ struct form_control *fc;
+
+ if (!js_ctx)internal("js_upcall_get_form_method called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ if ((form_id&JS_OBJ_MASK)!=JS_OBJ_T_FORM)return NULL; /* this isn't form */
+
+ fc=jsint_find_object(fd,form_id);
+ if (!fc)return NULL;
+
+ switch (fc->method)
+ {
+ case FM_GET:
+ return stracpy("GET");
+
+ case FM_POST:
+ case FM_POST_MP:
+ return stracpy("POST");
+
+ default:
+ internal("Invalid form method!\n");
+ return NULL; /* never called, but GCC likes it */
+ }
+}
+
+
+
+/* returns allocated string with the form encoding (value of attribute enctype)
+ * when an error occurs, returns NULL
+ */
+unsigned char *js_upcall_get_form_encoding(void *data, long document_id, long form_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c *)data;
+ struct f_data_c *fd;
+ struct form_control *fc;
+
+ if (!js_ctx)internal("js_upcall_get_form_encoding called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ if ((form_id&JS_OBJ_MASK)!=JS_OBJ_T_FORM)return NULL; /* this isn't form */
+
+ fc=jsint_find_object(fd,form_id);
+ if (!fc)return NULL;
+
+ switch (fc->method)
+ {
+ case FM_GET:
+ case FM_POST:
+ return stracpy("application/x-www-form-urlencoded");
+
+ case FM_POST_MP:
+ return stracpy("multipart/form-data");
+
+ default:
+ internal("Invalid form method!\n");
+ return NULL; /* never called, but GCC likes it */
+ }
+}
+
+
+/* returns allocated string containing protocol from current URL in the script context
+ * on error (or there's no protocol) NULL is returned
+ */
+unsigned char *js_upcall_get_location_protocol(void *data)
+{
+ struct f_data_c *fd;
+ unsigned char *loc;
+ unsigned char *p;
+ int l;
+
+ if (!data)internal("js_upcall_get_location called with NULL pointer!");
+ fd=(struct f_data_c *)data;
+
+ loc=mem_alloc(MAX_STR_LEN*sizeof(unsigned char));
+
+ if (!(get_current_url(fd->ses,loc,MAX_STR_LEN))){mem_free(loc);return NULL;}
+
+ if (parse_url(loc, &l, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)){mem_free(loc);return NULL;}
+ p=memacpy(loc,l+1); /* l is pointing to the colon, but we want protocol with colon */
+ mem_free(loc);
+ return p;
+}
+
+
+/* returns allocated string containing port of current URL in the script context
+ * on error (or there's no protocol) NULL is returned
+ */
+unsigned char *js_upcall_get_location_port(void *data)
+{
+ struct f_data_c *fd;
+ unsigned char *loc;
+ unsigned char *p;
+
+ if (!data)internal("js_upcall_get_location called with NULL pointer!");
+ fd=(struct f_data_c *)data;
+
+ loc=mem_alloc(MAX_STR_LEN*sizeof(unsigned char));
+
+ if (!(get_current_url(fd->ses,loc,MAX_STR_LEN))){mem_free(loc);return NULL;}
+
+ p=get_port_str(loc);
+ mem_free(loc);
+ return p;
+}
+
+
+/* returns allocated string containing hostname of current URL in the script context
+ * on error (or there's no protocol) NULL is returned
+ */
+unsigned char *js_upcall_get_location_hostname(void *data)
+{
+ struct f_data_c *fd;
+ unsigned char *loc;
+ unsigned char *p;
+
+ if (!data)internal("js_upcall_get_location called with NULL pointer!");
+ fd=(struct f_data_c *)data;
+
+ loc=mem_alloc(MAX_STR_LEN*sizeof(unsigned char));
+
+ if (!(get_current_url(fd->ses,loc,MAX_STR_LEN))){mem_free(loc);return NULL;}
+
+ p=get_host_name(loc);
+ mem_free(loc);
+ return p;
+}
+
+
+/* returns allocated string containing hostname and port of current URL in the script context
+ * on error (or there's no protocol) NULL is returned
+ */
+unsigned char *js_upcall_get_location_host(void *data)
+{
+ struct f_data_c *fd;
+ unsigned char *loc;
+ unsigned char *p, *h;
+ int l1,l2;
+
+ if (!data)internal("js_upcall_get_location called with NULL pointer!");
+ fd=(struct f_data_c *)data;
+
+ loc=mem_alloc(MAX_STR_LEN*sizeof(unsigned char));
+
+ if (!(get_current_url(fd->ses,loc,MAX_STR_LEN))){mem_free(loc);return NULL;}
+
+ if (parse_url(loc, NULL, NULL, NULL, NULL, NULL, &h, &l1, NULL, &l2, NULL, NULL, NULL)){mem_free(loc);return NULL;}
+ p=memacpy(h,l1+l2);
+ mem_free(loc);
+ return p;
+}
+
+
+/* returns allocated string containing pathname of current URL in the script context
+ * on error (or there's no protocol) NULL is returned
+ */
+unsigned char *js_upcall_get_location_pathname(void *data)
+{
+ struct f_data_c *fd;
+ unsigned char *loc;
+ unsigned char *d, *p;
+
+ if (!data)internal("js_upcall_get_location called with NULL pointer!");
+ fd=(struct f_data_c *)data;
+
+ loc=mem_alloc(MAX_STR_LEN*sizeof(unsigned char));
+
+ if (!(get_current_url(fd->ses,loc,MAX_STR_LEN))){mem_free(loc);return NULL;}
+
+ if (parse_url(loc, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &d, NULL, NULL)){mem_free(loc);return NULL;}
+ if (!d){mem_free(loc);return NULL;}
+ p=memacpy(d,strcspn(d,"?"));
+ mem_free(loc);
+ return p;
+}
+
+
+/* returns allocated string containing everything after ? in current URL in the script context
+ * on error (or there's no protocol) NULL is returned
+ */
+unsigned char *js_upcall_get_location_search(void *data)
+{
+ struct f_data_c *fd;
+ unsigned char *loc;
+ unsigned char *d, *p;
+
+ if (!data)internal("js_upcall_get_location called with NULL pointer!");
+ fd=(struct f_data_c *)data;
+
+ loc=mem_alloc(MAX_STR_LEN*sizeof(unsigned char));
+
+ if (!(get_current_url(fd->ses,loc,MAX_STR_LEN))){mem_free(loc);return NULL;}
+
+ if (parse_url(loc, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &d, NULL, NULL)){mem_free(loc);return NULL;}
+ if (!d){mem_free(loc);return NULL;}
+ p=stracpy(strchr(d,'?'));
+ mem_free(loc);
+ return p;
+}
+
+
+/* returns allocated string containing everything between # and ? in current URL in the script context
+ * on error (or there's no protocol) NULL is returned
+ */
+unsigned char *js_upcall_get_location_hash(void *data)
+{
+ struct f_data_c *fd;
+ unsigned char *loc;
+ unsigned char *d, *p;
+
+ if (!data)internal("js_upcall_get_location called with NULL pointer!");
+ fd=(struct f_data_c *)data;
+
+ loc=mem_alloc(MAX_STR_LEN*sizeof(unsigned char));
+
+ if (!(get_current_url(fd->ses,loc,MAX_STR_LEN))){mem_free(loc);return NULL;}
+
+ if (parse_url(loc, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &d, NULL, NULL)){mem_free(loc);return NULL;}
+ if (!d){mem_free(loc);return NULL;}
+ d=strchr(d,'#');
+ if (!d){mem_free(loc);return NULL;}
+ d++;
+ p=memacpy(d,strcspn(d,"?"));
+ mem_free(loc);
+ return p;
+}
+
+
+/* returns allocated field of all form elements
+ * size of the field will be stored in len
+ * when an error occurs, returns NULL
+ */
+long *js_upcall_get_form_elements(void *data, long document_id, long form_id, int *len)
+{
+ struct f_data_c *js_ctx=(struct f_data_c *)data;
+ struct f_data_c *fd;
+ struct form_control *fc, *fc2;
+ long *pole_Premysla_Zavorace;
+ int b;
+
+ if (!js_ctx)internal("js_upcall_get_form_elements called with NULL context pointer\n");
+ if ((form_id&JS_OBJ_MASK)!=JS_OBJ_T_FORM)return NULL; /* this isn't form */
+ fd=jsint_find_document(document_id);
+ if (!fd||!fd->f_data||!jsint_can_access(js_ctx,fd))return NULL;
+
+ fc=jsint_find_object(fd,form_id);
+ if (!fc)return NULL;
+
+ *len=0;
+
+ foreach (fc2, fd->f_data->forms)
+ if (fc2->form_num==fc->form_num)(*len)++;
+
+ if (!(*len))return NULL;
+
+ if ((unsigned)*len > MAXINT / sizeof(long)) overalloc();
+ pole_Premysla_Zavorace=mem_alloc((*len)*sizeof(long));
+
+ b=0;
+ foreachback (fc2, fd->f_data->forms)
+ if (fc2->form_num==fc->form_num)
+ {
+ switch (fc2->type)
+ {
+ case FC_TEXT: pole_Premysla_Zavorace[b]=JS_OBJ_T_TEXT; break;
+ case FC_PASSWORD: pole_Premysla_Zavorace[b]=JS_OBJ_T_PASSWORD; break;
+ case FC_TEXTAREA: pole_Premysla_Zavorace[b]=JS_OBJ_T_TEXTAREA; break;
+ case FC_CHECKBOX: pole_Premysla_Zavorace[b]=JS_OBJ_T_CHECKBOX; break;
+ case FC_RADIO: pole_Premysla_Zavorace[b]=JS_OBJ_T_RADIO; break;
+ case FC_IMAGE:
+ case FC_SELECT: pole_Premysla_Zavorace[b]=JS_OBJ_T_SELECT; break;
+ case FC_SUBMIT: pole_Premysla_Zavorace[b]=JS_OBJ_T_SUBMIT ; break;
+ case FC_RESET: pole_Premysla_Zavorace[b]=JS_OBJ_T_RESET ; break;
+ case FC_HIDDEN: pole_Premysla_Zavorace[b]=JS_OBJ_T_HIDDEN ; break;
+ case FC_BUTTON: pole_Premysla_Zavorace[b]=JS_OBJ_T_BUTTON ; break;
+ default: /* internal("Invalid form element type.\n"); */
+ (*len)--;
+ continue;
+ }
+ pole_Premysla_Zavorace[b]|=((fc2->g_ctrl_num)<<JS_OBJ_MASK_SIZE);
+ b++;
+ }
+ return pole_Premysla_Zavorace;
+}
+
+
+/* returns allocated field with anchors
+ * size of the field is stored in len
+ * when there're no anchors, *len is 0 and NULL is returned
+ * on error NULL is returned
+ */
+long *js_upcall_get_anchors(void *hej_Hombre, long document_id, int *len)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)hej_Hombre;
+ struct f_data_c *fd;
+ struct tag *t;
+ int a;
+ long *to_je_Ono;
+ *len=0;
+
+ if (!js_ctx)internal("js_upcall_get_anchors called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ if (!(fd->f_data))return NULL;
+ foreach(t,fd->f_data->tags)(*len)++;
+ if (!(*len))return NULL;
+ if ((unsigned)*len > MAXINT / sizeof(long)) overalloc();
+ to_je_Ono=mem_alloc((*len)*sizeof(long));
+
+ a=0;
+ foreach(t,fd->f_data->tags)
+ {
+ to_je_Ono[a]=JS_OBJ_T_ANCHOR+(a<<JS_OBJ_MASK_SIZE);
+ a++;
+ }
+ return to_je_Ono;
+
+}
+
+
+/* returns whether radio or checkbox is checked
+ * return value: 0=not checked
+ * 1=checked
+ * -1=error
+ */
+int js_upcall_get_checkbox_radio_checked(void *smirak, long document_id, long radio_tv_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)smirak;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+ int state;
+
+ if (!js_ctx)internal("js_upcall_get_checkbox_radio_checked called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return -1;
+
+ if ((radio_tv_id&JS_OBJ_MASK)!=JS_OBJ_T_RADIO&&(radio_tv_id&JS_OBJ_MASK)!=JS_OBJ_T_CHECKBOX)return -1; /* this isn't radio nor TV */
+
+ hopla=jsint_find_object(fd,radio_tv_id);
+ if (!hopla)return -1;
+
+ state=hopla->fs->state;
+ mem_free(hopla);
+ return state;
+}
+
+
+/* checks/unchecks radio or checkbox
+ */
+void js_upcall_set_checkbox_radio_checked(void *smirak, long document_id, long radio_tv_id, int value)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)smirak;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+
+ if (!js_ctx)internal("js_upcall_set_checkbox_radio_checked called with NULL context pointer\n");
+ if ((radio_tv_id&JS_OBJ_MASK)!=JS_OBJ_T_RADIO&&(radio_tv_id&JS_OBJ_MASK)!=JS_OBJ_T_CHECKBOX)return; /* this isn't radio nor TV */
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return;
+
+ hopla=jsint_find_object(fd,radio_tv_id);
+ if (!hopla)return;
+
+ hopla->fs->state=!!value;
+ mem_free(hopla);
+ redraw_document(fd);
+}
+
+
+/* returns whether radio or checkbox is checked
+ * return value: 0=default not checked
+ * 1=default checked
+ * -1=error
+ */
+int js_upcall_get_checkbox_radio_default_checked(void *bidak_smirak, long document_id, long radio_tv_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak_smirak;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+ int default_checked;
+
+ if (!js_ctx)internal("js_upcall_get_checkbox_radio_default_checked called with NULL context pointer\n");
+ if ((radio_tv_id&JS_OBJ_MASK)!=JS_OBJ_T_RADIO&&(radio_tv_id&JS_OBJ_MASK)!=JS_OBJ_T_CHECKBOX)return -1; /* this isn't radio nor TV */
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return -1;
+
+ hopla=jsint_find_object(fd,radio_tv_id);
+ if (!hopla)return -1;
+
+ default_checked=hopla->fc->default_state;
+ mem_free(hopla);
+ return default_checked;
+}
+
+
+/* sets radio/checkbox default_checked in the form
+ */
+void js_upcall_set_checkbox_radio_default_checked(void *bidak_smirak, long document_id, long radio_tv_id, int value)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak_smirak;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+ int something_changed;
+ value=!!value;
+
+ if (!js_ctx)internal("js_upcall_set_checkbox_radio_default_checked called with NULL context pointer\n");
+ if ((radio_tv_id&JS_OBJ_MASK)!=JS_OBJ_T_RADIO&&(radio_tv_id&JS_OBJ_MASK)!=JS_OBJ_T_CHECKBOX)return; /* this isn't radio nor TV */
+ fd=jsint_find_document(document_id);
+ if (!fd||!fd->f_data||!jsint_can_access(js_ctx,fd))return;
+
+ hopla=jsint_find_object(fd,radio_tv_id);
+ if (!hopla)return;
+
+ something_changed=(hopla->fc->default_state)^value;
+ hopla->fc->default_state=value;
+ fd->f_data->uncacheable|=something_changed;
+ mem_free(hopla);
+}
+
+
+/* returns allocated string with name of the form element
+ * don't forget to free the string after use
+ * on error returns NULL
+ */
+unsigned char *js_upcall_get_form_element_name(void *bidak, long document_id, long ksunt_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+ unsigned char *hele_ho_bidaka;
+
+ if (!js_ctx)internal("js_upcall_get_form_element_name called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ switch (ksunt_id&JS_OBJ_MASK)
+ {
+ case JS_OBJ_T_RADIO:
+ case JS_OBJ_T_TEXT:
+ case JS_OBJ_T_PASSWORD:
+ case JS_OBJ_T_TEXTAREA:
+ case JS_OBJ_T_CHECKBOX:
+ case JS_OBJ_T_SELECT:
+ case JS_OBJ_T_SUBMIT:
+ case JS_OBJ_T_RESET:
+ case JS_OBJ_T_HIDDEN:
+ case JS_OBJ_T_BUTTON:
+ break;
+
+ default:
+ return NULL; /* To neni Jim Beam! */
+ }
+
+ hopla=jsint_find_object(fd,ksunt_id);
+ if (!hopla)return NULL;
+
+ hele_ho_bidaka=stracpy(hopla->fc->name);
+ mem_free(hopla);
+ return hele_ho_bidaka;
+}
+
+
+/* sets name of the form element
+ * name is allocated string, this function deallocates it
+ */
+void js_upcall_set_form_element_name(void *bidak, long document_id, long ksunt_id, unsigned char *name)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+
+ if (!js_ctx)internal("js_upcall_set_form_element_name called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!fd->f_data||!jsint_can_access(js_ctx,fd)){if (name)mem_free(name);return;}
+
+ switch (ksunt_id&JS_OBJ_MASK)
+ {
+ case JS_OBJ_T_RADIO:
+ case JS_OBJ_T_TEXT:
+ case JS_OBJ_T_PASSWORD:
+ case JS_OBJ_T_TEXTAREA:
+ case JS_OBJ_T_CHECKBOX:
+ case JS_OBJ_T_SELECT:
+ case JS_OBJ_T_SUBMIT:
+ case JS_OBJ_T_RESET:
+ case JS_OBJ_T_HIDDEN:
+ case JS_OBJ_T_BUTTON:
+ break;
+
+ default:
+ if(name) mem_free(name);
+ return; /* To neni Jim Beam! */
+ }
+
+ hopla=jsint_find_object(fd,ksunt_id);
+ if (!hopla){if (name)mem_free(name);return;}
+
+ if ((name||(hopla->fc->name))&&strcmp(name,hopla->fc->name))
+ {
+ mem_free(hopla->fc->name);
+ hopla->fc->name=stracpy(name);
+ fd->f_data->uncacheable=1;
+ }
+ mem_free(hopla);
+ if(name) mem_free(name);
+}
+
+
+/* returns allocated string with value of VALUE attribute of the form element
+ * on error returns NULL
+ * don't forget to free the string after use
+ */
+unsigned char *js_upcall_get_form_element_default_value(void *bidak, long document_id, long ksunt_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+ unsigned char *hele_ho_bidaka;
+ struct conv_table *ct;
+
+ if (!js_ctx)internal("js_upcall_get_form_element_default_value called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!fd->f_data||!jsint_can_access(js_ctx,fd))return NULL;
+
+ switch (ksunt_id&JS_OBJ_MASK)
+ {
+ case JS_OBJ_T_RADIO:
+ case JS_OBJ_T_TEXT:
+ case JS_OBJ_T_PASSWORD:
+ case JS_OBJ_T_TEXTAREA:
+ case JS_OBJ_T_CHECKBOX:
+ case JS_OBJ_T_SELECT:
+ case JS_OBJ_T_SUBMIT:
+ case JS_OBJ_T_RESET:
+ case JS_OBJ_T_HIDDEN:
+ break;
+
+ default:
+ return NULL; /* To neni Jim Beam! */
+ }
+
+ hopla=jsint_find_object(fd,ksunt_id);
+ if (!hopla)return NULL;
+
+ ct=get_translation_table(fd->f_data->opt.cp,fd->f_data->cp);
+ hele_ho_bidaka=convert_string(ct,hopla->fc->default_value,strlen(hopla->fc->default_value),NULL);
+
+ mem_free(hopla);
+ return hele_ho_bidaka;
+}
+
+
+/* sets attribute VALUE of the form element
+ * name is allocated string that, this function frees it
+ * when name is NULL default value will be empty
+ */
+void js_upcall_set_form_element_default_value(void *bidak, long document_id, long ksunt_id, unsigned char *name)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+
+ if (!js_ctx)internal("js_upcall_set_form_element_default_value called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!fd->f_data||!jsint_can_access(js_ctx,fd)){if (name)mem_free(name);return;}
+
+ switch (ksunt_id&JS_OBJ_MASK)
+ {
+ case JS_OBJ_T_RADIO:
+ case JS_OBJ_T_TEXT:
+ case JS_OBJ_T_PASSWORD:
+ case JS_OBJ_T_TEXTAREA:
+ case JS_OBJ_T_CHECKBOX:
+ case JS_OBJ_T_SELECT:
+ case JS_OBJ_T_SUBMIT:
+ case JS_OBJ_T_RESET:
+ case JS_OBJ_T_HIDDEN:
+ break;
+
+ default:
+ if (name)mem_free(name);
+ return; /* To neni Jim Beam! */
+ }
+
+ hopla=jsint_find_object(fd,ksunt_id);
+ if (!hopla){if (name)mem_free(name);return;}
+
+ if ((name||(hopla->fc->default_value))&&strcmp(name,hopla->fc->default_value))
+ {
+ struct conv_table *ct;
+
+ mem_free(hopla->fc->default_value);
+ ct=get_translation_table(fd->f_data->cp,fd->f_data->opt.cp);
+ hopla->fc->default_value=convert_string(ct,name,strlen(name),NULL);
+ fd->f_data->uncacheable=1;
+ }
+ mem_free(hopla);
+ if (name)mem_free(name);
+}
+
+static unsigned char **get_js_event_ptr(struct js_event_spec **j, long type)
+{
+ create_js_event_spec(j);
+ if (type == Conkeydown) return &(*j)->keydown_code;
+ else if (type == Conkeypress) return &(*j)->keypress_code;
+ else if (type == Conkeyup) return &(*j)->keyup_code;
+ else return NULL;
+}
+
+void js_upcall_set_form_element_event_handler(void *bidak, long document_id, long ksunt_id, long type, unsigned char *name)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+ int i;
+
+ if (!js_ctx)internal("js_upcall_set_form_element_event_handler called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!fd->f_data||!jsint_can_access(js_ctx,fd)){if (name)mem_free(name);return;}
+ if ((ksunt_id&JS_OBJ_MASK) == JS_OBJ_T_FRAME || (ksunt_id&JS_OBJ_MASK) == JS_OBJ_T_DOCUMENT) {
+ unsigned char **p = get_js_event_ptr(&fd->f_data->js_event, type);
+ if (!p) {
+ mem_free(name);
+ return;
+ }
+ if (*p) mem_free(*p);
+ *p = name;
+ fd->f_data->uncacheable=1;
+ return;
+ }
+ hopla=jsint_find_object(fd,ksunt_id);
+ if (!hopla){if (name)mem_free(name);return;}
+ for (i = 0; i < fd->f_data->nlinks; i++) {
+ struct link *l = &fd->f_data->links[i];
+ if (l->form == hopla->fc) {
+ unsigned char **p = get_js_event_ptr(&l->js_event, type);
+ mem_free(hopla);
+ if (!p) {
+ mem_free(name);
+ return;
+ }
+ if (*p) mem_free(*p);
+ *p = name;
+ fd->f_data->uncacheable=1;
+ return;
+ }
+ }
+ mem_free(hopla);
+ mem_free(name);
+}
+
+
+/* returns allocated string with actual value of password, text or textarea element
+ * on error returns NULL
+ * don't forget to free the string after use
+ */
+unsigned char *js_upcall_get_form_element_value(void *bidak, long document_id, long ksunt_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+ unsigned char *hele_ho_bidaka;
+ struct conv_table *ct;
+
+ if (!js_ctx)internal("js_upcall_get_form_element_value called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!fd->f_data||!jsint_can_access(js_ctx,fd))return NULL;
+
+ switch (ksunt_id&JS_OBJ_MASK)
+ {
+ case JS_OBJ_T_TEXT:
+ case JS_OBJ_T_PASSWORD:
+ case JS_OBJ_T_TEXTAREA:
+ break;
+
+ default:
+ return NULL; /* To neni Jim Beam! */
+ }
+
+ hopla=jsint_find_object(fd,ksunt_id);
+ if (!hopla)return NULL;
+
+ ct=get_translation_table(fd->f_data->opt.cp,fd->f_data->cp);
+ hele_ho_bidaka=convert_string(ct,hopla->fs->value,strlen(hopla->fs->value),NULL);
+
+ mem_free(hopla);
+ return hele_ho_bidaka;
+}
+
+
+/* sets actual value of password, text or textarea element
+ * name is allocated string that, this function frees it
+ * when name is NULL default value will be empty
+ */
+void js_upcall_set_form_element_value(void *bidak, long document_id, long ksunt_id, unsigned char *name)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+ struct conv_table *ct;
+
+ if (!js_ctx)internal("js_upcall_set_form_element_value called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!fd->f_data||!jsint_can_access(js_ctx,fd)){if (name)mem_free(name);return;}
+
+ fd=jsint_find_document(document_id);
+
+ switch (ksunt_id&JS_OBJ_MASK)
+ {
+ case JS_OBJ_T_TEXT:
+ case JS_OBJ_T_PASSWORD:
+ case JS_OBJ_T_TEXTAREA:
+ break;
+
+ default:
+ if (name)mem_free(name);
+ return; /* To neni Jim Beam! */
+ }
+
+ hopla=jsint_find_object(fd,ksunt_id);
+ if (!hopla){if (name)mem_free(name);return;}
+
+ mem_free(hopla->fs->value);
+ ct=get_translation_table(fd->f_data->cp,fd->f_data->opt.cp);
+ hopla->fs->value=convert_string(ct,name,strlen(name),NULL);
+
+ if ((size_t)hopla->fs->state > strlen(hopla->fs->value))
+ hopla->fs->state = strlen(hopla->fs->value);
+ if ((ksunt_id&JS_OBJ_MASK) != JS_OBJ_T_TEXTAREA) {
+ if ((size_t)hopla->fs->vpos > strlen(hopla->fs->value))
+ hopla->fs->vpos = strlen(hopla->fs->value);
+ }
+ mem_free(hopla);
+ if (name)mem_free(name);
+ redraw_document(fd);
+}
+
+
+/* emulates click on everything */
+void js_upcall_click(void *bidak, long document_id, long elem_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak;
+ struct f_data_c *fd;
+
+ if (!js_ctx)internal("js_upcall_click called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return;
+
+ switch (elem_id&JS_OBJ_MASK)
+ {
+ case JS_OBJ_T_CHECKBOX:
+ case JS_OBJ_T_RADIO:
+ case JS_OBJ_T_SUBMIT:
+ case JS_OBJ_T_RESET:
+ case JS_OBJ_T_BUTTON:
+ {
+ struct hopla_mladej *hopla;
+ int a;
+ struct link *l;
+
+ if (!fd->f_data)return;
+ hopla=jsint_find_object(fd,elem_id);
+ if (!hopla)return;
+
+ for (a=0;a<fd->f_data->nlinks;a++)
+ {
+ l=&(fd->f_data->links[a]);
+ if (l->form&&l->form==hopla->fc) /* to je on! */
+ {
+ int old_link=fd->vs->current_link;
+ int old_orig_link=fd->vs->orig_link;
+ fd->vs->current_link=a;
+ fd->vs->orig_link=a;
+ enter(fd->ses,fd,0);
+ draw_fd(fd);
+ fd->vs->current_link=old_link;
+ fd->vs->orig_link=old_orig_link;
+ change_screen_status(fd->ses);
+ print_screen_status(fd->ses);
+ break;
+ }
+ }
+ mem_free(hopla);
+ }
+ break;
+ }
+}
+
+#ifdef G
+static int find_go_link_num;
+static struct g_object *to_je_on_bidak;
+static void find_go(struct g_object *p, struct g_object *c)
+{
+ if (c->draw==(void (*)(struct f_data_c *, struct g_object *, int, int))g_text_draw)
+ if (((struct g_object_text*)c)->link_num==find_go_link_num){to_je_on_bidak=c;return;}
+ if (c->get_list)c->get_list(c,find_go);
+}
+#endif
+
+/* emulates focus on password, text and textarea */
+void js_upcall_focus(void *bidak, long document_id, long elem_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak;
+ struct f_data_c *fd;
+
+ if (!js_ctx)internal("js_upcall_focus called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return;
+
+ switch (elem_id&JS_OBJ_MASK)
+ {
+ case JS_OBJ_T_TEXT:
+ case JS_OBJ_T_PASSWORD:
+ case JS_OBJ_T_TEXTAREA:
+ {
+ struct hopla_mladej *hopla;
+ int a;
+ struct link *l;
+
+ if (!fd->f_data)return;
+ hopla=jsint_find_object(fd,elem_id);
+ if (!hopla)return;
+
+ for (a=0;a<fd->f_data->nlinks;a++)
+ {
+ l=&(fd->f_data->links[a]);
+ if (l->form&&l->form==hopla->fc) /* to je on! */
+ {
+ struct session *ses = fd->ses;
+ int x = 0;
+ while (fd != current_frame(ses)) next_frame(ses, 1), x = 1;
+ fd->vs->current_link=a;
+ fd->vs->orig_link=a;
+ if (fd->ses->term->spec->braille) {
+ if (fd->f_data->links[a].n) {
+ fd->vs->brl_x = fd->vs->orig_brl_x = fd->f_data->links[a].pos[0].x;
+ fd->vs->brl_y = fd->vs->orig_brl_y = fd->f_data->links[a].pos[0].y;
+ }
+ }
+#ifdef G
+ if (F)
+ {
+ fd->ses->locked_link=1;
+ to_je_on_bidak=NULL;
+ find_go_link_num=a;
+
+ /* tak tedka tu budu carovat g_object_text, kterej patri k tomuhle linku */
+ if (fd->f_data->root->get_list)fd->f_data->root->get_list(fd->f_data->root,find_go);
+ fd->f_data->locked_on=to_je_on_bidak;
+ }
+#endif
+ if (l->js_event&&l->js_event->focus_code)
+ jsint_execute_code(fd,l->js_event->focus_code,strlen(l->js_event->focus_code),-1,-1,-1, NULL);
+
+ /*draw_fd(fd);*/
+ draw_formatted(ses);
+ change_screen_status(fd->ses);
+ print_screen_status(fd->ses);
+ break;
+ }
+ }
+ mem_free(hopla);
+ }
+ break;
+ }
+}
+
+/* emulates focus on password, text and textarea */
+void js_upcall_blur(void *bidak, long document_id, long elem_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak;
+ struct f_data_c *fd;
+
+ if (!js_ctx)internal("js_upcall_blur called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return;
+
+ /* in text mode do nothing, because we don't know where to go with cursor */
+#ifdef G
+ if (F)
+ switch (elem_id&JS_OBJ_MASK)
+ {
+ case JS_OBJ_T_TEXT:
+ case JS_OBJ_T_PASSWORD:
+ case JS_OBJ_T_TEXTAREA:
+ {
+ struct hopla_mladej *hopla;
+ int a;
+ struct link *l;
+
+ if (!fd->f_data)return;
+ hopla=jsint_find_object(fd,elem_id);
+ if (!hopla)return;
+
+ for (a=0;a<fd->f_data->nlinks;a++)
+ {
+ l=&(fd->f_data->links[a]);
+ if (l->form&&l->form==hopla->fc) /* to je on! */
+ {
+ fd->ses->locked_link=0;
+ if (l->js_event&&l->js_event->blur_code)
+ jsint_execute_code(fd,l->js_event->blur_code,strlen(l->js_event->blur_code),-1,-1,-1, NULL);
+
+ /* pro jistotu */
+ draw_fd(fd);
+ change_screen_status(fd->ses);
+ print_screen_status(fd->ses);
+ break;
+ }
+ }
+ mem_free(hopla);
+ }
+ break;
+ }
+#endif
+}
+
+/* emulates submit of a form */
+void js_upcall_submit(void *bidak, long document_id, long form_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak;
+ struct f_data_c *fd;
+ struct form_control *form;
+ int has_onsubmit;
+ unsigned char *u;
+
+ if (!js_ctx)internal("js_upcall_submit called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return;
+
+ if (fd->ses->rq && fd->ses->defered_url) return;
+
+ if ((form_id&JS_OBJ_MASK)!=JS_OBJ_T_FORM)return;
+ form=jsint_find_object(fd,form_id);
+ if (!form)return;
+
+ u=get_form_url(fd->ses,fd,form,&has_onsubmit);
+ if (u) {
+ goto_url_f(fd->ses,NULL,u,NULL,fd,form->form_num, has_onsubmit,0,0);
+ mem_free(u);
+ }
+ draw_fd(fd);
+ change_screen_status(fd->ses);
+ print_screen_status(fd->ses);
+}
+
+
+/* emulates reset of a form */
+void js_upcall_reset(void *bidak, long document_id, long form_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)bidak;
+ struct f_data_c *fd;
+
+ if (!js_ctx)internal("js_upcall_reset called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return;
+ if ((form_id&JS_OBJ_MASK)!=JS_OBJ_T_FORM)return;
+ if (!fd->f_data)return;
+
+ reset_form(fd,form_id>>JS_OBJ_MASK_SIZE);
+ draw_fd(fd);
+ change_screen_status(fd->ses);
+ print_screen_status(fd->ses);
+}
+
+/* returns length (number of radio buttons) of a radio
+ * on error returns -1
+ */
+int js_upcall_get_radio_length(void *p, long document_id, long radio_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)p;
+ struct f_data_c *fd;
+ struct form_control *f;
+ struct hopla_mladej *hopla;
+ struct form_control *radio;
+ int count=0;
+
+ if (!js_ctx)internal("js_upcall_get_radio_length called with NULL context pointer\n");
+ if ((radio_id&JS_OBJ_MASK)!=JS_OBJ_T_RADIO) return -1;
+ fd=jsint_find_document(document_id);
+ if (!fd||!fd->f_data||!jsint_can_access(js_ctx,fd))return -1;
+
+ hopla=jsint_find_object(fd,radio_id);
+ if (!hopla)return -1;
+ radio=hopla->fc;
+
+ /* find form elements with the same type, form_num (belonging to the same form) and name */
+ foreachback(f,fd->f_data->forms)
+ if (f->type==radio->type&&f->form_num==radio->form_num&&!strcmp(radio->name,f->name))count++;
+ mem_free(hopla);
+ return count;
+}
+
+/* returns number of items in a select form element
+ * on error returns -1
+ */
+int js_upcall_get_select_length(void *p, long document_id, long select_id)
+{
+ int l;
+ struct f_data_c *js_ctx=(struct f_data_c*)p;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+
+ if (!js_ctx)internal("js_upcall_get_select_length called with NULL context pointer\n");
+ if ((select_id&JS_OBJ_MASK)!=JS_OBJ_T_SELECT) return -1;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return -1;
+
+ hopla=jsint_find_object(fd,select_id);
+ if (!hopla)return -1;
+
+ l = hopla->fc->nvalues;
+ mem_free(hopla);
+ return l;
+}
+
+
+/* returns allocated field of select items
+ * don't forget to free: text and value of each item and the field
+ * on error returns NULL
+ * n is number of items in the field
+ */
+struct js_select_item* js_upcall_get_select_options(void *p, long document_id, long select_id, int *n)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)p;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+ struct js_select_item* elektricke_pole;
+ int ukazme_si_na_nej;
+
+ *n=0;
+ if (!js_ctx)internal("js_upcall_get_select_length called with NULL context pointer\n");
+ if ((select_id&JS_OBJ_MASK)!=JS_OBJ_T_SELECT) return NULL;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ hopla=jsint_find_object(fd,select_id);
+ if (!hopla)return NULL;
+
+ *n=hopla->fc->nvalues;
+ if ((unsigned)*n > MAXINT / sizeof(struct js_select_item)) overalloc();
+ elektricke_pole=mem_alloc((*n)*sizeof(struct js_select_item));
+
+ for (ukazme_si_na_nej=0;ukazme_si_na_nej<(*n);ukazme_si_na_nej++)
+ {
+ elektricke_pole[ukazme_si_na_nej].text=stracpy((hopla->fc->labels)[ukazme_si_na_nej]);
+ elektricke_pole[ukazme_si_na_nej].value=stracpy((hopla->fc->values)[ukazme_si_na_nej]);
+ elektricke_pole[ukazme_si_na_nej].selected=(ukazme_si_na_nej==(hopla->fs->state));
+ elektricke_pole[ukazme_si_na_nej].default_selected=(ukazme_si_na_nej==(hopla->fc->default_state));
+ }
+ mem_free(hopla);
+ return elektricke_pole;
+}
+
+/* returns index of just selected item in a select form element
+ * on error returns -1
+ */
+int js_upcall_get_select_index(void *p, long document_id, long select_id)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)p;
+ struct f_data_c *fd;
+ struct hopla_mladej *hopla;
+ int l;
+
+ if (!js_ctx)internal("js_upcall_get_select_length called with NULL context pointer\n");
+ if ((select_id&JS_OBJ_MASK)!=JS_OBJ_T_SELECT) return -1;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return -1;
+
+ hopla=jsint_find_object(fd,select_id);
+ if (!hopla)return -1;
+
+ l = hopla->fs->state;
+ mem_free(hopla);
+ return l;
+}
+
+
+struct gimme_js_id_string
+{
+ long id;
+ long js_id;
+ unsigned char *string;
+ signed int n;
+};
+
+/* open a link in a new xterm */
+void send_vodevri_v_novym_vokne(struct terminal *term, void (*open_window)(struct terminal *term, unsigned char *, unsigned char *), struct session *ses)
+{
+ if (ses->dn_url) {
+ unsigned char *enc_url = encode_url(ses->dn_url);
+ open_window(term, path_to_exe, enc_url);
+ mem_free(enc_url);
+ }
+}
+
+/* aux function for js_upcall_goto_url */
+static void js_upcall_goto_url_ok_pressed(void *data)
+{
+ struct f_data_c *fd;
+ struct gimme_js_id_string *jsid=(struct gimme_js_id_string*)data;
+
+ fd=jsint_find_document(jsid->id);
+ if (!fd)return; /* context no longer exists */
+
+ /* it doesn't matter, that fd->js is NULL */
+ if (jsid->n&&can_open_in_new(fd->ses->term)) /* open in new window */
+ {
+ if (fd->ses->dn_url) mem_free(fd->ses->dn_url);
+ fd->ses->dn_url=stracpy(jsid->string);
+ open_in_new_window(fd->ses->term, send_vodevri_v_novym_vokne, fd->ses);
+ }
+ else
+ goto_url(fd->ses,jsid->string);
+
+ if (!(fd->js)||jsid->js_id!=fd->js->ctx->js_id)return;
+ js_downcall_vezmi_null(fd->js->ctx); /* call downcall */
+}
+
+
+/* aux function for js_upcall_goto_url */
+static void js_upcall_goto_url_cancel_pressed(void *data)
+{
+ struct f_data_c *fd;
+ struct gimme_js_id *jsid=(struct gimme_js_id*)data;
+
+ fd=jsint_find_document(jsid->id);
+ if (!fd)return; /* context no longer exists */
+
+ if (!(fd->js)||jsid->js_id!=fd->js->ctx->js_id)return;
+ js_downcall_vezmi_null(fd->js->ctx); /* call downcall */
+}
+
+
+/* gets struct fax_me_tender_int_string */
+/* asks user whether to go to the url or not */
+/* structure and the text are both deallocated */
+/* must be called from select loop */
+/* if num in fax_me_tender_int_string is not null, open in a new window */
+void js_upcall_goto_url(void * data)
+{
+ struct fax_me_tender_int_string *s=(struct fax_me_tender_int_string*)data;
+ struct f_data_c *fd;
+ struct terminal *term;
+ unsigned char *dest_url;
+ int in_new_win;
+
+ fd=(struct f_data_c*)(s->ident);
+ term=fd->ses->term;
+
+ if (!fd->js) return;
+
+ /* kill timer, that called me */
+ js_spec_vykill_timer(fd->js->ctx,0);
+
+ if (!s)internal("js_upcall_goto_url called with NULL pointer\n");
+
+ if (!s->string){js_mem_free(data);goto goto_url_failed;}
+ if (fd->loc&&fd->loc->url) dest_url=join_urls(fd->loc->url,s->string);
+ else dest_url=stracpy(s->string);
+ if (!(dest_url)){js_mem_free(s->string);js_mem_free(data);goto goto_url_failed;}
+ js_mem_free(s->string);
+ in_new_win=s->num;
+
+ if (js_manual_confirmation)
+ {
+ struct gimme_js_id_string* jsid;
+
+ /* goto the same url */
+ {
+ unsigned char txt[MAX_STR_LEN];
+ void *p;
+
+ p=get_current_url(fd->ses,txt,MAX_STR_LEN);
+ if (p&&fd->loc&&fd->loc->url&&!strcmp(txt,dest_url))
+ {
+ mem_free(dest_url);
+ js_mem_free(data);
+ goto goto_url_failed;
+ }
+ }
+
+ jsid=mem_alloc(sizeof(struct gimme_js_id_string));
+
+ /* context must be a valid pointer ! */
+ /* fill in jsid */
+ jsid->id=((fd->id)<<JS_OBJ_MASK_SIZE)|JS_OBJ_T_DOCUMENT;
+ jsid->js_id=fd->js->ctx->js_id;
+ jsid->string=dest_url;
+ jsid->n=s->num;
+
+ msg_box(
+ term, /* terminal */
+ getml(jsid->string,jsid,NULL), /* memory blocks to free */
+ TEXT_(T_GOTO_URL), /* title */
+ AL_CENTER|AL_EXTD_TEXT, /* alignment */
+ jsid->n?TEXT_(T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL):TEXT_(T_JS_IS_ATTEMPTING_TO_GO_TO_URL), " \"",jsid->string,"\".",NULL, /* message */
+ jsid, /* data for button functions */
+ 3, /* # of buttons */
+ TEXT_(T_ALLOW),js_upcall_goto_url_ok_pressed,B_ENTER,
+ TEXT_(T_REJECT),js_upcall_goto_url_cancel_pressed,B_ESC,
+ TEXT_(T_KILL_SCRIPT), js_kill_script_pressed,NULL /* dirty trick: gimme_js_id_string and gimme_js_id begins with the same long */
+ );
+ js_mem_free(s);
+ }
+ else
+ {
+ js_mem_free(s);
+ if (in_new_win&&can_open_in_new(fd->ses->term)) /* open in new window */
+ {
+ if (fd->ses->dn_url) mem_free(fd->ses->dn_url);
+ fd->ses->dn_url=stracpy(dest_url);
+ open_in_new_window(fd->ses->term, send_vodevri_v_novym_vokne, fd->ses);
+ }
+ else
+ goto_url(fd->ses,dest_url);
+ js_downcall_vezmi_null(fd->js->ctx); /* call downcall */
+ mem_free(dest_url);
+ }
+ return;
+
+goto_url_failed:
+ js_downcall_vezmi_null(fd->js->ctx); /* call downcall */
+ return;
+}
+
+
+/* returns number of items in history */
+int js_upcall_get_history_length(void *context)
+{
+ struct f_data_c *fd=(struct f_data_c*)context;
+ struct location *l;
+ int len=0;
+
+ if (!fd)internal("PerMe, PerMe, ja si te podam!\n");
+
+ foreach(l,fd->ses->history)len++;
+
+ return len;
+}
+
+
+/* aux function for js_upcall_goto_history */
+static void js_upcall_goto_history_ok_pressed(void *data)
+{
+ struct f_data_c *fd;
+ struct gimme_js_id_string *jsid=(struct gimme_js_id_string*)data;
+ struct location *loc;
+ int a;
+
+ fd=jsint_find_document(jsid->id);
+ if (!fd)return; /* context no longer exists */
+
+ a=0;
+ foreach(loc,fd->ses->history)a++;
+
+ if (a<jsid->n&&(fd->js)&&jsid->js_id==fd->js->ctx->js_id){js_downcall_vezmi_null(fd->js->ctx);return;} /* call downcall */
+
+ go_backwards(fd->ses->term,(void*)(my_intptr_t)(jsid->n),fd->ses);
+}
+
+
+/* gets struct fax_me_tender_int_string
+ * either num or string is set, but not both, the other must be NULL
+ * asks user whether to go to the url or not
+ * structure and the text are both deallocated
+ * must be called from select loop
+ * number can be:
+ * >0 go forward in history (not supported)
+ * 0 do nothing (means use string)
+ * <0 go backward in history (supported :) )
+ * if string is defined - find appropriate history item and go to the url, when
+ * the URL doesn't exist do nothing
+ *
+ * JAK TO FUNGUJE:
+ * string se prekonvertuje na cislo (projde se historie)
+ * po zmacknuti OK se spocita delka historie a pokud je dostatecna, n-krat
+ * zavola go_back. Pokud neni, tak se chovame jako pri cancelu.
+ */
+
+void js_upcall_goto_history(void * data)
+{
+ struct fax_me_tender_int_string *s=(struct fax_me_tender_int_string*)data;
+ struct f_data_c *fd;
+ struct terminal *term;
+ unsigned char *url=NULL;
+ unsigned char txt[16];
+ long history_num=0;
+
+ /* context must be a valid pointer ! */
+ fd=(struct f_data_c*)(s->ident);
+
+ if (!fd->js) return;
+
+ /* kill timer, that called me */
+ js_spec_vykill_timer(fd->js->ctx,0);
+
+ if (!s)internal("Hele, tyhle prasarny si zkousej na nekoho jinyho, jo?!\n");
+ if (!(s->num)&&!(s->string))internal("Tak tohle na mne nezkousej, bidaku!\n");
+ if ((s->num)&&(s->string))internal("Ta sedla!\n");
+
+ /* find the history item */
+ if (s->num) /* goto n-th item */
+ {
+ struct location *loc;
+ int a=0;
+
+ if ((s->num)>0){if (s->string)js_mem_free(s->string);js_mem_free(data);goto goto_history_failed;} /* forward not supported */
+ s->num=-s->num;
+ history_num=s->num;
+
+ foreach(loc,fd->ses->history)
+ {
+ if (a==s->num){url=stracpy(loc->url);break;}
+ a++;
+ }
+ }
+ else /* goto given url */
+ {
+ struct location *loc;
+ int a=0;
+
+ foreach(loc,fd->ses->history)
+ {
+ if (!strcmp(s->string,loc->url)){url=stracpy(s->string);history_num=a;break;}
+ a++;
+ }
+ }
+
+ if (s->string)js_mem_free(s->string);
+ if (!url){js_mem_free(data);goto goto_history_failed;}
+
+ term=fd->ses->term;
+
+ if (js_manual_confirmation)
+ {
+ struct gimme_js_id_string* jsid;
+
+ jsid=mem_alloc(sizeof(struct gimme_js_id_string));
+
+ /* fill in jsid */
+ jsid->id=((fd->id)<<JS_OBJ_MASK_SIZE)|JS_OBJ_T_DOCUMENT;
+ jsid->js_id=fd->js->ctx->js_id;
+ jsid->string=url;
+ jsid->n=history_num;
+
+ snprintf(txt,16," (-%d) ",jsid->n);
+ msg_box(
+ term, /* terminal */
+ getml(url,jsid,NULL), /* memory blocks to free */
+ TEXT_(T_GOTO_HISTORY), /* title */
+ AL_CENTER|AL_EXTD_TEXT, /* alignment */
+ TEXT_(T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY), txt, TEXT_(T_TO_URL), " \"",url,"\".",NULL, /* message */
+ jsid, /* data for button functions */
+ 3, /* # of buttons */
+ TEXT_(T_ALLOW),js_upcall_goto_history_ok_pressed,B_ENTER,
+ TEXT_(T_REJECT),js_upcall_goto_url_cancel_pressed,B_ESC,
+ TEXT_(T_KILL_SCRIPT), js_kill_script_pressed,NULL /* dirty trick: gimme_js_id_string and gimme_js_id begins with the same long */
+ );
+ js_mem_free(s);
+ }
+ else
+ {
+ js_mem_free(s);
+ mem_free(url);
+ go_backwards(term,(void*)(history_num),fd->ses);
+ }
+ return;
+goto_history_failed:
+ js_downcall_vezmi_null(fd->js->ctx);
+ return;
+}
+
+
+/* set default status-line text
+ * tak_se_ukaz_Kolbene is allocated string or NULL
+ */
+void js_upcall_set_default_status(void *context, unsigned char *tak_se_ukaz_Kolbene)
+{
+ struct f_data_c *fd=(struct f_data_c*)context;
+ unsigned char *trouba;
+
+ if (!fd)internal("Tak tohle teda ne, bobanku!\n");
+
+ if (!(*tak_se_ukaz_Kolbene)){mem_free(tak_se_ukaz_Kolbene);tak_se_ukaz_Kolbene=NULL;} /* Ale to hlavni jsme se nedozvedeli - s tim chrapanim jste mi neporadil... */
+
+ if (fd->ses->default_status)mem_free(fd->ses->default_status);
+ skip_nonprintable(tak_se_ukaz_Kolbene);
+ if (fd->f_data&&tak_se_ukaz_Kolbene)
+ {
+ struct conv_table* ct; /* ... a ted ty pochybne reci o majetku ... */
+
+ ct=get_translation_table(fd->f_data->cp,fd->f_data->opt.cp);
+ trouba=convert_string(ct,tak_se_ukaz_Kolbene,strlen(tak_se_ukaz_Kolbene),NULL); /* Taky to mate levnejsi - jinak by to stalo deset! */
+ mem_free(tak_se_ukaz_Kolbene);
+ /* a je to v troube... */
+ }
+ else
+ {
+ trouba=tak_se_ukaz_Kolbene;
+ }
+
+ fd->ses->default_status=trouba;
+ change_screen_status(fd->ses);
+ print_screen_status(fd->ses);
+}
+
+
+/* returns allocated string with default status-line value or NULL when default value is empty
+ */
+unsigned char* js_upcall_get_default_status(void *context)
+{
+ struct f_data_c *fd=(struct f_data_c *)context;
+ unsigned char *tak_se_ukaz_Danku=NULL;
+ unsigned char *trouba;
+
+ if (!fd)internal("Ale hovno!\n");
+
+ if (fd->ses->default_status&&(*fd->ses->default_status))tak_se_ukaz_Danku=stracpy(fd->ses->default_status);
+ skip_nonprintable(tak_se_ukaz_Danku);
+ if (fd->f_data&&tak_se_ukaz_Danku)
+ {
+ struct conv_table* ct;
+
+ ct=get_translation_table(fd->f_data->opt.cp,fd->f_data->cp);
+ trouba=convert_string(ct,tak_se_ukaz_Danku,strlen(tak_se_ukaz_Danku),NULL);
+ mem_free(tak_se_ukaz_Danku);
+ }
+ else
+ {
+ trouba=tak_se_ukaz_Danku;
+ }
+
+ /* Tak to mame Kolben a Danek po peti korunach... */
+
+ return trouba; /* No jo, je to v troube! */
+}
+
+
+/* set status-line text
+ * tak_se_ukaz_Kolbene is allocated string or NULL
+ */
+void js_upcall_set_status(void *context, unsigned char *tak_se_ukaz_Kolbene)
+{
+ struct f_data_c *fd=(struct f_data_c*)context;
+ unsigned char *trouba;
+
+ if (!fd)internal("To leda tak -PRd!\n");
+
+ if (!(*tak_se_ukaz_Kolbene)){mem_free(tak_se_ukaz_Kolbene);tak_se_ukaz_Kolbene=NULL;}
+
+ if (fd->ses->st)mem_free(fd->ses->st);
+ skip_nonprintable(tak_se_ukaz_Kolbene);
+ if (fd->f_data&&tak_se_ukaz_Kolbene)
+ {
+ struct conv_table* ct;
+
+ ct=get_translation_table(fd->f_data->cp,fd->f_data->opt.cp);
+ trouba=convert_string(ct,tak_se_ukaz_Kolbene,strlen(tak_se_ukaz_Kolbene),NULL);
+ mem_free(tak_se_ukaz_Kolbene);
+ /* a je to v troube... */
+ }
+ else
+ {
+ trouba=tak_se_ukaz_Kolbene;
+ }
+
+ fd->ses->st=trouba;
+ print_screen_status(fd->ses);
+}
+
+
+/* returns allocated string with default status-line value or NULL when default value is empty
+ */
+unsigned char* js_upcall_get_status(void *context)
+{
+ struct f_data_c *fd=(struct f_data_c *)context;
+ unsigned char *tak_se_ukaz_Danku=NULL;
+ unsigned char *trouba;
+
+ if (!fd)internal("To leda tak hovno!\n");
+
+ if (fd->ses->st&&(*fd->ses->st))tak_se_ukaz_Danku=stracpy(fd->ses->st);
+ skip_nonprintable(tak_se_ukaz_Danku);
+ if (fd->f_data&&tak_se_ukaz_Danku)
+ {
+ struct conv_table* ct;
+
+ ct=get_translation_table(fd->f_data->opt.cp,fd->f_data->cp);
+ trouba=convert_string(ct,tak_se_ukaz_Danku,strlen(tak_se_ukaz_Danku),NULL);
+ mem_free(tak_se_ukaz_Danku);
+ }
+ else
+ {
+ trouba=tak_se_ukaz_Danku;
+ }
+
+ /* Kolben a Danek, to mame po peti korunach... */
+
+ return trouba;
+}
+
+/* returns allocated string with cookies, or NULL on error */
+unsigned char * js_upcall_get_cookies(void *context)
+{
+ struct f_data_c *fd=(struct f_data_c *)context;
+ unsigned char *s=init_str();
+ int l=0;
+ int nc=0;
+ struct cookie *c, *d;
+ unsigned char *server, *data;
+ struct c_domain *cd;
+
+ if (!fd)internal("Tak tomu rikam selhani komunikace...\n");
+
+ /* zavolame set_cookies, ten zparsuje fd->js->ctx->cookies a necha tam nezparsovatelnej zbytek */
+
+ if (!fd->js||!fd->js->ctx) {mem_free(s);return NULL;}
+ if (!fd->rq) goto ty_uz_se_nevratis;
+
+ jsint_set_cookies(fd,0);
+
+ server = get_host_name(fd->rq->url);
+ data = get_url_data(fd->rq->url);
+
+ if (data > fd->rq->url) data--;
+ foreach (cd, c_domains) if (is_in_domain(cd->domain, server)) goto ok;
+ mem_free(server);
+ty_uz_se_nevratis:
+ if (fd->js->ctx->cookies)add_to_str(&s,&l,fd->js->ctx->cookies);
+ else {mem_free(s);s=NULL;}
+ return s;
+ ok:
+ foreach (c, cookies) if (is_in_domain(c->domain, server)) if (is_path_prefix(c->path, data)) {
+ if (cookie_expired(c)) {
+ d = c;
+ c = c->prev;
+ del_from_list(d);
+ free_cookie(d);
+ mem_free(d);
+ continue;
+ }
+ if (c->secure) continue;
+ if (!nc) nc = 1;
+ else add_to_str(&s, &l, "; ");
+ add_to_str(&s, &l, c->name);
+ if (c->value) {
+ add_to_str(&s, &l, "=");
+ add_to_str(&s, &l, c->value);
+ }
+ }
+
+ if (!nc) {mem_free(s);s=NULL;}
+ mem_free(server);
+
+ /* za strinzik sestaveny z vnitrni reprezentace susenek jeste prilepime nezparsovatelnej zbytek */
+ if (fd->js->ctx->cookies)
+ {
+ if (!s)s=stracpy(fd->js->ctx->cookies);
+ else {add_to_str(&s,&l,"; ");add_to_str(&s,&l,fd->js->ctx->cookies);}
+ }
+ /*debug("get_cookies: \"%s\"", s);*/
+ return s;
+}
+
+/* FIXME: document.all nechodi, musi se prepsat, aby vracel dvojice frame:idcko */
+
+
+/* adds all in given f_data_c, the f_data_c must be accessible by the javascript */
+void add_all_recursive_in_fd(long **field, int *len, struct f_data_c *fd, struct f_data_c *js_ctx)
+{
+ struct f_data_c *ff;
+ struct form_control *fc;
+
+#ifdef G
+ struct xlist_head *fi;
+#endif
+
+ /* add all accessible frames */
+ foreach(ff,fd->subframes)
+ if (jsint_can_access(js_ctx,ff))
+ if (!((*field)=add_fd_id(*field,len,js_upcall_get_frame_id(fd),js_upcall_get_frame_id(ff),ff->f_data?ff->f_data->opt.framename:NULL)))return;
+
+ if (!(fd->f_data))goto tady_uz_nic_peknyho_nebude;
+
+#ifdef G
+ /* add all images */
+ if (F)
+ foreach(fi,fd->f_data->images)
+ {
+ struct g_object_image *gi;
+ struct g_object_image goi;
+
+ gi = (struct g_object_image *)((char *)fi + ((char *)(&goi) - (char *)(&(goi.image_list))));
+ if (!((*field)=add_fd_id(*field,len,js_upcall_get_frame_id(fd),JS_OBJ_T_IMAGE+((gi->id)<<JS_OBJ_MASK_SIZE),gi->name)))return;
+ }
+#endif
+ /* add all forms */
+ foreachback(fc,fd->f_data->forms)
+ if (!((*field)=add_fd_id(*field,len,js_upcall_get_frame_id(fd),((fc->form_num)<<JS_OBJ_MASK_SIZE)+JS_OBJ_T_FORM,fc->form_name)))return;
+
+ /* add all form elements */
+ foreachback(fc,fd->f_data->forms)
+ {
+ long tak_mu_to_ukaz=0;
+ tak_mu_to_ukaz=(fc->g_ctrl_num)<<JS_OBJ_MASK_SIZE;
+ switch (fc->type)
+ {
+ case FC_TEXT: tak_mu_to_ukaz|=JS_OBJ_T_TEXT; break;
+ case FC_PASSWORD: tak_mu_to_ukaz|=JS_OBJ_T_PASSWORD; break;
+ case FC_TEXTAREA: tak_mu_to_ukaz|=JS_OBJ_T_TEXTAREA; break;
+ case FC_CHECKBOX: tak_mu_to_ukaz|=JS_OBJ_T_CHECKBOX; break;
+ case FC_RADIO: tak_mu_to_ukaz|=JS_OBJ_T_RADIO; break;
+ case FC_IMAGE:
+ case FC_SELECT: tak_mu_to_ukaz|=JS_OBJ_T_SELECT; break;
+ case FC_SUBMIT: tak_mu_to_ukaz|=JS_OBJ_T_SUBMIT ; break;
+ case FC_RESET: tak_mu_to_ukaz|=JS_OBJ_T_RESET ; break;
+ case FC_HIDDEN: tak_mu_to_ukaz|=JS_OBJ_T_HIDDEN ; break;
+ case FC_BUTTON: tak_mu_to_ukaz|=JS_OBJ_T_BUTTON ; break;
+ default:/* internal("Invalid form element type.\n"); */
+ tak_mu_to_ukaz=0;break;
+ }
+ if (tak_mu_to_ukaz&&!((*field)=add_fd_id(*field,len,js_upcall_get_frame_id(fd),tak_mu_to_ukaz,fc->name)))return;
+ }
+
+tady_uz_nic_peknyho_nebude:
+
+ foreach(ff,fd->subframes)
+ if (jsint_can_access(js_ctx,ff)) add_all_recursive_in_fd(field,len,ff,js_ctx);
+}
+
+/* returns allocated field of all objects in the document (document.all)
+ * size of the field will be stored in len
+ * the field has 3x more items than the number of objects
+ * field[x+0]==id of frame
+ * field[x+1]==id of the object
+ * field[x+2]==allocated unsigned char* with name of the object or NULL (when there's no name)
+ *
+ * when an error occurs, returns NULL
+ */
+long * js_upcall_get_all(void *chuligane, long document_id, int *len)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ long *pole_neorane; /* Premysle Zavoraci, kde se flakas? Zase forbesis, co? */
+ struct f_data_c *fd;
+
+ if (!js_ctx)internal("js_upcall_get_all called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ *len=0;
+
+ pole_neorane=mem_alloc(sizeof(long));
+
+ add_all_recursive_in_fd(&pole_neorane,len,fd,js_ctx);
+
+ /* nothing was found */
+ if (!pole_neorane)return NULL;
+ if (!(*len))mem_free(pole_neorane),pole_neorane=NULL;
+
+ return pole_neorane;
+}
+
+
+/* returns allocated field of all images
+ * size of the field will be stored in len
+ * when an error occurs, returns NULL
+ */
+
+long *js_upcall_get_images(void *chuligane, long document_id, int *len)
+{
+#ifdef G
+ struct f_data_c *fd;
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ long *pole_Premysla_Zavorace;
+ struct xlist_head *fi;
+ int a;
+
+ if (F)
+ {
+ if (!js_ctx)internal("js_upcall_get_images called with NULL context pointer\n");
+ fd=jsint_find_document(document_id);
+ if (!fd||!fd->f_data||!jsint_can_access(js_ctx,fd))return NULL;
+
+ *len=0;
+
+ foreach(fi,fd->f_data->images)(*len)++;
+
+ if (!(*len))return NULL;
+
+ if ((unsigned)*len > MAXINT / sizeof(long)) overalloc();
+ pole_Premysla_Zavorace=mem_alloc((*len)*sizeof(long));
+
+ a=0;
+ foreachback(fi,fd->f_data->images)
+ {
+ unsigned id;
+ struct g_object_image gi;
+
+ id=((struct g_object_image *)((char *)fi + ((char *)&gi - (char *)&(gi.image_list))))->id;
+
+ pole_Premysla_Zavorace[a]=JS_OBJ_T_IMAGE+(id<<JS_OBJ_MASK_SIZE);
+ a++;
+ }
+ return pole_Premysla_Zavorace;
+ }else
+#endif
+ {
+ document_id=document_id;
+ *len=0;
+ return NULL;
+ }
+}
+
+/* returns width of given image or -1 on error */
+int js_upcall_get_image_width(void *chuligane, long document_id, long image_id)
+{
+#ifdef G
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ struct f_data_c *fd;
+ struct g_object_image *gi;
+
+ if (F)
+ {
+ if (!js_ctx)internal("js_upcall_get_image_width called with NULL context pointer\n");
+ if ((image_id&JS_OBJ_MASK)!=JS_OBJ_T_IMAGE)return -1;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return -1;
+
+ gi=jsint_find_object(fd,image_id);
+
+ if (!gi)return -1;
+
+ return gi->xw;
+ }else
+#endif
+ {
+ document_id=document_id;
+ image_id=image_id;
+ return -1;
+ }
+}
+
+
+/* returns height of given image or -1 on error */
+int js_upcall_get_image_height(void *chuligane, long document_id, long image_id)
+{
+#ifdef G
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ struct f_data_c *fd;
+ struct g_object_image *gi;
+
+ if (F)
+ {
+ if (!js_ctx)internal("js_upcall_get_image_height called with NULL context pointer\n");
+ if ((image_id&JS_OBJ_MASK)!=JS_OBJ_T_IMAGE)return -1;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return -1;
+
+ gi=jsint_find_object(fd,image_id);
+
+ if (!gi)return -1;
+
+ return gi->yw;
+ }else
+#endif
+ {
+ document_id=document_id;
+ image_id=image_id;
+ return -1;
+ }
+}
+
+
+/* returns border of given image or -1 on error */
+int js_upcall_get_image_border(void *chuligane, long document_id, long image_id)
+{
+#ifdef G
+ struct f_data_c *fd;
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ struct g_object_image *gi;
+
+ if (F)
+ {
+ if (!js_ctx)internal("js_upcall_get_image_border called with NULL context pointer\n");
+ if ((image_id&JS_OBJ_MASK)!=JS_OBJ_T_IMAGE)return -1;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return -1;
+
+ gi=jsint_find_object(fd,image_id);
+
+ if (!gi)return -1;
+
+ return gi->border;
+ }else
+#endif
+ {
+ document_id=document_id;
+ image_id=image_id;
+ return -1;
+ }
+}
+
+
+/* returns vspace of given image or -1 on error */
+int js_upcall_get_image_vspace(void *chuligane, long document_id, long image_id)
+{
+#ifdef G
+ struct f_data_c *fd;
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ struct g_object_image *gi;
+
+ if (F)
+ {
+ if (!js_ctx)internal("js_upcall_get_image_vspace called with NULL context pointer\n");
+ if ((image_id&JS_OBJ_MASK)!=JS_OBJ_T_IMAGE)return -1;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return -1;
+
+ gi=jsint_find_object(fd,image_id);
+
+ if (!gi)return -1;
+
+ return gi->vspace;
+ }else
+#endif
+ {
+ document_id=document_id;
+ image_id=image_id;
+ return -1;
+ }
+}
+
+
+/* returns hspace of given image or -1 on error */
+int js_upcall_get_image_hspace(void *chuligane, long document_id, long image_id)
+{
+#ifdef G
+ struct f_data_c *fd;
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ struct g_object_image *gi;
+
+ if (F)
+ {
+ if (!js_ctx)internal("js_upcall_get_image_hspace called with NULL context pointer\n");
+ if ((image_id&JS_OBJ_MASK)!=JS_OBJ_T_IMAGE)return -1;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return -1;
+
+ gi=jsint_find_object(fd,image_id);
+
+ if (!gi)return -1;
+
+ return gi->hspace;
+ }else
+#endif
+ {
+ document_id=document_id;
+ image_id=image_id;
+ return -1;
+ }
+}
+
+
+/* returns allocated string with name of given image or NULL on error */
+unsigned char * js_upcall_get_image_name(void *chuligane, long document_id, long image_id)
+{
+#ifdef G
+ struct f_data_c *fd;
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ struct g_object_image *gi;
+
+ if (F)
+ {
+ if (!js_ctx)internal("js_upcall_get_image_name called with NULL context pointer\n");
+ if ((image_id&JS_OBJ_MASK)!=JS_OBJ_T_IMAGE)return NULL;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ gi=jsint_find_object(fd,image_id);
+
+ if (!gi)return NULL;
+
+ return stracpy(gi->name);
+ }else
+#endif
+ {
+ document_id=document_id;
+ image_id=image_id;
+ return NULL;
+ }
+}
+
+
+/* returns allocated string with name of given image or NULL on error */
+unsigned char * js_upcall_get_image_alt(void *chuligane, long document_id, long image_id)
+{
+#ifdef G
+ struct f_data_c *fd;
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ struct g_object_image *gi;
+
+ if (F)
+ {
+ if (!js_ctx)internal("js_upcall_get_image_alt called with NULL context pointer\n");
+ if ((image_id&JS_OBJ_MASK)!=JS_OBJ_T_IMAGE)return NULL;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ gi=jsint_find_object(fd,image_id);
+
+ if (!gi)return NULL;
+
+ return stracpy(gi->alt);
+ }else
+#endif
+ {
+ chuligane=chuligane;
+ document_id=document_id;
+ image_id=image_id;
+ return NULL;
+ }
+}
+
+
+/* sets image name to given value */
+/* name is deallocated after use with mem_free */
+void js_upcall_set_image_name(void *chuligane, long document_id, long image_id, unsigned char *name)
+{
+#ifdef G
+ struct f_data_c *fd;
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ struct g_object_image *gi;
+
+ if (F)
+ {
+ if (!js_ctx)internal("js_upcall_set_image_name called with NULL context pointer\n");
+ if ((image_id&JS_OBJ_MASK)!=JS_OBJ_T_IMAGE)return;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return;
+
+ gi=jsint_find_object(fd,image_id);
+
+ if (!gi)return;
+
+ if (gi->name)mem_free(gi->name);
+ gi->name=stracpy(name); /* radeji takhle, protoze to je bezpecnejsi: az PerM zase do neceho slapne, tak se to pozna hned tady a ne buhvikde */
+ if (name)mem_free(name);
+ return;
+ }else
+#endif
+ {
+ chuligane=chuligane;
+ document_id=document_id;
+ image_id=image_id;
+ if (name)mem_free(name);
+ return;
+ }
+}
+
+
+/* sets image alt to given value */
+/* alt is deallocated after use with mem_free */
+void js_upcall_set_image_alt(void *chuligane, long document_id, long image_id, unsigned char *alt)
+{
+#ifdef G
+ struct f_data_c *fd;
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ struct g_object_image *gi;
+
+ if (F)
+ {
+ if (!js_ctx)internal("js_upcall_set_image_alt called with NULL context pointer\n");
+ if ((image_id&JS_OBJ_MASK)!=JS_OBJ_T_IMAGE)return;
+ fd=jsint_find_document(document_id);
+ if (!fd||!fd->f_data||!jsint_can_access(js_ctx,fd))return;
+
+ gi=jsint_find_object(fd,image_id);
+
+ if (!gi)return;
+
+ if (gi->alt)mem_free(gi->alt);
+ gi->alt=stracpy(alt); /* radeji takhle, protoze to je bezpecnejsi: az PerM zase do neceho slapne, tak se to pozna hned tady a ne buhvikde */
+ if (fd->f_data&&gi->link_num>=0&&gi->link_num<fd->f_data->nlinks)
+ {
+ struct link *l=&fd->f_data->links[gi->link_num];
+
+ if (l->img_alt)mem_free(l->img_alt);
+ l->img_alt=stracpy(alt);
+ }
+ if (alt)mem_free(alt);
+ change_screen_status(fd->ses);
+ print_screen_status(fd->ses);
+ return;
+ }else
+#endif
+ {
+ chuligane=chuligane;
+ document_id=document_id;
+ image_id=image_id;
+ if (alt)mem_free(alt);
+ return;
+ }
+}
+
+
+/* returns allocated string with source URL of given image or NULL on error */
+unsigned char * js_upcall_get_image_src(void *chuligane, long document_id, long image_id)
+{
+#ifdef G
+ struct f_data_c *fd;
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ struct g_object_image *gi;
+
+ if (F)
+ {
+ if (!js_ctx)internal("js_upcall_get_image_src called with NULL context pointer\n");
+ if ((image_id&JS_OBJ_MASK)!=JS_OBJ_T_IMAGE)return NULL;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ gi=jsint_find_object(fd,image_id);
+
+ if (!gi)return NULL;
+
+ return stracpy(gi->orig_src);
+ }else
+#endif
+ {
+ document_id=document_id;
+ image_id=image_id;
+ return NULL;
+ }
+}
+
+
+/* changes image URL
+ * gets struct fax_me_tender_string_2_longy
+ * num1 = document_id, num2 = image_id, string = url
+ *
+ * frees the string and the fax_me_tender struct with js_mem_free function
+ */
+void js_upcall_set_image_src(void *chuligane)
+{
+ unsigned char *zvrat;
+ struct fax_me_tender_string_2_longy *fax=(struct fax_me_tender_string_2_longy*)chuligane;
+ struct f_data_c *js_ctx;
+#ifdef G
+ struct f_data_c *fd;
+ struct g_object_image *gi;
+ long image_id,document_id;
+ unsigned char *vecirek;
+ if (F)
+ {
+ js_ctx=(struct f_data_c*)fax->ident;
+ js_spec_vykill_timer(js_ctx->js->ctx,0);
+ if (!chuligane)internal("js_upcall_set_image_src called with NULL argument\n");
+ if (!js_ctx)internal("js_upcall_set_image_src called with NULL context pointer\n");
+ image_id=fax->obj_id;
+ document_id=fax->doc_id;
+ if ((image_id&JS_OBJ_MASK)!=JS_OBJ_T_IMAGE)goto abych_tu_nepovecerel;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))goto abych_tu_nepovecerel;
+
+ gi=jsint_find_object(fd,image_id);
+
+ if (!gi||!fd->f_data)goto abych_tu_nepovecerel;
+
+ /* string joinnem s url */
+ if (fd->f_data&&fd->f_data->script_href_base) vecirek=join_urls(fd->f_data->script_href_base,fax->string);
+ else if (fd->loc&&fd->loc->url) vecirek=join_urls(fd->loc->url,fax->string);
+ else vecirek=stracpy(fax->string);
+ /* a mame to kompatidebilni s verzi pred jointem */
+
+ change_image(gi,vecirek,fax->string,fd->f_data);
+ if (vecirek) mem_free(vecirek);
+ fd->f_data->uncacheable = 1;
+ abych_tu_nepovecerel:;
+ }else
+#endif
+ {
+ js_ctx=(struct f_data_c*)fax->ident;
+ if (!js_ctx)internal("js_upcall_set_image_src called with NULL context pointer\n");
+ js_spec_vykill_timer(js_ctx->js->ctx,0);
+ if (!chuligane)internal("js_upcall_set_image_src called with NULL argument\n");
+ }
+ zvrat=stracpy(fax->string);
+ js_mem_free(fax->string);
+ js_mem_free(fax);
+ js_downcall_vezmi_string(js_ctx->js->ctx,zvrat);
+}
+
+
+/* returns 1 if image has completed loading, 0 when not, -1 on error */
+int js_upcall_image_complete(void *chuligane, long document_id, long image_id)
+{
+#ifdef G
+ struct f_data_c *fd;
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ struct g_object_image *gi;
+
+ if (F)
+ {
+ if (!js_ctx)internal("js_upcall_image_complete called with NULL context pointer\n");
+ if ((image_id&JS_OBJ_MASK)!=JS_OBJ_T_IMAGE)return -1;
+ fd=jsint_find_document(document_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return -1;
+
+ gi=jsint_find_object(fd,image_id);
+
+ if (!gi)return -1;
+
+ if (!gi->af||!gi->af->rq||!gi->af->rq->state)return -1;
+ return gi->af->rq->state==O_OK;
+ }else
+#endif
+ {
+ document_id=document_id;
+ image_id=image_id;
+ return -1;
+ }
+}
+
+
+/* returns parent of given frame (or document), or -1 on error or no permissions */
+/* if frame_id is already top frame returns the same frame */
+long js_upcall_get_parent(void *chuligane, long frame_id)
+{
+ struct f_data_c *fd, *ff;
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+
+ if (!js_ctx)internal("js_upcall_get_parent called with NULL context pointer\n");
+ if ((frame_id&JS_OBJ_MASK)!=JS_OBJ_T_FRAME&&(frame_id&JS_OBJ_MASK)!=JS_OBJ_T_DOCUMENT)return -1;
+ fd=jsint_find_document(frame_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return -1;
+
+ for (ff=fd->parent;ff&&!ff->rq;ff=ff->parent);
+
+ if (!ff)ff=fd->ses->screen;
+ return jsint_can_access(fd,ff)?js_upcall_get_frame_id(ff):-1;
+}
+
+
+/* returns top of given frame (or document), or -1 on error */
+/* returns highest grandparent accessible from given frame */
+long js_upcall_get_frame_top(void *chuligane, long frame_id)
+{
+ struct f_data_c *fd, *ff;
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+
+ if (!js_ctx)internal("js_upcall_get_frame_top called with NULL context pointer\n");
+ if ((frame_id&JS_OBJ_MASK)!=JS_OBJ_T_FRAME&&(frame_id&JS_OBJ_MASK)!=JS_OBJ_T_DOCUMENT)return -1;
+ fd=jsint_find_document(frame_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return -1;
+ for (ff=fd->parent;ff;ff=ff->parent)
+ {
+ if (ff->rq)
+ {
+ if (!jsint_can_access(fd,ff))break;
+ fd=ff;
+ }
+ }
+ return js_upcall_get_frame_id(fd);
+}
+
+
+/* returns allocated field of subframes or NULL on error */
+/* count cointains length of the field */
+/* don't forget to free the field after use */
+long * js_upcall_get_subframes(void *chuligane, long frame_id, int *count)
+{
+ struct f_data_c *js_ctx=(struct f_data_c*)chuligane;
+ struct f_data_c *fd;
+ struct f_data_c *f;
+ int a;
+ long *pole;
+ *count=0;
+
+ if (!js_ctx)internal("js_upcall_get_subframes called with NULL context pointer\n");
+ if ((frame_id&JS_OBJ_MASK)!=JS_OBJ_T_FRAME&&(frame_id&JS_OBJ_MASK)!=JS_OBJ_T_DOCUMENT)return NULL;
+ fd=jsint_find_document(frame_id);
+ if (!fd||!jsint_can_access(js_ctx,fd))return NULL;
+
+ foreach(f,fd->subframes)
+ if (jsint_can_access(fd,f))(*count)++;
+
+ if (!*count)return NULL;
+ if ((unsigned)*count > MAXINT / sizeof(long)) overalloc();
+ pole=mem_alloc((*count)*sizeof(long));
+
+ a=0;
+ foreach(f,fd->subframes)
+ if (jsint_can_access(fd,f))
+ {pole[a]=js_upcall_get_frame_id(f);a++;}
+ return pole;
+}
+
+
+/*--------------------- DOWNCALLS ---------------------------*/
+
+void js_downcall_game_over(void *context)
+{
+ struct f_data_c *fd=(struct f_data_c*)(((js_context*)(context))->ptr);
+
+ /* js_error(_(TEXT_(T_SCRIPT_KILLED_BY_USER),fd->ses->term),context);
+ * Tato hlaska me srala. Na to bych neprisel, ze jsem prave zabil
+ * rucne javascript. */
+ if (fd->ses->default_status)mem_free(fd->ses->default_status),fd->ses->default_status=NULL; /* pekne uklidime bordylek, ktery nam BFU nacintalo do status lajny */
+ jsint_destroy(fd);
+#if 0
+ js_durchfall=0;
+ if(((js_context*)context)->running)
+ js_volej_kolbena(context);
+ /* Kolben - ale nespi mi - co s tim budeme delat? */
+ ((js_context*)context)->running=0;
+#endif
+
+}
+
+
+
+void js_downcall_vezmi_int(void *context, int i)
+{
+}
+
+
+void js_downcall_vezmi_float(void *context, float f)
+{
+}
+
+#else
+
+void jsint_execute_code(struct f_data_c *fd, unsigned char *code, int len, int write_pos, int onclick_submit, int onsubmit, struct event *ev)
+{
+}
+
+void jsint_destroy(struct f_data_c *fd)
+{
+}
+
+void jsint_scan_script_tags(struct f_data_c *fd)
+{
+}
+
+void jsint_destroy_document_description(struct f_data *f)
+{
+}
+
+int jsint_get_source(struct f_data_c *fd, unsigned char **start, unsigned char **end)
+{
+ return 0;
+}
+
+#endif
diff --git a/kbd.c b/kbd.c
new file mode 100644
index 0000000..6c08cbb
--- /dev/null
+++ b/kbd.c
@@ -0,0 +1,1184 @@
+/* kbd.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+#define OUT_BUF_SIZE 16384
+#define IN_BUF_SIZE 16
+
+#define USE_TWIN_MOUSE 1
+#define TW_BUTT_LEFT 1
+#define TW_BUTT_MIDDLE 2
+#define TW_BUTT_RIGHT 4
+
+struct itrm {
+ int std_in;
+ int std_out;
+ int sock_in;
+ int sock_out;
+ int ctl_in;
+ int blocked;
+ struct termios t;
+ int flags;
+ unsigned char kqueue[IN_BUF_SIZE];
+ int qlen;
+ int tm;
+ void (*queue_event)(struct itrm *, unsigned char *, int);
+ unsigned char *ev_queue;
+ int eqlen;
+ void *mouse_h;
+ unsigned char *orig_title;
+ void (*free_trm)(struct itrm *);
+};
+
+static void free_trm(struct itrm *);
+static void in_kbd(struct itrm *);
+static void in_sock(struct itrm *);
+
+static struct itrm *ditrm = NULL;
+
+
+int is_blocked(void)
+{
+ return ditrm && ditrm->blocked;
+}
+
+void free_all_itrms(void)
+{
+ if (ditrm) ditrm->free_trm(ditrm);
+}
+
+static void itrm_error(struct itrm *itrm)
+{
+ itrm->free_trm(itrm);
+ terminate_loop = 1;
+}
+
+static void write_ev_queue(struct itrm *itrm)
+{
+ int l;
+ if (!itrm->eqlen) internal("event queue empty");
+ EINTRLOOP(l, write(itrm->sock_out, itrm->ev_queue, itrm->eqlen > 128 ? 128 : itrm->eqlen));
+ if (l == -1) {
+ itrm_error(itrm);
+ return;
+ }
+ memmove(itrm->ev_queue, itrm->ev_queue + l, itrm->eqlen -= l);
+ if (!itrm->eqlen) set_handlers(itrm->sock_out, get_handler(itrm->sock_out, H_READ), NULL, get_handler(itrm->sock_out, H_ERROR), get_handler(itrm->sock_out, H_DATA));
+}
+
+static void queue_event(struct itrm *itrm, unsigned char *data, int len);
+
+static void mouse_queue_event(struct itrm *itrm, unsigned char *data, int len)
+{
+ if (itrm->blocked) return;
+ queue_event(itrm, data, len);
+}
+
+static void queue_event(struct itrm *itrm, unsigned char *data, int len)
+{
+ int w = 0;
+ if (!len) return;
+ if (!itrm->eqlen && can_write(itrm->sock_out)) {
+ EINTRLOOP(w, write(itrm->sock_out, data, len));
+ if (w <= 0) {
+ register_bottom_half((void (*)(void *))itrm_error, itrm);
+ return;
+ }
+ }
+ if (w < len) {
+ if ((unsigned)itrm->eqlen + (unsigned)(len - w) > MAXINT) overalloc();
+ itrm->ev_queue = mem_realloc(itrm->ev_queue, itrm->eqlen + len - w);
+ memcpy(itrm->ev_queue + itrm->eqlen, data + w, len - w);
+ itrm->eqlen += len - w;
+ set_handlers(itrm->sock_out, get_handler(itrm->sock_out, H_READ), (void (*)(void *))write_ev_queue, (void (*)(void *))itrm_error, itrm);
+ }
+}
+
+void kbd_ctrl_c(void)
+{
+ struct event ev = { EV_KBD, KBD_CTRL_C, 0, 0 };
+ if (ditrm) ditrm->queue_event(ditrm, (unsigned char *)&ev, sizeof(struct event));
+}
+
+/*
+unsigned char *init_seq = "\033[?1000h\033[?47h\0337";
+unsigned char *term_seq = "\033[2J\033[?1000l\033[?47l\0338\b \b";
+*/
+
+unsigned char init_seq[] = "\033)0\0337";
+unsigned char init_seq_x_mouse[] = "\033[?1000h";
+unsigned char init_seq_tw_mouse[] = "\033[?9h";
+unsigned char term_seq[] = "\033[2J\0338\r \b";
+unsigned char term_seq_x_mouse[] = "\033[?1000l\015 \015";
+unsigned char term_seq_tw_mouse[] = "\033[?9l";
+
+/*unsigned char *term_seq = "\033[2J\033[?1000l\0338\b \b";*/
+
+static void send_init_sequence(int h, int flags)
+{
+ want_draw();
+ hard_write(h, init_seq, strlen(init_seq));
+ if (flags & USE_TWIN_MOUSE) {
+ hard_write(h, init_seq_tw_mouse, strlen(init_seq_tw_mouse));
+ } else {
+ hard_write(h, init_seq_x_mouse, strlen(init_seq_x_mouse));
+ }
+ done_draw();
+}
+
+static void send_term_sequence(int h, int flags)
+{
+ want_draw();
+ hard_write(h, term_seq, strlen(term_seq));
+ if (flags & USE_TWIN_MOUSE) {
+ hard_write(h, term_seq_tw_mouse, strlen(term_seq_tw_mouse));
+ } else {
+ hard_write(h, term_seq_x_mouse, strlen(term_seq_x_mouse));
+ }
+ done_draw();
+}
+
+void resize_terminal(void)
+{
+ struct event ev = { EV_RESIZE, 0, 0, 0 };
+ int x, y;
+ if (get_terminal_size(ditrm->std_out, &x, &y)) return;
+ ev.x = x;
+ ev.y = y;
+ queue_event(ditrm, (char *)&ev, sizeof(struct event));
+}
+
+static int ttcgetattr(int fd, struct termios *t)
+{
+ int r;
+#ifdef HAVE_SIGDELSET
+ int rs;
+ sigset_t set, old_set;
+ sigfillset(&set);
+#ifdef SIGTTOU
+ sigdelset(&set, SIGTTOU);
+#endif
+#ifdef SIGTTIN
+ sigdelset(&set, SIGTTIN);
+#endif
+ EINTRLOOP(rs, sigprocmask(SIG_BLOCK, &set, &old_set));
+#endif
+#ifdef SIGTTOU
+ interruptible_signal(SIGTTOU, 1);
+#endif
+#ifdef SIGTTIN
+ interruptible_signal(SIGTTIN, 1);
+#endif
+ r = tcgetattr(fd, t);
+#ifdef SIGTTOU
+ interruptible_signal(SIGTTOU, 0);
+#endif
+#ifdef SIGTTIN
+ interruptible_signal(SIGTTIN, 0);
+#endif
+#ifdef HAVE_SIGDELSET
+ if (!rs) EINTRLOOP(rs, sigprocmask(SIG_SETMASK, &old_set, NULL));
+#endif
+ return r;
+}
+
+static int ttcsetattr(int fd, int a, struct termios *t)
+{
+ int r;
+#ifdef HAVE_SIGDELSET
+ int rs;
+ sigset_t set, old_set;
+ sigfillset(&set);
+#ifdef SIGTTOU
+ sigdelset(&set, SIGTTOU);
+#endif
+#ifdef SIGTTIN
+ sigdelset(&set, SIGTTIN);
+#endif
+ EINTRLOOP(rs, sigprocmask(SIG_BLOCK, &set, &old_set));
+#endif
+#ifdef SIGTTOU
+ interruptible_signal(SIGTTOU, 1);
+#endif
+#ifdef SIGTTIN
+ interruptible_signal(SIGTTIN, 1);
+#endif
+ r = tcsetattr(fd, a, t);
+#ifdef SIGTTOU
+ interruptible_signal(SIGTTOU, 0);
+#endif
+#ifdef SIGTTIN
+ interruptible_signal(SIGTTIN, 0);
+#endif
+#ifdef HAVE_SIGDELSET
+ if (!rs) EINTRLOOP(rs, sigprocmask(SIG_SETMASK, &old_set, NULL));
+#endif
+ return r;
+}
+
+static int setraw(int fd, struct termios *p)
+{
+ struct termios t;
+ memset(&t, 0, sizeof(struct termios));
+ if (ttcgetattr(fd, &t)) {
+ /*fprintf(stderr, "getattr result %s\n", strerror(errno));*/
+ /* If the terminal was destroyed (the user logged off),
+ * we fake success here so that we can destroy the terminal
+ * later.
+ *
+ * Linux returns EIO
+ * FreeBSD returns ENXIO
+ */
+ if (errno == EIO || errno == ENXIO) return 0;
+ return -1;
+ }
+ if (p) memcpy(p, &t, sizeof(struct termios));
+ os_cfmakeraw(&t);
+ t.c_lflag |= ISIG;
+#ifdef TOSTOP
+ t.c_lflag |= TOSTOP;
+#endif
+ t.c_oflag |= OPOST;
+ if (ttcsetattr(fd, TCSANOW, &t)) {
+ /*fprintf(stderr, "setattr result %s\n", strerror(errno));*/
+ return -1;
+ }
+ return 0;
+}
+
+void handle_trm(int std_in, int std_out, int sock_in, int sock_out, int ctl_in, void *init_string, int init_len)
+{
+ int x, y;
+ struct itrm *itrm;
+ struct event ev = { EV_INIT, 80, 24, 0 };
+ unsigned char *ts;
+ int xwin;
+ if (get_terminal_size(ctl_in, &x, &y)) {
+ error("ERROR: could not get terminal size");
+ return;
+ }
+ itrm = mem_alloc(sizeof(struct itrm));
+ itrm->queue_event = queue_event;
+ itrm->free_trm = free_trm;
+ ditrm = itrm;
+ itrm->std_in = std_in;
+ itrm->std_out = std_out;
+ itrm->sock_in = sock_in;
+ itrm->sock_out = sock_out;
+ itrm->ctl_in = ctl_in;
+ itrm->blocked = 0;
+ itrm->qlen = 0;
+ itrm->tm = -1;
+ itrm->ev_queue = DUMMY;
+ itrm->eqlen = 0;
+ if (ctl_in >= 0) setraw(ctl_in, &itrm->t);
+ set_handlers(std_in, (void (*)(void *))in_kbd, NULL, (void (*)(void *))itrm_error, itrm);
+ if (sock_in != std_out) set_handlers(sock_in, (void (*)(void *))in_sock, NULL, (void (*)(void *))itrm_error, itrm);
+ ev.x = x;
+ ev.y = y;
+ handle_terminal_resize(ctl_in, resize_terminal);
+ queue_event(itrm, (char *)&ev, sizeof(struct event));
+ xwin = is_xterm() * ENV_XWIN + can_twterm() * ENV_TWIN + (!!getenv("STY")) * ENV_SCREEN + get_system_env();
+ itrm->flags = 0;
+ if (!(ts = getenv("TERM"))) ts = "";
+ if ((xwin & ENV_TWIN) && !strcmp(ts, "linux")) itrm->flags |= USE_TWIN_MOUSE;
+ if (strlen(ts) >= MAX_TERM_LEN) queue_event(itrm, ts, MAX_TERM_LEN);
+ else {
+ unsigned char *mm;
+ int ll = MAX_TERM_LEN - strlen(ts);
+ queue_event(itrm, ts, strlen(ts));
+ mm = mem_calloc(ll);
+ queue_event(itrm, mm, ll);
+ mem_free(mm);
+ }
+ if (!(ts = get_cwd())) ts = stracpy("");
+ if (strlen(ts) >= MAX_CWD_LEN) queue_event(itrm, ts, MAX_CWD_LEN);
+ else {
+ unsigned char *mm;
+ int ll = MAX_CWD_LEN - strlen(ts);
+ queue_event(itrm, ts, strlen(ts));
+ mm = mem_calloc(ll);
+ queue_event(itrm, mm, ll);
+ mem_free(mm);
+ }
+ mem_free(ts);
+ queue_event(itrm, (char *)&xwin, sizeof(int));
+ queue_event(itrm, (char *)&init_len, sizeof(int));
+ queue_event(itrm, (char *)init_string, init_len);
+ itrm->mouse_h = handle_mouse(0, (void (*)(void *, unsigned char *, int))mouse_queue_event, itrm);
+ itrm->orig_title = get_window_title();
+ set_window_title("Links");
+ send_init_sequence(std_out, itrm->flags);
+}
+
+static void unblock_itrm_x(void *h)
+{
+ NO_GFX;
+ close_handle(h);
+ if (!ditrm) return;
+ unblock_itrm(0);
+}
+
+int unblock_itrm(int fd)
+{
+ struct itrm *itrm = ditrm;
+ if (!itrm) return -1;
+ if (itrm->ctl_in >= 0 && setraw(itrm->ctl_in, NULL)) return -1;
+ if (itrm->blocked != fd + 1) return -2;
+ itrm->blocked = 0;
+ send_init_sequence(itrm->std_out, itrm->flags);
+ set_handlers(itrm->std_in, (void (*)(void *))in_kbd, NULL, (void (*)(void *))itrm_error, itrm);
+ handle_terminal_resize(itrm->ctl_in, resize_terminal);
+ unblock_stdin();
+ itrm->mouse_h = handle_mouse(0, (void (*)(void *, unsigned char *, int))mouse_queue_event, itrm);
+ resize_terminal();
+ return 0;
+}
+
+void block_itrm(int fd)
+{
+ struct itrm *itrm = ditrm;
+ NO_GFX;
+ if (!itrm) return;
+ if (itrm->blocked) return;
+ itrm->blocked = fd + 1;
+ block_stdin();
+ unhandle_terminal_resize(itrm->ctl_in);
+ send_term_sequence(itrm->std_out, itrm->flags);
+ ttcsetattr(itrm->ctl_in, TCSANOW, &itrm->t);
+ if (itrm->mouse_h) unhandle_mouse(itrm->mouse_h), itrm->mouse_h = NULL;
+ set_handlers(itrm->std_in, NULL, NULL, (void (*)(void *))itrm_error, itrm);
+}
+
+static void free_trm(struct itrm *itrm)
+{
+ if (!itrm) return;
+ set_window_title(itrm->orig_title);
+ if (itrm->orig_title) mem_free(itrm->orig_title), itrm->orig_title = NULL;
+ unhandle_terminal_resize(itrm->ctl_in);
+ send_term_sequence(itrm->std_out, itrm->flags);
+ ttcsetattr(itrm->ctl_in, TCSANOW, &itrm->t);
+ if (itrm->mouse_h) unhandle_mouse(itrm->mouse_h);
+ set_handlers(itrm->std_in, NULL, NULL, NULL, NULL);
+ set_handlers(itrm->sock_in, NULL, NULL, NULL, NULL);
+ set_handlers(itrm->std_out, NULL, NULL, NULL, NULL);
+ set_handlers(itrm->sock_out, NULL, NULL, NULL, NULL);
+ if (itrm->tm != -1) kill_timer(itrm->tm);
+ mem_free(itrm->ev_queue);
+ mem_free(itrm);
+ if (itrm == ditrm) ditrm = NULL;
+}
+
+void fatal_tty_exit(void)
+{
+ if (ditrm) ttcsetattr(ditrm->ctl_in, TCSANOW, &ditrm->t);
+}
+
+static void resize_terminal_x(unsigned char *text)
+{
+ int x, y;
+ unsigned char *p;
+ if (!(p = strchr(text, ','))) return;
+ *p++ = 0;
+ x = atoi(text);
+ y = atoi(p);
+ resize_window(x, y);
+ resize_terminal();
+}
+
+void dispatch_special(unsigned char *text)
+{
+ switch (text[0]) {
+ case TERM_FN_TITLE:
+ set_window_title(text + 1);
+ break;
+ case TERM_FN_RESIZE:
+ resize_terminal_x(text + 1);
+ break;
+ }
+}
+
+static unsigned char buf[OUT_BUF_SIZE];
+
+#define RD(xx) \
+do { \
+ unsigned char cc; \
+ if (p < c) cc = buf[p++]; \
+ else if ((hard_read(itrm->sock_in, &cc, 1)) <= 0) { \
+ mem_free(path); \
+ mem_free(delete); \
+ goto fr; \
+ } \
+ xx = cc; \
+} while (0)
+
+static void in_sock(struct itrm *itrm)
+{
+ unsigned char *path, *delete;
+ int pl, dl;
+ unsigned char ch;
+ int fg;
+ int c, i, p;
+ int rs;
+ EINTRLOOP(c, read(itrm->sock_in, buf, OUT_BUF_SIZE));
+ if (c <= 0) {
+ fr:
+ itrm_error(itrm);
+ return;
+ }
+ qwerty:
+ for (i = 0; i < c; i++) if (!buf[i]) goto ex;
+ if (!is_blocked()) {
+ want_draw();
+ hard_write(itrm->std_out, buf, c);
+ done_draw();
+ }
+ return;
+ ex:
+ if (!is_blocked()) {
+ want_draw();
+ hard_write(itrm->std_out, buf, i);
+ done_draw();
+ }
+ i++;
+ memmove(buf, buf + i, OUT_BUF_SIZE - i);
+ c -= i;
+ p = 0;
+ path = init_str();
+ delete = init_str();
+ pl = dl = 0;
+ RD(fg);
+ while (1) {
+ RD(ch);
+ if (!ch) break;
+ add_chr_to_str(&path, &pl, ch);
+ }
+ while (1) {
+ RD(ch);
+ if (!ch) break;
+ add_chr_to_str(&delete, &dl, ch);
+ }
+ if (!*path) {
+ dispatch_special(delete);
+ } else {
+ long blockh;
+ unsigned char *param;
+ if (is_blocked() && fg) {
+ if (*delete)
+ EINTRLOOP(rs, unlink(delete));
+ goto to_je_ale_hnus;
+ }
+ param = mem_alloc(strlen(path) + strlen(delete) + 3);
+ param[0] = fg;
+ strcpy(param + 1, path);
+ strcpy(param + 1 + strlen(path) + 1, delete);
+ if (fg == 1) block_itrm(0);
+ if ((blockh = start_thread((void (*)(void *, int))exec_thread, param, strlen(path) + strlen(delete) + 3)) == -1) {
+ if (fg == 1) unblock_itrm(0);
+ mem_free(param);
+ goto to_je_ale_hnus;
+ }
+ mem_free(param);
+ if (fg == 1) {
+ set_handlers(blockh, (void (*)(void *))unblock_itrm_x, NULL, (void (*)(void *))unblock_itrm_x, (void *)blockh);
+ } else {
+ set_handlers(blockh, close_handle, NULL, close_handle, (void *)blockh);
+ }
+ }
+ to_je_ale_hnus:
+ mem_free(path);
+ mem_free(delete);
+ memmove(buf, buf + p, OUT_BUF_SIZE - p);
+ c -= p;
+ goto qwerty;
+}
+
+static int process_queue(struct itrm *);
+static int get_esc_code(unsigned char *, int, unsigned char *, int *, int *);
+
+static void kbd_timeout(struct itrm *itrm)
+{
+ struct event ev = { EV_KBD, KBD_ESC, 0, 0 };
+ unsigned char code;
+ int num;
+ int len = 0; /* against warning */
+ itrm->tm = -1;
+ if (can_read(itrm->std_in)) {
+ in_kbd(itrm);
+ return;
+ }
+ if (!itrm->qlen) {
+ internal("timeout on empty queue");
+ return;
+ }
+ itrm->queue_event(itrm, (char *)&ev, sizeof(struct event));
+ if (get_esc_code(itrm->kqueue, itrm->qlen, &code, &num, &len)) len = 1;
+ itrm->qlen -= len;
+ memmove(itrm->kqueue, itrm->kqueue + len, itrm->qlen);
+ while (process_queue(itrm))
+ ;
+}
+
+static int get_esc_code(unsigned char *str, int len, unsigned char *code, int *num, int *el)
+{
+ int pos;
+ *num = 0;
+ for (pos = 2; pos < len; pos++) {
+ if (str[pos] < '0' || str[pos] > '9' || pos > 7) {
+ *el = pos + 1;
+ *code = str[pos];
+ return 0;
+ }
+ *num = *num * 10 + str[pos] - '0';
+ }
+ return -1;
+}
+
+/*
+struct os2_key {
+ int x, y;
+};
+*/
+
+struct os2_key os2xtd[256] = {
+/* 0 */
+{0,0},
+{0,0},
+{' ',KBD_CTRL},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{KBD_BS,KBD_ALT},
+{0,0},
+/* 16 */
+{'Q',KBD_ALT},
+{'W',KBD_ALT},
+{'E',KBD_ALT},
+{'R',KBD_ALT},
+{'T',KBD_ALT},
+{'Y',KBD_ALT},
+{'U',KBD_ALT},
+{'I',KBD_ALT},
+/* 24 */
+{'O',KBD_ALT},
+{'P',KBD_ALT},
+{'[',KBD_ALT},
+{']',KBD_ALT},
+{KBD_ENTER,KBD_ALT},
+{0,0},
+{'A',KBD_ALT},
+{'S',KBD_ALT},
+/* 32 */
+{'D',KBD_ALT},
+{'F',KBD_ALT},
+{'G',KBD_ALT},
+{'H',KBD_ALT},
+{'J',KBD_ALT},
+{'K',KBD_ALT},
+{'L',KBD_ALT},
+{';',KBD_ALT},
+/* 40 */
+{'\'',KBD_ALT},
+{'`',KBD_ALT},
+{0,0},
+{'\\',KBD_ALT},
+{'Z',KBD_ALT},
+{'X',KBD_ALT},
+{'C',KBD_ALT},
+{'V',KBD_ALT},
+/* 48 */
+{'B',KBD_ALT},
+{'N',KBD_ALT},
+{'M',KBD_ALT},
+{',',KBD_ALT},
+{'.',KBD_ALT},
+{'/',KBD_ALT},
+{0,0},
+{'*',KBD_ALT},
+/* 56 */
+{0,0},
+{' ',KBD_ALT},
+{0,0},
+{KBD_F1,0},
+{KBD_F2,0},
+{KBD_F3,0},
+{KBD_F4,0},
+{KBD_F5,0},
+/* 64 */
+{KBD_F6,0},
+{KBD_F7,0},
+{KBD_F8,0},
+{KBD_F9,0},
+{KBD_F10,0},
+{0,0},
+{0,0},
+{KBD_HOME,0},
+/* 72 */
+{KBD_UP,0},
+{KBD_PAGE_UP,0},
+{'-',KBD_ALT},
+{KBD_LEFT,0},
+{'5',0},
+{KBD_RIGHT,0},
+{'+',KBD_ALT},
+{KBD_END,0},
+/* 80 */
+{KBD_DOWN,0},
+{KBD_PAGE_DOWN,0},
+{KBD_INS,0},
+{KBD_DEL,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+/* 88 */
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{KBD_F1,KBD_CTRL},
+{KBD_F2,KBD_CTRL},
+/* 96 */
+{KBD_F3,KBD_CTRL},
+{KBD_F4,KBD_CTRL},
+{KBD_F5,KBD_CTRL},
+{KBD_F6,KBD_CTRL},
+{KBD_F7,KBD_CTRL},
+{KBD_F8,KBD_CTRL},
+{KBD_F9,KBD_CTRL},
+{KBD_F10,KBD_CTRL},
+/* 104 */
+{KBD_F1,KBD_ALT},
+{KBD_F2,KBD_ALT},
+{KBD_F3,KBD_ALT},
+{KBD_F4,KBD_ALT},
+{KBD_F5,KBD_ALT},
+{KBD_F6,KBD_ALT},
+{KBD_F7,KBD_ALT},
+{KBD_F8,KBD_ALT},
+/* 112 */
+{KBD_F9,KBD_ALT},
+{KBD_F10,KBD_ALT},
+{0,0},
+{KBD_LEFT,KBD_CTRL},
+{KBD_RIGHT,KBD_CTRL},
+{KBD_END,KBD_CTRL},
+{KBD_PAGE_DOWN,KBD_CTRL},
+{KBD_HOME,KBD_CTRL},
+/* 120 */
+{'1',KBD_ALT},
+{'2',KBD_ALT},
+{'3',KBD_ALT},
+{'4',KBD_ALT},
+{'5',KBD_ALT},
+{'6',KBD_ALT},
+{'7',KBD_ALT},
+{'8',KBD_ALT},
+/* 128 */
+{'9',KBD_ALT},
+{'0',KBD_ALT},
+{'-',KBD_ALT},
+{'=',KBD_ALT},
+{KBD_PAGE_UP,KBD_CTRL},
+{KBD_F11,0},
+{KBD_F12,0},
+{0,0},
+/* 136 */
+{0,0},
+{KBD_F11,KBD_CTRL},
+{KBD_F12,KBD_CTRL},
+{KBD_F11,KBD_ALT},
+{KBD_F12,KBD_ALT},
+{KBD_UP,KBD_CTRL},
+{'-',KBD_CTRL},
+{'5',KBD_CTRL},
+/* 144 */
+{'+',KBD_CTRL},
+{KBD_DOWN,KBD_CTRL},
+{KBD_INS,KBD_CTRL},
+{KBD_DEL,KBD_CTRL},
+{KBD_TAB,KBD_CTRL},
+{0,0},
+{0,0},
+{KBD_HOME,KBD_ALT},
+/* 152 */
+{KBD_UP,KBD_ALT},
+{KBD_PAGE_UP,KBD_ALT},
+{0,0},
+{KBD_LEFT,KBD_ALT},
+{0,0},
+{KBD_RIGHT,KBD_ALT},
+{0,0},
+{KBD_END,KBD_ALT},
+/* 160 */
+{KBD_DOWN,KBD_ALT},
+{KBD_PAGE_DOWN,KBD_ALT},
+{KBD_INS,KBD_ALT},
+{KBD_DEL,KBD_ALT},
+{0,0},
+{KBD_TAB,KBD_ALT},
+{KBD_ENTER,KBD_ALT},
+{0,0},
+/* 168 */
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+/* 176 */
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+/* 192 */
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+/* 208 */
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+/* 224 */
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+/* 240 */
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+{0,0},
+/* 256 */
+};
+
+static int xterm_button = -1;
+
+static int is_interix(void)
+{
+#ifdef INTERIX
+ return 1;
+#else
+ unsigned char *term = getenv("TERM");
+ return term && !strncmp(term, "interix", 7);
+#endif
+}
+
+static int is_uwin(void)
+{
+#ifdef _UWIN
+ return 1;
+#else
+ return 0;
+#endif
+}
+
+static int is_ibm(void)
+{
+ unsigned char *term = getenv("TERM");
+ return term && !strncmp(term, "ibm", 3);
+}
+
+static int process_queue(struct itrm *itrm)
+{
+ struct event ev = { EV_KBD, -1, 0, 0 };
+ int el = 0;
+ if (!itrm->qlen) goto end;
+ /*{
+ int i;
+ fprintf(stderr, "queue:");
+ for (i = 0; i < itrm->qlen; i++) {
+ fprintf(stderr, " %d", itrm->kqueue[i]);
+ if (itrm->kqueue[i] >= 32) fprintf(stderr, "[%c]", itrm->kqueue[i]);
+ }
+ fprintf(stderr, ".\n");
+ }*/
+ if (itrm->kqueue[0] == '\033') {
+ if (itrm->qlen < 2) goto ret;
+ if (itrm->kqueue[1] == '[' || itrm->kqueue[1] == 'O') {
+ unsigned char c = 0;
+ int v;
+ if (itrm->qlen >= 4 && itrm->kqueue[2] == '[') {
+ if (itrm->kqueue[3] < 'A' || itrm->kqueue[3] > 'L') goto ret;
+ ev.x = KBD_F1 - (itrm->kqueue[3] - 'A');
+ el = 4;
+ } else if (get_esc_code(itrm->kqueue, itrm->qlen, &c, &v, &el)) goto ret;
+ else switch (c) {
+ case 'L':
+ case '@': ev.x = KBD_INS; break;
+ case 'A': ev.x = KBD_UP; break;
+ case 'B': ev.x = KBD_DOWN; break;
+ case 'C': ev.x = KBD_RIGHT; break;
+ case 'D': ev.x = KBD_LEFT; break;
+ case 'F':
+ case 'K':
+ case 'e': ev.x = KBD_END; break;
+ case 'H':
+ case 0: ev.x = KBD_HOME; break;
+ case 'V':
+ case 'I': ev.x = KBD_PAGE_UP; break;
+ case 'U':
+ if (is_interix()) {
+ ev.x = KBD_END;
+ break;
+ }
+ case 'G': ev.x = KBD_PAGE_DOWN; break;
+ case 'P':
+ if (is_ibm()) {
+ ev.x = KBD_DEL;
+ break;
+ }
+ ev.x = KBD_F1; break;
+ case 'Q': ev.x = KBD_F2; break;
+ case 'S':
+ if (is_interix()) {
+ ev.x = KBD_PAGE_UP;
+ break;
+ }
+ ev.x = KBD_F4; break;
+ case 'T':
+ if (is_interix()) {
+ ev.x = KBD_PAGE_DOWN;
+ break;
+ }
+ ev.x = KBD_F5; break;
+ case 'W': ev.x = KBD_F8; break;
+ case 'X': ev.x = KBD_F9; break;
+ case 'Y':
+ if (is_uwin())
+ ev.x = itrm->kqueue[1] == '[' ? KBD_END : KBD_F10;
+ else
+ ev.x = KBD_F11;
+ break;
+
+ case 'q': switch (v) {
+ case 139: ev.x = KBD_INS; break;
+ case 146: ev.x = KBD_END; break;
+ case 150: ev.x = KBD_PAGE_UP; break;
+ case 154: ev.x = KBD_PAGE_DOWN; break;
+ default: if (v >= 1 && v <= 48) {
+ int fn = (v - 1) % 12;
+ int mod = (v - 1) / 12;
+ ev.x = KBD_F1 - fn;
+ if (mod == 1)
+ ev.y |= KBD_SHIFT;
+ if (mod == 2)
+ ev.y |= KBD_CTRL;
+ if (mod == 3)
+ ev.y |= KBD_ALT;
+ } break;
+ } break;
+ case 'z': switch (v) {
+ case 247: ev.x = KBD_INS; break;
+ case 214: ev.x = KBD_HOME; break;
+ case 220: ev.x = KBD_END; break;
+ case 216: ev.x = KBD_PAGE_UP; break;
+ case 222: ev.x = KBD_PAGE_DOWN; break;
+ case 249: ev.x = KBD_DEL; break;
+ } break;
+ case '~': switch (v) {
+ case 1: ev.x = KBD_HOME; break;
+ case 2: ev.x = KBD_INS; break;
+ case 3: ev.x = KBD_DEL; break;
+ case 4: ev.x = KBD_END; break;
+ case 5: ev.x = KBD_PAGE_UP; break;
+ case 6: ev.x = KBD_PAGE_DOWN; break;
+ case 7: ev.x = KBD_HOME; break;
+ case 8: ev.x = KBD_END; break;
+ case 17: ev.x = KBD_F6; break;
+ case 18: ev.x = KBD_F7; break;
+ case 19: ev.x = KBD_F8; break;
+ case 20: ev.x = KBD_F9; break;
+ case 21: ev.x = KBD_F10; break;
+ case 23: ev.x = KBD_F11; break;
+ case 24: ev.x = KBD_F12; break;
+ } break;
+ case 'R':
+ resize_terminal();
+ break ;
+ case 'M': if (itrm->qlen - el < 3) goto ret;
+ if (v == 5) {
+ if (xterm_button == -1) xterm_button = 0; /* */
+ if (itrm->qlen - el < 5) goto ret;
+ ev.x = (unsigned char)(itrm->kqueue[el+1]) - ' ' - 1 + ((int)((unsigned char)(itrm->kqueue[el+2]) - ' ' - 1) << 7);
+ if ( ev.x & (1 << 13)) ev.x = 0; /* ev.x |= ~0 << 14; */
+ ev.y = (unsigned char)(itrm->kqueue[el+3]) - ' ' - 1 + ((int)((unsigned char)(itrm->kqueue[el+4]) - ' ' - 1) << 7);
+ if ( ev.y & (1 << 13)) ev.y = 0; /* ev.y |= ~0 << 14; */
+ switch ((itrm->kqueue[el] - ' ') ^ xterm_button) { /* Every event changhes only one bit */
+ case TW_BUTT_LEFT: ev.b = B_LEFT | ( (xterm_button & TW_BUTT_LEFT) ? B_UP : B_DOWN ); break;
+ case TW_BUTT_MIDDLE: ev.b = B_MIDDLE | ( (xterm_button & TW_BUTT_MIDDLE) ? B_UP : B_DOWN ); break;
+ case TW_BUTT_RIGHT: ev.b = B_RIGHT | ( (xterm_button & TW_BUTT_RIGHT) ? B_UP : B_DOWN ); break;
+ case 0: ev.b = B_DRAG;
+ /* default : Twin protocol error */
+ }
+ xterm_button = itrm->kqueue[el] - ' ';
+ el += 5;
+ } else {
+ ev.x = itrm->kqueue[el+1] - ' ' - 1;
+ ev.y = itrm->kqueue[el+2] - ' ' - 1;
+ ev.b = B_DOWN;
+ if (itrm->kqueue[el] & 4) ev.b = B_DRAG;
+ if ((ev.b |= (itrm->kqueue[el] & BM_BUTT) | B_DOWN) == 3) {
+ ev.b = B_UP;
+ if (xterm_button != -1) ev.b |= xterm_button;
+ }
+ /*if ((itrm->kqueue[el] & 4) && ev.b != B_UP) ev.b |= B_DRAG;*/
+ xterm_button = -1;
+ if ((ev.b & BM_ACT) == B_DOWN) xterm_button = ev.b & BM_BUTT;
+ el += 3;
+ }
+ ev.ev = EV_MOUSE;
+ break;
+ }
+ } else {
+ el = 2;
+ if (itrm->kqueue[1] == '\033') {
+ if (itrm->qlen >= 3 && (itrm->kqueue[2] == '[' || itrm->kqueue[2] == 'O')) el = 1;
+ ev.x = KBD_ESC;
+ goto l2;
+ } else if (itrm->kqueue[1] == 127) {
+ ev.x = KBD_DEL;
+ ev.y = 0;
+ goto l2;
+ } else if (itrm->kqueue[1] == 'F' && is_interix()) {
+ int num;
+ if (itrm->qlen < 3) goto ret;
+ if (itrm->kqueue[2] >= '1' && itrm->kqueue[2] <= '9') {
+ num = itrm->kqueue[2] - '1';
+ } else if (itrm->kqueue[2] >= 'A' && itrm->kqueue[2] <= 'Z') {
+ num = itrm->kqueue[2] - 'A' + 9;
+ } else if (itrm->kqueue[2] >= 'a' && itrm->kqueue[2] <= 'k') {
+ num = itrm->kqueue[2] - 'a' + 35;
+ } else if (itrm->kqueue[2] >= 'm' && itrm->kqueue[2] <= 'z') {
+ num = itrm->kqueue[2] - 'a' + 34;
+ } else goto do_alt;
+ if (num < 12) {
+ ev.x = KBD_F1 - num;
+ } else if (num < 24) {
+ ev.x = KBD_F1 - (num - 12);
+ ev.y |= KBD_SHIFT;
+ } else if (num < 36) {
+ ev.x = KBD_F1 - (num - 24);
+ ev.y |= KBD_ALT;
+ } else if (num < 48) {
+ ev.x = KBD_F1 - (num - 36);
+ ev.y |= KBD_CTRL;
+ } else {
+ ev.x = KBD_F1 - (num - 48);
+ ev.y |= KBD_SHIFT | KBD_CTRL;
+ }
+ el = 3;
+ goto l1;
+ } else {
+do_alt:
+ ev.x = itrm->kqueue[1];
+ ev.y |= KBD_ALT;
+ goto l2;
+ }
+ }
+ goto l1;
+ } else if (itrm->kqueue[0] == 0) {
+ if (itrm->qlen < 2) goto ret;
+ if (!(ev.x = os2xtd[itrm->kqueue[1]].x)) ev.x = -1;
+ ev.y = os2xtd[itrm->kqueue[1]].y;
+ el = 2;
+ /*printf("%02x - %02x %02x\n", (int)itrm->kqueue[1], ev.x, ev.y);*/
+ goto l1;
+ }
+ el = 1;
+ ev.x = itrm->kqueue[0];
+ l2:
+ /*if (ev.x == 1) ev.x = KBD_HOME;
+ if (ev.x == 2) ev.x = KBD_PAGE_UP;
+ if (ev.x == 4) ev.x = KBD_DEL;
+ if (ev.x == 5) ev.x = KBD_END;
+ if (ev.x == 6) ev.x = KBD_PAGE_DOWN;*/
+ if (ev.x == 8) ev.x = KBD_BS;
+ if (ev.x == 9) ev.x = KBD_TAB;
+ if (ev.x == 10) ev.x = KBD_ENTER/*, ev.y = KBD_CTRL*/;
+ if (ev.x == 13) ev.x = KBD_ENTER;
+ if (ev.x == 127) {
+ if (is_interix()) ev.x = KBD_DEL;
+ else ev.x = KBD_BS;
+ }
+ if (ev.x >= 0 && ev.x < ' ') {
+ ev.x += 'A' - 1;
+ ev.y |= KBD_CTRL;
+ }
+ l1:
+ if (itrm->qlen < el) {
+ internal("event queue underflow");
+ itrm->qlen = el;
+ }
+ if (ev.x != -1) {
+ itrm->queue_event(itrm, (char *)&ev, sizeof(struct event));
+ memmove(itrm->kqueue, itrm->kqueue + el, itrm->qlen -= el);
+ } else {
+ /*printf("%d %d\n", itrm->qlen, el);fflush(stdout);*/
+ memmove(itrm->kqueue, itrm->kqueue + el, itrm->qlen -= el);
+ }
+ end:
+ if (itrm->qlen < IN_BUF_SIZE && !itrm->blocked) set_handlers(itrm->std_in, (void (*)(void *))in_kbd, NULL, (void (*)(void *))itrm_error, itrm);
+ return el;
+ ret:
+ itrm->tm = install_timer(ESC_TIMEOUT, (void (*)(void *))kbd_timeout, itrm);
+ return 0;
+}
+
+static void in_kbd(struct itrm *itrm)
+{
+ int r;
+ if (!can_read(itrm->std_in)) return;
+ if (itrm->tm != -1) kill_timer(itrm->tm), itrm->tm = -1;
+ if (itrm->qlen >= IN_BUF_SIZE) {
+ set_handlers(itrm->std_in, NULL, NULL, (void (*)(void *))itrm_error, itrm);
+ while (process_queue(itrm))
+ ;
+ return;
+ }
+ EINTRLOOP(r, read(itrm->std_in, itrm->kqueue + itrm->qlen, IN_BUF_SIZE - itrm->qlen));
+ if (r <= 0) {
+ struct event ev = { EV_ABORT, 0, 0, 0 };
+ set_handlers(itrm->std_in, NULL, NULL, (void (*)(void *))itrm_error, itrm);
+ itrm->queue_event(itrm, (unsigned char *)&ev, sizeof(struct event));
+ return;
+ }
+ if ((itrm->qlen += r) > IN_BUF_SIZE) {
+ error("ERROR: too many bytes read");
+ itrm->qlen = IN_BUF_SIZE;
+ }
+ while (process_queue(itrm))
+ ;
+}
+
+#if defined(GRDRV_SVGALIB) || defined(GRDRV_FB)
+
+int kbd_set_raw;
+
+void svgalib_free_trm(struct itrm *itrm)
+{
+ /*debug("svgalib_free: %p", itrm);*/
+ if (!itrm) return;
+ if (kbd_set_raw) ttcsetattr(itrm->ctl_in, TCSANOW, &itrm->t);
+ set_handlers(itrm->std_in, NULL, NULL, NULL, NULL);
+ if (itrm->tm != -1) kill_timer(itrm->tm);
+ mem_free(itrm);
+ if (itrm == ditrm) ditrm = NULL;
+}
+
+struct itrm *handle_svgalib_keyboard(void (*queue_event)(void *, unsigned char *, int))
+{
+ struct itrm *itrm;
+ itrm = mem_calloc(sizeof(struct itrm));
+ ditrm = itrm;
+ itrm->queue_event = (void (*)(struct itrm *, unsigned char *, int))queue_event;
+ itrm->free_trm = svgalib_free_trm;
+ itrm->std_in = 0;
+ itrm->ctl_in = 0;
+ itrm->tm = -1;
+ if (kbd_set_raw) if (itrm->ctl_in >= 0) setraw(itrm->ctl_in, &itrm->t);
+ set_handlers(itrm->std_in, (void (*)(void *))in_kbd, NULL, (void (*)(void *))itrm_error, itrm);
+ /*debug("svgalib_handle: %p", itrm);*/
+ return itrm;
+}
+
+int svgalib_unblock_itrm(struct itrm *itrm)
+{
+ /*debug("svgalib_unblock: %p", itrm);*/
+ if (!itrm) return -1;
+ if (kbd_set_raw) if (itrm->ctl_in >= 0) if (setraw(itrm->ctl_in, NULL)) return -1;
+ itrm->blocked = 0;
+ set_handlers(itrm->std_in, (void (*)(void *))in_kbd, NULL, (void (*)(void *))itrm_error, itrm);
+ unblock_stdin();
+ return 0;
+}
+
+void svgalib_block_itrm(struct itrm *itrm)
+{
+ /*debug("svgalib_block: %p", itrm);*/
+ if (!itrm) return;
+ itrm->blocked = 1;
+ block_stdin();
+ if (kbd_set_raw) ttcsetattr(itrm->ctl_in, TCSANOW, &itrm->t);
+ set_handlers(itrm->std_in, NULL, NULL, (void (*)(void *))itrm_error, itrm);
+}
+
+#endif
+
diff --git a/language.c b/language.c
new file mode 100644
index 0000000..0075d7c
--- /dev/null
+++ b/language.c
@@ -0,0 +1,133 @@
+/* language.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+struct translation {
+ int code;
+ unsigned char *name;
+};
+
+struct translation_desc {
+ struct translation *t;
+};
+
+unsigned char dummyarray[T__N_TEXTS];
+
+#include "language.inc"
+
+static unsigned char **translation_array[N_LANGUAGES][N_CODEPAGES];
+
+int current_language;
+static int current_lang_charset;
+
+void init_trans(void)
+{
+ int i, j;
+ for (i = 0; i < N_LANGUAGES; i++)
+ for (j = 0; j < N_CODEPAGES; j++)
+ translation_array[i][j] = NULL;
+ current_language = 0;
+ current_lang_charset = 0;
+}
+
+void shutdown_trans(void)
+{
+ int i, j, k;
+ for (i = 0; i < N_LANGUAGES; i++)
+ for (j = 0; j < N_CODEPAGES; j++) if (translation_array[i][j]) {
+ for (k = 0; k < T__N_TEXTS; k++) {
+ unsigned char *txt = translation_array[i][j][k];
+ if (txt &&
+ txt != translations[i].t[k].name &&
+ txt != translations[0].t[k].name)
+ mem_free(txt);
+ }
+ mem_free(translation_array[i][j]);
+ }
+}
+
+static inline int is_direct_text(unsigned char *text)
+{
+/* Do not compare to dummyarray directly - thwart some misoptimizations */
+ unsigned char * volatile dm = dummyarray;
+ return !(text >= dm && text < dm + T__N_TEXTS);
+}
+
+unsigned char *get_text_translation(unsigned char *text, struct terminal *term)
+{
+ unsigned char **current_tra;
+ struct conv_table *conv_table;
+ unsigned char *trn;
+ int charset;
+ if (!term) charset = 0;
+ else if (term->spec) charset = term->spec->charset;
+ else charset = utf8_table;
+ if (is_direct_text(text)) return text;
+ if ((current_tra = translation_array[current_language][charset])) {
+ unsigned char *tt;
+ if ((trn = current_tra[text - dummyarray])) return trn;
+ tr:
+ if (!(tt = translations[current_language].t[text - dummyarray].name)) {
+ trn = translation_english[text - dummyarray].name;
+ } else {
+ struct document_options l_opt;
+ memset(&l_opt, 0, sizeof(l_opt));
+ l_opt.plain = 0;
+ l_opt.cp = charset;
+ conv_table = get_translation_table(current_lang_charset, charset);
+ trn = convert_string(conv_table, tt, strlen(tt), &l_opt);
+ if (!strcmp(trn, tt)) {
+ mem_free(trn);
+ trn = tt;
+ }
+ }
+ current_tra[text - dummyarray] = trn;
+ } else {
+ if (current_lang_charset && charset != current_lang_charset) {
+ current_tra = translation_array[current_language][charset] = mem_alloc(sizeof (unsigned char **) * T__N_TEXTS);
+ memset(current_tra, 0, sizeof (unsigned char **) * T__N_TEXTS);
+ goto tr;
+ }
+ if (!(trn = translations[current_language].t[text - dummyarray].name)) {
+ trn = translations[current_language].t[text - dummyarray].name = translation_english[text - dummyarray].name; /* modifying translation structure */
+ }
+ }
+ return trn;
+}
+
+unsigned char *get_english_translation(unsigned char *text)
+{
+ if (is_direct_text(text)) return text;
+ return translation_english[text - dummyarray].name;
+}
+
+int n_languages(void)
+{
+ return N_LANGUAGES;
+}
+
+unsigned char *language_name(int l)
+{
+ return translations[l].t[T__LANGUAGE].name;
+}
+
+void set_language(int l)
+{
+ int i;
+ unsigned char *cp;
+ for (i = 0; i < T__N_TEXTS; i++) if (translations[l].t[i].code != i) {
+ internal("Bad table for language %s. Run script synclang.", translations[l].t[T__LANGUAGE].name);
+ return;
+ }
+ current_language = l;
+ cp = translations[l].t[T__CHAR_SET].name;
+ i = get_cp_index(cp);
+ if (i == -1) {
+ internal("Unknown charset for language %s.", translations[l].t[T__LANGUAGE].name);
+ i = 0;
+ }
+ current_lang_charset = i;
+}
diff --git a/language.h b/language.h
new file mode 100644
index 0000000..1e91eec
--- /dev/null
+++ b/language.h
@@ -0,0 +1,599 @@
+/* Automatically generated by gen-intl */
+
+#define N_LANGUAGES 33
+
+#define T__CHAR_SET 1
+#define T__LANGUAGE 2
+#define T__ACCEPT_LANGUAGE 3
+#define T_OK 4
+#define T_CANCEL 5
+#define T_BAD_NUMBER 6
+#define T_NUMBER_EXPECTED 7
+#define T_NUMBER_OUT_OF_RANGE 8
+#define T_BAD_STRING 9
+#define T_EMPTY_STRING_NOT_ALLOWED 10
+#define T_BAD_IP_ADDRESS 11
+#define T_INVALID_IP_ADDRESS_SYNTAX 12
+#define T_UNABLE_TO_USE_LOCAL_IP_ADDRESS 13
+#define T_CONFIG_ERROR 14
+#define T_UNABLE_TO_WRITE_TO_CONFIG_FILE 15
+#define T_BOOKMARK_ERROR 16
+#define T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE 17
+#define T_ABOUT 18
+#define T_LINKS__LYNX_LIKE 19
+#define T_VERSION 20
+#define T_VERSION_INFORMATION 21
+#define T_LINKS_VERSION 22
+#define T_OPERATING_SYSTEM_TYPE 23
+#define T_OPERATING_SYSTEM_VERSION 24
+#define T_COMPILER 25
+#define T_COMPILE_TIME 26
+#define T_WORD_SIZE 27
+#define T_MEMORY 28
+#define T_FILE_SIZE 29
+#define T_DEBUGGING_LEVEL 30
+#define T_UTF8_TERMINAL 31
+#define T_COMPRESSION_METHODS 32
+#define T_ENCRYPTION 33
+#define T_GPM_MOUSE_DRIVER 34
+#define T_XTERM_FOR_OS2 35
+#define T_GRAPHICS_MODE 36
+#define T_IMAGE_LIBRARIES 37
+#define T_KEYS 38
+#define T_KEYS_DESC 39
+#define T_KEYS_BRAILLE_DESC 40
+#define T_COPYING 41
+#define T_COPYING_DESC 42
+#define T_RESOURCES 43
+#define T_CONNECTIONS 44
+#define T_MEMORY_CACHE 45
+#define T_DECOMPRESSED_CACHE 46
+#define T_FONT_CACHE 47
+#define T_IMAGE_CACHE 48
+#define T_FORMATTED_DOCUMENT_CACHE 49
+#define T_DNS_CACHE 50
+#define T_HANDLES 51
+#define T_TIMERS 52
+#define T_WAITING 53
+#define T_CONNECTING 54
+#define T_tRANSFERRING 55
+#define T_KEEPALIVE 56
+#define T_BYTES 57
+#define T_LETTERS 58
+#define T_FILES 59
+#define T_LOCKED 60
+#define T_LOADING 61
+#define T_IMAGES 62
+#define T_DOCUMENTS 63
+#define T_SERVERS 64
+#define T_MEMORY_ALLOCATED 65
+#define T_BLOCKS_ALLOCATED 66
+#define T_MEMORY_REQUESTED 67
+#define T_BLOCKS_REQUESTED 68
+#define T_JS_MEMORY_ALLOCATED 69
+#define T_MEMORY_INFO 70
+#define T_NO_HISTORY 71
+#define T_NO_DOWNLOADS 72
+#define T_NO_FRAMES 73
+#define T_VT_100_FRAMES 74
+#define T_LINUX_OR_OS2_FRAMES 75
+#define T_KOI8R_FRAMES 76
+#define T_FREEBSD_FRAMES 77
+#define T_USE_11M 78
+#define T_RESTRICT_FRAMES_IN_CP850_852 79
+#define T_BLOCK_CURSOR 80
+#define T_COLOR 81
+#define T_BRAILLE_TERMINAL 82
+#define T_TERMINAL_OPTIONS 83
+#define T_PROXIES 84
+#define T_HTTP_PROXY__HOST_PORT 85
+#define T_FTP_PROXY__HOST_PORT 86
+#define T_SOCKS_4A_PROXY__USER_HOST_PORT 87
+#define T_APPEND_TEXT_TO_SOCKS_LOOKUPS 88
+#define T_ONLY_PROXIES 89
+#define T_NOPROXY_LIST 90
+#define T_NETWORK_OPTIONS 91
+#define T_MAX_CONNECTIONS 92
+#define T_MAX_CONNECTIONS_TO_ONE_HOST 93
+#define T_RETRIES 94
+#define T_RECEIVE_TIMEOUT_SEC 95
+#define T_TIMEOUT_WHEN_UNRESTARTABLE 96
+#define T_BIND_TO_LOCAL_IP_ADDRESS 97
+#define T_ASYNC_DNS_LOOKUP 98
+#define T_SET_TIME_OF_DOWNLOADED_FILES 99
+#define T_CACHE_OPTIONS 100
+#define T_MEMORY_CACHE_SIZE__KB 101
+#define T_IMAGE_CACHE_SIZE__KB 102
+#define T_FONT_CACHE_SIZE__KB 103
+#define T_NUMBER_OF_FORMATTED_DOCUMENTS 104
+#define T_AGGRESSIVE_CACHE 105
+#define T_HTML_OPTIONS 106
+#define T_DISPLAY_TABLES 107
+#define T_DISPLAY_FRAMES 108
+#define T_DISPLAY_IMAGES 109
+#define T_DISPLAY_IMAGE_FILENAMES 110
+#define T_DISPLAY_LINKS_TO_IMAGES 111
+#define T_LINK_ORDER_BY_COLUMNS 112
+#define T_NUMBERED_LINKS 113
+#define T_AUTO_REFRESH 114
+#define T_TARGET_IN_NEW_WINDOW 115
+#define T_TEXT_MARGIN 116
+#define T_DEFAULT_CODEPAGE 117
+#define T_IGNORE_CHARSET_INFO_SENT_BY_SERVER 118
+#define T_TEXT_COLOR 119
+#define T_LINK_COLOR 120
+#define T_BACKGROUND_COLOR 121
+#define T_IGNORE_DOCUMENT_COLOR 122
+#define T_COLOR_0 123
+#define T_COLOR_1 124
+#define T_COLOR_2 125
+#define T_COLOR_3 126
+#define T_COLOR_4 127
+#define T_COLOR_5 128
+#define T_COLOR_6 129
+#define T_COLOR_7 130
+#define T_COLOR_8 131
+#define T_COLOR_9 132
+#define T_COLOR_10 133
+#define T_COLOR_11 134
+#define T_COLOR_12 135
+#define T_COLOR_13 136
+#define T_COLOR_14 137
+#define T_COLOR_15 138
+#define T_GOTO_URL 139
+#define T_GO_BACK 140
+#define T_GO_FORWARD 141
+#define T_HISTORY 142
+#define T_RELOAD 143
+#define T_NEW_WINDOW 144
+#define T_SAVE_AS 145
+#define T_SAVE_URL_AS 146
+#define T_SAVE_FORMATTED_DOCUMENT 147
+#define T_COPY_URL_LOCATION 148
+#define T_KILL_BACKGROUND_CONNECTIONS 149
+#define T_KILL_ALL_CONNECTIONS 150
+#define T_FLUSH_ALL_CACHES 151
+#define T_RESOURCE_INFO 152
+#define T_OS_SHELL 153
+#define T_EXIT 154
+#define T_SEARCH 155
+#define T_SEARCH_BACK 156
+#define T_FIND_NEXT 157
+#define T_FIND_PREVIOUS 158
+#define T_TOGGLE_HTML_PLAIN 159
+#define T_DOCUMENT_INFO 160
+#define T_FRAME_AT_FULL_SCREEN 161
+#define T_SAVE_HTML_OPTIONS 162
+#define T_CHARACTER_SET 163
+#define T_CACHE 164
+#define T_MAIL_AND_TELNEL 165
+#define T_MAIL_TELNET_AND_SHELL 166
+#define T_ASSOCIATIONS 167
+#define T_FILE_EXTENSIONS 168
+#define T_SAVE_OPTIONS 169
+#define T_FILE 170
+#define T_VIEW 171
+#define T_LINK 172
+#define T_DOWNLOADS 173
+#define T_SETUP 174
+#define T_HELP 175
+#define T_ENTER_URL 176
+#define T_SAVE_URL 177
+#define T_DOWNLOAD 178
+#define T_SAVE_TO_FILE 179
+#define T_SEARCH_FOR_TEXT 180
+#define T_PAGE_P 181
+#define T_PAGE_OF 182
+#define T_PAGE_CL 183
+#define T_WAITING_IN_QUEUE 184
+#define T_LOOKING_UP_HOST 185
+#define T_MAKING_CONNECTION 186
+#define T_SOCKS_NEGOTIATION 187
+#define T_SSL_NEGOTIATION 188
+#define T_REQUEST_SENT 189
+#define T_GETTING_HEADERS 190
+#define T_LOGGING_IN 191
+#define T_SERVER_IS_PROCESSING_REQUEST 192
+#define T_TRANSFERRING 193
+#define T_WAITING_FOR_REDIRECT_CONFIRMATION 194
+#define T_INTERRUPTED 195
+#define T_SOCKET_EXCEPTION 196
+#define T_INTERNAL_ERROR 197
+#define T_OUT_OF_MEMORY 198
+#define T_HOST_NOT_FOUND 199
+#define T_ERROR_WRITING_TO_SOCKET 200
+#define T_ERROR_READING_FROM_SOCKET 201
+#define T_DATA_MODIFIED 202
+#define T_BAD_URL_SYNTAX 203
+#define T_RECEIVE_TIMEOUT 204
+#define T_REQUEST_MUST_BE_RESTARTED 205
+#define T_CANT_GET_SOCKET_STATE 206
+#define T_CYCLIC_REDIRECT 207
+#define T_TOO_LARGE_FILE 208
+#define T_BLOCKED_URL 209
+#define T_NO_PROXY 210
+#define T_BAD_HTTP_RESPONSE 211
+#define T_HTTP_100 212
+#define T_NO_CONTENT 213
+#define T_UNKNOWN_FILE_TYPE 214
+#define T_ERROR_OPENING_FILE 215
+#define T_BAD_FTP_RESPONSE 216
+#define T_FTP_SERVICE_UNAVAILABLE 217
+#define T_BAD_FTP_LOGIN 218
+#define T_FTP_PORT_COMMAND_FAILED 219
+#define T_FILE_NOT_FOUND 220
+#define T_FTP_FILE_ERROR 221
+#define T_UNKNOWN_ERROR 222
+#define T_RECEIVED 223
+#define T_OF 224
+#define T_AVG 225
+#define T_CUR 226
+#define T_AVERAGE_SPEED 227
+#define T_SPEED 228
+#define T_CURRENT_SPEED 229
+#define T_ELAPSED_TIME 230
+#define T_ESTIMATED_TIME 231
+#define T_BACKGROUND 232
+#define T_ABORT 233
+#define T_ABORT_AND_DELETE_FILE 234
+#define T_YES 235
+#define T_NO 236
+#define T_DIRECTORY 237
+#define T_FILE_ALREADY_EXISTS 238
+#define T_ALREADY_EXISTS_AS_DOWNLOAD 239
+#define T_ALREADY_EXISTS 240
+#define T_DO_YOU_WISH_TO_CONTINUE 241
+#define T_DO_YOU_WISH_TO_OVERWRITE 242
+#define T_CONTINUE 243
+#define T_OVERWRITE 244
+#define T_RENAME 245
+#define T_DOWNLOAD_ERROR 246
+#define T_COULD_NOT_WRITE_TO_FILE 247
+#define T_ERROR_DOWNLOADING 248
+#define T_ERROR_LOADING 249
+#define T_COULD_NOT_CREATE_FILE 250
+#define T_COULD_NOT_CREATE_TEMPORARY_FILE 251
+#define T_ERROR_CALLING_LSEEK_ON_FILE 252
+#define T_TOO_LARGE_FILE_SEQUENCE 253
+#define T_UNKNOWN_TYPE 254
+#define T_CONTENT_TYPE_IS 255
+#define T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE 256
+#define T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE 257
+#define T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE 258
+#define T_SAVE 259
+#define T_DISPLAY 260
+#define T_WHAT_TO_DO 261
+#define T_DO_YOU_WANT_TO_OPEN_FILE_WITH 262
+#define T_SAVE_IT_OR_DISPLAY_IT 263
+#define T_OPEN 264
+#define T_OPEN_WITH 265
+#define T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL 266
+#define T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL 267
+#define T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL 268
+#define T_WARNING 269
+#define T_ERROR 270
+#define T_WELCOME 271
+#define T_WELCOME_TO_LINKS 272
+#define T_BASIC_HELP 273
+#define T_LABEL 274
+#define T_CONTENT_TYPES 275
+#define T_PROGRAM__IS_REPLACED_WITH_FILE_NAME 276
+#define T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING 277
+#define T_RUN_ON_TERMINAL 278
+#define T_RUN_IN_XWINDOW 279
+#define T_ASK_BEFORE_OPENING 280
+#define T_ACCEPT_HTTP 281
+#define T_ACCEPT_FTP 282
+#define T_DELETE_ASSOCIATION 283
+#define T_ASSOCIATION 284
+#define T_EXTENSION_S 285
+#define T_CONTENT_TYPE 286
+#define T_DELETE_EXTENSION 287
+#define T_EXTENSION 288
+#define T_eXTENSION 289
+#define T_ERROR_WHILE_POSTING_FORM 290
+#define T_COULD_NOT_GET_FILE 291
+#define T_READING_FILES_IS_NOT_ALLOWED 292
+#define T_NO_PREVIOUS_SEARCH 293
+#define T_SEARCH_STRING_NOT_FOUND 294
+#define T_SAVE_ERROR 295
+#define T_ERROR_WRITING_TO_FILE 296
+#define T_DISPLAY_USEMAP 297
+#define T_FOLLOW_LINK 298
+#define T_OPEN_IN_NEW_WINDOW 299
+#define T_DOWNLOAD_LINK 300
+#define T_RESET_FORM 301
+#define T_SUBMIT_FORM 302
+#define T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW 303
+#define T_SUBMIT_FORM_AND_DOWNLOAD 304
+#define T_VIEW_IMAGE 305
+#define T_DOWNLOAD_IMAGE 306
+#define T_NO_LINK_SELECTED 307
+#define T_IMAGE 308
+#define T_USEMAP 309
+#define T_XTERM 310
+#define T_TWTERM 311
+#define T_SCREEN 312
+#define T_WINDOW 313
+#define T_FULL_SCREEN 314
+#define T_BEOS_TERMINAL 315
+#define T_UNABLE_TO_OPEN_NEW_WINDOW 316
+#define T_JAVASCRIPT 317
+#define T_SUBMIT_FORM_TO 318
+#define T_POST_FORM_TO 319
+#define T_RADIO_BUTTON 320
+#define T_CHECKBOX 321
+#define T_SELECT_FIELD 322
+#define T_TEXT_FIELD 323
+#define T_TEXT_AREA 324
+#define T_FILE_UPLOAD 325
+#define T_PASSWORD_FIELD 326
+#define T_BUTTON 327
+#define T_NAME 328
+#define T_VALUE 329
+#define T_HIT_ENTER_TO 330
+#define T_SUBMIT_TO 331
+#define T_POST_TO 332
+#define T_INFO 333
+#define T_HEADER_INFO 334
+#define T_YOU_ARE_NOWHERE 335
+#define T_NO_HEADER 336
+#define T_URL 337
+#define T_SIZE 338
+#define T_COMPRESSED_WITH 339
+#define T_INCOMPLETE 340
+#define T_CODEPAGE 341
+#define T_ASSUMED 342
+#define T_IGNORING_SERVER_SETTING 343
+#define T_SERVER 344
+#define T_DATE 345
+#define T_LAST_MODIFIED 346
+#define T_SSL_CIPHER 347
+#define T_LANGUAGE 348
+#define T_GO_TO_LINK 349
+#define T_ENTER_LINK_NUMBER 350
+#define T_RESIZE_TERMINAL 351
+#define T_COLUMNS 352
+#define T_ROWS 353
+#define T_GOTO 354
+#define T_CLOSE 355
+#define T_FOLDER 356
+#define T_fOLDER 357
+#define T_ADD 358
+#define T_DELETE 359
+#define T_EDIT 360
+#define T_MOVE 361
+#define T_NO_ITEMS_SELECTED 362
+#define T_UNSELECT_ALL 363
+#define T_BOOKMARKS 364
+#define T_BOOKMARK 365
+#define T_ADD_BOOKMARK 366
+#define T_ADD_ASSOCIATION 367
+#define T_ADD_EXTENSION 368
+#define T_ADD_FOLDER 369
+#define T_BOOKMARK_TITLE 370
+#define T_EDIT_BOOKMARK 371
+#define T_EDIT_ASSOCIATION 372
+#define T_EDIT_EXTENSION 373
+#define T_DELETE_BOOKMARK 374
+#define T_EDIT_FOLDER 375
+#define T_DELETE_FOLDER 376
+#define T_NOT_EMPTY_SURE_DELETE 377
+#define T_BOOKMARK_MANAGER 378
+#define T_ASSOCIATIONS_MANAGER 379
+#define T_EXTENSIONS_MANAGER 380
+#define T_url 381
+#define T_NNAME 382
+#define T_EXIT_LINKS 383
+#define T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW 384
+#define T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS 385
+#define T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS 386
+#define T_HTTP_OPTIONS 387
+#define T_FTP_OPTIONS 388
+#define T_HTTP_BUG_WORKAROUNDS 389
+#define T_USE_HTTP_10 390
+#define T_ALLOW_SERVER_BLACKLIST 391
+#define T_BROKEN_302_REDIRECT 392
+#define T_NO_KEEPALIVE_AFTER_POST_REQUEST 393
+#define T_DO_NOT_SEND_ACCEPT_CHARSET 394
+#define T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT 395
+#define T_RETRY_ON_INTERNAL_ERRORS 396
+#define T_HEADER_OPTIONS 397
+#define T_HTTP_HEADER_OPTIONS 398
+#define T_REFERER_NONE 399
+#define T_REFERER_SAME_URL 400
+#define T_REFERER_FAKE 401
+#define T_REFERER_REAL_SAME_SERVER 402
+#define T_REFERER_REAL 403
+#define T_FAKE_REFERER 404
+#define T_FAKE_USERAGENT 405
+#define T_EXTRA_HEADER 406
+#define T_PASSWORD_FOR_ANONYMOUS_LOGIN 407
+#define T_USE_PASSIVE_FTP 408
+#define T_USE_FAST_FTP 409
+#define T_SET_TYPE_OF_SERVICE 410
+#define T_MANUAL 411
+#define T_HOMEPAGE 412
+#define T_CALIBRATION 413
+#define T_MAILTO_PROG 414
+#define T_SHELL_PROG 415
+#define T_TELNET_PROG 416
+#define T_MAGNET_PROG 417
+#define T_TN3270_PROG 418
+#define T_MMS_PROG 419
+#define T_MAIL_AND_TELNET_PROGRAMS 420
+#define T_MAIL_TELNET_AND_SHELL_PROGRAMS 421
+#define T_NO_PROGRAM 422
+#define T_NO_PROGRAM_SPECIFIED_FOR 423
+#define T_MAIL 424
+#define T_TELNET 425
+#define T_MAGNET 426
+#define T_TN3270 427
+#define T_MMS 428
+#define T_BAD_MAILTO_URL 429
+#define T_BAD_TELNET_URL 430
+#define T_BAD_TN3270_URL 431
+#define T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS 432
+#define T_AUTHORIZATION_REQUIRED 433
+#define T_PROXY_AUTHORIZATION_REQUIRED 434
+#define T_USERID 435
+#define T_PASSWORD 436
+#define T_ENTER_USERNAME 437
+#define T_AT 438
+#define T_SSL_ERROR 439
+#define T_NO_SSL 440
+#define T_SOCKS_REJECTED_OR_FAILED 441
+#define T_BAD_SOCKS_VERSION 442
+#define T_SOCKS_NO_IDENTD 443
+#define T_SOCKS_BAD_USERID 444
+#define T_SOCKS_UNKNOWN_ERROR 445
+#define T_NO_SMB_CLIENT 446
+#define T_DECOMPRESSION_ERROR 447
+#define T_ERROR_DECOMPRESSING_ 448
+#define T__wITH_ 449
+#define T_COMPRESSED_ERROR 450
+#define T_UNKNOWN_COMPRESSION_METHOD 451
+#define T_SURE_DELETE 452
+#define T_BOOKMARKS_ALREADY_IN_USE 453
+#define T_ASSOCIATIONS_ALREADY_IN_USE 454
+#define T_EXTENSIONS_ALREADY_IN_USE 455
+#define T_VIDEO_OPTIONS 456
+#define T_VIDEO_OPTIONS_TEXT 457
+#define T_RED_DISPLAY_GAMMA 458
+#define T_GREEN_DISPLAY_GAMMA 459
+#define T_BLUE_DISPLAY_GAMMA 460
+#define T_USER_GAMMA 461
+#define T_ALERT 462
+#define T_QUESTION 463
+#define T_KILL_SCRIPT 464
+#define T_KILL_ALL_SCRIPTS 465
+#define T_SCRIPT_KILLED_BY_USER 466
+#define T_SCRIPT_TRYING_TO_CLOSE_WINDOW 467
+#define T_ENTER_STRING 468
+#define T_JAVASCRIPT_OPTIONS 469
+#define T_ENABLE_JAVASCRIPT 470
+#define T_VERBOSE_JS_ERRORS 471
+#define T_VERBOSE_JS_WARNINGS 472
+#define T_MISCELANEOUS_OPTIONS 473
+#define T_JAVASCRIPT_ERROR 474
+#define T_JAVASCRIPT_WARNING 475
+#define T_DISMISS 476
+#define T_MENU_FONT_SIZE 477
+#define T_USER_FONT_SIZE 478
+#define T_TURN_OFF_WARNINGS 479
+#define T_BOOKMARKS_ENCODING 480
+#define T_JS_IS_ATTEMPTING_TO_GO_TO_URL 481
+#define T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL 482
+#define T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY 483
+#define T_TO_URL 484
+#define T_GOTO_HISTORY 485
+#define T_ALLOW 486
+#define T_REJECT 487
+#define T_ENABLE_ALL_CONVERSIONS 488
+#define T_ENABLE_GLOBAL_NAME_RESOLUTION 489
+#define T_MANUAL_JS_CONTROL 490
+#define T_JS_RECURSION_DEPTH 491
+#define T_MENU_BACKGROUND_COLOR 492
+#define T_MENU_FOREGROUND_COLOR 493
+#define T_SCROLL_BAR_BAR_COLOR 494
+#define T_SCROLL_BAR_AREA_COLOR 495
+#define T_SCROLL_BAR_FRAME_COLOR 496
+#define T_BOOKMARKS_FILE 497
+#define T_ENTER_COLORS_AS_RGB_TRIPLETS 498
+#define T_JS_MEMORY_LIMIT_KB 499
+#define T_DITHER_LETTERS 500
+#define T_DITHER_IMAGES 501
+#define T_8_BIT_GAMMA_CORRECTION 502
+#define T_16_BIT_GAMMA_CORRECTION 503
+#define T_AUTO_GAMMA_CORRECTION 504
+#define T_SCALE_ALL_IMAGES_BY 505
+#define T_PORN_ENABLE 506
+#define T_DISPLAY_OPTIMIZATION_CRT 507
+#define T_DISPLAY_OPTIMIZATION_LCD_RGB 508
+#define T_DISPLAY_OPTIMIZATION_LCD_BGR 509
+#define T_ASPECT_RATIO 510
+#define T_ASPECT_CORRECTION_ON 511
+#define T_KEYBOARD_CODEPAGE 512
+#define T_COPY_LINK_LOCATION 513
+#define T_BLOCK_URL 514
+#define T_BLOCK_LIST 515
+#define T_BLOCKED_IMAGE 516
+#define T_BLOCK_LIST_IN_USE 517
+#define T_BLOCK_LIST_MANAGER 518
+#define T_BLOCK_ADD 519
+#define T_BLOCK_EDIT 520
+#define T_BLOCK_DELETE 521
+#define T_HK_GOTO_URL 522
+#define T_HK_GO_BACK 523
+#define T_HK_GO_FORWARD 524
+#define T_HK_HISTORY 525
+#define T_HK_RELOAD 526
+#define T_HK_BOOKMARKS 527
+#define T_HK_NEW_WINDOW 528
+#define T_HK_SAVE_AS 529
+#define T_HK_SAVE_URL_AS 530
+#define T_HK_SAVE_FORMATTED_DOCUMENT 531
+#define T_HK_COPY_URL_LOCATION 532
+#define T_HK_KILL_BACKGROUND_CONNECTIONS 533
+#define T_HK_KILL_ALL_CONNECTIONS 534
+#define T_HK_FLUSH_ALL_CACHES 535
+#define T_HK_RESOURCE_INFO 536
+#define T_HK_MEMORY_INFO 537
+#define T_HK_OS_SHELL 538
+#define T_HK_RESIZE_TERMINAL 539
+#define T_HK_EXIT 540
+#define T_HK_SEARCH 541
+#define T_HK_SEARCH_BACK 542
+#define T_HK_FIND_NEXT 543
+#define T_HK_FIND_PREVIOUS 544
+#define T_HK_TOGGLE_HTML_PLAIN 545
+#define T_HK_DOCUMENT_INFO 546
+#define T_HK_HEADER_INFO 547
+#define T_HK_FRAME_AT_FULL_SCREEN 548
+#define T_HK_HTML_OPTIONS 549
+#define T_HK_COLOR 550
+#define T_HK_SAVE_HTML_OPTIONS 551
+#define T_HK_LANGUAGE 552
+#define T_HK_CHARACTER_SET 553
+#define T_HK_TERMINAL_OPTIONS 554
+#define T_HK_VIDEO_OPTIONS 555
+#define T_HK_NETWORK_OPTIONS 556
+#define T_HK_JAVASCRIPT_OPTIONS 557
+#define T_HK_MISCELANEOUS_OPTIONS 558
+#define T_HK_CACHE 559
+#define T_HK_MAIL_AND_TELNEL 560
+#define T_HK_ASSOCIATIONS 561
+#define T_HK_FILE_EXTENSIONS 562
+#define T_HK_BLOCK_LIST 563
+#define T_HK_SAVE_OPTIONS 564
+#define T_HK_ABOUT 565
+#define T_HK_KEYS 566
+#define T_HK_COPYING 567
+#define T_HK_MANUAL 568
+#define T_HK_HOMEPAGE 569
+#define T_HK_CALIBRATION 570
+#define T_HK_FILE 571
+#define T_HK_VIEW 572
+#define T_HK_LINK 573
+#define T_HK_DOWNLOADS 574
+#define T_HK_SETUP 575
+#define T_HK_HELP 576
+#define T_HK_DISPLAY_USEMAP 577
+#define T_HK_FOLLOW_LINK 578
+#define T_HK_OPEN_IN_NEW_WINDOW 579
+#define T_HK_DOWNLOAD_LINK 580
+#define T_HK_RESET_FORM 581
+#define T_HK_SUBMIT_FORM 582
+#define T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW 583
+#define T_HK_SUBMIT_FORM_AND_DOWNLOAD 584
+#define T_HK_VIEW_IMAGE 585
+#define T_HK_DOWNLOAD_IMAGE 586
+#define T_HK_COPY_LINK_LOCATION 587
+#define T_HK_BLOCK_URL 588
+#define T_HK_XTERM 589
+#define T_HK_TWTERM 590
+#define T_HK_SCREEN 591
+#define T_HK_WINDOW 592
+#define T_HK_FULL_SCREEN 593
+#define T_HK_BEOS_TERMINAL 594
+#define T__N_TEXTS 595
diff --git a/language.inc b/language.inc
new file mode 100644
index 0000000..cca59fb
--- /dev/null
+++ b/language.inc
@@ -0,0 +1,19806 @@
+/* Automatically generated by gen-intl */
+
+static struct translation translation_english [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "us-ascii" },
+ {T__LANGUAGE, "English" },
+ {T__ACCEPT_LANGUAGE, "en" },
+ {T_OK, "OK" },
+ {T_CANCEL, "Cancel" },
+ {T_BAD_NUMBER, "Bad number" },
+ {T_NUMBER_EXPECTED, "Number expected in field" },
+ {T_NUMBER_OUT_OF_RANGE, "Number out of range" },
+ {T_BAD_STRING, "Bad string" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Empty string not allowed" },
+ {T_BAD_IP_ADDRESS, "Bad IP address" },
+ {T_INVALID_IP_ADDRESS_SYNTAX, "Invalid IP address syntax" },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, "Unable to use local IP address" },
+ {T_CONFIG_ERROR, "Config error" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Unable to write to config file" },
+ {T_BOOKMARK_ERROR, "Bookmark error" },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, "Unable to write to bookmark file" },
+ {T_ABOUT, "About" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nText and graphics WWW browser" },
+ {T_VERSION, "Version" },
+ {T_VERSION_INFORMATION, "Version information" },
+ {T_LINKS_VERSION, "Links version" },
+ {T_OPERATING_SYSTEM_TYPE, "Operating system type" },
+ {T_OPERATING_SYSTEM_VERSION, "Operating system version" },
+ {T_COMPILER, "Compiler" },
+ {T_COMPILE_TIME, "Compile time" },
+ {T_WORD_SIZE, "Word size" },
+ {T_MEMORY, "Memory" },
+ {T_FILE_SIZE, "file size" },
+ {T_DEBUGGING_LEVEL, "Debugging level" },
+ {T_UTF8_TERMINAL, "UTF-8 terminal" },
+ {T_COMPRESSION_METHODS, "Compression methods" },
+ {T_ENCRYPTION, "Encryption" },
+ {T_GPM_MOUSE_DRIVER, "GPM mouse driver" },
+ {T_XTERM_FOR_OS2, "Xterm for OS/2" },
+ {T_GRAPHICS_MODE, "Graphics mode" },
+ {T_IMAGE_LIBRARIES, "Image libraries" },
+ {T_KEYS, "Keys" },
+ {T_KEYS_DESC, "ESC display menu\n^C, q, Q quit\n^P, ^N scroll up, down\n[, ] scroll left, right\nup, down select link\n-> follow link\n<-, z go back\n', x go forward\nTAB switch frames\ng go to url\nG go to url based on current url\n^G go to url based on current link\n* toggle image displaying\n^W complete URL or search string\n^B,^X,^V,^K copy, cut, paste, cut line to/from clipboard\nAlt-1 .. Alt-9 switch virtual screens (svgalib and fb)" },
+ {T_KEYS_BRAILLE_DESC, "a, w cursor to status line or title\n{, } cursor to start/end of a line\n^Y,^T,y,t,^O go to next/previous link/word/form entry" },
+ {T_COPYING, "Copying" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\nThis 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." },
+ {T_RESOURCES, "Resources" },
+ {T_CONNECTIONS, "Connections" },
+ {T_MEMORY_CACHE, "Memory cache" },
+ {T_DECOMPRESSED_CACHE, "Decompressed cache" },
+ {T_FONT_CACHE, "Font cache" },
+ {T_IMAGE_CACHE, "Image cache" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Formatted document cache" },
+ {T_DNS_CACHE, "DNS cache" },
+ {T_HANDLES, "handles" },
+ {T_TIMERS, "timers" },
+ {T_WAITING, "waiting" },
+ {T_CONNECTING, "connecting" },
+ {T_tRANSFERRING, "transferring" },
+ {T_KEEPALIVE, "keepalive" },
+ {T_BYTES, "bytes" },
+ {T_LETTERS, "letters" },
+ {T_FILES, "files" },
+ {T_LOCKED, "locked" },
+ {T_LOADING, "loading" },
+ {T_IMAGES, "images" },
+ {T_DOCUMENTS, "documents" },
+ {T_SERVERS, "servers" },
+ {T_MEMORY_ALLOCATED, "bytes of memory allocated" },
+ {T_BLOCKS_ALLOCATED, "blocks" },
+ {T_MEMORY_REQUESTED, "bytes requested from system" },
+ {T_BLOCKS_REQUESTED, "blocks" },
+ {T_JS_MEMORY_ALLOCATED, "bytes of javascript memory allocated" },
+ {T_MEMORY_INFO, "Memory info" },
+ {T_NO_HISTORY, "No history" },
+ {T_NO_DOWNLOADS, "No downloads" },
+ {T_NO_FRAMES, "No frames" },
+ {T_VT_100_FRAMES, "VT 100 frames" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux or OS/2 frames" },
+ {T_KOI8R_FRAMES, "KOI8-R frames" },
+ {T_FREEBSD_FRAMES, "FreeBSD frames" },
+ {T_USE_11M, "Use ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Restrict frames in cp850/852" },
+ {T_BLOCK_CURSOR, "Block cursor" },
+ {T_COLOR, "Color" },
+ {T_BRAILLE_TERMINAL, "Braille terminal" },
+ {T_TERMINAL_OPTIONS, "Terminal options" },
+ {T_PROXIES, "Proxies" },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, "Socks4A proxy (user@host:port)" },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, "Append text to hostname (for specifying tor exit node)" },
+ {T_ONLY_PROXIES, "Connect only via proxies or Socks (useful for tor)" },
+ {T_NOPROXY_LIST, "Direct access (w/o proxy) domains (comma separated)" },
+ {T_NETWORK_OPTIONS, "Network options" },
+ {T_MAX_CONNECTIONS, "Max connections" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Max connections to one host" },
+ {T_RETRIES, "Retries (0 - unlimited)" },
+ {T_RECEIVE_TIMEOUT_SEC, "Receive timeout (sec)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout when unrestartable" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, "Bind to local IP address" },
+ {T_ASYNC_DNS_LOOKUP, "Async DNS lookup" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Set time of downloaded files" },
+ {T_CACHE_OPTIONS, "Cache options" },
+ {T_MEMORY_CACHE_SIZE__KB, "Memory cache size (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "Image cache size (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, "Font cache size (KiB)" },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Number of formatted documents" },
+ {T_AGGRESSIVE_CACHE, "Aggressive cache" },
+ {T_HTML_OPTIONS, "Html options" },
+ {T_DISPLAY_TABLES, "Display tables" },
+ {T_DISPLAY_FRAMES, "Display frames" },
+ {T_DISPLAY_IMAGES, "Display images" },
+ {T_DISPLAY_IMAGE_FILENAMES, "Display image filenames" },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Display links to images" },
+ {T_LINK_ORDER_BY_COLUMNS, "Move by columns in table" },
+ {T_NUMBERED_LINKS, "Links are numbered" },
+ {T_AUTO_REFRESH, "Auto refresh" },
+ {T_TARGET_IN_NEW_WINDOW, "Allow opening links in new window (target=\"_blank\")" },
+ {T_TEXT_MARGIN, "Text margin" },
+ {T_DEFAULT_CODEPAGE, "Default codepage" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignore charset info sent by server" },
+ {T_TEXT_COLOR, "Text" },
+ {T_LINK_COLOR, "Link" },
+ {T_BACKGROUND_COLOR, "Background" },
+ {T_IGNORE_DOCUMENT_COLOR, "Ignore document color" },
+ {T_COLOR_0, "Black" },
+ {T_COLOR_1, "Red" },
+ {T_COLOR_2, "Green" },
+ {T_COLOR_3, "Yellow" },
+ {T_COLOR_4, "Dark blue" },
+ {T_COLOR_5, "Magenta" },
+ {T_COLOR_6, "Cyan" },
+ {T_COLOR_7, "White" },
+ {T_COLOR_8, "Dark grey" },
+ {T_COLOR_9, "Bright red" },
+ {T_COLOR_10, "Bright green" },
+ {T_COLOR_11, "Bright yellow" },
+ {T_COLOR_12, "Bright blue" },
+ {T_COLOR_13, "Bright magenta" },
+ {T_COLOR_14, "Bright cyan" },
+ {T_COLOR_15, "Bright white" },
+ {T_GOTO_URL, "Go to URL" },
+ {T_GO_BACK, "Go back" },
+ {T_GO_FORWARD, "Go forward" },
+ {T_HISTORY, "History" },
+ {T_RELOAD, "Reload" },
+ {T_NEW_WINDOW, "New window" },
+ {T_SAVE_AS, "Save as" },
+ {T_SAVE_URL_AS, "Save URL as" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Save formatted document" },
+ {T_COPY_URL_LOCATION, "Copy current URL location" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Kill background connections" },
+ {T_KILL_ALL_CONNECTIONS, "Kill all connections" },
+ {T_FLUSH_ALL_CACHES, "Flush all caches" },
+ {T_RESOURCE_INFO, "Resource info" },
+ {T_OS_SHELL, "OS shell" },
+ {T_EXIT, "Exit" },
+ {T_SEARCH, "Search" },
+ {T_SEARCH_BACK, "Search backward" },
+ {T_FIND_NEXT, "Find next" },
+ {T_FIND_PREVIOUS, "Find previous" },
+ {T_TOGGLE_HTML_PLAIN, "Toggle html/plain" },
+ {T_DOCUMENT_INFO, "Document info" },
+ {T_FRAME_AT_FULL_SCREEN, "Frame at full-screen" },
+ {T_SAVE_HTML_OPTIONS, "Save html options" },
+ {T_CHARACTER_SET, "Character set" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "Mail and telnet" },
+ {T_MAIL_TELNET_AND_SHELL, "Mail, telnet and shell" },
+ {T_ASSOCIATIONS, "Associations" },
+ {T_FILE_EXTENSIONS, "File extensions" },
+ {T_SAVE_OPTIONS, "Save options" },
+ {T_FILE, "File" },
+ {T_VIEW, "View" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "Downloads" },
+ {T_SETUP, "Setup" },
+ {T_HELP, "Help" },
+ {T_ENTER_URL, "Enter URL" },
+ {T_SAVE_URL, "Save URL" },
+ {T_DOWNLOAD, "Download" },
+ {T_SAVE_TO_FILE, "Save to file" },
+ {T_SEARCH_FOR_TEXT, "Search for text" },
+ {T_PAGE_P, "(p" },
+ {T_PAGE_OF, " of " },
+ {T_PAGE_CL, ")" },
+ {T_WAITING_IN_QUEUE, "Waiting in queue" },
+ {T_LOOKING_UP_HOST, "Looking up host" },
+ {T_MAKING_CONNECTION, "Making connection" },
+ {T_SOCKS_NEGOTIATION, "Making Socks connection" },
+ {T_SSL_NEGOTIATION, "SSL negotiation" },
+ {T_REQUEST_SENT, "Request sent" },
+ {T_GETTING_HEADERS, "Getting headers" },
+ {T_LOGGING_IN, "Logging in" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Server is processing request" },
+ {T_TRANSFERRING, "Transferring" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Waiting for redirect confirmation" },
+ {T_INTERRUPTED, "Interrupted" },
+ {T_SOCKET_EXCEPTION, "Socket exception" },
+ {T_INTERNAL_ERROR, "Internal error" },
+ {T_OUT_OF_MEMORY, "Out of memory" },
+ {T_HOST_NOT_FOUND, "Host not found" },
+ {T_ERROR_WRITING_TO_SOCKET, "Error writing to socket" },
+ {T_ERROR_READING_FROM_SOCKET, "Error reading from socket" },
+ {T_DATA_MODIFIED, "Data modified" },
+ {T_BAD_URL_SYNTAX, "Bad URL syntax" },
+ {T_RECEIVE_TIMEOUT, "Receive timeout" },
+ {T_REQUEST_MUST_BE_RESTARTED, "Request must be restarted" },
+ {T_CANT_GET_SOCKET_STATE, "Can't get socket state" },
+ {T_CYCLIC_REDIRECT, "Cyclic redirect" },
+ {T_TOO_LARGE_FILE, "Too large file" },
+ {T_BLOCKED_URL, "This URL is in your blocklist" },
+ {T_NO_PROXY, "No proxy for this connection and connections without proxies are disabled" },
+ {T_BAD_HTTP_RESPONSE, "Bad HTTP response" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "No content" },
+ {T_UNKNOWN_FILE_TYPE, "Unknown file type" },
+ {T_ERROR_OPENING_FILE, "Error opening file" },
+ {T_BAD_FTP_RESPONSE, "Bad FTP response" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP service unavailable" },
+ {T_BAD_FTP_LOGIN, "Bad FTP login" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT command failed" },
+ {T_FILE_NOT_FOUND, "File not found" },
+ {T_FTP_FILE_ERROR, "FTP file error" },
+ {T_UNKNOWN_ERROR, "Unknown error" },
+ {T_RECEIVED, "Received" },
+ {T_OF, "of" },
+ {T_AVG, "avg" },
+ {T_CUR, "cur" },
+ {T_AVERAGE_SPEED, "Average speed" },
+ {T_SPEED, "Speed" },
+ {T_CURRENT_SPEED, "current speed" },
+ {T_ELAPSED_TIME, "Elapsed time" },
+ {T_ESTIMATED_TIME, "estimated time" },
+ {T_BACKGROUND, "Background" },
+ {T_ABORT, "Abort" },
+ {T_ABORT_AND_DELETE_FILE, "Abort and delete file" },
+ {T_YES, "Yes" },
+ {T_NO, "No" },
+ {T_DIRECTORY, "Directory" },
+ {T_FILE_ALREADY_EXISTS, "File already exists" },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, "already exists as an active download." },
+ {T_ALREADY_EXISTS, "already exists." },
+ {T_DO_YOU_WISH_TO_CONTINUE, "Do you wish to continue download or overwrite file?" },
+ {T_DO_YOU_WISH_TO_OVERWRITE, "Do you wish to overwrite it?" },
+ {T_CONTINUE, "Continue" },
+ {T_OVERWRITE, "Overwrite" },
+ {T_RENAME, "Rename" },
+ {T_DOWNLOAD_ERROR, "Download error" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Could not create file" },
+ {T_ERROR_DOWNLOADING, "Error downloading" },
+ {T_ERROR_LOADING, "Error loading" },
+ {T_COULD_NOT_CREATE_FILE, "Could not create file" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, "Could not create temporary file" },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, "Error calling lseek on file" },
+ {T_TOO_LARGE_FILE_SEQUENCE, "Too large file sequence" },
+ {T_UNKNOWN_TYPE, "Unknown type" },
+ {T_CONTENT_TYPE_IS, "Content type is" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Do you want to open, save or display this file?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Do you want to open or display this file?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Do you want to save or display this file?" },
+ {T_SAVE, "Save" },
+ {T_DISPLAY, "Display" },
+ {T_WHAT_TO_DO, "What to do?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Do you want to open file with" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "save it or display it?" },
+ {T_OPEN, "Open" },
+ {T_OPEN_WITH, "Open with" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Do you want to follow redirect and post form data to url" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Do you want to post form data to url" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Do you want to repost form data to url" },
+ {T_WARNING, "Warning" },
+ {T_ERROR, "Error" },
+ {T_WELCOME, "Welcome" },
+ {T_WELCOME_TO_LINKS, "Welcome to links!" },
+ {T_BASIC_HELP, "To display menu, press ESC or click on the top line in window. Select Help->Manual in menu for user's manual." },
+ {T_LABEL, "Label" },
+ {T_CONTENT_TYPES, "Content-Type(s) (comma-separated)" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' is replaced with file name)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Block terminal while program running" },
+ {T_RUN_ON_TERMINAL, "Run on terminal" },
+ {T_RUN_IN_XWINDOW, "Run in X-Window" },
+ {T_ASK_BEFORE_OPENING, "Ask before opening" },
+ {T_ACCEPT_HTTP, "Accepts HTTP URLs" },
+ {T_ACCEPT_FTP, "Accepts FTP URLs" },
+ {T_DELETE_ASSOCIATION, "Delete association" },
+ {T_ASSOCIATION, "association" },
+ {T_EXTENSION_S, "Extension(s) (comma-separated)" },
+ {T_CONTENT_TYPE, "Content-Type" },
+ {T_DELETE_EXTENSION, "Delete extension" },
+ {T_EXTENSION, "Extension" },
+ {T_eXTENSION, "extension" },
+ {T_ERROR_WHILE_POSTING_FORM, "Error while posting form" },
+ {T_COULD_NOT_GET_FILE, "Could not get file" },
+ {T_READING_FILES_IS_NOT_ALLOWED, "Reading files is not allowed" },
+ {T_NO_PREVIOUS_SEARCH, "No previous search" },
+ {T_SEARCH_STRING_NOT_FOUND, "Search string not found" },
+ {T_SAVE_ERROR, "Save error" },
+ {T_ERROR_WRITING_TO_FILE, "Error writing to file" },
+ {T_DISPLAY_USEMAP, "Display usemap" },
+ {T_FOLLOW_LINK, "Follow link" },
+ {T_OPEN_IN_NEW_WINDOW, "Open in new window" },
+ {T_DOWNLOAD_LINK, "Download link" },
+ {T_RESET_FORM, "Reset form" },
+ {T_SUBMIT_FORM, "Submit form" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Submit form and open in new window" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Submit form and download" },
+ {T_VIEW_IMAGE, "View image" },
+ {T_DOWNLOAD_IMAGE, "Download image" },
+ {T_NO_LINK_SELECTED, "No link selected" },
+ {T_IMAGE, "Image" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Screen" },
+ {T_WINDOW, "Window" },
+ {T_FULL_SCREEN, "Full screen" },
+ {T_BEOS_TERMINAL, "BeOS terminal" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, "Unable to open new window" },
+ {T_JAVASCRIPT, "Javascript" },
+ {T_SUBMIT_FORM_TO, "Submit form to" },
+ {T_POST_FORM_TO, "Post form to" },
+ {T_RADIO_BUTTON, "Radio button" },
+ {T_CHECKBOX, "Checkbox" },
+ {T_SELECT_FIELD, "Select field" },
+ {T_TEXT_FIELD, "Text field" },
+ {T_TEXT_AREA, "Text area" },
+ {T_FILE_UPLOAD, "File upload" },
+ {T_PASSWORD_FIELD, "Password field" },
+ {T_BUTTON, "Button" },
+ {T_NAME, "name" },
+ {T_VALUE, "value" },
+ {T_HIT_ENTER_TO, "hit ENTER to" },
+ {T_SUBMIT_TO, "submit to" },
+ {T_POST_TO, "post to" },
+ {T_INFO, "Info" },
+ {T_HEADER_INFO, "Header info" },
+ {T_YOU_ARE_NOWHERE, "No page is displayed" },
+ {T_NO_HEADER, "The document doesn't have a header" },
+ {T_URL, "URL" },
+ {T_SIZE, "Size" },
+ {T_COMPRESSED_WITH, "compressed with" },
+ {T_INCOMPLETE, "incomplete" },
+ {T_CODEPAGE, "Codepage" },
+ {T_ASSUMED, "assumed" },
+ {T_IGNORING_SERVER_SETTING, "ignoring server setting" },
+ {T_SERVER, "Server" },
+ {T_DATE, "Date" },
+ {T_LAST_MODIFIED, "Last modified" },
+ {T_SSL_CIPHER, "SSL cipher" },
+ {T_LANGUAGE, "Language" },
+ {T_GO_TO_LINK, "Go to link" },
+ {T_ENTER_LINK_NUMBER, "Enter link number" },
+ {T_RESIZE_TERMINAL, "Resize terminal" },
+ {T_COLUMNS, "Columns" },
+ {T_ROWS, "Rows" },
+ {T_GOTO, "Goto" },
+ {T_CLOSE, "Close" },
+ {T_FOLDER, "Folder" },
+ {T_fOLDER, "folder" },
+ {T_ADD, "Add" },
+ {T_DELETE, "Delete" },
+ {T_EDIT, "Edit" },
+ {T_MOVE, "Move" },
+ {T_NO_ITEMS_SELECTED, "No items selected. Nothing to move." },
+ {T_UNSELECT_ALL, "Unselect all" },
+ {T_BOOKMARKS, "Bookmarks" },
+ {T_BOOKMARK, "bookmark" },
+ {T_ADD_BOOKMARK, "Add bookmark" },
+ {T_ADD_ASSOCIATION, "Add association" },
+ {T_ADD_EXTENSION, "Add extension" },
+ {T_ADD_FOLDER, "Add folder" },
+ {T_BOOKMARK_TITLE, "Bookmark title" },
+ {T_EDIT_BOOKMARK, "Edit bookmark" },
+ {T_EDIT_ASSOCIATION, "Edit association" },
+ {T_EDIT_EXTENSION, "Edit extension" },
+ {T_DELETE_BOOKMARK, "Delete bookmark" },
+ {T_EDIT_FOLDER, "Edit folder" },
+ {T_DELETE_FOLDER, "Delete folder" },
+ {T_NOT_EMPTY_SURE_DELETE, "is not empty. Do you really want to delete it?" },
+ {T_BOOKMARK_MANAGER, "Bookmark manager" },
+ {T_ASSOCIATIONS_MANAGER, "Associations manager" },
+ {T_EXTENSIONS_MANAGER, "Extensions manager" },
+ {T_url, "url" },
+ {T_NNAME, "Name" },
+ {T_EXIT_LINKS, "Exit Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "Do you really want to close window?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Do you really want to exit Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Do you really want to exit Links (and terminate all downloads)?" },
+ {T_HTTP_OPTIONS, "HTTP options" },
+ {T_FTP_OPTIONS, "FTP options" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP bug workarounds" },
+ {T_USE_HTTP_10, "Use HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Allow blacklist of buggy servers" },
+ {T_BROKEN_302_REDIRECT, "Broken redirect 302 (it violates RFC, but it's compatible with Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "No keepalive connection after POST request (some buggy PHP databases need it)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, "Do not send Accept-Charset" },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, "Do not advertise compression support" },
+ {T_RETRY_ON_INTERNAL_ERRORS, "Retry on internal server errors (50x)" },
+ {T_HEADER_OPTIONS, "Header options" },
+ {T_HTTP_HEADER_OPTIONS, "HTTP header options" },
+ {T_REFERER_NONE, "No referer" },
+ {T_REFERER_SAME_URL, "Send requested URL as referer" },
+ {T_REFERER_FAKE, "Fixed referer" },
+ {T_REFERER_REAL_SAME_SERVER, "Send real referer only to the same server" },
+ {T_REFERER_REAL, "Send real referer (normal operation, INSECURE!!!)" },
+ {T_FAKE_REFERER, "Fixed HTTP Referer" },
+ {T_FAKE_USERAGENT, "Fake User-Agent" },
+ {T_EXTRA_HEADER, "Extra header string ('\\' means newline)" },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Password for anonymous login" },
+ {T_USE_PASSIVE_FTP, "Use passive FTP" },
+ {T_USE_FAST_FTP, "Use fast (but RFC-incompatible) FTP" },
+ {T_SET_TYPE_OF_SERVICE, "Set IP Type Of Service" },
+ {T_MANUAL, "User's manual" },
+ {T_HOMEPAGE, "Home page" },
+ {T_CALIBRATION, "Calibration" },
+ {T_MAILTO_PROG, "Mail program (% is replaced with address)" },
+ {T_SHELL_PROG, "Shell for executing external commands (% is replaced with command)" },
+ {T_TELNET_PROG, "Telnet program (% is replaced with \"host\" or \"host port\")" },
+ {T_MAGNET_PROG, "Magnet program (% is replaced with URL)" },
+ {T_TN3270_PROG, "Tn3270 program (% is replaced with \"host\" or \"host port\")" },
+ {T_MMS_PROG, "MMS program (% is replaced with URL)" },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Mail and telnet programs" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Mail, telnet and shell programs" },
+ {T_NO_PROGRAM, "No program" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "No program specified for" },
+ {T_MAIL, "mail" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, "magnet" },
+ {T_TN3270, "tn3270" },
+ {T_MMS, "mms" },
+ {T_BAD_MAILTO_URL, "Bad mailto url" },
+ {T_BAD_TELNET_URL, "Bad telnet url" },
+ {T_BAD_TN3270_URL, "Bad tn3270 url" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "MMS url contains inacceptable characters" },
+ {T_AUTHORIZATION_REQUIRED, "Authorization required" },
+ {T_PROXY_AUTHORIZATION_REQUIRED, "Proxy authorization required" },
+ {T_USERID, "User ID" },
+ {T_PASSWORD, "Password" },
+ {T_ENTER_USERNAME, "Enter username for " },
+ {T_AT, "at " },
+ {T_SSL_ERROR, "SSL error" },
+ {T_NO_SSL, "This version of Links does not contain SSL/TLS support" },
+ {T_SOCKS_REJECTED_OR_FAILED, "Socks connection rejected or failed" },
+ {T_BAD_SOCKS_VERSION, "Bad Socks version (4a is required)" },
+ {T_SOCKS_NO_IDENTD, "Socks proxy can't connect to identd server" },
+ {T_SOCKS_BAD_USERID, "Bad Socks userid" },
+ {T_SOCKS_UNKNOWN_ERROR, "Unknown Socks error" },
+ {T_NO_SMB_CLIENT, "No smb client program installed (supported is smbclient or smbc)" },
+ {T_DECOMPRESSION_ERROR, "Decompression error" },
+ {T_ERROR_DECOMPRESSING_, "Error decompressing " },
+ {T__wITH_, " with " },
+ {T_COMPRESSED_ERROR, "Error in compressed data" },
+ {T_UNKNOWN_COMPRESSION_METHOD, "Unknown compression method" },
+ {T_SURE_DELETE, "Are you sure to delete" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "Bookmarks are already in use!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Associations are already in use!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "Extensions are already in use!" },
+ {T_VIDEO_OPTIONS, "Video options" },
+ {T_VIDEO_OPTIONS_TEXT, "Recommended User gamma setting:\n 1.33 for dark room, 1.11 for very dim room, 1 for usual computer workspace lighting, 0.88 for bright environment lighting." },
+ {T_RED_DISPLAY_GAMMA, "Red display gamma" },
+ {T_GREEN_DISPLAY_GAMMA, "Green display gamma" },
+ {T_BLUE_DISPLAY_GAMMA, "Blue display gamma" },
+ {T_USER_GAMMA, "User gamma" },
+ {T_ALERT, "Alert" },
+ {T_QUESTION, "Question" },
+ {T_KILL_SCRIPT, "Kill script" },
+ {T_KILL_ALL_SCRIPTS, "Kill all scripts" },
+ {T_SCRIPT_KILLED_BY_USER, "Javascript killed by user." },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript is trying to close the browser window. Do you really want to close the window?" },
+ {T_ENTER_STRING, "Enter string" },
+ {T_JAVASCRIPT_OPTIONS, "Javascript options" },
+ {T_ENABLE_JAVASCRIPT, "Enable javascript" },
+ {T_VERBOSE_JS_ERRORS, "Verbose javascript errors" },
+ {T_VERBOSE_JS_WARNINGS, "Verbose javascript warnings" },
+ {T_MISCELANEOUS_OPTIONS, "Miscellaneous options" },
+ {T_JAVASCRIPT_ERROR, "Javascript error" },
+ {T_JAVASCRIPT_WARNING, "Javascript warning" },
+ {T_DISMISS, "Dismiss" },
+ {T_MENU_FONT_SIZE, "Menu font size" },
+ {T_USER_FONT_SIZE, "User font size" },
+ {T_TURN_OFF_WARNINGS, "Turn off warnings" },
+ {T_BOOKMARKS_ENCODING, "Bookmarks encoding" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript is attempting to go to URL" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript is attempting open a new window with URL" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript is attempting to go into history" },
+ {T_TO_URL, "to url" },
+ {T_GOTO_HISTORY, "Goto history" },
+ {T_ALLOW, "Allow" },
+ {T_REJECT, "Reject" },
+ {T_ENABLE_ALL_CONVERSIONS, "Enable all conversions" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Enable global name resolution" },
+ {T_MANUAL_JS_CONTROL, "Manual javascript operations confirmation" },
+ {T_JS_RECURSION_DEPTH, "Recursion depth" },
+ {T_MENU_BACKGROUND_COLOR, "Background color" },
+ {T_MENU_FOREGROUND_COLOR, "Foreground color" },
+ {T_SCROLL_BAR_BAR_COLOR, "Scroll-bar bar color" },
+ {T_SCROLL_BAR_AREA_COLOR, "Scroll-bar area color" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Scroll-bar frame color" },
+ {T_BOOKMARKS_FILE, "Bookmarks file" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Enter colors as sRGB hexadecimal RRGGBB triplets." },
+ {T_JS_MEMORY_LIMIT_KB, "Memory dedicated to javascript (KiB)" },
+ {T_DITHER_LETTERS, "Dither letters" },
+ {T_DITHER_IMAGES, "Dither images" },
+ {T_8_BIT_GAMMA_CORRECTION, "8-bit gamma correction" },
+ {T_16_BIT_GAMMA_CORRECTION, "16-bit gamma correction" },
+ {T_AUTO_GAMMA_CORRECTION, "Auto gamma correction (according to FPU speed)" },
+ {T_SCALE_ALL_IMAGES_BY, "Scale all images by (%)" },
+ {T_PORN_ENABLE, "Autoscale single images" },
+ {T_DISPLAY_OPTIMIZATION_CRT,"Display optimization for CRT" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB,"Display optimization for LCD (RGB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR,"Display optimization for LCD (BGR)" },
+ {T_ASPECT_RATIO, "Aspect ratio" },
+ {T_ASPECT_CORRECTION_ON, "Aspect correction on" },
+ {T_KEYBOARD_CODEPAGE, "Keyboard codepage" },
+ {T_COPY_LINK_LOCATION, "Copy link location" },
+ {T_BLOCK_URL, "Block image" },
+ {T_BLOCK_LIST, "Blocked images" },
+ {T_BLOCKED_IMAGE, "Blocked images" },
+ {T_BLOCK_LIST_IN_USE, "Blocked images is already open" },
+ {T_BLOCK_LIST_MANAGER, "Image blocking manager" },
+ {T_BLOCK_ADD, "Add Image URL to block" },
+ {T_BLOCK_EDIT, "Edit Image URL" },
+ {T_BLOCK_DELETE, "Remove" },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "B" },
+ {T_HK_GO_FORWARD, "F" },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "V" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, "C" },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, "T" },
+ {T_HK_FLUSH_ALL_CACHES, "C" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "X" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "B" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, "E" },
+ {T_HK_FRAME_AT_FULL_SCREEN, "F" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, "C" },
+ {T_HK_SAVE_HTML_OPTIONS, "A" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "H" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, "V" },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, "J" },
+ {T_HK_MISCELANEOUS_OPTIONS, "O" },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, "B" },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "A" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "C" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, "H" },
+ {T_HK_CALIBRATION, "L" },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, "C" },
+ {T_HK_BLOCK_URL, "B" },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_bahasa_indonesian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "us-ascii" },
+ {T__LANGUAGE, "Bahasa Indonesian" },
+ {T__ACCEPT_LANGUAGE, "id" },
+ {T_OK, "Ya" },
+ {T_CANCEL, "Batal" },
+ {T_BAD_NUMBER, "Angka salah" },
+ {T_NUMBER_EXPECTED, "Angka diharapkan" },
+ {T_NUMBER_OUT_OF_RANGE, "Angka melebihi batas" },
+ {T_BAD_STRING, "Salah string" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "String kosong tidak dibolehkan" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Salah konfigurasi" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Tidak dapat menulis pada berkas konfigurasi" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Tentang" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nPenjelajah World Wide Web teks dan grafik" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Tombol" },
+ {T_KEYS_DESC, "ESC Tampilkan menu\n^C, q, Q Keluar\n^P, ^N Gulung ke atas, bawah\n[, ] Gulung ke kiri, kanan\nup, down Pilih link\n-> Ikuti link\n<- Kembali\ng Menuju URL\nG Menuju URL berdasarkan URL sekarang\n^G Menuju URL berdasarkan link sekarang\n* Mode menampilkan gambar\n^W URL lengkap atau cari string\n^B,^X,^V,^K salin, potong, tempel, potong baris sampai/dari clipboard\nAlt-1 .. Alt-9 Ganti layar virtual (svgalib dan framebuffer)" },
+ {T_KEYS_BRAILLE_DESC, "a, w kursor ke baris status atau judul\n{, } kursor ke awal/akhir baris\n^Y,^T,y,t,^O Ke link/kata/formulir sebelumnya atau selanjutnya" },
+ {T_COPYING, "Menyalin" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\nThis 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." },
+ {T_RESOURCES, "Sumber" },
+ {T_CONNECTIONS, "Hubungan" },
+ {T_MEMORY_CACHE, "Cache memori" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Cache font" },
+ {T_IMAGE_CACHE, "Cache gambar" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Cache dokumen terformat" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "pegangan" },
+ {T_TIMERS, "pencatat waktu" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "menghubungi" },
+ {T_tRANSFERRING, "mengirimkan" },
+ {T_KEEPALIVE, "keepalive" },
+ {T_BYTES, "byte" },
+ {T_LETTERS, "huruf" },
+ {T_FILES, "berkas" },
+ {T_LOCKED, "terkunci" },
+ {T_LOADING, "memuat" },
+ {T_IMAGES, "gambar" },
+ {T_DOCUMENTS, "dokumen" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "byte dari memori dialoksikan" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Informasi memori" },
+ {T_NO_HISTORY, "Tidak ada history" },
+ {T_NO_DOWNLOADS, "Tidak ada downloads" },
+ {T_NO_FRAMES, "Tidak ada bingkai" },
+ {T_VT_100_FRAMES, "Bingkai VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "Bingkai Linux atau OS/2" },
+ {T_KOI8R_FRAMES, "Bingkai KOI8-R" },
+ {T_FREEBSD_FRAMES, "Bingkai FreeBSD" },
+ {T_USE_11M, "Gunakan ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Larang bingkai pada cp850/852" },
+ {T_BLOCK_CURSOR, "Kursor blok" },
+ {T_COLOR, "Warna" },
+ {T_BRAILLE_TERMINAL, "Terminal Braille" },
+ {T_TERMINAL_OPTIONS, "Pilihan terminal" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Akses langsung (tanpa proxy) domain (dibatasi kome)" },
+ {T_NETWORK_OPTIONS, "Pilihan jaringan" },
+ {T_MAX_CONNECTIONS, "Batas hubungan" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Batas hubungan untuk satu host" },
+ {T_RETRIES, "Banyak percobaan (0 - unlimited)" },
+ {T_RECEIVE_TIMEOUT_SEC, "Menerima timeout (detik)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout jika tidak dapat dimulai ulang" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Pencarian DNS tidak serentak" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Beri waktu berkas yang di-download" },
+ {T_CACHE_OPTIONS, "Pilihan cache" },
+ {T_MEMORY_CACHE_SIZE__KB, "Ukuran cache memori (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "Ukuran cache gambar (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Banyak dokumen t erformat" },
+ {T_AGGRESSIVE_CACHE, "Aggressive cache" },
+ {T_HTML_OPTIONS, "Pilihan HTML" },
+ {T_DISPLAY_TABLES, "Tampilkan tabel" },
+ {T_DISPLAY_FRAMES, "Tampilkan rangka/bingkai" },
+ {T_DISPLAY_IMAGES, "Tampilkan gambar" },
+ {T_DISPLAY_IMAGE_FILENAMES, "Tampilkan nama berkas gambar" },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Tampilkan link ke gambar" },
+ {T_LINK_ORDER_BY_COLUMNS, "Pindahkan berdasarkan kolom di tabel" },
+ {T_NUMBERED_LINKS, "Beri nomor link" },
+ {T_AUTO_REFRESH, "Penyegeran otomatis" },
+ {T_TARGET_IN_NEW_WINDOW, "Izinkan membuka links pada jendela baru (target=\"_blank\")" },
+ {T_TEXT_MARGIN, "Batas tepi teks" },
+ {T_DEFAULT_CODEPAGE, "Default codepage" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Abaikan informasi charset yang dikirim server" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Pergi ke URL" },
+ {T_GO_BACK, "Kembali" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "History" },
+ {T_RELOAD, "Sgarkan" },
+ {T_NEW_WINDOW, "Jendela baru" },
+ {T_SAVE_AS, "Simpan sebagai" },
+ {T_SAVE_URL_AS, "Simpan URL sebagai" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Simpan dokumen terformat" },
+ {T_COPY_URL_LOCATION, "Salin lokasi URL sekarang" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Matikan semua dibelakang" },
+ {T_KILL_ALL_CONNECTIONS, "Matikan semua hubungan" },
+ {T_FLUSH_ALL_CACHES, "Bersihkan semua cache" },
+ {T_RESOURCE_INFO, "Informasi resource" },
+ {T_OS_SHELL, "Shell Sistem Operasi" },
+ {T_EXIT, "Keluar" },
+ {T_SEARCH, "Cari" },
+ {T_SEARCH_BACK, "Cari kebelakang" },
+ {T_FIND_NEXT, "Cari selanjutnya" },
+ {T_FIND_PREVIOUS, "Cari sebelumnya" },
+ {T_TOGGLE_HTML_PLAIN, "Mode HTML/teks" },
+ {T_DOCUMENT_INFO, "Informasi dokument" },
+ {T_FRAME_AT_FULL_SCREEN, "Bingkai seluruh layar" },
+ {T_SAVE_HTML_OPTIONS, "Simpan pilihan HTML" },
+ {T_CHARACTER_SET, "Character set" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "Surat dan telnet" },
+ {T_MAIL_TELNET_AND_SHELL, "Surat, telnet dan shell" },
+ {T_ASSOCIATIONS, "Penghubungan" },
+ {T_FILE_EXTENSIONS, "Extension berkas" },
+ {T_SAVE_OPTIONS, "Simpan pilihan" },
+ {T_FILE, "Berkas" },
+ {T_VIEW, "Tampilan" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "Download" },
+ {T_SETUP, "Setup" },
+ {T_HELP, "Pertolongan" },
+ {T_ENTER_URL, "Masukkan URL" },
+ {T_SAVE_URL, "Simpan URL" },
+ {T_DOWNLOAD, "Download" },
+ {T_SAVE_TO_FILE, "Simpan ke berkas" },
+ {T_SEARCH_FOR_TEXT, "Cari teks" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "Menunggu diantrian" },
+ {T_LOOKING_UP_HOST, "Mencari host" },
+ {T_MAKING_CONNECTION, "Membuat hubungan" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "Negosiasi SSL" },
+ {T_REQUEST_SENT, "Permohonan dikirim" },
+ {T_GETTING_HEADERS, "Menerima headers" },
+ {T_LOGGING_IN, "Logging in" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Server sedang mengerjakan permohonan" },
+ {T_TRANSFERRING, "Mengirim" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Menunggu untuk konfirmasi redirect" },
+ {T_INTERRUPTED, "Terganggu" },
+ {T_SOCKET_EXCEPTION, "Pengecualian socket" },
+ {T_INTERNAL_ERROR, "Kesalahan internal" },
+ {T_OUT_OF_MEMORY, "Kehabisan memori" },
+ {T_HOST_NOT_FOUND, "Host tidak ditemukan" },
+ {T_ERROR_WRITING_TO_SOCKET, "Kesalahan menulis ke socket" },
+ {T_ERROR_READING_FROM_SOCKET, "Kesalahan membaca dari socket" },
+ {T_DATA_MODIFIED, "Data diubah" },
+ {T_BAD_URL_SYNTAX, "URL syntax salah" },
+ {T_RECEIVE_TIMEOUT, "Menerima timeout" },
+ {T_REQUEST_MUST_BE_RESTARTED, "Rermohonan harus diulang" },
+ {T_CANT_GET_SOCKET_STATE, "Tidak bisa mendapatakan keadaan socket" },
+ {T_CYCLIC_REDIRECT, "Cyclic redirect" },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Kesalahan jawaban HTTP" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Tidak ada isi" },
+ {T_UNKNOWN_FILE_TYPE, "Jenis berkas tidak diketahui" },
+ {T_ERROR_OPENING_FILE, "Kesalahan membuka berkas" },
+ {T_BAD_FTP_RESPONSE, "Kesalahan jawaban FTP" },
+ {T_FTP_SERVICE_UNAVAILABLE, "Pelayanan FTP tidak tersedia" },
+ {T_BAD_FTP_LOGIN, "Kesalahan FTP login" },
+ {T_FTP_PORT_COMMAND_FAILED, "Perintah FTP PORT gagal" },
+ {T_FILE_NOT_FOUND, "Berkas tidak ditemukan" },
+ {T_FTP_FILE_ERROR, "Kesalahan berkas FTP" },
+ {T_UNKNOWN_ERROR, "Kesalahan tidak diketahui" },
+ {T_RECEIVED, "Diterima" },
+ {T_OF, "dari" },
+ {T_AVG, "rata-rata" },
+ {T_CUR, "sekarang" },
+ {T_AVERAGE_SPEED, "Kecepatan rata-rata" },
+ {T_SPEED, "Kecepatan" },
+ {T_CURRENT_SPEED, "kecepatan sekarang" },
+ {T_ELAPSED_TIME, "Waktu berlalu" },
+ {T_ESTIMATED_TIME, "perkiraan waktu" },
+ {T_BACKGROUND, "Background" },
+ {T_ABORT, "Batalkan" },
+ {T_ABORT_AND_DELETE_FILE, "Batalkan dan hapus berkas" },
+ {T_YES, "Ya" },
+ {T_NO, "tidak" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, "Berkas sudah ada" },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, "sudah ada sebagai download." },
+ {T_ALREADY_EXISTS, "sudah ada." },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, "Anda mau menimpa?" },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, "timpa" },
+ {T_RENAME, "Ganti nama" },
+ {T_DOWNLOAD_ERROR, "Kesalahan download" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Tidak dapat menulis berkas." },
+ {T_ERROR_DOWNLOADING, "Kesalahan downloading" },
+ {T_ERROR_LOADING, "Kesalahan memuat" },
+ {T_COULD_NOT_CREATE_FILE, "Tidak dapat membuat berkas" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "jenis tidak diketahui" },
+ {T_CONTENT_TYPE_IS, "Jenis isi adalah" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Anda ingin buka, simpan atau tampikan berkas ini?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Anda ingin buka atau menampilkan berkas ini?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Anda ingin simpan atau menampilkan berkas ini?" },
+ {T_SAVE, "Simpan" },
+ {T_DISPLAY, "Tampilkan" },
+ {T_WHAT_TO_DO, "Apa yang ingin dilakukan?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Anda mau membuka berkas dengan" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "simpan atau tampilkan??" },
+ {T_OPEN, "Buka" },
+ {T_OPEN_WITH, "Buka dengan" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Apakah anda ingin meneruskan dan mengirim data formulir?" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Apakah anda ingin mengirim data formulir?" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Apakah anda ingin mengirim ulang data formulir?" },
+ {T_WARNING, "Peringatan" },
+ {T_ERROR, "Kesalahan" },
+ {T_WELCOME, "Selamat datang" },
+ {T_WELCOME_TO_LINKS, "Selamat datang!" },
+ {T_BASIC_HELP, "Untuk menampilkan menu, tekan ESC atau klik pada baris teratas. Pilih Pertolongan->Panduan pada menu untuk panduan pemakaian." },
+ {T_LABEL, "Label" },
+ {T_CONTENT_TYPES, "Content-Type(s)" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' diganti nama berkas)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Halangi terminal ketikaprogram berjalan" },
+ {T_RUN_ON_TERMINAL, "Jalankan pada terminal" },
+ {T_RUN_IN_XWINDOW, "Jalankan pada X-Window" },
+ {T_ASK_BEFORE_OPENING, "Tanya sebelum mebuka" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Hapus hubungan" },
+ {T_ASSOCIATION, "pengubungan" },
+ {T_EXTENSION_S, "Extension(s)" },
+ {T_CONTENT_TYPE, "Content-Type" },
+ {T_DELETE_EXTENSION, "Hapus extension" },
+ {T_EXTENSION, "Extension" },
+ {T_eXTENSION, "extension" },
+ {T_ERROR_WHILE_POSTING_FORM, "kesalahan ketika mengirim formulir" },
+ {T_COULD_NOT_GET_FILE, "Tidak dapat mendapatkan berkas" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Tidak ada pencarian sebelumnya" },
+ {T_SEARCH_STRING_NOT_FOUND, "Kata pencarian tidak ditemukan" },
+ {T_SAVE_ERROR, "Simpan kesalahan" },
+ {T_ERROR_WRITING_TO_FILE, "Kesalahan menulis ke berkas" },
+ {T_DISPLAY_USEMAP, "Tampilkan usemap" },
+ {T_FOLLOW_LINK, "Ikuti link" },
+ {T_OPEN_IN_NEW_WINDOW, "Buka di jendela baru" },
+ {T_DOWNLOAD_LINK, "Download link" },
+ {T_RESET_FORM, "Kosongkan formulir" },
+ {T_SUBMIT_FORM, "Serahkan formulir" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Serahkan formulir dan buka pada jendela baru" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Serahkan formulir dan download" },
+ {T_VIEW_IMAGE, "Lihat gambar" },
+ {T_DOWNLOAD_IMAGE, "Download gambar" },
+ {T_NO_LINK_SELECTED, "Tidak ada link dipilih" },
+ {T_IMAGE, "Gambar" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Layar" },
+ {T_WINDOW, "Jendela" },
+ {T_FULL_SCREEN, "layar penuh" },
+ {T_BEOS_TERMINAL, "terminal BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, "JavaScript" },
+ {T_SUBMIT_FORM_TO, "Serahkan formulir ke" },
+ {T_POST_FORM_TO, "Kirim formulir ke" },
+ {T_RADIO_BUTTON, "Radio button" },
+ {T_CHECKBOX, "Checkbox" },
+ {T_SELECT_FIELD, "Select field" },
+ {T_TEXT_FIELD, "Text field" },
+ {T_TEXT_AREA, "Text area" },
+ {T_FILE_UPLOAD, "Upload berkas" },
+ {T_PASSWORD_FIELD, "Password Field" },
+ {T_BUTTON, "Button" },
+ {T_NAME, "nama" },
+ {T_VALUE, "isi" },
+ {T_HIT_ENTER_TO, "tekan ENTER untuk" },
+ {T_SUBMIT_TO, "serahkan ke" },
+ {T_POST_TO, "kirim ke" },
+ {T_INFO, "Informasi" },
+ {T_HEADER_INFO, "Informasi header" },
+ {T_YOU_ARE_NOWHERE, "Anda tidak dimanapun!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Ukuran" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "tidak lengkap" },
+ {T_CODEPAGE, "Codepage" },
+ {T_ASSUMED, "Dianggap" },
+ {T_IGNORING_SERVER_SETTING, "Abaikan setting server" },
+ {T_SERVER, "Server" },
+ {T_DATE, "Tanggal" },
+ {T_LAST_MODIFIED, "terakhir dirubah" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Bahasa" },
+ {T_GO_TO_LINK, "Menuju link" },
+ {T_ENTER_LINK_NUMBER, "Masukkan nomor link" },
+ {T_RESIZE_TERMINAL, "Ubah ukuran terminal" },
+ {T_COLUMNS, "Kolom" },
+ {T_ROWS, "Baris" },
+ {T_GOTO, "Menuju ke" },
+ {T_CLOSE, "Tutup" },
+ {T_FOLDER, "Folder" },
+ {T_fOLDER, "folder" },
+ {T_ADD, "Tambah" },
+ {T_DELETE, "Hapus" },
+ {T_EDIT, "Ubah" },
+ {T_MOVE, "Pingah" },
+ {T_NO_ITEMS_SELECTED, "Tidak ada yang dipilih. Tidak ada yang dipindah." },
+ {T_UNSELECT_ALL, "Jangan pilih semua" },
+ {T_BOOKMARKS, "Bookmarks" },
+ {T_BOOKMARK, "bookmark" },
+ {T_ADD_BOOKMARK, "Tambah bookmark" },
+ {T_ADD_ASSOCIATION, "Tambah penghubungan" },
+ {T_ADD_EXTENSION, "Tambah extension" },
+ {T_ADD_FOLDER, "Tambah folder" },
+ {T_BOOKMARK_TITLE, "Judul bookmark" },
+ {T_EDIT_BOOKMARK, "Ubsh bookmark" },
+ {T_EDIT_ASSOCIATION, "Ubah penghubungan" },
+ {T_EDIT_EXTENSION, "Ubah extension" },
+ {T_DELETE_BOOKMARK, "Hapus bookmark" },
+ {T_EDIT_FOLDER, "Ubah folder" },
+ {T_DELETE_FOLDER, "Hapus folder" },
+ {T_NOT_EMPTY_SURE_DELETE, "tidak kosong. Anda yakin ingin menghapusnya?" },
+ {T_BOOKMARK_MANAGER, "Pengatur bookmark" },
+ {T_ASSOCIATIONS_MANAGER, "Pengatur penghubungan" },
+ {T_EXTENSIONS_MANAGER, "Pengatur extensions" },
+ {T_url, "URL" },
+ {T_NNAME, "Nama" },
+ {T_EXIT_LINKS, "Keluar" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "Anda yakin ingin menutup jendela?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Anda yakin ingin keluar?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Download sedang berlangsung, anda yakin mau keluar?" },
+ {T_HTTP_OPTIONS, "Pilihan HTTP" },
+ {T_FTP_OPTIONS, "Pilihan FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "Penanganan bug HTTP" },
+ {T_USE_HTTP_10, "Gunakan HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Izinkan daftar hitam server bermasalah" },
+ {T_BROKEN_302_REDIRECT, "Redirect 302 rusak (melanggar RFC)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Tidak ada hubungan keepalive setelah permohonan POST (beberapa basisdata PHP membutuhkannya)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, "Jangan kirim Accept-Charset" },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "Tanpa penunjuk" },
+ {T_REFERER_SAME_URL, "Kirim permohonan URL sebagai penunjuk" },
+ {T_REFERER_FAKE, "Penunjuk tetap" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "Kirim penunjuk asli (TIDAK AMAN!)" },
+ {T_FAKE_REFERER, "Penunjuk HTTP tetap" },
+ {T_FAKE_USERAGENT, "Palsukan User-Agent" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Password untuk login anonim" },
+ {T_USE_PASSIVE_FTP, "Gunakan passive FTP" },
+ {T_USE_FAST_FTP, "Gunakan FTP cepat (melanggar RFC)" },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Panduan pengguna" },
+ {T_HOMEPAGE, "Halaman rumah" },
+ {T_CALIBRATION, "Pengukuran" },
+ {T_MAILTO_PROG, "Program surat (% diganti dengan alamat)" },
+ {T_SHELL_PROG, "Shell untuk menjalankan perintah eksternal (% diganti dengan perintah)" },
+ {T_TELNET_PROG, "Program telnet (% diganti dengan \"host\" atau \"host port\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Program Tn3270 (% diganti dengan \"host\" atau \"host port\")" },
+ {T_MMS_PROG, "Program MMS (% diganti dengan URL)" },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Program Mail dan telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Program surat, telnet dan shell" },
+ {T_NO_PROGRAM, "Tidak ada program" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Tidak ada program diberikan untuk" },
+ {T_MAIL, "surat" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, "mms" },
+ {T_BAD_MAILTO_URL, "URL mailto salah" },
+ {T_BAD_TELNET_URL, "URL telnet salah" },
+ {T_BAD_TN3270_URL, "URL tn3270 salah" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "URL MMS karakter yang tidak bisa diterima" },
+ {T_AUTHORIZATION_REQUIRED, "Hak khusus diperlukan" },
+ {T_PROXY_AUTHORIZATION_REQUIRED, "Hak khusus proxy diperlukan" },
+ {T_USERID, "Pengguna (user)" },
+ {T_PASSWORD, "kata kunci (password)" },
+ {T_ENTER_USERNAME, "Masukkan nama pengguna untuk " },
+ {T_AT, "pada " },
+ {T_SSL_ERROR, "kesalahan SS" },
+ {T_NO_SSL, "Links versi ini tidak mendukung SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, "Tidak ada program SMB terpasangd (smbc atau smbclient)" },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "Anda yakin ingin menghapus" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "Bookmarks sedang terpakai!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Penghubung sedang terpakai!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "Extensions sedang terpakai!" },
+ {T_VIDEO_OPTIONS, "Pilihan video" },
+ {T_VIDEO_OPTIONS_TEXT, "Saran gamma:\n 1.33 untuk ruangan gelap, 1.11 untuk ruangan terang, 1 untuk kebanyakan ruang, 0.88 untuk ruangan sangat terang." },
+ {T_RED_DISPLAY_GAMMA, "gamma merah" },
+ {T_GREEN_DISPLAY_GAMMA, "Gamma hijau" },
+ {T_BLUE_DISPLAY_GAMMA, "Gamma biru" },
+ {T_USER_GAMMA, "Gamma pengguna" },
+ {T_ALERT, "Perhatian" },
+ {T_QUESTION, "Pertanyaan" },
+ {T_KILL_SCRIPT, "Matikan script" },
+ {T_KILL_ALL_SCRIPTS, "Matikan sSemua scripts" },
+ {T_SCRIPT_KILLED_BY_USER, "Javasript dimatikan oleh pengguna." },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "JavaScript mencoba untuk menutup jendela. Anda ingin menutup jendelnya?" },
+ {T_ENTER_STRING, "Masukkan stringng" },
+ {T_JAVASCRIPT_OPTIONS, "Pilihan JavaScript" },
+ {T_ENABLE_JAVASCRIPT, "Aktifkan JavaScript" },
+ {T_VERBOSE_JS_ERRORS, "Detail kesalahan JavaScript" },
+ {T_VERBOSE_JS_WARNINGS, "Detail peringatan JavaScript" },
+ {T_MISCELANEOUS_OPTIONS, "Pilihan lainnya" },
+ {T_JAVASCRIPT_ERROR, "Kesalahan JavaScript" },
+ {T_JAVASCRIPT_WARNING, "Peringatan JavaScript" },
+ {T_DISMISS, "Bubar" },
+ {T_MENU_FONT_SIZE, "Ukuran huruf menu" },
+ {T_USER_FONT_SIZE, "Ukuran huruf pengguna" },
+ {T_TURN_OFF_WARNINGS, "Matikan peringatan" },
+ {T_BOOKMARKS_ENCODING, "Bookmarks encoding" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "JavaScript mencoba menuju ke URL" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "JavaScript mencoba membuka jendela barudengan URL" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "JavaScript mencoba menuju ke history" },
+ {T_TO_URL, "ke URL" },
+ {T_GOTO_HISTORY, "Menuju history" },
+ {T_ALLOW, "Izinkan" },
+ {T_REJECT, "Tolak" },
+ {T_ENABLE_ALL_CONVERSIONS, "Aktifkan semua konversi" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Aktifkan resolusi nama global" },
+ {T_MANUAL_JS_CONTROL, "Operasi konfirmasi JavaScript manual" },
+ {T_JS_RECURSION_DEPTH, "Kedalaman rekursif" },
+ {T_MENU_BACKGROUND_COLOR, "Warna background" },
+ {T_MENU_FOREGROUND_COLOR, "Warna foreground" },
+ {T_SCROLL_BAR_BAR_COLOR, "Warna batang Scrollbar" },
+ {T_SCROLL_BAR_AREA_COLOR, "Warna ruang Scrollbar" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Warna bingkai Scrollbar" },
+ {T_BOOKMARKS_FILE, "Berkas bookmarks" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "MAsukkan warna sebagai heksadesimal (RRGGBB)." },
+ {T_JS_MEMORY_LIMIT_KB, "Memori diberikan untuk JavaScript (KiB)" },
+ {T_DITHER_LETTERS, "Dither huruf" },
+ {T_DITHER_IMAGES, "Dither gambar" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "Ubah ukuran gambar (%)" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT,"Tampikan yang terbaik untuk monitor CRT" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB,"Tampilkan yang terbaik untuk monitor LCD (RGB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR,"Tampilkan yang terbaik untuk monitor LCD (BGR)" },
+ {T_ASPECT_RATIO, "Pertimbangan letak" },
+ {T_ASPECT_CORRECTION_ON, "Perbaikan letak aktif" },
+ {T_KEYBOARD_CODEPAGE, "Codepage papan ketik" },
+ {T_COPY_LINK_LOCATION, "Salin lokasi link" },
+ {T_BLOCK_URL, "Halangi gambar" },
+ {T_BLOCK_LIST, "Gambar terhalangi" },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, "Gambar yang terhalangi sudah terbuka" },
+ {T_BLOCK_LIST_MANAGER, "Pengatur penghalang gambar" },
+ {T_BLOCK_ADD, "Tambah URL gambar untuk di halangi" },
+ {T_BLOCK_EDIT, "Ubah URL gambar" },
+ {T_BLOCK_DELETE, "Hapus" },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "B" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "A" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, "O" },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, "T" },
+ {T_HK_FLUSH_ALL_CACHES, "E" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "L" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "B" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, "E" },
+ {T_HK_FRAME_AT_FULL_SCREEN, "F" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "A" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "H" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, "V" },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, "J" },
+ {T_HK_MISCELANEOUS_OPTIONS, "O" },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, "B" },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "A" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "C" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, "H" },
+ {T_HK_CALIBRATION, "L" },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, "C" },
+ {T_HK_BLOCK_URL, "B" },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_belarusian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "koi8-ru" },
+ {T__LANGUAGE, "Belarusian" },
+ {T__ACCEPT_LANGUAGE, "be" },
+ {T_OK, "\357\353" },
+ {T_CANCEL, "\341\304\315\305\316\301" },
+ {T_BAD_NUMBER, "\356\321\320\322\301\327\246\314\330\316\331 \314\246\313" },
+ {T_NUMBER_EXPECTED, "\365 \320\317\314\246 \320\301\327\246\316\305\316 \302\331\303\330 \314\246\313" },
+ {T_NUMBER_OUT_OF_RANGE, "\354\246\313 \316\305 \316\301\314\305\326\331\303\330 \304\301\332\327\317\314\305\316\301\315\325 \304\331\321\320\301\332\317\316\325" },
+ {T_BAD_STRING, "\356\321\320\322\301\327\246\314\330\316\331 \322\301\304\317\313" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "\360\325\323\324\331\321 \322\301\304\313\246 \316\305 \304\301\332\327\301\314\321\300\303\303\301" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "\360\301\315\331\314\313\301 \316\301\323\324\322\317\312\313\246" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "\356\305\315\301\307\336\331\315\301 \332\301\320\246\323\301\303\330 \325 \306\301\312\314 \316\301\323\324\322\317\305\313" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "\360\322\301 \320\322\301\307\322\301\315\325" },
+ {T_LINKS__LYNX_LIKE, "Links \327\305\322\323\246\246 " VERSION_STRING "\n\n Lynx-\320\301\304\317\302\316\331 \324\334\313\323\324\301\327\331 \327\334\302-\302\322\301\256\332\334\322" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "\353\314\301\327\246\333\331" },
+ {T_KEYS_DESC, "ESC \315\305\316\300\n^C, q \327\331\310\301\304\n^P, ^N \320\322\301\313\322\325\324\313\301 \256\327\305\322\310-\325\316\246\332\n[, ] \320\322\301\313\322\325\324\313\301 \256\314\305\327\301-\256\320\322\301\327\301\nup, down \327\331\302\301\322 \323\320\301\323\331\314\313\246\n-> \320\305\322\301\310\317\304 \320\317 \323\320\301\323\331\314\303\331\n<- \316\301\332\301\304\ng \320\305\322\301\312\303\246 \304\301 \316\317\327\301\307\301 URL\nG \320\305\322\301\312\303\246 \304\301 URL, \332\301\323\316\301\327\301\316\301\315\325 \316\301 \303\321\313\325\336\331\315\n/ \320\317\333\325\313\n? \332\327\301\322\317\324\316\331 \320\317\333\325\313\nn \333\325\313\301\303\330 \304\301\314\305\312\nN \333\325\313\301\303\330 \325\327\305\322\310\n= \246\316\306\301\322\315\301\303\331\321 \320\322\301 \304\301\313\325\315\305\316\324\n| \246\316\306\301\322\315\301\303\331\321 \320\322\301 \332\301\307\301\314\317\327\301\313\n\\ \320\301\313\301\332\301\303\330 \313\317\304 HTML\nd \332\301\313\301\336\301\303\330" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "\360\322\301\327\331" },
+ {T_COPYING_DESC, "\347\334\324\301 \320\322\301\307\322\301\315\301 \332'\321\256\314\321\305\303\303\301 \323\327\301\302\317\304\316\331\315 \360\372; \327\331 \315\317\326\301\303\305 \322\301\323\320\301\256\323\300\304\326\327\301\303\330 \246/\303\246 \315\301\304\331\306\246\313\301\327\301\303\330 \321\305 \332\307\317\304\316\301 \332 \314\246\303\334\316\332\246\321\312 GNU, \321\313\301\321 \301\320\325\302\314\246\313\301\327\301\316\301 \"\346\317\316\304\301\315 \323\327\301\302\317\304\316\301\307\301 \320\322\301\307\322\301\315\316\301\307\301 \332\301\302\305\323\320\321\336\334\316\316\321\" (FSF); \327\305\322\323\246\246 2 \354\246\303\334\316\332\246\246, \303\246 (\320\301 \327\301\333\301\315\325 \326\301\304\301\316\316\300) \302\317\314\330\333 \320\317\332\316\321\312 \327\305\322\323\246\246" },
+ {T_RESOURCES, "\362\334\323\325\322\323\331" },
+ {T_CONNECTIONS, "\372\314\325\336\334\316\316\321\256" },
+ {T_MEMORY_CACHE, "\353\334\333 \320\301\315\321\303\246" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "\353\334\333 \306\301\322\315\301\303\246\322\301\327\301\316\331\310 \304\301\313\325\315\305\316\324\301\256" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "\310\334\316\304\314\301\256" },
+ {T_TIMERS, "\324\301\312\315\305\322\301\256" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "\332\314\325\336\334\316\316\305" },
+ {T_tRANSFERRING, "\320\305\322\301\304\301\336\301" },
+ {T_KEEPALIVE, "\332\301\310\301\327\301\316\316\305 \332\314\325\336\334\316\316\321" },
+ {T_BYTES, "\302\301\312\324" },
+ {T_LETTERS, NULL },
+ {T_FILES, "\306\301\312\314\301\256" },
+ {T_LOCKED, "\332\301\302\314\301\313\246\322\301\327\301\316\301" },
+ {T_LOADING, "\332\301\307\322\325\326\301\305\303\303\301" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "\304\301\313\325\315\305\316\324\301\256" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "\302\301\312\324\301\256 \327\331\304\332\321\314\305\316\301" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "\266\316\306\301\322\315\301\303\331\321 \320\322\301 \320\301\315\321\303\330" },
+ {T_NO_HISTORY, "\366\325\322\316\301\314 \320\325\323\324\331" },
+ {T_NO_DOWNLOADS, "\356\321\315\301 \332\301\313\301\336\301\313" },
+ {T_NO_FRAMES, "\356\321\315\301 \322\301\315\301\313" },
+ {T_VT_100_FRAMES, "\362\301\315\313\246 VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "\362\301\315\313\246 Linux \303\246 OS/2" },
+ {T_KOI8R_FRAMES, "\362\301\315\313\246 KOI8-R" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "\367\331\313\301\322\331\323\324\317\256\327\301\303\330 ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "\356\305\313\301\324\317\322\331\321 \322\301\315\313\246 \332 cp850/852" },
+ {T_BLOCK_CURSOR, "\353\325\322\323\301\322 \320\322\301\315\301\327\325\307\317\314\330\316\246\313\301\315" },
+ {T_COLOR, "\353\317\314\305\322" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "\356\301\323\324\322\317\312\313\246 \324\334\322\315\246\316\301\314\301" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP \320\322\317\313\323\246 (\323\305\322\327\305\322:\320\317\322\324)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP \320\322\317\313\323\246 (\323\305\322\327\305\322:\320\317\322\324)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "\363\320\246\323 (\320\322\301\332 \313\317\323\313\325) \304\301\315\305\316\301\256 \332 \304\317\323\324\325\320\301\315 \302\305\332 \320\322\317\313\323\246" },
+ {T_NETWORK_OPTIONS, "\356\301\323\324\322\317\312\313\246 \323\305\324\313\246" },
+ {T_MAX_CONNECTIONS, "\355\301\313\323. \313\317\314\330\313\301\323\303\330 \332\314\325\336\334\316\316\321\256" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "\355\301\313\323. \313\317\314\330\313\301\323\303\330 \332\314\325\336\334\316\316\321\256 \304\301 \301\304\316\301\307\317 \323\305\322\327\305\322\301" },
+ {T_RETRIES, "\363\320\322\317\302" },
+ {T_RECEIVE_TIMEOUT_SEC, "\364\301\312\315\301\325\324 \316\301 \320\322\331\243\315 (\323\305\313.)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "\364\301\312\315\301\325\324 \320\322\331 \301\304\323\325\324\316\301\323\303\246 \304\301\313\301\336\313\246" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "\341\323\246\316\310\322\317\316\316\331 \332\327\301\322\317\324 \304\301 DNS" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "\365\323\324\301\316\317\256\313\301 \336\301\323\325 \304\314\321 \332\301\313\301\336\301\316\331\310 \306\301\312\314\301\256" },
+ {T_CACHE_OPTIONS, "\356\301\323\324\322\317\312\313\246 \313\334\333\301" },
+ {T_MEMORY_CACHE_SIZE__KB, "\360\301\315\305\322\331 \313\334\333\301 \320\301\315\321\303\246 (\353\342)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "\353\317\314\330\313\301\323\303\330 \306\301\322\315\301\303\246\322\301\327\301\316\331\310 \304\301\313\325\315\305\316\324\301\256" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "\356\301\323\324\322\317\312\313\246 HTML" },
+ {T_DISPLAY_TABLES, "\364\301\302\314\246\303\331" },
+ {T_DISPLAY_FRAMES, "\346\322\334\312\315\331" },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "\363\320\301\323\331\314\313\246 \316\301 \327\246\304\301\322\331\323\331" },
+ {T_LINK_ORDER_BY_COLUMNS, "\362\325\310\301\303\303\301 \320\301 \323\314\325\320\313\301\310 \324\301\302\314\246\303" },
+ {T_NUMBERED_LINKS, "\356\325\315\305\322\301\327\301\303\330 \323\320\301\323\331\314\313\246" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "\367\317\304\323\324\325\320" },
+ {T_DEFAULT_CODEPAGE, "\353\301\304\332\246\322\317\256\313\301 \320\301 \332\301\315\317\256\336\327\301\316\316\246" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "\266\307\316\301\322\301\327\301\303\330 \313\301\304\332\246\322\317\256\313\325, \304\301\304\332\305\316\325\300 \323\305\322\327\305\322\301\315" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "\360\305\322\301\312\303\246 \304\301 \316\317\327\301\307\301 URL" },
+ {T_GO_BACK, "\360\305\322\301\312\303\246 \316\301\332\301\304" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "\366\325\322\316\301\314" },
+ {T_RELOAD, "\341\304\316\301\327\246\303\330" },
+ {T_NEW_WINDOW, "\356\317\327\301\305 \301\313\316\317" },
+ {T_SAVE_AS, "\372\301\310\301\327\301\303\330 \321\313" },
+ {T_SAVE_URL_AS, "\372\301\310\301\327\301\303\330 URL \321\313" },
+ {T_SAVE_FORMATTED_DOCUMENT, "\372\301\310\301\327\301\303\330 \306\301\322\315\301\303\246\322\301\327\301\316\331 \304\301\313\325\315\305\316\324" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "\362\301\332\301\322\327\301\303\330 \306\317\316\301\327\331\321 \332\314\325\336\334\316\316\246" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "\341\336\331\323\303\246\303\330 \325\323\305 \327\246\304\331 \313\334\333\301" },
+ {T_RESOURCE_INFO, "\266\316\306\301\322\315\301\303\331\321 \320\322\301 \322\334\323\325\322\323\331" },
+ {T_OS_SHELL, "\353\301\315\301\316\304\316\331 \322\301\304\317\313" },
+ {T_EXIT, "\367\331\310\301\304" },
+ {T_SEARCH, "\360\317\333\325\313" },
+ {T_SEARCH_BACK, "\372\327\301\322\317\324\316\331 \320\317\333\325\313" },
+ {T_FIND_NEXT, "\373\325\313\301\303\330 \304\301\314\305\312" },
+ {T_FIND_PREVIOUS, "\373\325\313\301\303\330 \316\301\332\301\304" },
+ {T_TOGGLE_HTML_PLAIN, "\360\305\322\301\313\314\300\336\331\303\330 HTML/\324\334\313\323\324" },
+ {T_DOCUMENT_INFO, "\266\316\306\301\322\315\301\303\331\321 \320\322\301 \304\301\313\325\315\305\316\324" },
+ {T_FRAME_AT_FULL_SCREEN, "\346\322\334\312\315 \316\301 \320\317\256\316\331 \334\313\322\301\316" },
+ {T_SAVE_HTML_OPTIONS, "\372\301\310\301\327\301\303\330 \316\301\323\324\322\317\312\313\246 HTML" },
+ {T_CHARACTER_SET, "\353\301\304\332\246\322\317\256\313\301" },
+ {T_CACHE, "\353\334\333" },
+ {T_MAIL_AND_TELNEL, "\360\317\333\324\301 \246 telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "\363\325\320\301\323\324\301\256\314\305\316\316\246" },
+ {T_FILE_EXTENSIONS, "\362\301\323\333\331\322\334\316\316\246 \306\301\312\314\301\256" },
+ {T_SAVE_OPTIONS, "\372\301\310\301\327\301\303\330 \316\301\323\324\322\317\312\313\246" },
+ {T_FILE, "\346\301\312\314" },
+ {T_VIEW, "\367\246\304" },
+ {T_LINK, "\363\320\301\323\331\314\313\246" },
+ {T_DOWNLOADS, "\372\301\313\301\336\313\246" },
+ {T_SETUP, "\356\301\323\324\322\317\312\313\301" },
+ {T_HELP, "\344\301\327\305\304\313\301" },
+ {T_ENTER_URL, "\365\327\321\304\332\246\303\305 URL" },
+ {T_SAVE_URL, "\372\301\310\301\327\301\303\330 URL" },
+ {T_DOWNLOAD, "\372\301\313\301\336\313\301" },
+ {T_SAVE_TO_FILE, "\372\301\310\301\327\301\303\330 \325 \306\301\312\314" },
+ {T_SEARCH_FOR_TEXT, "\360\317\333\325\313 \324\334\313\323\324\325" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "\376\301\313\301\316\316\305 \256 \336\301\322\332\305" },
+ {T_LOOKING_UP_HOST, "\360\317\333\325\313 \323\305\322\327\305\322\301" },
+ {T_MAKING_CONNECTION, "\372\314\325\336\334\316\316\305" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "\360\322\301\324\301\313\317\314 SSL" },
+ {T_REQUEST_SENT, "\372\301\320\331\324 \320\301\323\314\301\316\331" },
+ {T_GETTING_HEADERS, "\341\324\322\331\315\301\316\316\305 \332\301\307\301\314\317\256\313\301\256" },
+ {T_LOGGING_IN, NULL },
+ {T_SERVER_IS_PROCESSING_REQUEST, "\363\305\322\327\305\322 \301\320\322\301\303\317\256\327\301\305 \332\301\320\331\324" },
+ {T_TRANSFERRING, "\360\305\322\301\323\331\314\313\301" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "\376\301\313\301\316\316\305 \320\301\303\327\305\322\304\326\301\316\316\321 \320\305\322\301\316\301\313\246\322\301\327\301\316\316\321" },
+ {T_INTERRUPTED, "\360\305\322\301\320\331\316\305\316\301" },
+ {T_SOCKET_EXCEPTION, "\367\331\313\314\300\336\334\316\316\305 \256 \323\317\313\305\303\305" },
+ {T_INTERNAL_ERROR, "\365\316\325\324\322\301\316\301\321 \320\301\315\331\314\313\301" },
+ {T_OUT_OF_MEMORY, "\355\301\314\301 \320\301\315\321\303\246" },
+ {T_HOST_NOT_FOUND, "\363\305\322\327\305\322 \316\305 \332\316\301\312\304\332\305\316\331" },
+ {T_ERROR_WRITING_TO_SOCKET, "\360\301\315\331\314\313\301 \332\301\320\246\323\325 \256 \323\317\313\305\324" },
+ {T_ERROR_READING_FROM_SOCKET, "\360\301\315\331\314\313\301 \336\331\324\301\316\316\321 \332 \323\317\313\305\324\301" },
+ {T_DATA_MODIFIED, "\344\301\324\301 \332\315\305\316\305\316\301" },
+ {T_BAD_URL_SYNTAX, "\356\321\320\322\301\327\246\314\330\316\331 \323\246\316\324\301\313\323\246\323 URL" },
+ {T_RECEIVE_TIMEOUT, "\364\301\312\315\301\256\324 \320\322\331 \336\331\324\301\316\316\246" },
+ {T_REQUEST_MUST_BE_RESTARTED, "\372\301\320\331\324 \320\301\327\246\316\305\316 \302\331\303\330 \320\301\256\324\317\322\301\316\331" },
+ {T_CANT_GET_SOCKET_STATE, "\356\305\314\330\307\301 \301\324\322\331\315\301\303\330 \323\324\301\316 \323\317\313\305\324\301" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "\356\321\320\322\301\327\246\314\330\316\331 \301\304\313\301\332 HTTP" },
+ {T_HTTP_100, NULL },
+ {T_NO_CONTENT, "\356\321\315\301 \304\301\304\332\305\316\331\310" },
+ {T_UNKNOWN_FILE_TYPE, "\356\305\327\321\304\317\315\331 \324\331\320 \306\301\312\314\301" },
+ {T_ERROR_OPENING_FILE, "\360\301\315\331\314\313\301 \301\304\313\322\331\303\303\321 \306\301\312\314\301" },
+ {T_BAD_FTP_RESPONSE, "\356\321\320\322\301\327\246\314\330\316\331 \301\304\313\301\332 HTTP" },
+ {T_FTP_SERVICE_UNAVAILABLE, "\363\334\322\327\246\323 FTP \316\305\304\301\323\324\325\320\316\331" },
+ {T_BAD_FTP_LOGIN, "\356\321\320\322\301\327\246\314\330\316\331 FTP login" },
+ {T_FTP_PORT_COMMAND_FAILED, "\353\301\315\301\316\304\301 FTP PORT \323\313\317\316\336\331\314\301\323\330 \316\321\256\304\301\314\301" },
+ {T_FILE_NOT_FOUND, "\346\301\312\314 \316\305 \332\316\301\312\304\332\305\316\331" },
+ {T_FTP_FILE_ERROR, "\360\301\315\331\314\313\301 \306\301\312\314\301 \316\301 FTP" },
+ {T_UNKNOWN_ERROR, "\356\305\327\321\304\317\315\301\321 \320\301\315\331\314\313\301" },
+ {T_RECEIVED, "\360\322\331\316\321\324\301" },
+ {T_OF, "\332" },
+ {T_AVG, "\325 \323\321\322\334\304\316\305\315" },
+ {T_CUR, "\303\321\313\325\336\301\321" },
+ {T_AVERAGE_SPEED, "\363\321\322\334\304\316\321\321 \310\325\324\313\301\323\303\330" },
+ {T_SPEED, "\350\325\324\313\301\323\303\330" },
+ {T_CURRENT_SPEED, "\303\321\313\325\336\301\321 \310\325\324\313\301\323\303\330" },
+ {T_ELAPSED_TIME, "\372\301\324\322\301\336\301\316\331 \336\301\323" },
+ {T_ESTIMATED_TIME, "\360\314\301\316\325\305\315\331 \336\301\323" },
+ {T_BACKGROUND, "\365 \306\317\316\305" },
+ {T_ABORT, "\360\322\305\301\320\331\316\246\303\330" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "\364\301\313" },
+ {T_NO, "\356\305" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "\360\301\315\331\314\313\301 \332\301\313\301\336\313\246" },
+ {T_COULD_NOT_WRITE_TO_FILE, "\356\305\315\301\316\336\331\315\301 \320\246\323\301\303\330 \325 \306\301\312\314" },
+ {T_ERROR_DOWNLOADING, "\360\301\315\331\314\313\301 \332\301\313\301\336\327\301\316\316\321" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "\356\305\315\301\307\336\331\315\301 \323\324\327\301\322\331\303\330 \306\301\312\314" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "\356\305\327\321\304\317\315\331 \324\331\320" },
+ {T_CONTENT_TYPE_IS, "\364\331\320 \304\301\313\325\315\305\316\324\301" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "\366\301\304\301\305\303\305 \306\301\312\314 \332\301\310\301\327\301\303\330 \303\246 \320\301\313\301\332\301\303\330 \316\301 \334\313\322\301\316\305?" },
+ {T_SAVE, "\372\301\310\301\327\301\303\330" },
+ {T_DISPLAY, "\360\301\313\301\332\301\303\330" },
+ {T_WHAT_TO_DO, "\373\324\317 \322\301\302\246\303\330?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "\366\301\304\301\305\303\305 \301\304\313\322\331\303\330 \306\301\312\314 \332 \304\301\320\301\315\317\307\301\312" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "\332\301\310\301\327\301\303\330 \303\246 \320\301\313\301\332\301\303\330 \321\307\317?" },
+ {T_OPEN, "\341\304\313\322\331\303\330" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "\366\301\304\301\305\303\305 \320\301\323\314\305\304\327\301\303\330 \320\305\322\301\301\304\322\301\323\301\303\331? ? \301\304\320\322\301\327?\303\330 \304\301\304\332\305\316\331\321 \306\317\322\315\331 \320\317 \301\304\322\305\323\325" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "\343\246 \326\301\304\301\305\303\305 \367\331 \301\304\320\322\301\327\246\303\330 \304\301\304\332\305\316\331\321 \306\317\322\315\331 \320\301 \301\304\322\301\323\325" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "\343\246 \326\301\304\301\305\303\305 \367\331 \332\316\317\256 \301\304\320\322\301\327\246\303\330 \304\301\304\332\305\316\331\321 \306\317\322\315\331 \320\301 \301\304\322\301\323\325" },
+ {T_WARNING, "\365\327\301\307\301" },
+ {T_ERROR, "\360\301\315\331\314\313\301" },
+ {T_WELCOME, "\367\246\324\301\305\315!" },
+ {T_WELCOME_TO_LINKS, "\373\336\331\322\301 \367\301\323 \327\246\324\301\305\315 \325 Links!" },
+ {T_BASIC_HELP, "\356\301\303\246\323\316\246\303\305 ESC \304\314\321 \327\331\313\314\246\313\325 \315\305\316\300. \360\322\301\336\331\324\301\312\303\305 \304\301\320\301\315\317\326\316\246\313 \313\301\322\331\323\324\301\314\330\316\246\313\301, \327\331\302\322\301\256\333\331 \256 \315\305\316\300 '\344\301\320\301\315\317\307\301->\344\301\320\301\315\317\326\316\246\313'." },
+ {T_LABEL, "\355\305\324\313\301" },
+ {T_CONTENT_TYPES, "\364\331\320(\331) \332\315\305\323\324\325" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "\360\322\301\307\322\301\315\301 ('%' \332\301\315\321\316\321\305\303\303\301 \316\301 \246\315\321 \306\301\312\314\301)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "\342\314\301\313\246\322\301\327\301\303\330 \324\334\322\315\246\316\301\314 \316\301 \336\301\323 \320\322\301\303\331 \320\322\301\307\322\301\315\331" },
+ {T_RUN_ON_TERMINAL, "\372\301\320\325\323\303\246\303\330 \316\301 \324\334\322\315\246\316\301\314\305" },
+ {T_RUN_IN_XWINDOW, "\372\301\320\325\323\303\246\303\330 \325 X-Window" },
+ {T_ASK_BEFORE_OPENING, "\372\301\320\331\324 \320\305\322\301\304 \301\304\313\322\331\303\303\243\315" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "\367\331\304\301\314\246\303\330 \323\325\320\301\323\324\301\256\314\305\316\316\305" },
+ {T_ASSOCIATION, "\363\325\320\301\323\324\301\256\314\305\316\316\305" },
+ {T_EXTENSION_S, "\362\301\323\333\331\322\305\316\316\246" },
+ {T_CONTENT_TYPE, "\364\331\320 \332\315\305\323\324\325" },
+ {T_DELETE_EXTENSION, "\367\331\304\301\314\246\303\330 \322\301\323\333\331\322\334\316\316\305" },
+ {T_EXTENSION, "\362\301\323\333\331\322\334\316\316\305" },
+ {T_eXTENSION, NULL },
+ {T_ERROR_WHILE_POSTING_FORM, "\360\301\315\331\314\313\301 \320\322\331 \301\304\320\322\301\256\303\331 \306\317\322\315\331" },
+ {T_COULD_NOT_GET_FILE, "\356\305\323\301\307\336\331\315\301 \301\324\322\331\315\301\303\330 \306\301\312\314" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "\362\301\316\305\312 \320\317\333\325\313\325 \316\305 \302\331\314\317" },
+ {T_SEARCH_STRING_NOT_FOUND, "\373\325\313\301\305\315\331 \322\301\304\317\313 \316\305 \332\316\301\312\304\332\305\316\331" },
+ {T_SAVE_ERROR, "\360\301\315\331\314\313\301 \332\301\310\301\327\301\316\316\321\321" },
+ {T_ERROR_WRITING_TO_FILE, "\360\301\315\331\314\313\301 \332\301\320\246\323\325 \256 \306\301\312\314" },
+ {T_DISPLAY_USEMAP, "\360\301\313\301\332\301\303\330 \313\301\322\324\325" },
+ {T_FOLLOW_LINK, "\363\314\305\304\317\327\301\324\330 \323\323\331\314\313\305" },
+ {T_OPEN_IN_NEW_WINDOW, "\357\324\313\322\331\324\330 \327 \316\317\327\317\315 \317\313\316\305" },
+ {T_DOWNLOAD_LINK, "\356\301\313\246\322\317\256\327\301\303\303\301 \320\301 \323\320\301\323\331\314\303\331" },
+ {T_RESET_FORM, "\341\336\331\323\324\313\301 \306\317\322\315\331" },
+ {T_SUBMIT_FORM, "\360\301\323\314\301\303\330 \306\317\322\315\325" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "\360\301\323\314\301\303\330 \306\317\322\315\325 \246 \301\304\313\322\331\303\330 \325 \316\317\327\331\315 \301\313\316\305" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "\360\301\323\314\301\324\330 \306\317\322\315\325 \246 \323\313\301\336\301\303\330" },
+ {T_VIEW_IMAGE, "\360\322\301\307\314\321\304\332\305\303\330 \327\331\321\327\325" },
+ {T_DOWNLOAD_IMAGE, "\363\313\301\336\301\303\330 \327\331\321\327\325" },
+ {T_NO_LINK_SELECTED, "\356\321\315\301 \327\331\302\322\301\316\331\310 \323\320\301\323\331\314\301\313" },
+ {T_IMAGE, "\355\301\314\300\316\301\313" },
+ {T_USEMAP, "\353\301\322\324\301 \323\320\301\323\331\314\301\313" },
+ {T_XTERM, NULL },
+ {T_TWTERM, NULL },
+ {T_SCREEN, "\374\313\322\301\316" },
+ {T_WINDOW, "\341\313\316\317" },
+ {T_FULL_SCREEN, "\356\301 \256\327\305\323\330 \334\313\322\301\316" },
+ {T_BEOS_TERMINAL, "\364\334\322\315\246\316\301\314 BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "\360\305\322\301\304\301\336\301 \306\317\322\315\331 \320\301 \301\304\322\305\323\325" },
+ {T_POST_FORM_TO, "\341\304\320\322\301\256\313\301 \306\317\322\315\331 \320\301 \301\304\322\305\323\325" },
+ {T_RADIO_BUTTON, "\362\301\304\331\243-\313\316\317\320\313\301" },
+ {T_CHECKBOX, "\341\304\332\316\301\313\301" },
+ {T_SELECT_FIELD, "\367\331\302\321\322\331\303\305 \320\317\314\305" },
+ {T_TEXT_FIELD, "\364\334\313\323\324\301\327\301\305 \320\317\314\305" },
+ {T_TEXT_AREA, "\364\334\313\323\324\301\327\301\305 \320\317\314\305" },
+ {T_FILE_UPLOAD, "\367\331\307\322\325\332\313\301 \306\301\312\314\301" },
+ {T_PASSWORD_FIELD, "\360\317\314\305 \320\301\322\317\314\321" },
+ {T_BUTTON, NULL },
+ {T_NAME, "\315\305\324\313\301" },
+ {T_VALUE, "\332\316\301\336\305\316\316\305" },
+ {T_HIT_ENTER_TO, "\316\301\326\315\246\303\305 ENTER, \313\301\302" },
+ {T_SUBMIT_TO, "\320\305\322\301\304\301\303\330 \320\301 \301\304\322\305\323\325" },
+ {T_POST_TO, "\301\304\320\322\301\327\246\303\330 \320\301 \301\304\322\305\323\325" },
+ {T_INFO, "\266\316\306\301" },
+ {T_HEADER_INFO, "\266\316\306\301 \320\322\301 \332\301\307\301\314\317\327\301\313" },
+ {T_YOU_ARE_NOWHERE, "\367\331 \316\305 \332\316\301\310\317\304\332\246\303\305\323\321 \316\246 \316\301 \301\304\316\331\315 \323\301\312\303\305!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "\360\301\315\305\322" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "\316\305 \303\301\314\313\301\315" },
+ {T_CODEPAGE, "\353\317\304\301\327\301\321 \323\324\301\322\317\316\313\301" },
+ {T_ASSUMED, "\320\322\331\316\321\324\301" },
+ {T_IGNORING_SERVER_SETTING, "\246\307\316\301\322\301\327\301\303\330 \316\301\323\324\322\317\312\313\246 \323\305\322\327\305\322\301" },
+ {T_SERVER, "\363\305\322\327\305\322" },
+ {T_DATE, "\344\301\324\301" },
+ {T_LAST_MODIFIED, "\341\320\317\333\316\321\321 \315\301\304\331\306\246\313\301\303\331\321" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "\355\317\327\301" },
+ {T_GO_TO_LINK, "\360\301\312\323\303\246 \320\301 \323\320\301\323\331\314\303\331" },
+ {T_ENTER_LINK_NUMBER, "\365\327\321\304\332\246\303\305 \316\325\315\301\322 \323\320\301\323\331\314\313\246" },
+ {T_RESIZE_TERMINAL, "\372\315\321\316\246\303\330 \320\301\315\305\322\331 \324\334\322\315\246\316\301\314\301" },
+ {T_COLUMNS, "\363\314\325\320\313\317\256" },
+ {T_ROWS, "\362\301\304\313\317\256" },
+ {T_GOTO, "\360\301\312\323\303\246" },
+ {T_CLOSE, "\372\301\313\322\331\303\330" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "\344\301\304\301\303\330" },
+ {T_DELETE, "\367\331\304\301\314\246\303\330" },
+ {T_EDIT, "\362\334\304\301\307\301\327\301\303\330" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "\372\301\313\314\301\304\313\246" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "\344\301\304\301\303\330 \332\301\313\314\301\304\313\325" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, "\356\301\332\327\301 \332\301\313\314\301\304\313\246" },
+ {T_EDIT_BOOKMARK, "\362\305\304\301\307\301\327\301\303\330 \332\301\313\314\301\304\313\325" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "\367\331\304\301\314\246\303\330 \332\301\313\314\301\304\313\325" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "\360\322\301\303\301 \332 \332\301\313\314\301\304\313\301\315\246" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, "URL" },
+ {T_NNAME, "\266\315\321" },
+ {T_EXIT_LINKS, "\367\331\310\301\304 \332 Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "\367\331 \323\301\320\322\301\256\304\331 \326\301\304\301\305\303\305 \332\301\327\321\322\333\331\303\330 \320\322\301\303\325 \332 Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "\367\331 \323\301\320\322\301\256\304\331 \326\301\304\301\305\303\305 \332\301\327\321\322\333\331\303\330 \320\322\301\303\325 \332 \323 Links \246 \323\320\331\316\246\303\330 \325\323\305 \332\301\313\301\336\313\246?" },
+ {T_HTTP_OPTIONS, "\356\301\323\324\322\317\312\313\246 HTTP" },
+ {T_FTP_OPTIONS, "\356\301\323\324\322\317\312\313\246 FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "\360\301\332\302\321\307\301\303\330 \320\301\315\331\314\301\313 \325 HTTP" },
+ {T_USE_HTTP_10, "\367\331\313\301\322\331\323\324\317\256\327\301\303\330 HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "\344\301\304\301\327\301\303\330 \304\301 \336\317\322\316\301\307\301 \323\320\246\323\301 \316\305\301\304\314\301\304\326\301\316\331\321 \323\305\322\327\305\322\331" },
+ {T_BROKEN_302_REDIRECT, "\344\301\332\327\317\314\246\303\330 \316\321\320\322\301\327\246\314\330\316\325\300 302-\320\305\322\301\301\304\322\301\323\317\256\313\325 (\307\334\324\301 \316\305 \301\304\320\301\327\321\304\301\305 RFC, \310\301\303\321 \246 \323\325\315\321\333\336\301\314\330\316\301 \332 Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "\356\305 \320\301\304\324\322\331\315\314\246\327\301\303\330 keepalive \320\301\323\314\321 \332\301\320\331\324\325 POST (\320\301\324\322\334\302\316\301 \304\314\321 \316\305\313\301\324\317\322\331\310 \316\305\301\304\314\301\304\326\301\316\331\310 PHP-\302\301\332 \304\301\304\332\305\316\331\310)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "\360\301\322\317\314\330 \304\314\321 \301\316\301\316\246\315\316\301\307\301 \256\327\301\310\317\304\325" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "\344\301\320\301\315\317\326\316\246\313" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, "\360\322\301\307\322\301\315\301 \301\304\320\322\301\256\313\246 \320\317\333\324\331 (% \332\301\315\321\316\321\305\303\303\301 \316\301 \301\304\322\301\323)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "\360\322\301\307\322\301\315\301 telnet (% \332\301\315\321\316\321\305\303\303\301 \316\301 'host' \303\246 'host port')" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "\360\322\301\307\322\301\315\301 tn3270 (% \332\301\315\321\316\321\305\303\303\301 \316\301 'host' \303\246 'host port')" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "\360\322\301\307\322\301\315\331 \304\314\321 \320\317\333\324\331 \246 telnet'\301" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "\356\321\315\301 \320\322\301\307\322\301\315\331" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "\356\305 \256\313\301\332\301\316\301 \320\322\301\307\322\301\315\301 \304\314\321" },
+ {T_MAIL, "\320\317\333\324\331" },
+ {T_TELNET, NULL },
+ {T_MAGNET, NULL },
+ {T_TN3270, NULL },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "\356\321\320\322\301\327\246\314\330\316\331 \301\304\322\301\323 mailto:" },
+ {T_BAD_TELNET_URL, "\356\321\320\322\301\327\246\314\330\316\331 \301\304\322\301\323 telnet" },
+ {T_BAD_TN3270_URL, "\356\321\320\322\301\327\246\314\330\316\331 \301\304\322\301\323 tn3270" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "\266\315\321 \313\301\322\331\323\324\301\314\330\316\246\313\301" },
+ {T_PASSWORD, "\360\301\322\317\314\330" },
+ {T_ENTER_USERNAME, "\365\327\321\304\332\246\303\305 \246\315\321 \313\301\322\331\323\324\301\314\330\316\246\313\301 \304\314\321 " },
+ {T_AT, "\316\301 " },
+ {T_SSL_ERROR, "\360\301\315\331\314\313\301 SSL" },
+ {T_NO_SSL, "\347\334\324\301 \327\305\322\323\246\321 Links \316\305 \320\301\304\324\322\331\315\314\246\327\301\305 SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, NULL },
+ {T_HK_GO_BACK, NULL },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, NULL },
+ {T_HK_RELOAD, NULL },
+ {T_HK_BOOKMARKS, NULL },
+ {T_HK_NEW_WINDOW, NULL },
+ {T_HK_SAVE_AS, NULL },
+ {T_HK_SAVE_URL_AS, NULL },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, NULL },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, NULL },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, NULL },
+ {T_HK_RESOURCE_INFO, NULL },
+ {T_HK_MEMORY_INFO, NULL },
+ {T_HK_OS_SHELL, NULL },
+ {T_HK_RESIZE_TERMINAL, NULL },
+ {T_HK_EXIT, NULL },
+ {T_HK_SEARCH, NULL },
+ {T_HK_SEARCH_BACK, NULL },
+ {T_HK_FIND_NEXT, NULL },
+ {T_HK_FIND_PREVIOUS, NULL },
+ {T_HK_TOGGLE_HTML_PLAIN, NULL },
+ {T_HK_DOCUMENT_INFO, NULL },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, NULL },
+ {T_HK_HTML_OPTIONS, NULL },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, NULL },
+ {T_HK_LANGUAGE, NULL },
+ {T_HK_CHARACTER_SET, NULL },
+ {T_HK_TERMINAL_OPTIONS, NULL },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, NULL },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, NULL },
+ {T_HK_MAIL_AND_TELNEL, NULL },
+ {T_HK_ASSOCIATIONS, NULL },
+ {T_HK_FILE_EXTENSIONS, NULL },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, NULL },
+ {T_HK_ABOUT, NULL },
+ {T_HK_KEYS, NULL },
+ {T_HK_COPYING, NULL },
+ {T_HK_MANUAL, NULL },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, NULL },
+ {T_HK_VIEW, NULL },
+ {T_HK_LINK, NULL },
+ {T_HK_DOWNLOADS, NULL },
+ {T_HK_SETUP, NULL },
+ {T_HK_HELP, NULL },
+ {T_HK_DISPLAY_USEMAP, NULL },
+ {T_HK_FOLLOW_LINK, NULL },
+ {T_HK_OPEN_IN_NEW_WINDOW, NULL },
+ {T_HK_DOWNLOAD_LINK, NULL },
+ {T_HK_RESET_FORM, NULL },
+ {T_HK_SUBMIT_FORM, NULL },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, NULL },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, NULL },
+ {T_HK_VIEW_IMAGE, NULL },
+ {T_HK_DOWNLOAD_IMAGE, NULL },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, NULL },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, NULL },
+ {T_HK_WINDOW, NULL },
+ {T_HK_FULL_SCREEN, NULL },
+ {T_HK_BEOS_TERMINAL, NULL },
+ { 0, NULL }
+};
+
+static struct translation translation_brazilian_portuguese [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-1" },
+ {T__LANGUAGE, "Brazilian Portuguese" },
+ {T__ACCEPT_LANGUAGE, "pt-br,pt;q=0.9" },
+ {T_OK, "OK" },
+ {T_CANCEL, "Cancelar" },
+ {T_BAD_NUMBER, "N\372mero inv\341lido" },
+ {T_NUMBER_EXPECTED, "Espera-se n\372mero no campo" },
+ {T_NUMBER_OUT_OF_RANGE, "N\372mero fora de freq\374\352ncia" },
+ {T_BAD_STRING, "Sequ\352ncia de caracteres inv\341lida" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "N\343o \351 permitido sequ\352ncia de caracteres vazia" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Erro de configura\347\343o" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "N\343o posso escrever no arquivo de configura\347\343o" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Sobre" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nBrowser WWW" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Teclas" },
+ {T_KEYS_DESC, "ESC Exibe o menu\n^C, q Finalizar\n^P, ^N Deslocar para cima, baixo\n[, ] Deslocar para a esquerda, direita\n cima, baixo seleciona link\n-> visita link\n<- volta\ng abre url\nG abre url baseada na url atual\n/ localizar\n? localizar para tr\341s\nn encontrar pr\363ximo\nN encontrar anterior\n= informa\347\365es sobre documento\n\\ fonte do documento\nd download" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Licensa" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nEste programa \351 um software livre; voc\352 pode redistribu\355-lo e/ou modific\341-lo sob os termos da Licensa P\372blica Geral GNU, como publicada pela Free Software Foundation; ou pela vers\343o 2 da Licensa, ou (por sua op\347\343o) qualquer vers\343o posterior." },
+ {T_RESOURCES, "Recursos" },
+ {T_CONNECTIONS, "Conex\365es" },
+ {T_MEMORY_CACHE, "Cache de mem\363ria" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "Cache de documentos formatados" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "handles" },
+ {T_TIMERS, "temporizadores" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "conectando" },
+ {T_tRANSFERRING, "transferindo" },
+ {T_KEEPALIVE, "manter ativo" },
+ {T_BYTES, "bytes" },
+ {T_LETTERS, NULL },
+ {T_FILES, "arquivosfiles" },
+ {T_LOCKED, "travado" },
+ {T_LOADING, "carregando" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "documentos" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "bytes de mem\363ria alocados" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Informa\347\365es sobre mem\363ria" },
+ {T_NO_HISTORY, "Sem hist\363rico" },
+ {T_NO_DOWNLOADS, "Sem downloads" },
+ {T_NO_FRAMES, "Sem frames" },
+ {T_VT_100_FRAMES, "Frames VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "Frames Linux ou OS/2" },
+ {T_KOI8R_FRAMES, "Frames KOI8-R" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Use ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Frames restritos para cp850/852" },
+ {T_BLOCK_CURSOR, "Cursor Bloco" },
+ {T_COLOR, "Cores" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Op\347\365es do Terminal" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "Proxy de HTTP (host:porta)" },
+ {T_FTP_PROXY__HOST_PORT, "Proxy de FTP (host:porta)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, NULL },
+ {T_NETWORK_OPTIONS, "Op\347\365es de Rede" },
+ {T_MAX_CONNECTIONS, "N\372mero m\341ximo de conex\365es" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "N\372mero M\341ximo de conex\365es a um host" },
+ {T_RETRIES, "Tentativas" },
+ {T_RECEIVE_TIMEOUT_SEC, "Receber timeout (seg)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout quando n\343o for reinicializ\341vel" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Busca por DNS ass\355ncrona" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Definir tempo em arquivos recebidos" },
+ {T_CACHE_OPTIONS, "Op\347\365es de cache" },
+ {T_MEMORY_CACHE_SIZE__KB, "Tamanho do chache de mem\363ria (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "N\372mero de documentos formatados" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "Op\347\365es de Html" },
+ {T_DISPLAY_TABLES, "Exibir tabelas" },
+ {T_DISPLAY_FRAMES, "Exibir frames" },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Exibir links para imagens" },
+ {T_LINK_ORDER_BY_COLUMNS, "Mover por colunas em tabelas" },
+ {T_NUMBERED_LINKS, "Links numerados" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Margem do texto" },
+ {T_DEFAULT_CODEPAGE, "P\341gina de c\363digo Padr\343o" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorar informa\347\365es de charset enviadas pelo servidor" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Ir para URL" },
+ {T_GO_BACK, "Voltar" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Hist\363rico" },
+ {T_RELOAD, "Recarregar" },
+ {T_NEW_WINDOW, "Nova janela" },
+ {T_SAVE_AS, "Salvar como" },
+ {T_SAVE_URL_AS, "Salvar URL como" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Salvar documento formatado" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Encerrar conex\365es em segundo plano" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "Reinicializar todos os caches" },
+ {T_RESOURCE_INFO, "Informa\347\365es sobre os Recursos" },
+ {T_OS_SHELL, "OS shell" },
+ {T_EXIT, "Sair" },
+ {T_SEARCH, "Procurar" },
+ {T_SEARCH_BACK, "Procurar para tr\341s" },
+ {T_FIND_NEXT, "Localizar pr\363ximo" },
+ {T_FIND_PREVIOUS, "Localizar anterior" },
+ {T_TOGGLE_HTML_PLAIN, "Alternar entre html/plain" },
+ {T_DOCUMENT_INFO, "Informa\347\343o sobre o documento" },
+ {T_FRAME_AT_FULL_SCREEN, "Frame em tela cheia" },
+ {T_SAVE_HTML_OPTIONS, "Salvar op\347\365es de html" },
+ {T_CHARACTER_SET, "Conjunto de Caracteres (Charset)" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "Mail e telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Associa\347\365es" },
+ {T_FILE_EXTENSIONS, "Extens\365es de arquivo" },
+ {T_SAVE_OPTIONS, "Salvar op\347\365es" },
+ {T_FILE, "Arquivo" },
+ {T_VIEW, "Exibir" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "Downloads" },
+ {T_SETUP, "Configura\347\343o" },
+ {T_HELP, "Ajuda" },
+ {T_ENTER_URL, "Digite URL" },
+ {T_SAVE_URL, "Salvar URL" },
+ {T_DOWNLOAD, "Download" },
+ {T_SAVE_TO_FILE, "Salvar para arquivo" },
+ {T_SEARCH_FOR_TEXT, "Procurar pelo texto" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "Aguardando na fila" },
+ {T_LOOKING_UP_HOST, "Procurando pelo host" },
+ {T_MAKING_CONNECTION, "Conectando" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, NULL },
+ {T_REQUEST_SENT, "Solicita\347\343o enviada" },
+ {T_GETTING_HEADERS, "Obtendo os cabe\347alhos" },
+ {T_LOGGING_IN, NULL },
+ {T_SERVER_IS_PROCESSING_REQUEST, "O servidor est\341 processando a solicita\347\343o" },
+ {T_TRANSFERRING, "Transferindo" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Aguardando pela confirma\347\343o de redirecionamento" },
+ {T_INTERRUPTED, "Interrompido" },
+ {T_SOCKET_EXCEPTION, "Excess\343o do Socket" },
+ {T_INTERNAL_ERROR, "Erro interno" },
+ {T_OUT_OF_MEMORY, "Sem mem\363ria" },
+ {T_HOST_NOT_FOUND, "Host n\343o encontrado" },
+ {T_ERROR_WRITING_TO_SOCKET, "Erro ao gravar pelo socket" },
+ {T_ERROR_READING_FROM_SOCKET, "Erro ao ler pelo socket" },
+ {T_DATA_MODIFIED, "Datos modificados" },
+ {T_BAD_URL_SYNTAX, "Sintaxe da URL est\341 incorreta" },
+ {T_RECEIVE_TIMEOUT, "Sinal timeout recebido" },
+ {T_REQUEST_MUST_BE_RESTARTED, "A solicita\347\343o deve ser reiniciada" },
+ {T_CANT_GET_SOCKET_STATE, "N\343o posso obter o status do socket" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Resposta HTTP incorreta" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Sem conte\372do" },
+ {T_UNKNOWN_FILE_TYPE, "Tipo de arquivo desconhecido" },
+ {T_ERROR_OPENING_FILE, "Erro ao abrir arquivo" },
+ {T_BAD_FTP_RESPONSE, "Resposta FTP incorreta" },
+ {T_FTP_SERVICE_UNAVAILABLE, "Servi\347o de FTP n\343o-dispon\355vel" },
+ {T_BAD_FTP_LOGIN, "Login FTP incorreto" },
+ {T_FTP_PORT_COMMAND_FAILED, "Comando FTP PORT falhou" },
+ {T_FILE_NOT_FOUND, "Arquivo n\343o encontrado" },
+ {T_FTP_FILE_ERROR, "Erro em FTP" },
+ {T_UNKNOWN_ERROR, "ERRO DESCONHECIDO" },
+ {T_RECEIVED, "Recebido" },
+ {T_OF, "de" },
+ {T_AVG, "m\351dia" },
+ {T_CUR, "atual" },
+ {T_AVERAGE_SPEED, "Velocidade m\351dia" },
+ {T_SPEED, "Velocidade" },
+ {T_CURRENT_SPEED, "velocidade atual" },
+ {T_ELAPSED_TIME, "Tempo decorrido" },
+ {T_ESTIMATED_TIME, "tempo estimado" },
+ {T_BACKGROUND, "Segundo plano" },
+ {T_ABORT, "Cancelar" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "Sim" },
+ {T_NO, "N\343o" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Erro de download" },
+ {T_COULD_NOT_WRITE_TO_FILE, "N\343o posso gravar no arquivo" },
+ {T_ERROR_DOWNLOADING, "Erro durante o download" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "N\343o posso criar o arquivo" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Tipo desconhecido" },
+ {T_CONTENT_TYPE_IS, "O Tipo de conte\372do \351" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Deseja salvar ou exibir este arquivo?" },
+ {T_SAVE, "Salvar" },
+ {T_DISPLAY, "Exibir" },
+ {T_WHAT_TO_DO, "Fazer o que?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Deseja abrir o arquivo com" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "salvar ou exibir?" },
+ {T_OPEN, "Abrir" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Deseja continuar com o redirecionamento e enviar os dados do formul\341rio" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Deseja enviar os dados do formul\341rio" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Deseja enviar novamente os dados do formul\341rio" },
+ {T_WARNING, "Aten\347\343o" },
+ {T_ERROR, "Erro" },
+ {T_WELCOME, "Bem-vindo" },
+ {T_WELCOME_TO_LINKS, "Bem-vindo ao links!" },
+ {T_BASIC_HELP, "Pressione ESC para ativar o menu. Selecione Ajuda->Manual no menu para o Manual do Usu\341rio." },
+ {T_LABEL, "R\363tulo" },
+ {T_CONTENT_TYPES, "Tipo(s) de conte\372do" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programa ('%' ser\341 substitu\355do pelo nome do arquivo)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Bloquear o terminal enquanto o programa est\341 sendo executado" },
+ {T_RUN_ON_TERMINAL, "Executar no terminal" },
+ {T_RUN_IN_XWINDOW, "Executar no X-Window" },
+ {T_ASK_BEFORE_OPENING, "Perguntar antes de abrir" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Apagar associa\347\343o" },
+ {T_ASSOCIATION, "associa\347\343o" },
+ {T_EXTENSION_S, "Extens\343o(\365es)" },
+ {T_CONTENT_TYPE, "Tipo de conte\372do (Content-Type)" },
+ {T_DELETE_EXTENSION, "Apagar extens\343o" },
+ {T_EXTENSION, "Extens\343o" },
+ {T_eXTENSION, "extens\343o" },
+ {T_ERROR_WHILE_POSTING_FORM, "Erro durante o envio do formul\341rio" },
+ {T_COULD_NOT_GET_FILE, "N\343o posso obter o arquivo" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "N\343o h\341 procura anterior" },
+ {T_SEARCH_STRING_NOT_FOUND, "String de procura n\343o localizada" },
+ {T_SAVE_ERROR, "Erro ao salvar" },
+ {T_ERROR_WRITING_TO_FILE, "Erro ao gravar em arquivo" },
+ {T_DISPLAY_USEMAP, "Exibir o usemap" },
+ {T_FOLLOW_LINK, "Seguir link" },
+ {T_OPEN_IN_NEW_WINDOW, "Abrir em nova janela" },
+ {T_DOWNLOAD_LINK, "Download link" },
+ {T_RESET_FORM, "Reiniciar formul\341rio" },
+ {T_SUBMIT_FORM, "Enviar formul\341rio" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Enviar formul\341rio e abrir em nova janela" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Enviar formul\341rio e efetuar download" },
+ {T_VIEW_IMAGE, "Visualizar imagem" },
+ {T_DOWNLOAD_IMAGE, "Download da imagem" },
+ {T_NO_LINK_SELECTED, "Nenhum link selecionado" },
+ {T_IMAGE, "Imagem" },
+ {T_USEMAP, "Usemap (mapa de imagem)" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, NULL },
+ {T_SCREEN, "Tela" },
+ {T_WINDOW, "Janela" },
+ {T_FULL_SCREEN, "Tela cheia" },
+ {T_BEOS_TERMINAL, "Terminal do BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Enviar formul\341rio para" },
+ {T_POST_FORM_TO, "Postar formul\341rio para" },
+ {T_RADIO_BUTTON, "Bot\343o radio" },
+ {T_CHECKBOX, "Caixa de verifica\347\343o" },
+ {T_SELECT_FIELD, "Campo de sele\347\343o" },
+ {T_TEXT_FIELD, "Campo de texto" },
+ {T_TEXT_AREA, "\301rea de texto" },
+ {T_FILE_UPLOAD, "Upload de arquivo" },
+ {T_PASSWORD_FIELD, "Campo de password" },
+ {T_BUTTON, NULL },
+ {T_NAME, "nome" },
+ {T_VALUE, "valor" },
+ {T_HIT_ENTER_TO, "perssione ENTER para" },
+ {T_SUBMIT_TO, "enviar para" },
+ {T_POST_TO, "postar para" },
+ {T_INFO, "Info" },
+ {T_HEADER_INFO, NULL },
+ {T_YOU_ARE_NOWHERE, "Voc\352 est\341 aqui!!!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Tamanho" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "incompleto" },
+ {T_CODEPAGE, "Codepage" },
+ {T_ASSUMED, "assumido" },
+ {T_IGNORING_SERVER_SETTING, "Ignorando configura\347\343o de servidor" },
+ {T_SERVER, "Servidor" },
+ {T_DATE, "Data" },
+ {T_LAST_MODIFIED, "\332ltima modifica\347\343o" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Idioma" },
+ {T_GO_TO_LINK, "Ir para link" },
+ {T_ENTER_LINK_NUMBER, "Digite o n\372mero do number" },
+ {T_RESIZE_TERMINAL, "Redimensionar terminal" },
+ {T_COLUMNS, "Colunas" },
+ {T_ROWS, "Linhas" },
+ {T_GOTO, "Ir para" },
+ {T_CLOSE, "Fechar" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "Adicionar" },
+ {T_DELETE, "Apagar" },
+ {T_EDIT, "Editar" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "Bookmarks (marcadores)" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "Adicionar bookmark" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, "T\355tulo do Bookmark" },
+ {T_EDIT_BOOKMARK, "Editar bookmark" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "Apagar bookmark" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "Gerenciador de Bookmark" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, "url" },
+ {T_NNAME, "Nome" },
+ {T_EXIT_LINKS, "Encerrar o Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Voc\352 realmente deseja encerrar o Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Voc\352 realmente deseja encerrar o Links (e terminar com todos os downloads)?" },
+ {T_HTTP_OPTIONS, "Op\347\365es de HTTP" },
+ {T_FTP_OPTIONS, "Op\347\365es de FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP bug workarounds" },
+ {T_USE_HTTP_10, "Utilizar HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Permitir blacklist de servidores com bugs" },
+ {T_BROKEN_302_REDIRECT, "Redirecionamento 302 incorreto (viola a RFC, mas mant\351m compatibilidade com o Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "N\343o manter conex\343o ativa ap\363s solicita\347\343o POST (alguns bancos de dados PHP com bugs necessitam)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Password para login an\364nimo" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Manual do Usu\341rio" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, "Cliente de e-mail (% ser\341 substituido pelo endere\347o)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Cliente telnet (% ser\341 substituido por \"host\" or \"host port\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Cliente tn3270 (% ser\341 substituido por \"host\" or \"host port\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Clientes de e-mail e telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Nenhum programa" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Nenhum programa foi especificado para" },
+ {T_MAIL, "mail" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "URL mailto incorreta" },
+ {T_BAD_TELNET_URL, "URL telnet incorreta" },
+ {T_BAD_TN3270_URL, "URL tn3270 incorreta" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, NULL },
+ {T_PASSWORD, NULL },
+ {T_ENTER_USERNAME, NULL },
+ {T_AT, NULL },
+ {T_SSL_ERROR, NULL },
+ {T_NO_SSL, NULL },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "B" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "V" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "F" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "X" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "B" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "F" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "A" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "H" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "A" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "C" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_bulgarian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "cp1251" },
+ {T__LANGUAGE, "Bulgarian" },
+ {T__ACCEPT_LANGUAGE, "bg" },
+ {T_OK, "\316\312" },
+ {T_CANCEL, "\316\362\352\340\347" },
+ {T_BAD_NUMBER, "\315\345\342\340\353\350\344\355\356 \367\350\361\353\356" },
+ {T_NUMBER_EXPECTED, "\302 \362\356\342\340 \357\356\353\345 \362\360\377\341\342\340 \344\340 \350\354\340 \367\350\361\353\356" },
+ {T_NUMBER_OUT_OF_RANGE, "\327\350\361\353\356\362\356 \345 \350\347\342\372\355 \344\350\340\357\340\347\356\355\340" },
+ {T_BAD_STRING, "\315\345\342\340\353\350\344\345\355 \361\350\354\342\356\353\345\355 \355\350\347" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "\315\345 \345 \357\356\347\342\356\353\345\355 \357\360\340\347\345\355 \361\350\354\342\356\353\345\355 \355\350\347" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "\303\360\345\370\352\340 \342 \355\340\361\362\360\356\351\352\350\362\345" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "\315\345 \354\356\346\345 \344\340 \361\345 \357\350\370\345 \342\372\342 \364\340\351\353\340 \361 \355\340\361\362\360\356\351\352\350\362\345" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "\307\340 \357\360\356\343\360\340\354\340\362\340" },
+ {T_LINKS__LYNX_LIKE, "Links \342\345\360\361\350\377 " VERSION_STRING "\n\n Lynx-\357\356\344\356\341\345\355 \362\345\352\361\362\356\342 web-\341\360\340\363\347\372\360" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "\312\353\340\342\350\370\350" },
+ {T_KEYS_DESC, "ESC \354\345\355\376\n^C, q \350\347\365\356\344\n^P, ^N \357\360\345\353\350\361\362\350 \355\340\343\356\360\345-\355\340\344\356\353\363\n[, ] \357\360\345\353\350\361\362\350 \355\340\353\377\342\356-\355\340\344\377\361\355\356\nup, down \350\347\341\345\360\350 \342\360\372\347\352\340\n-> \357\360\356\361\353\345\344\350 \342\360\372\347\352\340\n<- \355\340\347\340\344\ng \356\362\342\356\360\350 \355\356\342 URL\nG \356\362\342\356\360\350 URL, \341\340\347\350\360\340\355 \355\340 \362\345\352\363\371\350\377\n/ \362\372\360\361\350\n? \362\372\360\361\350 \342 \356\341\360\340\362\355\340 \357\356\361\356\352\340\nn \355\340\354\345\360\350 \361\353\345\344\342\340\371\356\362\356 \361\372\342\357\340\344\345\355\350\345\nN \355\340\354\345\360\350 \357\360\345\344\355\356\362\356 \361\372\342\357\340\344\345\355\350\345\n= \350\355\364\356\360\354\340\366\350\377 \347\340 \344\356\352\363\354\345\355\362\340\n| \350\355\364\356\360\354\340\366\350\377 \347\340 \347\340\343\353\340\342\355\340\362\340 \367\340\361\362\n\\ \357\356\352\340\346\350 HTML \352\356\344\340\nd \361\342\340\353\350 (\344\360\372\357\355\350, \350\347\362\345\343\353\350)" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "\300\342\362\356\360\361\352\356 \357\360\340\342o" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\n\322\340\347\350 \357\360\356\343\360\340\354\340 \345 \361\342\356\341\356\344\345\355 \361\356\364\362\363\345\360; \354\356\346\345\362\345 \344\340 \377 \360\340\347\357\360\356\361\362\360\340\355\377\342\340\362\345 \350/\350\353\350 \354\356\344\350\364\350\366\350\360\340\362\345 \361\357\356\360\345\344 \352\353\340\363\347\350\362\345 \355\340 \316\341\371\350\377 \317\363\341\353\350\367\345\355 \313\350\366\345\355\347 GNU, \357\363\341\353\350\352\363\342\340\355 \356\362 \324\356\355\344\340\366\350\377\362\340 \347\340 \361\342\356\341\356\344\345\355 \361\356\364\362\363\345\360 (FSF); \342\345\360\361\350\377 2 \355\340 \313\350\366\345\355\347\340 \350\353\350 (\357\356 \302\340\370\345 \346\345\353\340\355\350\345) \352\356\377\362\356 \350 \344\340 \345 \357\356-\352\372\361\355\340 \342\345\360\361\350\377." },
+ {T_RESOURCES, "\320\345\361\363\360\361\350" },
+ {T_CONNECTIONS, "\302\360\372\347\352\340(\350)" },
+ {T_MEMORY_CACHE, "\312\345\370-\357\340\354\345\362" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "\312\345\370 \347\340 \364\356\360\354\340\362\350\360\340\355\350\362\345 \344\356\352\363\354\345\355\362\350" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "handles" },
+ {T_TIMERS, "\362\340\351\354\345\360\350" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "\361\342\372\360\347\342\340\355\345" },
+ {T_tRANSFERRING, "\357\360\345\344\340\342\340\355\345" },
+ {T_KEEPALIVE, "\360\345\340\355\350\354\350\360\340\355\345 \355\340 \342\360\372\347\352\340\362\340" },
+ {T_BYTES, "\341\340\351\362\340" },
+ {T_LETTERS, NULL },
+ {T_FILES, "\364\340\351\353\340" },
+ {T_LOCKED, "\347\340\352\353\376\367\345\355" },
+ {T_LOADING, "\347\340\360\345\346\344\340\355\345" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "\344\356\352\363\354\345\355\362\350" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "\341\340\351\362\340 \347\340\344\345\353\345\355\340 \357\340\354\345\362" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "\310\355\364\356\360\354\340\366\350\377 \347\340 \357\340\354\345\362\362\340" },
+ {T_NO_HISTORY, "\315\377\354\340 \350\361\362\356\360\350\377" },
+ {T_NO_DOWNLOADS, "\315\350\371\356 \355\345 \361\345 \361\342\340\353\377" },
+ {T_NO_FRAMES, "\301\345\347 \360\340\354\352\350" },
+ {T_VT_100_FRAMES, "\320\340\354\352\350 VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "\320\340\354\352\350 Linux \350\353\350 OS/2" },
+ {T_KOI8R_FRAMES, "\320\340\354\352\350 KOI8-R" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "\310\347\357\356\353\347\342\340\355\345 \355\340 ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "\316\343\360\340\355\350\367\345\355\350 \360\340\354\352\350 \342 cp850/852" },
+ {T_BLOCK_CURSOR, "\301\353\356\352\356\342 \352\363\360\361\356\360" },
+ {T_COLOR, "\326\342\377\362" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "\315\340\361\362\360\356\351\352\350 \355\340 \362\345\360\354\350\355\340\353\340" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP \357\360\356\352\361\350 (\361\372\360\342\372\360:\357\356\360\362)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP \357\360\356\352\361\350 (\361\372\360\342\372\360:\357\356\360\362)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "\321\357\350\361\372\352 (\360\340\347\344\345\353\345\355 \367\360\345\347 \347\340\357\345\362\340\350) \355\340 \344\356\354\345\351\355\350\362\345 \347\340 \344\356\361\362\372\357 \341\345\347 \357\360\356\352\361\350" },
+ {T_NETWORK_OPTIONS, "\314\360\345\346\356\342\350 \355\340\361\362\360\356\351\352\350" },
+ {T_MAX_CONNECTIONS, "\314\340\352\361. \341\360\356\351 \342\360\372\347\352\350" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "\314\340\352\361. \341\360\356\351 \342\360\372\347\352\350 \352\372\354 \345\344\350\355 \361\372\360\342\372\360" },
+ {T_RETRIES, "\301\360\356\351 \356\357\350\362\350 \356\362\355\356\342\356" },
+ {T_RECEIVE_TIMEOUT_SEC, "\322\340\351\354\340\363\362 \357\360\350 \357\360\350\345\354\340\355\345 (\361\345\352.)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "\322\340\351\354\340\363\362 \357\360\350 \355\345\342\372\347\354\356\346\355\356\361\362 \347\340 \360\345\361\362\340\360\362\350\360\340\355\345" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "\300\361\350\355\365\360\356\355\355\356 \356\341\360\372\371\345\355\350\345 \352\372\354 DNS" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "\323\361\362\340\355\356\342\377\342\340\355\345 \355\340 \342\360\345\354\345\362\356 \355\340 \361\342\340\353\345\355\350\362\345 \364\340\351\353\356\342\345" },
+ {T_CACHE_OPTIONS, "\315\340\361\362\360\356\351\352\350 \355\340 \352\345\370\340" },
+ {T_MEMORY_CACHE_SIZE__KB, "\320\340\347\354\345\360 \355\340 \352\345\370-\357\340\354\345\362\362\340 (\312\301)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "\301\360\356\351 \355\340 \364\356\360\354\340\362\350\360\340\355\350\362\345 \344\356\352\363\354\345\355\362\350" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "HTML \355\340\361\362\360\356\351\352\350" },
+ {T_DISPLAY_TABLES, "\322\340\341\353\350\366\350" },
+ {T_DISPLAY_FRAMES, "\320\340\354\352\350" },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "\302\360\372\347\352\350 \352\372\354 \350\347\356\341\360\340\346\345\355\350\377\362\340" },
+ {T_LINK_ORDER_BY_COLUMNS, "\317\360\350\344\342\350\346\342\340\355\345 \357\356 \352\356\353\356\355\350 \342 \362\340\341\353\350\366\350\362\345" },
+ {T_NUMBERED_LINKS, "\315\356\354\345\360\350\360\340\355\350 \342\360\372\347\352\350" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "\316\362\361\362\372\357" },
+ {T_DEFAULT_CODEPAGE, "\312\356\344\350\360\340\355\345 \357\356 \357\356\344\360\340\347\341\350\360\340\355\345" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "\310\343\355\356\360\350\360\340\351 \352\356\344\350\360\340\355\345\362\356, \357\356\344\340\344\345\355\356 \356\362 \361\372\360\342\372\360\340" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "\316\362\342\356\360\350 \355\356\342 URL" },
+ {T_GO_BACK, "\302\372\360\355\350 \361\345 \355\340\347\340\344" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "\310\361\362\356\360\350\377" },
+ {T_RELOAD, "\307\340\360\345\344\350 \356\362\355\356\342\356" },
+ {T_NEW_WINDOW, "\315\356\342 \357\360\356\347\356\360\345\366" },
+ {T_SAVE_AS, "\307\340\357\340\347\350 \352\340\362\356" },
+ {T_SAVE_URL_AS, "\307\340\357\340\347\350 URL \352\340\362\356" },
+ {T_SAVE_FORMATTED_DOCUMENT, "\307\340\357\340\347\350 \364\356\360\354\340\362\350\360\340\355 \344\356\352\363\354\345\355\362" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "\323\341\350\351 \342\360\372\347\352\350\362\345 \342\372\342 \364\356\355\356\342 \360\345\346\350\354" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "\310\347\357\360\340\347\355\350 \342\361\350\367\352\350 \342\350\344\356\342\345 \352\345\370" },
+ {T_RESOURCE_INFO, "\310\355\364\356\360\354\340\366\350\377 \347\340 \360\345\361\363\360\361\350\362\345" },
+ {T_OS_SHELL, "\312\356\354\340\355\344\345\355 \360\345\344" },
+ {T_EXIT, "\310\347\365\356\344" },
+ {T_SEARCH, "\322\372\360\361\345\355\345" },
+ {T_SEARCH_BACK, "\322\372\360\361\345\355\345 \342 \356\341\360\340\362\355\340 \357\356\361\356\352\340" },
+ {T_FIND_NEXT, "\315\340\354\345\360\350 \361\353\345\344\342\340\371\356\362\356 \361\372\342\357\340\344\345\355\350\345" },
+ {T_FIND_PREVIOUS, "\315\340\354\345\360\350 \357\360\345\344\355\356\362\356 \361\372\342\357\340\344\345\355\350\345" },
+ {T_TOGGLE_HTML_PLAIN, "\317\360\345\342\352\353\376\367\350 HTML/\362\345\352\361\362" },
+ {T_DOCUMENT_INFO, "\310\355\364\356\360\354\340\366\350\377 \347\340 \344\356\352\363\354\345\355\362\340" },
+ {T_FRAME_AT_FULL_SCREEN, "\320\340\354\352\340 \357\360\350 \357\372\353\345\355 \345\352\360\340\355" },
+ {T_SAVE_HTML_OPTIONS, "\307\340\357\340\347\350 HTML \355\340\361\362\360\356\351\352\350\362\345" },
+ {T_CHARACTER_SET, "\312\356\344\350\360\340\355\345" },
+ {T_CACHE, "\312\345\370" },
+ {T_MAIL_AND_TELNEL, "\317\356\371\340 \350 telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "\300\361\356\366\350\340\366\350\350" },
+ {T_FILE_EXTENSIONS, "\324\340\351\353\356\342\350 \360\340\347\370\350\360\345\355\350\377" },
+ {T_SAVE_OPTIONS, "\307\340\357\340\347\350 \355\340\361\362\360\356\351\352\350\362\345" },
+ {T_FILE, "\324\340\351\353" },
+ {T_VIEW, "\310\347\343\353\345\344" },
+ {T_LINK, "\302\360\372\347\352\340" },
+ {T_DOWNLOADS, "\321\342\340\353\377\355\345" },
+ {T_SETUP, "\315\340\361\362\360\356\351\352\350" },
+ {T_HELP, "\317\356\354\356\371" },
+ {T_ENTER_URL, "\302\372\342\345\344\345\362\345 URL" },
+ {T_SAVE_URL, "\307\340\357\340\347\345\362\345 URL" },
+ {T_DOWNLOAD, "\321\342\340\353\350 (\344\360\372\357\355\350, \350\347\362\345\343\353\350)" },
+ {T_SAVE_TO_FILE, "\307\340\357\340\347\350 \342\372\342 \364\340\351\353" },
+ {T_SEARCH_FOR_TEXT, "\322\372\360\361\345\355\345 \355\340 \362\345\352\361\362" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "\327\340\352\340\355\345 \355\340 \356\357\340\370\352\340" },
+ {T_LOOKING_UP_HOST, "\322\372\360\361\350 \361\345 \365\356\361\362\372\362" },
+ {T_MAKING_CONNECTION, "\302\360\372\347\352\340\362\340 \361\345 \363\361\362\340\355\356\342\377\342\340" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, NULL },
+ {T_REQUEST_SENT, "\307\340\377\342\352\340\362\340 \345 \350\347\357\360\340\362\345\355\340" },
+ {T_GETTING_HEADERS, "\317\356\353\363\367\340\342\340 \361\345 \347\340\343\353\340\342\355\340\362\340 \367\340\361\362" },
+ {T_LOGGING_IN, NULL },
+ {T_SERVER_IS_PROCESSING_REQUEST, "\321\372\360\342\372\360\372\362 \356\341\360\340\341\356\362\342\340 \347\340\377\342\352\340\362\340" },
+ {T_TRANSFERRING, "\317\360\345\344\340\342\340\355\345" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "\316\367\340\352\342\340 \361\345 \357\356\362\342\360\372\346\344\345\355\350\345 \355\340 \357\360\345\357\360\340\371\340\355\345\362\356" },
+ {T_INTERRUPTED, "\317\360\345\352\372\361\355\340\362\356" },
+ {T_SOCKET_EXCEPTION, "\310\347\352\353\376\367\345\355\350\345 \342 socket" },
+ {T_INTERNAL_ERROR, "\302\372\362\360\345\370\355\340 \343\360\345\370\352\340" },
+ {T_OUT_OF_MEMORY, "\317\340\354\345\362\362\340 \345 \355\345\344\356\361\362\340\362\372\367\355\340" },
+ {T_HOST_NOT_FOUND, "\325\356\361\362\372\362 \355\345 \345 \356\362\352\360\350\362" },
+ {T_ERROR_WRITING_TO_SOCKET, "\303\360\345\370\352\340 \357\360\350 \357\350\361\340\355\345\362\356 \342 socket" },
+ {T_ERROR_READING_FROM_SOCKET, "\303\360\345\370\352\340 \357\360\350 \367\345\362\345\355\345\362\356 \356\362 socket" },
+ {T_DATA_MODIFIED, "\304\340\362\340\362\340 \345 \357\360\356\354\345\355\345\355\340" },
+ {T_BAD_URL_SYNTAX, "\315\345\342\340\353\350\344\345\355 URL \361\350\355\362\340\352\361\350\361" },
+ {T_RECEIVE_TIMEOUT, "\322\340\351\354\340\363\362 \357\360\350 \357\356\353\363\367\340\342\340\355\345" },
+ {T_REQUEST_MUST_BE_RESTARTED, "\307\340\377\342\352\340\362\340 \362\360\377\341\342\340 \344\340 \361\345 \357\356\342\362\356\360\350" },
+ {T_CANT_GET_SOCKET_STATE, "\315\345 \354\356\346\345 \344\340 \361\345 \357\356\353\363\367\350 \361\372\361\362\356\377\355\350\345\362\356 \355\340 socket-\340" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "\315\345\342\340\353\350\344\345\355 HTTP \356\362\343\356\342\356\360" },
+ {T_HTTP_100, NULL },
+ {T_NO_CONTENT, "\315\377\354\340 \344\340\355\355\350" },
+ {T_UNKNOWN_FILE_TYPE, "\315\345\350\347\342\345\361\362\345\355 \362\350\357 \364\340\351\353" },
+ {T_ERROR_OPENING_FILE, "\303\360\345\370\352\340 \357\360\350 \356\362\342\340\360\377\355\345\362\356 \355\340 \364\340\351\353" },
+ {T_BAD_FTP_RESPONSE, "\315\345\342\340\353\350\344\345\355 FTP \356\362\343\356\342\356\360" },
+ {T_FTP_SERVICE_UNAVAILABLE, "\323\361\353\363\343\340\362\340 FTP \345 \355\345\344\356\361\362\372\357\355\340" },
+ {T_BAD_FTP_LOGIN, "\315\345\342\340\353\350\344\345\355 FTP login" },
+ {T_FTP_PORT_COMMAND_FAILED, "\312\356\354\340\355\344\340\362\340 FTP PORT \347\340\342\372\360\370\350 \355\345\363\361\357\345\370\355\356" },
+ {T_FILE_NOT_FOUND, "\324\340\351\353\372\362 \355\345 \345 \356\362\352\360\350\362" },
+ {T_FTP_FILE_ERROR, "\303\360\345\370\352\340 \342 FTP \364\340\351\353" },
+ {T_UNKNOWN_ERROR, "\315\345\357\356\347\355\340\362\340 \343\360\345\370\352\340" },
+ {T_RECEIVED, "\317\356\353\363\367\345\355\350" },
+ {T_OF, "\356\362" },
+ {T_AVG, "\361\360\345\344\355\356" },
+ {T_CUR, "\362\345\352\363\371\356" },
+ {T_AVERAGE_SPEED, "\321\360\345\344\355\340 \361\352\356\360\356\361\362" },
+ {T_SPEED, "\321\352\356\360\356\361\362" },
+ {T_CURRENT_SPEED, "\362\345\352\363\371\340 \361\352\356\360\356\361\362" },
+ {T_ELAPSED_TIME, "\310\347\362\345\352\353\356 \342\360\345\354\345" },
+ {T_ESTIMATED_TIME, "\317\360\356\343\355\356\347\350\360\340\355\356 \342\360\345\354\345" },
+ {T_BACKGROUND, "\302\372\342 \364\356\355\356\342 \360\345\346\350\354" },
+ {T_ABORT, "\317\360\345\352\372\361\355\350" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "\304\340" },
+ {T_NO, "\315\345" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "\303\360\345\370\352\340 \357\360\350 \361\342\340\353\377\355\345" },
+ {T_COULD_NOT_WRITE_TO_FILE, "\315\345 \354\356\346\345 \344\340 \361\345 \357\350\370\345 \342\372\342 \364\340\351\353" },
+ {T_ERROR_DOWNLOADING, "\303\360\345\370\352\340 \357\360\350 \361\342\340\353\377\355\345" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "\315\345 \354\356\346\345 \344\340 \361\345 \361\372\347\344\340\344\345 \364\340\351\353" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "\315\345\357\356\347\355\340\362 \362\350\357" },
+ {T_CONTENT_TYPE_IS, "\322\350\357\372\362 \355\340 \344\356\352\363\354\345\355\362\340 \345" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "\306\345\353\340\345\362\345 \353\350 \344\340 \347\340\357\340\347\350\362\345 \350\353\350 \357\356\352\340\346\345\362\345 \362\356\347\350 \364\340\351\353 \355\340 \345\352\360\340\355\340?" },
+ {T_SAVE, "\307\340\357\340\347\342\340\355\345" },
+ {T_DISPLAY, "\317\356\352\340\347\342\340\355\345" },
+ {T_WHAT_TO_DO, "\312\340\352\342\356 \344\340 \357\360\340\342\377?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "\306\345\353\340\345\362\345 \353\350 \344\340 \356\362\342\356\360\350\362\345 \364\340\351\353\340 \367\360\345\347" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "\344\340 \343\356 \347\340\357\340\347\377 \350\353\350 \344\340 \343\356 \357\356\352\340\346\340 \355\340 \345\352\360\340\355\340?" },
+ {T_OPEN, "\316\362\342\356\360\345\355" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "\306\345\353\340\345\362\345 \353\350 \344\340 \357\360\356\361\353\345\344\350\362\345 \357\360\345\357\360\340\371\340\355\345\362\356 \350 \344\340 \350\347\357\360\340\362\350\362\345 \344\340\355\355\350\362\345 \356\362 \364\356\360\354\363\353\377\360\340 \352\372\354 \340\344\360\345\361" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "\306\345\353\340\345\362\345 \344\340 \350\347\357\360\340\362\350\362\345 \344\340\355\355\350\362\345 \356\362 \364\356\360\354\363\353\377\360\340 \352\372\354 \340\344\360\345\361" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "\306\345\353\340\345\362\345 \353\350 \344\340 \357\360\345\357\360\340\362\350\362\345 \344\340\355\355\350\362\345 \356\362 \364\356\360\354\363\353\377\360\340 \352\372\354 \340\344\360\345\361" },
+ {T_WARNING, "\302\355\350\354\340\355\350\345" },
+ {T_ERROR, "\303\360\345\370\352\340" },
+ {T_WELCOME, "\307\344\360\340\342\345\351\362\345" },
+ {T_WELCOME_TO_LINKS, "\304\356\341\360\345 \344\356\370\353\350 \342 Links!" },
+ {T_BASIC_HELP, "\315\340\362\350\361\355\345\362\345 ESC \347\340 \344\340 \350\347\342\350\352\340\362\345 \354\345\355\376\362\356. \310\347\341\345\360\345\362\345 '\317\356\354\356\371->\320\372\352\356\342\356\344\361\362\342\356', \347\340 \344\340 \357\360\356\367\345\362\345\362\345 \360\372\352\356\342\356\344\361\362\342\356\362\356 \347\340 \357\356\362\360\345\341\350\362\345\353\377." },
+ {T_LABEL, "\305\362\350\352\345\362" },
+ {T_CONTENT_TYPES, "\322\350\357(\356\342\345) \361\372\344\372\360\346\340\355\350\345" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "\317\360\356\343\360\340\354\340 \347\340 ('%' \347\340\354\345\355\377 \350\354\345\362\356 \355\340 \364\340\351\353\340)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "\301\353\356\352\350\360\340\355\345 \355\340 \362\345\360\354\350\355\340\353\340 \357\356 \342\360\345\354\345 \355\340 \360\340\341\356\362\340\362\340 \355\340 \357\360\356\343\360\340\354\340\362\340" },
+ {T_RUN_ON_TERMINAL, "\321\362\340\360\362\350\360\340\351 \342 \362\345\360\354\350\355\340\353" },
+ {T_RUN_IN_XWINDOW, "\321\362\340\360\362\350\360\340\351 \342 X-Window" },
+ {T_ASK_BEFORE_OPENING, "\307\340\357\360\356\361 \357\345\360\345\344 \356\362\352\360\373\362\350\345\354" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "\323\344\340\353\350\362\374 \361\356\357\356\361\362\340\342\353\345\355\350\345" },
+ {T_ASSOCIATION, "\300\361\356\366\350\340\366\350\377" },
+ {T_EXTENSION_S, "\320\340\347\370\350\360\345\355\350\345(\377)" },
+ {T_CONTENT_TYPE, "\322\350\357 \355\340 \361\372\344\372\360\346\340\355\350\345\362\356" },
+ {T_DELETE_EXTENSION, "\310\347\362\360\350\351 \360\340\347\370\350\360\345\355\350\345" },
+ {T_EXTENSION, "\320\340\347\370\350\360\345\355\350\345" },
+ {T_eXTENSION, NULL },
+ {T_ERROR_WHILE_POSTING_FORM, "\303\360\345\370\352\340 \357\360\350 \350\347\357\360\340\371\340\355\345 \355\340 \364\356\360\354\363\353\377\360\340" },
+ {T_COULD_NOT_GET_FILE, "\324\340\351\353\372\362 \355\345 \354\356\346\345 \344\340 \341\372\344\345 \357\356\353\363\367\345\355" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "\315\377\354\340 \357\360\345\344\350\370\355\356 \362\372\360\361\345\355\345" },
+ {T_SEARCH_STRING_NOT_FOUND, "\322\372\360\361\345\355\350\377\362 \361\350\354\342\356\353\345\355 \355\350\347 \355\345 \345 \356\362\352\360\350\362" },
+ {T_SAVE_ERROR, "\303\360\345\370\352\340 \357\360\350 \347\340\357\340\347\342\340\355\345" },
+ {T_ERROR_WRITING_TO_FILE, "\303\360\345\370\352\340 \357\360\350 \347\340\357\350\361 \342\372\342 \364\340\351\353" },
+ {T_DISPLAY_USEMAP, "\317\356\352\340\346\350 \352\340\360\362\340\362\340" },
+ {T_FOLLOW_LINK, "\317\360\356\361\353\345\344\350 \342\360\372\347\352\340" },
+ {T_OPEN_IN_NEW_WINDOW, "\316\362\342\356\360\350 \342 \355\356\342 \357\360\356\347\356\360\345\366" },
+ {T_DOWNLOAD_LINK, "\321\342\340\353\350 (\344\360\372\357\355\350, \350\347\362\345\343\353\350) \342\360\372\347\352\340" },
+ {T_RESET_FORM, "\310\347\367\350\361\362\350 \364\356\360\354\363\353\377\360" },
+ {T_SUBMIT_FORM, "\317\356\362\342\372\360\344\350 \364\356\360\354\363\353\377\360" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "\317\356\362\342\372\360\344\350 \364\356\360\354\363\353\377\360\340 \350 \356\362\342\356\360\350 \342 \355\356\342 \357\360\356\347\356\360\345\366" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "\317\356\362\342\372\360\344\350 \364\356\360\354\363\353\377\360\340 \350 \361\342\340\353\350 (\344\360\372\357\355\350, \350\347\362\345\343\353\350)" },
+ {T_VIEW_IMAGE, "\317\356\352\340\346\350 \350\347\356\341\360\340\346\345\355\350\345" },
+ {T_DOWNLOAD_IMAGE, "\321\342\340\353\350 \350\347\356\341\360\340\346\345\355\350\345" },
+ {T_NO_LINK_SELECTED, "\315\345 \345 \350\347\341\360\340\355\340 \342\360\372\347\352\340" },
+ {T_IMAGE, "\310\347\356\341\360\340\346\345\355\350\345" },
+ {T_USEMAP, "\312\340\360\362\340 \355\340 \342\360\372\347\352\350\362\345" },
+ {T_XTERM, NULL },
+ {T_TWTERM, NULL },
+ {T_SCREEN, "\305\352\360\340\355" },
+ {T_WINDOW, "\317\360\356\347\356\360\345\366" },
+ {T_FULL_SCREEN, "\315\340 \366\377\353 \345\352\360\340\355" },
+ {T_BEOS_TERMINAL, "BeOS \362\345\360\354\350\355\340\353" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "\317\356\362\342\372\360\344\350 \364\356\360\354\363\353\377\360 \352\372\354 \340\344\360\345\361" },
+ {T_POST_FORM_TO, "\310\347\357\360\340\362\350 \364\356\360\354\363\353\377\360 \352\372\354 \340\344\360\345\361" },
+ {T_RADIO_BUTTON, "\320\340\344\350\356-\341\363\362\356\355" },
+ {T_CHECKBOX, "\312\356\355\362\360\356\353\355\340 \352\363\362\350\351\352\340 (checkbox)" },
+ {T_SELECT_FIELD, "\317\356\353\345 \347\340 \350\347\341\356\360" },
+ {T_TEXT_FIELD, "\322\345\352\361\362\356\342\356 \357\356\353\345" },
+ {T_TEXT_AREA, "\322\345\352\361\362\356\342\340 \356\341\353\340\361\362" },
+ {T_FILE_UPLOAD, "\312\340\367\342\340\355\345 (upload) \355\340 \364\340\351\353" },
+ {T_PASSWORD_FIELD, "\317\356\353\345 \347\340 \357\340\360\356\353\340" },
+ {T_BUTTON, NULL },
+ {T_NAME, "\350\354\345" },
+ {T_VALUE, "\361\362\356\351\355\356\361\362" },
+ {T_HIT_ENTER_TO, "\355\340\362\350\361\355\345\362\345 ENTER, \347\340 \344\340" },
+ {T_SUBMIT_TO, "\357\356\362\342\372\360\344\345\362\345 \352\372\354 \340\344\360\345\361" },
+ {T_POST_TO, "\350\347\357\360\340\362\345\362\345 \352\372\354 \340\344\360\345\361" },
+ {T_INFO, "\310\355\364\356\360\354\340\366\350\377" },
+ {T_HEADER_INFO, "\310\355\364\356\360\354\340\366\350\377 \355\340 \347\340\343\353\340\342\355\340\362\340 \367\340\361\362" },
+ {T_YOU_ARE_NOWHERE, "\302\350\345 \355\345 \361\345 \355\340\354\350\360\340\362\345 \355\340 \355\350\352\372\344\345!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "\320\340\347\354\345\360" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "\355\345\347\340\342\372\360\370\345\355" },
+ {T_CODEPAGE, "\312\356\344\350\360\340\355\345" },
+ {T_ASSUMED, "\357\360\350\345\362\356" },
+ {T_IGNORING_SERVER_SETTING, "\350\343\355\356\360\350\360\340\355\345 \355\340 \355\340\361\362\360\356\351\352\350\362\345 \355\340 \361\372\360\342\372\360\340" },
+ {T_SERVER, "\321\345\360\342\372\360" },
+ {T_DATE, "\304\340\362\340" },
+ {T_LAST_MODIFIED, "\317\356\361\353\345\344\355\340 \354\356\344\350\364\350\352\340\366\350\377" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "\305\347\350\352" },
+ {T_GO_TO_LINK, "\316\362\342\356\360\350 \342\360\372\347\352\340" },
+ {T_ENTER_LINK_NUMBER, "\302\372\342\345\344\345\362\345 \355\356\354\345\360 \355\340 \342\360\372\347\352\340" },
+ {T_RESIZE_TERMINAL, "\317\360\356\354\345\355\345\362\345 \360\340\347\354\345\360\340 \355\340 \362\345\360\354\350\355\340\353\340" },
+ {T_COLUMNS, "\312\356\353\356\355\350" },
+ {T_ROWS, "\320\345\344\356\342\345" },
+ {T_GOTO, "\316\362\342\356\360\350" },
+ {T_CLOSE, "\307\340\362\342\356\360\350" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "\304\356\341\340\342\350" },
+ {T_DELETE, "\310\347\362\360\350\351" },
+ {T_EDIT, "\320\345\344\340\352\362\350\360\340\351" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "\316\362\354\345\362\352\350" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "\304\356\341\340\342\377\355\345 \355\340 \356\362\354\345\362\352\340" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, "\310\354\345 \355\340 \356\362\354\345\362\352\340\362\340" },
+ {T_EDIT_BOOKMARK, "\320\345\344\340\352\362\350\360\340\355\345 \355\340 \356\362\354\345\362\352\340" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "\310\347\362\360\350\342\340\355\345 \355\340 \356\362\354\345\362\352\340" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "\323\357\360\340\342\353\345\355\350\345 \355\340 \356\362\354\345\362\352\350\362\345" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, "URL" },
+ {T_NNAME, "\310\354\345" },
+ {T_EXIT_LINKS, "\310\347\365\356\344 \356\362 Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "\315\340\350\361\362\350\355\340 \353\350 \346\345\353\340\345\362\345 \344\340 \350\347\353\345\347\345\362\345 \356\362 Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "\315\340\350\361\362\350\355\340 \353\350 \346\345\353\340\345\362\345 \344\340 \350\347\353\345\347\345\362\345 \356\362 Links \350 \344\340 \357\360\345\352\360\340\362\350\362\345 \342\361\350\367\352\356, \352\356\345\362\356 \361\342\340\353\377\362\345?" },
+ {T_HTTP_OPTIONS, "HTTP \355\340\361\362\360\356\351\352\350" },
+ {T_FTP_OPTIONS, "FTP \355\340\361\362\360\356\351\352\350" },
+ {T_HTTP_BUG_WORKAROUNDS, "\307\340\356\341\350\352\340\353\377\351 \343\360\345\370\352\350 \342 HTTP" },
+ {T_USE_HTTP_10, "\310\347\357\356\353\347\342\340\351 HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "\317\360\340\371\340\351 \355\345\361\362\340\341\350\353\355\350\362\345 \361\372\360\342\372\360\350 \342 \367\345\360\345\355 \361\357\350\361\372\352" },
+ {T_BROKEN_302_REDIRECT, "\320\340\347\360\345\370\350 \355\345\357\360\340\342\350\353\350\362\345 302-\357\360\345\357\360\340\371\340\355\350\377 (\362\356\342\340 \357\360\356\362\350\342\356\360\345\367\350 \355\340 RFC, \355\356 \345 \361\372\342\354\345\361\362\350\354\356 \361 Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "\315\345 \360\345\340\355\350\354\350\360\340\351 \361\353\345\344 \350\347\357\360\340\371\340\355\345 \355\340 POST \347\340\377\342\352\340 (\355\345\356\341\365\356\344\350\354\356 \347\340 \355\377\352\356\350 \355\345\361\362\340\341\350\353\355\350 PHP-\341\340\347\350 \344\340\355\355\350)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "\317\340\360\356\353\340 \357\360\350 \340\355\356\355\350\354\345\355 \342\365\356\344" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "\320\372\352\356\342\356\344\361\362\342\356" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, "\317\356\371\345\355\361\352\340 \357\360\356\343\360\340\354\340 (% \347\340\354\345\355\377 \340\344\360\345\361\340)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "\317\360\356\343\360\340\354\340 \347\340 telnet (% \347\340\354\345\355\377 'host' \350\353\350 'host port')" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "\317\360\356\343\360\340\354\340 \347\340 tn3270 (% \347\340\354\345\355\377 'host' \350\353\350 'host port')" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "\317\360\356\343\360\340\354\350 \347\340 \357\356\371\340 \350 telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "\315\377\354\340 \357\360\356\343\360\340\354\340" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "\315\345 \345 \357\356\361\356\367\345\355\340 \357\360\356\343\360\340\354\340 \347\340" },
+ {T_MAIL, "\357\356\371\340" },
+ {T_TELNET, NULL },
+ {T_MAGNET, NULL },
+ {T_TN3270, NULL },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "\315\345\342\340\353\350\344\345\355 \340\344\360\345\361 mailto:" },
+ {T_BAD_TELNET_URL, "\315\345\342\340\353\350\344\345\355 \340\344\360\345\361 telnet" },
+ {T_BAD_TN3270_URL, "\315\345\342\340\353\350\344\345\355 \340\344\360\345\361 tn3270" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "\310\344\345\355\362\350\364\350\352\340\366\350\377 \355\340 \357\356\362\360\345\341\350\362\345\353\377" },
+ {T_PASSWORD, "\317\340\360\356\353\340" },
+ {T_ENTER_USERNAME, "\302\372\342\345\344\345\362\345 \350\354\345 \355\340 \357\356\362\360\345\341\350\362\345\353\377 " },
+ {T_AT, "\355\340 " },
+ {T_SSL_ERROR, "SSL \343\360\345\370\352\340" },
+ {T_NO_SSL, "\322\340\347\350 \342\345\360\361\350\377 \355\340 Links \355\345 \357\356\344\344\372\360\346\340 SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, NULL },
+ {T_HK_GO_BACK, NULL },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, NULL },
+ {T_HK_RELOAD, NULL },
+ {T_HK_BOOKMARKS, NULL },
+ {T_HK_NEW_WINDOW, NULL },
+ {T_HK_SAVE_AS, NULL },
+ {T_HK_SAVE_URL_AS, NULL },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, NULL },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, NULL },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, NULL },
+ {T_HK_RESOURCE_INFO, NULL },
+ {T_HK_MEMORY_INFO, NULL },
+ {T_HK_OS_SHELL, NULL },
+ {T_HK_RESIZE_TERMINAL, NULL },
+ {T_HK_EXIT, NULL },
+ {T_HK_SEARCH, NULL },
+ {T_HK_SEARCH_BACK, NULL },
+ {T_HK_FIND_NEXT, NULL },
+ {T_HK_FIND_PREVIOUS, NULL },
+ {T_HK_TOGGLE_HTML_PLAIN, NULL },
+ {T_HK_DOCUMENT_INFO, NULL },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, NULL },
+ {T_HK_HTML_OPTIONS, NULL },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, NULL },
+ {T_HK_LANGUAGE, NULL },
+ {T_HK_CHARACTER_SET, NULL },
+ {T_HK_TERMINAL_OPTIONS, NULL },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, NULL },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, NULL },
+ {T_HK_MAIL_AND_TELNEL, NULL },
+ {T_HK_ASSOCIATIONS, NULL },
+ {T_HK_FILE_EXTENSIONS, NULL },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, NULL },
+ {T_HK_ABOUT, NULL },
+ {T_HK_KEYS, NULL },
+ {T_HK_COPYING, NULL },
+ {T_HK_MANUAL, NULL },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, NULL },
+ {T_HK_VIEW, NULL },
+ {T_HK_LINK, NULL },
+ {T_HK_DOWNLOADS, NULL },
+ {T_HK_SETUP, NULL },
+ {T_HK_HELP, NULL },
+ {T_HK_DISPLAY_USEMAP, NULL },
+ {T_HK_FOLLOW_LINK, NULL },
+ {T_HK_OPEN_IN_NEW_WINDOW, NULL },
+ {T_HK_DOWNLOAD_LINK, NULL },
+ {T_HK_RESET_FORM, NULL },
+ {T_HK_SUBMIT_FORM, NULL },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, NULL },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, NULL },
+ {T_HK_VIEW_IMAGE, NULL },
+ {T_HK_DOWNLOAD_IMAGE, NULL },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, NULL },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, NULL },
+ {T_HK_WINDOW, NULL },
+ {T_HK_FULL_SCREEN, NULL },
+ {T_HK_BEOS_TERMINAL, NULL },
+ { 0, NULL }
+};
+
+static struct translation translation_catalan [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-1" },
+ {T__LANGUAGE, "Catalan" },
+ {T__ACCEPT_LANGUAGE, "ca" },
+ {T_OK, "D'acord" },
+ {T_CANCEL, "Anul\267laci\363" },
+ {T_BAD_NUMBER, "Nombre incorrecte" },
+ {T_NUMBER_EXPECTED, "S'hi esperava un nombre" },
+ {T_NUMBER_OUT_OF_RANGE, "Nombre fora de rang" },
+ {T_BAD_STRING, "Cadena incorrecta" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "No s'hi permeten cadenes buides" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Error de configuraci\363" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "No ha estat possible escriure en l'arxiu de configuraci\363" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Quant a..." },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nNavegador en mode text/gr\340fic" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Tecles" },
+ {T_KEYS_DESC, "ESC mostrar men\372\n^C, q eixir\n^P, ^N amunt, avall\n[, ] esquerra, dreta\namunt, avall seleccionar enlla\347 (mode text)\n-> seguir enlla\347 (mode text)\n<- tornar (mode text)\ng anar a\nG anar a una URL basada en l'actual\n^G anar a una URL basada en l'enlla\347 actual\n/ cercar\n? cercar enrere\nn cercar seg\374ent\nN cercar anterior\n= informaci\363 del document\n| informaci\363 de les cap\347aleres\n\\ font del document\nd descarregar\n^W completar URL o cercar cadena\n^B, ^X, ^V copiar, tallar, pegar (nom\351s OS/2)\nAlt-1 .. Alt-9 canviar de consola virtual (svgalib i framebuffer)" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Llic\350ncia" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nAquest programa \351s lliure; podeu redistribuir-lo i modificar-lo d'acord amb la GNU General Public License tal com l'ha publicada la Free Software Foundation; saia la versi\363 2 de la dita llic\350ncia o (ad libitum) qualsevol de m\351s recent." },
+ {T_RESOURCES, "Recursos" },
+ {T_CONNECTIONS, "Connexions" },
+ {T_MEMORY_CACHE, "Mem\362ria cau" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Mem\362ria cau (tipus de lletra)" },
+ {T_IMAGE_CACHE, "Mem\362ria cau (imatges)" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Mem\363ria cau (documents)" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "manejadors" },
+ {T_TIMERS, "comptadors" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "connectant" },
+ {T_tRANSFERRING, "transferint" },
+ {T_KEEPALIVE, "perdurables" },
+ {T_BYTES, "bytes" },
+ {T_LETTERS, "tipus de lletra" },
+ {T_FILES, "fitxers" },
+ {T_LOCKED, "bloquejat" },
+ {T_LOADING, "carregant" },
+ {T_IMAGES, "imatges" },
+ {T_DOCUMENTS, "documents" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "bytes de mem\362ria reservats" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Informaci\363 sobre la mem\362ria" },
+ {T_NO_HISTORY, "Sense historial" },
+ {T_NO_DOWNLOADS, "Cap desc\340rrega" },
+ {T_NO_FRAMES, "Sense marcs" },
+ {T_VT_100_FRAMES, "Marcs VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "Marcs Linux o OS/2" },
+ {T_KOI8R_FRAMES, "Marcs KOI8-R" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Usar ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Restringir marcs als de cp850/852" },
+ {T_BLOCK_CURSOR, "cursor de bloc" },
+ {T_COLOR, "Color" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Opcions del terminal" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP proxy (m\340quina:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP proxy (m\340quina:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Dominis (separats per comes) d'acc\351s directe (amb proxy o sense)" },
+ {T_NETWORK_OPTIONS, "Opcions de xarxa" },
+ {T_MAX_CONNECTIONS, "M\340xim de connexions" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "M\340xim de connexions a una m\340quina" },
+ {T_RETRIES, "Reintents" },
+ {T_RECEIVE_TIMEOUT_SEC, "Temps m\340xim de recepci\363 (segons)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Temps m\340xim si no es pot rearrancar" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Recerca as\355ncrona de DNS" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Posar l'hora local als fitxers descarregats" },
+ {T_CACHE_OPTIONS, "Opcions per a la mem\362ria cau" },
+ {T_MEMORY_CACHE_SIZE__KB, "Dimensions de la mem\362ria cau d'images (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Nombre de documents formatats" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "Opcions d'HTML" },
+ {T_DISPLAY_TABLES, "Mostrar taules" },
+ {T_DISPLAY_FRAMES, "Mostrar marcs" },
+ {T_DISPLAY_IMAGES, "Mostrar imatges" },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Mostrar enlla\347os a imatges" },
+ {T_LINK_ORDER_BY_COLUMNS, "Moure per columnes en les taules" },
+ {T_NUMBERED_LINKS, "Enlla\347os numerats" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Marge del text" },
+ {T_DEFAULT_CODEPAGE, "P\340gina de codis predeterminada" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorar el joc de car\340cters enviat pel servidor" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Anar a (URL)" },
+ {T_GO_BACK, "Enrere" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Historial" },
+ {T_RELOAD, "Recarregar" },
+ {T_NEW_WINDOW, "Nova finestra" },
+ {T_SAVE_AS, "Anomenar i desar" },
+ {T_SAVE_URL_AS, "Anomenar la URL i desar-la" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Desar document amb format" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Finalitzar connexions en segon pla" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "Buidar la mem\362ria cau" },
+ {T_RESOURCE_INFO, "Informaci\363 de recursos" },
+ {T_OS_SHELL, "OS shell" },
+ {T_EXIT, "Eixir" },
+ {T_SEARCH, "Cercar" },
+ {T_SEARCH_BACK, "Cercar enrere" },
+ {T_FIND_NEXT, "Cercar seg\374ent" },
+ {T_FIND_PREVIOUS, "Cercar anterior" },
+ {T_TOGGLE_HTML_PLAIN, "Canviar html/text" },
+ {T_DOCUMENT_INFO, "Informaci\363 del document" },
+ {T_FRAME_AT_FULL_SCREEN, "Marc en pantalla completa" },
+ {T_SAVE_HTML_OPTIONS, "Desar les opcions d'html" },
+ {T_CHARACTER_SET, "Joc de car\340cters" },
+ {T_CACHE, "Mem\362ria cau" },
+ {T_MAIL_AND_TELNEL, "Correu i telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Associacions" },
+ {T_FILE_EXTENSIONS, "Extensions de fitxers" },
+ {T_SAVE_OPTIONS, "Desar opcions" },
+ {T_FILE, "Fitxer" },
+ {T_VIEW, "Veure" },
+ {T_LINK, "Enlla\347" },
+ {T_DOWNLOADS, "Desc\340rregues" },
+ {T_SETUP, "Configurar" },
+ {T_HELP, "Ajuda" },
+ {T_ENTER_URL, "Introdu\357u URL" },
+ {T_SAVE_URL, "Desar URL" },
+ {T_DOWNLOAD, "Descarregar" },
+ {T_SAVE_TO_FILE, "Desar en un fitxer" },
+ {T_SEARCH_FOR_TEXT, "Cercar text" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "Esperant en la cua" },
+ {T_LOOKING_UP_HOST, "Cercant servidor" },
+ {T_MAKING_CONNECTION, "Connectant" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "Negociaci\363 SSL" },
+ {T_REQUEST_SENT, "Petici\363 enviada" },
+ {T_GETTING_HEADERS, "Rebent cap\347aleres" },
+ {T_LOGGING_IN, "Connectant" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "El servidor est\340 processant la sol\267licitud" },
+ {T_TRANSFERRING, "Transferint" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Esperant confirmaci\363 per a la redirecci\363" },
+ {T_INTERRUPTED, "Interromput" },
+ {T_SOCKET_EXCEPTION, "Excepci\363 del connector" },
+ {T_INTERNAL_ERROR, "Error intern" },
+ {T_OUT_OF_MEMORY, "Mem\362ria exhaurida" },
+ {T_HOST_NOT_FOUND, "No s'ha trobat la m\340quina" },
+ {T_ERROR_WRITING_TO_SOCKET, "Error mentre escrivia al connector" },
+ {T_ERROR_READING_FROM_SOCKET, "Error mentre llegia del connector" },
+ {T_DATA_MODIFIED, "Dades modificades" },
+ {T_BAD_URL_SYNTAX, "Sintaxi de la URL incorrecta" },
+ {T_RECEIVE_TIMEOUT, "Temps m\340xim de recepci\363 sobrepassat" },
+ {T_REQUEST_MUST_BE_RESTARTED, "La petici\363 ha de ser repetida" },
+ {T_CANT_GET_SOCKET_STATE, "No es pot obtenir l'estat del connector" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Resposta HTTP incorrecta" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Buit" },
+ {T_UNKNOWN_FILE_TYPE, "Tipus de fitxer desconegut" },
+ {T_ERROR_OPENING_FILE, "Error mentre obria el fitxer" },
+ {T_BAD_FTP_RESPONSE, "Resposta FTP incorrecta" },
+ {T_FTP_SERVICE_UNAVAILABLE, "Servei d'FTP no disponible" },
+ {T_BAD_FTP_LOGIN, "Login FTP incorrecte" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT: instrucci\363 fallida" },
+ {T_FILE_NOT_FOUND, "No s'ha trobat el fitxer" },
+ {T_FTP_FILE_ERROR, "FTP file error" },
+ {T_UNKNOWN_ERROR, "Error desconegut" },
+ {T_RECEIVED, "Rebut" },
+ {T_OF, "de" },
+ {T_AVG, "mitj\340" },
+ {T_CUR, "actual" },
+ {T_AVERAGE_SPEED, "Velocitat mitjana" },
+ {T_SPEED, "Velocitat" },
+ {T_CURRENT_SPEED, "Velocitat actual" },
+ {T_ELAPSED_TIME, "Temps transcorregut" },
+ {T_ESTIMATED_TIME, "temps estimat" },
+ {T_BACKGROUND, "Segon pla" },
+ {T_ABORT, "Avortament" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "S\355" },
+ {T_NO, "No" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Error de desc\340rrega" },
+ {T_COULD_NOT_WRITE_TO_FILE, "No s'ha pogut crear el fitxer" },
+ {T_ERROR_DOWNLOADING, "Error mentre descarregava" },
+ {T_ERROR_LOADING, "Error mentre carregava" },
+ {T_COULD_NOT_CREATE_FILE, "No s'ha pogut crear el fitxer" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Tipus desconegut" },
+ {T_CONTENT_TYPE_IS, "El contingut \351s" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Voleu obrir, desar o mostrar aquest fitxer?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Voleu obrir o mostrar aquest fitxer?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Voleu desar o mostrar aquest fitxer?" },
+ {T_SAVE, "Desar" },
+ {T_DISPLAY, "Mostrar" },
+ {T_WHAT_TO_DO, "Qu\350 en fem?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Voleu obrir el fitxer amb" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "desar-lo o veure'l" },
+ {T_OPEN, "Obrir" },
+ {T_OPEN_WITH, "Obrir amb" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Voleu seguir la redirecci\363 i enviar les dades a la URL" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Voleu enviar les dades del formulari a la URL" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Voleu reenviar les dades del formulari a la URL" },
+ {T_WARNING, "Alerta" },
+ {T_ERROR, "Error" },
+ {T_WELCOME, "Benvingut/da" },
+ {T_WELCOME_TO_LINKS, "Benvingut/a a links!" },
+ {T_BASIC_HELP, "Premeu ESC o feu clic en la part superior de la finestra per a veure el men\372. Trieu Ajuda->Manual per veure el manual d'usuari." },
+ {T_LABEL, "Etiqueta" },
+ {T_CONTENT_TYPES, "Tipus de contingut" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programa ('%' \351s substitu\357t pel nom del fitxer)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Bloquejar el terminal mentre el programa s'executa" },
+ {T_RUN_ON_TERMINAL, "Executar en terminal" },
+ {T_RUN_IN_XWINDOW, "Executar en X-Window" },
+ {T_ASK_BEFORE_OPENING, "Preguntar abans d'obrir" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Esborrar associaci\363" },
+ {T_ASSOCIATION, "associaci\363" },
+ {T_EXTENSION_S, "Extensions" },
+ {T_CONTENT_TYPE, "Tipus de contingut" },
+ {T_DELETE_EXTENSION, "Esborrar extensions" },
+ {T_EXTENSION, "Extensi\363" },
+ {T_eXTENSION, "extensi\363" },
+ {T_ERROR_WHILE_POSTING_FORM, "Error durant la tramesa del formulari" },
+ {T_COULD_NOT_GET_FILE, "No ha estat possible obtenir el fitxer" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "No hi ha recerca pr\350via" },
+ {T_SEARCH_STRING_NOT_FOUND, "No s'ha trobat la cadena" },
+ {T_SAVE_ERROR, "Error mentre desava" },
+ {T_ERROR_WRITING_TO_FILE, "Error mentre escrivia el fitxer" },
+ {T_DISPLAY_USEMAP, "Mostrar usemap" },
+ {T_FOLLOW_LINK, "Seguir enlla\347" },
+ {T_OPEN_IN_NEW_WINDOW, "Obrir en una finestra nova" },
+ {T_DOWNLOAD_LINK, "Descarregar l'enlla\347" },
+ {T_RESET_FORM, "Refer formulari" },
+ {T_SUBMIT_FORM, "Enviar formulari" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Submit form and open in new window" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Trametre formulari i descarregar" },
+ {T_VIEW_IMAGE, "Veure imatge" },
+ {T_DOWNLOAD_IMAGE, "Descarregar imatge" },
+ {T_NO_LINK_SELECTED, "No heu seleccionat cap link" },
+ {T_IMAGE, "Imatge" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Pantalla" },
+ {T_WINDOW, "Finestra" },
+ {T_FULL_SCREEN, "Pantalla completa" },
+ {T_BEOS_TERMINAL, "Terminal BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Enviar formulari a" },
+ {T_POST_FORM_TO, "Enviar (per correu) formulari a" },
+ {T_RADIO_BUTTON, "Bot\363 excloent" },
+ {T_CHECKBOX, "Selecci\363" },
+ {T_SELECT_FIELD, "Llista" },
+ {T_TEXT_FIELD, "Camp de text" },
+ {T_TEXT_AREA, "\300rea de text" },
+ {T_FILE_UPLOAD, "Trametre fitxer" },
+ {T_PASSWORD_FIELD, "Camp de contrasenya" },
+ {T_BUTTON, "Bot\363" },
+ {T_NAME, "nom" },
+ {T_VALUE, "valor" },
+ {T_HIT_ENTER_TO, "premeu ENTER per" },
+ {T_SUBMIT_TO, "presentar a" },
+ {T_POST_TO, "enviar a" },
+ {T_INFO, "Informaci\363" },
+ {T_HEADER_INFO, "Cap\347aleres" },
+ {T_YOU_ARE_NOWHERE, "No et trobes enlloc!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Grand\340ria" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "incomplet" },
+ {T_CODEPAGE, "P\340gina de codis" },
+ {T_ASSUMED, "suposat" },
+ {T_IGNORING_SERVER_SETTING, "Ignora la indicaci\363 del servidor" },
+ {T_SERVER, "Servidor" },
+ {T_DATE, "Data" },
+ {T_LAST_MODIFIED, "\332ltima modificaci\363" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Idioma" },
+ {T_GO_TO_LINK, "Anar a l'enlla\347" },
+ {T_ENTER_LINK_NUMBER, "Introdu\357u n\372mero d'enlla\347" },
+ {T_RESIZE_TERMINAL, "Modificaci\363 de les dimensions del terminal" },
+ {T_COLUMNS, "Columnes" },
+ {T_ROWS, "Files" },
+ {T_GOTO, "Anar" },
+ {T_CLOSE, "Tancar" },
+ {T_FOLDER, "Directori" },
+ {T_fOLDER, "directori" },
+ {T_ADD, "Afegir" },
+ {T_DELETE, "Esborrar" },
+ {T_EDIT, "Editar" },
+ {T_MOVE, "Moure" },
+ {T_NO_ITEMS_SELECTED, "No hi ha cap element seleccionat. No hi ha res a moure." },
+ {T_UNSELECT_ALL, "Llevar la selecci\363" },
+ {T_BOOKMARKS, "Adreces interessants" },
+ {T_BOOKMARK, "adre\347a interessant" },
+ {T_ADD_BOOKMARK, "Afegir a la llista d'adreces interessants" },
+ {T_ADD_ASSOCIATION, "Afegir associaci\363" },
+ {T_ADD_EXTENSION, "Afegir extensi\363" },
+ {T_ADD_FOLDER, "Afegir directori" },
+ {T_BOOKMARK_TITLE, "T\355tol del registre" },
+ {T_EDIT_BOOKMARK, "Editar registre" },
+ {T_EDIT_ASSOCIATION, "Editar associaci\363" },
+ {T_EDIT_EXTENSION, "Editar extensi\363" },
+ {T_DELETE_BOOKMARK, "Eliminar registre" },
+ {T_EDIT_FOLDER, "Editar directori" },
+ {T_DELETE_FOLDER, "Esborrar directori" },
+ {T_NOT_EMPTY_SURE_DELETE, "no \351s buit. Segur que voleu esborrar-lo?" },
+ {T_BOOKMARK_MANAGER, "Adreces interessants" },
+ {T_ASSOCIATIONS_MANAGER, "Associacions" },
+ {T_EXTENSIONS_MANAGER, "Extensions" },
+ {T_url, "url" },
+ {T_NNAME, "Nom" },
+ {T_EXIT_LINKS, "Eixir de Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Segur que voleu eixir de Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Segur que voleu eixir de Links (i interrompre totes les desc\340rregues)?" },
+ {T_HTTP_OPTIONS, "Opcions HTTP" },
+ {T_FTP_OPTIONS, "Opcions FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "Obviar errors d'HTTP" },
+ {T_USE_HTTP_10, "Usar HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Permetre llista negra de servidors que donen errors" },
+ {T_BROKEN_302_REDIRECT, "Redirecci\363 302 incorrecta (viola el RFC, per\362 \351s compatible amb Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "No mantenir la connexi\363 despr\351s de la sol\267licitud POST (\351s necessari per a algunes bases de dades PHP)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "No indicar cap adre\347a de proced\350ncia" },
+ {T_REFERER_SAME_URL, "Send requested URL as referer" },
+ {T_REFERER_FAKE, "Proced\350ncia fixa" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "Enviar l'adre\347a de proced\350ncia real (operaci\363 normal, INSEGUR!)" },
+ {T_FAKE_REFERER, "Adre\347a HTTP de proced\350ncia fixa" },
+ {T_FAKE_USERAGENT, "Identificaci\363 falsa per al navegador" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Contrasenya per a connexi\363 an\362nima" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Manual de l'usuari" },
+ {T_HOMEPAGE, "P\340gina inicial" },
+ {T_CALIBRATION, "Calibratge" },
+ {T_MAILTO_PROG, "Programa de correu (% \351s substitu\357t per l'adre\347a)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Programa de telnet (% \351s substitu\357t per \"host\" o per \"host port\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Programa tn3270 (% \351s substitu\357t per \"host\" o per \"host port\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Programes de correu i de telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Cap programa" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "No hi ha cap programa especificat per a" },
+ {T_MAIL, "correu" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "Adre\347a de correu incorrecta" },
+ {T_BAD_TELNET_URL, "Adre\347a de telnet incorrecta" },
+ {T_BAD_TN3270_URL, "Adre\347a de tn3270 incorrecta" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "ID d'usuari" },
+ {T_PASSWORD, "Password" },
+ {T_ENTER_USERNAME, "Introdu\357u el nom d'usuari de " },
+ {T_AT, "en " },
+ {T_SSL_ERROR, "Error SSL" },
+ {T_NO_SSL, "Aquesta versi\363 de Links no admet SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "Segur que voleu esborrar-la? " },
+ {T_BOOKMARKS_ALREADY_IN_USE, "Adreces interessants en \372s!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Associacions en \372s!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "Extensi\363 en \372s!" },
+ {T_VIDEO_OPTIONS, "Opcions de v\355deo" },
+ {T_VIDEO_OPTIONS_TEXT, "Recommended User gamma setting:\n 1.33 for dark room, 1.11 for very dim room, 1 for usual computer workspace lighting, 0.88 for bright environment lighting." },
+ {T_RED_DISPLAY_GAMMA, "Red display gamma" },
+ {T_GREEN_DISPLAY_GAMMA, "Green display gamma" },
+ {T_BLUE_DISPLAY_GAMMA, "Blue display gamma" },
+ {T_USER_GAMMA, "User gamma" },
+ {T_ALERT, "Alerta" },
+ {T_QUESTION, "Pregunta" },
+ {T_KILL_SCRIPT, "Kill script" },
+ {T_KILL_ALL_SCRIPTS, "Kill all scripts" },
+ {T_SCRIPT_KILLED_BY_USER, "Javascript killed by user." },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript intenta tancar la finestra del navegador. Realment voleu tancar-la?" },
+ {T_ENTER_STRING, "Introdu\357u una cadena" },
+ {T_JAVASCRIPT_OPTIONS, "Opcions de javascript" },
+ {T_ENABLE_JAVASCRIPT, "Habilitar javascript" },
+ {T_VERBOSE_JS_ERRORS, "Mostrar detalladament els errors de javascript." },
+ {T_VERBOSE_JS_WARNINGS, "Mostrar detalladament les advert\350ncies de javascript." },
+ {T_MISCELANEOUS_OPTIONS, "Opcions miscel\267l\340nies" },
+ {T_JAVASCRIPT_ERROR, "Error de javascript" },
+ {T_JAVASCRIPT_WARNING, "Advert\350ncia de javascript" },
+ {T_DISMISS, "Anul\267laci\363" },
+ {T_MENU_FONT_SIZE, "Grand\340ria de la lletra del men\372" },
+ {T_USER_FONT_SIZE, "Grand\340ria de la lletra" },
+ {T_TURN_OFF_WARNINGS, "Desactivar advert\350ncies" },
+ {T_BOOKMARKS_ENCODING, "Taula de car\340cters per al fitxer d'adreces interessants" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript intenta anar a la URL" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript intenta obrir una nova finestra amb la URL" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript intenta accedir a l'historial" },
+ {T_TO_URL, "a la URL" },
+ {T_GOTO_HISTORY, "Anar a l'historial" },
+ {T_ALLOW, "Permetre" },
+ {T_REJECT, "Rebutjar" },
+ {T_ENABLE_ALL_CONVERSIONS, "Permetre totes les conversions" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Habilitar la resoluci\363 global de noms" },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, "Profunditat de la recursi\363" },
+ {T_MENU_BACKGROUND_COLOR, "Color de fons dels men\372s" },
+ {T_MENU_FOREGROUND_COLOR, "Color dels men\372s" },
+ {T_SCROLL_BAR_BAR_COLOR, "Color de la barra de despla\347ament" },
+ {T_SCROLL_BAR_AREA_COLOR, "Color de l'\340rea de despla\347ament" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Color del marc de l'\340rea de despla\347ament" },
+ {T_BOOKMARKS_FILE, "Fitxer d'adreces interessants" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Enter colors as sRGB hexadecimal RRGGBB triplets." },
+ {T_JS_MEMORY_LIMIT_KB, "Mem\362ria dedicada a javascript (KiB)" },
+ {T_DITHER_LETTERS, "Lletres tremoloses" },
+ {T_DITHER_IMAGES, "Imatges tremoloses" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "Escala per a totes les imatges (%)" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, "Optimitzaci\363 per a CRT" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optimitzaci\363 per a LCD (RGB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optimitzaci\363 per a LCD (BGR)" },
+ {T_ASPECT_RATIO, "Aspect ratio" },
+ {T_ASPECT_CORRECTION_ON, "Aspect correction on" },
+ {T_KEYBOARD_CODEPAGE, "P\340gina de codis del teclat" },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "B" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "V" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "F" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "X" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "B" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "F" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "A" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "H" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, "V" },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, "J" },
+ {T_HK_MISCELANEOUS_OPTIONS, "O" },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "A" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "C" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, "H" },
+ {T_HK_CALIBRATION, "L" },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_croatian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-2" },
+ {T__LANGUAGE, "Croatian" },
+ {T__ACCEPT_LANGUAGE, "hr" },
+ {T_OK, "OK" },
+ {T_CANCEL, "Otka\276i" },
+ {T_BAD_NUMBER, "Neispravan broj" },
+ {T_NUMBER_EXPECTED, "U polju o\350ekujem broj" },
+ {T_NUMBER_OUT_OF_RANGE, "Broj izvan opsega" },
+ {T_BAD_STRING, "Neispravan niz znakova" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Prazni niz znakova nije dozvoljen" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Gre\271ka u konfiguraciji" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Ne mogu pisati u konfiguracijsku datoteku" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "O" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nTekstualni i grafi\350ki WWW preglednik" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Tipke" },
+ {T_KEYS_DESC, "ESC prika\276i izbornik\n^C, q iza\360i\n^P, ^N idi gore, idi dolje\n[, ] idi lijevo, desno\ngore, dolje izaberi link (za tekst mod)\n-> slijedi link (za tekst mod)\n<- idi natrag (za tekst mod)\nz idi natrag\ng idi na url\nG idi na url baziran na trenutnom url-u\n^G idi na url baziran na trenutnom linku\n/ tra\276i\n? tra\276i unatrag\nn tra\276i slijede\346i\nN tra\276i prethodni\n= podaci o dokumentu\n| podaci o zaglavlju\n\\ html kod dokumenta\nd skini\n^W Dovr\271i URL ili znakovni niz za tra\276enje\n^B, ^X, ^V kopiraj, odre\276i, ubaci u/iz clipboarda (samo OS/2)\nAlt-1 .. Alt-9 prebacuje virtualne prozore (svgalib i framebuffer)" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Kopiranje" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_2 "\n\nOvaj program je slobodni softver; mo\276ete ga kopirati i/ili mijenjati uz po\271tivanje pravila GNU General Public Licence koju izdaje Free Software Foundation; ina\350ica 2 (ili bilo koja vi\271a)." },
+ {T_RESOURCES, "Resursi" },
+ {T_CONNECTIONS, "Veze" },
+ {T_MEMORY_CACHE, "memorijski me\360uspremnik" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Me\360umemorija pisma" },
+ {T_IMAGE_CACHE, "Me\360umemorija slika" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Me\360umemorija formatiranih dokumenata" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "handleri" },
+ {T_TIMERS, "broja\350i" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "spajam se" },
+ {T_tRANSFERRING, "prenosim" },
+ {T_KEEPALIVE, "odr\276i \276ivim" },
+ {T_BYTES, "bajtovi" },
+ {T_LETTERS, "pisma" },
+ {T_FILES, "datoteke" },
+ {T_LOCKED, "zaklju\350ano" },
+ {T_LOADING, "u\350itavam" },
+ {T_IMAGES, "slike" },
+ {T_DOCUMENTS, "dokumenti" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "koli\350ina alociranih bajtova memorije" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Informacije o memoriji" },
+ {T_NO_HISTORY, "Nema povijesti" },
+ {T_NO_DOWNLOADS, "Nema preuzimanja" },
+ {T_NO_FRAMES, "Nema okvira" },
+ {T_VT_100_FRAMES, "VT 100 okviri" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux ili OS/2 okviri" },
+ {T_KOI8R_FRAMES, "KOI8-R okviri" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Koristi ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Ograni\350i okvire kod cp850/852" },
+ {T_BLOCK_CURSOR, "Blok kursor" },
+ {T_COLOR, "Boja" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Opcije terminala" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Domene za izravni pristup (bez proxya, odvojeno zarezom)" },
+ {T_NETWORK_OPTIONS, "Mre\276ne opcije" },
+ {T_MAX_CONNECTIONS, "Maksimanlno veza" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Maksimalno veza na jedno ra\350unalo" },
+ {T_RETRIES, "Poku\271aja" },
+ {T_RECEIVE_TIMEOUT_SEC, "Primi timeout (sek)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout kada se ne mo\276e ponovo pokrenuti" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Async DNS tra\276enje" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Podesi vremena preuzetih datoteka" },
+ {T_CACHE_OPTIONS, "Opcije memorijskog me\360uspremnika" },
+ {T_MEMORY_CACHE_SIZE__KB, "Veli\350ina memorijskog me\360uspremnika (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "Veli\350ina memorijskog me\360uspremnika slika (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Broj formatiranih dokumenata" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "Html opcije" },
+ {T_DISPLAY_TABLES, "Prika\276i tablice" },
+ {T_DISPLAY_FRAMES, "Prika\276i okvire" },
+ {T_DISPLAY_IMAGES, "Prika\276i slike" },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Prika\276i linkove prema slikama" },
+ {T_LINK_ORDER_BY_COLUMNS, "Pomi\350i se po stupcima u tablicama" },
+ {T_NUMBERED_LINKS, "Linkovi su numerirani" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Tekstualna margina" },
+ {T_DEFAULT_CODEPAGE, "Defaultna kodna stranica" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Zanemari podatke o znakovnim mapama poslanim od servera" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Idi na URL" },
+ {T_GO_BACK, "Idi nazad" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Povijest" },
+ {T_RELOAD, "Ponovo u\350itaj" },
+ {T_NEW_WINDOW, "Novi prozor" },
+ {T_SAVE_AS, "Spremi kao" },
+ {T_SAVE_URL_AS, "Spremi URL kao" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Spremi formatirani dokument" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Ubij veze u pozadini" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "Isprazni sve memorijske me\360uspremnike" },
+ {T_RESOURCE_INFO, "Podaci o resursima" },
+ {T_OS_SHELL, "OS ljuska" },
+ {T_EXIT, "Iza\360i" },
+ {T_SEARCH, "Tra\276i" },
+ {T_SEARCH_BACK, "Tra\276i unazad" },
+ {T_FIND_NEXT, "Tra\276i naprijed" },
+ {T_FIND_PREVIOUS, "Tra\276i unazad" },
+ {T_TOGGLE_HTML_PLAIN, "Mijenjaj html/obi\350ni tekst" },
+ {T_DOCUMENT_INFO, "Podaci o dokumentu" },
+ {T_FRAME_AT_FULL_SCREEN, "Rastegni okvir na cijeli ekran" },
+ {T_SAVE_HTML_OPTIONS, "Spremi html opcije" },
+ {T_CHARACTER_SET, "Kodna stranica" },
+ {T_CACHE, "Me\360umemorija" },
+ {T_MAIL_AND_TELNEL, "Email i telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Veze" },
+ {T_FILE_EXTENSIONS, "Nastavci datoteka" },
+ {T_SAVE_OPTIONS, "Sa\350uvaj opcije" },
+ {T_FILE, "Datoteka" },
+ {T_VIEW, "Prikaz" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "Preuzimanja" },
+ {T_SETUP, "Opcije" },
+ {T_HELP, "Pomo\346" },
+ {T_ENTER_URL, "Unesi URL" },
+ {T_SAVE_URL, "Spremi URL" },
+ {T_DOWNLOAD, "Preuzmi" },
+ {T_SAVE_TO_FILE, "Spremi u datoteku" },
+ {T_SEARCH_FOR_TEXT, "Tra\276i tekst" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "\310ekam u redu" },
+ {T_LOOKING_UP_HOST, "Tra\276im ra\350unalo" },
+ {T_MAKING_CONNECTION, "Zapo\350injem vezu" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "SSL pregovaranje" },
+ {T_REQUEST_SENT, "Zahtjev poslan" },
+ {T_GETTING_HEADERS, "Dobivam zaglavlja" },
+ {T_LOGGING_IN, "Prijavljujem se" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Server obra\360uje zahtjev" },
+ {T_TRANSFERRING, "Prenosim" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "\310ekam podatke o redirekciji" },
+ {T_INTERRUPTED, "Prekinuto" },
+ {T_SOCKET_EXCEPTION, "Socket gre\271ka" },
+ {T_INTERNAL_ERROR, "Interna gre\271ka" },
+ {T_OUT_OF_MEMORY, "Nedovoljno memorije" },
+ {T_HOST_NOT_FOUND, "Ra\350unalo nije na\360eno" },
+ {T_ERROR_WRITING_TO_SOCKET, "Gre\271ka pri pisanju u socket" },
+ {T_ERROR_READING_FROM_SOCKET, "Gre\271ka pri \350itanju iz socketa" },
+ {T_DATA_MODIFIED, "Podaci promijenjeni" },
+ {T_BAD_URL_SYNTAX, "Neispravana URL sintaksa" },
+ {T_RECEIVE_TIMEOUT, "Primi timeout" },
+ {T_REQUEST_MUST_BE_RESTARTED, "Zahtjev mora biti ponovljen" },
+ {T_CANT_GET_SOCKET_STATE, "Ne mogu dobiti stanje socketa " },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Neispravan HTTP odgovor" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Nema sadr\276aja" },
+ {T_UNKNOWN_FILE_TYPE, "Nepoznati tip datoteke" },
+ {T_ERROR_OPENING_FILE, "Gre\271ka pri otvaranju datoteke" },
+ {T_BAD_FTP_RESPONSE, "Neispravan FTP odgovor" },
+ {T_FTP_SERVICE_UNAVAILABLE, "Nemogu\346 pristup FTP usluzi" },
+ {T_BAD_FTP_LOGIN, "Neispravan FTP login" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT naredba nije uspjela" },
+ {T_FILE_NOT_FOUND, "Datoteka nije prona\360ena" },
+ {T_FTP_FILE_ERROR, "gre\271ka u FTP datoteci" },
+ {T_UNKNOWN_ERROR, "Nepoznata gre\271ka" },
+ {T_RECEIVED, "Primljeno" },
+ {T_OF, "od" },
+ {T_AVG, "prosjek" },
+ {T_CUR, "trenutno" },
+ {T_AVERAGE_SPEED, "Prosje\350na brzina" },
+ {T_SPEED, "Brzina" },
+ {T_CURRENT_SPEED, "trenutna brzina" },
+ {T_ELAPSED_TIME, "Proteklo vrijeme" },
+ {T_ESTIMATED_TIME, "procijenjeno vrijeme" },
+ {T_BACKGROUND, "Pozadina" },
+ {T_ABORT, "Otka\276i" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "Yes" },
+ {T_NO, "Ne" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Gre\271ka pri skidanju podatka" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Nisam mogao stvoriti datoteku" },
+ {T_ERROR_DOWNLOADING, "Gre\271ka pri preuzimanju" },
+ {T_ERROR_LOADING, "Gre\271ka pri u\350itavanju" },
+ {T_COULD_NOT_CREATE_FILE, "Nisam mogao stvoriti datoteku" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Nepoznati tip" },
+ {T_CONTENT_TYPE_IS, "Tip sadr\276aja je" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "\256elite li otvoriti, sa\350uvati ili spremiti ovu datoteku?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "\256elite li otvoriti ili prikazati ovu datoteku?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "\256elite li sa\350uvati ili prikazati ovu datoteku?" },
+ {T_SAVE, "Spremi" },
+ {T_DISPLAY, "Prika\276i" },
+ {T_WHAT_TO_DO, "\251to napraviti?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "\256elite li otvoriti datoteku sa" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "spremiti ili prikazati?" },
+ {T_OPEN, "Otvoriti" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "\276elite li slijediti redirekciju i poslati podatke iz formulara na url" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "\256elite li poslati podatke na url" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "\256elite li ponovo poslati podatke na url" },
+ {T_WARNING, "Upozorenje" },
+ {T_ERROR, "Gre\271ka" },
+ {T_WELCOME, "Dobordo\271li" },
+ {T_WELCOME_TO_LINKS, "Dobrodo\271li u links!" },
+ {T_BASIC_HELP, "Pritisni ESC za izbornik. Izaberi Pomo\346->Upute u izborniku za korisni\350ke upute." },
+ {T_LABEL, "Oznaka" },
+ {T_CONTENT_TYPES, "Tip sadr\276aja" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' je zamijenjeno sa imenom datoteke)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blokiraj terminal dok program radi" },
+ {T_RUN_ON_TERMINAL, "Izvr\271i na terminalu" },
+ {T_RUN_IN_XWINDOW, "Izvr\271i na X-Windowsima" },
+ {T_ASK_BEFORE_OPENING, "Pitaj prije otvaranja" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Izbri\271i vezu" },
+ {T_ASSOCIATION, "veza" },
+ {T_EXTENSION_S, "Nastavak(ci)" },
+ {T_CONTENT_TYPE, "Tip sadr\276aja" },
+ {T_DELETE_EXTENSION, "Izbri\271i nastavak" },
+ {T_EXTENSION, "Nastavak" },
+ {T_eXTENSION, "nastavak" },
+ {T_ERROR_WHILE_POSTING_FORM, "Gre\271ka pri slanju formulara" },
+ {T_COULD_NOT_GET_FILE, "Nisam mogao dobiti file" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Nije bilo prethodnog tra\276enja" },
+ {T_SEARCH_STRING_NOT_FOUND, "Nije na\360en tra\276eni niz znakova" },
+ {T_SAVE_ERROR, "Gre\271ka pri spremanju" },
+ {T_ERROR_WRITING_TO_FILE, "Gre\271ka pri pisanju u file" },
+ {T_DISPLAY_USEMAP, "Prika\276i usemapu" },
+ {T_FOLLOW_LINK, "Slijedi link" },
+ {T_OPEN_IN_NEW_WINDOW, "Otvori u novom prozoru" },
+ {T_DOWNLOAD_LINK, "Preuzmi link" },
+ {T_RESET_FORM, "Resetiraj formular" },
+ {T_SUBMIT_FORM, "Po\271alji formular" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Po\271alji formular i otvori u novom" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Po\271alji formular i preuzmi" },
+ {T_VIEW_IMAGE, "Prika\276i sliku" },
+ {T_DOWNLOAD_IMAGE, "Skini sliku" },
+ {T_NO_LINK_SELECTED, "Nema odabranih linkova" },
+ {T_IMAGE, "Slika" },
+ {T_USEMAP, "Usemapa" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Ekran" },
+ {T_WINDOW, "Prozor" },
+ {T_FULL_SCREEN, "Cijeli prozor" },
+ {T_BEOS_TERMINAL, "BeOS terminal" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Po\271ali formular na" },
+ {T_POST_FORM_TO, "Postaj formular na" },
+ {T_RADIO_BUTTON, "Radio gumb" },
+ {T_CHECKBOX, "Ozna\350avanje" },
+ {T_SELECT_FIELD, "Odaberi polje" },
+ {T_TEXT_FIELD, "Tekstualno polje" },
+ {T_TEXT_AREA, "Tekstualno podru\350je" },
+ {T_FILE_UPLOAD, "Po\271alji datoteku" },
+ {T_PASSWORD_FIELD, "Polje za lozinku" },
+ {T_BUTTON, "Gumb" },
+ {T_NAME, "ime" },
+ {T_VALUE, "vrijednost" },
+ {T_HIT_ENTER_TO, "udari ENTER za" },
+ {T_SUBMIT_TO, "po\271alji na" },
+ {T_POST_TO, "postaj na" },
+ {T_INFO, "Podaci" },
+ {T_HEADER_INFO, "Podaci o zaglavlju" },
+ {T_YOU_ARE_NOWHERE, "Vi ste nigdje!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Veli\350ina" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "nedovr\271eno" },
+ {T_CODEPAGE, "Kodna stranica" },
+ {T_ASSUMED, "pretpostavljeno" },
+ {T_IGNORING_SERVER_SETTING, "zanemarujem postavke servera" },
+ {T_SERVER, "Server" },
+ {T_DATE, "Datum" },
+ {T_LAST_MODIFIED, "Zadnja promjena" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Jezik" },
+ {T_GO_TO_LINK, "Idi na link" },
+ {T_ENTER_LINK_NUMBER, "Unesi broj linka" },
+ {T_RESIZE_TERMINAL, "Promijeni veli\350inu terminala" },
+ {T_COLUMNS, "Stupci" },
+ {T_ROWS, "Redci" },
+ {T_GOTO, "Kreni" },
+ {T_CLOSE, "Zatvori" },
+ {T_FOLDER, "Mapa" },
+ {T_fOLDER, "mapa" },
+ {T_ADD, "Dodaj" },
+ {T_DELETE, "Obri\271i" },
+ {T_EDIT, "Uredi" },
+ {T_MOVE, "Pomakni" },
+ {T_NO_ITEMS_SELECTED, "Nema izabranih predmeta. Ne mogu ni\271ta pomaknuti." },
+ {T_UNSELECT_ALL, "Nemoj izabrati" },
+ {T_BOOKMARKS, "Bilje\271ke" },
+ {T_BOOKMARK, "bilje\271ka" },
+ {T_ADD_BOOKMARK, "Dodaj bilje\271ku" },
+ {T_ADD_ASSOCIATION, "Dodaj vezu" },
+ {T_ADD_EXTENSION, "Dodaj nastavak" },
+ {T_ADD_FOLDER, "Dodaj mapu" },
+ {T_BOOKMARK_TITLE, "Naslov bilje\271ke" },
+ {T_EDIT_BOOKMARK, "Uredi bilje\271ke" },
+ {T_EDIT_ASSOCIATION, "Uredi veze" },
+ {T_EDIT_EXTENSION, "Uredi nastavke" },
+ {T_DELETE_BOOKMARK, "Izbri\271i bilje\271ku" },
+ {T_EDIT_FOLDER, "Uredi mapu" },
+ {T_DELETE_FOLDER, "Izbri\271i mapu" },
+ {T_NOT_EMPTY_SURE_DELETE, "nije prazan. Da li ste sigurni da ga \276elite obrisati?" },
+ {T_BOOKMARK_MANAGER, "Upravljanje bilje\271kama" },
+ {T_ASSOCIATIONS_MANAGER, "Upravljanje vezama" },
+ {T_EXTENSIONS_MANAGER, "Upravljanje nastavcima" },
+ {T_url, "url" },
+ {T_NNAME, "Ime" },
+ {T_EXIT_LINKS, "Iza\360i iz Linksa" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "\256elite li zaista iza\346i?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Ho\346emo li zbilja van (i prekinuti svako preuzimanje)?" },
+ {T_HTTP_OPTIONS, "HTTP opcije" },
+ {T_FTP_OPTIONS, "FTP opcije" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP bug zaobilaznica" },
+ {T_USE_HTTP_10, "Koristi HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Dozvoli crnu listu bugovitih servera" },
+ {T_BROKEN_302_REDIRECT, "Neispravna redirekcija 302 (kr\271i RFC, ali je kompatibilno sa Netscapeom)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Bez odr\276avanja veze nakon POST zahtjeva (neke bugovite PHP baze podataka trebaju ovo)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "Nema referera" },
+ {T_REFERER_SAME_URL, "Po\271alji zahtijevani URL kao referer" },
+ {T_REFERER_FAKE, "Fiksirani referer" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "Po\271alji pravi referer (normalna operacija, NESIGURNO!!!)" },
+ {T_FAKE_REFERER, "Fixed HTTP Referer" },
+ {T_FAKE_USERAGENT, "La\276iraj User-Agent" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Lozinka za anonimni login" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Upute za korisnika" },
+ {T_HOMEPAGE, "Polazna stranica" },
+ {T_CALIBRATION, "Kalibracija" },
+ {T_MAILTO_PROG, "Mail program (% \346e biti zamijenjeno adresom)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Telnet program (% \346e se zamijeniti sa \"host\" ili \"host port\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Tn3270 program (% \346e biti zamijenjeno sa \"ra\350unalo\" ili \"ra\350unalo port\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Mail i telnet programi" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Nema programa" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Nema programa za" },
+ {T_MAIL, "email" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "Neispravan mailto url" },
+ {T_BAD_TELNET_URL, "Neispravan telnet url" },
+ {T_BAD_TN3270_URL, "Neispravan tn3270 url" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "Korisnikov ID" },
+ {T_PASSWORD, "Lozinka" },
+ {T_ENTER_USERNAME, "Unesi ime korisnika za " },
+ {T_AT, "pri " },
+ {T_SSL_ERROR, "SSL gre\271ka" },
+ {T_NO_SSL, "Ova ina\350ica Linksa nema SSL/TLS podr\271ku" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "\256elite li izbrisati" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "Bilje\271ka se ve\346 koristi!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Veza se ve\346 koristi!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "Nastavci se ve\346 koriste!" },
+ {T_VIDEO_OPTIONS, "Video opcije" },
+ {T_VIDEO_OPTIONS_TEXT, "Predlo\276ene korisni\350ke gamma opcije:\n 1.33 za tamnu sobu, 1.11 za sobu sa prigu\271enim svjetlomm, 1 za uob\350ajeno osvjetljenje, 0.88 za jako osvjetljenje." },
+ {T_RED_DISPLAY_GAMMA, "Crvena gamma za prikazivanje" },
+ {T_GREEN_DISPLAY_GAMMA, "Zelena gamma za prikazivanje" },
+ {T_BLUE_DISPLAY_GAMMA, "Plava gamma za prikazivanju" },
+ {T_USER_GAMMA, "Korisnikova gamma" },
+ {T_ALERT, "Upozori" },
+ {T_QUESTION, "Pitanje" },
+ {T_KILL_SCRIPT, "Ubij skriptu" },
+ {T_KILL_ALL_SCRIPTS, "Ubij sve skripte" },
+ {T_SCRIPT_KILLED_BY_USER, "Javascript ubijen od korisnika." },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript poku\271ava zatvoriti prozor preglednika. \256elite li zaista zatvoriti prozor?" },
+ {T_ENTER_STRING, "Unesi niz znakova" },
+ {T_JAVASCRIPT_OPTIONS, "Javascript opcije" },
+ {T_ENABLE_JAVASCRIPT, "Omogu\346i javascript" },
+ {T_VERBOSE_JS_ERRORS, "Op\271irne javascript gre\271ke" },
+ {T_VERBOSE_JS_WARNINGS, "Op\271irna javascript upozorenja" },
+ {T_MISCELANEOUS_OPTIONS, "Razne opcije" },
+ {T_JAVASCRIPT_ERROR, "Javascript gre\271ka" },
+ {T_JAVASCRIPT_WARNING, "Javascript upozorenje" },
+ {T_DISMISS, "Otpusti" },
+ {T_MENU_FONT_SIZE, "Veli\350ina pisma u izborniku" },
+ {T_USER_FONT_SIZE, "Veli\350ina pisma korisnika" },
+ {T_TURN_OFF_WARNINGS, "Isklju\350i upozorenja" },
+ {T_BOOKMARKS_ENCODING, "Enkoding bilje\276aka" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript poku\271ava i\346i na URL" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript poku\271ava otvoriti novi prozor sa URLom" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript poku\271ava u\346i u povijest" },
+ {T_TO_URL, "na url" },
+ {T_GOTO_HISTORY, "Povijest linkova" },
+ {T_ALLOW, "Dozvoli" },
+ {T_REJECT, "Odbaci" },
+ {T_ENABLE_ALL_CONVERSIONS, "Omogu\346i sve konverzije" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Omogu\346i globalnu rezoluciju imena" },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, "Dubina rekurzije" },
+ {T_MENU_BACKGROUND_COLOR, "Boja pozadine" },
+ {T_MENU_FOREGROUND_COLOR, "Boja prednjeg plana" },
+ {T_SCROLL_BAR_BAR_COLOR, "Boja trake za pomicanje" },
+ {T_SCROLL_BAR_AREA_COLOR, "Boja okoline trake za pomicanje" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Boja okvira trake za pomicanje" },
+ {T_BOOKMARKS_FILE, "Datoteka bilje\276aka" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Unesi boje kao sRGB heksadecimalne RRGGBB triplete." },
+ {T_JS_MEMORY_LIMIT_KB, "Memorija posve\346ena javascriptu (KiB)" },
+ {T_DITHER_LETTERS, "Izgladi slova" },
+ {T_DITHER_IMAGES, "Izgladi slike" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "Skaliraj sve slike za (%)" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, "Aspect ratio" },
+ {T_ASPECT_CORRECTION_ON, "Korekcija pogleda je uklju\350ena" },
+ {T_KEYBOARD_CODEPAGE, "Kodna stranica tipkovnice" },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "B" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "S" },
+ {T_HK_SAVE_URL_AS, "J" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "F" },
+ {T_HK_RESOURCE_INFO, "P" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "\360" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "B" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "F" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "S" },
+ {T_HK_LANGUAGE, "J" },
+ {T_HK_CHARACTER_SET, "H" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, "V" },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, "T" },
+ {T_HK_MISCELANEOUS_OPTIONS, "O" },
+ {T_HK_CACHE, "R" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "V" },
+ {T_HK_FILE_EXTENSIONS, "D" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "O" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "K" },
+ {T_HK_MANUAL, "U" },
+ {T_HK_HOMEPAGE, "P" },
+ {T_HK_CALIBRATION, "L" },
+ {T_HK_FILE, "D" },
+ {T_HK_VIEW, "I" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "S" },
+ {T_HK_SETUP, "O" },
+ {T_HK_HELP, "P" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "P" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "V" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_czech [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "iso8859-2" },
+ {T__LANGUAGE, "Czech" },
+ {T__ACCEPT_LANGUAGE, "cs,sk;q=0.5" },
+ {T_OK, "OK" },
+ {T_CANCEL, "Zru\271it" },
+ {T_BAD_NUMBER, "Chybn\351 \350\355slo" },
+ {T_NUMBER_EXPECTED, "V r\341me\350ku mus\355 b\375t \350\355slo" },
+ {T_NUMBER_OUT_OF_RANGE, "\310\355slo je mimo rozsah" },
+ {T_BAD_STRING, "Chybn\375 \370et\354zec" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Mus\355\271 zadat n\354jak\375 text!" },
+ {T_BAD_IP_ADDRESS, "Chybn\341 IP addresa" },
+ {T_INVALID_IP_ADDRESS_SYNTAX, "Chyn\341 syntax IP adresy" },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, "Nemohu pou\276\355t lok\341ln\355 IP adresu" },
+ {T_CONFIG_ERROR, "Chyba v konfiguraci" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Nem\371\276u zapisovat do konfigura\350n\355ho souboru" },
+ {T_BOOKMARK_ERROR, "Chyba v z\341lo\276k\341ch" },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, "Nem\371\276u zapisovat do souboru z\341lo\276ek" },
+ {T_ABOUT, "O programu" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW browser" },
+ {T_VERSION, "Verze" },
+ {T_VERSION_INFORMATION, "Informace o verzi" },
+ {T_LINKS_VERSION, "Verze Linksu" },
+ {T_OPERATING_SYSTEM_TYPE, "Typ opera\350n\355ho syst\351mu" },
+ {T_OPERATING_SYSTEM_VERSION, "Verze opera\350n\355ho syst\351mu" },
+ {T_COMPILER, "Kompil\341tor" },
+ {T_COMPILE_TIME, "\310as kompilace" },
+ {T_WORD_SIZE, "Velikost slova" },
+ {T_MEMORY, "Pam\354\273" },
+ {T_FILE_SIZE, "soubory" },
+ {T_DEBUGGING_LEVEL, "\332rove\362 debuggov\341n\355" },
+ {T_UTF8_TERMINAL, "UTF-8 na termin\341lu" },
+ {T_COMPRESSION_METHODS, "Metody komprese" },
+ {T_ENCRYPTION, "\251ifrov\341n\355" },
+ {T_GPM_MOUSE_DRIVER, "GPM ovlada\350 my\271i" },
+ {T_XTERM_FOR_OS2, "Xterm pro OS/2" },
+ {T_GRAPHICS_MODE, "Grafick\375 m\363d" },
+ {T_IMAGE_LIBRARIES, "Knihovny pro obr\341zky" },
+ {T_KEYS, "Kl\341vesy" },
+ {T_KEYS_DESC, "ESC zobraz menu\n^C, q, Q konec\n^P, ^N posouv\341n\355 nahoru/dol\371\n[, ] posouv\341n\355 vlevo/vpravo\nup, down posouv\341n\355 po odkazech\n-> sko\350 na odkaz\n<-, z zp\341tky\n', x dop\370edu\nTAB p\370ep\355nej r\341my\ng jdi na URL\nG jdi na URL, kter\351 je zalo\276en\351 na aktu\341ln\355m URL\n^G jdi na URL, kter\351 je zalo\276en\351 na aktu\341ln\355m linku\n* p\370epnout zobrazov\341n\355 odkaz\371 na obr\341zky\n^W dopln\354n\355 URL nebo textu na vyhled\341v\341n\355\n^B,^X,^V,^K zkop\355ruj/sma\276/vlo\276/sma\276 \370\341dek z/do schr\341nky\nAlt-1 .. Alt-9 p\370ep\355n\341n\355 virtu\341ln\355ch obrazovek (svga a fb)" },
+ {T_KEYS_BRAILLE_DESC, "a, w kurzor na stavovou \370\341dku nebo titulek\n{, } kurzor na za\350\341tek nebo konec \370\341dku\n^Y,^T,y,t,^O dal\271\355/p\370edchoz\355 link/slovo/polo\276ka formul\341\370e" },
+ {T_COPYING, "Kop\355rov\341n\355" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_2 "\n\nTento program je voln\351 programov\351 vybaven\355; m\371\276ete jej \271\355\370it a modifikovat podle ustanoven\355 Obecn\351 ve\370ejn\351 licence GNU, vyd\341van\351 Free Software Foundation; a to verze 2 a v\375\271e t\351to licence." },
+ {T_RESOURCES, "Zdroje" },
+ {T_CONNECTIONS, "Spojen\355" },
+ {T_MEMORY_CACHE, "Pam\354\273ov\341 cache" },
+ {T_DECOMPRESSED_CACHE, "Cache dekomprimovan\375ch soubor\371" },
+ {T_FONT_CACHE, "P\355smenkov\341 cache" },
+ {T_IMAGE_CACHE, "Cache ob\341zk\371" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Zform\341tovan\351 dokumenty v cachi" },
+ {T_DNS_CACHE, "DNS cache" },
+ {T_HANDLES, "handl\371" },
+ {T_TIMERS, "\350asova\350\371" },
+ {T_WAITING, "\350ek\341" },
+ {T_CONNECTING, "p\370ipojuji" },
+ {T_tRANSFERRING, "p\370en\341\271\355m" },
+ {T_KEEPALIVE, "\276iv\375ch" },
+ {T_BYTES, "byt\371" },
+ {T_LETTERS, "p\355smenek" },
+ {T_FILES, "soubor\371" },
+ {T_LOCKED, "zam\350en\375ch" },
+ {T_LOADING, "nahr\341v\341m" },
+ {T_IMAGES, "obr\341zk\371" },
+ {T_DOCUMENTS, "dokument\371" },
+ {T_SERVERS, "server\371" },
+ {T_MEMORY_ALLOCATED, "byt\371 obsazen\351 pam\354ti" },
+ {T_BLOCKS_ALLOCATED, "blok\371" },
+ {T_MEMORY_REQUESTED, "byt\371 alokovan\375ch ze syst\351mu" },
+ {T_BLOCKS_REQUESTED, "blok\371" },
+ {T_JS_MEMORY_ALLOCATED, "byt\371 pam\354ti obsazen\351 javascriptem" },
+ {T_MEMORY_INFO, "Informace o pam\354ti" },
+ {T_NO_HISTORY, "\256\341dn\341 historie" },
+ {T_NO_DOWNLOADS, "\256\341dn\351 stahov\341n\355" },
+ {T_NO_FRAMES, "Vypnout r\341me\350ky" },
+ {T_VT_100_FRAMES, "R\341me\350ky VT100" },
+ {T_LINUX_OR_OS2_FRAMES, "R\341me\350ky typu Linux nebo OS/2" },
+ {T_KOI8R_FRAMES, "R\341me\350ky KOI8-R" },
+ {T_FREEBSD_FRAMES, "R\341me\350ky FreeBSD" },
+ {T_USE_11M, "Pou\276\355vat ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Omezen\351 r\341me\350ky v cp850/852" },
+ {T_BLOCK_CURSOR, "Blokov\375 kurzor" },
+ {T_COLOR, "Barvy" },
+ {T_BRAILLE_TERMINAL, "Braillsk\375 \370\341dek" },
+ {T_TERMINAL_OPTIONS, "Nastaven\355 termin\341lu" },
+ {T_PROXIES, "Proxy" },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, "Socks4A proxy (user@host:port)" },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, "P\370idej text ke jm\351nu stroje (pro fixn\355 tor exit node)" },
+ {T_ONLY_PROXIES, "P\370ipojuj se pouze p\370es proxy nebo Socks (u\276ite\350n\351 pro tor)" },
+ {T_NOPROXY_LIST, "Dom\351ny s p\370\355mym p\370\355stupem (bez proxy) (odd\354luj \350\341rkama)" },
+ {T_NETWORK_OPTIONS, "Nastaven\355 s\355t\354" },
+ {T_MAX_CONNECTIONS, "Maxim\341ln\354 spojen\355" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Maxim\341ln\354 spojen\355 k jednomu stroji" },
+ {T_RETRIES, "Po\350et pokus\371 (0 - neomezeno)" },
+ {T_RECEIVE_TIMEOUT_SEC, "Trp\354livost p\370i stahov\341n\355 (sekundy)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Trp\354livost, kdy\276 spojen\355 nem\371\276e b\375t restartov\341no" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, "Pou\276ij lok\341ln\355 IP adresu" },
+ {T_ASYNC_DNS_LOOKUP, "Asynchronn\355 DNS" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Nastavit \350as st\341hnut\375ch soubor\371" },
+ {T_CACHE_OPTIONS, "Nastaven\355 cache" },
+ {T_MEMORY_CACHE_SIZE__KB, "Velikost cache (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "Velikost obr\341zkov\351 cache (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, "Velikost p\355smenkov\351 cache (KiB)" },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Po\350et zform\341tovan\375ch dokument\371" },
+ {T_AGGRESSIVE_CACHE, "Agresivn\355 cache" },
+ {T_HTML_OPTIONS, "Html nastaven\355" },
+ {T_DISPLAY_TABLES, "Zobrazovat tabulky" },
+ {T_DISPLAY_FRAMES, "Zobrazovat r\341my" },
+ {T_DISPLAY_IMAGES, "Zobrazovat obr\341zky" },
+ {T_DISPLAY_IMAGE_FILENAMES, "Zobrazovat jm\351na obr\341zk\371" },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Zobrazovat odkazy na obr\341zky" },
+ {T_LINK_ORDER_BY_COLUMNS, "Po\370ad\355 odkaz\371 po sloupc\355ch" },
+ {T_NUMBERED_LINKS, "\310\355slovan\351 odkazy" },
+ {T_AUTO_REFRESH, "Automatick\375 refresh" },
+ {T_TARGET_IN_NEW_WINDOW, "Povolit otev\355r\341n\355 odkazu v nov\351m okn\354 (target=\"_blank\")" },
+ {T_TEXT_MARGIN, "Okraj textu" },
+ {T_DEFAULT_CODEPAGE, "P\370edpokl\341dat k\363dovou str\341nku" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorovat infomaci o k\363dov\351 str\341nce" },
+ {T_TEXT_COLOR, "Text" },
+ {T_LINK_COLOR, "Odkazy" },
+ {T_BACKGROUND_COLOR, "Pozad\355" },
+ {T_IGNORE_DOCUMENT_COLOR, "Ignorovat barvy v dokumentu" },
+ {T_COLOR_0, "\310ern\341" },
+ {T_COLOR_1, "\310erven\341" },
+ {T_COLOR_2, "Zelen\341" },
+ {T_COLOR_3, "\256lut\341" },
+ {T_COLOR_4, "Tmav\354 modr\341" },
+ {T_COLOR_5, "Fialov\341" },
+ {T_COLOR_6, "Sv\354tle modr\341" },
+ {T_COLOR_7, "B\355l\341" },
+ {T_COLOR_8, "Tmav\354 \271ed\341" },
+ {T_COLOR_9, "Sv\354tle \350erven\341" },
+ {T_COLOR_10, "Sv\354tle zelen\341" },
+ {T_COLOR_11, "Sv\354tle \276lut\341" },
+ {T_COLOR_12, "Modr\341" },
+ {T_COLOR_13, "Sv\354tle fialov\341" },
+ {T_COLOR_14, "Velmi sv\354tle modr\341" },
+ {T_COLOR_15, "Sv\354tle b\355l\341" },
+ {T_GOTO_URL, "B\354\276 na URL" },
+ {T_GO_BACK, "Zp\341tky" },
+ {T_GO_FORWARD, "Dop\370edu" },
+ {T_HISTORY, "Historie" },
+ {T_RELOAD, "Nahraj znova" },
+ {T_NEW_WINDOW, "Nov\351 okno" },
+ {T_SAVE_AS, "Ulo\276 pod jm\351nem" },
+ {T_SAVE_URL_AS, "Ulo\276 URL pod jm\351nem" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Ulo\276 zform\341tovan\375 dokument" },
+ {T_COPY_URL_LOCATION, "Zkop\355ruj URL str\341nky do schr\341nky" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Ukon\350it v\271echna spojen\355 na pozad\355" },
+ {T_KILL_ALL_CONNECTIONS, "Ukon\350it v\271echna spojen\355" },
+ {T_FLUSH_ALL_CACHES, "Vylej v\271echny cache" },
+ {T_RESOURCE_INFO, "Informace o zdroj\355ch" },
+ {T_OS_SHELL, "OS shell" },
+ {T_EXIT, "Konec" },
+ {T_SEARCH, "Hledej" },
+ {T_SEARCH_BACK, "Hledej zp\354t" },
+ {T_FIND_NEXT, "Najdi dal\271\355" },
+ {T_FIND_PREVIOUS, "Najdi p\370edchoz\355" },
+ {T_TOGGLE_HTML_PLAIN, "P\370epnout html/plain" },
+ {T_DOCUMENT_INFO, "Informace o dokumentu" },
+ {T_FRAME_AT_FULL_SCREEN, "R\341m p\370es celou obrazovku" },
+ {T_SAVE_HTML_OPTIONS, "Ulo\276 html nastaven\355" },
+ {T_CHARACTER_SET, "Znakov\341 sada" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "Mail a telnet" },
+ {T_MAIL_TELNET_AND_SHELL, "Mail, telnet a shell" },
+ {T_ASSOCIATIONS, "P\370i\370azen\355" },
+ {T_FILE_EXTENSIONS, "P\370\355pony soubor\371" },
+ {T_SAVE_OPTIONS, "Ulo\276 nastaven\355" },
+ {T_FILE, "Soubor" },
+ {T_VIEW, "Zobrazen\355" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "Stahov\341n\355" },
+ {T_SETUP, "Nastaven\355" },
+ {T_HELP, "Pomoc" },
+ {T_ENTER_URL, "Zadej URL" },
+ {T_SAVE_URL, "Ulo\276 URL" },
+ {T_DOWNLOAD, "Stahov\341n\355" },
+ {T_SAVE_TO_FILE, "Ulo\276 do souboru" },
+ {T_SEARCH_FOR_TEXT, "Hled\341n\355 textu" },
+ {T_PAGE_P, "(str. " },
+ {T_PAGE_OF, " z " },
+ {T_PAGE_CL, ")" },
+ {T_WAITING_IN_QUEUE, "\310ek\341 ve front\354" },
+ {T_LOOKING_UP_HOST, "Hled\341m server" },
+ {T_MAKING_CONNECTION, "Navazuju spojen\355" },
+ {T_SOCKS_NEGOTIATION, "Navazuju Socks spojen\355" },
+ {T_SSL_NEGOTIATION, "Vyjedn\341v\341n\355 SSL" },
+ {T_REQUEST_SENT, "Vys\355l\341m \276\341dost" },
+ {T_GETTING_HEADERS, "Stahuju hlavi\350ku" },
+ {T_LOGGING_IN, "P\370ihla\271uji se" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Server zpracov\341v\341 \276\341dost" },
+ {T_TRANSFERRING, "P\370en\341\271\355m" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "\310ek\341m na potvrzen\355 p\370esm\354rov\341n\355" },
+ {T_INTERRUPTED, "P\370eru\271eno" },
+ {T_SOCKET_EXCEPTION, "Chyba v socketu" },
+ {T_INTERNAL_ERROR, "Vnit\370n\355 chyba" },
+ {T_OUT_OF_MEMORY, "Do\271la pam\354\273, bob\341nku" },
+ {T_HOST_NOT_FOUND, "Nena\271el jsem server" },
+ {T_ERROR_WRITING_TO_SOCKET, "Chyba p\370i zapisov\341n\355 do socketu" },
+ {T_ERROR_READING_FROM_SOCKET, "Chyba p\370i \350ten\355 ze socketu" },
+ {T_DATA_MODIFIED, "Data zm\354n\354na" },
+ {T_BAD_URL_SYNTAX, "Blb\354 napsan\375 URL" },
+ {T_RECEIVE_TIMEOUT, "\310as vypr\271el" },
+ {T_REQUEST_MUST_BE_RESTARTED, "\256\341dost se mus\355 poslat znova" },
+ {T_CANT_GET_SOCKET_STATE, "Nem\371\276u zjistit stav socketu" },
+ {T_CYCLIC_REDIRECT, "Cyklick\375 redirekt" },
+ {T_TOO_LARGE_FILE, "P\370\355li\271 velk\375 soubor" },
+ {T_BLOCKED_URL, "Toto URL je zablokov\341no ve va\271em seznamu" },
+ {T_NO_PROXY, "Pro toto spojen\355 nen\355 \276\341dn\341 proxy a spojen\355 bez proxy jsou zak\341z\341na" },
+ {T_BAD_HTTP_RESPONSE, "\251patn\341 HTTP odpov\354\357 (asi bugovit\375 server)" },
+ {T_HTTP_100, "HTTP 100 (?)" },
+ {T_NO_CONTENT, "\256\341dnej obsah" },
+ {T_UNKNOWN_FILE_TYPE, "Nezn\341m\375 typ souboru" },
+ {T_ERROR_OPENING_FILE, "Chybi\350ka p\370i \350ten\355 souboru" },
+ {T_BAD_FTP_RESPONSE, "\251patn\341 odpov\354\357 na FTP" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP nen\355 p\370\355stupn\351" },
+ {T_BAD_FTP_LOGIN, "Blb\354 ses zalogoval na FTP" },
+ {T_FTP_PORT_COMMAND_FAILED, "Selhal FTP PORT p\370\355kaz (nejse\271 za firewallem?)" },
+ {T_FILE_NOT_FOUND, "Soubor nenalezen" },
+ {T_FTP_FILE_ERROR, "Chyba FTP souboru" },
+ {T_UNKNOWN_ERROR, "Nezn\341m\341 chyba" },
+ {T_RECEIVED, "P\370ijato" },
+ {T_OF, "z" },
+ {T_AVG, "pr\371m\354rn\354" },
+ {T_CUR, "moment\341ln\354" },
+ {T_AVERAGE_SPEED, "Pr\371m\354rn\341 rychlost" },
+ {T_SPEED, "Rychlost" },
+ {T_CURRENT_SPEED, "moment\341ln\355 rychlost" },
+ {T_ELAPSED_TIME, "Uplynul\375 \350as" },
+ {T_ESTIMATED_TIME, "p\370edpokl\341dan\375 \350as" },
+ {T_BACKGROUND, "Na pozad\355" },
+ {T_ABORT, "Ukon\350it" },
+ {T_ABORT_AND_DELETE_FILE, "Ukon\350it a smazat soubor" },
+ {T_YES, "Ano" },
+ {T_NO, "Ne" },
+ {T_DIRECTORY, "Adres\341\370" },
+ {T_FILE_ALREADY_EXISTS, "Soubor ji\276 existuje" },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, "ji\276 existuje a stahuje se do n\354j." },
+ {T_ALREADY_EXISTS, "ji\276 existuje." },
+ {T_DO_YOU_WISH_TO_CONTINUE, "Chce\271 pokra\350ovat ve stahov\341n\355 nebo soubor p\370epsat?" },
+ {T_DO_YOU_WISH_TO_OVERWRITE, "Chce\271 soubor p\370epsat?" },
+ {T_CONTINUE, "Pokra\350ovat" },
+ {T_OVERWRITE, "P\370epsat" },
+ {T_RENAME, "P\370ejmenovat" },
+ {T_DOWNLOAD_ERROR, "Chyba p\370i stahov\341n\355" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Nem\371\276u zapisovat do souboru" },
+ {T_ERROR_DOWNLOADING, "Chyba p\370i stahov\341n\355" },
+ {T_ERROR_LOADING, "Chyba p\370i natahov\341n\355" },
+ {T_COULD_NOT_CREATE_FILE, "Nem\371\276u vytvo\370it soubor" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, "Nem\371\276u vytvo\370it soubor v TMP adres\341\370i" },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, "Chyba p\370i vol\341n\355 lseek na souboru" },
+ {T_TOO_LARGE_FILE_SEQUENCE, "P\370\355li\271 dlouh\341 sekvence soubor\371" },
+ {T_UNKNOWN_TYPE, "Nezn\341m\375 typ" },
+ {T_CONTENT_TYPE_IS, "Typ je" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Chce\271 soubor otev\370\355t, ulo\276it nebo zobrazit?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Chce\271 soubor otev\370\355t nebo zobrazit?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Tenhle soubor chce\271 ulo\276it nebo zobrazit?" },
+ {T_SAVE, "Ulo\276it" },
+ {T_DISPLAY, "Zobrazit" },
+ {T_WHAT_TO_DO, "Co m\341m podle tebe d\354lat?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Chce\271 otev\370\355t soubor pomoc\355" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "ulo\276it nebo zobrazit?" },
+ {T_OPEN, "Otev\370\355t" },
+ {T_OPEN_WITH, "Otev\370\355t pomoc\355" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Chce\271 n\341sledovat redirekt a poslat data na adresu" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Chce\271 poslat data z formul\341\370e na adresu" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Chce\271 poslat data z formul\341\370e znova na adresu" },
+ {T_WARNING, "Upozorn\354n\355" },
+ {T_ERROR, "Chyba" },
+ {T_WELCOME, "V\355tej" },
+ {T_WELCOME_TO_LINKS, "V\355tej v programu links!" },
+ {T_BASIC_HELP, "Pro zobrazen\355 menu stiskni ESC nebo klikni na horn\355 pruh v okn\354. Pokud chce\271 vid\354t manu\341l, zvol v menu Pomoc->Manu\341l." },
+ {T_LABEL, "Popis" },
+ {T_CONTENT_TYPES, "Typ(y) (odd\354len\351 \350\341rkou)" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' je nahrazeno jm\351nem souboru)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Zablokuj termin\341l, kdy\276 program b\354\276\355" },
+ {T_RUN_ON_TERMINAL, "Pustit na termin\341lu" },
+ {T_RUN_IN_XWINDOW, "Pustit v X-Window okn\354" },
+ {T_ASK_BEFORE_OPENING, "Zeptat se p\370ed otev\355r\341n\355m" },
+ {T_ACCEPT_HTTP, "Akceptuje HTTP URL" },
+ {T_ACCEPT_FTP, "Akceptuje FTP URL" },
+ {T_DELETE_ASSOCIATION, "Smazat p\370i\370azen\355" },
+ {T_ASSOCIATION, "p\370i\370azen\355" },
+ {T_EXTENSION_S, "P\370\355pona(y) (odd\354len\351 \350\341rkou)" },
+ {T_CONTENT_TYPE, "Typ" },
+ {T_DELETE_EXTENSION, "Smazat p\370\355ponu" },
+ {T_EXTENSION, "P\370\355pona" },
+ {T_eXTENSION, "p\370\355ponu" },
+ {T_ERROR_WHILE_POSTING_FORM, "Chyba p\370i pos\355l\341n\355 formul\341\370e" },
+ {T_COULD_NOT_GET_FILE, "Nem\371\276u dostat soubor" },
+ {T_READING_FILES_IS_NOT_ALLOWED, "Nen\355 dovoleno \350\355st soubory" },
+ {T_NO_PREVIOUS_SEARCH, "\256\341dn\351 p\370edchoz\355 hled\341n\355" },
+ {T_SEARCH_STRING_NOT_FOUND, "Nena\271el jsem to" },
+ {T_SAVE_ERROR, "Chyba p\370i ukl\341d\341n\355" },
+ {T_ERROR_WRITING_TO_FILE, "Chyba p\370i z\341pisu do souboru" },
+ {T_DISPLAY_USEMAP, "Zobrazit mapu" },
+ {T_FOLLOW_LINK, "Otev\370\355t odkaz" },
+ {T_OPEN_IN_NEW_WINDOW, "Otev\370\355t v nov\351m okn\354" },
+ {T_DOWNLOAD_LINK, "St\341hnout odkaz" },
+ {T_RESET_FORM, "Vygumovat formul\341\370" },
+ {T_SUBMIT_FORM, "Poslat formul\341\370" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Poslat formul\341\370 a otev\370\355t v nov\351m okn\354" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Poslat formul\341\370 a st\341hnout" },
+ {T_VIEW_IMAGE, "Zobrazit obr\341zek" },
+ {T_DOWNLOAD_IMAGE, "St\341hnout obr\341zek" },
+ {T_NO_LINK_SELECTED, "\256\341dn\375 odkaz" },
+ {T_IMAGE, "Obr\341zek" },
+ {T_USEMAP, "Mapa obr\341zk\371" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Screen" },
+ {T_WINDOW, "Okno" },
+ {T_FULL_SCREEN, "Cel\341 obrazovka" },
+ {T_BEOS_TERMINAL, "BeOS termin\341l" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, "Nem\371\276u otev\370\355t nov\351 okno" },
+ {T_JAVASCRIPT, "Javascript" },
+ {T_SUBMIT_FORM_TO, "Po\271li formul\341\370 na" },
+ {T_POST_FORM_TO, "Po\271li formul\341\370 na" },
+ {T_RADIO_BUTTON, "Radio tla\350\355tko" },
+ {T_CHECKBOX, "Za\271krt\341vac\355 \350tvere\350ek" },
+ {T_SELECT_FIELD, "Vyb\355rac\355 pol\355\350ko" },
+ {T_TEXT_FIELD, "Textov\351 pol\355\350ko" },
+ {T_TEXT_AREA, "Textov\341 plocha" },
+ {T_FILE_UPLOAD, "Uploadnut\355 souboru" },
+ {T_PASSWORD_FIELD, "Pol\355\350ko s heslem" },
+ {T_BUTTON, "Tla\350\355tko" },
+ {T_NAME, "jm\351no" },
+ {T_VALUE, "hodnota" },
+ {T_HIT_ENTER_TO, "po stisknut\355 ENTER" },
+ {T_SUBMIT_TO, "bude posl\341no na" },
+ {T_POST_TO, "bude postnuto na" },
+ {T_INFO, "Informace" },
+ {T_HEADER_INFO, "Informace o hlavi\350ce" },
+ {T_YOU_ARE_NOWHERE, "Nem\341\271 zobrazenou \276\341dnou str\341nku." },
+ {T_NO_HEADER, "Dokument nem\341 \276\341dnou hlavi\350ku" },
+ {T_URL, "URL" },
+ {T_SIZE, "Velikost" },
+ {T_COMPRESSED_WITH, "zkomprimov\341no" },
+ {T_INCOMPLETE, "ne\372pln\375" },
+ {T_CODEPAGE, "K\363dov\341n\355" },
+ {T_ASSUMED, "p\370edpokl\341d\341m" },
+ {T_IGNORING_SERVER_SETTING, "ignoruju informaci ze serveru" },
+ {T_SERVER, "Server" },
+ {T_DATE, "Datum" },
+ {T_LAST_MODIFIED, "Posledn\355 zm\354na" },
+ {T_SSL_CIPHER, "SSL \271ifra" },
+ {T_LANGUAGE, "Jazyk" },
+ {T_GO_TO_LINK, "B\354\276 na odkaz" },
+ {T_ENTER_LINK_NUMBER, "Zadej \350\355slo odkazu" },
+ {T_RESIZE_TERMINAL, "Zm\354\362 velikost termin\341lu" },
+ {T_COLUMNS, "Sloupce" },
+ {T_ROWS, "\330\341dky" },
+ {T_GOTO, "Jdi na" },
+ {T_CLOSE, "Zav\370\355t" },
+ {T_FOLDER, "Adres\341\370" },
+ {T_fOLDER, "adres\341\370" },
+ {T_ADD, "P\370idat" },
+ {T_DELETE, "Smazat" },
+ {T_EDIT, "Editovat" },
+ {T_MOVE, "P\370est\354hovat" },
+ {T_NO_ITEMS_SELECTED, "\256\341dn\341 polo\276ka nebyla vybr\341na, nen\355 co st\354hovat." },
+ {T_UNSELECT_ALL, "Odzna\350it v\271e" },
+ {T_BOOKMARKS, "Z\341lo\276ky" },
+ {T_BOOKMARK, "z\341lo\276ku" },
+ {T_ADD_BOOKMARK, "P\370idej z\341lo\276ku" },
+ {T_ADD_ASSOCIATION, "P\370idej p\370i\370azen\355" },
+ {T_ADD_EXTENSION, "P\370idej p\370\355ponu" },
+ {T_ADD_FOLDER, "P\370idej adres\341\370" },
+ {T_BOOKMARK_TITLE, "N\341zev z\341lo\276ky" },
+ {T_EDIT_BOOKMARK, "Edituj z\341lo\276ku" },
+ {T_EDIT_ASSOCIATION, "Edituj p\370i\370azen\355" },
+ {T_EDIT_EXTENSION, "Edituj p\370\355ponu" },
+ {T_DELETE_BOOKMARK, "Sma\276 z\341lo\276ku" },
+ {T_EDIT_FOLDER, "Edituj adres\341\370" },
+ {T_DELETE_FOLDER, "Sma\276 adres\341\370" },
+ {T_NOT_EMPTY_SURE_DELETE, "nen\355 pr\341zdn\375. Opravdu ho chce\271 smazat?" },
+ {T_BOOKMARK_MANAGER, "Spr\341vce z\341lo\276ek" },
+ {T_ASSOCIATIONS_MANAGER, "Spr\341vce p\370i\370azen\355" },
+ {T_EXTENSIONS_MANAGER, "Spr\341vce p\370\355pon" },
+ {T_url, "url" },
+ {T_NNAME, "N\341zev" },
+ {T_EXIT_LINKS, "Ukon\350en\355 Linksu" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "Chce\271 opravdu zav\370\355t okno?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Chce\271 opravdu ukon\350it Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Chce\271 skute\350n\354 ukon\350it Links a zru\271it v\271echna stahov\341n\355?" },
+ {T_HTTP_OPTIONS, "HTTP nastaven\355" },
+ {T_FTP_OPTIONS, "FTP nastaven\355" },
+ {T_HTTP_BUG_WORKAROUNDS, "Obch\341zen\355 chyb v HTTP" },
+ {T_USE_HTTP_10, "Pou\276\355vej pouze HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Povol seznam zabugovan\375ch server\371" },
+ {T_BROKEN_302_REDIRECT, "\251patn\375 302 redirekt (poru\271uje RFC, ale je kompatibiln\355 s Netscapem)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Nedr\276 keepalive spojen\355 po POST po\276adavku (n\354kter\351 zabugovan\351 PHP datab\341ze to pot\370ebuj\355)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, "Nepos\355lej Accept-Charset" },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, "Nenab\355zej mo\276nost komprese p\370enosu" },
+ {T_RETRY_ON_INTERNAL_ERRORS, "Zkusit znovu p\370i intern\355 chyb\354 serveru (50x)" },
+ {T_HEADER_OPTIONS, "Nastaven\355 hlavi\350ky" },
+ {T_HTTP_HEADER_OPTIONS, "Nastaven\355 HTTP hlavi\350ky" },
+ {T_REFERER_NONE, "Nepos\355lat referer" },
+ {T_REFERER_SAME_URL, "Pos\355lat po\276adovan\351 URL jako referer" },
+ {T_REFERER_FAKE, "Pos\355lat fixn\355 referer" },
+ {T_REFERER_REAL_SAME_SERVER, "Pos\355lat opravdov\375 referer pouze na stejn\375 server" },
+ {T_REFERER_REAL, "Pos\355lat opravdov\375 referer (norm\341ln\355 chov\341n\355, NEBEZPE\310N\311!!!)" },
+ {T_FAKE_REFERER, "Fixn\355 HTTP Referer" },
+ {T_FAKE_USERAGENT, "Hl\341sit fale\271n\375 User-Agent" },
+ {T_EXTRA_HEADER, "Dal\271\355 polo\276ky v hlavi\350ce ('\\' znamen\341 nov\375 \370\341dek)" },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Heslo pro anonymn\355 login" },
+ {T_USE_PASSIVE_FTP, "Pou\276\355vat pasivn\355 FTP" },
+ {T_USE_FAST_FTP, "Rychl\351 FTP (nekompatibiln\355 s RFC)" },
+ {T_SET_TYPE_OF_SERVICE, "Nastav IP Type Of Service" },
+ {T_MANUAL, "Manu\341l" },
+ {T_HOMEPAGE, "Dom\341c\355 str\341nka" },
+ {T_CALIBRATION, "Kalibrace" },
+ {T_MAILTO_PROG, "Program pro mail (% je nahrazeno adresou)" },
+ {T_SHELL_PROG, "Shell pro spou\271t\354n\355 extern\355ch p\370\355kaz\371 (% je nahrazeno p\370\355kazem)" },
+ {T_TELNET_PROG, "Program pro telnet (% je nahrazeno jm\351nem stroje a p\370\355padn\354 portem)" },
+ {T_MAGNET_PROG, "Program pro magnet (% je nahrazeno URL)" },
+ {T_TN3270_PROG, "Program pro tn3270 (% je nahrazeno jm\351nem stroje a p\370\355padn\354 portem)" },
+ {T_MMS_PROG, "Program pro mms (% je nahrazeno URL)" },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Programy pro mail a telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Programy pro mail, telnet a shell" },
+ {T_NO_PROGRAM, "\256\341dn\375 program" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Nen\355 zad\341n \276\341dn\375 program pro" },
+ {T_MAIL, "mail" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, "magnet" },
+ {T_TN3270, "tn3270" },
+ {T_MMS, "mms" },
+ {T_BAD_MAILTO_URL, "\251patn\351 mailto url" },
+ {T_BAD_TELNET_URL, "\251patn\351 telnet url" },
+ {T_BAD_TN3270_URL, "\251patn\351 tn3270 url" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "MMS url obsahuje neakceptovateln\351 znaky" },
+ {T_AUTHORIZATION_REQUIRED, "P\370ihl\341\271en\355" },
+ {T_PROXY_AUTHORIZATION_REQUIRED, "P\370ihl\341\271en\355 k proxy" },
+ {T_USERID, "U\276ivatelsk\351 jm\351no" },
+ {T_PASSWORD, "Heslo" },
+ {T_ENTER_USERNAME, "Zadej login pro " },
+ {T_AT, "na adrese " },
+ {T_SSL_ERROR, "Chyba SSL" },
+ {T_NO_SSL, "Tato verze Linksu nepodporuje SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, "Socks spojen\355 selhalo nebo bylo odm\355tnuto" },
+ {T_BAD_SOCKS_VERSION, "\251patn\341 Socks verze (pot\370eba je 4a)" },
+ {T_SOCKS_NO_IDENTD, "Socks proxy se nem\371\276e p\370ipojit na identd server" },
+ {T_SOCKS_BAD_USERID, "\251patn\341 identifikace Socks u\276ivatele" },
+ {T_SOCKS_UNKNOWN_ERROR, "Nezn\341m\341 Socks chyba" },
+ {T_NO_SMB_CLIENT, "Nebyl nalezen program pro p\370\355stup na SMB (podporov\341n je smbclient a smbc)" },
+ {T_DECOMPRESSION_ERROR, "Chyba p\370i dekomprimov\341n\355" },
+ {T_ERROR_DECOMPRESSING_, "Chyba p\370i dekomprimov\341n\355 " },
+ {T__wITH_, " pomoc\355 " },
+ {T_COMPRESSED_ERROR, "Chybn\341 zkomprimovan\341 data" },
+ {T_UNKNOWN_COMPRESSION_METHOD, "Nezn\341m\341 kompresn\355 metoda" },
+ {T_SURE_DELETE, "Opravdu chce\271 smazat" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "Z\341lo\276ky jsou ji\276 otev\370en\351 v jin\351m okn\354!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "P\370i\370azen\355 jsou ji\276 otev\370en\341 v jin\351m okn\354!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "P\370\355pony jsou ji\276 otev\370en\351 v jin\351m okn\354!" },
+ {T_VIDEO_OPTIONS, "Video nastaven\355" },
+ {T_VIDEO_OPTIONS_TEXT, "Doporu\350en\351 nastaven\355 U\276ivatelsk\351 gammy:\n1.33 pro temnou komoru, 1.11 pro velmi tmavou m\355stnost, 1 pro b\354\276n\354 osv\354tlen\355 po\350\355ta\350ov\375ch pracovi\271\273, 0.88 pro jasn\354 osv\354tlen\341 pracovi\271t\354." },
+ {T_RED_DISPLAY_GAMMA, "\310erven\341 display gamma" },
+ {T_GREEN_DISPLAY_GAMMA, "Zelen\341 display gamma" },
+ {T_BLUE_DISPLAY_GAMMA, "Modr\341 display gamma" },
+ {T_USER_GAMMA, "U\276ivatelsk\341 gamma" },
+ {T_ALERT, "V\375straha" },
+ {T_QUESTION, "Ot\341zka" },
+ {T_KILL_SCRIPT, "Ukon\350it script" },
+ {T_KILL_ALL_SCRIPTS, "Ukon\350it v\271echny skripty" },
+ {T_SCRIPT_KILLED_BY_USER, "Javascript byl zne\271kodn\354n u\276ivatelem." },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript se sna\276\355 zav\370\355t okno prohl\355\276e\350e. Opravdu chcete okno zav\370\355t?" },
+ {T_ENTER_STRING, "Zadej text" },
+ {T_JAVASCRIPT_OPTIONS, "Nastaven\355 javascriptu" },
+ {T_ENABLE_JAVASCRIPT, "Zapnout javascript" },
+ {T_VERBOSE_JS_ERRORS, "Upozor\362ovat na chyby v javascriptu" },
+ {T_VERBOSE_JS_WARNINGS, "Upozor\362ovat na varov\341n\355 v javascriptu" },
+ {T_MISCELANEOUS_OPTIONS, "Ostatn\355 nastaven\355" },
+ {T_JAVASCRIPT_ERROR, "Chyba javascriptu" },
+ {T_JAVASCRIPT_WARNING, "Varov\341n\355 javascriptu" },
+ {T_DISMISS, "Zapome\362 na to" },
+ {T_MENU_FONT_SIZE, "Velikost p\355sma v menu" },
+ {T_USER_FONT_SIZE, "Velikost p\355sma" },
+ {T_TURN_OFF_WARNINGS, "P\370estat hl\341sit varov\341n\355" },
+ {T_BOOKMARKS_ENCODING, "Vybrat k\363dov\341n\355 z\341lo\276ek" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript se pokou\271\355 j\355t na URL" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript se pokou\271\355 otev\370\355t nov\351 okno s URL" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript se pokou\271\355 j\355t do historie" },
+ {T_TO_URL, "na URL" },
+ {T_GOTO_HISTORY, "Jdi do historie" },
+ {T_ALLOW, "Povolit" },
+ {T_REJECT, "Zak\341zat" },
+ {T_ENABLE_ALL_CONVERSIONS, "Povolit v\271echny konverze" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Povolit glob\341ln\355 vyhled\341v\341n\355 jmen" },
+ {T_MANUAL_JS_CONTROL, "Potvrzovat akce javascriptu manu\341ln\354" },
+ {T_JS_RECURSION_DEPTH, "Hloubka rekurse" },
+ {T_MENU_BACKGROUND_COLOR, "Barva pozad\355 menu" },
+ {T_MENU_FOREGROUND_COLOR, "Barva pop\370ed\355 menu" },
+ {T_SCROLL_BAR_BAR_COLOR, "Barva tah\341tka scrollovac\355 li\271ty" },
+ {T_SCROLL_BAR_AREA_COLOR, "Barva scrollovac\355 li\271ty" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Barva r\341mu scrollovac\355 li\271ty" },
+ {T_BOOKMARKS_FILE, "Soubor pro ukl\341d\341n\355 z\341lo\276ek" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Hodnoty barev vkl\341dejte ve tvaru sRGB hexadecim\341ln\355ch RRGGBB trojic." },
+ {T_JS_MEMORY_LIMIT_KB, "Pam\354\273 vyhrazen\341 pro javascript (KiB)" },
+ {T_DITHER_LETTERS, "Ditherovat p\355smenka" },
+ {T_DITHER_IMAGES, "Ditherovat obr\341zky" },
+ {T_8_BIT_GAMMA_CORRECTION, "8-bitov\341 gamma korekce" },
+ {T_16_BIT_GAMMA_CORRECTION, "16-bitov\341 gamma korekce" },
+ {T_AUTO_GAMMA_CORRECTION, "Automaticky zvolit gamma korekci (podle rychlosti FPU)" },
+ {T_SCALE_ALL_IMAGES_BY, "Zv\354t\271en\355 v\271ech obr\341zk\371 (%)" },
+ {T_PORN_ENABLE, "Automatick\341 velikost obr\341zk\371 zobrazen\375ch p\370es celou obrazovku" },
+ {T_DISPLAY_OPTIMIZATION_CRT, "Optimalizovat v\375stup pro obrazovku" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optimalizovat v\375stup pro LCD (RGB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optimalizovat v\375stup pro LCD (BGR)" },
+ {T_ASPECT_RATIO, "Pom\354r stran" },
+ {T_ASPECT_CORRECTION_ON, "Zapnout korekci pom\354ru stran" },
+ {T_KEYBOARD_CODEPAGE, "K\363dov\341n\355 kl\341vesnice" },
+ {T_COPY_LINK_LOCATION, "Zkop\355ruj URL odkazu do schr\341nky" },
+ {T_BLOCK_URL, "Zablokuj obr\341zek" },
+ {T_BLOCK_LIST, "Zablokovan\351 obr\341zky" },
+ {T_BLOCKED_IMAGE, "zablokovan\375 obr\341zek" },
+ {T_BLOCK_LIST_IN_USE, "Seznam zablokovan\375ch obr\341zk\371 je u\276 otev\370en\375" },
+ {T_BLOCK_LIST_MANAGER, "Spr\341vce zablokovan\375ch obr\341zk\371" },
+ {T_BLOCK_ADD, "P\370idej obr\341zek k zablokovan\375m" },
+ {T_BLOCK_EDIT, "Uprav URL obr\341zku" },
+ {T_BLOCK_DELETE, "Odstra\362 zablokov\341n\355" },
+ {T_HK_GOTO_URL, "B" },
+ {T_HK_GO_BACK, "Z" },
+ {T_HK_GO_FORWARD, "D" },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "Y" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "J" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, "C" },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, "P" },
+ {T_HK_FLUSH_ALL_CACHES, "V" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "E" },
+ {T_HK_SEARCH, "H" },
+ {T_HK_SEARCH_BACK, "Z" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "L" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, "E" },
+ {T_HK_FRAME_AT_FULL_SCREEN, "R" },
+ {T_HK_HTML_OPTIONS, "M" },
+ {T_HK_COLOR, "B" },
+ {T_HK_SAVE_HTML_OPTIONS, "U" },
+ {T_HK_LANGUAGE, "Y" },
+ {T_HK_CHARACTER_SET, "Z" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, "V" },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, "J" },
+ {T_HK_MISCELANEOUS_OPTIONS, "O" },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "P" },
+ {T_HK_BLOCK_LIST, "B" },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "O" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "P" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, "D" },
+ {T_HK_CALIBRATION, "L" },
+ {T_HK_FILE, "S" },
+ {T_HK_VIEW, "Z" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "N" },
+ {T_HK_HELP, "P" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "O" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "N" },
+ {T_HK_DOWNLOAD_LINK, "S" },
+ {T_HK_RESET_FORM, "V" },
+ {T_HK_SUBMIT_FORM, "P" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "N" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "S" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "O" },
+ {T_HK_COPY_LINK_LOCATION, "C" },
+ {T_HK_BLOCK_URL, "B" },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "O" },
+ {T_HK_FULL_SCREEN, "C" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_danish [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-1" },
+ {T__LANGUAGE, "Danish" },
+ {T__ACCEPT_LANGUAGE, "da" },
+ {T_OK, "Ok" },
+ {T_CANCEL, "Annuller" },
+ {T_BAD_NUMBER, "Fejl i nummer" },
+ {T_NUMBER_EXPECTED, "Nummer forventet i felt" },
+ {T_NUMBER_OUT_OF_RANGE, "Nummer uden for omr\345de" },
+ {T_BAD_STRING, "Fejl i tekststreng" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Tom tekststreng ikke tilladt" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Konfigurationsfejl" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Kan ikke skrive til konfigurationsfil" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Om Links" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nBrowser for WWW" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Taster" },
+ {T_KEYS_DESC, "ESC vis menu\n^C, q afslut\n^P, ^N bladre op/ned\n[, ] bladre venstre/h\370jre\nop,ned v\346lg l\346nker\n-> f\370lg l\346nke\n<- g\345 tilbage\ng g\345 til URL\nG g\345 til URL baseret p\345 nuv\346rende URL\n/ s\370g\n? s\370g bagl\346ns\nn find n\346ste\nN find foreg\345ende\n= dokument information\n| vis dokument hoved\n\\ vis kilde\nd start filoverf\370rsel" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Licens" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nDette program er fri software. Du kan distribuere det og/eller \346ndre det i henhold til GNU General Public License, publiceret af Free Software Foundation, enten version 2 eller (hvis du \370nsker) en hvilken som helst senere version." },
+ {T_RESOURCES, "Ressourcer" },
+ {T_CONNECTIONS, "Forbindelser" },
+ {T_MEMORY_CACHE, "Hukommelsescache" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Skrifttegncache" },
+ {T_IMAGE_CACHE, "Billed cache" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Cache for behandlede dokumenter" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "h\345ndtag" },
+ {T_TIMERS, "tidsafbrydere" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "etablerer forbindelse" },
+ {T_tRANSFERRING, "overf\370rer data" },
+ {T_KEEPALIVE, "forbindelser holdes i live" },
+ {T_BYTES, "byte" },
+ {T_LETTERS, "bogstaver" },
+ {T_FILES, "filer" },
+ {T_LOCKED, "l\345st" },
+ {T_LOADING, "henter" },
+ {T_IMAGES, "billeder" },
+ {T_DOCUMENTS, "dokumenter" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "bytes hukommelse allokeret" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Hukommelsesinformation" },
+ {T_NO_HISTORY, "Ingen historik" },
+ {T_NO_DOWNLOADS, "Ingen filoverf\370rsler" },
+ {T_NO_FRAMES, "Ingen rammer" },
+ {T_VT_100_FRAMES, "VT100-rammer" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux eller OS/2-rammer" },
+ {T_KOI8R_FRAMES, "KOI8-R-rammer" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Anvend ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Begr\346ns rammer i cp850/852" },
+ {T_BLOCK_CURSOR, "Udfyld mark\370r" },
+ {T_COLOR, "Farver" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Terminalindstillinger" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP-proxy (v\346rt:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP-proxy (v\346rt:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Direkte tilgang (uden proxy) til disse dom\346ner (kommasepareret)" },
+ {T_NETWORK_OPTIONS, "Netv\346rksindstillinger" },
+ {T_MAX_CONNECTIONS, "Max forbindelser" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Max forbindelser til en v\346rt" },
+ {T_RETRIES, "Antal fors\370g" },
+ {T_RECEIVE_TIMEOUT_SEC, "Ventetid ved filoverf\370rsler (sek)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Ventetid ved genstartsproblemer" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Asynkron DNS-opslag" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Vis tidsinformation for hentede filer" },
+ {T_CACHE_OPTIONS, "Cacheindstillinger" },
+ {T_MEMORY_CACHE_SIZE__KB, "St\370rrelse for hukommelsescache (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "St\370rrrelse for billedcache (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Antal behandlede dokumenter" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "HTML-indstillinger" },
+ {T_DISPLAY_TABLES, "Vis tabeller" },
+ {T_DISPLAY_FRAMES, "Vis rammer" },
+ {T_DISPLAY_IMAGES, "Vis billeder" },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Vis l\346nker til billeder" },
+ {T_LINK_ORDER_BY_COLUMNS, "S\370jlevis navigering i tabeller" },
+ {T_NUMBERED_LINKS, "Nummererede l\346nker" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Tekstmargin" },
+ {T_DEFAULT_CODEPAGE, "Standardtegnops\346tning" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorer information om tegnops\346tning fra server" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "G\345 til URL" },
+ {T_GO_BACK, "G\345 tilbage" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Historik" },
+ {T_RELOAD, "Genindl\346s" },
+ {T_NEW_WINDOW, "Nyt vindue" },
+ {T_SAVE_AS, "Gem som" },
+ {T_SAVE_URL_AS, "Gem URL som" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Gem behandlet dokument" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Dr\346b baggrundsforbindelse" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "T\370m cachen" },
+ {T_RESOURCE_INFO, "Ressourceinformation" },
+ {T_OS_SHELL, "Kommandofortolker" },
+ {T_EXIT, "Afslut" },
+ {T_SEARCH, "S\370g" },
+ {T_SEARCH_BACK, "S\370g bagud" },
+ {T_FIND_NEXT, "S\370g n\346ste" },
+ {T_FIND_PREVIOUS, "S\370g foreg\345ende" },
+ {T_TOGGLE_HTML_PLAIN, "Skift mellem HTML/tekst" },
+ {T_DOCUMENT_INFO, "Dokumentinformation" },
+ {T_FRAME_AT_FULL_SCREEN, "Maksimer ramme" },
+ {T_SAVE_HTML_OPTIONS, "Gem HTML-indstillinger" },
+ {T_CHARACTER_SET, "Tegns\346tindstillinger" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "Post og telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Associationer" },
+ {T_FILE_EXTENSIONS, "Filendelser" },
+ {T_SAVE_OPTIONS, "Gem indstillinger" },
+ {T_FILE, "Filer" },
+ {T_VIEW, "Vis" },
+ {T_LINK, "L\346nker" },
+ {T_DOWNLOADS, "Filoverf\370rsler" },
+ {T_SETUP, "Indstillinger" },
+ {T_HELP, "Hj\346lp" },
+ {T_ENTER_URL, "Indtast URL" },
+ {T_SAVE_URL, "Gem URL" },
+ {T_DOWNLOAD, "Hent" },
+ {T_SAVE_TO_FILE, "Gem som" },
+ {T_SEARCH_FOR_TEXT, "S\370g efter tekst" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "Venter i k\370" },
+ {T_LOOKING_UP_HOST, "Lokaliserer v\346rt" },
+ {T_MAKING_CONNECTION, "Forbinder" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "SSL forhandling" },
+ {T_REQUEST_SENT, "Foresp\370rgsel sent" },
+ {T_GETTING_HEADERS, "Henter dokumenthoved" },
+ {T_LOGGING_IN, "Logger p\345" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Serveren behandler foresp\370rgsel" },
+ {T_TRANSFERRING, "Overf\370rer" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Venter p\345 bekr\346ftelse p\345 omdirigering" },
+ {T_INTERRUPTED, "Afbrudt" },
+ {T_SOCKET_EXCEPTION, "Sokkelfejl" },
+ {T_INTERNAL_ERROR, "Intern fejl" },
+ {T_OUT_OF_MEMORY, "Hukommelse opbrugt" },
+ {T_HOST_NOT_FOUND, "V\346rtsmaskinen kan ikke lokaliseres" },
+ {T_ERROR_WRITING_TO_SOCKET, "Fejl ved skrivning til sokkel" },
+ {T_ERROR_READING_FROM_SOCKET, "Fejl ved l\346sning fra sokkel" },
+ {T_DATA_MODIFIED, "Data \346ndret" },
+ {T_BAD_URL_SYNTAX, "Fejl i URL-syntaks" },
+ {T_RECEIVE_TIMEOUT, "Ventetid udl\370bet for overf\370rsel" },
+ {T_REQUEST_MUST_BE_RESTARTED, "Foresp\370rgsel skal genstartes" },
+ {T_CANT_GET_SOCKET_STATE, "Kan ikke afl\346se sokkeltilstand" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Fejl i HTTP-svar" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Intet indhold" },
+ {T_UNKNOWN_FILE_TYPE, "Ukendt filtype" },
+ {T_ERROR_OPENING_FILE, "Fejl ved \345bning af fil" },
+ {T_BAD_FTP_RESPONSE, "Fejl i FTP-svar" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP-tjeneste ikke tilg\346ngelig" },
+ {T_BAD_FTP_LOGIN, "Fejlagtig FTP-indlogning" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT kommando mislykkedes" },
+ {T_FILE_NOT_FOUND, "Filen findes ikke" },
+ {T_FTP_FILE_ERROR, "FTP filfejl" },
+ {T_UNKNOWN_ERROR, "Ukendt fejl" },
+ {T_RECEIVED, "Modtog" },
+ {T_OF, "af" },
+ {T_AVG, "gennemsnitlig" },
+ {T_CUR, "nuv\346rende" },
+ {T_AVERAGE_SPEED, "Gennemsnitlig hastighed" },
+ {T_SPEED, "Hastighed" },
+ {T_CURRENT_SPEED, "nuv\346rende hastighed" },
+ {T_ELAPSED_TIME, "Forl\370bet tid" },
+ {T_ESTIMATED_TIME, "beregnet tid" },
+ {T_BACKGROUND, "Baggrund" },
+ {T_ABORT, "Afbryd" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "Ja" },
+ {T_NO, "Nej" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Overf\370rselsfejl" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Kunne ikke skrive til fil" },
+ {T_ERROR_DOWNLOADING, "Fejl ved overf\370rsel af" },
+ {T_ERROR_LOADING, "Fejl ved indl\346sning" },
+ {T_COULD_NOT_CREATE_FILE, "Kunne ikke oprette fil" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Ukendt type" },
+ {T_CONTENT_TYPE_IS, "Indholdstype er" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "\330nsker du at \345bne, gemme eller vise denne fil?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "\330nsker du at \345bne eller vise denne fil?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Vil du gemme eller vise filen?" },
+ {T_SAVE, "Gem" },
+ {T_DISPLAY, "Vis" },
+ {T_WHAT_TO_DO, "Hvad skaljeg g\370re?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Vil du \345bne filen med" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "gemme den, eller vise den?" },
+ {T_OPEN, "\305ben" },
+ {T_OPEN_WITH, "\305ben med" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Vil du f\370lge omdirigering og sende formulardata til URL" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Vil du sende formulardata til URL" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Vil du sende formulardata til URL igen" },
+ {T_WARNING, "Advarsel" },
+ {T_ERROR, "Fejl" },
+ {T_WELCOME, "Velkommen" },
+ {T_WELCOME_TO_LINKS, "Velkommen til links!" },
+ {T_BASIC_HELP, "Tryk ESC for menu. V\346lg Hj\346lp->Brugervejledning for mere vejledning" },
+ {T_LABEL, "M\346rkat" },
+ {T_CONTENT_TYPES, "Indholdstyper" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' erstattes med filnavn)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Bloker terminalen mens programmet k\370rer" },
+ {T_RUN_ON_TERMINAL, "K\370r i terminal" },
+ {T_RUN_IN_XWINDOW, "K\370r i X-vindue" },
+ {T_ASK_BEFORE_OPENING, "Sp\370rg f\370r der \345bnes" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Slet association" },
+ {T_ASSOCIATION, "Association" },
+ {T_EXTENSION_S, "Filendelser" },
+ {T_CONTENT_TYPE, "Indholdstype" },
+ {T_DELETE_EXTENSION, "Slet filendelse" },
+ {T_EXTENSION, "Filendelse" },
+ {T_eXTENSION, "filendelse" },
+ {T_ERROR_WHILE_POSTING_FORM, "Fejl under afsendelse af formular" },
+ {T_COULD_NOT_GET_FILE, "Kunne ikke hente fil" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Ingen tidligere s\370gning" },
+ {T_SEARCH_STRING_NOT_FOUND, "S\370gningen gav intet resultat" },
+ {T_SAVE_ERROR, "Fejl ved skrivning" },
+ {T_ERROR_WRITING_TO_FILE, "Fejl ved skrivning til fil" },
+ {T_DISPLAY_USEMAP, "Vis usemap" },
+ {T_FOLLOW_LINK, "F\370lg l\346nke" },
+ {T_OPEN_IN_NEW_WINDOW, "\305ben i nyt vindue" },
+ {T_DOWNLOAD_LINK, "Hent l\346nke" },
+ {T_RESET_FORM, "Nulstil formular" },
+ {T_SUBMIT_FORM, "Send formular" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Send formular og \345ben i nyt vindue" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Send formular og overf\370r fil" },
+ {T_VIEW_IMAGE, "Vis billede" },
+ {T_DOWNLOAD_IMAGE, "Hent billede" },
+ {T_NO_LINK_SELECTED, "Ingen l\346nker valgt" },
+ {T_IMAGE, "Billede" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Sk\346rm" },
+ {T_WINDOW, "Vindue" },
+ {T_FULL_SCREEN, "Maximer sk\346rm" },
+ {T_BEOS_TERMINAL, "BeOS-terminal" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Send formular til" },
+ {T_POST_FORM_TO, "Send formular til" },
+ {T_RADIO_BUTTON, "Radioknap" },
+ {T_CHECKBOX, "Afkrysningsboks" },
+ {T_SELECT_FIELD, "V\346lg felt" },
+ {T_TEXT_FIELD, "Tekstfelt" },
+ {T_TEXT_AREA, "Tekstomr\345de" },
+ {T_FILE_UPLOAD, "Filopl\346sning" },
+ {T_PASSWORD_FIELD, "Adgangskodefelt" },
+ {T_BUTTON, "knap" },
+ {T_NAME, "Navn" },
+ {T_VALUE, "V\346rdi" },
+ {T_HIT_ENTER_TO, "tryk [Linieskift] for at" },
+ {T_SUBMIT_TO, "send til" },
+ {T_POST_TO, "send til" },
+ {T_INFO, "Info" },
+ {T_HEADER_INFO, "Info om sidehoved" },
+ {T_YOU_ARE_NOWHERE, "Du er ingen steder!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "St\370rrelse" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "ufuldst\346ndig" },
+ {T_CODEPAGE, "tegnops\346tning" },
+ {T_ASSUMED, "antaget" },
+ {T_IGNORING_SERVER_SETTING, "Ignorer serverindstilling" },
+ {T_SERVER, "Server" },
+ {T_DATE, "Dato" },
+ {T_LAST_MODIFIED, "Sidst opdateret" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Sprog" },
+ {T_GO_TO_LINK, "G\345 til l\346nke" },
+ {T_ENTER_LINK_NUMBER, "Skriv nummer p\345 l\346nke" },
+ {T_RESIZE_TERMINAL, "\306ndre terminalst\370rrelse" },
+ {T_COLUMNS, "S\370jler" },
+ {T_ROWS, "R\346kker" },
+ {T_GOTO, "G\345 til" },
+ {T_CLOSE, "Luk" },
+ {T_FOLDER, "Mappe" },
+ {T_fOLDER, "mappe" },
+ {T_ADD, "Tilf\370j" },
+ {T_DELETE, "Slet" },
+ {T_EDIT, "Rediger" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "Bogm\346rke" },
+ {T_BOOKMARK, "bogm\346rke" },
+ {T_ADD_BOOKMARK, "Tilf\370j bogm\346rke" },
+ {T_ADD_ASSOCIATION, "Tilf\370j association" },
+ {T_ADD_EXTENSION, "Tilf\370j filendelse" },
+ {T_ADD_FOLDER, "Tilf\370j mappe" },
+ {T_BOOKMARK_TITLE, "Titel p\345 bogm\346rke" },
+ {T_EDIT_BOOKMARK, "Rediger bogm\346rke" },
+ {T_EDIT_ASSOCIATION, "\306ndre bogm\346rke" },
+ {T_EDIT_EXTENSION, "\306ndre filendelse" },
+ {T_DELETE_BOOKMARK, "Slet bokm\346rke" },
+ {T_EDIT_FOLDER, "\306ndre mappe" },
+ {T_DELETE_FOLDER, "Slet mappe" },
+ {T_NOT_EMPTY_SURE_DELETE, "er ikke tom. Er du sikker p\345 at den skal slettes? " },
+ {T_BOOKMARK_MANAGER, "Bogm\346rkeh\345ndtering" },
+ {T_ASSOCIATIONS_MANAGER, "Associationsh\345ndtering" },
+ {T_EXTENSIONS_MANAGER, "Filendelsesh\345ndtering" },
+ {T_url, "url" },
+ {T_NNAME, "Navn" },
+ {T_EXIT_LINKS, "Afslut links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Vil du virkelig afslutte links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Vil du virkelig afslutte links og afbryde alle filoverf\370rsler?" },
+ {T_HTTP_OPTIONS, "HTTP-indstillinger" },
+ {T_FTP_OPTIONS, "FTP-indstillinger" },
+ {T_HTTP_BUG_WORKAROUNDS, "Korrigering af HTTP-fejl" },
+ {T_USE_HTTP_10, "Anvend HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Tillad frasortering af fejlbeh\346ftede servere" },
+ {T_BROKEN_302_REDIRECT, "Fejl ved omdirigering 302 (overtr\346der RFC, men er kompatibel med Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Afbryd forbindelsen efter POST-foresp\370rgsler (n\370dvendig for visse fejlbeh\346ftede PHP-databaser)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "Ingen henviser" },
+ {T_REFERER_SAME_URL, "Send forespurgte URL som henviser" },
+ {T_REFERER_FAKE, "Fast henviser" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "Send rigtige henviser (normal procedure, USIKKER!!!)" },
+ {T_FAKE_REFERER, "Falsk HTTP henviser" },
+ {T_FAKE_USERAGENT, "Falsk brugeragent" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Adgangskode for anonym indlogning" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Brugervejledning" },
+ {T_HOMEPAGE, "Hjemmeside" },
+ {T_CALIBRATION, "Kalibrering" },
+ {T_MAILTO_PROG, "Epostprogram (% erstattes med adresse)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Program til fjernlogin (% erstattes med \"v\346rt\" eller \"v\346rt port\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Tn3270-program (% erstattes med \"v\346rt\" eller \"v\346rt port\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Program til epost og fjernlogin" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Intet program" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Intet program angivet for" },
+ {T_MAIL, "epost" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "Fejl i mailto URL" },
+ {T_BAD_TELNET_URL, "Fejl i telnet URL" },
+ {T_BAD_TN3270_URL, "Fejl i tn3270 URL" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "Brugernavn" },
+ {T_PASSWORD, "Adgangskode" },
+ {T_ENTER_USERNAME, "Indtast brugernavn og adgangskode for " },
+ {T_AT, "p\345 " },
+ {T_SSL_ERROR, "SSL-fejl" },
+ {T_NO_SSL, "Denne version af Links underst\370tter ikke SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "Er du sikker p\345 at slette" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "Bogm\346rker er allerede i brug!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Associationer er allerede i brug!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "Filendelser er allerede i brug!" },
+ {T_VIDEO_OPTIONS, "Videoindstillinger" },
+ {T_VIDEO_OPTIONS_TEXT, "" },
+ {T_RED_DISPLAY_GAMMA, "Anbefalede Bruger gamma indstilling:\n 1.33 for m\370rke rum, 1.11 for rum med d\346mpet belysning, 1 for almindelig belysning, 0.88 for lyse omgivelser." },
+ {T_GREEN_DISPLAY_GAMMA, "Gr\370n gamma visning" },
+ {T_BLUE_DISPLAY_GAMMA, "Bl\345 gamme visning" },
+ {T_USER_GAMMA, "Bruger gamma" },
+ {T_ALERT, "Bem\346rk" },
+ {T_QUESTION, "Sp\370rgsm\345l" },
+ {T_KILL_SCRIPT, "Dr\346b script" },
+ {T_KILL_ALL_SCRIPTS, "Dr\346b alle scripts" },
+ {T_SCRIPT_KILLED_BY_USER, "Javascript dr\346bt af bruger." },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Et javascript fors\370ger at lukke vinduet. Forts\346t ?" },
+ {T_ENTER_STRING, "Indtast tekststreng" },
+ {T_JAVASCRIPT_OPTIONS, "Javascript indstillinger" },
+ {T_ENABLE_JAVASCRIPT, "Tillad javascript" },
+ {T_VERBOSE_JS_ERRORS, "Meddel javascript fejl" },
+ {T_VERBOSE_JS_WARNINGS, "Meddel javascript advarsler" },
+ {T_MISCELANEOUS_OPTIONS, "Diverse indstillinger" },
+ {T_JAVASCRIPT_ERROR, "Javascript fejl" },
+ {T_JAVASCRIPT_WARNING, "Javascript advarsel" },
+ {T_DISMISS, "afvis" },
+ {T_MENU_FONT_SIZE, "Menu fontst\370rrelse" },
+ {T_USER_FONT_SIZE, "Bruger fontst\370rrelse" },
+ {T_TURN_OFF_WARNINGS, "Vis ikke advarsler" },
+ {T_BOOKMARKS_ENCODING, "Bogm\346rketegns\346t" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript fors\370ger at \345bne URL" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript fors\370ger at \345bne et nyt vindue med URL" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript fors\370ger at \345bne en URL fra historik" },
+ {T_TO_URL, "til url" },
+ {T_GOTO_HISTORY, "G\345 til URL i historik" },
+ {T_ALLOW, "Tillad" },
+ {T_REJECT, "Forbyd" },
+ {T_ENABLE_ALL_CONVERSIONS, "Tillad alle konverteringer" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Tillad global navneresolution" },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, "Rekursionsdybde" },
+ {T_MENU_BACKGROUND_COLOR, "Baggrundsfarve" },
+ {T_MENU_FOREGROUND_COLOR, "Forgrundsfarve" },
+ {T_SCROLL_BAR_BAR_COLOR, "Rullebj\346lke farve" },
+ {T_SCROLL_BAR_AREA_COLOR, "Rullebj\346lkeomr\345dets farve" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Rullebj\346lkerammens farve" },
+ {T_BOOKMARKS_FILE, "Bogm\346rkefil" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Indtast farver i RGB hexadecimal notation (RRGGBB)." },
+ {T_JS_MEMORY_LIMIT_KB, "Hukommelse dedikeret til javascript (KiB)" },
+ {T_DITHER_LETTERS, "farvereducer bogstaver" },
+ {T_DITHER_IMAGES, "farvereducer billeder" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "Skaler billeder med (%)" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, "Vis optimering for CRT" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "Vis optimering for LCD (RGB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "Vis optimering for LCD (BGR)" },
+ {T_ASPECT_RATIO, "Aspektratio" },
+ {T_ASPECT_CORRECTION_ON, "Aspekt korrektion sl\345et til" },
+ {T_KEYBOARD_CODEPAGE, "Tastetur tegns\346tning" },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "B" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "V" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "F" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "X" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "B" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "F" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "A" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "H" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, "V" },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, "J" },
+ {T_HK_MISCELANEOUS_OPTIONS, "O" },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "A" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "C" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, "H" },
+ {T_HK_CALIBRATION, "L" },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_dutch [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "us-ascii" },
+ {T__LANGUAGE, "Dutch" },
+ {T__ACCEPT_LANGUAGE, "nl" },
+ {T_OK, "OK" },
+ {T_CANCEL, "Annuleren" },
+ {T_BAD_NUMBER, "Onjuist nummer" },
+ {T_NUMBER_EXPECTED, "Nummer verwacht in veld" },
+ {T_NUMBER_OUT_OF_RANGE, "Number buiten het bereik" },
+ {T_BAD_STRING, "Onjuiste string" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Lege string niet toegestaan" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Configuratie fout" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Niet mogelijk om naar het configuratiebestand te schrijven" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "About" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW browser" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Toetsen" },
+ {T_KEYS_DESC, "ESC weergave menu\n^C, q afsluiten\n^P, ^N scroll up, down\n[, ] scroll links, rechts\nup, naar beneden selecteerd link\n-> volg link\n<- ga terug\ng ga naar url\nG ga naar de url gebaseerd op de huidige url\n/ zoeken\n? terug zoeken\nn vindt volgende\nN vindt vorige\n= document info\n| hoofd info\n\\ document code\nd download" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Copieren" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\nDit programma is vrije software; je mag het herdistributeren en/of wijzigen als onder de GNU General Public License, zoals gepubliceerd door the Free Software Foundation; als versie 2 van de licentie, of (naar jouw keuze) elke latere versie." },
+ {T_RESOURCES, "Resources" },
+ {T_CONNECTIONS, "Verbindingen" },
+ {T_MEMORY_CACHE, "Geheugen cache" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "Invoeren document cache" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "afhandelen" },
+ {T_TIMERS, "timers" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "verbinden" },
+ {T_tRANSFERRING, "overzetten" },
+ {T_KEEPALIVE, "keepalive" },
+ {T_BYTES, "bytes" },
+ {T_LETTERS, NULL },
+ {T_FILES, "bestanden" },
+ {T_LOCKED, "geblokkeerd" },
+ {T_LOADING, "aan het laden" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "documenten" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "bytes van geheugen gelocaliseerd" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Geheugen info" },
+ {T_NO_HISTORY, "Geen verleden" },
+ {T_NO_DOWNLOADS, "Geen downloads" },
+ {T_NO_FRAMES, "Geen frames" },
+ {T_VT_100_FRAMES, "VT 100 frames" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux of OS/2 frames" },
+ {T_KOI8R_FRAMES, "KOI8-R frames" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Gebruik ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Ristricte frames in cp850/852" },
+ {T_BLOCK_CURSOR, "Blokkeer cursor" },
+ {T_COLOR, "Kleur" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Terminal opties" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Directe toegang (zonder proxy) domeinen (komma gescheiden)" },
+ {T_NETWORK_OPTIONS, "Netwerk opties" },
+ {T_MAX_CONNECTIONS, "Max verbindingen" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Max verbindingen naar \351\351n host" },
+ {T_RETRIES, "Opnieuw proberen" },
+ {T_RECEIVE_TIMEOUT_SEC, "Verbinding over tijd (sec)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Over tijd wanneer onherstartbaar" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Async DNS lookup" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Set tijd van gedownloade bestanden" },
+ {T_CACHE_OPTIONS, "Cache opties" },
+ {T_MEMORY_CACHE_SIZE__KB, "Geheugen cache grootte (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Number van geformatteerde documenten" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "Html opties" },
+ {T_DISPLAY_TABLES, "Tables weergeven" },
+ {T_DISPLAY_FRAMES, "Frames weergeven" },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Geef links naar afbeeldingen weer" },
+ {T_LINK_ORDER_BY_COLUMNS, "Verplaatsen door kolommen in table" },
+ {T_NUMBERED_LINKS, "Links zijn genummerd" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Tekst marge" },
+ {T_DEFAULT_CODEPAGE, "Standaard codepage" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Negeer charset informatie verzonder door server" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Ga naar URL" },
+ {T_GO_BACK, "Ga terug" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Geschiedenis" },
+ {T_RELOAD, "Herladen" },
+ {T_NEW_WINDOW, "Nieuw venster" },
+ {T_SAVE_AS, "Opslaan als" },
+ {T_SAVE_URL_AS, "Sla URL op als" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Opslaan geformatteerd document" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Doden van achtergrond verbindingen" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "Leeg maken van alle caches" },
+ {T_RESOURCE_INFO, "Hulpbronnen info" },
+ {T_OS_SHELL, "OS shell" },
+ {T_EXIT, "Afsluiten" },
+ {T_SEARCH, "Zoeken" },
+ {T_SEARCH_BACK, "Zoek terugwaards" },
+ {T_FIND_NEXT, "Vind volgende" },
+ {T_FIND_PREVIOUS, "Vind vorige" },
+ {T_TOGGLE_HTML_PLAIN, "Verwisselen html/plain" },
+ {T_DOCUMENT_INFO, "Document info" },
+ {T_FRAME_AT_FULL_SCREEN, "Frame als volledig scherm" },
+ {T_SAVE_HTML_OPTIONS, "Opslaan html opties" },
+ {T_CHARACTER_SET, "Character set" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "Post and telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Associaties" },
+ {T_FILE_EXTENSIONS, "Bestands extensie" },
+ {T_SAVE_OPTIONS, "Options opslaan" },
+ {T_FILE, "Bestand" },
+ {T_VIEW, "Weergave" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "Downloads" },
+ {T_SETUP, "Configuratie" },
+ {T_HELP, "Help" },
+ {T_ENTER_URL, "Enter URL" },
+ {T_SAVE_URL, "Opslaan URL" },
+ {T_DOWNLOAD, "Download" },
+ {T_SAVE_TO_FILE, "Opslaan naar bestand" },
+ {T_SEARCH_FOR_TEXT, "Zoeken naar tekst" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "In wachtrij" },
+ {T_LOOKING_UP_HOST, "Zoeken naar host" },
+ {T_MAKING_CONNECTION, "Verbinding maken" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "SSL onderhandeling" },
+ {T_REQUEST_SENT, "Verzoek verzonden" },
+ {T_GETTING_HEADERS, "Ontvangen hoofden" },
+ {T_LOGGING_IN, NULL },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Server verwerkt verzoek" },
+ {T_TRANSFERRING, "Overzetten" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Wachten voor indirecte bevestiging" },
+ {T_INTERRUPTED, "Onderschept" },
+ {T_SOCKET_EXCEPTION, "Socket uitzondering" },
+ {T_INTERNAL_ERROR, "Interne fout" },
+ {T_OUT_OF_MEMORY, "Te weinig geheugen" },
+ {T_HOST_NOT_FOUND, "Host niet gevonden" },
+ {T_ERROR_WRITING_TO_SOCKET, "Schrijven naar socket mislukt" },
+ {T_ERROR_READING_FROM_SOCKET, "Lezen van socket mislukt" },
+ {T_DATA_MODIFIED, "Data gemodificeerd" },
+ {T_BAD_URL_SYNTAX, "BSlechtead URL syntaxis" },
+ {T_RECEIVE_TIMEOUT, "Onvangst buiten tijd" },
+ {T_REQUEST_MUST_BE_RESTARTED, "Verzoek moet opnieuw" },
+ {T_CANT_GET_SOCKET_STATE, "Kan geen socket status krijgen" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Slechte HTTP respons" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Geen content" },
+ {T_UNKNOWN_FILE_TYPE, "Onbekende bestandstype" },
+ {T_ERROR_OPENING_FILE, "Fout bij openen bestand" },
+ {T_BAD_FTP_RESPONSE, "Slechte FTP antwoord" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP service niet beschikbaar" },
+ {T_BAD_FTP_LOGIN, "Slechte FTP login" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT commando gefaald" },
+ {T_FILE_NOT_FOUND, "Bestand niet gevonden" },
+ {T_FTP_FILE_ERROR, "FTP bestand fout" },
+ {T_UNKNOWN_ERROR, "Onbekende fout" },
+ {T_RECEIVED, "Ontvangen" },
+ {T_OF, "van" },
+ {T_AVG, "gem" },
+ {T_CUR, "nu" },
+ {T_AVERAGE_SPEED, "Gemiddelde snelheid" },
+ {T_SPEED, "Snelheid" },
+ {T_CURRENT_SPEED, "huidige snelheid" },
+ {T_ELAPSED_TIME, "Verlopen tijd" },
+ {T_ESTIMATED_TIME, "geschatte tijd" },
+ {T_BACKGROUND, "Achtergrond" },
+ {T_ABORT, "Annuleren" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "Ja" },
+ {T_NO, "Nee" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Download fout" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Kan bestand niet aanmaken" },
+ {T_ERROR_DOWNLOADING, "Fout met downloaden" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "Kan bestand niet maken" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Onbekend type" },
+ {T_CONTENT_TYPE_IS, "Content type is" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Wil je dit bestand opslaan of weergeven?" },
+ {T_SAVE, "Opslaan" },
+ {T_DISPLAY, "Weergeven" },
+ {T_WHAT_TO_DO, "Wat wil je doen?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Wil je dit bestand openen met" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "wil je het opslaan of weergeven?" },
+ {T_OPEN, "Openen" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Wil je de verwijzing volgen en wil je data verzenden naar de url" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Wil je data verzenden naar de url" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Wil je opnieuw data verzenden naar de url" },
+ {T_WARNING, "Waarschuwing" },
+ {T_ERROR, "Fout" },
+ {T_WELCOME, "Welkom" },
+ {T_WELCOME_TO_LINKS, "Welkom bij links!" },
+ {T_BASIC_HELP, "Druk ESC voor menu. Selecteer Help->Handleiding in menu voor de gebruikershandleiding." },
+ {T_LABEL, "Label" },
+ {T_CONTENT_TYPES, "Content-Type(s)" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programma ('%' is vervangen met bestandsnaam)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blokkeer terminal wanneer programma bezig is" },
+ {T_RUN_ON_TERMINAL, "Uitvoeren op terminal" },
+ {T_RUN_IN_XWINDOW, "Uitvoeren in X-Window" },
+ {T_ASK_BEFORE_OPENING, "Vraag voor openen" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Verwijder associatie" },
+ {T_ASSOCIATION, "Associatie" },
+ {T_EXTENSION_S, "Extentie(s)" },
+ {T_CONTENT_TYPE, "Content-Type" },
+ {T_DELETE_EXTENSION, "Verwijder extensie" },
+ {T_EXTENSION, "Extensie" },
+ {T_eXTENSION, "extensie" },
+ {T_ERROR_WHILE_POSTING_FORM, "Fout bij versturen furmulier" },
+ {T_COULD_NOT_GET_FILE, "Kan bestand niet krijgen" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Geen vorige zoekactie" },
+ {T_SEARCH_STRING_NOT_FOUND, "Zoekstring niet gevonden" },
+ {T_SAVE_ERROR, "Fout bij opslaan" },
+ {T_ERROR_WRITING_TO_FILE, "Schrijffout bij opslaan" },
+ {T_DISPLAY_USEMAP, "Geef usemap weer" },
+ {T_FOLLOW_LINK, "Volg link" },
+ {T_OPEN_IN_NEW_WINDOW, "Openen in nieuw venster" },
+ {T_DOWNLOAD_LINK, "Download link" },
+ {T_RESET_FORM, "Resetten formulier" },
+ {T_SUBMIT_FORM, "Verzenden formulier" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Verzend furmulier en openen in een nieuw venster" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Verzenden formulier en download" },
+ {T_VIEW_IMAGE, "Bekijk afbeelding" },
+ {T_DOWNLOAD_IMAGE, "Download afbeelding" },
+ {T_NO_LINK_SELECTED, "Geen link geselecteerd" },
+ {T_IMAGE, "Afbeelding" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Scherm" },
+ {T_WINDOW, "Venster" },
+ {T_FULL_SCREEN, "Volledig scherm" },
+ {T_BEOS_TERMINAL, "BeOS terminal" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Aanbieden formulier aan" },
+ {T_POST_FORM_TO, "Verzend formulier naar" },
+ {T_RADIO_BUTTON, "Radio knop" },
+ {T_CHECKBOX, "Kruisvakje" },
+ {T_SELECT_FIELD, "Selecteer veld" },
+ {T_TEXT_FIELD, "Tekstveld" },
+ {T_TEXT_AREA, "Tekstgebied" },
+ {T_FILE_UPLOAD, "Bestand upload" },
+ {T_PASSWORD_FIELD, "Paswoordveld" },
+ {T_BUTTON, NULL },
+ {T_NAME, "naam" },
+ {T_VALUE, "waarde" },
+ {T_HIT_ENTER_TO, "raak ENTER om" },
+ {T_SUBMIT_TO, "Aanbieden aan" },
+ {T_POST_TO, "Verzenden aan" },
+ {T_INFO, "Info" },
+ {T_HEADER_INFO, "Hoofd info" },
+ {T_YOU_ARE_NOWHERE, "Jij bent in de Efteling!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Grootte" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "incompleet" },
+ {T_CODEPAGE, "Codepage" },
+ {T_ASSUMED, "geveinsd" },
+ {T_IGNORING_SERVER_SETTING, "negeer server instelling" },
+ {T_SERVER, "Server" },
+ {T_DATE, "Datum" },
+ {T_LAST_MODIFIED, "Laatst gewijzigd" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Taal" },
+ {T_GO_TO_LINK, "Ga naar link" },
+ {T_ENTER_LINK_NUMBER, "Voer in link nummer" },
+ {T_RESIZE_TERMINAL, "Verschaal terminal" },
+ {T_COLUMNS, "Kolommen" },
+ {T_ROWS, "Rijen" },
+ {T_GOTO, "Ga naar" },
+ {T_CLOSE, "Sluiten" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "Toevoegen" },
+ {T_DELETE, "Verwijderen" },
+ {T_EDIT, "Bewerken" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "Bladwijzers" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "Voeg bladwijzer toe" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, "Bladwijzer titel" },
+ {T_EDIT_BOOKMARK, "Bewerk bladwijzer" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "Verwijder bladwijzer" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "Bladwijzer beheer" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, "url" },
+ {T_NNAME, "Naam" },
+ {T_EXIT_LINKS, "Afsluiten Links (of rechts...)" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Wil je echt Links verlaten?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Wil je echt Links verlaten (en alle downloads annuleren)?" },
+ {T_HTTP_OPTIONS, "HTTP opties" },
+ {T_FTP_OPTIONS, "FTP opties" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP bug workarounds" },
+ {T_USE_HTTP_10, "Gebruik HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Sta een zwarte lijst toe van buggy servers" },
+ {T_BROKEN_302_REDIRECT, "Verbroken verwijzing 302 (het overtreedt RFC, maar is uitwisselbaar met Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Geen levendige verbinding naar versturen verzoek (somige buggy PHP databases hebben dit nodig)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Paswoord voor anonieme aanmelding" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Gebruikershandleiding" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, "Mail programma (% is vervangen met adres)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Telnet programma (% is vervangen met \"host\" of \"host port\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Tn3270 programma (% is vervangen met \"host\" of \"host port\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Mail en telnet programma's" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Geen programma" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Geen programma gespecificieerd voor" },
+ {T_MAIL, "mail" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "Onjuiste mailto url" },
+ {T_BAD_TELNET_URL, "Onjuiste telnet url" },
+ {T_BAD_TN3270_URL, "Onjuiste tn3270 url" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "Gebruikers ID" },
+ {T_PASSWORD, "Paswoord" },
+ {T_ENTER_USERNAME, "Geef gebruikersnaam voor " },
+ {T_AT, "van " },
+ {T_SSL_ERROR, "SSL fout" },
+ {T_NO_SSL, "Deze versie van Links heeft geen SSL/TLS ondersteuning" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "B" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "V" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "F" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "X" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "B" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "F" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "A" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "H" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "A" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "C" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_estonian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-15" },
+ {T__LANGUAGE, "Estonian" },
+ {T__ACCEPT_LANGUAGE, "et" },
+ {T_OK, "OK" },
+ {T_CANCEL, "T\374hista" },
+ {T_BAD_NUMBER, "Vale number" },
+ {T_NUMBER_EXPECTED, "Eeldame v\344lja sees numbrit" },
+ {T_NUMBER_OUT_OF_RANGE, "Number v\344\344rtusepiirkonnast v\344ljas" },
+ {T_BAD_STRING, "Ebasobiv string" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "T\374hi string pole lubatud" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Konfiguratsiooni viga" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Ei saa kirjutada konfiguratsioonifaili" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Programmi kohta" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW brauser" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Klahvid" },
+ {T_KEYS_DESC, "ESC N\344itab men\374\374d\n^C, q v\344ljub\n^P, ^N kerib \374les, alla\n[, ] kerib vasakule, paremale\nup, down valib lingi\n-> j\344rgib linki\n<- l\344heb tagasi\ng l\344heb URL-le\nG l\344heb URL-le, mis baseerub k\344esolaval URL-l\n/ otsing\n? otsing tagurpidi\nn otsib j\344rgmise vaste\nN otsib eelneva vaste\n= dokumendi informatsioon\n| p\344ise informatsioon\n\\ dokumendi l\344htekood\nd faili/dokumendi allalaadimine" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Kopeerimis\365igused" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nT\365lge eesti keelde Kalev Lember\n\nSee programm on vaba tarkvara; te v\365ite seda levitada ja/v\365i muuta, j\344rgides dokumenti GNU General Public License, mille on avaldanud Free Software Foundation; kas versiooni 2 Litsensist, v\365i (teie valikul) suvalist hilisemat versiooni." },
+ {T_RESOURCES, "Ressursid" },
+ {T_CONNECTIONS, "\334hendused" },
+ {T_MEMORY_CACHE, "M\344lupuhver" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Fontide puhver" },
+ {T_IMAGE_CACHE, "Piltide puhver" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Vormindatud lehek\374lgede puhver" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, NULL },
+ {T_TIMERS, NULL },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "parajasti \374hendan" },
+ {T_tRANSFERRING, "kannan \374le" },
+ {T_KEEPALIVE, NULL },
+ {T_BYTES, "baiti" },
+ {T_LETTERS, "t\344hem\344rki" },
+ {T_FILES, "faili" },
+ {T_LOCKED, "lukustatud" },
+ {T_LOADING, "parajasti laen" },
+ {T_IMAGES, "pilti" },
+ {T_DOCUMENTS, "dokumenti" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "baiti m\344lust kasutatud" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Info kasutatud m\344lu kohta" },
+ {T_NO_HISTORY, "Ajalugu puudub" },
+ {T_NO_DOWNLOADS, "Pole allalaadimisi" },
+ {T_NO_FRAMES, "Pole paane" },
+ {T_VT_100_FRAMES, "VT 100 paanid" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux-i v\365i OS/2 paanid" },
+ {T_KOI8R_FRAMES, "KOI8-R paanid" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Kasuta ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "cp850/852 paanide \344ra keelamine" },
+ {T_BLOCK_CURSOR, "Plokk kursor" },
+ {T_COLOR, "V\344rviline" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Terminali seaded" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Otsese juurdep\344\344suga (ilma vahem\344luta) domeenid (eraldatud komadega)" },
+ {T_NETWORK_OPTIONS, "V\365rgu seaded" },
+ {T_MAX_CONNECTIONS, "Maksimaalselt \374hendusi" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Maksimaalselt \374hendusi \374hele hostile" },
+ {T_RETRIES, "Uusi katseid (0 - piiramatult)" },
+ {T_RECEIVE_TIMEOUT_SEC, "Vastuv\365tmise ooteaeg (sek)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, NULL },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "As\374nkroonne DNS otsing" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "M\344rgi allalaaditud failidele aeg" },
+ {T_CACHE_OPTIONS, "M\344lupuhvri seaded" },
+ {T_MEMORY_CACHE_SIZE__KB, "M\344lupuhvri suurus (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "Piltide puhvri suurus (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Valmisvormindatud lehek\374lgi" },
+ {T_AGGRESSIVE_CACHE, "Agressiivne puhverdamine" },
+ {T_HTML_OPTIONS, "HTML seaded" },
+ {T_DISPLAY_TABLES, "N\344ita tabeleid" },
+ {T_DISPLAY_FRAMES, "N\344ita paane" },
+ {T_DISPLAY_IMAGES, "N\344ita pilte" },
+ {T_DISPLAY_IMAGE_FILENAMES, "N\344ita piltide failinimesid" },
+ {T_DISPLAY_LINKS_TO_IMAGES, "N\344ita linke piltidele" },
+ {T_LINK_ORDER_BY_COLUMNS, "Linkide j\344rjekord veergudes" },
+ {T_NUMBERED_LINKS, "Lingid nummerdatuna" },
+ {T_AUTO_REFRESH, "Automaatne v\344rskendus" },
+ {T_TARGET_IN_NEW_WINDOW, "Luba linkidel avaneda uues aknas (target=\"_blank\")" },
+ {T_TEXT_MARGIN, "Teksti \344\344ris" },
+ {T_DEFAULT_CODEPAGE, "Vaikimisi koodilehek\374lg" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignoreeri serveri saadetud koodilehek\374lje infot" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Ava URL" },
+ {T_GO_BACK, "Tagasi" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Ajalugu" },
+ {T_RELOAD, "Lae uuesti" },
+ {T_NEW_WINDOW, "Uus aken" },
+ {T_SAVE_AS, "Salvesta" },
+ {T_SAVE_URL_AS, "Salvesta URL" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Salvesta vormindatud lehek\374lg" },
+ {T_COPY_URL_LOCATION, "Kopeeri URL asukoht" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Katkesta tausta\374hendused" },
+ {T_KILL_ALL_CONNECTIONS, "Katkesta k\365ik \374hendused" },
+ {T_FLUSH_ALL_CACHES, "T\374hjenda m\344lupuhver" },
+ {T_RESOURCE_INFO, "Info kasutatud ressurssidest" },
+ {T_OS_SHELL, "Ops\374steemi k\344surida" },
+ {T_EXIT, "V\344ljumine" },
+ {T_SEARCH, "Otsing" },
+ {T_SEARCH_BACK, "Tagurpidi otsing" },
+ {T_FIND_NEXT, "Leia j\344rgmine vaste" },
+ {T_FIND_PREVIOUS, "Leia eelmine vaste" },
+ {T_TOGGLE_HTML_PLAIN, "Vaata html l\344htekoodi" },
+ {T_DOCUMENT_INFO, "Lehek\374lje info" },
+ {T_FRAME_AT_FULL_SCREEN, "Paan t\344isekraanil" },
+ {T_SAVE_HTML_OPTIONS, "Salvesta HTML seaded" },
+ {T_CHARACTER_SET, "Kooditabel" },
+ {T_CACHE, "M\344lupuhver" },
+ {T_MAIL_AND_TELNEL, "Mail ja telnet" },
+ {T_MAIL_TELNET_AND_SHELL, "Mail, telnet ja shell" },
+ {T_ASSOCIATIONS, "Sidestused" },
+ {T_FILE_EXTENSIONS, "Faililaiendid" },
+ {T_SAVE_OPTIONS, "Salvesta seaded" },
+ {T_FILE, "Fail" },
+ {T_VIEW, "Vaade" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "Allalaadimised" },
+ {T_SETUP, "Seadistus" },
+ {T_HELP, "Abi" },
+ {T_ENTER_URL, "Sisesta URL" },
+ {T_SAVE_URL, "Salvesta URL" },
+ {T_DOWNLOAD, "Alla laadimine" },
+ {T_SAVE_TO_FILE, "Salvesta faili" },
+ {T_SEARCH_FOR_TEXT, "Tekstiotsing" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "J\344rjekorras ootamas" },
+ {T_LOOKING_UP_HOST, "Otsin hosti" },
+ {T_MAKING_CONNECTION, "Loon \374hendust" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, NULL },
+ {T_REQUEST_SENT, "P\344ring saadetud" },
+ {T_GETTING_HEADERS, "T\365mban p\344iseid" },
+ {T_LOGGING_IN, "Login sisse" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Server t\366\366tleb p\344ringut" },
+ {T_TRANSFERRING, "Kannan \374le" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Ootan edasisuunamise kinnitust" },
+ {T_INTERRUPTED, "Katkestatud" },
+ {T_SOCKET_EXCEPTION, "Socketi viga" },
+ {T_INTERNAL_ERROR, "Sisemine viga" },
+ {T_OUT_OF_MEMORY, "M\344lu otsas" },
+ {T_HOST_NOT_FOUND, "Ei leidnud hosti" },
+ {T_ERROR_WRITING_TO_SOCKET, "Viga socketisse kirjutamisel" },
+ {T_ERROR_READING_FROM_SOCKET, "Viga socketi lugemisel" },
+ {T_DATA_MODIFIED, "Andmed muudetud" },
+ {T_BAD_URL_SYNTAX, "Vigane URL s\374ntaks" },
+ {T_RECEIVE_TIMEOUT, "Vastuv\365tmise taimaut" },
+ {T_REQUEST_MUST_BE_RESTARTED, "P\344ring peab olema uuesti laaditud" },
+ {T_CANT_GET_SOCKET_STATE, "Ei saa k\344tte sokli staatust" },
+ {T_CYCLIC_REDIRECT, "Ringis edasisuunamine" },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Vigane HTTP vastus" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Sisu puudub" },
+ {T_UNKNOWN_FILE_TYPE, "Tundmatu failit\374\374p" },
+ {T_ERROR_OPENING_FILE, "Viga faili avamisel" },
+ {T_BAD_FTP_RESPONSE, "Vigane FTP vastus" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP teenus pole k\344tesaadav" },
+ {T_BAD_FTP_LOGIN, "Vigane FTP sisselogimine" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT k\344sk eba\365nnestus" },
+ {T_FILE_NOT_FOUND, "Ei leidnud faili" },
+ {T_FTP_FILE_ERROR, "FTP faili viga" },
+ {T_UNKNOWN_ERROR, "Tundmatu viga" },
+ {T_RECEIVED, "Vastu v\365etud" },
+ {T_OF, ", kokku on " },
+ {T_AVG, "keskm." },
+ {T_CUR, "hetkk." },
+ {T_AVERAGE_SPEED, "Keskmine kiirus" },
+ {T_SPEED, "Kiirus" },
+ {T_CURRENT_SPEED, "k\344esolev kiirus" },
+ {T_ELAPSED_TIME, "Kulunud aeg" },
+ {T_ESTIMATED_TIME, "hinnatud aeg" },
+ {T_BACKGROUND, "Taustale" },
+ {T_ABORT, "Katkestamine" },
+ {T_ABORT_AND_DELETE_FILE, "Katkestada ja kustutada fail" },
+ {T_YES, "Jah" },
+ {T_NO, "Ei" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Alla laadimise viga" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Ei suuda kirjutada faili" },
+ {T_ERROR_DOWNLOADING, "Viga alla laadimisel" },
+ {T_ERROR_LOADING, "Viga laadimisel" },
+ {T_COULD_NOT_CREATE_FILE, "Ei suuda luua faili" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Tundmatu t\374\374p" },
+ {T_CONTENT_TYPE_IS, "Sisu t\374\374p on" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Kas te soovite seda faili avada, salvestada v\365i n\344idata?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Kas te soovite seda faili avada v\365i n\344idata?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Kas te soovite seda faili salvestada v\365i n\344idata?" },
+ {T_SAVE, "Salvesta" },
+ {T_DISPLAY, "N\344ita" },
+ {T_WHAT_TO_DO, "Mida teha?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Kas tahate avada faili" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "salvestada seda v\365i n\344idata?" },
+ {T_OPEN, "Ava" },
+ {T_OPEN_WITH, "Ava programmiga" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Kas tahate j\344rgida \374mbersuunamist ja postitada ankeedi andmed URL-le" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Kas tahate postitada ankeedi sisu URL-le" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Kas tahate uuesti postitada ankeedi sinu URL-le" },
+ {T_WARNING, "Hoiatus" },
+ {T_ERROR, "Viga" },
+ {T_WELCOME, "Tere tulemast" },
+ {T_WELCOME_TO_LINKS, "Tere tulemast linksi!" },
+ {T_BASIC_HELP, "Vajutage ESC men\374\374 jaoks. Valige Abi->Kasutamisjuhend men\374\374s inglisekeelse kasutus\365petuse jaoks." },
+ {T_LABEL, "Pealdis" },
+ {T_CONTENT_TYPES, "Sisu t\374\374p (t\374\374bid)" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programm ('%' asendatakse faili nimega)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blokeeri terminal, kui programm jookseb" },
+ {T_RUN_ON_TERMINAL, "K\344ivita terminalil" },
+ {T_RUN_IN_XWINDOW, "K\344ivita X-i aknas" },
+ {T_ASK_BEFORE_OPENING, "K\374si kinnitust enne avamist" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Kustutada failide seos" },
+ {T_ASSOCIATION, "Failide seosed" },
+ {T_EXTENSION_S, "Laiend(id)" },
+ {T_CONTENT_TYPE, "Sisu t\374\374p" },
+ {T_DELETE_EXTENSION, "Kustutada laiend" },
+ {T_EXTENSION, "Laiend" },
+ {T_eXTENSION, "laiend" },
+ {T_ERROR_WHILE_POSTING_FORM, "Viga vormi saatmisel" },
+ {T_COULD_NOT_GET_FILE, "Ei suuda tuua faili" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Eelnev otsing puudub" },
+ {T_SEARCH_STRING_NOT_FOUND, "Otsitav s\365na puudub" },
+ {T_SAVE_ERROR, "Salvestamise viga" },
+ {T_ERROR_WRITING_TO_FILE, "Viga faili kirjutamisel" },
+ {T_DISPLAY_USEMAP, "N\344ita usemap'i" },
+ {T_FOLLOW_LINK, "J\344rgi linki" },
+ {T_OPEN_IN_NEW_WINDOW, "Ava uues aknas" },
+ {T_DOWNLOAD_LINK, "Lae link alla" },
+ {T_RESET_FORM, "Nulli vorm" },
+ {T_SUBMIT_FORM, "Esita vorm" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Esita vorm ja ava uues aknas" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Esita vorm ja laadi alla" },
+ {T_VIEW_IMAGE, "N\344ita pilti" },
+ {T_DOWNLOAD_IMAGE, "Laadi alla pilt" },
+ {T_NO_LINK_SELECTED, "Link pole valitud" },
+ {T_IMAGE, "Pilt" },
+ {T_USEMAP, NULL },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, NULL },
+ {T_SCREEN, "Ekraan" },
+ {T_WINDOW, "Aken" },
+ {T_FULL_SCREEN, "T\344isekraan" },
+ {T_BEOS_TERMINAL, "BeOS-i terminal" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Esita vorm" },
+ {T_POST_FORM_TO, "Postita vorm" },
+ {T_RADIO_BUTTON, "Raadionupp" },
+ {T_CHECKBOX, "M\344rkeruut" },
+ {T_SELECT_FIELD, "M\344rgista v\344li" },
+ {T_TEXT_FIELD, "Tekstiv\344li" },
+ {T_TEXT_AREA, "Teksti ala" },
+ {T_FILE_UPLOAD, "Faili \374les laadimine" },
+ {T_PASSWORD_FIELD, "Parooliv\344li" },
+ {T_BUTTON, "nupp" },
+ {T_NAME, "nimi" },
+ {T_VALUE, "v\344\344rtus" },
+ {T_HIT_ENTER_TO, "vajuta ENTER et" },
+ {T_SUBMIT_TO, "j\344rgi" },
+ {T_POST_TO, "postita" },
+ {T_INFO, "Info" },
+ {T_HEADER_INFO, "P\344ise info" },
+ {T_YOU_ARE_NOWHERE, "Sa ei ole kuskil!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Suurus" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "pooleli" },
+ {T_CODEPAGE, "Kooditabel" },
+ {T_ASSUMED, "eeldatud" },
+ {T_IGNORING_SERVER_SETTING, "ignoreeri serveri eelistused" },
+ {T_SERVER, "Server" },
+ {T_DATE, "Kuup\344ev" },
+ {T_LAST_MODIFIED, "Viimati muudetud" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Keel" },
+ {T_GO_TO_LINK, "Mine lingile" },
+ {T_ENTER_LINK_NUMBER, "Sisesta lingi number" },
+ {T_RESIZE_TERMINAL, "Muuda terminali suurus" },
+ {T_COLUMNS, "Veerus" },
+ {T_ROWS, "Read" },
+ {T_GOTO, "Mine" },
+ {T_CLOSE, "Sulge" },
+ {T_FOLDER, "Kaust" },
+ {T_fOLDER, "kaust" },
+ {T_ADD, "Lisa" },
+ {T_DELETE, "Kustuta" },
+ {T_EDIT, "Muuda" },
+ {T_MOVE, "Liiguta" },
+ {T_NO_ITEMS_SELECTED, "Midagi pole valitud" },
+ {T_UNSELECT_ALL, "T\374hista k\365ik valikud" },
+ {T_BOOKMARKS, "J\344rjehoidjad" },
+ {T_BOOKMARK, "J\344rjehoidja" },
+ {T_ADD_BOOKMARK, "Lisa j\344rjehoidja" },
+ {T_ADD_ASSOCIATION, "Sidestuse lisamine" },
+ {T_ADD_EXTENSION, "Faililaiendi lisamine" },
+ {T_ADD_FOLDER, "Kausta lisamine" },
+ {T_BOOKMARK_TITLE, "J\344rjehoidja pealkiri" },
+ {T_EDIT_BOOKMARK, "Muuda j\344rjehoidjat" },
+ {T_EDIT_ASSOCIATION, "Sidestuse muutmine" },
+ {T_EDIT_EXTENSION, "Faililaiendi muutmine" },
+ {T_DELETE_BOOKMARK, "Kustuta j\344rjehoidja" },
+ {T_EDIT_FOLDER, "Kausta muutmine" },
+ {T_DELETE_FOLDER, "Kausta kustutamine" },
+ {T_NOT_EMPTY_SURE_DELETE, "pole t\374hi. Kas te kindlasti soovite seda kustutada?" },
+ {T_BOOKMARK_MANAGER, "J\344rjehoidjate haldur" },
+ {T_ASSOCIATIONS_MANAGER, "Sidestuste haldur" },
+ {T_EXTENSIONS_MANAGER, "Faililaiendite haldur" },
+ {T_url, "url" },
+ {T_NNAME, "Nimi" },
+ {T_EXIT_LINKS, "Linksist v\344ljumine" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Kas te t\365esti tahate v\344ljuda Linksist?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Kas te t\365esti tahate v\344ljuda Linksist?" },
+ {T_HTTP_OPTIONS, "HTTP h\344\344lestus" },
+ {T_FTP_OPTIONS, "FTP h\344\344lestus" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP vigadest m\366\366daminek" },
+ {T_USE_HTTP_10, "Kasuta HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Luba vigaste serverite musta nimekirja" },
+ {T_BROKEN_302_REDIRECT, "Vigane \374mbersuunamine 302 (l\344heb vastuollu RFC-ga, kuid on \374hilduv Netscape-ga)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "\304ra hoia \374hendust \374leval peale POST p\344ringut (vajalik m\365nede vigaste PHP rakenduste jaoks)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, "\304ra saada Accept-Charset" },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "Ilma viitajata" },
+ {T_REFERER_SAME_URL, "Saada tellitud URL viitajana" },
+ {T_REFERER_FAKE, "Kindlaksm\344\344ratud viitaja" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "Saada \365ige viitaja (normaalne tegutsemisviis, EBATURVALINE!!!)" },
+ {T_FAKE_REFERER, "Kindlaksm\344\344ratud HTTP viitaja" },
+ {T_FAKE_USERAGENT, "V\365ltsitud User-Agent" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Parool anon\374\374msele sisselogimisele" },
+ {T_USE_PASSIVE_FTP, "Kasuta passiivset FTP-d" },
+ {T_USE_FAST_FTP, "Kasuta kiiret (kuid RFC-ga mitte \374hilduvat) FTP-d" },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Kasutamisjuhend" },
+ {T_HOMEPAGE, "Kodulehek\374lg" },
+ {T_CALIBRATION, "Kalibreerimine" },
+ {T_MAILTO_PROG, "Mailiprogramm (% asendatakse aadressiga)" },
+ {T_SHELL_PROG, "Shell v\344liste programmide k\344ivitamiseks (% asendatakse k\344suga)" },
+ {T_TELNET_PROG, "Telneti programm (% asendatakse \"host\" v\365i \"host port\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Tn3270 programm (% asendatakse \"host\" v\365i \"host port\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Maili ja telneti programmid" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Maili, telneti ja shelli programmid" },
+ {T_NO_PROGRAM, "Pole programmi" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Pole programmi m\344rgitud" },
+ {T_MAIL, NULL },
+ {T_TELNET, NULL },
+ {T_MAGNET, NULL },
+ {T_TN3270, NULL },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "Vigane mailto url" },
+ {T_BAD_TELNET_URL, "Vigane telnet url" },
+ {T_BAD_TN3270_URL, "Vigane tn3270 url" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, "Vajalik autoriseerimine" },
+ {T_PROXY_AUTHORIZATION_REQUIRED, "Vajalik proxy autoriseerimine" },
+ {T_USERID, "Kasutaja ID" },
+ {T_PASSWORD, "Parool" },
+ {T_ENTER_USERNAME, "Sisesta kasutajanimi " },
+ {T_AT, "kiirusel " },
+ {T_SSL_ERROR, "SSL viga" },
+ {T_NO_SSL, "See Linksi versioon ei sisalda SSL/TLS toetust" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "Kas te kindlasti soovite kustutada?" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "J\344rjehoidjad on juba kasutuses!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Sidestused on juba kasutuses!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "Faililaiendid on juba kasutuses" },
+ {T_VIDEO_OPTIONS, "Video seaded" },
+ {T_VIDEO_OPTIONS_TEXT, "Soovitatavad kasutaja gamma parameetrid:\n 1.33 pimedas ruumis, 1.11 v\344ga h\344maras ruumis, 1 tavalises arvutit\366\366koha valgustuses, 0.88 heledas keskkonnas." },
+ {T_RED_DISPLAY_GAMMA, "Punase n\344itamise gamma" },
+ {T_GREEN_DISPLAY_GAMMA, "Rohelise n\344itamise gamma" },
+ {T_BLUE_DISPLAY_GAMMA, "Sinise n\344itamise gamma" },
+ {T_USER_GAMMA, "Kasutaja gamma" },
+ {T_ALERT, "Hoiatus" },
+ {T_QUESTION, "K\374simus" },
+ {T_KILL_SCRIPT, "Peata skript" },
+ {T_KILL_ALL_SCRIPTS, "Peata k\365ik skriptid" },
+ {T_SCRIPT_KILLED_BY_USER, "Javascript peatatud kasutaja poolt" },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript \374ritab sulgeda brauseri akent. Kas te t\365esti soovite akent sulgeda?" },
+ {T_ENTER_STRING, "Sisesta string" },
+ {T_JAVASCRIPT_OPTIONS, "Javascripti seaded" },
+ {T_ENABLE_JAVASCRIPT, "Luba javascript" },
+ {T_VERBOSE_JS_ERRORS, "Paljus\365nalised javascript-i veateated" },
+ {T_VERBOSE_JS_WARNINGS, "Paljus\365nalised javascript-i hoiatused" },
+ {T_MISCELANEOUS_OPTIONS, "Muud seaded" },
+ {T_JAVASCRIPT_ERROR, "Javascripti viga" },
+ {T_JAVASCRIPT_WARNING, "Javascripti hoiatus" },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, "Men\374\374 fondi suurus" },
+ {T_USER_FONT_SIZE, "Kasutaja fondi suurus" },
+ {T_TURN_OFF_WARNINGS, "L\374lita v\344lja hoiatused" },
+ {T_BOOKMARKS_ENCODING, "J\344rjehoidjate kodeering" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript \374ritab minna URL-le" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript \374ritab avada uut akent URL-ga" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript \374ritab ajalukku minna" },
+ {T_TO_URL, "URL-le" },
+ {T_GOTO_HISTORY, "Mine ajalukku" },
+ {T_ALLOW, "Luba" },
+ {T_REJECT, "Keela \344ra" },
+ {T_ENABLE_ALL_CONVERSIONS, "Luba k\365ik konvertimised" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Luba globaalset nimede lahendamist" },
+ {T_MANUAL_JS_CONTROL, "K\344sitsi javascripti operatsioonide kinnitamine" },
+ {T_JS_RECURSION_DEPTH, "Rekursiooni s\374gavus" },
+ {T_MENU_BACKGROUND_COLOR, "Tagatausta v\344rv" },
+ {T_MENU_FOREGROUND_COLOR, "Esiplaani v\344rv" },
+ {T_SCROLL_BAR_BAR_COLOR, "Kerimisriba riba v\344rv" },
+ {T_SCROLL_BAR_AREA_COLOR, "Kerimisriba ala v\344rv" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Kerimisriba freimi v\344rv" },
+ {T_BOOKMARKS_FILE, "J\344rjehoidjate fail" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Sisesta v\344rve sRGB kuueteistk\374mnends\374steemi RRGGBB kolmikutena." },
+ {T_JS_MEMORY_LIMIT_KB, "Javascriptile eraldatud m\344lu (KiB)" },
+ {T_DITHER_LETTERS, "Tihenda kirja" },
+ {T_DITHER_IMAGES, "Tihenda pilte" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "Muuda piltide suurust (%)" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, "Ekraani optimeerimine CRT jaoks" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "Ekraani optimeerimine LCD (RGB) jaoks" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "Ekraani optimeerimine LCD (BGR) jaoks" },
+ {T_ASPECT_RATIO, "Suhtearv" },
+ {T_ASPECT_CORRECTION_ON, "Suhte korrektsioon sissel\374litatud" },
+ {T_KEYBOARD_CODEPAGE, "Klaviatuuri kooditabel" },
+ {T_COPY_LINK_LOCATION, "Kopeeri lingi asukoht" },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "A" },
+ {T_HK_GO_BACK, "T" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "G" },
+ {T_HK_RELOAD, "L" },
+ {T_HK_BOOKMARKS, "J" },
+ {T_HK_NEW_WINDOW, NULL },
+ {T_HK_SAVE_AS, "S" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "V" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, NULL },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "R" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, NULL },
+ {T_HK_RESIZE_TERMINAL, NULL },
+ {T_HK_EXIT, "E" },
+ {T_HK_SEARCH, "O" },
+ {T_HK_SEARCH_BACK, "T" },
+ {T_HK_FIND_NEXT, "J" },
+ {T_HK_FIND_PREVIOUS, "E" },
+ {T_HK_TOGGLE_HTML_PLAIN, "V" },
+ {T_HK_DOCUMENT_INFO, "L" },
+ {T_HK_HEADER_INFO, "P" },
+ {T_HK_FRAME_AT_FULL_SCREEN, "A" },
+ {T_HK_HTML_OPTIONS, "H" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "S" },
+ {T_HK_LANGUAGE, "K" },
+ {T_HK_CHARACTER_SET, "O" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "V" },
+ {T_HK_JAVASCRIPT_OPTIONS, "J" },
+ {T_HK_MISCELANEOUS_OPTIONS, "D" },
+ {T_HK_CACHE, "R" },
+ {T_HK_MAIL_AND_TELNEL, NULL },
+ {T_HK_ASSOCIATIONS, "I" },
+ {T_HK_FILE_EXTENSIONS, "F" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "P" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "E" },
+ {T_HK_MANUAL, "A" },
+ {T_HK_HOMEPAGE, "O" },
+ {T_HK_CALIBRATION, "L" },
+ {T_HK_FILE, NULL },
+ {T_HK_VIEW, NULL },
+ {T_HK_LINK, NULL },
+ {T_HK_DOWNLOADS, NULL },
+ {T_HK_SETUP, NULL },
+ {T_HK_HELP, NULL },
+ {T_HK_DISPLAY_USEMAP, NULL },
+ {T_HK_FOLLOW_LINK, "J" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "A" },
+ {T_HK_DOWNLOAD_LINK, "L" },
+ {T_HK_RESET_FORM, NULL },
+ {T_HK_SUBMIT_FORM, NULL },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, NULL },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, NULL },
+ {T_HK_VIEW_IMAGE, NULL },
+ {T_HK_DOWNLOAD_IMAGE, NULL },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, NULL },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, NULL },
+ {T_HK_WINDOW, NULL },
+ {T_HK_FULL_SCREEN, NULL },
+ {T_HK_BEOS_TERMINAL, NULL },
+ { 0, NULL }
+};
+
+static struct translation translation_finnish [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-1" },
+ {T__LANGUAGE, "Finnish" },
+ {T__ACCEPT_LANGUAGE, "fi" },
+ {T_OK, "OK" },
+ {T_CANCEL, "Keskeyt\344" },
+ {T_BAD_NUMBER, "Ei numero" },
+ {T_NUMBER_EXPECTED, "Kent\344ss\344 on oltava numero" },
+ {T_NUMBER_OUT_OF_RANGE, "Numero yli lukualueen" },
+ {T_BAD_STRING, "Laiton merkkijono" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Tyhj\344 merkkijono ei sallittu" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Asetuksissa virhe" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Asetustiedoston kirjoitus ei onnistu" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Ohjelmasta" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW-selain" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "N\344pp\344imet" },
+ {T_KEYS_DESC, "ESC n\344yt\344 valikko\n^C, q lopetus\n^P, ^N rivi yl\366s, alas\n[, ] vasemmalle, oikealle\nnuoli yl\366s, alas valitse linkki\n-> seuraa linkk\344\n<- palaa takaisin\ng valitse url\nG valitse url nykyisen sivun pohjalta\n/ etsi\n? etsi takaisinp\344in\nn etsi seuraava\nN etsi edellinen\n= tietoja sivusta\n| tietoja otsikosta\n\\ l\344hdetiedosto\nd imuroi" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Copyright" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nThis 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." },
+ {T_RESOURCES, "L\344hteet" },
+ {T_CONNECTIONS, "Yhteydet" },
+ {T_MEMORY_CACHE, "V\344limuisti" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Merkkiv\344limuisti" },
+ {T_IMAGE_CACHE, "Kuvav\344limuisti" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Muotoiltu dokumentin v\344limuisti" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "kahvat" },
+ {T_TIMERS, "ajastimet" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "yhdist\344\344" },
+ {T_tRANSFERRING, "siirt\344\344" },
+ {T_KEEPALIVE, "keepalive" },
+ {T_BYTES, "tavua" },
+ {T_LETTERS, "merkki\344" },
+ {T_FILES, "tiedostoa" },
+ {T_LOCKED, "lukittu" },
+ {T_LOADING, "lataa" },
+ {T_IMAGES, "kuvaa" },
+ {T_DOCUMENTS, "documentit" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "tavua muistia varattu" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Tietoa muistista" },
+ {T_NO_HISTORY, "Ei historiaa" },
+ {T_NO_DOWNLOADS, "Ei latauksia" },
+ {T_NO_FRAMES, "Ei kehyksi\344" },
+ {T_VT_100_FRAMES, "VT 100 kehykset" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux tai OS/2 kehykset" },
+ {T_KOI8R_FRAMES, "KOI8-R kehykset" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "K\344yt\344 ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Rajoita kehykset n\344ihin: cp850/852" },
+ {T_BLOCK_CURSOR, "Neli\366osoitin" },
+ {T_COLOR, "V\344ri" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Terminaaliasetukset" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP proxy (osoite:portti)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP proxy (osoite:portti)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Suora yhteys (ei proxya) n\344ihin osoitteisiin (pilkulla erotettuna)" },
+ {T_NETWORK_OPTIONS, "Verkkoasetukset" },
+ {T_MAX_CONNECTIONS, "Yhteyksien maksimilkm" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Yhteyksien maksimilkm yhteen kohteeseen" },
+ {T_RETRIES, "Uudelleenyrityksi\344" },
+ {T_RECEIVE_TIMEOUT_SEC, "Vastaanoton aikaylitys (sec)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Ajanylitys kun ei-k\344ynnistett\344viss\344" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Ei-synkroninen DNS-haku" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Aseta ladattujen tiedostojen aika" },
+ {T_CACHE_OPTIONS, "V\344limuistiasetukset" },
+ {T_MEMORY_CACHE_SIZE__KB, "V\344limuistin koko (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "Kuvav\344limuistin koko (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Muotoiltujen dokumenttien lukum\344\344r\344" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "Html-asetukset" },
+ {T_DISPLAY_TABLES, "N\344yt\344 taulukot" },
+ {T_DISPLAY_FRAMES, "N\344yt\344 kehykset" },
+ {T_DISPLAY_IMAGES, "N\344yt\344 kuvat" },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "N\344yt\344 linkit kuvissa" },
+ {T_LINK_ORDER_BY_COLUMNS, "Liiku pystysuunnassa linkeiss\344" },
+ {T_NUMBERED_LINKS, "Linkit numeroidaan" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Tekstimarginaali" },
+ {T_DEFAULT_CODEPAGE, "Oletusmerkist\366" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Hylk\344\344 palvelimen merkist\366tieto" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Valitse URL" },
+ {T_GO_BACK, "Siirry takaisin" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Historia" },
+ {T_RELOAD, "Lataa uudelleen" },
+ {T_NEW_WINDOW, "Uusi ikkuna" },
+ {T_SAVE_AS, "Tallenna nimell\344" },
+ {T_SAVE_URL_AS, "Tallenna URL nimell\344" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Tallenna muotoiltu dokumentti" },
+ {T_COPY_URL_LOCATION, "Kopioi nykyinen URL" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Poista taustayhteydet" },
+ {T_KILL_ALL_CONNECTIONS, "Poista kaikki kytkenn\344t" },
+ {T_FLUSH_ALL_CACHES, "Tyhjenn\344 v\344limuisti" },
+ {T_RESOURCE_INFO, "L\344hdetiedot" },
+ {T_OS_SHELL, "K\344ytt\366j\344rjestelm\344" },
+ {T_EXIT, "Poistu" },
+ {T_SEARCH, "Etsi" },
+ {T_SEARCH_BACK, "Etsi takaisinp\344in" },
+ {T_FIND_NEXT, "Etsi seuraava" },
+ {T_FIND_PREVIOUS, "Etsi eteenp\344in" },
+ {T_TOGGLE_HTML_PLAIN, "Valitse HTML/tavallinen" },
+ {T_DOCUMENT_INFO, "Dokumentin tiedot" },
+ {T_FRAME_AT_FULL_SCREEN, "Kehys koko n\344yt\366ll\344" },
+ {T_SAVE_HTML_OPTIONS, "Tallenna HTML-asetukset" },
+ {T_CHARACTER_SET, "Merkist\366" },
+ {T_CACHE, "V\344limuisti" },
+ {T_MAIL_AND_TELNEL, "S\344hk\366posti ja telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "kytkenn\344t" },
+ {T_FILE_EXTENSIONS, "Tiedostop\344\344tteet" },
+ {T_SAVE_OPTIONS, "Tallenna asetukset" },
+ {T_FILE, "Tiedosto" },
+ {T_VIEW, "N\344yt\344" },
+ {T_LINK, "Linkki" },
+ {T_DOWNLOADS, "Lataukset" },
+ {T_SETUP, "Asetukset" },
+ {T_HELP, "Ohje" },
+ {T_ENTER_URL, "Kirjoita URL" },
+ {T_SAVE_URL, "Tallenna URL" },
+ {T_DOWNLOAD, "Lataa" },
+ {T_SAVE_TO_FILE, "Tallenna tiedostoon" },
+ {T_SEARCH_FOR_TEXT, "Etsi teksti\344" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "Odottaa jonossa" },
+ {T_LOOKING_UP_HOST, "Etsii osoitetta" },
+ {T_MAKING_CONNECTION, "Yhdist\344\344" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "SSL-k\344ttely" },
+ {T_REQUEST_SENT, "Pyynt\366 l\344hetetty" },
+ {T_GETTING_HEADERS, "Hakee otsikkoja" },
+ {T_LOGGING_IN, "Loggaa sis\344\344n" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Palvelin k\344sittelee pyynt\366\344" },
+ {T_TRANSFERRING, "Siirt\344\344" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Odottaa varmistusta uudelleenosoitukselle" },
+ {T_INTERRUPTED, "Keskeytetty" },
+ {T_SOCKET_EXCEPTION, "T\366pselivirhe" },
+ {T_INTERNAL_ERROR, "Sis\344inen virhe" },
+ {T_OUT_OF_MEMORY, "Muisti loppu" },
+ {T_HOST_NOT_FOUND, "Osoite tuntematon" },
+ {T_ERROR_WRITING_TO_SOCKET, "T\366pseliin kirjoitus ei onnistu" },
+ {T_ERROR_READING_FROM_SOCKET, "T\366pselin lukeminen ei onnistu" },
+ {T_DATA_MODIFIED, "Tieto muunnettu" },
+ {T_BAD_URL_SYNTAX, "V\344\344r\344 URL-syntaksi" },
+ {T_RECEIVE_TIMEOUT, "Vastaanoton ajanylitys" },
+ {T_REQUEST_MUST_BE_RESTARTED, "Pyynt\366 l\344hetett\344v\344 uudelleen" },
+ {T_CANT_GET_SOCKET_STATE, "T\366pselin tilaa ei saada" },
+ {T_CYCLIC_REDIRECT, "Jaksollinen uudelleenosoitus" },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Laiton HTTP-vastaus" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Ei sis\344lt\366\344" },
+ {T_UNKNOWN_FILE_TYPE, "Tuntematon tiedostotyyppi" },
+ {T_ERROR_OPENING_FILE, "Tiedoston avaus ei onnistu" },
+ {T_BAD_FTP_RESPONSE, "Laiton FTP-vastaus" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP-palvelin ei vastaa" },
+ {T_BAD_FTP_LOGIN, "FTP-sis\344\344nkirjoitus ei onnistunut" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT-komento ep\344onnistui" },
+ {T_FILE_NOT_FOUND, "Tiedostoa ei l\366ydy" },
+ {T_FTP_FILE_ERROR, "FTP tiedostovirhe" },
+ {T_UNKNOWN_ERROR, "Tuntematon virhe" },
+ {T_RECEIVED, "Vastaanotettu" },
+ {T_OF, "/" },
+ {T_AVG, "km" },
+ {T_CUR, "nyk" },
+ {T_AVERAGE_SPEED, "Keskinopeus" },
+ {T_SPEED, "Nopeus" },
+ {T_CURRENT_SPEED, "nopeus nyt" },
+ {T_ELAPSED_TIME, "Kulutettu aika" },
+ {T_ESTIMATED_TIME, "laskettu aika" },
+ {T_BACKGROUND, "Taustalla" },
+ {T_ABORT, "Keskeyt\344" },
+ {T_ABORT_AND_DELETE_FILE, "Keskeyt\344 ja poista tiedosto" },
+ {T_YES, "Kyll\344" },
+ {T_NO, "Ei" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Vastaanottovirhe" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Tiedostoon kirjoitus ep\344onnistui" },
+ {T_ERROR_DOWNLOADING, "Virhe imuroitaessa" },
+ {T_ERROR_LOADING, "Virhe ladattaessa" },
+ {T_COULD_NOT_CREATE_FILE, "Tiedoston luonti ep\344onnistui" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Tuntematon tyyppi" },
+ {T_CONTENT_TYPE_IS, "Sis\344ll\366n tyyppi on" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Haluatko avata, tallettaa vai katsoa t\344m\344n tiedoston?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Haluatko avata vai katsoa t\344m\344n tiedoston?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Haluatko tallettaa vai katsoa t\344m\344n tiedoston?" },
+ {T_SAVE, "Tallenna" },
+ {T_DISPLAY, "N\344yt\344" },
+ {T_WHAT_TO_DO, "Mit\344 tehd\344?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Haluatko avata tiedoston t\344ll\344:" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "tallentaa vai katsoa sen?" },
+ {T_OPEN, "Avaa" },
+ {T_OPEN_WITH, "Avaa ohjelmalla" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Haluatko seurata uudelleenosoitusta ja l\344hett\344\344 datan osoitteeseen" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Haluatko l\344hett\344\344 datan osoitteeseen" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Haluatko uudelleenl\344hett\344\344 datan osoitteeseen" },
+ {T_WARNING, "Varoitus" },
+ {T_ERROR, "Virhe" },
+ {T_WELCOME, "Tervetuloa" },
+ {T_WELCOME_TO_LINKS, "Tervetuloa linksiin!" },
+ {T_BASIC_HELP, "Paina ESC niin saat ohjeen. Valitse Ohje->Ohjekirja valikosta niin saat k\344ytt\366ohjeet." },
+ {T_LABEL, "Nimilappu" },
+ {T_CONTENT_TYPES, "Sis\344lt\366tyypit" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Ohjelma ('%' on vaihdettu tiedostoon)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Lukitse terminaali kun ohjelma on ajossa" },
+ {T_RUN_ON_TERMINAL, "Aja terminaalilla" },
+ {T_RUN_IN_XWINDOW, "Aja X-ikkunassa" },
+ {T_ASK_BEFORE_OPENING, "Kysy ennen avausta" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Poista kytkent\344" },
+ {T_ASSOCIATION, "Kytkent\344" },
+ {T_EXTENSION_S, "Tiedostop\344\344tteet" },
+ {T_CONTENT_TYPE, "Sis\344lt\366tyyppi" },
+ {T_DELETE_EXTENSION, "Poista tiedostop\344\344te" },
+ {T_EXTENSION, "Tiedostop\344\344te" },
+ {T_eXTENSION, "tiedostop\344\344te" },
+ {T_ERROR_WHILE_POSTING_FORM, "Virhe kaavaketta l\344hetett\344ess\344" },
+ {T_COULD_NOT_GET_FILE, "Tiedoston haku ep\344onnistui" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Ei aikaisempaa hakua" },
+ {T_SEARCH_STRING_NOT_FOUND, "Hakumerkkijonoa ei l\366ytynyt" },
+ {T_SAVE_ERROR, "Talletusvirhe" },
+ {T_ERROR_WRITING_TO_FILE, "Virhe tiedostoon kirjoittaessa" },
+ {T_DISPLAY_USEMAP, "N\344yt\344 kartta" },
+ {T_FOLLOW_LINK, "Seuraa linkki\344" },
+ {T_OPEN_IN_NEW_WINDOW, "Avaa uuteen ikkunaan" },
+ {T_DOWNLOAD_LINK, "Lataa linkki" },
+ {T_RESET_FORM, "Tyhjenn\344 kaavake" },
+ {T_SUBMIT_FORM, "L\344het\344 kaavake" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "L\344het\344 kaavake ja avaa uudessa ikkunassa" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "L\344het\344 kaavake ja lataa" },
+ {T_VIEW_IMAGE, "N\344yt\344 kuva" },
+ {T_DOWNLOAD_IMAGE, "Lataa kuva" },
+ {T_NO_LINK_SELECTED, "Ei linkki\344" },
+ {T_IMAGE, "Kuva" },
+ {T_USEMAP, "Kartta" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "N\344ytt\366" },
+ {T_WINDOW, "Ikkuna" },
+ {T_FULL_SCREEN, "Koko n\344ytt\366" },
+ {T_BEOS_TERMINAL, "BeOS-terminaali" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Hyv\344ksy kaavake:" },
+ {T_POST_FORM_TO, "L\344het\344 kaavake:" },
+ {T_RADIO_BUTTON, "Radion\344pp\344in" },
+ {T_CHECKBOX, "Valintalaatikko" },
+ {T_SELECT_FIELD, "Valitse kentt\344" },
+ {T_TEXT_FIELD, "Tekstikentt\344" },
+ {T_TEXT_AREA, "Tekstialue" },
+ {T_FILE_UPLOAD, "Tiedoston l\344hetys" },
+ {T_PASSWORD_FIELD, "Salasanakentt\344" },
+ {T_BUTTON, "N\344pp\344in" },
+ {T_NAME, "nimi" },
+ {T_VALUE, "arvo" },
+ {T_HIT_ENTER_TO, "paina rivinvaihtoa" },
+ {T_SUBMIT_TO, "hyv\344ksy" },
+ {T_POST_TO, "l\344het\344" },
+ {T_INFO, "Tieto" },
+ {T_HEADER_INFO, "Otsikkotieto" },
+ {T_YOU_ARE_NOWHERE, "Et ole miss\344\344n!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Koko" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "ep\344t\344ydellinen" },
+ {T_CODEPAGE, "Merkist\366" },
+ {T_ASSUMED, "oletettu" },
+ {T_IGNORING_SERVER_SETTING, "hylk\344\344 palvelinasetukset" },
+ {T_SERVER, "Palvelin" },
+ {T_DATE, "P\344iv\344ys" },
+ {T_LAST_MODIFIED, "Viimeksi muokattu" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Kieli" },
+ {T_GO_TO_LINK, "Valitse linkki" },
+ {T_ENTER_LINK_NUMBER, "Valitse linkkinumero" },
+ {T_RESIZE_TERMINAL, "Aseta terminaalin koko" },
+ {T_COLUMNS, "Saraketta" },
+ {T_ROWS, "Rivi\344" },
+ {T_GOTO, "Mene" },
+ {T_CLOSE, "Sulje" },
+ {T_FOLDER, "Kansio" },
+ {T_fOLDER, "kansio" },
+ {T_ADD, "Lis\344\344" },
+ {T_DELETE, "Poista" },
+ {T_EDIT, "Muokkaa" },
+ {T_MOVE, "Siirr\344" },
+ {T_NO_ITEMS_SELECTED, "Ei valintoja. Ei siirrett\344v\344\344." },
+ {T_UNSELECT_ALL, "Poista kaikki valinnat" },
+ {T_BOOKMARKS, "Kirjanmerkit" },
+ {T_BOOKMARK, "Kirjanmerkki" },
+ {T_ADD_BOOKMARK, "Lis\344\344 kirjanmerkki" },
+ {T_ADD_ASSOCIATION, "Lis\344\344 kytkent\344" },
+ {T_ADD_EXTENSION, "Lis\344\344 tiedostop\344\344te" },
+ {T_ADD_FOLDER, "Lis\344\344 kansio" },
+ {T_BOOKMARK_TITLE, "Kirjanmerkin otsikko" },
+ {T_EDIT_BOOKMARK, "Muokkaa kirjanmerkki\344" },
+ {T_EDIT_ASSOCIATION, "Muokkaa kytkent\344\344" },
+ {T_EDIT_EXTENSION, "Muokkaa tiedostop\344\344tett\344" },
+ {T_DELETE_BOOKMARK, "Poista kirjanmerkki" },
+ {T_EDIT_FOLDER, "Muokkaa kansiota" },
+ {T_DELETE_FOLDER, "Poista kansio" },
+ {T_NOT_EMPTY_SURE_DELETE, "ei ole tyhj\344. Haluatko silti poistaa sen?" },
+ {T_BOOKMARK_MANAGER, "Kirjanmerkkimuokkain" },
+ {T_ASSOCIATIONS_MANAGER, "Kytkent\344muokkain" },
+ {T_EXTENSIONS_MANAGER, "Tiedostop\344\344temuokkain" },
+ {T_url, "url" },
+ {T_NNAME, "Nimi" },
+ {T_EXIT_LINKS, "Poistu Linksist\344" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Haluatko poistua Linksist\344?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Haluatko poistua Linksist\344 (ja keskeytt\344\344 kaikki lataukset)?" },
+ {T_HTTP_OPTIONS, "HTTP-asetukset" },
+ {T_FTP_OPTIONS, "FTP-asetukset" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP virheohitukset" },
+ {T_USE_HTTP_10, "K\344yt\344 HTTP/1.0-protokollaa" },
+ {T_ALLOW_SERVER_BLACKLIST, "K\344yt\344 palvelinten mustia listoja" },
+ {T_BROKEN_302_REDIRECT, "Rikkin\344inen uudelleenosoitus 302 (Rikkoo RFC:n mutta on yhteensopiva Netscapen kanssa)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Ei yhteyden yll\344pitoa POSTin j\344lkeen (jotkut vialliset PHP-tietokannat vaativat sit\344)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "Ei viitett\344" },
+ {T_REFERER_SAME_URL, "L\344het\344 pyydetty URL viitteen\344" },
+ {T_REFERER_FAKE, "Tekaistu viite" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "L\344het\344 oikea viite (normaali k\344yt\344nt\366, turvaton!)" },
+ {T_FAKE_REFERER, "Tekaistu HTTP viite" },
+ {T_FAKE_USERAGENT, "Tekaistu selain" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Salasana anonyymipalvelimille" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "K\344ytt\366ohjekirja" },
+ {T_HOMEPAGE, "Kotisivu" },
+ {T_CALIBRATION, "Kalibrointi" },
+ {T_MAILTO_PROG, "S\344hk\366postiohjelma (% korvataan osoitteella)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Telnet-ohjelma (% korvataan \"osoitteella\" tai \"portilla\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Tn3270-ohjelma (% korvataan \"osoitteella\" tai \"portilla\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "S\344hk\366posti- tai telnetohjelmat" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Ei ohjelmaa" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Ei ohjelmaa osoitettu" },
+ {T_MAIL, "s\344hk\366posti" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "Laiton s\344hk\366posti-URL" },
+ {T_BAD_TELNET_URL, "Laiton telnet-URL" },
+ {T_BAD_TN3270_URL, "Laiton tn3270-URL" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "K\344ytt\344j\344n ID" },
+ {T_PASSWORD, "Salasana" },
+ {T_ENTER_USERNAME, "Kirjoita k\344tt\344j\344nimi" },
+ {T_AT, "-> " },
+ {T_SSL_ERROR, "SSL-virhe" },
+ {T_NO_SSL, "T\344m\344 Linksin versio ei tue SSL/TLS:\344\344" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "Oletko varma ett\344 poistetaan" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "Kirjanmerkit ovat jo k\344yt\366ss\344!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Kytkenn\344t ovat jo k\344yt\366ss\344!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "Tiedostop\344\344tteet ovat jo k\344yt\366ss\344!" },
+ {T_VIDEO_OPTIONS, "Videoasetukset" },
+ {T_VIDEO_OPTIONS_TEXT, "Suositeltavat gamma-asetukset:\n 1.33 pime\344lle huoneelle, 1.11 hyvin h\344m\344r\344lle huoneelle, 1 normaalissa valaistuksessa ja 0.88 kirkkaassa valaistuksessa." },
+ {T_RED_DISPLAY_GAMMA, "Punainen gamma" },
+ {T_GREEN_DISPLAY_GAMMA, "Vihre\344 gamma" },
+ {T_BLUE_DISPLAY_GAMMA, "Sininen gamma" },
+ {T_USER_GAMMA, "K\344ytt\344j\344n gamma" },
+ {T_ALERT, "H\344lytys" },
+ {T_QUESTION, "Kysymys" },
+ {T_KILL_SCRIPT, "Poista skripti" },
+ {T_KILL_ALL_SCRIPTS, "Poista kaikki skriptit" },
+ {T_SCRIPT_KILLED_BY_USER, "JavaScript on k\344ytt\344j\344n poistama." },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "JavaScript yritt\344\344 sulkea selainikkunan. Haluatko sulkea sen?" },
+ {T_ENTER_STRING, "Sy\366t\344 merkkijono" },
+ {T_JAVASCRIPT_OPTIONS, "JavaScript-asetukset" },
+ {T_ENABLE_JAVASCRIPT, "Ota JavaScript k\344ytt\366\366n" },
+ {T_VERBOSE_JS_ERRORS, "Monisanaiset JavaScript-virheet" },
+ {T_VERBOSE_JS_WARNINGS, "Monisanaiset JavaScript-varoitukset" },
+ {T_MISCELANEOUS_OPTIONS, "Sekalaiset asetukset" },
+ {T_JAVASCRIPT_ERROR, "JavaScript-virhe" },
+ {T_JAVASCRIPT_WARNING, "JavaScript-varoitus" },
+ {T_DISMISS, "Poistu" },
+ {T_MENU_FONT_SIZE, "Menun merkkikoko" },
+ {T_USER_FONT_SIZE, "K\344ytt\344j\344n merkkikoko" },
+ {T_TURN_OFF_WARNINGS, "Varoitukset pois" },
+ {T_BOOKMARKS_ENCODING, "Kirjanmerkkienkoodaus" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "JavaScript yritt\344\344 siirty\344 osoitteeseen" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "JavaScript yritt\344\344 avata uuden ikkunan osoitteella" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "JavaScript yritt\344\344 siirty\344 historiaan" },
+ {T_TO_URL, "osoitteeseen" },
+ {T_GOTO_HISTORY, "Mene historiaan" },
+ {T_ALLOW, "Salli" },
+ {T_REJECT, "Est\344" },
+ {T_ENABLE_ALL_CONVERSIONS, "Salli kaikki muunnokset" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Salli globaali nimialue" },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, "Rekursion syvyys" },
+ {T_MENU_BACKGROUND_COLOR, "Taustan v\344ri" },
+ {T_MENU_FOREGROUND_COLOR, "Edustan v\344ri" },
+ {T_SCROLL_BAR_BAR_COLOR, "Liu'un v\344ri" },
+ {T_SCROLL_BAR_AREA_COLOR, "Liu'un taustav\344ri" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Liu'un reunuksen v\344ri" },
+ {T_BOOKMARKS_FILE, "Kirjanmerkkitiedosto" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Sy\366t\344 v\344rit RGB-heksadesimaalina RRGGBB." },
+ {T_JS_MEMORY_LIMIT_KB, "JavaScriptille omistettu muisti (KiB)" },
+ {T_DITHER_LETTERS, "Ditheroi merkit" },
+ {T_DITHER_IMAGES, "Ditheroi kuvat" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "Skaalaa kuvat kertoimella (%)" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, "N\344yt\366n optimointi CRT:lle" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "N\344yt\366n optimointi LCD:lle (RGB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "N\344yt\366n optimointi LCD:lle (BGR)" },
+ {T_ASPECT_RATIO, "Kuvasuhde" },
+ {T_ASPECT_CORRECTION_ON, "Kuvasuhteen korjaus k\344yt\366ss\344" },
+ {T_KEYBOARD_CODEPAGE, "N\344pp\344imist\366n koodisivu" },
+ {T_COPY_LINK_LOCATION, "Kopioi linkin osoite" },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "V" },
+ {T_HK_GO_BACK, "S" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "L" },
+ {T_HK_BOOKMARKS, "K" },
+ {T_HK_NEW_WINDOW, "U" },
+ {T_HK_SAVE_AS, "N" },
+ {T_HK_SAVE_URL_AS, "L" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, "U" },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "P" },
+ {T_HK_KILL_ALL_CONNECTIONS, "O" },
+ {T_HK_FLUSH_ALL_CACHES, "Y" },
+ {T_HK_RESOURCE_INFO, "E" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "J" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "Q" },
+ {T_HK_SEARCH, "E" },
+ {T_HK_SEARCH_BACK, "T" },
+ {T_HK_FIND_NEXT, "S" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "V" },
+ {T_HK_DOCUMENT_INFO, "D" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "K" },
+ {T_HK_HTML_OPTIONS, "H" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "A" },
+ {T_HK_LANGUAGE, "K" },
+ {T_HK_CHARACTER_SET, "M" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, "V" },
+ {T_HK_NETWORK_OPTIONS, "E" },
+ {T_HK_JAVASCRIPT_OPTIONS, "J" },
+ {T_HK_MISCELANEOUS_OPTIONS, "A" },
+ {T_HK_CACHE, "L" },
+ {T_HK_MAIL_AND_TELNEL, "S" },
+ {T_HK_ASSOCIATIONS, "Y" },
+ {T_HK_FILE_EXTENSIONS, "P" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "O" },
+ {T_HK_KEYS, "N" },
+ {T_HK_COPYING, "C" },
+ {T_HK_MANUAL, "K" },
+ {T_HK_HOMEPAGE, "T" },
+ {T_HK_CALIBRATION, "A" },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, "O" },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_french [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-1" },
+ {T__LANGUAGE, "French" },
+ {T__ACCEPT_LANGUAGE, "fr" },
+ {T_OK, "OK" },
+ {T_CANCEL, "Annuler" },
+ {T_BAD_NUMBER, "Nombre incorrect" },
+ {T_NUMBER_EXPECTED, "Saisir un nombre" },
+ {T_NUMBER_OUT_OF_RANGE, "Intervalle incorrect" },
+ {T_BAD_STRING, "Saisie erronn\351e" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Saisie obligatoire" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Erreur de configuration" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Impossible d'\351crire la configuration" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Info" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nNavigateur en mode texte et graphique" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Touches" },
+ {T_KEYS_DESC, "ESC Affichage du menu\n^C, q quitter\n^P, ^N paginer haut/bas\n[, ] paginer gauche/droite \nPgUp/PgDn Choix du lien\n-> Suivre le lien\n<- retour\ng atteindre l'URL\nG atteindre l'URL (de l'URL actuelle)\n/ Chercher\n? Chercher en arri\350re\nn Chercher le suivant\nN Chercher le pr\351c\351dent\n= Infos sur le document\n\\ Code source du document\nd T\351l\351charger" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Licence" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nCe programme est un logiciel libre ; et peut \352tre publi\351, modifi\351 et diffus\351 selon les termes de la GNU General Public License publi\351e par la Free Software Foundation, soit selon la version 2 de la GPL, soit (\340 votre choix) selon toute version ult\351rieure." },
+ {T_RESOURCES, "Ressources" },
+ {T_CONNECTIONS, "Connexions" },
+ {T_MEMORY_CACHE, "Cache m\351moire vive" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Cache fontes" },
+ {T_IMAGE_CACHE, "Cache image" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Cache des documents format\351s " },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "fichiers ouverts" },
+ {T_TIMERS, "timer(s)" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "Connexions" },
+ {T_tRANSFERRING, "transfert(s)" },
+ {T_KEEPALIVE, "connexion(s) maintenue(s)" },
+ {T_BYTES, "octets" },
+ {T_LETTERS, "lettres" },
+ {T_FILES, "fichier(s)" },
+ {T_LOCKED, "bloqu\351(s)" },
+ {T_LOADING, "en cours de chargement" },
+ {T_IMAGES, "images" },
+ {T_DOCUMENTS, "document(s)" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "octets allou\351s" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, "octets allou\351s pour javascript" },
+ {T_MEMORY_INFO, "\311tat de la m\351moire vive" },
+ {T_NO_HISTORY, "Pas d'historique" },
+ {T_NO_DOWNLOADS, "Aucun t\351l\351chargement" },
+ {T_NO_FRAMES, "Pas de cadres" },
+ {T_VT_100_FRAMES, "Cadres VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "Cadres Linux ou OS/2" },
+ {T_KOI8R_FRAMES, "Cadres KOI8-R" },
+ {T_FREEBSD_FRAMES, "Cadres FreeBSD" },
+ {T_USE_11M, "Utiliser ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Limiter les cadres dans cp850/852" },
+ {T_BLOCK_CURSOR, "Curseur bloc" },
+ {T_COLOR, "Couleur" },
+ {T_BRAILLE_TERMINAL, "Braille terminal" },
+ {T_TERMINAL_OPTIONS, "Options du terminal" },
+ {T_PROXIES, "Proxy(s)" },
+ {T_HTTP_PROXY__HOST_PORT, "Proxy HTTP (H\364te:port)" },
+ {T_FTP_PROXY__HOST_PORT, "Proxy FTP (H\364te:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, "Proxy Socks4A (user@host:port)" },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, "Connexions uniquement via proxy ou Sock" },
+ {T_NOPROXY_LIST, "Ne pas utiliser de proxy pour les domaines suivants (s\351par\351s par une virgule)" },
+ {T_NETWORK_OPTIONS, "Options de r\351seau" },
+ {T_MAX_CONNECTIONS, "Nombre maximum de connexions" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Nombre maximum de connexions \340 un serveur" },
+ {T_RETRIES, "R\351p\351titions (0 - illimit\351)" },
+ {T_RECEIVE_TIMEOUT_SEC, "Temps maximal (sec)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Attente quand relance impossible" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "R\351solution DNS asynchrone" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Changer date/heure des fichiers re\347us" },
+ {T_CACHE_OPTIONS, "Options du cache" },
+ {T_MEMORY_CACHE_SIZE__KB, "Taille du cache (Ko)" },
+ {T_IMAGE_CACHE_SIZE__KB, "Taille du cache image (Ko)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Nombre de documents format\351s" },
+ {T_AGGRESSIVE_CACHE, "Cache agressif" },
+ {T_HTML_OPTIONS, "Options HTML" },
+ {T_DISPLAY_TABLES, "Affichage des tableaux" },
+ {T_DISPLAY_FRAMES, "Affichage des cadres" },
+ {T_DISPLAY_IMAGES, "Affichage des images" },
+ {T_DISPLAY_IMAGE_FILENAMES, "Affichage des noms d'images" },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Afficher marqueurs d'images" },
+ {T_LINK_ORDER_BY_COLUMNS, "Liens tri\351s par colonnes" },
+ {T_NUMBERED_LINKS, "Num\351roter les liens" },
+ {T_AUTO_REFRESH, "Rafraichissement auto" },
+ {T_TARGET_IN_NEW_WINDOW, "Autoriser l'ouverture des liens dans une nouvelle fen\352tre (target=\"_blank\")" },
+ {T_TEXT_MARGIN, "Marge" },
+ {T_DEFAULT_CODEPAGE, "Jeu de caract\350res par d\351faut" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorer le jeu de caract\350res indiqu\351 par le serveur" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Atteindre l'URL" },
+ {T_GO_BACK, "Retour" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Historique" },
+ {T_RELOAD, "Relire" },
+ {T_NEW_WINDOW, "Nouvelle fen\352tre" },
+ {T_SAVE_AS, "Enregistrer sous" },
+ {T_SAVE_URL_AS, "Enregistrer l'URL sous" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Enregistrer le document format\351" },
+ {T_COPY_URL_LOCATION, "Copier URL courante" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Couper connexions en arri\350re-plan" },
+ {T_KILL_ALL_CONNECTIONS, "Couper toutes les connexions" },
+ {T_FLUSH_ALL_CACHES, "Effacer tout le cache" },
+ {T_RESOURCE_INFO, "Infos sur les ressources" },
+ {T_OS_SHELL, "Ligne de commandes" },
+ {T_EXIT, "Quitter" },
+ {T_SEARCH, "Chercher" },
+ {T_SEARCH_BACK, "Chercher en arri\350re" },
+ {T_FIND_NEXT, "Chercher le suivant" },
+ {T_FIND_PREVIOUS, "Chercher le pr\351c\351dent" },
+ {T_TOGGLE_HTML_PLAIN, "Bascule HTML/source" },
+ {T_DOCUMENT_INFO, "Infos sur le document" },
+ {T_FRAME_AT_FULL_SCREEN, "Cadre en plein \351cran" },
+ {T_SAVE_HTML_OPTIONS, "Enregistrer les options HTML" },
+ {T_CHARACTER_SET, "Jeu de caract\350res" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "E-mail et telnet" },
+ {T_MAIL_TELNET_AND_SHELL, "E-mail, telnet et shell" },
+ {T_ASSOCIATIONS, "Associations" },
+ {T_FILE_EXTENSIONS, "Extensions de fichiers" },
+ {T_SAVE_OPTIONS, "Enregistrer les options" },
+ {T_FILE, "Fichier" },
+ {T_VIEW, "Affichage" },
+ {T_LINK, "Lien" },
+ {T_DOWNLOADS, "T\351l\351chargements" },
+ {T_SETUP, "Configuration" },
+ {T_HELP, "Aide" },
+ {T_ENTER_URL, "Entrez l'URL" },
+ {T_SAVE_URL, "Enregistrer l'URL" },
+ {T_DOWNLOAD, "T\351l\351chargement" },
+ {T_SAVE_TO_FILE, "Enregistrer dans le fichier" },
+ {T_SEARCH_FOR_TEXT, "Recherche du texte" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "en liste d'attente" },
+ {T_LOOKING_UP_HOST, "Recherche de l'h\364te" },
+ {T_MAKING_CONNECTION, "\311tablissement de la connexion" },
+ {T_SOCKS_NEGOTIATION, "\311tablissement connexion Socks" },
+ {T_SSL_NEGOTIATION, "N\351gotiation SSL" },
+ {T_REQUEST_SENT, "Requ\352te transmise" },
+ {T_GETTING_HEADERS, "R\351ception de l'en-t\352te" },
+ {T_LOGGING_IN, "Entr\351e loggin" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Le serveur tra\356te la requ\352te" },
+ {T_TRANSFERRING, "Transfert" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Attente de confirmation de redirection" },
+ {T_INTERRUPTED, "Interrompu" },
+ {T_SOCKET_EXCEPTION, "Exception socket" },
+ {T_INTERNAL_ERROR, "Erreur interne" },
+ {T_OUT_OF_MEMORY, "M\351moire vive satur\351e" },
+ {T_HOST_NOT_FOUND, "H\364te introuvable" },
+ {T_ERROR_WRITING_TO_SOCKET, "Erreur d'\351criture sur le socket" },
+ {T_ERROR_READING_FROM_SOCKET, "Erreur de lecture sur le socket" },
+ {T_DATA_MODIFIED, "Donn\351es modifi\351es" },
+ {T_BAD_URL_SYNTAX, "Erreur de syntaxe dans l'URL" },
+ {T_RECEIVE_TIMEOUT, "Temps d'attente d\351pass\351" },
+ {T_REQUEST_MUST_BE_RESTARTED, "Retransmission de la requ\352te" },
+ {T_CANT_GET_SOCKET_STATE, "Impossible d'obtenir l'\351tat du socket" },
+ {T_CYCLIC_REDIRECT, "Redirection cyclique" },
+ {T_TOO_LARGE_FILE, "Fichier trop gros" },
+ {T_BLOCKED_URL, "Cette URL est dans notre liste" },
+ {T_NO_PROXY, "Pas de proxy pour cette connexion et connexions sans proxy inhib\351es" },
+ {T_BAD_HTTP_RESPONSE, "R\351ponse HTTP incorrecte" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Pas de contenu" },
+ {T_UNKNOWN_FILE_TYPE, "Type de fichier inconnu" },
+ {T_ERROR_OPENING_FILE, "Erreur lors de l'ouverture du fichier" },
+ {T_BAD_FTP_RESPONSE, "R\351ponse FTP incorrecte" },
+ {T_FTP_SERVICE_UNAVAILABLE, "Service FTP non disponible" },
+ {T_BAD_FTP_LOGIN, "Echec de la connexion FTP" },
+ {T_FTP_PORT_COMMAND_FAILED, "\311chec de la commande FTP PORT" },
+ {T_FILE_NOT_FOUND, "Fichier introuvable" },
+ {T_FTP_FILE_ERROR, "Erreur de fichier FTP" },
+ {T_UNKNOWN_ERROR, "Erreur inconnue" },
+ {T_RECEIVED, "R\351ception" },
+ {T_OF, "sur" },
+ {T_AVG, "moyenne" },
+ {T_CUR, "actuelle" },
+ {T_AVERAGE_SPEED, "Vitesse moyenne" },
+ {T_SPEED, "Vitesse" },
+ {T_CURRENT_SPEED, "vitesse actuelle" },
+ {T_ELAPSED_TIME, "Temps \351coul\351" },
+ {T_ESTIMATED_TIME, "temps estim\351" },
+ {T_BACKGROUND, "Arri\350re-plan" },
+ {T_ABORT, "Annuler" },
+ {T_ABORT_AND_DELETE_FILE, "Interruption et effacement fichier" },
+ {T_YES, "Oui" },
+ {T_NO, "Non" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, "Le fichier existe d\351ja" },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, "existe d\351ja dans un t\351l\351chargement en cours" },
+ {T_ALREADY_EXISTS, "existe d\351ja." },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, "Voulez-vous l'\351craser ?" },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, "\311craser" },
+ {T_RENAME, "Renommer" },
+ {T_DOWNLOAD_ERROR, "Erreur du t\351l\351chargement" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Impossible d'\351crire le fichier" },
+ {T_ERROR_DOWNLOADING, "Erreur lors du t\351l\351chargement" },
+ {T_ERROR_LOADING, "Erreur lors du chargement" },
+ {T_COULD_NOT_CREATE_FILE, "Le fichier n'a pas pu \352tre cr\351\351" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, "Impossible de cr\351er un fichier temporaire" },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Type inconnu" },
+ {T_CONTENT_TYPE_IS, "Le type du contenu est" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Voulez-vous ouvrir, enregister, ou afficher ce fichier ?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Voulez-vous ouvrir ou afficher ce fichier ?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Voulez-vous enregistrer ou afficher ce fichier ?" },
+ {T_SAVE, "Enregistrer" },
+ {T_DISPLAY, "Afficher" },
+ {T_WHAT_TO_DO, "Que voulez-vous faire ?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Ouvrir le fichier avec" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "enregistrer ou afficher ?" },
+ {T_OPEN, "Ouvrir" },
+ {T_OPEN_WITH, "Ouvrir avec" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Voulez-vous envoyer ces donn\351es au nouveau serveur ?" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Voulez-vous envoyer ces donn\351es ?" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Voulez-vous r\351expedier ces donn\351es ?" },
+ {T_WARNING, "Avertissement" },
+ {T_ERROR, "Erreur" },
+ {T_WELCOME, "Bienvenue" },
+ {T_WELCOME_TO_LINKS, "Bienvenue dans Links !" },
+ {T_BASIC_HELP, "Manuel" },
+ {T_LABEL, "Description" },
+ {T_CONTENT_TYPES, "Type(s) de contenu" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programme (% = nom du fichier)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Bloquer le terminal durant l'ex\351cution du programme" },
+ {T_RUN_ON_TERMINAL, "Ouvrir dans un terminal" },
+ {T_RUN_IN_XWINDOW, "Ouvrir en mode graphique (X-Window)" },
+ {T_ASK_BEFORE_OPENING, "Confirmer le d\351marrage du programme" },
+ {T_ACCEPT_HTTP, "Accepte HTTP URLs" },
+ {T_ACCEPT_FTP, "Accepte FTP URLs" },
+ {T_DELETE_ASSOCIATION, "Effacer l'association" },
+ {T_ASSOCIATION, "Association" },
+ {T_EXTENSION_S, "Extension(s)" },
+ {T_CONTENT_TYPE, "Type de contenu" },
+ {T_DELETE_EXTENSION, "Supprimer l'extension" },
+ {T_EXTENSION, "Extension" },
+ {T_eXTENSION, "extension" },
+ {T_ERROR_WHILE_POSTING_FORM, "Erreur lors du transfert du formulaire" },
+ {T_COULD_NOT_GET_FILE, "Impossible d'obtenir le fichier" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Pas de clef de recherche" },
+ {T_SEARCH_STRING_NOT_FOUND, "Texte introuvable" },
+ {T_SAVE_ERROR, "Erreur d'enregistrement" },
+ {T_ERROR_WRITING_TO_FILE, "Erreur lors de l'\351criture du fichier" },
+ {T_DISPLAY_USEMAP, "Afficher usemap" },
+ {T_FOLLOW_LINK, "Suivre le lien" },
+ {T_OPEN_IN_NEW_WINDOW, "Ouvrir dans une nouvelle fen\352tre" },
+ {T_DOWNLOAD_LINK, "Enregistrer le lien" },
+ {T_RESET_FORM, "R\351tablir le formulaire" },
+ {T_SUBMIT_FORM, "Envoi du formulaire" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Envoi du formulaire et ouverture d'une nouvelle fen\352tre" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Envoyer et enregistrer le formulaire" },
+ {T_VIEW_IMAGE, "Afficher l'image" },
+ {T_DOWNLOAD_IMAGE, "Enregistrer l'image" },
+ {T_NO_LINK_SELECTED, "Aucun lien s\351lectionn\351" },
+ {T_IMAGE, "Image" },
+ {T_USEMAP, "Imagemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "TwTerm" },
+ {T_SCREEN, "\311cran" },
+ {T_WINDOW, "Fen\352tre" },
+ {T_FULL_SCREEN, "Plein \351cran" },
+ {T_BEOS_TERMINAL, "Terminal BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, "Javascript" },
+ {T_SUBMIT_FORM_TO, "Envoi du formulaire \340" },
+ {T_POST_FORM_TO, "Transfert du formulaire \340" },
+ {T_RADIO_BUTTON, "Boutons radio" },
+ {T_CHECKBOX, "Case \340 cocher" },
+ {T_SELECT_FIELD, "Liste" },
+ {T_TEXT_FIELD, "Champ texte" },
+ {T_TEXT_AREA, "Champ texte multiligne" },
+ {T_FILE_UPLOAD, "Envoi de fichier" },
+ {T_PASSWORD_FIELD, "Champ mot de passe" },
+ {T_BUTTON, "Soumettre formulaire \340" },
+ {T_NAME, "Nom" },
+ {T_VALUE, "Valeur" },
+ {T_HIT_ENTER_TO, "Appuyez sur Entr\351e" },
+ {T_SUBMIT_TO, "Envoi \340" },
+ {T_POST_TO, "Transfert \340" },
+ {T_INFO, "Info" },
+ {T_HEADER_INFO, "Info. ent\352tes" },
+ {T_YOU_ARE_NOWHERE, "Vous n'\352tes nulle part !" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Taille" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "incomplet" },
+ {T_CODEPAGE, "Jeu de caract\350res" },
+ {T_ASSUMED, "suppos\351" },
+ {T_IGNORING_SERVER_SETTING, "Configuration du serveur ignor\351e" },
+ {T_SERVER, "Serveur" },
+ {T_DATE, "Date" },
+ {T_LAST_MODIFIED, "Derni\350re modification" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Langue" },
+ {T_GO_TO_LINK, "Aller au lien" },
+ {T_ENTER_LINK_NUMBER, "Indiquer le num\351ro du lien" },
+ {T_RESIZE_TERMINAL, "Modification des dimensions du terminal" },
+ {T_COLUMNS, "Colonnes" },
+ {T_ROWS, "Lignes" },
+ {T_GOTO, "Aller \340" },
+ {T_CLOSE, "Fermer" },
+ {T_FOLDER, "R\351pertoire" },
+ {T_fOLDER, "r\351pertoire" },
+ {T_ADD, "Ajouter" },
+ {T_DELETE, "Effacer" },
+ {T_EDIT, "Modifier" },
+ {T_MOVE, "D\351placer" },
+ {T_NO_ITEMS_SELECTED, "Pas de points s\351lectionn\351s. Rien \340 d\351placer." },
+ {T_UNSELECT_ALL, "D\351s\351lectionner tout" },
+ {T_BOOKMARKS, "Signets" },
+ {T_BOOKMARK, "signet" },
+ {T_ADD_BOOKMARK, "Ajouter un signet" },
+ {T_ADD_ASSOCIATION, "Ajouter association" },
+ {T_ADD_EXTENSION, "Ajouter extension" },
+ {T_ADD_FOLDER, "Ajouter r\351pertoire" },
+ {T_BOOKMARK_TITLE, "Description" },
+ {T_EDIT_BOOKMARK, "Modifier signet" },
+ {T_EDIT_ASSOCIATION, "Modidier association" },
+ {T_EDIT_EXTENSION, "Modifier extension" },
+ {T_DELETE_BOOKMARK, "Effacer signet" },
+ {T_EDIT_FOLDER, "Modidier r\351pertoire" },
+ {T_DELETE_FOLDER, "Effacer r\351pertoire" },
+ {T_NOT_EMPTY_SURE_DELETE, "pas vide. Voulez-vous r\351ellement l'effacer ?" },
+ {T_BOOKMARK_MANAGER, "Gestion des signets" },
+ {T_ASSOCIATIONS_MANAGER, "Gestion association" },
+ {T_EXTENSIONS_MANAGER, "Gestion extensions" },
+ {T_url, "URL" },
+ {T_NNAME, "Nom" },
+ {T_EXIT_LINKS, "Quitter ?" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "\312tes-vous s\373r de vouloir fermer cette fen\352tre ?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "\312tes-vous s\373r de vouloir quitter Links ?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Interrompre les t\351l\351chargements et quitter Links ?" },
+ {T_HTTP_OPTIONS, "Options HTTP" },
+ {T_FTP_OPTIONS, "Options FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "Contourner les erreurs HTTP ?" },
+ {T_USE_HTTP_10, "Utiliser HTTP 1.0 ?" },
+ {T_ALLOW_SERVER_BLACKLIST, "Mise en liste noire des serveurs bogu\351s ?" },
+ {T_BROKEN_302_REDIRECT, "Redirection 302 d\351fectueuse ?" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Ne pas maintenir la connexion apr\350s une requ\352te POST ?" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, "Ne pas envoyer Accept-Charset" },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, "Ne pas avertir sur le support compress\351" },
+ {T_RETRY_ON_INTERNAL_ERRORS, "Recommancer sur les erreurs internes du serveur (50x)" },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "Pas de referer" },
+ {T_REFERER_SAME_URL, "Envoyer les requ\352tes URL comme referer" },
+ {T_REFERER_FAKE, "Fixer referer" },
+ {T_REFERER_REAL_SAME_SERVER, "Envoyer referer r\351el seulement au m\352me serveur" },
+ {T_REFERER_REAL, "Envoyer referer r\351el (op\351ration normale, peu s\373r !!!)" },
+ {T_FAKE_REFERER, "Fixer HTTP Referer" },
+ {T_FAKE_USERAGENT, "Truquer User-Agent" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Mot de passe pour les connexions anonymes" },
+ {T_USE_PASSIVE_FTP, "Utiliser FTP mode passive" },
+ {T_USE_FAST_FTP, "Utiliser FTP rapide (mais incompatible RFC)" },
+ {T_SET_TYPE_OF_SERVICE, "Activer IP Type Of Service" },
+ {T_MANUAL, "Manuel" },
+ {T_HOMEPAGE, "Page d'accueil" },
+ {T_CALIBRATION, "Calibration" },
+ {T_MAILTO_PROG, "Programme E-Mail (% = adresse)" },
+ {T_SHELL_PROG, "Programme Shell (% = commande)" },
+ {T_TELNET_PROG, "Programme Telnet (% = port h\364te)" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Programme TN3270 (% = port h\364te)" },
+ {T_MMS_PROG, "Programme MMS (% = URL)" },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Clients e-mail/telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Clients e-mail/telnet/shell" },
+ {T_NO_PROGRAM, "Pas de programme" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Aucun programme n'est d\351fini pour " },
+ {T_MAIL, "e-mail" },
+ {T_TELNET, "Telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "TN3270" },
+ {T_MMS, "mms" },
+ {T_BAD_MAILTO_URL, "Adresse e-mail incorrecte" },
+ {T_BAD_TELNET_URL, "Adresse Telnet incorrecte" },
+ {T_BAD_TN3270_URL, "Adresse TN3270 incorrecte" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "L'URL MMS contient des caract\350res inaceptables" },
+ {T_AUTHORIZATION_REQUIRED, "Autorisation demand\351e" },
+ {T_PROXY_AUTHORIZATION_REQUIRED, "Autorisation proxy demand\351e" },
+ {T_USERID, "ID utilisateur" },
+ {T_PASSWORD, "Mot de passe" },
+ {T_ENTER_USERNAME, "Entrez le nom d'utilisateur pour " },
+ {T_AT, "\340 " },
+ {T_SSL_ERROR, "Erreur SSL" },
+ {T_NO_SSL, "Cette version de Links ne supporte pas SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, "Socks rejet ou disfonctionnement" },
+ {T_BAD_SOCKS_VERSION, "Mauvaise version Socks (4a demand\351e)" },
+ {T_SOCKS_NO_IDENTD, "Proxy Socks ne peut se connecter au serveur identd" },
+ {T_SOCKS_BAD_USERID, "Mauvais userid Socks" },
+ {T_SOCKS_UNKNOWN_ERROR, "Erreur Socks inconnue" },
+ {T_NO_SMB_CLIENT, "Pas de programme client smb install\351 (smbclient or smbc support\351s)" },
+ {T_DECOMPRESSION_ERROR, "Erreur d\351compression" },
+ {T_ERROR_DECOMPRESSING_, "Erreur d\351compression " },
+ {T__wITH_, " avec " },
+ {T_COMPRESSED_ERROR, "Error dans les donn\351es compress\351s" },
+ {T_UNKNOWN_COMPRESSION_METHOD, "M\351thode de compression inconnue" },
+ {T_SURE_DELETE, "Confirmation effacement" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "Signets d\351ja en cours d'utilisation" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Associations d\351ja en cours d'utilisation !" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "Extensions d\351ja en cours d'utilisation !" },
+ {T_VIDEO_OPTIONS, "Options vid\351o" },
+ {T_VIDEO_OPTIONS_TEXT, "Niveaux gamma utilisateur recommand\351s:\n 1.33 pour pi\350ce noire, 1.11 pour pi\350ce sombre, 1 pour l'\351clairage habituel de l'espace de travail d'un ordinateur, 0.88 pour un environnement tr\350s \351clair\351." },
+ {T_RED_DISPLAY_GAMMA, "Gamma affichage du rouge" },
+ {T_GREEN_DISPLAY_GAMMA, "Gamma affichage du vert" },
+ {T_BLUE_DISPLAY_GAMMA, "Gamma affichage du bleu" },
+ {T_USER_GAMMA, "Gamma utilisateur" },
+ {T_ALERT, "Alerte" },
+ {T_QUESTION, "Question" },
+ {T_KILL_SCRIPT, "Tuer script" },
+ {T_KILL_ALL_SCRIPTS, "Tuer tous les scripts" },
+ {T_SCRIPT_KILLED_BY_USER, "Javascript tu\351 par l'utilisateur" },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript essai de fermer la fen\352tre du navigateur. Voulez-vous r\351ellement fermer la fen\352tre ?" },
+ {T_ENTER_STRING, "Entrer texte" },
+ {T_JAVASCRIPT_OPTIONS, "Options javascript" },
+ {T_ENABLE_JAVASCRIPT, "Autoriser javascript" },
+ {T_VERBOSE_JS_ERRORS, "Suivi erreurs javascript" },
+ {T_VERBOSE_JS_WARNINGS, "Suivi avertisements javascript" },
+ {T_MISCELANEOUS_OPTIONS, "Options diverses" },
+ {T_JAVASCRIPT_ERROR, "Erreur javascript" },
+ {T_JAVASCRIPT_WARNING, "Avertissement javascript" },
+ {T_DISMISS, "Rejeter" },
+ {T_MENU_FONT_SIZE, "Taille fonte nenu" },
+ {T_USER_FONT_SIZE, "Taille fonte utilisateur" },
+ {T_TURN_OFF_WARNINGS, "Couper avertissements" },
+ {T_BOOKMARKS_ENCODING, "Encodage signets" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript essai d'aller \340 une URL" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript essai d'ouvrir une nouvelle fen\352tre avec URL" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript essai d'aller dans l'historique" },
+ {T_TO_URL, "\340 l'URL" },
+ {T_GOTO_HISTORY, "Historique" },
+ {T_ALLOW, "Permettre" },
+ {T_REJECT, "Rejet" },
+ {T_ENABLE_ALL_CONVERSIONS, "Autoriser toutes les conversions" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Autoriser nom global" },
+ {T_MANUAL_JS_CONTROL, "Confirmation manuelle des op\351rations javascript" },
+ {T_JS_RECURSION_DEPTH, "Profondeur recursion" },
+ {T_MENU_BACKGROUND_COLOR, "Couleur de fond" },
+ {T_MENU_FOREGROUND_COLOR, "Couleur premier plan" },
+ {T_SCROLL_BAR_BAR_COLOR, "Couleur barre ascenseur" },
+ {T_SCROLL_BAR_AREA_COLOR, "Couleur curseur ascenseur" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Couleur cadre ascenseur" },
+ {T_BOOKMARKS_FILE, "Fichier signets" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Entrer les couleurs comme des tripl\351s RVB en hexa." },
+ {T_JS_MEMORY_LIMIT_KB, "M\351moire r\351serv\351e \340 javascript (Ko)" },
+ {T_DITHER_LETTERS, "Tramage lettres" },
+ {T_DITHER_IMAGES, "Tramage images" },
+ {T_8_BIT_GAMMA_CORRECTION, "Correction gamma 8 bits" },
+ {T_16_BIT_GAMMA_CORRECTION, "Correction gama 16 bits" },
+ {T_AUTO_GAMMA_CORRECTION, "Correction gamma auto (en rapport \340 la vitesse FPU)" },
+ {T_SCALE_ALL_IMAGES_BY, "Facteur d'\351chelle des images par (%)" },
+ {T_PORN_ENABLE, "Mise \340 l'\351chelle image seule" },
+ {T_DISPLAY_OPTIMIZATION_CRT, "Optimisation affichage pour CRT" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optimisation affichage LCD (RVB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optimisation affichage LCD (BVR)" },
+ {T_ASPECT_RATIO, "Ratio aspect" },
+ {T_ASPECT_CORRECTION_ON, "Avec correction aspect" },
+ {T_KEYBOARD_CODEPAGE, "Codes clavier" },
+ {T_COPY_LINK_LOCATION, "Copier lien" },
+ {T_BLOCK_URL, "Bloquer image" },
+ {T_BLOCK_LIST, "Blocage d'images" },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, "Gestion blocage d'images d\351ja ouverte" },
+ {T_BLOCK_LIST_MANAGER, "Gestion blocage d'images" },
+ {T_BLOCK_ADD, "Ajouter URL image" },
+ {T_BLOCK_EDIT, "Modidier URL image" },
+ {T_BLOCK_DELETE, "Effacer" },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "Z" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "E" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "P" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "C" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "L" },
+ {T_HK_RESIZE_TERMINAL, NULL },
+ {T_HK_EXIT, "Q" },
+ {T_HK_SEARCH, "C" },
+ {T_HK_SEARCH_BACK, "A" },
+ {T_HK_FIND_NEXT, "S" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "B" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "L" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "E" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "J" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "R" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "E" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "F" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "O" },
+ {T_HK_ABOUT, "I" },
+ {T_HK_KEYS, "T" },
+ {T_HK_COPYING, "L" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "A" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "E" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "S" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "F" },
+ {T_HK_DOWNLOAD_LINK, "E" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_galician [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-1" },
+ {T__LANGUAGE, "Galician" },
+ {T__ACCEPT_LANGUAGE, "gl" },
+ {T_OK, "Aceptar" },
+ {T_CANCEL, "Cancelar" },
+ {T_BAD_NUMBER, "N\372mero non v\341lido" },
+ {T_NUMBER_EXPECTED, "Agard\341base un n\372mero no campo" },
+ {T_NUMBER_OUT_OF_RANGE, "N\372mero fora de rango" },
+ {T_BAD_STRING, "Cadea non v\341lida" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Non se permite unha cadea baleira" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Erro de configuraci\363n" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Non se puido escribir no ficheiro de configuraci\363n" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Acerca de" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nNavegador WWW" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Teclas" },
+ {T_KEYS_DESC, "ESC Amosar men\372\n^C, q Sair\n^P, ^N Desprazar arriba, abaixo\n[, ] Desprazar esquerda, dereita\narriba/abaixo Seleccionar ligaz\363n\n-> Seguir ligaz\363n\n<- Voltar atr\341s\ng Ir a URL\nG Ir a URL a partir da actual\n/ Buscar\n? Buscar hacia atr\341s\nn Atopar seguinte\nN Atopar anterior\n= Info do documento\n| Info das cabeceiras\n\\ Fonte do documento\nd Descargar" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Licencia" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nEste programa \351 software libre; pode redistribu\355lo e/ou modificalo baixo os termos da Licencia Xeral P\372blica GNU publicada pola Free Software Foundation; tanto a versi\363n 2 da Licencia, ou (\341 s\372a elecci\363n) calqueira versi\363n posterior." },
+ {T_RESOURCES, "Recursos" },
+ {T_CONNECTIONS, "Conexi\363ns" },
+ {T_MEMORY_CACHE, "Cach\351 en memoria" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Cach\351 do tipo de letra" },
+ {T_IMAGE_CACHE, "Cach\351 de imaxes" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Cach\351 de documentos con formato" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "handles" },
+ {T_TIMERS, "temporizadores" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "conectando" },
+ {T_tRANSFERRING, "transferindo" },
+ {T_KEEPALIVE, "keepalive" },
+ {T_BYTES, "bytes" },
+ {T_LETTERS, "letras" },
+ {T_FILES, "ficheiros" },
+ {T_LOCKED, "bloqueado" },
+ {T_LOADING, "cargando" },
+ {T_IMAGES, "imaxes" },
+ {T_DOCUMENTS, "documentos" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "bytes de memoria reservados" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Informaci\363n da memoria" },
+ {T_NO_HISTORY, "Sen historial" },
+ {T_NO_DOWNLOADS, "Sen descargas" },
+ {T_NO_FRAMES, "Sen marcos" },
+ {T_VT_100_FRAMES, "Marcos VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "Marcos Linux ou OS/2" },
+ {T_KOI8R_FRAMES, "Marcos KOI8-R" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Usar ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Restrinxir marcos en cp850/852" },
+ {T_BLOCK_CURSOR, "Cursor de bloque" },
+ {T_COLOR, "Cor" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Opci\363ns de terminal" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "Proxy HTTP (m\341quina:porto)" },
+ {T_FTP_PROXY__HOST_PORT, "Proxy FTP (m\341quina:porto)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Dominios de acceso directo (sen proxy; separados por comas)" },
+ {T_NETWORK_OPTIONS, "Opci\363ns de rede" },
+ {T_MAX_CONNECTIONS, "M\341ximo de conexi\363ns" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "M\341ximo de conexi\363ns a unha m\341quina" },
+ {T_RETRIES, "Reintentos" },
+ {T_RECEIVE_TIMEOUT_SEC, "Prazo de recepci\363n (seg)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Prazo se non \351 rearrancable" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "B\372squeda DNS as\355ncrona" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Establecer data dos ficheiros descargados" },
+ {T_CACHE_OPTIONS, "Opci\363ns da cach\351" },
+ {T_MEMORY_CACHE_SIZE__KB, "Tama\361o da cach\351 en memoria (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "Tama\361o da cach\351 de imaxes (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "N\372mero de documentos formateados" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "Opci\363ns HTML" },
+ {T_DISPLAY_TABLES, "Amosar t\341boas" },
+ {T_DISPLAY_FRAMES, "Amosar marcos" },
+ {T_DISPLAY_IMAGES, "Amosar imaxes" },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Amosar ligaz\363ns \341s imaxes" },
+ {T_LINK_ORDER_BY_COLUMNS, "Mover por columnas nas t\341boas" },
+ {T_NUMBERED_LINKS, "As ligaz\363ns est\341n numeradas" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Marxe de texto" },
+ {T_DEFAULT_CODEPAGE, "T\341boa de c\363digos por defecto" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorar a informaci\363n de xogo de caracteres do servidor" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Ir a URL" },
+ {T_GO_BACK, "Voltar atr\341s" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Historial" },
+ {T_RELOAD, "Recargar" },
+ {T_NEW_WINDOW, "Nova fiestra" },
+ {T_SAVE_AS, "Gardar como" },
+ {T_SAVE_URL_AS, "Gardar URL como" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Gardar documento formateado" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Eliminar conexi\363ns en segundo plano" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "Baleirar t\363dalas cach\351s" },
+ {T_RESOURCE_INFO, "Informaci\363n de recursos" },
+ {T_OS_SHELL, "Int\351rprete de comandos do S.O." },
+ {T_EXIT, "Sair" },
+ {T_SEARCH, "Buscar" },
+ {T_SEARCH_BACK, "Buscar hacia atr\341s" },
+ {T_FIND_NEXT, "Atopar seguinte" },
+ {T_FIND_PREVIOUS, "Atopar anterior" },
+ {T_TOGGLE_HTML_PLAIN, "Cambiar HTML/texto plano" },
+ {T_DOCUMENT_INFO, "Informaci\363n do documento" },
+ {T_FRAME_AT_FULL_SCREEN, "Marco en pantalla completa" },
+ {T_SAVE_HTML_OPTIONS, "Gardar opci\363ns de HTML" },
+ {T_CHARACTER_SET, "Xogo de caracteres" },
+ {T_CACHE, "Cach\351" },
+ {T_MAIL_AND_TELNEL, "Correo e telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Asociaci\363ns" },
+ {T_FILE_EXTENSIONS, "Extensi\363ns de ficheiros" },
+ {T_SAVE_OPTIONS, "Gardar opci\363ns" },
+ {T_FILE, "Ficheiro" },
+ {T_VIEW, "Ver" },
+ {T_LINK, "Ligaz\363n" },
+ {T_DOWNLOADS, "Descargas" },
+ {T_SETUP, "Configuraci\363n" },
+ {T_HELP, "Axuda" },
+ {T_ENTER_URL, "Introduza unha URL" },
+ {T_SAVE_URL, "Gardar URL" },
+ {T_DOWNLOAD, "Descargar" },
+ {T_SAVE_TO_FILE, "Gardar \363 ficheiro" },
+ {T_SEARCH_FOR_TEXT, "Buscar texto" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "Agardando na cola" },
+ {T_LOOKING_UP_HOST, "Buscando m\341quina" },
+ {T_MAKING_CONNECTION, "Establecendo conexi\363n" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "Negociaci\363n SSL" },
+ {T_REQUEST_SENT, "Petici\363n enviada" },
+ {T_GETTING_HEADERS, "Obtendo as cabeceiras" },
+ {T_LOGGING_IN, "Iniciando sesi\363n" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "O servidor est\341 procesando a petici\363n" },
+ {T_TRANSFERRING, "Transferindo" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Agardando pola confirmaci\363n da redirecci\363n" },
+ {T_INTERRUPTED, "Interrumpido" },
+ {T_SOCKET_EXCEPTION, "Excepci\363n de socket" },
+ {T_INTERNAL_ERROR, "Erro interno" },
+ {T_OUT_OF_MEMORY, "Sen memoria" },
+ {T_HOST_NOT_FOUND, "Non se atopou a m\341quina" },
+ {T_ERROR_WRITING_TO_SOCKET, "Erro escribindo nun socket" },
+ {T_ERROR_READING_FROM_SOCKET, "Erro lendo dun socket" },
+ {T_DATA_MODIFIED, "Datos modificados" },
+ {T_BAD_URL_SYNTAX, "Sintaxe de URL incorrecta" },
+ {T_RECEIVE_TIMEOUT, "Prazo de recepci\363n sobrepasado" },
+ {T_REQUEST_MUST_BE_RESTARTED, "A petici\363n debe ser reiniciada" },
+ {T_CANT_GET_SOCKET_STATE, "Non se puido saber o estado do socket" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Resposta HTTP incorrecta" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Non hai contido" },
+ {T_UNKNOWN_FILE_TYPE, "Tipo de ficheiro desco\361ecido" },
+ {T_ERROR_OPENING_FILE, "Erro abrindo ficheiro" },
+ {T_BAD_FTP_RESPONSE, "Resposta FTP incorrecta" },
+ {T_FTP_SERVICE_UNAVAILABLE, "O servicio FTP non est\341 dispo\361ible" },
+ {T_BAD_FTP_LOGIN, "Login FTP err\363neo" },
+ {T_FTP_PORT_COMMAND_FAILED, "Fallou o comando FTP PORT" },
+ {T_FILE_NOT_FOUND, "Non se atopou o ficheiro" },
+ {T_FTP_FILE_ERROR, "Erro FTP de ficheiro" },
+ {T_UNKNOWN_ERROR, "Erro desco\361ecido" },
+ {T_RECEIVED, "Recibidos" },
+ {T_OF, "de" },
+ {T_AVG, "media" },
+ {T_CUR, "actuais" },
+ {T_AVERAGE_SPEED, "Velocidade media" },
+ {T_SPEED, "Velocidade" },
+ {T_CURRENT_SPEED, "velocidade actual" },
+ {T_ELAPSED_TIME, "Tempo transcorrido" },
+ {T_ESTIMATED_TIME, "tempo estimado" },
+ {T_BACKGROUND, "2\272 plano" },
+ {T_ABORT, "Cancelar" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "S\355" },
+ {T_NO, "Non" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Erro de descarga" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Non se puido crear o ficheiro" },
+ {T_ERROR_DOWNLOADING, "Erro descargando" },
+ {T_ERROR_LOADING, "Erro cargando" },
+ {T_COULD_NOT_CREATE_FILE, "Non se puido crear o ficheiro" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Tipo desco\361ecido" },
+ {T_CONTENT_TYPE_IS, "O tipo de contido \351" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "\277Quere abrir, gardar ou amosar este ficheiro?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "\277Quere abrir ou amosar este ficheiro?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "\277Quere gardar ou amosar este ficheiro?" },
+ {T_SAVE, "Gardar" },
+ {T_DISPLAY, "Amosar" },
+ {T_WHAT_TO_DO, "\277Qu\351 fago?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "\277Quere abrir este ficheiro con" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "gardalo ou mostralo?" },
+ {T_OPEN, "Abrir" },
+ {T_OPEN_WITH, "Abrir con" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Quere seguir a redirecci\363n e enviar os datos do formulario \341 url" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Quere enviar os datos do formulario \341 url" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Quere volver a enviar os datos do formulario \341 url" },
+ {T_WARNING, "Aviso" },
+ {T_ERROR, "Erro" },
+ {T_WELCOME, "Benvido" },
+ {T_WELCOME_TO_LINKS, "Benvido a links!" },
+ {T_BASIC_HELP, "Pulse ESC para o men\372. Escolla Axuda->Manual no men\372 para o manual de usuario." },
+ {T_LABEL, "Etiqueta" },
+ {T_CONTENT_TYPES, "Tipo(s) de contido" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programa ('%' \351 remprazado polo nome do ficheiro)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Bloquear terminal mentres o programa se est\341 executando" },
+ {T_RUN_ON_TERMINAL, "Executar en terminal" },
+ {T_RUN_IN_XWINDOW, "Executar en X-Window" },
+ {T_ASK_BEFORE_OPENING, "Preguntar antes de abrir" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Eliminar asociaci\363n" },
+ {T_ASSOCIATION, "asociaci\363n" },
+ {T_EXTENSION_S, "Extensi\363n(s)" },
+ {T_CONTENT_TYPE, "Tipo de contido" },
+ {T_DELETE_EXTENSION, "Eliminar extensi\363n" },
+ {T_EXTENSION, "Extensi\363n" },
+ {T_eXTENSION, "extensi\363n" },
+ {T_ERROR_WHILE_POSTING_FORM, "Erro durante o env\355o do formulario" },
+ {T_COULD_NOT_GET_FILE, "Non se puido obter o ficheiro" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Non hai b\372squeda anterior" },
+ {T_SEARCH_STRING_NOT_FOUND, "Non se atopou a cadea de b\372squeda" },
+ {T_SAVE_ERROR, "Erro \363 gardar" },
+ {T_ERROR_WRITING_TO_FILE, "Erro escribindo a ficheiro" },
+ {T_DISPLAY_USEMAP, "Amosar Usemap" },
+ {T_FOLLOW_LINK, "Seguir ligaz\363n" },
+ {T_OPEN_IN_NEW_WINDOW, "Abrir en nova fiestra" },
+ {T_DOWNLOAD_LINK, "Descargar ligaz\363n" },
+ {T_RESET_FORM, "Restablecer formulario" },
+ {T_SUBMIT_FORM, "Enviar formulario" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Enviar formulario e abrir nunha fiestra nova" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Enviar formulario e descargar" },
+ {T_VIEW_IMAGE, "Ver imaxe" },
+ {T_DOWNLOAD_IMAGE, "Descargar imaxe" },
+ {T_NO_LINK_SELECTED, "Non hai ningunha ligaz\363n seleccionada" },
+ {T_IMAGE, "Imaxe" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Pantalla" },
+ {T_WINDOW, "Fiestra" },
+ {T_FULL_SCREEN, "Pantalla completa" },
+ {T_BEOS_TERMINAL, "Terminal de BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Enviar formulario a" },
+ {T_POST_FORM_TO, "Enviar (por Post) formulario a" },
+ {T_RADIO_BUTTON, "Bot\363n radial" },
+ {T_CHECKBOX, "Caixa de selecci\363n" },
+ {T_SELECT_FIELD, "Campo de selecci\363n" },
+ {T_TEXT_FIELD, "Campo de texto" },
+ {T_TEXT_AREA, "Area de texto" },
+ {T_FILE_UPLOAD, "Enviar ficheiro" },
+ {T_PASSWORD_FIELD, "Campo de contrasinal" },
+ {T_BUTTON, "Bot\363n" },
+ {T_NAME, "nome" },
+ {T_VALUE, "valor" },
+ {T_HIT_ENTER_TO, "pulse ENTER para" },
+ {T_SUBMIT_TO, "enviar a" },
+ {T_POST_TO, "enviar (por Post) a" },
+ {T_INFO, "Informaci\363n" },
+ {T_HEADER_INFO, "Informaci\363n das cabeceiras" },
+ {T_YOU_ARE_NOWHERE, "\241Vostede non est\341 en ningunha parte!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Tama\361o" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "incompleto" },
+ {T_CODEPAGE, "T\341boa de c\363digos" },
+ {T_ASSUMED, "asumido" },
+ {T_IGNORING_SERVER_SETTING, "ignorando configuraci\363n do servidor" },
+ {T_SERVER, "Servidor" },
+ {T_DATE, "Data" },
+ {T_LAST_MODIFIED, "Ultima modificaci\363n" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Lingua" },
+ {T_GO_TO_LINK, "Ir a ligaz\363n" },
+ {T_ENTER_LINK_NUMBER, "Introduce n\272 de ligaz\363n" },
+ {T_RESIZE_TERMINAL, "Redimensionar terminal" },
+ {T_COLUMNS, "Columnas" },
+ {T_ROWS, "Filas" },
+ {T_GOTO, "Ir a" },
+ {T_CLOSE, "Pechar" },
+ {T_FOLDER, "Directorio" },
+ {T_fOLDER, "directorio" },
+ {T_ADD, "Engadir" },
+ {T_DELETE, "Borrar" },
+ {T_EDIT, "Editar" },
+ {T_MOVE, "Mover" },
+ {T_NO_ITEMS_SELECTED, "Non hai elementos seleccionados. Nada para mover." },
+ {T_UNSELECT_ALL, "Deseleccionar todo" },
+ {T_BOOKMARKS, "Marcadores" },
+ {T_BOOKMARK, "marcador" },
+ {T_ADD_BOOKMARK, "Engadir marcador" },
+ {T_ADD_ASSOCIATION, "Engadir asociaci\363n" },
+ {T_ADD_EXTENSION, "Engadir extensi\363n" },
+ {T_ADD_FOLDER, "Engadir directorio" },
+ {T_BOOKMARK_TITLE, "T\355tulo do marcador" },
+ {T_EDIT_BOOKMARK, "Editar marcador" },
+ {T_EDIT_ASSOCIATION, "Editar asociaci\363n" },
+ {T_EDIT_EXTENSION, "Editar extensi\363n" },
+ {T_DELETE_BOOKMARK, "Borrar marcador" },
+ {T_EDIT_FOLDER, "Editar directorio" },
+ {T_DELETE_FOLDER, "Borrar directorio" },
+ {T_NOT_EMPTY_SURE_DELETE, "non est\341 baleiro. \277Seguro que quere borralo?" },
+ {T_BOOKMARK_MANAGER, "Xestor de marcadores" },
+ {T_ASSOCIATIONS_MANAGER, "Xestor de asociaci\363ns" },
+ {T_EXTENSIONS_MANAGER, "Xestor de extensi\363ns" },
+ {T_url, "url" },
+ {T_NNAME, "Nome" },
+ {T_EXIT_LINKS, "Sair de Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "\277Realmente quere sair de Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "\277Realmente quere sair de Links (e rematar t\363dalas descargas)?" },
+ {T_HTTP_OPTIONS, "Opci\363ns HTTP" },
+ {T_FTP_OPTIONS, "Opci\363ns FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "Correci\363ns de fallos HTTP" },
+ {T_USE_HTTP_10, "Usar HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Permitir lista negra de servidores defectuosos" },
+ {T_BROKEN_302_REDIRECT, "Redirecci\363n 302 incorrecta (viola o RFC, pero \351 compatible con Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Non manter viva a conexi\363n tras unha petici\363n POST (algunhas bases de datos PHP defectuosas necesitan esto)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "Sen referer" },
+ {T_REFERER_SAME_URL, "Enviar URL solicitada como referer" },
+ {T_REFERER_FAKE, "Referer fixo" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "Enviar referer aut\351ntico (operaci\363n normal, \241\241INSEGURO!!)" },
+ {T_FAKE_REFERER, "HTTP Referer fixo" },
+ {T_FAKE_USERAGENT, "User-Agent falso" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Contrasinal para o login an\363nimo" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Manual de usuario" },
+ {T_HOMEPAGE, "P\341xina de inicio" },
+ {T_CALIBRATION, "Calibrar" },
+ {T_MAILTO_PROG, "Programa de correo (% \351 remprazado pola direcci\363n)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Programa de telnet (% \351 remprazado por \"m\341quina\" ou \"m\341quina porto\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Programa de Tn3270 (% \351 remprazado por \"m\341quina\" ou \"m\341quina porto\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Programas de correo e telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Sen programa" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Sen programa especificado para" },
+ {T_MAIL, "correo" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "URL mailto err\363nea" },
+ {T_BAD_TELNET_URL, "URL telnet err\363nea" },
+ {T_BAD_TN3270_URL, "URL tn3270 err\363nea" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "ID de usuario" },
+ {T_PASSWORD, "Contrasinal" },
+ {T_ENTER_USERNAME, "Introduza o nome de usuario para " },
+ {T_AT, "en " },
+ {T_SSL_ERROR, "erro SSL" },
+ {T_NO_SSL, "Esta versi\363n de Links non cont\351n soporte de SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "\277Seguro que queres borrar" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "\241Os marcadores xa est\341n en uso!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "\241As asociaci\363ns xa est\341n en uso!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "\241As extensi\363ns xa est\341n en uso!" },
+ {T_VIDEO_OPTIONS, "Opci\363ns de v\355deo" },
+ {T_VIDEO_OPTIONS_TEXT, "Valor de gamma do usuario recomendado:\n 1.33 para salas escuras, 1.11 para salas con pouca luz, 1 para iluminaci\363ns habituais, 0.88 para iluminaci\363n brillante." },
+ {T_RED_DISPLAY_GAMMA, "Gamma vermello" },
+ {T_GREEN_DISPLAY_GAMMA, "Gamma verde" },
+ {T_BLUE_DISPLAY_GAMMA, "Gamma azul" },
+ {T_USER_GAMMA, "Gamma do usuario" },
+ {T_ALERT, "Alerta" },
+ {T_QUESTION, "Pregunta" },
+ {T_KILL_SCRIPT, "Matar script" },
+ {T_KILL_ALL_SCRIPTS, "Matar t\363dolos scripts" },
+ {T_SCRIPT_KILLED_BY_USER, "Javascript matado polo usuario" },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript est\341 intentando pechar a fiestra do navegador. \277Realmente queres pechala?" },
+ {T_ENTER_STRING, "Introduza cadea" },
+ {T_JAVASCRIPT_OPTIONS, "Opci\363ns de Javascript" },
+ {T_ENABLE_JAVASCRIPT, "Habilitar Javascript" },
+ {T_VERBOSE_JS_ERRORS, "Erros de Javascript detallados" },
+ {T_VERBOSE_JS_WARNINGS, "Avisos de Javascript detallados" },
+ {T_MISCELANEOUS_OPTIONS, "Opci\363ns miscel\341neas" },
+ {T_JAVASCRIPT_ERROR, "Erro de Javascript" },
+ {T_JAVASCRIPT_WARNING, "Aviso de Javascript" },
+ {T_DISMISS, "Descartar" },
+ {T_MENU_FONT_SIZE, "Tama\361o da letra do men\372" },
+ {T_USER_FONT_SIZE, "Tama\361o da letra do usuario" },
+ {T_TURN_OFF_WARNINGS, "Desactivar avisos" },
+ {T_BOOKMARKS_ENCODING, "Codificaci\363n dos marcadores" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript est\341 intentando ir \341 URL" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript est\341 intentando abrir unha nova fiestra coa URL" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript est\341 intentando ir \363 historial" },
+ {T_TO_URL, "\341 url" },
+ {T_GOTO_HISTORY, "Ir \363 historial" },
+ {T_ALLOW, "Permitir" },
+ {T_REJECT, "Rexeitar" },
+ {T_ENABLE_ALL_CONVERSIONS, "Habilitar t\363dalas conexi\363ns" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Habilitar resoluci\363n de nomes global" },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, "Profundidade da recursi\363n" },
+ {T_MENU_BACKGROUND_COLOR, "Cor de fondo do men\372" },
+ {T_MENU_FOREGROUND_COLOR, "Cor do primeiro plano do men\372" },
+ {T_SCROLL_BAR_BAR_COLOR, "Cor da barra de desprazamento" },
+ {T_SCROLL_BAR_AREA_COLOR, "Cor da \341rea da barra de desprazamento" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Cor do marco da barra de desprazamento" },
+ {T_BOOKMARKS_FILE, "Ficheiro de marcadores" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Intruduce cores como tripletes hexadecimais RRGGBB." },
+ {T_JS_MEMORY_LIMIT_KB, "Memoria adicada \363 Javascript (KiB)" },
+ {T_DITHER_LETTERS, "Difuminar letras" },
+ {T_DITHER_IMAGES, "Difuminar imaxes" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "Escalar t\363dalas imaxes un (%)" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, "Optimizaci\363n de visualizaci\363n para CRT" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optimizaci\363n de visualizaci\363n para LCD (RGB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optimizaci\363n de visualizaci\363n para LCD (BGR)" },
+ {T_ASPECT_RATIO, "Relaci\363n de aspecto" },
+ {T_ASPECT_CORRECTION_ON, "Correcci\363n de aspecto en" },
+ {T_KEYBOARD_CODEPAGE, "P\341xina de c\363digos do teclado" },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "I" },
+ {T_HK_GO_BACK, "V" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "M" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "G" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "F" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "L" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "B" },
+ {T_HK_RESOURCE_INFO, "N" },
+ {T_HK_MEMORY_INFO, "O" },
+ {T_HK_OS_SHELL, "C" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "S" },
+ {T_HK_SEARCH, "B" },
+ {T_HK_SEARCH_BACK, "T" },
+ {T_HK_FIND_NEXT, "S" },
+ {T_HK_FIND_PREVIOUS, "A" },
+ {T_HK_TOGGLE_HTML_PLAIN, "C" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "M" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "G" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "X" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, "V" },
+ {T_HK_NETWORK_OPTIONS, "R" },
+ {T_HK_JAVASCRIPT_OPTIONS, "J" },
+ {T_HK_MISCELANEOUS_OPTIONS, "M" },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "O" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "G" },
+ {T_HK_ABOUT, "A" },
+ {T_HK_KEYS, "T" },
+ {T_HK_COPYING, "L" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, "P" },
+ {T_HK_CALIBRATION, "B" },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "S" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "L" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "V" },
+ {T_HK_DOWNLOAD_IMAGE, "I" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_german [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-1" },
+ {T__LANGUAGE, "German" },
+ {T__ACCEPT_LANGUAGE, "de" },
+ {T_OK, "OK" },
+ {T_CANCEL, "Abbruch" },
+ {T_BAD_NUMBER, "fehlerhafte Zahl" },
+ {T_NUMBER_EXPECTED, "Zahleingabe erwartet" },
+ {T_NUMBER_OUT_OF_RANGE, "Ung\374ltiger Zahlbereich" },
+ {T_BAD_STRING, "Falsche Eingabe" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Werteingabe erforderlich" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Konfigurationsfehler" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Kann Konfigurationsdatei nicht schreiben" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "\334ber" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW-Browser" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Tasten" },
+ {T_KEYS_DESC, "ESC Menue-Anzeige\n^C, q quit\n^P, ^N auf/ab bl\344ttern\n[, ] links/rechts bl\344ttern \nBild rauf/runter Linkauswahl\n-> Link folgen\n<- zur\374ck\nz zur\374ck (nur im Grafischmodus)\n^r wiederladen\ng gehe zu Adresse\nG gehe zu Adresse (von aktueller URL)\n^G gehe zu Adresse (von aktueller Link)\n/ Suche\n? Suche r\374ckw\344rts\nn n\344chster Suchbegriff\nN vorh. Suchbegriff\n= Dokument-Info\n| Kopf-Info\n\\ Dokument-Quelle\nd Speichern\n^W URL oder Suchetext komplettieren" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Lizenz" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nDieses Programm ist freie Software; es kann unter den Bedingungen der GNU General Public License - wie von der Free Software Foundation ver\366ffentlicht - ver\344ndert/weiter verbreitet werden; entweder Version 2 der GPL, oder (wenn Sie m\366chten) jede neuere Version" },
+ {T_RESOURCES, "Resourcen" },
+ {T_CONNECTIONS, "Verbindungen" },
+ {T_MEMORY_CACHE, "Hauptspeicher-Cache" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Zeichensatz-Cache" },
+ {T_IMAGE_CACHE, "Bilder-Cache" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Formatierte Dokumenten-Cache" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "offene Dateien" },
+ {T_TIMERS, "Zeitgeber" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "Verbindungen im Aufbau" },
+ {T_tRANSFERRING, "\334bertragungen" },
+ {T_KEEPALIVE, "Verbindung halten" },
+ {T_BYTES, "Bytes" },
+ {T_LETTERS, "Zeichen" },
+ {T_FILES, "Datei/en" },
+ {T_LOCKED, "gesperrt" },
+ {T_LOADING, "geladen" },
+ {T_IMAGES, "Bilder" },
+ {T_DOCUMENTS, "Dokumente" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "zugewiesener Hauptspeicher" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Hauptspeicherverbrauch" },
+ {T_NO_HISTORY, "Keine history" },
+ {T_NO_DOWNLOADS, "Keine Downloads" },
+ {T_NO_FRAMES, "Keine Rahmen" },
+ {T_VT_100_FRAMES, "VT 100 Rahmen" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux oder OS/2 Rahmen" },
+ {T_KOI8R_FRAMES, "KOI8-R Rahmen" },
+ {T_FREEBSD_FRAMES, "FreeBSD Rahmen" },
+ {T_USE_11M, "Benutze ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Beschr\344nke Rahmen im cp850/852" },
+ {T_BLOCK_CURSOR, "Blockcursor" },
+ {T_COLOR, "Farbe" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Terminaloptionen" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP Proxy (Rechner:Port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP Proxy (Rechner:Port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Direktzugriff (w/o Proxy) Dom\344nen (Kommaliste)" },
+ {T_NETWORK_OPTIONS, "Netzwerkoptionen" },
+ {T_MAX_CONNECTIONS, "Max. Verbindungen" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Max. Verbindungen zu einem Server" },
+ {T_RETRIES, "Wiederholungen" },
+ {T_RECEIVE_TIMEOUT_SEC, "Empfangswartezeit (sec)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Wartezeit bei Verb.-Aufbau" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Asynchr. DNS-Aufl\366sung" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Datum/Zeit empfangener Dateien setzen" },
+ {T_CACHE_OPTIONS, "Cache-Optionen" },
+ {T_MEMORY_CACHE_SIZE__KB, "Hauptspeicher-Cache (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "Bilder-Cache (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Anzahl formatierter Dokumente" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "HTML-Optionen" },
+ {T_DISPLAY_TABLES, "Tabellen anzeigen" },
+ {T_DISPLAY_FRAMES, "Rahmen anzeigen" },
+ {T_DISPLAY_IMAGES, "Bilder anzeigen" },
+ {T_DISPLAY_IMAGE_FILENAMES, "Bilddateinamen anzeigen" },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Bildverweise anzeigen" },
+ {T_LINK_ORDER_BY_COLUMNS, "Links nach Spalten sortieren" },
+ {T_NUMBERED_LINKS, "Links nummerieren" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, "Erlauben das \326ffnen der Verweise in neuem Fenster" },
+ {T_TEXT_MARGIN, "Textbereich" },
+ {T_DEFAULT_CODEPAGE, "Standardzeichensatz" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Zeichensatz-Info des Servers ignorieren" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Gehe zu Adresse" },
+ {T_GO_BACK, "Zur\374ck" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "History" },
+ {T_RELOAD, "Neu laden" },
+ {T_NEW_WINDOW, "Neues Fenster" },
+ {T_SAVE_AS, "Speichern als" },
+ {T_SAVE_URL_AS, "Speichere Adresse als" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Speichere formatiertes Dokument" },
+ {T_COPY_URL_LOCATION, "Netzadresse kopieren" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Hintergrundverbindungen kappen" },
+ {T_KILL_ALL_CONNECTIONS, "Alle Verbindungen kappen" },
+ {T_FLUSH_ALL_CACHES, "Alle Cache-Bereiche leeren" },
+ {T_RESOURCE_INFO, "Resourcen" },
+ {T_OS_SHELL, "Befehlszeile" },
+ {T_EXIT, "Ende" },
+ {T_SEARCH, "Suche" },
+ {T_SEARCH_BACK, "Suche r\374ckw\344rts" },
+ {T_FIND_NEXT, "Suche n\344chsten" },
+ {T_FIND_PREVIOUS, "Suche vorherigen" },
+ {T_TOGGLE_HTML_PLAIN, "Umschaltung HTML/Quelltext" },
+ {T_DOCUMENT_INFO, "Dokumentinformationen" },
+ {T_FRAME_AT_FULL_SCREEN, "Rahmen im Vollbildschirm" },
+ {T_SAVE_HTML_OPTIONS, "HTML Sicherheit" },
+ {T_CHARACTER_SET, "Zeichensatz" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "Mail und Telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Verkn\374pfungen" },
+ {T_FILE_EXTENSIONS, "Dateiendungen" },
+ {T_SAVE_OPTIONS, "Optionen speichern" },
+ {T_FILE, "Datei" },
+ {T_VIEW, "Anzeige" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "Downloads" },
+ {T_SETUP, "Einstellungen" },
+ {T_HELP, "Hilfe" },
+ {T_ENTER_URL, "Adresse eingeben" },
+ {T_SAVE_URL, "Adresse speichern" },
+ {T_DOWNLOAD, "Download" },
+ {T_SAVE_TO_FILE, "Speichern in Datei" },
+ {T_SEARCH_FOR_TEXT, "Textsuche" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "In Warteschlange" },
+ {T_LOOKING_UP_HOST, "Suche Host" },
+ {T_MAKING_CONNECTION, "Verbindungsaufbau" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "SSL-Verhandlung" },
+ {T_REQUEST_SENT, "Anforderung gesendet" },
+ {T_GETTING_HEADERS, "Empfange Kopfzeilen" },
+ {T_LOGGING_IN, "Melde an" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Server verarbeitet Anforderung" },
+ {T_TRANSFERRING, "\334bertragung" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Warte auf Best\344tigung" },
+ {T_INTERRUPTED, "Unterbrochen" },
+ {T_SOCKET_EXCEPTION, "Socket-Ausnahmefehler" },
+ {T_INTERNAL_ERROR, "Interner Fehler" },
+ {T_OUT_OF_MEMORY, "kein Hauptspeicher verf\374gbar" },
+ {T_HOST_NOT_FOUND, "Host nicht gefunden" },
+ {T_ERROR_WRITING_TO_SOCKET, "Socket-Schreibfehler" },
+ {T_ERROR_READING_FROM_SOCKET, "Socket-Lesefehler" },
+ {T_DATA_MODIFIED, "Daten ge\344ndert" },
+ {T_BAD_URL_SYNTAX, "Fehlerhafte Adresse" },
+ {T_RECEIVE_TIMEOUT, "Empfangs-Wartezeit abgelaufen" },
+ {T_REQUEST_MUST_BE_RESTARTED, "Anforderung wird neu gesendet" },
+ {T_CANT_GET_SOCKET_STATE, "Kann Socket-Status nicht abfragen" },
+ {T_CYCLIC_REDIRECT, "Zyklische Umleitung" },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Fehlerhafte HTTP-Antwort" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Kein Inhalt" },
+ {T_UNKNOWN_FILE_TYPE, "Unbekannter Dateityp" },
+ {T_ERROR_OPENING_FILE, "Fehler bei Datei-\326ffnung" },
+ {T_BAD_FTP_RESPONSE, "fehlerhafte FTP-Antwort" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP-Dienst nicht verf\374gbar" },
+ {T_BAD_FTP_LOGIN, "fehlerhafte FTP-Anmeldung" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT-Befehl falsch" },
+ {T_FILE_NOT_FOUND, "Datei nicht gefunden" },
+ {T_FTP_FILE_ERROR, "FTP-Dateifehler" },
+ {T_UNKNOWN_ERROR, "Unbekannter Fehler" },
+ {T_RECEIVED, "Empfangen" },
+ {T_OF, "von" },
+ {T_AVG, "schnitt" },
+ {T_CUR, "aktuell" },
+ {T_AVERAGE_SPEED, "Durchschnittsrate" },
+ {T_SPEED, "Rate" },
+ {T_CURRENT_SPEED, "Aktuelle Rate" },
+ {T_ELAPSED_TIME, "Abgelaufene Zeit" },
+ {T_ESTIMATED_TIME, "Gesch\344tzte Zeit" },
+ {T_BACKGROUND, "Hintergrund" },
+ {T_ABORT, "Abbruch" },
+ {T_ABORT_AND_DELETE_FILE, "Abbrechen und Datei entfernen" },
+ {T_YES, "Ja" },
+ {T_NO, "Nein" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Download-Fehler" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Datei konnte nicht geschrieben werden" },
+ {T_ERROR_DOWNLOADING, "Fehler w\344hrend Download" },
+ {T_ERROR_LOADING, "Fehler beim \326ffnen" },
+ {T_COULD_NOT_CREATE_FILE, "Datei konnte nicht erstellt werden" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Unbekannter Typ" },
+ {T_CONTENT_TYPE_IS, "Mimetyp ist" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Diese Datei \366ffnen, speichern oder anzeigen?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Diese Datei \366ffnen oder anzeigen?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Diese Datei anzeigen oder speichern?" },
+ {T_SAVE, "Speichern" },
+ {T_DISPLAY, "Anzeigen" },
+ {T_WHAT_TO_DO, "Was bitte?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "\326ffnen der Datei mit" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "speichern oder anzeigen?" },
+ {T_OPEN, "\326ffnen" },
+ {T_OPEN_WITH, "\326ffnen mit" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Sollen diese Daten an den neuen Server \374bertragen werden?" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Sollen diese Daten \374bertragen werden?" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Sollen diese Daten erneut \374bertragen werden?" },
+ {T_WARNING, "Warnung" },
+ {T_ERROR, "Fehler" },
+ {T_WELCOME, "Willkommen" },
+ {T_WELCOME_TO_LINKS, "Recht herzlich Willkommen bei Links!" },
+ {T_BASIC_HELP, "Handbuch" },
+ {T_LABEL, "Bezeichnung" },
+ {T_CONTENT_TYPES, "Mimetyp(en)" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programm ('%' wird durch Dateinamen ersetzt)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Terminal w\344hrend Programmausf\374hrung blockiert" },
+ {T_RUN_ON_TERMINAL, "Im Terminalfenster starten" },
+ {T_RUN_IN_XWINDOW, "Im Grafikfenster (X-Window) starten" },
+ {T_ASK_BEFORE_OPENING, "Frage vor dem \326ffnen" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Verkn\374pfung l\366schen" },
+ {T_ASSOCIATION, "Verkn\374pfung" },
+ {T_EXTENSION_S, "Erweiterung(en)" },
+ {T_CONTENT_TYPE, "Mimetyp" },
+ {T_DELETE_EXTENSION, "Erweiterung l\366schen" },
+ {T_EXTENSION, "Erweiterung" },
+ {T_eXTENSION, "Erweiterung" },
+ {T_ERROR_WHILE_POSTING_FORM, "Fehler bei Formular-\334bertragung" },
+ {T_COULD_NOT_GET_FILE, "Konnte Datei nicht erhalten" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Kein vorheriger Suchbegriff" },
+ {T_SEARCH_STRING_NOT_FOUND, "Suchbegriff nicht gefunden" },
+ {T_SAVE_ERROR, "Speicherungsfehler" },
+ {T_ERROR_WRITING_TO_FILE, "Fehler beim speichern der Datei" },
+ {T_DISPLAY_USEMAP, "Usemap anzeigen" },
+ {T_FOLLOW_LINK, "Link folgen" },
+ {T_OPEN_IN_NEW_WINDOW, "In neuem Fenster \366ffnen" },
+ {T_DOWNLOAD_LINK, "Link speichern" },
+ {T_RESET_FORM, "Formular zur\374cksetzen" },
+ {T_SUBMIT_FORM, "Formular senden" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Formular senden und neues Fenster \366ffnen" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Formular senden und speichern" },
+ {T_VIEW_IMAGE, "Bild anzeigen" },
+ {T_DOWNLOAD_IMAGE, "Bild speichern" },
+ {T_NO_LINK_SELECTED, "Kein Link ausgew\344hlt" },
+ {T_IMAGE, "Bild" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Bildschirm" },
+ {T_WINDOW, "Fenster" },
+ {T_FULL_SCREEN, "Vollbildschirm" },
+ {T_BEOS_TERMINAL, "BeOS-Terminal" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Sende Formular an" },
+ {T_POST_FORM_TO, "Verschicke Formular an" },
+ {T_RADIO_BUTTON, "Radiobutton" },
+ {T_CHECKBOX, "Checkbox" },
+ {T_SELECT_FIELD, "Auswahlfeld" },
+ {T_TEXT_FIELD, "Textfeld" },
+ {T_TEXT_AREA, "Textbereich" },
+ {T_FILE_UPLOAD, "Datei senden" },
+ {T_PASSWORD_FIELD, "Passwort-Feld" },
+ {T_BUTTON, "Knopf" },
+ {T_NAME, "Name" },
+ {T_VALUE, "Wert" },
+ {T_HIT_ENTER_TO, "ENTER dr\374cken" },
+ {T_SUBMIT_TO, "Sende an" },
+ {T_POST_TO, "Verschicke an" },
+ {T_INFO, "Info" },
+ {T_HEADER_INFO, "HTTP Kopfinformationen" },
+ {T_YOU_ARE_NOWHERE, "Sie sind nirgendwo!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "Adresse" },
+ {T_SIZE, "Gr\366\337e" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "unvollst\344ndig" },
+ {T_CODEPAGE, "Zeichensatz" },
+ {T_ASSUMED, "angenommen" },
+ {T_IGNORING_SERVER_SETTING, "Servereinstellung ignoriert" },
+ {T_SERVER, "Server" },
+ {T_DATE, "Datum" },
+ {T_LAST_MODIFIED, "Zuletzt ge\344ndert" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Sprache" },
+ {T_GO_TO_LINK, "Link ausw\344hlen" },
+ {T_ENTER_LINK_NUMBER, "Linknummer eingeben" },
+ {T_RESIZE_TERMINAL, "Terminalgr\366sse \344ndern" },
+ {T_COLUMNS, "Spalten" },
+ {T_ROWS, "Zeilen" },
+ {T_GOTO, "Gehe zu" },
+ {T_CLOSE, "Schlie\337en" },
+ {T_FOLDER, "Verzeichnis" },
+ {T_fOLDER, "Verzeichnis" },
+ {T_ADD, "Hinzuf\374gen" },
+ {T_DELETE, "L\366schen" },
+ {T_EDIT, "\304ndern" },
+ {T_MOVE, "Verschieben" },
+ {T_NO_ITEMS_SELECTED, "Es ist nichts markiert - nichts zu verschieben" },
+ {T_UNSELECT_ALL, "Markierungen aufheben" },
+ {T_BOOKMARKS, "Lesezeichen" },
+ {T_BOOKMARK, "Lesezeichen" },
+ {T_ADD_BOOKMARK, "Lesezeichen hinzuf\374gen" },
+ {T_ADD_ASSOCIATION, "Verkn\374pfung hinzuf\374gen" },
+ {T_ADD_EXTENSION, "Erweiterung hinzuf\374gen" },
+ {T_ADD_FOLDER, "Verzeichnis hinzuf\374gen" },
+ {T_BOOKMARK_TITLE, "Bezeichnung" },
+ {T_EDIT_BOOKMARK, "Lesezeichen \344ndern" },
+ {T_EDIT_ASSOCIATION, "Verkn\374pfung bearbeiten" },
+ {T_EDIT_EXTENSION, "Erweiterung bearbeiten" },
+ {T_DELETE_BOOKMARK, "Lesezeichen l\366schen" },
+ {T_EDIT_FOLDER, "Verzeichnis bearbeiten" },
+ {T_DELETE_FOLDER, "Verzeichnis entfernen" },
+ {T_NOT_EMPTY_SURE_DELETE, "ist nicht leer. Wirklich entfernen?" },
+ {T_BOOKMARK_MANAGER, "Lesezeichen-Verwaltung" },
+ {T_ASSOCIATIONS_MANAGER, "Verkn\374pfungs-Verwaltung" },
+ {T_EXTENSIONS_MANAGER, "Erweiterungs-Verwaltung" },
+ {T_url, "Netzadresse" },
+ {T_NNAME, "Name" },
+ {T_EXIT_LINKS, "Beenden?" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Links wirklich beenden?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Links und alle Downloads beenden?" },
+ {T_HTTP_OPTIONS, "HTTP-Optionen" },
+ {T_FTP_OPTIONS, "FTP-Optionen" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP-Fehler umgehen?" },
+ {T_USE_HTTP_10, "HTTP 1.0 benutzen?" },
+ {T_ALLOW_SERVER_BLACKLIST, "Server-Sperrliste benutzen?" },
+ {T_BROKEN_302_REDIRECT, "defekte 302-Weiterleitung?" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Verbindung nach POST nicht aufrechterhalten?" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, "Kein Accept-Charset senden" },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "Kein Referer senden" },
+ {T_REFERER_SAME_URL, "Angeforderte Adresse als Referer senden" },
+ {T_REFERER_FAKE, "Unten angegebenen festen HTTP-Referer senden" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "Echten Referer senden (normal, aber UNSICHER!)" },
+ {T_FAKE_REFERER, "Fester HTTP-Referer:" },
+ {T_FAKE_USERAGENT, "Gefakter User-Agent senden" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Passwort f\374r anomyme Anmeldung" },
+ {T_USE_PASSIVE_FTP, "Passives FTP nutzen" },
+ {T_USE_FAST_FTP, "Schnelleres (aber nicht RFC-konformes) FTP nutzen" },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Manual" },
+ {T_HOMEPAGE, "Homepage" },
+ {T_CALIBRATION, "Kalibration" },
+ {T_MAILTO_PROG, "Mail-Programm (% wird mit Email-Addresse ersetzt)" },
+ {T_SHELL_PROG, "Shell-Programm f\374r externe Aufrufe (% wird mit Kommando ersetzt)" },
+ {T_TELNET_PROG, "Telnet-Programm (% wird mit \"host\" oder \"host port\" ersetzt)" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "TN3270-Programm (% wird mit \"host\" oder \"host port\" ersetzt)" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Mail-/Telnet-Programme" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Mail-/Telnet-/Shell-Programme" },
+ {T_NO_PROGRAM, "Kein Programm" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Programm nicht definiert f\374r " },
+ {T_MAIL, "Mail" },
+ {T_TELNET, "Telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "TN3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "fehlerhafte Mailadresse" },
+ {T_BAD_TELNET_URL, "fehlerhafte Telnetadresse" },
+ {T_BAD_TN3270_URL, "fehlerhafte TN3270-Adresse" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "Benutzerkennung" },
+ {T_PASSWORD, "Passwort" },
+ {T_ENTER_USERNAME, "Benutzername eingeben f\374r " },
+ {T_AT, "bei " },
+ {T_SSL_ERROR, "SSL-Fehler" },
+ {T_NO_SSL, "Diese Programmversion unterst\374tzt kein SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "Wirklich l\366schen" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "Lesezeichen schon in Benutzung!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Verkn\374pfungen schon in Benutzung!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "Erweiterungen schon in Benutzung!" },
+ {T_VIDEO_OPTIONS, "Videooptionen" },
+ {T_VIDEO_OPTIONS_TEXT, "Benutzergamma empfohlen:\n 1.33 f\374r dunklen Raum, 1.11 bei gedimmten Licht, 1 f\374r typischen Computerarbeitsplatz, 0.88 bei hell erleuchteter Umgebung" },
+ {T_RED_DISPLAY_GAMMA, "Gamma Rot" },
+ {T_GREEN_DISPLAY_GAMMA, "Gamma Gr\374n" },
+ {T_BLUE_DISPLAY_GAMMA, "Gamma Blau" },
+ {T_USER_GAMMA, "Benutzergamma" },
+ {T_ALERT, "Warnung" },
+ {T_QUESTION, "Frage" },
+ {T_KILL_SCRIPT, "Javascriptausf\374hrung verweigern" },
+ {T_KILL_ALL_SCRIPTS, "Javascriptausf\374hrung f\374r alle Skripte verweigern" },
+ {T_SCRIPT_KILLED_BY_USER, "Javascriptausf\374hrung durch Benutzer verweigert" },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript versucht, das Browserfenster zu schlie\337en. Zulassen?" },
+ {T_ENTER_STRING, "Text eingeben" },
+ {T_JAVASCRIPT_OPTIONS, "Javascriptoptionen" },
+ {T_ENABLE_JAVASCRIPT, "Javascript aktivieren" },
+ {T_VERBOSE_JS_ERRORS, "Ausf\374hrliche Javascriptfehler" },
+ {T_VERBOSE_JS_WARNINGS, "Ausf\374hrliche Javascriptwarnungen" },
+ {T_MISCELANEOUS_OPTIONS, "Sonstige Optionen" },
+ {T_JAVASCRIPT_ERROR, "Javascriptfehler" },
+ {T_JAVASCRIPT_WARNING, "Javascriptwarnung" },
+ {T_DISMISS, "Verwerfen" },
+ {T_MENU_FONT_SIZE, "Men\374fontgr\366\337e" },
+ {T_USER_FONT_SIZE, "Benutzerfontgr\366\337e" },
+ {T_TURN_OFF_WARNINGS, "Warnungen abschalten" },
+ {T_BOOKMARKS_ENCODING, "Lesezeichenformat" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript versucht zu Netzadresse zu gehen" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript versucht Adresse in neuem Fenster zu \366ffnen" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript versucht auf History zugreifen" },
+ {T_TO_URL, "zu Netzadresse" },
+ {T_GOTO_HISTORY, "Gehe zu History" },
+ {T_ALLOW, "Erlauben" },
+ {T_REJECT, "Abweisen" },
+ {T_ENABLE_ALL_CONVERSIONS, "Alle Umwandlungen aktivieren" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Globale Namensaufl\366sung aktivieren" },
+ {T_MANUAL_JS_CONTROL, "Manuell Javascriptoperationen Best\344tigung" },
+ {T_JS_RECURSION_DEPTH, "Verschachtelungstiefe" },
+ {T_MENU_BACKGROUND_COLOR, "Hintergrundfarbe f\374r Men\374" },
+ {T_MENU_FOREGROUND_COLOR, "Fordergrundfarbe f\374r Men\374" },
+ {T_SCROLL_BAR_BAR_COLOR, "Farbe f\374r Scrollbalken" },
+ {T_SCROLL_BAR_AREA_COLOR, "Farbe f\374r Scrollbalkenzone" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Farbe f\374r Scrollbalkenrahmen" },
+ {T_BOOKMARKS_FILE, "Lesezeichendatei" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Farben eingeben als sRGB hexadezimal RRGGBB Triplets" },
+ {T_JS_MEMORY_LIMIT_KB, "Speicher f\374r Javascript reservieren (KiB)" },
+ {T_DITHER_LETTERS, "Buchstaben rastern" },
+ {T_DITHER_IMAGES, "Bilder rastern" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "Alle Bilder skalieren um (%)" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, "Bildschirmoptimierung f\374r CRT" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "Bildschirmoptimierung f\374r LCD (RGB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "Bildschirmoptimierung f\374r LCD (BGR)" },
+ {T_ASPECT_RATIO, "Seitenveh\344ltnis" },
+ {T_ASPECT_CORRECTION_ON, "Seitenverh\344ltniskorrekur an" },
+ {T_KEYBOARD_CODEPAGE, "Tastatur-Codepage" },
+ {T_COPY_LINK_LOCATION, "Linkziel kopieren" },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "Z" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "N" },
+ {T_HK_BOOKMARKS, "L" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "S" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, "U" },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "A" },
+ {T_HK_KILL_ALL_CONNECTIONS, "K" },
+ {T_HK_FLUSH_ALL_CACHES, "L" },
+ {T_HK_RESOURCE_INFO, "R" },
+ {T_HK_MEMORY_INFO, "I" },
+ {T_HK_OS_SHELL, "B" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "E" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "R" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "V" },
+ {T_HK_TOGGLE_HTML_PLAIN, "Q" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "L" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "I" },
+ {T_HK_LANGUAGE, "S" },
+ {T_HK_CHARACTER_SET, "Z" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, "V" },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, "J" },
+ {T_HK_MISCELANEOUS_OPTIONS, "O" },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "E" },
+ {T_HK_ASSOCIATIONS, "V" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "O" },
+ {T_HK_ABOUT, "\334" },
+ {T_HK_KEYS, "T" },
+ {T_HK_COPYING, "C" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, "H" },
+ {T_HK_CALIBRATION, "K" },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "A" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "E" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "F" },
+ {T_HK_DOWNLOAD_LINK, "S" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, "C" },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_greek [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-7" },
+ {T__LANGUAGE, "Greek" },
+ {T__ACCEPT_LANGUAGE, "el" },
+ {T_OK, "\305\355\364\334\356\345\351" },
+ {T_CANCEL, "\301\352\375\361\371\363\347" },
+ {T_BAD_NUMBER, "\314\347 \335\343\352\365\361\357\362 \341\361\351\350\354\374\362" },
+ {T_NUMBER_EXPECTED, "\304\345\355 \341\355\341\354\345\355\374\364\341\355 \341\361\351\350\354\374\362 \363\364\357 \360\345\344\337\357" },
+ {T_NUMBER_OUT_OF_RANGE, "\301\361\351\350\354\374\362 \345\352\364\374\362 \357\361\337\357\365" },
+ {T_BAD_STRING, "\314\347 \335\343\352\365\361\357 \341\353\366\341\361\351\350\354\347\364\351\352\374" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "\304\345\355 \345\360\351\364\361\335\360\345\364\341\351 \352\345\355\374 \341\353\366\341\361\351\350\354\347\364\351\352\374" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "\323\366\334\353\354\341 \361\365\350\354\337\363\345\371\355" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "\301\344\375\355\341\364\347 \347 \345\343\343\361\341\366\336 \363\364\357 \341\361\367\345\337\357 \361\365\350\354\337\363\345\371\355" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "\320\345\361\337..." },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\n\326\365\353\353\357\354\345\364\361\347\364\336\362 WWW \352\345\351\354\335\355\357\365 \364\375\360\357\365-Lynx" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "\320\353\336\352\364\361\341" },
+ {T_KEYS_DESC, "ESC \345\354\366\334\355\351\363\347 \354\345\355\357\375\n^C, q \335\356\357\344\357\362\n^P, ^N \352\375\353\351\363\347 \360\334\355\371, \352\334\364\371\n[, ] \352\375\353\351\363\347 \341\361\351\363\364\345\361\334, \344\345\356\351\334\n\360\334\355\371, \352\334\364\371 \345\360\351\353\357\343\336 \363\365\355\344\335\363\354\357\365\n-> \341\352\357\353\357\375\350\347\363\347 \363\365\355\344\335\363\354\357\365\n<- \360\336\343\341\351\355\345 \360\337\363\371\ng \360\336\343\341\351\355\345 \363\364\357 URL\nG \360\336\343\341\351\355\345 \363\364\357 URL \342\334\363\347 \364\357\365 \364\361\335\367\357\355\364\357\362\n/ \341\355\341\346\336\364\347\363\347\n? \341\355\341\346\336\364\347\363\347 \360\337\363\371\nn \341\355\341\346\336\364\347\363\347 \345\360\357\354\335\355\357\365\nN \341\355\341\346\336\364\347\363\347 \360\361\357\347\343\357\365\354\335\355\357\365\n= \360\353\347\361\357\366\357\361\337\345\362 \345\343\343\361\334\366\357\365\n| \360\353\347\361\357\366\357\361\337\345\362 \352\345\366\341\353\337\344\341\362\n\\ \360\361\371\364\357\343\345\355\336\362 \352\376\344\351\352\341\362\nd \354\345\364\341\366\374\361\364\371\363\347" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "\301\355\364\351\343\361\341\366\336..." },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n(C) 1999 - 2002 \314\337\352\357\365\353\341\362 \320\341\364\374\352\341\n\n\301\365\364\374 \364\357 \360\361\374\343\361\341\354\354\341 \345\337\355\341\351 \345\353\335\365\350\345\361\357 \353\357\343\351\363\354\351\352\374, \354\360\357\361\345\337\364\345 \355\341 \364\357 \345\360\341\355\341\344\351\341\355\345\337\354\345\364\345 \352\341\351/\336 \355\341 \364\357 \364\361\357\360\357\360\357\351\336\363\345\364\345 \342\334\363\347 \364\371\355 \363\365\355\350\347\352\376\355 \364\347\362 \303\345\355\351\352\336\362 \304\347\354\374\363\351\341\362 \266\344\345\351\341\362 GNU, \374\360\371\362 \341\365\364\336 \344\347\354\357\363\351\345\375\345\364\341\351 \341\360\374 \364\357 \272\344\361\365\354\341 \305\353\345\365\350\335\361\357\365 \313\357\343\351\363\354\351\352\357\375, \345\337\364\345 \347 \335\352\344\357\363\347 2 \364\347\362 \266\344\345\351\341\362 \336 (\352\341\364\334 \364\347\355 \345\360\351\353\357\343\336 \363\341\362) \357\360\357\351\341\344\336\360\357\364\345 \354\345\364\341\343\345\355\335\363\364\345\361\347." },
+ {T_RESOURCES, "\320\347\343\335\362" },
+ {T_CONNECTIONS, "\323\365\355\344\335\363\345\351\362" },
+ {T_MEMORY_CACHE, "\313\341\355\350\334\355\357\365\363\341 \354\355\336\354\347" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "\320\361\357\363\371\361\351\355\336 \354\355\336\354\347 \354\357\361\366\357\360\357\351\347\354\335\355\371\355 \345\343\343\361\334\366\371\355" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "\367\345\351\361\351\363\364\335\362" },
+ {T_TIMERS, "\367\361\357\355\351\363\364\335\362" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "\343\337\355\345\364\341\351 \363\375\355\344\345\363\347" },
+ {T_tRANSFERRING, "\343\337\355\345\364\341\351 \354\345\364\341\366\357\361\334" },
+ {T_KEEPALIVE, "\344\351\341\364\336\361\347\363\347 \345\355 \346\371\336" },
+ {T_BYTES, "byte" },
+ {T_LETTERS, NULL },
+ {T_FILES, "\341\361\367\345\337\341" },
+ {T_LOCKED, "\352\353\345\351\344\371\354\335\355\357" },
+ {T_LOADING, "\343\337\355\345\364\341\351 \366\374\361\364\371\363\347" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "\335\343\343\361\341\366\341" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "byte \354\355\336\354\347\362 \360\357\365 \352\341\364\341\355\345\354\336\350\347\352\341\355" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "\320\353\347\361\357\366\357\361\337\345\362 \354\355\336\354\347\362" },
+ {T_NO_HISTORY, "\304\345\355 \365\360\334\361\367\345\351 \351\363\364\357\361\351\352\374" },
+ {T_NO_DOWNLOADS, "\304\345\355 \365\360\334\361\367\357\365\355 \354\345\364\341\366\357\361\364\376\363\345\351\362" },
+ {T_NO_FRAMES, "\304\345\355 \365\360\334\361\367\357\365\355 \360\353\341\337\363\351\341 (frames)" },
+ {T_VT_100_FRAMES, "\320\353\341\337\363\351\341 VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "\320\353\341\337\363\351\341 Linux \336 OS/2" },
+ {T_KOI8R_FRAMES, "\320\353\341\337\363\351\341 KOI8-R" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "\327\361\336\363\347 ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "\320\345\361\351\357\361\351\363\354\374\362 \360\353\341\351\363\337\371\355 \363\364\357 cp850/852" },
+ {T_BLOCK_CURSOR, "\304\361\357\354\335\341\362 \354\357\361\366\336\362 \354\360\353\357\352" },
+ {T_COLOR, "\327\361\376\354\341" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "\305\360\351\353\357\343\335\362 \364\345\361\354\341\364\351\352\357\375" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "\304\351\341\354\345\363\357\353\341\342\347\364\336\362 HTTP (\363\375\363\364\347\354\341:\350\375\361\341)" },
+ {T_FTP_PROXY__HOST_PORT, "\304\351\341\354\345\363\357\353\341\342\347\364\336\362 FTP (\363\375\363\364\347\354\341:\350\375\361\341)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "\301\360\345\365\350\345\337\341\362 \360\361\374\363\342\341\363\347 (\367\371\361\337\362 \344\351\341\354\345\363\357\353\341\342\347\364\336) \345\360\351\350\347\354\334\364\371\355 (\344\351\341\367\371\361\351\363\354\374\362 \354\345 \352\374\354\354\341\364\341)" },
+ {T_NETWORK_OPTIONS, "\305\360\351\353\357\343\335\362 \344\351\352\364\375\357\365" },
+ {T_MAX_CONNECTIONS, "\314\335\343\351\363\364\357\362 \341\361\351\350\354\374\362 \363\365\355\344\335\363\345\371\355" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "\314\335\343\351\363\364\357\362 \341\361\351\350\354\374\362 \363\365\355\344\335\363\345\371\355 \363\345 \335\355\341 \345\356\365\360\347\361\345\364\347\364\336" },
+ {T_RETRIES, "\305\360\341\355\341\353\336\370\345\351\362 \360\361\357\363\360\334\350\345\351\341\362" },
+ {T_RECEIVE_TIMEOUT_SEC, "\313\336\356\347 \367\361\374\355\357\365 \353\336\370\347\362 (\344\345\365\364\345\361\374\353\345\360\364\341)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "\313\336\356\347 \367\361\374\355\357\365 \374\364\341\355 \344\345 \354\360\357\361\345\337 \355\341 \345\360\341\355\341\352\351\355\347\350\345\337" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "\301\363\375\343\367\361\357\355\345\362 \341\351\364\336\363\345\351\362 DNS" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "\312\341\350\357\361\351\363\354\374\362 \367\361\374\355\357\365 \363\364\341 \354\345\364\341\366\357\361\364\371\354\335\355\341 \341\361\367\345\337\341" },
+ {T_CACHE_OPTIONS, "\305\360\351\353\357\343\335\362 \360\361\357\363\371\361\351\355\376\355 \363\345\353\337\344\371\355" },
+ {T_MEMORY_CACHE_SIZE__KB, "\314\335\343\345\350\357\362 \354\355\336\354\347\362 \343\351\341 \360\361\357\363\371\361\351\355\335\362 \363\345\353\337\344\345\362 (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "\301\361\351\350\354\374\362 \354\357\361\366\357\360\357\351\347\354\335\355\371\355 \345\343\343\361\334\366\371\355" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "\305\360\351\353\357\343\335\362 HTML" },
+ {T_DISPLAY_TABLES, "\305\354\366\334\355\351\363\347 \360\351\355\334\352\371\355" },
+ {T_DISPLAY_FRAMES, "\305\354\366\334\355\351\363\347 \360\353\341\351\363\337\371\355" },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "\305\354\366\334\355\351\363\347 \363\365\355\344\335\363\354\371\355 \363\364\351\362 \345\351\352\374\355\345\362" },
+ {T_LINK_ORDER_BY_COLUMNS, "\314\345\364\341\352\337\355\347\363\347 \342\334\363\347 \363\364\347\353\376\355 \363\364\357\365\362 \360\337\355\341\352\345\362" },
+ {T_NUMBERED_LINKS, "\301\361\351\350\354\347\354\335\355\357\351 \363\375\355\344\345\363\354\357\351" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "\320\345\361\351\350\376\361\351\357 \352\345\351\354\335\355\357\365" },
+ {T_DEFAULT_CODEPAGE, "\305\356' \357\361\351\363\354\357\375 \352\371\344\351\352\357\363\345\353\337\344\341" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "\301\343\355\374\347\363\347 \360\353\347\361\357\366\357\361\351\376\355 \352\371\344\351\352\357\363\345\353\337\344\341\362 \364\357\365 \345\356\365\360\347\361\345\364\347\364\336" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "\320\336\343\341\351\355\345 \363\364\357 URL" },
+ {T_GO_BACK, "\320\336\343\341\351\355\345 \360\337\363\371" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "\311\363\364\357\361\351\352\374" },
+ {T_RELOAD, "\305\360\341\355\341\366\374\361\364\371\363\347" },
+ {T_NEW_WINDOW, "\315\335\357 \360\341\361\334\350\365\361\357" },
+ {T_SAVE_AS, "\301\360\357\350\336\352\345\365\363\347 \371\362" },
+ {T_SAVE_URL_AS, "\301\360\357\350\336\352\345\365\363\347 URL \371\362" },
+ {T_SAVE_FORMATTED_DOCUMENT, "\301\360\357\350\336\352\345\365\363\347 \354\357\361\366\357\360\357\351\347\354\335\355\357\365 \352\345\351\354\335\355\357\365" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "\324\345\361\354\341\364\351\363\354\376\355 \363\365\355\344\335\363\345\371\355 \360\341\361\341\363\352\347\355\337\357\365" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "\304\351\341\343\361\341\366\336 \360\361\357\363\366\334\364\371\355 \363\345\353\337\344\371\355" },
+ {T_RESOURCE_INFO, "\320\353\347\361\357\366\357\361\337\345\362 \360\374\361\357\365" },
+ {T_OS_SHELL, "\326\353\357\351\374\362 \313.\323." },
+ {T_EXIT, "\270\356\357\344\357\362" },
+ {T_SEARCH, "\301\355\341\346\336\364\347\363\347" },
+ {T_SEARCH_BACK, "\301\355\341\346\336\364\347\363\347 \360\337\363\371" },
+ {T_FIND_NEXT, "\305\375\361\345\363\347 \345\360\374\354\345\355\357\365" },
+ {T_FIND_PREVIOUS, "\270\365\361\345\363\347 \360\361\357\347\343\357\375\354\345\355\357\365" },
+ {T_TOGGLE_HTML_PLAIN, "\305\355\355\341\353\341\343\336 HTML/\341\360\353\374" },
+ {T_DOCUMENT_INFO, "\320\353\347\361\357\366\357\361\337\345\362 \345\343\343\361\334\366\357\365" },
+ {T_FRAME_AT_FULL_SCREEN, "\320\353\341\337\363\351\357 \363\345 \360\353\336\361\347 \357\350\374\355\347" },
+ {T_SAVE_HTML_OPTIONS, "\301\360\357\350\336\352\345\365\363\347 \345\360\351\353\357\343\376\355 HTML" },
+ {T_CHARACTER_SET, "\320\337\355\341\352\341\362 \367\341\361\341\352\364\336\361\371\355" },
+ {T_CACHE, "\320\361\374\363\366\341\364\345\362 \363\345\353\337\344\345\362" },
+ {T_MAIL_AND_TELNEL, "\301\353\353\347\353\357\343\361\341\366\337\341 \352\341\351 telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "\301\355\364\351\363\364\357\351\367\337\363\345\351\362" },
+ {T_FILE_EXTENSIONS, "\312\341\364\341\353\336\356\345\351\362 \341\361\367\345\337\371\355" },
+ {T_SAVE_OPTIONS, "\301\360\357\350\336\352\345\365\363\347 \345\360\351\353\357\343\376\355" },
+ {T_FILE, "\301\361\367\345\337\357" },
+ {T_VIEW, "\305\354\366\334\355\351\363\347" },
+ {T_LINK, "\323\375\355\344\345\363\354\357\362" },
+ {T_DOWNLOADS, "\314\345\364\341\366\357\361\364\376\363\345\351\362" },
+ {T_SETUP, "\321\365\350\354\337\363\345\351\362" },
+ {T_HELP, "\302\357\336\350\345\351\341" },
+ {T_ENTER_URL, "\305\351\363\341\343\371\343\336 URL" },
+ {T_SAVE_URL, "\301\360\357\350\336\352\345\365\363\347 URL" },
+ {T_DOWNLOAD, "\314\345\364\341\366\374\361\364\371\363\347" },
+ {T_SAVE_TO_FILE, "\301\360\357\350\336\352\345\365\363\347 \363\345 \341\361\367\345\337\357" },
+ {T_SEARCH_FOR_TEXT, "\301\355\341\346\336\364\347\363\347 \352\345\351\354\335\355\357\365" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "\301\355\341\354\357\355\336 \363\364\347\355 \357\365\361\334" },
+ {T_LOOKING_UP_HOST, "\305\375\361\345\363\347 \363\365\363\364\336\354\341\364\357\362" },
+ {T_MAKING_CONNECTION, "\303\337\355\345\364\345 \363\375\355\344\345\363\347" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, NULL },
+ {T_REQUEST_SENT, "\323\364\334\353\350\347\352\345 \341\337\364\347\363\347" },
+ {T_GETTING_HEADERS, "\313\336\370\347 \352\345\366\341\353\337\344\371\355" },
+ {T_LOGGING_IN, NULL },
+ {T_SERVER_IS_PROCESSING_REQUEST, "\317 \345\356\365\360\347\361\345\364\347\364\336\362 \345\360\345\356\345\361\343\334\346\345\364\345 \364\347\355 \341\337\364\347\363\347" },
+ {T_TRANSFERRING, "\303\337\355\345\364\345 \354\345\364\341\366\357\361\334" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "\301\355\341\354\357\355\336 \345\360\351\342\345\342\341\337\371\363\347\362 \345\360\341\355\341\344\351\345\375\350\365\355\363\347\362" },
+ {T_INTERRUPTED, "\304\351\341\352\374\360\347\352\345" },
+ {T_SOCKET_EXCEPTION, "\305\356\341\337\361\345\363\347 \365\360\357\344\357\367\335\341" },
+ {T_INTERNAL_ERROR, "\305\363\371\364\345\361\351\352\374 \363\366\334\353\354\341" },
+ {T_OUT_OF_MEMORY, "\307 \354\355\336\354\347 \345\356\341\355\364\353\336\350\347\352\345" },
+ {T_HOST_NOT_FOUND, "\317 \345\356\365\360\347\361\345\364\347\364\336\362 \344\345 \342\361\335\350\347\352\345" },
+ {T_ERROR_WRITING_TO_SOCKET, "\323\366\334\353\354\341 \345\343\343\361\341\366\336\362 \363\364\357\355 \365\360\357\344\357\367\335\341" },
+ {T_ERROR_READING_FROM_SOCKET, "\323\366\334\353\354\341 \341\355\334\343\355\371\363\347\362 \341\360\374 \365\360\357\344\357\367\335\341" },
+ {T_DATA_MODIFIED, "\304\345\344\357\354\335\355\341 \364\361\357\360\357\360\357\351\336\350\347\352\341\355" },
+ {T_BAD_URL_SYNTAX, "\314\347 \335\343\352\365\361\357 \363\365\355\364\341\352\364\351\352\374 URL" },
+ {T_RECEIVE_TIMEOUT, "\313\336\356\347 \367\361\374\355\357\365 \353\336\370\347\362" },
+ {T_REQUEST_MUST_BE_RESTARTED, "\307 \341\337\364\347\363\347 \360\361\335\360\345\351 \355\341 \345\360\341\355\341\352\351\355\347\350\345\337" },
+ {T_CANT_GET_SOCKET_STATE, "\301\344\375\355\341\364\347 \347 \353\336\370\347 \352\341\364\334\363\364\341\363\347\362 \365\360\357\344\357\367\335\341" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "\314\347 \335\343\352\365\361\347 \341\360\334\355\364\347\363\347 HTTP" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "\304\345\355 \365\360\334\361\367\345\351 \360\345\361\351\345\367\374\354\345\355\357" },
+ {T_UNKNOWN_FILE_TYPE, "\266\343\355\371\363\364\357 \345\337\344\357\362 \341\361\367\345\337\357\365" },
+ {T_ERROR_OPENING_FILE, "Error opening file" },
+ {T_BAD_FTP_RESPONSE, "\314\347 \335\343\352\365\361\347 \341\360\334\355\364\347\363\347 FTP" },
+ {T_FTP_SERVICE_UNAVAILABLE, "\307 \365\360\347\361\345\363\337\341 FTP \344\345\355 \345\337\355\341\351 \344\351\341\350\335\363\351\354\347" },
+ {T_BAD_FTP_LOGIN, "\314\347 \335\343\352\365\361\357 \374\355\357\354\341 \367\361\336\363\364\347 FTP" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT command failed" },
+ {T_FILE_NOT_FOUND, "\324\357 \341\361\367\345\337\357 \344\345 \342\361\335\350\347\352\345" },
+ {T_FTP_FILE_ERROR, "\323\366\334\353\354\341 \341\361\367\345\337\357\365 FTP" },
+ {T_UNKNOWN_ERROR, "\266\343\355\371\363\364\357 \363\366\334\353\354\341" },
+ {T_RECEIVED, "\305\353\336\366\350\347\363\341\355" },
+ {T_OF, "\341\360\374" },
+ {T_AVG, "\354.\374." },
+ {T_CUR, "\364\361\335\367\357\355" },
+ {T_AVERAGE_SPEED, "\314\335\363\347 \364\341\367\375\364\347\364\341" },
+ {T_SPEED, "\324\341\367\375\364\347\364\341" },
+ {T_CURRENT_SPEED, "\364\361\335\367\357\365\363\341 \364\341\367\375\364\347\364\341" },
+ {T_ELAPSED_TIME, "\327\361\374\355\357\362 \360\357\365 \360\335\361\341\363\345" },
+ {T_ESTIMATED_TIME, "\345\355\341\360\357\354\345\337\355\371\355 \367\361\374\355\357\362" },
+ {T_BACKGROUND, "\320\341\361\341\363\352\336\355\351\357" },
+ {T_ABORT, "\304\351\341\352\357\360\336" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "\315\341\351" },
+ {T_NO, "\274\367\351" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "\323\366\334\353\354\341 \354\345\364\341\366\374\361\364\371\363\347\362" },
+ {T_COULD_NOT_WRITE_TO_FILE, "\301\344\375\355\341\364\347 \347 \344\347\354\351\357\365\361\343\337\341 \341\361\367\345\337\357\365" },
+ {T_ERROR_DOWNLOADING, "\323\366\334\353\354\341 \354\345\364\341\366\374\361\364\371\363\347\362" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "\301\344\375\355\341\364\347 \347 \344\347\354\351\357\365\361\343\337\341 \341\361\367\345\337\357\365" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "\266\343\355\371\363\364\357 \345\337\344\357\362" },
+ {T_CONTENT_TYPE_IS, "\324\357 \345\337\344\357\362 \360\345\361\351\345\367\357\354\335\355\357\365 \345\337\355\341\351" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "\310\335\353\345\364\345 \355\341 \341\360\357\350\347\352\345\375\363\345\364\345 \336 \355\341 \345\354\366\341\355\337\363\345\364\345 \341\365\364\374 \364\357 \341\361\367\345\337\357;" },
+ {T_SAVE, "\301\360\357\350\336\352\345\365\363\347" },
+ {T_DISPLAY, "\305\354\366\334\355\351\363\347" },
+ {T_WHAT_TO_DO, "\324\337 \350\335\353\345\364\345 \355\341 \352\334\355\345\364\345;" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "\310\335\353\345\364\345 \355\341 \341\355\357\337\356\345\364\345 \364\357 \341\361\367\345\337\357 \354\345" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "\341\360\357\350\336\352\345\365\363\347 \336 \345\354\366\334\355\351\363\347;" },
+ {T_OPEN, "\266\355\357\351\343\354\341" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Do you want to follow redirect and post form data to url" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Do you want to post form data to url" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Do you want to repost form data to url" },
+ {T_WARNING, "\320\361\357\345\351\344\357\360\357\337\347\363\347" },
+ {T_ERROR, "\323\366\334\353\354\341" },
+ {T_WELCOME, "\312\341\353\376\362 \336\353\350\341\364\345" },
+ {T_WELCOME_TO_LINKS, "\312\341\353\376\362 \336\353\350\341\364\345 \363\364\357 links!" },
+ {T_BASIC_HELP, "\320\341\364\336\363\364\345 ESC \343\351\341 \354\345\355\357\375. \345\360\351\353\335\356\364\345 \302\357\336\350\345\351\341->\305\343\367\345\351\361\337\344\351\357 \363\364\357 \354\345\355\357\375 \343\351\341 \364\357 \345\343\367\345\351\361\337\344\351\357 \367\361\336\363\364\347." },
+ {T_LABEL, "\305\364\351\352\335\364\341" },
+ {T_CONTENT_TYPES, "\305\337\344\357\362(\347) \360\345\361\351\345\367\357\354\335\355\357\365" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "\320\361\374\343\361\341\354\354\341 (\364\357 '%' \341\355\364\351\352\341\350\337\363\364\341\364\341\351 \354\345 \374\355\357\354\341 \341\361\367\345\337\357\365)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Block terminal while program running" },
+ {T_RUN_ON_TERMINAL, "\305\352\364\335\353\345\363\347 \363\345 \364\345\361\354\341\364\351\352\374" },
+ {T_RUN_IN_XWINDOW, "\305\352\364\335\353\345\363\347 \363\345 \360\341\361\334\350\365\361\357 \327" },
+ {T_ASK_BEFORE_OPENING, "\305\361\376\364\347\363\347 \360\361\351\355 \364\357 \334\355\357\351\343\354\341" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "\304\351\341\343\361\341\366\336 \341\355\364\351\363\364\357\337\367\351\363\347\362" },
+ {T_ASSOCIATION, "\301\355\364\351\363\364\357\337\367\351\363\347" },
+ {T_EXTENSION_S, "\305\360\335\352\364\341\363\347(\334\363\345\351\362)" },
+ {T_CONTENT_TYPE, "\305\337\344\357\362-\320\345\361\351\345\367\357\354\335\355\357\365" },
+ {T_DELETE_EXTENSION, "\304\351\341\343\361\341\366\336 \352\341\364\334\353\347\356\347\362" },
+ {T_EXTENSION, "\312\341\364\334\353\347\356\347" },
+ {T_eXTENSION, NULL },
+ {T_ERROR_WHILE_POSTING_FORM, "\323\366\334\353\354\341 \352\341\364\334 \364\347\355 \341\360\357\363\364\357\353\336 \366\374\361\354\341\362" },
+ {T_COULD_NOT_GET_FILE, "\301\344\375\355\341\364\347 \347 \353\336\370\347 \341\361\367\345\337\357\365" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "\304\345\355 \365\360\334\361\367\345\351 \360\361\357\347\343\357\375\354\345\355\347 \341\355\341\346\336\364\347\363\347" },
+ {T_SEARCH_STRING_NOT_FOUND, "\324\357 \341\353\366\341\361\351\350\354\347\364\351\352\374 \341\355\341\346\336\364\347\363\347\362 \344\345 \342\361\335\350\347\352\345" },
+ {T_SAVE_ERROR, "\323\366\334\353\354\341 \341\360\357\350\336\352\345\365\363\347\362" },
+ {T_ERROR_WRITING_TO_FILE, "\323\366\334\353\354\341 \345\343\343\361\341\366\336\362 \363\345 \341\361\367\345\337\357" },
+ {T_DISPLAY_USEMAP, "\305\354\366\334\355\351\363\347 \344\357\354\336\362 USEMAP" },
+ {T_FOLLOW_LINK, "\301\352\357\353\357\375\350\347\363\347 \363\365\355\344\335\363\354\357\365" },
+ {T_OPEN_IN_NEW_WINDOW, "\266\355\357\351\343\354\341 \363\345 \355\335\357 \360\341\361\334\350\365\361\357" },
+ {T_DOWNLOAD_LINK, "\314\345\364\341\366\374\361\364\371\363\347 \363\365\355\344\335\363\354\357\365" },
+ {T_RESET_FORM, "\301\361\367\351\352\357\360\357\337\347\363\347 \366\374\361\354\341\362" },
+ {T_SUBMIT_FORM, "\301\360\357\363\364\357\353\336 \366\374\361\354\341\362" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "\301\360\357\363\364\357\353\336 \366\374\361\354\341\362 \352\341\351 \334\355\357\351\343\354\341 \363\345 \355\335\357 \360\341\361\334\350\365\361\357" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "\301\360\357\363\364\357\353\336 \366\374\361\354\341\362 \352\341\351 \354\345\364\341\366\374\361\364\371\363\347" },
+ {T_VIEW_IMAGE, "\305\354\366\334\355\351\363\347 \345\351\352\374\355\341\362" },
+ {T_DOWNLOAD_IMAGE, "\314\345\364\341\366\374\361\364\371\363\347 \345\351\352\374\355\341\362" },
+ {T_NO_LINK_SELECTED, "\304\345\355 \345\360\351\353\335\367\350\347\352\345 \363\375\355\344\345\363\354\357\362" },
+ {T_IMAGE, "\305\351\352\374\355\341" },
+ {T_USEMAP, "USEMAP" },
+ {T_XTERM, "xterm" },
+ {T_TWTERM, NULL },
+ {T_SCREEN, "\317\350\374\355\347" },
+ {T_WINDOW, "\320\341\361\334\350\365\361\357" },
+ {T_FULL_SCREEN, "\320\353\336\361\347\362 \357\350\374\355\347" },
+ {T_BEOS_TERMINAL, "\324\345\361\354\341\364\351\352\374 BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "\301\360\357\363\364\357\353\336 \366\374\361\354\341\362 \363\364\357" },
+ {T_POST_FORM_TO, "\301\360\357\363\364\357\353\336 \366\374\361\354\341\362 \363\364\357" },
+ {T_RADIO_BUTTON, "\312\357\365\354\360\337 \364\375\360\357\365 \361\334\344\351\357\365" },
+ {T_CHECKBOX, "\312\357\365\364\337 \345\360\351\353\357\343\336\362" },
+ {T_SELECT_FIELD, "\320\345\344\337\357 \345\360\351\353\357\343\336\362" },
+ {T_TEXT_FIELD, "\320\345\344\337\357 \352\345\351\354\335\355\357\365" },
+ {T_TEXT_AREA, "\320\345\361\351\357\367\336 \352\345\351\354\335\355\357\365" },
+ {T_FILE_UPLOAD, "\301\355\335\342\341\363\354\341 \341\361\367\345\337\357\365" },
+ {T_PASSWORD_FIELD, "\320\345\344\337\357\365 \352\371\344\351\352\357\375" },
+ {T_BUTTON, NULL },
+ {T_NAME, "\374\355\357\354\341" },
+ {T_VALUE, "\364\351\354\336" },
+ {T_HIT_ENTER_TO, "\360\341\364\336\363\364\345 ENTER \343\351\341 \355\341" },
+ {T_SUBMIT_TO, "\363\364\345\337\353\345\364\345 \363\345" },
+ {T_POST_TO, "\341\360\357\363\364\345\337\353\345\364\345 \363\345" },
+ {T_INFO, "\320\353\347\361\357\366\357\361\337\345\362" },
+ {T_HEADER_INFO, "\320\353\347\361\357\366\357\361\337\345\362 \352\345\366\341\353\337\344\341\362" },
+ {T_YOU_ARE_NOWHERE, "\304\345\355 \345\337\363\364\345 \360\357\365\350\345\355\334!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "\314\335\343\345\350\357\362" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "\341\363\365\354\360\353\336\361\371\364\357" },
+ {T_CODEPAGE, "\312\371\344\351\352\357\363\345\353\337\344\341" },
+ {T_ASSUMED, "\365\360\357\355\357\357\345\337\364\345" },
+ {T_IGNORING_SERVER_SETTING, "\341\343\355\374\347\363\347 \361\375\350\354\351\363\347\362 \345\356\365\360\347\361\345\364\347\364\336" },
+ {T_SERVER, "\305\356\365\360\347\361\345\364\347\364\336\362" },
+ {T_DATE, "\307\354\345\361\357\354\347\355\337\341" },
+ {T_LAST_MODIFIED, "\324\345\353\345\365\364\341\337\341 \364\361\357\360\357\360\357\337\347\363\347" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "\303\353\376\363\363\341" },
+ {T_GO_TO_LINK, "\320\336\343\341\351\355\345 \363\364\357 \363\375\355\344\345\363\354\357" },
+ {T_ENTER_LINK_NUMBER, "\305\351\363\334\343\345\364\345 \341\361\351\350\354\374 \363\365\355\344\335\363\354\357\365" },
+ {T_RESIZE_TERMINAL, "\301\353\353\341\343\336 \354\345\343\335\350\357\365\362 \364\345\361\354\341\364\351\352\357\375" },
+ {T_COLUMNS, "\323\364\336\353\345\362" },
+ {T_ROWS, "\303\361\341\354\354\335\362" },
+ {T_GOTO, "\320\336\343\341\351\355\345" },
+ {T_CLOSE, "\312\353\345\337\363\351\354\357" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "\320\361\357\363\350\336\352\347" },
+ {T_DELETE, "\304\351\341\343\361\341\366\336" },
+ {T_EDIT, "\305\360\345\356\345\361\343\341\363\337\341" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "\323\345\353\351\344\357\344\345\337\352\364\345\362" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "\320\361\357\363\350\336\352\347 \363\345\353\351\344\357\344\345\337\352\364\347" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, "\324\337\364\353\357\362 \363\345\353\351\344\357\344\345\337\352\364\347" },
+ {T_EDIT_BOOKMARK, "\305\360\345\356\345\361\343\341\363\337\341 \363\345\353\351\344\357\344\345\351\352\364\376\355" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "\304\351\341\343\361\341\366\336 \363\345\353\351\344\357\344\345\337\352\364\347" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "\304\351\341\367\345\351\361\351\363\364\336\362 \363\345\353\351\344\357\344\345\351\352\364\376\355" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, "URL" },
+ {T_NNAME, "\274\355\357\354\341" },
+ {T_EXIT_LINKS, "\270\356\357\344\357\362 \341\360\374 Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "\310\335\353\345\364\345 \363\337\343\357\365\361\341 \355\341 \364\345\361\354\341\364\337\363\345\364\345 \364\357 links;" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "\310\335\353\345\364\345 \363\337\343\357\365\361\341 \355\341 \364\345\361\354\341\364\337\363\345\364\345 \364\357 links (\352\341\351 \355\341 \344\351\341\352\374\370\345\364\345 \374\353\345\362 \364\351\362 \354\345\364\341\366\357\361\364\376\363\345\351\362);" },
+ {T_HTTP_OPTIONS, "\305\360\351\353\357\343\335\362 HTTP" },
+ {T_FTP_OPTIONS, "\305\360\351\353\357\343\335\362 FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "\320\361\374\367\345\351\361\345\362 \353\375\363\345\351\362 \363\366\341\353\354\334\364\371\355 HTTP" },
+ {T_USE_HTTP_10, "\327\361\336\363\347 HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "\327\361\336\363\347 \354\341\375\361\347\362 \353\337\363\364\341\362 \360\361\357\342\353\347\354\341\364\351\352\376\355 \345\356\365\360\347\361\345\364\347\364\376\355" },
+ {T_BROKEN_302_REDIRECT, "\305\363\366\341\353\354\335\355\347 \345\360\341\355\341\352\341\364\345\375\350\365\355\363\347 302 (\345\355\334\355\364\351\341 \364\357\365 RFC, \341\353\353\334 \345\337\355\341\351 \363\365\354\342\341\364\374 \354\345 Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "\304\345\355 \365\360\334\361\367\345\351 \363\375\355\344\345\363\347 keepalive \354\345\364\334 \364\347\355 \341\337\364\347\363\347 POST (\354\345\361\351\352\335\362 \360\361\357\342\353\347\354\341\364\351\352\335\362 \342\334\363\345\351\362 PHP \364\357 \341\360\341\351\364\357\375\355)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "\312\371\344\351\352\374\362 \343\351\341 \341\355\376\355\365\354\347 \363\375\355\344\345\363\347" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "\305\343\367\345\351\361\337\344\351\357 \367\361\336\363\364\347" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, "\320\361\374\343\361\341\354\354\341 \341\353\353\347\353\357\343\361\341\366\337\341\362 (\364\357 % \341\355\364\351\352\341\350\337\363\364\341\364\341\351 \354\345 \364\347 \344\351\345\375\350\365\355\363\347)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "\320\361\374\343\361\341\354\354\341 telnet (\364\357 % \341\355\364\351\352\341\350\337\363\364\341\364\341\351 \354\345 \"\345\356\365\360\347\361\345\364\347\364\336\362\" \336 \"\345\356\365\360\347\361\345\364\347\364\336\362 \350\375\361\341\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "\320\361\374\343\361\341\354\354\341 Tn3270 (\364\357 % \341\355\364\351\352\341\350\337\363\364\341\364\341\351 \354\345 \"\345\356\365\360\347\361\345\364\347\364\336\362\" \336 \"\345\356\365\360\347\361\345\364\347\364\336\362 \350\375\361\341\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "\320\361\357\343\361\334\354\354\341\364\341 \341\353\353\347\353\357\343\361\341\366\337\341\362 \352\341\351 telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "\304\345\355 \365\360\334\361\367\345\351 \360\361\374\343\361\341\354\354\341" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "\304\345\355 \352\341\350\357\361\337\363\364\347\352\345 \360\361\374\343\361\341\354\354\341 \343\351\341" },
+ {T_MAIL, "\341\353\353\347\353\357\343\361\341\366\337\341" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "\305\363\366\341\353\354\335\355\357 URL mailto" },
+ {T_BAD_TELNET_URL, "\305\363\366\341\353\354\335\355\357 URL telnet" },
+ {T_BAD_TN3270_URL, "\305\363\366\341\353\354\335\355\357 URL tn3270" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "\274\355\357\354\341 \367\361\336\363\364\347" },
+ {T_PASSWORD, "\312\371\344\351\352\374\362" },
+ {T_ENTER_USERNAME, "\305\351\363\334\343\345\364\345 \374\355\357\354\341 \367\361\336\363\364\347 \343\351\341 " },
+ {T_AT, "\363\364\357 " },
+ {T_SSL_ERROR, "\323\366\334\353\354\341 SSL" },
+ {T_NO_SSL, "\301\365\364\336 \347 \335\352\344\357\363\347 \364\357\365 Links \344\345 \344\351\341\350\335\364\345\351 \365\360\357\363\364\336\361\351\356\347 SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "B" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "V" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "F" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "X" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "B" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "F" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "A" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "H" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "A" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "C" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_hungarian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-2" },
+ {T__LANGUAGE, "Hungarian" },
+ {T__ACCEPT_LANGUAGE, "hu" },
+ {T_OK, "OK" },
+ {T_CANCEL, "M\351gsem" },
+ {T_BAD_NUMBER, "Hib\341s sz\341m" },
+ {T_NUMBER_EXPECTED, "Sz\341m nem megengedett a mez\365ben" },
+ {T_NUMBER_OUT_OF_RANGE, "Sz\341m tartom\341nyon k\355v\374l" },
+ {T_BAD_STRING, "Hib\341s sz\366veg" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "\334res sz\366veg nem enged\351lyezett" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Be\341ll\355t\341si hiba" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Nem \355rhat\363 a konfigur\341ci\363s f\341jl" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "A programr\363l" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nLynx-t\355pus\372 sz\366veges WWW b\366ng\351sz\365" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Billenty\373k" },
+ {T_KEYS_DESC, "ESC men\374 megjelen\355t\351s\n^C, q kil\351p\351s\n^P, ^N g\366rget\351s fel, le\n[, ] g\366rget\351s balra, jobbra\nfel, le link kiv\341laszt\341s\n-> link k\366vet\351se\n<- vissza\ng URL-re ugr\341s\nG URL-re ugr\341s (aktu\341lis URL alapj\341n)\n/ keres\351s\n? keres\351s visszafel\351\nn sz\366veg keres\351s\nN el\365z\365 keres\351se\n= dokumentum inform\341ci\363\n\\ dokumentum forr\341s\nd let\366lt\351s" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Szerz\365i jogok" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_2 "\n\nEz egy szabad program; terjesztheted \351s/vagy m\363dos\355thatod a Szabad Szoftver Alap\355tv\341ny \341ltal k\351sz\355tett GNU Licenc m\341sodik vagy k\351s\365bbi verzi\363ja szerint. (www.gnu.org)" },
+ {T_RESOURCES, "Er\365forr\341sok" },
+ {T_CONNECTIONS, "Kapcsolatok" },
+ {T_MEMORY_CACHE, "Gyors\355t\363t\341r" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Bet\373k gyors\355t\363t\341ra" },
+ {T_IMAGE_CACHE, "Gyors\355t\363t\341r a k\351peknek" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Form\341zott dokumentum gyors\355t\363" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "foganty\372k" },
+ {T_TIMERS, "id\365m\351r\365k" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "kapcsol\363d\341s" },
+ {T_tRANSFERRING, "let\366lt\351s" },
+ {T_KEEPALIVE, "\351letben tart\341s" },
+ {T_BYTES, "b\341jt" },
+ {T_LETTERS, "bet\373" },
+ {T_FILES, "f\341jl" },
+ {T_LOCKED, "v\351dett" },
+ {T_LOADING, "t\366lt\351s" },
+ {T_IMAGES, "k\351p" },
+ {T_DOCUMENTS, "dokumentumok" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "b\341jt mem\363ria lefoglalva" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Mem\363ria inform\341ci\363" },
+ {T_NO_HISTORY, "Nincs el\365zm\351ny" },
+ {T_NO_DOWNLOADS, "Nincs let\366lt\351s" },
+ {T_NO_FRAMES, "Nincs keret" },
+ {T_VT_100_FRAMES, "VT 100 keretek" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux vagy OS/2 keretek" },
+ {T_KOI8R_FRAMES, "KOI8-R keretek" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "^[[11m haszn\341lata" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Keretek korl\341toz\341sa cp850/852 alatt." },
+ {T_BLOCK_CURSOR, "T\366mb kurzor" },
+ {T_COLOR, "Sz\355n" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Termin\341l be\341ll\355t\341sok" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Proxy n\351lk\374li hozz\341f\351r\351s a k\366vetkez\365 dom\351nekhez (vessz\365vel elv\341lasztva)" },
+ {T_NETWORK_OPTIONS, "H\341l\363zati tulajdons\341gok" },
+ {T_MAX_CONNECTIONS, "Maxim\341lis kapcsolatok" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Maxim\341lis kapcsolatok egy kiszolg\341l\363hoz" },
+ {T_RETRIES, "Pr\363b\341lkoz\341sok sz\341ma" },
+ {T_RECEIVE_TIMEOUT_SEC, "V\341rakoz\341si id\365 v\351telkor (mp)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "V\341rakoz\341si id\365, ha nem lehet \372jrainditani" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Aszinkron DNS lek\351rdez\351s" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "A let\366lt\366tt f\341jlok idej\351nek be\341ll\355t\341sa" },
+ {T_CACHE_OPTIONS, "Gyors\355t\363t\341r be\341ll\355t\341sok" },
+ {T_MEMORY_CACHE_SIZE__KB, "Gyors\355t\363t\341r m\351rete (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "K\351pek gyors\355t\363t\341ra" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "A form\341zott dokumentumok sz\341ma" },
+ {T_AGGRESSIVE_CACHE, "Agressz\355v gyors\355t\363t\341raz\341s" },
+ {T_HTML_OPTIONS, "HTML be\341ll\355t\341sok" },
+ {T_DISPLAY_TABLES, "T\341bl\341zatok megjelen\355t\351se" },
+ {T_DISPLAY_FRAMES, "Keretek megjelen\355t\351se" },
+ {T_DISPLAY_IMAGES, "K\351pek megjelen\355t\351se" },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "A k\351pre mutat\363 linkek megjelen\355t\351se" },
+ {T_LINK_ORDER_BY_COLUMNS, "T\341bl\341zatban mozg\341s oszloponk\351nt" },
+ {T_NUMBERED_LINKS, "A linkek sz\341mozottak legyenek" },
+ {T_AUTO_REFRESH, "Aut\363matikus friss\355t\351s" },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Sz\366veg marg\363" },
+ {T_DEFAULT_CODEPAGE, "Alap\351rtelmezett k\363dlap" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "A kiszolg\341l\363 \341ltal k\374ld\366tt karaktert\341bla figyelmen k\355v\374l hagy\341sa" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "URL-re ugr\341s" },
+ {T_GO_BACK, "Vissza" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "El\365zm\351nyek" },
+ {T_RELOAD, "Friss\355t\351s" },
+ {T_NEW_WINDOW, "\332j ablak" },
+ {T_SAVE_AS, "Ment\351s m\341sk\351nt" },
+ {T_SAVE_URL_AS, "URL ment\351se m\341sk\351nt" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Form\341zott dokumentum ment\351se" },
+ {T_COPY_URL_LOCATION, "URL c\355m\351nek m\341sol\341sa" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "H\341tt\351rben fut\363 let\366lt\351sek megszak\355t\341sa" },
+ {T_KILL_ALL_CONNECTIONS, "\326sszes kapcsolat megszak\355t\341sa" },
+ {T_FLUSH_ALL_CACHES, "Gyors\355t\363t\341r ki\374r\355t\351se" },
+ {T_RESOURCE_INFO, "Er\365forr\341s inform\341ci\363" },
+ {T_OS_SHELL, "Parancssor" },
+ {T_EXIT, "Kil\351p\351s" },
+ {T_SEARCH, "Keres\351s" },
+ {T_SEARCH_BACK, "Keres\351s visszafel\351" },
+ {T_FIND_NEXT, "K\366vetkez\365 keres\351se" },
+ {T_FIND_PREVIOUS, "El\365z\365 keres\351se" },
+ {T_TOGGLE_HTML_PLAIN, "V\341lt\341s HTML/forr\341s k\366z\366tt" },
+ {T_DOCUMENT_INFO, "Dokumentum inform\341ci\363" },
+ {T_FRAME_AT_FULL_SCREEN, "Keret teljes k\351perny\365re" },
+ {T_SAVE_HTML_OPTIONS, "HTML be\341ll\355t\341sok ment\351se" },
+ {T_CHARACTER_SET, "K\363dlapok" },
+ {T_CACHE, "Gyors\355t\363t\341r" },
+ {T_MAIL_AND_TELNEL, "Lev\351l \351s telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Hozz\341rendel\351sek" },
+ {T_FILE_EXTENSIONS, "F\341jl kiterjeszt\351sek" },
+ {T_SAVE_OPTIONS, "Be\341ll\355t\341sok ment\351se" },
+ {T_FILE, "F\341jl" },
+ {T_VIEW, "N\351zet" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "Let\366lt\351sek" },
+ {T_SETUP, "Be\341ll\355t\341sok" },
+ {T_HELP, "S\372g\363" },
+ {T_ENTER_URL, "URL be\355r\341sa" },
+ {T_SAVE_URL, "URL ment\351se" },
+ {T_DOWNLOAD, "Let\366lt\351s" },
+ {T_SAVE_TO_FILE, "Ment\351s f\341jlba" },
+ {T_SEARCH_FOR_TEXT, "Sz\366veg keres\351se" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "Sorban \341ll\341s" },
+ {T_LOOKING_UP_HOST, "Kiszolg\341l\363 keres\351se" },
+ {T_MAKING_CONNECTION, "Kapcsolat l\351trehoz\341sa" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "SSL kommunik\341ci\363 kezdem\351nyez\351se" },
+ {T_REQUEST_SENT, "K\351r\351s elk\374ldve" },
+ {T_GETTING_HEADERS, "Fejl\351c fogad\341sa" },
+ {T_LOGGING_IN, "Bejelentkez\351s" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "A kiszolg\341l\363 feldolgozza a k\351r\351st" },
+ {T_TRANSFERRING, "\301tvitel folyamatban" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "V\341rakoz\341s az \341tir\341ny\355t\341s elfogad\341s\341ra" },
+ {T_INTERRUPTED, "Megszak\355tva" },
+ {T_SOCKET_EXCEPTION, "Csatorna elhagy\341s" },
+ {T_INTERNAL_ERROR, "Bels\365 hiba" },
+ {T_OUT_OF_MEMORY, "Kev\351s a mem\363ria" },
+ {T_HOST_NOT_FOUND, "Kiszolg\341l\363 nem tal\341lhat\363" },
+ {T_ERROR_WRITING_TO_SOCKET, "Hiba a csatorn\341ra \355r\341sa k\366zben" },
+ {T_ERROR_READING_FROM_SOCKET, "Hiba a csatorna olvas\341sa k\366zben" },
+ {T_DATA_MODIFIED, "Adat megv\341ltozott" },
+ {T_BAD_URL_SYNTAX, "Hib\341s URL szintaxis" },
+ {T_RECEIVE_TIMEOUT, "Id\365t\372ll\351p\351s v\351telkor" },
+ {T_REQUEST_MUST_BE_RESTARTED, "A k\351r\351st \372jra kellett ind\355tani" },
+ {T_CANT_GET_SOCKET_STATE, "Nem lehet a csatorna \341llapot\341t meg\341llap\355tani" },
+ {T_CYCLIC_REDIRECT, "Ciklikus \341tir\341ny\355t\341s" },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Hib\341s HTTP v\341lasz" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "A lap \374res" },
+ {T_UNKNOWN_FILE_TYPE, "Ismeretlen f\341jlform\341tum" },
+ {T_ERROR_OPENING_FILE, "Hiba a f\341jl megnyit\341sakor" },
+ {T_BAD_FTP_RESPONSE, "Hib\341s FTP v\341lasz" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP szolg\341ltat\341s nem el\351rhet\365" },
+ {T_BAD_FTP_LOGIN, "Hib\341s FTP bejelentkez\351s" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT parancs hiba" },
+ {T_FILE_NOT_FOUND, "A f\341jl nem tal\341lhat\363" },
+ {T_FTP_FILE_ERROR, "FTP f\341jl hiba" },
+ {T_UNKNOWN_ERROR, "Ismeretlen hiba" },
+ {T_RECEIVED, "Fogadott" },
+ {T_OF, ", f\341jlm\351ret" },
+ {T_AVG, "\341tlag" },
+ {T_CUR, "aktu\341lis" },
+ {T_AVERAGE_SPEED, "\301tlagos sebess\351g" },
+ {T_SPEED, "Sebess\351g" },
+ {T_CURRENT_SPEED, "Aktu\341lis sebess\351g" },
+ {T_ELAPSED_TIME, "Eltelt id\365" },
+ {T_ESTIMATED_TIME, "Becs\374lt h\341tralev\365 id\365" },
+ {T_BACKGROUND, "H\341tt\351rbe" },
+ {T_ABORT, "Megszak\355t" },
+ {T_ABORT_AND_DELETE_FILE, "Megszak\355t\341s, \351s a f\341jl t\366rl\351se" },
+ {T_YES, "Igen" },
+ {T_NO, "Nem" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Hiba a let\366lt\351sben" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Hiba a f\341jlba \355r\341s k\366zben" },
+ {T_ERROR_DOWNLOADING, "Let\366lt\351si hiba" },
+ {T_ERROR_LOADING, "Bet\366lt\351si hiba" },
+ {T_COULD_NOT_CREATE_FILE, "F\341jl nem hozhat\363 l\351tre" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Ismeretlen f\341jlform\341tum" },
+ {T_CONTENT_TYPE_IS, "Tartalom t\355pus" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Megnyit\341s, ment\351s vagy megjelen\355t\351s?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Megnyit\341s vagy ment\351s?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Ment\351s f\341jlba vagy megjelen\355t\351s k\351perny\365n?" },
+ {T_SAVE, "Ment\351s" },
+ {T_DISPLAY, "Megjelen\355t\351s" },
+ {T_WHAT_TO_DO, "Mit tegy\374nk?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "F\341jl megnyit\341sa" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "ments\374k vagy jelen\355ts\374k meg?" },
+ {T_OPEN, "Megnyit\341s" },
+ {T_OPEN_WITH, "Megnyit\341s ezzel" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "K\366veted az \341tir\341ny\355t\341st, \351s elk\374ld\366d az \373rlapot" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Elk\374ld\366d az \373rlapot" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "\332jra k\374ld\366d az \373rlapot" },
+ {T_WARNING, "Figyelem" },
+ {T_ERROR, "Hiba" },
+ {T_WELCOME, "\334dv\366zl\374nk" },
+ {T_WELCOME_TO_LINKS, "\334dv\366zl\374nk a Linksben!" },
+ {T_BASIC_HELP, "Nyomj ESC-et a men\374h\366z. V\341laszd ki a S\372g\363/K\351zik\366nyv-et a b\365vebb seg\355ts\351ghez." },
+ {T_LABEL, "C\355mke" },
+ {T_CONTENT_TYPES, "Tartalom t\355pus(ok)" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' a f\341jl neve)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Termin\341l z\341rol\341s a program fut\341sa k\366zben" },
+ {T_RUN_ON_TERMINAL, "Futtat\341s termin\341lban" },
+ {T_RUN_IN_XWINDOW, "Futtat\341s X-Windowban" },
+ {T_ASK_BEFORE_OPENING, "K\351rd\351s megnyit\341s el\365tt." },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Kapcsolatok t\366rl\351se" },
+ {T_ASSOCIATION, "Kapcsolatok" },
+ {T_EXTENSION_S, "Kiterjeszt\351s(ek)" },
+ {T_CONTENT_TYPE, "Tartalom t\355pus(ok)" },
+ {T_DELETE_EXTENSION, "Kiterjeszt\351sek t\366rl\351se" },
+ {T_EXTENSION, "Kiterjeszt\351sek" },
+ {T_eXTENSION, "kiterjeszt\351sek" },
+ {T_ERROR_WHILE_POSTING_FORM, "Hiba az \373rlap elk\374ld\351se k\366zben" },
+ {T_COULD_NOT_GET_FILE, "Nem fogadhat\363 a f\341jl" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Nincs kor\341bbi keres\351s" },
+ {T_SEARCH_STRING_NOT_FOUND, "Keresett sz\366veg nem tal\341lhat\363." },
+ {T_SAVE_ERROR, "Ment\351si hiba" },
+ {T_ERROR_WRITING_TO_FILE, "Hiba a f\341jl \355r\341sa k\366zben" },
+ {T_DISPLAY_USEMAP, "T\351rk\351p megjelen\355t\351se" },
+ {T_FOLLOW_LINK, "Link k\366vet\351se" },
+ {T_OPEN_IN_NEW_WINDOW, "Megnyit\341s \372j ablakban." },
+ {T_DOWNLOAD_LINK, "Link let\366lt\351se" },
+ {T_RESET_FORM, "\333rlap t\366rl\351se" },
+ {T_SUBMIT_FORM, "\333rlap elfogad\341sa" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "\333rlap elfogad\341sa \351s megnyit\341sa \372j ablakban" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "\333rlap elfogad\341sa \351s let\366lt\351s" },
+ {T_VIEW_IMAGE, "K\351p megtekint\351se" },
+ {T_DOWNLOAD_IMAGE, "K\351p let\366lt\351se" },
+ {T_NO_LINK_SELECTED, "Nincs kiv\341lasztott link" },
+ {T_IMAGE, "K\351p" },
+ {T_USEMAP, "T\351rk\351p haszn\341lata" },
+ {T_XTERM, "XTerm" },
+ {T_TWTERM, "TWterm" },
+ {T_SCREEN, "K\351perny\365" },
+ {T_WINDOW, "Ablak" },
+ {T_FULL_SCREEN, "Teljes k\351perny\365" },
+ {T_BEOS_TERMINAL, "BeOS termin\341l" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "\333rlap elfogad\341sa" },
+ {T_POST_FORM_TO, "\333rlap elk\374ld\351se" },
+ {T_RADIO_BUTTON, "R\341di\363 gomb" },
+ {T_CHECKBOX, "Jel\366l\365n\351gyzet" },
+ {T_SELECT_FIELD, "Mez\365 kiv\341laszt\341sa" },
+ {T_TEXT_FIELD, "Sz\366veg mez\365" },
+ {T_TEXT_AREA, "Sz\366veg ter\374let" },
+ {T_FILE_UPLOAD, "F\341jl felt\366lt\351se" },
+ {T_PASSWORD_FIELD, "Jelsz\363 mez\365" },
+ {T_BUTTON, "Nyom\363gomb" },
+ {T_NAME, "n\351v" },
+ {T_VALUE, "\351rt\351k" },
+ {T_HIT_ENTER_TO, "\334ss ENTER-t" },
+ {T_SUBMIT_TO, "elfogad" },
+ {T_POST_TO, "elk\374ld" },
+ {T_INFO, "Inform\341ci\363" },
+ {T_HEADER_INFO, "Fejl\351c inf\363" },
+ {T_YOU_ARE_NOWHERE, "Nincs megnyitott oldal!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "M\351ret" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "sikertelen" },
+ {T_CODEPAGE, "K\363dlap" },
+ {T_ASSUMED, "felt\351telezett" },
+ {T_IGNORING_SERVER_SETTING, "kiszolg\341l\363 be\341ll\355t\341s figyelmen k\355v\374l hagy\341sa" },
+ {T_SERVER, "Kiszolg\341l\363" },
+ {T_DATE, "D\341tum" },
+ {T_LAST_MODIFIED, "Utols\363 m\363dos\355t\341s" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Nyelv" },
+ {T_GO_TO_LINK, "Ugr\341s linkre" },
+ {T_ENTER_LINK_NUMBER, "\315rd be a link sz\341m\341t" },
+ {T_RESIZE_TERMINAL, "Termin\341l \341tm\351retez\351se" },
+ {T_COLUMNS, "Oszlopok" },
+ {T_ROWS, "Sorok" },
+ {T_GOTO, "Ugr\341s" },
+ {T_CLOSE, "Bez\341r" },
+ {T_FOLDER, "Mappa" },
+ {T_fOLDER, "Mappa" },
+ {T_ADD, "Hozz\341ad" },
+ {T_DELETE, "T\366rl\351s" },
+ {T_EDIT, "Szerkeszt" },
+ {T_MOVE, "Mozgat\341s" },
+ {T_NO_ITEMS_SELECTED, "Nincsenek bejegyz\351sek kiv\341lasztva" },
+ {T_UNSELECT_ALL, "Kijel\366l\351st megsz\374ntet" },
+ {T_BOOKMARKS, "K\366nyvjelz\365k" },
+ {T_BOOKMARK, "K\366nyvjelz\365" },
+ {T_ADD_BOOKMARK, "K\366nyvjelz\365kh\366z hozz\341f\373z" },
+ {T_ADD_ASSOCIATION, "\332j hozz\341rendel\351s" },
+ {T_ADD_EXTENSION, "Kiterjeszt\351s hozz\341ad\341sa" },
+ {T_ADD_FOLDER, "Mappa hozz\341ad\341sa" },
+ {T_BOOKMARK_TITLE, "K\366nyvjelz\365 neve" },
+ {T_EDIT_BOOKMARK, "K\366nyvjelz\365 szerkeszt\351se" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, "Kiterjeszt\351s szerkeszt\351se" },
+ {T_DELETE_BOOKMARK, "K\366nyvjelz\365 t\366rl\351se" },
+ {T_EDIT_FOLDER, "Mappa szerkeszt\351se" },
+ {T_DELETE_FOLDER, "Mappa t\366rl\351se" },
+ {T_NOT_EMPTY_SURE_DELETE, "Nem \374res. Biztosan t\366r\366lj\374k?" },
+ {T_BOOKMARK_MANAGER, "K\366nyvjelz\365 kezel\365" },
+ {T_ASSOCIATIONS_MANAGER, "Hozz\341rendel\351sek" },
+ {T_EXTENSIONS_MANAGER, "Kiterjeszt\351sek" },
+ {T_url, "url" },
+ {T_NNAME, "N\351v" },
+ {T_EXIT_LINKS, "Kil\351p\351s" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Biztos, hogy kil\351psz a Linksb\365l?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Biztos, hogy kil\351psz a Linksb\365l (\351s megszak\355tod az aktiv let\366lt\351seket)?" },
+ {T_HTTP_OPTIONS, "HTTP opci\363k" },
+ {T_FTP_OPTIONS, "FTP opci\363k" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP hiba megold\341sa" },
+ {T_USE_HTTP_10, "HTTP/1.0 haszn\341lata" },
+ {T_ALLOW_SERVER_BLACKLIST, "A hib\341s szerverek feketelist\341j\341nak enged\351lyez\351se" },
+ {T_BROKEN_302_REDIRECT, "Megszak\355tott 302 \341tir\341ny\355t\341s (megszegi a RFC-t, de kompatibilis a Netscape-pel.)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Nincs \351l\365 kapcsolat POST k\351r\351s ut\341n (n\351h\341ny hib\341s PHP adatb\341zisnak kell)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, "Nincs Accept-Charset k\374ld\351s" },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "Nincs referer" },
+ {T_REFERER_SAME_URL, "A k\351rt URL k\374ld\351se refererk\351nt" },
+ {T_REFERER_FAKE, "R\366gz\355tett referer" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "Val\363di referer k\374ld\351se (norm\341l m\373k\366d\351s, vesz\351lyes!!!)" },
+ {T_FAKE_REFERER, "R\366gz\355tett HTTP referer" },
+ {T_FAKE_USERAGENT, "A b\366ng\351sz\365 azonos\355t\341sa mint:" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Jelsz\363 az anonymous ftp bel\351p\351shez" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "K\351zik\366nyv" },
+ {T_HOMEPAGE, "Honlap" },
+ {T_CALIBRATION, "Kalibr\341ci\363" },
+ {T_MAILTO_PROG, "Levelez\365 program (% hely\351re \355rd be a c\355med)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Telnet program (% hely\351re \355rd be \'kiszolg\341l\363\' vagy \'kiszolg\341l\363 port\')" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Tn3270 program (% hely\351re \355rd be \'kiszolg\341l\363\' vagy \'kiszolg\341l\363 port\')" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Levelez\365 \351s Telnet programok" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Nincs program" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Nincs program be\341ll\355tva" },
+ {T_MAIL, "levelez\351s" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "Hib\341s lev\351lk\374ld\351si URL" },
+ {T_BAD_TELNET_URL, "Hib\341s telnet URL" },
+ {T_BAD_TN3270_URL, "Hib\341s tn3270 URL" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "Felhaszn\341l\363i azonos\355t\363" },
+ {T_PASSWORD, "Jelsz\363" },
+ {T_ENTER_USERNAME, "Felhaszn\341l\363n\351v sz\374ks\351ges ehhez:" },
+ {T_AT, NULL },
+ {T_SSL_ERROR, "SSL hiba" },
+ {T_NO_SSL, "A Links ezen verzi\363ja nem t\351mogatja az SSL/TLS titkos\355t\341st." },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "Biztosan t\366r\366lhet\365?" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "A k\366nyvjelz\365k haszn\341latban vannak" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, "Vide\363 be\341ll\355t\341sok" },
+ {T_VIDEO_OPTIONS_TEXT, "Javasolt \351rt\351kek:\n 1.33 s\366t\351t k\366rnyezethez, 1.11 f\351lhom\341lyhoz, 1 \341tlagos megvil\341g\355t\341s eset\351n, 0.88 f\351nyes k\366rnyezethez." },
+ {T_RED_DISPLAY_GAMMA, "V\366r\366s gamma \351rt\351k" },
+ {T_GREEN_DISPLAY_GAMMA, "Z\366ld gamma \351rt\351k" },
+ {T_BLUE_DISPLAY_GAMMA, "K\351k gamma \351rt\351k" },
+ {T_USER_GAMMA, "egyedi gamma" },
+ {T_ALERT, "Figyelmeztet\351s" },
+ {T_QUESTION, "K\351rd\351s" },
+ {T_KILL_SCRIPT, "A script le\341ll\355t\341sa" },
+ {T_KILL_ALL_SCRIPTS, "Minden script le\341ll\355t\341sa" },
+ {T_SCRIPT_KILLED_BY_USER, "A javascript megszak\355tva" },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "A javascript be akarja z\341rni az ablakot. Val\363ban bez\341rjuk?" },
+ {T_ENTER_STRING, "Sz\366vegbevitel" },
+ {T_JAVASCRIPT_OPTIONS, "Javascript be\341ll\355t\341sok" },
+ {T_ENABLE_JAVASCRIPT, "A javascript enged\351lyez\351se" },
+ {T_VERBOSE_JS_ERRORS, "B\365vebb javascript hiba\374zenetek" },
+ {T_VERBOSE_JS_WARNINGS, "B\365vebb javascript figyelmeztet\365 \374zenetek" },
+ {T_MISCELANEOUS_OPTIONS, "K\374l\366nleges be\341ll\355t\341sok" },
+ {T_JAVASCRIPT_ERROR, "Javascript hiba" },
+ {T_JAVASCRIPT_WARNING, "Javascript figyelmeztet\351s" },
+ {T_DISMISS, "Hat\341stalan\355t" },
+ {T_MENU_FONT_SIZE, "Men\374 bet\373m\351rete" },
+ {T_USER_FONT_SIZE, "Felhaszn\341l\363i bet\373m\351ret" },
+ {T_TURN_OFF_WARNINGS, "Figyelmeztet\351sek kikapcsol\341sa" },
+ {T_BOOKMARKS_ENCODING, "K\366nyvjelz\365k k\363dol\341sa" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "A Javascript erre az URL-re szeretne ugrani" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "A javascript \372j ablakban nyitn\341 meg ezt az URL-t" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "A javascript a historyra akar ugrani" },
+ {T_TO_URL, "URL-re ugr\341s" },
+ {T_GOTO_HISTORY, "El\365zm\351nyekhez" },
+ {T_ALLOW, "Enged\351lyez" },
+ {T_REJECT, "Elutas\355t" },
+ {T_ENABLE_ALL_CONVERSIONS, "Minden konverzi\363 enged\351lyez\351se" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Glob\341lis n\351vfelold\341s" },
+ {T_MANUAL_JS_CONTROL, "A javascript m\373veletek k\351zi j\363v\341hagy\341sa" },
+ {T_JS_RECURSION_DEPTH, "Rekurzi\363s m\351lys\351g" },
+ {T_MENU_BACKGROUND_COLOR, "Men\374 h\341tt\351rsz\355n" },
+ {T_MENU_FOREGROUND_COLOR, "Men\374 bet\373sz\355n" },
+ {T_SCROLL_BAR_BAR_COLOR, "G\366rget\365s\341v cs\372szka sz\355ne" },
+ {T_SCROLL_BAR_AREA_COLOR, "G\366rget\365s\341v bels\365 sz\355ne" },
+ {T_SCROLL_BAR_FRAME_COLOR, "G\366rget\365s\341v keret\351nek sz\355ne" },
+ {T_BOOKMARKS_FILE, "K\366nyvjelz\365 \341llom\341ny" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "A sz\355neket k\351tb\341jtos hexa \351rt\351kkel add meg (RRGGBB)" },
+ {T_JS_MEMORY_LIMIT_KB, "A Javascript sz\341m\341ra fenntartott mem\363ria (KiB)" },
+ {T_DITHER_LETTERS, "Bet\373k optimaliz\341l\341sa kisebb sz\355nm\351lys\351ghez" },
+ {T_DITHER_IMAGES, "K\351pek optimaliz\341l\341sa kisebb sz\355nm\351lys\351ghez" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "K\351pek \341tm\351retez\351se (%-kal)" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, "K\351perny\365 optimaliz\341l\341sa CRT monitorhoz" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "K\351perny\365 optimaliz\341l\341sa LCD-hez (RGB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "K\351perny\365 optimaliz\341l\341sa LCD-hez (BGR)" },
+ {T_ASPECT_RATIO, "Torz\355t\341si ar\341ny" },
+ {T_ASPECT_CORRECTION_ON, "Torz\355t\341s korrekci\363 bekapcsol\341sa" },
+ {T_KEYBOARD_CODEPAGE, "Billenty\373zet k\363dlapja" },
+ {T_COPY_LINK_LOCATION, "Link c\355m\351nek m\341sol\341sa" },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "U" },
+ {T_HK_GO_BACK, "V" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "E" },
+ {T_HK_RELOAD, "F" },
+ {T_HK_BOOKMARKS, "K" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "S" },
+ {T_HK_SAVE_URL_AS, "R" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "H" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "T" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "K" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "V" },
+ {T_HK_FIND_NEXT, "K" },
+ {T_HK_FIND_PREVIOUS, "E" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "T" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "M" },
+ {T_HK_LANGUAGE, "N" },
+ {T_HK_CHARACTER_SET, "K" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "H" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "G" },
+ {T_HK_MAIL_AND_TELNEL, "L" },
+ {T_HK_ASSOCIATIONS, "R" },
+ {T_HK_FILE_EXTENSIONS, "K" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "P" },
+ {T_HK_KEYS, "B" },
+ {T_HK_COPYING, "S" },
+ {T_HK_MANUAL, "K" },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_icelandic [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-1" },
+ {T__LANGUAGE, "Icelandic" },
+ {T__ACCEPT_LANGUAGE, "is" },
+ {T_OK, "\315 lagi" },
+ {T_CANCEL, "H\346tta vi\360" },
+ {T_BAD_NUMBER, "\323gild tala" },
+ {T_NUMBER_EXPECTED, "B\372ist vi\360 t\366lu \341 reit" },
+ {T_NUMBER_OUT_OF_RANGE, "Tala ekki \355 mengi" },
+ {T_BAD_STRING, "\323gildur strengur" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "T\363mur strengur \363heimill" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Uppsetningarvilla" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Villa vi\360 ritun uppsetningarskr\341r" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Um" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW vafri" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Lyklar" },
+ {T_KEYS_DESC, "ESC S\375na valbla\360\n^C, q h\346tta\n^P, ^N skruna upp, ni\360ur\n[, ] skruna vinstri, h\346gri\nup, down velja tengil\n-> elta tengil\n<- til baka\ng opna sl\363\360\nG opna sl\363\360 eftir n\372verandi\n/ leita\n? leita \366fugt\nn finna n\346sta\nN finna fyrra\n= uppl. skjals\n\\ k\363\360i skjals\nd hla\360a ni\360ur" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Afritun" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\n\336etta forrit er frj\341ls hugb\372na\360ur; \376\372 getur dreift og/e\360a breytt honum samkv\346mt skilm\341lum GNU General Public License leyfisins eftir Free Software Foundation; anna\360hvort \372tg\341fu 2 af leyfinu, e\360a (eftir \376inni eigin hentisemi) hva\360a seinni \372tg\341fu sem er." },
+ {T_RESOURCES, "Kerfis\376ol" },
+ {T_CONNECTIONS, "Tengingar" },
+ {T_MEMORY_CACHE, "Skyndiminni" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "Forsni\360i\360 skyndiminni skr\341a" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "handf\366ng" },
+ {T_TIMERS, "teljarar" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "tengist" },
+ {T_tRANSFERRING, "flyt g\366gn" },
+ {T_KEEPALIVE, "tengingarhald" },
+ {T_BYTES, "b\346ti" },
+ {T_LETTERS, NULL },
+ {T_FILES, "skr\341r" },
+ {T_LOCKED, "l\346st" },
+ {T_LOADING, "hle\360" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "skj\366l" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "skilgreint minni" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Uppl. minnis" },
+ {T_NO_HISTORY, "Engin saga" },
+ {T_NO_DOWNLOADS, "Engar ni\360urhle\360slur" },
+ {T_NO_FRAMES, "Engir rammar" },
+ {T_VT_100_FRAMES, "VT 100 rammar" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux or OS/2 rammar" },
+ {T_KOI8R_FRAMES, "KOI8-R rammar" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Nota ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Afturhalda r\366mmum \355 cp850/852" },
+ {T_BLOCK_CURSOR, "Blokkarbendill" },
+ {T_COLOR, "Litur" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Stillingar skeljar" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP sel (mi\360lari:g\341tt)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP sel (mi\360lari:g\341tt)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, NULL },
+ {T_NETWORK_OPTIONS, "Stillingar netkerfis" },
+ {T_MAX_CONNECTIONS, "H\341mark tenginga" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "H\341mark tenginga vi\360 hvern mi\360lara" },
+ {T_RETRIES, "Endurtektir" },
+ {T_RECEIVE_TIMEOUT_SEC, "S\363knarfrestur (sek)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "S\363knarfrestur \376egar ekki endurtektarh\346ft" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Samhli\360a nafna\376j\363nakall" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "T\355mi ni\360urhla\360inna skr\341a" },
+ {T_CACHE_OPTIONS, "Stillingar skyndiminnis" },
+ {T_MEMORY_CACHE_SIZE__KB, "St\346r\360 skyndiminnis (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Tala forsni\360inna skjala" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "Html stillingar" },
+ {T_DISPLAY_TABLES, "S\375na t\366flur" },
+ {T_DISPLAY_FRAMES, "S\375na ramma" },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "S\375na sl\363\360ir a\360 myndum" },
+ {T_LINK_ORDER_BY_COLUMNS, "F\346ra eftir d\341lkum \355 t\366flum" },
+ {T_NUMBERED_LINKS, "Tenglar eru n\372mera\360ir" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Textasp\341ss\355a" },
+ {T_DEFAULT_CODEPAGE, "Sj\341lfgefi\360 stafasett" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Hunsa stafasett sent fr\341 mi\360lara" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Opna sl\363\360" },
+ {T_GO_BACK, "Til baka" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Saga" },
+ {T_RELOAD, "Endurhla\360a" },
+ {T_NEW_WINDOW, "N\375r gluggi" },
+ {T_SAVE_AS, "Vista sem" },
+ {T_SAVE_URL_AS, "Vista sl\363\360 sem" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Vista forsni\360i\360 skjal" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Drepa tengingar \355 bakgrunni" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "Hreinsa allt skyndiminni" },
+ {T_RESOURCE_INFO, "Uppl. kerfis\376ols" },
+ {T_OS_SHELL, "Kerfisskel" },
+ {T_EXIT, "H\346tta" },
+ {T_SEARCH, "Leita" },
+ {T_SEARCH_BACK, "Leita \366fugt" },
+ {T_FIND_NEXT, "Finna n\346sta" },
+ {T_FIND_PREVIOUS, "Finna fyrra" },
+ {T_TOGGLE_HTML_PLAIN, "Skipta \341 milli html/texta" },
+ {T_DOCUMENT_INFO, "Uppl. skjals" },
+ {T_FRAME_AT_FULL_SCREEN, "Rammar \355 st\346rstu skj\341mynd" },
+ {T_SAVE_HTML_OPTIONS, "Vista html stillingar" },
+ {T_CHARACTER_SET, "Stafasett" },
+ {T_CACHE, "Skyndiminni" },
+ {T_MAIL_AND_TELNEL, "P\363st- og telnet forrit" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Forritatengsl" },
+ {T_FILE_EXTENSIONS, "Skr\341arendingar" },
+ {T_SAVE_OPTIONS, "Vista stillingar" },
+ {T_FILE, "Skr\341" },
+ {T_VIEW, "Vi\360m\363t" },
+ {T_LINK, "Tenglar" },
+ {T_DOWNLOADS, "Ni\360urhle\360slur" },
+ {T_SETUP, "Uppsetning" },
+ {T_HELP, "Hj\341lp" },
+ {T_ENTER_URL, "Setja inn sl\363\360" },
+ {T_SAVE_URL, "Vista sl\363\360" },
+ {T_DOWNLOAD, "Ni\360urhla\360a" },
+ {T_SAVE_TO_FILE, "Vista \355 skr\341" },
+ {T_SEARCH_FOR_TEXT, "Leita a\360 texta" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "B\355\360 \355 r\366\360" },
+ {T_LOOKING_UP_HOST, "Leita a\360 mi\360lara" },
+ {T_MAKING_CONNECTION, "Opna tengingu" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, NULL },
+ {T_REQUEST_SENT, "Fyrirspurn send" },
+ {T_GETTING_HEADERS, "N\346 \355 hausa" },
+ {T_LOGGING_IN, NULL },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Mi\360lari er a\360 vinna \372r fyrirspurn" },
+ {T_TRANSFERRING, "Flyt g\366gn" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "B\355\360 eftir sta\360festingu endurkasts" },
+ {T_INTERRUPTED, "Truflun" },
+ {T_SOCKET_EXCEPTION, "Villa \355 gagnaflutningi" },
+ {T_INTERNAL_ERROR, "Innri villa" },
+ {T_OUT_OF_MEMORY, "Minni \341 \376rotum" },
+ {T_HOST_NOT_FOUND, "Mi\360lari ekki fundinn" },
+ {T_ERROR_WRITING_TO_SOCKET, "Villa vi\360 ritun til nets" },
+ {T_ERROR_READING_FROM_SOCKET, "Villa vi\360 lestur nets" },
+ {T_DATA_MODIFIED, "G\366gnum breytt" },
+ {T_BAD_URL_SYNTAX, "\323gild sl\363\360" },
+ {T_RECEIVE_TIMEOUT, "S\363knarfrestur \372trunninn" },
+ {T_REQUEST_MUST_BE_RESTARTED, "Endurgera ver\360ur fyrirspurn" },
+ {T_CANT_GET_SOCKET_STATE, "Finn ekki st\366\360u g\341ttar" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "\323gilt HTTP svar" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Ekkert efni" },
+ {T_UNKNOWN_FILE_TYPE, "\323\376ekkt skr\341artegund" },
+ {T_ERROR_OPENING_FILE, "Villa vi\360 opnun skr\341ar" },
+ {T_BAD_FTP_RESPONSE, "\323gilt FTP svar" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP \376j\363nusta ekki tilt\346k" },
+ {T_BAD_FTP_LOGIN, "\323gild FTP innstimplun" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT skipun mist\363kst" },
+ {T_FILE_NOT_FOUND, "Skr\341 ekki fundin" },
+ {T_FTP_FILE_ERROR, "FTP skr\341arvilla" },
+ {T_UNKNOWN_ERROR, "\323\376ekkt villa" },
+ {T_RECEIVED, "Teki\360 \341 m\363ti" },
+ {T_OF, "af" },
+ {T_AVG, "me\360alt" },
+ {T_CUR, "n\372v" },
+ {T_AVERAGE_SPEED, "Me\360alhra\360i" },
+ {T_SPEED, "Hra\360i" },
+ {T_CURRENT_SPEED, "N\372verandi hra\360i" },
+ {T_ELAPSED_TIME, "Li\360inn t\355mi" },
+ {T_ESTIMATED_TIME, "metinn t\355mi" },
+ {T_BACKGROUND, "Bakgrunnur" },
+ {T_ABORT, "H\346tta vi\360" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "J\341" },
+ {T_NO, "Nei" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "ni\360urhle\360sluvilla" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Gat ekki skrifa\360 \355 skr\341" },
+ {T_ERROR_DOWNLOADING, "Villa vi\360 ni\360urhle\360slu" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "Gat ekki b\372i\360 til skr\341" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "\323\376ekkt ger\360" },
+ {T_CONTENT_TYPE_IS, "Innihaldsger\360 er" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Viltu sj\341 e\360a vista innihald \376essarar skr\341ar?" },
+ {T_SAVE, "Vista" },
+ {T_DISPLAY, "Sj\341" },
+ {T_WHAT_TO_DO, "Hva\360 skal gera?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Viltu opna skr\341 me\360" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "Vista hana e\360a opna hana?" },
+ {T_OPEN, "Opna" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Viltu fylgja endurspeglun og senda \376essar uppl\375singar \341 sl\363\360ina" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Viltu senda \376essar uppl\375singar \341 sl\363\360ina" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Viltu endursenda fyrri uppl\375singar \341 sl\363\360ina" },
+ {T_WARNING, "Vi\360v\366run" },
+ {T_ERROR, "Villa" },
+ {T_WELCOME, "Velkomin" },
+ {T_WELCOME_TO_LINKS, "Veri\360 velkomin til Links!" },
+ {T_BASIC_HELP, "\335ttu \341 ESC fyrir valbla\360. Veldu Hj\341lp->Handb\363k \355 valbla\360i fyrir handb\363kina." },
+ {T_LABEL, "Mi\360i" },
+ {T_CONTENT_TYPES, "Innihaldstegundir" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Forrit ('%' er skipt \372t fyrir sk\341arheiti)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Fela skel \341 me\360an forrit er keyrt" },
+ {T_RUN_ON_TERMINAL, "Keyra \341 skel" },
+ {T_RUN_IN_XWINDOW, "Keyra \355 X-Windows" },
+ {T_ASK_BEFORE_OPENING, "Spyrja fyrir opnun" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Ey\360a forritatengslum" },
+ {T_ASSOCIATION, "Forritatengsl" },
+ {T_EXTENSION_S, "Skr\341arendingar" },
+ {T_CONTENT_TYPE, "Innihaldstegund" },
+ {T_DELETE_EXTENSION, "Ey\360a skr\341arendingu" },
+ {T_EXTENSION, "Skr\341arending" },
+ {T_eXTENSION, "skr\341arending" },
+ {T_ERROR_WHILE_POSTING_FORM, "Villa vi\360 p\363stun forms" },
+ {T_COULD_NOT_GET_FILE, "Gat ekki s\363tt skr\341" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Engin fyrri leit" },
+ {T_SEARCH_STRING_NOT_FOUND, "Leitarstrengur ekki fundinn" },
+ {T_SAVE_ERROR, "Vistunarvilla" },
+ {T_ERROR_WRITING_TO_FILE, "Villa vi\360 ritun skr\341ar" },
+ {T_DISPLAY_USEMAP, "S\375na notkunarkort" },
+ {T_FOLLOW_LINK, "Elta sl\363\360" },
+ {T_OPEN_IN_NEW_WINDOW, "Opna \355 n\375jum glugga" },
+ {T_DOWNLOAD_LINK, "Hla\360a ni\360ur tengil" },
+ {T_RESET_FORM, "Hreinsa form" },
+ {T_SUBMIT_FORM, "Senda form" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Senda form og opna n\375jan glugga" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Senda form og hla\360a ni\360ur" },
+ {T_VIEW_IMAGE, "Sko\360a mynd" },
+ {T_DOWNLOAD_IMAGE, "Hla\360a ni\360ur mynd" },
+ {T_NO_LINK_SELECTED, "Enginn tengill valinn" },
+ {T_IMAGE, "Mynd" },
+ {T_USEMAP, "Notkunarkort" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, NULL },
+ {T_SCREEN, "Skj\341r" },
+ {T_WINDOW, "Gluggi" },
+ {T_FULL_SCREEN, "Fullskj\341r" },
+ {T_BEOS_TERMINAL, "BeOS skel" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Senda form til" },
+ {T_POST_FORM_TO, "Senda form til" },
+ {T_RADIO_BUTTON, "Einvalshnappur" },
+ {T_CHECKBOX, "Fj\366lvalshnappur" },
+ {T_SELECT_FIELD, "Einvalsreitur" },
+ {T_TEXT_FIELD, "Textareitur" },
+ {T_TEXT_AREA, "Textasv\346\360i" },
+ {T_FILE_UPLOAD, "Upphl\366\360un skr\341ar" },
+ {T_PASSWORD_FIELD, "Lykilor\360areitur" },
+ {T_BUTTON, NULL },
+ {T_NAME, "nafn" },
+ {T_VALUE, "gildi" },
+ {T_HIT_ENTER_TO, "\375ttu \341 ENTER til a\360" },
+ {T_SUBMIT_TO, "senda til" },
+ {T_POST_TO, "senda til" },
+ {T_INFO, "Uppl\375singar" },
+ {T_HEADER_INFO, NULL },
+ {T_YOU_ARE_NOWHERE, "\336\372 ert hvergi!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "sl\363\360" },
+ {T_SIZE, "St\346r\360" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "\363kl\341ra\360" },
+ {T_CODEPAGE, "Lyklasett" },
+ {T_ASSUMED, "gert r\341\360 fyrir" },
+ {T_IGNORING_SERVER_SETTING, "hunsa stillingar mi\360lara" },
+ {T_SERVER, "Mi\360lari" },
+ {T_DATE, "Dagsetning" },
+ {T_LAST_MODIFIED, "Seinast breytt" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Tungum\341l" },
+ {T_GO_TO_LINK, "Opna tengil" },
+ {T_ENTER_LINK_NUMBER, "Innsetning tenglan\372mer" },
+ {T_RESIZE_TERMINAL, "Setja skj\341st\346r\360 skeljar" },
+ {T_COLUMNS, "D\341lkar" },
+ {T_ROWS, "Ra\360ir" },
+ {T_GOTO, "Fara til" },
+ {T_CLOSE, "Loka" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "B\346ta vi\360" },
+ {T_DELETE, "Ey\360a" },
+ {T_EDIT, "Breyta" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "B\363kamerki" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "B\346ta vi\360 b\363kamerki" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, "Titill b\363kamerkis" },
+ {T_EDIT_BOOKMARK, "Breyta b\363kamerki" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "Ey\360a b\363kamerki" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "B\363kamerkjastj\363ri" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, "sl\363\360" },
+ {T_NNAME, "Nafn" },
+ {T_EXIT_LINKS, "Loka Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Viltu virkilega loka Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Viltu virkilega loka Links (og h\346tta vi\360 allar ni\360urhle\360slur)?" },
+ {T_HTTP_OPTIONS, "HTTP stillingar" },
+ {T_FTP_OPTIONS, "FTP stillingar" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP afl\372sun" },
+ {T_USE_HTTP_10, "Nota HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Leyfa svartan lista g\366t\363ttra vef\376j\363na" },
+ {T_BROKEN_302_REDIRECT, "Brotnar endursendingar 302 (\376a\360 br\375tur RFC, en er Netscape-samh\346ft)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Engar endurl\355fganir eftir POST fyrirspurn (sumir g\366t\363ttir PHP grunnar \376arfnast \376ess)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Lykilor\360 fyrir \363nafngreindar innskr\341ningar" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Handb\363k" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, "P\363stforrit (% er skipt \372t fyrir netfang)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Telnet forrit (% er skipt \372t fyrir \"mi\360lari\" e\360a \"mi\360lari g\341tt\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Tn3270 forrit (% er skipt \372t fyrir \"mi\360lari\" e\360a \"mi\360lari g\341tt\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "P\363st- og telnet forrit" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Ekkert forrit" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Ekkert forrit skilgreint fyrir" },
+ {T_MAIL, "p\363stur" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "Rangt p\363stfang" },
+ {T_BAD_TELNET_URL, "Rangt netfang" },
+ {T_BAD_TN3270_URL, "Rangt netfang" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, NULL },
+ {T_PASSWORD, NULL },
+ {T_ENTER_USERNAME, NULL },
+ {T_AT, NULL },
+ {T_SSL_ERROR, NULL },
+ {T_NO_SSL, NULL },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "O" },
+ {T_HK_GO_BACK, "B" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "S" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "E" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "V" },
+ {T_HK_SAVE_URL_AS, "T" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "F" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "Y" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "L" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "H" },
+ {T_HK_SEARCH, "L" },
+ {T_HK_SEARCH_BACK, "E" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "F" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "U" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "R" },
+ {T_HK_HTML_OPTIONS, "S" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "A" },
+ {T_HK_LANGUAGE, "T" },
+ {T_HK_CHARACTER_SET, "S" },
+ {T_HK_TERMINAL_OPTIONS, "K" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "Y" },
+ {T_HK_MAIL_AND_TELNEL, "P" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "I" },
+ {T_HK_ABOUT, "U" },
+ {T_HK_KEYS, "L" },
+ {T_HK_COPYING, "A" },
+ {T_HK_MANUAL, "H" },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "S" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "T" },
+ {T_HK_DOWNLOADS, "N" },
+ {T_HK_SETUP, "U" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "E" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "T" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "S" },
+ {T_HK_DOWNLOAD_IMAGE, "M" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_italian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "it-ascii" },
+ {T__LANGUAGE, "Italian" },
+ {T__ACCEPT_LANGUAGE, "it" },
+ {T_OK, "OK" },
+ {T_CANCEL, "Cancella" },
+ {T_BAD_NUMBER, "Numero sbagliato" },
+ {T_NUMBER_EXPECTED, "atteso numero nel campo" },
+ {T_NUMBER_OUT_OF_RANGE, "Numero fuori intervallo" },
+ {T_BAD_STRING, "Stringa sbagliata" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Stringa vuota non consentita" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Errore configurazione" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Non posso scrivere il file di configurazione" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "About" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWeb browser." },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Tasti" },
+ {T_KEYS_DESC, "ESC mostra menu\n^C, q esci\n^P, ^N scrolla su, giu'\n[, ] scrolla sinistra, destra\nup, down selezione link\n-> segui link\n<- indietro\ng apri url\nG apri url relativo a url correntel\n/ cerca\n? cerca indietro\nn trova prossimo\nN trova precedente\n= info documento\n\\ sorgente documento\nd scarica" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Copying" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\nQuesto programma e' free software; lo puoi ridistribuire e/o modificare nei termini della GNU General Public License come pubblicato dalla Free Software Foundation; sia la versione 2 della Licenza, o (a tua scelta) ogni altra versione successiva" },
+ {T_RESOURCES, "Risorse" },
+ {T_CONNECTIONS, "Connessioni" },
+ {T_MEMORY_CACHE, "Cache memoria" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "Cache documenti formattati" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "handles" },
+ {T_TIMERS, "contatori" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "connessione in corso" },
+ {T_tRANSFERRING, "trasferimenti in corso" },
+ {T_KEEPALIVE, "keepalive" },
+ {T_BYTES, "bytes" },
+ {T_LETTERS, NULL },
+ {T_FILES, "files" },
+ {T_LOCKED, "Bloccati" },
+ {T_LOADING, "caricamenti in corso" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "documenti" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "byte di memoria allocati" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Info memoria" },
+ {T_NO_HISTORY, "Nessuna cronologia" },
+ {T_NO_DOWNLOADS, "Nessun download" },
+ {T_NO_FRAMES, "Non utilizzare frame" },
+ {T_VT_100_FRAMES, "Frame VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "Frame Linux o OS/2" },
+ {T_KOI8R_FRAMES, "Frame KOI8-R" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Usa ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Frame ristrette in cp850/852" },
+ {T_BLOCK_CURSOR, "cursore a blocco" },
+ {T_COLOR, "Colore" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Opzioni terminale" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "Proxy HTTP (host:porta)" },
+ {T_FTP_PROXY__HOST_PORT, "Proxy FTP (host:porta)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, NULL },
+ {T_NETWORK_OPTIONS, "Opzioni di rete" },
+ {T_MAX_CONNECTIONS, "Connessioni massime" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Connessioni massime ad un host" },
+ {T_RETRIES, "Tentativi" },
+ {T_RECEIVE_TIMEOUT_SEC, "Timeout ricezione (sec)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout quando non riavviabile" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Ricerca asincrona DNS" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Imposta ora del file scaricato" },
+ {T_CACHE_OPTIONS, "Opzioni cache" },
+ {T_MEMORY_CACHE_SIZE__KB, "Dimensione memoria cache (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Numero di documenti formattati" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "Opzioni html" },
+ {T_DISPLAY_TABLES, "Visualizza tabelle" },
+ {T_DISPLAY_FRAMES, "Visualizza frame" },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Visualizza i link alle immagini" },
+ {T_LINK_ORDER_BY_COLUMNS, "Muoviti a collonne nelle tabelle" },
+ {T_NUMBERED_LINKS, "I links sono numerati" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Margine testo" },
+ {T_DEFAULT_CODEPAGE, "Codepage predefinita" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignora le informazioni sul charset mandate dal server" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Apri URL" },
+ {T_GO_BACK, "Indietro" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Cronologia" },
+ {T_RELOAD, "Ricarica" },
+ {T_NEW_WINDOW, "Nuova finestra" },
+ {T_SAVE_AS, "Salva come" },
+ {T_SAVE_URL_AS, "Salva URL come" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Salva documento formattato" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Uccidi connessioni in background" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "Svuota tutte le cache" },
+ {T_RESOURCE_INFO, "Informazioni risorse" },
+ {T_OS_SHELL, "OS shell" },
+ {T_EXIT, "Esci" },
+ {T_SEARCH, "Cerca" },
+ {T_SEARCH_BACK, "Cerca indietro" },
+ {T_FIND_NEXT, "Trova successivo" },
+ {T_FIND_PREVIOUS, "Trova precedente" },
+ {T_TOGGLE_HTML_PLAIN, "Inverti html/plain" },
+ {T_DOCUMENT_INFO, "Informazioni documento" },
+ {T_FRAME_AT_FULL_SCREEN, "Frame a tutto schermo" },
+ {T_SAVE_HTML_OPTIONS, "Salva opzioni html" },
+ {T_CHARACTER_SET, "Set caratteri" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "Mail e Telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Associazioni" },
+ {T_FILE_EXTENSIONS, "Estensioni File" },
+ {T_SAVE_OPTIONS, "Salva opzioni" },
+ {T_FILE, "File" },
+ {T_VIEW, "Visualizza" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "Download" },
+ {T_SETUP, "Impostazioni" },
+ {T_HELP, "Aiuto" },
+ {T_ENTER_URL, "Inserisci URL" },
+ {T_SAVE_URL, "Salva URL" },
+ {T_DOWNLOAD, "Download" },
+ {T_SAVE_TO_FILE, "Salva su file" },
+ {T_SEARCH_FOR_TEXT, "Cerca testo" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "Attesa in coda" },
+ {T_LOOKING_UP_HOST, "Cerco host" },
+ {T_MAKING_CONNECTION, "Effettuo connessione" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, NULL },
+ {T_REQUEST_SENT, "Richiesta spedita" },
+ {T_GETTING_HEADERS, "Ricezione headers" },
+ {T_LOGGING_IN, NULL },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Il server sta elaborando la richiesta" },
+ {T_TRANSFERRING, "Trasferimento" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Attesa conferma redirezione" },
+ {T_INTERRUPTED, "Interrotto" },
+ {T_SOCKET_EXCEPTION, "Eccezione socket" },
+ {T_INTERNAL_ERROR, "Errore interno" },
+ {T_OUT_OF_MEMORY, "Memoria esaurita" },
+ {T_HOST_NOT_FOUND, "Host non trovato" },
+ {T_ERROR_WRITING_TO_SOCKET, "Errore in scrittura su socket" },
+ {T_ERROR_READING_FROM_SOCKET, "Errore in lettura da socket" },
+ {T_DATA_MODIFIED, "Data modificata" },
+ {T_BAD_URL_SYNTAX, "Sintassi URL errata" },
+ {T_RECEIVE_TIMEOUT, "Ricevuto timeout" },
+ {T_REQUEST_MUST_BE_RESTARTED, "La richiesta deve essere riavviata" },
+ {T_CANT_GET_SOCKET_STATE, "Non posso prendere lo stato della socket" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Risposta HTTP errata" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Nessun contenuto" },
+ {T_UNKNOWN_FILE_TYPE, "Tipo file sconosciuto" },
+ {T_ERROR_OPENING_FILE, "Errore nell'apertura del file" },
+ {T_BAD_FTP_RESPONSE, "Risposta FTP errata" },
+ {T_FTP_SERVICE_UNAVAILABLE, "Servizio FTP non attivo" },
+ {T_BAD_FTP_LOGIN, "Errore login FTP" },
+ {T_FTP_PORT_COMMAND_FAILED, "Comando FTP PORT fallito" },
+ {T_FILE_NOT_FOUND, "File non trovato" },
+ {T_FTP_FILE_ERROR, "Errore file FTP" },
+ {T_UNKNOWN_ERROR, "Errore sconosciuto" },
+ {T_RECEIVED, "Ricevuti" },
+ {T_OF, "di" },
+ {T_AVG, "media" },
+ {T_CUR, "corrente" },
+ {T_AVERAGE_SPEED, "Velocita' media" },
+ {T_SPEED, "Velocita'" },
+ {T_CURRENT_SPEED, "Velocita' corrente" },
+ {T_ELAPSED_TIME, "Tempo trascorso" },
+ {T_ESTIMATED_TIME, "tempo stimato" },
+ {T_BACKGROUND, "Background" },
+ {T_ABORT, "Interrompi" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "Si" },
+ {T_NO, "No" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Errore download" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Non posso scrivere sul file" },
+ {T_ERROR_DOWNLOADING, "Errore dureante il download" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "Non posso creare il file" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Tipo sconosciuto" },
+ {T_CONTENT_TYPE_IS, "Il tipo contenuto e'" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Vuoi salvare o visualizzare il file?" },
+ {T_SAVE, "Salva" },
+ {T_DISPLAY, "Visualizza" },
+ {T_WHAT_TO_DO, "Cosa fare ?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Vuoi aprire il file con" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "salvataggio o visualizzazione ?" },
+ {T_OPEN, "Apri" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Vuoi seguire la redirezione e spedire di dati all'URL" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Vuoi spedire i dati all'url" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Vuoi rispedire i dati all'url" },
+ {T_WARNING, "Attenzione" },
+ {T_ERROR, "Errore" },
+ {T_WELCOME, "Benvenuto" },
+ {T_WELCOME_TO_LINKS, "Benvenuto in links!" },
+ {T_BASIC_HELP, "Premi ESC per il menu. Seleziona Help->Manuale nel menu' per il manuale utente." },
+ {T_LABEL, "Etichetta" },
+ {T_CONTENT_TYPES, "Tipo(i) contenuto" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programma ('%' e' sostituito con il nome del file)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blocca il terminale mentre il programma e' attivo" },
+ {T_RUN_ON_TERMINAL, "Esegui in un terminale" },
+ {T_RUN_IN_XWINDOW, "Esegui in X-Window" },
+ {T_ASK_BEFORE_OPENING, "Chiedi prima di aprire" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Cancella associazione" },
+ {T_ASSOCIATION, "Associazione" },
+ {T_EXTENSION_S, "Estensione(i)" },
+ {T_CONTENT_TYPE, "Tipo contenuto" },
+ {T_DELETE_EXTENSION, "Cancella estensioni" },
+ {T_EXTENSION, "Estensione" },
+ {T_eXTENSION, "estensione" },
+ {T_ERROR_WHILE_POSTING_FORM, "Errore durante l'invio dei dati" },
+ {T_COULD_NOT_GET_FILE, "Non posso scaricare il file" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Nessuna ricerca precedente" },
+ {T_SEARCH_STRING_NOT_FOUND, "Stringa cercata non trovata" },
+ {T_SAVE_ERROR, "Errore salvataggio" },
+ {T_ERROR_WRITING_TO_FILE, "Errore scrittura del file" },
+ {T_DISPLAY_USEMAP, "Visualizza usemap" },
+ {T_FOLLOW_LINK, "Segui link" },
+ {T_OPEN_IN_NEW_WINDOW, "Apri in una nuova finestra" },
+ {T_DOWNLOAD_LINK, "Scarica link" },
+ {T_RESET_FORM, "Cancella form" },
+ {T_SUBMIT_FORM, "Invia form" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Invia form e apri in una nuova finestra" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Invia form e scarica" },
+ {T_VIEW_IMAGE, "Visualizza immagine" },
+ {T_DOWNLOAD_IMAGE, "Scarica immagine" },
+ {T_NO_LINK_SELECTED, "Nessun link selezionato" },
+ {T_IMAGE, "Immmagine" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Schermo" },
+ {T_WINDOW, "Finestra" },
+ {T_FULL_SCREEN, "Tutto schermo" },
+ {T_BEOS_TERMINAL, "Terminale BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Sottometti form a" },
+ {T_POST_FORM_TO, "Invia form a" },
+ {T_RADIO_BUTTON, "Radio button" },
+ {T_CHECKBOX, "Checkbox" },
+ {T_SELECT_FIELD, "Campo selezionato" },
+ {T_TEXT_FIELD, "Campo testo" },
+ {T_TEXT_AREA, "Area testo" },
+ {T_FILE_UPLOAD, "Upload file" },
+ {T_PASSWORD_FIELD, "Campo password" },
+ {T_BUTTON, NULL },
+ {T_NAME, "nome" },
+ {T_VALUE, "valore" },
+ {T_HIT_ENTER_TO, "premi ENTER per" },
+ {T_SUBMIT_TO, "sottometti a" },
+ {T_POST_TO, "invia a" },
+ {T_INFO, "Info" },
+ {T_HEADER_INFO, NULL },
+ {T_YOU_ARE_NOWHERE, "Sei nel nulla!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Dimensione" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "incompleto" },
+ {T_CODEPAGE, "Codepage" },
+ {T_ASSUMED, "assunta" },
+ {T_IGNORING_SERVER_SETTING, "ignoro i settaggi del server" },
+ {T_SERVER, "Server" },
+ {T_DATE, "Data" },
+ {T_LAST_MODIFIED, "Ultima modifica" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Lingua" },
+ {T_GO_TO_LINK, "vai al link" },
+ {T_ENTER_LINK_NUMBER, "Inserisci il numero del link" },
+ {T_RESIZE_TERMINAL, "Ridimensiona terminale" },
+ {T_COLUMNS, "Colonne" },
+ {T_ROWS, "Righe" },
+ {T_GOTO, "Vai a" },
+ {T_CLOSE, "Chiudi" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "Aggiungi" },
+ {T_DELETE, "Cancella" },
+ {T_EDIT, "Modifica" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "Bookmark" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "Aggiungi bookmark" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, "Titolo bookmark " },
+ {T_EDIT_BOOKMARK, "Modifica bookmark" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "Cancella bookmark" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "Gestore bookmark" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, "url" },
+ {T_NNAME, "Nome" },
+ {T_EXIT_LINKS, "Chiudi Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Vuoi veramente uscire da Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Vuoi veramente uscire da Links (e terminare tutti i download)?" },
+ {T_HTTP_OPTIONS, "Opzioni HTTP" },
+ {T_FTP_OPTIONS, "Opzioni FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP bug workarounds" },
+ {T_USE_HTTP_10, "Usa HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Permetti blacklist per i server difettosi" },
+ {T_BROKEN_302_REDIRECT, "Redirezione 302 errata (viola gli RFC, ma e' compatibile con Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Nessuna connessione keepalive dopo una richiesta POST (necessario per alcuni database PHP difettosi)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Password per login anonimo" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Manuale utente" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, "Programma mail (% e' sostituito con l'indirizzo)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Programma telnet (% e' sostituito con \"host\" o \"host port\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Programma Tn3270 (% e' sostituito con \"host\" o \"host port\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Programmi mail e telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Nessun programma" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Nessun programma definito per" },
+ {T_MAIL, "mail" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "Errato mailto url" },
+ {T_BAD_TELNET_URL, "Errato telnet url" },
+ {T_BAD_TN3270_URL, "Errato tn3270 url" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, NULL },
+ {T_PASSWORD, NULL },
+ {T_ENTER_USERNAME, NULL },
+ {T_AT, NULL },
+ {T_SSL_ERROR, NULL },
+ {T_NO_SSL, NULL },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "B" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "V" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "F" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "E" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "B" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "F" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "A" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "H" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "A" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "C" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_lithuanian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "Windows-1257" },
+ {T__LANGUAGE, "Lithuanian" },
+ {T__ACCEPT_LANGUAGE, "lt" },
+ {T_OK, "Gerai" },
+ {T_CANCEL, "At\360aukti" },
+ {T_BAD_NUMBER, "Netinkamas skai\350ius" },
+ {T_NUMBER_EXPECTED, "Laukelyje reikia \341vesti skai\350i\370" },
+ {T_NUMBER_OUT_OF_RANGE, "Skai\350ius per didelis" },
+ {T_BAD_STRING, "Neteisinga eilut\353" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Eilut\353 negali b\373ti tu\360\350ia" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Config\373ravimo klaida" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Ne\341manoma \341ra\360yti \341 konfig\373racijos fail\340" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Apie" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nLynx-tipo tekstin\353 nar\360ykl\353" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Klavi\360ai" },
+ {T_KEYS_DESC, "ESC parodyti meniu\n^C, q i\360eiti\n^P, ^N l\353tai \341 vir\360\370, \341 apa\350i\340\n[, ] l\353tai \341 kair\346, \341 de\360in\346\nup, down pa\376ym\353ti nuorod\340\n-> sekti nuorod\340 \n<- atgal\ng eiti adresu..\nG eiti adresu \360iame serveryje..\n/ ie\360koti\n? ie\360koti atgal\nn surasti sekant\341 \nN surasti prie\360 tai buvus\341\n= dokumento informacija\n\\ dokumento \360altinis\nd parsi\373sti" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Licenzija" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\n\320i programa yra nemokama; tu gali platinti j\340 ir/arba modifikuoti pagal GNU Bendraj\340 Publicistin\346 Licenzij\340 (GPL), para\360yt\340 Nemokam\370 Program\370 Fondo (Free Software Foundation); pagal 2 Licenzijos versij\340, arba (kaip jau tu nor\353si) koki\340 v\353lesn\346." },
+ {T_RESOURCES, "Resursai" },
+ {T_CONNECTIONS, "Prisijungimai" },
+ {T_MEMORY_CACHE, "Laikinoji atmintis" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "Suformuoto dokumento laikinoji atmintis" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "valdikliai" },
+ {T_TIMERS, "laiko matuokliai" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "jungiasi" },
+ {T_tRANSFERRING, "siun\350ia" },
+ {T_KEEPALIVE, "keepalive" },
+ {T_BYTES, "baitai" },
+ {T_LETTERS, NULL },
+ {T_FILES, "failai" },
+ {T_LOCKED, "u\376rakintas" },
+ {T_LOADING, "kraunasi" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "dokumentai" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "bait\370 atminties i\360skirta" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Atminties informacija" },
+ {T_NO_HISTORY, "N\353r istorijos" },
+ {T_NO_DOWNLOADS, "N\353r siuntim\370" },
+ {T_NO_FRAMES, "Nenaudoti r\353m\370" },
+ {T_VT_100_FRAMES, "VT 100 r\353mai" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux ar OS/2 r\353mai" },
+ {T_KOI8R_FRAMES, "KOI8-R r\353mai" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Naudoti ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Apriboti r\353mus cp850/852 koduot\353se" },
+ {T_BLOCK_CURSOR, "Blokuoti \376ymekl\341" },
+ {T_COLOR, "Spalvos" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Terminalo opcijos" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP proksi (hostas:portas)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP proksi (hostas:portas)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, NULL },
+ {T_NETWORK_OPTIONS, "Tinklo opcijos" },
+ {T_MAX_CONNECTIONS, "Daugiausia prisijungim\370" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Daugiausia prisijungim\370 \341 t\340 pat\341 host\340" },
+ {T_RETRIES, "Pakartojimai" },
+ {T_RECEIVE_TIMEOUT_SEC, "Gavimo timeout'as (sek)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout'as kai neperkaunama" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Asinchroi\360ka DNS paie\360ka" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Nustatyti parsi\370st\370 fail\370 laik\340" },
+ {T_CACHE_OPTIONS, "Laikinosios atminties opcijos" },
+ {T_MEMORY_CACHE_SIZE__KB, "Laikinosios atminties dydis (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Suformuot\370 dokument\370 sai\350ius" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "Html opcijos" },
+ {T_DISPLAY_TABLES, "Rodyti lenteles" },
+ {T_DISPLAY_FRAMES, "Rodyti r\353mus" },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Rodyti nuorodas \341 paveiksl\353lius" },
+ {T_LINK_ORDER_BY_COLUMNS, "Jud\353ti pagal kolonas lentel\353je" },
+ {T_NUMBERED_LINKS, "Nuorodas su\376ym\353ti" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Teksto para\360t\353" },
+ {T_DEFAULT_CODEPAGE, "Standartin\353 koduot\353" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignoruoti serverio siun\350iam\340 koduot\353s informacij\340" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Eiti \341 puslap\341.." },
+ {T_GO_BACK, "Eiti atgal" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Istorija" },
+ {T_RELOAD, "Perkrauti" },
+ {T_NEW_WINDOW, "Naujas Langas" },
+ {T_SAVE_AS, "I\360saugoti kaip.." },
+ {T_SAVE_URL_AS, "I\360daugoti adres\340 kaip.." },
+ {T_SAVE_FORMATTED_DOCUMENT, "I\360saugoti suformuot\340 dokument\340" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Pribaigti foninius siuntimus" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "I\360valyti laikin\340j\340 atmint\341" },
+ {T_RESOURCE_INFO, "Resurs\370 informacija" },
+ {T_OS_SHELL, "Konsol\353" },
+ {T_EXIT, "I\360eiti" },
+ {T_SEARCH, "Paie\360ka" },
+ {T_SEARCH_BACK, "Atvirk\360tin\353 paie\360ka" },
+ {T_FIND_NEXT, "Surasti sekant\341" },
+ {T_FIND_PREVIOUS, "Surasti prie\360 tai buvus\341" },
+ {T_TOGGLE_HTML_PLAIN, "Pakeisti html/plain" },
+ {T_DOCUMENT_INFO, "Informacija apie dokument\340" },
+ {T_FRAME_AT_FULL_SCREEN, "R\353mas per vis\340 ekran\340" },
+ {T_SAVE_HTML_OPTIONS, "I\360saugoti html opcijas" },
+ {T_CHARACTER_SET, "Koduot\353" },
+ {T_CACHE, "Laikinoji atmintis" },
+ {T_MAIL_AND_TELNEL, "Pa\360tas ir telnet'as" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Asociacijos" },
+ {T_FILE_EXTENSIONS, "Fail\370 pl\353tiniai" },
+ {T_SAVE_OPTIONS, "I\360saugoti pakeitimus" },
+ {T_FILE, "Byla" },
+ {T_VIEW, "\336i\373r\353ti" },
+ {T_LINK, "Nuoroda" },
+ {T_DOWNLOADS, "Siuntimai" },
+ {T_SETUP, "Nustatymai" },
+ {T_HELP, "Pagalba" },
+ {T_ENTER_URL, "\301vesk adres\340" },
+ {T_SAVE_URL, "I\360saugok adres\340" },
+ {T_DOWNLOAD, "Parsisi\370sk" },
+ {T_SAVE_TO_FILE, "I\360saugoti \341 fail\340" },
+ {T_SEARCH_FOR_TEXT, "Ie\360kok teksto" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "Laukiam eil\353je" },
+ {T_LOOKING_UP_HOST, "Ie\360kom hosto" },
+ {T_MAKING_CONNECTION, "Jungiam\353s" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, NULL },
+ {T_REQUEST_SENT, "Pra\360ymas i\360si\370stas" },
+ {T_GETTING_HEADERS, "Gaunam antra\360tes" },
+ {T_LOGGING_IN, NULL },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Serveris kramto u\376klaus\340" },
+ {T_TRANSFERRING, "Siun\350iam" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Laukiam permetimo patvirtinimo" },
+ {T_INTERRUPTED, "Nutraukta" },
+ {T_SOCKET_EXCEPTION, "Soket'o i\360imtis" },
+ {T_INTERNAL_ERROR, "Vidin\353 klaida" },
+ {T_OUT_OF_MEMORY, "Neb\353r atminties" },
+ {T_HOST_NOT_FOUND, "Hostas nerastas" },
+ {T_ERROR_WRITING_TO_SOCKET, "Nesigauna \341ra\360yti \341 soket'\340" },
+ {T_ERROR_READING_FROM_SOCKET, "Neisaugna skaityti i\360 soket'o" },
+ {T_DATA_MODIFIED, "Duomenys pakeisti" },
+ {T_BAD_URL_SYNTAX, "Bloga adreso sintaks\353" },
+ {T_RECEIVE_TIMEOUT, "Gavimo timeout'as" },
+ {T_REQUEST_MUST_BE_RESTARTED, "U\376klausa turi b\373ti pakartota" },
+ {T_CANT_GET_SOCKET_STATE, "Negaunu soket'o b\373senos" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Blogas HTTP atsakymas" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "N\353ra turinio" },
+ {T_UNKNOWN_FILE_TYPE, "Ne\376inomas failo tipas" },
+ {T_ERROR_OPENING_FILE, "Klaida bandant atidaryti fail\340" },
+ {T_BAD_FTP_RESPONSE, "Blogas FTP atsakymas" },
+ {T_FTP_SERVICE_UNAVAILABLE, "Nepaleistas FTP servisas" },
+ {T_BAD_FTP_LOGIN, "Neteisingas FTP vartotojas" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT komanda nepavyko" },
+ {T_FILE_NOT_FOUND, "Failas nerastas" },
+ {T_FTP_FILE_ERROR, "FTP failo klaida" },
+ {T_UNKNOWN_ERROR, "Ne\376inoma klaida" },
+ {T_RECEIVED, "Parsi\370sta" },
+ {T_OF, "i\360" },
+ {T_AVG, "vid." },
+ {T_CUR, "dab." },
+ {T_AVERAGE_SPEED, "Vidutinis greitis" },
+ {T_SPEED, "Greitis" },
+ {T_CURRENT_SPEED, "dabartinis greitis" },
+ {T_ELAPSED_TIME, "Lik\346s laikas" },
+ {T_ESTIMATED_TIME, "numatytas laikas" },
+ {T_BACKGROUND, "Fonas" },
+ {T_ABORT, "Nutraukti" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "Taip" },
+ {T_NO, "Ne" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Siuntimo klaida" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Negaliu \341ra\360yti \341 fail\340" },
+ {T_ERROR_DOWNLOADING, "Siuntimo klaida" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "Negaliu sukurti failo" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Ne\376inomas tipas" },
+ {T_CONTENT_TYPE_IS, "Turinio tipas yra" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Nori \360\341 fail\340 i\360saugoti ar pamatyti?" },
+ {T_SAVE, "I\360saugoti" },
+ {T_DISPLAY, "Parodyti" },
+ {T_WHAT_TO_DO, "K\340 daryti?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Ar nori atidaryti fail\340 su" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "i\360saugoti ar parodyti?" },
+ {T_OPEN, "Atidaryti" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Ar nori sekti perk\353lim\340 ir i\360si\370sti duomenis i\360 formos \341 server\341" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Ar nori i\360si\370sti duomenis i\360 formos \341 server\341" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Ar nori i\360 naujo i\360si\370sti duomenis?" },
+ {T_WARNING, "\301sp\353jimas" },
+ {T_ERROR, "Klaida" },
+ {T_WELCOME, "Sveikas atvyk\346s" },
+ {T_WELCOME_TO_LINKS, "Sveiki atvyk\346 \341 links!" },
+ {T_BASIC_HELP, "Spustelk ESC ir i\360\360oks meniu. Pasirink pagalba->Apra\360ymas vardan vartotojo gido." },
+ {T_LABEL, "\336ym\353" },
+ {T_CONTENT_TYPES, "Turinio-Tipas(ai)" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programa ('%' pakei\350iamas failo pavadinimu)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "U\376blokuoti terminal\340 kol naudojama programa" },
+ {T_RUN_ON_TERMINAL, "Naudoti terminale" },
+ {T_RUN_IN_XWINDOW, "Naudoti X-Window aplinkoje" },
+ {T_ASK_BEFORE_OPENING, "Atsiklausti prie\360 atidarant" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "I\360trinti asociacij\340" },
+ {T_ASSOCIATION, "Asociacija" },
+ {T_EXTENSION_S, "Priesaga(os)" },
+ {T_CONTENT_TYPE, "Turinio-Tipas" },
+ {T_DELETE_EXTENSION, "I\360trinti pl\353tin\341" },
+ {T_EXTENSION, "Pl\353tinys" },
+ {T_eXTENSION, "pl\353tinys" },
+ {T_ERROR_WHILE_POSTING_FORM, "Klaida bandant i\360si\370sti form\340" },
+ {T_COULD_NOT_GET_FILE, "Negaliu gauti failo" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Prie\360 tai nieko neie\360kota" },
+ {T_SEARCH_STRING_NOT_FOUND, "Paie\360kos eiut\353 nerasta" },
+ {T_SAVE_ERROR, "I\360saugojimo klaida" },
+ {T_ERROR_WRITING_TO_FILE, "Klaida bandant \341ra\360yti \341 fail\340" },
+ {T_DISPLAY_USEMAP, "Parodyti usemap'\340" },
+ {T_FOLLOW_LINK, "Sekti nuorod\340" },
+ {T_OPEN_IN_NEW_WINDOW, "Atidaryti naujame lange" },
+ {T_DOWNLOAD_LINK, "Parsi\370sti nuorod\340" },
+ {T_RESET_FORM, "I\360trinti form\340" },
+ {T_SUBMIT_FORM, "Patvirinti form\340" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Patvirtinti form\340 ir atidaryti naujame lange" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Patvirinti form\340 ir parsi\370sti" },
+ {T_VIEW_IMAGE, "Pa\376i\373r\353ti paveikls\353l\341" },
+ {T_DOWNLOAD_IMAGE, "Parsi\370sti paveiksl\353l\341" },
+ {T_NO_LINK_SELECTED, "N\353r nuorodos" },
+ {T_IMAGE, "Paveiksl\353lis" },
+ {T_USEMAP, "Usemap'as" },
+ {T_XTERM, "Xterm'as" },
+ {T_TWTERM, NULL },
+ {T_SCREEN, "Ekranas" },
+ {T_WINDOW, "Langas" },
+ {T_FULL_SCREEN, "Visas ekranas" },
+ {T_BEOS_TERMINAL, "BeOS terminalas" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Patvirtinti form\340" },
+ {T_POST_FORM_TO, "I\360si\370sti form\340 \341" },
+ {T_RADIO_BUTTON, "Knopk\353" },
+ {T_CHECKBOX, "Varnel\353" },
+ {T_SELECT_FIELD, "Pa\376ym\353ti lauk\340" },
+ {T_TEXT_FIELD, "Teksto laukas" },
+ {T_TEXT_AREA, "Teksto plotas" },
+ {T_FILE_UPLOAD, "Nusi\370sti fail\340" },
+ {T_PASSWORD_FIELD, "Slapta\376od\376io laukas" },
+ {T_BUTTON, NULL },
+ {T_NAME, "vardas" },
+ {T_VALUE, "reik\360m\353" },
+ {T_HIT_ENTER_TO, "spausk ENTER kad" },
+ {T_SUBMIT_TO, "patvirtinti" },
+ {T_POST_TO, "i\360si\370sti" },
+ {T_INFO, "Informacij\340" },
+ {T_HEADER_INFO, NULL },
+ {T_YOU_ARE_NOWHERE, "Tu esi niekur!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "adresas" },
+ {T_SIZE, "Dydis" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "nebaigta" },
+ {T_CODEPAGE, "koduot\353" },
+ {T_ASSUMED, "priskirtas" },
+ {T_IGNORING_SERVER_SETTING, "ignoruojam serverio nurodym\340" },
+ {T_SERVER, "Serveris" },
+ {T_DATE, "Data" },
+ {T_LAST_MODIFIED, "Paskutin\341 kart\340 koreguota" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Kalba" },
+ {T_GO_TO_LINK, "Eiti pagal nuorod\340" },
+ {T_ENTER_LINK_NUMBER, "\301vesk nuorodos numer\341" },
+ {T_RESIZE_TERMINAL, "pakeisk terminalo dyd\341" },
+ {T_COLUMNS, "Colonos" },
+ {T_ROWS, "Stulpeliai" },
+ {T_GOTO, "Eiti \341" },
+ {T_CLOSE, "U\376daryti" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "\301d\353ti" },
+ {T_DELETE, "I\360trinti" },
+ {T_EDIT, "Redaguoti" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "Lankomiausi" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "\301d\353ti lankomiausi\340" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, "Lankomiausio pavadinimas" },
+ {T_EDIT_BOOKMARK, "Koreguoti lankomiausi\340" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "I\360trinti lankomiausi\340" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "Lankomiausi\370 vadybininkas" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, "adresas" },
+ {T_NNAME, "Vardas" },
+ {T_EXIT_LINKS, "I\360eiti i\360 Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Ar tikrai nori palikti Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Ar tikrai nori palikti Links (ir nutraukti visus fononius siuntimus)?" },
+ {T_HTTP_OPTIONS, "HTTP opcijos" },
+ {T_FTP_OPTIONS, "FTP opcijos" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP bug'o workaround'ai" },
+ {T_USE_HTTP_10, "Naudoti HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Daryti bugov\370 serveri\370 s\340ra\360\340" },
+ {T_BROKEN_302_REDIRECT, "Sul\373\376\346s perk\353limas 302 (jis pa\376eid\376ia RFC, bet yra suderinamas su Netscape'u)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Nelaikyti keepalive susijungimo po POST pra\360ymo (kai kurios bugovos PHP duom. baz\353s rekalajua \360ito)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Anoniminio vartotojo slapta\376odis" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Vartotojo gidas" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, "Pa\360to programa (% pakei\350iamas adresu)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Telnet'o programa (% pakei\350iamas \"hostu\" arba \"hostu prievadu\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Tn3270 programa (% pakei\350iamas \"hostu\" arba \"hostu prievadu\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Pa\360to ir telnet'o programos" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "N\353r programos" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "N\353r programos" },
+ {T_MAIL, "pa\360tui" },
+ {T_TELNET, "telnet'ui" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270'ui" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "Blogas pa\360to adresas" },
+ {T_BAD_TELNET_URL, "Blogas telnet'o adresas" },
+ {T_BAD_TN3270_URL, "Blogas tn3270 adresas" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, NULL },
+ {T_PASSWORD, NULL },
+ {T_ENTER_USERNAME, NULL },
+ {T_AT, NULL },
+ {T_SSL_ERROR, NULL },
+ {T_NO_SSL, NULL },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "B" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "V" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "F" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "X" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "B" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "F" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "A" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "H" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "A" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "C" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_norwegian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-1" },
+ {T__LANGUAGE, "Norwegian" },
+ {T__ACCEPT_LANGUAGE, "no" },
+ {T_OK, "Ok" },
+ {T_CANCEL, "Avbryt" },
+ {T_BAD_NUMBER, "Feil nummer" },
+ {T_NUMBER_EXPECTED, "Nummer forventet i felt" },
+ {T_NUMBER_OUT_OF_RANGE, "Nummeret er utenfor omr\345de" },
+ {T_BAD_STRING, "Feil i tekststreng" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Tom tekststreng er ikke tillatt" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Konfigurasjonsfeil" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Kan ikke skrive til konfigurasjonsfil" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Om" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nNettleser" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Taster" },
+ {T_KEYS_DESC, "ESC vis meny\n^C, q avslutt\n^P, ^N bla opp/ned\n[, ] bla venstre/h\370yre\nopp,ned velg lenker\n-> f\370lg lenke\n<- g\345 tilbake\ng g\345 til nettadresse\nG g\345 til nettadresse basert p\345 n\345v\346rende\n/ s\370k\n? s\370k baklengs\nn finn neste\nN finn forrige\n= dokumentinformasjon\n| vis dokumenthode\n\\ vis kilde\nd start filoverf\370ring" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Lisens" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nDette programmet er fri software. Du kan distribuere og endre det i henhold til GNU General Public License, publisert av Free Software Foundation, versjon 2 eller senere." },
+ {T_RESOURCES, "Ressurser" },
+ {T_CONNECTIONS, "Tilkoblinger" },
+ {T_MEMORY_CACHE, "Minnehurtiglager" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Skrifttypehurtiglager" },
+ {T_IMAGE_CACHE, "Bildehurtiglager" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Hurtiglager for formaterte dokumenter" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "h\345ndtak" },
+ {T_TIMERS, "tidtakere" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "kobler til" },
+ {T_tRANSFERRING, "overf\370rer data" },
+ {T_KEEPALIVE, "tilkoblinger holdes i live" },
+ {T_BYTES, "byte" },
+ {T_LETTERS, "tegn" },
+ {T_FILES, "filer" },
+ {T_LOCKED, "l\345st" },
+ {T_LOADING, "henter" },
+ {T_IMAGES, "bilder" },
+ {T_DOCUMENTS, "dokumenter" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "byte tildelt minne" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Minneinformasjon" },
+ {T_NO_HISTORY, "Ingen historikk" },
+ {T_NO_DOWNLOADS, "Ingen nedlastninger" },
+ {T_NO_FRAMES, "Ingen rammer" },
+ {T_VT_100_FRAMES, "VT100-rammer" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux eller OS/2-rammer" },
+ {T_KOI8R_FRAMES, "KOI8-R-rammer" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Bruk ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Begrens rammer ved cp850/852" },
+ {T_BLOCK_CURSOR, "Hel mark\370r" },
+ {T_COLOR, "Farger" },
+ {T_BRAILLE_TERMINAL, "Braille-terminal" },
+ {T_TERMINAL_OPTIONS, "Terminal" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP-proxy (vert:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP-proxy (vert:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Omg\345 mellomtjener for f\370lgende domener (kommaseparert)" },
+ {T_NETWORK_OPTIONS, "Nettverk" },
+ {T_MAX_CONNECTIONS, "Maks antall tilkoblinger" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Maks antall tilkoblinger per vert" },
+ {T_RETRIES, "Antall fors\370k (0 - uendelig)" },
+ {T_RECEIVE_TIMEOUT_SEC, "Tidsavbrudd for mottak av fil (sek)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Tidsavbrudd ved omstartsproblemer" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Asynkron DNS-oppslag" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Sett nedlastingstidspunkt p\345 filer" },
+ {T_CACHE_OPTIONS, "Hurtiglager" },
+ {T_MEMORY_CACHE_SIZE__KB, "St\370rrelse p\345 minnehurtiglager (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "St\370rrelse p\345 bildehurtiglager (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Antall formaterte dokumenter" },
+ {T_AGGRESSIVE_CACHE, "Aggressiv hurtiglager" },
+ {T_HTML_OPTIONS, "HTML-oppsett" },
+ {T_DISPLAY_TABLES, "Vis tabeller" },
+ {T_DISPLAY_FRAMES, "Vis rammer" },
+ {T_DISPLAY_IMAGES, "Vis bilder" },
+ {T_DISPLAY_IMAGE_FILENAMES, "Vis filnavnet til bilder" },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Vis lenker til bilder" },
+ {T_LINK_ORDER_BY_COLUMNS, "Kolonnevis navigering i tabeller" },
+ {T_NUMBERED_LINKS, "Nummererte lenker" },
+ {T_AUTO_REFRESH, "Automatisk oppfrisking" },
+ {T_TARGET_IN_NEW_WINDOW, "Tillat \345pning av lenker i nytt vindu (target=\"_blank\")" },
+ {T_TEXT_MARGIN, "Tekstmargin" },
+ {T_DEFAULT_CODEPAGE, "Standard tegnsett" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorer tjenerens \370nske om tegnsett" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "G\345 til nettadresse" },
+ {T_GO_BACK, "G\345 tilbake" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Historikk" },
+ {T_RELOAD, "Oppdater" },
+ {T_NEW_WINDOW, "Nytt vindu" },
+ {T_SAVE_AS, "Lagre som.." },
+ {T_SAVE_URL_AS, "Lagre lenke som.." },
+ {T_SAVE_FORMATTED_DOCUMENT, "Lagre formatert dokument" },
+ {T_COPY_URL_LOCATION, "Kopier bes\370kt nettadresse" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Drep bakgrunnstilkoblinger" },
+ {T_KILL_ALL_CONNECTIONS, "Drep alle tilkoblinger" },
+ {T_FLUSH_ALL_CACHES, "T\370m hurtiglager" },
+ {T_RESOURCE_INFO, "Tilgjengelige ressurser" },
+ {T_OS_SHELL, "Kommandolinjen" },
+ {T_EXIT, "Avslutt" },
+ {T_SEARCH, "S\370k" },
+ {T_SEARCH_BACK, "S\370k bakover" },
+ {T_FIND_NEXT, "Finn neste" },
+ {T_FIND_PREVIOUS, "Finn forrige" },
+ {T_TOGGLE_HTML_PLAIN, "Bytt mellom HTML og tekst" },
+ {T_DOCUMENT_INFO, "Dokumentinformasjon" },
+ {T_FRAME_AT_FULL_SCREEN, "Maksimer ramme" },
+ {T_SAVE_HTML_OPTIONS, "Lagre HTML-oppsett" },
+ {T_CHARACTER_SET, "Tegnsett" },
+ {T_CACHE, "Hurtiglager" },
+ {T_MAIL_AND_TELNEL, "E-brev og telnet" },
+ {T_MAIL_TELNET_AND_SHELL, "E-brev, telnet og skall" },
+ {T_ASSOCIATIONS, "Tilknytninger" },
+ {T_FILE_EXTENSIONS, "Filtype" },
+ {T_SAVE_OPTIONS, "Lagre oppsett" },
+ {T_FILE, "Fil" },
+ {T_VIEW, "Vis" },
+ {T_LINK, "Lenker" },
+ {T_DOWNLOADS, "Nedlastninger" },
+ {T_SETUP, "Oppsett" },
+ {T_HELP, "Hjelp" },
+ {T_ENTER_URL, "Tast inn nettadresse" },
+ {T_SAVE_URL, "Lagre nettadresse" },
+ {T_DOWNLOAD, "Last ned" },
+ {T_SAVE_TO_FILE, "Lagre som" },
+ {T_SEARCH_FOR_TEXT, "S\370k etter tekst" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "Venter i k\370" },
+ {T_LOOKING_UP_HOST, "Lokaliserer vert" },
+ {T_MAKING_CONNECTION, "Kobler til" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "SSL-forhandling" },
+ {T_REQUEST_SENT, "Foresp\370rsel sendt" },
+ {T_GETTING_HEADERS, "Henter dokumenthode" },
+ {T_LOGGING_IN, "Logger inn" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Tjeneren behandler foresp\370rselen" },
+ {T_TRANSFERRING, "Overf\370rer" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Venter p\345 bekreftelse av omdirigering" },
+ {T_INTERRUPTED, "Avbrutt" },
+ {T_SOCKET_EXCEPTION, "Sokkelfeil" },
+ {T_INTERNAL_ERROR, "Intern feil" },
+ {T_OUT_OF_MEMORY, "Tom for minne" },
+ {T_HOST_NOT_FOUND, "Vertsmaskinen kunne ikke lokaliseres" },
+ {T_ERROR_WRITING_TO_SOCKET, "Feil ved skriving til sokkel" },
+ {T_ERROR_READING_FROM_SOCKET, "Feil ved lesing fra sokkel" },
+ {T_DATA_MODIFIED, "Data endret" },
+ {T_BAD_URL_SYNTAX, "Feil i nettadressens syntaks" },
+ {T_RECEIVE_TIMEOUT, "Tidsavbrudd ved mottak" },
+ {T_REQUEST_MUST_BE_RESTARTED, "Foresp\370rsel m\345 omstartes" },
+ {T_CANT_GET_SOCKET_STATE, "Klarte ikke lese sokkeltilstand" },
+ {T_CYCLIC_REDIRECT, "Ble omdirigert i ring" },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Feil i svar fra tjener" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Ingen innhold" },
+ {T_UNKNOWN_FILE_TYPE, "Ukjent filtype" },
+ {T_ERROR_OPENING_FILE, "Feil ved \345pning av fil" },
+ {T_BAD_FTP_RESPONSE, "Feil i svar fra FTP-tjener" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP-tjenesten er ikke tilgjengelig" },
+ {T_BAD_FTP_LOGIN, "Feil innloggingsinformasjon til FTP-tjener" },
+ {T_FTP_PORT_COMMAND_FAILED, "Kommandoen FTP PORT mislyktes" },
+ {T_FILE_NOT_FOUND, "Filen finnes ikke" },
+ {T_FTP_FILE_ERROR, "FTP filfeil" },
+ {T_UNKNOWN_ERROR, "Ukjent feil" },
+ {T_RECEIVED, "Motatt" },
+ {T_OF, "av" },
+ {T_AVG, "snitt" },
+ {T_CUR, "n\345" },
+ {T_AVERAGE_SPEED, "Gjennomsnittlig hastighet" },
+ {T_SPEED, "Hastighet" },
+ {T_CURRENT_SPEED, "n\345v\346rende hastighet" },
+ {T_ELAPSED_TIME, "Tid brukt" },
+ {T_ESTIMATED_TIME, "beregnet tid" },
+ {T_BACKGROUND, "Bakgrunn" },
+ {T_ABORT, "Avbryt" },
+ {T_ABORT_AND_DELETE_FILE, "Avbryt og slett fil" },
+ {T_YES, "Ja" },
+ {T_NO, "Nei" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, "Filene eksisterer" },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, "eksisterer som en aktiv nedlastning" },
+ {T_ALREADY_EXISTS, "ekisterer" },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, "Vil du overskrive?" },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, "Overskriv" },
+ {T_RENAME, "Gi nytt navn" },
+ {T_DOWNLOAD_ERROR, "Nedlastningsfeil" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Klarte ikke \345 skrive til fil" },
+ {T_ERROR_DOWNLOADING, "Feil ved nedlastning av" },
+ {T_ERROR_LOADING, "Feil ved lasting" },
+ {T_COULD_NOT_CREATE_FILE, "Kunne ikke opprette fil" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Ukjent type" },
+ {T_CONTENT_TYPE_IS, "Innholdstype er" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Vil du \345pne, lagre eller vise denne filen?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Vil du \345pne eller vise denne filen?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Vil du lagre eller vise filen?" },
+ {T_SAVE, "Lagre" },
+ {T_DISPLAY, "Vis" },
+ {T_WHAT_TO_DO, "Hva skal gj\370res?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Vil du \345pne filen med" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "lagre, eller vise den?" },
+ {T_OPEN, "\305pne" },
+ {T_OPEN_WITH, "\305pne med" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Vil du f\370lge omdirigeringen og sende innholdet i skjemaet til nettadressen" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Vil du sende innholdet i skjemaet til nettadressen" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Vil du send innholdet i skjemaet om igjen til nettadressen" },
+ {T_WARNING, "Advarsel" },
+ {T_ERROR, "Feil" },
+ {T_WELCOME, "Velkommen" },
+ {T_WELCOME_TO_LINKS, "Velkommen til Links!" },
+ {T_BASIC_HELP, "Trykk ESC for meny. Velg Hjelp->Brukerveiledning for mer informasjon" },
+ {T_LABEL, "Merkelapp" },
+ {T_CONTENT_TYPES, "Innholdstyper" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' erstattes med filnavn)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blokker terminalen mens programmet kj\370rer" },
+ {T_RUN_ON_TERMINAL, "Kj\370r i terminal" },
+ {T_RUN_IN_XWINDOW, "Kj\370r i et X-vindu" },
+ {T_ASK_BEFORE_OPENING, "Sp\370r f\370r \345pning" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Slett tilknytning" },
+ {T_ASSOCIATION, "tilknytning" },
+ {T_EXTENSION_S, "Etternavn" },
+ {T_CONTENT_TYPE, "Innholdtype" },
+ {T_DELETE_EXTENSION, "Slett etternavn" },
+ {T_EXTENSION, "Etternavn" },
+ {T_eXTENSION, "Etternavn" },
+ {T_ERROR_WHILE_POSTING_FORM, "Feil ved sending av skjemaet" },
+ {T_COULD_NOT_GET_FILE, "Kunne ikke hente fil" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Ingen tidligere s\370k" },
+ {T_SEARCH_STRING_NOT_FOUND, "S\370ket gav ingen resultat" },
+ {T_SAVE_ERROR, "Feil ved lagring" },
+ {T_ERROR_WRITING_TO_FILE, "Feil ved skriving til fil" },
+ {T_DISPLAY_USEMAP, "Vis usemap" },
+ {T_FOLLOW_LINK, "F\370lg lenke" },
+ {T_OPEN_IN_NEW_WINDOW, "\305pne i nytt vindu" },
+ {T_DOWNLOAD_LINK, "Last ned lenke" },
+ {T_RESET_FORM, "Nullstill skjema" },
+ {T_SUBMIT_FORM, "Send skjema" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Send skjema og \345pne i nytt vindu" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Send skjema og last ned fil" },
+ {T_VIEW_IMAGE, "Vis bilde" },
+ {T_DOWNLOAD_IMAGE, "Last ned bilde" },
+ {T_NO_LINK_SELECTED, "Ingen lenker er valgt" },
+ {T_IMAGE, "Bilde" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Skjerm" },
+ {T_WINDOW, "Vindu" },
+ {T_FULL_SCREEN, "Fullskjerm" },
+ {T_BEOS_TERMINAL, "BeOS-terminal" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, "Javaskript" },
+ {T_SUBMIT_FORM_TO, "Send skjema til" },
+ {T_POST_FORM_TO, "Send skjema til" },
+ {T_RADIO_BUTTON, "Radioknapp" },
+ {T_CHECKBOX, "Avkryssingsboks" },
+ {T_SELECT_FIELD, "Velg felt" },
+ {T_TEXT_FIELD, "Tekstfelt" },
+ {T_TEXT_AREA, "Tekstboks" },
+ {T_FILE_UPLOAD, "Last opp fil" },
+ {T_PASSWORD_FIELD, "Passordfelt" },
+ {T_BUTTON, "Knapp" },
+ {T_NAME, "Navn" },
+ {T_VALUE, "Verdi" },
+ {T_HIT_ENTER_TO, "trykk [linjeskift] for \345" },
+ {T_SUBMIT_TO, "send til" },
+ {T_POST_TO, "send til" },
+ {T_INFO, "Info" },
+ {T_HEADER_INFO, "Informasjon om dokumenthode" },
+ {T_YOU_ARE_NOWHERE, "Ingen nettside er lastet!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "Nettside" },
+ {T_SIZE, "St\370rrelse" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "ufullstendig" },
+ {T_CODEPAGE, "Tegnsett" },
+ {T_ASSUMED, "antatt" },
+ {T_IGNORING_SERVER_SETTING, "Ignorer tjeneroppsett" },
+ {T_SERVER, "Tjener" },
+ {T_DATE, "Dato" },
+ {T_LAST_MODIFIED, "Sist oppdatert" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Spr\345k" },
+ {T_GO_TO_LINK, "G\345 til lenke" },
+ {T_ENTER_LINK_NUMBER, "Oppgi lenkenummer" },
+ {T_RESIZE_TERMINAL, "Endre terminalst\370rrelse" },
+ {T_COLUMNS, "Kolonner" },
+ {T_ROWS, "Rader" },
+ {T_GOTO, "G\345 til" },
+ {T_CLOSE, "Lukk" },
+ {T_FOLDER, "Mappe" },
+ {T_fOLDER, "mappe" },
+ {T_ADD, "Legg til" },
+ {T_DELETE, "Slett" },
+ {T_EDIT, "Rediger" },
+ {T_MOVE, "Flytt" },
+ {T_NO_ITEMS_SELECTED, "Kan ikke flytte. Ingen gjenstander er valgt." },
+ {T_UNSELECT_ALL, "Fjern alle markeringer" },
+ {T_BOOKMARKS, "Bokmerker" },
+ {T_BOOKMARK, "bokmerke" },
+ {T_ADD_BOOKMARK, "Legg til bokmerke" },
+ {T_ADD_ASSOCIATION, "Legg til tilknytning" },
+ {T_ADD_EXTENSION, "Legg til etternavn" },
+ {T_ADD_FOLDER, "Legg til mappe" },
+ {T_BOOKMARK_TITLE, "Bokmerketittel" },
+ {T_EDIT_BOOKMARK, "Rediger bokmerke" },
+ {T_EDIT_ASSOCIATION, "Endre tilknytning" },
+ {T_EDIT_EXTENSION, "Endre etternavn" },
+ {T_DELETE_BOOKMARK, "Slett bokmerke" },
+ {T_EDIT_FOLDER, "Endre mappe" },
+ {T_DELETE_FOLDER, "Slett mappe" },
+ {T_NOT_EMPTY_SURE_DELETE, "er ikke tom. Vil du virkelig slette den?" },
+ {T_BOOKMARK_MANAGER, "Bokmerker" },
+ {T_ASSOCIATIONS_MANAGER, "Tilknytninger" },
+ {T_EXTENSIONS_MANAGER, "Etternavn" },
+ {T_url, "nettadresse" },
+ {T_NNAME, "Navn" },
+ {T_EXIT_LINKS, "Avslutt Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "Vil du lukke vinduet?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Vil du avslutte Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Vil du avslutte Links og avbryte alle nedlastninger?" },
+ {T_HTTP_OPTIONS, "HTTP-oppsett" },
+ {T_FTP_OPTIONS, "FTP-oppsett" },
+ {T_HTTP_BUG_WORKAROUNDS, "Omg\345 feil i HTTP-svar" },
+ {T_USE_HTTP_10, "Bruk HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Tillat svartelisting av feilaktige tjenere" },
+ {T_BROKEN_302_REDIRECT, "Tillat brukket omdirigeringsrespons 302 (bryter RFC, men er kompatibel med Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Avbryt forbindelsen etter POST-foresp\370rsler (n\370dvendig for visse feilaktige PHP-databaser)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, "Ikke send informasjon om aksepterte tegnsett" },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "Ikke send referanse" },
+ {T_REFERER_SAME_URL, "Send samme nettadresse som referanse" },
+ {T_REFERER_FAKE, "Send falsk referanse" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "Send ekte referanse (vanlig operasjon, men sporbar)" },
+ {T_FAKE_REFERER, "Falsk referanse" },
+ {T_FAKE_USERAGENT, "Falsk nettlesersignatur" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Passord for anonym innlogging" },
+ {T_USE_PASSIVE_FTP, "Bruk passive FTP-tilkoblinger" },
+ {T_USE_FAST_FTP, "Bruk raske (men RFC-inkompatible) FTP-tilkoblinger" },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Brukerveiledning" },
+ {T_HOMEPAGE, "Hjemmeside" },
+ {T_CALIBRATION, "Kalibrering" },
+ {T_MAILTO_PROG, "E-brevklient (% erstattes med adresse)" },
+ {T_SHELL_PROG, "Skall" },
+ {T_TELNET_PROG, "Telnetklient (% erstattes med \"vert\" eller \"vert port\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Tn3270-program (% erstattes med \"vert\" eller \"vert port\")" },
+ {T_MMS_PROG, "MMS-program (% erstattes med nettadresse)" },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Program for e-brev og fjerninnlogging" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Program for e-brev, fjerninnlogging og skall" },
+ {T_NO_PROGRAM, "Ingen program" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Ingen program er spesifisert" },
+ {T_MAIL, "e-brev" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, "mms" },
+ {T_BAD_MAILTO_URL, "Feil i \"mailto\"-adresse" },
+ {T_BAD_TELNET_URL, "Feil i \"telnet\"-adresse" },
+ {T_BAD_TN3270_URL, "Feil i \"tn3270\"-adresse" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "Nettadressen for MMS inneholder ulovlige tegn" },
+ {T_AUTHORIZATION_REQUIRED, "Krever godkjennelse" },
+ {T_PROXY_AUTHORIZATION_REQUIRED, "Mellomtjener krever godkjennelse" },
+ {T_USERID, "Brukernavn" },
+ {T_PASSWORD, "Passord" },
+ {T_ENTER_USERNAME, "Tast inn brukernavn for " },
+ {T_AT, "p\345 " },
+ {T_SSL_ERROR, "SSL-feil" },
+ {T_NO_SSL, "Denne versjonen av Links har ikke st\370tte for SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "Er du sikker p\345 at du vil slette" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "Bokmerket er allerede i bruk" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Tilknytningen er allerede i bruk" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "Etternavnet er allerede i bruk" },
+ {T_VIDEO_OPTIONS, "Video" },
+ {T_VIDEO_OPTIONS_TEXT, "Anbefalt gammakorreksjon:\n1.33 for m\370rkt rom, 1.11 for senket belysning, 1 for vanlig belysning og 0.88 for h\370y belysning." },
+ {T_RED_DISPLAY_GAMMA, "R\370d gammakorreksjon" },
+ {T_GREEN_DISPLAY_GAMMA, "Gr\370nn gammakorreksjon" },
+ {T_BLUE_DISPLAY_GAMMA, "Bl\345 gammakorreksjon" },
+ {T_USER_GAMMA, "Egen gammakorreksjon" },
+ {T_ALERT, "Alarm" },
+ {T_QUESTION, "Sp\370rsm\345l" },
+ {T_KILL_SCRIPT, "Drep skript" },
+ {T_KILL_ALL_SCRIPTS, "Drep alle skript" },
+ {T_SCRIPT_KILLED_BY_USER, "Javaskriptet ble drept av bruker" },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Et javaskript pr\370ver \345 lukke vinduet. \330nsker du \345 lukke det?" },
+ {T_ENTER_STRING, "Skriv tekst" },
+ {T_JAVASCRIPT_OPTIONS, "Javaskript" },
+ {T_ENABLE_JAVASCRIPT, "Aktiver javaskript" },
+ {T_VERBOSE_JS_ERRORS, "Detaljerte feilmeldinger om javaskript" },
+ {T_VERBOSE_JS_WARNINGS, "Detaljerte advarsler om javaskript" },
+ {T_MISCELANEOUS_OPTIONS, "Annet oppsett" },
+ {T_JAVASCRIPT_ERROR, "Feil i javaskript" },
+ {T_JAVASCRIPT_WARNING, "Advarsel fra javaskript" },
+ {T_DISMISS, "Ignorer" },
+ {T_MENU_FONT_SIZE, "Tekstst\370rrelse i menyer" },
+ {T_USER_FONT_SIZE, "Egen tekstst\370rrelse" },
+ {T_TURN_OFF_WARNINGS, "Sl\345 av advarsler" },
+ {T_BOOKMARKS_ENCODING, "Bokmerke koding" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Et javaskript pr\370ver \345 g\345 til en ny nettside" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Et javaskript pr\370ver \345 \345pne en ny nettadresse i et nytt vindu" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Et javaskript pr\370ver \345 hente ut tidligere bes\370kte nettadresser" },
+ {T_TO_URL, "til nettadressen" },
+ {T_GOTO_HISTORY, "G\345 til tidligere bes\370kte nettadresser" },
+ {T_ALLOW, "Tillat" },
+ {T_REJECT, "Avvis" },
+ {T_ENABLE_ALL_CONVERSIONS, "Tillat alle konverteringer" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Tillat globale navneoppslag" },
+ {T_MANUAL_JS_CONTROL, "Manuell godkjenning av operasjoner i javaskript" },
+ {T_JS_RECURSION_DEPTH, "Rekursjonsdybde" },
+ {T_MENU_BACKGROUND_COLOR, "Bakgrunnsfarge" },
+ {T_MENU_FOREGROUND_COLOR, "Forgrunnsfarge" },
+ {T_SCROLL_BAR_BAR_COLOR, "Fargelegg rullefelt" },
+ {T_SCROLL_BAR_AREA_COLOR, "Fargelegg rullefeltets spor" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Fargelegg rullefeltets ramme" },
+ {T_BOOKMARKS_FILE, "Bokmerkefil" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Velg farger heksadesimalt som RGB-tripletter" },
+ {T_JS_MEMORY_LIMIT_KB, "Minne dedikert til javaskript (KiB)" },
+ {T_DITHER_LETTERS, "Kompenser for fargereduksjon i bokstaver" },
+ {T_DITHER_IMAGES, "Kompenser for fargereduksjon i bilder" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "Skaler alle bilder (%)" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, "Optimaliser for CRT" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB,"Optimaliser for LCD (RGB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR,"Optimaliser for LCD (BGR)" },
+ {T_ASPECT_RATIO, "St\370rrelseforhold" },
+ {T_ASPECT_CORRECTION_ON, "Korreksjon av st\370rrelseforhold" },
+ {T_KEYBOARD_CODEPAGE, "Tegnsett" },
+ {T_COPY_LINK_LOCATION, "Kopier lenkens nettadresse" },
+ {T_BLOCK_URL, "Blokker bilde" },
+ {T_BLOCK_LIST, "Blokker bilder" },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, "Blokker bilder som alt er \345pnet" },
+ {T_BLOCK_LIST_MANAGER, "Bildeblokkering" },
+ {T_BLOCK_ADD, "Legg til bildeblokkering" },
+ {T_BLOCK_EDIT, "Rediger blokkering" },
+ {T_BLOCK_DELETE, "Slett blokkering" },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "B" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "V" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, "C" },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "F" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "X" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "B" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "F" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "A" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "H" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, "V" },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, "J" },
+ {T_HK_MISCELANEOUS_OPTIONS, "O" },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, "B" },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "A" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "C" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, "H" },
+ {T_HK_CALIBRATION, "L" },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, "C" },
+ {T_HK_BLOCK_URL, "B" },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_polish [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-2" },
+ {T__LANGUAGE, "Polish" },
+ {T__ACCEPT_LANGUAGE, "pl" },
+ {T_OK, "OK" },
+ {T_CANCEL, "Anuluj" },
+ {T_BAD_NUMBER, "Nieprawid\263owa liczba" },
+ {T_NUMBER_EXPECTED, "Oczekiwano liczby" },
+ {T_NUMBER_OUT_OF_RANGE, "Liczba poza dozwolonym zakresem" },
+ {T_BAD_STRING, "Nieprawid\263owe wyra\277enie" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Musisz wpisa\346 jakie\266 wyra\277enie" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "B\263\261d konfiguracji" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Nie mo\277na zapisa\346 do pliku konfiguracyjnego" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "O programie" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nTekstowa przegl\261darka WWW w stylu Lynksa" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Klawiszologia" },
+ {T_KEYS_DESC, "ESC poka\277 menu\n^C, q wyj\266cie\n^P, ^N przewi\361 g\363ra,d\363\263\n[, ] przewi\361 lewo,prawo\ng\363ra, d\363\263 zaznacz link\n-> wybierz link\n<- powr\363t\ng przejd\274 do URL-a\nG przejd\274 do URL-a bazuj\261cego na aktualnym\n/ szukaj\nn znajd\274 nast\352pny\nd pobierz\n* prze\263\261cz wy\266wietlanie obrazk\363w\n^W dope\263nij URL lub szukany \263a\361cuch\n^B, ^X, ^V skopiuj, wytnij, wklej do/ze schowka\nAlt-1 .. Alt-9 prze\263\261cz ekran wirtualny (svgalib lub framebuffer)" },
+ {T_KEYS_BRAILLE_DESC, "a, t kursor do linii stanu lub tytu\263u\n{, } kursor do pocz\261tku/ko\361ca linii\n^T, ^Y nast\352pny lub poprzedni odno\266nik" },
+ {T_COPYING, "Kopiowanie" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_2 "\n\nNiniejszy program jest oprogramowaniem wolnodost\352pnym; mo\277na go rozprowadza\346 dalej i/lub modyfikowa\346 na warunkach GPL GNU, wydanej przez Free Software Foundation - wed\263ug wersji 2-giej tej Licencji lub kt\363rej\266 z p\363\274niejszych wersji." },
+ {T_RESOURCES, "Zasoby" },
+ {T_CONNECTIONS, "Po\263\261czenia" },
+ {T_MEMORY_CACHE, "Pami\352\346 podr\352czna" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Pami\352\346 podr\352czna font\363w" },
+ {T_IMAGE_CACHE, "Pami\352\346 podr\352czna obraz\363w" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Sformatowane dokumenty w pami\352ci podr\352cznej" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "uchwyt(\363w)" },
+ {T_TIMERS, "zegar(\363w)" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "oczekuj\261cych" },
+ {T_tRANSFERRING, "transfer\363w" },
+ {T_KEEPALIVE, "\277ywych" },
+ {T_BYTES, "bajt\363w" },
+ {T_LETTERS, "znak\363w" },
+ {T_FILES, "plik\363w" },
+ {T_LOCKED, "zablokowanych" },
+ {T_LOADING, "\263adowanych" },
+ {T_IMAGES, "obrazy" },
+ {T_DOCUMENTS, "dokument\363w" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "przydzielonej pami\352ci" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, "przydzielonej pami\352ci dla javascriptu" },
+ {T_MEMORY_INFO, "Informacje o pami\352ci" },
+ {T_NO_HISTORY, "Brak historii" },
+ {T_NO_DOWNLOADS, "Brak pobra\361" },
+ {T_NO_FRAMES, "Brak ramek" },
+ {T_VT_100_FRAMES, "Ramki VT100" },
+ {T_LINUX_OR_OS2_FRAMES, "Ramki typu Linux lub OS/2" },
+ {T_KOI8R_FRAMES, "Ramki KOI8-R" },
+ {T_FREEBSD_FRAMES, "Ramki FreeBSD" },
+ {T_USE_11M, "U\277yj ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Ogranicz ramki w cp850/852" },
+ {T_BLOCK_CURSOR, "Kursor blokowy" },
+ {T_COLOR, "Kolor" },
+ {T_BRAILLE_TERMINAL, "Terminal Braille'a" },
+ {T_TERMINAL_OPTIONS, "Opcje terminala" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "Proxy HTTP (host:port)" },
+ {T_FTP_PROXY__HOST_PORT, "Proxy FTP (host:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Lista domen dost\352pnych bez proxy" },
+ {T_NETWORK_OPTIONS, "Ustawienia sieci" },
+ {T_MAX_CONNECTIONS, "Maksymalna liczba po\263\261cze\361" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Maksymalna liczba po\263\261cze\361 z jednym serwerem" },
+ {T_RETRIES, "Pr\363by (0 - bez ogranicze\361)" },
+ {T_RECEIVE_TIMEOUT_SEC, "Maksymalny czas oczekiwania na po\263\261czenie (sek)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Maks. czas oczekiwania na po\263\261czenie niewznawialne" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Asynchroniczne szukanie nazw" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Ustaw czas pobieranych plik\363w" },
+ {T_CACHE_OPTIONS, "Ustawienia pami\352ci podr\352cznej" },
+ {T_MEMORY_CACHE_SIZE__KB, "Rozmiar cache (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "Rozmiar cache obraz\363w (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Liczba sformatowanych dokument\363w" },
+ {T_AGGRESSIVE_CACHE, "Agresywna pami\352\346 podr\352czna" },
+ {T_HTML_OPTIONS, "Ustawienia HTML" },
+ {T_DISPLAY_TABLES, "Wy\266wietlaj tabele" },
+ {T_DISPLAY_FRAMES, "Wy\266wietlaj ramki" },
+ {T_DISPLAY_IMAGES, "Wy\266wietlaj obrazy" },
+ {T_DISPLAY_IMAGE_FILENAMES, "Wy\266wietlaj nazwy plik\363w obraz\363w" },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Pokazuj linki do obrazk\363w" },
+ {T_LINK_ORDER_BY_COLUMNS, "Uporz\261dkuj linki w kolumnach" },
+ {T_NUMBERED_LINKS, "Numerowane linki" },
+ {T_AUTO_REFRESH, "Automatyczne od\266wie\277anie" },
+ {T_TARGET_IN_NEW_WINDOW, "Pozw\363l na otwieranie odno\266nik\363w w nowym oknie (target=\"_blank\")" },
+ {T_TEXT_MARGIN, "Margines tekstu" },
+ {T_DEFAULT_CODEPAGE, "Domy\266lna strona kodowa" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignoruj informacje o zestawie znak\363w wysy\263ane przez serwer" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Przejd\274 do URL-a" },
+ {T_GO_BACK, "Wr\363\346" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Historia" },
+ {T_RELOAD, "Prze\263aduj" },
+ {T_NEW_WINDOW, "Nowe okno" },
+ {T_SAVE_AS, "Zapisz jako" },
+ {T_SAVE_URL_AS, "Zapisz URL jako" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Zapisz sformatowany dokument" },
+ {T_COPY_URL_LOCATION, "Skopiuj po\263o\277enie URL-a" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Przerwij wszystkie po\263\261czenia w tle" },
+ {T_KILL_ALL_CONNECTIONS, "Przerwij wszystkie po\263\261czenia" },
+ {T_FLUSH_ALL_CACHES, "Wyczy\266\346 ca\263\261 pami\352\346 podr\352czn\261" },
+ {T_RESOURCE_INFO, "Informacje o zasobach" },
+ {T_OS_SHELL, "Pow\263oka systemowa" },
+ {T_EXIT, "Wyj\266cie" },
+ {T_SEARCH, "Szukaj" },
+ {T_SEARCH_BACK, "Szukaj wstecz" },
+ {T_FIND_NEXT, "Znajd\274 nast\352pne" },
+ {T_FIND_PREVIOUS, "Znajd\274 poprzednie" },
+ {T_TOGGLE_HTML_PLAIN, "Prze\263\261cz html/plain" },
+ {T_DOCUMENT_INFO, "Informacje o dokumencie" },
+ {T_FRAME_AT_FULL_SCREEN, "Ramka na ca\263ym ekranie" },
+ {T_SAVE_HTML_OPTIONS, "Zapisz ustawienia HTML" },
+ {T_CHARACTER_SET, "Zestaw znak\363w" },
+ {T_CACHE, "Pami\352\346 podr\352czna" },
+ {T_MAIL_AND_TELNEL, "Poczta i telnet" },
+ {T_MAIL_TELNET_AND_SHELL, "Poczta, telnet i pow\263oka" },
+ {T_ASSOCIATIONS, "Skojarzenia" },
+ {T_FILE_EXTENSIONS, "Rozszerzenia" },
+ {T_SAVE_OPTIONS, "Zapisz opcje" },
+ {T_FILE, "Plik" },
+ {T_VIEW, "Widok" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "Pobieranie" },
+ {T_SETUP, "Ustawienia" },
+ {T_HELP, "Pomoc" },
+ {T_ENTER_URL, "Wprowad\274 URL" },
+ {T_SAVE_URL, "Zapisz URL" },
+ {T_DOWNLOAD, "Pobieranie" },
+ {T_SAVE_TO_FILE, "Zapisz do pliku" },
+ {T_SEARCH_FOR_TEXT, "Znajd\274 tekst" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "Oczekuj\261ce w kolejce" },
+ {T_LOOKING_UP_HOST, "Szukam serwera" },
+ {T_MAKING_CONNECTION, "Nawi\261zywanie po\263\261czenia" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "Negocjacja SSL" },
+ {T_REQUEST_SENT, "\257\261danie wys\263ane" },
+ {T_GETTING_HEADERS, "Pobieranie nag\263\363wk\363w" },
+ {T_LOGGING_IN, "Logowanie" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Serwer przetwarza \277\261danie" },
+ {T_TRANSFERRING, "Przesy\263anie" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Oczekiwanie na potwierdzenie przekierowania" },
+ {T_INTERRUPTED, "Przerwano" },
+ {T_SOCKET_EXCEPTION, "Wyj\261tek gniazda" },
+ {T_INTERNAL_ERROR, "B\263\261d wewn\352trzny" },
+ {T_OUT_OF_MEMORY, "Brak pami\352ci" },
+ {T_HOST_NOT_FOUND, "Nie znaleziono serwera" },
+ {T_ERROR_WRITING_TO_SOCKET, "B\263\261d przy zapisywaniu do gniazda" },
+ {T_ERROR_READING_FROM_SOCKET, "B\263\261d przy czytaniu z gniazda" },
+ {T_DATA_MODIFIED, "Dane zosta\263y zmodyfikowane" },
+ {T_BAD_URL_SYNTAX, "Z\263a sk\263adnia URL-a" },
+ {T_RECEIVE_TIMEOUT, "Przekroczony limit czasu pobierania" },
+ {T_REQUEST_MUST_BE_RESTARTED, "\257\261danie musi by\346 powt\363rzone" },
+ {T_CANT_GET_SOCKET_STATE, "Nie mo\277na zbada\346 stanu gniazda" },
+ {T_CYCLIC_REDIRECT, "Cykliczne przekierowanie" },
+ {T_TOO_LARGE_FILE, "Plik zbyt du\277y" },
+ {T_BLOCKED_URL, "Ten URL jest na li\266cie zablokowanych" },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Nieprawid\263owa odpowied\274 HTTP" },
+ {T_HTTP_100, NULL },
+ {T_NO_CONTENT, "Plik pusty" },
+ {T_UNKNOWN_FILE_TYPE, "Nieznany typ pliku" },
+ {T_ERROR_OPENING_FILE, "B\263\261d przy otwieraniu pliku" },
+ {T_BAD_FTP_RESPONSE, "Nieprawid\263owa odpowied\274 FTP" },
+ {T_FTP_SERVICE_UNAVAILABLE, "Us\263uga FTP jest niedost\352pna" },
+ {T_BAD_FTP_LOGIN, "Nieprawid\263owy login" },
+ {T_FTP_PORT_COMMAND_FAILED, "Polecenie PORT nie powiod\263o si\352" },
+ {T_FILE_NOT_FOUND, "Nie znaleziono pliku" },
+ {T_FTP_FILE_ERROR, "B\263\261d plikowy FTP" },
+ {T_UNKNOWN_ERROR, "Nieznany b\263\261d" },
+ {T_RECEIVED, "Pobrano" },
+ {T_OF, "z" },
+ {T_AVG, "\266red" },
+ {T_CUR, "akt" },
+ {T_AVERAGE_SPEED, "\246rednia pr\352dko\266\346" },
+ {T_SPEED, "Pr\352dko\266\346" },
+ {T_CURRENT_SPEED, "aktualna pr\352dko\266\346" },
+ {T_ELAPSED_TIME, "Up\263yn\352\263o" },
+ {T_ESTIMATED_TIME, "Pozosta\263y czas" },
+ {T_BACKGROUND, "W tle" },
+ {T_ABORT, "Przerwij" },
+ {T_ABORT_AND_DELETE_FILE, "Przerwij i usu\361 plik" },
+ {T_YES, "Tak" },
+ {T_NO, "Nie" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, "Plik ju\277 istnieje" },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, "ju\277 istnieje jako aktywne \266ci\261ganie." },
+ {T_ALREADY_EXISTS, "ju\277 istnieje." },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, "Czy chcesz go nadpisa\346?" },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, "Nadpisz" },
+ {T_RENAME, "Zmie\361 nazw\352" },
+ {T_DOWNLOAD_ERROR, "B\263\261d pobierania" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Nie mo\277na utworzy\346 pliku" },
+ {T_ERROR_DOWNLOADING, "Wyst\261pi\263 b\263\261d podczas pobierania" },
+ {T_ERROR_LOADING, "Wyst\261pi\263 b\263\261d podczas \263adowania" },
+ {T_COULD_NOT_CREATE_FILE, "Nie mo\277na utworzy\346 pliku" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, "Nie mo\277na utworzy\346 pliku tymczasowego" },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Nieznany typ" },
+ {T_CONTENT_TYPE_IS, "Typ zawarto\266ci to" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Chcesz otworzy\346, zapisa\346 czy wy\266wietli\346 ten plik?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Chcesz otworzy\346 czy wy\266wietli\346 ten plik?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Chcesz zapisa\346 czy wy\266wietli\346 ten plik?" },
+ {T_SAVE, "Zapisz" },
+ {T_DISPLAY, "Wy\266wietl" },
+ {T_WHAT_TO_DO, "Co mam zrobi\346?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Chcesz ten plik otworzy\346 w" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "otworzy\346, zapisa\346 czy wy\266wietli\346?" },
+ {T_OPEN, "Otw\363rz" },
+ {T_OPEN_WITH, "Otw\363rz w" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Czy chcesz przekierowa\346 i wys\263a\346 dane formularza do" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Chcesz wys\263a\346 formularz do" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Chcesz ponownie wys\263a\346 formularz do" },
+ {T_WARNING, "Ostrze\277enie" },
+ {T_ERROR, "B\263\261d" },
+ {T_WELCOME, "Powitanie" },
+ {T_WELCOME_TO_LINKS, "Witaj w programie Links!" },
+ {T_BASIC_HELP, "Wci\266nij ESC aby wywo\263a\346 menu. Wybierz Pomoc->Podr\352cznik z menu aby zapozna\346 si\352 z instrukcj\261 u\277ytkowania programu." },
+ {T_LABEL, "Etykieta" },
+ {T_CONTENT_TYPES, "Typ(y) zawarto\266ci" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' jest zast\352powany nazw\261 pliku)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blokuj terminal na czas dzia\263ania programu" },
+ {T_RUN_ON_TERMINAL, "Uruchom na terminalu" },
+ {T_RUN_IN_XWINDOW, "Uruchom w okienku X" },
+ {T_ASK_BEFORE_OPENING, "Zapytaj przed otwarciem" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Usu\361 skojarzenie" },
+ {T_ASSOCIATION, "Skojarzenie" },
+ {T_EXTENSION_S, "Rozszerzenia" },
+ {T_CONTENT_TYPE, "Typ zawarto\266ci" },
+ {T_DELETE_EXTENSION, "Usu\361 rozszerzenie" },
+ {T_EXTENSION, "Rozszerzenie" },
+ {T_eXTENSION, "rozszerzenie" },
+ {T_ERROR_WHILE_POSTING_FORM, "Wyst\261pi\263 b\263\261d podczas wysy\263ania formularza" },
+ {T_COULD_NOT_GET_FILE, "Nie mo\277na pobra\346 pliku" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Niczego wcze\266niej nie szukano" },
+ {T_SEARCH_STRING_NOT_FOUND, "Nie znaleziono wyra\277enia" },
+ {T_SAVE_ERROR, "B\263\261d zapisu" },
+ {T_ERROR_WRITING_TO_FILE, "B\263\261d zapisu do pliku" },
+ {T_DISPLAY_USEMAP, "Poka\277 map\352 obrazk\363w" },
+ {T_FOLLOW_LINK, "Wybierz link" },
+ {T_OPEN_IN_NEW_WINDOW, "Otw\363rz w nowym oknie" },
+ {T_DOWNLOAD_LINK, "Pobierz" },
+ {T_RESET_FORM, "Wyczy\266\346 formularz" },
+ {T_SUBMIT_FORM, "Prze\266lij formularz" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Prze\266lij formularz i otw\363rz w nowym oknie" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Prze\266lij formularz i \266ci\261gnij" },
+ {T_VIEW_IMAGE, "Poka\277 obrazek" },
+ {T_DOWNLOAD_IMAGE, "Pobierz obrazek" },
+ {T_NO_LINK_SELECTED, "Nie wybrano \277adnego linka" },
+ {T_IMAGE, "Obrazek" },
+ {T_USEMAP, "Mapa obrazk\363w" },
+ {T_XTERM, "X-Terminal" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Screen" },
+ {T_WINDOW, "Okno" },
+ {T_FULL_SCREEN, "Pe\263ny ekran" },
+ {T_BEOS_TERMINAL, "Terminal BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, "Javascript" },
+ {T_SUBMIT_FORM_TO, "Prze\266lij formularz do" },
+ {T_POST_FORM_TO, "Wy\266lij formularz do" },
+ {T_RADIO_BUTTON, "Okr\261g\263y przycisk" },
+ {T_CHECKBOX, "Przycisk wyboru" },
+ {T_SELECT_FIELD, "Pole wyboru" },
+ {T_TEXT_FIELD, "Pole tekstowe" },
+ {T_TEXT_AREA, "Pole tekstowe" },
+ {T_FILE_UPLOAD, "\243adowanie pliku" },
+ {T_PASSWORD_FIELD, "Pole has\263a" },
+ {T_BUTTON, "Przycisk" },
+ {T_NAME, "nazwa" },
+ {T_VALUE, "warto\266\346" },
+ {T_HIT_ENTER_TO, "wci\266nij ENTER aby" },
+ {T_SUBMIT_TO, "przes\263a\346 do" },
+ {T_POST_TO, "wys\263a\346 do" },
+ {T_INFO, "Informacja" },
+ {T_HEADER_INFO, "Informacje nag\263\363wka" },
+ {T_YOU_ARE_NOWHERE, "Tak naprawd\352 to jeste\266 nigdzie!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Rozmiar" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "niekompletne" },
+ {T_CODEPAGE, "Strona kodowa" },
+ {T_ASSUMED, "Domy\266lna" },
+ {T_IGNORING_SERVER_SETTING, "Ignoruj ustawienia serwera" },
+ {T_SERVER, "Serwer" },
+ {T_DATE, "Data" },
+ {T_LAST_MODIFIED, "Ostatnia zmiana" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "J\352zyk" },
+ {T_GO_TO_LINK, "Przejd\274 do linka" },
+ {T_ENTER_LINK_NUMBER, "Wprowad\274 numer linka" },
+ {T_RESIZE_TERMINAL, "Zmie\361 rozmiar terminala" },
+ {T_COLUMNS, "Kolumny" },
+ {T_ROWS, "Wiersze" },
+ {T_GOTO, "Przejd\274 do" },
+ {T_CLOSE, "Zamknij" },
+ {T_FOLDER, "Folder" },
+ {T_fOLDER, "folder" },
+ {T_ADD, "Dodaj" },
+ {T_DELETE, "Usu\361" },
+ {T_EDIT, "Edytuj" },
+ {T_MOVE, "Przenie\266" },
+ {T_NO_ITEMS_SELECTED, "Nie zaznaczy\263e\266 niczego" },
+ {T_UNSELECT_ALL, "Odznacz wszystkie" },
+ {T_BOOKMARKS, "Zak\263adki" },
+ {T_BOOKMARK, "Zak\263adka" },
+ {T_ADD_BOOKMARK, "Dodaj do zak\263adek" },
+ {T_ADD_ASSOCIATION, "Dodaj skojarzenie" },
+ {T_ADD_EXTENSION, "Dodaj rozszerzenie" },
+ {T_ADD_FOLDER, "Dodaj folder" },
+ {T_BOOKMARK_TITLE, "Nazwa zak\263adki" },
+ {T_EDIT_BOOKMARK, "Edytuj zak\263adk\352" },
+ {T_EDIT_ASSOCIATION, "Edytuj skojarzenie" },
+ {T_EDIT_EXTENSION, "Edytuj rozszerzenie" },
+ {T_DELETE_BOOKMARK, "Usu\361 zak\263adk\352" },
+ {T_EDIT_FOLDER, "Edytuj folder" },
+ {T_DELETE_FOLDER, "Usu\361 folder" },
+ {T_NOT_EMPTY_SURE_DELETE, "nie jest pusty. Naprawd\352 chcesz go usun\261\346?" },
+ {T_BOOKMARK_MANAGER, "Obs\263uga zak\263adek" },
+ {T_ASSOCIATIONS_MANAGER, "Mened\277er skojarze\361" },
+ {T_EXTENSIONS_MANAGER, "Mened\277er rozszerze\361" },
+ {T_url, "url" },
+ {T_NNAME, "Nazwa" },
+ {T_EXIT_LINKS, "Wyjd\274 z Linksa" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "Czy na pewno chcesz zamkn\261\346 okno?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Czy na pewno chcesz wyj\266\346 z Linksa?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Czy na pewno chcesz wyj\266\346 i przerwa\346 wszystkie \266ci\261gania?" },
+ {T_HTTP_OPTIONS, "Opcje HTTP" },
+ {T_FTP_OPTIONS, "Opcje FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "Obej\266cia b\263\352d\363w HTTP" },
+ {T_USE_HTTP_10, "U\277yj HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Akceptuj czarn\261 list\352 zapluskwionych serwer\363w" },
+ {T_BROKEN_302_REDIRECT, "Z\263e przeniesienia 302 (niezgodne z RFC ale kompatybilne z Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Nie utrzymuj po\263\261cze\361 po \277\261daniu POST (niekt\363re bazy PHP wymagaj\261 tego)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, "Nie wysy\263aj Accept-Charset" },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, "Ponawiaj pr\363by przy wewn\352trznych b\263\352dach serwera (50x)" },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "Bez nag\263\363wka Referer" },
+ {T_REFERER_SAME_URL, "Wysy\263aj \277\261dany URL jako Referer" },
+ {T_REFERER_FAKE, "Sta\263y nag\263\363wek Referer" },
+ {T_REFERER_REAL_SAME_SERVER, "Wysy\263aj prawdziwy Referer tylko do tego samego serwera" },
+ {T_REFERER_REAL, "Wysy\263aj prawdziwy Referer (standardowe zachowanie, NIEBEZPIECZNE!)" },
+ {T_FAKE_REFERER, "Sta\263y nag\263\363wek HTTP Referer" },
+ {T_FAKE_USERAGENT, "Nazwa przegl\261darki wysy\263ana serwerowi" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Has\263o dla logowania anonimowego" },
+ {T_USE_PASSIVE_FTP, "U\277ywaj pasywnego FTP" },
+ {T_USE_FAST_FTP, "U\277ywaj szybkiego FTP" },
+ {T_SET_TYPE_OF_SERVICE, "Ustaw typ us\263ugi IP (ToS)" },
+ {T_MANUAL, "Podr\352cznik u\277ytkownika" },
+ {T_HOMEPAGE, "Strona domowa" },
+ {T_CALIBRATION, "Kalibracja" },
+ {T_MAILTO_PROG, "Program pocztowy (% jest zast\352powany przez adres e-mail)" },
+ {T_SHELL_PROG, "Program pow\263oki" },
+ {T_TELNET_PROG, "Program us\263ugi Telnet (% jest zast\352powany przez \"host\" lub przez \"host port\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Program Tn3270 (% jest zast\352powany przez \"host\" lub przez \"host port\")" },
+ {T_MMS_PROG, "Program MMS (% jest zast\352powany przez URL)" },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Obs\263uga poczty i us\263ugi Telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Obs\263uga poczty, us\263ugi Telnet i pow\263oki" },
+ {T_NO_PROGRAM, "Nie okre\266lono programu" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Nie okre\266lono programu do obs\263ugi" },
+ {T_MAIL, "poczty" },
+ {T_TELNET, "telneta" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "Tn3270" },
+ {T_MMS, "mms" },
+ {T_BAD_MAILTO_URL, "B\263\352dny adres e-mail" },
+ {T_BAD_TELNET_URL, "Niew\263a\266ciwy adres serwera dla programu Telnet" },
+ {T_BAD_TN3270_URL, "Niew\263a\266ciwy adres serwera dla programu Tn3270" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "URL MMS zawiera nieakceptowalne znaki" },
+ {T_AUTHORIZATION_REQUIRED, "Wymagana autoryzacja" },
+ {T_PROXY_AUTHORIZATION_REQUIRED, "Wymagana autoryzacja dla proxy" },
+ {T_USERID, "Identyfikator u\277ytkownika" },
+ {T_PASSWORD, "Has\263o" },
+ {T_ENTER_USERNAME, "Nazwa u\277ytkownika dla " },
+ {T_AT, "na " },
+ {T_SSL_ERROR, "B\263\261d SSL" },
+ {T_NO_SSL, "Ta wersja Linksa nie posiada obs\263ugi SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, "Brak zainstalowanego klienta smb (obs\263ugiwane s\261 smbclient i smbc)" },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "Jeste\266 pewny, ze chcesz usun\261\346" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "Zak\263adki w u\277yciu!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Skojarzenia w u\277yciu!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "Rozszerzenia w u\277yciu!" },
+ {T_VIDEO_OPTIONS, "Opcje obrazu" },
+ {T_VIDEO_OPTIONS_TEXT, "Zalecane ustawienie gamma dla u\277ytkownika:\n 1.33 dla ciemnego pokoju, 1.11 dla bardzo przyciemnionego pokoju, 1 dla zwyk\263ego o\266wietlenia miejsca przy komputerze, 0.88 dla jasnego o\266wietlenia." },
+ {T_RED_DISPLAY_GAMMA, "Gamma dla sk\263adowej czerwonej" },
+ {T_GREEN_DISPLAY_GAMMA, "Gamma dla sk\263adowej zielonej" },
+ {T_BLUE_DISPLAY_GAMMA, "Gamma dla sk\263adowej niebieskiej" },
+ {T_USER_GAMMA, "Gamma u\277ytkownika" },
+ {T_ALERT, "Uwaga" },
+ {T_QUESTION, "Pytanie" },
+ {T_KILL_SCRIPT, "Zabij skrypt" },
+ {T_KILL_ALL_SCRIPTS, "Zabij wszystkie skrypty" },
+ {T_SCRIPT_KILLED_BY_USER, "Skrypt zabity przez u\277ytkownika" },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Skrypt chce zamkn\261\346 to okno. Na pewno chcesz zamkn\261\346 to okno?" },
+ {T_ENTER_STRING, "Podaj ci\261g" },
+ {T_JAVASCRIPT_OPTIONS, "Opcje Javascriptu" },
+ {T_ENABLE_JAVASCRIPT, "W\263\261cz Javascript" },
+ {T_VERBOSE_JS_ERRORS, "\246ledzenie b\263\352d\363w Javascriptu" },
+ {T_VERBOSE_JS_WARNINGS, "\246ledzenie ostrze\277e\361 Javascriptu" },
+ {T_MISCELANEOUS_OPTIONS, "Opcje r\363\277ne" },
+ {T_JAVASCRIPT_ERROR, "B\263\261d Javascriptu" },
+ {T_JAVASCRIPT_WARNING, "Ostrze\277enie Javascriptu" },
+ {T_DISMISS, "Pomi\361" },
+ {T_MENU_FONT_SIZE, "Rozmiar fontu menu" },
+ {T_USER_FONT_SIZE, "Rozmiar fontu u\277ytkownika" },
+ {T_TURN_OFF_WARNINGS, "Wy\263\261cz ostrze\277enia" },
+ {T_BOOKMARKS_ENCODING, "Kodowanie zak\263adek" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript pr\363buje i\266\346 pod adres" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript pr\363buje otworzy\346 nowe okno z adresem" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript pr\363buje i\266\346 do historii" },
+ {T_TO_URL, "do URL-a" },
+ {T_GOTO_HISTORY, "Id\274 do historii" },
+ {T_ALLOW, "Pozw\363l" },
+ {T_REJECT, "Odrzu\346" },
+ {T_ENABLE_ALL_CONVERSIONS, "W\263\261cz wszystkie konwersje" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "W\263\261cz globalne szukanie nazw" },
+ {T_MANUAL_JS_CONTROL, "R\352czne potwierdzanie operacji Javascriptu" },
+ {T_JS_RECURSION_DEPTH, "Poziom rekurencji Javascriptu" },
+ {T_MENU_BACKGROUND_COLOR, "Kolor t\263a menu" },
+ {T_MENU_FOREGROUND_COLOR, "Kolor znak\363w menu" },
+ {T_SCROLL_BAR_BAR_COLOR, "Kolor paska przewijania" },
+ {T_SCROLL_BAR_AREA_COLOR, "Kolor obszaru paska przewijania" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Kolor ramki paska przewijania" },
+ {T_BOOKMARKS_FILE, "Plik zak\263adek" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Wpisz kolory jako tr\363jki RGB" },
+ {T_JS_MEMORY_LIMIT_KB, "Pami\352\346 dla Javascriptu" },
+ {T_DITHER_LETTERS, "Dithering znak\363w" },
+ {T_DITHER_IMAGES, "Dithering obraz\363w" },
+ {T_8_BIT_GAMMA_CORRECTION, "8-bitowa korekcja gamma" },
+ {T_16_BIT_GAMMA_CORRECTION, "16-bitowa korekcja gamma" },
+ {T_AUTO_GAMMA_CORRECTION, "Automatyczna korekcja gamma" },
+ {T_SCALE_ALL_IMAGES_BY, "Skalowanie wszystkich obraz\363w" },
+ {T_PORN_ENABLE, "Automatyczne skalowanie pojedynczych obraz\363w" },
+ {T_DISPLAY_OPTIMIZATION_CRT, "Optymalizacja dla ekranu CRT" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optymalizacja dla ekranu LCD RGB" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optymalizacja dla ekranu LCD BGR" },
+ {T_ASPECT_RATIO, "Wsp\363\263czynnik wsp\363\263rz\352dnych ekranu (aspect ratio)" },
+ {T_ASPECT_CORRECTION_ON, "Korekcja aspektu" },
+ {T_KEYBOARD_CODEPAGE, "Strona kodowa klawiatury" },
+ {T_COPY_LINK_LOCATION, "Skopiuj po\263o\277enie odno\266nika" },
+ {T_BLOCK_URL, "Zablokuj obrazek" },
+ {T_BLOCK_LIST, "Zablokowane obrazki" },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, "Zablokowane obrazki s\261 ju\277 otwarte" },
+ {T_BLOCK_LIST_MANAGER, "Mened\277er blokowania obrazk\363w" },
+ {T_BLOCK_ADD, "Dodaj URL obrazka do zablokowania" },
+ {T_BLOCK_EDIT, "Zmie\361 URL obrazka" },
+ {T_BLOCK_DELETE, "Usu\361" },
+ {T_HK_GOTO_URL, "U" },
+ {T_HK_GO_BACK, "W" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, NULL },
+ {T_HK_RELOAD, NULL },
+ {T_HK_BOOKMARKS, "Z" },
+ {T_HK_NEW_WINDOW, NULL },
+ {T_HK_SAVE_AS, "Z" },
+ {T_HK_SAVE_URL_AS, "A" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "F" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "P" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "C" },
+ {T_HK_RESOURCE_INFO, NULL },
+ {T_HK_MEMORY_INFO, "N" },
+ {T_HK_OS_SHELL, NULL },
+ {T_HK_RESIZE_TERMINAL, NULL },
+ {T_HK_EXIT, "Y" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "W" },
+ {T_HK_FIND_NEXT, NULL },
+ {T_HK_FIND_PREVIOUS, NULL },
+ {T_HK_TOGGLE_HTML_PLAIN, NULL },
+ {T_HK_DOCUMENT_INFO, NULL },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "Y" },
+ {T_HK_HTML_OPTIONS, "U" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "Z" },
+ {T_HK_LANGUAGE, "J" },
+ {T_HK_CHARACTER_SET, "Z" },
+ {T_HK_TERMINAL_OPTIONS, NULL },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "U" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "P" },
+ {T_HK_MAIL_AND_TELNEL, "C" },
+ {T_HK_ASSOCIATIONS, "S" },
+ {T_HK_FILE_EXTENSIONS, "R" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "O" },
+ {T_HK_ABOUT, "O" },
+ {T_HK_KEYS, NULL },
+ {T_HK_COPYING, "P" },
+ {T_HK_MANUAL, NULL },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "P" },
+ {T_HK_VIEW, "W" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "O" },
+ {T_HK_SETUP, "U" },
+ {T_HK_HELP, "M" },
+ {T_HK_DISPLAY_USEMAP, "M" },
+ {T_HK_FOLLOW_LINK, "L" },
+ {T_HK_OPEN_IN_NEW_WINDOW, NULL },
+ {T_HK_DOWNLOAD_LINK, "P" },
+ {T_HK_RESET_FORM, NULL },
+ {T_HK_SUBMIT_FORM, "P" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "F" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "O" },
+ {T_HK_VIEW_IMAGE, "B" },
+ {T_HK_DOWNLOAD_IMAGE, "O" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, NULL },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, NULL },
+ {T_HK_WINDOW, NULL },
+ {T_HK_FULL_SCREEN, NULL },
+ {T_HK_BEOS_TERMINAL, NULL },
+ { 0, NULL }
+};
+
+static struct translation translation_portuguese [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-1" },
+ {T__LANGUAGE, "Portuguese" },
+ {T__ACCEPT_LANGUAGE, "pt" },
+ {T_OK, "OK" },
+ {T_CANCEL, "Cancelar" },
+ {T_BAD_NUMBER, "N\372mero inv\341lido" },
+ {T_NUMBER_EXPECTED, "Espera-se n\372mero no campo" },
+ {T_NUMBER_OUT_OF_RANGE, "N\372mero fora do intervalo" },
+ {T_BAD_STRING, "Sequ\352ncia de caracteres inv\341lida" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "N\343o \351 permitida uma sequ\352ncia de caracteres vazia" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Erro de configura\347\343o" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "N\343o posso escrever no arquivo de configura\347\343o" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Sobre" },
+ {T_LINKS__LYNX_LIKE, "Browser WWW em modo texto" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Teclas" },
+ {T_KEYS_DESC, "ESC Exibe o menu\n^C, q Finalizar\n^P, ^N Deslocar para cima, baixo\n[, ] Deslocar para a esquerda, direita\n cima, baixo seleciona link\n-> visita link\n<- volta\ng abre url\nG abre url baseada na url atual\n/ localizar\n? localizar para tr\341s\nn encontrar pr\363ximo\nN encontrar anterior\n= informa\347\365es sobre documento\n\\ fonte do documento\nd download" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Licensa" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nEste programa \351 um software livre; pode redistribu\355-lo e/ou modific\341-lo sob os termos da Licensa P\372blica Geral GNU, como publicada pela Free Software Foundation; ou pela vers\343o 2 da Licensa, ou (por sua op\347\343o) qualquer vers\343o posterior." },
+ {T_RESOURCES, "Recursos" },
+ {T_CONNECTIONS, "Conex\365es" },
+ {T_MEMORY_CACHE, "Cache de mem\363ria" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "Cache de documentos formatados" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "handles" },
+ {T_TIMERS, "temporizadores" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "a conectar" },
+ {T_tRANSFERRING, "a transferir" },
+ {T_KEEPALIVE, "manter activo" },
+ {T_BYTES, "bytes" },
+ {T_LETTERS, NULL },
+ {T_FILES, "arquivosfiles" },
+ {T_LOCKED, "bloqueado" },
+ {T_LOADING, "a carregar" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "documentos" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "bytes de mem\363ria alocados" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Informa\347\365es sobre a mem\363ria" },
+ {T_NO_HISTORY, "Sem hist\363rico" },
+ {T_NO_DOWNLOADS, "Sem downloads" },
+ {T_NO_FRAMES, "Sem frames" },
+ {T_VT_100_FRAMES, "Frames VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "Frames Linux ou OS/2" },
+ {T_KOI8R_FRAMES, "Frames KOI8-R" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Usar ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Frames restritos para cp850/852" },
+ {T_BLOCK_CURSOR, "Bloquear cursor" },
+ {T_COLOR, "Cores" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Op\347\365es do Terminal" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, NULL },
+ {T_FTP_PROXY__HOST_PORT, NULL },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, NULL },
+ {T_NETWORK_OPTIONS, NULL },
+ {T_MAX_CONNECTIONS, NULL },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, NULL },
+ {T_RETRIES, NULL },
+ {T_RECEIVE_TIMEOUT_SEC, NULL },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, NULL },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, NULL },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, NULL },
+ {T_CACHE_OPTIONS, NULL },
+ {T_MEMORY_CACHE_SIZE__KB, NULL },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, NULL },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, NULL },
+ {T_DISPLAY_TABLES, NULL },
+ {T_DISPLAY_FRAMES, NULL },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, NULL },
+ {T_LINK_ORDER_BY_COLUMNS, NULL },
+ {T_NUMBERED_LINKS, NULL },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, NULL },
+ {T_DEFAULT_CODEPAGE, NULL },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, NULL },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Ir para URL" },
+ {T_GO_BACK, "Voltar" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Hist\363rico" },
+ {T_RELOAD, "Recarregar" },
+ {T_NEW_WINDOW, "Nova janela" },
+ {T_SAVE_AS, "Guardar como" },
+ {T_SAVE_URL_AS, "Guardar URL como" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Guardar documento formatado" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Fechar conex\365es em segundo plano" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "Reinicializar as caches" },
+ {T_RESOURCE_INFO, "Informa\347\365es sobre os Recursos" },
+ {T_OS_SHELL, "OS shell" },
+ {T_EXIT, "Sair" },
+ {T_SEARCH, "Procurar" },
+ {T_SEARCH_BACK, "Procurar para tr\341s" },
+ {T_FIND_NEXT, "Localizar pr\363ximo" },
+ {T_FIND_PREVIOUS, "Localizar anterior" },
+ {T_TOGGLE_HTML_PLAIN, "Alternar entre HTML/Texto simples" },
+ {T_DOCUMENT_INFO, "Informa\347\343o sobre o documento" },
+ {T_FRAME_AT_FULL_SCREEN, "Frame maximizado" },
+ {T_SAVE_HTML_OPTIONS, NULL },
+ {T_CHARACTER_SET, "Conjunto de Caracteres (Charset)" },
+ {T_CACHE, NULL },
+ {T_MAIL_AND_TELNEL, NULL },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Associa\347\365es" },
+ {T_FILE_EXTENSIONS, "Extens\365es de ficheiro" },
+ {T_SAVE_OPTIONS, "Salvar op\347\365es" },
+ {T_FILE, "Ficheiro" },
+ {T_VIEW, "Ver" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "Downloads" },
+ {T_SETUP, "Configura\347\343o" },
+ {T_HELP, "Ajuda" },
+ {T_ENTER_URL, "Introduza o URL" },
+ {T_SAVE_URL, "Guardar o URL" },
+ {T_DOWNLOAD, "Download" },
+ {T_SAVE_TO_FILE, "Salvar para ficheiro" },
+ {T_SEARCH_FOR_TEXT, "Procurar pelo texto" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "Aguardando na fila" },
+ {T_LOOKING_UP_HOST, "Procurando pelo host" },
+ {T_MAKING_CONNECTION, "A conectar" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "Negocia\347\343o SSL" },
+ {T_REQUEST_SENT, "Pedido enviado" },
+ {T_GETTING_HEADERS, "A obter os cabe\347alhos" },
+ {T_LOGGING_IN, "A efectuar o login" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "O servidor est\341 a processar o pedido" },
+ {T_TRANSFERRING, "A transferir" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "A aguardar pela confirma\347\343o do redirecionamento" },
+ {T_INTERRUPTED, "Interrompido" },
+ {T_SOCKET_EXCEPTION, "Excess\343o do Socket" },
+ {T_INTERNAL_ERROR, "Erro interno" },
+ {T_OUT_OF_MEMORY, "Sem mem\363ria" },
+ {T_HOST_NOT_FOUND, "Host n\343o encontrado" },
+ {T_ERROR_WRITING_TO_SOCKET, "Erro ao gravar pelo socket" },
+ {T_ERROR_READING_FROM_SOCKET, "Erro ao ler pelo socket" },
+ {T_DATA_MODIFIED, "Dados modificados" },
+ {T_BAD_URL_SYNTAX, "Sintaxe do URL est\341 incorreta" },
+ {T_RECEIVE_TIMEOUT, "Timeout recebido" },
+ {T_REQUEST_MUST_BE_RESTARTED, "O pedido deve ser reiniciado" },
+ {T_CANT_GET_SOCKET_STATE, "N\343o posso obter o status do socket" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Resposta HTTP incorreta" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Sem conte\372do" },
+ {T_UNKNOWN_FILE_TYPE, "Tipo de ficheiro desconhecido" },
+ {T_ERROR_OPENING_FILE, "Erro ao abrir ficheiro" },
+ {T_BAD_FTP_RESPONSE, "Resposta FTP incorreta" },
+ {T_FTP_SERVICE_UNAVAILABLE, "Servi\347o de FTP indispon\355vel" },
+ {T_BAD_FTP_LOGIN, "Login FTP incorreto" },
+ {T_FTP_PORT_COMMAND_FAILED, "Comando FTP PORT falhou" },
+ {T_FILE_NOT_FOUND, "Ficheiro n\343o encontrado" },
+ {T_FTP_FILE_ERROR, "Erro em FTP" },
+ {T_UNKNOWN_ERROR, "ERRO DESCONHECIDO" },
+ {T_RECEIVED, "Recebido" },
+ {T_OF, "de" },
+ {T_AVG, "m\351dia" },
+ {T_CUR, "actual" },
+ {T_AVERAGE_SPEED, "Velocidade m\351dia" },
+ {T_SPEED, "Velocidade" },
+ {T_CURRENT_SPEED, "velocidade actual" },
+ {T_ELAPSED_TIME, "Tempo gasto" },
+ {T_ESTIMATED_TIME, "tempo estimado" },
+ {T_BACKGROUND, "Segundo plano" },
+ {T_ABORT, "Cancelar" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "Sim" },
+ {T_NO, "N\343o" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Erro de download" },
+ {T_COULD_NOT_WRITE_TO_FILE, "N\343o posso gravar para arquivo" },
+ {T_ERROR_DOWNLOADING, "Erro durante o download" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "N\343o posso criar o arquivo" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Tipo desconhecido" },
+ {T_CONTENT_TYPE_IS, "O Tipo de conte\372do \351" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Deseja guardar ou mostrar este arquivo?" },
+ {T_SAVE, "Salvar" },
+ {T_DISPLAY, "Mostar" },
+ {T_WHAT_TO_DO, "O que fazer?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Deseja abrir o arquivo com" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "salvar ou exibir?" },
+ {T_OPEN, "Abrir" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Deseja continuar com o redirecionamento e enviar os dados do formul\341rio" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Deseja enviar os dados do formul\341rio" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Deseja enviar novamente os dados do formul\341rio" },
+ {T_WARNING, "Aten\347\343o" },
+ {T_ERROR, "Erro" },
+ {T_WELCOME, "Bem-vindo" },
+ {T_WELCOME_TO_LINKS, "Bem-vindo ao Links!" },
+ {T_BASIC_HELP, "Pressione ESC para ativar o menu. Selecione Ajuda->Manual no menu para o Manual do Utilizador." },
+ {T_LABEL, NULL },
+ {T_CONTENT_TYPES, NULL },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, NULL },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, NULL },
+ {T_RUN_ON_TERMINAL, NULL },
+ {T_RUN_IN_XWINDOW, NULL },
+ {T_ASK_BEFORE_OPENING, NULL },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, NULL },
+ {T_ASSOCIATION, NULL },
+ {T_EXTENSION_S, "Extens\343o(\365es)" },
+ {T_CONTENT_TYPE, "Tipo de conte\372do (Content-Type)" },
+ {T_DELETE_EXTENSION, "Apagar extens\343o" },
+ {T_EXTENSION, "Extens\343o" },
+ {T_eXTENSION, NULL },
+ {T_ERROR_WHILE_POSTING_FORM, "Erro durante o envio do formul\341rio" },
+ {T_COULD_NOT_GET_FILE, "N\343o posso obter o ficheiro" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "N\343o h\341 procura anterior" },
+ {T_SEARCH_STRING_NOT_FOUND, "Texto a procurar n\343o encontrado" },
+ {T_SAVE_ERROR, "Erro ao salvar" },
+ {T_ERROR_WRITING_TO_FILE, "Erro ao gravar no ficheiro" },
+ {T_DISPLAY_USEMAP, "Mostrar o usemap" },
+ {T_FOLLOW_LINK, "Seguir link" },
+ {T_OPEN_IN_NEW_WINDOW, "Abrir em nova janela" },
+ {T_DOWNLOAD_LINK, "Download link" },
+ {T_RESET_FORM, "Reiniciar formul\341rio" },
+ {T_SUBMIT_FORM, "Enviar formul\341rio" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Enviar formul\341rio e abrir em nova janela" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Enviar formul\341rio e efectuar download" },
+ {T_VIEW_IMAGE, "Ver imagem" },
+ {T_DOWNLOAD_IMAGE, "Download da imagem" },
+ {T_NO_LINK_SELECTED, "Nenhum link selecionado" },
+ {T_IMAGE, "Imagem" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, NULL },
+ {T_SCREEN, "Monitor" },
+ {T_WINDOW, "Janela" },
+ {T_FULL_SCREEN, "maximizado" },
+ {T_BEOS_TERMINAL, "Terminal do BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Enviar formul\341rio para" },
+ {T_POST_FORM_TO, "Postar formul\341rio para" },
+ {T_RADIO_BUTTON, "Bot\343o radio" },
+ {T_CHECKBOX, "Caixa de verifica\347\343o" },
+ {T_SELECT_FIELD, "Campo de sele\347\343o" },
+ {T_TEXT_FIELD, "Campo de texto" },
+ {T_TEXT_AREA, "\301rea de texto" },
+ {T_FILE_UPLOAD, "Upload de ficheiro" },
+ {T_PASSWORD_FIELD, "Campo de password" },
+ {T_BUTTON, NULL },
+ {T_NAME, "nome" },
+ {T_VALUE, "valor" },
+ {T_HIT_ENTER_TO, "perssione ENTER para" },
+ {T_SUBMIT_TO, "enviar para" },
+ {T_POST_TO, "postar para" },
+ {T_INFO, "Info" },
+ {T_HEADER_INFO, "Informa\347\343o de cabe\347alhos" },
+ {T_YOU_ARE_NOWHERE, "N\343o est\341 em nenhum s\355tio" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Tamanho" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "incompleto" },
+ {T_CODEPAGE, "Codepage" },
+ {T_ASSUMED, "assumido" },
+ {T_IGNORING_SERVER_SETTING, "Ignorando configura\347\343o de servidor" },
+ {T_SERVER, "Servidor" },
+ {T_DATE, "Data" },
+ {T_LAST_MODIFIED, "\332ltima modifica\347\343o" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Idioma" },
+ {T_GO_TO_LINK, "Ir para link" },
+ {T_ENTER_LINK_NUMBER, "Digite o n\372mero do link" },
+ {T_RESIZE_TERMINAL, "Redimensionar terminal" },
+ {T_COLUMNS, "Colunas" },
+ {T_ROWS, "Linhas" },
+ {T_GOTO, "Ir para" },
+ {T_CLOSE, "Fechar" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "Adicionar" },
+ {T_DELETE, "Apagar" },
+ {T_EDIT, "Editar" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "Bookmarks" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "Adicionar bookmark" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, NULL },
+ {T_EDIT_BOOKMARK, "Editar bookmark" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "Apagar bookmark" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "Explorador de Bookmarks" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, NULL },
+ {T_NNAME, "Nome" },
+ {T_EXIT_LINKS, "Sair" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Voc\352 realmente deseja encerrar o Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Voc\352 realmente deseja encerrar o Links (e terminar todos os downloads)?" },
+ {T_HTTP_OPTIONS, NULL },
+ {T_FTP_OPTIONS, NULL },
+ {T_HTTP_BUG_WORKAROUNDS, NULL },
+ {T_USE_HTTP_10, NULL },
+ {T_ALLOW_SERVER_BLACKLIST, NULL },
+ {T_BROKEN_302_REDIRECT, NULL },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, NULL },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, NULL },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Manual do Utilizador" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, NULL },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, NULL },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, NULL },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, NULL },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Nenhum programa" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Nenhum programa foi especificado para" },
+ {T_MAIL, NULL },
+ {T_TELNET, NULL },
+ {T_MAGNET, NULL },
+ {T_TN3270, NULL },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, NULL },
+ {T_BAD_TELNET_URL, NULL },
+ {T_BAD_TN3270_URL, NULL },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "Utilizador" },
+ {T_PASSWORD, "Password" },
+ {T_ENTER_USERNAME, "Introduza Utilizador" },
+ {T_AT, "em " },
+ {T_SSL_ERROR, "Erro de SSL" },
+ {T_NO_SSL, "Sem SSL" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "U" },
+ {T_HK_GO_BACK, "V" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "G" },
+ {T_HK_SAVE_URL_AS, "D" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "M" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "F" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "E" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "A" },
+ {T_HK_SEARCH, "P" },
+ {T_HK_SEARCH_BACK, "A" },
+ {T_HK_FIND_NEXT, "P" },
+ {T_HK_FIND_PREVIOUS, "C" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "F" },
+ {T_HK_HTML_OPTIONS, NULL },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, NULL },
+ {T_HK_LANGUAGE, "I" },
+ {T_HK_CHARACTER_SET, "H" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "R" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, NULL },
+ {T_HK_MAIL_AND_TELNEL, NULL },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "S" },
+ {T_HK_KEYS, "T" },
+ {T_HK_COPYING, "L" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "C" },
+ {T_HK_HELP, "A" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "S" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "J" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "E" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "V" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "O" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_romanian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-16" },
+ {T__LANGUAGE, "Romanian" },
+ {T__ACCEPT_LANGUAGE, "ro" },
+ {T_OK, "Bine" },
+ {T_CANCEL, "Anuleaz\343" },
+ {T_BAD_NUMBER, "Num\343r gre\272it" },
+ {T_NUMBER_EXPECTED, "Num\343r a\272teptat \356n acest c\356mp" },
+ {T_NUMBER_OUT_OF_RANGE, "Num\343r \356n afara domeniului" },
+ {T_BAD_STRING, "\252ir gre\272it" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "\252ir vid neacceptabil" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Eroare de configurare" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Nu pot s\343 scriu fi\272ierul de configurere" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Despre" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nca \272i lynx, navigator WWW de tip text" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Taste" },
+ {T_KEYS_DESC, "ESC Afi\272eaz\343 meniul\n^C, q Ie\272i\n^P, ^N Pagina sus, jos\n[, ] Pagina st\356nga, dreapta\nPgUp/PgDn Selecteaz\343 leg\343tura\n-> Urm\343re\272te leg\343tura\n<- \316napoi\ng Du-te la URL\nG Du-te la URL, (de la pagina curent\343)\n/ Caut\343\n? Caut\343 \356napoi\nn G\343se\272te urm\343torul\nN G\343se\272te precedentul\n= Informa\376ii despre document\n| Informa\376ii despre header\n\\ Sursa documentului\nd \316ncarc\343" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Licen\376a" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\nAcest program este liber (free), poate fi publicat, modificat \272i difuzat numai \356n termenii licen\376ei publice generale de la GNU de la Funda\376ia de Programe cu Liber Acces, sau de la versiunea a doua a GPL, sau (alegerea este a dumneavoastr\343) dup\343 toate versiunile anterioare." },
+ {T_RESOURCES, "Resurse" },
+ {T_CONNECTIONS, "Conexiuni" },
+ {T_MEMORY_CACHE, "Memorie cache" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "Cache de document formatat" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "Fi\272iere deschise" },
+ {T_TIMERS, "Ceas" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "Conectare" },
+ {T_tRANSFERRING, "Transfer" },
+ {T_KEEPALIVE, "Conexiune men\376inut\343" },
+ {T_BYTES, "Bi\376i" },
+ {T_LETTERS, NULL },
+ {T_FILES, "Fi\272ier(e)" },
+ {T_LOCKED, "Blocat(\343)" },
+ {T_LOADING, "\316n curs de \356nc\343rcare" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "Documente" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "Bi\376ii de memorie aloca\376i" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Informa\376ii despre memorie" },
+ {T_NO_HISTORY, "F\343r\343 istoric" },
+ {T_NO_DOWNLOADS, "Nici o \356nc\343rcare" },
+ {T_NO_FRAMES, "F\343r\343 cadruri" },
+ {T_VT_100_FRAMES, "Cadruri VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "Cadruri Linux sau OS/2" },
+ {T_KOI8R_FRAMES, "Cadre KOI8-R" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Utiliza\376i ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Limiteaz\343 cadrurile in cp850/852" },
+ {T_BLOCK_CURSOR, "Cursor bloc" },
+ {T_COLOR, "Culoare" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Op\376iuni de terminal" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Acces direct (w/o proxy) domenii (separate cu virgul\343)" },
+ {T_NETWORK_OPTIONS, "Op\376iuni de re\376ea" },
+ {T_MAX_CONNECTIONS, "Conexiuni maxime" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Conexiuni maxime la un host" },
+ {T_RETRIES, "Re\356ncerc\343ri" },
+ {T_RECEIVE_TIMEOUT_SEC, "Primit timeout (sec)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Timeout c\356nd este nerestartabil" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Async DNS lookup" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Seteaza timpul de \356nc\343rcare al fi\272ierelor" },
+ {T_CACHE_OPTIONS, "Op\376iuni de cache" },
+ {T_MEMORY_CACHE_SIZE__KB, "Dimensiunea memoriei cache (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Num\343rul documentelor formatate" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "Op\376iuni html" },
+ {T_DISPLAY_TABLES, "Arat\343 tabele" },
+ {T_DISPLAY_FRAMES, "Arat\343 cadrele" },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Arat\343 leg\343turile c\343tre imagini" },
+ {T_LINK_ORDER_BY_COLUMNS, "Mi\272c\343 cursorul pe coloane \356n tabele" },
+ {T_NUMBERED_LINKS, "Leg\343turile s\356nt num\343rate" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Marginea textului" },
+ {T_DEFAULT_CODEPAGE, "Codarea de pagin\343 predefinit\343" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignor\343 setul de caractere (charset) trimis de server" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Du-te la URL" },
+ {T_GO_BACK, "\316ntoarce-te" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Istoric" },
+ {T_RELOAD, "Re\356ncarc\343" },
+ {T_NEW_WINDOW, "Fereastr\343 nou\343" },
+ {T_SAVE_AS, "Salveaz\343 ca" },
+ {T_SAVE_URL_AS, "Salveaz\343 URL ca" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Salveaz\343 documentul formatat" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Oprirea desc\343rc\343rilor din fundal" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "Elimin\343 tot cache-ul" },
+ {T_RESOURCE_INFO, "Informa\376ii despre resurse" },
+ {T_OS_SHELL, "Shell-ul sistemului de operare" },
+ {T_EXIT, "Ie\272i" },
+ {T_SEARCH, "Caut\343" },
+ {T_SEARCH_BACK, "Caut\343 \356napoi" },
+ {T_FIND_NEXT, "G\343se\272te urm\343torul" },
+ {T_FIND_PREVIOUS, "G\343se\272te precedentul" },
+ {T_TOGGLE_HTML_PLAIN, "Toggle html/plain" },
+ {T_DOCUMENT_INFO, "Informa\376ii despre document" },
+ {T_FRAME_AT_FULL_SCREEN, "Cadrul pe tot ecranul" },
+ {T_SAVE_HTML_OPTIONS, "Salveaz\343 op\376iunile html" },
+ {T_CHARACTER_SET, "Setul de caractere" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "E-mail \272i telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Asocia\376ii" },
+ {T_FILE_EXTENSIONS, "Extensia fi\272ierelor" },
+ {T_SAVE_OPTIONS, "Salveaz\343 op\376iunile" },
+ {T_FILE, "Fi\272ier" },
+ {T_VIEW, "Vezi" },
+ {T_LINK, "Leg\343turi" },
+ {T_DOWNLOADS, "\316ncarc\343" },
+ {T_SETUP, "Set\343ri" },
+ {T_HELP, "Ajutor" },
+ {T_ENTER_URL, "Intr\343 URL" },
+ {T_SAVE_URL, "Salveaz\343 URL" },
+ {T_DOWNLOAD, "\316ncarc\343" },
+ {T_SAVE_TO_FILE, "Salveaz\343 \356n fi\272ier" },
+ {T_SEARCH_FOR_TEXT, "Caut\343 pentru text" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "A\272teapt\343 la coad\343" },
+ {T_LOOKING_UP_HOST, "Looking up host" },
+ {T_MAKING_CONNECTION, "Fac conexiunea" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "Negociere SSL" },
+ {T_REQUEST_SENT, "Cerere trimis\343" },
+ {T_GETTING_HEADERS, "Primesc header" },
+ {T_LOGGING_IN, NULL },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Serverul proceseaz\343 cererea" },
+ {T_TRANSFERRING, "Transfer" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "A\272tept pentru redirec\376ionarea confirm\343rii" },
+ {T_INTERRUPTED, "\316ntrerupt" },
+ {T_SOCKET_EXCEPTION, "Socket exception" },
+ {T_INTERNAL_ERROR, "Eroare intern\343" },
+ {T_OUT_OF_MEMORY, "Memorie insuficient\343" },
+ {T_HOST_NOT_FOUND, "Gazd\343 neg\343sit\343" },
+ {T_ERROR_WRITING_TO_SOCKET, "Eroare de scriere la socket" },
+ {T_ERROR_READING_FROM_SOCKET, "Eroare de citire de la socket" },
+ {T_DATA_MODIFIED, "Date modificate" },
+ {T_BAD_URL_SYNTAX, "Sintax\343 gre\272it\343" },
+ {T_RECEIVE_TIMEOUT, "A expirat timpul de a\272teptare" },
+ {T_REQUEST_MUST_BE_RESTARTED, "Cererea trebuie re\356nceput\343" },
+ {T_CANT_GET_SOCKET_STATE, "Nu pot determina starea soketului" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "R\343spuns HTTP gre\272it" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "F\343r\343 con\376inut" },
+ {T_UNKNOWN_FILE_TYPE, "Tip de fi\272ier necunoscut" },
+ {T_ERROR_OPENING_FILE, "Eroare la deschiderea fi\272ierului" },
+ {T_BAD_FTP_RESPONSE, "R\343spuns FTP gre\272it" },
+ {T_FTP_SERVICE_UNAVAILABLE, "Serviciu FTP nedisponibil" },
+ {T_BAD_FTP_LOGIN, "FTP login gre\272it" },
+ {T_FTP_PORT_COMMAND_FAILED, "Comanda PORTul FTP a e\272uat" },
+ {T_FILE_NOT_FOUND, "Fi\272ier neg\343sit" },
+ {T_FTP_FILE_ERROR, "Eroare FTP de fi\272ier" },
+ {T_UNKNOWN_ERROR, "Eroare necunoscut\343" },
+ {T_RECEIVED, "Primite" },
+ {T_OF, "Din" },
+ {T_AVG, "Medie" },
+ {T_CUR, "Cursor" },
+ {T_AVERAGE_SPEED, "Viteza medie" },
+ {T_SPEED, "Viteza" },
+ {T_CURRENT_SPEED, "Viteza curent\343" },
+ {T_ELAPSED_TIME, "Elapsed time" },
+ {T_ESTIMATED_TIME, "Timp estimat" },
+ {T_BACKGROUND, "Fundal" },
+ {T_ABORT, "Anuleaz\343" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "Da" },
+ {T_NO, "Nu" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Eroare la desc\343rcare" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Nu s-a putut crea fi\272ierul" },
+ {T_ERROR_DOWNLOADING, "Eroare la desc\343rcare" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "Nu s-a putut crea fi\272ierul" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Tip necunoscut" },
+ {T_CONTENT_TYPE_IS, "Tipul de con\376inut este" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Vre\376i s\343 salva\376i sau s\343 vede\376i acest fi\272ier?" },
+ {T_SAVE, "Slaveaz\343" },
+ {T_DISPLAY, "Arat\343" },
+ {T_WHAT_TO_DO, "Ce s\343 fac?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Vre\376i s\343 deschide\376i fi\272ierul cu" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "\316l salvez sau \356l ar\343t?" },
+ {T_OPEN, "Deschide" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Vre\376i s\343 fi\376i redirec\376ionat \272i s\343 primi\376i date de la url" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Vre\376i s\343 posta\376i date c\343tre url" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Vre\376i s\343 reposta\376i date c\343tre url" },
+ {T_WARNING, "Avertisment" },
+ {T_ERROR, "Eroare" },
+ {T_WELCOME, "Bine a\376i venit" },
+ {T_WELCOME_TO_LINKS, "Bine a\376i venit la links!" },
+ {T_BASIC_HELP, "Ap\343sa\376i ESC pentru meniu. Selecta\376i Ajutor->Manual \356n meniu pentru manualul utlizatorului." },
+ {T_LABEL, "Etichet\343" },
+ {T_CONTENT_TYPES, "Content-Type(s)" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' este \356nlocuit cu numele fi\272ierului)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blocheaz\343 terminalul c\356nd ruleaz\343 programul" },
+ {T_RUN_ON_TERMINAL, "Ruleaz\343 \356n terminal" },
+ {T_RUN_IN_XWINDOW, "Ruleaz\343 \356n X-Window" },
+ {T_ASK_BEFORE_OPENING, "\316ntreab\343 \356nainte de a deschide" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "\252terge asocierea" },
+ {T_ASSOCIATION, "Asocierea" },
+ {T_EXTENSION_S, "Extensia(extensiile)" },
+ {T_CONTENT_TYPE, "Tipul con\376inutului" },
+ {T_DELETE_EXTENSION, "\252terge extensia" },
+ {T_EXTENSION, "Extensia" },
+ {T_eXTENSION, "extensia" },
+ {T_ERROR_WHILE_POSTING_FORM, "Eroare la postarea formularului" },
+ {T_COULD_NOT_GET_FILE, "Nu s-a putut recupera fi\272ierul" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Nu exist\343 c\343ut\343ri anterioare" },
+ {T_SEARCH_STRING_NOT_FOUND, "\252ir de c\343utare neg\343sit" },
+ {T_SAVE_ERROR, "Eroare la salvare" },
+ {T_ERROR_WRITING_TO_FILE, "Eroare la scrierea fi\272ierului" },
+ {T_DISPLAY_USEMAP, "Arat\343 usemap" },
+ {T_FOLLOW_LINK, "Urm\343re\272te link" },
+ {T_OPEN_IN_NEW_WINDOW, "Deschide \356n fereastr\343 nou\343" },
+ {T_DOWNLOAD_LINK, "Descarc\343 link" },
+ {T_RESET_FORM, "Reseteaz\343 formularul" },
+ {T_SUBMIT_FORM, "Trimite formularul" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Trimite formularul \272i deschide \356n fereastr\343 nou\343" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Trimite formularul \272i descarc\343" },
+ {T_VIEW_IMAGE, "Vezi imagine" },
+ {T_DOWNLOAD_IMAGE, "Descarc\343 imaginea" },
+ {T_NO_LINK_SELECTED, "Nici un link selectat" },
+ {T_IMAGE, "Imagine" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Ecran" },
+ {T_WINDOW, "Fereastr\343" },
+ {T_FULL_SCREEN, "Pe tot ecranul" },
+ {T_BEOS_TERMINAL, "Terminal BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Trimite formular c\343tre" },
+ {T_POST_FORM_TO, "Posteaz\343 formular c\343tre" },
+ {T_RADIO_BUTTON, "Buton radio" },
+ {T_CHECKBOX, "Checkbox" },
+ {T_SELECT_FIELD, "Selecteaz\343 c\356mpul" },
+ {T_TEXT_FIELD, "C\356mp de text" },
+ {T_TEXT_AREA, "Arie de text" },
+ {T_FILE_UPLOAD, "\316nc\343rcare de fi\272ier" },
+ {T_PASSWORD_FIELD, "C\356mp de parol\343" },
+ {T_BUTTON, NULL },
+ {T_NAME, "Nume" },
+ {T_VALUE, "Valoare" },
+ {T_HIT_ENTER_TO, "Ap\343sa\376i ENTER ca s\343" },
+ {T_SUBMIT_TO, "Trimite la" },
+ {T_POST_TO, "Posteaz\343 c\343tre" },
+ {T_INFO, "Info" },
+ {T_HEADER_INFO, "Info pentru antet" },
+ {T_YOU_ARE_NOWHERE, "You are nowhere!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Dimensiune" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "Incomplet" },
+ {T_CODEPAGE, "Codare" },
+ {T_ASSUMED, "Asumat" },
+ {T_IGNORING_SERVER_SETTING, "Ignoring server setting" },
+ {T_SERVER, "Server" },
+ {T_DATE, "Data" },
+ {T_LAST_MODIFIED, "Ultima modificare" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Limbaj" },
+ {T_GO_TO_LINK, "Du-te la link" },
+ {T_ENTER_LINK_NUMBER, "Introdu num\343rul link-ului" },
+ {T_RESIZE_TERMINAL, "Redimensionez\343 terminalul" },
+ {T_COLUMNS, "Coloane" },
+ {T_ROWS, "Linii" },
+ {T_GOTO, "Du-te la" },
+ {T_CLOSE, "\316nchide" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "Adaug\343" },
+ {T_DELETE, "\252terge" },
+ {T_EDIT, "Editeaz\343" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "Semne de carte" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "Adaug\343 semn de carte" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, "Titlu semnului de carte" },
+ {T_EDIT_BOOKMARK, "Editeaz\343 semnul de carte" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "\252terge semnul de carte" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "Administratorul semnelor de carte" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, "Url" },
+ {T_NNAME, "Nume" },
+ {T_EXIT_LINKS, "Ie\272ire links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Chiar vre\376i s\343 ie\272i\376i din links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Chiar vre\376i s\343 ie\272i\376i din links (\272i s\343 termina\376i desc\343rc\343rile)?" },
+ {T_HTTP_OPTIONS, "Op\376iuni HTTP" },
+ {T_FTP_OPTIONS, "Op\376iuni FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP bug workarounds" },
+ {T_USE_HTTP_10, "Folose\272te HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Allow blacklist of buggy servers" },
+ {T_BROKEN_302_REDIRECT, "Broken redirect 302 (it violates RFC, but it's compatible with Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "No keepalive connection after POST request (some buggy PHP databases need it)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Parol\343 pentru login anonim" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Manualul utilizatorului" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, "Program de e-mail (% este \356nlocuit cu adresa)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Program de telnet (% este \356nlocuit cu \"Host\" ori \"Host port\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Program de Tn3270 (% este \356nlocuit cu \"Host\" ori \"Host port\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Programe de e-mail si telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Nici un program" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Program nespecificat pentru" },
+ {T_MAIL, "E-mail" },
+ {T_TELNET, "Telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "Tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "URL gre\272it pentru e-mail" },
+ {T_BAD_TELNET_URL, "URL gre\272it pentru telnet" },
+ {T_BAD_TN3270_URL, "URL gre\272it pentru tn3270" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "Identificare utilizator" },
+ {T_PASSWORD, "Parola" },
+ {T_ENTER_USERNAME, "Introduce\376i numele utilizatorului pentru" },
+ {T_AT, "la " },
+ {T_SSL_ERROR, "Eroare SSL" },
+ {T_NO_SSL, "Aceast\343 versiune de links nu con\376ine suport pentru SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "T" },
+ {T_HK_GO_BACK, "N" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "T" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "V" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "F" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "T" },
+ {T_HK_RESOURCE_INFO, "F" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "I" },
+ {T_HK_SEARCH, "C" },
+ {T_HK_SEARCH_BACK, "P" },
+ {T_HK_FIND_NEXT, "U" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "T" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "S" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "T" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "R" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "D" },
+ {T_HK_KEYS, "T" },
+ {T_HK_COPYING, "L" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "A" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "U" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "N" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "E" },
+ {T_HK_WINDOW, "F" },
+ {T_HK_FULL_SCREEN, "E" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_russian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "koi8-r" },
+ {T__LANGUAGE, "Russian" },
+ {T__ACCEPT_LANGUAGE, "ru" },
+ {T_OK, "\357\353" },
+ {T_CANCEL, "\357\324\315\305\316\301" },
+ {T_BAD_NUMBER, "\356\305\327\305\322\316\317\305 \336\311\323\314\317" },
+ {T_NUMBER_EXPECTED, "\367 \320\317\314\305 \304\317\314\326\316\317 \302\331\324\330 \336\311\323\314\317" },
+ {T_NUMBER_OUT_OF_RANGE, "\376\311\323\314\317 \327\316\305 \304\317\320\325\323\324\311\315\317\307\317 \304\311\301\320\301\332\317\316\301" },
+ {T_BAD_STRING, "\356\305\327\305\322\316\301\321 \323\324\322\317\313\301" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "\360\325\323\324\331\305 \323\324\322\317\313\311 \316\305 \304\317\320\325\323\313\301\300\324\323\321" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "\357\333\311\302\313\301 \316\301\323\324\322\317\312\313\311" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "\356\305\327\317\332\315\317\326\316\317 \332\301\320\311\323\301\324\330 \327 \306\301\312\314 \316\301\323\324\322\317\305\313" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "\357 \320\322\317\307\322\301\315\315\305" },
+ {T_LINKS__LYNX_LIKE, "Links \327\305\322\323\311\311 " VERSION_STRING "\n\n Lynx-\320\317\304\317\302\316\331\312 \324\305\313\323\324\317\327\331\312 \327\305\302-\302\322\301\325\332\305\322" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "\353\314\301\327\311\333\311" },
+ {T_KEYS_DESC, "ESC \315\305\316\300\n^C, q \327\331\310\317\304\n^P, ^N \320\322\317\313\322\325\324\313\301 \327\327\305\322\310-\327\316\311\332\n[, ] \320\322\317\313\322\325\324\313\301 \327\314\305\327\317-\327\320\322\301\327\317\nup, down \327\331\302\317\322 \323\323\331\314\313\311\n-> \320\305\322\305\310\317\304 \320\317 \323\323\331\314\313\305\n<- \316\301\332\301\304\ng \320\305\322\305\312\324\311 \313 \316\317\327\317\315\325 URL\nG \320\305\322\305\312\324\311 \313 URL, \317\323\316\317\327\301\316\316\317\315\325 \316\301 \324\305\313\325\335\305\315\n^G \320\305\322\305\312\324\311 \313 URL, \317\323\316\317\327\301\316\316\317\315\325 \316\301 \323\323\331\314\313\305\n/ \320\317\311\323\313\n? \317\302\322\301\324\316\331\312 \320\317\311\323\313\nn \311\323\313\301\324\330 \304\301\314\305\305\nN \311\323\313\301\324\330 \327\327\305\322\310\n= \311\316\306\317\322\315\301\303\311\321 \317 \304\317\313\325\315\305\316\324\305\n| \311\316\306\317\322\315\301\303\311\321 \317 \332\301\307\317\314\317\327\313\305\n\\ \320\317\313\301\332\301\324\330 \313\317\304 HTML\nd \332\301\313\301\336\301\324\330\n^W \301\327\324\317\304\317\320\317\314\316\305\316\311\305 URL" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "\360\322\301\327\301" },
+ {T_COPYING_DESC, "\374\324\301 \320\322\317\307\322\301\315\315\301 \321\327\314\321\305\324\323\321 \323\327\317\302\317\304\316\331\315 \360\357; \327\331 \315\317\326\305\324\305 \322\301\323\320\322\317\323\324\322\301\316\321\324\330 \311/\311\314\311 \315\317\304\311\306\311\303\311\322\317\327\301\324\330 \305\243 \323\317\307\314\301\323\316\317 \314\311\303\305\316\332\311\311 GNU, \313\317\324\317\322\301\321 \317\320\325\302\314\311\313\317\327\301\316\301 \"\346\317\316\304\317\315 \323\327\317\302\317\304\316\317\307\317 \320\322\317\307\322\301\315\315\316\317\307\317 \317\302\305\323\320\305\336\305\316\311\321\" (FSF); \327\305\322\323\311\311 2 \354\311\303\305\316\332\311\311, \311\314\311 (\320\317 \327\301\333\305\315\325 \326\305\314\301\316\311\300) \302\317\314\305\305 \320\317\332\304\316\305\312 \327\305\322\323\311\311" },
+ {T_RESOURCES, "\362\305\323\325\322\323\331" },
+ {T_CONNECTIONS, "\363\317\305\304\311\316\305\316\311\321(\311\312)" },
+ {T_MEMORY_CACHE, "\353\334\333 \320\301\315\321\324\311" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "\353\334\333 \333\322\311\306\324\317\327" },
+ {T_IMAGE_CACHE, "\313\334\333 \311\332\317\302\322\301\326\305\316\311\312" },
+ {T_FORMATTED_DOCUMENT_CACHE, "\353\334\333 \306\317\322\315\301\324\311\322\317\327\301\316\316\331\310 \304\317\313\325\315\305\316\324\317\327" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "\310\334\316\304\314\317\327" },
+ {T_TIMERS, "\324\301\312\315\305\322\317\327" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "\323\317\332\304\301\327\301\305\315\331\310 \323\317\305\304\311\316\305\316\311\321(\311\312)" },
+ {T_tRANSFERRING, "\320\305\322\305\304\301\336\301" },
+ {T_KEEPALIVE, "\323\317\310\322\301\316\305\316\311\305 \323\317\305\304\311\316\305\316\311\321" },
+ {T_BYTES, "\302\301\312\324" },
+ {T_LETTERS, "\323\311\315\327\317\314\317\327" },
+ {T_FILES, "\306\301\312\314\317\327" },
+ {T_LOCKED, "\332\301\302\314\317\313\311\322\317\327\301\316\317" },
+ {T_LOADING, "\332\301\307\322\325\326\301\305\324\323\321" },
+ {T_IMAGES, "\311\332\317\302\322\301\326\305\316\311\312" },
+ {T_DOCUMENTS, "\304\317\313\325\315\305\316\324\317\327" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "\302\301\312\324 \327\331\304\305\314\305\316\317" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "\351\316\306\317\322\315\301\303\311\321 \317 \320\301\315\321\324\311" },
+ {T_NO_HISTORY, "\366\325\322\316\301\314 \320\325\323\324" },
+ {T_NO_DOWNLOADS, "\356\305\324 \332\301\313\301\336\305\313" },
+ {T_NO_FRAMES, "\356\305\324 \322\301\315\317\313" },
+ {T_VT_100_FRAMES, "\362\301\315\313\311 VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "\362\301\315\313\311 Linux \311\314\311 OS/2" },
+ {T_KOI8R_FRAMES, "\362\301\315\313\311 KOI8-R" },
+ {T_FREEBSD_FRAMES, "\362\301\315\313\311 FreeBSD" },
+ {T_USE_11M, "\351\323\320\317\314\330\332\317\327\301\324\330 ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "\356\305\313\317\324\317\322\331\305 \322\301\315\313\311 \311\332 cp850/852" },
+ {T_BLOCK_CURSOR, "\353\325\322\323\317\322 \320\322\321\315\317\325\307\317\314\330\316\311\313\317\315" },
+ {T_COLOR, "\343\327\305\324" },
+ {T_BRAILLE_TERMINAL, "\364\305\322\315\311\316\301\314 \342\322\301\312\314\321" },
+ {T_TERMINAL_OPTIONS, "\356\301\323\324\322\317\312\313\311 \324\305\322\315\311\316\301\314\301" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP \320\322\317\313\323\311 (\323\305\322\327\305\322:\320\317\322\324)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP \320\322\317\313\323\311 (\323\305\322\327\305\322:\320\317\322\324)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "\363\320\311\323\317\313 (\336\305\322\305\332 \332\301\320\321\324\325\300) \304\317\315\305\316\317\327 \323 \304\317\323\324\325\320\317\315 \302\305\332 \320\322\317\313\323\311" },
+ {T_NETWORK_OPTIONS, "\356\301\323\324\322\317\312\313\311 \323\305\324\311" },
+ {T_MAX_CONNECTIONS, "\355\301\313\323. \336\311\323\314\317 \323\317\305\304\311\316\305\316\311\312" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "\355\301\313\323. \336\311\323\314\317 \323\317\305\304\311\316\305\316\311\312 \313 \317\304\316\317\315\325 \323\305\322\327\305\322\325" },
+ {T_RETRIES, "\360\317\320\331\324\317\313" },
+ {T_RECEIVE_TIMEOUT_SEC, "\364\301\312\315\301\325\324 \316\301 \320\322\311\243\315 (\323\305\313.)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "\364\301\312\315\301\325\324 \320\322\311 \317\324\323\325\324\323\324\327\311\311 \304\317\313\301\336\313\311" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "\341\323\311\316\310\322\317\316\316\317\305 \317\302\322\301\335\305\316\311\305 \313 DNS" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "\365\323\324\301\316\317\327\313\301 \327\322\305\315\305\316\311 \304\314\321 \332\301\313\301\336\301\316\316\331\310 \306\301\312\314\317\327" },
+ {T_CACHE_OPTIONS, "\356\301\323\324\322\317\312\313\311 \313\334\333\301" },
+ {T_MEMORY_CACHE_SIZE__KB, "\362\301\332\315\305\322 \313\334\333\301 \320\301\315\321\324\311 (\353\342)" },
+ {T_IMAGE_CACHE_SIZE__KB, "\362\301\332\315\305\322 \313\334\333\301 \311\332\317\302\322\301\326\305\316\311\312 (\353\342)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "\376\311\323\314\317 \306\317\322\315\301\324\311\322\317\327\301\316\316\331\310 \304\317\313\325\315\305\316\324\317\327" },
+ {T_AGGRESSIVE_CACHE, "\341\307\322\305\323\323\311\327\316\331\312 \313\334\333" },
+ {T_HTML_OPTIONS, "\356\301\323\324\322\317\312\313\311 HTML" },
+ {T_DISPLAY_TABLES, "\364\301\302\314\311\303\331" },
+ {T_DISPLAY_FRAMES, "\346\322\305\312\315\331" },
+ {T_DISPLAY_IMAGES, "\351\332\317\302\322\301\326\305\316\311\321" },
+ {T_DISPLAY_IMAGE_FILENAMES, "\351\315\305\316\301 \306\301\312\314\317\327 \311\332\317\302\322\301\326\305\316\311\312" },
+ {T_DISPLAY_LINKS_TO_IMAGES, "\363\323\331\314\313\311 \316\301 \311\332\317\302\322\301\326\305\316\311\321" },
+ {T_LINK_ORDER_BY_COLUMNS, "\344\327\311\307\301\324\330\323\321 \320\317 \323\324\317\314\302\303\301\315 \324\301\302\314\311\303" },
+ {T_NUMBERED_LINKS, "\356\325\315\305\322\317\327\301\324\330 \323\323\331\314\313\311" },
+ {T_AUTO_REFRESH, "\341\327\324\317\315\301\324\311\336\305\323\313\311\312 REFRESH" },
+ {T_TARGET_IN_NEW_WINDOW, "\362\301\332\322\305\333\301\324\330 \317\324\313\322\331\327\301\324\330 \314\311\316\313\311 \327 \316\317\327\317\315 \317\313\316\305 (\324\334\307 target=\"_blank\")" },
+ {T_TEXT_MARGIN, "\357\324\323\324\325\320" },
+ {T_DEFAULT_CODEPAGE, "\353\317\304\311\322\317\327\313\301 \320\317 \325\315\317\314\336\301\316\311\300" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "\351\307\316\317\322\311\322\317\327\301\324\330 \313\317\304\311\322\317\327\313\325, \304\301\316\316\325\300 \323\305\322\327\305\322\317\315" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "\360\305\322\305\312\324\311 \313 \316\317\327\317\315\325 URL" },
+ {T_GO_BACK, "\360\305\322\305\312\324\311 \316\301\332\301\304" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "\366\325\322\316\301\314" },
+ {T_RELOAD, "\357\302\316\317\327\311\324\330" },
+ {T_NEW_WINDOW, "\356\317\327\317\305 \317\313\316\317" },
+ {T_SAVE_AS, "\363\317\310\322\301\316\311\324\330 \313\301\313" },
+ {T_SAVE_URL_AS, "\363\317\310\322\301\316\311\324\330 URL \313\301\313" },
+ {T_SAVE_FORMATTED_DOCUMENT, "\363\317\310\322\301\316\311\324\330 \306\317\322\315\301\324\311\322\317\327\301\316\316\331\312 \304\317\313\325\315\305\316\324" },
+ {T_COPY_URL_LOCATION, "\363\313\317\320\311\322\317\327\301\324\330 \301\304\322\305\323 URL" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "\362\301\332\317\322\327\301\324\330 \306\317\316\317\327\331\305 \323\317\305\304\311\316\305\316\311\321" },
+ {T_KILL_ALL_CONNECTIONS, "\362\301\332\317\322\327\301\324\330 \327\323\305 \323\317\305\304\311\316\305\316\311\321" },
+ {T_FLUSH_ALL_CACHES, "\357\336\311\323\324\311\324\330 \327\323\305 \327\311\304\331 \313\334\333\301" },
+ {T_RESOURCE_INFO, "\351\316\306\317\322\315\301\303\311\321 \317 \322\305\323\325\322\323\301\310" },
+ {T_OS_SHELL, "\353\317\315\301\316\304\316\301\321 \323\324\322\317\313\301" },
+ {T_EXIT, "\367\331\310\317\304" },
+ {T_SEARCH, "\360\317\311\323\313" },
+ {T_SEARCH_BACK, "\357\302\322\301\324\316\331\312 \320\317\311\323\313" },
+ {T_FIND_NEXT, "\351\323\313\301\324\330 \304\301\314\305\305" },
+ {T_FIND_PREVIOUS, "\351\323\313\301\324\330 \316\301\332\301\304" },
+ {T_TOGGLE_HTML_PLAIN, "\360\305\322\305\313\314\300\336\311\324\330 HTML/\311\323\310\317\304\316\331\312 \324\305\313\323\324" },
+ {T_DOCUMENT_INFO, "\351\316\306\317\322\315\301\303\311\321 \317 \304\317\313\325\315\305\316\324\305" },
+ {T_FRAME_AT_FULL_SCREEN, "\346\322\305\312\315 \316\301 \320\317\314\316\331\312 \334\313\322\301\316" },
+ {T_SAVE_HTML_OPTIONS, "\363\317\310\322\301\316\311\324\330 \316\301\323\324\322\317\312\313\311 HTML" },
+ {T_CHARACTER_SET, "\353\317\304\311\322\317\327\313\301" },
+ {T_CACHE, "\353\334\333" },
+ {T_MAIL_AND_TELNEL, "\360\317\336\324\301 \311 telnet" },
+ {T_MAIL_TELNET_AND_SHELL, "\360\317\336\324\301, telnet \311 \317\302\317\314\317\336\313\301 shell" },
+ {T_ASSOCIATIONS, "\363\317\320\317\323\324\301\327\314\305\316\311\321" },
+ {T_FILE_EXTENSIONS, "\362\301\323\333\311\322\305\316\311\321 \306\301\312\314\317\327" },
+ {T_SAVE_OPTIONS, "\363\317\310\322\301\316\311\324\330 \316\301\323\324\322\317\312\313\311" },
+ {T_FILE, "\346\301\312\314" },
+ {T_VIEW, "\367\311\304" },
+ {T_LINK, "\363\323\331\314\313\311" },
+ {T_DOWNLOADS, "\372\301\313\301\336\313\311" },
+ {T_SETUP, "\356\301\323\324\322\317\312\313\301" },
+ {T_HELP, "\363\320\322\301\327\313\301" },
+ {T_ENTER_URL, "\367\327\305\304\311\324\305 URL" },
+ {T_SAVE_URL, "\363\317\310\322\301\316\311\324\330 URL" },
+ {T_DOWNLOAD, "\372\301\313\301\336\313\301" },
+ {T_SAVE_TO_FILE, "\363\317\310\322\301\316\311\324\330 \327 \306\301\312\314" },
+ {T_SEARCH_FOR_TEXT, "\360\317\311\323\313 \324\305\313\323\324\301" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "\357\326\311\304\301\316\311\305 \327 \317\336\305\322\305\304\311" },
+ {T_LOOKING_UP_HOST, "\360\317\311\323\313 \323\305\322\327\305\322\301" },
+ {T_MAKING_CONNECTION, "\363\317\305\304\311\316\305\316\311\305" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "\360\322\317\324\317\313\317\314 SSL" },
+ {T_REQUEST_SENT, "\372\301\320\322\317\323 \320\317\323\314\301\316" },
+ {T_GETTING_HEADERS, "\360\317\314\325\336\305\316\311\305 \332\301\307\317\314\317\327\313\317\327" },
+ {T_LOGGING_IN, "\362\305\307\311\323\324\322\301\303\311\321" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "\363\305\322\327\305\322 \317\302\322\301\302\301\324\331\327\301\305\324 \332\301\320\322\317\323" },
+ {T_TRANSFERRING, "\360\305\322\305\323\331\314\313\301" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "\357\326\311\304\301\316\311\305 \320\317\304\324\327\305\322\326\304\305\316\311\321 \320\305\322\305\316\301\320\322\301\327\314\305\316\311\321" },
+ {T_INTERRUPTED, "\360\322\305\322\327\301\316\317" },
+ {T_SOCKET_EXCEPTION, "\351\323\313\314\300\336\305\316\311\305 \327 \323\317\313\305\324\305" },
+ {T_INTERNAL_ERROR, "\367\316\325\324\322\305\316\316\321\321 \317\333\311\302\313\301" },
+ {T_OUT_OF_MEMORY, "\355\301\314\317 \320\301\315\321\324\311" },
+ {T_HOST_NOT_FOUND, "\363\305\322\327\305\322 \316\305 \316\301\312\304\305\316" },
+ {T_ERROR_WRITING_TO_SOCKET, "\357\333\311\302\313\301 \332\301\320\311\323\311 \327 \323\317\313\305\324" },
+ {T_ERROR_READING_FROM_SOCKET, "\357\333\311\302\313\301 \336\324\305\316\311\321 \311\332 \323\317\313\305\324\301" },
+ {T_DATA_MODIFIED, "\344\301\324\301 \311\332\315\305\316\305\316\301" },
+ {T_BAD_URL_SYNTAX, "\356\305\327\305\322\316\331\312 \323\311\316\324\301\313\323\311\323 URL" },
+ {T_RECEIVE_TIMEOUT, "\364\301\312\315\301\325\324 \320\322\311 \336\324\305\316\311\311" },
+ {T_REQUEST_MUST_BE_RESTARTED, "\372\301\320\322\317\323 \304\317\314\326\305\316 \302\331\324\330 \320\317\327\324\317\322\243\316" },
+ {T_CANT_GET_SOCKET_STATE, "\356\305\314\330\332\321 \320\317\314\325\336\311\324\330 \323\317\323\324\317\321\316\311\305 \323\317\313\305\324\301" },
+ {T_CYCLIC_REDIRECT, "\343\311\313\314\311\336\305\323\313\317\305 \320\305\322\305\316\301\320\322\301\327\314\305\316\311\305" },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "\356\305\327\305\322\316\331\312 \317\324\327\305\324 HTTP" },
+ {T_HTTP_100, NULL },
+ {T_NO_CONTENT, "\356\305\324 \304\301\316\316\331\310" },
+ {T_UNKNOWN_FILE_TYPE, "\356\305\311\332\327\305\323\324\316\331\312 \324\311\320 \306\301\312\314\301" },
+ {T_ERROR_OPENING_FILE, "\357\333\311\302\313\301 \317\324\313\322\331\324\311\321 \306\301\312\314\301" },
+ {T_BAD_FTP_RESPONSE, "\356\305\327\305\322\316\331\312 \317\324\327\305\324 HTTP" },
+ {T_FTP_SERVICE_UNAVAILABLE, "\363\305\322\327\311\323 FTP \316\305\304\317\323\324\325\320\305\316" },
+ {T_BAD_FTP_LOGIN, "\356\305\327\305\322\316\331\312 FTP login" },
+ {T_FTP_PORT_COMMAND_FAILED, "\353\317\315\301\316\304\301 FTP PORT \332\301\313\317\316\336\311\314\301\323\330 \316\305\325\304\301\336\316\317" },
+ {T_FILE_NOT_FOUND, "\346\301\312\314 \316\305 \316\301\312\304\305\316" },
+ {T_FTP_FILE_ERROR, "\357\333\311\302\313\301 \306\301\312\314\301 \316\301 FTP" },
+ {T_UNKNOWN_ERROR, "\356\305\311\332\327\305\323\324\316\301\321 \317\333\311\302\313\301" },
+ {T_RECEIVED, "\360\322\311\316\321\324\317" },
+ {T_OF, "\311\332" },
+ {T_AVG, "\327 \323\322\305\304\316\305\315" },
+ {T_CUR, "\324\305\313\325\335\301\321" },
+ {T_AVERAGE_SPEED, "\363\322\305\304\316\321\321 \323\313\317\322\317\323\324\330" },
+ {T_SPEED, "\363\313\317\322\317\323\324\330" },
+ {T_CURRENT_SPEED, "\324\305\313\325\335\301\321 \323\313\317\322\317\323\324\330" },
+ {T_ELAPSED_TIME, "\372\301\324\322\301\336\305\316\316\317\305 \327\322\305\315\321" },
+ {T_ESTIMATED_TIME, "\357\326\311\304\301\305\315\317\305 \327\322\305\315\321" },
+ {T_BACKGROUND, "\367 \306\317\316\305" },
+ {T_ABORT, "\360\322\305\322\327\301\324\330" },
+ {T_ABORT_AND_DELETE_FILE, "\360\322\305\322\327\301\324\330 \311 \323\324\305\322\305\324\330 \306\301\312\314" },
+ {T_YES, "\344\301" },
+ {T_NO, "\356\305\324" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, "\364\301\313\317\312 \306\301\312\314 \325\326\305 \311\315\305\305\324\323\321" },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, "\325\326\305 \332\301\313\301\336\311\327\301\305\324\323\321" },
+ {T_ALREADY_EXISTS, "\325\326\305 \323\325\335\305\323\324\327\325\305\324" },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, "\366\305\314\301\305\324\305 \332\301\320\311\323\301\324\330 \320\317\327\305\322\310 \306\301\312\314\301?" },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, "\360\317\327\305\322\310" },
+ {T_RENAME, "\360\305\322\305\311\315\305\316\317\327\301\324\330" },
+ {T_DOWNLOAD_ERROR, "\357\333\311\302\313\301 \332\301\313\301\336\313\311" },
+ {T_COULD_NOT_WRITE_TO_FILE, "\356\305\327\317\332\315\317\326\316\317 \320\311\323\301\324\330 \327 \306\301\312\314" },
+ {T_ERROR_DOWNLOADING, "\357\333\311\302\313\301 \332\301\313\301\336\311\327\301\316\311\321" },
+ {T_ERROR_LOADING, "\357\333\311\302\313\301 \317\324\313\322\331\324\311\321" },
+ {T_COULD_NOT_CREATE_FILE, "\356\305\327\317\332\315\317\326\316\317 \323\317\332\304\301\324\330 \306\301\312\314" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "\356\305\311\332\327\305\323\324\316\331\312 \324\311\320" },
+ {T_CONTENT_TYPE_IS, "\364\311\320 \304\317\313\325\315\305\316\324\301" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "\366\305\314\301\305\324\305 \306\301\312\314 \317\324\313\322\331\324\330, \323\317\310\322\301\316\311\324\330 \311\314\311 \317\324\317\302\322\301\332\311\324\330 \316\301 \334\313\322\301\316\305?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "\366\305\314\301\305\324\305 \306\301\312\314 \317\324\313\322\331\324\330 \311\314\311 \317\324\317\302\322\301\332\311\324\330 \316\301 \334\313\322\301\316\305?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "\366\305\314\301\305\324\305 \306\301\312\314 \323\317\310\322\301\316\311\324\330 \311\314\311 \317\324\317\302\322\301\332\311\324\330 \316\301 \334\313\322\301\316\305?" },
+ {T_SAVE, "\363\317\310\322\301\316\311\324\330" },
+ {T_DISPLAY, "\357\324\317\302\322\301\332\311\324\330" },
+ {T_WHAT_TO_DO, "\376\324\317 \304\305\314\301\324\330?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "\366\305\314\301\305\324\305 \317\324\313\322\331\324\330 \306\301\312\314 \323 \320\317\315\317\335\330\300" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "\323\317\310\322\301\316\311\324\330 \311\314\311 \317\324\317\302\322\301\332\311\324\330 \305\307\317?" },
+ {T_OPEN, "\357\324\313\322\331\324\330" },
+ {T_OPEN_WITH, "\357\324\313\322\331\324\330 \323 \320\317\315\317\335\330\300" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "\366\305\314\301\305\324\305 \320\317\323\314\305\304\317\327\301\324\330 \320\305\322\305\301\304\322\305\323\301\303\311\311 \311 \317\324\320\322\301\327\311\324\330 \304\301\316\316\331\305 \306\317\322\315\331 \320\317 \301\304\322\305\323\325" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "\366\305\314\301\305\324\305 \317\324\320\322\301\327\311\324\330 \304\301\316\316\331\305 \306\317\322\315\331 \320\317 \301\304\322\305\323\325" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "\366\305\314\301\305\324\305 \323\316\317\327\301 \317\324\320\322\301\327\311\324\330 \304\301\316\316\331\305 \306\317\322\315\331 \320\317 \301\304\322\305\323\325" },
+ {T_WARNING, "\367\316\311\315\301\316\311\305" },
+ {T_ERROR, "\357\333\311\302\313\301" },
+ {T_WELCOME, "\372\304\322\301\327\323\324\327\325\312\324\305" },
+ {T_WELCOME_TO_LINKS, "\344\317\302\322\317 \320\317\326\301\314\317\327\301\324\330 \327 Links!" },
+ {T_BASIC_HELP, "\356\301\326\315\311\324\305 ESC \304\314\321 \327\331\332\317\327\301 \315\305\316\300. \360\322\317\336\324\311\324\305 \322\325\313\317\327\317\304\323\324\327\317 \320\317\314\330\332\317\327\301\324\305\314\321, \327\331\302\322\301\327 \327 \315\305\316\300 '\360\317\315\317\335\330->\362\325\313\317\327\317\304\323\324\327\317'" },
+ {T_LABEL, "\355\305\324\313\301" },
+ {T_CONTENT_TYPES, "\364\311\320(\331) \323\317\304\305\322\326\311\315\317\307\317" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "\360\322\317\307\322\301\315\315\301 ('%' \332\301\315\305\316\321\305\324\323\321 \316\301 \311\315\321 \306\301\312\314\301)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "\342\314\317\313\311\322\317\327\301\324\330 \324\305\322\315\311\316\301\314 \316\301 \327\322\305\315\321 \322\301\302\317\324\331 \320\322\317\307\322\301\315\315\331" },
+ {T_RUN_ON_TERMINAL, "\372\301\320\325\323\324\311\324\330 \316\301 \324\305\322\315\311\316\301\314\305" },
+ {T_RUN_IN_XWINDOW, "\372\301\320\325\323\324\311\324\330 \327 X-Window" },
+ {T_ASK_BEFORE_OPENING, "\372\301\320\322\317\323 \320\305\322\305\304 \317\324\313\322\331\324\311\305\315" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "\365\304\301\314\311\324\330 \323\317\320\317\323\324\301\327\314\305\316\311\305" },
+ {T_ASSOCIATION, "\363\317\320\317\323\324\301\327\314\305\316\311\305" },
+ {T_EXTENSION_S, "\362\301\323\333\311\322\305\316\311\321" },
+ {T_CONTENT_TYPE, "\364\311\320 \323\317\304\305\322\326\311\315\317\307\317" },
+ {T_DELETE_EXTENSION, "\365\304\301\314\311\324\330 \322\301\323\333\311\322\305\316\311\305" },
+ {T_EXTENSION, "\362\301\323\333\311\322\305\316\311\305" },
+ {T_eXTENSION, "\322\301\323\333\311\322\305\316\311\305" },
+ {T_ERROR_WHILE_POSTING_FORM, "\357\333\311\302\313\301 \320\322\311 \317\324\320\322\301\327\313\305 \306\317\322\315\331" },
+ {T_COULD_NOT_GET_FILE, "\356\305\327\317\332\315\317\326\316\317 \320\317\314\325\336\311\324\330 \306\301\312\314" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "\362\301\316\305\305 \320\317\311\323\313\301 \316\305 \302\331\314\317" },
+ {T_SEARCH_STRING_NOT_FOUND, "\351\323\313\317\315\301\321 \323\324\322\317\313\301 \316\305 \316\301\312\304\305\316\301" },
+ {T_SAVE_ERROR, "\357\333\311\302\313\301 \323\317\310\322\301\316\305\316\311\321" },
+ {T_ERROR_WRITING_TO_FILE, "\357\333\311\302\313\301 \332\301\320\311\323\311 \327 \306\301\312\314" },
+ {T_DISPLAY_USEMAP, "\357\324\317\302\322\301\332\311\324\330 \313\301\322\324\325" },
+ {T_FOLLOW_LINK, "\363\314\305\304\317\327\301\324\330 \323\323\331\314\313\305" },
+ {T_OPEN_IN_NEW_WINDOW, "\357\324\313\322\331\324\330 \327 \316\317\327\317\315 \317\313\316\305" },
+ {T_DOWNLOAD_LINK, "\363\313\301\336\301\324\330 \320\317 \323\323\331\314\313\305" },
+ {T_RESET_FORM, "\357\336\311\323\324\313\301 \306\317\322\315\331" },
+ {T_SUBMIT_FORM, "\360\317\323\314\301\324\330 \306\317\322\315\325" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "\360\317\323\314\301\324\330 \306\317\322\315\325 \311 \317\324\313\322\331\324\330 \327 \316\317\327\317\315 \317\313\316\305" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "\360\317\323\314\301\324\330 \306\317\322\315\325 \311 \323\313\301\336\301\324\330" },
+ {T_VIEW_IMAGE, "\360\322\317\323\315\317\324\322\305\324\330 \311\332\317\302\322\301\326\305\316\311\305" },
+ {T_DOWNLOAD_IMAGE, "\363\313\301\336\301\324\330 \311\332\317\302\322\301\326\305\316\311\305" },
+ {T_NO_LINK_SELECTED, "\356\305\324 \327\331\302\322\301\316\316\331\310 \323\323\331\314\317\313" },
+ {T_IMAGE, "\362\311\323\325\316\317\313" },
+ {T_USEMAP, "\353\301\322\324\301 \323\323\331\314\317\313" },
+ {T_XTERM, NULL },
+ {T_TWTERM, NULL },
+ {T_SCREEN, "\374\313\322\301\316 SCREEN" },
+ {T_WINDOW, "\357\313\316\317" },
+ {T_FULL_SCREEN, "\356\301 \327\305\323\330 \334\313\322\301\316" },
+ {T_BEOS_TERMINAL, "\364\305\322\315\311\316\301\314 BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "\360\305\322\305\304\301\336\301 \306\317\322\315\331 \320\317 \301\304\322\305\323\325" },
+ {T_POST_FORM_TO, "\357\324\320\322\301\327\313\301 \306\317\322\315\331 \320\317 \301\304\322\305\323\325" },
+ {T_RADIO_BUTTON, "\362\301\304\311\317-\313\316\317\320\313\301" },
+ {T_CHECKBOX, "\357\324\315\305\324\313\301" },
+ {T_SELECT_FIELD, "\367\331\302\305\322\311\324\305 \320\317\314\305" },
+ {T_TEXT_FIELD, "\364\305\313\323\324\317\327\317\305 \320\317\314\305" },
+ {T_TEXT_AREA, "\364\305\313\323\324\317\327\317\305 \320\317\314\305" },
+ {T_FILE_UPLOAD, "\367\331\307\322\325\332\313\301 \306\301\312\314\301" },
+ {T_PASSWORD_FIELD, "\360\317\314\305 \320\301\322\317\314\321" },
+ {T_BUTTON, "\353\316\317\320\313\301" },
+ {T_NAME, "\315\305\324\313\301" },
+ {T_VALUE, "\332\316\301\336\305\316\311\305" },
+ {T_HIT_ENTER_TO, "\316\301\326\315\311\324\305 ENTER, \336\324\317\302\331" },
+ {T_SUBMIT_TO, "\320\305\322\305\304\301\324\330 \320\317 \301\304\322\305\323\325" },
+ {T_POST_TO, "\317\324\320\322\301\327\311\324\330 \320\317 \301\304\322\305\323\325" },
+ {T_INFO, "\351\316\306\317\322\315\301\303\311\321" },
+ {T_HEADER_INFO, "\351\316\306\317 \317 \332\301\307\317\314\317\327\313\305" },
+ {T_YOU_ARE_NOWHERE, "\367\331 \316\305 \316\301\310\317\304\311\324\305\323\330 \316\311 \316\301 \317\304\316\317\315 \323\301\312\324\305!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "\362\301\332\315\305\322" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "\316\305 \320\317\314\316\317\323\324\330\300" },
+ {T_CODEPAGE, "\353\317\304\317\327\301\321 \323\324\322\301\316\311\303\301" },
+ {T_ASSUMED, "\320\322\311\316\321\324\317" },
+ {T_IGNORING_SERVER_SETTING, "\311\307\316\317\322\311\322\317\327\301\324\330 \316\301\323\324\322\317\312\313\311 \323\305\322\327\305\322\301" },
+ {T_SERVER, "\363\305\322\327\305\322" },
+ {T_DATE, "\344\301\324\301" },
+ {T_LAST_MODIFIED, "\360\317\323\314\305\304\316\321\321 \315\317\304\311\306\311\313\301\303\311\321" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "\361\332\331\313" },
+ {T_GO_TO_LINK, "\360\317\312\324\311 \320\317 \323\323\331\314\313\305" },
+ {T_ENTER_LINK_NUMBER, "\367\327\305\304\311\324\305 \316\317\315\305\322 \323\323\331\314\313\311" },
+ {T_RESIZE_TERMINAL, "\351\332\315\305\316\311\324\330 \322\301\332\315\305\322\331 \324\305\322\315\311\316\301\314\301" },
+ {T_COLUMNS, "\363\324\317\314\302\303\317\327" },
+ {T_ROWS, "\363\324\322\317\313" },
+ {T_GOTO, "\360\317\312\324\311" },
+ {T_CLOSE, "\372\301\313\322\331\324\330" },
+ {T_FOLDER, "\360\301\320\313\301" },
+ {T_fOLDER, "\320\301\320\313\325" },
+ {T_ADD, "\344\317\302\301\327\311\324\330" },
+ {T_DELETE, "\365\304\301\314\311\324\330" },
+ {T_EDIT, "\362\305\304\301\313\324\311\322\317\327\301\324\330" },
+ {T_MOVE, "\360\305\322\305\315\305\323\324\311\324\330" },
+ {T_NO_ITEMS_SELECTED, "\356\311\336\305\307\317 \316\305 \327\331\302\322\301\316\317" },
+ {T_UNSELECT_ALL, "\357\324\315\305\316\311\324\330 \327\331\304\305\314\305\316\311\305" },
+ {T_BOOKMARKS, "\372\301\313\314\301\304\313\311" },
+ {T_BOOKMARK, "\332\301\313\314\301\304\313\325" },
+ {T_ADD_BOOKMARK, "\344\317\302\301\327\311\324\330 \332\301\313\314\301\304\313\325" },
+ {T_ADD_ASSOCIATION, "\344\317\302\301\327\311\324\330 \323\317\320\317\323\324\301\327\314\305\316\311\305" },
+ {T_ADD_EXTENSION, "\344\317\302\301\327\311\324\330 \322\301\323\333\311\322\305\316\311\305" },
+ {T_ADD_FOLDER, "\344\317\302\301\327\311\324\330 \320\301\320\313\325" },
+ {T_BOOKMARK_TITLE, "\356\301\332\327\301\316\311\305 \332\301\313\314\301\304\313\311" },
+ {T_EDIT_BOOKMARK, "\362\305\304\301\313\324\311\322\317\327\301\324\330 \332\301\313\314\301\304\313\325" },
+ {T_EDIT_ASSOCIATION, "\362\305\304\301\313\324\311\322\317\327\301\324\330 \323\317\320\317\323\324\301\327\314\305\316\311\305" },
+ {T_EDIT_EXTENSION, "\362\305\304\301\313\324\311\322\317\327\301\324\330 \322\301\323\333\311\322\305\316\311\305" },
+ {T_DELETE_BOOKMARK, "\365\304\301\314\311\324\330 \332\301\313\314\301\304\313\325" },
+ {T_EDIT_FOLDER, "\362\305\304\301\313\324\311\322\317\327\301\324\330 \320\301\320\313\325" },
+ {T_DELETE_FOLDER, "\365\304\301\314\311\324\330 \320\301\320\313\325" },
+ {T_NOT_EMPTY_SURE_DELETE, "\316\305 \320\325\323\324(\301). \366\305\314\301\305\324\305 \325\304\301\314\311\324\330?" },
+ {T_BOOKMARK_MANAGER, "\362\301\302\317\324\301 \323 \332\301\313\314\301\304\313\301\315\311" },
+ {T_ASSOCIATIONS_MANAGER, "\362\301\302\317\324\301 \323 \323\317\320\317\323\324\301\327\314\305\316\311\321\315\311" },
+ {T_EXTENSIONS_MANAGER, "\362\301\302\317\324\301 \323 \322\301\323\333\311\322\305\316\311\321\315\311" },
+ {T_url, "URL" },
+ {T_NNAME, "\351\315\321" },
+ {T_EXIT_LINKS, "\367\331\310\317\304 \311\332 Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "\367\331 \304\305\312\323\324\327\311\324\305\314\330\316\317 \310\317\324\311\324\305 \332\301\313\322\331\324\330 \317\313\316\317?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "\367\331 \304\305\312\323\324\327\311\324\305\314\330\316\317 \310\317\324\311\324\305 \332\301\327\305\322\333\311\324\330 \322\301\302\317\324\325 \323 Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "\367\331 \304\305\312\323\324\327\311\324\305\314\330\316\317 \310\317\324\311\324\305 \332\301\327\305\322\333\311\324\330 \322\301\302\317\324\325 \323 Links \311 \320\322\305\322\327\301\324\330 \327\323\305 \332\301\313\301\336\313\311?" },
+ {T_HTTP_OPTIONS, "\356\301\323\324\322\317\312\313\311 HTTP" },
+ {T_FTP_OPTIONS, "\356\301\323\324\322\317\312\313\311 FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "\351\332\302\305\307\301\324\330 \317\333\311\302\317\313 \327 HTTP" },
+ {T_USE_HTTP_10, "\351\323\320\317\314\330\332\317\327\301\324\330 HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "\360\317\315\305\335\301\324\330 \316\305\317\324\314\301\326\305\316\316\331\305 \323\305\322\327\305\322\331 \327 \336\243\322\316\331\312 \323\320\311\323\317\313" },
+ {T_BROKEN_302_REDIRECT, "\362\301\332\322\305\333\311\324\330 \316\305\320\322\301\327\311\314\330\316\325\300 302-\320\305\322\305\301\304\322\305\323\317\327\313\325 (\334\324\317 \316\305 \317\324\327\305\336\301\305\324 RFC, \310\317\324\321 \311 \323\317\327\315\305\323\324\311\315\317 \323 Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "\356\305 \320\317\304\304\305\322\326\311\327\301\324\330 keepalive \320\317\323\314\305 \332\301\320\322\317\323\301 POST (\316\325\326\316\317 \304\314\321 \316\305\313\317\324\317\322\331\310 \316\305\317\324\314\301\326\305\316\316\331\310 PHP-\302\301\332 \304\301\316\316\331\310)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, "\356\305 \320\317\323\331\314\301\324\330 ACCEPT_CHARSET" },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "\360\317\323\331\314\301\324\330 \320\325\323\324\317\312 REFERER" },
+ {T_REFERER_SAME_URL, "\360\317\323\331\314\301\324\330 \324\317\324 \326\305 \332\301\320\322\301\333\311\327\301\305\315\331\312 \301\304\322\305\323 \313\301\313 REFERER" },
+ {T_REFERER_FAKE, "\360\317\323\331\314\301\324\330 \325\313\301\332\301\316\316\331\312 \316\311\326\305 REFERER" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "\360\317\323\331\314\301\324\330 \316\301\323\324\317\321\335\311\312 REFERER (\316\305\302\305\332\317\320\301\323\316\317!)" },
+ {T_FAKE_REFERER, "\365\313\301\332\301\316\316\331\312 REFERER \304\314\321 \320\317\323\331\314\313\311:" },
+ {T_FAKE_USERAGENT, "\360\317\304\315\305\316\321\324\330 USER-AGENT \316\301:" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "\360\301\322\317\314\330 \304\314\321 \301\316\317\316\311\315\316\317\307\317 \327\310\317\304\301:" },
+ {T_USE_PASSIVE_FTP, "\351\323\320\317\314\330\332\317\327\301\324\330 PASSIVE FTP" },
+ {T_USE_FAST_FTP, "\365\323\313\317\322\305\316\316\331\312 FTP (\316\305\323\317\327\315\305\323\324\311\315 \323 RFC)" },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "\362\325\313\317\327\317\304\323\324\327\317" },
+ {T_HOMEPAGE, "\344\317\315\301\333\316\321\321 \323\324\322\301\316\311\336\313\301" },
+ {T_CALIBRATION, "\353\301\314\311\302\322\301\303\311\321" },
+ {T_MAILTO_PROG, "\360\322\317\307\322\301\315\315\301 \317\324\320\322\301\327\313\311 \320\317\336\324\331 (% \332\301\315\305\316\321\305\324\323\321 \316\301 \301\304\322\305\323)" },
+ {T_SHELL_PROG, "\357\302\317\314\317\336\313\301 (shell) \304\314\321 \327\316\305\333\316\311\310 \313\317\315\301\316\304 (% \332\301\315\305\316\321\305\324\323\321 \313\317\315\301\316\304\317\312)" },
+ {T_TELNET_PROG, "\360\322\317\307\322\301\315\315\301 telnet (% \332\301\315\305\316\321\305\324\323\321 \316\301 'host' \311\314\311 'host port')" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "\360\322\317\307\322\301\315\315\301 tn3270 (% \332\301\315\305\316\321\305\324\323\321 \316\301 'host' \311\314\311 'host port')" },
+ {T_MMS_PROG, "\360\322\317\307\322\301\315\315\301 \304\314\321 MMS-\320\322\317\324\317\313\317\314\301 (% \332\301\315\305\316\321\305\324\323\321 \316\301 URL)" },
+ {T_MAIL_AND_TELNET_PROGRAMS, "\360\322\317\307\322\301\315\315\331 \304\314\321 \320\317\336\324\331 \311 telnet'\301" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, "\360\322\317\307\322\301\315\315\331 \320\317\336\324\331, telnet \311 \317\302\317\314\317\336\313\311" },
+ {T_NO_PROGRAM, "\356\305\324 \320\322\317\307\322\301\315\315\331" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "\356\305 \325\313\301\332\301\316\301 \320\322\317\307\322\301\315\315\301 \304\314\321" },
+ {T_MAIL, "\320\317\336\324\331" },
+ {T_TELNET, NULL },
+ {T_MAGNET, NULL },
+ {T_TN3270, NULL },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "\356\305\327\305\322\316\331\312 \301\304\322\305\323 mailto:" },
+ {T_BAD_TELNET_URL, "\356\305\327\305\322\316\331\312 \301\304\322\305\323 telnet" },
+ {T_BAD_TN3270_URL, "\356\305\327\305\322\316\331\312 \301\304\322\305\323 tn3270" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, "\341\304\322\305\323 MMS \323\317\304\305\322\326\311\324 \316\305\304\317\320\325\323\324\311\315\331\305 \323\311\315\327\317\314\331" },
+ {T_AUTHORIZATION_REQUIRED, "\356\305\317\302\310\317\304\311\315\301 \301\327\324\317\322\311\332\301\303\311\321" },
+ {T_PROXY_AUTHORIZATION_REQUIRED, "\356\305\317\302\310\317\304\311\315\301 \301\327\324\317\322\311\332\301\303\311\321 \320\322\317\313\323\311" },
+ {T_USERID, "\351\315\321 \320\317\314\330\332\317\327\301\324\305\314\321" },
+ {T_PASSWORD, "\360\301\322\317\314\330" },
+ {T_ENTER_USERNAME, "\367\327\305\304\311\324\305 \311\315\321 \320\317\314\330\332\317\327\301\324\305\314\321 \304\314\321 " },
+ {T_AT, "\316\301 " },
+ {T_SSL_ERROR, "\357\333\311\302\313\301 SSL" },
+ {T_NO_SSL, "\374\324\301 \327\305\322\323\311\321 Links \316\305 \320\317\304\304\305\322\326\311\327\301\305\324 SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "\367\331 \324\317\336\316\317 \310\317\324\311\324\305 \325\304\301\314\311\324\330" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "\372\301\313\314\301\304\313\311 \325\326\305 \322\305\304\301\313\324\311\322\325\300\324\323\321!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "\363\317\320\317\323\324\301\327\314\305\316\311\321 \325\326\305 \322\305\304\301\313\324\311\322\325\300\324\323\321!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "\362\301\323\333\311\322\305\316\311\321 \325\326\305 \322\305\304\301\313\324\311\322\325\300\324\323\321!" },
+ {T_VIDEO_OPTIONS, "\356\301\323\324\322\317\312\313\311 \334\313\322\301\316\301" },
+ {T_VIDEO_OPTIONS_TEXT, "\362\305\313\317\315\305\316\304\325\305\315\331\305 \332\316\301\336\305\316\311\321 \320\301\322\301\315\305\324\322\301 User gamma:\n 1.33 \327 \324\305\315\316\317\324\305, 1.11 - \320\322\311 \323\314\301\302\317\315 \317\323\327\305\335\305\316\311\311, 1 - \320\322\311 \317\302\331\336\316\317\315, 0.88 - \320\322\311 \321\322\313\317\315 \323\327\305\324\305" },
+ {T_RED_DISPLAY_GAMMA, "Gamma \304\314\321 \313\322\301\323\316\317\307\317" },
+ {T_GREEN_DISPLAY_GAMMA, "Gamma \304\314\321 \332\305\314\305\316\317\307\317" },
+ {T_BLUE_DISPLAY_GAMMA, "Gamma \304\314\321 \323\311\316\305\307\317" },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, "\360\322\305\304\325\320\322\305\326\304\305\316\311\305" },
+ {T_QUESTION, "\367\317\320\322\317\323" },
+ {T_KILL_SCRIPT, "\360\322\305\322\327\301\324\330 \323\313\322\311\320\324" },
+ {T_KILL_ALL_SCRIPTS, "\360\322\305\322\331\327\301\324\330 \327\323\305 \323\313\322\311\320\324\331" },
+ {T_SCRIPT_KILLED_BY_USER, "\363\313\322\311\320\324 \320\322\305\322\327\301\316 \320\317\314\330\332\317\327\301\324\305\314\305\315" },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "\363\313\322\311\320\324 \320\331\324\301\305\324\323\321 \332\301\313\322\331\324\330 \317\313\316\317 \302\322\301\325\332\305\322\301 - \322\301\332\322\305\333\311\324\330?" },
+ {T_ENTER_STRING, "\367\327\305\304\311\324\305 \323\324\322\317\313\325" },
+ {T_JAVASCRIPT_OPTIONS, "\356\301\323\324\322\317\312\313\311 JavaScript" },
+ {T_ENABLE_JAVASCRIPT, "\367\313\314\300\336\311\324\330 JavaScript" },
+ {T_VERBOSE_JS_ERRORS, "\363\317\317\302\335\301\324\330 \317\302 \317\333\311\302\313\301\310" },
+ {T_VERBOSE_JS_WARNINGS, "\367\331\304\301\327\301\324\330 \320\322\305\304\325\320\322\305\326\304\305\316\311\321" },
+ {T_MISCELANEOUS_OPTIONS, "\360\322\317\336\311\305 \316\301\323\324\322\317\312\313\311" },
+ {T_JAVASCRIPT_ERROR, "\357\333\311\302\313\301 JavaScript" },
+ {T_JAVASCRIPT_WARNING, "\360\322\305\304\325\320\322\305\326\304\305\316\311\305 JavaScript" },
+ {T_DISMISS, "\357\324\313\314\317\316\311\324\330" },
+ {T_MENU_FONT_SIZE, "\362\301\332\315\305\322 \333\322\311\306\324\301 \315\305\316\300" },
+ {T_USER_FONT_SIZE, "\362\301\332\315\305\322 \333\322\311\306\324\301" },
+ {T_TURN_OFF_WARNINGS, "\357\324\313\314\300\336\311\324\330 \320\322\305\304\325\320\322\305\326\304\305\316\311\321" },
+ {T_BOOKMARKS_ENCODING, "\353\317\304\311\322\317\327\313\301 \304\314\321 \332\301\313\314\301\304\317\313" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "\363\313\322\311\320\324 \320\331\324\301\305\324\323\321 \317\324\313\322\331\324\330 URL" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "\363\313\322\311\320\324 \320\331\324\301\305\324\323\321 \317\324\313\322\331\324\330 URL \327 \316\317\327\317\315 \317\313\316\305" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "\363\313\322\311\320\324 \320\331\324\301\305\324\323\321 \311\323\320\317\314\330\332\317\327\301\324\330 \326\325\322\316\301\314" },
+ {T_TO_URL, "\320\317 \323\323\331\314\313\305" },
+ {T_GOTO_HISTORY, "\320\305\322\305\312\324\311 \313 \326\325\322\316\301\314\325" },
+ {T_ALLOW, "\362\301\332\322\305\333\311\324\330" },
+ {T_REJECT, "\372\301\320\322\305\324\311\324\330" },
+ {T_ENABLE_ALL_CONVERSIONS, "\362\301\332\322\305\333\311\324\330 \327\323\305 \320\322\305\317\302\322\301\332\317\327\301\316\311\321" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "\362\301\332\322\305\333\311\324\330 \307\314\317\302\301\314\330\316\317\305 \322\301\323\320\317\332\316\301\327\301\316\311\305 \311\315\305\316" },
+ {T_MANUAL_JS_CONTROL, "\362\325\336\316\317\305 \325\320\322\301\327\314\305\316\311\305 Javascript" },
+ {T_JS_RECURSION_DEPTH, "\347\314\325\302\311\316\301 \322\305\313\325\322\323\311\311" },
+ {T_MENU_BACKGROUND_COLOR, "\343\327\305\324 \306\317\316\301 \315\305\316\300" },
+ {T_MENU_FOREGROUND_COLOR, "\343\327\305\324 \324\305\313\323\324\301 \327 \315\305\316\300" },
+ {T_SCROLL_BAR_BAR_COLOR, "\343\327\305\324 \320\317\314\332\325\316\313\301 \320\317\314\317\323\331 \320\322\317\313\322\325\324\313\311" },
+ {T_SCROLL_BAR_AREA_COLOR, "\343\327\305\324 \320\317\314\317\323\331 \320\322\317\313\322\325\324\313\311" },
+ {T_SCROLL_BAR_FRAME_COLOR, "\343\327\305\324 \322\301\315\313\311 \320\317\314\317\323\331 \320\322\317\313\322\325\324\313\311" },
+ {T_BOOKMARKS_FILE, "\346\301\312\314 \332\301\313\314\301\304\317\313" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "\367\327\305\304\311\324\305 \303\327\305\324\301 \327 \333\305\323\324\316\301\304\303\301\324\305\322\311\336\316\317\315 \306\317\322\315\301\324\305 RRGGBB" },
+ {T_JS_MEMORY_LIMIT_KB, "\354\311\315\311\324 \320\301\315\321\324\311 \304\314\321 JavaScript (\353\342)" },
+ {T_DITHER_LETTERS, "\363\307\314\301\326\311\327\301\324\330 \333\322\311\306\324\331" },
+ {T_DITHER_IMAGES, "\363\307\314\301\326\311\327\301\324\330 \313\301\322\324\311\316\313\311" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "\355\301\323\333\324\301\302 \311\332\317\302\322\301\326\305\316\311\312" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, "\357\320\324\311\315\311\332\301\303\311\321 \304\314\321 CRT-\315\317\316\311\324\317\322\301" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "\357\320\324\311\315\311\332\301\303\311\321 \304\314\321 RGB LCD" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "\357\320\324\311\315\311\332\301\303\311\321 \304\314\321 BGR LCD" },
+ {T_ASPECT_RATIO, "\353\317\334\306\306\311\303\311\305\316\324 \323\326\301\324\311\321" },
+ {T_ASPECT_CORRECTION_ON, "\367\313\314\300\336\311\324\330 \313\317\322\322\305\313\303\311\300 \323\326\301\324\311\321" },
+ {T_KEYBOARD_CODEPAGE, "\353\317\304\311\322\317\327\313\301 \313\314\301\327\311\301\324\325\322\331" },
+ {T_COPY_LINK_LOCATION, "\363\313\317\320\311\322\317\327\301\324\330 \301\304\322\305\323 \323\323\331\314\313\311" },
+ {T_BLOCK_URL, "\342\314\317\313\311\322\317\327\301\324\330 \311\332\317\302\322\301\326\305\316\311\305 \320\317 URL" },
+ {T_BLOCK_LIST, "\372\301\302\314\317\313\311\322\317\327\301\316\316\331\305 \311\332\317\302\322\301\326\305\316\311\321" },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, "\363\320\311\323\317\313 \332\301\302\314\317\313\311\322\317\327\301\316\316\331\310 \311\332\317\302\322\301\326\305\316\311\312 \325\326\305 \327 \322\301\302\317\324\305" },
+ {T_BLOCK_LIST_MANAGER, "\362\305\304\301\313\324\317\322 \323\320\311\323\313\301 \332\301\302\314\317\313\311\322\317\327\301\316\316\331\310 \311\332\317\302\322\301\326\305\316\311\312" },
+ {T_BLOCK_ADD, "\344\317\302\301\327\311\324\330 URL-\301\304\322\305\323 \311\332\317\302\322\301\326\305\316\311\321 \327 \323\320\311\323\317\313" },
+ {T_BLOCK_EDIT, "\362\305\304\301\313\324\311\322\317\327\301\324\330 URL-\301\304\322\305\323 \311\332\317\302\322\301\326\305\316\311\321" },
+ {T_BLOCK_DELETE, "\365\304\301\314\311\324\330" },
+ {T_HK_GOTO_URL, NULL },
+ {T_HK_GO_BACK, NULL },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, NULL },
+ {T_HK_RELOAD, NULL },
+ {T_HK_BOOKMARKS, NULL },
+ {T_HK_NEW_WINDOW, NULL },
+ {T_HK_SAVE_AS, NULL },
+ {T_HK_SAVE_URL_AS, NULL },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, NULL },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, NULL },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, NULL },
+ {T_HK_RESOURCE_INFO, NULL },
+ {T_HK_MEMORY_INFO, NULL },
+ {T_HK_OS_SHELL, NULL },
+ {T_HK_RESIZE_TERMINAL, NULL },
+ {T_HK_EXIT, NULL },
+ {T_HK_SEARCH, NULL },
+ {T_HK_SEARCH_BACK, NULL },
+ {T_HK_FIND_NEXT, NULL },
+ {T_HK_FIND_PREVIOUS, NULL },
+ {T_HK_TOGGLE_HTML_PLAIN, NULL },
+ {T_HK_DOCUMENT_INFO, NULL },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, NULL },
+ {T_HK_HTML_OPTIONS, NULL },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, NULL },
+ {T_HK_LANGUAGE, NULL },
+ {T_HK_CHARACTER_SET, NULL },
+ {T_HK_TERMINAL_OPTIONS, NULL },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, NULL },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, NULL },
+ {T_HK_MAIL_AND_TELNEL, NULL },
+ {T_HK_ASSOCIATIONS, NULL },
+ {T_HK_FILE_EXTENSIONS, NULL },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, NULL },
+ {T_HK_ABOUT, NULL },
+ {T_HK_KEYS, NULL },
+ {T_HK_COPYING, NULL },
+ {T_HK_MANUAL, NULL },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, NULL },
+ {T_HK_VIEW, NULL },
+ {T_HK_LINK, NULL },
+ {T_HK_DOWNLOADS, NULL },
+ {T_HK_SETUP, NULL },
+ {T_HK_HELP, NULL },
+ {T_HK_DISPLAY_USEMAP, NULL },
+ {T_HK_FOLLOW_LINK, NULL },
+ {T_HK_OPEN_IN_NEW_WINDOW, NULL },
+ {T_HK_DOWNLOAD_LINK, NULL },
+ {T_HK_RESET_FORM, NULL },
+ {T_HK_SUBMIT_FORM, NULL },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, NULL },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, NULL },
+ {T_HK_VIEW_IMAGE, NULL },
+ {T_HK_DOWNLOAD_IMAGE, NULL },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, NULL },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, NULL },
+ {T_HK_WINDOW, NULL },
+ {T_HK_FULL_SCREEN, NULL },
+ {T_HK_BEOS_TERMINAL, NULL },
+ { 0, NULL }
+};
+
+static struct translation translation_serbian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "iso-8859-5" },
+ {T__LANGUAGE, "Serbian" },
+ {T__ACCEPT_LANGUAGE, "sr" },
+ {T_OK, "\303 \340\325\324\343" },
+ {T_CANCEL, "\277\336\335\330\350\342\330" },
+ {T_BAD_NUMBER, "\273\336\350 \321\340\336\370" },
+ {T_NUMBER_EXPECTED, "\303 \337\336\371\343 \341\325 \336\347\325\332\343\370\325 \321\340\336\370" },
+ {T_NUMBER_OUT_OF_RANGE, "\261\340\336\370 \322\320\335 \336\337\341\325\323\320" },
+ {T_BAD_STRING, "\273\336\350\320 \335\330\341\332\320" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "\277\340\320\327\335\320 \335\330\341\332\320 \335\330\370\325 \324\336\327\322\336\371\325\335\320" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "\263\340\325\350\332\320 \343 \337\336\324\325\350\320\322\320\372\330\334\320" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "\275\325 \334\336\323\343 \324\320 \343\337\330\350\325\334 \324\320\342\336\342\325\332\343 \341\320 \337\336\324\325\350\320\322\320\372\330\334\320" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "\276 \337\340\336\323\340\320\334\343" },
+ {T_LINKS__LYNX_LIKE, "\273\330\335\332\341 " VERSION_STRING "\n\nLynx-\336\333\330\332\330 \342\325\332\341\342\343\320\333\335\330 WWW \347\330\342\320\347" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "\302\320\341\342\325\340\330" },
+ {T_KEYS_DESC, "ESC \337\340\330\332\320\326\330 \334\325\335\330\n^C, q, Q \327\320\322\340\350\330\n^P, ^N \332\333\330\327\320\370 \323\336\340\325, \324\336\333\325\n[, ] \332\333\330\327\320\370 \333\325\322\336, \324\325\341\335\336\n\341. \323\336\340\325, \324\336\333\325 \330\327\320\321\325\340\330 \322\325\327\343\n-> \337\340\320\342\330 \322\325\327\343\n<- \330\324\330 \335\320\327\320\324\ng \330\324\330 \335\320 \303\300\273\nG \330\324\330 \335\320 \303\300\273 \327\320\341\335\336\322\320\335 \335\320 \342\325\332\343\373\325\334 \303\300\273-\343\n^G \330\324\330 \335\320 \303\300\273 \327\320\341\335\336\322\320\335 \335\320 \342\325\332\343\373\336\370 \322\325\327\330\n/ \342\340\320\326\330\nn \335\320\362\330 \341\333\325\324\325\373\325\nd \337\340\325\343\327\334\330\n* \341\334\325\335\330 \337\340\330\332\320\327\330\322\320\372\325 \341\333\330\332\320\n^W \324\336\337\343\335\330 \303\300\273 \330\333\330 \335\330\341\332\343 \337\340\325\342\340\320\323\325\n^B, ^X, ^V \332\336\337\330\340\320\370, \330\341\325\346\330, \327\320\333\325\337\330 \343/\330\327 \336\341\342\320\322\325\nAlt-1 .. Alt-9 \337\340\325\321\320\346\330 \341\325 \335\320 \322\330\340\342\343\320\333\335\330 \325\332\340\320\335 (svgalib \330 framebuffer)" },
+ {T_KEYS_BRAILLE_DESC, "a, t \337\336\341\342\320\322\330 \332\343\340\341\336\340 \335\320 \340\325\324 \341\342\320\372\320 \330\333\330 \335\320\341\333\336\322\335\343\n{, } \337\336\341\342\320\322\330 \332\343\340\341\336\340 \335\320 \337\336\347\325\342\320\332/\332\340\320\370 \340\325\324\320\n^T, ^Y \330\324\330 \335\320 \341\333\325\324\325\373\343 \330\333\330 \337\340\325\342\345\336\324\335\343 \322\325\327\343" },
+ {T_COPYING, "\272\336\337\330\340\320\372\325" },
+ {T_COPYING_DESC, "\273\330\335\332\341 " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\n\320\343\342\336\340\330: \274\330\332\343\333\320\350 \277\320\342\336\332\320, \277\325\342\340 \272\343\333\345\320\322\330, \272\320\340\325\333 \272\343\333\345\320\322\330, \274\320\340\342\330\335 \277\325\340\323\325\333\n\337\340\325\322\336\324: \301\342\340\320\345\330\372\320 \300\320\324\330\373 <mr99164@alas.matf.bg.ac.yu>, \301\300\264 \"\303\333\330\332\341\"\n\n\276\322\320\370 \337\340\336\323\340\320\334 \370\325 \341\333\336\321\336\324\335\330 \341\336\344\342\322\325\340; \334\336\326\325\342\325 \323\320 \340\320\341\337\336\324\325\333\330\342\330 \330/\330\333\330 \334\325\372\320\342\330 \337\336\324 \336\324\340\325\324\321\320\334\320 \263\275\303-\336\322\325 \336\337\350\342\325 \370\320\322\335\325 \333\330\346\325\335\346\325 \332\336\370\343 \370\325 \336\321\370\320\322\330\333\320 \267\320\324\343\326\321\330\335\320 \327\320 \341\333\336\321\336\324\335\330 \341\336\344\342\322\325\340; \330 \342\336, \321\330\333\336 \322\325\340\327\330\370\325 2 \273\330\346\325\335\346\325, \330\333\330 (\337\336 \322\320\350\325\334 \330\327\321\336\340\343) \321\330\333\336 \332\336\370\325 \341\333\325\324\325\373\325 \322\325\340\327\330\370\325." },
+ {T_RESOURCES, "\300\325\341\343\340\341\330" },
+ {T_CONNECTIONS, "\277\336\322\325\327\330\322\320\372\320" },
+ {T_MEMORY_CACHE, "\274\325\334\336\340\330\370\341\332\320 \336\341\342\320\322\320" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "\276\341\342\320\322\320 \344\336\335\342\336\322\320" },
+ {T_IMAGE_CACHE, "\276\341\342\320\322\320 \341\333\330\332\320" },
+ {T_FORMATTED_DOCUMENT_CACHE, "\276\341\342\320\322\320 \344\336\340\334\320\342\330\340\320\335\330\345 \324\336\332\343\334\325\335\320\342\320" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "\340\343\347\332\330" },
+ {T_TIMERS, "\350\342\336\337\325\340\330\346\320" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "\337\336\322\325\327\330\322\320\372\325/\320 \343 \342\336\332\343" },
+ {T_tRANSFERRING, "\337\340\325\335\336\341/\320" },
+ {T_KEEPALIVE, "\336\324\340\326\320\322\320\335\330\345/\320/\336 \337\336\322\325\327\330\322\320\372\320/\325" },
+ {T_BYTES, "\321\320\370\342/\320/\336\322\320" },
+ {T_LETTERS, "\337\330\341\334\336/\320/\320\334\320" },
+ {T_FILES, "\324\320\342\336\342\325\332\320" },
+ {T_LOCKED, "\327\320\332\371\343\347\320\335/\320/\330\345" },
+ {T_LOADING, "\343\347\330\342\320\322\320\372\320/\325 \343 \342\336\332\343" },
+ {T_IMAGES, "\341\333\330\332\320/\325" },
+ {T_DOCUMENTS, "\324\336\332\343\334\325\335\320\342\320" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "\321\320\370\342/\320/\336\322\320 \334\325\334\336\340\330\370\325 \370\325 \327\320\343\327\325\342\336" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "\277\336\324\320\346\330 \336 \334\325\334\336\340\330\370\330" },
+ {T_NO_HISTORY, "\275\325\334\320 \330\341\342\336\340\330\370\325" },
+ {T_NO_DOWNLOADS, "\275\325\334\320 \337\340\325\343\327\325\342\330\345 \324\320\342\336\342\325\332\320" },
+ {T_NO_FRAMES, "\261\325\327 \336\332\322\330\340\320" },
+ {T_VT_100_FRAMES, "VT 100 \336\332\322\330\340\330" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux \330\333\330 OS/2 \336\332\322\330\340\330" },
+ {T_KOI8R_FRAMES, "KOI8-R \336\332\322\330\340\330" },
+ {T_FREEBSD_FRAMES, "\304\340\330\261\301\264 \336\332\322\330\340\330" },
+ {T_USE_11M, "\272\336\340\330\341\342\330 ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "\276\323\340\320\335\330\347\330 \336\332\322\330\340\325 \335\320 cp850/852" },
+ {T_BLOCK_CURSOR, "\272\343\340\341\336\340 \332\320\336 \321\333\336\332" },
+ {T_COLOR, "\261\336\370\325" },
+ {T_BRAILLE_TERMINAL, "\261\340\320\370\325\322 \342\325\340\334\330\335\320\333" },
+ {T_TERMINAL_OPTIONS, "\277\336\324\325\350\320\322\320\372\320 \342\325\340\334\330\335\320\333\320" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP \337\336\341\340\325\324\335\330\332 (\324\336\334\320\373\330\335:\337\336\340\342)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP \337\336\341\340\325\324\335\330\332 (\324\336\334\320\373\330\335:\337\336\340\342)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "\264\336\334\325\335\330 (\340\320\327\324\322\336\370\325\335\330 \327\320\337\325\342\320\334\320) \335\325\337\336\341\340\325\324\335\336\323 \337\340\330\341\342\343\337\320 (\321\325\327 \337\336\341\340\325\324\335\330\332\320)" },
+ {T_NETWORK_OPTIONS, "\274\340\325\326\335\320 \337\336\324\325\350\320\322\320\372\320" },
+ {T_MAX_CONNECTIONS, "\275\320\370\322\330\350\325 \337\336\322\325\327\330\322\320\372\320" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "\275\320\370\322\330\350\325 \337\336\322\325\327\330\322\320\372\320 \341\320 \370\325\324\335\330\334 \324\336\334\320\373\330\335\336\334" },
+ {T_RETRIES, "\277\336\335\336\322\335\330\345 \337\336\332\343\350\320\370\320 (0 - \335\325\336\323\340\320\335\330\347\325\335\336)" },
+ {T_RECEIVE_TIMEOUT_SEC, "\262\340\325\334. \336\323\340\320\335\330\347\325\372\325 \337\340\330\334\320\372\320 (\341\325\332)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "\262\340\325\334. \336\323\340\320\335\330\347\325\372\325 \332\320\324\320 \335\330\370\325 \334\336\323\343\373\325 \337\336\335. \337\336\332\340." },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "\260\341\330\335\345\340\336\335\320 \337\340\325\342\340\320\323\320 DNS-\320" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "\277\336\341\342\320\322\330 \324\320\342\343\334 \337\340\325\343\327\325\342\330\345 \324\320\342\336\342\325\332\320" },
+ {T_CACHE_OPTIONS, "\277\336\324\325\350\320\322\320\372\320 \336\341\342\320\322\325" },
+ {T_MEMORY_CACHE_SIZE__KB, "\262\325\333\330\347\330\335\320 \334\325\334\336\340\330\370\341\332\325 \336\341\342\320\322\325 (\332\261)" },
+ {T_IMAGE_CACHE_SIZE__KB, "\262\325\333\330\347\330\335\320 \336\341\342\320\322\325 \341\333\330\332\320 (\332\261)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "\261\340\336\370 \344\336\340\334\320\342\330\340\320\335\330\345 \324\336\332\343\334\325\335\320\342\320" },
+ {T_AGGRESSIVE_CACHE, "\260\323\340\325\341\330\322\335\320 \336\341\342\320\322\320" },
+ {T_HTML_OPTIONS, "\277\336\324\325\350\320\322\320\372\320 HTML-\320" },
+ {T_DISPLAY_TABLES, "\277\340\330\332\320\326\330 \342\320\321\325\333\325" },
+ {T_DISPLAY_FRAMES, "\277\340\330\332\320\326\330 \336\332\322\330\340\325" },
+ {T_DISPLAY_IMAGES, "\277\340\330\332\320\326\330 \341\333\330\332\325" },
+ {T_DISPLAY_IMAGE_FILENAMES, "\277\340\330\332\320\326\330 \335\320\327\330\322\325 \324\320\342\336\342\325\332\320 \327\320 \341\333\330\332\325" },
+ {T_DISPLAY_LINKS_TO_IMAGES, "\277\340\330\332\320\326\330 \322\325\327\325 \332\320 \341\333\330\332\320\334\320" },
+ {T_LINK_ORDER_BY_COLUMNS, "\303 \342\320\321\325\333\320\334\320 \341\325 \332\340\325\373\330 \337\336 \332\336\333\336\335\320\334\320" },
+ {T_NUMBERED_LINKS, "\262\325\327\325 \341\343 \335\343\334\325\340\330\341\320\335\325" },
+ {T_AUTO_REFRESH, "\260\343\342\336\334\320\342\341\332\336 \336\341\322\325\326\325\372\325" },
+ {T_TARGET_IN_NEW_WINDOW, "\264\336\327\322\336\333\330 \336\342\322\320\340\320\372\325 \322\325\327\320 \343 \335\336\322\336\334 \337\340\336\327\336\340\343 (target=\"_blank\")" },
+ {T_TEXT_MARGIN, "\274\320\340\323\330\335\320 \342\325\332\341\342\320" },
+ {T_DEFAULT_CODEPAGE, "\277\336\324\340\320\327\343\334\325\322\320\335\320 \332\336\324\335\320 \341\342\340\320\335\320" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "\267\320\335\325\334\320\340\330 \330\335\344\336\340\334\320\346\330\370\343 \336 \341\332\343\337\343 \327\335\320\332\336\322\320 \332\336\370\343 \350\320\371\325 \341\325\340\322\325\340" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "\270\324\330 \335\320 \303\300\273" },
+ {T_GO_BACK, "\270\324\330 \335\320\327\320\324" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "\270\341\342\336\340\330\370\320" },
+ {T_RELOAD, "\277\336\335\336\322\336 \343\347\330\342\320\370" },
+ {T_NEW_WINDOW, "\275\336\322 \337\340\336\327\336\340" },
+ {T_SAVE_AS, "\301\320\347\343\322\320\370 \332\320\336" },
+ {T_SAVE_URL_AS, "\301\320\347\343\322\320\370 \303\300\273 \332\320\336" },
+ {T_SAVE_FORMATTED_DOCUMENT, "\301\320\347\343\322\320\370 \344\336\340\334\320\342\330\340\320\335\330 \324\336\332\343\334\325\335\342" },
+ {T_COPY_URL_LOCATION, "\272\336\337\330\340\320\370 \342\340\325\335\343\342\335\336 \303\300\273 \334\325\341\342\336" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "\303\321\330\370 \337\336\327\320\324\330\335\341\332\320 \337\336\322\325\327\330\322\320\372\320" },
+ {T_KILL_ALL_CONNECTIONS, "\303\321\330\370 \341\322\320 \337\336\322\325\327\330\322\320\372\320" },
+ {T_FLUSH_ALL_CACHES, "\276\347\330\341\342\330 \341\322\325 \336\341\342\320\322\325" },
+ {T_RESOURCE_INFO, "\277\336\324\320\346\330 \336 \340\325\341\343\340\341\330\334\320" },
+ {T_OS_SHELL, "\251\343\341\332\320 \276\301-\320" },
+ {T_EXIT, "\270\327\333\320\327" },
+ {T_SEARCH, "\302\340\320\326\330" },
+ {T_SEARCH_BACK, "\302\340\320\326\330 \343\335\320\327\320\324" },
+ {T_FIND_NEXT, "\275\320\362\330 \341\333\325\324\325\373\325" },
+ {T_FIND_PREVIOUS, "\275\320\362\330 \337\340\325\342\345\336\324\335\336" },
+ {T_TOGGLE_HTML_PLAIN, "\277\340\330\332\320\327 HTML/\336\321\330\347\320\335" },
+ {T_DOCUMENT_INFO, "\277\336\324\320\346\330 \336 \324\336\332\343\334\325\335\342\343" },
+ {T_FRAME_AT_FULL_SCREEN, "\276\332\322\330\340 \335\320 \346\325\333\336\334 \325\332\340\320\335\343" },
+ {T_SAVE_HTML_OPTIONS, "\301\320\347\343\322\320\370 \337\336\324\325\350\320\322\320\372\320 HTML-\320" },
+ {T_CHARACTER_SET, "\301\332\343\337 \327\335\320\332\336\322\320" },
+ {T_CACHE, "\276\341\342\320\322\320" },
+ {T_MAIL_AND_TELNEL, "\277\336\350\342\320 \330 \342\325\333\335\325\342" },
+ {T_MAIL_TELNET_AND_SHELL, "\277\336\350\342\320, \342\325\333\335\325\342 \330 \371\343\341\332\320" },
+ {T_ASSOCIATIONS, "\277\340\330\324\340\343\326\325\372\320" },
+ {T_FILE_EXTENSIONS, "\262\340\341\342\325 \324\320\342\336\342\325\332\320" },
+ {T_SAVE_OPTIONS, "\301\320\347\343\322\320\370 \337\336\324\325\350\320\322\320\372\320" },
+ {T_FILE, "\264\320\342\336\342\325\332\320" },
+ {T_VIEW, "\337\276\323\333\325\324\320\370" },
+ {T_LINK, "\262\325\327\320" },
+ {T_DOWNLOADS, "\337\300\325\343\327\330\334\320\372\320" },
+ {T_SETUP, "\337\336\324\265\350\320\322\320\372\320" },
+ {T_HELP, "\277\336\334\336\373" },
+ {T_ENTER_URL, "\303\335\325\341\330\342\325 \303\300\273" },
+ {T_SAVE_URL, "\301\320\347\343\322\320\370 \303\300\273" },
+ {T_DOWNLOAD, "\277\340\325\343\327\330\334\320\372\325" },
+ {T_SAVE_TO_FILE, "\301\320\347\343\322\320\370 \343 \324\320\342\336\342\325\332\343" },
+ {T_SEARCH_FOR_TEXT, "\302\340\320\326\330 \342\325\332\341\342" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "\307\325\332\320\372\325 \343 \340\325\324\343" },
+ {T_LOOKING_UP_HOST, "\302\340\320\326\330\334 \324\336\334\320\373\330\335\320" },
+ {T_MAKING_CONNECTION, "\277\336\322\325\327\343\370\325\334 \341\325" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "SSL \337\340\325\323\336\322\336\340" },
+ {T_REQUEST_SENT, "\267\320\345\342\325\322 \337\336\341\333\320\335" },
+ {T_GETTING_HEADERS, "\264\336\321\320\322\371\320\334 \327\320\323\333\320\322\371\320" },
+ {T_LOGGING_IN, "\277\340\330\370\320\322\371\343\370\325\334 \341\325" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "\301\325\340\322\325\340 \336\321\340\320\362\343\370\325 \327\320\345\342\325\322" },
+ {T_TRANSFERRING, "\277\340\325\335\336\341\330\334" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "\307\325\332\320\334 \327\320 \337\336\342\322\340\324\343 \337\340\325\343\341\334\325\340\325\372\320" },
+ {T_INTERRUPTED, "\277\340\325\332\330\335\343\342\336" },
+ {T_SOCKET_EXCEPTION, "\270\327\343\327\325\342\320\332 \343\342\330\347\335\330\346\325" },
+ {T_INTERNAL_ERROR, "\303\335\343\342\340\320\350\372\320 \323\340\325\350\332\320" },
+ {T_OUT_OF_MEMORY, "\275\325\334\320 \322\330\350\325 \334\325\334\336\340\330\370\325" },
+ {T_HOST_NOT_FOUND, "\264\336\334\320\373\330\335 \335\330\370\325 \335\320\362\325\335" },
+ {T_ERROR_WRITING_TO_SOCKET, "\263\340\325\350\332\320 \337\340\330 \347\325\332\320\372\343 \335\320 \343\342\330\347\335\330\346\343" },
+ {T_ERROR_READING_FROM_SOCKET, "\263\340\325\350\332\320 \337\340\330 \347\330\342\320\372\343 \341\320 \343\342\330\347\335\330\346\325" },
+ {T_DATA_MODIFIED, "\277\336\324\320\346\330 \341\343 \330\327\334\325\372\325\335\330" },
+ {T_BAD_URL_SYNTAX, "\273\336\350\320 \341\330\335\342\320\332\341\320 \303\300\273-\320" },
+ {T_RECEIVE_TIMEOUT, "\262\340\325\334\325 \337\340\330\334\320\372\320 \370\325 \330\341\342\325\332\333\336" },
+ {T_REQUEST_MUST_BE_RESTARTED, "\267\320\345\342\325\322 \341\325 \334\336\340\320 \337\336\335\336\322\336 \337\336\332\340\325\335\343\342\330" },
+ {T_CANT_GET_SOCKET_STATE, "\275\325 \334\336\323\343 \324\320 \341\320\327\335\320\334 \341\342\320\372\325 \343\342\330\347\335\330\346\325" },
+ {T_CYCLIC_REDIRECT, "\306\330\332\333\330\347\335\336 \337\340\325\343\341\334\325\340\325\372\325" },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "\273\336\350 \336\324\323\336\322\336\340 HTTP-\320" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "\275\325\334\320 \341\320\324\340\326\320\370\320" },
+ {T_UNKNOWN_FILE_TYPE, "\275\325\337\336\327\335\320\342\320 \322\340\341\342\320 \324\320\342\336\342\325\332\325" },
+ {T_ERROR_OPENING_FILE, "\263\340\325\350\332\320 \337\340\330 \336\342\322\320\340\320\372\343 \324\320\342\336\342\325\332\325" },
+ {T_BAD_FTP_RESPONSE, "\273\336\350 \336\324\323\336\322\336\340 FTP-\320" },
+ {T_FTP_SERVICE_UNAVAILABLE, "\301\325\340\322\330\341 FTP-\320 \335\330\370\325 \324\336\341\342\343\337\320\335" },
+ {T_BAD_FTP_LOGIN, "\273\336\350\320 \337\340\330\370\320\322\320 FTP-\320" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT \335\320\340\325\324\321\320 \335\330\370\325 \343\337\325\333\320" },
+ {T_FILE_NOT_FOUND, "\264\320\342\336\342\325\332\320 \335\330\370\325 \335\320\362\325\335\320" },
+ {T_FTP_FILE_ERROR, "FTP \323\340\325\350\332\320 \324\320\342\336\342\325\332\325" },
+ {T_UNKNOWN_ERROR, "\275\325\337\336\327\335\320\342\320 \323\340\325\350\332\320" },
+ {T_RECEIVED, "\277\340\330\334\371\325\335\336" },
+ {T_OF, "\336\324" },
+ {T_AVG, "\337\340\336\341" },
+ {T_CUR, "\342\340\325\335" },
+ {T_AVERAGE_SPEED, "\277\340\336\341\325\347\335\320 \321\340\327\330\335\320" },
+ {T_SPEED, "\261\340\327\330\335\320" },
+ {T_CURRENT_SPEED, "\342\340\325\335\343\342\335\320 \321\340\327\330\335\320" },
+ {T_ELAPSED_TIME, "\277\340\336\342\325\332\333\336 \322\340\325\334\325" },
+ {T_ESTIMATED_TIME, "\337\340\336\346\325\372\325\335\336 \322\340\325\334\325" },
+ {T_BACKGROUND, "\277\336\327\320\324\330\335\320" },
+ {T_ABORT, "\277\340\325\332\330\335\330" },
+ {T_ABORT_AND_DELETE_FILE, "\277\340\325\332\330\335\330 \330 \336\321\340\330\350\330 \324\320\342\336\342\325\332\343" },
+ {T_YES, "\264\320" },
+ {T_NO, "\275\325" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, "\264\320\342\336\342\325\332\320 \322\325\373 \337\336\341\342\336\370\330" },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, "\341\325 \322\325\373 \337\340\325\343\327\330\334\320." },
+ {T_ALREADY_EXISTS, "\322\325\373 \337\336\341\342\336\370\330." },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, "\266\325\333\330\342\325 \333\330 \324\320 \337\340\325\337\330\350\325\334 \337\340\325\332\336 \372\325?" },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, "\277\340\325\337\330\350\330" },
+ {T_RENAME, "\277\340\325\330\334\325\335\343\370" },
+ {T_DOWNLOAD_ERROR, "\263\340\325\350\332\320 \337\340\330 \337\340\325\343\327\330\334\320\372\343" },
+ {T_COULD_NOT_WRITE_TO_FILE, "\275\325 \334\336\323\343 \324\320 \343\337\330\350\325\334 \324\320\342\336\342\325\332\343" },
+ {T_ERROR_DOWNLOADING, "\263\340\325\350\332\320 \337\340\330 \337\340\325\343\327\330\334\320\372\343" },
+ {T_ERROR_LOADING, "\263\340\325\350\332\320 \337\340\330 \343\347\330\342\320\322\320\372\343" },
+ {T_COULD_NOT_CREATE_FILE, "\275\325 \334\336\323\343 \324\320 \341\342\322\336\340\330\334 \324\320\342\336\342\325\332\343" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "\275\325\337\336\327\335\320\342\320 \322\340\341\342\320" },
+ {T_CONTENT_TYPE_IS, "\262\340\341\342\320 \341\320\324\340\326\320\370\320 \370\325" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "\266\325\333\330\342\325 \333\330 \324\320 \336\342\322\336\340\330\334, \341\320\347\343\322\320\334 \330\333\330 \337\340\330\332\320\326\325\334 \336\322\343 \324\320\342\336\342\325\332\343?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "\266\325\333\330\342\325 \333\330 \324\320 \336\342\322\336\340\330\334 \330\333\330 \337\340\330\332\320\326\325\334 \336\322\343 \324\320\342\336\342\325\332\343?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "\266\325\333\330\342\325 \333\330 \324\320 \341\320\347\343\322\320\334 \330\333\330 \337\340\330\332\320\326\325\334 \336\322\343 \324\320\342\336\342\325\332\343?" },
+ {T_SAVE, "\301\320\347\343\322\320\370" },
+ {T_DISPLAY, "\277\340\330\332\320\326\330" },
+ {T_WHAT_TO_DO, "\310\342\320 \324\320 \340\320\324\330\334?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "\266\325\333\330\342\325 \333\330 \324\320 \336\342\322\336\340\330\334 \324\320\342\336\342\325\332\343 \341\320" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "\341\320\347\343\322\320\334 \370\325 \330\333\330 \337\340\330\332\320\326\325\334?" },
+ {T_OPEN, "\276\342\322\336\340\330" },
+ {T_OPEN_WITH, "\276\342\322\336\340\330 \343\327 \337\336\334\336\373" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "\266\325\333\330\342\325 \333\330 \324\320 \337\340\320\342\330\334 \337\340\325\343\341\334\325\340\325\372\325 \330 \337\336\350\320\371\325\334 \337\336\324\320\342\332\325 \330\327 \336\321\340\320\341\346\320 \335\320 \303\300\273" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "\266\325\333\330\342\325 \333\330 \324\320 \337\336\350\320\371\325\334 \337\336\324\320\342\332\325 \330\327 \336\321\340\320\341\346\320 \335\320 \303\300\273" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "\266\325\333\330\342\325 \333\330 \324\320 \337\336\335\336\322\336 \337\336\350\320\371\325\334 \337\336\324\320\342\332\325 \330\327 \336\321\340\320\341\346\320 \335\320 \303\300\273" },
+ {T_WARNING, "\303\337\336\327\336\340\325\372\325" },
+ {T_ERROR, "\263\340\325\350\332\320" },
+ {T_WELCOME, "\264\336\321\340\336\324\336\350\333\330" },
+ {T_WELCOME_TO_LINKS, "\264\336\321\340\336\324\336\350\333\330 \343 \273\330\335\332\341!" },
+ {T_BASIC_HELP, "\277\340\330\342\330\341\335\330\342\325 ESC \327\320 \334\325\335\330. \270\327\320\321\325\340\330\342\325 \277\336\334\336\373->\303\337\343\342\341\342\322\336 \330\327 \334\325\335\330\370\320 \327\320 \332\336\340\330\341\335\330\347\332\336 \343\337\343\342\341\342\322\336." },
+ {T_LABEL, "\275\320\342\337\330\341" },
+ {T_CONTENT_TYPES, "\262\340\341\342\325 \341\320\324\340\326\320\370\320" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "\277\340\336\323\340\320\334 ('%' \341\325 \327\320\334\325\372\343\370\325 \330\334\325\335\336\334 \324\320\342\336\342\325\332\325)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "\267\320\343\341\342\320\322\330 \342\325\340\334\330\335\320\333 \327\320 \322\340\325\334\325 \340\320\324\320 \337\340\336\323\340\320\334\320" },
+ {T_RUN_ON_TERMINAL, "\277\336\332\340\325\335\330 \343 \342\325\340\334\330\335\320\333\343" },
+ {T_RUN_IN_XWINDOW, "\277\336\332\340\325\335\330 \343 \270\332\341 \337\340\336\327\336\340\343" },
+ {T_ASK_BEFORE_OPENING, "\277\330\342\320\370 \337\340\325 \336\342\322\320\340\320\372\320" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "\276\321\340\330\350\330 \337\340\330\324\340\343\326\325\372\325" },
+ {T_ASSOCIATION, "\337\340\330\324\340\343\326\325\372\325" },
+ {T_EXTENSION_S, "\262\340\341\342\325" },
+ {T_CONTENT_TYPE, "\262\340\341\342\320 \341\320\324\340\326\320\370\320" },
+ {T_DELETE_EXTENSION, "\276\321\340\330\350\330 \322\340\341\342\343" },
+ {T_EXTENSION, "\262\340\341\342\320" },
+ {T_eXTENSION, "\322\340\341\342\343" },
+ {T_ERROR_WHILE_POSTING_FORM, "\263\340\325\350\332\320 \337\340\330 \341\333\320\372\343 \336\321\340\320\341\346\320" },
+ {T_COULD_NOT_GET_FILE, "\275\325 \334\336\323\343 \324\320 \324\336\321\320\322\330\334 \324\320\342\336\342\325\332\343" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "\275\325\334\320 \337\340\325\342\345\336\324\335\325 \337\340\325\342\340\320\323\325" },
+ {T_SEARCH_STRING_NOT_FOUND, "\302\340\320\326\325\335\320 \335\330\341\332\320 \335\330\370\325 \335\320\362\325\335\320" },
+ {T_SAVE_ERROR, "\263\340\325\350\332\320 \337\340\330 \347\343\322\320\372\343" },
+ {T_ERROR_WRITING_TO_FILE, "\263\340\325\350\332\320 \337\340\330 \343\337\330\341\343 \343 \324\320\342\336\342\325\332\343" },
+ {T_DISPLAY_USEMAP, "\277\340\330\332\320\326\330 \334\320\337\343" },
+ {T_FOLLOW_LINK, "\277\340\320\342\330 \322\325\327\343" },
+ {T_OPEN_IN_NEW_WINDOW, "\276\342\322\336\340\330 \343 \335\336\322\336\334 \337\340\336\327\336\340\343" },
+ {T_DOWNLOAD_LINK, "\277\340\325\343\327\334\330 \322\325\327\343" },
+ {T_RESET_FORM, "\276\347\330\341\342\330 \336\321\340\320\327\320\346" },
+ {T_SUBMIT_FORM, "\277\340\325\324\320\370 \336\321\340\320\327\320\346" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "\277\340\325\324\320\370 \336\321\340\320\327\320\346 \330 \336\342\322\336\340\330 \343 \335\336\322\336\334 \337\340\336\327\336\340\343" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "\277\340\325\324\320\370 \336\321\340\320\327\320\346 \330 \337\340\325\343\327\334\330" },
+ {T_VIEW_IMAGE, "\277\336\323\333\325\324\320\370 \341\333\330\332\343" },
+ {T_DOWNLOAD_IMAGE, "\277\340\325\343\327\334\330 \341\333\330\332\343" },
+ {T_NO_LINK_SELECTED, "\275\325\334\320 \330\327\320\321\340\320\335\330\345 \322\325\327\320" },
+ {T_IMAGE, "\301\333\330\332\320" },
+ {T_USEMAP, "\274\320\337\320" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "\265\332\340\320\335" },
+ {T_WINDOW, "\277\340\336\327\336\340" },
+ {T_FULL_SCREEN, "\306\325\336 \325\332\340\320\335" },
+ {T_BEOS_TERMINAL, "BeOS \342\325\340\334\330\335\320\333" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, "\250\320\322\320\301\337\330\341" },
+ {T_SUBMIT_FORM_TO, "\277\340\325\324\320\370 \336\321\340\320\327\320\346 \335\320" },
+ {T_POST_FORM_TO, "\277\336\350\320\371\330 \336\321\340\320\327\320\346 \335\320" },
+ {T_RADIO_BUTTON, "\300\320\324\330\336 \324\343\323\334\325" },
+ {T_CHECKBOX, "\272\343\373\330\346\320" },
+ {T_SELECT_FIELD, "\277\336\371\325 \327\320 \330\327\321\336\340" },
+ {T_TEXT_FIELD, "\302\325\332\341\342\343\320\333\335\336 \337\336\371\325" },
+ {T_TEXT_AREA, "\302\325\332\341\342\343\320\333\335\320 \336\321\333\320\341\342" },
+ {T_FILE_UPLOAD, "\301\333\320\372\325 \324\320\342\336\342\325\332\325" },
+ {T_PASSWORD_FIELD, "\277\336\371\325 \327\320 \333\336\327\330\335\332\343" },
+ {T_BUTTON, "\264\343\323\334\325" },
+ {T_NAME, "\335\320\327\330\322" },
+ {T_VALUE, "\322\340\325\324\335\336\341\342" },
+ {T_HIT_ENTER_TO, "\337\340\330\342\330\341\335\330\342\325 ENTER \324\320 \321\330\341\342\325" },
+ {T_SUBMIT_TO, "\337\340\325\324\320\333\330 \335\320" },
+ {T_POST_TO, "\337\336\341\333\320\333\330 \335\320" },
+ {T_INFO, "\277\336\324\320\346\330" },
+ {T_HEADER_INFO, "\277\336\324\320\346\330 \336 \327\320\323\333\320\322\371\330\334\320" },
+ {T_YOU_ARE_NOWHERE, "\275\325 \335\320\333\320\327\330\342\325 \341\325 \335\330\323\324\325!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "\303\300\273" },
+ {T_SIZE, "\262\325\333\330\347\330\335\320" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "\335\325\337\336\342\337\343\335\336" },
+ {T_CODEPAGE, "\272\336\324\335\320 \341\342\340\320\335\320" },
+ {T_ASSUMED, "\337\340\325\342\337\336\341\342\320\322\371\325\335\320" },
+ {T_IGNORING_SERVER_SETTING, "\327\320\335\325\334\320\340\343\370\325\334 \337\336\324\325\350\320\322\320\372\325 \341\325\340\322\325\340\320" },
+ {T_SERVER, "\301\325\340\322\325\340" },
+ {T_DATE, "\264\320\342\343\334" },
+ {T_LAST_MODIFIED, "\277\336\341\333\325\324\372\320 \330\327\334\325\335\320" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "\250\325\327\330\332" },
+ {T_GO_TO_LINK, "\270\324\330 \335\320 \322\325\327\343" },
+ {T_ENTER_LINK_NUMBER, "\303\335\325\341\330\342\325 \321\340\336\370 \322\325\327\325" },
+ {T_RESIZE_TERMINAL, "\277\340\336\334\325\335\330 \322\325\333\330\347\330\335\343 \342\325\340\334\330\335\320\333\320" },
+ {T_COLUMNS, "\272\336\333\336\335\325" },
+ {T_ROWS, "\300\325\324\336\322\330" },
+ {T_GOTO, "\270\324\330 \335\320" },
+ {T_CLOSE, "\267\320\342\322\336\340\330" },
+ {T_FOLDER, "\304\320\341\346\330\332\333\320" },
+ {T_fOLDER, "\344\320\341\346\330\332\333\320" },
+ {T_ADD, "\264\336\324\320\370" },
+ {T_DELETE, "\276\321\340\330\350\330" },
+ {T_EDIT, "\303\340\325\324\330" },
+ {T_MOVE, "\277\340\325\334\325\341\342\330" },
+ {T_NO_ITEMS_SELECTED, "\275\330\350\342\320 \335\330\370\325 \330\327\320\321\340\320\335\336. \275\325\334\320\334 \350\342\320 \324\320 \337\340\325\334\325\341\342\330\334." },
+ {T_UNSELECT_ALL, "\276\324\336\327\335\320\347\330 \341\322\325" },
+ {T_BOOKMARKS, "\276\321\325\333\325\326\330\322\320\347\330" },
+ {T_BOOKMARK, "\336\321\325\333\325\326\330\322\320\347" },
+ {T_ADD_BOOKMARK, "\264\336\324\320\370 \336\321\325\333\325\326\330\322\320\347" },
+ {T_ADD_ASSOCIATION, "\264\336\324\320\370 \337\340\330\324\340\343\326\325\372\325" },
+ {T_ADD_EXTENSION, "\264\336\324\320\370 \322\340\341\342\343" },
+ {T_ADD_FOLDER, "\264\336\324\320\370 \344\320\341\346\330\332\333\343" },
+ {T_BOOKMARK_TITLE, "\275\320\341\333\336\322 \336\321\325\333\325\326\330\322\320\347\320" },
+ {T_EDIT_BOOKMARK, "\303\340\325\362\330\322\320\372\325 \336\321\325\333\325\326\330\322\320\347\320" },
+ {T_EDIT_ASSOCIATION, "\303\340\325\362\330\322\320\372\325 \337\340\330\324\340\343\326\325\372\320" },
+ {T_EDIT_EXTENSION, "\303\340\325\362\330\322\320\372\325 \322\340\341\342\325" },
+ {T_DELETE_BOOKMARK, "\261\340\330\341\320\372\325 \336\321\325\333\325\326\330\322\320\347\320" },
+ {T_EDIT_FOLDER, "\303\340\325\362\330\322\320\372\325 \344\320\341\346\330\332\333\325" },
+ {T_DELETE_FOLDER, "\261\340\330\341\320\372\325 \344\320\341\346\330\332\333\325" },
+ {T_NOT_EMPTY_SURE_DELETE, "\335\330\370\325 \337\340\320\327\335\320. \264\320 \333\330 \327\320\330\341\342\320 \326\325\333\330\342\325 \324\320 \370\325 \336\321\340\330\350\325\334?" },
+ {T_BOOKMARK_MANAGER, "\303\337\340\320\322\330\342\325\371 \336\321\325\333\325\326\330\322\320\347\320" },
+ {T_ASSOCIATIONS_MANAGER, "\303\337\340\320\322\330\342\325\371 \337\340\330\324\340\343\326\325\372\320" },
+ {T_EXTENSIONS_MANAGER, "\303\337\340\320\322\330\342\325\371 \322\340\341\342\320" },
+ {T_url, "\303\300\273" },
+ {T_NNAME, "\270\334\325" },
+ {T_EXIT_LINKS, "\270\327\333\320\327 \330\327 \273\330\335\332\341\320" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "\264\320 \333\330 \327\320\330\341\342\320 \326\325\333\330\342\325 \324\320 \330\327\320\362\325\342\325 \330\327 \273\330\335\332\341\320?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "\264\320 \333\330 \327\320\330\341\342\320 \326\325\333\330\342\325 \324\320 \330\327\320\362\325\342\325 \330\327 \273\330\335\332\341\320 (\330 \337\340\325\332\330\335\325\342\325 \341\322\320 \337\340\325\343\327\330\334\320\372\320)?" },
+ {T_HTTP_OPTIONS, "\277\336\324\325\350\320\322\320\372\320 HTTP-\320" },
+ {T_FTP_OPTIONS, "\277\336\324\325\350\320\322\320\372\320 FTP-\320" },
+ {T_HTTP_BUG_WORKAROUNDS, "\267\320\336\321\330\333\320\326\325\372\325 \337\340\336\321\333\325\334\320 \341\320 HTTP-\336\334" },
+ {T_USE_HTTP_10, "\272\336\340\330\341\342\330 HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "\264\336\337\343\341\342\330 \346\340\335\343 \333\330\341\342\343 \337\340\336\321\333\325\334\320\342\330\347\335\330\345 \341\325\340\322\325\340\320" },
+ {T_BROKEN_302_REDIRECT, "\277\336\332\322\320\340\325\335\336 \337\340\336\341\333\325\362\330\322\320\372\325 302 (\335\320\340\343\350\320\322\320 RFC, \320\333\330 \370\325 \341\320\323\333\320\341\335\336 \341\320 \275\325\342\341\332\325\370\337\336\334)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "\261\325\327 \336\347\343\322\320\372\320 \337\336\322\325\327\330\322\320\372\320 \337\336\341\333\325 POST \327\320\345\342\325\322\320 (\337\336\342\340\325\321\335\336 \327\320 \335\325\332\325 \337\340\336\321\333\325\334\320\342\330\347\335\325 \277\305\277 \321\320\327\325 \337\336\324\320\342\320\332\320)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, "\275\325 \350\320\371\330 Accept-Charset" },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "\275\325\334\320 \343\337\343\373\330\322\320\347\320" },
+ {T_REFERER_SAME_URL, "\277\336\350\320\371\330 \327\320\345\342\325\322\320\335\330 \303\300\273 \332\320\336 \343\337\343\373\330\322\320\347\320" },
+ {T_REFERER_FAKE, "\277\336\337\340\320\322\371\325\335 \343\337\343\373\330\322\320\347" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "\277\336\350\320\371\330 \341\342\322\320\340\335\336\323 \343\337\343\373\330\322\320\347\320 (\343\336\321\330\347\320\370\325\335\320 \334\320\335\330\337\343\333\320\346\330\370\320, \275\265\301\270\263\303\300\275\276!!!)" },
+ {T_FAKE_REFERER, "\277\336\337\340\320\322\371\325\335 HTTP \343\337\343\373\330\322\320\347" },
+ {T_FAKE_USERAGENT, "\273\320\326\320\335 \332\336\340\330\341\335\330\347\332\330 \320\323\325\335\342" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "\273\336\327\330\335\332\320 \327\320 \320\335\336\335\330\334\335\343 \337\340\330\370\320\322\343" },
+ {T_USE_PASSIVE_FTP, "\272\336\340\330\341\342\330 \337\320\341\330\322\335\330 FTP" },
+ {T_USE_FAST_FTP, "\272\336\340\330\341\342\330 \321\340\327\330 (\320\333\330 \335\325\343\341\320\323\333\320\350\325\335 \341\320 RFC-\336\334) FTP" },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "\272\336\340\330\341\335\330\347\332\336 \343\337\343\342\341\342\322\336" },
+ {T_HOMEPAGE, "\264\336\334\320\373\320 \341\342\340\320\335\330\346\320" },
+ {T_CALIBRATION, "\272\320\333\330\321\340\330\341\320\372\325" },
+ {T_MAILTO_PROG, "\277\340\336\323\340\320\334 \327\320 \337\336\350\342\343 (% \341\325 \327\320\334\325\372\343\370\325 \320\324\340\325\341\336\334)" },
+ {T_SHELL_PROG, "\251\343\341\332\320 \327\320 \330\327\322\340\350\320\322\320\372\325 \341\337\336\371\320\350\372\330\345 \335\320\340\325\324\321\330 (\327\335\320\332 % \373\325 \321\330\342\330 \327\320\334\325\372\325\335 \335\320\340\325\324\321\336\334)" },
+ {T_TELNET_PROG, "\277\340\336\323\340\320\334 \327\320 \342\325\333\335\325\342 (% \341\325 \327\320\334\325\372\343\370\325 \335\330\341\332\336\334 \"\324\336\334\320\373\330\335\" \330\333\330 \"\324\336\334\320\373\330\335 \337\336\340\342\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "\277\340\336\323\340\320\334 \327\320 tn3270 (% \341\325 \327\320\334\325\372\343\370\325 \335\330\341\332\336\334 \"\324\336\334\320\373\330\335\" \330\333\330 \"\324\336\334\320\373\330\335 \337\336\340\342\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "\277\340\336\323\340\320\334\330 \327\320 \337\336\350\342\343 \330 \342\325\333\335\325\342" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, "\277\340\336\323\340\320\334\330 \327\320 \337\336\350\342\343, \342\325\333\335\325\342 \330 \371\343\341\332\343" },
+ {T_NO_PROGRAM, "\275\325\334\320 \337\340\336\323\340\320\334\320" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "\275\330\370\325 \327\320\324\320\342 \337\340\336\323\340\320\334 \327\320" },
+ {T_MAIL, "\337\336\350\342\343" },
+ {T_TELNET, "\342\325\333\335\325\342" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "\273\336\350 mailto \303\300\273" },
+ {T_BAD_TELNET_URL, "\273\336\350 telnet \303\300\273" },
+ {T_BAD_TN3270_URL, "\273\336\350 tn3270 \303\300\273" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, "\267\320\345\342\325\322\320 \341\325 \337\336\342\322\340\324\320 \330\341\337\340\320\322\335\336\341\342\330" },
+ {T_PROXY_AUTHORIZATION_REQUIRED, "\267\320\345\342\325\322\320 \341\325 \337\336\341\340\325\324\335\330\347\332\320 \337\336\342\322\340\324\320 \330\341\337\340\320\322\335\336\341\342\330" },
+ {T_USERID, "\272\336\340\330\341\335\330\347\332\336 \330\334\325" },
+ {T_PASSWORD, "\273\336\327\330\335\332\320" },
+ {T_ENTER_USERNAME, "\303\335\325\341\330\342\325 \332\336\340\330\341\335\330\347\332\336 \330\334\325 \327\320 " },
+ {T_AT, "\335\320 " },
+ {T_SSL_ERROR, "\263\340\325\350\332\320 SSL-\320" },
+ {T_NO_SSL, "\276\322\320 \322\325\340\327\330\370\320 \273\330\335\332\341\320 \335\325 \341\320\324\340\326\330 \337\336\324\340\350\332\343 \327\320 SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "\264\320 \333\330 \327\320\330\341\342\320 \326\325\333\330\342\325 \324\320 \336\321\340\330\350\325\342\325" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "\276\321\325\333\325\326\330\322\320\347\330 \341\343 \322\325\373 \343 \343\337\336\342\340\325\321\330!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "\277\340\330\324\340\343\326\325\372\320 \341\343 \322\325\373 \343 \343\337\336\342\340\325\321\330!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "\262\340\341\342\325 \341\343 \322\325\373 \343 \343\337\336\342\340\325\321\330!" },
+ {T_VIDEO_OPTIONS, "\277\336\324\325\350\320\322\320\372\320 \323\340\320\344\330\332\325" },
+ {T_VIDEO_OPTIONS_TEXT, "\277\340\325\337\336\340\343\347\325\335\336 \332\336\340\330\341\335\330\347\332\336 \337\336\324\325\350\320\322\320\372\325 \323\320\334\325:\n 1,33 \327\320 \342\320\334\335\343 \341\336\321\343, 1,11 \327\320 \322\325\336\334\320 \327\320\334\340\320\347\325\335\343 \341\336\321\343, 1 \327\320 \343\336\321\330\347\320\370\325\335\336 \340\320\347\343\335\320\340\341\332\336 \341\342\336\335\336 \336\341\322\325\342\371\325\372\325, 0,88 \327\320 \370\320\341\335\336 \336\341\322\325\342\371\325\372\325 \336\332\340\343\326\325\372\320" },
+ {T_RED_DISPLAY_GAMMA, "\306\340\322\325\335\320 \323\320\334\320 \337\340\330\332\320\327\320" },
+ {T_GREEN_DISPLAY_GAMMA, "\267\325\333\325\335\320 \323\320\334\320 \337\340\330\332\320\327\320" },
+ {T_BLUE_DISPLAY_GAMMA, "\277\333\320\322\320 \323\320\334\320 \337\340\330\332\320\327\320" },
+ {T_USER_GAMMA, "\272\336\340\330\341\335\330\347\332\320 \323\320\334\320" },
+ {T_ALERT, "\276\337\340\325\327" },
+ {T_QUESTION, "\277\330\342\320\372\325" },
+ {T_KILL_SCRIPT, "\303\321\330\370 \341\337\330\341" },
+ {T_KILL_ALL_SCRIPTS, "\303\321\330\370 \341\322\325 \341\337\330\341\325" },
+ {T_SCRIPT_KILLED_BY_USER, "\250\320\322\320\301\337\330\341 \343\321\330\370\325\335 \336\324 \341\342\340\320\335\325 \332\336\340\330\341\335\330\332\320." },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "\250\320\322\320\301\337\330\341 \337\336\332\343\350\320\322\320 \324\320 \327\320\342\322\336\340\330 \337\340\336\327\336\340 \347\330\342\320\347\320. \264\320 \333\330 \327\320\330\341\342\320 \326\325\333\330\342\325 \324\320 \327\320\342\322\336\340\330\334 \337\340\336\327\336\340?" },
+ {T_ENTER_STRING, "\303\335\325\341\330\342\325 \335\330\341\332\343" },
+ {T_JAVASCRIPT_OPTIONS, "\277\336\324\325\350\320\322\320\372\320 \250\320\322\320\301\337\330\341\320" },
+ {T_ENABLE_JAVASCRIPT, "\303\332\371\343\347\330 \250\320\322\320\301\337\330\341\325" },
+ {T_VERBOSE_JS_ERRORS, "\261\340\321\371\330\322\325 \323\340\325\350\332\325 \250\320\322\320\301\337\330\341\320" },
+ {T_VERBOSE_JS_WARNINGS, "\261\340\321\371\330\322\320 \343\337\336\327\336\340\325\372\320 \250\320\322\320\301\337\330\341\320" },
+ {T_MISCELANEOUS_OPTIONS, "\300\320\327\335\320 \337\336\324\325\350\320\322\320\372\320" },
+ {T_JAVASCRIPT_ERROR, "\263\340\325\350\332\320 \250\320\322\320\301\337\330\341\320" },
+ {T_JAVASCRIPT_WARNING, "\303\337\336\327\336\340\325\372\325 \250\320\322\320\301\337\330\341\320" },
+ {T_DISMISS, "\276\342\337\343\341\342\330" },
+ {T_MENU_FONT_SIZE, "\262\325\333\330\347\330\335\320 \344\336\335\342\320 \334\325\335\330\370\320" },
+ {T_USER_FONT_SIZE, "\272\336\340\330\341\335\330\347\332\320 \322\325\333\330\347\330\335\320 \344\336\335\342\320" },
+ {T_TURN_OFF_WARNINGS, "\270\341\332\371\343\347\330 \343\337\336\327\336\340\325\372\320" },
+ {T_BOOKMARKS_ENCODING, "\272\336\324\330\340\320\372\325 \336\321\325\333\325\326\330\322\320\347\320" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "\250\320\322\320\301\337\330\341 \337\336\332\343\350\320\322\320 \324\320 \330\324\325 \335\320 \303\300\273" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "\250\320\322\320\301\337\330\341 \337\336\332\343\350\320\322\320 \324\320 \336\342\322\336\340\330 \335\336\322 \337\340\336\327\336\340 \335\320 \303\300\273" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "\250\320\322\320\301\337\330\341 \337\336\332\343\350\320\322\320 \324\320 \337\340\330\341\342\343\337\330 \330\341\342\336\340\330\370\330" },
+ {T_TO_URL, "\335\320 \303\300\273" },
+ {T_GOTO_HISTORY, "\270\324\330 \335\320 \330\341\342\336\340\330\370\343" },
+ {T_ALLOW, "\264\336\327\322\336\333\330" },
+ {T_REJECT, "\276\324\321\330\370" },
+ {T_ENABLE_ALL_CONVERSIONS, "\303\332\371\343\347\330 \341\322\320 \337\340\325\342\322\320\340\320\372\320" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "\303\332\371\343\347\330 \336\337\350\342\325 \340\320\327\340\325\350\325\372\325 \330\334\325\335\320" },
+ {T_MANUAL_JS_CONTROL, "\300\343\347\335\320 \337\336\342\322\340\324\320 \334\320\335\330\337\343\333\320\346\330\370\325 \250\320\322\320\301\337\330\341\330\334\320" },
+ {T_JS_RECURSION_DEPTH, "\264\343\321\330\335\320 \340\325\332\343\340\327\330\370\325" },
+ {T_MENU_BACKGROUND_COLOR, "\261\336\370\320 \337\336\327\320\324\330\335\325" },
+ {T_MENU_FOREGROUND_COLOR, "\261\336\370\320 \342\325\332\341\342\320" },
+ {T_SCROLL_BAR_BAR_COLOR, "\261\336\370\320 \333\330\335\330\370\325 \332\333\330\327\320\347\320" },
+ {T_SCROLL_BAR_AREA_COLOR, "\261\336\370\320 \336\321\333\320\341\342\330 \332\333\330\327\320\347\320" },
+ {T_SCROLL_BAR_FRAME_COLOR, "\261\336\370\320 \336\332\322\330\340\320 \332\333\330\327\320\347\320" },
+ {T_BOOKMARKS_FILE, "\264\320\342\336\342\325\332\320 \336\321\325\333\325\326\330\322\320\347\320" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "\303\335\325\341\330\342\325 \321\336\370\325 \332\320\336 sRGB \345\325\332\341\320\324\325\332\320\324\335\325 RRGGBB \342\340\336\370\332\325." },
+ {T_JS_MEMORY_LIMIT_KB, "\274\325\334\336\340\330\370\320 \337\336\341\322\325\373\325\335\320 \250\320\322\320\301\337\330\341\330\334\320 (\332\261)" },
+ {T_DITHER_LETTERS, "\270\341\342\320\347\332\320\370 \341\333\336\322\320" },
+ {T_DITHER_IMAGES, "\270\341\342\320\347\332\320\370 \341\333\330\332\325" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "\277\336\341\342\320\322\330 \322\325\333\330\347\330\335\343 \341\322\330\345 \341\333\330\332\320 \335\320 (%)" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, "\276\337\342\330\334\330\327\320\346\330\370\320 \337\340\330\332\320\327\320 \327\320 CRT" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "\276\337\342\330\334\330\327\320\346\330\370\320 \337\340\330\332\320\327\320 \327\320 LCD (RGB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "\276\337\342\330\334\330\327\320\346\330\370\320 \337\340\330\332\320\327\320 \327\320 LCD (BGR)" },
+ {T_ASPECT_RATIO, "\277\340\336\337\336\340\346\330\370\325 \337\336\323\333\325\324\320" },
+ {T_ASPECT_CORRECTION_ON, "\303\332\371\343\347\330 \330\341\337\340\320\322\371\320\372\325 \337\336\323\333\325\324\320" },
+ {T_KEYBOARD_CODEPAGE, "\272\336\324\335\320 \341\342\340\320\335\320 \342\320\341\342\320\342\343\340\325" },
+ {T_COPY_LINK_LOCATION, "\272\336\337\330\340\320\370 \334\325\341\342\336 \322\325\327\325" },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "\270" },
+ {T_HK_GO_BACK, "\335" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "\341" },
+ {T_HK_RELOAD, "\277" },
+ {T_HK_BOOKMARKS, "\276" },
+ {T_HK_NEW_WINDOW, "\322" },
+ {T_HK_SAVE_AS, "\332" },
+ {T_HK_SAVE_URL_AS, "\303" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "\344" },
+ {T_HK_COPY_URL_LOCATION, "\342" },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "\321" },
+ {T_HK_KILL_ALL_CONNECTIONS, "\372" },
+ {T_HK_FLUSH_ALL_CACHES, "\347" },
+ {T_HK_RESOURCE_INFO, "\340" },
+ {T_HK_MEMORY_INFO, "\325" },
+ {T_HK_OS_SHELL, "\251" },
+ {T_HK_RESIZE_TERMINAL, "\333" },
+ {T_HK_EXIT, "\327" },
+ {T_HK_SEARCH, "\302" },
+ {T_HK_SEARCH_BACK, "\343" },
+ {T_HK_FIND_NEXT, "\341" },
+ {T_HK_FIND_PREVIOUS, "\337" },
+ {T_HK_TOGGLE_HTML_PLAIN, "\332" },
+ {T_HK_DOCUMENT_INFO, "\270" },
+ {T_HK_HEADER_INFO, "\327" },
+ {T_HK_FRAME_AT_FULL_SCREEN, "\346" },
+ {T_HK_HTML_OPTIONS, "\336" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "\320" },
+ {T_HK_LANGUAGE, "\250" },
+ {T_HK_CHARACTER_SET, "\301" },
+ {T_HK_TERMINAL_OPTIONS, "\342" },
+ {T_HK_VIDEO_OPTIONS, "\350" },
+ {T_HK_NETWORK_OPTIONS, "\274" },
+ {T_HK_JAVASCRIPT_OPTIONS, "\324" },
+ {T_HK_MISCELANEOUS_OPTIONS, "\300" },
+ {T_HK_CACHE, "\276" },
+ {T_HK_MAIL_AND_TELNEL, "\277" },
+ {T_HK_ASSOCIATIONS, "\326" },
+ {T_HK_FILE_EXTENSIONS, "\262" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "\320" },
+ {T_HK_ABOUT, "\276" },
+ {T_HK_KEYS, "\302" },
+ {T_HK_COPYING, "\272" },
+ {T_HK_MANUAL, "\343" },
+ {T_HK_HOMEPAGE, "\264" },
+ {T_HK_CALIBRATION, "\333" },
+ {T_HK_FILE, "\264" },
+ {T_HK_VIEW, "\276" },
+ {T_HK_LINK, "\262" },
+ {T_HK_DOWNLOADS, "\300" },
+ {T_HK_SETUP, "\265" },
+ {T_HK_HELP, "\277" },
+ {T_HK_DISPLAY_USEMAP, "\334" },
+ {T_HK_FOLLOW_LINK, "\277" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "\276" },
+ {T_HK_DOWNLOAD_LINK, "\340" },
+ {T_HK_RESET_FORM, "\276" },
+ {T_HK_SUBMIT_FORM, "\277" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "\335" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "\340" },
+ {T_HK_VIEW_IMAGE, "\341" },
+ {T_HK_DOWNLOAD_IMAGE, "\343" },
+ {T_HK_COPY_LINK_LOCATION, "\334" },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "\265" },
+ {T_HK_WINDOW, "\277" },
+ {T_HK_FULL_SCREEN, "\306" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_slovak [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "iso8859-2" },
+ {T__LANGUAGE, "Slovak" },
+ {T__ACCEPT_LANGUAGE, "sk,cs;q=0.5" },
+ {T_OK, "OK" },
+ {T_CANCEL, "Zru\271i\273" },
+ {T_BAD_NUMBER, "Chybn\351 \350\355slo" },
+ {T_NUMBER_EXPECTED, "V r\341m\350eku mus\355 by\273 \350\355slo" },
+ {T_NUMBER_OUT_OF_RANGE, "\310\355slo je mimo rozsah" },
+ {T_BAD_STRING, "Chybn\375 re\273azec" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Pr\341zdny re\273azec nie je dovolen\375!" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Chyba v konfigur\341cii" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Nem\364\276em zapisova\273 do konfig. s\372boru" },
+ {T_BOOKMARK_ERROR, "Chyba z\341lo\276iek" },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, "Nem\364\276em zapisova\273 do s\372boru z\341lo\276iek" },
+ {T_ABOUT, "O programe" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW browser" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Kl\341vesy" },
+ {T_KEYS_DESC, "ESC zobraz menu\n^C, q koniec\n^P, ^N pos\372vanie hore/dole\n[, ] pos\372vanie v\265avo/vpravo\nup, down pos\372vanie po odkazoch\n-> sko\350 na odkaz\n<- sp\344\273\ng cho\357 na URL\nG cho\357 na URL, ktor\351 je zalo\276en\351 na aktu\341lnom\n/ h\265adaj dopredu\n? h\265adaj dozadu\nn n\341jdi \357al\271ie\nN n\341jdi predo\271le\n= inform\341cie o str\341nke\n\\ zobraz zdroj\nd stiahni" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Kop\355rovanie" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_2 "\n\nTento program je vo\265n\351 programov\351 vybavenie; m\364\276ete ho \271\355ri\273 a modifikova\273 pod\265a ustanoven\355 V\271eobecnej verejnej licencie GNU, vyd\341vanej nad\341ciou Free Software Foundation; a to bu\357 verzie 2 tejto licencie, alebo (pod\265a v\341\271ho uv\341\276enia) kterejko\265vek neskor\271ej verzie." },
+ {T_RESOURCES, "Zdroje" },
+ {T_CONNECTIONS, "Spojenie" },
+ {T_MEMORY_CACHE, "Pam\344\273ov\341 cache" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Cache fontov" },
+ {T_IMAGE_CACHE, "Cache obr\341zkov" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Form\341tovan\351 dokumenty v cache" },
+ {T_DNS_CACHE, "DNS cache" },
+ {T_HANDLES, "handle" },
+ {T_TIMERS, "\350asova\350ov" },
+ {T_WAITING, "\350ak\341" },
+ {T_CONNECTING, "prip\341jam" },
+ {T_tRANSFERRING, "pren\341\271am" },
+ {T_KEEPALIVE, "keep-alive" },
+ {T_BYTES, "bytov" },
+ {T_LETTERS, "p\355smen" },
+ {T_FILES, "s\372borov" },
+ {T_LOCKED, "zamknut\375ch" },
+ {T_LOADING, "nahr\341vam" },
+ {T_IMAGES, "obr\341zkov" },
+ {T_DOCUMENTS, "dokumentov" },
+ {T_SERVERS, "serverov" },
+ {T_MEMORY_ALLOCATED, "bytov alokovanej pam\344ti" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Inform\341cie o pam\344ti" },
+ {T_NO_HISTORY, "\256iadna hist\363ria" },
+ {T_NO_DOWNLOADS, "Ni\350 nes\273ahujem" },
+ {T_NO_FRAMES, "Vypn\372\273 r\341m\350eky" },
+ {T_VT_100_FRAMES, "R\341m\350eky VT100" },
+ {T_LINUX_OR_OS2_FRAMES, "R\341m\350eky typu Linux alebo OS/2" },
+ {T_KOI8R_FRAMES, "R\341m\350eky KOI8-R" },
+ {T_FREEBSD_FRAMES, "R\341me\350ky FreeBSD" },
+ {T_USE_11M, "Pou\276\355va\273 11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Obmedzi\273 r\341m\350eky v CP850/852" },
+ {T_BLOCK_CURSOR, "Blokov\375 kurzor" },
+ {T_COLOR, "Farby" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Nastavenia termin\341lu" },
+ {T_PROXIES, "Proxy" },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Dom\351ny s priamym pr\355stupom (bez proxy) (odde\265uj \350iarkami)" },
+ {T_NETWORK_OPTIONS, "Nastavenia siete" },
+ {T_MAX_CONNECTIONS, "Maxim\341lny po\350et spojen\355" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Maxim\341lny po\350et spojen\355 na jeden po\350\355ta\350" },
+ {T_RETRIES, "Po\350et pokusov" },
+ {T_RECEIVE_TIMEOUT_SEC, "\310asov\375 limit (sek)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Vy\350ka\273, ke\357 spojenie nem\364\276e by\273 re\271tartovan\351" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Asynchr\363nna DNS" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Nastavi\273 \350as stiahnut\375ch s\372borov" },
+ {T_CACHE_OPTIONS, "Nastavenia cache" },
+ {T_MEMORY_CACHE_SIZE__KB, "Ve\265kos\273 cache (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "Ve\265kos\273 cache obr\341zkov (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, "Ve\265kos\273 cache p\355smenok" },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Po\350et zformatovan\375ch dokumentov" },
+ {T_AGGRESSIVE_CACHE, "Agres\355vna cache" },
+ {T_HTML_OPTIONS, "Nastavenia HTML" },
+ {T_DISPLAY_TABLES, "Zobrazova\273 tabu\265ky" },
+ {T_DISPLAY_FRAMES, "Zobrazova\273 r\341my" },
+ {T_DISPLAY_IMAGES, "Zobrazova\273 obr\341zky" },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Zobrazova\273 linky na obr\341zky" },
+ {T_LINK_ORDER_BY_COLUMNS, "Poradie odkazov po st\345pcoch" },
+ {T_NUMBERED_LINKS, "\310\355slovan\351 linky" },
+ {T_AUTO_REFRESH, "Automatick\375 refresh" },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Okraj textu" },
+ {T_DEFAULT_CODEPAGE, "\251tandardn\341 znakov\341 sada" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorova\273 inform\341ciu o k\363dovej str\341nke" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Otvori\273 URL ..." },
+ {T_GO_BACK, "Sp\344\273" },
+ {T_GO_FORWARD, "Dopredu" },
+ {T_HISTORY, "Hist\363ria" },
+ {T_RELOAD, "Obnovi\273" },
+ {T_NEW_WINDOW, "Nov\351 okno" },
+ {T_SAVE_AS, "Ulo\276i\273 ako ..." },
+ {T_SAVE_URL_AS, "Ulo\276i\273 URL ako ..." },
+ {T_SAVE_FORMATTED_DOCUMENT, "Ulo\276i\273 sformatovan\375 dokument" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Ukon\350i\273 v\271etky spojenia na pozad\355" },
+ {T_KILL_ALL_CONNECTIONS, "Ukon\350i\273 v\271etky spojenia" },
+ {T_FLUSH_ALL_CACHES, "Vypr\341zdni\273 cache" },
+ {T_RESOURCE_INFO, "Inform\341cie o zdrojoch" },
+ {T_OS_SHELL, "OS shell" },
+ {T_EXIT, "Koniec" },
+ {T_SEARCH, "H\265ada\273 ..." },
+ {T_SEARCH_BACK, "H\265ada\273 dozadu ..." },
+ {T_FIND_NEXT, "Nasleduj\372ci v\375skyt vzorky" },
+ {T_FIND_PREVIOUS, "Predch\341dzaj\372ci v\375skyt vzorky" },
+ {T_TOGGLE_HTML_PLAIN, "Prepn\372\273 HTML/plain" },
+ {T_DOCUMENT_INFO, "Informacie o dokumente" },
+ {T_FRAME_AT_FULL_SCREEN, "R\341m na cel\372 obrazovku" },
+ {T_SAVE_HTML_OPTIONS, "Ulo\276i\273 nastavenia HTML" },
+ {T_CHARACTER_SET, "Znakov\341 sada" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "Mail a telnet" },
+ {T_MAIL_TELNET_AND_SHELL, "Mail, telnet a shell" },
+ {T_ASSOCIATIONS, "Priradenia" },
+ {T_FILE_EXTENSIONS, "Pr\355pony s\372borov" },
+ {T_SAVE_OPTIONS, "Ulo\276i\273 nastavenia" },
+ {T_FILE, "S\372bor" },
+ {T_VIEW, "Zobrazenie" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "S\273ahovanie" },
+ {T_SETUP, "Nastavenia" },
+ {T_HELP, "Pomoc" },
+ {T_ENTER_URL, "Zadaj URL" },
+ {T_SAVE_URL, "Ulo\276i\273 URL" },
+ {T_DOWNLOAD, "S\273ahovanie" },
+ {T_SAVE_TO_FILE, "Ulo\276i\273 do s\372borov" },
+ {T_SEARCH_FOR_TEXT, "Vzorka" },
+ {T_PAGE_P, "(str. " },
+ {T_PAGE_OF, " z " },
+ {T_PAGE_CL, ")" },
+ {T_WAITING_IN_QUEUE, "\310ak\341 vo fronte" },
+ {T_LOOKING_UP_HOST, "H\265ad\341m server" },
+ {T_MAKING_CONNECTION, "Nav\344zujem spojenie" },
+ {T_SOCKS_NEGOTIATION, "Nav\344zujem Socks spojenie" },
+ {T_SSL_NEGOTIATION, "Vyjedn\341vam SSL" },
+ {T_REQUEST_SENT, "Posielam po\276iadavku" },
+ {T_GETTING_HEADERS, "S\273ahujem hlavi\350ku" },
+ {T_LOGGING_IN, "Prihlasujem sa" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Server spracov\341va \276iados\273" },
+ {T_TRANSFERRING, "Pren\341\271am" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "\310ak\341m na potvrdenie presmerovania" },
+ {T_INTERRUPTED, "Preru\271en\351" },
+ {T_SOCKET_EXCEPTION, "Chyba v sockete" },
+ {T_INTERNAL_ERROR, "Vn\372torn\341 chyba" },
+ {T_OUT_OF_MEMORY, "Nedostatok pam\344te " },
+ {T_HOST_NOT_FOUND, "Nena\271iel som server" },
+ {T_ERROR_WRITING_TO_SOCKET, "Chyba pri zapisovan\355 do socketu" },
+ {T_ERROR_READING_FROM_SOCKET, "Chyba pri \350\355tan\355 zo socketu" },
+ {T_DATA_MODIFIED, "D\341ta boli zmenen\351" },
+ {T_BAD_URL_SYNTAX, "Chybn\351 URL" },
+ {T_RECEIVE_TIMEOUT, "\310as vypr\271al" },
+ {T_REQUEST_MUST_BE_RESTARTED, "Po\276iadavka sa mus\355 posla\273 znovu" },
+ {T_CANT_GET_SOCKET_STATE, "Nem\364\276em zisti\273 stav socketu" },
+ {T_CYCLIC_REDIRECT, "Cyklick\375 redirekt" },
+ {T_TOO_LARGE_FILE, "Pr\355li\271 ve\265k\375 s\372bor" },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Chybn\341 odpove\357 HTTP (mo\276no chybn\375 server)" },
+ {T_HTTP_100, "HTTP 100 (?)" },
+ {T_NO_CONTENT, "Bez obsahu" },
+ {T_UNKNOWN_FILE_TYPE, "Nezn\341my typ s\372boru" },
+ {T_ERROR_OPENING_FILE, "Chyba pri otv\341ran\355 s\372boru" },
+ {T_BAD_FTP_RESPONSE, "Chybn\341 odpove\357 FTP" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP nie je pr\355stupn\351" },
+ {T_BAD_FTP_LOGIN, "Chybn\375 login na FTP" },
+ {T_FTP_PORT_COMMAND_FAILED, "Zlyhal FTP PORT pr\355kaz (nem\341\271 firewall?)" },
+ {T_FILE_NOT_FOUND, "S\372bor nen\341jden\375" },
+ {T_FTP_FILE_ERROR, "FTP chyba s\372boru" },
+ {T_UNKNOWN_ERROR, "Nezn\341ma chyba" },
+ {T_RECEIVED, "Prijat\351" },
+ {T_OF, "z" },
+ {T_AVG, "priemerne" },
+ {T_CUR, "moment\341lne" },
+ {T_AVERAGE_SPEED, "Priemern\341 r\375chlos\273" },
+ {T_SPEED, "R\375chlos\273" },
+ {T_CURRENT_SPEED, "moment\341lna r\375chlos\273" },
+ {T_ELAPSED_TIME, "Uplynul\375 \350as" },
+ {T_ESTIMATED_TIME, "predpokladan\375 \350as" },
+ {T_BACKGROUND, "Na pozadie" },
+ {T_ABORT, "Ukon\350i\273" },
+ {T_ABORT_AND_DELETE_FILE, "Ukon\350i\273 a zmaza\273 s\372bor" },
+ {T_YES, "\301no" },
+ {T_NO, "Nie" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Chyba pri s\273ahovan\355 s\372boru" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Nem\364\276em zapisova\273 do s\372boru" },
+ {T_ERROR_DOWNLOADING, "Chyba pri s\273ahovan\355" },
+ {T_ERROR_LOADING, "Chyba pri na\350\355tan\355" },
+ {T_COULD_NOT_CREATE_FILE, "Nem\364\276em vytvori\273 s\372bor" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Nezn\341my typ" },
+ {T_CONTENT_TYPE_IS, "Typ obsahu je" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Otvori\273, ulo\276i\273 alebo zobrazi\273 s\372bor?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Otvori\273 alebo zobrazi\273 s\372bor?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Ulo\276i\273 alebo zobrazi\273 s\372bor?" },
+ {T_SAVE, "Ulo\276i\273" },
+ {T_DISPLAY, "Zobrazi\273" },
+ {T_WHAT_TO_DO, "\310o m\341m robi\273?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Otvori\273 s\372bor pomocou" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "ulo\276i\273 alebo zobrazi\273?" },
+ {T_OPEN, "Otvori\273" },
+ {T_OPEN_WITH, "Otvori\273 pomocou" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Nasledova\273 presmerovanie a posla\273 d\341ta na adresu" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Posla\273 d\341ta z formul\341ra na adresu" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Posla\273 d\341ta z formul\341ra znova na adresu" },
+ {T_WARNING, "Upozornenie" },
+ {T_ERROR, "Chyba" },
+ {T_WELCOME, "Vitaj priate\265ko!" },
+ {T_WELCOME_TO_LINKS, "Vitaj v Linkse!" },
+ {T_BASIC_HELP, "Stla\350 ESC pre menu. Ak chce\271 vidie\273 manu\341l, zvo\265 v menu Pomoc->Manu\341l." },
+ {T_LABEL, "Popis" },
+ {T_CONTENT_TYPES, "Typ(y) obsahu" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' je nahraden\351 menom s\372boru)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Zablokuj termin\341l, po\350as behu programu" },
+ {T_RUN_ON_TERMINAL, "Spusti\273 v termin\341li" },
+ {T_RUN_IN_XWINDOW, "Spusti\273 v X-Windows okne" },
+ {T_ASK_BEFORE_OPENING, "Op\375ta\273 sa pred otvoren\355m" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Zmaza\273 priradenie" },
+ {T_ASSOCIATION, "priradenie" },
+ {T_EXTENSION_S, "Pr\355pona(y)" },
+ {T_CONTENT_TYPE, "Typ obsahu" },
+ {T_DELETE_EXTENSION, "Zmaza\273 pr\355ponu" },
+ {T_EXTENSION, "Pr\355pona" },
+ {T_eXTENSION, "pr\355ponu" },
+ {T_ERROR_WHILE_POSTING_FORM, "Chyba pri odosielan\355 formul\341ra" },
+ {T_COULD_NOT_GET_FILE, "Nem\364\276em z\355ska\273 s\372bor" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "\256iadne predch\341dzaj\372ce h\265adania" },
+ {T_SEARCH_STRING_NOT_FOUND, "Re\273azec nen\341jden\375" },
+ {T_SAVE_ERROR, "Chyba pri ukladan\355" },
+ {T_ERROR_WRITING_TO_FILE, "Chyba pri z\341pisovan\355 do s\372boru" },
+ {T_DISPLAY_USEMAP, "Zobrazi\273 mapu" },
+ {T_FOLLOW_LINK, "Otvori\273 odkaz" },
+ {T_OPEN_IN_NEW_WINDOW, "Otvori\273 v novom okne" },
+ {T_DOWNLOAD_LINK, "Stiahnu\273 odkaz" },
+ {T_RESET_FORM, "Vy\350isti\273 formul\341r" },
+ {T_SUBMIT_FORM, "Odosla\273 formul\341r" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Odosla\273 formul\341r a otvori\273 v novom okne" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Odosla\273 formul\341r a stiahnu\273" },
+ {T_VIEW_IMAGE, "Zobrazi\273 obr\341zok" },
+ {T_DOWNLOAD_IMAGE, "Stiahnu\273 obr\341zok" },
+ {T_NO_LINK_SELECTED, "\256iadny link" },
+ {T_IMAGE, "Obr\341zok" },
+ {T_USEMAP, "Mapa obr\341zkov" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Obrazovka" },
+ {T_WINDOW, "Okno" },
+ {T_FULL_SCREEN, "Cel\341 obrazovka" },
+ {T_BEOS_TERMINAL, "BeOS termin\341l" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Odosla\273 formul\341r na" },
+ {T_POST_FORM_TO, "Po\271li formul\341r na" },
+ {T_RADIO_BUTTON, "R\341diov\375 gomb\355k" },
+ {T_CHECKBOX, "Za\271krt\341vacie pole" },
+ {T_SELECT_FIELD, "V\375berov\351 pole" },
+ {T_TEXT_FIELD, "Textov\351 pole" },
+ {T_TEXT_AREA, "Textov\341 plocha" },
+ {T_FILE_UPLOAD, "Upload s\372boru" },
+ {T_PASSWORD_FIELD, "Pol\355\350ko s heslom" },
+ {T_BUTTON, "Tla\350idlo" },
+ {T_NAME, "meno" },
+ {T_VALUE, "hodnota" },
+ {T_HIT_ENTER_TO, "stla\350 ENTER pre" },
+ {T_SUBMIT_TO, "bolo odoslan\351 na" },
+ {T_POST_TO, "bolo poslan\351 na" },
+ {T_INFO, "Inform\341cie" },
+ {T_HEADER_INFO, "Inform\341cie o hlavi\350ke" },
+ {T_YOU_ARE_NOWHERE, "Nem\341\271 zobrazen\372 \276iadnu str\341nku" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Ve\265kos\273" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "ne\372pln\375" },
+ {T_CODEPAGE, "Znakov\341 sada" },
+ {T_ASSUMED, "predpoklad\341m" },
+ {T_IGNORING_SERVER_SETTING, "ignoruj inform\341cie zo serveru" },
+ {T_SERVER, "Server" },
+ {T_DATE, "D\341tum" },
+ {T_LAST_MODIFIED, "Posledn\341 zmena" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Jazyk" },
+ {T_GO_TO_LINK, "Cho\357 na odkaz" },
+ {T_ENTER_LINK_NUMBER, "Zadaj \350\355slo linky" },
+ {T_RESIZE_TERMINAL, "Zme\362 ve\265kos\273 termin\341lu" },
+ {T_COLUMNS, "St\345pce" },
+ {T_ROWS, "Riadky" },
+ {T_GOTO, "Cho\357 na" },
+ {T_CLOSE, "Zatvori\273" },
+ {T_FOLDER, "Adres\341r" },
+ {T_fOLDER, "adres\341r" },
+ {T_ADD, "Prida\273" },
+ {T_DELETE, "Zmaza\273" },
+ {T_EDIT, "Upravi\273" },
+ {T_MOVE, "Presun\372\273" },
+ {T_NO_ITEMS_SELECTED, "\256iadny prvok nebol ozna\350en\375" },
+ {T_UNSELECT_ALL, "Odzna\350i\273" },
+ {T_BOOKMARKS,"Z\341lo\276ky" },
+ {T_BOOKMARK, "z\341lo\276ku" },
+ {T_ADD_BOOKMARK, "Prida\273 z\341lo\276ku" },
+ {T_ADD_ASSOCIATION, "Prida\273 priradenie" },
+ {T_ADD_EXTENSION, "Prida\273 pr\355ponu" },
+ {T_ADD_FOLDER, "Prida\273 adres\341r" },
+ {T_BOOKMARK_TITLE, "N\341zov z\341lo\276ky" },
+ {T_EDIT_BOOKMARK, "Upravi\273 z\341lo\276ku" },
+ {T_EDIT_ASSOCIATION, "Upravi\273 priradenie" },
+ {T_EDIT_EXTENSION, "Upravi\273 pr\355ponu" },
+ {T_DELETE_BOOKMARK, "Zma\276a\273 z\341lo\276ku" },
+ {T_EDIT_FOLDER, "Upravi\273 adres\341r" },
+ {T_DELETE_FOLDER, "Zmaza\273 adres\341r" },
+ {T_NOT_EMPTY_SURE_DELETE, "nie je pr\341zdny. Naozaj vymaza\273?" },
+ {T_BOOKMARK_MANAGER, "Spr\341vca z\341lo\276iek" },
+ {T_ASSOCIATIONS_MANAGER, "Spr\341vca priraden\355" },
+ {T_EXTENSIONS_MANAGER, "Mana\276\351r pr\355pon" },
+ {T_url, "URL" },
+ {T_NNAME, "N\341zov" },
+ {T_EXIT_LINKS, "Ukon\350i\273 Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, "Zatvori\273 okno?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Ukon\350i\273 Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Ukon\350i\273 Links a preru\271i\273 prebiehaj\372ce s\273ahovanie?" },
+ {T_HTTP_OPTIONS, "Nastavenia HTTP" },
+ {T_FTP_OPTIONS, "Nastavenia FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "Obch\341dzanie ch\375b v HTTP" },
+ {T_USE_HTTP_10, "Pou\276\355vaj iba HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Povoli\273 zoznam chybn\375ch serverov" },
+ {T_BROKEN_302_REDIRECT, "Nespr\341vny 302 redirekt (poru\271uje RFC, ale je kompatibiln\355 s Netscapom)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Nedr\276 'keepalive' spojenie po POST po\276iadavke (niektor\351 zabugovan\351 PHPcka to potrebuj\372)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "\256iadny referer" },
+ {T_REFERER_SAME_URL, "Referer rovnak\375 ako URL" },
+ {T_REFERER_FAKE, "Fixn\375 referer" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "Pravdiv\375 referer (nie je to bezpe\350n\351)" },
+ {T_FAKE_REFERER, "Fixn\375 referer" },
+ {T_FAKE_USERAGENT, "Hl\341si\273 prehliada\350" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "emailov\341 adresa pre anonymn\375 FTP pr\355stup" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Manu\341l" },
+ {T_HOMEPAGE, "Domovsk\341 str\341nka" },
+ {T_CALIBRATION, "Kalibr\341cia" },
+ {T_MAILTO_PROG, "Program pre mail (% je nahradene adresou)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Program pre telnet (% je nahradene menom stroje a pr\355padne portom)" },
+ {T_MAGNET_PROG, "Program pre magnet (% je nahradene URL)" },
+ {T_TN3270_PROG, "Program pre tn3270 (% je je nahradene menom stroje a pr\355padne portom)" },
+ {T_MMS_PROG, "Program pre mms (% je nahradene URL)", },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Programy pre mail a telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Programy pre mail a telnet a shell" },
+ {T_NO_PROGRAM, "\256iadny program" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Nie je nastaven\375 \276iadny program pre" },
+ {T_MAIL, "mail" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, "magnet" },
+ {T_TN3270, "tn3270" },
+ {T_MMS, "mms" },
+ {T_BAD_MAILTO_URL, "Chybn\351 mailov\351 URL" },
+ {T_BAD_TELNET_URL, " Chybn\351 termin\341love URL (telnet)" },
+ {T_BAD_TN3270_URL, " Chybn\351 termin\341love URL (tn3270)" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "U\276\355vate\265sk\351 meno" },
+ {T_PASSWORD, "Heslo" },
+ {T_ENTER_USERNAME, "Zadaj login " },
+ {T_AT, "na adrese " },
+ {T_SSL_ERROR, "Chyba SSL" },
+ {T_NO_SSL, "T\341to verzia Linksu nepodporuje SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "Naozaj zmaza\273" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "T\341to z\341lo\276ka u\276 existuje" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Priradenia s\372 u\276 otvoren\351 v inom okne" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "T\341to pr\355pona u\276 existuje" },
+ {T_VIDEO_OPTIONS, "Nastavenia grafiky" },
+ {T_VIDEO_OPTIONS_TEXT, "Doporu\350en\351 nastavenie u\276\355vate\265skej gammy: 1.33 v tmavej komore, 1.11 v temnej miestnosti, 1.00 pri be\276nom osvetlen\355, 0.88 v miestnosti so siln\375m osvetlen\355m" },
+ {T_RED_DISPLAY_GAMMA, "Gamma: \350erven\341" },
+ {T_GREEN_DISPLAY_GAMMA, "zelen\341" },
+ {T_BLUE_DISPLAY_GAMMA, "modr\341" },
+ {T_USER_GAMMA, "u\276\355vate\265sk\341" },
+ {T_ALERT, "Poplach" },
+ {T_QUESTION, "Ot\341zka" },
+ {T_KILL_SCRIPT, "Ukon\350i\273 skript" },
+ {T_KILL_ALL_SCRIPTS, "Ukon\350i\273 v\271etky skripty" },
+ {T_SCRIPT_KILLED_BY_USER, "Skript bol ukon\350en\375 u\276ivate\265om" },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Skript chce zavrie\273 okno" },
+ {T_ENTER_STRING, "Zadaj text" },
+ {T_JAVASCRIPT_OPTIONS, "Nastavenia JavaScriptu" },
+ {T_ENABLE_JAVASCRIPT, "Povoli\273 JavaScript" },
+ {T_VERBOSE_JS_ERRORS, "Upozor\362ova\273 na chyby JavaScriptu" },
+ {T_VERBOSE_JS_WARNINGS, "Upozor\362ova\273 na varovania JavaScriptu" },
+ {T_MISCELANEOUS_OPTIONS, "In\351 nastavenia" },
+ {T_JAVASCRIPT_ERROR, "Chyba JavaScriptu" },
+ {T_JAVASCRIPT_WARNING, "Varovanie JavaScriptu" },
+ {T_DISMISS, "Odmietnu\273" },
+ {T_MENU_FONT_SIZE, "Ve\265kos\273 p\355sma v menu" },
+ {T_USER_FONT_SIZE, "U\276\355vate\265sk\341 ve\265kos\273 fontov" },
+ {T_TURN_OFF_WARNINGS, "Vypn\372\273 hl\341senie varovan\355" },
+ {T_BOOKMARKS_ENCODING, "Znakov\341 sada z\341lo\276iek" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Script chce \355s\273 na URL" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Script chce otvori\273 nov\351 okno s URL" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Script chce pristupova\273 k hist\363rii" },
+ {T_TO_URL, "na URL" },
+ {T_GOTO_HISTORY, "Hist\363ria" },
+ {T_ALLOW, "Povoli\273" },
+ {T_REJECT, "Odmietnu\273" },
+ {T_ENABLE_ALL_CONVERSIONS, "Povoli\273 v\271etky konverzie" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Povoli\273 glob\341lne vyh\265ad\341vanie mien" },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, "H\345bka rekurzie JavaScriptu" },
+ {T_MENU_BACKGROUND_COLOR, "Farba pozadia menu" },
+ {T_MENU_FOREGROUND_COLOR, "Farba popredia menu" },
+ {T_SCROLL_BAR_BAR_COLOR, "Farba posuvn\355ka scrollovacej li\271ty" },
+ {T_SCROLL_BAR_AREA_COLOR, "Farba scrollovacej li\271ty" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Farba ramceka scrollovacej li\271ty" },
+ {T_BOOKMARKS_FILE, "S\372bor z\341lo\276iek" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Farby zad\341vajte vo form\341te sRGB (0-255 hexadecim\341lne v RRGGBB pre ka\276d\372 farbu)" },
+ {T_JS_MEMORY_LIMIT_KB, "Pam\344\273 vyhraden\341 pre Script (KiB)" },
+ {T_DITHER_LETTERS, "Pou\276i\273 dithering na p\355smena" },
+ {T_DITHER_IMAGES, "Pou\276i\273 dithering na obr\341zky" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "Zv\344\350\271enie obr\341zkov (%)" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, "Optimalizova\273 pre monitor" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optimalizova\273 pre LCD (RGB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optimalizova\273 pre LCD (BGR)" },
+ {T_ASPECT_RATIO, "Pomer str\341n" },
+ {T_ASPECT_CORRECTION_ON, "Zapn\372\273 korekciu pomeru str\341n" },
+ {T_KEYBOARD_CODEPAGE, "K\363dov\341 str\341nka kl\341vesnice" },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "O" },
+ {T_HK_GO_BACK, "S" },
+ {T_HK_GO_FORWARD, "D" },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "B" },
+ {T_HK_BOOKMARKS, "Y" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "A" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, "C" },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, "P" },
+ {T_HK_FLUSH_ALL_CACHES, "V" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "L" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "E" },
+ {T_HK_SEARCH, "H" },
+ {T_HK_SEARCH_BACK, "Z" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "L" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, "E" },
+ {T_HK_FRAME_AT_FULL_SCREEN, "R" },
+ {T_HK_HTML_OPTIONS, "T" },
+ {T_HK_COLOR, "F" },
+ {T_HK_SAVE_HTML_OPTIONS, "U" },
+ {T_HK_LANGUAGE, "J" },
+ {T_HK_CHARACTER_SET, "Z" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, "V" },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, "J" },
+ {T_HK_MISCELANEOUS_OPTIONS, "I" },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "P" },
+ {T_HK_BLOCK_LIST, "B" },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "O" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "P" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, "D" },
+ {T_HK_CALIBRATION, "L" },
+ {T_HK_FILE, "S" },
+ {T_HK_VIEW, "Z" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "N" },
+ {T_HK_HELP, "P" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "O" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "N" },
+ {T_HK_DOWNLOAD_LINK, "S" },
+ {T_HK_RESET_FORM, "V" },
+ {T_HK_SUBMIT_FORM, "P" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "N" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "S" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "O" },
+ {T_HK_COPY_LINK_LOCATION, "C" },
+ {T_HK_BLOCK_URL, "B" },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "O" },
+ {T_HK_FULL_SCREEN, "C" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_spanish [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-1" },
+ {T__LANGUAGE, "Spanish" },
+ {T__ACCEPT_LANGUAGE, "es" },
+ {T_OK, "Aceptar" },
+ {T_CANCEL, "Cancelar" },
+ {T_BAD_NUMBER, "N\372mero no v\341lido" },
+ {T_NUMBER_EXPECTED, "Se espera n\372mero en campo" },
+ {T_NUMBER_OUT_OF_RANGE, "N\372mero fuera de rango" },
+ {T_BAD_STRING, "Cadena no v\341lida" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "No se permite cadena vac\355a" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Error de configuraci\363n" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Imposible escribir en fichero de configuraci\363n" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Acerca de" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nNavegador en modo texto similar a Lynx" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Teclas" },
+ {T_KEYS_DESC, "ESC Mostrar men\372\n^C, q Quitar\n^P, ^N Deslizar arriba, abajo\n[, ] Deslizar izquierda, derecha\narriba, abajo Seleccionar enlace\n-> Seguir enlace\n<- Volver atr\341s\ng Ir a URL\nG Ir a URL seg\372n URL actual\n/ Buscar\n? Buscar atr\341s\nn Buscar siguiente\nN Buscar anterior\n= Informaci\363n del documento\n\\ C\363digo fuente del documento\nd Descargar" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Licencia" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nEste programa es software libre; puede redistribuirlo o modificarlo bajo los t\351rminos de la GNU General Public License como ha sido publicada por la Free Software Foundation; tambi\351n bajo la versi\363n 2 de la licencia, o (a su elecci\363n) cualquier otra versi\363n posterior." },
+ {T_RESOURCES, "Recursos" },
+ {T_CONNECTIONS, "Conexiones" },
+ {T_MEMORY_CACHE, "Cache en memoria" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "Cache de documentos con formato" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "Asas" },
+ {T_TIMERS, "temporizadores" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "conectando" },
+ {T_tRANSFERRING, "transfiriendo" },
+ {T_KEEPALIVE, "Mantener viva" },
+ {T_BYTES, "bytes" },
+ {T_LETTERS, NULL },
+ {T_FILES, "Ficheros" },
+ {T_LOCKED, "bloqueado" },
+ {T_LOADING, "cargando" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "documentos" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "bytes de memoria reservados" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Informaci\363n de memoria" },
+ {T_NO_HISTORY, "Sin historial" },
+ {T_NO_DOWNLOADS, "Sin descargas" },
+ {T_NO_FRAMES, "Sin recuadros" },
+ {T_VT_100_FRAMES, "Recuadros VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "Recuadros OS/2 o Linux" },
+ {T_KOI8R_FRAMES, "Recuadros KOI8-R" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Usar ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Restringir recuadros a los de cp850/852" },
+ {T_BLOCK_CURSOR, "Cursor de bloque" },
+ {T_COLOR, "Color" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Opciones de terminal" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "Proxy HTTP (m\341quina:puerto)" },
+ {T_FTP_PROXY__HOST_PORT, "Proxy FTP (m\341quina:puerto)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Lista (separada por comas) de dominios para los que no se usa proxy" },
+ {T_NETWORK_OPTIONS, "Opciones de red" },
+ {T_MAX_CONNECTIONS, "M\341ximo de conexiones" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "M\341ximo de conexiones a una m\341quina" },
+ {T_RETRIES, "Reintentos" },
+ {T_RECEIVE_TIMEOUT_SEC, "Plazo para recepci\363n (seg)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Plazo si no es rearrancable" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "B\372squeda DNS as\355ncrona" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Poner hora en ficheros descargados" },
+ {T_CACHE_OPTIONS, "Opciones de cache" },
+ {T_MEMORY_CACHE_SIZE__KB, "Tama\361o de la memoria cache (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "N\372mero de documentos formateados" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "Opciones HTML" },
+ {T_DISPLAY_TABLES, "Mostrar tablas" },
+ {T_DISPLAY_FRAMES, "Mostrar marcos" },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Mostrar enlaces a im\341genes" },
+ {T_LINK_ORDER_BY_COLUMNS, "Mover por columnas en tabla" },
+ {T_NUMBERED_LINKS, "Enlaces numerados" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Margen del texto" },
+ {T_DEFAULT_CODEPAGE, "P\341gina de c\363digos por omisi\363n" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "No respetar el juego de car\341cteres enviado por el servidor" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Ir a URL" },
+ {T_GO_BACK, "Ir atr\341s" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Historial" },
+ {T_RELOAD, "Recargar" },
+ {T_NEW_WINDOW, "Nueva ventana" },
+ {T_SAVE_AS, "Guardar como" },
+ {T_SAVE_URL_AS, "Guardar URL como" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Guardar documento con formato" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Matar conexiones en segundo plano" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "Vaciar todas las caches" },
+ {T_RESOURCE_INFO, "Informaci\363n de recursos" },
+ {T_OS_SHELL, "Shell del SO" },
+ {T_EXIT, "Salir" },
+ {T_SEARCH, "Buscar" },
+ {T_SEARCH_BACK, "Buscar atr\341s" },
+ {T_FIND_NEXT, "Buscar siguiente" },
+ {T_FIND_PREVIOUS, "Buscar anterior" },
+ {T_TOGGLE_HTML_PLAIN, "Cambiar HTML/texto ASCII" },
+ {T_DOCUMENT_INFO, "Informaci\363n del documento" },
+ {T_FRAME_AT_FULL_SCREEN, "Marco en pantalla completa" },
+ {T_SAVE_HTML_OPTIONS, "Guardar opciones HTML" },
+ {T_CHARACTER_SET, "Juego de caracteres" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "Correo y telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Asociaciones" },
+ {T_FILE_EXTENSIONS, "Extensiones de fichero" },
+ {T_SAVE_OPTIONS, "Guardar opciones" },
+ {T_FILE, "Fichero" },
+ {T_VIEW, "Ver" },
+ {T_LINK, "Enlace" },
+ {T_DOWNLOADS, "Descargas" },
+ {T_SETUP, "Configuraci\363n" },
+ {T_HELP, "Ayuda" },
+ {T_ENTER_URL, "Introduce URL" },
+ {T_SAVE_URL, "Guardar URL" },
+ {T_DOWNLOAD, "Descargar" },
+ {T_SAVE_TO_FILE, "Guardar en fichero" },
+ {T_SEARCH_FOR_TEXT, "Buscar texto" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "Esperando en cola" },
+ {T_LOOKING_UP_HOST, "Buscando m\341quina" },
+ {T_MAKING_CONNECTION, "Realizando conexi\363n" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, NULL },
+ {T_REQUEST_SENT, "Petici\363n enviada" },
+ {T_GETTING_HEADERS, "Recibiendo cabeceras" },
+ {T_LOGGING_IN, NULL },
+ {T_SERVER_IS_PROCESSING_REQUEST, "El servidor est\341 procesando la petici\363n" },
+ {T_TRANSFERRING, "Transfiriendo" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Esperando confirmaci\363n para la redirecci\363n" },
+ {T_INTERRUPTED, "Interrumpido" },
+ {T_SOCKET_EXCEPTION, "Excepci\363n de socket" },
+ {T_INTERNAL_ERROR, "Error interno" },
+ {T_OUT_OF_MEMORY, "No queda memoria libre" },
+ {T_HOST_NOT_FOUND, "M\341quina no encontrada" },
+ {T_ERROR_WRITING_TO_SOCKET, "Error escribiendo en socket" },
+ {T_ERROR_READING_FROM_SOCKET, "Error leyendo del socket" },
+ {T_DATA_MODIFIED, "Datos modificados" },
+ {T_BAD_URL_SYNTAX, "Sintaxis de URL incorrecta" },
+ {T_RECEIVE_TIMEOUT, "Plazo de recepci\363n sobrepasado" },
+ {T_REQUEST_MUST_BE_RESTARTED, "La petici\363n debe ser recomenzada" },
+ {T_CANT_GET_SOCKET_STATE, "No puedo saber el estado del socket" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Respuesta HTTP incorrecta" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Sin contenido" },
+ {T_UNKNOWN_FILE_TYPE, "Tipo de fichero desconocido" },
+ {T_ERROR_OPENING_FILE, "Error abriendo fichero" },
+ {T_BAD_FTP_RESPONSE, "Respuesta FTP incorrecta" },
+ {T_FTP_SERVICE_UNAVAILABLE, "Servicio FTP no disponible" },
+ {T_BAD_FTP_LOGIN, "Login FTP incorrecto" },
+ {T_FTP_PORT_COMMAND_FAILED, "Ha fallado mandato del puerto FTP" },
+ {T_FILE_NOT_FOUND, "Fichero no encontrado" },
+ {T_FTP_FILE_ERROR, "Error FTP de fichero" },
+ {T_UNKNOWN_ERROR, "Error desconocido" },
+ {T_RECEIVED, "Recibidos" },
+ {T_OF, "de" },
+ {T_AVG, "media" },
+ {T_CUR, "actual" },
+ {T_AVERAGE_SPEED, "Velocidad media" },
+ {T_SPEED, "Velocidad" },
+ {T_CURRENT_SPEED, "velocidad actual" },
+ {T_ELAPSED_TIME, "Tiempo transcurrido" },
+ {T_ESTIMATED_TIME, "tiempo estimado" },
+ {T_BACKGROUND, "2\272 plano" },
+ {T_ABORT, "Cancelar" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "S\355" },
+ {T_NO, "No" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Error de descarga" },
+ {T_COULD_NOT_WRITE_TO_FILE, "No puedo escribir en fichero" },
+ {T_ERROR_DOWNLOADING, "Error de descarga" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "No puedo crear fichero" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Tipo desconocido" },
+ {T_CONTENT_TYPE_IS, "El tipo de contenido es" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "\277Quiere guardar o ver este fichero?" },
+ {T_SAVE, "Guardar" },
+ {T_DISPLAY, "Ver" },
+ {T_WHAT_TO_DO, "\277Qu\351 hago?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "\277Quiere abrir este fichero con" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "\277Guardar o verlo?" },
+ {T_OPEN, "Abrir" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "\277Quiere seguir la redirecci\363n y enviar los datos del formulario a la URL" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "\277Quiere enviar los datos del formulario a la URL" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "\277Quiere reenviar los datos del formulario a la URL" },
+ {T_WARNING, "Atenci\363n" },
+ {T_ERROR, "Error" },
+ {T_WELCOME, "Bienvenido" },
+ {T_WELCOME_TO_LINKS, "\241Bienvenido a links!" },
+ {T_BASIC_HELP, "Pulse ESC para men\372. Seleccione Ayuda->Manual en el men\372 para el manual de usuario." },
+ {T_LABEL, "Etiqueta" },
+ {T_CONTENT_TYPES, "Tipos de contenido" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programa ('%' es reemplazado por el nombre del fichero)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Bloquear terminal mientras el programa se ejecuta" },
+ {T_RUN_ON_TERMINAL, "Ejecutar en terminal" },
+ {T_RUN_IN_XWINDOW, "Ejecutar en X-Window" },
+ {T_ASK_BEFORE_OPENING, "Preguntar antes de abrir" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Eliminar asociaci\363n" },
+ {T_ASSOCIATION, "Asociaci\363n" },
+ {T_EXTENSION_S, "Extensiones" },
+ {T_CONTENT_TYPE, "Tipo de contenido" },
+ {T_DELETE_EXTENSION, "Eliminar extensi\363n" },
+ {T_EXTENSION, "Extensi\363n" },
+ {T_eXTENSION, "extensi\363n" },
+ {T_ERROR_WHILE_POSTING_FORM, "Error durante env\355o del formulario" },
+ {T_COULD_NOT_GET_FILE, "No puedo conseguir el fichero" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "No hay busqueda anterior" },
+ {T_SEARCH_STRING_NOT_FOUND, "Cadena no encontrada" },
+ {T_SAVE_ERROR, "Error al guardar" },
+ {T_ERROR_WRITING_TO_FILE, "Error escribiendo en fichero" },
+ {T_DISPLAY_USEMAP, "Mostrar Usemap" },
+ {T_FOLLOW_LINK, "Seguir enlace" },
+ {T_OPEN_IN_NEW_WINDOW, "Abrir en nueva ventana" },
+ {T_DOWNLOAD_LINK, "Descargar enlace" },
+ {T_RESET_FORM, "Limpiar formulario" },
+ {T_SUBMIT_FORM, "Enviar formulario" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Enviar formulario y abrir en nueva ventana" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Enviar formulario y descargar" },
+ {T_VIEW_IMAGE, "Ver imagen" },
+ {T_DOWNLOAD_IMAGE, "Descargar imagen" },
+ {T_NO_LINK_SELECTED, "No hay enlace seleccionado" },
+ {T_IMAGE, "Imagen" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, NULL },
+ {T_SCREEN, "Pantalla" },
+ {T_WINDOW, "Ventana" },
+ {T_FULL_SCREEN, "Pantalla completa" },
+ {T_BEOS_TERMINAL, "terminal BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Enviar formulario a" },
+ {T_POST_FORM_TO, "Enviar (Post) formulario a" },
+ {T_RADIO_BUTTON, "Bot\363n exclusivo" },
+ {T_CHECKBOX, "Bot\363n de selecci\363n" },
+ {T_SELECT_FIELD, "Campo de selecci\363n" },
+ {T_TEXT_FIELD, "Campo de texto" },
+ {T_TEXT_AREA, "Cuadro de texto" },
+ {T_FILE_UPLOAD, "Enviar fichero" },
+ {T_PASSWORD_FIELD, "Campo de contrase\361a" },
+ {T_BUTTON, NULL },
+ {T_NAME, "nombre" },
+ {T_VALUE, "valor" },
+ {T_HIT_ENTER_TO, "Pulse ENTRAR para" },
+ {T_SUBMIT_TO, "enviar a" },
+ {T_POST_TO, "enviar (Post) a" },
+ {T_INFO, "Informaci\363n" },
+ {T_HEADER_INFO, "Informaci\363n de cabecera" },
+ {T_YOU_ARE_NOWHERE, "\241Usted no est\341 en ninguna parte!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Tama\361o" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "incompleto" },
+ {T_CODEPAGE, "P\341gina de c\363digos" },
+ {T_ASSUMED, "asumido" },
+ {T_IGNORING_SERVER_SETTING, "ignorando configuraci\363n del servidor" },
+ {T_SERVER, "Servidor" },
+ {T_DATE, "Fecha" },
+ {T_LAST_MODIFIED, "Ultima modificaci\363n" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Idioma" },
+ {T_GO_TO_LINK, "Ir a enlace" },
+ {T_ENTER_LINK_NUMBER, "Introduce n\272 de enlace" },
+ {T_RESIZE_TERMINAL, "Redimensionar terminal" },
+ {T_COLUMNS, "Columnas" },
+ {T_ROWS, "Filas" },
+ {T_GOTO, "Ir a" },
+ {T_CLOSE, "Cerrar" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "A\361adir" },
+ {T_DELETE, "Borrar" },
+ {T_EDIT, "Editar" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "Marcadores" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "A\361adir marcador" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, "T\355tulo del marcador" },
+ {T_EDIT_BOOKMARK, "Editar marcador" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "Eliminar marcador" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "Gestor de marcadores" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, "URL" },
+ {T_NNAME, "Nombre" },
+ {T_EXIT_LINKS, "Salir de Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "\277Seguro que quiere salir de Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "\277Seguro que quiere salir de Links (y cortar todas las descargas)?" },
+ {T_HTTP_OPTIONS, "Opciones HTTP" },
+ {T_FTP_OPTIONS, "Opciones FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "Rodeo para errores en HTTP" },
+ {T_USE_HTTP_10, "Usar HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Permitir lista negra de servidores con errores" },
+ {T_BROKEN_302_REDIRECT, "Redirecci\363n 302 incorrecta (no respeta el RFC, pero es compatible con Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "No mantener viva la conexi\363n despu\351s de petici\363n POST (algunas bases de datos PHP incorrectas lo necesitan)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Contrase\361a para login an\363nimo" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Manual de usuario" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, "Programa de correo (% es reemplazado por la direcci\363n)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Programa de Telnet (% es reemplazado por \"m\341quina\" o \"m\341quina puerto\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Programa Tn3270(% es reemplazado con \"m\341quina\" o \"m\341quina puerto\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Programas de Correo y Telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Sin programa" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Sin programa especificado para" },
+ {T_MAIL, "correo" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "URL mailto incorrecta" },
+ {T_BAD_TELNET_URL, "URL telnet incorrecta" },
+ {T_BAD_TN3270_URL, "URL tn3270 incorrecta" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "Identificador de usuario" },
+ {T_PASSWORD, "Clave de acceso" },
+ {T_ENTER_USERNAME, "Escriba su identificador de usuario para " },
+ {T_AT, "en " },
+ {T_SSL_ERROR, "Error de SSL" },
+ {T_NO_SSL, "Esta versi\363n de Links no est\341 preparada para SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "I" },
+ {T_HK_GO_BACK, "T" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "C" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "G" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "X" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "V" },
+ {T_HK_RESOURCE_INFO, "F" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "S" },
+ {T_HK_SEARCH, "B" },
+ {T_HK_SEARCH_BACK, "A" },
+ {T_HK_FIND_NEXT, "S" },
+ {T_HK_FIND_PREVIOUS, "N" },
+ {T_HK_TOGGLE_HTML_PLAIN, "C" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "M" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "G" },
+ {T_HK_LANGUAGE, "I" },
+ {T_HK_CHARACTER_SET, "J" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "R" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "O" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "G" },
+ {T_HK_ABOUT, "A" },
+ {T_HK_KEYS, "T" },
+ {T_HK_COPYING, "L" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "E" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "C" },
+ {T_HK_HELP, "A" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "S" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "A" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_swedish [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-1" },
+ {T__LANGUAGE, "Swedish" },
+ {T__ACCEPT_LANGUAGE, "sv" },
+ {T_OK, "Ok" },
+ {T_CANCEL, "Avbryt" },
+ {T_BAD_NUMBER, "Felaktigt nummer" },
+ {T_NUMBER_EXPECTED, "V\344ntade mig nummer i f\344ltet" },
+ {T_NUMBER_OUT_OF_RANGE, "Nummer i felaktigt intervall" },
+ {T_BAD_STRING, "Felaktig str\344ng" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Tom str\344ng ej till\345ten" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Konfigurationsfel" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Kan inte skriva till konfigurationsfilen" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Om" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nLynx-liknande bl\344ddrare f\366r WWW" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Tangenter" },
+ {T_KEYS_DESC, "ESC visa meny\n^C, q avsluta\n^P, ^N bl\344ddra upp/ner\n[, ] bl\344ddra v\344nster/h\366ger\nupp,ner v\344lj l\344nk\n-> f\366lj l\344nk\n<- g\345 tillbaka\ng g\345 till URL\nG g\345 till URL baserat p\345 nuvarande URL\n/ s\366k\n? s\366k bak\345t\nn s\366k n\344sta\nN s\366k f\366reg\345ende\n= dokumentinformation\n\\ dokumentk\344llkod\nd h\344mta" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Licens" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\nSvensk \366vers\344ttning (C) 2000-2001 Free Software Foundation och Martin Norb\344ck\n\nDetta program \344r fri programvara. Du kan distribuera det och/eller modifiera det under villkoren i GNU General Public License, publicerad av Free Software Foundation, antingen version 2 eller (om du s\345 vill) n\345gon senare version." },
+ {T_RESOURCES, "Resurser" },
+ {T_CONNECTIONS, "uppkopplingar" },
+ {T_MEMORY_CACHE, "Minnescache" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "Formatterad dokumentcache" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "handtag" },
+ {T_TIMERS, "tidtagare" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "kopplar upp" },
+ {T_tRANSFERRING, "f\366r \366ver" },
+ {T_KEEPALIVE, "h\345ll vid liv" },
+ {T_BYTES, "byte" },
+ {T_LETTERS, NULL },
+ {T_FILES, "filer" },
+ {T_LOCKED, "l\345st" },
+ {T_LOADING, "laddar" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "dokument" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "byte minne allokerat" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Minnesinformation" },
+ {T_NO_HISTORY, "Ingen historik" },
+ {T_NO_DOWNLOADS, "Inga h\344mtningar" },
+ {T_NO_FRAMES, "Inga ramar" },
+ {T_VT_100_FRAMES, "VT100-ramar" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux eller OS/2-ramar" },
+ {T_KOI8R_FRAMES, "KOI8-R-ramar" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "Anv\344nd ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Begr\344nsa ramar i cp850/852" },
+ {T_BLOCK_CURSOR, "Fylld mark\366r" },
+ {T_COLOR, "F\344rg" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Terminalalternativ" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP-proxy (v\344rd:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP-proxy (v\344rd:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Direkt \345tkomst (utan proxy) till dessa dom\344ner (kommaseparerade)" },
+ {T_NETWORK_OPTIONS, "N\344tverksalternativ" },
+ {T_MAX_CONNECTIONS, "Max anslutningar" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Max anslutningar till v\344rd" },
+ {T_RETRIES, "Antal f\366rs\366k" },
+ {T_RECEIVE_TIMEOUT_SEC, "F\366rs\366kstid vid h\344mtning (sek)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "F\366rs\366kstid n\344r ej omstartningsbar" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Asynkron DNS-uppslagning" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "S\344tt tidsinformation p\345 h\344mtade filer" },
+ {T_CACHE_OPTIONS, "Cachealternativ" },
+ {T_MEMORY_CACHE_SIZE__KB, "Storlek p\345 minnescache (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Antal formatterade dokument" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "HTML-alternativ" },
+ {T_DISPLAY_TABLES, "Visa tabeller" },
+ {T_DISPLAY_FRAMES, "Visa ramar" },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Visa l\344nkar till bilder" },
+ {T_LINK_ORDER_BY_COLUMNS, "Flytta l\344ngs kolumner i tabell" },
+ {T_NUMBERED_LINKS, "Numrera l\344nkar" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Textmarginal" },
+ {T_DEFAULT_CODEPAGE, "Standardteckenupps\344ttning" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignorera information om teckenupps\344ttning fr\345n servern" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "G\345 till URL" },
+ {T_GO_BACK, "G\345 tillbaka" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Historik" },
+ {T_RELOAD, "Ladda om" },
+ {T_NEW_WINDOW, "Nytt f\366nster" },
+ {T_SAVE_AS, "Spara som" },
+ {T_SAVE_URL_AS, "Spara URL som" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Spara formatterat dokument" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "D\366da bakgrundsuppkopplingar" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "T\366m alla cachar" },
+ {T_RESOURCE_INFO, "Resursinformation" },
+ {T_OS_SHELL, "Kommandotolk" },
+ {T_EXIT, "Avsluta" },
+ {T_SEARCH, "S\366k" },
+ {T_SEARCH_BACK, "S\366k bak\345t" },
+ {T_FIND_NEXT, "S\366k n\344sta" },
+ {T_FIND_PREVIOUS, "S\366k f\366reg\345ende" },
+ {T_TOGGLE_HTML_PLAIN, "V\344xla HTML/text" },
+ {T_DOCUMENT_INFO, "Dokumentinformation" },
+ {T_FRAME_AT_FULL_SCREEN, "Ram i fullsk\344rmsl\344ge" },
+ {T_SAVE_HTML_OPTIONS, "Spara HTML-alternativ" },
+ {T_CHARACTER_SET, "Teckenupps\344ttning" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "Epost och telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Associationer" },
+ {T_FILE_EXTENSIONS, "Fil\344ndelser" },
+ {T_SAVE_OPTIONS, "Spara alternativ" },
+ {T_FILE, "Arkiv" },
+ {T_VIEW, "Visa" },
+ {T_LINK, "L\344nk" },
+ {T_DOWNLOADS, "H\344mtningar" },
+ {T_SETUP, "Inst\344llningar" },
+ {T_HELP, "Hj\344lp" },
+ {T_ENTER_URL, "Ange URL" },
+ {T_SAVE_URL, "Spara URL" },
+ {T_DOWNLOAD, "H\344mta" },
+ {T_SAVE_TO_FILE, "Spara till fil" },
+ {T_SEARCH_FOR_TEXT, "S\366k efter text" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "V\344ntar i k\366" },
+ {T_LOOKING_UP_HOST, "Letar upp v\344rd" },
+ {T_MAKING_CONNECTION, "Kopplar upp" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, NULL },
+ {T_REQUEST_SENT, "F\366rfr\345gan skickad" },
+ {T_GETTING_HEADERS, "H\344mtar rubriker" },
+ {T_LOGGING_IN, NULL },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Servern bearbetar f\366rfr\345gan" },
+ {T_TRANSFERRING, "Skickar" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "V\344ntar p\345 bekr\344ftelse av omdirigering" },
+ {T_INTERRUPTED, "Avbruten" },
+ {T_SOCKET_EXCEPTION, "Socketfel" },
+ {T_INTERNAL_ERROR, "Internt fel" },
+ {T_OUT_OF_MEMORY, "Slut p\345 minne" },
+ {T_HOST_NOT_FOUND, "V\344rden hittades inte" },
+ {T_ERROR_WRITING_TO_SOCKET, "Fel vid skrivning till socket" },
+ {T_ERROR_READING_FROM_SOCKET, "Fel vid l\344sning fr\345n socket" },
+ {T_DATA_MODIFIED, "Data modifierad" },
+ {T_BAD_URL_SYNTAX, "Felaktig URL-syntax" },
+ {T_RECEIVE_TIMEOUT, "F\366r l\345ng v\344ntan vid h\344mtning" },
+ {T_REQUEST_MUST_BE_RESTARTED, "F\366rfr\345gan m\345ste startas om" },
+ {T_CANT_GET_SOCKET_STATE, "Kan inte se sockettillst\345nd" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Felaktigt HTTP-svar" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Inget inneh\345ll" },
+ {T_UNKNOWN_FILE_TYPE, "Ok\344nd filtyp" },
+ {T_ERROR_OPENING_FILE, "Fel vid \366ppnande av fil" },
+ {T_BAD_FTP_RESPONSE, "Felaktigt FTP-svar" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP-tj\344nsten ej tillg\344nglig" },
+ {T_BAD_FTP_LOGIN, "Felaktig FTP-inloggning" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT-kommando misslyckades" },
+ {T_FILE_NOT_FOUND, "Filen ej funnen" },
+ {T_FTP_FILE_ERROR, "FTP filfel" },
+ {T_UNKNOWN_ERROR, "Ok\344nt fel" },
+ {T_RECEIVED, "H\344mtat" },
+ {T_OF, "av" },
+ {T_AVG, "medel" },
+ {T_CUR, "nuvarande" },
+ {T_AVERAGE_SPEED, "Medelhastighet" },
+ {T_SPEED, "Hastighet" },
+ {T_CURRENT_SPEED, "nuvarande hastighet" },
+ {T_ELAPSED_TIME, "Anv\344nd tid" },
+ {T_ESTIMATED_TIME, "uppskattad tid" },
+ {T_BACKGROUND, "Bakgrund" },
+ {T_ABORT, "Avbryt" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "Ja" },
+ {T_NO, "Nej" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "H\344mtningsfel" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Kunde inte skriva till fil" },
+ {T_ERROR_DOWNLOADING, "Fel vid h\344mtning av" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "Kunde inte skapa fil" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Ok\344nd typ" },
+ {T_CONTENT_TYPE_IS, "Inneh\345llstyp \344r" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Vill du spara eller visa filen?" },
+ {T_SAVE, "Spara" },
+ {T_DISPLAY, "Visa" },
+ {T_WHAT_TO_DO, "Vad skall jag g\366ra?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Vill du \366ppna filen med" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "spara den, eller visa den?" },
+ {T_OPEN, "\326ppna" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Vill du f\366lja omdirigering och skicka formul\344rdata till URL" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Vill du skicka formul\344rdata till URL" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Vill du skicka formul\344rdata igen till URL" },
+ {T_WARNING, "Varning" },
+ {T_ERROR, "Fel" },
+ {T_WELCOME, "V\344lkommen" },
+ {T_WELCOME_TO_LINKS, "V\344lkommen till links!" },
+ {T_BASIC_HELP, "Tryck ESC f\366r meny. V\344lj Hj\344lp->Bruksanvisning f\366r bruksanvisning" },
+ {T_LABEL, "Etikett" },
+ {T_CONTENT_TYPES, "Inneh\345llstyp(er)" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' ers\344tts med filnamn)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Blockera terminalen n\344r programmet k\366rs" },
+ {T_RUN_ON_TERMINAL, "K\366r i terminal" },
+ {T_RUN_IN_XWINDOW, "K\366r i X-f\366nster" },
+ {T_ASK_BEFORE_OPENING, "Fr\345ga innan \366ppnande" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Ta bort association" },
+ {T_ASSOCIATION, "Association" },
+ {T_EXTENSION_S, "\304ndelse(r)" },
+ {T_CONTENT_TYPE, "Inneh\345llstyp" },
+ {T_DELETE_EXTENSION, "Ta bort \344ndelse" },
+ {T_EXTENSION, "\304ndelse" },
+ {T_eXTENSION, "\344ndelse" },
+ {T_ERROR_WHILE_POSTING_FORM, "Fel vid skickande av formul\344r" },
+ {T_COULD_NOT_GET_FILE, "Kunde inte h\344mta fil" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Ingen tidigare s\366kning" },
+ {T_SEARCH_STRING_NOT_FOUND, "S\366kstr\344ng ej hittad" },
+ {T_SAVE_ERROR, "Sparfel" },
+ {T_ERROR_WRITING_TO_FILE, "Fel vid skrivning till fil" },
+ {T_DISPLAY_USEMAP, "Visa usemap" },
+ {T_FOLLOW_LINK, "F\366lj l\344nk" },
+ {T_OPEN_IN_NEW_WINDOW, "\326ppna i nytt f\366nster" },
+ {T_DOWNLOAD_LINK, "H\344mta l\344nk" },
+ {T_RESET_FORM, "T\366m formul\344r" },
+ {T_SUBMIT_FORM, "Skicka formul\344r" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Skicka formul\344r och \366ppna i nytt f\366nster" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Skicka formul\344r och h\344mta" },
+ {T_VIEW_IMAGE, "Visa bild" },
+ {T_DOWNLOAD_IMAGE, "H\344mta bild" },
+ {T_NO_LINK_SELECTED, "Ingen l\344nk vald" },
+ {T_IMAGE, "Bild" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, NULL },
+ {T_SCREEN, "Sk\344rm" },
+ {T_WINDOW, "F\366nster" },
+ {T_FULL_SCREEN, "Fullsk\344rm" },
+ {T_BEOS_TERMINAL, "BeOS-terminal" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Skicka formul\344r till" },
+ {T_POST_FORM_TO, "Skicka formul\344r till" },
+ {T_RADIO_BUTTON, "Radioknapp" },
+ {T_CHECKBOX, "Kryssruta" },
+ {T_SELECT_FIELD, "Valf\344lt" },
+ {T_TEXT_FIELD, "Textf\344lt" },
+ {T_TEXT_AREA, "Textarea" },
+ {T_FILE_UPLOAD, "Fils\344ndning" },
+ {T_PASSWORD_FIELD, "L\366senordsf\344lt" },
+ {T_BUTTON, NULL },
+ {T_NAME, "Namn" },
+ {T_VALUE, "V\344rde" },
+ {T_HIT_ENTER_TO, "tryck Enter f\366r att" },
+ {T_SUBMIT_TO, "skicka till" },
+ {T_POST_TO, "skicka till" },
+ {T_INFO, "Info" },
+ {T_HEADER_INFO, "Huvudinfo" },
+ {T_YOU_ARE_NOWHERE, "Du \344r ingenstans!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Storlek" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "ej komplett" },
+ {T_CODEPAGE, "teckenupps\344ttning" },
+ {T_ASSUMED, "antagen" },
+ {T_IGNORING_SERVER_SETTING, "Ignorerar serverinst\344llning" },
+ {T_SERVER, "Server" },
+ {T_DATE, "Datum" },
+ {T_LAST_MODIFIED, "Senast \344ndrad" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Spr\345k" },
+ {T_GO_TO_LINK, "G\345 till l\344nk" },
+ {T_ENTER_LINK_NUMBER, "Skriv in l\344nknummer" },
+ {T_RESIZE_TERMINAL, "\304ndra storlek p\345 terminal" },
+ {T_COLUMNS, "Kolumner" },
+ {T_ROWS, "Rader" },
+ {T_GOTO, "G\345 till" },
+ {T_CLOSE, "St\344ng" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "L\344gg till" },
+ {T_DELETE, "Ta bort" },
+ {T_EDIT, "Redigera" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "Bokm\344rken" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "L\344gg till bokm\344rke" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, "Bokm\344rkestitel" },
+ {T_EDIT_BOOKMARK, "Redigera bokm\344rke" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "Ta bort bokm\344rke" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "Bokm\344rkeshanterare" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, "URL" },
+ {T_NNAME, "Namn" },
+ {T_EXIT_LINKS, "Avsluta links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Vill du verkligen avsluta links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Vill du verkligen avsluta links och avbryta alla p\345g\345ende h\344mtningar?" },
+ {T_HTTP_OPTIONS, "HTTP-alternativ" },
+ {T_FTP_OPTIONS, "FTP-alternativ" },
+ {T_HTTP_BUG_WORKAROUNDS, "Kringg\345 HTTP-buggar" },
+ {T_USE_HTTP_10, "Anv\344nd HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Till\345t svartlistning av felaktiga servrar" },
+ {T_BROKEN_302_REDIRECT, "Trasig omdirigering 302 (bryter mot RFC, men \344r kompatibel med Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "H\345ll inte uppkopplingen uppe efter POST-f\366rfr\345gan (en del trasiga PHP-databaser beh\366ver det)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "L\366senord f\366r anonym inloggning" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Bruksanvisning" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, "Epostprogram (% ers\344tts med adress)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Telnetprogram (% ers\344tts med \"v\344rd\" eller \"v\344rd port\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Tn3270-program (% ers\344tts med \"v\344rd\" eller \"v\344rd port\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Epost- och telnetprogram" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Inget program" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Inget program angett f\366r" },
+ {T_MAIL, "epost" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "Felaktig mailto-URL" },
+ {T_BAD_TELNET_URL, "Felaktig telnet-URL" },
+ {T_BAD_TN3270_URL, "Felaktig tn3270-URL" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "Anv\344ndar-ID" },
+ {T_PASSWORD, "L\366senord" },
+ {T_ENTER_USERNAME, "Ange anv\344ndarnamn f\366r " },
+ {T_AT, "p\345 " },
+ {T_SSL_ERROR, "SSL-fel" },
+ {T_NO_SSL, "Denna version av Links inneh\345ller inte st\366d f\366r SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "B" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "R" },
+ {T_HK_BOOKMARKS, "S" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "V" },
+ {T_HK_SAVE_URL_AS, "U" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "K" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "F" },
+ {T_HK_RESOURCE_INFO, "I" },
+ {T_HK_MEMORY_INFO, "M" },
+ {T_HK_OS_SHELL, "O" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "X" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "B" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "P" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "F" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "A" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "H" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "A" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "S" },
+ {T_HK_ABOUT, "A" },
+ {T_HK_KEYS, "K" },
+ {T_HK_COPYING, "C" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "V" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "S" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_DOWNLOAD_LINK, "D" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_swiss_german [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-1" },
+ {T__LANGUAGE, "Swiss German" },
+ {T__ACCEPT_LANGUAGE, "de" },
+ {T_OK, "OK" },
+ {T_CANCEL, "Abbruch" },
+ {T_BAD_NUMBER, "fehlerhafti Zahl" },
+ {T_NUMBER_EXPECTED, "Zahligabe erwartet" },
+ {T_NUMBER_OUT_OF_RANGE, "Ung\374ltiger Zahlberich" },
+ {T_BAD_STRING, "Falschi Igabe" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Werte Igabe erforderlich" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Konfigurationsfehler" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Cha Konfigurationsdatei n\366d schriebe" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "\334ber" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nWWW-Browser" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Taschte" },
+ {T_KEYS_DESC, "ESC Menue-Azeig\n^C, q quit\n^P, ^N auf/ab bl\344ttere\n[, ] links/rechts bl\344ttere \nBild ufe/abe Linkuswahl\n-> Link folge\n<- zrugg\nz zrugg (nur im Grafischmodus)\n^r wiederladen\n^s stopp\ng gah zu dr Adresse\nG gah zu dr Adresse (von dr aktuelle URL)\n^G gah zu dr Adresse (vom aktuelle Link)\n/ Suech\344\n? R\374ckw\344rts suech\344 \nn nexschte Suechbegriff\nN vorh. Suechbegriff\n= Dokument-Info\n| Kopf-Info\n\\ Dokument-Quelle\nd Speicher\344\n^W URL oder Suechtext komplettiere" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Liz\344nz" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_1 "\n\nDas Programm da isch freie Softw\344r; es cha unter dr Bedingige vo dr GNU General Public License - wie von der Free Software Foundation ver\366ffentlicht - ver\344ndert/wieter verbreitet werde; entweder Version 2 vo dr GPL, oder (falls erw\374nscht) jedi neueri Version" },
+ {T_RESOURCES, "Resourcen" },
+ {T_CONNECTIONS, "Verbindige" },
+ {T_MEMORY_CACHE, "Hauptspiicher-Cache" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "Zeichesatz-Cache" },
+ {T_IMAGE_CACHE, "Bilder-Cache" },
+ {T_FORMATTED_DOCUMENT_CACHE, "Formatierte Dokument-Cache" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "offeni Dateie" },
+ {T_TIMERS, "Ziitgeber" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "Verbindinge im Ufbau" },
+ {T_tRANSFERRING, "\334bertragige" },
+ {T_KEEPALIVE, "Verbindige halte" },
+ {T_BYTES, "Bytes" },
+ {T_LETTERS, "Zeiche" },
+ {T_FILES, "Datei/en" },
+ {T_LOCKED, "gsperrt" },
+ {T_LOADING, "glade" },
+ {T_IMAGES, "Bilder" },
+ {T_DOCUMENTS, "Dokument" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "zuegwiesene Hauptspeicher" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Hauptspeicherverbruuch" },
+ {T_NO_HISTORY, "Kei history" },
+ {T_NO_DOWNLOADS, "Kei Downloads" },
+ {T_NO_FRAMES, "Kei Rahme" },
+ {T_VT_100_FRAMES, "VT 100 Rahme" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux oder OS/2 Rahme" },
+ {T_KOI8R_FRAMES, "KOI8-R Rahme" },
+ {T_FREEBSD_FRAMES, "FreeBSD Rahme" },
+ {T_USE_11M, "Benutze ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Beschr\344nkig Rahme im cp850/852" },
+ {T_BLOCK_CURSOR, "Blockcursor" },
+ {T_COLOR, "Farb" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Terminaloptione" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP Proxy (Rechner:Port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP Proxy (Rechner:Port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Direktzuegriff (w/o Proxy) Dom\344ne (Komma-Lischte)" },
+ {T_NETWORK_OPTIONS, "Netzwerkoptione" },
+ {T_MAX_CONNECTIONS, "Max. Verbindige" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Max. Verbindige zumene Server" },
+ {T_RETRIES, "Wiederholige" },
+ {T_RECEIVE_TIMEOUT_SEC, "Empfangswarteziit (sec)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Warteziit bei Verb.-Aufbau" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Asynchr. DNS-Aufl\366sig" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Datum/Ziit vo empfangene Dateien setze" },
+ {T_CACHE_OPTIONS, "Cache-Optione" },
+ {T_MEMORY_CACHE_SIZE__KB, "Hauptspeicher-Cache (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "Bilder-Cache (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Anzahl formatierter Dokument" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "HTML-Optione" },
+ {T_DISPLAY_TABLES, "Tabelle azeige" },
+ {T_DISPLAY_FRAMES, "Rahmen azeige" },
+ {T_DISPLAY_IMAGES, "Bilder azeige" },
+ {T_DISPLAY_IMAGE_FILENAMES, "Bilddateinamen azeige" },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Bildverweise azeige" },
+ {T_LINK_ORDER_BY_COLUMNS, "Links nach Spalten sortieren" },
+ {T_NUMBERED_LINKS, "Links nummeriere" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, "S'\366ffnen vo Verwiis ime neue Fenster erlaube" },
+ {T_TEXT_MARGIN, "Textberiich" },
+ {T_DEFAULT_CODEPAGE, "Standardzeichesatz" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Zeichesatz-Info vom Servers ignoriere" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Gah zudr Adresse" },
+ {T_GO_BACK, "Zrugg" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "History" },
+ {T_RELOAD, "Neu lade" },
+ {T_NEW_WINDOW, "Neus Fenschter" },
+ {T_SAVE_AS, "Speichere als" },
+ {T_SAVE_URL_AS, "Speichere d'Adresse als" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Speichere vome formatierte Dokument" },
+ {T_COPY_URL_LOCATION, "Netzadresse kopiere" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Hintergrundverbindinge kappe" },
+ {T_KILL_ALL_CONNECTIONS, "Alli Verbindige kappe" },
+ {T_FLUSH_ALL_CACHES, "Alli Cache-Bereich leere" },
+ {T_RESOURCE_INFO, "Resource" },
+ {T_OS_SHELL, "Befehlszeile" },
+ {T_EXIT, "Ende" },
+ {T_SEARCH, "Sueche" },
+ {T_SEARCH_BACK, "Sueche r\374ckw\344rts" },
+ {T_FIND_NEXT, "Sueche n\344chschte" },
+ {T_FIND_PREVIOUS, "Sueche vorherige" },
+ {T_TOGGLE_HTML_PLAIN, "Umschaltig HTML/Quelltext" },
+ {T_DOCUMENT_INFO, "Dokumentinformatione" },
+ {T_FRAME_AT_FULL_SCREEN, "Rahme im Vollbildschirm" },
+ {T_SAVE_HTML_OPTIONS, "HTML Sicherheit" },
+ {T_CHARACTER_SET, "Zeichesatz" },
+ {T_CACHE, "Cache" },
+ {T_MAIL_AND_TELNEL, "Mail und Telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Verkn\374pfige" },
+ {T_FILE_EXTENSIONS, "Dateiendige" },
+ {T_SAVE_OPTIONS, "Optione speichere" },
+ {T_FILE, "Datei" },
+ {T_VIEW, "Anzeig" },
+ {T_LINK, "Link" },
+ {T_DOWNLOADS, "Downloads" },
+ {T_SETUP, "Istellige" },
+ {T_HELP, "Hilfe" },
+ {T_ENTER_URL, "Adresse iig\344h" },
+ {T_SAVE_URL, "Adresse speichere" },
+ {T_DOWNLOAD, "Download" },
+ {T_SAVE_TO_FILE, "Speichere ine Datei" },
+ {T_SEARCH_FOR_TEXT, "Textsuechi" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "In Warteschlange" },
+ {T_LOOKING_UP_HOST, "Sueche Host" },
+ {T_MAKING_CONNECTION, "Verbindigsuufbau" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "SSL-Verhandlig" },
+ {T_REQUEST_SENT, "Anforderig gesendet" },
+ {T_GETTING_HEADERS, "Empfange Kopfzeile" },
+ {T_LOGGING_IN, "Melde aa" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Server verarbeitet Anforderig" },
+ {T_TRANSFERRING, "\334bertr\344gig" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Warte auf Best\344tigung" },
+ {T_INTERRUPTED, "Unterbrochen" },
+ {T_SOCKET_EXCEPTION, "Socket-Usnahmefehler" },
+ {T_INTERNAL_ERROR, "Interne Fehler" },
+ {T_OUT_OF_MEMORY, "kei Hauptspeicher verf\374gbar" },
+ {T_HOST_NOT_FOUND, "Host n\366d gfunde" },
+ {T_ERROR_WRITING_TO_SOCKET, "Socket-Schriibfehler" },
+ {T_ERROR_READING_FROM_SOCKET, "Socket-L\344sefehler" },
+ {T_DATA_MODIFIED, "Daten g\344nderet" },
+ {T_BAD_URL_SYNTAX, "Fehlerhafti Adresse" },
+ {T_RECEIVE_TIMEOUT, "Empfangs-Warteziit abgelaufe" },
+ {T_REQUEST_MUST_BE_RESTARTED, "Anforderig wird neu gesendet" },
+ {T_CANT_GET_SOCKET_STATE, "Cha Socket-Status n\366d abfrage" },
+ {T_CYCLIC_REDIRECT, "Zyklische Umleitig" },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "F\344hlerhafti HTTP-Antwort" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "Kei Inhalt" },
+ {T_UNKNOWN_FILE_TYPE, "Unbekannte Dateityp" },
+ {T_ERROR_OPENING_FILE, "Fehler bei Datei-\326ffnig" },
+ {T_BAD_FTP_RESPONSE, "fehlerhafti FTP-Antwort" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP-Dienscht n\366d verf\374egbar" },
+ {T_BAD_FTP_LOGIN, "fehlerhafte FTP-Anmeldig" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT-Befehl bschisse" },
+ {T_FILE_NOT_FOUND, "Datei n\366d gfunde" },
+ {T_FTP_FILE_ERROR, "FTP-Dateifehler" },
+ {T_UNKNOWN_ERROR, "Unbekannte Fehler" },
+ {T_RECEIVED, "Empfange" },
+ {T_OF, "von" },
+ {T_AVG, "schnitt" },
+ {T_CUR, "aktuell" },
+ {T_AVERAGE_SPEED, "Durchschnittsrate" },
+ {T_SPEED, "Rate" },
+ {T_CURRENT_SPEED, "Aktuelli Rate" },
+ {T_ELAPSED_TIME, "Abgelaufeni Ziit" },
+ {T_ESTIMATED_TIME, "Gsch\344tzti Ziit" },
+ {T_BACKGROUND, "Hintergrund" },
+ {T_ABORT, "Abbruch" },
+ {T_ABORT_AND_DELETE_FILE, "Abbreche und Datei l\366sche" },
+ {T_YES, "Jo" },
+ {T_NO, "Nei" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Download-Fehler" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Datei h\344t n\366d ch\366nne gschriebe werde" },
+ {T_ERROR_DOWNLOADING, "Fehler w\344hrend Download" },
+ {T_ERROR_LOADING, "Fehler beim \326ffne" },
+ {T_COULD_NOT_CREATE_FILE, "Datei h\344t n\366d ch\366nne erstellt werde" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Unbekannte Typ" },
+ {T_CONTENT_TYPE_IS, "Mimetyp isch" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "D'Datei \366ffne, speichere oder azeige?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "D'Datei \366ffne oder anzeige?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "D'Datei anzeige oder speichere?" },
+ {T_SAVE, "Speichere" },
+ {T_DISPLAY, "Anzeige" },
+ {T_WHAT_TO_DO, "H\344h?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "\326ffne d'Datei mit" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "speichere oder anzeige?" },
+ {T_OPEN, "\326ffne" },
+ {T_OPEN_WITH, "\326ffne mit" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "S\366lled die Daten an d\344 neu Server \374bertreit werde?" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "S\366lled die Daten \374bertreit werde?" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "S\366lled die Daten erneut \374bertreit werde?" },
+ {T_WARNING, "Warnig" },
+ {T_ERROR, "Fehler" },
+ {T_WELCOME, "Gr\374ezi" },
+ {T_WELCOME_TO_LINKS, "Herzlich Willkomme bi d\344 Links!" },
+ {T_BASIC_HELP, "Handbuech" },
+ {T_LABEL, "Bezeichnig" },
+ {T_CONTENT_TYPES, "Mimetyp(en)" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Programm ('%' wird durch Dateiname ersetzt)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Terminal w\344hrend d\344 Programmausf\374ehrig blockiert" },
+ {T_RUN_ON_TERMINAL, "Im Terminalfenschter starte" },
+ {T_RUN_IN_XWINDOW, "Im Grafikfenster (X-Window) starte" },
+ {T_ASK_BEFORE_OPENING, "Frage vor em \326ffnen" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Verkn\374pfig l\366sche" },
+ {T_ASSOCIATION, "Verkn\374pfig" },
+ {T_EXTENSION_S, "Erwiiterig(e)" },
+ {T_CONTENT_TYPE, "Mimetyp" },
+ {T_DELETE_EXTENSION, "Erwiiterig l\366sche" },
+ {T_EXTENSION, "Erwiiterig" },
+ {T_eXTENSION, "Erwiiterig" },
+ {T_ERROR_WHILE_POSTING_FORM, "Fehler bi d\344 Formular-\334bertr\344gig" },
+ {T_COULD_NOT_GET_FILE, "Ha Datei n\366d \374bercho" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Kei vorherige Suechbegriff" },
+ {T_SEARCH_STRING_NOT_FOUND, "Suechbegriff n\366d gfunde" },
+ {T_SAVE_ERROR, "Fehler bim spiichere" },
+ {T_ERROR_WRITING_TO_FILE, "F\344hler bim spiichere vodr Datei" },
+ {T_DISPLAY_USEMAP, "Usemap azeige" },
+ {T_FOLLOW_LINK, "Em Link folge" },
+ {T_OPEN_IN_NEW_WINDOW, "Ime neue Fenschter \366ffne" },
+ {T_DOWNLOAD_LINK, "Link speichere" },
+ {T_RESET_FORM, "Formular zruggsetze" },
+ {T_SUBMIT_FORM, "Formular sende" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Formular sende und neuis F\344nschter \366ffne" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Formular sende und speichere" },
+ {T_VIEW_IMAGE, "Bild azeige" },
+ {T_DOWNLOAD_IMAGE, "Bild speichere" },
+ {T_NO_LINK_SELECTED, "Kei Link usgw\344hlt" },
+ {T_IMAGE, "Bild" },
+ {T_USEMAP, "Usemap" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, "Twterm" },
+ {T_SCREEN, "Bildschirm" },
+ {T_WINDOW, "Fenschter" },
+ {T_FULL_SCREEN, "Vollbildschirm" },
+ {T_BEOS_TERMINAL, "BeOS-Terminal" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "S'Formular sende an" },
+ {T_POST_FORM_TO, "Verschick s'Formular an" },
+ {T_RADIO_BUTTON, "Radiobutton" },
+ {T_CHECKBOX, "Checkbox" },
+ {T_SELECT_FIELD, "Auswahlfeld" },
+ {T_TEXT_FIELD, "Textfeld" },
+ {T_TEXT_AREA, "Textberiich" },
+ {T_FILE_UPLOAD, "Datei sende" },
+ {T_PASSWORD_FIELD, "Passwort-Feld" },
+ {T_BUTTON, "Chnopf" },
+ {T_NAME, "Name" },
+ {T_VALUE, "Wert" },
+ {T_HIT_ENTER_TO, "ENTER dr\374cke" },
+ {T_SUBMIT_TO, "Sende an" },
+ {T_POST_TO, "Verschicke an" },
+ {T_INFO, "Info" },
+ {T_HEADER_INFO, "HTTP Kopfinformatione" },
+ {T_YOU_ARE_NOWHERE, "Sie sind nirgendwo!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "Adresse" },
+ {T_SIZE, "Gr\366\337e" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "unvollst\344ndig" },
+ {T_CODEPAGE, "Zeichensatz" },
+ {T_ASSUMED, "agnoh" },
+ {T_IGNORING_SERVER_SETTING, "Serveriistellig ignoriert" },
+ {T_SERVER, "Server" },
+ {T_DATE, "Datum" },
+ {T_LAST_MODIFIED, "Zletscht g\344ndert" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Sprach" },
+ {T_GO_TO_LINK, "Link uusw\344hle" },
+ {T_ENTER_LINK_NUMBER, "Linknummer iig\344h" },
+ {T_RESIZE_TERMINAL, "Terminalgr\366ssi \344ndere" },
+ {T_COLUMNS, "Spalte" },
+ {T_ROWS, "Ziile" },
+ {T_GOTO, "Gah zu" },
+ {T_CLOSE, "Schlie\337e" },
+ {T_FOLDER, "Verzeichnis" },
+ {T_fOLDER, "Verzeichnis" },
+ {T_ADD, "Hinzuf\374ege" },
+ {T_DELETE, "L\366sche" },
+ {T_EDIT, "\304ndere" },
+ {T_MOVE, "Verschiebe" },
+ {T_NO_ITEMS_SELECTED, "Es isch n\374t markiert - n\374t z'verschiebe" },
+ {T_UNSELECT_ALL, "Markierige ufhebe" },
+ {T_BOOKMARKS, "Lesezeiche" },
+ {T_BOOKMARK, "Lesezeiche" },
+ {T_ADD_BOOKMARK, "Leseziichen hinzuf\374ege" },
+ {T_ADD_ASSOCIATION, "Verchn\374pfig hinzuf\374ege" },
+ {T_ADD_EXTENSION, "Erweiterig hinzuf\374ege" },
+ {T_ADD_FOLDER, "Verziichnis hinzuf\374ege" },
+ {T_BOOKMARK_TITLE, "Bezeichnig" },
+ {T_EDIT_BOOKMARK, "Lesezeichen \344ndere" },
+ {T_EDIT_ASSOCIATION, "Verchn\374pfig bearbeite" },
+ {T_EDIT_EXTENSION, "Erwiiterig bearbeite" },
+ {T_DELETE_BOOKMARK, "Lesezeeiche l\366sche" },
+ {T_EDIT_FOLDER, "Verzeichnis bearbeite" },
+ {T_DELETE_FOLDER, "Verzeichnis entferne" },
+ {T_NOT_EMPTY_SURE_DELETE, "isch n\366d leer. Sicher entferne?" },
+ {T_BOOKMARK_MANAGER, "Lesezeiche-Verwaltig" },
+ {T_ASSOCIATIONS_MANAGER, "Verchn\374pfigs-Verwaltig" },
+ {T_EXTENSIONS_MANAGER, "Erwiiterigs-Verwaltig" },
+ {T_url, "Netzadresse" },
+ {T_NNAME, "Name" },
+ {T_EXIT_LINKS, "Beende?" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Links w\374rkli beende?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Links und alli Downloads beende?" },
+ {T_HTTP_OPTIONS, "HTTP-Optionen" },
+ {T_FTP_OPTIONS, "FTP-Optionen" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP-F\344hler umgah?" },
+ {T_USE_HTTP_10, "HTTP 1.0 benutze?" },
+ {T_ALLOW_SERVER_BLACKLIST, "Server-Sperrlischte benutze?" },
+ {T_BROKEN_302_REDIRECT, "defekte 302-Wiiterliitig?" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Verbindig nach POST n\366d uufr\344chterhalte?" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, "Kei Accept-Charset sende" },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, "Kei Referer sende" },
+ {T_REFERER_SAME_URL, "Angeforderti Adresse als Referer sende" },
+ {T_REFERER_FAKE, "Wiiter une ag\344hne feschte HTTP-Referer sende" },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, "Echte Referer sende (normal, aber UNSICHER!)" },
+ {T_FAKE_REFERER, "Fester HTTP-Referer:" },
+ {T_FAKE_USERAGENT, "Gfakte User-Agent sende" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Passwort f\374r anomyme Ameldig" },
+ {T_USE_PASSIVE_FTP, "Passivs FTP nutze" },
+ {T_USE_FAST_FTP, "Schnellers (aber n\366d RFC-konforms) FTP nutze" },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Manual" },
+ {T_HOMEPAGE, "Homepage" },
+ {T_CALIBRATION, "Kalibration" },
+ {T_MAILTO_PROG, "Mail-Programm (% wird mit Email-Addresse ersetzt)" },
+ {T_SHELL_PROG, "Shell-Programm f\374r externi Ufr\374ef (% wird mit Kommando ersetzt)" },
+ {T_TELNET_PROG, "Telnet-Programm (% wird mit \"host\" oder \"host port\" ersetzt)" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "TN3270-Programm (% wird mit \"host\" oder \"host port\" ersetzt)" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Mail-/Telnet-Programme" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Mail-/Telnet-/Shell-Programme" },
+ {T_NO_PROGRAM, "Keis Programm" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Programm n\366d definiert f\374r " },
+ {T_MAIL, "Mail" },
+ {T_TELNET, "Telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "TN3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "fehlerhafti Mailadresse" },
+ {T_BAD_TELNET_URL, "fehlerhafti Telnetadresse" },
+ {T_BAD_TN3270_URL, "fehlerhafti TN3270-Adresse" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, "Benutzerkennig" },
+ {T_PASSWORD, "Passwort" },
+ {T_ENTER_USERNAME, "Benutzername iig\344h f\374r " },
+ {T_AT, "bei " },
+ {T_SSL_ERROR, "SSL-F\344hler" },
+ {T_NO_SSL, "Die Programmversion unterst\374tzt kei SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "Wirklich l\366sche" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "Lesezeiche scho in Benutzig!" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Verchn\374pfige scho in Benutzig!" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "Erwiiterige scho in Benutzig!" },
+ {T_VIDEO_OPTIONS, "Videooptione" },
+ {T_VIDEO_OPTIONS_TEXT, "Benutzergamma empfohlen:\n 1.33 f\374r dunklen Ruum, 1.11 bei gedimmten Liecht, 1 f\374r en typische Computerarbeitsplatz, 0.88 bi hell erl\374chteter Umgebig" },
+ {T_RED_DISPLAY_GAMMA, "Gamma Rot" },
+ {T_GREEN_DISPLAY_GAMMA, "Gamma Gr\374en" },
+ {T_BLUE_DISPLAY_GAMMA, "Gamma Blau" },
+ {T_USER_GAMMA, "Benutzergamma" },
+ {T_ALERT, "Warnig" },
+ {T_QUESTION, "Frage" },
+ {T_KILL_SCRIPT, "Javascriptusf\374ehrig verweigere" },
+ {T_KILL_ALL_SCRIPTS, "Javascriptusf\374ehrig f\374r alli Skript verweigere" },
+ {T_SCRIPT_KILLED_BY_USER, "Javascriptusf\374ehrig dur d\344 Benutzer verweigert" },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Javascript versuecht, s'Browserfenschter z'schlie\337e. Zulah?" },
+ {T_ENTER_STRING, "Text iig\344h" },
+ {T_JAVASCRIPT_OPTIONS, "Javascriptoptione" },
+ {T_ENABLE_JAVASCRIPT, "Javascript aktiviere" },
+ {T_VERBOSE_JS_ERRORS, "Uusf\374ehrlichi Javascriptfehler" },
+ {T_VERBOSE_JS_WARNINGS, "Uusf\374ehrlichi Javascriptwarnige" },
+ {T_MISCELANEOUS_OPTIONS, "Suschtigi Optionen" },
+ {T_JAVASCRIPT_ERROR, "Javascriptfehler" },
+ {T_JAVASCRIPT_WARNING, "Javascriptwarnig" },
+ {T_DISMISS, "Verw\344rfe" },
+ {T_MENU_FONT_SIZE, "Men\374fontgr\366\337i" },
+ {T_USER_FONT_SIZE, "Benutzerfontgr\366\337i" },
+ {T_TURN_OFF_WARNINGS, "Warnige abschalte" },
+ {T_BOOKMARKS_ENCODING, "L\344sezeicheformat" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript versuecht zu dr Netzadresse z'gah" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript versuecht Adresse ime neue Fenschter z'\366ffne" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript versuecht uf d'History zuegrife" },
+ {T_TO_URL, "zu Netzadresse" },
+ {T_GOTO_HISTORY, "Gah zu dr History" },
+ {T_ALLOW, "Erlaube" },
+ {T_REJECT, "Abwiise" },
+ {T_ENABLE_ALL_CONVERSIONS, "Alli Umwandlige aktiviere" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Globali Namensufl\366sig aktiviere" },
+ {T_MANUAL_JS_CONTROL, "Manuell Javascriptoperatione Best\344tigung" },
+ {T_JS_RECURSION_DEPTH, "Verschachteligstiefi" },
+ {T_MENU_BACKGROUND_COLOR, "Hintergrundfarb f\374rs Men\374" },
+ {T_MENU_FOREGROUND_COLOR, "Vordergrundfarb f\374rs Men\374" },
+ {T_SCROLL_BAR_BAR_COLOR, "Farb f\374r Scrollbalken" },
+ {T_SCROLL_BAR_AREA_COLOR, "Farb f\374r Scrollbalkenzone" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Farb f\374r Scrollbalkenrahmen" },
+ {T_BOOKMARKS_FILE, "L\344sezeichedatei" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Farbe ig\344h als sRGB hexadezimal RRGGBB Triplets" },
+ {T_JS_MEMORY_LIMIT_KB, "Speicher f\374r Javascript reserviere (KiB)" },
+ {T_DITHER_LETTERS, "Buechstabe rastere" },
+ {T_DITHER_IMAGES, "Bilder rastere" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "Alli Bilder skaliere um (%)" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, "Bildschirmoptimierig f\374r CRT" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "Bildschirmoptimierig f\374r LCD (RGB)" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "Bildschirmoptimierig f\374r LCD (BGR)" },
+ {T_ASPECT_RATIO, "Siiteveh\344ltnis" },
+ {T_ASPECT_CORRECTION_ON, "Siiteverh\344ltniskorrekur an" },
+ {T_KEYBOARD_CODEPAGE, "Tastatur-Codepage" },
+ {T_COPY_LINK_LOCATION, "Linkziel kopiere" },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "Z" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "H" },
+ {T_HK_RELOAD, "D" },
+ {T_HK_BOOKMARKS, "L" },
+ {T_HK_NEW_WINDOW, "N" },
+ {T_HK_SAVE_AS, "S" },
+ {T_HK_SAVE_URL_AS, "P" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "D" },
+ {T_HK_COPY_URL_LOCATION, "U" },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "A" },
+ {T_HK_KILL_ALL_CONNECTIONS, "K" },
+ {T_HK_FLUSH_ALL_CACHES, "C" },
+ {T_HK_RESOURCE_INFO, "R" },
+ {T_HK_MEMORY_INFO, "I" },
+ {T_HK_OS_SHELL, "B" },
+ {T_HK_RESIZE_TERMINAL, "T" },
+ {T_HK_EXIT, "E" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "R" },
+ {T_HK_FIND_NEXT, "N" },
+ {T_HK_FIND_PREVIOUS, "V" },
+ {T_HK_TOGGLE_HTML_PLAIN, "Q" },
+ {T_HK_DOCUMENT_INFO, "I" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "L" },
+ {T_HK_HTML_OPTIONS, "O" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "H" },
+ {T_HK_LANGUAGE, "S" },
+ {T_HK_CHARACTER_SET, "Z" },
+ {T_HK_TERMINAL_OPTIONS, "T" },
+ {T_HK_VIDEO_OPTIONS, "V" },
+ {T_HK_NETWORK_OPTIONS, "N" },
+ {T_HK_JAVASCRIPT_OPTIONS, "J" },
+ {T_HK_MISCELANEOUS_OPTIONS, "O" },
+ {T_HK_CACHE, "C" },
+ {T_HK_MAIL_AND_TELNEL, "M" },
+ {T_HK_ASSOCIATIONS, "V" },
+ {T_HK_FILE_EXTENSIONS, "E" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "P" },
+ {T_HK_ABOUT, "\334" },
+ {T_HK_KEYS, "T" },
+ {T_HK_COPYING, "L" },
+ {T_HK_MANUAL, "M" },
+ {T_HK_HOMEPAGE, "H" },
+ {T_HK_CALIBRATION, "K" },
+ {T_HK_FILE, "F" },
+ {T_HK_VIEW, "A" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "D" },
+ {T_HK_SETUP, "E" },
+ {T_HK_HELP, "H" },
+ {T_HK_DISPLAY_USEMAP, "U" },
+ {T_HK_FOLLOW_LINK, "F" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "F" },
+ {T_HK_DOWNLOAD_LINK, "S" },
+ {T_HK_RESET_FORM, "R" },
+ {T_HK_SUBMIT_FORM, "S" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "W" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "D" },
+ {T_HK_VIEW_IMAGE, "I" },
+ {T_HK_DOWNLOAD_IMAGE, "G" },
+ {T_HK_COPY_LINK_LOCATION, "C" },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, "T" },
+ {T_HK_SCREEN, "S" },
+ {T_HK_WINDOW, "W" },
+ {T_HK_FULL_SCREEN, "F" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_turkish [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "8859-9" },
+ {T__LANGUAGE, "Turkish" },
+ {T__ACCEPT_LANGUAGE, "tr" },
+ {T_OK, "Tamam" },
+ {T_CANCEL, "\335ptal" },
+ {T_BAD_NUMBER, "Hatal\375 say\375" },
+ {T_NUMBER_EXPECTED, "Say\375 girilmesi bekleniyordu" },
+ {T_NUMBER_OUT_OF_RANGE, "Number out of range" },
+ {T_BAD_STRING, "Hatal\375 s\366z dizimi" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Bo\376 s\366z dizimine izin verilmiyor" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Yap\375land\375rma Hatas\375" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Yap\375land\375rma dosyas\375na yaz\375lam\375yor" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Hakk\375nda" },
+ {T_LINKS__LYNX_LIKE, "Ba\360lant\375lar " VERSION_STRING "\n\nLynx t\374r\374nde metin tabanl\375 taray\375c\375" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Tu\376lar" },
+ {T_KEYS_DESC, "ESC men\374y\374 g\366ster\n^C, q \347\375k\n^P, ^N yukar\375 kayd\375r, a\376a\360\375 kayd\375r\n[, ] sa\360a kayd\375r, sola kayd\375r\nyukar\375, a\376a\360\375 ba\360lant\375y\375 se\347\n-> ba\360lant\375y\375 izle\n<- geri git\ng adrese git\nG \376imdiki adresten yola \347\375karak yeni bir adrese git\n/ ara\n? geriye do\360ru ara\nn tekrar ara\nN geriye do\360ru tekrar ara\n= belge bilgisi\n\\ kayna\360\375n\375 g\366ster\nd indir" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Kopyalamak" },
+ {T_COPYING_DESC, "Ba\360lant\375lar " VERSION_STRING "\n\n" LINKS_COPYRIGHT "\n\n Bu \366zg\374r bir yaz\375l\375md\375r; GNU Genel Kamu Lisans\375 alt\375nda da\360\375t\375labilir ve/veya geli\376tirilebilir." },
+ {T_RESOURCES, "Kaynaklar" },
+ {T_CONNECTIONS, "Ba\360lant\375lar" },
+ {T_MEMORY_CACHE, "Memory cache" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "Bi\347imlenmi\376 belge \366nbelle\360i" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "handles" },
+ {T_TIMERS, "zamanlay\375c\375lar" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "ba\360lan\375yor" },
+ {T_tRANSFERRING, "aktar\375l\375yor" },
+ {T_KEEPALIVE, "keepalive" },
+ {T_BYTES, "byte lar" },
+ {T_LETTERS, NULL },
+ {T_FILES, "dosyalar" },
+ {T_LOCKED, "kilitlenmi\376" },
+ {T_LOADING, "y\374kleniyor" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "belgeler" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "ay\375r\375lm\375\376 haf\375za byte lar\375" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Daha fazla bilgi" },
+ {T_NO_HISTORY, "Ge\347mi\376 yok" },
+ {T_NO_DOWNLOADS, "\335ndirilen dosya yok" },
+ {T_NO_FRAMES, "\307er\347eve yok" },
+ {T_VT_100_FRAMES, "VT 100 \347er\347eveleri" },
+ {T_LINUX_OR_OS2_FRAMES, "Linux ya da OS/2 \347er\347eveleri" },
+ {T_KOI8R_FRAMES, "KOI8-R \347er\347eveleri" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "^[[11m kullan" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "\307er\347eveleri cp850/852 i\347erisinde k\375s\375tla" },
+ {T_BLOCK_CURSOR, "Blok imle\347" },
+ {T_COLOR, "Renk" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Terminal se\347enekleri" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP vekil sunucu (host:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP vekil sunucu (host:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, NULL },
+ {T_NETWORK_OPTIONS, "A\360 Se\347enekleri" },
+ {T_MAX_CONNECTIONS, "Maximum ba\360lant\375" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Bir makinaya maximum ba\360lant\375" },
+ {T_RETRIES, "Tekrar deneme" },
+ {T_RECEIVE_TIMEOUT_SEC, "Zaman a\376\375m\375 (sn)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Tekrar ba\376lat\375lamazsa zaman a\376\375m\375" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "E\376zamanl\375 olmayan DNS sorgusu" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "Y\374klenen dosyalar\375n zamanlar\375n\375 belirle" },
+ {T_CACHE_OPTIONS, "\326nbellek Se\347enekleri" },
+ {T_MEMORY_CACHE_SIZE__KB, "Haf\375za \366nbellek boyutu (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Bi\347imlenmi\376 belge say\375s\375" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "Html se\347enekleri" },
+ {T_DISPLAY_TABLES, "Tablolar\375 g\366ster" },
+ {T_DISPLAY_FRAMES, "\307er\347eveleri g\366ster" },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Resimlere olan ba\360lant\375lar\375 g\366ster" },
+ {T_LINK_ORDER_BY_COLUMNS, "Tablolardaki s\374tunlara g\366re hareket et" },
+ {T_NUMBERED_LINKS, "Ba\360lant\375lar numaraland\375r\375ls\375n" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Metin bo\376lu\360u" },
+ {T_DEFAULT_CODEPAGE, "Varsay\375lan karakter seti" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Sunucu taraf\375ndan belirlenmi\376 karakter setini \366nemseme" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "Adrese git" },
+ {T_GO_BACK, "Geri git" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Ge\347mi\376" },
+ {T_RELOAD, "Yenile" },
+ {T_NEW_WINDOW, "Yeni pencere" },
+ {T_SAVE_AS, "Farkl\375 Kaydet" },
+ {T_SAVE_URL_AS, "Adresi karkl\375 kaydet" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Bi\347imlenmi\376 belgeyi kaydet" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "Arkadaki ba\360lant\375lar\375 durdur" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "\326nbellekleri temizle" },
+ {T_RESOURCE_INFO, "Kaynak bilgisi" },
+ {T_OS_SHELL, "Sistem kabu\360u" },
+ {T_EXIT, "\307\375k" },
+ {T_SEARCH, "Ara" },
+ {T_SEARCH_BACK, "Geriye do\360ru ara" },
+ {T_FIND_NEXT, "Tekrar ara" },
+ {T_FIND_PREVIOUS, "Geriye do\360ru ara" },
+ {T_TOGGLE_HTML_PLAIN, "html/plain a\347/kapa" },
+ {T_DOCUMENT_INFO, "Belge bilgisi" },
+ {T_FRAME_AT_FULL_SCREEN, "Tam ekranda \347er\347eve" },
+ {T_SAVE_HTML_OPTIONS, "Html se\347eneklerini kaydet" },
+ {T_CHARACTER_SET, "Karakter Seti" },
+ {T_CACHE, "\326nbellek" },
+ {T_MAIL_AND_TELNEL, "Posta ve Telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "Associations" },
+ {T_FILE_EXTENSIONS, "Dosya uzant\375lar\375" },
+ {T_SAVE_OPTIONS, "Se\347enekleri kaydet" },
+ {T_FILE, "Dosya" },
+ {T_VIEW, "G\366r\374n\374m" },
+ {T_LINK, "Ba\360lant\375lar" },
+ {T_DOWNLOADS, "\335ndirilenler" },
+ {T_SETUP, "Ayarlar" },
+ {T_HELP, "Yard\375m" },
+ {T_ENTER_URL, "Adres gir" },
+ {T_SAVE_URL, "Adresi kaydet" },
+ {T_DOWNLOAD, "\335ndir" },
+ {T_SAVE_TO_FILE, "Dosyaya kaydet" },
+ {T_SEARCH_FOR_TEXT, "Metini ara" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "S\375raya at\375l\375yor" },
+ {T_LOOKING_UP_HOST, "Makina sorgulan\375yor" },
+ {T_MAKING_CONNECTION, "Ba\360lant\375 yap\375l\375yor" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, NULL },
+ {T_REQUEST_SENT, "\335stek g\366nderildi" },
+ {T_GETTING_HEADERS, "Ba\376l\375klar al\375n\375yor" },
+ {T_LOGGING_IN, NULL },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Sunucu iste\360i i\376letiyor" },
+ {T_TRANSFERRING, "Transfer ediliyor" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "Y\366nlendirme onay\375 i\347in bekleniyor" },
+ {T_INTERRUPTED, "Kesildi" },
+ {T_SOCKET_EXCEPTION, "Soket sorunu" },
+ {T_INTERNAL_ERROR, "\335\347sel hata" },
+ {T_OUT_OF_MEMORY, "Haf\375za yetmiyor" },
+ {T_HOST_NOT_FOUND, "Makina bulunamad\375" },
+ {T_ERROR_WRITING_TO_SOCKET, "Sokete yazarken hata" },
+ {T_ERROR_READING_FROM_SOCKET, "Soketten okurken hata" },
+ {T_DATA_MODIFIED, "Veri d\374zenlendi" },
+ {T_BAD_URL_SYNTAX, "Hatal\375 adres yaz\375m\375" },
+ {T_RECEIVE_TIMEOUT, "Zaman a\376\375m\375" },
+ {T_REQUEST_MUST_BE_RESTARTED, "\335stek tekrar yap\375lmal\375" },
+ {T_CANT_GET_SOCKET_STATE, "Soket durumu al\375nam\375yor" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Hatal\375 HTTP cevab\375" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "\335\347erik YOK" },
+ {T_UNKNOWN_FILE_TYPE, "Bilinmeyen dosya t\374r\374" },
+ {T_ERROR_OPENING_FILE, "Dosya a\347\375l\375rken hata" },
+ {T_BAD_FTP_RESPONSE, "Hatal\375 FTP cevab\375" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP servisi kullan\375lam\375yor" },
+ {T_BAD_FTP_LOGIN, "Hatal\375 FTP kullan\375c\375s\375" },
+ {T_FTP_PORT_COMMAND_FAILED, "FTP PORT komutu sonland\375" },
+ {T_FILE_NOT_FOUND, "Dosya bulunamad\375" },
+ {T_FTP_FILE_ERROR, "FTP dosya hatas\375" },
+ {T_UNKNOWN_ERROR, "Bilinmeyen hata" },
+ {T_RECEIVED, "Al\375nd\375" },
+ {T_OF, "/" },
+ {T_AVG, "ortalama" },
+ {T_CUR, "\376imdiki" },
+ {T_AVERAGE_SPEED, "Ortalama h\375z" },
+ {T_SPEED, "H\375z" },
+ {T_CURRENT_SPEED, "\336imdiki h\375z" },
+ {T_ELAPSED_TIME, "Ge\347en zaman" },
+ {T_ESTIMATED_TIME, "Hesaplanan zaman" },
+ {T_BACKGROUND, "Arkaplan" },
+ {T_ABORT, "\307\375k" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "Evet" },
+ {T_NO, "Hay\375r" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "\335ndirme hatas\375" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Dosya yarat\375lam\375yor" },
+ {T_ERROR_DOWNLOADING, "Error downloading" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "Dosya yarat\375lam\375yor" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Bilinmeyen t\374r" },
+ {T_CONTENT_TYPE_IS, "Content-Type" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Bu dosyay\375 kaydetmek mi yoksa g\366r\374nt\374lemek mi istersiniz?" },
+ {T_SAVE, "Kaydet" },
+ {T_DISPLAY, "G\366r\374nt\374le" },
+ {T_WHAT_TO_DO, "Ne yapacaks\375n\375z?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Dosyay\375 program ile a\347" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "kaydet ya da g\366r\374nt\374le" },
+ {T_OPEN, "A\347" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Y\366nlendirmeyi izlemek ve form bilgisini adrese g\366ndermek istiyor musunuz" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Form bilgisini adrese g\366ndermek istiyor musunuz" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Form bilgisini adrese tekrar g\366ndermek istiyor musunuz" },
+ {T_WARNING, "Uyar\375" },
+ {T_ERROR, "Hata" },
+ {T_WELCOME, "Ho\376geldin" },
+ {T_WELCOME_TO_LINKS, "Links'e ho\376geldiniz!" },
+ {T_BASIC_HELP, "Men\374 i\347in ESC ye bas\375n. Kullan\375c\375 klavuzu i\347in Yard\375m->K\375lavuz 'u se\347in." },
+ {T_LABEL, "Etiketler" },
+ {T_CONTENT_TYPES, "Content-Type(s)" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' dosya ad\375 ile de\360i\376tirildi)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Program \347al\375\376\375rken terminali kilitle" },
+ {T_RUN_ON_TERMINAL, "Terminalde \347al\375\376t\375r" },
+ {T_RUN_IN_XWINDOW, "X-Window'da \347al\375\376t\375r" },
+ {T_ASK_BEFORE_OPENING, "A\347madan \366nce sor" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Association sil" },
+ {T_ASSOCIATION, "Association" },
+ {T_EXTENSION_S, "Uzant\375(lar)" },
+ {T_CONTENT_TYPE, "Content-Type" },
+ {T_DELETE_EXTENSION, "Uzant\375y\375 sil" },
+ {T_EXTENSION, "Uzant\375" },
+ {T_eXTENSION, "uzant\375" },
+ {T_ERROR_WHILE_POSTING_FORM, "Fromu g\366nderirken hata" },
+ {T_COULD_NOT_GET_FILE, "Dosya al\375nam\375yor" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Geri arama yok" },
+ {T_SEARCH_STRING_NOT_FOUND, "Aranan s\366z dizimi bulunamad\375" },
+ {T_SAVE_ERROR, "Kaydetme hatas\375" },
+ {T_ERROR_WRITING_TO_FILE, "Dosyaya yazarken hata" },
+ {T_DISPLAY_USEMAP, "Haritay\375 g\366r\374nt\374le" },
+ {T_FOLLOW_LINK, "Ba\360lant\375y\375 takip et" },
+ {T_OPEN_IN_NEW_WINDOW, "Yeni pencerede a\347" },
+ {T_DOWNLOAD_LINK, "Ba\360lant\375y\375 indir" },
+ {T_RESET_FORM, "Formu Temizle" },
+ {T_SUBMIT_FORM, "Forumu G\366nder" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Formu g\366nder ve yeni pencerede a\347" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Formu g\366nder ve indir" },
+ {T_VIEW_IMAGE, "Resmi g\366ster" },
+ {T_DOWNLOAD_IMAGE, "Resmi indir" },
+ {T_NO_LINK_SELECTED, "Ba\360lant\375 se\347ilmedi" },
+ {T_IMAGE, "Resim" },
+ {T_USEMAP, "Harita" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, NULL },
+ {T_SCREEN, "Ekran" },
+ {T_WINDOW, "Pencere" },
+ {T_FULL_SCREEN, "Tam ekran" },
+ {T_BEOS_TERMINAL, "BeOS terminali" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "Formu g\366nder" },
+ {T_POST_FORM_TO, "Formu yolla" },
+ {T_RADIO_BUTTON, "Radyo d\374\360mesi" },
+ {T_CHECKBOX, "\335\376aret kutusu" },
+ {T_SELECT_FIELD, "Alan\375 se\347" },
+ {T_TEXT_FIELD, "Metin sat\375r\375" },
+ {T_TEXT_AREA, "Metin alan\375" },
+ {T_FILE_UPLOAD, "Dosya y\374kle" },
+ {T_PASSWORD_FIELD, "Parola alan\375" },
+ {T_BUTTON, NULL },
+ {T_NAME, "isim" },
+ {T_VALUE, "de\360er" },
+ {T_HIT_ENTER_TO, "ENTER a bas\375n" },
+ {T_SUBMIT_TO, "g\366nder" },
+ {T_POST_TO, "yolla" },
+ {T_INFO, "Bilgi" },
+ {T_HEADER_INFO, NULL },
+ {T_YOU_ARE_NOWHERE, "Hi\347bir yerde de\360ilsin!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "Adres" },
+ {T_SIZE, "Boyut" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "tamamlanmam\375\376" },
+ {T_CODEPAGE, "Karakter seti" },
+ {T_ASSUMED, "tahmin edilen" },
+ {T_IGNORING_SERVER_SETTING, "sunucu ayarlar\375 g\366zard\375 ediliyor" },
+ {T_SERVER, "Sunucu" },
+ {T_DATE, "Tarih" },
+ {T_LAST_MODIFIED, "Son g\374ncelleme" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "Dil" },
+ {T_GO_TO_LINK, "Ba\360lant\375ya git" },
+ {T_ENTER_LINK_NUMBER, "Ba\360lant\375 numaras\375n\375 gir" },
+ {T_RESIZE_TERMINAL, "Terminali boyutland\375r" },
+ {T_COLUMNS, "S\374tunlar" },
+ {T_ROWS, "Sat\375rlar" },
+ {T_GOTO, "Git" },
+ {T_CLOSE, "Kapat" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "Ekle" },
+ {T_DELETE, "Sil" },
+ {T_EDIT, "D\374zenle" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "Yer imleri" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "Yer imi ekle" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, "Yer imi ba\376l\375\360\375" },
+ {T_EDIT_BOOKMARK, "Yer imini d\374zenle" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "Yer imini sil" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "Yer imi y\366neticisi" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, "adres" },
+ {T_NNAME, "\335sim" },
+ {T_EXIT_LINKS, "Links'den \347\375k" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Links'den ger\347ekten \347\375kmak istiyor musunuz?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Ger\347ekten Links'den \347\375kmak (ve t\374m indirilenleri durdurmak) istiyor musunuz?" },
+ {T_HTTP_OPTIONS, "HTTP se\347enekleri" },
+ {T_FTP_OPTIONS, "FTP se\347enekleri" },
+ {T_HTTP_BUG_WORKAROUNDS, "HTTP hatal\375 sunucular" },
+ {T_USE_HTTP_10, "HTTP/1.0 kullan" },
+ {T_ALLOW_SERVER_BLACKLIST, "Hatal\375 sunucular karalistesini olu\376tur" },
+ {T_BROKEN_302_REDIRECT, "Hatal\375 y\366nlendirme 302 (RFC'ye uymuyor, fakat Netscape ile uyumlu)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "POST iste\360inden sonra keepalive ba\360lant\375s\375 yok (baz\375 hatal\375 PHP veri tabanlar\375 buna ihtiya\347 duyuyor)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Anonim kullan\375c\375 i\347in \376ifre" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "Kullan\375c\375 klavuzu" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, "Posta program\375 (% adresi ile de\360i\376tiriliyor)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "Telnet program\375 (% \"host\" or \"host port\" ile de\360i\376tiriliyor)" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Tn3270 program\375 (% \"host\" or \"host port\" ile de\360i\376tiriliyor)" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Posta ve Telnet programlar\375" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "Program yok" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "Program belirlenmemi\376:" },
+ {T_MAIL, "posta" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, "tn3270" },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "Adrese posta g\366nder" },
+ {T_BAD_TELNET_URL, "Hatal\375 telnet adresi" },
+ {T_BAD_TN3270_URL, NULL },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, NULL },
+ {T_PASSWORD, NULL },
+ {T_ENTER_USERNAME, NULL },
+ {T_AT, NULL },
+ {T_SSL_ERROR, NULL },
+ {T_NO_SSL, NULL },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "G" },
+ {T_HK_GO_BACK, "R" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, "M" },
+ {T_HK_RELOAD, "N" },
+ {T_HK_BOOKMARKS, "Y" },
+ {T_HK_NEW_WINDOW, "Y" },
+ {T_HK_SAVE_AS, "K" },
+ {T_HK_SAVE_URL_AS, "A" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "B" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "O" },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, "T" },
+ {T_HK_RESOURCE_INFO, "B" },
+ {T_HK_MEMORY_INFO, "H" },
+ {T_HK_OS_SHELL, "T" },
+ {T_HK_RESIZE_TERMINAL, "B" },
+ {T_HK_EXIT, "K" },
+ {T_HK_SEARCH, "A" },
+ {T_HK_SEARCH_BACK, "G" },
+ {T_HK_FIND_NEXT, "T" },
+ {T_HK_FIND_PREVIOUS, "R" },
+ {T_HK_TOGGLE_HTML_PLAIN, "H" },
+ {T_HK_DOCUMENT_INFO, "B" },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "E" },
+ {T_HK_HTML_OPTIONS, "S" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "K" },
+ {T_HK_LANGUAGE, "L" },
+ {T_HK_CHARACTER_SET, "K" },
+ {T_HK_TERMINAL_OPTIONS, "N" },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "A" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "O" },
+ {T_HK_MAIL_AND_TELNEL, "P" },
+ {T_HK_ASSOCIATIONS, "S" },
+ {T_HK_FILE_EXTENSIONS, "U" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "Y" },
+ {T_HK_ABOUT, "H" },
+ {T_HK_KEYS, "T" },
+ {T_HK_COPYING, "K" },
+ {T_HK_MANUAL, "L" },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "D" },
+ {T_HK_VIEW, "G" },
+ {T_HK_LINK, "B" },
+ {T_HK_DOWNLOADS, "N" },
+ {T_HK_SETUP, "A" },
+ {T_HK_HELP, "Y" },
+ {T_HK_DISPLAY_USEMAP, "H" },
+ {T_HK_FOLLOW_LINK, "T" },
+ {T_HK_OPEN_IN_NEW_WINDOW, "Y" },
+ {T_HK_DOWNLOAD_LINK, "N" },
+ {T_HK_RESET_FORM, "T" },
+ {T_HK_SUBMIT_FORM, "G" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "V" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "N" },
+ {T_HK_VIEW_IMAGE, "R" },
+ {T_HK_DOWNLOAD_IMAGE, "D" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, "X" },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, "A" },
+ {T_HK_WINDOW, "P" },
+ {T_HK_FULL_SCREEN, "T" },
+ {T_HK_BEOS_TERMINAL, "B" },
+ { 0, NULL }
+};
+
+static struct translation translation_ukrainian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "koi8-u" },
+ {T__LANGUAGE, "Ukrainian" },
+ {T__ACCEPT_LANGUAGE, "uk" },
+ {T_OK, "\365\307\325" },
+ {T_CANCEL, "\363\313\301\323\325\327\301\324\311" },
+ {T_BAD_NUMBER, "\356\305\320\322\301\327\311\314\330\316\305 \336\311\323\314\317" },
+ {T_NUMBER_EXPECTED, "\367 \320\317\314\246 \315\301\244 \302\325\324\330 \336\311\323\314\317" },
+ {T_NUMBER_OUT_OF_RANGE, "\376\311\323\314\317 \327\311\310\317\304\311\324\330 \332\301 \320\322\311\320\325\323\324\311\315\246 \315\305\326\246" },
+ {T_BAD_STRING, "\356\305\320\322\301\327\311\314\330\316\311\312 \322\321\304\317\313" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "\360\317\322\317\326\316\246 \322\321\304\313\311 \316\305\304\317\320\325\323\324\311\315\246" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "\360\317\315\311\314\313\301 \313\317\316\306\246\307\325\322\301\303\246\247" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "\356\305 \315\317\326\325 \332\301\320\311\323\301\324\311 \306\301\312\314 \313\317\316\306\246\307\325\322\301\303\246\247" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "\360\322\317 \320\322\317\307\322\301\315\325" },
+ {T_LINKS__LYNX_LIKE, "Links, \327\305\322\323\246\321 " VERSION_STRING "\n\n \360\317\304\246\302\316\311\312 \304\317 Lynx \324\305\313\323\324\317\327\311\312 \327\305\302-\302\322o\325\332\305\322" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "K\314\301\327\246\333\246" },
+ {T_KEYS_DESC, "ESC \315\305\316\300\n^C, q \327\311\310\246\304\n^P, ^N \320\322\317\313\322\325\324\313\301 \327\307\317\322\325-\327\316\311\332\n[, ] \320\322\317\313\322\325\324\313\301 \327\314\246\327\317-\327\320\322\301\327\317\nup, down \327\311\302\246\322 \320\317\323\311\314\301\316\316\321\n-> \320\305\322\305\310\246\304 \332\301 \320\317\323\311\314\301\316\316\321\315\n<- \316\301\332\301\304\ng \320\305\322\305\312\324\311 \304\317 \316\317\327\317\307\317 URL\nG \320\305\322\305\312\324\311 \304\317 URL, \321\313\311\312 \302\301\332\325\244\324\330\323\321 \316\301 \320\317\324\317\336\316\317\315\325\n/ \320\317\333\325\313\n? \332\327\317\322\317\324\316\246\312 \320\317\333\325\313\nn \333\325\313\301\324\311 \304\301\314\246\nN \333\325\313\301\324\311 \327\307\317\322\325\n= \246\316\306\317\322\315\301\303\246\321 \320\322\317 \304\317\313\325\315\305\316\324\n\\ \320\317\313\301\332\301\324\311 \313\317\304 HTML\nd \332\301\327\301\316\324\301\326\311\324\311" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "\354\246\303\305\316\332\246\321" },
+ {T_COPYING_DESC, "\343\321 \320\322\317\307\322\301\315\301 \244 \302\305\332\313\317\333\324\317\327\316\311\315 \360\372; \327\311 \315\317\326\305\324\305 \322\317\332\320\317\327\323\300\304\326\325\327\301\324\311 \324\301/\301\302\317 \315\317\304\311\306\246\313\325\327\301\324\311 \247\247 \332\307\246\304\316\317 \314\246\303\305\316\332\246\247 GNU, \321\313\301 \317\320\325\302\314\246\313\317\327\301\316\301 \"\346\317\316\304\317\315 \302\305\332\313\317\333\324\317\327\316\317\307\317 \320\322\317\307\322\301\315\316\317\307\317 \332\301\302\305\332\320\305\336\305\316\316\321\" (FSF); \327\305\322\323\246\247 2 \354\246\303\305\316\332\246\247, \301\302\317 (\332\301 \327\301\333\311\315 \302\301\326\301\316\316\321\315) \302\246\314\330\333 \320\246\332\316\330\317\247 \327\305\322\323\246\247" },
+ {T_RESOURCES, "\362\305\323\325\322\323\311" },
+ {T_CONNECTIONS, "\372'\244\304\316\301\316\316\321" },
+ {T_MEMORY_CACHE, "\353\305\333 \327 \320\301\315'\321\324\246" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, NULL },
+ {T_IMAGE_CACHE, NULL },
+ {T_FORMATTED_DOCUMENT_CACHE, "\353\305\333 \327\246\304\306\317\322\315\301\324\317\327\301\316\311\310 \304\317\313\325\315\305\316\324\246\327" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "\310\305\316\304\314\246\327" },
+ {T_TIMERS, "\324\301\312\315\305\322\246\327" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "\323\324\327\317\322\300\300\324\330\323\321" },
+ {T_tRANSFERRING, "\320\305\322\305\304\301\336" },
+ {T_KEEPALIVE, "\332\302\305\322\305\326\305\316\316\321 \332\327'\321\332\313\325" },
+ {T_BYTES, "\302\301\312\324" },
+ {T_LETTERS, NULL },
+ {T_FILES, "\306\301\312\314\246\327" },
+ {T_LOCKED, "\302\314\317\313\317\327\301\316\317" },
+ {T_LOADING, "\332\301\327\301\316\324\301\326\325\244\324\330\323\321" },
+ {T_IMAGES, NULL },
+ {T_DOCUMENTS, "\304\317\313\325\315\305\316\324\246\327" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "\302\301\312\324\246\327 \327\311\304\246\314\305\316\317" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "\266\316\306\317\322\315\301\303\246\321 \320\322\317 \320\301\315'\321\324\330" },
+ {T_NO_HISTORY, "\366\325\322\316\301\314 \320\317\322\317\326\316\246\312" },
+ {T_NO_DOWNLOADS, "\356\305\315\301\244 \332\301\327\301\316\324\301\326\305\316\330" },
+ {T_NO_FRAMES, "\342\305\332 \322\301\315\317\313" },
+ {T_VT_100_FRAMES, "\362\301\315\313\311 VT 100" },
+ {T_LINUX_OR_OS2_FRAMES, "\362\301\315\313\311 Linux \336\311 OS/2" },
+ {T_KOI8R_FRAMES, "\362\301\315\313\311 KOI8-R" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "\367\311\313\317\322\311\323\324\317\327\325\327\301\324\311 ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "\344\305\321\313\246 \322\301\315\313\311 \332 cp850/852" },
+ {T_BLOCK_CURSOR, "\360\322\321\315\317\313\325\324\316\311\312 \313\325\322\323\317\322" },
+ {T_COLOR, "\353\317\314\330\317\322\311" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "\360\301\322\301\315\305\324\322\311 \324\305\322\315i\316\301\314\325" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP-\320\322\317\313\323\246 (\323\305\322\327\305\322:\320\317\322\324)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP-\320\322\317\313\323\246 (\323\305\322\327\305\322:\320\317\322\324)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "\344\317\315\305\316\311, \304\317 \321\313\311\310 \312\324\311 \302\305\332 \320\322\317\313\323\246(\336\305\322\305\332 \313\317\315\325)" },
+ {T_NETWORK_OPTIONS, "\355\305\322\305\326\316\246 \320a\322\301\315\305\324\322\311" },
+ {T_MAX_CONNECTIONS, "\355\301\313\323. \336\311\323\314\317 \332'\244\304\316\301\316\330" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "\355\301\313\323. \336\311\323\314\317 \332'\244\304\316\301\316\330 \332 \317\304\316\311\315 \323\305\322\327\305\322\317\315" },
+ {T_RETRIES, "\363\320\322\317\302" },
+ {T_RECEIVE_TIMEOUT_SEC, "\364\301\312\315\301\325\324 \316\301 \320\322\311\312\317\315 (\323\305\313.)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "\364\301\312\315\301\325\324, \313\317\314\311 \304\317\313\301\336\313\301 \316\305\315\317\326\314\311\327\301" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "\341\323\311\316\310\322\317\316\316\305 \332\327\305\322\316\305\316\316\321 \304\317 DNS" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "\367\311\323\324\301\327\314\305\316\316\321 \336\301\323\325 \304\314\321 \332\301\327\301\316\324\301\326\305\316\311\310 \306\301\312\314\246\327" },
+ {T_CACHE_OPTIONS, "\360\301\322\301\315\305\324\322\311 \313\305\333\325" },
+ {T_MEMORY_CACHE_SIZE__KB, "\362\317\332\315\246\322 \313\305\333\325 \327 \320\301\315'\321\324\246 (\313\302)" },
+ {T_IMAGE_CACHE_SIZE__KB, NULL },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "\353\246\314\330\313\246\323\324\330 \327\246\304\306\317\322\315\301\324\317\327\301\316\311\310 \304\317\313\325\315\305\316\324\246\327" },
+ {T_AGGRESSIVE_CACHE, NULL },
+ {T_HTML_OPTIONS, "\360\301\322\301\315\305\324\322\311 HTML" },
+ {T_DISPLAY_TABLES, "\364\301\302\314\311\303\246" },
+ {T_DISPLAY_FRAMES, "\346\322\305\312\315\311" },
+ {T_DISPLAY_IMAGES, NULL },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "\360\317\323\311\314\301\316\316\321 \316\301 \332\317\302\322\301\326\305\316\316\321" },
+ {T_LINK_ORDER_BY_COLUMNS, "\362\325\310\301\324\311\323\330 \320\317 \323\324\317\327\320\336\311\313\301\315 \324\301\302\314\311\303\330" },
+ {T_NUMBERED_LINKS, "\356\325\315\305\322\325\327\301\324\311 \314\246\316\313\311" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "\367\246\304\323\324\325\320" },
+ {T_DEFAULT_CODEPAGE, "\353\317\304\325\327\301\316\316\321 \332\301 \332\315\317\327\336\301\316\316\321\315" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "\266\307\316\317\322\325\327\301\324\311 \316\301\304\246\323\314\301\316\305 \323\305\322\327\305\322\317\315 \313\317\304\325\327\301\316\316\321" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "\360e\322\305\312\324\311 \304\317..." },
+ {T_GO_BACK, "\360o\327\305\322\316\325\324\311\323\321 \316\301\332\301\304" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "\366\325\322\316\301\314" },
+ {T_RELOAD, "\357\316\317\327\311\324\311" },
+ {T_NEW_WINDOW, "\356\317\327\305 \327\246\313\316\317" },
+ {T_SAVE_AS, "\372\302\305\322\305\307\324\311 \321\313" },
+ {T_SAVE_URL_AS, "\372\302\305\322\305\307\324\311 URL \321\313" },
+ {T_SAVE_FORMATTED_DOCUMENT, "\372\302\305\322\305\307\324\311 \327\246\304\306\317\322\315\301\324\317\327\301\316\311\312 \304\317\313\325\315\305\316\324" },
+ {T_COPY_URL_LOCATION, NULL },
+ {T_KILL_BACKGROUND_CONNECTIONS, "\362\317\332\246\322\327\301\324\311 \306\317\316\317\327\246 \332'\244\304\316\301\316\316\321" },
+ {T_KILL_ALL_CONNECTIONS, NULL },
+ {T_FLUSH_ALL_CACHES, "\357\336\311\323\324\311\324\311 \327\323\246 \313\305\333\246" },
+ {T_RESOURCE_INFO, "\266\316\306\317\322\315\301\303\246\321 \320\322\317 \322\305\323\325\322\323\311" },
+ {T_OS_SHELL, "\357\302\317\314\317\316\313\301 \313\317\322\311\323\324\325\327\301\336\301" },
+ {T_EXIT, "\367\311\310\246\304" },
+ {T_SEARCH, "\360\317\333\325\313" },
+ {T_SEARCH_BACK, "\372\327\317\322\317\324\316\246\312 \320\317\333\325\313" },
+ {T_FIND_NEXT, "\373\325\313\301\324\311 \304\301\314\246" },
+ {T_FIND_PREVIOUS, "\373\325\313\301\324\311 \316\301\332\301\304" },
+ {T_TOGGLE_HTML_PLAIN, "\360\305\322\305\315\311\313\301\336 HTML/\324\305\313\323\324" },
+ {T_DOCUMENT_INFO, "\266\316\306\317\322\315\301\303\246\321 \320\322\317 \304\317\313\325\315\305\316\324" },
+ {T_FRAME_AT_FULL_SCREEN, "\346\322\305\312\315 \316\301 \327\305\323\330 \305\313\322\301\316" },
+ {T_SAVE_HTML_OPTIONS, "\372\302\305\322\305\307\324\311 \320\301\322\301\315\305\324\322\311 HTML" },
+ {T_CHARACTER_SET, "\353\317\304\325\327\301\316\316\321" },
+ {T_CACHE, "\353\305\333" },
+ {T_MAIL_AND_TELNEL, "\360\317\333\324\301 \324\301 telnet" },
+ {T_MAIL_TELNET_AND_SHELL, NULL },
+ {T_ASSOCIATIONS, "\363\320\246\327\323\324\301\327\314\305\316\316\321" },
+ {T_FILE_EXTENSIONS, "\362\317\332\333\311\322\305\316\316\321 \306\301\312\314\246\327" },
+ {T_SAVE_OPTIONS, "\372\302\305\322\305\307\324\311 \320\301\322\301\315\305\324\322\311" },
+ {T_FILE, "\346\301\312\314" },
+ {T_VIEW, "\367\311\307\314\321\304" },
+ {T_LINK, "\360\317\323\311\314\301\316\316\321" },
+ {T_DOWNLOADS, "\372\301\327\301\316\324\301\326\305\316\316\321" },
+ {T_SETUP, "\360\301\322\301\315\305\324\322\311" },
+ {T_HELP, "\344\317\320\317\315\317\307\301" },
+ {T_ENTER_URL, "\367\327\305\304\246\324\330 URL" },
+ {T_SAVE_URL, "\372\302\305\322\305\307\324\311 URL" },
+ {T_DOWNLOAD, "\372\301\327\301\316\324\301\326\305\316\316\321" },
+ {T_SAVE_TO_FILE, "\372\301\320\311\323\301\324\311 \304\317 \306\301\312\314\325" },
+ {T_SEARCH_FOR_TEXT, "\360\317\333\325\313 \324\305\313\323\324\325" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "\357\336\246\313\325\327\301\316\316\321 \327 \336\305\322\332\246" },
+ {T_LOOKING_UP_HOST, "\367\311\332\316\301\336\305\316\316\321 \246\315\305\316\246 \323\305\322\327\305\322\325" },
+ {T_MAKING_CONNECTION, "\363\324\327\317\322\305\316\316\321 \332'\244\304\316\301\316\316\321" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, NULL },
+ {T_REQUEST_SENT, "\372\301\320\311\324 \316\301\304\246\323\314\301\316\317" },
+ {T_GETTING_HEADERS, "\357\324\322\311\315\301\316\316\321 \332\301\307\317\314\317\327\313\246\327" },
+ {T_LOGGING_IN, NULL },
+ {T_SERVER_IS_PROCESSING_REQUEST, "\363\305\322\327\305\322 \317\302\322\317\302\314\300\244 \332\301\320\311\324" },
+ {T_TRANSFERRING, "\360\305\322\305\304\301\336\301" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "\357\336\246\313\325\327\301\316\316\321 \320\246\304\324\327\305\322\304\326\305\316\316\321 \320\305\322\305\316\301\320\322\321\315\314\305\316\316\321" },
+ {T_INTERRUPTED, "\360\305\322\305\322\327\301\316\317" },
+ {T_SOCKET_EXCEPTION, "\367\311\313\314\300\336\305\316\316\321 \327 \323\317\313\305\324\246" },
+ {T_INTERNAL_ERROR, "\367\316\325\324\322\246\333\316\321 \320\317\315\311\314\313\301" },
+ {T_OUT_OF_MEMORY, "\356\305\323\324\301\336\301 \320\301\315'\321\324\246" },
+ {T_HOST_NOT_FOUND, "\363\305\322\327\305\322 \316\305 \332\316\301\312\304\305\316\317" },
+ {T_ERROR_WRITING_TO_SOCKET, "\360\317\315\311\314\313\301 \332\301\320\311\323\325 \327 \323\317\313\305\324" },
+ {T_ERROR_READING_FROM_SOCKET, "\360\317\315\311\314\313\301 \336\311\324\301\316\316\321 \332 \323\317\313\305\324\325" },
+ {T_DATA_MODIFIED, "\344\301\324\325 \332\315\246\316\305\316\317" },
+ {T_BAD_URL_SYNTAX, "\356\305\320\322\301\327\311\314\330\316\311\312 \323\311\316\324\301\313\323\311\323 URL" },
+ {T_RECEIVE_TIMEOUT, "\364\301\312\315-\301\325\324 \320\246\304 \336\301\323 \336\311\324\301\316\316\321" },
+ {T_REQUEST_MUST_BE_RESTARTED, "\372\301\320\311\324 \320\317\324\322\246\302\316\317 \320\317\327\324\317\322\311\324\311" },
+ {T_CANT_GET_SOCKET_STATE, "\356\305\315\317\326\314\311\327\317 \317\324\322\311\315\301\324\311 \323\324\301\316 \323\317\313\305\324\325" },
+ {T_CYCLIC_REDIRECT, NULL },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "\356\305\320\322\301\327\311\314\330\316\301 \327\246\304\320\317\327\246\304\330 HTTP" },
+ {T_HTTP_100, "HTTP 100 (\?\?\?)" },
+ {T_NO_CONTENT, "\356\305\315\301 \246\316\306\317\322\315\301\303\246\247" },
+ {T_UNKNOWN_FILE_TYPE, "\356\305\327\246\304\317\315\311\312 \324\311\320 \306\301\312\314\325" },
+ {T_ERROR_OPENING_FILE, "\360\317\315\311\314\313\301 \327\246\304\313\322\311\324\324\321 \306\301\312\314\325" },
+ {T_BAD_FTP_RESPONSE, "\356\305\320\322\301\327\311\314\330\316\301 \327\246\304\320\317\327\246\304\330 FTP" },
+ {T_FTP_SERVICE_UNAVAILABLE, "\363\305\322\327\246\323 FTP \316\305\304\317\323\324\325\320\316\311\312" },
+ {T_BAD_FTP_LOGIN, "\356\305\327\304\301\314\305 FTP-\332'\244\304\316\301\316\316\321" },
+ {T_FTP_PORT_COMMAND_FAILED, "\353\317\315\301\316\304\301 FTP PORT \332\301\313\246\316\336\311\314\301\323\321 \316\305\327\304\301\314\317" },
+ {T_FILE_NOT_FOUND, "\346\301\312\314 \316\305 \332\316\301\312\304\305\316\317" },
+ {T_FTP_FILE_ERROR, "\360\317\315\311\314\313\301 \306\301\312\314\325 \316\301 FTP" },
+ {T_UNKNOWN_ERROR, "\356\305\327\246\304\317\315\301 \320\317\315\311\314\313\301" },
+ {T_RECEIVED, "\360\322\311\312\316\321\324\317" },
+ {T_OF, "\332" },
+ {T_AVG, "\327 \323\305\322\305\304\316\330\317\315\325" },
+ {T_CUR, "\320\317\324\317\336\316\301" },
+ {T_AVERAGE_SPEED, "\363\305\322\305\304\316\321 \333\327\311\304\313\246\323\324\330" },
+ {T_SPEED, "\373\327\311\304\313\246\323\324\330" },
+ {T_CURRENT_SPEED, "\320\317\324\317\336\316\301 \333\327\311\304\313\246\323\324\330" },
+ {T_ELAPSED_TIME, "\367\311\324\322\301\336\305\316\311\312 \336\301\323" },
+ {T_ESTIMATED_TIME, "\357\336\246\313\325\327\301\316\311\312 \336\301\323" },
+ {T_BACKGROUND, "\356\301 \324\314\246" },
+ {T_ABORT, "\360\305\322\305\322\327\301\324\311" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "\364\301\313" },
+ {T_NO, "\356\246" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "\360\317\315\311\314\313\301 \332\301\327\301\316\324\301\326\305\316\316\321" },
+ {T_COULD_NOT_WRITE_TO_FILE, "\356\305 \315\317\326\325 \320\311\323\301\324\311 \325 \306\301\312\314" },
+ {T_ERROR_DOWNLOADING, "\360\317\315\311\314\313\301 \332\301\327\301\316\324\301\326\305\316\316\321" },
+ {T_ERROR_LOADING, NULL },
+ {T_COULD_NOT_CREATE_FILE, "\356\305 \315\317\326\325 \323\324\327\317\322\311\324\311 \306\301\312\314" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "\356\305\327\246\304\317\315\311\312 \324\311\320" },
+ {T_CONTENT_TYPE_IS, "\364\311\320 \304\317\313\325\315\305\316\324\325" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, NULL },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "\367\311 \302 \310\317\324\246\314\311 \332\302\305\322\305\307\324\311 \336\311 \320\317\313\301\332\301\324\311 \303\305\312 \306\301\312\314?" },
+ {T_SAVE, "\372\302\305\322\305\307\324\311" },
+ {T_DISPLAY, "\360\317\313\301\332\301\324\311" },
+ {T_WHAT_TO_DO, "\375\317 \322\317\302\311\324\311?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "\342\301\326\301\244\324\305 \327\246\304\313\322\311\324\311 \306\301\312\314 \332\301 \304\317\320\317\315\317\307\317\300" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "\332\302\305\322\305\307\324\311 \336\311 \320\317\313\301\332\301\324\311 \312\317\307\317?" },
+ {T_OPEN, "\367\246\304\313\322\311\324\311" },
+ {T_OPEN_WITH, NULL },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "\342\301\326\301\244\324\305 \320\322\321\315\325\327\301\324\311 \332\301 \320\305\322\305\301\304\322\305\323\301\303\246\244\300 \324\301 \327\246\304\320\322\301\327\311\324\311 \327\315\246\323\324 \306\317\322\315\311 \332\301 \301\304\322\305\323\317\300" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "\367\311 \302\301\326\301\244\324\305 \327\246\304\320\322\301\327\311\324\311 \327\315\246\323\324 \306\317\322\315\311 \332\301 \301\304\322\305\323\317\300" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "\367\311 \302\301\326\301\244\324\305 \332\301\316\317\327\317 \327\246\304\320\322\301\327\311\324\311 \327\315\246\323\324 \306\317\322\315\311 \332\301 \301\304\322\305\323\317\300" },
+ {T_WARNING, "\360\317\320\305\322\305\304\326\305\316\316\321" },
+ {T_ERROR, "\360\317\315\311\314\313\301" },
+ {T_WELCOME, "\367\246\324\301\244\315\317" },
+ {T_WELCOME_TO_LINKS, "\354\301\323\313\301\327\317 \320\322\317\323\311\315\317 \304\317 Links!" },
+ {T_BASIC_HELP, "\356\301\324\311\323\316\246\324\330 ESC \335\317\302 \327\311\313\314\311\313\301\324\311 \315\305\316\300. \360\322\317\336\311\324\301\312\324\305 \246\316\323\324\322\325\313\303\246\300 \327 \315\305\316\300 '\344\317\320\317\315\317\307\301->\266\316\323\324\322\325\313\303\246\321'." },
+ {T_LABEL, "\355\246\324\313\301" },
+ {T_CONTENT_TYPES, "\364\311\320(\311) \304\301\316\311\310" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "\360\322\317\307\322\301\315\301 ('%' \332\301\315\246\316\300\244\324\330\323\321 \316\301 \246\315'\321 \306\301\312\314\325)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "\342\314\317\313\325\327\301\324\311 \324\305\322\315\246\316\301\314 \316\301 \336\301\323 \322\317\302\317\324\311 \320\322\317\307\322\301\315\311" },
+ {T_RUN_ON_TERMINAL, "\372\301\320\325\323\324\311\324\311 \327 \324\305\322\315\246\316\301\314\246" },
+ {T_RUN_IN_XWINDOW, "\372\301\320\325\323\324\311\324\311 \327 X-Window" },
+ {T_ASK_BEFORE_OPENING, "\363\320\311\324\301\324\311 \320\305\322\305\304 \327\246\304\313\322\311\324\324\321\315" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "\367\311\304\301\314\311\324\311 \323\320\246\327\323\324\301\327\314\305\316\316\321" },
+ {T_ASSOCIATION, "\363\320\246\327\323\324\301\327\314\305\316\316\321" },
+ {T_EXTENSION_S, "\362\317\332\333\311\322\305\316\316\321" },
+ {T_CONTENT_TYPE, "\364\311\320 \304\301\316\311\310" },
+ {T_DELETE_EXTENSION, "\367\311\304\301\314\311\324\311 \322\317\332\333\311\322\305\316\316\321" },
+ {T_EXTENSION, "\362\317\332\333\311\322\305\316\316\321" },
+ {T_eXTENSION, NULL },
+ {T_ERROR_WHILE_POSTING_FORM, "\360\317\315\311\314\313\301 \327\246\304\320\322\301\327\314\305\316\316\321 \306\317\322\315\311" },
+ {T_COULD_NOT_GET_FILE, "\356\305 \315\317\326\325 \317\324\322\311\315\301\324\311 \306\301\312\314" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "\360\317\333\325\313\325 \335\305 \316\305 \302\325\314\317" },
+ {T_SEARCH_STRING_NOT_FOUND, "\362\321\304\317\313 \316\305 \332\316\301\312\304\305\316\317" },
+ {T_SAVE_ERROR, "\360\317\315\311\314\313\301 \332\302\305\322\305\326\305\316\316\321" },
+ {T_ERROR_WRITING_TO_FILE, "\360\317\315\311\314\313\301 \332\301\320\311\323\325 \304\317 \306\301\312\314\325" },
+ {T_DISPLAY_USEMAP, "\367\246\304\317\302\322\301\332\311\324\311 \315\301\320\325" },
+ {T_FOLLOW_LINK, "\352\324\311 \332\301 \320\317\323\311\314\301\316\316\321\315" },
+ {T_OPEN_IN_NEW_WINDOW, "\367\246\304\313\322\311\324\311 \327 \316\317\327\317\315\325 \327\246\313\316\246" },
+ {T_DOWNLOAD_LINK, "\372\301\327\301\316\324\301\326\311\324\311 \332\301 \320\317\323\311\314\301\316\316\321\315" },
+ {T_RESET_FORM, "\357\336\311\323\324\311\324\311 \306\317\322\315\325" },
+ {T_SUBMIT_FORM, "\367\246\304\246\323\314\301\324\311 \306\317\322\315\325" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "\367\246\304\246\323\314\301\324\311 \306\317\322\315\325 \324\301 \327\246\304\313\322\311\324\311 \327 \316\317\327\317\315\325 \327\246\313\316\246" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "\367\246\304\246\323\314\301\324\311 \306\317\322\315\325 \324\301 \332\301\327\301\316\324\311\326\311\324\311" },
+ {T_VIEW_IMAGE, "\360\317\304\311\327\311\324\311\323\330 \332\317\302\322\301\326\305\316\316\321" },
+ {T_DOWNLOAD_IMAGE, "\372\301\327\301\316\324\311\326\311\324\311 \332\317\302\322\301\326\305\316\316\321" },
+ {T_NO_LINK_SELECTED, "\356\305\315\301\244 \327\311\302\322\301\316\311\310 \320\317\323\311\314\301\316\330" },
+ {T_IMAGE, "\372\317\302\322\301\326\305\316\316\321" },
+ {T_USEMAP, "\315\301\320\301 \320\317\323\311\314\301\316\330" },
+ {T_XTERM, "Xterm" },
+ {T_TWTERM, NULL },
+ {T_SCREEN, "\345\313\322\301\316" },
+ {T_WINDOW, "\367\246\313\316\317" },
+ {T_FULL_SCREEN, "\367\305\323\330 \305\313\322\301\316" },
+ {T_BEOS_TERMINAL, "\364\305\322\315\246\316\301\314 BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "\360\305\322\305\304\301\324\311 \306\317\322\315\325 \332\301 \301\304\322\305\323\317\300" },
+ {T_POST_FORM_TO, "\367\246\304\320\322\301\327\311\324\311 \306\317\322\315\325 \332\301 \301\304\322\305\323\317\300" },
+ {T_RADIO_BUTTON, "\362\301\304\246\317\313\316\317\320\313\301" },
+ {T_CHECKBOX, "\360\322\301\320\317\322\305\303\330" },
+ {T_SELECT_FIELD, "\360\317\314\305 \327\311\302\317\322\325" },
+ {T_TEXT_FIELD, "\364\305\313\323\324\317\327\305 \320\317\314\305" },
+ {T_TEXT_AREA, "\364\305\313\323\324\317\327\301 \317\302\314\301\323\324\330" },
+ {T_FILE_UPLOAD, "\360\246\304\327\301\316\324\301\326\305\316\316\321 \306\301\312\314\325" },
+ {T_PASSWORD_FIELD, "\367\327\305\304\246\324\330 \320\301\322\317\314\330" },
+ {T_BUTTON, NULL },
+ {T_NAME, "\246\315'\321" },
+ {T_VALUE, "\332\316\301\336\305\316\316\321" },
+ {T_HIT_ENTER_TO, "\316\301\324\311\323\316\246\324\330 ENTER, \335\317\302" },
+ {T_SUBMIT_TO, "\320\305\322\305\304\301\324\311 \332\301 \301\304\322\305\323\317\300" },
+ {T_POST_TO, "\327\246\304\320\322\301\327\311\324\311 \332\301 \301\304\322\305\323\317\300" },
+ {T_INFO, "\266\316\306\317\322\315\301\303\246\321" },
+ {T_HEADER_INFO, NULL },
+ {T_YOU_ARE_NOWHERE, "\367\311 \332\301\322\301\332 \316\246\304\305!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "\362\317\332\315\246\322" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "\316\305 \320\317\327\316\246\323\324\300" },
+ {T_CODEPAGE, "\353\317\304\317\327\301 \323\324\317\322\246\316\313\301" },
+ {T_ASSUMED, "\320\322\311\312\316\321\324\317" },
+ {T_IGNORING_SERVER_SETTING, "\246\307\316\317\322\325\327\301\324\311 \320\301\322\301\315\305\324\322\311 \323\305\322\327\305\322\325" },
+ {T_SERVER, "\363\305\322\327\305\322" },
+ {T_DATE, "\344\301\324\301" },
+ {T_LAST_MODIFIED, "\344\301\324\301 \315\317\304\311\306\246\313\301\303\246\247" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "\355\317\327\301" },
+ {T_GO_TO_LINK, "\352\324\311 \332\301 \320\317\323\311\314\301\316\316\321\315" },
+ {T_ENTER_LINK_NUMBER, "\367\327\305\304\246\324\330 \316\317\315\305\322 \320\317\323\311\314\301\316\316\321" },
+ {T_RESIZE_TERMINAL, "\372\315\246\316\311\324\311 \322\317\332\315\246\322\311 \324\305\322\315\311\316\301\314\325" },
+ {T_COLUMNS, "\363\324\317\327\320\336\311\313\311" },
+ {T_ROWS, "\362\321\304\313\311" },
+ {T_GOTO, "\352\324\311" },
+ {T_CLOSE, "\372\301\313\322\311\324\311" },
+ {T_FOLDER, NULL },
+ {T_fOLDER, NULL },
+ {T_ADD, "\344\317\304\301\324\311" },
+ {T_DELETE, "\363\324\305\322\324\311" },
+ {T_EDIT, "\362\305\304\301\307\325\327\301\324\311" },
+ {T_MOVE, NULL },
+ {T_NO_ITEMS_SELECTED, NULL },
+ {T_UNSELECT_ALL, NULL },
+ {T_BOOKMARKS, "\372\301\313\314\301\304\313\311" },
+ {T_BOOKMARK, NULL },
+ {T_ADD_BOOKMARK, "\344\317\304\301\324\311 \332\301\313\314\301\304\313\325" },
+ {T_ADD_ASSOCIATION, NULL },
+ {T_ADD_EXTENSION, NULL },
+ {T_ADD_FOLDER, NULL },
+ {T_BOOKMARK_TITLE, "\356\301\332\327\301 \332\301\313\314\301\304\313\311" },
+ {T_EDIT_BOOKMARK, "\362\305\304\301\307\325\327\301\324\311 \332\301\313\314\301\304\313\325" },
+ {T_EDIT_ASSOCIATION, NULL },
+ {T_EDIT_EXTENSION, NULL },
+ {T_DELETE_BOOKMARK, "\367\311\304\301\314\311\324\311 \332\301\313\314\301\304\313\325" },
+ {T_EDIT_FOLDER, NULL },
+ {T_DELETE_FOLDER, NULL },
+ {T_NOT_EMPTY_SURE_DELETE, NULL },
+ {T_BOOKMARK_MANAGER, "\362\317\302\317\324\301 \332 \332\301\313\314\301\304\313\301\315\311" },
+ {T_ASSOCIATIONS_MANAGER, NULL },
+ {T_EXTENSIONS_MANAGER, NULL },
+ {T_url, "URL" },
+ {T_NNAME, "\356\301\332\327\301" },
+ {T_EXIT_LINKS, "\367\311\310\246\304 \332 Links" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "\367\311 \304\246\312\323\316\317 \302\301\326\301\244\324\305 \327\311\312\324\311 \332 Links?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "\367\311 \304\246\312\323\316\317 \302\301\326\301\244\324\305 \327\311\312\324\311 \332 Links \324\301 \320\322\311\320\311\316\311\324\311 \327\323\246 \332\301\327\301\316\324\301\326\305\316\316\321?" },
+ {T_HTTP_OPTIONS, "\360\301\322\301\315\305\324\322\311 HTTP" },
+ {T_FTP_OPTIONS, "\360\301\322\301\315\305\324\322\311 FTP" },
+ {T_HTTP_BUG_WORKAROUNDS, "\357\302\310\317\304\311\324\311 \320\317\315\311\314\313\311 \327 HTTP" },
+ {T_USE_HTTP_10, "\367\311\313\317\322\311\323\324\317\327\325\327\301\324\311 HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "\367\316\317\323\311\324\311 \316\305\316\301\314\301\307\317\304\326\305\316\246 \323\305\322\327\305\322\311 \327 \336\317\322\316\311\312 \323\320\311\323\317\313" },
+ {T_BROKEN_302_REDIRECT, "\344\317\332\327\317\314\311\324\311 \316\305\320\322\301\327\311\314\330\316\325 302-\320\305\322\305\301\304\322\305\323\301\303\246\300 (\303\305 \316\305 \327\246\304\320\317\327\246\304\301\244 RFC, \310\317\336 \246 \323\325\315\246\323\316\317 \332 Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "\356\305 \320\246\304\324\322\311\315\325\327\301\324\311 keepalive \320\246\323\314\321 \332\301\320\322\317\323\325 POST (\320\317\324\322\246\302\316\317 \304\314\321 \304\305\321\313\311\310 \316\305\327\246\304\314\301\307\317\304\326\305\316\311\310 PHP-\302\301\332 \304\301\316\311\310)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, NULL },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "\360\301\322\317\314\330 \304\314\321 \301\316\317\316\246\315\316\317\307\317 \327\310\317\304\325" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "\266\316\323\324\322\325\313\303\246\321" },
+ {T_HOMEPAGE, NULL },
+ {T_CALIBRATION, NULL },
+ {T_MAILTO_PROG, "\360\317\333\324\317\327\301 \320\322\317\307\322\301\315\301 (% \332\301\315\246\316\300\244\324\330\323\321 \301\304\322\305\323\317\300)" },
+ {T_SHELL_PROG, NULL },
+ {T_TELNET_PROG, "\360\322\317\307\322\301\315\301 telnet (% \332\301\315\246\316\300\244\324\330\323\321 \316\301 'host' \301\302\317 'host port')" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "\360\322\317\307\322\301\315\301 tn3270 (% \332\301\315\246\316\300\244\324\330\323\321 \316\301 'host' \301\302\317 'host port')" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "\360\322\317\307\322\301\315\311 \304\314\321 \320\317\333\324\311 \324\301 telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, NULL },
+ {T_NO_PROGRAM, "\356\305\315\301\244 \320\322\317\307\322\301\315\311" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "\356\305 \327\313\301\332\301\316\317 \320\322\317\307\322\301\315\325 \304\314\321" },
+ {T_MAIL, "\320\317\333\324\311" },
+ {T_TELNET, NULL },
+ {T_MAGNET, NULL },
+ {T_TN3270, NULL },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "\356\305\320\322\301\327\311\314\330\316\301 \301\304\322\305\323\301 mailto:" },
+ {T_BAD_TELNET_URL, "\356\305\320\322\301\327\311\314\330\316\301 \301\304\322\305\323\301 telnet" },
+ {T_BAD_TN3270_URL, "\356\305\320\322\301\327\311\314\330\316\301 \301\304\322\305\323\301 tn3270" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, NULL },
+ {T_PROXY_AUTHORIZATION_REQUIRED, NULL },
+ {T_USERID, NULL },
+ {T_PASSWORD, NULL },
+ {T_ENTER_USERNAME, NULL },
+ {T_AT, NULL },
+ {T_SSL_ERROR, "\360\317\315\311\314\313\301 SSL" },
+ {T_NO_SSL, "\343\321 \327\305\322\323\246\321 Links \316\305 \320\246\304\324\322\311\315\325\244 SSL/TLS" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, NULL },
+ {T_BOOKMARKS_ALREADY_IN_USE, NULL },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, NULL },
+ {T_EXTENSIONS_ALREADY_IN_USE, NULL },
+ {T_VIDEO_OPTIONS, NULL },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, NULL },
+ {T_GREEN_DISPLAY_GAMMA, NULL },
+ {T_BLUE_DISPLAY_GAMMA, NULL },
+ {T_USER_GAMMA, NULL },
+ {T_ALERT, NULL },
+ {T_QUESTION, NULL },
+ {T_KILL_SCRIPT, NULL },
+ {T_KILL_ALL_SCRIPTS, NULL },
+ {T_SCRIPT_KILLED_BY_USER, NULL },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, NULL },
+ {T_ENTER_STRING, NULL },
+ {T_JAVASCRIPT_OPTIONS, NULL },
+ {T_ENABLE_JAVASCRIPT, NULL },
+ {T_VERBOSE_JS_ERRORS, NULL },
+ {T_VERBOSE_JS_WARNINGS, NULL },
+ {T_MISCELANEOUS_OPTIONS, NULL },
+ {T_JAVASCRIPT_ERROR, NULL },
+ {T_JAVASCRIPT_WARNING, NULL },
+ {T_DISMISS, NULL },
+ {T_MENU_FONT_SIZE, NULL },
+ {T_USER_FONT_SIZE, NULL },
+ {T_TURN_OFF_WARNINGS, NULL },
+ {T_BOOKMARKS_ENCODING, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, NULL },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, NULL },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, NULL },
+ {T_ALLOW, NULL },
+ {T_REJECT, NULL },
+ {T_ENABLE_ALL_CONVERSIONS, NULL },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, NULL },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, NULL },
+ {T_MENU_BACKGROUND_COLOR, NULL },
+ {T_MENU_FOREGROUND_COLOR, NULL },
+ {T_SCROLL_BAR_BAR_COLOR, NULL },
+ {T_SCROLL_BAR_AREA_COLOR, NULL },
+ {T_SCROLL_BAR_FRAME_COLOR, NULL },
+ {T_BOOKMARKS_FILE, NULL },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, NULL },
+ {T_JS_MEMORY_LIMIT_KB, NULL },
+ {T_DITHER_LETTERS, NULL },
+ {T_DITHER_IMAGES, NULL },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, NULL },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, NULL },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, NULL },
+ {T_ASPECT_RATIO, NULL },
+ {T_ASPECT_CORRECTION_ON, NULL },
+ {T_KEYBOARD_CODEPAGE, NULL },
+ {T_COPY_LINK_LOCATION, NULL },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, NULL },
+ {T_HK_GO_BACK, NULL },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, NULL },
+ {T_HK_RELOAD, NULL },
+ {T_HK_BOOKMARKS, NULL },
+ {T_HK_NEW_WINDOW, NULL },
+ {T_HK_SAVE_AS, NULL },
+ {T_HK_SAVE_URL_AS, NULL },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, NULL },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, NULL },
+ {T_HK_KILL_ALL_CONNECTIONS, NULL },
+ {T_HK_FLUSH_ALL_CACHES, NULL },
+ {T_HK_RESOURCE_INFO, NULL },
+ {T_HK_MEMORY_INFO, NULL },
+ {T_HK_OS_SHELL, NULL },
+ {T_HK_RESIZE_TERMINAL, NULL },
+ {T_HK_EXIT, NULL },
+ {T_HK_SEARCH, NULL },
+ {T_HK_SEARCH_BACK, NULL },
+ {T_HK_FIND_NEXT, NULL },
+ {T_HK_FIND_PREVIOUS, NULL },
+ {T_HK_TOGGLE_HTML_PLAIN, NULL },
+ {T_HK_DOCUMENT_INFO, NULL },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, NULL },
+ {T_HK_HTML_OPTIONS, NULL },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, NULL },
+ {T_HK_LANGUAGE, NULL },
+ {T_HK_CHARACTER_SET, NULL },
+ {T_HK_TERMINAL_OPTIONS, NULL },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, NULL },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, NULL },
+ {T_HK_MAIL_AND_TELNEL, NULL },
+ {T_HK_ASSOCIATIONS, NULL },
+ {T_HK_FILE_EXTENSIONS, NULL },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, NULL },
+ {T_HK_ABOUT, NULL },
+ {T_HK_KEYS, NULL },
+ {T_HK_COPYING, NULL },
+ {T_HK_MANUAL, NULL },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, NULL },
+ {T_HK_VIEW, NULL },
+ {T_HK_LINK, NULL },
+ {T_HK_DOWNLOADS, NULL },
+ {T_HK_SETUP, NULL },
+ {T_HK_HELP, NULL },
+ {T_HK_DISPLAY_USEMAP, NULL },
+ {T_HK_FOLLOW_LINK, NULL },
+ {T_HK_OPEN_IN_NEW_WINDOW, NULL },
+ {T_HK_DOWNLOAD_LINK, NULL },
+ {T_HK_RESET_FORM, NULL },
+ {T_HK_SUBMIT_FORM, NULL },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, NULL },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, NULL },
+ {T_HK_VIEW_IMAGE, NULL },
+ {T_HK_DOWNLOAD_IMAGE, NULL },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, NULL },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, NULL },
+ {T_HK_WINDOW, NULL },
+ {T_HK_FULL_SCREEN, NULL },
+ {T_HK_BEOS_TERMINAL, NULL },
+ { 0, NULL }
+};
+
+static struct translation translation_upper_sorbian [] = {
+ { 0, NULL },
+ {T__CHAR_SET, "ISO-8859-2" },
+ {T__LANGUAGE, "Upper Sorbian" },
+ {T__ACCEPT_LANGUAGE, "sb" },
+ {T_OK, "OK" },
+ {T_CANCEL, "P\370etorhny\346" },
+ {T_BAD_NUMBER, "Njekorektna li\350ba" },
+ {T_NUMBER_EXPECTED, "Sym li\350bu wo\350akowa\263" },
+ {T_NUMBER_OUT_OF_RANGE, "Li\350ba zwonka dowoleneho rozm\354ra" },
+ {T_BAD_STRING, "Njekorektny wuraz" },
+ {T_EMPTY_STRING_NOT_ALLOWED, "Nulowy wuraz njedowoleny" },
+ {T_BAD_IP_ADDRESS, NULL },
+ {T_INVALID_IP_ADDRESS_SYNTAX, NULL },
+ {T_UNABLE_TO_USE_LOCAL_IP_ADDRESS, NULL },
+ {T_CONFIG_ERROR, "Zmylk konfiguracije" },
+ {T_UNABLE_TO_WRITE_TO_CONFIG_FILE, "Njem\363\276u do konfiguraciskeje dataje pisa\346" },
+ {T_BOOKMARK_ERROR, NULL },
+ {T_UNABLE_TO_WRITE_TO_BOOKMARK_FILE, NULL },
+ {T_ABOUT, "Wo programje" },
+ {T_LINKS__LYNX_LIKE, "Links " VERSION_STRING "\n\nTekstowy browser podobny na lynx" },
+ {T_VERSION, NULL },
+ {T_VERSION_INFORMATION, NULL },
+ {T_LINKS_VERSION, NULL },
+ {T_OPERATING_SYSTEM_TYPE, NULL },
+ {T_OPERATING_SYSTEM_VERSION, NULL },
+ {T_COMPILER, NULL },
+ {T_COMPILE_TIME, NULL },
+ {T_WORD_SIZE, NULL },
+ {T_MEMORY, NULL },
+ {T_FILE_SIZE, NULL },
+ {T_DEBUGGING_LEVEL, NULL },
+ {T_UTF8_TERMINAL, NULL },
+ {T_COMPRESSION_METHODS, NULL },
+ {T_ENCRYPTION, NULL },
+ {T_GPM_MOUSE_DRIVER, NULL },
+ {T_XTERM_FOR_OS2, NULL },
+ {T_GRAPHICS_MODE, NULL },
+ {T_IMAGE_LIBRARIES, NULL },
+ {T_KEYS, "Tasty" },
+ {T_KEYS_DESC, "ESC poka\276 meni\n^C, q zak\363n\350i\346\n^P, ^Nhorje/dele listowa\346\n[, ] nal\354wo/naprawo listowa\346\nwobraz horje/dele\n-> wotkaz wubra\346\n<- wr\363\346o\ng d\274i na URL\nG d\274i k adresy (wot aktualneje adresy)\n/ pyta\346\n? prjedaw\271e pytanje\nn p\370ichodny namaka\346\nN p\370edchadny namaka\346\n= informacija wo dokumen\346e\n\\ \276\363r\263o dokumenta\nd dele s\346ahny\346" },
+ {T_KEYS_BRAILLE_DESC, NULL },
+ {T_COPYING, "Kop\354rowanje" },
+ {T_COPYING_DESC, "Links " VERSION_STRING "\n\n" LINKS_COPYRIGHT_8859_2 "\n\nTut\363n program je swobodny; m\363\276e\271 j\363n zm\354ni\346 a dale dawa\346 po GPL GNU, wudatej wot Free Software Fundation - po druhej abo pozd\274i\271ej wersiji licensy." },
+ {T_RESOURCES, "Resursy" },
+ {T_CONNECTIONS, "zwiskow" },
+ {T_MEMORY_CACHE, "nachwilny pomjatk" },
+ {T_DECOMPRESSED_CACHE, NULL },
+ {T_FONT_CACHE, "nachwilny pomjatk pismow" },
+ {T_IMAGE_CACHE, "nachwilny pomjatk wobrazow" },
+ {T_FORMATTED_DOCUMENT_CACHE, "formatowane dokumenty w nachwilnym pomjatku" },
+ {T_DNS_CACHE, NULL },
+ {T_HANDLES, "wo\350injenych datajow" },
+ {T_TIMERS, "\350asnikow" },
+ {T_WAITING, NULL },
+ {T_CONNECTING, "wo\350akowanych" },
+ {T_tRANSFERRING, "transferow" },
+ {T_KEEPALIVE, "\276iwych" },
+ {T_BYTES, "bajtow" },
+ {T_LETTERS, "pismikow" },
+ {T_FILES, "datajow" },
+ {T_LOCKED, "blokowanych" },
+ {T_LOADING, "za\350itanych" },
+ {T_IMAGES, "wobrazy" },
+ {T_DOCUMENTS, "dokumentow" },
+ {T_SERVERS, NULL },
+ {T_MEMORY_ALLOCATED, "p\370id\274\354leneho pomjatka" },
+ {T_BLOCKS_ALLOCATED, NULL },
+ {T_MEMORY_REQUESTED, NULL },
+ {T_BLOCKS_REQUESTED, NULL },
+ {T_JS_MEMORY_ALLOCATED, NULL },
+ {T_MEMORY_INFO, "Informacija wo pomjatku" },
+ {T_NO_HISTORY, "\256ane stawizny" },
+ {T_NO_DOWNLOADS, "\256ane s\346ehnjene dataje" },
+ {T_NO_FRAMES, "\256ane ramiki" },
+ {T_VT_100_FRAMES, "Ramiki VT100" },
+ {T_LINUX_OR_OS2_FRAMES, "Ramiki typa Linux abo OS/2" },
+ {T_KOI8R_FRAMES, "Ramiki KOI8-R" },
+ {T_FREEBSD_FRAMES, NULL },
+ {T_USE_11M, "wu\276iwaj ^[[11m" },
+ {T_RESTRICT_FRAMES_IN_CP850_852, "Wobmjezuj ramiki w cp850/852" },
+ {T_BLOCK_CURSOR, "blokowy cursor" },
+ {T_COLOR, "barba" },
+ {T_BRAILLE_TERMINAL, NULL },
+ {T_TERMINAL_OPTIONS, "Opcije terminala" },
+ {T_PROXIES, NULL },
+ {T_HTTP_PROXY__HOST_PORT, "HTTP proxy (host:port)" },
+ {T_FTP_PROXY__HOST_PORT, "FTP proxy (host:port)" },
+ {T_SOCKS_4A_PROXY__USER_HOST_PORT, NULL },
+ {T_APPEND_TEXT_TO_SOCKS_LOOKUPS, NULL },
+ {T_ONLY_PROXIES, NULL },
+ {T_NOPROXY_LIST, "Lis\346ina domenow, p\370istupnych bjez proxy" },
+ {T_NETWORK_OPTIONS, "Sy\346owe opcije" },
+ {T_MAX_CONNECTIONS, "Maksimalna li\350ba zwiskow" },
+ {T_MAX_CONNECTIONS_TO_ONE_HOST, "Maksimalna li\350ba zwiskow z jednym serwerom" },
+ {T_RETRIES, "pospyty" },
+ {T_RECEIVE_TIMEOUT_SEC, "Najdl\354\271e \350akanje na zwisk (sek)" },
+ {T_TIMEOUT_WHEN_UNRESTARTABLE, "Maks. \350akanje na njerestartujomny proces" },
+ {T_BIND_TO_LOCAL_IP_ADDRESS, NULL },
+ {T_ASYNC_DNS_LOOKUP, "Asynchroniske pytanje mjenow" },
+ {T_SET_TIME_OF_DOWNLOADED_FILES, "\350as s\346ehnjenych datajow nastaji\346" },
+ {T_CACHE_OPTIONS, "Nastajenje nachwilneho pomjatka" },
+ {T_MEMORY_CACHE_SIZE__KB, "Wulkos\346 nachwilneho pomjatka (KiB)" },
+ {T_IMAGE_CACHE_SIZE__KB, "Wulkos\346 nachwilneho pomjatka za wobrazy (KiB)" },
+ {T_FONT_CACHE_SIZE__KB, NULL },
+ {T_NUMBER_OF_FORMATTED_DOCUMENTS, "Li\350ba formatowanych dokumentow" },
+ {T_AGGRESSIVE_CACHE, "Agresiwny cache" },
+ {T_HTML_OPTIONS, "HTML-opcije" },
+ {T_DISPLAY_TABLES, "Poka\276 tabulki" },
+ {T_DISPLAY_FRAMES, "Poka\276 ramiki" },
+ {T_DISPLAY_IMAGES, "Poka\276 wobrazy" },
+ {T_DISPLAY_IMAGE_FILENAMES, NULL },
+ {T_DISPLAY_LINKS_TO_IMAGES, "Pokazuj linki na wobrazki" },
+ {T_LINK_ORDER_BY_COLUMNS, "Rjaduj linki w \271paltach" },
+ {T_NUMBERED_LINKS, "\310is\263owane linki" },
+ {T_AUTO_REFRESH, NULL },
+ {T_TARGET_IN_NEW_WINDOW, NULL },
+ {T_TEXT_MARGIN, "Kromy teksta" },
+ {T_DEFAULT_CODEPAGE, "Standardna kodowa strona" },
+ {T_IGNORE_CHARSET_INFO_SENT_BY_SERVER, "Ignoruj informacije serwera wo pismje" },
+ {T_TEXT_COLOR, NULL },
+ {T_LINK_COLOR, NULL },
+ {T_BACKGROUND_COLOR, NULL },
+ {T_IGNORE_DOCUMENT_COLOR, NULL },
+ {T_COLOR_0, NULL },
+ {T_COLOR_1, NULL },
+ {T_COLOR_2, NULL },
+ {T_COLOR_3, NULL },
+ {T_COLOR_4, NULL },
+ {T_COLOR_5, NULL },
+ {T_COLOR_6, NULL },
+ {T_COLOR_7, NULL },
+ {T_COLOR_8, NULL },
+ {T_COLOR_9, NULL },
+ {T_COLOR_10, NULL },
+ {T_COLOR_11, NULL },
+ {T_COLOR_12, NULL },
+ {T_COLOR_13, NULL },
+ {T_COLOR_14, NULL },
+ {T_COLOR_15, NULL },
+ {T_GOTO_URL, "D\274i na URL" },
+ {T_GO_BACK, "Wr\363\346o" },
+ {T_GO_FORWARD, NULL },
+ {T_HISTORY, "Stawizny" },
+ {T_RELOAD, "Znowa za\350ita\346" },
+ {T_NEW_WINDOW, "Nowe wokno" },
+ {T_SAVE_AS, "Zaw\354s\346i\346 jako" },
+ {T_SAVE_URL_AS, "Zaw\354s\346 URL jako" },
+ {T_SAVE_FORMATTED_DOCUMENT, "Zaw\354s\346 formatowany dokument" },
+ {T_COPY_URL_LOCATION, "Kop\354ruj m\354stno serwera" },
+ {T_KILL_BACKGROUND_CONNECTIONS, "P\370etorh\361 w\271itke pozadkowe zwiski" },
+ {T_KILL_ALL_CONNECTIONS, "P\370etorh\361 w\271itke zwiski" },
+ {T_FLUSH_ALL_CACHES, "Nachwilny pomjatk wurjed\274i\346" },
+ {T_RESOURCE_INFO, "Informacije wo resursach" },
+ {T_OS_SHELL, "Systemowy komandowy interpreter" },
+ {T_EXIT, "Zak\363n\350i\346" },
+ {T_SEARCH, "Pytaj" },
+ {T_SEARCH_BACK, "Pytaj dozady" },
+ {T_FIND_NEXT, "Namakaj p\370ichodne" },
+ {T_FIND_PREVIOUS, "Namakaj p\370edchadne" },
+ {T_TOGGLE_HTML_PLAIN, "P\370e\271altuj mjez html a prostym tekstom" },
+ {T_DOCUMENT_INFO, "Informacije wo dokumen\346e" },
+ {T_FRAME_AT_FULL_SCREEN, "Ramik po cy\263ej wobrazowce" },
+ {T_SAVE_HTML_OPTIONS, "HTML-opcije zaw\354s\346i\346" },
+ {T_CHARACTER_SET, "Pismo" },
+ {T_CACHE, "Nachwilny pomjatk" },
+ {T_MAIL_AND_TELNEL, "email a telnet" },
+ {T_MAIL_TELNET_AND_SHELL, "email, telnet a komandowy interpreter" },
+ {T_ASSOCIATIONS, "Asocijacije" },
+ {T_FILE_EXTENSIONS, "Ekstensije datajow" },
+ {T_SAVE_OPTIONS, "Opcije zaw\354s\346i\346" },
+ {T_FILE, "Dataja" },
+ {T_VIEW, "Napohlad" },
+ {T_LINK, "Wotkaz" },
+ {T_DOWNLOADS, "S\346ehnjene dataje" },
+ {T_SETUP, "Nastajenja" },
+ {T_HELP, "Pomoc" },
+ {T_ENTER_URL, "Zapodaj URL" },
+ {T_SAVE_URL, "Zaw\354s\346 URL" },
+ {T_DOWNLOAD, "S\346ahny\346" },
+ {T_SAVE_TO_FILE, "Do dataje zaw\354s\346i\346" },
+ {T_SEARCH_FOR_TEXT, "Pytaj tekst" },
+ {T_PAGE_P, NULL },
+ {T_PAGE_OF, NULL },
+ {T_PAGE_CL, NULL },
+ {T_WAITING_IN_QUEUE, "\310akam w rynku" },
+ {T_LOOKING_UP_HOST, "Pytam serwer" },
+ {T_MAKING_CONNECTION, "Nawjazuju zwisk" },
+ {T_SOCKS_NEGOTIATION, NULL },
+ {T_SSL_NEGOTIATION, "SSL-jednanja" },
+ {T_REQUEST_SENT, "\256adanje wusy\263ane" },
+ {T_GETTING_HEADERS, "\310itam h\263owy" },
+ {T_LOGGING_IN, "So p\370izjewju" },
+ {T_SERVER_IS_PROCESSING_REQUEST, "Serwer d\274\354\263a" },
+ {T_TRANSFERRING, "Kop\354rowanje" },
+ {T_WAITING_FOR_REDIRECT_CONFIRMATION, "\310akam na potwjerd\274enje dop\363s\263anja" },
+ {T_INTERRUPTED, "P\370etorhnjene" },
+ {T_SOCKET_EXCEPTION, NULL },
+ {T_INTERNAL_ERROR, "Interny zmylk" },
+ {T_OUT_OF_MEMORY, "Pomjatk njedosaha" },
+ {T_HOST_NOT_FOUND, "Njem\363\276ach serwer namaka\346" },
+ {T_ERROR_WRITING_TO_SOCKET, "Zmylk p\370i pisanju na socket" },
+ {T_ERROR_READING_FROM_SOCKET, "Zmylk p\370i \350itanju ze socketa" },
+ {T_DATA_MODIFIED, "Daty modifikowane" },
+ {T_BAD_URL_SYNTAX, "Hubjena URL-syntaksa" },
+ {T_RECEIVE_TIMEOUT, "\310asowy limit za \350itanje p\370ekro\350eny" },
+ {T_REQUEST_MUST_BE_RESTARTED, "\256adanje dyrbi so wospjetowa\346" },
+ {T_CANT_GET_SOCKET_STATE, "Njem\363\276u staw socketa zw\354s\346i\346" },
+ {T_CYCLIC_REDIRECT, "Cykliski link" },
+ {T_TOO_LARGE_FILE, NULL },
+ {T_BLOCKED_URL, NULL },
+ {T_NO_PROXY, NULL },
+ {T_BAD_HTTP_RESPONSE, "Hubjena HTTP-wotmo\263wa" },
+ {T_HTTP_100, NULL },
+ {T_NO_CONTENT, "Pr\363zdna dataja" },
+ {T_UNKNOWN_FILE_TYPE, "Nieznata datajowa dru\276ina" },
+ {T_ERROR_OPENING_FILE, "Zmylk p\370i wo\350injenju dataje" },
+ {T_BAD_FTP_RESPONSE, "Hubjena FTP-wotmo\263wa" },
+ {T_FTP_SERVICE_UNAVAILABLE, "FTP njesteji k dispoziciji" },
+ {T_BAD_FTP_LOGIN, "Hubjeny FTP-login" },
+ {T_FTP_PORT_COMMAND_FAILED, "PORT-komando je so zwr\354\271\346i\263o" },
+ {T_FILE_NOT_FOUND, "Njesym dataju namaka\263" },
+ {T_FTP_FILE_ERROR, "Datajowy zmylk FTP" },
+ {T_UNKNOWN_ERROR, "Nieznaty zmylk" },
+ {T_RECEIVED, "Sym d\363sta\263" },
+ {T_OF, "z" },
+ {T_AVG, "p\370er." },
+ {T_CUR, "akt" },
+ {T_AVERAGE_SPEED, "P\370er\354zna sp\354\271nos\346" },
+ {T_SPEED, "Sp\354\271nos\346" },
+ {T_CURRENT_SPEED, "aktualna sp\354\271nos\346" },
+ {T_ELAPSED_TIME, "za\361d\274eny \350as" },
+ {T_ESTIMATED_TIME, "wostatny \350as" },
+ {T_BACKGROUND, "W pozadku" },
+ {T_ABORT, "P\370etorh\361" },
+ {T_ABORT_AND_DELETE_FILE, NULL },
+ {T_YES, "Haj" },
+ {T_NO, "N\354" },
+ {T_DIRECTORY, NULL },
+ {T_FILE_ALREADY_EXISTS, NULL },
+ {T_ALREADY_EXISTS_AS_DOWNLOAD, NULL },
+ {T_ALREADY_EXISTS, NULL },
+ {T_DO_YOU_WISH_TO_CONTINUE, NULL },
+ {T_DO_YOU_WISH_TO_OVERWRITE, NULL },
+ {T_CONTINUE, NULL },
+ {T_OVERWRITE, NULL },
+ {T_RENAME, NULL },
+ {T_DOWNLOAD_ERROR, "Zmylk p\370i s\346ahowanju dataje" },
+ {T_COULD_NOT_WRITE_TO_FILE, "Njem\363\276u do dataje pisa\346" },
+ {T_ERROR_DOWNLOADING, "Njem\363\276u dataju s\346ahny\346" },
+ {T_ERROR_LOADING, "Zmylk p\370i za\350itanju" },
+ {T_COULD_NOT_CREATE_FILE, "Njem\363\276u dataju stwori\346" },
+ {T_COULD_NOT_CREATE_TEMPORARY_FILE, NULL },
+ {T_ERROR_CALLING_LSEEK_ON_FILE, NULL },
+ {T_TOO_LARGE_FILE_SEQUENCE, NULL },
+ {T_UNKNOWN_TYPE, "Njeznata dru\276ina" },
+ {T_CONTENT_TYPE_IS, "Typ dataje je" },
+ {T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE, "Dataju wo\350ini\346, zaw\354s\346i\346 abo pokaza\346?" },
+ {T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE, "Dataju wo\350ini\346 abo pokaza\346?" },
+ {T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE, "Dataju zaw\354s\346i\346 abo pokaza\346?" },
+ {T_SAVE, "Zaw\354s\346i\346" },
+ {T_DISPLAY, "Pokaza\346" },
+ {T_WHAT_TO_DO, "\251to mam \350ini\346?" },
+ {T_DO_YOU_WANT_TO_OPEN_FILE_WITH, "Chce\271 dataju wo\350ini\346 w" },
+ {T_SAVE_IT_OR_DISPLAY_IT, "zaw\354s\346i\346 abo pokaza\346?" },
+ {T_OPEN, "Wo\350ini\346" },
+ {T_OPEN_WITH, "Wo\350ini\346 z" },
+ {T_DO_YOU_WANT_TO_FOLLOW_REDIRECT_AND_POST_FORM_DATA_TO_URL, "Chce\271 dop\363s\263anje s\346\354howa\346 a formular p\363s\263a\346 na" },
+ {T_DO_YOU_WANT_TO_POST_FORM_DATA_TO_URL, "Chce\271 formular p\363s\263a\346 na" },
+ {T_DO_YOU_WANT_TO_REPOST_FORM_DATA_TO_URL, "Chce\271 formular hi\271\346e raz p\363s\263a\346 na" },
+ {T_WARNING, "Warnowanje" },
+ {T_ERROR, "Zmylk" },
+ {T_WELCOME, "Powitanje" },
+ {T_WELCOME_TO_LINKS, "Witaj w programje Links!" },
+ {T_BASIC_HELP, "St\263\363\350 ESC, zo by d\363sta\263 meni. Wubjer Pomoc->P\370iru\350ka z menija, zo by so z programom zeznajomi\263." },
+ {T_LABEL, "Etiket" },
+ {T_CONTENT_TYPES, "Dru\276ina wobsaha" },
+ {T_PROGRAM__IS_REPLACED_WITH_FILE_NAME, "Program ('%' so naruna z mjenom dataje)" },
+ {T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING, "Terminal blokowa\346, doni\276 program d\274\354\263a" },
+ {T_RUN_ON_TERMINAL, "W terminalu startowa\346" },
+ {T_RUN_IN_XWINDOW, "W X-Woknje startowa\346" },
+ {T_ASK_BEFORE_OPENING, "Wopra\271ej so p\370ed wo\350injenjom" },
+ {T_ACCEPT_HTTP, NULL },
+ {T_ACCEPT_FTP, NULL },
+ {T_DELETE_ASSOCIATION, "Asociaciju zni\350i\346" },
+ {T_ASSOCIATION, "Asociacija" },
+ {T_EXTENSION_S, "Ekstensija" },
+ {T_CONTENT_TYPE, "Dru\276ina wobsaha" },
+ {T_DELETE_EXTENSION, "Zni\350 ekstensiju" },
+ {T_EXTENSION, "Ekstensija" },
+ {T_eXTENSION, "ekstensija" },
+ {T_ERROR_WHILE_POSTING_FORM, "Zmylk p\370i p\363s\263anju formulara" },
+ {T_COULD_NOT_GET_FILE, "Njem\363\276ach dataju d\363sta\346" },
+ {T_READING_FILES_IS_NOT_ALLOWED, NULL },
+ {T_NO_PREVIOUS_SEARCH, "Njeb\354ch hi\271\346e ni\350o pyta\263" },
+ {T_SEARCH_STRING_NOT_FOUND, "Ni\350o njenamaka\263" },
+ {T_SAVE_ERROR, "Zmylk p\370i zw\354s\346enju" },
+ {T_ERROR_WRITING_TO_FILE, "Zmylk p\370i pisanju do dataje" },
+ {T_DISPLAY_USEMAP, "Poka\276 kartu z wobrazkami" },
+ {T_FOLLOW_LINK, "Wubjer link" },
+ {T_OPEN_IN_NEW_WINDOW, "Wo\350i\361 w nowym woknje" },
+ {T_DOWNLOAD_LINK, "S\346eh\361" },
+ {T_RESET_FORM, "Formular wupr\363zdni\346" },
+ {T_SUBMIT_FORM, "Formular p\363s\263a\346" },
+ {T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "Formular p\363s\263a\346 a w nowym woknje wo\350ini\346" },
+ {T_SUBMIT_FORM_AND_DOWNLOAD, "Formular p\363s\263a\346 a daty s\346ahny\346" },
+ {T_VIEW_IMAGE, "Poka\276 wobraz" },
+ {T_DOWNLOAD_IMAGE, "S\346eh\361 wobrazk" },
+ {T_NO_LINK_SELECTED, "\256adyn link wubrany" },
+ {T_IMAGE, "Wobraz" },
+ {T_USEMAP, "Karta z wobrazkami" },
+ {T_XTERM, "X-Terminal" },
+ {T_TWTERM, NULL },
+ {T_SCREEN, NULL },
+ {T_WINDOW, "Wokno" },
+ {T_FULL_SCREEN, "Cy\263a wobrazowka" },
+ {T_BEOS_TERMINAL, "Terminal BeOS" },
+ {T_UNABLE_TO_OPEN_NEW_WINDOW, NULL },
+ {T_JAVASCRIPT, NULL },
+ {T_SUBMIT_FORM_TO, "P\363s\346el formular na" },
+ {T_POST_FORM_TO, "P\363s\346el formular na" },
+ {T_RADIO_BUTTON, "Radiowy knefl" },
+ {T_CHECKBOX, NULL },
+ {T_SELECT_FIELD, "P\363lko za wub\354ranje" },
+ {T_TEXT_FIELD, "Tekstowe p\363lko" },
+ {T_TEXT_AREA, "Tekstowe polo" },
+ {T_FILE_UPLOAD, "P\363s\263anje dataje" },
+ {T_PASSWORD_FIELD, "Hes\263owe p\363lko" },
+ {T_BUTTON, "Knefl" },
+ {T_NAME, "mjeno" },
+ {T_VALUE, "h\363dnota" },
+ {T_HIT_ENTER_TO, "st\263\363\350 ENTER, zo by" },
+ {T_SUBMIT_TO, "p\363s\263a\263 na" },
+ {T_POST_TO, "p\363s\263a\263 na" },
+ {T_INFO, "Informacija" },
+ {T_HEADER_INFO, "Informacija we h\263\363j\350ce" },
+ {T_YOU_ARE_NOWHERE, "Njejsy nihd\274e!" },
+ {T_NO_HEADER, NULL },
+ {T_URL, "URL" },
+ {T_SIZE, "Wulkos\346" },
+ {T_COMPRESSED_WITH, NULL },
+ {T_INCOMPLETE, "njekompletne" },
+ {T_CODEPAGE, "Kodowa strona" },
+ {T_ASSUMED, "Standardna" },
+ {T_IGNORING_SERVER_SETTING, "Ignoruj nastajenja serwera" },
+ {T_SERVER, "Serwer" },
+ {T_DATE, "Datum" },
+ {T_LAST_MODIFIED, "Poslednja zm\354na" },
+ {T_SSL_CIPHER, NULL },
+ {T_LANGUAGE, "R\354\350" },
+ {T_GO_TO_LINK, "D\274i na link" },
+ {T_ENTER_LINK_NUMBER, "Zapodaj \350is\263o linka" },
+ {T_RESIZE_TERMINAL, "Wulkos\346 terminala zm\354ni\346" },
+ {T_COLUMNS, "\251palty" },
+ {T_ROWS, "Linki" },
+ {T_GOTO, "D\274i na" },
+ {T_CLOSE, "Za\350i\361" },
+ {T_FOLDER, "Zapisk" },
+ {T_fOLDER, "zapisk" },
+ {T_ADD, "Dodaj" },
+ {T_DELETE, "Zni\350i\346" },
+ {T_EDIT, "Edituj" },
+ {T_MOVE, "P\370esuny\346" },
+ {T_NO_ITEMS_SELECTED, "Ni\350o njewubrane" },
+ {T_UNSELECT_ALL, "Wub\354ranje zb\354hny\346" },
+ {T_BOOKMARKS, "Lubu\271ki" },
+ {T_BOOKMARK, "Lubu\271k" },
+ {T_ADD_BOOKMARK, "Dodaj k lubu\271kam" },
+ {T_ADD_ASSOCIATION, "Dodaj asociaciju" },
+ {T_ADD_EXTENSION, "Dodaj ekstensiju" },
+ {T_ADD_FOLDER, "Dodaj zapisk" },
+ {T_BOOKMARK_TITLE, "Mjeno lubu\271ka" },
+ {T_EDIT_BOOKMARK, "Edituj lubu\271ki" },
+ {T_EDIT_ASSOCIATION, "Edituj asociacije" },
+ {T_EDIT_EXTENSION, "Edituj ekstensiju" },
+ {T_DELETE_BOOKMARK, "Zni\350 lubu\271k" },
+ {T_EDIT_FOLDER, "Edituj zapisk" },
+ {T_DELETE_FOLDER, "Zni\350 zapisk" },
+ {T_NOT_EMPTY_SURE_DELETE, "njeje pr\363zdny. Chce\271 j\363n woprawd\274e zni\350i\346?" },
+ {T_BOOKMARK_MANAGER, "Rjadowanje lubu\271kow" },
+ {T_ASSOCIATIONS_MANAGER, "Rjadowanje asociacijow" },
+ {T_EXTENSIONS_MANAGER, "Rjadowanje ekstensijow" },
+ {T_url, NULL },
+ {T_NNAME, "Mjeno" },
+ {T_EXIT_LINKS, "Won hi\346 z linksa" },
+ {T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW, NULL },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS, "Chce\271 woprawd\274e links zak\363n\350i\346?" },
+ {T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS, "Chce\271 woprawd\274e zak\363n\350i\346 a w\271itke s\346ahowanja p\370etorhny\346?" },
+ {T_HTTP_OPTIONS, "HTTP-opcije" },
+ {T_FTP_OPTIONS, "FTP-opcije" },
+ {T_HTTP_BUG_WORKAROUNDS, "Wobe\361d\274enja HTTP-zmylkow" },
+ {T_USE_HTTP_10, "Wu\276iwaj HTTP/1.0" },
+ {T_ALLOW_SERVER_BLACKLIST, "Akceptuj \350ornu lis\346inu serwerow" },
+ {T_BROKEN_302_REDIRECT, "Hubjene 302 (njewotpow\354duje RFC, ale kompatibelne z Netscape)" },
+ {T_NO_KEEPALIVE_AFTER_POST_REQUEST, "Njewud\274er\276uj zwisk po POST-komand\274e (n\354kotre datowe bazy PHP sej to \276adaja)" },
+ {T_DO_NOT_SEND_ACCEPT_CHARSET, NULL },
+ {T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT, NULL },
+ {T_RETRY_ON_INTERNAL_ERRORS, NULL },
+ {T_HEADER_OPTIONS, NULL },
+ {T_HTTP_HEADER_OPTIONS, NULL },
+ {T_REFERER_NONE, NULL },
+ {T_REFERER_SAME_URL, NULL },
+ {T_REFERER_FAKE, NULL },
+ {T_REFERER_REAL_SAME_SERVER, NULL },
+ {T_REFERER_REAL, NULL },
+ {T_FAKE_REFERER, NULL },
+ {T_FAKE_USERAGENT, "Mjeno browsera, ki\276 ma so serwerej p\363s\263a\346" },
+ {T_EXTRA_HEADER, NULL },
+ {T_PASSWORD_FOR_ANONYMOUS_LOGIN, "Hes\263o za anonymne p\370izjewjenje" },
+ {T_USE_PASSIVE_FTP, NULL },
+ {T_USE_FAST_FTP, NULL },
+ {T_SET_TYPE_OF_SERVICE, NULL },
+ {T_MANUAL, "P\370iru\350ka za wu\276iwarja" },
+ {T_HOMEPAGE, "Domjaca strona" },
+ {T_CALIBRATION, "Kalibracija" },
+ {T_MAILTO_PROG, "Emailowy program (% so z emailowej adresu naruna)" },
+ {T_SHELL_PROG, "Programowy interpreter (% so naruna z p\370ikazom)" },
+ {T_TELNET_PROG, "Program za telnet (% naruna so z \"host\" abo \"host port\")" },
+ {T_MAGNET_PROG, NULL },
+ {T_TN3270_PROG, "Program za Tn3270 (% naruna so z \"host\" abo \"host port\")" },
+ {T_MMS_PROG, NULL },
+ {T_MAIL_AND_TELNET_PROGRAMS, "Elektroniska p\363\271ta a telnet" },
+ {T_MAIL_TELNET_AND_SHELL_PROGRAMS, "Programy za elektronisku p\363\271tu, telnet a komanda" },
+ {T_NO_PROGRAM, "\256adyn program" },
+ {T_NO_PROGRAM_SPECIFIED_FOR, "\256adyn program podaty za" },
+ {T_MAIL, "email" },
+ {T_TELNET, "telnet" },
+ {T_MAGNET, NULL },
+ {T_TN3270, NULL },
+ {T_MMS, NULL },
+ {T_BAD_MAILTO_URL, "Hubjena emailowa adresa" },
+ {T_BAD_TELNET_URL, "Hubjena adresa serwera za telnet" },
+ {T_BAD_TN3270_URL, "Hubjena adresa serwera za Tn3270" },
+ {T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS, NULL },
+ {T_AUTHORIZATION_REQUIRED, "P\370izjewjenje so tr\354bne" },
+ {T_PROXY_AUTHORIZATION_REQUIRED, "P\370izjewjenje na proxy tr\354bne" },
+ {T_USERID, "Mjeno wu\276iwarja" },
+ {T_PASSWORD, "Hes\263o" },
+ {T_ENTER_USERNAME, "Zapodaj mjeno wu\276iwarja" },
+ {T_AT, NULL },
+ {T_SSL_ERROR, "SSL-zmylk" },
+ {T_NO_SSL, "Tut\363n links bu bjez SSL/TLS kompilowany" },
+ {T_SOCKS_REJECTED_OR_FAILED, NULL },
+ {T_BAD_SOCKS_VERSION, NULL },
+ {T_SOCKS_NO_IDENTD, NULL },
+ {T_SOCKS_BAD_USERID, NULL },
+ {T_SOCKS_UNKNOWN_ERROR, NULL },
+ {T_NO_SMB_CLIENT, NULL },
+ {T_DECOMPRESSION_ERROR, NULL },
+ {T_ERROR_DECOMPRESSING_, NULL },
+ {T__wITH_, NULL },
+ {T_COMPRESSED_ERROR, NULL },
+ {T_UNKNOWN_COMPRESSION_METHOD, NULL },
+ {T_SURE_DELETE, "Chce\271 woprawd\274e zni\350i\346" },
+ {T_BOOKMARKS_ALREADY_IN_USE, "Lubu\271ki so hi\276o wu\276iwaja" },
+ {T_ASSOCIATIONS_ALREADY_IN_USE, "Asosiciacije so hi\276o wu\276iwaja" },
+ {T_EXTENSIONS_ALREADY_IN_USE, "Ekstensije so hi\276o wu\276iwaja" },
+ {T_VIDEO_OPTIONS, "Wideoopcije" },
+ {T_VIDEO_OPTIONS_TEXT, NULL },
+ {T_RED_DISPLAY_GAMMA, "gamma-korektura za \350erwje\361" },
+ {T_GREEN_DISPLAY_GAMMA, "gamma-korektura za zele\361" },
+ {T_BLUE_DISPLAY_GAMMA, "gamma-korektura za m\363dru barbu" },
+ {T_USER_GAMMA, "gamma-korektura po wu\276iwarju" },
+ {T_ALERT, NULL },
+ {T_QUESTION, "Pra\271enje" },
+ {T_KILL_SCRIPT, "Zabij skript" },
+ {T_KILL_ALL_SCRIPTS, "Zezabijej w\271itke skripty" },
+ {T_SCRIPT_KILLED_BY_USER, "Skript wot wu\276iwarja zabity" },
+ {T_SCRIPT_TRYING_TO_CLOSE_WINDOW, "Skript chce wokno za\350ini\346. Chce\271 to?" },
+ {T_ENTER_STRING, "Zapodaj rjad pismikow" },
+ {T_JAVASCRIPT_OPTIONS, "Opcije za javascript" },
+ {T_ENABLE_JAVASCRIPT, "Javascript dowoli\346" },
+ {T_VERBOSE_JS_ERRORS, "Roz\271\354rjene rozprawy wo javascript-zmylkach" },
+ {T_VERBOSE_JS_WARNINGS, "Roz\271\354rjene javascript-warnowanja" },
+ {T_MISCELANEOUS_OPTIONS, "W\271elake opcije" },
+ {T_JAVASCRIPT_ERROR, "javascript-zmylk" },
+ {T_JAVASCRIPT_WARNING, "javascript-warnowanje" },
+ {T_DISMISS, "Pu\271\346" },
+ {T_MENU_FONT_SIZE, "Wulkos\346 menijoweho pisma" },
+ {T_USER_FONT_SIZE, "Wulkos\346 wot wu\276iwarja postajeneho pisma" },
+ {T_TURN_OFF_WARNINGS, "Warnowanja wupny\346" },
+ {T_BOOKMARKS_ENCODING, "Kodowanje lubu\271kow" },
+ {T_JS_IS_ATTEMPTING_TO_GO_TO_URL, "Javascript chce na tutu adresu hi\346" },
+ {T_JS_IS_ATTEMPTING_TO_OPEN_NEW_WINDOW_WITH_URL, "Javascript chce nowe wokno wo\350ini\346 z adresu" },
+ {T_JS_IS_ATTEMPTING_TO_GO_INTO_HISTORY, "Javascript chce do stawiznow" },
+ {T_TO_URL, NULL },
+ {T_GOTO_HISTORY, "D\274i do stawiznow" },
+ {T_ALLOW, "Dowoli\346" },
+ {T_REJECT, "Wotpokaza\346" },
+ {T_ENABLE_ALL_CONVERSIONS, "W\271itke konwersije zm\363\276ni\346" },
+ {T_ENABLE_GLOBAL_NAME_RESOLUTION, "Globalne pytanje serwerow zm\363\276ni\346" },
+ {T_MANUAL_JS_CONTROL, NULL },
+ {T_JS_RECURSION_DEPTH, "H\263ubokos\346 rekursiwnos\346e" },
+ {T_MENU_BACKGROUND_COLOR, "Barba pozadka" },
+ {T_MENU_FOREGROUND_COLOR, "Barba pisma" },
+ {T_SCROLL_BAR_BAR_COLOR, "Pr\354dna barba p\370esuwaka" },
+ {T_SCROLL_BAR_AREA_COLOR, "Pozadkowa barba p\370esuwaka" },
+ {T_SCROLL_BAR_FRAME_COLOR, "Barba ramika p\370esuwaka" },
+ {T_BOOKMARKS_FILE, "Dataja z lubu\271kami" },
+ {T_ENTER_COLORS_AS_RGB_TRIPLETS, "Zapodaj barby jako RGB-triple" },
+ {T_JS_MEMORY_LIMIT_KB, "Pomjatk za javascript (KiB)" },
+ {T_DITHER_LETTERS, "Pismiki ditherowa\346" },
+ {T_DITHER_IMAGES, "Wobrazy ditherowa\346" },
+ {T_8_BIT_GAMMA_CORRECTION, NULL },
+ {T_16_BIT_GAMMA_CORRECTION, NULL },
+ {T_AUTO_GAMMA_CORRECTION, NULL },
+ {T_SCALE_ALL_IMAGES_BY, "Wulkos\346 w\271itkich wobrazow zm\354ni\346 wo" },
+ {T_PORN_ENABLE, NULL },
+ {T_DISPLAY_OPTIMIZATION_CRT, "Optimizowanje CRT" },
+ {T_DISPLAY_OPTIMIZATION_LCD_RGB, "Optimizowanje RGB" },
+ {T_DISPLAY_OPTIMIZATION_LCD_BGR, "Optimizowanje BGR" },
+ {T_ASPECT_RATIO, "\251\354rokos\346/wysokos\346" },
+ {T_ASPECT_CORRECTION_ON, "Korektura \251\354rokos\346e/wysokos\346e" },
+ {T_KEYBOARD_CODEPAGE, "Kodowa strona tastatury" },
+ {T_COPY_LINK_LOCATION, "Kop\354ruj m\354stno linka" },
+ {T_BLOCK_URL, NULL },
+ {T_BLOCK_LIST, NULL },
+ {T_BLOCKED_IMAGE, NULL },
+ {T_BLOCK_LIST_IN_USE, NULL },
+ {T_BLOCK_LIST_MANAGER, NULL },
+ {T_BLOCK_ADD, NULL },
+ {T_BLOCK_EDIT, NULL },
+ {T_BLOCK_DELETE, NULL },
+ {T_HK_GOTO_URL, "U" },
+ {T_HK_GO_BACK, "W" },
+ {T_HK_GO_FORWARD, NULL },
+ {T_HK_HISTORY, NULL },
+ {T_HK_RELOAD, NULL },
+ {T_HK_BOOKMARKS, "Z" },
+ {T_HK_NEW_WINDOW, NULL },
+ {T_HK_SAVE_AS, "Z" },
+ {T_HK_SAVE_URL_AS, "A" },
+ {T_HK_SAVE_FORMATTED_DOCUMENT, "F" },
+ {T_HK_COPY_URL_LOCATION, NULL },
+ {T_HK_KILL_BACKGROUND_CONNECTIONS, "P" },
+ {T_HK_KILL_ALL_CONNECTIONS, "W" },
+ {T_HK_FLUSH_ALL_CACHES, "C" },
+ {T_HK_RESOURCE_INFO, NULL },
+ {T_HK_MEMORY_INFO, "N" },
+ {T_HK_OS_SHELL, NULL },
+ {T_HK_RESIZE_TERMINAL, NULL },
+ {T_HK_EXIT, "Y" },
+ {T_HK_SEARCH, "S" },
+ {T_HK_SEARCH_BACK, "W" },
+ {T_HK_FIND_NEXT, NULL },
+ {T_HK_FIND_PREVIOUS, NULL },
+ {T_HK_TOGGLE_HTML_PLAIN, NULL },
+ {T_HK_DOCUMENT_INFO, NULL },
+ {T_HK_HEADER_INFO, NULL },
+ {T_HK_FRAME_AT_FULL_SCREEN, "Y" },
+ {T_HK_HTML_OPTIONS, "U" },
+ {T_HK_COLOR, NULL },
+ {T_HK_SAVE_HTML_OPTIONS, "Z" },
+ {T_HK_LANGUAGE, "J" },
+ {T_HK_CHARACTER_SET, "Z" },
+ {T_HK_TERMINAL_OPTIONS, NULL },
+ {T_HK_VIDEO_OPTIONS, NULL },
+ {T_HK_NETWORK_OPTIONS, "U" },
+ {T_HK_JAVASCRIPT_OPTIONS, NULL },
+ {T_HK_MISCELANEOUS_OPTIONS, NULL },
+ {T_HK_CACHE, "P" },
+ {T_HK_MAIL_AND_TELNEL, "C" },
+ {T_HK_ASSOCIATIONS, "S" },
+ {T_HK_FILE_EXTENSIONS, "R" },
+ {T_HK_BLOCK_LIST, NULL },
+ {T_HK_SAVE_OPTIONS, "O" },
+ {T_HK_ABOUT, "O" },
+ {T_HK_KEYS, NULL },
+ {T_HK_COPYING, "P" },
+ {T_HK_MANUAL, NULL },
+ {T_HK_HOMEPAGE, NULL },
+ {T_HK_CALIBRATION, NULL },
+ {T_HK_FILE, "P" },
+ {T_HK_VIEW, "W" },
+ {T_HK_LINK, "L" },
+ {T_HK_DOWNLOADS, "O" },
+ {T_HK_SETUP, "U" },
+ {T_HK_HELP, "M" },
+ {T_HK_DISPLAY_USEMAP, "M" },
+ {T_HK_FOLLOW_LINK, "L" },
+ {T_HK_OPEN_IN_NEW_WINDOW, NULL },
+ {T_HK_DOWNLOAD_LINK, "P" },
+ {T_HK_RESET_FORM, NULL },
+ {T_HK_SUBMIT_FORM, "P" },
+ {T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW, "F" },
+ {T_HK_SUBMIT_FORM_AND_DOWNLOAD, "O" },
+ {T_HK_VIEW_IMAGE, "B" },
+ {T_HK_DOWNLOAD_IMAGE, "O" },
+ {T_HK_COPY_LINK_LOCATION, NULL },
+ {T_HK_BLOCK_URL, NULL },
+ {T_HK_XTERM, NULL },
+ {T_HK_TWTERM, NULL },
+ {T_HK_SCREEN, NULL },
+ {T_HK_WINDOW, NULL },
+ {T_HK_FULL_SCREEN, NULL },
+ {T_HK_BEOS_TERMINAL, NULL },
+ { 0, NULL }
+};
+
+static struct translation_desc translations [] = {
+ { translation_english },
+ { translation_bahasa_indonesian },
+ { translation_belarusian },
+ { translation_brazilian_portuguese },
+ { translation_bulgarian },
+ { translation_catalan },
+ { translation_croatian },
+ { translation_czech },
+ { translation_danish },
+ { translation_dutch },
+ { translation_estonian },
+ { translation_finnish },
+ { translation_french },
+ { translation_galician },
+ { translation_german },
+ { translation_greek },
+ { translation_hungarian },
+ { translation_icelandic },
+ { translation_italian },
+ { translation_lithuanian },
+ { translation_norwegian },
+ { translation_polish },
+ { translation_portuguese },
+ { translation_romanian },
+ { translation_russian },
+ { translation_serbian },
+ { translation_slovak },
+ { translation_spanish },
+ { translation_swedish },
+ { translation_swiss_german },
+ { translation_turkish },
+ { translation_ukrainian },
+ { translation_upper_sorbian },
+ { NULL }
+};
+
diff --git a/links.1 b/links.1
new file mode 100644
index 0000000..0c3f7fa
--- /dev/null
+++ b/links.1
@@ -0,0 +1,702 @@
+.\" Process this file with groff -man -Tascii links.1
+.TH LINKS 1 "Aug, 2006"
+.SH NAME
+links \- lynx-like alternative character mode WWW browser
+.SH SYNOPSIS
+.B links
+.I "[options] URL"
+.SH DESCRIPTION
+.B links
+is a text mode WWW browser with ncurses interface, supporting
+colors, correct table rendering, background downloading, menu
+driven configuration interface and slim code.
+.P
+Frames are supported. You can have different file formats
+associated with external viewers. mailto: and telnet:
+are supported via external clients.
+.P
+.I links
+can handle local (file://) or remote (http:// or ftp://) URLs.
+.PP
+
+.SH OPTIONS
+Most options can be set in the user
+interface or config file, so usually you do not need to care about them.
+
+.TP
+\f3-g\f1
+Run Links in graphics mode. If not given, Links will run in text mode.
+Running in graphics mode means that Links will probe all compiled-in graphics
+devices and run on the first found. If none found, links will not run in
+graphics mode. This option works only if --enable-graphics was given
+to ./configure.
+
+.TP
+\f3-no-g\f1
+Run in text mode (overrides previous -g).
+
+.TP
+\f3-driver \f2<driver name>\f1
+Graphics driver to use. Drivers are: x, svgalib, fb, directfb, pmshell,
+atheos.
+List of drivers will be shown if you give it an unknown driver.
+Available drivers depend on your operating system and available libraries.
+
+.TP
+\f3-mode \f2<parameter>\f1
+Pass a parameter to the graphics driver. On SVGAlib, this is widthxheightxdepth,
+(where depth is 16, 256, 32K, 64K, 16M or 16M32) and defines the graphics mode, on X the format is WIDTHxHEIGHT and defines the
+window size.
+
+.TP
+\f3-display \f2<x-display>\f1
+Set Xwindow display.
+
+.TP
+\f3-force-html\f1
+Treat files with unknown type as html rather than text.
+(can be toggled with '\\' key)
+
+.TP
+\f3-source \f2<url>\f1
+Write unformatted data stream to stdout.
+
+.TP
+\f3-dump \f2<url>\f1
+Write formatted document to stdout.
+
+.TP
+\f3-width \f2<number>\f1
+For dump, document will be formatted to this screen width (but it can still
+exceed it if lines can't be broken).
+
+.TP
+\f3-codepage \f2<codepage>\f1
+For dump, convert output to specified character set --
+for eaxmple iso-8859-2, windows-1250.
+
+.TP
+\f3-anonymous\f1
+Restrict links so that it can run on an anonymous account.
+No local file browsing. No downloads. Executing of viewers
+is allowed, but user can't add or modify entries in
+association table.
+
+.TP
+\f3-no-connect\f1
+Runs links as a separate instance - instead of connecting to
+existing instance.
+
+.TP
+\f3-max-connections \f2<max>\f1
+Maximum number of concurrent connections.
+(default: 10)
+
+.TP
+\f3-max-connections-to-host \f2<max>\f1
+Maximum number of concurrent connection to a given host.
+(default: 2)
+
+.TP
+\f3-retries \f2<retry>\f1
+Number of retries.
+(default: 3)
+
+.TP
+\f3-receive-timeout \f2<sec>\f1
+Timeout on receive.
+(default: 120)
+
+.TP
+\f3-unrestartable-receive-timeout \f2<sec>\f1
+Timeout on non restartable connections.
+(default: 600)
+
+.TP
+\f3-bind-address \f2<ip address>\f1
+Use a specific local IP address.
+
+.TP
+\f3-async-dns \f2<0>/<1>\f1
+Asynchronous DNS resolver on(1)/off(0).
+
+.TP
+\f3-download-utime \f2<0>/<1>\f1
+Set time of downloaded files to last modification time reported by server.
+
+.TP
+\f3-format-cache-size \f2<num>\f1
+Number of formatted document pages cached.
+(default: 5)
+
+.TP
+\f3-memory-cache-size \f2<bytes>\f1
+Cache memory in Kilobytes.
+(default: 1024)
+
+.TP
+\f3-image-cache-size \f2<bytes>\f1
+Cache memory in Kilobytes.
+(default: 1024)
+
+.TP
+\f3-http-proxy \f2<host:port>\f1
+Host and port number of the HTTP proxy, or blank.
+(default: blank)
+
+.TP
+\f3-ftp-proxy \f2<host:port>\f1
+Host and port number of the FTP proxy, or blank.
+(default: blank)
+
+.TP
+\f3-socks-proxy \f2<user@host:port>\f1
+Userid, host and port of Socks4a, or blank.
+(default: blank)
+
+.TP
+\f3-append-text-to-dns-lookups \f2<text>\f1
+Append text to dns lookups. It is useful for specifying fixed tor exit node.
+(default: blank)
+
+.TP
+\f3-only-proxies \f2<0>/<1>\f1
+"1" causes that Links won't initiate any non-proxy connection.
+It is useful for anonymization with tor or similar networks.
+
+.TP
+\f3-download-dir \f2<path>\f1
+Default download directory.
+(default: actual dir)
+
+.TP
+\f3-aggressive-cache \f2<0>/<1>\f1
+Always cache everything regardless of server's caching recomendations.
+Many servers deny caching even if their content is not changing
+just to get more hits and more money from ads.
+
+.TP
+\f3-language \f2<language>\f1
+Set user interface language.
+
+.TP
+\f3-http-bugs.http10 \f2<0>/<1>\f1
+(default 0) "1" forces using only HTTP/1.0 protocol. (useful for buggy servers
+that claim to be HTTP/1.1 compliant but are not)
+"0" enables using both HTTP/1.0 and HTTP/1.1.
+
+.TP
+\f3-http-bugs.allow-blacklist \f2<0>/<1>\f1
+(default 1)
+"1" defaults to using list of servers that have broken HTTP/1.1 support.
+When links finds such server, it will retry the request with HTTP/1.0.
+
+.TP
+\f3-http-bugs.bug-302-redirect \f2<0>/<1>\f1
+(default 1)
+Process 302 redirect in a way that is incompatible with RFC1945 and RFC2068,
+but the same as Netscape and MSIE. Many pages depend on it.
+
+.TP
+\f3-http-bugs.bug-post-no-keepalive \f2<0>/<1>\f1
+(default 0)
+No keepalive connection after post requests. For some buggy servers.
+
+.TP
+\f3-http-bugs.bug-no-accept-charset \f2<0>/<1>\f1
+(default 0)
+Do not send Accept-Charset field of HTTP header. Because it is too long
+some servers will deny the request. Other servers will convert content
+to plain ascii when Accept-Charset is missing.
+
+.TP
+\f3-http-bugs.no-compression \f2<0>/<1>\f1
+(default 0) "1" causes that links won't advertise HTTP compression support (but
+it will still accept compressed data). Use it when you communicate with server
+that has broken compression support.
+
+.TP
+\f3-http-bugs.retry-internal-errors \f2<0>/<1>\f1
+(default 0)
+Retry on internal server errors (50x).
+
+.TP
+\f3-http.referer \f2<0>/<1>/<2>/<3>/<4>\f1
+(default 0)
+0 - do not send referer.
+1 - send the requested URL as referer.
+2 - send fake referer.
+3 - send real referer.
+4 - send real referer only to the same server.
+
+.TP
+\f3-http.fake-referer \f2<string>\f1
+Fake referer value.
+
+.TP
+\f3-http.fake-user-agent \f2<string>\f1
+Fake user agent value.
+
+.TP
+\f3-http.extra-header \f2<string>\f1
+Extra string added to HTTP header.
+
+.TP
+\f3-ftp.anonymous-password \f2<string>\f1
+Password for anonymous ftp access.
+
+.TP
+\f3-ftp.use-passive \f2<0>/<1>\f1
+Use ftp PASV command to bypass firewalls.
+
+.TP
+\f3-ftp.fast \f2<0>/<1>\f1
+Send more ftp commands simultaneously. Faster response when
+browsing ftp directories, but it is incompatible with RFC
+and some servers don't like it.
+
+.TP
+\f3-menu-font-size \f2<size>\f1
+Size of font in menu.
+
+.TP
+\f3-menu-background-color \f20xRRGGBB\f1
+Set menu background color in graphics mode. RRGGBB are hex.
+
+.TP
+\f3-menu-foreground-color \f20xRRGGBB\f1
+Set menu foreground color in graphics mode. RRGGBB are hex.
+
+.TP
+\f3-scroll-bar-area-color \f20xRRGGBB\f1
+Set color of scroll bar area. RRGGBB are hex.
+
+.TP
+\f3-scroll-bar-bar-color \f20xRRGGBB\f1
+Set color of scroll bar. RRGGBB are hex.
+
+.TP
+\f3-scroll-bar-frame-color \f20xRRGGBB\f1
+Set color of scroll bar frame. RRGGBB are hex.
+
+.TP
+\f3-display-red-gamma \f2<fp-value>\f1
+Red gamma of display. (default 2.2)
+
+.TP
+\f3-display-green-gamma \f2<fp-value>\f1
+Green gamma of display. (default 2.2)
+
+.TP
+\f3-display-blue-gamma \f2<fp-value>\f1
+Blue gamma of display. (default 2.2)
+
+.TP
+\f3-user-gamma \f2<fp-value>\f1
+Additional gamma. (defult 1)
+
+.TP
+\f3-bfu-aspect \f2<fp-value>\f1
+Display aspect ration.
+
+.TP
+\f3-aspect-on \f2<0>/<1>\f1
+Enable aspect ratio correction.
+
+.TP
+\f3-dither-letters \f2<0>/<1>\f1
+Do letter dithering.
+
+.TP
+\f3-dither-images \f2<0>/<1>\f1
+Do image dithering.
+
+.TP
+\f3-display-optimize \f2<0>/<1>/<2>\f1
+Optimize for CRT (0), LCD RGB (1), LCD BGR (2).
+
+.TP
+\f3-gamma-correction \f2<0>/<1>/<2>\f1
+Type of gamma correction:
+(default 2)
+0 - 8-bit (fast).
+1 - 16-bit (slow).
+2 - automatically detect according to speed of FPU.
+
+.\".TP
+.\"\f3-enable-javascript \f2<0>/<1>\f1
+.\"Enable javascript.
+.\"
+.\".TP
+.\"\f3-js.verbose-errors \f2<0>/<1>\f1
+.\"Display javascript errors.
+.\"
+.\".TP
+.\"\f3-js.verbose-warnings \f2<0>/<1>\f1
+.\"Display javascript warnings.
+.\"
+.\".TP
+.\"\f3-js.enable-all-conversions \f2<0>/<1>\f1
+.\"Enable conversions between all types in javascript.
+.\"
+.\".TP
+.\"\f3-js.enable-global-resolution \f2<0>/<1>\f1
+.\"Resolve global names.
+.\"
+.\".TP
+.\"\f3-js.manual-confirmation \f2<0>/<1>\f1
+.\"Ask user to confirm potentially dangerous operations.
+.\"(opening windows, going to url etc.) Default 1.
+.\"
+.\".TP
+.\"\f3-js.recursion-depth \f2<integer>\f1
+.\"Depth of javascript call stack.
+.\"
+.\".TP
+.\"\f3-js.memory-limit \f2<memory amount>\f1
+.\"Amount of kilobytes the javascript may allocate.
+.\"
+.TP
+\f3-bookmarks-codepage \f2<codepage>\f1
+Character set of bookmarks file.
+
+.TP
+\f3-bookmarks-file \f2<file>\f1
+File to store bookmarks.
+
+.TP
+\f3-html-assume-codepage \f2<codepage>\f1
+Use the given codepage when the webpage did not specify
+its codepage. (default: ISO 8859-1)
+
+.TP
+\f3-html-hard-assume \f2<0>/<1>\f1
+Use always character set from "-html-assume-codepage" no matter
+what server sent.
+
+.TP
+\f3-html-tables \f2<0>/<1>\f1
+Render tables. (0) causes tables being rendered like in lynx.
+
+.TP
+\f3-html-frames \f2<0>/<1>\f1
+Render frames. (0) causes frames rendered like in lynx.
+
+.TP
+\f3-html-images \f2<0>/<1>\f1
+Display links to unnamed images as [IMG]
+
+.TP
+\f3-html-image-names \f2<0>/<1>\f1
+Display filename of an image instead of [IMG].
+
+.TP
+\f3-html-display-images \f2<0>/<1>\f1
+Display images in graphics mode.
+
+.TP
+\f3-html-image-scale \f2<percent>\f1
+Scale images in graphics mode.
+
+.TP
+\f3-html-bare-image-autoscale \f2<0>/<1>\f1
+Autoscale images displayed in full screen.
+
+.TP
+\f3-html-numbered-links \f2<0>/<1>\f1
+Number links in text mode. Allow quick link selection by typing
+link number and enter.
+
+.TP
+\f3-html-table-order \f2<0>/<1>\f1
+In text mode, walk through table by rows (0) or columns (1).
+
+.TP
+\f3-html-auto-refresh \f2<0>/<1>\f1
+Process refresh to other page (1), or display link to that page (0).
+
+.TP
+\f3-html-target-in-new-window \f2<0>/<1>\f1
+Allow opening new windows from html.
+
+.TP
+\f3-html-margin \f2<number of spaces>\f1
+Margin in text mode.
+
+.TP
+\f3-html-user-font-size \f2<size>\f1
+Size of font on pages in graphics mode.
+
+.TP
+\f3-html-t-text-color \f2<0>-<15>\f1
+Text color in text mode.
+
+.TP
+\f3-html-t-link-color \f2<0>-<15>\f1
+Link color in text mode.
+
+.TP
+\f3-html-t-background-color \f2<0>-<7>\f1
+Background color in text mode.
+
+.TP
+\f3-html-t-ignore-document-color \f2<0>/<1>\f1
+Ignore colors specified in html document in text mode.
+
+.TP
+\f3-html-g-text-color \f20xRRGGBB\f1
+Text color in graphics mode.
+
+.TP
+\f3-html-g-link-color \f20xRRGGBB\f1
+Link color in graphics mode.
+
+.TP
+\f3-html-g-background-color \f20xRRGGBB\f1
+Background color in graphics mode.
+
+.TP
+\f3-html-g-ignore-document-color \f2<0>/<1>\f1
+Ignore colors specified in html document in graphics mode.
+
+.TP
+\f3-lookup \f2<hostname>\f1
+Does name lookup, like command "host".
+
+.TP
+\f3-version\f1
+Prints the
+.I links
+version number and exit.
+
+.TP
+\f3-help\f1
+Printf a help screen
+
+.PP
+More options can be seen with links -h
+
+.SH NAVIGATION KEYS
+The keys you may use while navigating are
+.TP
+.B ESC
+menu/escape
+.TP
+.B F9
+menu
+.TP
+.B F10
+file menu
+.TP
+.B TAB
+next frame
+.TP
+.B PGDN
+page down
+.TP
+.B Space
+page down
+.TP
+.B PGUP
+page up
+.TP
+.B b
+page up
+.TP
+.B B
+page up
+.TP
+.B CursorDOWN
+next link/down (text mode), scroll down (graphics mode)
+.TP
+.B CursorUP
+prev link/up (text mode), up (graphics mode)
+.TP
+.B ^INS
+copy to clipboard
+.TP
+.B ^C
+copy to clipboard (OS/2 only)
+.TP
+.B INS
+scroll up (text mode only)
+.TP
+.B ^P
+scroll up
+.TP
+.B DEL
+scroll down
+.TP
+.B ^N
+scroll down
+.TP
+.B [
+scroll left
+.TP
+.B ]
+scroll right
+.TP
+.B HOME
+home
+.TP
+.B END
+end of page
+.TP
+.B CursorRIGHT
+enter link/press button (text mode), scroll right (graphics mode)
+.TP
+.B ENTER
+enter link/press button
+.TP
+.B CursorLEFT
+go back (text mode), scroll left (graphics mode)
+.TP
+.B d
+download link (text mode only)
+.TP
+.B D
+download link (text mode only)
+.TP
+.B /
+search in the page
+.TP
+.B ?
+search back in the page
+.TP
+.B n
+find next match
+.TP
+.B N
+find next match backwards
+.TP
+.B f
+zoom actual frame
+.TP
+.B F
+zoom actual frame
+.TP
+.B ^R
+reload page
+.TP
+.B g
+go to URL
+.TP
+.B G
+edit the current URL and goto the result
+.TP
+.B s
+bookmark manager
+.TP
+.B S
+bookmark manager
+.TP
+.B q
+quit, close window if more windows are open
+.TP
+.B Q
+quit, close window if more windows are open
+.TP
+.B =
+document informations
+.TP
+.B \e
+toggle HTML source/rendered view
+
+.SH EDITING KEYS
+The following keys can be used while editing a line/jumping to a URL:
+.TP
+.B CursorRIGHT
+move right
+.TP
+.B CursorLEFT
+move left
+.TP
+.B HOME
+jump at the beginning
+.TP
+.B ^A
+jump at the beginning
+.TP
+.B END
+jump at the end
+.TP
+.B ^E
+jump at the end
+.TP
+.B ^X
+cut to clipboard
+.TP
+.B ^V
+paste from clipboard
+.TP
+.B ENTER
+enter line
+.TP
+.B BACKSPACE
+delete back character
+.TP
+.B ^H
+delete back character
+.TP
+.B DEL
+delete character
+.TP
+.B ^D
+delete character
+.TP
+.B ^U
+delete from beginning of the line
+.TP
+.B ^K
+delete to the end of the line or delete line (in textarea)
+.TP
+.B ^W
+auto complete line
+
+
+
+
+
+.SH FILES
+.TP
+.IP "~/.links/links.cfg"
+Per-user configfile, automatically created by
+.B links.
+.SH PLATFORMS
+.B links
+is known to work on Linux, FreeBSD, Solaris, IRIX, HPUX, Digital Unix, AIX,
+OS/2 and BeOS.
+Port for Win32 is in state of beta testing.
+.SH BUGS
+You can't upload large files; it takes _lots_ of memory.
+.PP
+Please report any other bugs you find to Mikulas Patocka
+<mikulas@artax.karlin.mff.cuni.cz>
+
+.SH LICENSE
+.B links
+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.
+
+.SH AUTHOR
+.I links
+was written by
+.B Mikulas Patocka, Karel 'Clock' Kulhavy, Petr 'Brain' Kulhavy, and Martin 'PerM' Pergel.
+See file
+.I AUTHORS
+for a list of people contributing to this project.
+.P
+The homepage of links can be found at
+.BI http://atrey.karlin.mff.cuni.cz/~clock/twibright/links
+.P
+This manual page was written by Peter Gervai <grin@tolna.net>,
+using excerpts from a (yet?) unknown
+.I links
+fan
+for the Debian GNU/Linux system (but may be used by others). Updated by Karel Kulhavy.
+
+.SH "SEE ALSO"
+.BR lynx (1),
+.BR w3m (1)
diff --git a/links.h b/links.h
new file mode 100644
index 0000000..39eae1b
--- /dev/null
+++ b/links.h
@@ -0,0 +1,4283 @@
+/* links.h
+ * (c) 2002 Mikulas Patocka, Karel 'Clock' Kulhavy, Petr 'Brain' Kulhavy,
+ * Martin 'PerM' Pergel
+ * This file is a part of the Links program, released under GPL.
+ */
+
+/*
+ * WARNING: this file MUST be C++ compatible. this means:
+ * no implicit conversions from void *:
+ * BAD: unsigned char *c = mem_alloc(4);
+ * GOOD: unsigned char *c = (unsigned char *)mem_alloc(4);
+ * no implicit char * -> unsigned char * conversions:
+ * BAD: unsigned char *c = stracpy("A");
+ * GOOD: unsigned char *c = stracpy((unsigned char *)"A");
+ * no implicit unsigned char * -> char * conversions:
+ * BAD: unsigned char *x, *y, *z; z = strcpy(x, y);
+ * BAD: l = strlen(x);
+ * GOOD: unsigned char *x, *y; z = (unsigned char *)strcpy((char *)x, (char *)y);
+ * GOOD: l = strlen((char *)x);
+ * don't use C++ keywords (like template)
+ * if there is struct X, you cannot use variable X or typedef X
+ * (this applies to typedef ip as well -- don't use it!)
+ *
+ * IF YOU WRITE ANYTHING NEW TO THIS FILE, try compiling this file in c++
+ * to make sure that you didn't break anything:
+ * g++ -DHAVE_CONFIG_H -x c++ links.h
+ */
+#ifndef LINKS_H
+#define LINKS_H
+
+#define LINKS_COPYRIGHT "(C) 1999 - 2012 Mikulas Patocka\n(C) 2000 - 2012 Petr Kulhavy, Karel Kulhavy, Martin Pergel"
+#define LINKS_COPYRIGHT_8859_1 "(C) 1999 - 2012 Mikul\341s Patocka\n(C) 2000 - 2012 Petr Kulhav\375, Karel Kulhav\375, Martin Pergel"
+#define LINKS_COPYRIGHT_8859_2 "(C) 1999 - 2012 Mikul\341\271 Pato\350ka\n(C) 2000 - 2012 Petr Kulhav\375, Karel Kulhav\375, Martin Pergel"
+
+#ifndef __EXTENSIONS__
+#define __EXTENSIONS__
+#endif
+
+#ifndef _LARGEFILE_SOURCE
+#define _LARGEFILE_SOURCE 1
+#endif
+
+#ifndef _ALL_SOURCE
+#define _ALL_SOURCE 1
+#endif
+
+#ifndef _FILE_OFFSET_BITS
+#define _FILE_OFFSET_BITS 64
+#endif
+
+#include "cfg.h"
+
+#include "os_dep.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <string.h>
+#include <errno.h>
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
+#include <sys/types.h>
+
+#ifndef __USE_XOPEN
+#define U_X
+#define __USE_XOPEN
+#endif
+#ifndef _XOPEN_SOURCE
+#define X_S
+#define _XOPEN_SOURCE 5 /* The 5 is a kludge to get a strptime() prototype in NetBSD */
+#endif
+#ifdef TIME_WITH_SYS_TIME
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+#else
+#if defined(TM_IN_SYS_TIME) && defined(HAVE_SYS_TIME_H)
+#include <sys/time.h>
+#elif defined(HAVE_TIME_H)
+#include <time.h>
+#endif
+#endif
+#ifdef X_S
+#undef _XOPEN_SOURCE
+#endif
+#ifdef U_X
+#undef __USE_XOPEN
+#endif
+
+#include <sys/stat.h>
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+#ifdef HAVE_DIRENT_H
+#include <dirent.h>
+#endif
+#include <signal.h>
+/*#ifdef HAVE_SIGACTION_H
+#include <sigaction.h>
+x #endif*/
+#ifdef HAVE_SYS_WAIT_H
+#include <sys/wait.h>
+#endif
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
+#ifdef HAVE_SYS_RESOURCE_H
+#include <sys/resource.h>
+#endif
+#ifdef HAVE_SYS_CYGWIN_H
+#include <sys/cygwin.h>
+#endif
+#ifdef HAVE_UWIN_H
+#include <uwin.h>
+#endif
+#ifdef HAVE_INTERIX_INTERIX_H
+#include <interix/interix.h>
+#endif
+#ifdef HAVE_IO_H
+#include <io.h>
+#endif
+#ifdef HAVE_PROCESS_H
+#include <process.h>
+#endif
+#ifdef HAVE_CYGWIN_PROCESS_H
+#include <cygwin/process.h>
+#endif
+#ifdef HAVE_SYS_UTSNAME_H
+#include <sys/utsname.h>
+#endif
+#ifdef HAVE_PWD_H
+#include <pwd.h>
+#endif
+#ifdef HAVE_GRP_H
+#include <grp.h>
+#endif
+#ifdef HAVE_MALLOC_H
+#include <malloc.h>
+#endif
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
+#ifdef HAVE_SETJMP_H
+#ifndef DONT_INCLUDE_SETJMP
+#ifndef _SETJMP_H
+#include <setjmp.h>
+#endif /* _SETJMP_H */
+#endif
+#endif
+
+#ifdef HAVE_NETINET_IN_SYSTM_H
+#include <netinet/in_systm.h>
+#else
+#ifdef HAVE_NETINET_IN_SYSTEM_H
+#include <netinet/in_system.h>
+#endif
+#endif
+#include <netdb.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#ifdef HAVE_NETINET_IP_H
+#include <netinet/ip.h>
+#endif
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+#ifdef HAVE_NETINET_DHCP_H
+#include <netinet/dhcp.h>
+#endif
+#include <utime.h>
+
+#ifdef HAVE_SSL
+#ifdef HAVE_OPENSSL
+#include <openssl/ssl.h>
+#include <openssl/rand.h>
+#endif
+#ifdef HAVE_NSS
+#include <nss_compat_ossl/nss_compat_ossl.h>
+#endif
+#endif
+
+#if defined(G)
+#if defined(HAVE_PNG_H)
+#define PNG_THREAD_UNSAFE_OK
+#include <png.h>
+#elif defined(HAVE_LIBPNG_PNG_H)
+#define PNG_THREAD_UNSAFE_OK
+#include <libpng/png.h>
+#endif /* #if defined(HAVE_PNG_H) */
+#ifndef png_jmpbuf
+#define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf)
+#endif
+#endif /* #if defined(G) */
+
+#include <termios.h>
+
+#ifdef HAVE_LONG_LONG
+#define longlong long long
+#define ulonglong unsigned long long
+#else
+#define longlong double
+#define ulonglong double
+#endif
+
+#if defined(__INTERIX) && defined(HAVE_STRTOQ)
+extern quad_t
+#if defined(__cdecl) || defined(_MSC_VER)
+__cdecl
+#endif
+strtoq(const char *, char **, int);
+#endif
+
+#if defined(__hpux) && defined(__LP64__)
+#undef HAVE_SOCKLEN_T
+#endif
+
+#ifndef HAVE_SOCKLEN_T
+#define socklen_t int
+#endif
+
+#ifndef PF_INET
+#define PF_INET AF_INET
+#endif
+#ifndef PF_UNIX
+#define PF_UNIX AF_UNIX
+#endif
+
+#define my_intptr_t long
+
+#include "os_depx.h"
+
+#include "setup.h"
+
+#ifdef HAVE_POINTER_COMPARISON_BUG
+#define DUMMY ((void *)1L)
+#else
+#define DUMMY ((void *)-1L)
+#endif
+
+#define RET_OK 0
+#define RET_ERROR 1
+#define RET_SIGNAL 2
+#define RET_SYNTAX 3
+#define RET_FATAL 4
+
+#ifndef HAVE_SNPRINTF
+int my_snprintf(char *, int n, char *format, ...);
+#define snprintf my_snprintf
+#endif
+#ifndef HAVE_RAISE
+int raise(int);
+#endif
+#ifndef HAVE_GETTIMEOFDAY
+struct timeval {
+ long tv_sec;
+ long tv_usec;
+};
+struct timezone {
+ int tz_minuteswest;
+ int tz_dsttime;
+};
+int gettimeofday(struct timeval *tv, struct timezone *tz);
+#endif
+#ifndef HAVE_TEMPNAM
+char *tempnam(const char *dir, const char *pfx);
+#endif
+#ifndef HAVE_SIGFILLSET
+int sigfillset(sigset_t *set);
+#endif
+#ifndef HAVE_STRTOUL
+unsigned long strtoul(const char *, char **, int);
+#endif
+#ifndef HAVE_STRLEN
+size_t strlen(const char *s);
+#endif
+#ifndef HAVE_STRCPY
+char *strcpy(char *dst, const char *src);
+#endif
+#ifndef HAVE_STRCHR
+char *strchr(const char *s, int c);
+#endif
+#ifndef HAVE_STRRCHR
+char *strrchr(const char *s, int c);
+#endif
+#ifndef HAVE_STRCMP
+int strcmp(const char *s1, const char *s2);
+#endif
+#ifndef HAVE_STRNCMP
+int strncmp(const char *s1, const char *s2, size_t n);
+#endif
+#ifndef HAVE_STRCSPN
+size_t strcspn(const char *s, const char *reject);
+#endif
+#ifndef HAVE_STRSTR
+char *strstr(const char *haystack, const char *needle);
+#endif
+#ifndef HAVE_MEMMOVE
+void *memmove(void *, const void *, size_t);
+#endif
+#ifndef HAVE_STRERROR
+char *strerror(int);
+#endif
+
+#define EINTRLOOPX(ret_, call_, x_) \
+do { \
+ (ret_) = (call_); \
+} while ((ret_) == (x_) && errno == EINTR)
+
+#define EINTRLOOP(ret_, call_) EINTRLOOPX(ret_, call_, -1)
+
+#define ENULLLOOP(ret_, call_) \
+do { \
+ errno = 0; \
+ (ret_) = (call_); \
+} while (!(ret_) && errno == EINTR)
+
+#define option option_dirty_workaround_for_name_clash_with_include_on_cygwin
+#define table table_dirty_workaround_for_name_clash_with_libraries_on_macos
+#define scroll scroll_dirty_workaround_for_name_clash_with_libraries_on_macos
+#define list list_dirty_workaround_for_name_clash_in_stl_with_class_list
+
+#ifndef G
+#define F 0
+#else
+extern int F;
+#endif
+
+#if defined(DEBUG)
+#if defined(G)
+#define NO_GFX do {if (F) internal("call to text-only function");} while (0)
+#define NO_TXT do {if (!F) internal("call to graphics-only function");} while (0)
+#else
+#define NO_GFX do {} while (0)
+#define NO_TXT this_should_not_be_compiled
+#endif
+#else
+#define NO_GFX do {} while (0)
+#define NO_TXT do {} while (0)
+#endif
+
+#ifndef G
+#define gf_val(x, y) (x)
+#define GF(x)
+#else
+#define gf_val(x, y) (F ? (y) : (x))
+#define GF(x) if (F) {x;}
+#endif
+
+#define MAX_STR_LEN 1024
+
+#define BIN_SEARCH(entries, eq, ab, key, result) \
+{ \
+ int s_ = 0, e_ = (entries) - 1; \
+ (result) = -1; \
+ while (s_ <= e_) { \
+ int m_ = (s_ + e_) / 2; \
+ if (eq((m_), (key))) { \
+ (result) = m_; \
+ break; \
+ } \
+ if (ab((m_), (key))) e_ = m_ - 1; \
+ else s_ = m_ + 1; \
+ } \
+} \
+
+/* error.c */
+
+void *do_not_optimize_here(void *p);
+void check_memory_leaks(void);
+void error(unsigned char *, ...);
+void debug_msg(unsigned char *, ...);
+void int_error(unsigned char *, ...);
+extern int errline;
+extern unsigned char *errfile;
+
+#define internal_ errfile = (unsigned char *)__FILE__, errline = __LINE__, int_error
+#define internal internal_
+#define debug errfile = (unsigned char *)__FILE__, errline = __LINE__, debug_msg
+
+/* inline */
+
+void fatal_tty_exit(void);
+
+#ifdef HAVE_CALLOC
+#define x_calloc(x) calloc((x), 1)
+#else
+static inline void *x_calloc(size_t x)
+{
+ void *p;
+ if ((p = malloc(x))) memset(p, 0, x);
+ return p;
+}
+#endif
+
+#define overalloc() \
+do { \
+ error((unsigned char *)"ERROR: attempting to allocate too large block at %s:%d", __FILE__, __LINE__);\
+ fatal_tty_exit(); \
+ exit(RET_FATAL); \
+} while (1) /* while (1) is not a typo --- it's here to allow the
+ compiler that doesn't know that exit doesn't return to do better
+ optimizations */
+
+#ifdef LEAK_DEBUG
+
+extern unsigned long mem_amount;
+extern unsigned long mem_blocks;
+
+#endif
+
+#ifdef LEAK_DEBUG
+
+void *debug_mem_alloc(unsigned char *, int, size_t, int);
+void *debug_mem_calloc(unsigned char *, int, size_t, int);
+void debug_mem_free(unsigned char *, int, void *);
+void *debug_mem_realloc(unsigned char *, int, void *, size_t, int);
+void set_mem_comment(void *, unsigned char *, int);
+unsigned char *get_mem_comment(void *);
+
+#define mem_alloc(x) debug_mem_alloc((unsigned char *)__FILE__, __LINE__, x, 0)
+#define mem_calloc(x) debug_mem_calloc((unsigned char *)__FILE__, __LINE__, x, 0)
+#define mem_free(x) debug_mem_free((unsigned char *)__FILE__, __LINE__, x)
+#define mem_realloc(x, y) debug_mem_realloc((unsigned char *)__FILE__, __LINE__, x, y, 0)
+
+#define mem_alloc_mayfail(x) debug_mem_alloc((unsigned char *)__FILE__, __LINE__, x, 1)
+#define mem_calloc_mayfail(x) debug_mem_calloc((unsigned char *)__FILE__, __LINE__, x, 1)
+#define mem_realloc_mayfail(x, y) debug_mem_realloc((unsigned char *)__FILE__, __LINE__, x, y, 1)
+
+#else
+
+void *mem_alloc_(size_t size, int mayfail);
+void *mem_calloc_(size_t size, int mayfail);
+void mem_free(void *p);
+void *mem_realloc_(void *p, size_t size, int mayfail);
+
+#define mem_alloc(x) mem_alloc_(x, 0)
+#define mem_calloc(x) mem_calloc_(x, 0)
+#define mem_realloc(x, y) mem_realloc_(x, y, 0)
+
+#define mem_alloc_mayfail(x) mem_alloc_(x, 1)
+#define mem_calloc_mayfail(x) mem_calloc_(x, 1)
+#define mem_realloc_mayfail(x, y) mem_realloc_(x, y, 1)
+
+
+static inline void *debug_mem_alloc(unsigned char *f, int l, size_t s, int mayfail) { return mem_alloc_(s, mayfail); }
+static inline void *debug_mem_calloc(unsigned char *f, int l, size_t s, int mayfail) { return mem_calloc_(s, mayfail); }
+static inline void debug_mem_free(unsigned char *f, int l, void *p) { mem_free(p); }
+static inline void *debug_mem_realloc(unsigned char *f, int l, void *p, size_t s, int mayfail) { return mem_realloc_(p, s, mayfail); }
+static inline void set_mem_comment(void *p, unsigned char *c, int l) {}
+static inline unsigned char *get_mem_comment(void *p){return (unsigned char *)"";}
+#endif
+
+static inline unsigned upcase(unsigned a)
+{
+ if (a >= 'a' && a <= 'z') a -= 0x20;
+ return a;
+}
+
+static inline int xstrcmp(unsigned char *s1, unsigned char *s2)
+{
+ if (!s1 && !s2) return 0;
+ if (!s1) return -1;
+ if (!s2) return 1;
+ return strcmp((char *)s1, (char *)s2);
+}
+
+static inline int cmpbeg(unsigned char *str, unsigned char *b)
+{
+ while (*str && upcase(*str) == upcase(*b)) str++, b++;
+ return !!*b;
+}
+
+#if !(defined(LEAK_DEBUG) && defined(LEAK_DEBUG_LIST))
+
+unsigned char *memacpy(const unsigned char *src, size_t len);
+unsigned char *stracpy(const unsigned char *src);
+
+#else
+
+unsigned char *debug_memacpy(unsigned char *f, int l, unsigned char *src, size_t len);
+#define memacpy(s, l) debug_memacpy((unsigned char *)__FILE__, __LINE__, s, l)
+
+unsigned char *debug_stracpy(unsigned char *f, int l, unsigned char *src);
+#define stracpy(s) debug_stracpy((unsigned char *)__FILE__, __LINE__, s)
+
+#endif
+
+#if !defined(HAVE_SIGSETJMP) || !defined(HAVE_SETJMP_H)
+#ifdef OOPS
+#undef OOPS
+#endif
+#endif
+
+#ifndef OOPS
+#define pr(code) if (1) {code;} else
+static inline void nopr(void) {}
+static inline void xpr(void) {}
+#else
+sigjmp_buf *new_stack_frame(void);
+void xpr(void);
+#define pr(code) if (!sigsetjmp(*new_stack_frame(), 1)) {do {code;} while (0); xpr();} else
+void nopr(void);
+#endif
+
+int snprint(unsigned char *s, int n, unsigned long num);
+int snzprint(unsigned char *s, int n, off_t num);
+void add_to_strn(unsigned char **s, unsigned char *a);
+void extend_str(unsigned char **s, int n);
+
+#define ALLOC_GR 0x040 /* must be power of 2 */
+
+#define init_str() init_str_x((unsigned char *)__FILE__, __LINE__)
+
+static inline unsigned char *init_str_x(unsigned char *file, int line)
+{
+ unsigned char *p;
+
+ p=(unsigned char *)debug_mem_alloc(file, line, 1L, 0);
+ *p = 0;
+ return p;
+}
+
+void add_to_str(unsigned char **s, int *l, unsigned char *a);
+void add_bytes_to_str(unsigned char **s, int *l, unsigned char *a, size_t ll);
+void add_chr_to_str(unsigned char **s, int *l, unsigned char a);
+void add_unsigned_num_to_str(unsigned char **s, int *l, off_t n);
+void add_unsigned_long_num_to_str(unsigned char **s, int *l, unsigned long n);
+void add_num_to_str(unsigned char **s, int *l, off_t n);
+void add_knum_to_str(unsigned char **s, int *l, off_t n);
+long strtolx(unsigned char *c, unsigned char **end);
+unsigned char *safe_strncpy(unsigned char *dst, const unsigned char *src, size_t dst_size);
+void skip_nonprintable(unsigned char *txt);
+
+
+struct list_head {
+ void *next;
+ void *prev;
+};
+
+struct xlist_head {
+ struct xlist_head *next;
+ struct xlist_head *prev;
+};
+
+#define init_list(x) { do_not_optimize_here(&x); (x).next=&(x); (x).prev=&(x); do_not_optimize_here(&x);}
+#define list_empty(x) ((x).next == &(x))
+#define del_from_list(x) {do_not_optimize_here(x); ((struct list_head *)(x)->next)->prev=(x)->prev; ((struct list_head *)(x)->prev)->next=(x)->next; do_not_optimize_here(x);}
+/*#define add_to_list(l,x) {(x)->next=(l).next; (x)->prev=(typeof(x))(void *)&(l); (l).next=(x); if ((l).prev==&(l)) (l).prev=(x);}*/
+
+#if defined(HAVE_TYPEOF) && !(defined(__GNUC__) && __GNUC__ >= 4)
+/* GCC 4 emits warnings about this and I haven't found a way to stop it */
+#define add_at_pos(p,x) do {do_not_optimize_here(p); (x)->next=(p)->next; (x)->prev=(p); (p)->next=(x); (x)->next->prev=(x);do_not_optimize_here(p);} while(0)
+#define add_to_list(l,x) add_at_pos((typeof(x))(void *)&(l),(x))
+#define foreach(e,l) for ((e)=(l).next; (e)!=(typeof(e))(void *)&(l); (e)=(e)->next)
+#define foreachback(e,l) for ((e)=(l).prev; (e)!=(typeof(e))(void *)&(l); (e)=(e)->prev)
+#else
+#define add_at_pos(p,x) do {do_not_optimize_here(p); (x)->next=(p)->next; (x)->prev=(void *)(p); (p)->next=(x); (x)->next->prev=(x); do_not_optimize_here(p); } while(0)
+#define add_to_list(l,x) add_at_pos(&(l),(x))
+#define foreach(e,l) for ((e)=(l).next; (e)!=(void *)&(l); (e)=(e)->next)
+#define foreachback(e,l) for ((e)=(l).prev; (e)!=(void *)&(l); (e)=(e)->prev)
+#endif
+#define free_list(l) {do_not_optimize_here(&l); while ((l).next != &(l)) {struct list_head *a__=(l).next; del_from_list(a__); mem_free(a__); } do_not_optimize_here(&l);}
+
+#define WHITECHAR(x) ((x) == 9 || (x) == 10 || (x) == 12 || (x) == 13 || (x) == ' ')
+#define U(x) ((x) == '"' || (x) == '\'')
+
+/* case insensitive compare of 2 strings */
+/* comparison ends after len (or less) characters */
+/* return value: 1=strings differ, 0=strings are same */
+int casecmp(unsigned char *c1, unsigned char *c2, size_t len);
+
+static inline int srch_cmp(unsigned char c1, unsigned char c2)
+{
+ return upcase(c1) != upcase(c2);
+}
+
+int casestrstr(unsigned char *h, unsigned char *n);
+
+#define CI_BYTES 1
+#define CI_FILES 2
+#define CI_LOCKED 3
+#define CI_LOADING 4
+#define CI_TIMERS 5
+#define CI_TRANSFER 6
+#define CI_CONNECTING 7
+#define CI_KEEP 8
+#define CI_LIST 9
+
+/* os_dep.c */
+
+#if defined(HAVE_GPM_H) && defined(HAVE_LIBGPM)
+#define USE_GPM
+#endif
+
+#if defined(OS2) && defined(HAVE_UMALLOC_H) && defined(HAVE__UCREATE) && defined(HAVE__UOPEN) && defined(HAVE__UDEFAULT)
+#define OS2_ADVANCED_HEAP
+#define MEMORY_REQUESTED
+extern unsigned long mem_requested;
+extern unsigned long blocks_requested;
+#endif
+
+struct terminal;
+
+struct open_in_new {
+ unsigned char *text;
+ unsigned char *hk;
+ int (*open_window_fn)(struct terminal *, unsigned char *, unsigned char *);
+};
+
+void close_fork_tty(void);
+int get_system_env(void);
+int is_xterm(void);
+int can_twterm(void);
+int get_terminal_size(int, int *, int *);
+void handle_terminal_resize(int, void (*)(void));
+void unhandle_terminal_resize(int);
+void set_bin(int);
+int c_pipe(int *);
+int get_input_handle(void);
+int get_output_handle(void);
+int get_ctl_handle(void);
+void want_draw(void);
+void done_draw(void);
+void terminate_osdep(void);
+void *handle_mouse(int, void (*)(void *, unsigned char *, int), void *);
+void unhandle_mouse(void *);
+void add_gpm_version(unsigned char **s, int *l);
+int start_thread(void (*)(void *, int), void *, int);
+unsigned char *get_clipboard_text(struct terminal *);
+void set_clipboard_text(struct terminal *, unsigned char *);
+int clipboard_support(struct terminal *);
+void set_window_title(unsigned char *);
+unsigned char *get_window_title(void);
+int is_safe_in_shell(unsigned char);
+int is_safe_in_url(unsigned char);
+unsigned char *escape_path(unsigned char *);
+void check_shell_security(unsigned char **);
+int check_shell_url(unsigned char *);
+void ignore_signals(void);
+void block_stdin(void);
+void unblock_stdin(void);
+void init_os(void);
+void init_os_terminal(void);
+void get_path_to_exe(void);
+int os_get_system_name(unsigned char *buffer);
+unsigned char *os_conv_to_external_path(unsigned char *, unsigned char *);
+unsigned char *os_fixup_external_program(unsigned char *);
+int exe(unsigned char *, int);
+int resize_window(int, int);
+int can_resize_window(struct terminal *);
+int can_open_os_shell(int);
+struct open_in_new *get_open_in_new(int);
+void set_highpri(void);
+#ifdef HAVE_OPEN_PREALLOC
+int open_prealloc(unsigned char *, int, int, off_t);
+#endif
+void os_cfmakeraw(struct termios *t);
+
+extern unsigned char *clipboard;
+
+/* memory.c */
+
+#define SH_CHECK_QUOTA 0
+#define SH_FREE_SOMETHING 1
+#define SH_FREE_ALL 2
+
+#define ST_SOMETHING_FREED 1
+#define ST_CACHE_EMPTY 2
+
+int shrink_memory(int);
+void register_cache_upcall(int (*)(int), unsigned char *);
+void free_all_caches(void);
+extern int malloc_try_hard;
+int out_of_memory(unsigned char *msg, size_t size);
+
+#ifndef DEBUG_TEST_FREE
+#define debug_test_free(file, line)
+#else
+void debug_test_free(unsigned char *file, int line);
+#endif
+
+/* select.c */
+
+#ifndef FD_SETSIZE
+#define FD_SETSIZE 1024
+#endif
+
+#ifdef HAVE_LONG_LONG
+typedef long long ttime;
+typedef unsigned long long uttime;
+typedef unsigned long long tcount;
+#else
+typedef long ttime;
+typedef unsigned long uttime;
+typedef unsigned long tcount;
+#endif
+
+extern int terminate_loop;
+
+int can_write(int fd);
+int can_read(int fd);
+unsigned long select_info(int);
+void select_loop(void (*)(void));
+int register_bottom_half(void (*)(void *), void *);
+void unregister_bottom_half(void (*)(void *), void *);
+void check_bottom_halves(void);
+int install_timer(ttime, void (*)(void *), void *);
+void kill_timer(int);
+ttime get_time(void);
+
+#define H_READ 0
+#define H_WRITE 1
+#define H_ERROR 2
+#define H_DATA 3
+
+void *get_handler(int, int);
+void set_handlers(int, void (*)(void *), void (*)(void *), void (*)(void *), void *);
+void install_signal_handler(int, void (*)(void *), void *, int);
+void interruptible_signal(int sig, int in);
+void set_sigcld(void);
+
+/* dns.c */
+
+typedef unsigned ip__address;
+
+int numeric_ip_address(unsigned char *name, ip__address *host);
+int do_real_lookup(unsigned char *, ip__address *);
+int find_host(unsigned char *, ip__address *, void **, void (*)(void *, int), void *);
+int find_host_no_cache(unsigned char *, ip__address *, void **, void (*)(void *, int), void *);
+void kill_dns_request(void **);
+unsigned long dns_info(int type);
+void init_dns(void);
+
+/* cache.c */
+
+struct cache_entry {
+ struct cache_entry *next;
+ struct cache_entry *prev;
+ unsigned char *url;
+ unsigned char *head;
+ int http_code;
+ unsigned char *redirect;
+ int redirect_get;
+ off_t length;
+ int incomplete;
+ int tgc;
+ unsigned char *last_modified;
+ time_t expire_time; /* 0 never, 1 always */
+ off_t data_size;
+ struct list_head frag; /* struct fragment */
+ tcount count;
+ tcount count2;
+ int refcount;
+ unsigned char *decompressed;
+ size_t decompressed_len;
+#ifdef HAVE_SSL
+ unsigned char *ssl_info;
+#endif
+};
+
+struct fragment {
+ struct fragment *next;
+ struct fragment *prev;
+ off_t offset;
+ off_t length;
+ off_t real_length;
+ unsigned char data[1];
+};
+
+extern int page_size;
+
+void init_cache(void);
+unsigned long cache_info(int);
+unsigned long decompress_info(int);
+int find_in_cache(unsigned char *, struct cache_entry **);
+int get_cache_entry(unsigned char *, struct cache_entry **);
+int new_cache_entry(unsigned char *, struct cache_entry **);
+void detach_cache_entry(struct cache_entry *);
+int add_fragment(struct cache_entry *, off_t, unsigned char *, off_t);
+int defrag_entry(struct cache_entry *);
+void truncate_entry(struct cache_entry *, off_t, int);
+void free_entry_to(struct cache_entry *, off_t);
+void delete_entry_content(struct cache_entry *);
+void delete_cache_entry(struct cache_entry *e);
+void trim_cache_entry(struct cache_entry *e);
+
+/* sched.c */
+
+#define PRI_MAIN 0
+#define PRI_DOWNLOAD 0
+#define PRI_FRAME 1
+#define PRI_NEED_IMG 2
+#define PRI_IMG 3
+#define PRI_PRELOAD 4
+#define PRI_CANCEL 5
+#define N_PRI 6
+
+struct remaining_info {
+ int valid;
+ off_t size, loaded, last_loaded, cur_loaded;
+ off_t pos;
+ ttime elapsed;
+ ttime last_time;
+ ttime dis_b;
+ int data_in_secs[CURRENT_SPD_SEC];
+ int timer;
+};
+
+struct connection {
+ struct connection *next;
+ struct connection *prev;
+ tcount count;
+ unsigned char *url;
+ unsigned char *prev_url; /* allocated string with referrer or NULL */
+ int running;
+ int state;
+ int prev_error;
+ off_t from;
+ int pri[N_PRI];
+ int no_cache;
+ int sock1;
+ int sock2;
+ void *dnsquery;
+ pid_t pid;
+ int tries;
+ struct list_head statuss;
+ void *info;
+ void *buffer;
+ struct conn_info *newconn;
+ void (*conn_func)(void *);
+ struct cache_entry *cache;
+ off_t received;
+ off_t est_length;
+ int unrestartable;
+ int no_compress;
+ struct remaining_info prg;
+ int timer;
+ int detached;
+ unsigned char socks_proxy[MAX_STR_LEN];
+#ifdef HAVE_SSL
+ SSL *ssl;
+ int no_tsl;
+#endif
+};
+
+extern struct list_head queue;
+
+struct k_conn {
+ struct k_conn *next;
+ struct k_conn *prev;
+ void (*protocol)(struct connection *);
+ unsigned char *host;
+ int port;
+ int conn;
+ ttime timeout;
+ ttime add_time;
+};
+
+extern struct list_head keepalive_connections;
+
+static inline int getpri(struct connection *c)
+{
+ int i;
+ for (i = 0; i < N_PRI; i++) if (c->pri[i]) return i;
+ internal((unsigned char *)"connection has no owner");
+ return N_PRI;
+}
+
+#define NC_ALWAYS_CACHE 0
+#define NC_CACHE 1
+#define NC_IF_MOD 2
+#define NC_RELOAD 3
+#define NC_PR_NO_CACHE 4
+
+#define S_WAIT 0
+#define S_DNS 1
+#define S_CONN 2
+#define S_SOCKS_NEG 3
+#define S_SSL_NEG 4
+#define S_SENT 5
+#define S_LOGIN 6
+#define S_GETH 7
+#define S_PROC 8
+#define S_TRANS 9
+
+#define S__OK (-2000000000)
+#define S_INTERRUPTED (-2000000001)
+#define S_EXCEPT (-2000000002)
+#define S_INTERNAL (-2000000003)
+#define S_OUT_OF_MEM (-2000000004)
+#define S_NO_DNS (-2000000005)
+#define S_CANT_WRITE (-2000000006)
+#define S_CANT_READ (-2000000007)
+#define S_MODIFIED (-2000000008)
+#define S_BAD_URL (-2000000009)
+#define S_TIMEOUT (-2000000010)
+#define S_RESTART (-2000000011)
+#define S_STATE (-2000000012)
+#define S_CYCLIC_REDIRECT (-2000000013)
+#define S_LARGE_FILE (-2000000014)
+#define S_BLOCKED_URL (-2000000015)
+#define S_NO_PROXY (-2000000016)
+
+#define S_HTTP_ERROR (-2000000100)
+#define S_HTTP_100 (-2000000101)
+#define S_HTTP_204 (-2000000102)
+
+#define S_FILE_TYPE (-2000000200)
+#define S_FILE_ERROR (-2000000201)
+
+#define S_FTP_ERROR (-2000000300)
+#define S_FTP_UNAVAIL (-2000000301)
+#define S_FTP_LOGIN (-2000000302)
+#define S_FTP_PORT (-2000000303)
+#define S_FTP_NO_FILE (-2000000304)
+#define S_FTP_FILE_ERROR (-2000000305)
+
+#define S_SSL_ERROR (-2000000400)
+#define S_NO_SSL (-2000000401)
+
+#define S_BAD_SOCKS_VERSION (-2000000500)
+#define S_SOCKS_REJECTED (-2000000501)
+#define S_SOCKS_NO_IDENTD (-2000000502)
+#define S_SOCKS_BAD_USERID (-2000000503)
+#define S_SOCKS_UNKNOWN_ERROR (-2000000504)
+
+#define S_NO_SMB_CLIENT (-2000000600)
+
+#define S_WAIT_REDIR (-2000000700)
+
+#define S_UNKNOWN_ERROR (-2000000800)
+
+#define S_MAX (-2000000900)
+
+
+extern struct s_msg_dsc {
+ int n;
+ unsigned char *msg;
+} msg_dsc[];
+
+struct status {
+ struct status *next;
+ struct status *prev;
+ struct connection *c;
+ struct cache_entry *ce;
+ int state;
+ int prev_error;
+ int pri;
+ void (*end)(struct status *, void *);
+ void *data;
+ struct remaining_info *prg;
+};
+
+unsigned char *get_proxy(unsigned char *url);
+void check_queue(void *dummy);
+unsigned long connect_info(int);
+void setcstate(struct connection *c, int);
+int get_keepalive_socket(struct connection *c);
+void add_keepalive_socket(struct connection *c, ttime);
+int is_connection_restartable(struct connection *c);
+int is_last_try(struct connection *c);
+void retry_connection(struct connection *c);
+void abort_connection(struct connection *c);
+void load_url(unsigned char *, unsigned char *, struct status *, int, int, int, off_t);
+void change_connection(struct status *, struct status *, int);
+void detach_connection(struct status *, off_t);
+void abort_all_connections(void);
+void abort_background_connections(void);
+void abort_all_keepalive_connections(void);
+int is_entry_used(struct cache_entry *);
+void set_timeout(struct connection *);
+void add_blacklist_entry(unsigned char *, int);
+void del_blacklist_entry(unsigned char *, int);
+int get_blacklist_flags(unsigned char *);
+void free_blacklist(void);
+
+#define BL_HTTP10 0x01
+#define BL_NO_ACCEPT_LANGUAGE 0x02
+#define BL_NO_CHARSET 0x04
+#define BL_NO_RANGE 0x08
+#define BL_NO_COMPRESSION 0x10
+#define BL_NO_BZIP2 0x20
+
+/* url.c */
+
+struct session;
+
+#define POST_CHAR 1
+
+static inline int end_of_dir(unsigned char *url, unsigned char c)
+{
+ return c == POST_CHAR || c == '#' || ((c == ';' || c == '?') && (!url || !casecmp(url, (unsigned char *)"http", 4)));
+}
+
+int parse_url(unsigned char *, int *, unsigned char **, int *, unsigned char **, int *, unsigned char **, int *, unsigned char **, int *, unsigned char **, int *, unsigned char **);
+unsigned char *get_protocol_name(unsigned char *);
+unsigned char *get_host_name(unsigned char *);
+unsigned char *get_host_and_pass(unsigned char *);
+unsigned char *get_user_name(unsigned char *);
+unsigned char *get_pass(unsigned char *);
+int get_port(unsigned char *);
+unsigned char *get_port_str(unsigned char *);
+void (*get_protocol_handle(unsigned char *))(struct connection *);
+void (*get_external_protocol_function(unsigned char *))(struct session *, unsigned char *);
+int url_bypasses_socks(unsigned char *);
+unsigned char *get_url_data(unsigned char *);
+unsigned char *translate_hashbang(unsigned char *up);
+unsigned char *join_urls(unsigned char *, unsigned char *);
+unsigned char *translate_url(unsigned char *, unsigned char *);
+unsigned char *extract_position(unsigned char *);
+void add_conv_str(unsigned char **s, int *l, unsigned char *b, int ll, int encode_special);
+
+/* connect.c */
+
+struct read_buffer {
+ int sock;
+ int len;
+ int close;
+ void (*done)(struct connection *, struct read_buffer *);
+ unsigned char data[1];
+};
+
+int socket_and_bind(unsigned char *address);
+void close_socket(int *);
+void make_connection(struct connection *, int, int *, void (*)(struct connection *));
+int get_pasv_socket(struct connection *, int, int *, unsigned char *);
+void write_to_socket(struct connection *, int, unsigned char *, int, void (*)(struct connection *));
+struct read_buffer *alloc_read_buffer(struct connection *c);
+void read_from_socket(struct connection *, int, struct read_buffer *, void (*)(struct connection *, struct read_buffer *));
+void kill_buffer_data(struct read_buffer *, int);
+
+/* cookies.c */
+
+struct cookie {
+ struct cookie *next;
+ struct cookie *prev;
+ unsigned char *name, *value;
+ unsigned char *server;
+ unsigned char *path, *domain;
+ time_t expires; /* zero means undefined */
+ int secure;
+ int id;
+};
+
+struct c_domain {
+ struct c_domain *next;
+ struct c_domain *prev;
+ unsigned char domain[1];
+};
+
+
+extern struct list_head cookies;
+extern struct list_head c_domains;
+
+int set_cookie(struct terminal *, unsigned char *, unsigned char *);
+void add_cookies(unsigned char **, int *, unsigned char *);
+void init_cookies(void);
+void cleanup_cookies(void);
+int is_in_domain(unsigned char *d, unsigned char *s);
+int is_path_prefix(unsigned char *d, unsigned char *s);
+int cookie_expired(struct cookie *c);
+void free_cookie(struct cookie *c);
+
+/* auth.c */
+
+unsigned char *get_auth_realm(unsigned char *url, unsigned char *head, int proxy);
+unsigned char *get_auth_string(unsigned char *url);
+void cleanup_auth(void);
+void add_auth(unsigned char *url, unsigned char *realm, unsigned char *user, unsigned char *password, int proxy);
+int find_auth(unsigned char *url, unsigned char *realm);
+
+/* http.c */
+
+int get_http_code(unsigned char *head, int *code, int *version);
+unsigned char *parse_http_header(unsigned char *, unsigned char *, unsigned char **);
+unsigned char *parse_header_param(unsigned char *, unsigned char *, int);
+void http_func(struct connection *);
+void proxy_func(struct connection *);
+
+
+/* https.c */
+
+void https_func(struct connection *c);
+#ifdef HAVE_SSL
+void ssl_finish(void);
+SSL *getSSL(void);
+#endif
+
+/* file.c */
+
+void file_func(struct connection *);
+
+/* finger.c */
+
+void finger_func(struct connection *);
+
+/* ftp.c */
+
+#if defined(IP_TOS) && defined(IPTOS_THROUGHPUT)
+#define HAVE_IPTOS
+#endif
+
+void ftp_func(struct connection *);
+
+/* smb.c */
+
+void smb_func(struct connection *);
+
+/* mailto.c */
+
+void magnet_func(struct session *, unsigned char *);
+void mailto_func(struct session *, unsigned char *);
+void telnet_func(struct session *, unsigned char *);
+void tn3270_func(struct session *, unsigned char *);
+void mms_func(struct session *, unsigned char *);
+
+/* kbd.c */
+
+#define BM_BUTT 15
+#define B_LEFT 0
+#define B_MIDDLE 1
+#define B_RIGHT 2
+#define B_FOURTH 3
+#define B_FIFTH 4
+#define B_SIXTH 5
+#define B_WHEELUP 8
+#define B_WHEELDOWN 9
+#define B_WHEELUP1 10
+#define B_WHEELDOWN1 11
+#define B_WHEELLEFT 12
+#define B_WHEELRIGHT 13
+#define B_WHEELLEFT1 14
+#define B_WHEELRIGHT1 15
+
+#define BM_ACT 48
+#define B_DOWN 0
+#define B_UP 16
+#define B_DRAG 32
+#define B_MOVE 48
+
+#define KBD_ENTER -0x100
+#define KBD_BS -0x101
+#define KBD_TAB -0x102
+#define KBD_ESC -0x103
+#define KBD_LEFT -0x104
+#define KBD_RIGHT -0x105
+#define KBD_UP -0x106
+#define KBD_DOWN -0x107
+#define KBD_INS -0x108
+#define KBD_DEL -0x109
+#define KBD_HOME -0x10a
+#define KBD_END -0x10b
+#define KBD_PAGE_UP -0x10c
+#define KBD_PAGE_DOWN -0x10d
+
+#define KBD_F1 -0x120
+#define KBD_F2 -0x121
+#define KBD_F3 -0x122
+#define KBD_F4 -0x123
+#define KBD_F5 -0x124
+#define KBD_F6 -0x125
+#define KBD_F7 -0x126
+#define KBD_F8 -0x127
+#define KBD_F9 -0x128
+#define KBD_F10 -0x129
+#define KBD_F11 -0x12a
+#define KBD_F12 -0x12b
+
+#define KBD_CTRL_C -0x200
+#define KBD_CLOSE -0x201
+
+#define KBD_SHIFT 1
+#define KBD_CTRL 2
+#define KBD_ALT 4
+
+void handle_trm(int, int, int, int, int, void *, int);
+void free_all_itrms(void);
+void resize_terminal(void);
+void dispatch_special(unsigned char *);
+void kbd_ctrl_c(void);
+int is_blocked(void);
+
+struct os2_key {
+ int x, y;
+};
+
+extern struct os2_key os2xtd[256];
+
+struct itrm;
+
+extern unsigned char init_seq[];
+extern unsigned char init_seq_x_mouse[];
+extern unsigned char init_seq_tw_mouse[];
+extern unsigned char term_seq[];
+extern unsigned char term_seq_x_mouse[];
+extern unsigned char term_seq_tw_mouse[];
+
+#if defined(GRDRV_SVGALIB) || defined(GRDRV_FB)
+extern int kbd_set_raw;
+struct itrm *handle_svgalib_keyboard(void (*)(void *, unsigned char *, int));
+void svgalib_free_trm(struct itrm *);
+void svgalib_block_itrm(struct itrm *);
+int svgalib_unblock_itrm(struct itrm *);
+#endif
+
+
+struct rgb {
+ unsigned char r, g, b; /* This is 3*8 bits with sRGB gamma (in sRGB space)
+ * This is not rounded. */
+ unsigned char pad;
+};
+
+#ifdef G
+
+/* lru.c */
+
+struct lru_entry {
+ struct lru_entry *above, *below, *next;
+ struct lru_entry **previous;
+ void *data;
+ unsigned bytes_consumed;
+};
+
+struct lru {
+ int (*compare_function)(void *, void *);
+ struct lru_entry *top, *bottom;
+ unsigned long bytes, items;
+};
+
+void lru_insert(struct lru *cache, void *entry, struct lru_entry **row, unsigned bytes_consumed);
+void *lru_get_bottom(struct lru *cache);
+void lru_destroy_bottom(struct lru *cache);
+void lru_init (struct lru *cache, int (*compare_function)(void *entry, void *templ));
+void *lru_lookup(struct lru *cache, void *templ, struct lru_entry *row);
+
+/* drivers.c */
+
+struct irgb{
+ int r,g,b; /* 0xffff=full white, 0x0000=full black */
+};
+
+/* Bitmap is allowed to pass only to that driver from which was obtained.
+ * It is forbidden to get bitmap from svga driver and pass it to X driver.
+ * It is impossible to get an error when registering a bitmap
+ */
+struct bitmap{
+ int x,y; /* Dimensions */
+ int skip; /* Byte distance between vertically consecutive pixels */
+ void *data; /* Pointer to room for topleft pixel */
+ void *user; /* For implementing LRU algor by higher layer or what*/
+ void *flags; /* Allocation flags for the driver */
+};
+
+struct rect {
+ int x1, x2, y1, y2;
+};
+
+struct rect_set {
+ int rl;
+ int m;
+ struct rect r[1];
+};
+
+struct graphics_device {
+ /* Only graphics driver is allowed to write to this */
+
+ struct rect size; /* Size of the window */
+ /*int left, right, top, bottom;*/
+ struct rect clip;
+ /* right, bottom are coords of the first point that are outside the clipping area */
+
+ void *driver_data;
+
+ /* Only user is allowed to write here, driver inits to zero's */
+ void *user_data;
+ void (*redraw_handler)(struct graphics_device *dev, struct rect *r);
+ void (*resize_handler)(struct graphics_device *dev);
+ void (*keyboard_handler)(struct graphics_device *dev, int key, int flags);
+ void (*mouse_handler)(struct graphics_device *dev, int x, int y, int buttons);
+};
+
+struct graphics_driver {
+ unsigned char *name;
+ unsigned char *(*init_driver)(unsigned char *param, unsigned char *display); /* param is get from get_driver_param and saved into configure file */
+
+ /* Creates new device and returns pointer to it */
+ struct graphics_device *(* init_device)(void);
+
+ /* Destroys the device */
+ void (*shutdown_device)(struct graphics_device *dev);
+
+ void (*shutdown_driver)(void);
+ unsigned char *(*get_driver_param)(void); /* returns allocated string with parameter given to init_driver function */
+
+ /* dest must have x and y filled in when get_empty_bitmap is called */
+ int (*get_empty_bitmap)(struct bitmap *dest);
+
+ /* dest must have x and y filled in when get_filled_bitmap is called. */
+ /* bitmap is created, pre-filled with n_bytes of pattern, and registered */
+ /*int (*get_filled_bitmap)(struct bitmap *dest, long color);*/
+
+ void (*register_bitmap)(struct bitmap *bmp);
+
+ void *(*prepare_strip)(struct bitmap *bmp, int top, int lines);
+ void (*commit_strip)(struct bitmap *bmp, int top, int lines);
+
+ /* Must not touch x and y. Suitable for re-registering. */
+ void (*unregister_bitmap)(struct bitmap *bmp);
+ void (*draw_bitmap)(struct graphics_device *dev, struct bitmap *hndl, int x, int y);
+ /*void (*draw_bitmaps)(struct graphics_device *dev, struct bitmap **hndls, int n, int x, int y);*/
+
+ /* Input into get_color has gamma 1/display_gamma.
+ * Input of 255 means exactly the largest sample the display is able to produce.
+ * Thus, if we have 3 bits for red, we will perform this code:
+ * red=((red*7)+127)/255;
+ */
+ long (*get_color)(int rgb);
+
+ void (*fill_area)(struct graphics_device *dev, int x1, int y1, int x2, int y2, long color);
+ void (*draw_hline)(struct graphics_device *dev, int left, int y, int right, long color);
+ void (*draw_vline)(struct graphics_device *dev, int x, int top, int bottom, long color);
+ int (*hscroll)(struct graphics_device *dev, struct rect_set **set, int sc);
+ int (*vscroll)(struct graphics_device *dev, struct rect_set **set, int sc);
+ /* When scrolling, the empty spaces will have undefined contents. */
+ /* returns:
+ 0 - the caller should not care about redrawing, redraw will be sent
+ 1 - the caller should redraw uncovered area */
+ /* when set is not NULL rectangles in the set (uncovered area) should be redrawn */
+ void (*set_clip_area)(struct graphics_device *dev, struct rect *r);
+
+ int (*block)(struct graphics_device *dev); /* restore old videomode and disable drawing on terminal */
+ int (*unblock)(struct graphics_device *dev); /* reenable the terminal (return -1 if failed) */
+
+ void (*set_title)(struct graphics_device *dev, unsigned char *title);
+ /* set window title. title is in utf-8 encoding -- you should recode it to device charset */
+ /* if device doesn't support titles (svgalib, framebuffer), this should be NULL, not empty function ! */
+
+ int (*exec)(unsigned char *command, int flag);
+ /* -if !NULL executes command on this graphics device,
+ -if NULL links uses generic (console) command executing
+ functions
+ -return value is the same as of the 'system' syscall
+ -if flag is !0, run command in separate shell
+ else run command directly
+ */
+
+ void (*set_clipboard_text)(struct graphics_device *gd, unsigned char *text);
+ unsigned char *(*get_clipboard_text)(void);
+
+ int depth; /* Data layout
+ * depth
+ * 8 7 6 5 4 3 2 1 0
+ * +-+---------+-----+
+ * | | | |
+ * +-+---------+-----+
+ *
+ * 0 - 2 Number of bytes per pixel in passed bitmaps
+ * 3 - 7 Number of significant bits per pixel -- 1, 4, 8, 15, 16, 24
+ * 8 0-- normal order, 1-- misordered.Has the same value as vga_misordered from the VGA mode.
+ *
+ * This number is to be used by the layer that generates images.
+ * Memory layout for 1 bytes per pixel is:
+ * 2 colors:
+ * 7 6 5 4 3 2 1 0
+ * +-------------+-+
+ * | 0 |B| B is The Bit. 0 black, 1 white
+ * +-------------+-+
+ *
+ * 16 colors:
+ * 7 6 5 4 3 2 1 0
+ * +-------+-------+
+ * | 0 | PIXEL | Pixel is 4-bit index into palette
+ * +-------+-------+
+ *
+ * 256 colors:
+ * 7 6 5 4 3 2 1 0
+ * +---------------+
+ * | --PIXEL-- | Pixels is 8-bit index into palette
+ * +---------------+
+ */
+ int x, y; /* size of screen. only for drivers that use virtual devices */
+ int flags; /* GD_xxx flags */
+ int codepage;
+ unsigned char *shell;
+ /* -if exec is NULL string is unused
+ -otherwise this string describes shell to be executed by the
+ exec function, the '%' char means string to be executed
+ -shell cannot be NULL
+ -if exec is !NULL and shell is empty, exec should use some
+ default shell (e.g. "xterm -e %")
+ */
+};
+
+#define GD_DONT_USE_SCROLL 1
+#define GD_NEED_CODEPAGE 2
+#define GD_ONLY_1_WINDOW 4
+#define GD_NOAUTO 8
+#define GD_NO_OS_SHELL 16
+
+extern struct graphics_driver *drv;
+
+void add_graphics_drivers(unsigned char **s, int *l);
+unsigned char *init_graphics(unsigned char *, unsigned char *, unsigned char *);
+void shutdown_graphics(void);
+void update_driver_param(void);
+
+int dummy_block(struct graphics_device *);
+int dummy_unblock(struct graphics_device *);
+
+extern struct graphics_device **virtual_devices;
+extern int n_virtual_devices;
+extern struct graphics_device *current_virtual_device;
+
+int init_virtual_devices(struct graphics_driver *, int);
+struct graphics_device *init_virtual_device(void);
+#define VD_NEXT -1
+void switch_virtual_device(int);
+void shutdown_virtual_device(struct graphics_device *dev);
+void shutdown_virtual_devices(void);
+
+/* dip.c */
+
+/* Digital Image Processing utilities
+ * (c) 2000 Clock <clock@atrey.karlin.mff.cuni.cz>
+ *
+ * This file is a part of Links
+ *
+ * This file does gray scaling (for prescaling fonts), color scaling (for scaling images
+ * where different size is defined in the HTML), two colors mixing (alpha monochromatic letter
+ * on a monochromatic backround and font operations.
+ */
+
+#define FC_COLOR 0
+#define FC_BW 1
+
+extern unsigned long aspect, aspect_native; /* Must hold at least 20 bits */
+extern double bfu_aspect;
+extern int aspect_on;
+unsigned long fontcache_info(int type);
+
+#endif /* #ifdef G */
+
+extern double display_red_gamma,display_green_gamma,display_blue_gamma;
+extern double user_gamma;
+extern int menu_font_size;
+extern double sRGB_gamma;
+
+#ifdef G
+
+#define G_BFU_FONT_SIZE menu_font_size
+
+struct read_work{
+ unsigned char *pointer;
+ int length;
+};
+
+struct letter {
+ int begin; /* Begin in the byte stream (of PNG data) */
+ int length; /* Length (in bytes) of the PNG data in the byte stream */
+ int code; /* Unicode code of the character */
+ int xsize; /* x size of the PNG image */
+ int ysize; /* y size of the PNG image */
+ struct lru_entry* color_list;
+ struct lru_entry* bw_list;
+};
+
+struct font {
+ unsigned char *family;
+ unsigned char *weight;
+ unsigned char *slant;
+ unsigned char *adstyl;
+ unsigned char *spacing;
+ int begin; /* Begin in the letter stream */
+ int length; /* Length in the letter stream */
+};
+
+struct style{
+ int refcount;
+ unsigned char r0, g0, b0, r1, g1, b1;
+ /* ?0 are background, ?1 foreground.
+ * These are unrounded 8-bit sRGB space
+ */
+ int height;
+ int flags; /* non-zero means underline */
+ long underline_color; /* Valid only if flags are nonzero */
+ int *table; /* First is refcount, then n_fonts entries. Total
+ * size is n_fonts+1 integers.
+ */
+ int mono_space; /* -1 if the font is not monospaced
+ * width of the space otherwise
+ */
+ int mono_height; /* Height of the space if mono_space is >=0
+ * undefined otherwise
+ */
+ /*
+ unsigned char font[1];
+ */
+};
+
+struct font_cache_entry{
+ int type; /* One of FC_BW or FC_COLOR */
+ int r0,g0,b0,r1,g1,b1; /* Invalid for FC_BW */
+ struct bitmap bitmap; /* If type==FC_BW, then this is not a normal registered
+ * bitmap, but a black-and-white bitmap
+ */
+ int mono_space, mono_height; /* if the letter was rendered for a
+ monospace font, then size of the space. Otherwise, mono_space
+ is -1 and mono_height is undefined. */
+};
+
+
+#endif
+
+extern int dither_letters;
+
+#ifdef G
+
+struct cached_image;
+
+void g_print_text(struct graphics_driver *, struct graphics_device *device, int x, int y, struct style *style, unsigned char *text, int *width);
+int g_text_width(struct style *style, unsigned char *text);
+int g_char_width(struct style *style, unsigned ch);
+/*unsigned char apply_gamma_single_8_to_8(unsigned char input, float gamma);*/
+unsigned short apply_gamma_single_8_to_16(unsigned char input, float gamma);
+unsigned char apply_gamma_single_16_to_8(unsigned short input, float gamma);
+unsigned short apply_gamma_single_16_to_16(unsigned short input, float gamma);
+void apply_gamma_exponent_24_to_48(unsigned short *dest, unsigned char *src, int
+ lenght, float red_gamma, float green_gamma, float
+ blue_gamma);
+void make_gamma_table(struct cached_image *cimg);
+void apply_gamma_exponent_24_to_48_table(unsigned short *dest, unsigned char *src
+ ,int lenght, unsigned short *gamma_table);
+void apply_gamma_exponent_48_to_48_table(unsigned short *dest,
+ unsigned short *src, int lenght, unsigned short *table);
+void apply_gamma_exponent_48_to_48(unsigned short *dest,
+ unsigned short *src, int lenght, float red_gamma
+ ,float green_gamma, float blue_gamma);
+void apply_gamma_exponent_and_undercolor_32_to_48_table(unsigned short *dest,
+ unsigned char *src, int lenght, unsigned short *table
+ ,unsigned short rb, unsigned short gb, unsigned short bb);
+void apply_gamma_exponent_and_undercolor_32_to_48(unsigned short *dest,
+ unsigned char *src, int lenght, float red_gamma
+ ,float green_gamma, float blue_gamma, unsigned short rb, unsigned
+ short gb, unsigned short bb);
+void apply_gamma_exponent_and_undercolor_64_to_48_table(unsigned short *dest
+ ,unsigned short *src, int lenght, unsigned short *gamma_table
+ ,unsigned short rb, unsigned short gb, unsigned short bb);
+void apply_gamma_exponent_and_undercolor_64_to_48(unsigned short *dest,
+ unsigned short *src, int lenght, float red_gamma
+ ,float green_gamma, float blue_gamma, unsigned short rb, unsigned
+ short gb, unsigned short bb);
+void mix_one_color_48(unsigned short *dest, int length,
+ unsigned short r, unsigned short g, unsigned short b);
+void mix_one_color_24(unsigned char *dest, int length,
+ unsigned char r, unsigned char g, unsigned char b);
+void scale_color(unsigned short *in, int ix, int iy, unsigned short **out,
+ int ox, int oy);
+void update_aspect(void);
+
+struct wrap_struct {
+ struct style *style;
+ unsigned char *text;
+ int pos;
+ int width;
+ void *obj;
+ void *last_wrap_obj;
+ unsigned char *last_wrap;
+ int force_break;
+};
+
+int g_wrap_text(struct wrap_struct *);
+
+#define FF_UNDERLINE 1
+
+struct style *g_get_style(int fg, int bg, int size, unsigned char *font, int fflags);
+struct style *g_invert_style(struct style *);
+void g_free_style(struct style *style0);
+struct style *g_clone_style(struct style *);
+
+extern long gamma_cache_color;
+extern int gamma_cache_rgb;
+
+extern long real_dip_get_color_sRGB(int rgb);
+
+static inline long dip_get_color_sRGB(int rgb)
+{
+ if (rgb == gamma_cache_rgb) return gamma_cache_color;
+ else return real_dip_get_color_sRGB(rgb);
+}
+
+
+void init_dip(void);
+void get_links_icon(unsigned char **data, int *width, int* height, int depth);
+
+#endif
+
+/* links_icon.c */
+
+#ifdef G
+extern unsigned char *links_icon;
+#endif /* #ifdef G */
+
+/* dither.c */
+
+#ifdef G
+
+extern int slow_fpu; /* -1 --- don't know, 0 --- no, 1 --- yes */
+
+/* Dithering functions (for blocks of pixels being dithered into bitmaps) */
+void dither (unsigned short *in, struct bitmap *out);
+int *dither_start(unsigned short *in, struct bitmap *out);
+void dither_restart(unsigned short *in, struct bitmap *out, int *dregs);
+extern void (*round_fn)(unsigned short *in, struct bitmap *out);
+
+long (*get_color_fn(int depth))(int rgb);
+void init_dither(int depth);
+void round_color_sRGB_to_48(unsigned short *red, unsigned short *green,
+ unsigned short *blue, int rgb);
+
+#endif
+
+/* terminal.c */
+
+extern unsigned char frame_dumb[];
+
+#ifndef ENABLE_UTF8
+typedef unsigned char char_t;
+#else
+typedef unsigned char_t;
+#endif
+
+typedef struct {
+ char_t ch;
+ unsigned char at;
+}
+#if defined(__GNUC__) && __GNUC__ >= 2 && defined(ENABLE_UTF8)
+__attribute__((__packed__))
+#endif
+chr;
+
+struct event {
+ long ev;
+ long x;
+ long y;
+ long b;
+};
+
+#define EV_INIT 0
+#define EV_KBD 1
+#define EV_MOUSE 2
+#define EV_REDRAW 3
+#define EV_RESIZE 4
+#define EV_ABORT 5
+
+#define EVH_NOT_PROCESSED 0
+#define EVH_LINK_KEYDOWN_PROCESSED 1
+#define EVH_LINK_KEYPRESS_PROCESSED 2
+#define EVH_DOCUMENT_KEYDOWN_PROCESSED 3
+#define EVH_DOCUMENT_KEYPRESS_PROCESSED 4
+
+struct window {
+ struct window *next;
+ struct window *prev;
+ void (*handler)(struct window *, struct event *, int fwd);
+ void *data;
+ int xp, yp;
+ struct terminal *term;
+#ifdef G
+ struct rect pos;
+ struct rect redr;
+#endif
+};
+
+#define MAX_TERM_LEN 32 /* this must be multiple of 8! (alignment problems) */
+
+#define MAX_CWD_LEN 256 /* this must be multiple of 8! (alignment problems) */
+
+#define ENV_XWIN 1
+#define ENV_SCREEN 2
+#define ENV_OS2VIO 4
+#define ENV_BE 8
+#define ENV_TWIN 16
+#define ENV_WIN32 32
+#define ENV_INTERIX 64
+#define ENV_G 32768
+
+struct terminal {
+ struct terminal *next;
+ struct terminal *prev;
+ tcount count;
+
+ int x;
+ int y;
+ /* text only */
+ int master;
+ int fdin;
+ int fdout;
+ int environment;
+ unsigned char term[MAX_TERM_LEN];
+ unsigned char cwd[MAX_CWD_LEN];
+ chr *screen;
+ chr *last_screen;
+ struct term_spec *spec;
+ int cx;
+ int cy;
+ int lcx;
+ int lcy;
+ int dirty;
+ int redrawing;
+ int blocked;
+ unsigned char *input_queue;
+ int qlen;
+ /* end-of text only */
+
+ struct list_head windows;
+ unsigned char *title;
+#ifdef G
+ struct graphics_device *dev;
+ int last_mouse_x;
+ int last_mouse_y;
+ int last_mouse_b;
+#endif
+#if defined(G) || defined(ENABLE_UTF8)
+ unsigned char utf8_buffer[7];
+#endif
+};
+
+struct term_spec {
+ struct term_spec *next;
+ struct term_spec *prev;
+ unsigned char term[MAX_TERM_LEN];
+ int mode;
+ int m11_hack;
+ int restrict_852;
+ int block_cursor;
+ int col;
+ int braille;
+ int charset;
+};
+
+#define TERM_DUMB 0
+#define TERM_VT100 1
+#define TERM_LINUX 2
+#define TERM_KOI8 3
+#define TERM_FREEBSD 4
+
+#define ATTR_FRAME 0x80
+
+extern struct list_head term_specs;
+extern struct list_head terminals;
+
+int hard_write(int, unsigned char *, int);
+int hard_read(int, unsigned char *, int);
+unsigned char *get_cwd(void);
+void set_cwd(unsigned char *);
+struct terminal *init_term(int, int, void (*)(struct window *, struct event *, int));
+#ifdef G
+struct terminal *init_gfx_term(void (*)(struct window *, struct event *, int), void *, int);
+int restrict_clip_area(struct graphics_device *, struct rect *, int, int, int, int);
+#endif
+void sync_term_specs(void);
+struct term_spec *new_term_spec(unsigned char *);
+void free_term_specs(void);
+void destroy_terminal(struct terminal *);
+void redraw_terminal(struct terminal *);
+void redraw_terminal_all(struct terminal *);
+void redraw_terminal_cls(struct terminal *);
+void cls_redraw_all_terminals(void);
+void redraw_below_window(struct window *);
+void add_window(struct terminal *, void (*)(struct window *, struct event *, int), void *);
+void add_window_at_pos(struct terminal *, void (*)(struct window *, struct event *, int), void *, struct window *);
+void delete_window(struct window *);
+void delete_window_ev(struct window *, struct event *ev);
+void set_window_ptr(struct window *, int, int);
+void get_parent_ptr(struct window *, int *, int *);
+void add_empty_window(struct terminal *, void (*)(void *), void *);
+void draw_to_window(struct window *, void (*)(struct terminal *, void *), void *);
+void redraw_screen(struct terminal *);
+void redraw_all_terminals(void);
+
+#ifdef G
+
+void set_window_pos(struct window *, int, int, int, int);
+int do_rects_intersect(struct rect *, struct rect *);
+void intersect_rect(struct rect *, struct rect *, struct rect *);
+void unite_rect(struct rect *, struct rect *, struct rect *);
+int is_rect_valid(struct rect *);
+
+struct rect_set *init_rect_set(void);
+void add_to_rect_set(struct rect_set **, struct rect *);
+void exclude_rect_from_set(struct rect_set **, struct rect *);
+static inline void exclude_from_set(struct rect_set **s, int x1, int y1, int x2, int y2)
+{
+ struct rect r;
+ r.x1 = x1, r.x2 = x2, r.y1 = y1, r.y2 = y2;
+ exclude_rect_from_set(s, &r);
+}
+
+void t_redraw(struct graphics_device *, struct rect *);
+void t_resize(struct graphics_device *);
+void t_kbd(struct graphics_device *, int, int);
+void t_mouse(struct graphics_device *, int, int, int);
+
+#endif
+
+/* text only */
+void set_char(struct terminal *, int, int, unsigned, unsigned);
+chr *get_char(struct terminal *, int, int);
+void set_color(struct terminal *, int, int, unsigned);
+void set_only_char(struct terminal *, int, int, unsigned, unsigned);
+void set_line(struct terminal *, int, int, int, chr *);
+void set_line_color(struct terminal *, int, int, int, unsigned);
+void fill_area(struct terminal *, int, int, int, int, unsigned, unsigned);
+void draw_frame(struct terminal *, int, int, int, int, unsigned, int);
+void print_text(struct terminal *, int, int, int, unsigned char *, unsigned);
+void set_cursor(struct terminal *, int, int, int, int);
+
+void destroy_all_terminals(void);
+void block_itrm(int);
+int unblock_itrm(int);
+void exec_thread(unsigned char *, int);
+void close_handle(void *);
+
+#define TERM_FN_TITLE 1
+#define TERM_FN_RESIZE 2
+
+void exec_on_terminal(struct terminal *, unsigned char *, unsigned char *, int);
+void set_terminal_title(struct terminal *, unsigned char *);
+void do_terminal_function(struct terminal *, unsigned char, unsigned char *);
+
+/* language.c */
+
+#include "language.h"
+
+extern unsigned char dummyarray[];
+
+extern int current_language;
+
+void init_trans(void);
+void shutdown_trans(void);
+unsigned char *get_text_translation(unsigned char *, struct terminal *term);
+unsigned char *get_english_translation(unsigned char *);
+void set_language(int);
+int n_languages(void);
+unsigned char *language_name(int);
+
+#define _(x_, y_) get_text_translation(x_, y_)
+#define TEXT_(x) (dummyarray + x) /* TEXT causes name clash on windows */
+
+/* af_unix.c */
+
+int bind_to_af_unix(void);
+void af_unix_close(void);
+
+/* main.c */
+
+extern int retval;
+
+extern unsigned char *path_to_exe;
+extern unsigned char **g_argv;
+extern int g_argc;
+
+void sig_tstp(struct terminal *t);
+void sig_cont(struct terminal *t);
+
+void unhandle_terminal_signals(struct terminal *term);
+int attach_terminal(int, int, int, void *, int);
+#ifdef G
+int attach_g_terminal(void *, int);
+#endif
+
+/* types.c */
+
+struct assoc {
+ struct assoc *next;
+ struct assoc *prev;
+ unsigned char type;
+ int depth;
+ void *fotr;
+
+ unsigned char *label;
+ unsigned char *ct;
+ unsigned char *prog;
+ int cons;
+ int xwin;
+ int block;
+ int ask;
+ int accept_http;
+ int accept_ftp;
+ int system;
+};
+
+struct extension {
+ struct extension *next;
+ struct extension *prev;
+ unsigned char type;
+ int depth;
+ void *fotr;
+
+ unsigned char *ext;
+ unsigned char *ct;
+};
+
+struct protocol_program {
+ struct protocol_program *next;
+ struct protocol_program *prev;
+ unsigned char *prog;
+ int system;
+};
+
+extern struct list assoc;
+extern struct list extensions;
+
+extern struct list_head mailto_prog;
+extern struct list_head telnet_prog;
+extern struct list_head tn3270_prog;
+extern struct list_head mms_prog;
+extern struct list_head magnet_prog;
+
+unsigned char *get_compress_by_extension(unsigned char *ext, unsigned char *ext_end);
+unsigned char *get_content_type_by_extension(unsigned char *url);
+unsigned char *get_content_type(unsigned char *, unsigned char *);
+unsigned char *get_content_encoding(unsigned char *head, unsigned char *url);
+unsigned char *encoding_2_extension(unsigned char *);
+struct assoc *get_type_assoc(struct terminal *term, unsigned char *, int *);
+int is_html_type(unsigned char *ct);
+unsigned char *get_filename_from_header(unsigned char *head);
+unsigned char *get_filename_from_url(unsigned char *, unsigned char *, int);
+
+void menu_assoc_manager(struct terminal *,void *,struct session *);
+void update_assoc(struct assoc *);
+void menu_ext_manager(struct terminal *,void *,struct session *);
+void update_ext(struct extension *);
+void update_prog(struct list_head *, unsigned char *, int);
+unsigned char *get_prog(struct list_head *);
+void create_initial_extensions(void);
+
+
+void free_types(void);
+
+/* block.c */
+
+/*URL blocking calls*/
+struct block {
+ struct block *next;
+ struct block *prev;
+ unsigned char type;
+ int depth;
+ void* fotr;
+
+ unsigned char* url;
+};
+extern struct list blocks;
+int is_url_blocked(unsigned char* url);
+void block_add_URL(struct terminal *term, void *xxx, struct session *ses);
+void* block_add_URL_fn(struct session *ses, unsigned char* url);
+void block_manager(struct terminal *term,void *fcp,struct session *ses);
+void free_blocks(void);
+
+/* objreq.c */
+
+#define O_WAITING 0
+#define O_LOADING 1
+#define O_FAILED -1
+#define O_INCOMPLETE -2
+#define O_OK -3
+
+struct object_request {
+ struct object_request *next;
+ struct object_request *prev;
+ int refcount;
+ tcount count;
+ tcount term;
+ struct status stat;
+ struct cache_entry *ce_internal;
+ struct cache_entry *ce;
+ unsigned char *orig_url;
+ unsigned char *url;
+ unsigned char *prev_url; /* allocated string with referrer or NULL */
+ unsigned char *goto_position;
+ int pri;
+ int cache;
+ void (*upcall)(struct object_request *, void *);
+ void *data;
+ int redirect_cnt;
+ int state;
+ int timer;
+
+ int last_bytes;
+
+ ttime last_update;
+ ttime z;
+};
+
+void request_object(struct terminal *, unsigned char *, unsigned char *, int, int, void (*)(struct object_request *, void *), void *, struct object_request **);
+void clone_object(struct object_request *, struct object_request **);
+void release_object(struct object_request **);
+void release_object_get_stat(struct object_request **, struct status *, int);
+void detach_object_connection(struct object_request *, off_t);
+
+/* compress.c */
+
+#if defined(HAVE_ZLIB) || defined(HAVE_BZIP2) || defined(HAVE_LZMA)
+#define HAVE_ANY_COMPRESSION
+#endif
+
+extern unsigned long decompressed_cache_size;
+
+int get_file_by_term(struct terminal *term, struct cache_entry *ce, unsigned char **start, unsigned char **end, int *errp);
+int get_file(struct object_request *o, unsigned char **start, unsigned char **end);
+void free_decompressed_data(struct cache_entry *e);
+void add_compress_methods(unsigned char **s, int *l);
+
+/* session.c */
+
+struct link_def {
+ unsigned char *link;
+ unsigned char *target;
+
+ unsigned char *label; /* only for image maps */
+ unsigned char *shape;
+ unsigned char *coords;
+
+ unsigned char *onclick;
+ unsigned char *ondblclick;
+ unsigned char *onmousedown;
+ unsigned char *onmouseup;
+ unsigned char *onmouseover;
+ unsigned char *onmouseout;
+ unsigned char *onmousemove;
+};
+
+struct line {
+ int l;
+ chr *d;
+};
+
+struct point {
+ int x;
+ int y;
+};
+
+struct form {
+ unsigned char *action;
+ unsigned char *target;
+ unsigned char *form_name;
+ unsigned char *onsubmit;
+ int method;
+ int num;
+};
+
+#define FM_GET 0
+#define FM_POST 1
+#define FM_POST_MP 2
+
+#define FC_TEXT 1
+#define FC_PASSWORD 2
+#define FC_FILE 3
+#define FC_TEXTAREA 4
+#define FC_CHECKBOX 5
+#define FC_RADIO 6
+#define FC_SELECT 7
+#define FC_SUBMIT 8
+#define FC_IMAGE 9
+#define FC_RESET 10
+#define FC_HIDDEN 11
+#define FC_BUTTON 12
+
+struct form_control {
+ struct form_control *next;
+ struct form_control *prev;
+ int form_num; /* cislo formulare */
+ int ctrl_num; /* identifikace polozky v ramci formulare */
+ int g_ctrl_num; /* identifikace polozky mezi vsemi polozkami (poradi v poli form_info) */
+ int position;
+ int method;
+ unsigned char *action;
+ unsigned char *target;
+ unsigned char *onsubmit; /* script to be executed on submit */
+ int type;
+ unsigned char *name;
+ unsigned char *form_name;
+ unsigned char *alt;
+ int ro;
+ unsigned char *default_value;
+ int default_state;
+ int size;
+ int cols, rows, wrap;
+ int maxlength;
+ int nvalues; /* number of values in a select item */
+ unsigned char **values; /* values of a select item */
+ unsigned char **labels; /* labels (shown text) of a select item */
+ struct menu_item *menu;
+};
+
+struct form_state {
+ int form_num; /* cislo formulare */
+ int ctrl_num; /* identifikace polozky v ramci formulare */
+ int g_ctrl_num; /* identifikace polozky mezi vsemi polozkami (poradi v poli form_info) */
+ int position;
+ int type;
+ unsigned char *value; /* selected value of a select item */
+ int state; /* index of selected item of a select item */
+ int vpos;
+ int vypos;
+ int changed; /* flag if form element has changed --- for onchange handler */
+};
+
+struct link {
+ int type; /* one of L_XXX constants */
+ int num; /* link number (used when user turns on link numbering) */
+ unsigned char *where; /* URL of the link */
+ unsigned char *target; /* name of target frame where to open the link */
+ unsigned char *where_img; /* URL of image (if any) */
+ unsigned char *img_alt; /* alt of image (if any) - valid only when link is an image */
+ struct form_control *form; /* form info, usually NULL */
+ unsigned sel_color; /* link color */
+ int n; /* number of points */
+ int first_point_to_move;
+ struct point *pos;
+ struct js_event_spec *js_event;
+ int obj_order;
+#ifdef G
+ struct rect r;
+ struct g_object *obj;
+#endif
+};
+
+#define L_LINK 0
+#define L_BUTTON 1
+#define L_CHECKBOX 2
+#define L_SELECT 3
+#define L_FIELD 4
+#define L_AREA 5
+
+struct link_bg {
+ int x, y;
+ unsigned c;
+};
+
+struct tag {
+ struct tag *next;
+ struct tag *prev;
+ int x;
+ int y;
+ unsigned char name[1];
+};
+
+extern struct rgb palette_16_colors[16];
+
+/* when you add anything, don't forget to initialize it in default.c on line:
+ * struct document_setup dds = { ... };
+ */
+struct document_setup {
+ int assume_cp, hard_assume;
+ int tables, frames, images, image_names;
+ int margin;
+ int num_links, table_order;
+ int auto_refresh;
+ int font_size;
+ int display_images;
+ int image_scale;
+ int porn_enable;
+ int target_in_new_window;
+ int t_text_color;
+ int t_link_color;
+ int t_background_color;
+ int t_ignore_document_color;
+ int g_text_color;
+ int g_link_color;
+ int g_background_color;
+ int g_ignore_document_color;
+};
+
+
+/* IMPORTANT!!!!!
+ * if you add anything, fix it in compare_opt and if you add it into
+ * document_setup, fix it in ds2do too
+ */
+
+struct document_options {
+ int xw, yw; /* size of window */
+ int xp, yp; /* pos of window */
+ int scrolling;
+ int col, cp, assume_cp, hard_assume;
+ int braille;
+ int tables, frames, images, image_names, margin;
+ int js_enable;
+ int plain;
+ int num_links, table_order;
+ int auto_refresh;
+ struct rgb default_fg;
+ struct rgb default_bg;
+ struct rgb default_link;
+ unsigned char *framename;
+ int font_size;
+ int display_images;
+ int image_scale;
+ int porn_enable;
+ double bfu_aspect; /* 0.1 to 10.0, 1.0 default. >1 makes circle wider */
+ int aspect_on;
+ int real_cp; /* codepage of document. Does not really belong here. Must not be compared. Used only in get_attr_val */
+};
+
+static inline void color2rgb(struct rgb *rgb, int color)
+{
+ memset(rgb, 0, sizeof(struct rgb));
+ rgb->r = (color >> 16) & 0xff;
+ rgb->g = (color >> 8) & 0xff;
+ rgb->b = color & 0xff;
+}
+
+static inline void ds2do(struct document_setup *ds, struct document_options *doo, int col)
+{
+ doo->assume_cp = ds->assume_cp;
+ doo->hard_assume = ds->hard_assume;
+ doo->tables = ds->tables;
+ doo->frames = ds->frames;
+ doo->images = ds->images;
+ doo->image_names = ds->image_names;
+ doo->margin = ds->margin;
+ doo->num_links = ds->num_links;
+ doo->table_order = ds->table_order;
+ doo->auto_refresh = ds->auto_refresh;
+ doo->font_size = ds->font_size;
+ doo->display_images = ds->display_images;
+ doo->image_scale = ds->image_scale;
+ doo->porn_enable = ds->porn_enable;
+ if (!F) {
+ if (!col) {
+ doo->default_fg = palette_16_colors[7];
+ doo->default_bg = palette_16_colors[0];
+ doo->default_link = palette_16_colors[15];
+ } else {
+ doo->default_fg = palette_16_colors[ds->t_text_color];
+ doo->default_bg = palette_16_colors[ds->t_background_color];
+ doo->default_link = palette_16_colors[ds->t_link_color];
+ }
+ }
+#ifdef G
+ else {
+ color2rgb(&doo->default_fg, ds->g_text_color);
+ color2rgb(&doo->default_bg, ds->g_background_color);
+ color2rgb(&doo->default_link, ds->g_link_color);
+ }
+#endif
+}
+
+struct node {
+ struct node *next;
+ struct node *prev;
+ int x, y;
+ int xw, yw;
+};
+
+struct search {
+ char_t c;
+ int n:24; /* This structure is size-critical */
+ int x, y;
+};
+
+struct frameset_desc;
+
+struct frame_desc {
+ struct frameset_desc *subframe;
+ unsigned char *name;
+ unsigned char *url;
+ int marginwidth;
+ int marginheight;
+ int line;
+ int xw, yw;
+ unsigned char scrolling;
+};
+
+struct frameset_desc {
+ int n; /* = x * y */
+ int x, y; /* velikost */
+ int xp, yp; /* pozice pri pridavani */
+#ifdef JS
+ unsigned char *onload_code;
+#endif
+ struct frame_desc f[1];
+};
+
+struct f_data;
+
+#ifdef G
+
+#define SHAPE_DEFAULT 0
+#define SHAPE_RECT 1
+#define SHAPE_CIRCLE 2
+#define SHAPE_POLY 3
+
+struct map_area {
+ int shape;
+ int *coords;
+ int ncoords;
+ int link_num;
+};
+
+struct image_map {
+ int n_areas;
+ struct map_area area[1];
+};
+
+struct background {
+ union {
+ int sRGB; /* This is 3*8 bytes with sRGB_gamma (in sRGB space).
+ This is not rounded. */
+ } u;
+};
+
+struct f_data_c;
+
+#define G_OBJ_ALIGN_SPECIAL (MAXINT - 2)
+#define G_OBJ_ALIGN_MIDDLE (MAXINT - 2)
+#define G_OBJ_ALIGN_TOP (MAXINT - 1)
+
+struct g_object {
+ /* public data --- must be same in all g_object* structures */
+ void (*mouse_event)(struct f_data_c *, struct g_object *, int, int, int);
+ /* pos is relative to object */
+ void (*draw)(struct f_data_c *, struct g_object *, int, int);
+ /* absolute pos on screen */
+ void (*destruct)(struct g_object *);
+ void (*get_list)(struct g_object *, void (*)(struct g_object *parent, struct g_object *child));
+ int x, y, xw, yw;
+ struct g_object *parent;
+ /* private data... */
+};
+
+struct g_object_text {
+ /* public data --- must be same in all g_object* structures */
+ void (*mouse_event)(struct f_data_c *, struct g_object_text *, int, int, int);
+ void (*draw)(struct f_data_c *, struct g_object_text *, int, int);
+ void (*destruct)(struct g_object_text *);
+ void (*get_list)(struct g_object_text *, void (*)(struct g_object *parent, struct g_object *child));
+ int x, y, xw, yw;
+ struct g_object *parent;
+ /* must be same in g_object_image */
+ int link_num;
+ int link_order;
+ struct image_map *map;
+ int ismap;
+ /* end of compatibility with g_object_image */
+ struct style *style;
+ int srch_pos;
+ unsigned char text[1];
+};
+
+struct g_object_line {
+ /* public data --- must be same in all g_object* structures */
+ void (*mouse_event)(struct f_data_c *, struct g_object_line *, int, int, int);
+ void (*draw)(struct f_data_c *, struct g_object_line *, int, int);
+ void (*destruct)(struct g_object_line *);
+ void (*get_list)(struct g_object_line *, void (*)(struct g_object *parent, struct g_object *child));
+ int x, y, xw, yw;
+ struct g_object *parent;
+ /* private data */
+ struct background *bg;
+ int n_entries;
+ struct g_object *entries[1];
+};
+
+struct g_object_area {
+ /* public data --- must be same in all g_object* structures */
+ void (*mouse_event)(struct f_data_c *, struct g_object_area *, int, int, int);
+ void (*draw)(struct f_data_c *, struct g_object_area *, int, int);
+ void (*destruct)(struct g_object_area *);
+ void (*get_list)(struct g_object_area *, void (*)(struct g_object *parent, struct g_object *child));
+ int x, y, xw, yw;
+ struct g_object *parent;
+ /* private data */
+ struct background *bg;
+ int n_lines;
+ struct g_object_line *lines[1];
+};
+
+struct g_object_table {
+ /* public data --- must be same in all g_object* structures */
+ void (*mouse_event)(struct f_data_c *, struct g_object_table *, int, int, int);
+ void (*draw)(struct f_data_c *, struct g_object_table *, int, int);
+ void (*destruct)(struct g_object_table *);
+ void (*get_list)(struct g_object_table *, void (*)(struct g_object *parent, struct g_object *child));
+ int x, y, xw, yw;
+ struct g_object *parent;
+ /* private data */
+ struct table *t;
+};
+
+struct g_object_tag {
+ /* public data --- must be same in all g_object* structures */
+ void (*mouse_event)(struct f_data_c *, struct g_object *, int, int, int);
+ /* pos is relative to object */
+ void (*draw)(struct f_data_c *, struct g_object *, int, int);
+ /* absolute pos on screen */
+ void (*destruct)(struct g_object *);
+ void (*get_list)(struct g_object *, void (*)(struct g_object *parent, struct g_object *child));
+ int x, y, xw, yw;
+ struct g_object *parent;
+ unsigned char name[1];
+ /* private data... */
+};
+
+#define IM_PNG 0
+#define IM_GIF 1
+#define IM_XBM 2
+
+#ifdef HAVE_JPEG
+#define IM_JPG 3
+#endif /* #ifdef HAVE_JPEG */
+
+#ifdef HAVE_TIFF
+#define IM_TIFF 4
+#endif /* #ifdef HAVE_TIFF */
+
+#define MEANING_DIMS 0
+#define MEANING_AUTOSCALE 1
+struct cached_image {
+ struct cached_image *next;
+ struct cached_image *prev;
+ int refcount;
+
+ int background_color; /* nezaokrouhlené pozadí:
+ * sRGB, (r<<16)+(g<<8)+b */
+ unsigned char *url;
+ int wanted_xw, wanted_yw; /* This is what is written in the alt.
+ If some dimension is omitted, then
+ it's <0. This is what was requested
+ when the image was created. */
+ int wanted_xyw_meaning; /* MEANING_DIMS or MEANING_AUTOSCALE.
+ The meaning of wanted_xw and wanted_yw. */
+ int scale; /* How is the image scaled */
+ int aspect; /* What aspect ratio the image is for. But the
+ PNG aspect is ignored :( */
+
+ int xww, yww; /* This is the resulting dimensions on the screen
+ measured in screen pixels. */
+
+ int width, height; /* From image header.
+ * If the buffer is allocated,
+ * it is always allocated to width*height.
+ * If the buffer is NULL then width and height
+ * are garbage. We assume these dimensions
+ * are given in the meter space (not pixel space).
+ * Which is true for all images except aspect
+ * PNG, but we don't support aspect PNG yet.
+ */
+ unsigned char image_type; /* IM_??? constant */
+ unsigned char *buffer; /* Buffer with image data */
+ unsigned char buffer_bytes_per_pixel; /* 3 or 4 or 6 or 8
+ * 3: RGB
+ * 4: RGBA
+ * 6: RRGGBB
+ * 8: RRGGBBAA
+ */
+ float red_gamma, green_gamma, blue_gamma;
+ /* data=light_from_monitor^[red|green|blue]_gamma.
+ * i. e. 0.45455 is here if the image is in sRGB
+ * makes sense only if buffer is !=NULL
+ */
+ tcount gamma_stamp; /* Number that is increased every gamma change */
+ struct bitmap bmp; /* Registered bitmap. bmp.x=-1 and bmp.y=-1
+ * if the bmp is not registered.
+ */
+ int last_length; /* length of cache entry at which last decoding was
+ * done. Makes sense only if reparse==0
+ */
+ tcount last_count; /* Always valid. */
+ tcount last_count2; /* Always valid. */
+ void *decoder; /* Decoder unfinished work. If NULL, decoder
+ * has finished or has not yet started.
+ */
+ int rows_added; /* 1 if some rows were added inside the decoder */
+ unsigned char state; /* 0...3 or 8...15 */
+ unsigned char strip_optimized; /* 0 no strip optimization
+ 1 strip-optimized (no buffer allocated permanently
+ and bitmap is always allocated)
+ */
+ unsigned char eof_hit;
+ int *dregs; /* Only for stip-optimized cached images */
+ unsigned short *gamma_table; /* When suitable and source is 8 bits per pixel,
+ * this is allocated to 256*3*sizeof(*gamma_table)
+ * = 1536 bytes and speeds up the gamma calculations
+ * tremendously */
+};
+
+struct g_object_image {
+ /* public data --- must be same in all g_object* structures */
+ void (*mouse_event)(struct f_data_c *, struct g_object_text *, int, int, int);
+ void (*draw)(struct f_data_c *, struct g_object_image *, int, int);
+ void (*destruct)(struct g_object *);
+ void (*get_list)(struct g_object *, void (*)(struct g_object *parent, struct g_object *child));
+ int x, y, xw, yw; /* x,y: coordinates
+ xw, yw: width on the screen, or <0 if
+ not yet known. Already scaled. */
+ /* For html parser. If xw or yw are zero, then entries
+ background_color
+ af
+ width
+ height
+ image_type
+ buffer
+ buffer_bytes_per_pixel
+ *_gamma
+ gamma_stamp
+ bmp
+ last_length
+ last_count2
+ decoder
+ rows_added
+ reparse
+ are uninitialized and thus garbage
+ */
+
+ struct g_object *parent;
+ /* must be same in g_object_text */
+ int link_num;
+ int link_order;
+ struct image_map *map;
+ int ismap;
+ /* End of compatibility with g_object_text */
+
+ struct xlist_head image_list;
+
+ struct cached_image *cimg;
+ struct additional_file *af;
+
+ long id;
+ unsigned char *name;
+ unsigned char *alt;
+ int vspace, hspace, border;
+ unsigned char *orig_src;
+ unsigned char *src;
+ int background; /* Remembered background from insert_image
+ * (g_part->root->bg->u.sRGB)
+ */
+ int xyw_meaning;
+};
+
+void refresh_image(struct f_data_c *fd, struct g_object *img, ttime tm);
+
+#endif
+
+struct additional_file *request_additional_file(struct f_data *f, unsigned char *url);
+
+struct js_event_spec {
+#ifdef JS
+ unsigned char *move_code;
+ unsigned char *over_code;
+ unsigned char *out_code;
+ unsigned char *down_code;
+ unsigned char *up_code;
+ unsigned char *click_code;
+ unsigned char *dbl_code;
+ unsigned char *blur_code;
+ unsigned char *focus_code;
+ unsigned char *change_code;
+ unsigned char *keypress_code;
+ unsigned char *keyup_code;
+ unsigned char *keydown_code;
+#else
+ char dummy;
+#endif
+};
+
+/*
+ * warning: if you add more additional file stuctures, you must
+ * set RQ upcalls correctly
+ */
+
+struct additional_files {
+ int refcount;
+ struct list_head af; /* struct additional_file */
+};
+
+struct additional_file {
+ struct additional_file *next;
+ struct additional_file *prev;
+ struct object_request *rq;
+ tcount use_tag;
+ tcount use_tag2;
+ int need_reparse;
+ int unknown_image_size;
+ unsigned char url[1];
+};
+
+#ifdef G
+struct image_refresh {
+ struct image_refresh *next;
+ struct image_refresh *prev;
+ struct g_object *img;
+ ttime t;
+};
+#endif
+
+struct f_data {
+ struct f_data *next;
+ struct f_data *prev;
+ struct session *ses;
+ struct f_data_c *fd;
+ struct object_request *rq;
+ tcount use_tag;
+ struct additional_files *af;
+ struct document_options opt;
+ unsigned char *title;
+ int cp, ass;
+ int x, y; /* size of document */
+ ttime time_to_get;
+ ttime time_to_draw;
+ struct frameset_desc *frame_desc;
+ int frame_desc_link; /* if != 0, do not free frame_desc because it is link */
+
+ /* text only */
+ int bg;
+ struct line *data;
+ struct link *links;
+ int nlinks;
+ struct js_event_spec **link_events;
+ int nlink_events;
+ struct link **lines1;
+ struct link **lines2;
+ struct list_head nodes; /* struct node */
+ struct search *search;
+ int nsearch;
+ struct search **slines1;
+ struct search **slines2;
+
+ struct list_head forms; /* struct form_control */
+ struct list_head tags; /* struct tag */
+
+ int are_there_scripts;
+ unsigned char *script_href_base;
+
+ unsigned char *refresh;
+ int refresh_seconds;
+
+ struct js_document_description *js_doc;
+ int uncacheable; /* cannot be cached - either created from source modified by document.write or modified by javascript */
+
+ struct js_event_spec *js_event;
+
+ /* graphics only */
+#ifdef G
+ struct g_object *root;
+ struct g_object *locked_on;
+
+ unsigned char *srch_string;
+ int srch_string_size;
+
+ unsigned char *last_search;
+ int *search_positions;
+ int *search_lengths;
+ int n_search_positions;
+ int hlt_pos; /* index of first highlighted byte */
+ int hlt_len; /* length of highlighted bytes; (hlt_pos+hlt_len) is index of last highlighted character */
+ int start_highlight_x;
+ int start_highlight_y;
+ struct list_head images; /* list of all images in this f_data */
+ int n_images; /* pocet obrazku (tim se obrazky taky identifikujou), po kazdem pridani obrazku se zvedne o 1 */
+
+ struct list_head image_refresh;
+#endif
+};
+
+struct view_state {
+ int refcount;
+
+ int view_pos;
+ int view_posx;
+ int orig_view_pos;
+ int orig_view_posx;
+ int current_link; /* platny jen kdyz je <f_data->n_links */
+ int orig_link;
+ int frame_pos;
+ int plain;
+ struct form_state *form_info;
+ int form_info_len;
+ int brl_x;
+ int brl_y;
+ int orig_brl_x;
+ int orig_brl_y;
+ int brl_in_field;
+#ifdef G
+ int g_display_link;
+#endif
+};
+
+struct f_data_c {
+ struct f_data_c *next;
+ struct f_data_c *prev;
+ struct f_data_c *parent;
+ struct session *ses;
+ struct location *loc;
+ struct view_state *vs;
+ struct f_data *f_data;
+ int xw, yw; /* size of window */
+ int xp, yp; /* pos of window on screen */
+ int xl, yl; /* last pos of view in window */
+
+ int hsb, vsb;
+ int hsbsize, vsbsize;
+
+ struct link_bg *link_bg;
+ int link_bg_n;
+ int depth;
+
+ struct object_request *rq;
+ unsigned char *goto_position;
+ unsigned char *went_to_position;
+ struct additional_files *af;
+
+ struct list_head subframes; /* struct f_data_c */
+
+ ttime next_update;
+ int done;
+ int parsed_done;
+ int script_t; /* offset of next script to execute */
+
+ int active; /* temporary, for draw_doc */
+
+ long id; /* unique document identification for javascript */
+
+ int marginwidth, marginheight;
+
+ struct js_state *js;
+
+ int image_timer;
+
+ int refresh_timer;
+
+#ifdef JS
+ unsigned char *onload_frameset_code;
+#endif
+ unsigned char scrolling;
+};
+
+struct location {
+ struct location *next;
+ struct location *prev;
+ struct location *parent;
+ unsigned char *name; /* frame name */
+ unsigned char *url;
+ unsigned char *prev_url; /* allocated string with referrer */
+ struct list_head subframes; /* struct location */
+ struct view_state *vs;
+ unsigned location_id;
+};
+
+#define WTD_NO 0
+#define WTD_FORWARD 1
+#define WTD_IMGMAP 2
+#define WTD_RELOAD 3
+#define WTD_BACK 4
+
+#define cur_loc(x) ((struct location *)((x)->history.next))
+
+struct kbdprefix {
+ int rep;
+ int rep_num;
+ int prefix;
+};
+
+struct download {
+ struct download *next;
+ struct download *prev;
+ unsigned char *url;
+ struct status stat;
+ unsigned char decompress;
+ unsigned char *cwd;
+ unsigned char *orig_file;
+ unsigned char *file;
+ off_t last_pos;
+ off_t file_shift;
+ int handle;
+ int redirect_cnt;
+ int downloaded_something;
+ unsigned char *prog;
+ int prog_flag_block;
+ time_t remotetime;
+ struct session *ses;
+ struct window *win;
+ struct window *ask;
+};
+
+extern struct list_head downloads;
+
+struct session {
+ struct session *next;
+ struct session *prev;
+ struct list_head history; /* struct location */
+ struct list_head forward_history;
+ struct terminal *term;
+ struct window *win;
+ int id;
+ unsigned char *st; /* status line string */
+ unsigned char *st_old; /* old status line --- compared with st to prevent cursor flicker */
+ unsigned char *default_status; /* default value of the status line */
+ struct f_data_c *screen;
+ struct object_request *rq;
+ void (*wtd)(struct session *);
+ unsigned char *wtd_target;
+ struct f_data_c *wtd_target_base;
+ unsigned char *wanted_framename;
+ int wtd_refresh;
+ int wtd_num_steps;
+ unsigned char *goto_position;
+ struct document_setup ds;
+ struct kbdprefix kbdprefix;
+ int reloadlevel;
+ struct object_request *tq;
+ unsigned char *tq_prog;
+ int tq_prog_flag_block;
+ int tq_prog_flag_direct;
+ unsigned char *dn_url;
+ unsigned char *search_word;
+ unsigned char *last_search_word;
+ int search_direction;
+ int exit_query;
+ struct list_head format_cache; /* struct f_data */
+
+ unsigned char *imgmap_href_base;
+ unsigned char *imgmap_target_base;
+
+#ifdef JS
+ unsigned char *defered_url;
+ unsigned char *defered_target;
+ struct f_data_c *defered_target_base;
+ int defered_data; /* for submit: form number, jinak -1 */
+ tcount defered_seq;
+#endif
+
+ int brl_cursor_mode;
+
+#ifdef G
+ int locked_link; /* for graphics - when link is locked on FIELD/AREA */
+ int scrolling;
+ int scrolltype;
+ int scrolloff;
+
+ int back_size;
+#endif
+};
+
+struct dialog_data;
+
+int get_file(struct object_request *o, unsigned char **start, unsigned char **end);
+
+int f_is_finished(struct f_data *f);
+unsigned long formatted_info(int);
+void init_fcache(void);
+void html_interpret_recursive(struct f_data_c *);
+void fd_loaded(struct object_request *, struct f_data_c *);
+
+extern struct list_head sessions;
+
+time_t parse_http_date(unsigned char *);
+unsigned char *encode_url(unsigned char *);
+unsigned char *decode_url(unsigned char *);
+unsigned char *subst_file(unsigned char *, unsigned char *, int);
+int are_there_downloads(void);
+unsigned char *translate_download_file(unsigned char *);
+void free_strerror_buf(void);
+int get_error_from_errno(int errn);
+unsigned char *get_err_msg(int);
+void print_screen_status(struct session *);
+void change_screen_status(struct session *);
+void print_error_dialog(struct session *, struct status *, unsigned char *);
+void start_download(struct session *, unsigned char *, int);
+int test_abort_downloads_to_file(unsigned char *, unsigned char *, int);
+void abort_all_downloads(void);
+unsigned char *download_percentage(struct download *down, int pad);
+void download_window_function(struct dialog_data *dlg);
+void display_download(struct terminal *, struct download *, struct session *);
+struct f_data *cached_format_html(struct f_data_c *fd, struct object_request *rq, unsigned char *url, struct document_options *opt, int *cch);
+struct f_data_c *create_f_data_c(struct session *, struct f_data_c *);
+void reinit_f_data_c(struct f_data_c *);
+#define CDF_RESTRICT_PERMISSION 1
+#define CDF_EXCL 2
+#define CDF_NOTRUNC 4
+#define CDF_NO_POPUP_ON_EEXIST 8
+int create_download_file(struct session *, unsigned char *, unsigned char *, int, off_t);
+void *create_session_info(int, unsigned char *, unsigned char *, int *);
+void win_func(struct window *, struct event *, int);
+void goto_url_f(struct session *, void (*)(struct session *), unsigned char *, unsigned char *, struct f_data_c *, int, int, int, int);
+void goto_url(struct session *, unsigned char *);
+void goto_url_not_from_dialog(struct session *, unsigned char *);
+void goto_imgmap(struct session *ses, unsigned char *url, unsigned char *href, unsigned char *target);
+void map_selected(struct terminal *term, struct link_def *ld, struct session *ses);
+void go_back(struct session *, int);
+void go_backwards(struct terminal *term, void *psteps, struct session *ses);
+void reload(struct session *, int);
+void destroy_session(struct session *);
+void ses_destroy_defered_jump(struct session *ses);
+struct f_data_c *find_frame(struct session *ses, unsigned char *target, struct f_data_c *base);
+
+
+/* Information about the current document */
+unsigned char *get_current_url(struct session *, unsigned char *, size_t);
+unsigned char *get_current_title(struct session *, unsigned char *, size_t);
+
+/*unsigned char *get_current_link_url(struct session *, unsigned char *, size_t);*/
+unsigned char *get_form_url(struct session *ses, struct f_data_c *f, struct form_control *form, int *onsubmit);
+
+/* js.c */
+
+struct javascript_context *js_create_context(void *, long);
+void js_destroy_context(struct javascript_context *);
+void js_execute_code(struct javascript_context *, unsigned char *, int, void (*)(void *));
+
+/* jsint.c */
+
+#define JS_OBJ_MASK 255
+#define JS_OBJ_MASK_SIZE 8
+
+#define JS_OBJ_T_UNKNOWN 0
+#define JS_OBJ_T_DOCUMENT 1
+#define JS_OBJ_T_FRAME 2 /* document a frame se tvari pro mne stejne --Brain */
+#define JS_OBJ_T_LINK 3
+#define JS_OBJ_T_FORM 4
+#define JS_OBJ_T_ANCHOR 5
+#define JS_OBJ_T_IMAGE 6
+/* form elements */
+#define JS_OBJ_T_TEXT 7
+#define JS_OBJ_T_PASSWORD 8
+#define JS_OBJ_T_TEXTAREA 9
+#define JS_OBJ_T_CHECKBOX 10
+#define JS_OBJ_T_RADIO 11
+#define JS_OBJ_T_SELECT 12
+#define JS_OBJ_T_SUBMIT 13
+#define JS_OBJ_T_RESET 14
+#define JS_OBJ_T_HIDDEN 15
+#define JS_OBJ_T_BUTTON 16
+
+extern long js_zaflaknuto_pameti;
+
+extern struct history js_get_string_history;
+extern int js_manual_confirmation;
+
+struct js_state {
+ struct javascript_context *ctx; /* kontext beziciho javascriptu??? */
+ struct list_head queue; /* struct js_request - list of javascripts to run */
+ struct js_request *active; /* request is running */
+ unsigned char *src; /* zdrojak beziciho javascriptu??? */ /* mikulas: ne. to je zdrojak stranky */
+ int srclen;
+ int wrote;
+ int newdata;
+};
+
+struct js_document_description {
+ /* Pro Martina: TADY pridat nejake polozky popisujici dokument
+ - jako treba jake tam jsou polozky formulare, jake obrazky, jake
+ linky apod. Neni tady obsah tech polozek, jenom popis, zda
+ existuji.
+
+ vyroba struktury je v js_upcall_get_document_description
+ ruseni je v jsint_destroy_document_description */
+
+ int prazdnapolozkaabytadynecobylo;
+};
+
+
+/* funkce js_get_select_options vraci pole s temito polozkami */
+struct js_select_item{
+ /* index je poradi v poli, ktere vratim, takze se tu nemusi skladovat */
+ int default_selected;
+ int selected;
+ unsigned char *text; /* text, ktery se zobrazuje */
+ unsigned char *value; /* value, ktera se posila */
+};
+
+struct fax_me_tender_string{
+ void *ident; /* struct f_data_c*, but JS doesn't know it ;-) */
+ unsigned char *string;
+};
+
+struct fax_me_tender_int_string{
+ void *ident; /* struct f_data_c*, but JS doesn't know it ;-) */
+ signed int num;
+ unsigned char *string;
+};
+
+struct fax_me_tender_string_2_longy{
+ void *ident; /* struct f_data_c*, but JS doesn't know it ;-) */
+ unsigned char *string;
+ long doc_id,obj_id;
+};
+
+struct fax_me_tender_2_stringy{
+ void *ident; /* struct f_data_c*, but JS doesn't know it ;-) */
+ unsigned char *string1;
+ unsigned char *string2;
+};
+
+struct fax_me_tender_nothing{
+ void *ident; /* struct f_data_c*, but JS doesn't know it ;-) */
+};
+
+extern tcount jsint_execute_seq;
+
+void javascript_func(struct session *ses, unsigned char *code);
+void jsint_execute_code(struct f_data_c *, unsigned char *, int, int, int, int, struct event *);
+void jsint_destroy(struct f_data_c *);
+void jsint_run_queue(struct f_data_c *);
+int jsint_get_source(struct f_data_c *, unsigned char **, unsigned char **);
+void jsint_scan_script_tags(struct f_data_c *);
+void jsint_destroy_document_description(struct f_data *);
+long *jsint_resolve(void *context, long obj_id, char *takhle_tomu_u_nas_nadavame,int *n_items);
+int jsint_object_type(long);
+void jsint_set_cookies(struct f_data_c *fd, int final_flush);
+struct f_data_c *jsint_find_document(long doc_id);
+
+struct js_document_description *js_upcall_get_document_description(void *, long);
+void js_upcall_document_write(void *p, unsigned char *str, int len);
+void js_upcall_alert(void *struct_fax_me_tender_string);
+unsigned char *js_upcall_get_title(void *data);
+void js_upcall_set_title(void *data, unsigned char *title);
+unsigned char *js_upcall_get_location(void *data);
+unsigned char *js_upcall_get_useragent(void *data);
+void js_upcall_confirm(void *struct_fax_me_tender_string);
+void js_upcall_get_string(void *data);
+unsigned char *js_upcall_get_referrer(void *data);
+unsigned char *js_upcall_get_appname(void);
+unsigned char *js_upcall_get_appcodename(void);
+unsigned char *js_upcall_get_appversion(void);
+long js_upcall_get_document_id(void *data);
+long js_upcall_get_window_id(void *data);
+void js_upcall_close_window(void *struct_fax_me_tender_nothing);
+unsigned char *js_upcall_document_last_modified(void *data, long document_id);
+unsigned char *js_upcall_get_window_name(void *data);
+void js_upcall_clear_window(void *);
+long *js_upcall_get_links(void *data, long document_id, int *len);
+unsigned char *js_upcall_get_link_target(void *data, long document_id, long link_id);
+long *js_upcall_get_forms(void *data, long document_id, int *len);
+unsigned char *js_upcall_get_form_action(void *data, long document_id, long form_id);
+unsigned char *js_upcall_get_form_target(void *data, long document_id, long form_id);
+unsigned char *js_upcall_get_form_method(void *data, long document_id, long form_id);
+unsigned char *js_upcall_get_form_encoding(void *data, long document_id, long form_id);
+unsigned char *js_upcall_get_location_protocol(void *data);
+unsigned char *js_upcall_get_location_port(void *data);
+unsigned char *js_upcall_get_location_hostname(void *data);
+unsigned char *js_upcall_get_location_host(void *data);
+unsigned char *js_upcall_get_location_pathname(void *data);
+unsigned char *js_upcall_get_location_search(void *data);
+unsigned char *js_upcall_get_location_hash(void *data);
+long *js_upcall_get_form_elements(void *data, long document_id, long form_id, int *len);
+long *js_upcall_get_anchors(void *hej_Hombre, long document_id, int *len);
+int js_upcall_get_checkbox_radio_checked(void *smirak, long document_id, long radio_tv_id);
+void js_upcall_set_checkbox_radio_checked(void *smirak, long document_id, long radio_tv_id, int value);
+int js_upcall_get_checkbox_radio_default_checked(void *smirak, long document_id, long radio_tv_id);
+void js_upcall_set_checkbox_radio_default_checked(void *smirak, long document_id, long radio_tv_id, int value);
+unsigned char *js_upcall_get_form_element_name(void *smirak, long document_id, long ksunt_id);
+void js_upcall_set_form_element_name(void *smirak, long document_id, long ksunt_id, unsigned char *name);
+unsigned char *js_upcall_get_form_element_default_value(void *smirak, long document_id, long ksunt_id);
+void js_upcall_set_form_element_default_value(void *smirak, long document_id, long ksunt_id, unsigned char *name);
+void js_upcall_set_form_element_event_handler(void *bidak, long document_id, long ksunt_id, long typ, unsigned char *name);
+unsigned char *js_upcall_get_form_element_value(void *smirak, long document_id, long ksunt_id);
+void js_upcall_set_form_element_value(void *smirak, long document_id, long ksunt_id, unsigned char *name);
+void js_upcall_click(void *smirak, long document_id, long elem_id);
+void js_upcall_focus(void *smirak, long document_id, long elem_id);
+void js_upcall_blur(void *smirak, long document_id, long elem_id);
+void js_upcall_submit(void *bidak, long document_id, long form_id);
+void js_upcall_reset(void *bidak, long document_id, long form_id);
+int js_upcall_get_radio_length(void *smirak, long document_id, long radio_id); /* radio.length */
+int js_upcall_get_select_length(void *smirak, long document_id, long select_id); /* select.length */
+int js_upcall_get_select_index(void *smirak, long document_id, long select_id); /* select.selectedIndex */
+struct js_select_item* js_upcall_get_select_options(void *smirak, long document_id, long select_id, int *n);
+void js_upcall_goto_url(void* struct_fax_me_tender_string);
+int js_upcall_get_history_length(void *context);
+void js_upcall_goto_history(void* data);
+void js_upcall_set_default_status(void *context, unsigned char *tak_se_ukaz_Kolbene);
+unsigned char *js_upcall_get_default_status(void *context);
+void js_upcall_set_status(void *context, unsigned char *tak_se_ukaz_Kolbene);
+unsigned char *js_upcall_get_status(void *context);
+unsigned char *js_upcall_get_cookies(void *context);
+long *js_upcall_get_images(void *smirak, long document_id, int *len);
+long * js_upcall_get_all(void *context, long document_id, int *len);
+int js_upcall_get_image_width(void *smirak, long document_id, long image_id);
+int js_upcall_get_image_height(void *smirak, long document_id, long image_id);
+int js_upcall_get_image_border(void *smirak, long document_id, long image_id);
+int js_upcall_get_image_vspace(void *smirak, long document_id, long image_id);
+int js_upcall_get_image_hspace(void *smirak, long document_id, long image_id);
+unsigned char *js_upcall_get_image_name(void *smirak, long document_id, long image_id);
+unsigned char *js_upcall_get_image_alt(void *smirak, long document_id, long image_id);
+void js_upcall_set_image_name(void *smirak, long document_id, long image_id, unsigned char *name);
+void js_upcall_set_image_alt(void *smirak, long document_id, long image_id, unsigned char *alt);
+unsigned char *js_upcall_get_image_src(void *smirak, long document_id, long image_id);
+void js_upcall_set_image_src(void *chuligane);
+int js_upcall_image_complete(void *smirak, long document_id, long image_id);
+long js_upcall_get_parent(void *smirak, long frame_id);
+long js_upcall_get_frame_top(void *smirak, long frame_id);
+long * js_upcall_get_subframes(void *smirak, long frame_id, int *count);
+void js_upcall_set_form_action(void *context, long document_id, long form_id, unsigned char *action);
+
+
+void js_downcall_vezmi_true(void *context);
+void js_downcall_vezmi_false(void *context);
+void js_downcall_vezmi_null(void *context);
+void js_downcall_game_over(void *context);
+void js_downcall_quiet_game_over(void *context);
+void js_downcall_vezmi_int(void *context, int i);
+void js_downcall_vezmi_float(void*context,double f);
+/*void js_downcall_vezmi_float(void *context, float f);*/
+void js_downcall_vezmi_string(void *context, unsigned char *string);
+
+/* bfu.c */
+
+extern unsigned G_BFU_FG_COLOR, G_BFU_BG_COLOR, G_SCROLL_BAR_AREA_COLOR, G_SCROLL_BAR_BAR_COLOR, G_SCROLL_BAR_FRAME_COLOR;
+extern struct style *bfu_style_wb, *bfu_style_bw, *bfu_style_wb_b, *bfu_style_bw_u, *bfu_style_bw_mono, *bfu_style_wb_mono, *bfu_style_wb_mono_u;
+extern long bfu_bg_color, bfu_fg_color;
+
+struct memory_list {
+ int n;
+ void *p[1];
+};
+
+struct memory_list *getml(void *, ...);
+void add_to_ml(struct memory_list **, ...);
+void freeml(struct memory_list *);
+
+void iinit_bfu(void);
+void init_bfu(void);
+void shutdown_bfu(void);
+
+#define DIALOG_LB gf_val(DIALOG_LEFT_BORDER + DIALOG_LEFT_INNER_BORDER + 1, G_DIALOG_LEFT_BORDER + G_DIALOG_VLINE_SPACE + 1 + G_DIALOG_LEFT_INNER_BORDER)
+#define DIALOG_TB gf_val(DIALOG_TOP_BORDER + DIALOG_TOP_INNER_BORDER + 1, G_DIALOG_TOP_BORDER + G_DIALOG_HLINE_SPACE + 1 + G_DIALOG_TOP_INNER_BORDER)
+
+#define MENU_FUNC (void (*)(struct terminal *, void *, void *))
+
+extern unsigned char m_bar;
+
+#define M_BAR (&m_bar)
+
+struct menu_item {
+ unsigned char *text;
+ unsigned char *rtext;
+ unsigned char *hotkey;
+ void (*func)(struct terminal *, void *, void *);
+ void *data;
+ int in_m;
+ int free_i;
+};
+
+struct menu {
+ int selected;
+ int view;
+ int nview;
+ int xp, yp;
+ int x, y, xw, yw;
+ int ni;
+ void *data;
+ struct window *win;
+ struct menu_item *items;
+#ifdef G
+ unsigned char **hktxt1;
+ unsigned char **hktxt2;
+ unsigned char **hktxt3;
+ int xl1, yl1, xl2, yl2;
+#endif
+ unsigned hotkeys[1];
+};
+
+struct mainmenu {
+ int selected;
+ int sp;
+ int ni;
+ void *data;
+ struct window *win;
+ struct menu_item *items;
+#ifdef G
+ int xl1, yl1, xl2, yl2;
+#endif
+ unsigned hotkeys[1];
+};
+
+struct history_item {
+ struct history_item *next;
+ struct history_item *prev;
+ unsigned char d[1];
+};
+
+struct history {
+ int n;
+ struct list_head items;
+};
+
+#define D_END 0
+#define D_CHECKBOX 1
+#define D_FIELD 2
+#define D_FIELD_PASS 3
+#define D_BUTTON 4
+
+#define B_ENTER 1
+#define B_ESC 2
+
+struct dialog_item_data;
+
+struct dialog_item {
+ int type;
+ int gid, gnum; /* for buttons: gid - flags B_XXX */ /* for fields: min/max */ /* for box: gid is box height */
+ int (*fn)(struct dialog_data *, struct dialog_item_data *);
+ struct history *history;
+ int dlen;
+ unsigned char *data;
+ void *udata; /* for box: holds list */
+ unsigned char *text;
+};
+
+struct dialog_item_data {
+ int x, y, l;
+ int vpos, cpos;
+ int checked;
+ struct dialog_item *item;
+ struct list_head history;
+ struct history_item *cur_hist;
+ unsigned char *cdata;
+};
+
+#define EVENT_PROCESSED 0
+#define EVENT_NOT_PROCESSED 1
+
+struct dialog {
+ unsigned char *title;
+ void (*fn)(struct dialog_data *);
+ int (*handle_event)(struct dialog_data *, struct event *);
+ void (*abort)(struct dialog_data *);
+ void *udata;
+ void *udata2;
+ int align;
+ void (*refresh)(void *);
+ void *refresh_data;
+ struct dialog_item items[1];
+};
+
+struct dialog_data {
+ struct window *win;
+ struct dialog *dlg;
+ int x, y, xw, yw;
+ int n;
+ int selected;
+ struct memory_list *ml;
+ int brl_y;
+#ifdef G
+ struct rect_set *s;
+ struct rect r;
+ struct rect rr;
+#endif
+ struct dialog_item_data items[1];
+};
+
+struct menu_item *new_menu(int);
+void add_to_menu(struct menu_item **, unsigned char *, unsigned char *, unsigned char *, void (*)(struct terminal *, void *, void *), void *, int, int);
+void do_menu(struct terminal *, struct menu_item *, void *);
+void do_menu_selected(struct terminal *, struct menu_item *, void *, int);
+void do_mainmenu(struct terminal *, struct menu_item *, void *, int);
+void do_dialog(struct terminal *, struct dialog *, struct memory_list *);
+int check_number(struct dialog_data *, struct dialog_item_data *);
+int check_hex_number(struct dialog_data *, struct dialog_item_data *);
+int check_float(struct dialog_data *, struct dialog_item_data *);
+int check_nonempty(struct dialog_data *, struct dialog_item_data *);
+int check_local_ip_address(struct dialog_data *, struct dialog_item_data *);
+void max_text_width(struct terminal *, unsigned char *, int *, int);
+void min_text_width(struct terminal *, unsigned char *, int *, int);
+int dlg_format_text(struct dialog_data *, struct terminal *, unsigned char *, int, int *, int, int *, int, int);
+void dlg_format_text_and_field(struct dialog_data *, struct terminal *, unsigned char *, struct dialog_item_data *, int, int *, int, int *, int, int);
+void max_buttons_width(struct terminal *, struct dialog_item_data *, int, int *);
+void min_buttons_width(struct terminal *, struct dialog_item_data *, int, int *);
+void dlg_format_buttons(struct dialog_data *, struct terminal *, struct dialog_item_data *, int, int, int *, int, int *, int);
+void checkboxes_width(struct terminal *, unsigned char **, int, int *, void (*)(struct terminal *, unsigned char *, int *, int));
+void dlg_format_checkbox(struct dialog_data *, struct terminal *, struct dialog_item_data *, int, int *, int, int *, unsigned char *);
+void dlg_format_checkboxes(struct dialog_data *, struct terminal *, struct dialog_item_data *, int, int, int *, int, int *, unsigned char **);
+void dlg_format_field(struct dialog_data *, struct terminal *, struct dialog_item_data *, int, int *, int, int *, int);
+void max_group_width(struct terminal *, unsigned char **, struct dialog_item_data *, int, int *);
+void min_group_width(struct terminal *, unsigned char **, struct dialog_item_data *, int, int *);
+void dlg_format_group(struct dialog_data *, struct terminal *, unsigned char **, struct dialog_item_data *, int, int, int *, int, int *);
+/*void dlg_format_box(struct terminal *, struct terminal *, struct dialog_item_data *, int, int *, int, int *, int);*/
+void checkbox_list_fn(struct dialog_data *);
+void group_fn(struct dialog_data *);
+void center_dlg(struct dialog_data *);
+void draw_dlg(struct dialog_data *);
+void display_dlg_item(struct dialog_data *, struct dialog_item_data *, int);
+int check_dialog(struct dialog_data *);
+void get_dialog_data(struct dialog_data *);
+int ok_dialog(struct dialog_data *, struct dialog_item_data *);
+int cancel_dialog(struct dialog_data *, struct dialog_item_data *);
+void msg_box_fn(struct dialog_data *dlg);
+void msg_box(struct terminal *, struct memory_list *, unsigned char *, int, /*unsigned char *, void *, int,*/ ...);
+/* msg_box arguments:
+ * terminal,
+ * blocks to free,
+ * title,
+ * alignment (and/or optional AL_EXTD_TEXT),
+ * string (or optional several strings followed with NULL),
+ * data for function,
+ * number of buttons,
+ * button title, function, hotkey,
+ * ... other buttons
+ */
+void input_field_fn(struct dialog_data *);
+void input_field(struct terminal *, struct memory_list *, unsigned char *, unsigned char *, void *, struct history *, int, unsigned char *, int, int, int (*)(struct dialog_data *, struct dialog_item_data *), ...);
+/* input_field arguments:
+ * terminal,
+ * blocks to free,
+ * title,
+ * question,
+ * data for functions,
+ * history,
+ * length,
+ * string to fill the dialog with,
+ * minimal length,
+ * maximal length,
+ * check_function,
+ * OK button text,
+ * ok function,
+ * CANCEL button text,
+ * cancel function,
+ * NULL
+ *
+ * field can have multiple buttons and functions, and finally NULL
+ * (warning: if there's no cancel function, there will be two NULLs in
+ * a call). Functions have type
+ * void (*fn)(void *data, unsigned char *text), only the last one has type
+ * void (*fn)(void *data). Check it carefully because the compiler wont!
+ */
+void add_to_history(struct history *, unsigned char *, int);
+
+void dialog_func(struct window *, struct event *, int);
+
+/* menu.c */
+
+extern struct history goto_url_history;
+
+void activate_keys(struct session *ses);
+void activate_bfu_technology(struct session *, int);
+void dialog_goto_url(struct session *ses, unsigned char *url);
+void dialog_save_url(struct session *ses);
+void free_history_lists(void);
+void query_file(struct session *, unsigned char *, unsigned char *, void (*)(struct session *, unsigned char *, int), void (*)(struct session *), int);
+#define DOWNLOAD_DEFAULT 0
+#define DOWNLOAD_OVERWRITE 1
+#define DOWNLOAD_CONTINUE 2
+void search_dlg(struct session *, struct f_data_c *, int);
+void search_back_dlg(struct session *, struct f_data_c *, int);
+void exit_prog(struct terminal *, void *, struct session *);
+void really_exit_prog(struct session *ses);
+void query_exit(struct session *ses);
+
+#ifdef G
+
+extern tcount gamma_stamp;
+extern int display_optimize; /*0=CRT, 1=LCD RGB, 2=LCD BGR */
+extern int gamma_bits;
+
+#endif
+
+/* charsets.c */
+
+#include "codepage.h"
+
+extern int utf8_table;
+
+struct conv_table {
+ int t;
+ union {
+ unsigned char *str;
+ struct conv_table *tbl;
+ } u;
+};
+
+struct conv_table *get_translation_table(int, int);
+int get_entity_number(unsigned char *st, int l);
+unsigned char *get_entity_string(unsigned char *, int, int);
+unsigned char *convert_string(struct conv_table *, unsigned char *, int, struct document_options *);
+int get_cp_index(unsigned char *);
+unsigned char *get_cp_name(int);
+unsigned char *get_cp_mime_name(int);
+void free_conv_table(void);
+unsigned char *encode_utf_8(int);
+unsigned char *u2cp(int u, int to, int fallback);
+int cp2u(unsigned, int);
+
+unsigned charset_upcase(unsigned, int);
+unsigned uni_upcase(unsigned);
+void charset_upcase_string(unsigned char **, int);
+unsigned char *unicode_upcase_string(unsigned char *ch);
+unsigned char *to_utf8_upcase(unsigned char *str, int cp);
+int compare_case_utf8(unsigned char *u1, unsigned char *u2);
+int strlen_utf8(unsigned char *s);
+unsigned char *cp_strchr(int charset, unsigned char *str, unsigned chr);
+
+unsigned get_utf_8(unsigned char **p);
+extern unsigned short int utf8_2_uni_table[0x200];
+#define GET_UTF_8(s, c) \
+do { \
+ if ((unsigned char)(s)[0] < 0x80) \
+ (c) = (s)++[0]; \
+ else if (((c) = utf8_2_uni_table[((unsigned char)(s)[0] << 2) + \
+ ((unsigned char)(s)[1] >> 6) - 0x200])) \
+ (c) += (unsigned char)(s)[1] & 0x3f, (s) += 2; \
+ else \
+ (c) = get_utf_8(&(s)); \
+} while (0)
+#define FWD_UTF_8(s) \
+do { \
+ if ((unsigned char)(s)[0] < 0x80) \
+ (s)++; \
+ else \
+ get_utf_8(&(s)); \
+} while (0)
+#define BACK_UTF_8(p, b) \
+do { \
+ while ((p) > (b)) { \
+ (p)--; \
+ if ((*(p) & 0xc0) != 0x80) \
+ break; \
+ } \
+} while (0)
+
+int cp_len(int cp, unsigned char *s);
+
+extern unsigned char utf_8_1[256];
+
+static inline int utf8chrlen(unsigned char c)
+{
+ unsigned char l = utf_8_1[c];
+ if (l == 7) return 1;
+ return 7 - l;
+}
+
+static inline unsigned GET_TERM_CHAR(struct terminal *term, unsigned char **str)
+{
+ unsigned ch;
+#if defined(G) || defined(ENABLE_UTF8)
+ if (term->spec->charset == utf8_table)
+ GET_UTF_8(*str, ch);
+ else
+#endif
+ ch = *(*str)++;
+ return ch;
+}
+
+/* view.c */
+
+unsigned char *textptr_add(unsigned char *t, int i, int cp);
+int textptr_diff(unsigned char *t2, unsigned char *t1, int cp);
+
+extern int ismap_link, ismap_x, ismap_y;
+
+struct line_info {
+ unsigned char *st;
+ unsigned char *en;
+};
+
+struct line_info *format_text(unsigned char *text, int width, int wrap, int cp);
+
+void frm_download(struct session *, struct f_data_c *);
+void frm_download_image(struct session *, struct f_data_c *);
+void frm_view_image(struct session *, struct f_data_c *);
+struct form_state *find_form_state(struct f_data_c *, struct form_control *);
+void fixup_select_state(struct form_control *fc, struct form_state *fs);
+int enter(struct session *ses, struct f_data_c *f, int a);
+int field_op(struct session *ses, struct f_data_c *f, struct link *l, struct event *ev, int rep);
+int area_cursor(struct f_data_c *f, struct form_control *form, struct form_state *fs);
+
+int can_open_in_new(struct terminal *);
+void open_in_new_window(struct terminal *, void (*)(struct terminal *, int (*)(struct terminal *, unsigned char *, unsigned char *), struct session *ses), struct session *);
+void send_open_new_xterm(struct terminal *, int (*)(struct terminal *, unsigned char *, unsigned char *), struct session *);
+void destroy_fc(struct form_control *);
+void sort_links(struct f_data *);
+struct view_state *create_vs(void);
+void destroy_vs(struct view_state *);
+int dump_to_file(struct f_data *, int);
+void check_vs(struct f_data_c *);
+void draw_doc(struct terminal *t, struct f_data_c *scr);
+void draw_formatted(struct session *);
+void draw_fd(struct f_data_c *);
+void next_frame(struct session *, int);
+void send_event(struct session *, struct event *);
+void link_menu(struct terminal *, void *, struct session *);
+void save_as(struct terminal *, void *, struct session *);
+void save_url(struct session *, unsigned char *);
+void menu_save_formatted(struct terminal *, void *, struct session *);
+void copy_url_location(struct terminal *, void *, struct session *);
+void selected_item(struct terminal *, void *, struct session *);
+void toggle(struct session *, struct f_data_c *, int);
+void do_for_frame(struct session *, void (*)(struct session *, struct f_data_c *, int), int);
+int get_current_state(struct session *);
+unsigned char *print_current_link(struct session *);
+unsigned char *print_current_title(struct session *);
+void loc_msg(struct terminal *, struct location *, struct f_data_c *);
+void state_msg(struct session *);
+void head_msg(struct session *);
+void search_for(struct session *, unsigned char *);
+void search_for_back(struct session *, unsigned char *);
+void find_next(struct session *, struct f_data_c *, int);
+void find_next_back(struct session *, struct f_data_c *, int);
+void set_frame(struct session *, struct f_data_c *, int);
+struct f_data_c *current_frame(struct session *);
+void reset_form(struct f_data_c *f, int form_num);
+void set_textarea(struct session *, struct f_data_c *, int);
+
+void copy_js_event_spec(struct js_event_spec **, struct js_event_spec *);
+int join_js_event_spec(struct js_event_spec **, struct js_event_spec *);
+void free_js_event_spec(struct js_event_spec *);
+void create_js_event_spec(struct js_event_spec **);
+int compare_js_event_spec(struct js_event_spec *, struct js_event_spec *);
+unsigned char *print_js_event_spec(struct js_event_spec *);
+
+/* font_include.c */
+
+/* gif.c */
+
+#ifdef G
+
+struct gif_decoder;
+struct png_decoder{
+ png_structp png_ptr;
+ png_infop info_ptr;
+};
+
+void gif_destroy_decoder(struct cached_image *);
+void gif_start(struct cached_image *goi);
+void gif_restart(unsigned char *data, int length);
+
+void xbm_start(struct cached_image *goi);
+void xbm_restart(struct cached_image *goi, unsigned char *data, int length);
+
+#endif
+
+/* png.c */
+
+#ifdef G
+
+void png_start(struct cached_image *cimg);
+void png_restart(struct cached_image *cimg, unsigned char *data, int length);
+void add_png_version(unsigned char **s, int *l);
+
+#endif /* #ifdef G */
+
+/* tiff.c */
+
+#ifdef G
+#ifdef HAVE_TIFF
+struct tiff_decoder{
+ unsigned char *tiff_data; /* undecoded data */
+ int tiff_size; /* size of undecoded file */
+ int tiff_pos;
+ int tiff_open; /* 1 if tiff was open, means: tiff_data, tiff_size and tiff_pos are valid */
+};
+
+void tiff_start(struct cached_image *cimg);
+void tiff_restart(struct cached_image *cimg, unsigned char *data, int length);
+void tiff_finish(struct cached_image *cimg);
+
+void add_tiff_version(unsigned char **s, int *l);
+
+#endif /* #ifdef HAVE_TIFF */
+#endif /* #ifdef G */
+
+/* img.c */
+
+#ifdef G
+
+struct image_description {
+ unsigned char *url; /* url=completed url */
+ int xsize, ysize; /* -1 --- unknown size. Space:pixel
+ space of the screen */
+ int link_num;
+ int link_order;
+ unsigned char *name;
+ unsigned char *alt;
+ unsigned char *src; /* reflects the src attribute */
+ int border, vspace, hspace;
+ int align;
+ int ismap;
+ int insert_flag; /* pokud je 1, ma se vlozit do seznamu obrazku ve f_data */
+
+ unsigned char *usemap;
+ unsigned autoscale_x, autoscale_y; /* Requested autoscale dimensions
+ (maximum allowed rectangle), 0,0
+ means turned off. 0,something or
+ something,0 not allowed. */
+};
+
+struct gif_table_entry
+{
+ unsigned char end_char;
+ unsigned char garbage; /* This has nothing common to do with code table:
+ this is temporarily used for reverting strings :-) */
+ short pointer; /* points onto another entry in table, number 0...4095.
+ number -1 means it end there, the end_char is the last
+ number -2 means that this entry is no filled in yet.
+ */
+
+};
+
+struct gif_decoder{
+ unsigned char *color_map; /* NULL if no color map, otherwise a block of 768 bytes, red, green, blue,
+ in sRGB, describing color slots 0...255. */
+ int state; /* State of the automatus finitus recognizing the GIF
+ * format. 0 is initial. */
+ /* Image width, height, bits per pixel, bytes per line, number of bit planes */
+ int im_width;
+ int im_height;
+ int im_bpp; /* Bits per pixel (in codestream) */
+ int code_size;
+ int initial_code_size;
+ int remains; /* Used to skip unwanted blocks in raster data */
+ struct gif_table_entry table[4096]; /* NULL when not present */
+ unsigned char *actual_line; /* Points to actual line in goi->buffer */
+ unsigned char tbuf[16]; /* For remembering headers and similar things. */
+ int tlen; /* 0 in the beginning . tbuf length */
+ int xoff, yoff;
+ int interl_dist;
+ int bits_read; /* How many bits are already read from the symbol
+ * Currently being read */
+ int last_code; /* This is somehow used in the decompression algorithm */
+ int read_code;
+ int CC;
+ int EOI;
+ int table_pos;
+ int first_code;
+ int transparent;
+};
+
+struct decoded_image;
+#endif
+extern int dither_images;
+#ifdef G
+extern int end_callback_hit;
+extern struct cached_image *global_cimg;
+
+/* Below are internal functions shared with imgcache.c, gif.c, and xbm.c */
+void img_release_decoded_image(struct decoded_image *);
+int header_dimensions_known(struct cached_image *cimg);
+void img_end(struct cached_image *cimg);
+void compute_background_8(unsigned char *rgb, struct cached_image *cimg);
+void buffer_to_bitmap_incremental(struct cached_image *cimg
+ ,unsigned char *buffer, int height, int yoff, int *dregs, int use_strip);
+
+/* Below is external interface provided by img.c */
+struct g_part;
+void img_draw_decoded_image(struct graphics_device *, struct decoded_image *img, int, int, int, int, int, int);
+int get_foreground(int rgb);
+struct g_object_image *insert_image(struct g_part *p, struct image_description *im);
+void change_image (struct g_object_image *goi, unsigned char *url, unsigned char *src, struct f_data *fdata);
+void img_destruct_cached_image(struct cached_image *img);
+
+#endif
+
+/* jpeg.c */
+
+#ifdef G
+#ifdef HAVE_JPEG
+struct jpg_decoder{
+ struct jpeg_decompress_struct *cinfo;
+ struct jerr_struct *jerr;
+ unsigned char state; /* 0: header 1: start 2: scanlines 3: end 4,5: also
+ something */
+ int skip_bytes;
+ unsigned char *jdata;
+ unsigned char *scanlines[16];
+};
+
+/* Functions exported by jpeg.c for higher layers */
+void jpeg_start(struct cached_image *cimg);
+void jpeg_restart(struct cached_image *cimg, unsigned char *data, int length);
+
+void add_jpeg_version(unsigned char **s, int *l);
+
+#endif /* #ifdef HAVE_JPEG */
+#endif /* #ifdef G */
+
+int known_image_type(unsigned char *type);
+
+/* imgcache.c */
+
+#ifdef G
+
+void init_imgcache(void);
+unsigned long imgcache_info(int type);
+struct cached_image *find_cached_image(int bg, unsigned char *url, int xw, int
+ yw, int xyw_meaning, int scale, int aspect);
+void add_image_to_cache(struct cached_image *ci);
+
+#endif
+
+/* view_gr.c */
+
+#ifdef G
+
+/* intersection of 2 intervals s=start, l=len (len 0 is empty interval) */
+static inline void intersect(int s1, int l1, int s2, int l2, int *s3, int *l3)
+{
+ int e1=s1+l1;
+ int e2=s2+l2;
+ int e3;
+
+ if (e1<s1){int tmp=s1; s1=e1; e1=tmp; }
+ if (e2<s2){int tmp=s2; s2=e2; e2=tmp; }
+
+ if (!l1||!l2) goto __intersect_empty;
+ if (s1<=s2&&s2<=e1)
+ *s3=s2;
+ else if (s2<s1)
+ *s3=s1;
+ else
+ goto __intersect_empty;
+
+ if (s1<=e2&&e2<=e1)
+ e3=e2;
+ else if (e2>e1)
+ e3=e1;
+ else goto __intersect_empty;
+
+ *l3=e3-*s3;
+ return;
+
+ __intersect_empty:
+ *s3=0;
+ *l3=0;
+ return;
+}
+
+
+void g_release_background(struct background *bg);
+void g_draw_background(struct graphics_device *dev, struct background *bg, int x, int y, int xw, int yw);
+int g_forward_mouse(struct f_data_c *fd, struct g_object *a, int x, int y, int b);
+
+void draw_vscroll_bar(struct graphics_device *dev, int x, int y, int yw, int total, int view, int pos);
+void draw_hscroll_bar(struct graphics_device *dev, int x, int y, int xw, int total, int view, int pos);
+void get_scrollbar_pos(int dsize, int total, int vsize, int vpos, int *start, int *end);
+
+
+void get_parents(struct f_data *f, struct g_object *a);
+
+void g_dummy_mouse(struct f_data_c *, struct g_object *, int, int, int);
+void g_text_mouse(struct f_data_c *, struct g_object_text *, int, int, int);
+void g_line_mouse(struct f_data_c *, struct g_object_line *, int, int, int);
+void g_area_mouse(struct f_data_c *, struct g_object_area *, int, int, int);
+
+void g_dummy_draw(struct f_data_c *, struct g_object *, int, int);
+void g_text_draw(struct f_data_c *, struct g_object_text *, int, int);
+void g_line_draw(struct f_data_c *, struct g_object_line *, int, int);
+void g_area_draw(struct f_data_c *, struct g_object_area *, int, int);
+
+void g_tag_destruct(struct g_object *);
+void g_text_destruct(struct g_object_text *);
+void g_line_destruct(struct g_object_line *);
+void g_line_bg_destruct(struct g_object_line *);
+void g_area_destruct(struct g_object_area *);
+
+void g_line_get_list(struct g_object_line *, void (*)(struct g_object *parent, struct g_object *child));
+void g_area_get_list(struct g_object_area *, void (*)(struct g_object *parent, struct g_object *child));
+
+void draw_one_object(struct f_data_c *fd, struct g_object *o);
+void draw_title(struct f_data_c *f);
+void draw_graphical_doc(struct terminal *t, struct f_data_c *scr, int active);
+int g_next_link(struct f_data_c *fd, int dir);
+int g_frame_ev(struct session *ses, struct f_data_c *fd, struct event *ev);
+void g_find_next(struct f_data_c *f, int);
+
+int is_link_in_view(struct f_data_c *fd, int nl);
+
+void init_grview(void);
+
+#endif
+
+/* html.c */
+
+#define AT_BOLD 1
+#define AT_ITALIC 2
+#define AT_UNDERLINE 4
+#define AT_FIXED 8
+#define AT_GRAPHICS 16
+#define AT_INVERT 32
+
+#define AL_LEFT 0
+#define AL_CENTER 1
+#define AL_RIGHT 2
+#define AL_BLOCK 3
+#define AL_NO 4
+#define AL_BOTTOM 5
+#define AL_MIDDLE 6
+#define AL_TOP 7
+
+#define AL_MASK 0x1f
+
+#define AL_NOBRLEXP 0x20
+#define AL_MONO 0x40
+#define AL_EXTD_TEXT 0x80
+ /* DIRTY! for backward compatibility with old menu code */
+
+struct text_attrib_beginning {
+ int attr;
+ struct rgb fg;
+ struct rgb bg;
+ int fontsize;
+ int baseline;
+};
+
+struct text_attrib {
+ int attr;
+ struct rgb fg;
+ struct rgb bg;
+ int fontsize;
+ int baseline;
+ unsigned char *fontface;
+ unsigned char *link;
+ unsigned char *target;
+ unsigned char *image;
+ struct js_event_spec *js_event;
+ struct form_control *form;
+ struct rgb clink;
+ unsigned char *href_base;
+ unsigned char *target_base;
+ unsigned char *select;
+ int select_disabled;
+};
+
+#define P_NUMBER 1
+#define P_alpha 2
+#define P_ALPHA 3
+#define P_roman 4
+#define P_ROMAN 5
+#define P_STAR 1
+#define P_O 2
+#define P_PLUS 3
+#define P_LISTMASK 7
+#define P_COMPACT 8
+
+struct par_attrib {
+ int align;
+ int leftmargin;
+ int rightmargin;
+ int width;
+ int list_level;
+ unsigned list_number;
+ int dd_margin;
+ int flags;
+ struct rgb bgcolor;
+};
+
+struct html_element {
+ struct html_element *next;
+ struct html_element *prev;
+ struct text_attrib attr;
+ struct par_attrib parattr;
+ int invisible;
+ unsigned char *name;
+ int namelen;
+ unsigned char *options;
+ int linebreak;
+ int dontkill;
+ struct frameset_desc *frameset;
+};
+
+extern int get_attr_val_nl;
+
+extern struct list_head html_stack;
+extern int line_breax;
+
+extern int html_format_changed;
+
+extern unsigned char *startf;
+extern unsigned char *eofff;
+
+#define format_ (((struct html_element *)html_stack.next)->attr)
+#define par_format (((struct html_element *)html_stack.next)->parattr)
+#define html_top (*(struct html_element *)html_stack.next)
+
+extern void *ff;
+extern void (*put_chars_f)(void *, unsigned char *, int);
+extern void (*line_break_f)(void *);
+extern void *(*special_f)(void *, int, ...);
+
+extern int table_level;
+extern int empty_format;
+
+extern struct form form;
+extern unsigned char *last_form_tag;
+extern unsigned char *last_form_attr;
+extern unsigned char *last_input_tag;
+
+extern unsigned char *last_link;
+extern unsigned char *last_image;
+extern unsigned char *last_target;
+extern struct form_control *last_form;
+extern struct js_event_spec *last_js_event;
+extern int js_fun_depth;
+extern int js_memory_limit;
+
+int parse_element(unsigned char *, unsigned char *, unsigned char **, int *, unsigned char **, unsigned char **);
+unsigned char *get_attr_val(unsigned char *, unsigned char *);
+int has_attr(unsigned char *, unsigned char *);
+int get_num(unsigned char *, unsigned char *);
+int get_width(unsigned char *, unsigned char *, int);
+int get_color(unsigned char *, unsigned char *, struct rgb *);
+int get_bgcolor(unsigned char *, struct rgb *);
+void html_stack_dup(void);
+void kill_html_stack_item(struct html_element *);
+unsigned char *skip_comment(unsigned char *, unsigned char *);
+void parse_html(unsigned char *, unsigned char *, void (*)(void *, unsigned char *, int), void (*)(void *), void *(*)(void *, int, ...), void *, unsigned char *);
+int get_image_map(unsigned char *, unsigned char *, unsigned char *, unsigned char *a, struct menu_item **, struct memory_list **, unsigned char *, unsigned char *, int, int, int, int gfx);
+void scan_http_equiv(unsigned char *, unsigned char *, unsigned char **, int *, unsigned char **, unsigned char **, unsigned char **, struct js_event_spec **);
+
+int decode_color(unsigned char *, struct rgb *);
+
+#define SP_TAG 0
+#define SP_CONTROL 1
+#define SP_TABLE 2
+#define SP_USED 3
+#define SP_FRAMESET 4
+#define SP_FRAME 5
+#define SP_SCRIPT 6
+#define SP_IMAGE 7
+#define SP_NOWRAP 8
+#define SP_REFRESH 9
+#define SP_SET_BASE 10
+#define SP_HR 11
+
+struct frameset_param {
+ struct frameset_desc *parent;
+ int x, y;
+ int *xw, *yw;
+};
+
+#define SCROLLING_NO 0
+#define SCROLLING_YES 1
+#define SCROLLING_AUTO 2
+
+struct frame_param {
+ struct frameset_desc *parent;
+ unsigned char *name;
+ unsigned char *url;
+ int marginwidth;
+ int marginheight;
+ unsigned char scrolling;
+};
+
+struct refresh_param {
+ unsigned char *url;
+ int time;
+};
+
+struct hr_param {
+ int size;
+ int width;
+};
+
+void free_menu(struct menu_item *);
+void do_select_submenu(struct terminal *, struct menu_item *, struct session *);
+
+void clr_white(unsigned char *name);
+void clr_spaces(unsigned char *name);
+
+/* html_r.c */
+
+extern int g_ctrl_num;
+
+extern struct conv_table *convert_table;
+
+struct part {
+ int x, y;
+ int xp, yp;
+ int xmax;
+ int xa;
+ int cx, cy;
+ struct f_data *data;
+ int bgcolor;
+ unsigned char *spaces;
+ int spl;
+ int link_num;
+ struct list_head uf;
+#ifdef ENABLE_UTF8
+ unsigned char utf8_part[7];
+ unsigned char utf8_part_len;
+#endif
+};
+
+#ifdef G
+struct g_part {
+ int x, y;
+ int xmax;
+ int cx, cy;
+ int cx_w;
+ struct g_object_area *root;
+ struct g_object_line *line;
+ struct g_object_text *text;
+ int pending_text_len;
+ struct wrap_struct w;
+ struct style *current_style;
+ struct f_data *data;
+ int link_num;
+ struct list_head uf;
+};
+#endif
+
+struct sizes {
+ int xmin, xmax, y;
+};
+
+extern struct f_data *current_f_data;
+
+void free_additional_files(struct additional_files **);
+void free_frameset_desc(struct frameset_desc *);
+struct frameset_desc *copy_frameset_desc(struct frameset_desc *);
+
+struct f_data *init_formatted(struct document_options *);
+void destroy_formatted(struct f_data *);
+
+/* d_opt je podle Mikulase nedefinovany mimo html parser, tak to jinde nepouzivejte
+ *
+ * -- Brain
+ */
+extern struct document_options dd_opt;
+extern struct document_options *d_opt;
+extern int margin;
+
+int find_nearest_color(struct rgb *r, int l);
+int fg_color(int fg, int bg);
+
+void xxpand_line(struct part *, int, int);
+void xxpand_lines(struct part *, int);
+void xset_hchar(struct part *, int, int, unsigned, unsigned);
+void xset_hchars(struct part *, int, int, int, unsigned, unsigned);
+void html_tag(struct f_data *, unsigned char *, int, int);
+void process_script(struct f_data *, unsigned char *);
+void set_base(struct f_data *, unsigned char *);
+void html_process_refresh(struct f_data *, unsigned char *, int );
+
+void free_table_cache(void);
+
+int compare_opt(struct document_options *, struct document_options *);
+void copy_opt(struct document_options *, struct document_options *);
+
+struct link *new_link(struct f_data *);
+struct conv_table *get_convert_table(unsigned char *, int, int, int *, int *, int);
+struct part *format_html_part(unsigned char *, unsigned char *, int, int, int, struct f_data *, int, int, unsigned char *, int);
+void really_format_html(struct cache_entry *, unsigned char *, unsigned char *, struct f_data *, int frame);
+struct link *get_link_at_location(struct f_data *f, int x, int y);
+int get_search_data(struct f_data *);
+
+struct frameset_desc *create_frameset(struct f_data *fda, struct frameset_param *fp);
+void create_frame(struct frame_param *fp);
+
+/* html_gr.c */
+
+#ifdef G
+
+void g_free_table_cache(void);
+
+void release_image_map(struct image_map *map);
+int is_in_area(struct map_area *a, int x, int y);
+
+struct background *get_background(unsigned char *bg, unsigned char *bgcolor);
+
+void g_x_extend_area(struct g_object_area *a, int width, int height, int align);
+struct g_part *g_format_html_part(unsigned char *, unsigned char *, int, int, int, unsigned char *, int, unsigned char *, unsigned char *, struct f_data *);
+void g_release_part(struct g_part *);
+int g_get_area_width(struct g_object_area *o);
+void add_object(struct g_part *pp, struct g_object *o);
+void add_object_to_line(struct g_part *pp, struct g_object_line **lp,
+ struct g_object *go);
+void flush_pending_text_to_line(struct g_part *p);
+void flush_pending_line_to_obj(struct g_part *p, int minheight);
+
+#endif
+
+/* html_tbl.c */
+
+unsigned char *skip_element(unsigned char *, unsigned char *, unsigned char *, int);
+void format_table(unsigned char *, unsigned char *, unsigned char *, unsigned char **, void *);
+void table_bg(struct text_attrib *ta, unsigned char bgstr[8]);
+
+/* default.c */
+
+extern int ggr;
+extern unsigned char ggr_drv[MAX_STR_LEN];
+extern unsigned char ggr_mode[MAX_STR_LEN];
+extern unsigned char ggr_display[MAX_STR_LEN];
+
+extern unsigned char default_target[MAX_STR_LEN];
+
+unsigned char *parse_options(int, unsigned char *[]);
+void init_home(void);
+unsigned char *read_config_file(unsigned char *);
+int write_to_config_file(unsigned char *, unsigned char *);
+void load_config(void);
+void write_config(struct terminal *);
+void write_html_config(struct terminal *);
+void end_config(void);
+
+void load_url_history(void);
+void save_url_history(void);
+
+struct driver_param {
+ struct driver_param *next;
+ struct driver_param *prev;
+ int codepage;
+ unsigned char *param;
+ unsigned char *shell;
+ int nosave;
+ unsigned char name[1];
+};
+
+struct driver_param *get_driver_param(unsigned char *);
+
+extern int anonymous;
+
+extern unsigned char system_name[];
+extern unsigned char compiler_name[];
+
+extern unsigned char *links_home;
+extern int first_use;
+
+extern int no_connect;
+extern int base_session;
+extern int force_html;
+
+#define D_DUMP 1
+#define D_SOURCE 2
+extern int dmp;
+
+extern int max_connections;
+extern int max_connections_to_host;
+extern int max_tries;
+extern int receive_timeout;
+extern int unrestartable_receive_timeout;
+extern unsigned char bind_ip_address[16];
+extern int async_lookup;
+extern int download_utime;
+
+extern int screen_width;
+extern int dump_codepage;
+
+extern struct document_setup dds;
+
+extern int max_format_cache_entries;
+extern int memory_cache_size;
+extern int image_cache_size;
+extern int font_cache_size;
+
+#define REFERER_NONE 0
+#define REFERER_SAME_URL 1
+#define REFERER_FAKE 2
+#define REFERER_REAL 3
+#define REFERER_REAL_SAME_SERVER 4
+
+struct proxies {
+ unsigned char http_proxy[MAX_STR_LEN];
+ unsigned char ftp_proxy[MAX_STR_LEN];
+ unsigned char socks_proxy[MAX_STR_LEN];
+ unsigned char dns_append[MAX_STR_LEN];
+ int only_proxies;
+};
+
+extern struct proxies proxies;
+
+#ifdef JS
+extern int js_enable;
+extern int js_verbose_errors;
+extern int js_verbose_warnings;
+extern int js_all_conversions;
+extern int js_global_resolve;
+#endif
+extern unsigned char download_dir[];
+
+extern int aggressive_cache;
+
+struct http_header_options {
+ int referer;
+ unsigned char fake_referer[MAX_STR_LEN];
+ unsigned char fake_useragent[MAX_STR_LEN];
+ unsigned char extra_header[MAX_STR_LEN];
+};
+
+struct http_options {
+ int http10;
+ int allow_blacklist;
+ int bug_302_redirect;
+ int bug_post_no_keepalive;
+ int no_accept_charset;
+ int no_compression;
+ int retry_internal_errors;
+ struct http_header_options header;
+};
+
+extern struct http_options http_options;
+
+struct ftp_options {
+ unsigned char anon_pass[MAX_STR_LEN];
+ int fast_ftp;
+ int passive_ftp;
+ int set_tos;
+};
+
+extern struct ftp_options ftp_options;
+
+/* listedit.c */
+
+
+#define TITLE_EDIT 0
+#define TITLE_ADD 1
+
+struct list {
+ void *next;
+ void *prev;
+ unsigned char type;
+ /*
+ * bit 0: 0=item, 1=directory
+ * bit 1: directory is open (1)/closed (0); for item unused
+ * bit 2: 1=item is selected 0=item is not selected
+ */
+ int depth;
+ void *fotr; /* ignored when list is flat */
+};
+
+/* regexp.c */
+
+char *regexp_replace(char *, char *, char *);
+
+
+struct list_description {
+ unsigned char type; /* 0=flat, 1=tree */
+ struct list *list; /* head of the list */
+ void *(*new_item)(void * /* data in internal format */); /* creates new item, does NOT add to the list */
+ void (*edit_item)(struct dialog_data *, void * /* item */, void(*)(struct dialog_data *,void *,void *,struct list_description *)/* ok function */, void * /* parameter for the ok_function */, unsigned char); /* must call call delete_item on the item after all */
+ void *(*default_value)(struct session *, unsigned char /* 0=item, 1=directory */); /* called when add button is pressed, allocates memory, return value is passed to the new_item function, new_item fills the item with this data */
+ void (*delete_item)(void *); /* delete item, if next and prev are not NULL adjusts pointers in the list */
+ void (*copy_item)(void * /* old */, void * /* new */); /* gets 2 allocated items, copies all item data except pointers from first item to second one, old data (in second item) will be destroyed */
+ unsigned char* (*type_item)(struct terminal *, void*, int /* 0=type whole item (e.g. when deleting item), 1=type only e.g title (in list window )*/); /* alllocates buffer and writes item into it */
+ void *(*find_item)(void *start_item, unsigned char *string, int direction /* 1 or -1 */); /* returns pointer to the first item matching given string or NULL if failed. Search starts at start_item including. */
+ struct history *search_history;
+ int codepage; /* codepage of all string */
+ int n_items; /* number of items in main window */
+
+ /* following items are string codes */
+ int item_description; /* e.g. "bookmark" or "extension" ... */
+ int already_in_use; /* e.g. "Bookmarks window is already open" */
+ int window_title; /* main window title */
+ int delete_dialog_title; /* e.g. "Delete bookmark dialog" */
+ int button; /* when there's no button button_fn is NULL */
+
+ void (*button_fn)(struct session *, void *); /* gets pointer to the item */
+ void (*save)(struct session *);
+
+ /* internal variables, should not be modified, initially set to 0 */
+ struct list *current_pos;
+ struct list *win_offset;
+ int win_pos;
+ int open; /* 0=closed, 1=open */
+ int modified; /* listedit reports 1 when the list was modified by user (and should be e.g. saved) */
+ struct dialog_data *dlg; /* current dialog, valid only when open==1 */
+ unsigned char *search_word;
+ int search_direction;
+};
+
+int test_list_window_in_use(struct list_description *ld, struct terminal *term);
+int create_list_window(struct list_description *,struct list *,struct terminal *,struct session *);
+void reinit_list_window(struct list_description *ld); /* reinitializes list window */
+
+/* bookmarks.c */
+
+/* Where all bookmarks are kept */
+extern unsigned char bookmarks_file[];
+extern int bookmarks_codepage;
+extern struct list bookmarks;
+
+void finalize_bookmarks(void); /* called, when exiting links */
+void init_bookmarks(void); /* called at start */
+void reinit_bookmarks(struct session *ses, unsigned char *new_bookmarks_file, int new_bookmarks_codepage);
+
+/* Launches bookmark manager */
+void menu_bookmark_manager(struct terminal *, void *, struct session *);
+
+#endif /* #ifndef LINKS_H */
diff --git a/links.nsi b/links.nsi
new file mode 100644
index 0000000..78d6c89
--- /dev/null
+++ b/links.nsi
@@ -0,0 +1,141 @@
+;NSIS Modern User Interface
+;Basic Example Script
+;Written by Joost Verburg
+
+SetCompressor /SOLID lzma
+OutFile Links-install.exe
+
+;--------------------------------
+;Include Modern UI
+
+ !include "MUI.nsh"
+
+;--------------------------------
+;General
+
+ ;Name and file
+ Name "Links WWW Browser"
+ ;Icon "links.ico"
+ ;!define MUI_ICON "links.ico"
+ OutFile "Links-install.exe"
+
+ ;Default installation folder
+ InstallDir "$PROGRAMFILES\Links"
+
+ ;Get installation folder from registry if available
+ InstallDirRegKey HKCU "Software\Links" ""
+
+ RequestExecutionLevel admin
+
+ Var MUI_TEMP
+ Var STARTMENU_FOLDER
+
+;--------------------------------
+;Interface Settings
+
+ !define MUI_ABORTWARNING
+
+;--------------------------------
+;Pages
+
+ !insertmacro MUI_PAGE_LICENSE "COPYING"
+; !insertmacro MUI_PAGE_COMPONENTS
+ !insertmacro MUI_PAGE_DIRECTORY
+
+!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
+!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Links"
+!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Links"
+
+!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
+
+ !insertmacro MUI_PAGE_INSTFILES
+
+ !insertmacro MUI_UNPAGE_CONFIRM
+ !insertmacro MUI_UNPAGE_INSTFILES
+
+;--------------------------------
+;Languages
+
+ !insertmacro MUI_LANGUAGE "English"
+
+;--------------------------------
+;Installer Sections
+
+Section "-Default Links browser files" DefaultSection
+
+ SetOutPath "$INSTDIR"
+
+ ;ADD YOUR OWN FILES HERE...
+
+File BRAILLE_HOWTO
+File COPYING
+File KEYS
+File README
+File links.exe
+File c:\cygwin\bin\cygbz2-1.dll
+File c:\cygwin\bin\cygcrypto-1.0.0.dll
+File c:\cygwin\bin\cyggcc_s-1.dll
+File c:\cygwin\bin\cyglzma-5.dll
+File c:\cygwin\bin\cygssl-1.0.0.dll
+File c:\cygwin\bin\cygwin1.dll
+File c:\cygwin\bin\cygz.dll
+
+ ;Store installation folder
+ WriteRegStr HKCU "Software\Links" "" $INSTDIR
+
+ ;Create uninstaller
+ WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+
+CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
+CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Links.lnk" "$INSTDIR\Links.exe"
+CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
+!insertmacro MUI_STARTMENU_WRITE_END
+SectionEnd
+
+
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+ ;ADD YOUR OWN FILES HERE...
+Delete "$INSTDIR\BRAILLE_HOWTO"
+Delete "$INSTDIR\COPYING"
+Delete "$INSTDIR\KEYS"
+Delete "$INSTDIR\README"
+Delete "$INSTDIR\Links.exe"
+Delete "$INSTDIR\cygbz2-1.dll"
+Delete "$INSTDIR\cygcrypto-1.0.0.dll"
+Delete "$INSTDIR\cyggcc_s-1.dll"
+Delete "$INSTDIR\cyglzma-5.dll"
+Delete "$INSTDIR\cygssl-1.0.0.dll"
+Delete "$INSTDIR\cygwin1.dll"
+Delete "$INSTDIR\cygz.dll"
+Delete "$INSTDIR\.links\*"
+RMDir "$INSTDIR\.links"
+
+ Delete "$INSTDIR\Uninstall.exe"
+
+ RMDir "$INSTDIR"
+
+!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
+
+Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
+Delete "$SMPROGRAMS\$MUI_TEMP\Links.lnk"
+StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
+
+startMenuDeleteLoop:
+ClearErrors
+RMDir $MUI_TEMP
+GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
+
+IfErrors startMenuDeleteLoopDone
+
+StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
+startMenuDeleteLoopDone:
+
+ DeleteRegKey /ifempty HKCU "Software\Links"
+
+SectionEnd
diff --git a/links.wis b/links.wis
new file mode 100644
index 0000000..1daff5a
--- /dev/null
+++ b/links.wis
@@ -0,0 +1,43 @@
+<WARPIN>
+<HEAD>
+<PCK INDEX="1"
+ PACKAGEID="Mikulas Patocka\Links\Base package\2\5"
+ TARGET="?:\Links"
+ SELECT
+ TITLE="Links"
+ CREATEOBJECT="WPFolder|Links|<WP_DESKTOP>|OBJECTID=<Links_Folder>;"
+ CREATEOBJECT="WPProgram|Links Window|<Links_Folder>|EXENAME=$(1)\Links.exe;PROGTYPE=WINDOWABLEVIO;STARTUPDIR=$(1);OBJECTID=<Links_Window>;"
+ CREATEOBJECT="WPProgram|Links Full Screen|<Links_Folder>|EXENAME=$(1)\Links.exe;PROGTYPE=FULLSCREEN;STARTUPDIR=$(1);OBJECTID=<Links_Full_Screen>;"
+ CREATEOBJECT="WPProgram|Links Graphics|<Links_Folder>|EXENAME=$(1)\Links.exe;PARAMETERS=-g;PROGTYPE=PM;STARTUPDIR=$(1);OBJECTID=<Links_PMShell>;"
+ CONFIGSYS="SET PATH=$(1) | ADDRIGHT"
+ CONFIGSYS="LIBPATH=$(1) | ADDRIGHT"
+ >Links is a WWW browser</PCK>
+</HEAD>
+<BODY>
+<PAGE INDEX="1" TYPE="TEXT">
+<NEXTBUTTON TARGET="2">~Next</NEXTBUTTON>
+<TEXT>
+This package contains Links browser for OS/2.
+
+You need to have EMX runtime 0.9c or 0.9d installed.
+</TEXT>
+</PAGE>
+<PAGE INDEX="2" TYPE="CONTAINER">
+<NEXTBUTTON TARGET="3">~Next</NEXTBUTTON>
+<TEXT>
+On this page, you may change the package's target path. </TEXT>
+</PAGE>
+<PAGE INDEX="3" TYPE="CONFIGURE">
+<TEXT>
+Here you can select if you want to modify config.sys or create Workplace Shell objects.
+
+You need to modify config.sys if you want to run Links from OS/2 command line. If you want to run Links from Workplace Shell and not from command line, you don't need to modify config.sys.
+</TEXT>
+</PAGE>
+<PAGE INDEX="4" TYPE="TEXT">
+<NEXTBUTTON TARGET="0">I~nstall</NEXTBUTTON>
+<TEXT>
+Press "Install" to begin installing this archive.</TEXT>
+</PAGE>
+</BODY>
+</WARPIN>
diff --git a/links_16x16_1.xpm b/links_16x16_1.xpm
new file mode 100644
index 0000000..5887661
--- /dev/null
+++ b/links_16x16_1.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * links_xpm[] = {
+"16 16 6 1",
+" c None",
+". c #FF0000",
+"+ c #000000",
+"@ c #00FF00",
+"# c #0800FF",
+"$ c #FFFFFF",
+".......++@@@@@@@",
+".......++@@@@@@@",
+"..+++++++@@@@@@@",
+"....++.++@@@@@@@",
+"....++.++@@@@@@@",
+"....++.++@@@@@@@",
+"....++.++@@@@@@@",
+"++++++++++++++++",
+"++++++++++++++++",
+"####++#++$$$$$$$",
+"####++#++$$$$$$$",
+"####++#++$$$$+$$",
+"####++#++$$$++$$",
+"##++++++++++++$$",
+"#######++$$$$$$$",
+"#######++$$$$$$$"};
diff --git a/links_16x16_2.xpm b/links_16x16_2.xpm
new file mode 100644
index 0000000..a1b9f6b
--- /dev/null
+++ b/links_16x16_2.xpm
@@ -0,0 +1,78 @@
+/* XPM */
+static char * links_16x16_2_xpm[] = {
+"16 16 59 1",
+" c None",
+". c #FF0000",
+"+ c #680000",
+"@ c #006800",
+"# c #00FF00",
+"$ c #CB0000",
+"% c #760000",
+"& c #300000",
+"* c #E10000",
+"= c #AE0000",
+"- c #6A0000",
+"; c #000000",
+"> c #920000",
+", c #470000",
+"' c #C30000",
+") c #020000",
+"! c #FE0000",
+"~ c #4F0000",
+"{ c #010000",
+"] c #670000",
+"^ c #2A0000",
+"/ c #002A00",
+"( c #000068",
+"_ c #00004F",
+": c #000001",
+"< c #000067",
+"[ c #00002A",
+"} c #2A2A2A",
+"| c #686868",
+"1 c #0000FF",
+"2 c #0000C3",
+"3 c #000002",
+"4 c #0000FE",
+"5 c #FFFFFF",
+"6 c #EBEBEB",
+"7 c #A5A5A5",
+"8 c #A7A7A7",
+"9 c #545454",
+"0 c #4D4D4D",
+"a c #6A6A6A",
+"b c #B0B0B0",
+"c c #010101",
+"d c #7F7F7F",
+"e c #0000D8",
+"f c #000097",
+"g c #000058",
+"h c #000075",
+"i c #00003E",
+"j c #3D3D3D",
+"k c #848484",
+"l c #494949",
+"m c #020202",
+"n c #959595",
+"o c #0000D4",
+"p c #00008D",
+"q c #000039",
+"r c #393939",
+"s c #8D8D8D",
+"t c #D6D6D6",
+".......+@#######",
+".$%%%%%&@#######",
+".*=-;;>,@#######",
+"...';)!+@#######",
+"...';)!+@#######",
+"...';)!+@#######",
+"...';)!+@#######",
+"+++~;{]^/@@@@@@@",
+"(((_;:<[}|||||||",
+"1112;34(|5556755",
+"1112;34(|5558955",
+"1112;34(|5550a55",
+"1112;34(|55bcd55",
+"1efg;;hijklm;n55",
+"1opppppqrsssst55",
+"1111111(|5555555"};
diff --git a/links_32x32.xpm b/links_32x32.xpm
new file mode 100644
index 0000000..34ba15b
--- /dev/null
+++ b/links_32x32.xpm
@@ -0,0 +1,115 @@
+/* XPM */
+static char * links_32x32_xpm[] = {
+"32 32 80 1",
+" c None",
+". c #FF0000",
+"+ c #D00000",
+"@ c #000000",
+"# c #00D000",
+"$ c #00FF00",
+"% c #F10000",
+"& c #EC0000",
+"* c #C00000",
+"= c #3E0000",
+"- c #880000",
+"; c #620000",
+"> c #5A0000",
+", c #3C0000",
+"' c #020000",
+") c #170000",
+"! c #500000",
+"~ c #4D0000",
+"{ c #6C0000",
+"] c #E40000",
+"^ c #040000",
+"/ c #FD0000",
+"( c #6E0000",
+"_ c #030000",
+": c #CD0000",
+"< c #A90000",
+"[ c #00A900",
+"} c #0000D0",
+"| c #00006E",
+"1 c #000003",
+"2 c #0000CD",
+"3 c #0000A9",
+"4 c #A9A9A9",
+"5 c #D0D0D0",
+"6 c #0000FF",
+"7 c #000088",
+"8 c #000004",
+"9 c #0000FD",
+"0 c #FFFFFF",
+"a c #AEAEAE",
+"b c #0A0A0A",
+"c c #8D8D8D",
+"d c #747474",
+"e c #9D9D9D",
+"f c #2B2B2B",
+"g c #B3B3B3",
+"h c #D2D2D2",
+"i c #C8C8C8",
+"j c #636363",
+"k c #DEDEDE",
+"l c #CFCFCF",
+"m c #040404",
+"n c #F3F3F3",
+"o c #D5D5D5",
+"p c #1F1F1F",
+"q c #FEFEFE",
+"r c #0000FC",
+"s c #000055",
+"t c #0000BD",
+"u c #0000FE",
+"v c #F5F5F5",
+"w c #BEBEBE",
+"x c #666666",
+"y c #070707",
+"z c #202020",
+"A c #000064",
+"B c #000033",
+"C c #00002C",
+"D c #000010",
+"E c #000018",
+"F c #000027",
+"G c #242424",
+"H c #1B1B1B",
+"I c #030303",
+"J c #363636",
+"K c #000052",
+"L c #00001A",
+"M c #000015",
+"N c #161616",
+"O c #5D5D5D",
+"..............+@@#$$$$$$$$$$$$$$",
+"..............+@@#$$$$$$$$$$$$$$",
+"...%&&&&&&&&&&*@@#$$$$$$$$$$$$$$",
+"...=@@@@@@@@@@@@@#$$$$$$$$$$$$$$",
+"...-;>,'@@@@)!~@@#$$$$$$$$$$$$$$",
+".......{@@@@].+@@#$$$$$$$$$$$$$$",
+".......-@@@^/.+@@#$$$$$$$$$$$$$$",
+".......-@@@^/.+@@#$$$$$$$$$$$$$$",
+".......-@@@^/.+@@#$$$$$$$$$$$$$$",
+".......-@@@^/.+@@#$$$$$$$$$$$$$$",
+".......-@@@^/.+@@#$$$$$$$$$$$$$$",
+".......-@@@^/.+@@#$$$$$$$$$$$$$$",
+".......-@@@^/.+@@#$$$$$$$$$$$$$$",
+".......-@@@^/.+@@#$$$$$$$$$$$$$$",
+"+++++++(@@@_:+<@@[##############",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"}}}}}}}|@@@12}3@@455555555555555",
+"66666667@@@896}@@500000000000000",
+"66666667@@@896}@@50000000abc0000",
+"66666667@@@896}@@50000000d@e0000",
+"66666667@@@896}@@50000000f@g0000",
+"66666667@@@896}@@5000000h@@i0000",
+"66666667@@@896}@@5000000j@@k0000",
+"66666667@@@896}@@500000lm@@n0000",
+"66666667@@@896}@@50000op@@bq0000",
+"666666rs@@@@tu}@@50vwxy@@@z00000",
+"666ABCD@@@@@@EF@@GHI@@@@@@J00000",
+"666KLLLLLLLLLLM@@NHHHHHHHHO00000",
+"66666666666666}@@500000000000000",
+"66666666666666}@@500000000000000",
+"66666666666666}@@500000000000000"};
diff --git a/links_icon.c b/links_icon.c
new file mode 100644
index 0000000..a1dfda5
--- /dev/null
+++ b/links_icon.c
@@ -0,0 +1,242 @@
+/* links_icon.c
+ * Links Icon
+ * (c) 2002 Karel 'Clock' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "cfg.h"
+#ifdef G
+#include "links.h"
+
+unsigned char *links_icon=
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0"
+ "\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\0\0\0"
+ "\0\0\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0"
+ "\0\2\0\0\2\0\0\2\0\0\2\0\0\2\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\262\0\0\326\0\0\326\0\0\326\0\0\326"
+ "\0\0\326\0\0\326\0\0\326\0\0\326\0\0\326\0\0\326\0\0\326\0\0\326\0\0\326"
+ "\0\0\326\0\0\326\0\0\315\0\0\33\0\0\0\33\0\0\316\0\0\327\0\0\327\0\0\327"
+ "\0\0\327\0\0\327\0\0\327\0\0\327\0\0\327\0\0\327\0\0\327\0\0\327\0\0\327"
+ "\0\0\327\0\0\327\0\0\327\0\0\262\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\312\0\0\356\0\0\356\0\0\356\0\0\356\0"
+ "\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0"
+ "\0\356\0\0\356\0\0\346\0\0!\0\0\0!\0\0\354\0\0\374\0\0\374\0\0\374\0\0\374"
+ "\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374"
+ "\0\0\374\0\0\374\0\0\316\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\1\0\0\312\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0"
+ "\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0"
+ "\0\356\0\0\346\0\0!\0\0\0!\0\0\354\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374"
+ "\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374"
+ "\0\0\374\0\0\316\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\1\0\0\313\0\0\356\0\0\356\0\0\355\0\0\355\0\0\355\0\0\355\0"
+ "\0\355\0\0\355\0\0\355\0\0\355\0\0\355\0\0\355\0\0\355\0\0\355\0\0\355\0"
+ "\0\345\0\0\40\0\0\0\40\0\0\353\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0"
+ "\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0"
+ "\0\374\0\0\316\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\1\0\0\312\0\0\356\0\0\346\0\0\235\0\0b\0\0c\0\0c\0\0c\0\0c\0\0"
+ "c\0\0c\0\0c\0\0c\0\0c\0\0c\0\0c\0\0[\0\0\10\0\0\0\16\0\0\335\0\0\374\0\0"
+ "\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0"
+ "\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\316\0\0\1\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\312\0\0\356\0\0\343\0\0T\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\5\0\0\324\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374"
+ "\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374"
+ "\0\0\316\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\1\0\0\313\0\0\356\0\0\353\0\0\335\0\0\311\0\0\305\0\0\274\0\0\223\0"
+ "\0'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\13\0\0z\0\0\265\0\0\274\0\0\27\0\0\0\34\0"
+ "\0\350\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0"
+ "\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\316\0\0\1\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\312\0\0"
+ "\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\351\0\0\215\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0A\0\0\342\0\0\356\0\0\346\0\0!\0\0\0!\0\0\354\0\0\374\0\0"
+ "\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0"
+ "\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\316\0\0\1\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\312\0\0\356\0\0\356\0\0\356"
+ "\0\0\356\0\0\356\0\0\356\0\0\352\0\0\226\0\0\0\0\0\0\0\0\0\0\0\0\0\0E\0\0"
+ "\344\0\0\356\0\0\346\0\0!\0\0\0!\0\0\354\0\0\374\0\0\374\0\0\374\0\0\374"
+ "\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374"
+ "\0\0\374\0\0\374\0\0\316\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\1\0\0\313\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0"
+ "\0\356\0\0\352\0\0\227\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\0\0\344\0\0\356\0\0\346"
+ "\0\0!\0\0\0!\0\0\354\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0"
+ "\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0"
+ "\316\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\1\0\0\312\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\352\0\0\226"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0E\0\0\344\0\0\356\0\0\346\0\0!\0\0\0\37\0\0\350"
+ "\0\0\373\0\0\373\0\0\373\0\0\373\0\0\373\0\0\373\0\0\373\0\0\373\0\0\373"
+ "\0\0\373\0\0\373\0\0\373\0\0\373\0\0\373\0\0\373\0\0\311\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\312\0\0\356\0"
+ "\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\352\0\0\226\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0E\0\0\344\0\0\356\0\0\346\0\0!\0\0\0!\0\0\354\0\0\374\0\0\374\0"
+ "\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0"
+ "\0\374\0\0\374\0\0\374\0\0\374\0\0\316\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\313\0\0\356\0\0\356\0\0\356\0\0"
+ "\356\0\0\356\0\0\356\0\0\352\0\0\227\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\0\0\344"
+ "\0\0\356\0\0\346\0\0!\0\0\0!\0\0\354\0\0\374\0\0\374\0\0\374\0\0\374\0\0"
+ "\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0"
+ "\374\0\0\374\0\0\316\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\1\0\0\312\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356"
+ "\0\0\352\0\0\226\0\0\0\0\0\0\0\0\0\0\0\0\0\0E\0\0\344\0\0\356\0\0\346\0\0"
+ "!\0\0\0!\0\0\354\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374"
+ "\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\316"
+ "\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0"
+ "\0\312\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\352\0\0\226\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0E\0\0\344\0\0\356\0\0\346\0\0!\0\0\0!\0\0\354\0"
+ "\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0"
+ "\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\374\0\0\316\0\0\1\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\313\0\0\356\0\0"
+ "\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\352\0\0\227\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0F\0\0\344\0\0\356\0\0\346\0\0!\0\0\0!\0\0\351\0\0\365\0\0\365\0\0"
+ "\365\0\0\365\0\0\365\0\0\365\0\0\365\0\0\365\0\0\365\0\0\365\0\0\365\0\0"
+ "\365\0\0\365\0\0\365\0\0\365\0\0\315\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\232\0\0\272\0\0\272\0\0\272\0\0\272"
+ "\0\0\272\0\0\272\0\0\265\0\0m\0\0\0\0\0\0\0\0\0\0\0\0\0\0""0\0\0\257\0\0"
+ "\272\0\0\262\0\0\27\0\0\0\30\0\0\275\0\0\305\0\0\305\0\0\305\0\0\305\0\0"
+ "\305\0\0\305\0\0\305\0\0\305\0\0\305\0\0\305\0\0\305\0\0\305\0\0\305\0\0"
+ "\305\0\0\305\0\0\243\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\37\0\0)\0\0)\0\0)\0\0)\0\0)\0\0)\0\0'\0\0\23\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\7\0\0%\0\0(\0\0&\0\0\3\0\0\0\13\13\13\16\16\16"
+ "\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16"
+ "\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16\16\10\10\10\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\307\0"
+ "\0\353\0\0\353\0\0\353\0\0\353\0\0\353\0\0\353\0\0\346\0\0\223\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0C\0\0\341\0\0\353\0\0\343\0\0\40\13\13\13\335\334\334\356"
+ "\355\356\356\355\356\356\355\356\356\355\356\356\355\356\356\355\356\356"
+ "\355\356\356\355\356\356\355\356\356\355\356\356\355\356\356\355\356\356"
+ "\355\356\356\355\356\355\355\355\254\254\254\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\312\0\0\356\0\0\356\0\0"
+ "\356\0\0\356\0\0\356\0\0\356\0\0\352\0\0\226\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "E\0\0\344\0\0\356\0\0\346\0\0!\16\16\16\356\356\355\376\376\376\376\376\376"
+ "\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376"
+ "\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376"
+ "\376\376\376\274\274\274\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\1\0\0\313\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356"
+ "\0\0\356\0\0\352\0\0\227\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\0\0\344\0\0\356\0\0"
+ "\346\0\0!\16\16\16\356\356\355\376\376\376\376\376\376\376\376\376\376\376"
+ "\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376"
+ "\376\373\373\373\356\356\356\351\351\351\371\371\371\376\376\376\274\274"
+ "\274\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\1\0\0\312\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\352\0\0"
+ "\226\0\0\0\0\0\0\0\0\0\0\0\0\0\0E\0\0\344\0\0\356\0\0\346\0\0!\16\16\16\356"
+ "\356\355\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376"
+ "\376\376\376\376\376\376\376\376\376\376\376\376\376\376\362\362\362HHH("
+ "((\355\355\355\376\376\376\274\274\274\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\312\0\0\356\0\0\356\0\0\356\0"
+ "\0\356\0\0\356\0\0\356\0\0\352\0\0\226\0\0\0\0\0\0\0\0\0\0\0\0\0\0E\0\0\344"
+ "\0\0\356\0\0\346\0\0!\16\16\16\356\356\355\376\376\376\376\376\376\376\376"
+ "\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376"
+ "\376\376\376\376\340\340\340\13\13\13\16\16\16\354\354\354\376\376\376\274"
+ "\274\274\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\1\0\0\313\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\352"
+ "\0\0\227\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\0\0\344\0\0\356\0\0\346\0\0!\16\16"
+ "\16\356\356\355\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376"
+ "\376\376\376\376\376\376\376\376\376\376\376\376\373\373\373\234\234\234"
+ "\0\0\0)))\362\362\362\376\376\376\274\274\274\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\312\0\0\356\0\0\356\0\0"
+ "\356\0\0\356\0\0\356\0\0\356\0\0\352\0\0\226\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "E\0\0\344\0\0\356\0\0\346\0\0!\16\16\16\356\356\355\376\376\376\376\376\376"
+ "\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376"
+ "\376\376\376\360\360\360DDD\0\0\0lll\370\370\370\376\376\376\274\274\274"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1"
+ "\0\0\312\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\352\0\0\226"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0E\0\0\344\0\0\356\0\0\346\0\0!\16\16\16\356\356"
+ "\355\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376"
+ "\376\376\376\376\376\376\376\373\373\373\276\276\276\4\4\4\0\0\0xxx\372\372"
+ "\372\376\376\376\274\274\274\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\313\0\0\356\0\0\356\0\0\356\0\0\356\0\0"
+ "\356\0\0\356\0\0\352\0\0\227\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\0\0\344\0\0\356"
+ "\0\0\346\0\0!\16\16\16\356\356\355\376\376\376\376\376\376\376\376\376\376"
+ "\376\376\376\376\376\376\376\376\376\376\376\375\375\375\351\351\351>>>\0"
+ "\0\0\0\0\0zzz\374\374\374\376\376\376\274\274\274\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\312\0\0\356\0\0\356"
+ "\0\0\356\0\0\356\0\0\356\0\0\356\0\0\352\0\0\226\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0E\0\0\344\0\0\356\0\0\346\0\0!\16\16\16\356\356\355\376\376\376\376\376"
+ "\376\376\376\376\376\376\376\376\376\376\376\376\376\373\373\373\350\350"
+ "\350ggg\0\0\0\0\0\0\0\0\0|||\375\375\375\376\376\376\274\274\274\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\312"
+ "\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\355\0\0\347\0\0\203\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0""7\0\0\335\0\0\354\0\0\346\0\0!\16\16\16\355\355\355"
+ "\376\376\376\376\376\376\375\375\375\374\374\374\367\367\367\352\352\352"
+ "\255\255\255;;;\0\0\0\0\0\0\0\0\0\0\0\0\217\217\217\375\375\375\376\376\376"
+ "\274\274\274\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\1\0\0\313\0\0\356\0\0\351\0\0\334\0\0\317\0\0\305\0\0\224\0\0"
+ ">\0\0\17\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0,\0\0h\0\0\264\0\0\26\11\11\11"
+ "\304\304\304\323\323\323\306\306\306\215\215\215yyy[[[\31\31\31\1\1\1\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\5\5\5\326\326\326\376\376\376\376\376\376\274\274\274"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1"
+ "\0\0\312\0\0\356\0\0\343\0\0]\0\0\4\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\1\1\1\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\13\13\13\343\343\343\376\376"
+ "\376\376\376\376\274\274\274\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\312\0\0\356\0\0\350\0\0\257\0\0x\0\0y\0"
+ "\0y\0\0y\0\0y\0\0y\0\0y\0\0y\0\0y\0\0y\0\0y\0\0y\0\0r\0\0\14\4\4\4eeeppp"
+ "pppppppppppppppppppppppppppnnn\213\213\213\362\362\362\376\376\376\376\376"
+ "\376\274\274\274\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\1\0\0\313\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356"
+ "\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356"
+ "\0\0\345\0\0!\16\16\16\354\354\354\375\375\375\375\375\375\375\375\375\375"
+ "\375\375\375\375\375\375\375\375\375\375\375\375\375\375\375\375\375\375"
+ "\375\375\375\375\375\375\375\375\376\376\376\376\376\376\376\376\376\274"
+ "\274\274\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\1\0\0\312\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356"
+ "\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\356\0\0\346"
+ "\0\0!\16\16\16\356\356\355\376\376\376\376\376\376\376\376\376\376\376\376"
+ "\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376"
+ "\376\376\376\376\376\376\376\376\376\376\376\376\376\376\376\274\274\274"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0h\0\0\177\0\0\177\0\0\177\0\0\177\0\0\177\0\0\177\0\0\177\0\0\177\0\0"
+ "\177\0\0\177\0\0\177\0\0\177\0\0\177\0\0\177\0\0\177\0\0y\0\0\16\10\10\10"
+ "\254\254\254\274\274\274\274\274\274\274\274\274\274\274\274\274\274\274"
+ "\274\274\274\274\274\274\274\274\274\274\274\274\274\274\274\274\274\274"
+ "\274\274\274\274\274\274\274\274\274\274\274\274\205\205\205\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0";
+#endif /* #ifdef G */
+
diff --git a/linksos2.ico b/linksos2.ico
new file mode 100644
index 0000000..c5d8e61
--- /dev/null
+++ b/linksos2.ico
Binary files differ
diff --git a/linksos2.rc b/linksos2.rc
new file mode 100644
index 0000000..a479f19
--- /dev/null
+++ b/linksos2.rc
@@ -0,0 +1 @@
+POINTER 1 LOADONCALL MOVEABLE DISCARDABLE linksos2.ico
diff --git a/listedit.c b/listedit.c
new file mode 100644
index 0000000..3ce47b7
--- /dev/null
+++ b/listedit.c
@@ -0,0 +1,1934 @@
+/* listedit.c
+ * (c) 2002 Petr 'Brain' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+
+/*
+ (#####)
+ (#########)
+ )))) (######)
+ ,C--O (###) _________________
+ |`:, \ ~~ |. , v , .|
+ `-__o ~~ ; | ZAKAZ KOURENI |
+ / _ \ ` |. .|
+ | ( \__`_=k== `~~~~~~~~~~~~~~~~~'
+ | `-/__---'
+ |=====C/
+ `. ),'
+ \ /
+ ||_|
+ || |__
+ ||____)
+
+ v v v , ,v
+ KONECNE NEJAKE KOMENTARE...
+*/
+
+/* Klikani myssi (nebo mysijou, jak rika Mikulas) v list-okne:
+ * (hrozne dulezity komentar ;-P )
+ *
+ * Klikani je vyreseno nasledovne, pokud ma nekdo lepsi napad, nebo nejake
+ * vyhrady, tak at mi je posle.
+ *
+ * Prostredni tlacitko+pohyb je scroll nahoru/dolu. Levym tlacitkem se nastavi
+ * kurzor (cerna lista) na konkretni polozku. Kdyz se levym klikne na adresar
+ * (na ty graficke nesmysly, ne na ten text), tak se adresar toggle
+ * otevre/zavre. Prave tlacitko oznaci/odznaci polozku/adresar.
+ */
+
+/* Premistovani polozek:
+ *
+ * Pravym tlacitkem se oznaci/odznaci polozka. Cudlikem "Odznacit vse" se
+ * vsechny polozky odznaci. Cudlik "Prestehovat" presune vsechny oznacene
+ * polozky za aktualni pozici, v tom poradi, jak jsou v seznamu. Pri zavreni
+ * adresare se vsechny polozky v adresari odznaci.
+ */
+
+/* Prekreslovani grafickych nesmyslu v okenku je samozrejme bez jedineho
+ * v
+ * bliknuti. Ne jako nejmenovane browsery... Proste obraz jako BIC (TM)
+ */
+
+/* Ovladani klavesnici:
+ * sipky, page up, page down, home end pohyb
+ * + otevri adresar
+ * - zavri adresar
+ * mezera toggle adresar
+ * ins, *, 8, i toggle oznacit
+ * ?, /, N, n hledani nahoru, dolu, znova, znova na druhou stranu
+ */
+
+/*
+ * Struktura struct list_decription obsahuje popis seznamu. Tenhle file
+ * obsahuje obecne funkce k obsluze seznamu. Pomoci struct list_description se
+ * seznam customizuje. Obecne funkce volaji funkce z list_description.
+ *
+ * Jedina funkce z tohoto filu, ktera se vola zvenku, je create_list_window. Ta
+ * vyrobi a obstarava okno pro obsluhu seznamu.
+ *
+ * Obecny list neresi veci jako nahravani seznamu z filu, ukladani na disk
+ * atd.(tyhle funkce si uzivatel musi napsat sam). Resi vlastne jenom to velke
+ * okno na manipulaci se seznamem.
+ */
+
+/*
+ * Aby bylo konzistentni pridavani a editovani polozek, tak se musi pytlacit.
+ *
+ * To znamena, ze pri pridavani polozky do listu se vyrobi nova polozka
+ * (NEPRIDA se do seznamu), pusti se edit a po zmacknuti OK se polozka prida do
+ * seznamu. Pri zmacknuti cancel, se polozka smaze.
+ *
+ * Pri editovani polozky se vyrobi nova polozka, zkopiruje se do ni obsah te
+ * puvodni (od toho tam je funkce copy_item), pak se zavola edit a podobne jako
+ * v predchozim pripade: pri cancel se polozka smaze, pri OK se zkopiruje do
+ * puvodni polozky a smaze se taky.
+ *
+ * O smazani polozky pri cancelu se bude starat uzivatelska funkce edit_item
+ * sama. Funkce edit_item po zmacknuti OK zavola funkci, kterou dostane. Jako
+ * 1. argument ji da data, ktera dostane, jako 2. argument ji preda pointer na
+ * item.
+ */
+
+/*
+ * Seznam je definovan ve struct list. Muze byt bud placaty nebo stromovy.
+ *
+ * K placatemu asi neni co dodat. U placateho se ignoruje hloubka a neexistuji
+ * adresare - vsechny polozky jsou si rovny (typ polozky se ignoruje).
+ *
+ * Stromovy seznam:
+ * Kazdy clen seznamu ma flag sbaleno/rozbaleno. U itemy se to ignoruje, u
+ * adresare to znamena, zda se zobrazuje obsah nebo ne. Aby rozbaleno/sbaleno
+ * bylo u vsech prvku adresare, to by neslo: kdybych mel adresar a v nem dalsi
+ * adresar, tak bych u toho vnoreneho adresare nevedel, jestli to
+ * sbaleno/rozbaleno je od toho vnoreneho adresare, nebo od toho nad nim.
+ *
+ * Clenove seznamu maji hloubku - cislo od 0 vyse. Cim je prvek hloubeji ve
+ * strukture, tim je hloubka vyssi. Obsah adresare s hloubkou x je souvisly blok
+ * nasledujicich prvku s hloubkou >x.
+ *
+ * Hlava ma hloubku -1 a zobrazuje se taky jako clen seznamu (aby se dal
+ * zobrazit prazdny seznam a dalo se do nej pridavat), takze se da vlastne cely
+ * seznam zabalit/rozbalit. Hlava sice nema data, ale funkce type_item ji musi
+ * umet zobrazit. Jako popis bude psat fixni text, napriklad "Bookmarks".
+ *
+ * Pro urychleni vykreslovani kazdy prvek v seznamu s adresarema obsahuje
+ * pointer na otce (polozka fotr). U plocheho seznamu se tento pointer
+ * ignoruje.
+ *
+ * Strukturu stromu bude vykreslovat obecna funkce (v tomto filu), protoze v
+ * obecnem listu je struktura uz zachycena.
+ */
+
+/*
+ * V hlavnim okne se da nadefinovat 1 uzivatelske tlacitko. Polozka button ve
+ * struct list_description obsahuje popisku tlacitka (kod stringu v
+ * prekodovavacich tabulkach). Funkce button_fn je zavolana pri stisku
+ * tlacitka, jako argument (void *) dostane aktualni polozku. Pokud je
+ * button_fn NULL, tlacitko se nekona.
+ *
+ * Toto tlacitko se da vyuzit napriklad u bookmarku, kde je potreba [ Goto ].
+ *
+ * Kdyz bude potreba predavat obsluzne funkci tlacitka nejake dalsi argumenty,
+ * tak se pripadne definice obsluzne funkce prepise.
+ *
+ * Tlacitko funguje jen na polozky. Nefunguje na adresare (pokud se jedna o
+ * stromovy list) ani na hlavu.
+ */
+
+/* Jak funguje default_value:
+ * kdyz se zmackne tlacitko add, zavola se funkce default_value, ktera si
+ * naalokuje nejaky data pro new_item. Do funkce default_value se treba u
+ * bookmarku umisti okopirovani altualniho nazvu a url stranky. Pak se zavola
+ * new_item, ktera si prislusne hodnoty dekoduje a pomoci nich vyplni novou
+ * polozku. Funkce new_item pak MUSI data dealokovat. Pokud funkce new_item
+ * dostane misto pointeru s daty NULL, vyrobi prazdnou polozku.
+ *
+ * Default value musi vratit hodnoty v kodovani uvedenem v list_description
+ */
+
+/* Pristupovani z vice linksu:
+ *
+ * ... se neresi - je zakazano. K tomu slouzi polozka open ve struct
+ * list_description, ktera rika, jestli je okno uz otevrene, nebo ne.
+ */
+
+/* Prekodovavani znakovych sad:
+ *
+ * type_item vraci text prekodovany do kodovani terminalu, ktery dostane.
+ */
+
+
+/* struct list *current_pos; current cursor position in the list */
+/* struct list *win_offset; item at the top of the window */
+/* int win_pos; current y position in the window */
+
+#define BOHNICE "+420-2-84016111"
+
+#define BFU_ELEMENT_EMPTY 0
+#define BFU_ELEMENT_PIPE 1
+#define BFU_ELEMENT_L 2
+#define BFU_ELEMENT_TEE 3
+#define BFU_ELEMENT_CLOSED 4
+#define BFU_ELEMENT_CLOSED_DOWN 5
+#define BFU_ELEMENT_OPEN 6
+#define BFU_ELEMENT_OPEN_DOWN 7
+
+/* for mouse scrolling */
+static long last_mouse_y;
+
+
+#ifdef G
+ #define sirka_scrollovadla (G_SCROLL_BAR_WIDTH<<1)
+#else
+ #define sirka_scrollovadla 0
+#endif
+
+
+/* This function uses these defines from setup.h:
+ *
+ * BFU_GRX_WIDTH
+ * BFU_GRX_HEIGHT
+ * BFU_ELEMENT_WIDTH
+ */
+
+/* draws one of BFU elements: | |- [-] [+] */
+/* BFU elements are used in the list window */
+/* this function also defines shape and size of the elements */
+/* returns width of the BFU element (all elements have the same size, but sizes differ if we're in text mode or in graphics mode) */
+static int draw_bfu_element(struct terminal * term, int x, int y, unsigned c, long b, long f, unsigned char type, unsigned char selected)
+{
+#ifdef G
+ if (!F){
+#endif
+ unsigned char vertical=179;
+ unsigned char horizontal=196;
+ unsigned char tee=195;
+ unsigned char l=192;
+
+ switch (type)
+ {
+ case BFU_ELEMENT_EMPTY:
+ c|=ATTR_FRAME;
+ set_char(term,x,y,' ',c);
+ set_char(term,x+1,y,' ',c);
+ set_char(term,x+2,y,' ',c);
+ set_char(term,x+3,y,' ',c);
+ set_char(term,x+4,y,' ',c);
+ break;
+
+ case BFU_ELEMENT_PIPE:
+ c|=ATTR_FRAME;
+ set_char(term,x,y,' ',c);
+ set_char(term,x+1,y,vertical,c);
+ set_char(term,x+2,y,' ',c);
+ set_char(term,x+3,y,' ',c);
+ set_char(term,x+4,y,' ',c);
+ break;
+
+ case BFU_ELEMENT_L:
+ c|=ATTR_FRAME;
+ set_char(term,x,y,' ',c);
+ set_char(term,x+1,y,l,c);
+ set_char(term,x+2,y,horizontal,c);
+ set_char(term,x+3,y,horizontal,c);
+ set_char(term,x+4,y,' ',c);
+ break;
+
+ case BFU_ELEMENT_TEE:
+ c|=ATTR_FRAME;
+ set_char(term,x,y,' ',c);
+ set_char(term,x+1,y,tee,c);
+ set_char(term,x+2,y,horizontal,c);
+ set_char(term,x+3,y,horizontal,c);
+ set_char(term,x+4,y,' ',c);
+ break;
+
+ case BFU_ELEMENT_CLOSED:
+ case BFU_ELEMENT_CLOSED_DOWN:
+ set_char(term,x,y,'[',c);
+ set_char(term,x+1,y,'+',c);
+ set_char(term,x+2,y,']',c);
+ c|=ATTR_FRAME;
+ set_char(term,x+3,y,horizontal,c);
+ set_char(term,x+4,y,' ',c);
+ break;
+
+ case BFU_ELEMENT_OPEN:
+ case BFU_ELEMENT_OPEN_DOWN:
+ set_char(term,x,y,'[',c);
+ set_char(term,x+1,y,'-',c);
+ set_char(term,x+2,y,']',c);
+ c|=ATTR_FRAME;
+ set_char(term,x+3,y,horizontal,c);
+ set_char(term,x+4,y,' ',c);
+ break;
+
+ default:
+ internal("draw_bfu_element: unknown BFU element type %d.\n",type);
+ }
+ if (selected)set_char(term,x+4,y,'*',c);
+ return BFU_ELEMENT_WIDTH; /* BFU element size in text mode */
+#ifdef G
+ }else{
+ struct graphics_device *dev=term->dev;
+ struct rect r;
+
+ restrict_clip_area(dev,&r,x,y,x+5*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT);
+
+ switch (type)
+ {
+ case BFU_ELEMENT_EMPTY:
+ drv->fill_area(dev,x,y,x+4*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ break;
+
+ case BFU_ELEMENT_PIPE:
+ /* pipe */
+ drv->draw_vline(dev,x+1*BFU_GRX_WIDTH,y,y+BFU_GRX_HEIGHT,f);
+ drv->draw_vline(dev,x+1+1*BFU_GRX_WIDTH,y,y+BFU_GRX_HEIGHT,f);
+ /* clear the rest */
+ drv->fill_area(dev,x,y,x+1*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+2+1*BFU_GRX_WIDTH,y,x+4*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ break;
+
+ case BFU_ELEMENT_L:
+ /* l */
+ drv->draw_vline(dev,x+1*BFU_GRX_WIDTH,y,y+.5*BFU_GRX_HEIGHT,f);
+ drv->draw_vline(dev,x+1+1*BFU_GRX_WIDTH,y,y+.5*BFU_GRX_HEIGHT,f);
+ drv->draw_hline(dev,x+1*BFU_GRX_WIDTH,y+.5*BFU_GRX_HEIGHT,x+1+3.5*BFU_GRX_WIDTH,f);
+ drv->draw_hline(dev,x+1*BFU_GRX_WIDTH,y-1+.5*BFU_GRX_HEIGHT,x+1+3.5*BFU_GRX_WIDTH,f);
+ /* clear the rest */
+ drv->fill_area(dev,x,y,x+1*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+BFU_GRX_WIDTH,y+.5*BFU_GRX_HEIGHT+1,x+1+3.5*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+2+BFU_GRX_WIDTH,y,x+1+3.5*BFU_GRX_WIDTH,y-1+.5*BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+1+3.5*BFU_GRX_WIDTH,y,x+4*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ break;
+
+ case BFU_ELEMENT_TEE:
+ /* tee */
+ drv->draw_vline(dev,x+1*BFU_GRX_WIDTH,y,y+BFU_GRX_HEIGHT,f);
+ drv->draw_vline(dev,x+1+1*BFU_GRX_WIDTH,y,y+BFU_GRX_HEIGHT,f);
+ drv->draw_hline(dev,x+1*BFU_GRX_WIDTH,y+.5*BFU_GRX_HEIGHT,x+1+3.5*BFU_GRX_WIDTH,f);
+ drv->draw_hline(dev,x+1*BFU_GRX_WIDTH,y-1+.5*BFU_GRX_HEIGHT,x+1+3.5*BFU_GRX_WIDTH,f);
+ /* clear the rest */
+ drv->fill_area(dev,x,y,x+1*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+2+BFU_GRX_WIDTH,y+.5*BFU_GRX_HEIGHT+1,x+1+3.5*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+2+BFU_GRX_WIDTH,y,x+1+3.5*BFU_GRX_WIDTH,y-1+.5*BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+1+3.5*BFU_GRX_WIDTH,y,x+4*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ break;
+
+ case BFU_ELEMENT_CLOSED:
+ case BFU_ELEMENT_CLOSED_DOWN:
+ /* vertical line of the + */
+ drv->draw_vline(dev,x+1*BFU_GRX_WIDTH,y+1+.25*BFU_GRX_HEIGHT,y-1+.75*BFU_GRX_HEIGHT,f);
+ drv->draw_vline(dev,x+1+1*BFU_GRX_WIDTH,y+1+.25*BFU_GRX_HEIGHT,y-1+.75*BFU_GRX_HEIGHT,f);
+
+ /* clear around the + */
+ drv->fill_area(dev,x+2+.5*BFU_GRX_WIDTH,y+3,x+1.5*BFU_GRX_WIDTH,y+1+.25*BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+2+.5*BFU_GRX_WIDTH,y-1+.75*BFU_GRX_HEIGHT,x+1.5*BFU_GRX_WIDTH,y-3+BFU_GRX_HEIGHT,b);
+
+ drv->fill_area(dev,x+2+.5*BFU_GRX_WIDTH,y+1+.25*BFU_GRX_HEIGHT,x+BFU_GRX_WIDTH,y-1+.5*BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+2+BFU_GRX_WIDTH,y+1+.25*BFU_GRX_HEIGHT,x+1.5*BFU_GRX_WIDTH,y-1+.5*BFU_GRX_HEIGHT,b);
+
+ drv->fill_area(dev,x+2+.5*BFU_GRX_WIDTH,y+1+.5*BFU_GRX_HEIGHT,x+BFU_GRX_WIDTH,y-3+BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+2+BFU_GRX_WIDTH,y+1+.5*BFU_GRX_HEIGHT,x+1.5*BFU_GRX_WIDTH,y-3+BFU_GRX_HEIGHT,b);
+
+ case BFU_ELEMENT_OPEN:
+ case BFU_ELEMENT_OPEN_DOWN:
+ /* box */
+ drv->draw_vline(dev,x+2,y+1,y-1+BFU_GRX_HEIGHT,f);
+ drv->draw_vline(dev,x+3,y+1,y-1+BFU_GRX_HEIGHT,f);
+ drv->draw_vline(dev,x-1+2*BFU_GRX_WIDTH,y+1,y-1+BFU_GRX_HEIGHT,f);
+ drv->draw_vline(dev,x-2+2*BFU_GRX_WIDTH,y+1,y-1+BFU_GRX_HEIGHT,f);
+ drv->draw_hline(dev,x+4,y+1,x-2+2*BFU_GRX_WIDTH,f);
+ drv->draw_hline(dev,x+4,y+2,x-2+2*BFU_GRX_WIDTH,f);
+ drv->draw_hline(dev,x+4,y-2+BFU_GRX_HEIGHT,x-2+2*BFU_GRX_WIDTH,f);
+ drv->draw_hline(dev,x+4,y-3+BFU_GRX_HEIGHT,x-2+2*BFU_GRX_WIDTH,f);
+
+ /* horizontal line of the - */
+ drv->draw_hline(dev,x+2+.5*BFU_GRX_WIDTH,y+.5*BFU_GRX_HEIGHT,x+1.5*BFU_GRX_WIDTH,f);
+ drv->draw_hline(dev,x+2+.5*BFU_GRX_WIDTH,y-1+.5*BFU_GRX_HEIGHT,x+1.5*BFU_GRX_WIDTH,f);
+
+ /* line to title */
+ drv->draw_hline(dev,x+2*BFU_GRX_WIDTH,y+(BFU_GRX_HEIGHT>>1),x+1+3.5*BFU_GRX_WIDTH,f);
+ drv->draw_hline(dev,x+2*BFU_GRX_WIDTH,y-1+(BFU_GRX_HEIGHT>>1),x+1+3.5*BFU_GRX_WIDTH,f);
+
+ /* top and bottom short vertical line */
+ drv->draw_hline(dev,x+1*BFU_GRX_WIDTH,y,x+2+1*BFU_GRX_WIDTH,f);
+ drv->draw_hline(dev,x+1*BFU_GRX_WIDTH,y-1+BFU_GRX_HEIGHT,x+2+1*BFU_GRX_WIDTH,type == BFU_ELEMENT_OPEN || type == BFU_ELEMENT_CLOSED ? b : f);
+
+ /* clear the rest */
+ drv->draw_vline(dev,x,y,y+BFU_GRX_HEIGHT,b);
+ drv->draw_vline(dev,x+1,y,y+BFU_GRX_HEIGHT,b);
+ drv->draw_hline(dev,x+2,y,x+BFU_GRX_WIDTH,b);
+ drv->draw_hline(dev,x+2,y-1+BFU_GRX_HEIGHT,x+BFU_GRX_WIDTH,b);
+ drv->draw_hline(dev,x+2+BFU_GRX_WIDTH,y,x+2*BFU_GRX_WIDTH,b);
+ drv->draw_hline(dev,x+2+BFU_GRX_WIDTH,y-1+BFU_GRX_HEIGHT,x+2*BFU_GRX_WIDTH,b);
+ drv->fill_area(dev,x+2*BFU_GRX_WIDTH,y,x+1+3.5*BFU_GRX_WIDTH,y+.5*BFU_GRX_HEIGHT-1,b);
+ drv->fill_area(dev,x+2*BFU_GRX_WIDTH,y+1+.5*BFU_GRX_HEIGHT,x+1+3.5*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+4,y+3,x+2+.5*BFU_GRX_WIDTH,y-3+BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+1.5*BFU_GRX_WIDTH,y+3,x-2+2*BFU_GRX_WIDTH,y-3+BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+2+.5*BFU_GRX_WIDTH,y+3,x+1.5*BFU_GRX_WIDTH,y+1+.25*BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+2+.5*BFU_GRX_WIDTH,y-1+.75*BFU_GRX_HEIGHT,x+1.5*BFU_GRX_WIDTH,y-3+BFU_GRX_HEIGHT,b);
+ if (type==BFU_ELEMENT_OPEN || type == BFU_ELEMENT_OPEN_DOWN)
+ {
+ drv->fill_area(dev,x+2+.5*BFU_GRX_WIDTH,y+3,x+1.5*BFU_GRX_WIDTH,y-1+.5*BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+2+.5*BFU_GRX_WIDTH,y+1+.5*BFU_GRX_HEIGHT,x+1.5*BFU_GRX_WIDTH,y-3+BFU_GRX_HEIGHT,b);
+ }
+ drv->fill_area(dev,x+1+3.5*BFU_GRX_WIDTH,y,x+4*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ break;
+
+ default:
+ internal("draw_bfu_element: unknown BFU element type %d.\n",type);
+ }
+ if (!selected)
+ drv->fill_area(dev,x+4*BFU_GRX_WIDTH,y,x+5*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ else
+ {
+ drv->fill_area(dev,x+4*BFU_GRX_WIDTH,y,x+4.25*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+4.25*BFU_GRX_WIDTH,y,x+4.75*BFU_GRX_WIDTH,y+2.5*BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+4.25*BFU_GRX_WIDTH,y+.25*BFU_GRX_HEIGHT,x+4.75*BFU_GRX_WIDTH,y+.75*BFU_GRX_HEIGHT,f);
+ drv->fill_area(dev,x+4.25*BFU_GRX_WIDTH,y+.75*BFU_GRX_HEIGHT,x+4.75*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ drv->fill_area(dev,x+4.75*BFU_GRX_WIDTH,y,x+5*BFU_GRX_WIDTH,y+BFU_GRX_HEIGHT,b);
+ }
+
+ drv->set_clip_area(dev, &r);
+ return BFU_ELEMENT_WIDTH;
+ }
+#endif
+}
+
+
+/* aux structure for parameter exchange for redrawing list window */
+struct redraw_data
+{
+ struct list_description *ld;
+ struct dialog_data *dlg;
+ int n;
+};
+
+
+static void redraw_list(struct terminal *term, void *bla);
+
+/* returns next visible item in tree list */
+/* works only with visible items (head or any item returned by this function) */
+/* when list is flat returns next item */
+static struct list *next_in_tree(struct list_description *ld, struct list *item)
+{
+ int depth=item->depth;
+
+ /* flat list */
+ if (!(ld->type))return item->next;
+
+ if (!((item->type)&1)||((item->type)&2)) /* item or opened folder */
+ return item->next;
+ /* skip content of this folder */
+ do item=item->next; while (item->depth>depth); /* must stop on head 'cause it's depth is -1 */
+ return item;
+}
+
+
+/* returns previous visible item in tree list */
+/* works only with visible items (head or any item returned by this function) */
+/* when list is flat returns previous item */
+static struct list *prev_in_tree(struct list_description *ld, struct list *item)
+{
+ struct list *last_closed;
+ int depth=item->depth;
+
+ /* flat list */
+ if (!(ld->type))return item->prev;
+
+ if (item==ld->list)depth=0;
+
+ /* items with same or lower depth must be visible, because current item is visible */
+ if ((((struct list*)(item->prev))->depth)<=(item->depth))return item->prev;
+
+ /* find item followed with opened fotr's only */
+ /* searched item is last closed folder (going up from item) or item->prev */
+ last_closed=item->prev;
+ item=item->prev;
+ while (1)
+ {
+ if (((item->type)&3)==1)/* closed folder */
+ last_closed=item;
+ if ((item->depth)<=depth)break;
+ item=item->fotr;
+ }
+ return last_closed;
+}
+
+
+#ifdef G
+static int get_total_items(struct list_description *ld)
+{
+ struct list*l=ld->list;
+ int count=0;
+
+ do{
+ l=next_in_tree(ld,l);
+ count++;
+ }while(l!=ld->list);
+
+ return count;
+}
+
+
+static int get_scroll_pos(struct list_description *ld)
+{
+ struct list*l;
+ int count;
+
+ for (l=ld->list,count=0;l!=ld->win_offset;l=next_in_tree(ld,l),count++)
+ ;
+
+ return count;
+}
+
+
+static int get_visible_items(struct list_description *ld)
+{
+ struct list*l=ld->win_offset;
+ int count=0;
+
+ do{
+ l=next_in_tree(ld,l);
+ count++;
+ }while(count<ld->n_items&&l!=ld->list);
+
+ return count;
+}
+
+
+static struct list *find_last_in_window(struct list_description *ld)
+{
+ struct list*l=ld->win_offset;
+ struct list *x=l;
+ int count=0;
+
+ do{
+ l=next_in_tree(ld,l);
+ count++;
+ if (l!=ld->list&&count!=ld->n_items)x=l;
+ }while(count<ld->n_items&&l!=ld->list);
+
+ return x;
+}
+
+#endif
+
+
+static int get_win_pos(struct list_description *ld)
+{
+ struct list*l;
+ int count;
+
+ for (l=ld->win_offset,count=0;l!=ld->current_pos;l=next_in_tree(ld,l),count++)
+ ;
+
+ return count;
+}
+
+
+static void unselect_in_folder(struct list_description *ld, struct list *l)
+{
+ int depth;
+
+ depth=l->depth;
+ for(l=l->next;l!=ld->list&&l->depth>depth;l=l->next)
+ l->type&=~4;
+}
+
+
+/* aux function for list_item_add */
+static void list_insert_behind_item(struct dialog_data *dlg, void *p, void *i, struct list_description *ld)
+{
+ struct list *item=(struct list *)i;
+ struct list *pos=(struct list *)p;
+ struct list *a;
+ struct redraw_data rd;
+
+/* BEFORE: ... <----> pos <--(possible invisible items)--> a <----> ... */
+/* AFTER: ... <----> pos <--(possible invisible items)--> item <----> a <----> ... */
+
+ a=next_in_tree(ld,pos);
+ ((struct list*)(a->prev))->next=item;
+ item->prev=a->prev;
+ item->next=a;
+ a->prev=item;
+
+ /* if list is flat a->fotr will contain nosenses, but it won't crash ;-) */
+ if (((pos->type)&3)==3||(pos->depth)==-1){item->fotr=pos;item->depth=pos->depth+1;} /* open directory or head */
+ else {item->fotr=pos->fotr;item->depth=pos->depth;}
+
+ ld->current_pos=next_in_tree(ld,ld->current_pos); /* ld->current_pos->next==item */
+ ld->win_pos++;
+ if (ld->win_pos>ld->n_items-1) /* scroll down */
+ {
+ ld->win_pos=ld->n_items-1;
+ ld->win_offset=next_in_tree(ld,ld->win_offset);
+ }
+
+ ld->modified=1;
+
+ rd.ld=ld;
+ rd.dlg=dlg;
+ rd.n=0;
+
+ draw_to_window(dlg->win,redraw_list,&rd);
+}
+
+
+/* aux function for list_item_edit */
+/* copies data of src to dest and calls free on the src */
+/* first argument is argument passed to user function */
+static void list_copy_item(struct dialog_data *dlg, void *d, void *s, struct list_description *ld)
+{
+ struct list *src=(struct list *)s;
+ struct list *dest=(struct list *)d;
+ struct redraw_data rd;
+
+ ld->copy_item(src,dest);
+ ld->delete_item(src);
+
+ ld->modified=1; /* called after an successful edit */
+ rd.ld=ld;
+ rd.dlg=dlg;
+ rd.n=0;
+
+ draw_to_window(dlg->win,redraw_list,&rd);
+}
+
+
+/* creates new item (calling new_item function) and calls edit_item function */
+static int list_item_add(struct dialog_data *dlg,struct dialog_item_data *useless)
+{
+ struct list_description *ld=(struct list_description*)(dlg->dlg->udata2);
+ struct list *item=ld->current_pos;
+ struct list *new_item;
+
+ if (!(new_item=ld->new_item(ld->default_value ? ld->default_value((struct session*)(dlg->dlg->udata),0) : NULL)))return 1;
+ new_item->prev=0;
+ new_item->next=0;
+ new_item->type=0;
+ new_item->depth=0;
+
+ ld->edit_item(dlg,new_item,list_insert_behind_item,item,TITLE_ADD);
+ return 0;
+}
+
+
+/* like list_item_add but creates folder */
+static int list_folder_add(struct dialog_data *dlg,struct dialog_item_data *useless)
+{
+ struct list_description *ld=(struct list_description*)(dlg->dlg->udata2);
+ struct list *item=ld->current_pos;
+ struct list *new_item;
+
+ if (!(new_item=ld->new_item(NULL)))return 1;
+ new_item->prev=0;
+ new_item->next=0;
+ new_item->type=1;
+ new_item->depth=0;
+
+ ld->edit_item(dlg,new_item,list_insert_behind_item,item,TITLE_ADD);
+ return 0;
+}
+
+
+static int list_item_edit(struct dialog_data *dlg,struct dialog_item_data *useless)
+{
+ struct list_description *ld=(struct list_description*)(dlg->dlg->udata2);
+ struct list *item=ld->current_pos;
+ struct list *new_item;
+
+ if (item==ld->list)return 0; /* head */
+ if (!(new_item=ld->new_item(NULL)))return 1;
+ new_item->prev=0;
+ new_item->next=0;
+
+ ld->copy_item(item,new_item);
+ ld->edit_item(dlg,new_item,list_copy_item,item,TITLE_EDIT);
+
+ return 0;
+}
+
+
+static inline int is_parent(struct list_description *ld, struct list *item, struct list *parent)
+{
+ struct list *l;
+
+ if (ld->type)
+ for (l=item;l->depth>=0;l=l->fotr)
+ if (l==parent) return 1;
+ return 0;
+}
+
+static int list_item_move(struct dialog_data *dlg,struct dialog_item_data *useless)
+{
+ struct list_description *ld=(struct list_description*)(dlg->dlg->udata2);
+ struct list *i;
+ struct list *behind=ld->current_pos;
+ struct redraw_data rd;
+ int window_moved=0;
+ int count=0;
+
+ if (ld->current_pos->type&4) /* odznacime current_pos, kdyby nahodou byla oznacena */
+ {
+ count++;
+ ld->current_pos->type&=~4;
+ }
+
+ for (i=ld->list->next;i!=ld->list;)
+ {
+ struct list *next=next_in_tree(ld,i);
+ struct list *prev=i->prev;
+ struct list *behind_next=next_in_tree(ld,behind); /* to se musi pocitat pokazdy, protoze by se nam mohlo stat, ze to je taky oznaceny */
+ struct list *item_last=next->prev; /* last item of moved block */
+
+ if (is_parent(ld, ld->current_pos, i)) /* we're moving directory into itself - let's behave like item was not selected */
+ {
+ i->type&=~4;
+ i=next;
+ count++;
+ continue;
+ }
+ if (!(i->type&4)){i=next;continue;}
+
+ if ((i->type&3)==3) /* dirty trick */
+ {
+ i->type&=~2;
+ next=next_in_tree(ld,i);
+ prev=i->prev;
+ item_last=next->prev;
+ i->type|=2;
+ }
+
+ if (i==ld->win_offset)
+ {
+ window_moved=1;
+ if (next!=ld->list)ld->win_offset=next;
+ }
+
+ /* upravime fotrisko a hloubku */
+ if (ld->type)
+ {
+ int a=i->depth;
+ struct list *l=i;
+
+ if (((behind->type)&3)==3||behind==ld->list)/* open folder or head */
+ {i->fotr=behind;i->depth=behind->depth+1;}
+ else {i->fotr=behind->fotr;i->depth=behind->depth;}
+ a=i->depth-a;
+
+ /* poopravime hloubku v adresari */
+ if (l!=item_last)
+ {
+ do{
+ l=l->next;
+ l->depth+=a;
+ } while(l!=item_last);
+ }
+ }
+
+ if (behind_next==i)goto predratovano; /* to uz je vsechno, akorat menime hloubku */
+
+ /* predratujeme ukazatele kolem bloku na stare pozici */
+ prev->next=next;
+ next->prev=prev;
+
+ /* posuneme na novou pozici (tesne pred behind_next) */
+ i->prev=behind_next->prev;
+ ((struct list*)(behind_next->prev))->next=i;
+ item_last->next=behind_next;
+ behind_next->prev=item_last;
+
+predratovano:
+ /* odznacime */
+ i->type&=~4;
+ unselect_in_folder(ld,i);
+
+ /* upravime pointery pro dalsi krok */
+ behind=i;
+ i=next;
+ count++;
+ }
+
+ if (window_moved)
+ {
+ ld->current_pos=ld->win_offset;
+ ld->win_pos=0;
+ }
+ else
+ ld->win_pos=get_win_pos(ld);
+
+ if (!count)
+ msg_box(
+ dlg->win->term, /* terminal */
+ NULL, /* blocks to free */
+ TEXT_(T_MOVE), /* title */
+ AL_CENTER, /* alignment */
+ TEXT_(T_NO_ITEMS_SELECTED), /* text */
+ NULL, /* data */
+ 1, /* # of buttons */
+ TEXT_(T_CANCEL),NULL,B_ESC|B_ENTER /* button1 */
+ );
+ else
+ {
+ ld->modified=1;
+ rd.ld=ld;
+ rd.dlg=dlg;
+ rd.n=0;
+ draw_to_window(dlg->win,redraw_list,&rd);
+ }
+ return 0;
+}
+
+
+/* unselect all items */
+static int list_item_unselect(struct dialog_data *dlg,struct dialog_item_data *useless)
+{
+ struct list_description *ld=(struct list_description*)(dlg->dlg->udata2);
+ struct list *item=ld->current_pos;
+ struct redraw_data rd;
+
+ item=ld->list;
+ do{
+ item->type&=~4;
+ item=item->next;
+ }while(item!=ld->list);
+
+ rd.ld=ld;
+ rd.dlg=dlg;
+ rd.n=0;
+
+ draw_to_window(dlg->win,redraw_list,&rd);
+ return 0;
+}
+
+
+/* user button function - calls button_fn with current item */
+static int list_item_button(struct dialog_data *dlg, struct dialog_item_data *useless)
+{
+ struct list_description *ld=(struct list_description*)(dlg->dlg->udata2);
+ struct list *item=ld->current_pos;
+ struct session *ses=(struct session *)(dlg->dlg->udata);
+
+ if (!(ld->button_fn))internal("Links got schizophrenia! Call "BOHNICE".\n");
+
+ if (item==(ld->list)||list_empty(*item))return 0; /* head or empty list */
+
+ if (ld->type&&((item->type)&1))return 0; /* this is tree list and item is directory */
+
+ ld->button_fn(ses,item);
+ cancel_dialog(dlg, useless);
+ return 0;
+}
+
+
+struct ve_skodarne_je_jeste_vetsi_narez
+{
+ struct list_description* ld;
+ struct dialog_data *dlg;
+ struct list* item;
+};
+
+
+/* when delete is confirmed adjusts current_pos and calls delete function */
+static void delete_ok(void * data)
+{
+ struct list_description* ld=((struct ve_skodarne_je_jeste_vetsi_narez*)data)->ld;
+ struct list* item=((struct ve_skodarne_je_jeste_vetsi_narez*)data)->item;
+ struct dialog_data* dlg=((struct ve_skodarne_je_jeste_vetsi_narez*)data)->dlg;
+ struct redraw_data rd;
+
+ /* strong premise: we can't delete head of the list */
+ if (ld->current_pos->next!=ld->list) {
+ if (ld->current_pos == ld->win_offset) ld->win_offset = ld->current_pos->next;
+ ld->current_pos=ld->current_pos->next;
+ }
+ else /* last item */
+ {
+ if (!(ld->win_pos)) /* only one line on the screen */
+ ld->win_offset=prev_in_tree(ld,ld->win_offset);
+ else ld->win_pos--;
+ ld->current_pos=prev_in_tree(ld,ld->current_pos);
+ }
+
+ ld->delete_item(item);
+
+ rd.ld=ld;
+ rd.dlg=dlg;
+ rd.n=0;
+
+ ld->modified=1;
+ draw_to_window(dlg->win,redraw_list,&rd);
+}
+
+
+/* when delete folder is confirmed adjusts current_pos and calls delete function */
+static void delete_folder_recursively(void * data)
+{
+ struct list_description* ld=((struct ve_skodarne_je_jeste_vetsi_narez*)data)->ld;
+ struct list* item=((struct ve_skodarne_je_jeste_vetsi_narez*)data)->item;
+ struct dialog_data* dlg=((struct ve_skodarne_je_jeste_vetsi_narez*)data)->dlg;
+ struct redraw_data rd;
+ struct list *i,*j;
+ int depth;
+
+ for (i=item->next,depth=item->depth;i!=ld->list&&i->depth>depth;)
+ {
+ j=i;
+ i=i->next;
+ ld->delete_item(j);
+ }
+
+ /* strong premise: we can't delete head of the list */
+ if (ld->current_pos->next!=ld->list) {
+ if (ld->current_pos == ld->win_offset) ld->win_offset = ld->current_pos->next;
+ ld->current_pos=ld->current_pos->next;
+ }
+ else /* last item */
+ {
+ if (!(ld->win_pos)) /* only one line on the screen */
+ ld->win_offset=prev_in_tree(ld,ld->win_offset);
+ else ld->win_pos--;
+ ld->current_pos=prev_in_tree(ld,ld->current_pos);
+ }
+
+ ld->delete_item(item);
+
+ rd.ld=ld;
+ rd.dlg=dlg;
+ rd.n=0;
+
+ ld->modified=1;
+ draw_to_window(dlg->win,redraw_list,&rd);
+}
+
+
+/* tests if directory is emty */
+static int is_empty_dir(struct list_description *ld, struct list *dir)
+{
+ if (!(ld->type))return 1; /* flat list */
+ if (!((dir->type)&1))return 1; /* not a directory */
+
+ return (((struct list *)(dir->next))->depth<=dir->depth); /* head depth is -1 */
+}
+
+
+/* delete dialog */
+static int list_item_delete(struct dialog_data *dlg,struct dialog_item_data *useless)
+{
+ struct terminal *term=dlg->win->term;
+ struct list_description *ld=(struct list_description*)(dlg->dlg->udata2);
+ struct list *item=ld->current_pos;
+ /*struct session *ses=(struct session *)(dlg->dlg->udata);*/
+ unsigned char *txt;
+ struct ve_skodarne_je_jeste_vetsi_narez *narez;
+
+ if (item==(ld->list)||list_empty(*item))return 0; /* head or empty list */
+
+ narez=mem_alloc(sizeof(struct ve_skodarne_je_jeste_vetsi_narez));
+ narez->ld=ld;narez->item=item;narez->dlg=dlg;
+
+ txt=ld->type_item(term, item,0);
+ if (!txt)
+ {
+ txt=mem_alloc(sizeof(unsigned char));
+ *txt=0;
+ }
+
+ if ((item->type)&1) /* folder */
+ {
+ if (!is_empty_dir(ld,item))
+ msg_box(
+ term, /* terminal */
+ getml(txt,narez,NULL), /* blocks to free */
+ TEXT_(T_DELETE_FOLDER), /* title */
+ AL_CENTER|AL_EXTD_TEXT, /* alignment */
+ TEXT_(T_FOLDER)," \"",txt,"\" ",TEXT_(T_NOT_EMPTY_SURE_DELETE),NULL, /* text */
+ narez, /* data for ld->delete_item */
+ 2, /* # of buttons */
+ TEXT_(T_NO),NULL,B_ESC, /* button1 */
+ TEXT_(T_YES),delete_folder_recursively,B_ENTER /* button2 */
+ );
+ else
+ msg_box(
+ term, /* terminal */
+ getml(txt,narez,NULL), /* blocks to free */
+ TEXT_(T_DELETE_FOLDER), /* title */
+ AL_CENTER|AL_EXTD_TEXT, /* alignment */
+ TEXT_(T_SURE_DELETE)," ",TEXT_(T_fOLDER)," \"",txt,"\"?",NULL, /* null-terminated text */
+ narez, /* data for ld->delete_item */
+ 2, /* # of buttons */
+ TEXT_(T_YES),delete_ok,B_ENTER, /* button1 */
+ TEXT_(T_NO),NULL,B_ESC /* button2 */
+ );
+ }
+ else /* item */
+ msg_box(
+ term, /* terminal */
+ getml(txt,narez,NULL), /* blocks to free */
+ TEXT_(ld->delete_dialog_title), /* title */
+ AL_CENTER|AL_EXTD_TEXT, /* alignment */
+ TEXT_(T_SURE_DELETE)," ",TEXT_(ld->item_description)," \"",txt,"\"?",NULL, /* null-terminated text */
+ narez, /* data for ld->delete_item */
+ 2, /* # of buttons */
+ TEXT_(T_YES),delete_ok,B_ENTER, /* button1 */
+ TEXT_(T_NO),NULL,B_ESC /* button2 */
+ );
+ return 0;
+}
+
+static int redraw_list_element(struct terminal *term, struct dialog_data *dlg, int y, int w, struct list_description *ld, struct list *l)
+{
+ struct list *lx;
+ unsigned char *xp;
+ int xd;
+ unsigned char *txt;
+ int x=0;
+ int text_position;
+ unsigned color = 0;
+ long bgcolor = 0, fgcolor = 0;
+ int b, element;
+
+ if (!F) {
+ color=(l==ld->current_pos)?COLOR_MENU_SELECTED:COLOR_MENU_TEXT;
+#ifdef G
+ } else {
+ bgcolor=(l==ld->current_pos)?G_BFU_FG_COLOR:G_BFU_BG_COLOR;
+ fgcolor=(l==ld->current_pos)?G_BFU_BG_COLOR:G_BFU_FG_COLOR;
+
+ bgcolor=dip_get_color_sRGB(bgcolor);
+ fgcolor=dip_get_color_sRGB(fgcolor);
+#endif
+ }
+
+ txt=ld->type_item(term, l,1);
+ if (!txt)
+ {
+ txt=mem_alloc(sizeof(unsigned char));
+ *txt=0;
+ }
+
+ /* everything except head */
+
+ if (l != ld->list) {
+ switch (ld->type) {
+ case 0:
+ element = BFU_ELEMENT_TEE;
+ if (l->next == ld->list)
+ element = BFU_ELEMENT_L;
+ x+=draw_bfu_element(term,dlg->x+DIALOG_LB,y,color,bgcolor,fgcolor,element,(l->type)&4);
+ break;
+ case 1:
+ xp = mem_alloc(l->depth + 1);
+ memset(xp, 0, l->depth + 1);
+ xd = l->depth + 1;
+ for (lx = l->next; lx != ld->list; lx = lx->next) {
+ if (lx->depth < xd) {
+ xd = lx->depth;
+ xp[xd] = 1;
+ if (!xd) break;
+ }
+ }
+ for (b=0;b<l->depth;b++)
+ x+=draw_bfu_element(term,dlg->x+DIALOG_LB+x,y,color,bgcolor,fgcolor,xp[b] ? BFU_ELEMENT_PIPE : BFU_ELEMENT_EMPTY,0);
+ if (l->depth>=0) /* everything except head */
+ {
+ int o = xp[l->depth];
+ switch((l->type)&1)
+ {
+ case 0: /* item */
+ element=o ? BFU_ELEMENT_TEE : BFU_ELEMENT_L;
+ break;
+
+ case 1: /* directory */
+ if (l->type & 2) {
+ element = o ? BFU_ELEMENT_OPEN_DOWN : BFU_ELEMENT_OPEN;
+ } else {
+ element = o ? BFU_ELEMENT_CLOSED_DOWN : BFU_ELEMENT_CLOSED;
+ }
+ break;
+
+ default: /* this should never happen */
+ internal("=8-Q lunacy level too high! Call "BOHNICE".\n");
+ element=BFU_ELEMENT_EMPTY;
+
+ }
+ x+=draw_bfu_element(term,dlg->x+DIALOG_LB+x,y,color,bgcolor,fgcolor,element,(l->type)&4);
+ }
+ mem_free(xp);
+ break;
+ default:
+ internal(
+ "Invalid list description type.\n"
+ "Somebody's probably shooting into memory.\n"
+ "_______________\n"
+ "`--|_____|--|___ `\\\n"
+ " \" \\___\\\n");
+ }
+ }
+
+ text_position = x;
+ if (!F)
+ {
+ print_text(term,dlg->x+x+DIALOG_LB,y,w-x,txt,color);
+ x+=cp_len(term->spec->charset, txt);
+ fill_area(term,dlg->x+DIALOG_LB+x,y,w-x,1,' ',0);
+ set_line_color(term,dlg->x+DIALOG_LB+x,y,w-x,color);
+ }
+#ifdef G
+ else
+ {
+ struct rect old_area;
+ struct style* stl=(l==ld->current_pos)?bfu_style_wb:bfu_style_bw;
+
+ restrict_clip_area(term->dev,&old_area,dlg->x+x+DIALOG_LB,y,dlg->x+DIALOG_LB+w,y+G_BFU_FONT_SIZE);
+ g_print_text(drv,term->dev,dlg->x+x+DIALOG_LB,y,stl,txt,0);
+ x+=g_text_width(stl,txt);
+ drv->fill_area(term->dev,dlg->x+DIALOG_LB+x,y,dlg->x+DIALOG_LB+w,y+G_BFU_FONT_SIZE,bgcolor);
+ drv->set_clip_area(term->dev,&old_area);
+ if (dlg->s)exclude_from_set(&(dlg->s),dlg->x+DIALOG_LB,y,dlg->x+DIALOG_LB+w,y+G_BFU_FONT_SIZE);
+ }
+#endif
+ mem_free(txt);
+ return text_position;
+}
+
+/* redraws list */
+static void redraw_list(struct terminal *term, void *bla)
+{
+ struct redraw_data* rd=(struct redraw_data *)bla;
+ struct list_description *ld=rd->ld;
+ struct dialog_data *dlg=rd->dlg;
+ /*struct session *ses=(struct session*)(dlg->dlg->udata);*/
+ int y,a;
+ struct list *l;
+ int w=dlg->xw-2*DIALOG_LB-(F?sirka_scrollovadla:0);
+ y=dlg->y+DIALOG_TB;
+
+#ifdef G
+ if (F)
+ {
+ int total=get_total_items(ld);
+ int visible=get_visible_items(ld);
+ int pos=get_scroll_pos(ld);
+ struct rect old_area;
+
+ restrict_clip_area(term->dev,&old_area,dlg->x+w+DIALOG_LB+G_SCROLL_BAR_WIDTH,y,dlg->x+DIALOG_LB+w+sirka_scrollovadla,y+G_BFU_FONT_SIZE*ld->n_items);
+ drv->set_clip_area(term->dev,&old_area);
+ draw_vscroll_bar(term->dev,dlg->x+DIALOG_LB+w+G_SCROLL_BAR_WIDTH,y,G_BFU_FONT_SIZE*ld->n_items,total,visible,pos);
+ if (dlg->s)exclude_from_set(&(dlg->s),dlg->x+DIALOG_LB+w+G_SCROLL_BAR_WIDTH,y,dlg->x+DIALOG_LB+w+sirka_scrollovadla,y+G_BFU_FONT_SIZE*ld->n_items);
+ }
+#endif
+
+ for (a=0,l=ld->win_offset;a<ld->n_items;) {
+ redraw_list_element(term, dlg, y, w, ld, l);
+ l=next_in_tree(ld, l);
+ a++;
+ y+=gf_val(1,G_BFU_FONT_SIZE);
+ if (l==ld->list) break;
+ }
+ if (!F) fill_area(term,dlg->x+DIALOG_LB,y,w,ld->n_items-a,' ',COLOR_MENU_TEXT);
+#ifdef G
+ else {
+ drv->fill_area(term->dev,dlg->x+DIALOG_LB,y,dlg->x+DIALOG_LB+w,dlg->y+DIALOG_TB+(ld->n_items)*G_BFU_FONT_SIZE,dip_get_color_sRGB(G_BFU_BG_COLOR));
+ if (dlg->s) exclude_from_set(&(dlg->s),dlg->x+DIALOG_LB,y,dlg->x+DIALOG_LB+w,dlg->y+DIALOG_TB+(ld->n_items)*G_BFU_FONT_SIZE);
+ }
+#endif
+}
+
+
+/* moves cursor from old position to a new one */
+/* direction: -1=old is previous, +1=old is next */
+static void redraw_list_line(struct terminal *term, void *bla)
+{
+ struct redraw_data *rd=(struct redraw_data *)bla;
+ struct list_description *ld=rd->ld;
+ struct dialog_data *dlg=rd->dlg;
+ /*struct session *ses=(struct session *)(dlg->dlg->udata);*/
+ int direction=rd->n;
+ int w=dlg->xw-2*DIALOG_LB-(F?sirka_scrollovadla:0);
+ int y=dlg->y+DIALOG_TB+gf_val(ld->win_pos,ld->win_pos*G_BFU_FONT_SIZE);
+ struct list *l;
+
+ redraw_list_element(term, dlg, y, w, ld, ld->current_pos);
+ if (!F && (!term->spec->block_cursor || term->spec->braille)) {
+ set_cursor(term, dlg->x + DIALOG_LB, y, dlg->x + DIALOG_LB, y);
+ }
+ y+=gf_val(direction, direction*G_BFU_FONT_SIZE);
+ switch (direction) {
+ case 0:
+ l = NULL;
+ break;
+ case 1:
+ l = next_in_tree(ld, ld->current_pos);
+ break;
+ case -1:
+ l = prev_in_tree(ld, ld->current_pos);
+ break;
+ default:
+ internal("redraw_list_line: invalid direction %d", direction);
+ l = NULL;
+ break;
+ }
+ if (l) redraw_list_element(term, dlg, y, w, ld, l);
+}
+
+
+/* like redraw_list, but scrolls window, prints new line to top/bottom */
+/* in text mode calls redraw list */
+/* direction: -1=up, 1=down */
+static void scroll_list(struct terminal *term, void *bla)
+{
+#ifdef G
+ struct redraw_data *rd=(struct redraw_data *)bla;
+ struct list_description *ld=rd->ld;
+ struct dialog_data *dlg=rd->dlg;
+ int direction=rd->n;
+ struct rect_set *set;
+#endif
+
+ if (!F)
+ {
+ redraw_list(term, bla);
+#ifdef G
+ }
+ else
+ {
+ struct rect old_area;
+ struct graphics_device *dev=term->dev;
+ int w=dlg->xw-2*DIALOG_LB-sirka_scrollovadla;
+ int y=dlg->y+DIALOG_TB;
+ int top=0,bottom=0;
+
+ switch(direction)
+ {
+ case 1: /* down */
+ top=G_BFU_FONT_SIZE;
+ break;
+
+ case -1: /* up */
+ bottom=-G_BFU_FONT_SIZE;
+ break;
+
+ default:
+ internal("Wrong direction %d in function scroll_list.\n",direction);
+ }
+
+ restrict_clip_area(term->dev,&old_area,dlg->x+DIALOG_LB,y+top,dlg->x+DIALOG_LB+w,y+bottom+G_BFU_FONT_SIZE*(ld->n_items));
+ if (drv->flags & GD_DONT_USE_SCROLL)
+ goto redraw_all;
+ set=NULL;
+ drv->vscroll(dev,&set,top+bottom);
+
+ if (set) /* redraw rectangles in the set - we cannot redraw particular rectangles, we are only able to redraw whole window */
+ {
+ mem_free(set);
+redraw_all:
+ redraw_list(term, bla);
+ }
+ drv->set_clip_area(term->dev,&old_area);
+
+ /* redraw scroll bar */
+ {
+ int total=get_total_items(ld);
+ int visible=get_visible_items(ld);
+ int pos=get_scroll_pos(ld);
+ struct rect old_area;
+
+ restrict_clip_area(term->dev,&old_area,dlg->x+w+DIALOG_LB+G_SCROLL_BAR_WIDTH,y,dlg->x+DIALOG_LB+w+sirka_scrollovadla,y+G_BFU_FONT_SIZE*ld->n_items);
+ drv->set_clip_area(term->dev,&old_area);
+ draw_vscroll_bar(term->dev,dlg->x+DIALOG_LB+w+G_SCROLL_BAR_WIDTH,y,G_BFU_FONT_SIZE*ld->n_items,total,visible,pos);
+ if (dlg->s)exclude_from_set(&(dlg->s),dlg->x+DIALOG_LB+w+G_SCROLL_BAR_WIDTH,y,dlg->x+DIALOG_LB+w+sirka_scrollovadla,y+G_BFU_FONT_SIZE*ld->n_items);
+ }
+
+#endif
+ }
+}
+
+
+static void list_find_next(struct redraw_data *rd, int direction)
+{
+ struct list_description *ld=rd->ld;
+ struct dialog_data *dlg=rd->dlg;
+ struct session *ses=(struct session *)(dlg->dlg->udata);
+ struct list* item;
+
+ if (!ld->search_word) {msg_box(ses->term, NULL, TEXT_(T_SEARCH), AL_CENTER, TEXT_(T_NO_PREVIOUS_SEARCH), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC); return;}
+
+ if ((item=ld->find_item(ld->current_pos,ld->search_word,direction)))
+ {
+ struct list *l;
+ ld->current_pos=item;
+ ld->win_offset=item;
+ ld->win_pos=0;
+ if (ld->type)
+ for (l=item;l->depth>=0;l=l->fotr)
+ if (l!=item) l->type|=2;
+
+ draw_to_window(dlg->win,redraw_list,rd);
+ if (!F) if (!ses->term->spec->block_cursor || ses->term->spec->braille) set_cursor(ses->term, dlg->x + DIALOG_LB, dlg->y+DIALOG_TB+ld->win_pos, dlg->x + DIALOG_LB, dlg->y+DIALOG_TB+ld->win_pos);
+ }
+ else
+ msg_box(ses->term, NULL, TEXT_(T_SEARCH), AL_CENTER, TEXT_(T_SEARCH_STRING_NOT_FOUND), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+
+}
+
+static void list_search_for_back(struct redraw_data *rd, unsigned char *str)
+{
+ struct list_description *ld=rd->ld;
+
+ if (!*str) return;
+ if (!ld->open) return;
+
+ if (ld->search_word) mem_free(ld->search_word);
+ ld->search_word = to_utf8_upcase(str, rd->dlg->win->term->spec->charset);
+ ld->search_direction = -1;
+
+ list_find_next(rd, ld->search_direction);
+}
+
+static void list_search_for(struct redraw_data *rd, unsigned char *str)
+{
+ struct list_description *ld=rd->ld;
+
+ if (!*str) return;
+ if (!ld->open) return;
+
+ if (ld->search_word) mem_free(ld->search_word);
+ ld->search_word = to_utf8_upcase(str, rd->dlg->win->term->spec->charset);
+ ld->search_direction = 1;
+
+ list_find_next(rd, ld->search_direction);
+}
+
+static int list_event_handler(struct dialog_data *dlg, struct event *ev)
+{
+ struct list_description *ld=(struct list_description*)(dlg->dlg->udata2);
+ static struct redraw_data rd;
+ struct session *ses=(struct session *)(dlg->dlg->udata);
+
+ rd.ld=ld;
+ rd.dlg=dlg;
+
+ switch ((int)ev->ev)
+ {
+ case EV_KBD:
+ if (ld->type==1) /* tree list */
+ {
+ if (ev->x==' ') /* toggle folder */
+ {
+ if (!((ld->current_pos->type)&1))return EVENT_PROCESSED; /* item */
+
+ ld->current_pos->type^=2;
+ if (!(ld->current_pos->type&2))unselect_in_folder(ld, ld->current_pos);
+ rd.n=0;
+ draw_to_window(dlg->win,redraw_list,&rd);
+ return EVENT_PROCESSED;
+ }
+ if (ev->x=='+'||ev->x=='=') /* open folder */
+ {
+ if (!((ld->current_pos->type)&1))return EVENT_PROCESSED; /* item */
+ if ((ld->current_pos->type)&2)return EVENT_PROCESSED; /* already open */
+
+ ld->current_pos->type|=2;
+ rd.n=0;
+ draw_to_window(dlg->win,redraw_list,&rd);
+ return EVENT_PROCESSED;
+ }
+ if (ev->x=='-') /* close folder */
+ {
+ if (!((ld->current_pos->type)&1))return EVENT_PROCESSED; /* item */
+ if (!((ld->current_pos->type)&2))return EVENT_PROCESSED; /* already closed */
+
+ ld->current_pos->type&=~2;
+ unselect_in_folder(ld,ld->current_pos);
+ rd.n=0;
+ draw_to_window(dlg->win,redraw_list,&rd);
+ return EVENT_PROCESSED;
+ }
+ }
+ if (ev->x=='/') /* search forward */
+ {
+ struct redraw_data *r;
+
+ r=mem_alloc(sizeof(struct redraw_data));
+ r->ld=ld;
+ r->dlg=dlg;
+
+ input_field(ses->term, getml(r,NULL), TEXT_(T_SEARCH), TEXT_(T_SEARCH_FOR_TEXT), r, ld->search_history, MAX_INPUT_URL_LEN, "", 0, 0, NULL, TEXT_(T_OK), (void (*)(void *, unsigned char *)) list_search_for, TEXT_(T_CANCEL), NULL, NULL);
+ return EVENT_PROCESSED;
+ }
+ if (ev->x=='?') /* search back */
+ {
+ struct redraw_data *r;
+
+ r=mem_alloc(sizeof(struct redraw_data));
+ r->ld=ld;
+ r->dlg=dlg;
+
+ input_field(ses->term, getml(r,NULL), TEXT_(T_SEARCH_BACK), TEXT_(T_SEARCH_FOR_TEXT), r, ld->search_history, MAX_INPUT_URL_LEN, "", 0, 0, NULL, TEXT_(T_OK), (void (*)(void *, unsigned char *)) list_search_for_back, TEXT_(T_CANCEL), NULL, NULL);
+ return EVENT_PROCESSED;
+ }
+ if (ev->x=='n') /* find next */
+ {
+
+ list_find_next(&rd, ld->search_direction);
+ return EVENT_PROCESSED;
+ }
+ if (ev->x=='N') /* find prev */
+ {
+ list_find_next(&rd, - ld->search_direction);
+ return EVENT_PROCESSED;
+ }
+ if (ev->x==KBD_UP)
+ {
+ if (ld->current_pos==ld->list)return EVENT_PROCESSED; /* already on the top */
+ ld->current_pos=prev_in_tree(ld,ld->current_pos);
+ ld->win_pos--;
+ rd.n=+1;
+ if (ld->win_pos<0) /* scroll up */
+ {
+ ld->win_pos=0;
+ ld->win_offset=prev_in_tree(ld,ld->win_offset);
+ draw_to_window(dlg->win,scroll_list,&rd);
+ }
+ draw_to_window(dlg->win,redraw_list_line,&rd);
+ return EVENT_PROCESSED;
+ }
+ if (ev->x=='i'||ev->x=='*'||ev->x=='8'||ev->x==KBD_INS)
+ {
+ if (ld->current_pos!=ld->list)ld->current_pos->type^=4;
+ rd.n=-1;
+ if (next_in_tree(ld,ld->current_pos)==ld->list) /* already at the bottom */
+ {
+ draw_to_window(dlg->win,redraw_list_line,&rd);
+ return EVENT_PROCESSED;
+ }
+ ld->current_pos=next_in_tree(ld,ld->current_pos);
+ ld->win_pos++;
+ if (ld->win_pos>ld->n_items-1) /* scroll down */
+ {
+ ld->win_pos=ld->n_items-1;
+ ld->win_offset=next_in_tree(ld,ld->win_offset);
+ draw_to_window(dlg->win,scroll_list,&rd);
+ }
+ draw_to_window(dlg->win,redraw_list_line,&rd);
+ return EVENT_PROCESSED;
+ }
+ if (ev->x==KBD_DOWN)
+ {
+ if (next_in_tree(ld,ld->current_pos)==ld->list)return EVENT_PROCESSED; /* already at the bottom */
+ ld->current_pos=next_in_tree(ld,ld->current_pos);
+ ld->win_pos++;
+ rd.n=-1;
+ if (ld->win_pos>ld->n_items-1) /* scroll down */
+ {
+ ld->win_pos=ld->n_items-1;
+ ld->win_offset=next_in_tree(ld,ld->win_offset);
+ draw_to_window(dlg->win,scroll_list,&rd);
+ }
+ draw_to_window(dlg->win,redraw_list_line,&rd);
+ return EVENT_PROCESSED;
+ }
+ if (ev->x==KBD_HOME || (upcase(ev->x) == 'A' && ev->y & KBD_CTRL))
+ {
+ if (ld->current_pos==ld->list)return EVENT_PROCESSED; /* already on the top */
+ ld->win_offset=ld->list;
+ ld->current_pos=ld->win_offset;
+ ld->win_pos=0;
+ rd.n=0;
+ draw_to_window(dlg->win,redraw_list,&rd);
+ draw_to_window(dlg->win,redraw_list_line,&rd); /* set cursor */
+ return EVENT_PROCESSED;
+ }
+ if (ev->x==KBD_END || (upcase(ev->x) == 'E' && ev->y & KBD_CTRL))
+ {
+ int a;
+
+ if (ld->current_pos==prev_in_tree(ld,ld->list))return EVENT_PROCESSED; /* already on the top */
+ ld->win_offset=prev_in_tree(ld,ld->list);
+ for (a=1;a<ld->n_items&&ld->win_offset!=ld->list;a++)
+ ld->win_offset=prev_in_tree(ld,ld->win_offset);
+ ld->current_pos=prev_in_tree(ld,ld->list);
+ ld->win_pos=a-1;
+ rd.n=0;
+ draw_to_window(dlg->win,redraw_list,&rd);
+ draw_to_window(dlg->win,redraw_list_line,&rd); /* set cursor */
+ return EVENT_PROCESSED;
+ }
+ if (ev->x==KBD_PAGE_UP || (upcase(ev->x) == 'B' && ev->y & KBD_CTRL))
+ {
+ int a;
+
+ if (ld->current_pos==ld->list)return EVENT_PROCESSED; /* already on the top */
+ for (a=0;a<ld->n_items&&ld->win_offset!=ld->list;a++)
+ {
+ ld->win_offset=prev_in_tree(ld,ld->win_offset);
+ ld->current_pos=prev_in_tree(ld,ld->current_pos);
+ }
+ if (a<ld->n_items){ld->current_pos=ld->win_offset;ld->win_pos=0;}
+ rd.n=0;
+ draw_to_window(dlg->win,redraw_list,&rd);
+ draw_to_window(dlg->win,redraw_list_line,&rd); /* set cursor */
+ return EVENT_PROCESSED;
+ }
+ if (ev->x==KBD_PAGE_DOWN || (upcase(ev->x) == 'F' && ev->y & KBD_CTRL))
+ {
+ int a;
+ struct list*p=ld->win_offset;
+
+ if (ld->current_pos==prev_in_tree(ld,ld->list))return EVENT_PROCESSED; /* already on the bottom */
+ for (a=0;a<ld->n_items&&ld->list!=next_in_tree(ld,p);a++)
+ p=next_in_tree(ld,p);
+ if (a<ld->n_items) /* already last screen */
+ {
+ ld->current_pos=p;
+ ld->win_pos=a;
+ rd.n=0;
+ draw_to_window(dlg->win,redraw_list,&rd);
+ draw_to_window(dlg->win,redraw_list_line,&rd); /* set cursor */
+ return EVENT_PROCESSED;
+ }
+ /* here is whole screen only - the window was full before pressing the page-down key */
+ /* p is pointing behind last item of the window (behind last visible item in the window) */
+ for (a=0;a<ld->n_items&&p!=ld->list;a++)
+ {
+ ld->win_offset=next_in_tree(ld,ld->win_offset);
+ ld->current_pos=next_in_tree(ld,ld->current_pos);
+ p=next_in_tree(ld,p);
+ }
+ if (a<ld->n_items){ld->current_pos=prev_in_tree(ld,ld->list);ld->win_pos=ld->n_items-1;}
+ rd.n=0;
+ draw_to_window(dlg->win,redraw_list,&rd);
+ draw_to_window(dlg->win,redraw_list_line,&rd); /* set cursor */
+ return EVENT_PROCESSED;
+ }
+ break;
+
+ case EV_MOUSE:
+ /* toggle select item */
+ if ((ev->b&BM_ACT)==B_DOWN&&(ev->b&BM_BUTT)==B_RIGHT)
+ {
+ int n,a;
+ struct list *l=ld->win_offset;
+
+ last_mouse_y=ev->y;
+
+ if (
+ (ev->y)<(dlg->y+DIALOG_TB)||
+ (ev->y)>=(dlg->y+DIALOG_TB+gf_val(ld->n_items,G_BFU_FONT_SIZE*(ld->n_items)))||
+ (ev->x)<(dlg->x+DIALOG_LB)||
+ (ev->x)>(dlg->x+dlg->xw-DIALOG_LB-(F?sirka_scrollovadla:0))
+ )break; /* out of the dialog */
+
+ n=(ev->y-dlg->y-DIALOG_TB)/gf_val(1,G_BFU_FONT_SIZE);
+ for (a=0;a<n;a++)
+ {
+ struct list *l1;
+ l1=next_in_tree(ld,l); /* current item under the mouse pointer */
+ if (l1==ld->list)goto break2;
+ else l=l1;
+ }
+ a=ld->type?((l->depth)>=0?(l->depth)+1:0):(l->depth>=0);
+
+ l->type^=4;
+ ld->current_pos=l;
+ ld->win_pos=n;
+ rd.n=0;
+ draw_to_window(dlg->win,redraw_list,&rd);
+ draw_to_window(dlg->win,redraw_list_line,&rd); /* set cursor */
+ return EVENT_PROCESSED;
+ }
+ /* click on item */
+ if (((ev->b&BM_ACT)==B_DOWN || (ev->b&BM_ACT)==B_DRAG)&&(ev->b&BM_BUTT)==B_LEFT)
+ {
+ int n,a;
+ struct list *l=ld->win_offset;
+
+ last_mouse_y=ev->y;
+
+ if (
+ (ev->y)<(dlg->y+DIALOG_TB)||
+ (ev->y)>=(dlg->y+DIALOG_TB+gf_val(ld->n_items,G_BFU_FONT_SIZE*(ld->n_items)))||
+ (ev->x)<(dlg->x+DIALOG_LB)||
+ (ev->x)>(dlg->x+dlg->xw-DIALOG_LB-(F?sirka_scrollovadla:0))
+ )goto skip_item_click; /* out of the dialog */
+
+ n=(ev->y-dlg->y-DIALOG_TB)/gf_val(1,G_BFU_FONT_SIZE);
+ for (a=0;a<n;a++)
+ {
+ struct list *l1;
+ l1=next_in_tree(ld,l); /* current item under the mouse pointer */
+ if (l1==ld->list) {
+ n=a;
+ break;
+ }
+ else l=l1;
+ }
+ a=ld->type?((l->depth)>=0?(l->depth)+1:0):(l->depth>=0);
+
+ ld->current_pos=l;
+
+ /* clicked on directory graphical stuff */
+ if ((ev->b&BM_ACT)==B_DOWN&&(ld->type)&&(ev->x)<(dlg->x+DIALOG_LB+a*BFU_ELEMENT_WIDTH)&&((l->type)&1))
+ {
+ l->type^=2;
+ if (!(l->type&2))unselect_in_folder(ld, ld->current_pos);
+ }
+ ld->win_pos=n;
+ rd.n=0;
+ draw_to_window(dlg->win,redraw_list,&rd);
+ draw_to_window(dlg->win,redraw_list_line,&rd); /* set cursor */
+ return EVENT_PROCESSED;
+ }
+ /* scroll with the bar */
+ skip_item_click:
+#ifdef G
+ if (F&&(((ev->b&BM_ACT)==B_DRAG||(ev->b&BM_ACT)==B_DOWN||(ev->b&BM_ACT)==B_UP)&&(ev->b&BM_BUTT)==B_LEFT))
+ {
+ int total=get_total_items(ld);
+ int scroll_pos;
+ int redraw_all;
+ int rep = 0;
+ signed long delta;
+ long h=ld->n_items*G_BFU_FONT_SIZE;
+
+ if (
+ (ev->y)<(dlg->y+DIALOG_TB)||
+ (ev->y)>=(dlg->y+DIALOG_TB+G_BFU_FONT_SIZE*(ld->n_items))||
+ (ev->x)<(dlg->x+dlg->xw-DIALOG_LB-G_SCROLL_BAR_WIDTH)||
+ (ev->x)>(dlg->x+dlg->xw-DIALOG_LB)
+ )break; /* out of the dialog */
+
+ again:
+ rep++;
+ if (rep > total) return EVENT_PROCESSED;
+ scroll_pos=get_scroll_pos(ld);
+ delta=(ev->y-dlg->y-DIALOG_TB)*total/h-scroll_pos;
+
+ last_mouse_y=ev->y;
+
+ if (delta>0) /* scroll down */
+ {
+ struct list *lll=find_last_in_window(ld);
+
+ if (next_in_tree(ld,lll)==ld->list)return EVENT_PROCESSED; /* already at the bottom */
+ redraw_all = ld->current_pos != lll;
+ ld->current_pos=next_in_tree(ld,lll);
+ ld->win_offset=next_in_tree(ld,ld->win_offset);
+ ld->win_pos=ld->n_items-1;
+ rd.n=-1;
+ if (!redraw_all) {
+ draw_to_window(dlg->win,scroll_list,&rd);
+ draw_to_window(dlg->win,redraw_list_line,&rd);
+ } else {
+ draw_to_window(dlg->win,redraw_list,&rd);
+ }
+ goto again;
+ }
+ if (delta<0) /* scroll up */
+ {
+ if (ld->win_offset==ld->list)return EVENT_PROCESSED; /* already on the top */
+ redraw_all = ld->current_pos != ld->win_offset;
+ ld->win_offset=prev_in_tree(ld,ld->win_offset);
+ ld->current_pos=ld->win_offset;
+ ld->win_pos=0;
+ rd.n=+1;
+ if (!redraw_all) {
+ draw_to_window(dlg->win,scroll_list,&rd);
+ draw_to_window(dlg->win,redraw_list_line,&rd);
+ } else {
+ draw_to_window(dlg->win,redraw_list,&rd);
+ }
+ goto again;
+ }
+ return EVENT_PROCESSED;
+
+ }
+#endif
+ if ((ev->b&BM_ACT)==B_DRAG&&(ev->b&BM_BUTT)==B_MIDDLE)
+ {
+ long delta=(ev->y-last_mouse_y)/MOUSE_SCROLL_DIVIDER;
+
+ last_mouse_y=ev->y;
+ if (delta>0) /* scroll down */
+ {
+ if (next_in_tree(ld,ld->current_pos)==ld->list)return EVENT_PROCESSED; /* already at the bottom */
+ ld->current_pos=next_in_tree(ld,ld->current_pos);
+ ld->win_pos++;
+ rd.n=-1;
+ if (ld->win_pos>ld->n_items-1) /* scroll down */
+ {
+ ld->win_pos=ld->n_items-1;
+ ld->win_offset=next_in_tree(ld,ld->win_offset);
+ draw_to_window(dlg->win,scroll_list,&rd);
+ }
+ draw_to_window(dlg->win,redraw_list_line,&rd);
+ }
+ if (delta<0) /* scroll up */
+ {
+ if (ld->current_pos==ld->list)return EVENT_PROCESSED; /* already on the top */
+ ld->current_pos=prev_in_tree(ld,ld->current_pos);
+ ld->win_pos--;
+ rd.n=+1;
+ if (ld->win_pos<0) /* scroll up */
+ {
+ ld->win_pos=0;
+ ld->win_offset=prev_in_tree(ld,ld->win_offset);
+ draw_to_window(dlg->win,scroll_list,&rd);
+ }
+ draw_to_window(dlg->win,redraw_list_line,&rd);
+ }
+ return EVENT_PROCESSED;
+
+ }
+ /* mouse wheel */
+ if ((ev->b&BM_ACT)==B_MOVE&&((ev->b&BM_BUTT)==B_WHEELUP||(ev->b&BM_BUTT)==B_WHEELDOWN||(ev->b&BM_BUTT)==B_WHEELDOWN1||(ev->b&BM_BUTT)==B_WHEELUP1))
+ {
+ int button=(ev->b)&BM_BUTT;
+ last_mouse_y=ev->y;
+
+ if (button==B_WHEELDOWN||button==B_WHEELDOWN1) /* scroll down */
+ {
+ if (next_in_tree(ld,ld->current_pos)==ld->list)return EVENT_PROCESSED; /* already at the bottom */
+ ld->current_pos=next_in_tree(ld,ld->current_pos);
+ ld->win_pos++;
+ rd.n=-1;
+ if (ld->win_pos>ld->n_items-1) /* scroll down */
+ {
+ ld->win_pos=ld->n_items-1;
+ ld->win_offset=next_in_tree(ld,ld->win_offset);
+ draw_to_window(dlg->win,scroll_list,&rd);
+ }
+ draw_to_window(dlg->win,redraw_list_line,&rd);
+ }
+ if (button==B_WHEELUP||button==B_WHEELUP1) /* scroll up */
+ {
+ if (ld->current_pos==ld->list)return EVENT_PROCESSED; /* already on the top */
+ ld->current_pos=prev_in_tree(ld,ld->current_pos);
+ ld->win_pos--;
+ rd.n=+1;
+ if (ld->win_pos<0) /* scroll up */
+ {
+ ld->win_pos=0;
+ ld->win_offset=prev_in_tree(ld,ld->win_offset);
+ draw_to_window(dlg->win,scroll_list,&rd);
+ }
+ draw_to_window(dlg->win,redraw_list_line,&rd);
+ }
+ return EVENT_PROCESSED;
+
+ }
+ break2:
+ break;
+
+ case EV_INIT:
+ case EV_RESIZE:
+ case EV_REDRAW:
+ case EV_ABORT:
+ break;
+
+ default:
+ internal("Unknown event received: %d", ev->ev);
+
+ }
+ return EVENT_NOT_PROCESSED;
+}
+
+
+/* display function for the list window */
+static void create_list_window_fn(struct dialog_data *dlg)
+{
+ struct terminal *term=dlg->win->term;
+ struct list_description *ld=(struct list_description*)(dlg->dlg->udata2);
+ int min=0;
+ int w,rw,y;
+ int n_items;
+ struct redraw_data rd;
+
+ int a=6;
+
+ ld->dlg=dlg;
+ if (ld->button_fn)a++; /* user button */
+ if (ld->type==1)a++; /* add directory button */
+
+ y = 0;
+ min_buttons_width(term, dlg->items, a, &min);
+
+ w = term->x * 19 / 20 - 2 * DIALOG_LB;
+ if (w<min)w=min;
+ if (w>term->x-2*DIALOG_LB)w=term->x-2*DIALOG_LB;
+ if (w<5)w=5;
+
+ rw=0;
+ dlg_format_buttons(dlg, NULL, dlg->items, a, 0, &y, w, &rw, AL_CENTER);
+
+ n_items = term->y - y;
+ if (!term->spec->braille)
+ n_items -= gf_val(2, 3) * DIALOG_TB + gf_val(2, 2*G_BFU_FONT_SIZE);
+ else
+ n_items -= 2;
+#ifdef G
+ if (F) n_items /= G_BFU_FONT_SIZE;
+#endif
+ if (n_items < 2) n_items = 2;
+ ld->n_items = n_items;
+
+ while (ld->win_pos > ld->n_items - 1) {
+ ld->current_pos=prev_in_tree(ld,ld->current_pos);
+ ld->win_pos--;
+ }
+
+ y += gf_val(ld->n_items,ld->n_items*G_BFU_FONT_SIZE);
+
+ rw=w;
+ dlg->xw=rw+2*DIALOG_LB;
+ dlg->yw=y+2*DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+
+ rd.ld=ld;
+ rd.dlg=dlg;
+ rd.n=0;
+
+ draw_to_window(dlg->win,redraw_list,&rd);
+
+ y=dlg->y+DIALOG_TB+gf_val(ld->n_items+1,(ld->n_items+1)*G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, term, dlg->items, a, dlg->x+DIALOG_LB, &y, w, &rw, AL_CENTER);
+}
+
+
+static void close_list_window(struct dialog_data *dlg)
+{
+ struct dialog *d=dlg->dlg;
+ struct list_description *ld=(struct list_description*)(d->udata2);
+
+ ld->open=0;
+ ld->dlg=NULL;
+ if (ld->search_word) mem_free(ld->search_word);
+ ld->search_word=NULL;
+ if (ld->save) ld->save(d->udata);
+}
+
+int test_list_window_in_use(struct list_description *ld, struct terminal *term)
+{
+ if (ld->open) {
+ if (term)
+ msg_box(
+ term,
+ NULL,
+ TEXT_(T_INFO),
+ AL_CENTER,
+ TEXT_(ld->already_in_use),
+ NULL,
+ 1,
+ TEXT_(T_CANCEL),NULL,B_ENTER|B_ESC
+ );
+ return 1;
+ }
+ return 0;
+}
+
+/* dialog->udata2 ... list_description */
+/* dialog->udata ... session */
+int create_list_window(
+ struct list_description *ld,
+ struct list *list,
+ struct terminal *term,
+ struct session *ses
+ )
+{
+ struct dialog *d;
+ int a;
+
+ /* zavodime, zavodime... */
+ if (test_list_window_in_use(ld, term))
+ return 1;
+ ld->open=1;
+
+ if (!ld->current_pos)
+ {
+ ld->current_pos=list;
+ ld->win_offset=list;
+ ld->win_pos=0;
+ ld->dlg=NULL;
+ }
+
+ a=7;
+ if (ld->button_fn)a++;
+ if (ld->type==1)a++;
+
+ d = mem_calloc(sizeof(struct dialog) + a * sizeof(struct dialog_item));
+
+ d->title=TEXT_(ld->window_title);
+ d->fn=create_list_window_fn;
+ d->abort=close_list_window;
+ d->handle_event=list_event_handler;
+ d->udata=ses;
+ d->udata2=ld;
+
+ a=0;
+
+ if (ld->button_fn)
+ {
+ d->items[a].type=D_BUTTON;
+ d->items[a].fn=list_item_button;
+ d->items[a].text=TEXT_(ld->button);
+ a++;
+ }
+
+ if (ld->type==1)
+ {
+ d->items[a].type=D_BUTTON;
+ d->items[a].text=TEXT_(T_FOLDER);
+ d->items[a].fn=list_folder_add;
+ a++;
+ }
+
+ d->items[a].type=D_BUTTON;
+ d->items[a].text=TEXT_(T_ADD);
+ d->items[a].fn=list_item_add;
+
+ d->items[a+1].type=D_BUTTON;
+ d->items[a+1].text=TEXT_(T_DELETE);
+ d->items[a+1].fn=list_item_delete;
+
+ d->items[a+2].type=D_BUTTON;
+ d->items[a+2].text=TEXT_(T_EDIT);
+ d->items[a+2].fn=list_item_edit;
+
+ d->items[a+3].type=D_BUTTON;
+ d->items[a+3].text=TEXT_(T_MOVE);
+ d->items[a+3].fn=list_item_move;
+
+ d->items[a+4].type=D_BUTTON;
+ d->items[a+4].text=TEXT_(T_UNSELECT_ALL);
+ d->items[a+4].fn=list_item_unselect;
+
+ d->items[a+5].type=D_BUTTON;
+ d->items[a+5].gid=B_ESC;
+ d->items[a+5].fn=cancel_dialog;
+ d->items[a+5].text=TEXT_(T_CLOSE);
+
+ d->items[a+6].type=D_END;
+ do_dialog(term, d, getml(d, NULL));
+ return 0;
+}
+
+
+void reinit_list_window(struct list_description *ld)
+{
+ ld->current_pos=ld->list;
+ ld->win_offset=ld->list;
+ ld->win_pos=0;
+
+ if (ld->open) internal("reinit_list_window: calling reinit while open");
+}
+
+
diff --git a/lru.c b/lru.c
new file mode 100644
index 0000000..7fe2cc5
--- /dev/null
+++ b/lru.c
@@ -0,0 +1,102 @@
+/* lru.c
+ * LRU cache
+ * (c) 2002 Karel 'Clock' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "cfg.h"
+
+#ifdef G
+
+#include "links.h"
+
+void lru_insert(struct lru *cache, void *entry, struct lru_entry ** row,
+ unsigned bytes_consumed)
+{
+ struct lru_entry *new_entry=mem_alloc(sizeof(*new_entry));
+
+ new_entry->above=NULL;
+ new_entry->below=cache->top;
+ new_entry->next=*row;
+ new_entry->previous=row;
+ new_entry->data=entry;
+ new_entry->bytes_consumed=bytes_consumed;
+ if (new_entry->below){
+ new_entry->below->above=new_entry;
+ }else{
+ cache->bottom=new_entry;
+ }
+ if (new_entry->next){
+ new_entry->next->previous=&(new_entry->next);
+ }
+ *row=new_entry;
+ cache->top=new_entry;
+ cache->bytes+=bytes_consumed;
+ cache->items++;
+}
+
+/* Returns bottom (or NULL if the cache is empty) but doesn't
+ * unlink it.
+ */
+void * lru_get_bottom(struct lru *cache)
+{
+ if (!cache->bottom) return NULL;
+ return cache->bottom->data;
+}
+
+/* Destroys bottom on nonempty cache. If the cache is empty, segmentation
+ * fault results.
+ */
+void lru_destroy_bottom(struct lru* cache)
+{
+ struct lru_entry *it=cache->bottom;
+
+ cache->bytes-=cache->bottom->bytes_consumed;
+ cache->items--;
+ cache->bottom=it->above;
+ if (cache->bottom) cache->bottom->below=NULL; else cache->top=NULL;
+
+ if (it->next){
+ it->next->previous=it->previous;
+ }
+ *(it->previous)=it->next;
+ mem_free(it);
+}
+
+/* Returns a value of "data"
+ * template is what we search for.
+ */
+void *lru_lookup(struct lru *cache, void *template, struct lru_entry *ptr)
+{
+ while (ptr){
+ if (!cache->compare_function(ptr->data,template)){
+ /* Found */
+ if (ptr->above){
+ if (ptr->below){
+ ptr->below->above=ptr->above;
+ }else{
+ cache->bottom=ptr->above;
+ }
+ ptr->above->below=ptr->below;
+ ptr->above=NULL;
+ ptr->below=cache->top;
+ cache->top->above=ptr;
+ cache->top=ptr;
+ }
+ return ptr->data;
+ }
+ ptr=ptr->next;
+ }
+ return NULL;
+}
+
+void lru_init (struct lru *cache, int (*compare_function)(void *entry, void *template))
+{
+ cache->compare_function=compare_function;
+ cache->top=NULL;
+ cache->bottom=NULL;
+ cache->bytes=0;
+ cache->items=0;
+}
+
+#endif
diff --git a/mailcap.pl b/mailcap.pl
new file mode 100755
index 0000000..c0ea2e7
--- /dev/null
+++ b/mailcap.pl
@@ -0,0 +1,51 @@
+#!/usr/bin/perl -w
+# mailcap to links.cfg converter (aka quick hack)
+# version 1.00 by <grin@tolna.net>
+# Released under GPLv2 or later
+#
+# Usage: mailcap-convert.pl /etc/mailcap >> ~/.links/links.cfg
+#
+
+print "association \"-=BEGIN DEBIAN CONVERT=-\" \"\" \"\" 23 1\n";
+while( <> ) {
+ chomp;
+ next if /^\s*(#|$)/;
+ @fields = split /;\s*/;
+ # change %s to % in the command
+ $fields[1] =~ s/%s/%/g;
+
+ my @out = ( "External association", $fields[0], $fields[1] );
+
+ for( my $i=2; $i<=$#fields; $i++ ) {
+ if( $fields[$i] =~ m/description="?([^"]+)"?/ ) {
+ # description
+ $out[0] = $1;
+ } elsif( $fields[$i] =~ m/nametemplate=(.+)/ ) {
+ # extension for the mime type
+ my $ext = $1;
+ $ext =~ s/%s\.(.+)$/$1/;
+ &new_ext($ext,$fields[0]);
+ }
+ }
+ &new_assoc( \@out );
+}
+print "association \"-=END DEBIAN CONVERT=-\" \"\" \"\" 23 1\n";
+
+sub new_assoc {
+ my $aref = shift;
+ print "association ";
+ for my $i (0..2) {
+ print "\"$aref->[$i]\" ";
+ }
+ print "23 1\n";
+}
+
+sub new_ext {
+ print "extension";
+ for my $i (0..1) {
+ print " \"$_[$i]\"";
+ }
+ print "\n";
+}
+
+
diff --git a/mailto.c b/mailto.c
new file mode 100644
index 0000000..3ac3525
--- /dev/null
+++ b/mailto.c
@@ -0,0 +1,98 @@
+/* mailto.c
+ * mailto:// processing
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+
+static void prog_func(struct terminal *term, struct list_head *list, unsigned char *param, unsigned char *name)
+{
+ unsigned char *prog, *cmd;
+ if (!(prog = get_prog(list)) || !*prog) {
+ msg_box(term, NULL, TEXT_(T_NO_PROGRAM), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_NO_PROGRAM_SPECIFIED_FOR), " ", name, ".", NULL, NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return;
+ }
+ if ((cmd = subst_file(prog, param, 0))) {
+ exec_on_terminal(term, cmd, "", 1);
+ mem_free(cmd);
+ }
+}
+
+void mailto_func(struct session *ses, unsigned char *url)
+{
+ unsigned char *user, *host, *m;
+ int f = 1;
+ if (!(user = get_user_name(url))) goto fail;
+ if (!(host = get_host_name(url))) goto fail1;
+ m = mem_alloc(strlen(user) + strlen(host) + 2);
+ f = 0;
+ strcpy(m, user);
+ strcat(m, "@");
+ strcat(m, host);
+ check_shell_security(&m);
+ prog_func(ses->term, &mailto_prog, m, TEXT_(T_MAIL));
+ mem_free(m);
+ mem_free(host);
+ fail1:
+ mem_free(user);
+ fail:
+ if (f) msg_box(ses->term, NULL, TEXT_(T_BAD_URL_SYNTAX), AL_CENTER, TEXT_(T_BAD_MAILTO_URL), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+}
+
+static void tn_func(struct session *ses, unsigned char *url, struct list_head *prog, unsigned char *t1, unsigned char *t2)
+{
+ unsigned char *m;
+ unsigned char *h, *p;
+ int hl, pl;
+ unsigned char *hh, *pp = NULL /* against warning */;
+ int f = 1;
+ if (parse_url(url, NULL, NULL, NULL, NULL, NULL, &h, &hl, &p, &pl, NULL, NULL, NULL) || !hl) goto fail;
+ if (!(hh = memacpy(h, hl))) goto fail;
+ if (pl && !(pp = memacpy(p, pl))) goto fail1;
+ check_shell_security(&hh);
+ if (pl) check_shell_security(&pp);
+ m = mem_alloc(strlen(hh) + (pl ? strlen(pp) : 0) + 2);
+ f = 0;
+ strcpy(m, hh);
+ if (pl) {
+ strcat(m, " ");
+ strcat(m, pp);
+ m[hl + 1 + pl] = 0;
+ }
+ prog_func(ses->term, prog, m, t1);
+ mem_free(m);
+ if (pl) mem_free(pp);
+ fail1:
+ mem_free(hh);
+ fail:
+ if (f) msg_box(ses->term, NULL, TEXT_(T_BAD_URL_SYNTAX), AL_CENTER, t2, NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+}
+
+
+void telnet_func(struct session *ses, unsigned char *url)
+{
+ tn_func(ses, url, &telnet_prog, TEXT_(T_TELNET), TEXT_(T_BAD_TELNET_URL));
+}
+
+void tn3270_func(struct session *ses, unsigned char *url)
+{
+ tn_func(ses, url, &tn3270_prog, TEXT_(T_TN3270), TEXT_(T_BAD_TN3270_URL));
+}
+
+void magnet_func(struct session *ses, unsigned char *url)
+{
+ unsigned char *escaped_url = escape_path(url);
+ prog_func(ses->term, &magnet_prog, escaped_url, TEXT_(T_MAGNET));
+ mem_free(escaped_url);
+}
+
+void mms_func(struct session *ses, unsigned char *url)
+{
+ if (check_shell_url(url)) {
+ msg_box(ses->term, NULL, TEXT_(T_BAD_URL_SYNTAX), AL_CENTER, TEXT_(T_MMS_URL_CONTAINS_INACCEPTABLE_CHARACTERS), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return;
+ }
+ prog_func(ses->term, &mms_prog, url, TEXT_(T_MMS));
+}
diff --git a/main.c b/main.c
new file mode 100644
index 0000000..0b56fa3
--- /dev/null
+++ b/main.c
@@ -0,0 +1,457 @@
+/* main.c
+ * main()
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+int retval = RET_OK;
+
+static void unhandle_basic_signals(struct terminal *);
+static void poll_fg(void *);
+
+#ifdef WIN32
+static void sig_terminate(struct terminal *t)
+{
+ unhandle_basic_signals(t);
+ terminate_loop = 1;
+ retval = RET_SIGNAL;
+}
+#endif
+
+static void sig_intr(struct terminal *t)
+{
+ if (!t) {
+ unhandle_basic_signals(t);
+ terminate_loop = 1;
+ } else {
+ unhandle_basic_signals(t);
+ exit_prog(t, NULL, NULL);
+ }
+}
+
+static void sig_ctrl_c(struct terminal *t)
+{
+ if (!is_blocked()) kbd_ctrl_c();
+}
+
+#ifdef SIGTTOU
+static void sig_ign(void *x)
+{
+}
+#endif
+
+static int fg_poll_timer = -1;
+
+void sig_tstp(struct terminal *t)
+{
+#if defined(SIGSTOP) && !defined(NO_CTRL_Z)
+#if defined(SIGCONT) && defined(SIGTTOU) && defined(HAVE_GETPID)
+ pid_t pid, newpid;
+ EINTRLOOP(pid, getpid());
+#endif
+ if (!F) {
+ block_itrm(1);
+ }
+#ifdef G
+ else {
+ drv->block(NULL);
+ }
+#endif
+#if defined(SIGCONT) && defined(SIGTTOU) && defined(HAVE_GETPID)
+ EINTRLOOP(newpid, fork());
+ if (!newpid) {
+ while (1) {
+ int rr;
+ sleep(1);
+ EINTRLOOP(rr, kill(pid, SIGCONT));
+ }
+ }
+#endif
+ {
+ int rr;
+ EINTRLOOP(rr, raise(SIGSTOP));
+ }
+#if defined(SIGCONT) && defined(SIGTTOU) && defined(HAVE_GETPID)
+ if (newpid != -1) {
+ int rr;
+ EINTRLOOP(rr, kill(newpid, SIGKILL));
+ }
+#endif
+#endif
+ if (fg_poll_timer != -1) kill_timer(fg_poll_timer);
+ fg_poll_timer = install_timer(FG_POLL_TIME, poll_fg, t);
+}
+
+static void poll_fg(void *t)
+{
+ int r;
+ fg_poll_timer = -1;
+ if (!F) {
+ r = unblock_itrm(1);
+#ifdef G
+ } else {
+ r = drv->unblock(NULL);
+#endif
+ }
+ if (r == -1) {
+ fg_poll_timer = install_timer(FG_POLL_TIME, poll_fg, t);
+ }
+ if (r == -2) {
+ /* This will unblock externally spawned viewer, if it exists */
+#ifdef SIGCONT
+ EINTRLOOP(r, kill(0, SIGCONT));
+#endif
+ }
+}
+
+void sig_cont(struct terminal *t)
+{
+ if (!F) {
+ unblock_itrm(1);
+#ifdef G
+ } else {
+ drv->unblock(NULL);
+#endif
+ }
+ /*else register_bottom_half(raise, SIGSTOP);*/
+}
+
+static void handle_basic_signals(struct terminal *term)
+{
+ install_signal_handler(SIGHUP, (void (*)(void *))sig_intr, term, 0);
+ if (!F) install_signal_handler(SIGINT, (void (*)(void *))sig_ctrl_c, term, 0);
+ /*install_signal_handler(SIGTERM, (void (*)(void *))sig_terminate, term, 0);*/
+#ifdef WIN32
+ install_signal_handler(SIGQUIT, (void (*)(void *))sig_terminate, term, 0);
+#endif
+#ifdef SIGTSTP
+ if (!F) install_signal_handler(SIGTSTP, (void (*)(void *))sig_tstp, term, 0);
+#endif
+#ifdef SIGTTIN
+ if (!F) install_signal_handler(SIGTTIN, (void (*)(void *))sig_tstp, term, 0);
+#endif
+#ifdef SIGTTOU
+ install_signal_handler(SIGTTOU, (void (*)(void *))sig_ign, term, 0);
+#endif
+#ifdef SIGCONT
+ if (!F) install_signal_handler(SIGCONT, (void (*)(void *))sig_cont, term, 0);
+#endif
+}
+
+void unhandle_terminal_signals(struct terminal *term)
+{
+ install_signal_handler(SIGHUP, NULL, NULL, 0);
+ if (!F) install_signal_handler(SIGINT, NULL, NULL, 0);
+#ifdef SIGTSTP
+ install_signal_handler(SIGTSTP, NULL, NULL, 0);
+#endif
+#ifdef SIGTTIN
+ install_signal_handler(SIGTTIN, NULL, NULL, 0);
+#endif
+#ifdef SIGTTOU
+ install_signal_handler(SIGTTOU, NULL, NULL, 0);
+#endif
+#ifdef SIGCONT
+ install_signal_handler(SIGCONT, NULL, NULL, 0);
+#endif
+ if (fg_poll_timer != -1) kill_timer(fg_poll_timer), fg_poll_timer = -1;
+}
+
+void unhandle_basic_signals(struct terminal *term)
+{
+ install_signal_handler(SIGHUP, NULL, NULL, 0);
+ if (!F) install_signal_handler(SIGINT, NULL, NULL, 0);
+ /*install_signal_handler(SIGTERM, NULL, NULL, 0);*/
+#ifdef SIGTSTP
+ install_signal_handler(SIGTSTP, NULL, NULL, 0);
+#endif
+#ifdef SIGTTIN
+ install_signal_handler(SIGTTIN, NULL, NULL, 0);
+#endif
+#ifdef SIGTTOU
+ install_signal_handler(SIGTTOU, NULL, NULL, 0);
+#endif
+#ifdef SIGCONT
+ install_signal_handler(SIGCONT, NULL, NULL, 0);
+#endif
+ if (fg_poll_timer != -1) kill_timer(fg_poll_timer), fg_poll_timer = -1;
+}
+
+static int terminal_pipe[2];
+
+int attach_terminal(int in, int out, int ctl, void *info, int len)
+{
+ struct terminal *term;
+ int rs;
+ EINTRLOOP(rs, fcntl(terminal_pipe[0], F_SETFL, O_NONBLOCK));
+ EINTRLOOP(rs, fcntl(terminal_pipe[1], F_SETFL, O_NONBLOCK));
+ handle_trm(in, out, out, terminal_pipe[1], ctl, info, len);
+ mem_free(info);
+ if ((term = init_term(terminal_pipe[0], out, win_func))) {
+ handle_basic_signals(term); /* OK, this is race condition, but it must be so; GPM installs it's own buggy TSTP handler */
+ return terminal_pipe[1];
+ }
+ EINTRLOOP(rs, close(terminal_pipe[0]));
+ EINTRLOOP(rs, close(terminal_pipe[1]));
+ return -1;
+}
+
+#ifdef G
+
+int attach_g_terminal(void *info, int len)
+{
+ struct terminal *term;
+ term = init_gfx_term(win_func, info, len);
+ mem_free(info);
+ return term ? 0 : -1;
+}
+
+#endif
+
+static struct object_request *dump_obj;
+static off_t dump_pos;
+
+static void end_dump(struct object_request *r, void *p)
+{
+ struct cache_entry *ce;
+ int oh;
+ if (!r->state || (r->state == 1 && dmp != D_SOURCE)) return;
+ if ((oh = get_output_handle()) == -1) return;
+ ce = r->ce;
+ if (dmp == D_SOURCE) {
+ if (ce) {
+ struct fragment *frag;
+ nextfrag:
+ foreach(frag, ce->frag) if (frag->offset <= dump_pos && frag->offset + frag->length > dump_pos) {
+ int l = frag->length - (dump_pos - frag->offset);
+ int w = hard_write(oh, frag->data + dump_pos - frag->offset, l);
+ if (w != l) {
+ detach_object_connection(r, dump_pos);
+ if (w < 0) fprintf(stderr, "Error writing to stdout: %s.\n", strerror(errno));
+ else fprintf(stderr, "Can't write to stdout.\n");
+ retval = RET_ERROR;
+ goto terminate;
+ }
+ dump_pos += w;
+ detach_object_connection(r, dump_pos);
+ goto nextfrag;
+ }
+ }
+ if (r->state >= 0) return;
+ } else if (ce) {
+ struct document_options o;
+ struct f_data_c *fd;
+ if (!(fd = create_f_data_c(NULL, NULL))) goto terminate;
+ memset(&o, 0, sizeof(struct document_options));
+ o.xp = 0;
+ o.yp = 1;
+ o.xw = screen_width;
+ o.yw = 25;
+ o.col = 0;
+ o.cp = dump_codepage == -1 ? 0 : dump_codepage;
+ ds2do(&dds, &o, 0);
+ o.plain = 0;
+ o.frames = 0;
+ o.js_enable = 0;
+ o.framename = "";
+ if (!(fd->f_data = cached_format_html(fd, r, r->url, &o, NULL))) goto term_1;
+ dump_to_file(fd->f_data, oh);
+ term_1:
+ reinit_f_data_c(fd);
+ mem_free(fd);
+ }
+ if (r->state != O_OK) {
+ unsigned char *m = get_err_msg(r->stat.state);
+ fprintf(stderr, "%s\n", get_english_translation(m));
+ retval = RET_ERROR;
+ goto terminate;
+ }
+ terminate:
+ terminate_loop = 1;
+}
+
+int g_argc;
+unsigned char **g_argv;
+
+unsigned char *path_to_exe;
+
+static unsigned char init_b = 0;
+
+static void initialize_all_subsystems(void);
+static void initialize_all_subsystems_2(void);
+
+static void init(void)
+{
+ int uh;
+ void *info;
+ int len;
+ unsigned char *u;
+ int rs;
+
+ initialize_all_subsystems();
+
+ utf8_table = get_cp_index("UTF-8");
+
+/* OS/2 has some stupid bug and the pipe must be created before socket :-/ */
+ if (c_pipe(terminal_pipe)) {
+ error("ERROR: can't create pipe for internal communication");
+ retval = RET_FATAL;
+ goto ttt;
+ }
+ if (!(u = parse_options(g_argc - 1, g_argv + 1))) {
+ retval = RET_SYNTAX;
+ goto ttt;
+ }
+ if (ggr_drv[0] || ggr_mode[0]) ggr = 1;
+ if (dmp) ggr = 0;
+ if (!dmp && !ggr) {
+ init_os_terminal();
+ }
+ if (!ggr && !no_connect && (uh = bind_to_af_unix()) != -1) {
+ EINTRLOOP(rs, close(terminal_pipe[0]));
+ EINTRLOOP(rs, close(terminal_pipe[1]));
+ if (!(info = create_session_info(base_session, u, default_target, &len))) {
+ EINTRLOOP(rs, close(uh));
+ retval = RET_FATAL;
+ goto ttt;
+ }
+ initialize_all_subsystems_2();
+ handle_trm(get_input_handle(), get_output_handle(), uh, uh, get_ctl_handle(), info, len);
+ handle_basic_signals(NULL); /* OK, this is race condition, but it must be so; GPM installs it's own buggy TSTP handler */
+ mem_free(info);
+ return;
+ }
+ if ((dds.assume_cp = get_cp_index("ISO-8859-1")) == -1) dds.assume_cp = 0;
+ load_config();
+ init_b = 1;
+ init_bookmarks();
+ create_initial_extensions();
+ load_url_history();
+ init_cookies();
+ u = parse_options(g_argc - 1, g_argv + 1);
+ if (!u) {
+ ttt:
+ initialize_all_subsystems_2();
+ tttt:
+ terminate_loop = 1;
+ return;
+ }
+ if (!dmp) {
+ if (ggr) {
+#ifdef G
+ unsigned char *r;
+ if ((r = init_graphics(ggr_drv, ggr_mode, ggr_display))) {
+ fprintf(stderr, "%s", r);
+ mem_free(r);
+ retval = RET_SYNTAX;
+ goto ttt;
+ }
+ handle_basic_signals(NULL);
+ init_dither(drv->depth);
+ F = 1;
+#else
+ fprintf(stderr, "Graphics not enabled when compiling\n");
+ retval = RET_SYNTAX;
+ goto ttt;
+#endif
+ }
+ initialize_all_subsystems_2();
+ if (!((info = create_session_info(base_session, u, default_target, &len)) && gf_val(attach_terminal(get_input_handle(), get_output_handle(), get_ctl_handle(), info, len), attach_g_terminal(info, len)) != -1)) {
+ error("Could not open initial session");
+ retval = RET_FATAL;
+ goto tttt;
+ }
+ } else {
+ unsigned char *uu, *wd;
+ initialize_all_subsystems_2();
+ EINTRLOOP(rs, close(terminal_pipe[0]));
+ EINTRLOOP(rs, close(terminal_pipe[1]));
+ if (!*u) {
+ fprintf(stderr, "URL expected after %s\n", dmp == D_DUMP ? "-dump" : "-source");
+ retval = RET_SYNTAX;
+ goto tttt;
+ }
+ if (!(uu = translate_url(u, wd = get_cwd()))) uu = stracpy(u);
+ request_object(NULL, uu, NULL, PRI_MAIN, NC_RELOAD, end_dump, NULL, &dump_obj);
+ mem_free(uu);
+ if (wd) mem_free(wd);
+ }
+}
+
+/* Is called before gaphics driver init */
+static void initialize_all_subsystems(void)
+{
+ init_trans();
+ set_sigcld();
+ init_home();
+ init_dns();
+ init_cache();
+ iinit_bfu();
+ memset(&dd_opt, 0, sizeof dd_opt);
+}
+
+/* Is called sometimes after and sometimes before graphics driver init */
+static void initialize_all_subsystems_2(void)
+{
+ GF(init_dip());
+ init_bfu();
+ GF(init_imgcache());
+ init_fcache();
+ GF(init_grview());
+}
+
+static void terminate_all_subsystems(void)
+{
+ if (!F) af_unix_close();
+ check_bottom_halves();
+ abort_all_downloads();
+#ifdef HAVE_SSL
+ ssl_finish();
+#endif
+ check_bottom_halves();
+ destroy_all_terminals();
+ check_bottom_halves();
+ shutdown_bfu();
+ if (!F) free_all_itrms();
+ release_object(&dump_obj);
+ abort_all_connections();
+
+ free_all_caches();
+ if (init_b) save_url_history();
+ free_history_lists();
+ free_term_specs();
+ free_types();
+ free_blocks();
+ if (init_b) finalize_bookmarks();
+ free_conv_table();
+ free_blacklist();
+ if (init_b) cleanup_cookies();
+ cleanup_auth();
+ check_bottom_halves();
+ end_config();
+ free_strerror_buf();
+ shutdown_trans();
+ GF(shutdown_graphics());
+ terminate_osdep();
+ if (clipboard) mem_free(clipboard);
+ if (fg_poll_timer != -1) kill_timer(fg_poll_timer), fg_poll_timer = -1;
+}
+
+int main(int argc, char *argv[])
+{
+ g_argc = argc;
+ g_argv = (unsigned char **)argv;
+
+ init_os();
+
+ get_path_to_exe();
+
+ select_loop(init);
+ terminate_all_subsystems();
+
+ check_memory_leaks();
+ return retval;
+}
+
diff --git a/memory.c b/memory.c
new file mode 100644
index 0000000..e39bc7f
--- /dev/null
+++ b/memory.c
@@ -0,0 +1,153 @@
+/* memory.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+struct cache_upcall {
+ struct cache_upcall *next;
+ struct cache_upcall *prev;
+ int (*upcall)(int);
+ unsigned char name[1];
+};
+
+static struct list_head cache_upcalls = { &cache_upcalls, &cache_upcalls }; /* cache_upcall */
+
+int shrink_memory(int type)
+{
+ struct cache_upcall *c;
+ int a = 0;
+ foreach(c, cache_upcalls) a |= c->upcall(type);
+#if defined(HAVE__HEAPMIN)
+ {
+ static time_t last_heapmin = 0;
+ if (a & ST_SOMETHING_FREED || time(NULL) - last_heapmin >= 10) {
+ _heapmin();
+ time(&last_heapmin);
+ }
+ }
+#endif
+ return a;
+}
+
+void register_cache_upcall(int (*upcall)(int), unsigned char *name)
+{
+ struct cache_upcall *c;
+ c = mem_alloc(sizeof(struct cache_upcall) + strlen(name) + 1);
+ c->upcall = upcall;
+ strcpy(c->name, name);
+ add_to_list(cache_upcalls, c);
+}
+
+void free_all_caches(void)
+{
+ struct cache_upcall *c;
+ int a, b;
+ do {
+ a = 0;
+ b = ~0;
+ foreach(c, cache_upcalls) {
+ int x = c->upcall(SH_FREE_ALL);
+ a |= x;
+ b &= x;
+ }
+ } while (a & ST_SOMETHING_FREED);
+ if (!(b & ST_CACHE_EMPTY)) {
+ unsigned char *m = init_str();
+ int l = 0;
+ foreach(c, cache_upcalls) if (!(c->upcall(SH_FREE_ALL) & ST_CACHE_EMPTY)) {
+ if (l) add_to_str(&m, &l, ", ");
+ add_to_str(&m, &l, c->name);
+ }
+ internal("could not release entries from caches: %s", m);
+ mem_free(m);
+ }
+ free_list(cache_upcalls);
+}
+
+int malloc_try_hard = 0;
+
+int out_of_memory(unsigned char *msg, size_t size)
+{
+ int sh = shrink_memory(SH_FREE_SOMETHING);
+ if (sh & ST_SOMETHING_FREED) return 1;
+ if (!malloc_try_hard) {
+ malloc_try_hard = 1;
+ return 1;
+ }
+ if (!msg) return 0;
+
+ fprintf(stderr, "\n");
+ fprintf(stderr, "File cache: %lu bytes, %lu files, %lu locked, %lu loading\n", cache_info(CI_BYTES), cache_info(CI_FILES), cache_info(CI_LOCKED), cache_info(CI_LOADING));
+#ifdef HAVE_ANY_COMPRESSION
+ fprintf(stderr, "Decompressed cache: %lu bytes, %lu files, %lu locked\n", decompress_info(CI_BYTES), decompress_info(CI_FILES), decompress_info(CI_LOCKED));
+#endif
+#ifdef G
+ if (F) {
+ fprintf(stderr, "Image cache: %lu bytes, %lu files, %lu locked\n", imgcache_info(CI_BYTES), imgcache_info(CI_FILES), imgcache_info(CI_LOCKED));
+ }
+#endif
+ fprintf(stderr, "Formatted document cache: %lu documents, %lu locked\n", formatted_info(CI_FILES), formatted_info(CI_LOCKED));
+ fprintf(stderr, "DNS cache: %lu servers\n", dns_info(CI_FILES));
+
+ error("ERROR: out of memory (%s(%lu) returned NULL)", msg, (unsigned long)size);
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ return 0;
+}
+
+#ifdef DEBUG_TEST_FREE
+
+struct debug_test_free_slot {
+ struct debug_test_free_slot *next;
+ struct debug_test_free_slot *prev;
+ unsigned char *file;
+ int line;
+ unsigned long count;
+};
+
+static struct list_head debug_test_free_slots = {&debug_test_free_slots, &debug_test_free_slots};
+
+#define DEBUG_TEST_FREE_DEFAULT_PROB 1024
+#define DEBUG_TEST_FREE_INIT_COUNT 16
+
+void debug_test_free(unsigned char *file, int line)
+{
+ struct debug_test_free_slot *sl = NULL;
+ unsigned long prob;
+ if (!file) {
+ prob = DEBUG_TEST_FREE_DEFAULT_PROB;
+ goto fixed_prob;
+ }
+ foreach(sl, debug_test_free_slots) {
+ if (sl->line == line && (sl->file == file || !strcmp(sl->file, file))) {
+ del_from_list(sl);
+ goto have_it;
+ }
+ }
+ retry:
+ sl = malloc(sizeof(struct debug_test_free_slot));
+ if (!sl) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ return;
+ }
+ sl->file = file;
+ sl->line = line;
+ sl->count = DEBUG_TEST_FREE_INIT_COUNT;
+ have_it:
+ add_to_list(debug_test_free_slots, sl);
+ prob = sl->count;
+ sl->count++;
+
+ fixed_prob:
+ if (!prob) prob = 1;
+ if (!(random() % prob)) {
+ if (shrink_memory(SH_FREE_SOMETHING) & ST_SOMETHING_FREED) {
+ /*if (sl) sl->count++;*/
+ }
+ }
+}
+
+#endif
diff --git a/menu.c b/menu.c
new file mode 100644
index 0000000..60d66dc
--- /dev/null
+++ b/menu.c
@@ -0,0 +1,3040 @@
+/* menu.c
+ * (c) 2002 Mikulas Patocka, Petr 'Brain' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+
+static unsigned char *version_texts[] = {
+ TEXT_(T_LINKS_VERSION),
+ TEXT_(T_OPERATING_SYSTEM_TYPE),
+ TEXT_(T_OPERATING_SYSTEM_VERSION),
+ TEXT_(T_COMPILER),
+ TEXT_(T_COMPILE_TIME),
+ TEXT_(T_WORD_SIZE),
+ TEXT_(T_DEBUGGING_LEVEL),
+ TEXT_(T_UTF8_TERMINAL),
+ TEXT_(T_COMPRESSION_METHODS),
+ TEXT_(T_ENCRYPTION),
+#if defined(__linux__) || defined(__LINUX__) || defined(__SPAD__) || defined(USE_GPM)
+ TEXT_(T_GPM_MOUSE_DRIVER),
+#endif
+#ifdef OS2
+ TEXT_(T_XTERM_FOR_OS2),
+#endif
+ TEXT_(T_GRAPHICS_MODE),
+#ifdef G
+ TEXT_(T_IMAGE_LIBRARIES),
+#endif
+ NULL,
+};
+
+static void add_and_pad(unsigned char **s, int *l, struct terminal *term, unsigned char *str, int maxlen)
+{
+ unsigned char *x = _(str, term);
+ int len = cp_len(term->spec->charset, x);
+ add_to_str(s, l, x);
+ add_to_str(s, l, ": ");
+ while (len++ < maxlen) add_chr_to_str(s, l, ' ');
+}
+
+static void menu_version(struct terminal *term)
+{
+ int i;
+ int maxlen = 0;
+ unsigned char *s;
+ int l;
+ unsigned char **text_ptr;
+ for (i = 0; version_texts[i]; i++) {
+ unsigned char *t = _(version_texts[i], term);
+ int tl = cp_len(term->spec->charset, t);
+ if (tl > maxlen)
+ maxlen = tl;
+ }
+
+ s = init_str();
+ l = 0;
+ text_ptr = version_texts;
+
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+ add_to_str(&s, &l, VERSION_STRING);
+ add_to_str(&s, &l, "\n");
+
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+ add_to_str(&s, &l, SYSTEM_NAME);
+ add_to_str(&s, &l, "\n");
+
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+ add_to_str(&s, &l, system_name);
+ add_to_str(&s, &l, "\n");
+
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+ add_to_str(&s, &l, compiler_name);
+ add_to_str(&s, &l, "\n");
+
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+ add_to_str(&s, &l, __DATE__ " " __TIME__);
+ add_to_str(&s, &l, "\n");
+
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+ add_to_str(&s, &l, _(TEXT_(T_MEMORY), term));
+ add_to_str(&s, &l, " ");
+ add_num_to_str(&s, &l, sizeof(void *) * 8);
+ add_to_str(&s, &l, "-bit, ");
+ add_to_str(&s, &l, _(TEXT_(T_FILE_SIZE), term));
+ add_to_str(&s, &l, " ");
+ add_num_to_str(&s, &l, sizeof(off_t) * 8 /*- ((off_t)-1 < 0)*/);
+ add_to_str(&s, &l, "-bit");
+ add_to_str(&s, &l, "\n");
+
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+ add_num_to_str(&s, &l, DEBUGLEVEL);
+ add_to_str(&s, &l, "\n");
+
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+#ifdef ENABLE_UTF8
+ add_to_str(&s, &l, _(TEXT_(T_YES), term));
+#else
+ add_to_str(&s, &l, _(TEXT_(T_NO), term));
+#endif
+ add_to_str(&s, &l, "\n");
+
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+#ifdef HAVE_ANY_COMPRESSION
+ add_compress_methods(&s, &l);
+#else
+ add_to_str(&s, &l, _(TEXT_(T_NO), term));
+#endif
+ add_to_str(&s, &l, "\n");
+
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+#ifdef HAVE_SSL
+ add_to_str(&s, &l, (unsigned char *)SSLeay_version(SSLEAY_VERSION));
+#else
+ add_to_str(&s, &l, _(TEXT_(T_NO), term));
+#endif
+ add_to_str(&s, &l, "\n");
+
+#if defined(__linux__) || defined(__LINUX__) || defined(__SPAD__) || defined(USE_GPM)
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+#ifdef USE_GPM
+ add_gpm_version(&s, &l);
+#else
+ add_to_str(&s, &l, _(TEXT_(T_NO), term));
+#endif
+ add_to_str(&s, &l, "\n");
+#endif
+
+#ifdef OS2
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+#ifdef X2
+ add_to_str(&s, &l, _(TEXT_(T_YES), term));
+#else
+ add_to_str(&s, &l, _(TEXT_(T_NO), term));
+#endif
+ add_to_str(&s, &l, "\n");
+#endif
+
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+#ifdef G
+ i = l;
+ add_graphics_drivers(&s, &l);
+ for (; s[i]; i++) if (s[i - 1] == ' ') s[i] = upcase(s[i]);
+#else
+ add_to_str(&s, &l, _(TEXT_(T_NO), term));
+#endif
+ add_to_str(&s, &l, "\n");
+
+#ifdef G
+ add_and_pad(&s, &l, term, *text_ptr++, maxlen);
+ add_png_version(&s, &l);
+#ifdef HAVE_JPEG
+ add_to_str(&s, &l, ", ");
+ add_jpeg_version(&s, &l);
+#endif
+#ifdef HAVE_TIFF
+ add_to_str(&s, &l, ", ");
+ add_tiff_version(&s, &l);
+#endif
+ add_to_str(&s, &l, "\n");
+#endif
+
+ s[l - 1] = 0;
+ if (*text_ptr)
+ internal("menu_version: text mismatched");
+
+ msg_box(term, getml(s, NULL), TEXT_(T_VERSION_INFORMATION), AL_LEFT | AL_MONO, s, NULL, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+}
+
+static void menu_about(struct terminal *term, void *d, struct session *ses)
+{
+ msg_box(term, NULL, TEXT_(T_ABOUT), AL_CENTER, TEXT_(T_LINKS__LYNX_LIKE), term, 2, TEXT_(T_OK), NULL, B_ENTER | B_ESC, TEXT_(T_VERSION), menu_version, 0);
+}
+
+static void menu_keys(struct terminal *term, void *d, struct session *ses)
+{
+ if (!term->spec->braille)
+ msg_box(term, NULL, TEXT_(T_KEYS), AL_LEFT | AL_MONO, TEXT_(T_KEYS_DESC), NULL, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+ else
+ msg_box(term, NULL, TEXT_(T_KEYS), AL_LEFT | AL_MONO | AL_EXTD_TEXT, TEXT_(T_KEYS_DESC), "\n", TEXT_(T_KEYS_BRAILLE_DESC), NULL, NULL, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+}
+
+void activate_keys(struct session *ses)
+{
+ menu_keys(ses->term, NULL, ses);
+}
+
+static void menu_copying(struct terminal *term, void *d, struct session *ses)
+{
+ msg_box(term, NULL, TEXT_(T_COPYING), AL_CENTER, TEXT_(T_COPYING_DESC), NULL, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+}
+
+static void menu_manual(struct terminal *term, void *d, struct session *ses)
+{
+ goto_url(ses, LINKS_MANUAL_URL);
+}
+
+static void menu_homepage(struct terminal *term, void *d, struct session *ses)
+{
+ goto_url(ses, LINKS_HOMEPAGE_URL);
+}
+
+#ifdef G
+static void menu_calibration(struct terminal *term, void *d, struct session *ses)
+{
+ goto_url(ses, LINKS_CALIBRATION_URL);
+}
+#endif
+
+static void menu_for_frame(struct terminal *term, void (*f)(struct session *, struct f_data_c *, int), struct session *ses)
+{
+ do_for_frame(ses, f, 0);
+}
+
+static void menu_goto_url(struct terminal *term, void *d, struct session *ses)
+{
+ dialog_goto_url(ses, "");
+}
+
+static void menu_save_url_as(struct terminal *term, void *d, struct session *ses)
+{
+ dialog_save_url(ses);
+}
+
+static void menu_go_back(struct terminal *term, void *d, struct session *ses)
+{
+ go_back(ses, 1);
+}
+
+static void menu_go_forward(struct terminal *term, void *d, struct session *ses)
+{
+ go_back(ses, -1);
+}
+
+static void menu_reload(struct terminal *term, void *d, struct session *ses)
+{
+ reload(ses, -1);
+}
+
+void really_exit_prog(struct session *ses)
+{
+ register_bottom_half((void (*)(void *))destroy_terminal, ses->term);
+}
+
+static void dont_exit_prog(struct session *ses)
+{
+ ses->exit_query = 0;
+}
+
+void query_exit(struct session *ses)
+{
+ ses->exit_query = 1;
+ msg_box(ses->term, NULL, TEXT_(T_EXIT_LINKS), AL_CENTER, (ses->term->next == ses->term->prev && are_there_downloads()) ? TEXT_(T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS_AND_TERMINATE_ALL_DOWNLOADS) : (!F || ses->term->next == ses->term->prev) ? TEXT_(T_DO_YOU_REALLY_WANT_TO_EXIT_LINKS) : TEXT_(T_DO_YOU_REALLY_WANT_TO_CLOSE_WINDOW), ses, 2, TEXT_(T_YES), (void (*)(void *))really_exit_prog, B_ENTER, TEXT_(T_NO), dont_exit_prog, B_ESC);
+}
+
+void exit_prog(struct terminal *term, void *d, struct session *ses)
+{
+ if (!ses) {
+ register_bottom_half((void (*)(void *))destroy_terminal, term);
+ return;
+ }
+ if (!ses->exit_query && (!d || (term->next == term->prev && are_there_downloads()))) {
+ query_exit(ses);
+ return;
+ }
+ really_exit_prog(ses);
+}
+
+struct refresh {
+ struct terminal *term;
+ struct window *win;
+ struct session *ses;
+ int (*fn)(struct terminal *term, struct refresh *r);
+ void *data;
+ int timer;
+};
+
+static void refresh(struct refresh *r)
+{
+ r->timer = -1;
+ if (r->fn(r->term, r) > 0)
+ return;
+ delete_window(r->win);
+}
+
+static void end_refresh(struct refresh *r)
+{
+ if (r->timer != -1) kill_timer(r->timer);
+ mem_free(r);
+}
+
+static void refresh_abort(struct dialog_data *dlg)
+{
+ end_refresh(dlg->dlg->udata2);
+}
+
+static int resource_info(struct terminal *term, struct refresh *r2)
+{
+ unsigned char *a;
+ int l;
+ struct refresh *r;
+
+ r = mem_alloc(sizeof(struct refresh));
+ r->term = term;
+ r->win = NULL;
+ r->fn = resource_info;
+ r->timer = -1;
+ l = 0;
+ a = init_str();
+
+ add_to_str(&a, &l, _(TEXT_(T_RESOURCES), term));
+ add_to_str(&a, &l, ": ");
+ add_unsigned_long_num_to_str(&a, &l, select_info(CI_FILES));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_HANDLES), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, select_info(CI_TIMERS));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_TIMERS), term));
+ add_to_str(&a, &l, ".\n");
+
+ add_to_str(&a, &l, _(TEXT_(T_CONNECTIONS), term));
+ add_to_str(&a, &l, ": ");
+ add_unsigned_long_num_to_str(&a, &l, connect_info(CI_FILES) - connect_info(CI_CONNECTING) - connect_info(CI_TRANSFER));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_WAITING), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, connect_info(CI_CONNECTING));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_CONNECTING), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, connect_info(CI_TRANSFER));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_tRANSFERRING), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, connect_info(CI_KEEP));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_KEEPALIVE), term));
+ add_to_str(&a, &l, ".\n");
+
+ add_to_str(&a, &l, _(TEXT_(T_MEMORY_CACHE), term));
+ add_to_str(&a, &l, ": ");
+ add_unsigned_long_num_to_str(&a, &l, cache_info(CI_BYTES));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_BYTES), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, cache_info(CI_FILES));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_FILES), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, cache_info(CI_LOCKED));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_LOCKED), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, cache_info(CI_LOADING));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_LOADING), term));
+ add_to_str(&a, &l, ".\n");
+
+#ifdef HAVE_ANY_COMPRESSION
+ add_to_str(&a, &l, _(TEXT_(T_DECOMPRESSED_CACHE), term));
+ add_to_str(&a, &l, ": ");
+ add_unsigned_long_num_to_str(&a, &l, decompress_info(CI_BYTES));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_BYTES), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, decompress_info(CI_FILES));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_FILES), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, decompress_info(CI_LOCKED));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_LOCKED), term));
+ add_to_str(&a, &l, ".\n");
+#endif
+
+#ifdef G
+ if (F) {
+ add_to_str(&a, &l, _(TEXT_(T_IMAGE_CACHE), term));
+ add_to_str(&a, &l, ": ");
+ add_unsigned_long_num_to_str(&a, &l, imgcache_info(CI_BYTES));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_BYTES), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, imgcache_info(CI_FILES));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_IMAGES), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, imgcache_info(CI_LOCKED));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_LOCKED), term));
+ add_to_str(&a, &l, ".\n");
+
+ add_to_str(&a, &l, _(TEXT_(T_FONT_CACHE), term));
+ add_to_str(&a, &l, ": ");
+ add_unsigned_long_num_to_str(&a, &l, fontcache_info(CI_BYTES));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_BYTES), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, fontcache_info(CI_FILES));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_LETTERS), term));
+ add_to_str(&a, &l, ".\n");
+ }
+#endif
+
+ add_to_str(&a, &l, _(TEXT_(T_FORMATTED_DOCUMENT_CACHE), term));
+ add_to_str(&a, &l, ": ");
+ add_unsigned_long_num_to_str(&a, &l, formatted_info(CI_FILES));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_DOCUMENTS), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, formatted_info(CI_LOCKED));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_LOCKED), term));
+ add_to_str(&a, &l, ".\n");
+
+ add_to_str(&a, &l, _(TEXT_(T_DNS_CACHE), term));
+ add_to_str(&a, &l, ": ");
+ add_unsigned_long_num_to_str(&a, &l, dns_info(CI_FILES));
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_SERVERS), term));
+ add_to_str(&a, &l, ".");
+
+ if (r2 && !strcmp(a, *(unsigned char **)((struct dialog_data *)r2->win->data)->dlg->udata)) {
+ mem_free(a);
+ mem_free(r);
+ r2->timer = install_timer(RESOURCE_INFO_REFRESH, (void (*)(void *))refresh, r2);
+ return 1;
+ }
+
+ msg_box(term, getml(a, NULL), TEXT_(T_RESOURCES), AL_LEFT, a, r, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+ r->win = term->windows.next;
+ ((struct dialog_data *)r->win->data)->dlg->abort = refresh_abort;
+ r->timer = install_timer(RESOURCE_INFO_REFRESH, (void (*)(void *))refresh, r);
+ return 0;
+}
+
+static void resource_info_menu(struct terminal *term, void *d, struct session *ses)
+{
+ resource_info(term, NULL);
+}
+
+#ifdef LEAK_DEBUG
+
+static int memory_info(struct terminal *term, struct refresh *r2)
+{
+ unsigned char *a;
+ int l;
+ struct refresh *r;
+
+ r = mem_alloc(sizeof(struct refresh));
+ r->term = term;
+ r->win = NULL;
+ r->fn = memory_info;
+ r->timer = -1;
+ l = 0;
+ a = init_str();
+
+ add_unsigned_long_num_to_str(&a, &l, mem_amount);
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_MEMORY_ALLOCATED), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, mem_blocks);
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_BLOCKS_ALLOCATED), term));
+ add_to_str(&a, &l, ".");
+
+#ifdef MEMORY_REQUESTED
+ if (mem_requested && blocks_requested) {
+ add_to_str(&a, &l, "\n");
+ add_unsigned_long_num_to_str(&a, &l, mem_requested);
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_MEMORY_REQUESTED), term));
+ add_to_str(&a, &l, ", ");
+ add_unsigned_long_num_to_str(&a, &l, blocks_requested);
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_BLOCKS_REQUESTED), term));
+ add_to_str(&a, &l, ".");
+ }
+#endif
+#ifdef JS
+ add_to_str(&a, &l, "\n");
+ add_unsigned_long_num_to_str(&a, &l, js_zaflaknuto_pameti);
+ add_to_str(&a, &l, " ");
+ add_to_str(&a, &l, _(TEXT_(T_JS_MEMORY_ALLOCATED), term));
+ add_to_str(&a, &l, ".");
+#endif
+
+ if (r2 && !strcmp(a, *(unsigned char **)((struct dialog_data *)r2->win->data)->dlg->udata)) {
+ mem_free(a);
+ mem_free(r);
+ r2->timer = install_timer(RESOURCE_INFO_REFRESH, (void (*)(void *))refresh, r2);
+ return 1;
+ }
+
+
+ msg_box(term, getml(a, NULL), TEXT_(T_MEMORY_INFO), AL_CENTER, a, r, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+ r->win = term->windows.next;
+ ((struct dialog_data *)r->win->data)->dlg->abort = refresh_abort;
+ r->timer = install_timer(RESOURCE_INFO_REFRESH, (void (*)(void *))refresh, r);
+ return 0;
+}
+
+static void memory_info_menu(struct terminal *term, void *d, struct session *ses)
+{
+ memory_info(term, NULL);
+}
+
+#endif
+
+static void flush_caches(struct terminal *term, void *d, void *e)
+{
+ shrink_memory(SH_FREE_ALL);
+}
+
+/* jde v historii na polozku id_ptr */
+void go_backwards(struct terminal *term, void *id_ptr, struct session *ses)
+{
+ unsigned want_id = (my_intptr_t)id_ptr;
+ struct location *l;
+ int n = 0;
+ foreach(l, ses->history) {
+ if (l->location_id == want_id) {
+ goto have_it;
+ }
+ n++;
+ }
+ n = -1;
+ foreach(l, ses->forward_history) {
+ if (l->location_id == want_id) {
+ goto have_it;
+ }
+ n--;
+ }
+ return;
+
+ have_it:
+ go_back(ses, n);
+}
+
+static struct menu_item no_hist_menu[] = {
+ { TEXT_(T_NO_HISTORY), "", M_BAR, NULL, NULL, 0, 0 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+
+static void add_history_menu_entry(struct menu_item **mi, int *n, struct location *l)
+{
+ unsigned char *url, *pc;
+ if (!*mi) *mi = new_menu(3);
+ url = stracpy(l->url);
+ if ((pc = strchr(url, POST_CHAR))) *pc = 0;
+ add_to_menu(mi, url, "", "", MENU_FUNC go_backwards, (void *)(my_intptr_t)l->location_id, 0, *n);
+ (*n)++;
+ if (*n == MAXINT) overalloc();
+}
+
+static void history_menu(struct terminal *term, void *ddd, struct session *ses)
+{
+ struct location *l;
+ struct menu_item *mi = NULL;
+ int n = 0;
+ int selected = 0;
+ foreachback(l, ses->forward_history) {
+ add_history_menu_entry(&mi, &n, l);
+ }
+ selected = n;
+ foreach(l, ses->history) {
+ add_history_menu_entry(&mi, &n, l);
+ }
+ if (!mi) do_menu(term, no_hist_menu, ses);
+ else do_menu_selected(term, mi, ses, selected);
+}
+
+static struct menu_item no_downloads_menu[] = {
+ { TEXT_(T_NO_DOWNLOADS), "", M_BAR, NULL, NULL, 0, 0 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+
+static void downloads_menu(struct terminal *term, void *ddd, struct session *ses)
+{
+ struct download *d;
+ struct menu_item *mi = NULL;
+ int n = 0;
+ foreachback(d, downloads) {
+ unsigned char *f, *ff;
+ if (!mi) mi = new_menu(7);
+ f = !d->prog ? d->orig_file : d->url;
+ for (ff = f; *ff; ff++)
+ if ((dir_sep(ff[0])
+#if defined(DOS_FS) || defined(SPAD)
+ || (!d->prog && ff[0] == ':')
+#endif
+ ) && ff[1])
+ f = ff + 1;
+ f = stracpy(f);
+ if (d->prog) if ((ff = strchr(f, POST_CHAR))) *ff = 0;
+ add_to_menu(&mi, f, download_percentage(d, 0), "", MENU_FUNC display_download, d, 0, n);
+ n++;
+ }
+ if (!n) do_menu(term, no_downloads_menu, ses);
+ else do_menu(term, mi, ses);
+}
+
+static void menu_doc_info(struct terminal *term, void *ddd, struct session *ses)
+{
+ state_msg(ses);
+}
+
+static void menu_head_info(struct terminal *term, void *ddd, struct session *ses)
+{
+ head_msg(ses);
+}
+
+static void menu_toggle(struct terminal *term, void *ddd, struct session *ses)
+{
+ toggle(ses, ses->screen, 0);
+}
+
+static void display_codepage(struct terminal *term, void *pcp, struct session *ses)
+{
+ long cp = (my_intptr_t)pcp;
+ struct term_spec *t = new_term_spec(term->term);
+ if (t) t->charset = cp;
+ cls_redraw_all_terminals();
+}
+
+#if 0
+static void assumed_codepage(struct terminal *term, void *pcp, struct session *ses)
+{
+ long cp = (my_intptr_t)pcp;
+ ses->ds.assume_cp = cp;
+ redraw_terminal_cls(term);
+}
+#endif
+
+static void charset_list(struct terminal *term, void *xxx, struct session *ses)
+{
+ long i; int sel;
+ unsigned char *n;
+ struct menu_item *mi;
+ mi = new_menu(1);
+ for (i = 0; (n = get_cp_name(i)); i++) {
+#ifndef ENABLE_UTF8
+ if (i == utf8_table) continue;
+#endif
+ add_to_menu(&mi, get_cp_name(i), "", "", MENU_FUNC display_codepage, (void *)i, 0, i);
+ }
+ sel = ses->term->spec->charset;
+ if (sel < 0) sel = 0;
+ do_menu_selected(term, mi, ses, sel);
+}
+
+static void set_val(struct terminal *term, void *ip, int *d)
+{
+ *d = (my_intptr_t)ip;
+}
+
+static void charset_sel_list(struct terminal *term, struct session *ses, int *ptr)
+{
+ long i; int sel;
+ unsigned char *n;
+ struct menu_item *mi;
+ mi = new_menu(1);
+ for (i = 0; (n = get_cp_name(i)); i++) {
+ add_to_menu(&mi, get_cp_name(i), "", "", MENU_FUNC set_val, (void *)i, 0, i);
+ }
+ sel = *ptr;
+ if (sel < 0) sel = 0;
+ do_menu_selected(term, mi, ptr, sel);
+}
+
+static void terminal_options_ok(void *p)
+{
+ cls_redraw_all_terminals();
+}
+
+static unsigned char *td_labels[] = { TEXT_(T_NO_FRAMES), TEXT_(T_VT_100_FRAMES), TEXT_(T_LINUX_OR_OS2_FRAMES), TEXT_(T_KOI8R_FRAMES), TEXT_(T_FREEBSD_FRAMES), TEXT_(T_USE_11M), TEXT_(T_RESTRICT_FRAMES_IN_CP850_852), TEXT_(T_BLOCK_CURSOR), TEXT_(T_COLOR), TEXT_(T_BRAILLE_TERMINAL), NULL };
+
+static void terminal_options(struct terminal *term, void *xxx, struct session *ses)
+{
+ struct dialog *d;
+ struct term_spec *ts = new_term_spec(term->term);
+ if (!ts) return;
+ d = mem_calloc(sizeof(struct dialog) + 12 * sizeof(struct dialog_item));
+ d->title = TEXT_(T_TERMINAL_OPTIONS);
+ d->fn = checkbox_list_fn;
+ d->udata = td_labels;
+ d->refresh = (void (*)(void *))terminal_options_ok;
+ d->items[0].type = D_CHECKBOX;
+ d->items[0].gid = 1;
+ d->items[0].gnum = TERM_DUMB;
+ d->items[0].dlen = sizeof(int);
+ d->items[0].data = (void *)&ts->mode;
+ d->items[1].type = D_CHECKBOX;
+ d->items[1].gid = 1;
+ d->items[1].gnum = TERM_VT100;
+ d->items[1].dlen = sizeof(int);
+ d->items[1].data = (void *)&ts->mode;
+ d->items[2].type = D_CHECKBOX;
+ d->items[2].gid = 1;
+ d->items[2].gnum = TERM_LINUX;
+ d->items[2].dlen = sizeof(int);
+ d->items[2].data = (void *)&ts->mode;
+ d->items[3].type = D_CHECKBOX;
+ d->items[3].gid = 1;
+ d->items[3].gnum = TERM_KOI8;
+ d->items[3].dlen = sizeof(int);
+ d->items[3].data = (void *)&ts->mode;
+ d->items[4].type = D_CHECKBOX;
+ d->items[4].gid = 1;
+ d->items[4].gnum = TERM_FREEBSD;
+ d->items[4].dlen = sizeof(int);
+ d->items[4].data = (void *)&ts->mode;
+ d->items[5].type = D_CHECKBOX;
+ d->items[5].gid = 0;
+ d->items[5].dlen = sizeof(int);
+ d->items[5].data = (void *)&ts->m11_hack;
+ d->items[6].type = D_CHECKBOX;
+ d->items[6].gid = 0;
+ d->items[6].dlen = sizeof(int);
+ d->items[6].data = (void *)&ts->restrict_852;
+ d->items[7].type = D_CHECKBOX;
+ d->items[7].gid = 0;
+ d->items[7].dlen = sizeof(int);
+ d->items[7].data = (void *)&ts->block_cursor;
+ d->items[8].type = D_CHECKBOX;
+ d->items[8].gid = 0;
+ d->items[8].dlen = sizeof(int);
+ d->items[8].data = (void *)&ts->col;
+ d->items[9].type = D_CHECKBOX;
+ d->items[9].gid = 0;
+ d->items[9].dlen = sizeof(int);
+ d->items[9].data = (void *)&ts->braille;
+ d->items[10].type = D_BUTTON;
+ d->items[10].gid = B_ENTER;
+ d->items[10].fn = ok_dialog;
+ d->items[10].text = TEXT_(T_OK);
+ d->items[11].type = D_BUTTON;
+ d->items[11].gid = B_ESC;
+ d->items[11].fn = cancel_dialog;
+ d->items[11].text = TEXT_(T_CANCEL);
+ d->items[12].type = D_END;
+ do_dialog(term, d, getml(d, NULL));
+}
+
+#ifdef JS
+
+static unsigned char *jsopt_labels[] = { TEXT_(T_KILL_ALL_SCRIPTS), TEXT_(T_ENABLE_JAVASCRIPT), TEXT_(T_VERBOSE_JS_ERRORS), TEXT_(T_VERBOSE_JS_WARNINGS), TEXT_(T_ENABLE_ALL_CONVERSIONS), TEXT_(T_ENABLE_GLOBAL_NAME_RESOLUTION), TEXT_(T_MANUAL_JS_CONTROL), TEXT_(T_JS_RECURSION_DEPTH), TEXT_(T_JS_MEMORY_LIMIT_KB), NULL };
+
+static int kill_script_opt;
+static unsigned char js_fun_depth_str[7];
+static unsigned char js_memory_limit_str[7];
+
+
+static inline void kill_js_recursively(struct f_data_c *fd)
+{
+ struct f_data_c *f;
+
+ if (fd->js) js_downcall_game_over(fd->js->ctx);
+ foreach(f,fd->subframes) kill_js_recursively(f);
+}
+
+
+static inline void quiet_kill_js_recursively(struct f_data_c *fd)
+{
+ struct f_data_c *f;
+
+ if (fd->js)js_downcall_game_over(fd->js->ctx);
+ foreach(f,fd->subframes) quiet_kill_js_recursively(f);
+}
+
+
+static void refresh_javascript(struct session *ses)
+{
+ if (ses->screen->f_data)jsint_scan_script_tags(ses->screen);
+ if (kill_script_opt)
+ kill_js_recursively(ses->screen);
+ if (!js_enable) /* vypnuli jsme skribt */
+ {
+ if (ses->default_status)mem_free(ses->default_status),ses->default_status=NULL;
+ quiet_kill_js_recursively(ses->screen);
+ }
+
+ js_fun_depth=strtol(js_fun_depth_str,0,10);
+ js_memory_limit=strtol(js_memory_limit_str,0,10);
+
+ /* reparse document (muze se zmenit hodne veci) */
+ html_interpret_recursive(ses->screen);
+ draw_formatted(ses);
+}
+
+
+static void javascript_options(struct terminal *term, void *xxx, struct session *ses)
+{
+ struct dialog *d;
+ kill_script_opt=0;
+ snprintf(js_fun_depth_str,7,"%d",js_fun_depth);
+ snprintf(js_memory_limit_str,7,"%d",js_memory_limit);
+ d = mem_calloc(sizeof(struct dialog) + 11 * sizeof(struct dialog_item));
+ d->title = TEXT_(T_JAVASCRIPT_OPTIONS);
+ d->fn = group_fn;
+ d->refresh = (void (*)(void *))refresh_javascript;
+ d->refresh_data=ses;
+ d->udata = jsopt_labels;
+ d->items[0].type = D_CHECKBOX;
+ d->items[0].gid = 0;
+ d->items[0].dlen = sizeof(int);
+ d->items[0].data = (void *)&kill_script_opt;
+ d->items[1].type = D_CHECKBOX;
+ d->items[1].gid = 0;
+ d->items[1].dlen = sizeof(int);
+ d->items[1].data = (void *)&js_enable;
+ d->items[2].type = D_CHECKBOX;
+ d->items[2].gid = 0;
+ d->items[2].dlen = sizeof(int);
+ d->items[2].data = (void *)&js_verbose_errors;
+ d->items[3].type = D_CHECKBOX;
+ d->items[3].gid = 0;
+ d->items[3].dlen = sizeof(int);
+ d->items[3].data = (void *)&js_verbose_warnings;
+ d->items[4].type = D_CHECKBOX;
+ d->items[4].gid = 0;
+ d->items[4].dlen = sizeof(int);
+ d->items[4].data = (void *)&js_all_conversions;
+ d->items[5].type = D_CHECKBOX;
+ d->items[5].gid = 0;
+ d->items[5].dlen = sizeof(int);
+ d->items[5].data = (void *)&js_global_resolve;
+ d->items[6].type = D_CHECKBOX;
+ d->items[6].gid = 0;
+ d->items[6].dlen = sizeof(int);
+ d->items[6].data = (void *)&js_manual_confirmation;
+ d->items[7].type = D_FIELD;
+ d->items[7].dlen = 7;
+ d->items[7].data = js_fun_depth_str;
+ d->items[7].fn = check_number;
+ d->items[7].gid = 1;
+ d->items[7].gnum = 999999;
+ d->items[8].type = D_FIELD;
+ d->items[8].dlen = 7;
+ d->items[8].data = js_memory_limit_str;
+ d->items[8].fn = check_number;
+ d->items[8].gid = 1024;
+ d->items[8].gnum = 30*1024;
+ d->items[9].type = D_BUTTON;
+ d->items[9].gid = B_ENTER;
+ d->items[9].fn = ok_dialog;
+ d->items[9].text = TEXT_(T_OK);
+ d->items[10].type = D_BUTTON;
+ d->items[10].gid = B_ESC;
+ d->items[10].fn = cancel_dialog;
+ d->items[10].text = TEXT_(T_CANCEL);
+ d->items[11].type = D_END;
+ do_dialog(term, d, getml(d, NULL));
+}
+
+#endif
+
+static unsigned char *http_labels[] = { TEXT_(T_USE_HTTP_10), TEXT_(T_ALLOW_SERVER_BLACKLIST), TEXT_(T_BROKEN_302_REDIRECT), TEXT_(T_NO_KEEPALIVE_AFTER_POST_REQUEST), TEXT_(T_DO_NOT_SEND_ACCEPT_CHARSET),
+#ifdef HAVE_ANY_COMPRESSION
+ TEXT_(T_DO_NOT_ADVERTISE_COMPRESSION_SUPPORT),
+#endif
+ TEXT_(T_RETRY_ON_INTERNAL_ERRORS), NULL };
+
+static unsigned char *http_header_labels[] = { TEXT_(T_REFERER_NONE), TEXT_(T_REFERER_SAME_URL), TEXT_(T_REFERER_FAKE), TEXT_(T_REFERER_REAL_SAME_SERVER), TEXT_(T_REFERER_REAL), TEXT_(T_FAKE_REFERER), TEXT_(T_FAKE_USERAGENT), TEXT_(T_EXTRA_HEADER), NULL };
+
+static void httpheadopt_fn(struct dialog_data *dlg)
+{
+ struct terminal *term = dlg->win->term;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = 0;
+ checkboxes_width(term, dlg->dlg->udata, dlg->n - 5, &max, max_text_width);
+ checkboxes_width(term, dlg->dlg->udata, dlg->n - 5, &min, min_text_width);
+ max_text_width(term, http_header_labels[dlg->n - 5], &max, AL_LEFT);
+ min_text_width(term, http_header_labels[dlg->n - 5], &min, AL_LEFT);
+ max_text_width(term, http_header_labels[dlg->n - 4], &max, AL_LEFT);
+ min_text_width(term, http_header_labels[dlg->n - 4], &min, AL_LEFT);
+ max_text_width(term, http_header_labels[dlg->n - 3], &max, AL_LEFT);
+ min_text_width(term, http_header_labels[dlg->n - 3], &min, AL_LEFT);
+ max_buttons_width(term, dlg->items + dlg->n - 2, 2, &max);
+ min_buttons_width(term, dlg->items + dlg->n - 2, 2, &min);
+ w = term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ if (w > term->x - 2 * DIALOG_LB) w = term->x - 2 * DIALOG_LB;
+ if (w < 5) w = 5;
+ rw = 0;
+ dlg_format_checkboxes(dlg, NULL, dlg->items, dlg->n - 5, 0, &y, w, &rw, dlg->dlg->udata);
+ y += gf_val(1, 1 * G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, NULL, http_header_labels[dlg->n - 5], dlg->items + dlg->n - 5, 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ if (!dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE * 1);
+ dlg_format_text_and_field(dlg, NULL, http_header_labels[dlg->n - 4], dlg->items + dlg->n - 4, 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ if (!dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE * 1);
+ dlg_format_text_and_field(dlg, NULL, http_header_labels[dlg->n - 3], dlg->items + dlg->n - 3, 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, 1 * G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, NULL, dlg->items + dlg->n - 2, 2, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = rw + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB + gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_checkboxes(dlg, term, dlg->items, dlg->n - 5, dlg->x + DIALOG_LB, &y, w, NULL, dlg->dlg->udata);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, http_header_labels[dlg->n - 5], dlg->items + dlg->n - 5, dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ if (!dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE * 1);
+ dlg_format_text_and_field(dlg, term, http_header_labels[dlg->n - 4], dlg->items + dlg->n - 4, dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ if (!dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE * 1);
+ dlg_format_text_and_field(dlg, term, http_header_labels[dlg->n - 3], dlg->items + dlg->n - 3, dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, term, dlg->items + dlg->n - 2, 2, dlg->x + DIALOG_LB, &y, w, &rw, AL_CENTER);
+}
+
+static int dlg_http_header_options(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ struct http_header_options *header = (struct http_header_options *)di->cdata;
+ struct dialog *d;
+ d = mem_calloc(sizeof(struct dialog) + 10 * sizeof(struct dialog_item));
+ d->title = TEXT_(T_HTTP_HEADER_OPTIONS);
+ d->fn = httpheadopt_fn;
+ d->udata = http_header_labels;
+ d->items[0].type = D_CHECKBOX;
+ d->items[0].gid = 1;
+ d->items[0].gnum = REFERER_NONE;
+ d->items[0].dlen = sizeof(int);
+ d->items[0].data = (void *)&header->referer;
+ d->items[1].type = D_CHECKBOX;
+ d->items[1].gid = 1;
+ d->items[1].gnum = REFERER_SAME_URL;
+ d->items[1].dlen = sizeof(int);
+ d->items[1].data = (void *)&header->referer;
+ d->items[2].type = D_CHECKBOX;
+ d->items[2].gid = 1;
+ d->items[2].gnum = REFERER_FAKE;
+ d->items[2].dlen = sizeof(int);
+ d->items[2].data = (void *)&header->referer;
+ d->items[3].type = D_CHECKBOX;
+ d->items[3].gid = 1;
+ d->items[3].gnum = REFERER_REAL_SAME_SERVER;
+ d->items[3].dlen = sizeof(int);
+ d->items[3].data = (void *)&header->referer;
+ d->items[4].type = D_CHECKBOX;
+ d->items[4].gid = 1;
+ d->items[4].gnum = REFERER_REAL;
+ d->items[4].dlen = sizeof(int);
+ d->items[4].data = (void *)&header->referer;
+
+ d->items[5].type = D_FIELD;
+ d->items[5].dlen = MAX_STR_LEN;
+ d->items[5].data = header->fake_referer;
+ d->items[6].type = D_FIELD;
+ d->items[6].dlen = MAX_STR_LEN;
+ d->items[6].data = header->fake_useragent;
+ d->items[7].type = D_FIELD;
+ d->items[7].dlen = MAX_STR_LEN;
+ d->items[7].data = header->extra_header;
+ d->items[8].type = D_BUTTON;
+ d->items[8].gid = B_ENTER;
+ d->items[8].fn = ok_dialog;
+ d->items[8].text = TEXT_(T_OK);
+ d->items[9].type = D_BUTTON;
+ d->items[9].gid = B_ESC;
+ d->items[9].fn = cancel_dialog;
+ d->items[9].text = TEXT_(T_CANCEL);
+ d->items[10].type = D_END;
+ do_dialog(dlg->win->term, d, getml(d, NULL));
+ return 0;
+}
+
+
+static int dlg_http_options(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ struct http_options *options = (struct http_options *)di->cdata;
+ struct dialog *d;
+ int a = 0;
+ d = mem_calloc(sizeof(struct dialog) + 10 * sizeof(struct dialog_item));
+ d->title = TEXT_(T_HTTP_BUG_WORKAROUNDS);
+ d->fn = checkbox_list_fn;
+ d->udata = http_labels;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].gid = 0;
+ d->items[a].dlen = sizeof(int);
+ d->items[a].data = (void *)&options->http10;
+ a++;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].gid = 0;
+ d->items[a].dlen = sizeof(int);
+ d->items[a].data = (void *)&options->allow_blacklist;
+ a++;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].gid = 0;
+ d->items[a].dlen = sizeof(int);
+ d->items[a].data = (void *)&options->bug_302_redirect;
+ a++;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].gid = 0;
+ d->items[a].dlen = sizeof(int);
+ d->items[a].data = (void *)&options->bug_post_no_keepalive;
+ a++;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].gid = 0;
+ d->items[a].dlen = sizeof(int);
+ d->items[a].data = (void *)&options->no_accept_charset;
+ a++;
+#ifdef HAVE_ANY_COMPRESSION
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].gid = 0;
+ d->items[a].dlen = sizeof(int);
+ d->items[a].data = (void *)&options->no_compression;
+ a++;
+#endif
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].gid = 0;
+ d->items[a].dlen = sizeof(int);
+ d->items[a].data = (void *)&options->retry_internal_errors;
+ a++;
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = 0;
+ d->items[a].fn = dlg_http_header_options;
+ d->items[a].text = TEXT_(T_HEADER_OPTIONS);
+ d->items[a].data = (void *)&options->header;
+ d->items[a].dlen = sizeof(struct http_header_options);
+ a++;
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = B_ENTER;
+ d->items[a].fn = ok_dialog;
+ d->items[a].text = TEXT_(T_OK);
+ a++;
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = B_ESC;
+ d->items[a].fn = cancel_dialog;
+ d->items[a].text = TEXT_(T_CANCEL);
+ a++;
+ d->items[a].type = D_END;
+ a++;
+ do_dialog(dlg->win->term, d, getml(d, NULL));
+ return 0;
+}
+
+static unsigned char *ftp_texts[] = { TEXT_(T_PASSWORD_FOR_ANONYMOUS_LOGIN), TEXT_(T_USE_PASSIVE_FTP), TEXT_(T_USE_FAST_FTP), TEXT_(T_SET_TYPE_OF_SERVICE), NULL };
+
+static void ftpopt_fn(struct dialog_data *dlg)
+{
+ struct terminal *term = dlg->win->term;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = 0;
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ max_text_width(term, ftp_texts[0], &max, AL_LEFT);
+ min_text_width(term, ftp_texts[0], &min, AL_LEFT);
+ checkboxes_width(term, ftp_texts + 1, dlg->n - 3, &max, max_text_width);
+ checkboxes_width(term, ftp_texts + 1, dlg->n - 3, &min, min_text_width);
+ max_buttons_width(term, dlg->items + dlg->n - 2, 2, &max);
+ min_buttons_width(term, dlg->items + dlg->n - 2, 2, &min);
+ w = term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ if (w > term->x - 2 * DIALOG_LB) w = term->x - 2 * DIALOG_LB;
+ if (w < 5) w = 5;
+ rw = 0;
+ dlg_format_text_and_field(dlg, NULL, ftp_texts[0], dlg->items, 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ dlg_format_checkboxes(dlg, NULL, dlg->items + 1, dlg->n - 3, 0, &y, w, &rw, ftp_texts + 1);
+ y += gf_val(1, 1 * G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, NULL, dlg->items + dlg->n - 2, 2, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = rw + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB;
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, ftp_texts[0], dlg->items, dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_checkboxes(dlg, term, dlg->items + 1, dlg->n - 3, dlg->x + DIALOG_LB, &y, w, NULL, ftp_texts + 1);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, term, dlg->items + dlg->n - 2, 2, dlg->x + DIALOG_LB, &y, w, &rw, AL_CENTER);
+}
+
+
+static int dlg_ftp_options(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ int a;
+ struct ftp_options *ftp_options = (struct ftp_options *)di->cdata;
+ struct dialog *d;
+ d = mem_calloc(sizeof(struct dialog) + 6 * sizeof(struct dialog_item));
+ d->title = TEXT_(T_FTP_OPTIONS);
+ d->fn = ftpopt_fn;
+ d->items[0].type = D_FIELD;
+ d->items[0].dlen = MAX_STR_LEN;
+ d->items[0].data = ftp_options->anon_pass;
+ d->items[1].type = D_CHECKBOX;
+ d->items[1].dlen = sizeof(int);
+ d->items[1].data = (void*)&ftp_options->passive_ftp;
+ d->items[1].gid = 0;
+ d->items[2].type = D_CHECKBOX;
+ d->items[2].dlen = sizeof(int);
+ d->items[2].data = (void*)&ftp_options->fast_ftp;
+#ifdef HAVE_IPTOS
+ d->items[3].type = D_CHECKBOX;
+ d->items[3].dlen = sizeof(int);
+ d->items[3].data = (void*)&ftp_options->set_tos;
+ a = 4;
+#else
+ a = 3;
+#endif
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = B_ENTER;
+ d->items[a].fn = ok_dialog;
+ d->items[a].text = TEXT_(T_OK);
+ a++;
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = B_ESC;
+ d->items[a].fn = cancel_dialog;
+ d->items[a].text = TEXT_(T_CANCEL);
+ a++;
+ d->items[a].type = D_END;
+ do_dialog(dlg->win->term, d, getml(d, NULL));
+ return 0;
+}
+
+#ifdef G
+
+#define VO_GAMMA_LEN 9
+static unsigned char disp_red_g[VO_GAMMA_LEN];
+static unsigned char disp_green_g[VO_GAMMA_LEN];
+static unsigned char disp_blue_g[VO_GAMMA_LEN];
+static unsigned char user_g[VO_GAMMA_LEN];
+static unsigned char aspect_str[VO_GAMMA_LEN];
+tcount gamma_stamp; /* stamp counter for gamma changes */
+
+static void refresh_video(struct session *ses)
+{
+ struct rect r = {0, 0, 0, 0};
+ struct terminal *term;
+
+ display_red_gamma=atof(disp_red_g);
+ display_green_gamma=atof(disp_green_g);
+ display_blue_gamma=atof(disp_blue_g);
+ user_gamma=atof(user_g);
+ bfu_aspect=atof(aspect_str);
+ /* Flush font cache */
+ update_aspect();
+ gamma_stamp++;
+
+ /* Flush dip_get_color cache */
+ gamma_cache_rgb = -2;
+
+ /* Recompute dithering tables for the new gamma */
+ init_dither(drv->depth);
+
+ shutdown_bfu();
+ init_bfu();
+ init_grview();
+
+ html_interpret_recursive(ses->screen);
+ draw_formatted(ses);
+ /* Redraw all terminals */
+ foreach(term, terminals){
+ memcpy(&r, &term->dev->size, sizeof r);
+ t_redraw(term->dev, &r);
+ }
+
+}
+
+static unsigned char *video_msg[] = {
+ TEXT_(T_VIDEO_OPTIONS_TEXT),
+ TEXT_(T_RED_DISPLAY_GAMMA),
+ TEXT_(T_GREEN_DISPLAY_GAMMA),
+ TEXT_(T_BLUE_DISPLAY_GAMMA),
+ TEXT_(T_USER_GAMMA),
+ TEXT_(T_ASPECT_RATIO),
+ TEXT_(T_ASPECT_CORRECTION_ON),
+ TEXT_(T_DISPLAY_OPTIMIZATION_CRT),
+ TEXT_(T_DISPLAY_OPTIMIZATION_LCD_RGB),
+ TEXT_(T_DISPLAY_OPTIMIZATION_LCD_BGR),
+ TEXT_(T_DITHER_LETTERS),
+ TEXT_(T_DITHER_IMAGES),
+ TEXT_(T_8_BIT_GAMMA_CORRECTION),
+ TEXT_(T_16_BIT_GAMMA_CORRECTION),
+ TEXT_(T_AUTO_GAMMA_CORRECTION),
+};
+
+static void videoopt_fn(struct dialog_data *dlg)
+{
+ struct terminal *term = dlg->win->term;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = gf_val(-1, -G_BFU_FONT_SIZE);
+ max_text_width(term, video_msg[0], &max, AL_LEFT);
+ min_text_width(term, video_msg[0], &min, AL_LEFT);
+ max_group_width(term, video_msg + 1, dlg->items, 14, &max);
+ min_group_width(term, video_msg + 1, dlg->items, 14, &min);
+ max_buttons_width(term, dlg->items + 14, 2, &max);
+ min_buttons_width(term, dlg->items + 14, 2, &min);
+ w = dlg->win->term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ if (w > dlg->win->term->x - 2 * DIALOG_LB) w = dlg->win->term->x - 2 * DIALOG_LB;
+ if (w < 1) w = 1;
+ rw = 0;
+ dlg_format_text(dlg, NULL, video_msg[0], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_group(dlg, NULL, video_msg + 1, dlg->items, 5, 0, &y, w, &rw);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_checkboxes(dlg, NULL, dlg->items+5, 9, dlg->x + DIALOG_LB, &y, w, &rw, video_msg+6);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, NULL, dlg->items + 14, 2, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = w + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB;
+ dlg_format_text(dlg, term, video_msg[0], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(2, G_BFU_FONT_SIZE);
+ dlg_format_group(dlg, term, video_msg + 1, dlg->items, 5, dlg->x + DIALOG_LB, &y, w, NULL);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_checkboxes(dlg, term, dlg->items+5, 9, dlg->x + DIALOG_LB, &y, w, NULL, video_msg+6);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, term, &dlg->items[14], 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER);
+}
+
+static void remove_zeroes(unsigned char *string)
+{
+ int l=strlen(string);
+
+ while(l&&(string[l-1]=='0')){
+ l--;
+ string[l]=0;
+ }
+}
+
+static void video_options(struct terminal *term, void *xxx, struct session *ses)
+{
+ struct dialog *d;
+ snprintf(disp_red_g, VO_GAMMA_LEN, "%f", display_red_gamma);
+ remove_zeroes(disp_red_g);
+ snprintf(disp_green_g, VO_GAMMA_LEN, "%f", display_green_gamma);
+ remove_zeroes(disp_green_g);
+ snprintf(disp_blue_g, VO_GAMMA_LEN, "%f", display_blue_gamma);
+ remove_zeroes(disp_blue_g);
+ snprintf(user_g, VO_GAMMA_LEN, "%f", user_gamma);
+ remove_zeroes(user_g);
+ snprintf(aspect_str, VO_GAMMA_LEN, "%f", bfu_aspect);
+ remove_zeroes(aspect_str);
+ d = mem_calloc(sizeof(struct dialog) + 16 * sizeof(struct dialog_item));
+ d->title = TEXT_(T_VIDEO_OPTIONS);
+ d->fn = videoopt_fn;
+ d->refresh = (void (*)(void *))refresh_video;
+ d->refresh_data = ses;
+ d->items[0].type = D_FIELD;
+ d->items[0].dlen = VO_GAMMA_LEN;
+ d->items[0].data = disp_red_g;
+ d->items[0].fn = check_float;
+ d->items[0].gid = 1;
+ d->items[0].gnum = 10000;
+ d->items[1].type = D_FIELD;
+ d->items[1].dlen = VO_GAMMA_LEN;
+ d->items[1].data = disp_green_g;
+ d->items[1].fn = check_float;
+ d->items[1].gid = 1;
+ d->items[1].gnum = 10000;
+ d->items[2].type = D_FIELD;
+ d->items[2].dlen = VO_GAMMA_LEN;
+ d->items[2].data = disp_blue_g;
+ d->items[2].fn = check_float;
+ d->items[2].gid = 1;
+ d->items[2].gnum = 10000;
+ d->items[3].type = D_FIELD;
+ d->items[3].dlen = VO_GAMMA_LEN;
+ d->items[3].data = user_g;
+ d->items[3].fn = check_float;
+ d->items[3].gid = 1;
+ d->items[3].gnum = 10000;
+
+ d->items[4].type = D_FIELD;
+ d->items[4].dlen = VO_GAMMA_LEN;
+ d->items[4].data = aspect_str;
+ d->items[4].fn = check_float;
+ d->items[4].gid = 25;
+ d->items[4].gnum = 400;
+
+ d->items[5].type = D_CHECKBOX;
+ d->items[5].dlen = sizeof(int);
+ d->items[5].data = (void *)&aspect_on;
+
+ d->items[6].type = D_CHECKBOX;
+ d->items[6].gid = 1;
+ d->items[6].gnum = 0; /* CRT */
+ d->items[6].dlen = sizeof(int);
+ d->items[6].data = (void *)&display_optimize;
+ d->items[7].type = D_CHECKBOX;
+ d->items[7].gid = 1;
+ d->items[7].gnum = 1; /* LCD RGB */
+ d->items[7].dlen = sizeof(int);
+ d->items[7].data = (void *)&display_optimize;
+ d->items[8].type = D_CHECKBOX;
+ d->items[8].gid = 1;
+ d->items[8].gnum = 2; /* LCD BGR*/
+ d->items[8].dlen = sizeof(int);
+ d->items[8].data = (void *)&display_optimize;
+
+
+ d->items[9].type = D_CHECKBOX;
+ d->items[9].gid = 0;
+ d->items[9].dlen = sizeof(int);
+ d->items[9].data = (void *)&dither_letters;
+ d->items[10].type = D_CHECKBOX;
+ d->items[10].gid = 0;
+ d->items[10].dlen = sizeof(int);
+ d->items[10].data = (void *)&dither_images;
+ d->items[11].type = D_CHECKBOX;
+ d->items[11].gid = 2;
+ d->items[11].gnum = 0;
+ d->items[11].dlen = sizeof(int);
+ d->items[11].data = (void *)&gamma_bits;
+ d->items[12].type = D_CHECKBOX;
+ d->items[12].gid = 2;
+ d->items[12].gnum = 1;
+ d->items[12].dlen = sizeof(int);
+ d->items[12].data = (void *)&gamma_bits;
+ d->items[13].type = D_CHECKBOX;
+ d->items[13].gid = 2;
+ d->items[13].gnum = 2;
+ d->items[13].dlen = sizeof(int);
+ d->items[13].data = (void *)&gamma_bits;
+ d->items[14].type = D_BUTTON;
+ d->items[14].gid = B_ENTER;
+ d->items[14].fn = ok_dialog;
+ d->items[14].text = TEXT_(T_OK);
+ d->items[15].type = D_BUTTON;
+ d->items[15].gid = B_ESC;
+ d->items[15].fn = cancel_dialog;
+ d->items[15].text = TEXT_(T_CANCEL);
+ d->items[16].type = D_END;
+ do_dialog(term, d, getml(d, NULL));
+}
+
+#endif
+
+static unsigned char max_c_str[3];
+static unsigned char max_cth_str[3];
+static unsigned char max_t_str[3];
+static unsigned char time_str[5];
+static unsigned char unrtime_str[5];
+
+static void refresh_net(void *xxx)
+{
+ max_connections = atoi(max_c_str);
+ max_connections_to_host = atoi(max_cth_str);
+ max_tries = atoi(max_t_str);
+ receive_timeout = atoi(time_str);
+ unrestartable_receive_timeout = atoi(unrtime_str);
+ abort_all_keepalive_connections();
+ abort_background_connections();
+ register_bottom_half(check_queue, NULL);
+}
+
+static unsigned char *proxy_msg[] = {
+ TEXT_(T_HTTP_PROXY__HOST_PORT),
+ TEXT_(T_FTP_PROXY__HOST_PORT),
+ TEXT_(T_SOCKS_4A_PROXY__USER_HOST_PORT),
+ TEXT_(T_APPEND_TEXT_TO_SOCKS_LOOKUPS),
+ TEXT_(T_ONLY_PROXIES),
+};
+
+#define N_N 4
+
+static void proxy_fn(struct dialog_data *dlg)
+{
+ struct terminal *term = dlg->win->term;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = gf_val(-1, -G_BFU_FONT_SIZE);
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ max_text_width(term, proxy_msg[0], &max, AL_LEFT);
+ min_text_width(term, proxy_msg[0], &min, AL_LEFT);
+ max_text_width(term, proxy_msg[1], &max, AL_LEFT);
+ min_text_width(term, proxy_msg[1], &min, AL_LEFT);
+ max_text_width(term, proxy_msg[2], &max, AL_LEFT);
+ max_text_width(term, proxy_msg[2], &max, AL_LEFT);
+ min_text_width(term, proxy_msg[3], &min, AL_LEFT);
+ min_text_width(term, proxy_msg[3], &min, AL_LEFT);
+ max_group_width(term, proxy_msg + N_N, dlg->items + N_N, dlg->n - 2 - N_N, &max);
+ min_group_width(term, proxy_msg + N_N, dlg->items + N_N, dlg->n - 2 - N_N, &min);
+ max_buttons_width(term, dlg->items + dlg->n - 2, 2, &max);
+ min_buttons_width(term, dlg->items + dlg->n - 2, 2, &min);
+ w = dlg->win->term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ if (w > dlg->win->term->x - 2 * DIALOG_LB) w = dlg->win->term->x - 2 * DIALOG_LB;
+ if (w < 1) w = 1;
+ rw = 0;
+ dlg_format_text_and_field(dlg, NULL, proxy_msg[0], &dlg->items[0], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ if (!dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE * 1);
+ dlg_format_text_and_field(dlg, NULL, proxy_msg[1], &dlg->items[1], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ if (!dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE * 1);
+ dlg_format_text_and_field(dlg, NULL, proxy_msg[2], &dlg->items[2], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ if (!dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE * 1);
+ dlg_format_text_and_field(dlg, NULL, proxy_msg[3], &dlg->items[3], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ if (!dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE * 1);
+ dlg_format_group(dlg, NULL, proxy_msg + N_N, dlg->items + N_N, dlg->n - 2 - N_N, 0, &y, w, &rw);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, NULL, dlg->items + dlg->n - 2, 2, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = w + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB;
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, proxy_msg[0], &dlg->items[0], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ if (!dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, proxy_msg[1], &dlg->items[1], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ if (!dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, proxy_msg[2], &dlg->items[2], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ if (!dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, proxy_msg[3], &dlg->items[3], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ if (!dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_group(dlg, term, proxy_msg + N_N, &dlg->items[N_N], dlg->n - 2 - N_N, dlg->x + DIALOG_LB, &y, w, NULL);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, term, &dlg->items[dlg->n - 2], 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER);
+}
+
+static int dlg_proxy_options(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ struct proxies *p = (struct proxies *)di->cdata;
+ struct dialog *d;
+ snprint(max_c_str, 3, max_connections);
+ snprint(max_cth_str, 3, max_connections_to_host);
+ snprint(max_t_str, 3, max_tries);
+ snprint(time_str, 5, receive_timeout);
+ snprint(unrtime_str, 5, unrestartable_receive_timeout);
+ d = mem_calloc(sizeof(struct dialog) + 7 * sizeof(struct dialog_item));
+ d->title = TEXT_(T_PROXIES);
+ d->fn = proxy_fn;
+ d->refresh = (void (*)(void *))refresh_net;
+ d->items[0].type = D_FIELD;
+ d->items[0].dlen = MAX_STR_LEN;
+ d->items[0].data = p->http_proxy;
+ d->items[1].type = D_FIELD;
+ d->items[1].dlen = MAX_STR_LEN;
+ d->items[1].data = p->ftp_proxy;
+ d->items[2].type = D_FIELD;
+ d->items[2].dlen = MAX_STR_LEN;
+ d->items[2].data = p->socks_proxy;
+ d->items[3].type = D_FIELD;
+ d->items[3].dlen = MAX_STR_LEN;
+ d->items[3].data = p->dns_append;
+ d->items[4].type = D_CHECKBOX;
+ d->items[4].data = (unsigned char *)&p->only_proxies;
+ d->items[4].dlen = sizeof(int);
+ d->items[5].type = D_BUTTON;
+ d->items[5].gid = B_ENTER;
+ d->items[5].fn = ok_dialog;
+ d->items[5].text = TEXT_(T_OK);
+ d->items[6].type = D_BUTTON;
+ d->items[6].gid = B_ESC;
+ d->items[6].fn = cancel_dialog;
+ d->items[6].text = TEXT_(T_CANCEL);
+ d->items[7].type = D_END;
+ do_dialog(dlg->win->term, d, getml(d, NULL));
+ return 0;
+}
+
+static unsigned char *net_msg[] = {
+ TEXT_(T_MAX_CONNECTIONS),
+ TEXT_(T_MAX_CONNECTIONS_TO_ONE_HOST),
+ TEXT_(T_RETRIES),
+ TEXT_(T_RECEIVE_TIMEOUT_SEC),
+ TEXT_(T_TIMEOUT_WHEN_UNRESTARTABLE),
+ TEXT_(T_BIND_TO_LOCAL_IP_ADDRESS),
+ TEXT_(T_ASYNC_DNS_LOOKUP),
+ TEXT_(T_SET_TIME_OF_DOWNLOADED_FILES),
+ "",
+ "",
+ "",
+};
+
+static void net_options(struct terminal *term, void *xxx, void *yyy)
+{
+ struct dialog *d;
+ snprint(max_c_str, 3, max_connections);
+ snprint(max_cth_str, 3, max_connections_to_host);
+ snprint(max_t_str, 3, max_tries);
+ snprint(time_str, 5, receive_timeout);
+ snprint(unrtime_str, 5, unrestartable_receive_timeout);
+ d = mem_calloc(sizeof(struct dialog) + 13 * sizeof(struct dialog_item));
+ d->title = TEXT_(T_NETWORK_OPTIONS);
+ d->fn = group_fn;
+ d->udata = net_msg;
+ d->refresh = (void (*)(void *))refresh_net;
+ d->items[0].type = D_FIELD;
+ d->items[0].data = max_c_str;
+ d->items[0].dlen = 3;
+ d->items[0].fn = check_number;
+ d->items[0].gid = 1;
+ d->items[0].gnum = 99;
+ d->items[1].type = D_FIELD;
+ d->items[1].data = max_cth_str;
+ d->items[1].dlen = 3;
+ d->items[1].fn = check_number;
+ d->items[1].gid = 1;
+ d->items[1].gnum = 99;
+ d->items[2].type = D_FIELD;
+ d->items[2].data = max_t_str;
+ d->items[2].dlen = 3;
+ d->items[2].fn = check_number;
+ d->items[2].gid = 0;
+ d->items[2].gnum = 16;
+ d->items[3].type = D_FIELD;
+ d->items[3].data = time_str;
+ d->items[3].dlen = 5;
+ d->items[3].fn = check_number;
+ d->items[3].gid = 1;
+ d->items[3].gnum = 9999;
+ d->items[4].type = D_FIELD;
+ d->items[4].data = unrtime_str;
+ d->items[4].dlen = 5;
+ d->items[4].fn = check_number;
+ d->items[4].gid = 1;
+ d->items[4].gnum = 9999;
+ d->items[5].type = D_FIELD;
+ d->items[5].data = bind_ip_address;
+ d->items[5].dlen = sizeof(bind_ip_address);
+ d->items[5].fn = check_local_ip_address;
+ d->items[6].type = D_CHECKBOX;
+ d->items[6].data = (unsigned char *)&async_lookup;
+ d->items[6].dlen = sizeof(int);
+ d->items[7].type = D_CHECKBOX;
+ d->items[7].data = (unsigned char *)&download_utime;
+ d->items[7].dlen = sizeof(int);
+ d->items[8].type = D_BUTTON;
+ d->items[8].gid = 0;
+ d->items[8].fn = dlg_proxy_options;
+ d->items[8].text = TEXT_(T_PROXIES);
+ d->items[8].data = (unsigned char *)&proxies;
+ d->items[8].dlen = sizeof(struct proxies);
+ d->items[9].type = D_BUTTON;
+ d->items[9].gid = 0;
+ d->items[9].fn = dlg_http_options;
+ d->items[9].text = TEXT_(T_HTTP_OPTIONS);
+ d->items[9].data = (unsigned char *)&http_options;
+ d->items[9].dlen = sizeof(struct http_options);
+ d->items[10].type = D_BUTTON;
+ d->items[10].gid = 0;
+ d->items[10].fn = dlg_ftp_options;
+ d->items[10].text = TEXT_(T_FTP_OPTIONS);
+ d->items[10].data = (unsigned char *)&ftp_options;
+ d->items[10].dlen = sizeof(struct ftp_options);
+ d->items[11].type = D_BUTTON;
+ d->items[11].gid = B_ENTER;
+ d->items[11].fn = ok_dialog;
+ d->items[11].text = TEXT_(T_OK);
+ d->items[12].type = D_BUTTON;
+ d->items[12].gid = B_ESC;
+ d->items[12].fn = cancel_dialog;
+ d->items[12].text = TEXT_(T_CANCEL);
+ d->items[13].type = D_END;
+ do_dialog(term, d, getml(d, NULL));
+}
+
+#undef N_N
+
+static unsigned char *prg_msg[] = {
+ TEXT_(T_MAILTO_PROG),
+ TEXT_(T_TELNET_PROG),
+ TEXT_(T_TN3270_PROG),
+ TEXT_(T_MMS_PROG),
+ TEXT_(T_MAGNET_PROG),
+ TEXT_(T_SHELL_PROG),
+ ""
+};
+
+static void netprog_fn(struct dialog_data *dlg)
+{
+ struct terminal *term = dlg->win->term;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = gf_val(-1, -G_BFU_FONT_SIZE);
+ int a;
+ a=0;
+ max_text_width(term, prg_msg[a], &max, AL_LEFT);
+ min_text_width(term, prg_msg[a++], &min, AL_LEFT);
+ max_text_width(term, prg_msg[a], &max, AL_LEFT);
+ min_text_width(term, prg_msg[a++], &min, AL_LEFT);
+ max_text_width(term, prg_msg[a], &max, AL_LEFT);
+ min_text_width(term, prg_msg[a++], &min, AL_LEFT);
+ max_text_width(term, prg_msg[a], &max, AL_LEFT);
+ min_text_width(term, prg_msg[a++], &min, AL_LEFT);
+ max_text_width(term, prg_msg[a], &max, AL_LEFT);
+ min_text_width(term, prg_msg[a++], &min, AL_LEFT);
+#ifdef G
+ if (F && drv->exec) {
+ max_text_width(term, prg_msg[a], &max, AL_LEFT);
+ min_text_width(term, prg_msg[a++], &min, AL_LEFT);
+ }
+#endif
+ max_buttons_width(term, dlg->items + a, 2, &max);
+ min_buttons_width(term, dlg->items + a, 2, &min);
+ w = dlg->win->term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ if (w > dlg->win->term->x - 2 * DIALOG_LB) w = dlg->win->term->x - 2 * DIALOG_LB;
+ if (w < 1) w = 1;
+ rw = 0;
+ a=0;
+ if (term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, NULL, prg_msg[a], &dlg->items[a], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ a++;
+ if (!term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, NULL, prg_msg[a], &dlg->items[a], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ a++;
+ if (!term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, NULL, prg_msg[a], &dlg->items[a], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ a++;
+ if (!term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, NULL, prg_msg[a], &dlg->items[a], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ a++;
+ if (!term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, NULL, prg_msg[a], &dlg->items[a], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ a++;
+ if (!term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+#ifdef G
+ if (F && drv->exec) {
+ dlg_format_text_and_field(dlg, NULL, prg_msg[a], &dlg->items[a], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ a++;
+ if (!term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ }
+#endif
+ if (term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, NULL, dlg->items + a, 2, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = w + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB;
+ if (term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ a=0;
+ dlg_format_text_and_field(dlg, term, prg_msg[a], &dlg->items[a], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ a++;
+ if (!term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, prg_msg[a], &dlg->items[a], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ a++;
+ if (!term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, prg_msg[a], &dlg->items[a], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ a++;
+ if (!term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, prg_msg[a], &dlg->items[a], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ a++;
+ if (!term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, prg_msg[a], &dlg->items[a], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ a++;
+ if (!term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+#ifdef G
+ if (F && drv->exec) {
+ dlg_format_text_and_field(dlg, term, prg_msg[a], &dlg->items[a], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ a++;
+ if (!term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ }
+#endif
+ if (term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, term, &dlg->items[a], 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER);
+}
+
+static void net_programs(struct terminal *term, void *xxx, void *yyy)
+{
+ struct dialog *d;
+ int a;
+ d = mem_calloc(sizeof(struct dialog) + 8 * sizeof(struct dialog_item));
+#ifdef G
+ if (F && drv->exec) d->title = TEXT_(T_MAIL_TELNET_AND_SHELL_PROGRAMS);
+ else
+#endif
+ d->title = TEXT_(T_MAIL_AND_TELNET_PROGRAMS);
+
+ d->fn = netprog_fn;
+ d->items[a=0].type = D_FIELD;
+ d->items[a].dlen = MAX_STR_LEN;
+ d->items[a++].data = get_prog(&mailto_prog);
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = MAX_STR_LEN;
+ d->items[a++].data = get_prog(&telnet_prog);
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = MAX_STR_LEN;
+ d->items[a++].data = get_prog(&tn3270_prog);
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = MAX_STR_LEN;
+ d->items[a++].data = get_prog(&mms_prog);
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = MAX_STR_LEN;
+ d->items[a++].data = get_prog(&magnet_prog);
+#ifdef G
+ if (F && drv->exec) {
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = MAX_STR_LEN;
+ d->items[a++].data = drv->shell;
+ }
+#endif
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = B_ENTER;
+ d->items[a].fn = ok_dialog;
+ d->items[a++].text = TEXT_(T_OK);
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = B_ESC;
+ d->items[a].fn = cancel_dialog;
+ d->items[a++].text = TEXT_(T_CANCEL);
+ d->items[a].type = D_END;
+ do_dialog(term, d, getml(d, NULL));
+}
+
+static unsigned char mc_str[8];
+#ifdef G
+static unsigned char ic_str[8];
+static unsigned char fc_str[8];
+#endif
+static unsigned char doc_str[4];
+
+static void cache_refresh(void *xxx)
+{
+ memory_cache_size = atoi(mc_str) * 1024;
+#ifdef G
+ if (F) {
+ image_cache_size = atoi(ic_str) * 1024;
+ font_cache_size = atoi(fc_str) * 1024;
+ }
+#endif
+ max_format_cache_entries = atoi(doc_str);
+ shrink_memory(SH_CHECK_QUOTA);
+}
+
+static unsigned char *cache_texts[] = { TEXT_(T_MEMORY_CACHE_SIZE__KB), TEXT_(T_NUMBER_OF_FORMATTED_DOCUMENTS), TEXT_(T_AGGRESSIVE_CACHE) };
+#ifdef G
+static unsigned char *g_cache_texts[] = { TEXT_(T_MEMORY_CACHE_SIZE__KB), TEXT_(T_IMAGE_CACHE_SIZE__KB), TEXT_(T_FONT_CACHE_SIZE__KB), TEXT_(T_NUMBER_OF_FORMATTED_DOCUMENTS), TEXT_(T_AGGRESSIVE_CACHE) };
+#endif
+
+static void cache_opt(struct terminal *term, void *xxx, void *yyy)
+{
+ struct dialog *d;
+ int a;
+ snprint(mc_str, 8, memory_cache_size / 1024);
+#ifdef G
+ if (F) {
+ snprint(ic_str, 8, image_cache_size / 1024);
+ snprint(fc_str, 8, font_cache_size / 1024);
+ }
+#endif
+ snprint(doc_str, 4, max_format_cache_entries);
+#ifdef G
+ if (F) {
+ d = mem_calloc(sizeof(struct dialog) + 7 * sizeof(struct dialog_item));
+ } else
+#endif
+ {
+ d = mem_calloc(sizeof(struct dialog) + 5 * sizeof(struct dialog_item));
+ }
+ a=0;
+ d->title = TEXT_(T_CACHE_OPTIONS);
+ d->fn = group_fn;
+#ifdef G
+ if (F) d->udata = g_cache_texts;
+ else
+#endif
+ d->udata = cache_texts;
+ d->refresh = (void (*)(void *))cache_refresh;
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = 8;
+ d->items[a].data = mc_str;
+ d->items[a].fn = check_number;
+ d->items[a].gid = 0;
+ d->items[a].gnum = MAXINT / 1024;
+ a++;
+#ifdef G
+ if (F)
+ {
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = 8;
+ d->items[a].data = ic_str;
+ d->items[a].fn = check_number;
+ d->items[a].gid = 0;
+ d->items[a].gnum = MAXINT / 1024;
+ a++;
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = 8;
+ d->items[a].data = fc_str;
+ d->items[a].fn = check_number;
+ d->items[a].gid = 0;
+ d->items[a].gnum = MAXINT / 1024;
+ a++;
+ }
+#endif
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = 4;
+ d->items[a].data = doc_str;
+ d->items[a].fn = check_number;
+ d->items[a].gid = 0;
+ d->items[a].gnum = 999;
+ a++;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].gid = 0;
+ d->items[a].dlen = sizeof(int);
+ d->items[a].data = (void *)&aggressive_cache;
+ a++;
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = B_ENTER;
+ d->items[a].fn = ok_dialog;
+ d->items[a].text = TEXT_(T_OK);
+ a++;
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = B_ESC;
+ d->items[a].fn = cancel_dialog;
+ d->items[a].text = TEXT_(T_CANCEL);
+ a++;
+ d->items[a].type = D_END;
+ do_dialog(term, d, getml(d, NULL));
+}
+
+static void menu_shell(struct terminal *term, void *xxx, void *yyy)
+{
+ unsigned char *sh;
+ if (!(sh = GETSHELL)) sh = DEFAULT_SHELL;
+ exec_on_terminal(term, sh, "", 1);
+}
+
+static void menu_kill_background_connections(struct terminal *term, void *xxx, void *yyy)
+{
+ abort_background_connections();
+}
+
+static void menu_kill_all_connections(struct terminal *term, void *xxx, void *yyy)
+{
+ abort_all_connections();
+}
+
+static void menu_save_html_options(struct terminal *term, void *xxx, struct session *ses)
+{
+ memcpy(&dds, &ses->ds, sizeof(struct document_setup));
+ write_html_config(term);
+}
+
+static unsigned char marg_str[2];
+#ifdef G
+static unsigned char html_font_str[4];
+static unsigned char image_scale_str[6];
+#endif
+
+static void html_refresh(struct session *ses)
+{
+ ses->ds.margin = atoi(marg_str);
+#ifdef G
+ if (F) {
+ ses->ds.font_size = atoi(html_font_str);
+ ses->ds.image_scale = atoi(image_scale_str);
+ }
+#endif
+ html_interpret_recursive(ses->screen);
+ draw_formatted(ses);
+}
+
+#ifdef G
+static unsigned char *html_texts_g[] = { TEXT_(T_DISPLAY_TABLES),
+ TEXT_(T_DISPLAY_FRAMES), TEXT_(T_DISPLAY_LINKS_TO_IMAGES),
+ TEXT_(T_DISPLAY_IMAGE_FILENAMES), TEXT_(T_DISPLAY_IMAGES),
+ TEXT_(T_AUTO_REFRESH), TEXT_(T_TARGET_IN_NEW_WINDOW), TEXT_(T_TEXT_MARGIN),
+ "", TEXT_(T_IGNORE_CHARSET_INFO_SENT_BY_SERVER), TEXT_(T_USER_FONT_SIZE),
+ TEXT_(T_SCALE_ALL_IMAGES_BY), TEXT_(T_PORN_ENABLE)
+};
+#endif
+
+static unsigned char *html_texts[] = { TEXT_(T_DISPLAY_TABLES), TEXT_(T_DISPLAY_FRAMES), TEXT_(T_DISPLAY_LINKS_TO_IMAGES), TEXT_(T_DISPLAY_IMAGE_FILENAMES), TEXT_(T_LINK_ORDER_BY_COLUMNS), TEXT_(T_NUMBERED_LINKS), TEXT_(T_AUTO_REFRESH), TEXT_(T_TARGET_IN_NEW_WINDOW), TEXT_(T_TEXT_MARGIN), "", TEXT_(T_IGNORE_CHARSET_INFO_SENT_BY_SERVER) };
+
+static int dlg_assume_cp(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ charset_sel_list(dlg->win->term, dlg->dlg->udata2, (int *)di->cdata);
+ return 0;
+}
+
+#ifdef G
+static int dlg_kb_cp(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ charset_sel_list(dlg->win->term, dlg->dlg->udata2, (int *)di->cdata);
+ return 0;
+}
+#endif
+
+static void menu_html_options(struct terminal *term, void *xxx, struct session *ses)
+{
+ struct dialog *d;
+ int a;
+
+ snprint(marg_str, 2, ses->ds.margin);
+ if (!F) {
+ d = mem_calloc(sizeof(struct dialog) + 13 * sizeof(struct dialog_item));
+#ifdef G
+ } else {
+ d = mem_calloc(sizeof(struct dialog) + 15 * sizeof(struct dialog_item));
+ snprintf(html_font_str,4,"%d",ses->ds.font_size);
+ snprintf(image_scale_str,6,"%d",ses->ds.image_scale);
+#endif
+ }
+ d->title = TEXT_(T_HTML_OPTIONS);
+ d->fn = group_fn;
+ d->udata = gf_val(html_texts, html_texts_g);
+ d->udata2 = ses;
+ d->refresh = (void (*)(void *))html_refresh;
+ d->refresh_data = ses;
+ a=0;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].data = (unsigned char *) &ses->ds.tables;
+ d->items[a].dlen = sizeof(int);
+ a++;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].data = (unsigned char *) &ses->ds.frames;
+ d->items[a].dlen = sizeof(int);
+ a++;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].data = (unsigned char *) &ses->ds.images;
+ d->items[a].dlen = sizeof(int);
+ a++;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].data = (unsigned char *) &ses->ds.image_names;
+ d->items[a].dlen = sizeof(int);
+ a++;
+#ifdef G
+ if (F) {
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].data = (unsigned char *) &ses->ds.display_images;
+ d->items[a].dlen = sizeof(int);
+ a++;
+ }
+#endif
+ if (!F) {
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].data = (unsigned char *) &ses->ds.table_order;
+ d->items[a].dlen = sizeof(int);
+ a++;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].data = (unsigned char *) &ses->ds.num_links;
+ d->items[a].dlen = sizeof(int);
+ a++;
+ }
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].data = (unsigned char *) &ses->ds.auto_refresh;
+ d->items[a].dlen = sizeof(int);
+ a++;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].data = (unsigned char *) &ses->ds.target_in_new_window;
+ d->items[a].dlen = sizeof(int);
+ a++;
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = 2;
+ d->items[a].data = marg_str;
+ d->items[a].fn = check_number;
+ d->items[a].gid = 0;
+ d->items[a].gnum = 9;
+ a++;
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = 0;
+ d->items[a].fn = dlg_assume_cp;
+ d->items[a].text = TEXT_(T_DEFAULT_CODEPAGE);
+ d->items[a].data = (unsigned char *) &ses->ds.assume_cp;
+ d->items[a].dlen = sizeof(int);
+ a++;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].data = (unsigned char *) &ses->ds.hard_assume;
+ d->items[a].dlen = sizeof(int);
+ a++;
+#ifdef G
+ if (F) {
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = 4;
+ d->items[a].data = html_font_str;
+ d->items[a].fn = check_number;
+ d->items[a].gid = 1;
+ d->items[a].gnum = MAX_FONT_SIZE;
+ a++;
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = 4;
+ d->items[a].data = image_scale_str;
+ d->items[a].fn = check_number;
+ d->items[a].gid = 1;
+ d->items[a].gnum = 500;
+ a++;
+ d->items[a].type = D_CHECKBOX;
+ d->items[a].data = (unsigned char *) &ses->ds.porn_enable;
+ d->items[a].dlen = sizeof(int);
+ a++;
+ }
+#endif
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = B_ENTER;
+ d->items[a].fn = ok_dialog;
+ d->items[a].text = TEXT_(T_OK);
+ a++;
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = B_ESC;
+ d->items[a].fn = cancel_dialog;
+ d->items[a].text = TEXT_(T_CANCEL);
+ a++;
+ d->items[a].type = D_END;
+ do_dialog(term, d, getml(d, NULL));
+}
+
+static unsigned char *color_texts[] = { "", "", "", TEXT_(T_IGNORE_DOCUMENT_COLOR) };
+
+#ifdef G
+static unsigned char *color_texts_g[] = { TEXT_(T_TEXT_COLOR), TEXT_(T_LINK_COLOR), TEXT_(T_BACKGROUND_COLOR), TEXT_(T_IGNORE_DOCUMENT_COLOR) };
+
+static unsigned char g_text_color_str[7];
+static unsigned char g_link_color_str[7];
+static unsigned char g_background_color_str[7];
+#endif
+
+static void html_color_refresh(struct session *ses)
+{
+#ifdef G
+ if (F) {
+ ses->ds.g_text_color = strtol(g_text_color_str, 0, 16);
+ ses->ds.g_link_color = strtol(g_link_color_str, 0, 16);
+ ses->ds.g_background_color = strtol(g_background_color_str, 0, 16);
+ }
+#endif
+ html_interpret_recursive(ses->screen);
+ draw_formatted(ses);
+}
+
+static void select_color(struct terminal *term, int n, int *ptr)
+{
+ int i;
+ struct menu_item *mi;
+ mi = new_menu(1);
+ for (i = 0; i < n; i++) {
+ add_to_menu(&mi, TEXT_(T_COLOR_0 + i), "", "", MENU_FUNC set_val, (void *)(unsigned long)i, 0, i);
+ }
+ do_menu_selected(term, mi, ptr, *ptr);
+}
+
+static int select_color_8(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ select_color(dlg->win->term, 8, (int *)di->cdata);
+ return 0;
+}
+
+static int select_color_16(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ select_color(dlg->win->term, 16, (int *)di->cdata);
+ return 0;
+}
+
+static void menu_color(struct terminal *term, void *xxx, struct session *ses)
+{
+ struct dialog *d;
+
+#ifdef G
+ if (F) {
+ snprintf(g_text_color_str, 7, "%06x", (unsigned)ses->ds.g_text_color);
+ snprintf(g_link_color_str, 7, "%06x", (unsigned)ses->ds.g_link_color);
+ snprintf(g_background_color_str,7,"%06x", (unsigned)ses->ds.g_background_color);
+ }
+#endif
+
+ d = mem_calloc(sizeof(struct dialog) + 6 * sizeof(struct dialog_item));
+ d->title = TEXT_(T_COLOR);
+ d->fn = group_fn;
+ d->udata = gf_val(color_texts, color_texts_g);
+ d->udata2 = ses;
+ d->refresh = (void (*)(void *))html_color_refresh;
+ d->refresh_data = ses;
+
+ if (!F) {
+ d->items[0].type = D_BUTTON;
+ d->items[0].gid = 0;
+ d->items[0].text = TEXT_(T_TEXT_COLOR);
+ d->items[0].fn = select_color_16;
+ d->items[0].data = (unsigned char *)&ses->ds.t_text_color;
+ d->items[0].dlen = sizeof(int);
+
+ d->items[1].type = D_BUTTON;
+ d->items[1].gid = 0;
+ d->items[1].text = TEXT_(T_LINK_COLOR);
+ d->items[1].fn = select_color_16;
+ d->items[1].data = (unsigned char *)&ses->ds.t_link_color;
+ d->items[1].dlen = sizeof(int);
+
+ d->items[2].type = D_BUTTON;
+ d->items[2].gid = 0;
+ d->items[2].text = TEXT_(T_BACKGROUND_COLOR);
+ d->items[2].fn = select_color_8;
+ d->items[2].data = (unsigned char *)&ses->ds.t_background_color;
+ d->items[2].dlen = sizeof(int);
+ }
+#ifdef G
+ else {
+ d->items[0].type = D_FIELD;
+ d->items[0].dlen = 7;
+ d->items[0].data = g_text_color_str;
+ d->items[0].fn = check_hex_number;
+ d->items[0].gid = 0;
+ d->items[0].gnum = 0xffffff;
+
+ d->items[1].type = D_FIELD;
+ d->items[1].dlen = 7;
+ d->items[1].data = g_link_color_str;
+ d->items[1].fn = check_hex_number;
+ d->items[1].gid = 0;
+ d->items[1].gnum = 0xffffff;
+
+ d->items[2].type = D_FIELD;
+ d->items[2].dlen = 7;
+ d->items[2].data = g_background_color_str;
+ d->items[2].fn = check_hex_number;
+ d->items[2].gid = 0;
+ d->items[2].gnum = 0xffffff;
+ }
+#endif
+
+ d->items[3].type = D_CHECKBOX;
+ d->items[3].data = (unsigned char *) gf_val(&ses->ds.t_ignore_document_color, &ses->ds.g_ignore_document_color);
+ d->items[3].dlen = sizeof(int);
+
+ d->items[4].type = D_BUTTON;
+ d->items[4].gid = B_ENTER;
+ d->items[4].fn = ok_dialog;
+ d->items[4].text = TEXT_(T_OK);
+
+ d->items[5].type = D_BUTTON;
+ d->items[5].gid = B_ESC;
+ d->items[5].fn = cancel_dialog;
+ d->items[5].text = TEXT_(T_CANCEL);
+
+ d->items[6].type = D_END;
+
+ do_dialog(term, d, getml(d, NULL));
+}
+
+static unsigned char new_bookmarks_file[MAX_STR_LEN];
+static int new_bookmarks_codepage;
+
+#ifdef G
+static unsigned char menu_font_str[4];
+static unsigned char bg_color_str[7];
+static unsigned char fg_color_str[7];
+static unsigned char scroll_area_color_str[7];
+static unsigned char scroll_bar_color_str[7];
+static unsigned char scroll_frame_color_str[7];
+#endif
+
+static void refresh_misc(struct session *ses)
+{
+#ifdef G
+ if (F) {
+ struct session *ses;
+
+ menu_font_size=strtol(menu_font_str,0,10);
+ G_BFU_FG_COLOR=strtol(fg_color_str,0,16);
+ G_BFU_BG_COLOR=strtol(bg_color_str,0,16);
+ G_SCROLL_BAR_AREA_COLOR=strtol(scroll_area_color_str,0,16);
+ G_SCROLL_BAR_BAR_COLOR=strtol(scroll_bar_color_str,0,16);
+ G_SCROLL_BAR_FRAME_COLOR=strtol(scroll_frame_color_str,0,16);
+ shutdown_bfu();
+ init_bfu();
+ init_grview();
+ foreach(ses, sessions) {
+ ses->term->dev->resize_handler(ses->term->dev);
+ }
+ }
+#endif
+ if (strcmp(new_bookmarks_file,bookmarks_file)||new_bookmarks_codepage!=bookmarks_codepage)
+ {
+ reinit_bookmarks(ses, new_bookmarks_file, new_bookmarks_codepage);
+ }
+}
+
+#ifdef G
+static unsigned char *miscopt_labels_g[] = { TEXT_(T_MENU_FONT_SIZE), TEXT_(T_ENTER_COLORS_AS_RGB_TRIPLETS), TEXT_(T_MENU_FOREGROUND_COLOR), TEXT_(T_MENU_BACKGROUND_COLOR), TEXT_(T_SCROLL_BAR_AREA_COLOR), TEXT_(T_SCROLL_BAR_BAR_COLOR), TEXT_(T_SCROLL_BAR_FRAME_COLOR), TEXT_(T_BOOKMARKS_FILE), NULL };
+#endif
+static unsigned char *miscopt_labels[] = { TEXT_(T_BOOKMARKS_FILE), NULL };
+
+
+static void miscopt_fn(struct dialog_data *dlg)
+{
+ struct terminal *term = dlg->win->term;
+ unsigned char **labels=dlg->dlg->udata;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = 0;
+ int a=0;
+ int bmk=!anonymous;
+
+#ifdef G
+ if (F&&((drv->flags)&GD_NEED_CODEPAGE))a=1;
+#endif
+
+ max_text_width(term, labels[F?7:0], &max, AL_LEFT);
+ min_text_width(term, labels[F?7:0], &min, AL_LEFT);
+#ifdef G
+ if (F)
+ {
+ max_text_width(term, labels[1], &max, AL_LEFT);
+ min_text_width(term, labels[1], &min, AL_LEFT);
+ max_group_width(term, labels, dlg->items, 1, &max);
+ min_group_width(term, labels, dlg->items, 1, &min);
+ max_group_width(term, labels, dlg->items+2, 5, &max);
+ min_group_width(term, labels, dlg->items+2, 5, &min);
+ }
+#endif
+ if (bmk)
+ {
+ max_buttons_width(term, dlg->items + dlg->n - 3 - a, 1, &max);
+ min_buttons_width(term, dlg->items + dlg->n - 3 - a, 1, &min);
+ }
+ if (a)
+ {
+ max_buttons_width(term, dlg->items + dlg->n - 3, 1, &max);
+ min_buttons_width(term, dlg->items + dlg->n - 3, 1, &min);
+ }
+ max_buttons_width(term, dlg->items + dlg->n - 2, 2, &max);
+ min_buttons_width(term, dlg->items + dlg->n - 2, 2, &min);
+ w = term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ if (w > term->x - 2 * DIALOG_LB) w = term->x - 2 * DIALOG_LB;
+ if (w < 5) w = 5;
+ rw = 0;
+
+#ifdef G
+ if (F)
+ {
+ dlg_format_group(dlg, NULL, labels, dlg->items,1,dlg->x + DIALOG_LB, &y, w, &rw);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text(dlg, NULL, labels[1], dlg->x + DIALOG_LB, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_group(dlg, NULL, labels+2, dlg->items+1,5,dlg->x + DIALOG_LB, &y, w, &rw);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ }
+#endif
+ if (bmk)
+ {
+ dlg_format_text_and_field(dlg, NULL, labels[F?7:0], dlg->items + dlg->n - 4 - a, 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ }
+ if (bmk) {
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, NULL, dlg->items + dlg->n - 3 - a, 1, 0, &y, w, &rw, AL_LEFT);
+ }
+ if (a) dlg_format_buttons(dlg, NULL, dlg->items + dlg->n - 3, 1, 0, &y, w, &rw, AL_LEFT);
+ dlg_format_buttons(dlg, NULL, dlg->items +dlg->n-2, 2, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = w + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB;
+#ifdef G
+ if (F)
+ {
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_group(dlg, term, labels, dlg->items,1,dlg->x + DIALOG_LB, &y, w, NULL);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text(dlg, term, labels[1], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_group(dlg, term, labels+2, dlg->items+1,5,dlg->x + DIALOG_LB, &y, w, NULL);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ } else
+#endif
+ {
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ }
+ if (bmk)
+ {
+ dlg_format_text_and_field(dlg, term, labels[F?7:0], dlg->items + dlg->n - 4 - a, dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, term, dlg->items + dlg->n - 3 - a, 1, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER);
+ }
+ if (a) dlg_format_buttons(dlg, term, dlg->items + dlg->n - 3, 1, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER);
+ dlg_format_buttons(dlg, term, dlg->items+dlg->n-2, 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER);
+}
+
+
+static void miscelaneous_options(struct terminal *term, void *xxx, struct session *ses)
+{
+ struct dialog *d;
+ int a=0;
+
+ if (anonymous&&!F) return; /* if you add something into text mode (or both text and graphics), remove this (and enable also miscelaneous_options in setip_menu_anon) */
+
+ safe_strncpy(new_bookmarks_file,bookmarks_file,MAX_STR_LEN);
+ new_bookmarks_codepage=bookmarks_codepage;
+ if (!F) {
+ d = mem_calloc(sizeof(struct dialog) + 4 * sizeof(struct dialog_item));
+ }
+#ifdef G
+ else {
+ d = mem_calloc(sizeof(struct dialog) + 11 * sizeof(struct dialog_item));
+ snprintf(menu_font_str,4,"%d",menu_font_size);
+ snprintf(fg_color_str,7,"%06x",(unsigned) G_BFU_FG_COLOR);
+ snprintf(bg_color_str,7,"%06x",(unsigned) G_BFU_BG_COLOR);
+ snprintf(scroll_bar_color_str,7,"%06x",(unsigned) G_SCROLL_BAR_BAR_COLOR);
+ snprintf(scroll_area_color_str,7,"%06x",(unsigned) G_SCROLL_BAR_AREA_COLOR);
+ snprintf(scroll_frame_color_str,7,"%06x",(unsigned) G_SCROLL_BAR_FRAME_COLOR);
+ }
+#endif
+ d->title = TEXT_(T_MISCELANEOUS_OPTIONS);
+ d->refresh = (void (*)(void *))refresh_misc;
+ d->refresh_data = ses;
+ d->fn=miscopt_fn;
+ if (!F)
+ d->udata = miscopt_labels;
+#ifdef G
+ else
+ d->udata = miscopt_labels_g;
+#endif
+ d->udata2 = ses;
+#ifdef G
+ if (F) {
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = 4;
+ d->items[a].data = menu_font_str;
+ d->items[a].fn = check_number;
+ d->items[a].gid = 1;
+ d->items[a].gnum = MAX_FONT_SIZE;
+ a++;
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = 7;
+ d->items[a].data = fg_color_str;
+ d->items[a].fn = check_hex_number;
+ d->items[a].gid = 0;
+ d->items[a].gnum = 0xffffff;
+ a++;
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = 7;
+ d->items[a].data = bg_color_str;
+ d->items[a].fn = check_hex_number;
+ d->items[a].gid = 0;
+ d->items[a].gnum = 0xffffff;
+ a++;
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = 7;
+ d->items[a].data = scroll_area_color_str;
+ d->items[a].fn = check_hex_number;
+ d->items[a].gid = 0;
+ d->items[a].gnum = 0xffffff;
+ a++;
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = 7;
+ d->items[a].data = scroll_bar_color_str;
+ d->items[a].fn = check_hex_number;
+ d->items[a].gid = 0;
+ d->items[a].gnum = 0xffffff;
+ a++;
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = 7;
+ d->items[a].data = scroll_frame_color_str;
+ d->items[a].fn = check_hex_number;
+ d->items[a].gid = 0;
+ d->items[a].gnum = 0xffffff;
+ a++;
+ }
+#endif
+ if (!anonymous) {
+ d->items[a].type = D_FIELD;
+ d->items[a].dlen = MAX_STR_LEN;
+ d->items[a].data = new_bookmarks_file;
+ a++;
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = 0;
+ d->items[a].fn = dlg_assume_cp;
+ d->items[a].text = TEXT_(T_BOOKMARKS_ENCODING);
+ d->items[a].data = (unsigned char *) &new_bookmarks_codepage;
+ d->items[a].dlen = sizeof(int);
+ a++;
+ }
+#ifdef G
+ if (F && (drv->flags & GD_NEED_CODEPAGE)) {
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = 0;
+ d->items[a].fn = dlg_kb_cp;
+ d->items[a].text = TEXT_(T_KEYBOARD_CODEPAGE);
+ d->items[a].data = (unsigned char *) &(drv->codepage);
+ d->items[a].dlen = sizeof(int);
+ a++;
+ }
+#endif
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = B_ENTER;
+ d->items[a].fn = ok_dialog;
+ d->items[a].text = TEXT_(T_OK);
+ a++;
+ d->items[a].type = D_BUTTON;
+ d->items[a].gid = B_ESC;
+ d->items[a].fn = cancel_dialog;
+ d->items[a].text = TEXT_(T_CANCEL);
+ a++;
+ d->items[a].type = D_END;
+ do_dialog(term, d, getml(d, NULL));
+}
+
+static void menu_set_language(struct terminal *term, void *pcp, struct session *ses)
+{
+ set_language((my_intptr_t)pcp);
+ cls_redraw_all_terminals();
+}
+
+static void menu_language_list(struct terminal *term, void *xxx, struct session *ses)
+{
+ long i; int sel;
+ unsigned char *n;
+ struct menu_item *mi;
+ mi = new_menu(1);
+ for (i = 0; i < n_languages(); i++) {
+ n = language_name(i);
+ add_to_menu(&mi, n, "", "", MENU_FUNC menu_set_language, (void *)i, 0, i);
+ }
+ sel = current_language;
+ do_menu_selected(term, mi, ses, sel);
+}
+
+static unsigned char *resize_texts[] = { TEXT_(T_COLUMNS), TEXT_(T_ROWS) };
+
+static unsigned char x_str[4];
+static unsigned char y_str[4];
+
+static void do_resize_terminal(struct terminal *term)
+{
+ unsigned char str[8];
+ strcpy(str, x_str);
+ strcat(str, ",");
+ strcat(str, y_str);
+ do_terminal_function(term, TERM_FN_RESIZE, str);
+}
+
+static void dlg_resize_terminal(struct terminal *term, void *xxx, struct session *ses)
+{
+ struct dialog *d;
+ unsigned x = (unsigned)term->x > 999 ? 999 : term->x;
+ unsigned y = (unsigned)term->y > 999 ? 999 : term->y;
+ sprintf(x_str, "%u", x);
+ sprintf(y_str, "%u", y);
+ d = mem_calloc(sizeof(struct dialog) + 4 * sizeof(struct dialog_item));
+ d->title = TEXT_(T_RESIZE_TERMINAL);
+ d->fn = group_fn;
+ d->udata = resize_texts;
+ d->refresh = (void (*)(void *))do_resize_terminal;
+ d->refresh_data = term;
+ d->items[0].type = D_FIELD;
+ d->items[0].dlen = 4;
+ d->items[0].data = x_str;
+ d->items[0].fn = check_number;
+ d->items[0].gid = 1;
+ d->items[0].gnum = 999;
+ d->items[1].type = D_FIELD;
+ d->items[1].dlen = 4;
+ d->items[1].data = y_str;
+ d->items[1].fn = check_number;
+ d->items[1].gid = 1;
+ d->items[1].gnum = 999;
+ d->items[2].type = D_BUTTON;
+ d->items[2].gid = B_ENTER;
+ d->items[2].fn = ok_dialog;
+ d->items[2].text = TEXT_(T_OK);
+ d->items[3].type = D_BUTTON;
+ d->items[3].gid = B_ESC;
+ d->items[3].fn = cancel_dialog;
+ d->items[3].text = TEXT_(T_CANCEL);
+ d->items[4].type = D_END;
+ do_dialog(term, d, getml(d, NULL));
+
+}
+
+static struct menu_item file_menu11[] = {
+ { TEXT_(T_GOTO_URL), "g", TEXT_(T_HK_GOTO_URL), MENU_FUNC menu_goto_url, (void *)0, 0, 0 },
+ { TEXT_(T_GO_BACK), "z", TEXT_(T_HK_GO_BACK), MENU_FUNC menu_go_back, (void *)0, 0, 0 },
+ { TEXT_(T_GO_FORWARD), "x", TEXT_(T_HK_GO_FORWARD), MENU_FUNC menu_go_forward, (void *)0, 0, 0 },
+ { TEXT_(T_HISTORY), ">", TEXT_(T_HK_HISTORY), MENU_FUNC history_menu, (void *)0, 1, 0 },
+ { TEXT_(T_RELOAD), "Ctrl-R", TEXT_(T_HK_RELOAD), MENU_FUNC menu_reload, (void *)0, 0, 0 },
+};
+
+#ifdef G
+static struct menu_item file_menu111[] = {
+ { TEXT_(T_GOTO_URL), "g", TEXT_(T_HK_GOTO_URL), MENU_FUNC menu_goto_url, (void *)0, 0, 0 },
+ { TEXT_(T_GO_BACK), "z", TEXT_(T_HK_GO_BACK), MENU_FUNC menu_go_back, (void *)0, 0, 0 },
+ { TEXT_(T_GO_FORWARD), "x", TEXT_(T_HK_GO_FORWARD), MENU_FUNC menu_go_forward, (void *)0, 0, 0 },
+ { TEXT_(T_HISTORY), ">", TEXT_(T_HK_HISTORY), MENU_FUNC history_menu, (void *)0, 1, 0 },
+ { TEXT_(T_RELOAD), "Ctrl-R", TEXT_(T_HK_RELOAD), MENU_FUNC menu_reload, (void *)0, 0, 0 },
+};
+#endif
+
+static struct menu_item file_menu12[] = {
+ { TEXT_(T_BOOKMARKS), "s", TEXT_(T_HK_BOOKMARKS), MENU_FUNC menu_bookmark_manager, (void *)0, 0, 0 },
+};
+
+static struct menu_item file_menu21[] = {
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_SAVE_AS), "", TEXT_(T_HK_SAVE_AS), MENU_FUNC save_as, (void *)0, 0, 0 },
+ { TEXT_(T_SAVE_URL_AS), "", TEXT_(T_HK_SAVE_URL_AS), MENU_FUNC menu_save_url_as, (void *)0, 0, 0 },
+ { TEXT_(T_SAVE_FORMATTED_DOCUMENT), "", TEXT_(T_HK_SAVE_FORMATTED_DOCUMENT), MENU_FUNC menu_save_formatted, (void *)0, 0, 0 },
+};
+
+#ifdef G
+static struct menu_item file_menu211[] = {
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_SAVE_AS), "", TEXT_(T_HK_SAVE_AS), MENU_FUNC save_as, (void *)0, 0, 0 },
+ { TEXT_(T_SAVE_URL_AS), "", TEXT_(T_HK_SAVE_URL_AS), MENU_FUNC menu_save_url_as, (void *)0, 0, 0 },
+};
+#endif
+
+#ifdef G
+static struct menu_item file_menu211_clipb[] = {
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_SAVE_AS), "", TEXT_(T_HK_SAVE_AS), MENU_FUNC save_as, (void *)0, 0, 0 },
+ { TEXT_(T_SAVE_URL_AS), "", TEXT_(T_HK_SAVE_URL_AS), MENU_FUNC menu_save_url_as, (void *)0, 0, 0 },
+ { TEXT_(T_COPY_URL_LOCATION), "", TEXT_(T_HK_COPY_URL_LOCATION), MENU_FUNC copy_url_location, (void *)0, 0, 0 },
+};
+#endif
+
+static struct menu_item file_menu22[] = {
+ { "", "", M_BAR, NULL, NULL, 0, 0} ,
+ { TEXT_(T_KILL_BACKGROUND_CONNECTIONS), "", TEXT_(T_HK_KILL_BACKGROUND_CONNECTIONS), MENU_FUNC menu_kill_background_connections, (void *)0, 0, 0 },
+ { TEXT_(T_KILL_ALL_CONNECTIONS), "", TEXT_(T_HK_KILL_ALL_CONNECTIONS), MENU_FUNC menu_kill_all_connections, (void *)0, 0, 0 },
+ { TEXT_(T_FLUSH_ALL_CACHES), "", TEXT_(T_HK_FLUSH_ALL_CACHES), MENU_FUNC flush_caches, (void *)0, 0, 0 },
+ { TEXT_(T_RESOURCE_INFO), "", TEXT_(T_HK_RESOURCE_INFO), MENU_FUNC resource_info_menu, (void *)0, 0, 0 },
+#ifdef LEAK_DEBUG
+ { TEXT_(T_MEMORY_INFO), "", TEXT_(T_HK_MEMORY_INFO), MENU_FUNC memory_info_menu, (void *)0, 0, 0 },
+#endif
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+};
+
+static struct menu_item file_menu3[] = {
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_EXIT), "q", TEXT_(T_HK_EXIT), MENU_FUNC exit_prog, (void *)0, 0, 0 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+
+static void do_file_menu(struct terminal *term, void *xxx, struct session *ses)
+{
+ int x;
+ int o;
+ struct menu_item *file_menu, *e, *f;
+ file_menu = mem_alloc(sizeof(file_menu11) + sizeof(file_menu12) + sizeof(file_menu21) + sizeof(file_menu22) + sizeof(file_menu3) + 3 * sizeof(struct menu_item));
+ e = file_menu;
+ if (!F) {
+ memcpy(e, file_menu11, sizeof(file_menu11));
+ e += sizeof(file_menu11) / sizeof(struct menu_item);
+#ifdef G
+ } else {
+ memcpy(e, file_menu111, sizeof(file_menu111));
+ e += sizeof(file_menu111) / sizeof(struct menu_item);
+#endif
+ }
+ if (!anonymous) {
+ memcpy(e, file_menu12, sizeof(file_menu12));
+ e += sizeof(file_menu12) / sizeof(struct menu_item);
+ }
+ if ((o = can_open_in_new(term))) {
+ e->text = TEXT_(T_NEW_WINDOW);
+ e->rtext = o - 1 ? ">" : "";
+ e->hotkey = TEXT_(T_HK_NEW_WINDOW);
+ e->func = MENU_FUNC open_in_new_window;
+ e->data = send_open_new_xterm;
+ e->in_m = o - 1;
+ e->free_i = 0;
+ e++;
+ }
+ if (!anonymous) {
+ if (!F) {
+ memcpy(e, file_menu21, sizeof(file_menu21));
+ e += sizeof(file_menu21) / sizeof(struct menu_item);
+#ifdef G
+ } else {
+ if (clipboard_support(term))
+ {
+ memcpy(e, file_menu211_clipb, sizeof(file_menu211_clipb));
+ e += sizeof(file_menu211_clipb) / sizeof(struct menu_item);
+ }
+ else
+ {
+ memcpy(e, file_menu211, sizeof(file_menu211));
+ e += sizeof(file_menu211) / sizeof(struct menu_item);
+ }
+#endif
+ }
+ }
+ memcpy(e, file_menu22, sizeof(file_menu22));
+ e += sizeof(file_menu22) / sizeof(struct menu_item);
+ /*"", "", M_BAR, NULL, NULL, 0, 0,
+ TEXT_(T_OS_SHELL), "", TEXT_(T_HK_OS_SHELL), MENU_FUNC menu_shell, NULL, 0, 0,*/
+ x = 1;
+ if (!anonymous && can_open_os_shell(term->environment)) {
+ e->text = TEXT_(T_OS_SHELL);
+ e->rtext = "";
+ e->hotkey = TEXT_(T_HK_OS_SHELL);
+ e->func = MENU_FUNC menu_shell;
+ e->data = NULL;
+ e->in_m = 0;
+ e->free_i = 0;
+ e++;
+ x = 0;
+ }
+ if (can_resize_window(term)) {
+ e->text = TEXT_(T_RESIZE_TERMINAL);
+ e->rtext = "";
+ e->hotkey = TEXT_(T_HK_RESIZE_TERMINAL);
+ e->func = MENU_FUNC dlg_resize_terminal;
+ e->data = NULL;
+ e->in_m = 0;
+ e->free_i = 0;
+ e++;
+ x = 0;
+ }
+ memcpy(e, file_menu3 + x, sizeof(file_menu3) - x * sizeof(struct menu_item));
+ e += sizeof(file_menu3) / sizeof(struct menu_item);
+ for (f = file_menu; f < e; f++) f->free_i = 1;
+ do_menu(term, file_menu, ses);
+}
+
+static struct menu_item view_menu[] = {
+ { TEXT_(T_SEARCH), "/", TEXT_(T_HK_SEARCH), MENU_FUNC menu_for_frame, (void *)search_dlg, 0, 0 },
+ { TEXT_(T_SEARCH_BACK), "?", TEXT_(T_HK_SEARCH_BACK), MENU_FUNC menu_for_frame, (void *)search_back_dlg, 0, 0 },
+ { TEXT_(T_FIND_NEXT), "n", TEXT_(T_HK_FIND_NEXT), MENU_FUNC menu_for_frame, (void *)find_next, 0, 0 },
+ { TEXT_(T_FIND_PREVIOUS), "N", TEXT_(T_HK_FIND_PREVIOUS), MENU_FUNC menu_for_frame, (void *)find_next_back, 0, 0 },
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_TOGGLE_HTML_PLAIN), "\\", TEXT_(T_HK_TOGGLE_HTML_PLAIN), MENU_FUNC menu_toggle, NULL, 0, 0 },
+ { TEXT_(T_DOCUMENT_INFO), "=", TEXT_(T_HK_DOCUMENT_INFO), MENU_FUNC menu_doc_info, NULL, 0, 0 },
+ { TEXT_(T_HEADER_INFO), "|", TEXT_(T_HK_HEADER_INFO), MENU_FUNC menu_head_info, NULL, 0, 0 },
+ { TEXT_(T_FRAME_AT_FULL_SCREEN), "f", TEXT_(T_HK_FRAME_AT_FULL_SCREEN), MENU_FUNC menu_for_frame, (void *)set_frame, 0, 0 },
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_HTML_OPTIONS), "", TEXT_(T_HK_HTML_OPTIONS), MENU_FUNC menu_html_options, (void *)0, 0, 0 },
+ { TEXT_(T_SAVE_HTML_OPTIONS), "", TEXT_(T_HK_SAVE_HTML_OPTIONS), MENU_FUNC menu_save_html_options, (void *)0, 0, 0 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+
+static struct menu_item view_menu_anon[] = {
+ { TEXT_(T_SEARCH), "/", TEXT_(T_HK_SEARCH), MENU_FUNC menu_for_frame, (void *)search_dlg, 0, 0 },
+ { TEXT_(T_SEARCH_BACK), "?", TEXT_(T_HK_SEARCH_BACK), MENU_FUNC menu_for_frame, (void *)search_back_dlg, 0, 0 },
+ { TEXT_(T_FIND_NEXT), "n", TEXT_(T_HK_FIND_NEXT), MENU_FUNC menu_for_frame, (void *)find_next, 0, 0 },
+ { TEXT_(T_FIND_PREVIOUS), "N", TEXT_(T_HK_FIND_PREVIOUS), MENU_FUNC menu_for_frame, (void *)find_next_back, 0, 0 },
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_TOGGLE_HTML_PLAIN), "\\", TEXT_(T_HK_TOGGLE_HTML_PLAIN), MENU_FUNC menu_toggle, NULL, 0, 0 },
+ { TEXT_(T_DOCUMENT_INFO), "=", TEXT_(T_HK_DOCUMENT_INFO), MENU_FUNC menu_doc_info, NULL, 0, 0 },
+ { TEXT_(T_FRAME_AT_FULL_SCREEN), "f", TEXT_(T_HK_FRAME_AT_FULL_SCREEN), MENU_FUNC menu_for_frame, (void *)set_frame, 0, 0 },
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_HTML_OPTIONS), "", TEXT_(T_HK_HTML_OPTIONS), MENU_FUNC menu_html_options, (void *)0, 0, 0 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+
+static struct menu_item view_menu_color[] = {
+ { TEXT_(T_SEARCH), "/", TEXT_(T_HK_SEARCH), MENU_FUNC menu_for_frame, (void *)search_dlg, 0, 0 },
+ { TEXT_(T_SEARCH_BACK), "?", TEXT_(T_HK_SEARCH_BACK), MENU_FUNC menu_for_frame, (void *)search_back_dlg, 0, 0 },
+ { TEXT_(T_FIND_NEXT), "n", TEXT_(T_HK_FIND_NEXT), MENU_FUNC menu_for_frame, (void *)find_next, 0, 0 },
+ { TEXT_(T_FIND_PREVIOUS), "N", TEXT_(T_HK_FIND_PREVIOUS), MENU_FUNC menu_for_frame, (void *)find_next_back, 0, 0 },
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_TOGGLE_HTML_PLAIN), "\\", TEXT_(T_HK_TOGGLE_HTML_PLAIN), MENU_FUNC menu_toggle, NULL, 0, 0 },
+ { TEXT_(T_DOCUMENT_INFO), "=", TEXT_(T_HK_DOCUMENT_INFO), MENU_FUNC menu_doc_info, NULL, 0, 0 },
+ { TEXT_(T_HEADER_INFO), "|", TEXT_(T_HK_HEADER_INFO), MENU_FUNC menu_head_info, NULL, 0, 0 },
+ { TEXT_(T_FRAME_AT_FULL_SCREEN), "f", TEXT_(T_HK_FRAME_AT_FULL_SCREEN), MENU_FUNC menu_for_frame, (void *)set_frame, 0, 0 },
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_HTML_OPTIONS), "", TEXT_(T_HK_HTML_OPTIONS), MENU_FUNC menu_html_options, (void *)0, 0, 0 },
+ { TEXT_(T_COLOR), "", TEXT_(T_HK_COLOR), MENU_FUNC menu_color, (void *)0, 0, 0 },
+ { TEXT_(T_SAVE_HTML_OPTIONS), "", TEXT_(T_HK_SAVE_HTML_OPTIONS), MENU_FUNC menu_save_html_options, (void *)0, 0, 0 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+
+static struct menu_item view_menu_anon_color[] = {
+ { TEXT_(T_SEARCH), "/", TEXT_(T_HK_SEARCH), MENU_FUNC menu_for_frame, (void *)search_dlg, 0, 0 },
+ { TEXT_(T_SEARCH_BACK), "?", TEXT_(T_HK_SEARCH_BACK), MENU_FUNC menu_for_frame, (void *)search_back_dlg, 0, 0 },
+ { TEXT_(T_FIND_NEXT), "n", TEXT_(T_HK_FIND_NEXT), MENU_FUNC menu_for_frame, (void *)find_next, 0, 0 },
+ { TEXT_(T_FIND_PREVIOUS), "N", TEXT_(T_HK_FIND_PREVIOUS), MENU_FUNC menu_for_frame, (void *)find_next_back, 0, 0 },
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_TOGGLE_HTML_PLAIN), "\\", TEXT_(T_HK_TOGGLE_HTML_PLAIN), MENU_FUNC menu_toggle, NULL, 0, 0 },
+ { TEXT_(T_DOCUMENT_INFO), "=", TEXT_(T_HK_DOCUMENT_INFO), MENU_FUNC menu_doc_info, NULL, 0, 0 },
+ { TEXT_(T_FRAME_AT_FULL_SCREEN), "f", TEXT_(T_HK_FRAME_AT_FULL_SCREEN), MENU_FUNC menu_for_frame, (void *)set_frame, 0, 0 },
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_HTML_OPTIONS), "", TEXT_(T_HK_HTML_OPTIONS), MENU_FUNC menu_html_options, (void *)0, 0, 0 },
+ { TEXT_(T_COLOR), "", TEXT_(T_HK_COLOR), MENU_FUNC menu_color, (void *)0, 0, 0 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+
+static struct menu_item help_menu[] = {
+ { TEXT_(T_ABOUT), "", TEXT_(T_HK_ABOUT), MENU_FUNC menu_about, (void *)0, 0, 0 },
+ { TEXT_(T_KEYS), "F1", TEXT_(T_HK_KEYS), MENU_FUNC menu_keys, (void *)0, 0, 0 },
+ { TEXT_(T_MANUAL), "", TEXT_(T_HK_MANUAL), MENU_FUNC menu_manual, (void *)0, 0, 0 },
+ { TEXT_(T_HOMEPAGE), "", TEXT_(T_HK_HOMEPAGE), MENU_FUNC menu_homepage, (void *)0, 0, 0 },
+ { TEXT_(T_COPYING), "", TEXT_(T_HK_COPYING), MENU_FUNC menu_copying, (void *)0, 0, 0 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+
+#ifdef G
+static struct menu_item help_menu_g[] = {
+ { TEXT_(T_ABOUT), "", TEXT_(T_HK_ABOUT), MENU_FUNC menu_about, (void *)0, 0, 0 },
+ { TEXT_(T_KEYS), "F1", TEXT_(T_HK_KEYS), MENU_FUNC menu_keys, (void *)0, 0, 0 },
+ { TEXT_(T_MANUAL), "", TEXT_(T_HK_MANUAL), MENU_FUNC menu_manual, (void *)0, 0, 0 },
+ { TEXT_(T_HOMEPAGE), "", TEXT_(T_HK_HOMEPAGE), MENU_FUNC menu_homepage, (void *)0, 0, 0 },
+ { TEXT_(T_CALIBRATION), "", TEXT_(T_HK_CALIBRATION), MENU_FUNC menu_calibration, (void *)0, 0, 0 },
+ { TEXT_(T_COPYING), "", TEXT_(T_HK_COPYING), MENU_FUNC menu_copying, (void *)0, 0, 0 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+#endif
+
+static struct menu_item setup_menu[] = {
+ { TEXT_(T_LANGUAGE), ">", TEXT_(T_HK_LANGUAGE), MENU_FUNC menu_language_list, NULL, 1, 0 },
+ { TEXT_(T_CHARACTER_SET), ">", TEXT_(T_HK_CHARACTER_SET), MENU_FUNC charset_list, (void *)1, 1, 0 },
+ { TEXT_(T_TERMINAL_OPTIONS), "", TEXT_(T_HK_TERMINAL_OPTIONS), MENU_FUNC terminal_options, NULL, 0, 0 },
+ { TEXT_(T_NETWORK_OPTIONS), "", TEXT_(T_HK_NETWORK_OPTIONS), MENU_FUNC net_options, NULL, 0, 0 },
+#ifdef JS
+ { TEXT_(T_JAVASCRIPT_OPTIONS),"", TEXT_(T_HK_JAVASCRIPT_OPTIONS), MENU_FUNC javascript_options, NULL, 0, 0 },
+#endif
+ { TEXT_(T_MISCELANEOUS_OPTIONS),"", TEXT_(T_HK_MISCELANEOUS_OPTIONS), MENU_FUNC miscelaneous_options, NULL, 0, 0 },
+ { TEXT_(T_CACHE), "", TEXT_(T_HK_CACHE), MENU_FUNC cache_opt, NULL, 0, 0 },
+ { TEXT_(T_MAIL_AND_TELNEL), "", TEXT_(T_HK_MAIL_AND_TELNEL), MENU_FUNC net_programs, NULL, 0, 0 },
+ { TEXT_(T_ASSOCIATIONS), "", TEXT_(T_HK_ASSOCIATIONS), MENU_FUNC menu_assoc_manager, NULL, 0, 0 },
+ { TEXT_(T_FILE_EXTENSIONS), "", TEXT_(T_HK_FILE_EXTENSIONS), MENU_FUNC menu_ext_manager, NULL, 0, 0 },
+ { TEXT_(T_BLOCK_LIST), "", TEXT_(T_HK_BLOCK_LIST), MENU_FUNC block_manager, NULL, 0, 0 },
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_SAVE_OPTIONS), "", TEXT_(T_HK_SAVE_OPTIONS), MENU_FUNC write_config, NULL, 0, 0 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+
+static struct menu_item setup_menu_anon[] = {
+ { TEXT_(T_LANGUAGE), ">", TEXT_(T_HK_LANGUAGE), MENU_FUNC menu_language_list, NULL, 1, 0 },
+ { TEXT_(T_CHARACTER_SET), ">", TEXT_(T_HK_CHARACTER_SET), MENU_FUNC charset_list, (void *)1, 1, 0 },
+ { TEXT_(T_TERMINAL_OPTIONS), "", TEXT_(T_HK_TERMINAL_OPTIONS), MENU_FUNC terminal_options, NULL, 0, 0 },
+#ifdef JS
+ { TEXT_(T_JAVASCRIPT_OPTIONS),"", TEXT_(T_HK_JAVASCRIPT_OPTIONS), MENU_FUNC javascript_options, NULL, 0, 0 },
+#endif
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+
+#ifdef G
+
+static struct menu_item setup_menu_g[] = {
+ { TEXT_(T_LANGUAGE), ">", TEXT_(T_HK_LANGUAGE), MENU_FUNC menu_language_list, NULL, 1, 0 },
+ { TEXT_(T_VIDEO_OPTIONS), "", TEXT_(T_HK_VIDEO_OPTIONS), MENU_FUNC video_options, NULL, 0, 0 },
+ { TEXT_(T_NETWORK_OPTIONS), "", TEXT_(T_HK_NETWORK_OPTIONS), MENU_FUNC net_options, NULL, 0, 0 },
+#ifdef JS
+ { TEXT_(T_JAVASCRIPT_OPTIONS),"", TEXT_(T_HK_JAVASCRIPT_OPTIONS), MENU_FUNC javascript_options, NULL, 0, 0 },
+#endif
+ { TEXT_(T_MISCELANEOUS_OPTIONS),"", TEXT_(T_HK_MISCELANEOUS_OPTIONS), MENU_FUNC miscelaneous_options, NULL, 0, 0 },
+ { TEXT_(T_CACHE), "", TEXT_(T_HK_CACHE), MENU_FUNC cache_opt, NULL, 0, 0 },
+ { TEXT_(T_MAIL_TELNET_AND_SHELL), "", TEXT_(T_HK_MAIL_AND_TELNEL), MENU_FUNC net_programs, NULL, 0, 0 },
+ { TEXT_(T_ASSOCIATIONS), "", TEXT_(T_HK_ASSOCIATIONS), MENU_FUNC menu_assoc_manager, NULL, 0, 0 },
+ { TEXT_(T_FILE_EXTENSIONS), "", TEXT_(T_HK_FILE_EXTENSIONS), MENU_FUNC menu_ext_manager, NULL, 0, 0 },
+ { TEXT_(T_BLOCK_LIST), "", TEXT_(T_HK_BLOCK_LIST), MENU_FUNC block_manager, NULL, 0, 0 },
+ { "", "", M_BAR, NULL, NULL, 0, 0 },
+ { TEXT_(T_SAVE_OPTIONS), "", TEXT_(T_HK_SAVE_OPTIONS), MENU_FUNC write_config, NULL, 0, 0 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+
+static struct menu_item setup_menu_anon_g[] = {
+ { TEXT_(T_LANGUAGE), ">", TEXT_(T_HK_LANGUAGE), MENU_FUNC menu_language_list, NULL, 1, 0 },
+ { TEXT_(T_VIDEO_OPTIONS), "", TEXT_(T_HK_VIDEO_OPTIONS), MENU_FUNC video_options, NULL, 0, 0 },
+#ifdef JS
+ { TEXT_(T_JAVASCRIPT_OPTIONS),"", TEXT_(T_HK_JAVASCRIPT_OPTIONS), MENU_FUNC javascript_options, NULL, 0, 0 },
+#endif
+ { TEXT_(T_MISCELANEOUS_OPTIONS),"", TEXT_(T_HK_MISCELANEOUS_OPTIONS), MENU_FUNC miscelaneous_options, NULL, 0, 0 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+
+#endif
+
+static void do_view_menu(struct terminal *term, void *xxx, struct session *ses)
+{
+ if (F || term->spec->col) {
+ if (!anonymous) do_menu(term, view_menu_color, ses);
+ else do_menu(term, view_menu_anon_color, ses);
+ } else {
+ if (!anonymous) do_menu(term, view_menu, ses);
+ else do_menu(term, view_menu_anon, ses);
+ }
+}
+
+static void do_setup_menu(struct terminal *term, void *xxx, struct session *ses)
+{
+#ifdef G
+ if (F) {
+ if (!anonymous) do_menu(term, setup_menu_g, ses);
+ else do_menu(term, setup_menu_anon_g, ses);
+ } else
+#endif
+ {
+ if (!anonymous) do_menu(term, setup_menu, ses);
+ else do_menu(term, setup_menu_anon, ses);
+ }
+}
+
+static struct menu_item main_menu[] = {
+ { TEXT_(T_FILE), "", TEXT_(T_HK_FILE), MENU_FUNC do_file_menu, NULL, 1, 1 },
+ { TEXT_(T_VIEW), "", TEXT_(T_HK_VIEW), MENU_FUNC do_view_menu, NULL, 1, 1 },
+ { TEXT_(T_LINK), "", TEXT_(T_HK_LINK), MENU_FUNC link_menu, NULL, 1, 1 },
+ { TEXT_(T_DOWNLOADS), "", TEXT_(T_HK_DOWNLOADS), MENU_FUNC downloads_menu, NULL, 1, 1 },
+ { TEXT_(T_SETUP), "", TEXT_(T_HK_SETUP), MENU_FUNC do_setup_menu, NULL, 1, 1 },
+ { TEXT_(T_HELP), "", TEXT_(T_HK_HELP), MENU_FUNC do_menu, help_menu, 1, 1 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+
+#ifdef G
+static struct menu_item main_menu_g[] = {
+ { TEXT_(T_FILE), "", TEXT_(T_HK_FILE), MENU_FUNC do_file_menu, NULL, 1, 1 },
+ { TEXT_(T_VIEW), "", TEXT_(T_HK_VIEW), MENU_FUNC do_view_menu, NULL, 1, 1 },
+ { TEXT_(T_LINK), "", TEXT_(T_HK_LINK), MENU_FUNC link_menu, NULL, 1, 1 },
+ { TEXT_(T_DOWNLOADS), "", TEXT_(T_HK_DOWNLOADS), MENU_FUNC downloads_menu, NULL, 1, 1 },
+ { TEXT_(T_SETUP), "", TEXT_(T_HK_SETUP), MENU_FUNC do_setup_menu, NULL, 1, 1 },
+ { TEXT_(T_HELP), "", TEXT_(T_HK_HELP), MENU_FUNC do_menu, help_menu_g, 1, 1 },
+ { NULL, NULL, 0, NULL, NULL, 0, 0 }
+};
+#endif
+
+/* lame technology rulez ! */
+
+void activate_bfu_technology(struct session *ses, int item)
+{
+ struct terminal *term = ses->term;
+ do_mainmenu(term, gf_val(main_menu, main_menu_g), ses, item);
+}
+
+struct history goto_url_history = { 0, { &goto_url_history.items, &goto_url_history.items } };
+
+void dialog_goto_url(struct session *ses, unsigned char *url)
+{
+ input_field(ses->term, NULL, TEXT_(T_GOTO_URL), TEXT_(T_ENTER_URL), ses, &goto_url_history, MAX_INPUT_URL_LEN, url, 0, 0, NULL, TEXT_(T_OK), (void (*)(void *, unsigned char *)) goto_url, TEXT_(T_CANCEL), NULL, NULL);
+}
+
+void dialog_save_url(struct session *ses)
+{
+ input_field(ses->term, NULL, TEXT_(T_SAVE_URL), TEXT_(T_ENTER_URL), ses, &goto_url_history, MAX_INPUT_URL_LEN, "", 0, 0, NULL, TEXT_(T_OK), (void (*)(void *, unsigned char *)) save_url, TEXT_(T_CANCEL), NULL, NULL);
+}
+
+
+struct does_file_exist_s {
+ void (*fn)(void *, unsigned char *, int);
+ void (*cancel)(void *);
+ int flags;
+ struct session *ses;
+ unsigned char *file;
+ unsigned char *url;
+ unsigned char *head;
+};
+
+static void does_file_exist_ok(struct does_file_exist_s *h, int mode)
+{
+ if (h->fn) {
+ unsigned char *d = h->file;
+ unsigned char *dd;
+ for (dd = h->file; *dd; dd++) if (dir_sep(*dd)) d = dd + 1;
+ if (d - h->file < MAX_STR_LEN) {
+ memcpy(download_dir, h->file, d - h->file);
+ download_dir[d - h->file] = 0;
+ }
+ h->fn(h->ses, h->file, mode);
+ }
+}
+
+
+static void does_file_exist_continue(void *data)
+{
+ does_file_exist_ok(data, DOWNLOAD_CONTINUE);
+}
+
+static void does_file_exist_overwrite(void *data)
+{
+ does_file_exist_ok(data, DOWNLOAD_OVERWRITE);
+}
+
+static void does_file_exist_cancel(void *data)
+{
+ struct does_file_exist_s *h=(struct does_file_exist_s *)data;
+ if (h->cancel) h->cancel(h->ses);
+}
+
+static void does_file_exist_rename(void *data)
+{
+ struct does_file_exist_s *h=(struct does_file_exist_s *)data;
+ query_file(h->ses, h->url, h->head, (void (*)(struct session *, unsigned char *, int))h->fn, (void (*)(struct session *))h->cancel, h->flags);
+}
+
+static void does_file_exist(struct does_file_exist_s *d, unsigned char *file)
+{
+ unsigned char *f;
+ unsigned char *wd;
+ struct session *ses = d->ses;
+ struct stat st;
+ int r;
+ struct does_file_exist_s *h;
+ unsigned char *msg;
+ int file_type = 0;
+
+ h = mem_alloc(sizeof(struct does_file_exist_s));
+ h->fn = d->fn;
+ h->cancel = d->cancel;
+ h->flags = d->flags;
+ h->ses = ses;
+ h->file = stracpy(file);
+ h->url = stracpy(d->url);
+ h->head = stracpy(d->head);
+
+ if (!*file) {
+ does_file_exist_rename(h);
+ goto free_h_ret;
+ }
+
+ if (test_abort_downloads_to_file(file, ses->term->cwd, 0)) {
+ msg = TEXT_(T_ALREADY_EXISTS_AS_DOWNLOAD);
+ goto display_msgbox;
+ }
+
+ wd = get_cwd();
+ set_cwd(ses->term->cwd);
+ f = translate_download_file(file);
+ EINTRLOOP(r, stat(f, &st));
+ mem_free(f);
+ if (wd) set_cwd(wd), mem_free(wd);
+ if (r) {
+ does_file_exist_ok(h, DOWNLOAD_DEFAULT);
+free_h_ret:
+ if (h->head) mem_free(h->head);
+ mem_free(h->file);
+ mem_free(h->url);
+ mem_free(h);
+ return;
+ }
+
+ if (!S_ISREG(st.st_mode)) {
+ if (S_ISDIR(st.st_mode))
+ file_type = 2;
+ else
+ file_type = 1;
+ }
+
+ msg = TEXT_(T_ALREADY_EXISTS);
+ display_msgbox:
+ if (file_type == 2) {
+ msg_box(
+ ses->term,
+ getml(h, h->file, h->url, h->head, NULL),
+ TEXT_(T_FILE_ALREADY_EXISTS),
+ AL_CENTER|AL_EXTD_TEXT,
+ TEXT_(T_DIRECTORY), " ", h->file, " ", TEXT_(T_ALREADY_EXISTS), NULL,
+ h,
+ 2,
+ TEXT_(T_RENAME), does_file_exist_rename, B_ENTER,
+ TEXT_(T_CANCEL), does_file_exist_cancel, B_ESC
+ );
+ } else if (file_type || h->flags != DOWNLOAD_CONTINUE) {
+ msg_box(
+ ses->term,
+ getml(h, h->file, h->url, h->head, NULL),
+ TEXT_(T_FILE_ALREADY_EXISTS),
+ AL_CENTER|AL_EXTD_TEXT,
+ TEXT_(T_FILE), " ", h->file, " ", msg, " ", TEXT_(T_DO_YOU_WISH_TO_OVERWRITE), NULL,
+ h,
+ 3,
+ TEXT_(T_OVERWRITE), does_file_exist_overwrite, B_ENTER,
+ TEXT_(T_RENAME), does_file_exist_rename, 0,
+ TEXT_(T_CANCEL), does_file_exist_cancel, B_ESC
+ );
+ } else {
+ msg_box(
+ ses->term,
+ getml(h, h->file, h->url, h->head, NULL),
+ TEXT_(T_FILE_ALREADY_EXISTS),
+ AL_CENTER|AL_EXTD_TEXT,
+ TEXT_(T_FILE), " ", h->file, " ", msg, " ", TEXT_(T_DO_YOU_WISH_TO_CONTINUE), NULL,
+ h,
+ 4,
+ TEXT_(T_CONTINUE), does_file_exist_continue, B_ENTER,
+ TEXT_(T_OVERWRITE), does_file_exist_overwrite, 0,
+ TEXT_(T_RENAME), does_file_exist_rename, 0,
+ TEXT_(T_CANCEL), does_file_exist_cancel, B_ESC
+ );
+ }
+}
+
+
+static struct history file_history = { 0, { &file_history.items, &file_history.items } };
+
+
+static void query_file_cancel(struct does_file_exist_s *d)
+{
+ if (d->cancel) d->cancel(d->ses);
+}
+
+
+void query_file(struct session *ses, unsigned char *url, unsigned char *head, void (*fn)(struct session *, unsigned char *, int), void (*cancel)(struct session *), int flags)
+{
+ unsigned char *file, *def;
+ int dfl = 0;
+ struct does_file_exist_s *h;
+
+ h = mem_alloc(sizeof(struct does_file_exist_s));
+
+ file = get_filename_from_url(url, head, 0);
+ def = init_str();
+ add_to_str(&def, &dfl, download_dir);
+ if (*def && !dir_sep(def[strlen(def) - 1])) add_chr_to_str(&def, &dfl, '/');
+ add_to_str(&def, &dfl, file);
+ mem_free(file);
+
+ h->fn = (void (*)(void *, unsigned char *, int))fn;
+ h->cancel = (void (*)(void *))cancel;
+ h->flags = flags;
+ h->ses = ses;
+ h->file = NULL;
+ h->url = stracpy(url);
+ h->head = stracpy(head);
+
+ input_field(ses->term, getml(h, h->url, h->head, NULL), TEXT_(T_DOWNLOAD), TEXT_(T_SAVE_TO_FILE), h, &file_history, MAX_INPUT_URL_LEN, def, 0, 0, NULL, TEXT_(T_OK), (void (*)(void *, unsigned char *))does_file_exist, TEXT_(T_CANCEL), (void (*)(void *))query_file_cancel, NULL);
+ mem_free(def);
+}
+
+static struct history search_history = { 0, { &search_history.items, &search_history.items } };
+
+void search_back_dlg(struct session *ses, struct f_data_c *f, int a)
+{
+ if (list_empty(ses->history) || !f->f_data || !f->vs) {
+ msg_box(ses->term, NULL, TEXT_(T_SEARCH), AL_LEFT, TEXT_(T_YOU_ARE_NOWHERE), NULL, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+ return;
+ }
+ input_field(ses->term, NULL, TEXT_(T_SEARCH_BACK), TEXT_(T_SEARCH_FOR_TEXT), ses, &search_history, MAX_INPUT_URL_LEN, "", 0, 0, NULL, TEXT_(T_OK), (void (*)(void *, unsigned char *)) search_for_back, TEXT_(T_CANCEL), NULL, NULL);
+}
+
+void search_dlg(struct session *ses, struct f_data_c *f, int a)
+{
+ if (list_empty(ses->history) || !f->f_data || !f->vs) {
+ msg_box(ses->term, NULL, TEXT_(T_SEARCH_FOR_TEXT), AL_LEFT, TEXT_(T_YOU_ARE_NOWHERE), NULL, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+ return;
+ }
+ input_field(ses->term, NULL, TEXT_(T_SEARCH), TEXT_(T_SEARCH_FOR_TEXT), ses, &search_history, MAX_INPUT_URL_LEN, "", 0, 0, NULL, TEXT_(T_OK), (void (*)(void *, unsigned char *)) search_for, TEXT_(T_CANCEL), NULL, NULL);
+}
+
+void free_history_lists(void)
+{
+ free_list(goto_url_history.items);
+ free_list(file_history.items);
+ free_list(search_history.items);
+#ifdef JS
+ free_list(js_get_string_history.items); /* is in jsint.c */
+#endif
+}
+
diff --git a/missing b/missing
new file mode 100755
index 0000000..b1e4282
--- /dev/null
+++ b/missing
@@ -0,0 +1,190 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# 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, 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.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+case "$1" in
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing - GNU libit 0.0"
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+ aclocal)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`acinclude.m4' or \`configure.in'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`configure.in'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`acconfig.h' or \`configure.in'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case "$f" in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.[aA][mM]$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ bison|yacc)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f y.tab.h ]; then
+ echo >y.tab.h
+ fi
+ if [ ! -f y.tab.c ]; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex|flex)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f lex.yy.c ]; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ makeinfo)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+ fi
+ touch $file
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and you do not seem to have it handy on your
+ system. You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequirements for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/mk-release-os2 b/mk-release-os2
new file mode 100644
index 0000000..f20ef1c
--- /dev/null
+++ b/mk-release-os2
@@ -0,0 +1,32 @@
+#!/bin/sh
+set -e
+WARPIN="d:\prg\WarpIN"
+DLLPATH="d:\prg\emx\dll"
+DLLS="bz2.dll cryptssl.dll jpeg.dll lzma.dll png.dll open_ssl.dll z.dll"
+FILES="AUTHORS BRAILLE_HOWTO COPYING KEYS README links.exe"
+CC="gcc.exe"
+export CC
+CFLAGS="-Wall -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -O2 -pipe -ansi -U__STRICT_ANSI__ -fno-common"
+export CFLAGS
+rc -r linksos2.rc linksos2.res
+if [ ! -f Makefile -o ! -f config.h ]; then
+ LIBS=linksos2.res
+ export LIBS
+ bash ./configure --enable-graphics --without-x --disable-utf8 --disable-debuglevel
+fi
+make
+emxbind -a links.exe -h192
+
+for i in $DLLS; do
+ cp "$DLLPATH\\$i" .
+done
+
+rm -f links.wpi
+cmd /c set BEGINLIBPATH="$WARPIN" \& "$WARPIN\wic.exe" -a links.wpi 1 $FILES $DLLS -s links.wis
+
+rm -rf links links.zip
+mkdir links
+cp $FILES $DLLS links
+pkzip /Add /Recurse /Path /NoExtended links.zip links\\
+rm -rf links
+rm $DLLS
diff --git a/mkinstalldirs b/mkinstalldirs
new file mode 100644
index 0000000..3e6504e
--- /dev/null
+++ b/mkinstalldirs
@@ -0,0 +1,40 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain
+
+# $Id: mkinstalldirs,v 1.1.1.1 2001/10/05 07:03:07 brain Exp $
+
+errstatus=0
+
+for file
+do
+ set fnord `echo "$file" | sed -ne 's,//,/,g;s,^/,:,;s,:/,::,;s,/, ,g;s,::,:/,;s,^:,/,;p'`
+ shift
+
+ pathcomp=
+ for d
+ do
+ pathcomp="$pathcomp$d"
+ case "$pathcomp" in
+ -* ) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp"
+
+ mkdir "$pathcomp" || lasterr=$?
+
+ if test ! -d "$pathcomp"; then
+ errstatus=$lasterr
+ fi
+ fi
+
+ pathcomp="$pathcomp/"
+ done
+done
+
+exit $errstatus
+
+# mkinstalldirs ends here
diff --git a/objreq.c b/objreq.c
new file mode 100644
index 0000000..8bb21cc
--- /dev/null
+++ b/objreq.c
@@ -0,0 +1,356 @@
+/* objreq.c
+ * Object Requester
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+static void objreq_end(struct status *, struct object_request *);
+static void object_timer(struct object_request *);
+
+
+static struct list_head requests = {&requests, &requests};
+static tcount obj_req_count = 1;
+
+#define LL gf_val(1, G_BFU_FONT_SIZE)
+
+#define MAX_UID_LEN 256
+
+struct auth_dialog {
+ unsigned char uid[MAX_UID_LEN];
+ unsigned char passwd[MAX_UID_LEN];
+ unsigned char *realm;
+ int proxy;
+ unsigned char msg[1];
+};
+
+static inline struct object_request *find_rq(tcount c)
+{
+ struct object_request *rq;
+ foreach(rq, requests) if (rq->count == c) return rq;
+ return NULL;
+}
+
+static void auth_fn(struct dialog_data *dlg)
+{
+ struct terminal *term = dlg->win->term;
+ struct auth_dialog *a = dlg->dlg->udata;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = 0;
+ max_text_width(term, a->msg, &max, AL_LEFT);
+ min_text_width(term, a->msg, &min, AL_LEFT);
+ max_text_width(term, TEXT_(T_USERID), &max, AL_LEFT);
+ min_text_width(term, TEXT_(T_USERID), &min, AL_LEFT);
+ max_text_width(term, TEXT_(T_PASSWORD), &max, AL_LEFT);
+ min_text_width(term, TEXT_(T_PASSWORD), &min, AL_LEFT);
+ max_buttons_width(term, dlg->items + 2, 2, &max);
+ min_buttons_width(term, dlg->items + 2, 2, &min);
+ w = term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ rw = w;
+ dlg_format_text(dlg, NULL, a->msg, 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += LL;
+ dlg_format_text_and_field(dlg, NULL, TEXT_(T_USERID), dlg->items, 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += LL;
+ dlg_format_text_and_field(dlg, NULL, TEXT_(T_PASSWORD), dlg->items + 1, 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += LL;
+ dlg_format_buttons(dlg, NULL, dlg->items + 2, 2, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = rw + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB;
+ y += LL;
+ dlg_format_text(dlg, term, a->msg, dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += LL;
+ dlg_format_text_and_field(dlg, term, TEXT_(T_USERID), dlg->items, dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += LL;
+ dlg_format_text_and_field(dlg, term, TEXT_(T_PASSWORD), dlg->items + 1, dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += LL;
+ dlg_format_buttons(dlg, term, dlg->items + 2, 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER);
+}
+
+static int auth_cancel(struct dialog_data *dlg, struct dialog_item_data *item)
+{
+ struct object_request *rq = find_rq((my_intptr_t)dlg->dlg->udata2);
+ if (rq) {
+ rq->state = O_OK;
+ if (rq->timer != -1) kill_timer(rq->timer);
+ rq->timer = install_timer(0, (void (*)(void *))object_timer, rq);
+ if (!rq->ce) (rq->ce = rq->ce_internal)->refcount++;
+ }
+ cancel_dialog(dlg, item);
+ return 0;
+}
+
+static int auth_ok(struct dialog_data *dlg, struct dialog_item_data *item)
+{
+ struct object_request *rq = find_rq((my_intptr_t)dlg->dlg->udata2);
+ if (rq) {
+ struct auth_dialog *a = dlg->dlg->udata;
+ struct session *ses;
+ struct conv_table *ct;
+ int net_cp;
+ unsigned char *uid, *passwd;
+ get_dialog_data(dlg);
+ ses = ((struct window *)dlg->win->term->windows.prev)->data;
+ ct = get_convert_table(rq->ce_internal->head, dlg->win->term->spec->charset, ses->ds.assume_cp, &net_cp, NULL, ses->ds.hard_assume);
+ ct = get_translation_table(dlg->win->term->spec->charset, net_cp);
+ uid = convert_string(ct, a->uid, strlen(a->uid), NULL);
+ passwd = convert_string(ct, a->passwd, strlen(a->passwd), NULL);
+ add_auth(rq->url, a->realm, uid, passwd, a->proxy);
+ mem_free(uid);
+ mem_free(passwd);
+ change_connection(&rq->stat, NULL, PRI_CANCEL);
+ load_url(rq->url, rq->prev_url, &rq->stat, rq->pri, NC_RELOAD, 0, 0);
+ }
+ cancel_dialog(dlg, item);
+ return 0;
+}
+
+static int auth_window(struct object_request *rq, unsigned char *realm)
+{
+ unsigned char *host, *port;
+ struct dialog *d;
+ struct auth_dialog *a;
+ struct terminal *term;
+ struct conv_table *ct;
+ unsigned char *urealm;
+ struct session *ses;
+ foreach(term, terminals) if (rq->term == term->count) goto ok;
+ return -1;
+ ok:
+ ses = ((struct window *)term->windows.prev)->data;
+ ct = get_convert_table(rq->ce_internal->head, term->spec->charset, ses->ds.assume_cp, NULL, NULL, ses->ds.hard_assume);
+ if (rq->ce_internal->http_code == 407) host = stracpy(proxies.http_proxy);
+ else {
+ host = get_host_name(rq->url);
+ if (!host) return -1;
+ if ((port = get_port_str(rq->url))) {
+ add_to_strn(&host, ":");
+ add_to_strn(&host, port);
+ mem_free(port);
+ }
+ }
+ urealm = convert_string(ct, realm, strlen(realm), NULL);
+ d = mem_alloc(sizeof(struct dialog) + 5 * sizeof(struct dialog_item) + sizeof(struct auth_dialog) + strlen(_(TEXT_(T_ENTER_USERNAME), term)) + strlen(urealm) + 1 + strlen(_(TEXT_(T_AT), term)) + strlen(host) + + 1);
+ memset(d, 0, sizeof(struct dialog) + 5 * sizeof(struct dialog_item) + sizeof(struct auth_dialog));
+ a = (struct auth_dialog *)((unsigned char *)d + sizeof(struct dialog) + 5 * sizeof(struct dialog_item));
+ strcpy(a->msg, _(TEXT_(T_ENTER_USERNAME), term));
+ strcat(a->msg, urealm);
+ strcat(a->msg, "\n");
+ strcat(a->msg, _(TEXT_(T_AT), term));
+ strcat(a->msg, host);
+ mem_free(host);
+ mem_free(urealm);
+ a->proxy = rq->ce_internal->http_code == 407;
+ a->realm = stracpy(realm);
+ d->udata = a;
+ d->udata2 = (void *)(my_intptr_t)rq->count;
+ if (rq->ce_internal->http_code == 401) d->title = TEXT_(T_AUTHORIZATION_REQUIRED);
+ else d->title = TEXT_(T_PROXY_AUTHORIZATION_REQUIRED);
+ d->fn = auth_fn;
+ d->items[0].type = D_FIELD;
+ d->items[0].dlen = MAX_UID_LEN;
+ d->items[0].data = a->uid;
+
+ d->items[1].type = D_FIELD_PASS;
+ d->items[1].dlen = MAX_UID_LEN;
+ d->items[1].data = a->passwd;
+
+ d->items[2].type = D_BUTTON;
+ d->items[2].gid = B_ENTER;
+ d->items[2].fn = auth_ok;
+ d->items[2].text = TEXT_(T_OK);
+
+ d->items[3].type = D_BUTTON;
+ d->items[3].gid = B_ESC;
+ d->items[3].fn = auth_cancel;
+ d->items[3].text = TEXT_(T_CANCEL);
+
+ do_dialog(term, d, getml(d, a->realm, NULL));
+ return 0;
+}
+
+/* prev_url is a pointer to previous url or NULL */
+/* prev_url will NOT be deallocated */
+void request_object(struct terminal *term, unsigned char *url, unsigned char *prev_url, int pri, int cache, void (*upcall)(struct object_request *, void *), void *data, struct object_request **rqp)
+{
+ struct object_request *rq;
+ rq = mem_calloc(sizeof(struct object_request));
+ rq->state = O_WAITING;
+ rq->refcount = 1;
+ rq->term = term ? term->count : 0;
+ rq->stat.end = (void (*)(struct status *, void *))objreq_end;
+ rq->stat.data = rq;
+ rq->orig_url = stracpy(url);
+ rq->url = stracpy(url);
+ rq->pri = pri;
+ rq->cache = cache;
+ rq->upcall = upcall;
+ rq->data = data;
+ rq->timer = -1;
+ rq->z = (uttime)get_time() - STAT_UPDATE_MAX;
+ rq->last_update = rq->z;
+ rq->last_bytes = 0;
+ if (rq->prev_url) mem_free(rq->prev_url);
+ rq->prev_url = stracpy(prev_url);
+ if (rqp) *rqp = rq;
+ rq->count = obj_req_count++;
+ add_to_list(requests, rq);
+ load_url(url, prev_url, &rq->stat, pri, cache, 0, 0);
+}
+
+static void set_ce_internal(struct object_request *rq)
+{
+ if (rq->stat.ce != rq->ce_internal) {
+ if (!rq->stat.ce) {
+ rq->ce_internal->refcount--;
+ rq->ce_internal = NULL;
+ } else {
+ if (rq->ce_internal)
+ rq->ce_internal->refcount--;
+ rq->ce_internal = rq->stat.ce;
+ rq->ce_internal->refcount++;
+ }
+ }
+}
+
+static void objreq_end(struct status *stat, struct object_request *rq)
+{
+ set_ce_internal(rq);
+
+ if (stat->state < 0) {
+ if (stat->ce && rq->state == O_WAITING && stat->ce->redirect) {
+ if (rq->redirect_cnt++ < MAX_REDIRECTS) {
+ int cache;
+ unsigned char *u, *p, *pos;
+ change_connection(stat, NULL, PRI_CANCEL);
+ u = join_urls(rq->url, stat->ce->redirect);
+ u = translate_hashbang(u);
+ if ((pos = extract_position(u))) {
+ if (rq->goto_position) mem_free(rq->goto_position);
+ rq->goto_position = pos;
+ }
+ if (!http_options.bug_302_redirect && !stat->ce->redirect_get && (p = strchr(u, POST_CHAR))) add_to_strn(&u, p);
+ cache = rq->cache;
+ if (cache < NC_RELOAD && (!strcmp(u, rq->url) || !strcmp(u, rq->orig_url) || rq->redirect_cnt >= MAX_CACHED_REDIRECTS)) cache = NC_RELOAD;
+ mem_free(rq->url);
+ rq->url = u;
+ load_url(u, rq->prev_url, &rq->stat, rq->pri, cache, 0, 0);
+ return;
+ } else {
+ maxrd:
+ rq->stat.state = S_CYCLIC_REDIRECT;
+ }
+ }
+ if (stat->ce && rq->state == O_WAITING && (stat->ce->http_code == 401 || stat->ce->http_code == 407)) {
+ unsigned char *realm = get_auth_realm(rq->url, stat->ce->head, stat->ce->http_code == 407);
+ unsigned char *user;
+ if (!realm) goto xx;
+ if (stat->ce->http_code == 401 && !find_auth(rq->url, realm)) {
+ mem_free(realm);
+ if (rq->redirect_cnt++ >= MAX_REDIRECTS) goto maxrd;
+ change_connection(stat, NULL, PRI_CANCEL);
+ load_url(rq->url, rq->prev_url, &rq->stat, rq->pri, NC_RELOAD, 0, 0);
+ return;
+ }
+ user = get_user_name(rq->url);
+ if (user && *user) {
+ mem_free(user);
+ mem_free(realm);
+ goto xx;
+ }
+ mem_free(user);
+ if (!auth_window(rq, realm)) {
+ rq->redirect_cnt = 0;
+ mem_free(realm);
+ goto tm;
+ }
+ mem_free(realm);
+ goto xx;
+ }
+ }
+ if ((stat->state < 0 || stat->state == S_TRANS) && stat->ce && !stat->ce->redirect && stat->ce->http_code != 401 && stat->ce->http_code != 407) {
+ rq->state = O_LOADING;
+ if (0) {
+ xx:
+ rq->state = O_OK;
+ }
+ if (!rq->ce) (rq->ce = stat->ce)->refcount++;
+ }
+ tm:
+ if (rq->timer != -1) kill_timer(rq->timer);
+ rq->timer = install_timer(0, (void (*)(void *))object_timer, rq);
+}
+
+static void object_timer(struct object_request *rq)
+{
+ int last;
+
+ set_ce_internal(rq);
+
+ last = rq->last_bytes;
+ if (rq->ce) rq->last_bytes = rq->ce->length;
+ rq->timer = -1;
+ if (rq->stat.state < 0 && (!rq->ce_internal || (!rq->ce_internal->redirect && rq->ce_internal->http_code != 401 && rq->ce_internal->http_code != 407) || rq->stat.state == S_CYCLIC_REDIRECT)) {
+ if (rq->ce_internal && rq->stat.state != S_CYCLIC_REDIRECT) {
+ rq->state = rq->stat.state != S__OK ? O_INCOMPLETE : O_OK;
+ } else rq->state = O_FAILED;
+ }
+ if (rq->stat.state != S_TRANS) {
+ if (rq->stat.state >= 0)
+ rq->timer = install_timer(STAT_UPDATE_MAX, (void (*)(void *))object_timer, rq);
+ rq->last_update = rq->z;
+ if (rq->upcall) rq->upcall(rq, rq->data);
+ } else {
+ ttime ct = get_time();
+ ttime t = (uttime)ct - (uttime)rq->last_update;
+ rq->timer = install_timer(STAT_UPDATE_MIN, (void (*)(void *))object_timer, rq);
+ if (t >= STAT_UPDATE_MAX || (t >= STAT_UPDATE_MIN && rq->ce && rq->last_bytes > last)) {
+ rq->last_update = ct;
+ if (rq->upcall) rq->upcall(rq, rq->data);
+ }
+ }
+}
+
+void release_object_get_stat(struct object_request **rqq, struct status *news, int pri)
+{
+ struct object_request *rq = *rqq;
+ if (!rq) return;
+ *rqq = NULL;
+ if (--rq->refcount) return;
+ change_connection(&rq->stat, news, pri);
+ if (rq->timer != -1) kill_timer(rq->timer);
+ if (rq->ce_internal) rq->ce_internal->refcount--;
+ if (rq->ce) rq->ce->refcount--;
+ mem_free(rq->orig_url);
+ mem_free(rq->url);
+ if (rq->prev_url) mem_free(rq->prev_url);
+ if (rq->goto_position) mem_free(rq->goto_position);
+ del_from_list(rq);
+ mem_free(rq);
+}
+
+void release_object(struct object_request **rqq)
+{
+ release_object_get_stat(rqq, NULL, PRI_CANCEL);
+}
+
+void detach_object_connection(struct object_request *rq, off_t pos)
+{
+ if (rq->state == O_WAITING || rq->state == O_FAILED) {
+ internal("detach_object_connection: no data received");
+ return;
+ }
+ if (rq->refcount == 1) detach_connection(&rq->stat, pos);
+}
+
+void clone_object(struct object_request *rq, struct object_request **rqq)
+{
+ (*rqq = rq)->refcount++;
+}
diff --git a/os_dep.c b/os_dep.c
new file mode 100644
index 0000000..791b2c0
--- /dev/null
+++ b/os_dep.c
@@ -0,0 +1,2689 @@
+/* os_dep.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif
+
+#ifdef USE_GPM
+#include <gpm.h>
+#endif
+
+
+int is_safe_in_shell(unsigned char c)
+{
+ return c == '@' || c == '+' || c == '-' || c == '.' || c == ',' || c == '=' || (c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || c == '_' || (c >= 'a' && c <= 'z');
+}
+
+int is_safe_in_url(unsigned char c)
+{
+ return is_safe_in_shell(c) || c == ':' || c == '/' || c >= 0x80;
+}
+
+void check_shell_security(unsigned char **cmd)
+{
+ unsigned char *c = *cmd;
+ while (*c) {
+ if (!is_safe_in_shell(*c)) *c = '_';
+ c++;
+ }
+}
+
+int check_shell_url(unsigned char *url)
+{
+ while (*url) {
+ if (!is_safe_in_url(*url)) return -1;
+ url++;
+ }
+ return 0;
+}
+
+unsigned char *escape_path(unsigned char *path)
+{
+ unsigned char *result;
+ size_t i;
+ if (strchr(path, '"')) return stracpy(path);
+ for (i = 0; path[i]; i++) if (!is_safe_in_url(path[i])) goto do_esc;
+ return stracpy(path);
+ do_esc:
+ result = stracpy("\"");
+ add_to_strn(&result, path);
+ add_to_strn(&result, "\"");
+ return result;
+}
+
+static int get_e(unsigned char *env)
+{
+ unsigned char *v;
+ if ((v = getenv(env))) return atoi(v);
+ return 0;
+}
+
+void ignore_signals(void)
+{
+ errno = 0;
+ while (signal(SIGPIPE, SIG_IGN) == SIG_ERR && errno == EINTR) errno = 0;
+#ifdef SIGXFSZ
+ errno = 0;
+ while (signal(SIGXFSZ, SIG_IGN) == SIG_ERR && errno == EINTR) errno = 0;
+#endif
+}
+
+unsigned char *clipboard = NULL;
+
+#if defined(WIN32)
+#include <windows.h>
+#endif
+
+#if defined(OS2)
+
+#define INCL_MOU
+#define INCL_VIO
+#define INCL_DOSPROCESS
+#define INCL_DOSERRORS
+#define INCL_DOSMODULEMGR
+#define INCL_DOSMISC
+#define INCL_WIN
+#define INCL_WINCLIPBOARD
+#define INCL_WINSWITCHLIST
+#include <os2.h>
+#include <io.h>
+#include <process.h>
+#include <sys/video.h>
+#ifdef HAVE_SYS_FMUTEX_H
+#include <sys/builtin.h>
+#include <sys/fmutex.h>
+#endif
+
+#ifdef X2
+/* from xf86sup - XFree86 OS/2 support driver */
+#include <pty.h>
+#endif
+
+#endif
+
+
+#ifdef OS2
+
+/* The process crashes if we write to console from high address - so we must
+ * never do it.
+ * TCP/IP 4.0 returns EFAULT if we do I/O to/from high address - we test for
+ * EFAULT and retry with a bounce buffer. */
+
+#define BOUNCE_BUFFER_SIZE 256
+
+int bounced_read(int fd, void *buf, size_t size)
+{
+ unsigned char *bounce_buffer;
+ size_t xsiz;
+ int r;
+ if (fd < 3 && (unsigned long)buf + size > 0x20000000) goto bounce;
+ r = _read(fd, buf, size);
+ if (r == -1 && errno == EFAULT) goto bounce;
+ return r;
+ bounce:
+ xsiz = size > BOUNCE_BUFFER_SIZE ? BOUNCE_BUFFER_SIZE : size;
+ bounce_buffer = alloca(xsiz);
+ r = _read(fd, bounce_buffer, xsiz);
+ if (r > 0) memcpy(buf, bounce_buffer, r);
+ return r;
+}
+
+int bounced_write(int fd, const void *buf, size_t size)
+{
+ unsigned char *bounce_buffer;
+ size_t xsiz;
+ int r;
+ if (fd < 3 && (unsigned long)buf + size > 0x20000000) goto bounce;
+ r = _write(fd, buf, size);
+ if (r == -1 && errno == EFAULT) goto bounce;
+ return r;
+ bounce:
+ xsiz = size > BOUNCE_BUFFER_SIZE ? BOUNCE_BUFFER_SIZE : size;
+ bounce_buffer = alloca(xsiz);
+ memcpy(bounce_buffer, buf, xsiz);
+ return _write(fd, bounce_buffer, xsiz);
+}
+
+#endif
+
+#ifdef OS2_ADVANCED_HEAP
+
+#include <umalloc.h>
+
+#ifndef OBJ_ANY
+#define OBJ_ANY 0x0400
+#endif
+
+unsigned long mem_requested = 0;
+unsigned long blocks_requested = 0;
+
+static int dosallocmem_attrib = PAG_READ | PAG_WRITE | PAG_COMMIT;
+
+#define HEAP_ALIGN 0x10000
+#define HEAP_PAD 2
+#define HEAP_MAXPAD 0x1000000
+
+static void heap_release(Heap_t h, void *ptr, size_t len)
+{
+ int rc;
+ mem_requested -= ((len | 4095) + 1);
+ blocks_requested--;
+ rc = DosFreeMem(ptr);
+ /*fprintf(stderr, "heap free %p -> %d\n", ptr, rc);*/
+ if (rc) {
+ error("DosFreeMem failed: %d", rc);
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+}
+
+static void *heap_alloc(Heap_t h, size_t *size, int *pclean)
+{
+ void *result;
+ int rc;
+ /* If we rounded up to page size, EMX would join all allocations
+ * to one segment and refuse to free memory. So round up to
+ * page size - 1 */
+ size_t real_size = *size;
+ if (real_size < HEAP_MAXPAD / HEAP_PAD) {
+ real_size *= HEAP_PAD;
+ real_size = real_size | (HEAP_ALIGN - 1);
+ } else {
+ real_size |= 1;
+ }
+ rc = DosAllocMem(&result, real_size, dosallocmem_attrib);
+ /*fprintf(stderr, "heap alloc %d -> %p, %d\n", *size, result, rc);*/
+ if (!rc) {
+ /*
+ * Hitting the shared arena has a negative impact on the whole
+ * system. Therefore, we fake failure (so that Links frees
+ * some caches) and try allocating near the shared arena only
+ * as a last resort.
+ */
+ if ((unsigned long)result >= 0x12000000 &&
+ (unsigned long)result < 0x20000000) {
+ if (!malloc_try_hard) {
+ heap_release(NULL, result, real_size);
+ return NULL;
+ }
+ }
+ *size = real_size;
+ *pclean = _BLOCK_CLEAN;
+ mem_requested += ((real_size | 4095) + 1);
+ blocks_requested++;
+ return result;
+ } else {
+ return NULL;
+ }
+}
+
+static void init_os2_heap(void)
+{
+ Heap_t new_heap;
+ size_t init_size = _HEAP_MIN_SIZE;
+ void *init_mem;
+ int init_clean;
+ dosallocmem_attrib |= OBJ_ANY;
+ init_mem = heap_alloc(NULL, &init_size, &init_clean);
+ if (!init_mem) {
+ dosallocmem_attrib &= ~OBJ_ANY;
+ init_mem = heap_alloc(NULL, &init_size, &init_clean);
+ if (!init_mem) {
+ return;
+ }
+ }
+ new_heap = _ucreate(init_mem, init_size, init_clean, _HEAP_REGULAR, heap_alloc, heap_release);
+ if (!new_heap) {
+ heap_release(NULL, init_mem, init_size);
+ return;
+ }
+ if (_uopen(new_heap) == -1) {
+#if defined(HAVE__UDESTROY) && defined(_FORCE)
+ _udestroy(new_heap, _FORCE);
+#else
+ heap_release(NULL, init_mem, init_size);
+#endif
+ return;
+ }
+ _udefault(new_heap);
+}
+
+#endif
+
+#if defined(O_SIZE) && defined(__EMX__)
+
+int open_prealloc(unsigned char *name, int flags, int mode, off_t siz)
+{
+ int h;
+ EINTRLOOP(h, open(name, flags | O_SIZE, mode, (unsigned long)siz));
+ return h;
+}
+
+#endif
+
+/* Terminal size */
+
+#ifdef WIN32
+
+/* Cygwin has a bug and loses SIGWINCH sometimes, so poll it */
+
+static void winch_thread(void *p, int l)
+{
+ static int old_xsize, old_ysize;
+ static int cur_xsize, cur_ysize;
+ if (get_terminal_size(0, &old_xsize, &old_ysize)) return;
+ while (1) {
+ if (get_terminal_size(1, &cur_xsize, &cur_ysize)) return;
+ if ((old_xsize != cur_xsize) || (old_ysize != cur_ysize)) {
+ int rr;
+ old_xsize = cur_xsize;
+ old_ysize = cur_ysize;
+ EINTRLOOP(rr, raise(SIGWINCH));
+ }
+ sleep(1);
+ }
+}
+
+static void win32_resize_poll(void)
+{
+ static int winch_thread_running = 0;
+ if (!winch_thread_running) {
+ if (start_thread(winch_thread, NULL, 0) >= 0)
+ winch_thread_running = 1;
+ }
+}
+
+#endif
+
+#if defined(UNIX) || defined(WIN32) || defined(INTERIX) || defined(BEOS) || defined(RISCOS) || defined(ATHEOS) || defined(SPAD)
+
+static void sigwinch(void *s)
+{
+ ((void (*)(void))s)();
+}
+
+void handle_terminal_resize(int fd, void (*fn)(void))
+{
+ install_signal_handler(SIGWINCH, sigwinch, fn, 0);
+#ifdef WIN32
+ win32_resize_poll();
+#endif
+}
+
+void unhandle_terminal_resize(int fd)
+{
+ install_signal_handler(SIGWINCH, NULL, NULL, 0);
+}
+
+int get_terminal_size(int fd, int *x, int *y)
+{
+ volatile struct winsize ws; /* Sun Studio misoptimizes it */
+ int rs;
+ if (!x || !y) return -1;
+ EINTRLOOP(rs, ioctl(1, TIOCGWINSZ, &ws));
+ if (rs != -1) {
+ if (!(*x = ws.ws_col) && !(*x = get_e("COLUMNS"))) *x = 80;
+ if (!(*y = ws.ws_row) && !(*y = get_e("LINES"))) *y = 24;
+ return 0;
+ } else {
+ if (!(*x = get_e("COLUMNS"))) *x = 80;
+ if (!(*y = get_e("LINES"))) *y = 24;
+ }
+ return 0;
+}
+
+#elif defined(OS2)
+
+#define A_DECL(type, var) type var##1, var##2, *var = _THUNK_PTR_STRUCT_OK(&var##1) ? &var##1 : &var##2
+
+int is_xterm(void)
+{
+ static int xt = -1;
+ if (xt == -1) xt = !!getenv("WINDOWID");
+ return xt;
+}
+
+static int winch_pipe[2];
+static unsigned char winch_thread_running = 0;
+
+#define WINCH_SLEEPTIME 500 /* time in ms for winch thread to sleep */
+
+static void winch_thread(void)
+{
+ /* A thread which regularly checks whether the size of
+ window has changed. Then raise SIGWINCH or notifiy
+ the thread responsible to handle this. */
+ static int old_xsize, old_ysize;
+ static int cur_xsize, cur_ysize;
+
+ ignore_signals();
+ if (get_terminal_size(1, &old_xsize, &old_ysize)) return;
+ while (1) {
+ if (get_terminal_size(1, &cur_xsize, &cur_ysize)) return;
+ if ((old_xsize != cur_xsize) || (old_ysize != cur_ysize)) {
+ int wr;
+ old_xsize = cur_xsize;
+ old_ysize = cur_ysize;
+ EINTRLOOP(wr, write(winch_pipe[1], "x", 1));
+ /* Resizing may take some time. So don't send a flood
+ of requests?! */
+ _sleep2(2*WINCH_SLEEPTIME);
+ }
+ else
+ _sleep2(WINCH_SLEEPTIME);
+ }
+}
+
+static void winch(void *s)
+{
+ unsigned char c;
+ while (can_read(winch_pipe[0])) {
+ int rd;
+ EINTRLOOP(rd, read(winch_pipe[0], &c, 1));
+ if (rd != 1) break;
+ }
+ ((void (*)(void))s)();
+}
+
+void handle_terminal_resize(int fd, void (*fn)(void))
+{
+ if (!is_xterm()) return;
+ if (!winch_thread_running) {
+ if (c_pipe(winch_pipe) < 0) return;
+ winch_thread_running = 1;
+ if (_beginthread((void (*)(void *))winch_thread, NULL, 0x32000, NULL) == -1) {
+ }
+ }
+ set_handlers(winch_pipe[0], winch, NULL, NULL, fn);
+}
+
+void unhandle_terminal_resize(int fd)
+{
+ set_handlers(winch_pipe[0], NULL, NULL, NULL, NULL);
+}
+
+int get_terminal_size(int fd, int *x, int *y)
+{
+ if (!x || !y) return -1;
+ if (is_xterm()) {
+#ifdef X2
+ int arc;
+ struct winsize win;
+
+ /* fd = STDIN_FILENO; */
+ arc = ptioctl(1, TIOCGWINSZ, &win);
+ if (arc) {
+ *x = 80;
+ *y = 24;
+ return 0;
+ }
+ *y = win.ws_row;
+ *x = win.ws_col;
+ goto set_default;
+#else
+ *x = 80; *y = 24;
+ return 0;
+#endif
+ } else {
+ int a[2] = { 0, 0 };
+ _scrsize(a);
+ *x = a[0];
+ *y = a[1];
+#ifdef X2
+ set_default:
+#endif
+ if (*x == 0) {
+ *x = get_e("COLUMNS");
+ if (*x == 0) *x = 80;
+ }
+ if (*y == 0) {
+ *y = get_e("LINES");
+ if (*y == 0) *y = 24;
+ }
+ }
+ return 0;
+}
+
+#endif
+
+/* Pipe */
+
+#if defined(OS2) || (defined(WIN32) && !defined(_UWIN))
+
+void set_bin(int fd)
+{
+ setmode(fd, O_BINARY);
+}
+
+#else
+
+void set_bin(int fd)
+{
+}
+
+#endif
+
+int c_pipe(int *fd)
+{
+ int r;
+ EINTRLOOP(r, pipe(fd));
+ if (!r) set_bin(fd[0]), set_bin(fd[1]);
+ return r;
+}
+
+/* Exec */
+
+int can_twterm(void) /* Check if it make sense to call a twterm. */
+{
+ static int xt = -1;
+ if (xt == -1) xt = !!getenv("TWDISPLAY");
+ return xt;
+}
+
+
+#if defined(UNIX) || defined(SPAD)
+
+int is_xterm(void)
+{
+ static int xt = -1;
+ if (xt == -1) xt = getenv("DISPLAY") && *getenv("DISPLAY");
+ return xt;
+}
+
+#elif defined(BEOS) || defined(ATHEOS)
+
+int is_xterm(void)
+{
+ return 0;
+}
+
+#elif defined(WIN32) || defined(INTERIX)
+
+int is_xterm(void)
+{
+ static int xt = -1;
+ if (xt == -1) xt = !!getenv("WINDOWID");
+ return xt;
+}
+
+#elif defined(RISCOS)
+
+int is_xterm(void)
+{
+ return 1;
+}
+
+#endif
+
+void close_fork_tty(void)
+{
+ struct terminal *t;
+ struct download *d;
+ struct connection *c;
+ struct k_conn *k;
+ int rs;
+ foreach (t, terminals) if (t->fdin > 0)
+ EINTRLOOP(rs, close(t->fdin));
+ foreach (d, downloads) if (d->handle > 0)
+ EINTRLOOP(rs, close(d->handle));
+ foreach (c, queue) close_socket(&c->sock1), close_socket(&c->sock2);
+ foreach (k, keepalive_connections)
+ EINTRLOOP(rs, close(k->conn));
+}
+
+void init_os(void)
+{
+#ifdef OS2_ADVANCED_HEAP
+ init_os2_heap();
+#endif
+#if defined(RLIMIT_OFILE) && !defined(RLIMIT_NOFILE)
+#define RLIMIT_NOFILE RLIMIT_OFILE
+#endif
+#if defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT) && defined(RLIMIT_NOFILE)
+ struct rlimit limit;
+ int rs;
+ EINTRLOOP(rs, getrlimit(RLIMIT_NOFILE, &limit));
+ if (rs)
+ goto skip_limit;
+ if (limit.rlim_cur > FD_SETSIZE) {
+ limit.rlim_cur = FD_SETSIZE;
+ EINTRLOOP(rs, setrlimit(RLIMIT_NOFILE, &limit));
+ }
+skip_limit:;
+#endif
+}
+
+#if defined(WIN32)
+
+void get_path_to_exe(void)
+{
+ /* Standard method (argv[0]) doesn't work, if links is executed from
+ symlink --- it returns symlink name and cmd.exe is unable to start
+ it */
+ unsigned r;
+ static unsigned char path[4096];
+ r = GetModuleFileName(NULL, path, sizeof path);
+ if (r <= 0 || r >= sizeof path) {
+ path_to_exe = g_argv[0];
+ return;
+ }
+ path_to_exe = path;
+}
+
+#elif defined(OS2)
+
+static int os2_full_screen = 0;
+static int os2_detached = 0;
+
+void get_path_to_exe(void)
+{
+ /* If you spawn links with quotation marks from cmd.exe,
+ the quotation marks will be present in g_argv[0] ... and will
+ prevent executing it */
+ static unsigned char path[270];
+ PTIB tib = NULL;
+ PPIB pib = NULL;
+ path_to_exe = g_argv[0];
+ DosGetInfoBlocks(&tib, &pib);
+ if (!pib) return;
+ os2_full_screen = pib->pib_ultype == 0;
+ os2_detached = pib->pib_ultype == 4;
+ if (DosQueryModuleName(pib->pib_hmte, sizeof path, path)) return;
+ path_to_exe = path;
+}
+
+int os_get_system_name(unsigned char *buffer)
+{
+ ULONG version[3];
+ if (DosQuerySysInfo(QSV_VERSION_MAJOR, QSV_VERSION_REVISION, version, sizeof version))
+ return -1;
+ if (version[0] == 20) {
+ version[0] = 2;
+ if (version[1] == 10) {
+ version[1] = 1;
+ } else if (version[1] >= 30) {
+ version[0] = version[1] / 10;
+ version[1] %= 10;
+ }
+ }
+ sprintf(buffer, "OS/2 %d.%d i386", (int)version[0], (int)version[1]);
+ return 0;
+}
+
+#else
+
+void get_path_to_exe(void)
+{
+ path_to_exe = g_argv[0];
+}
+
+#endif
+
+void init_os_terminal(void)
+{
+#ifdef INTERIX
+ /* Some sort of terminal bug in Interix, if we run xterm -e links,
+ terminal doesn't switch to raw mode, executing "stty sane" fixes it.
+ Don't do this workaround on console. */
+ unsigned char *term = getenv("TERM");
+ if (!term || strncasecmp(term, "interix", 7)) {
+ int rr;
+ errno = 0;
+ EINTRLOOP(rr, system("stty sane 2>/dev/null"));
+ }
+#endif
+#ifdef OS2
+ if (os2_detached) {
+ error("Links doesn't work in detached session");
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+#endif
+}
+
+#ifdef INTERIX
+
+static inline void cut_program_path(unsigned char *prog, unsigned char **prog_start, unsigned char **prog_end)
+{
+ while (WHITECHAR(*prog)) prog++;
+ if (prog[0] == '"' || prog[0] == '\'') {
+ *prog_start = prog + 1;
+ *prog_end = strchr(prog + 1, prog[0]);
+ if (!*prog_end)
+ *prog_end = strchr(prog, 0);
+ } else {
+ *prog_start = prog;
+ *prog_end = prog + strcspn(prog, " ");
+ }
+}
+
+static inline int is_windows_drive(unsigned char *prog_start, unsigned char *prog_end)
+{
+ if (prog_end - prog_start >= 3 && upcase(prog_start[0]) >= 'A' && upcase(prog_start[0]) <= 'Z' && prog_start[1] == ':')
+ return 1;
+ return 0;
+}
+
+static inline int is_windows_program(unsigned char *prog_start, unsigned char *prog_end)
+{
+ if (prog_end - prog_start > 4 && (
+ !strncasecmp(prog_end - 4, ".exe", 4) ||
+ !strncasecmp(prog_end - 4, ".bat", 4)))
+ return 1;
+ return 0;
+}
+
+#endif
+
+#if defined(WIN32) && defined(HAVE_CYGWIN_CONV_PATH)
+
+unsigned char *os_conv_to_external_path(unsigned char *file, unsigned char *prog)
+{
+ unsigned char *new_path;
+ ssize_t sz;
+ sz = cygwin_conv_path(CCP_POSIX_TO_WIN_A | CCP_ABSOLUTE, file, NULL, 0);
+ if (sz < 0) return stracpy(file);
+ new_path = mem_alloc(sz);
+ sz = cygwin_conv_path(CCP_POSIX_TO_WIN_A | CCP_ABSOLUTE, file, new_path, sz);
+ if (sz < 0) {
+ mem_free(new_path);
+ return stracpy(file);
+ }
+ return new_path;
+}
+
+#elif defined(WIN32) && defined(HAVE_CYGWIN_CONV_TO_FULL_WIN32_PATH)
+
+unsigned char *os_conv_to_external_path(unsigned char *file, unsigned char *prog)
+{
+#ifdef MAX_PATH
+ unsigned char new_path[MAX_PATH];
+#else
+ unsigned char new_path[1024];
+#endif
+ *new_path = 0;
+ cygwin_conv_to_full_win32_path(file, new_path);
+ if (!*new_path) return stracpy(file);
+ return stracpy(new_path);
+}
+
+#elif defined(WIN32) && defined(HAVE_UWIN_PATH)
+
+unsigned char *os_conv_to_external_path(unsigned char *file, unsigned char *prog)
+{
+ unsigned char *new_path;
+ ssize_t sz, sz2;
+ sz = uwin_path(file, NULL, 0);
+ if (sz < 0) return stracpy(file);
+ new_path = mem_alloc(sz + 1);
+ sz2 = uwin_path(file, new_path, sz + 1);
+ if (sz2 < 0 || sz2 > sz) {
+ mem_free(new_path);
+ return stracpy(file);
+ }
+ return new_path;
+}
+
+#elif defined(INTERIX) && defined(HAVE_UNIXPATH2WIN)
+
+unsigned char *os_conv_to_external_path(unsigned char *file, unsigned char *prog)
+{
+ unsigned char *prog_start, *prog_end;
+ cut_program_path(prog, &prog_start, &prog_end);
+ /* Convert path only if the program has ".exe" or ".bat" extension */
+ if (is_windows_program(prog_start, prog_end)) {
+#ifdef MAX_PATH
+ unsigned char new_path[MAX_PATH];
+#else
+ unsigned char new_path[512];
+#endif
+ unsigned char *newstr;
+ int newstrl;
+ unsigned char *p;
+ if (unixpath2win(file, 0, new_path, sizeof(new_path)))
+ goto copy_path;
+ /*return stracpy(new_path);*/
+ newstr = init_str();
+ newstrl = 0;
+ for (p = new_path; *p; p++) {
+ /*
+ * Unix shell hates backslash and Windows applications
+ * accept '/'
+ */
+ if (*p == '\\') add_to_str(&newstr, &newstrl, "/");
+ else add_chr_to_str(&newstr, &newstrl, *p);
+ }
+ return newstr;
+ }
+ copy_path:
+ return stracpy(file);
+}
+
+#else
+
+unsigned char *os_conv_to_external_path(unsigned char *file, unsigned char *prog)
+{
+ return stracpy(file);
+}
+
+#endif
+
+#if defined(INTERIX) && defined(HAVE_WINPATH2UNIX)
+
+unsigned char *os_fixup_external_program(unsigned char *prog)
+{
+ unsigned char *prog_start, *prog_end;
+ cut_program_path(prog, &prog_start, &prog_end);
+ if (is_windows_drive(prog_start, prog_end)) {
+#ifdef MAX_PATH
+ unsigned char new_path[MAX_PATH];
+#else
+ unsigned char new_path[1024];
+#endif
+ unsigned char *newstr;
+ int newstrl;
+ unsigned char *xpath;
+ if (is_windows_program(prog_start, prog_end)) {
+ /*
+ * There is some bug in Interix. Executing Win32
+ * binaries works from the console but doesn't work
+ * from xterm. So we prepend "cmd /c" to the program
+ * as a workaround.
+ */
+ newstr = init_str();
+ newstrl = 0;
+ add_to_str(&newstr, &newstrl, "cmd /c ");
+ add_to_str(&newstr, &newstrl, prog);
+ return newstr;
+ }
+ xpath = memacpy(prog_start, prog_end - prog_start);
+ if (winpath2unix(xpath, 0, new_path, sizeof(new_path))) {
+ mem_free(xpath);
+ goto copy_prog;
+ }
+ mem_free(xpath);
+ newstr = init_str();
+ newstrl = 0;
+ add_bytes_to_str(&newstr, &newstrl, prog, prog_start - prog);
+ add_to_str(&newstr, &newstrl, new_path);
+ add_to_str(&newstr, &newstrl, prog_end);
+ return newstr;
+ }
+ copy_prog:
+ return stracpy(prog);
+}
+
+#else
+
+unsigned char *os_fixup_external_program(unsigned char *prog)
+{
+ return stracpy(prog);
+}
+
+#endif
+
+
+#if defined(UNIX) || defined(INTERIX) || defined(BEOS) || defined(RISCOS) || defined(ATHEOS) || defined(SPAD)
+
+#if defined(BEOS) && defined(HAVE_SETPGID)
+
+int exe(unsigned char *path, int fg)
+{
+ pid_t p, rp;
+ int s, rs;
+ EINTRLOOP(p, fork());
+ if (!p) {
+ EINTRLOOP(rs, setpgid(0, 0));
+ errno = 0;
+ EINTRLOOP(rs, system(path));
+ _exit(0);
+ }
+ if (p > 0) {
+ EINTRLOOP(rp, waitpid(p, &s, 0));
+ } else {
+ errno = 0;
+ EINTRLOOP(rs, system(path));
+ return rs;
+ }
+ return 0;
+}
+
+#else
+
+/* UNIX */
+int exe(unsigned char *path, int fg)
+{
+ int rs;
+#ifdef G
+ if (F && drv->exec) return drv->exec(path, fg);
+#endif
+#ifdef SIGTSTP
+ errno = 0;
+ while (signal(SIGTSTP, SIG_DFL) == SIG_ERR && errno == EINTR) errno = 0;
+#endif
+#ifdef SIGCONT
+ errno = 0;
+ while (signal(SIGCONT, SIG_DFL) == SIG_ERR && errno == EINTR) errno = 0;
+#endif
+#ifdef SIGWINCH
+ errno = 0;
+ while (signal(SIGWINCH, SIG_DFL) == SIG_ERR && errno == EINTR) errno = 0;
+#endif
+ errno = 0;
+ EINTRLOOP(rs, system(path));
+ return rs;
+}
+
+#endif
+
+/* clipboard -> links */
+unsigned char *get_clipboard_text(struct terminal *term)
+{
+#ifdef G
+ if (F && drv->get_clipboard_text) {
+ return drv->get_clipboard_text();
+ }
+#endif
+ return stracpy(clipboard);
+}
+
+/* links -> clipboard */
+void set_clipboard_text(struct terminal *term, unsigned char *data)
+{
+#ifdef G
+ if (F && drv->set_clipboard_text) {
+ drv->set_clipboard_text(term->dev, data);
+ return;
+ }
+#endif
+ if (clipboard) mem_free(clipboard);
+ clipboard = stracpy(data);
+}
+
+int clipboard_support(struct terminal *term)
+{
+#ifdef G
+ if (F && drv->set_clipboard_text) {
+ return 1;
+ }
+#endif
+ return 0;
+}
+
+void set_window_title(unsigned char *title)
+{
+ /* !!! FIXME */
+}
+
+unsigned char *get_window_title(void)
+{
+ /* !!! FIXME */
+ return NULL;
+}
+
+int resize_window(int x, int y)
+{
+ return -1;
+}
+
+#elif defined(WIN32)
+
+static int is_winnt(void)
+{
+ OSVERSIONINFO v;
+ v.dwOSVersionInfoSize = sizeof v;
+ if (!GetVersionEx(&v)) return 0;
+ return v.dwPlatformId >= VER_PLATFORM_WIN32_NT;
+}
+
+#define WIN32_START_STRING "start /wait "
+
+int exe(unsigned char *path, int fg)
+{
+ /* This is very tricky. We must have exactly 3 arguments, the first
+ one shell and the second one "/c", otherwise Cygwin would quote
+ the arguments and trash them */
+ int ct;
+ unsigned char buffer[1024];
+ unsigned char buffer2[1024];
+ size_t want_alloc;
+ pid_t pid, rp;
+ int rs;
+ unsigned char *x1;
+ unsigned char *arg;
+ x1 = GETSHELL;
+ if (!x1) x1 = DEFAULT_SHELL;
+
+ want_alloc = strlen(WIN32_START_STRING) + 3 + strlen(path) + 1;
+#ifdef _UWIN
+ want_alloc += strlen(x1) + 4;
+ want_alloc *= 2;
+#endif
+
+ arg = malloc(want_alloc);
+ if (!arg) return -1;
+ *arg = 0;
+#ifdef _UWIN
+ strcat(arg, x1);
+ strcat(arg, " /c ");
+#endif
+ strcat(arg, WIN32_START_STRING);
+ if (*path == '"' && strlen(x1) >= 7 && !strcasecmp(x1 + strlen(x1) - 7, "cmd.exe")) strcat(arg, "\"\" ");
+ strcat(arg, path);
+ ct = GetConsoleTitle(buffer, sizeof buffer);
+#if defined(_UWIN) && !defined(__DMC__)
+ {
+ unsigned char *q1 = arg, *q2 = arg;
+ while (*q1) {
+ if (*q1 == '\\') q2++;
+ q2++;
+ q1++;
+ }
+ while (1) {
+ *q2 = *q1;
+ if (*q1 == '\\') {
+ q2--;
+ *q2 = '\\';
+ }
+ if (q1 == arg) break;
+ q1--;
+ q2--;
+ }
+ }
+ /* UWin corrupts heap if we use threads and fork */
+ pid = spawnl("/bin/sh", "/bin/sh", "-c", arg, NULL);
+#else
+#if 0 /* spawn breaks mouse, don't use this */
+ if (is_winnt()) {
+ /* spawn crashes on Win98 */
+ spawnlp(_P_WAIT, x1, x1, "/c", arg, NULL);
+ goto free_ret;
+ } else
+#endif
+ {
+ EINTRLOOP(pid, fork());
+ if (!pid) {
+ int i;
+ /* Win98 crashes if we spawn command.com and have some sockets open */
+ for (i = 0; i < FD_SETSIZE; i++)
+ EINTRLOOP(rs, close(i));
+ EINTRLOOP(rs, open("nul", O_RDONLY));
+ EINTRLOOP(rs, open("nul", O_WRONLY));
+ EINTRLOOP(rs, open("nul", O_WRONLY));
+ EINTRLOOP(rs, execlp(x1, x1, "/c", arg, NULL));
+ _exit(1);
+ }
+ }
+#endif
+ if (!is_winnt()) {
+ sleep(1);
+ if (ct && GetConsoleTitle(buffer2, sizeof buffer2) && !casecmp(buffer2, "start", 5)) {
+ SetConsoleTitle(buffer);
+ }
+ }
+ if (pid != -1) EINTRLOOP(rp, waitpid(pid, NULL, 0));
+ goto free_ret;
+
+ free_ret:
+ free(arg);
+ return 0;
+}
+
+unsigned char *get_clipboard_text(struct terminal *term)
+{
+ unsigned char buffer[256];
+ unsigned char *str, *s, *d;
+ int l;
+ int r;
+ int rs;
+ int h;
+ EINTRLOOP(h, open("/dev/clipboard", O_RDONLY));
+ if (h == -1) return stracpy(clipboard);
+ set_bin(h); /* O_TEXT doesn't work on clipboard handle */
+ str = init_str();
+ l = 0;
+ /* Don't use hard_read because UWin has buggy end-of-file signalling.
+ It resets the position to the beginning after signalling eof. */
+ while (1) {
+ EINTRLOOP(r, read(h, buffer, sizeof buffer));
+ if (r <= 0) break;
+ add_bytes_to_str(&str, &l, buffer, r);
+ }
+ EINTRLOOP(rs, close(h));
+ for (s = str, d = str; *s; s++)
+ if (!(s[0] == '\r' && s[1] == '\n')) *d++ = *s;
+ *d = 0;
+ return str;
+}
+
+/* Putting Czech characters to clipboard doesn't work, but it should be fixed
+ rather in Cygwin than here */
+void set_clipboard_text(struct terminal *term, unsigned char *data)
+{
+ unsigned char *conv_data;
+ int l;
+ int h;
+ int rs;
+ if (clipboard) mem_free(clipboard);
+ clipboard = stracpy(data);
+ EINTRLOOP(h, open("/dev/clipboard", O_WRONLY));
+ if (h == -1) return;
+ set_bin(h); /* O_TEXT doesn't work on clipboard handle */
+ conv_data = init_str();
+ l = 0;
+ for (; *data; data++)
+ if (*data == '\n') add_to_str(&conv_data, &l, "\r\n");
+ else add_chr_to_str(&conv_data, &l, *data);
+ hard_write(h, conv_data, l);
+ mem_free(conv_data);
+ EINTRLOOP(rs, close(h));
+}
+
+int clipboard_support(struct terminal *term)
+{
+ struct stat st;
+ int rs;
+ EINTRLOOP(rs, stat("/dev/clipboard", &st));
+ return !rs;
+}
+
+
+static int get_windows_cp(void)
+{
+ unsigned char str[6];
+ int cp, idx;
+ static int win_cp_idx = -1;
+ if (win_cp_idx != -1) return win_cp_idx;
+ if (is_winnt())
+ cp = GetConsoleOutputCP();
+ else
+ cp = GetACP();
+ if (cp <= 0 || cp >= 100000) return 0;
+ sprintf(str, "%d", cp);
+ if ((idx = get_cp_index(str)) < 0) return 0;
+ win_cp_idx = idx;
+ return idx;
+}
+
+void set_window_title(unsigned char *title)
+{
+ unsigned char *t, *p;
+ struct conv_table *ct;
+ if (!title) return;
+ if (is_xterm()) return;
+ ct = get_translation_table(utf8_table, get_windows_cp());
+ t = convert_string(ct, title, strlen(title), NULL);
+ for (p = strchr(t, 1); p; p = strchr(p + 1, 1))
+ *p = ' ';
+ SetConsoleTitle(t);
+ mem_free(t);
+}
+
+unsigned char *get_window_title(void)
+{
+ struct conv_table *ct;
+ int r;
+ unsigned char buffer[1024];
+ if (is_xterm()) return NULL;
+ if (!(r = GetConsoleTitle(buffer, sizeof buffer))) return NULL;
+ ct = get_translation_table(get_windows_cp(), utf8_table);
+ return convert_string(ct, buffer, r, NULL);
+}
+
+static void call_resize(unsigned char *x1, int x, int y)
+{
+ pid_t pid, rp;
+ int rs;
+ unsigned char arg[MAX_STR_LEN];
+#ifdef _UWIN
+ x++;
+#endif
+ sprintf(arg, "mode %d,%d", x, y);
+#if defined(_UWIN) && !defined(__DMC__)
+ pid = spawnlp(x1, x1, "/c", arg, NULL);
+#else
+#if 0 /* spawn breaks mouse, don't use this */
+ if (is_winnt()) {
+ /* spawn crashes on Win98 */
+ spawnlp(_P_WAIT, x1, x1, "/c", arg, NULL);
+ return;
+ } else
+#endif
+ {
+ EINTRLOOP(pid, fork());
+ if (!pid) {
+ int i;
+ /* Win98 crashes if we spawn command.com and have some sockets open */
+ for (i = 0; i < FD_SETSIZE; i++) if (i != 1 && i != 2)
+ EINTRLOOP(rs, close(i));
+ EINTRLOOP(rs, open("nul", O_WRONLY));
+ EINTRLOOP(rs, execlp(x1, x1, "/c", arg, NULL));
+ _exit(1);
+ }
+ }
+#endif
+ if (pid != -1) EINTRLOOP(rp, waitpid(pid, NULL, 0));
+}
+
+int resize_window(int x, int y)
+{
+ int old_x, old_y;
+ int ct = 0, fullscreen = 0;
+ unsigned char buffer[1024];
+ unsigned char *x1;
+ if (is_xterm()) return -1;
+ if (get_terminal_size(1, &old_x, &old_y)) return -1;
+ x1 = GETSHELL;
+ if (!x1) x1 = DEFAULT_SHELL;
+ if (!is_winnt()) {
+ ct = GetConsoleTitle(buffer, sizeof buffer);
+ }
+
+ call_resize(x1, x, y);
+ if (!is_winnt()) {
+ int new_x, new_y;
+ /* If we resize console on Win98 in fullscreen mode, it won't be
+ notified by Cygwin (it is valid for all Cygwin apps). So we must
+ switch to windowed mode, resize it again (twice, because resizing
+ to the same size won't have an effect) and switch back to full-screen
+ mode. */
+ /* I'm not sure what's the behavior on WinNT 4. Anybody wants to test?
+ */
+ if (!fullscreen && !get_terminal_size(1, &new_x, &new_y) && (new_x != x || new_y != y)) {
+ fullscreen = 1;
+#ifdef __CYGWIN__
+ keybd_event(VK_MENU, 0x38, 0, 0);
+ keybd_event(VK_RETURN, 0x1c, 0, 0);
+ keybd_event(VK_RETURN, 0x1c, KEYEVENTF_KEYUP, 0);
+ keybd_event(VK_MENU, 0x38, KEYEVENTF_KEYUP, 0);
+#endif
+ if (y != 25) call_resize(x1, 80, 25);
+ else call_resize(x1, 80, 50);
+ call_resize(x1, x, y);
+ if (get_terminal_size(1, &new_x, &new_y) || new_x != x || new_y != y) call_resize(x1, old_x, old_y);
+#ifdef __CYGWIN__
+ keybd_event(VK_MENU, 0x38, 0, 0);
+ keybd_event(VK_RETURN, 0x1c, 0, 0);
+ keybd_event(VK_RETURN, 0x1c, KEYEVENTF_KEYUP, 0);
+ keybd_event(VK_MENU, 0x38, KEYEVENTF_KEYUP, 0);
+#endif
+ }
+ if (ct) SetConsoleTitle(buffer);
+ }
+ return 0;
+}
+
+#elif defined(OS2)
+
+#ifdef G
+static _fmutex fd_mutex;
+static unsigned char fd_mutex_init = 0;
+#endif
+
+int exe(unsigned char *path, int fg)
+{
+ int flags = P_SESSION;
+ pid_t pid, rs;
+ int ret;
+#ifdef G
+ int old0 = 0, old1 = 1, old2 = 2;
+#endif
+ unsigned char *shell;
+ if (!(shell = GETSHELL)) shell = DEFAULT_SHELL;
+ if (is_xterm()) flags |= P_BACKGROUND;
+#ifdef G
+ if (F) {
+ if (!fd_mutex_init) {
+ if (_fmutex_create(&fd_mutex, 0)) return -1;
+ fd_mutex_init = 1;
+ }
+ _fmutex_request(&fd_mutex, _FMR_IGNINT);
+ EINTRLOOP(old0, dup(0));
+ EINTRLOOP(old1, dup(1));
+ EINTRLOOP(old2, dup(2));
+ if (old0 >= 0) EINTRLOOP(rs, close(0));
+ if (old1 >= 0) EINTRLOOP(rs, close(1));
+ if (old2 >= 0) EINTRLOOP(rs, close(2));
+ if (old0 >= 0) EINTRLOOP(rs, open("con", O_RDONLY));
+ if (old1 >= 0) EINTRLOOP(rs, open("con", O_WRONLY));
+ if (old2 >= 0) EINTRLOOP(rs, open("con", O_WRONLY));
+ }
+#endif
+ pid = spawnlp(flags, shell, shell, "/c", path, NULL);
+#ifdef G
+ if (F) {
+ if (old0 >= 0) EINTRLOOP(rs, dup2(old0, 0));
+ if (old1 >= 0) EINTRLOOP(rs, dup2(old1, 1));
+ if (old2 >= 0) EINTRLOOP(rs, dup2(old2, 2));
+ if (old0 >= 0) EINTRLOOP(rs, close(old0));
+ if (old1 >= 0) EINTRLOOP(rs, close(old1));
+ if (old2 >= 0) EINTRLOOP(rs, close(old2));
+ _fmutex_release(&fd_mutex);
+ }
+#endif
+ if (pid != -1) EINTRLOOP(rs, waitpid(pid, &ret, 0));
+ else ret = -1;
+ return ret;
+}
+
+unsigned char *get_clipboard_text(struct terminal *term)
+{
+ PTIB tib;
+ PPIB pib;
+ HAB hab;
+ HMQ hmq;
+ ULONG oldType;
+ unsigned char *ret = NULL;
+
+ DosGetInfoBlocks(&tib, &pib);
+
+ oldType = pib->pib_ultype;
+
+ pib->pib_ultype = 3;
+
+ if ((hab = WinInitialize(0)) != NULLHANDLE) {
+ if ((hmq = WinCreateMsgQueue(hab, 0)) != NULLHANDLE) {
+
+ if (WinOpenClipbrd(hab)) {
+ ULONG fmtInfo = 0;
+
+ if (WinQueryClipbrdFmtInfo(hab, CF_TEXT, &fmtInfo)!=FALSE)
+ {
+ ULONG selClipText = WinQueryClipbrdData(hab, CF_TEXT);
+
+ if (selClipText)
+ {
+ unsigned char *u;
+ PCHAR pchClipText = (PCHAR)selClipText;
+ ret = mem_alloc(strlen(pchClipText)+1);
+ strcpy(ret, pchClipText);
+ while ((u = strchr(ret, 13))) memmove(u, u + 1, strlen(u + 1) + 1);
+ }
+ }
+
+ WinCloseClipbrd(hab);
+ }
+
+#ifdef G
+ if (F && ret) {
+ static int cp = -1;
+ struct conv_table *ct;
+ unsigned char *d;
+ if (cp == -1) {
+ int c = WinQueryCp(hmq);
+ unsigned char a[64];
+ snprintf(a, 64, "%d", c);
+ if ((cp = get_cp_index(a)) < 0 || cp == utf8_table) cp = 0;
+ }
+ ct = get_translation_table(cp, utf8_table);
+ d = convert_string(ct, ret, strlen(ret), NULL);
+ mem_free(ret);
+ ret = d;
+ }
+#endif
+ WinDestroyMsgQueue(hmq);
+ }
+ WinTerminate(hab);
+ }
+
+ pib->pib_ultype = oldType;
+
+ return ret;
+}
+
+void set_clipboard_text(struct terminal * term, unsigned char *data)
+{
+ PTIB tib;
+ PPIB pib;
+ HAB hab;
+ HMQ hmq;
+ ULONG oldType;
+
+ unsigned char *d = NULL;
+
+ DosGetInfoBlocks(&tib, &pib);
+
+ oldType = pib->pib_ultype;
+
+ pib->pib_ultype = 3;
+
+ if ((hab = WinInitialize(0)) != NULLHANDLE) {
+ if ((hmq = WinCreateMsgQueue(hab, 0)) != NULLHANDLE) {
+#ifdef G
+ if (F) {
+ static int cp = -1;
+ struct conv_table *ct;
+ unsigned char *p;
+ if (cp == -1) {
+ int c = WinQueryCp(hmq);
+ unsigned char a[64];
+ snprintf(a, 64, "%d", c);
+ if ((cp = get_cp_index(a)) < 0 || cp == utf8_table) cp = 0;
+ }
+ ct = get_translation_table(utf8_table, cp);
+ d = convert_string(ct, data, strlen(data), NULL);
+ for (p = strchr(d, 1); p; p = strchr(p + 1, 1))
+ *p = ' ';
+ data = d;
+ }
+#endif
+ if (WinOpenClipbrd(hab)) {
+ PVOID pvShrObject = NULL;
+ if (DosAllocSharedMem(&pvShrObject, NULL, strlen(data)+1, PAG_COMMIT | PAG_WRITE | OBJ_GIVEABLE) == NO_ERROR) {
+ strcpy(pvShrObject, data);
+ WinEmptyClipbrd(hab);
+ WinSetClipbrdData(hab, (ULONG)pvShrObject, CF_TEXT, CFI_POINTER);
+ }
+ WinCloseClipbrd(hab);
+ }
+ WinDestroyMsgQueue(hmq);
+ }
+ WinTerminate(hab);
+ }
+
+ pib->pib_ultype = oldType;
+
+ if (d) mem_free(d);
+}
+
+int clipboard_support(struct terminal *term)
+{
+ return 1;
+}
+
+unsigned char *get_window_title(void)
+{
+#ifndef OS2_DEBUG
+ /*char *org_switch_title;*/
+ unsigned char *org_win_title = NULL;
+ static PTIB tib = NULL;
+ static PPIB pib = NULL;
+ ULONG oldType;
+ HSWITCH hSw = NULLHANDLE;
+ SWCNTRL swData;
+ HAB hab;
+ HMQ hmq;
+
+ /* save current process title */
+
+ if (!pib) DosGetInfoBlocks(&tib, &pib);
+ oldType = pib->pib_ultype;
+ memset(&swData, 0, sizeof swData);
+ if (hSw == NULLHANDLE) hSw = WinQuerySwitchHandle(0, pib->pib_ulpid);
+ if (hSw != NULLHANDLE && !WinQuerySwitchEntry(hSw, &swData)) {
+ /*org_switch_title = mem_alloc(strlen(swData.szSwtitle)+1);
+ strcpy(org_switch_title, swData.szSwtitle);*/
+ /* Go to PM */
+ pib->pib_ultype = 3;
+ if ((hab = WinInitialize(0)) != NULLHANDLE) {
+ if ((hmq = WinCreateMsgQueue(hab, 0)) != NULLHANDLE) {
+ org_win_title = mem_alloc(MAXNAMEL+1);
+ WinQueryWindowText(swData.hwnd, MAXNAMEL+1, org_win_title);
+ org_win_title[MAXNAMEL] = 0;
+ /* back From PM */
+ WinDestroyMsgQueue(hmq);
+ }
+ WinTerminate(hab);
+ }
+ pib->pib_ultype = oldType;
+ }
+ return org_win_title;
+#else
+ return NULL;
+#endif
+}
+
+void set_window_title(unsigned char *title)
+{
+#ifndef OS2_DEBUG
+ static PTIB tib;
+ static PPIB pib;
+ ULONG oldType;
+ static HSWITCH hSw;
+ SWCNTRL swData;
+ HAB hab;
+ HMQ hmq;
+ if (!title) return;
+ if (!pib) DosGetInfoBlocks(&tib, &pib);
+ oldType = pib->pib_ultype;
+ memset(&swData, 0, sizeof swData);
+ if (hSw == NULLHANDLE) hSw = WinQuerySwitchHandle(0, pib->pib_ulpid);
+ if (hSw!=NULLHANDLE && !WinQuerySwitchEntry(hSw, &swData)) {
+ safe_strncpy(swData.szSwtitle, title, MAXNAMEL);
+ WinChangeSwitchEntry(hSw, &swData);
+ /* Go to PM */
+ pib->pib_ultype = 3;
+ if ((hab = WinInitialize(0)) != NULLHANDLE) {
+ if ((hmq = WinCreateMsgQueue(hab, 0)) != NULLHANDLE) {
+ if(swData.hwnd)
+ WinSetWindowText(swData.hwnd, title);
+ /* back From PM */
+ WinDestroyMsgQueue(hmq);
+ }
+ WinTerminate(hab);
+ }
+ pib->pib_ultype = oldType;
+ }
+#endif
+}
+
+static tcount resize_count = 0;
+
+int resize_window(int x, int y)
+{
+ int xfont, yfont;
+ A_DECL(VIOMODEINFO, vmi);
+ resize_count++;
+ if (is_xterm()) return -1;
+ vmi->cb = sizeof(*vmi);
+ if (VioGetMode(vmi, 0)) return -1;
+ vmi->col = x;
+ vmi->row = y;
+ /*debug("%d %d %d", vmi->buf_length, vmi->full_length, vmi->partial_length);*/
+ for (xfont = 9; xfont >= 8; xfont--)
+ for (yfont = 16; yfont >= 8; yfont--) {
+ vmi->hres = x * xfont;
+ vmi->vres = y * yfont;
+ if (vmi->vres <= 400) vmi->vres = 400;
+ else if (vmi->vres <= 480) vmi->vres = 480;
+ vmi->buf_length = vmi->full_length = vmi->partial_length = x * ((vmi->vres + yfont - 1) / yfont) * 2;
+ vmi->full_length = (vmi->full_length + 4095) & ~4095;
+ vmi->partial_length = (vmi->partial_length + 4095) & ~4095;
+ if (!VioSetMode(vmi, 0)) return 0;
+ }
+ return -1;
+}
+
+#endif
+
+/* Threads */
+
+#if (defined(HAVE_BEGINTHREAD) && defined(OS2)) || defined(BEOS) || defined(HAVE_PTHREADS) || defined(HAVE_ATHEOS_THREADS_H)
+
+struct tdata {
+ void (*fn)(void *, int);
+ int h;
+ unsigned char data[1];
+};
+
+static void bgt(struct tdata *t)
+{
+ int rs;
+ ignore_signals();
+ t->fn(t->data, t->h);
+ EINTRLOOP(rs, write(t->h, "x", 1));
+ EINTRLOOP(rs, close(t->h));
+ free(t);
+}
+
+#ifdef HAVE_PTHREADS
+static void *bgpt(struct tdata *t)
+{
+ bgt(t);
+ return NULL;
+}
+#endif
+
+#ifdef HAVE_ATHEOS_THREADS_H
+#include <atheos/threads.h>
+static uint32 abgt(void *t)
+{
+ bgt(t);
+ return 0;
+}
+#endif
+
+#endif
+
+#if defined(UNIX) || defined(OS2) || defined(WIN32) || defined(INTERIX) || defined(RISCOS) || defined(ATHEOS) || defined(SPAD)
+
+void terminate_osdep(void) {}
+
+#endif
+
+#ifndef BEOS
+
+void block_stdin(void) {}
+void unblock_stdin(void) {}
+
+#endif
+
+#if defined(BEOS)
+
+#include <be/kernel/OS.h>
+
+static int thr_sem_init = 0;
+static sem_id thr_sem;
+
+static struct list_head active_threads = { &active_threads, &active_threads };
+
+struct active_thread {
+ struct active_thread *next;
+ struct active_thread *prev;
+ thread_id tid;
+ void (*fn)(void *);
+ void *data;
+};
+
+static int32 started_thr(void *data)
+{
+ struct active_thread *thrd = data;
+ thrd->fn(thrd->data);
+ if (acquire_sem(thr_sem) < B_NO_ERROR) return 0;
+ del_from_list(thrd);
+ free(thrd);
+ release_sem(thr_sem);
+ return 0;
+}
+
+int start_thr(void (*fn)(void *), void *data, unsigned char *name)
+{
+ struct active_thread *thrd;
+ int tid;
+ if (!thr_sem_init) {
+ if ((thr_sem = create_sem(0, "thread_sem")) < B_NO_ERROR) return -1;
+ thr_sem_init = 1;
+ } else if (acquire_sem(thr_sem) < B_NO_ERROR) return -1;
+ retry:
+ if (!(thrd = malloc(sizeof(struct active_thread)))) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ goto rel;
+ }
+ thrd->fn = fn;
+ thrd->data = data;
+ if ((tid = thrd->tid = spawn_thread(started_thr, name, B_NORMAL_PRIORITY, thrd)) < B_NO_ERROR) {
+ free(thrd);
+ rel:
+ release_sem(thr_sem);
+ return -1;
+ }
+ resume_thread(thrd->tid);
+ add_to_list(active_threads, thrd);
+ release_sem(thr_sem);
+ return tid;
+}
+
+void terminate_osdep(void)
+{
+ struct list_head *p;
+ struct active_thread *thrd;
+ if (acquire_sem(thr_sem) < B_NO_ERROR) return;
+ foreach(thrd, active_threads) kill_thread(thrd->tid);
+ while ((p = active_threads.next) != &active_threads) {
+ del_from_list(p);
+ free(p);
+ }
+ release_sem(thr_sem);
+}
+
+int start_thread(void (*fn)(void *, int), void *ptr, int l)
+{
+ int p[2];
+ struct tdata *t;
+ int rs;
+ if (c_pipe(p) < 0) return -1;
+ retry:
+ if (!(t = malloc(sizeof(struct tdata) + l))) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ return -1;
+ }
+ t->fn = fn;
+ t->h = p[1];
+ memcpy(t->data, ptr, l);
+ if (start_thr((void (*)(void *))bgt, t, "links_thread") < 0) {
+ EINTRLOOP(rs, close(p[0]));
+ EINTRLOOP(rs, close(p[1]));
+ free(t);
+ return -1;
+ }
+ return p[0];
+}
+
+
+#elif defined(HAVE_BEGINTHREAD) && defined(OS2)
+
+int start_thread(void (*fn)(void *, int), void *ptr, int l)
+{
+ int p[2];
+ struct tdata *t;
+ int rs;
+ if (c_pipe(p) < 0) return -1;
+ EINTRLOOP(rs, fcntl(p[0], F_SETFL, O_NONBLOCK));
+ EINTRLOOP(rs, fcntl(p[1], F_SETFL, O_NONBLOCK));
+ retry:
+ if (!(t = malloc(sizeof(struct tdata) + l))) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ return -1;
+ }
+ t->fn = fn;
+ t->h = p[1];
+ memcpy(t->data, ptr, l);
+ if (_beginthread((void (*)(void *))bgt, NULL, 65536, t) == -1) {
+ EINTRLOOP(rs, close(p[0]));
+ EINTRLOOP(rs, close(p[1]));
+ free(t);
+ return -1;
+ }
+ return p[0];
+}
+
+#ifdef HAVE__READ_KBD
+
+static int tp = -1;
+static int ti = -1;
+
+static void input_thread(void *p)
+{
+ unsigned char c[2];
+ int h = (int)p;
+ int rs;
+ ignore_signals();
+ while (1) {
+ /* for the records:
+ _read_kbd(0, 1, 1) will
+ read a char, don't echo it, wait for one available and
+ accept CTRL-C.
+ Knowing that, I suggest we replace this call completly!
+ */
+ *c = _read_kbd(0, 1, 1);
+ EINTRLOOP(rs, write(h, c, 1));
+ }
+ EINTRLOOP(rs, close(h));
+}
+#endif /* #ifdef HAVE__READ_KBD */
+
+#if defined(HAVE_MOUOPEN) && !defined(USE_GPM)
+
+#define USING_OS2_MOUSE
+
+#ifdef HAVE_SYS_FMUTEX_H
+static _fmutex mouse_mutex;
+static unsigned char mouse_mutex_init = 0;
+#endif
+static int mouse_h = -1;
+
+struct os2_mouse_spec {
+ int p[2];
+ void (*fn)(void *, unsigned char *, int);
+ void *data;
+ unsigned char buffer[sizeof(struct event)];
+ int bufptr;
+ int terminate;
+};
+
+#define MOU_EMULATE_CURSOR
+
+#ifdef MOU_EMULATE_CURSOR
+static int mouse_x = -1, mouse_y = -1;
+static unsigned char mouse_attr;
+#endif
+
+static void mouse_remove_pointer(void)
+{
+#ifndef MOU_EMULATE_CURSOR
+ A_DECL(NOPTRRECT, pa);
+ static int x = -1, y = -1;
+ static tcount c = -1;
+ if (x == -1 || y == -1 || (c != resize_count)) get_terminal_size(1, &x, &y), c = resize_count;
+ pa->row = 0;
+ pa->col = 0;
+ pa->cRow = y - 1;
+ pa->cCol = x - 1;
+ MouRemovePtr(pa, mouse_h);
+#else
+ if (mouse_x >= 0 && mouse_y >= 0) {
+ VioWrtNAttr(&mouse_attr, 1, mouse_y, mouse_x, 0);
+ }
+ mouse_x = -1, mouse_y = -1;
+#endif
+}
+
+static void mouse_draw_pointer(int x, int y)
+{
+#ifndef MOU_EMULATE_CURSOR
+ MouDrawPtr(mouse_h);
+#else
+ unsigned char str[4];
+ USHORT str_len;
+ unsigned char attr;
+ unsigned char fg, bg;
+ int r;
+ if (!os2_full_screen)
+ return;
+ DosSetPriority(PRTYS_THREAD, PRTYC_TIMECRITICAL, 0, 0);
+ if (mouse_x == x && mouse_y == y)
+ return;
+ mouse_remove_pointer();
+ str_len = sizeof(str);
+ r = VioReadCellStr(str, &str_len, y, x, 0);
+ if (r || str_len < 2) return;
+ mouse_attr = str[1];
+ fg = mouse_attr & 0x07;
+ bg = (mouse_attr & 0x70) >> 4;
+ if (fg == bg) fg ^= 0x07, bg ^= 0x07;
+ attr = (mouse_attr & 0x88) | (fg << 4) | bg;
+ r = VioWrtNAttr(&attr, 1, y, x, 0);
+ if (r) return;
+ mouse_x = x, mouse_y = y, mouse_attr = str[1];
+#endif
+}
+
+static void mouse_thread(void *p)
+{
+ int status;
+ int rs;
+ struct os2_mouse_spec *oms = p;
+ A_DECL(HMOU, mh);
+ A_DECL(MOUEVENTINFO, ms);
+ A_DECL(USHORT, rd);
+ A_DECL(USHORT, mask);
+ struct event ev;
+ ignore_signals();
+ ev.ev = EV_MOUSE;
+ if (MouOpen(NULL, mh)) goto ret;
+ mouse_h = *mh;
+ *mask = MOUSE_MOTION_WITH_BN1_DOWN | MOUSE_BN1_DOWN |
+ MOUSE_MOTION_WITH_BN2_DOWN | MOUSE_BN2_DOWN |
+ MOUSE_MOTION_WITH_BN3_DOWN | MOUSE_BN3_DOWN |
+ MOUSE_MOTION;
+ MouSetEventMask(mask, *mh);
+ *rd = MOU_WAIT;
+ status = -1;
+ while (1) {
+ /*int w, ww;*/
+ if (MouReadEventQue(ms, rd, *mh)) break;
+#ifdef HAVE_SYS_FMUTEX_H
+ _fmutex_request(&mouse_mutex, _FMR_IGNINT);
+#endif
+ if (!oms->terminate) mouse_draw_pointer(ms->col, ms->row);
+#ifdef HAVE_SYS_FMUTEX_H
+ _fmutex_release(&mouse_mutex);
+#endif
+ ev.x = ms->col;
+ ev.y = ms->row;
+ /*debug("status: %d %d %d", ms->col, ms->row, ms->fs);*/
+ if (ms->fs & (MOUSE_BN1_DOWN | MOUSE_BN2_DOWN | MOUSE_BN3_DOWN)) ev.b = status = B_DOWN | (ms->fs & MOUSE_BN1_DOWN ? B_LEFT : ms->fs & MOUSE_BN2_DOWN ? B_RIGHT : B_MIDDLE);
+ else if (ms->fs & (MOUSE_MOTION_WITH_BN1_DOWN | MOUSE_MOTION_WITH_BN2_DOWN | MOUSE_MOTION_WITH_BN3_DOWN)) {
+ int b = ms->fs & MOUSE_MOTION_WITH_BN1_DOWN ? B_LEFT : ms->fs & MOUSE_MOTION_WITH_BN2_DOWN ? B_RIGHT : B_MIDDLE;
+ if (status == -1) b |= B_DOWN;
+ else b |= B_DRAG;
+ ev.b = status = b;
+ }
+ else {
+ if (status == -1) continue;
+ ev.b = (status & BM_BUTT) | B_UP;
+ status = -1;
+ }
+ if (hard_write(oms->p[1], (unsigned char *)&ev, sizeof(struct event)) != sizeof(struct event)) break;
+ }
+#ifdef HAVE_SYS_FMUTEX_H
+ _fmutex_request(&mouse_mutex, _FMR_IGNINT);
+#endif
+ mouse_h = -1;
+ MouClose(*mh);
+#ifdef HAVE_SYS_FMUTEX_H
+ _fmutex_release(&mouse_mutex);
+#endif
+ ret:
+ EINTRLOOP(rs, close(oms->p[1]));
+ /*free(oms);*/
+}
+
+static void mouse_handle(struct os2_mouse_spec *oms)
+{
+ int r;
+ EINTRLOOP(r, read(oms->p[0], oms->buffer + oms->bufptr, sizeof(struct event) - oms->bufptr));
+ if (r <= 0) {
+ unhandle_mouse(oms);
+ return;
+ }
+ if ((oms->bufptr += r) == sizeof(struct event)) {
+ oms->bufptr = 0;
+ oms->fn(oms->data, oms->buffer, sizeof(struct event));
+ }
+}
+
+void *handle_mouse(int cons, void (*fn)(void *, unsigned char *, int), void *data)
+{
+ struct os2_mouse_spec *oms;
+ if (is_xterm()) return NULL;
+#ifdef HAVE_SYS_FMUTEX_H
+ if (!mouse_mutex_init) {
+ if (_fmutex_create(&mouse_mutex, 0)) return NULL;
+ mouse_mutex_init = 1;
+ }
+#endif
+ /* This is never freed but it's allocated only once */
+ retry:
+ if (!(oms = malloc(sizeof(struct os2_mouse_spec)))) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ return NULL;
+ }
+ oms->fn = fn;
+ oms->data = data;
+ oms->bufptr = 0;
+ oms->terminate = 0;
+ if (c_pipe(oms->p)) {
+ free(oms);
+ return NULL;
+ }
+ if (_beginthread(mouse_thread, NULL, 0x10000, (void *)oms) == -1) {
+ }
+ set_handlers(oms->p[0], (void (*)(void *))mouse_handle, NULL, NULL, oms);
+ return oms;
+}
+
+void unhandle_mouse(void *om)
+{
+ struct os2_mouse_spec *oms = om;
+ int rs;
+ want_draw();
+ oms->terminate = 1;
+ set_handlers(oms->p[0], NULL, NULL, NULL, NULL);
+ EINTRLOOP(rs, close(oms->p[0]));
+ done_draw();
+}
+
+void want_draw(void)
+{
+ static int ansi = 0;
+#ifdef HAVE_SYS_FMUTEX_H
+ if (mouse_mutex_init) _fmutex_request(&mouse_mutex, _FMR_IGNINT);
+#endif
+ if (!ansi) {
+ VioSetAnsi(1, 0);
+ ansi = 1;
+ }
+ if (mouse_h != -1) {
+ mouse_remove_pointer();
+ }
+}
+
+void done_draw(void)
+{
+#ifdef HAVE_SYS_FMUTEX_H
+ if (mouse_mutex_init) _fmutex_release(&mouse_mutex);
+#endif
+}
+
+#endif /* if HAVE_MOUOPEN */
+
+#elif defined(HAVE_PTHREADS)
+
+#include <pthread.h>
+
+int start_thread(void (*fn)(void *, int), void *ptr, int l)
+{
+ pthread_t thread;
+ struct tdata *t;
+ int p[2];
+ int rs;
+ if (c_pipe(p) < 0) return -1;
+ EINTRLOOP(rs, fcntl(p[0], F_SETFL, O_NONBLOCK));
+ EINTRLOOP(rs, fcntl(p[1], F_SETFL, O_NONBLOCK));
+ retry:
+ if (!(t = malloc(sizeof(struct tdata) + l))) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ return -1;
+ }
+ t->fn = fn;
+ t->h = p[1];
+ memcpy(t->data, ptr, l);
+ if (pthread_create(&thread, NULL, (void *(*)(void *))bgpt, t)) {
+ EINTRLOOP(rs, close(p[0]));
+ EINTRLOOP(rs, close(p[1]));
+ free(t);
+ return -1;
+ }
+ return p[0];
+}
+
+#elif defined(HAVE_ATHEOS_THREADS_H) && defined(HAVE_SPAWN_THREAD) && defined(HAVE_RESUME_THREAD)
+
+#include <atheos/threads.h>
+
+int start_thread(void (*fn)(void *, int), void *ptr, int l)
+{
+ int p[2];
+ int rs;
+ thread_id f;
+ struct tdata *t;
+ if (c_pipe(p) < 0) return -1;
+ EINTRLOOP(rs, fcntl(p[0], F_SETFL, O_NONBLOCK));
+ EINTRLOOP(rs, fcntl(p[1], F_SETFL, O_NONBLOCK));
+ retry:
+ if (!(t = malloc(sizeof(struct tdata) + l))) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ return -1;
+ }
+ t->fn = fn;
+ t->h = p[1];
+ memcpy(t->data, ptr, l);
+ if ((f = spawn_thread("links_lookup", abgt, 0, 0, t)) == -1) {
+ EINTRLOOP(rs, close(p[0]));
+ EINTRLOOP(rs, close(p[1]));
+ mem_free(t);
+ return -1;
+ }
+ resume_thread(f);
+ return p[0];
+}
+
+#else /* HAVE_BEGINTHREAD */
+
+int start_thread(void (*fn)(void *, int), void *ptr, int l)
+{
+ int p[2];
+ pid_t f;
+ int rs;
+ if (c_pipe(p) < 0) return -1;
+ EINTRLOOP(rs, fcntl(p[0], F_SETFL, O_NONBLOCK));
+ EINTRLOOP(rs, fcntl(p[1], F_SETFL, O_NONBLOCK));
+ EINTRLOOP(f, fork());
+ if (!f) {
+ close_fork_tty();
+ EINTRLOOP(rs, close(p[0]));
+ fn(ptr, p[1]);
+ EINTRLOOP(rs, write(p[1], "x", 1));
+ EINTRLOOP(rs, close(p[1]));
+ _exit(0);
+ }
+ if (f == -1) {
+ EINTRLOOP(rs, close(p[0]));
+ EINTRLOOP(rs, close(p[1]));
+ return -1;
+ }
+ EINTRLOOP(rs, close(p[1]));
+ return p[0];
+}
+
+#endif
+
+#ifndef USING_OS2_MOUSE
+void want_draw(void) {}
+void done_draw(void) {}
+#endif
+
+int get_output_handle(void) { return 1; }
+
+#if defined(OS2)
+
+int get_ctl_handle(void) { return get_input_handle(); }
+
+#else
+
+int get_ctl_handle(void) { return 0; }
+
+#endif
+
+#if defined(BEOS)
+
+#elif defined(HAVE_BEGINTHREAD) && defined(HAVE__READ_KBD)
+int get_input_handle(void)
+{
+ int fd[2];
+ if (ti != -1) return ti;
+ if (is_xterm()) return 0;
+ if (c_pipe(fd) < 0) return 0;
+ ti = fd[0];
+ tp = fd[1];
+ _beginthread(input_thread, NULL, 0x10000, (void *)tp);
+/*
+#if defined(HAVE_MOUOPEN) && !defined(USE_GPM)
+ _beginthread(mouse_thread, NULL, 0x10000, (void *)tp);
+#endif
+*/
+ return fd[0];
+}
+
+#else
+
+int get_input_handle(void)
+{
+ return 0;
+}
+
+#endif /* defined(HAVE_BEGINTHREAD) && defined(HAVE__READ_KBD) */
+
+
+void os_cfmakeraw(struct termios *t)
+{
+#ifdef HAVE_CFMAKERAW
+ cfmakeraw(t);
+#ifdef VMIN
+ t->c_cc[VMIN] = 1;
+#endif
+#else
+ t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
+ t->c_oflag &= ~OPOST;
+ t->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
+ t->c_cflag &= ~(CSIZE|PARENB);
+ t->c_cflag |= CS8;
+ t->c_cc[VMIN] = 1;
+ t->c_cc[VTIME] = 0;
+#endif
+#if defined(NO_CTRL_Z) && defined(VSUSP)
+ t->c_cc[VSUSP] = 0;
+#endif
+ /*fprintf(stderr, "\n");
+ fprintf(stderr, "%08x %08x %08x\n", t->c_iflag, t->c_oflag, t->c_lflag);
+ {
+ int i;
+ for (i = 0; i < sizeof(t->c_cc) / sizeof(*t->c_cc); i++) {
+ fprintf(stderr, "%d - %d\n", i, t->c_cc[i]);
+ }
+ }
+ sleep(10);*/
+}
+
+#ifdef USE_GPM
+
+struct gpm_mouse_spec {
+ int h;
+ void (*fn)(void *, unsigned char *, int);
+ void *data;
+};
+
+/* GPM installs its own signal handlers and we don't want them */
+
+static sigset_t gpm_sigset;
+static unsigned char gpm_sigset_valid;
+#ifdef SIGWINCH
+static struct sigaction gpm_winch;
+static unsigned char gpm_winch_valid;
+#endif
+#ifdef SIGTSTP
+static struct sigaction gpm_tstp;
+static unsigned char gpm_tstp_valid;
+#endif
+
+static void save_gpm_signals(void)
+{
+ sigset_t sig;
+ int rs;
+ sigemptyset(&sig);
+#ifdef SIGWINCH
+ sigaddset(&sig, SIGWINCH);
+#endif
+#ifdef SIGTSTP
+ sigaddset(&sig, SIGTSTP);
+#endif
+ EINTRLOOP(rs, sigprocmask(SIG_BLOCK, &sig, &gpm_sigset));
+ gpm_sigset_valid = !rs;
+#ifdef SIGWINCH
+ EINTRLOOP(rs, sigaction(SIGWINCH, NULL, &gpm_winch));
+ gpm_winch_valid = !rs;
+#endif
+#ifdef SIGTSTP
+ EINTRLOOP(rs, sigaction(SIGTSTP, NULL, &gpm_tstp));
+ gpm_tstp_valid = !rs;
+#endif
+}
+
+static void restore_gpm_signals(void)
+{
+ int rs;
+#ifdef SIGWINCH
+ if (gpm_winch_valid)
+ EINTRLOOP(rs, sigaction(SIGWINCH, &gpm_winch, NULL));
+#endif
+#ifdef SIGTSTP
+ if (gpm_tstp_valid)
+ EINTRLOOP(rs, sigaction(SIGTSTP, &gpm_tstp, NULL));
+#endif
+ if (gpm_sigset_valid)
+ EINTRLOOP(rs, sigprocmask(SIG_SETMASK, &gpm_sigset, NULL));
+}
+
+static void gpm_mouse_in(struct gpm_mouse_spec *gms)
+{
+ int g;
+ Gpm_Event gev;
+ struct event ev;
+ save_gpm_signals();
+ g = Gpm_GetEvent(&gev);
+ restore_gpm_signals();
+ if (g <= 0) {
+ set_handlers(gms->h, NULL, NULL, NULL, NULL);
+ gms->h = -1;
+ return;
+ }
+ ev.ev = EV_MOUSE;
+ ev.x = gev.x - 1;
+ ev.y = gev.y - 1;
+ if (ev.x < 0) ev.x = 0;
+ if (ev.y < 0) ev.y = 0;
+ if (gev.buttons & GPM_B_LEFT) ev.b = B_LEFT;
+ else if (gev.buttons & GPM_B_MIDDLE) ev.b = B_MIDDLE;
+ else if (gev.buttons & GPM_B_RIGHT) ev.b = B_RIGHT;
+ else return;
+ if (gev.type & GPM_DOWN) ev.b |= B_DOWN;
+ else if (gev.type & GPM_UP) ev.b |= B_UP;
+ else if (gev.type & GPM_DRAG) ev.b |= B_DRAG;
+ else return;
+ gms->fn(gms->data, (unsigned char *)&ev, sizeof(struct event));
+}
+
+void *handle_mouse(int cons, void (*fn)(void *, unsigned char *, int), void *data)
+{
+ int h;
+ Gpm_Connect conn;
+ struct gpm_mouse_spec *gms;
+ conn.eventMask = ~GPM_MOVE;
+ conn.defaultMask = GPM_MOVE;
+ conn.minMod = 0;
+ conn.maxMod = 0;
+ save_gpm_signals();
+ h = Gpm_Open(&conn, cons);
+ restore_gpm_signals();
+ if (h < 0) return NULL;
+ gms = mem_alloc(sizeof(struct gpm_mouse_spec));
+ gms->h = h;
+ gms->fn = fn;
+ gms->data = data;
+ set_handlers(h, (void (*)(void *))gpm_mouse_in, NULL, NULL, gms);
+ return gms;
+}
+
+void unhandle_mouse(void *h)
+{
+ struct gpm_mouse_spec *gms = h;
+ if (gms->h != -1) set_handlers(gms->h, NULL, NULL, NULL, NULL);
+ save_gpm_signals();
+ Gpm_Close();
+ restore_gpm_signals();
+ mem_free(gms);
+}
+
+void add_gpm_version(unsigned char **s, int *l)
+{
+ add_to_str(s, l, "GPM");
+#ifdef HAVE_GPM_GETLIBVERSION
+ add_to_str(s, l, " (");
+ add_to_str(s, l, (unsigned char *)Gpm_GetLibVersion(NULL));
+ add_to_str(s, l, ")");
+#endif
+}
+
+#elif !defined(USING_OS2_MOUSE)
+
+void *handle_mouse(int cons, void (*fn)(void *, unsigned char *, int), void *data) { return NULL; }
+void unhandle_mouse(void *data) { }
+
+#endif /* #ifdef USE_GPM */
+
+
+#if defined(WIN32) || defined(INTERIX)
+
+static int is_remote_connection(void)
+{
+ return !!getenv("SSH_CONNECTION");
+}
+
+#endif
+
+
+#if defined(OS2)
+
+int get_system_env(void)
+{
+ if (is_xterm()) return 0;
+ return ENV_OS2VIO; /* !!! FIXME: telnet */
+}
+
+#elif defined(BEOS)
+
+int get_system_env(void)
+{
+ unsigned char *term = getenv("TERM");
+ if (!term || (upcase(term[0]) == 'B' && upcase(term[1]) == 'E')) return ENV_BE;
+ return 0;
+}
+
+#elif defined(WIN32)
+
+int get_system_env(void)
+{
+ if (is_xterm()) return 0;
+ if (is_remote_connection()) return 0;
+ return ENV_WIN32;
+}
+
+#elif defined(INTERIX)
+
+#define INTERIX_START_COMMAND "/usr/contrib/win32/bin/start"
+
+int get_system_env(void)
+{
+ if (is_xterm()) return 0;
+ if (is_remote_connection()) return 0;
+ if (!access(INTERIX_START_COMMAND, X_OK)) return ENV_INTERIX;
+ return 0;
+}
+
+#else
+
+int get_system_env(void)
+{
+ return 0;
+}
+
+#endif
+
+static void exec_new_links(struct terminal *term, unsigned char *xterm, unsigned char *exe, unsigned char *param)
+{
+ unsigned char *str;
+ str = mem_alloc(strlen(xterm) + 1 + strlen(exe) + 1 + strlen(param) + 1);
+ if (*xterm) sprintf(str, "%s %s %s", xterm, exe, param);
+ else sprintf(str, "%s %s", exe, param);
+ exec_on_terminal(term, str, "", 2);
+ mem_free(str);
+}
+
+static int open_in_new_twterm(struct terminal *term, unsigned char *exe, unsigned char *param)
+{
+ unsigned char *twterm;
+ if (!(twterm = getenv("LINKS_TWTERM"))) twterm = "twterm -e";
+ exec_new_links(term, twterm, exe, param);
+ return 0;
+}
+
+static int open_in_new_xterm(struct terminal *term, unsigned char *exe, unsigned char *param)
+{
+ unsigned char *xterm;
+ if (!(xterm = getenv("LINKS_XTERM"))) xterm = "xterm -e";
+ exec_new_links(term, xterm, exe, param);
+ return 0;
+}
+
+static int open_in_new_screen(struct terminal *term, unsigned char *exe, unsigned char *param)
+{
+ exec_new_links(term, "screen", exe, param);
+ return 0;
+}
+
+#ifdef OS2
+static int open_in_new_vio(struct terminal *term, unsigned char *exe, unsigned char *param)
+{
+ unsigned char *x = stracpy("\"");
+ add_to_strn(&x, exe);
+ add_to_strn(&x, "\"");
+ exec_new_links(term, "start \"Links\" /c /f /win", x, param);
+ mem_free(x);
+ return 0;
+}
+
+static int open_in_new_fullscreen(struct terminal *term, unsigned char *exe, unsigned char *param)
+{
+ unsigned char *x = stracpy("\"");
+ add_to_strn(&x, exe);
+ add_to_strn(&x, "\"");
+ exec_new_links(term, "start \"Links\" /c /f /fs", x, param);
+ mem_free(x);
+ return 0;
+}
+#endif
+
+#ifdef WIN32
+static int open_in_new_win32(struct terminal *term, unsigned char *exe, unsigned char *param)
+{
+ exec_new_links(term, "", exe, param);
+ return 0;
+}
+#endif
+
+#ifdef INTERIX
+static int open_in_new_interix(struct terminal *term, unsigned char *exe, unsigned char *param)
+{
+ unsigned char *param_x = stracpy(param);
+ add_to_strn(&param_x, "'");
+ exec_new_links(term, INTERIX_START_COMMAND " '\"Links\"' posix /u /c /bin/sh -c '", exe, param_x);
+ mem_free(param_x);
+ return 0;
+}
+#endif
+
+#ifdef BEOS
+static int open_in_new_be(struct terminal *term, unsigned char *exe, unsigned char *param)
+{
+ exec_new_links(term, "Terminal", exe, param);
+ return 0;
+}
+#endif
+
+#ifdef G
+static int open_in_new_g(struct terminal *term, unsigned char *exe, unsigned char *param)
+{
+ void *info;
+ unsigned char *target = NULL;
+ int len;
+ int base = 0;
+ unsigned char *url;
+ if (!cmpbeg(param, "-base-session ")) {
+ param = strchr(param, ' ') + 1;
+ base = atoi(param);
+ param += strcspn(param, " ");
+ if (*param == ' ') param++;
+ }
+ if (!cmpbeg(param, "-target ")) {
+ param = strchr(param, ' ') + 1;
+ target = param;
+ param += strcspn(param, " ");
+ if (*param == ' ') *param++ = 0;
+ }
+ url = param;
+ if (!(info = create_session_info(base, url, target, &len)))
+ return -1;
+ return attach_g_terminal(info, len);
+}
+#endif
+
+static struct {
+ int env;
+ int (*open_window_fn)(struct terminal *term, unsigned char *, unsigned char *);
+ unsigned char *text;
+ unsigned char *hk;
+} oinw[] = {
+ {ENV_XWIN, open_in_new_xterm, TEXT_(T_XTERM), TEXT_(T_HK_XTERM)},
+ {ENV_TWIN, open_in_new_twterm, TEXT_(T_TWTERM), TEXT_(T_HK_TWTERM)},
+ {ENV_SCREEN, open_in_new_screen, TEXT_(T_SCREEN), TEXT_(T_HK_SCREEN)},
+#ifdef OS2
+ {ENV_OS2VIO, open_in_new_vio, TEXT_(T_WINDOW), TEXT_(T_HK_WINDOW)},
+ {ENV_OS2VIO, open_in_new_fullscreen, TEXT_(T_FULL_SCREEN), TEXT_(T_HK_FULL_SCREEN)},
+#endif
+#ifdef WIN32
+ {ENV_WIN32, open_in_new_win32, TEXT_(T_WINDOW), TEXT_(T_HK_WINDOW)},
+#endif
+#ifdef INTERIX
+ {ENV_INTERIX, open_in_new_interix, TEXT_(T_WINDOW), TEXT_(T_HK_WINDOW)},
+#endif
+#ifdef BEOS
+ {ENV_BE, open_in_new_be, TEXT_(T_BEOS_TERMINAL), TEXT_(T_HK_BEOS_TERMINAL)},
+#endif
+#ifdef G
+ {ENV_G, open_in_new_g, TEXT_(T_WINDOW), TEXT_(T_HK_WINDOW)},
+#endif
+ {0, NULL, NULL, NULL}
+};
+
+struct open_in_new *get_open_in_new(int environment)
+{
+ int i;
+ struct open_in_new *oin = DUMMY;
+ int noin = 0;
+ if (anonymous) return NULL;
+ if (environment & ENV_G) environment = ENV_G;
+ for (i = 0; oinw[i].env; i++) if ((environment & oinw[i].env) == oinw[i].env) {
+ if ((unsigned)noin > MAXINT / sizeof(struct open_in_new) - 2) overalloc();
+ oin = mem_realloc(oin, (noin + 2) * sizeof(struct open_in_new));
+ oin[noin].text = oinw[i].text;
+ oin[noin].hk = oinw[i].hk;
+ oin[noin].open_window_fn = oinw[i].open_window_fn;
+ noin++;
+ oin[noin].text = NULL;
+ oin[noin].hk = NULL;
+ oin[noin].open_window_fn = NULL;
+ }
+ if (oin == DUMMY) return NULL;
+ return oin;
+}
+
+int can_resize_window(struct terminal *term)
+{
+#if defined(OS2) || defined(WIN32)
+ if (!strncmp(term->term, "xterm", 5)) return 0;
+ if (term->environment & (ENV_OS2VIO | ENV_WIN32)) return 1;
+#endif
+ return 0;
+}
+
+int can_open_os_shell(int environment)
+{
+#ifdef OS2
+ if (environment & ENV_XWIN) return 0;
+#endif
+#ifdef WIN32
+ if (!(environment & ENV_WIN32)) return 0;
+#endif
+#ifdef BEOS
+ if (!(environment & ENV_BE)) return 0;
+#endif
+#ifdef G
+ if (F && drv->flags & GD_NO_OS_SHELL) return 0;
+#endif
+ return 1;
+}
+
+#ifndef OS2
+void set_highpri(void)
+{
+}
+#else
+void set_highpri(void)
+{
+ DosSetPriority(PRTYS_PROCESS, PRTYC_FOREGROUNDSERVER, 0, 0);
+}
+#endif
+
+#ifndef HAVE_SNPRINTF
+
+#define B_SZ 65536
+
+static char snprtintf_buffer[B_SZ];
+
+int my_snprintf(char *str, int n, char *f, ...)
+{
+ int i;
+ va_list l;
+ if (!n) return -1;
+ va_start(l, f);
+ vsprintf(snprtintf_buffer, f, l);
+ va_end(l);
+ i = strlen(snprtintf_buffer);
+ if (i >= B_SZ) {
+ error("String size too large!");
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+ if (i >= n) {
+ memcpy(str, snprtintf_buffer, n);
+ str[n - 1] = 0;
+ return -1;
+ }
+ strcpy(str, snprtintf_buffer);
+ return i;
+}
+
+#endif
+
+#ifndef HAVE_RAISE
+int raise(int s)
+{
+#ifdef HAVE_GETPID
+ pid_t p;
+ EINTRLOOP(p, getpid());
+ if (p == -1) return -1;
+ return kill(p, s);
+#else
+ return 0;
+#endif
+};
+#endif
+#ifndef HAVE_GETTIMEOFDAY
+int gettimeofday(struct timeval *tv, struct timezone *tz)
+{
+ time_t t;
+ EINTRLOOP(t, time(NULL));
+ if (tv) tv->tv_sec = t, tv->tv_usec = 0;
+ if (tz) tz->tz_minuteswest = tz->tz_dsttime = 0;
+ return 0;
+}
+#endif
+#ifndef HAVE_TEMPNAM
+char *tempnam(const char *dir, const char *pfx)
+{
+ static int counter = 0;
+ unsigned char *d, *s, *a;
+ int l;
+ if (!(d = getenv("TMPDIR"))) {
+ if (dir) d = (unsigned char *)dir;
+ else if (!(d = getenv("TMP")) && !(d = getenv("TEMP"))) {
+#ifdef P_tmpdir
+ d = P_tmpdir;
+#else
+ d = "/tmp";
+#endif
+ }
+ }
+ l = 0;
+ s = init_str();
+ add_to_str(&s, &l, d);
+ if (s[0] && s[strlen(s) - 1] != '/') add_chr_to_str(&s, &l, '/');
+ add_to_str(&s, &l, (unsigned char *)pfx);
+ add_num_to_str(&s, &l, counter++);
+ a = strdup(s);
+ mem_free(s);
+ return a;
+}
+#endif
+#ifndef HAVE_SIGFILLSET
+int sigfillset(sigset_t *set)
+{
+ memset(set, -1, sizeof(sigset_t));
+ return 0;
+}
+#endif
+#ifndef HAVE_STRTOUL
+unsigned long strtoul(const char *nptr, char **endptr, int base)
+{
+ if (*nptr == '-') {
+ if (endptr) *endptr = nptr;
+ return 0;
+ }
+ return (unsigned long)strtol(nptr,endptr,base);
+};
+#endif
+#ifndef HAVE_STRLEN
+size_t strlen(const char *s)
+{
+ size_t len = 0;
+ while (s[len]) len++;
+ return len;
+}
+#endif
+#ifndef HAVE_STRCPY
+char *strcpy(char *dst, const char *src)
+{
+ return memcpy(dst, src, strlen(src) + 1);
+}
+#endif
+#ifndef HAVE_STRCHR
+char *strchr(const char *s, int c)
+{
+ do {
+ if (*s == (char)c)
+ return (char *)s;
+ } while (*s++);
+ return NULL;
+}
+#endif
+#ifndef HAVE_STRRCHR
+char *strrchr(const char *s, int c)
+{
+ char *ret = NULL;
+ do {
+ if (*s == (char)c)
+ ret = (char *)s;
+ } while (*s++);
+ return ret;
+}
+#endif
+#ifndef HAVE_STRCMP
+int strcmp(const char *s1, const char *s2)
+{
+ while (1) {
+ if (*s1 != *s2) {
+ return (int)(unsigned char)*s1 - (int)(unsigned char)*s2;
+ }
+ if (!*s1) break;
+ s1++, s2++;
+ }
+ return 0;
+}
+#endif
+#ifndef HAVE_STRNCMP
+int strncmp(const char *s1, const char *s2, size_t n)
+{
+ while (n--) {
+ if (*s1 != *s2) {
+ return (int)(unsigned char)*s1 - (int)(unsigned char)*s2;
+ }
+ if (!*s1) break;
+ s1++, s2++;
+ }
+ return 0;
+}
+#endif
+#ifndef HAVE_STRCSPN
+size_t strcspn(const char *s, const char *reject)
+{
+ size_t r;
+ for (r = 0; *s; r++, s++) {
+ const char *rj;
+ for (rj = reject; *rj; rj++) if (*s == *rj) goto brk;
+ }
+ brk:
+ return r;
+}
+#endif
+#ifndef HAVE_STRSTR
+char *strstr(const char *haystack, const char *needle)
+{
+ size_t hs = strlen(haystack);
+ size_t ns = strlen(needle);
+ while (hs >= ns) {
+ if (!memcmp(haystack, needle, ns)) return (char *)haystack;
+ haystack++, hs--;
+ }
+ return NULL;
+}
+#endif
+#ifndef HAVE_MEMMOVE
+void *memmove(void *dst0, const void *src0, size_t length)
+{
+ unsigned char *dst = dst0;
+ const unsigned char *src = src0;
+
+ if ((const unsigned char *)dst == src || !length)
+ return dst0;
+
+ if ((const unsigned char *)dst <= src) {
+ while (length--) *dst++ = *src++;
+ } else {
+ dst += length - 1;
+ src += length - 1;
+ while (length--) *dst-- = *src--;
+ }
+ return dst0;
+}
+#endif
+#ifndef HAVE_STRERROR
+extern char *sys_errlist[];
+extern int sys_nerr;
+char *strerror(int errnum)
+{
+ if (errnum < 0 || errnum >= sys_nerr) return "Unknown error";
+ return sys_errlist[errnum];
+};
+#endif
diff --git a/os_dep.h b/os_dep.h
new file mode 100644
index 0000000..991c200
--- /dev/null
+++ b/os_dep.h
@@ -0,0 +1,216 @@
+/* os_dep.h
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#ifndef OS_DEP_H
+#define OS_DEP_H
+
+#define SYS_UNIX 1
+#define SYS_OS2 2
+#define SYS_WIN_32 3
+#define SYS_BEOS 4
+#define SYS_RISCOS 5
+#define SYS_ATHEOS 6
+#define SYS_SPAD 7
+#define SYS_INTERIX 8
+
+/* hardcoded limit of 10 OSes in default.c */
+
+#if defined(__EMX__)
+#define OS2
+#elif defined(_WIN32) || defined(__CYGWIN__)
+#define WIN32
+#elif defined(__INTERIX)
+#define INTERIX
+#elif defined(__BEOS__) || defined(__HAIKU__)
+#define BEOS
+#elif defined(__riscos__)
+#define RISCOS
+#elif defined(__ATHEOS__) || defined(__SYLLABLE__)
+#define ATHEOS
+#elif defined(__SPAD__)
+#define SPAD
+#else
+#define UNIX
+#endif
+
+#if defined(OS2) || defined(WIN32) || defined(INTERIX) || defined(BEOS) || defined(RISCOS) || defined(ATHEOS) || defined(SPAD)
+#ifdef UNIX
+#undef UNIX
+#endif
+#endif
+
+#if defined(UNIX)
+
+static inline int dir_sep(unsigned char x) { return x == '/'; }
+#define NEWLINE "\n"
+#define FS_UNIX_RIGHTS
+#define FS_UNIX_HARDLINKS
+#define FS_UNIX_SOFTLINKS
+#define FS_UNIX_USERS
+#define SYSTEM_ID SYS_UNIX
+#define SYSTEM_NAME "Unix"
+#define DEFAULT_SHELL "/bin/sh"
+#define GETSHELL getenv("SHELL")
+#define SHARED_CONFIG_DIR "/etc/"
+#ifdef HAVE_SYS_UN_H
+#define USE_AF_UNIX
+#else
+#define DONT_USE_AF_UNIX
+#endif
+#define ASSOC_BLOCK
+#define ASSOC_CONS_XWIN
+
+#elif defined(OS2)
+
+static inline int dir_sep(unsigned char x) { return x == '/' || x == '\\'; }
+#define NEWLINE "\r\n"
+/*#define NO_ASYNC_LOOKUP*/
+#define SYSTEM_ID SYS_OS2
+#define SYSTEM_NAME "OS/2"
+#define DEFAULT_SHELL "cmd.exe"
+#define GETSHELL getenv("COMSPEC")
+#define NO_FG_EXEC
+#define NO_CTRL_Z
+#define DOS_FS
+#define NO_FILE_SECURITY
+#define NO_FORK_ON_EXIT
+#define ASSOC_CONS_XWIN
+#define DISABLE_SMB
+
+#elif defined(WIN32)
+
+static inline int dir_sep(unsigned char x) { return x == '/' || x == '\\'; }
+#define NEWLINE "\r\n"
+/*#define NO_ASYNC_LOOKUP*/
+#define SYSTEM_ID SYS_WIN_32
+#define SYSTEM_NAME "Win32"
+#define DEFAULT_SHELL "cmd.exe"
+#define GETSHELL getenv("COMSPEC")
+#define NO_FG_EXEC
+#define NO_CTRL_Z
+#define DOS_FS
+#define SET_WINDOW_TITLE_UTF_8
+#define ASSOC_CONS_XWIN
+#ifdef _UWIN
+#define DISABLE_SMB
+#endif
+#ifdef __CYGWIN__
+#define OS_BAD_SIGNALS
+#endif
+#ifndef HAVE_PTHREADS
+#define HAVE_PTHREADS
+#endif
+#if defined(HAVE_SYS_UN_H) && !defined(_UWIN)
+#define USE_AF_UNIX
+#else
+#define DONT_USE_AF_UNIX
+#endif
+
+#elif defined(INTERIX)
+
+static inline int dir_sep(unsigned char x) { return x == '/'; }
+#define NEWLINE "\n"
+#define FS_UNIX_RIGHTS
+#define FS_UNIX_HARDLINKS
+#define FS_UNIX_SOFTLINKS
+#define FS_UNIX_USERS
+#define SYSTEM_ID SYS_INTERIX
+#define SYSTEM_NAME "Interix"
+#define DEFAULT_SHELL "/bin/sh"
+#define GETSHELL getenv("SHELL")
+#define SHARED_CONFIG_DIR "/etc/"
+#ifdef HAVE_SYS_UN_H
+#define USE_AF_UNIX
+#else
+#define DONT_USE_AF_UNIX
+#endif
+#define ASSOC_BLOCK
+#define ASSOC_CONS_XWIN
+
+#elif defined(BEOS)
+
+static inline int dir_sep(unsigned char x) { return x == '/'; }
+#define NEWLINE "\n"
+#define NO_ASYNC_LOOKUP /* async lookup works on BeOS but crashes the Haiku kernel */
+#define FS_UNIX_RIGHTS
+#define FS_UNIX_SOFTLINKS
+#define FS_UNIX_USERS
+#define SYSTEM_ID SYS_BEOS
+#define SYSTEM_NAME "BeOS"
+#define DEFAULT_SHELL "/bin/sh"
+#define GETSHELL getenv("SHELL")
+#define NO_CTRL_Z
+#define SHARED_CONFIG_DIR "/etc/"
+#define NO_FORK_ON_EXIT
+#define ASSOC_BLOCK
+
+#include <sys/time.h>
+#include <sys/types.h>
+#ifdef HAVE_NET_SOCKET_H
+#include <net/socket.h>
+#endif
+#include <sys/socket.h>
+
+#include "beos.h"
+
+#elif defined(RISCOS)
+
+static inline int dir_sep(unsigned char x) { return x == '/' || x == '\\'; }
+#define NEWLINE "\n"
+#define SYSTEM_ID SYS_RISCOS
+#define SYSTEM_NAME "RISC OS"
+#define DEFAULT_SHELL "gos"
+#define GETSHELL getenv("SHELL")
+#define NO_FG_EXEC
+#define NO_CTRL_Z
+#define NO_FILE_SECURITY
+#define NO_FORK_ON_EXIT
+
+#elif defined(ATHEOS)
+
+static inline int dir_sep(unsigned char x) { return x == '/'; }
+#define NEWLINE "\n"
+#define FS_UNIX_RIGHTS
+#define FS_UNIX_HARDLINKS
+#define FS_UNIX_SOFTLINKS
+#define FS_UNIX_USERS
+#define SYSTEM_ID SYS_ATHEOS
+#define SYSTEM_NAME "Atheos"
+#define DEFAULT_SHELL "/bin/sh"
+#define GETSHELL getenv("SHELL")
+#define SHARED_CONFIG_DIR "/etc/"
+#define ASSOC_BLOCK
+
+#elif defined(SPAD)
+
+static inline int dir_sep(unsigned char x) { return x == '/'; }
+#define NEWLINE "\n"
+#define SYSTEM_ID SYS_SPAD
+#define SYSTEM_NAME "Spad"
+#define DEFAULT_SHELL "LIB.:/SHELL.EXE"
+#define GETSHELL "LIB.:/SHELL.EXE"
+#define NO_CTRL_Z
+#define SHARED_CONFIG_DIR "ETC.:/"
+#ifdef HAVE_SYS_UN_H
+#define USE_AF_UNIX
+#else
+#define DONT_USE_AF_UNIX
+#endif
+#define ASSOC_BLOCK
+#define ASSOC_CONS_XWIN
+#define NO_FORK_ON_EXIT
+
+#endif
+
+#ifdef FS_UNIX_USERS
+#if !defined(HAVE_GETPWUID) || !defined(HAVE_GETGRGID)
+#undef FS_UNIX_USERS
+#endif
+#endif
+
+#if !defined(HAVE_BEGINTHREAD) && !defined(BEOS) && !defined(ATHEOS) && !defined(HAVE_PTHREADS) && !(defined(HAVE_ATHEOS_THREADS_H) && defined(HAVE_SPAWN_THREAD) && defined(HAVE_RESUME_THREAD))
+#define THREAD_SAFE_LOOKUP
+#endif
+#endif /* #ifndef OS_DEP_H */
diff --git a/os_depx.h b/os_depx.h
new file mode 100644
index 0000000..f414cb9
--- /dev/null
+++ b/os_depx.h
@@ -0,0 +1,108 @@
+/* os_depx.h
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#ifdef HAVE_VALUES_H
+#include <values.h>
+#endif
+
+#ifndef MAXINT
+#ifdef INT_MAX
+#define MAXINT INT_MAX
+#else
+#define MAXINT ((int)((unsigned int)-1 >> 1))
+#endif
+#endif
+
+#ifndef MAXLONG
+#ifdef LONG_MAX
+#define MAXLONG LONG_MAX
+#else
+#define MAXLONG ((long)((unsigned long)-1L >> 1))
+#endif
+#endif
+
+#if defined(HAVE_STRTOLL) && !defined(MAXLLONG)
+#ifdef LLONG_MAX
+#define MAXLLONG LLONG_MAX
+#else
+#define MAXLLONG ((long long)((unsigned long long)-1L >> 1))
+#endif
+#endif
+
+#ifndef SA_RESTART
+#define SA_RESTART 0
+#endif
+
+#ifdef OS2
+int bounced_read(int handle, void *buf, size_t size);
+int bounced_write(int handle, const void *buf, size_t size);
+#define read bounced_read
+#define write bounced_write
+#endif
+
+#ifdef __EMX__
+#define strcasecmp stricmp
+#define strncasecmp strnicmp
+#define getcwd _getcwd2
+#define chdir _chdir2
+#endif
+
+#ifdef BEOS
+#define socket be_socket
+#define connect be_connect
+#define getpeername be_getpeername
+#define getsockname be_getsockname
+#define listen be_listen
+#define accept be_accept
+#define bind be_bind
+#define pipe be_pipe
+#define read be_read
+#define write be_write
+#define close be_close
+#define select be_select
+#define getsockopt be_getsockopt
+#ifndef PF_INET
+#define PF_INET AF_INET
+#endif
+#ifndef SO_ERROR
+#define SO_ERROR 10001
+#endif
+#endif
+
+#if defined(O_SIZE) && defined(__EMX__)
+#define HAVE_OPEN_PREALLOC
+#endif
+
+#if defined(GRDRV_SVGALIB)
+#define loop_select vga_select
+int vga_select(int n, fd_set *r, fd_set *w, fd_set *e, struct timeval *t);
+#elif defined(GRDRV_ATHEOS)
+#define loop_select ath_select
+int ath_select(int n, fd_set *r, fd_set *w, fd_set *e, struct timeval *t);
+#else
+#define loop_select select
+#endif
+
+#if defined(__WATCOMC__) && defined(_WCRTLINK)
+#define LIBC_CALLBACK _WCRTLINK
+#else
+#define LIBC_CALLBACK
+#endif
+
+#if defined(__WATCOMC__) && defined(__LINUX__)
+#define SIGNAL_HANDLER __declspec(__cdecl)
+#else
+#define SIGNAL_HANDLER
+#endif
+
+#if defined(HAVE_HERROR) && defined(__GNUC__) && defined(__hpux)
+#undef HAVE_HERROR
+#endif
+
+#ifdef HAVE_MAXINT_CONVERSION_BUG
+#undef MAXINT
+#define MAXINT 0x7FFFF000
+#endif
+
diff --git a/pmshell.c b/pmshell.c
new file mode 100644
index 0000000..1f71b1b
--- /dev/null
+++ b/pmshell.c
@@ -0,0 +1,1194 @@
+/* pmshell.c
+ * PMShell graphics driver
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "cfg.h"
+
+#if 0
+#define debug_call(x) printf x; fflush(stdout);
+#else
+#define debug_call(x)
+#endif
+
+#ifdef GRDRV_PMSHELL
+
+#include "links.h"
+
+extern struct graphics_driver pmshell_driver;
+
+#define INCL_DOS
+#define INCL_GPI
+#define INCL_WIN
+#include <os2.h>
+
+#include <process.h>
+
+#include <sys/builtin.h>
+#include <sys/fmutex.h>
+static _fmutex pm_mutex;
+#define pm_lock_init _fmutex_create(&pm_mutex, 0)
+#define pm_lock _fmutex_request(&pm_mutex, _FMR_IGNINT)
+#define pm_unlock _fmutex_release(&pm_mutex)
+
+static unsigned char *pm_class_name = "links";
+static unsigned char *pm_msg_class_name = "links.msg";
+
+static ULONG pm_frame = (FCF_TITLEBAR | FCF_SYSMENU | FCF_SIZEBORDER | FCF_MINMAX | FCF_SHELLPOSITION | FCF_TASKLIST | FCF_NOBYTEALIGN);
+
+static ULONG pm_msg_frame = 0;
+
+static MRESULT EXPENTRY pm_window_proc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
+static MRESULT EXPENTRY pm_msg_proc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
+
+#define E_KEY 1
+#define E_MOUSE 2
+#define E_REDRAW 3
+#define E_RESIZE 4
+
+struct pm_event {
+ struct pm_event *next;
+ struct pm_event *prev;
+ int type;
+ int x1, y1, x2, y2;
+};
+
+struct pm_window {
+ struct pm_window *next;
+ struct pm_window *prev;
+ int x, y;
+ int in;
+ struct pm_window *nxt;
+ struct pm_window **prv;
+ HPS ps;
+ HWND h;
+ HWND hc;
+ struct graphics_device *dev;
+ int button;
+ unsigned lastpos;
+ struct list_head queue;
+};
+
+#define WIN_HASH 64
+
+static struct pm_window *pm_windows[WIN_HASH];
+
+static void pm_hash_window(struct pm_window *win)
+{
+ int pos = win->hc & (WIN_HASH - 1);
+ win->prv = &pm_windows[pos];
+ if ((win->nxt = pm_windows[pos])) pm_windows[pos]->prv = &win->nxt;
+ pm_windows[pos] = win;
+}
+
+static void pm_unhash_window(struct pm_window *win)
+{
+ if (win->nxt) win->nxt->prv = win->prv;
+ *win->prv = win->nxt;
+}
+
+static inline struct pm_window *pm_lookup_window(HWND h)
+{
+ struct pm_window *win;
+ for (win = pm_windows[h & (WIN_HASH - 1)]; win && win->hc != h; win = win->nxt) ;
+ return win;
+}
+
+#define pm_win(dev) ((struct pm_window *)dev->driver_data)
+
+static int pm_pipe[2];
+
+static HEV pm_sem;
+static ULONG pm_sem_dummy;
+
+#define pm_wait do { \
+ DosWaitEventSem(pm_sem, SEM_INDEFINITE_WAIT); \
+ DosResetEventSem(pm_sem, &pm_sem_dummy); \
+} while (0)
+
+#define pm_signal DosPostEventSem(pm_sem)
+
+static unsigned char *pm_not_ses = "Not in a pmshell session.\n";
+static unsigned char *pm_status;
+
+static HAB hab_disp;
+static HAB hab;
+static HMQ hmq;
+static HWND hwnd_msg;
+static HPOINTER icon;
+static HPS hps_msg;
+static HDC hdc_mem;
+static HPS hps_mem;
+
+static int pm_cp;
+
+static struct list_head pm_event_windows = { &pm_event_windows, &pm_event_windows };
+
+static void pm_send_event(struct pm_window *win, int t, int x1, int y1, int x2, int y2)
+{
+ /* must be called with pm_lock */
+ struct pm_event *ev;
+ if ((ev = malloc(sizeof(struct pm_event)))) {
+ ev->type = t;
+ ev->x1 = x1, ev->y1 = y1;
+ ev->x2 = x2, ev->y2 = y2;
+ if (!win->in) {
+ if (list_empty(pm_event_windows)) {
+ int wr;
+ EINTRLOOP(wr, write(pm_pipe[1], "x", 1));
+ }
+ add_to_list(pm_event_windows, win);
+ win->in = 1;
+ }
+ add_to_list(win->queue, ev);
+ }
+}
+
+static void pm_send_mouse_event(struct pm_window *win, int x1, int y1, int b)
+{
+ if (!list_empty(win->queue)) {
+ struct pm_event *last = win->queue.next;
+ if (last->type == E_MOUSE && last->x2 == b) {
+ last->x1 = x1;
+ last->y1 = y1;
+ return;
+ }
+ }
+ pm_send_event(win, E_MOUSE, x1, y1, b, 0);
+}
+
+static void pm_cancel_event(struct pm_window *win, int t, struct pm_event **pev)
+{
+ struct pm_event *ev;
+ if (pev) *pev = NULL;
+ foreachback(ev, win->queue) if (ev->type == t) {
+ if (pev) *pev = ev;
+ else {
+ del_from_list(ev);
+ free(ev);
+ }
+ return;
+ }
+}
+
+static void pm_resize(struct pm_window *win, RECTL *r)
+{
+ struct pm_event *ev;
+ win->x = r->xRight;
+ win->y = r->yTop;
+ pm_cancel_event(win, E_REDRAW, NULL);
+ pm_cancel_event(win, E_RESIZE, &ev);
+ if (ev) {
+ ev->x2 = r->xRight;
+ ev->y2 = r->yTop;
+ } else pm_send_event(win, E_RESIZE, 0, 0, r->xRight, r->yTop);
+}
+
+static void pm_redraw(struct pm_window *win, RECTL *r)
+{
+ struct pm_event *ev;
+ pm_cancel_event(win, E_RESIZE, &ev);
+ if (ev) return;
+ pm_cancel_event(win, E_REDRAW, &ev);
+ if (ev) {
+ if (r->xLeft < ev->x1) ev->x1 = r->xLeft;
+ if (r->xRight > ev->x2) ev->x2 = r->xRight;
+ if (win->y - r->yTop < ev->y1) ev->y1 = win->y - r->yTop;
+ if (win->y - r->yBottom > ev->y2) ev->y2 = win->y - r->yBottom;
+ return;
+ }
+ pm_send_event(win, E_REDRAW, r->xLeft, win->y - r->yTop, r->xRight, win->y - r->yBottom);
+}
+
+#define N_VK 0x42
+
+static struct os2_key pm_vk_table[N_VK] = {
+ {0, 0}, {0, 0}, {0, 0}, {0, 0}, {KBD_CTRL_C, 0}, {KBD_BS, 0}, {KBD_TAB, 0}, {KBD_TAB, KBD_SHIFT},
+ {KBD_ENTER, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {KBD_ESC, 0},
+ {' ', 0}, {KBD_PAGE_UP, 0}, {KBD_PAGE_DOWN, 0}, {KBD_END, 0}, {KBD_HOME, 0}, {KBD_LEFT, 0}, {KBD_UP, 0}, {KBD_RIGHT, 0},
+ {KBD_DOWN, 0}, {0, 0}, {KBD_INS, 0}, {KBD_DEL, 0}, {0, 0}, {0, 0}, {KBD_ENTER, 0}, {0, 0},
+ {KBD_F1, 0}, {KBD_F2, 0}, {KBD_F3, 0}, {KBD_F4, 0}, {KBD_F5, 0}, {KBD_F6, 0}, {KBD_F7, 0}, {KBD_F8, 0},
+ {KBD_F9, 0}, {KBD_F10, 0}, {KBD_F11, 0}, {KBD_F12, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0},
+ {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0},
+ {0, 0}, {KBD_DEL, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0},
+ {0, 0}, {0, 0}
+};
+
+static int win_x(struct pm_window *win)
+{
+ int x = (short)(win->lastpos & 0xffff);
+ if (x < 0) x = -1;
+ if (x > win->x) x = win->x;
+ return x;
+}
+
+static int win_y(struct pm_window *win)
+{
+ int y = (short)(win->y - (win->lastpos >> 16));
+ if (y < 0) y = -1;
+ if (y > win->y) y = win->y;
+ return y;
+}
+
+static MRESULT EXPENTRY pm_window_proc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
+{
+ int k_usch, k_usvk, k_fsflags;
+ int scancode;
+ int key, flags;
+ struct pm_window *win;
+ RECTL wr, ur;
+ /*fprintf(stderr, "%08x %08x %08x\n", (int)msg, (int)mp1, (int)mp2);*/
+ switch (msg) {
+ case WM_PAINT:
+ pm_lock;
+ WinQueryUpdateRect(hwnd, &ur);
+ WinQueryWindowRect(hwnd, &wr);
+ WinValidateRect(hwnd, &ur, FALSE);
+ if (!(win = pm_lookup_window(hwnd))) {
+ pm_unlock;
+ return 0;
+ }
+ if (wr.xRight != win->x || wr.yTop != win->y) pm_resize(win, &wr);
+ else pm_redraw(win, &ur);
+ pm_unlock;
+ return 0;
+ case WM_CLOSE:
+ case WM_QUIT:
+ pm_lock;
+ if (!(win = pm_lookup_window(hwnd))) {
+ pm_unlock;
+ return 0;
+ }
+ pm_send_event(win, E_KEY, KBD_CTRL_C, 0, 0, 0);
+ pm_unlock;
+ return 0;
+ case WM_CHAR:
+ k_fsflags = (int)mp1;
+ scancode = ((unsigned long)mp1 >> 24) & 0xff;
+ k_usch = (int)mp2 & 0xffff;
+ k_usvk = ((int)mp2 >> 16) & 0xffff;
+
+ /*
+ * F1 keydown is lost for unknown reason --- so catch
+ * keyup instead.
+ */
+ if ((k_fsflags & (KC_VIRTUALKEY | KC_CHAR)) == KC_VIRTUALKEY && k_usvk == 0x20)
+ k_fsflags ^= KC_KEYUP;
+
+ if (k_fsflags & (KC_KEYUP | KC_DEADKEY | KC_INVALIDCOMP))
+ return 0;
+
+ flags = (k_fsflags & KC_SHIFT ? KBD_SHIFT : 0) | (k_fsflags & KC_CTRL ? KBD_CTRL : 0) | (k_fsflags & KC_ALT ? KBD_ALT : 0);
+ if (k_fsflags & KC_ALT && ((scancode >= 0x47 && scancode <= 0x49) || (scancode >= 0x4b && scancode <= 0x4d) || (scancode >= 0x4f && scancode <= 0x52))) return 0;
+ if ((k_fsflags & (KC_VIRTUALKEY | KC_CHAR)) == KC_VIRTUALKEY) {
+ if (k_usvk < N_VK && (key = pm_vk_table[k_usvk].x)) {
+ flags |= pm_vk_table[k_usvk].y;
+ if (key == KBD_CTRL_C) flags &= ~KBD_CTRL;
+ goto s;
+ }
+ }
+ if (k_usch & 0xff) {
+ key = k_usch & 0xff;
+ if (!(flags & KBD_CTRL)) {
+ if (key == 0x0d) key = KBD_ENTER;
+ if (key == 0x08) key = KBD_BS;
+ if (key == 0x09) key = KBD_TAB;
+ if (key == 0x1b) key = KBD_ESC;
+ }
+ if (key >= 0 && key < ' ') key += '@', flags |= KBD_CTRL;
+ } else key = os2xtd[k_usch >> 8].x, flags |= os2xtd[k_usch >> 8].y;
+ if ((key & 0xdf) == 'C' && (flags & KBD_CTRL)) key = KBD_CTRL_C, flags &= ~KBD_CTRL;
+ s:
+ if (!key) return 0;
+ /*if (key >= 0) flags &= ~KBD_SHIFT;*/
+ if (key >= 0x80 && pm_cp) {
+ if ((key = cp2u(key, pm_cp)) < 0) return 0;
+ }
+ pm_lock;
+ if (!(win = pm_lookup_window(hwnd))) {
+ pm_unlock;
+ return 0;
+ }
+ pm_send_event(win, E_KEY, key, flags, 0, 0);
+ pm_unlock;
+ return 0;
+ case WM_BUTTON1DOWN:
+ case WM_BUTTON1DBLCLK:
+ pm_lock;
+ if (!(win = pm_lookup_window(hwnd))) { pm_unlock; break; }
+ win->button |= 1 << B_LEFT;
+ win->lastpos = (unsigned)mp1;
+ pm_send_event(win, E_MOUSE, win_x(win), win_y(win), B_DOWN | B_LEFT, 0);
+ WinSetCapture(HWND_DESKTOP, hwnd);
+ pm_unlock;
+ break;
+ case WM_BUTTON2DOWN:
+ case WM_BUTTON2DBLCLK:
+ pm_lock;
+ if (!(win = pm_lookup_window(hwnd))) { pm_unlock; break; }
+ win->button |= 1 << B_RIGHT;
+ win->lastpos = (unsigned)mp1;
+ pm_send_event(win, E_MOUSE, win_x(win), win_y(win), B_DOWN | B_RIGHT, 0);
+ WinSetCapture(HWND_DESKTOP, hwnd);
+ pm_unlock;
+ break;
+ case WM_BUTTON3DOWN:
+ case WM_BUTTON3DBLCLK:
+ pm_lock;
+ if (!(win = pm_lookup_window(hwnd))) { pm_unlock; break; }
+ win->button |= 1 << B_MIDDLE;
+ win->lastpos = (unsigned)mp1;
+ pm_send_event(win, E_MOUSE, win_x(win), win_y(win), B_DOWN | B_MIDDLE, 0);
+ WinSetCapture(HWND_DESKTOP, hwnd);
+ pm_unlock;
+ break;
+ case WM_BUTTON1UP:
+ case WM_BUTTON1MOTIONEND:
+ pm_lock;
+ if (!(win = pm_lookup_window(hwnd))) { pm_unlock; break; }
+ if (msg == WM_BUTTON1UP) win->lastpos = (unsigned)mp1;
+ if (win->button & (1 << B_LEFT)) pm_send_event(win, E_MOUSE, win_x(win), win_y(win), B_UP | B_LEFT, 0);
+ win->button &= ~(1 << B_LEFT);
+ if (!win->button) WinSetCapture(HWND_DESKTOP, NULLHANDLE);
+ pm_unlock;
+ break;
+ case WM_BUTTON2UP:
+ case WM_BUTTON2MOTIONEND:
+ pm_lock;
+ if (!(win = pm_lookup_window(hwnd))) { pm_unlock; break; }
+ if (msg == WM_BUTTON2UP) win->lastpos = (unsigned)mp1;
+ if (win->button & (1 << B_RIGHT)) pm_send_event(win, E_MOUSE, win_x(win), win_y(win), B_UP | B_RIGHT, 0);
+ win->button &= ~(1 << B_RIGHT);
+ if (!win->button) WinSetCapture(HWND_DESKTOP, NULLHANDLE);
+ pm_unlock;
+ break;
+ case WM_BUTTON3UP:
+ case WM_BUTTON3MOTIONEND:
+ pm_lock;
+ if (!(win = pm_lookup_window(hwnd))) { pm_unlock; break; }
+ if (msg == WM_BUTTON3UP) win->lastpos = (unsigned)mp1;
+ if (win->button & (1 << B_MIDDLE)) pm_send_event(win, E_MOUSE, win_x(win), win_y(win), B_UP | B_MIDDLE, 0);
+ win->button &= ~(1 << B_MIDDLE);
+ if (!win->button) WinSetCapture(HWND_DESKTOP, NULLHANDLE);
+ pm_unlock;
+ break;
+ case WM_MOUSEMOVE:
+ pm_lock;
+ if (!(win = pm_lookup_window(hwnd))) { pm_unlock; break; }
+ if (win->lastpos == (unsigned)mp1) { pm_unlock; break; }
+ win->lastpos = (unsigned)mp1;
+ pm_send_mouse_event(win, win_x(win), win_y(win), (win->button ? B_DRAG : B_MOVE) | (win->button & (1 << B_LEFT) ? B_LEFT : win->button & (1 << B_MIDDLE) ? B_MIDDLE : win->button & (1 << B_RIGHT) ? B_RIGHT : 0));
+ pm_unlock;
+ break;
+ case WM_VSCROLL:
+ pm_lock;
+ if (!(win = pm_lookup_window(hwnd))) { pm_unlock; break; }
+ if ((unsigned)mp2 == SB_LINEUP << 16 || (unsigned)mp2 == SB_LINEDOWN << 16) pm_send_event(win, E_MOUSE, win_x(win), win_y(win), ((unsigned)mp2 == SB_LINEUP << 16 ? B_WHEELUP1 : B_WHEELDOWN1) | B_MOVE, 0);
+ pm_unlock;
+ break;
+ case WM_HSCROLL:
+ pm_lock;
+ if (!(win = pm_lookup_window(hwnd))) { pm_unlock; break; }
+ if ((unsigned)mp2 == SB_LINELEFT << 16 || (unsigned)mp2 == SB_LINERIGHT << 16) pm_send_event(win, E_MOUSE, win_x(win), win_y(win), ((unsigned)mp2 == SB_LINELEFT << 16 ? B_WHEELLEFT1 : B_WHEELRIGHT1) | B_MOVE, 0);
+ pm_unlock;
+ break;
+ }
+ return WinDefWindowProc(hwnd, msg, mp1, mp2);
+}
+
+static int pm_thread_shutdown;
+
+#define MSG_CREATE_WINDOW 1
+#define MSG_DELETE_WINDOW 2
+#define MSG_SET_WINDOW_TITLE 3
+#define MSG_SHUTDOWN_THREAD 4
+
+struct title_set {
+ struct pm_window *win;
+ unsigned char *text;
+};
+
+static MRESULT EXPENTRY pm_msg_proc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
+{
+ struct title_set *w;
+ if (msg == WM_USER) switch ((int)mp1) {
+ struct pm_window *win;
+ case MSG_CREATE_WINDOW:
+ win = mp2;
+ win->h = WinCreateStdWindow(HWND_DESKTOP, WS_VISIBLE, &pm_frame, pm_class_name, "Links", 0, 0, 0, &win->hc);
+ if (icon != NULLHANDLE) WinSendMsg(win->h, WM_SETICON, (void *)icon, 0);
+ WinSetWindowPos(win->h, 0, 0, 0, 0, 0, SWP_ACTIVATE);
+ pm_lock;
+ pm_signal;
+ return 0;
+ case MSG_DELETE_WINDOW:
+ win = mp2;
+ WinDestroyWindow(win->h);
+ pm_lock;
+ pm_signal;
+ return 0;
+ case MSG_SET_WINDOW_TITLE:
+ w = mp2;
+ WinSetWindowText(w->win->h, w->text);
+ pm_lock;
+ pm_signal;
+ return 0;
+ case MSG_SHUTDOWN_THREAD:
+ pm_thread_shutdown = 1;
+ return 0;
+ }
+ return WinDefWindowProc(hwnd, msg, mp1, mp2);
+}
+
+static void pm_send_msg(int msg, void *param)
+{
+ WinPostMsg(hwnd_msg, WM_USER, (MPARAM)msg, (MPARAM)param);
+ pm_wait;
+}
+
+static void pm_dispatcher(void *p)
+{
+ QMSG msg;
+ pm_status = NULL;
+ /*DosSetPriority(PRTYS_THREAD, PRTYC_FOREGROUNDSERVER, 1, 0);*/
+ DosSetPriority(PRTYS_THREAD, PRTYC_NOCHANGE, 1, 0);
+ if ((hab_disp = WinInitialize(0)) == NULLHANDLE) {
+ pm_status = "WinInitialize failed in pm thread.\n";
+ goto fail;
+ }
+ if ((hmq = WinCreateMsgQueue(hab_disp, 0)) == NULLHANDLE) {
+ ERRORID e = WinGetLastError(hab_disp);
+ if ((e & 0xffff) == PMERR_NOT_IN_A_PM_SESSION) pm_status = pm_not_ses;
+ else pm_status = "WinCreateMsgQueue failed in pm thread.\n";
+ goto fail1;
+ }
+ if ((pm_cp = WinQueryCp(hmq))) {
+ unsigned char a[64];
+ snprint(a, 64, pm_cp);
+ if ((pm_cp = get_cp_index(a)) < 0 || pm_cp == utf8_table) pm_cp = 0;
+ }
+ /*{
+ ULONG cp_list[100];
+ int n, i;
+ debug("WinQueryCp: %d", WinQueryCp(hmq));
+ n = WinQueryCpList(hab_disp, 100, cp_list);
+ debug("%d", n);
+ for (i = 0; i < n; i++) fprintf(stderr, "%d, ", cp_list[i]);
+ }*/
+ if (WinRegisterClass(hab_disp, pm_class_name, pm_window_proc, CS_SIZEREDRAW, 0) == FALSE) {
+ pm_status = "WinRegisterClass failed for window.\n";
+ goto fail2;
+ }
+ if (WinRegisterClass(hab_disp, pm_msg_class_name, pm_msg_proc, 0, 0) == FALSE) {
+ pm_status = "WinRegisterClass failed for msg window.\n";
+ goto fail3;
+ }
+ if ((hwnd_msg = WinCreateStdWindow(HWND_DESKTOP, 0, &pm_msg_frame, pm_msg_class_name, NULL, 0, 0, 0, NULL)) == NULLHANDLE) {
+ pm_status = "Could not create msg window.\n";
+ goto fail4;
+ }
+ if ((hps_msg = WinGetPS(hwnd_msg)) == NULLHANDLE) {
+ pm_status = "Could not get msg window ps.\n";
+ goto fail5;
+ }
+ icon = WinLoadPointer(HWND_DESKTOP, 0, 1);
+ pm_signal;
+ while (!pm_thread_shutdown) {
+ WinGetMsg(hab_disp, &msg, 0L, 0, 0);
+ WinDispatchMsg(hab_disp, &msg);
+ }
+
+
+ if (icon != NULLHANDLE) WinDestroyPointer(icon);
+ WinReleasePS(hps_msg);
+ fail5: WinDestroyWindow(hwnd_msg);
+ fail4:
+ fail3:
+ fail2: WinDestroyMsgQueue(hmq);
+ fail1: WinTerminate(hab);
+ fail:
+ pm_signal;
+ return;
+}
+
+static void pm_pipe_error(void *p)
+{
+ error("exception on pm pipe");
+ set_handlers(pm_pipe[0], NULL, NULL, NULL, NULL);
+}
+
+static void pm_handler(void *p)
+{
+ unsigned char c;
+ struct pm_window *win = NULL;
+ struct pm_event *ev = NULL;
+ pm_lock;
+ if (!list_empty(pm_event_windows)) {
+ win = pm_event_windows.prev;
+ if (!list_empty(win->queue)) {
+ ev = win->queue.prev;
+ del_from_list(ev);
+ }
+ if (list_empty(win->queue)) {
+ del_from_list(win);
+ win->in = 0;
+ }
+ }
+ if (list_empty(pm_event_windows)) {
+ int rd;
+ EINTRLOOP(rd, read(pm_pipe[0], &c, 1));
+ if (rd != 1) pm_pipe_error(NULL);
+ }
+ pm_unlock;
+ if (!ev) return;
+ switch (ev->type) {
+ struct rect r;
+ case E_KEY:
+ if (win->dev->keyboard_handler)
+ win->dev->keyboard_handler(win->dev, ev->x1, ev->y1);
+ break;
+ case E_MOUSE:
+ if (win->dev->mouse_handler)
+ win->dev->mouse_handler(win->dev, ev->x1, ev->y1, ev->x2);
+ break;
+ case E_REDRAW:
+ if (win->dev->redraw_handler) {
+ r.x1 = ev->x1; r.y1 = ev->y1;
+ r.x2 = ev->x2; r.y2 = ev->y2;
+ win->dev->redraw_handler(win->dev, &r);
+ }
+ break;
+ case E_RESIZE:
+ win->dev->size.x2 = ev->x2;
+ win->dev->size.y2 = ev->y2;
+ if (win->dev->resize_handler) {
+ win->dev->resize_handler(win->dev);
+ }
+ }
+ free(ev);
+}
+
+static BITMAPINFO *pm_bitmapinfo;
+
+static int pm_bitmap_count;
+
+static pid_t pm_child_pid;
+
+static void pm_sigcld(void *p)
+{
+ int st;
+ pid_t w;
+ EINTRLOOP(w, waitpid(pm_child_pid, &st, WNOHANG));
+ if (!w) return;
+ if (w > 0) exit(st);
+ else exit(RET_FATAL);
+}
+
+static int pm_sin, pm_sout, pm_serr, pm_ip[2], pm_op[2], pm_ep[2];
+static int pm_cons_ok = 0;
+
+static void pm_setup_console(void)
+{
+ int rs;
+ if (pm_cons_ok) goto fail9;
+ EINTRLOOP(pm_sin, dup(0));
+ if (pm_sin < 0) goto fail;
+ EINTRLOOP(pm_sout, dup(1));
+ if (pm_sout < 0) goto fail1;
+ EINTRLOOP(pm_serr, dup(2));
+ if (pm_serr < 0) goto fail2;
+ if (c_pipe(pm_ip)) goto fail3;
+ if (c_pipe(pm_op)) goto fail4;
+ if (c_pipe(pm_ep)) goto fail5;
+ EINTRLOOP(rs, dup2(pm_ip[0], 0));
+ if (rs != 0) goto fail6;
+ EINTRLOOP(rs, dup2(pm_op[1], 1));
+ if (rs != 1) goto fail7;
+ EINTRLOOP(rs, dup2(pm_ep[1], 2));
+ if (rs != 2) goto fail8;
+ EINTRLOOP(rs, close(pm_ip[0]));
+ EINTRLOOP(rs, close(pm_op[1]));
+ EINTRLOOP(rs, close(pm_ep[1]));
+ pm_cons_ok = 1;
+ return;
+fail9:
+ EINTRLOOP(rs, dup2(pm_serr, 2));
+fail8:
+ EINTRLOOP(rs, dup2(pm_sout, 1));
+fail7:
+ EINTRLOOP(rs, dup2(pm_sin, 0));
+fail6:
+ EINTRLOOP(rs, close(pm_ep[0]));
+ EINTRLOOP(rs, close(pm_ep[1]));
+fail5:
+ EINTRLOOP(rs, close(pm_op[0]));
+ EINTRLOOP(rs, close(pm_op[1]));
+fail4:
+ EINTRLOOP(rs, close(pm_ip[0]));
+ EINTRLOOP(rs, close(pm_ip[1]));
+fail3:
+ EINTRLOOP(rs, close(pm_serr));
+fail2:
+ EINTRLOOP(rs, close(pm_sout));
+fail1:
+ EINTRLOOP(rs, close(pm_sin));
+fail: pm_cons_ok = 0;
+}
+
+static void pm_do_console(void)
+{
+#define CONS_BUF 20
+ unsigned char buffer[CONS_BUF];
+ fd_set s;
+ int rs;
+ int m = pm_op[0] > pm_ep[0] ? pm_op[0] : pm_ep[0];
+ if (pm_sin > m) m = pm_sin;
+ m++;
+ if (!pm_cons_ok) return;
+ while (1) {
+ int r, w;
+ FD_ZERO(&s);
+ /*FD_SET(pm_sin, &s);*/
+ if (m > (int)FD_SETSIZE) {
+ error("too big handle %d", m - 1);
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+ FD_SET(pm_op[0], &s);
+ FD_SET(pm_ep[0], &s);
+ EINTRLOOP(rs, select(m, &s, NULL, NULL, NULL));
+ if (rs <= 0) goto br;
+#define SEL_CHK(ih, oh) \
+ if (FD_ISSET(ih, &s)) { \
+ EINTRLOOP(r, read(ih, buffer, CONS_BUF)); \
+ if (r <= 0) goto br; \
+ do { \
+ if ((w = hard_write(oh, buffer, r)) <= 0) goto br;\
+ r -= w; \
+ } while (r > 0); \
+ }
+
+ /*SEL_CHK(pm_sin, pm_ip[1]);*/
+ SEL_CHK(pm_op[0], pm_sout);
+ SEL_CHK(pm_ep[0], pm_serr);
+ }
+
+ br:;
+}
+
+static unsigned char *pm_get_driver_param(void)
+{
+ return NULL;
+}
+
+static unsigned char *pm_init_driver(unsigned char *param, unsigned char *display)
+{
+ unsigned char *s;
+ int rs;
+ pm_bitmap_count = 0;
+ if ((hab = WinInitialize(0)) == 0) {
+ s = "WinInitialize failed.\n";
+ goto r1;
+ }
+ if (DosCreateEventSem(NULL, &pm_sem, 0, 0)) {
+ s = "Could not create event semaphore.\n";
+ goto r2;
+ }
+ if (c_pipe(pm_pipe)) {
+ s = "Could not create pipe.\n";
+ goto r3;
+ }
+ EINTRLOOP(rs, fcntl(pm_pipe[1], F_SETFL, O_NONBLOCK));
+ memset(pm_windows, 0, sizeof(struct pm_window *) * WIN_HASH);
+ pm_lock_init;
+ pm_thread_shutdown = 0;
+ if (_beginthread(pm_dispatcher, NULL, 65536, NULL) == -1) {
+ s = "Could not start thread.\n";
+ goto r4;
+ }
+ pm_wait;
+ if (pm_status) {
+ pid_t pid;
+ char **arg;
+ if (pm_status != pm_not_ses) goto f;
+ if ((unsigned)g_argc > MAXINT / sizeof(char *) - 1) overalloc();
+ arg = mem_alloc((g_argc + 1) * sizeof(char *));
+ memcpy(arg, g_argv, g_argc * sizeof(char *));
+ arg[g_argc] = NULL;
+ pm_child_pid = -1;
+ install_signal_handler(SIGCHLD, pm_sigcld, NULL, 1);
+ pm_setup_console();
+ pm_child_pid = pid = spawnvp(P_PM, path_to_exe, arg);
+ mem_free(arg);
+ if (pid < 0) {
+ set_sigcld();
+ pm_setup_console();
+ goto f;
+ }
+ pm_do_console();
+ pm_setup_console();
+ while (1)
+ EINTRLOOP(rs, select(1, NULL, NULL, NULL, NULL));
+ f:
+ s = pm_status;
+ goto r4;
+ }
+ {
+#define N_FORMATS 100
+ int i, pm_bitcount;
+ LONG formats[N_FORMATS];
+ memset(formats, 0, N_FORMATS * sizeof(LONG));
+ if (GpiQueryDeviceBitmapFormats(hps_msg, N_FORMATS, formats) == FALSE) goto std_form;
+ for (i = 0; i + 1 < N_FORMATS; i += 2) if (formats[i] == 1) switch (formats[i+1]) {
+ /*
+ case 15:
+ pmshell_driver.depth = 0x7a;
+ pm_bitcount = 15;
+ goto e;
+ */
+ /* ... causes trouble on S3 Trio video driver
+ case 16:
+ pmshell_driver.depth = 0x82;
+ pm_bitcount = 16;
+ goto e;
+ */
+ case 24:
+ std_form:
+ pmshell_driver.depth = 0xc3;
+ pm_bitcount = 24;
+ goto e;
+ }
+ goto std_form;
+ e:;
+ pm_bitmapinfo = mem_calloc(sizeof(BITMAPINFOHEADER));
+ pm_bitmapinfo->cbFix = sizeof(BITMAPINFOHEADER);
+ pm_bitmapinfo->cPlanes = 1;
+ pm_bitmapinfo->cBitCount = pm_bitcount;
+ }
+ {
+ SIZEL sizl = { 0, 0 };
+ PSZ data[4] = { "DISPLAY", NULL, NULL, NULL };
+ hdc_mem = DevOpenDC(hab, OD_MEMORY, "*", 4L, (PDEVOPENDATA)data, NULLHANDLE);
+ hps_mem = GpiCreatePS(hab, hdc_mem, &sizl, GPIA_ASSOC | PU_PELS | GPIT_MICRO);
+ }
+ set_handlers(pm_pipe[0], pm_handler, NULL, pm_pipe_error, NULL);
+
+ return NULL;
+ r4:
+ EINTRLOOP(rs, close(pm_pipe[0]));
+ EINTRLOOP(rs, close(pm_pipe[1]));
+ r3:
+ DosCloseEventSem(pm_sem);
+ r2:
+ WinTerminate(hab);
+ r1:
+ return stracpy(s);
+}
+
+static struct graphics_device *pm_init_device(void)
+{
+ RECTL rect;
+ struct graphics_device *dev;
+ struct pm_window *win;
+ win = mem_alloc(sizeof(struct pm_window));
+ win->lastpos = 0xffffffff;
+ win->button = 0;
+ init_list(win->queue);
+ win->in = 0;
+ pm_send_msg(MSG_CREATE_WINDOW, win);
+ if (win->h == NULLHANDLE) {
+ goto r1;
+ }
+ if ((win->ps = WinGetPS(win->hc)) == NULLHANDLE) {
+ goto r2;
+ }
+ dev = mem_calloc(sizeof(struct graphics_device));
+ dev->driver_data = win;
+ win->dev = dev;
+ if (WinQueryWindowRect(win->hc, &rect) == TRUE) {
+ win->x = dev->size.x2 = rect.xRight;
+ win->y = dev->size.y2 = rect.yTop;
+ } else dev->size.x2 = dev->size.y2 = 0;
+ dev->clip.x1 = dev->clip.y1 = 0;
+ dev->clip.x2 = dev->size.x2;
+ dev->clip.y2 = dev->size.y2;
+ GpiCreateLogColorTable(win->ps, 0, LCOLF_RGB, 0, 0, NULL);
+ pm_hash_window(win);
+ pm_unlock;
+ return dev;
+
+ r2: pm_unlock;
+ pm_send_msg(MSG_DELETE_WINDOW, win);
+ r1: if (win->in) del_from_list(win);
+ pm_unlock;
+ mem_free(win);
+ return NULL;
+
+}
+
+static void pm_shutdown_device(struct graphics_device *dev)
+{
+ struct pm_window *win = pm_win(dev);
+ WinReleasePS(win->ps);
+ pm_send_msg(MSG_DELETE_WINDOW, win);
+ pm_unhash_window(win);
+ if (win->in) del_from_list(win);
+ pm_unlock;
+ while (!list_empty(win->queue)) {
+ struct pm_event *ev = win->queue.next;
+ del_from_list(ev);
+ free(ev);
+ }
+ mem_free(win);
+ mem_free(dev);
+}
+
+static void pm_shutdown_driver(void)
+{
+ int rs;
+ pm_send_msg(MSG_SHUTDOWN_THREAD, NULL);
+ GpiDestroyPS(hps_mem);
+ DevCloseDC(hdc_mem);
+ if (pm_bitmapinfo) mem_free(pm_bitmapinfo);
+ set_handlers(pm_pipe[0], NULL, NULL, NULL, NULL);
+ EINTRLOOP(rs, close(pm_pipe[0]));
+ EINTRLOOP(rs, close(pm_pipe[1]));
+ DosCloseEventSem(pm_sem);
+ WinTerminate(hab);
+ if (pm_bitmap_count) internal("pm_shutdown_driver: %d bitmaps leaked", pm_bitmap_count);
+}
+
+static void pm_set_window_title(struct graphics_device *dev, unsigned char *title)
+{
+ struct conv_table *ct = get_translation_table(utf8_table, pm_cp);
+ struct title_set w;
+ w.win = pm_win(dev);
+ w.text = convert_string(ct, title, strlen(title), NULL);
+ clr_white(w.text);
+ if (strlen(w.text) > 512) w.text[512] = 0;
+ pm_send_msg(MSG_SET_WINDOW_TITLE, &w);
+ pm_unlock;
+ mem_free(w.text);
+}
+
+/*
+static int pm_get_filled_bitmap(struct bitmap *bmp, long color)
+{
+ * Mikulas jestlize plati ze get_color u pmshell nic nedela (jen oanduje
+ * 0xffffff), tak tady zavolej (*get_color_fn)(color) z dither.c a ta
+ * vrati long a, a ty udelas (void *)(&a) a budes mit ty bajty co chces
+ *
+ internal("nedopsano");
+ return 0;
+}*/
+
+static int pm_get_empty_bitmap(struct bitmap *bmp)
+{
+ debug_call(("get_empty_bitmap (%dx%d)\n", bmp->x, bmp->y));
+ if (bmp->x > 65535 || bmp->y > 65535) {
+ bmp->data = NULL;
+ bmp->flags = NULL;
+ return -1;
+#if 0
+ error("too big bitmap: %dx%d", bmp->x, bmp->y);
+ fatal_tty_exit();
+ exit(RET_FATAL);
+#endif
+ }
+ if ((unsigned)bmp->x > (unsigned)MAXINT / (pmshell_driver.depth & 7) - 4) overalloc();
+ bmp->skip = -((bmp->x * (pmshell_driver.depth & 7) + 3) & ~3);
+ if (-bmp->skip && (unsigned)-bmp->skip * (unsigned)bmp->y / (unsigned)-bmp->skip != (unsigned)bmp->y) overalloc();
+ if ((unsigned)-bmp->skip * (unsigned)bmp->y > MAXINT) overalloc();
+ bmp->data = (char *)(bmp->flags = mem_alloc(-bmp->skip * bmp->y)) - bmp->skip * (bmp->y - 1);
+ debug_call(("done\n"));
+ return 0;
+}
+
+static void pm_register_bitmap(struct bitmap *bmp)
+{
+ HBITMAP hbm;
+ debug_call(("register_bitmap (%dx%d)\n", bmp->x, bmp->y));
+ pm_bitmap_count++;
+ if (!bmp->flags) {
+ bmp->flags = (void *)GPI_ERROR;
+ return;
+ }
+ pm_bitmapinfo->cx = bmp->x;
+ pm_bitmapinfo->cy = bmp->y;
+ hbm = GpiCreateBitmap(hps_msg, (PBITMAPINFOHEADER2)pm_bitmapinfo, CBM_INIT, bmp->flags, (PBITMAPINFO2)pm_bitmapinfo);
+ if (hbm == GPI_ERROR) {
+ }
+ mem_free(bmp->flags);
+ bmp->flags = (void *)hbm;
+ debug_call(("done\n"));
+}
+
+static void *pm_prepare_strip(struct bitmap *bmp, int top, int lines)
+{
+ if (bmp->flags == (void *)GPI_ERROR) {
+ bmp->data = NULL;
+ return NULL;
+ }
+ if (-bmp->skip && (unsigned)-bmp->skip * (unsigned)lines / (unsigned)-bmp->skip != (unsigned)lines) overalloc();
+ if ((unsigned)-bmp->skip * (unsigned)lines > MAXINT) overalloc();
+ bmp->data = mem_alloc(-bmp->skip * lines);
+ return (char *)bmp->data - bmp->skip * (lines - 1);
+}
+
+static void pm_commit_strip(struct bitmap *bmp, int top, int lines)
+{
+ HBITMAP old;
+ HBITMAP new = (HBITMAP)bmp->flags;
+ if (new == GPI_ERROR || !bmp->data)
+ return;
+ old = GpiSetBitmap(hps_mem, new);
+ if (old == HBM_ERROR)
+ goto ret;
+ pm_bitmapinfo->cx = bmp->x;
+ pm_bitmapinfo->cy = bmp->y;
+ GpiSetBitmapBits(hps_mem, bmp->y - top - lines, lines, bmp->data, (PBITMAPINFO2)pm_bitmapinfo);
+ GpiSetBitmap(hps_mem, old);
+ ret:
+ mem_free(bmp->data);
+}
+
+static void pm_unregister_bitmap(struct bitmap *bmp)
+{
+ debug_call(("unregister_bitmap (%dx%d)\n", bmp->x, bmp->y));
+ pm_bitmap_count--;
+ if ((HBITMAP)bmp->flags != GPI_ERROR)
+ GpiDeleteBitmap((HBITMAP)bmp->flags);
+ debug_call(("done\n"));
+}
+
+static void pm_draw_bitmap(struct graphics_device *dev, struct bitmap *bmp, int x, int y)
+{
+ POINTL p;
+ if ((HBITMAP)bmp->flags == GPI_ERROR) {
+ return;
+ }
+ debug_call(("draw_bitmap (%dx%d -> %x,%x)\n", bmp->x, bmp->y, x, y));
+ p.x = x;
+ p.y = pm_win(dev)->y - y - bmp->y;
+ if (p.x < -65535 + pm_win(dev)->x || p.x + bmp->x > 65535) return;
+ if (p.y < -65535 + pm_win(dev)->y || p.y + bmp->y > 65535) return;
+ WinDrawBitmap(pm_win(dev)->ps, (HBITMAP)bmp->flags, NULL, &p, 0, 1, DBM_NORMAL);
+ debug_call(("done\n"));
+}
+
+#if 0
+static void pm_draw_bitmaps(struct graphics_device *dev, struct bitmap **bmp, int n, int x, int y)
+{
+ HPS ps = pm_win(dev)->ps;
+ POINTL p;
+ debug_call(("draw_bitmaps\n"));
+ p.x = x;
+ p.y = pm_win(dev)->y - y - (*bmp)->y;
+ while (n--) {
+ WinDrawBitmap(ps, (HBITMAP)(*bmp)->flags, NULL, &p, 0xffffffff, 0, DBM_NORMAL);
+ p.x += (*bmp++)->x;
+ }
+ debug_call(("done\n"));
+}
+#endif
+
+static long pm_get_color(int rgb)
+{
+ return rgb & 0xffffff;
+}
+
+static void pm_fill_area(struct graphics_device *dev, int x1, int y1, int x2, int y2, long color)
+{
+ RECTL r;
+ debug_call(("fill_area (%d,%d)->(%d,%d)\n", x1, y1, x2, y2));
+ if (x1 >= pm_win(dev)->x) x1 = pm_win(dev)->x;
+ if (x1 < 0) x1 = 0;
+ if (x2 >= pm_win(dev)->x) x2 = pm_win(dev)->x;
+ if (x2 < 0) x2 = 0;
+ if (y1 >= pm_win(dev)->y) y1 = pm_win(dev)->y;
+ if (y1 < 0) y1 = 0;
+ if (y2 >= pm_win(dev)->y) y2 = pm_win(dev)->y;
+ if (y2 < 0) y2 = 0;
+ r.xLeft = x1;
+ r.yBottom = pm_win(dev)->y - y2;
+ r.xRight = x2;
+ r.yTop = pm_win(dev)->y - y1;
+ WinFillRect(pm_win(dev)->ps, &r, color);
+ debug_call(("done\n"));
+}
+
+static void pm_draw_hline(struct graphics_device *dev, int x1, int y, int x2, long color)
+{
+ HPS ps = pm_win(dev)->ps;
+ POINTL p;
+ debug_call(("draw_hline (%d,%d)->(%d)\n", x1, y, x2));
+ if (x1 >= x2) {
+ debug_call(("done\n"));
+ return;
+ }
+ if (x1 >= pm_win(dev)->x) x1 = pm_win(dev)->x;
+ if (x1 < 0) x1 = 0;
+ if (x2 >= pm_win(dev)->x) x2 = pm_win(dev)->x;
+ if (x2 < 0) x2 = 0;
+ if (y >= pm_win(dev)->y) y = pm_win(dev)->y;
+ if (y < 0) y = 0;
+ GpiSetColor(ps, color);
+ p.x = x1;
+ p.y = pm_win(dev)->y - y - 1;
+ GpiMove(ps, &p);
+ p.x = x2 - 1;
+ GpiLine(ps, &p);
+ debug_call(("done\n"));
+}
+
+static void pm_draw_vline(struct graphics_device *dev, int x, int y1, int y2, long color)
+{
+ HPS ps = pm_win(dev)->ps;
+ POINTL p;
+ debug_call(("draw_vline (%d,%d)->(%d)\n", x, y1, y2));
+ if (y1 >= y2) {
+ debug_call(("done\n"));
+ return;
+ }
+ if (x >= pm_win(dev)->x) x = pm_win(dev)->x;
+ if (x < 0) x = 0;
+ if (y1 >= pm_win(dev)->y) y1 = pm_win(dev)->y;
+ if (y1 < 0) y1 = 0;
+ if (y2 >= pm_win(dev)->y) y2 = pm_win(dev)->y;
+ if (y2 < 0) y2 = 0;
+ GpiSetColor(ps, color);
+ p.x = x;
+ p.y = pm_win(dev)->y - y1 - 1;
+ GpiMove(ps, &p);
+ p.y = pm_win(dev)->y - y2;
+ GpiLine(ps, &p);
+ debug_call(("done\n"));
+}
+
+static void pm_hscroll_redraws(struct pm_window *win, struct rect *r, int dir)
+{
+ struct pm_event *e;
+ pm_cancel_event(win, E_REDRAW, &e);
+ if (!e) return;
+ if (dir > 0) {
+ if (e->x2 > r->x1 && e->x2 < r->x2) {
+ e->x2 += dir;
+ if (e->x2 > r->x2) e->x2 = r->x2;
+ }
+ } else if (dir < 0) {
+ if (e->x1 > r->x1 && e->x1 < r->x2) {
+ e->x1 += dir;
+ if (e->x1 < r->x1) e->x1 = r->x1;
+ }
+ }
+}
+
+static int pm_hscroll(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ RECTL r;
+
+ debug_call(("hscroll (%d)\n", sc));
+ ignore=NULL;
+ r.xLeft = dev->clip.x1;
+ r.yBottom = pm_win(dev)->y - dev->clip.y2;
+ r.xRight = dev->clip.x2;
+ r.yTop = pm_win(dev)->y - dev->clip.y1;
+ pm_lock;
+ WinScrollWindow(pm_win(dev)->hc, sc, 0, &r, &r, NULLHANDLE, NULL, SW_INVALIDATERGN);
+ pm_hscroll_redraws(pm_win(dev), &dev->clip, sc);
+ pm_unlock;
+ debug_call(("done\n"));
+ return 0;
+}
+
+static void pm_vscroll_redraws(struct pm_window *win, struct rect *r, int dir)
+{
+ struct pm_event *e;
+ pm_cancel_event(win, E_REDRAW, &e);
+ if (!e) return;
+ if (dir > 0) {
+ if (e->y2 > r->y1 && e->y2 < r->y2) {
+ e->y2 += dir;
+ if (e->y2 > r->y2) e->y2 = r->y2;
+ }
+ } else if (dir < 0) {
+ if (e->y1 > r->y1 && e->y1 < r->y2) {
+ e->y1 += dir;
+ if (e->y1 < r->y1) e->y1 = r->y1;
+ }
+ }
+}
+
+static int pm_vscroll(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ RECTL r;
+
+ debug_call(("vscroll (%d)\n", sc));
+ ignore=NULL;
+ r.xLeft = dev->clip.x1;
+ r.yBottom = pm_win(dev)->y - dev->clip.y2;
+ r.xRight = dev->clip.x2;
+ r.yTop = pm_win(dev)->y - dev->clip.y1;
+ pm_lock;
+ WinScrollWindow(pm_win(dev)->hc, 0, -sc, &r, &r, NULLHANDLE, NULL, SW_INVALIDATERGN);
+ pm_vscroll_redraws(pm_win(dev), &dev->clip, sc);
+ pm_unlock;
+ debug_call(("done\n"));
+ return 0;
+}
+
+static void pm_set_clip_area(struct graphics_device *dev, struct rect *rr)
+{
+ HPS ps = pm_win(dev)->ps;
+ HRGN rg, org;
+ RECTL r;
+ debug_call(("set_clip_area (%d,%d)x(%d,%d)\n", rr->x1, rr->y1, rr->x2, rr->y2));
+ memcpy(&dev->clip, rr, sizeof(struct rect));
+ if (dev->clip.x1 >= dev->clip.x2 || dev->clip.y1 >= dev->clip.y2) dev->clip.x1 = dev->clip.x2 = dev->clip.y1 = dev->clip.y2 = 0;
+ r.xLeft = dev->clip.x1;
+ r.yBottom = pm_win(dev)->y - dev->clip.y2;
+ r.xRight = dev->clip.x2;
+ r.yTop = pm_win(dev)->y - dev->clip.y1;
+ if ((rg = GpiCreateRegion(ps, 1, &r)) == RGN_ERROR) return;
+ if (GpiSetClipRegion(ps, rg, &org) == RGN_ERROR) org = rg;
+ GpiDestroyRegion(ps, org);
+ debug_call(("done\n"));
+}
+
+struct graphics_driver pmshell_driver = {
+ "pmshell",
+ pm_init_driver,
+ pm_init_device,
+ pm_shutdown_device,
+ pm_shutdown_driver,
+ pm_get_driver_param,
+ pm_get_empty_bitmap,
+ /*pm_get_filled_bitmap,*/
+ pm_register_bitmap,
+ pm_prepare_strip,
+ pm_commit_strip,
+ pm_unregister_bitmap,
+ pm_draw_bitmap,
+ /*pm_draw_bitmaps,*/
+ pm_get_color,
+ pm_fill_area,
+ pm_draw_hline,
+ pm_draw_vline,
+ pm_hscroll,
+ pm_vscroll,
+ pm_set_clip_area,
+ dummy_block,
+ dummy_unblock,
+ pm_set_window_title,
+ NULL, /* exec */
+ NULL, /* set_clipboard_text */
+ NULL, /* get_clipboard_text */
+ 0, /* depth */
+ 0, 0, /* x, y */
+ 0, /* flags */
+ 0, /* codepage */
+ NULL, /* shell */
+};
+
+#endif
diff --git a/png.c b/png.c
new file mode 100644
index 0000000..7ed1563
--- /dev/null
+++ b/png.c
@@ -0,0 +1,259 @@
+/* png.c
+ * PNG decoding
+ * (c) 2002 Karel 'Clock' Kulhavy
+ * This is a part of the Links program, released under GPL.
+ */
+#include "cfg.h"
+
+#ifdef G
+#include "links.h"
+
+#ifdef HAVE_ENDIAN_H
+#include <endian.h>
+#endif /* #ifdef HAVE_ENDIAN_H */
+
+#ifdef REPACK_16
+#undef REPACK_16
+#endif /* #ifdef REPACK_16 */
+
+#if SIZEOF_UNSIGNED_SHORT != 2
+#define REPACK_16
+#endif /* #if SIZEOF_UNSIGNED_SHORT != 2 */
+
+#ifndef REPACK_16
+#ifndef C_LITTLE_ENDIAN
+#ifndef C_BIG_ENDIAN
+#define REPACK_16
+#endif /* #ifndef C_BIG_ENDIAN */
+#endif /* #ifndef C_LITTLE_ENDIAN */
+#endif /* #ifndef REPACK_16 */
+
+/* Decoder structs */
+
+/* Warning for from-web PNG images */
+static void img_my_png_warning(png_structp a, png_const_charp b)
+{
+}
+
+/* Error for from-web PNG images. */
+static void img_my_png_error(png_structp png_ptr, png_const_charp error_string)
+{
+#if (PNG_LIBPNG_VER < 10500)
+ longjmp(png_ptr->jmpbuf,1);
+#else
+ png_longjmp(png_ptr,1);
+#endif
+}
+
+static void png_info_callback(png_structp png_ptr, png_infop info_ptr)
+{
+ int bit_depth, color_type, intent;
+ double gamma;
+ int bytes_per_pixel=3;
+ struct cached_image *cimg;
+
+ cimg=global_cimg;
+
+ bit_depth=png_get_bit_depth(png_ptr, info_ptr);
+ color_type=png_get_color_type(png_ptr, info_ptr);
+ if (color_type == PNG_COLOR_TYPE_PALETTE)
+ png_set_expand(png_ptr);
+ if (color_type == PNG_COLOR_TYPE_GRAY &&
+ bit_depth < 8) png_set_expand(png_ptr);
+ if (png_get_valid(png_ptr, info_ptr,
+ PNG_INFO_tRNS)){
+ png_set_expand(png_ptr); /* Legacy version of
+ png_set_tRNS_to_alpha(png_ptr); */
+ bytes_per_pixel++;
+ }
+ if (color_type == PNG_COLOR_TYPE_GRAY ||
+ color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+ png_set_gray_to_rgb(png_ptr);
+ if (bit_depth==16){
+#ifndef REPACK_16
+#ifdef C_LITTLE_ENDIAN
+ /* We use native endianity only if unsigned short is 2-byte
+ * because otherwise we have to reassemble the buffer so we
+ * will leave in the libpng-native big endian.
+ */
+ png_set_swap(png_ptr);
+#endif /* #ifdef C_LITTLE_ENDIAN */
+#endif /* #ifndef REPACK_16 */
+ bytes_per_pixel*=sizeof(unsigned short);
+ }
+ png_set_interlace_handling(png_ptr);
+ if (color_type==PNG_COLOR_TYPE_RGB_ALPHA
+ ||color_type==PNG_COLOR_TYPE_GRAY_ALPHA){
+ if (bytes_per_pixel==3
+ ||bytes_per_pixel==3*sizeof(unsigned short))
+ bytes_per_pixel=4*bytes_per_pixel/3;
+ }
+ cimg->width=png_get_image_width(png_ptr,info_ptr);
+ cimg->height=png_get_image_height(png_ptr,info_ptr);
+ cimg->buffer_bytes_per_pixel=bytes_per_pixel;
+ if (png_get_sRGB(png_ptr, info_ptr, &intent)){
+ gamma=sRGB_gamma;
+ }
+ else
+ {
+ if (!png_get_gAMA(png_ptr, info_ptr, &gamma)){
+ gamma=sRGB_gamma;
+ }
+ }
+ cimg->red_gamma=gamma;
+ cimg->green_gamma=gamma;
+ cimg->blue_gamma=gamma;
+ png_read_update_info(png_ptr,info_ptr);
+ cimg->strip_optimized=0;
+ if (header_dimensions_known(cimg))
+ img_my_png_error(png_ptr, "bad image size");
+}
+
+#ifdef REPACK_16
+/* Converts unsigned shorts to doublechars (in big endian) */
+static void a2char_from_unsigned_short(unsigned char *chr, unsigned short *shrt, int len)
+{
+ unsigned short s;
+
+ for (;len;len--,shrt++,chr+=2){
+ s=*shrt;
+ *chr=s>>8;
+ chr[1]=s;
+ }
+}
+
+/* Converts doublechars (in big endian) to unsigned shorts */
+static void unsigned_short_from_2char(unsigned short *shrt, unsigned char *chr, int len)
+{
+ unsigned short s;
+
+ for (;len;len--,shrt++,chr+=2){
+ s=((*chr)<<8)|chr[1];
+ *shrt=s;
+ }
+}
+#endif
+
+static void png_row_callback(png_structp png_ptr, png_bytep new_row, png_uint_32
+ row_num, int pass)
+{
+ struct cached_image *cimg;
+#ifdef REPACK_16
+ unsigned char *tmp;
+ int channels;
+#endif /* #ifdef REPACK_16 */
+
+ cimg=global_cimg;
+#ifdef REPACK_16
+ if (cimg->buffer_bytes_per_pixel>4)
+ {
+ channels=cimg->buffer_bytes_per_pixel/sizeof(unsigned
+ short);
+ if (PNG_INTERLACE_NONE==png_get_interlace_type(png_ptr,
+ ((struct png_decoder *)cimg->decoder)->info_ptr))
+ {
+ unsigned_short_from_2char((unsigned short *)(cimg->buffer+cimg
+ ->buffer_bytes_per_pixel *cimg->width
+ *row_num), new_row, cimg->width
+ *channels);
+ }else{
+ if ((unsigned)cimg->width > MAXINT / 2 / channels) overalloc();
+ tmp=mem_alloc(cimg->width*2*channels);
+ a2char_from_unsigned_short(tmp, (unsigned short *)(cimg->buffer
+ +cimg->buffer_bytes_per_pixel
+ *cimg->width*row_num), cimg->width*channels);
+ png_progressive_combine_row(png_ptr, tmp, new_row);
+ unsigned_short_from_2char((unsigned short *)(cimg->buffer
+ +cimg->buffer_bytes_per_pixel
+ *cimg->width*row_num), tmp, cimg->width*channels);
+ mem_free(tmp);
+ }
+ }else
+#endif /* #ifdef REPACK_16 */
+ {
+ png_progressive_combine_row(png_ptr,
+ cimg->buffer+cimg->buffer_bytes_per_pixel
+ *cimg->width*row_num, new_row);
+ }
+ cimg->rows_added=1;
+}
+
+static void png_end_callback(png_structp png_ptr, png_infop info)
+{
+ end_callback_hit=1;
+}
+
+/* Decoder structs */
+
+void png_start(struct cached_image *cimg)
+{
+ png_structp png_ptr;
+ png_infop info_ptr;
+ struct png_decoder *decoder;
+
+ retry1:
+ png_ptr=png_create_read_struct(PNG_LIBPNG_VER_STRING,
+ NULL, img_my_png_error, img_my_png_warning);
+ if (!png_ptr) {
+ if (out_of_memory(NULL, 0)) goto retry1;
+ error("png_create_read_struct failed");
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+ retry2:
+ info_ptr=png_create_info_struct(png_ptr);
+ if (!info_ptr) {
+ if (out_of_memory(NULL, 0)) goto retry2;
+ error("png_create_info_struct failed");
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+ if (setjmp(png_jmpbuf(png_ptr))){
+error:
+ png_destroy_read_struct(&png_ptr, &info_ptr,
+ (png_infopp)NULL);
+ img_end(cimg);
+ return;
+ }
+ png_set_progressive_read_fn(png_ptr, NULL,
+ png_info_callback, &png_row_callback,
+ png_end_callback);
+ if (setjmp(png_jmpbuf(png_ptr))) goto error;
+ decoder=mem_alloc(sizeof(*decoder));
+ decoder->png_ptr=png_ptr;
+ decoder->info_ptr=info_ptr;
+ cimg->decoder=decoder;
+}
+
+void png_restart(struct cached_image *cimg, unsigned char *data, int length)
+{
+ png_structp png_ptr;
+ png_infop info_ptr;
+
+#ifdef DEBUG
+ if (!cimg->decoder)
+ internal("decoder NULL in png_restart\n");
+#endif /* #ifdef DEBUG */
+ png_ptr=((struct png_decoder *)(cimg->decoder))->png_ptr;
+ info_ptr=((struct png_decoder *)(cimg->decoder))->info_ptr;
+ end_callback_hit=0;
+ if (setjmp(png_jmpbuf(png_ptr))){
+ img_end(cimg);
+ return;
+ }
+ png_process_data(png_ptr, info_ptr, data, length);
+ if (end_callback_hit) img_end(cimg);
+}
+
+void add_png_version(unsigned char **s, int *l)
+{
+ add_to_str(s, l, "PNG (");
+#ifdef HAVE_PNG_GET_LIBPNG_VER
+ add_to_str(s, l, (unsigned char *)png_get_libpng_ver(NULL));
+#else
+ add_to_str(s, l, PNG_LIBPNG_VER_STRING);
+#endif
+ add_to_str(s, l, ")");
+}
+
+#endif /* #ifdef G */
diff --git a/rebuild b/rebuild
new file mode 100755
index 0000000..b901767
--- /dev/null
+++ b/rebuild
@@ -0,0 +1,115 @@
+#!/bin/sh
+# rebuild
+# (c) 2002 Karel 'Clock' Kulhavy, Mikulas Patocka, Petr 'Brain' Kulhavy
+# This file is a part of the Links program, released under GPL.
+
+make=make
+if which gmake 2>/dev/null >/dev/null && gmake --version | grep -i "GNU Make" >/dev/null
+then
+echo Found GNU Make under gmake. Going to use gmake instead of make.
+make=gmake
+fi
+
+if which autoheader-2.13 2>/dev/null >/dev/null
+then
+autoheader="autoheader-2.13"
+else
+autoheader="autoheader"
+fi
+
+if [ "$1" = reconf ]; then
+ if ! which pkg-config 2>/dev/null >/dev/null
+ then
+ echo Warning: You don\'t have pkg-config. The PKG_CHECK_MODULES macro will probably fail. >&2
+ fi
+
+ if ! which autoconf 2>/dev/null >/dev/null
+ then
+ echo You don\'t have autoconf. Wiping out. >&2
+ exit 1
+ fi
+
+ if ! autoconf --version | grep -i "GNU Autoconf" >/dev/null
+ then
+ echo This looks like autoconf installed on OpenBSD. >&2
+ if ! AUTOCONF_VERSION=2.13 autoconf --version 2>/dev/null >/dev/null
+ then
+ echo Autoconf 2.13 is not found. This script needs at most autoconf 2.13. \
+ Trying with some other \(random\) autoconf. >&2
+ path=`echo "$PATH" | tr -s ':' '\n'`
+ alt=`find $path -name 'autoconf*' -and ! -name autoconf | head -n 1`
+ if [ -z "$alt" ]
+ then
+ echo Cannot find the real autoconf >&2
+ exit 1
+ fi
+ export AUTOCONF_VERSION=`echo $alt | sed -e 's/^.*autoconf-//g'`
+ echo Found $alt. Setting AUTOCONF_VERSION to $AUTOCONF_VERSION.>&2
+ else
+ echo Found Autoconf 2.13. It should work. >&2
+ export AUTOCONF_VERSION=2.13
+ fi
+ fi
+
+ if ! automake --version | grep -i "GNU automake" >/dev/null
+ then
+ echo This looks like automake installed on OpenBSD. >&2
+ export AUTOMAKE_VERSION=1.4
+ if ! automake --version 2>/dev/null >/dev/null
+ then
+ echo Automake 1.4 is needed. Wiping out. >&2
+ exit 1
+ fi
+ echo Found Automake 1.4. It should work. >&2
+ fi
+fi
+
+rm -f config.h Makefile config.cache &&
+if [ "$1" = reconf ]; then
+ echo NEPOUZIVAT pokud nebylo zmeneno configure.in nebo Makefile.am !!! &&
+ echo DO NOT use unless configure.in or Makefile.am has been changed !!! &&
+ echo rebuild reconf se NESMI prerusit protoze pak by pri nasledujicim commitu byly commitnuty spatne dependence a pri kompilaci by tise vznikaly zahadne neodladitelne chyby!!! &&
+ echo rebuild reconf MUST NOT be interrupted because after the following commit bad dependencies would be commited and during compilation, mysterious and undebuggable bugs would originate!!! &&
+ echo Timto mistoprisezne prohlasuji ze toto skutecne nastalo a ze proces neprerusim. &&
+ echo I hereby affirm that this really has happened and I won\'t break the process. &&
+ read kecy &&
+ if [ "$kecy" = "ano" -o "$kecy" = "Ano" -o "$kecy" = "yes" -o "$kecy" = "Yes" ]; then
+ echo Zodpovednost prijata. &&
+ echo Responsibility accepted. &&
+ rm -rf .deps missing depcomp aclocal.m4 &&
+ $autoheader &&
+ rm -f autoh* &&
+ aclocal &&
+ automake --add-missing &&
+ sed 's%sed '\''s/\\\.am\$/\.in/'\''%sed '\''s/\\\.[aA][mM]\$/\.in/'\''%' <missing >missing.tmp &&
+ mv -f missing.tmp missing &&
+ chmod a+x missing &&
+ autoconf
+ else
+ exit
+ fi
+fi &&
+if [ "$1" = reconf_aby_to_brain_nepouzival ]; then
+ echo "Mikulasi, vyser si voko!" &&
+ exit
+fi &&
+#cd Unicode;./gen; cd ..
+#cd intl; ./synclang; cd ..
+export CFLAGS="$CFLAGS -Wall -g -O2 -pipe -ansi -U__STRICT_ANSI__ -fno-common" &&
+#export CFLAGS="-Wall -g -O2 -pipe"
+export CXXFLAGS="$CXXFLAGS -Wall -g -O2 -pipe" &&
+./configure --enable-graphics --enable-debuglevel=2 &&
+$make clean &&
+$make &&
+if [ "$1" = reconf ]; then
+ $autoheader &&
+ automake --add-missing --include-deps --build-dir=. --srcdir-name=. --output-dir=. &&
+ sed 's%sed '\''s/\\\.am\$/\.in/'\''%sed '\''s/\\\.[aA][mM]\$/\.in/'\''%' <missing >missing.tmp &&
+ mv -f missing.tmp missing &&
+ chmod a+x missing &&
+ sed -n '{h;s/X11R6/X11R7/p;x;p;}' <configure >configure.tmp &&
+ mv -f configure.tmp configure &&
+ chmod a+x configure &&
+ ./configure --enable-graphics
+ if [ $? != 0 ]; then echo CONFIGURE FAILED; exit 1; fi
+fi
diff --git a/sched.c b/sched.c
new file mode 100644
index 0000000..8a9caa3
--- /dev/null
+++ b/sched.c
@@ -0,0 +1,1026 @@
+/* sched.c
+ * Links internal scheduler
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+static tcount connection_count = 0;
+
+static int active_connections = 0;
+
+struct list_head queue = {&queue, &queue};
+
+struct h_conn {
+ struct h_conn *next;
+ struct h_conn *prev;
+ unsigned char *host;
+ int conn;
+};
+
+static struct list_head h_conns = {&h_conns, &h_conns};
+
+struct list_head keepalive_connections = {&keepalive_connections, &keepalive_connections};
+
+/* prototypes */
+static void send_connection_info(struct connection *c);
+static void check_keepalive_connections(void);
+
+unsigned long connect_info(int type)
+{
+ int i = 0;
+ struct connection *ce;
+ struct k_conn *cee;
+ switch (type) {
+ case CI_FILES:
+ foreach(ce, queue) i++;
+ return i;
+ case CI_CONNECTING:
+ foreach(ce, queue) i += ce->state > S_WAIT && ce->state < S_TRANS;
+ return i;
+ case CI_TRANSFER:
+ foreach(ce, queue) i += ce->state == S_TRANS;
+ return i;
+ case CI_KEEP:
+ check_keepalive_connections();
+ foreach(cee, keepalive_connections) i++;
+ return i;
+ case CI_LIST:
+ return (long) &queue;
+ default:
+ internal("connect_info: bad request");
+ }
+ return 0;
+}
+
+static int connection_disappeared(struct connection *c, tcount count)
+{
+ struct connection *d;
+ foreach(d, queue) if (c == d && count == d->count) return 0;
+ return 1;
+}
+
+static struct h_conn *is_host_on_list(struct connection *c)
+{
+ unsigned char *ho;
+ struct h_conn *h;
+ if (!(ho = get_host_name(c->url))) return NULL;
+ foreach(h, h_conns) if (!strcmp(h->host, ho)) {
+ mem_free(ho);
+ return h;
+ }
+ mem_free(ho);
+ return NULL;
+}
+
+static int st_r = 0;
+
+static void stat_timer(struct connection *c)
+{
+ struct remaining_info *r = &c->prg;
+ ttime a = (uttime)get_time() - (uttime)r->last_time;
+ if (getpri(c) == PRI_CANCEL && (c->est_length > (longlong)memory_cache_size * MAX_CACHED_OBJECT || c->from > (longlong)memory_cache_size * MAX_CACHED_OBJECT)) register_bottom_half(check_queue, NULL);
+ if (c->state > S_WAIT) {
+ r->loaded = c->received;
+ if ((r->size = c->est_length) < (r->pos = c->from) && r->size != -1)
+ r->size = c->from;
+ r->dis_b += (uttime)a;
+ while (r->dis_b >= SPD_DISP_TIME * CURRENT_SPD_SEC) {
+ r->cur_loaded -= r->data_in_secs[0];
+ memmove(r->data_in_secs, r->data_in_secs + 1, sizeof(int) * (CURRENT_SPD_SEC - 1));
+ r->data_in_secs[CURRENT_SPD_SEC - 1] = 0;
+ r->dis_b -= (uttime)SPD_DISP_TIME;
+ }
+ r->data_in_secs[CURRENT_SPD_SEC - 1] += r->loaded - r->last_loaded;
+ r->cur_loaded += (uttime)r->loaded - (uttime)r->last_loaded;
+ r->last_loaded = (uttime)r->loaded;
+ r->elapsed += (uttime)a;
+ }
+ r->last_time += (uttime)a;
+ r->timer = install_timer(SPD_DISP_TIME, (void (*)(void *))stat_timer, c);
+ if (!st_r) send_connection_info(c);
+}
+
+void setcstate(struct connection *c, int state)
+{
+ struct status *stat;
+ if (c->state < 0 && state >= 0) c->prev_error = c->state;
+ if ((c->state = state) == S_TRANS) {
+ struct remaining_info *r = &c->prg;
+ if (r->timer == -1) {
+ tcount count = c->count;
+ if (!r->valid) {
+ memset(r, 0, sizeof(struct remaining_info));
+ r->valid = 1;
+ }
+ r->last_time = get_time();
+ r->last_loaded = r->loaded;
+ st_r = 1;
+ stat_timer(c);
+ st_r = 0;
+ if (connection_disappeared(c, count)) return;
+ }
+ } else {
+ struct remaining_info *r = &c->prg;
+ if (r->timer != -1) kill_timer(r->timer), r->timer = -1;
+ }
+ foreach(stat, c->statuss) {
+ stat->state = state;
+ stat->prev_error = c->prev_error;
+ }
+ if (state >= 0) send_connection_info(c);
+}
+
+static struct k_conn *is_host_on_keepalive_list(struct connection *c)
+{
+ unsigned char *ho;
+ int po;
+ void (*ph)(struct connection *);
+ struct k_conn *h;
+ if ((po = get_port(c->url)) == -1) return NULL;
+ if (!(ph = get_protocol_handle(c->url))) return NULL;
+ if (!(ho = get_host_and_pass(c->url))) return NULL;
+ foreach(h, keepalive_connections)
+ if (h->protocol == ph && h->port == po && !strcmp(h->host, ho)) {
+ mem_free(ho);
+ return h;
+ }
+ mem_free(ho);
+ return NULL;
+}
+
+int get_keepalive_socket(struct connection *c)
+{
+ struct k_conn *k;
+ int cc;
+ if (c->tries > 0 || c->unrestartable) return -1;
+ if (!(k = is_host_on_keepalive_list(c))) return -1;
+ cc = k->conn;
+ del_from_list(k);
+ mem_free(k->host);
+ mem_free(k);
+ c->sock1 = cc;
+ if (max_tries == 1) c->tries = -1;
+ return 0;
+}
+
+void abort_all_keepalive_connections(void)
+{
+ struct k_conn *k;
+ int rs;
+ foreach(k, keepalive_connections) {
+ mem_free(k->host);
+ EINTRLOOP(rs, close(k->conn));
+ }
+ free_list(keepalive_connections);
+ check_keepalive_connections();
+}
+
+static void free_connection_data(struct connection *c)
+{
+ struct h_conn *h;
+ int rs;
+ if (c->sock1 != -1) set_handlers(c->sock1, NULL, NULL, NULL, NULL);
+ if (c->sock2 != -1) set_handlers(c->sock2, NULL, NULL, NULL, NULL);
+ close_socket(&c->sock2);
+ if (c->pid) {
+ EINTRLOOP(rs, kill(c->pid, SIGINT));
+ EINTRLOOP(rs, kill(c->pid, SIGTERM));
+ EINTRLOOP(rs, kill(c->pid, SIGKILL));
+ c->pid = 0;
+ }
+ if (!c->running) {
+ internal("connection already suspended");
+ }
+ c->running = 0;
+ if (c->dnsquery) kill_dns_request(&c->dnsquery);
+ if (c->buffer) {
+ mem_free(c->buffer);
+ c->buffer = NULL;
+ }
+ if (c->newconn) {
+ mem_free(c->newconn);
+ c->newconn = NULL;
+ }
+ if (c->info) {
+ mem_free(c->info);
+ c->info = NULL;
+ }
+ if (c->timer != -1) kill_timer(c->timer), c->timer = -1;
+ if (--active_connections < 0) {
+ internal("active connections underflow");
+ active_connections = 0;
+ }
+ if (c->state != S_WAIT) {
+ if ((h = is_host_on_list(c))) {
+ if (!--h->conn) {
+ del_from_list(h);
+ mem_free(h->host);
+ mem_free(h);
+ }
+ } else internal("suspending connection that is not on the list (state %d)", c->state);
+ }
+}
+
+static void send_connection_info(struct connection *c)
+{
+ int st = c->state;
+ tcount count = c->count;
+ struct status *stat = c->statuss.next;
+ while ((void *)stat != &c->statuss) {
+ stat->ce = c->cache;
+ stat = stat->next;
+ if (stat->prev->end) stat->prev->end(stat->prev, stat->prev->data);
+ if (st >= 0 && connection_disappeared(c, count)) return;
+ }
+}
+
+static void del_connection(struct connection *c)
+{
+ struct cache_entry *ce = c->cache;
+ if (ce) ce->refcount++;
+ del_from_list(c);
+ send_connection_info(c);
+ if (ce) ce->refcount--;
+ if (c->detached) {
+ if (ce && !ce->url[0] && !is_entry_used(ce) && !ce->refcount)
+ delete_cache_entry(ce);
+ } else {
+ if (ce)
+ trim_cache_entry(ce);
+ }
+ mem_free(c->url);
+ if (c->prev_url) mem_free(c->prev_url);
+ mem_free(c);
+}
+
+#ifdef DEBUG
+static void check_queue_bugs(void);
+#endif
+
+void add_keepalive_socket(struct connection *c, ttime timeout)
+{
+ struct k_conn *k;
+ int rs;
+ free_connection_data(c);
+ if (c->sock1 == -1) {
+ internal("keepalive connection not connected");
+ goto del;
+ }
+ k = mem_alloc(sizeof(struct k_conn));
+ if ((k->port = get_port(c->url)) == -1 || !(k->protocol = get_protocol_handle(c->url)) || !(k->host = get_host_and_pass(c->url))) {
+ mem_free(k);
+ del_connection(c);
+ goto close;
+ }
+ k->conn = c->sock1;
+ k->timeout = timeout;
+ k->add_time = get_time();
+ add_to_list(keepalive_connections, k);
+ del:
+ del_connection(c);
+#ifdef DEBUG
+ check_queue_bugs();
+#endif
+ register_bottom_half(check_queue, NULL);
+ return;
+ close:
+ EINTRLOOP(rs, close(c->sock1));
+#ifdef DEBUG
+ check_queue_bugs();
+#endif
+ register_bottom_half(check_queue, NULL);
+}
+
+static void del_keepalive_socket(struct k_conn *kc)
+{
+ int rs;
+ del_from_list(kc);
+ EINTRLOOP(rs, close(kc->conn));
+ mem_free(kc->host);
+ mem_free(kc);
+}
+
+static int keepalive_timeout = -1;
+
+static void keepalive_timer(void *x)
+{
+ keepalive_timeout = -1;
+ check_keepalive_connections();
+}
+
+static void check_keepalive_connections(void)
+{
+ struct k_conn *kc;
+ ttime ct = get_time();
+ int p = 0;
+ if (keepalive_timeout != -1) kill_timer(keepalive_timeout), keepalive_timeout = -1;
+ foreach(kc, keepalive_connections) if (can_read(kc->conn) || (uttime)ct - (uttime)kc->add_time > (uttime)kc->timeout) {
+ kc = kc->prev;
+ del_keepalive_socket(kc->next);
+ } else p++;
+ for (; p > MAX_KEEPALIVE_CONNECTIONS; p--)
+ if (!list_empty(keepalive_connections))
+ del_keepalive_socket(keepalive_connections.prev);
+ else internal("keepalive list empty");
+ if (!list_empty(keepalive_connections)) keepalive_timeout = install_timer(KEEPALIVE_CHECK_TIME, keepalive_timer, NULL);
+}
+
+static void add_to_queue(struct connection *c)
+{
+ struct connection *cc;
+ int pri = getpri(c);
+ foreach(cc, queue) if (getpri(cc) > pri) break;
+ add_at_pos(cc->prev, c);
+}
+
+static void sort_queue(void)
+{
+ struct connection *c, *n;
+ int swp;
+ do {
+ swp = 0;
+ foreach(c, queue) if ((void *)c->next != &queue) {
+ if (getpri(c->next) < getpri(c)) {
+ n = c->next;
+ del_from_list(c);
+ add_at_pos(n, c);
+ swp = 1;
+ }
+ }
+ } while (swp);
+}
+
+static void interrupt_connection(struct connection *c)
+{
+#ifdef HAVE_SSL
+ if (c->ssl == (void *)-1) c->ssl = NULL;
+ if (c->ssl) {
+ SSL_free(c->ssl);
+ c->ssl = NULL;
+ }
+#endif
+ if (c->sock1 != -1) set_handlers(c->sock1, NULL, NULL, NULL, NULL);
+ close_socket(&c->sock1);
+ free_connection_data(c);
+}
+
+static void suspend_connection(struct connection *c)
+{
+ interrupt_connection(c);
+ setcstate(c, S_WAIT);
+}
+
+static int try_to_suspend_connection(struct connection *c, unsigned char *ho)
+{
+ int pri = getpri(c);
+ struct connection *d;
+ foreachback(d, queue) {
+ if (getpri(d) <= pri) return -1;
+ if (d->state == S_WAIT) continue;
+ if (d->unrestartable == 2 && getpri(d) < PRI_CANCEL) continue;
+ if (ho) {
+ unsigned char *h;
+ if (!(h = get_host_name(d->url))) continue;
+ if (strcmp(h, ho)) {
+ mem_free(h);
+ continue;
+ }
+ mem_free(h);
+ }
+ suspend_connection(d);
+ return 0;
+ }
+ return -1;
+}
+
+static void run_connection(struct connection *c)
+{
+ struct h_conn *hc;
+ void (*func)(struct connection *);
+ if (c->running) {
+ internal("connection already running");
+ return;
+ }
+
+ if (is_url_blocked(c->url)) {
+ setcstate(c, S_BLOCKED_URL);
+ del_connection(c);
+ return;
+ }
+
+ safe_strncpy(c->socks_proxy, proxies.socks_proxy, sizeof c->socks_proxy);
+
+ if (proxies.only_proxies && casecmp(c->url, "proxy://", 8) && (!*c->socks_proxy || url_bypasses_socks(c->url))) {
+ setcstate(c, S_NO_PROXY);
+ del_connection(c);
+ return;
+ }
+
+ if (!(func = get_protocol_handle(c->url))) {
+ setcstate(c, S_BAD_URL);
+ del_connection(c);
+ return;
+ }
+ if (!(hc = is_host_on_list(c))) {
+ hc = mem_alloc(sizeof(struct h_conn));
+ if (!(hc->host = get_host_name(c->url))) {
+ setcstate(c, S_BAD_URL);
+ del_connection(c);
+ mem_free(hc);
+ return;
+ }
+ hc->conn = 0;
+ add_to_list(h_conns, hc);
+ }
+ hc->conn++;
+ active_connections++;
+ c->running = 1;
+ func(c);
+}
+
+static int is_connection_seekable(struct connection *c)
+{
+ unsigned char *protocol = get_protocol_name(c->url);
+ if (!strcasecmp(protocol, "http") || !strcasecmp(protocol, "https") ||
+ !strcasecmp(protocol, "proxy")) {
+ unsigned char *d;
+ mem_free(protocol);
+ if (!c->cache || !c->cache->head)
+ return 1;
+ d = parse_http_header(c->cache->head, "Accept-Ranges", NULL);
+ if (d) {
+ mem_free(d);
+ return 1;
+ }
+ return 0;
+ }
+ if (!strcasecmp(protocol, "ftp")) {
+ mem_free(protocol);
+ return 1;
+ }
+ mem_free(protocol);
+ return 0;
+}
+
+int is_connection_restartable(struct connection *c)
+{
+ return !(c->unrestartable >= 2 || (c->tries + 1 >= (max_tries ? max_tries : 1000)));
+}
+
+int is_last_try(struct connection *c)
+{
+ int is_restartable;
+ c->tries++;
+ is_restartable = is_connection_restartable(c) && c->tries < 10;
+ c->tries--;
+ return !is_restartable;
+}
+
+void retry_connection(struct connection *c)
+{
+ interrupt_connection(c);
+ if (!is_connection_restartable(c)) {
+ del_connection(c);
+#ifdef DEBUG
+ check_queue_bugs();
+#endif
+ register_bottom_half(check_queue, NULL);
+ } else {
+ c->tries++;
+ c->prev_error = c->state;
+ run_connection(c);
+ }
+}
+
+void abort_connection(struct connection *c)
+{
+ if (c->running) interrupt_connection(c);
+ del_connection(c);
+#ifdef DEBUG
+ check_queue_bugs();
+#endif
+ register_bottom_half(check_queue, NULL);
+}
+
+static int try_connection(struct connection *c)
+{
+ struct h_conn *hc = NULL;
+ if ((hc = is_host_on_list(c))) {
+ if (hc->conn >= max_connections_to_host) {
+ if (try_to_suspend_connection(c, hc->host)) return 0;
+ else return -1;
+ }
+ }
+ if (active_connections >= max_connections) {
+ if (try_to_suspend_connection(c, NULL)) return 0;
+ else return -1;
+ }
+ run_connection(c);
+ return 1;
+}
+
+#ifdef DEBUG
+static void check_queue_bugs(void)
+{
+ struct connection *d;
+ int p = 0, ps = 0;
+ int cc;
+ again:
+ cc = 0;
+ foreach(d, queue) {
+ int q = getpri(d);
+ cc += d->running;
+ if (q < p) {
+ if (!ps) {
+ internal("queue is not sorted");
+ sort_queue();
+ ps = 1;
+ goto again;
+ } else {
+ internal("queue is not sorted even after sort_queue!");
+ break;
+ }
+ } else p = q;
+ if (d->state < 0) {
+ internal("interrupted connection on queue (conn %s, state %d)", d->url, d->state);
+ d = d->prev;
+ abort_connection(d->next);
+ }
+ }
+ if (cc != active_connections) {
+ internal("bad number of active connections (counted %d, stored %d)", cc, active_connections);
+ active_connections = cc;
+ }
+}
+#endif
+
+void check_queue(void *dummy)
+{
+ struct connection *c;
+ again:
+ c = queue.next;
+#ifdef DEBUG
+ check_queue_bugs();
+#endif
+ check_keepalive_connections();
+ while (c != (struct connection *)(void *)&queue) {
+ struct connection *d;
+ int cp = getpri(c);
+ for (d = c; d != (struct connection *)(void *)&queue && getpri(d) == cp;) {
+ struct connection *dd = d; d = d->next;
+ if (!dd->state) if (is_host_on_keepalive_list(dd)) {
+ if (try_connection(dd)) goto again;
+ }
+ }
+ for (d = c; d != (struct connection *)(void *)&queue && getpri(d) == cp;) {
+ struct connection *dd = d; d = d->next;
+ if (!dd->state) {
+ if (try_connection(dd)) goto again;
+ }
+ }
+ c = d;
+ }
+ again2:
+ foreachback(c, queue) {
+ if (getpri(c) < PRI_CANCEL) break;
+ if (c->state == S_WAIT) {
+ setcstate(c, S_INTERRUPTED);
+ del_connection(c);
+ goto again2;
+ } else if (c->est_length > (longlong)memory_cache_size * MAX_CACHED_OBJECT || c->from > (longlong)memory_cache_size * MAX_CACHED_OBJECT) {
+ setcstate(c, S_INTERRUPTED);
+ abort_connection(c);
+ goto again2;
+ }
+ }
+#ifdef DEBUG
+ check_queue_bugs();
+#endif
+}
+
+unsigned char *get_proxy(unsigned char *url)
+{
+ size_t l = strlen(url);
+ unsigned char *proxy = NULL;
+ unsigned char *u;
+ if (*proxies.http_proxy && l >= 7 && !casecmp(url, "http://", 7)) proxy = proxies.http_proxy;
+ if (*proxies.ftp_proxy && l >= 6 && !casecmp(url, "ftp://", 6)) proxy = proxies.ftp_proxy;
+ u = mem_alloc(l + 1 + (proxy ? strlen(proxy) + 9 : 0));
+ if (proxy) strcpy(u, "proxy://"), strcat(u, proxy), strcat(u, "/");
+ else *u = 0;
+ strcat(u, url);
+ return u;
+}
+
+/* prev_url is a pointer to previous url or NULL */
+/* prev_url will NOT be deallocated */
+void load_url(unsigned char *url, unsigned char *prev_url, struct status *stat, int pri, int no_cache, int no_compress, off_t position)
+{
+ struct cache_entry *e = NULL;
+ struct connection *c;
+ unsigned char *u;
+ int must_detach = 0;
+ if (stat) stat->c = NULL, stat->ce = NULL, stat->pri = pri;
+#ifdef DEBUG
+ foreach(c, queue) {
+ struct status *st;
+ foreach (st, c->statuss) {
+ if (st == stat) {
+ internal("status already assigned to '%s'", c->url);
+ stat->state = S_INTERNAL;
+ if (stat->end) stat->end(stat, stat->data);
+ return;
+ }
+ }
+ }
+#endif
+ if (stat) stat->state = S_OUT_OF_MEM, stat->prev_error = 0;
+ if (no_cache <= NC_CACHE && !find_in_cache(url, &e)) {
+ if (e->incomplete) {
+ e->refcount--;
+ goto skip_cache;
+ }
+ if (!aggressive_cache && no_cache > NC_ALWAYS_CACHE) {
+ if (e->expire_time && e->expire_time < time(NULL)) {
+ if (no_cache < NC_IF_MOD) no_cache = NC_IF_MOD;
+ e->refcount--;
+ goto skip_cache;
+ }
+ }
+ if (no_compress) {
+ unsigned char *enc;
+ enc = parse_http_header(e->head, "Content-Encoding", NULL);
+ if (enc) {
+ mem_free(enc);
+ e->refcount--;
+ must_detach = 1;
+ goto skip_cache;
+ }
+ }
+ if (stat) {
+ stat->ce = e;
+ stat->state = S__OK;
+ if (stat->end) stat->end(stat, stat->data);
+ }
+ e->refcount--;
+ return;
+ }
+ skip_cache:
+ if (!casecmp(url, "proxy://", 8)) {
+ if (stat) {
+ stat->state = S_BAD_URL;
+ if (stat->end) stat->end(stat, stat->data);
+ }
+ return;
+ }
+ u = get_proxy(url);
+ foreach(c, queue) if (!c->detached && !strcmp(c->url, u)) {
+ if (c->from < position) continue;
+ if (no_compress && !c->no_compress) {
+ unsigned char *enc;
+ if ((c->state >= S_WAIT && c->state < S_TRANS) || !c->cache) {
+ must_detach = 1;
+ break;
+ }
+ enc = parse_http_header(c->cache->head, "Content-Encoding", NULL);
+ if (enc) {
+ mem_free(enc);
+ must_detach = 1;
+ break;
+ }
+ }
+ mem_free(u);
+ if (getpri(c) > pri) {
+ del_from_list(c);
+ c->pri[pri]++;
+ add_to_queue(c);
+ register_bottom_half(check_queue, NULL);
+ } else c->pri[pri]++;
+ if (stat) {
+ stat->prg = &c->prg;
+ stat->c = c;
+ stat->ce = c->cache;
+ add_to_list(c->statuss, stat);
+ setcstate(c, c->state);
+ }
+#ifdef DEBUG
+ check_queue_bugs();
+#endif
+ return;
+ }
+ c = mem_calloc(sizeof(struct connection));
+ c->count = connection_count++;
+ c->url = u;
+ c->prev_url = stracpy(prev_url);
+ c->running = 0;
+ c->prev_error = 0;
+ if (position || must_detach) {
+ c->from = position;
+ } else if (no_cache >= NC_IF_MOD || !e) {
+ c->from = 0;
+ } else {
+ struct fragment *frag;
+ c->from = 0;
+ foreach(frag, e->frag) {
+ if (frag->offset != c->from)
+ break;
+ c->from += frag->length;
+ }
+
+ }
+ memset(c->pri, 0, sizeof c->pri);
+ c->pri[pri] = 1;
+ c->no_cache = no_cache;
+ c->sock1 = c->sock2 = -1;
+ c->dnsquery = NULL;
+ c->info = NULL;
+ c->buffer = NULL;
+ c->newconn = NULL;
+ c->cache = NULL;
+ c->tries = 0;
+ init_list(c->statuss);
+ c->est_length = -1;
+ c->unrestartable = 0;
+#ifdef HAVE_ANY_COMPRESSION
+ c->no_compress = http_options.no_compression || no_compress;
+#else
+ c->no_compress = 1;
+#endif
+ c->prg.timer = -1;
+ c->timer = -1;
+ if (position || must_detach) {
+ if (new_cache_entry(c->url, &c->cache)) {
+ mem_free(c->url);
+ if (c->prev_url) mem_free(c->prev_url);
+ mem_free(c);
+ if (stat) {
+ stat->state = S_OUT_OF_MEM;
+ if (stat->end) stat->end(stat, stat->data);
+ }
+ return;
+ }
+ c->cache->refcount--;
+ detach_cache_entry(c->cache);
+ c->detached = 2;
+ }
+ if (stat) {
+ stat->prg = &c->prg;
+ stat->c = c;
+ stat->ce = NULL;
+ add_to_list(c->statuss, stat);
+ }
+ add_to_queue(c);
+ setcstate(c, S_WAIT);
+#ifdef DEBUG
+ check_queue_bugs();
+#endif
+ register_bottom_half(check_queue, NULL);
+}
+
+void change_connection(struct status *oldstat, struct status *newstat, int newpri)
+{ /* !!! FIXME: one object in more connections */
+ struct connection *c;
+ int oldpri;
+ if (!oldstat) {
+ internal("change_connection: oldstat == NULL");
+ return;
+ }
+ oldpri = oldstat->pri;
+ if (oldstat->state < 0) {
+ if (newstat) {
+ struct cache_entry *ce = oldstat->ce;
+ if (ce) ce->refcount++;
+ newstat->ce = oldstat->ce;
+ newstat->state = oldstat->state;
+ newstat->prev_error = oldstat->prev_error;
+ if (newstat->end) newstat->end(newstat, newstat->data);
+ if (ce) ce->refcount--;
+ }
+ return;
+ }
+#ifdef DEBUG
+ check_queue_bugs();
+#endif
+ c = oldstat->c;
+ if (--c->pri[oldpri] < 0) {
+ internal("priority counter underflow");
+ c->pri[oldpri] = 0;
+ }
+ c->pri[newpri]++;
+ del_from_list(oldstat);
+ oldstat->state = S_INTERRUPTED;
+ if (newstat) {
+ newstat->prg = &c->prg;
+ add_to_list(c->statuss, newstat);
+ newstat->state = c->state;
+ newstat->prev_error = c->prev_error;
+ newstat->pri = newpri;
+ newstat->c = c;
+ newstat->ce = c->cache;
+ }
+ if (c->detached && !newstat) {
+ setcstate(c, S_INTERRUPTED);
+ abort_connection(c);
+ }
+ sort_queue();
+#ifdef DEBUG
+ check_queue_bugs();
+#endif
+ register_bottom_half(check_queue, NULL);
+}
+
+void detach_connection(struct status *stat, off_t pos)
+{
+ struct connection *c;
+ int i;
+ off_t l;
+ if (stat->state < 0) return;
+ c = stat->c;
+ if (!c->cache) return;
+ if (c->detached) goto detach_done;
+ if (c->est_length == -1) l = c->from;
+ else l = c->est_length;
+ if (l < (longlong)memory_cache_size * MAX_CACHED_OBJECT && !(pos > c->from && is_connection_seekable(c))) return;
+ l = 0;
+ for (i = 0; i < PRI_CANCEL; i++) l += c->pri[i];
+ if (!l) internal("detaching free connection");
+ if (l != 1 || c->cache->refcount) return;
+ shrink_memory(SH_CHECK_QUOTA);
+ detach_cache_entry(c->cache);
+ c->detached = 1;
+ detach_done:
+ free_entry_to(c->cache, pos);
+
+ if (c->detached < 2 && pos > c->from && is_connection_seekable(c)) {
+ int running = c->running;
+ if (running) interrupt_connection(c);
+ c->from = pos;
+ if (running) run_connection(c);
+ c->detached = 2;
+ }
+}
+
+static void connection_timeout(struct connection *c)
+{
+ c->timer = -1;
+ setcstate(c, S_TIMEOUT);
+ if (c->dnsquery) abort_connection(c);
+ else retry_connection(c);
+}
+
+static void connection_timeout_1(struct connection *c)
+{
+ c->timer = install_timer((c->unrestartable ? unrestartable_receive_timeout : receive_timeout) * 500, (void (*)(void *))connection_timeout, c);
+}
+
+void set_timeout(struct connection *c)
+{
+ if (c->timer != -1) kill_timer(c->timer);
+ c->timer = install_timer((c->unrestartable ? unrestartable_receive_timeout : receive_timeout) * 500, (void (*)(void *))connection_timeout_1, c);
+}
+
+#if 0
+static void reset_timeout(struct connection *c)
+{
+ if (c->timer != -1) kill_timer(c->timer), c->timer = -1;
+}
+#endif
+
+void abort_all_connections(void)
+{
+ while(queue.next != &queue) {
+ setcstate(queue.next, S_INTERRUPTED);
+ abort_connection(queue.next);
+ }
+ abort_all_keepalive_connections();
+}
+
+void abort_background_connections(void)
+{
+ int i = 0;
+ while (1) {
+ int j;
+ struct connection *c = (void *)&queue;
+ for (j = 0; j <= i; j++) if ((c = c->next) == (void *)&queue) goto brk;
+ if (getpri(c) >= PRI_CANCEL) {
+ setcstate(c, S_INTERRUPTED);
+ abort_connection(c);
+ } else i++;
+ }
+ brk:
+ abort_all_keepalive_connections();
+}
+
+int is_entry_used(struct cache_entry *e)
+{
+ struct connection *c;
+ foreach(c, queue) if (c->cache == e) return 1;
+ return 0;
+}
+
+struct blacklist_entry {
+ struct blacklist_entry *next;
+ struct blacklist_entry *prev;
+ int flags;
+ unsigned char host[1];
+};
+
+static struct list_head blacklist = { &blacklist, &blacklist };
+
+void add_blacklist_entry(unsigned char *host, int flags)
+{
+ struct blacklist_entry *b;
+ foreach(b, blacklist) if (!strcasecmp(host, b->host)) {
+ b->flags |= flags;
+ return;
+ }
+ b = mem_alloc(sizeof(struct blacklist_entry) + strlen(host) + 1);
+ b->flags = flags;
+ strcpy(b->host, host);
+ add_to_list(blacklist, b);
+}
+
+void del_blacklist_entry(unsigned char *host, int flags)
+{
+ struct blacklist_entry *b;
+ foreach(b, blacklist) if (!strcasecmp(host, b->host)) {
+ b->flags &= ~flags;
+ if (!b->flags) {
+ del_from_list(b);
+ mem_free(b);
+ }
+ return;
+ }
+}
+
+int get_blacklist_flags(unsigned char *host)
+{
+ struct blacklist_entry *b;
+ foreach(b, blacklist) if (!strcasecmp(host, b->host)) return b->flags;
+ return 0;
+}
+
+void free_blacklist(void)
+{
+ free_list(blacklist);
+}
+
+struct s_msg_dsc msg_dsc[] = {
+ {S_WAIT, TEXT_(T_WAITING_IN_QUEUE)},
+ {S_DNS, TEXT_(T_LOOKING_UP_HOST)},
+ {S_CONN, TEXT_(T_MAKING_CONNECTION)},
+ {S_SOCKS_NEG, TEXT_(T_SOCKS_NEGOTIATION)},
+ {S_SSL_NEG, TEXT_(T_SSL_NEGOTIATION)},
+ {S_SENT, TEXT_(T_REQUEST_SENT)},
+ {S_LOGIN, TEXT_(T_LOGGING_IN)},
+ {S_GETH, TEXT_(T_GETTING_HEADERS)},
+ {S_PROC, TEXT_(T_SERVER_IS_PROCESSING_REQUEST)},
+ {S_TRANS, TEXT_(T_TRANSFERRING)},
+
+ {S__OK, TEXT_(T_OK)},
+ {S_INTERRUPTED, TEXT_(T_INTERRUPTED)},
+ {S_EXCEPT, TEXT_(T_SOCKET_EXCEPTION)},
+ {S_INTERNAL, TEXT_(T_INTERNAL_ERROR)},
+ {S_OUT_OF_MEM, TEXT_(T_OUT_OF_MEMORY)},
+ {S_NO_DNS, TEXT_(T_HOST_NOT_FOUND)},
+ {S_CANT_WRITE, TEXT_(T_ERROR_WRITING_TO_SOCKET)},
+ {S_CANT_READ, TEXT_(T_ERROR_READING_FROM_SOCKET)},
+ {S_MODIFIED, TEXT_(T_DATA_MODIFIED)},
+ {S_BAD_URL, TEXT_(T_BAD_URL_SYNTAX)},
+ {S_TIMEOUT, TEXT_(T_RECEIVE_TIMEOUT)},
+ {S_RESTART, TEXT_(T_REQUEST_MUST_BE_RESTARTED)},
+ {S_STATE, TEXT_(T_CANT_GET_SOCKET_STATE)},
+ {S_CYCLIC_REDIRECT, TEXT_(T_CYCLIC_REDIRECT)},
+ {S_LARGE_FILE, TEXT_(T_TOO_LARGE_FILE)},
+
+ {S_HTTP_ERROR, TEXT_(T_BAD_HTTP_RESPONSE)},
+ {S_HTTP_100, TEXT_(T_HTTP_100)},
+ {S_HTTP_204, TEXT_(T_NO_CONTENT)},
+
+ {S_FILE_TYPE, TEXT_(T_UNKNOWN_FILE_TYPE)},
+ {S_FILE_ERROR, TEXT_(T_ERROR_OPENING_FILE)},
+
+ {S_FTP_ERROR, TEXT_(T_BAD_FTP_RESPONSE)},
+ {S_FTP_UNAVAIL, TEXT_(T_FTP_SERVICE_UNAVAILABLE)},
+ {S_FTP_LOGIN, TEXT_(T_BAD_FTP_LOGIN)},
+ {S_FTP_PORT, TEXT_(T_FTP_PORT_COMMAND_FAILED)},
+ {S_FTP_NO_FILE, TEXT_(T_FILE_NOT_FOUND)},
+ {S_FTP_FILE_ERROR, TEXT_(T_FTP_FILE_ERROR)},
+
+ {S_SSL_ERROR, TEXT_(T_SSL_ERROR)},
+ {S_NO_SSL, TEXT_(T_NO_SSL)},
+ {S_BAD_SOCKS_VERSION, TEXT_(T_BAD_SOCKS_VERSION)},
+ {S_SOCKS_REJECTED, TEXT_(T_SOCKS_REJECTED_OR_FAILED)},
+ {S_SOCKS_NO_IDENTD, TEXT_(T_SOCKS_NO_IDENTD)},
+ {S_SOCKS_BAD_USERID, TEXT_(T_SOCKS_BAD_USERID)},
+ {S_SOCKS_UNKNOWN_ERROR, TEXT_(T_SOCKS_UNKNOWN_ERROR)},
+
+ {S_BLOCKED_URL, TEXT_(T_BLOCKED_URL)},
+ {S_NO_PROXY, TEXT_(T_NO_PROXY)},
+ {S_NO_SMB_CLIENT, TEXT_(T_NO_SMB_CLIENT)},
+
+ {S_WAIT_REDIR, TEXT_(T_WAITING_FOR_REDIRECT_CONFIRMATION)},
+ {0, NULL}
+};
diff --git a/select.c b/select.c
new file mode 100644
index 0000000..0e2b245
--- /dev/null
+++ b/select.c
@@ -0,0 +1,555 @@
+/* select.c
+ * Select Loop
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+/*
+#define DEBUG_CALLS
+*/
+
+struct thread {
+ void (*read_func)(void *);
+ void (*write_func)(void *);
+ void (*error_func)(void *);
+ void *data;
+};
+
+static struct thread threads[FD_SETSIZE];
+
+static fd_set w_read;
+static fd_set w_write;
+static fd_set w_error;
+
+static fd_set x_read;
+static fd_set x_write;
+static fd_set x_error;
+
+static int w_max;
+
+static int timer_id = 0;
+
+struct timer {
+ struct timer *next;
+ struct timer *prev;
+ ttime interval;
+ void (*func)(void *);
+ void *data;
+ int id;
+};
+
+static struct list_head timers = {&timers, &timers};
+
+
+ttime get_time(void)
+{
+ struct timeval tv;
+ int rs;
+ EINTRLOOP(rs, gettimeofday(&tv, NULL));
+ return (uttime)tv.tv_sec * 1000 + tv.tv_usec / 1000;
+}
+
+int can_write(int fd)
+{
+ fd_set fds;
+ struct timeval tv = {0, 0};
+ int rs;
+ FD_ZERO(&fds);
+ if (fd < 0)
+ internal("can_write: handle %d", fd);
+ if (fd >= (int)FD_SETSIZE) {
+ error("too big handle %d", fd);
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+ FD_SET(fd, &fds);
+ EINTRLOOP(rs, select(fd + 1, NULL, &fds, NULL, &tv));
+ return rs;
+}
+
+int can_read(int fd)
+{
+ fd_set fds;
+ struct timeval tv = {0, 0};
+ int rs;
+ FD_ZERO(&fds);
+ if (fd < 0)
+ internal("can_read: handle %d", fd);
+ if (fd >= (int)FD_SETSIZE) {
+ error("too big handle %d", fd);
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+ FD_SET(fd, &fds);
+ EINTRLOOP(rs, select(fd + 1, &fds, NULL, NULL, &tv));
+ return rs;
+}
+
+unsigned long select_info(int type)
+{
+ int i = 0, j;
+ struct cache_entry *ce;
+ switch (type) {
+ case CI_FILES:
+ for (j = 0; j < (int)FD_SETSIZE; j++)
+ if (threads[j].read_func || threads[j].write_func || threads[j].error_func) i++;
+ return i;
+ case CI_TIMERS:
+ foreach(ce, timers) i++;
+ return i;
+ default:
+ internal("select_info_info: bad request");
+ }
+ return 0;
+}
+
+struct bottom_half {
+ struct bottom_half *next;
+ struct bottom_half *prev;
+ void (*fn)(void *);
+ void *data;
+};
+
+static struct list_head bottom_halves = { &bottom_halves, &bottom_halves };
+
+int register_bottom_half(void (*fn)(void *), void *data)
+{
+ struct bottom_half *bh;
+ foreach(bh, bottom_halves) if (bh->fn == fn && bh->data == data) return 0;
+ bh = mem_alloc(sizeof(struct bottom_half));
+ bh->fn = fn;
+ bh->data = data;
+ add_to_list(bottom_halves, bh);
+ return 0;
+}
+
+void unregister_bottom_half(void (*fn)(void *), void *data)
+{
+ struct bottom_half *bh;
+ retry:
+ foreach(bh, bottom_halves) if (bh->fn == fn && bh->data == data) {
+ del_from_list(bh);
+ mem_free(bh);
+ goto retry;
+ }
+}
+
+void check_bottom_halves(void)
+{
+ struct bottom_half *bh;
+ void (*fn)(void *);
+ void *data;
+ rep:
+ if (list_empty(bottom_halves)) return;
+ bh = bottom_halves.prev;
+ fn = bh->fn;
+ data = bh->data;
+ del_from_list(bh);
+ mem_free(bh);
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "call: bh %p\n", fn);
+#endif
+ pr(fn(data)) {free_list(bottom_halves); return;};
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "bh done\n");
+#endif
+ goto rep;
+}
+
+#define CHK_BH if (!list_empty(bottom_halves)) check_bottom_halves()
+
+static ttime last_time;
+
+static void check_timers(void)
+{
+ ttime interval = (uttime)get_time() - (uttime)last_time;
+ struct timer * volatile t; /* volatile because of setjmp */
+ foreach(t, timers) t->interval -= (uttime)interval;
+ /*ch:*/
+ foreach(t, timers) if (t->interval <= 0) {
+ struct timer *tt;
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "call: timer %p\n", t->func);
+#endif
+ pr(t->func(t->data)) {
+ del_from_list((struct timer *)timers.next);
+ return;
+ }
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "timer done\n");
+#endif
+ CHK_BH;
+ tt = t->prev;
+ del_from_list(t);
+ mem_free(t);
+ t = tt;
+ } else break;
+ last_time += (uttime)interval;
+}
+
+int install_timer(ttime t, void (*func)(void *), void *data)
+{
+ struct timer *tm, *tt;
+ tm = mem_alloc(sizeof(struct timer));
+ tm->interval = t;
+ tm->func = func;
+ tm->data = data;
+ new_id:
+ tm->id = timer_id;
+ timer_id++;
+ if (timer_id == MAXINT) timer_id = 0;
+ foreach(tt, timers) if (tt->id == tm->id) goto new_id;
+ foreach(tt, timers) if (tt->interval >= t) break;
+ add_at_pos(tt->prev, tm);
+ return tm->id;
+}
+
+void kill_timer(int id)
+{
+ struct timer *tm;
+ int k = 0;
+ foreach(tm, timers) if (tm->id == id) {
+ struct timer *tt = tm;
+ del_from_list(tm);
+ tm = tm->prev;
+ mem_free(tt);
+ k++;
+ }
+ if (!k) internal("trying to kill nonexisting timer");
+ if (k >= 2) internal("more timers with same id");
+}
+
+void *get_handler(int fd, int tp)
+{
+ if (fd < 0)
+ internal("get_handler: handle %d", fd);
+ if (fd >= (int)FD_SETSIZE) {
+ error("too big handle %d", fd);
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ return NULL;
+ }
+ switch (tp) {
+ case H_READ: return threads[fd].read_func;
+ case H_WRITE: return threads[fd].write_func;
+ case H_ERROR: return threads[fd].error_func;
+ case H_DATA: return threads[fd].data;
+ }
+ internal("get_handler: bad type %d", tp);
+ return NULL;
+}
+
+void set_handlers(int fd, void (*read_func)(void *), void (*write_func)(void *), void (*error_func)(void *), void *data)
+{
+ if (fd < 0)
+ internal("set_handlers: handle %d", fd);
+ if (fd >= (int)FD_SETSIZE) {
+ error("too big handle %d", fd);
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ return;
+ }
+ threads[fd].read_func = read_func;
+ threads[fd].write_func = write_func;
+ threads[fd].error_func = error_func;
+ threads[fd].data = data;
+ if (read_func) FD_SET(fd, &w_read);
+ else {
+ FD_CLR(fd, &w_read);
+ FD_CLR(fd, &x_read);
+ }
+ if (write_func) FD_SET(fd, &w_write);
+ else {
+ FD_CLR(fd, &w_write);
+ FD_CLR(fd, &x_write);
+ }
+ if (error_func) FD_SET(fd, &w_error);
+ else {
+ FD_CLR(fd, &w_error);
+ FD_CLR(fd, &x_error);
+ }
+ if (read_func || write_func || error_func) {
+ if (fd >= w_max) w_max = fd + 1;
+ } else if (fd == w_max - 1) {
+ int i;
+ for (i = fd - 1; i >= 0; i--)
+ if (FD_ISSET(i, &w_read) || FD_ISSET(i, &w_write) ||
+ FD_ISSET(i, &w_error)) break;
+ w_max = i + 1;
+ }
+}
+
+#define NUM_SIGNALS 32
+
+struct signal_handler {
+ void (*fn)(void *);
+ void *data;
+ int critical;
+};
+
+static int signal_mask[NUM_SIGNALS];
+static struct signal_handler signal_handlers[NUM_SIGNALS];
+
+static int signal_pipe[2];
+
+static void signal_break(void *data)
+{
+ unsigned char c;
+ while (can_read(signal_pipe[0])) {
+ int rd;
+ EINTRLOOP(rd, read(signal_pipe[0], &c, 1));
+ if (rd != 1) break;
+ }
+}
+
+SIGNAL_HANDLER static void got_signal(int sig)
+{
+ int sv_errno = errno;
+ /*fprintf(stderr, "ERROR: signal number: %d\n", sig);*/
+ if (sig >= NUM_SIGNALS || sig < 0) {
+ /*error("ERROR: bad signal number: %d", sig);*/
+ goto ret;
+ }
+ if (!signal_handlers[sig].fn) goto ret;
+ if (signal_handlers[sig].critical) {
+ signal_handlers[sig].fn(signal_handlers[sig].data);
+ goto ret;
+ }
+ signal_mask[sig] = 1;
+ ret:
+ if (can_write(signal_pipe[1])) {
+ int wr;
+ EINTRLOOP(wr, write(signal_pipe[1], "x", 1));
+ }
+ errno = sv_errno;
+}
+
+static struct sigaction sa_zero;
+
+void install_signal_handler(int sig, void (*fn)(void *), void *data, int critical)
+{
+ int rs;
+ struct sigaction sa = sa_zero;
+ if (sig >= NUM_SIGNALS || sig < 0) {
+ internal("bad signal number: %d", sig);
+ return;
+ }
+ if (!fn) sa.sa_handler = SIG_IGN;
+ else sa.sa_handler = (void *)got_signal;
+ sigfillset(&sa.sa_mask);
+ sa.sa_flags = SA_RESTART;
+ if (!fn)
+ EINTRLOOP(rs, sigaction(sig, &sa, NULL));
+ signal_handlers[sig].fn = fn;
+ signal_handlers[sig].data = data;
+ signal_handlers[sig].critical = critical;
+ if (fn)
+ EINTRLOOP(rs, sigaction(sig, &sa, NULL));
+}
+
+void interruptible_signal(int sig, int in)
+{
+ struct sigaction sa = sa_zero;
+ int rs;
+ if (sig >= NUM_SIGNALS || sig < 0) {
+ internal("bad signal number: %d", sig);
+ return;
+ }
+ if (!signal_handlers[sig].fn) return;
+ sa.sa_handler = (void *)got_signal;
+ sigfillset(&sa.sa_mask);
+ if (!in) sa.sa_flags = SA_RESTART;
+ EINTRLOOP(rs, sigaction(sig, &sa, NULL));
+}
+
+static int check_signals(void)
+{
+ int i, r = 0;
+ for (i = 0; i < NUM_SIGNALS; i++)
+ if (signal_mask[i]) {
+ signal_mask[i] = 0;
+ if (signal_handlers[i].fn) {
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "call: signal %d -> %p\n", i, signal_handlers[i].fn);
+#endif
+ pr(signal_handlers[i].fn(signal_handlers[i].data)) return 1;
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "signal done\n");
+#endif
+ }
+ CHK_BH;
+ r = 1;
+ }
+ return r;
+}
+
+static void sigchld(void *p)
+{
+ pid_t pid;
+#ifndef WNOHANG
+ EINTRLOOP(pid, wait(NULL));
+#else
+ do {
+ EINTRLOOP(pid, waitpid(-1, NULL, WNOHANG));
+ } while (pid > 0);
+#endif
+}
+
+void set_sigcld(void)
+{
+ install_signal_handler(SIGCHLD, sigchld, NULL, 1);
+}
+
+int terminate_loop = 0;
+
+void select_loop(void (*init)(void))
+{
+ struct stat st;
+ int rs;
+ EINTRLOOP(rs, stat(".", &st));
+ if (rs && getenv("HOME"))
+ EINTRLOOP(rs, chdir(getenv("HOME")));
+ memset(&sa_zero, 0, sizeof sa_zero);
+ memset(signal_mask, 0, sizeof signal_mask);
+ memset(signal_handlers, 0, sizeof signal_handlers);
+ FD_ZERO(&w_read);
+ FD_ZERO(&w_write);
+ FD_ZERO(&w_error);
+ w_max = 0;
+ last_time = get_time();
+ ignore_signals();
+ if (c_pipe(signal_pipe)) {
+ error("ERROR: can't create pipe for signal handling");
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+ EINTRLOOP(rs, fcntl(signal_pipe[0], F_SETFL, O_NONBLOCK));
+ EINTRLOOP(rs, fcntl(signal_pipe[1], F_SETFL, O_NONBLOCK));
+ set_handlers(signal_pipe[0], signal_break, NULL, NULL, NULL);
+ init();
+ CHK_BH;
+ while (!terminate_loop) {
+ volatile int n; /* volatile because of setjmp */
+ int i;
+ struct timeval tv;
+ struct timeval *tm = NULL;
+ check_signals();
+ check_timers();
+ check_timers();
+ if (!F) redraw_all_terminals();
+#ifdef OS_BAD_SIGNALS
+ /* Cygwin has buggy signals that sometimes don't interrupt select.
+ So don't wait indefinitely in it. */
+ tv.tv_sec = 1;
+ tv.tv_usec = 0;
+ tm = &tv;
+#endif
+ if (!list_empty(timers)) {
+ ttime tt = (uttime)((struct timer *)timers.next)->interval + 1;
+ if (tt < 0) tt = 0;
+#ifdef OS_BAD_SIGNALS
+ if (tt < 1000)
+#endif
+ {
+ tv.tv_sec = tt / 1000;
+ tv.tv_usec = (tt % 1000) * 1000;
+ tm = &tv;
+ }
+ }
+ memcpy(&x_read, &w_read, sizeof(fd_set));
+ memcpy(&x_write, &w_write, sizeof(fd_set));
+ memcpy(&x_error, &w_error, sizeof(fd_set));
+ /*rep_sel:*/
+ if (terminate_loop) break;
+ if (!w_max && list_empty(timers)) {
+ /*internal("select_loop: no more events to wait for");*/
+ break;
+ }
+ if (check_signals()) {
+ continue;
+ }
+ /*{
+ int i;
+ printf("\nR:");
+ for (i = 0; i < 256; i++) if (FD_ISSET(i, &x_read)) printf("%d,", i);
+ printf("\nW:");
+ for (i = 0; i < 256; i++) if (FD_ISSET(i, &x_write)) printf("%d,", i);
+ printf("\nE:");
+ for (i = 0; i < 256; i++) if (FD_ISSET(i, &x_error)) printf("%d,", i);
+ fflush(stdout);
+ }*/
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "select\n");
+#endif
+ if ((n = loop_select(w_max, &x_read, &x_write, &x_error, tm)) < 0) {
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "select intr\n");
+#endif
+ if (errno != EINTR) {
+ error("ERROR: select failed: %s", strerror(errno));
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+ continue;
+ }
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "select done\n");
+#endif
+ check_signals();
+ /*printf("sel: %d\n", n);*/
+ check_timers();
+ i = -1;
+ while (n > 0 && ++i < w_max) {
+ int k = 0;
+ /*printf("C %d : %d,%d,%d\n",i,FD_ISSET(i, &w_read),FD_ISSET(i, &w_write),FD_ISSET(i, &w_error));
+ printf("A %d : %d,%d,%d\n",i,FD_ISSET(i, &x_read),FD_ISSET(i, &x_write),FD_ISSET(i, &x_error));*/
+ if (FD_ISSET(i, &x_read)) {
+ if (threads[i].read_func) {
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "call: read %d -> %p\n", i, threads[i].read_func);
+#endif
+ pr(threads[i].read_func(threads[i].data)) continue;
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "read done\n");
+#endif
+ CHK_BH;
+ }
+ k = 1;
+ }
+ if (FD_ISSET(i, &x_write)) {
+ if (threads[i].write_func) {
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "call: write %d -> %p\n", i, threads[i].write_func);
+#endif
+ pr(threads[i].write_func(threads[i].data)) continue;
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "write done\n");
+#endif
+ CHK_BH;
+ }
+ k = 1;
+ }
+ if (FD_ISSET(i, &x_error)) {
+ if (threads[i].error_func) {
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "call: error %d -> %p\n", i, threads[i].error_func);
+#endif
+ pr(threads[i].error_func(threads[i].data)) continue;
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "error done\n");
+#endif
+ CHK_BH;
+ }
+ k = 1;
+ }
+ n -= k;
+ }
+ nopr();
+ }
+#ifdef DEBUG_CALLS
+ fprintf(stderr, "exit loop\n");
+#endif
+ nopr();
+}
diff --git a/session.c b/session.c
new file mode 100644
index 0000000..2a522af
--- /dev/null
+++ b/session.c
@@ -0,0 +1,2855 @@
+/* session.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+struct list_head downloads = {&downloads, &downloads};
+
+/* prototypes */
+static void abort_and_delete_download(struct download *down);
+static void undisplay_download(struct download *down);
+static void increase_download_file(unsigned char **f);
+static void copy_additional_files(struct additional_files **a);
+static struct location *new_location(void);
+static void destroy_location(struct location *loc);
+
+
+int are_there_downloads(void)
+{
+ int d = 0;
+ struct download *down;
+ foreach(down, downloads) if (!down->prog) d = 1;
+ return d;
+}
+
+struct list_head sessions = {&sessions, &sessions};
+
+struct strerror_val {
+ struct strerror_val *next;
+ struct strerror_val *prev;
+ unsigned char msg[1];
+};
+
+static struct list_head strerror_buf = { &strerror_buf, &strerror_buf };
+
+void free_strerror_buf(void)
+{
+ free_list(strerror_buf);
+}
+
+int get_error_from_errno(int errn)
+{
+ if (errn > 0 && (errn < -S__OK || errn > -S_MAX))
+ return -errn;
+#ifdef BEOS
+ if (-errn > 0 && (-errn < -S__OK || -errn > -S_MAX))
+ return errn;
+#endif
+ return S_UNKNOWN_ERROR;
+}
+
+unsigned char *get_err_msg(int state)
+{
+ unsigned char *e;
+ struct strerror_val *s;
+ if ((state >= S_MAX && state <= S__OK) || state >= S_WAIT) {
+ int i;
+ for (i = 0; msg_dsc[i].msg; i++)
+ if (msg_dsc[i].n == state) return msg_dsc[i].msg;
+ unk:
+ return TEXT_(T_UNKNOWN_ERROR);
+ }
+#ifdef BEOS
+ if ((e = strerror(state)) && *e && !strstr(e, "No Error")) goto have_error;
+#endif
+ if ((e = strerror(-state)) && *e) goto have_error;
+ goto unk;
+have_error:
+ foreach(s, strerror_buf) if (!strcmp(s->msg, e)) return s->msg;
+ s = mem_alloc(sizeof(struct strerror_val) + strlen(e));
+ strcpy(s->msg, e);
+ add_to_list(strerror_buf, s);
+ return s->msg;
+}
+
+static void add_xnum_to_str(unsigned char **s, int *l, off_t n)
+{
+ unsigned char suff = 0;
+ int d = -1;
+ if (n >= 1000000000) suff = 'G', d = (n / 100000000) % 10, n /= 1000000000;
+ else if (n >= 1000000) suff = 'M', d = (n / 100000) % 10, n /= 1000000;
+ else if (n >= 1000) suff = 'k', d = (n / 100) % 10, n /= 1000;
+ add_num_to_str(s, l, n);
+ if (n < 10 && d != -1) add_chr_to_str(s, l, '.'), add_num_to_str(s, l, d);
+ add_chr_to_str(s, l, ' ');
+ if (suff) add_chr_to_str(s, l, suff);
+ add_chr_to_str(s, l, 'B');
+}
+
+static void add_time_to_str(unsigned char **s, int *l, ttime t)
+{
+ unsigned char q[64];
+ if (t < 0) t = 0;
+ if (t >= 86400) sprintf(q, "%ud ", (unsigned)(t / 86400)), add_to_str(s, l, q);
+ if (t >= 3600) t %= 86400, sprintf(q, "%d:%02d", (int)(t / 3600), (int)(t / 60 % 60)), add_to_str(s, l, q);
+ else sprintf(q, "%d", (int)(t / 60)), add_to_str(s, l, q);
+ sprintf(q, ":%02d", (int)(t % 60)), add_to_str(s, l, q);
+}
+
+static unsigned char *get_stat_msg(struct status *stat, struct terminal *term)
+{
+ if (stat->state == S_TRANS && stat->prg->elapsed / 100) {
+ unsigned char *m = init_str();
+ int l = 0;
+ add_to_str(&m, &l, _(TEXT_(T_RECEIVED), term));
+ add_to_str(&m, &l, " ");
+ add_xnum_to_str(&m, &l, stat->prg->pos);
+ if (stat->prg->size >= 0)
+ add_to_str(&m, &l, " "), add_to_str(&m, &l, _(TEXT_(T_OF), term)), add_to_str(&m, &l, " "), add_xnum_to_str(&m, &l, stat->prg->size);
+ add_to_str(&m, &l, ", ");
+ if (stat->prg->elapsed >= CURRENT_SPD_AFTER * SPD_DISP_TIME)
+ add_to_str(&m, &l, _(TEXT_(T_AVG), term)), add_to_str(&m, &l, " ");
+ add_xnum_to_str(&m, &l, stat->prg->loaded * 10 / (stat->prg->elapsed / 100));
+ add_to_str(&m, &l, "/s");
+ if (stat->prg->elapsed >= CURRENT_SPD_AFTER * SPD_DISP_TIME)
+ add_to_str(&m, &l, ", "), add_to_str(&m, &l, _(TEXT_(T_CUR), term)), add_to_str(&m, &l, " "),
+ add_xnum_to_str(&m, &l, stat->prg->cur_loaded / (CURRENT_SPD_SEC * SPD_DISP_TIME / 1000)),
+ add_to_str(&m, &l, "/s");
+ return m;
+ }
+ return stracpy(_(get_err_msg(stat->state), term));
+}
+
+void change_screen_status(struct session *ses)
+{
+ struct status *stat = NULL;
+ if (ses->rq) {
+ stat = &ses->rq->stat;
+ } else {
+ struct f_data_c *fd = current_frame(ses);
+ if (fd->rq) stat = &fd->rq->stat;
+ if (stat && stat->state == S__OK && fd->af) {
+ struct additional_file *af;
+ foreach(af, fd->af->af) {
+ if (af->rq && af->rq->stat.state >= 0) {
+ if (af->rq->stat.state > stat->state ||
+ (af->rq->stat.state == S_TRANS &&
+ stat->state == S_TRANS &&
+ af->rq->stat.prg->pos >
+ stat->prg->pos))
+ stat = &af->rq->stat;
+ }
+ }
+ }
+ }
+ if (ses->st) mem_free(ses->st);
+
+ /* default status se ukazuje, kdyz
+ * a) by se jinak ukazovalo prazdno
+ * b) neni NULL a ukazovalo by se OK
+ */
+ ses->st = NULL;
+ if (stat) {
+ if (stat->state == S__OK) ses->st = print_current_link(ses);
+ if (!ses->st) ses->st = ses->default_status ? stracpy(ses->default_status) : get_stat_msg(stat, ses->term);
+ } else {
+ ses->st = stracpy(ses->default_status);
+ }
+}
+
+static void x_print_screen_status(struct terminal *term, struct session *ses)
+{
+ unsigned char *m;
+ if (!F) {
+ int color = (ses->ds.t_background_color << 3) | (ses->ds.t_text_color & 7) | ((ses->ds.t_text_color & 8) << 3);
+ if (!term->spec->col) color = COLOR_TITLE;
+ fill_area(term, 0, term->y - 1, term->x, 1, ' ', color);
+ if (ses->st) print_text(term, 0, term->y - 1, strlen(ses->st), ses->st, COLOR_STATUS);
+ fill_area(term, 0, 0, term->x, 1, ' ', color);
+ if ((m = print_current_title(ses))) {
+ int p = term->x - 1 - cp_len(ses->term->spec->charset, m);
+ if (p < 0) p = 0;
+ if (term->spec->braille) p = 0;
+ print_text(term, p, 0, cp_len(ses->term->spec->charset, m), m, color);
+ mem_free(m);
+ }
+#ifdef G
+ } else {
+ int l = 0;
+ if (ses->st) g_print_text(drv, term->dev, 0, term->y - G_BFU_FONT_SIZE, bfu_style_wb_mono, ses->st, &l);
+ drv->fill_area(term->dev, l, term->y - G_BFU_FONT_SIZE, term->x, term->y, bfu_bg_color);
+#endif
+ }
+}
+
+void print_screen_status(struct session *ses)
+{
+ unsigned char *m;
+#ifdef G
+ if (F) {
+ /*debug("%s - %s", ses->st_old, ses->st);
+ debug("clip: %d.%d , %d.%d", ses->term->dev->clip.x1, ses->term->dev->clip.y1, ses->term->dev->clip.x2, ses->term->dev->clip.y2);
+ debug("size: %d.%d , %d.%d", ses->term->dev->size.x1, ses->term->dev->size.y1, ses->term->dev->size.x2, ses->term->dev->size.y2);*/
+ if (ses->st_old) {
+ if (ses->st && !strcmp(ses->st, ses->st_old)) goto skip_status;
+ mem_free(ses->st_old);
+ ses->st_old = NULL;
+ }
+ if (!memcmp(&ses->term->dev->clip, &ses->term->dev->size, sizeof(struct rect))) ses->st_old = stracpy(ses->st);
+ }
+#endif
+ draw_to_window(ses->win, (void (*)(struct terminal *, void *))x_print_screen_status, ses);
+#ifdef G
+ skip_status:
+#endif
+ if ((m = stracpy("Links"))) {
+ if (ses->screen && ses->screen->f_data && ses->screen->f_data->title && ses->screen->f_data->title[0]) add_to_strn(&m, " - "), add_to_strn(&m, ses->screen->f_data->title);
+ set_terminal_title(ses->term, m);
+ /*mem_free(m); -- set_terminal_title frees it */
+ }
+ if (!F && ses->brl_cursor_mode) {
+ if (ses->brl_cursor_mode == 1) set_cursor(ses->term, 0, 0, 0, 0);
+ if (ses->brl_cursor_mode == 2) set_cursor(ses->term, 0, ses->term->y - 1, 0, ses->term->y - 1);
+ }
+}
+
+void print_error_dialog(struct session *ses, struct status *stat, unsigned char *title)
+{
+ unsigned char *t = get_err_msg(stat->state);
+ unsigned char *u = stracpy(title);
+ unsigned char *pc;
+ if ((pc = strchr(u, POST_CHAR))) *pc = 0;
+ if (!t) return;
+ msg_box(ses->term, getml(u, NULL), TEXT_(T_ERROR), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_ERROR_LOADING), " ", u, ":\n\n", t, NULL, ses, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC/*, _("Retry"), NULL, 0 !!! FIXME: retry */);
+}
+
+static inline unsigned char hx(int a)
+{
+ return a >= 10 ? a + 'A' - 10 : a + '0';
+}
+
+static inline int unhx(unsigned char a)
+{
+ if (a >= '0' && a <= '9') return a - '0';
+ if (a >= 'A' && a <= 'F') return a - 'A' + 10;
+ if (a >= 'a' && a <= 'f') return a - 'a' + 10;
+ return -1;
+}
+
+unsigned char *encode_url(unsigned char *url)
+{
+ unsigned char *u = init_str();
+ int l = 0;
+ add_to_str(&u, &l, "+++");
+ for (; *url; url++) {
+ if (is_safe_in_shell(*url) && *url != '+') add_chr_to_str(&u, &l, *url);
+ else add_chr_to_str(&u, &l, '+'), add_chr_to_str(&u, &l, hx(*url >> 4)), add_chr_to_str(&u, &l, hx(*url & 0xf));
+ }
+ return u;
+}
+
+unsigned char *decode_url(unsigned char *url)
+{
+ unsigned char *u;
+ int l;
+ if (casecmp(url, "+++", 3)) return stracpy(url);
+ url += 3;
+ u = init_str();
+ l = 0;
+ for (; *url; url++) {
+ if (*url != '+' || unhx(url[1]) == -1 || unhx(url[2]) == -1) add_chr_to_str(&u, &l, *url);
+ else add_chr_to_str(&u, &l, (unhx(url[1]) << 4) + unhx(url[2])), url += 2;
+ }
+ return u;
+}
+
+static struct session *get_download_ses(struct download *down)
+{
+ struct session *ses;
+ foreach(ses, sessions) if (ses == down->ses) return ses;
+ if (!list_empty(sessions)) return sessions.next;
+ return NULL;
+}
+
+static void close_download_file(struct download *down)
+{
+ int rs;
+ if (down->handle != -1) {
+ EINTRLOOP(rs, ftruncate(down->handle, down->last_pos - down->file_shift));
+ EINTRLOOP(rs, close(down->handle));
+ down->handle = -1;
+ }
+}
+
+static void delete_download_file(struct download *down)
+{
+ int rs;
+ unsigned char *file = stracpy(down->orig_file);
+ unsigned char *wd = get_cwd();
+ set_cwd(down->cwd);
+ while (1) {
+ unsigned char *f = translate_download_file(file);
+ EINTRLOOP(rs, unlink(f));
+ mem_free(f);
+ if (!strcmp(file, down->file)) break;
+ increase_download_file(&file);
+ }
+ mem_free(file);
+ if (wd) set_cwd(wd), mem_free(wd);
+}
+
+static void abort_download(struct download *down)
+{
+ unregister_bottom_half((void (*)(void *))abort_download, down);
+ unregister_bottom_half((void (*)(void *))abort_and_delete_download, down);
+ unregister_bottom_half((void (*)(void *))undisplay_download, down);
+
+ if (down->win) delete_window(down->win);
+ if (down->ask) delete_window(down->ask);
+ if (down->stat.state >= 0) change_connection(&down->stat, NULL, PRI_CANCEL);
+ mem_free(down->url);
+ close_download_file(down);
+ if (down->prog) {
+ delete_download_file(down);
+
+ mem_free(down->prog);
+ }
+ mem_free(down->cwd);
+ mem_free(down->orig_file);
+ mem_free(down->file);
+ del_from_list(down);
+ mem_free(down);
+}
+
+static void abort_and_delete_download(struct download *down)
+{
+ if (!down->prog) down->prog = DUMMY;
+ abort_download(down);
+}
+
+int test_abort_downloads_to_file(unsigned char *file, unsigned char *cwd, int abort_downloads)
+{
+ int ret = 0;
+ struct download *down;
+ foreach(down, downloads) {
+ if (strcmp(down->cwd, cwd)) {
+#if defined(DOS_FS)
+ if (file[0] && file[1] == ':' && dir_sep(file[2])) goto abs;
+#elif defined(SPAD)
+ if (_is_absolute(file) == _ABS_TOTAL) goto abs;
+#else
+ if (file[0] == '/') goto abs;
+#endif
+ continue;
+ }
+ abs:
+ if (!strcmp(down->file, file) || !strcmp(down->orig_file, file)) {
+ ret = 1;
+ if (!abort_downloads) break;
+ down = down->prev;
+ abort_download(down->next);
+ }
+ }
+ return ret;
+}
+
+static void undisplay_download(struct download *down)
+{
+ if (down->win) delete_window(down->win);
+}
+
+static int dlg_abort_download(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ register_bottom_half((void (*)(void *))abort_download, dlg->dlg->udata);
+ return 0;
+}
+
+static int dlg_abort_and_delete_download(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ register_bottom_half((void (*)(void *))abort_and_delete_download, dlg->dlg->udata);
+ return 0;
+}
+
+static int dlg_undisplay_download(struct dialog_data *dlg, struct dialog_item_data *di)
+{
+ register_bottom_half((void (*)(void *))undisplay_download, dlg->dlg->udata);
+ return 0;
+}
+
+static void download_abort_function(struct dialog_data *dlg)
+{
+ struct download *down = dlg->dlg->udata;
+ down->win = NULL;
+}
+
+static int test_percentage(struct status *stat)
+{
+ return stat->prg->size > 0;
+}
+
+static int download_meter(int size, struct status *stat)
+{
+ int m;
+ if (!stat->prg->size) return 0;
+ m = (int)((double)size * (double)stat->prg->pos / (double)stat->prg->size);
+ if (m < 0) m = 0;
+ if (m > size) m = size;
+ return m;
+}
+
+unsigned char *download_percentage(struct download *down, int pad)
+{
+ unsigned char *s;
+ int l;
+ int perc;
+ struct status *stat = &down->stat;
+ if (stat->state != S_TRANS || !test_percentage(stat)) return stracpy("");
+ s = init_str();
+ l = 0;
+ perc = download_meter(100, stat);
+ if (pad) {
+ if (perc < 10) add_chr_to_str(&s, &l, ' ');
+ if (perc < 100) add_chr_to_str(&s, &l, ' ');
+ }
+ add_num_to_str(&s, &l, perc);
+ add_chr_to_str(&s, &l, '%');
+ return s;
+}
+
+void download_window_function(struct dialog_data *dlg)
+{
+ struct download *down = dlg->dlg->udata;
+ struct terminal *term = dlg->win->term;
+ int max = 0, min = 0;
+ int w, x, y;
+ int t = 0;
+ int show_percentage = 0;
+ unsigned char *m, *u;
+ struct status *stat = &down->stat;
+ if (!F) redraw_below_window(dlg->win);
+ down->win = dlg->win;
+ if (stat->state == S_TRANS && stat->prg->elapsed / 100) {
+ int l = 0;
+ m = init_str();
+ t = 1;
+ add_to_str(&m, &l, _(TEXT_(T_RECEIVED), term));
+ add_to_str(&m, &l, " ");
+ add_xnum_to_str(&m, &l, stat->prg->pos);
+ if (stat->prg->size >= 0)
+ add_to_str(&m, &l, " "), add_to_str(&m, &l, _(TEXT_(T_OF),term)), add_to_str(&m, &l, " "), add_xnum_to_str(&m, &l, stat->prg->size), add_to_str(&m, &l, " ");
+ add_to_str(&m, &l, "\n");
+ if (stat->prg->elapsed >= CURRENT_SPD_AFTER * SPD_DISP_TIME)
+ add_to_str(&m, &l, _(TEXT_(T_AVERAGE_SPEED), term));
+ else add_to_str(&m, &l, _(TEXT_(T_SPEED), term));
+ add_to_str(&m, &l, " ");
+ add_xnum_to_str(&m, &l, (longlong)stat->prg->loaded * 10 / (stat->prg->elapsed / 100));
+ add_to_str(&m, &l, "/s");
+ if (stat->prg->elapsed >= CURRENT_SPD_AFTER * SPD_DISP_TIME)
+ add_to_str(&m, &l, ", "), add_to_str(&m, &l, _(TEXT_(T_CURRENT_SPEED), term)), add_to_str(&m, &l, " "),
+ add_xnum_to_str(&m, &l, stat->prg->cur_loaded / (CURRENT_SPD_SEC * SPD_DISP_TIME / 1000)),
+ add_to_str(&m, &l, "/s");
+ add_to_str(&m, &l, "\n");
+ add_to_str(&m, &l, _(TEXT_(T_ELAPSED_TIME), term));
+ add_to_str(&m, &l, " ");
+ add_time_to_str(&m, &l, (uttime)stat->prg->elapsed / 1000);
+ if (stat->prg->size >= 0 && stat->prg->loaded > 0) {
+ add_to_str(&m, &l, ", ");
+ add_to_str(&m, &l, _(TEXT_(T_ESTIMATED_TIME), term));
+ add_to_str(&m, &l, " ");
+ /*add_time_to_str(&m, &l, stat->prg->elapsed / 1000 * stat->prg->size / stat->prg->loaded * 1000 - stat->prg->elapsed);*/
+ /*add_time_to_str(&m, &l, (stat->prg->size - stat->prg->pos) / ((longlong)stat->prg->loaded * 10 / (stat->prg->elapsed / 100)));*/
+ add_time_to_str(&m, &l, (stat->prg->size - stat->prg->pos) / ((double)stat->prg->loaded * 1000 / stat->prg->elapsed));
+ }
+ } else m = stracpy(_(get_err_msg(stat->state), term));
+ show_percentage = t && test_percentage(stat);
+ u = stracpy(down->url);
+ if (strchr(u, POST_CHAR)) *strchr(u, POST_CHAR) = 0;
+ max_text_width(term, u, &max, AL_LEFT);
+ min_text_width(term, u, &min, AL_LEFT);
+ max_text_width(term, m, &max, AL_LEFT);
+ min_text_width(term, m, &min, AL_LEFT);
+ max_buttons_width(term, dlg->items, dlg->n, &max);
+ min_buttons_width(term, dlg->items, dlg->n, &min);
+ w = dlg->win->term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w < min) w = min;
+ if (!dlg->win->term->spec->braille && w > dlg->win->term->x - 2 * DIALOG_LB) w = dlg->win->term->x - 2 * DIALOG_LB;
+ if (show_percentage) {
+ if (w < DOWN_DLG_MIN) w = DOWN_DLG_MIN;
+ } else {
+ if (w > max) w = max;
+ }
+ if (w < 1) w = 1;
+ y = 0;
+ dlg_format_text(dlg, NULL, u, 0, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ if (show_percentage) y += gf_val(2, 2 * G_BFU_FONT_SIZE);
+ dlg_format_text(dlg, NULL, m, 0, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, NULL, dlg->items, dlg->n, 0, &y, w, NULL, AL_CENTER);
+ dlg->xw = w + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB + gf_val(1, G_BFU_FONT_SIZE);
+ x = dlg->x + DIALOG_LB;
+ dlg_format_text(dlg, term, u, x, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ if (show_percentage) {
+ if (!F) {
+ unsigned char *q;
+ int p = w - 6;
+ if (term->spec->braille && p > 39 - 6) p = 39 - 6;
+ y++;
+ set_only_char(term, x, y, '[', 0);
+ set_only_char(term, x + p + 1, y, ']', 0);
+ fill_area(term, x + 1, y, download_meter(p, stat), 1, CHAR_DIALOG_METER, COLOR_DIALOG_METER);
+ q = download_percentage(down, 1);
+ print_text(term, x + p + 2, y, strlen(q), q, COLOR_DIALOG_TEXT);
+ mem_free(q);
+ y++;
+#ifdef G
+ } else {
+ unsigned char *q;
+ int p, s, ss, m;
+ y += G_BFU_FONT_SIZE;
+ q = download_percentage(down, 1);
+ extend_str(&q, 1);
+ memmove(q + 1, q, strlen(q) + 1);
+ q[0] = ']';
+ s = g_text_width(bfu_style_bw_mono, "[");
+ ss = g_text_width(bfu_style_bw_mono, q);
+ p = w - s - ss;
+ if (p < 0) p = 0;
+ m = download_meter(p, stat);
+ g_print_text(drv, term->dev, x, y, bfu_style_bw_mono, "[", NULL);
+ drv->fill_area(term->dev, x + s, y, x + s + m, y + G_BFU_FONT_SIZE, bfu_fg_color);
+ drv->fill_area(term->dev, x + s + m, y, x + s + p, y + G_BFU_FONT_SIZE, bfu_bg_color);
+ g_print_text(drv, term->dev, x + w - ss, y, bfu_style_bw_mono, q, NULL);
+ if (dlg->s) exclude_from_set(&dlg->s, x, y, x + w, y + G_BFU_FONT_SIZE);
+ mem_free(q);
+ y += G_BFU_FONT_SIZE;
+#endif
+ }
+ }
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text(dlg, term, m, x, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, term, dlg->items, dlg->n, x, &y, w, NULL, AL_CENTER);
+ mem_free(u);
+ mem_free(m);
+}
+
+void display_download(struct terminal *term, struct download *down, struct session *ses)
+{
+ struct dialog *dlg;
+ struct download *dd;
+ foreach(dd, downloads) if (dd == down) goto found;
+ return;
+ found:
+ dlg = mem_calloc(sizeof(struct dialog) + 4 * sizeof(struct dialog_item));
+ undisplay_download(down);
+ down->ses = ses;
+ dlg->title = TEXT_(T_DOWNLOAD);
+ dlg->fn = download_window_function;
+ dlg->abort = download_abort_function;
+ dlg->udata = down;
+ dlg->align = AL_CENTER;
+ dlg->items[0].type = D_BUTTON;
+ dlg->items[0].gid = B_ENTER | B_ESC;
+ dlg->items[0].fn = dlg_undisplay_download;
+ dlg->items[0].text = TEXT_(T_BACKGROUND);
+ dlg->items[1].type = D_BUTTON;
+ dlg->items[1].gid = 0;
+ dlg->items[1].fn = dlg_abort_download;
+ dlg->items[1].text = TEXT_(T_ABORT);
+ if (!down->prog) {
+ dlg->items[2].type = D_BUTTON;
+ dlg->items[2].gid = 0;
+ dlg->items[2].fn = dlg_abort_and_delete_download;
+ dlg->items[2].text = TEXT_(T_ABORT_AND_DELETE_FILE);
+ dlg->items[3].type = D_END;
+ } else {
+ dlg->items[2].type = D_END;
+ }
+ do_dialog(term, dlg, getml(dlg, NULL));
+}
+
+time_t parse_http_date(unsigned char *date) /* this functions is bad !!! */
+{
+ static unsigned char *months[12] =
+ {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
+
+ time_t t = 0;
+ /* Mon, 03 Jan 2000 21:29:33 GMT */
+ int y;
+ struct tm tm;
+ memset(&tm, 0, sizeof(struct tm));
+
+ date = strchr(date, ' ');
+ if (!date) return 0;
+ date++;
+ if (*date >= '0' && *date <= '9') {
+ /* Sun, 06 Nov 1994 08:49:37 GMT */
+ /* Sunday, 06-Nov-94 08:49:37 GMT */
+ y = 0;
+ if (date[0] < '0' || date[0] > '9') return 0;
+ if (date[1] < '0' || date[1] > '9') return 0;
+ tm.tm_mday = (date[0] - '0') * 10 + date[1] - '0';
+ date += 2;
+ if (*date != ' ' && *date != '-') return 0;
+ date += 1;
+ for (tm.tm_mon = 0; tm.tm_mon < 12; tm.tm_mon++)
+ if (!casecmp(date, months[tm.tm_mon], 3)) goto f1;
+ return 0;
+ f1:
+ date += 3;
+ if (*date == ' ') {
+ /* Sun, 06 Nov 1994 08:49:37 GMT */
+ date++;
+ if (date[0] < '0' || date[0] > '9') return 0;
+ if (date[1] < '0' || date[1] > '9') return 0;
+ if (date[2] < '0' || date[2] > '9') return 0;
+ if (date[3] < '0' || date[3] > '9') return 0;
+ tm.tm_year = (date[0] - '0') * 1000 + (date[1] - '0') * 100 + (date[2] - '0') * 10 + date[3] - '0' - 1900;
+ date += 4;
+ } else if (*date == '-') {
+ /* Sunday, 06-Nov-94 08:49:37 GMT */
+ date++;
+ if (date[0] < '0' || date[0] > '9') return 0;
+ if (date[1] < '0' || date[1] > '9') return 0;
+ tm.tm_year = (date[0] >= '7' ? 1900 : 2000) + (date[0] - '0') * 10 + date[1] - '0' - 1900;
+ date += 2;
+ } else return 0;
+ if (*date != ' ') return 0;
+ date++;
+ } else {
+ /* Sun Nov 6 08:49:37 1994 */
+ y = 1;
+ for (tm.tm_mon = 0; tm.tm_mon < 12; tm.tm_mon++)
+ if (!casecmp(date, months[tm.tm_mon], 3)) goto f2;
+ return 0;
+ f2:
+ date += 3;
+ while (*date == ' ') date++;
+ if (date[0] < '0' || date[0] > '9') return 0;
+ tm.tm_mday = date[0] - '0';
+ date++;
+ if (*date != ' ') {
+ if (date[0] < '0' || date[0] > '9') return 0;
+ tm.tm_mday = tm.tm_mday * 10 + date[0] - '0';
+ date++;
+ }
+ if (*date != ' ') return 0;
+ date++;
+ }
+
+ if (date[0] < '0' || date[0] > '9') return 0;
+ if (date[1] < '0' || date[1] > '9') return 0;
+ tm.tm_hour = (date[0] - '0') * 10 + date[1] - '0';
+ date += 2;
+ if (*date != ':') return 0;
+ date++;
+ if (date[0] < '0' || date[0] > '9') return 0;
+ if (date[1] < '0' || date[1] > '9') return 0;
+ tm.tm_min = (date[0] - '0') * 10 + date[1] - '0';
+ date += 2;
+ if (*date != ':') return 0;
+ date++;
+ if (date[0] < '0' || date[0] > '9') return 0;
+ if (date[1] < '0' || date[1] > '9') return 0;
+ tm.tm_sec = (date[0] - '0') * 10 + date[1] - '0';
+ date += 2;
+ if (y) {
+ if (*date != ' ') return 0;
+ date++;
+ if (date[0] < '0' || date[0] > '9') return 0;
+ if (date[1] < '0' || date[1] > '9') return 0;
+ if (date[2] < '0' || date[2] > '9') return 0;
+ if (date[3] < '0' || date[3] > '9') return 0;
+ tm.tm_year = (date[0] - '0') * 1000 + (date[1] - '0') * 100 + (date[2] - '0') * 10 + date[3] - '0' - 1900;
+ date += 4;
+ }
+ if (*date != ' ' && *date) return 0;
+
+ t = mktime(&tm);
+ if (t == (time_t) -1) return 0;
+ return t;
+}
+
+static int download_write(struct download *down, void *ptr, off_t to_write)
+{
+ int w;
+ int err;
+ if (to_write != (int)to_write || (int)to_write < 0) to_write = MAXINT;
+ try_write_again:
+ w = hard_write(down->handle, ptr, to_write);
+ if (w >= 0) err = 0;
+ else err = errno;
+ if (w <= -!to_write) {
+#ifdef EFBIG
+ if (err == EFBIG && !down->prog) {
+ if (to_write > 1) {
+ to_write >>= 1;
+ goto try_write_again;
+ }
+ if (down->last_pos == down->file_shift) goto no_e2big;
+ close_download_file(down);
+ increase_download_file(&down->file);
+ if ((down->handle = create_download_file(get_download_ses(down), down->cwd, down->file, 0, down->last_pos - down->file_shift)) < 0) return -1;
+ down->file_shift = down->last_pos;
+ goto try_write_again;
+ no_e2big:;
+ }
+#endif
+ if (get_download_ses(down)) {
+ unsigned char *emsg = stracpy(err ? strerror(err) : "Zero returned");
+ unsigned char *msg = stracpy(down->file);
+ msg_box(get_download_ses(down)->term, getml(msg, emsg, NULL), TEXT_(T_DOWNLOAD_ERROR), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_COULD_NOT_WRITE_TO_FILE), " ", msg, ": ", emsg, NULL, NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ }
+ return -1;
+ }
+ down->last_pos += w;
+ down->downloaded_something = 1;
+ return 0;
+}
+
+static void download_data(struct status *stat, struct download *down)
+{
+ struct cache_entry *ce;
+ struct fragment *frag;
+ int rs;
+ if (!(ce = stat->ce)) goto end_store;
+ if (stat->state >= S_WAIT && stat->state < S_TRANS) goto end_store;
+ if (!down->remotetime && ce->last_modified) down->remotetime = parse_http_date(ce->last_modified);
+ if (!down->downloaded_something) {
+ unsigned char *enc = get_content_encoding(ce->head, ce->url);
+ if (enc) {
+ if (!encoding_2_extension(enc)) down->decompress = 1;
+ mem_free(enc);
+ }
+ if (ce->redirect) {
+ if (down->redirect_cnt++ < MAX_REDIRECTS) {
+ unsigned char *u, *p, *pos;
+ unsigned char *prev_down_url;
+ int cache;
+ if (stat->state >= 0) change_connection(&down->stat, NULL, PRI_CANCEL);
+ u = join_urls(down->url, ce->redirect);
+ u = translate_hashbang(u);
+ if ((pos = extract_position(u))) mem_free(pos);
+ if (!http_options.bug_302_redirect) if (!ce->redirect_get && (p = strchr(down->url, POST_CHAR))) add_to_strn(&u, p);
+ prev_down_url = down->url;
+ down->url = u;
+ down->stat.state = S_WAIT_REDIR;
+ if (down->win) {
+ struct event ev = { EV_REDRAW, 0, 0, 0 };
+ ev.x = down->win->term->x;
+ ev.y = down->win->term->y;
+ down->win->handler(down->win, &ev, 0);
+ }
+ cache = NC_CACHE;
+ if (!strcmp(down->url, prev_down_url) || down->redirect_cnt >= MAX_CACHED_REDIRECTS) cache = NC_RELOAD;
+ mem_free(prev_down_url);
+ load_url(down->url, NULL, &down->stat, PRI_DOWNLOAD, cache, 1, down->last_pos);
+ return;
+ } else {
+ if (stat->state >= 0) change_connection(&down->stat, NULL, PRI_CANCEL);
+ stat->state = S_CYCLIC_REDIRECT;
+ goto end_store;
+ }
+ }
+ }
+ if (!down->decompress) foreach(frag, ce->frag) while (frag->offset <= down->last_pos && frag->offset + frag->length > down->last_pos) {
+#ifdef HAVE_OPEN_PREALLOC
+ if (!down->last_pos && !strcmp(down->file, down->orig_file) && (!down->stat.prg || down->stat.prg->size > 0)) {
+ struct stat st;
+ int rs;
+ EINTRLOOP(rs, fstat(down->handle, &st));
+ if (rs || !S_ISREG(st.st_mode)) goto skip_prealloc;
+ close_download_file(down);
+ delete_download_file(down);
+ if ((down->handle = create_download_file(get_download_ses(down), down->cwd, down->file, !down->prog ? CDF_EXCL : CDF_RESTRICT_PERMISSION | CDF_EXCL, down->stat.prg ? down->stat.prg->size : ce->length)) < 0) goto det_abt;
+ skip_prealloc:;
+ }
+#endif
+ if (download_write(down, frag->data + (down->last_pos - frag->offset), frag->length - (down->last_pos - frag->offset))) {
+ det_abt:
+ detach_connection(stat, down->last_pos);
+ abort_download(down);
+ return;
+ }
+ }
+ if (!down->decompress) detach_connection(stat, down->last_pos);
+ end_store:;
+ if (stat->state < 0) {
+ if (down->decompress) {
+ struct session *ses = get_download_ses(down);
+ unsigned char *start, *end;
+ int err;
+ get_file_by_term(ses ? ses->term : NULL, ce, &start, &end, &err);
+ if (err) goto det_abt;
+ while (down->last_pos < end - start) {
+ if (download_write(down, start + down->last_pos, end - start - down->last_pos)) goto det_abt;
+ }
+ }
+ if (stat->state != S__OK) {
+ unsigned char *t = get_err_msg(stat->state);
+ if (t) {
+ unsigned char *tt = stracpy(down->url);
+ if (strchr(tt, POST_CHAR)) *strchr(tt, POST_CHAR) = 0;
+ msg_box(get_download_ses(down)->term, getml(tt, NULL), TEXT_(T_DOWNLOAD_ERROR), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_ERROR_DOWNLOADING), " ", tt, ":\n\n", t, NULL, get_download_ses(down), 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC/*, TEXT_(T_RETRY), NULL, 0 !!! FIXME: retry */);
+ }
+ } else {
+ if (down->prog) {
+ close_download_file(down);
+ exec_on_terminal(get_download_ses(down)->term, down->prog, down->orig_file, !!down->prog_flag_block);
+ mem_free(down->prog), down->prog = NULL;
+ } else if (down->remotetime && download_utime) {
+ struct utimbuf foo;
+ unsigned char *file = stracpy(down->orig_file);
+ unsigned char *wd = get_cwd();
+ set_cwd(down->cwd);
+ foo.actime = foo.modtime = down->remotetime;
+ while (1) {
+ unsigned char *f = translate_download_file(file);
+ EINTRLOOP(rs, utime(f, &foo));
+ mem_free(f);
+ if (!strcmp(file, down->file)) break;
+ increase_download_file(&file);
+ }
+ mem_free(file);
+ if (wd) set_cwd(wd), mem_free(wd);
+ }
+ }
+ abort_download(down);
+ return;
+ }
+ if (down->win) {
+ struct event ev = { EV_REDRAW, 0, 0, 0 };
+ ev.x = down->win->term->x;
+ ev.y = down->win->term->y;
+ down->win->handler(down->win, &ev, 0);
+ }
+}
+
+unsigned char *translate_download_file(unsigned char *fi)
+{
+ unsigned char *file = stracpy("");
+ unsigned char *h;
+ if (fi[0] == '~' && dir_sep(fi[1]) && (h = getenv("HOME"))) {
+ add_to_strn(&file, h);
+ fi++;
+ }
+ add_to_strn(&file, fi);
+ return file;
+}
+
+int create_download_file(struct session *ses, unsigned char *cwd, unsigned char *fi, int mode, off_t siz)
+{
+ unsigned char *wd;
+ unsigned char *file;
+ int h;
+#ifdef NO_FILE_SECURITY
+ int perm = 0666;
+#else
+ int perm = mode & CDF_RESTRICT_PERMISSION ? 0600 : 0666;
+#endif
+ wd = get_cwd();
+ set_cwd(cwd);
+ file = translate_download_file(fi);
+#ifdef HAVE_OPEN_PREALLOC
+ if (siz && !(mode & CDF_NOTRUNC)) {
+ h = open_prealloc(file, O_CREAT | O_NOCTTY | O_WRONLY | O_TRUNC | (mode & CDF_EXCL ? O_EXCL : 0), perm, siz);
+ } else
+#endif
+ {
+ EINTRLOOP(h, open(file, O_CREAT | O_NOCTTY | O_WRONLY | (mode & CDF_NOTRUNC ? 0 : O_TRUNC) | (mode & CDF_EXCL ? O_EXCL : 0), perm));
+ }
+ if (h == -1) {
+ unsigned char *msg, *msge;
+ int errn = errno;
+ if (errn == EEXIST && mode & CDF_NO_POPUP_ON_EEXIST) {
+ h = -2;
+ goto x;
+ }
+ if (!ses) goto x;
+ msg = stracpy(file);
+ msge = stracpy(strerror(errn));
+ msg_box(ses->term, getml(msg, msge, NULL), TEXT_(T_DOWNLOAD_ERROR), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_COULD_NOT_CREATE_FILE), " ", msg, ": ", msge, NULL, NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ goto x;
+ }
+ set_bin(h);
+ x:
+ mem_free(file);
+ if (wd) set_cwd(wd), mem_free(wd);
+ return h;
+}
+
+static int create_or_append_download_file(struct session *ses, unsigned char *cwd, unsigned char *fi, int mode, int *hp, unsigned char **xl_file, off_t *last_pos, off_t *file_shift)
+{
+ int rs;
+ int down_flags = mode == DOWNLOAD_CONTINUE ? CDF_NOTRUNC : mode == DOWNLOAD_OVERWRITE ? 0 : CDF_EXCL;
+
+ *xl_file = stracpy(fi);
+ *last_pos = 0;
+ *file_shift = 0;
+
+ retry_next_file:
+ test_abort_downloads_to_file(*xl_file, ses->term->cwd, 1);
+
+ if ((*hp = create_download_file(ses, ses->term->cwd, *xl_file, down_flags, 0)) < 0)
+ goto err_free;
+
+ if (mode == DOWNLOAD_CONTINUE) {
+ off_t ls;
+ unsigned char *f;
+ struct stat st;
+
+ EINTRLOOP(rs, fstat(*hp, &st));
+ if (rs || !S_ISREG(st.st_mode))
+ goto ret_0;
+
+ EINTRLOOP(ls, lseek(*hp, 0, SEEK_END));
+ if (ls == (off_t)-1) {
+ unsigned char *emsg = stracpy(strerror(errno));
+ unsigned char *msg = stracpy(*xl_file);
+ msg_box(ses->term, getml(msg, emsg, NULL), TEXT_(T_DOWNLOAD_ERROR), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_ERROR_CALLING_LSEEK_ON_FILE), " ", msg, ": ", emsg, NULL, NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ goto err_close;
+ }
+ if ((off_t)(0UL + *last_pos + ls) < 0 ||
+ (off_t)(0UL + *last_pos + ls) < *last_pos) {
+ unsigned char *msg1 = stracpy(fi);
+ unsigned char *msg2 = stracpy(*xl_file);
+ msg_box(ses->term, getml(msg1, msg2, NULL), TEXT_(T_DOWNLOAD_ERROR), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_TOO_LARGE_FILE_SEQUENCE), " ", msg1, " - ", msg2, NULL, NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ goto err_close;
+ }
+ *last_pos += ls;
+
+ f = stracpy(*xl_file);
+ increase_download_file(&f);
+ EINTRLOOP(rs, stat(f, &st));
+ if (rs || !S_ISREG(st.st_mode)) {
+ mem_free(f);
+ goto ret_0;
+ }
+ EINTRLOOP(rs, close(*hp));
+ mem_free(*xl_file);
+ *xl_file = f;
+ *file_shift = *last_pos;
+ goto retry_next_file;
+ }
+
+ ret_0:
+ return 0;
+
+ err_close:
+ EINTRLOOP(rs, close(*hp));
+ err_free:
+ mem_free(*xl_file);
+ return -1;
+}
+
+static void increase_download_file(unsigned char **f)
+{
+ unsigned char *p = NULL, *pp = *f;
+ unsigned char *q;
+ while ((pp = strstr(pp, ".part-"))) p = pp += 6;
+ if (!p || !*p) {
+ no_suffix:
+ add_to_strn(f, ".part-2");
+ return;
+ }
+ for (q = p; *q; q++) if (*q < '0' || *q > '9') goto no_suffix;
+ for (q--; q >= p; q--) {
+ if (*q < '9') {
+ (*q)++;
+ return;
+ }
+ *q = '0';
+ }
+ *p = '1';
+ add_to_strn(f, "0");
+}
+
+static unsigned char *get_temp_name(unsigned char *url, unsigned char *head)
+{
+ int nl;
+ unsigned char *name, *fn, *fnx;
+ unsigned char *nm;
+ unsigned char *directory = NULL;
+#ifdef WIN32
+ directory = getenv("TMP");
+ if (!directory) directory = getenv("TEMP");
+#endif
+ nm = tempnam(directory, "links");
+ if (!nm) return NULL;
+#ifdef OS2
+ if (strlen(nm) > 4 && !strcasecmp(nm + strlen(nm) - 4, ".tmp")) nm[strlen(nm) - 4] = 0;
+#endif
+ name = init_str();
+ nl = 0;
+ add_to_str(&name, &nl, nm);
+ free(nm);
+ fn = get_filename_from_url(url, head, 1);
+#ifndef OS2
+ fnx = strchr(fn, '.');
+#else
+ fnx = strrchr(fn, '.');
+#endif
+ if (fnx) {
+ unsigned char *s;
+#ifdef OS2
+ if (strlen(fnx) > 4) fnx[4] = 0;
+#endif
+ s = stracpy(fnx);
+ check_shell_security(&s);
+ add_to_str(&name, &nl, s);
+ mem_free(s);
+ }
+ mem_free(fn);
+ return name;
+}
+
+unsigned char *subst_file(unsigned char *prog, unsigned char *file, int cyg_subst)
+{
+ unsigned char *orig_prog = prog;
+ unsigned char *nn;
+ unsigned char *n = init_str();
+ int l = 0;
+ while (*prog) {
+ int p;
+ for (p = 0; prog[p] && prog[p] != '%'; p++)
+ ;
+ add_bytes_to_str(&n, &l, prog, p);
+ prog += p;
+ if (*prog == '%') {
+ if (cyg_subst) {
+ unsigned char *conv = os_conv_to_external_path(file, orig_prog);
+ add_to_str(&n, &l, conv);
+ mem_free(conv);
+ } else {
+ add_to_str(&n, &l, file);
+ }
+ prog++;
+ }
+ }
+ nn = os_fixup_external_program(n);
+ mem_free(n);
+ return nn;
+}
+
+void start_download(struct session *ses, unsigned char *file, int mode)
+{
+ struct download *down;
+ int h;
+ unsigned char *url = ses->dn_url;
+ unsigned char *pos;
+ unsigned char *xl_file;
+ off_t last_pos = 0, file_shift = 0;
+
+ if (!url) return;
+ if ((pos = extract_position(url))) mem_free(pos);
+
+ if (create_or_append_download_file(ses, ses->term->cwd, file, mode, &h, &xl_file, &last_pos, &file_shift) < 0) return;
+
+ down = mem_calloc(sizeof(struct download));
+ down->url = stracpy(url);
+ down->stat.end = (void (*)(struct status *, void *))download_data;
+ down->stat.data = down;
+ down->decompress = 0;
+ down->last_pos = last_pos;
+ down->file_shift = file_shift;
+ down->cwd = stracpy(ses->term->cwd);
+ down->orig_file = stracpy(file);
+ down->file = xl_file;
+ down->handle = h;
+ down->ses = ses;
+ down->remotetime = 0;
+ add_to_list(downloads, down);
+ load_url(url, NULL, &down->stat, PRI_DOWNLOAD, NC_CACHE, 1, down->last_pos);
+ display_download(ses->term, down, ses);
+}
+
+void abort_all_downloads(void)
+{
+ while (!list_empty(downloads)) abort_download(downloads.next);
+}
+
+int f_is_finished(struct f_data *f)
+{
+ struct additional_file *af;
+ if (!f || f->rq->state >= 0) return 0;
+ if (f->fd && f->fd->rq && f->fd->rq->state >= 0) return 0;
+ if (f->af) foreach(af, f->af->af) if (!af->rq || af->rq->state >= 0) return 0;
+ return 1;
+}
+
+static int f_is_cacheable(struct f_data *f)
+{
+ if (!f || f->rq->state >= 0) return 0;
+ if (f->fd && f->fd->rq && f->fd->rq->state >= 0) return 0;
+ return 1;
+}
+
+static int f_need_reparse(struct f_data *f)
+{
+ struct additional_file *af;
+ if (!f || f->rq->state >= 0) return 1;
+ if (f->af) foreach(af, f->af->af) if (af->need_reparse > 0) return 1;
+ return 0;
+}
+
+static struct f_data *format_html(struct f_data_c *fd, struct object_request *rq, unsigned char *url, struct document_options *opt, int *cch)
+{
+ struct f_data *f;
+ pr(
+ if (cch) *cch = 0;
+ if (!rq->ce || !(f = init_formatted(opt))) goto nul;
+ f->fd = fd;
+ f->ses = fd->ses;
+ f->time_to_get = -(uttime)get_time();
+ clone_object(rq, &f->rq);
+ if (f->rq->ce) {
+ unsigned char *start; unsigned char *end;
+ int stl = -1;
+ struct additional_file *af;
+
+ if (fd->af) foreach(af, fd->af->af) if (af->need_reparse > 0) af->need_reparse = 0;
+
+ get_file(rq, &start, &end);
+ if (jsint_get_source(fd, &start, &end)) f->uncacheable = 1;
+ if (opt->plain == 2) {
+ start = init_str();
+ stl = 0;
+ add_to_str(&start, &stl, "<img src=\"");
+ add_to_str(&start, &stl, f->rq->ce->url);
+ add_to_str(&start, &stl, "\">");
+ end = start + stl;
+ }
+ really_format_html(f->rq->ce, start, end, f, fd->ses ? fd != fd->ses->screen : 0);
+ if (stl != -1) mem_free(start);
+ f->use_tag = f->rq->ce->count;
+ if (f->af) foreach(af, f->af->af) {
+ if (af->rq && af->rq->ce) {
+ af->use_tag = af->rq->ce->count;
+ af->use_tag2 = af->rq->ce->count2;
+ } else {
+ af->use_tag = 0;
+ af->use_tag2 = 0;
+ }
+ }
+ } else f->use_tag = 0;
+ f->time_to_get += (uttime)get_time();
+ ) nul:return NULL;
+ return f;
+}
+
+static void count_frames(struct f_data_c *fd, int *i)
+{
+ struct f_data_c *sub;
+ if (!fd) return;
+ if (fd->f_data) (*i)++;
+ foreach(sub, fd->subframes) count_frames(sub, i);
+}
+
+unsigned long formatted_info(int type)
+{
+ int i = 0;
+ struct session *ses;
+ struct f_data *ce;
+ switch (type) {
+ case CI_FILES:
+ foreach(ses, sessions)
+ foreach(ce, ses->format_cache) i++;
+ /* fall through */
+ case CI_LOCKED:
+ foreach(ses, sessions)
+ count_frames(ses->screen, &i);
+ return i;
+ default:
+ internal("formatted_info: bad request");
+ }
+ return 0;
+}
+
+static void f_data_attach(struct f_data_c *fd, struct f_data *f)
+{
+ struct additional_file *af;
+ f->rq->upcall = (void (*)(struct object_request *, void *))fd_loaded;
+ f->rq->data = fd;
+ free_additional_files(&fd->af);
+ fd->af = f->af;
+ if (f->af) {
+ f->af->refcount++;
+ foreachback(af, f->af->af) {
+ if (af->rq) {
+ af->rq->upcall = (void (*)(struct object_request *, void *))fd_loaded;
+ af->rq->data = fd;
+ } else {
+ request_object(fd->ses->term, af->url, f->rq->url, PRI_IMG, NC_CACHE, f->rq->upcall, f->rq->data, &af->rq);
+ }
+ }
+ }
+}
+
+static inline int is_format_cache_entry_uptodate(struct f_data *f)
+{
+ struct cache_entry *ce = f->rq->ce;
+ struct additional_file *af;
+ if (!ce || ce->count != f->use_tag) return 0;
+ if (f->af) foreach(af, f->af->af) {
+ struct cache_entry *ce = af->rq ? af->rq->ce : NULL;
+ tcount tag = ce ? ce->count : 0;
+ tcount tag2 = ce ? ce->count2 : 0;
+ if (af->need_reparse > 0) if (tag != af->use_tag) return 0;
+ if (af->unknown_image_size) if (tag2 != af->use_tag2) return 0;
+ }
+ return 1;
+}
+
+static void detach_f_data(struct f_data **ff)
+{
+ struct f_data *f = *ff;
+ struct f_data_c *fd;
+ if (!f) return;
+ fd = f->fd;
+ *ff = NULL;
+#ifdef G
+ f->hlt_pos = -1;
+ f->hlt_len = 0;
+ f->start_highlight_x = -1;
+ f->start_highlight_y = -1;
+#endif
+ if (f->frame_desc_link) {
+ destroy_formatted(f);
+ return;
+ }
+ f->fd = NULL;
+#ifdef G
+ f->locked_on = NULL;
+ free_list(f->image_refresh);
+#endif
+ if (f->uncacheable || !f_is_cacheable(f) || !is_format_cache_entry_uptodate(f) || !f->ses) {
+ destroy_formatted(f);
+ } else {
+ add_to_list(f->ses->format_cache, f);
+ copy_additional_files(&fd->af); /* break structure sharing */
+ }
+}
+
+static int shrink_format_cache(int u)
+{
+ static int sc = 0;
+ int scc;
+ int r = 0;
+ struct f_data *f;
+ int c = 0;
+ struct session *ses;
+ foreach(ses, sessions) foreach(f, ses->format_cache) {
+ if (u == SH_FREE_ALL || !is_format_cache_entry_uptodate(f)) {
+ struct f_data *ff = f;
+ f = f->prev;
+ del_from_list(ff);
+ destroy_formatted(ff);
+ r |= ST_SOMETHING_FREED;
+ } else c++;
+ }
+ if (c > max_format_cache_entries || (c && u == SH_FREE_SOMETHING)) {
+ int sc_cycle = 0;
+ unsigned char freed_in_cycle = 0;
+ a:
+ scc = sc++;
+ foreach (ses, sessions) if (!scc--) {
+ foreachback(f, ses->format_cache) {
+ struct f_data *ff = f;
+ f = f->next;
+ del_from_list(ff);
+ destroy_formatted(ff);
+ r |= ST_SOMETHING_FREED;
+ if (--c <= max_format_cache_entries ||
+ u == SH_FREE_SOMETHING) goto ret;
+ freed_in_cycle = 1;
+ goto a;
+ }
+ goto a;
+ }
+ sc = 0;
+ sc_cycle++;
+ if (sc_cycle >= 2 && !freed_in_cycle)
+ goto ret;
+ freed_in_cycle = 0;
+ goto a;
+ }
+ ret:
+ return r | (!c ? ST_CACHE_EMPTY : 0);
+}
+
+void init_fcache(void)
+{
+ register_cache_upcall(shrink_format_cache, "format");
+}
+
+static void calculate_scrollbars(struct f_data_c *fd, struct f_data *f)
+{
+ fd->hsb = 0, fd->vsb = 0;
+ fd->hsbsize = 0, fd->vsbsize = 0;
+ if (!f)
+ return;
+ if (f->opt.scrolling == SCROLLING_YES) {
+ fd->hsb = 1, fd->vsb = 1;
+ } else if (f->opt.scrolling == SCROLLING_AUTO) {
+ x:
+ if (!fd->hsb && f->x > fd->xw - fd->vsb * G_SCROLL_BAR_WIDTH) {
+ fd->hsb = 1;
+ goto x;
+ }
+ if (!fd->vsb && f->y > fd->yw - fd->hsb * G_SCROLL_BAR_WIDTH) {
+ fd->vsb = 1;
+ goto x;
+ }
+ }
+ if (fd->hsb) fd->hsbsize = fd->xw - fd->vsb * G_SCROLL_BAR_WIDTH;
+ if (fd->vsb) fd->vsbsize = fd->yw - fd->hsb * G_SCROLL_BAR_WIDTH;
+ if (fd->hsbsize < 0) fd->hsb = 0;
+ if (fd->vsbsize < 0) fd->vsb = 0;
+}
+
+struct f_data *cached_format_html(struct f_data_c *fd, struct object_request *rq, unsigned char *url, struct document_options *opt, int *cch)
+{
+ struct f_data *f;
+ /*if (F) opt->tables = 0;*/
+ if (fd->marginwidth != -1) {
+ int marg = (fd->marginwidth + G_HTML_MARGIN - 1) / G_HTML_MARGIN;
+ if (marg >= 0 && marg < 9) opt->margin = marg;
+ }
+ if (opt->plain == 2) opt->margin = 0, opt->display_images = 1;
+ pr(
+ if (!jsint_get_source(fd, NULL, NULL) && fd->ses) {
+ if (fd->f_data && !strcmp(fd->f_data->rq->url, url) && !compare_opt(&fd->f_data->opt, opt) && is_format_cache_entry_uptodate(fd->f_data)) {
+ f = fd->f_data;
+ xpr();
+ goto ret_f;
+ }
+ foreach(f, fd->ses->format_cache) {
+ if (!strcmp(f->rq->url, url) && !compare_opt(&f->opt, opt)) {
+ if (!is_format_cache_entry_uptodate(f)) {
+ struct f_data *ff = f;
+ f = f->prev;
+ del_from_list(ff);
+ destroy_formatted(ff);
+ continue;
+ }
+ detach_f_data(&fd->f_data);
+ del_from_list(f);
+ f->fd = fd;
+ if (cch) *cch = 1;
+ f_data_attach(fd, f);
+ xpr();
+ goto ret_f;
+ }
+ }
+ }) {};
+ detach_f_data(&fd->f_data);
+ f = format_html(fd, rq, url, opt, cch);
+ if (f) f->fd = fd;
+ shrink_memory(SH_CHECK_QUOTA);
+ret_f:
+ calculate_scrollbars(fd, f);
+ return f;
+}
+
+static void create_new_frames(struct f_data_c *fd, struct frameset_desc *fs, struct document_options *o)
+{
+ struct location *loc;
+ struct frame_desc *frm;
+ int c_loc;
+ int i;
+ int x, y;
+ int xp, yp;
+
+ i = 0;
+#ifdef JS
+ if (fd->onload_frameset_code)mem_free(fd->onload_frameset_code);
+ fd->onload_frameset_code=stracpy(fs->onload_code);
+#endif
+ foreach(loc, fd->loc->subframes) i++;
+ if (i != fs->n) {
+ while (!list_empty(fd->loc->subframes)) destroy_location(fd->loc->subframes.next);
+ c_loc = 1;
+ } else {
+ c_loc = 0;
+ loc = fd->loc->subframes.next;
+ }
+
+ yp = fd->yp;
+ frm = &fs->f[0];
+ for (y = 0; y < fs->y; y++) {
+ xp = fd->xp;
+ for (x = 0; x < fs->x; x++) {
+ struct f_data_c *nfdc;
+ if (!(nfdc = create_f_data_c(fd->ses, fd))) return;
+ if (c_loc) {
+ struct list_head *l = (struct list_head *)fd->loc->subframes.prev;
+ loc = new_location();
+ add_to_list(*l, loc);
+ loc->parent = fd->loc;
+ loc->name = stracpy(frm->name);
+ if ((loc->url = stracpy(frm->url)))
+ nfdc->goto_position = extract_position(loc->url);
+ }
+ nfdc->xp = xp; nfdc->yp = yp;
+ nfdc->xw = frm->xw;
+ nfdc->yw = frm->yw;
+ nfdc->scrolling = frm->scrolling;
+ nfdc->loc = loc;
+ nfdc->vs = loc->vs;
+ if (frm->marginwidth != -1) nfdc->marginwidth = frm->marginwidth;
+ else nfdc->marginwidth = fd->marginwidth;
+ if (frm->marginheight != -1) nfdc->marginheight = frm->marginheight;
+ else nfdc->marginheight = fd->marginheight;
+ /*debug("frame: %d %d, %d %d\n", nfdc->xp, nfdc->yp, nfdc->xw, nfdc->yw);*/
+ {
+ struct list_head *l = (struct list_head *)fd->subframes.prev;
+ add_to_list(*l, nfdc);
+ }
+ if (frm->subframe) {
+ create_new_frames(nfdc, frm->subframe, o);
+ /*nfdc->f_data = init_formatted(&fd->f_data->opt);*/
+ nfdc->f_data = init_formatted(o);
+ nfdc->f_data->frame_desc = copy_frameset_desc(frm->subframe);
+ nfdc->f_data->frame_desc_link = 1;
+ } else {
+ if (fd->depth < HTML_MAX_FRAME_DEPTH && loc->url && *loc->url)
+ request_object(fd->ses->term, loc->url, fd->loc->url, PRI_FRAME, NC_CACHE, (void (*)(struct object_request *, void *))fd_loaded, nfdc, &nfdc->rq);
+ }
+ xp += frm->xw + gf_val(1, 0);
+ frm++;
+ if (!c_loc) loc = loc->next;
+ }
+ yp += (frm - 1)->yw + gf_val(1, 0);
+ }
+}
+
+static void html_interpret(struct f_data_c *fd)
+{
+ int i;
+ int oxw; int oyw; int oxp; int oyp;
+ struct f_data_c *sf;
+ int cch;
+ /*int first = !fd->f_data;*/
+ struct document_options o;
+ struct js_event_spec *doc_js;
+ struct js_event_spec **link_js;
+ int nlink_js;
+ if (!fd->loc) goto d;
+ if (fd->f_data) {
+ oxw = fd->f_data->opt.xw;
+ oyw = fd->f_data->opt.yw;
+ oxp = fd->f_data->opt.xp;
+ oyp = fd->f_data->opt.yp;
+ } else {
+ oxw = oyw = oxp = oyp = -1;
+ }
+ memset(&o, 0, sizeof(struct document_options));
+ ds2do(&fd->ses->ds, &o, F || fd->ses->term->spec->col);
+ if (fd->parent && fd->parent->f_data && !o.hard_assume) {
+ o.assume_cp = fd->parent->f_data->cp;
+ }
+#ifdef JS
+ o.js_enable = js_enable;
+#else
+ o.js_enable=0;
+#endif
+#ifdef G
+ o.aspect_on=aspect_on;
+ o.bfu_aspect=bfu_aspect;
+#else
+ o.aspect_on=0;
+ o.bfu_aspect=0;
+#endif
+ o.plain = fd->vs->plain;
+ if (o.plain == 1) {
+ o.xp = 0;
+ o.yp = 0;
+ o.xw = MAXINT;
+ o.yw = MAXINT;
+ } else {
+ o.xp = fd->xp;
+ o.yp = fd->yp;
+ o.xw = fd->xw;
+ o.yw = fd->yw;
+ }
+ o.scrolling = fd->scrolling;
+ if (fd->ses->term->spec) {
+ if (!F) {
+ if (!fd->ses->ds.t_ignore_document_color)
+ o.col = fd->ses->term->spec->col;
+ else
+ o.col = 0;
+ }
+#ifdef G
+ else {
+ if (!fd->ses->ds.g_ignore_document_color)
+ o.col = 2;
+ else
+ o.col = 0;
+ }
+#endif
+ o.cp = fd->ses->term->spec->charset;
+ o.braille = fd->ses->term->spec->braille;
+ } else {
+ o.col = 3;
+ o.cp = 0;
+ o.braille = 0;
+ }
+ if (!(o.framename = fd->loc->name)) o.framename = NULL;
+ doc_js = NULL;
+ link_js = DUMMY;
+ nlink_js = 0;
+ if (fd->f_data) {
+ copy_js_event_spec(&doc_js, fd->f_data->js_event);
+ if (fd->f_data->nlinks > fd->f_data->nlink_events) nlink_js = fd->f_data->nlinks; else nlink_js = fd->f_data->nlink_events;
+ if ((unsigned)nlink_js > MAXINT / sizeof(struct js_event_spec *)) overalloc();
+ link_js = mem_alloc(nlink_js * sizeof(struct js_event_spec *));
+ for (i = 0; i < fd->f_data->nlinks; i++) copy_js_event_spec(&link_js[i], fd->f_data->links[i].js_event);
+ for (; i < fd->f_data->nlink_events; i++) copy_js_event_spec(&link_js[i], fd->f_data->link_events[i]);
+ }
+ if (!(fd->f_data = cached_format_html(fd, fd->rq, fd->rq->url, &o, &cch))) {
+ for (i = 0; i < nlink_js; i++) free_js_event_spec(link_js[i]);
+ mem_free(link_js);
+ free_js_event_spec(doc_js);
+ goto d;
+ }
+ if (join_js_event_spec(&fd->f_data->js_event, doc_js)) fd->f_data->uncacheable = 1;
+ for (i = 0; i < fd->f_data->nlink_events; i++) free_js_event_spec(fd->f_data->link_events[i]);
+ mem_free(fd->f_data->link_events);
+ fd->f_data->link_events = link_js;
+ fd->f_data->nlink_events = nlink_js;
+ for (i = 0; i < fd->f_data->nlinks && i < nlink_js; i++) if (join_js_event_spec(&fd->f_data->links[i].js_event, link_js[i])) fd->f_data->uncacheable = 1;
+ free_js_event_spec(doc_js);
+
+ /* erase frames if changed */
+ i = 0;
+ foreach(sf, fd->subframes) i++;
+ if (i != (fd->f_data->frame_desc ? fd->f_data->frame_desc->n : 0) && (f_is_finished(fd->f_data) || !f_need_reparse(fd->f_data))) {
+ rd:
+ foreach(sf, fd->subframes) reinit_f_data_c(sf);
+ free_list(fd->subframes);
+
+ /* create new frames */
+ if (fd->f_data->frame_desc) create_new_frames(fd, fd->f_data->frame_desc, &fd->f_data->opt);
+ } else {
+ if (fd->f_data->frame_desc && fd->f_data->rq->state < 0) {
+ if (fd->f_data->opt.xw != oxw ||
+ fd->f_data->opt.yw != oyw ||
+ fd->f_data->opt.xp != oxp ||
+ fd->f_data->opt.yp != oyp) goto rd;
+ }
+ }
+
+ d:;
+ /*draw_fd(fd);*/
+}
+
+void html_interpret_recursive(struct f_data_c *f)
+{
+ struct f_data_c *fd;
+ if (f->rq) html_interpret(f);
+ foreach(fd, f->subframes) html_interpret_recursive(fd);
+}
+
+/* You get a struct_additionl_file. never mem_free it. When you stop
+ * using it, just forget the pointer.
+ */
+struct additional_file *request_additional_file(struct f_data *f, unsigned char *url_)
+{
+ struct additional_file *af;
+ unsigned char *u, *url;
+ url = stracpy(url_);
+ if ((u = extract_position(url))) mem_free(u);
+ if (!f->af) {
+ if (!(f->af = f->fd->af)) {
+ f->af = f->fd->af = mem_alloc(sizeof(struct additional_files));
+ f->af->refcount = 1;
+ init_list(f->af->af);
+ }
+ f->af->refcount++;
+ }
+ foreach(af, f->af->af) if (!strcmp(af->url, url)) {
+ mem_free(url);
+ return af;
+ }
+ af = mem_alloc(sizeof(struct additional_file) + strlen(url));
+ af->use_tag = 0;
+ af->use_tag2 = 0;
+ strcpy(af->url, url);
+ request_object(f->ses->term, url, f->rq->url, PRI_IMG, NC_CACHE, f->rq->upcall, f->rq->data, &af->rq);
+ af->need_reparse = 0;
+ af->unknown_image_size = 0;
+ add_to_list(f->af->af, af);
+ mem_free(url);
+ return af;
+}
+
+static void copy_additional_files(struct additional_files **a)
+{
+ struct additional_files *afs;
+ struct additional_file *af;
+ if (!*a || (*a)->refcount == 1) return;
+ (*a)->refcount--;
+ afs = mem_alloc(sizeof(struct additional_files));
+ afs->refcount = 1;
+ init_list(afs->af);
+ foreachback(af, (*a)->af) {
+ struct additional_file *afc = mem_alloc(sizeof(struct additional_file) + strlen(af->url));
+ memcpy(afc, af, sizeof(struct additional_file) + strlen(af->url));
+ if (af->rq) clone_object(af->rq, &afc->rq);
+ add_to_list(afs->af, afc);
+ }
+ *a = afs;
+}
+
+#ifdef G
+
+static void image_timer(struct f_data_c *fd)
+{
+ struct image_refresh *ir;
+ struct list_head new;
+ struct list_head *newp = do_not_optimize_here(&new);
+ init_list(*newp);
+ fd->image_timer = -1;
+ if (!fd->f_data) return;
+ foreach (ir, fd->f_data->image_refresh) {
+ if (ir->t > G_IMG_REFRESH) ir->t -= G_IMG_REFRESH;
+ else {
+ struct image_refresh *irr = ir->prev;
+ del_from_list(ir);
+ add_to_list(*newp, ir);
+ ir = irr;
+ }
+ }
+ foreach (ir, *newp) {
+ /*fprintf(stderr, "DRAW: %p\n", ir->img);*/
+ draw_one_object(fd, ir->img);
+ }
+ free_list(*newp);
+ if (fd->image_timer == -1 && !list_empty(fd->f_data->image_refresh)) fd->image_timer = install_timer(G_IMG_REFRESH, (void (*)(void *))image_timer, fd);
+}
+
+void refresh_image(struct f_data_c *fd, struct g_object *img, ttime tm)
+{
+ struct image_refresh *ir;
+ if (!fd->f_data) return;
+ foreach (ir, fd->f_data->image_refresh) if (ir->img == img) {
+ if (ir->t > tm) ir->t = tm;
+ return;
+ }
+ ir = mem_alloc(sizeof(struct image_refresh));
+ ir->img = img;
+ ir->t = tm;
+ add_to_list(fd->f_data->image_refresh, ir);
+ if (fd->image_timer == -1) fd->image_timer = install_timer(G_IMG_REFRESH, (void (*)(void *))image_timer, fd);
+}
+
+#endif
+
+void reinit_f_data_c(struct f_data_c *fd)
+{
+ struct additional_file *af;
+ struct f_data_c *fd1;
+#ifdef G
+ if (F)
+ if (fd == current_frame(fd->ses))
+ fd->ses->locked_link = 0;
+#endif
+ jsint_destroy(fd);
+ foreach(fd1, fd->subframes) {
+ if (fd->ses->wtd_target_base == fd1) fd->ses->wtd_target_base = NULL;
+ reinit_f_data_c(fd1);
+ if (fd->ses->wtd_target_base == fd1) fd->ses->wtd_target_base = fd;
+#ifdef JS
+ if (fd->ses->defered_target_base == fd1) fd->ses->defered_target_base = fd;
+#endif
+ }
+ free_list(fd->subframes);
+#ifdef JS
+ if (fd->onload_frameset_code)mem_free(fd->onload_frameset_code),fd->onload_frameset_code=NULL;
+#endif
+ fd->loc = NULL;
+ if (fd->f_data && fd->f_data->rq) fd->f_data->rq->upcall = NULL;
+ if (fd->f_data && fd->f_data->af) foreach(af, fd->f_data->af->af) if (af->rq) {
+ af->rq->upcall = NULL;
+ if (af->rq->state != O_OK) release_object(&af->rq);
+ }
+ if (fd->af) foreach(af, fd->af->af) if (af->rq) af->rq->upcall = NULL;
+ free_additional_files(&fd->af);
+ detach_f_data(&fd->f_data);
+ release_object(&fd->rq);
+ if (fd->link_bg) mem_free(fd->link_bg), fd->link_bg = NULL;
+ fd->link_bg_n = 0;
+ if (fd->goto_position) mem_free(fd->goto_position), fd->goto_position = NULL;
+ if (fd->went_to_position) mem_free(fd->went_to_position), fd->went_to_position = NULL;
+ fd->next_update = get_time();
+ fd->done = 0;
+ fd->parsed_done = 0;
+ if (fd->image_timer != -1) kill_timer(fd->image_timer), fd->image_timer = -1;
+ if (fd->refresh_timer != -1) kill_timer(fd->refresh_timer), fd->refresh_timer = -1;
+}
+
+struct f_data_c *create_f_data_c(struct session *ses, struct f_data_c *parent)
+{
+ static long id = 1;
+ struct f_data_c *fd;
+ fd = mem_calloc(sizeof(struct f_data_c));
+ fd->parent = parent;
+ fd->ses = ses;
+ fd->depth = parent ? parent->depth + 1 : 1;
+ init_list(fd->subframes);
+ fd->next_update = get_time();
+ fd->done = 0;
+ fd->parsed_done = 0;
+ fd->script_t = 0;
+ fd->id = id++;
+ fd->marginwidth = fd->marginheight = -1;
+ fd->image_timer = -1;
+ fd->refresh_timer = -1;
+ fd->scrolling = SCROLLING_AUTO;
+ return fd;
+}
+
+static int plain_type(struct session *ses, struct object_request *rq, unsigned char **p)
+{
+ struct cache_entry *ce;
+ unsigned char *ct;
+ int r = 0;
+ if (p) *p = NULL;
+ if (!rq || !(ce = rq->ce)) {
+ r = 1;
+ goto f;
+ }
+ if (!(ct = get_content_type(ce->head, ce->url))) goto f;
+ if (is_html_type(ct)) goto ff;
+ r = 1;
+ if (!strcasecmp(ct, "text/plain") || !strcasecmp(ct, "file/txt")) goto ff;
+ r = 2;
+ if (F && known_image_type(ct)) goto ff;
+ r = -1;
+
+ ff:
+ if (!p) mem_free(ct);
+ else *p = ct;
+ f:
+ return r;
+}
+
+static void refresh_timer(struct f_data_c *fd)
+{
+ if (fd->ses->rq) {
+ fd->refresh_timer = install_timer(500, (void (*)(void *))refresh_timer, fd);
+ return;
+ }
+ fd->refresh_timer = -1;
+ if (fd->f_data && fd->f_data->refresh) {
+ fd->refresh_timer = install_timer(fd->f_data->refresh_seconds * 1000, (void (*)(void *))refresh_timer, fd);
+ goto_url_f(fd->ses, NULL, fd->f_data->refresh, "_self", fd, -1, 0, 0, 1);
+ }
+}
+
+#ifdef JS
+static int frame_and_all_subframes_loaded(struct f_data_c *fd)
+{
+ struct f_data_c *f;
+ int loaded=fd->done||fd->rq==NULL;
+
+ if (loaded) /* this frame is loaded */
+ foreach(f,fd->subframes)
+ {
+ loaded=frame_and_all_subframes_loaded(f);
+ if (!loaded)break;
+ }
+ return loaded;
+}
+#endif
+
+void fd_loaded(struct object_request *rq, struct f_data_c *fd)
+{
+ int first = !fd->f_data;
+ if (fd->done) {
+ if (f_is_finished(fd->f_data)) goto priint;
+ else fd->done = 0, fd->parsed_done = 1;
+ }
+ if (fd->parsed_done && f_need_reparse(fd->f_data)) fd->parsed_done = 0;
+ if (fd->vs->plain == -1 && rq->state != O_WAITING) {
+ fd->vs->plain = plain_type(fd->ses, fd->rq, NULL);
+ }
+ if (fd->rq->state < 0 && (f_is_finished(fd->f_data) || !fd->f_data)) {
+ if (!fd->parsed_done) {
+ html_interpret(fd);
+ if (fd->went_to_position) {
+ if (!fd->goto_position) fd->goto_position = fd->went_to_position, fd->went_to_position = NULL;
+ else mem_free(fd->went_to_position), fd->went_to_position = NULL;
+ }
+ }
+ draw_fd(fd);
+ /* it may happen that html_interpret requests load of additional file */
+ if (!f_is_finished(fd->f_data)) goto more_data;
+fn:
+ if (fd->f_data->are_there_scripts) {
+ jsint_scan_script_tags(fd);
+ if (!f_is_finished(fd->f_data)) goto more_data;
+ }
+ fd->done = 1;
+ fd->parsed_done = 0;
+ if (fd->f_data->refresh) {
+ if (fd->refresh_timer != -1) kill_timer(fd->refresh_timer);
+ fd->refresh_timer = install_timer((uttime)fd->f_data->refresh_seconds * 1000, (void (*)(void *))refresh_timer, fd);
+ }
+#ifdef JS
+ jsint_run_queue(fd);
+#endif
+ } else if ((ttime)((uttime)get_time() - (uttime)fd->next_update) >= 0 || (rq == fd->rq && rq->state < 0)) {
+ ttime t;
+ if (!fd->parsed_done) {
+ html_interpret(fd);
+ if (fd->rq->state < 0 && !f_need_reparse(fd->f_data)) {
+ if (fd->went_to_position) {
+ if (!fd->goto_position) fd->goto_position = fd->went_to_position, fd->went_to_position = NULL;
+ else mem_free(fd->went_to_position), fd->went_to_position = NULL;
+ }
+ fd->parsed_done = 1;
+ }
+ }
+ draw_fd(fd);
+ if (fd->rq->state < 0 && f_is_finished(fd->f_data)) goto fn;
+more_data:
+ t = fd->f_data ? ((uttime)(fd->parsed_done ? 0 : fd->f_data->time_to_get * DISPLAY_TIME) + (uttime)fd->f_data->time_to_draw * IMG_DISPLAY_TIME) : 0;
+ if (t < DISPLAY_TIME_MIN) t = DISPLAY_TIME_MIN;
+ if (first && t > DISPLAY_TIME_MAX_FIRST) t = DISPLAY_TIME_MAX_FIRST;
+ fd->next_update = (uttime)get_time() + t;
+ } else {
+ change_screen_status(fd->ses);
+ print_screen_status(fd->ses);
+ }
+priint:
+ /* process onload handler of a frameset */
+#ifdef JS
+ {
+ int all_loaded;
+
+ /* go to parent and test if all subframes are loaded, if yes, call onload handler */
+
+ if (!fd->parent) goto hell; /* this frame has no parent, skip */
+ if (!fd->parent->onload_frameset_code)goto hell; /* no onload handler, skip all this */
+ all_loaded=frame_and_all_subframes_loaded(fd->parent);
+ if (!all_loaded) goto hell;
+ /* parent has all subframes loaded */
+ jsint_execute_code(fd->parent,fd->parent->onload_frameset_code,strlen(fd->parent->onload_frameset_code),-1,-1,-1, NULL);
+ mem_free(fd->parent->onload_frameset_code), fd->parent->onload_frameset_code=NULL;
+ hell:;
+ }
+#endif
+ if (rq && (rq->state == O_FAILED || rq->state == O_INCOMPLETE) && (fd->rq == rq || fd->ses->rq == rq)) print_error_dialog(fd->ses, &rq->stat, rq->url);
+#ifdef LINKS_TESTMODE_DOCUMENT_AUTO_EXIT
+ if (f_is_finished(fd->f_data))
+ terminate_loop = 1;
+#endif
+}
+
+static unsigned location_id = 0;
+
+static struct location *new_location(void)
+{
+ struct location *loc;
+ loc = mem_calloc(sizeof(struct location));
+ loc->location_id = ++location_id;
+ init_list(loc->subframes);
+ loc->vs = create_vs();
+ return loc;
+}
+
+static struct location *alloc_ses_location(struct session *ses)
+{
+ struct location *loc;
+ if (!(loc = new_location())) return NULL;
+ add_to_list(ses->history, loc);
+ return loc;
+}
+
+static void subst_location(struct f_data_c *fd, struct location *old, struct location *new)
+{
+ struct f_data_c *f;
+ foreach(f, fd->subframes) subst_location(f, old, new);
+ if (fd->loc == old) fd->loc = new;
+}
+
+static struct location *copy_sublocations(struct session *ses, struct location *d, struct location *s, struct location *x)
+{
+ struct location *dl, *sl, *y, *z;
+ d->name = stracpy(s->name);
+ if (s == x) return d;
+ d->url = stracpy(s->url);
+ d->prev_url = stracpy(s->prev_url);
+ destroy_vs(d->vs);
+ d->vs = s->vs; s->vs->refcount++;
+ subst_location(ses->screen, s, d);
+ y = NULL;
+ foreach(sl, s->subframes) {
+ if ((dl = new_location())) {
+ struct list_head *l = (struct list_head *)d->subframes.prev;
+ add_to_list(*l, dl);
+ dl->parent = d;
+ z = copy_sublocations(ses, dl, sl, x);
+ if (z && y) internal("copy_sublocations: crossed references");
+ if (z) y = z;
+ }
+ }
+ return y;
+}
+
+static struct location *copy_location(struct session *ses, struct location *loc)
+{
+ struct location *l2, *l1, *nl;
+ l1 = cur_loc(ses);
+ if (!(l2 = alloc_ses_location(ses))) return NULL;
+ if (!(nl = copy_sublocations(ses, l2, l1, loc))) internal("copy_location: sublocation not found");
+ return nl;
+}
+
+static struct f_data_c *new_main_location(struct session *ses)
+{
+ struct location *loc;
+ if (!(loc = alloc_ses_location(ses))) return NULL;
+ reinit_f_data_c(ses->screen);
+ ses->screen->loc = loc;
+ ses->screen->vs = loc->vs;
+ if (ses->wanted_framename) loc->name=ses->wanted_framename, ses->wanted_framename=NULL;
+ return ses->screen;
+}
+
+static struct f_data_c *copy_location_and_replace_frame(struct session *ses, struct f_data_c *fd)
+{
+ struct location *loc;
+ if (!(loc = copy_location(ses, fd->loc))) return NULL;
+ reinit_f_data_c(fd);
+ fd->loc = loc;
+ fd->vs = loc->vs;
+ return fd;
+}
+
+/* vrati frame prislusici danemu targetu
+ pokud takovy frame nenajde, vraci NULL
+ */
+struct f_data_c *find_frame(struct session *ses, unsigned char *target, struct f_data_c *base)
+{
+ struct f_data_c *f, *ff;
+ if (!base) base = ses->screen;
+ if (!target || !*target) return base;
+ if (!strcasecmp(target, "_blank"))
+ return NULL; /* open in new window */
+ if (!strcasecmp(target, "_top"))
+ return ses->screen;
+ if (!strcasecmp(target, "_self")) return base;
+ if (!strcasecmp(target, "_parent")) {
+ for (ff = base->parent; ff && !ff->rq; ff = ff->parent)
+ ;
+ return ff ? ff : ses->screen;
+ }
+ f = ses->screen;
+ if (f->loc && f->loc->name && !strcasecmp(f->loc->name, target)) return f;
+ d:
+ foreach(ff, f->subframes) if (ff->loc && ff->loc->name && !strcasecmp(ff->loc->name, target)) return ff;
+ if (!list_empty(f->subframes)) {
+ f = f->subframes.next;
+ goto d;
+ }
+ u:
+ if (!f->parent) return NULL;
+ if (f->next == (void *)&f->parent->subframes) {
+ f = f->parent;
+ goto u;
+ }
+ f = f->next;
+ goto d;
+}
+
+static void destroy_location(struct location *loc)
+{
+ while (loc->subframes.next != &loc->subframes) destroy_location(loc->subframes.next);
+ del_from_list(loc);
+ if (loc->name) mem_free(loc->name);
+ if (loc->url) mem_free(loc->url);
+ if (loc->prev_url) mem_free(loc->prev_url);
+ destroy_vs(loc->vs);
+ mem_free(loc);
+}
+
+static void clear_forward_history(struct session *ses)
+{
+ while (!list_empty(ses->forward_history)) destroy_location(ses->forward_history.next);
+}
+
+static void ses_go_forward(struct session *ses, int plain, int refresh)
+{
+ struct location *cl;
+ struct f_data_c *fd;
+ clear_forward_history(ses);
+ if (ses->search_word) mem_free(ses->search_word), ses->search_word = NULL;
+ if (ses->default_status){mem_free(ses->default_status);ses->default_status=NULL;} /* smazeme default status, aby neopruzoval na jinych strankach */
+ if ((fd = find_frame(ses, ses->wtd_target, ses->wtd_target_base))&&fd!=ses->screen) {
+ cl = NULL;
+ if (refresh && fd->loc && !strcmp(fd->loc->url, ses->rq->url)) cl = cur_loc(ses);
+ fd = copy_location_and_replace_frame(ses, fd);
+ if (cl) destroy_location(cl);
+ } else fd = new_main_location(ses);
+ if (!fd) return;
+ fd->vs->plain = plain;
+ ses->wtd = NULL;
+ fd->rq = ses->rq; ses->rq = NULL;
+ fd->goto_position = ses->goto_position; ses->goto_position = NULL;
+ fd->loc->url = stracpy(fd->rq->url);
+ fd->loc->prev_url = stracpy(fd->rq->prev_url);
+ fd->rq->upcall = (void (*)(struct object_request *, void *))fd_loaded;
+ fd->rq->data = fd;
+ fd->rq->upcall(fd->rq, fd);
+ draw_formatted(ses);
+}
+
+static void ses_go_backward(struct session *ses)
+{
+ int n;
+ struct location *loc;
+ if (ses->search_word) mem_free(ses->search_word), ses->search_word = NULL;
+ if (ses->default_status){mem_free(ses->default_status);ses->default_status=NULL;} /* smazeme default status, aby neopruzoval na jinych strankach */
+ reinit_f_data_c(ses->screen);
+ if (!ses->wtd_num_steps) internal("ses_go_backward: wtd_num_steps is zero");
+ if (ses->wtd_num_steps > 0) {
+ n = ses->wtd_num_steps;
+ foreach(loc, ses->history) {
+ if (!n--) goto have_back_loc;
+ }
+ internal("ses_go_backward: session history disappeared");
+ return;
+ have_back_loc:
+ for (n = 0; n < ses->wtd_num_steps; n++) {
+ loc = cur_loc(ses);
+ del_from_list(loc);
+ add_to_list(ses->forward_history, loc);
+ }
+ } else {
+ n = ses->wtd_num_steps;
+ foreach(loc, ses->forward_history) {
+ if (!++n) goto have_fwd_loc;
+ }
+ internal("ses_go_backward: session forward history disappeared");
+ return;
+ have_fwd_loc:
+ for (n = 0; n < -ses->wtd_num_steps; n++) {
+ loc = (struct location *)ses->forward_history.next;
+ del_from_list(loc);
+ add_to_list(ses->history, loc);
+ }
+ }
+#ifdef G
+ ses->locked_link = 0;
+#endif
+ ses->screen->loc = cur_loc(ses);
+ ses->screen->vs = ses->screen->loc->vs;
+ ses->wtd = NULL;
+ ses->screen->rq = ses->rq; ses->rq = NULL;
+ ses->screen->rq->upcall = (void (*)(struct object_request *, void *))fd_loaded;
+ ses->screen->rq->data = ses->screen;
+ ses->screen->rq->upcall(ses->screen->rq, ses->screen);
+
+}
+
+static void tp_cancel(struct session *ses)
+{
+ release_object(&ses->tq);
+}
+
+static void continue_download(struct session *ses, unsigned char *file, int mode)
+{
+ unsigned char *enc;
+ struct download *down;
+ int h;
+ int namecount = 0;
+ unsigned char *url = ses->tq->url;
+ unsigned char *xl_file;
+ off_t last_pos = 0, file_shift = 0;
+
+ if (ses->tq_prog) {
+ if (ses->tq_prog_flag_direct && ses->tq->state != O_OK && !strchr(url, POST_CHAR) && !check_shell_url(url)) {
+ unsigned char *prog = subst_file(ses->tq_prog, url, 0);
+ exec_on_terminal(ses->term, prog, "", !!ses->tq_prog_flag_block);
+ mem_free(prog);
+ tp_cancel(ses);
+ abort_background_connections();
+ return;
+ }
+ new_name:
+ if (!(file = get_temp_name(url, ses->tq->ce ? ses->tq->ce->head : NULL))) {
+ tp_cancel(ses);
+ return;
+ }
+ if ((h = create_download_file(ses, ses->term->cwd, file, CDF_RESTRICT_PERMISSION | CDF_EXCL | CDF_NO_POPUP_ON_EEXIST, 0)) < 0) {
+ if (h == -2 && ses->tq_prog) {
+ if (++namecount < DOWNLOAD_NAME_TRIES) {
+ mem_free(file);
+ goto new_name;
+ }
+ msg_box(ses->term, NULL, TEXT_(T_DOWNLOAD_ERROR), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_COULD_NOT_CREATE_TEMPORARY_FILE), NULL, NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ }
+ mem_free(file);
+ tp_cancel(ses);
+ return;
+ }
+ xl_file = stracpy(file);
+ } else {
+ if (create_or_append_download_file(ses, ses->term->cwd, file, mode, &h, &xl_file, &last_pos, &file_shift)) {
+ tp_cancel(ses);
+ return;
+ }
+ }
+ down = mem_calloc(sizeof(struct download));
+ down->url = stracpy(url);
+ down->stat.end = (void (*)(struct status *, void *))download_data;
+ down->stat.data = down;
+ down->decompress = 0;
+ down->last_pos = last_pos;
+ down->file_shift = file_shift;
+ down->cwd = stracpy(ses->term->cwd);
+ down->orig_file = stracpy(file);
+ down->file = xl_file;
+ down->handle = h;
+ down->ses = ses;
+ down->remotetime = 0;
+ if (ses->tq_prog) {
+ down->prog = subst_file(ses->tq_prog, file, 1);
+ mem_free(file);
+ mem_free(ses->tq_prog);
+ ses->tq_prog = NULL;
+ }
+ down->prog_flag_block = ses->tq_prog_flag_block;
+
+ enc = ses->tq->ce ? get_content_encoding(ses->tq->ce->head, ses->tq->ce->url) : NULL;
+ if (enc) {
+ if (encoding_2_extension(enc)) {
+ if (down->prog) down->decompress = 1;
+ } else {
+ down->decompress = 1;
+ }
+ mem_free(enc);
+ }
+
+ add_to_list(downloads, down);
+ release_object_get_stat(&ses->tq, &down->stat, PRI_DOWNLOAD);
+ display_download(ses->term, down, ses);
+}
+
+
+static void tp_save(struct session *ses)
+{
+ if (ses->tq_prog) mem_free(ses->tq_prog), ses->tq_prog = NULL;
+ query_file(ses, ses->tq->url, ses->tq->ce ? ses->tq->ce->head : NULL, &continue_download, tp_cancel, DOWNLOAD_CONTINUE);
+}
+
+static void tp_open(struct session *ses)
+{
+ continue_download(ses, "", DOWNLOAD_DEFAULT);
+}
+
+static int ses_abort_1st_state_loading(struct session *ses)
+{
+ int r = !!ses->rq;
+ release_object(&ses->rq);
+ ses->wtd = NULL;
+ if (ses->wtd_target) mem_free(ses->wtd_target), ses->wtd_target = NULL;
+ ses->wtd_target_base = NULL;
+ if (ses->goto_position) mem_free(ses->goto_position), ses->goto_position = NULL;
+ change_screen_status(ses);
+ print_screen_status(ses);
+ return r;
+}
+
+static void tp_display(struct session *ses)
+{
+ ses_abort_1st_state_loading(ses);
+ ses->rq = ses->tq;
+ ses->tq = NULL;
+ ses_go_forward(ses, 1, 0);
+}
+
+static int direct_download_possible(struct object_request *rq, struct assoc *a)
+{
+ unsigned char *proto = get_protocol_name(rq->url);
+ int ret = 0;
+ if (!proto) return 0;
+ if (a->accept_http && !strcasecmp(proto, "http")) ret = 1;
+ if (a->accept_ftp && !strcasecmp(proto, "ftp")) ret = 1;
+ mem_free(proto);
+ if (proxies.only_proxies) ret = 0;
+ return ret;
+}
+
+static int prog_sel_save(struct dialog_data *dlg, struct dialog_item_data *idata)
+{
+ struct session *ses = (struct session *)dlg->dlg->udata2;
+
+ tp_save(ses);
+
+ cancel_dialog(dlg, idata);
+ return 0;
+}
+
+static int prog_sel_display(struct dialog_data *dlg, struct dialog_item_data *idata)
+{
+ struct session *ses = (struct session *)dlg->dlg->udata2;
+
+ tp_display(ses);
+
+ cancel_dialog(dlg, idata);
+ return 0;
+}
+
+static int prog_sel_cancel(struct dialog_data *dlg, struct dialog_item_data *idata)
+{
+ struct session *ses = (struct session *)dlg->dlg->udata2;
+
+ tp_cancel(ses);
+
+ cancel_dialog(dlg, idata);
+ return 0;
+}
+
+static int prog_sel_open(struct dialog_data *dlg, struct dialog_item_data *idata)
+{
+ struct assoc *a = (struct assoc*)idata->item->udata;
+ struct session *ses = (struct session *)dlg->dlg->udata2;
+
+ if (!a) internal("This should not happen.\n");
+ ses->tq_prog = stracpy(a->prog), ses->tq_prog_flag_block = a->block, ses->tq_prog_flag_direct = direct_download_possible(ses->tq, a);
+ tp_open(ses);
+ cancel_dialog(dlg,idata);
+ return 0;
+}
+
+static void type_query_multiple_programs(struct session *ses, unsigned char *ct, struct assoc *a, int n)
+{
+ int i;
+ struct dialog *d;
+ struct memory_list *ml;
+ unsigned char **text_array;
+
+ text_array = mem_alloc(6 * sizeof(unsigned char *));
+ text_array[0] = TEXT_(T_CONTENT_TYPE_IS);
+ text_array[1] = " ";
+ text_array[2] = ct;
+ text_array[3] = ".\n";
+ text_array[4] = !anonymous ? TEXT_(T_DO_YOU_WANT_TO_OPEN_SAVE_OR_DISPLAY_THIS_FILE) : TEXT_(T_DO_YOU_WANT_TO_OPEN_OR_DISPLAY_THIS_FILE);
+ text_array[5] = NULL;
+
+ if ((unsigned)n > (MAXINT - sizeof(struct dialog)) / sizeof(struct dialog_item) - 4) overalloc();
+ d = mem_calloc(sizeof(struct dialog) + (n + 2 + (!anonymous)) * sizeof(struct dialog_item));
+ d->title = TEXT_(T_WHAT_TO_DO);
+ d->fn = msg_box_fn;
+ d->udata = text_array;
+ d->udata2 = ses;
+ d->align = AL_CENTER;
+ ml = getml(d, a, ct, text_array, NULL);
+
+ for (i = 0; i < n; i++) {
+ unsigned char *bla = stracpy(_(TEXT_(T_OPEN_WITH),ses->term));
+ add_to_strn(&bla, " ");
+ add_to_strn(&bla, a[i].label);
+
+ d->items[i].type = D_BUTTON;
+ d->items[i].fn = prog_sel_open;
+ d->items[i].udata = a + i;
+ d->items[i].text = bla;
+ a[i].prog = stracpy(a[i].prog);
+ add_to_ml(&ml, bla, a[i].prog, NULL);
+ }
+ if (!anonymous) {
+ d->items[i].type = D_BUTTON;
+ d->items[i].fn = prog_sel_save;
+ d->items[i].text = TEXT_(T_SAVE);
+ i++;
+ }
+ d->items[i].type = D_BUTTON;
+ d->items[i].fn = prog_sel_display;
+ d->items[i].text = TEXT_(T_DISPLAY);
+ i++;
+ d->items[i].type = D_BUTTON;
+ d->items[i].fn = prog_sel_cancel;
+ d->items[i].gid = B_ESC;
+ d->items[i].text = TEXT_(T_CANCEL);
+ i++;
+ d->items[i].type = D_END;
+ do_dialog(ses->term, d, ml);
+}
+
+
+
+/* deallocates a */
+static void type_query(struct session *ses, unsigned char *ct, struct assoc *a, int n)
+{
+ unsigned char *m1;
+ unsigned char *m2;
+ if (!ct) ct = stracpy("unknown");
+ if (ses->tq_prog) mem_free(ses->tq_prog), ses->tq_prog = NULL;
+
+ if (n > 1) {
+ type_query_multiple_programs(ses, ct, a, n);
+ return;
+ }
+
+ if (a) ses->tq_prog = stracpy(a[0].prog), ses->tq_prog_flag_block = a[0].block, ses->tq_prog_flag_direct = direct_download_possible(ses->tq, a);
+ if (a && !a[0].ask) {
+ tp_open(ses);
+ if (n) mem_free(a);
+ mem_free(ct);
+ return;
+ }
+ m1 = stracpy(ct);
+ if (!a) {
+ if (!anonymous) msg_box(ses->term, getml(m1, NULL), TEXT_(T_UNKNOWN_TYPE), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_CONTENT_TYPE_IS), " ", m1, ".\n", TEXT_(T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE), NULL, ses, 3, TEXT_(T_SAVE), tp_save, B_ENTER, TEXT_(T_DISPLAY), tp_display, 0, TEXT_(T_CANCEL), tp_cancel, B_ESC);
+ else msg_box(ses->term, getml(m1, NULL), TEXT_(T_UNKNOWN_TYPE), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_CONTENT_TYPE_IS), " ", m1, ".\n", TEXT_(T_DO_YOU_WANT_TO_SAVE_OR_DISLPAY_THIS_FILE), NULL, ses, 2, TEXT_(T_DISPLAY), tp_display, B_ENTER, TEXT_(T_CANCEL), tp_cancel, B_ESC);
+ } else {
+ m2 = stracpy(a[0].label ? a[0].label : (unsigned char *)"");
+ if (!anonymous) msg_box(ses->term, getml(m1, m2, NULL), TEXT_(T_WHAT_TO_DO), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_CONTENT_TYPE_IS), " ", m1, ".\n", TEXT_(T_DO_YOU_WANT_TO_OPEN_FILE_WITH), " ", m2, ", ", TEXT_(T_SAVE_IT_OR_DISPLAY_IT), NULL, ses, 4, TEXT_(T_OPEN), tp_open, B_ENTER, TEXT_(T_SAVE), tp_save, 0, TEXT_(T_DISPLAY), tp_display, 0, TEXT_(T_CANCEL), tp_cancel, B_ESC);
+ else msg_box(ses->term, getml(m1, m2, NULL), TEXT_(T_WHAT_TO_DO), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_CONTENT_TYPE_IS), " ", m1, ".\n", TEXT_(T_DO_YOU_WANT_TO_OPEN_FILE_WITH), " ", m2, ", ", TEXT_(T_SAVE_IT_OR_DISPLAY_IT), NULL, ses, 3, TEXT_(T_OPEN), tp_open, B_ENTER, TEXT_(T_DISPLAY), tp_display, 0, TEXT_(T_CANCEL), tp_cancel, B_ESC);
+ }
+ if (n) mem_free(a);
+ mem_free(ct);
+}
+
+static void ses_go_to_2nd_state(struct session *ses)
+{
+ struct assoc *a;
+ int n;
+ unsigned char *ct = NULL;
+ int r = plain_type(ses, ses->rq, &ct);
+ if (r == 0 || r == 1 || r == 2 || r == 3) goto go;
+ if (!(a = get_type_assoc(ses->term, ct, &n)) && strlen(ct) >= 4 && !casecmp(ct, "text", 4)) {
+ r = 1;
+ goto go;
+ }
+ if (ses->tq) {
+ ses_abort_1st_state_loading(ses);
+ if (n) mem_free(a);
+ if (ct) mem_free(ct);
+ return;
+ }
+ (ses->tq = ses->rq)->upcall = NULL;
+ ses->rq = NULL;
+ ses_abort_1st_state_loading(ses);
+ if (!n && ses->tq->ce && ses->tq->ce->head) {
+ unsigned char *file = get_filename_from_header(ses->tq->ce->head);
+ if (file) {
+ unsigned char *new_ct = get_content_type_by_extension(file);
+ mem_free(file);
+ if (new_ct) {
+ a = get_type_assoc(ses->term, new_ct, &n);
+ mem_free(new_ct);
+ }
+ }
+ }
+ type_query(ses, ct, a, n);
+ return;
+ go:
+ ses_go_forward(ses, r, ses->wtd_refresh);
+ if (ct) mem_free(ct);
+}
+
+static void ses_go_back_to_2nd_state(struct session *ses)
+{
+ ses_go_backward(ses);
+}
+
+static void ses_finished_1st_state(struct object_request *rq, struct session *ses)
+{
+ if (rq->state != O_WAITING) {
+ if (ses->wtd_refresh && ses->wtd_target_base && ses->wtd_target_base->refresh_timer != -1) {
+ kill_timer(ses->wtd_target_base->refresh_timer);
+ ses->wtd_target_base->refresh_timer = -1;
+ }
+ }
+ switch (rq->state) {
+ case O_WAITING:
+ change_screen_status(ses);
+ print_screen_status(ses);
+ break;
+ case O_FAILED:
+ print_error_dialog(ses, &rq->stat, rq->url);
+ ses_abort_1st_state_loading(ses);
+ break;
+ case O_LOADING:
+ case O_INCOMPLETE:
+ case O_OK:
+ if (!ses->goto_position && rq->goto_position) ses->goto_position = stracpy(rq->goto_position);
+ ses->wtd(ses);
+ break;
+ }
+}
+
+void ses_destroy_defered_jump(struct session *ses)
+{
+#ifdef JS
+ if (ses->defered_url) mem_free(ses->defered_url), ses->defered_url = NULL;
+ if (ses->defered_target) mem_free(ses->defered_target), ses->defered_target = NULL;
+ ses->defered_target_base = NULL;
+#endif
+}
+
+#ifdef JS
+/* test if there're any running scripts */
+static inline int any_running_scripts(struct f_data_c *fd)
+{
+ if (!fd->js) return 0;
+ return (fd->js->active) || (!list_empty(fd->js->queue));
+}
+#else
+static inline int any_running_scripts(struct f_data_c *fd)
+{
+ return 0;
+}
+#endif
+
+/* if from_goto_dialog is 1, set prev_url to NULL */
+void goto_url_f(struct session *ses, void (*state2)(struct session *), unsigned char *url, unsigned char *target, struct f_data_c *df, int data, int defer, int from_goto_dialog, int refresh)
+{
+ unsigned char *u, *pos;
+ unsigned char *prev_url;
+ void (*fn)(struct session *, unsigned char *);
+ if (!state2) state2 = ses_go_to_2nd_state;
+#ifdef JS
+ if (ses->defered_url && defer && any_running_scripts(ses->screen)) return;
+#endif
+ ses_destroy_defered_jump(ses);
+ if ((fn = get_external_protocol_function(url))) {
+ if (proxies.only_proxies && url_bypasses_socks(url)) {
+ msg_box(ses->term, NULL, TEXT_(T_ERROR), AL_CENTER, TEXT_(T_NO_PROXY), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return;
+ }
+ fn(ses, url);
+ return;
+ }
+ ses->reloadlevel = NC_CACHE;
+ if (!(u = translate_url(url, ses->term->cwd))) {
+ struct status stat = { NULL, NULL, NULL, NULL, S_BAD_URL, PRI_CANCEL, 0, NULL, NULL, NULL };
+ print_error_dialog(ses, &stat, url);
+ return;
+ }
+#ifdef JS
+ if (defer && any_running_scripts(ses->screen)) {
+ ses->defered_url = u;
+ ses->defered_target = stracpy(target);
+ ses->defered_target_base = df;
+ ses->defered_data = data;
+ ses->defered_seq = jsint_execute_seq++;
+ return;
+ }
+#endif
+ pos = extract_position(u);
+ if (ses->wtd == state2 && !strcmp(ses->rq->orig_url, u) && !xstrcmp(ses->wtd_target, target) && ses->wtd_target_base == df) {
+ mem_free(u);
+ if (ses->goto_position) mem_free(ses->goto_position);
+ ses->goto_position = pos;
+ return;
+ }
+ ses_abort_1st_state_loading(ses);
+ ses->wtd = state2;
+ ses->wtd_target = stracpy(target);
+ ses->wtd_target_base = df;
+ ses->wtd_refresh = refresh;
+ if (ses->goto_position) mem_free(ses->goto_position);
+ ses->goto_position = pos;
+ if (!from_goto_dialog && df && df->rq) prev_url = df->rq->url;
+ else prev_url = NULL; /* previous page is empty - this probably never happens, but for sure */
+ if (refresh && ses->wtd == ses_go_to_2nd_state) {
+ struct f_data_c *fr = find_frame(ses, ses->wtd_target, ses->wtd_target_base);
+ if (fr && fr->loc) if (!strcmp(fr->loc->url, u)) ses->reloadlevel = NC_RELOAD;
+ }
+ request_object(ses->term, u, prev_url, PRI_MAIN, ses->reloadlevel, (void (*)(struct object_request *, void *))ses_finished_1st_state, ses, &ses->rq);
+ mem_free(u);
+}
+
+/* this doesn't send referer */
+void goto_url(struct session *ses, unsigned char *url)
+{
+ goto_url_f(ses, NULL, url, NULL, NULL, -1, 0, 1, 0);
+}
+
+/* this one sends referer */
+void goto_url_not_from_dialog(struct session *ses, unsigned char *url)
+{
+ goto_url_f(ses, NULL, url, NULL, NULL, -1, 0, 0, 0);
+}
+
+static void ses_imgmap(struct session *ses)
+{
+ unsigned char *start, *end;
+ struct memory_list *ml;
+ struct menu_item *menu;
+ struct f_data_c *fd;
+ if (ses->rq->state != O_OK && ses->rq->state != O_INCOMPLETE) return;
+ if (!(fd = current_frame(ses)) || !fd->f_data) return;
+ if (get_file(ses->rq, &start, &end)) return;
+ d_opt = &fd->f_data->opt;
+ if (get_image_map(ses->rq->ce && ses->rq->ce->head ? ses->rq->ce->head : (unsigned char *)"", start, end, ses->goto_position, &menu, &ml, ses->imgmap_href_base, ses->imgmap_target_base, ses->term->spec->charset, ses->ds.assume_cp, ses->ds.hard_assume, 0)) {
+ ses_abort_1st_state_loading(ses);
+ return;
+ }
+ add_empty_window(ses->term, (void (*)(void *))freeml, ml);
+ do_menu(ses->term, menu, ses);
+ ses_abort_1st_state_loading(ses);
+}
+
+void goto_imgmap(struct session *ses, unsigned char *url, unsigned char *href, unsigned char *target)
+{
+ if (ses->imgmap_href_base) mem_free(ses->imgmap_href_base);
+ ses->imgmap_href_base = href;
+ if (ses->imgmap_target_base) mem_free(ses->imgmap_target_base);
+ ses->imgmap_target_base = target;
+ goto_url_f(ses, ses_imgmap, url, NULL, NULL, -1, 0, 0, 0);
+}
+
+void map_selected(struct terminal *term, struct link_def *ld, struct session *ses)
+{
+ int x = 0;
+ if (ld->onclick) {
+ struct f_data_c *fd = current_frame(ses);
+ jsint_execute_code(fd, ld->onclick, strlen(ld->onclick), -1, -1, -1, NULL);
+ x = 1;
+ }
+ if (ld->link) goto_url_f(ses, NULL, ld->link, ld->target, current_frame(ses), -1, x, 0, 0);
+}
+
+void go_back(struct session *ses, int num_steps)
+{
+ struct location *loc;
+ int n;
+ if (!num_steps) return;
+ ses->reloadlevel = NC_CACHE;
+ ses_destroy_defered_jump(ses);
+ if (ses_abort_1st_state_loading(ses)) {
+ change_screen_status(ses);
+ print_screen_status(ses);
+ return;
+ }
+ n = num_steps;
+ if (num_steps > 0) {
+ foreach(loc, ses->history) {
+ if (!n--) goto have_loc;
+ }
+ return;
+ } else {
+ foreach(loc, ses->forward_history) {
+ if (!++n) goto have_loc;
+ }
+ return;
+ }
+ have_loc:
+ ses->wtd = ses_go_back_to_2nd_state;
+ ses->wtd_num_steps = num_steps;
+ request_object(ses->term, loc->url, loc->prev_url, PRI_MAIN, NC_ALWAYS_CACHE, (void (*)(struct object_request *, void *))ses_finished_1st_state, ses, &ses->rq);
+}
+
+static void reload_frame(struct f_data_c *fd, int no_cache)
+{
+ unsigned char *u;
+ if (!list_empty(fd->subframes)) {
+ struct f_data_c *fdd;
+ foreach(fdd, fd->subframes) {
+ reload_frame(fdd, no_cache);
+ }
+ return;
+ }
+ if (!fd->rq) return;
+ if (fd->f_data && !f_is_finished(fd->f_data)) return;
+ u = stracpy(fd->rq->url);
+ release_object(&fd->rq);
+ if (fd->f_data) release_object(&fd->f_data->rq);
+ request_object(fd->ses->term, u, NULL, PRI_MAIN, no_cache, (void (*)(struct object_request *, void *))fd_loaded, fd, &fd->rq);
+ if (fd->f_data) clone_object(fd->rq, &fd->f_data->rq);
+ fd->next_update = get_time();
+ fd->done = 0;
+ fd->parsed_done = 0;
+ mem_free(u);
+ jsint_destroy(fd);
+}
+
+void reload(struct session *ses, int no_cache)
+{
+ ses_destroy_defered_jump(ses);
+ if (no_cache == -1) no_cache = ++ses->reloadlevel;
+ else ses->reloadlevel = no_cache;
+ reload_frame(ses->screen, no_cache);
+ /*request_object(ses->term, cur_loc(ses)->url, cur_loc(ses)->prev_url, PRI_MAIN, no_cache, (void (*)(struct object_request *, void *))ses_finished_1st_state, ses, &ses->rq);*/
+}
+
+static void set_doc_view(struct session *ses)
+{
+ ses->screen->xp = 0;
+ ses->screen->yp = gf_val(1, G_BFU_FONT_SIZE);
+ ses->screen->xw = ses->term->x;
+ if (ses->term->y < gf_val(2, 2 * G_BFU_FONT_SIZE)) ses->screen->yw = 0;
+ else ses->screen->yw = ses->term->y - gf_val(2, 2 * G_BFU_FONT_SIZE);
+}
+
+static struct session *create_session(struct window *win)
+{
+ static int session_id = 1;
+ struct terminal *term = win->term;
+ struct session *ses;
+ ses = mem_calloc(sizeof(struct session));
+ init_list(ses->history);
+ init_list(ses->forward_history);
+ ses->term = term;
+ ses->win = win;
+ ses->id = session_id++;
+ ses->screen = create_f_data_c(ses, NULL);
+ ses->screen->xp = 0; ses->screen->xw = term->x;
+ ses->screen->yp = gf_val(1, G_BFU_FONT_SIZE);
+ ses->screen->yw = term->y - gf_val(2, 2 * G_BFU_FONT_SIZE);
+ memcpy(&ses->ds, &dds, sizeof(struct document_setup));
+ init_list(ses->format_cache);
+ add_to_list(sessions, ses);
+ if (first_use) {
+ first_use = 0;
+ msg_box(term, NULL, TEXT_(T_WELCOME), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_WELCOME_TO_LINKS), "\n\n", TEXT_(T_BASIC_HELP), NULL, NULL, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+ }
+ return ses;
+}
+
+/*vyrobi retezec znaku, ktery se posilaj skrz unix domain socket hlavni instanci
+ prohlizece
+ cp=cislo session odkud se ma kopirovat (kdyz se klikne na "open new window")
+ url=url kam se ma jit (v pripade kliknuti na "open link in new window" nebo pusteni linksu z prikazove radky s url)
+ framename=jmeno ramu, ktery se vytvori
+
+ vraci sekvenci bytu a delku
+ */
+void *create_session_info(int cp, unsigned char *url, unsigned char *framename, int *ll)
+{
+ size_t l = strlen(url);
+ size_t l1 = framename ? strlen(framename) : 0;
+ int *i;
+ if (l > MAXINT || l1 > MAXINT) overalloc();
+ if (framename && !strcmp(framename, "_blank")) l1 = 0;
+ *ll = 3 * sizeof(int) + l + l1;
+ i = mem_alloc(3 * sizeof(int) + l + l1);
+ i[0] = cp;
+ i[1] = l;
+ i[2] = l1;
+ memcpy(i + 3, url, l);
+ if (l1) memcpy((unsigned char*)(i + 3) + l, framename, l1);
+ return i;
+}
+
+/* dostane data z create_session_info a nainicializuje podle nich session
+ vraci -1 pokud jsou data vadna
+ */
+static int read_session_info(struct session *ses, void *data, int len)
+{
+ unsigned char *h;
+ int cpfrom, sz, sz1;
+ struct session *s;
+ if (len < 3 * (int)sizeof(int)) return -1;
+ cpfrom = *(int *)data;
+ sz = *((int *)data + 1);
+ sz1= *((int *)data + 2);
+ foreach(s, sessions) if (s->id == cpfrom) {
+ memcpy(&ses->ds, &s->ds, sizeof(struct document_setup));
+ if (!sz) {
+ if (!list_empty(s->history)) {
+ struct location *loc = s->history.next;
+ if (loc->url) goto_url(ses, loc->url);
+ }
+ return 0;
+ } else {
+ break;
+ }
+ }
+ if (sz1) {
+ unsigned char *tgt;
+ if (len<3*(int)sizeof(int)+sz+sz1) goto bla;
+ if ((unsigned)sz1 >= MAXINT) overalloc();
+ tgt=mem_alloc(sz1+1);
+ memcpy(tgt, (unsigned char*)((int*)data+3)+sz,sz1);
+ tgt[sz1]=0;
+ if (ses->wanted_framename) mem_free(ses->wanted_framename), ses->wanted_framename=NULL;
+ ses->wanted_framename=tgt;
+ }
+ bla:
+ if (sz) {
+ unsigned char *u, *uu;
+ if (len < 3 * (int)sizeof(int) + sz) return 0;
+ if ((unsigned)sz >= MAXINT) overalloc();
+ u = mem_alloc(sz + 1);
+ memcpy(u, (int *)data + 3, sz);
+ u[sz] = 0;
+ uu = decode_url(u);
+ goto_url(ses, uu);
+ mem_free(u);
+ mem_free(uu);
+ } else if ((h = getenv("WWW_HOME")) && *h) {
+ goto_url(ses, h);
+ }
+#if defined(HAVE_NETINET_DHCP_H) && defined(HAVE_DHCP_OPTION)
+ else {
+ unsigned char b[4];
+ if (dhcp_option(PF_INET, BOOTP_WWW_SERVERS, b, 4) == 4) {
+ unsigned char s[16];
+ sprintf(s, "%d.%d.%d.%d", b[0], b[1], b[2], b[3]);
+ goto_url(ses, s);
+ }
+ }
+#endif
+ return 0;
+}
+
+void destroy_session(struct session *ses)
+{
+ struct download *d;
+ foreach(d, downloads) if (d->ses == ses && d->prog) {
+ d = d->prev;
+ abort_download(d->next);
+ }
+ ses_abort_1st_state_loading(ses);
+ reinit_f_data_c(ses->screen);
+ mem_free(ses->screen);
+ while (!list_empty(ses->format_cache)) {
+ struct f_data *f = ses->format_cache.next;
+ del_from_list(f);
+ destroy_formatted(f);
+ }
+ while (!list_empty(ses->history)) destroy_location(ses->history.next);
+ clear_forward_history(ses);
+ if (ses->st) mem_free(ses->st);
+ if (ses->st_old) mem_free(ses->st_old);
+ if (ses->default_status)mem_free(ses->default_status);
+ if (ses->dn_url) mem_free(ses->dn_url);
+ if (ses->search_word) mem_free(ses->search_word);
+ if (ses->last_search_word) mem_free(ses->last_search_word);
+ if (ses->imgmap_href_base) mem_free(ses->imgmap_href_base);
+ if (ses->imgmap_target_base) mem_free(ses->imgmap_target_base);
+ if (ses->wanted_framename) mem_free(ses->wanted_framename);
+
+ release_object(&ses->tq);
+ if (ses->tq_prog) mem_free(ses->tq_prog);
+
+ ses_destroy_defered_jump(ses);
+
+ del_from_list(ses);
+}
+
+void win_func(struct window *win, struct event *ev, int fw)
+{
+ struct session *ses = win->data;
+ switch ((int)ev->ev) {
+ case EV_ABORT:
+ if (ses) destroy_session(ses);
+ break;
+ case EV_INIT:
+ if (!(ses = win->data = create_session(win)) || read_session_info(ses, (char *)ev->b + sizeof(int), *(int *)ev->b)) {
+ register_bottom_half((void (*)(void *))destroy_terminal, win->term);
+ return;
+ }
+ case EV_RESIZE:
+ if (ses->st_old) mem_free(ses->st_old), ses->st_old = NULL;
+ GF(set_window_pos(win, 0, 0, ev->x, ev->y));
+ set_doc_view(ses);
+ html_interpret_recursive(ses->screen);
+ draw_fd(ses->screen);
+ break;
+ case EV_REDRAW:
+ if (ses->st_old) mem_free(ses->st_old), ses->st_old = NULL;
+ draw_formatted(ses);
+ break;
+ case EV_MOUSE:
+#ifdef G
+ if (F) set_window_ptr(win, ev->x, ev->y);
+#endif
+ /* fall through ... */
+ case EV_KBD:
+ send_event(ses, ev);
+ break;
+ default:
+ error("ERROR: unknown event");
+ }
+}
+
+/*
+ Gets the url being viewed by this session. Writes it into str.
+ A maximum of str_size bytes (including null) will be written.
+*/
+unsigned char *get_current_url(struct session *ses, unsigned char *str, size_t str_size) {
+ unsigned char *here, *end_of_url;
+ size_t url_len = 0;
+
+ /* Not looking at anything */
+ if (list_empty(ses->history))
+ return NULL;
+
+ here = cur_loc(ses)->url;
+
+ /* Find the length of the url */
+ if ((end_of_url = strchr(here, POST_CHAR))) {
+ url_len = (size_t)(end_of_url - (unsigned char *)here);
+ } else {
+ url_len = strlen(here);
+ }
+
+ /* Ensure that the url size is not greater than str_size */
+ if (url_len >= str_size)
+ url_len = str_size - 1;
+
+ safe_strncpy(str, here, url_len + 1);
+
+ return str;
+}
+
+
+/*
+ Gets the title of the page being viewed by this session. Writes it into str.
+ A maximum of str_size bytes (including null) will be written.
+*/
+unsigned char *get_current_title(struct session *ses, unsigned char *str, size_t str_size) {
+ struct f_data_c *fd;
+ fd = (struct f_data_c *)current_frame(ses);
+
+ /* Ensure that the title is defined */
+ if (!fd || !fd->f_data)
+ return NULL;
+
+ return safe_strncpy(str, fd->f_data->title, str_size);
+}
+
+#if 0
+/*
+ Gets the url of the link currently selected. Writes it into str.
+ A maximum of str_size bytes (including null) will be written.
+*/
+unsigned char *get_current_link_url(struct session *ses, unsigned char *str, size_t str_size) {
+ struct f_data_c *fd;
+ struct link *l;
+
+ fd = (struct f_data_c *)current_frame(ses);
+ /* What the hell is an 'fd'? */
+ if (!fd)
+ return NULL;
+
+ /* Nothing selected? */
+ if (fd->vs->current_link == -1 || fd->vs->current_link >= fd->f_data->nlinks)
+ return NULL;
+
+ l = &fd->f_data->links[fd->vs->current_link];
+ /* Only write a link */
+ if (l->type != L_LINK)
+ return NULL;
+
+ return safe_strncpy(str, l->where, str_size);
+}
+#endif
diff --git a/setup.h b/setup.h
new file mode 100644
index 0000000..3e696d0
--- /dev/null
+++ b/setup.h
@@ -0,0 +1,204 @@
+/* setup.h
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#if 0
+#define VERSION_STRING VERSION " ["__DATE__ " " __TIME__"]"
+#else
+#define VERSION_STRING VERSION
+#endif
+
+/* DEBUG LEVEL:
+ * 0=vsechno vypnuty
+ * 1=leaky
+ * 2=leaky, ruda zona
+ * 3=leaky, ruda zona, alloc, realloc a free patterny
+ * -1=tajny level ;-)
+ */
+/* nastavuje se v configure --enable-debuglevel=-1,0,1,2,3
+#define DEBUGLEVEL 2
+*/
+
+#if DEBUGLEVEL >= 1
+#define DEBUG
+#define LEAK_DEBUG
+#define LEAK_DEBUG_LIST
+#endif
+
+#if DEBUGLEVEL < 0
+#define OOPS
+#define LEAK_DEBUG
+#endif
+
+#define LINKS_MANUAL_URL (!strcmp(language_name(current_language),"Czech") || !strcmp(language_name(current_language),"Slovak")?\
+ "http://links.twibright.com/user.html":\
+ "http://links.twibright.com/user_en.html")
+#define LINKS_HOMEPAGE_URL (!strcmp(language_name(current_language),"Czech") || !strcmp(language_name(current_language),"Slovak")?\
+ "http://links.twibright.com/index_cz.php":\
+ "http://links.twibright.com/")
+#define LINKS_CALIBRATION_URL (!strcmp(language_name(current_language),"Czech") || !strcmp(language_name(current_language),"Slovak")?\
+ "http://links.twibright.com/kalibrace.html":\
+ "http://links.twibright.com/calibration.html")
+
+#define LINKS_SOCK_NAME "socket"
+#define LINKS_PORT 23755
+#define MAX_BIND_TRIES 3
+
+#define FG_POLL_TIME 500
+
+#define DNS_TIMEOUT 3600000UL
+
+#define HTTP_KEEPALIVE_TIMEOUT 300000
+#define FTP_KEEPALIVE_TIMEOUT 600000
+#define MAX_KEEPALIVE_CONNECTIONS 30
+#define KEEPALIVE_CHECK_TIME 20000
+
+#define MAX_REDIRECTS 15
+#define MAX_CACHED_REDIRECTS 10
+
+#define DOWNLOAD_NAME_TRIES 10000
+
+#define MEMORY_CACHE_GC_PERCENT 9/10
+#define MAX_CACHED_OBJECT 1/4
+
+#define MAX_HISTORY_ITEMS 4096
+#define MENU_HOTKEY_SPACE 2
+
+#define COL(x) (x)
+
+#define COLOR_MENU_TEXT (term && !term->spec->braille ? COL(070) : COL(007))
+#define COLOR_MENU_FRAME (term && !term->spec->braille ? COL(070) : COL(007))
+#define COLOR_MENU_SELECTED (term && !term->spec->braille ? COL(007) : COL(007))
+#define COLOR_MENU_HOTKEY (term && !term->spec->braille ? COL(007) : COL(0107))
+
+#define COLOR_MAINMENU (term && !term->spec->braille ? COL(070) : COL(007))
+#define COLOR_MAINMENU_SELECTED (term && !term->spec->braille ? COL(007) : COL(007))
+#define COLOR_MAINMENU_HOTKEY (term && !term->spec->braille ? COL(070) : COL(0107))
+
+#define COLOR_DIALOG (term && !term->spec->braille ? COL(070) : COL(007))
+#define COLOR_DIALOG_FRAME (term && !term->spec->braille ? COL(070) : COL(007))
+#define COLOR_DIALOG_TITLE (term && !term->spec->braille ? COL(007) : COL(007))
+#define COLOR_DIALOG_TEXT (term && !term->spec->braille ? COL(070) : COL(007))
+#define COLOR_DIALOG_CHECKBOX (term && !term->spec->braille ? COL(070) : COL(0107))
+#define COLOR_DIALOG_CHECKBOX_TEXT (term && !term->spec->braille ? COL(070) : COL(007))
+#define COLOR_DIALOG_BUTTON (term && !term->spec->braille ? COL(070) : COL(0107))
+#define COLOR_DIALOG_BUTTON_SELECTED (term && !term->spec->braille ? COL(0107) : COL(0107))
+#define COLOR_DIALOG_FIELD (term && !term->spec->braille ? COL(007) : COL(0107))
+#define COLOR_DIALOG_FIELD_TEXT (term && !term->spec->braille ? COL(007) : COL(0107))
+#define COLOR_DIALOG_METER (term && !term->spec->braille ? COL(007) : COL(0177))
+#define CHAR_DIALOG_METER (term && !term->spec->braille ? 0 : '*')
+
+#define SCROLL_ITEMS 2
+
+#define DIALOG_LEFT_BORDER 3
+#define DIALOG_TOP_BORDER 1
+#define DIALOG_LEFT_INNER_BORDER 2
+#define DIALOG_TOP_INNER_BORDER 0
+#define DIALOG_FRAME 2
+
+#define COLOR_TITLE COL(007)
+#define COLOR_STATUS COL(070)
+
+#define G_BFU_DEFAULT_FONT "century-medium-roman-serif-vari"
+#define G_BFU_DEFAULT_FONT_SIZE 16
+#define G_DEFAULT_BFU_FG_COLOR 0x000000
+#define G_DEFAULT_BFU_BG_COLOR 0xe0e0e0
+
+#define G_MENU_LEFT_BORDER 8
+#define G_MENU_LEFT_INNER_BORDER 8
+#define G_MENU_TOP_BORDER 16
+#define G_MENU_HOTKEY_SPACE 16
+#define G_MAINMENU_LEFT_BORDER 16
+#define G_MAINMENU_BORDER 16
+
+#define G_DIALOG_TITLE_BORDER 8
+#define G_DIALOG_LEFT_BORDER 24
+#define G_DIALOG_TOP_BORDER 16
+#define G_DIALOG_HLINE_SPACE 3
+#define G_DIALOG_VLINE_SPACE 4
+#define G_DIALOG_LEFT_INNER_BORDER 16
+#define G_DIALOG_TOP_INNER_BORDER (G_BFU_FONT_SIZE < 24 ? 8 : G_BFU_FONT_SIZE - 16)
+
+#define G_DIALOG_BUTTON_SPACE 16
+#define G_DIALOG_CHECKBOX_SPACE 8
+
+#define G_DIALOG_GROUP_SPACE 16
+#define G_DIALOG_GROUP_TEXT_SPACE 8
+
+#define G_DIALOG_CHECKBOX_L "["
+#define G_DIALOG_CHECKBOX_R "]"
+#define G_DIALOG_CHECKBOX_X "X"
+
+#define G_DIALOG_RADIO_L "["
+#define G_DIALOG_RADIO_R "]"
+#define G_DIALOG_RADIO_X "X"
+
+#define G_DIALOG_BUTTON_L "[ "
+#define G_DIALOG_BUTTON_R " ]"
+
+#define G_SCROLL_BAR_WIDTH 12
+#define G_SCROLL_BAR_MIN_SIZE 20
+#define G_DEFAULT_SCROLL_BAR_FRAME_COLOR 0x000000
+#define G_DEFAULT_SCROLL_BAR_AREA_COLOR 0xc0c0c0
+#define G_DEFAULT_SCROLL_BAR_BAR_COLOR 0x000000
+
+#define G_HTML_DEFAULT_FAMILY "century"
+
+#define G_HTML_TABLE_FRAME_COLOR 0xe0
+
+#define G_HTML_MARGIN 8
+
+#define G_IMG_REFRESH 1 /* Karle, nedavej sem 0 */
+
+#define MAX_FONT_SIZE 500
+
+#define SLOW_FPU_DETECT_THRESHOLD 1000
+#define SLOW_FPU_MAX_STARTUP 5000
+
+#define ESC_TIMEOUT 200
+
+#define DISPLAY_TIME_MIN 200
+#define DISPLAY_TIME_MAX_FIRST 1000
+#define DISPLAY_TIME 15
+#define IMG_DISPLAY_TIME 7
+
+#define STAT_UPDATE_MIN 100
+#define STAT_UPDATE_MAX 1000
+
+#define HTML_LEFT_MARGIN 3
+#define HTML_MAX_TABLE_LEVEL 10
+#define HTML_MAX_FRAME_DEPTH 7
+#define HTML_CHAR_WIDTH 7
+#define HTML_CHAR_HEIGHT 12
+#define HTML_FRAME_CHAR_WIDTH 10
+#define HTML_FRAME_CHAR_HEIGHT 16
+#define HTML_TABLE_2ND_PASS
+#define HTML_DEFAULT_INPUT_SIZE 20
+#define HTML_MINIMAL_TEXTAREA_WIDTH 6
+#define HTML_DEFAULT_TEXTAREA_WIDTH 40
+#define HTML_DEFAULT_TEXTAREA_HEIGHT 7
+
+#define MAX_INPUT_URL_LEN 4096
+
+#define SPD_DISP_TIME 200
+#define CURRENT_SPD_SEC 50
+#define CURRENT_SPD_AFTER 100
+
+#define RESOURCE_INFO_REFRESH 100
+
+#define DOWN_DLG_MIN 20
+
+/* width and height of BFU element in list window in graphical mode
+ * (draw_bfu_element function in listedit.c)
+ * BFU_ELEMENT_WIDTH is a size of one bfu element (doesn't depend on graphical/text mode)
+ */
+#define BFU_GRX_WIDTH (G_BFU_FONT_SIZE>>1)
+#define BFU_ELEMENT_WIDTH (gf_val(5,5*BFU_GRX_WIDTH))
+#define BFU_GRX_HEIGHT G_BFU_FONT_SIZE
+
+/* higher number=more sensitive scrolling */
+/* used in list_event_handler in listedit.c */
+#define MOUSE_SCROLL_DIVIDER 1
+
+#define MAGICKA_KONSTANTA_NA_MAXIMALNI_DYLKU_JS_KODU_PRI_ERRORU 256
diff --git a/smb.c b/smb.c
new file mode 100644
index 0000000..be93d45
--- /dev/null
+++ b/smb.c
@@ -0,0 +1,664 @@
+#include "links.h"
+
+#ifndef DISABLE_SMB
+
+#define SMBCLIENT 0
+#define SMBC 1
+#define N_CLIENTS 2
+
+static int smb_client = 0;
+
+struct smb_connection_info {
+ int client;
+ int list;
+ int cl;
+ int ntext;
+ unsigned char text[1];
+};
+
+static void smb_got_data(struct connection *);
+static void smb_got_text(struct connection *);
+static void end_smb_connection(struct connection *);
+
+void smb_func(struct connection *c)
+{
+ int i;
+ int po[2];
+ int pe[2];
+ unsigned char *host, *user, *pass, *port, *data1, *data, *share, *dir;
+ int datal;
+ unsigned char *p;
+ pid_t r;
+ int rs;
+ struct smb_connection_info *si;
+ si = mem_alloc(sizeof(struct smb_connection_info) + 2);
+ memset(si, 0, sizeof(struct smb_connection_info));
+ c->info = si;
+ si->client = smb_client;
+ host = get_host_name(c->url);
+ if (!host) {
+ setcstate(c, S_INTERNAL);
+ abort_connection(c);
+ return;
+ }
+ if (!(user = get_user_name(c->url))) user = stracpy("");
+ if (!(pass = get_pass(c->url))) pass = stracpy("");
+ if (!(port = get_port_str(c->url))) port = stracpy("");
+ if (!(data1 = get_url_data(c->url))) data1 = "";
+ data = init_str(), datal = 0;
+ add_conv_str(&data, &datal, data1, strlen(data1), -2);
+
+ for (i = 0; data[i]; i++) if (data[i] < 32 || data[i] == ';' || (data[i] == '"' && smb_client == SMBCLIENT)) {
+/* ';' shouldn't cause security problems but samba doesn't like it */
+/* '"' is allowed for smbc */
+ mem_free(host);
+ mem_free(port);
+ mem_free(user);
+ mem_free(pass);
+ mem_free(data);
+ setcstate(c, S_BAD_URL);
+ abort_connection(c);
+ return;
+ }
+
+ if ((p = strchr(data, '/'))) share = memacpy(data, p - data), dir = p + 1;
+ else if (*data) {
+ if (!c->cache) {
+ if (get_cache_entry(c->url, &c->cache)) {
+ mem_free(host);
+ mem_free(port);
+ mem_free(user);
+ mem_free(pass);
+ mem_free(data);
+ setcstate(c, S_OUT_OF_MEM);
+ abort_connection(c);
+ return;
+ }
+ c->cache->refcount--;
+ }
+ if (c->cache->redirect) mem_free(c->cache->redirect);
+ c->cache->redirect = stracpy(c->url);
+ c->cache->redirect_get = 1;
+ add_to_strn(&c->cache->redirect, "/");
+ c->cache->incomplete = 0;
+ mem_free(host);
+ mem_free(port);
+ mem_free(user);
+ mem_free(pass);
+ mem_free(data);
+ setcstate(c, S__OK);
+ abort_connection(c);
+ return;
+ } else share = stracpy(""), dir = "";
+ if (!*share) si->list = 1;
+ else if (!*dir || dir[strlen(dir) - 1] == '/' || dir[strlen(dir) - 1] == '\\') si->list = 2;
+ if (c_pipe(po)) {
+ int err = errno;
+ mem_free(host);
+ mem_free(port);
+ mem_free(user);
+ mem_free(pass);
+ mem_free(share);
+ mem_free(data);
+ setcstate(c, get_error_from_errno(err));
+ abort_connection(c);
+ return;
+ }
+ if (c_pipe(pe)) {
+ int err = errno;
+ mem_free(host);
+ mem_free(port);
+ mem_free(user);
+ mem_free(pass);
+ mem_free(share);
+ mem_free(data);
+ EINTRLOOP(rs, close(po[0]));
+ EINTRLOOP(rs, close(po[1]));
+ setcstate(c, get_error_from_errno(err));
+ abort_connection(c);
+ return;
+ }
+ c->from = 0;
+ EINTRLOOP(r, fork());
+ if (r == -1) {
+ int err = errno;
+ mem_free(host);
+ mem_free(port);
+ mem_free(user);
+ mem_free(pass);
+ mem_free(share);
+ mem_free(data);
+ EINTRLOOP(rs, close(po[0]));
+ EINTRLOOP(rs, close(po[1]));
+ EINTRLOOP(rs, close(pe[0]));
+ EINTRLOOP(rs, close(pe[1]));
+ setcstate(c, get_error_from_errno(err));
+ retry_connection(c);
+ return;
+ }
+ if (!r) {
+ int n;
+ unsigned char *v[32];
+ unsigned char *uphp;
+ close_fork_tty();
+ EINTRLOOP(rs, close(1));
+ if (si->list)
+ EINTRLOOP(rs, dup2(pe[1], 1));
+ else
+ EINTRLOOP(rs, dup2(po[1], 1));
+ EINTRLOOP(rs, close(2));
+ EINTRLOOP(rs, dup2(pe[1], 2));
+ EINTRLOOP(rs, close(0));
+ EINTRLOOP(rs, open("/dev/null", O_RDONLY));
+ EINTRLOOP(rs, close(po[0]));
+ EINTRLOOP(rs, close(pe[0]));
+ EINTRLOOP(rs, close(po[1]));
+ EINTRLOOP(rs, close(pe[1]));
+ n = 0;
+ switch (si->client) {
+ case SMBCLIENT:
+ v[n++] = "smbclient";
+ if (!*share) {
+ v[n++] = "-L";
+ v[n++] = host;
+ } else {
+ unsigned char *s = stracpy("//");
+ add_to_strn(&s, host);
+ add_to_strn(&s, "/");
+ add_to_strn(&s, share);
+ v[n++] = s;
+ if (*pass && !*user) {
+ v[n++] = pass;
+ }
+ }
+ v[n++] = "-N";
+ v[n++] = "-E";
+ if (*port) {
+ v[n++] = "-p";
+ v[n++] = port;
+ }
+ if (*user) {
+ v[n++] = "-U";
+ if (!*pass) {
+ v[n++] = user;
+ } else {
+ unsigned char *s = stracpy(user);
+ add_to_strn(&s, "%");
+ add_to_strn(&s, pass);
+ v[n++] = s;
+ }
+ }
+ if (*share) {
+ if (!*dir || dir[strlen(dir) - 1] == '/' || dir[strlen(dir) - 1] == '\\') {
+ if (*dir) {
+ v[n++] = "-D";
+ v[n++] = dir;
+ }
+ v[n++] = "-c";
+ v[n++] = "ls";
+ } else {
+ unsigned char *ss;
+ unsigned char *s = stracpy("get \"");
+ add_to_strn(&s, dir);
+ add_to_strn(&s, "\" -");
+ while ((ss = strchr(s, '/'))) *ss = '\\';
+ v[n++] = "-c";
+ v[n++] = s;
+ }
+ }
+ break;
+ case SMBC:
+ v[n++] = "smbc";
+ uphp = stracpy("");
+ if (*user) {
+ add_to_strn(&uphp, user);
+ if (*pass) {
+ add_to_strn(&uphp, ":");
+ add_to_strn(&uphp, pass);
+ }
+ add_to_strn(&uphp, "@");
+ }
+ add_to_strn(&uphp, host);
+ if (*port) {
+ add_to_strn(&uphp, ":");
+ add_to_strn(&uphp, port);
+ }
+ if (!*share) {
+ v[n++] = "-L";
+ v[n++] = uphp;
+ } else {
+ add_to_strn(&uphp, "/");
+ add_to_strn(&uphp, share);
+ if (!*dir || dir[strlen(dir) - 1] == '/' || dir[strlen(dir) - 1] == '\\') {
+ add_to_strn(&uphp, "/");
+ add_to_strn(&uphp, dir);
+ v[n++] = uphp;
+ v[n++] = "-c";
+ v[n++] = "ls";
+ } else {
+ unsigned char *d = init_str();
+ int dl = 0;
+ unsigned char *dp = dir;
+ v[n++] = uphp;
+ v[n++] = "-c";
+ add_to_str(&d, &dl, "pipe cat ");
+ while (*dp) {
+ if (*dp <= ' ' || *dp == '\\' || *dp == '"' || *dp == '\'' || *dp == '*' || *dp == '?') add_chr_to_str(&d, &dl, '\\');
+ add_chr_to_str(&d, &dl, *dp);
+ dp++;
+ }
+ v[n++] = d;
+ }
+ }
+ break;
+ default:
+ internal("unsuported smb client");
+ }
+ v[n++] = NULL;
+ EINTRLOOP(rs, execvp(v[0], (void *)v));
+ fprintf(stderr, "client not found");
+ fflush(stderr);
+ _exit(1);
+ }
+ c->pid = r;
+ mem_free(host);
+ mem_free(port);
+ mem_free(user);
+ mem_free(pass);
+ mem_free(share);
+ mem_free(data);
+ c->sock1 = po[0];
+ c->sock2 = pe[0];
+ EINTRLOOP(rs, close(po[1]));
+ EINTRLOOP(rs, close(pe[1]));
+ set_handlers(po[0], (void (*)(void *))smb_got_data, NULL, NULL, c);
+ set_handlers(pe[0], (void (*)(void *))smb_got_text, NULL, NULL, c);
+ setcstate(c, S_CONN);
+}
+
+static int smbc_get_num(unsigned char *text, int *ptr, off_t *res)
+{
+ off_t num;
+ int dec, dec_order, unit;
+ int was_digit;
+ int i = *ptr;
+ while (text[i] == ' ' || text[i] == '\t') i++;
+ was_digit = 0;
+ num = 0;
+ while (text[i] >= '0' && text[i] <= '9') {
+ num = num * 10 + text[i] - '0';
+ i++;
+ was_digit = 1;
+ }
+ dec = 0; dec_order = 1;
+ if (text[i] == '.') {
+ i++;
+ while (text[i] >= '0' && text[i] <= '9') {
+ if (dec_order < 1000000) {
+ dec = dec * 10 + text[i] - '0';
+ dec_order *= 10;
+ }
+ i++;
+ was_digit = 1;
+ }
+ }
+ if (!was_digit) return -1;
+ if (upcase(text[i]) == 'B') unit = 1;
+ else if (upcase(text[i]) == 'K') unit = 1 << 10;
+ else if (upcase(text[i]) == 'M') unit = 1 << 20;
+ else if (upcase(text[i]) == 'G') unit = 1 << 30;
+ else return -1;
+ i++;
+ *ptr = i;
+ *res = num * unit + (double)dec * ((double)unit / (double)dec_order);
+ return 0;
+}
+
+static void smb_read_text(struct connection *c, int sock)
+{
+ int r;
+ struct smb_connection_info *si = c->info;
+ if ((unsigned)sizeof(struct smb_connection_info) + si->ntext + page_size + 2 > MAXINT) overalloc();
+ si = mem_realloc(si, sizeof(struct smb_connection_info) + si->ntext + page_size + 2);
+ c->info = si;
+ EINTRLOOP(r, read(sock, si->text + si->ntext, page_size));
+ if (r == -1) {
+ setcstate(c, get_error_from_errno(errno));
+ retry_connection(c);
+ return;
+ }
+ if (r == 0) {
+ if (!si->cl) {
+ si->cl = 1;
+ set_handlers(sock, NULL, NULL, NULL, NULL);
+ return;
+ }
+ end_smb_connection(c);
+ return;
+ }
+ si->ntext += r;
+ if (!c->from) setcstate(c, S_GETH);
+ if (c->from && si->client == SMBC) {
+ int lasti = 0;
+ int i = 0;
+ si->text[si->ntext] = 0;
+ for (i = 0; i + 7 < si->ntext; i++) {
+ nexti:
+ if ((si->text[i] == '\n' || si->text[i] == '\r') && (si->text[i + 1] == ' ' || (si->text[i + 1] >= '0' && si->text[i + 1] <= '9')) && ((si->text[i + 2] == ' ' && si->text[i + 1] == ' ') || (si->text[i + 2] >= '0' && si->text[i + 2] <= '9')) && (si->text[i + 3] >= '0' && si->text[i + 3] <= '9') && si->text[i + 4] == '%' && si->text[i + 5] == ' ' && si->text[i + 6] == '[') {
+ off_t position, total = 0; /* against warning */
+ i += 7;
+ while (si->text[i] != ']') {
+ if (!si->text[i] || si->text[i] == '\n' || si->text[i] == '\r') {
+ goto nexti;
+ }
+ i++;
+ }
+ i++;
+ if (smbc_get_num(si->text, &i, &position)) {
+ goto nexti;
+ }
+ while (si->text[i] == ' ' || si->text[i] == '\t') i++;
+ if (si->text[i] != '/') {
+ goto nexti;
+ }
+ i++;
+ if (smbc_get_num(si->text, &i, &total)) {
+ goto nexti;
+ }
+ if (total < c->from) total = c->from;
+ c->est_length = total;
+ lasti = i;
+ }
+ }
+ if (lasti) memmove(si->text, si->text + lasti, si->ntext -= lasti);
+ }
+}
+
+static void smb_got_data(struct connection *c)
+{
+ struct smb_connection_info *si = c->info;
+ char *buffer = mem_alloc(page_size);
+ int r;
+ int a;
+ if (si->list) {
+ smb_read_text(c, c->sock1);
+ mem_free(buffer);
+ return;
+ }
+ EINTRLOOP(r, read(c->sock1, buffer, page_size));
+ if (r == -1) {
+ setcstate(c, get_error_from_errno(errno));
+ retry_connection(c);
+ mem_free(buffer);
+ return;
+ }
+ if (r == 0) {
+ mem_free(buffer);
+ if (!si->cl) {
+ si->cl = 1;
+ set_handlers(c->sock1, NULL, NULL, NULL, NULL);
+ return;
+ }
+ end_smb_connection(c);
+ return;
+ }
+ setcstate(c, S_TRANS);
+ if (!c->cache) {
+ if (get_cache_entry(c->url, &c->cache)) {
+ setcstate(c, S_OUT_OF_MEM);
+ abort_connection(c);
+ mem_free(buffer);
+ return;
+ }
+ c->cache->refcount--;
+ }
+ if ((off_t)(0UL + c->from + r) < 0) {
+ setcstate(c, S_LARGE_FILE);
+ abort_connection(c);
+ mem_free(buffer);
+ return;
+ }
+ c->received += r;
+ a = add_fragment(c->cache, c->from, buffer, r);
+ if (a < 0) {
+ setcstate(c, a);
+ abort_connection(c);
+ mem_free(buffer);
+ return;
+ }
+ if (a == 1) c->tries = 0;
+ c->from += r;
+ mem_free(buffer);
+}
+
+static void smb_got_text(struct connection *c)
+{
+ smb_read_text(c, c->sock2);
+}
+
+static void end_smb_connection(struct connection *c)
+{
+ struct smb_connection_info *si = c->info;
+ if (!c->cache) {
+ if (get_cache_entry(c->url, &c->cache)) {
+ setcstate(c, S_OUT_OF_MEM);
+ abort_connection(c);
+ return;
+ }
+ c->cache->refcount--;
+ }
+ if (!c->from) {
+ int sdir;
+ if (si->ntext && si->text[si->ntext - 1] != '\n') si->text[si->ntext++] = '\n';
+ si->text[si->ntext] = 0;
+ if (!strcmp(si->text, "client not found\n")) {
+ setcstate(c, S_NO_SMB_CLIENT);
+ if (++si->client < N_CLIENTS) {
+ if (si->client > smb_client) smb_client = si->client;
+ c->tries = -1;
+ retry_connection(c);
+ } else {
+ smb_client = 0;
+ abort_connection(c);
+ }
+ return;
+ }
+ sdir = 0;
+ if (si->client == SMBC) {
+ unsigned char *st = si->text;
+ if (!memcmp(st, "ServerName", 10) && strchr(st, '\n')) st = strchr(st, '\n') + 1;
+ if (!memcmp(st, "Logged", 6) && strchr(st, '\n')) st = strchr(st, '\n') + 1;
+ if (!strstr(st, "ERR")) sdir = 1;
+ }
+ if (!si->list && *c->url && c->url[strlen(c->url) - 1] != '/' && c->url[strlen(c->url) - 1] != '\\' && (strstr(si->text, "NT_STATUS_FILE_IS_A_DIRECTORY") || strstr(si->text, "NT_STATUS_ACCESS_DENIED") || strstr(si->text, "ERRbadfile") || sdir)) {
+ if (c->cache->redirect) mem_free(c->cache->redirect);
+ c->cache->redirect = stracpy(c->url);
+ c->cache->redirect_get = 1;
+ add_to_strn(&c->cache->redirect, "/");
+ c->cache->incomplete = 0;
+ } else {
+ unsigned char *ls, *le, *le2;
+ unsigned char *ud;
+ unsigned char *t = init_str();
+ int l = 0;
+ int type = 0;
+ int pos = 0;
+ int a;
+ add_to_str(&t, &l, "<html><head><title>");
+ ud = stracpy(c->url);
+ if (strchr(ud, POST_CHAR)) *strchr(ud, POST_CHAR) = 0;
+ add_conv_str(&t, &l, ud, strlen(ud), -1);
+ mem_free(ud);
+ add_to_str(&t, &l, "</title></head><body><pre>");
+ if (si->list == 1 && si->client == SMBC) {
+/* smbc has a nasty bug that it writes field descriptions to stderr and data to
+ stdout. Because of stdout buffer, they'll get mixed in the output. Try to
+ demix them. */
+#define SERVER "Server Comment\n------ -------\n"
+#define WORKGR "Workgroup Master\n--------- ------\n"
+ unsigned char *spos = strstr(si->text, SERVER);
+ unsigned char *gpos;
+ unsigned char *p, *pp, *ppp;
+ if (spos) memmove(spos, spos + strlen(SERVER), strlen(spos) - strlen(SERVER) + 1);
+ gpos = strstr(si->text, WORKGR);
+ if (gpos) memmove(gpos, gpos + strlen(WORKGR), strlen(gpos) - strlen(WORKGR) + 1);
+ if (!spos && !gpos) goto sc;
+ pp = NULL, ppp = NULL, p = si->text;
+ while ((p = strstr(p, "\n\n"))) ppp = pp, pp = p + 2, p++;
+ if (!pp) goto sc;
+ if (!spos || !gpos) ppp = NULL;
+ if (spos) {
+ if (!ppp) ppp = pp, pp = NULL;
+ memmove(ppp + strlen(SERVER), ppp, strlen(ppp) + 1);
+ memcpy(ppp, SERVER, strlen(SERVER));
+ if (pp) pp += strlen(SERVER);
+ }
+ if (gpos && pp) {
+ memmove(pp + strlen(WORKGR), pp, strlen(pp) + 1);
+ memcpy(pp, WORKGR, strlen(WORKGR));
+ }
+ goto sc;
+ }
+ sc:
+ ls = si->text;
+ while ((le = strchr(ls, '\n'))) {
+ unsigned char *lx;
+ le2 = strchr(ls, '\r');
+ if (!le2 || le2 > le) le2 = le;
+ lx = memacpy(ls, le2 - ls);
+ if (si->list == 1) {
+ unsigned char *ll, *lll;
+ if (!*lx) type = 0;
+ if (strstr(lx, "Sharename") && strstr(lx, "Type")) {
+ if (strstr(lx, "Type")) pos = (unsigned char *)strstr(lx, "Type") - lx;
+ else pos = 0;
+ type = 1;
+ goto af;
+ }
+ if (strstr(lx, "Server") && strstr(lx, "Comment")) {
+ type = 2;
+ goto af;
+ }
+ if (strstr(lx, "Workgroup") && strstr(lx, "Master")) {
+ pos = (unsigned char *)strstr(lx, "Master") - lx;
+ type = 3;
+ goto af;
+ }
+ if (!type) goto af;
+ for (ll = lx; *ll; ll++) if (!WHITECHAR(*ll) && *ll != '-') goto np;
+ goto af;
+ np:
+ for (ll = lx; *ll; ll++) if (!WHITECHAR(*ll)) break;
+ for (lll = ll; *lll/* && lll[1]*/; lll++) if (WHITECHAR(*lll)/* && WHITECHAR(lll[1])*/) break;
+ if (type == 1) {
+ unsigned char *llll;
+ if (!strstr(lll, "Disk")) goto af;
+ if (pos && (size_t)pos < strlen(lx) && WHITECHAR(*(llll = lx + pos - 1)) && llll > ll) {
+ while (llll > ll && WHITECHAR(*llll)) llll--;
+ if (!WHITECHAR(*llll)) lll = llll + 1;
+ }
+ add_conv_str(&t, &l, lx, ll - lx, 0);
+ add_to_str(&t, &l, "<a href=\"/");
+ add_conv_str(&t, &l, ll, lll - ll, 1);
+ add_to_str(&t, &l, "/\">");
+ add_conv_str(&t, &l, ll, lll - ll, 0);
+ add_to_str(&t, &l, "</a>");
+ add_conv_str(&t, &l, lll, strlen(lll), 0);
+ } else if (type == 2) {
+ sss:
+ add_conv_str(&t, &l, lx, ll - lx, 0);
+ add_to_str(&t, &l, "<a href=\"smb://");
+ add_conv_str(&t, &l, ll, lll - ll, 1);
+ add_to_str(&t, &l, "/\">");
+ add_conv_str(&t, &l, ll, lll - ll, 0);
+ add_to_str(&t, &l, "</a>");
+ add_conv_str(&t, &l, lll, strlen(lll), 0);
+ } else if (type == 3) {
+ if ((size_t)pos < strlen(lx) && pos && WHITECHAR(lx[pos - 1]) && !WHITECHAR(lx[pos])) ll = lx + pos;
+ else for (ll = lll; *ll; ll++) if (!WHITECHAR(*ll)) break;
+ for (lll = ll; *lll; lll++) if (WHITECHAR(*lll)) break;
+ goto sss;
+ } else goto af;
+ } else if (si->list == 2 && si->client == SMBCLIENT) {
+ if (strstr(lx, "NT_STATUS")) {
+ le[1] = 0;
+ goto af;
+ }
+ if (le2 - ls >= 5 && ls[0] == ' ' && ls[1] == ' ' && ls[2] != ' ') {
+ int dir;
+ unsigned char *pp;
+ unsigned char *p = ls + 3;
+ while (p + 2 <= le2) {
+ if (p[0] == ' ' && p[1] == ' ') goto o;
+ p++;
+ }
+ goto af;
+ o:
+ dir = 0;
+ pp = p;
+ while (pp < le2 && *pp == ' ') pp++;
+ while (pp < le2 && *pp != ' ') {
+ if (*pp == 'D') {
+ dir = 1;
+ break;
+ }
+ pp++;
+ }
+ add_to_str(&t, &l, " <a href=\"./");
+ add_conv_str(&t, &l, ls + 2, p - (ls + 2), 1);
+ if (dir) add_chr_to_str(&t, &l, '/');
+ add_to_str(&t, &l, "\">");
+ add_conv_str(&t, &l, ls + 2, p - (ls + 2), 0);
+ add_to_str(&t, &l, "</a>");
+ add_conv_str(&t, &l, p, le - p, 0);
+ } else goto af;
+ } else if (si->list == 2 && si->client == SMBC) {
+ unsigned char *d;
+ if (le2 - ls <= 17) goto af;
+ d = ls + 17;
+ smbc_next_chr:
+ if (d + 9 >= le2) goto af;
+ if (!(d[0] == ':' && d[1] >= '0' && d[1] <= '9' && d[2] >= '0' && d[2] <= '9' && d[3] == ' ' && ((d[4] == '1' && d[5] == '9') || (d[4] == '2' && d[5] >= '0' && d[5] <= '9')) && d[6] >= '0' && d[6] <= '9' && d[7] >= '0' && d[7] <= '9' && d[8] == ' ')) {
+ d++;
+ goto smbc_next_chr;
+ }
+ d += 9;
+ add_conv_str(&t, &l, ls, d - ls, 0);
+ add_to_str(&t, &l, "<a href=\"./");
+ add_conv_str(&t, &l, d, le2 - d, 1);
+ if (ls[4] == 'D') add_chr_to_str(&t, &l, '/');
+ add_to_str(&t, &l, "\">");
+ add_conv_str(&t, &l, d, le2 - d, 0);
+ add_to_str(&t, &l, "</a>");
+ } else af: add_conv_str(&t, &l, ls, le2 - ls, 0);
+ add_chr_to_str(&t, &l, '\n');
+ ls = le + 1;
+ mem_free(lx);
+ }
+ /*add_to_str(&t, &l, si->text);*/
+ a = add_fragment(c->cache, 0, t, l);
+ if (a < 0) {
+ mem_free(t);
+ setcstate(c, a);
+ abort_connection(c);
+ return;
+ }
+ c->from += l;
+ truncate_entry(c->cache, l, 1);
+ c->cache->incomplete = 0;
+ mem_free(t);
+ if (!c->cache->head) c->cache->head = stracpy("\r\n");
+ add_to_strn(&c->cache->head, "Content-Type: text/html\r\n");
+ }
+ } else {
+ truncate_entry(c->cache, c->from, 1);
+ c->cache->incomplete = 0;
+ }
+ close_socket(&c->sock1);
+ close_socket(&c->sock2);
+ setcstate(c, S__OK);
+ abort_connection(c);
+ return;
+}
+
+#endif
diff --git a/stamp-h.in b/stamp-h.in
new file mode 100644
index 0000000..9788f70
--- /dev/null
+++ b/stamp-h.in
@@ -0,0 +1 @@
+timestamp
diff --git a/svgalib.c b/svgalib.c
new file mode 100644
index 0000000..2bc2f14
--- /dev/null
+++ b/svgalib.c
@@ -0,0 +1,2572 @@
+/* svgalib.c
+ * (c) 2000-2002 Karel 'Clock' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ *
+ * This does graphics driver of svgalib, svgalib mouse.
+ * This doesn't do svgalib keyboard.
+ */
+
+#include "cfg.h"
+
+/*
+:%s/->left/->clip.x1/g
+:%s/->right/->clip.x2/g
+:%s/->top/->clip.y1/g
+:%s/->bottom/->clip.y2/g
+*/
+
+#ifdef GRDRV_SVGALIB
+
+#include "links.h"
+#include "bits.h"
+
+#include <vga.h>
+#include <vgamouse.h>
+#include "arrow.inc"
+
+static struct itrm *svgalib_kbd;
+
+extern struct graphics_driver svga_driver;
+static int mouse_x, mouse_y, mouse_buttons; /* For tracking the state of the mouse */
+static int background_x, background_y; /* Where was the mouse background taken from */
+static unsigned char *mouse_buffer, *background_buffer, *new_background_buffer;
+static struct graphics_device *mouse_graphics_device;
+static int global_mouse_hidden;
+static long mouse_black, mouse_white; /* Mouse arrow pointer colors */
+static int (* mouse_getscansegment)(unsigned char *, int, int, int);
+static int (* mouse_drawscansegment)(unsigned char *, int, int, int);
+static int mouse_works = 0;
+static unsigned char *svga_driver_param; /* NULL by default */
+static int vga_mode; /* The mode that has been selected */
+static struct graphics_device *backup_virtual_device;
+static int mouse_aggregate_flag, mouse_aggregate_action;
+static int flags = 0; /* OR-ed 1: running in background
+ * 2: vga_block()-ed
+ */
+#ifndef __SPAD__
+static int svgalib_timer_id;
+#endif
+
+/*---------------------------LIMITATIONS---------------------------------------*/
+/* pixel_set_paged works only for <=8 bytes per pixel.
+ * Doesn't work on video cards which have 1 pixel spanning more that 65536 bytes! ( :-) )
+ * vga_linewidth%vga_bytes must be zero.
+ * The bitmaps have all consecutive data. No vidram mallocing is performed.
+ */
+
+/*------------------------STRUCTURES-------------------------------------------*/
+struct modeline{
+ unsigned char *name;
+ int number;
+};
+
+/*-------------- GLOBAL VARIABLES --------------------------------------------*/
+
+#define NUMBER_OF_DEVICES 10
+
+#define TEST_INACTIVITY if (dev!=current_virtual_device) return;
+
+#define TEST_INACTIVITY_0 if (dev!=current_virtual_device) return 0;
+
+#define RECTANGLES_INTERSECT(xl0, xh0, xl1, xh1, yl0, yh0, yl1, yh1) (\
+ (xl0)<(xh1)\
+ && (xl1)<(xh0)\
+ && (yl0)<(yh1)\
+ && (yl1)<(yh0))
+
+#define TEST_MOUSE(xl,xh,yl,yh) if (RECTANGLES_INTERSECT(\
+ (xl),(xh),\
+ background_x,background_x+arrow_width,\
+ (yl),(yh),\
+ background_y,background_y+arrow_height)\
+ && !global_mouse_hidden){\
+ mouse_hidden=1;\
+ hide_mouse();\
+ }else mouse_hidden=0;
+
+#define END_MOUSE if (mouse_hidden) show_mouse();
+
+/* Actual vga mode definition */
+static int vga_linewidth; /* Prepared out from vga_getmodeinfo */
+static int xsize, ysize; /* Prepared out from vga_getmodeinfo */
+static int vga_bytes; /* Prepared out from vga_getmodeinfo */
+static int vga_colors; /* Prepared out from vga_getmodeinfo */
+static int vga_misordered; /* Prepared out from vga_getmodeinfo */
+static int vga_linear; /* 1 linear mode, 0 nonlinear mode (paged) */
+static int palette_depth; /* 6 for normal VGA, 8 for VGA which supports 8 bit DAC */
+static int accel_avail; /* Which accel fns are available */
+static int do_sync; /* Tells the "normal" memory operations (those
+ * that do not use accelerator) to do
+ * vga_accel(ACCEL_SYNC) before writing into the
+ * memory.
+ */
+static int vga_page=-1;
+static int mode_x; /* 1 if mode_X organization is set up */
+static int fb_pixelsize; /* Number of bytes per pixel in bitmap */
+static unsigned char *my_graph_mem;
+static unsigned char *scroll_buffer = NULL; /* For paged scrolling only */
+static struct modeline modes[]={
+#ifdef G320x200x16
+ {"320x200x16", G320x200x16 },
+#endif
+#ifdef G320x200x256
+ {"320x200x256", G320x200x256 },
+#endif
+#ifdef G320x200x32K
+ {"320x200x32K", G320x200x32K },
+#endif
+#ifdef G320x200x64K
+ {"320x200x64K", G320x200x64K },
+#endif
+#ifdef G320x200x16M
+ {"320x200x16M", G320x200x16M },
+#endif
+#ifdef G320x200x16M32
+ {"320x200x16M32", G320x200x16M32 },
+#endif
+
+#ifdef G320x240x256
+ {"320x240x256", G320x240x256 },
+#endif
+#ifdef G320x240x32K
+ {"320x240x32K", G320x240x32K },
+#endif
+#ifdef G320x240x64K
+ {"320x240x64K", G320x240x64K },
+#endif
+#ifdef G320x240x16M
+ {"320x240x16M", G320x240x16M },
+#endif
+#ifdef G320x240x16M32
+ {"320x240x16M32", G320x240x16M32 },
+#endif
+
+#ifdef G320x400x256
+ {"320x400x256", G320x400x256 },
+#endif
+#ifdef G320x400x32K
+ {"320x400x32K", G320x400x32K },
+#endif
+#ifdef G320x400x64K
+ {"320x400x64K", G320x400x64K },
+#endif
+#ifdef G320x400x16M
+ {"320x400x16M", G320x400x16M },
+#endif
+#ifdef G320x400x16M32
+ {"320x400x16M32", G320x400x16M32 },
+#endif
+
+#ifdef G320x480x256
+ {"320x480x256", G320x480x256 },
+#endif
+#ifdef G320x480x32K
+ {"320x480x32K", G320x480x32K },
+#endif
+#ifdef G320x480x64K
+ {"320x480x64K", G320x480x64K },
+#endif
+#ifdef G320x480x16M
+ {"320x480x16M", G320x480x16M },
+#endif
+#ifdef G320x480x16M32
+ {"320x480x16M32", G320x480x16M32 },
+#endif
+
+#ifdef G360x480x256
+ {"360x480x256", G360x480x256 },
+#endif
+
+#ifdef G400x300x256
+ {"400x300x256", G400x300x256 },
+#endif
+#ifdef G400x300x32K
+ {"400x300x32K", G400x300x32K },
+#endif
+#ifdef G400x300x64K
+ {"400x300x64K", G400x300x64K },
+#endif
+#ifdef G400x300x16M
+ {"400x300x16M", G400x300x16M },
+#endif
+#ifdef G400x300x16M32
+ {"400x300x16M32", G400x300x16M32 },
+#endif
+
+#ifdef G400x600x256
+ {"400x600x256", G400x600x256 },
+#endif
+#ifdef G400x600x32K
+ {"400x600x32K", G400x600x32K },
+#endif
+#ifdef G400x600x64K
+ {"400x600x64K", G400x600x64K },
+#endif
+#ifdef G400x600x16M
+ {"400x600x16M", G400x600x16M },
+#endif
+#ifdef G400x600x16M32
+ {"400x600x16M32", G400x600x16M32 },
+#endif
+
+#ifdef G512x384x256
+ {"512x384x256", G512x384x256 },
+#endif
+#ifdef G512x384x32K
+ {"512x384x32K", G512x384x32K },
+#endif
+#ifdef G512x384x64K
+ {"512x384x64K", G512x384x64K },
+#endif
+#ifdef G512x384x16M
+ {"512x384x16M", G512x384x16M },
+#endif
+#ifdef G512x384x16M32
+ {"512x384x16M32", G512x384x16M32 },
+#endif
+
+#ifdef G512x480x256
+ {"512x480x256", G512x480x256 },
+#endif
+#ifdef G512x480x32K
+ {"512x480x32K", G512x480x32K },
+#endif
+#ifdef G512x480x64K
+ {"512x480x64K", G512x480x64K },
+#endif
+#ifdef G512x480x16M
+ {"512x480x16M", G512x480x16M },
+#endif
+#ifdef G512x480x16M32
+ {"512x480x16M32", G512x480x16M32 },
+#endif
+
+#ifdef G640x200x16
+ {"640x200x16", G640x200x16 },
+#endif
+#ifdef G640x350x16
+ {"640x350x16", G640x350x16 },
+#endif
+
+#ifdef G640x400x256
+ {"640x400x256", G640x400x256 },
+#endif
+#ifdef G640x400x32K
+ {"640x400x32K", G640x400x32K },
+#endif
+#ifdef G640x400x64K
+ {"640x400x64K", G640x400x64K },
+#endif
+#ifdef G640x400x16M
+ {"640x400x16M", G640x400x16M },
+#endif
+#ifdef G640x400x16M32
+ {"640x400x16M32", G640x400x16M32 },
+#endif
+
+#ifdef G640x480x16
+ {"640x480x16", G640x480x16 },
+#endif
+#ifdef G640x480x256
+ {"640x480x256", G640x480x256 },
+#endif
+#ifdef G640x480x32K
+ {"640x480x32K", G640x480x32K },
+#endif
+#ifdef G640x480x64K
+ {"640x480x64K", G640x480x64K },
+#endif
+#ifdef G640x480x16M
+ {"640x480x16M", G640x480x16M },
+#endif
+#ifdef G640x480x16M32
+ {"640x480x16M32", G640x480x16M32 },
+#endif
+
+#ifdef G720x540x256
+ {"720x540x256", G720x540x256 },
+#endif
+#ifdef G720x540x32K
+ {"720x540x32K", G720x540x32K },
+#endif
+#ifdef G720x540x64K
+ {"720x540x64K", G720x540x64K },
+#endif
+#ifdef G720x540x16M
+ {"720x540x16M", G720x540x16M },
+#endif
+#ifdef G720x540x16M32
+ {"720x540x16M32", G720x540x16M32 },
+#endif
+
+#ifdef G800x600x16
+ {"800x600x16", G800x600x16 },
+#endif
+#ifdef G800x600x256
+ {"800x600x256", G800x600x256 },
+#endif
+#ifdef G800x600x32K
+ {"800x600x32K", G800x600x32K },
+#endif
+#ifdef G800x600x64K
+ {"800x600x64K", G800x600x64K },
+#endif
+#ifdef G800x600x16M
+ {"800x600x16M", G800x600x16M },
+#endif
+#ifdef G800x600x16M32
+ {"800x600x16M32", G800x600x16M32 },
+#endif
+
+#ifdef G848x480x256
+ {"848x480x256", G848x480x256 },
+#endif
+#ifdef G848x480x32K
+ {"848x480x32K", G848x480x32K },
+#endif
+#ifdef G848x480x64K
+ {"848x480x64K", G848x480x64K },
+#endif
+#ifdef G848x480x16M
+ {"848x480x16M", G848x480x16M },
+#endif
+#ifdef G848x480x16M32
+ {"848x480x16M32", G848x480x16M32 },
+#endif
+
+#ifdef G960x720x256
+ {"960x720x256", G960x720x256 },
+#endif
+#ifdef G960x720x32K
+ {"960x720x32K", G960x720x32K },
+#endif
+#ifdef G960x720x64K
+ {"960x720x64K", G960x720x64K },
+#endif
+#ifdef G960x720x16M
+ {"960x720x16M", G960x720x16M },
+#endif
+#ifdef G960x720x16M32
+ {"960x720x16M32", G960x720x16M32 },
+#endif
+
+#ifdef G1024x768x16
+ {"1024x768x16", G1024x768x16 },
+#endif
+#ifdef G1024x768x256
+ {"1024x768x256", G1024x768x256 },
+#endif
+#ifdef G1024x768x32K
+ {"1024x768x32K", G1024x768x32K },
+#endif
+#ifdef G1024x768x64K
+ {"1024x768x64K", G1024x768x64K },
+#endif
+#ifdef G1024x768x16M
+ {"1024x768x16M", G1024x768x16M },
+#endif
+#ifdef G1024x768x16M32
+ {"1024x768x16M32", G1024x768x16M32 },
+#endif
+
+#ifdef G1072x600x256
+ {"1072x600x256", G1072x600x256 },
+#endif
+#ifdef G1072x600x32K
+ {"1072x600x32K", G1072x600x32K },
+#endif
+#ifdef G1072x600x64K
+ {"1072x600x64K", G1072x600x64K },
+#endif
+#ifdef G1072x600x16M
+ {"1072x600x16M", G1072x600x16M },
+#endif
+#ifdef G1072x600x16M32
+ {"1072x600x16M32", G1072x600x16M32 },
+#endif
+
+#ifdef G1152x864x16
+ {"1152x864x16", G1152x864x16 },
+#endif
+#ifdef G1152x864x256
+ {"1152x864x256", G1152x864x256 },
+#endif
+#ifdef G1152x864x32K
+ {"1152x864x32K", G1152x864x32K },
+#endif
+#ifdef G1152x864x64K
+ {"1152x864x64K", G1152x864x64K },
+#endif
+#ifdef G1152x864x16M
+ {"1152x864x16M", G1152x864x16M },
+#endif
+#ifdef G1152x864x16M32
+ {"1152x864x16M32", G1152x864x16M32 },
+#endif
+
+#ifdef G1280x720x256
+ {"1280x720x256", G1280x720x256 },
+#endif
+#ifdef G1280x720x32K
+ {"1280x720x32K", G1280x720x32K },
+#endif
+#ifdef G1280x720x64K
+ {"1280x720x64K", G1280x720x64K },
+#endif
+#ifdef G1280x720x16M
+ {"1280x720x16M", G1280x720x16M },
+#endif
+#ifdef G1280x720x16M32
+ {"1280x720x16M32", G1280x720x16M32 },
+#endif
+
+#ifdef G1280x1024x16
+ {"1280x1024x16", G1280x1024x16 },
+#endif
+#ifdef G1280x1024x256
+ {"1280x1024x256", G1280x1024x256 },
+#endif
+#ifdef G1280x1024x32K
+ {"1280x1024x32K", G1280x1024x32K },
+#endif
+#ifdef G1280x1024x64K
+ {"1280x1024x64K", G1280x1024x64K },
+#endif
+#ifdef G1280x1024x16M
+ {"1280x1024x16M", G1280x1024x16M },
+#endif
+#ifdef G1280x1024x16M32
+ {"1280x1024x16M32", G1280x1024x16M32 },
+#endif
+
+#ifdef G1360x768x256
+ {"1360x768x256", G1360x768x256 },
+#endif
+#ifdef G1360x768x32K
+ {"1360x768x32K", G1360x768x32K },
+#endif
+#ifdef G1360x768x64K
+ {"1360x768x64K", G1360x768x64K },
+#endif
+#ifdef G1360x768x16M
+ {"1360x768x16M", G1360x768x16M },
+#endif
+#ifdef G1360x768x16M32
+ {"1360x768x16M32", G1360x768x16M32 },
+#endif
+
+#ifdef G1600x1200x16
+ {"1600x1200x16", G1600x1200x16 },
+#endif
+#ifdef G1600x1200x256
+ {"1600x1200x256", G1600x1200x256 },
+#endif
+#ifdef G1600x1200x32K
+ {"1600x1200x32K", G1600x1200x32K },
+#endif
+#ifdef G1600x1200x64K
+ {"1600x1200x64K", G1600x1200x64K },
+#endif
+#ifdef G1600x1200x16M
+ {"1600x1200x16M", G1600x1200x16M },
+#endif
+#ifdef G1600x1200x16M32
+ {"1600x1200x16M32", G1600x1200x16M32 },
+#endif
+
+#ifdef G1800x1012x256
+ {"1800x1012x256", G1800x1012x256 },
+#endif
+#ifdef G1800x1012x32K
+ {"1800x1012x32K", G1800x1012x32K },
+#endif
+#ifdef G1800x1012x64K
+ {"1800x1012x64K", G1800x1012x64K },
+#endif
+#ifdef G1800x1012x16M
+ {"1800x1012x16M", G1800x1012x16M },
+#endif
+#ifdef G1800x1012x16M32
+ {"1800x1012x16M32", G1800x1012x16M32 },
+#endif
+
+#ifdef G1920x1080x256
+ {"1920x1080x256", G1920x1080x256 },
+#endif
+#ifdef G1920x1080x32K
+ {"1920x1080x32K", G1920x1080x32K },
+#endif
+#ifdef G1920x1080x64K
+ {"1920x1080x64K", G1920x1080x64K },
+#endif
+#ifdef G1920x1080x16M
+ {"1920x1080x16M", G1920x1080x16M },
+#endif
+#ifdef G1920x1080x16M32
+ {"1920x1080x16M32", G1920x1080x16M32 },
+#endif
+
+#ifdef G1920x1440x256
+ {"1920x1440x256", G1920x1440x256 },
+#endif
+#ifdef G1920x1440x32K
+ {"1920x1440x32K", G1920x1440x32K },
+#endif
+#ifdef G1920x1440x64K
+ {"1920x1440x64K", G1920x1440x64K },
+#endif
+#ifdef G1920x1440x16M
+ {"1920x1440x16M", G1920x1440x16M },
+#endif
+#ifdef G1920x1440x16M32
+ {"1920x1440x16M32", G1920x1440x16M32 },
+#endif
+
+#ifdef G2048x1152x256
+ {"2048x1152x256", G2048x1152x256 },
+#endif
+#ifdef G2048x1152x32K
+ {"2048x1152x32K", G2048x1152x32K },
+#endif
+#ifdef G2048x1152x64K
+ {"2048x1152x64K", G2048x1152x64K },
+#endif
+#ifdef G2048x1152x16M
+ {"2048x1152x16M", G2048x1152x16M },
+#endif
+#ifdef G2048x1152x16M32
+ {"2048x1152x16M32", G2048x1152x16M32 },
+#endif
+
+#ifdef G2048x1536x256
+ {"2048x1536x256", G2048x1536x256 },
+#endif
+#ifdef G2048x1536x32K
+ {"2048x1536x32K", G2048x1536x32K },
+#endif
+#ifdef G2048x1536x64K
+ {"2048x1536x64K", G2048x1536x64K },
+#endif
+#ifdef G2048x1536x16M
+ {"2048x1536x16M", G2048x1536x16M },
+#endif
+#ifdef G2048x1536x16M32
+ {"2048x1536x16M32", G2048x1536x16M32 },
+#endif
+
+};
+
+/*--------------------------- ROUTINES ---------------------------------------*/
+
+/* Generates these palettes:
+ * 7 6 5 4 3 2 1 0
+ * +-----+-----+---+
+ * | R | G | B |
+ * +-----+-----+---+
+ *
+ *
+ * 3 2 1 0
+ * +-+---+-+
+ * |R| G |B|
+ * +-+---+-+
+ */
+
+static void show_mouse(void);
+static void hide_mouse(void);
+static void redraw_mouse(void);
+
+/* We must perform a quirkafleg
+ * This is an empiric magic that ensures
+ * Good white purity
+ * Correct rounding and dithering prediction
+ * And this is the cabbala:
+ * 063 021 063
+ * 009 009 021
+ * 255 085 255
+ * 036 036 084
+ */
+static void generate_palette(struct irgb *palette)
+{
+ int a;
+
+ if (vga_colors==16){
+ if (palette_depth==6){
+ for (a=0;a<16;a++,palette++)
+ {
+ palette->r=(a&8)?63:0;
+ palette->g=((a>>1)&3)*21;
+ palette->b=(a&1)?63:0;
+ }
+ }else{
+ /* palette_depth==8 */
+ for (a=0;a<16;a++,palette++)
+ {
+ palette->r=(a&8)?255:0;
+ palette->g=((a>>1)&3)*85;
+ palette->b=(a&1)?255:0;
+ }
+ }
+ }else{
+ /* vga_colors==256 */
+ if (palette_depth==6){
+ for (a=0;a<256;a++,palette++){
+ palette->r=((a>>5)&7)*9;
+ palette->g=((a>>2)&7)*9;
+ palette->b=(a&3)*21;
+ }
+ }else{
+ /* palette_depth==8 */
+ for (a=0;a<256;a++,palette++){
+ palette->r=((a>>5)&7)*36;
+ palette->g=((a>>2)&7)*36;
+ palette->b=(a&3)*84;
+ }
+ }
+ }
+
+}
+
+static void set_palette(struct irgb *palette)
+{
+ int r,g,b,c;
+
+ for (c=0;c<vga_colors;c++){
+ r=palette[c].r;
+ g=palette[c].g;
+ b=palette[c].b;
+ vga_setpalette(c,r,g,b);
+ }
+}
+
+static void svga_shutdown_driver(void)
+{
+ if (scroll_buffer) mem_free(scroll_buffer);
+ if (mouse_works){
+ mem_free(mouse_buffer);
+ mem_free(background_buffer);
+ mem_free(new_background_buffer);
+ svga_driver.shutdown_device(mouse_graphics_device);
+ mouse_close();
+ mouse_works=0; /* To keep vga_select disabled */
+ }
+ shutdown_virtual_devices();
+ vga_unlockvc();
+#ifndef __SPAD__
+ kill_timer(svgalib_timer_id);
+#endif
+ if (vga_setmode(TEXT) < 0) {
+ error("ERROR: vga_setmode failed");
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+ svgalib_free_trm(svgalib_kbd);
+ if (svga_driver_param)mem_free(svga_driver_param);
+ install_signal_handler(SIGINT, NULL, NULL, 0);
+}
+
+static void svga_register_bitmap(struct bitmap *bmp)
+{
+}
+
+static void svga_unregister_bitmap(struct bitmap *bmp)
+{
+ mem_free(bmp->data);
+}
+
+#define SYNC if (do_sync) vga_accel(ACCEL_SYNC);
+
+/* This assures that x, y, xs, ys, data will be sane according to clipping
+ * rectangle. If nothing lies within this rectangle, the current function
+ * returns. The data pointer is automatically advanced by this macro to reflect
+ * the right position to start with inside the bitmap. */
+#define CLIP_PREFACE \
+ int xs=hndl->x,ys=hndl->y;\
+ unsigned char *data=hndl->data;\
+ int mouse_hidden;\
+\
+ TEST_INACTIVITY\
+ if (x>=dev->clip.x2||x+xs<=dev->clip.x1) return;\
+ if (y>=dev->clip.y2||y+ys<=dev->clip.y1) return;\
+ if (x+xs>dev->clip.x2) xs=dev->clip.x2-x;\
+ if (y+ys>dev->clip.y2) ys=dev->clip.y2-y;\
+ if (dev->clip.x1-x>0){\
+ xs-=(dev->clip.x1-x);\
+ data+=fb_pixelsize*(dev->clip.x1-x);\
+ x=dev->clip.x1;\
+ }\
+ if (dev->clip.y1-y>0){\
+ ys-=(dev->clip.y1-y);\
+ data+=hndl->skip*(dev->clip.y1-y);\
+ y=dev->clip.y1;\
+ }\
+ /* xs, ys: how much pixels to paint\
+ * data: where to start painting from\
+ */\
+ TEST_MOUSE (x,x+xs,y,y+ys)
+
+static inline void draw_bitmap_accel(struct graphics_device *dev,
+ struct bitmap* hndl, int x, int y)
+{
+ CLIP_PREFACE
+
+ if (xs*fb_pixelsize==hndl->skip) vga_accel(ACCEL_PUTIMAGE,x,y,xs,ys,data);
+ else for(;ys;ys--){
+ vga_accel(ACCEL_PUTIMAGE,x,y,xs,1,data);
+ data+=hndl->skip;
+ y++;
+ }
+ END_MOUSE
+}
+
+static inline void my_setpage(int page)
+{
+ if (vga_page!=page){
+ vga_page=page;
+ vga_setpage(page);
+ }
+}
+
+static inline void paged_memcpy(int lina, unsigned char *src, int len)
+{
+ int page=lina>>16;
+ int paga=lina&0xffff;
+ int remains;
+
+ my_setpage(page);
+ remains=65536-paga;
+ again:
+ if (remains>=len){
+ memcpy(my_graph_mem+paga,src,len);
+ vga_page=page;
+ return;
+ }else{
+ memcpy(my_graph_mem+paga,src,remains);
+ paga=0;
+ src+=remains;
+ len-=remains;
+ remains=65536;
+ vga_setpage(++page);
+ goto again;
+ }
+}
+
+
+static inline void draw_bitmap_drawscansegment(struct graphics_device *dev, struct bitmap* hndl, int x, int y)
+{
+ int ys0;
+
+ CLIP_PREFACE
+ SYNC
+ for (ys0=ys;ys0;ys0--){
+ vga_drawscansegment(data,x,y,xs);
+ y++;
+ data+=hndl->skip;
+ }
+ END_MOUSE
+}
+
+static inline void draw_bitmap_paged(struct graphics_device *dev, struct bitmap* hndl, int x, int y)
+{
+ int scr_start;
+
+ CLIP_PREFACE
+ scr_start=y*vga_linewidth+x*vga_bytes;
+ SYNC
+ for(;ys;ys--){
+ paged_memcpy(scr_start,data,xs*vga_bytes);
+ data+=hndl->skip;
+ scr_start+=vga_linewidth;
+ }
+ END_MOUSE
+
+
+}
+
+static inline void draw_bitmap_linear(struct graphics_device *dev,struct bitmap* hndl, int x, int y)
+{
+ unsigned char *scr_start;
+
+ CLIP_PREFACE
+ SYNC
+ scr_start=my_graph_mem+y*vga_linewidth+x*vga_bytes;
+ for(;ys;ys--){
+ memcpy(scr_start,data,xs*vga_bytes);
+ data+=hndl->skip;
+ scr_start+=vga_linewidth;
+ }
+ END_MOUSE
+}
+
+/* fill_area: 5,5,10,10 fills in 25 pixels! */
+
+/* This assures that left, right, top, bottom will be sane according to the
+ * clipping rectangle set up by svga_driver->set_clip_area. If empty region
+ * results, return from current function occurs. */
+#define FILL_CLIP_PREFACE \
+ int mouse_hidden;\
+ TEST_INACTIVITY\
+ if (left>=right||top>=bottom) return;\
+ if (left>=dev->clip.x2||right<=dev->clip.x1||top>=dev->clip.y2||bottom<=dev->clip.y1) return;\
+ if (left<dev->clip.x1) left=dev->clip.x1;\
+ if (right>dev->clip.x2) right=dev->clip.x2;\
+ if (top<dev->clip.y1) top=dev->clip.y1;\
+ if (bottom>dev->clip.y2) bottom=dev->clip.y2;\
+ TEST_MOUSE(left,right,top,bottom)
+
+
+static void fill_area_accel_box(struct graphics_device *dev, int left, int top, int right, int bottom, long color)
+{
+ FILL_CLIP_PREFACE
+
+ vga_accel(ACCEL_SETFGCOLOR,color);
+ vga_accel(ACCEL_FILLBOX,left,top,right-left,bottom-top);
+ END_MOUSE
+}
+
+static void fill_area_accel_lines(struct graphics_device *dev, int left, int top, int right, int bottom, long color)
+{
+ int y;
+
+ FILL_CLIP_PREFACE
+ vga_accel(ACCEL_SETFGCOLOR,color);
+ for (y=top;y<bottom;y++) vga_accel(ACCEL_DRAWLINE,left,y,right-1,y);
+ END_MOUSE
+}
+
+#include "fbcommon.inc"
+
+static void fill_area_linear(struct graphics_device *dev, int left, int top, int right, int bottom, long color)
+{
+ unsigned char *dest;
+ int y;
+
+ FILL_CLIP_PREFACE
+ SYNC
+ dest=my_graph_mem+top*vga_linewidth+left*vga_bytes;
+ for (y=bottom-top;y;y--){
+ pixel_set(dest,(right-left)*vga_bytes,&color);
+ dest+=vga_linewidth;
+ }
+ END_MOUSE
+}
+
+/* Params are exactly the same as in pixel_set except lina, which is offset from
+ * my_graph_mem in bytes. Works for every vga_bytes. len is in bytes. len must
+ * be a whole number of pixels.
+ */
+static void pixel_set_paged(int lina, int len, void * color)
+{
+ int page=lina>>16; /* Page number */
+ int paga=lina&0xffff; /* 16-bit address within a page */
+ int remains=65536-paga; /* How many bytes remain within the page*/
+ int offset=0; /* Offset inside the pixel */
+ unsigned char color0[15];
+
+ memcpy(color0,color,vga_bytes);
+ memcpy(color0+vga_bytes,color,vga_bytes-1);
+
+ my_setpage(page);
+ again:
+ if (remains>=len){
+ int done=len-len%vga_bytes;
+ pixel_set(my_graph_mem+paga,done,color0+offset);
+ paga+=done;
+ if (done<len)
+ memcpy(my_graph_mem+paga,color0+offset,len-done);
+ vga_page=page;
+ return;
+ }else{
+ int done=remains-remains%vga_bytes;
+ pixel_set(my_graph_mem+paga,done,color0+offset);
+ paga+=done;
+ if (done<remains)
+ memcpy(my_graph_mem+paga,color0+offset,remains-done);
+ offset+=(remains-done);
+ if (offset>=vga_bytes) offset-=vga_bytes;
+ len-=remains;
+ remains=65536;
+ vga_setpage(++page);
+ paga=0;
+ goto again;
+ }
+}
+
+static void fill_area_paged(struct graphics_device *dev, int left, int top, int right, int bottom, long color)
+{
+ int dest;
+ int y;
+ int len;
+ FILL_CLIP_PREFACE
+ SYNC
+ len=(right-left)*vga_bytes;
+ dest=top*vga_linewidth+left*vga_bytes;
+ for (y=bottom-top;y;y--){
+ pixel_set_paged(dest,len,&color);
+ dest+=vga_linewidth;
+ }
+ END_MOUSE
+}
+
+#define HLINE_CLIP_PREFACE \
+ int mouse_hidden;\
+ TEST_INACTIVITY\
+ if (left>=right) return;\
+ if (y<dev->clip.y1||y>=dev->clip.y2||right<=dev->clip.x1||left>=dev->clip.x2) return;\
+ if (left<dev->clip.x1) left=dev->clip.x1;\
+ if (right>dev->clip.x2) right=dev->clip.x2;\
+ TEST_MOUSE (left,right,y,y+1)
+
+#define VLINE_CLIP_PREFACE \
+ int mouse_hidden;\
+ TEST_INACTIVITY\
+ if (top>=bottom) return;\
+ if (x<dev->clip.x1||x>=dev->clip.x2||top>=dev->clip.y2||bottom<=dev->clip.y1) return;\
+ if (top<dev->clip.y1) top=dev->clip.y1;\
+ if (bottom>dev->clip.y2) bottom=dev->clip.y2;\
+ TEST_MOUSE(x,x+1,top,bottom)
+
+static void draw_hline_accel_line(struct graphics_device *dev, int left, int y, int right, long color)
+{
+ HLINE_CLIP_PREFACE
+
+ vga_accel(ACCEL_SETFGCOLOR,color);
+ vga_accel(ACCEL_DRAWLINE,left,y,right-1,y);
+ END_MOUSE
+}
+
+static void draw_hline_accel_box(struct graphics_device *dev, int left, int y, int right, long color)
+{
+ HLINE_CLIP_PREFACE
+
+ vga_accel(ACCEL_SETFGCOLOR,color);
+ vga_accel(ACCEL_FILLBOX,left,y,right-left,1);
+ END_MOUSE
+}
+
+static void draw_vline_accel_line(struct graphics_device *dev, int x, int top, int bottom, long color)
+{
+ VLINE_CLIP_PREFACE
+
+ vga_accel(ACCEL_SETFGCOLOR,color);
+ vga_accel(ACCEL_DRAWLINE,x,top,x,bottom-1);
+ END_MOUSE
+}
+
+static void draw_vline_accel_box(struct graphics_device *dev, int x, int top, int bottom, long color)
+{
+ VLINE_CLIP_PREFACE
+
+ vga_accel(ACCEL_SETFGCOLOR,color);
+ vga_accel(ACCEL_FILLBOX,x,top,1,bottom-top);
+ END_MOUSE
+}
+
+static void draw_hline_linear(struct graphics_device *dev, int left, int y, int right, long color)
+{
+ unsigned char *dest;
+ HLINE_CLIP_PREFACE
+ SYNC
+ dest=my_graph_mem+y*vga_linewidth+left*vga_bytes;
+ pixel_set(dest,(right-left)*vga_bytes,&color);
+ END_MOUSE
+}
+
+static void draw_vline_linear(struct graphics_device *dev, int x, int top, int bottom, long color)
+{
+ unsigned char *dest;
+ int y;
+ VLINE_CLIP_PREFACE
+ SYNC
+ dest=my_graph_mem+top*vga_linewidth+x*vga_bytes;
+ for (y=(bottom-top);y;y--){
+ memcpy(dest,&color,vga_bytes);
+ dest+=vga_linewidth;
+ }
+ END_MOUSE
+}
+
+static void draw_hline_paged(struct graphics_device *dev, int left, int y, int right, long color)
+{
+ int dest;
+ int len;
+ HLINE_CLIP_PREFACE
+ SYNC
+ len=(right-left)*vga_bytes;
+
+ dest=y*vga_linewidth+left*vga_bytes;
+ pixel_set_paged(dest,len,&color);
+ END_MOUSE
+}
+
+/* Works only for pixel length = 1 */
+static void draw_vline_paged_1(struct graphics_device *dev, int x, int top, int bottom, long color)
+{
+ int dest,n, page,paga,remains;
+ int byte=*(unsigned char *)&color;
+ VLINE_CLIP_PREFACE;
+ SYNC
+ dest=top*vga_linewidth+x;
+ n=bottom-top;
+ page=dest>>16;
+ my_setpage(page);
+ again:
+ paga=dest&0xffff;
+ remains=(65535-paga)/vga_linewidth+1;
+ if (remains>=n){
+ for (;n;n--){
+ my_graph_mem[paga]=byte;
+ paga+=vga_linewidth;
+ }
+ vga_page=page;
+ END_MOUSE
+ return;
+ }else{
+ dest+=remains*vga_linewidth;
+ n-=remains;
+ for (;remains;remains--){
+ my_graph_mem[paga]=byte;
+ paga+=vga_linewidth;
+ }
+ vga_setpage(++page);
+ goto again;
+ }
+}
+
+#ifdef t2c
+/* Works only for pixel length 2 */
+static void draw_vline_paged_2(struct graphics_device *dev, int x, int top, int bottom, long color)
+{
+ int dest,page,n,paga,remains;
+ int word=*(t2c *)do_not_optimize_here((void *)&color);
+ VLINE_CLIP_PREFACE;
+ SYNC
+ dest=top*vga_linewidth+(x<<1);
+ n=bottom-top;
+ page=dest>>16;
+ my_setpage(page);
+ again:
+ paga=dest&0xffff;
+ remains=(65534-paga)/vga_linewidth+1;
+ if (remains>=n){
+ for (;n;n--){
+ *(t2c *)(my_graph_mem+paga)=word;
+ paga+=vga_linewidth;
+ }
+ vga_page=page;
+ END_MOUSE
+ return;
+ }else{
+ dest+=remains*vga_linewidth;
+ n-=remains;
+ for (;remains;remains--){
+ *(t2c *)(my_graph_mem+paga)=word;
+ paga+=vga_linewidth;
+ }
+ vga_setpage(++page);
+ goto again;
+ }
+}
+#endif /* #ifdef t2c */
+
+#ifdef t4c
+/* Works only for pixel length 4 */
+static void draw_vline_paged_4(struct graphics_device *dev, int x, int top, int bottom, long color)
+{
+ unsigned long dest,page,paga,remains,n;
+ t4c val=*(t4c *)do_not_optimize_here((void *)&color);
+
+ VLINE_CLIP_PREFACE;
+ SYNC
+ dest=top*(unsigned long)vga_linewidth+(x<<2);
+ n=bottom-top;
+ page=dest>>16;
+ my_setpage(page);
+ again:
+ paga=dest&0xffffUL;
+ remains=(65532-paga)/vga_linewidth+1;
+ if (remains>=n){
+ for (;n;n--){
+ *(t4c *)(my_graph_mem+paga)=val;
+ paga+=vga_linewidth;
+ }
+ vga_page=page;
+ END_MOUSE
+ return;
+ }else{
+ dest+=remains*vga_linewidth;
+ n-=remains;
+ for (;remains;remains--){
+ *(t4c *)(my_graph_mem+paga)=color;
+ paga+=vga_linewidth;
+ }
+ vga_setpage(++page);
+ goto again;
+ }
+}
+#endif /*t4c*/
+
+/* Works only for pixel lengths power of two */
+static void draw_vline_paged_aligned(struct graphics_device *dev, int x, int top, int bottom, long color)
+{
+ int dest,page,paga,remains,n;
+ VLINE_CLIP_PREFACE;
+ SYNC
+ dest=top*vga_linewidth+x*vga_bytes;
+ n=bottom-top;
+ page=dest>>16;
+ my_setpage(page);
+ again:
+ paga=dest&0xffff;
+ remains=(65536-paga-vga_bytes)/vga_linewidth+1;
+ if (remains>=n){
+ for (;n;n--){
+ memcpy(my_graph_mem+paga,&color,vga_bytes);
+ paga+=vga_linewidth;
+ }
+ vga_page=page;
+ END_MOUSE
+ return;
+ }else{
+ dest+=remains*vga_linewidth;
+ n-=remains;
+ for (;remains;remains--){
+ memcpy(my_graph_mem+paga,&color,vga_bytes);
+ paga+=vga_linewidth;
+ }
+ vga_setpage(++page);
+ goto again;
+ }
+}
+
+/* Works for any pixel length */
+static void draw_vline_paged(struct graphics_device *dev, int x, int top, int bottom, long color)
+{
+ int lina,page,paga,remains,n;
+ /* lina: linear address withing the screen
+ * page: page number
+ * paga: 16-bit address within the page
+ * remains: how many bytes remain in the current page
+ * n: how many pixels remain to be drawn
+ */
+ VLINE_CLIP_PREFACE;
+ SYNC
+ lina=top*vga_linewidth+x*vga_bytes;
+ n=bottom-top;
+ page=lina>>16;
+ my_setpage(page);
+ again:
+ /* Invariant here: n>=1
+ * lina points to a begin of pixel
+ * page is set to page
+ */
+ paga=lina&0xffff;
+ remains=65536-paga;
+ if (remains<vga_bytes){
+ memcpy(my_graph_mem+paga,&color,remains);
+ vga_setpage(++page);
+ memcpy(my_graph_mem,(unsigned char *)&color+remains,vga_bytes-remains);
+ lina+=vga_linewidth;
+ n--;
+ if (!n) goto end;
+ goto again;
+ }
+ remains=(remains-vga_bytes)/vga_linewidth+1;
+ if (remains>=n){
+ for (;n;n--){
+ memcpy(my_graph_mem+paga,&color,vga_bytes);
+ paga+=vga_linewidth;
+ }
+end:
+ vga_page=page;
+ END_MOUSE
+ return;
+ }else{
+ lina+=remains*vga_linewidth;
+ n-=remains;
+ for (;remains;remains--){
+ memcpy(my_graph_mem+paga,&color,vga_bytes);
+ paga+=vga_linewidth;
+ }
+ if (paga>=65536)vga_setpage(++page);
+ goto again;
+ }
+}
+
+#define HSCROLL_CLIP_PREFACE \
+ int mouse_hidden;\
+ TEST_INACTIVITY_0\
+ if (!sc) return 0;\
+ if (sc>(dev->clip.x2-dev->clip.x1)||-sc>(dev->clip.x2-dev->clip.x1))\
+ return 1;\
+ TEST_MOUSE (dev->clip.x1,dev->clip.x2,dev->clip.y1,dev->clip.y2)
+
+
+/* When sc is <0, moves the data left. Scrolls the whole clip window */
+static int hscroll_accel(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ HSCROLL_CLIP_PREFACE
+
+ if (sc>0){
+ /* Move data to the right */
+ vga_accel(ACCEL_SCREENCOPY,dev->clip.x1,dev->clip.y1,dev->clip.x1+sc,dev->clip.y1
+ ,dev->clip.x2-dev->clip.x1-sc,dev->clip.y2-dev->clip.y1);
+ }else{
+ /* Move data to the left */
+ vga_accel(ACCEL_SCREENCOPY,dev->clip.x1-sc,dev->clip.y1,dev->clip.x1,dev->clip.y1
+ ,dev->clip.x2-dev->clip.x1+sc,dev->clip.y2-dev->clip.y1);
+ }
+ END_MOUSE
+ return 1;
+}
+
+#define VSCROLL_CLIP_PREFACE \
+ int mouse_hidden;\
+ TEST_INACTIVITY_0\
+ if (!sc) return 0;\
+ if (sc>dev->clip.y2-dev->clip.y1||-sc>dev->clip.y2-dev->clip.y1) return 1;\
+ TEST_MOUSE (dev->clip.x1, dev->clip.x2, dev->clip.y1, dev->clip.y2)
+
+/* Positive sc means data move down */
+static int vscroll_accel(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ VSCROLL_CLIP_PREFACE
+
+ if (sc>0){
+ /* Move down */
+ vga_accel(ACCEL_SCREENCOPY,dev->clip.x1,dev->clip.y1,dev->clip.x1,dev->clip.y1+sc
+ ,dev->clip.x2-dev->clip.x1,dev->clip.y2-dev->clip.y1-sc);
+ }else{
+ /* Move up */
+ vga_accel(ACCEL_SCREENCOPY,dev->clip.x1,dev->clip.y1-sc,dev->clip.x1,dev->clip.y1
+ ,dev->clip.x2-dev->clip.x1,dev->clip.y2-dev->clip.y1+sc);
+ }
+ END_MOUSE
+ return 1;
+}
+
+static int hscroll_scansegment(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ int y;
+ int len;
+ HSCROLL_CLIP_PREFACE
+ SYNC
+ if (sc>0){
+ /* Right */
+ len=dev->clip.x2-dev->clip.x1-sc;
+ for (y=dev->clip.y1;y<dev->clip.y2;y++){
+ vga_getscansegment(scroll_buffer,dev->clip.x1,y,len);
+ vga_drawscansegment(scroll_buffer,dev->clip.x1+sc,y,len);
+ }
+ }else{
+ /* Left */
+ len=dev->clip.x2-dev->clip.x1+sc;
+ for (y=dev->clip.y1;y<dev->clip.y2;y++){
+ vga_getscansegment(scroll_buffer,dev->clip.x1-sc,y,len);
+ vga_drawscansegment(scroll_buffer,dev->clip.x1,y,len);
+ }
+ }
+ END_MOUSE
+ return 1;
+}
+
+static int hscroll_linear(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ unsigned char *dest, *src;
+ int y;
+ int len;
+ HSCROLL_CLIP_PREFACE
+ SYNC
+ if (sc>0){
+ len=(dev->clip.x2-dev->clip.x1-sc)*vga_bytes;
+ src=my_graph_mem+vga_linewidth*dev->clip.y1+dev->clip.x1*vga_bytes;
+ dest=src+sc*vga_bytes;
+ for (y=dev->clip.y2-dev->clip.y1;y;y--){
+ memmove(dest,src,len);
+ dest+=vga_linewidth;
+ src+=vga_linewidth;
+ }
+ }else{
+ len=(dev->clip.x2-dev->clip.x1+sc)*vga_bytes;
+ dest=my_graph_mem+vga_linewidth*dev->clip.y1+dev->clip.x1*vga_bytes;
+ src=dest-sc*vga_bytes;
+ for (y=dev->clip.y2-dev->clip.y1;y;y--){
+ memmove(dest,src,len);
+ dest+=vga_linewidth;
+ src+=vga_linewidth;
+ }
+ }
+ END_MOUSE
+ return 1;
+}
+
+static int vscroll_scansegment(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ int y;
+ int len;
+ VSCROLL_CLIP_PREFACE
+ SYNC
+ len=dev->clip.x2-dev->clip.x1;
+ if (sc>0){
+ /* Down */
+ for (y=dev->clip.y2-1;y>=dev->clip.y1+sc;y--){
+ vga_getscansegment(scroll_buffer, dev->clip.x1,y-sc,len);
+ vga_drawscansegment(scroll_buffer,dev->clip.x1,y,len);
+ }
+ }else{
+ /* Up */
+ for (y=dev->clip.y1-sc;y<dev->clip.y2;y++){
+ vga_getscansegment(scroll_buffer,dev->clip.x1,y,len);
+ vga_drawscansegment(scroll_buffer, dev->clip.x1,y+sc,len);
+ }
+ }
+ END_MOUSE
+ return 1;
+}
+
+static int vscroll_linear(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ unsigned char *dest, *src;
+ int y;
+ int len;
+ VSCROLL_CLIP_PREFACE
+ SYNC
+ len=(dev->clip.x2-dev->clip.x1)*vga_bytes;
+ if (sc>0){
+ /* Down */
+ dest=my_graph_mem+(dev->clip.y2-1)*vga_linewidth+dev->clip.x1*vga_bytes;
+ src=dest-vga_linewidth*sc;
+ for (y=dev->clip.y2-dev->clip.y1-sc;y;y--){
+ memcpy(dest,src,len);
+ dest-=vga_linewidth;
+ src-=vga_linewidth;
+ }
+ }else{
+ /* Up */
+ dest=my_graph_mem+dev->clip.y1*vga_linewidth+dev->clip.x1*vga_bytes;
+ src=dest-vga_linewidth*sc;
+ for (y=dev->clip.y2-dev->clip.y1+sc;y;y--){
+ memcpy(dest,src,len);
+ dest+=vga_linewidth;
+ src+=vga_linewidth;
+ }
+ }
+ END_MOUSE
+ return 1;
+}
+
+static inline void get_row(unsigned char *bptr, int lina, int len)
+{
+ int page=lina>>16;
+ int paga=lina&0xffff;
+ int remains;
+
+ my_setpage(page);
+ remains=65536-paga;
+ again:
+ if (remains>=len){
+ memcpy(bptr,my_graph_mem+paga,len);
+ vga_page=page;
+ return;
+ }else{
+ memcpy(bptr,my_graph_mem+paga,remains);
+ paga=0;
+ bptr+=remains;
+ len-=remains;
+ remains=65536;
+ vga_setpage(++page);
+ goto again;
+ }
+}
+
+static int vscroll_paged(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ int dest,src;
+ int y;
+ int len;
+ VSCROLL_CLIP_PREFACE
+ SYNC
+ len=(dev->clip.x2-dev->clip.x1)*vga_bytes;
+ if (sc>0){
+ /* Down */
+ dest=(dev->clip.y2-1)*vga_linewidth+dev->clip.x1*vga_bytes;
+ src=dest-vga_linewidth*sc;
+ for (y=dev->clip.y2-dev->clip.y1-sc;y;y--){
+ get_row(scroll_buffer, src,len);
+ paged_memcpy(dest,scroll_buffer,len);
+ dest-=vga_linewidth;
+ src-=vga_linewidth;
+ }
+ }else{
+ /* Up */
+ dest=dev->clip.y1*vga_linewidth+dev->clip.x1*vga_bytes;
+ src=dest-vga_linewidth*sc;
+ for (y=dev->clip.y2-dev->clip.y1+sc;y;y--){
+ get_row(scroll_buffer, src,len);
+ paged_memcpy(dest,scroll_buffer,len);
+ dest+=vga_linewidth;
+ src+=vga_linewidth;
+ }
+ }
+ END_MOUSE
+ return 1;
+}
+
+static int hscroll_paged(struct graphics_device *dev, struct rect_set **ignore, int sc)
+{
+ int dest,src;
+ int y;
+ int len;
+
+ HSCROLL_CLIP_PREFACE
+ SYNC
+ if (sc>0){
+ len=(dev->clip.x2-dev->clip.x1-sc)*vga_bytes;
+ src=vga_linewidth*dev->clip.y1+dev->clip.x1*vga_bytes;
+ dest=src+sc*vga_bytes;
+ for (y=dev->clip.y2-dev->clip.y1;y;y--){
+ get_row(scroll_buffer, src,len);
+ paged_memcpy(dest,scroll_buffer,len);
+ dest+=vga_linewidth;
+ src+=vga_linewidth;
+ }
+ }else{
+ len=(dev->clip.x2-dev->clip.x1+sc)*vga_bytes;
+ dest=vga_linewidth*dev->clip.y1+dev->clip.x1*vga_bytes;
+ src=dest-sc*vga_bytes;
+ for (y=dev->clip.y2-dev->clip.y1;y;y--){
+ get_row(scroll_buffer, src,len);
+ paged_memcpy(dest,scroll_buffer,len);
+ dest+=vga_linewidth;
+ src+=vga_linewidth;
+ }
+ }
+ END_MOUSE
+ return 1;
+}
+
+static void svga_set_clip_area(struct graphics_device *dev, struct rect *r)
+{
+ memcpy(&dev->clip, r, sizeof(struct rect));
+ if (dev->clip.x1>=dev->clip.x2||dev->clip.y2<=dev->clip.y1||dev->clip.y2<=0||dev->clip.x2<=0||dev->clip.x1>=xsize
+ ||dev->clip.y1>=ysize){
+ /* Empty region */
+ dev->clip.x1=dev->clip.x2=dev->clip.y1=dev->clip.y2=0;
+ }else{
+ if (dev->clip.x1<0) dev->clip.x1=0;
+ if (dev->clip.x2>xsize) dev->clip.x2=xsize;
+ if (dev->clip.y1<0) dev->clip.y1=0;
+ if (dev->clip.y2>ysize) dev->clip.y2=ysize;
+ }
+}
+
+/* For modes where video memory is not directly accessible through svgalib */
+static inline void fill_area_drawscansegment(struct graphics_device *dev, int left, int top, int right, int bottom, long color)
+{
+ int xs;
+ int col=*(unsigned char *)&color;
+
+ FILL_CLIP_PREFACE
+ SYNC
+ xs=right-left;
+ memset(scroll_buffer,col,xs);
+ for (;top<bottom;top++){
+ vga_drawscansegment(scroll_buffer,left,top,xs);
+ }
+ END_MOUSE
+}
+
+/* Emulates horizontal line by calling fill_area */
+static void draw_hline_fill_area(struct graphics_device *dev, int left, int y, int right, long color)
+{
+ svga_driver.fill_area(dev,left,y,right,y+1,color);
+}
+
+
+/* Emulates vline by fill_area */
+static void draw_vline_fill_area(struct graphics_device *dev, int x, int top, int bottom, long color)
+{
+ svga_driver.fill_area(dev,x,top,x+1,bottom, color);
+}
+
+/* This does no clipping and is used only by the mouse code
+ * length is in bytes, not in pixels
+ */
+static int drawscansegment_linear(unsigned char *colors, int x, int y, int length)
+{
+ unsigned char *ptr=my_graph_mem+vga_linewidth*y+vga_bytes*x;
+
+ memcpy (ptr,colors,length);
+ return 0;
+}
+
+/* This does no clipping and is used only by the mouse code
+ * length is in bytes, not in pixels
+ */
+static int getscansegment_linear(unsigned char *colors, int x, int y, int length)
+{
+ unsigned char *ptr=my_graph_mem+vga_linewidth*y+vga_bytes*x;
+
+ memcpy (colors, ptr, length);
+ return 0;
+}
+
+/* This does no clipping and is used only by the mouse code
+ * length is in bytes, not in pixels
+ */
+static int drawscansegment_paged(unsigned char *colors, int x, int y, int length)
+{
+ int lina=vga_linewidth*y+vga_bytes*x;
+
+ paged_memcpy(lina, colors, length);
+ return 0;
+}
+
+/* This does no clipping and is used only by the mouse code
+ * length is in the bytes, not in pixels
+ */
+static int getscansegment_paged(unsigned char *colors, int x, int y, int length)
+{
+ int lina=vga_linewidth*y+vga_bytes*x;
+
+ get_row(colors, lina, length);
+ return 0;
+}
+
+#if 0
+static void svga_draw_bitmaps(struct graphics_device *dev, struct bitmap **hndls, int n
+ ,int x, int y)
+{
+ void (*draw_b)(struct graphics_device *, struct bitmap *, int, int);
+
+ TEST_INACTIVITY
+ if (x>=xsize||y>ysize) return;
+ while(x+(*hndls)->x<=0&&n){
+ x+=(*hndls)->x;
+ n--;
+ hndls++;
+ }
+ draw_b = svga_driver.draw_bitmap;
+ while(n&&x<=xsize){
+ draw_b(dev, *hndls, x, y);
+ x+=(*hndls)->x;
+ n--;
+ hndls++;
+ }
+
+}
+#endif
+
+static void alloc_scroll_buffer(void)
+{
+ if (!scroll_buffer) {
+ if ((unsigned)xsize > (unsigned)MAXINT / fb_pixelsize) overalloc();
+ scroll_buffer=mem_alloc(xsize*fb_pixelsize);
+ }
+}
+
+static void setup_functions(void)
+{
+
+ if (accel_avail&ACCELFLAG_SETMODE){
+ do_sync=1;
+ vga_accel(ACCEL_SETMODE, BLITS_IN_BACKGROUND);
+ }else do_sync=0;
+
+ svga_driver.get_color=get_color_fn(svga_driver.depth);
+ if (!svga_driver.get_color) internal("Unknown bit depth %x", svga_driver.depth);
+ switch(vga_colors){
+ case 2: internal(
+ "2-color modes are not supported by\
+ links as they are buggy in svgalib and incapable of colors");
+
+ case 16:
+ alloc_scroll_buffer();
+ svga_driver.draw_bitmap=draw_bitmap_drawscansegment;
+ svga_driver.hscroll=hscroll_scansegment;
+ svga_driver.vscroll=vscroll_scansegment;
+ svga_driver.flags |= GD_DONT_USE_SCROLL;
+ svga_driver.fill_area=fill_area_drawscansegment;
+ svga_driver.draw_hline=draw_hline_fill_area;
+ svga_driver.draw_vline=draw_vline_fill_area;
+ mouse_getscansegment=vga_getscansegment;
+ mouse_drawscansegment=vga_drawscansegment;
+ break;
+
+ default:
+ mouse_getscansegment=vga_getscansegment;
+ mouse_drawscansegment=vga_drawscansegment;
+ if (accel_avail&ACCELFLAG_PUTIMAGE){
+ svga_driver.draw_bitmap=draw_bitmap_accel;
+ }else if (vga_linear){
+ svga_driver.draw_bitmap=draw_bitmap_linear;
+ }else if (mode_x){
+ svga_driver.draw_bitmap=draw_bitmap_drawscansegment;
+ }else{
+ svga_driver.draw_bitmap=draw_bitmap_paged;
+ }
+
+ if (accel_avail&ACCELFLAG_FILLBOX) svga_driver.fill_area=fill_area_accel_box;
+ else if (accel_avail&ACCELFLAG_DRAWLINE) svga_driver.fill_area=fill_area_accel_lines;
+ else if (vga_linear) svga_driver.fill_area=fill_area_linear;
+ else if (mode_x) svga_driver.fill_area=fill_area_drawscansegment;
+ else svga_driver.fill_area=fill_area_paged;
+
+ if (accel_avail&ACCELFLAG_DRAWLINE){
+ svga_driver.draw_hline=draw_hline_accel_line;
+ svga_driver.draw_vline=draw_vline_accel_line;
+ }else if (accel_avail&ACCELFLAG_FILLBOX){
+ svga_driver.draw_hline=draw_hline_accel_box;
+ svga_driver.draw_vline=draw_vline_accel_box;
+ }else if (vga_linear){
+ svga_driver.draw_hline=draw_hline_linear;
+ svga_driver.draw_vline=draw_vline_linear;
+ }else if (mode_x){
+ svga_driver.draw_hline=draw_hline_fill_area;
+ svga_driver.draw_vline=draw_vline_fill_area;
+ }else{
+ /* Paged memory access */
+ svga_driver.draw_hline=draw_hline_paged;
+ switch(vga_bytes)
+ {
+ case 1:
+ svga_driver.draw_vline=draw_vline_paged_1;
+ break;
+#ifdef t2c
+ case 2:
+ svga_driver.draw_vline=draw_vline_paged_2;
+ break;
+#endif /* #ifdef t2c */
+
+#ifdef t4c
+ case 4:
+ svga_driver.draw_vline=draw_vline_paged_4;
+ break;
+#endif /* #ifdef t4c */
+
+ default:
+ if (vga_bytes&(vga_bytes-1))
+ svga_driver.draw_vline=draw_vline_paged;
+ else
+ svga_driver.draw_vline=draw_vline_paged_aligned;
+ break;
+ }
+ }
+
+ if (vga_colors>=256){
+ if (vga_linear){
+ mouse_drawscansegment=drawscansegment_linear;
+ mouse_getscansegment=getscansegment_linear;
+ }else if (!mode_x){
+ mouse_drawscansegment=drawscansegment_paged;
+ mouse_getscansegment=getscansegment_paged;
+ }
+ }
+
+ if (accel_avail&ACCELFLAG_SCREENCOPY){
+ svga_driver.hscroll=hscroll_accel;
+ svga_driver.vscroll=vscroll_accel;
+ }else if (vga_linear){
+ svga_driver.hscroll=hscroll_linear;
+ svga_driver.vscroll=vscroll_linear;
+ svga_driver.flags |= GD_DONT_USE_SCROLL;
+ }else if (mode_x){
+ alloc_scroll_buffer();
+ svga_driver.hscroll=hscroll_scansegment;
+ svga_driver.vscroll=vscroll_scansegment;
+ svga_driver.flags |= GD_DONT_USE_SCROLL;
+ }else{
+ alloc_scroll_buffer();
+ svga_driver.hscroll=hscroll_paged;
+ svga_driver.vscroll=vscroll_paged;
+ svga_driver.flags |= GD_DONT_USE_SCROLL;
+ }
+ }
+
+}
+
+#if 0
+void dump_mode_info_into_file(vga_modeinfo* i)
+{
+ FILE *f;
+
+ f=fopen(".links_svga_modeinfo","w");
+ if (!f) return;
+ fprintf(f,"Resolution %d*%d\n",i->width,i->height);
+ fprintf(f,"%d bytes per screen pixel\n",i->bytesperpixel);
+ fprintf(f,"%d colors\n",i->colors);
+ fprintf(f,"Linewidth %d bytes\n",i->linewidth);
+ fprintf(f,"Maximum logical width %d bytes\n",i->maxlogicalwidth);
+ fprintf(f,"Start address rangemask 0x%x\n",i->startaddressrange);
+ fprintf(f,"Max. pixels per logical screen %d\n",i->maxpixels);
+ fprintf(f,"bitblt %s\n",i->haveblit&HAVE_BITBLIT?"yes":"no");
+ fprintf(f,"fillblt %s\n",i->haveblit&HAVE_FILLBLIT?"yes":"no");
+ fprintf(f,"imageblt %s\n",i->haveblit&HAVE_IMAGEBLIT?"yes":"no");
+ fprintf(f,"hlinelistblt %s\n",i->haveblit&HAVE_HLINELISTBLIT?"yes":"no");
+ fprintf(f,"read/write page %s\n",i->flags&HAVE_RWPAGE?"yes":"no");
+ fprintf(f,"Interlaced %s\n",i->flags&IS_INTERLACED?"yes":"no");
+ fprintf(f,"Mode X layout %s\n",i->flags&IS_MODEX?"yes":"no");
+ fprintf(f,"Dynamically loaded %s\n",i->flags&IS_DYNAMICMODE?"yes":"no");
+ fprintf(f,"Linear: %s\n",vga_linear?"yes":"no");
+ fprintf(f,"Misordered %s\n",i->flags&RGB_MISORDERED?"yes":"no");
+ if (!i->flags&EXT_INFO_AVAILABLE){
+ fprintf(f,"Old svgalib, extended info is not available\n");
+ }else{
+ fprintf(f,"Chiptype 0x%x\n",i->chiptype);
+ fprintf(f,"Memory %dKB\n",i->memory);
+ fprintf(f,"Linewidth Unit %d\n",i->linewidth_unit);
+ fprintf(f,"Aperture size %d\n",i->aperture_size);
+ }
+ fprintf(f,"Accelerated putimage: %s\n",svga_driver.draw_bitmap==draw_bitmap_accel?"yes":"no");
+ fclose(f);
+}
+#endif
+
+static void svgalib_key_in(void *p, struct event *ev, int size)
+{
+ if (size != sizeof(struct event)) return;
+ if (ev->ev == EV_ABORT) terminate_loop = 1;
+ if (ev->ev != EV_KBD) return;
+ if ((ev->y & KBD_ALT) && ev->x >= '0' && ev->x <= '9') {
+ switch_virtual_device((ev->x - '1' + 10) % 10);
+ return;
+ }
+ if (svga_driver.codepage!=utf8_table&&(ev->x)>=128&&(ev->x)<=255)
+ if ((ev->x=cp2u(ev->x,svga_driver.codepage)) == -1) return;
+ if (current_virtual_device && current_virtual_device->keyboard_handler) current_virtual_device->keyboard_handler(current_virtual_device, ev->x, ev->y);
+}
+
+#ifndef MOUSE_FOURTHBUTTON
+#define MOUSE_FOURTHBUTTON 0
+#endif
+
+#ifndef MOUSE_FIFTHBUTTON
+#define MOUSE_FIFTHBUTTON 0
+#endif
+
+#ifndef MOUSE_SIXTHBUTTON
+#define MOUSE_SIXTHBUTTON 0
+#endif
+
+#define BUTTON_MASK (MOUSE_RIGHTBUTTON | MOUSE_MIDDLEBUTTON | MOUSE_LEFTBUTTON | MOUSE_FOURTHBUTTON | MOUSE_FIFTHBUTTON /*| MOUSE_SIXTHBUTTON*/)
+
+static inline void mouse_aggregate_flush(void)
+{
+ if (!mouse_aggregate_flag) return;
+ mouse_aggregate_flag=0;
+ if (!current_virtual_device) return;
+ if (!current_virtual_device->mouse_handler) return;
+ current_virtual_device->mouse_handler(current_virtual_device, mouse_x, mouse_y, mouse_aggregate_action);
+}
+
+/* Only calls appropriate callbacks, doesn't draw anything. */
+static void mouse_event_handler(int button, int dx, int dy, int dz, int drx, int dry, int drz)
+{
+ int moved,old_mouse_x,old_mouse_y;
+ void (*mh)(struct graphics_device *, int, int, int);
+ struct graphics_device *cd=current_virtual_device;
+
+ mh=cd?cd->mouse_handler:NULL;
+ old_mouse_x=mouse_x;
+ old_mouse_y=mouse_y;
+
+ mouse_x+=dx;
+ if (mouse_x>=xsize) mouse_x=xsize-1;
+ else if (mouse_x<0) mouse_x=0;
+
+ mouse_y+=dy;
+ if (mouse_y>=ysize) mouse_y=ysize-1;
+ else if (mouse_y<0) mouse_y=0;
+
+ redraw_mouse();
+
+ moved=(old_mouse_x!=mouse_x||old_mouse_y!=mouse_y);
+
+ /* Test movement without buttons */
+ if (!(mouse_buttons & BUTTON_MASK) && moved) {
+ mouse_aggregate_flag=1;
+ mouse_aggregate_action=B_MOVE;
+ }
+
+ /* Test presses */
+ if ((button&MOUSE_LEFTBUTTON)&&!(mouse_buttons&MOUSE_LEFTBUTTON)){
+ mouse_aggregate_flush();
+ if (mh) mh(cd,mouse_x, mouse_y,B_LEFT|B_DOWN);
+ }
+ if ((button&MOUSE_MIDDLEBUTTON)&&!(mouse_buttons&MOUSE_MIDDLEBUTTON)){
+ mouse_aggregate_flush();
+ if (mh) mh(cd,mouse_x, mouse_y,B_MIDDLE|B_DOWN);
+ }
+ if ((button&MOUSE_RIGHTBUTTON)&&!(mouse_buttons&MOUSE_RIGHTBUTTON)){
+ mouse_aggregate_flush();
+ if (mh) mh(cd,mouse_x, mouse_y,B_RIGHT|B_DOWN);
+ }
+ if ((button&MOUSE_FOURTHBUTTON)&&!(mouse_buttons&MOUSE_FOURTHBUTTON)){
+ mouse_aggregate_flush();
+ if (mh) mh(cd,mouse_x, mouse_y,B_FOURTH|B_DOWN);
+ }
+ if ((button&MOUSE_FIFTHBUTTON)&&!(mouse_buttons&MOUSE_FIFTHBUTTON)){
+ mouse_aggregate_flush();
+ if (mh) mh(cd,mouse_x, mouse_y,B_FIFTH|B_DOWN);
+ }
+ if ((button&MOUSE_SIXTHBUTTON)&&!(mouse_buttons&MOUSE_SIXTHBUTTON)){
+ mouse_aggregate_flush();
+ /*if (mh) mh(cd,mouse_x, mouse_y,B_SIXTH|B_DOWN);*/
+ switch_virtual_device(VD_NEXT);
+ }
+
+ /* Test releases */
+ if (!(button&MOUSE_LEFTBUTTON)&&(mouse_buttons&MOUSE_LEFTBUTTON)){
+ mouse_aggregate_flush();
+ if (mh) mh(cd,mouse_x, mouse_y,B_LEFT|B_UP);
+ }
+ if (!(button&MOUSE_MIDDLEBUTTON)&&(mouse_buttons&MOUSE_MIDDLEBUTTON)){
+ mouse_aggregate_flush();
+ if (mh) mh(cd,mouse_x, mouse_y,B_MIDDLE|B_UP);
+ }
+ if (!(button&MOUSE_RIGHTBUTTON)&&(mouse_buttons&MOUSE_RIGHTBUTTON)){
+ mouse_aggregate_flush();
+ if (mh) mh(cd,mouse_x, mouse_y,B_RIGHT|B_UP);
+ }
+ if (!(button&MOUSE_FOURTHBUTTON)&&(mouse_buttons&MOUSE_FOURTHBUTTON)){
+ mouse_aggregate_flush();
+ if (mh) mh(cd,mouse_x, mouse_y,B_FOURTH|B_UP);
+ }
+ if (!(button&MOUSE_FIFTHBUTTON)&&(mouse_buttons&MOUSE_FIFTHBUTTON)){
+ mouse_aggregate_flush();
+ if (mh) mh(cd,mouse_x, mouse_y,B_FIFTH|B_UP);
+ }
+ if (!(button&MOUSE_SIXTHBUTTON)&&(mouse_buttons&MOUSE_SIXTHBUTTON)){
+ mouse_aggregate_flush();
+ /*if (mh) mh(cd,mouse_x, mouse_y,B_SIXTH|B_UP);*/
+ }
+
+ if (drx < 0 && mh) mh(cd, mouse_x, mouse_y, B_MOVE | B_WHEELUP);
+ if (drx > 0 && mh) mh(cd, mouse_x, mouse_y, B_MOVE | B_WHEELDOWN);
+
+ if (dry < 0 && mh) mh(cd, mouse_x, mouse_y, B_MOVE | B_WHEELLEFT);
+ if (dry > 0 && mh) mh(cd, mouse_x, mouse_y, B_MOVE | B_WHEELRIGHT);
+
+ /* Test drag */
+ if (! ((button^mouse_buttons) & BUTTON_MASK ) && moved && (button &
+ BUTTON_MASK)){
+ mouse_aggregate_flag=1;
+ mouse_aggregate_action=(
+ button&MOUSE_LEFTBUTTON?B_LEFT:
+ button&MOUSE_RIGHTBUTTON?B_RIGHT:
+ button&MOUSE_MIDDLEBUTTON?B_MIDDLE:
+ button&MOUSE_FOURTHBUTTON?B_FOURTH:
+ button&MOUSE_FIFTHBUTTON?B_FIFTH:
+ /*button&MOUSE_SIXTHBUTTON?B_SIXTH:*/
+ 0) | B_DRAG;
+ }
+ mouse_buttons=button;
+}
+
+#undef BUTTON_MASK
+
+/* Flushes the background_buffer onscreen where it was originally taken from. */
+static void place_mouse_background(void)
+{
+ struct bitmap bmp;
+
+ bmp.x=arrow_width;
+ bmp.y=arrow_height;
+ bmp.skip=arrow_width*fb_pixelsize;
+ bmp.data=background_buffer;
+
+ {
+ struct graphics_device * current_virtual_device_backup;
+
+ current_virtual_device_backup=current_virtual_device;
+ current_virtual_device=mouse_graphics_device;
+ svga_driver.draw_bitmap(mouse_graphics_device, &bmp, background_x,
+ background_y);
+ current_virtual_device=current_virtual_device_backup;
+ }
+
+}
+
+/* Only when the old and new mouse don't interfere. Using it on interfering mouses would
+ * cause a flicker.
+ */
+static void hide_mouse(void)
+{
+
+ global_mouse_hidden=1;
+ place_mouse_background();
+}
+
+/* Gets background from the screen (clipping provided only right and bottom) to the
+ * passed buffer.
+ */
+static void get_mouse_background(unsigned char *buffer_ptr)
+{
+ int width,height,skip,x,y;
+
+ skip=arrow_width*fb_pixelsize;
+
+ x=mouse_x;
+ y=mouse_y;
+
+ width=fb_pixelsize*(arrow_width+x>xsize?xsize-x:arrow_width);
+ height=arrow_height+y>ysize?ysize-y:arrow_height;
+
+ SYNC
+ for (;height;height--){
+ mouse_getscansegment(buffer_ptr,x,y,width);
+ buffer_ptr+=skip;
+ y++;
+ }
+}
+
+/* Overlays the arrow's image over the mouse_buffer
+ * Doesn't draw anything into the screen
+ */
+static void render_mouse_arrow(void)
+{
+ int x,y, reg0, reg1;
+ unsigned char *mouse_ptr=mouse_buffer;
+ unsigned *arrow_ptr=arrow;
+
+ for (y=arrow_height;y;y--){
+ reg0=*arrow_ptr;
+ reg1=arrow_ptr[1];
+ arrow_ptr+=2;
+ for (x=arrow_width;x;)
+ {
+ int mask=1<<(--x);
+
+ if (reg0&mask)
+ memcpy (mouse_ptr, &mouse_black, fb_pixelsize);
+ else if (reg1&mask)
+ memcpy (mouse_ptr, &mouse_white, fb_pixelsize);
+ mouse_ptr+=fb_pixelsize;
+ }
+ }
+}
+
+static void place_mouse(void)
+{
+ struct bitmap bmp;
+
+ bmp.x=arrow_width;
+ bmp.y=arrow_height;
+ bmp.skip=arrow_width*fb_pixelsize;
+ bmp.data=mouse_buffer;
+ {
+ struct graphics_device * current_graphics_device_backup;
+
+ current_graphics_device_backup=current_virtual_device;
+ current_virtual_device=mouse_graphics_device;
+ /* We do need to worry about SYNC because draw_bitmap already
+ * does it (if necessary)
+ */
+ svga_driver.draw_bitmap(mouse_graphics_device, &bmp, mouse_x, mouse_y);
+ current_virtual_device=current_graphics_device_backup;
+ }
+ global_mouse_hidden=0;
+}
+
+/* Only when the old and the new mouse positions do not interfere. Using this routine
+ * on interfering positions would cause a flicker.
+ */
+static void show_mouse(void)
+{
+
+ get_mouse_background(background_buffer);
+ background_x=mouse_x;
+ background_y=mouse_y;
+ memcpy(mouse_buffer,background_buffer,fb_pixelsize*arrow_area);
+ render_mouse_arrow();
+ place_mouse();
+}
+
+/* Doesn't draw anything into the screen
+ */
+static void put_and_clip_background_buffer_over_mouse_buffer(void)
+{
+ unsigned char *bbufptr=background_buffer, *mbufptr=mouse_buffer;
+ int left=background_x-mouse_x;
+ int top=background_y-mouse_y;
+ int right,bottom;
+ int bmpixelsizeL=fb_pixelsize;
+ int number_of_bytes;
+ int byte_skip;
+
+ right=left+arrow_width;
+ bottom=top+arrow_height;
+
+ if (left<0){
+ bbufptr-=left*bmpixelsizeL;
+ left=0;
+ }
+ if (right>arrow_width) right=arrow_width;
+ if (top<0){
+ bbufptr-=top*bmpixelsizeL*arrow_width;
+ top=0;
+ }
+ if (bottom>arrow_height) bottom=arrow_height;
+ mbufptr+=bmpixelsizeL*(left+arrow_width*top);
+ byte_skip=arrow_width*bmpixelsizeL;
+ number_of_bytes=bmpixelsizeL*(right-left);
+ for (;top<bottom;top++){
+ memcpy(mbufptr,bbufptr,number_of_bytes);
+ mbufptr+=byte_skip;
+ bbufptr+=byte_skip;
+ }
+}
+
+/* This draws both the contents of background_buffer and mouse_buffer in a scan
+ * way (left-right, top-bottom), so the flicker is reduced.
+ */
+static inline void place_mouse_composite(void)
+{
+ int mouse_left=mouse_x;
+ int mouse_top=mouse_y;
+ int background_left=background_x;
+ int background_top=background_y;
+ int mouse_right=mouse_left+arrow_width;
+ int mouse_bottom=mouse_top+arrow_height;
+ int background_right=background_left+arrow_width;
+ int background_bottom=background_top+arrow_height;
+ int skip=arrow_width*fb_pixelsize;
+ int background_length,mouse_length;
+ unsigned char *mouse_ptr=mouse_buffer,*background_ptr=background_buffer;
+ int yend;
+
+ /* First let's sync to the beam - wait for the beginning of vertical retrace
+ * (it would be better to wait for the beginning of the blank, however,
+ * svgalib doesn't provide it as VGA and SVGA cards don't provide it
+ */
+
+ /* This will probably not make any good anyway.
+ if (vga_colors>=256)
+ vga_waitretrace();
+ */
+
+ if (mouse_bottom>ysize) mouse_bottom=ysize;
+ if (background_bottom>ysize) background_bottom=ysize;
+
+ SYNC
+ /* We have to sync because mouse_drawscansegment does not wait for
+ * the accelerator to finish. But we never waste time here because
+ * mouse_drawscansegment is never accelerated.
+ */
+ /* Let's do the top part */
+ if (background_top<mouse_top){
+ /* Draw the background */
+ background_length=background_right>xsize?xsize-background_left
+ :arrow_width;
+ for (;background_top<mouse_top;background_top++){
+ mouse_drawscansegment(background_ptr,background_left
+ ,background_top,background_length*fb_pixelsize);
+ background_ptr+=skip;
+ }
+
+ }else if (background_top>mouse_top){
+ /* Draw the mouse */
+ mouse_length=mouse_right>xsize
+ ?xsize-mouse_left:arrow_width;
+ for (;mouse_top<background_top;mouse_top++){
+ mouse_drawscansegment(mouse_ptr,mouse_left,mouse_top,mouse_length*fb_pixelsize);
+ mouse_ptr+=skip;
+ }
+ }
+
+ /* Let's do the middle part */
+ yend=mouse_bottom<background_bottom?mouse_bottom:background_bottom;
+ if (background_left<mouse_left){
+ /* Draw background, mouse */
+ mouse_length=mouse_right>xsize?xsize-mouse_left:arrow_width;
+ for (;mouse_top<yend;mouse_top++){
+ mouse_drawscansegment(background_ptr,background_left,mouse_top
+ ,(mouse_left-background_left)*fb_pixelsize);
+ mouse_drawscansegment(mouse_ptr,mouse_left,mouse_top,mouse_length*fb_pixelsize);
+ mouse_ptr+=skip;
+ background_ptr+=skip;
+ }
+
+ }else{
+ int l1, l2, l3;
+
+ /* Draw mouse, background */
+ mouse_length=mouse_right>xsize?xsize-mouse_left:arrow_width;
+ background_length=background_right-mouse_right;
+ if (background_length+mouse_right>xsize)
+ background_length=xsize-mouse_right;
+ l1=mouse_length*fb_pixelsize;
+ l2=(mouse_right-background_left)*fb_pixelsize;
+ l3=background_length*fb_pixelsize;
+ for (;mouse_top<yend;mouse_top++){
+ mouse_drawscansegment(mouse_ptr,mouse_left,mouse_top,l1);
+ if (background_length>0)
+ mouse_drawscansegment(
+ background_ptr +l2,
+ mouse_right,mouse_top ,l3);
+ mouse_ptr+=skip;
+ background_ptr+=skip;
+ }
+ }
+
+ if (background_bottom<mouse_bottom){
+ /* Count over bottoms! tops will be invalid! */
+ /* Draw mouse */
+ mouse_length=mouse_right>xsize?xsize-mouse_left
+ :arrow_width;
+ for (;background_bottom<mouse_bottom;background_bottom++){
+ mouse_drawscansegment(mouse_ptr,mouse_left,background_bottom
+ ,mouse_length*fb_pixelsize);
+ mouse_ptr+=skip;
+ }
+ }else{
+ /* Draw background */
+ background_length=background_right>xsize?xsize-background_left
+ :arrow_width;
+ for (;mouse_bottom<background_bottom;mouse_bottom++){
+ mouse_drawscansegment(background_ptr,background_left,mouse_bottom
+ ,background_length*fb_pixelsize);
+ background_ptr+=skip;
+ }
+ }
+}
+
+/* This moves the mouse a sophisticated way when the old and new position of the
+ * cursor overlap.
+ */
+static inline void redraw_mouse_sophisticated(void)
+{
+ int new_background_x, new_background_y;
+
+ get_mouse_background(mouse_buffer);
+ put_and_clip_background_buffer_over_mouse_buffer();
+ memcpy(new_background_buffer,mouse_buffer,fb_pixelsize*arrow_area);
+ new_background_x=mouse_x;
+ new_background_y=mouse_y;
+ render_mouse_arrow();
+ place_mouse_composite();
+ memcpy(background_buffer,new_background_buffer,fb_pixelsize*arrow_area);
+ background_x=new_background_x;
+ background_y=new_background_y;
+}
+
+static void redraw_mouse(void){
+
+ if (flags) return; /* We are not drawing */
+ if (mouse_x!=background_x||mouse_y!=background_y){
+ if (RECTANGLES_INTERSECT(
+ background_x, background_x+arrow_width,
+ mouse_x, mouse_x+arrow_width,
+ background_y, background_y+arrow_height,
+ mouse_y, mouse_y+arrow_height)){
+ redraw_mouse_sophisticated();
+ }else{
+ /* Do a normal hide/show */
+ get_mouse_background(mouse_buffer);
+ memcpy(new_background_buffer,
+ mouse_buffer,arrow_area*fb_pixelsize);
+ render_mouse_arrow();
+ hide_mouse();
+ place_mouse();
+ memcpy(background_buffer,new_background_buffer
+ ,arrow_area*fb_pixelsize);
+ background_x=mouse_x;
+ background_y=mouse_y;
+ }
+ }
+}
+
+
+static unsigned char *svga_get_driver_param(void)
+{
+ return svga_driver_param;
+}
+
+static void generate_palette_outer(void)
+{
+ if (vga_colors==16||vga_colors==256){
+ struct irgb *palette;
+ palette=mem_alloc(vga_colors*sizeof(*palette));
+ generate_palette(palette);
+ set_palette(palette);
+ mem_free(palette);
+ /* Palette in SVGAlib will be always color cube */
+ }
+}
+
+/* This is to be called after vga_setmode and sets up accelerator,
+ * svgalib functions */
+static void setup_mode(int mode)
+{
+ vga_modeinfo *i;
+ int sig;
+
+ accel_avail=vga_ext_set(VGA_EXT_AVAILABLE,VGA_AVAIL_ACCEL);
+ if (vga_ext_set(VGA_EXT_AVAILABLE, VGA_AVAIL_SET)&VGA_CLUT8){
+ vga_ext_set(VGA_EXT_SET,VGA_CLUT8);
+ palette_depth=8;
+ }else palette_depth=6;
+ i=vga_getmodeinfo(mode);
+ vga_bytes=i->bytesperpixel;
+ fb_pixelsize=vga_bytes?vga_bytes:1;
+ vga_misordered=!!(i->flags&RGB_MISORDERED);
+ mode_x=!!(i->flags&IS_MODEX);
+ vga_linear=!!(i->flags&IS_LINEAR);
+ /*
+ if (!vga_linear && i->flags&CAPABLE_LINEAR && 0<=vga_setlinearaddressing()) vga_linear=1;
+ */
+ my_graph_mem=vga_getgraphmem();
+ svga_driver.x = xsize=i->width;
+ svga_driver.y = ysize=i->height;
+ aspect_native=(196608*xsize+(ysize<<1))/(ysize<<2);
+ aspect=aspect_native*bfu_aspect+0.5;
+ vga_colors=i->colors;
+ if (xsize==320&&ysize==200&&vga_colors==256) vga_linear=1; /* The mode
+ does not need to page :-) */
+ vga_linewidth=i->linewidth;
+ if (!vga_linear){
+ vga_page=-1;
+ }
+ vga_misordered=!!(i->flags&RGB_MISORDERED);
+ /*dump_mode_info_into_file(i);*/
+ svga_driver.depth=0;
+ svga_driver.depth|=vga_misordered<<8;
+ switch (vga_colors){
+ case 16:
+ sig=4;
+ break;
+ case 256:
+ sig=8;
+ break;
+ case 32768:
+ sig=15;
+ break;
+ case 65536:
+ sig=16;
+ break;
+ case 16777216:
+ sig=24;
+ break;
+ default:
+ sig=0; /* Only to suppress warning */
+ break;
+ }
+ svga_driver.depth|=sig<<3;
+ svga_driver.depth|=fb_pixelsize;
+
+ /* setup_functions uses depth. */
+ setup_functions();
+ generate_palette_outer();
+}
+
+#ifndef __SPAD__
+static void vtswitch_handler(void *nothing)
+{
+ int oktowrite;
+
+ vga_unlockvc();
+ vga_lockvc();
+ oktowrite=vga_oktowrite();
+ if (!oktowrite&&!flags){
+ backup_virtual_device=current_virtual_device;
+ current_virtual_device=NULL;
+ }
+ if (flags==1&&oktowrite) current_virtual_device=backup_virtual_device;
+ flags=(flags&~1)|!oktowrite;
+ svgalib_timer_id=install_timer(100,vtswitch_handler, NULL);
+}
+#endif
+
+static void svga_ctrl_c(struct itrm *i)
+{
+ kbd_ctrl_c();
+}
+
+/* Param: one string which is to be compared with one from modes.
+ * Copies the svga_driver into gr_driver.
+ * Returns: 0 OK
+ * 1 Passed mode unknown by svga_driver
+ * 2 Passed mode unknown by svgalib
+ * mikulas: Change: Returns: NULL: OK
+ * non-null: poiner to string with error
+ * description, string must be freed
+ */
+static unsigned char *svga_init_driver(unsigned char *param, unsigned char *display)
+{
+ int j;
+
+ kbd_set_raw = 0;
+
+ vga_init();
+ svga_driver.flags |= GD_NEED_CODEPAGE;
+ j = 0;
+
+ svga_driver_param=NULL;
+ if (!param || !*param) goto not_found;
+ svga_driver_param=stracpy(param);
+ for (j=0;(size_t)j<sizeof(modes)/sizeof(*modes);j++)
+ if (!strcasecmp(modes[j].name,param)) goto found;
+ j = 1;
+ not_found:
+ {
+ unsigned char *m = init_str();
+ int l = 0;
+ int f = 0;
+ if (j) {
+ add_to_str(&m, &l, "Video mode ");
+ add_to_str(&m, &l, param);
+ add_to_str(&m, &l,
+ j == 1 ? " not supported by svgalib" :
+ j == 2 ? " not supported by your video card" :
+ " could not be set");
+ add_to_str(&m, &l, ".\n");
+ } else add_to_str(&m, &l, "There is no default video mode.\n");
+ for (j=0;(size_t)j<sizeof(modes)/sizeof(*modes);j++) if (vga_hasmode(modes[j].number)) {
+ if (f) add_to_str(&m, &l, ", ");
+ else f = 1, add_to_str(&m, &l, "The following modes are supported:\n");
+ add_to_str(&m, &l, modes[j].name);
+ }
+ if (f) add_to_str(&m, &l, "\nUse -mode switch to set video mode.\n");
+ else add_to_str(&m, &l, "There are no supported video modes. Links can't run on svgalib.\n");
+ if(svga_driver_param)mem_free(svga_driver_param),svga_driver_param=NULL;
+ return m;
+
+ }
+ found:
+ if (!vga_hasmode(modes[j].number)) {
+ j = 2;
+ goto not_found;
+ }
+ if (init_virtual_devices(&svga_driver, NUMBER_OF_DEVICES))
+ {
+ if(svga_driver_param)mem_free(svga_driver_param),svga_driver_param=NULL;
+ return stracpy("Allocation of virtual devices failed.\n");
+ }
+ if ((vga_getmousetype()&MOUSE_TYPE_MASK)==MOUSE_NONE)
+ {
+ vga_setmousesupport(0);
+ mouse_works=0;
+ }else{
+ vga_setmousesupport(1);
+ mouse_works=1;
+ }
+ vga_lockvc();
+#ifndef __SPAD__
+ svgalib_timer_id=install_timer(100,vtswitch_handler,NULL);
+ if (vga_runinbackground_version()>=1) vga_runinbackground(1);
+#endif
+ if (vga_setmode(modes[j].number) < 0) {
+#ifndef __SPAD__
+ kill_timer(svgalib_timer_id);
+#endif
+ vga_unlockvc();
+ shutdown_virtual_devices();
+ j = 3;
+ goto not_found;
+ }
+ vga_mode=modes[j].number;
+ setup_mode(modes[j].number);
+ svgalib_kbd = handle_svgalib_keyboard((void (*)(void *, unsigned char *, int))svgalib_key_in);
+
+ if (mouse_works){
+ if ((unsigned)arrow_area > (unsigned)MAXINT / fb_pixelsize) overalloc();
+ mouse_buffer=mem_alloc(fb_pixelsize*arrow_area);
+ background_buffer=mem_alloc(fb_pixelsize*arrow_area);
+ new_background_buffer=mem_alloc(fb_pixelsize*arrow_area);
+ mouse_black=svga_driver.get_color(0);
+ mouse_white=svga_driver.get_color(0xffffff);
+ mouse_graphics_device=svga_driver.init_device();
+ virtual_devices[0] = NULL;
+ global_mouse_hidden=1;
+ background_x=mouse_x=xsize>>1;
+ background_y=mouse_y=ysize>>1;
+ show_mouse();
+ mouse_seteventhandler(mouse_event_handler);
+ }else{
+ global_mouse_hidden=1;
+ /* To ensure hide_mouse and show_mouse will do nothing */
+ }
+ ignore_signals();
+ errno = 0;
+ while (signal(SIGTSTP, SIG_IGN) == SIG_ERR && errno == EINTR) errno = 0;
+ install_signal_handler(SIGINT, (void (*)(void *))svga_ctrl_c, svgalib_kbd, 0);
+ return NULL;
+}
+
+/* Return value: 0 alloced on heap
+ * 1 alloced in vidram
+ * 2 alloced in X server shm
+ */
+/*
+static int svga_get_filled_bitmap(struct bitmap *dest, long color)
+{
+ int n;
+
+ if (dest->x && (unsigned)dest->x * (unsigned)dest->y / (unsigned)dest->x != (unsigned)dest->y) overalloc();
+ if ((unsigned)dest->x * (unsigned)dest->y > MAXINT / fb_pixelsize) overalloc();
+ n=dest->x*dest->y*fb_pixelsize;
+ dest->data=mem_alloc(n);
+ pixel_set(dest->data,n,&color);
+ dest->skip=dest->x*fb_pixelsize;
+ dest->flags=0;
+ return 0;
+}
+*/
+
+/* Return value: 0 alloced on heap
+ * 1 alloced in vidram
+ * 2 alloced in X server shm
+ */
+static int svga_get_empty_bitmap(struct bitmap *dest)
+{
+ if (dest->x && (unsigned)dest->x * (unsigned)dest->y / (unsigned)dest->x != (unsigned)dest->y) overalloc();
+ if ((unsigned)dest->x * (unsigned)dest->y > (unsigned)MAXINT / fb_pixelsize) overalloc();
+ dest->data=mem_alloc(dest->x*dest->y*fb_pixelsize);
+ dest->skip=dest->x*fb_pixelsize;
+ dest->flags=0;
+ return 0;
+}
+
+static int vga_block(struct graphics_device *dev)
+{
+ int overridden;
+
+ overridden=(flags>>1)&1;
+ if (!overridden){
+ if (!(flags&1)){
+ backup_virtual_device=current_virtual_device;
+ current_virtual_device=NULL;
+ }
+ svgalib_block_itrm(svgalib_kbd);
+ if (mouse_works){
+ hide_mouse();
+ /* mouse_close(); This is not necessary as it is
+ handled by vga_setmode(TEXT). */
+ }
+ if (vga_setmode(TEXT) < 0) {
+ error("ERROR: vga_setmode failed");
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+ }
+ flags|=2;
+ return overridden;
+}
+
+static int vga_unblock(struct graphics_device *dev)
+{
+#ifdef DEBUG
+ if (current_virtual_device) {
+ internal("vga_unblock called without vga_block");
+ return 0;
+ }
+#endif /* #ifdef DEBUG */
+ flags&=~2;
+ if (!flags) current_virtual_device=backup_virtual_device;
+ vga_setmousesupport(1);
+ if (vga_setmode(vga_mode) < 0) {
+ error("ERROR: vga_setmode failed");
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+ setup_mode(vga_mode);
+ if (mouse_works){
+ show_mouse();
+ mouse_seteventhandler(mouse_event_handler);
+ }
+ svgalib_unblock_itrm(svgalib_kbd);
+ if (current_virtual_device) current_virtual_device->redraw_handler(current_virtual_device
+ ,&current_virtual_device->size);
+ return 0;
+}
+
+static void *svga_prepare_strip(struct bitmap *bmp, int top, int lines)
+{
+ return ((unsigned char *)bmp->data)+bmp->skip*top;
+}
+
+
+static void svga_commit_strip(struct bitmap *bmp, int top, int lines)
+{
+ return;
+}
+
+/* This is a nasty hack */
+#undef select
+
+int vga_select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
+{
+ int retval,i;
+
+ if (drv != &svga_driver) return select(n, readfds, writefds, exceptfds, timeout);
+
+ /* The second flag here is to suppress mouse wait
+ * in blocked state */
+ retval=vga_waitevent((mouse_works&&!(flags&2) ? VGA_MOUSEEVENT : 0)
+#ifdef VGA_REDRAWEVENT
+ | VGA_REDRAWEVENT
+#endif
+ ,readfds, writefds,
+ exceptfds, timeout);
+ if (retval<0) return retval;
+#ifdef VGA_REDRAWEVENT
+ if (retval&VGA_REDRAWEVENT) {
+ struct rect r;
+ r.x1 = 0;
+ r.y1 = 0;
+ r.x2 = svga_driver.x;
+ r.y2 = svga_driver.y;
+ if (current_virtual_device) current_virtual_device->redraw_handler(current_virtual_device,&r);
+ check_bottom_halves();
+ }
+#endif
+ if (retval&VGA_MOUSEEVENT){
+ mouse_aggregate_flush();
+ /*redraw_mouse(); mikulas: dal jsem to do mouse_event_handler,
+ aby ukazatel mysi nezustaval pozadu za scrollbarem */
+ check_bottom_halves();
+ }
+ retval=0;
+ for (i=0;i<n;i++){
+ if (readfds&&FD_ISSET(i,readfds)) retval++;
+ if (writefds&&FD_ISSET(i,writefds)) retval++;
+ if (exceptfds&&FD_ISSET(i,exceptfds)) retval++;
+ }
+ return retval;
+}
+
+struct graphics_driver svga_driver={
+ "svgalib",
+ svga_init_driver,
+ init_virtual_device,
+ shutdown_virtual_device,
+ svga_shutdown_driver,
+ svga_get_driver_param,
+ svga_get_empty_bitmap,
+ /*svga_get_filled_bitmap,*/
+ svga_register_bitmap,
+ svga_prepare_strip,
+ svga_commit_strip,
+ svga_unregister_bitmap,
+ NULL, /* svga_draw_bitmap */
+ /*svga_draw_bitmaps,*/
+ NULL, /* get_color */
+ NULL, /* fill_area */
+ NULL, /* draw_hline */
+ NULL, /* draw_vline */
+ NULL, /* hscroll */
+ NULL, /* vscroll */
+ svga_set_clip_area,
+ vga_block, /* block */
+ vga_unblock, /* unblock */
+ NULL, /* set_title */
+ NULL, /* exec */
+ NULL, /* set_clipboard_text */
+ NULL, /* get_clipboard_text */
+ 0, /* depth */
+ 0, 0, /* size */
+ 0, /* flags */
+ 0, /* codepage */
+ NULL, /* shell */
+};
+
+#endif /* GRDRV_SVGALIB */
diff --git a/terminal.c b/terminal.c
new file mode 100644
index 0000000..56eecf3
--- /dev/null
+++ b/terminal.c
@@ -0,0 +1,1302 @@
+/* terminal.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+static void in_term(struct terminal *);
+static void check_if_no_terminal(void);
+
+
+int hard_write(int fd, unsigned char *p, int l)
+{
+ int w = 1;
+ int t = 0;
+ while (l > 0 && w) {
+ EINTRLOOP(w, write(fd, p, l));
+ if (w < 0)
+ return -1;
+ t += w;
+ p += w;
+ l -= w;
+ }
+ return t;
+}
+
+int hard_read(int fd, unsigned char *p, int l)
+{
+ int r = 1;
+ int t = 0;
+ while (l > 0 && r) {
+ EINTRLOOP(r, read(fd, p, l));
+ if (r < 0)
+ return -1;
+ t += r;
+ p += r;
+ l -= r;
+ }
+ return t;
+}
+
+unsigned char *get_cwd(void)
+{
+ int bufsize = 128;
+ unsigned char *buf;
+ unsigned char *gcr;
+ while (1) {
+ buf = mem_alloc(bufsize);
+ ENULLLOOP(gcr, getcwd(buf, bufsize));
+ if (gcr) return buf;
+ mem_free(buf);
+ if (errno != ERANGE) return NULL;
+ if ((unsigned)bufsize > MAXINT - 128) overalloc();
+ bufsize += 128;
+ }
+ return NULL;
+}
+
+void set_cwd(unsigned char *path)
+{
+ int rs;
+ if (path)
+ EINTRLOOP(rs, chdir(path));
+}
+
+struct list_head terminals = {&terminals, &terminals};
+
+static void alloc_term_screen(struct terminal *term, int x, int y)
+{
+ chr *s, *t;
+ NO_GFX;
+ if (x && (unsigned)x * (unsigned)y / (unsigned)x != (unsigned)y) overalloc();
+ if ((unsigned)x * (unsigned)y > MAXINT / sizeof(*term->screen)) overalloc();
+ s = mem_realloc(term->screen, x * y * sizeof(*term->screen));
+ t = mem_realloc(term->last_screen, x * y * sizeof(*term->screen));
+ memset(t, -1, x * y * sizeof(*term->screen));
+ term->x = x;
+ term->y = y;
+ term->last_screen = t;
+ memset(s, 0, x * y * sizeof(*term->screen));
+ term->screen = s;
+ term->dirty = 1;
+}
+
+static void clear_terminal(struct terminal *term)
+{
+ NO_GFX;
+ fill_area(term, 0, 0, term->x, term->y, ' ', 0);
+ set_cursor(term, 0, 0, 0, 0);
+}
+
+void redraw_below_window(struct window *win)
+{
+ int tr;
+ struct terminal *term = win->term;
+ struct window *end = win;
+ struct event ev = { EV_REDRAW, 0, 0, 0 };
+ NO_GFX;
+ ev.x = term->x;
+ ev.y = term->y;
+ if (term->redrawing >= 2) return;
+ tr = term->redrawing;
+ win->term->redrawing = 2;
+ for (win = term->windows.prev; win != end; win = win->prev) {
+ win->handler(win, &ev, 0);
+ }
+ term->redrawing = tr;
+}
+
+static void redraw_terminal_ev(struct terminal *term, int e)
+{
+ struct window *win;
+ struct event ev = {0, 0, 0, 0};
+ NO_GFX;
+ ev.ev = e;
+ ev.x = term->x;
+ ev.y = term->y;
+ clear_terminal(term);
+ term->redrawing = 2;
+ foreachback(win, term->windows) win->handler(win, &ev, 0);
+ term->redrawing = 0;
+}
+
+void redraw_terminal(struct terminal *term)
+{
+ NO_GFX;
+ redraw_terminal_ev(term, EV_REDRAW);
+}
+
+void redraw_terminal_all(struct terminal *term)
+{
+ NO_GFX;
+ redraw_terminal_ev(term, EV_RESIZE);
+}
+
+static void erase_screen(struct terminal *term)
+{
+ NO_GFX;
+ if (!term->master || !is_blocked()) {
+ if (term->master) want_draw();
+ hard_write(term->fdout, "\033[2J\033[1;1H", 10);
+ if (term->master) done_draw();
+ }
+}
+
+void redraw_terminal_cls(struct terminal *term)
+{
+ NO_GFX;
+ erase_screen(term);
+ alloc_term_screen(term, term->x, term->y);
+ redraw_terminal_all(term);
+}
+
+void cls_redraw_all_terminals(void)
+{
+ struct terminal *term;
+ foreach(term, terminals) {
+ if (!F) redraw_terminal_cls(term);
+#ifdef G
+ else {
+ t_resize(term->dev);
+ }
+#endif
+ }
+}
+
+#ifdef G
+
+int do_rects_intersect(struct rect *r1, struct rect *r2)
+{
+ return (r1->x1 > r2->x1 ? r1->x1 : r2->x1) < (r1->x2 > r2->x2 ? r2->x2 : r1->x2) && (r1->y1 > r2->y1 ? r1->y1 : r2->y1) < (r1->y2 > r2->y2 ? r2->y2 : r1->y2);
+}
+
+void intersect_rect(struct rect *v, struct rect *r1, struct rect *r2)
+{
+ v->x1 = r1->x1 > r2->x1 ? r1->x1 : r2->x1;
+ v->x2 = r1->x2 > r2->x2 ? r2->x2 : r1->x2;
+ v->y1 = r1->y1 > r2->y1 ? r1->y1 : r2->y1;
+ v->y2 = r1->y2 > r2->y2 ? r2->y2 : r1->y2;
+}
+
+void unite_rect(struct rect *v, struct rect *r1, struct rect *r2)
+{
+ if (!is_rect_valid(r1)) {
+ if (v != r2) memcpy(v, r2, sizeof(struct rect));
+ return;
+ }
+ if (!is_rect_valid(r2)) {
+ if (v != r1) memcpy(v, r1, sizeof(struct rect));
+ return;
+ }
+ v->x1 = r1->x1 < r2->x1 ? r1->x1 : r2->x1;
+ v->x2 = r1->x2 < r2->x2 ? r2->x2 : r1->x2;
+ v->y1 = r1->y1 < r2->y1 ? r1->y1 : r2->y1;
+ v->y2 = r1->y2 < r2->y2 ? r2->y2 : r1->y2;
+}
+
+int is_rect_valid(struct rect *r1)
+{
+ return r1->x1 < r1->x2 && r1->y1 < r1->y2;
+}
+
+#define R_GR 8
+
+struct rect_set *init_rect_set(void)
+{
+ struct rect_set *s;
+ s = mem_calloc(sizeof(struct rect_set) + sizeof(struct rect) * R_GR);
+ s->rl = R_GR;
+ s->m = 0;
+ return s;
+}
+
+void add_to_rect_set(struct rect_set **s, struct rect *r)
+{
+ struct rect_set *ss = *s;
+ int i;
+ if (!is_rect_valid(r)) return;
+ for (i = 0; i < ss->rl; i++) if (!ss->r[i].x1 && !ss->r[i].x2 && !ss->r[i].y1 && !ss->r[i].y2) {
+ x:
+ memcpy(&ss->r[i], r, sizeof(struct rect));
+ if (i >= ss->m) ss->m = i + 1;
+ return;
+ }
+ if ((unsigned)ss->rl > (MAXINT - sizeof(struct rect_set)) / sizeof(struct rect) - R_GR) overalloc();
+ ss = mem_realloc(ss, sizeof(struct rect_set) + sizeof(struct rect) * (ss->rl + R_GR));
+ memset(&(*s = ss)->r[i = (ss->rl += R_GR) - R_GR], 0, sizeof(struct rect) * R_GR);
+ goto x;
+}
+
+void exclude_rect_from_set(struct rect_set **s, struct rect *r)
+{
+ int i, a;
+ struct rect *rr;
+ do {
+ a = 0;
+ for (i = 0; i < (*s)->m; i++) if (do_rects_intersect(rr = &(*s)->r[i], r)) {
+ struct rect r1, r2, r3, r4;
+ r1.x1 = rr->x1;
+ r1.x2 = rr->x2;
+ r1.y1 = rr->y1;
+ r1.y2 = r->y1;
+
+ r2.x1 = rr->x1;
+ r2.x2 = r->x1;
+ r2.y1 = r->y1;
+ r2.y2 = r->y2;
+
+ r3.x1 = r->x2;
+ r3.x2 = rr->x2;
+ r3.y1 = r->y1;
+ r3.y2 = r->y2;
+
+ r4.x1 = rr->x1;
+ r4.x2 = rr->x2;
+ r4.y1 = r->y2;
+ r4.y2 = rr->y2;
+
+ intersect_rect(&r2, &r2, rr);
+ intersect_rect(&r3, &r3, rr);
+ rr->x1 = rr->x2 = rr->y1 = rr->y2 = 0;
+#ifdef DEBUG
+ if (is_rect_valid(&r1) && do_rects_intersect(&r1, r)) internal("bad intersection 1");
+ if (is_rect_valid(&r2) && do_rects_intersect(&r2, r)) internal("bad intersection 2");
+ if (is_rect_valid(&r3) && do_rects_intersect(&r3, r)) internal("bad intersection 3");
+ if (is_rect_valid(&r4) && do_rects_intersect(&r4, r)) internal("bad intersection 4");
+#endif
+ add_to_rect_set(s, &r1);
+ add_to_rect_set(s, &r2);
+ add_to_rect_set(s, &r3);
+ add_to_rect_set(s, &r4);
+ a = 1;
+ }
+ } while (a);
+}
+
+/* memory address r must contain one struct rect
+ * x1 is leftmost pixel that is still valid
+ * x2 is leftmost pixel that isn't valid any more
+ * y1, y2 analogically
+ */
+int restrict_clip_area(struct graphics_device *dev, struct rect *r, int x1, int y1, int x2, int y2)
+{
+ struct rect v, rr;
+ rr.x1 = x1, rr.x2 = x2, rr.y1 = y1, rr.y2 = y2;
+ if (r) memcpy(r, &dev->clip, sizeof(struct rect));
+ intersect_rect(&v, &dev->clip, &rr);
+ drv->set_clip_area(dev, &v);
+ return is_rect_valid(&v);
+}
+
+#endif
+
+void draw_to_window(struct window *win, void (*fn)(struct terminal *term, void *), void *data)
+{
+ struct terminal *term = win->term;
+ struct window *end = (void *)&term->windows;
+ if (!F) {
+ pr(fn(term, data)) {};
+ term = win->term;
+ end = (void *)&term->windows;
+ if (win->prev == end || term->redrawing) return;
+ term->redrawing = 1;
+ {
+ struct event ev = { EV_REDRAW, 0, 0, 0 };
+ ev.x = term->x;
+ ev.y = term->y;
+ for (win = win->prev; win != end; win = win->prev) win->handler(win, &ev, 0);
+ }
+ term->redrawing = 0;
+#ifdef G
+ } else {
+ struct rect r1, *r;
+ struct rect_set *s;
+ int i, a;
+ if (win->prev == end || !(s = init_rect_set())) {
+ pr(fn(term, data)) {};
+ return;
+ }
+ intersect_rect(&r1, &win->pos, &term->dev->clip);
+ add_to_rect_set(&s, &r1);
+ for (win = win->prev; win != end; win = win->prev) exclude_rect_from_set(&s, &win->pos);
+ a = 0;
+ memcpy(&r1, &term->dev->clip, sizeof(struct rect));
+ for (i = 0; i < s->m; i++) if (is_rect_valid(r = &s->r[i])) {
+ drv->set_clip_area(term->dev, r);
+ pr(fn(term, data)) return;
+ a = 1;
+ }
+ if (!a) {
+ struct rect empty = { 0, 0, 0, 0 };
+ drv->set_clip_area(term->dev, &empty);
+ fn(term, data);
+ }
+ drv->set_clip_area(term->dev, &r1);
+ mem_free(s);
+#endif
+ }
+}
+
+#ifdef G
+
+static void redraw_windows(struct terminal *term)
+{
+ struct terminal *t1;
+ struct window *win;
+ foreach(t1, terminals) if (t1 == term) goto ok;
+ return;
+ ok:
+ foreach(win, term->windows) {
+ struct event ev = { EV_REDRAW, 0, 0, 0 };
+ ev.x = term->x;
+ ev.y = term->y;
+ drv->set_clip_area(term->dev, &win->redr);
+ memset(&win->redr, 0, sizeof(struct rect));
+ win->handler(win, &ev, 0);
+ }
+ drv->set_clip_area(term->dev, &term->dev->size);
+}
+
+void set_window_pos(struct window *win, int x1, int y1, int x2, int y2)
+{
+ struct terminal *term = win->term;
+ struct rect r;
+ NO_TXT;
+ r.x1 = x1, r.y1 = y1, r.x2 = x2, r.y2 = y2;
+ if (is_rect_valid(&win->pos) && (x1 > win->pos.x1 || x2 < win->pos.x2 || y1 > win->pos.y1 || y2 < win->pos.y2) && term->redrawing < 2) {
+ struct window *w;
+ for (w = win->next; w != (void *)&win->term->windows; w = w->next) unite_rect(&w->redr, &win->pos, &w->redr);
+ register_bottom_half((void (*)(void *))redraw_windows, term);
+ }
+ memcpy(&win->pos, &r, sizeof(struct rect));
+}
+
+#endif
+
+void add_window_at_pos(struct terminal *term, void (*handler)(struct window *, struct event *, int), void *data, struct window *at)
+{
+ struct event ev = { EV_INIT, 0, 0, 0 };
+ struct window *win;
+ ev.x = term->x;
+ ev.y = term->y;
+ win = mem_calloc(sizeof(struct window));
+ win->handler = handler;
+ win->data = data;
+ win->term = term;
+ win->xp = win->yp = 0;
+ add_at_pos(at, win);
+ win->handler(win, &ev, 0);
+}
+
+void add_window(struct terminal *term, void (*handler)(struct window *, struct event *, int), void *data)
+{
+ add_window_at_pos(term, handler, data, (struct window *)(void *)&term->windows);
+}
+
+void delete_window(struct window *win)
+{
+ struct event ev = { EV_ABORT, 0, 0, 0 };
+ win->handler(win, &ev, 1);
+ del_from_list(win);
+ if (win->data) mem_free(win->data);
+ if (!F) redraw_terminal(win->term);
+#ifdef G
+ else {
+ struct window *w;
+ for (w = win->next; w != (void *)&win->term->windows; w = w->next) unite_rect(&w->redr, &win->pos, &w->redr);
+ register_bottom_half((void (*)(void *))redraw_windows, win->term);
+ }
+#endif
+ mem_free(win);
+}
+
+void delete_window_ev(struct window *win, struct event *ev)
+{
+ struct window *w = win->next;
+ if ((void *)w == &win->term->windows) w = NULL;
+ delete_window(win);
+ if (ev && w && w->next != w) w->handler(w, ev, 1);
+}
+
+void set_window_ptr(struct window *win, int x, int y)
+{
+ if (win->xp == x && win->yp == y) return;
+ win->xp = x;
+ win->yp = y;
+#ifdef G
+ if (F && win->prev != (void *)&win->term->windows) {
+ memcpy(&win->prev->redr, &win->term->dev->size, sizeof(struct rect));
+ register_bottom_half((void (*)(void *))redraw_windows, win->term);
+ }
+#endif
+}
+
+void get_parent_ptr(struct window *win, int *x, int *y)
+{
+ if ((void *)win->next != &win->term->windows) {
+ *x = win->next->xp;
+ *y = win->next->yp;
+ } else {
+ *x = *y = 0;
+ }
+}
+
+struct ewd {
+ void (*fn)(void *);
+ void *data;
+ int b;
+};
+
+static void empty_window_handler(struct window *win, struct event *ev, int fwd)
+{
+ struct window *n;
+ struct ewd *ewd = win->data;
+ int x, y;
+ void (*fn)(void *) = ewd->fn;
+ void *data = ewd->data;
+ if (ewd->b) return;
+ switch ((int)ev->ev) {
+ case EV_INIT:
+ case EV_RESIZE:
+ case EV_REDRAW:
+ get_parent_ptr(win, &x, &y);
+ set_window_ptr(win, x, y);
+ return;
+ case EV_ABORT:
+ fn(data);
+ return;
+ }
+ ewd->b = 1;
+ n = win->next;
+ delete_window(win);
+ fn(data);
+ if (n->next != n) n->handler(n, ev, fwd);
+}
+
+void add_empty_window(struct terminal *term, void (*fn)(void *), void *data)
+{
+ struct ewd *ewd;
+ ewd = mem_alloc(sizeof(struct ewd));
+ ewd->fn = fn;
+ ewd->data = data;
+ ewd->b = 0;
+ add_window(term, empty_window_handler, ewd);
+}
+
+void free_term_specs(void)
+{
+ free_list(term_specs);
+}
+
+struct list_head term_specs = {&term_specs, &term_specs};
+
+static struct term_spec dumb_term = { NULL, NULL, "", 0, 1, 0, 0, 0, 0, 0 };
+
+static struct term_spec *get_term_spec(unsigned char *term)
+{
+ struct term_spec *t;
+ NO_GFX;
+ foreach(t, term_specs) if (!strcasecmp(t->term, term)) return t;
+ return &dumb_term;
+}
+
+struct term_spec *new_term_spec(unsigned char *term)
+{
+ struct term_spec *t;
+ foreach(t, term_specs) if (!strcasecmp(t->term, term)) return t;
+ t = mem_alloc(sizeof(struct term_spec));
+ memcpy(t, &dumb_term, sizeof(struct term_spec));
+ if (strlen(term) < MAX_TERM_LEN) strcpy(t->term, term);
+ else memcpy(t->term, term, MAX_TERM_LEN - 1), t->term[MAX_TERM_LEN - 1] = 0;
+ add_to_list(term_specs, t);
+ sync_term_specs();
+ return t;
+}
+
+void sync_term_specs(void)
+{
+ struct terminal *term;
+ foreach(term, terminals) term->spec = get_term_spec(term->term);
+}
+
+struct terminal *init_term(int fdin, int fdout, void (*root_window)(struct window *, struct event *, int))
+{
+ static tcount terminal_count = 0;
+ struct terminal *term;
+ struct window *win;
+ NO_GFX;
+ term = mem_calloc(sizeof(struct terminal));
+ term->count = terminal_count++;
+ term->fdin = fdin;
+ term->fdout = fdout;
+ term->master = term->fdout == get_output_handle();
+ term->lcx = -1;
+ term->lcy = -1;
+ term->dirty = 1;
+ term->blocked = -1;
+ term->screen = DUMMY;
+ term->last_screen = DUMMY;
+ term->spec = &dumb_term;
+ term->input_queue = DUMMY;
+ init_list(term->windows);
+ win = mem_calloc(sizeof(struct window));
+ win->handler = root_window;
+ win->term = term;
+ add_to_list(term->windows, win);
+ /*alloc_term_screen(term, 80, 25);*/
+ add_to_list(terminals, term);
+ set_handlers(fdin, (void (*)(void *))in_term, NULL, (void (*)(void *))destroy_terminal, term);
+ return term;
+}
+
+static int process_utf_8(struct terminal *term, struct event *ev)
+{
+#if defined(G) || defined(ENABLE_UTF8)
+ if (ev->ev == EV_KBD && ((!F && term->spec->charset == utf8_table)
+#ifdef G
+ || (F && drv->codepage == utf8_table)
+#endif
+ )) {
+ size_t l;
+ unsigned char *p;
+ unsigned c;
+ if (ev->x <= 0 || ev->x >= 0x100) goto direct;
+ if ((l = strlen(term->utf8_buffer)) >= sizeof(term->utf8_buffer) - 1 || ev->x < 0x80 || ev->x >= 0xc0)
+ term->utf8_buffer[0] = 0, l = 0;
+ term->utf8_buffer[l] = ev->x;
+ term->utf8_buffer[l + 1] = 0;
+ p = term->utf8_buffer;
+ GET_UTF_8(p, c);
+ if (!c) return 0;
+ ev->x = c;
+ direct:
+ term->utf8_buffer[0] = 0;
+ }
+#endif
+ return 1;
+}
+
+#ifdef G
+
+static struct term_spec gfx_term = { NULL, NULL, "", 0, 0, 0, 0, 0, 0, 0 };
+
+struct terminal *init_gfx_term(void (*root_window)(struct window *, struct event *, int), void *info, int len)
+{
+ static tcount terminal_count = 0;
+ struct terminal *term;
+ struct graphics_device *dev;
+ struct window *win;
+ unsigned char *cwd;
+ NO_TXT;
+ term = mem_calloc(sizeof(struct terminal));
+ term->count = terminal_count++;
+ term->fdin = -1;
+ if (!(term->dev = dev = drv->init_device())) {
+ mem_free(term);
+ check_if_no_terminal();
+ return NULL;
+ }
+ dev->user_data = term;
+ term->master = 1;
+ term->blocked = -1;
+ term->x = dev->size.x2;
+ term->y = dev->size.y2;
+ term->last_mouse_x = term->last_mouse_y = term->last_mouse_b = MAXINT;
+ term->environment = !(drv->flags & GD_ONLY_1_WINDOW) ? ENV_G : 0;
+ if (!strcasecmp(drv->name, "x")) term->environment |= ENV_XWIN;
+ term->spec = &gfx_term;
+ if ((cwd = get_cwd())) {
+ safe_strncpy(term->cwd, cwd, MAX_CWD_LEN);
+ mem_free(cwd);
+ }
+ gfx_term.charset = utf8_table;
+ if (gfx_term.charset == -1) gfx_term.charset = 0;
+ init_list(term->windows);
+ win = mem_calloc(sizeof (struct window));
+ win->handler = root_window;
+ win->term = term;
+ win->pos.x2 = dev->size.x2;
+ win->pos.y2 = dev->size.y2;
+ add_to_list(term->windows, win);
+ add_to_list(terminals, term);
+ dev->redraw_handler = t_redraw;
+ dev->resize_handler = t_resize;
+ dev->keyboard_handler = t_kbd;
+ dev->mouse_handler = t_mouse;
+ {
+ int *ptr;
+ struct event ev = { EV_INIT, 0, 0, 0 };
+ ev.x = dev->size.x2;
+ ev.y = dev->size.y2;
+ if ((unsigned)len > MAXINT - sizeof(int)) overalloc();
+ ptr = mem_alloc(sizeof(int) + len);
+ *ptr = len;
+ memcpy(ptr + 1, info, len);
+ ev.b = (long)ptr;
+ root_window(win, &ev, 0);
+ mem_free(ptr);
+ }
+ return term;
+}
+
+void t_redraw(struct graphics_device *dev, struct rect *r)
+{
+ struct terminal *term = dev->user_data;
+ struct window *win;
+ /*debug("%d %d %d %d", r->x1, r->x2, r->y1, r->y2);*/
+ /*fprintf(stderr, "t_redraw: %d,%d %d,%d\n", r->x1, r->y1, r->x2, r->y2);*/
+ foreach(win, term->windows) unite_rect(&win->redr, r, &win->redr);
+ register_bottom_half((void (*)(void *))redraw_windows, term);
+}
+
+void t_resize(struct graphics_device *dev)
+{
+ struct terminal *term = dev->user_data;
+ struct window *win;
+ struct event ev = { EV_RESIZE, 0, 0, 0 };
+ term->x = ev.x = dev->size.x2;
+ term->y = ev.y = dev->size.y2;
+ drv->set_clip_area(dev, &dev->size);
+ foreach(win, term->windows) {
+ win->handler(win, &ev, 0);
+ }
+ drv->set_clip_area(dev, &dev->size);
+}
+
+void t_kbd(struct graphics_device *dev, int key, int flags)
+{
+ struct terminal *term = dev->user_data;
+ struct event ev = { EV_KBD, 0, 0, 0 };
+ struct rect r = {0, 0, 0, 0};
+ r.x2 = dev->size.x2, r.y2 = dev->size.y2;
+ ev.x = key;
+ ev.y = flags;
+ if (upcase(key) == 'L' && flags == KBD_CTRL) {
+ t_redraw(dev, &r);
+ return;
+ } else {
+ drv->set_clip_area(dev, &r);
+ if (list_empty(term->windows)) return;
+ if (ev.x == KBD_CTRL_C || ev.x == KBD_CLOSE) ((struct window *)term->windows.prev)->handler(term->windows.prev, &ev, 0);
+ else {
+ if (process_utf_8(term, &ev))
+ ((struct window *)term->windows.next)->handler(term->windows.next, &ev, 0);
+ }
+ }
+}
+
+void t_mouse(struct graphics_device *dev, int x, int y, int b)
+{
+ struct terminal *term = dev->user_data;
+ struct event ev = { EV_MOUSE, 0, 0, 0 };
+ struct rect r = {0, 0, 0, 0};
+ int bt, ac;
+ if (x == term->last_mouse_x && y == term->last_mouse_y && b == term->last_mouse_b) {
+ return;
+ }
+ bt = b & BM_BUTT;
+ ac = b & BM_ACT;
+ if ((ac == B_MOVE || ac == B_DRAG) &&
+ (bt == B_LEFT || bt == B_MIDDLE || bt == B_RIGHT || bt == B_FOURTH || bt == B_FIFTH || bt == B_SIXTH)) {
+ term->last_mouse_x = x;
+ term->last_mouse_y = y;
+ term->last_mouse_b = b;
+ } else {
+ term->last_mouse_x = term->last_mouse_y = term->last_mouse_b = MAXINT;
+ }
+ r.x2 = dev->size.x2, r.y2 = dev->size.y2;
+ ev.x = x, ev.y = y, ev.b = b;
+ drv->set_clip_area(dev, &r);
+ if (list_empty(term->windows)) return;
+ ((struct window *)term->windows.next)->handler(term->windows.next, &ev, 0);
+}
+
+#endif
+
+static void in_term(struct terminal *term)
+{
+ struct event *ev;
+ int r;
+ unsigned char *iq;
+ NO_GFX;
+ if ((unsigned)term->qlen + ALLOC_GR > MAXINT) overalloc();
+ iq = mem_realloc(term->input_queue, term->qlen + ALLOC_GR);
+ term->input_queue = iq;
+ EINTRLOOP(r, read(term->fdin, iq + term->qlen, ALLOC_GR));
+ if (r <= 0) {
+ if (r == -1 && errno != ECONNRESET) error("ERROR: error %d on terminal: could not read event", errno);
+ destroy_terminal(term);
+ return;
+ }
+ term->qlen += r;
+ test_queue:
+ if ((size_t)term->qlen < sizeof(struct event)) return;
+ ev = (struct event *)iq;
+ r = sizeof(struct event);
+ if (ev->ev != EV_INIT && ev->ev != EV_RESIZE && ev->ev != EV_REDRAW && ev->ev != EV_KBD && ev->ev != EV_MOUSE && ev->ev != EV_ABORT) {
+ error("ERROR: error on terminal: bad event %d", ev->ev);
+ goto mm;
+ }
+ if (ev->ev == EV_INIT) {
+ int init_len;
+ if ((size_t)term->qlen < sizeof(struct event) + MAX_TERM_LEN + MAX_CWD_LEN + 2 * sizeof(int)) return;
+ init_len = *(int *)(iq + sizeof(struct event) + MAX_TERM_LEN + MAX_CWD_LEN + sizeof(int));
+ if ((size_t)term->qlen < sizeof(struct event) + MAX_TERM_LEN + MAX_CWD_LEN + 2 * sizeof(int) + init_len) return;
+ memcpy(term->term, iq + sizeof(struct event), MAX_TERM_LEN);
+ term->term[MAX_TERM_LEN - 1] = 0;
+ memcpy(term->cwd, iq + sizeof(struct event) + MAX_TERM_LEN, MAX_CWD_LEN);
+ term->cwd[MAX_CWD_LEN - 1] = 0;
+ term->environment = *(int *)(iq + sizeof(struct event) + MAX_TERM_LEN + MAX_CWD_LEN);
+ ev->b = (long)(iq + sizeof(struct event) + MAX_TERM_LEN + MAX_CWD_LEN + sizeof(int));
+ r = sizeof(struct event) + MAX_TERM_LEN + MAX_CWD_LEN + 2 * sizeof(int) + init_len;
+ sync_term_specs();
+ }
+ if (ev->ev == EV_REDRAW || ev->ev == EV_RESIZE || ev->ev == EV_INIT) {
+ struct window *win;
+ send_redraw:
+ if (ev->x < 0 || ev->y < 0) {
+ error("ERROR: bad terminal size: %d, %d", (int)ev->x, (int)ev->y);
+ goto mm;
+ }
+ alloc_term_screen(term, ev->x, ev->y);
+ clear_terminal(term);
+ erase_screen(term);
+ term->redrawing = 1;
+ foreachback(win, term->windows) win->handler(win, ev, 0);
+ term->redrawing = 0;
+ }
+ if (ev->ev == EV_KBD || ev->ev == EV_MOUSE) {
+ if (ev->ev == EV_KBD && upcase(ev->x) == 'L' && ev->y & KBD_CTRL) {
+ ev->ev = EV_REDRAW;
+ ev->x = term->x;
+ ev->y = term->y;
+ goto send_redraw;
+ }
+ else if (ev->ev == EV_KBD && ev->x == KBD_CTRL_C) ((struct window *)term->windows.prev)->handler(term->windows.prev, ev, 0);
+ else {
+ if (process_utf_8(term, ev))
+ ((struct window *)term->windows.next)->handler(term->windows.next, ev, 0);
+ }
+ }
+ if (ev->ev == EV_ABORT) {
+ destroy_terminal(term);
+ return;
+ }
+ /*redraw_screen(term);*/
+ mm:
+ if (term->qlen == r) term->qlen = 0;
+ else memmove(iq, iq + r, term->qlen -= r);
+ goto test_queue;
+}
+
+static inline int getcompcode(int c)
+{
+ return (c<<1 | (c&4)>>2) & 7;
+}
+
+unsigned char frame_dumb[48] = " ||||++||++++++--|-+||++--|-+----++++++++ ";
+static unsigned char frame_vt100[48] = "aaaxuuukkuxkjjjkmvwtqnttmlvwtqnvvwwmmllnnjla ";
+static unsigned char frame_koi[48] = {
+ 144,145,146,129,135,178,180,167,
+ 166,181,161,168,174,173,172,131,
+ 132,137,136,134,128,138,175,176,
+ 171,165,187,184,177,160,190,185,
+ 186,182,183,170,169,162,164,189,
+ 188,133,130,141,140,142,143,139,
+};
+static unsigned char frame_freebsd[48] = {
+ 130,138,128,153,150,150,150,140,
+ 140,150,153,140,139,139,139,140,
+ 142,151,152,149,146,143,149,149,
+ 142,141,151,152,149,146,143,151,
+ 151,152,152,142,142,141,141,143,
+ 143,139,141,128,128,128,128,128,
+};
+static unsigned char frame_restrict[48] = {
+ 0, 0, 0, 0, 0,179,186,186,
+ 205, 0, 0, 0, 0,186,205, 0,
+ 0, 0, 0, 0, 0, 0,179,186,
+ 0, 0, 0, 0, 0, 0, 0,205,
+ 196,205,196,186,205,205,186,186,
+ 179, 0, 0, 0, 0, 0, 0, 0,
+};
+
+#if defined(ENABLE_UTF8) && defined(WIN32)
+static inline char_t utf8_hack(char_t c)
+{
+ /*
+ * These characters produce beeps on Cygwin.
+ */
+ switch (c) {
+ case 0xb7:
+ case 0x2022:
+ case 0x2024:
+ case 0x2026:
+ case 0x2219:
+ case 0x22c5:
+ case 0x30fb:
+ return '.';
+ default:
+ return c;
+ }
+}
+#else
+#define utf8_hack(x) (x)
+#endif
+
+#define SETPOS(x, y) \
+{ \
+ add_to_str(&a, &l, "\033["); \
+ add_num_to_str(&a, &l, (y) + 1); \
+ add_to_str(&a, &l, ";"); \
+ add_num_to_str(&a, &l, (x) + 1); \
+ add_to_str(&a, &l, "H"); \
+}
+
+#define PRINT_CHAR(p) \
+{ \
+ char_t c = term->screen[p].ch; \
+ unsigned char A = term->screen[p].at & 0x7f; \
+ unsigned char frm = !!(term->screen[p].at & ATTR_FRAME); \
+ if (s->mode == TERM_LINUX) { \
+ if (s->m11_hack) { \
+ if (frm != mode) { \
+ if (!(mode = frm)) add_to_str(&a, &l, "\033[10m");\
+ else add_to_str(&a, &l, "\033[11m"); \
+ } \
+ } \
+ if (s->restrict_852 && frm && c >= 176 && c < 224) { \
+ if (frame_restrict[c - 176]) c = frame_restrict[c - 176];\
+ } \
+ } else if (s->mode == TERM_VT100) { \
+ if (frm != mode) { \
+ if (!(mode = frm)) add_to_str(&a, &l, "\017"); \
+ else add_to_str(&a, &l, "\016"); \
+ } \
+ if (frm && c >= 176 && c < 224) c = frame_vt100[c - 176];\
+ } else if (s->mode == TERM_KOI8 && frm && c >= 176 && c < 224) { c = frame_koi[c - 176];\
+ } else if (s->mode == TERM_FREEBSD && frm && c >= 176 && c < 224) { c = frame_freebsd[c - 176];\
+ } else if (s->mode == TERM_DUMB && frm && c >= 176 && c < 224) c = frame_dumb[c - 176];\
+ if (!(A & 0100) && (A >> 3) == (A & 7)) A = (A & 070) | 7 * !(A & 020);\
+ if (A != attrib) { \
+ attrib = A; \
+ add_to_str(&a, &l, "\033[0"); \
+ if (s->col) { \
+ unsigned char m[4]; \
+ m[0] = ';'; m[1] = '3'; m[3] = 0; \
+ m[2] = (attrib & 7) + '0'; \
+ add_to_str(&a, &l, m); \
+ m[1] = '4'; \
+ m[2] = ((attrib >> 3) & 7) + '0'; \
+ add_to_str(&a, &l, m); \
+ } else if (getcompcode(attrib & 7) < getcompcode(attrib >> 3 & 7))\
+ add_to_str(&a, &l, ";7"); \
+ if (attrib & 0100) add_to_str(&a, &l, ";1"); \
+ add_to_str(&a, &l, "m"); \
+ } \
+ if (c >= ' ' && c != 127/* && c != 155*/) { \
+ if (c < 128 || frm || term->spec->charset != utf8_table) {\
+ add_chr_to_str(&a, &l, c); \
+ } else { \
+ /* \
+ * Linux UTF-8 console is broken and doesn't advance cursor\
+ * on some characters. So we first print an one-byte \
+ * replacement, then set the cursor back, then print \
+ * the UTF-8 character and finally set the cursor again.\
+ */ \
+ unsigned char *r; \
+ c = utf8_hack(c); \
+ r = u2cp(c, 0, 1); \
+ if (!(r && r[0] >= 32 && r[0] < 127 && !r[1])) r = "*"; \
+ add_chr_to_str(&a, &l, r[0]); \
+ if (cx + 1 < term->x) \
+ add_chr_to_str(&a, &l, 8); \
+ else \
+ SETPOS(cx, y); \
+ add_to_str(&a, &l, encode_utf_8(c)); \
+ SETPOS(cx + 1, y); \
+ } \
+ } \
+ else if (!c || c == 1) add_chr_to_str(&a, &l, ' '); \
+ else add_chr_to_str(&a, &l, '.'); \
+ cx++; \
+} \
+
+void redraw_all_terminals(void)
+{
+ struct terminal *term;
+ foreach(term, terminals) redraw_screen(term);
+}
+
+void redraw_screen(struct terminal *term)
+{
+ int x, y, p = 0;
+ int cx = term->lcx, cy = term->lcy;
+ unsigned char *a;
+ int attrib = -1;
+ int mode = -1;
+ int l = 0;
+ struct term_spec *s;
+ NO_GFX;
+ if (!term->dirty || (term->master && is_blocked())) return;
+ a = init_str();
+ s = term->spec;
+ for (y = 0; y < term->y; y++)
+ for (x = 0; x < term->x; x++, p++) {
+ int i;
+ if (y == term->y - 1 && x == term->x - 1) break;
+ if (!memcmp(&term->screen[p], &term->last_screen[p], sizeof(chr))) continue;
+ /*if ((term->screen[p].at & 0x38) == (term->last_screen[p].at & 0x38) && (term->screen[p].ch == 0 || term->screen[p].ch == 1 || term->screen[p].ch == ' ') && (term->last_screen[p].ch == 0 || term->last_screen[p].ch == 1 || term->last_screen[p].ch == ' ') && (x != term->cx || y != term->cy)) continue;*/
+ memcpy(&term->last_screen[p], &term->screen[p], sizeof(chr));
+ if (cx == x && cy == y) goto pc;/*PRINT_CHAR(p)*/
+ else if (cy == y && x - cx < 10 && x - cx > 0) {
+ for (i = x - cx; i >= 0; i--) {
+ ppc:
+ PRINT_CHAR(p - i);
+ }
+ } else {
+ SETPOS(x, y);
+ cx = x; cy = y;
+ pc:
+ i = 0;
+ goto ppc;
+ }
+ }
+ if (l) {
+ if (s->col) add_to_str(&a, &l, "\033[37;40m");
+ add_to_str(&a, &l, "\033[0m");
+ if (s->mode == TERM_LINUX && s->m11_hack) add_to_str(&a, &l, "\033[10m");
+ if (s->mode == TERM_VT100) add_to_str(&a, &l, "\017");
+ }
+ term->lcx = cx;
+ term->lcy = cy;
+ if (term->cx != term->lcx || term->cy != term->lcy) {
+ term->lcx = term->cx;
+ term->lcy = term->cy;
+ add_to_str(&a, &l, "\033[");
+ add_num_to_str(&a, &l, term->cy + 1);
+ add_to_str(&a, &l, ";");
+ add_num_to_str(&a, &l, term->cx + 1);
+ add_to_str(&a, &l, "H");
+ }
+ if (l && term->master) want_draw();
+ hard_write(term->fdout, a, l);
+ if (l && term->master) done_draw();
+ mem_free(a);
+ term->dirty = 0;
+}
+
+void destroy_terminal(struct terminal *term)
+{
+ int rs;
+ unregister_bottom_half((void (*)(void *))destroy_terminal, term);
+ while ((term->windows.next) != &term->windows) delete_window(term->windows.next);
+ /*if (term->cwd) mem_free(term->cwd);*/
+ del_from_list(term);
+ if (term->blocked != -1) {
+ EINTRLOOP(rs, close(term->blocked));
+ set_handlers(term->blocked, NULL, NULL, NULL, NULL);
+ }
+ if (term->title) mem_free(term->title);
+ if (!F) {
+ mem_free(term->screen);
+ mem_free(term->last_screen);
+ set_handlers(term->fdin, NULL, NULL, NULL, NULL);
+ mem_free(term->input_queue);
+ EINTRLOOP(rs, close(term->fdin));
+ if (!term->master) {
+ if (term->fdout != term->fdin)
+ EINTRLOOP(rs, close(term->fdout));
+ } else {
+ unhandle_terminal_signals(term);
+ free_all_itrms();
+#ifndef NO_FORK_ON_EXIT
+ if (!list_empty(terminals)) {
+ pid_t rp;
+ EINTRLOOP(rp, fork());
+ if (rp > 0) _exit(0);
+ }
+#endif
+ }
+#ifdef G
+ } else {
+ drv->shutdown_device(term->dev);
+#endif
+ }
+ mem_free(term);
+ check_if_no_terminal();
+}
+
+void destroy_all_terminals(void)
+{
+ struct terminal *term;
+ while ((void *)(term = terminals.next) != &terminals) destroy_terminal(term);
+}
+
+static void check_if_no_terminal(void)
+{
+ if (!list_empty(terminals)) return;
+ terminate_loop = 1;
+}
+
+void set_char(struct terminal *t, int x, int y, unsigned ch, unsigned at)
+{
+ NO_GFX;
+ t->dirty = 1;
+ if (x >= 0 && x < t->x && y >= 0 && y < t->y) {
+ chr *cc = &t->screen[x + t->x * y];
+ cc->ch = ch;
+ cc->at = at;
+ }
+}
+
+chr *get_char(struct terminal *t, int x, int y)
+{
+ NO_GFX;
+ if (x >= t->x) x = t->x - 1;
+ if (x < 0) x = 0;
+ if (y >= t->y) y = t->y - 1;
+ if (y < 0) y = 0;
+ return &t->screen[x + t->x * y];
+}
+
+void set_color(struct terminal *t, int x, int y, unsigned c)
+{
+ NO_GFX;
+ t->dirty = 1;
+ if (x >= 0 && x < t->x && y >= 0 && y < t->y) t->screen[x + t->x * y].at = (t->screen[x + t->x * y].at & ATTR_FRAME) | (c & ~ATTR_FRAME);
+}
+
+void set_only_char(struct terminal *t, int x, int y, unsigned ch, unsigned at)
+{
+ chr *cc;
+ NO_GFX;
+ t->dirty = 1;
+ cc = get_char(t, x, y);
+ at = (at & ATTR_FRAME) | (cc->at & ~ATTR_FRAME);
+ set_char(t, x, y, ch, at);
+}
+
+void set_line(struct terminal *t, int x, int y, int l, chr *line)
+{
+ int i;
+ chr *cc;
+ NO_GFX;
+ t->dirty = 1;
+ if (y < 0 || y >= t->y) return;
+ i = x >= 0 ? 0 : -x;
+ cc = &t->screen[x+i + t->x * y];
+ line = &line[i];
+ i = (x+l <= t->x ? l : t->x-x) - i;
+ if (i <= 0) return;
+ memcpy(cc, line, i * sizeof(chr));
+}
+
+void set_line_color(struct terminal *t, int x, int y, int l, unsigned c)
+{
+ int i;
+ NO_GFX;
+ t->dirty = 1;
+ if (y < 0 || y >= t->y) return;
+ for (i = x >= 0 ? 0 : -x; i < (x+l <= t->x ? l : t->x-x); i++)
+ t->screen[x+i + t->x * y].at = (t->screen[x+i + t->x * y].at & ATTR_FRAME) | (c & ~ATTR_FRAME);
+}
+
+void fill_area(struct terminal *t, int x, int y, int xw, int yw, unsigned ch, unsigned at)
+{
+ int i,j;
+ NO_GFX;
+ t->dirty = 1;
+ for (j = y >= 0 ? 0 : -y; j < yw && y+j < t->y; j++) {
+ chr *cc;
+ i = x >= 0 ? 0 : -x;
+ cc = &t->screen[x+i + t->x*(y+j)];
+ for (; i < xw && x+i < t->x; i++) {
+ cc->ch = ch;
+ cc->at = at;
+ cc++;
+ }
+ }
+}
+
+static int p1[] = { 218, 191, 192, 217, 179, 196 };
+static int p2[] = { 201, 187, 200, 188, 186, 205 };
+
+void draw_frame(struct terminal *t, int x, int y, int xw, int yw, unsigned c, int w)
+{
+ int *p = w > 1 ? p2 : p1;
+ NO_GFX;
+ c |= ATTR_FRAME;
+ set_char(t, x, y, p[0], c);
+ set_char(t, x+xw-1, y, p[1], c);
+ set_char(t, x, y+yw-1, p[2], c);
+ set_char(t, x+xw-1, y+yw-1, p[3], c);
+ fill_area(t, x, y+1, 1, yw-2, p[4], c);
+ fill_area(t, x+xw-1, y+1, 1, yw-2, p[4], c);
+ fill_area(t, x+1, y, xw-2, 1, p[5], c);
+ fill_area(t, x+1, y+yw-1, xw-2, 1, p[5], c);
+}
+
+void print_text(struct terminal *t, int x, int y, int l, unsigned char *text, unsigned c)
+{
+ NO_GFX;
+ for (; l--; x++) {
+ unsigned u = GET_TERM_CHAR(t, &text);
+ if (!u) break;
+ set_char(t, x, y, u, c);
+ }
+}
+
+void set_cursor(struct terminal *term, int x, int y, int altx, int alty)
+{
+ NO_GFX;
+ term->dirty = 1;
+ if (term->spec->block_cursor && !term->spec->braille) x = altx, y = alty;
+ if (x >= term->x) x = term->x - 1;
+ if (y >= term->y) y = term->y - 1;
+ if (x < 0) x = 0;
+ if (y < 0) y = 0;
+ term->cx = x;
+ term->cy = y;
+}
+
+void exec_thread(unsigned char *path, int p)
+{
+ int rs;
+#if defined(HAVE_SETPGID) && !defined(BEOS) && !defined(HAVE_BEGINTHREAD)
+ if (path[0] == 2)
+ EINTRLOOP(rs, setpgid(0, 0));
+#endif
+ exe(path + 1, path[0]);
+ if (path[1 + strlen(path + 1) + 1])
+ EINTRLOOP(rs, unlink(path + 1 + strlen(path + 1) + 1));
+}
+
+void close_handle(void *p)
+{
+ long h = (my_intptr_t)p;
+ int rs;
+ EINTRLOOP(rs, close(h));
+ set_handlers(h, NULL, NULL, NULL, NULL);
+}
+
+static void unblock_terminal(struct terminal *term)
+{
+ close_handle((void *)(my_intptr_t)term->blocked);
+ term->blocked = -1;
+ if (!F) {
+ set_handlers(term->fdin, (void (*)(void *))in_term, NULL, (void (*)(void *))destroy_terminal, term);
+ unblock_itrm(term->fdin);
+ redraw_terminal_cls(term);
+#ifdef G
+ } else {
+ drv->unblock(term->dev);
+#endif
+ }
+}
+
+void exec_on_terminal(struct terminal *term, unsigned char *path, unsigned char *delete, int fg)
+{
+ int rs;
+ if (path && !*path) return;
+ if (!path) path="";
+#ifdef NO_FG_EXEC
+ fg = 0;
+#endif
+ if (term->master) {
+ if (!*path) {
+ if (!F) dispatch_special(delete);
+ } else {
+ long blockh;
+ unsigned char *param;
+ if ((!F ? is_blocked() : term->blocked != -1) && fg) {
+ EINTRLOOP(rs, unlink(delete));
+ return;
+ }
+ param = mem_alloc(strlen(path) + strlen(delete) + 3);
+ param[0] = fg;
+ strcpy(param + 1, path);
+ strcpy(param + 1 + strlen(path) + 1, delete);
+ if (fg == 1) {
+ if (!F) block_itrm(term->fdin);
+#ifdef G
+ else if (drv->block(term->dev)) {
+ mem_free(param);
+ EINTRLOOP(rs, unlink(delete));
+ return;
+ }
+#endif
+ }
+ if ((blockh = start_thread((void (*)(void *, int))exec_thread, param, strlen(path) + strlen(delete) + 3)) == -1) {
+ if (fg == 1) {
+ if (!F) unblock_itrm(term->fdin);
+#ifdef G
+ else drv->unblock(term->dev);
+#endif
+ }
+ mem_free(param);
+ return;
+ }
+ mem_free(param);
+ if (fg == 1) {
+ term->blocked = blockh;
+ set_handlers(blockh, (void (*)(void *))unblock_terminal, NULL, (void (*)(void *))unblock_terminal, term);
+ if (!F) set_handlers(term->fdin, NULL, NULL, (void (*)(void *))destroy_terminal, term);
+ /*block_itrm(term->fdin);*/
+ } else {
+ set_handlers(blockh, close_handle, NULL, close_handle, (void *)blockh);
+ }
+ }
+ } else {
+ unsigned char *data;
+ data = mem_alloc(strlen(path) + strlen(delete) + 4);
+ data[0] = 0;
+ data[1] = fg;
+ strcpy(data + 2, path);
+ strcpy(data + 3 + strlen(path), delete);
+ hard_write(term->fdout, data, strlen(path) + strlen(delete) + 4);
+ mem_free(data);
+ }
+}
+
+void do_terminal_function(struct terminal *term, unsigned char code, unsigned char *data)
+{
+ unsigned char *x_data;
+ NO_GFX;
+ x_data = mem_alloc(strlen(data) + 2);
+ x_data[0] = code;
+ strcpy(x_data + 1, data);
+ exec_on_terminal(term, NULL, x_data, 0);
+ mem_free(x_data);
+}
+
+void set_terminal_title(struct terminal *term, unsigned char *title)
+{
+ int i;
+ for (i = 0; i < 10000; i++) if (!title[i]) goto s;
+ title[10000] = 0;
+ s:
+ if (strchr(title, 1)) {
+ unsigned char *a, *b;
+ for (a = title, b = title; *a; a++) if (*a != 1) *b++ = *a;
+ *b = 0;
+ }
+ if (term->title && !strcmp(title, term->title)) goto ret;
+ if (term->title) mem_free(term->title);
+ term->title = stracpy(title);
+#ifdef SET_WINDOW_TITLE_UTF_8
+ {
+ struct conv_table *table;
+ mem_free(title);
+ table = get_translation_table(term->spec->charset, utf8_table);
+ title = convert_string(table, term->title, strlen(term->title), NULL);
+ }
+#endif
+ if (!F) do_terminal_function(term, TERM_FN_TITLE, title);
+#ifdef G
+ else if (drv->set_title) drv->set_title(term->dev, title);
+#endif
+ ret:
+ mem_free(title);
+}
diff --git a/tiff.c b/tiff.c
new file mode 100644
index 0000000..65ec6e0
--- /dev/null
+++ b/tiff.c
@@ -0,0 +1,276 @@
+/* tiff.c
+ * TIFF image decoding
+ * (c) 2002 Petr 'Brain' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ *
+ * Compiles in graphics mode only and only when HAVE_TIFF.
+ */
+#include "cfg.h"
+
+#ifdef G
+#include "links.h"
+
+#ifdef HAVE_TIFF
+#include <tiffio.h>
+#include "bits.h"
+
+void tiff_start(struct cached_image *cimg)
+{
+ struct tiff_decoder * deco;
+
+ deco=mem_alloc(sizeof(struct tiff_decoder));
+
+ cimg->decoder=deco;
+ deco->tiff_size=0;
+ deco->tiff_data=NULL;
+ deco->tiff_open=0;
+ deco->tiff_pos=0;
+}
+
+
+void tiff_restart(struct cached_image *cimg, unsigned char *data, int length)
+{
+ struct tiff_decoder * deco=(struct tiff_decoder*)cimg->decoder;
+ unsigned char *p;
+
+ if (!deco->tiff_data) {
+ if ((unsigned)length > MAXINT) overalloc();
+ p=mem_alloc(length);
+ } else {
+ if ((unsigned)length + (unsigned)deco->tiff_size > MAXINT) overalloc();
+ if ((unsigned)length + (unsigned)deco->tiff_size < (unsigned)length) overalloc();
+ p=mem_realloc(deco->tiff_data,deco->tiff_size+length);
+ }
+ deco->tiff_data=p;
+ memcpy(deco->tiff_data+deco->tiff_size,data,length);
+ deco->tiff_size+=length;
+}
+
+static toff_t tiff_size(thandle_t data)
+{
+ struct cached_image *cimg=(struct cached_image *)data;
+ struct tiff_decoder *deco=(struct tiff_decoder*)cimg->decoder;
+
+ if (!deco->tiff_open)internal("BUG IN LIBTIFF: sizeproc called on closed file. Contact the libtiff authors.\n");
+
+ return deco->tiff_size;
+}
+
+
+static tsize_t tiff_read(thandle_t data, tdata_t dest, tsize_t count)
+{
+ struct cached_image *cimg=(struct cached_image *)data;
+ struct tiff_decoder *deco=(struct tiff_decoder*)cimg->decoder;
+
+ if (!deco->tiff_open)internal("BUG IN LIBTIFF: readproc called on closed file. Contact the libtiff authors.\n");
+
+ if (count < 0)
+ return 0;
+
+ if (count > deco->tiff_size-deco->tiff_pos)
+ count = deco->tiff_size-deco->tiff_pos;
+ memcpy(dest,deco->tiff_data+deco->tiff_pos,count);
+ deco->tiff_pos+=count;
+ return count;
+}
+
+
+static tsize_t tiff_write(thandle_t data, tdata_t dest, tsize_t count)
+{
+ internal("BUG IN LIBTIFF: writeproc called on read-only file. Contact the libtiff authors.\n");
+ return 0;
+}
+
+
+static toff_t tiff_seek(thandle_t data, toff_t offset, int whence)
+{
+ struct cached_image *cimg=(struct cached_image *)data;
+ struct tiff_decoder *deco=(struct tiff_decoder*)cimg->decoder;
+ long pos;
+
+ if (!deco->tiff_open)internal("BUG IN LIBTIFF: seekproc called on closed file. Contact the libtiff authors.\n");
+
+ switch(whence)
+ {
+ case SEEK_SET:
+ pos = offset;
+ break;
+ case SEEK_CUR:
+ pos = (unsigned long)deco->tiff_pos + offset;
+ break;
+ case SEEK_END:
+ pos = (unsigned long)deco->tiff_size + offset;
+ break;
+ default:
+ pos = deco->tiff_pos;
+ break;
+ }
+ if (pos > deco->tiff_size) pos = deco->tiff_size;
+ if (pos < 0) pos = 0;
+ deco->tiff_pos = pos;
+ return deco->tiff_pos;
+}
+
+
+static int tiff_close(void *data)
+{
+ struct cached_image *cimg=(struct cached_image *)data;
+ struct tiff_decoder *deco=(struct tiff_decoder*)cimg->decoder;
+
+ if (!deco->tiff_open)internal("BUG IN LIBTIFF: closeproc called on closed file. Contact the libtiff authors.\n");
+ if (deco->tiff_data)mem_free(deco->tiff_data),deco->tiff_data=NULL;
+ deco->tiff_open=0;
+ return 0;
+}
+
+
+static int tiff_mmap(thandle_t data, tdata_t *dest, toff_t *len)
+{
+ struct cached_image *cimg=(struct cached_image *)data;
+ struct tiff_decoder *deco=(struct tiff_decoder*)cimg->decoder;
+
+ if (!deco->tiff_open)internal("BUG IN LIBTIFF: mapproc called on closed file. Contact the libtiff authors.\n");
+ *dest=deco->tiff_data;
+ *len=deco->tiff_size;
+ return 0;
+}
+
+
+static void tiff_munmap(thandle_t data, tdata_t dest, toff_t len)
+{
+ struct cached_image *cimg=(struct cached_image *)data;
+ struct tiff_decoder *deco=(struct tiff_decoder*)cimg->decoder;
+
+ if (!deco->tiff_open)internal("BUG IN LIBTIFF: unmapproc called on closed file. Contact the libtiff authors.\n");
+}
+
+
+static void tiff_error_handler(const char* module, const char* fmt, va_list ap)
+{
+}
+
+static void flip_buffer(void *buf,int width,int height)
+{
+ if (htonl(0x12345678L)!=0x12345678L) /* little endian --- ja to chci na intelu rychly!!! */
+ {
+#ifdef t4c
+ t4c* buffer=(t4c*)buf;
+ register t4c a,b;
+ t4c *p,*q;
+ int i,l;
+
+ for (l=0,p=buffer,q=buffer+width*(height-1);l<(height>>1);l++,q-=(width<<1))
+ for (i=0;i<width;a=*p,b=*q,*p++=b,*q++=a,i++)
+ ;
+#else
+ unsigned char* buffer=(unsigned char*)buf;
+ unsigned char *p,*q;
+ int l;
+ unsigned char *tmp;
+ int w=4*width;
+
+ if ((unsigned)w > MAXINT) overalloc();
+ tmp=mem_alloc(w*sizeof(unsigned char));
+
+ /* tohle je pomalejsi, protoze se kopiruje pamet->pamet, pamet->pamet */
+ /* kdyz mame 4B typek, tak se kopiruje pamet->reg, reg->pamet */
+ for (l=0,p=buffer,q=buffer+w*(height-1);l<(height>>1);l++,q-=w,p+=w)
+ memcpy(tmp,p,w),memcpy(p,q,w),memcpy(q,tmp,w);
+ mem_free(tmp);
+#endif
+ }
+ else /* big endian */
+ {
+ unsigned char zakazany_uvolneni[4];
+ unsigned char* buffer=(unsigned char*)buf;
+ int w=width<<2; /* 4 bytes per pixel */
+ unsigned char *p,*q;
+ int i,l;
+
+ for (l=0,p=buffer,q=buffer+w*(height-1);l<(height>>1);l++,q-=(w<<1))
+ for (i=0;i<width;i++,p+=4,q+=4)
+ {
+ memcpy(zakazany_uvolneni,p,4);
+ p[0]=q[3];
+ p[1]=q[2];
+ p[2]=q[1];
+ p[3]=q[0];
+ q[0]=zakazany_uvolneni[3];
+ q[1]=zakazany_uvolneni[2];
+ q[2]=zakazany_uvolneni[1];
+ q[3]=zakazany_uvolneni[0];
+ }
+ if (height&1) /* flip endianity of line in the middle (if the height is odd) */
+ for (i=0;i<width;i++,p+=4)
+ {
+ memcpy(zakazany_uvolneni,p,4);
+ p[0]=zakazany_uvolneni[3];
+ p[1]=zakazany_uvolneni[2];
+ p[2]=zakazany_uvolneni[1];
+ p[3]=zakazany_uvolneni[0];
+ }
+ }
+}
+
+void tiff_finish(struct cached_image *cimg)
+{
+ struct tiff_decoder *deco=(struct tiff_decoder*)cimg->decoder;
+ int bla;
+ TIFF *t;
+
+ if (!deco->tiff_size){img_end(cimg);return;}
+ deco->tiff_open=1;
+ TIFFSetErrorHandler(tiff_error_handler);
+ TIFFSetWarningHandler(tiff_error_handler);
+ t=TIFFClientOpen(
+ "Prave si rek' svy posledni slova. A vybral sis k tomu prihodny misto.",
+ "r",
+ cimg,
+ (TIFFReadWriteProc)tiff_read,
+ (TIFFReadWriteProc)tiff_write,
+ (TIFFSeekProc)tiff_seek,
+ (TIFFCloseProc)tiff_close,
+ (TIFFSizeProc)tiff_size,
+ (TIFFMapFileProc)tiff_mmap,
+ (TIFFUnmapFileProc)tiff_munmap
+ );
+ if (!t){img_end(cimg);return;}
+ bla=TIFFGetField(t, TIFFTAG_IMAGEWIDTH, &(cimg->width));
+ if (!bla){TIFFClose(t);img_end(cimg);return;}
+ bla=TIFFGetField(t, TIFFTAG_IMAGELENGTH, &(cimg->height));
+ if (!bla){TIFFClose(t);img_end(cimg);return;}
+ cimg->buffer_bytes_per_pixel=4;
+ cimg->red_gamma=cimg->green_gamma=cimg->blue_gamma=sRGB_gamma;
+ cimg->strip_optimized=0;
+ if (header_dimensions_known(cimg)){TIFFClose(t);img_end(cimg);return;}
+/* int TIFFReadRGBAImage(TIFF* tif, u_long width, u_long height, u_long* raster, int stopOnError) from man page */
+ /*TIFFReadRGBAImage(t,cimg->width,cimg->height,(unsigned long*)(cimg->buffer),1);*/ /* 231: warning: passing arg 4 of `TIFFReadRGBAImage' from incompatible pointer type */
+ TIFFReadRGBAImage(t,cimg->width,cimg->height,(void*)(cimg->buffer),1);
+ TIFFClose(t);
+
+ /* For some reason the TIFFReadRGBAImage() function chooses the lower
+ * left corner as the origin. Vertically mirror scanlines.
+ */
+ flip_buffer((void*)(cimg->buffer),cimg->width,cimg->height);
+
+ img_end(cimg);
+}
+
+void add_tiff_version(unsigned char **s, int *l)
+{
+ unsigned char *p, *pp;
+ int pl;
+ add_to_str(s, l, "TIFF (");
+ p = (unsigned char *)TIFFGetVersion();
+ pp = strstr(p, "LIBTIFF, ");
+ if (pp) p = pp + 9;
+ pp = strstr(p, "Version ");
+ if (pp) p = pp + 8;
+ pl = strcspn(p, " \n");
+ add_bytes_to_str(s, l, p, pl);
+ add_to_str(s, l, ")");
+}
+
+#endif /* #ifdef HAVE_TIFF */
+
+#endif /* #ifdef G */
diff --git a/types.c b/types.c
new file mode 100644
index 0000000..2237794
--- /dev/null
+++ b/types.c
@@ -0,0 +1,1201 @@
+/* types.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+
+/*------------------------ ASSOCIATIONS -----------------------*/
+
+/* DECLARATIONS */
+
+static void assoc_edit_item(struct dialog_data *,void *,void (*)(struct dialog_data *,void *,void *,struct list_description *),void *, unsigned char);
+static void assoc_copy_item(void *, void *);
+static void *assoc_new_item(void *);
+static void assoc_delete_item(void *);
+static void *assoc_find_item(void *start, unsigned char *str, int direction);
+static unsigned char *assoc_type_item(struct terminal *, void *, int);
+
+
+struct list assoc={&assoc,&assoc,0,-1,NULL};
+
+static struct history assoc_search_history = { 0, { &assoc_search_history.items, &assoc_search_history.items } };
+
+struct assoc_ok_struct{
+ void (*fn)(struct dialog_data *,void *,void *,struct list_description *);
+ void *data;
+ struct dialog_data *dlg;
+};
+
+
+static struct list_description assoc_ld={
+ 0, /* 0= flat; 1=tree */
+ &assoc, /* list */
+ assoc_new_item,
+ assoc_edit_item,
+ NULL,
+ assoc_delete_item,
+ assoc_copy_item,
+ assoc_type_item,
+ assoc_find_item,
+ &assoc_search_history,
+ 0, /* this is set in init_assoc function */
+ 15, /* # of items in main window */
+ T_ASSOCIATION,
+ T_ASSOCIATIONS_ALREADY_IN_USE,
+ T_ASSOCIATIONS_MANAGER,
+ T_DELETE_ASSOCIATION,
+ 0, /* no button */
+ NULL, /* no button */
+ NULL, /* no save*/
+
+ NULL,NULL,0,0, /* internal vars */
+ 0, /* modified */
+ NULL,
+ NULL,
+ 1,
+};
+
+static void *assoc_new_item(void *ignore)
+{
+ struct assoc *new;
+
+ new = mem_calloc(sizeof(struct assoc));
+ new->label = stracpy("");
+ new->ct = stracpy("");
+ new->prog = stracpy("");
+ new->block = new->xwin = new->cons = 1;
+ new->ask = 1;
+ new->accept_http = 0;
+ new->accept_ftp = 0;
+ new->type = 0;
+ new->system = SYSTEM_ID;
+ return new;
+}
+
+static void assoc_delete_item(void *data)
+{
+ struct assoc *del=(struct assoc *)data;
+ struct assoc *next=del->next;
+ struct assoc *prev=del->prev;
+
+ if (del->label)mem_free(del->label);
+ if (del->ct)mem_free(del->ct);
+ if (del->prog)mem_free(del->prog);
+ if (next)next->prev=del->prev;
+ if (prev)prev->next=del->next;
+ mem_free(del);
+}
+
+static void assoc_copy_item(void *in, void *out)
+{
+ struct assoc *item_in=(struct assoc *)in;
+ struct assoc *item_out=(struct assoc *)out;
+
+ item_out->cons=item_in->cons;
+ item_out->xwin=item_in->xwin;
+ item_out->block=item_in->block;
+ item_out->ask=item_in->ask;
+ item_out->accept_http=item_in->accept_http;
+ item_out->accept_ftp=item_in->accept_ftp;
+ item_out->system=item_in->system;
+
+ if (item_out->label)mem_free(item_out->label);
+ if (item_out->ct)mem_free(item_out->ct);
+ if (item_out->prog)mem_free(item_out->prog);
+
+ item_out->label=stracpy(item_in->label);
+ item_out->ct=stracpy(item_in->ct);
+ item_out->prog=stracpy(item_in->prog);
+}
+
+/* allocate string and print association into it */
+/* x: 0=type all, 1=type title only */
+static unsigned char *assoc_type_item(struct terminal *term, void *data, int x)
+{
+ unsigned char *txt, *txt1;
+ struct conv_table *table;
+ struct assoc* item=(struct assoc*)data;
+
+ if ((struct list*)item==(&assoc))return stracpy(_(TEXT_(T_ASSOCIATIONS),term));
+ txt=stracpy("");
+ if (item->system != SYSTEM_ID) add_to_strn(&txt, "XX ");
+ add_to_strn(&txt, item->label);
+ if (item->ct){add_to_strn(&txt,": ");add_to_strn(&txt,item->ct);}
+ if (!x)
+ {
+ add_to_strn(&txt," -> ");
+ if (item->prog)add_to_strn(&txt,item->prog);
+ }
+ table=get_translation_table(assoc_ld.codepage,term->spec->charset);
+ txt1=convert_string(table,txt,strlen(txt),NULL);
+ mem_free(txt);
+
+ return txt1;
+}
+
+void menu_assoc_manager(struct terminal *term,void *fcp,struct session *ses)
+{
+ create_list_window(&assoc_ld,&assoc,term,ses);
+}
+
+static unsigned char *ct_msg[] = {
+ TEXT_(T_LABEL),
+ TEXT_(T_CONTENT_TYPES),
+ TEXT_(T_PROGRAM__IS_REPLACED_WITH_FILE_NAME),
+#ifdef ASSOC_BLOCK
+ TEXT_(T_BLOCK_TERMINAL_WHILE_PROGRAM_RUNNING),
+#endif
+#ifdef ASSOC_CONS_XWIN
+ TEXT_(T_RUN_ON_TERMINAL),
+ TEXT_(T_RUN_IN_XWINDOW),
+#endif
+ TEXT_(T_ASK_BEFORE_OPENING),
+ TEXT_(T_ACCEPT_HTTP),
+ TEXT_(T_ACCEPT_FTP),
+};
+
+static void assoc_edit_item_fn(struct dialog_data *dlg)
+{
+ struct terminal *term = dlg->win->term;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = gf_val(-1, -G_BFU_FONT_SIZE);
+ int p = 3;
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+#ifdef ASSOC_BLOCK
+ p++;
+#endif
+#ifdef ASSOC_CONS_XWIN
+ p += 2;
+#endif
+ max_text_width(term, ct_msg[0], &max, AL_LEFT);
+ min_text_width(term, ct_msg[0], &min, AL_LEFT);
+ max_text_width(term, ct_msg[1], &max, AL_LEFT);
+ min_text_width(term, ct_msg[1], &min, AL_LEFT);
+ max_text_width(term, ct_msg[2], &max, AL_LEFT);
+ min_text_width(term, ct_msg[2], &min, AL_LEFT);
+ max_group_width(term, ct_msg + 3, dlg->items + 3, p, &max);
+ min_group_width(term, ct_msg + 3, dlg->items + 3, p, &min);
+ max_buttons_width(term, dlg->items + 3 + p, 2, &max);
+ min_buttons_width(term, dlg->items + 3 + p, 2, &min);
+ w = term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ if (w > term->x - 2 * DIALOG_LB) w = term->x - 2 * DIALOG_LB;
+ if (w < 1) w = 1;
+ rw = 0;
+ dlg_format_text_and_field(dlg, NULL, _(ct_msg[0], term), &dlg->items[0], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE * 1);
+ dlg_format_text_and_field(dlg, NULL, _(ct_msg[1], term), &dlg->items[1], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE * 1);
+ dlg_format_text_and_field(dlg, NULL, _(ct_msg[2], term), &dlg->items[2], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE * 1);
+ dlg_format_group(dlg, NULL, ct_msg + 3, dlg->items + 3, p, 0, &y, w, &rw);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, NULL, dlg->items + 3 + p, 2, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = w + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB;
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, ct_msg[0], &dlg->items[0], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, ct_msg[1], &dlg->items[1], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, ct_msg[2], &dlg->items[2], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_group(dlg, term, ct_msg + 3, &dlg->items[3], p, dlg->x + DIALOG_LB, &y, w, NULL);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, term, &dlg->items[3 + p], 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER);
+}
+
+/* Puts url and title into the bookmark item */
+static void assoc_edit_done(void *data)
+{
+ struct dialog *d=(struct dialog*)data;
+ struct assoc *item=(struct assoc *)d->udata;
+ struct assoc_ok_struct* s=(struct assoc_ok_struct*)d->udata2;
+ unsigned char *txt;
+ struct conv_table *table;
+ unsigned char *label, *ct, *prog;
+
+ label=(unsigned char *)&d->items[12];
+ ct=label+MAX_STR_LEN;
+ prog=ct+MAX_STR_LEN;
+
+ table=get_translation_table(s->dlg->win->term->spec->charset,assoc_ld.codepage);
+ txt=convert_string(table,label,strlen(label),NULL);
+ mem_free(item->label); item->label=txt;
+
+ txt=convert_string(table,ct,strlen(ct),NULL);
+ mem_free(item->ct); item->ct=txt;
+
+ txt=convert_string(table,prog,strlen(prog),NULL);
+ mem_free(item->prog); item->prog=txt;
+
+ s->fn(s->dlg,s->data,item,&assoc_ld);
+ d->udata=NULL; /* for abort function */
+}
+
+/* destroys an item, this function is called when edit window is aborted */
+static void assoc_edit_abort(struct dialog_data *data)
+{
+ struct assoc *item=(struct assoc*)data->dlg->udata;
+ struct dialog *dlg=data->dlg;
+
+ mem_free(dlg->udata2);
+ if (item)assoc_delete_item(item);
+}
+
+static void assoc_edit_item(struct dialog_data *dlg, void *data, void (*ok_fn)(struct dialog_data *, void *, void *, struct list_description *), void *ok_arg, unsigned char dlg_title)
+{
+ int p;
+ struct assoc *new=(struct assoc*)data;
+ struct terminal *term=dlg->win->term;
+ struct dialog *d;
+ struct assoc_ok_struct *s;
+ unsigned char *ct, *prog, *label;
+
+ d = mem_calloc(sizeof(struct dialog) + 11 * sizeof(struct dialog_item) + 3 * MAX_STR_LEN);
+
+ label=(unsigned char *)&d->items[12];
+ ct=label+MAX_STR_LEN;
+ prog=ct+MAX_STR_LEN;
+
+ if (new->label)safe_strncpy(label,new->label,MAX_STR_LEN);
+ if (new->ct)safe_strncpy(ct,new->ct,MAX_STR_LEN);
+ if (new->prog)safe_strncpy(prog,new->prog,MAX_STR_LEN);
+
+ /* Create the dialog */
+ s=mem_alloc(sizeof(struct assoc_ok_struct));
+ s->fn=ok_fn;
+ s->data=ok_arg;
+ s->dlg=dlg;
+
+ switch (dlg_title)
+ {
+ case TITLE_EDIT:
+ d->title=TEXT_(T_EDIT_ASSOCIATION);
+ break;
+
+ case TITLE_ADD:
+ d->title=TEXT_(T_ADD_ASSOCIATION);
+ break;
+
+ default:
+ internal("Unsupported dialog title.\n");
+ }
+
+ d->udata=data;
+ d->udata2=s;
+ d->fn = assoc_edit_item_fn;
+ d->abort=assoc_edit_abort;
+ d->refresh=assoc_edit_done;
+ d->refresh_data = d;
+ d->items[0].type = D_FIELD;
+ d->items[0].dlen = MAX_STR_LEN;
+ d->items[0].data = label;
+ d->items[0].fn = check_nonempty;
+ d->items[1].type = D_FIELD;
+ d->items[1].dlen = MAX_STR_LEN;
+ d->items[1].data = ct;
+ d->items[1].fn = check_nonempty;
+ d->items[2].type = D_FIELD;
+ d->items[2].dlen = MAX_STR_LEN;
+ d->items[2].data = prog;
+ d->items[2].fn = check_nonempty;
+ p = 3;
+#ifdef ASSOC_BLOCK
+ d->items[p].type = D_CHECKBOX;
+ d->items[p].data = (unsigned char *)&new->block;
+ d->items[p++].dlen = sizeof(int);
+#endif
+#ifdef ASSOC_CONS_XWIN
+ d->items[p].type = D_CHECKBOX;
+ d->items[p].data = (unsigned char *)&new->cons;
+ d->items[p++].dlen = sizeof(int);
+ d->items[p].type = D_CHECKBOX;
+ d->items[p].data = (unsigned char *)&new->xwin;
+ d->items[p++].dlen = sizeof(int);
+#endif
+ d->items[p].type = D_CHECKBOX;
+ d->items[p].data = (unsigned char *)&new->ask;
+ d->items[p++].dlen = sizeof(int);
+ d->items[p].type = D_CHECKBOX;
+ d->items[p].data = (unsigned char *)&new->accept_http;
+ d->items[p++].dlen = sizeof(int);
+ d->items[p].type = D_CHECKBOX;
+ d->items[p].data = (unsigned char *)&new->accept_ftp;
+ d->items[p++].dlen = sizeof(int);
+ d->items[p].type = D_BUTTON;
+ d->items[p].gid = B_ENTER;
+ d->items[p].fn = ok_dialog;
+ d->items[p++].text = TEXT_(T_OK);
+ d->items[p].type = D_BUTTON;
+ d->items[p].gid = B_ESC;
+ d->items[p].text = TEXT_(T_CANCEL);
+ d->items[p++].fn = cancel_dialog;
+ d->items[p++].type = D_END;
+ do_dialog(term, d, getml(d, NULL));
+}
+
+static void *assoc_find_item(void *start, unsigned char *str, int direction)
+{
+ struct assoc *a,*s=(struct assoc *)start;
+
+ if (direction==1)
+ {
+ for (a=s->next; a!=s; a=a->next)
+ if (a->depth>-1)
+ {
+ if (a->label && casestrstr(a->label,str)) return a;
+ if (a->ct && casestrstr(a->ct,str)) return a;
+ }
+ }
+ else
+ {
+ for (a=s->prev; a!=s; a=a->prev)
+ if (a->depth>-1)
+ {
+ if (a->label && casestrstr(a->label,str)) return a;
+ if (a->ct && casestrstr(a->ct,str)) return a;
+ }
+ }
+ if (a==s&&a->depth>-1&&a->label && casestrstr(a->label,str)) return a;
+ if (a==s&&a->depth>-1&&a->ct && casestrstr(a->ct,str)) return a;
+
+ return NULL;
+}
+
+
+void update_assoc(struct assoc *new)
+{
+ struct assoc *repl;
+ if (!new->label[0] || !new->ct[0] || !new->prog[0]) return;
+ foreach(repl, assoc) if (!strcmp(repl->label, new->label)
+ && !strcmp(repl->ct, new->ct)
+ && !strcmp(repl->prog, new->prog)
+ && repl->block == new->block
+ && repl->cons == new->cons
+ && repl->xwin == new->xwin
+ && repl->ask == new->ask
+ && repl->accept_http == new->accept_http
+ && repl->accept_ftp == new->accept_ftp
+ && repl->system == new->system) {
+ del_from_list(repl);
+ add_to_list(assoc, repl);
+ return;
+ }
+ repl = mem_calloc(sizeof(struct assoc));
+ add_to_list(assoc, repl);
+ repl->label = stracpy(new->label);
+ repl->ct = stracpy(new->ct);
+ repl->prog = stracpy(new->prog);
+ repl->block = new->block;
+ repl->cons = new->cons;
+ repl->xwin = new->xwin;
+ repl->ask = new->ask;
+ repl->accept_http = new->accept_http;
+ repl->accept_ftp = new->accept_ftp;
+ repl->system = new->system;
+ repl->type = 0;
+ /*new->system = new->system; co to je? */
+}
+
+/*------------------------ EXTENSIONS -----------------------*/
+
+/* DECLARATIONS */
+static void ext_edit_item(struct dialog_data *,void *,void (*)(struct dialog_data *,void *,void *,struct list_description *),void *, unsigned char);
+static void ext_copy_item(void *, void *);
+static void *ext_new_item(void *);
+static void ext_delete_item(void *);
+static void *ext_find_item(void *start, unsigned char *str, int direction);
+static unsigned char *ext_type_item(struct terminal *, void *, int);
+
+struct list extensions = { &extensions, &extensions, 0, -1, NULL };
+
+static struct history ext_search_history = { 0, { &ext_search_history.items, &ext_search_history.items } };
+
+
+static struct list_description ext_ld={
+ 0, /* 0= flat; 1=tree */
+ &extensions, /* list */
+ ext_new_item,
+ ext_edit_item,
+ NULL,
+ ext_delete_item,
+ ext_copy_item,
+ ext_type_item,
+ ext_find_item,
+ &ext_search_history,
+ 0, /* this is set in init_assoc function */
+ 15, /* # of items in main window */
+ T_eXTENSION,
+ T_EXTENSIONS_ALREADY_IN_USE,
+ T_EXTENSIONS_MANAGER,
+ T_DELETE_EXTENSION,
+ 0, /* no button */
+ NULL, /* no button */
+ NULL, /* no save*/
+
+ NULL,NULL,0,0, /* internal vars */
+ 0, /* modified */
+ NULL,
+ NULL,
+ 0,
+};
+
+
+
+
+
+static void *ext_new_item(void *ignore)
+{
+ struct extension *new;
+
+ new = mem_calloc(sizeof(struct extension));
+ new->ext = stracpy("");
+ new->ct = stracpy("");
+ new->type=0;
+ return new;
+}
+
+
+static void ext_delete_item(void *data)
+{
+ struct extension *del=(struct extension *)data;
+ struct extension *next=del->next;
+ struct extension *prev=del->prev;
+
+ if (del->ext)mem_free(del->ext);
+ if (del->ct)mem_free(del->ct);
+ if (next)next->prev=del->prev;
+ if (prev)prev->next=del->next;
+ mem_free(del);
+}
+
+
+static void ext_copy_item(void *in, void *out)
+{
+ struct extension *item_in=(struct extension *)in;
+ struct extension *item_out=(struct extension *)out;
+
+ if (item_out->ext)mem_free(item_out->ext);
+ if (item_out->ct)mem_free(item_out->ct);
+
+ item_out->ext=stracpy(item_in->ext);
+ item_out->ct=stracpy(item_in->ct);
+}
+
+
+/* allocate string and print extension into it */
+/* x: 0=type all, 1=type title only */
+static unsigned char *ext_type_item(struct terminal *term, void *data, int x)
+{
+ unsigned char *txt, *txt1;
+ struct conv_table *table;
+ struct extension* item=(struct extension*)data;
+
+ if ((struct list*)item==(&extensions)) return stracpy(_(TEXT_(T_FILE_EXTENSIONS),term));
+ txt=stracpy(item->ext);
+ if (item->ct){add_to_strn(&txt,": ");add_to_strn(&txt,item->ct);}
+ table=get_translation_table(assoc_ld.codepage,term->spec->charset);
+ txt1=convert_string(table,txt,strlen(txt),NULL);
+ mem_free(txt);
+
+ return txt1;
+}
+
+
+void menu_ext_manager(struct terminal *term,void *fcp,struct session *ses)
+{
+ create_list_window(&ext_ld,&extensions,term,ses);
+}
+
+static unsigned char *ext_msg[] = {
+ TEXT_(T_EXTENSION_S),
+ TEXT_(T_CONTENT_TYPE),
+};
+
+static void ext_edit_item_fn(struct dialog_data *dlg)
+{
+ struct terminal *term = dlg->win->term;
+ int max = 0, min = 0;
+ int w, rw;
+ int y = gf_val(-1, -G_BFU_FONT_SIZE);
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ max_text_width(term, ext_msg[0], &max, AL_LEFT);
+ min_text_width(term, ext_msg[0], &min, AL_LEFT);
+ max_text_width(term, ext_msg[1], &max, AL_LEFT);
+ min_text_width(term, ext_msg[1], &min, AL_LEFT);
+ max_buttons_width(term, dlg->items + 2, 2, &max);
+ min_buttons_width(term, dlg->items + 2, 2, &min);
+ w = term->x * 9 / 10 - 2 * DIALOG_LB;
+ if (w > max) w = max;
+ if (w < min) w = min;
+ if (w > term->x - 2 * DIALOG_LB) w = term->x - 2 * DIALOG_LB;
+ if (w < 1) w = 1;
+ rw = 0;
+ dlg_format_text_and_field(dlg, NULL, ext_msg[0], &dlg->items[0], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE * 1);
+ dlg_format_text_and_field(dlg, NULL, ext_msg[1], &dlg->items[1], 0, &y, w, &rw, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE * 1);
+ dlg_format_buttons(dlg, NULL, dlg->items + 2, 2, 0, &y, w, &rw, AL_CENTER);
+ w = rw;
+ dlg->xw = w + 2 * DIALOG_LB;
+ dlg->yw = y + 2 * DIALOG_TB;
+ center_dlg(dlg);
+ draw_dlg(dlg);
+ y = dlg->y + DIALOG_TB;
+ if (dlg->win->term->spec->braille) y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, ext_msg[0], &dlg->items[0], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_text_and_field(dlg, term, ext_msg[1], &dlg->items[1], dlg->x + DIALOG_LB, &y, w, NULL, COLOR_DIALOG_TEXT, AL_LEFT);
+ y += gf_val(1, G_BFU_FONT_SIZE);
+ dlg_format_buttons(dlg, term, &dlg->items[2], 2, dlg->x + DIALOG_LB, &y, w, NULL, AL_CENTER);
+}
+
+
+/* Puts url and title into the bookmark item */
+static void ext_edit_done(void *data)
+{
+ struct dialog *d=(struct dialog*)data;
+ struct extension *item=(struct extension *)d->udata;
+ struct assoc_ok_struct* s=(struct assoc_ok_struct*)d->udata2;
+ unsigned char *txt;
+ struct conv_table *table;
+ unsigned char *ext, *ct;
+
+ ext=(unsigned char *)&d->items[5];
+ ct=ext+MAX_STR_LEN;
+
+ table=get_translation_table(s->dlg->win->term->spec->charset,ext_ld.codepage);
+ txt=convert_string(table,ext,strlen(ext),NULL);
+ mem_free(item->ext); item->ext=txt;
+
+ txt=convert_string(table,ct,strlen(ct),NULL);
+ mem_free(item->ct); item->ct=txt;
+
+ s->fn(s->dlg,s->data,item,&ext_ld);
+ d->udata=NULL; /* for abort function */
+}
+
+
+/* destroys an item, this function is called when edit window is aborted */
+static void ext_edit_abort(struct dialog_data *data)
+{
+ struct extension *item=(struct extension*)data->dlg->udata;
+ struct dialog *dlg=data->dlg;
+
+ mem_free(dlg->udata2);
+ if (item)ext_delete_item(item);
+}
+
+
+static void ext_edit_item(struct dialog_data *dlg, void *data, void (*ok_fn)(struct dialog_data *, void *, void *, struct list_description *), void *ok_arg, unsigned char dlg_title)
+{
+ struct extension *new=(struct extension*)data;
+ struct terminal *term=dlg->win->term;
+ struct dialog *d;
+ struct assoc_ok_struct *s;
+ unsigned char *ext;
+ unsigned char *ct;
+
+ d = mem_calloc(sizeof(struct dialog) + 4 * sizeof(struct dialog_item) + 2 * MAX_STR_LEN);
+
+ ext=(unsigned char *)&d->items[5];
+ ct = ext + MAX_STR_LEN;
+ if (new->ext)safe_strncpy(ext, new->ext, MAX_STR_LEN);
+ if (new->ct)safe_strncpy(ct, new->ct, MAX_STR_LEN);
+
+ /* Create the dialog */
+ s=mem_alloc(sizeof(struct assoc_ok_struct));
+ s->fn=ok_fn;
+ s->data=ok_arg;
+ s->dlg=dlg;
+
+ switch (dlg_title)
+ {
+ case TITLE_EDIT:
+ d->title=TEXT_(T_EDIT_EXTENSION);
+ break;
+
+ case TITLE_ADD:
+ d->title=TEXT_(T_ADD_EXTENSION);
+ break;
+
+ default:
+ internal("Unsupported dialog title.\n");
+ }
+
+ d->udata=data;
+ d->udata2=s;
+ d->abort=ext_edit_abort;
+ d->refresh=ext_edit_done;
+ d->refresh_data = d;
+ d->title = TEXT_(T_EXTENSION);
+ d->fn = ext_edit_item_fn;
+ d->items[0].type = D_FIELD;
+ d->items[0].dlen = MAX_STR_LEN;
+ d->items[0].data = ext;
+ d->items[0].fn = check_nonempty;
+ d->items[1].type = D_FIELD;
+ d->items[1].dlen = MAX_STR_LEN;
+ d->items[1].data = ct;
+ d->items[1].fn = check_nonempty;
+ d->items[2].type = D_BUTTON;
+ d->items[2].gid = B_ENTER;
+ d->items[2].fn = ok_dialog;
+ d->items[2].text = TEXT_(T_OK);
+ d->items[3].type = D_BUTTON;
+ d->items[3].gid = B_ESC;
+ d->items[3].text = TEXT_(T_CANCEL);
+ d->items[3].fn = cancel_dialog;
+ d->items[4].type = D_END;
+ do_dialog(term, d, getml(d, NULL));
+}
+
+
+static void *ext_find_item(void *start, unsigned char *str, int direction)
+{
+ struct extension *e,*s=(struct extension *)start;
+
+
+ if (direction==1)
+ {
+ for (e=s->next; e!=s; e=e->next)
+ if (e->depth>-1)
+ {
+ if (e->ext && casestrstr(e->ext,str)) return e;
+ if (e->ct && casestrstr(e->ct,str)) return e;
+ }
+ }
+ else
+ {
+ for (e=s->prev; e!=s; e=e->prev)
+ if (e->depth>-1)
+ {
+ if (e->ext && casestrstr(e->ext,str)) return e;
+ if (e->ct && casestrstr(e->ct,str)) return e;
+ }
+ }
+ if (e==s&&e->depth>-1&&e->ext && casestrstr(e->ext,str)) return e;
+ if (e==s&&e->depth>-1&&e->ct && casestrstr(e->ct,str)) return e;
+
+ return NULL;
+}
+
+
+void update_ext(struct extension *new)
+{
+ struct extension *repl;
+ if (!new->ext[0] || !new->ct[0]) return;
+ foreach(repl, extensions) if (!strcmp(repl->ext, new->ext) && !strcmp(repl->ct, new->ct)) {
+ del_from_list(repl);
+ add_to_list(extensions, repl);
+ return;
+ }
+ repl = mem_calloc(sizeof(struct extension));
+ add_to_list(extensions, repl);
+ repl->ext = stracpy(new->ext);
+ repl->ct = stracpy(new->ct);
+ repl->type=0;
+}
+
+void update_prog(struct list_head *l, unsigned char *p, int s)
+{
+ struct protocol_program *repl;
+ foreach(repl, *l) if (repl->system == s) {
+ mem_free(repl->prog);
+ goto ss;
+ }
+ repl = mem_alloc(sizeof(struct protocol_program));
+ add_to_list(*l, repl);
+ repl->system = s;
+ ss:
+ repl->prog = mem_alloc(MAX_STR_LEN);
+ safe_strncpy(repl->prog, p, MAX_STR_LEN);
+}
+
+unsigned char *get_prog(struct list_head *l)
+{
+ struct protocol_program *repl;
+ foreach(repl, *l) if (repl->system == SYSTEM_ID) return repl->prog;
+ update_prog(l, "", SYSTEM_ID);
+ foreach(repl, *l) if (repl->system == SYSTEM_ID) return repl->prog;
+ return NULL;
+}
+
+
+/* creates default extensions if extension list is empty */
+void create_initial_extensions(void)
+{
+ struct extension ext;
+
+ if (!list_empty(extensions))return;
+
+ /* here you can add any default extension you want */
+ ext.ext="aif,aiff,aifc",ext.ct="audio/x-aiff",update_ext(&ext);
+ ext.ext="au,snd",ext.ct="audio/basic",update_ext(&ext);
+ ext.ext="avi",ext.ct="video/x-msvideo",update_ext(&ext);
+ ext.ext="deb",ext.ct="application/x-debian-package",update_ext(&ext);
+ ext.ext="dl",ext.ct="video/dl",update_ext(&ext);
+ ext.ext="dxf",ext.ct="application/dxf",update_ext(&ext);
+ ext.ext="dvi",ext.ct="application/x-dvi",update_ext(&ext);
+ ext.ext="fli",ext.ct="video/fli",update_ext(&ext);
+ ext.ext="g",ext.ct="application/brlcad",update_ext(&ext);
+ ext.ext="gbr",ext.ct="application/gerber",update_ext(&ext);
+ ext.ext="gif",ext.ct="image/gif",update_ext(&ext);
+ ext.ext="gl",ext.ct="video/gl",update_ext(&ext);
+ ext.ext="grb",ext.ct="application/gerber",update_ext(&ext);
+ ext.ext="jpg,jpeg,jpe",ext.ct="image/jpeg",update_ext(&ext);
+ ext.ext="mid,midi",ext.ct="audio/midi",update_ext(&ext);
+ ext.ext="mpeg,mpg,mpe",ext.ct="video/mpeg",update_ext(&ext);
+ ext.ext="pbm",ext.ct="image/x-portable-bitmap",update_ext(&ext);
+ ext.ext="pcb",ext.ct="application/pcb",update_ext(&ext);
+ ext.ext="pdf",ext.ct="application/pdf",update_ext(&ext);
+ ext.ext="pgm",ext.ct="image/x-portable-graymap",update_ext(&ext);
+ ext.ext="pgp",ext.ct="application/pgp-signature",update_ext(&ext);
+ ext.ext="png",ext.ct="image/png",update_ext(&ext);
+ ext.ext="pnm",ext.ct="image/x-portable-anymap",update_ext(&ext);
+ ext.ext="ppm",ext.ct="image/x-portable-pixmap",update_ext(&ext);
+ ext.ext="ppt",ext.ct="application/powerpoint",update_ext(&ext);
+ ext.ext="ps,eps,ai",ext.ct="application/postscript",update_ext(&ext);
+ ext.ext="qt,mov",ext.ct="video/quicktime",update_ext(&ext);
+ ext.ext="ra,rm,ram",ext.ct="audio/x-pn-realaudio",update_ext(&ext);
+ ext.ext="rtf",ext.ct="application/rtf",update_ext(&ext);
+ ext.ext="sch",ext.ct="application/gschem",update_ext(&ext);
+ ext.ext="svg",ext.ct="image/svg",update_ext(&ext);
+ ext.ext="swf",ext.ct="application/x-shockwave-flash",update_ext(&ext);
+ ext.ext="sxw",ext.ct="application/x-openoffice",update_ext(&ext);
+ ext.ext="tga",ext.ct="image/targa",update_ext(&ext);
+ ext.ext="tiff,tif",ext.ct="image/tiff",update_ext(&ext);
+ ext.ext="wav",ext.ct="audio/x-wav",update_ext(&ext);
+ ext.ext="xbm",ext.ct="image/x-xbitmap",update_ext(&ext);
+ ext.ext="xls",ext.ct="application/excel",update_ext(&ext);
+ ext.ext="xpm",ext.ct="image/x-xpixmap",update_ext(&ext);
+}
+
+/* --------------------------- PROG -----------------------------*/
+
+
+struct list_head mailto_prog = { &mailto_prog, &mailto_prog };
+struct list_head telnet_prog = { &telnet_prog, &telnet_prog };
+struct list_head tn3270_prog = { &tn3270_prog, &tn3270_prog };
+struct list_head mms_prog = { &mms_prog, &mms_prog };
+struct list_head magnet_prog = { &magnet_prog, &magnet_prog };
+
+
+static int is_in_list(unsigned char *list, unsigned char *str, int l)
+{
+ unsigned char *l2, *l3;
+ if (!l) return 0;
+ rep:
+ while (*list && *list <= ' ') list++;
+ if (!*list) return 0;
+ for (l2 = list; *l2 && *l2 != ','; l2++)
+ ;
+ for (l3 = l2 - 1; l3 >= list && *l3 <= ' '; l3--)
+ ;
+ l3++;
+ if (l3 - list == l && !casecmp(str, list, l)) return 1;
+ list = l2;
+ if (*list == ',') list++;
+ goto rep;
+}
+
+unsigned char *get_compress_by_extension(unsigned char *ext, unsigned char *ext_end)
+{
+ size_t len = ext_end - ext;
+ if (len == 1 && !casecmp(ext, "z", 1)) return "compress";
+ if (len == 2 && !casecmp(ext, "gz", 2)) return "gzip";
+ if (len == 3 && !casecmp(ext, "tgz", 3)) return "gzip";
+ if (len == 3 && !casecmp(ext, "bz2", 3)) return "bzip2";
+ if (len == 4 && !casecmp(ext, "lzma", 4)) return "lzma";
+ if (len == 2 && !casecmp(ext, "xz", 2)) return "lzma2";
+ return NULL;
+}
+
+unsigned char *get_content_type_by_extension(unsigned char *url)
+{
+ struct extension *e;
+ struct assoc *a;
+ unsigned char *ct, *eod, *ext, *exxt;
+ int extl, el;
+ ext = NULL, extl = 0;
+ if (!(ct = get_url_data(url))) ct = url;
+ for (eod = ct; *eod && !end_of_dir(url, *eod); eod++)
+ ;
+ for (; ct < eod; ct++)
+ if (*ct == '.') {
+ if (ext) {
+ if (get_compress_by_extension(ct + 1, eod))
+ break;
+ }
+ ext = ct + 1;
+ } else if (dir_sep(*ct)) {
+ ext = NULL;
+ }
+ if (ext) while (ext[extl] && ext[extl] != '.' && !dir_sep(ext[extl]) && !end_of_dir(url, ext[extl])) extl++;
+ if ((extl == 3 && !casecmp(ext, "htm", 3)) ||
+ (extl == 4 && !casecmp(ext, "html", 4))) return stracpy("text/html");
+ foreach(e, extensions) {
+ unsigned char *fname = NULL;
+ if (!(ct = get_url_data(url))) ct = url;
+ for (; *ct && !end_of_dir(url, *ct); ct++)
+ if (dir_sep(*ct)) fname = ct + 1;
+ if (!fname) {
+ if (is_in_list(e->ext, ext, extl)) return stracpy(e->ct);
+ } else {
+ int fnlen = 0;
+ int x;
+ while (fname[fnlen] && !end_of_dir(url, fname[fnlen])) fnlen++;
+ for (x = 0; x < fnlen; x++) if (fname[x] == '.') if (is_in_list(e->ext, fname + x + 1, fnlen - x - 1)) return stracpy(e->ct);
+ }
+ }
+
+ if ((extl == 3 && !casecmp(ext, "jpg", 3)) ||
+ (extl == 4 && !casecmp(ext, "pjpg", 4))||
+ (extl == 4 && !casecmp(ext, "jpeg", 4))||
+ (extl == 5 && !casecmp(ext, "pjpeg", 5))) return stracpy("image/jpeg");
+ if ((extl == 3 && !casecmp(ext, "png", 3))) return stracpy("image/png");
+ if ((extl == 3 && !casecmp(ext, "gif", 3))) return stracpy("image/gif");
+ if ((extl == 3 && !casecmp(ext, "xbm", 3))) return stracpy("image/x-xbitmap");
+ if ((extl == 3 && !casecmp(ext, "tif", 3)) ||
+ (extl == 4 && !casecmp(ext, "tiff", 4))) return stracpy("image/tiff");
+ exxt = init_str(); el = 0;
+ add_to_str(&exxt, &el, "application/x-");
+ add_bytes_to_str(&exxt, &el, ext, extl);
+ foreach(a, assoc) if (is_in_list(a->ct, exxt, el)) return exxt;
+ mem_free(exxt);
+ return NULL;
+}
+
+static unsigned char *get_content_type_by_header_and_extension(unsigned char *head, unsigned char *url)
+{
+ unsigned char *ct, *file;
+ ct = get_content_type_by_extension(url);
+ if (ct) return ct;
+ file = get_filename_from_header(head);
+ if (file) {
+ ct = get_content_type_by_extension(file);
+ mem_free(file);
+ if (ct) return ct;
+ }
+ return NULL;
+}
+
+static unsigned char *get_extension_by_content_type(unsigned char *ct)
+{
+ struct extension *e;
+ unsigned char *x, *y;
+ if (is_html_type(ct)) return stracpy("html");
+ foreach(e, extensions) {
+ if (!strcasecmp(e->ct, ct)) {
+ x = stracpy(e->ext);
+ if ((y = strchr(x, ','))) *y = 0;
+ return x;
+ }
+ }
+ if (!strcasecmp(ct, "image/jpeg") ||
+ !strcasecmp(ct, "image/jpg") ||
+ !strcasecmp(ct, "image/jpe") ||
+ !strcasecmp(ct, "image/pjpe") ||
+ !strcasecmp(ct, "image/pjpeg") ||
+ !strcasecmp(ct, "image/pjpg"))
+ return stracpy("jpg");
+ if (!strcasecmp(ct, "image/png") ||
+ !strcasecmp(ct, "image/x-png"))
+ return stracpy("png");
+ if (!strcasecmp(ct, "image/gif"))
+ return stracpy("gif");
+ if (!strcasecmp(ct, "image/x-bitmap"))
+ return stracpy("xbm");
+ if (!strcasecmp(ct, "image/tiff") ||
+ !strcasecmp(ct, "image/tif"))
+ return stracpy("tiff");
+ if (!cmpbeg(ct, "application/x-")) {
+ x = ct + strlen("application/x-");
+ if (strcasecmp(x, "z") &&
+ strcasecmp(x, "gz") &&
+ strcasecmp(x, "gzip") &&
+ strcasecmp(x, "bz2") &&
+ strcasecmp(x, "bzip2") &&
+ strcasecmp(x, "lzma") &&
+ strcasecmp(x, "lzma2") &&
+ strcasecmp(x, "xz") &&
+ !strchr(x, '-') &&
+ strlen(x) <= 4) {
+ return stracpy(x);
+ }
+ }
+ return NULL;
+}
+
+static unsigned char *get_content_encoding_from_content_type(unsigned char *ct)
+{
+ if (!strcasecmp(ct, "application/x-gzip") ||
+ !strcasecmp(ct, "application/x-tgz")) return "gzip";
+ if (!strcasecmp(ct, "application/x-bzip2") ||
+ !strcasecmp(ct, "application/x-bzip")) return "bzip2";
+ if (!strcasecmp(ct, "application/x-lzma")) return "lzma";
+ if (!strcasecmp(ct, "application/x-lzma2") ||
+ !strcasecmp(ct, "application/x-xz")) return "lzma2";
+ return NULL;
+}
+
+unsigned char *get_content_type(unsigned char *head, unsigned char *url)
+{
+ unsigned char *ct;
+ int code;
+ if ((ct = parse_http_header(head, "Content-Type", NULL))) {
+ unsigned char *s;
+ if ((s = strchr(ct, ';'))) *s = 0;
+ while (*ct && ct[strlen(ct) - 1] <= ' ') ct[strlen(ct) - 1] = 0;
+ if (*ct == '"' && ct[1] && ct[strlen(ct) - 1] == '"') {
+ memmove(ct, ct + 1, strlen(ct));
+ ct[strlen(ct) - 1] = 0;
+ }
+ if (!strcasecmp(ct, "text/plain") ||
+ !strcasecmp(ct, "application/octet-stream") ||
+ !strcasecmp(ct, "application/octetstream") ||
+ !strcasecmp(ct, "application/octet_stream") ||
+ get_content_encoding_from_content_type(ct)) {
+ unsigned char *ctt;
+ if (!get_http_code(head, &code, NULL) && code >= 300)
+ goto no_code_by_extension;
+ ctt = get_content_type_by_header_and_extension(head, url);
+ if (ctt) {
+ mem_free(ct);
+ return ctt;
+ }
+ }
+no_code_by_extension:
+ if (!*ct) mem_free(ct);
+ else return ct;
+ }
+ if (!get_http_code(head, &code, NULL) && code >= 300)
+ return stracpy("text/html");
+ ct = get_content_type_by_header_and_extension(head, url);
+ if (ct) return ct;
+ return !force_html ? stracpy("text/plain") : stracpy("text/html");
+}
+
+unsigned char *get_content_encoding(unsigned char *head, unsigned char *url)
+{
+ unsigned char *ce, *ct, *ext, *extd;
+ unsigned char *u;
+ int code;
+ if ((ce = parse_http_header(head, "Content-Encoding", NULL))) return ce;
+ if ((ct = parse_http_header(head, "Content-Type", NULL))) {
+ unsigned char *s;
+ if ((s = strchr(ct, ';'))) *s = 0;
+ ce = get_content_encoding_from_content_type(ct);
+ if (ce) {
+ mem_free(ct);
+ return stracpy(ce);
+ }
+ if (is_html_type(ct)) {
+ mem_free(ct);
+ return NULL;
+ }
+ mem_free(ct);
+ }
+ if (!get_http_code(head, &code, NULL) && code >= 300) return NULL;
+ if (!(ext = get_url_data(url))) ext = url;
+ for (u = ext; *u; u++) if (end_of_dir(url, *u)) goto skip_ext;
+ extd = strrchr(ext, '.');
+ if (extd) {
+ ce = get_compress_by_extension(extd + 1, strchr(extd + 1, 0));
+ if (ce) return stracpy(ce);
+ }
+ skip_ext:
+ if ((ext = get_filename_from_header(head))) {
+ extd = strrchr(ext, '.');
+ if (extd) {
+ ce = get_compress_by_extension(extd + 1, strchr(extd + 1, 0));
+ if (ce) {
+ mem_free(ext);
+ return stracpy(ce);
+ }
+ }
+ mem_free(ext);
+ }
+ return NULL;
+}
+
+unsigned char *encoding_2_extension(unsigned char *encoding)
+{
+ if (!strcasecmp(encoding, "gzip") || !strcasecmp(encoding, "x-gzip")) return "gz";
+ if (!strcasecmp(encoding, "compress") || !strcasecmp(encoding, "x-compress")) return "Z";
+ if (!strcasecmp(encoding, "bzip2")) return "bz2";
+ if (!strcasecmp(encoding, "lzma")) return "lzma";
+ if (!strcasecmp(encoding, "lzma2")) return "xz";
+ return NULL;
+}
+
+/* returns field with associations */
+struct assoc *get_type_assoc(struct terminal *term, unsigned char *type, int *n)
+{
+ struct assoc *assoc_array;
+ struct assoc *a;
+ int count=0;
+ foreach(a, assoc)
+ if (a->system == SYSTEM_ID && (term->environment & ENV_XWIN ? a->xwin : a->cons) && is_in_list(a->ct, type, strlen(type))) {
+ if (count == MAXINT) overalloc();
+ count++;
+ }
+ *n = count;
+ if (!count) return NULL;
+ if ((unsigned)count > MAXINT / sizeof(struct assoc)) overalloc();
+ assoc_array = mem_alloc(count*sizeof(struct assoc));
+ count = 0;
+ foreach(a, assoc)
+ if (a->system == SYSTEM_ID && (term->environment & ENV_XWIN ? a->xwin : a->cons) && is_in_list(a->ct, type, strlen(type)))
+ assoc_array[count++] = *a;
+ return assoc_array;
+}
+
+int is_html_type(unsigned char *ct)
+{
+ return !strcasecmp(ct, "text/html") ||
+ !strcasecmp(ct, "text/x-server-parsed-html") ||
+ !casecmp(ct, "application/xhtml", strlen("application/xhtml"));
+}
+
+unsigned char *get_filename_from_header(unsigned char *head)
+{
+ unsigned char *ct, *x, *y;
+ if ((ct = parse_http_header(head, "Content-Disposition", NULL))) {
+ x = parse_header_param(ct, "filename", 1);
+ mem_free(ct);
+ if (x) {
+ if (*x) goto ret_x;
+ mem_free(x);
+ }
+ }
+ if ((ct = parse_http_header(head, "Content-Type", NULL))) {
+ x = parse_header_param(ct, "name", 0);
+ mem_free(ct);
+ if (x) {
+ if (*x) goto ret_x;
+ mem_free(x);
+ }
+ }
+ return NULL;
+ ret_x:
+ for (y = x; *y; y++) if (dir_sep(*y)
+#if defined(DOS_FS) || defined(SPAD)
+ || *y == ':'
+#endif
+ ) *y = '-';
+ return x;
+}
+
+unsigned char *get_filename_from_url(unsigned char *url, unsigned char *head, int tmp)
+{
+ int ll = 0;
+ unsigned char *u, *s, *e, *f, *x;
+ unsigned char *ct, *want_ext;
+ want_ext = stracpy("");
+ f = get_filename_from_header(head);
+ if (f) {
+ goto no_ct;
+ }
+ if (!(u = get_url_data(url))) u = url;
+ for (e = s = u; *e && !end_of_dir(url, *e); e++) {
+ if (dir_sep(*e)) s = e + 1;
+ }
+ ll = 0;
+ f = init_str();
+ add_conv_str(&f, &ll, s, e - s, -2);
+ if (!(ct = parse_http_header(head, "Content-Type", NULL))) goto no_ct;
+ mem_free(ct);
+ ct = get_content_type(head, url);
+ if (ct) {
+ x = get_extension_by_content_type(ct);
+ if (x) {
+ add_to_strn(&want_ext, ".");
+ add_to_strn(&want_ext, x);
+ mem_free(x);
+ }
+ mem_free(ct);
+ }
+ no_ct:
+ if (!*want_ext) {
+ x = strrchr(f, '.');
+ if (x) {
+ mem_free(want_ext);
+ want_ext = stracpy(x);
+ }
+ }
+ ct = get_content_encoding(head, url);
+ if (ct) {
+ x = encoding_2_extension(ct);
+ if (!tmp) {
+ if (x) {
+ unsigned char *w = strrchr(want_ext, '.');
+ if (w && !strcasecmp(w, ".tgz") && !strcasecmp(x, "gz"))
+ goto skip_want_ext;
+ if (w && !strcasecmp(w + 1, x))
+ goto skip_want_ext;
+ add_to_strn(&want_ext, ".");
+ add_to_strn(&want_ext, x);
+ skip_want_ext:;
+ }
+ } else {
+ if (x) {
+ if (strlen(x) + 1 < strlen(f) && f[strlen(f) - strlen(x) - 1] == '.' && !strcasecmp(f + strlen(f) - strlen(x), x)) {
+ f[strlen(f) - strlen(x) - 1] = 0;
+ }
+ }
+ }
+ mem_free(ct);
+ }
+ if (strlen(want_ext) > strlen(f) || strcasecmp(want_ext, f + strlen(f) - strlen(want_ext))) {
+ x = strrchr(f, '.');
+ if (x && !strcasecmp(x, ".tgz") && !strcasecmp(want_ext, ".gz"))
+ goto skip_tgz_2;
+ if (x) *x = 0;
+ add_to_strn(&f, want_ext);
+ skip_tgz_2:;
+ }
+ mem_free(want_ext);
+ return f;
+}
+
+void free_types(void)
+{
+ struct assoc *a;
+ struct extension *e;
+ struct protocol_program *p;
+ foreach(a, assoc) {
+ mem_free(a->ct);
+ mem_free(a->prog);
+ mem_free(a->label);
+ }
+ free_list(assoc);
+ foreach(e, extensions) {
+ mem_free(e->ext);
+ mem_free(e->ct);
+ }
+ free_list(extensions);
+ foreach(p, mailto_prog) mem_free(p->prog);
+ free_list(mailto_prog);
+ foreach(p, telnet_prog) mem_free(p->prog);
+ free_list(telnet_prog);
+ foreach(p, tn3270_prog) mem_free(p->prog);
+ free_list(tn3270_prog);
+ foreach(p, mms_prog) mem_free(p->prog);
+ free_list(mms_prog);
+ foreach(p, magnet_prog) mem_free(p->prog);
+ free_list(magnet_prog);
+
+ free_list(ext_search_history.items);
+ free_list(assoc_search_history.items);
+}
+
diff --git a/uni_7b.inc b/uni_7b.inc
new file mode 100644
index 0000000..205dafe
--- /dev/null
+++ b/uni_7b.inc
@@ -0,0 +1,2324 @@
+/* Automatically generated by gen-7b */
+
+static struct { int x; unsigned char *s; } unicode_7b [2318] = {
+ { 0x0000, "NUL" },
+ { 0x0001, "SH" },
+ { 0x0002, "SX" },
+ { 0x0003, "EX" },
+ { 0x0004, "ET" },
+ { 0x0005, "ENQ" },
+ { 0x0006, "AK" },
+ { 0x0007, "BL" },
+ { 0x0008, "BS" },
+ { 0x0009, "HT" },
+ { 0x000a, "LF" },
+ { 0x000b, "VT" },
+ { 0x000c, "FF" },
+ { 0x000d, "CR" },
+ { 0x000e, "SO" },
+ { 0x000f, "SI" },
+ { 0x0010, "DL" },
+ { 0x0011, "DC1" },
+ { 0x0012, "DC2" },
+ { 0x0013, "DC3" },
+ { 0x0014, "DC4" },
+ { 0x0015, "NAK" },
+ { 0x0016, "SYN" },
+ { 0x0017, "EB" },
+ { 0x0018, "CN" },
+ { 0x0019, "EM" },
+ { 0x001a, "SB" },
+ { 0x001b, "ESC" },
+ { 0x001c, "FS" },
+ { 0x001d, "GS" },
+ { 0x001e, "RS" },
+ { 0x001f, "US" },
+ { 0x007f, "DT" },
+ { 0x00a0, "\001" },
+ { 0x00a1, "!" },
+ { 0x00a2, "-c-" },
+ { 0x00a3, "-L-" },
+ { 0x00a4, "CUR" },
+ { 0x00a5, "YEN" },
+ { 0x00a6, "|" },
+ { 0x00a7, "S:" },
+ { 0x00a8, "\"" },
+ { 0x00a9, "(c)" },
+ { 0x00aa, "-a" },
+ { 0x00ab, "<<" },
+ { 0x00ac, "NOT" },
+ { 0x00ad, "" },
+ { 0x00ad, "" },
+ { 0x00ae, "(R)" },
+ { 0x00af, "-" },
+ { 0x00b0, "DEG" },
+ { 0x00b1, "+-" },
+ { 0x00b2, "^2" },
+ { 0x00b3, "^3" },
+ { 0x00b4, "'" },
+ { 0x00b5, "u" },
+ { 0x00b6, "P:" },
+ { 0x00b7, "." },
+ { 0x00b8, "," },
+ { 0x00b9, "^1" },
+ { 0x00ba, "-o" },
+ { 0x00bb, ">>" },
+ { 0x00bc, " 1/4" },
+ { 0x00bd, " 1/2" },
+ { 0x00be, " 3/4" },
+ { 0x00bf, "?" },
+ { 0x00c0, "A" },
+ { 0x00c1, "A" },
+ { 0x00c2, "A" },
+ { 0x00c3, "A" },
+ { 0x00c4, "A:" },
+ { 0x00c5, "AA" },
+ { 0x00c6, "AE" },
+ { 0x00c7, "C," },
+ { 0x00c8, "E" },
+ { 0x00c9, "E" },
+ { 0x00ca, "E" },
+ { 0x00cb, "E" },
+ { 0x00cc, "I" },
+ { 0x00cd, "I" },
+ { 0x00ce, "I" },
+ { 0x00cf, "I" },
+ { 0x00d0, "D-" },
+ { 0x00d1, "N" },
+ { 0x00d2, "O" },
+ { 0x00d3, "O" },
+ { 0x00d4, "O" },
+ { 0x00d5, "O" },
+ { 0x00d6, "O:" },
+ { 0x00d7, " *" },
+ { 0x00d8, "O/" },
+ { 0x00d9, "U" },
+ { 0x00da, "U" },
+ { 0x00db, "U" },
+ { 0x00dc, "U:" },
+ { 0x00dd, "Y" },
+ { 0x00de, "TH" },
+ { 0x00df, "ss" },
+ { 0x00e0, "`a" },
+ { 0x00e1, "a" },
+ { 0x00e2, "a" },
+ { 0x00e3, "a" },
+ { 0x00e4, "a:" },
+ { 0x00e5, "aa" },
+ { 0x00e6, "ae" },
+ { 0x00e7, "c," },
+ { 0x00e8, "e" },
+ { 0x00e9, "e" },
+ { 0x00ea, "e" },
+ { 0x00eb, "e" },
+ { 0x00ec, "`i" },
+ { 0x00ed, "i" },
+ { 0x00ee, "i" },
+ { 0x00ef, "i" },
+ { 0x00f0, "d-" },
+ { 0x00f1, "n" },
+ { 0x00f2, "o" },
+ { 0x00f3, "o" },
+ { 0x00f4, "o" },
+ { 0x00f5, "o" },
+ { 0x00f6, "o:" },
+ { 0x00f7, "-:" },
+ { 0x00f8, "o/" },
+ { 0x00f9, "u" },
+ { 0x00fa, "u" },
+ { 0x00fb, "u" },
+ { 0x00fc, "u:" },
+ { 0x00fd, "y" },
+ { 0x00fe, "th" },
+ { 0x00ff, "y" },
+ { 0x0100, "A" },
+ { 0x0101, "a" },
+ { 0x0102, "A" },
+ { 0x0103, "a" },
+ { 0x0104, "A" },
+ { 0x0105, "a" },
+ { 0x0106, "C" },
+ { 0x0107, "c" },
+ { 0x0108, "C" },
+ { 0x0109, "c" },
+ { 0x010a, "C" },
+ { 0x010b, "c" },
+ { 0x010c, "C" },
+ { 0x010d, "c" },
+ { 0x010e, "D" },
+ { 0x010f, "d" },
+ { 0x0110, "D/" },
+ { 0x0111, "d/" },
+ { 0x0112, "E" },
+ { 0x0113, "e" },
+ { 0x0114, "E" },
+ { 0x0115, "e" },
+ { 0x0116, "E" },
+ { 0x0117, "e" },
+ { 0x0118, "E" },
+ { 0x0119, "e" },
+ { 0x011a, "E" },
+ { 0x011b, "e" },
+ { 0x011c, "G" },
+ { 0x011d, "g" },
+ { 0x011e, "G" },
+ { 0x011f, "g" },
+ { 0x0120, "G" },
+ { 0x0121, "g" },
+ { 0x0122, "G" },
+ { 0x0123, "g" },
+ { 0x0124, "H" },
+ { 0x0125, "h" },
+ { 0x0126, "H/" },
+ { 0x0127, "H" },
+ { 0x0128, "I" },
+ { 0x0129, "i" },
+ { 0x012a, "I" },
+ { 0x012b, "i" },
+ { 0x012c, "I" },
+ { 0x012d, "i" },
+ { 0x012e, "I" },
+ { 0x012f, "i" },
+ { 0x0130, "I" },
+ { 0x0131, "i" },
+ { 0x0132, "IJ" },
+ { 0x0133, "ij" },
+ { 0x0134, "J" },
+ { 0x0135, "j" },
+ { 0x0136, "K" },
+ { 0x0137, "k" },
+ { 0x0138, "kk" },
+ { 0x0139, "L" },
+ { 0x013a, "l" },
+ { 0x013b, "L" },
+ { 0x013c, "l" },
+ { 0x013d, "L" },
+ { 0x013e, "l" },
+ { 0x013f, "L." },
+ { 0x0140, "l." },
+ { 0x0141, "L" },
+ { 0x0142, "l" },
+ { 0x0143, "N" },
+ { 0x0144, "n" },
+ { 0x0145, "N" },
+ { 0x0146, "n" },
+ { 0x0147, "N" },
+ { 0x0148, "n" },
+ { 0x0149, "'n" },
+ { 0x014a, "NG" },
+ { 0x014b, "N" },
+ { 0x014c, "O" },
+ { 0x014d, "o" },
+ { 0x014e, "O" },
+ { 0x014f, "o" },
+ { 0x0150, "O\"" },
+ { 0x0151, "o\"" },
+ { 0x0152, "OE" },
+ { 0x0153, "oe" },
+ { 0x0154, "R" },
+ { 0x0155, "r" },
+ { 0x0156, "R" },
+ { 0x0157, "r" },
+ { 0x0158, "R" },
+ { 0x0159, "r" },
+ { 0x015a, "S" },
+ { 0x015b, "s" },
+ { 0x015c, "S" },
+ { 0x015d, "s" },
+ { 0x015e, "S" },
+ { 0x015f, "s" },
+ { 0x0160, "S" },
+ { 0x0161, "s" },
+ { 0x0162, "T" },
+ { 0x0163, "t" },
+ { 0x0164, "T" },
+ { 0x0165, "t" },
+ { 0x0166, "T/" },
+ { 0x0167, "t/" },
+ { 0x0168, "U" },
+ { 0x0169, "u" },
+ { 0x016a, "U" },
+ { 0x016b, "u" },
+ { 0x016c, "U" },
+ { 0x016d, "u" },
+ { 0x016e, "U" },
+ { 0x016f, "u" },
+ { 0x0170, "U\"" },
+ { 0x0171, "u\"" },
+ { 0x0172, "U" },
+ { 0x0173, "u" },
+ { 0x0174, "W" },
+ { 0x0175, "w" },
+ { 0x0176, "Y" },
+ { 0x0177, "y" },
+ { 0x0178, "Y" },
+ { 0x0179, "Z" },
+ { 0x017a, "z" },
+ { 0x017b, "Z" },
+ { 0x017c, "z" },
+ { 0x017d, "Z" },
+ { 0x017e, "z" },
+ { 0x017f, "s1" },
+ { 0x0187, "C2" },
+ { 0x0188, "c2" },
+ { 0x0191, "F2" },
+ { 0x0192, " f" },
+ { 0x0198, "K2" },
+ { 0x0199, "k2" },
+ { 0x01a0, "O9" },
+ { 0x01a1, "o9" },
+ { 0x01a2, "OI" },
+ { 0x01a3, "oi" },
+ { 0x01a6, "yr" },
+ { 0x01af, "U9" },
+ { 0x01b0, "u9" },
+ { 0x01b5, "Z/" },
+ { 0x01b6, "z/" },
+ { 0x01b7, "ED" },
+ { 0x01cd, "A" },
+ { 0x01ce, "a" },
+ { 0x01cf, "I" },
+ { 0x01d0, "i" },
+ { 0x01d1, "O" },
+ { 0x01d2, "o" },
+ { 0x01d3, "U" },
+ { 0x01d4, "u" },
+ { 0x01d5, "U:-" },
+ { 0x01d6, "u:-" },
+ { 0x01d7, "U:'" },
+ { 0x01d8, "u:'" },
+ { 0x01d9, "U:<" },
+ { 0x01da, "u:<" },
+ { 0x01db, "U:!" },
+ { 0x01dc, "u:!" },
+ { 0x01de, "A1" },
+ { 0x01df, "a1" },
+ { 0x01e0, "A7" },
+ { 0x01e1, "a7" },
+ { 0x01e2, "A3" },
+ { 0x01e3, "a3" },
+ { 0x01e4, "G/" },
+ { 0x01e5, "g/" },
+ { 0x01e6, "G" },
+ { 0x01e7, "g" },
+ { 0x01e8, "K" },
+ { 0x01e9, "k" },
+ { 0x01ea, "O" },
+ { 0x01eb, "o" },
+ { 0x01ec, "O1" },
+ { 0x01ed, "o1" },
+ { 0x01ee, "EZ" },
+ { 0x01ef, "ez" },
+ { 0x01f0, "j" },
+ { 0x01f4, "G" },
+ { 0x01f5, "g" },
+ { 0x01fa, "AA'" },
+ { 0x01fb, "aa'" },
+ { 0x01fc, "AE'" },
+ { 0x01fd, "ae'" },
+ { 0x01fe, "O/'" },
+ { 0x01ff, "o/'" },
+ { 0x0200, "A!!" },
+ { 0x0201, "a!!" },
+ { 0x0202, "A)" },
+ { 0x0203, "a)" },
+ { 0x0204, "E!!" },
+ { 0x0205, "e!!" },
+ { 0x0206, "E)" },
+ { 0x0207, "e)" },
+ { 0x0208, "I!!" },
+ { 0x0209, "i!!" },
+ { 0x020a, "I)" },
+ { 0x020b, "i)" },
+ { 0x020c, "O!!" },
+ { 0x020d, "o!!" },
+ { 0x020e, "O)" },
+ { 0x020f, "o)" },
+ { 0x0210, "R!!" },
+ { 0x0211, "r!!" },
+ { 0x0212, "R)" },
+ { 0x0213, "r)" },
+ { 0x0214, "U!!" },
+ { 0x0215, "u!!" },
+ { 0x0216, "U)" },
+ { 0x0217, "u)" },
+ { 0x0251, "A" },
+ { 0x0252, "A." },
+ { 0x0253, "b`" },
+ { 0x0254, "O" },
+ { 0x0256, "d." },
+ { 0x0257, "d`" },
+ { 0x0258, "@<umd>" },
+ { 0x0259, "@" },
+ { 0x025a, "R" },
+ { 0x025b, "E" },
+ { 0x025c, "V\"" },
+ { 0x025d, "R<umd>" },
+ { 0x025e, "O\"" },
+ { 0x025f, "J" },
+ { 0x0260, "g`" },
+ { 0x0261, "g" },
+ { 0x0262, "G" },
+ { 0x0263, "Q" },
+ { 0x0264, "o-" },
+ { 0x0265, "j<rnd>" },
+ { 0x0266, "h<?>" },
+ { 0x0268, "i\"" },
+ { 0x0269, "I" },
+ { 0x026a, "I" },
+ { 0x026b, "L" },
+ { 0x026c, "L" },
+ { 0x026d, "l." },
+ { 0x026e, "z<lat>" },
+ { 0x026f, "u-" },
+ { 0x0270, "j<vel>" },
+ { 0x0271, "M" },
+ { 0x0273, "n." },
+ { 0x0274, "n\"" },
+ { 0x0275, "@." },
+ { 0x0276, "&." },
+ { 0x0277, "U" },
+ { 0x0279, "r" },
+ { 0x027a, "*<lat>" },
+ { 0x027b, "r." },
+ { 0x027d, "*." },
+ { 0x027e, "*" },
+ { 0x0280, "R" },
+ { 0x0280, "r\"" },
+ { 0x0281, "g\"" },
+ { 0x0282, "s." },
+ { 0x0283, "S" },
+ { 0x0284, "J`" },
+ { 0x0287, "t!" },
+ { 0x0288, "t." },
+ { 0x0289, "u\"" },
+ { 0x028a, "U" },
+ { 0x028b, "r<lbd>" },
+ { 0x028c, "V" },
+ { 0x028d, "w<vls>" },
+ { 0x028e, "l^" },
+ { 0x028f, "I." },
+ { 0x0290, "z." },
+ { 0x0292, "ed" },
+ { 0x0294, "?" },
+ { 0x0295, "H<vcd>" },
+ { 0x0296, "l!" },
+ { 0x0297, "c!" },
+ { 0x0298, "p!" },
+ { 0x0299, "b<trl>" },
+ { 0x029b, "G`" },
+ { 0x029d, "j" },
+ { 0x029e, "k!" },
+ { 0x029f, "L" },
+ { 0x02a0, "q`" },
+ { 0x02b0, "<h>" },
+ { 0x02b1, "<?>" },
+ { 0x02b2, ";" },
+ { 0x02b3, "<r>" },
+ { 0x02b7, "<w>" },
+ { 0x02bb, ";S" },
+ { 0x02bc, "`" },
+ { 0x02c6, "^" },
+ { 0x02c7, "'<" },
+ { 0x02c9, "1-" },
+ { 0x02cb, "1!" },
+ { 0x02d0, ":" },
+ { 0x02d8, "'(" },
+ { 0x02d9, "'." },
+ { 0x02da, "'0" },
+ { 0x02db, "';" },
+ { 0x02dc, "~" },
+ { 0x02dd, "'\"" },
+ { 0x0303, "~" },
+ { 0x0321, ";" },
+ { 0x0322, "." },
+ { 0x0323, "." },
+ { 0x0324, "<?>" },
+ { 0x0325, "<o>" },
+ { 0x0329, "-" },
+ { 0x032a, "[" },
+ { 0x032b, "<w>" },
+ { 0x0334, "<H>" },
+ { 0x0334, "~" },
+ { 0x0374, "'" },
+ { 0x0375, "," },
+ { 0x037a, "j3" },
+ { 0x037e, "?%" },
+ { 0x0384, "'*" },
+ { 0x0385, "'%" },
+ { 0x0386, "A%" },
+ { 0x0387, ".*" },
+ { 0x0388, "E%" },
+ { 0x0389, "Y%" },
+ { 0x038a, "I%" },
+ { 0x038c, "O%" },
+ { 0x038e, "U%" },
+ { 0x038f, "W%" },
+ { 0x0390, "i3" },
+ { 0x0391, "A" },
+ { 0x0392, "B" },
+ { 0x0393, "G" },
+ { 0x0394, "D" },
+ { 0x0395, "E" },
+ { 0x0396, "Z" },
+ { 0x0397, "Y" },
+ { 0x0398, "TH" },
+ { 0x0399, "I" },
+ { 0x039a, "K" },
+ { 0x039b, "L" },
+ { 0x039c, "M" },
+ { 0x039d, "N" },
+ { 0x039e, "C" },
+ { 0x039f, "O" },
+ { 0x03a0, "P" },
+ { 0x03a1, "R" },
+ { 0x03a3, "S" },
+ { 0x03a4, "T" },
+ { 0x03a5, "U" },
+ { 0x03a6, "F" },
+ { 0x03a7, "X" },
+ { 0x03a8, "Q" },
+ { 0x03a9, "W" },
+ { 0x03aa, "J" },
+ { 0x03ab, "V*" },
+ { 0x03ac, "a%" },
+ { 0x03ad, "e%" },
+ { 0x03ae, "y%" },
+ { 0x03af, "i%" },
+ { 0x03b0, "u3" },
+ { 0x03b1, "a" },
+ { 0x03b2, "b" },
+ { 0x03b3, "g" },
+ { 0x03b4, "d" },
+ { 0x03b5, "e" },
+ { 0x03b6, "z" },
+ { 0x03b7, "y" },
+ { 0x03b8, "th" },
+ { 0x03b9, "i" },
+ { 0x03ba, "k" },
+ { 0x03bb, "l" },
+ { 0x03bc, "m" },
+ { 0x03bd, "n" },
+ { 0x03be, "c" },
+ { 0x03bf, "o" },
+ { 0x03c0, "p" },
+ { 0x03c1, "r" },
+ { 0x03c2, "*s" },
+ { 0x03c3, "s" },
+ { 0x03c4, "t" },
+ { 0x03c5, "u" },
+ { 0x03c6, "f" },
+ { 0x03c7, "x" },
+ { 0x03c8, "q" },
+ { 0x03c9, "w" },
+ { 0x03ca, "j" },
+ { 0x03cb, "v*" },
+ { 0x03cc, "o%" },
+ { 0x03cd, "u%" },
+ { 0x03ce, "w%" },
+ { 0x03d0, "beta " },
+ { 0x03d1, "theta " },
+ { 0x03d2, "upsi " },
+ { 0x03d5, "phi " },
+ { 0x03d6, "pi " },
+ { 0x03da, "T3" },
+ { 0x03db, "t3" },
+ { 0x03dc, "M3" },
+ { 0x03dd, "m3" },
+ { 0x03de, "K3" },
+ { 0x03df, "k3" },
+ { 0x03e0, "P3" },
+ { 0x03e1, "p3" },
+ { 0x03f0, "kappa " },
+ { 0x03f1, "rho " },
+ { 0x03f4, "'%" },
+ { 0x03f5, "j3" },
+ { 0x0401, "YO" },
+ { 0x0402, "D%" },
+ { 0x0403, "G%" },
+ { 0x0404, "IE" },
+ { 0x0405, "DS" },
+ { 0x0406, "I~" },
+ { 0x0407, "YI" },
+ { 0x0408, "J%" },
+ { 0x0409, "LJ" },
+ { 0x040a, "NJ" },
+ { 0x040b, "Ts" },
+ { 0x040c, "KJ" },
+ { 0x040e, "V%" },
+ { 0x040f, "DZ" },
+ { 0x0410, "A" },
+ { 0x0411, "B" },
+ { 0x0412, "V" },
+ { 0x0413, "G" },
+ { 0x0414, "D" },
+ { 0x0415, "E" },
+ { 0x0416, "ZH" },
+ { 0x0417, "Z" },
+ { 0x0418, "I" },
+ { 0x0419, "J" },
+ { 0x041a, "K" },
+ { 0x041b, "L" },
+ { 0x041c, "M" },
+ { 0x041d, "N" },
+ { 0x041e, "O" },
+ { 0x041f, "P" },
+ { 0x0420, "R" },
+ { 0x0421, "S" },
+ { 0x0422, "T" },
+ { 0x0423, "U" },
+ { 0x0424, "F" },
+ { 0x0425, "H" },
+ { 0x0426, "C" },
+ { 0x0427, "CH" },
+ { 0x0428, "SH" },
+ { 0x0429, "SHCH" },
+ { 0x042a, "~" },
+ { 0x042b, "Y" },
+ { 0x042c, "'" },
+ { 0x042d, "E'" },
+ { 0x042e, "YU" },
+ { 0x042f, "YA" },
+ { 0x0430, "a" },
+ { 0x0431, "b" },
+ { 0x0432, "v" },
+ { 0x0433, "g" },
+ { 0x0434, "d" },
+ { 0x0435, "e" },
+ { 0x0436, "zh" },
+ { 0x0437, "z" },
+ { 0x0438, "i" },
+ { 0x0439, "j" },
+ { 0x043a, "k" },
+ { 0x043b, "l" },
+ { 0x043c, "m" },
+ { 0x043d, "n" },
+ { 0x043e, "o" },
+ { 0x043f, "p" },
+ { 0x0440, "r" },
+ { 0x0441, "s" },
+ { 0x0442, "t" },
+ { 0x0443, "u" },
+ { 0x0444, "f" },
+ { 0x0445, "h" },
+ { 0x0446, "c" },
+ { 0x0447, "ch" },
+ { 0x0448, "sh" },
+ { 0x0449, "shch" },
+ { 0x044a, "~" },
+ { 0x044b, "y" },
+ { 0x044c, "'" },
+ { 0x044d, "e'" },
+ { 0x044e, "yu" },
+ { 0x044f, "ya" },
+ { 0x0451, "yo" },
+ { 0x0452, "d%" },
+ { 0x0453, "g%" },
+ { 0x0454, "ie" },
+ { 0x0455, "ds" },
+ { 0x0456, "i~" },
+ { 0x0457, "yi" },
+ { 0x0458, "j%" },
+ { 0x0459, "lj" },
+ { 0x045a, "nj" },
+ { 0x045b, "ts" },
+ { 0x045c, "kj" },
+ { 0x045e, "v%" },
+ { 0x045f, "dz" },
+ { 0x0462, "E~" },
+ { 0x0463, "e~" },
+ { 0x046a, "O3" },
+ { 0x046b, "o3" },
+ { 0x0472, "~F" },
+ { 0x0473, "~f" },
+ { 0x0474, "~V" },
+ { 0x0475, "~v" },
+ { 0x0480, "C3" },
+ { 0x0481, "c3" },
+ { 0x0490, "G3" },
+ { 0x0491, "g3" },
+ { 0x05b4, "i" },
+ { 0x05b7, "a" },
+ { 0x05b8, "o" },
+ { 0x05bc, "u" },
+ { 0x05bf, "h" },
+ { 0x05c2, ":" },
+ { 0x05d0, "#" },
+ { 0x05d1, "B+" },
+ { 0x05d2, "G+" },
+ { 0x05d3, "D+" },
+ { 0x05d4, "H+" },
+ { 0x05d5, "W+" },
+ { 0x05d6, "Z+" },
+ { 0x05d7, "X+" },
+ { 0x05d8, "Tj" },
+ { 0x05d9, "J+" },
+ { 0x05da, "K%" },
+ { 0x05db, "K+" },
+ { 0x05dc, "L+" },
+ { 0x05dd, "M%" },
+ { 0x05de, "M+" },
+ { 0x05df, "N%" },
+ { 0x05e0, "N+" },
+ { 0x05e1, "S+" },
+ { 0x05e2, "E+" },
+ { 0x05e3, "P%" },
+ { 0x05e4, "P+" },
+ { 0x05e5, "Zj" },
+ { 0x05e6, "ZJ" },
+ { 0x05e7, "Q+" },
+ { 0x05e8, "R+" },
+ { 0x05e9, "Sh" },
+ { 0x05ea, "T+" },
+ { 0x05f0, "v" },
+ { 0x05f1, "oy" },
+ { 0x05f2, "ey" },
+ { 0x060c, ",+" },
+ { 0x061b, ";+" },
+ { 0x061f, "?+" },
+ { 0x0621, "H'" },
+ { 0x0622, "aM" },
+ { 0x0623, "aH" },
+ { 0x0624, "wH" },
+ { 0x0625, "ah" },
+ { 0x0626, "yH" },
+ { 0x0627, "a+" },
+ { 0x0628, "b+" },
+ { 0x0629, "tm" },
+ { 0x062a, "t+" },
+ { 0x062b, "tk" },
+ { 0x062c, "g+" },
+ { 0x062d, "hk" },
+ { 0x062e, "x+" },
+ { 0x062f, "d+" },
+ { 0x0630, "dk" },
+ { 0x0631, "r+" },
+ { 0x0632, "z+" },
+ { 0x0633, "s+" },
+ { 0x0634, "sn" },
+ { 0x0635, "c+" },
+ { 0x0636, "dd" },
+ { 0x0637, "tj" },
+ { 0x0638, "zH" },
+ { 0x0639, "e+" },
+ { 0x063a, "i+" },
+ { 0x0640, "++" },
+ { 0x0641, "f+" },
+ { 0x0642, "q+" },
+ { 0x0643, "k+" },
+ { 0x0644, "l+" },
+ { 0x0645, "m+" },
+ { 0x0646, "n+" },
+ { 0x0647, "h+" },
+ { 0x0648, "w+" },
+ { 0x0649, "j+" },
+ { 0x064a, "y+" },
+ { 0x064b, ":+" },
+ { 0x064c, "\"+" },
+ { 0x064d, "=+" },
+ { 0x064e, "/+" },
+ { 0x064f, "'+" },
+ { 0x0650, "1+" },
+ { 0x0651, "3+" },
+ { 0x0652, "0+" },
+ { 0x0660, "0a" },
+ { 0x0661, "1a" },
+ { 0x0662, "2a" },
+ { 0x0663, "3a" },
+ { 0x0664, "4a" },
+ { 0x0665, "5a" },
+ { 0x0666, "6a" },
+ { 0x0667, "7a" },
+ { 0x0668, "8a" },
+ { 0x0669, "9a" },
+ { 0x0670, "aS" },
+ { 0x067e, "p+" },
+ { 0x0681, "hH" },
+ { 0x0686, "tc" },
+ { 0x0698, "zj" },
+ { 0x06a4, "v+" },
+ { 0x06af, "gf" },
+ { 0x06f0, "0a" },
+ { 0x06f1, "1a" },
+ { 0x06f2, "2a" },
+ { 0x06f3, "3a" },
+ { 0x06f4, "4a" },
+ { 0x06f5, "5a" },
+ { 0x06f6, "6a" },
+ { 0x06f7, "7a" },
+ { 0x06f8, "8a" },
+ { 0x06f9, "9a" },
+ { 0x1200, "he" },
+ { 0x1201, "hu" },
+ { 0x1202, "hi" },
+ { 0x1203, "ha" },
+ { 0x1204, "hE" },
+ { 0x1205, "h" },
+ { 0x1206, "ho" },
+ { 0x1208, "le" },
+ { 0x1209, "lu" },
+ { 0x120A, "li" },
+ { 0x120B, "la" },
+ { 0x120C, "lE" },
+ { 0x120E, "lo" },
+ { 0x120F, "lWa" },
+ { 0x120d, "l" },
+ { 0x1210, "He" },
+ { 0x1211, "Hu" },
+ { 0x1212, "Hi" },
+ { 0x1213, "Ha" },
+ { 0x1214, "HE" },
+ { 0x1215, "H" },
+ { 0x1216, "Ho" },
+ { 0x1217, "HWa" },
+ { 0x1218, "me" },
+ { 0x1219, "mu" },
+ { 0x121A, "mi" },
+ { 0x121B, "ma" },
+ { 0x121C, "mE" },
+ { 0x121E, "mo" },
+ { 0x121F, "mWa" },
+ { 0x121d, "m" },
+ { 0x1220, "`se" },
+ { 0x1221, "`su" },
+ { 0x1222, "`si" },
+ { 0x1223, "`sa" },
+ { 0x1224, "`sE" },
+ { 0x1225, "`s" },
+ { 0x1226, "`so" },
+ { 0x1227, "`sWa" },
+ { 0x1228, "re" },
+ { 0x1229, "ru" },
+ { 0x122A, "ri" },
+ { 0x122B, "ra" },
+ { 0x122C, "rE" },
+ { 0x122E, "ro" },
+ { 0x122F, "rWa" },
+ { 0x122d, "r" },
+ { 0x1230, "se" },
+ { 0x1231, "su" },
+ { 0x1232, "si" },
+ { 0x1233, "sa" },
+ { 0x1234, "sE" },
+ { 0x1235, "s" },
+ { 0x1236, "so" },
+ { 0x1237, "sWa" },
+ { 0x1238, "xe" },
+ { 0x1239, "xu" },
+ { 0x123A, "xi" },
+ { 0x123B, "xa" },
+ { 0x123C, "xE" },
+ { 0x123D, "xa" },
+ { 0x123E, "xo" },
+ { 0x123F, "xWa" },
+ { 0x1240, "qe" },
+ { 0x1241, "qu" },
+ { 0x1242, "qi" },
+ { 0x1243, "qa" },
+ { 0x1244, "qE" },
+ { 0x1245, "q" },
+ { 0x1246, "qo" },
+ { 0x1248, "qWe" },
+ { 0x124A, "qWi" },
+ { 0x124B, "qWa" },
+ { 0x124C, "qWE" },
+ { 0x124D, "qW" },
+ { 0x1250, "Qe" },
+ { 0x1251, "Qu" },
+ { 0x1252, "Qi" },
+ { 0x1253, "Qa" },
+ { 0x1254, "QE" },
+ { 0x1255, "Q" },
+ { 0x1256, "Qo" },
+ { 0x1258, "QWe" },
+ { 0x125A, "QWi" },
+ { 0x125B, "QWa" },
+ { 0x125C, "QWE" },
+ { 0x125D, "QW" },
+ { 0x1260, "be" },
+ { 0x1261, "bu" },
+ { 0x1262, "bi" },
+ { 0x1263, "ba" },
+ { 0x1264, "bE" },
+ { 0x1265, "b" },
+ { 0x1266, "bo" },
+ { 0x1267, "bWa" },
+ { 0x1268, "ve" },
+ { 0x1269, "vu" },
+ { 0x126A, "vi" },
+ { 0x126B, "va" },
+ { 0x126C, "vE" },
+ { 0x126E, "vo" },
+ { 0x126F, "vWa" },
+ { 0x126d, "v" },
+ { 0x1270, "te" },
+ { 0x1271, "tu" },
+ { 0x1272, "ti" },
+ { 0x1273, "ta" },
+ { 0x1274, "tE" },
+ { 0x1275, "t" },
+ { 0x1276, "to" },
+ { 0x1277, "tWa" },
+ { 0x1278, "ce" },
+ { 0x1279, "cu" },
+ { 0x127A, "ci" },
+ { 0x127B, "ca" },
+ { 0x127C, "cE" },
+ { 0x127E, "co" },
+ { 0x127F, "cWa" },
+ { 0x127d, "c" },
+ { 0x1280, "`he" },
+ { 0x1281, "`hu" },
+ { 0x1282, "`hi" },
+ { 0x1283, "`ha" },
+ { 0x1284, "`hE" },
+ { 0x1285, "`h" },
+ { 0x1286, "`ho" },
+ { 0x1288, "hWe" },
+ { 0x128A, "hWi" },
+ { 0x128B, "hWa" },
+ { 0x128C, "hWE" },
+ { 0x128D, "hW" },
+ { 0x1290, "na" },
+ { 0x1291, "nu" },
+ { 0x1292, "ni" },
+ { 0x1293, "na" },
+ { 0x1294, "nE" },
+ { 0x1295, "n" },
+ { 0x1296, "no" },
+ { 0x1297, "nWa" },
+ { 0x1298, "Ne" },
+ { 0x1299, "Nu" },
+ { 0x129A, "Ni" },
+ { 0x129B, "Na" },
+ { 0x129C, "NE" },
+ { 0x129E, "No" },
+ { 0x129F, "NWa" },
+ { 0x129d, "N" },
+ { 0x12A7, "e3" },
+ { 0x12A8, "ke" },
+ { 0x12A9, "ku" },
+ { 0x12AA, "ki" },
+ { 0x12AB, "ka" },
+ { 0x12AC, "kE" },
+ { 0x12AE, "ko" },
+ { 0x12B0, "kWe" },
+ { 0x12B2, "kWi" },
+ { 0x12B3, "kWa" },
+ { 0x12B4, "kWE" },
+ { 0x12B5, "kW" },
+ { 0x12B8, "Ke" },
+ { 0x12B9, "Ku" },
+ { 0x12BA, "Ki" },
+ { 0x12BB, "Ka" },
+ { 0x12BC, "KE" },
+ { 0x12BE, "Ko" },
+ { 0x12C0, "KWe" },
+ { 0x12C2, "KWi" },
+ { 0x12C3, "KWa" },
+ { 0x12C4, "KWE" },
+ { 0x12C5, "KW" },
+ { 0x12C8, "we" },
+ { 0x12C9, "wu" },
+ { 0x12CA, "wi" },
+ { 0x12CB, "wa" },
+ { 0x12CC, "wE" },
+ { 0x12CE, "wo" },
+ { 0x12D0, "`e" },
+ { 0x12D1, "`u" },
+ { 0x12D2, "`i" },
+ { 0x12D3, "`a" },
+ { 0x12D4, "`E" },
+ { 0x12D5, "`I" },
+ { 0x12D6, "`o" },
+ { 0x12D8, "ze" },
+ { 0x12D9, "zu" },
+ { 0x12DA, "zi" },
+ { 0x12DB, "za" },
+ { 0x12DC, "zE" },
+ { 0x12DE, "zo" },
+ { 0x12DF, "zWa" },
+ { 0x12E0, "Ze" },
+ { 0x12E1, "Zu" },
+ { 0x12E2, "Zi" },
+ { 0x12E3, "Za" },
+ { 0x12E4, "ZE" },
+ { 0x12E6, "Zo" },
+ { 0x12E7, "ZWa" },
+ { 0x12E8, "ye" },
+ { 0x12E9, "yu" },
+ { 0x12EA, "yi" },
+ { 0x12EB, "ya" },
+ { 0x12EC, "yE" },
+ { 0x12EE, "yo" },
+ { 0x12EF, "yWa" },
+ { 0x12F0, "de" },
+ { 0x12F1, "du" },
+ { 0x12F2, "di" },
+ { 0x12F3, "da" },
+ { 0x12F4, "dE" },
+ { 0x12F6, "do" },
+ { 0x12F7, "dWa" },
+ { 0x12F8, "De" },
+ { 0x12F9, "Du" },
+ { 0x12FA, "Di" },
+ { 0x12FB, "Da" },
+ { 0x12FC, "DE" },
+ { 0x12FE, "Do" },
+ { 0x12FF, "DWa" },
+ { 0x12a0, "e" },
+ { 0x12a1, "u" },
+ { 0x12a2, "i" },
+ { 0x12a3, "a" },
+ { 0x12a4, "E" },
+ { 0x12a5, "I" },
+ { 0x12a6, "o" },
+ { 0x12ad, "k" },
+ { 0x12bd, "K" },
+ { 0x12cd, "w" },
+ { 0x12dd, "z" },
+ { 0x12e5, "Z" },
+ { 0x12ed, "y" },
+ { 0x12f5, "d" },
+ { 0x12fd, "D" },
+ { 0x1300, "je" },
+ { 0x1301, "ju" },
+ { 0x1302, "ji" },
+ { 0x1303, "ja" },
+ { 0x1304, "jE" },
+ { 0x1305, "j" },
+ { 0x1306, "jo" },
+ { 0x1307, "jWa" },
+ { 0x1308, "ga" },
+ { 0x1309, "gu" },
+ { 0x130A, "gi" },
+ { 0x130B, "ga" },
+ { 0x130C, "gE" },
+ { 0x130E, "go" },
+ { 0x130d, "g" },
+ { 0x1310, "gWu" },
+ { 0x1312, "gWi" },
+ { 0x1313, "gWa" },
+ { 0x1314, "gWE" },
+ { 0x1315, "gW" },
+ { 0x1318, "Ge" },
+ { 0x1319, "Gu" },
+ { 0x131A, "Gi" },
+ { 0x131B, "Ga" },
+ { 0x131C, "GE" },
+ { 0x131E, "Go" },
+ { 0x131F, "GWa" },
+ { 0x131d, "G" },
+ { 0x1320, "Te" },
+ { 0x1321, "Tu" },
+ { 0x1322, "Ti" },
+ { 0x1323, "Ta" },
+ { 0x1324, "TE" },
+ { 0x1325, "T" },
+ { 0x1326, "To" },
+ { 0x1327, "TWa" },
+ { 0x1328, "Ce" },
+ { 0x1329, "Ca" },
+ { 0x132A, "Cu" },
+ { 0x132B, "Ca" },
+ { 0x132C, "CE" },
+ { 0x132E, "Co" },
+ { 0x132F, "CWa" },
+ { 0x132d, "C" },
+ { 0x1330, "Pe" },
+ { 0x1331, "Pu" },
+ { 0x1332, "Pi" },
+ { 0x1333, "Pa" },
+ { 0x1334, "PE" },
+ { 0x1335, "P" },
+ { 0x1336, "Po" },
+ { 0x1337, "PWa" },
+ { 0x1338, "SWe" },
+ { 0x1339, "SWu" },
+ { 0x133A, "SWi" },
+ { 0x133B, "SWa" },
+ { 0x133C, "SWE" },
+ { 0x133D, "SW" },
+ { 0x133E, "SWo" },
+ { 0x133F, "SWa" },
+ { 0x1340, "`Sa" },
+ { 0x1341, "`Su" },
+ { 0x1342, "`Si" },
+ { 0x1343, "`Sa" },
+ { 0x1344, "`SE" },
+ { 0x1345, "`S" },
+ { 0x1346, "`So" },
+ { 0x1348, "fa" },
+ { 0x1349, "fu" },
+ { 0x134A, "fi" },
+ { 0x134B, "fa" },
+ { 0x134C, "fE" },
+ { 0x134E, "fo" },
+ { 0x134F, "fWa" },
+ { 0x134d, "o" },
+ { 0x1350, "pe" },
+ { 0x1351, "pu" },
+ { 0x1352, "pi" },
+ { 0x1353, "pa" },
+ { 0x1354, "pE" },
+ { 0x1355, "p" },
+ { 0x1356, "po" },
+ { 0x1357, "pWa" },
+ { 0x1358, "mYa" },
+ { 0x1359, "rYa" },
+ { 0x135A, "fYa" },
+ { 0x1360, " " },
+ { 0x1361, ":" },
+ { 0x1362, "::" },
+ { 0x1363, "," },
+ { 0x1364, ";" },
+ { 0x1365, "-:" },
+ { 0x1366, ":-" },
+ { 0x1367, "`?" },
+ { 0x1368, ":|:" },
+ { 0x1369, "`1" },
+ { 0x136A, "`2" },
+ { 0x136B, "`3" },
+ { 0x136C, "`4" },
+ { 0x136D, "`5" },
+ { 0x136E, "`6" },
+ { 0x136F, "`7" },
+ { 0x1370, "`8" },
+ { 0x1371, "`9" },
+ { 0x1372, "`10" },
+ { 0x1373, "`20" },
+ { 0x1374, "`30" },
+ { 0x1375, "`40" },
+ { 0x1376, "`50" },
+ { 0x1377, "`60" },
+ { 0x1378, "`70" },
+ { 0x1379, "`80" },
+ { 0x137A, "`90" },
+ { 0x137B, "`100" },
+ { 0x137C, "`10000" },
+ { 0x1e00, "A-0" },
+ { 0x1e01, "a-0" },
+ { 0x1e02, "B." },
+ { 0x1e03, "b." },
+ { 0x1e04, "B-." },
+ { 0x1e05, "b-." },
+ { 0x1e06, "B_" },
+ { 0x1e07, "b_" },
+ { 0x1e08, "C,'" },
+ { 0x1e09, "c,'" },
+ { 0x1e0a, "D." },
+ { 0x1e0b, "d." },
+ { 0x1e0c, "D-." },
+ { 0x1e0d, "d-." },
+ { 0x1e0e, "D_" },
+ { 0x1e0f, "d_" },
+ { 0x1e10, "D," },
+ { 0x1e11, "d," },
+ { 0x1e12, "D->" },
+ { 0x1e13, "d->" },
+ { 0x1e14, "E-!" },
+ { 0x1e15, "e-!" },
+ { 0x1e16, "E-'" },
+ { 0x1e17, "e-'" },
+ { 0x1e18, "E->" },
+ { 0x1e19, "e->" },
+ { 0x1e1a, "E-?" },
+ { 0x1e1b, "e-?" },
+ { 0x1e1c, "E,(" },
+ { 0x1e1d, "e,(" },
+ { 0x1e1e, "F." },
+ { 0x1e1f, "f." },
+ { 0x1e20, "G-" },
+ { 0x1e21, "g-" },
+ { 0x1e22, "H." },
+ { 0x1e23, "h." },
+ { 0x1e24, "H-." },
+ { 0x1e25, "h-." },
+ { 0x1e26, "H:" },
+ { 0x1e27, "h:" },
+ { 0x1e28, "H," },
+ { 0x1e29, "h," },
+ { 0x1e2a, "H-(" },
+ { 0x1e2b, "h-(" },
+ { 0x1e2c, "I-?" },
+ { 0x1e2d, "i-?" },
+ { 0x1e2e, "I:'" },
+ { 0x1e2f, "i:'" },
+ { 0x1e30, "K'" },
+ { 0x1e31, "k'" },
+ { 0x1e32, "K-." },
+ { 0x1e33, "k-." },
+ { 0x1e34, "K_" },
+ { 0x1e35, "k_" },
+ { 0x1e36, "L-." },
+ { 0x1e37, "l-." },
+ { 0x1e38, "L--." },
+ { 0x1e39, "l--." },
+ { 0x1e3a, "L_" },
+ { 0x1e3b, "l_" },
+ { 0x1e3c, "L->" },
+ { 0x1e3d, "l->" },
+ { 0x1e3e, "M'" },
+ { 0x1e3f, "m'" },
+ { 0x1e40, "M." },
+ { 0x1e41, "m." },
+ { 0x1e42, "M-." },
+ { 0x1e43, "m-." },
+ { 0x1e44, "N." },
+ { 0x1e45, "n." },
+ { 0x1e46, "N-." },
+ { 0x1e47, "n-." },
+ { 0x1e48, "N_" },
+ { 0x1e49, "n_" },
+ { 0x1e4a, "N->" },
+ { 0x1e4b, "n->" },
+ { 0x1e4c, "O?'" },
+ { 0x1e4d, "o?'" },
+ { 0x1e4e, "O?:" },
+ { 0x1e4f, "o?:" },
+ { 0x1e50, "O-!" },
+ { 0x1e51, "o-!" },
+ { 0x1e52, "O-'" },
+ { 0x1e53, "o-'" },
+ { 0x1e54, "P'" },
+ { 0x1e55, "p'" },
+ { 0x1e56, "P." },
+ { 0x1e57, "p." },
+ { 0x1e58, "R." },
+ { 0x1e59, "r." },
+ { 0x1e5a, "R-." },
+ { 0x1e5b, "r-." },
+ { 0x1e5c, "R--." },
+ { 0x1e5d, "r--." },
+ { 0x1e5e, "R_" },
+ { 0x1e5f, "r_" },
+ { 0x1e60, "S." },
+ { 0x1e61, "s." },
+ { 0x1e62, "S-." },
+ { 0x1e63, "s-." },
+ { 0x1e64, "S'." },
+ { 0x1e65, "s'." },
+ { 0x1e66, "S<." },
+ { 0x1e67, "s<." },
+ { 0x1e68, "S.-." },
+ { 0x1e69, "s.-." },
+ { 0x1e6a, "T." },
+ { 0x1e6b, "t." },
+ { 0x1e6c, "T-." },
+ { 0x1e6d, "t-." },
+ { 0x1e6e, "T_" },
+ { 0x1e6f, "t_" },
+ { 0x1e70, "T->" },
+ { 0x1e71, "t->" },
+ { 0x1e72, "U--:" },
+ { 0x1e73, "u--:" },
+ { 0x1e74, "U-?" },
+ { 0x1e75, "u-?" },
+ { 0x1e76, "U->" },
+ { 0x1e77, "u->" },
+ { 0x1e78, "U?'" },
+ { 0x1e79, "u?'" },
+ { 0x1e7a, "U-:" },
+ { 0x1e7b, "u-:" },
+ { 0x1e7c, "V?" },
+ { 0x1e7d, "v?" },
+ { 0x1e7e, "V-." },
+ { 0x1e7f, "v-." },
+ { 0x1e80, "W!" },
+ { 0x1e81, "w!" },
+ { 0x1e82, "W'" },
+ { 0x1e83, "w'" },
+ { 0x1e84, "W:" },
+ { 0x1e85, "w:" },
+ { 0x1e86, "W." },
+ { 0x1e87, "w." },
+ { 0x1e88, "W-." },
+ { 0x1e89, "w-." },
+ { 0x1e8a, "X." },
+ { 0x1e8b, "x." },
+ { 0x1e8c, "X:" },
+ { 0x1e8d, "x:" },
+ { 0x1e8e, "Y." },
+ { 0x1e8f, "y." },
+ { 0x1e90, "Z>" },
+ { 0x1e91, "z>" },
+ { 0x1e92, "Z-." },
+ { 0x1e93, "z-." },
+ { 0x1e94, "Z_" },
+ { 0x1e95, "z_" },
+ { 0x1e96, "h_" },
+ { 0x1e97, "t:" },
+ { 0x1e98, "w0" },
+ { 0x1e99, "y0" },
+ { 0x1ea0, "A-." },
+ { 0x1ea1, "a-." },
+ { 0x1ea2, "A2" },
+ { 0x1ea3, "a2" },
+ { 0x1ea4, "A>'" },
+ { 0x1ea5, "a>'" },
+ { 0x1ea6, "A>!" },
+ { 0x1ea7, "a>!" },
+ { 0x1ea8, "A>2" },
+ { 0x1ea9, "a>2" },
+ { 0x1eaa, "A>?" },
+ { 0x1eab, "a>?" },
+ { 0x1eac, "A>-." },
+ { 0x1ead, "a>-." },
+ { 0x1eae, "A('" },
+ { 0x1eaf, "a('" },
+ { 0x1eb0, "A(!" },
+ { 0x1eb1, "a(!" },
+ { 0x1eb2, "A(2" },
+ { 0x1eb3, "a(2" },
+ { 0x1eb4, "A(?" },
+ { 0x1eb5, "a(?" },
+ { 0x1eb6, "A(-." },
+ { 0x1eb7, "a(-." },
+ { 0x1eb8, "E-." },
+ { 0x1eb9, "e-." },
+ { 0x1eba, "E2" },
+ { 0x1ebb, "e2" },
+ { 0x1ebc, "E?" },
+ { 0x1ebd, "e?" },
+ { 0x1ebe, "E>'" },
+ { 0x1ebf, "e>'" },
+ { 0x1ec0, "E>!" },
+ { 0x1ec1, "e>!" },
+ { 0x1ec2, "E>2" },
+ { 0x1ec3, "e>2" },
+ { 0x1ec4, "E>?" },
+ { 0x1ec5, "e>?" },
+ { 0x1ec6, "E>-." },
+ { 0x1ec7, "e>-." },
+ { 0x1ec8, "I2" },
+ { 0x1ec9, "i2" },
+ { 0x1eca, "I-." },
+ { 0x1ecb, "i-." },
+ { 0x1ecc, "O-." },
+ { 0x1ecd, "o-." },
+ { 0x1ece, "O2" },
+ { 0x1ecf, "o2" },
+ { 0x1ed0, "O>'" },
+ { 0x1ed1, "o>'" },
+ { 0x1ed2, "O>!" },
+ { 0x1ed3, "o>!" },
+ { 0x1ed4, "O>2" },
+ { 0x1ed5, "o>2" },
+ { 0x1ed6, "O>?" },
+ { 0x1ed7, "o>?" },
+ { 0x1ed8, "O>-." },
+ { 0x1ed9, "o>-." },
+ { 0x1eda, "O9'" },
+ { 0x1edb, "o9'" },
+ { 0x1edc, "O9!" },
+ { 0x1edd, "o9!" },
+ { 0x1ede, "O92" },
+ { 0x1edf, "o92" },
+ { 0x1ee0, "O9?" },
+ { 0x1ee1, "o9?" },
+ { 0x1ee2, "O9-." },
+ { 0x1ee3, "o9-." },
+ { 0x1ee4, "U-." },
+ { 0x1ee5, "u-." },
+ { 0x1ee6, "U2" },
+ { 0x1ee7, "u2" },
+ { 0x1ee8, "U9'" },
+ { 0x1ee9, "u9'" },
+ { 0x1eea, "U9!" },
+ { 0x1eeb, "u9!" },
+ { 0x1eec, "U92" },
+ { 0x1eed, "u92" },
+ { 0x1eee, "U9?" },
+ { 0x1eef, "u9?" },
+ { 0x1ef0, "U9-." },
+ { 0x1ef1, "u9-." },
+ { 0x1ef2, "Y!" },
+ { 0x1ef3, "y!" },
+ { 0x1ef4, "Y-." },
+ { 0x1ef5, "y-." },
+ { 0x1ef6, "Y2" },
+ { 0x1ef7, "y2" },
+ { 0x1ef8, "Y?" },
+ { 0x1ef9, "y?" },
+ { 0x1f00, ";'" },
+ { 0x1f01, ",'" },
+ { 0x1f02, ";!" },
+ { 0x1f03, ",!" },
+ { 0x1f04, "?;" },
+ { 0x1f05, "?," },
+ { 0x1f06, "!:" },
+ { 0x1f07, "?:" },
+ { 0x1fbf, ",," },
+ { 0x1fc0, "?*" },
+ { 0x1fc1, "?:" },
+ { 0x1fcd, ",!" },
+ { 0x1fce, ",'" },
+ { 0x1fcf, "?," },
+ { 0x1fdd, ";!" },
+ { 0x1fde, ";'" },
+ { 0x1fdf, "?;" },
+ { 0x1fed, "!:" },
+ { 0x1fef, "!*" },
+ { 0x1ffe, ";;" },
+ { 0x2000, " " },
+ { 0x2001, " " },
+ { 0x2002, " " },
+ { 0x2003, " " },
+ { 0x2004, " " },
+ { 0x2005, " " },
+ { 0x2006, " " },
+ { 0x2007, " " },
+ { 0x2008, " " },
+ { 0x2009, " " },
+ { 0x200a, "" },
+ { 0x200e, "(->)" },
+ { 0x200f, "(<-)" },
+ { 0x2010, "-" },
+ { 0x2011, "-" },
+ { 0x2013, "-" },
+ { 0x2014, "-" },
+ { 0x2015, "-" },
+ { 0x2016, "||" },
+ { 0x2017, "=2" },
+ { 0x2018, "`" },
+ { 0x2019, "'" },
+ { 0x201a, "'" },
+ { 0x201b, "'" },
+ { 0x201c, "\"" },
+ { 0x201d, "\"" },
+ { 0x201e, "\"" },
+ { 0x201f, "\"" },
+ { 0x2020, "/-" },
+ { 0x2021, "/=" },
+ { 0x2022, " o " },
+ { 0x2025, ".." },
+ { 0x2026, "..." },
+ { 0x202c, "" },
+ { 0x202d, "" },
+ { 0x2030, " 0/00" },
+ { 0x2032, "'" },
+ { 0x2033, "''" },
+ { 0x2034, "'''" },
+ { 0x2035, "`" },
+ { 0x2036, "``" },
+ { 0x2037, "```" },
+ { 0x2038, "Ca" },
+ { 0x2039, "<" },
+ { 0x203a, ">" },
+ { 0x203b, ":X" },
+ { 0x203c, "!!" },
+ { 0x203e, "'-" },
+ { 0x2043, "-" },
+ { 0x2044, "/" },
+ { 0x2070, "^0" },
+ { 0x2074, "^4" },
+ { 0x2075, "^5" },
+ { 0x2076, "^6" },
+ { 0x2077, "^7" },
+ { 0x2078, "^8" },
+ { 0x2079, "^9" },
+ { 0x207a, "^+" },
+ { 0x207b, "^-" },
+ { 0x207c, "^=" },
+ { 0x207d, "^(" },
+ { 0x207e, "^)" },
+ { 0x207f, "^n" },
+ { 0x2080, "_0" },
+ { 0x2081, "_1" },
+ { 0x2082, "_2" },
+ { 0x2083, "_3" },
+ { 0x2084, "_4" },
+ { 0x2085, "_5" },
+ { 0x2086, "_6" },
+ { 0x2087, "_7" },
+ { 0x2088, "_8" },
+ { 0x2089, "_9" },
+ { 0x208a, "_+" },
+ { 0x208b, "_-" },
+ { 0x208c, "_=" },
+ { 0x208d, "(" },
+ { 0x208e, ")" },
+ { 0x20AC, "EUR" },
+ { 0x20a3, "Ff" },
+ { 0x20a4, "Li" },
+ { 0x20a7, "Pt" },
+ { 0x20a9, "W=" },
+ { 0x2103, "oC" },
+ { 0x2105, "c/o" },
+ { 0x2109, "oF" },
+ { 0x2111, "Im" },
+ { 0x2116, "No." },
+ { 0x2117, "PO" },
+ { 0x2118, "P" },
+ { 0x211C, "Re" },
+ { 0x211e, "Rx" },
+ { 0x2120, "(SM)" },
+ { 0x2122, "(TM)" },
+ { 0x2126, "Ohm" },
+ { 0x212E, "est." },
+ { 0x212a, "K" },
+ { 0x212b, "Ang." },
+ { 0x2135, "Aleph " },
+ { 0x2136, "Bet " },
+ { 0x2137, "Gimel " },
+ { 0x2138, "Dalet " },
+ { 0x2153, " 1/3" },
+ { 0x2154, " 2/3" },
+ { 0x2155, " 1/5" },
+ { 0x2156, " 2/5" },
+ { 0x2157, " 3/5" },
+ { 0x2158, " 4/5" },
+ { 0x2159, " 1/6" },
+ { 0x215a, " 5/6" },
+ { 0x215b, " 1/8" },
+ { 0x215c, " 3/8" },
+ { 0x215d, " 5/8" },
+ { 0x215e, " 7/8" },
+ { 0x2160, "I" },
+ { 0x2161, "II" },
+ { 0x2162, "III" },
+ { 0x2163, "IV" },
+ { 0x2164, "V" },
+ { 0x2165, "VI" },
+ { 0x2166, "VII" },
+ { 0x2167, "VIII" },
+ { 0x2168, "IX" },
+ { 0x2169, "X" },
+ { 0x216a, "XI" },
+ { 0x216b, "XII" },
+ { 0x216c, "L" },
+ { 0x216d, "C" },
+ { 0x216e, "D" },
+ { 0x216f, "M" },
+ { 0x2170, "i" },
+ { 0x2171, "ii" },
+ { 0x2172, "iii" },
+ { 0x2173, "iv" },
+ { 0x2174, "v" },
+ { 0x2175, "vi" },
+ { 0x2176, "vii" },
+ { 0x2177, "viii" },
+ { 0x2178, "ix" },
+ { 0x2179, "x" },
+ { 0x217a, "xi" },
+ { 0x217b, "xii" },
+ { 0x217c, "l" },
+ { 0x217d, "c" },
+ { 0x217e, "d" },
+ { 0x217f, "m" },
+ { 0x2180, "1000RCD" },
+ { 0x2181, "5000R" },
+ { 0x2182, "10000R" },
+ { 0x2190, "<-" },
+ { 0x2191, "-^" },
+ { 0x2192, "->" },
+ { 0x2193, "-v" },
+ { 0x2194, "<->" },
+ { 0x2195, "UD" },
+ { 0x2196, "<!!" },
+ { 0x2197, "//>" },
+ { 0x2198, "!!>" },
+ { 0x2199, "<//" },
+ { 0x21B5, "RET" },
+ { 0x21a8, "UD-" },
+ { 0x21c0, ">V" },
+ { 0x21d0, "<=" },
+ { 0x21d1, "^^" },
+ { 0x21d2, "=>" },
+ { 0x21d3, "vv" },
+ { 0x21d4, "<=>" },
+ { 0x2200, "FA" },
+ { 0x2202, "\\partial" },
+ { 0x2203, "TE" },
+ { 0x2205, "{}" },
+ { 0x2206, "decr." },
+ { 0x2207, "Nabla" },
+ { 0x2208, "(-" },
+ { 0x2209, "!(-" },
+ { 0x220b, "-)" },
+ { 0x220f, "\\prod" },
+ { 0x2211, "\\sum" },
+ { 0x2212, " -" },
+ { 0x2213, "-/+" },
+ { 0x2214, ".+" },
+ { 0x2217, "*" },
+ { 0x2218, "Ob" },
+ { 0x2219, "sb" },
+ { 0x221a, " SQRT " },
+ { 0x221d, "0(" },
+ { 0x221e, "infty" },
+ { 0x221f, "-L" },
+ { 0x2220, "-V" },
+ { 0x2225, "PP" },
+ { 0x2227, "AND" },
+ { 0x2228, "OR" },
+ { 0x2229, "(U" },
+ { 0x222a, ")U" },
+ { 0x222b, "\\int " },
+ { 0x222c, "DI" },
+ { 0x222e, "Io" },
+ { 0x2234, ".:" },
+ { 0x2235, ":." },
+ { 0x2236, ":R" },
+ { 0x2237, "::" },
+ { 0x223c, "?1" },
+ { 0x223e, "CG" },
+ { 0x2243, "?-" },
+ { 0x2245, "?=" },
+ { 0x2248, "~=" },
+ { 0x224c, "=?" },
+ { 0x2253, "HI" },
+ { 0x2260, "!=" },
+ { 0x2261, "=3" },
+ { 0x2264, "=<" },
+ { 0x2265, ">=" },
+ { 0x226a, "<<" },
+ { 0x226b, ">>" },
+ { 0x226e, "!<" },
+ { 0x226f, "!>" },
+ { 0x2282, "!(C" },
+ { 0x2282, "(C" },
+ { 0x2283, ")C" },
+ { 0x2286, "(_" },
+ { 0x2287, ")_" },
+ { 0x2295, "(+)" },
+ { 0x2297, "(x)" },
+ { 0x2299, "0." },
+ { 0x229a, "02" },
+ { 0x22a5, "-T" },
+ { 0x22c5, ".P" },
+ { 0x22ee, ":3" },
+ { 0x22ef, ".3" },
+ { 0x2302, "Eh" },
+ { 0x2308, "<7" },
+ { 0x2309, ">7" },
+ { 0x230a, "7<" },
+ { 0x230b, "7>" },
+ { 0x2310, "NI" },
+ { 0x2312, "(A" },
+ { 0x2315, "TR" },
+ { 0x2318, "88" },
+ { 0x2320, "Iu" },
+ { 0x2321, "Il" },
+ { 0x2323, ":)" },
+ { 0x2329, "</" },
+ { 0x232a, "/>" },
+ { 0x2423, "Vs" },
+ { 0x2440, "1h" },
+ { 0x2441, "3h" },
+ { 0x2442, "2h" },
+ { 0x2443, "4h" },
+ { 0x2446, "1j" },
+ { 0x2447, "2j" },
+ { 0x2448, "3j" },
+ { 0x2449, "4j" },
+ { 0x2460, "1-o" },
+ { 0x2461, "2-o" },
+ { 0x2462, "3-o" },
+ { 0x2463, "4-o" },
+ { 0x2464, "5-o" },
+ { 0x2465, "6-o" },
+ { 0x2466, "7-o" },
+ { 0x2467, "8-o" },
+ { 0x2468, "9-o" },
+ { 0x2469, "10-o" },
+ { 0x246a, "11-o" },
+ { 0x246b, "12-o" },
+ { 0x246c, "13-o" },
+ { 0x246d, "14-o" },
+ { 0x246e, "15-o" },
+ { 0x246f, "16-o" },
+ { 0x2470, "17-o" },
+ { 0x2471, "18-o" },
+ { 0x2472, "19-o" },
+ { 0x2473, "20-o" },
+ { 0x2474, "(1)" },
+ { 0x2475, "(2)" },
+ { 0x2476, "(3)" },
+ { 0x2477, "(4)" },
+ { 0x2478, "(5)" },
+ { 0x2479, "(6)" },
+ { 0x247a, "(7)" },
+ { 0x247b, "(8)" },
+ { 0x247c, "(9)" },
+ { 0x247d, "(10)" },
+ { 0x247e, "(11)" },
+ { 0x247f, "(12)" },
+ { 0x2480, "(13)" },
+ { 0x2481, "(14)" },
+ { 0x2482, "(15)" },
+ { 0x2483, "(16)" },
+ { 0x2484, "(17)" },
+ { 0x2485, "(18)" },
+ { 0x2486, "(19)" },
+ { 0x2487, "(20)" },
+ { 0x2488, "1." },
+ { 0x2489, "2." },
+ { 0x248a, "3." },
+ { 0x248b, "4." },
+ { 0x248c, "5." },
+ { 0x248d, "6." },
+ { 0x248e, "7." },
+ { 0x248f, "8." },
+ { 0x2490, "9." },
+ { 0x2491, "10." },
+ { 0x2492, "11." },
+ { 0x2493, "12." },
+ { 0x2494, "13." },
+ { 0x2495, "14." },
+ { 0x2496, "15." },
+ { 0x2497, "16." },
+ { 0x2498, "17." },
+ { 0x2499, "18." },
+ { 0x249a, "19." },
+ { 0x249b, "20." },
+ { 0x249c, "(a)" },
+ { 0x249d, "(b)" },
+ { 0x249e, "(c)" },
+ { 0x249f, "(d)" },
+ { 0x24a0, "(e)" },
+ { 0x24a1, "(f)" },
+ { 0x24a2, "(g)" },
+ { 0x24a3, "(h)" },
+ { 0x24a4, "(i)" },
+ { 0x24a5, "(j)" },
+ { 0x24a6, "(k)" },
+ { 0x24a7, "(l)" },
+ { 0x24a8, "(m)" },
+ { 0x24a9, "(n)" },
+ { 0x24aa, "(o)" },
+ { 0x24ab, "(p)" },
+ { 0x24ac, "(q)" },
+ { 0x24ad, "(r)" },
+ { 0x24ae, "(s)" },
+ { 0x24af, "(t)" },
+ { 0x24b0, "(u)" },
+ { 0x24b1, "(v)" },
+ { 0x24b2, "(w)" },
+ { 0x24b3, "(x)" },
+ { 0x24b4, "(y)" },
+ { 0x24b5, "(z)" },
+ { 0x24b6, "A-o" },
+ { 0x24b7, "B-o" },
+ { 0x24b8, "C-o" },
+ { 0x24b9, "D-o" },
+ { 0x24ba, "E-o" },
+ { 0x24bb, "F-o" },
+ { 0x24bc, "G-o" },
+ { 0x24bd, "H-o" },
+ { 0x24be, "I-o" },
+ { 0x24bf, "J-o" },
+ { 0x24c0, "K-o" },
+ { 0x24c1, "L-o" },
+ { 0x24c2, "M-o" },
+ { 0x24c3, "N-o" },
+ { 0x24c4, "O-o" },
+ { 0x24c5, "P-o" },
+ { 0x24c6, "Q-o" },
+ { 0x24c7, "R-o" },
+ { 0x24c8, "S-o" },
+ { 0x24c9, "T-o" },
+ { 0x24ca, "U-o" },
+ { 0x24cb, "V-o" },
+ { 0x24cc, "W-o" },
+ { 0x24cd, "X-o" },
+ { 0x24ce, "Y-o" },
+ { 0x24cf, "Z-o" },
+ { 0x24d0, "a-o" },
+ { 0x24d1, "b-o" },
+ { 0x24d2, "c-o" },
+ { 0x24d3, "d-o" },
+ { 0x24d4, "e-o" },
+ { 0x24d5, "f-o" },
+ { 0x24d6, "g-o" },
+ { 0x24d7, "h-o" },
+ { 0x24d8, "i-o" },
+ { 0x24d9, "j-o" },
+ { 0x24da, "k-o" },
+ { 0x24db, "l-o" },
+ { 0x24dc, "m-o" },
+ { 0x24dd, "n-o" },
+ { 0x24de, "o-o" },
+ { 0x24df, "p-o" },
+ { 0x24e0, "q-o" },
+ { 0x24e1, "r-o" },
+ { 0x24e2, "s-o" },
+ { 0x24e3, "t-o" },
+ { 0x24e4, "u-o" },
+ { 0x24e5, "v-o" },
+ { 0x24e6, "w-o" },
+ { 0x24e7, "x-o" },
+ { 0x24e8, "y-o" },
+ { 0x24e9, "z-o" },
+ { 0x24ea, "0-o" },
+ { 0x2500, "-" },
+ { 0x2501, "=" },
+ { 0x2502, "|" },
+ { 0x2503, "|" },
+ { 0x2504, "-" },
+ { 0x2505, "=" },
+ { 0x2506, "|" },
+ { 0x2507, "|" },
+ { 0x2508, "-" },
+ { 0x2509, "=" },
+ { 0x250a, "|" },
+ { 0x250b, "|" },
+ { 0x250c, "+" },
+ { 0x250d, "+" },
+ { 0x250e, "+" },
+ { 0x250f, "+" },
+ { 0x2510, "+" },
+ { 0x2511, "+" },
+ { 0x2512, "+" },
+ { 0x2513, "+" },
+ { 0x2514, "+" },
+ { 0x2515, "+" },
+ { 0x2516, "+" },
+ { 0x2517, "+" },
+ { 0x2518, "+" },
+ { 0x2519, "+" },
+ { 0x251a, "+" },
+ { 0x251b, "+" },
+ { 0x251c, "+" },
+ { 0x251d, "+" },
+ { 0x251e, "+" },
+ { 0x251f, "+" },
+ { 0x2520, "+" },
+ { 0x2521, "+" },
+ { 0x2522, "+" },
+ { 0x2523, "+" },
+ { 0x2524, "+" },
+ { 0x2525, "+" },
+ { 0x2526, "+" },
+ { 0x2527, "+" },
+ { 0x2528, "+" },
+ { 0x2529, "+" },
+ { 0x252a, "+" },
+ { 0x252b, "+" },
+ { 0x252c, "+" },
+ { 0x252d, "+" },
+ { 0x252e, "+" },
+ { 0x252f, "+" },
+ { 0x2530, "+" },
+ { 0x2531, "+" },
+ { 0x2532, "+" },
+ { 0x2533, "+" },
+ { 0x2534, "+" },
+ { 0x2535, "+" },
+ { 0x2536, "+" },
+ { 0x2537, "+" },
+ { 0x2538, "+" },
+ { 0x2539, "+" },
+ { 0x253a, "+" },
+ { 0x253b, "+" },
+ { 0x253c, "+" },
+ { 0x253d, "+" },
+ { 0x253e, "+" },
+ { 0x253f, "+" },
+ { 0x2540, "+" },
+ { 0x2541, "+" },
+ { 0x2542, "+" },
+ { 0x2543, "+" },
+ { 0x2544, "+" },
+ { 0x2545, "+" },
+ { 0x2546, "+" },
+ { 0x2547, "+" },
+ { 0x2548, "+" },
+ { 0x2549, "+" },
+ { 0x254a, "+" },
+ { 0x254b, "+" },
+ { 0x254c, "+" },
+ { 0x254d, "+" },
+ { 0x254e, "+" },
+ { 0x254f, "+" },
+ { 0x2550, "+" },
+ { 0x2551, "+" },
+ { 0x2552, "+" },
+ { 0x2553, "+" },
+ { 0x2554, "+" },
+ { 0x2555, "+" },
+ { 0x2556, "+" },
+ { 0x2557, "+" },
+ { 0x2558, "+" },
+ { 0x2559, "+" },
+ { 0x255a, "+" },
+ { 0x255b, "+" },
+ { 0x255c, "+" },
+ { 0x255d, "+" },
+ { 0x255e, "+" },
+ { 0x255f, "+" },
+ { 0x2560, "+" },
+ { 0x2561, "+" },
+ { 0x2562, "+" },
+ { 0x2563, "+" },
+ { 0x2564, "+" },
+ { 0x2565, "+" },
+ { 0x2566, "+" },
+ { 0x2567, "+" },
+ { 0x2568, "+" },
+ { 0x2569, "+" },
+ { 0x256a, "+" },
+ { 0x256b, "+" },
+ { 0x256c, "+" },
+ { 0x2571, "/" },
+ { 0x2572, "\\" },
+ { 0x2580, "TB" },
+ { 0x2584, "LB" },
+ { 0x2588, "FB" },
+ { 0x258c, "lB" },
+ { 0x2590, "RB" },
+ { 0x2591, ".S" },
+ { 0x2592, ":S" },
+ { 0x2593, "?S" },
+ { 0x25a0, "fS" },
+ { 0x25a1, "OS" },
+ { 0x25a2, "RO" },
+ { 0x25a3, "Rr" },
+ { 0x25a4, "RF" },
+ { 0x25a5, "RY" },
+ { 0x25a6, "RH" },
+ { 0x25a7, "RZ" },
+ { 0x25a8, "RK" },
+ { 0x25a9, "RX" },
+ { 0x25aa, "sB" },
+ { 0x25ac, "SR" },
+ { 0x25ad, "Or" },
+ { 0x25b2, "UT" },
+ { 0x25b3, "uT" },
+ { 0x25b6, "PR" },
+ { 0x25b7, "Tr" },
+ { 0x25ba, "PR" },
+ { 0x25bc, "Dt" },
+ { 0x25bd, "dT" },
+ { 0x25c0, "PL" },
+ { 0x25c1, "Tl" },
+ { 0x25c4, "PL" },
+ { 0x25c6, "Db" },
+ { 0x25c7, "Dw" },
+ { 0x25ca, "LZ" },
+ { 0x25cb, "0m" },
+ { 0x25ce, "0o" },
+ { 0x25cf, "0M" },
+ { 0x25d0, "0L" },
+ { 0x25d1, "0R" },
+ { 0x25d8, "Sn" },
+ { 0x25d9, "Ic" },
+ { 0x25e2, "Fd" },
+ { 0x25e3, "Bd" },
+ { 0x25ef, "Ci" },
+ { 0x2605, "*2" },
+ { 0x2606, "*1" },
+ { 0x260e, "TEL" },
+ { 0x260f, "tel" },
+ { 0x261c, "<--" },
+ { 0x261e, "-->" },
+ { 0x263a, ":-)" },
+ { 0x263b, "(-:" },
+ { 0x263c, "SU" },
+ { 0x2640, "f." },
+ { 0x2642, "m." },
+ { 0x2660, "cS" },
+ { 0x2661, "cH" },
+ { 0x2662, "cD" },
+ { 0x2663, "cC" },
+ { 0x2664, "cS-" },
+ { 0x2665, "cH-" },
+ { 0x2666, "cD-" },
+ { 0x2667, "cC-" },
+ { 0x2669, "Md" },
+ { 0x266a, "M8" },
+ { 0x266b, "M2" },
+ { 0x266c, "M16" },
+ { 0x266d, "b" },
+ { 0x266e, "Mx" },
+ { 0x266f, "#" },
+ { 0x2713, "X" },
+ { 0x2717, "X" },
+ { 0x2720, "-X" },
+ { 0x3000, " " },
+ { 0x3001, ",_" },
+ { 0x3002, "._" },
+ { 0x3003, "+\"" },
+ { 0x3004, "JIS" },
+ { 0x3005, "*_" },
+ { 0x3006, ";_" },
+ { 0x3007, "0_" },
+ { 0x300a, "<+" },
+ { 0x300b, ">+" },
+ { 0x300c, "<'" },
+ { 0x300d, ">'" },
+ { 0x300e, "<\"" },
+ { 0x300f, ">\"" },
+ { 0x3010, "(\"" },
+ { 0x3011, ")\"" },
+ { 0x3012, "=T" },
+ { 0x3013, "=_" },
+ { 0x3014, "('" },
+ { 0x3015, ")'" },
+ { 0x3016, "(I" },
+ { 0x3017, ")I" },
+ { 0x301c, "-?" },
+ { 0x3020, "=T:)" },
+ { 0x3041, "A5" },
+ { 0x3042, "a5" },
+ { 0x3043, "I5" },
+ { 0x3044, "i5" },
+ { 0x3045, "U5" },
+ { 0x3046, "u5" },
+ { 0x3047, "E5" },
+ { 0x3048, "e5" },
+ { 0x3049, "O5" },
+ { 0x304a, "o5" },
+ { 0x304b, "ka" },
+ { 0x304c, "ga" },
+ { 0x304d, "ki" },
+ { 0x304e, "gi" },
+ { 0x304f, "ku" },
+ { 0x3050, "gu" },
+ { 0x3051, "ke" },
+ { 0x3052, "ge" },
+ { 0x3053, "ko" },
+ { 0x3054, "go" },
+ { 0x3055, "sa" },
+ { 0x3056, "za" },
+ { 0x3057, "si" },
+ { 0x3058, "zi" },
+ { 0x3059, "su" },
+ { 0x305a, "zu" },
+ { 0x305b, "se" },
+ { 0x305c, "ze" },
+ { 0x305d, "so" },
+ { 0x305e, "zo" },
+ { 0x305f, "ta" },
+ { 0x3060, "da" },
+ { 0x3061, "ti" },
+ { 0x3062, "di" },
+ { 0x3063, "tU" },
+ { 0x3064, "tu" },
+ { 0x3065, "du" },
+ { 0x3066, "te" },
+ { 0x3067, "de" },
+ { 0x3068, "to" },
+ { 0x3069, "do" },
+ { 0x306a, "na" },
+ { 0x306b, "ni" },
+ { 0x306c, "nu" },
+ { 0x306d, "ne" },
+ { 0x306e, "no" },
+ { 0x306f, "ha" },
+ { 0x3070, "ba" },
+ { 0x3071, "pa" },
+ { 0x3072, "hi" },
+ { 0x3073, "bi" },
+ { 0x3074, "pi" },
+ { 0x3075, "hu" },
+ { 0x3076, "bu" },
+ { 0x3077, "pu" },
+ { 0x3078, "he" },
+ { 0x3079, "be" },
+ { 0x307a, "pe" },
+ { 0x307b, "ho" },
+ { 0x307c, "bo" },
+ { 0x307d, "po" },
+ { 0x307e, "ma" },
+ { 0x307f, "mi" },
+ { 0x3080, "mu" },
+ { 0x3081, "me" },
+ { 0x3082, "mo" },
+ { 0x3083, "yA" },
+ { 0x3084, "ya" },
+ { 0x3085, "yU" },
+ { 0x3086, "yu" },
+ { 0x3087, "yO" },
+ { 0x3088, "yo" },
+ { 0x3089, "ra" },
+ { 0x308a, "ri" },
+ { 0x308b, "ru" },
+ { 0x308c, "re" },
+ { 0x308d, "ro" },
+ { 0x308e, "wA" },
+ { 0x308f, "wa" },
+ { 0x3090, "wi" },
+ { 0x3091, "we" },
+ { 0x3092, "wo" },
+ { 0x3093, "n5" },
+ { 0x3094, "vu" },
+ { 0x309b, "\"5" },
+ { 0x309c, "05" },
+ { 0x309d, "*5" },
+ { 0x309e, "+5" },
+ { 0x30a1, "a6" },
+ { 0x30a2, "A6" },
+ { 0x30a3, "i6" },
+ { 0x30a4, "I6" },
+ { 0x30a5, "u6" },
+ { 0x30a6, "U6" },
+ { 0x30a7, "e6" },
+ { 0x30a8, "E6" },
+ { 0x30a9, "o6" },
+ { 0x30aa, "O6" },
+ { 0x30ab, "Ka" },
+ { 0x30ac, "Ga" },
+ { 0x30ad, "Ki" },
+ { 0x30ae, "Gi" },
+ { 0x30af, "Ku" },
+ { 0x30b0, "Gu" },
+ { 0x30b1, "Ke" },
+ { 0x30b2, "Ge" },
+ { 0x30b3, "Ko" },
+ { 0x30b4, "Go" },
+ { 0x30b5, "Sa" },
+ { 0x30b6, "Za" },
+ { 0x30b7, "Si" },
+ { 0x30b8, "Zi" },
+ { 0x30b9, "Su" },
+ { 0x30ba, "Zu" },
+ { 0x30bb, "Se" },
+ { 0x30bc, "Ze" },
+ { 0x30bd, "So" },
+ { 0x30be, "Zo" },
+ { 0x30bf, "Ta" },
+ { 0x30c0, "Da" },
+ { 0x30c1, "Ti" },
+ { 0x30c2, "Di" },
+ { 0x30c3, "TU" },
+ { 0x30c4, "Tu" },
+ { 0x30c5, "Du" },
+ { 0x30c6, "Te" },
+ { 0x30c7, "De" },
+ { 0x30c8, "To" },
+ { 0x30c9, "Do" },
+ { 0x30ca, "Na" },
+ { 0x30cb, "Ni" },
+ { 0x30cc, "Nu" },
+ { 0x30cd, "Ne" },
+ { 0x30ce, "No" },
+ { 0x30cf, "Ha" },
+ { 0x30d0, "Ba" },
+ { 0x30d1, "Pa" },
+ { 0x30d2, "Hi" },
+ { 0x30d3, "Bi" },
+ { 0x30d4, "Pi" },
+ { 0x30d5, "Hu" },
+ { 0x30d6, "Bu" },
+ { 0x30d7, "Pu" },
+ { 0x30d8, "He" },
+ { 0x30d9, "Be" },
+ { 0x30da, "Pe" },
+ { 0x30db, "Ho" },
+ { 0x30dc, "Bo" },
+ { 0x30dd, "Po" },
+ { 0x30de, "Ma" },
+ { 0x30df, "Mi" },
+ { 0x30e0, "Mu" },
+ { 0x30e1, "Me" },
+ { 0x30e2, "Mo" },
+ { 0x30e3, "YA" },
+ { 0x30e4, "Ya" },
+ { 0x30e5, "YU" },
+ { 0x30e6, "Yu" },
+ { 0x30e7, "YO" },
+ { 0x30e8, "Yo" },
+ { 0x30e9, "Ra" },
+ { 0x30ea, "Ri" },
+ { 0x30eb, "Ru" },
+ { 0x30ec, "Re" },
+ { 0x30ed, "Ro" },
+ { 0x30ee, "WA" },
+ { 0x30ef, "Wa" },
+ { 0x30f0, "Wi" },
+ { 0x30f1, "We" },
+ { 0x30f2, "Wo" },
+ { 0x30f3, "N6" },
+ { 0x30f4, "Vu" },
+ { 0x30f5, "KA" },
+ { 0x30f6, "KE" },
+ { 0x30f7, "Va" },
+ { 0x30f8, "Vi" },
+ { 0x30f9, "Ve" },
+ { 0x30fa, "Vo" },
+ { 0x30fb, ".6" },
+ { 0x30fc, "-6" },
+ { 0x30fd, "*6" },
+ { 0x30fe, "+6" },
+ { 0x3105, "b4" },
+ { 0x3106, "p4" },
+ { 0x3107, "m4" },
+ { 0x3108, "f4" },
+ { 0x3109, "d4" },
+ { 0x310a, "t4" },
+ { 0x310b, "n4" },
+ { 0x310c, "l4" },
+ { 0x310d, "g4" },
+ { 0x310e, "k4" },
+ { 0x310f, "h4" },
+ { 0x3110, "j4" },
+ { 0x3111, "q4" },
+ { 0x3112, "x4" },
+ { 0x3113, "zh" },
+ { 0x3114, "ch" },
+ { 0x3115, "sh" },
+ { 0x3116, "r4" },
+ { 0x3117, "z4" },
+ { 0x3118, "c4" },
+ { 0x3119, "s4" },
+ { 0x311a, "a4" },
+ { 0x311b, "o4" },
+ { 0x311c, "e4" },
+ { 0x311d, "eh4" },
+ { 0x311e, "ai" },
+ { 0x311f, "ei" },
+ { 0x3120, "au" },
+ { 0x3121, "ou" },
+ { 0x3122, "an" },
+ { 0x3123, "en" },
+ { 0x3124, "aN" },
+ { 0x3125, "eN" },
+ { 0x3126, "er" },
+ { 0x3127, "i4" },
+ { 0x3128, "u4" },
+ { 0x3129, "iu" },
+ { 0x312a, "v4" },
+ { 0x312b, "nG" },
+ { 0x312c, "gn" },
+ { 0x321c, "(JU)" },
+ { 0x3220, "1c" },
+ { 0x3221, "2c" },
+ { 0x3222, "3c" },
+ { 0x3223, "4c" },
+ { 0x3224, "5c" },
+ { 0x3225, "6c" },
+ { 0x3226, "7c" },
+ { 0x3227, "8c" },
+ { 0x3228, "9c" },
+ { 0x3229, "10c" },
+ { 0x327f, "KSC" },
+ { 0x33c2, "am" },
+ { 0x33d8, "pm" },
+ { 0xfb00, "ff" },
+ { 0xfb01, "fi" },
+ { 0xfb02, "fl" },
+ { 0xfb03, "ffi" },
+ { 0xfb04, "ffl" },
+ { 0xfb05, "St" },
+ { 0xfb06, "st" },
+ { 0xfe7d, "3+;" },
+ { 0xfe82, "aM." },
+ { 0xfe84, "aH." },
+ { 0xfe88, "ah." },
+ { 0xfe8d, "a+-" },
+ { 0xfe8e, "a+." },
+ { 0xfe8f, "b+-" },
+ { 0xfe90, "b+." },
+ { 0xfe91, "b+," },
+ { 0xfe92, "b+;" },
+ { 0xfe93, "tm-" },
+ { 0xfe94, "tm." },
+ { 0xfe95, "t+-" },
+ { 0xfe96, "t+." },
+ { 0xfe97, "t+," },
+ { 0xfe98, "t+;" },
+ { 0xfe99, "tk-" },
+ { 0xfe9a, "tk." },
+ { 0xfe9b, "tk," },
+ { 0xfe9c, "tk;" },
+ { 0xfe9d, "g+-" },
+ { 0xfe9e, "g+." },
+ { 0xfe9f, "g+," },
+ { 0xfea0, "g+;" },
+ { 0xfea1, "hk-" },
+ { 0xfea2, "hk." },
+ { 0xfea3, "hk," },
+ { 0xfea4, "hk;" },
+ { 0xfea5, "x+-" },
+ { 0xfea6, "x+." },
+ { 0xfea7, "x+," },
+ { 0xfea8, "x+;" },
+ { 0xfea9, "d+-" },
+ { 0xfeaa, "d+." },
+ { 0xfeab, "dk-" },
+ { 0xfeac, "dk." },
+ { 0xfead, "r+-" },
+ { 0xfeae, "r+." },
+ { 0xfeaf, "z+-" },
+ { 0xfeb0, "z+." },
+ { 0xfeb1, "s+-" },
+ { 0xfeb2, "s+." },
+ { 0xfeb3, "s+," },
+ { 0xfeb4, "s+;" },
+ { 0xfeb5, "sn-" },
+ { 0xfeb6, "sn." },
+ { 0xfeb7, "sn," },
+ { 0xfeb8, "sn;" },
+ { 0xfeb9, "c+-" },
+ { 0xfeba, "c+." },
+ { 0xfebb, "c+," },
+ { 0xfebc, "c+;" },
+ { 0xfebd, "dd-" },
+ { 0xfebe, "dd." },
+ { 0xfebf, "dd," },
+ { 0xfec0, "dd;" },
+ { 0xfec1, "tj-" },
+ { 0xfec2, "tj." },
+ { 0xfec3, "tj," },
+ { 0xfec4, "tj;" },
+ { 0xfec5, "zH-" },
+ { 0xfec6, "zH." },
+ { 0xfec7, "zH," },
+ { 0xfec8, "zH;" },
+ { 0xfec9, "e+-" },
+ { 0xfeca, "e+." },
+ { 0xfecb, "e+," },
+ { 0xfecc, "e+;" },
+ { 0xfecd, "i+-" },
+ { 0xfece, "i+." },
+ { 0xfecf, "i+," },
+ { 0xfed0, "i+;" },
+ { 0xfed1, "f+-" },
+ { 0xfed2, "f+." },
+ { 0xfed3, "f+," },
+ { 0xfed4, "f+;" },
+ { 0xfed5, "q+-" },
+ { 0xfed6, "q+." },
+ { 0xfed7, "q+," },
+ { 0xfed8, "q+;" },
+ { 0xfed9, "k+-" },
+ { 0xfeda, "k+." },
+ { 0xfedb, "k+," },
+ { 0xfedc, "k+;" },
+ { 0xfedd, "l+-" },
+ { 0xfede, "l+." },
+ { 0xfedf, "l+," },
+ { 0xfee0, "l+;" },
+ { 0xfee1, "m+-" },
+ { 0xfee2, "m+." },
+ { 0xfee3, "m+," },
+ { 0xfee4, "m+;" },
+ { 0xfee5, "n+-" },
+ { 0xfee6, "n+." },
+ { 0xfee7, "n+," },
+ { 0xfee8, "n+;" },
+ { 0xfee9, "h+-" },
+ { 0xfeea, "h+." },
+ { 0xfeeb, "h+," },
+ { 0xfeec, "h+;" },
+ { 0xfeed, "w+-" },
+ { 0xfeee, "w+." },
+ { 0xfeef, "j+-" },
+ { 0xfef0, "j+." },
+ { 0xfef1, "y+-" },
+ { 0xfef2, "y+." },
+ { 0xfef3, "y+," },
+ { 0xfef4, "y+;" },
+ { 0xfef5, "lM-" },
+ { 0xfef6, "lM." },
+ { 0xfef7, "lH-" },
+ { 0xfef8, "lH." },
+ { 0xfef9, "lh-" },
+ { 0xfefa, "lh." },
+ { 0xfefb, "la-" },
+ { 0xfefc, "la." },
+ { -1, NULL }
+};
+
+#define N_UNICODE_7B 2317
diff --git a/upcase.inc b/upcase.inc
new file mode 100644
index 0000000..a601288
--- /dev/null
+++ b/upcase.inc
@@ -0,0 +1,679 @@
+/* Automatically generated by gen-upc */
+
+static struct { unsigned lo; unsigned up; } unicode_upcase [] = {
+ { 97, 65 },
+ { 98, 66 },
+ { 99, 67 },
+ { 100, 68 },
+ { 101, 69 },
+ { 102, 70 },
+ { 103, 71 },
+ { 104, 72 },
+ { 105, 73 },
+ { 106, 74 },
+ { 107, 75 },
+ { 108, 76 },
+ { 109, 77 },
+ { 110, 78 },
+ { 111, 79 },
+ { 112, 80 },
+ { 113, 81 },
+ { 114, 82 },
+ { 115, 83 },
+ { 116, 84 },
+ { 117, 85 },
+ { 118, 86 },
+ { 119, 87 },
+ { 120, 88 },
+ { 121, 89 },
+ { 122, 90 },
+ { 160, 32 },
+ { 181, 924 },
+ { 224, 192 },
+ { 225, 193 },
+ { 226, 194 },
+ { 227, 195 },
+ { 228, 196 },
+ { 229, 197 },
+ { 230, 198 },
+ { 231, 199 },
+ { 232, 200 },
+ { 233, 201 },
+ { 234, 202 },
+ { 235, 203 },
+ { 236, 204 },
+ { 237, 205 },
+ { 238, 206 },
+ { 239, 207 },
+ { 240, 208 },
+ { 241, 209 },
+ { 242, 210 },
+ { 243, 211 },
+ { 244, 212 },
+ { 245, 213 },
+ { 246, 214 },
+ { 248, 216 },
+ { 249, 217 },
+ { 250, 218 },
+ { 251, 219 },
+ { 252, 220 },
+ { 253, 221 },
+ { 254, 222 },
+ { 255, 376 },
+ { 257, 256 },
+ { 259, 258 },
+ { 261, 260 },
+ { 263, 262 },
+ { 265, 264 },
+ { 267, 266 },
+ { 269, 268 },
+ { 271, 270 },
+ { 273, 272 },
+ { 275, 274 },
+ { 277, 276 },
+ { 279, 278 },
+ { 281, 280 },
+ { 283, 282 },
+ { 285, 284 },
+ { 287, 286 },
+ { 289, 288 },
+ { 291, 290 },
+ { 293, 292 },
+ { 295, 294 },
+ { 297, 296 },
+ { 299, 298 },
+ { 301, 300 },
+ { 303, 302 },
+ { 305, 73 },
+ { 307, 306 },
+ { 309, 308 },
+ { 311, 310 },
+ { 314, 313 },
+ { 316, 315 },
+ { 318, 317 },
+ { 320, 319 },
+ { 322, 321 },
+ { 324, 323 },
+ { 326, 325 },
+ { 328, 327 },
+ { 331, 330 },
+ { 333, 332 },
+ { 335, 334 },
+ { 337, 336 },
+ { 339, 338 },
+ { 341, 340 },
+ { 343, 342 },
+ { 345, 344 },
+ { 347, 346 },
+ { 349, 348 },
+ { 351, 350 },
+ { 353, 352 },
+ { 355, 354 },
+ { 357, 356 },
+ { 359, 358 },
+ { 361, 360 },
+ { 363, 362 },
+ { 365, 364 },
+ { 367, 366 },
+ { 369, 368 },
+ { 371, 370 },
+ { 373, 372 },
+ { 375, 374 },
+ { 378, 377 },
+ { 380, 379 },
+ { 382, 381 },
+ { 383, 83 },
+ { 387, 386 },
+ { 389, 388 },
+ { 392, 391 },
+ { 396, 395 },
+ { 402, 401 },
+ { 405, 502 },
+ { 409, 408 },
+ { 414, 544 },
+ { 417, 416 },
+ { 419, 418 },
+ { 421, 420 },
+ { 424, 423 },
+ { 429, 428 },
+ { 432, 431 },
+ { 436, 435 },
+ { 438, 437 },
+ { 441, 440 },
+ { 445, 444 },
+ { 447, 503 },
+ { 454, 452 },
+ { 457, 455 },
+ { 460, 458 },
+ { 462, 461 },
+ { 464, 463 },
+ { 466, 465 },
+ { 468, 467 },
+ { 470, 469 },
+ { 472, 471 },
+ { 474, 473 },
+ { 476, 475 },
+ { 477, 398 },
+ { 479, 478 },
+ { 481, 480 },
+ { 483, 482 },
+ { 485, 484 },
+ { 487, 486 },
+ { 489, 488 },
+ { 491, 490 },
+ { 493, 492 },
+ { 495, 494 },
+ { 499, 497 },
+ { 501, 500 },
+ { 505, 504 },
+ { 507, 506 },
+ { 509, 508 },
+ { 511, 510 },
+ { 513, 512 },
+ { 515, 514 },
+ { 517, 516 },
+ { 519, 518 },
+ { 521, 520 },
+ { 523, 522 },
+ { 525, 524 },
+ { 527, 526 },
+ { 529, 528 },
+ { 531, 530 },
+ { 533, 532 },
+ { 535, 534 },
+ { 537, 536 },
+ { 539, 538 },
+ { 541, 540 },
+ { 543, 542 },
+ { 547, 546 },
+ { 549, 548 },
+ { 551, 550 },
+ { 553, 552 },
+ { 555, 554 },
+ { 557, 556 },
+ { 559, 558 },
+ { 561, 560 },
+ { 563, 562 },
+ { 595, 385 },
+ { 596, 390 },
+ { 598, 393 },
+ { 599, 394 },
+ { 601, 399 },
+ { 603, 400 },
+ { 608, 403 },
+ { 611, 404 },
+ { 616, 407 },
+ { 617, 406 },
+ { 623, 412 },
+ { 626, 413 },
+ { 629, 415 },
+ { 640, 422 },
+ { 643, 425 },
+ { 648, 430 },
+ { 650, 433 },
+ { 651, 434 },
+ { 658, 439 },
+ { 940, 902 },
+ { 941, 904 },
+ { 942, 905 },
+ { 943, 906 },
+ { 945, 913 },
+ { 946, 914 },
+ { 947, 915 },
+ { 948, 916 },
+ { 949, 917 },
+ { 950, 918 },
+ { 951, 919 },
+ { 952, 920 },
+ { 953, 921 },
+ { 954, 922 },
+ { 955, 923 },
+ { 956, 924 },
+ { 957, 925 },
+ { 958, 926 },
+ { 959, 927 },
+ { 960, 928 },
+ { 961, 929 },
+ { 962, 931 },
+ { 963, 931 },
+ { 964, 932 },
+ { 965, 933 },
+ { 966, 934 },
+ { 967, 935 },
+ { 968, 936 },
+ { 969, 937 },
+ { 970, 938 },
+ { 971, 939 },
+ { 972, 908 },
+ { 973, 910 },
+ { 974, 911 },
+ { 976, 914 },
+ { 977, 920 },
+ { 981, 934 },
+ { 982, 928 },
+ { 985, 984 },
+ { 987, 986 },
+ { 989, 988 },
+ { 991, 990 },
+ { 993, 992 },
+ { 995, 994 },
+ { 997, 996 },
+ { 999, 998 },
+ { 1001, 1000 },
+ { 1003, 1002 },
+ { 1005, 1004 },
+ { 1007, 1006 },
+ { 1008, 922 },
+ { 1009, 929 },
+ { 1010, 931 },
+ { 1013, 917 },
+ { 1072, 1040 },
+ { 1073, 1041 },
+ { 1074, 1042 },
+ { 1075, 1043 },
+ { 1076, 1044 },
+ { 1077, 1045 },
+ { 1078, 1046 },
+ { 1079, 1047 },
+ { 1080, 1048 },
+ { 1081, 1049 },
+ { 1082, 1050 },
+ { 1083, 1051 },
+ { 1084, 1052 },
+ { 1085, 1053 },
+ { 1086, 1054 },
+ { 1087, 1055 },
+ { 1088, 1056 },
+ { 1089, 1057 },
+ { 1090, 1058 },
+ { 1091, 1059 },
+ { 1092, 1060 },
+ { 1093, 1061 },
+ { 1094, 1062 },
+ { 1095, 1063 },
+ { 1096, 1064 },
+ { 1097, 1065 },
+ { 1098, 1066 },
+ { 1099, 1067 },
+ { 1100, 1068 },
+ { 1101, 1069 },
+ { 1102, 1070 },
+ { 1103, 1071 },
+ { 1104, 1024 },
+ { 1105, 1025 },
+ { 1106, 1026 },
+ { 1107, 1027 },
+ { 1108, 1028 },
+ { 1109, 1029 },
+ { 1110, 1030 },
+ { 1111, 1031 },
+ { 1112, 1032 },
+ { 1113, 1033 },
+ { 1114, 1034 },
+ { 1115, 1035 },
+ { 1116, 1036 },
+ { 1117, 1037 },
+ { 1118, 1038 },
+ { 1119, 1039 },
+ { 1121, 1120 },
+ { 1123, 1122 },
+ { 1125, 1124 },
+ { 1127, 1126 },
+ { 1129, 1128 },
+ { 1131, 1130 },
+ { 1133, 1132 },
+ { 1135, 1134 },
+ { 1137, 1136 },
+ { 1139, 1138 },
+ { 1141, 1140 },
+ { 1143, 1142 },
+ { 1145, 1144 },
+ { 1147, 1146 },
+ { 1149, 1148 },
+ { 1151, 1150 },
+ { 1153, 1152 },
+ { 1163, 1162 },
+ { 1165, 1164 },
+ { 1167, 1166 },
+ { 1169, 1168 },
+ { 1171, 1170 },
+ { 1173, 1172 },
+ { 1175, 1174 },
+ { 1177, 1176 },
+ { 1179, 1178 },
+ { 1181, 1180 },
+ { 1183, 1182 },
+ { 1185, 1184 },
+ { 1187, 1186 },
+ { 1189, 1188 },
+ { 1191, 1190 },
+ { 1193, 1192 },
+ { 1195, 1194 },
+ { 1197, 1196 },
+ { 1199, 1198 },
+ { 1201, 1200 },
+ { 1203, 1202 },
+ { 1205, 1204 },
+ { 1207, 1206 },
+ { 1209, 1208 },
+ { 1211, 1210 },
+ { 1213, 1212 },
+ { 1215, 1214 },
+ { 1218, 1217 },
+ { 1220, 1219 },
+ { 1222, 1221 },
+ { 1224, 1223 },
+ { 1226, 1225 },
+ { 1228, 1227 },
+ { 1230, 1229 },
+ { 1233, 1232 },
+ { 1235, 1234 },
+ { 1237, 1236 },
+ { 1239, 1238 },
+ { 1241, 1240 },
+ { 1243, 1242 },
+ { 1245, 1244 },
+ { 1247, 1246 },
+ { 1249, 1248 },
+ { 1251, 1250 },
+ { 1253, 1252 },
+ { 1255, 1254 },
+ { 1257, 1256 },
+ { 1259, 1258 },
+ { 1261, 1260 },
+ { 1263, 1262 },
+ { 1265, 1264 },
+ { 1267, 1266 },
+ { 1269, 1268 },
+ { 1273, 1272 },
+ { 1281, 1280 },
+ { 1283, 1282 },
+ { 1285, 1284 },
+ { 1287, 1286 },
+ { 1289, 1288 },
+ { 1291, 1290 },
+ { 1293, 1292 },
+ { 1295, 1294 },
+ { 1377, 1329 },
+ { 1378, 1330 },
+ { 1379, 1331 },
+ { 1380, 1332 },
+ { 1381, 1333 },
+ { 1382, 1334 },
+ { 1383, 1335 },
+ { 1384, 1336 },
+ { 1385, 1337 },
+ { 1386, 1338 },
+ { 1387, 1339 },
+ { 1388, 1340 },
+ { 1389, 1341 },
+ { 1390, 1342 },
+ { 1391, 1343 },
+ { 1392, 1344 },
+ { 1393, 1345 },
+ { 1394, 1346 },
+ { 1395, 1347 },
+ { 1396, 1348 },
+ { 1397, 1349 },
+ { 1398, 1350 },
+ { 1399, 1351 },
+ { 1400, 1352 },
+ { 1401, 1353 },
+ { 1402, 1354 },
+ { 1403, 1355 },
+ { 1404, 1356 },
+ { 1405, 1357 },
+ { 1406, 1358 },
+ { 1407, 1359 },
+ { 1408, 1360 },
+ { 1409, 1361 },
+ { 1410, 1362 },
+ { 1411, 1363 },
+ { 1412, 1364 },
+ { 1413, 1365 },
+ { 1414, 1366 },
+ { 7681, 7680 },
+ { 7683, 7682 },
+ { 7685, 7684 },
+ { 7687, 7686 },
+ { 7689, 7688 },
+ { 7691, 7690 },
+ { 7693, 7692 },
+ { 7695, 7694 },
+ { 7697, 7696 },
+ { 7699, 7698 },
+ { 7701, 7700 },
+ { 7703, 7702 },
+ { 7705, 7704 },
+ { 7707, 7706 },
+ { 7709, 7708 },
+ { 7711, 7710 },
+ { 7713, 7712 },
+ { 7715, 7714 },
+ { 7717, 7716 },
+ { 7719, 7718 },
+ { 7721, 7720 },
+ { 7723, 7722 },
+ { 7725, 7724 },
+ { 7727, 7726 },
+ { 7729, 7728 },
+ { 7731, 7730 },
+ { 7733, 7732 },
+ { 7735, 7734 },
+ { 7737, 7736 },
+ { 7739, 7738 },
+ { 7741, 7740 },
+ { 7743, 7742 },
+ { 7745, 7744 },
+ { 7747, 7746 },
+ { 7749, 7748 },
+ { 7751, 7750 },
+ { 7753, 7752 },
+ { 7755, 7754 },
+ { 7757, 7756 },
+ { 7759, 7758 },
+ { 7761, 7760 },
+ { 7763, 7762 },
+ { 7765, 7764 },
+ { 7767, 7766 },
+ { 7769, 7768 },
+ { 7771, 7770 },
+ { 7773, 7772 },
+ { 7775, 7774 },
+ { 7777, 7776 },
+ { 7779, 7778 },
+ { 7781, 7780 },
+ { 7783, 7782 },
+ { 7785, 7784 },
+ { 7787, 7786 },
+ { 7789, 7788 },
+ { 7791, 7790 },
+ { 7793, 7792 },
+ { 7795, 7794 },
+ { 7797, 7796 },
+ { 7799, 7798 },
+ { 7801, 7800 },
+ { 7803, 7802 },
+ { 7805, 7804 },
+ { 7807, 7806 },
+ { 7809, 7808 },
+ { 7811, 7810 },
+ { 7813, 7812 },
+ { 7815, 7814 },
+ { 7817, 7816 },
+ { 7819, 7818 },
+ { 7821, 7820 },
+ { 7823, 7822 },
+ { 7825, 7824 },
+ { 7827, 7826 },
+ { 7829, 7828 },
+ { 7835, 7776 },
+ { 7841, 7840 },
+ { 7843, 7842 },
+ { 7845, 7844 },
+ { 7847, 7846 },
+ { 7849, 7848 },
+ { 7851, 7850 },
+ { 7853, 7852 },
+ { 7855, 7854 },
+ { 7857, 7856 },
+ { 7859, 7858 },
+ { 7861, 7860 },
+ { 7863, 7862 },
+ { 7865, 7864 },
+ { 7867, 7866 },
+ { 7869, 7868 },
+ { 7871, 7870 },
+ { 7873, 7872 },
+ { 7875, 7874 },
+ { 7877, 7876 },
+ { 7879, 7878 },
+ { 7881, 7880 },
+ { 7883, 7882 },
+ { 7885, 7884 },
+ { 7887, 7886 },
+ { 7889, 7888 },
+ { 7891, 7890 },
+ { 7893, 7892 },
+ { 7895, 7894 },
+ { 7897, 7896 },
+ { 7899, 7898 },
+ { 7901, 7900 },
+ { 7903, 7902 },
+ { 7905, 7904 },
+ { 7907, 7906 },
+ { 7909, 7908 },
+ { 7911, 7910 },
+ { 7913, 7912 },
+ { 7915, 7914 },
+ { 7917, 7916 },
+ { 7919, 7918 },
+ { 7921, 7920 },
+ { 7923, 7922 },
+ { 7925, 7924 },
+ { 7927, 7926 },
+ { 7929, 7928 },
+ { 7936, 7944 },
+ { 7937, 7945 },
+ { 7938, 7946 },
+ { 7939, 7947 },
+ { 7940, 7948 },
+ { 7941, 7949 },
+ { 7942, 7950 },
+ { 7943, 7951 },
+ { 7952, 7960 },
+ { 7953, 7961 },
+ { 7954, 7962 },
+ { 7955, 7963 },
+ { 7956, 7964 },
+ { 7957, 7965 },
+ { 7968, 7976 },
+ { 7969, 7977 },
+ { 7970, 7978 },
+ { 7971, 7979 },
+ { 7972, 7980 },
+ { 7973, 7981 },
+ { 7974, 7982 },
+ { 7975, 7983 },
+ { 7984, 7992 },
+ { 7985, 7993 },
+ { 7986, 7994 },
+ { 7987, 7995 },
+ { 7988, 7996 },
+ { 7989, 7997 },
+ { 7990, 7998 },
+ { 7991, 7999 },
+ { 8000, 8008 },
+ { 8001, 8009 },
+ { 8002, 8010 },
+ { 8003, 8011 },
+ { 8004, 8012 },
+ { 8005, 8013 },
+ { 8017, 8025 },
+ { 8019, 8027 },
+ { 8021, 8029 },
+ { 8023, 8031 },
+ { 8032, 8040 },
+ { 8033, 8041 },
+ { 8034, 8042 },
+ { 8035, 8043 },
+ { 8036, 8044 },
+ { 8037, 8045 },
+ { 8038, 8046 },
+ { 8039, 8047 },
+ { 8048, 8122 },
+ { 8049, 8123 },
+ { 8050, 8136 },
+ { 8051, 8137 },
+ { 8052, 8138 },
+ { 8053, 8139 },
+ { 8054, 8154 },
+ { 8055, 8155 },
+ { 8056, 8184 },
+ { 8057, 8185 },
+ { 8058, 8170 },
+ { 8059, 8171 },
+ { 8060, 8186 },
+ { 8061, 8187 },
+ { 8064, 8072 },
+ { 8065, 8073 },
+ { 8066, 8074 },
+ { 8067, 8075 },
+ { 8068, 8076 },
+ { 8069, 8077 },
+ { 8070, 8078 },
+ { 8071, 8079 },
+ { 8080, 8088 },
+ { 8081, 8089 },
+ { 8082, 8090 },
+ { 8083, 8091 },
+ { 8084, 8092 },
+ { 8085, 8093 },
+ { 8086, 8094 },
+ { 8087, 8095 },
+ { 8096, 8104 },
+ { 8097, 8105 },
+ { 8098, 8106 },
+ { 8099, 8107 },
+ { 8100, 8108 },
+ { 8101, 8109 },
+ { 8102, 8110 },
+ { 8103, 8111 },
+ { 8112, 8120 },
+ { 8113, 8121 },
+ { 8115, 8124 },
+ { 8126, 921 },
+ { 8131, 8140 },
+ { 8144, 8152 },
+ { 8145, 8153 },
+ { 8160, 8168 },
+ { 8161, 8169 },
+ { 8165, 8172 },
+ { 8179, 8188 },
+ { 65345, 65313 },
+ { 65346, 65314 },
+ { 65347, 65315 },
+ { 65348, 65316 },
+ { 65349, 65317 },
+ { 65350, 65318 },
+ { 65351, 65319 },
+ { 65352, 65320 },
+ { 65353, 65321 },
+ { 65354, 65322 },
+ { 65355, 65323 },
+ { 65356, 65324 },
+ { 65357, 65325 },
+ { 65358, 65326 },
+ { 65359, 65327 },
+ { 65360, 65328 },
+ { 65361, 65329 },
+ { 65362, 65330 },
+ { 65363, 65331 },
+ { 65364, 65332 },
+ { 65365, 65333 },
+ { 65366, 65334 },
+ { 65367, 65335 },
+ { 65368, 65336 },
+ { 65369, 65337 },
+ { 65370, 65338 },
+};
diff --git a/url.c b/url.c
new file mode 100644
index 0000000..9fc885e
--- /dev/null
+++ b/url.c
@@ -0,0 +1,575 @@
+/* url.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+static const struct {
+ unsigned char *prot;
+ int port;
+ void (*func)(struct connection *);
+ void (*nc_func)(struct session *, unsigned char *);
+ int free_syntax;
+ int need_slashes;
+ int need_slash_after_host;
+ int allow_post;
+ int bypasses_socks;
+} protocols[]= {
+ {"file", 0, file_func, NULL, 1, 1, 0, 0, 1},
+ {"https", 443, https_func, NULL, 0, 1, 1, 1, 0},
+ {"http", 80, http_func, NULL, 0, 1, 1, 1, 0},
+ {"proxy", 3128, proxy_func, NULL, 0, 1, 1, 1, 0},
+ {"ftp", 21, ftp_func, NULL, 0, 1, 1, 0, 0},
+ {"finger", 79, finger_func, NULL, 0, 1, 1, 0, 0},
+#ifndef DISABLE_SMB
+ {"smb", 139, smb_func, NULL, 0, 1, 1, 0, 1},
+#endif
+ {"mailto", 0, NULL, mailto_func, 0, 0, 0, 0, 0},
+ {"telnet", 0, NULL, telnet_func, 0, 0, 0, 0, 1},
+ {"tn3270", 0, NULL, tn3270_func, 0, 0, 0, 0, 1},
+ {"mms", 0, NULL, mms_func, 1, 0, 1, 0, 1},
+ {"magnet", 0, NULL, magnet_func, 1, 0, 0, 0, 1},
+#ifdef JS
+ {"javascript", 0, NULL, javascript_func,1, 0, 0, 0, 0},
+#endif
+ {NULL, 0, NULL, NULL, 0, 0, 0, 0, 0}
+};
+
+
+
+static int check_protocol(unsigned char *p, int l)
+{
+ int i;
+ for (i = 0; protocols[i].prot; i++)
+ if (!casecmp(protocols[i].prot, p, l) && strlen(protocols[i].prot) == (size_t)l) {
+ return i;
+ }
+ return -1;
+}
+
+static int get_prot_info(unsigned char *prot, int *port, void (**func)(struct connection *), void (**nc_func)(struct session *ses, unsigned char *), int *allow_post, int *bypasses_socks)
+{
+ int i;
+ for (i = 0; protocols[i].prot; i++)
+ if (!strcasecmp(protocols[i].prot, prot)) {
+ if (port) *port = protocols[i].port;
+ if (func) *func = protocols[i].func;
+ if (nc_func) *nc_func = protocols[i].nc_func;
+ if (allow_post) *allow_post = protocols[i].allow_post;
+ if (bypasses_socks) *bypasses_socks = protocols[i].bypasses_socks;
+ return 0;
+ }
+ return -1;
+}
+
+int parse_url(unsigned char *url, int *prlen, unsigned char **user, int *uslen, unsigned char **pass, int *palen, unsigned char **host, int *holen, unsigned char **port, int *polen, unsigned char **data, int *dalen, unsigned char **post)
+{
+ unsigned char *p, *q;
+ unsigned char p_c[2];
+ int a;
+ if (prlen) *prlen = 0;
+ if (user) *user = NULL;
+ if (uslen) *uslen = 0;
+ if (pass) *pass = NULL;
+ if (palen) *palen = 0;
+ if (host) *host = NULL;
+ if (holen) *holen = 0;
+ if (port) *port = NULL;
+ if (polen) *polen = 0;
+ if (data) *data = NULL;
+ if (dalen) *dalen = 0;
+ if (post) *post = NULL;
+ if (!url || !(p = strchr(url, ':'))) return -1;
+ if (prlen) *prlen = p - url;
+ if ((a = check_protocol(url, p - url)) == -1) return -1;
+ if (p[1] != '/' || p[2] != '/') {
+ if (protocols[a].need_slashes) return -1;
+ p -= 2;
+ }
+ if (protocols[a].free_syntax) {
+ if (data) *data = p + 3;
+ if (dalen) *dalen = strlen(p + 3);
+ return 0;
+ }
+ p += 3;
+ q = p + strcspn(p, "@/?");
+ if (!*q && protocols[a].need_slash_after_host) return -1;
+ if (*q == '@') {
+ unsigned char *pp;
+ while (strcspn(q + 1, "@") < strcspn(q + 1, "/?"))
+ q = q + 1 + strcspn(q + 1, "@");
+ pp = strchr(p, ':');
+ if (!pp || pp > q) {
+ if (user) *user = p;
+ if (uslen) *uslen = q - p;
+ } else {
+ if (user) *user = p;
+ if (uslen) *uslen = pp - p;
+ if (pass) *pass = pp + 1;
+ if (palen) *palen = q - pp - 1;
+ }
+ p = q + 1;
+ }
+ q = p + strcspn(p, ":/?");
+ if (!*q && protocols[a].need_slash_after_host) return -1;
+ if (host) *host = p;
+ if (holen) *holen = q - p;
+ if (*q == ':') {
+ unsigned char *pp = q + strcspn(q, "/");
+ int cc;
+ if (*pp != '/' && protocols[a].need_slash_after_host) return -1;
+ if (port) *port = q + 1;
+ if (polen) *polen = pp - q - 1;
+ for (cc = 0; cc < pp - q - 1; cc++) if (q[cc+1] < '0' || q[cc+1] > '9') return -1;
+ q = pp;
+ }
+ if (*q && *q != '?') q++;
+ p = q;
+ p_c[0] = POST_CHAR;
+ p_c[1] = 0;
+ q = p + strcspn(p, p_c);
+ if (data) *data = p;
+ if (dalen) *dalen = q - p;
+ if (post) *post = *q ? q + 1 : NULL;
+ return 0;
+}
+
+unsigned char *get_protocol_name(unsigned char *url)
+{
+ int l;
+ if (parse_url(url, &l, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) return NULL;
+ return memacpy(url, l);
+}
+
+unsigned char *get_host_and_pass(unsigned char *url)
+{
+ unsigned char *u, *h, *p, *z, *k;
+ int hl, pl;
+ if (parse_url(url, NULL, &u, NULL, NULL, NULL, &h, &hl, &p, &pl, NULL, NULL, NULL)) return NULL;
+ z = u ? u : h;
+ k = p ? p + pl : h + hl;
+ return memacpy(z, k - z);
+}
+
+unsigned char *get_host_name(unsigned char *url)
+{
+ unsigned char *h;
+ int hl;
+ if (parse_url(url, NULL, NULL, NULL, NULL, NULL, &h, &hl, NULL, NULL, NULL, NULL, NULL)) return stracpy("");
+ return memacpy(h, hl);
+}
+
+unsigned char *get_user_name(unsigned char *url)
+{
+ unsigned char *h;
+ int hl;
+ if (parse_url(url, NULL, &h, &hl, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) return NULL;
+ return memacpy(h, hl);
+}
+
+unsigned char *get_pass(unsigned char *url)
+{
+ unsigned char *h;
+ int hl;
+ if (parse_url(url, NULL,NULL, NULL, &h, &hl, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) return NULL;
+ return memacpy(h, hl);
+}
+
+unsigned char *get_port_str(unsigned char *url)
+{
+ unsigned char *h;
+ int hl;
+ if (parse_url(url, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &h, &hl, NULL, NULL, NULL)) return NULL;
+ return hl ? memacpy(h, hl) : NULL;
+}
+
+int get_port(unsigned char *url)
+{
+ unsigned char *h;
+ int hl;
+ long n = -1;
+ if (parse_url(url, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &h, &hl, NULL, NULL, NULL)) return -1;
+ if (h) {
+ n = strtol(h, NULL, 10);
+ if (n && n < MAXINT) return n;
+ }
+ if ((h = get_protocol_name(url))) {
+ int nn = -1; /* against warning */
+ get_prot_info(h, &nn, NULL, NULL, NULL, NULL);
+ mem_free(h);
+ n = nn;
+ }
+ return n;
+}
+
+void (*get_protocol_handle(unsigned char *url))(struct connection *)
+{
+ unsigned char *p;
+ void (*f)(struct connection *) = NULL;
+ int post = 0;
+ if (!(p = get_protocol_name(url))) return NULL;
+ get_prot_info(p, NULL, &f, NULL, &post, NULL);
+ mem_free(p);
+ if (!post && strchr(url, POST_CHAR)) return NULL;
+ return f;
+}
+
+void (*get_external_protocol_function(unsigned char *url))(struct session *, unsigned char *)
+{
+ unsigned char *p;
+ void (*f)(struct session *, unsigned char *) = NULL;
+ int post = 0;
+ if (!(p = get_protocol_name(url))) return NULL;
+ get_prot_info(p, NULL, NULL, &f, &post, NULL);
+ mem_free(p);
+ if (!post && strchr(url, POST_CHAR)) return NULL;
+ return f;
+}
+
+int url_bypasses_socks(unsigned char *url)
+{
+ int ret = 0; /* against warning */
+ unsigned char *p;
+ if (!(p = get_protocol_name(url))) return 1;
+ get_prot_info(p, NULL, NULL, NULL, NULL, &ret);
+ mem_free(p);
+ return ret;
+}
+
+unsigned char *get_url_data(unsigned char *url)
+{
+ unsigned char *d;
+ if (parse_url(url, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &d, NULL, NULL)) return NULL;
+ return d;
+}
+
+#define dsep(x) (lo ? dir_sep(x) : (x) == '/')
+
+static void translate_directories(unsigned char *url)
+{
+ unsigned char *dd = get_url_data(url);
+ unsigned char *s, *d;
+ int lo = !casecmp(url, "file://", 7);
+ if (!casecmp(url, "javascript:", 11)) return;
+ if (!casecmp(url, "magnet:", 7)) return;
+ if (!dd || dd == url/* || *--dd != '/'*/) return;
+ if (!dsep(*dd)) {
+ dd--;
+ if (!dsep(*dd)) {
+ dd++;
+ memmove(dd + 1, dd, strlen(dd) + 1);
+ *dd = '/';
+ }
+ }
+ s = dd;
+ d = dd;
+ r:
+ if (end_of_dir(url, s[0])) {
+ memmove(d, s, strlen(s) + 1);
+ return;
+ }
+ if (dsep(s[0]) && s[1] == '.' && dsep(s[2])) {
+ /**d++ = s[0];*/
+ if (s == dd && !s[3]) goto p;
+ s += 2;
+ goto r;
+ }
+ if (dsep(s[0]) && s[1] == '.' && s[2] == '.' && (dsep(s[3]) || !s[3])) {
+ while (d > dd) {
+ d--;
+ if (dsep(*d)) goto b;
+ }
+ b:
+ if (!s[3]) *d++ = *s;
+ s += 3;
+ goto r;
+ }
+ p:
+ if ((*d++ = *s++)) goto r;
+}
+
+unsigned char *translate_hashbang(unsigned char *up)
+{
+ unsigned char *u, *p, *dp, *data, *post_seq;
+ int q;
+ unsigned char *r;
+ int rl;
+ if (!strstr(up, "#!") && !strstr(up, "#%21")) return up;
+ u = stracpy(up);
+ p = extract_position(u);
+ if (!p) {
+ free_u_ret_up:
+ mem_free(u);
+ return up;
+ }
+ if (p[0] == '!') dp = p + 1;
+ else if (!casecmp(p, "%21", 3)) dp = p + 3;
+ else {
+ mem_free(p);
+ goto free_u_ret_up;
+ }
+ if (!(post_seq = strchr(u, POST_CHAR))) post_seq = strchr(u, 0);
+ data = get_url_data(u);
+ if (!data) data = u;
+ r = init_str();
+ rl = 0;
+ add_bytes_to_str(&r, &rl, u, post_seq - u);
+ q = strlen(data);
+ if (q && (data[q - 1] == '&' || data[q - 1] == '?'))
+ ;
+ else if (strchr(data, '?')) add_chr_to_str(&r, &rl, '&');
+ else add_chr_to_str(&r, &rl, '?');
+ add_to_str(&r, &rl, "_escaped_fragment_=");
+ for (; *dp; dp++) {
+ unsigned char c = *dp;
+ if (c <= 0x20 || c == 0x23 || c == 0x25 || c == 0x26 || c == 0x2b || c >= 0x7f) {
+ unsigned char h[4];
+ sprintf(h, "%%%02X", c);
+ add_to_str(&r, &rl, h);
+ } else {
+ add_chr_to_str(&r, &rl, c);
+ }
+ }
+ add_to_str(&r, &rl, post_seq);
+ mem_free(u);
+ mem_free(p);
+ mem_free(up);
+ return r;
+}
+
+static void insert_wd(unsigned char **up, unsigned char *cwd)
+{
+ unsigned char *url = *up;
+ if (!url || !cwd || !*cwd) return;
+ if (casecmp(url, "file://", 7)) return;
+ if (dir_sep(url[7])) return;
+#ifdef DOS_FS
+ if (upcase(url[7]) >= 'A' && upcase(url[7]) <= 'Z' && url[8] == ':' && dir_sep(url[9])) return;
+#endif
+#ifdef SPAD
+ if (_is_absolute(url + 7) != _ABS_NO) return;
+#endif
+ url = mem_alloc(strlen(*up) + strlen(cwd) + 2);
+ memcpy(url, *up, 7);
+ strcpy(url + 7, cwd);
+ if (!dir_sep(cwd[strlen(cwd) - 1])) strcat(url, "/");
+ strcat(url, *up + 7);
+ mem_free(*up);
+ *up = url;
+}
+
+/*
+ * U funkce join_urls musi byt prvni url absolutni (takove, co projde funkci
+ * parse_url bez chyby --- pokud neni absolutni, tak to spatne na internal) a
+ * druhe url je relativni cesta vuci nemu nebo taky absolutni url. Pokud je
+ * druhe url absolutni, vrati se to; pokud je relativni, tak se spoji prvni a
+ * druhe url.
+ */
+unsigned char *join_urls(unsigned char *base, unsigned char *rel)
+{
+ unsigned char *p, *n, *pp, *ch;
+ int l;
+ int lo = !casecmp(base, "file://", 7);
+ if (rel[0] == '#' || !rel[0]) {
+ n = stracpy(base);
+ for (p = n; *p && *p != POST_CHAR && *p != '#'; p++)
+ ;
+ *p = 0;
+ add_to_strn(&n, rel);
+ goto return_n;
+ }
+ if (rel[0] == '?' || rel[0] == '&') {
+ unsigned char rj[3];
+ unsigned char *d = get_url_data(base);
+ if (!d) goto bad_base;
+ rj[0] = rel[0];
+ rj[1] = POST_CHAR;
+ rj[2] = 0;
+ d += strcspn(d, rj);
+ n = memacpy(base, d - base);
+ add_to_strn(&n, rel);
+ goto return_n;
+ }
+ if (rel[0] == '/' && rel[1] == '/') {
+ unsigned char *s;
+ if (!(s = strstr(base, "//"))) {
+ if (!(s = strchr(base, ':'))) {
+ bad_base:
+ internal("bad base url: %s", base);
+ return NULL;
+ }
+ s++;
+ }
+ n = memacpy(base, s - base);
+ add_to_strn(&n, rel);
+ if (!parse_url(n, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) goto return_n;
+ mem_free(n);
+ }
+ if (!casecmp("proxy://", rel, 8)) goto prx;
+ if (!parse_url(rel, &l, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) {
+ n = stracpy(rel);
+ goto return_n;
+ }
+ n = stracpy(rel);
+ while (n[0] && n[strlen(n) - 1] <= ' ') n[strlen(n) - 1] = 0;
+ extend_str(&n, 1);
+ ch = strrchr(n, '#');
+ if (!ch || strchr(ch, '/')) ch = n + strlen(n);
+ memmove(ch + 1, ch, strlen(ch) + 1);
+ *ch = '/';
+ if (!parse_url(n, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) goto return_n;
+ mem_free(n);
+ prx:
+ if (parse_url(base, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &p, NULL, NULL) || !p) {
+ goto bad_base;
+ }
+ if (!dsep(*p)) p--;
+ if (end_of_dir(base, rel[0])) for (; *p; p++) {
+ if (end_of_dir(base, *p)) break;
+ } else if (!dsep(rel[0])) for (pp = p; *pp; pp++) {
+ if (end_of_dir(base, *pp)) break;
+ if (dsep(*pp)) p = pp + 1;
+ }
+ n = memacpy(base, p - base);
+ add_to_strn(&n, rel);
+ goto return_n;
+
+ return_n:
+ extend_str(&n, 1);
+ translate_directories(n);
+ return n;
+}
+
+unsigned char *translate_url(unsigned char *url, unsigned char *cwd)
+{
+ unsigned char *ch;
+ unsigned char *nu, *da;
+ unsigned char *prefix;
+ int sl;
+ while (*url == ' ') url++;
+ if (*url && url[strlen(url) - 1] == ' ') {
+ nu = stracpy(url);
+ while (*nu && nu[strlen(nu) - 1] == ' ') nu[strlen(nu) - 1] = 0;
+ ch = translate_url(nu, cwd);
+ mem_free(nu);
+ return ch;
+ }
+ if (!casecmp("proxy://", url, 8)) return NULL;
+ if (!parse_url(url, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &da, NULL, NULL)) {
+ nu = stracpy(url);
+ goto return_nu;
+ }
+ if (strchr(url, POST_CHAR)) return NULL;
+ if (strstr(url, "://")) {
+ nu = stracpy(url);
+ extend_str(&nu, 1);
+ ch = strrchr(nu, '#');
+ if (!ch || strchr(ch, '/')) ch = nu + strlen(nu);
+ memmove(ch + 1, ch, strlen(ch) + 1);
+ *ch = '/';
+ if (!parse_url(nu, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) goto return_nu;
+ mem_free(nu);
+ }
+ ch = url + strcspn(url, ".:/@");
+ prefix = "file://";
+ sl = 0;
+#ifdef SPAD
+ if (strchr(url, ':') && _is_local(url)) goto set_prefix;
+#endif
+ if (*ch != ':' || *(url + strcspn(url, "/@")) == '@') {
+ if (*url != '.' && *ch == '.') {
+ unsigned char *f, *e;
+ int i;
+ for (e = ch + 1; *(f = e + strcspn(e, ".:/")) == '.'; e = f + 1)
+ ;
+ for (i = 0; i < f - e; i++) if (e[i] < '0' || e[i] > '9') goto noip;
+ goto http;
+ noip:
+ if (f - e == 2 && casecmp(e, "gz", 2)) {
+ http:
+ prefix = "http://", sl = 1;
+ } else {
+ unsigned char *tld[] = { "com", "edu", "net", "org", "gov", "mil", "int", "arpa", "aero", "biz", "coop", "info", "museum", "name", "pro", "cat", "jobs", "mobi", "travel", "tel", "onion", "exit", NULL };
+ for (i = 0; tld[i]; i++) if ((size_t)(f - e) == strlen(tld[i]) && !casecmp(tld[i], e, f - e)) goto http;
+ }
+ }
+ if (*ch == '@' || *ch == ':' || !cmpbeg(url, "ftp.")) prefix = "ftp://", sl = 1;
+ goto set_prefix;
+ set_prefix:
+ nu = stracpy(prefix);
+ add_to_strn(&nu, url);
+ if (sl && !strchr(url, '/')) add_to_strn(&nu, "/");
+ if (parse_url(nu, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) {
+ mem_free(nu);
+ return NULL;
+ }
+ goto return_nu;
+ }
+#ifdef DOS_FS
+ if (ch == url + 1) goto set_prefix;
+#endif
+ if (!(nu = memacpy(url, ch - url + 1))) return NULL;
+ add_to_strn(&nu, "//");
+ add_to_strn(&nu, ch + 1);
+ if (!parse_url(nu, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) goto return_nu;
+ add_to_strn(&nu, "/");
+ if (!parse_url(nu, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) goto return_nu;
+ mem_free(nu);
+ return NULL;
+
+ return_nu:
+ insert_wd(&nu, cwd);
+ extend_str(&nu, 1);
+ translate_directories(nu);
+ nu = translate_hashbang(nu);
+ return nu;
+}
+
+unsigned char *extract_position(unsigned char *url)
+{
+ unsigned char *u, *uu, *r;
+ if ((u = get_url_data(url))) url = u;
+ if (!(u = strchr(url, POST_CHAR))) u = strchr(url, 0);
+ if (!(uu = memchr(url, '#', u - url))) return NULL;
+ r = mem_alloc(u - uu);
+ memcpy(r, uu + 1, u - uu - 1);
+ r[u - uu - 1] = 0;
+ memmove(uu, u, strlen(u) + 1);
+ return r;
+}
+
+#define accept_char(x) ((x) != '"' && (x) != '\'' && (x) != '&' && (x) != '<' && (x) != '>')
+#define special_char(x) ((x) == '%' || (x) == '#')
+
+void add_conv_str(unsigned char **s, int *l, unsigned char *b, int ll, int encode_special)
+{
+ for (; ll; ll--, b++) {
+ if ((unsigned char)*b < ' ') continue;
+ if (special_char(*b) && encode_special == 1) {
+ unsigned char h[4];
+ sprintf(h, "%%%02X", (unsigned)*b & 0xff);
+ add_to_str(s, l, h);
+ } else if (*b == '%' && encode_special <= -1 && ll > 2 && ((b[1] >= '0' && b[1] <= '9') || (b[1] >= 'A' && b[1] <= 'F') || (b[1] >= 'a' && b[1] <= 'f'))) {
+ unsigned char h = 0;
+ int i;
+ for (i = 1; i < 3; i++) {
+ if (b[i] >= '0' && b[i] <= '9') h = h * 16 + b[i] - '0';
+ if (b[i] >= 'A' && b[i] <= 'F') h = h * 16 + b[i] - 'A' + 10;
+ if (b[i] >= 'a' && b[i] <= 'f') h = h * 16 + b[i] - 'a' + 10;
+ }
+ if (h >= ' ') add_chr_to_str(s, l, h);
+ ll -= 2;
+ b += 2;
+ } else if (*b == ' ' && (!encode_special || encode_special == -1)) {
+ add_to_str(s, l, "&nbsp;");
+ } else if (accept_char(*b) || encode_special == -2) {
+ add_chr_to_str(s, l, *b);
+ } else {
+ add_to_str(s, l, "&#");
+ add_num_to_str(s, l, (int)*b);
+ add_chr_to_str(s, l, ';');
+ }
+ }
+}
+
diff --git a/view.c b/view.c
new file mode 100644
index 0000000..02e4cc3
--- /dev/null
+++ b/view.c
@@ -0,0 +1,4332 @@
+/* view.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "links.h"
+
+static void send_open_in_new_xterm(struct terminal *term, int (*open_window)(struct terminal *, unsigned char *, unsigned char *), struct session *ses);
+
+static void init_ctrl(struct form_control *, struct form_state *);
+
+static int c_in_view(struct f_data_c *);
+
+static void set_pos_x(struct f_data_c *, struct link *);
+static void set_pos_y(struct f_data_c *, struct link *);
+static void find_link(struct f_data_c *, int, int);
+static void update_braille_link(struct f_data_c *f);
+
+static int is_active_frame(struct session *ses, struct f_data_c *f);
+
+
+struct view_state *create_vs(void)
+{
+ struct view_state *vs;
+ vs = mem_calloc(sizeof(struct view_state));
+ vs->refcount = 1;
+ vs->current_link = -1;
+ vs->orig_link = -1;
+ vs->frame_pos = -1;
+ vs->plain = -1;
+ vs->form_info = DUMMY;
+ vs->form_info_len = 0;
+ return vs;
+}
+
+void destroy_vs(struct view_state *vs)
+{
+ int i;
+ if (--vs->refcount) {
+ if (vs->refcount < 0) internal("destroy_vs: view_state refcount underflow");
+ return;
+ }
+ for (i = 0; i < vs->form_info_len; i++) if (vs->form_info[i].value) mem_free(vs->form_info[i].value);
+ mem_free(vs->form_info);
+ mem_free(vs);
+}
+
+#if 0
+static void copy_vs(struct view_state *dst, struct view_state *src)
+{
+ int i;
+ memcpy(dst, src, sizeof(struct view_state));
+ if ((unsigned)src->form_info_len > MAXINT / sizeof(struct form_state)) overalloc();
+ dst->form_info = mem_alloc(src->form_info_len * sizeof(struct form_state));
+ memcpy(dst->form_info, src->form_info, src->form_info_len * sizeof(struct form_state));
+ for (i = 0; i < src->form_info_len; i++) if (src->form_info[i].value) dst->form_info[i].value = stracpy(src->form_info[i].value);
+}
+#endif
+
+#ifdef JS
+void create_js_event_spec(struct js_event_spec **j)
+{
+ if (*j) return;
+ *j = mem_calloc(sizeof(struct js_event_spec));
+}
+
+void free_js_event_spec(struct js_event_spec *j)
+{
+ if (!j) return;
+ if (j->move_code) mem_free(j->move_code);
+ if (j->over_code) mem_free(j->over_code);
+ if (j->out_code) mem_free(j->out_code);
+ if (j->down_code) mem_free(j->down_code);
+ if (j->up_code) mem_free(j->up_code);
+ if (j->click_code) mem_free(j->click_code);
+ if (j->dbl_code) mem_free(j->dbl_code);
+ if (j->blur_code) mem_free(j->blur_code);
+ if (j->focus_code) mem_free(j->focus_code);
+ if (j->change_code) mem_free(j->change_code);
+ if (j->keypress_code) mem_free(j->keypress_code);
+ if (j->keyup_code) mem_free(j->keyup_code);
+ if (j->keydown_code) mem_free(j->keydown_code);
+ mem_free(j);
+}
+
+int compare_js_event_spec(struct js_event_spec *j1, struct js_event_spec *j2)
+{
+ if (!j1 && !j2) return 0;
+ if (!j1 || !j2) return 1;
+ return
+ xstrcmp(j1->move_code, j2->move_code) ||
+ xstrcmp(j1->over_code, j2->over_code) ||
+ xstrcmp(j1->out_code, j2->out_code) ||
+ xstrcmp(j1->down_code, j2->down_code) ||
+ xstrcmp(j1->up_code, j2->up_code) ||
+ xstrcmp(j1->click_code, j2->click_code) ||
+ xstrcmp(j1->dbl_code, j2->dbl_code) ||
+ xstrcmp(j1->blur_code, j2->blur_code) ||
+ xstrcmp(j1->focus_code, j2->focus_code) ||
+ xstrcmp(j1->change_code, j2->change_code) ||
+ xstrcmp(j1->keypress_code, j2->keypress_code) ||
+ xstrcmp(j1->keydown_code, j2->keydown_code) ||
+ xstrcmp(j1->keyup_code, j2->keyup_code);
+}
+
+void copy_js_event_spec(struct js_event_spec **target, struct js_event_spec *source)
+{
+ struct js_event_spec *t;
+ *target = NULL;
+ if (!source) return;
+ create_js_event_spec(target);
+ t = *target;
+ t->move_code = stracpy(source->move_code);
+ t->over_code = stracpy(source->over_code);
+ t->out_code = stracpy(source->out_code);
+ t->down_code = stracpy(source->down_code);
+ t->up_code = stracpy(source->up_code);
+ t->click_code = stracpy(source->click_code);
+ t->dbl_code = stracpy(source->dbl_code);
+ t->blur_code = stracpy(source->blur_code);
+ t->focus_code = stracpy(source->focus_code);
+ t->change_code = stracpy(source->change_code);
+ t->keypress_code = stracpy(source->keypress_code);
+ t->keyup_code = stracpy(source->keyup_code);
+ t->keydown_code = stracpy(source->keydown_code);
+}
+
+static inline int copy_string(unsigned char **dest, unsigned char *src)
+{
+ if (!src) return 0;
+ if (*dest) {
+ if (!strcmp(src, *dest)) return 0;
+ mem_free(*dest);
+ }
+ *dest = stracpy(src);
+ return 1;
+}
+
+int join_js_event_spec(struct js_event_spec **target, struct js_event_spec *source)
+{
+ if (!source) return 0;
+ create_js_event_spec(target);
+ return
+ copy_string(&(*target)->move_code, source->move_code) |
+ copy_string(&(*target)->over_code, source->over_code) |
+ copy_string(&(*target)->out_code, source->out_code) |
+ copy_string(&(*target)->down_code, source->down_code) |
+ copy_string(&(*target)->up_code, source->up_code) |
+ copy_string(&(*target)->click_code, source->click_code) |
+ copy_string(&(*target)->dbl_code, source->dbl_code) |
+ copy_string(&(*target)->blur_code, source->blur_code) |
+ copy_string(&(*target)->focus_code, source->focus_code) |
+ copy_string(&(*target)->change_code, source->change_code) |
+ copy_string(&(*target)->keypress_code, source->keypress_code) |
+ copy_string(&(*target)->keyup_code, source->keyup_code) |
+ copy_string(&(*target)->keydown_code, source->keydown_code);
+}
+
+static void add_event_desc(unsigned char **str, int *l, unsigned char *fn, unsigned char *desc)
+{
+ if (!fn) return;
+ if (*l) add_to_str(str, l, ", ");
+ add_to_str(str, l, desc);
+ add_to_str(str, l, ":");
+ add_to_str(str, l, fn);
+}
+
+unsigned char *print_js_event_spec(struct js_event_spec *j)
+{
+ unsigned char *str = init_str();
+ int l = 0;
+ if (!j) return str;
+ add_event_desc(&str, &l, j->click_code, "onclick");
+ add_event_desc(&str, &l, j->dbl_code, "ondblclick");
+ add_event_desc(&str, &l, j->down_code, "onmousedown");
+ add_event_desc(&str, &l, j->up_code, "onmouseup");
+ add_event_desc(&str, &l, j->over_code, "onmouseover");
+ add_event_desc(&str, &l, j->out_code, "onmouseout");
+ add_event_desc(&str, &l, j->move_code, "onmousemove");
+ add_event_desc(&str, &l, j->focus_code, "onfocus");
+ add_event_desc(&str, &l, j->blur_code, "onblur");
+ add_event_desc(&str, &l, j->change_code, "onchange");
+ add_event_desc(&str, &l, j->keypress_code, "onkeypress");
+ add_event_desc(&str, &l, j->keyup_code, "onkeyup");
+ add_event_desc(&str, &l, j->keydown_code, "onkeydown");
+ return str;
+}
+
+#else
+
+void free_js_event_spec(struct js_event_spec *j)
+{
+}
+
+int compare_js_event_spec(struct js_event_spec *j1, struct js_event_spec *j2)
+{
+ return 0;
+}
+
+void copy_js_event_spec(struct js_event_spec **target, struct js_event_spec *source)
+{
+}
+
+int join_js_event_spec(struct js_event_spec **target, struct js_event_spec *source)
+{
+ return 0;
+}
+
+unsigned char *print_js_event_spec(struct js_event_spec *j)
+{
+ return stracpy("");
+}
+
+#endif
+
+void check_vs(struct f_data_c *f)
+{
+ struct view_state *vs = f->vs;
+ int ovx, ovy, ol, obx, oby;
+ if (f->f_data->frame_desc) {
+ struct f_data_c *ff;
+ int n = 0;
+ foreach(ff, f->subframes) n++;
+ if (vs->frame_pos < 0) vs->frame_pos = 0;
+ if (vs->frame_pos >= n) vs->frame_pos = n - 1;
+ return;
+ }
+ ovx = f->vs->orig_view_posx;
+ ovy = f->vs->orig_view_pos;
+ ol = f->vs->orig_link;
+ obx = f->vs->orig_brl_x;
+ oby = f->vs->orig_brl_y;
+ if (vs->current_link >= f->f_data->nlinks) vs->current_link = f->f_data->nlinks - 1;
+ if (!F) {
+ if (vs->current_link != -1 && !c_in_view(f)) {
+ set_pos_x(f, &f->f_data->links[f->vs->current_link]);
+ set_pos_y(f, &f->f_data->links[f->vs->current_link]);
+ }
+ if (vs->current_link == -1) find_link(f, 1, 0);
+ if (f->ses->term->spec->braille) {
+ if (vs->brl_x >= f->f_data->x) vs->brl_x = f->f_data->x - 1;
+ if (vs->brl_x >= vs->view_posx + f->xw) vs->brl_x = vs->view_posx + f->xw - 1;
+ if (vs->brl_x < vs->view_posx) vs->brl_x = vs->view_posx;
+ if (vs->brl_y >= f->f_data->y) vs->brl_y = f->f_data->y - 1;
+ if (vs->brl_y >= vs->view_pos + f->yw) vs->brl_y = vs->view_pos + f->yw - 1;
+ if (vs->brl_y < vs->view_pos) vs->brl_y = vs->view_pos;
+ update_braille_link(f);
+ }
+#ifdef G
+ } else {
+ /*if (vs->current_link >= 0 && !is_link_in_view(f, vs->current_link)) vs->current_link = -1;*/
+#endif
+ }
+ f->vs->orig_view_posx = ovx;
+ f->vs->orig_view_pos = ovy;
+ if (!f->ses->term->spec->braille) f->vs->orig_link = ol;
+ f->vs->orig_brl_x = obx;
+ f->vs->orig_brl_y = oby;
+}
+
+static void set_link(struct f_data_c *f)
+{
+ if (c_in_view(f)) return;
+ find_link(f, 1, 0);
+}
+
+static int find_tag(struct f_data *f, unsigned char *name)
+{
+ struct tag *tag;
+ unsigned char *tt;
+ int ll;
+ tt = init_str();
+ ll = 0;
+ add_conv_str(&tt, &ll, name, strlen(name), -2);
+ foreachback(tag, f->tags) if (!strcasecmp(tag->name, tt) || (tag->name[0] == '#' && !strcasecmp(tag->name + 1, tt))) {
+ mem_free(tt);
+ return tag->y;
+ }
+ mem_free(tt);
+ return -1;
+}
+
+LIBC_CALLBACK static int comp_links(struct link *l1, struct link *l2)
+{
+ return l1->num - l2->num;
+}
+
+void sort_links(struct f_data *f)
+{
+ int i;
+ if (F) return;
+ if (f->nlinks) qsort(f->links, f->nlinks, sizeof(struct link), (void *)comp_links);
+ if ((unsigned)f->y > MAXINT / sizeof(struct link *)) overalloc();
+ f->lines1 = mem_calloc(f->y * sizeof(struct link *));
+ f->lines2 = mem_calloc(f->y * sizeof(struct link *));
+ for (i = 0; i < f->nlinks; i++) {
+ int p, q, j;
+ struct link *link = &f->links[i];
+ if (!link->n) {
+ if (d_opt->num_links) continue;
+ if (link->where) mem_free(link->where);
+ if (link->target) mem_free(link->target);
+ if (link->where_img) mem_free(link->where_img);
+ if (link->img_alt) mem_free(link->img_alt);
+ if (link->pos) mem_free(link->pos);
+ free_js_event_spec(link->js_event);
+ memmove(link, link + 1, (f->nlinks - i - 1) * sizeof(struct link));
+ f->nlinks--;
+ i--;
+ continue;
+ }
+ p = f->y - 1;
+ q = 0;
+ for (j = 0; j < link->n; j++) {
+ if (link->pos[j].y < p) p = link->pos[j].y;
+ if (link->pos[j].y > q) q = link->pos[j].y;
+ }
+ if (p > q) j = p, p = q, q = j;
+ for (j = p; j <= q; j++) {
+ if (j >= f->y) {
+ internal("link out of screen");
+ continue;
+ }
+ f->lines2[j] = &f->links[i];
+ if (!f->lines1[j]) f->lines1[j] = &f->links[i];
+ }
+ }
+}
+
+unsigned char *textptr_add(unsigned char *t, int i, int cp)
+{
+ if (cp != utf8_table) {
+ if ((size_t)i <= strlen(t)) return t + i;
+ else return t + strlen(t);
+ } else {
+ while (i-- && *t) FWD_UTF_8(t);
+ return t;
+ }
+}
+
+int textptr_diff(unsigned char *t2, unsigned char *t1, int cp)
+{
+ if (cp != utf8_table) return t2 - t1;
+ else {
+ int i = 0;
+ while (t2 > t1) {
+ FWD_UTF_8(t1);
+ i++;
+ }
+ return i;
+ }
+}
+
+struct line_info *format_text(unsigned char *text, int width, int wrap, int cp)
+{
+ struct line_info *ln = DUMMY;
+ int lnn = 0;
+ unsigned char *b = text;
+ int sk, ps = 0;
+ while (*text) {
+ unsigned char *s;
+ if (*text == '\n') {
+ sk = 1;
+ put:
+ if (!(lnn & (ALLOC_GR-1))) {
+ if ((unsigned)lnn > MAXINT / sizeof(struct line_info) - ALLOC_GR) overalloc();
+ ln = mem_realloc(ln, (lnn + ALLOC_GR) * sizeof(struct line_info));
+ }
+ ln[lnn].st = b;
+ ln[lnn++].en = text;
+ b = text += sk;
+ continue;
+ }
+ if (!wrap || textptr_diff(text, b, cp) < width) {
+ if (cp != utf8_table) text++;
+ else FWD_UTF_8(text);
+ continue;
+ }
+ for (s = text; s >= b; s--) if (*s == ' ') {
+ text = s;
+ if (wrap == 2) {
+ *s = '\n';
+ for (s++; *s; s++) if (*s == '\n') {
+ if (s[1] != '\n') *s = ' ';
+ break;
+ }
+ }
+ sk = 1;
+ goto put;
+ }
+ sk = 0;
+ goto put;
+ }
+ if (ps < 2) {
+ ps++;
+ sk = 0;
+ goto put;
+ }
+ ln[lnn - 1].st = ln[lnn - 1].en = NULL;
+ return ln;
+}
+
+int area_cursor(struct f_data_c *f, struct form_control *form, struct form_state *fs)
+{
+ struct line_info *ln;
+ int q = 0;
+ if ((ln = format_text(fs->value, form->cols, form->wrap, f->f_data->opt.cp))) {
+ int x, y;
+ for (y = 0; ln[y].st; y++) if (fs->value + fs->state >= ln[y].st && fs->value + fs->state < ln[y].en + (ln[y+1].st != ln[y].en)) {
+ x = textptr_diff(fs->value + fs->state, ln[y].st, f->f_data->opt.cp);
+ if (form->wrap && x == form->cols) x--;
+ if (x >= form->cols + fs->vpos) fs->vpos = x - form->cols + 1;
+ if (x < fs->vpos) fs->vpos = x;
+ if (y >= form->rows + fs->vypos) fs->vypos = y - form->rows + 1;
+ if (y < fs->vypos) fs->vypos = y;
+ x -= fs->vpos;
+ y -= fs->vypos;
+ q = y * form->cols + x;
+ break;
+ }
+ mem_free(ln);
+ }
+ return q;
+}
+
+static void draw_link(struct terminal *t, struct f_data_c *scr, int l)
+{
+ struct link *link = &scr->f_data->links[l];
+ int xp = scr->xp;
+ int yp = scr->yp;
+ int xw = scr->xw;
+ int yw = scr->yw;
+ int vx, vy;
+ struct view_state *vs = scr->vs;
+ int f = 0;
+ vx = vs->view_posx;
+ vy = vs->view_pos;
+ if (scr->link_bg) {
+ internal("link background not empty");
+ mem_free(scr->link_bg);
+ }
+ if (l == -1) return;
+ switch (link->type) {
+ int i;
+ int q;
+ case L_LINK:
+ case L_CHECKBOX:
+ case L_BUTTON:
+ case L_SELECT:
+ case L_FIELD:
+ case L_AREA:
+ q = 0;
+ if (link->type == L_FIELD) {
+ struct form_state *fs = find_form_state(scr, link->form);
+ if (fs) q = textptr_diff(fs->value + fs->state, fs->value + fs->vpos, scr->f_data->opt.cp);
+ /*else internal("link has no form control");*/
+ } else if (link->type == L_AREA) {
+ struct form_state *fs = find_form_state(scr, link->form);
+ if (fs) q = area_cursor(scr, link->form, fs);
+ /*else internal("link has no form control");*/
+ }
+ if ((unsigned)link->n > MAXINT / sizeof(struct link_bg)) overalloc();
+ scr->link_bg = mem_alloc(link->n * sizeof(struct link_bg));
+ scr->link_bg_n = link->n;
+ for (i = 0; i < link->n; i++) {
+ int x = link->pos[i].x + xp - vx;
+ int y = link->pos[i].y + yp - vy;
+ if (x >= xp && y >= yp && x < xp+xw && y < yp+yw) {
+ chr *co;
+ co = get_char(t, x, y);
+ if (scr->link_bg) scr->link_bg[i].x = x,
+ scr->link_bg[i].y = y,
+ scr->link_bg[i].c = co->at;
+ if (t->spec->braille && !vs->brl_in_field) goto skip_link;
+ if (!f || (link->type == L_CHECKBOX && i == 1) || (link->type == L_BUTTON && i == 2) || ((link->type == L_FIELD || link->type == L_AREA) && i == q)) {
+ int xx = x, yy = y;
+ if (link->type != L_FIELD && link->type != L_AREA) {
+ if ((unsigned)(co->at & 0x38) != (link->sel_color & 0x38)) xx = xp + xw - 1, yy = yp + yw - 1;
+ }
+ set_cursor(t, x, y, xx, yy);
+ set_window_ptr(scr->ses->win, x, y);
+ f = 1;
+ }
+ skip_link:;
+ set_color(t, x, y, /*((link->sel_color << 3) | (co->at >> 3 & 7))*/ link->sel_color);
+ } else scr->link_bg[i].x = scr->link_bg[i].y = scr->link_bg[i].c = -1;
+ }
+ break;
+ default: internal("bad link type");
+ }
+}
+
+static void free_link(struct f_data_c *scr)
+{
+ if (scr->link_bg) {
+ mem_free(scr->link_bg);
+ scr->link_bg = NULL;
+ }
+ scr->link_bg_n = 0;
+}
+
+static void clear_link(struct terminal *t, struct f_data_c *scr)
+{
+ if (scr->link_bg) {
+ int i;
+ for (i = scr->link_bg_n - 1; i >= 0; i--)
+ set_color(t, scr->link_bg[i].x, scr->link_bg[i].y, scr->link_bg[i].c);
+ free_link(scr);
+ }
+}
+
+static int get_range(struct f_data *f, int y, int yw, int l, struct search **s1, struct search **s2)
+{
+ int i;
+ *s1 = *s2 = NULL;
+ for (i = y < 0 ? 0 : y; i < y + yw && i < f->y; i++) {
+ if (f->slines1[i] && (!*s1 || f->slines1[i] < *s1)) *s1 = f->slines1[i];
+ if (f->slines2[i] && (!*s2 || f->slines2[i] > *s2)) *s2 = f->slines2[i];
+ }
+
+ if (l > f->nsearch) *s1 = *s2 = NULL;
+ if (!*s1 || !*s2) return -1;
+
+ if (*s1 - f->search < l) *s1 = f->search;
+ else *s1 -= l;
+
+ if (f->search + f->nsearch - *s2 < l) *s2 = f->search + f->nsearch - l;
+
+ if (*s1 > *s2) *s1 = *s2 = NULL;
+ if (!*s1 || !*s2) return -1;
+
+ return 0;
+}
+
+static int is_in_range(struct f_data *f, int y, int yw, unsigned char *txt, int *min, int *max)
+{
+#ifdef ENABLE_UTF8
+ int utf8 = f->opt.cp == utf8_table;
+#else
+ const int utf8 = 0;
+#endif
+ int found = 0;
+ int l;
+ struct search *s1, *s2;
+ if (min || max) *min = MAXINT, *max = 0;
+
+ if (!utf8) {
+ l = strlen(txt);
+ } else {
+ l = strlen_utf8(txt);
+ }
+
+ if (get_range(f, y, yw, l, &s1, &s2)) return 0;
+ for (; s1 <= s2; s1++) {
+ int i;
+ if (!utf8) {
+ if (s1->c != txt[0]) goto cont;
+ for (i = 1; i < l; i++) if (s1[i].c != txt[i]) goto cont;
+ } else {
+ unsigned char *tt = txt;
+ for (i = 0; i < l; i++) {
+ unsigned cc;
+ GET_UTF_8(tt, cc);
+ if (s1[i].c != cc) goto cont;
+ }
+ }
+ for (i = 0; i < l; i++) if (s1[i].y >= y && s1[i].y < y + yw && s1[i].n) goto in_view;
+ continue;
+ in_view:
+ if (!min && !max) return 1;
+ found = 1;
+ for (i = 0; i < l; i++) if (s1[i].n) {
+ if (s1[i].x < *min) *min = s1[i].x;
+ if (s1[i].x + s1[i].n > *max) *max = s1[i].x + s1[i].n;
+ }
+ cont:;
+ }
+ return found;
+}
+
+static int get_searched(struct f_data_c *scr, struct point **pt, int *pl)
+{
+#ifdef ENABLE_UTF8
+ int utf8 = scr->ses->term->spec->charset == utf8_table;
+#else
+ const int utf8 = 0;
+#endif
+ int xp = scr->xp;
+ int yp = scr->yp;
+ int xw = scr->xw;
+ int yw = scr->yw;
+ int vx = scr->vs->view_posx;
+ int vy = scr->vs->view_pos;
+ struct search *s1, *s2;
+ int l;
+ unsigned c;
+ struct point *points = DUMMY;
+ int len = 0;
+ unsigned char *ww;
+ unsigned char *w = scr->ses->search_word;
+ if (!w || !*w) return -1;
+ if (get_search_data(scr->f_data) < 0) {
+ mem_free(scr->ses->search_word);
+ scr->ses->search_word = NULL;
+ return -1;
+ }
+ if (!utf8) {
+ l = strlen(w);
+ c = w[0];
+ } else {
+ l = strlen_utf8(w);
+ ww = w;
+ GET_UTF_8(ww, c);
+ }
+ if (get_range(scr->f_data, scr->vs->view_pos, scr->yw, l, &s1, &s2)) goto ret;
+ for (; s1 <= s2; s1++) {
+ int i, j;
+ if (s1->c != c) {
+ c:continue;
+ }
+ if (!utf8) {
+ for (i = 1; i < l; i++) if (s1[i].c != w[i]) goto c;
+ } else {
+ ww = w;
+ for (i = 0; i < l; i++) {
+ unsigned cc;
+ GET_UTF_8(ww, cc);
+ if (s1[i].c != cc) goto c;
+ }
+ }
+ for (i = 0; i < l && (!scr->ses->term->spec->braille || i < 1); i++) for (j = 0; j < s1[i].n; j++) {
+ int x = s1[i].x + j + xp - vx;
+ int y = s1[i].y + yp - vy;
+ if (x >= xp && y >= yp && x < xp + xw && y < yp + yw) {
+ /*unsigned co;
+ co = get_char(t, x, y);
+ co = ((co >> 3) & 0x0700) | ((co << 3) & 0x3800);
+ set_color(t, x, y, co);*/
+ if (!(len & (ALLOC_GR - 1))) {
+ struct point *points2;
+ if ((unsigned)len > MAXINT / sizeof(struct point) - ALLOC_GR) goto ret;
+ points2 = mem_realloc_mayfail(points, sizeof(struct point) * (len + ALLOC_GR));
+ if (!points2) goto ret;
+ points = points2;
+ }
+ points[len].x = s1[i].x + j;
+ points[len++].y = s1[i].y;
+ }
+ }
+ }
+ ret:
+ *pt = points;
+ *pl = len;
+ return 0;
+}
+
+static void draw_searched(struct terminal *t, struct f_data_c *scr)
+{
+ int xp = scr->xp;
+ int yp = scr->yp;
+ int vx = scr->vs->view_posx;
+ int vy = scr->vs->view_pos;
+ struct point *pt;
+ int len, i;
+ if (get_searched(scr, &pt, &len) < 0) return;
+ for (i = 0; i < len; i++) {
+ int x = pt[i].x + xp - vx, y = pt[i].y + yp - vy;
+ chr *co;
+ unsigned nco;
+ co = get_char(t, x, y);
+ nco = ((co->at >> 3) & 0x07) | ((co->at << 3) & 0x38);
+ set_color(t, x, y, nco);
+ }
+ mem_free(pt);
+}
+
+static void draw_current_link(struct terminal *t, struct f_data_c *scr)
+{
+ draw_link(t, scr, scr->vs->current_link);
+ draw_searched(t, scr);
+}
+
+static struct link *get_first_link(struct f_data_c *f)
+{
+ int i;
+ struct link *l = f->f_data->links + f->f_data->nlinks;
+ for (i = f->vs->view_pos; i < f->vs->view_pos + f->yw; i++)
+ if (i >= 0 && i < f->f_data->y && f->f_data->lines1[i] && f->f_data->lines1[i] < l)
+ l = f->f_data->lines1[i];
+ if (l == f->f_data->links + f->f_data->nlinks) l = NULL;
+ return l;
+}
+
+static struct link *get_last_link(struct f_data_c *f)
+{
+ int i;
+ struct link *l = NULL;
+ for (i = f->vs->view_pos; i < f->vs->view_pos + f->yw; i++)
+ if (i >= 0 && i < f->f_data->y && f->f_data->lines2[i] > l)
+ l = f->f_data->lines2[i];
+ return l;
+}
+
+void fixup_select_state(struct form_control *fc, struct form_state *fs)
+{
+ int inited = 0;
+ int i;
+ retry:
+ if (fs->state >= 0 && fs->state < fc->nvalues && !strcmp(fc->values[fs->state], fs->value)) return;
+ for (i = 0; i < fc->nvalues; i++) {
+ if (!strcmp(fc->values[i], fs->value)) {
+ fs->state = i;
+ return;
+ }
+ }
+ if (!inited) {
+ init_ctrl(fc, fs);
+ inited = 1;
+ goto retry;
+ }
+ fs->state = 0;
+ if (fs->value) mem_free(fs->value);
+ if (fc->nvalues) fs->value = stracpy(fc->values[0]);
+ else fs->value = stracpy("");
+}
+
+static void init_ctrl(struct form_control *form, struct form_state *fs)
+{
+ if (fs->value) mem_free(fs->value), fs->value = NULL;
+ switch (form->type) {
+ case FC_TEXT:
+ case FC_PASSWORD:
+ case FC_TEXTAREA:
+ fs->value = stracpy(form->default_value);
+ fs->state = strlen(form->default_value);
+ fs->vpos = 0;
+ break;
+ case FC_FILE:
+ fs->value = stracpy("");
+ fs->state = 0;
+ fs->vpos = 0;
+ break;
+ case FC_CHECKBOX:
+ case FC_RADIO:
+ fs->state = form->default_state;
+ break;
+ case FC_SELECT:
+ fs->value = stracpy(form->default_value);
+ fs->state = form->default_state;
+ fixup_select_state(form, fs);
+ break;
+ }
+}
+
+struct form_state *find_form_state(struct f_data_c *f, struct form_control *form)
+{
+ struct view_state *vs = f->vs;
+ struct form_state *fs;
+ int n = form->g_ctrl_num;
+ if (n < vs->form_info_len) fs = &vs->form_info[n];
+ else {
+ if ((unsigned)n > MAXINT / sizeof(struct form_state) - 1) overalloc();
+ fs = mem_realloc(vs->form_info, (n + 1) * sizeof(struct form_state));
+ vs->form_info = fs;
+ memset(fs + vs->form_info_len, 0, (n + 1 - vs->form_info_len) * sizeof(struct form_state));
+ vs->form_info_len = n + 1;
+ fs = &vs->form_info[n];
+ }
+ if (fs->form_num == form->form_num && fs->ctrl_num == form->ctrl_num && fs->g_ctrl_num == form->g_ctrl_num && /*fs->position == form->position &&*/ fs->type == form->type) return fs;
+ if (fs->value) mem_free(fs->value);
+ memset(fs, 0, sizeof(struct form_state));
+ fs->form_num = form->form_num;
+ fs->ctrl_num = form->ctrl_num;
+ fs->g_ctrl_num = form->g_ctrl_num;
+ fs->position = form->position;
+ fs->type = form->type;
+ init_ctrl(form, fs);
+ return fs;
+}
+
+static void draw_form_entry(struct terminal *t, struct f_data_c *f, struct link *l)
+{
+ int xp = f->xp;
+ int yp = f->yp;
+ int xw = f->xw;
+ int yw = f->yw;
+ struct view_state *vs = f->vs;
+ int vx = vs->view_posx;
+ int vy = vs->view_pos;
+ struct form_state *fs;
+ struct form_control *form = l->form;
+ int i, x, y;
+ if (!form) {
+ internal("link %d has no form", (int)(l - f->f_data->links));
+ return;
+ }
+ if (!(fs = find_form_state(f, form))) return;
+ switch (form->type) {
+ unsigned char *s;
+ struct line_info *ln, *lnx;
+ int sl;
+ case FC_TEXT:
+ case FC_PASSWORD:
+ case FC_FILE:
+ /*
+ if (fs->state >= fs->vpos + form->size) fs->vpos = fs->state - form->size + 1;
+ if (fs->state < fs->vpos) fs->vpos = fs->state;
+ */
+ if ((size_t)fs->vpos > strlen(fs->value)) fs->vpos = strlen(fs->value);
+ while ((size_t)fs->vpos < strlen(fs->value) && textptr_diff(fs->value + fs->state, fs->value + fs->vpos, f->f_data->opt.cp) >= form->size) {
+ unsigned char *p = fs->value + fs->vpos;
+ FWD_UTF_8(p);
+ fs->vpos = p - fs->value;
+ }
+ while (fs->vpos > fs->state) {
+ unsigned char *p = fs->value + fs->vpos;
+ BACK_UTF_8(p, fs->value);
+ fs->vpos = p - fs->value;
+ }
+ if (!l->n) break;
+ x = l->pos[0].x + xp - vx; y = l->pos[0].y + yp - vy;
+ s = fs->value + fs->vpos;
+ for (i = 0; i < form->size; i++, x++) {
+ unsigned ch;
+ if (!*s) {
+ ch = '_';
+ } else {
+ if (f->f_data->opt.cp != utf8_table) {
+ ch = *s++;
+ } else {
+ GET_UTF_8(s, ch);
+ }
+ if (form->type == FC_PASSWORD) {
+ ch = '*';
+ }
+ }
+ if (x >= xp && y >= yp && x < xp+xw && y < yp+yw) {
+ set_only_char(t, x, y, ch, 0);
+ }
+ }
+ break;
+ case FC_TEXTAREA:
+ if (!l->n) break;
+ x = l->pos[0].x + xp - vx; y = l->pos[0].y + yp - vy;
+ area_cursor(f, form, fs);
+ if (!(lnx = format_text(fs->value, form->cols, form->wrap, f->f_data->opt.cp))) break;
+ ln = lnx;
+ sl = fs->vypos;
+ while (ln->st && sl) sl--, ln++;
+ for (; ln->st && y < l->pos[0].y + yp - vy + form->rows; ln++, y++) {
+ s = textptr_add(ln->st, fs->vpos, f->f_data->opt.cp);
+ for (i = 0; i < form->cols; i++) {
+ unsigned ch;
+ if (s >= ln->en) {
+ ch = '_';
+ } else {
+ if (f->f_data->opt.cp != utf8_table) {
+ ch = *s++;
+ } else {
+ GET_UTF_8(s, ch);
+ }
+ }
+ if (x+i >= xp && y >= yp && x+i < xp+xw && y < yp+yw) {
+ set_only_char(t, x+i, y, ch, 0);
+ }
+ }
+ }
+ for (; y < l->pos[0].y + yp - vy + form->rows; y++) {
+ for (i = 0; i < form->cols; i++) {
+ if (x+i >= xp && y >= yp && x+i < xp+xw && y < yp+yw)
+ set_only_char(t, x+i, y, '_', 0);
+ }
+ }
+
+ mem_free(lnx);
+ break;
+ case FC_CHECKBOX:
+ if (l->n < 2) break;
+ x = l->pos[1].x + xp - vx;
+ y = l->pos[1].y + yp - vy;
+ if (x >= xp && y >= yp && x < xp+xw && y < yp+yw)
+ set_only_char(t, x, y, fs->state ? 'X' : ' ', 0);
+ break;
+ case FC_RADIO:
+ if (l->n < 2) break;
+ x = l->pos[1].x + xp - vx;
+ y = l->pos[1].y + yp - vy;
+ if (x >= xp && y >= yp && x < xp+xw && y < yp+yw)
+ set_only_char(t, x, y, fs->state ? 'X' : ' ', 0);
+ break;
+ case FC_SELECT:
+ fixup_select_state(form, fs);
+ s = fs->state < form->nvalues ? form->labels[fs->state] : NULL;
+ if (!s) s = (unsigned char *)"";
+ for (i = 0; i < l->n; i++) {
+ unsigned chr;
+ if (!*s) {
+ chr = '_';
+ } else {
+#ifdef ENABLE_UTF8
+ if (t->spec->charset == utf8_table) {
+ GET_UTF_8(s, chr);
+ } else
+#endif
+ chr = *s++;
+ }
+ x = l->pos[i].x + xp - vx;
+ y = l->pos[i].y + yp - vy;
+ if (x >= xp && y >= yp && x < xp+xw && y < yp+yw)
+ set_only_char(t, x, y, chr, 0);
+ }
+ break;
+ case FC_SUBMIT:
+ case FC_IMAGE:
+ case FC_RESET:
+ case FC_HIDDEN:
+ case FC_BUTTON:
+ break;
+ }
+}
+
+struct xdfe {
+ struct f_data_c *f;
+ struct link *l;
+};
+
+static void y_draw_form_entry(struct terminal *t, struct xdfe *x)
+{
+ draw_form_entry(t, x->f, x->l);
+}
+
+static void x_draw_form_entry(struct session *ses, struct f_data_c *f, struct link *l)
+{
+ struct xdfe x;
+ x.f = f, x.l = l;
+ draw_to_window(ses->win, (void (*)(struct terminal *, void *))y_draw_form_entry, &x);
+}
+
+static void draw_forms(struct terminal *t, struct f_data_c *f)
+{
+ struct link *l1 = get_first_link(f);
+ struct link *l2 = get_last_link(f);
+ if (!l1 || !l2) {
+ if (l1 || l2) internal("get_first_link == %p, get_last_link == %p", l1, l2);
+ return;
+ }
+ do {
+ if (l1->type != L_LINK) draw_form_entry(t, f, l1);
+ } while (l1++ < l2);
+}
+
+/* 0 -> 1 <- 2 v 3 ^ */
+
+static unsigned char fr_trans[2][4] = {{0xb3, 0xc3, 0xb4, 0xc5}, {0xc4, 0xc2, 0xc1, 0xc5}};
+
+static void set_xchar(struct terminal *t, int x, int y, unsigned dir)
+{
+ chr *co;
+ if (x < 0 || x >= t->x || y < 0 || y >= t->y) return;
+ co = get_char(t, x, y);
+ if (!(co->at & ATTR_FRAME)) return;
+ if (co->ch == fr_trans[dir / 2][0]) set_only_char(t, x, y, fr_trans[dir / 2][1 + (dir & 1)], ATTR_FRAME);
+ else if (co->ch == fr_trans[dir / 2][2 - (dir & 1)]) set_only_char(t, x, y, fr_trans[dir / 2][3], ATTR_FRAME);
+}
+
+static void draw_frame_lines(struct terminal *t, struct frameset_desc *fsd, int xp, int yp)
+{
+ int i, j;
+ int x, y;
+ if (!fsd) return;
+ y = yp - 1;
+ for (j = 0; j < fsd->y; j++) {
+ int wwy = fsd->f[j * fsd->x].yw;
+ x = xp - 1;
+ for (i = 0; i < fsd->x; i++) {
+ int wwx = fsd->f[i].xw;
+ if (i) {
+ fill_area(t, x, y + 1, 1, wwy, 179, ATTR_FRAME);
+ if (j == fsd->y - 1) set_xchar(t, x, y + wwy + 1, 3);
+ } else if (j) set_xchar(t, x, y, 0);
+ if (j) {
+ fill_area(t, x + 1, y, wwx, 1, 196, ATTR_FRAME);
+ if (i == fsd->x - 1) set_xchar(t, x + wwx + 1, y, 1);
+ } else if (i) set_xchar(t, x, y, 2);
+ if (i && j) set_char(t, x, y, 197, ATTR_FRAME);
+ /*if (fsd->f[j * fsd->x + i].subframe) {
+ draw_frame_lines(t, fsd->f[j * fsd->x + i].subframe, x + 1, y + 1);
+ }*/
+ x += wwx + 1;
+ }
+ y += wwy + 1;
+ }
+}
+
+static void set_brl_cursor(struct terminal *t, struct f_data_c *scr)
+{
+ set_cursor(t, scr->xp + scr->vs->brl_x - scr->vs->view_posx, scr->yp + scr->vs->brl_y - scr->vs->view_pos, scr->xp + scr->vs->brl_x - scr->vs->view_posx, scr->yp + scr->vs->brl_y - scr->vs->view_pos);
+ set_window_ptr(scr->ses->win, scr->xp + scr->vs->brl_x - scr->vs->view_posx, scr->yp + scr->vs->brl_y - scr->vs->view_pos);
+}
+
+void draw_doc(struct terminal *t, struct f_data_c *scr)
+{
+ struct session *ses = scr->ses;
+ int active = scr->active;
+ int y;
+ int xp = scr->xp;
+ int yp = scr->yp;
+ int xw = scr->xw;
+ int yw = scr->yw;
+ struct view_state *vs;
+ int vx, vy;
+ if (!scr->vs || !scr->f_data) {
+ if (!F) {
+ if (active) {
+ if (!scr->parent) set_cursor(t, 0, 0, 0, 0);
+ else set_cursor(t, xp, yp, xp, yp);
+ }
+ fill_area(t, xp, yp, xw, yw, ' ', (ses->ds.t_background_color << 3) | (ses->ds.t_text_color & 7) | ((ses->ds.t_text_color & 8) << 3));
+#ifdef G
+ } else {
+ long color = dip_get_color_sRGB(ses->ds.g_background_color /* 0x808080 */);
+ drv->fill_area(t->dev, xp, yp, xp + xw, yp + yw, color);
+#endif
+ }
+ if (active) set_window_ptr(ses->win, xp, yp);
+ return;
+ }
+ if (active) {
+ if (!F) {
+ if (!t->spec->braille) {
+ set_cursor(t, xp + xw - 1, yp + yw - 1, xp + xw - 1, yp + yw - 1);
+ set_window_ptr(ses->win, xp, yp);
+ } else {
+ set_brl_cursor(t, scr);
+ }
+ }
+ }
+ check_vs(scr);
+ if (scr->f_data->frame_desc) {
+ struct f_data_c *f;
+ int n;
+ if (!F) {
+ fill_area(t, xp, yp, xw, yw, ' ', scr->f_data->y ? scr->f_data->bg : 0);
+ draw_frame_lines(t, scr->f_data->frame_desc, xp, yp);
+ }
+ n = 0;
+ foreach(f, scr->subframes) {
+ f->active = active && n++ == scr->vs->frame_pos;
+ draw_doc(t, f);
+ }
+ return;
+ }
+ vs = scr->vs;
+ if (scr->goto_position && (vy = find_tag(scr->f_data, scr->goto_position)) != -1) {
+ if (vy > scr->f_data->y) vy = scr->f_data->y - 1;
+ if (vy < 0) vy = 0;
+ vs->view_pos = vy;
+ vs->orig_view_pos = vy;
+ vs->view_posx = 0;
+ vs->orig_view_posx = 0;
+ if (t->spec->braille) {
+ vs->brl_y = vy;
+ vs->brl_x = 0;
+ vs->orig_brl_y = vy;
+ vs->orig_brl_x = 0;
+ }
+ if (!F) set_link(scr);
+ if (scr->went_to_position) mem_free(scr->went_to_position);
+ scr->went_to_position = scr->goto_position;
+ scr->goto_position = NULL;
+ if (t->spec->braille) set_brl_cursor(t, scr);
+ }
+ if (vs->view_pos != vs->orig_view_pos || vs->view_posx != vs->orig_view_posx || vs->current_link != vs->orig_link || (t->spec->braille && (vs->brl_x != vs->orig_brl_x || vs->brl_y != vs->orig_brl_y))) {
+ int ol;
+ vs->view_pos = vs->orig_view_pos;
+ vs->view_posx = vs->orig_view_posx;
+ vs->brl_x = vs->orig_brl_x;
+ vs->brl_y = vs->orig_brl_y;
+ ol = vs->orig_link;
+ if (ol < scr->f_data->nlinks) vs->current_link = ol;
+ if (!F) {
+ while (vs->view_pos >= scr->f_data->y) vs->view_pos -= yw ? yw : 1;
+ if (vs->view_pos < 0) vs->view_pos = 0;
+ }
+ if (!F && !t->spec->braille) set_link(scr);
+ check_vs(scr);
+ if (!t->spec->braille) {
+ vs->orig_link = ol;
+ } else {
+ vs->orig_link = vs->current_link;
+ set_brl_cursor(t, scr);
+ }
+ }
+ if (!F) {
+ vx = vs->view_posx;
+ vy = vs->view_pos;
+ if (scr->xl == vx && scr->yl == vy && scr->xl != -1 && !ses->search_word) {
+ clear_link(t, scr);
+ draw_forms(t, scr);
+ if (active) draw_current_link(t, scr);
+ return;
+ }
+ free_link(scr);
+ scr->xl = vx;
+ scr->yl = vy;
+ fill_area(t, xp, yp, xw, yw, ' ', scr->f_data->y ? scr->f_data->bg : 0);
+ if (!scr->f_data->y) return;
+ while (vs->view_pos >= scr->f_data->y) vs->view_pos -= yw ? yw : 1;
+ if (vs->view_pos < 0) vs->view_pos = 0;
+ if (vy != vs->view_pos) vy = vs->view_pos, check_vs(scr);
+ for (y = vy <= 0 ? 0 : vy; y < (-vy + scr->f_data->y <= yw ? scr->f_data->y : yw + vy); y++) {
+ int st = vx <= 0 ? 0 : vx;
+ int en = -vx + scr->f_data->data[y].l <= xw ? scr->f_data->data[y].l : xw + vx;
+ set_line(t, xp + st - vx, yp + y - vy, en - st, &scr->f_data->data[y].d[st]);
+ }
+ draw_forms(t, scr);
+ if (active) draw_current_link(t, scr);
+ if (ses->search_word) scr->xl = scr->yl = -1;
+#ifdef G
+ } else {
+ draw_graphical_doc(t, scr, active);
+#endif
+ }
+}
+
+static void clr_xl(struct f_data_c *fd)
+{
+ struct f_data_c *fdd;
+ fd->xl = fd->yl = -1;
+ foreach(fdd, fd->subframes) clr_xl(fdd);
+}
+
+static void draw_doc_c(struct terminal *t, struct f_data_c *scr)
+{
+ clr_xl(scr);
+#ifdef G
+ if (F) if (scr == scr->ses->screen) draw_title(scr);
+#endif
+ draw_doc(t, scr);
+}
+
+void draw_formatted(struct session *ses)
+{
+ /*clr_xl(ses->screen);*/
+ ses->screen->active = 1;
+ draw_to_window(ses->win, (void (*)(struct terminal *, void *))draw_doc_c, ses->screen);
+ change_screen_status(ses);
+ print_screen_status(ses);
+}
+
+void draw_fd(struct f_data_c *f)
+{
+ if (f->f_data) f->f_data->time_to_draw = -(uttime)get_time();
+ f->active = is_active_frame(f->ses, f);
+ draw_to_window(f->ses->win, (void (*)(struct terminal *, void *))draw_doc_c, f);
+ change_screen_status(f->ses);
+ print_screen_status(f->ses);
+ if (f->f_data) f->f_data->time_to_draw += (uttime)get_time();
+}
+
+static void draw_fd_nrd(struct f_data_c *f)
+{
+ f->active = is_active_frame(f->ses, f);
+ draw_to_window(f->ses->win, (void (*)(struct terminal *, void *))draw_doc, f);
+ change_screen_status(f->ses);
+ print_screen_status(f->ses);
+}
+
+#define D_BUF 65536
+
+int dump_to_file(struct f_data *fd, int h)
+{
+ int x, y;
+ unsigned char *buf;
+ int bptr = 0;
+ buf = mem_alloc(D_BUF);
+ for (y = 0; y < fd->y; y++) for (x = 0; x <= fd->data[y].l; x++) {
+ unsigned c;
+ if (x == fd->data[y].l) c = '\n';
+ else {
+ c = fd->data[y].d[x].ch;
+ if (c == 1) c = ' ';
+ if (fd->data[y].d[x].at & ATTR_FRAME && c >= 176 && c < 224) c = frame_dumb[c - 176];
+ }
+#ifdef ENABLE_UTF8
+ if (fd->opt.cp == utf8_table && c >= 0x80) {
+ unsigned char *enc = encode_utf_8(c);
+ strcpy(buf + bptr, enc);
+ bptr += strlen(enc);
+ } else
+#endif
+ {
+ buf[bptr++] = c;
+ }
+ if (bptr >= D_BUF - 7) {
+ if (hard_write(h, buf, bptr) != bptr) goto fail;
+ bptr = 0;
+ }
+ }
+ if (hard_write(h, buf, bptr) != bptr) {
+ fail:
+ mem_free(buf);
+ return -1;
+ }
+ mem_free(buf);
+ if (fd->opt.num_links && fd->nlinks) {
+ static unsigned char head[] = "\nLinks:\n";
+ int i;
+ if ((int)hard_write(h, head, strlen(head)) != (int)strlen(head)) return -1;
+ for (i = 0; i < fd->nlinks; i++) {
+ struct link *lnk = &fd->links[i];
+ unsigned char *s = init_str();
+ int l = 0;
+ add_num_to_str(&s, &l, i + 1);
+ add_to_str(&s, &l, ". ");
+ if (lnk->where) {
+ add_to_str(&s, &l, lnk->where);
+ } else if (lnk->where_img) {
+ add_to_str(&s, &l, "Image: ");
+ add_to_str(&s, &l, lnk->where_img);
+ } else if (lnk->type == L_BUTTON) {
+ struct form_control *fc = lnk->form;
+ if (fc->type == FC_RESET) add_to_str(&s, &l, "Reset form");
+ else if (fc->type == FC_BUTTON || !fc->action) add_to_str(&s, &l, "Button");
+ else {
+ if (!fc->method == FM_GET) add_to_str(&s, &l, "Submit form: ");
+ else add_to_str(&s, &l, "Post form: ");
+ add_to_str(&s, &l, fc->action);
+ }
+ } else if (lnk->type == L_CHECKBOX || lnk->type == L_SELECT || lnk->type == L_FIELD || lnk->type == L_AREA) {
+ struct form_control *fc = lnk->form;
+ if (fc->type == FC_RADIO) add_to_str(&s, &l, "Radio button");
+ else if (fc->type == FC_CHECKBOX) add_to_str(&s, &l, "Checkbox");
+ else if (fc->type == FC_SELECT) add_to_str(&s, &l, "Select field");
+ else if (fc->type == FC_TEXT) add_to_str(&s, &l, "Text field");
+ else if (fc->type == FC_TEXTAREA) add_to_str(&s, &l, "Text area");
+ else if (fc->type == FC_FILE) add_to_str(&s, &l, "File upload");
+ else if (fc->type == FC_PASSWORD) add_to_str(&s, &l, "Password field");
+ else goto unknown;
+ if (fc->name && fc->name[0]) add_to_str(&s, &l, ", Name "), add_to_str(&s, &l, fc->name);
+ if ((fc->type == FC_CHECKBOX || fc->type == FC_RADIO) && fc->default_value && fc->default_value[0]) add_to_str(&s, &l, ", Value "), add_to_str(&s, &l, fc->default_value);
+ }
+ unknown:
+ add_to_str(&s, &l, "\n");
+ if (hard_write(h, s, l) != l) {
+ mem_free(s);
+ return -1;
+ }
+ mem_free(s);
+ }
+ }
+ return 0;
+}
+
+static int in_viewx(struct f_data_c *f, struct link *l)
+{
+ int i;
+ for (i = 0; i < l->n; i++) {
+ if (l->pos[i].x >= f->vs->view_posx && l->pos[i].x < f->vs->view_posx + f->xw)
+ return 1;
+ }
+ return 0;
+}
+
+static int in_viewy(struct f_data_c *f, struct link *l)
+{
+ int i;
+ for (i = 0; i < l->n; i++) {
+ if (l->pos[i].y >= f->vs->view_pos && l->pos[i].y < f->vs->view_pos + f->yw)
+ return 1;
+ }
+ return 0;
+}
+
+static int in_view(struct f_data_c *f, struct link *l)
+{
+ return in_viewy(f, l) && in_viewx(f, l);
+}
+
+static int c_in_view(struct f_data_c *f)
+{
+ return f->vs->current_link != -1 && in_view(f, &f->f_data->links[f->vs->current_link]);
+}
+
+static int next_in_view(struct f_data_c *f, int p, int d, int (*fn)(struct f_data_c *, struct link *), void (*cntr)(struct f_data_c *, struct link *))
+{
+ int p1 = f->f_data->nlinks - 1;
+ int p2 = 0;
+ int y;
+ int yl = f->vs->view_pos + f->yw;
+ if (yl > f->f_data->y) yl = f->f_data->y;
+ for (y = f->vs->view_pos < 0 ? 0 : f->vs->view_pos; y < yl; y++) {
+ if (f->f_data->lines1[y] && f->f_data->lines1[y] - f->f_data->links < p1) p1 = f->f_data->lines1[y] - f->f_data->links;
+ if (f->f_data->lines2[y] && f->f_data->lines2[y] - f->f_data->links > p2) p2 = f->f_data->lines2[y] - f->f_data->links;
+ }
+ /*while (p >= 0 && p < f->f_data->nlinks) {*/
+ while (p >= p1 && p <= p2) {
+ if (fn(f, &f->f_data->links[p])) {
+ f->vs->current_link = p;
+ f->vs->orig_link = f->vs->current_link;
+ if (cntr) cntr(f, &f->f_data->links[p]);
+ return 1;
+ }
+ p += d;
+ }
+ f->vs->current_link = -1;
+ f->vs->orig_link = f->vs->current_link;
+ return 0;
+}
+
+static void set_pos_x(struct f_data_c *f, struct link *l)
+{
+ int i;
+ int xm = 0;
+ int xl = MAXINT;
+ for (i = 0; i < l->n; i++) {
+ if (l->pos[i].y >= f->vs->view_pos && l->pos[i].y < f->vs->view_pos + f->yw) {
+ if (l->pos[i].x >= xm) xm = l->pos[i].x + 1;
+ if (l->pos[i].x < xl) xl = l->pos[i].x;
+ }
+ }
+ if (xl == MAXINT) return;
+ /*if ((f->vs->view_posx = xm - f->xw) > xl) f->vs->view_posx = xl;*/
+ if (f->vs->view_posx + f->xw < xm) f->vs->view_posx = xm - f->xw;
+ if (f->vs->view_posx > xl) f->vs->view_posx = xl;
+ f->vs->orig_view_posx = f->vs->view_posx;
+}
+
+static void set_pos_y(struct f_data_c *f, struct link *l)
+{
+ int i;
+ int ym = 0;
+ int yl = f->f_data->y;
+ for (i = 0; i < l->n; i++) {
+ if (l->pos[i].y >= ym) ym = l->pos[i].y + 1;
+ if (l->pos[i].y < yl) yl = l->pos[i].y;
+ }
+ if ((f->vs->view_pos = (ym + yl) / 2 - f->yw / 2) > f->f_data->y - f->yw) f->vs->view_pos = f->f_data->y - f->yw;
+ if (f->vs->view_pos < 0) f->vs->view_pos = 0;
+ f->vs->orig_view_pos = f->vs->view_pos;
+}
+
+static void update_braille_link(struct f_data_c *f)
+{
+ int i;
+ struct link *l1, *l2;
+ struct view_state *vs = f->vs;
+ struct f_data *f_data = f->f_data;
+ if (vs->brl_x >= f->f_data->x && f->f_data->x) vs->brl_x = f->f_data->x - 1;
+ if (vs->brl_x >= vs->view_posx + f->xw) vs->view_posx = vs->brl_x - f->xw + 1;
+ if (vs->brl_x < vs->view_posx) vs->view_posx = vs->brl_x;
+ if (vs->brl_y >= f_data->y && f_data->y) vs->brl_y = f->f_data->y - 1;
+ if (vs->brl_y >= vs->view_pos + f->yw) vs->view_pos = vs->brl_y - f->yw + 1;
+ if (vs->brl_y < vs->view_pos) vs->view_pos = vs->brl_y;
+ vs->orig_brl_x = vs->brl_x;
+ vs->orig_brl_y = vs->brl_y;
+ vs->orig_view_pos = vs->view_pos;
+ vs->orig_view_posx = vs->view_posx;
+ if (vs->brl_y >= f_data->y) goto no_link;
+ l1 = f_data->lines1[vs->brl_y];
+ l2 = f_data->lines2[vs->brl_y];
+ if (!l1 || !l2) goto no_link;
+ for (; l1 <= l2; l1++) {
+ for (i = 0; i < l1->n; i++) if (l1->pos[i].x == vs->brl_x && l1->pos[i].y == vs->brl_y) {
+ if (l1 - f_data->links != vs->current_link) vs->brl_in_field = 0;
+ vs->current_link = l1 - f_data->links;
+ vs->orig_link = vs->current_link;
+ return;
+ }
+ }
+ no_link:
+ vs->brl_in_field = 0;
+ vs->current_link = -1;
+ vs->orig_link = vs->current_link;
+}
+
+static void find_link(struct f_data_c *f, int p, int s)
+{ /* p=1 - top, p=-1 - bottom, s=0 - pgdn, s=1 - down */
+ int y;
+ int l;
+ struct link *link;
+ struct link **line;
+ if (f->ses->term->spec->braille) {
+ update_braille_link(f);
+ return;
+ }
+ line = p == -1 ? f->f_data->lines2 : f->f_data->lines1;
+ if (p == -1) {
+ y = f->vs->view_pos + f->yw - 1;
+ if (y >= f->f_data->y) y = f->f_data->y - 1;
+ } else {
+ y = f->vs->view_pos;
+ if (y < 0) y = 0;
+ }
+ if (y < 0 || y >= f->f_data->y) goto nolink;
+ link = NULL;
+ do {
+ if (line[y] && (!link || (p > 0 ? line[y] < link : line[y] > link))) link = line[y];
+ y += p;
+ } while (!(y < 0 || y < f->vs->view_pos || y >= f->vs->view_pos + f->yw || y >= f->f_data->y));
+ if (!link) goto nolink;
+ l = link - f->f_data->links;
+ if (s == 0) {
+ next_in_view(f, l, p, in_view, NULL);
+ return;
+ }
+ f->vs->current_link = l;
+ f->vs->orig_link = f->vs->current_link;
+ set_pos_x(f, link);
+ return;
+ nolink:
+ f->vs->current_link = -1;
+ f->vs->orig_link = f->vs->current_link;
+}
+
+static void page_down(struct session *ses, struct f_data_c *f, int a)
+{
+ if (f->vs->view_pos + f->yw < f->f_data->y) {
+ f->vs->view_pos += f->yw;
+ f->vs->orig_view_pos = f->vs->view_pos;
+ if (!ses->term->spec->braille) find_link(f, 1, a);
+ } else {
+ if (!ses->term->spec->braille) find_link(f, -1, a);
+ else if (f->f_data->y) f->vs->brl_y = f->f_data->y - 1;
+ }
+ if (ses->term->spec->braille) {
+ if (f->vs->view_pos > f->vs->brl_y) f->vs->brl_y = f->vs->view_pos;
+ f->vs->orig_brl_y = f->vs->brl_y;
+ update_braille_link(f);
+ }
+}
+
+static void page_up(struct session *ses, struct f_data_c *f, int a)
+{
+ f->vs->view_pos -= f->yw;
+ if (ses->term->spec->braille) {
+ if (f->vs->view_pos + f->yw <= f->vs->brl_y) f->vs->brl_y = f->vs->view_pos + f->yw - 1;
+ } else find_link(f, -1, a);
+ if (f->vs->view_pos < 0) {
+ f->vs->view_pos = 0;
+ }
+ f->vs->orig_view_pos = f->vs->view_pos;
+ if (ses->term->spec->braille) {
+ if (f->vs->brl_y < 0) f->vs->brl_y = 0;
+ f->vs->orig_brl_y = f->vs->brl_y;
+ update_braille_link(f);
+ }
+}
+
+static void down(struct session *ses, struct f_data_c *f, int a)
+{
+ int l;
+ if (ses->term->spec->braille) {
+ if (f->vs->brl_y < f->f_data->y - 1) f->vs->brl_y++;
+ else if (f->f_data->y) f->vs->brl_y = f->f_data->y - 1;
+ else f->vs->brl_y = 0;
+ f->vs->orig_brl_y = f->vs->brl_y;
+ if (f->vs->brl_y >= f->vs->view_pos + f->yw) {
+ page_down(ses, f, 1);
+ return;
+ }
+ update_braille_link(f);
+ return;
+ }
+ l = f->vs->current_link;
+ /*if (f->vs->current_link >= f->nlinks - 1) return;*/
+ if (f->vs->current_link == -1 || !next_in_view(f, f->vs->current_link+1, 1, in_viewy, set_pos_x)) page_down(ses, f, 1);
+ if (l != f->vs->current_link) set_textarea(ses, f, KBD_UP);
+}
+
+static void up(struct session *ses, struct f_data_c *f, int a)
+{
+ int l;
+ if (ses->term->spec->braille) {
+ if (f->vs->brl_y > 0) f->vs->brl_y--;
+ else f->vs->brl_y = 0;
+ f->vs->orig_brl_y = f->vs->brl_y;
+ if (f->vs->brl_y < f->vs->view_pos) {
+ page_up(ses, f, 0);
+ return;
+ }
+ update_braille_link(f);
+ return;
+ }
+ l = f->vs->current_link;
+ if (f->vs->current_link == -1 || !next_in_view(f, f->vs->current_link-1, -1, in_viewy, set_pos_x)) page_up(ses, f, 1);
+ if (l != f->vs->current_link) set_textarea(ses, f, KBD_DOWN);
+}
+
+static void scroll(struct session *ses, struct f_data_c *f, int a)
+{
+ if (f->vs->view_pos + f->yw >= f->f_data->y && a > 0) return;
+ f->vs->view_pos += a;
+ if (f->vs->view_pos > f->f_data->y - f->yw && a > 0) f->vs->view_pos = f->f_data->y - f->yw;
+ if (f->vs->view_pos < 0) f->vs->view_pos = 0;
+ f->vs->orig_view_pos = f->vs->view_pos;
+ if (ses->term->spec->braille) {
+ if (f->vs->view_pos + f->yw <= f->vs->brl_y) f->vs->brl_y = f->vs->view_pos + f->yw - 1;
+ if (f->vs->view_pos > f->vs->brl_y) f->vs->brl_y = f->vs->view_pos;
+ f->vs->orig_brl_y = f->vs->brl_y;
+ update_braille_link(f);
+ return;
+ }
+ if (c_in_view(f)) return;
+ find_link(f, a < 0 ? -1 : 1, 0);
+}
+
+static void hscroll(struct session *ses, struct f_data_c *f, int a)
+{
+ f->vs->view_posx += a;
+ if (f->vs->view_posx >= f->f_data->x) f->vs->view_posx = f->f_data->x - 1;
+ if (f->vs->view_posx < 0) f->vs->view_posx = 0;
+ f->vs->orig_view_posx = f->vs->view_posx;
+ if (ses->term->spec->braille) {
+ if (f->vs->view_posx + f->xw <= f->vs->brl_x) f->vs->brl_x = f->vs->view_posx + f->xw - 1;
+ if (f->vs->view_posx > f->vs->brl_x) f->vs->brl_x = f->vs->view_posx;
+ f->vs->orig_brl_x = f->vs->brl_x;
+ update_braille_link(f);
+ return;
+ }
+ if (c_in_view(f)) return;
+ find_link(f, 1, 0);
+ /* !!! FIXME: check right margin */
+}
+
+static void right(struct session *ses, struct f_data_c *f, int a)
+{
+ if (ses->term->spec->braille) {
+ if (f->vs->brl_x < f->f_data->x - 1) f->vs->brl_x++;
+ else if (f->f_data->x) f->vs->brl_x = f->f_data->x - 1;
+ else f->vs->brl_x = 0;
+ f->vs->orig_brl_x = f->vs->brl_x;
+ if (f->vs->brl_x >= f->vs->view_posx + f->xw) {
+ hscroll(ses, f, 1);
+ return;
+ }
+ update_braille_link(f);
+ return;
+ }
+}
+
+static void left(struct session *ses, struct f_data_c *f, int a)
+{
+ if (ses->term->spec->braille) {
+ if (f->vs->brl_x > 0) f->vs->brl_x--;
+ else f->vs->brl_x = 0;
+ f->vs->orig_brl_x = f->vs->brl_x;
+ if (f->vs->brl_x < f->vs->view_posx) {
+ hscroll(ses, f, -1);
+ return;
+ }
+ update_braille_link(f);
+ return;
+ }
+}
+
+static int get_at_pos(struct f_data *f, int x, int y)
+{
+ chr *ch;
+ struct line *ln;
+ if (y < 0 || y >= f->y) return -1;
+ ln = &f->data[y];
+ if (x < 0 || x >= ln->l) return 0;
+ ch = &ln->d[x];
+ if (ch->at & ATTR_FRAME) return 0;
+ return ch->ch != 0 && ch->ch != 1 && ch->ch != ' ' && ch->ch != '~';
+}
+
+static void cursor_word(struct session *ses, struct f_data_c *f, int a)
+{
+ if (ses->term->spec->braille) {
+ int p = 1;
+ int q;
+ int x = f->vs->brl_x, y = f->vs->brl_y;
+ while (1) {
+ q = get_at_pos(f->f_data, x, y);
+ if (q == -1) return;
+ if (!p && q) {
+ f->vs->brl_x = x;
+ f->vs->brl_y = y;
+ f->vs->orig_brl_x = f->vs->brl_x;
+ f->vs->orig_brl_y = f->vs->brl_y;
+ update_braille_link(f);
+ return;
+ }
+ x++;
+ if (x >= f->f_data->x) x = 0, y++;
+ p = q;
+ }
+ }
+}
+
+static void cursor_word_back(struct session *ses, struct f_data_c *f, int a)
+{
+ if (ses->term->spec->braille) {
+ int p = 0;
+ int q;
+ int x = f->vs->brl_x, y = f->vs->brl_y;
+ int px, py;
+ while (1) {
+ px = x, py = y;
+ x--;
+ if (x < 0) x = f->f_data->x - 1, y--;
+ if (x < 0) x = 0;
+ q = get_at_pos(f->f_data, x, y);
+ if (q == -1) return;
+ if (p && !q) {
+ f->vs->brl_x = px;
+ f->vs->brl_y = py;
+ f->vs->orig_brl_x = f->vs->brl_x;
+ f->vs->orig_brl_y = f->vs->brl_y;
+ update_braille_link(f);
+ return;
+ }
+ p = q;
+ }
+ }
+}
+
+static void cursor_home(struct session *ses, struct f_data_c *f, int a)
+{
+ if (ses->term->spec->braille) {
+ f->vs->brl_x = 0;
+ f->vs->orig_brl_x = f->vs->brl_x;
+ update_braille_link(f);
+ return;
+ }
+}
+
+static void cursor_end(struct session *ses, struct f_data_c *f, int a)
+{
+ if (ses->term->spec->braille) {
+ if (f->f_data->x) f->vs->brl_x = f->f_data->x - 1;
+ else f->vs->brl_x = 0;
+ f->vs->orig_brl_x = f->vs->brl_x;
+ update_braille_link(f);
+ return;
+ }
+}
+
+
+static void br_next_link(struct session *ses, struct f_data_c *f, int a)
+{
+ if (ses->term->spec->braille) {
+ int y;
+ struct link *l, *ol, *cl;
+ struct view_state *vs = f->vs;
+ struct f_data *f_data = f->f_data;
+ if (vs->brl_y >= f_data->y) return;
+ for (y = vs->brl_y; y < f_data->y; y++) if (f_data->lines1[y]) goto o;
+ return;
+ o:
+ cl = NULL, ol = NULL;
+ for (l = f_data->lines1[y]; l && l < f_data->links + f_data->nlinks && (!cl || l <= cl); l++) {
+ if (!l->n) continue;
+ if (a && !l->form) continue;
+ if (l->pos[0].y > vs->brl_y || (l->pos[0].y == vs->brl_y && l->pos[0].x > vs->brl_x)) if (vs->current_link == -1 || l != f_data->links + vs->current_link) {
+ if (!ol || l->pos[0].y < ol->pos[0].y || (l->pos[0].y == ol->pos[0].y && l->pos[0].x < ol->pos[0].x)) {
+ ol = l;
+ cl = f_data->lines2[ol->pos[0].y];
+ }
+ }
+ }
+ if (!ol) return;
+ vs->brl_x = ol->pos[0].x;
+ vs->brl_y = ol->pos[0].y;
+ while (vs->brl_y >= vs->view_pos + f->yw) {
+ vs->view_pos += f->yw ? f->yw : 1;
+ if (vs->view_pos >= f_data->y) vs->view_pos = f_data->y - !!f_data->y;
+ vs->orig_view_pos = vs->view_pos;
+ }
+ vs->orig_brl_x = vs->brl_x;
+ vs->orig_brl_y = vs->brl_y;
+ set_pos_x(f, ol);
+ update_braille_link(f);
+ }
+}
+
+static void br_prev_link(struct session *ses, struct f_data_c *f, int a)
+{
+ if (ses->term->spec->braille) {
+ int y;
+ struct link *l, *ol, *cl;
+ struct view_state *vs = f->vs;
+ struct f_data *f_data = f->f_data;
+ if (vs->brl_y >= f_data->y) return;
+ for (y = vs->brl_y; y >= 0; y--) if (f_data->lines2[y]) goto o;
+ return;
+ o:
+ cl = NULL, ol = NULL;
+ for (l = f_data->lines2[y]; l && l >= f_data->links && (!cl || l >= cl); l--) {
+ if (!l->n) goto cont;
+ if (l->pos[0].y < vs->brl_y || (l->pos[0].y == vs->brl_y && l->pos[0].x < vs->brl_x)) if (vs->current_link == -1 || l != f_data->links + vs->current_link) {
+ if (!ol || l->pos[0].y > ol->pos[0].y || (l->pos[0].y == ol->pos[0].y && l->pos[0].x > ol->pos[0].x)) {
+ ol = l;
+ cl = f_data->lines1[ol->pos[0].y];
+ }
+ }
+ cont:
+ if (l == f_data->links) break;
+ }
+ if (!ol) return;
+ vs->brl_x = ol->pos[0].x;
+ vs->brl_y = ol->pos[0].y;
+ while (vs->brl_y < vs->view_pos) {
+ vs->view_pos -= f->yw ? f->yw : 1;
+ if (vs->view_pos < 0) vs->view_pos = 0;
+ vs->orig_view_pos = vs->view_pos;
+ }
+ vs->orig_brl_x = vs->brl_x;
+ vs->orig_brl_y = vs->brl_y;
+ set_pos_x(f, ol);
+ update_braille_link(f);
+ }
+}
+
+static void home(struct session *ses, struct f_data_c *f, int a)
+{
+ f->vs->view_pos = f->vs->view_posx = 0;
+ f->vs->orig_view_pos = f->vs->view_pos;
+ f->vs->orig_view_posx = f->vs->view_posx;
+ if (ses->term->spec->braille) {
+ f->vs->brl_x = f->vs->brl_y = 0;
+ f->vs->orig_brl_x = f->vs->brl_x;
+ f->vs->orig_brl_y = f->vs->brl_y;
+ update_braille_link(f);
+ return;
+ }
+ find_link(f, 1, 0);
+}
+
+static void x_end(struct session *ses, struct f_data_c *f, int a)
+{
+ f->vs->view_posx = 0;
+ if (f->vs->view_pos < f->f_data->y - f->yw) f->vs->view_pos = f->f_data->y - f->yw;
+ if (f->vs->view_pos < 0) f->vs->view_pos = 0;
+ f->vs->orig_view_pos = f->vs->view_pos;
+ f->vs->orig_view_posx = f->vs->view_posx;
+ if (ses->term->spec->braille) {
+ if (f->f_data->y) f->vs->brl_y = f->f_data->y - 1;
+ else f->vs->brl_y = 0;
+ f->vs->brl_x = 0;
+ f->vs->orig_brl_x = f->vs->brl_x;
+ f->vs->orig_brl_y = f->vs->brl_y;
+ update_braille_link(f);
+ return;
+ }
+ find_link(f, -1, 0);
+}
+
+static int has_form_submit(struct f_data *f, struct form_control *form)
+{
+ struct form_control *i;
+ int q = 0;
+ /*if (F) return 0;*/
+ foreach (i, f->forms) if (i->form_num == form->form_num) {
+ if ((i->type == FC_SUBMIT || i->type == FC_IMAGE)) return 1;
+ q = 1;
+ }
+ if (!q) internal("form is not on list");
+ return 0;
+}
+
+struct submitted_value {
+ struct submitted_value *next;
+ struct submitted_value *prev;
+ int type;
+ unsigned char *name;
+ unsigned char *value;
+ void *file_content;
+ int fc_len;
+ int position;
+};
+
+static void free_succesful_controls(struct list_head *submit)
+{
+ struct submitted_value *v;
+ foreach(v, *submit) {
+ if (v->name) mem_free(v->name);
+ if (v->value) mem_free(v->value);
+ if (v->file_content) mem_free(v->file_content);
+ }
+ free_list(*submit);
+}
+
+static unsigned char *encode_textarea(unsigned char *t)
+{
+ int len = 0;
+ unsigned char *o = init_str();
+ for (; *t; t++) {
+ if (*t != '\n') add_chr_to_str(&o, &len, *t);
+ else add_to_str(&o, &len, "\r\n");
+ }
+ return o;
+}
+
+static int compare_submitted(struct submitted_value *sub1, struct submitted_value *sub2)
+{
+ /*int c = (sub1->type == FC_IMAGE) - (sub2->type == FC_IMAGE);
+ if (c) return c;*/
+ return sub1->position - sub2->position;
+}
+
+static void get_succesful_controls(struct f_data_c *f, struct form_control *fc, struct list_head *subm)
+{
+ int ch;
+ struct form_control *form;
+ init_list(*subm);
+ foreach(form, f->f_data->forms) {
+ if (form->form_num == fc->form_num && ((form->type != FC_SUBMIT && form->type != FC_IMAGE && form->type != FC_RESET && form->type != FC_BUTTON) || form == fc) && form->name && form->name[0] && form->ro != 2) {
+ struct submitted_value *sub;
+ struct form_state *fs;
+ int fi = form->type == FC_IMAGE && form->default_value && *form->default_value ? -1 : 0;
+ int svl;
+ if (!(fs = find_form_state(f, form))) continue;
+ if ((form->type == FC_CHECKBOX || form->type == FC_RADIO) && !fs->state) continue;
+ if (form->type == FC_BUTTON) continue;
+ if (form->type == FC_SELECT && !form->nvalues) continue;
+ fi_rep:
+ sub = mem_calloc(sizeof(struct submitted_value));
+ sub->type = form->type;
+ sub->name = stracpy(form->name);
+ switch (form->type) {
+ case FC_TEXT:
+ case FC_PASSWORD:
+ case FC_FILE:
+ sub->value = stracpy(fs->value);
+ break;
+ case FC_TEXTAREA:
+ sub->value = encode_textarea(fs->value);
+ break;
+ case FC_CHECKBOX:
+ case FC_RADIO:
+ case FC_SUBMIT:
+ case FC_HIDDEN:
+ sub->value = encode_textarea(form->default_value);
+ break;
+ case FC_SELECT:
+ fixup_select_state(form, fs);
+ sub->value = encode_textarea(fs->value);
+ break;
+ case FC_IMAGE:
+ if (fi == -1) {
+ sub->value = encode_textarea(form->default_value);
+ break;
+ }
+ add_to_strn(&sub->name, fi ? ".x" : ".y");
+ /*sub->value = stracpy("0");*/
+ sub->value = init_str();
+ svl = 0;
+ add_num_to_str(&sub->value, &svl, fi ? ismap_x : ismap_y);
+ break;
+ default:
+ internal("bad form control type");
+ mem_free(sub);
+ continue;
+ }
+ sub->position = form->form_num + form->ctrl_num;
+ add_to_list(*subm, sub);
+ if (form->type == FC_IMAGE && fi < 1) {
+ fi++;
+ goto fi_rep;
+ }
+ }
+ }
+ do {
+ struct submitted_value *sub, *nx;
+ ch = 0;
+ foreach(sub, *subm) if (sub->next != (void *)subm)
+ if (compare_submitted(sub->next, sub) < 0) {
+ nx = sub->next;
+ del_from_list(sub);
+ add_at_pos(nx, sub);
+ sub = nx;
+ ch = 1;
+ }
+ foreachback(sub, *subm) if (sub->next != (void *)subm)
+ if (compare_submitted(sub->next, sub) < 0) {
+ nx = sub->next;
+ del_from_list(sub);
+ add_at_pos(nx, sub);
+ sub = nx;
+ ch = 1;
+ }
+ } while (ch);
+
+}
+
+static unsigned char *strip_file_name(unsigned char *f)
+{
+ unsigned char *n;
+ unsigned char *l = f - 1;
+ for (n = f; *n; n++) if (dir_sep(*n)) l = n;
+ return l + 1;
+}
+
+static inline int safe_char(unsigned char c)
+{
+ return (c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || c== '.' || c == '-' || c == '_';
+}
+
+static void encode_string(unsigned char *name, unsigned char **data, int *len)
+{
+ for (; *name; name++) {
+ if (*name == ' ') add_chr_to_str(data, len, '+');
+ else if (safe_char(*name)) add_chr_to_str(data, len, *name);
+ else {
+ unsigned char n[4];
+ sprintf(n, "%%%02X", *name);
+ add_to_str(data, len, n);
+ }
+ }
+}
+
+static void encode_controls(struct list_head *l, unsigned char **data, int *len,
+ int cp_from, int cp_to)
+{
+ struct submitted_value *sv;
+ int lst = 0;
+ unsigned char *p2;
+ struct conv_table *convert_table = get_translation_table(cp_from, cp_to);
+ *len = 0;
+ *data = init_str();
+ foreach(sv, *l) {
+ unsigned char *p = sv->value;
+ if (lst) add_to_str(data, len, "&"); else lst = 1;
+ encode_string(sv->name, data, len);
+ add_to_str(data, len, "=");
+ if (sv->type == FC_TEXT || sv->type == FC_PASSWORD || sv->type == FC_TEXTAREA)
+ p2 = convert_string(convert_table, p, strlen(p), NULL);
+ else p2 = stracpy(p);
+ encode_string(p2, data, len);
+ mem_free(p2);
+ }
+}
+
+#define BL 56
+#define BL1 27
+
+static void encode_multipart(struct session *ses, struct list_head *l, unsigned char **data, int *len,
+ unsigned char *bound, int cp_from, int cp_to)
+{
+ int errn;
+ int *bound_ptrs = DUMMY;
+ int nbound_ptrs = 0;
+ unsigned char *m1, *m2;
+ struct submitted_value *sv;
+ int i, j;
+ int flg = 0;
+ unsigned char *p;
+ int rs;
+ struct conv_table *convert_table = get_translation_table(cp_from, cp_to);
+ memset(bound, 'x', BL);
+ *len = 0;
+ *data = init_str();
+ foreach(sv, *l) {
+ unsigned char *ct;
+ bnd:
+ add_to_str(data, len, "--");
+ if (!(nbound_ptrs & (ALLOC_GR-1))) {
+ if ((unsigned)nbound_ptrs > MAXINT / sizeof(int) - ALLOC_GR) overalloc();
+ bound_ptrs = mem_realloc(bound_ptrs, (nbound_ptrs + ALLOC_GR) * sizeof(int));
+ }
+ bound_ptrs[nbound_ptrs++] = *len;
+ add_bytes_to_str(data, len, bound, BL);
+ if (flg) break;
+ add_to_str(data, len, "\r\nContent-Disposition: form-data; name=\"");
+ add_to_str(data, len, sv->name);
+ add_to_str(data, len, "\"");
+ if (sv->type == FC_FILE) {
+ add_to_str(data, len, "; filename=\"");
+ add_to_str(data, len, strip_file_name(sv->value));
+ /* It sends bad data if the file name contains ", but
+ Netscape does the same */
+ add_to_str(data, len, "\"");
+ if (*sv->value) if ((ct = get_content_type(NULL, sv->value))) {
+ add_to_str(data, len, "\r\nContent-Type: ");
+ add_to_str(data, len, ct);
+ if (strlen(ct) >= 4 && !casecmp(ct, "text", 4)) {
+ add_to_str(data, len, "; charset=");
+ if (!F) add_to_str(data, len, get_cp_mime_name(ses->term->spec->charset));
+#ifdef G
+ else add_to_str(data, len, get_cp_mime_name(ses->ds.assume_cp));
+#endif
+ }
+ mem_free(ct);
+ }
+ }
+ add_to_str(data, len, "\r\n\r\n");
+ if (sv->type != FC_FILE) {
+ if (sv->type == FC_TEXT || sv->type == FC_PASSWORD || sv->type == FC_TEXTAREA)
+ p = convert_string(convert_table, sv->value, strlen(sv->value), NULL);
+ else p = stracpy(sv->value);
+ add_to_str(data, len, p);
+ mem_free(p);
+ } else {
+ int fh, rd;
+#define F_BUFLEN 1024
+ unsigned char buffer[F_BUFLEN];
+ /*if (!check_file_name(sv->value)) {
+ errn = errno;
+ err = "File access forbidden";
+ goto error;
+ }*/
+ if (*sv->value) {
+ if (anonymous) {
+ goto not_allowed;
+ }
+ EINTRLOOP(fh, open(sv->value, O_RDONLY | O_NOCTTY));
+ if (fh == -1) {
+ errn = errno;
+ goto error;
+ }
+ set_bin(fh);
+ do {
+ if ((rd = hard_read(fh, buffer, F_BUFLEN)) == -1) {
+ errn = errno;
+ EINTRLOOP(rs, close(fh));
+ goto error;
+ }
+ if (rd) add_bytes_to_str(data, len, buffer, rd);
+ } while (rd);
+ EINTRLOOP(rs, close(fh));
+ }
+ }
+ add_to_str(data, len, "\r\n");
+ }
+ if (!flg) {
+ flg = 1;
+ goto bnd;
+ }
+ add_to_str(data, len, "--\r\n");
+ memset(bound, '-', BL1);
+ memset(bound + BL1, '0', BL - BL1);
+ again:
+ for (i = 0; i <= *len - BL; i++) {
+ for (j = 0; j < BL; j++) if ((*data)[i + j] != bound[j]) goto nb;
+ for (j = BL - 1; j >= 0; j--)
+ if (bound[j] < '0') bound[j] = '0' - 1;
+ if (bound[j]++ >= '9') bound[j] = '0';
+ else goto again;
+ internal("Counld not assing boundary");
+ nb:;
+ }
+ for (i = 0; i < nbound_ptrs; i++) memcpy(*data + bound_ptrs[i], bound, BL);
+ mem_free(bound_ptrs);
+ return;
+
+ error:
+ mem_free(bound_ptrs);
+ mem_free(*data);
+ *data = NULL;
+ m1 = stracpy(sv->value);
+ m2 = stracpy(strerror(errn));
+ msg_box(ses->term, getml(m1, m2, NULL), TEXT_(T_ERROR_WHILE_POSTING_FORM), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_COULD_NOT_GET_FILE), " ", m1, ": ", m2, NULL, ses, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return;
+
+ not_allowed:
+ mem_free(bound_ptrs);
+ mem_free(*data);
+ *data = NULL;
+ msg_box(ses->term, NULL, TEXT_(T_ERROR_WHILE_POSTING_FORM), AL_CENTER | AL_EXTD_TEXT, TEXT_(T_READING_FILES_IS_NOT_ALLOWED), NULL, ses, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+}
+
+void reset_form(struct f_data_c *f, int form_num)
+{
+ struct form_control *form;
+ foreach(form, f->f_data->forms) if (form->form_num == form_num) {
+ struct form_state *fs;
+ if ((fs = find_form_state(f, form))) init_ctrl(form, fs);
+ }
+}
+
+unsigned char *get_form_url(struct session *ses, struct f_data_c *f, struct form_control *form, int *onsubmit)
+{
+ struct list_head submit;
+ unsigned char *data;
+ unsigned char bound[BL];
+ int len;
+ unsigned char *go = NULL;
+ int cp_from, cp_to;
+ if (!form) return NULL;
+ if (form->type == FC_RESET) {
+ reset_form(f, form->form_num);
+#ifdef G
+ if (F) draw_fd(f);
+#endif
+ return NULL;
+ }
+ if (onsubmit)*onsubmit=0;
+#ifdef JS
+ if (form->onsubmit)
+ {
+ jsint_execute_code(f,form->onsubmit,strlen(form->onsubmit),-1,form->form_num,form->form_num, NULL);
+ if (onsubmit)*onsubmit=1;
+ }
+#endif
+ if (!form->action) return NULL;
+ get_succesful_controls(f, form, &submit);
+ cp_from = ses->term->spec->charset;
+ cp_to = f->f_data->cp;
+ if (form->method == FM_GET || form->method == FM_POST)
+ encode_controls(&submit, &data, &len, cp_from, cp_to);
+ else
+ encode_multipart(ses, &submit, &data, &len, bound, cp_from, cp_to);
+ if (!data) goto ff;
+ if (!strncasecmp(form->action,"javascript:",11))
+ {
+ go=stracpy(form->action);
+ goto x;
+ }
+ if (form->method == FM_GET) {
+ unsigned char *pos, *da;
+ int q;
+ if (strlen(form->action) + 2 + len < (unsigned)len) overalloc();
+ go = mem_alloc(strlen(form->action) + 1 + len + 1);
+ strcpy(go, form->action);
+ pos = extract_position(go);
+ if (!(da = get_url_data(go))) da = go;
+ q = strlen(da);
+ if (q && (da[q - 1] == '&' || da[q - 1] == '?'))
+ ;
+ else if (strchr(da, '?')) strcat(go, "&");
+ else strcat(go, "?");
+ strcat(go, data);
+ if (pos) strcat(go, pos), mem_free(pos);
+ } else {
+ int l = 0;
+ int i;
+ go = init_str();
+ add_to_str(&go, &l, form->action);
+ add_chr_to_str(&go, &l, POST_CHAR);
+ if (form->method == FM_POST) add_to_str(&go, &l, "application/x-www-form-urlencoded\n");
+ else {
+ add_to_str(&go, &l, "multipart/form-data; boundary=");
+ add_bytes_to_str(&go, &l, bound, BL);
+ add_to_str(&go, &l, "\n");
+ }
+ for (i = 0; i < len; i++) {
+ unsigned char p[3];
+ sprintf(p, "%02x", (int)data[i]);
+ add_to_str(&go, &l, p);
+ }
+ }
+ x:
+ mem_free(data);
+ ff:
+ free_succesful_controls(&submit);
+ return go;
+}
+
+int ismap_link = 0, ismap_x = 1, ismap_y = 1;
+
+/* if onsubmit is not NULL it will contain 1 if link is submit and the form has an onsubmit handler */
+static unsigned char *get_link_url(struct session *ses, struct f_data_c *f, struct link *l, int *onsubmit)
+{
+ if (l->type == L_LINK) {
+ if (!l->where) {
+ if (l->where_img && (!F || (!f->f_data->opt.display_images && f->f_data->opt.plain != 2))) return stracpy(l->where_img);
+ return NULL;
+ }
+ if (ismap_link && strlen(l->where) >= 4 && !strcmp(l->where + strlen(l->where) - 4, "?0,0")) {
+ unsigned char *nu = init_str();
+ int ll = 0;
+ add_bytes_to_str(&nu, &ll, l->where, strlen(l->where) - 3);
+ add_num_to_str(&nu, &ll, ismap_x);
+ add_chr_to_str(&nu, &ll, ',');
+ add_num_to_str(&nu, &ll, ismap_y);
+ return nu;
+ }
+ return stracpy(l->where);
+ }
+ if (l->type != L_BUTTON && l->type != L_FIELD) return NULL;
+ return get_form_url(ses, f, l->form, onsubmit);
+}
+
+static struct menu_item *clone_select_menu(struct menu_item *m)
+{
+ struct menu_item *n = DUMMY;
+ int i = 0;
+ do {
+ if ((unsigned)i > MAXINT / sizeof(struct menu_item) - 1) overalloc();
+ n = mem_realloc(n, (i + 1) * sizeof(struct menu_item));
+ n[i].text = stracpy(m->text);
+ n[i].rtext = stracpy(m->rtext);
+ n[i].hotkey = stracpy(m->hotkey);
+ n[i].in_m = m->in_m;
+ n[i].free_i = 0;
+ if ((n[i].func = m->func) != MENU_FUNC do_select_submenu) {
+ n[i].data = m->data;
+ } else n[i].data = clone_select_menu(m->data);
+ i++;
+ } while (m++->text);
+ return n;
+}
+
+static void free_select_menu(struct menu_item *m)
+{
+ struct menu_item *om = m;
+ do {
+ if (m->text) mem_free(m->text);
+ if (m->rtext) mem_free(m->rtext);
+ if (m->hotkey) mem_free(m->hotkey);
+ if (m->func == MENU_FUNC do_select_submenu) free_select_menu(m->data);
+ } while (m++->text);
+ mem_free(om);
+}
+
+void set_frame(struct session *ses, struct f_data_c *f, int a)
+{
+ if (f == ses->screen) return;
+ if (!f->loc->url) return;
+ goto_url_not_from_dialog(ses, f->loc->url);
+}
+
+/* pokud je a==1, tak se nebude submitovat formular, kdyz kliknu na input field a formular nema submit */
+int enter(struct session *ses, struct f_data_c *f, int a)
+{
+ struct link *link;
+ unsigned char *u;
+ if (!f->f_data || f->vs->current_link == -1 || f->vs->current_link >= f->f_data->nlinks) return 1;
+ link = &f->f_data->links[f->vs->current_link];
+#ifdef JS
+ if (link->js_event&&link->js_event->click_code)
+ jsint_execute_code(f,link->js_event->click_code,strlen(link->js_event->click_code),-1,(link->type==L_BUTTON&&link->form&&link->form->type==FC_SUBMIT)?link->form->form_num:-1,-1, NULL);
+#endif
+ if (link->type == L_LINK || link->type == L_BUTTON) {
+ int has_onsubmit;
+ if (link->type==L_BUTTON&&link->form->type==FC_BUTTON)return 1;
+ submit:
+ if ((u = get_link_url(ses, f, link, &has_onsubmit))) {
+#ifdef JS
+ struct js_event_spec *s=link->js_event;
+#endif
+ if (strlen(u) >= 4 && !casecmp(u, "MAP@", 4)) {
+ goto_imgmap(ses, u + 4, stracpy(u + 4), stracpy(link->target));
+ } else if (ses->ds.target_in_new_window && link->target && *link->target && !find_frame(ses, link->target, f) && can_open_in_new(ses->term)) { /* open in new window */
+ if (ses->wtd_target) mem_free(ses->wtd_target);
+ ses->wtd_target = stracpy(link->target);
+ open_in_new_window(ses->term, send_open_in_new_xterm, ses);
+ mem_free(ses->wtd_target), ses->wtd_target=NULL;
+ } else {
+ goto_url_f(
+ ses,
+ NULL,
+ u,
+ link->target,
+ f,
+ (link->type==L_BUTTON&&link->form&&link->form->type==FC_SUBMIT)?link->form->form_num:-1,
+#ifdef JS
+ (s&&(/*s->keyup_code||s->keydown_code||s->keypress_code||s->change_code||s->blur_code||s->focus_code||s->move_code||s->over_code||s->out_code||*/s->down_code||s->up_code||s->click_code||s->dbl_code))||has_onsubmit
+#else
+ 0
+#endif
+ ,0,0
+ );
+ }
+ mem_free(u);
+ return 2;
+ }
+ return 1;
+ }
+ if (link->type == L_CHECKBOX) {
+ struct form_state *fs = find_form_state(f, link->form);
+ if (link->form->ro) return 1;
+ if (link->form->type == FC_CHECKBOX) fs->state = !fs->state;
+ else {
+ struct form_control *fc;
+#ifdef G
+ int re = 0;
+#endif
+ foreach(fc, f->f_data->forms)
+ if (fc->form_num == link->form->form_num && fc->type == FC_RADIO && !xstrcmp(fc->name, link->form->name)) {
+ struct form_state *ffs = find_form_state(f, fc);
+ if (ffs) ffs->state = 0;
+#ifdef G
+ re = 1;
+#endif
+ }
+ fs = find_form_state(f, link->form);
+ fs->state = 1;
+#ifdef G
+ if (F && re) draw_fd(f);
+#endif
+ }
+ return 1;
+ }
+ if (link->type == L_SELECT) {
+ struct menu_item *m;
+ if (link->form->ro) return 1;
+ m = clone_select_menu(link->form->menu);
+ if (!m) return 1;
+ /* execute onfocus code of the select object */
+#ifdef JS
+ if (link->js_event&&link->js_event->focus_code)
+ {
+ jsint_execute_code(f,link->js_event->focus_code,strlen(link->js_event->focus_code),-1,-1,-1, NULL);
+ }
+#endif
+ add_empty_window(ses->term, (void (*)(void *))free_select_menu, m);
+ do_select_submenu(ses->term, m, ses);
+ return 1;
+ }
+ if (link->type == L_FIELD || link->type == L_AREA) {
+ /* pri enteru v textovem policku se bude posilat vzdycky -- Brain */
+ if (!has_form_submit(f->f_data, link->form) && (!a || !F)) goto submit;
+#ifdef JS
+ /* process onfocus handler */
+ if (
+#ifdef G
+ !ses->locked_link&&
+#endif
+ f->vs&&f->f_data&&f->vs->current_link>=0&&f->vs->current_link<f->f_data->nlinks)
+ {
+ struct link *lnk=&(f->f_data->links[f->vs->current_link]);
+ if (lnk->js_event&&lnk->js_event->focus_code)
+ jsint_execute_code(f,lnk->js_event->focus_code,strlen(lnk->js_event->focus_code),-1,-1,-1, NULL);
+ }
+#endif
+#ifdef G
+ if (F && a) {
+ ses->locked_link = 1;
+ return 2;
+ }
+#endif
+ if (!F) {
+ if (!ses->term->spec->braille) {
+ down(ses, f, 0);
+ } else {
+ if (f->vs->current_link < f->f_data->nlinks - 1) {
+ f->vs->current_link++;
+ if (f->f_data->links[f->vs->current_link].n) {
+ f->vs->brl_x = f->f_data->links[f->vs->current_link].pos[0].x;
+ f->vs->brl_y = f->f_data->links[f->vs->current_link].pos[0].y;
+ f->vs->orig_brl_x = f->vs->brl_x;
+ f->vs->orig_brl_y = f->vs->brl_y;
+ }
+ }
+ }
+ }
+#ifdef G
+ else g_next_link(f, 1);
+#endif
+ return 1;
+ }
+ internal("bad link type %d", link->type);
+ return 1;
+}
+
+void toggle(struct session *ses, struct f_data_c *f, int a)
+{
+ if (!f || !f->vs) {
+ msg_box(ses->term, NULL, TEXT_(T_TOGGLE_HTML_PLAIN), AL_LEFT, TEXT_(T_YOU_ARE_NOWHERE), NULL, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+ return;
+ }
+ if (f->vs->plain == -1) f->vs->plain = 1;
+ else f->vs->plain = f->vs->plain ^ 1;
+ html_interpret_recursive(f);
+ draw_formatted(ses);
+}
+
+void selected_item(struct terminal *term, void *pitem, struct session *ses)
+{
+ long item = (my_intptr_t)pitem;
+#ifdef JS
+ long old_item=item;
+#endif
+ struct f_data_c *f = current_frame(ses);
+ struct link *l;
+ struct form_state *fs;
+ if (!f) return;
+ if (f->vs->current_link == -1) return;
+ l = &f->f_data->links[f->vs->current_link];
+ if (l->type != L_SELECT) return;
+ if ((fs = find_form_state(f, l->form))) {
+ struct form_control *form= l->form;
+ if (item >= 0 && item < form->nvalues) {
+#ifdef JS
+ old_item=fs->state;
+#endif
+ fs->state = item;
+ if (fs->value) mem_free(fs->value);
+ fs->value = stracpy(form->values[item]);
+ }
+ fixup_select_state(form, fs);
+ }
+ f->active = 1;
+#ifdef G
+ if (F) {
+ f->xl = -1;
+ f->yl = -1;
+ }
+#endif
+ /* execute onchange handler */
+#ifdef JS
+ if (old_item!=item&&l->js_event&&l->js_event->change_code)
+ jsint_execute_code(f,l->js_event->change_code,strlen(l->js_event->change_code),-1,-1,-1, NULL);
+#endif
+ /* execute onblur handler */
+#ifdef JS
+ if (l->js_event&&l->js_event->blur_code)
+ jsint_execute_code(f,l->js_event->blur_code,strlen(l->js_event->blur_code),-1,-1,-1, NULL);
+#endif
+ draw_to_window(ses->win, (void (*)(struct terminal *, void *))draw_doc, f);
+ change_screen_status(ses);
+ print_screen_status(ses);
+ /*if (!has_form_submit(f->f_data, l->form)) {
+ goto_form(ses, f, l->form, l->target);
+ }*/
+}
+
+int get_current_state(struct session *ses)
+{
+ struct f_data_c *f = current_frame(ses);
+ struct link *l;
+ struct form_state *fs;
+ if (!f) return -1;
+ if (f->vs->current_link == -1) return -1;
+ l = &f->f_data->links[f->vs->current_link];
+ if (l->type != L_SELECT) return -1;
+ if ((fs = find_form_state(f, l->form))) return fs->state;
+ return -1;
+}
+
+static int find_pos_in_link(struct f_data_c *fd,struct link *l,struct event *ev,int *xx,int *yy);
+
+static void set_form_position(struct f_data_c *fd, struct link *l, struct event *ev)
+{
+ struct form_state *fs;
+ /* if links is a field, set cursor position */
+ if (l->form&&(l->type==L_AREA||l->type==L_FIELD)&&(fs=find_form_state(fd,l->form)))
+ {
+ int xx = 0, yy = 0; /* against uninitialized warning */
+
+ if (l->type==L_AREA) {
+ struct line_info *ln;
+
+ if (!find_pos_in_link(fd,l,ev,&xx,&yy)) {
+
+ xx += fs->vpos;
+ yy += fs->vypos;
+ if ((ln = format_text(fs->value, l->form->cols, l->form->wrap, fd->f_data->opt.cp))) {
+ int a;
+ for (a = 0; ln[a].st; a++) if (a == yy) {
+ unsigned char *ptr;
+ fs->state = ln[a].st - fs->value;
+ ptr = textptr_add(fs->value + fs->state, xx, fd->f_data->opt.cp);
+ if (ptr > ln[a].en) ptr = ln[a].en;
+ fs->state = ptr - fs->value;
+ goto br;
+ }
+ fs->state = strlen(fs->value);
+ br:
+ mem_free(ln);
+ }
+ }
+ } else if (l->type==L_FIELD) {
+ if (!find_pos_in_link(fd,l,ev,&xx,&yy)) {
+ unsigned char *ptr;
+ ptr = textptr_add(fs->value + fs->vpos, xx, fd->f_data->opt.cp);
+ fs->state = ptr - fs->value;
+ }
+ }
+ }
+}
+
+static int textarea_adjust_viewport(struct f_data_c *fd, struct link *l)
+{
+ struct form_control *fc = l->form;
+ struct view_state *vs = fd->vs;
+ int r = 0;
+ if (l->pos[0].x + fc->cols > fd->xw + vs->view_posx)
+ vs->view_posx = l->pos[0].x + fc->cols - fd->xw, r = 1;
+ if (l->pos[0].x < vs->view_posx)
+ vs->view_posx = l->pos[0].x, r = 1;
+ if (l->pos[0].y + fc->rows > fd->yw + vs->view_pos)
+ vs->view_pos = l->pos[0].y + fc->rows - fd->yw, r = 1;
+ if (l->pos[0].y < vs->view_pos)
+ vs->view_pos = l->pos[0].y, r = 1;
+ vs->orig_view_pos = vs->view_pos;
+ vs->orig_view_posx = vs->view_posx;
+ return r;
+}
+
+static void set_br_pos(struct f_data_c *fd, struct link *l)
+{
+ struct event ev;
+ if (!fd->ses->term->spec->braille || fd->vs->brl_in_field) return;
+ ev.ev = EV_MOUSE;
+ ev.x = fd->ses->term->cx - fd->xp;
+ ev.y = fd->ses->term->cy - fd->yp;
+ ev.b = 0;
+ set_form_position(fd, l, &ev);
+}
+
+#ifdef JS
+/* executes onkey-press/up/down handler */
+static void field_op_changed(struct f_data_c *f, struct link *lnk)
+{
+ /*
+ if (lnk->js_event&&lnk->js_event->keydown_code)
+ jsint_execute_code(f,lnk->js_event->keydown_code,strlen(lnk->js_event->keydown_code),-1,-1,-1, NULL);
+ if (lnk->js_event&&lnk->js_event->keypress_code)
+ jsint_execute_code(f,lnk->js_event->keypress_code,strlen(lnk->js_event->keypress_code),-1,-1,-1, NULL);
+ if (lnk->js_event&&lnk->js_event->keyup_code)
+ jsint_execute_code(f,lnk->js_event->keyup_code,strlen(lnk->js_event->keyup_code),-1,-1,-1, NULL);
+ */
+}
+#endif
+
+
+int field_op(struct session *ses, struct f_data_c *f, struct link *l, struct event *ev, int rep)
+{
+ struct form_control *form = l->form;
+ struct form_state *fs;
+ int x = 1;
+
+ if (!form) {
+ internal("link has no form control");
+ return 0;
+ }
+ if (l->form->ro == 2) return 0;
+ if (!(fs = find_form_state(f, form))) return 0;
+ if (!fs->value) return 0;
+ if (ev->ev == EV_KBD) {
+ if (ev->x == KBD_LEFT && (!ses->term->spec->braille || f->vs->brl_in_field)) {
+ if (f->f_data->opt.cp != utf8_table) fs->state = fs->state ? fs->state - 1 : 0;
+ else {
+ unsigned char *p = fs->value + fs->state;
+ BACK_UTF_8(p, fs->value);
+ fs->state = p - fs->value;
+ }
+ } else if (ev->x == KBD_RIGHT && (!ses->term->spec->braille || f->vs->brl_in_field)) {
+ if ((size_t)fs->state < strlen(fs->value)) {
+ if (f->f_data->opt.cp != utf8_table) fs->state = fs->state + 1;
+ else {
+ unsigned char *p = fs->value + fs->state;
+ FWD_UTF_8(p);
+ fs->state = p - fs->value;
+ }
+ } else fs->state = strlen(fs->value);
+ } else if ((ev->x == KBD_HOME || (upcase(ev->x) == 'A' && ev->y & KBD_CTRL))/* && (!ses->term->spec->braille || f->vs->brl_in_field)*/) {
+ if (form->type == FC_TEXTAREA) {
+ struct line_info *ln;
+ if ((ln = format_text(fs->value, form->cols, form->wrap, f->f_data->opt.cp))) {
+ int y;
+ for (y = 0; ln[y].st; y++) if (fs->value + fs->state >= ln[y].st && fs->value + fs->state < ln[y].en + (ln[y+1].st != ln[y].en)) {
+ fs->state = ln[y].st - fs->value;
+ goto x;
+ }
+ fs->state = 0;
+ x:
+ mem_free(ln);
+ }
+ } else fs->state = 0;
+ } else if (ev->x == KBD_UP && (!ses->term->spec->braille || f->vs->brl_in_field)) {
+ if (form->type == FC_TEXTAREA) {
+ struct line_info *ln;
+ if ((ln = format_text(fs->value, form->cols, form->wrap, f->f_data->opt.cp))) {
+ int y;
+ rep1:
+ for (y = 0; ln[y].st; y++) if (fs->value + fs->state >= ln[y].st && fs->value + fs->state < ln[y].en + (ln[y+1].st != ln[y].en)) {
+ if (!y) {
+ /*if (F) goto xx;*/
+ mem_free(ln);
+ goto b;
+ }
+ /*fs->state -= ln[y].st - ln[y-1].st;*/
+ fs->state = textptr_add(ln[y-1].st, textptr_diff(fs->value + fs->state, ln[y].st, f->f_data->opt.cp), f->f_data->opt.cp) - fs->value;
+ if (fs->value + fs->state > ln[y-1].en) fs->state = ln[y-1].en - fs->value;
+ goto xx;
+ }
+ mem_free(ln);
+ goto b;
+ xx:
+ if (rep) goto rep1;
+ mem_free(ln);
+ }
+
+ } else x = 0, f->vs->brl_in_field = 0;
+ } else if (ev->x == KBD_DOWN && (!ses->term->spec->braille || f->vs->brl_in_field)) {
+ if (form->type == FC_TEXTAREA) {
+ struct line_info *ln;
+ if ((ln = format_text(fs->value, form->cols, form->wrap, f->f_data->opt.cp))) {
+ int y;
+ rep2:
+ for (y = 0; ln[y].st; y++) if (fs->value + fs->state >= ln[y].st && fs->value + fs->state < ln[y].en + (ln[y+1].st != ln[y].en)) {
+ if (!ln[y+1].st) {
+ /*if (F) goto yy;*/
+ mem_free(ln);
+ goto b;
+ }
+ /*fs->state += ln[y+1].st - ln[y].st;*/
+ fs->state = textptr_add(ln[y+1].st, textptr_diff(fs->value + fs->state, ln[y].st, f->f_data->opt.cp), f->f_data->opt.cp) - fs->value;
+ if (fs->value + fs->state > ln[y+1].en) fs->state = ln[y+1].en - fs->value;
+ goto yy;
+ }
+ mem_free(ln);
+ goto b;
+ yy:
+ if (rep) goto rep2;
+ mem_free(ln);
+ }
+
+ } else x = 0, f->vs->brl_in_field = 0;
+ } else if ((ev->x == KBD_END || (upcase(ev->x) == 'E' && ev->y & KBD_CTRL))/* && (!ses->term->spec->braille || f->vs->brl_in_field)*/) {
+ if (form->type == FC_TEXTAREA) {
+ struct line_info *ln;
+ if ((ln = format_text(fs->value, form->cols, form->wrap, f->f_data->opt.cp))) {
+ int y;
+ for (y = 0; ln[y].st; y++) if (fs->value + fs->state >= ln[y].st && fs->value + fs->state < ln[y].en + (ln[y+1].st != ln[y].en)) {
+ fs->state = ln[y].en - fs->value;
+ if (fs->state && (size_t)fs->state < strlen(fs->value) && ln[y+1].st == ln[y].en) fs->state--;
+ goto yyyy;
+ }
+ fs->state = strlen(fs->value);
+ yyyy:
+ mem_free(ln);
+ }
+ } else fs->state = strlen(fs->value);
+ } else if (!(ev->y & (KBD_CTRL | KBD_ALT)) && (ev->x >= 32 && ev->x < MAXINT && gf_val(cp2u(ev->x, ses->term->spec->charset) != -1, 1))) {
+ set_br_pos(f, l);
+ if (!form->ro && cp_len(ses->term->spec->charset, fs->value) < form->maxlength) {
+ unsigned char *v;
+ unsigned char a_[2];
+ unsigned char *nw;
+ int ll;
+ v = mem_realloc(fs->value, strlen(fs->value) + 12);
+ if (f->f_data->opt.cp != utf8_table) {
+ nw = a_;
+ a_[0] = ev->x;
+ a_[1] = 0;
+ } else {
+ nw = encode_utf_8(ev->x);
+ }
+ ll = strlen(nw);
+ if (ll > 10) goto bad;
+ fs->value = v;
+ memmove(v + fs->state + ll, v + fs->state, strlen(v + fs->state) + 1);
+ memcpy(&v[fs->state], nw, ll);
+ fs->state += ll;
+#ifdef JS
+ fs->changed=1;
+ field_op_changed(f,l);
+#endif
+ bad:;
+ }
+ } else if ((ev->x == KBD_INS && ev->y & KBD_CTRL) || (upcase(ev->x) == 'B' && ev->y & KBD_CTRL)) {
+ set_br_pos(f, l);
+ set_clipboard_text(ses->term, fs->value);
+ } else if ((ev->x == KBD_DEL && ev->y & KBD_SHIFT) || (upcase(ev->x) == 'X' && ev->y & KBD_CTRL)) {
+ set_br_pos(f, l);
+ set_clipboard_text(ses->term, fs->value);
+ if (!form->ro) fs->value[0] = 0;
+ fs->state = 0;
+#ifdef JS
+ fs->changed=1;
+ field_op_changed(f,l);
+#endif
+ } else if ((ev->x == KBD_INS && ev->y & KBD_SHIFT) || (upcase(ev->x) == 'V' && ev->y & KBD_CTRL)) {
+ unsigned char *clipboard;
+ set_br_pos(f, l);
+ clipboard = get_clipboard_text(ses->term);
+ if (!clipboard) goto brk;
+ if (form->type != FC_TEXTAREA) {
+ unsigned char *nl = clipboard;
+ while ((nl = strchr(nl, '\n'))) *nl = ' ';
+ }
+ if (!form->ro && cp_len(ses->term->spec->charset, fs->value) + cp_len(ses->term->spec->charset, clipboard) <= form->maxlength) {
+ unsigned char *v;
+ v = mem_realloc(fs->value, strlen(fs->value) + strlen(clipboard) +1);
+ fs->value = v;
+ memmove(v + fs->state + strlen(clipboard), v + fs->state, strlen(v) - fs->state + 1);
+ memcpy(v + fs->state, clipboard, strlen(clipboard));
+ fs->state += strlen(clipboard);
+ }
+ mem_free(clipboard);
+#ifdef JS
+ fs->changed=1;
+ field_op_changed(f,l);
+#endif
+ brk:;
+ } else if (ev->x == KBD_ENTER && form->type == FC_TEXTAREA && (!ses->term->spec->braille || f->vs->brl_in_field)) {
+ if (!form->ro && strlen(fs->value) < (size_t)form->maxlength) {
+ unsigned char *v;
+ v = mem_realloc(fs->value, strlen(fs->value) + 2);
+ fs->value = v;
+ memmove(v + fs->state + 1, v + fs->state, strlen(v + fs->state) + 1);
+ v[fs->state++] = '\n';
+#ifdef JS
+ fs->changed=1;
+ field_op_changed(f,l);
+#endif
+ }
+ } else if (ev->x == KBD_ENTER) {
+ x = 0;
+ } else if (ev->x == KBD_BS) {
+ set_br_pos(f, l);
+ if (!form->ro && fs->state) {
+ int ll = 1;
+ if (f->f_data->opt.cp == utf8_table) {
+ unsigned char *p = fs->value + fs->state;
+ BACK_UTF_8(p, fs->value);
+ ll = fs->value + fs->state - p;
+ }
+ memmove(fs->value + fs->state - ll, fs->value + fs->state, strlen(fs->value + fs->state) + 1), fs->state -= ll
+#ifdef JS
+ , fs->changed=1, field_op_changed(f,l)
+#endif
+ ;
+ }
+ } else if (ev->x == KBD_DEL || (upcase(ev->x) == 'D' && ev->y & KBD_CTRL)) {
+ int ll = 1;
+ set_br_pos(f, l);
+ if (f->f_data->opt.cp == utf8_table) {
+ unsigned char *p = fs->value + fs->state;
+ FWD_UTF_8(p);
+ ll = p - (fs->value + fs->state);
+ }
+ if (!form->ro && (size_t)fs->state < strlen(fs->value)) memmove(fs->value + fs->state, fs->value + fs->state + ll, strlen(fs->value + fs->state + ll) + 1)
+#ifdef JS
+ , fs->changed=1, field_op_changed(f,l)
+#endif
+ ;
+ } else if (upcase(ev->x) == 'U' && ev->y & KBD_CTRL) {
+ set_br_pos(f, l);
+ if (!form->ro) {
+ unsigned char *a = memacpy(fs->value, fs->state);
+ if (a) {
+ set_clipboard_text(ses->term, a);
+ mem_free(a);
+ }
+ memmove(fs->value, fs->value + fs->state, strlen(fs->value + fs->state) + 1);
+ }
+ fs->state = 0;
+#ifdef JS
+ fs->changed=1;
+ field_op_changed(f,l);
+#endif
+ } else if (upcase(ev->x) == 'K' && ev->y & KBD_CTRL) {
+ set_br_pos(f, l);
+ if (!form->ro) {
+ if (form->type == FC_TEXTAREA) {
+ struct line_info *ln, *lnx;
+ if ((lnx = format_text(fs->value, form->cols, form->wrap, f->f_data->opt.cp))) {
+ for (ln = lnx; ln->st; ln++) {
+ if (!(ln + 1)->st || (ln + 1)->st > fs->value + fs->state) {
+ unsigned l;
+ unsigned char *cp = memacpy(ln->st, ln->en - ln->st);
+ set_clipboard_text(ses->term, cp);
+ mem_free(cp);
+ l = ln->en - ln->st + ((ln + 1)->st && (ln + 1)->st > ln->en);
+ memmove(ln->st, ln->st + l, strlen(ln->st + l) + 1);
+ fs->state = ln->st - fs->value;
+ break;
+ }
+ }
+ mem_free(lnx);
+ }
+ } else {
+ set_clipboard_text(ses->term, fs->state + fs->value);
+ fs->value[fs->state] = 0;
+ }
+ }
+#ifdef JS
+ fs->changed=1;
+ field_op_changed(f,l);
+#endif
+ } else {
+ b:
+ f->vs->brl_in_field = 0;
+ x = 0;
+ }
+ } else x = 0;
+ if (!F && x) {
+ if (((ev->x != KBD_UP && ev->x != KBD_DOWN) || (ses->term->spec->braille)) && form->type == FC_TEXTAREA && textarea_adjust_viewport(f, l))
+ ;
+ else x_draw_form_entry(ses, f, l);
+ }
+ if (!x && ses->term->spec->braille) {
+ f->vs->brl_x = ses->term->cx - f->xp + f->vs->view_posx;
+ f->vs->brl_y = ses->term->cy - f->yp + f->vs->view_pos;
+ f->vs->orig_brl_x = f->vs->brl_x;
+ f->vs->orig_brl_y = f->vs->brl_y;
+ }
+ return x;
+}
+
+void set_textarea(struct session *ses, struct f_data_c *f, int kbd)
+{
+ if (f->vs->current_link != -1 && f->f_data->links[f->vs->current_link].type == L_AREA) {
+ struct event ev = { EV_KBD, 0, 0, 0 };
+ ev.x = kbd;
+ field_op(ses, f, &f->f_data->links[f->vs->current_link], &ev, 1);
+ }
+}
+
+void search_for_back(struct session *ses, unsigned char *str)
+{
+ struct f_data_c *f = current_frame(ses);
+ if (!f || !str || !str[0]) return;
+ if (ses->search_word) mem_free(ses->search_word);
+ ses->search_word = stracpy(str);
+ charset_upcase_string(&ses->search_word, ses->term->spec->charset);
+ if (ses->last_search_word) mem_free(ses->last_search_word);
+ ses->last_search_word = stracpy(ses->search_word);
+ ses->search_direction = -1;
+ find_next(ses, f, 1);
+}
+
+void search_for(struct session *ses, unsigned char *str)
+{
+ struct f_data_c *f = current_frame(ses);
+ if (!f || !f->vs || !f->f_data || !str || !str[0]) return;
+ if (ses->search_word) mem_free(ses->search_word);
+ ses->search_word = stracpy(str);
+ charset_upcase_string(&ses->search_word, ses->term->spec->charset);
+ if (ses->last_search_word) mem_free(ses->last_search_word);
+ ses->last_search_word = stracpy(ses->search_word);
+ ses->search_direction = 1;
+ find_next(ses, f, 1);
+}
+
+#define HASH_SIZE 4096
+
+#define HASH(p) (((p.y << 6) + p.x) & (HASH_SIZE - 1))
+
+static int point_intersect(struct point *p1, int l1, struct point *p2, int l2)
+{
+ int i, j;
+ static unsigned char hash[HASH_SIZE];
+ static unsigned char init = 0;
+ if (!init) memset(hash, 0, HASH_SIZE), init = 1;
+ for (i = 0; i < l1; i++) hash[HASH(p1[i])] = 1;
+ for (j = 0; j < l2; j++) if (hash[HASH(p2[j])]) {
+ for (i = 0; i < l1; i++) if (p1[i].x == p2[j].x && p1[i].y == p2[j].y) {
+ for (i = 0; i < l1; i++) hash[HASH(p1[i])] = 0;
+ return 1;
+ }
+ }
+ for (i = 0; i < l1; i++) hash[HASH(p1[i])] = 0;
+ return 0;
+}
+
+static int find_next_link_in_search(struct f_data_c *f, int d)
+{
+ struct point *pt;
+ int len;
+ struct link *link;
+ if (f->ses->term->spec->braille) {
+ int i, opt;
+ if (get_searched(f, &pt, &len))
+ return 1;
+ if (!len) {
+ mem_free(pt);
+ return 1;
+ }
+ opt = -1;
+ for (i = 0; i < len; i++) {
+ if (d > 0) {
+ if ((d == 2 || pt[i].y > f->vs->brl_y || (pt[i].y == f->vs->brl_y && pt[i].x > f->vs->brl_x)) && (opt == -1 || pt[i].y < pt[opt].y || (pt[i].y == pt[opt].y && pt[i].x < pt[opt].x))) opt = i;
+ }
+ if (d < 0) {
+ if ((d == -2 || pt[i].y < f->vs->brl_y || (pt[i].y == f->vs->brl_y && pt[i].x < f->vs->brl_x)) && (opt == -1 || pt[i].y > pt[opt].y || (pt[i].y == pt[opt].y && pt[i].x > pt[opt].x))) opt = i;
+ }
+ }
+ if (opt == -1) {
+ mem_free(pt);
+ return 1;
+ }
+ f->vs->brl_x = pt[opt].x;
+ f->vs->brl_y = pt[opt].y;
+ f->vs->orig_brl_x = f->vs->brl_x;
+ f->vs->orig_brl_y = f->vs->brl_y;
+ update_braille_link(f);
+ mem_free(pt);
+ return 0;
+ }
+ if (d == -2 || d == 2) {
+ d /= 2;
+ find_link(f, d, 0);
+ if (f->vs->current_link == -1) return 1;
+ } else nx:if (f->vs->current_link == -1 || !(next_in_view(f, f->vs->current_link + d, d, in_view, NULL))) {
+ find_link(f, d, 0);
+ return 1;
+ }
+ link = &f->f_data->links[f->vs->current_link];
+ if (get_searched(f, &pt, &len) < 0)
+ return 1;
+ if (point_intersect(pt, len, link->pos, link->n)) {
+ mem_free(pt);
+ return 0;
+ }
+ mem_free(pt);
+ goto nx;
+}
+
+void find_next(struct session *ses, struct f_data_c *f, int a)
+{
+ int min, max;
+ int c = 0;
+ int p;
+ if (!f->f_data || !f->vs) {
+ msg_box(ses->term, NULL, TEXT_(T_SEARCH), AL_CENTER, TEXT_(T_YOU_ARE_NOWHERE), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return;
+ }
+ p = f->vs->view_pos;
+ if (!F && !a && ses->search_word) {
+ if (!(find_next_link_in_search(f, ses->search_direction))) return;
+ p += ses->search_direction * f->yw;
+ }
+ if (!ses->search_word) {
+ if (!ses->last_search_word) {
+ msg_box(ses->term, NULL, TEXT_(T_SEARCH), AL_CENTER, TEXT_(T_NO_PREVIOUS_SEARCH), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return;
+ }
+ ses->search_word = stracpy(ses->last_search_word);
+ }
+#ifdef G
+ if (F) {
+ g_find_next(f, a);
+ return;
+ }
+#endif
+ if (get_search_data(f->f_data) < 0) {
+ mem_free(ses->search_word);
+ ses->search_word = NULL;
+ msg_box(ses->term, NULL, TEXT_(T_SEARCH), AL_CENTER, TEXT_(T_OUT_OF_MEMORY), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ return;
+ }
+ do {
+ if (is_in_range(f->f_data, p, f->yw, ses->search_word, &min, &max)) {
+ f->vs->view_pos = p;
+ if (max >= min) {
+ if (max > f->vs->view_posx + f->xw) f->vs->view_posx = max - f->xw;
+ if (min < f->vs->view_posx) f->vs->view_posx = min;
+ }
+ f->vs->orig_view_pos = f->vs->view_pos;
+ f->vs->orig_view_posx = f->vs->view_posx;
+ if (!ses->term->spec->braille) set_link(f);
+ find_next_link_in_search(f, ses->search_direction * 2);
+ return;
+ }
+ if ((p += ses->search_direction * f->yw) > f->f_data->y) p = 0;
+ if (p < 0) {
+ p = 0;
+ while (p < f->f_data->y) p += f->yw ? f->yw : 1;
+ p -= f->yw;
+ }
+ } while ((c += f->yw ? f->yw : 1) < f->f_data->y + f->yw);
+ msg_box(ses->term, NULL, TEXT_(T_SEARCH), AL_CENTER, TEXT_(T_SEARCH_STRING_NOT_FOUND), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+}
+
+void find_next_back(struct session *ses, struct f_data_c *f, int a)
+{
+ ses->search_direction = - ses->search_direction;
+ find_next(ses, f, a);
+ ses->search_direction = - ses->search_direction;
+}
+
+static void rep_ev(struct session *ses, struct f_data_c *fd, void (*f)(struct session *, struct f_data_c *, int), int a)
+{
+ int i = ses->kbdprefix.rep ? ses->kbdprefix.rep_num : 1;
+ while (i--) f(ses, fd, a);
+}
+
+static struct link *choose_mouse_link(struct f_data_c *f, struct event *ev)
+{
+ return get_link_at_location(f->f_data, ev->x + f->vs->view_posx, ev->y + f->vs->view_pos);
+}
+
+static void goto_link_number(struct session *ses, unsigned char *num)
+{
+ int n = atoi(num);
+ struct f_data_c *f = current_frame(ses);
+ struct link *link;
+ if (!f || !f->vs) return;
+ if (n < 0 || n > f->f_data->nlinks) return;
+ f->vs->current_link = n - 1;
+ f->vs->orig_link = f->vs->current_link;
+ link = &f->f_data->links[f->vs->current_link];
+ if (ses->term->spec->braille) {
+ if (link->n) {
+ f->vs->brl_x = link->pos[0].x;
+ f->vs->brl_y = link->pos[0].y;
+ f->vs->orig_brl_x = f->vs->brl_x;
+ f->vs->orig_brl_y = f->vs->brl_y;
+ }
+ }
+ check_vs(f);
+ f->vs->orig_view_pos = f->vs->view_pos;
+ f->vs->orig_view_posx = f->vs->view_posx;
+ if (link->type != L_AREA && link->type != L_FIELD) enter(ses, f, 0);
+}
+
+
+/* l must be a valid link, ev must be a mouse event */
+static int find_pos_in_link(struct f_data_c *fd,struct link *l,struct event *ev,int *xx,int *yy)
+{
+ int a;
+ int minx,miny;
+ int found=0;
+
+ if (!l->n)return 1;
+ minx=l->pos[0].x;miny=l->pos[0].y;
+ for (a=0;a<l->n;a++)
+ {
+ if (l->pos[a].x<minx)minx=l->pos[a].x;
+ if (l->pos[a].y<miny)miny=l->pos[a].y;
+ if (l->pos[a].x-fd->vs->view_posx==ev->x && l->pos[a].y-fd->vs->view_pos==ev->y)(*xx=l->pos[a].x),(*yy=l->pos[a].y),found=1;
+ }
+ if (!found)return 1;
+ *xx-=minx;
+ *yy-=miny;
+ return 0;
+}
+
+
+static int frame_ev(struct session *ses, struct f_data_c *fd, struct event *ev)
+{
+ int x = 1;
+
+ if (!fd || !fd->vs || !fd->f_data) return 0;
+ if (fd->vs->current_link >= 0 && (fd->f_data->links[fd->vs->current_link].type == L_FIELD || fd->f_data->links[fd->vs->current_link].type == L_AREA))
+ if (field_op(ses, fd, &fd->f_data->links[fd->vs->current_link], ev, 0)) {
+ fd->vs->brl_in_field = 1;
+ return 1;
+ }
+ if (ev->ev == EV_KBD && ev->x >= '0'+!ses->kbdprefix.rep && ev->x <= '9' && (!fd->f_data->opt.num_links || (ev->y & (KBD_CTRL | KBD_ALT)))) {
+ if (!ses->kbdprefix.rep) ses->kbdprefix.rep_num = 0;
+ if ((ses->kbdprefix.rep_num = ses->kbdprefix.rep_num * 10 + ev->x - '0') > 65536) ses->kbdprefix.rep_num = 65536;
+ ses->kbdprefix.rep = 1;
+ return 1;
+ }
+ if (ev->ev == EV_KBD) {
+ if (ev->x == KBD_PAGE_DOWN || (ev->x == ' ' && (!(ev->y & KBD_ALT))) || (upcase(ev->x) == 'F' && ev->y & KBD_CTRL)) rep_ev(ses, fd, page_down, 0);
+ else if (ev->x == KBD_PAGE_UP || (upcase(ev->x) == 'B' && (!(ev->y & KBD_ALT)))) rep_ev(ses, fd, page_up, 0);
+ else if (ev->x == KBD_DOWN) rep_ev(ses, fd, down, 0);
+ else if (ev->x == KBD_UP) rep_ev(ses, fd, up, 0);
+ else if (ev->x == KBD_LEFT && ses->term->spec->braille) rep_ev(ses, fd, left, 0);
+ else if (ev->x == KBD_RIGHT && ses->term->spec->braille) rep_ev(ses, fd, right, 0);
+ else if (ev->x == '{' && ses->term->spec->braille) rep_ev(ses, fd, cursor_home, 0);
+ else if (ev->x == '}' && ses->term->spec->braille) rep_ev(ses, fd, cursor_end, 0);
+ else if (upcase(ev->x) == 'Y' && !(ev->y & (KBD_CTRL | KBD_ALT)) && ses->term->spec->braille) rep_ev(ses, fd, cursor_word, 0);
+ else if (upcase(ev->x) == 'T' && !(ev->y & (KBD_CTRL | KBD_ALT)) && ses->term->spec->braille) rep_ev(ses, fd, cursor_word_back, 0);
+ else if (((ev->x == KBD_TAB && !ev->y && fd == ses->screen) || (upcase(ev->x) == 'Y' && ev->y & KBD_CTRL)) && ses->term->spec->braille) rep_ev(ses, fd, br_next_link, 0);
+ else if (((ev->x == KBD_TAB && ev->y && fd == ses->screen) || (upcase(ev->x) == 'T' && ev->y & KBD_CTRL)) && ses->term->spec->braille) rep_ev(ses, fd, br_prev_link, 0);
+ else if (upcase(ev->x) == 'O' && ev->y & KBD_CTRL && ses->term->spec->braille) rep_ev(ses, fd, br_next_link, 1);
+ /* Copy current link to clipboard */
+ else if ((ev->x == KBD_INS && ev->y & KBD_CTRL) || (upcase(ev->x) == 'C' && ev->y & KBD_CTRL)) {
+ unsigned char *current_link = print_current_link(ses);
+ if (current_link) {
+ set_clipboard_text(ses->term, current_link);
+ mem_free(current_link);
+ }
+ }
+ else if (ev->x == KBD_INS || (upcase(ev->x) == 'P' && ev->y & KBD_CTRL)) rep_ev(ses, fd, scroll, -1 - !ses->kbdprefix.rep);
+ else if (ev->x == KBD_DEL || (upcase(ev->x) == 'N' && ev->y & KBD_CTRL)) rep_ev(ses, fd, scroll, 1 + !ses->kbdprefix.rep);
+ else if (ev->x == '[') rep_ev(ses, fd, hscroll, -1 - 7 * !ses->kbdprefix.rep);
+ else if (ev->x == ']') rep_ev(ses, fd, hscroll, 1 + 7 * !ses->kbdprefix.rep);
+ /*else if (upcase(ev->x) == 'Y' && ev->y & KBD_CTRL) rep_ev(ses, fd, scroll, -1);
+ else if (upcase(ev->x) == 'E' && ev->y & KBD_CTRL) rep_ev(ses, fd, scroll, 1);*/
+ else if (ev->x == KBD_HOME || (upcase(ev->x) == 'A' && ev->y & KBD_CTRL)) rep_ev(ses, fd, home, 0);
+ else if (ev->x == KBD_END || (upcase(ev->x) == 'E' && ev->y & KBD_CTRL)) rep_ev(ses, fd, x_end, 0);
+ else if ((ev->x == KBD_RIGHT && !ses->term->spec->braille) || ev->x == KBD_ENTER) {
+ /*if (ses->term->spec->braille && !fd->vs->brl_in_field && fd->vs->current_link >= 0 && fd->vs->current_link < fd->f_data->nlinks) {
+ struct link *l = &fd->f_data->links[fd->vs->current_link];
+ if (l->type != L_FIELD && l->type != L_AREA) goto real_link;
+ fd->vs->brl_in_field = 1;
+ x = 1;
+ goto skip_link;
+ }
+ real_link:*/
+ x = enter(ses, fd, 0);
+ /*skip_link:;*/
+ } else if (ev->x == '*') {
+ ses->ds.images ^= 1;
+ html_interpret_recursive(ses->screen);
+ draw_formatted(ses);
+ } else if (ev->x == 'i' && !(ev->y & KBD_ALT)) {
+ if (!F || fd->f_data->opt.plain != 2) frm_view_image(ses, fd);
+ } else if (ev->x == 'I' && !(ev->y & KBD_ALT)) {
+ if (!anonymous) frm_download_image(ses, fd);
+ } else if (upcase(ev->x) == 'D' && !(ev->y & KBD_ALT)) {
+ if (!anonymous) frm_download(ses, fd);
+ } else if (ev->x == '/') search_dlg(ses, fd, 0);
+ else if (ev->x == '?') search_back_dlg(ses, fd, 0);
+ else if (ev->x == 'n' && !(ev->y & KBD_ALT)) find_next(ses, fd, 0);
+ else if (ev->x == 'N' && !(ev->y & KBD_ALT)) find_next_back(ses, fd, 0);
+ else if (upcase(ev->x) == 'F' && !(ev->y & (KBD_ALT | KBD_CTRL))) set_frame(ses, fd, 0);
+ else if (ev->x >= '1' && ev->x <= '9' && !(ev->y & (KBD_CTRL | KBD_ALT))) {
+ struct f_data *f_data = fd->f_data;
+ int nl, lnl;
+ unsigned char d[2];
+ d[0] = ev->x;
+ d[1] = 0;
+ nl = f_data->nlinks, lnl = 1;
+ while (nl) nl /= 10, lnl++;
+ if (lnl > 1) input_field(ses->term, NULL, TEXT_(T_GO_TO_LINK), TEXT_(T_ENTER_LINK_NUMBER), ses, NULL, lnl, d, 1, f_data->nlinks, check_number, TEXT_(T_OK), (void (*)(void *, unsigned char *)) goto_link_number, TEXT_(T_CANCEL), NULL, NULL);
+ }
+ else x = 0;
+ } else if (ev->ev == EV_MOUSE) {
+ struct link *l = choose_mouse_link(fd, ev);
+ if (l) {
+ x = 1;
+ fd->vs->current_link = l - fd->f_data->links;
+ fd->vs->orig_link = fd->vs->current_link;
+ if (l->type == L_LINK || l->type == L_BUTTON || l->type == L_CHECKBOX || l->type == L_SELECT) if ((ev->b & BM_ACT) == B_UP) {
+ fd->active = 1;
+ draw_to_window(ses->win, (void (*)(struct terminal *, void *))draw_doc_c, fd);
+ change_screen_status(ses);
+ print_screen_status(ses);
+ if ((ev->b & BM_BUTT) < B_MIDDLE) x = enter(ses, fd, 0);
+ else link_menu(ses->term, NULL, ses);
+ }
+
+ set_form_position(fd, l, ev);
+ }
+ } else x = 0;
+ ses->kbdprefix.rep = 0;
+ return x;
+}
+
+struct f_data_c *current_frame(struct session *ses)
+{
+ struct f_data_c *fd, *fdd;
+ fd = ses->screen;
+ while (!list_empty(fd->subframes)) {
+ int n = fd->vs->frame_pos;
+ if (n == -1) break;
+ foreach(fdd, fd->subframes) if (!n--) {
+ fd = fdd;
+ goto r;
+ }
+ fd = fd->subframes.next;
+ r:;
+ }
+ return fd;
+}
+
+static int is_active_frame(struct session *ses, struct f_data_c *f)
+{
+ struct f_data_c *fd, *fdd;
+ fd = ses->screen;
+ if (f == fd) return 1;
+ while (!list_empty(fd->subframes)) {
+ int n = fd->vs->frame_pos;
+ if (n == -1) break;
+ foreach(fdd, fd->subframes) if (!n--) {
+ fd = fdd;
+ goto r;
+ }
+ fd = fd->subframes.next;
+ r:;
+ if (f == fd) return 1;
+ }
+ return 0;
+}
+
+#ifdef JS
+static int event_catchable(struct event *ev)
+{
+ if (!(ev->ev == EV_KBD)) return 0;
+ if (ev->x == KBD_TAB || ev->x == KBD_ESC || ev->x == KBD_CTRL_C || ev->x == KBD_CLOSE) return 0;
+ return 1;
+}
+
+static int call_keyboard_event(struct f_data_c *fd, unsigned char *code, struct event *ev)
+{
+ int keycode;
+ unsigned char *shiftkey, *ctrlkey, *altkey;
+ unsigned char *nc;
+ int nl;
+ shiftkey = ev->y & KBD_SHIFT ? "true" : "false";
+ ctrlkey = ev->y & KBD_CTRL ? "true" : "false";
+ altkey = ev->y & KBD_ALT ? "true" : "false";
+ if (ev->x >= 0) {
+ if (ev->x < 0x80 || fd->ses->term->spec->charset == utf8_table) keycode = ev->x;
+ else keycode = cp2u(ev->x, fd->ses->term->spec->charset);
+ }
+ else if (ev->x == KBD_ENTER) keycode = 13;
+ else if (ev->x == KBD_BS) keycode = 8;
+ else if (ev->x == KBD_TAB) keycode = 9;
+ else if (ev->x == KBD_ESC) keycode = 27;
+ else if (ev->x == KBD_INS) keycode = 45;
+ else if (ev->x == KBD_DEL) keycode = 46;
+ else if (ev->x == KBD_PAGE_UP) keycode = 33;
+ else if (ev->x == KBD_PAGE_DOWN) keycode = 34;
+ else if (ev->x == KBD_END) keycode = 35;
+ else if (ev->x == KBD_HOME) keycode = 36;
+ else if (ev->x == KBD_LEFT) keycode = 37;
+ else if (ev->x == KBD_UP) keycode = 38;
+ else if (ev->x == KBD_RIGHT) keycode = 39;
+ else if (ev->x == KBD_DOWN) keycode = 40;
+ else if (ev->x == KBD_F1) keycode = 112;
+ else if (ev->x == KBD_F2) keycode = 113;
+ else if (ev->x == KBD_F3) keycode = 114;
+ else if (ev->x == KBD_F4) keycode = 115;
+ else if (ev->x == KBD_F5) keycode = 116;
+ else if (ev->x == KBD_F6) keycode = 117;
+ else if (ev->x == KBD_F7) keycode = 118;
+ else if (ev->x == KBD_F8) keycode = 119;
+ else if (ev->x == KBD_F9) keycode = 120;
+ else if (ev->x == KBD_F10) keycode = 121;
+ else if (ev->x == KBD_F11) keycode = 122;
+ else if (ev->x == KBD_F12) keycode = 123;
+ else return -1;
+ nc = init_str();
+ nl = 0;
+ add_to_str(&nc, &nl, "event = new Object(); event.keyCode = ");
+ add_num_to_str(&nc, &nl, keycode);
+ add_to_str(&nc, &nl, "; event.shiftKey = ");
+ add_to_str(&nc, &nl, shiftkey);
+ add_to_str(&nc, &nl, "; event.ctrlKey = ");
+ add_to_str(&nc, &nl, ctrlkey);
+ add_to_str(&nc, &nl, "; event.altKey = ");
+ add_to_str(&nc, &nl, altkey);
+ add_to_str(&nc, &nl, "; ");
+ add_to_str(&nc, &nl, code);
+ jsint_execute_code(fd, nc, nl, -1, -1, -1, ev);
+ mem_free(nc);
+ return 0;
+}
+#endif
+
+static int send_to_frame(struct session *ses, struct event *ev)
+{
+ int r;
+ struct f_data_c *fd;
+#ifdef JS
+ int previous_link;
+#endif
+ fd = current_frame(ses);
+ if (!fd) {
+ /*internal("document not formatted");*/
+ return 0;
+ }
+
+#ifdef JS
+ previous_link=fd->vs ? fd->vs->current_link : -1;
+ if (!event_catchable(ev) || !fd->f_data || !fd->vs) goto dont_catch;
+ if (fd->vs->current_link >= 0 && fd->vs->current_link < fd->f_data->nlinks) {
+ struct link *l = &fd->f_data->links[fd->vs->current_link];
+ if (ev->b < EVH_LINK_KEYDOWN_PROCESSED && l->js_event && l->js_event->keydown_code) {
+ ev->b = EVH_LINK_KEYDOWN_PROCESSED;
+ if (!(call_keyboard_event(fd, l->js_event->keydown_code, ev))) return 1;
+ }
+ if (ev->b < EVH_LINK_KEYPRESS_PROCESSED && l->js_event && l->js_event->keypress_code) {
+ ev->b = EVH_LINK_KEYPRESS_PROCESSED;
+ if (!(call_keyboard_event(fd, l->js_event->keypress_code, ev))) return 1;
+ }
+ }
+ if (ev->b < EVH_DOCUMENT_KEYDOWN_PROCESSED && fd->f_data->js_event && fd->f_data->js_event->keydown_code) {
+ ev->b = EVH_DOCUMENT_KEYDOWN_PROCESSED;
+ if (!(call_keyboard_event(fd, fd->f_data->js_event->keydown_code, ev))) return 1;
+ }
+ if (ev->b < EVH_DOCUMENT_KEYPRESS_PROCESSED && fd->f_data->js_event && fd->f_data->js_event->keypress_code) {
+ ev->b = EVH_DOCUMENT_KEYPRESS_PROCESSED;
+ if (!(call_keyboard_event(fd, fd->f_data->js_event->keypress_code, ev))) return 1;
+ }
+ dont_catch:
+#endif
+
+ if (!F) r = frame_ev(ses, fd, ev);
+#ifdef G
+ else r = g_frame_ev(ses, fd, ev);
+#endif
+ if (r == 1) {
+ fd->active = 1;
+ draw_to_window(ses->win, (void (*)(struct terminal *, void *))draw_doc_c, fd);
+ change_screen_status(ses);
+ print_screen_status(ses);
+ }
+ if (r == 3) draw_fd_nrd(fd);
+ if (!F && fd->vs) {
+#ifdef JS
+ if (previous_link!=fd->vs->current_link&&fd->f_data&&previous_link>=0&&previous_link<fd->f_data->nlinks) /* link has changed */
+ {
+ struct link *l=&(fd->f_data->links[previous_link]);
+ struct form_state *fs;
+
+ /* process onchange code, if previous link was a textarea or a textfield and has changed */
+ if ((l->type==L_FIELD||l->type==L_AREA) && (fs=find_form_state(fd,l->form)) && fs->changed && l->js_event && l->js_event->change_code)
+ fs->changed=0,jsint_execute_code(fd,l->js_event->change_code,strlen(l->js_event->change_code),-1,-1,-1, NULL);
+
+ /* process blur and mouse-out handlers */
+ if (l->js_event&&l->js_event->blur_code)
+ jsint_execute_code(fd,l->js_event->blur_code,strlen(l->js_event->blur_code),-1,-1,-1, NULL);
+ if (l->js_event&&l->js_event->out_code)
+ jsint_execute_code(fd,l->js_event->out_code,strlen(l->js_event->out_code),-1,-1,-1, NULL);
+ }
+ if (previous_link!=fd->vs->current_link&&fd->f_data&&fd->vs->current_link>=0&&fd->vs->current_link<fd->f_data->nlinks)
+ {
+ struct link *l=&(fd->f_data->links[fd->vs->current_link]);
+
+ /* process focus and mouse-over handlers */
+ if (l->js_event&&l->js_event->focus_code)
+ jsint_execute_code(fd,l->js_event->focus_code,strlen(l->js_event->focus_code),-1,-1,-1, NULL);
+ if (l->js_event&&l->js_event->over_code)
+ jsint_execute_code(fd,l->js_event->over_code,strlen(l->js_event->over_code),-1,-1,-1, NULL);
+ }
+#endif
+ }
+ return r;
+}
+
+void next_frame(struct session *ses, int p)
+{
+ int n;
+ struct view_state *vs;
+ struct f_data_c *fd, *fdd;
+
+ if (!(fd = current_frame(ses))) return;
+#ifdef G
+ ses->locked_link = 0;
+#endif
+ while ((fd = fd->parent)) {
+ n = 0;
+ foreach(fdd, fd->subframes) n++;
+ vs = fd->vs;
+ vs->frame_pos += p;
+ if (vs->frame_pos < -!fd->f_data->frame_desc) { vs->frame_pos = n - 1; continue; }
+ if (vs->frame_pos >= n) { vs->frame_pos = -!fd->f_data->frame_desc; continue; }
+ break;
+ }
+ if (!fd) fd = ses->screen;
+ vs = fd->vs;
+ n = 0;
+ foreach(fdd, fd->subframes) if (n++ == vs->frame_pos) {
+ fd = fdd;
+ next_sub:
+ if (list_empty(fd->subframes)) break;
+ fd = p < 0 ? fd->subframes.prev : fd->subframes.next;
+ vs = fd->vs;
+ vs->frame_pos = -1;
+ if (!fd->f_data || (!fd->f_data->frame_desc && p > 0)) break;
+ if (p < 0) foreach(fdd, fd->subframes) vs->frame_pos++;
+ else vs->frame_pos = 0;
+ goto next_sub;
+ }
+#ifdef G
+ if (F && (fd = current_frame(ses)) && fd->vs && fd->f_data) {
+ if (fd->vs->current_link >= 0 && fd->vs->current_link < fd->f_data->nlinks) {
+ /*fd->vs->g_display_link = 1;*/
+ if (fd->vs->g_display_link && (fd->f_data->links[fd->vs->current_link].type == L_FIELD || fd->f_data->links[fd->vs->current_link].type == L_AREA)) {
+ if ((fd->f_data->locked_on = fd->f_data->links[fd->vs->current_link].obj)) fd->ses->locked_link = 1;
+ }
+ }
+ }
+#endif
+}
+
+void do_for_frame(struct session *ses, void (*f)(struct session *, struct f_data_c *, int), int a)
+{
+ struct f_data_c *fd = current_frame(ses);
+ if (!fd) {
+ /*internal("document not formatted");*/
+ return;
+ }
+ f(ses, fd, a);
+ if (!F) {
+ fd->active = 1;
+ draw_to_window(ses->win, (void (*)(struct terminal *, void *))draw_doc_c, fd);
+ change_screen_status(ses);
+ print_screen_status(ses);
+ }
+}
+
+static void do_mouse_event(struct session *ses, struct event *ev)
+{
+ struct event evv;
+ struct f_data_c *fdd, *fd = current_frame(ses);
+ if (!fd) return;
+ if (ev->x >= fd->xp && ev->x < fd->xp + fd->xw &&
+ ev->y >= fd->yp && ev->y < fd->yp + fd->yw) goto ok;
+#ifdef G
+ if (ses->scrolling) goto ok;
+#endif
+ r:
+ next_frame(ses, 1);
+ fdd = current_frame(ses);
+ /*o = &fdd->f_data->opt;*/
+ if (ev->x >= fdd->xp && ev->x < fdd->xp + fdd->xw &&
+ ev->y >= fdd->yp && ev->y < fdd->yp + fdd->yw) {
+ draw_formatted(ses);
+ fd = fdd;
+ goto ok;
+ }
+ if (fdd != fd) goto r;
+ return;
+ ok:
+ memcpy(&evv, ev, sizeof(struct event));
+ evv.x -= fd->xp;
+ evv.y -= fd->yp;
+ send_to_frame(ses, &evv);
+}
+
+void send_event(struct session *ses, struct event *ev)
+{
+ if (ses->brl_cursor_mode) {
+ ses->brl_cursor_mode = 0;
+ print_screen_status(ses);
+ }
+ if (ev->ev == EV_KBD) {
+ if (send_to_frame(ses, ev)) return;
+ if (ev->y & KBD_ALT && ev->x != KBD_TAB) {
+ struct window *m;
+ ev->y &= ~KBD_ALT;
+ activate_bfu_technology(ses, -1);
+ m = ses->term->windows.next;
+ m->handler(m, ev, 0);
+ if (ses->term->windows.next == m) {
+ delete_window(m);
+ } else goto x;
+ ev->y |= KBD_ALT;
+ }
+ if (ev->x == KBD_F1) {
+ activate_keys(ses);
+ goto x;
+ }
+ if (ev->x == KBD_ESC || ev->x == KBD_F9) {
+ activate_bfu_technology(ses, -1);
+ goto x;
+ }
+ if (ev->x == KBD_F10) {
+ activate_bfu_technology(ses, 0);
+ goto x;
+ }
+ if (ev->x == KBD_TAB) {
+ next_frame(ses, ev->y ? -1 : 1);
+ draw_formatted(ses);
+ }
+ if (ev->x == KBD_LEFT && !ses->term->spec->braille) {
+ go_back(ses, 1);
+ goto x;
+ }
+ if (upcase(ev->x) == 'Z' && !(ev->y & (KBD_CTRL | KBD_ALT))) {
+ go_back(ses, 1);
+ goto x;
+ }
+ if (ev->x == '\'') {
+ go_back(ses, -1);
+ goto x;
+ }
+ if (upcase(ev->x) == 'X' && !(ev->y & (KBD_CTRL | KBD_ALT))) {
+ go_back(ses, -1);
+ goto x;
+ }
+ if (upcase(ev->x) == 'A' && ses->term->spec->braille) {
+ ses->brl_cursor_mode = 2;
+ print_screen_status(ses);
+ goto x;
+ }
+ if (upcase(ev->x) == 'W' && ses->term->spec->braille) {
+ ses->brl_cursor_mode = 1;
+ print_screen_status(ses);
+ goto x;
+ }
+ if (ev->x == KBD_BS) {
+ go_back(ses, 1);
+ goto x;
+ }
+ if (upcase(ev->x) == 'R' && ev->y & KBD_CTRL) {
+ reload(ses, -1);
+ goto x;
+ }
+ if (ev->x == 'g' && !(ev->y & (KBD_CTRL | KBD_ALT))) {
+ quak:
+ dialog_goto_url(ses, "");
+ goto x;
+ }
+ if (ev->x == 'G' && !(ev->y & (KBD_CTRL | KBD_ALT))) {
+ unsigned char *s;
+ if (list_empty(ses->history)) goto quak;
+ s = stracpy(ses->screen->rq->url);
+ if (!s) goto quak;
+ if (strchr(s, POST_CHAR)) *strchr(s, POST_CHAR) = 0;
+ dialog_goto_url(ses, s);
+ mem_free(s);
+ goto x;
+ }
+ if (upcase(ev->x) == 'G' && ev->y & KBD_CTRL) {
+ struct f_data_c *fd = current_frame(ses);
+ if (!fd->vs || !fd->f_data || fd->vs->current_link < 0 || fd->vs->current_link >= fd->f_data->nlinks) goto quak;
+ dialog_goto_url(ses, fd->f_data->links[fd->vs->current_link].where);
+ goto x;
+ }
+ /*
+ if (upcase(ev->x) == 'A' && !(ev->y & (KBD_CTRL | KBD_ALT))) {
+ if (!anonymous) menu_bookmark_manager(ses->term, NULL, ses);
+ goto x;
+ }
+ */
+ if (upcase(ev->x) == 'S' && !(ev->y & (KBD_CTRL | KBD_ALT))) {
+ if (!anonymous) menu_bookmark_manager(ses->term, NULL, ses);
+ goto x;
+ }
+ if ((upcase(ev->x) == 'Q' && !(ev->y & (KBD_CTRL | KBD_ALT))) || ev->x == KBD_CTRL_C) {
+ exit_prog(ses->term, (void *)(my_intptr_t)(ev->x == KBD_CTRL_C || ev->x == 'Q'), ses);
+ goto x;
+ }
+ if (ev->x == KBD_CLOSE) {
+ really_exit_prog(ses);
+ goto x;
+ }
+ if (ev->x == '=') {
+ state_msg(ses);
+ goto x;
+ }
+ if (ev->x == '|') {
+ head_msg(ses);
+ goto x;
+ }
+ if (ev->x == '\\') {
+ toggle(ses, ses->screen, 0);
+ goto x;
+ }
+ }
+ if (ev->ev == EV_MOUSE) {
+ if (ev->b == (B_DOWN | B_FOURTH)) {
+ go_back(ses, 1);
+ goto x;
+ }
+ if (ev->b == (B_DOWN | B_FIFTH)) {
+ go_back(ses, -1);
+ goto x;
+ }
+#ifdef G
+ if (ses->locked_link) {
+ if ((ev->b & BM_ACT) != B_MOVE) {
+ ses->locked_link = 0;
+#ifdef JS
+ /* process onblur handler of current link */
+ if (ses->screen&&ses->screen->vs&&ses->screen->f_data&&ses->screen->vs->current_link>=0&&ses->screen->vs->current_link<ses->screen->f_data->nlinks)
+ {
+ struct link *lnk=&(ses->screen->f_data->links[ses->screen->vs->current_link]);
+ struct form_state *fs;
+ /* select se dela jinde */
+ if (lnk->type!=L_SELECT&&lnk->js_event&&lnk->js_event->blur_code)
+ jsint_execute_code(current_frame(ses),lnk->js_event->blur_code,strlen(lnk->js_event->blur_code),-1,-1,-1, NULL);
+
+ /* execute onchange handler of text field/area */
+ if ((lnk->type==L_AREA||lnk->type==L_FIELD)&&lnk->js_event&&lnk->js_event->change_code&&(fs=find_form_state(ses->screen,lnk->form))&&fs->changed)
+ fs->changed=0,jsint_execute_code(current_frame(ses),lnk->js_event->change_code,strlen(lnk->js_event->change_code),-1,-1,-1, NULL);
+
+ }
+#endif
+ clr_xl(ses->screen);
+ draw_formatted(ses);
+ } else return;
+ }
+#endif
+ if (ev->y < gf_val(1, G_BFU_FONT_SIZE) && (ev->b & BM_ACT) == B_DOWN) {
+#ifdef G
+ if (F && ev->x < ses->back_size) {
+ go_back(ses, 1);
+ goto x;
+ } else
+#endif
+ {
+ struct window *m;
+ activate_bfu_technology(ses, -1);
+ m = ses->term->windows.next;
+ m->handler(m, ev, 0);
+ goto x;
+ }
+ }
+ do_mouse_event(ses, ev);
+ }
+ return;
+ x:
+ ses->kbdprefix.rep = 0;
+}
+
+static void send_enter(struct terminal *term, void *xxx, struct session *ses)
+{
+ struct event ev = { EV_KBD, KBD_ENTER, 0, 0 };
+ send_event(ses, &ev);
+}
+
+void frm_download(struct session *ses, struct f_data_c *fd)
+{
+ struct link *link;
+ if (fd->vs->current_link == -1 || fd->vs->current_link >= fd->f_data->nlinks) return;
+ if (ses->dn_url) mem_free(ses->dn_url), ses->dn_url = NULL;
+ link = &fd->f_data->links[fd->vs->current_link];
+ if (link->type != L_LINK && link->type != L_BUTTON) return;
+ if ((ses->dn_url = get_link_url(ses, fd, link, NULL))) {
+ if (!casecmp(ses->dn_url, "MAP@", 4)) {
+ mem_free(ses->dn_url);
+ ses->dn_url = NULL;
+ return;
+ }
+ query_file(ses, ses->dn_url, NULL, start_download, NULL, DOWNLOAD_CONTINUE);
+ }
+}
+
+void frm_view_image(struct session *ses, struct f_data_c *fd)
+{
+ struct link *link;
+ if (fd->vs->current_link == -1) return;
+ link = &fd->f_data->links[fd->vs->current_link];
+ if (link->type != L_LINK && link->type != L_BUTTON) return;
+ if (!link->where_img) return;
+ goto_url_not_from_dialog(ses, link->where_img);
+}
+
+void frm_download_image(struct session *ses, struct f_data_c *fd)
+{
+ struct link *link;
+ if (fd->vs->current_link == -1) return;
+ if (ses->dn_url) mem_free(ses->dn_url), ses->dn_url = NULL;
+ link = &fd->f_data->links[fd->vs->current_link];
+ if (link->type != L_LINK && link->type != L_BUTTON) return;
+ if (!link->where_img) return;
+ if ((ses->dn_url = stracpy(link->where_img))) {
+ if (!casecmp(ses->dn_url, "MAP@", 4)) {
+ mem_free(ses->dn_url);
+ ses->dn_url = NULL;
+ return;
+ }
+ query_file(ses, ses->dn_url, NULL, start_download, NULL, DOWNLOAD_CONTINUE);
+ }
+}
+
+static void send_download_image(struct terminal *term, void *xxx, struct session *ses)
+{
+ struct f_data_c *fd = current_frame(ses);
+ if (!fd) return;
+ if (fd->vs->current_link == -1) return;
+ if (ses->dn_url) mem_free(ses->dn_url);
+ if ((ses->dn_url = stracpy(fd->f_data->links[fd->vs->current_link].where_img)))
+ query_file(ses, ses->dn_url, NULL, start_download, NULL, DOWNLOAD_CONTINUE);
+}
+
+static void send_download(struct terminal *term, void *xxx, struct session *ses)
+{
+ struct f_data_c *fd = current_frame(ses);
+ if (!fd) return;
+ if (fd->vs->current_link == -1) return;
+ if (ses->dn_url) mem_free(ses->dn_url);
+ if ((ses->dn_url = get_link_url(ses, fd, &fd->f_data->links[fd->vs->current_link], NULL)))
+ query_file(ses, ses->dn_url, NULL, start_download, NULL, DOWNLOAD_CONTINUE);
+}
+
+static void send_submit(struct terminal *term, void *xxx, struct session *ses)
+{
+ int has_onsubmit;
+ struct form_control *form;
+ struct f_data_c *fd = current_frame(ses);
+ unsigned char *u;
+
+ if (!fd) return;
+ if (fd->vs->current_link == -1) return;
+ if (!(form=(fd->f_data->links[fd->vs->current_link]).form)) return;
+ u=get_form_url(ses,fd,form,&has_onsubmit);
+ if (u) {
+ goto_url_f(fd->ses,NULL,u,NULL,fd,form->form_num, has_onsubmit,0,0);
+ mem_free(u);
+ }
+ draw_fd(fd);
+}
+
+static void send_reset(struct terminal *term, void *xxx, struct session *ses)
+{
+ struct form_control *form;
+ struct f_data_c *fd = current_frame(ses);
+
+ if (!fd) return;
+ if (fd->vs->current_link == -1) return;
+ if (!(form=(fd->f_data->links[fd->vs->current_link]).form)) return;
+ reset_form(fd,form->form_num);
+ draw_fd(fd);
+}
+
+static void copy_link_location(struct terminal *term, void *xxx, struct session *ses)
+{
+ unsigned char *current_link = print_current_link(ses);
+
+ if (current_link) {
+ set_clipboard_text( term, current_link );
+ mem_free(current_link);
+ }
+
+}
+
+void copy_url_location(struct terminal *term, void *xxx, struct session *ses)
+{
+ unsigned char *url;
+ struct location *current_location;
+
+ if (list_empty(ses->history)) return;
+
+ if ((current_location = cur_loc(ses)) && (url = stracpy(current_location->url))) {
+ if (strchr(url, POST_CHAR)) *strchr(url, POST_CHAR) = 0;
+ set_clipboard_text(term, url);
+ mem_free(url);
+ }
+}
+
+static void cant_open_new_window(struct terminal *term)
+{
+ msg_box(term, NULL, TEXT_(T_NEW_WINDOW), AL_CENTER, TEXT_(T_UNABLE_TO_OPEN_NEW_WINDOW), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+}
+
+/* open a link in a new xterm, pass target frame name */
+static void send_open_in_new_xterm(struct terminal *term, int (*open_window)(struct terminal *, unsigned char *, unsigned char *), struct session *ses)
+{
+ struct f_data_c *fd = current_frame(ses);
+ if (!fd) return;
+ if (fd->vs->current_link == -1) return;
+ if (ses->dn_url) mem_free(ses->dn_url);
+ if ((ses->dn_url = get_link_url(ses, fd, &fd->f_data->links[fd->vs->current_link], NULL))) {
+ unsigned char *p = init_str();
+ int pl = 0;
+ unsigned char *enc_url;
+ unsigned char *path;
+
+ add_to_str(&p, &pl, "-base-session ");
+ add_num_to_str(&p, &pl, ses->id);
+ add_chr_to_str(&p, &pl, ' ');
+
+ if (ses->wtd_target && *ses->wtd_target) {
+ unsigned char *tgt = stracpy(ses->wtd_target);
+
+ check_shell_security(&tgt);
+ add_to_str(&p, &pl, "-target ");
+ add_to_str(&p, &pl, tgt);
+ add_chr_to_str(&p, &pl, ' ');
+ mem_free(tgt);
+ }
+ enc_url = encode_url(ses->dn_url);
+ add_to_str(&p, &pl, enc_url);
+ mem_free(enc_url);
+ path = escape_path(path_to_exe);
+ if (open_window(term, path, p))
+ cant_open_new_window(term);
+ mem_free(p);
+ mem_free(path);
+ }
+}
+
+void send_open_new_xterm(struct terminal *term, int (*open_window)(struct terminal *, unsigned char *, unsigned char *), struct session *ses)
+{
+ unsigned char *p = init_str();
+ int pl = 0;
+ unsigned char *path;
+ add_to_str(&p, &pl, "-base-session ");
+ add_num_to_str(&p, &pl, ses->id);
+ path = escape_path(path_to_exe);
+ if (open_window(term, path, p))
+ cant_open_new_window(term);
+ mem_free(path);
+ mem_free(p);
+}
+
+void open_in_new_window(struct terminal *term, void (*xxx)(struct terminal *, int (*)(struct terminal *, unsigned char *, unsigned char *), struct session *ses), struct session *ses)
+{
+ /*int e = term->environment;*/
+ struct menu_item *mi;
+ struct open_in_new *oin, *oi;
+ if (!(oin = get_open_in_new(term->environment))) return;
+ if (!oin[1].text) {
+ xxx(term, oin[0].open_window_fn, ses);
+ mem_free(oin);
+ return;
+ }
+ mi = new_menu(1);
+ for (oi = oin; oi->text; oi++) add_to_menu(&mi, oi->text, "", oi->hk, MENU_FUNC xxx, oi->open_window_fn, 0, -1);
+ mem_free(oin);
+ do_menu(term, mi, ses);
+}
+
+int can_open_in_new(struct terminal *term)
+{
+ struct open_in_new *oin = get_open_in_new(term->environment);
+ if (!oin) return 0;
+ if (!oin[1].text) {
+ mem_free(oin);
+ return 1;
+ }
+ mem_free(oin);
+ return 2;
+}
+
+void save_url(struct session *ses, unsigned char *url)
+{
+ unsigned char *u;
+ if (!(u = translate_url(url, ses->term->cwd))) {
+ struct status stat = { NULL, NULL, NULL, NULL, S_BAD_URL, PRI_CANCEL, 0, NULL, NULL, NULL };
+ print_error_dialog(ses, &stat, TEXT_(T_ERROR));
+ return;
+ }
+ if (ses->dn_url) mem_free(ses->dn_url);
+ ses->dn_url = u;
+ query_file(ses, ses->dn_url, NULL, start_download, NULL, DOWNLOAD_CONTINUE);
+}
+
+static void send_image(struct terminal *term, void *xxx, struct session *ses)
+{
+ unsigned char *u;
+ struct f_data_c *fd = current_frame(ses);
+ if (!fd) return;
+ if (fd->vs->current_link == -1) return;
+ if (!(u = fd->f_data->links[fd->vs->current_link].where_img)) return;
+ goto_url_not_from_dialog(ses, u);
+}
+
+void save_as(struct terminal *term, void *xxx, struct session *ses)
+{
+ if (list_empty(ses->history)) return;
+ if (ses->dn_url) mem_free(ses->dn_url);
+ if ((ses->dn_url = stracpy(ses->screen->rq->url)))
+ query_file(ses, ses->dn_url, ses->screen->rq->ce ? ses->screen->rq->ce->head : NULL, start_download, NULL, DOWNLOAD_CONTINUE);
+}
+
+static void save_formatted(struct session *ses, unsigned char *file, int mode)
+{
+ int h;
+ int rs;
+ struct f_data_c *f;
+ int download_mode = mode == DOWNLOAD_DEFAULT ? CDF_EXCL : 0;
+ if (!(f = current_frame(ses)) || !f->f_data) return;
+ if ((h = create_download_file(ses, ses->term->cwd, file, download_mode, 0)) < 0) return;
+ if (dump_to_file(f->f_data, h))
+ msg_box(ses->term, NULL, TEXT_(T_SAVE_ERROR), AL_CENTER, TEXT_(T_ERROR_WRITING_TO_FILE), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+ EINTRLOOP(rs, close(h));
+}
+
+void menu_save_formatted(struct terminal *term, void *xxx, struct session *ses)
+{
+ struct f_data_c *f;
+ if (!(f = current_frame(ses)) || !f->f_data) return;
+ query_file(ses, f->rq->url, NULL, save_formatted, NULL, DOWNLOAD_OVERWRITE);
+}
+
+void link_menu(struct terminal *term, void *xxx, struct session *ses)
+{
+ struct f_data_c *f = current_frame(ses);
+ struct link *link;
+ struct menu_item *mi;
+ if (ses->wtd_target) mem_free(ses->wtd_target), ses->wtd_target = NULL;
+ mi = new_menu(1);
+ if (!f || !f->vs || !f->f_data) goto x;
+ if (f->vs->current_link == -1) goto no_l;
+ link = &f->f_data->links[f->vs->current_link];
+ if (link->type == L_LINK && link->where) {
+ if (strlen(link->where) >= 4 && !casecmp(link->where, "MAP@", 4)) {
+ if (!F) {
+ add_to_menu(&mi, TEXT_(T_DISPLAY_USEMAP), ">", TEXT_(T_HK_DISPLAY_USEMAP), MENU_FUNC send_enter, NULL, 1, -1);
+ }
+ } else {
+ int c = can_open_in_new(term);
+ add_to_menu(&mi, TEXT_(T_FOLLOW_LINK), "Enter", TEXT_(T_HK_FOLLOW_LINK), MENU_FUNC send_enter, NULL, 0, -1);
+ if (c) add_to_menu(&mi, TEXT_(T_OPEN_IN_NEW_WINDOW), c - 1 ? ">" : "", TEXT_(T_HK_OPEN_IN_NEW_WINDOW), MENU_FUNC open_in_new_window, send_open_in_new_xterm, c - 1, -1);
+ if (!anonymous) add_to_menu(&mi, TEXT_(T_DOWNLOAD_LINK), "d", TEXT_(T_HK_DOWNLOAD_LINK), MENU_FUNC send_download, NULL, 0, -1);
+ if (clipboard_support(term))
+ add_to_menu(&mi, TEXT_(T_COPY_LINK_LOCATION), "", TEXT_(T_HK_COPY_LINK_LOCATION), MENU_FUNC copy_link_location, NULL, 0, -1);
+ /*add_to_menu(&mi, TEXT_(T_ADD_BOOKMARK), "A", TEXT_(T_HK_ADD_BOOKMARK), MENU_FUNC menu_bookmark_manager, NULL, 0);*/
+
+ }
+ }
+ if ((link->type == L_CHECKBOX || link->type == L_SELECT || link->type == L_FIELD || link->type == L_AREA) && link->form){
+ int c = can_open_in_new(term);
+ add_to_menu(&mi, TEXT_(T_SUBMIT_FORM), "", TEXT_(T_HK_SUBMIT_FORM), MENU_FUNC send_submit, NULL, 0, -1);
+ if (c && link->form->method == FM_GET) add_to_menu(&mi, TEXT_(T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW), c - 1 ? ">" : "", TEXT_(T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW), MENU_FUNC open_in_new_window, send_open_in_new_xterm, c - 1, -1);
+ /*if (!anonymous) add_to_menu(&mi, TEXT_(T_SUBMIT_FORM_AND_DOWNLOAD), "d", TEXT_(T_HK_SUBMIT_FORM_AND_DOWNLOAD), MENU_FUNC send_download, NULL, 0, -1);*/
+ add_to_menu(&mi, TEXT_(T_RESET_FORM), "", TEXT_(T_HK_RESET_FORM), MENU_FUNC send_reset, NULL, 0, -1);
+ }
+ if (link->type == L_BUTTON && link->form) {
+ if (link->form->type == FC_RESET) add_to_menu(&mi, TEXT_(T_RESET_FORM), "", TEXT_(T_HK_RESET_FORM), MENU_FUNC send_enter, NULL, 0, -1);
+ else if (link->form->type==FC_BUTTON)
+ ;
+ else if (link->form->type == FC_SUBMIT || link->form->type == FC_IMAGE) {
+ int c = can_open_in_new(term);
+ add_to_menu(&mi, TEXT_(T_SUBMIT_FORM), "", TEXT_(T_HK_SUBMIT_FORM), MENU_FUNC send_enter, NULL, 0, -1);
+ if (c && link->form->method == FM_GET) add_to_menu(&mi, TEXT_(T_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW), c - 1 ? ">" : "", TEXT_(T_HK_SUBMIT_FORM_AND_OPEN_IN_NEW_WINDOW), MENU_FUNC open_in_new_window, send_open_in_new_xterm, c - 1, -1);
+ if (!anonymous) add_to_menu(&mi, TEXT_(T_SUBMIT_FORM_AND_DOWNLOAD), "d", TEXT_(T_HK_SUBMIT_FORM_AND_DOWNLOAD), MENU_FUNC send_download, NULL, 0, -1);
+ }
+ }
+ if (link->where_img) {
+ if (!F || f->f_data->opt.plain != 2) add_to_menu(&mi, TEXT_(T_VIEW_IMAGE), "i", TEXT_(T_HK_VIEW_IMAGE), MENU_FUNC send_image, NULL, 0, -1);
+ if (!anonymous) add_to_menu(&mi, TEXT_(T_DOWNLOAD_IMAGE), "I", TEXT_(T_HK_DOWNLOAD_IMAGE), MENU_FUNC send_download_image, NULL, 0, -1);
+#ifdef G
+ if (F && !anonymous) add_to_menu(&mi, TEXT_(T_BLOCK_URL), "", TEXT_(T_HK_BLOCK_URL), MENU_FUNC block_add_URL, NULL, 0, -1);
+#endif
+ }
+ x:
+ no_l:
+ if (!mi->text) add_to_menu(&mi, TEXT_(T_NO_LINK_SELECTED), "", M_BAR, NULL, NULL, 0, -1);
+ do_menu(term, mi, ses);
+}
+
+static unsigned char *print_current_titlex(struct f_data_c *fd, int w)
+{
+ int mul, pul;
+ int ml = 0, pl = 0;
+ unsigned char *m, *p;
+ if (!fd || !fd->vs || !fd->f_data) return NULL;
+ w -= 1;
+ p = init_str();
+ if (fd->yw < fd->f_data->y) {
+ int pp, pe;
+ if (fd->yw) {
+ pp = (fd->vs->view_pos + fd->yw / 2) / fd->yw + 1;
+ pe = (fd->f_data->y + fd->yw - 1) / fd->yw;
+ } else pp = pe = 1;
+ if (pp > pe) pp = pe;
+ if (fd->vs->view_pos + fd->yw >= fd->f_data->y) pp = pe;
+ if (fd->f_data->title && !fd->ses->term->spec->braille) add_chr_to_str(&p, &pl, ' ');
+ add_to_str(&p, &pl, _(TEXT_(T_PAGE_P), fd->ses->term));
+ add_num_to_str(&p, &pl, pp);
+ add_to_str(&p, &pl, _(TEXT_(T_PAGE_OF), fd->ses->term));
+ add_num_to_str(&p, &pl, pe);
+ add_to_str(&p, &pl, _(TEXT_(T_PAGE_CL), fd->ses->term));
+ if (fd->f_data->title && fd->ses->term->spec->braille) add_chr_to_str(&p, &pl, ' ');
+ }
+ if (!fd->f_data->title) return p;
+ if (fd->ses->term->spec->braille) {
+ add_to_str(&p, &pl, fd->f_data->title);
+ return p;
+ }
+ m = init_str();
+ add_to_str(&m, &ml, fd->f_data->title);
+ mul = cp_len(fd->ses->term->spec->charset, m);
+ pul = cp_len(fd->ses->term->spec->charset, p);
+ if (mul + pul > w) {
+ unsigned char *mm;
+ if ((mul = w - pul) < 0) mul = 0;
+ for (mm = m; mul--; GET_TERM_CHAR(fd->ses->term, &mm))
+ ;
+ ml = mm - m;
+ }
+ add_to_str(&m, &ml, p);
+ mem_free(p);
+ return m;
+}
+
+static unsigned char *print_current_linkx(struct f_data_c *fd, struct terminal *term)
+{
+ int ll = 0;
+ struct link *l;
+ unsigned char *m = NULL /* shut up warning */;
+ if (!fd || !fd->vs || !fd->f_data) return NULL;
+ if (fd->vs->current_link == -1 || fd->vs->current_link >= fd->f_data->nlinks || fd->f_data->frame_desc) return NULL;
+ l = &fd->f_data->links[fd->vs->current_link];
+ if (l->type == L_LINK) {
+ if (!l->where && l->where_img) {
+ m = init_str();
+ ll = 0;
+ if (l->img_alt)
+ {
+ unsigned char *txt;
+ struct conv_table* ct;
+
+ ct=get_translation_table(fd->f_data->cp,fd->f_data->opt.cp);
+ txt = convert_string(ct, l->img_alt, strlen(l->img_alt), &fd->f_data->opt);
+ add_to_str(&m, &ll, txt);
+ mem_free(txt);
+ }
+ else
+ {
+ add_to_str(&m, &ll, _(TEXT_(T_IMAGE), term));
+ add_to_str(&m, &ll, " ");
+ add_to_str(&m, &ll, l->where_img);
+ }
+ goto p;
+ }
+ if (l->where && strlen(l->where) >= 4 && !casecmp(l->where, "MAP@", 4)) {
+ m = init_str();
+ ll = 0;
+ add_to_str(&m, &ll, _(TEXT_(T_USEMAP), term));
+ add_to_str(&m, &ll, " ");
+ add_to_str(&m, &ll, l->where + 4);
+ goto p;
+ }
+ if (l->where) {
+ m = stracpy(l->where);
+ goto p;
+ }
+ m = print_js_event_spec(l->js_event);
+ goto p;
+ }
+ if (!l->form) return NULL;
+ if (l->type == L_BUTTON) {
+ if (l->form->type == FC_BUTTON) {
+ unsigned char *n;
+ unsigned char *txt;
+ m = init_str();
+ ll = 0;
+ add_to_str(&m, &ll, _(TEXT_(T_BUTTON), term));
+ if (!l->js_event) goto p;
+ add_to_str(&m, &ll, " ");
+ n=print_js_event_spec(l->js_event);
+ if (fd->f_data)
+ {
+ struct conv_table* ct;
+
+ ct=get_translation_table(fd->f_data->cp,fd->f_data->opt.cp);
+ txt=convert_string(ct,n,strlen(n),NULL);
+ mem_free(n);
+ }
+ else
+ txt=n;
+ add_to_str(&m, &ll, txt);
+ mem_free(txt);
+ goto p;
+ }
+ if (l->form->type == FC_RESET) {
+ m = stracpy(_(TEXT_(T_RESET_FORM), term));
+ goto p;
+ }
+ if (!l->form->action) return NULL;
+ m = init_str();
+ ll = 0;
+ if (l->form->method == FM_GET) add_to_str(&m, &ll, _(TEXT_(T_SUBMIT_FORM_TO), term));
+ else add_to_str(&m, &ll, _(TEXT_(T_POST_FORM_TO), term));
+ add_to_str(&m, &ll, " ");
+ add_to_str(&m, &ll, l->form->action);
+ goto p;
+ }
+ if (l->type == L_CHECKBOX || l->type == L_SELECT || l->type == L_FIELD || l->type == L_AREA) {
+ m = init_str();
+ ll = 0;
+ if (l->form->type == FC_RADIO) add_to_str(&m, &ll, _(TEXT_(T_RADIO_BUTTON), term));
+ else if (l->form->type == FC_CHECKBOX) add_to_str(&m, &ll, _(TEXT_(T_CHECKBOX), term));
+ else if (l->form->type == FC_SELECT) add_to_str(&m, &ll, _(TEXT_(T_SELECT_FIELD), term));
+ else if (l->form->type == FC_TEXT) add_to_str(&m, &ll, _(TEXT_(T_TEXT_FIELD), term));
+ else if (l->form->type == FC_TEXTAREA) add_to_str(&m, &ll, _(TEXT_(T_TEXT_AREA), term));
+ else if (l->form->type == FC_FILE) add_to_str(&m, &ll, _(TEXT_(T_FILE_UPLOAD), term));
+ else if (l->form->type == FC_PASSWORD) add_to_str(&m, &ll, _(TEXT_(T_PASSWORD_FIELD), term));
+ else {
+ mem_free(m);
+ return NULL;
+ }
+ if (l->form->name && l->form->name[0]) add_to_str(&m, &ll, ", "), add_to_str(&m, &ll, _(TEXT_(T_NAME), term)), add_to_str(&m, &ll, " "), add_to_str(&m, &ll, l->form->name);
+ if ((l->form->type == FC_CHECKBOX || l->form->type == FC_RADIO) && l->form->default_value && l->form->default_value[0]) add_to_str(&m, &ll, ", "), add_to_str(&m, &ll, _(TEXT_(T_VALUE), term)), add_to_str(&m, &ll, " "), add_to_str(&m, &ll, l->form->default_value);
+ /* pri enteru se bude posilat vzdycky -- Brain */
+ if (l->type == L_FIELD && !has_form_submit(fd->f_data, l->form) && l->form->action) {
+ add_to_str(&m, &ll, ", ");
+ add_to_str(&m, &ll, _(TEXT_(T_HIT_ENTER_TO), term));
+ add_to_str(&m, &ll, " ");
+ if (l->form->method == FM_GET) add_to_str(&m, &ll, _(TEXT_(T_SUBMIT_TO), term));
+ else add_to_str(&m, &ll, _(TEXT_(T_POST_TO), term));
+ add_to_str(&m, &ll, " ");
+ add_to_str(&m, &ll, l->form->action);
+ }
+ goto p;
+ }
+ p:
+ return m;
+}
+
+/* jako print_current_linkx, ale vypisuje vice informaci o obrazku
+ pouziva se v informacich o dokumentu
+
+ Ach jo, to Brain kopiroval kod, snad to nedela i v ty firme,
+ kde ted pracuje... -- mikulas
+ */
+static unsigned char *print_current_linkx_plus(struct f_data_c *fd, struct terminal *term)
+{
+ int ll = 0;
+ struct link *l;
+ unsigned char *m = NULL /* shut up warning */;
+ if (!fd || !fd->vs || !fd->f_data) return NULL;
+ if (fd->vs->current_link == -1 || fd->vs->current_link >= fd->f_data->nlinks || fd->f_data->frame_desc) return NULL;
+ l = &fd->f_data->links[fd->vs->current_link];
+ if (l->type == L_LINK) {
+ unsigned char *spc;
+ m = init_str();
+ ll = 0;
+ if (l->where && strlen(l->where) >= 4 && !casecmp(l->where, "MAP@", 4)) {
+ add_to_str(&m, &ll, _(TEXT_(T_USEMAP), term));
+ add_to_str(&m, &ll, " ");
+ add_to_str(&m, &ll, l->where + 4);
+ }
+ else if (l->where) {
+ add_to_str(&m, &ll, l->where);
+ }
+ spc = print_js_event_spec(l->js_event);
+ if (spc&&*spc)
+ {
+ add_to_str(&m, &ll, "\n");
+ add_to_str(&m, &ll, _(TEXT_(T_JAVASCRIPT), term));
+ add_to_str(&m, &ll, ": ");
+ add_to_str(&m, &ll, spc);
+ }
+ if (spc) mem_free(spc);
+ if (l->where_img) {
+ add_to_str(&m, &ll, "\n");
+ add_to_str(&m, &ll, _(TEXT_(T_IMAGE), term));
+ add_to_str(&m, &ll, ": src='");
+ add_to_str(&m, &ll, l->where_img);
+ add_to_str(&m, &ll, "'");
+
+ if (l->img_alt)
+ {
+ unsigned char *txt;
+ struct conv_table* ct;
+
+ add_to_str(&m, &ll, " alt='");
+ ct=get_translation_table(fd->f_data->cp,fd->f_data->opt.cp);
+ txt = convert_string(ct, l->img_alt, strlen(l->img_alt), &fd->f_data->opt);
+ add_to_str(&m, &ll, txt);
+ add_to_str(&m, &ll, "'");
+ mem_free(txt);
+ }
+#ifdef G
+ if (F&&l->obj)
+ {
+ add_to_str(&m, &ll, " size='");
+ add_num_to_str(&m, &ll, l->obj->xw);
+ add_to_str(&m, &ll, "x");
+ add_num_to_str(&m, &ll, l->obj->yw);
+ add_to_str(&m, &ll, "'");
+ }
+#endif
+ goto p;
+ }
+ goto p;
+ }
+ if (!l->form) return NULL;
+ if (l->type == L_BUTTON) {
+ if (l->form->type == FC_BUTTON) {
+ unsigned char *n;
+ unsigned char *txt;
+ m = init_str();
+ ll = 0;
+ add_to_str(&m, &ll, _(TEXT_(T_BUTTON), term));
+ if (!l->js_event) goto p;
+ add_to_str(&m, &ll, " ");
+ n=print_js_event_spec(l->js_event);
+ if (fd->f_data)
+ {
+ struct conv_table* ct;
+
+ ct=get_translation_table(fd->f_data->cp,fd->f_data->opt.cp);
+ txt=convert_string(ct,n,strlen(n),NULL);
+ mem_free(n);
+ }
+ else
+ txt=n;
+ add_to_str(&m, &ll, txt);
+ mem_free(txt);
+ goto p;
+ }
+ if (l->form->type == FC_RESET) {
+ m = stracpy(_(TEXT_(T_RESET_FORM), term));
+ goto p;
+ }
+ if (!l->form->action) return NULL;
+ m = init_str();
+ ll = 0;
+ if (l->form->method == FM_GET) add_to_str(&m, &ll, _(TEXT_(T_SUBMIT_FORM_TO), term));
+ else add_to_str(&m, &ll, _(TEXT_(T_POST_FORM_TO), term));
+ add_to_str(&m, &ll, " ");
+ add_to_str(&m, &ll, l->form->action);
+ goto p;
+ }
+ if (l->type == L_CHECKBOX || l->type == L_SELECT || l->type == L_FIELD || l->type == L_AREA) {
+ m = init_str();
+ ll = 0;
+ if (l->form->type == FC_RADIO) add_to_str(&m, &ll, _(TEXT_(T_RADIO_BUTTON), term));
+ else if (l->form->type == FC_CHECKBOX) add_to_str(&m, &ll, _(TEXT_(T_CHECKBOX), term));
+ else if (l->form->type == FC_SELECT) add_to_str(&m, &ll, _(TEXT_(T_SELECT_FIELD), term));
+ else if (l->form->type == FC_TEXT) add_to_str(&m, &ll, _(TEXT_(T_TEXT_FIELD), term));
+ else if (l->form->type == FC_TEXTAREA) add_to_str(&m, &ll, _(TEXT_(T_TEXT_AREA), term));
+ else if (l->form->type == FC_FILE) add_to_str(&m, &ll, _(TEXT_(T_FILE_UPLOAD), term));
+ else if (l->form->type == FC_PASSWORD) add_to_str(&m, &ll, _(TEXT_(T_PASSWORD_FIELD), term));
+ else {
+ mem_free(m);
+ return NULL;
+ }
+ if (l->form->name && l->form->name[0]) add_to_str(&m, &ll, ", "), add_to_str(&m, &ll, _(TEXT_(T_NAME), term)), add_to_str(&m, &ll, " "), add_to_str(&m, &ll, l->form->name);
+ if ((l->form->type == FC_CHECKBOX || l->form->type == FC_RADIO) && l->form->default_value && l->form->default_value[0]) add_to_str(&m, &ll, ", "), add_to_str(&m, &ll, _(TEXT_(T_VALUE), term)), add_to_str(&m, &ll, " "), add_to_str(&m, &ll, l->form->default_value);
+ /* pri enteru se bude posilat vzdycky -- Brain */
+ if (l->type == L_FIELD && !has_form_submit(fd->f_data, l->form) && l->form->action) {
+ add_to_str(&m, &ll, ", ");
+ add_to_str(&m, &ll, _(TEXT_(T_HIT_ENTER_TO), term));
+ add_to_str(&m, &ll, " ");
+ if (l->form->method == FM_GET) add_to_str(&m, &ll, _(TEXT_(T_SUBMIT_TO), term));
+ else add_to_str(&m, &ll, _(TEXT_(T_POST_TO), term));
+ add_to_str(&m, &ll, " ");
+ add_to_str(&m, &ll, l->form->action);
+ }
+ goto p;
+ }
+ p:
+ return m;
+}
+
+unsigned char *print_current_link(struct session *ses)
+{
+ return print_current_linkx(current_frame(ses), ses->term);
+}
+
+unsigned char *print_current_title(struct session *ses)
+{
+ return print_current_titlex(current_frame(ses), ses->term->x);
+}
+
+void loc_msg(struct terminal *term, struct location *lo, struct f_data_c *frame)
+{
+ struct cache_entry *ce;
+ unsigned char *s;
+ int l = 0;
+ unsigned char *a;
+ if (!lo || !frame || !frame->vs || !frame->f_data) {
+ msg_box(term, NULL, TEXT_(T_INFO), AL_LEFT, TEXT_(T_YOU_ARE_NOWHERE), NULL, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+ return;
+ }
+ s = init_str();
+ add_to_str(&s, &l, _(TEXT_(T_URL), term));
+ add_to_str(&s, &l, ": ");
+ if (strchr(lo->url, POST_CHAR)) add_bytes_to_str(&s, &l, lo->url, (unsigned char *)strchr(lo->url, POST_CHAR) - (unsigned char *)lo->url);
+ else add_to_str(&s, &l, lo->url);
+ if (!find_in_cache(lo->url, &ce)) {
+ unsigned char *start, *end;
+ add_to_str(&s, &l, "\n");
+ add_to_str(&s, &l, _(TEXT_(T_SIZE), term));
+ add_to_str(&s, &l, ": ");
+ get_file_by_term(NULL, ce, &start, &end, NULL);
+ if (ce->decompressed) {
+ unsigned char *enc;
+ add_num_to_str(&s, &l, end - start);
+ enc = get_content_encoding(ce->head, ce->url);
+ if (enc) {
+ add_to_str(&s, &l, " (");
+ add_num_to_str(&s, &l, ce->length);
+ add_to_str(&s, &l, " ");
+ add_to_str(&s, &l, _(TEXT_(T_COMPRESSED_WITH), term));
+ add_to_str(&s, &l, " ");
+ add_to_str(&s, &l, enc);
+ add_to_str(&s, &l, ")");
+ mem_free(enc);
+ }
+ } else {
+ add_num_to_str(&s, &l, ce->length);
+ }
+ if (ce->incomplete) {
+ add_to_str(&s, &l, " (");
+ add_to_str(&s, &l, _(TEXT_(T_INCOMPLETE), term));
+ add_to_str(&s, &l, ")");
+ }
+ add_to_str(&s, &l, "\n");
+ add_to_str(&s, &l, _(TEXT_(T_CODEPAGE), term));
+ add_to_str(&s, &l, ": ");
+ add_to_str(&s, &l, get_cp_name(frame->f_data->cp));
+ if (frame->f_data->ass == 1) add_to_str(&s, &l, " ("), add_to_str(&s, &l, _(TEXT_(T_ASSUMED), term)), add_to_str(&s, &l, ")");
+ if (frame->f_data->ass == 2) add_to_str(&s, &l, " ("), add_to_str(&s, &l, _(TEXT_(T_IGNORING_SERVER_SETTING), term)), add_to_str(&s, &l, ")");
+ if (ce->head && ce->head[0] != '\n' && ce->head[0] != '\r' && (a = parse_http_header(ce->head, "Content-Type", NULL))) {
+ add_to_str(&s, &l, "\n");
+ add_to_str(&s, &l, _(TEXT_(T_CONTENT_TYPE), term));
+ add_to_str(&s, &l, ": ");
+ add_to_str(&s, &l, a);
+ mem_free(a);
+ }
+ if ((a = parse_http_header(ce->head, "Server", NULL))) {
+ add_to_str(&s, &l, "\n");
+ add_to_str(&s, &l, _(TEXT_(T_SERVER), term));
+ add_to_str(&s, &l, ": ");
+ add_to_str(&s, &l, a);
+ mem_free(a);
+ }
+ if ((a = parse_http_header(ce->head, "Date", NULL))) {
+ add_to_str(&s, &l, "\n");
+ add_to_str(&s, &l, _(TEXT_(T_DATE), term));
+ add_to_str(&s, &l, ": ");
+ add_to_str(&s, &l, a);
+ mem_free(a);
+ }
+ if (ce->last_modified) {
+ add_to_str(&s, &l, "\n");
+ add_to_str(&s, &l, _(TEXT_(T_LAST_MODIFIED), term));
+ add_to_str(&s, &l, ": ");
+ add_to_str(&s, &l, ce->last_modified);
+ }
+#ifdef HAVE_SSL
+ if (ce->ssl_info) {
+ add_to_str(&s, &l, "\n");
+ add_to_str(&s, &l, _(TEXT_(T_SSL_CIPHER), term));
+ add_to_str(&s, &l, ": ");
+ add_to_str(&s, &l, ce->ssl_info);
+ }
+#endif
+ ce->refcount--;
+ }
+ if ((a = print_current_linkx_plus(frame, term))) {
+ add_to_str(&s, &l, "\n\n");
+ if (*a != '\n') {
+ add_to_str(&s, &l, _(TEXT_(T_LINK), term));
+ add_to_str(&s, &l, ": ");
+ add_to_str(&s, &l, a);
+ } else {
+ add_to_str(&s, &l, a + 1);
+ }
+ mem_free(a);
+ }
+ msg_box(term, getml(s, NULL), TEXT_(T_INFO), AL_LEFT, s, NULL, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+}
+
+void state_msg(struct session *ses)
+{
+ if (list_empty(ses->history)) loc_msg(ses->term, NULL, NULL);
+ else loc_msg(ses->term, cur_loc(ses), current_frame(ses));
+}
+
+void head_msg(struct session *ses)
+{
+ struct cache_entry *ce;
+ unsigned char *s, *ss;
+ int len;
+ if (list_empty(ses->history)) {
+ msg_box(ses->term, NULL, TEXT_(T_HEADER_INFO), AL_LEFT, TEXT_(T_YOU_ARE_NOWHERE), NULL, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+ return;
+ }
+ if (!find_in_cache(cur_loc(ses)->url, &ce)) {
+ if (ce->head) ss = s = stracpy(ce->head);
+ else s = ss = stracpy("");
+ len = strlen(s) - 1;
+ if (len > 0) {
+ while ((ss = strstr(s, "\r\n"))) memmove(ss, ss + 1, strlen(ss));
+ while (*s && s[strlen(s) - 1] == '\n') s[strlen(s) - 1] = 0;
+ }
+ if (*s && *s != '\n') {
+ msg_box(ses->term, getml(s, NULL), TEXT_(T_HEADER_INFO), AL_LEFT, s, NULL, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+ } else {
+ msg_box(ses->term, getml(s, NULL), TEXT_(T_HEADER_INFO), AL_CENTER, TEXT_(T_NO_HEADER), NULL, 1, TEXT_(T_OK), NULL, B_ENTER | B_ESC);
+ }
+ ce->refcount--;
+ }
+}
diff --git a/view_gr.c b/view_gr.c
new file mode 100644
index 0000000..26ddaff
--- /dev/null
+++ b/view_gr.c
@@ -0,0 +1,1612 @@
+/* view_gr.c
+ * (c) 2002 Mikulas Patocka
+ * This file is a part of the Links program, released under GPL.
+ */
+
+#include "cfg.h"
+
+#ifdef G
+
+#include "links.h"
+
+static int *highlight_positions = NULL;
+static int *highlight_lengths = NULL;
+static int n_highlight_positions = 0;
+
+static int root_x = 0;
+static int root_y = 0;
+
+static void get_object_pos(struct g_object *o, int *x, int *y);
+static void g_get_search_data(struct f_data *f);
+static struct g_object_text * g_find_nearest_object(struct f_data *f, int x, int y);
+static void redraw_link(struct f_data_c *fd, int nl);
+
+static int previous_link=-1; /* for mouse event handlers */
+
+void g_draw_background(struct graphics_device *dev, struct background *bg, int x, int y, int xw, int yw)
+{
+ if (xw > 4096) {
+ int halfx = x + xw / 2;
+ if (dev->clip.x1 < halfx) g_draw_background(dev, bg, x, y, halfx - x, yw);
+ if (dev->clip.x2 > halfx) g_draw_background(dev, bg, halfx, y, x + xw - halfx, yw);
+ return;
+ }
+ if (yw > 4096) {
+ int halfy = y + yw / 2;
+ if (dev->clip.y1 < halfy) g_draw_background(dev, bg, x, y, xw, halfy - y);
+ if (dev->clip.y2 > halfy) g_draw_background(dev, bg, x, halfy, xw, y + yw - halfy);
+ return;
+ }
+ drv->fill_area(dev, x, y, x + xw, y + yw
+ , dip_get_color_sRGB(bg->u.sRGB));
+}
+
+void g_release_background(struct background *bg)
+{
+ mem_free(bg);
+}
+
+void g_dummy_draw(struct f_data_c *fd, struct g_object *t, int x, int y)
+{
+}
+
+void g_tag_destruct(struct g_object *t)
+{
+ mem_free(t);
+}
+
+void g_dummy_mouse(struct f_data_c *fd, struct g_object *a, int x, int y, int b)
+{
+}
+
+static unsigned char print_all_textarea = 0;
+
+
+/* returns byte index of x in t->text */
+/* x is relative coordinate within the text (can be out of bounds) */
+static int g_find_text_pos(struct g_object_text *t, int x)
+{
+ int i=0, p=0;
+ unsigned char *text=t->text;
+ int ox, oy;
+
+ get_object_pos((struct g_object *)t, &ox, &oy);
+ x -= ox;
+
+ if (x < 0) x = 0;
+ if (x > t->xw) x = t->xw;
+
+ while (1) {
+ unsigned c;
+ unsigned char *old_text;
+ int w;
+
+ old_text = text;
+ if (!*text) break;
+ GET_UTF_8(text, c);
+ w=g_char_width(t->style, c);
+ if (x < (p + (w >> 1))) break;
+ p += w;
+ i += text - old_text;
+ if (p >= x) break;
+ }
+ return i;
+}
+
+static int g_text_no_search(struct f_data *f, struct g_object_text *t)
+{
+ struct link *l;
+ if (t->link_num < 0) return 0;
+ l = f->links + t->link_num;
+ if (l->type == L_SELECT || l->type == L_FIELD || l->type == L_AREA) return 1;
+ return 0;
+}
+
+static int prepare_input_field_char(unsigned char *p, unsigned char tx[7])
+{
+ unsigned char *pp = p;
+ unsigned un;
+ unsigned char *en;
+ GET_UTF_8(p, un);
+ if (!un) un = '*';
+ if (un == 0xad) un = '-';
+ en = encode_utf_8(un);
+ strcpy(tx, en);
+ return p - pp;
+}
+
+void g_text_draw(struct f_data_c *fd, struct g_object_text *t, int x, int y)
+{
+ struct form_control *form;
+ struct form_state *fs;
+ struct link *link;
+ int l;
+ int ll;
+ int i, j;
+ int yy;
+ int cur;
+ struct line_info *ln, *lnx;
+ struct graphics_device *dev = fd->ses->term->dev;
+
+ if (x + t->xw <= fd->ses->term->dev->clip.x1)
+ return;
+ if (x >= fd->ses->term->dev->clip.x2)
+ return;
+ if (!print_all_textarea) {
+ if (y + t->yw <= fd->ses->term->dev->clip.y1)
+ return;
+ if (y >= fd->ses->term->dev->clip.y2)
+ return;
+ }
+
+ link = t->link_num >= 0 ? fd->f_data->links + t->link_num : NULL;
+ if (link && ((form = link->form)) && ((fs = find_form_state(fd, form)))) {
+ switch (form->type) {
+ struct style *inv;
+ int in;
+ case FC_RADIO:
+ if (link && fd->active && fd->vs->g_display_link && fd->vs->current_link == link - fd->f_data->links) inv = g_invert_style(t->style), in = 1;
+ else inv = t->style, in = 0;
+ g_print_text(drv, dev, x, y, inv, fs->state ? "[X]" : "[ ]", NULL);
+ if (in) g_free_style(inv);
+ return;
+ case FC_CHECKBOX:
+ if (link && fd->active && fd->vs->g_display_link && fd->vs->current_link == link - fd->f_data->links) inv = g_invert_style(t->style), in = 1;
+ else inv = t->style, in = 0;
+ g_print_text(drv, dev, x, y, inv, fs->state ? "[X]" : "[ ]", NULL);
+ if (in) g_free_style(inv);
+ return;
+ case FC_SELECT:
+ if (link && fd->active && fd->vs->g_display_link && fd->vs->current_link == link - fd->f_data->links) inv = g_invert_style(t->style), in = 1;
+ else inv = t->style, in = 0;
+ fixup_select_state(form, fs);
+ l = 0;
+ if (fs->state < form->nvalues) g_print_text(drv, dev, x, y, inv, form->labels[fs->state], &l);
+ while (l < t->xw) g_print_text(drv, dev, x + l, y, inv, "_", &l);
+ if (in) g_free_style(inv);
+ return;
+ case FC_TEXT:
+ case FC_PASSWORD:
+ case FC_FILE:
+ /*
+ if (fs->state >= fs->vpos + form->size) fs->vpos = fs->state - form->size + 1;
+ if (fs->state < fs->vpos) fs->vpos = fs->state;
+ */
+ if ((size_t)fs->vpos > strlen(fs->value)) fs->vpos = strlen(fs->value);
+ while ((size_t)fs->vpos < strlen(fs->value) && textptr_diff(fs->value + fs->state, fs->value + fs->vpos, fd->f_data->opt.cp) >= form->size) {
+ unsigned char *p = fs->value + fs->vpos;
+ FWD_UTF_8(p);
+ fs->vpos = p - fs->value;
+ }
+ while (fs->vpos > fs->state) {
+ unsigned char *p = fs->value + fs->vpos;
+ BACK_UTF_8(p, fs->value);
+ fs->vpos = p - fs->value;
+ }
+ l = 0;
+ i = 0;
+ ll = strlen(fs->value);
+ while (l < t->xw) {
+ struct style *st = t->style;
+ int sm = 0;
+ unsigned char tx[7];
+ if (fs->state == fs->vpos + i && t->link_num == fd->vs->current_link && fd->ses->locked_link) {
+ st = g_invert_style(t->style);
+ sm = 1;
+ }
+ if (fs->vpos + i >= ll) {
+ tx[0] = '_', tx[1] = 0, i++;
+ } else {
+ i += prepare_input_field_char(fs->value + fs->vpos + i, tx);
+ if (form->type == FC_PASSWORD) tx[0] = '*', tx[1] = 0;
+ }
+ g_print_text(drv, dev, x + l, y, st, tx, &l);
+ if (sm) g_free_style(st);
+ }
+ return;
+ case FC_TEXTAREA:
+ cur = area_cursor(fd, form, fs);
+ if (!(lnx = format_text(fs->value, form->cols, form->wrap, fd->f_data->opt.cp))) break;
+ ln = lnx;
+ yy = y - t->link_order * t->style->height;
+ for (j = 0; j < fs->vypos; j++) if (ln->st) ln++;
+ for (j = 0; j < form->rows; j++) {
+ unsigned char *pp = ln->st;
+ int xx = fs->vpos;
+ while (pp < ln->en && xx > 0) {
+ FWD_UTF_8(pp);
+ xx--;
+ }
+ if (cur >= 0 && cur < form->cols && t->link_num == fd->vs->current_link && fd->ses->locked_link && fd->active) {
+ unsigned char tx[7];
+ int xx = x;
+
+ if (print_all_textarea || j == t->link_order) while (xx < x + t->xw) {
+ struct style *st = t->style;
+ if (ln->st && pp < ln->en) {
+ pp += prepare_input_field_char(pp, tx);
+ } else {
+ tx[0] = '_';
+ tx[1] = 0;
+ }
+ if (!cur) {
+ st = g_invert_style(t->style);
+ }
+ g_print_text(drv, dev, xx, yy + j * t->style->height, st, tx, &xx);
+ if (!cur) {
+ g_free_style(st);
+ }
+ cur--;
+ } else cur -= form->cols;
+ } else {
+ if (print_all_textarea || j == t->link_order) {
+ int aa;
+ unsigned char *a;
+ struct rect old;
+ if (ln->st && pp < ln->en) a = memacpy(pp, ln->en - pp);
+ else a = stracpy("");
+ for (aa = 0; aa < form->cols; aa += 4) add_to_strn(&a, "____");
+ restrict_clip_area(dev, &old, x, 0, x + t->xw, dev->size.y2);
+ g_print_text(drv, dev, x, yy + j * t->style->height, t->style, a, NULL);
+ drv->set_clip_area(dev, &old);
+ mem_free(a);
+ }
+ cur -= form->cols;
+ }
+ if (ln->st) ln++;
+ }
+ mem_free(lnx);
+ return;
+ }
+ }
+ if (link && fd->active && fd->vs->g_display_link && fd->vs->current_link == link - fd->f_data->links) {
+ struct style *inv;
+ inv = g_invert_style(t->style);
+ g_print_text(drv, dev, x, y, inv, t->text, NULL);
+ g_free_style(inv);
+ } else if ((!fd->f_data->hlt_len && (!highlight_positions || !n_highlight_positions)) || g_text_no_search(fd->f_data, t)) {
+ prn:
+ g_print_text(drv, dev, x, y, t->style, t->text, NULL);
+ } else {
+ size_t tlen = strlen(t->text);
+ int found;
+ int start = t->srch_pos;
+ int end = t->srch_pos + tlen;
+ int hl_start, hl_len;
+ unsigned char *mask;
+ unsigned char *tx;
+ int txl;
+ int pmask;
+ size_t ii;
+ struct style *inv;
+
+ intersect(fd->f_data->hlt_pos, fd->f_data->hlt_len, start, tlen, &hl_start, &hl_len);
+
+#define B_EQUAL(t, m) (highlight_positions[t] + highlight_lengths[t] > start && highlight_positions[t] < end)
+#define B_ABOVE(t, m) (highlight_positions[t] >= end)
+ BIN_SEARCH(n_highlight_positions, B_EQUAL, B_ABOVE, *, found);
+ mask = mem_calloc(tlen);
+ if (found != -1) {
+ while (found > 0 && B_EQUAL(found - 1, *)) found--;
+ while (found < n_highlight_positions && !B_ABOVE(found, *)) {
+ int pos = highlight_positions[found] - t->srch_pos;
+ int ii = 0;
+ for (ii = 0; ii < highlight_lengths[found]; ii++) {
+ if (pos >= 0 && (size_t)pos < tlen) mask[pos] = 1;
+ pos++;
+ }
+ found++;
+ }
+ if (hl_len) goto hl;
+ }
+ else if (hl_len)
+ {
+ int x;
+ hl:
+ for (x = 0; x < hl_len; x++) mask[hl_start - t->srch_pos + x] ^= 1;
+ /*memset(mask+hl_start-t->srch_pos, 1, hl_len*sizeof(char));*/
+ }
+ else
+ {
+ mem_free(mask);
+ goto prn;
+ }
+
+ inv = g_invert_style(t->style);
+ tx = init_str();;
+ txl = 0;
+ pmask = -1;
+ for (ii = 0; ii < tlen; ii++) {
+ if (mask[ii] != pmask) {
+ g_print_text(drv, dev, x, y, pmask ? inv : t->style, tx, &x);
+ mem_free(tx);
+ tx = init_str();
+ txl = 0;
+ }
+ add_chr_to_str(&tx, &txl, t->text[ii]);
+ pmask = mask[ii];
+ }
+ g_print_text(drv, dev, x, y, pmask ? inv : t->style, tx, &x);
+ mem_free(tx);
+ g_free_style(inv);
+ mem_free(mask);
+ }
+}
+
+void g_text_destruct(struct g_object_text *t)
+{
+ release_image_map(t->map);
+ g_free_style(t->style);
+ mem_free(t);
+}
+
+void g_line_draw(struct f_data_c *fd, struct g_object_line *l, int xx, int yy)
+{
+ struct graphics_device *dev = fd->ses->term->dev;
+ int i;
+ int x = 0;
+ for (i = 0; i < l->n_entries; i++) {
+ struct g_object *o = (struct g_object *)l->entries[i];
+ if (o->x > x) g_draw_background(dev, l->bg, xx + x, yy, o->x - x, l->yw);
+ if (o->y > 0) g_draw_background(dev, l->bg, xx + o->x, yy, o->xw, o->y);
+ if (o->y + o->yw < l->yw) g_draw_background(dev, l->bg, xx + o->x, yy + o->y + o->yw, o->xw, l->yw - o->y - o->yw);
+ o->draw(fd, o, xx + o->x, yy + o->y);
+ x = o->x + o->xw;
+ }
+ if (x < l->xw) g_draw_background(dev, l->bg, xx + x, yy, l->xw - x, l->yw);
+}
+
+void g_line_destruct(struct g_object_line *l)
+{
+ int i;
+ for (i = 0; i < l->n_entries; i++) l->entries[i]->destruct(l->entries[i]);
+ mem_free(l);
+}
+
+void g_line_bg_destruct(struct g_object_line *l)
+{
+ g_release_background(l->bg);
+ g_line_destruct(l);
+}
+
+void g_line_get_list(struct g_object_line *l, void (*f)(struct g_object *parent, struct g_object *child))
+{
+ int i;
+ for (i = 0; i < l->n_entries; i++) f((struct g_object *)l, l->entries[i]);
+}
+
+#define OBJ_EQ(n, b) (*a[n]).y <= (b) && (*a[n]).y + (*a[n]).yw > (b)
+#define OBJ_ABOVE(n, b) (*a[n]).y > (b)
+
+static inline struct g_object **g_find_line(struct g_object **a, int n, int p)
+{
+ int res = -1;
+ BIN_SEARCH(n, OBJ_EQ, OBJ_ABOVE, p, res);
+ if (res == -1) return NULL;
+ return &a[res];
+}
+
+#undef OBJ_EQ
+#undef OBJ_ABOVE
+
+void g_area_draw(struct f_data_c *fd, struct g_object_area *a, int xx, int yy)
+{
+ struct g_object **i;
+ int rx = root_x, ry = root_y;
+ int y1 = fd->ses->term->dev->clip.y1 - yy;
+ int y2 = fd->ses->term->dev->clip.y2 - yy - 1;
+ struct g_object **l1;
+ struct g_object **l2;
+ if (fd->ses->term->dev->clip.y1 == fd->ses->term->dev->clip.y2 || fd->ses->term->dev->clip.x1 == fd->ses->term->dev->clip.x2) return;
+ l1 = g_find_line((struct g_object **)(void *)&a->lines, a->n_lines, y1);
+ l2 = g_find_line((struct g_object **)(void *)&a->lines, a->n_lines, y2);
+ root_x = xx, root_y = yy;
+ if (!l1) {
+ if (y1 > a->yw) return;
+ else l1 = (struct g_object **)(void *)&a->lines[0];
+ }
+ if (!l2) {
+ if (y2 < 0) return;
+ else l2 = (struct g_object **)(void *)&a->lines[a->n_lines - 1];
+ }
+ for (i = l1; i <= l2; i++) {
+ struct g_object *o = *i;
+ o->draw(fd, o, xx + o->x, yy + o->y);
+ }
+ /* !!! FIXME: floating objects */
+ root_x = rx, root_y = ry;
+}
+
+void g_area_destruct(struct g_object_area *a)
+{
+ int i;
+ g_release_background(a->bg);
+ for (i = 0; i < a->n_lines; i++) a->lines[i]->destruct(a->lines[i]);
+ mem_free(a);
+}
+
+void g_area_get_list(struct g_object_area *a, void (*f)(struct g_object *parent, struct g_object *child))
+{
+ int i;
+ for (i = 0; i < a->n_lines; i++) f((struct g_object *)a, (struct g_object *)a->lines[i]);
+}
+
+/*
+ * dsize - size of scrollbar
+ * total - total data
+ * vsize - visible data
+ * vpos - position of visible data
+ */
+
+void get_scrollbar_pos(int dsize, int total, int vsize, int vpos, int *start, int *end)
+{
+ int ssize;
+ if (!total) {
+ *start = *end = 0;
+ return;
+ }
+ ssize = (double)dsize * vsize / total;
+ if (ssize < G_SCROLL_BAR_MIN_SIZE) ssize = G_SCROLL_BAR_MIN_SIZE;
+ if (total == vsize) {
+ *start = 0; *end = dsize;
+ return;
+ }
+ *start = (double)(dsize - ssize) * vpos / (total - vsize);
+ *end = *start + ssize;
+ if (*start > dsize) *start = dsize;
+ if (*start < 0) *start = 0;
+ if (*end > dsize) *end = dsize;
+ if (*end < 0) *end = 0;
+ /*
+ else {
+ *start = (double)vpos * dsize / total;
+ *end = (double)(vpos + vsize) * dsize / total;
+ }
+ if (*end > dsize) *end = dsize;
+ */
+}
+
+static long scroll_bar_frame_color;
+static long scroll_bar_area_color;
+static long scroll_bar_bar_color;
+
+void draw_vscroll_bar(struct graphics_device *dev, int x, int y, int yw, int total, int view, int pos)
+{
+ int spos, epos;
+ drv->draw_hline(dev, x, y, x + G_SCROLL_BAR_WIDTH, scroll_bar_frame_color);
+ drv->draw_vline(dev, x, y, y + yw, scroll_bar_frame_color);
+ drv->draw_vline(dev, x + G_SCROLL_BAR_WIDTH - 1, y, y + yw, scroll_bar_frame_color);
+ drv->draw_hline(dev, x, y + yw - 1, x + G_SCROLL_BAR_WIDTH, scroll_bar_frame_color);
+ drv->draw_vline(dev, x + 1, y + 1, y + yw - 1, scroll_bar_area_color);
+ drv->draw_vline(dev, x + G_SCROLL_BAR_WIDTH - 2, y + 1, y + yw - 1, scroll_bar_area_color);
+ get_scrollbar_pos(yw - 4, total, view, pos, &spos, &epos);
+ drv->fill_area(dev, x + 2, y + 1, x + G_SCROLL_BAR_WIDTH - 2, y + 2 + spos, scroll_bar_area_color);
+ drv->fill_area(dev, x + 2, y + 2 + spos, x + G_SCROLL_BAR_WIDTH - 2, y + 2 + epos, scroll_bar_bar_color);
+ drv->fill_area(dev, x + 2, y + 2 + epos, x + G_SCROLL_BAR_WIDTH - 2, y + yw - 1, scroll_bar_area_color);
+}
+
+void draw_hscroll_bar(struct graphics_device *dev, int x, int y, int xw, int total, int view, int pos)
+{
+ int spos, epos;
+ drv->draw_vline(dev, x, y, y + G_SCROLL_BAR_WIDTH, scroll_bar_frame_color);
+ drv->draw_hline(dev, x, y, x + xw, scroll_bar_frame_color);
+ drv->draw_hline(dev, x, y + G_SCROLL_BAR_WIDTH - 1, x + xw, scroll_bar_frame_color);
+ drv->draw_vline(dev, x + xw - 1, y, y + G_SCROLL_BAR_WIDTH, scroll_bar_frame_color);
+ drv->draw_hline(dev, x + 1, y + 1, x + xw - 1, scroll_bar_area_color);
+ drv->draw_hline(dev, x + 1, y + G_SCROLL_BAR_WIDTH - 2, x + xw - 1, scroll_bar_area_color);
+ get_scrollbar_pos(xw - 4, total, view, pos, &spos, &epos);
+ drv->fill_area(dev, x + 1, y + 2, x + 2 + spos, y + G_SCROLL_BAR_WIDTH - 2, scroll_bar_area_color);
+ drv->fill_area(dev, x + 2 + spos, y + 2, x + 2 + epos, y + G_SCROLL_BAR_WIDTH - 2, scroll_bar_bar_color);
+ drv->fill_area(dev, x + 2 + epos, y + 2, x + xw - 1, y + G_SCROLL_BAR_WIDTH - 2, scroll_bar_area_color);
+}
+
+static void g_get_search(struct f_data *f, unsigned char *s)
+{
+ int i;
+ if (!s || !*s) return;
+ if (f->last_search && !strcmp(f->last_search, s)) return;
+ mem_free(f->search_positions);
+ mem_free(f->search_lengths);
+ f->search_positions = DUMMY, f->search_lengths = DUMMY, f->n_search_positions = 0;
+ if (f->last_search) mem_free(f->last_search);
+ if (!(f->last_search = stracpy(s))) return;
+ for (i = 0; i < f->srch_string_size; i++) {
+ int len;
+ /*debug("%d: %d", i, f->srch_string[i]);*/
+ if ((s[0] | f->srch_string[i]) < 0x80) {
+ if ((f->srch_string[i] ^ s[0]) & 0xdf) continue;
+ if (s[1] != 0 && (s[1] ^ f->srch_string[i + 1]) < 0x80) {
+ if ((f->srch_string[i + 1] ^ s[1]) & 0xdf) continue;
+ }
+ }
+ len = compare_case_utf8(f->srch_string + i, s);
+ if (!len) continue;
+ if (!(f->n_search_positions & (ALLOC_GR - 1))) {
+ if ((unsigned)f->n_search_positions > MAXINT / sizeof(int) - ALLOC_GR) overalloc();
+ f->search_positions = mem_realloc(f->search_positions, (f->n_search_positions + ALLOC_GR) * sizeof(int));
+ f->search_lengths = mem_realloc(f->search_lengths, (f->n_search_positions + ALLOC_GR) * sizeof(int));
+ }
+ f->search_positions[f->n_search_positions] = i;
+ f->search_lengths[f->n_search_positions] = len;
+ f->n_search_positions++;
+ }
+}
+
+static void draw_root(struct f_data_c *scr, int x, int y)
+{
+ scr->f_data->root->draw(scr, scr->f_data->root, x, y);
+}
+
+void draw_graphical_doc(struct terminal *t, struct f_data_c *scr, int active)
+{
+ int r = 0;
+ struct rect old;
+ struct view_state *vs = scr->vs;
+ struct rect_set *rs;
+ int xw = scr->xw;
+ int yw = scr->yw;
+ int vx, vy;
+
+ if (active) {
+ if (scr->ses->search_word && scr->ses->search_word[0]) {
+ g_get_search_data(scr->f_data);
+ g_get_search(scr->f_data, scr->ses->search_word);
+ highlight_positions = scr->f_data->search_positions;
+ highlight_lengths = scr->f_data->search_lengths;
+ n_highlight_positions = scr->f_data->n_search_positions;
+ }
+ }
+
+ if (vs->view_pos > scr->f_data->y - scr->yw + scr->hsb * G_SCROLL_BAR_WIDTH) vs->view_pos = scr->f_data->y - scr->yw + scr->hsb * G_SCROLL_BAR_WIDTH;
+ if (vs->view_pos < 0) vs->view_pos = 0;
+ if (vs->view_posx > scr->f_data->x - scr->xw + scr->vsb * G_SCROLL_BAR_WIDTH) vs->view_posx = scr->f_data->x - scr->xw + scr->vsb * G_SCROLL_BAR_WIDTH;
+ if (vs->view_posx < 0) vs->view_posx = 0;
+ vx = vs->view_posx;
+ vy = vs->view_pos;
+ restrict_clip_area(t->dev, &old, scr->xp, scr->yp, scr->xp + xw, scr->yp + yw);
+ if (scr->vsb) draw_vscroll_bar(t->dev, scr->xp + xw - G_SCROLL_BAR_WIDTH, scr->yp, yw - scr->hsb * G_SCROLL_BAR_WIDTH, scr->f_data->y, yw - scr->hsb * G_SCROLL_BAR_WIDTH, vs->view_pos);
+ if (scr->hsb) draw_hscroll_bar(t->dev, scr->xp, scr->yp + yw - G_SCROLL_BAR_WIDTH, xw - scr->vsb * G_SCROLL_BAR_WIDTH, scr->f_data->x, xw - scr->vsb * G_SCROLL_BAR_WIDTH, vs->view_posx);
+ if (scr->vsb && scr->hsb) drv->fill_area(t->dev, scr->xp + xw - G_SCROLL_BAR_WIDTH, scr->yp + yw - G_SCROLL_BAR_WIDTH, scr->xp + xw, scr->yp + yw, scroll_bar_frame_color);
+ restrict_clip_area(t->dev, NULL, scr->xp, scr->yp, scr->xp + xw - scr->vsb * G_SCROLL_BAR_WIDTH, scr->yp + yw - scr->hsb * G_SCROLL_BAR_WIDTH);
+ /*debug("buu: %d %d %d, %d %d %d", scr->xl, vx, xw, scr->yl, vy, yw);*/
+ if (drv->flags & GD_DONT_USE_SCROLL) goto rrr;
+ if (scr->xl == -1 || scr->yl == -1) goto rrr;
+ if (is_rect_valid(&scr->ses->win->redr)) goto rrr;
+ if (scr->xl - vx > xw || vx - scr->xl > xw ||
+ scr->yl - vy > yw || vy - scr->yl > yw) {
+ goto rrr;
+ }
+ if (scr->xl != vx) {
+ rs = NULL;
+ r |= drv->hscroll(t->dev, &rs, scr->xl - vx);
+ if (rs) {
+ int j;
+ for (j = 0; j < rs->m; j++) {
+ struct rect *r = &rs->r[j];
+ struct rect clip1;
+ /*fprintf(stderr, "scroll: %d,%d %d,%d\n", r->x1, r->y1, r->x2, r->y2);*/
+ restrict_clip_area(t->dev, &clip1, r->x1, r->y1, r->x2, r->y2);
+ draw_root(scr, scr->xp - vs->view_posx, scr->yp - vs->view_pos - (scr->yl - vy));
+ drv->set_clip_area(t->dev, &clip1);
+ }
+ mem_free(rs);
+ }
+ }
+
+ if (scr->yl != vy) {
+ rs = NULL;
+ r |= drv->vscroll(t->dev, &rs, scr->yl - vy);
+ if (rs) {
+ int j;
+ for (j = 0; j < rs->m; j++) {
+ struct rect *r = &rs->r[j];
+ struct rect clip1;
+ /*fprintf(stderr, "scroll: %d,%d %d,%d\n", r->x1, r->y1, r->x2, r->y2);*/
+ restrict_clip_area(t->dev, &clip1, r->x1, r->y1, r->x2, r->y2);
+ draw_root(scr, scr->xp - vs->view_posx, scr->yp - vs->view_pos);
+ drv->set_clip_area(t->dev, &clip1);
+ }
+ mem_free(rs);
+ }
+ }
+
+ if (r) {
+ struct rect clip1;
+ if (scr->xl < vx) {
+ if (scr->yl < vy) {
+ restrict_clip_area(t->dev, &clip1, scr->xp + xw - scr->vsb * G_SCROLL_BAR_WIDTH - (vx - scr->xl), scr->yp, scr->xp + xw - scr->vsb * G_SCROLL_BAR_WIDTH, scr->yp + yw - scr->hsb * G_SCROLL_BAR_WIDTH - (vy - scr->yl));
+ } else {
+ restrict_clip_area(t->dev, &clip1, scr->xp + xw - scr->vsb * G_SCROLL_BAR_WIDTH - (vx - scr->xl), scr->yp + (scr->yl - vy), scr->xp + xw - scr->vsb * G_SCROLL_BAR_WIDTH, scr->yp + yw - scr->hsb * G_SCROLL_BAR_WIDTH);
+ }
+ } else {
+ if (scr->yl < vy) {
+ restrict_clip_area(t->dev, &clip1, scr->xp, scr->yp, scr->xp + (scr->xl - vx), scr->yp + yw - scr->hsb * G_SCROLL_BAR_WIDTH - (vy - scr->yl));
+ } else {
+ restrict_clip_area(t->dev, &clip1, scr->xp, scr->yp + (scr->yl - vy), scr->xp + (scr->xl - vx), scr->yp + yw - scr->hsb * G_SCROLL_BAR_WIDTH);
+ }
+ }
+ draw_root(scr, scr->xp - vs->view_posx, scr->yp - vs->view_pos);
+ drv->set_clip_area(t->dev, &clip1);
+ if (scr->yl < vy) {
+ restrict_clip_area(t->dev, NULL, scr->xp, scr->yp + yw - scr->hsb * G_SCROLL_BAR_WIDTH - (vy - scr->yl), scr->xp + xw - scr->vsb * G_SCROLL_BAR_WIDTH, scr->yp + yw - scr->hsb * G_SCROLL_BAR_WIDTH);
+ } else {
+ restrict_clip_area(t->dev, NULL, scr->xp, scr->yp, scr->xp + xw - scr->vsb * G_SCROLL_BAR_WIDTH, scr->yp + (scr->yl - vy));
+ }
+ draw_root(scr, scr->xp - vs->view_posx, scr->yp - vs->view_pos);
+ }
+
+ goto eee;
+ rrr:
+ draw_root(scr, scr->xp - vs->view_posx, scr->yp - vs->view_pos);
+ eee:
+ scr->xl = vx;
+ scr->yl = vy;
+ drv->set_clip_area(t->dev, &old);
+
+ highlight_positions = NULL;
+ highlight_lengths = NULL;
+ n_highlight_positions = 0;
+}
+
+struct draw_data {
+ struct f_data_c *fd;
+ struct g_object *o;
+};
+
+static void draw_one_object_fn(struct terminal *t, struct draw_data *d)
+{
+ struct rect clip;
+ struct f_data_c *scr = d->fd;
+ struct g_object *o = d->o;
+ int x, y;
+ restrict_clip_area(t->dev, &clip, scr->xp, scr->yp, scr->xp + scr->xw - scr->vsb * G_SCROLL_BAR_WIDTH, scr->yp + scr->yw - scr->hsb * G_SCROLL_BAR_WIDTH);
+ get_object_pos(o, &x, &y);
+ o->draw(scr, o, scr->xp - scr->vs->view_posx + x, scr->yp - scr->vs->view_pos + y);
+ drv->set_clip_area(t->dev, &clip);
+}
+
+void draw_one_object(struct f_data_c *scr, struct g_object *o)
+{
+ struct draw_data d;
+ int *h1, *h2, h3;
+ d.fd = scr;
+ d.o = o;
+ h1 = highlight_positions;
+ h2 = highlight_lengths;
+ h3 = n_highlight_positions;
+ if (scr->ses->search_word && scr->ses->search_word[0]) {
+ g_get_search_data(scr->f_data);
+ g_get_search(scr->f_data, scr->ses->search_word);
+ highlight_positions = scr->f_data->search_positions;
+ highlight_lengths = scr->f_data->search_lengths;
+ n_highlight_positions = scr->f_data->n_search_positions;
+ }
+ draw_to_window(scr->ses->win, (void (*)(struct terminal *, void *))draw_one_object_fn, &d);
+ highlight_positions = h1;
+ highlight_lengths = h2;
+ n_highlight_positions = h3;
+}
+
+int g_forward_mouse(struct f_data_c *fd, struct g_object *a, int x, int y, int b)
+{
+ int r = 0;
+ if (x < a->x) r |= 1;
+ if (x >= a->x + a->xw) r |= 2;
+ if (y < a->y) r |= 4;
+ if (y >= a->y + a->yw) r |= 8;
+ if (!r) {
+ a->mouse_event(fd, a, x - a->x, y - a->y, b);
+ return 0;
+ }
+ return r;
+}
+
+void g_area_mouse(struct f_data_c *fd, struct g_object_area *a, int x, int y, int b)
+{
+ int found, g;
+#define A_EQ(m, n) ((g = g_forward_mouse(fd, (struct g_object *)a->lines[m], x, y, b)), !g)
+#define A_AB(m, n) (g & 4)
+ BIN_SEARCH(a->n_lines, A_EQ, A_AB, *, found);
+ found = found + 1; /* against warning */
+#undef A_EQ
+#undef A_AB
+ /*int i;
+ for (i = 0; i < a->n_lines; i++) if (!g_forward_mouse(fd, (struct g_object *)a->lines[i], x, y, b)) return;*/
+}
+
+void g_line_mouse(struct f_data_c *fd, struct g_object_line *a, int x, int y, int b)
+{
+ int found, g;
+#define A_EQ(m, n) ((g = g_forward_mouse(fd, (struct g_object *)a->entries[m], x, y, b)), !g)
+#define A_AB(m, n) (g & 1)
+ BIN_SEARCH(a->n_entries, A_EQ, A_AB, *, found);
+ found = found + 1; /* against warning */
+#undef A_EQ
+#undef A_AB
+ /*int i;
+ for (i = 0; i < a->n_entries; i++) if (!g_forward_mouse(fd, (struct g_object *)a->entries[i], x, y, b)) return;*/
+}
+
+static struct f_data *ffff;
+
+static void get_parents_sub(struct g_object *p, struct g_object *c)
+{
+ c->parent = p;
+ if (c->get_list) c->get_list(c, get_parents_sub);
+ if (c->destruct == g_tag_destruct) {
+ int x = 0, y = 0;
+ struct g_object *o;
+ c->y -= c->parent->yw;
+ for (o = c; o; o = o->parent) x += o->x, y += o->y;
+ html_tag(ffff, ((struct g_object_tag *)c)->name, x, y);
+ }
+ if (c->mouse_event == (void (*)(struct f_data_c *, struct g_object *, int, int, int))g_text_mouse) {
+ int l = ((struct g_object_text *)c)->link_num;
+ if (l >= 0) {
+ struct link *link = &ffff->links[l];
+ int x = 0, y = 0;
+ struct g_object *o;
+ for (o = c; o; o = o->parent) x += o->x, y += o->y;
+ if (x < link->r.x1) link->r.x1 = x;
+ if (y < link->r.y1) link->r.y1 = y;
+ if (x + c->xw > link->r.x2) link->r.x2 = x + c->xw;
+ if (y + c->yw > link->r.y2) link->r.y2 = y + c->yw;
+ link->obj = c;
+ }
+ }
+}
+
+void get_parents(struct f_data *f, struct g_object *a)
+{
+ ffff = f;
+ a->parent = NULL;
+ if (a->get_list) a->get_list(a, get_parents_sub);
+}
+
+static void get_object_pos(struct g_object *o, int *x, int *y)
+{
+ *x = *y = 0;
+ while (o) {
+ *x += o->x;
+ *y += o->y;
+ o = o->parent;
+ }
+}
+
+/* if set_position is 1 sets cursor position in FIELD/AREA elements */
+static void g_set_current_link(struct f_data_c *fd, struct g_object_text *a, int x, int y, int set_position)
+{
+ if (a->map) {
+ int i;
+ for (i = 0; i < a->map->n_areas; i++) {
+ if (is_in_area(&a->map->area[i], x, y) && a->map->area[i].link_num >= 0) {
+ fd->vs->current_link = a->map->area[i].link_num;
+ fd->vs->orig_link = fd->vs->current_link;
+ return;
+ }
+ }
+ }
+ fd->vs->current_link = -1;
+ fd->vs->orig_link = fd->vs->current_link;
+ if (a->link_num >= 0) {
+ fd->vs->current_link = a->link_num;
+ fd->vs->orig_link = fd->vs->current_link;
+ /* if link is a field, set cursor position */
+ if (set_position&&a->link_num>=0&&a->link_num<fd->f_data->nlinks) /* valid link */
+ {
+ struct link *l=&fd->f_data->links[a->link_num];
+ struct form_state *fs;
+ int xx,yy;
+
+ if (!l->form)return;
+ if (l->type==L_AREA)
+ {
+ struct line_info *ln;
+ if (!(fs=find_form_state(fd,l->form)))return;
+
+ if (g_char_width(a->style,' ')) {
+ xx=x/g_char_width(a->style,' ');
+ } else xx=x;
+ xx+=fs->vpos;
+ xx=xx<0?0:xx;
+ yy=a->link_order;
+ yy+=fs->vypos;
+ if ((ln = format_text(fs->value, l->form->cols, l->form->wrap, fd->f_data->opt.cp))) {
+ int a;
+ for (a = 0; ln[a].st; a++) if (a==yy){
+ int bla=textptr_diff(ln[a].en,ln[a].st, fd->f_data->opt.cp);
+
+ fs->state=ln[a].st-fs->value;
+ fs->state = textptr_add(fs->value + fs->state, xx<bla?xx:bla, fd->f_data->opt.cp) - fs->value;
+ break;
+ }
+ mem_free(ln);
+ }
+ return;
+ }
+ if (l->type!=L_FIELD||!(fs=find_form_state(fd,l->form)))return;
+ if (g_char_width(a->style,' ')) {
+ xx=x/g_char_width(a->style,' ');
+ } else xx=x;
+ fs->state=textptr_add(fs->value + ((size_t)fs->vpos > strlen(fs->value) ? strlen(fs->value) : (size_t)fs->vpos), (xx<0?0:xx), fd->f_data->opt.cp) - fs->value;
+ }
+ }
+}
+
+void g_text_mouse(struct f_data_c *fd, struct g_object_text *a, int x, int y, int b)
+{
+ int e;
+ g_set_current_link(fd, a, x, y, (b == (B_UP | B_LEFT)));
+
+#ifdef JS
+ if (fd->vs&&fd->f_data&&fd->vs->current_link>=0&&fd->vs->current_link<fd->f_data->nlinks)
+ {
+ /* fd->vs->current links is a valid link */
+
+ struct link *l=&(fd->f_data->links[fd->vs->current_link]);
+
+ if (l->js_event&&l->js_event->up_code&&(b&BM_ACT)==B_UP)
+ jsint_execute_code(fd,l->js_event->up_code,strlen(l->js_event->up_code),-1,-1,-1, NULL);
+
+ if (l->js_event&&l->js_event->down_code&&(b&BM_ACT)==B_DOWN)
+ jsint_execute_code(fd,l->js_event->down_code,strlen(l->js_event->down_code),-1,-1,-1, NULL);
+ }
+#endif
+
+ if (b == (B_UP | B_LEFT)) {
+ int ix = ismap_x, iy = ismap_y, il = ismap_link;
+ ismap_x = x;
+ ismap_y = y;
+ ismap_link = a->ismap;
+ e = enter(fd->ses, fd, 1);
+ ismap_x = ix;
+ ismap_y = iy;
+ ismap_link = il;
+ if (e) {
+ print_all_textarea = 1;
+ draw_one_object(fd, (struct g_object *)a);
+ print_all_textarea = 0;
+ }
+ if (e == 2) fd->f_data->locked_on = (struct g_object *)a;
+ return;
+ }
+ if (b == (B_UP | B_RIGHT)) {
+ if (fd->vs->current_link != -1) link_menu(fd->ses->term, NULL, fd->ses);
+ }
+}
+
+static void process_sb_event(struct f_data_c *fd, int off, int h)
+{
+ int spos, epos;
+ int w = h ? fd->hsbsize : fd->vsbsize;
+ get_scrollbar_pos(w - 4, h ? fd->f_data->x : fd->f_data->y, w, h ? fd->vs->view_posx : fd->vs->view_pos, &spos, &epos);
+ spos += 2;
+ epos += 2;
+ /*debug("%d %d %d", spos, epos, off);*/
+ if (off >= spos && off < epos) {
+ fd->ses->scrolling = 1;
+ fd->ses->scrolltype = h;
+ fd->ses->scrolloff = off - spos - 1;
+ return;
+ }
+ if (off < spos) {
+ if (h) fd->vs->view_posx -= fd->xw - fd->vsb * G_SCROLL_BAR_WIDTH;
+ else fd->vs->view_pos -= fd->yw - fd->hsb * G_SCROLL_BAR_WIDTH;
+ } else {
+ if (h) fd->vs->view_posx += fd->xw - fd->vsb * G_SCROLL_BAR_WIDTH;
+ else fd->vs->view_pos += fd->yw - fd->hsb * G_SCROLL_BAR_WIDTH;
+ }
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ fd->vs->orig_view_posx = fd->vs->view_posx;
+ draw_graphical_doc(fd->ses->term, fd, 1);
+}
+
+static void process_sb_move(struct f_data_c *fd, int off)
+{
+ int h = fd->ses->scrolltype;
+ int w = h ? fd->hsbsize : fd->vsbsize;
+ int rpos = off - 2 - fd->ses->scrolloff;
+ int st, en;
+ get_scrollbar_pos(w - 4, h ? fd->f_data->x : fd->f_data->y, w, h ? fd->vs->view_posx : fd->vs->view_pos, &st, &en);
+ if (en - st >= w - 4) return;
+ /*
+ *(h ? &fd->vs->view_posx : &fd->vs->view_pos) = rpos * (h ? fd->f_data->x : fd->f_data->y) / (w - 4);
+ */
+ if (!(w - 4 - (en - st))) return;
+ *(h ? &fd->vs->view_posx : &fd->vs->view_pos) = rpos * (double)(h ? fd->f_data->x - w : fd->f_data->y - w) / (w - 4 - (en - st));
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ fd->vs->orig_view_posx = fd->vs->view_posx;
+ draw_graphical_doc(fd->ses->term, fd, 1);
+}
+
+static inline int ev_in_rect(struct event *ev, int x1, int y1, int x2, int y2)
+{
+ return ev->x >= x1 && ev->y >= y1 && ev->x < x2 && ev->y < y2;
+}
+
+int is_link_in_view(struct f_data_c *fd, int nl)
+{
+ struct link *l = &fd->f_data->links[nl];
+ return fd->vs->view_pos < l->r.y2 && fd->vs->view_pos + fd->yw - fd->hsb * G_SCROLL_BAR_WIDTH > l->r.y1;
+}
+
+static int skip_link(struct f_data_c *fd, int nl)
+{
+ struct link *l = &fd->f_data->links[nl];
+ return !l->where && !l->form;
+}
+
+static void redraw_link(struct f_data_c *fd, int nl)
+{
+ struct link *l = &fd->f_data->links[nl];
+ struct rect r;
+ memcpy(&r, &l->r, sizeof(struct rect));
+ r.x1 += fd->xp - fd->vs->view_posx;
+ r.x2 += fd->xp - fd->vs->view_posx;
+ r.y1 += fd->yp - fd->vs->view_pos;
+ r.y2 += fd->yp - fd->vs->view_pos;
+ t_redraw(fd->ses->term->dev, &r);
+}
+
+static int lr_link(struct f_data_c *fd, int nl)
+{
+ struct link *l = &fd->f_data->links[nl];
+ int xx = fd->vs->view_posx;
+ if (l->r.x2 > fd->vs->view_posx + fd->xw - fd->vsb * G_SCROLL_BAR_WIDTH) fd->vs->view_posx = l->r.x2 - (fd->xw - fd->vsb * G_SCROLL_BAR_WIDTH);
+ if (l->r.x1 < fd->vs->view_posx) fd->vs->view_posx = l->r.x1;
+ fd->vs->orig_view_posx = fd->vs->view_posx;
+ return xx != fd->vs->view_posx;
+}
+
+int g_next_link(struct f_data_c *fd, int dir)
+{
+ int orig_link = -1;
+ int r = 2;
+ int n, pn;
+ if (fd->vs->current_link >= 0 && fd->vs->current_link < fd->f_data->nlinks) {
+ orig_link = fd->vs->current_link;
+ n = (pn = fd->vs->current_link) + dir;
+ } else retry: n = dir > 0 ? 0 : fd->f_data->nlinks - 1, pn = -1;
+ again:
+ if (n < 0 || n >= fd->f_data->nlinks) {
+ if (r == 1) {
+ fd->vs->current_link = -1;
+ if (fd->vs->view_pos > fd->f_data->y - fd->yw + fd->hsb * G_SCROLL_BAR_WIDTH) fd->vs->view_pos = fd->f_data->y - fd->yw + fd->hsb * G_SCROLL_BAR_WIDTH;
+ if (fd->vs->view_pos < 0) fd->vs->view_pos = 0;
+ if (orig_link != -1 && is_link_in_view(fd, orig_link)) fd->vs->current_link = orig_link;
+ fd->vs->orig_link = fd->vs->current_link;
+ if (fd->vs->current_link == -1) fd->ses->locked_link = 0;
+ return 1;
+ }
+ if (dir < 0) {
+ if (!fd->vs->view_pos) {
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 0;
+ }
+ fd->vs->view_pos -= fd->yw - fd->hsb * G_SCROLL_BAR_WIDTH;
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ } else {
+ if (fd->vs->view_pos >= fd->f_data->y - fd->yw + fd->hsb * G_SCROLL_BAR_WIDTH) return 0;
+ fd->vs->view_pos += fd->yw - fd->hsb * G_SCROLL_BAR_WIDTH;
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ }
+ r = 1;
+ goto retry;
+ }
+ if (!is_link_in_view(fd, n) || skip_link(fd, n)) {
+ n += dir;
+ goto again;
+ }
+ if (fd->vs->current_link >= 0 && fd->vs->current_link < fd->f_data->nlinks) {
+ redraw_link(fd, fd->vs->current_link);
+ }
+ fd->vs->current_link = n;
+ fd->vs->orig_link = fd->vs->current_link;
+ fd->vs->g_display_link = 1;
+ redraw_link(fd, n);
+ fd->ses->locked_link = 0;
+ if (fd->f_data->links[fd->vs->current_link].type == L_FIELD || fd->f_data->links[fd->vs->current_link].type == L_AREA) {
+ if ((fd->f_data->locked_on = fd->f_data->links[fd->vs->current_link].obj)) fd->ses->locked_link = 1;
+ }
+ set_textarea(fd->ses, fd, dir < 0 ? KBD_DOWN : KBD_UP);
+ change_screen_status(fd->ses);
+ print_screen_status(fd->ses);
+ if (lr_link(fd, fd->vs->current_link)) r = 1;
+ return r;
+}
+
+static void unset_link(struct f_data_c *fd)
+{
+ int n = fd->vs->current_link;
+ fd->vs->current_link = -1;
+ fd->vs->orig_link = fd->vs->current_link;
+ fd->vs->g_display_link = 0;
+ fd->ses->locked_link = 0;
+ if (n >= 0 && n < fd->f_data->nlinks) {
+ redraw_link(fd, n);
+ }
+}
+
+int g_frame_ev(struct session *ses, struct f_data_c *fd, struct event *ev)
+{
+ if (!fd->f_data) return 0;
+ switch ((int)ev->ev) {
+ case EV_MOUSE:
+ if ((ev->b & BM_BUTT) == B_WHEELUP) goto up;
+ if ((ev->b & BM_BUTT) == B_WHEELDOWN) goto down;
+ if ((ev->b & BM_BUTT) == B_WHEELUP1) goto up1;
+ if ((ev->b & BM_BUTT) == B_WHEELDOWN1) goto down1;
+ if ((ev->b & BM_BUTT) == B_WHEELLEFT) goto left;
+ if ((ev->b & BM_BUTT) == B_WHEELRIGHT) goto right;
+ if ((ev->b & BM_BUTT) == B_WHEELLEFT1) goto left1;
+ if ((ev->b & BM_BUTT) == B_WHEELRIGHT1) goto right1;
+ if ((ev->b & BM_ACT) == B_MOVE) ses->scrolling = 0;
+ if (ses->scrolling == 1) process_sb_move(fd, ses->scrolltype ? ev->x : ev->y);
+ if (ses->scrolling == 2) {
+ fd->vs->view_pos = -ev->y + ses->scrolloff;
+ fd->vs->view_posx = -ev->x + ses->scrolltype;
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ fd->vs->orig_view_posx = fd->vs->view_posx;
+ draw_graphical_doc(fd->ses->term, fd, 1);
+ if ((ev->b & BM_ACT) == B_UP) {
+ ses->scrolling = 0;
+ }
+ break;
+ }
+ if (ses->scrolling) {
+ if ((ev->b & BM_ACT) == B_UP) {
+ ses->scrolling = 0;
+ }
+ break;
+ }
+
+ if ((ev->b & BM_ACT) == B_DOWN && fd->vsb && ev_in_rect(ev, fd->xw - G_SCROLL_BAR_WIDTH, 0, fd->xw, fd->yw - fd->hsb * G_SCROLL_BAR_WIDTH)) {
+ process_sb_event(fd, ev->y, 0);
+ break;
+ }
+ if ((ev->b & BM_ACT) == B_DOWN && fd->hsb && ev_in_rect(ev, 0, fd->yw - G_SCROLL_BAR_WIDTH, fd->xw - fd->vsb * G_SCROLL_BAR_WIDTH, fd->yw)) {
+ process_sb_event(fd, ev->x, 1);
+ break;
+ }
+ if (fd->vsb && ev_in_rect(ev, fd->xw - G_SCROLL_BAR_WIDTH, 0, fd->xw, fd->yw)) return 0;
+ if (fd->hsb && ev_in_rect(ev, 0, fd->yw - G_SCROLL_BAR_WIDTH, fd->xw, fd->yw)) return 0;
+
+ if ((ev->b & BM_ACT) == B_DOWN && (ev->b & BM_BUTT) == B_MIDDLE) {
+ scrll:
+ ses->scrolltype = ev->x + fd->vs->view_posx;
+ ses->scrolloff = ev->y + fd->vs->view_pos;
+ ses->scrolling = 2;
+ break;
+ }
+
+ previous_link=fd->vs->current_link;
+ if (fd->vs->g_display_link) {
+ fd->vs->g_display_link = 0;
+ if (fd->vs->current_link >= 0 && fd->vs->current_link < fd->f_data->nlinks) redraw_link(fd, fd->vs->current_link);
+ }
+ if (!(ev->b == (B_LEFT | B_UP) && fd->f_data->hlt_len && fd->f_data->start_highlight_x == -1)) {
+ fd->vs->current_link = -1;
+ fd->vs->orig_link = fd->vs->current_link;
+ fd->f_data->root->mouse_event(fd, fd->f_data->root, ev->x + fd->vs->view_posx, ev->y + fd->vs->view_pos, ev->b);
+ if (previous_link!=fd->vs->current_link)
+ change_screen_status(ses);
+ print_screen_status(ses);
+ }
+
+ /* highlight text */
+ if ((ev->b & BM_ACT) == B_DOWN && (ev->b & BM_BUTT) == B_LEFT) { /* start highlighting */
+ fd->f_data->start_highlight_x = ev->x;
+ fd->f_data->start_highlight_y = ev->y;
+ fd->f_data->hlt_len = 0;
+ fd->f_data->hlt_pos = -1;
+ return 1;
+ }
+ if (((ev->b & BM_ACT) == B_DRAG || (ev->b & BM_ACT) == B_UP) && (ev->b & BM_BUTT) == B_LEFT) { /* stop highlighting */
+ struct g_object_text *t;
+ if (fd->f_data->start_highlight_x != -1) {
+ if (abs(ev->x - fd->f_data->start_highlight_x) < 8 && abs(ev->y - fd->f_data->start_highlight_y) < 8) goto skip_hl;
+ t = g_find_nearest_object(fd->f_data, fd->f_data->start_highlight_x + fd->vs->view_posx, fd->f_data->start_highlight_y + fd->vs->view_pos);
+
+ if (t) {
+ g_get_search_data(fd->f_data);
+ fd->f_data->hlt_pos = t->srch_pos+g_find_text_pos(t, fd->f_data->start_highlight_x+fd->vs->view_posx);
+ fd->f_data->hlt_len=0;
+ }
+ fd->f_data->start_highlight_x = -1;
+ fd->f_data->start_highlight_y = -1;
+ }
+ if (fd->f_data->hlt_pos == -1) goto skip_hl;
+ t = g_find_nearest_object(fd->f_data, ev->x + fd->vs->view_posx, ev->y + fd->vs->view_pos);
+
+ if (t) {
+ int end;
+ g_get_search_data(fd->f_data);
+ end = t->srch_pos + g_find_text_pos(t, ev->x+fd->vs->view_posx);
+ fd->f_data->hlt_len = end-fd->f_data->hlt_pos;
+ if ((ev->b & BM_ACT) == B_UP || (ev->b & BM_ACT) == B_DRAG) {
+ unsigned char *m = memacpy(fd->f_data->srch_string + fd->f_data->hlt_pos + (fd->f_data->hlt_len > 0 ? 0 : fd->f_data->hlt_len), fd->f_data->hlt_len > 0 ? fd->f_data->hlt_len : -fd->f_data->hlt_len);
+ if (m) {
+ unsigned char *p = m;
+ while ((p = strchr(p, 1))) *p++ = ' ';
+ p = m;
+ while ((p = strstr(p, "\302\255"))) memmove(p, p + 2, strlen(p + 2) + 1);
+ if (*m) set_clipboard_text(fd->ses->term, m);
+ mem_free(m);
+ }
+ }
+ return 1;
+ }
+ }
+ skip_hl:
+ if (((ev->b & BM_ACT) == B_MOVE || (ev->b & BM_ACT) == B_UP) && (ev->b & BM_BUTT) == B_LEFT) { /* stop highlighting */
+ fd->f_data->start_highlight_x = -1;
+ fd->f_data->start_highlight_y = -1;
+ }
+
+#ifdef JS
+ /* process onmouseover/onmouseout handlers */
+ if (previous_link!=fd->vs->current_link)
+ {
+ struct link* lnk=NULL;
+
+ if (previous_link>=0&&previous_link<fd->f_data->nlinks)lnk=&(fd->f_data->links[previous_link]);
+ if (lnk&&lnk->js_event&&lnk->js_event->out_code)
+ jsint_execute_code(fd,lnk->js_event->out_code,strlen(lnk->js_event->out_code),-1,-1,-1, NULL);
+ lnk=NULL;
+ if (fd->vs->current_link>=0&&fd->vs->current_link<fd->f_data->nlinks)lnk=&(fd->f_data->links[fd->vs->current_link]);
+ if (lnk&&lnk->js_event&&lnk->js_event->over_code)
+ jsint_execute_code(fd,lnk->js_event->over_code,strlen(lnk->js_event->over_code),-1,-1,-1, NULL);
+ }
+#endif
+
+ if ((ev->b & BM_ACT) == B_DOWN && (ev->b & BM_BUTT) == B_RIGHT && fd->vs->current_link == -1) goto scrll;
+ break;
+ case EV_KBD:
+ if (ses->locked_link && fd->vs->current_link >= 0 && fd->vs->current_link < fd->f_data->nlinks && (fd->f_data->links[fd->vs->current_link].type == L_FIELD || fd->f_data->links[fd->vs->current_link].type == L_AREA)) {
+ if (field_op(ses, fd, &fd->f_data->links[fd->vs->current_link], ev, 0)) {
+ if (fd->f_data->locked_on) {
+ print_all_textarea = 1;
+ draw_one_object(fd, fd->f_data->locked_on);
+ print_all_textarea = 0;
+ return 2;
+ }
+ return 1;
+ }
+ if (ev->x == KBD_ENTER) {
+ return enter(ses, fd, 0);
+ }
+ }
+ if (ev->x == KBD_RIGHT || ev->x == KBD_ENTER) {
+ struct link *l;
+ if (fd->vs->current_link >= 0 && fd->vs->current_link < fd->f_data->nlinks) {
+ l = &fd->f_data->links[fd->vs->current_link];
+ set_window_ptr(ses->win, fd->xp + l->r.x1 - fd->vs->view_posx, fd->yp + l->r.y1 - fd->vs->view_pos);
+ } else {
+ set_window_ptr(ses->win, fd->xp, fd->yp);
+ }
+ return enter(ses, fd, 0);
+ }
+ if (ev->x == KBD_PAGE_DOWN || (ev->x == ' ' && !(ev->y & KBD_ALT)) || (upcase(ev->x) == 'F' && ev->y & KBD_CTRL)) {
+ unset_link(fd);
+ if (fd->vs->view_pos == fd->f_data->y - fd->yw + fd->hsb * G_SCROLL_BAR_WIDTH) {
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 0;
+ }
+ fd->vs->view_pos += fd->yw - fd->hsb * G_SCROLL_BAR_WIDTH;
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 3;
+ }
+ if (ev->x == '*') {
+ ses->ds.display_images ^= 1;
+ html_interpret_recursive(ses->screen);
+ return 1;
+ }
+ if (ev->x == KBD_PAGE_UP || (upcase(ev->x) == 'B' && !(ev->y & KBD_ALT))) {
+ unset_link(fd);
+ if (!fd->vs->view_pos) {
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 0;
+ }
+ fd->vs->view_pos -= fd->yw - fd->hsb * G_SCROLL_BAR_WIDTH;
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 3;
+ }
+ if (0) {
+ down:
+ if (fd->vs->view_pos == fd->f_data->y - fd->yw + fd->hsb * G_SCROLL_BAR_WIDTH) {
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 0;
+ }
+ fd->vs->view_pos += 64;
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 3;
+ }
+ if (0) {
+ up:
+ if (!fd->vs->view_pos) {
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 0;
+ }
+ fd->vs->view_pos -= 64;
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 3;
+ }
+ if (ev->x == KBD_DEL || (upcase(ev->x) == 'N' && ev->y & KBD_CTRL)) {
+ if (fd->vs->view_pos == fd->f_data->y - fd->yw + fd->hsb * G_SCROLL_BAR_WIDTH) {
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 0;
+ }
+ fd->vs->view_pos += 32;
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 3;
+ }
+ if (ev->x == KBD_INS || (upcase(ev->x) == 'P' && ev->y & KBD_CTRL)) {
+ if (!fd->vs->view_pos) {
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 0;
+ }
+ fd->vs->view_pos -= 32;
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 3;
+ }
+ if (/*ev->x == KBD_DOWN*/ 0) {
+ down1:
+ if (fd->vs->view_pos == fd->f_data->y - fd->yw + fd->hsb * G_SCROLL_BAR_WIDTH) {
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 0;
+ }
+ fd->vs->view_pos += 16;
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 3;
+ }
+ if (/*ev->x == KBD_UP*/ 0) {
+ up1:
+ if (!fd->vs->view_pos) {
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 0;
+ }
+ fd->vs->view_pos -= 16;
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ return 3;
+ }
+ if (ev->x == KBD_DOWN) {
+ return g_next_link(fd, 1);
+ }
+ if (ev->x == KBD_UP) {
+ return g_next_link(fd, -1);
+ }
+ if (ev->x == '[') {
+ left:
+ if (!fd->vs->view_posx) {
+ fd->vs->orig_view_posx = fd->vs->view_posx;
+ return 0;
+ }
+ fd->vs->view_posx -= 64;
+ fd->vs->orig_view_posx = fd->vs->view_posx;
+ return 3;
+ }
+ if (ev->x == ']') {
+ right:
+ if (fd->vs->view_posx == fd->f_data->x - fd->xw + fd->vsb * G_SCROLL_BAR_WIDTH) {
+ fd->vs->orig_view_posx = fd->vs->view_posx;
+ return 0;
+ }
+ fd->vs->view_posx += 64;
+ fd->vs->orig_view_posx = fd->vs->view_posx;
+ return 3;
+ }
+ if (/*ev->x == KBD_LEFT*/ 0) {
+ left1:
+ if (!fd->vs->view_posx) {
+ fd->vs->orig_view_posx = fd->vs->view_posx;
+ return 0;
+ }
+ fd->vs->view_posx -= 16;
+ fd->vs->orig_view_posx = fd->vs->view_posx;
+ return 3;
+ }
+ if (/*ev->x == KBD_RIGHT*/ 0) {
+ right1:
+ if (fd->vs->view_posx == fd->f_data->x - fd->xw + fd->vsb * G_SCROLL_BAR_WIDTH) {
+ fd->vs->orig_view_posx = fd->vs->view_posx;
+ return 0;
+ }
+ fd->vs->view_posx += 16;
+ fd->vs->orig_view_posx = fd->vs->view_posx;
+ return 3;
+ }
+ if (ev->x == KBD_HOME || (upcase(ev->x) == 'A' && ev->y & KBD_CTRL)) {
+ fd->vs->view_pos = 0;
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ unset_link(fd);
+ return 3;
+ }
+ if (ev->x == KBD_END || (upcase(ev->x) == 'E' && ev->y & KBD_CTRL)) {
+ fd->vs->view_pos = fd->f_data->y;
+ fd->vs->orig_view_pos = fd->vs->view_pos;
+ unset_link(fd);
+ return 3;
+ }
+ if (upcase(ev->x) == 'F' && !(ev->y & (KBD_ALT | KBD_CTRL))) {
+ set_frame(ses, fd, 0);
+ return 2;
+ }
+ if (ev->x == '#') {
+ ses->ds.images ^= 1;
+ html_interpret_recursive(fd);
+ ses->ds.images ^= 1;
+ return 1;
+ }
+ if (ev->x == 'i' && !(ev->y & KBD_ALT)) {
+ if (!F || fd->f_data->opt.plain != 2) frm_view_image(ses, fd);
+ return 2;
+ }
+ if (ev->x == 'I' && !(ev->y & KBD_ALT)) {
+ if (!anonymous) frm_download_image(ses, fd);
+ return 2;
+ }
+ if (upcase(ev->x) == 'D' && !(ev->y & KBD_ALT)) {
+ if (!anonymous) frm_download(ses, fd);
+ return 2;
+ }
+ if (ev->x == '/') {
+ search_dlg(ses, fd, 0);
+ return 2;
+ }
+ if (ev->x == '?') {
+ search_back_dlg(ses, fd, 0);
+ return 2;
+ }
+ if (ev->x == 'n' && !(ev->y & KBD_ALT)) {
+ find_next(ses, fd, 0);
+ return 2;
+ }
+ if (ev->x == 'N' && !(ev->y & KBD_ALT)) {
+ find_next_back(ses, fd, 0);
+ return 2;
+ }
+ break;
+ }
+ return 0;
+}
+
+void draw_title(struct f_data_c *f)
+{
+ unsigned char *title = stracpy(!drv->set_title ? f->f_data && f->f_data->title ? f->f_data->title : (unsigned char *)"" : f->rq && f->rq->url ? f->rq->url : (unsigned char *)"");
+ int b, z, w;
+ struct graphics_device *dev = f->ses->term->dev;
+ if (drv->set_title && strchr(title, POST_CHAR)) *strchr(title, POST_CHAR) = 0;
+ w = g_text_width(bfu_style_bw, title);
+ z = 0;
+ g_print_text(drv, dev, 0, 0, bfu_style_bw, " <- ", &z);
+ f->ses->back_size = z;
+ b = (dev->size.x2 - w) - 16;
+ if (b < z) b = z;
+ drv->fill_area(dev, z, 0, b, G_BFU_FONT_SIZE, bfu_bg_color);
+ g_print_text(drv, dev, b, 0, bfu_style_bw, title, &b);
+ drv->fill_area(dev, b, 0, dev->size.x2, G_BFU_FONT_SIZE, bfu_bg_color);
+ mem_free(title);
+}
+
+static struct f_data *srch_f_data;
+
+static void get_searched_sub(struct g_object *p, struct g_object *c)
+{
+ if (c->draw == (void (*)(struct f_data_c *, struct g_object *, int, int))g_text_draw && !g_text_no_search(srch_f_data, (struct g_object_text *)c)) {
+ struct g_object_text *t = (struct g_object_text *)c;
+ int pos = srch_f_data->srch_string_size;
+ t->srch_pos = pos;
+ add_to_str(&srch_f_data->srch_string, &srch_f_data->srch_string_size, t->text);
+ }
+ if (c->get_list) c->get_list(c, get_searched_sub);
+ if (c->draw == (void (*)(struct f_data_c *, struct g_object *, int, int))g_line_draw) {
+ if (srch_f_data->srch_string_size && srch_f_data->srch_string[srch_f_data->srch_string_size - 1] != ' ')
+ add_to_str(&srch_f_data->srch_string, &srch_f_data->srch_string_size, " ");
+ }
+}
+
+static void g_get_search_data(struct f_data *f)
+{
+ int i;
+ srch_f_data = f;
+ if (f->srch_string) return;
+ f->srch_string = init_str();
+ f->srch_string_size = 0;
+ if (f->root && f->root->get_list) f->root->get_list(f->root, get_searched_sub);
+ while (f->srch_string_size && f->srch_string[f->srch_string_size - 1] == ' ') {
+ f->srch_string[--f->srch_string_size] = 0;
+ }
+ for (i = 0; i < f->srch_string_size; i++) if (f->srch_string[i] == 1) f->srch_string[i] = ' ';
+}
+
+struct f_data *fnd_f;
+static struct g_object_text *fnd_obj;
+static int fnd_x, fnd_y;
+static int fnd_obj_dist;
+
+/*
+#define dist(a,b) (a<b?b-a:a-b)
+*/
+
+static inline int dist_to_rect(int x, int y, int x1, int y1, int x2, int y2)
+{
+ int w;
+ if (x < x1) w = x1 - x;
+ else if (x > x2) w = x - x2;
+ else w = 0;
+ if (y < y1) w += y1 - y;
+ else if (y > y2) w += y - y2;
+ return w;
+}
+
+static void find_nearest_sub(struct g_object *p, struct g_object *c)
+{
+ int tx, ty, a;
+
+ if (!fnd_obj_dist) return;
+
+ get_object_pos(c, &tx, &ty);
+
+ a = dist_to_rect(fnd_x, fnd_y, tx, ty, tx+c->xw, ty+c->yw);
+
+ if (a >= fnd_obj_dist) return;
+
+ if (c->draw == (void (*)(struct f_data_c *, struct g_object *, int, int))g_text_draw && !g_text_no_search(fnd_f, (struct g_object_text *)c)) {
+
+ fnd_obj = (struct g_object_text *)c;
+ fnd_obj_dist = a;
+ }
+ if (c->get_list == (void (*)(struct g_object *, void (*)(struct g_object *, struct g_object *)))g_area_get_list) {
+ struct g_object_area *ar = (struct g_object_area *)c;
+ struct g_object_line **ln;
+ int idx, i, dist;
+ if (!ar->n_lines) return;
+ ln = (struct g_object_line **)g_find_line((struct g_object **)(void *)&ar->lines, ar->n_lines, fnd_y - ty);
+ if (!ln) {
+ if (fnd_y < ty) ln = &ar->lines[0];
+ else ln = &ar->lines[ar->n_lines - 1];
+ }
+ idx = ln - &ar->lines[0];
+ for (i = idx; i < ar->n_lines; i++) {
+ dist = dist_to_rect(0, fnd_y, 0, ty + ar->lines[i]->y, 0, ty + ar->lines[i]->y + ar->lines[i]->yw);
+ if (dist >= fnd_obj_dist) break;
+ find_nearest_sub(NULL, (struct g_object *)ar->lines[i]);
+ }
+ for (i = idx - 1; i >= 0; i--) {
+ dist = dist_to_rect(0, fnd_y, 0, ty + ar->lines[i]->y, 0, ty + ar->lines[i]->y + ar->lines[i]->yw);
+ if (dist >= fnd_obj_dist) break;
+ find_nearest_sub(NULL, (struct g_object *)ar->lines[i]);
+ }
+ return;
+ }
+ if (c->get_list) {
+ c->get_list(c, find_nearest_sub);
+ }
+}
+
+static struct g_object_text * g_find_nearest_object(struct f_data *f, int x, int y)
+{
+ fnd_f = f;
+ fnd_obj = NULL;
+ fnd_x = x;
+ fnd_y = y;
+ fnd_obj_dist = MAXINT;
+
+ if (f->root) find_nearest_sub(NULL, f->root);
+ return fnd_obj;
+}
+
+static unsigned char *search_word;
+
+static int find_refline;
+static int find_direction;
+
+static int find_opt_yy;
+static int find_opt_y;
+static int find_opt_yw;
+static int find_opt_x;
+static int find_opt_xw;
+static struct f_data *find_opt_f_data;
+
+static void find_next_sub(struct g_object *p, struct g_object *c)
+{
+ if (c->draw == (void (*)(struct f_data_c *, struct g_object *, int, int))g_text_draw && !g_text_no_search(find_opt_f_data, (struct g_object_text *)c)) {
+ struct g_object_text *t = (struct g_object_text *)c;
+ int start = t->srch_pos;
+ int end = t->srch_pos + strlen(t->text);
+ int found;
+ BIN_SEARCH(n_highlight_positions, B_EQUAL, B_ABOVE, *, found);
+ if (found != -1) {
+ int x, y, yy;
+ get_object_pos(c, &x, &y);
+ y += t->yw / 2;
+ yy = y;
+ if (yy < find_refline) yy += MAXINT / 2;
+ if (find_direction < 0) yy = MAXINT - yy;
+ if (find_opt_yy == -1 || yy > find_opt_yy) {
+ int sx, ex;
+ unsigned char *tt;
+ while (found > 0) {
+ found--;
+ if (B_EQUAL(found, *)) continue;
+ found++;
+ break;
+ }
+ find_opt_yy = yy;
+ find_opt_y = y;
+ find_opt_yw = t->style->height;
+ find_opt_x = x;
+ find_opt_xw = t->xw;
+ if (highlight_positions[found] < start) sx = 0;
+ else sx = highlight_positions[found] - start;
+ if (highlight_positions[found] + highlight_lengths[found] > end) ex = end - start;
+ else ex = highlight_positions[found] + highlight_lengths[found] - start;
+
+ tt = memacpy(t->text, sx);
+ find_opt_x += g_text_width(t->style, tt);
+ mem_free(tt);
+ tt = memacpy(t->text + sx, ex - sx);
+ find_opt_xw = g_text_width(t->style, tt);
+ mem_free(tt);
+ }
+ }
+ }
+ if (c->get_list) c->get_list(c, find_next_sub);
+}
+
+static void g_find_next_str(struct f_data *f)
+{
+ find_opt_yy = -1;
+ find_opt_f_data = f;
+ if (f->root && f->root->get_list) f->root->get_list(f->root, find_next_sub);
+}
+
+void g_find_next(struct f_data_c *f, int a)
+{
+ g_get_search_data(f->f_data);
+ g_get_search(f->f_data, f->ses->search_word);
+ search_word = f->ses->search_word;
+ if (!f->f_data->n_search_positions) msg_box(f->ses->term, NULL, TEXT_(T_SEARCH), AL_CENTER, TEXT_(T_SEARCH_STRING_NOT_FOUND), NULL, 1, TEXT_(T_CANCEL), NULL, B_ENTER | B_ESC);
+
+ highlight_positions = f->f_data->search_positions;
+ highlight_lengths = f->f_data->search_lengths;
+ n_highlight_positions = f->f_data->n_search_positions;
+
+ if ((!a && f->ses->search_direction == -1) ||
+ (a && f->ses->search_direction == 1)) find_refline = f->vs->view_pos;
+ else find_refline = f->vs->view_pos + f->yw - f->hsb * G_SCROLL_BAR_WIDTH;
+ find_direction = -f->ses->search_direction;
+
+ g_find_next_str(f->f_data);
+
+ highlight_positions = NULL;
+ highlight_lengths = NULL;
+ n_highlight_positions = 0;
+
+ if (find_opt_yy == -1) goto d;
+ if (!a || find_opt_y < f->vs->view_pos || find_opt_y + find_opt_yw >= f->vs->view_pos + f->yw - f->hsb * G_SCROLL_BAR_WIDTH) {
+ f->vs->view_pos = find_opt_y - (f->yw - f->hsb * G_SCROLL_BAR_WIDTH) / 2;
+ f->vs->orig_view_pos = f->vs->view_pos;
+ }
+ if (find_opt_x < f->vs->view_posx || find_opt_x + find_opt_xw >= f->vs->view_posx + f->xw - f->vsb * G_SCROLL_BAR_WIDTH) {
+ f->vs->view_posx = find_opt_x + find_opt_xw / 2 - (f->xw - f->vsb * G_SCROLL_BAR_WIDTH) / 2;
+ f->vs->orig_view_posx = f->vs->view_posx;
+ }
+
+ d:draw_fd(f);
+}
+
+void init_grview(void)
+{
+ int i, w = g_text_width(bfu_style_wb_mono, " ");
+ for (i = 32; i < 128; i++) {
+ unsigned char a[2];
+ a[0] = i, a[1] = 0;
+ if (g_text_width(bfu_style_wb_mono, a) != w) internal("Monospaced font is not monospaced (error at char %d, width %d, wanted width %d)", i, (int)g_text_width(bfu_style_wb_mono, a), w);
+ }
+ scroll_bar_frame_color = dip_get_color_sRGB(G_SCROLL_BAR_FRAME_COLOR);
+ scroll_bar_area_color = dip_get_color_sRGB(G_SCROLL_BAR_AREA_COLOR);
+ scroll_bar_bar_color = dip_get_color_sRGB(G_SCROLL_BAR_BAR_COLOR);
+}
+
+#endif
diff --git a/x.c b/x.c
new file mode 100644
index 0000000..18dba8a
--- /dev/null
+++ b/x.c
@@ -0,0 +1,2526 @@
+/* x.c
+ * (c) 2002 Petr 'Brain' Kulhavy
+ * This file is a part of the Links program, released under GPL.
+ */
+
+/* Takovej mensi problemek se scrollovanim:
+ *
+ * Mikulas a Xy zpusobili, ze scrollovani a prekreslovani je asynchronni. To znamena, ze
+ * je v tom peknej bordylek. Kdyz BFU scrollne s oknem, tak se zavola funkce scroll. Ta
+ * posle Xum XCopyArea (prekopiruje prislusny kus okna) a vygeneruje eventu
+ * (GraphicsExpose) na postizenou (odkrytou) oblast. Funkce XCopyArea pripadne vygeneruje
+ * dalsi GraphicsExpose eventu na postizenou oblast, ktera se muze objevit, kdyz je
+ * linksove okno prekryto jinym oknem.
+ *
+ * Funkce scroll skonci. V event handleru se nekdy v budoucnosti (treba za tyden)
+ * zpracuji eventy od Xu, mezi nimi i GraphicsExpose - tedy prekreslovani postizenych
+ * oblasti.
+ *
+ * Problem je v tom, ze v okamziku, kdy scroll skonci, neni obrazovka prekreslena do
+ * konzistentniho stavu (misty je garbaz) a navic se muze volat dalsi scroll. Tedy
+ * XCopyArea muze posunout garbaz nekam do cudu a az se dostane na radu prekreslovani
+ * postizenych oblasti, garbaz se uz nikdy neprekresli.
+ *
+ * Ja jsem navrhoval udelat scrollovani synchronni, to znamena, ze v okamziku, kdy scroll
+ * skonci, bude okno v konzistentnim stavu. To by znamenalo volat ze scrollu zpracovavani
+ * eventu (alespon GraphicsExpose). To by ovsem nepomohlo, protoze prekreslovaci funkce
+ * neprekresluje, ale registruje si bottom halfy a podobny ptakoviny a prekresluje az
+ * nekdy v budoucnosti. Navic Mikulas rikal, ze prekreslovaci funkce muze generovat dalsi
+ * prekreslovani (sice jsem nepochopil jak, ale hlavne, ze je vecirek), takze by to
+ * neslo.
+ *
+ * Proto Mikulas vymyslel genialni tah - takzvany "genitah". Ve funkci scroll se projede
+ * fronta eventu od Xserveru a vyberou se GraphicsExp(l)ose eventy a ulozi se do zvlastni
+ * fronty. Ve funkci na zpracovani Xovych eventu se zpracuji eventy z teto fronty. Na
+ * zacatku scrollovaci funkce se projedou vsechny eventy ve zvlastni fronte a updatuji se
+ * jim souradnice podle prislusneho scrollu.
+ *
+ * Na to jsem ja vymyslel uzasnou vymluvu: co kdyz 1. scroll vyrobi nejake postizene
+ * oblasti a 2. scroll bude mit jinou clipovaci oblast, ktera bude tu postizenou oblast
+ * zasahovat z casti. Tak to se bude jako ta postizena oblast stipat na casti a ty casti
+ * se posunou podle toho, jestli jsou zasazene tim 2. scrollem? Tim jsem ho utrel, jak
+ * zpoceny celo.
+ *
+ * Takze se to nakonec udela tak, ze ze scrollu vratim hromadu rectanglu, ktere se maji
+ * prekreslit, a Mikulas si s tim udela, co bude chtit. Podobne jako ve svgalib, kde se
+ * vrati 1 a Mikulas si prislusnou odkrytou oblast prekresli sam. Doufam jen, ze to je
+ * posledni verze a ze nevzniknou dalsi problemy.
+ *
+ * Ve funkci scroll tedy pribude argument struct rect_set **.
+ */
+
+
+/* Data od XImage se alokujou pomoci malloc. get_links_icon musi alokovat taky
+ * pomoci malloc.
+ */
+
+/* Pozor: po kazdem XSync nebo XFlush se musi dat
+ * X_SCHEDULE_PROCESS_EVENTS
+ * jinak to bude cekat na filedescriptoru, i kdyz to ma eventy uz ve fronte.
+ * -- mikulas
+ */
+
+
+#include "cfg.h"
+
+#ifdef GRDRV_X
+
+/* #define X_DEBUG */
+/* #define SC_DEBUG */
+
+#if defined(X_DEBUG) || defined(SC_DEBUG)
+ #define MESSAGE(a) fprintf(stderr,"%s",a);
+#endif
+
+#include "links.h"
+
+/* Mikulas je PRASE: definuje makro "format" a navrch to jeste nechce vopravit */
+#ifdef format
+ #undef format
+#endif
+
+#if defined(HAVE_XOPENIM) && defined(HAVE_XCLOSEIM) && defined(HAVE_XCREATEIC) && defined(HAVE_XDESTROYIC) && (defined(HAVE_XWCLOOKUPSTRING) || defined(HAVE_XUTF8LOOKUPSTRING))
+#define X_INPUT_METHOD
+#endif
+
+#include <X11/Xlib.h>
+#include <X11/X.h>
+#include <X11/Xutil.h>
+#include <X11/Xatom.h>
+#ifdef HAVE_X11_XLOCALE_H
+#include <X11/Xlocale.h>
+#endif
+
+
+#ifndef XK_MISCELLANY
+ #define XK_MISCELLANY
+#endif
+
+#ifndef XK_LATIN1
+ #define XK_LATIN1
+#endif
+#include <X11/keysymdef.h>
+
+#ifdef HAVE_LANGINFO_H
+#include <langinfo.h>
+#endif
+
+#define X_BORDER_WIDTH 4
+#define X_HASH_TABLE_SIZE 64
+
+#define X_MAX_CLIPBOARD_SIZE (15*1024*1024)
+
+#define XPIXMAPP(a) ((struct x_pixmapa*)(a))
+
+static int x_default_window_width;
+static int x_default_window_height;
+
+static long (*x_get_color_function)(int);
+
+static void selection_request(XEvent *event);
+
+static int x_fd; /* x socket */
+static Display *x_display = NULL; /* display */
+static int x_screen; /* screen */
+static int x_display_height,x_display_width; /* screen dimensions */
+static int x_black_pixel,x_white_pixel; /* white and black pixel */
+static int x_depth,x_bitmap_bpp; /* bits per pixel and bytes per pixel */
+static int x_bitmap_scanline_pad; /* bitmap scanline_padding in bytes */
+static int x_colors; /* colors in the palette (undefined when there's no palette) */
+static int x_have_palette;
+static int x_input_encoding; /* locales encoding */
+static int x_bitmap_bit_order;
+
+
+static Window x_root_window, fake_window;
+static int fake_window_initialized = 0;
+static GC x_normal_gc = 0, x_copy_gc = 0, x_drawbitmap_gc = 0, x_scroll_gc = 0;
+static Colormap x_colormap;
+static Atom x_delete_window_atom, x_wm_protocols_atom, x_sel_atom, x_targets_atom, x_utf8_string_atom;
+static Visual* x_default_visual;
+static Pixmap x_icon = 0;
+
+#ifdef X_INPUT_METHOD
+static XIM xim = NULL;
+#endif
+
+extern struct graphics_driver x_driver;
+
+static unsigned char *x_driver_param=NULL;
+static int n_wins; /* number of windows */
+
+
+#define X_TYPE_PIXMAP 1
+#define X_TYPE_IMAGE 2
+
+struct x_pixmapa
+{
+ unsigned char type;
+ union
+ {
+ XImage *image;
+ Pixmap *pixmap;
+ }data;
+};
+
+
+static struct
+{
+ unsigned char count;
+ struct graphics_device **pointer;
+}
+x_hash_table[X_HASH_TABLE_SIZE];
+
+/* string in clipboard is in UTF-8 */
+static unsigned char * x_my_clipboard=NULL;
+
+struct window_info {
+#ifdef X_INPUT_METHOD
+ XIC xic;
+#endif
+ Window window;
+};
+
+static inline struct window_info *get_window_info(struct graphics_device *gd)
+{
+ return gd->driver_data;
+}
+
+/*----------------------------------------------------------------------*/
+
+/* Tyhle opicarny tu jsou pro zvyseni rychlosti. Flush se nedela pri kazde operaci, ale
+ * rekne se, ze je potreba udelat flush, a zaregistruje se bottom-half, ktery flush
+ * provede. Takze jakmile se vrati rizeni do select smycky, tak se provede flush.
+ */
+
+static void x_wait_for_event(void)
+{
+ fd_set rfds;
+ int rs;
+
+ if (x_fd >= (int)FD_SETSIZE) {
+ error("too big handle %d", x_fd);
+ fatal_tty_exit();
+ exit(RET_FATAL);
+ }
+
+ FD_ZERO(&rfds);
+ FD_SET(x_fd, &rfds);
+ EINTRLOOP(rs, select(x_fd+1, &rfds, NULL, NULL, NULL));
+}
+
+static void x_process_events(void *data);
+
+static unsigned char flush_in_progress=0;
+static unsigned char process_events_in_progress=0;
+
+static inline void X_SCHEDULE_PROCESS_EVENTS(void)
+{
+ if (!process_events_in_progress)
+ {
+ register_bottom_half(x_process_events,NULL);
+ process_events_in_progress = 1;
+ }
+}
+
+static void x_do_flush(void *ignore)
+{
+ /* kdyz budu mit zaregistrovanej bottom-half na tuhle funkci a nekdo mi
+ * tipne Xy, tak se nic nedeje, maximalne se zavola XFlush na blbej
+ * display, ale Xy se nepodelaj */
+
+ flush_in_progress=0;
+ XFlush(x_display);
+ X_SCHEDULE_PROCESS_EVENTS();
+}
+
+static inline void X_FLUSH(void)
+{
+#ifdef INTERIX
+ /*
+ * Interix has some bug, it locks up in _XWaitForWritable.
+ * As a workaround, do synchronous flushes.
+ */
+ x_do_flush(NULL);
+#else
+ if (!flush_in_progress)
+ {
+ register_bottom_half(x_do_flush,NULL);
+ flush_in_progress=1;
+ }
+#endif
+}
+
+static int (*old_error_handler)(Display *, XErrorEvent *) = NULL;
+static int failure_happened;
+
+static int failure_handler(Display *d, XErrorEvent *e)
+{
+ failure_happened = 1;
+ return 0;
+}
+
+static void x_prepare_for_failure(void)
+{
+ if (old_error_handler)
+ internal("x_prepare_for_failure: double call");
+ failure_happened = 0;
+ old_error_handler = XSetErrorHandler(failure_handler);
+}
+
+static int x_test_for_failure(void)
+{
+ XSync(x_display,False);
+ X_SCHEDULE_PROCESS_EVENTS();
+ XSetErrorHandler(old_error_handler);
+ old_error_handler = NULL;
+ return failure_happened;
+}
+
+/* suppose l<h */
+static void x_clip_number(int *n,int l,int h)
+{
+ if ((*n)<l)*n=l;
+ if ((*n)>h)*n=h;
+}
+
+
+static unsigned char * x_set_palette(void)
+{
+ XColor color;
+ int a,r,g,b;
+ int tbl0[4]={0,21845,43690,65535};
+ int tbl1[8]={0,9362,18724,28086,37449,46811,56173,65535};
+
+ x_colormap=XCreateColormap(x_display,x_root_window,x_default_visual,AllocAll);
+ XInstallColormap(x_display,x_colormap);
+
+ switch(x_depth)
+ {
+ case 4:
+ for (a=0;a<16;a++)
+ {
+ color.red=(a&8)?65535:0;
+ color.green=tbl0[(a>>1)&3];
+ color.blue=(a&1)?65535:0;
+ color.pixel=a;
+ color.flags=DoRed|DoGreen|DoBlue;
+ XStoreColor(x_display,x_colormap,&color);
+ }
+ break;
+
+ case 8:
+ for (a=0;a<256;a++)
+ {
+ color.red=tbl1[(a>>5)&7];
+ color.green=tbl1[(a>>2)&7];
+ color.blue=tbl0[a&3];
+ color.pixel=a;
+ color.flags=DoRed|DoGreen|DoBlue;
+ XStoreColor(x_display,x_colormap,&color);
+ }
+ break;
+
+ case 15:
+ for (a=0;a<32768;a++){
+ color.red=((a>>10)&31)*(65535/31);
+ color.green=((a>>5)&31)*(65535/31);
+ color.blue=(a&31)*(65535/31);
+ color.pixel=a;
+ color.flags=DoRed|DoGreen|DoBlue;
+ XStoreColor(x_display,x_colormap,&color);
+ }
+ break;
+ case 16:
+ for (a=0;a<65536;a++){
+ color.red=((a>>11)&31)*(65535/31);
+ color.green=((a>>5)&63)*(65535/63);
+ color.blue=(a&31)*(65535/31);
+ color.pixel=a;
+ color.flags=DoRed|DoGreen|DoBlue;
+ XStoreColor(x_display,x_colormap,&color);
+ }
+ break;
+
+ case 24:
+ for (r=0;r<256;r++)
+ for (g=0;g<256;g++)
+ for (b=0;b<256;b++)
+ {
+ color.red=r<<8;
+ color.green=g<<8;
+ color.blue=b<<8;
+ color.pixel=(r<<16)+(g<<8)+(b);
+ color.flags=DoRed|DoGreen|DoBlue;
+ XStoreColor(x_display,x_colormap,&color);
+ }
+
+ break;
+ }
+
+ X_FLUSH();
+ return NULL;
+}
+
+
+static inline int trans_key(unsigned char * str, int table)
+{
+ if (table==utf8_table){int a; GET_UTF_8(str,a);return a;}
+ if (*str<128)return *str;
+ return cp2u(*str,table);
+}
+
+
+/* translates X keys to links representation */
+/* return value: 1=valid key, 0=nothing */
+static int x_translate_key(struct graphics_device *gd, XKeyEvent *e,int *key,int *flag)
+{
+ KeySym ks = 0;
+ static XComposeStatus comp = { NULL, 0 };
+ static unsigned char str[16];
+#define str_size ((int)(sizeof(str) - 1))
+ int table=x_input_encoding<0?drv->codepage:x_input_encoding;
+ int len;
+
+#ifdef X_INPUT_METHOD
+ if (get_window_info(gd)->xic) {
+ Status status;
+#ifndef HAVE_XUTF8LOOKUPSTRING
+ {
+ wchar_t wc;
+ len = XwcLookupString(get_window_info(gd)->xic, e, &wc, 1, &ks, &status);
+ if (len == 1) {
+ strcpy(str, encode_utf_8(wc));
+ len = strlen(str);
+ } else
+ len = 0;
+ }
+#else
+ {
+ len = Xutf8LookupString(get_window_info(gd)->xic, e, str, str_size, &ks, &status);
+ }
+#endif
+ table = utf8_table;
+ /*fprintf(stderr, "len: %d, ks %ld, status %d\n", len, ks, status);*/
+ } else
+#endif
+
+ {
+ len = XLookupString(e,str,str_size,&ks,&comp);
+ }
+ str[len>str_size?str_size:len]=0;
+ if (!len) str[0]=ks, str[1]=0;
+ *flag=0;
+ *key=0;
+
+ /* alt, control, shift ... */
+ if (e->state&ShiftMask)*flag|=KBD_SHIFT;
+ if (e->state&ControlMask)*flag|=KBD_CTRL;
+ if (e->state&Mod1Mask)*flag|=KBD_ALT;
+
+ /* alt-f4 */
+ if (((*flag)&KBD_ALT)&&(ks==XK_F4)){*key=KBD_CTRL_C;*flag=0;return 1;}
+
+ /* ctrl-c */
+ if (((*flag)&KBD_CTRL)&&(ks==XK_c||ks==XK_C)){*key=KBD_CTRL_C;*flag=0;return 1;}
+
+ switch (ks)
+ {
+ case NoSymbol: return 0;
+ case XK_Return: *key=KBD_ENTER;break;
+ case XK_BackSpace: *key=KBD_BS;break;
+#ifdef XK_KP_Tab
+ case XK_KP_Tab:
+#endif
+ case XK_Tab: *key=KBD_TAB;break;
+ case XK_Escape: *key=KBD_ESC;break;
+#ifdef XK_KP_Left
+ case XK_KP_Left:
+#endif
+ case XK_Left: *key=KBD_LEFT;break;
+#ifdef XK_KP_Right
+ case XK_KP_Right:
+#endif
+ case XK_Right: *key=KBD_RIGHT;break;
+#ifdef XK_KP_Up
+ case XK_KP_Up:
+#endif
+ case XK_Up: *key=KBD_UP;break;
+#ifdef XK_KP_Down
+ case XK_KP_Down:
+#endif
+ case XK_Down: *key=KBD_DOWN;break;
+#ifdef XK_KP_Insert
+ case XK_KP_Insert:
+#endif
+ case XK_Insert: *key=KBD_INS;break;
+#ifdef XK_KP_Delete
+ case XK_KP_Delete:
+#endif
+ case XK_Delete: *key=KBD_DEL;break;
+#ifdef XK_KP_Home
+ case XK_KP_Home:
+#endif
+ case XK_Home: *key=KBD_HOME;break;
+#ifdef XK_KP_End
+ case XK_KP_End:
+#endif
+ case XK_End: *key=KBD_END;break;
+#ifdef XK_KP_Page_Up
+ case XK_KP_Page_Up:
+#endif
+#ifdef XK_Page_Up
+ case XK_Page_Up:
+#endif
+ *key=KBD_PAGE_UP;break;
+#ifdef XK_KP_Page_Down
+ case XK_KP_Page_Down:
+#endif
+#ifdef XK_Page_Down
+ case XK_Page_Down:
+#endif
+ *key=KBD_PAGE_DOWN;break;
+#ifdef XK_KP_F1
+ case XK_KP_F1:
+#endif
+ case XK_F1: *key=KBD_F1;break;
+#ifdef XK_KP_F2
+ case XK_KP_F2:
+#endif
+ case XK_F2: *key=KBD_F2;break;
+#ifdef XK_KP_F3
+ case XK_KP_F3:
+#endif
+ case XK_F3: *key=KBD_F3;break;
+#ifdef XK_KP_F4
+ case XK_KP_F4:
+#endif
+ case XK_F4: *key=KBD_F4;break;
+ case XK_F5: *key=KBD_F5;break;
+ case XK_F6: *key=KBD_F6;break;
+ case XK_F7: *key=KBD_F7;break;
+ case XK_F8: *key=KBD_F8;break;
+ case XK_F9: *key=KBD_F9;break;
+ case XK_F10: *key=KBD_F10;break;
+ case XK_F11: *key=KBD_F11;break;
+ case XK_F12: *key=KBD_F12;break;
+ case XK_KP_Subtract: *key='-';break;
+ case XK_KP_Decimal: *key='.';break;
+ case XK_KP_Divide: *key='/';break;
+ case XK_KP_Space: *key=' ';break;
+ case XK_KP_Enter: *key=KBD_ENTER;break;
+ case XK_KP_Equal: *key='=';break;
+ case XK_KP_Multiply: *key='*';break;
+ case XK_KP_Add: *key='+';break;
+ case XK_KP_0: *key='0';break;
+ case XK_KP_1: *key='1';break;
+ case XK_KP_2: *key='2';break;
+ case XK_KP_3: *key='3';break;
+ case XK_KP_4: *key='4';break;
+ case XK_KP_5: *key='5';break;
+ case XK_KP_6: *key='6';break;
+ case XK_KP_7: *key='7';break;
+ case XK_KP_8: *key='8';break;
+ case XK_KP_9: *key='9';break;
+
+ default:
+ if (ks&0x8000)return 0;
+ *key=((*flag)&KBD_CTRL)?(int)ks&255:trans_key(str,table);
+ break;
+ /*
+ default: *key=((*flag)&KBD_CTRL)?(int)ks&255:trans_key(str,table);(*flag)&=~KBD_SHIFT;break;
+ */
+ }
+ return 1;
+}
+
+static void x_hash_table_init(void)
+{
+ int a;
+
+ for (a=0;a<X_HASH_TABLE_SIZE;a++)
+ {
+ x_hash_table[a].count=0;
+ x_hash_table[a].pointer=NULL;
+ }
+}
+
+static void x_clear_clipboard(void);
+
+static void x_free_hash_table(void)
+{
+ int a,b;
+
+ unregister_bottom_half(x_process_events,NULL);
+ unregister_bottom_half(x_do_flush,NULL);
+
+ for (a=0;a<X_HASH_TABLE_SIZE;a++)
+ {
+ for (b=0;b<x_hash_table[a].count;b++)
+ mem_free(x_hash_table[a].pointer[b]);
+ if (x_hash_table[a].pointer)
+ mem_free(x_hash_table[a].pointer);
+ }
+
+ x_clear_clipboard();
+
+ if (x_display) {
+ if (x_icon) XFreePixmap(x_display, x_icon), x_icon = 0;
+ if (fake_window_initialized) XDestroyWindow(x_display,fake_window), fake_window_initialized = 0;
+ if (x_normal_gc) XFreeGC(x_display,x_normal_gc), x_normal_gc = 0;
+ if (x_copy_gc) XFreeGC(x_display,x_copy_gc), x_copy_gc = 0;
+ if (x_drawbitmap_gc) XFreeGC(x_display,x_drawbitmap_gc), x_drawbitmap_gc = 0;
+ if (x_scroll_gc) XFreeGC(x_display,x_scroll_gc), x_scroll_gc = 0;
+#ifdef X_INPUT_METHOD
+ if (xim) XCloseIM(xim), xim = NULL;
+#endif
+ XCloseDisplay(x_display), x_display = NULL;
+ }
+
+ if (x_driver_param) mem_free(x_driver_param), x_driver_param = NULL;
+}
+
+
+
+/* returns graphics device structure which belonging to the window */
+static struct graphics_device *x_find_gd(Window *win)
+{
+ int a,b;
+
+ a=(*win)&(X_HASH_TABLE_SIZE-1);
+ if (!x_hash_table[a].count)return 0;
+ for (b=0;b<x_hash_table[a].count;b++)
+ {
+ if (get_window_info(x_hash_table[a].pointer[b])->window == *win)
+ return x_hash_table[a].pointer[b];
+ }
+ return NULL;
+}
+
+static void x_update_driver_param(int w, int h)
+{
+ int l=0;
+
+ if (n_wins!=1)return;
+
+ x_default_window_width=w;
+ x_default_window_height=h;
+
+ if (x_driver_param)mem_free(x_driver_param);
+ x_driver_param=init_str();
+ add_num_to_str(&x_driver_param,&l,x_default_window_width);
+ add_to_str(&x_driver_param,&l,"x");
+ add_num_to_str(&x_driver_param,&l,x_default_window_height);
+}
+
+
+
+/* adds graphics device to hash table */
+static void x_add_to_table(struct graphics_device* gd)
+{
+ int a=get_window_info(gd)->window & (X_HASH_TABLE_SIZE-1);
+ int c=x_hash_table[a].count;
+
+ if (!c) {
+ x_hash_table[a].pointer=mem_alloc(sizeof(struct graphics_device *));
+ } else {
+ if ((unsigned)c > MAXINT / sizeof(struct graphics_device *) - 1) overalloc();
+ x_hash_table[a].pointer=mem_realloc(x_hash_table[a].pointer,(c+1)*sizeof(struct graphics_device *));
+ }
+
+ x_hash_table[a].pointer[c]=gd;
+ x_hash_table[a].count++;
+}
+
+
+/* removes graphics device from table */
+static void x_remove_from_table(Window *win)
+{
+ int a=(*win)&(X_HASH_TABLE_SIZE-1);
+ int b;
+
+ for (b=0;b<x_hash_table[a].count;b++)
+ if (get_window_info(x_hash_table[a].pointer[b])->window == *win)
+ {
+ memmove(x_hash_table[a].pointer+b,x_hash_table[a].pointer+b+1,(x_hash_table[a].count-b-1)*sizeof(struct graphics_device *));
+ x_hash_table[a].count--;
+ x_hash_table[a].pointer=mem_realloc(x_hash_table[a].pointer,x_hash_table[a].count*sizeof(struct graphics_device*));
+ }
+}
+
+
+static void x_clear_clipboard(void)
+{
+ if(x_my_clipboard)
+ {
+ mem_free(x_my_clipboard);
+ x_my_clipboard=NULL;
+ }
+}
+
+
+static void x_process_events(void *data)
+{
+ XEvent event;
+ XEvent last_event;
+ struct graphics_device *gd;
+ int last_was_mouse;
+ int replay_event = 0;
+
+ process_events_in_progress = 0;
+
+#ifdef SC_DEBUG
+ MESSAGE("x_process_event\n");
+#endif
+ memset(&last_event, 0, sizeof last_event); /* against warning */
+ last_was_mouse=0;
+ while (XPending(x_display) || replay_event)
+ {
+ if (replay_event) replay_event = 0;
+ else XNextEvent(x_display,&event);
+ if (last_was_mouse&&(event.type==ButtonPress||event.type==ButtonRelease)) /* this is end of mouse move block --- call mouse handler */
+ {
+ int a,b;
+
+ last_was_mouse=0;
+#ifdef X_DEBUG
+ MESSAGE("(MotionNotify event)\n");
+ {
+ unsigned char txt[256];
+ sprintf(txt,"x=%d y=%d\n",last_event.xmotion.x,last_event.xmotion.y);
+ MESSAGE(txt);
+ }
+#endif
+ gd=x_find_gd(&(last_event.xmotion.window));
+ if (!gd)break;
+ a=B_LEFT;
+ b=B_MOVE;
+ if ((last_event.xmotion.state)&Button1Mask)
+ {
+ a=B_LEFT;
+ b=B_DRAG;
+#ifdef X_DEBUG
+ MESSAGE("left button/drag\n");
+#endif
+ }
+ if ((last_event.xmotion.state)&Button2Mask)
+ {
+ a=B_MIDDLE;
+ b=B_DRAG;
+#ifdef X_DEBUG
+ MESSAGE("middle button/drag\n");
+#endif
+ }
+ if ((last_event.xmotion.state)&Button3Mask)
+ {
+ a=B_RIGHT;
+ b=B_DRAG;
+#ifdef X_DEBUG
+ MESSAGE("right button/drag\n");
+#endif
+ }
+ x_clip_number(&(last_event.xmotion.x),gd->size.x1,gd->size.x2);
+ x_clip_number(&(last_event.xmotion.y),gd->size.y1,gd->size.y2);
+ gd->mouse_handler(gd,last_event.xmotion.x,last_event.xmotion.y,a|b);
+ }
+
+ switch(event.type)
+ {
+ case GraphicsExpose: /* redraw uncovered area during scroll */
+ {
+ struct rect r;
+
+#ifdef X_DEBUG
+ MESSAGE("(GraphicsExpose event)\n");
+#endif
+ gd=x_find_gd(&(event.xgraphicsexpose.drawable));
+ if (!gd)break;
+ r.x1=event.xgraphicsexpose.x;
+ r.y1=event.xgraphicsexpose.y;
+ r.x2=event.xgraphicsexpose.x+event.xgraphicsexpose.width;
+ r.y2=event.xgraphicsexpose.y+event.xgraphicsexpose.height;
+ gd->redraw_handler(gd,&r);
+ }
+ break;
+
+ case Expose: /* redraw part of the window */
+ {
+ struct rect r;
+
+#ifdef X_DEBUG
+ MESSAGE("(Expose event)\n");
+#endif
+
+ gd=x_find_gd(&(event.xexpose.window));
+ if (!gd)break;
+ r.x1=event.xexpose.x;
+ r.y1=event.xexpose.y;
+ r.x2=event.xexpose.x+event.xexpose.width;
+ r.y2=event.xexpose.y+event.xexpose.height;
+ gd->redraw_handler(gd,&r);
+ }
+ break;
+
+ case ConfigureNotify: /* resize window */
+#ifdef X_DEBUG
+ MESSAGE("(ConfigureNotify event)\n");
+ {
+ unsigned char txt[256];
+ sprintf(txt,"width=%d height=%d\n",event.xconfigure.width,event.xconfigure.height);
+ MESSAGE(txt);
+ }
+#endif
+ gd=x_find_gd(&(event.xconfigure.window));
+ if (!gd)break;
+ /* when window only moved and size is the same, do nothing */
+ if (gd->size.x2==event.xconfigure.width&&gd->size.y2==event.xconfigure.height)break;
+ configure_notify_again:
+ gd->size.x2=event.xconfigure.width;
+ gd->size.y2=event.xconfigure.height;
+ x_update_driver_param(event.xconfigure.width, event.xconfigure.height);
+ while (XCheckWindowEvent(x_display,get_window_info(gd)->window,ExposureMask,&event)==True)
+ ;
+ if (XCheckWindowEvent(x_display,get_window_info(gd)->window,StructureNotifyMask,&event)==True) {
+ if (event.type==ConfigureNotify) goto configure_notify_again;
+ replay_event=1;
+ }
+ gd->resize_handler(gd);
+ break;
+
+ case KeyPress: /* a key was pressed */
+ {
+ int f,k;
+#ifdef X_DEBUG
+ MESSAGE("(KeyPress event)\n");
+ {
+ unsigned char txt[256];
+ sprintf(txt,"keycode=%d state=%d\n",event.xkey.keycode,event.xkey.state);
+ MESSAGE(txt);
+ }
+#endif
+#ifdef X_INPUT_METHOD
+ if (XFilterEvent(&event, None))
+ break;
+#endif
+ gd=x_find_gd(&(event.xkey.window));
+ if (!gd)break;
+ if (x_translate_key(gd, (XKeyEvent*)(&event),&k,&f))
+ gd->keyboard_handler(gd,k,f);
+ }
+ break;
+
+ case ClientMessage:
+ if (
+ event.xclient.format!=32||
+ event.xclient.message_type!=x_wm_protocols_atom||
+ (Atom)event.xclient.data.l[0]!=x_delete_window_atom
+ )break;
+
+ /* This event is destroy window event from window manager */
+
+ case DestroyNotify:
+#ifdef X_DEBUG
+ MESSAGE("(DestroyNotify event)\n");
+#endif
+ gd=x_find_gd(&(event.xkey.window));
+ if (!gd)break;
+
+ gd->keyboard_handler(gd,KBD_CLOSE,0);
+ break;
+
+ case ButtonRelease: /* mouse button was released */
+ {
+ int a;
+#ifdef X_DEBUG
+ MESSAGE("(ButtonRelease event)\n");
+ {
+ unsigned char txt[256];
+ sprintf(txt,"x=%d y=%d buttons=%d mask=%d\n",event.xbutton.x,event.xbutton.y,event.xbutton.button,event.xbutton.state);
+ MESSAGE(txt);
+ }
+#endif
+ gd=x_find_gd(&(event.xbutton.window));
+ if (!gd)break;
+ last_was_mouse=0;
+ switch(event.xbutton.button)
+ {
+ case 1:
+ a=B_LEFT;
+ break;
+
+ case 3:
+ a=B_RIGHT;
+ break;
+
+ case 2:
+ a=B_MIDDLE;
+ break;
+
+ case 8:
+ a=B_FOURTH;
+ break;
+
+ case 9:
+ a=B_FIFTH;
+ break;
+
+ default:
+ goto r_xx;
+
+ }
+ x_clip_number(&(event.xmotion.x),gd->size.x1,gd->size.x2);
+ x_clip_number(&(event.xmotion.y),gd->size.y1,gd->size.y2);
+ gd->mouse_handler(gd,event.xbutton.x,event.xbutton.y,a|B_UP);
+ r_xx:;
+ }
+ break;
+
+ case ButtonPress: /* mouse button was pressed */
+ {
+ int a;
+#ifdef X_DEBUG
+ MESSAGE("(ButtonPress event)\n");
+ {
+ unsigned char txt[256];
+ sprintf(txt,"x=%d y=%d buttons=%d mask=%d\n",event.xbutton.x,event.xbutton.y,event.xbutton.button,event.xbutton.state);
+ MESSAGE(txt);
+ }
+#endif
+ gd=x_find_gd(&(event.xbutton.window));
+ if (!gd)break;
+ last_was_mouse=0;
+ switch(event.xbutton.button)
+ {
+ case 1:
+ a=B_LEFT;
+ break;
+
+ case 3:
+ a=B_RIGHT;
+ break;
+
+ case 2:
+ a=B_MIDDLE;
+ break;
+
+ case 4:
+ a=B_WHEELUP;
+ break;
+
+ case 5:
+ a=B_WHEELDOWN;
+ break;
+
+ case 6:
+ a=B_WHEELLEFT;
+ break;
+
+ case 7:
+ a=B_WHEELRIGHT;
+ break;
+
+ case 8:
+ a=B_FOURTH;
+ break;
+
+ case 9:
+ a=B_FIFTH;
+ break;
+
+ default:
+ goto p_xx;
+ }
+ x_clip_number(&(event.xmotion.x),gd->size.x1,gd->size.x2);
+ x_clip_number(&(event.xmotion.y),gd->size.y1,gd->size.y2);
+ gd->mouse_handler(gd,event.xbutton.x,event.xbutton.y,a|(a != B_WHEELDOWN && a != B_WHEELUP && a != B_WHEELLEFT && a != B_WHEELRIGHT ? B_DOWN : B_MOVE));
+ p_xx:;
+ }
+ break;
+
+ case MotionNotify: /* pointer moved */
+ {
+#ifdef X_DEBUG
+ MESSAGE("(MotionNotify event)\n");
+ {
+ unsigned char txt[256];
+ sprintf(txt,"x=%d y=%d\n",event.xmotion.x,event.xmotion.y);
+ MESSAGE(txt);
+ }
+#endif
+ /* just sign, that this was mouse event */
+ last_was_mouse=1;
+ last_event=event;
+ }
+ break;
+
+ /* read clipboard */
+ case SelectionNotify:
+#ifdef X_DEBUG
+ MESSAGE("xselectionnotify\n");
+#endif
+ /* handled in x_get_clipboard_text */
+ break;
+
+/* This long code must be here in order to implement copying of stuff into the clipboard */
+ case SelectionRequest:
+ {
+ selection_request(&event);
+ }
+ break;
+
+ case MapNotify:
+ XFlush (x_display);
+ break;
+
+ default:
+#ifdef X_DEBUG
+ {
+ unsigned char txt[256];
+ sprintf(txt,"event=%d\n",event.type);
+ MESSAGE(txt);
+ }
+#endif
+ break;
+ }
+ }
+
+ if (last_was_mouse) /* that was end of mouse move block --- call mouse handler */
+ {
+ int a,b;
+
+ last_was_mouse=0;
+#ifdef X_DEBUG
+ MESSAGE("(MotionNotify event)\n");
+ /*
+ {
+ unsigned char txt[256];
+ sprintf(txt,"x=%d y=%d\n",last_event.xmotion.x,last_event.xmotion.y);
+ MESSAGE(txt);
+ }
+ */
+#endif
+ gd=x_find_gd(&(last_event.xmotion.window));
+ if (!gd)goto ret;
+ a=B_LEFT;
+ b=B_MOVE;
+ if ((last_event.xmotion.state)&Button1Mask)
+ {
+ a=B_LEFT;
+ b=B_DRAG;
+#ifdef X_DEBUG
+ MESSAGE("left button/drag\n");
+#endif
+ }
+ if ((last_event.xmotion.state)&Button2Mask)
+ {
+ a=B_MIDDLE;
+ b=B_DRAG;
+#ifdef X_DEBUG
+ MESSAGE("middle button/drag\n");
+#endif
+ }
+ if ((last_event.xmotion.state)&Button3Mask)
+ {
+ a=B_RIGHT;
+ b=B_DRAG;
+#ifdef X_DEBUG
+ MESSAGE("right button/drag\n");
+#endif
+ }
+ x_clip_number(&(last_event.xmotion.x),gd->size.x1,gd->size.x2);
+ x_clip_number(&(last_event.xmotion.y),gd->size.y1,gd->size.y2);
+ gd->mouse_handler(gd,last_event.xmotion.x,last_event.xmotion.y,a|b);
+ }
+ ret:;
+#ifdef SC_DEBUG
+ MESSAGE("x_process_event end\n");
+#endif
+}
+
+
+/* returns pointer to string with driver parameter or NULL */
+static unsigned char * x_get_driver_param(void)
+{
+ return x_driver_param;
+}
+
+#ifdef X_INPUT_METHOD
+static XIC x_open_xic(Window w);
+#endif
+
+/* initiate connection with X server */
+static unsigned char * x_init_driver(unsigned char *param, unsigned char *display)
+{
+ XGCValues gcv;
+ XSetWindowAttributes win_attr;
+ XVisualInfo vinfo;
+ int misordered=-1;
+
+ x_hash_table_init();
+
+ n_wins=0;
+
+#if defined(HAVE_SETLOCALE) && defined(LC_CTYPE)
+ setlocale(LC_CTYPE, "");
+#endif
+#ifdef X_DEBUG
+ {
+ unsigned char txt[256];
+ sprintf(txt,"x_init_driver(%s, %s)\n",param, display);
+ MESSAGE(txt);
+ }
+#endif
+ x_input_encoding=-1;
+#if defined(HAVE_NL_LANGINFO) && defined(HAVE_LANGINFO_H) && defined(CODESET) && !defined(WIN32) && !defined(INTERIX)
+ {
+ unsigned char *cp;
+ cp=nl_langinfo(CODESET);
+ x_input_encoding=get_cp_index(cp);
+ }
+#endif
+ if (!display||!(*display))display=NULL;
+
+/*
+ X documentation says on XOpenDisplay(display_name) :
+
+ display_name
+ Specifies the hardware display name, which determines the dis-
+ play and communications domain to be used. On a POSIX-confor-
+ mant system, if the display_name is NULL, it defaults to the
+ value of the DISPLAY environment variable.
+
+ But OS/2 has problems when display_name is NULL ...
+
+*/
+ if (!display)display=getenv("DISPLAY");
+#ifndef __linux__
+ /* on Linux, do not assume XWINDOW present if $DISPLAY is not set
+ --- rather open links on svgalib or framebuffer console */
+ if (!display)display=":0.0"; /* needed for MacOS X */
+#endif
+
+ x_display=XOpenDisplay(display);
+ if (!x_display)
+ {
+ unsigned char *err=init_str();
+ int l=0;
+
+ add_to_str(&err,&l,"Can't open display \"");
+ add_to_str(&err,&l,display?display:(unsigned char *)"(null)");
+ add_to_str(&err,&l,"\"\n");
+ x_free_hash_table();
+ return err;
+ }
+
+ x_bitmap_bit_order=BitmapBitOrder(x_display);
+ x_fd=XConnectionNumber(x_display);
+ x_screen=DefaultScreen(x_display);
+ x_display_height=DisplayHeight(x_display,x_screen);
+ x_display_width=DisplayWidth(x_display,x_screen);
+ x_root_window=RootWindow(x_display,x_screen);
+
+ x_default_window_width=x_display_width-50;
+ x_default_window_height=x_display_height-50;
+
+ x_driver_param=NULL;
+
+ if (param)
+ {
+ unsigned char *p, *e, *f;
+ int w,h;
+
+ x_driver_param=stracpy(param);
+
+ for (p=x_driver_param;(*p)&&(*p)!='x'&&(*p)!='X';p++)
+ ;
+ if (!(*p))goto done;
+ *p=0;
+ w=strtoul(x_driver_param,(char **)(void *)&e,10);
+ h=strtoul(p+1,(char **)(void *)&f,10);
+ if (!(*e)&&!(*f)&&w&&h){x_default_window_width=w;x_default_window_height=h;}
+ *p='x';
+ done:;
+ }
+
+ /* find best visual */
+ {
+#define DEPTHS 5
+#define CLASSES 2
+ int depths[DEPTHS]={24, 16, 15, 8, 4};
+ int classes[CLASSES]={TrueColor, PseudoColor}; /* FIXME: dodelat DirectColor */
+ int a,b;
+
+ for (a=0;a<DEPTHS;a++)
+ for (b=0;b<CLASSES;b++)
+ {
+ if (XMatchVisualInfo(x_display, x_screen,depths[a],classes[b], &vinfo))
+ {
+ x_default_visual=vinfo.visual;
+ x_depth=vinfo.depth;
+
+ /* determine bytes per pixel */
+ {
+ XPixmapFormatValues *pfm;
+ int n,i;
+
+ pfm=XListPixmapFormats(x_display,&n);
+ for (i=0;i<n;i++)
+ if (pfm[i].depth==x_depth)
+ {
+ x_bitmap_bpp=pfm[i].bits_per_pixel<8?1:((pfm[i].bits_per_pixel)>>3);
+ x_bitmap_scanline_pad=(pfm[i].scanline_pad)>>3;
+ XFree(pfm);
+ goto bytes_per_pixel_found;
+ }
+ if(n) XFree(pfm);
+ continue;
+ }
+bytes_per_pixel_found:
+
+ /* test misordered flag */
+ switch(x_depth)
+ {
+ case 4:
+ case 8:
+ if (x_bitmap_bpp!=1)break;
+ if (vinfo.red_mask>=vinfo.green_mask&&vinfo.green_mask>=vinfo.blue_mask)
+ {
+ misordered=0;
+ goto visual_found;
+ }
+ break;
+
+ case 15:
+ case 16:
+ if (x_bitmap_bpp!=2)break;
+ if (x_bitmap_bit_order==MSBFirst&&vinfo.red_mask>vinfo.green_mask&&vinfo.green_mask>vinfo.blue_mask)
+ {
+ misordered=256;
+ goto visual_found;
+ }
+ if (x_bitmap_bit_order==MSBFirst)break;
+ if (vinfo.red_mask>vinfo.green_mask&&vinfo.green_mask>vinfo.blue_mask)
+ {
+ misordered=0;
+ goto visual_found;
+ }
+ break;
+
+ case 24:
+ if (x_bitmap_bpp!=3&&x_bitmap_bpp!=4) break;
+ if (vinfo.red_mask<vinfo.green_mask&&vinfo.green_mask<vinfo.blue_mask)
+ {
+ misordered=256;
+ goto visual_found;
+ }
+ if (x_bitmap_bit_order==MSBFirst&&vinfo.red_mask>vinfo.green_mask&&vinfo.green_mask>vinfo.blue_mask)
+ {
+ misordered=512;
+ goto visual_found;
+ }
+ if (vinfo.red_mask>vinfo.green_mask&&vinfo.green_mask>vinfo.blue_mask)
+ {
+ misordered=0;
+ goto visual_found;
+ }
+ break;
+ }
+ }
+ }
+
+ x_free_hash_table();
+ return stracpy("No supported color depth found.\n");
+visual_found:;
+ }
+
+ x_driver.depth=0;
+ x_driver.depth|=x_bitmap_bpp;
+ x_driver.depth|=x_depth<<3;
+ x_driver.depth|=misordered;
+
+ /* check if depth is sane */
+ if (x_driver.depth == 707) x_driver.depth = 195;
+ switch (x_driver.depth)
+ {
+ case 33:
+ case 65:
+ case 122:
+ case 130:
+ case 451:
+ case 195:
+ case 196:
+ case 378:
+ case 386:
+ case 452:
+ case 708:
+/* printf("depth=%d visualid=%x\n",x_driver.depth, vinfo.visualid); */
+ break;
+
+ default:
+ {
+ unsigned char nevidim_te_ani_te_neslysim_ale_smrdis_jako_lejno[MAX_STR_LEN];
+
+ snprintf(nevidim_te_ani_te_neslysim_ale_smrdis_jako_lejno,MAX_STR_LEN,
+ "Unsupported graphics mode: x_depth=%d, bits_per_pixel=%d, bytes_per_pixel=%d\n",x_driver.depth, x_depth, x_bitmap_bpp);
+ x_free_hash_table();
+ return stracpy(nevidim_te_ani_te_neslysim_ale_smrdis_jako_lejno);
+ }
+
+ }
+
+ x_get_color_function=get_color_fn(x_driver.depth);
+ if (!x_get_color_function) internal("Unknown bit depth: %d", x_driver.depth);
+
+#ifdef X_DEBUG
+ {
+ unsigned char txt[256];
+ sprintf(txt,"x_driver.depth=%d\n",x_driver.depth);
+ MESSAGE(txt);
+ }
+#endif
+
+ x_colors=1<<x_depth;
+ x_have_palette=0;
+ if (vinfo.class==DirectColor||vinfo.class==PseudoColor)
+ {
+ unsigned char *t;
+
+ x_have_palette=1;
+ if((t=x_set_palette())){x_free_hash_table(); return t;}
+ }
+
+ x_black_pixel=BlackPixel(x_display,x_screen);
+ x_white_pixel=WhitePixel(x_display,x_screen);
+
+ gcv.function=GXcopy;
+ gcv.graphics_exposures=True; /* we want to receive GraphicsExpose events when uninitialized area is discovered during scroll */
+ gcv.fill_style=FillSolid;
+ gcv.background=x_black_pixel;
+
+ set_handlers(x_fd,x_process_events,0,0,0);
+
+ x_delete_window_atom = XInternAtom(x_display,"WM_DELETE_WINDOW", False);
+ x_wm_protocols_atom = XInternAtom(x_display,"WM_PROTOCOLS", False);
+ x_sel_atom = XInternAtom(x_display, "SEL_PROP", False);
+ x_targets_atom = XInternAtom(x_display, "TARGETS", False);
+ x_utf8_string_atom = XInternAtom(x_display, "UTF8_STRING", False);
+
+ if (x_have_palette) win_attr.colormap=x_colormap;
+ else win_attr.colormap=XCreateColormap(x_display, x_root_window, x_default_visual, AllocNone);
+
+ win_attr.border_pixel=x_black_pixel;
+
+ fake_window=XCreateWindow(
+ x_display,
+ x_root_window,
+ 0,
+ 0,
+ 10,
+ 10,
+ 0,
+ x_depth,
+ CopyFromParent,
+ x_default_visual,
+ CWColormap|CWBorderPixel,
+ &win_attr
+ );
+
+ fake_window_initialized = 1;
+
+ x_normal_gc=XCreateGC(x_display,fake_window,GCFillStyle|GCBackground,&gcv);
+ if (!x_normal_gc) {x_free_hash_table(); return stracpy("Cannot create graphic context.\n");}
+
+ x_copy_gc=XCreateGC(x_display,fake_window,GCFunction,&gcv);
+ if (!x_copy_gc) {x_free_hash_table(); return stracpy("Cannot create graphic context.\n");}
+
+ x_drawbitmap_gc=XCreateGC(x_display,fake_window,GCFunction,&gcv);
+ if (!x_drawbitmap_gc) {x_free_hash_table(); return stracpy("Cannot create graphic context.\n");}
+
+ x_scroll_gc=XCreateGC(x_display,fake_window,GCGraphicsExposures|GCBackground,&gcv);
+ if (!x_scroll_gc) {x_free_hash_table(); return stracpy("Cannot create graphic context.\n");}
+
+ XSetLineAttributes(x_display,x_normal_gc,1,LineSolid,CapRound,JoinRound);
+
+#ifdef X_INPUT_METHOD
+ {
+#if defined(HAVE_SETLOCALE) && defined(LC_CTYPE)
+ /*
+ * Unfortunatelly, dead keys are translated according to
+ * current locale, even if we use Xutf8LookupString.
+ * So, try to set locale to utf8 for the input method.
+ */
+ unsigned char *l, *m, *d;
+ l = setlocale(LC_CTYPE, "");
+ if (l) {
+ m = stracpy(l);
+ d = strchr(m, '.');
+ if (d) *d = 0;
+ add_to_strn(&m, ".UTF-8");
+ l = setlocale(LC_CTYPE, m);
+ mem_free(m);
+ }
+ if (!l) {
+ l = setlocale(LC_CTYPE, "en_US.UTF-8");
+ }
+#endif
+ xim = XOpenIM(x_display, NULL, NULL, NULL);
+ if (xim) {
+ XIC xic = x_open_xic(fake_window);
+ if (xic) {
+ XDestroyIC(xic);
+ } else {
+ XCloseIM(xim), xim = NULL;
+ }
+ }
+#if defined(HAVE_SETLOCALE) && defined(LC_CTYPE)
+ setlocale(LC_CTYPE, "");
+#endif
+ }
+#endif
+
+ if (x_input_encoding<0
+#ifdef X_INPUT_METHOD
+ && !xim
+#endif
+ ) x_driver.flags|=GD_NEED_CODEPAGE;
+
+ XSync(x_display,False);
+ X_SCHEDULE_PROCESS_EVENTS();
+ return NULL;
+}
+
+
+/* close connection with the X server */
+static void x_shutdown_driver(void)
+{
+#ifdef X_DEBUG
+ MESSAGE("x_shutdown_driver\n");
+#endif
+ x_free_hash_table();
+}
+
+#ifdef X_INPUT_METHOD
+static XIC x_open_xic(Window w)
+{
+ return XCreateIC(xim, XNInputStyle, XIMPreeditNothing | XIMStatusNothing, XNClientWindow, w, XNFocusWindow, w, NULL);
+}
+#endif
+
+/* create new window */
+static struct graphics_device* x_init_device(void)
+{
+ struct graphics_device *gd;
+ XWMHints wm_hints;
+ XClassHint class_hints;
+ XTextProperty windowName;
+ unsigned char *links_name="Links";
+ XSetWindowAttributes win_attr;
+ struct window_info *wi;
+
+#ifdef X_DEBUG
+ MESSAGE("x_init_device\n");
+#endif
+ gd=mem_alloc(sizeof(struct graphics_device));
+
+ wi=mem_calloc(sizeof(struct window_info));
+
+ gd->size.x1=0;
+ gd->size.y1=0;
+ gd->size.x2=x_default_window_width;
+ gd->size.y2=x_default_window_height;
+
+ if (x_have_palette) win_attr.colormap=x_colormap;
+ else win_attr.colormap=XCreateColormap(x_display, x_root_window, x_default_visual, AllocNone);
+ win_attr.border_pixel=x_black_pixel;
+
+ wi->window=XCreateWindow(
+ x_display,
+ x_root_window,
+ gd->size.x1,
+ gd->size.y1,
+ gd->size.x2,
+ gd->size.y2,
+ X_BORDER_WIDTH,
+ x_depth,
+ InputOutput,
+ x_default_visual,
+ CWColormap|CWBorderPixel,
+ &win_attr
+ );
+ if (!x_icon)
+ {
+ XImage *img;
+ unsigned char *data;
+ int w,h;
+ get_links_icon(&data,&w,&h,x_driver.depth);
+
+ img=XCreateImage(x_display,x_default_visual,x_depth,ZPixmap,0,0,w,h,x_bitmap_scanline_pad<<3,w*((x_driver.depth)&7));
+ if (!img){x_icon=0;goto nic_nebude_bobankove;}
+ img->data=data;
+ x_icon=XCreatePixmap(x_display,wi->window,w,h,x_depth);
+ if (!x_icon){XDestroyImage(img);x_icon=0;goto nic_nebude_bobankove;}
+
+ XPutImage(x_display,x_icon,x_copy_gc,img,0,0,0,0,w,h);
+ XDestroyImage(img);
+nic_nebude_bobankove:;
+ }
+
+ wm_hints.flags=InputHint;
+ wm_hints.input=True;
+ if (x_icon)
+ {
+ wm_hints.flags=InputHint|IconPixmapHint;
+ wm_hints.icon_pixmap=x_icon;
+ }
+
+ XSetWMHints(x_display, wi->window, &wm_hints);
+ class_hints.res_name = links_name;
+ class_hints.res_class = links_name;
+ XSetClassHint(x_display, wi->window, &class_hints);
+ XStringListToTextProperty((char **)(void *)&links_name, 1, &windowName);
+ XSetWMName(x_display, wi->window, &windowName);
+ XStoreName(x_display,wi->window,links_name);
+ XSetWMIconName(x_display, wi->window, &windowName);
+
+ XMapWindow(x_display,wi->window);
+
+ gd->clip.x1=gd->size.x1;
+ gd->clip.y1=gd->size.y1;
+ gd->clip.x2=gd->size.x2;
+ gd->clip.y2=gd->size.y2;
+ gd->driver_data=wi;
+ gd->user_data=0;
+
+ XSetWindowBackgroundPixmap(x_display, wi->window, None);
+ if (x_have_palette) XSetWindowColormap(x_display,wi->window,x_colormap);
+ x_add_to_table(gd);
+
+ XSetWMProtocols(x_display,wi->window,&x_delete_window_atom,1);
+
+ XSelectInput(x_display,wi->window,
+ ExposureMask|
+ KeyPressMask|
+ ButtonPressMask|
+ ButtonReleaseMask|
+ PointerMotionMask|
+ ButtonMotionMask|
+ StructureNotifyMask|
+ 0
+ );
+
+#ifdef X_INPUT_METHOD
+ if (xim) {
+ wi->xic = x_open_xic(wi->window);
+ }
+#endif
+
+ XSync(x_display,False);
+ X_SCHEDULE_PROCESS_EVENTS();
+ n_wins++;
+ return gd;
+}
+
+
+/* close window */
+static void x_shutdown_device(struct graphics_device *gd)
+{
+ struct window_info *wi = get_window_info(gd);
+#ifdef X_DEBUG
+ MESSAGE("x_shutdown_device\n");
+#endif
+ if (!gd)return;
+
+ n_wins--;
+ XDestroyWindow(x_display,wi->window);
+#ifdef X_INPUT_METHOD
+ if (wi->xic) {
+ XDestroyIC(wi->xic);
+ }
+#endif
+ XSync(x_display,False);
+ X_SCHEDULE_PROCESS_EVENTS();
+
+ x_remove_from_table(&wi->window);
+ mem_free(wi);
+ mem_free(gd);
+}
+
+#if 0
+/* n is in bytes. dest must begin on pixel boundary. If n is not a whole number
+ * of pixels, rounding is performed downwards.
+ */
+static inline void pixel_set(unsigned char *dest, int n,void * pattern)
+{
+ int a;
+
+ internal("ma to v sobe FIXME, tak jsem to zablokoval, aby to nikdo nepouzival");
+ /* Originally there was vga_bytes here but this function is not
+ * used in planar modes so that it's OK :-) */
+ switch(x_bitmap_bpp)
+ {
+ case 1:
+ memset(dest,*(unsigned char *)pattern,n);
+ break;
+
+ case 2:
+ {
+ short v=*(short *)pattern; /* !!! FIXME: nezavislost !!! */
+ int a;
+
+ for (a=0;a<(n>>1);a++) ((short *)dest)[a]=v;
+ }
+ break;
+
+ case 3:
+ {
+ unsigned char a,b,c;
+ int i;
+
+ a=*(unsigned char*)pattern;
+ b=((unsigned char*)pattern)[1];
+ c=((unsigned char*)pattern)[2];
+ i=n/3;
+ for (i=n/3;i;i--){
+ dest[0]=a;
+ dest[1]=b;
+ dest[2]=c;
+ dest+=3;
+ }
+ }
+ break;
+
+ case 4:
+ {
+ long v=*(long *)pattern; /* !!! FIXME: nezavislost !!! */
+ int a;
+
+ for (a=0;a<(n>>2);a++) ((long *)dest)[a]=v;
+ }
+ break;
+
+ default:
+ for (a=0;a<n/x_bitmap_bpp;a++,dest+=x_bitmap_bpp) memcpy(dest,pattern,x_bitmap_bpp);
+ break;
+ }
+
+}
+
+static int x_get_filled_bitmap(struct bitmap *bmp, long color)
+{
+ struct x_pixmapa *p;
+ XImage *image;
+ Pixmap *pixmap;
+ int pad;
+
+#ifdef X_DEBUG
+ MESSAGE("x_get_filled_bitmap\n");
+#endif
+ if (!bmp||!bmp->x||!bmp->y)internal("x_get_filled_bitmap called with strange arguments.\n");
+
+ p=mem_alloc(sizeof(struct x_pixmapa));
+
+ bmp->flags=p;
+ pad=x_bitmap_scanline_pad-((bmp->x*x_bitmap_bpp)%x_bitmap_scanline_pad);
+ if (pad==x_bitmap_scanline_pad)pad=0;
+ bmp->skip=bmp->x*x_bitmap_bpp+pad;
+
+ pixmap=mem_alloc(sizeof(Pixmap));
+ (*pixmap)=XCreatePixmap(x_display,fake_window,bmp->x,bmp->y,x_depth);
+ if (!(*pixmap))
+ {
+ int a;
+ unsigned char *ptr;
+ int PerM_si_odalokoval_vlastni_pytlik=(bmp->x*x_bitmap_bpp);
+
+ mem_free(pixmap);
+ p->type=X_TYPE_IMAGE;
+ retry:
+ bmp->data=malloc(bmp->skip*bmp->y);
+ if (!bmp->data) {
+ out_of_memory("x bitmap malloc", bmp->skip*bmp->y);
+ goto retry;
+ }
+ retry2:
+ image=XCreateImage(x_display,x_default_visual,x_depth,ZPixmap,0,0,bmp->x,bmp->y,x_bitmap_scanline_pad<<3,bmp->skip);
+ if (!image) {
+ out_of_memory("XCreateImage", bmp->y * bmp->skip);
+ goto retry2;
+ }
+ image->data=bmp->data;
+ for (a=0,ptr=image->data;a<bmp->y;a++,ptr+=bmp->skip)
+ pixel_set(ptr,PerM_si_odalokoval_vlastni_pytlik,(void*)color);
+ p->data.image=image;
+ return 0;
+ }
+ else
+ {
+ XSetForeground(x_display,x_normal_gc,color);
+ XFillRectangle(
+ x_display,
+ *pixmap,
+ x_normal_gc,
+ 0,
+ 0,
+ bmp->x,
+ bmp->y
+ );
+ p->type=X_TYPE_PIXMAP;
+ p->data.pixmap=pixmap;
+ return 2;
+ }
+}
+#endif
+
+static int x_get_empty_bitmap(struct bitmap *bmp)
+{
+ int pad;
+#ifdef X_DEBUG
+ MESSAGE("x_get_empty_bitmap\n");
+#endif
+ pad=x_bitmap_scanline_pad-((bmp->x*x_bitmap_bpp)%x_bitmap_scanline_pad);
+ if (pad==x_bitmap_scanline_pad)pad=0;
+ bmp->skip=bmp->x*x_bitmap_bpp+pad;
+ bmp->flags=NULL;
+ retry:
+ if (!(bmp->data=malloc(bmp->skip*bmp->y))) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ return -1;
+ }
+ /* on error bmp->data should point to NULL */
+ return 0;
+}
+
+static void x_register_bitmap(struct bitmap *bmp)
+{
+ struct x_pixmapa *p;
+ XImage *image;
+ Pixmap *pixmap;
+ int can_create_pixmap;
+
+#ifdef X_DEBUG
+ MESSAGE("x_register_bitmap\n");
+#endif
+
+ X_FLUSH();
+ if (!bmp->data||!bmp->x||!bmp->y) goto cant_create;
+
+ /* alloc struct x_bitmapa */
+ p=mem_alloc(sizeof(struct x_pixmapa));
+
+ /* alloc XImage in client's memory */
+ retry:
+ image=XCreateImage(x_display,x_default_visual,x_depth,ZPixmap,0,0,bmp->x,bmp->y,x_bitmap_scanline_pad<<3,bmp->skip);
+ if (!image){
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ mem_free(p);
+ goto cant_create;
+ }
+ image->data=bmp->data;
+
+
+ /* try to alloc XPixmap in server's memory */
+ can_create_pixmap=1;
+ x_prepare_for_failure();
+ pixmap=mem_alloc(sizeof(Pixmap));
+ (*pixmap)=XCreatePixmap(x_display,fake_window,bmp->x,bmp->y,x_depth);
+ if (x_test_for_failure()) {
+ if (*pixmap) {
+ x_prepare_for_failure();
+ XFreePixmap(x_display,*pixmap);
+ x_test_for_failure();
+ *pixmap=0;
+ }
+ }
+ if (!(*pixmap)){mem_free(pixmap);can_create_pixmap=0;}
+
+
+ if (can_create_pixmap)
+ {
+#ifdef X_DEBUG
+ MESSAGE("x_register_bitmap: creating pixmap\n");
+#endif
+ XPutImage(x_display,*pixmap,x_copy_gc,image,0,0,0,0,bmp->x,bmp->y);
+ XDestroyImage(image);
+ p->type=X_TYPE_PIXMAP;
+ p->data.pixmap=pixmap;
+ }
+ else
+ {
+#ifdef X_DEBUG
+ MESSAGE("x_register_bitmap: creating image\n");
+#endif
+ p->type=X_TYPE_IMAGE;
+ p->data.image=image;
+ }
+ bmp->flags=p;
+ bmp->data=NULL;
+ return;
+
+cant_create:
+ if (bmp->data) free(bmp->data), bmp->data = NULL;
+ bmp->flags=NULL;
+ return;
+}
+
+
+static void x_unregister_bitmap(struct bitmap *bmp)
+{
+#ifdef X_DEBUG
+ MESSAGE("x_unregister_bitmap\n");
+#endif
+ if (!bmp->flags) return;
+
+ switch(XPIXMAPP(bmp->flags)->type)
+ {
+ case X_TYPE_PIXMAP:
+ XFreePixmap(x_display,*(XPIXMAPP(bmp->flags)->data.pixmap)); /* free XPixmap from server's memory */
+ mem_free(XPIXMAPP(bmp->flags)->data.pixmap); /* XPixmap */
+ break;
+
+ case X_TYPE_IMAGE:
+ XDestroyImage(XPIXMAPP(bmp->flags)->data.image); /* free XImage from client's memory */
+ break;
+ }
+ mem_free(bmp->flags); /* struct x_pixmap */
+}
+
+static long x_get_color(int rgb)
+{
+ long block;
+ unsigned char *b;
+
+#ifdef X_DEBUG
+ MESSAGE("x_get_color\n");
+#endif
+ block=x_get_color_function(rgb);
+ b = (unsigned char *)&block;
+ /*fprintf(stderr, "bitmap bpp %d\n", x_bitmap_bpp);*/
+ switch (x_bitmap_bpp) {
+ case 1: return b[0];
+ case 2: if (x_bitmap_bit_order == LSBFirst)
+ return b[0] | (b[1] << 8);
+ else
+ return b[1] | (b[0] << 8);
+ case 3: return b[0] | (b[1] << 8) | (b[2] << 16);
+ default: if (x_bitmap_bit_order == LSBFirst)
+ return b[0] | (b[1] << 8) | (b[2] << 16) | (b[3] << 24);
+ else
+ return b[3] | (b[2] << 8) | (b[1] << 16) | (b[0] << 24);
+ }
+}
+
+
+static void x_fill_area(struct graphics_device *gd, int x1, int y1, int x2, int y2, long color)
+{
+ /*int a;*/
+
+#ifdef X_DEBUG
+ {
+ unsigned char txt[256];
+ sprintf(txt,"x_fill_area (x1=%d y1=%d x2=%d y2=%d)\n",x1,y1,x2,y2);
+ MESSAGE(txt);
+ }
+#endif
+ /* Mikulas: v takovem pripade radsi neplnit nic ... */
+ /*
+ if (x1>x2){a=x2;x2=x1;x1=a;}
+ if (y1>y2){a=y2;y2=y1;y1=a;}
+ */
+ if (x1 < gd->clip.x1) x1 = gd->clip.x1;
+ if (x2 > gd->clip.x2) x2 = gd->clip.x2;
+ if (y1 < gd->clip.y1) y1 = gd->clip.y1;
+ if (y2 > gd->clip.y2) y2 = gd->clip.y2;
+ if (x1>=x2) return;
+ if (y1>=y2) return;
+
+ XSetForeground(x_display,x_normal_gc,color);
+ XFillRectangle(
+ x_display,
+ get_window_info(gd)->window,
+ x_normal_gc,
+ x1,
+ y1,
+ x2-x1,
+ y2-y1
+ );
+ X_FLUSH();
+}
+
+
+static void x_draw_hline(struct graphics_device *gd, int left, int y, int right, long color)
+{
+#ifdef X_DEBUG
+ MESSAGE("x_draw_hline\n");
+#endif
+ if (left>=right)return;
+ if ((y>=gd->clip.y2)||(y<gd->clip.y1)) return;
+ if (right<=gd->clip.x1||left>=gd->clip.x2)return;
+ XSetForeground(x_display,x_normal_gc,color);
+ XDrawLine(
+ x_display,
+ get_window_info(gd)->window,
+ x_normal_gc,
+ left,y,right-1,y
+ );
+ X_FLUSH();
+}
+
+
+static void x_draw_vline(struct graphics_device *gd, int x, int top, int bottom, long color)
+{
+#ifdef X_DEBUG
+ MESSAGE("x_draw_vline\n");
+#endif
+ if (top>=bottom)return;
+ if ((x>=gd->clip.x2)||(x<gd->clip.x1)) return;
+ if (bottom<=gd->clip.y1||top>=gd->clip.y2)return;
+ XSetForeground(x_display,x_normal_gc,color);
+ XDrawLine(
+ x_display,
+ get_window_info(gd)->window,
+ x_normal_gc,
+ x,top,x,bottom-1
+ );
+ X_FLUSH();
+}
+
+
+static void x_set_clip_area(struct graphics_device *gd, struct rect *r)
+{
+ XRectangle xr;
+
+#ifdef X_DEBUG
+ {
+ unsigned char txt[512];
+ snprintf(txt,512,"x_set_clip_area(x1=%d, y1=%d, x2=%d, y2=%d\n",r->x1,r->y1,r->x2,r->y2);
+ MESSAGE(txt);
+ }
+#endif
+ gd->clip.x1=r->x1;
+ gd->clip.x2=r->x2;
+ gd->clip.y1=r->y1;
+ gd->clip.y2=r->y2;
+
+ xr.x=r->x1;
+ xr.y=r->y1;
+ if (r->x2<r->x1)xr.width=0;
+ else xr.width=(r->x2)-(r->x1);
+ if (r->y2<r->y1)xr.height=0;
+ else xr.height=(r->y2)-(r->y1);
+
+ XSetClipRectangles(x_display,x_normal_gc,0,0,&xr,1,Unsorted);
+ XSetClipRectangles(x_display,x_scroll_gc,0,0,&xr,1,Unsorted);
+ XSetClipRectangles(x_display,x_drawbitmap_gc,0,0,&xr,1,Unsorted);
+ X_FLUSH();
+}
+
+
+static void x_draw_bitmap(struct graphics_device *gd, struct bitmap *bmp, int x, int y)
+{
+ int bmp_off_x, bmp_off_y, bmp_size_x, bmp_size_y;
+#ifdef X_DEBUG
+ MESSAGE("x_draw_bitmap\n");
+#endif
+ if (!(bmp->flags)||!bmp->x||!bmp->y) {
+ return;
+ }
+ if ((x>=gd->clip.x2)||(y>=gd->clip.y2)) return;
+ if ((x+(bmp->x)<=gd->clip.x1)||(y+(bmp->y)<=gd->clip.y1)) return;
+ bmp_off_x = 0;
+ bmp_off_y = 0;
+ bmp_size_x = bmp->x;
+ bmp_size_y = bmp->y;
+ if (x < gd->clip.x1) {
+ bmp_off_x = gd->clip.x1 - x;
+ bmp_size_x -= gd->clip.x1 - x;
+ x = gd->clip.x1;
+ }
+ if (x + bmp_size_x > gd->clip.x2) {
+ bmp_size_x = gd->clip.x2 - x;
+ }
+ if (y < gd->clip.y1) {
+ bmp_off_y = gd->clip.y1 - y;
+ bmp_size_y -= gd->clip.y1 - y;
+ y = gd->clip.y1;
+ }
+ if (y + bmp_size_y > gd->clip.y2) {
+ bmp_size_y = gd->clip.y2 - y;
+ }
+
+ switch(XPIXMAPP(bmp->flags)->type)
+ {
+ case X_TYPE_PIXMAP:
+ XCopyArea(x_display,*(XPIXMAPP(bmp->flags)->data.pixmap),get_window_info(gd)->window,x_drawbitmap_gc,bmp_off_x,bmp_off_y,bmp_size_x,bmp_size_y,x,y);
+ break;
+
+ case X_TYPE_IMAGE:
+ XPutImage(x_display,get_window_info(gd)->window,x_drawbitmap_gc,XPIXMAPP(bmp->flags)->data.image,bmp_off_x,bmp_off_y,x,y,bmp_size_x,bmp_size_y);
+ break;
+ }
+ X_FLUSH();
+}
+
+
+#if 0
+static void x_draw_bitmaps(struct graphics_device *gd, struct bitmap **bmps, int n, int x, int y)
+{
+ int a;
+#ifdef X_DEBUG
+ MESSAGE("x_draw_bitmaps\n");
+#endif
+
+ if (!bmps)return;
+ for (a=0;a<n;a++)
+ {
+ x_draw_bitmap(gd,bmps[a],x,y);
+ x+=(bmps[a])->x;
+ }
+}
+#endif
+
+
+
+static int x_hscroll(struct graphics_device *gd, struct rect_set **set, int sc)
+{
+ XEvent ev;
+ struct rect r;
+
+ *set=NULL;
+ if (!sc)return 0;
+ *set=init_rect_set();
+ if (!(*set))internal("Cannot allocate memory for rect set in scroll function.\n");
+
+ XCopyArea(
+ x_display,
+ get_window_info(gd)->window,
+ get_window_info(gd)->window,
+ x_scroll_gc,
+ gd->clip.x1,gd->clip.y1,
+ gd->clip.x2-gd->clip.x1,gd->clip.y2-gd->clip.y1,
+ gd->clip.x1+sc,gd->clip.y1
+ );
+ XSync(x_display,False);
+ /* ten sync tady musi byt, protoze potrebuju zarucit, aby vsechny
+ * graphics-expose vyvolane timto scrollem byly vraceny v rect-set */
+
+ /* take all graphics expose events for this window and put them into the rect set */
+ while (XCheckWindowEvent(x_display,get_window_info(gd)->window,ExposureMask,&ev)==True)
+ {
+ switch(ev.type)
+ {
+ case GraphicsExpose:
+ r.x1=ev.xgraphicsexpose.x;
+ r.y1=ev.xgraphicsexpose.y;
+ r.x2=ev.xgraphicsexpose.x+ev.xgraphicsexpose.width;
+ r.y2=ev.xgraphicsexpose.y+ev.xgraphicsexpose.height;
+ break;
+
+ case Expose:
+ r.x1=ev.xexpose.x;
+ r.y1=ev.xexpose.y;
+ r.x2=ev.xexpose.x+ev.xexpose.width;
+ r.y2=ev.xexpose.y+ev.xexpose.height;
+ break;
+
+ default:
+ continue;
+ }
+ if (r.x1 < gd->clip.x1 || r.x2 > gd->clip.x2 ||
+ r.y1 < gd->clip.y1 || r.y2 > gd->clip.y2) {
+ switch(ev.type)
+ {
+ case GraphicsExpose:
+ ev.xgraphicsexpose.x = 0;
+ ev.xgraphicsexpose.y = 0;
+ ev.xgraphicsexpose.width = gd->size.x2;
+ ev.xgraphicsexpose.height = gd->size.y2;
+ break;
+
+ case Expose:
+ ev.xexpose.x = 0;
+ ev.xexpose.y = 0;
+ ev.xexpose.width = gd->size.x2;
+ ev.xexpose.height = gd->size.y2;
+ break;
+ }
+ XPutBackEvent(x_display, &ev);
+ mem_free(*set);
+ *set = NULL;
+ break;
+ }
+ add_to_rect_set(set,&r);
+ }
+
+ X_SCHEDULE_PROCESS_EVENTS();
+
+#ifdef SC_DEBUG
+ MESSAGE("hscroll\n");
+#endif
+
+ return 1;
+}
+
+
+static int x_vscroll(struct graphics_device *gd, struct rect_set **set, int sc)
+{
+ XEvent ev;
+ struct rect r;
+
+ *set=NULL;
+ if (!sc)return 0;
+ *set=init_rect_set();
+ if (!(*set))internal("Cannot allocate memory for rect set in scroll function.\n");
+
+ XCopyArea(
+ x_display,
+ get_window_info(gd)->window,
+ get_window_info(gd)->window,
+ x_scroll_gc,
+ gd->clip.x1,gd->clip.y1,
+ gd->clip.x2-gd->clip.x1,gd->clip.y2-gd->clip.y1,
+ gd->clip.x1,gd->clip.y1+sc
+ );
+ XSync(x_display,False);
+ /* ten sync tady musi byt, protoze potrebuju zarucit, aby vsechny
+ * graphics-expose vyvolane timto scrollem byly vraceny v rect-set */
+
+ /* take all graphics expose events for this window and put them into the rect set */
+ while (XCheckWindowEvent(x_display,get_window_info(gd)->window,ExposureMask,&ev)==True)
+ {
+ switch(ev.type)
+ {
+ case GraphicsExpose:
+ r.x1=ev.xgraphicsexpose.x;
+ r.y1=ev.xgraphicsexpose.y;
+ r.x2=ev.xgraphicsexpose.x+ev.xgraphicsexpose.width;
+ r.y2=ev.xgraphicsexpose.y+ev.xgraphicsexpose.height;
+ break;
+
+ case Expose:
+ r.x1=ev.xexpose.x;
+ r.y1=ev.xexpose.y;
+ r.x2=ev.xexpose.x+ev.xexpose.width;
+ r.y2=ev.xexpose.y+ev.xexpose.height;
+ break;
+
+ default:
+ continue;
+ }
+ if (r.x1 < gd->clip.x1 || r.x2 > gd->clip.x2 ||
+ r.y1 < gd->clip.y1 || r.y2 > gd->clip.y2) {
+ switch(ev.type)
+ {
+ case GraphicsExpose:
+ ev.xgraphicsexpose.x = 0;
+ ev.xgraphicsexpose.y = 0;
+ ev.xgraphicsexpose.width = gd->size.x2;
+ ev.xgraphicsexpose.height = gd->size.y2;
+ break;
+
+ case Expose:
+ ev.xexpose.x = 0;
+ ev.xexpose.y = 0;
+ ev.xexpose.width = gd->size.x2;
+ ev.xexpose.height = gd->size.y2;
+ break;
+ }
+ XPutBackEvent(x_display, &ev);
+ mem_free(*set);
+ *set = NULL;
+ break;
+ }
+ add_to_rect_set(set,&r);
+ }
+
+ X_SCHEDULE_PROCESS_EVENTS();
+
+#ifdef SC_DEBUG
+ MESSAGE("vscroll\n");
+#endif
+
+ return 1;
+}
+
+
+static void *x_prepare_strip(struct bitmap *bmp, int top, int lines)
+{
+ struct x_pixmapa *p=(struct x_pixmapa *)bmp->flags;
+ XImage *image;
+ void *x_data;
+
+ if (!p) return NULL;
+
+#ifdef DEBUG
+ if (lines <= 0) internal("x_prepare_strip: %d lines",lines);
+#endif
+
+#ifdef X_DEBUG
+ MESSAGE("x_prepare_strip\n");
+#endif
+
+ bmp->data = NULL;
+
+ switch (p->type)
+ {
+ case X_TYPE_PIXMAP:
+
+ retry:
+ x_data=malloc(bmp->skip*lines);
+ if (!x_data) {
+ if (out_of_memory(NULL, 0))
+ goto retry;
+ return NULL;
+ }
+
+ retry2:
+ image=XCreateImage(x_display,x_default_visual,x_depth,ZPixmap,0,0,bmp->x,lines,x_bitmap_scanline_pad<<3,bmp->skip);
+ if (!image) {
+ if (out_of_memory(NULL, 0))
+ goto retry2;
+ free(x_data);
+ return NULL;
+ }
+ image->data = x_data;
+ bmp->data=image;
+ return image->data;
+
+ case X_TYPE_IMAGE:
+ return p->data.image->data+(bmp->skip*top);
+ }
+ internal("Unknown pixmap type found in x_prepare_strip. SOMETHING IS REALLY STRANGE!!!!\n");
+ fatal_tty_exit();
+ exit(RET_FATAL); /* never called */
+}
+
+
+static void x_commit_strip(struct bitmap *bmp, int top, int lines)
+{
+ struct x_pixmapa *p=(struct x_pixmapa *)bmp->flags;
+
+ if (!p) return;
+
+#ifdef X_DEBUG
+ MESSAGE("x_commit_strip\n");
+#endif
+ switch(p->type)
+ {
+ /* send image to pixmap in xserver */
+ case X_TYPE_PIXMAP:
+ if (!bmp->data) return;
+ XPutImage(x_display,*(XPIXMAPP(bmp->flags)->data.pixmap),x_copy_gc,(XImage*)bmp->data,0,0,0,top,bmp->x,lines);
+ XDestroyImage((XImage *)bmp->data);
+ return;
+
+ case X_TYPE_IMAGE:
+ /* everything has been done by user */
+ return;
+ }
+}
+
+
+static void x_set_window_title(struct graphics_device *gd, unsigned char *title)
+{
+ struct conv_table *ct;
+ unsigned char *t;
+ XTextProperty windowName;
+ int output_encoding;
+ Status ret;
+
+#if defined(HAVE_XSUPPORTSLOCALE) && defined(HAVE_XMBTEXTLISTTOTEXTPROPERTY)
+ if (XSupportsLocale()) {
+ output_encoding = x_input_encoding >= 0 ? x_input_encoding : 0;
+ } else
+retry_encode_ascii:
+#endif
+ {
+ output_encoding = 0;
+ }
+
+ ct = get_translation_table(utf8_table,output_encoding);
+
+ if (!gd)internal("x_set_window_title called with NULL graphics_device pointer.\n");
+ t = convert_string(ct, title, strlen(title), NULL);
+ clr_white(t);
+ /*XStoreName(x_display,get_window_info(gd)->window,"blabla");*/
+
+#if defined(HAVE_XSUPPORTSLOCALE) && defined(HAVE_XMBTEXTLISTTOTEXTPROPERTY)
+ if (XSupportsLocale()) {
+ ret = XmbTextListToTextProperty(x_display, (char**)(void *)(&t), 1, XStdICCTextStyle, &windowName);
+#ifdef X_HAVE_UTF8_STRING
+ if (ret > 0) {
+ XFree(windowName.value);
+ ret = XmbTextListToTextProperty(x_display, (char**)(void *)(&t), 1, XUTF8StringStyle, &windowName);
+ if (ret < 0) {
+ ret = XmbTextListToTextProperty(x_display, (char**)(void *)(&t), 1, XStdICCTextStyle, &windowName);
+ }
+ }
+#endif
+ if (ret < 0) {
+ if (output_encoding) {
+ mem_free(t);
+ goto retry_encode_ascii;
+ } else {
+ goto retry_print_ascii;
+ }
+ }
+ } else
+retry_print_ascii:
+#endif
+ {
+ ret = XStringListToTextProperty((char**)(void *)(&t), 1, &windowName);
+ if (!ret) {
+ mem_free(t);
+ return;
+ }
+ }
+ mem_free(t);
+ XSetWMName(x_display, get_window_info(gd)->window, &windowName);
+ XSetWMIconName(x_display, get_window_info(gd)->window, &windowName);
+ XFree(windowName.value);
+ X_FLUSH();
+}
+
+/* gets string in UTF8 */
+static void x_set_clipboard_text(struct graphics_device *gd, unsigned char * text)
+{
+ x_clear_clipboard();
+ if (text) {
+ x_my_clipboard = stracpy(text);
+
+ XSetSelectionOwner (x_display, XA_PRIMARY, get_window_info(gd)->window, CurrentTime);
+ XFlush (x_display);
+ X_SCHEDULE_PROCESS_EVENTS();
+ }
+}
+
+static void selection_request(XEvent *event)
+{
+ XSelectionRequestEvent *req;
+ XSelectionEvent sel;
+ size_t l;
+
+ req = &(event->xselectionrequest);
+ sel.type = SelectionNotify;
+ sel.requestor = req->requestor;
+ sel.selection = XA_PRIMARY;
+ sel.target = req->target;
+ sel.property = req->property;
+ sel.time = req->time;
+ sel.display = req->display;
+ #ifdef X_DEBUG
+ {
+ unsigned char txt[256];
+ sprintf (txt,"xselectionrequest from %i\n",(int)event.xselection.requestor);
+ MESSAGE(txt);
+ sprintf (txt,"property:%i target:%i selection:%i\n", req->property,req->target, req->selection);
+ MESSAGE(txt);
+ }
+ #endif
+ if (req->target == XA_STRING) {
+ unsigned char *str, *p;
+ struct conv_table *ct = NULL;
+ int iso1 = get_cp_index("iso-8859-1");
+ if (iso1 >= 0) ct = get_translation_table(utf8_table, iso1);
+ if (!x_my_clipboard) str = stracpy("");
+ else if (!ct) str = stracpy(x_my_clipboard);
+ else str = convert_string(ct, x_my_clipboard, strlen(x_my_clipboard), NULL);
+ for (p = strchr(str, 1); p; p = strchr(str + 1, 1)) *p = 0xa0;
+ l = strlen(str);
+ if (l > X_MAX_CLIPBOARD_SIZE) l = X_MAX_CLIPBOARD_SIZE;
+ XChangeProperty (x_display,
+ sel.requestor,
+ sel.property,
+ XA_STRING,
+ 8,
+ PropModeReplace,
+ str,
+ l
+ );
+ mem_free(str);
+ } else if (req->target == x_utf8_string_atom) {
+ l = x_my_clipboard ? strlen(x_my_clipboard) : 0;
+ if (l > X_MAX_CLIPBOARD_SIZE) l = X_MAX_CLIPBOARD_SIZE;
+ XChangeProperty (x_display,
+ sel.requestor,
+ sel.property,
+ x_utf8_string_atom,
+ 8,
+ PropModeReplace,
+ x_my_clipboard,
+ l
+ );
+ } else if (req->target == x_targets_atom) {
+ unsigned tgt_atoms[3];
+ tgt_atoms[0] = x_targets_atom;
+ tgt_atoms[1] = XA_STRING;
+ tgt_atoms[2] = x_utf8_string_atom;
+ XChangeProperty (x_display,
+ sel.requestor,
+ sel.property,
+ XA_ATOM,
+ 32,
+ PropModeReplace,
+ (char*)&tgt_atoms,
+ 3
+ );
+ } else {
+ #ifdef X_DEBUG
+ {
+ unsigned char txt[256];
+ sprintf (txt,"Non-String wanted: %i\n",(int)req->target);
+ MESSAGE(txt);
+ }
+ #endif
+ sel.property = None;
+ }
+ XSendEvent(x_display, sel.requestor, 0, 0, (XEvent*)&sel);
+ XFlush(x_display);
+ X_SCHEDULE_PROCESS_EVENTS();
+}
+
+static unsigned char *x_get_clipboard_text(void)
+{
+ XEvent event;
+ Atom type_atom = x_utf8_string_atom;
+
+ retry:
+ XConvertSelection(x_display, XA_PRIMARY, type_atom, x_sel_atom, fake_window, CurrentTime);
+
+ while (1) {
+ XSync(x_display, False);
+ if (XCheckTypedEvent(x_display,SelectionRequest, &event)) {
+ selection_request(&event);
+ continue;
+ }
+ if (XCheckTypedEvent(x_display,SelectionNotify, &event)) break;
+ x_wait_for_event();
+ }
+ if (event.xselection.property) {
+ unsigned char *buffer;
+ unsigned long pty_size, pty_items;
+ int pty_format, ret;
+ Atom pty_type;
+
+ if (event.xselection.target != type_atom) goto no_new_sel;
+ if (event.xselection.property != x_sel_atom) goto no_new_sel;
+
+
+ /* Get size and type of property */
+ ret = XGetWindowProperty(
+ x_display,
+ fake_window,
+ event.xselection.property,
+ 0,
+ 0,
+ False,
+ AnyPropertyType,
+ &pty_type,
+ &pty_format,
+ &pty_items,
+ &pty_size,
+ &buffer);
+ if (ret != Success) goto no_new_sel;
+ XFree(buffer);
+
+ ret = XGetWindowProperty(
+ x_display,
+ fake_window,
+ event.xselection.property,
+ 0,
+ (long)pty_size,
+ True,
+ AnyPropertyType,
+ &pty_type,
+ &pty_format,
+ &pty_items,
+ &pty_size,
+ &buffer
+ );
+ if (ret != Success) goto no_new_sel;
+
+ pty_size = (pty_format>>3) * pty_items;
+
+ x_clear_clipboard();
+ if (type_atom == x_utf8_string_atom) {
+ x_my_clipboard = stracpy(buffer);
+ } else {
+ struct conv_table *ct = NULL;
+ int iso1 = get_cp_index("iso-8859-1");
+ if (iso1 >= 0) ct = get_translation_table(iso1, utf8_table);
+ if (!ct) {
+ x_my_clipboard = stracpy(buffer);
+ } else {
+ x_my_clipboard = convert_string(ct, buffer, strlen(buffer), NULL);
+ }
+ }
+ XFree(buffer);
+ } else {
+ if (type_atom == x_utf8_string_atom) {
+ type_atom = XA_STRING;
+ goto retry;
+ }
+ }
+
+no_new_sel:
+ X_SCHEDULE_PROCESS_EVENTS();
+ if (!x_my_clipboard) return NULL;
+ return stracpy(x_my_clipboard);
+}
+
+
+static int x_exec(unsigned char *command, int fg)
+{
+ unsigned char *run;
+ int retval;
+
+ if (!fg) {
+ errno = 0;
+ EINTRLOOP(retval, system(command));
+ return retval;
+ }
+
+ run=subst_file(*x_driver.shell?x_driver.shell:(unsigned char *)"xterm -e %",command, 0);
+ errno = 0;
+ EINTRLOOP(retval, system(run));
+ mem_free(run);
+ return retval;
+}
+
+struct graphics_driver x_driver={
+ "x",
+ x_init_driver,
+ x_init_device,
+ x_shutdown_device,
+ x_shutdown_driver,
+ x_get_driver_param,
+ x_get_empty_bitmap,
+ /*x_get_filled_bitmap,*/
+ x_register_bitmap,
+ x_prepare_strip,
+ x_commit_strip,
+ x_unregister_bitmap,
+ x_draw_bitmap,
+ /*x_draw_bitmaps,*/
+ x_get_color,
+ x_fill_area,
+ x_draw_hline,
+ x_draw_vline,
+ x_hscroll,
+ x_vscroll,
+ x_set_clip_area,
+ dummy_block,
+ dummy_unblock,
+ x_set_window_title,
+ x_exec,
+ x_set_clipboard_text,
+ x_get_clipboard_text,
+ 0, /* depth (filled in x_init_driver function) */
+ 0, 0, /* size (in X is empty) */
+ 0, /* flags */
+ 0, /* codepage */
+ NULL, /* shell */
+};
+
+#endif /* GRDRV_X */
diff --git a/xbm.c b/xbm.c
new file mode 100644
index 0000000..edc6e1c
--- /dev/null
+++ b/xbm.c
@@ -0,0 +1,303 @@
+/* xbm.c
+ * portable bitmap format (xbm) decoder
+ * (c) 2002 Petr 'Brain' Kulhavy
+ * This file is a part of the Links program, released under GPL
+ */
+
+#include "cfg.h"
+
+#ifdef G
+
+#include "links.h"
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+
+
+#define XBM_BUFFER_LEN 1024
+
+#ifdef min
+#undef min
+#endif
+#ifdef max
+#undef max
+#endif
+#define min(a,b) (a<b?a:b)
+#define max(a,b) (a>b?a:b)
+
+struct xbm_decoder{
+ int width, height; /* rozmery obrazku */
+ int partnum; /* buffer skoncil uprostred cisla */
+ int *numdest; /* kam se ma ukladat to cislo kdyz je partnum */
+ int in_data_block; /* jsme v bloku dat (uz jsme precetli otviraci slozenou zavorku) */
+ int image_pos; /* pixelova pozice v cimg->buffer */
+ int pixels; /* velikost cimg->buffer v pixelech */
+ int state; /* stav automatu na zrani komentaru */
+ int actual_eight; /* aktualni cislo, ktere se ma putnout do cimg */
+ int line_pos; /* aktualni pozice pixelu na radce (kolik pixelu v cimg->buffer je platnych na momentalne zpracovavane radce) */
+ unsigned char barvicky[6]; /* 0-2 background, 3-5 foreground */
+/*
+ * stavy:
+ * 0 - mimo komentar
+ * 1 - za 1. lomitkem
+ * 2 - za 1. lomitkem a hvezdickou
+ * 3 - za 2. hvezdickou
+ */
+ int buffer_pos; /* delka platnych dat v bufferu */
+ unsigned char buffer[XBM_BUFFER_LEN];
+};
+
+
+static unsigned char *my_memmem(unsigned char *h, int hl, unsigned char *n, int nl)
+{
+ for (;hl>=nl;hl--,h++)
+ if (*h==*n&&!memcmp(h,n,nl))return h;
+ return NULL;
+}
+
+
+void xbm_start(struct cached_image *cimg)
+{
+ struct xbm_decoder *deco;
+ unsigned short r,g,b;
+
+ deco=mem_alloc(sizeof(struct xbm_decoder));
+ cimg->decoder=deco;
+ deco->state=0;
+ deco->width=-1;
+ deco->height=-1;
+ deco->buffer_pos=0;
+ deco->partnum=0;
+ deco->in_data_block=0;
+
+ round_color_sRGB_to_48(&r,&g,&b,cimg->background_color);
+ deco->barvicky[0]=apply_gamma_single_16_to_8(r,display_red_gamma);
+ deco->barvicky[1]=apply_gamma_single_16_to_8(g,display_green_gamma);
+ deco->barvicky[2]=apply_gamma_single_16_to_8(b,display_blue_gamma);
+
+ round_color_sRGB_to_48(&r,&g,&b,get_foreground(cimg->background_color));
+ deco->barvicky[3]=apply_gamma_single_16_to_8(r,display_red_gamma);
+ deco->barvicky[4]=apply_gamma_single_16_to_8(g,display_green_gamma);
+ deco->barvicky[5]=apply_gamma_single_16_to_8(b,display_blue_gamma);
+
+
+}
+
+/* vrati cislo, nebo -1, kdyz to neni cislo, a nastavi p a l na posledni necislici */
+static inline int xbm_read_num(unsigned char **p,int *l,int *partnum,int *digits, int *base)
+{
+ static int a=-1;
+ static int b=10;
+ static int d=0;
+ int retval;
+ int was_partnum=*partnum;
+ *partnum=0;
+
+ dalsi_runda:
+ if (!(*l))return a;
+ **p=tolower(**p);
+ if (!was_partnum&&b==10&&((**p)<'0'||(**p)>'9'))goto smitec; /* tohle neni cislo, to si strc nekam... */
+ if (b==16&&((**p)<'a'||(**p>'f'))&&((**p)<'0'||(**p)>'9'))goto smitec;
+ if (a==-1)a=0;
+ for (;*l&&(((**p)>='0'&&(**p)<='9')||(b==16&&(**p)>='a'&&(**p)<='f'));(*l)--,(*p)++){d++;a*=b;a+=((**p)>='a'?10+(**p)-'a':(**p)-'0');}
+ if (b==10&&!a&&(*l)&&((**p)|32)=='x'){b=16;d=0;(*p)++;(*l)--;if (!*l)*partnum=1;goto dalsi_runda;}
+ smitec:
+ retval=a;
+ if (!*l)*partnum=1;
+ else a=-1,*base=b,b=10,*digits=d,d=0;
+ return retval;
+}
+
+
+static inline void xbm_skip_space_tab(unsigned char **p, int *l)
+{
+ for (;*l&&(**p==' '||**p==9);(*l)--,(*p)++)
+ ;
+}
+
+
+static inline void xbm_skip_whitespace(unsigned char **p, int *l)
+{
+ for (;*l&&((**p)>'9'||(**p)<'0');(*l)--,(*p)++)
+ ;
+}
+
+
+static inline void put_eight(struct cached_image *cimg,int bits)
+{
+ struct xbm_decoder *deco=(struct xbm_decoder *)cimg->decoder;
+ int ten_napis_v_s3_nekecal;
+
+ for (ten_napis_v_s3_nekecal=0;ten_napis_v_s3_nekecal<bits&&deco->image_pos<deco->pixels&&deco->line_pos<cimg->width;ten_napis_v_s3_nekecal++,deco->image_pos++,deco->line_pos++)
+ {
+ memcpy(cimg->buffer+deco->image_pos*3,deco->barvicky+((deco->actual_eight)&1)*3,3);
+ deco->actual_eight>>=1;
+ cimg->rows_added=1;
+ }
+ if (deco->line_pos==cimg->width)
+ deco->line_pos=0,deco->actual_eight=0;
+}
+
+
+/* opravdovy dekoder xbm, data jsou bez komentaru */
+/* length is always !=NULL */
+static int xbm_decode(struct cached_image *cimg, unsigned char *data, int length)
+{
+ struct xbm_decoder *deco=(struct xbm_decoder *)cimg->decoder;
+ /* okurky v decu ;-) */
+ int a;
+ int must_return=0;
+
+restart_again:
+ if (must_return&&!length)return 0;
+ must_return=0;
+ a=min(length,XBM_BUFFER_LEN-deco->buffer_pos);
+ memcpy(deco->buffer+deco->buffer_pos,data,a);
+ length-=a;
+ deco->buffer_pos+=a;
+ if (!deco->buffer_pos)return 0; /* z toho nic plodnyho nevznikne */
+ data+=a;
+ if (!deco->in_data_block&&deco->partnum)
+ {
+ unsigned char *p;
+ int a;
+ int b,d;
+ p=deco->buffer;
+ a=deco->buffer_pos;
+ *(deco->numdest)=xbm_read_num(&p,&a,&(deco->partnum),&d,&b);
+ /* p i a ukazuje na 1. neciselnej znak (at uz za mezerama bylo cislo nebo nebylo) */
+ memmove(deco->buffer,p,a);
+ deco->buffer_pos=a;
+ if (deco->partnum){must_return=1;goto restart_again;} /* zase konec bufferu */
+ }
+ if (deco->width<0||deco->height<0) /* decoding header */
+ {
+ unsigned char *p,*q;
+ int *d;
+ int a;
+ int base, digits;
+
+ p=my_memmem(deco->buffer,deco->buffer_pos,"width",5);
+ q=my_memmem(deco->buffer,deco->buffer_pos,"height",6);
+
+ if (!p&&!q) /* sezereme zacatek */
+ {
+ int a=deco->buffer_pos>5?deco->buffer_pos:0; /* nesmime ukrast kus width/height */
+ memmove(deco->buffer,deco->buffer+deco->buffer_pos-a,deco->buffer_pos-a); /* sezereme to pred width/height */
+ deco->buffer_pos-=a;
+ must_return=1;
+ goto restart_again;
+ }
+
+ p=p&&q?min(p,q):max(p,q); /* bereme vetsi, protoze ten 2. je NULL */
+ memmove(deco->buffer,p,(deco->buffer_pos)+(deco->buffer)-p); /* sezereme to pred width/height */
+ deco->buffer_pos-=p-deco->buffer;
+ /* deco->buffer zacina height/width */
+ if (deco->buffer[0]=='w'){p=deco->buffer+5;d=&(deco->width);}
+ else {p=deco->buffer+6;d=&(deco->height);}
+
+ a=deco->buffer_pos+deco->buffer-p;
+ xbm_skip_space_tab(&p,&a);
+ if (!a){must_return=1;goto restart_again;} /* v bufferu je: width/height, whitespace, konec */
+ *d=xbm_read_num(&p,&a,&(deco->partnum),&digits, &base);
+ if (deco->partnum)deco->numdest=d,must_return=1;
+ /* p i a ukazuje na 1. neciselnej znak (at uz za mezerama bylo cislo nebo nebylo) */
+ memmove(deco->buffer,p,a);
+ deco->buffer_pos=a;
+ goto restart_again;
+ }
+ else /* decoding data */
+ {
+ unsigned char *p;
+ int a;
+ int d=0,b=10;
+ if (!deco->in_data_block)
+ {
+ p=memchr(deco->buffer,'{',deco->buffer_pos);
+ if (!p){deco->buffer_pos=0;must_return=1;goto restart_again;} /* sezerem celej blok a cekame na zavorku */
+
+ cimg->width=deco->width;
+ cimg->height=deco->height;
+ cimg->buffer_bytes_per_pixel=3;
+ cimg->red_gamma=display_red_gamma;
+ cimg->green_gamma=display_green_gamma;
+ cimg->blue_gamma=display_blue_gamma;
+ cimg->strip_optimized=0;
+ if (header_dimensions_known(cimg)) {img_end(cimg);return 1;}
+
+ deco->in_data_block=1;
+ p++;
+ memmove(deco->buffer,p,deco->buffer_pos+deco->buffer-p); /* sezereme to pred width/height */
+ deco->buffer_pos-=p-deco->buffer;
+ deco->image_pos=0;
+ deco->pixels=deco->width*deco->height;
+ deco->line_pos=0;
+ }
+ p=deco->buffer;
+ a=deco->buffer_pos;
+ if (!deco->partnum) xbm_skip_whitespace(&p,&a);
+ if (!a){must_return=1; goto restart_again;}
+ deco->actual_eight=xbm_read_num(&p,&a,&(deco->partnum),&d,&b);
+ memmove(deco->buffer,p,a);
+ deco->buffer_pos=a;
+ if (deco->partnum)must_return=1;
+ else put_eight(cimg,(b==16&&d>2)||(b==10&&deco->actual_eight>255)?16:8);
+ if (deco->image_pos>=deco->pixels) {img_end(cimg);return 1;}
+ goto restart_again;
+
+ }
+}
+
+
+/* skip comments and call real decoding function */
+void xbm_restart(struct cached_image *cimg, unsigned char *data, int length)
+{
+ struct xbm_decoder *deco=(struct xbm_decoder*)cimg->decoder;
+
+cycle_again:
+
+ if (!length)return;
+ switch(deco->state)
+ {
+ case 0: /* mimo komentar */
+ {
+ unsigned char *p;
+ p=memchr(data,'/',length);
+ if (!p){xbm_decode(cimg, data, length);return;}
+ if (xbm_decode(cimg, data, p-data)) return;
+ length-=p-data+1;
+ data=p+1; /* preskocim lomitko */
+ deco->state=1;
+ goto cycle_again;
+ }
+
+ case 1: /* za 1. lomitkem */
+ {
+ if (*data=='*'){deco->state=2;data++;length--;goto cycle_again;} /* zacal komentar */
+ if (xbm_decode(cimg, "/", 1)) return;
+ deco->state=0; /* to nebyl komentar */
+ goto cycle_again;
+ }
+
+ case 2: /* za lomeno hvezdicka (uvnitr komentare) */
+ {
+ unsigned char *p;
+ p=memchr(data,'*',length);
+ if (!p)return; /* furt komentar */
+ length-=p-data+1;
+ data=p+1; /* preskocim hvezdicku */
+ deco->state=3;
+ goto cycle_again;
+ }
+
+ case 3: /* za 2. hvezdickou */
+ {
+ if (*data=='/'){data++;length--;deco->state=0;goto cycle_again;} /* skoncil komentar */
+ deco->state=2;
+ data++;
+ length--;
+ goto cycle_again;
+ }
+ }
+}
+#endif /* G */